密码管理器综述

作者: Shawn Powers

如果您能记住所有的密码,那它们就不是好密码。

我过去常常教人们如何创建“好”密码。这些密码需要足够长、难以猜测且容易记住。有很多技巧可以让您的密码更好,并且多年来,这已经足够了。

现在这已经不够了。

似乎几乎每天都会发生另一起数据泄露事件,数百万用户的敏感信息被泄露,这意味着您需要为您使用的每个站点和服务设置单独的安全密码。如果您在任何两个站点上使用相同的密码,那么一旦任何一个数据库被泄露,您就会变得脆弱。

关于保护数据的最佳方式,还有更广泛的讨论。 “密码”是否已经过时?我们现在是否应该有更好的方法?诚然,双因素身份验证是一种极好的方式,可以帮助提高帐户的安全性。但是,尽管密码仍然是保护帐户和数据的主要方法,但需要有更好的方法来处理它们——这就是密码管理器发挥作用的地方。

最佳密码管理器

不,我没有通过跳过所有评论来埋没重点。正如 Doc Searls、Katherine Druckman 和我在《Linux Journal》播客第 8 集中讨论的那样,最好的密码管理器是您使用的那个。 这句话听起来可能很俗气,但这是一个强有力的真理。 如果使用密码管理器比在多个站点上重复使用同一组密码更复杂,那么很多人会选择简单的方式。

当然,有些人足够Geek,不惜一切代价使用密码管理器。他们了解隐私的价值,了解安全性,并且非常重视自己的数据。但是对于绝大多数人来说,阻力最小的路径才是他们会选择的。 哎,在很多情况下我自己也犯了这个错误。我有一台 Keurig 咖啡机,不是因为咖啡更好喝,而是因为它更方便。 如果您曾经吃过 Hot Pocket 而不是烹饪健康的膳食,您就可以理解导致人们做出糟糕密码选择的心态。 如果目标是拥有智能密码,那么使用智能密码需要比到处输入“password123”更容易。

现在可能有效的原因

移动设备已成为大多数人在线完成大部分事情的方式。 哎,埃隆·马斯克说过,我们已经变成了控制论生物,只是我们控制论组件的带宽非常慢(也就是说,在手机上打字)。 在手机上安装某种密码管理应用程序一直都是可能的,但是直到最近,操作系统才与密码管理器集成。 这意味着您必须从一个应用程序进入密码管理器,查找站点/应用程序,复制密码,切换回应用程序,粘贴密码,然后希望您输入正确。 值得庆幸的是,那些日子已经过去了。

最新的 Android 系统和 iOS(Apple,而不是 Cisco)版本都允许第三方密码管理器直接集成到数据输入系统中。 这意味着当您使用键盘在任何应用程序中输入登录名或密码时,您可以调出密码管理器并直接输入数据,而无需切换应用程序。 此外,如果您启用了生物识别技术,大多数时候您可以使用指纹或面部识别解锁密码数据库。 (对于那些担心仅生物识别身份验证的安全性的人,当然可以将其关闭,但请记住易用性对大多数人来说有多么重要!)

因此,尽管密码管理器已经存在多年,但我真的相信只有随着它们集成到移动设备的主要操作系统中,人们才能真正广泛地使用它们。 并非所有 Linux 用户都会同意我的观点,也并非所有人都会希望以如此简单的方式访问他们的密码。 然而,就本文而言,移动选项是必不可少的。

两种概念的故事

还记得“云”曾经是一个流行词,实际上并没有什么具体含义,但人们仍然一直在使用它吗? 好吧,现在它非常清楚地意味着在您不拥有的计算机上、在您不控制的数据中心运行的服务器或服务。 “云”既很棒也很糟糕。 在存储密码数据时,许多人理所当然地担心云存储。 当涉及到密码管理器时,基本上有两种类型:一种是将所有内容存储在本地数据库文件中的类型,另一种是将数据库存储在云中的类型。

基于云的存储并不像看起来那么令人不安。 当数据库存储在“天空中的服务器”上时,它会在离开您的设备之前进行加密。 这些公司无法访问您的实际密码,只能访问包含密码的高度加密的数据库——只要您相信这些公司在这些事情上是诚实的。 恕我直言,我确实认为主要公司在不染指您的实际密码方面是相当值得信赖的。 尽管如此,对于闭源选项,需要一定程度的信任,而有些人就是不愿意给予这种信任。 我将从两个阵营的角度来看待密码管理器。

