2012-05-06 189 views
15

我对Diffie-Hellman密钥交换期间中间人攻击的机制有所怀疑。我听说在关键协议沟通过程中可能会发生这种情况。但是,在CA(证书颁发机构)的存在下,接收方可以在收到发件人的公钥时对发件人进行身份验证。因此,中间人攻击怎么可能?中间人攻击如何在Diffie-Hellman中工作?

回答

55

我认为你将基本的Diffe-Hellman(一种密钥交换协议)与使用认证中心(CA)的“认证版本”相混淆。

对基本迪菲赫尔曼如何容易受到中间人from RSA Labs的很好解释。

“的Diffie-Hellman密钥交换容易受到一个人在这方面的中间人 攻击。在这种攻击中,对手卡罗尔拦截Alice的公共 值,并把自己的公共价值鲍勃。当Bob发送他的 公共价值,Carol用它自己替代它并将它发送给Alice Carol和Alice因此同意一个共享密钥并且Carol和Bob同意 在另一个共享密钥上,在此交换之后,Carol简单地解密任何发送的 消息然后读取并且可能 在用适当的密钥重新加密之前修改它们,并且将它们发送到t他另一方。此漏洞存在 ,因为Diffie-Hellman密钥交换不验证 参与者。可能的解决方案包括使用数字签名 和其它协议变种“

,并与认证的版本,它遵循,也被称为Station-to-Station protocol

”。粗略地说,其基本思想是如下。在执行 协议之前,双方Alice和Bob每个都获得公钥/私钥对和公钥证书。在 协议期间,Alice计算某些消息的签名,其中包含 公开值ga mod p。鲍勃以类似的方式继续前进。即使 Carol仍然能够截取Alice和Bob之间的消息,但她不能伪造Alice的私钥和Bob的私钥 的签名。因此,增强的协议击败了中间人,中间人 攻击。”

所以基本版本是容易受到中间人攻击,使用公钥证书是认证版本不。

+1

不错的答案。非常清楚。 – Leigh

+0

是的,有人听媒体将无法拦截,但有人桥接媒体会。然而,认证版本根本没有意义。如果您已经持有证书并因此拥有另一方的公钥,那么使用DH有什么意义? – Rafael

+0

我不认为我理解你的观点......你为什么要区分倾听和桥接?它们都是截取的形式,并且正如答案所述,在认证的版本中,由于拦截器不能伪造消息,所以拦截消息是正确的。在协议开始的认证版本中,各方没有对方的公钥证书。 – Peanut

19

这是怎么做的Diffie-Hellman工作:

Diffie-Hellman

这是怎么做的人在这方面的中间人在的Diffie-Hellman攻击工作:

mitm

有两个DH密钥交换,Alice和Attacker与k1共享相同的密钥,而Bob和Attacker与k2共享另一个相同的密钥。

因为爱丽丝和鲍勃彼此没有先验知识。

但是攻击者必须保持监听和转发。

+0

你可以编辑你的答案并再次发布图像吗?也许使用imgur.com,这样他们不会再次破坏。 – orange

+1

为什么情绪?是不是所谓的国防部? –

+0

@MatthiasFax是的,你是对的。对错字感到抱歉。 – Jacky