怀疑数据库中的密码安全性

时间:2013-04-01 11:50:51

标签: database security passwords

我读过这篇文章:http://crackstation.net/hashing-security.htm

并且在哈希密码的部分中,它表示最好在服务器中散列密码,因为如果有人窃取哈希数据库,则可以访问用户帐户而无需密码。

但如果有人可以偷走哈希数据库,他可以访问整个数据库,是否正确?如果这是正确的,他可以访问所有数据,不仅仅是用户信息。那他为什么只想要部分信息?

1 个答案:

答案 0 :(得分:2)

攻击者通常会尝试窃取数据库以便能够访问应用程序。 当然,如果数据库包含敏感信息(如信用卡号),如果他偷走了数据库,他就不需要访问该应用程序。 (PCI DSS标准解释了如何存储信用卡信息)

如果他找到了纯文本密码 - 他将能够毫无问题地访问应用程序。 但是,如果数据库包含散列值,则攻击者需要找到与散列值对应的纯文本值。 如果您使用弱哈希算法(如MD5或SHA1),攻击者可以更轻松地对纯文本值进行细化。

为了更好的保护,建议使用强哈希算法,如SHA128或SHA 256。 此外,强烈建议为每个用户使用不同的盐值。 (提示:将值存储在未调用salt的列中,例如userhint)

一般评论:在安全方面,您应该尽可能地保护。 您可以保护您的应用程序免受SQL注入,以防止窃取数据库https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet 如果数据库被盗,您可以散列/加密敏感:数据https://www.owasp.org/index.php/Top_10_2013-A6-Sensitive_Data_Exposure