Ssl 用于秘密密钥分发的公钥密码与Diffie–;赫尔曼

Ssl 用于秘密密钥分发的公钥密码与Diffie–;赫尔曼,ssl,cryptography,rsa,public-key-encryption,diffie-hellman,Ssl,Cryptography,Rsa,Public Key Encryption,Diffie Hellman,假设我们有一个服务器,它有一个私钥和一个公钥,后者可供所有客户机使用,我们有一个客户机,他自己没有任何非对称密钥。我们希望在服务器和客户端之间建立安全通信,客户端必须确保服务器的真实性。这是一种相当普遍的情况 现在,据我所知,在这种情况下,私钥/公钥对通常仅用于确保真实性(我们的客户端可以使用服务器的公钥来验证服务器的真实性)。为了确保服务器和客户端之间的双向通信,使用Diffie–Hellman密钥交换,然后基于共享密钥进行通信 我不知道为什么Diffie Hellman会在这种情况下使用。据

假设我们有一个服务器,它有一个私钥和一个公钥,后者可供所有客户机使用,我们有一个客户机,他自己没有任何非对称密钥。我们希望在服务器和客户端之间建立安全通信,客户端必须确保服务器的真实性。这是一种相当普遍的情况

现在,据我所知,在这种情况下,私钥/公钥对通常仅用于确保真实性(我们的客户端可以使用服务器的公钥来验证服务器的真实性)。为了确保服务器和客户端之间的双向通信,使用Diffie–Hellman密钥交换,然后基于共享密钥进行通信

我不知道为什么Diffie Hellman会在这种情况下使用。据我所知,公钥加密既可以用于确保真实性,也可以用于在客户端和服务器之间共享密钥。服务器可以向客户端发送用其私钥编码的消息,客户端可以使用服务器的公钥对其进行解码以确认其身份。此外,客户端可以使用服务器的公钥向服务器发送新的随机密钥。只有服务器知道这个密钥,因为只有服务器知道他的私钥。我知道有些人建议不要使用公钥来编码和解码,但没有人说为什么

显然,如果客户端和服务器都有自己的公钥/私钥,它们甚至不需要共享任何密钥,但这不是一种典型的情况

所以。。。总而言之。为什么使用Diffie-Hellman而不是公钥加密的密钥分发?有什么好处吗

我不明白为什么迪菲·赫尔曼会在这样的场合被使用 情况。据我所知,公钥密码可能是 用于确保真实性和在用户之间共享密钥 客户端和服务器

Diffie-Hellman和RSA密钥交换(RSA用于加密)都可以与SSL/TLS一起使用。这取决于密码套件

服务器可以向客户端发送用其私钥和 客户端可以使用服务器的公钥对其进行解码,以确认其正确性 身份

使用RSA或DSS身份验证进行DH密钥交换时确实会发生这种情况:服务器使用其私钥对其DH参数进行签名,客户端可以验证签名

此外,客户端可以使用服务器的公钥发送新的 服务器的随机密钥。只有服务器知道这个秘密 密钥,因为只有服务器知道他的私钥

RSA密钥交换或多或少就是这样:客户机加密预主密钥,只有服务器才能解密

您可以在中阅读所有这些内容(撇开匿名密钥交换不谈)。选择(参见附录A.5和C),这取决于客户端和服务器的配置方式,将决定使用的密钥交换机制


据我所知,固定DH交换是相当罕见的。短暂DH(DHE密码套件)更常见。它可以提供“完美的前向保密”:即使攻击者获得私钥,他们也无法破译现有流量,因为他们还需要DH参数,这对于所有连接都不相同。然而,这在性能方面是有代价的。您可以在中找到有关此主题的更多信息。

。为什么使用Diffie-Hellman而不是公钥加密的密钥分发?有什么好处吗


答:假设黑客一直在跟踪客户端和服务器之间交换的所有消息并保存消息,但他无法解密这些消息,因为他不知道共享对称密钥。如果服务器的私钥被泄露,那么在diffie-hellman的情况下,黑客仍然无法解密消息,因为diffie-hellman算法从不在网络上发送密钥,而是客户端和服务器同意使用相同的密钥而不共享,这是一种不共享的密钥协商算法。攻击中间的Diffie-Hellman人应该是活的,并且应该知道用于认证的服务器私钥。但在我们的例子中,黑客已经通过了Diffie-Hellman信息,所以他不能使用中间人攻击。同时,服务器会更改其私钥,所以不会造成损坏。但是,如果我们使用RSA密钥共享密钥,那么一旦服务器的私钥被泄露,黑客就可以获得所有会话对称密钥,并可以解密所有过去的消息。

Differ Hellman是公钥密码的一种形式。所以你的前提是有缺陷的。看你已经消除了我所有的疑虑。向前保密是我没想到的事!谢谢