2014-10-20 116 views
-2

安全办公室已更改安全密码的要求。我需要弄清楚如何做到这一点。必须防止新密码包含来自先前密码的三(3)个或更多字符的序列。我将所有以前的密码存储在一个表中。我们使用MS SQL Server。在此之后,我还需要加密密码。如何确保新密码不包含以前密码中的3个或更多字符?

+6

将普通密码存储在表中远非安全。 – 2014-10-20 13:34:56

+0

你在使用什么数据库 – 2014-10-20 13:35:34

+1

记住:在表格中存储密码(甚至以前的密码)是EVIL!这是你的安全团队应该解决的第一件事! – 2014-10-20 13:37:00

回答

1

如果安全办公室想要提高安全性,他们应该切换到带有成本因子的慢哈希算法,如BCrypt或PBKDF2。这比找到复杂的密码规则要好得多。

适当的散列算法将不允许对原始密码作出结论,因此您不能分辨使用的是相同的字符。如果您的应用程序能够找到相似之处,那么攻击者也可以做到这一点。所以找到相似之处的唯一可能性是,在更改密码时要求输入旧密码(这是一件好事)。

虽然复杂的密码规则通常不会导致更安全的密码。人们无法记住大量强密码,这些规则可能会干扰良好的密码方案。人们可以非常有创意地绕过这些规则,例如通过更改密码两次,或使用弱密码(如“密码-2014”)执行复杂规则或强制更改密码。通常你会用较弱的密码而不是较强的密码。