我想知道TOTP密码的安全性。
在获取各种TOTP代码之后,是否有任何密码安全可以阻止用户猜出该秘密。例如:
攻击者在SSO通过HTTP的目标网络上使用用户:Pwd:TOTP嗅探creds。经过一段时间后,攻击者可以通过查看每个TOTP代码产生哪些秘密并缩小结果来合理地猜测TOTP秘密是什么?
发布于 2016-10-14 02:59:28
是的,TOTP是密码安全的。TOTP是使用共享秘密1的当前时间戳的HMAC。HMAC安全了。TOTP只产生6位数字(20位),而像TLS这样的协议更喜欢更长的MACs (128位),但是无法通过查看所有以前的TOTP代码来预测下一个TOTP代码(大于1/ 10^6的概率),而不知道共享的秘密。
发布于 2016-10-14 03:15:50
该算法是弱的,因为它假设本地时间戳不能被操作,但它可以在正确的条件下。
当安全是一个真正的问题时,可预测是最糟糕的错误之一。指望你无法验证的事实也是天真的设计。
TOTP的一个很大的缺点是密钥和时间戳的结合总是产生完全相同的令牌结果。允许内部时钟操作会削弱整个概念,可能会导致安全问题。
秘密种子+时间=令牌
ntpd守护进程允许对时钟进行操作。它接受来自上游NTP服务的任何内容。所以你可以给一个假的时间戳,那么ntpdate就会毫无顾虑地接受它。
使用ntpdate代替ntpd(两者都易受MITM攻击)是一种常见的做法。应该避免使用ntpdate主机名。
NTP漏洞:https://www.cvedetails.com/vulnerability-list/vendor_id-2153/NTP.html
https://security.stackexchange.com/questions/139712
复制相似问题