我的网络密码管理方案

十数年前我刚上网的时候,所有地方的账号都是一个极其弱鸡的密码。
数年前我开始给账号分等级,按照重要性来说分两到三个层级的密码。后来发现不同的地方还有不同的规则要求,又派生出了一些分支,导致我需要用 Evernote 把密码提示列下来辅助记忆。
最近这几年拖库事件频出,我也升级了几次密码规则。虽然浏览器可以帮我存储一些密码,但不同浏览器的数据不能交叉共存,所以我主要的密码记忆工具还是大脑。

在过去的一年间,我在继续使用大脑作为主要密码记忆工具的同时,配以 LastPass 作为我密码记忆的辅助工具。它有这么几个显而易见的好处:
1. 跨平台同步。我在家里用 Firefox 更新的密码,在公司的 Chrome 系浏览器上也可以得到更新。
2. 省事。多数密码我可以靠脑子记住,但输入非常繁琐,这时有 LastPass 插件就非常方便。而很多只需要输入密码不需要输入用户名的场合(比如 Discuz! 的后台登陆界面),浏览器密码管理器不能很好地识别,但 LastPass 可以。把双手从键盘输入上解放出来,只剩下鼠标需要点点点,效率大大提升。

但是 Lastpass 只能在电脑上使用,要在手机上使用必须交费,每年 12 美金。虽然也不是什么大钱,但对于主要依靠电脑上网并且靠大脑记忆密码的我来说有点不值,所以我也就免费版一直用着。

直到今年年初我在日本旅行的时候,收到多封 Facebook 发来的加好友通知,一开始我还以为是垃圾钓鱼邮件,后来看看不对,登上去一看,我使用弱鸡密码的 Facebook 被撞库盗号了。把盗号者的关注和好友清空费了我好大力气,唯一遗憾的是盗号者没有更改我的电子邮箱,否则我可以安心地扔掉这个几乎没有使用过的账号去注册新的了。
后来我还发现我的迅雷子账号居然被公开在了网上,难怪刚刚一开始用子账号的时候密码老是被人重置,后来还提示多设备同时登录,直到我修改密码才清静,想想应该也是弱鸡密码被撞库了。

所以我觉得不能这么下去了,必须重置并好好地管理我自己的网络账号密码。我决定使用密码管理器替代大脑和小本本作为密码管理主要工具,毕竟就有一种观点认为密码管理器是管理密码的最佳途径——那么接下来的问题就是选用哪种密码管理工具了。时下流行的跨平台密码管理工具主要有三种:Lastpass、1Password 和 KeePass。

lp-00
LastPass,商业软件,自有云同步,多设备同步每年 12 刀。


1p-00
1Password,商业软件,iCloud/Dropbox 第三方云同步或者本地局域网同步,移动客户端免费(高级功能收费 9.99 刀),桌面客户端 49.99 刀。


kp-00
KeePass,开源软件,基于文件的同步机制,允许根据客户端支持程度选择不同的第三方文件同步服务。桌面客户端免费,移动客户端视开发商免费或收费。


我拥有 Windows PC、Mac PC、iOS 和 Android 四个主流平台的设备,其中使用最多的是 Windows PC 和 iOS,所以我必须以这两个平台上的使用体验和同步为最优先的考量基准了。
云同步服务的安全性这里不做纠结,安全和便利本来就是互斥的属性,而我相信 LastPass 是足够安全的,如果你觉得 LastPass 不够安全可以自行在另外两者里挑选。我甚至看过担心 LastPass 监守自盗的言论,那用这种八奇思路去思考问题的话 1Password 也可能偷偷上传数据,KeePass 的开源项目可能另用带后门的源代码编译,还是自己写在一个上锁的小本本里最安全了。另外,其他各类没这么出名的密码管理器我也试用过一些,比如 EnPass、OneSafe 等,结论是还不如这三家。


Windows 桌面体验,我觉得差不多。LastPass 是基于网页的程序,必须在浏览器里运行,所以和浏览器的结合也最好;另两者必须依靠独立客户端,其中1Password 没有中文界面也没有文件夹分类支持,而 KeePass 显得中规中矩。一定要分个高下的话,我的排名是 LastPass > KeePass > 1Password。OSX 我并没有去测试,但我猜 1Password 的排名能够得以大幅提升。
lp

1p

kp

 

再来让我们看看 iOS。


1Password 可谓是 iOS 密码管理器的模范软件,不仅有制作精美的界面和完善的功能设计,还提供了 Safari/第三方 app 登录两种密码插件可以自动填写密码。免费版本仅提供一个数据库,但是密码生成和填写、多设备同步、TouchID 锁定等基本功能已经齐备,不要求 Apple Watch 和基于 TOTP 协议的两步验证支持、多数据库等附加功能的话完全不用花钱购买高级版。
pw_1p_01  pw_1p_00



LastPass 的 iOS 端相比 1Password 就简陋很多,因为也是用 WebApp 思路去做的,相当于一个打开本地数据库的浏览器。相比于 1Password 可以直接在搜索栏里切换包含/不包含用户名的搜索结果来说,LastPass 需要到设定里选择显得有些不便;Spotlight 搜索功能的缺失也有些不方便,不过若是用 Launcher 类软件的情况下这个缺点也可以忽略(参考:iOS 9 的新特性令 Launcher 更加实用),最不能容忍的是居然没有剪贴板超时自动清空功能,让人觉得有点不可思议。如果只在移动端使用的话 LastPass 是免费的,跨到桌面端同步的话就要交费升级到高级版了,年费只能以年为单位购买也令人颇为不爽。
pw_lp_00  pw_lp_01