竞争者

我为这篇评测选择了五个(左右)密码管理器。 请注意,Linux 有几十个非常实用、非常安全的密码管理器。 有些是仅命令行界面。 有些只是包含用户名/密码对的文本文件的基本 PGP 加密。 今天的评测并非旨在包罗万象; 而是旨在帮助希望比目前更好地处理密码的普通 Linux 用户。 我说五个(左右),是因为其中一个条目有多个版本。 列表是

  1. KeePass/KeePassX/KeePassXC:这是具有相同主题的多个变体的(左右)那个。 稍后详细介绍。
  2. 1Password。
  3. LastPass。
  4. Bitwarden。
  5. 浏览器。

我在本文中重点介绍了其中的每一个,没有特定的顺序。

您的浏览器密码数据库

大多数人不认为使用浏览器作为密码管理器是个好主意。 我就是其中之一。 根据您选择的浏览器、版本和设置,您的密码甚至可能未加密。 还有在其他应用程序中使用这些密码的问题。 诚然,如果您使用 Chrome,您的 Android 手机很可能可以访问密码,供您在其他应用程序中使用,但我仍然不相信浏览器是存储密码的最佳位置。

我确信现代浏览器的密码存储功能比过去更安全,但浏览器的主要功能不是保护您的密码,所以我不会信任它这样做。 我提到这个选项是因为它默认安装在每个浏览器中。 它可能是使用最广泛的选项,这让我感到难过。 点击“保存我的密码”并方便地在您下次访问时填写您的密码太容易了。

使用浏览器的“保存密码”功能是否比什么都不用好? 也许吧。 它确实允许人们使用不同的密码,并信任浏览器记住它们。 但是,仅此而已。 我确信最新的浏览器可以选择稍微保护密码,但这并不是默认设置。 我知道这一点,因为当我坐在我妻子的电脑前时,我只需启动她的浏览器 (Chrome),当我访问各种网站时,她的所有密码都会为我填写。 他们几乎让使用糟糕的安全实践变得太容易了。 唯一的希望是拥有更好、更简单的选项——而且我认为我们实际上有。 继续阅读!

KeePass 狂热

首先,这些密码管理器是使用本地的、非基于云的数据库来存储密码的。 如果您的加密密码生活在别人的服务器上的想法冒犯了您的感官,那么这可能是您的最佳选择。 无论您选择哪种风格,这都是一个非常好的选择。

关于共享相似名称的各种程序的来龙去脉是,最初有 KeePass。 它没有 Linux 版本,因此有另一个程序 KeePassX,它使用相同的(且完全兼容的)数据库。 KeePassX 在 Linux 以及其他主要操作系统上原生运行。 为了使问题复杂化,KeePass 随后发布了一个 Linux 版本,该版本也是原生运行的,但它使用了 Mono 库。 它可以运行,并且运行良好,但 Mono 在 Linux 上有点笨拙,因此大多数人仍然使用 KeePassX。 然后出现了 KeePassXC,因为 KeePassX 程序变得有点过时了,并且很长时间没有更新。 所以现在,有三个程序,所有程序都可以在 Linux 上原生运行,并且所有程序都是完全可以接受的程序。 我更喜欢 KeePassXC(图 1),但这仅仅是因为它似乎是开发最活跃的。 好消息是,所有三个程序都可以使用完全相同的数据库文件。 真的。 如果在混乱的情况下有一线希望,那就是这个。

""

图 1. KeePassXC 具有友好的原生 Linux 界面。

KeePass(X/XC) 功能

  • 本地数据库文件,没有同步机制。
  • 数据库可以由第三方(例如 Dropbox)同步。
  • 支持主密码和/或密钥文件解锁。
  • 非常好的密码生成器(图 2)。
  • 安全的仅限本地主机的浏览器集成 (KeePassHTTP)。

KeePass(X/XC) 优点

  • 没有云存储。
  • 包含命令行界面。
  • 2FA 功能 (YubiKey)。
  • 开源。
  • 没有“高级”功能,一切都是免费的。

