1

我正在使用 HOTP 为第二因素身份验证生成 OTP。如果客户端和服务器的计数器不匹配,我正在使用基于事件的 OTP 生成并提供 10 次迭代的窗口。

但是,有人问我,如果在任何时间点从过去重新生成 OTP 会发生什么。

由于 OTP 是一个 6 位数字,因此可能只有 999999 种组合可供用户使用。因此,OTP 在生命周期中不可能是唯一的,它会在某个时间点重新生成。当一个特定的 OTP 重复时,会不会有一种模式?

此外,如果在 10 的窗口大小内重新生成 OTP,情况可能会更糟,因为它容易受到重放攻击。

请指导我。

4

1 回答 1

1

不,如果您不使用随机性知道密钥,则不应该存在重复的可预测模式(否则将是算法中的一个重要发现和缺陷)。

尽管您可以容忍 10 的窗口大小,但只能容忍这种情况。永远不要接受小于最后确认计数器的令牌,否则您将打开重放攻击。

当然,HOTP、TOTP 或其他任何东西都不能免受所有形式的攻击,因此您需要一种多层方法来确保您的安全,这种方法在攻击向量与防御成本方面是现实的。

最好在这里进行更深入的讨论。在这个答案中,我试图坚持实施问题。

于 2012-08-22T16:50:11.740 回答