为敏感操作请求第二个密码有什么价值?

信息安全 Web应用程序 密码 验证
2021-08-17 19:11:10

当用户使用他们的主密码登录到系统时,在执行敏感功能时要求不同的第二个密码是否有任何价值?

与再次询问他们的主密码相比,它有什么好处吗?

我认为第二个密码不是双因素身份验证 (2FA),但与询问他们刚刚用于登录的密码相比,它在哪些方面受益(如果有的话)?

3个回答

同意。绝对不是两个因素。

这三个因素类是你知道的东西(密码)、你拥有的东西(某种安全令牌)或你是的东西(虹膜图案、指纹等)。

第二个密码是否有用取决于您的应用程序和环境。

在许多方面,从社交方面来看,第二个密码可能不太安全,因为它不经常使用,因此更有可能被写下来。安全性的降低程度取决于潜在的攻击者是否可能在您的用户周围徘徊。

如果您担心暴力攻击,那么拥有两个密码会有所帮助,但只要坚持第一个密码长度与组合密码长度一样长。在您的应用程序中可以轻松检测和防止蛮力。

如果不经常使用它可能会提供有限的嗅探保护,因为嗅探器可能没有运行足够长的时间来查看两个密码。虽然如果您使用 SSL,那么它意味着中间人攻击,或者用户或服务器环境的妥协。无论哪种方式,你都有问题。

要求重新输入原始密码确实可以确保即将执行高安全性功能的人仍然与登录的人相同。在某些情况下很有用。

最后,它可能给人以更高安全感的感觉,这在某些情况下可能具有营销价值。

但总体而言,安全性的任何增加都是微不足道的。

如果使用得当,第二个密码(即安全问题)可以确保额外的安全性。例如,RBC 使用 3 个安全问题,在登录期间随机选择。这是一种安全网,如果密码被泄露(嗅探、暴力破解等),第二个密码是不相关的、“不可预测的”,可能会阻止帐户被使用。

但是,第二个“密码”很可能以与第一个相同的方式处理。因此,如果第一个密码被泄露,那么第二个密码也可能以相同的方式受到攻击。从这个意义上说,它更像是一种威慑,而不是实际的预防。除非两个密码都以完全不同的方式处理和存储......

至少我是这么理解的。希望它以某种方式有所帮助。

你说的对。第二个密码不是2FA 方案中的第二个因素。

就像@drunkenRabbit 提到的那样,用户很可能会像对待第一个密码一样对待第二个密码。如果第一个密码被泄露,则可以安全地假设第二个密码也被泄露。事实上,如果第二个密码是安全问题的形式,它甚至可能比第一个密码不安全,因为用户可能不会像对待他们接受过不提供密码的培训一样对待安全问题。

只有当因素完全不同时,2FA 方案才有效。如果您的场景中的第二个密码更改为一次性密码,这将满足 2FA 方案的要求,因为您不再知道 OTP。相反,它是您拥有的东西 - 您接收 OTP 的设备,无论是手机中的应用程序还是专用硬件令牌。