我对Diffie-Hellman密钥交换期间中间人攻击的机制有疑问。我听说在密钥协议通信期间可能会发生这种情况。但是在CA(证书颁发机构)存在的情况下,接收方可以在收到发送方的公钥时对发送方进行身份验证。因此,中间人的攻击怎么可能?
答案 0 :(得分:68)
我认为您将基本的Diffe-Hellman(一种密钥交换协议)与使用证书颁发机构(CA)的“身份验证版本”混淆。
很好地解释了基本的Diffe-Hellman如何容易受到中间人from RSA Labs的攻击。</ p>
“Diffie-Hellman密钥交换容易受到中间人的影响 攻击。在这次袭击中,对手卡罗尔拦截了爱丽丝的公众 价值并将自己的公共价值发送给鲍勃。当鲍勃发送他的 公共价值,卡罗尔用自己的替代品将其发送给爱丽丝。 Carol和Alice因此同意一个共享密钥,Carol和Bob同意 在另一个共享密钥上。在这次交流之后,卡罗尔只是解密任何一个 Alice或Bob发出的消息,然后读取并可能 在使用适当的密钥重新加密之前修改它们 将它们传送给另一方。此漏洞存在 因为Diffie-Hellman密钥交换不认证 参与者。可能的解决方案包括使用数字签名 和其他协议变体。“
以下是经过身份验证的版本,也称为Station-to-Station protocol:
“粗略地说,基本思想如下:在执行之前 协议中,Alice和Bob各方都获得了一个 公钥/私钥对和公钥证书。中 在协议中,Alice计算某些消息的签名,覆盖 公共价值 g a mod p 。 Bob以类似的方式继续前进。即使 她仍然能够拦截爱丽丝和鲍勃之间的消息 如果没有Alice的私钥和Bob的私人密钥,就无法伪造签名 键。因此,增强的协议击败了中间人 攻击“。
因此基本版本容易受到中间人攻击,使用公钥证书的经过身份验证的版本不会。
答案 1 :(得分:25)
这就是Diffie-Hellman的工作原理:
这就是Diffie-Hellman中间人攻击的工作方式:
有两个D-H密钥交换,Alice和Attacker与k1共享相同的密钥,而Bob和Attacker与k2共享另一个相同的密钥。
因为爱丽丝和鲍勃之间没有彼此的先验知识。
但攻击者必须继续倾听和转发。