我见过许多专家建议使用某种OTP作为2FA方案的第二步。
我完全理解2FA比单一授权更安全,但对于普通用户来说也更不方便。
用HOTP (基于HMAC的一次性密码算法)替换密码怎么样?
我们目前有强密码的方案(不太强,目前的策略是: 8+字符、混合大小写、至少一个数字和至少一个特殊的)定期更改,许多用户已经在抱怨。
我想知道用HOTP (可能是谷歌认证器,由google认证器-libpam支持)替换密码是否会导致安全性低于我们目前的方案。
理由很长,随机(生成)密码会迫使用户把它们写在某个“方便”的地方,通常是攻击者很容易找到的地方。使用HOTP将使这一功能变得毫无用处,因为今天每个人都有一台智能手机。
问题如下:
注1:我知道很多问题通常都很难回答,但这实际上可以归结为:我能在合理的安全性下使用这个问题吗?
注2:我们不关心绝对安全(就好像这样的野兽会存在于现实世界中一样),但是我们也不想降低我们现在的安全水平。
发布于 2018-09-30 21:17:03
我是不是忘了什么重要的事?
是。HOTP方案不能作为单一因素使用。你需要扪心自问,智能手机的“拥有”是否可以被看作是一个强大的占有因素。当评估2FA或-在你的情况下- 1FA时,你应该看看可能的攻击。有一种方法@Ry已经指出了,那就是概率/百分比。
谷歌认证者(或其他OTP方案)是否存在某种根本缺陷?
google身份验证器本身并不是OTP方案。这是HOTP和TOTP的一个实现。谷歌将2006年定义的一项计划(RFC4226)与QR代码(1994年发明)结合在一起,并将其应用于后来出现的智能手机上。你应该有这样的印象,誓言HOTP和TOTP从未被用于智能手机。
Google身份验证器有一个主要缺陷(除了将对称密钥存储在不安全的设备(如智能手机)中),那就是QR代码中纯文本密钥的注册过程。不久前我写了一个关于它的博客文章。
如果可行,什么是陷阱(如果有的话)?
当使用OTP设备执行2FA (或1FA )时,您需要仔细设计您的进程--注册、撤销、令牌替换.你用密码做了这件事。您定义了密码的长度和内容以及需要更改密码的时间段。您可能有一个进程来重置被遗忘的密码。在执行2FA或OTP身份验证时,您也需要所有这样的进程。风险(或陷阱)是,你很容易想到-“哦,我正在做OTP或2FA,现在-一切都很好。”
如果你不知道你的过程,那就不是了。
https://security.stackexchange.com/questions/194782
复制相似问题