基于HMAC的一次性密码(HOTP)于2005年12月作为信息IETF RFC 4226发布。2011年5月,基于时间的一次性密码算法(TOTP)正式成为RFC6238。它带来了什么好处? />

#1 楼

优点之一就是纯粹在安全方面。摘自RFC 6238的摘要:


HOTP算法指定了基于事件的OTP算法,其中
移动因子是事件计数器。目前的工作是基于时间值来确定运动因素。 OTP算法的基于时间的变体
提供了短暂的OTP值,这对于增强
安全性是必需的。


(强调我的)。

TOTP密码是短暂的,仅适用于给定的人工时间。 HOTP密码的寿命可能更长,它们会花费未知的时间。

对“增强的安全性”的引用至少(涉及)两个方面:泄露密钥的值和能力攻击一个。

首先,如果当前的HOTP密码被泄露,则可能在“长时间”内有效。确保在人类时间中频繁使用HOTP并不是HOTP设计的一部分,因此目前的HOTP密码有效期尚不明了,我们不得不假设最坏的情况,即它将是“长期的”。 “ 时间。这使攻击者可以在闲暇时使用受破坏的密码。但是,如果当前的TOTP受到损害,那么它将不会在很长时间内有用,因为在一个TOTP时间增量中,它将无效。当然,从理论上讲,攻击者可以在很短的时间内抓取并使用该密码,但这确实阻止了实际的人为因素。例如,看过您当前的Paypal密钥(每30秒旋转一次,IIRC)的人无法回家尝试以后再使用它,他们此时将不得不动手购买计算机。破坏密钥的人可能直到密钥过期才意识到这一点。等

其次,如果您在攻击钥匙,则由于目标已移动,因此每次TOTP每次递增时,您的工作都可能无效或后退。也许攻击者发现了一种针对OTP方案的攻击,该攻击仅允许他们在最近10个密码中有一定数量的情况下,才能预测下一个密码,但是这样做大约需要2个小时的计算时间。如果OTP每分钟更改一次,那么他们的攻击就几乎没有用了。暴力攻击也受到抑制,因为每次选择的下一个密码都以相同的分布进行分配;可能会强行用尽密码空间而找不到密码。 TOTP不能消除这类攻击,但希望它限制了哪些攻击才有效。

评论


$ \ begingroup $
在任何情况下,HOTP都需要Internet连接而TOTP却不需要吗?或相反亦然?
$ \ endgroup $
–贾德·迪亚斯(Jader Dias)
2012年3月30日在1:28



$ \ begingroup $
我认为真正的挑战是在TOTP的情况下,要花时间在客户端和服务器上进行同步。
$ \ endgroup $
–富兰克林
2012年6月3日,7:24

$ \ begingroup $
@JaderDias-两种算法都不需要互联网连接
$ \ endgroup $
–user93353
2013年9月6日于1:10

$ \ begingroup $
每次随机暴力破解尝试均具有相同的成功概率,而与目标密码的旋转无关。因此,TOTP并不能真正抑制暴力攻击:破解一个密码的平均尝试次数保持不变,但上限已消除。
$ \ endgroup $
– A. Hersean
17年2月27日在9:39

#2 楼

两者都不值得。 RSA于1984年发明了更改号码代码以阻止键盘记录程序。当今,超过90%的互联网破坏行为都是由网络钓鱼引起的,而且我们看到,整个国家的恶意软件感染机器数量要多于干净的机器(到目前为止,博莱托匪徒已经拿走10亿美元现金,而且仍在继续强大)。

TOTP和HOTP几乎完全无法抵抗当今的风险。

您需要的解决方案包括相互认证和交易验证,而不是30年的小发明。

评论


$ \ begingroup $
对于这个问题,这个答案毫无意义。 TOTP和HOTP旨在用作身份验证的一种形式(通常是从令牌中读取值时所具有的要素)。它们与建立安全通道的其他方面无关。
$ \ endgroup $
–吉尔斯'所以-不再是邪恶的'
2014年8月25日14:23在

$ \ begingroup $
@Chris我必须丢失一些东西……这如何回答有关潜在优势的问题(与RFC 4226和RFC 6238比较)?另外,您指出TOTP和HOTP几乎完全无法抵抗当今的风险。 –您是否有可靠的消息来源可以备份该声明? (请注意,我并不是要链接到一些怪异的博客,而是要寻找指向一份或多份科学论文的指针,这些论文为您声称存在的“完全无效”提供分析和证据。)
$ \ endgroup $
– e-sushi
2014年8月25日在18:05



$ \ begingroup $
@Chris:您忘记了结束标记:
$ \ endgroup $
– Priidu Neemre
15-10-13在10:03



$ \ begingroup $
@PriiduNeemre实际上他忘了[8]
$ \ endgroup $
– Navin
15年10月24日在8:09