Chrome 存储密码的安全性如何?

信息安全 加密 密码 铬合金
2021-08-21 00:22:30

每当我登录一个新站点时,Chrome 都会询问我是否应该存储登录详细信息。我曾经认为这是相当安全的。如果有人发现我的电脑未锁定,他们可以使用存储的详细信息通过某些网站的登录屏幕,但如果在结账时再次要求输入密码,或者如果他们想从另一台设备登录服务,他们就会退出运气。

至少,当我相信浏览器不存储密码本身,而是对密码进行哈希或加密时,我是这么想的。我注意到浏览器填写了用户名和密码字段,密码字段表示密码中的字符数。

我是那些在被要求更改密码时只保留相同密码但最后更改数字的人之一。我知道这很糟糕,但是由于我被要求更改密码的频率,我真的不记得我期望的密码数量。这会导致很多密码相同,但有时我会忘记特定登录所需的结束号码。

我不记得某个登录的结束号码,所以我去了一个存储密码的网站。我删除了最后几个字符并尝试了不同的数字和中提琴,知道正确的结尾数字是什么。

在我看来,这是一个基本的安全漏洞。如果我可以检查密码的最后一个字符而不检查任何其他字符,那么破解密码所需的尝试次数会随着字符数而不是指数线性增长。从那里说如果有人在我的电脑被解锁时来到我的电脑似乎是一小步,一个简单的脚本可以提取我存储密码的所有主要网站的所有存储密码。

不是这样吗?是否有其他安全层可以防止这种情况发生?

4个回答

Chrome 不仅会存储您的密码文本,还会向您显示。在设置 -> 高级 -> 管理密码下,您可以找到所有网站的所有密码。单击其中任何一个上的显示,它将以清晰的形式显示。

散列密码适用于对您进行身份验证的网站。它们不是密码管理器的选择。许多人会在本地加密数据,但除非您设置了主密码,否则密钥也将存储在本地。

就个人而言,我使用 chrome 密码管理器,我觉得它很方便。但是,我也有全盘加密并努力锁定我的屏幕。这使得风险合理恕我直言。

通过选择难忘的密码和使用密码管理器,您似乎不一致(很多都是)。我可能会冒昧地猜测您甚至可能会在许多网站上重复密码或至少是主题。这给了你两全其美。您将获得密码管理器的风险而没有好处。

使用您信任的密码管理器,您可以为每个站点提供一个完全不会令人难忘的唯一随机密码,并从许多非常真实的攻击媒介中获得大量保护。以换取密码管理器的单点故障。即使密码管理器不够完美,这也不是不合理的权衡。有了一个好的密码管理器,这正在成为共识的最佳实践。

编辑添加:请阅读Henno Brandsma的 回答,解释如何使用登录密码和操作系统支持来加密密码,这在计算机关闭/锁定时为您的密码提供了合理的保护级别(全盘加密更好)并且不会如果您让计算机处于解锁状态,则无济于事。即使浏览器需要密码才能显示纯文本调试工具仍然会让您看到已填写的密码作为@Darren_H 注释。之前的建议仍然使用随机唯一密码和密码管理器。

Chrome(在 Windows 下)实际上在存储时会加密密码。但这样做的方式是只有知道您的登录密码(或劫持您的登录会话)的人才能实际使用或查看存储的密码。这是有据可查的(它使用所谓的数据保护 API (DPAPI),它在 Windows NT 5.0(即 Windows 2000)以后的版本中,现在使用 AES-256 来加密密码数据)。Google 认为这是足够的安全性,因为它具有与您的整个登录相同的保护级别。在 Mac 或 Linux 上,他们使用本机钥匙串技术来保护特殊的 Chrome 主密码,基本上达到了相同的效果。阅读所有细节的来源......

Edge 和 IE(当然仅在 Windows 上可用)也使用这项技术,顺便说一句,在称为 Credential Store 的包装下,在最近的 Windows 版本中(在此之前,它们使用存储在注册表中的 DPAPI 数据)。有关 DPAPI 的更多信息,请参见此处,例如

有关人们如何在知道您的登录凭据的情况下提取存储的密码数据的示例,请参见https://github.com/byt3bl33d3r/chrome-decrypter 。

最近在 Windows 上,系统更改为更像 MacOS 的系统:一个 256 位主密钥(在应用程序目录中名为Local State的单独文件中,base64 编码并以 JSON 表示)再次作为 DPAPI 机密和每个密码项存储然后是同一目录中 sqlite 数据库中的十六进制编码、AES-GCM 加密条目(都在该主密钥下,但每个都有自己的 12 字节随机数和一个 16 字节标签以保护完整性)。所以它最终仍然取决于用户密码凭据。一旦知道用户密码(或者更确切地说是它的 SHA1 哈希),所有条目都是可解密的。如前所述,这是设计使然。正如这篇博文所述,即使是 Microsoft 的 Edge(Chromium 版)现在也使用这个系统

请,请,请停止重复使用您的密码!

在 Firefox 中,您实际上可以设置一个主密码,以保护您存储的密码不被查看。在浏览器开始为您填写密码之前,每个会话也需要此主密码一次。

您还可以使用通用密码管理器,例如Keepass

无论如何,对于大多数人来说,因为一个站点被黑客入侵而丢失密码的危险比在他们自己的计算机上丢失密码更大。那是因为有权访问您的计算机的攻击者有许多其他选项可以攻击您。使用密码管理器的主要好处之一是您不必再手动输入密码,因此您实际上可以选择完全随机且安全的密码。

如果您已经重用密码一段时间了,有一个简洁的网站可以检查一些更突出的违规行为,看看您是否受到了影响:https ://haveibeenpwned.com/

如果您必须使用许多不同的机器,您可以考虑在手机上使用Keepass2Android 之类的东西。

您还可以通过更改 HTML 在 Chrome 中查看密码。将输入字段的类型从 更改type="password"type="text",您可以以纯文本形式看到预填充的信息。因此,如果您计算机上的某个人知道您注册的网站,并且 Chrome 会自动填充您的密码,他们就可以看到它。