我刚刚阅读了一些关于 Chrome 密码安全策略的非常有趣的讨论。
以下是 Chrome、Firefox 和 Safari 如何处理存储密码和显示存储的密码:
Chrome 使用 OSX 钥匙串以加密形式存储密码。在 Chrome 中,您可以进入密码设置页面,一键查看您的密码。
Firefox 不使用 OSX 钥匙串以加密形式存储密码。在 Firefox 中,您可以选择使用主密码(默认情况下未启用)。在每次新会话开始时以及每次要查看存储的密码时都键入主密码。
Safari 还使用 OSX 钥匙串以加密形式存储密码。但是,在 Safari 中,当您想要查看密码时,您需要输入 KeychainLogin 密码。(这是一种“假”措施,因为 Keychain 实际上并不要求经过身份验证的应用程序输入 KeychainLogin 密码来检索它们存储的密码。当 Safari 在不需要 KeychainLogin 密码的情况下在网站登录提示上检索密码时可以看到这一点.)
鉴于 Safari 和 Chrome 的新会话以及不知道 KeychainLogin 密码的恶意用户。实际上,Safari 并不比 Chrome 安全,因为用户可以使用检查元素工具将密码字段的类型更改为文本并查看密码。
我的问题是:
1) 给定一个不知道 Firefox 主密码的攻击者和一个新的 Firefox 会话(尚未要求输入主密码),查看存储的密码有多容易/难?
2)如果firefox主密码与操作系统用户帐户密码不同,知道用户帐户密码会改变什么吗?
我之所以这么问,是因为在上述讨论之一中,Chrome 的安全技术负责人说:
我是 Chrome 浏览器安全技术负责人,所以如果我在这里解释我们的推理可能会有所帮助。密码存储的唯一强权限边界是操作系统用户帐户。因此,Chrome 会使用系统提供的任何加密存储来确保您的密码对于锁定帐户的安全。然而,除此之外,我们发现操作系统用户帐户内的边界并不可靠,而且大多只是剧院。
考虑有人恶意访问您的帐户的情况。说坏人可以转储你所有的会话cookie,获取你的历史记录,安装恶意扩展来拦截你的所有浏览活动,或者安装操作系统用户帐户级别的监控软件。我的观点是,一旦坏人访问了您的帐户,游戏就失败了,因为有太多的向量让他无法获得他想要的东西。
我们也被反复询问为什么我们不只支持主密码或类似的东西,即使我们不相信它有效。我们一遍又一遍地争论,但我们总是得出的结论是,我们不想给用户提供虚假的安全感,并鼓励冒险行为。我们想非常清楚,当您授予某人访问您的操作系统用户帐户的权限时,他们可以得到一切。因为实际上,这就是他们得到的。