请阅读更新,因为我的实际混淆"在那里。
自从Joomla以来,它一直很安静!开始支持bcrypt
散列算法,以及自Joomla以来一直是事实的md5 + salt
! 1.5。
现在我的问题是"作为最终用户,如果我立即开始使用Bcrypt
,我将获得哪些好处,与当前算法相比较。 MD5 + salt
?对于每天有几百名访问者的普通博客,它是否会产生任何影响?"
更新: -
此外,我在某处读到由于md5
散列的速度,我的密码可以在几天内/几个月内轻松计算。
但是这不需要我的哈希已经与攻击者进行比较吗? 如果他/她首先没有哈希,那么我使用的哈希算法如何影响我的网站安全性呢?最终他最终还是不得不向我的登录页面强行使用?
如果它被强制通过,那么Bcrypt
是否同样容易受到密码猜测的攻击?
注意:为什么是downvotes,这是最终用户的逻辑问题。 :(
答案 0 :(得分:5)
据我了解,Bcrypt更安全。它变得更慢,这使得攻击者更难以强制密码。它可以被配置为越来越多地迭代,这是有用的,因为CPU变得越来越强大。
这是具有可配置缓慢性的要点:您可以根据需要使功能变慢。或者,更准确地说,你可以忍受的速度慢:事实上,对于每个人,攻击者和防守者来说,缓慢的功能都很慢。
这些链接可能会有所帮助:
https://www.bentasker.co.uk/blog/security/201-why-you-should-be-asking-how-your-passwords-are-stored
What's the difference between bcrypt and hashing multiple times?
https://www.quora.com/What-is-the-difference-between-bcrypt-and-general-hashing-functions-like-MD5
答案 1 :(得分:3)
但是这不需要我的哈希已经与攻击者进行比较吗?如果他/她首先没有哈希,那么我使用的哈希算法如何影响我的网站安全性呢?最终他最终还是不得不向我的登录页面强行使用?
首先,没有。许多站点允许没有速率限制的登录尝试。使用MD5,假设服务器可以处理它,用户可以通过快速连续尝试大量密码来快速尝试强制密码。 bcrypt的缓慢保证这样的尝试会慢很多。
其次,计算中的一个关键安全概念是defense in depth。您不希望只有一个级别的安全性 - 很容易意外地编写可能让攻击者转储密码哈希值的SQL注入漏洞。通过使用bcrypt,您限制此类漏洞可能导致的损害。
答案 2 :(得分:1)
除“盐”外,BCrypt还接受“ cost ”自变量-这是它的主要功能。成本是您要应用于哈希的计算工作量。可以将其视为将结果重新哈希2 ^ n次,其中 n 是代价。
散列的字符串将类似于cost;hashed_string
(例如20;5D4140
)。当然,这不是真正的格式,而是过分简化以显示该想法。
此“成本”概念使BCrypt具有“抗老化性”。如果在10年内计算能力增加了1000倍,您只需要使用更高的“ n” 来重新哈希散列(无需使用原始值来增加成本)。