KeePass(X/XC) 缺点

  • 没有云存储(是的,这既是优点也是缺点,取决于情况)。
  • 多个变体造成的品牌混淆。
  • 移动使用需要第三方 Android/iOS 应用程序。
  • 比基于云的替代方案更复杂(文件同步/复制)。
""

图 2. KeePassXC 密码生成器非常棒。 我甚至没有将 KeePassXC 用作我的密码管理器,但我仍然喜欢这个生成器!

在我这里介绍的那些密码管理器中,KeePass 系列密码管理器可以说是最具有开源精神的选择。 对于那些最关心其数据完整性的人来说,KeePass 数据库可能是最佳选择。 值得庆幸的是,由于 KeePass2Droid(适用于 Android)和 MiniKeePass/KyPass(适用于 iOS)等第三方工具,也可以在移动设备上使用您的数据库。 事实上,大多数应用程序都会为您处理数据库的同步。

Bitwarden

直到我们在 Twitter 上进行了一项民意调查,询问 LJ 读者使用哪些密码管理器,我才知道 Bitwarden 密码管理器的存在。 我不得不承认,这是一个令人印象深刻的系统,它几乎满足了 Linux 用户想要的所有“感觉良好”的条件(图 3)。 它不仅是开源的,而且非高级版本也是一个完整的系统。 是的,有一个每年 10 美元的高级选项,但非付费版本没有任何功能上的缺陷。

""

图 3. Bitwarden 设计得非常好,并且凭借其开源性质,很难被击败。

Bitwarden 确实将其数据存储在自己的云服务器中,但由于该软件是开源的,您可以检查代码以确保该公司没有做任何不正当的事情。 Bitwarden 还拥有自己的 Android/iOS 应用程序以及所有主要浏览器的扩展程序。 无需使用第三方工具。 事实上,它甚至包括命令行工具,供那些想要在纯文本环境中访问数据库的人使用。

Bitwarden 功能

  • 开源。
  • 基于云的存储。
  • 不错的密码生成器。
  • 适用于 Linux、Windows、Mac、Android 和 iOS 的原生应用程序。
  • 适用于所有主要浏览器的浏览器扩展程序。
  • 可以存储登录名、安全笔记、信用卡等的选项。

Bitwarden 优点

  • 所有应用程序都由一位开发者开发。
  • 开源!
  • 基于云的访问。
  • 如果“云”不可用,则可以离线工作。
  • 免费版本没有功能上的缺陷。
  • 浏览器插件工作得非常好。

Bitwarden 缺点

  • 数据库存储在云中(同样,这既是优点也是缺点,取决于情况)。
  • 某些 2FA 选项需要高级版本。

Bitwarden 高级版本

  • 每年 10 美元。
  • 额外的 2FA 选项。
  • 1GB 加密存储空间。

我承认,Bitwarden 非常非常令人印象深刻。 如果我必须选择一个个人最喜欢的,那可能就是这个。 我已经在使用另一个选项,并且我对它很满意,但如果我从头开始,我可能会选择 Bitwarden。

1Password

1Password 是一款广泛用于密码管理的程序。 但老实说,我不确定为什么。 不要误解我的意思; 它运行良好,并且具有出色的功能。 问题在于我找不到它比替代方案具有的任何功能,而且根本没有免费选项。

也没有原生的 Linux 应用程序,但 1PasswordX 浏览器扩展程序在 Linux 下运行良好,并且足够用户友好,可以用于浏览器登录需求以外的其他用途。 尽管如此,虽然我不反对该公司为该服务收费,但替代方案免费提供重要的服务,这很难被击败。 最后,1Password 使用“密钥”,每次设备登录时都需要该密钥。 虽然它是一层额外的安全措施,但在实践中,在每台设备上安装它有点麻烦。

1Password 功能

  • 基于云的存储。
  • 非登录数据加密(图 4)。
  • 用于恢复帐户的可打印“紧急工具包”。
  • 跨平台浏览器扩展程序。
  • 离线访问。

1Password 优点

  • 易于使用的界面。
  • 非常好的浏览器集成。

1Password 缺点

  • 每月 3 美元,没有免费功能。
  • 密钥系统可能很麻烦。
  • 没有原生 Linux 应用程序。
  • 专有的、闭源代码。