‎KeePass Touch
Price: Free+

我一直认为 iOS 的生态环境对开源软件和个体开发者非常恶劣,这个观点在 KeePass 上再次得到证实。这个开源协议在 iOS 上的客户端非常少,还似乎都来自同一个源代码。KeePass Touch 已经是功能做得比较完整的了,但依然不提供浏览器/app 整合,同步功能也相当不完善。软件本体免费,去广告要收费。
pw_kp_00  pw_kp_01

 

总体而言,在 iOS 端我的排名是 1Password > LastPass >>> KeePass。
顺便多说几句,我也在 Android 设备上试用了三个平台,Keepass2Android 拥有完善的同步源支持和精良的密码键盘,而 LastPass 可以通过悬浮窗精准辨认网站进行填写,1Password 却出现各种同步失败和密码键盘卡死的 bug,正常使用也不如前两者便利,最终让我得出 LastPass > KeePass >>> 1Password 的结论,再次佐证了我的 Android 生态环境更适合免费/开源软件生存的观点。


再来对比一下同步模式:
LastPass 可以很省心地在 Internet 上同步,而且也只能通过 Internet 同步。当然如果你的设备无法接入网络自然没有必要为输入密码操心,不过要是接入了网络却不能访问 LastPass 的话就有点麻烦了。
1Password 的同步模式有局域网、Dropbox 和 iCloud 三种。很显然局域网同步不适合手机和电脑不在一个局域网内的情况,即便是局域网内每次都要手动操作也非常麻烦;iCloud 在苹果设备之间同步简直完美,但因为是 iCloud API 而非 iCloud Drive,不适用于 Windows,更不适用于 Android;而 Dropbox 同步……你懂的。
KeePass 的同步模式基于文件,所以拥有最多的选择—— Windows 客户端自带 FTP 和 WebDav 支持,本地文件既可以通过 OneDrive、Google Drive 和 Dropbox 等第三方服务同步,也能通过数据线直接传输到移动设备。文件同步的缺点也很明显,单向同步是最佳选择,如果有冲突的话就不好办了。另外,KeePass Touch 只支持很少几种协议的同步,Keepass2Android 则灵活很多,支持前述的全部文件同步协议。

对于我自己来说,因为需要在没有局域网的情况下和一台 Windows PC 同步,而且我无法忍受 KeePass Touch 的糟糕体验,所以我继续选用 LastPass 作为我的主要服务工具。LastPass 的移动设备同步功能需要高级账户,这年费的价钱说多不多,说少不少,如果能接受 LastPass 的收费模式和 iOS 客户端略微欠缺的功能设计,我认为 LastPass 可以作为跨平台服务的首选。
1Password 可谓 iOS 上的最佳选择,我的做法是在有局域网的家里把 LastPass 的数据完整导入 1Password 的 Windows 版,再让 Windows 和 iOS 客户端之间做局域网同步,虽然有点麻烦,但如果密码不经常更改的话完全可以接受。最近我正在频繁修改老旧的弱密码,因此先买了一年的 LastPass 高级账户(如果可以只买一两个月就好了),等到稳定了再一次性导入 1Password 便好。如果再给 1Password 付费的话就能新建一个仅仅用于 iOS 设备上的数据库,这样在移动设备之间可以实现 iCloud 双向同步,那些无法在 PC 上访问的服务也能用上密码管理器了。

LastPass 的数据导出到 1Password 还得需要一些技巧。首先必须用 Firefox 做导出,反正我用 Chrome 和 IE 都不能正确导出文件,数据就直接在浏览器窗口里显示出来了。Firefox 导出来的 *.csv 文件还有乱码,这时把 *.csv 重命名成 *.txt 再用记事本打开,另存为 ANSI 或 UTF-8 的另一个文本文件,再改名回 *.csv 就正常了。
1p_00

在 1Password 导入的时候要选对 csv 文件所对应的栏目,不然……
1p_01

1Password 还会自作多情地导入 csv 的第一行,选一次 No 然后 Yes To All。
1p_02


最后总结一下我对这三个密码管理器的选择观点,当然是在大家的同步服务都可用的情况下:
如果只有苹果设备—— iOS 设备和 OSX PC,那么 1Password 是最佳选择。
如果不用苹果设备—— Android 设备加 Windows PC,那么 LastPass 是最佳选择,不想付钱的话 KeePass 也不错。
如果是像我一样纠结的苹果移动设备 加 Windows PC 的组合,LastPass 和 1Password 都不错,一个注重 PC 端的体验,一个注重移动端的体验,但 1Password 的同步受到一些限制,除非你用 Dropbox。
如果是 Android 设备加苹果 PC(真的有人这么搭配吗),我建议还是在 LastPass 和 KeePass 之间选吧,一个花钱一个不花钱。

对于真正的全平台需求(我看很多人拿着一台 PC 加一部手机就号称全平台,只能呵呵),最省心的还是 LastPass。不太肯花钱、要求还多的就跟我一样几个软件之间来回倒来倒去吧,好孩子不要学。

发表评论

电子邮件地址不会被公开。 必填项已用*标注