erjiaqing
试了一下 GPG,一个 detached 签名需要 119 字节,介于完整签名的 168 字节和精简签名的 54 字节。并且 GPG 签名保留了签名时间戳和签名密钥信息。感觉可以放进 2.0x2.0 cm 的区域。

另外,有没有考虑过别的形式的二维码,比如 PDF417 这种宽度换高度的二维码,就可以把他挤在角落里了。或者像护照信息页最下方的可机读区域一样,用一些方便 OCR 的字体来直接打印 base45/64 的内容。

例:一个 GPG detached signature

gpg --list-packets .\test.sig
# off=0 ctb=88 tag=2 hlen=2 plen=117
:signature packet: algo 22, keyid XXXXXXXXXXXXXXXX
        version 4, created 1688418964, md5len 0, sigclass 0x00
        digest algo 10, begin of digest 45 3a
        hashed subpkt 33 len 21 (issuer fpr v4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)
        hashed subpkt 2 len 4 (sig created 2023-07-03)
        subpkt 16 len 8 (issuer key ID XXXXXXXXXXXXXXXX)
        data: [253 bits]
        data: [256 bits]

    AD2AG
    PDF417 感觉识别有点困难,我用 qq 和微信还有手机自带是扫描功能,只有微信能扫描,但是是按商品码扫的,出来不了有效信息
    还是得考虑一下解码难易度

      Yofoa-Film-Studio
      考虑到用了签名算法之类的,要么是做微信小程序,要么是自制的 Android/iOS 程序,应该都可以直接用 PDF417 解码库来获得信息。感觉无论是 QR 还是 PDF417,最终都是调用解码库,解码难易度应该不是问题。

      我主要不确定的是 PDF417 是不是对针式打印机友好。

        4 天 后

        AD2AG

        试了一下普通的激光打印机,PDF417 columns=8, security_level=3,调整后最终打印纸面大小 22mm * 6mm 依然可以正常识别。可变长宽比的的 PDF417 在寸土寸金的 QSL 卡片上更实用一些?

          1 个月 后

          签名建议仍然采用标准 RSA/ECC 签名,而非 “SSH 签名” 这种应用特化算法.

            5 天 后
            9 天 后
            9 天 后

            我最近研究了下,我打算用 OFD 格式做 eQSL, 作为国家推广的电子版式格式,本身就可以运用国密系列算法进行哈希计算与验证签名算法 。
            基于 xml 的数据格式意味着设计 QSL 版面比 PDF 格式来得要容易

              用已有的卡片 找了块空间印上去,2.1 cm 见方

              空间挺小,再加上垃圾喷墨机 + 卡面着色能力不强,主流识别库识别率不高,但是微信的扫码可以稳定识别 张小龙你赢了 下一版做卡片留空间留大一些

              1 个月 后

              AD2AG

              SSH 签名有意删去了时间戳,这是因为一旦私钥泄漏,时间戳可以随意伪造,所以文件签名里面的时间戳没啥意义。

              那么有什么办法来解决时间戳的问题呢?

              • 攒一批 QSL 一起丢一个时间戳 CA,成本差不多可以忽略不计
              • 上链 —— 根据区块链共识算法,有些区块链出块时间近似恒定,因此可以用来当时间戳用
              • 老办法 —— 邮戳……

              BI1QGF

              SSH 签名是最终端到端的签名算法,是对 RSA、ECC 等的封装,其设计文档中有阐述为何这么设计以避免常见应用缺陷

                erjiaqing
                感觉不用假定密钥泄露的问题。密钥泄露了整个签名都可以伪造了,不仅仅是时间戳了。并且保护密钥是用户的责任不是开发者的责任,泄露了应该第一时间发起撤销密钥呀。

                时间戳感觉并不是一个很重要的事情,只不过是满足 openpgp 的签名带了而已。相比使用 SSHSIG,我倾向于使用 OpenPGP 系统,一个是密钥自带过期时间,一个是带信任链机制,可以变相实现 CA 的部分功能。当然用 SSL 那套标准也可以实现。SSHSIG 感觉缺少一些密钥的控制机制,也不太好向硬件密钥去迁移。

                不过,demo 还是很强的了。

                闽 ICP 备 2021006864 号 - 7 闽公网安备 35020602002794 号
                用户协议 隐私政策 社区规范 积分规则 版主规则 中继规则 转载须知 更新日志 联系我们 常见问题 友情链接 运营报告 赞助 互联网举报中心
                是无线电,把我们联系在一起