公司可以判断新密码和旧密码是否过于相似。有安全问题吗?

信息安全 密码
2021-08-26 12:19:55
  • 我曾与德国一家大型国际公司的员工交谈过。

  • 他说,如果员工的新密码与旧密码过于相似,员工会收到警告。(例如,如果他们将密码从 更改ThePassword12345ThePassword12344.

  • 使用散列函数的目的是无法区分密码和随机字符串。

  • 由于他们可以判断差异是否太小,因此他们必须以明文形式保存至少一个密码。

  • 该员工说他们使用 Windows/SAP 系统(并且警告出现在所有系统上)

因此,我的问题是我的分析是否正确或我的错误在哪里。由于他们还雇用了很多计算机科学人员,我猜错误取决于我,而不是他们。

2个回答

通常,当用户在系统上更改密码时,他们也需要输入旧密码以及新密码。

现在,这old password是散列并与机器中存储的散列进行检查(密码不以明文形式存储)。如果哈希匹配,则系统继续比较old passwordnew password如果发现 2 个密码太相似,则抛出错误,通知用户相同。

如果密码根据系统逻辑足够不同,则对新密码进行哈希处理,并将该新哈希值存储在系统中,从而成功更改用户密码。

如果用户不需要输入他们的旧密码,我建议您最好咨询您的 IT 支持团队,并向系统所有者提出问题......

更新:正如评论中所指出的,还有另一种方法可以解决此问题,而无需询问用户的旧密码。当用户输入新密码时,系统会生成输入的新密码的变体,对它们中的每一个进行哈希处理,并将每个哈希值与旧密码的哈希值进行比较。如果任何哈希匹配,则会引发错误。否则,它成功地更改了密码。

这是一个共同的要求。理由是您必须定期更改您的密码,以防它在您没有注意到的情况下被泄露(有人看着您的肩膀等)。

如果新密码与旧密码过于相似,攻击者可以首先尝试对旧密码进行轻微修改(我假设他能够事先窃取它)。在您的示例中,您只更改最后一个数字字符:最多 10 次尝试。

但这通常不会通过以明文形式存储旧密码来实现!现在大家都知道不好了只需更改密码表格就需要旧密码和新密码(重复两次)。那样:

  • 旧密码受到控制,以确保您没有离开工作站仍然连接并且有人在欺骗您
  • 新密码可以和旧密码比对,如果太相似会被拒绝
  • 输入两次新密码以限制输入错误的风险

并且只存储密码的哈希值......