2016-07-08 27 views

回答

0

也许你知道重放攻击的定义,所以请直接举例说明Replay Attack如何执行以及如何使用nonce来防止它。

重放攻击如何执行?

  1. 用户爱丽丝想从www.iBuy.com买东西,但www.iBuy.com希望爱丽丝证明自己的身份。
  2. 为了证明她的身份,Alice将她的Hashed [Credentials]发送到www.iBuy.com,它验证并接受Alice到他们的网站。
  3. 爱丽丝订购了她所需的物品并要求将货物运送到她的住址。
  4. 同时,Alice和www.iBuy.com之间的通信会话已被恶意用户Bob窃听,他从通信通道会话中检索到Alice的Hashed [Credentials]
  5. 在Alice和www.iBuy.com通信会话结束后,Bob连接到www.iBuy.com并发送Alice的Hashed [Credentials](从步骤4中检索),以证明Alice的身份,而不是Bob的身份到www.iBuy.com, www.iBuy.com接受并允许Bob以Alice的身份进入www.iBuy.com。
  6. 然后,Bob将Alice订购商品的送货地址更改为他的地址。现在项目将发送到鲍勃的住宅地址,而不是爱丽丝地址。

所以,

  • 鲍勃拥有Alice的Hashed [Credentials](来自步骤4),重播的行动,并提交Alice的Hashed [Credentials]到www.iBuy.com,它认为爱丽丝是谁提交Hashed [Credentials]的一个,但真的是鲍勃重播了爱丽丝的Hashed [Credentials]

如何使用随机数防止重放攻击?

如果www.iBuy.com要求爱丽丝发送Hashed [Credentials + non-repetitive Nonce sent by www.iBuy.com to Alice's cell-phone],那么即使鲍勃窃听,检索和重放的散列值,www.iBuy.com拒绝该请求,因为该随机数由www.iBuy.com发送到Alice的手机现在有所不同,随后散列值现在也不同,当然散列值并不是www.iBay.com预期的值。