KeePass是一个轻量级、易用且安全性极高的密码管理器,其源码完全开源(OSI certified),获得了世界多国的安全认证和评级。与1Password和LastPass不同的是,KeePass可以让你完全掌握你的密码数据库,以及对其完全的信任(不存在后门)。当然,KeePass在云存储、多终端同步上不如商业产品1Password和LastPass便捷,需要自己配置,后面我会提供方法。福祸相依,一旦配置好之后,我们会发现这种完全免费、没有限制的多终端同步是很香的。KeePass目前有两个版本(1.x和2.x)同时维护更新,不同的是2.x基于.NET Framework使用C#开发。
我们为什么需要KeePass
我们每个人心中都有一个常用的密码,这个密码在注册各类账户时都会拿出来用,甚至银行卡的6位数密码也包含其中,有时候不同的网站对密码的复杂度要求不同,我们也会临时“演变”导致“找回密码”成了登录前的基本操作,以上这些都是非常不安全、不专业的做法。网站被脱裤时有发生,比如163泄露的50G密码包含了大多数人的常用密码,所以你的常用密码很可能已经暴露,通过社会工程学攻击很容易入侵你的其他账户。所以我们需要为不同的网站、APP设置不同的密码(笔者在注册网站账户时基本都是随机生成密码),这样就会带来“记忆困难”“保存困难”的问题,而KeePass的诞生正是为了解决这个问题,甚至演变出云同步、自动填充等更为便捷的使用方式。
KeePass的特点
- 开源、免费,不存在后门的可能性。
- 密码数据库自己掌握,与1Password和LastPass相比不存在平台泄露的可能。
- 跨平台(有大量开源的第三方的客户端)。
- 支持WebDAV,配合网盘可实现跨平台、多终端同步。
- Windows下可配置浏览器自动输入(Mac据说也可以)。
- 获得多国国家级安全认证,和非常高的评价。
- 相比1Password和LastPass使用较为复杂,需要折腾。
KeePass的衍生版和兼容版
- KeePassXC:KeePassX的分支,功能齐全,跨平台(Windows、macOS和Linux),界面更加美观、扁平化,但不支持WebDAV。支持KDBX 3.1和4.0。
- KeeWeb:后起之秀,与KeePass兼容,功能齐全,跨平台(Windows、macOS和Linux),另有自动备份等功能,界面美观;支持在线安装插件;支持离线Web应用;笔者认为是Mac OS的首选;使用坚果云webdav时报错:“No Last-Modified header”。
各平台下的客户端推荐(仅笔者个人看法,欢迎讨论)
- Windows:KeePass、KeeWeb
- Android:KeePass2Android
- Mac OS:KeeWeb
- iPhone:keepass touch
开始使用KeePass
- 下载安装
下载KeePass,建议使用便携版(Portable),建议使用2.x版本,下载后解压。 - 安装中文语言包
下载2.x版本的简体中文语言包,下载后将“Chinese_Simplified.lngx”移动到KeePass目录中的“Languages”目录下。打开KeePass.exe,在“view”-“Change Language”中选择简体中文。 - 创建密码数据库
创建密码数据库:“文件”-“新建”- 选择密码数据库文件保存的位置 - 输入管理密码,这里的密码一定要足够安全。在高级选项中可以使用密钥文件,非专业玩家不建议开启,一旦密钥文件丢失,仅靠管理密码无法恢复数据库。Windows账户强烈不建议开启。 - 数据库设置
- 迭代次数:数据库设置中,比较重要的一点是“安全”选项卡中的迭代次数,默认是6万次(已经足够足够安全),但可以适当增加,通过下方的“测试”按钮测试当前迭代次数下的密钥转换时间,迭代次数可以随时修改,修改后保存数据库即可生效。笔者测试:电脑(i7-7700K)1秒延迟计算的迭代次数为3千万,在手机中测试延时大约为3秒;在50万次的迭代次数下,电脑和手机基本都是秒开(0.1秒左右);在当前普遍的CPU的算力下设置为50万-500万即可,随着未来CPU算力的提升,可逐步增加。
- 回收站建议保持启用;“高级”选项卡中的“限制每条记录的历史条数”可以适当增加。
至此,KeePass可以投入使用,只需要一个主密码+一个数据库文件即可安全的保存所有的密码。受益于KeePass高级别的加密方式和次数,理论上无法暴力破解成功,所以我们的密码数据库文件可以在相对“公开的”的状态下保证安全性(前提是有一个强口令主密码)。后面,我会陆续更新KeePass的最佳实践方案,相信KeePass会成为我们遨游互联网之行的口令保险箱。
KeePass的最佳实践方案(持续更新)
- 《KeePass通过坚果云WebDAV实现跨平台多终端同步》
- 《KeePass通过自带的触发器实现定时自动保存》
- 《KeePass通过KeePassNatMsg和KeePassXC-Browser实现Chrome/FireFox/Edge自动填充》