本文参与少数派 2018 年度征文

我为什么迁移密码保险库

楼主最近一直使用着 Keepass ,但是前几天遇到一个问题:同一个密码可以打开 PC 和 Android 上的 Keepass 保险库,但是打不开 iOS 上的保险库( iPhone 和 iPad 都打不开,用的 MiniKeepass ),网页的也打不开( KeeWeb ),都是提示 Could not open database🙄。刚巧看到 Enpass 更新了大版本,就进行了保险库的迁移。


我使用密码保险库软件的历史

楼主曾经用过 1Password 4,之后 1Password 改成了订阅制,单机版逐渐淡化,单人版太贵,家庭版没那么贵,但是当时楼主不想出那个钱,就想迁移到另一个能长期使用的软件,最后选择了开源的 Keepass 。

我理想的密码保险库软件是什么样

楼主这次迁移保险库的时候也想了向自己对保险库软件的要求,最后列出来的是下面这几项:

  • 保险库软件能全平台通用;
  • 保险库能自己选择存放的平台;
  • 能够持续获得更新,在此前提下为获得更新支付不太贵的费用;
  • 除了能保存密码,也能保存文档(文档比较占用空间,现在 Keepass 库的大小差不多 80M 了)。

想到过的解决方案

Keepass

全平台通用是个问题(不然楼主迁了干嘛🌚)。

Lastpass

没有用过,但听说数据不能自己选择存放的平台,曾经发生过服务器被攻击的事情。

1Password

个人版年费费用高

启用了 1Password 自己的服务器,曾经想过这意味着不能自己选择数据存放平台,但后来发现目前还是能自己选择。
每个账号只有 1G 的存储空间——未必能使用到 1G 的空间,但是有个限制总是觉得不舒服,然后也不知道有没有付费扩容一说,而且在目前能自己选择数据存放平台的情况下这也不是个很大的问题。

Enpass

官网主打的宣传语是一次付费终身使用,实际上很不现实,担心跳票 or 改订阅制后费用比 1Password 还贵——参照 CloudMagic 。
(官网也有人问过 Enpass 盈利的问题,答复比较模糊,说是今后会考虑企业市场,至于可行性,参考 1Password ——个人主观感觉 1Password 现在在企业市场这一块的盈利实际上也不咋地)


倾向的解决方案

1Password

在 1Passowrd 试用期发现 1Password 虽然启用了自己的服务器和账号体系,但现在还是可以使用、编辑 Dropbox、iCloud 上的保险库,而移动端也还是支持同步 Dropbox、iCloud 保险库。

但是 1Password 的个人订阅费真的有点贵了,但这个问题似乎有一个可能的解决方案:订阅期到期之后如果不续费软件不能再获得更新,1Password.com 上的数据会变成只读,但不知道 Dropbox、iCloud 上的数据还能不能编辑,如果能的话就可以每年开一个月订阅更新软件,然后继续用 Dropbox、iCloud 上的数据库🌚这样可以解决官网 1G 存储和费用两个问题🌚因为现在仍在试用期,所以这个方案能不能用还不清楚(估计不能,如果能早就能看到相关文章了😂)。

iCloud 同步不能做到全平台,最少 Android 上不能用 iCloud;Dropbox 同步需要科学上网。相较而言,科学上网算是自己费点时间心思可以解决的🌚。

Enpass

有一个问题就是官方自身活不活得久,现在官方采用的方法个人认为实质上是大版本付费升级,但这与官网的宣传有些抵触(官网宣传的是“终身使用”,个人更愿意把所谓的“终身使用”理解成某个版本终身使用🌚)。

最终选择的解决方案

Enpass,虽然这可能导致后续需要再次迁移保险库,但这是目前相对较好的解决方案

迁移过程

迁移保险库花了一天时间,本来以为应该比较简单:Enpass 支持 Keepass 的 XML 格式,我就从 Keepass 导出 XML 然后导入 Enpass 就可以了,文档这一块单独导入;考虑一次性导入太多记录可能导致软件崩溃,还考虑过分批导入,甚至想过实在不行就使用 Enpass 里面的所谓“预格式化 CSV” 做中转,结果后来发现自己还是太年轻😂。

先是使用 Keepass 的 XML 格式导入导出,结果发现即便我只是导出了一条 XML 记录,Enpass 在导入的时候都会崩溃,而且是 Windows 应用商店下载的程序也崩,官网下载的单独安装的程序也崩🙄真是让人无语。

之后使用“预格式化 CSV ”做中转,在导入页面看到 Enpass 对“预格式化 CSV ”有一个说明,打开才知道 Enpass 的“预格式化 CSV ”是有格式要求的,本来想自己手动改格式,结果发现 Keepass 导出的 CSV 用 Excel 打开以后里面的中文是乱码(准确讲是看上去是乱码),然后就放弃手动修改 CSV 了 ...

最后的解决方案是先以 Keepass 记录为依据把 1Password 里的记录补全——之前用过 1Password 4 ,两个数据的记录有差异,但还在可以接受的范围内——然后导出 CSV ,再导入 Enpass ——还是使用的 CSV ,但是感觉还是有点不一样:在 Enpass 里面“预格式化 CSV ”层级是第一层级, 1Passowrd 的CSV 是第二层级(似乎是暗示对 1Password 的 CSV 有过专门的兼容性处理?🌚不知道,也没试,只想快点完工😂)。

预格式化 CSV 在第一层级
1Passowrd 的CSV 是第二层级

最后的解决方案倒是确实能用,但是最后导入完了之后发现记录少了几十条,没办法一条一条对,结果发现绝大部分没能导入的记录都是没有网址的记录(可能兼容性还是有点问题吧🙄)

