2015-02-09 165 views
-1

与使用盐相比,在将密码存储到数据库中时,保护密码不会更安全。 注意:不关注性能,只关注安全性。哪一个会更安全。 另外,将密钥存储在另一个数据库服务器中,加密显然是不是更好。为什么在存储密码时使用盐而不是AES

+0

您正在使用哪种RDBMS? – 2015-02-09 14:04:55

+0

我正在使用的RDBMS是MySQL。 – Ramonster 2015-02-09 14:14:58

+1

然后,请删除sql-server标记 – 2015-02-09 14:18:27

回答

5

否。如果您使用密钥加密密码,并且攻击者窃取加密密码表和密钥表,他可以发现所有用户的密码并使用它们登录到您的系统(以及所有用户选择相同密码的其他系统)。这不安全。

如果您正确地“散列”密码,则没有密钥或快捷方式允许攻击者从身份验证表中恢复密码。哈希函数不能像密码那样反转。

+0

此外,您为什么不能访问用户的密码有严重的法律问题。看到我的答案[这里](http://stackoverflow.com/questions/2283937/how-should-i-ethically-approach-user-password-storage-for-later-plaintext-retrie/2287672#2287672)。 – EJP 2015-02-11 01:10:11

+0

但如果密码不好,我不只是在谈论'password123',但即使是'qeadzcwrsfxv1331'这样的密码也不是很好。腌制对彩虹桌有帮助,但蛮力不需要彩虹桌即使有更强的哈希, SHA2依然脆弱,因为它们是单向的。另外,盐通常以明文形式存在。 取而代之,使用适当的随机和长盐,然后使用AES对盐进行加密。但是,麻烦仍然是保持密钥的秘密,但它仍然比只使用非随机盐更好,就像大多数盐一样。 – Ramonster 2015-02-11 14:14:42

+0

这里有几个链接来看看。 http://arstechnica.com/security/2013/05/how-crackers-make-minced-meat-out-of-your-passwords/ http://arstechnica.com/security/2012/12/ 25-gpu-cluster-cracks-every-standard-windows-password-in-6-hours/ – Ramonster 2015-02-11 14:16:08

相关问题