我正在考虑将HOTP作为一个选项添加到我的网站(除了一些东西,比如SMSed一次性令牌,我已经有了)。但我在考虑HOTP固有的一个问题:
像iPhone这样的东西通常会与所有的应用程序数据一起备份。这意味着,如果我使用Authy来生成我的OTP令牌,那么Authy内部的秘密密钥也会包含在这样的备份中。那么,OTP的全部目的是使计算机上的信息不足以侵入一个帐户,并且您需要第二个因素,以防恶意软件进入计算机(如果我正确理解的话)。但是这个备份意味着,如果我可以访问您的计算机,我可以通过常规的方式获得您的密码,比如键盘记录器,但是我也可以通过您的手机备份查看HOTP的秘密密钥,如果没有您的电话,就可以成功登录。
那么,是什么让人们不这么做呢?为什么我也应该提供HOTP,或者还是只使用SMSed令牌更好呢?
发布于 2013-12-29 07:03:25
一些手机在附近实时向计算机发送短信(三星的android手机有一点功能可以做到这一点,或者确实如此),如果手机插到电脑上,支持海斯调制解调器( Hayes modem )命令,这些手机也可以实时读取短信。
实际上,OTP带给你的是防止人们猜测密码的保护,尽管它们有时也会对被盗密码有所帮助。尽管如此,TOTP对此会更好,因为它是短暂的,因此得到正确的机会不会像尝试的次数一样增加。HOTP实际上并不比由密钥和计数器组成的密码好多少(在我看来),只不过它有效地提供了自己的反可重放性挑战。
如果您需要安全地防止人们从电话备份或其他任何地方窃取令牌,那么您确实应该发出硬件令牌。
发布于 2013-12-29 18:43:07
短信和智能手机应用程序容易受到不同的攻击。我不认为SMS是一种传输一次性密码的安全方法.正如Falcon所指出的:如果你真的想做双因素认证(2FA),你应该使用第二个不能被嗅探和复制的因素。第一个对SMS无效,第二个对智能手机应用无效。所以,对于一个真正的2FA,你真的不应该使用连接的硬件。
但无论如何,安全是灰色的。因此,除了密码之外,发送短信或使用智能手机应用程序(无论是HOTP、TOTP还是mOTP)都比只有密码要好。你只需要意识到“有多好”。
与发送短信相比,拥有智能手机应用程序有一些优势:
当然,SMS为最终用户提供了一个比安装移动应用程序和与服务器共享HMAC密钥更容易的注册过程。
因此,提供HOTP和SMS对终端用户来说主要是一种方便。
https://security.stackexchange.com/questions/47773
复制相似问题