迁移完成以后的感想:

  • 要长时间使用的服务还是要用大厂的,少折腾🙄
  • 开源软件每个人都能审查代码自然是好事,但也带来软件维护不稳定的问题,对于楼主这样的人来说,还是选择破财消灾好了😂

迁移中和朋友的交流

因为楼主迁移保险库用了很长时间,有朋友看到过来问楼主在干啥,就此跟朋友进行了交流🌚

——文档就不应该放在云上,密码什么的用 Lastpass 就好了
——有些文档是有这个需求的,比如身份证图片,算是个人癖好吧🌚

——文档和密码分开存放,使用两个不同的保险库软件
——本质上并没有改变什么,文档和密码还是有全平台查看的需求

——全部密码都放在云上,放心吗?
——重要的密码采用的是暗语的形式记在Word里放在云上,但是因为暗语规则通用性不强,全部网站都用暗语不现实

——用第三方登陆
——个人感觉第三方登陆使用多了会在网络上形成一种“痕迹”,通过这些“痕迹”可以找到使用的其他网络服务的账号,所以倾向于各个网络服务注册各自的账号,比如说注册汤不热的时候就倾向于单独注册账号,而非用脸书账号登陆,算是个人癖好🌚

——专门注册一个用于第三方登陆的账号
——有的网络服务暂不提供第三方登陆,我是不是要等着?个人不想等🌚况且这也没解决移动端查看文档的问题

——想要找到你总是有办法的
——防小人不防君子,我求个心理安慰🌚

——楼主是个事逼
——这叫个性化定制🌚

完成迁移之后在使用密码保险库软件过程中的对比

Keepass

Keepass 实际上是很不错的,免费,功能够用:

  • 可以添加附件
  • 可以添加自定义字段
  • 支持文件夹管理
  • 自定义字段支持多行(碰上谷歌的备用验证码“能多行”就很有用)
  • 自定义字段支持“内存保护”(并不知道是什么意思,最直观的就是勾选了“内存保护”的自定义字段在主页面看上去是密码的*,给人一种安全感🌚)
  • 不支持自动备份(或者是我没找到🌚)

可惜,苹果设备上用不了🙄

1Password

  • PC 上只支持导入自家的数据格式(1PIF,Agile Keychain 和 OPVault),要导入其他格式需要到网页上导入,可以直接导入的其他厂的格式不多,对 CSV 的格式也有一个建议(没有试过,应该不是强制要求,但是满足了应该能很便捷地导入)。
  • 导出的话网页不支持,PC 支持。
  • 不支持文件夹管理,支持标签。
  • 支持自定义字段,也支持自定义组,但是不支持“多行”(这在遇上谷歌的备用验证码的时候就有点尴尬:只好放“备注”,然后没办法设置*号显示😑...)
  • 支持附件,但是保存在 1Password 账户中的附件的管理和保存在 Dropbox、iCloud 数据库中的附件管理方式不一样:
    • 1Password 账户专门有一个 “Document” 类别,可以上传附件,传完以后再在其他记录下用“相关项目”的“链接现有的”进行链接,而除了“Document”类别,其他类别(似乎)都不能使用附件;
    • 保存在 Dropbox、iCloud 数据库中的附件就是常规的管理方式,可以直接在记录里面添加。
  • 保存在 1Password 账户中的记录支持自动备份,单独保险库要启用了“文件夹同步”才会备份(然后我不知道怎么启用“文件夹同步”🙄,如果有朋友知道,还请指点一下..)。
  • 1Password 使用 Dropbox 同步是属于“要么没有,要么很爽”的类型:要么没有连接,连接上了一般就有“纵享丝滑”的顺畅。

Enpass

  • 可以直接导入的其他厂的格式多,导出支持 JSON 和 TXT(没有 CSV,不知道是为什么...)。
  • 支持自动备份。
  • 支持的字段很多,支持多行,支持*显示(嗯,谷歌的备用验证码好找地方放了🌚)。
  • 支持自定义分组(密码保护问题一个组,备用验证码一个组,嗯🌚)
  • 预设模板支持自己修改
  • Enpass 同步是属于“一直都有,长时间梗阻”的类型:Enpass 的自动备份是把所有的记录和附件一起放在一个文件内,这个文件就很大,楼主的备份文件是约 80M;而在楼主这里 OneDrive 的连接是一直有,速度一直不咋地的类型。结果就是 Enpass 自动备份的文件在楼主这里一般要上传半个小时才能上传完。
    ( Enpass 提供了其他同步方式,其中一个是 Webdav,理论上可以与坚果云配合完成同步,不过楼主一嫌配置麻烦,二是配置了之后文件在坚果云的路径就不能变,变了就要重新配置,最后楼主还是选的 OneDrive)

支持的字段(部分)
支持自定义添加“组”
预设模板支持修改(字段)
预设模板支持修改“组”

不过 Enpass 有个瑕疵:只要打开软件一次,即便没有编辑,enpasssetting.db 和 syncmeta.db 也会一直处于打开的状态,反应在同步上就是同步的软件总是处于同步状态,让人觉得“怎么还没有同步完”,点开一看是这样,然后就觉得“啊,我还是退出软件让 TA 同步一下好了”(强迫症🌚)总之就是不舒服....

在同步
文件被占用

总结

看上去似乎 Enpass 更适合楼主(除了对强迫症不太友好🌚)但是经历过这一次迁移之后,楼主深深地觉得,稳定压倒一切(哦不对,是“稳定是多么滴重要”;正经脸),然后就此引出这篇文章的另一个目的:还有没有 1Password 家庭版的车😂楼主想上车🌚