我们拥有Google Authenticator https://github.com/google/google-authenticator的开源
有什么办法可以逆向生成代码吗?
想象一个情况:
我们有timestamp
和generated code
。甚至还有一些这样的数据。
我们的任务是找到将来会生成的secret code
或code
。
我们该怎么做?有什么已知的算法吗?我什么都找不到。需要多少对code+timestamp
来解决此问题?
我可以为正确的解决方案付费。
答案 0 :(得分:0)
就像您假设生成的代码来自仅以timestamp
作为输入的函数一样,TOTP ietf论文显示,该代码基于基于HMAC的一次性密码(HOTP),基本上添加了{{1} }混合到安全足够的哈希函数的共享timestamp
(对称加密)输入中。
这表明,针对HOTP函数的最佳攻击是蛮力攻击,其成功率与实现所选哈希函数的数学联系在一起,在Google Authenticator中,这是SHA-256
已经显示,与加密相关的代码段相关的安全性“级别”并非来自代码的机密性,这就是为什么在这种情况下您无需逆转它的原因。