V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cccer
V2EX  ›  程序员

关于 ECH (Encrypted Client Hello) 防范中间人的疑问

  •  
  •   cccer · 2023-02-04 23:13:38 +08:00 · 1859 次点击
    这是一个创建于 656 天前的主题,其中的信息可能已经有所发展或是发生改变。

    阅读了 cloudflare 介绍 ECH 的文章: https://blog.cloudflare.com/encrypted-client-hello/

    里面有如下内容:

    In this case, the service provider also sends along the correct ECH public key with which the client can retry handshake, thereby "correcting" the client's configuration.

    大概意思:为了防止 DNS 缓存了过期的 ECH 公钥,在服务器解密失败时会给客户端发送正确的 ECH 公钥,客户端可以使用该公钥重试握手”

    这个时候客户端和服务器之间还是明文通信,这样不就绕过了 DoH 并从不可信的渠道获取了 ECH 公钥,导致 ECH 内容被中间人读取吗?

    网上搜索了一下 ECH 相关的内容本身就比较少,也没有说明从服务端获取 ECH 公钥时是怎么防止中间人的。

    3 条回复    2023-02-05 22:00:58 +08:00
    leonshaw
        1
    leonshaw  
       2023-02-05 01:44:44 +08:00   ❤️ 2
    公钥过期就用外层 Hello 协商的加密通道重新分发
    chinalawme
        2
    chinalawme  
       2023-02-05 20:41:15 +08:00
    eason1874
        3
    eason1874  
       2023-02-05 22:00:58 +08:00
    草稿有写这个问题,说用上下文随机数防止,但是具体怎么协商的,我也没看懂
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1715 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:46 · PVG 00:46 · LAX 08:46 · JFK 11:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.