随着互联网的发展,密码的角色越来越重要,而密码的安全性则要求我们对每个网站都使用一个不同的复杂随机密码。然而,我们的记忆能力是有限的,这也就导致了「密码管理」的需求。
近年来,以 1Password 为代表的密码管理器已经越来越流行,然而主流的密码管理器都是采用了同步密码库的方式来进行的。不过,密码库的存在无疑也带来了数据丢失损坏甚至泄露的风险,另外就是如果无常用设备而临时需要密码则难度相当大甚至不可能。
无需密码库的 Master Password
为了摆脱「密码库」所带来的局限,Master Password 诞生了。它的原理是利用「账户信息 + URI + 迭代次数」实时计算得出密码。密码是「计算」得到的而不是如其他密码管理软件是随机生成后储存的意味着它成功的摆脱了「密码库」,只要记得这几个因素你就可以随时随地生成你的密码。你没有密码库,自然你的密码库也就不会丢失、不会损坏,也不会因云端同步而泄露。
并且,它是免费、全平台且开源的。拥有 Mac、Windows、iOS、Android 客户端,让你在各个平台都可使用。对于临时需求的用户它也提供了网页版,对于 Linux 用户和其他想要 DIY 的用户它也提供了命令行版。最重要的是,它的各个平台客户端与它的核心算法也都是开源的,这也就意味着如果你对它现有的客户端有任何不满意都可以自己做一个更适合你自己的客户端,而且密码计算算法开源也就使你无需担心它「跑路」停止维护。
简易使用指导
它的使用非常简单,无论各个平台都是三步:
- 登录账户:设置一个用户名和密码,这就相当于你的密码数据库的「主密码」
- 网站/服务 URI:一个唯一标识符,用于标识这个网站是什么
- 点击生成密码即可
你可以把「登录账户」理解为一个由两组大小写敏感的字符串组合而成的「主密码」,它不会被服务器保存记录、也没有注册阶段,任何人都可以直接输入一个账号密码登录,同时只要所输入的账号密码一致那么就能生成一样的密码、只要不同也自然不一致。
而「网站/服务 URI」则是用来标识你所使用的网站是什么,虽然官方说是网址,但实际上你可以输入任何信息,使用任意大小写敏感的字符串代表一个网站/服务即可。
最后,虽然软件提供了「用户名」和「安全问题/答案」的功能但不推荐使用,因为用户名实际上不会对生成的密码造成影响,而安全问题功能也意义不大。只有一个网站/服务存在多个账号的情况,你可以选择统一使用一个密码,也可以参考我最后给出的使用建议。
使用示例
在官网下载安装包后,拖动到应用程序文件夹后打开。打开后会出现如下界面。

看到这个可能会有些迷茫,但其实软件已经运行成功了,最后一行就是软件的使用方式提示和开机启动的设置(他们肯定没有 UX……)。
首次需要在菜单栏新建一个用户,并设置账号和密码。

设置完成后就会直接进入「生成密码」的界面(后续也可通过按 Control+Command+P 快捷键),输入 URI 后按下回车即可。

手机版(以 iOS 端为例)的使用也大体类似,首先在 App Store 下载 MasterPassword 并安装。首先是一些欢迎界面与使用教学,之后则需要设置一个账户,整体流程与 Mac 端类似。
设置完成后进入主界面,输入 URI 后点击对应的密码框即可新建/复制密码。

使用建议
如果你打算尝试 MasterPassword,则我根据我日常的使用情况给你有如下的使用建议
URI
URI 即「统一资源标识符」,理论上是可以标志任何一个网站、软件等的,不过如果完全遵循 URI 的规定有些过于繁琐,因此结合我的实际使用,我给你如下建议:
- 对于一般的网站,直接使用域名作为 URI,这个域名尽量是顶级域名,例如
example.com,除非这个网站各个子域下的账号密码不同,不然不要加上前缀(含 www)。域名一律小写。 - 一般忽略用户名这项,对于一个网站有多个用户名的则采用「用户名@域名」的方式,例如
user@example.com,如果用户名是邮箱则使用邮箱前缀或其他唯一代表这个邮箱的字符串当作用户名。用户名可根据实际情况大小写,但是域名也要小写。 - 对于无对应网站的软件,采用「app:应用名称小写」或「首字母大写驼峰命名法」的方式,前者类似「
app:demoapp」而后者则类似「DemoApp」。注意无论采用那种方式都不能有空格和标点符号。 - 对于邮箱,采用「mail:邮箱地址」的方式,如
mail:user@example.com。不过如果和上述 2 条不会构成歧义,则可考虑直接采用邮箱地址作为 URI
迭代次数
迭代次数是用来说明这个网站是第几次生成的密码,一般用于周期性更改密码的情形。一般使用了这一方案后就不太需要去更改密码了,因此这个功能不算常用。不过,如果真的遇见需要更改密码的情形,那么我建议请一定在备忘录等其他地方来记忆这是第几次更改。
总结
常言道,安全和便捷无法并存。因此,MasterPassword 在解决了 1Password 等基于密码库的密码管理软件所带来的问题的情况下也因其没有密码库而导致了一些问题。例如它无法保存用户名信息、两步认证等额外信息,而且相应的用户名和密码迭代次数也需要自己去记忆,忘记则无法恢复出密码。另外,它和其他密码管理软件一样在忘记密码后无法再访问到自己的密码,不过它甚至不能去更改用户名密码,这也就更高的要求了要保密自己的账号信息。
无论如何,它也是一款值得一试试的软件,对于一些刚开始尝试密码管理和对隐私有着极高要求的人来说,它是十分适合的。简单又不失安全 ——MasterPassword 值得尝试。
