V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
tdxdxoz
V2EX  ›  分享创造

做了一个便捷生成数字签名的网页工具

  •  
  •   tdxdxoz · 2 天前 via Android · 699 次点击

    前段时间做了一个小工具,可以方便地给文本添加数字签名。为了方便使用是网页的形式( rust 写的纯前端项目),但是访问过一次后断网也能打开和正常使用。

    地址: https://daily-sign.github.io/

    动机

    因为各种社会事件开始产生一些杞人忧天的想法,觉得应该给自己的任何发言添加数字签名。但是按照标准的做法,签名用的私钥应该只保存在安全的设备上,每次签名都要在这个设备上跑命令执行签名,这是一件很不方便的事情,对没有技术背景的人来说更是难以上手。 所以想做一个工具,直接使用密码进行签名,在便捷性和安全性中达到一个平衡,让方便地给日常消息签名成为可能。

    设计的时候主要遵循两个原则,一是尽量方便使用,二是不可以有后端、所有操作都在浏览器本地执行。

    用途

    给自己的发言添加数字签名小尾巴。不管是换号还是不幸卷入社会事件,都能用来证明是本人和避免冒充。可以在邮件中或使用新平台时添加签名证明是本人。还可以用于委托代发到自己不使用的平台,只要签名正确就能证明是本人。

    注意事项

    把基于密码生成的密钥直接用作非对称加密的私钥是不标准的做法。人脑想出来的密码,随机度远远不如真正随机的 32 bits 密钥。本项目的意义在于权衡便捷性和安全性。尽管没有已知的攻击,如果要最大程度发挥公私钥签名的安全性,不应该使用本工具,或者至少使用随机生成的强密码。

    4 条回复    2025-10-09 18:46:22 +08:00
    JoeJoeJoe
        1
    JoeJoeJoe  
    PRO
       1 天前 via iPhone
    op 的网站 ui 做的看起来很舒服

    但是签名后的文本用起来可能稍微有点尴尬

    我如果要评论的话可能还得带一个小尾巴出来

    ps:我开始是以为做了一些类似图片透明水印的操作,用完才知道是做了一个小尾巴,感觉这个小尾巴可以使用一些透明元素来处理

    长度: 333 bytes
    签名: GkBvnPLzLMWX5FzjOuJPJLp4mBYmaHjrooNfRD5VZVbU7r7VT05auAlE1BcpdVmISycou84fpu8Ih7PTAlLzCw==
    tdxdxoz
        2
    tdxdxoz  
    OP
       1 天前
    @JoeJoeJoe 因为想做文本签名而不是图片水印。或许应该搞搞什么编码把小尾巴尽量压短。
    ryd994
        3
    ryd994  
       1 天前 via Android
    @JoeJoeJoe
    你要公开公钥而且通过不同的渠道反复公开公钥。这样别人才能 1.拿到你的公钥 2.确信这个公钥确实是你的
    有了公钥才能验证签名

    @tdxdxoz
    这个做法太密码学民科了。私钥只能保存在安全的设备上不假。但是安全的设备不是只能有一台安全的电脑。
    TPM/智能卡就是为了解决密钥的保管问题。智能卡很便携,在任何设备上都可以使用。加密解密过程只在智能卡内部处理,即使在不安全的设备上使用也不会泄露私钥。最多只是在解密数据时泄露解密后的明文而已。

    你这个作品,用弱密码的话,人家社工+穷举一下就出来了。用强密码的话又记不住,又回到了怎么储存密钥的问题上了。
    tdxdxoz
        4
    tdxdxoz  
    OP
       1 天前 via Android
    @ryd994 需要硬件不是更不方便了吗,而且会为了日常使用去买设备的本来就是极少数愿意折腾技术的人。私钥丢失的事也不罕见了。
    关于密码强度的问题,我想大多数密码,比如大多数没用密码管理器的人的 v 站密码,都是既没有弱到可以社工穷举出来,也没强到人脑记不住的。这也是我一直在说的找到一个平衡。(另外本身 Argon2 算法的抗枚举能力还是可以的)
    我是做纯理论的,对偏实践的密码学确实不太熟练。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2838 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 14:00 · PVG 22:00 · LAX 07:00 · JFK 10:00
    ♥ Do have faith in what you're doing.