SHA-256适合密码加密?

时间:2014-01-08 23:53:45

标签: encryption cryptography sha256

我正在我的服务器上实现用户配置文件(注册),我必须存储用户帐户和密码。我正在尝试将加密的密码存储为安全措施,有人建议我使用SHA-256。

在加密方面,我有点像初学者,但在黑客访问我的数据库并窃取大量加密密码的情况下,SHA-256加密是否容易受到已知明文攻击?例如,如果他们知道什么是“密码”,那么他们只需要进行简单的字符串匹配即可知道哪些帐户使用该特定密码。

1 个答案:

答案 0 :(得分:2)

  

SHA-256适合密码加密吗?

本身,没有。当用作带有附加控件的基元时,是的。

  

SHA-256加密容易受到已知明文攻击?例如,如果他们知道什么是“密码”,那么他们只需要进行简单的字符串匹配即可知道哪些帐户使用该特定密码。

这是一个不同的安全属性:)它称为PRP概念的安全性和哈希缺乏它。 Dan Bohen在PRPs and PRFs有一个很好的幻灯片。

散列是PRF(伪随机函数)。使用哈希时,攻击者可以区分oracle的实际输出和随机输出(如您所见)。

HMAC也是PRF(伪随机函数),它具有PRP安全性的概念,因为攻击者在查询同一个oracle时无法区分真实答案和随机答案。 HMAC的关键是确保它。

所以,你的第一个任务是使用基于SHA-256的HMAC,而不是直接使用SHA-256:)

请参阅约翰史蒂文为OWASP写的Secure Password Storage Cheat SheetSecure Password Storage paper。它将引导您完成整个威胁模型,并解释为什么事情以特定方式完成。