将密码和两个因素秘密存储在一个地方的密码应用程序的安全性如何?

信息安全 验证 密码 多因素 一次性密码
2021-08-23 11:54:45

以 1Password 为例,它现在可以将您的密码和一次性密码机密存储在一个地方(您的 1Password 保险库)。

我知道它不再是真正的双因素身份验证,但与单因素身份验证相比,它要好多少?

更清楚地说,假设我有一个启用了双因素身份验证的 Dropbox 帐户,并且我将我的 Dropbox 密码和 OTP 密码都存储在 1Password 中——因此两者都可以通过一个因素访问,即我的 1Password 主密码。假设我有一个强大的主密码,并且我的 Dropbox 密码很强大并且不会在任何地方重复,那么使用 Dropbox 的两个因素可以获得任何安全性吗?

3个回答

是的,即使您将 2FA 生成/重置代码存储在密码管理器中,在站点上启用双因素身份验证 (2FA) 也会带来轻微的安全收益。在攻击者可以监控您的击键或您发送到网站的凭据但无法下载您的密码数据库的情况下,他们将无法在启用 2FA 的情况下登录您的帐户,因为他们无法确定您的种子/重置代码。这不是一种常见的情况,但脚本小子可能会获得键盘记录软件,而没有查找和窃取密码数据库的技术技能。中间人攻击也会收集您的凭据,而无需访问您的密码数据库。

更好的解决方案是将您的 2FA 生成/重置代码保存在单独的密码数据库中,并使用保存在主密码数据库中的密码锁定并存储在单独的位置。然后,即使有人拥有您的密码数据库和您的主密钥,也将无法访问您受 2FA 保护的帐户,如果您的手机(或其他 2FA 设备)丢失,您将能够恢复您的帐户。

我同意 Aron 的回答,但会补充说,在密码管理器中使用 OTP 代码违背了多因素身份验证的精神,即用你所拥有的东西来补充知道的东西——密码——通常是你的手机。

使用 2FA 访问密码管理器可能提供了足够的保护,但请注意,当您将 OTP 生成器存储在密码旁边时,它不再是真正的第二因素。它们现在都是您知道的东西的单一因素,可能会同时在密码管理器中受到损害。

在某些情况下,密码管理器中的 OTP 生成器可能是最糟糕的选择。考虑您公司使用的不提供按用户帐户的提供商,因此团队成员必须共享一个登录名。该服务可能不允许多个 2FA 设备,或者可能无法为可能需要登录的团队成员设置所有 2FA 设备。鉴于这种情况,当与密码管理服务的 2FA 结合使用时,通过密码管理解决方案共享密码和 OTP 生成器可能是最糟糕的选择。这将比禁用目标站点的 2FA 的替代方法更好,以便可以共享您的登录信息。

1Password 有两种运行模式,本地模式和云模式。

如果您在一台设备上有本地保管库,而另一台设备有身份验证器,则将两者结合在一个设备中很可能会降低安全性。

如果您将本地保险库和身份验证器都保存在一台设备上,则安全性可能不会提高。如果有人有能力安装键盘记录器,他们可能有能力克隆身份验证器的秘密。

我认为在云模式下将双因素身份验证的两个因素都存储在 1Password 中会削弱安全性。破坏您的 1Password 保险库的人可能在世界任何地方 - 使得“您拥有的东西”概念背后的观点有些没有实际意义。

这并不是说破解 1Password 很容易——除了主密码,还有密钥(虽然从技术上讲,两者都是“你知道的东西”)和潜在的一次性密码或其他安全设备。