如果我的服务器被黑客攻击并且黑客查看我的哈希密码并且可以看到我正在使用的盐,该怎么办。
是否需要担心?
答案 0 :(得分:2)
这不应该是一个问题。使用salt值的想法是它可以防止彩虹攻击(使用预先计算的值)。因此,了解盐值不会出现问题。
答案 1 :(得分:1)
是的。现在,黑客可以对它们进行暴力破解(如果他知道你实际上是如何腌制密码的话)。
无需担心 - 因为您使用的是盐渍密码,因此无法应用更智能的攻击(除了暴力之外)。
答案 2 :(得分:1)
如果黑客已经进入你的系统并且可以访问数据库,那么就用户的私密性而言,它的“游戏结束”!黑客拥有他想要的一切,除了用户密码,这些密码除了用来欺骗用户访问权限之外还没有提供任何其他密码 - >他可以通过将自己的哈希和盐放入数据库中来做到这一点!
所以,在这种情况下,MD5加盐是“足够好”的安全性。
答案 3 :(得分:0)
要查看盐,他必须拥有源代码,当他拥有源代码时,至少有一些事情需要担心 - 他将看到负责创建密码的机制以及对它们进行腌制的方法。
答案 4 :(得分:0)
是。他仍然需要扭转哈希,这无论如何都不容易,但现在他知道明文的关键部分。盐加字典攻击比窥探电线(不知道盐)更有可能成功
答案 5 :(得分:0)
基本上,盐只会使密码更强。如果密码存储在密码中,它将无法帮助解密个人密码,并且可以进行强力攻击,只要在他解码的任何密码中最终都是相同的,就可以找出盐。
http://pbeblog.wordpress.com/2008/02/12/secure-hashes-in-php-using-salt/
这篇文章有一个很好的解释......所以是的,如果黑客能看到你的源代码,你应该担心,但单独的盐并不是什么大问题。
答案 6 :(得分:0)
如果你只为所有密码使用一个盐,黑客可以预先计算一个盐渍彩虹表,这样他就可以很快地访问所有密码。
你可以为每个密码使用一个随机盐,这意味着黑客必须为每一个盐计算这样一个彩虹表,实际上是强制每一个密码,这会大大减慢他的速度。
你可以通过使用故意缓慢的哈希来进一步降低他的速度,这将使暴力减速到可能变得不可行的程度。 MD5是最糟糕的选择,因为它非常快(并且在启动时损坏)。 SHA系列也设计得很快,但是更好的选择。 Bcrypt或一般来说*鱼类家庭是体面的,但系统和语言之间的支持各不相同。小心使用* fish的 hash 变体,因为它们也用于加密(可以反转)。
答案 7 :(得分:0)
我不是这个主题的专家,但这是我的理解:
鉴于盐,攻击者可以构建所谓的“彩虹表”,这基本上与散列函数相反。使用此表,他们可以在表中查找加密值并返回输入密码hash(password + salt) = encrypted value
。
然而,虽然查找速度很快,但彩虹表的构建非常耗时。您可以做的一件简单的事情是在每个帐户的基础上随机生成一个salt值,并将其与加密密码一起存储。这样,如果攻击者想要输出密码,他们就必须为每个用户构建一个彩虹表,而不是在站点范围内构建一个。
(盐仍然比没有好,因为攻击者必须至少生成自己的彩虹表,而不是只下载一个库存)。