V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
BinRelay
V2EX  ›  程序员

新手提问,在 SSL/TLS 中,用 RSA 公钥加密传递对称密钥似乎无懈可击啊,为什么还要用 DH、ECDH 等密钥交换算法呢?

  •  
  •   BinRelay · 2019-01-29 22:07:21 +08:00 · 2894 次点击
    这是一个创建于 2159 天前的主题,其中的信息可能已经有所发展或是发生改变。

    upload-images.jianshu.io_upload_images_4273541-0f724bb0e9ecdf87.png_imageMogr2_auto-orient_strip%7CimageView2_2_w_620_format_webp.png
    我一直以为 https 仅仅是认证+非对称加密+对称加密的混合实现。
    用 RSA 的公钥加密传递 session key 然后开始对称加密。
    但没想到在 tls 里的密码套件( Cipher suite )有些方案选用了
    额外的密钥交换算法,比如 DH、ECDH。
    DH 确实 nb,毕竟图灵奖,但在 tls 里好像有点多此一举啊。
    是仅仅为了多一种选择么??

    第 1 条附言  ·  2019-01-29 22:39:38 +08:00
    明白了 向前安全才是正解。
    图中的情况。只要 rsa 私钥被破解了,就可以解开以前的信息的对称密钥,然后就破解了以前的信息。
    而 DH 是当时 client 和 server 共同算出的对称密钥,即时 rsa 私钥被破解,以往的信息仍然是安全的。
    cydian
        1
    cydian  
       2019-01-29 22:16:31 +08:00 via Android
    似乎?
    cydian
        2
    cydian  
       2019-01-29 22:17:43 +08:00 via Android
    是不是你破解知识太单薄了?
    苹果系统也似乎看起来无懈可击,然后年年爆重大漏洞。
    parametrix
        3
    parametrix  
       2019-01-29 22:20:47 +08:00 via Android   ❤️ 2
    向前安全
    Trim21
        4
    Trim21  
       2019-01-29 22:23:04 +08:00 via Android   ❤️ 2
    我的理解是这样的
    如果是对称加密,私钥泄漏之后之前的通信就全都可以被解密了。但如果再非对称加密一次,即使私钥泄漏,之前进行的通信仍然是安全的…
    但我没理解的是,ecdh 好像本身就可以保证不被中间人窃听了,为什么还要,为什么外面还要套一层…
    66450146
        5
    66450146  
       2019-01-29 22:25:12 +08:00   ❤️ 2
    DH 自带 forward secrecy
    lhx2008
        6
    lhx2008  
       2019-01-29 22:31:15 +08:00
    前几天问了面试官,面试官说最大的原因是,RSA 太!慢!了!
    BinRelay
        7
    BinRelay  
    OP
       2019-01-29 22:39:14 +08:00   ❤️ 4
    @lhx2008 明白了 向前安全才是正解。
    图中的情况。只要 rsa 私钥被破解了,就可以解开以前的信息的对称密钥,然后就破解了以前的信息。
    而 DH 是当时 client 和 server 共同算出的对称密钥,即时 rsa 私钥被破解,以往的信息仍然是安全的。
    rsa 太慢应该是回答为什么要用混合加密。而图中仅仅用 rsa 加密一个私钥是不会有太慢的问题的。
    bumz
        8
    bumz  
       2019-01-29 22:52:40 +08:00
    forward secrecy
    yzwduck
        9
    yzwduck  
       2019-01-29 23:01:05 +08:00
    我觉得 RSA 的慢可能是指密钥生成的速度。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2800 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 03:17 · PVG 11:17 · LAX 19:17 · JFK 22:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.