不如密码管理器好,总比没有好。
安全往往是以便利为代价的,而便利往往是以安全为代价的。浏览器内置的密码管理器主要是为了方便,而安全性的作用较小。做出这个决定的原因是,普通用户更容易被说服使用对他们来说方便的系统,而不是更安全但更难使用的系统。
由于您询问了现实生活场景的优缺点,我将详细说明使用浏览器内置密码管理器与 Keepass 等离线密码管理器相比的优缺点,并且根本不使用密码管理器。
使用浏览器的内置密码管理器:
优点
- 你已经有了。如今,每个人都使用浏览器,并且所有主流浏览器都带有内置的密码管理器。这意味着从普通用户的角度来看,进入门槛非常低。
- 它不鼓励密码重用。人们不喜欢记住密码,因此他们肯定不会记住每个站点一个密码。如果浏览器在注册时自动建议一个强密码,那么用户就不会想重新使用现有的密码。此外,如果哈希值被盗,密码管理器建议的密码可能不会被任何攻击者破解。
- 它同步到我的其他设备。用户可以在他们的计算机上注册服务,然后在手机上使用相同的服务,而不必担心同步密码。这是一个巨大的优势!
缺点
它不能防御本地攻击。可以访问用户计算机的攻击者(想想嫉妒的女朋友,而不是政府机构)可能能够相当容易地获得密码。通过访问浏览器,例如当用户忘记锁定他们的计算机时,可以在几分钟内读出所有密码。
应该注意的是,本地攻击并不是每个用户都关心的事情。例如,我一个人住,在我的威胁模型中并没有真正的本地攻击者。
它增加了攻击面。如果启用了设备之间的同步,那么我所有帐户的安全性都与我的浏览器供应商帐户的安全性相关联。此外,虽然不太可能,但并非不可能,攻击者可以窃取所有用户的加密凭据,然后开始一点一点地破解它们。
由于我的密码有 72 个字符长并且我使用 YubiKey,所以我不太担心有人登录我的 Google 帐户 - 但这可能是您不想启用同步的原因。
供应商锁定。据我所知,浏览器还没有提供某种方式将所有凭据导出为某种统一格式。这意味着,如果您在 Chrome 中保存了 200 个凭据并决定切换到 Firefox……那么,玩得开心。
使用专用的离线密码管理器:
优点
更好地防御本地攻击。由于密码存储在加密文件中,该文件受主密码和可选的密钥文件保护,具有本地访问权限的攻击者可能无法窃取您的密码。在您忘记锁定 PC 的情况下,许多密码管理器都有设置在一段时间不活动后“忘记”密钥。虽然这并不能完全保护您,但它比内置密码管理器要好得多。
更好的可配置性。浏览器的内置密码管理器可能会与密码策略不太理想的网站发生冲突,因此专用密码管理器可以根据指定的规则集生成密码。
在浏览器之外工作。有时,我需要生成密码以通过其他方式发送,例如短信,或者在 VM 中使用它们。在这种情况下,浏览器的内置密码管理器无法解决问题。
缺点
进入门槛更高。没有安全背景的用户不太可能寻找密码管理器,如果他们这样做了,他们可能会被不同的产品吓倒,例如在线密码管理器、离线密码管理器等。此外,大多数离线密码管理器有很多非常方便的功能,这可能会让“只想使用互联网”的人感到困惑。
设备之间不同步。由于我的密码只是一个文件,它不会在我的设备之间自动同步。如果我有一台台式电脑、一台笔记本电脑和一部智能手机,那么我要么在它们之间手动同步我的密码数据库,要么我使用一些第三方服务来为我做这件事(如 Dropbox、Google Drive 等)
不使用密码管理器:
优点
- 到处工作。很多时候,我需要输入某种形式的身份验证,而我根本无法使用密码管理器,例如我的 BitLocker 密码或我的 Windows 域密码。在这种情况下,记住一个强密码是我唯一的选择。
缺点
鼓励使用弱密码。我不会记住像 一样的密码_B+5ZzRk!4vd2+5Q?qw$=9V
,这是事实。我可能记得一个很长的密码,例如Two Blue Bunnies jump over the Square Tree and Explode.
,但每次我想登录时都要输入很多密码。因此,大多数用户会倾向于使用他们认为“足够好”的最短密码,通常就像BostonNovember2020
.
鼓励密码重用。“我已经想到了密码或密码,现在你要我记住第二个?甚至第三个!?你的意思是我需要为我使用的每项服务记住一个新的密码?!” - 这就是人们重复使用密码的原因。
判决
专用密码管理器是一个很好的高安全性选项,它提供了大量的可配置性。但是,由于许多针对专家的工具,对于初学者来说可能很难使用。
内置密码管理器为非技术人员提供了一个很好的中间地带,提高了他们对可能威胁的安全性,同时降低了他们对不太可能的威胁的安全性。
根本不使用密码管理器应该只在没有密码管理器可用的情况下使用。
附录 A:本地攻击者如何真正获取密码?
基于浏览器的密码管理器的缺点之一是它们不能防止本地攻击。出于演示目的,我将解释一种可能的本地攻击:
让我们假设 Bob 将他所有的密码都存储在 Chrome 中。鲍勃离开家去买杂货,却忘了锁他的电脑。鲍勃嫉妒的女友夏娃怀疑鲍勃可能对她不忠,并希望查看他的各种在线帐户,看看他是否一直在和其他女人调情。她有大约 30 分钟的时间直接访问他的浏览器。
Eve 做的第一件事是打开 Chrome 的内部密码页面。这可以通过设置菜单或直接调用 URL 来完成chrome://settings/passwords
。在这个列表中,Eve 可以看到保存了密码的所有页面,以及相应的用户名。仅此一项就可能泄露敏感信息。在此页面上,Eve 可以单击“显示密码”按钮,但这会提示她输入 Bob 的操作系统密码,而她没有该密码。
但是,她仍然可以手动恢复任意站点的密码。例如,她最关心的网站bookofface.es
和bird.app
. 她可以手动导航到这些站点,在那里她会看到一个登录表单。浏览器会自动将 Bob 的凭据输入到登录表单中,但由于type="password"
输入字段的属性,密码被空白。通过打开开发者控制台并删除该属性,密码会以明文形式显示。
虽然此过程不如“复制所有密码”脚本快,但它仍然可以在合理的时间内完成。根据攻击者的目标,某些站点可能比其他站点更相关。因此,虽然 Bob 可能为数百个站点保存了密码,但 Eve 可能只对几个站点感兴趣。