我依靠 Firefox 来记住我的密码,使用超过 25 个字符的主密码。这种设置有多安全?
使用主密码在 Firefox 中我的密码有多安全?
简而言之 - Firefox 在 CBC 模式下使用三重 DES 和主密码。
更多细节:关于这个主题的好文章在这里:http ://luxsci.com/blog/master-password-encryption-in-firefox-and-thunderbird.html 如果你想要更多细节,这里是 mozillaZine 文章:http ://kb.mozillazine.org/Master_password。本文为您提供了主要浏览器之间的详细比较。
相信以这种方式存储密码是安全的,但是,我不信任任何软件。也许这听起来太偏执了,但我们永远无法知道漏洞隐藏在哪里。
为了回答“我的密码在 Firefox 手中有多安全使用 Master Password插件...”那么我同意答案可能无关紧要。如果使用不易受到击键记录影响的单击界面,那么即使在浏览器中使用击键记录器,密码仍然是安全的。如果有“man-in-the-browser”,可以拦截物理输入密码,如果 Mozilla 模拟按键,那么这些也会被拦截。如果 Firefox 使用更直接的内存访问,我仍然不会感到惊讶。被截获。
“浏览器中的人”不是机器级别的 rootkit,而是在应用程序级别。最常见的是恶意 AJAX,它可以轻松侦听每次击键——即 AJAX 101。或者可能是远程注入浏览器或插件的恶意二进制代码。
要缓解“浏览器中的人”,请使用多个不同的 Firefox 配置文件,这些配置文件分别用于银行、电子邮件帐户、ClipperZ 等,或者仅使用 Qubes-OS。
如果存在“机器中的人”或系统级别的 rootkit,那么无论它们存储在 KeePassX、ClipperZ 还是 Firefox 中,您的所有密码都归您所有。
Firefox 使用了一种相当弱的散列方法:只有一次 SHA-1 迭代。您可以使用更安全的密码来弥补这一点,但它的安全性不如 LastPass 之类的东西。
Wladimir Palant(Adblock Plus 的创建者)在 2018 年 3 月写了一篇关于此的帖子:
众所周知,将密码存储在那里而不定义主密码等同于将它们存储为纯文本。虽然它们仍将在 logins.json 文件中加密,但加密密钥存储在 key3.db 文件中,没有任何保护。
当我查看源代码时,我最终发现了 sftkdb_passwordToKey() 函数,它通过将 SHA-1 哈希应用于由随机盐和您的实际主密码组成的字符串,将密码转换为加密密钥。任何曾经在网站上设计过登录功能的人都可能会在这里看到危险信号。这篇文章总结的很好:
在大约 3.2 亿个哈希中,我们能够恢复除 116 个之外的所有 SHA-1 哈希,成功率约为 99.9999%。
这里的问题是:GPU 非常擅长计算 SHA-1 哈希。从这篇文章的数字来看,单个 Nvidia GTX 1080 显卡每秒可以计算 85 亿次 SHA-1 哈希。这意味着每秒测试 85 亿次密码猜测。人类在选择强密码方面非常糟糕。本文估计平均密码只有 40 位强,并且该估计值已经高于其他一些估计值。为了猜出 40 位密码,您平均需要测试 239 次猜测。如果您进行数学计算,那么破解密码平均只需一分钟。当然,您可以选择更强的密码。但是要找到一个您仍然记得的强得多的密码将非常困难。
有一个十年前的错误,截至 2019 年 8 月仍然开放。
Firefox 同步存储您的密码并将它们传输到其他同步的计算机,但不会使用您的主密码保护它们。
因此,如果攻击者可以打开您的浏览器并激活同步,然后与他们浏览器上的配置文件同步,您的密码将被同步!