一个账户有两个密码

信息安全 验证 密码
2021-08-21 03:39:52

如果您有一个需要两个不同密码的帐户,这会是一个好主意吗?

例如,您的登录详细信息是:

email: example@gmail.com
password 1: P4$$w0rd1
password 2: HereIsMySecondPassword

现在,当用户登录我的网站时,他需要输入两个密码。这会比一个更强大的密码更好吗?用户可以选择两个比一个强密码更容易记住的密码。

4个回答

并不真地。它本质上是一个密码,按回车键作为一个字符。

它增加了登录过程的复杂性,这通常不是一件好事(用户可能会选择一个好的密码,然后快速键入密码)。不要忘记@AviD 的规则:“以牺牲可用性为代价的安全,以牺牲安全为代价”

根据密码的存储方式,它们会稍微降低攻击者暴力破解帐户的能力,因为攻击者需要破解这两个部分。我怀疑这是否平衡了可用性问题。

我见过要求用户回答 2 个安全问题的银行网站(在创建帐户时从一组 5 个预先确定的问题中随机选择)。

关键是,如果一个密码可以被泄露(无论是在用户面前还是由于网站漏洞),那么第二个密码保持安全的可能性有多大?如果网站可以对其中一个密码使用更好的加密算法,为什么不将它用于单个密码呢?

我想一个更好的选择是,用户可以连接 2 个密码来制作一个更强大的密码。例如,设置 2 个密码“aBcD”和“eFgH”可以在几分钟(或几小时)内破解,但像“aBcDeFgH”这样的密码需要更多时间才能从哈希中破解。

其他答案中尚未提及的一个缺点是,这种方案可能会击败一些流行的密码管理器。

由于您应该鼓励您的用户使用密码管理器,以便他们可以使用完全随机的长字符序列作为密码,因此这可能是个坏主意。

如果(1)两个密码是独立选择的,并且(2)第二个密码错误尝试的锁定策略比第一个密码更严格,这样的系统可能会有一些好处。

对不正确的密码尝试制定相当严格的锁定策略可以极大地提高对暴力攻击的抵抗力,但也极大地促进了拒绝服务攻击。如果一个帐户在 3 次错误密码尝试后将被锁定 30 分钟,那么任何知道帐户 ID 的人都可以通过每 30 分钟提交 3 次错误登录尝试来使合法用户很难进入。

如果有一个由两部分组成的密码,并且锁定仅适用于第一个密码正确的进入尝试,那么就必须破坏第一个密码才能进行拒绝服务攻击。此外,在密钥空间中搜索第二个密码将比第一个密码慢得多。此外,虽然通知帐户持有人重复错误的主密码会产生许多错误警报,但帐户持有人对此无能为力,但通知帐户持有人次要帐户密码不正确可能会更有用。如果 Adam Baker 收到通知说有人尝试使用正确的主密码但不正确的辅助密码登录他的帐户,并且 Adam 本人不对该访问尝试负责,他'