9年来,火狐浏览器均未能保护主密码的安全

但 AdBlock Plus 扩展的作者 Wladimir Palant 表示,主密码功能使用的加密机制安全性薄弱,可轻易遭暴力破解。

主密码加密使用迭代次数少的 SHA1加密算法

Palant 表示,“通过查看源代码,我终于找到了将网站密码转换为加密密钥的 sftkdb_passwordToKey() 函数。转换方法是将 SHA-1 哈希应用于由随机盐和用户实际主密码构成的一个字符串。曾经设置过网站登录功能的任何人都能看出这里的危险性。”

Palant 所说的危险是指,这个 SHA-1 函数的迭代次数为1,也就是说它仅应用了一次,而行业实践对这个值的最低限是1万次,而如 LastPass 密码管理器等应用的迭代次数为10万次。

这种低下的迭代次数导致攻击者非常容易暴力破解主密码,随后解密存储在火狐或雷鸟数据库中的加密密码。

Palant 指出,GPU 卡技术的发展能够让攻击者在不到1分钟的时间里就能暴力破解简化的主密码。

Mozilla 早在9年前就获知该问题

但是 Palant 并非首个注意到此问题的人。Justin Dolske 就曾在9年前通过 Mozilla 的漏洞追踪系统报告了同样的问题,也就是在这个主密码功能刚上线不久后。

Dolske 也同样提到了主密码迭代次数仅为1的这个主要问题,但尽管收到了这份报告,Mozilla 这么多年来均未采取任何官方措施。

也就是当 Palant 在上周重提这个问题后,Mozilla 才终于提供了一则官方回复,表示将在火狐浏览器以扩展的形式推出新的密码管理器组件 Lockbox 中解决这个问题。

使用主密码要比不用强得多。就目前情况来看,选择长且复杂的主密码能缓解这个功能的内在薄弱加密计划。用户可使用第三方密码管理器应用确保他人无法接触到自己的 web 密码。

Palant 表示,最佳方案是 Mozilla 工程师使用 Argon2 库而非 SHA1 作为密码哈希。