容易发生更多冲突的密码哈希能否提供更好的整体安全性?

信息安全 密码 哈希 蛮力
2021-09-10 18:07:28

网站安全漏洞似乎很常见,给攻击者密码哈希值,他可以对其进行暴力攻击,通常给他一个密码列表,这些密码可以在其他网站上使用,因为用户通常会重复使用密码。

它会通过使散列算法稍微弱一些并且更容易发生冲突来提高整体安全性,因此即使攻击者确实暴力破解了在被黑站点上有效的密码,它也不太可能在任何其他站点上有效?

因此,例如,如果某个哈希算法发生冲突的可能性是其他哈希算法的 1000 倍,这会使攻击者在该站点上的工作容易 1000 倍,但他暴力破解的任何密码只有千分之一的机会在另一个网站上工作。他可以继续暴力破解并想出与哈希冲突的所有 1000 个密码,但如果他试图循环访问其他站点上的所有 1000 个密码,希望该站点会在他获得所有密码之前将他关闭。

这会通过降低黑客利用与其他站点共享的密码的能力来提高整体安全性,还是会通过故意使暴力破解单个站点的密码更容易来削弱安全性?

1个回答

“1000”因素抵消了。通过使冲突更可能发生,使每个密码平均有 999 个兄弟密码,这些密码同样授予对站点 A 的访问权限,您可以使进入站点 A 变得容易 1000 倍。由于有大量可能的密码选择,“easy-site-A”密码对站点 B(用户重复使用他的密码)有好处的概率只有 1/1000,但是额外的 1000 难度系数超过了进入站点 A —— 刚刚简化了 1000 倍。因此,进入站点 B 并没有变得更加困难。

另一种看待它的方式是想象攻击者试图攻击站点 B。然后他自己创建站点 A - 具有非常适合冲突的哈希函数,以便每个可能的密码都授予对 A 的访问权限:有一个哈希函数就足够了它总是返回相同的值。攻击者当然可以实现一个没有访问限制的站点,即那种“站点A”。这对进入B站的难度有什么改变吗?由于攻击者可以独立于站点 B 及其用户从头开始构建它,因此它不能。

在您设想的情况下,您可以将站点 A 想象成站点 B 的过滤器。当然,站点 A 不会告诉您哪个密码是站点 B 的正确密码。但它会将候选人名单减少到 1000 人(几十亿)。这只能帮助攻击站点B,肯定不会保护站点B。