V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
httpbin - 协议调试工具
httpstatuses - 协议状态码查询
httpie - cURL-like tool for humans
Fiddler
t4we
V2EX  ›  HTTP

构思了一个端对端加密聊天的 App,大家看看有没有漏洞

  •  
  •   t4we · 2021-08-13 13:22:40 +08:00 · 1833 次点击
    这是一个创建于 1196 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目标是传输过程中不会解密,服务器无法审查内容,除非用户主动中间人自己。

    1. 注册 App 时,会生成 RSA 公钥私钥,公钥上传到服务器,私钥自己保存
    2. 私聊时,会向服务器请求对方公钥,使用对方公钥加密后发送
    3. 接收者使用自己的私钥解密

    整个过程 https

    6 条回复    2021-08-13 14:25:31 +08:00
    jybox
        1
    jybox  
       2021-08-13 13:27:13 +08:00   ❤️ 1
    这不就是 iMessage,这个查找他人公钥的服务叫 IDS,关键是如何确认服务器给的是正确的公钥而不是在实施中间人攻击。
    https://support.apple.com/guide/security/how-imessage-sends-and-receives-messages-sec70e68c949/web
    LeslieLeung
        2
    LeslieLeung  
       2021-08-13 13:38:02 +08:00 via iPhone
    之前做过类似的 提几个想法
    1. 使用非对称加密速度比较慢,如果有多媒体传输(例如要发送图片、视频或者语音视频通话的功能)就会受影响,所以聊天内容可以采用对称加密
    2. 如果使用对称加密,其密钥协商就应该使用 DH 算法等进行交换,加上数字签名等防止 MITM
    3. (不确定)端到端加密聊天国内政策不允许
    vonsy
        3
    vonsy  
       2021-08-13 13:38:41 +08:00
    AoEiuV020
        4
    AoEiuV020  
       2021-08-13 14:22:01 +08:00
    第一反应也是中间人,你 RSA 这块压根没有防中间人,
    wangkun025
        5
    wangkun025  
       2021-08-13 14:24:53 +08:00
    没有。
    甚至不需要 https
    wangkun025
        6
    wangkun025  
       2021-08-13 14:25:31 +08:00
    政策不允许是确定的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5810 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 02:28 · PVG 10:28 · LAX 18:28 · JFK 21:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.