质询-响应认证如何防止中间人攻击?我阅读了维基文章,但仍然无法理解。
最佳答案
一般来说,质询-响应系统不一定能防止中间人攻击:如果爱丽丝试图告诉鲍勃她的银行帐号,这个协议(protocol),它确实实现了一些质询和响应,不会提供完整性或隐私:
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
Mallory 可以代替 Alice 或 Bob 回答"is",可以伪造第三个“结果”消息,或者可以监听第三个消息。
即使挑战得到改善,例如:“请将 0x31415926 散列到我们的共享密码之前”,以明文(或使用弱/差密码或 key 选择不当)传输的数据也会丢失隐私,并且数据未经任何消息身份验证检查而传输的数据可能会被第三方修改。
挑战/响应协议(protocol)真正发挥作用的地方在于防止重放攻击:如果爱丽丝只是按照“请从我的帐户中扣款 5 美元并在你的帐户中存入 5 美元”的内容向鲍勃发送消息,马洛里可以记录该消息并重播该消息以耗尽爱丽丝的帐户.
一个好的质询/响应系统将为每个交易或 session 生成一个新的质询(并确保之前的质询不会被重用!),因此 session 记录不能拼接在一起以创建新的欺诈系统。
我希望这会有所帮助,但恐怕没有更详细地了解您的疑虑来自何处,这只是噪音。