现在提起密码管理,我相信你可能和我一样可以侃侃而谈,从主密码到特征值(衍生码),从密码本到快速填写, 从 1Password 到 Keepass 都是信手拈来。可是每每分析到最后,我总是得出结论:他们都很好很优秀,但都不是我想要的密码本,甚至我根本就不想要一个密码本,因为他们记着我的密码!
从本地密码本到在线密码本
2014 年 1 月,我终于将存在电脑硬盘里的本地密码本移至 Evernote,是的就是那只记笔记的大象。选它就是看中它多平台同步的特性。2014 年整年我都对此项举措洋洋自得,这是一个不受时空限制的密码本,这是一个快速搜索随时翻看的密码本,保存同步的一小步,查阅输入的一大步。
对 Evernote 安全性的质疑很快被打消,因为在我开始使用 Evernote 时(2013 年中),铺天盖地的文章都是强调其经历攻击事件后如何采取措施保护用户隐私和账户安全,随着后续「两步验证」功能的上线,Evernote 可谓是密码保险箱的不二人选。
我在 Evernote 开辟了「帐户与密码」笔记本,将所有帐户的密码设置成「主密码 + 衍生码」的组合,再以隐去主密码的方式记录在 Evernote 中。如主密码为 W%65#AWS*,支付宝的衍生码为 z,那么我在 Evernote 中以 W...z 的形式存储它的密码。
现在你可能已经发现,我只需要记住一个主密码就可以开启整个 Evernote 密码保险箱。Evernote 服务商采取的保护措施为保险箱提供了第一道防护,自己手动隐去部分密码有提示性的意味在里头。不怕泄露,因为只有我自己能解读其中含义,这与 1Password 是同种模式。
原来在线密码本也有很多缺点
Evernote 密码本的短板很快显露,那就是查阅输入的繁琐,要么打开应用搜索,要么在 spotlight 中搜索,然后逐个字母填写或者选词复制粘贴。1Password 上线后似是能满足这个痛点需求(然而并不能),iOS 8 带来的扩展新特性让我对这个密码本爱不释手,但是其缺陷更快显露:支持 1Password 的场景太少了。在 Safari 中,Apple 的 Keychain 完全能秒杀 1Password 的扩展功能,可惜它却不是多平台可用的。
另一个和安全性有关的问题在于,所有这些在线密码本,都需要将密码上传至某个服务器,然后在各个设备间同步,这就会产生额外的信任成本。
我不想要一个密码本,现在我也不需要了
不需要同步密码,就不会涉及到密码存储的安全性问题。可是想要实现多平台使用,就必须同步密码。这似乎是一个悖论,直到我遇见了 Master Password。它不以任何形式保存同步密码,却能在各个平台的 Master Password 软件中显示密码,听起来很诡异吧,其实道理很简单,它「同步」的是加密算法。
Master Password 要求用户设置用户名和主密码,这两者的用途并不是登录帐号,主密码也不是联网登录密码,不会以任何方式同步,而它的真正作用是计算密码。所有 Master Password 软件统一采用的是由加拿大工程师 Maarten Billemont 开发的加密算法,这就保证了只要输入同样的用户名和主密码,所有软件输出的密码肯定是一致的,不需要保存和同步的过程却仍能实现多平台使用。用户名和主密码只有用户自己知道,软件不做备份和传输,这又保证了密码的私密性和安全性,即使有人破解了这套算法,也无法计算用户的密码,更不会出现大规模密码泄露的情况。
iOS 版的 Master Password 只有一个输入框。在输入框里输入网站域名,软件会自动计算出一个 Long 精度的密码,点击即可保存(甚至都不用保存,因为每次的计算结果都是一样的),并可添加用户名,可以添加计数满足用户更换密码的需求,还可以点击直接复制密码到剪贴板。
Master Password 的设计理念更接近于人脑记密码的方式:昨天的你和今天的你,用的是同一个记忆(算法),那么想起来的密码肯定是一样的,除非你记岔了。其实 1Password 用的也是同一套方法,可是它为了保护自己的加密算法不受攻击,选择了同步用户的密码来实现多平台使用,而且它的各个平台软件单独收费,价格高昂,对用户来说真是一笔不小的开销。Master Password 是免费的。
现在的策略
现在我所有重要账号的密码,都由 Master Password 再计算产生。分场景使用不同版本软件计算密码,外出依靠 iOS 版,私人 Mac 由 Mac 版计算,工作的 Windows 电脑由网页版来计算,十分方便。



