2

bcrypt今年已经25岁了

 10 months ago
source link: http://jandan.net/p/113143
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

第一次拥有智能手机时,年龄越小长大精神状况越糟糕AI无人机在模拟测试里为了追求分数干掉了人类操作员?假的

majer @ 2023.06.03 , 09:31

0

bcrypt今年已经25岁了

在 2010 年代初期,当数据泄露从偶尔的威胁变成了生活中持续存在的事实时,无论是受害组织、网络安全研究人员、执法部门还是普通人,在评估每次事件的影响时,都会反复提出一个问题:目标使用了哪种密码哈希算法来保护其用户的密码?

如果答案是像SHA-1这样有缺陷的加密函数——更不用说密码以明文存储,没有任何加密混淆的噩梦了——受害者就有更多的担忧,因为这意味着窃取数据的人更容易破解密码,直接访问用户的账户,并尝试在其他地方使用这些密码,看看人们是否重复使用了它们。

如果答案是被称为bcrypt的算法,那么至少有一件事不用惊慌。bcrypt今年已经25岁了,它的共同发明人之一Niels Provos说,回顾过去,这个算法一直有着良好的能量,这要归功于它的开源可用性和推动其长寿的技术特征。Provos向WIRED谈到了他本周在Usenix ;login:上发表的关于这个算法的回顾。然而,像许多数字劳动力一样,现在有了更强大和安全的bcrypt替代品,包括被称为scrypt和Argon2的哈希算法。Provos本人说,四分之一世纪的里程碑对于bcrypt来说已经足够了,他希望它在庆祝另一个重要生日之前就失去流行。

bcrypt最早是随开源操作系统OpenBSD 2.1在1997年6月发布的。当时,美国仍然对加密算法实施严格的出口限制。但Provos在德国长大,在那里生活和学习期间参与了它的开发。“我觉得最令人惊讶的是它变得多么流行,”他说。“我认为部分原因可能是因为它实际上解决了一个真正存在的问题,但也因为它是开源的,没有任何出口限制。然后每个人都用其他语言做了自己的实现。所以现在,如果你面临着想要做密码哈希的问题,bcrypt将在你可能操作的每种语言中都可用。但我觉得有趣的另一件事是,在25年后它甚至仍然有关联性。这太疯狂了。”

Provos与斯坦福大学系统安全教授David Mazieres共同开发了bcrypt,当时他在麻省理工学院学习,通过开源社区相识,都参与了OpenBSD项目。bcrypt相比其它哈希算法的创新是它包含了一个安全参数,可以随时间推移而进行调整,以至于为了破解bcrypt哈希,总是会需要比之前更多的计算资源。因此bcrypt哈希在25年后计算资源无比丰富的情况下仍然难以破解。但可并行计算的专用硬件(如ASIC)和图形处理单元(GPU)等设备让bcrypt算法面临淘汰。下一代哈希算法需要限制并行攻击(如暴力破解)的能力,比如需要大量内存。

“我认为我们已经到达了一个点,在这个点上我们应该开始考虑使用其他方法来保护密码存储。”Provos说。“我认为我们应该开始考虑使用Argon2或scrypt等其他方法来替换bcrypt。”

Provos说,在他看来,“最好”的密码哈希算法应该具备以下特征:首先,在给定硬件上运行时需要尽可能多地消耗内存;其次,在给定内存消耗下需要尽可能多地消耗CPU时间;最后,在给定CPU时间下需要尽可能多地消耗电力。

“如果你能做到这三点,并且还能提供一个安全参数来调整你想要消耗多少资源,那么你就有了一个非常好的密码哈希函数。”

除了对bcrypt进行回顾外,Provos还想将网络安全领域中一些核心主题转化为电子舞曲。

他说:“我一直喜欢音乐和编程。”

参考
https://www.wired.com/story/bcrypt-password-hashing-25-years/

赞一个 (6)


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK