2012-07-08 45 views
1

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

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

由于OTP是6位数字,因此用户可能只有999999个组合可用。因此,OTP在生命周期中不可能是唯一的,它会在某个时间点重新生成。当一个特定的OTP重复时,是否会有一种模式?另外,如果OTP在10的窗口大小内重新生成,它可能会更糟糕,因为它很容易受到重播攻击。

请在此指导我。

回答

1

不,不应该有一个重复的可预测的模式,如果你不知道用randomness密钥(这将是该算法的一个重要发现和缺陷要不然的话)。

虽然你可以容忍10的窗口大小,但只容忍前进。永远不要接受一个小于最后确认的计数器的标记,否则你会留下一个重放攻击。

当然,HOTP,TOTP或其他任何东西都不能抵抗所有形式的攻击,所以您需要一种多层次的安全方法来实现攻击与防御成本的逼真。

更深入的讨论可能是最好的here。在这个答案中,我试图坚持执行问题。