1Password 高级功能

  • 所有功能都需要每月订阅。
""

图 4. 1Password 具有出色的界面,并且可以存储大量数据。

如果没有任何其他密码管理器,1Password 将是不可思议的。 不幸的是,对于 1Password 公司来说,确实有其他选择,其中一些至少一样好。 我承认,我真的很喜欢浏览器扩展程序的界面,并且它可以很好地处理将登录信息插入到身份验证字段中。 但是,我不认为这足以支付高级价格,尤其是在根本没有免费选项的情况下。

LastPass

好吧,首先我觉得我应该承认 LastPass 是我使用的密码管理器(图 5)。 正如我之前提到的,如果我要从头开始,我可能会选择 Bitwarden。 话虽如此,LastPass 不断变得更好,并且它与浏览器、移动设备和原生操作系统的集成非常棒。

""

图 5. 除了 LastPass 的浏览器扩展程序外,我很少使用其他任何东西,除非我在移动设备上,但该应用程序看起来非常相似。

LastPass 提供免费层和付费层。 不久前,您必须支付高级服务费用(每月 2 美元)才能在移动设备上使用它。 然而,最近,LastPass 将移动设备同步和集成添加到完全免费的产品中。 这非常重要,因为它使免费版本与 Bitwarden 的免费版本处于同一水平。 (我怀疑 Bitwarden 可能是 LastPass 更改其免费层级的原因,但我无法知道。)

LastPass 功能

  • 基于云的存储。
  • 适用于 Linux、iOS 和 Android 的原生应用程序。
  • 2FA。
  • 离线访问。
  • 跨平台浏览器扩展程序。

LastPass 优点

  • 基于云的存储。
  • 非常强大的免费产品。
  • 最流畅的基于浏览器的密码保存(以我的经验)。

LastPass 缺点

  • 数据存储在云中(是的,这既是优点也是缺点,取决于情况)。
  • 据传支持不佳(我从未需要过)。
  • 专有的、闭源代码。

LastPass 高级版

  • 每月 2 美元。
  • 提供 1GB 在线文件存储空间。
  • 提供共享密码的功能。
  • 增强的 2FA 可能性。
  • 紧急访问授权(图 6)。
""

图 6. 这有点像用于紧急访问的“死人开关”。 它允许您向某人授予紧急访问权限,并能够在实际发生之前撤销该访问权限。 非常棒!

LastPass 是唯一一个我可以根据长期经验给出意见的选项。 我确实尝试了这里列出的每个选项几天,老实说,每个选项都完全可以接受。 LastPass 对我来说一直非常可靠,即使它不是开源的,它也可以在多个平台上很好地工作。

获胜者?

老实说,有了可用的选项,尤其是今天重点介绍的那些选项,在选择密码管理器时很难出错。 我挑选了一些顶级管理器,并概述了每个管理器。 还有其他更晦涩的密码管理器。 有一些选项仅适用于 Linux。 我决定查看无论您现在甚至将来处于什么平台都可以使用的选项。 一旦您选择了解决方案,迁移就会有点麻烦,因此从灵活的东西开始是理想的。

如果您担心其他人控制您的数据(即使数据已加密),那么 KeePass/KeePassX/KeePassXC 系列可能是您的最佳选择。 如果您不介意信任他人进行数据同步,那么 LastPass 或 Bitwarden 可能是理想的选择。 我想,如果您不信任“免费”产品,或者如果您只是非常喜欢 1Password 的布局,那么它也是一个可行的选择。 我想,在紧要关头,使用浏览器密码管理也比什么都不用好。 但请务必确保数据已加密并受到密码保护。

最后,即使这些选项都不是您每天都会使用的东西,也请考虑向您关心的人推荐一个。 在安全、可同步的数据库中跟踪密码是在更安全的在线生活中迈出的一大步。 既然移动设备在密码管理领域受到重视,密码管理器对每个人都有意义——即使是您的非技术朋友和家人。

资源

Shawn 是 Linux Journal 的副编辑,并且从一开始就接触 Linux。 他对开源充满热情,并且热爱教学。 他还喝太多咖啡,这经常在他的写作中体现出来。

加载 Disqus 评论