给定带有时间戳的旧值,是否可以预测将来的2FA值?

共享2FA代码是否安全?我说的是TOTPGoogle Authenticator之类的Authy

例如,如果我有代码和生成时间,是否可以预测新代码? 如果我的代码时间超过一对,该怎么办?

我认为可以根据旧信息(代码+时间)来预测新代码。

那么,如果可能的话,我该怎么办?我正在寻找某种算法。

已知时间段,时间,代码和秘密长度。

示例:

22:20:30 561918
22:21:00 161664
22:21:30 610130
yangshenghan521 回答:给定带有时间戳的旧值,是否可以预测将来的2FA值?

在内部,这些2FA生成器通常基于time-based one-time password algorithm工作。这些算法通过对两个值(共享密钥和当前时间增量)的组合使用强大的哈希函数来工作,并且特别使用称为HMAC的构造(如果底层哈希函数是已知的,则该构造是安全的)。

因此,如果有人可以通过查看2FA设备的一些时间戳和输出来预测2FA设备的未来输出,则他们要么(1)必须知道共享机密,要么(2)能够破解HMAC。除非有人对Google进行了黑客攻击,或者知道以非公开文献记载的方式对HMAC或底层哈希函数进行了攻击,否则这两种情况都是不太可能的。

换句话说,您不必担心有人会根据过去的值来猜测将来的值,尽管我仍然建议您不要给出旧的值,因为您不应向除您网站以外的任何人提供2FA值正在登录。 :-)

本文链接:https://www.f2er.com/2423484.html

大家都在问