【问题标题】:Prevent users from reusing compromised password防止用户重复使用泄露的密码
【发布时间】:2014-09-01 08:46:12
【问题描述】:

假设您存储散列和加盐密码,例如与 Bcrypt。有一天,您得知用户 Bob 的密码已被泄露。您将他的密码设置为一个强随机字符串,并通知他必须重置他的密码。到目前为止一切顺利。

但是 Bob 经历了密码重置过程并输入了相同的泄露密码。现在,他的帐户再次受到攻击者的摆布。

可以阻止 Bob 再次使用相同的密码吗?如果没有盐,那将是直截了当的。您可以记录旧的、泄露的哈希值,并将其与 Bob 尝试输入的新密码的哈希值进行比较。但是用盐,这似乎不可行。

这是一个无法解决的问题吗?

编辑:我想我是傻了。我不知道为什么我认为这与登录时检查密码有什么不同。正如 martinstoeckli 所说,只要您还有旧的哈希和盐,您就可以随时将用户的输入与它进行比较。

【问题讨论】:

  • 您可以存储一些以前使用过的密码哈希值,并根据这些哈希值检查他们的新密码。

标签: passwords


【解决方案1】:

只需保留旧的泄露密码哈希,并执行与验证登录密码时相同的步骤。这也适用于加盐密码哈希,情况与登录验证没有什么不同。

【讨论】:

    猜你喜欢
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 2018-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-06
    • 2021-09-29
    相关资源
    最近更新 更多