http://technet.microsoft.com/en-us/library/cc767123.aspx
在本文中,客户端会加密到目标的时间戳,nounce和目标标识。我无法理解这里的时间戳是什么,什么是nounce?
答案 0 :(得分:13)
时间戳和nonce都是防止人员在身份验证机制中受到攻击的方法。它们的工作方式略有不同,但目的是相同的 - 提供一种加密内置于身份验证机制中的数据,这将使攻击者难以或不可能通过重播消息来攻击系统。典型的机制是通过数字签名进行认证。无论哪种情况,都是以下步骤:
1 - 发送消息,将时间戳或随机数附加到消息
2 - 散列消息和时间戳或随机数
3 - 使用私钥加密哈希(即签名)
4 - 发送签名和消息以及nonce / timestamp
(这是攻击者掌握它的点。
5 - 收件人获取消息。
6 - 收件人检查签名是否与发送的数据匹配(重复步骤2,使用公钥解密签名,与哈希进行比较)
7 - 收件人检查时间戳或现时:
a - 检查时间戳 - 时间戳的值必须在当前时间的可接受范围内。理想情况下,整个系统由时间戳服务器提供服务,该服务器定义“当前时间”的精确度。如果没有,系统会冒错误,如果收件人错误地判定邮件时间戳太旧(或尚未发生),则表示当前时间不匹配。
b - 检查现时 - 验证从此发件人之前从未收到过的nonce。由于散列对于消息内容是唯一的,因此该消息必须来自授权发件人,因为此消息未被重播。
8 - 收件人执行任何进一步的授权和访问控制检查。
重要的是: