我想知道如果您为每个站点使用高熵、长、唯一的密码,是否真的需要两因素身份验证。根据我的经验,2fa 只是通过添加另一个进入锁所必需的钥匙来加强安全性。但是如果第一个键就足够了(20 多个字符),这真的很重要吗?
我只在我信任的机器上登录网站,所以我并不担心以前安装在机器上的键盘记录器或恶意软件。
在我看来,2fa 的主要目的是要么填充错误的密码,要么保护用户免受重放攻击。
我想知道如果您为每个站点使用高熵、长、唯一的密码,是否真的需要两因素身份验证。根据我的经验,2fa 只是通过添加另一个进入锁所必需的钥匙来加强安全性。但是如果第一个键就足够了(20 多个字符),这真的很重要吗?
我只在我信任的机器上登录网站,所以我并不担心以前安装在机器上的键盘记录器或恶意软件。
在我看来,2fa 的主要目的是要么填充错误的密码,要么保护用户免受重放攻击。
更好的比较就像在锁着的门里有一个警卫。如果您丢失了钥匙,守卫仍然可以阻止不是您的人进入。无法保证即使是最安全的密码也不会因某些攻击而被泄露。
拥有多个因素,尤其是从未直接共享的因素,会增加一整层额外的安全性。您仍然可以从双重身份验证中获得很多好处,并且您仍然需要它,原因与您在使用双重身份验证时不使用弱密码的原因相同。
最好的安全性是使用两者的强版本。我们只是不理会三个因素,因为虽然一个很容易妥协,但同时要妥协两个要困难得多,如果他们可以同时得到两个,那么三个也不会更难。
您可以拥有最强的密码,也许您可以使用它来登录 Adobe。然后,瞧,Adobe 的加密密码(BAD ADOBE!糟糕! 您应该使用 PBKDF2、Bcrypt 或 Scrypt 对密码进行哈希处理,您不加密它们!)全部泄露。如果攻击者还窃取了这些密码的加密密钥,那么攻击者就已经拥有了您的长而随机的密码。
如果您还具有某种类型的双因素身份验证,那么虽然攻击者可以立即进入数百万其他用户的帐户,但他们将在进入您的帐户之前破解另一层。
当然,您仍然必须在使用它的任何地方更改您的密码。
教训:永远不要假设您的“受信任站点”具有良好的密码存储习惯。Adobe没有。索尼没有。
用于验证的东西通常是“你知道的东西”(密码)、“你拥有的东西”(物理密钥、ID)或“你的身份”(指纹、手印、语音等)
双重身份验证背后的想法是使用其中两个域而不是一个域。
不管你的单因素密码有多复杂,如果我得到它,我就进去了。如果它要求我输入发送到手机的代码,那么它需要拥有那部手机(或拦截其 SMS 消息的能力,这超出了我的个人威胁模型)以及该密码,它从稍微困难(对于同事、室友等)到几乎不可能(某人 > 1 公里以外)。如果它需要密码+令牌密码,那么我需要拥有令牌,相同的想法等......
作为奖励,两个因素提供了一些针对错误密码的保护。
作为用户,我不能因为一个错误(泄露我的密码、丢失我的手机或令牌)而危及自己。作为管理员,我对用户就是他们声称的那个人有更高的信心。
顺便说一句,重放攻击可以通过单因素一次性密码方案 (S/KEY) 来防止,这些天我不经常看到这种方案。
此外,关于您的“我唯一信任的网站”——仅仅因为您信任某些东西并不意味着您不应该保护自己。
2FA 与密码长度的两倍不同。
2FA 意味着有两种不同的东西保护你,有一个是单点故障。