7

质询 - 响应认证如何防止中间人攻击?我阅读了维基文章,但仍然无法理解。挑战 - 响应协议如何帮助抵御中间人攻击?

+1

有什么具体的你不明白? – sarnold 2011-01-21 07:22:23

+0

您是否正在阅读这个链接? http://en.wikipedia.org/wiki/Challenge-response_authentication是的,我认为它很混乱。 – 2011-01-21 08:02:15

回答

8

一般来说,挑战 - 响应系统不一定能防止中间人攻击:如果Alice试图告诉Bob她的银行帐号,这个协议确实实现了一些挑战和回应,牛逼提供完整性和保密性:

Alice: Bob, is that you? // first challenge 
Bob: Yes, Alice, it is me, is that you? // first response, second challenge 
Alice: Yes! Great. My account number is 314159. // second response, and result 

马洛里可以回答“是”的地方Alice或者鲍勃的,可以伪造的第三个“结果”的消息,或能窃听到的第三个消息。

即使挑战得到改善,例如:“请在我们的共享密码前面加上hash 0x31415926”,以明文形式传输的数据(或者在弱/弱密码或劣质密钥选择下)将会丢失隐私和未经任何消息身份验证检查而传输的数据可能会由第三方进行修改。

凡质询/响应协议大放异彩是在防止重播攻击:如果Alice只是向Bob发送沿线的消息“请借记我的帐户$ 5存入您的帐户$ 5”,马洛里可以记录该信息并重播消息来消耗Alice的帐户。

一个好的挑战/响应系统会对每个事务或会话产生新的挑战(并确保以前的挑战不会被重复使用!),因此会话记录不能拼接在一起以创建新的欺诈系统。

我希望这会有所帮助,但恐怕没有更详细的想法,您的怀疑来自何处,它只是噪音。

+0

将使用公钥密码术的挑战反应系统帮助消除中间人的攻击? – user574183 2011-01-21 08:16:27

3

User sarnold已经提供了a good answer,我想把注意力放到下面。

挑战 - 响应解决了两个问题 - 使发送秘密不必要(散列式产品发送),并防止重播攻击(因为挑战每次都会改变)。除此之外,它没有做任何事情 - 它不会向任何人认证任何人,它只是客户端发送他的用户名和密码(秘密)的明文协议的改进,并且服务器决定这些是否正确。

因此,如果在中间有某个派对,它将无法检测到它或阻止它作为该特定会话的客户端进行模拟,但该派对将无法访问该秘密,因为该秘密从未发送过明文,并且该方将不能通过重播来模仿 - 它只能在该会话期间模仿。