0

可能会快速连续接收 HTTP 请求,为了避免为每个请求重新运行 while 协议,客户端可能会重复使用服务器 nonce(nonce 的时间戳来确定客户端请求有效的窗口)用于多个请求.

使用这种方法有什么优点和缺点?

4

1 回答 1

0

重用 nonce的优点是它确实需要更少的资源来维护和检查有效的 nonce,并且可以避免流水线请求的身份验证失败:

[…] 选择用于生成和检查 nonce 的方法也具有性能和资源影响。例如,服务器可以选择允许每个 nonce 值仅使用一次,方法是维护每个最近发布的 nonce 是否已返回的记录,并在每个响应的 Authentication-Info 头字段中发送 next-nonce 指令。这甚至可以防止立即重放攻击,但检查 nonce 值的成本很高,而且可能更重要的是会导致任何流水线请求的身份验证失败(可能会返回陈旧的 nonce 指示)。

然而,缺点是重放攻击比一次性随机数更有可能:

对于不能容忍重放攻击可能性的应用程序,服务器可以使用一次性的 nonce 值,第二次使用时不会兑现。这需要服务器记住哪些 nonce 值已被使用,直到 nonce 时间戳(以及由此构建的摘要)过期,但它有效地防止了重放攻击。

于 2011-07-03T11:58:03.263 回答