密码管理工具

常见的包括但不限于以下几种:

工具 付费 开源 云同步 跨平台 团队共享 自托管
1Password 付费 闭源 官方云同步 支持 支持 无自托管
LastPass 免费功能有限 闭源 官方云同步 支持 支持 无自托管
KeePass 免费 开源 第三方 第三方 第三方 本地数据库,手动同步
Bitwarden 免费 开源 支持 支持 付费版 自托管版本,数据库存储

简述一下原理,KeePass会把密码存在一个加密的.kdbx数据库中,通过坚果云进行云备份,坚果云WebDAV可以分配第三方应用的账号密码,让多端的KeePass类应用进行访问。

配置完全后,仅需要记忆数据库的主密码,但如果要在没有本地备份数据库的设备上运行,还需要知道坚果云WebDAV分配的第三方应用密码,可以通过登录网页版坚果云查看。

坚果云WebDAV

WebDAV 的全称是 Web-based Distributed Authoring and Versioning,即基于 Web 的分布式创作和版本控制。WebDAV 是一种基于 HTTP 协议的扩展,允许用户通过互联网或局域网与远程服务器上的文件进行管理、编辑和版本控制。

可用的WebDAV服务包括但不限于坚果云城通网盘DropboxInfiniCLOUDYandexpCloudNextcloud(自建)。这里我们使用坚果云提供的WebDAV服务。

创建第三方应用授权

在坚果云的网页端和安卓端均可进行。

网页端注册登录后点击头像,点击账户信息,选择安全选项,下拉到底部,可以看到第三方应用管理,点击添加应用,填入名称(方便区分)之后,记下应用密码

网页第三方应用

在手机官方应用商店下载坚果云app,注册登录,点击左上角汉堡菜单按钮 ☰ ,打开设置,选择第三方应用管理,点击添加应用密码,填入名称之后,记下应用密码

安卓第三方应用

创建同步文件夹

在坚果云的网页端、桌面端和移动端均可进行。但是同步Windows下的文件,需要下载桌面端应用

网页端登录后点击创建按钮,根据需求选择创建个人同步文件夹或者多人同步文件夹,填入文件夹名称即可,建议使用全英文

网页创建文件夹

在官网下载坚果云桌面端应用,点击新建同步文件夹,按照提示进行。

桌面创建文件夹

在坚果云app中,点击+图标,选择新建个人同步文件夹,输入文件夹名称,点击右上角完成按钮即可。

移动端创建文件夹

KeePass2Android

谷歌商店或是GitHub下载KeePass2Android并安装。

创建数据库

安装应用后点击创建新的数据库,选择更改位置,使用HTTPS(WebDav)类型,然后输入坚果云的网址、账号和第三方应用密码,

安卓步骤一

登录成功后,可以选择保存的文件夹,推荐全英文路径。然后设定安全且好记的数据库的主密码(示例图片中的密码长度过短,这是错误的),手机支持指纹传感器的话,KeePass2Android会进行提示是否使用指纹解锁,建议开启,十分方便。

安卓步骤二

安卓端操作也还算方便,但是仍然建议在桌面端KeePass中再次整理。

KeePass

注意:请不要下载和使用任何非官方来源的不受信任的KeePass应用程序及第三方插件,包括但不限于各种精简版、增强版、一键安装版等。官网有简体中文翻译。

除了KeePass之外,官网还有列出其他第三方兼容版本,常用的还有KeePassXC。KeePass和KeePassXC基本上互相切换很好切换。个人倾向于使用 KeePass,可以用插件,自定义内容多。以下是KeePass 与 KeePassXC 的对比:

特性 KeePass KeePassXC
跨平台 原生Windows,端口或非官方支持 完全跨平台Windows、macOS、Linux
界面 UI 风格较为老旧 现代化,友好的用户界面
加密算法 AES-256 和 Twofish AES-256
浏览器集成 KeePassNatMsg + Keepassxc-browser 支持 KeePassXC-Browser 插件
多重身份验证 支持 YubiKey(通过插件) 原生支持硬件密钥(如 YubiKey)
密码共享 通过插件和外部工具支持 本地共享密码数据库功能
插件支持 丰富的插件支持 插件较少,但集成度更高

汉化

官网下载安装KeePass,过程不再赘述。在官方提供的翻译页面中下载语言包,把解压后的Chinese_Simplified.lngx放入KeePass的language文件夹,在切换语言页面有文件夹跳转按钮。

更改语言

语言包文件夹

重新选择语言后,按照提示点击重启,重启后的界面就是中文了。

创建数据库

点击菜单栏文件,选择新建,保存到坚果云WebDAV的同步文件夹,然后输入安全且好记的数据库管理密码,此处还可以点开显示高级选项,选择多种组合加密方式,可以提高安全性但是相应的解锁时步骤就会相对麻烦。需要注意的是,如果使用了密钥文件,需要保证密钥文件不被修改,并且保留安全的备份,不然会导致无法打开数据库。

后续数据库配置默认即可,值得一提的是迭代次数和模板,模板后续再说。软件也给出了提示,迭代次数越多,字典和猜解攻击难度就越大,但数据库加载/保存也越费时。底下有测试按钮,可以试一个相对平衡的值出来,或者直接试试1秒延迟的选项,和当前的设备性能有关。

迭代次数

打开数据库

如果已经使用移动端创建过数据库,或者不想使用本地的备份,可以选择打开远程数据库。点击文件,选择打开打开网址(URL)...,然后填入网址、用户名和密码。网址是.kdbx文件在云端的完整路径,例如https://dav.jianguoyun.com/dav/test/password.kdbx,账号是坚果云账号邮箱,密码则是在坚果云创建的第三方应用密码。

打开数据库

用户名密码

设置

根据现实的使用情况,开启自动锁定的功能。并且养成离开电脑时,WIN+L锁定电脑,或者ESCCTRL+L锁定KeePass数据库的习惯。

桌面端设置

插件

WebAutoType

官网 下载

可以全局根据URL而不是浏览器窗口标题匹配记录,同时提供创建记录时,自动输入标题和URL的功能。

点击菜单栏工具,选择WebAutoType Options...,在Global hot key一栏设定自动填写功能的快捷键,还可以修改自动创建记录的默认所属群组。

插件设置

快捷键

Yet Another Favicon Downloader

官网 下载

根据网址为数据库中的记录下载网页图标,可以一次选择多条下载。

选中一条或多条记录右键,选择Download Favicons

图标下载

通常只要网址正确,且网址包含可用的图标,就能下载成功,如果失败就修改网址进行尝试。下载成功后记得保存数据库。

图标下载结果

KPEnhancedEntryView

官网 下载

增强记录视图:提供颜值更高的查看视图,支持一键查看/隐藏所有加密字段(F9),安装后可在keepass主界面直接添加备注和附件。

把布局改为平铺,

布局

然后右键列名,在设置中隐藏其他列,用户名也可以去掉,

列设置

这样结果会相对直观,右半边可以作为预览和编辑使用。

预览

CheckPasswordBox

官网 下载

提供了新的自动输入占位符{PASSWORDBOX},用来定位属性为密码的页面输入框,防止输错位置。

输入用户名和密码时,中文输入法会导致输入中断或者异常,需要先切换到英文输入法。为了跳过这一步骤,我们首先打开Windows的设置>时间和语言>输入>高级键盘设置,点击输入语言热键,选择要切换的输入法,点击更改按键顺序设置想要的快捷键。

输入法

然后右键想要设置自动输入的群组,选择编辑群组,然后点击自动输入,选择替代默认序列为,然后可以填写自己的自动输入序列,点击魔法棒图标可以查看每个字段的详细设定,例如我设置的是:

1^+9{CLEARFIELD}{UserName}{TAB}{PASSWORDBOX}{Password}^+0
2
3^+9            // Ctrl + Shift + 9 切换到英文输入法
4{CLEARFIELD}   // 清空输入框
5{UserName}     // 输入用户名
6{TAB}          // 切换到下一个输入框
7{PASSWORDBOX}  // 检查是否为密码框
8{Password}     // 输入密码
9^+0            // Ctrl + Shift + 0 切换到搜狗输入法

编辑群组

自动输入序列

KeeTrayTOTP

官网 下载

提供两步验证功能。

虽然KeePass有自带的两步验证功能,但是默认保存的TOTP数据字段,与KeePass2Android不通用(兼容性说明),KeeTrayTOTP插件则支持自定义保存的字段名,而且支持生成Steam的5位带字符的验证码。

TOTP

Steam令牌TOTP

此处简述一下获取Steam令牌密钥,并设置到KeeTrayTOTP插件的过程。首先需要一部已经root的安卓手机。此处推荐使用爱玩机工具箱管理模块,选择XPOSED专区,点击Xposed模块仓库,在云端模块一栏搜索"steam",可以看到SteamGuardDump,点击下载,下载完成后安装

安装SGD模块

安装成功后,在LSPosed中选中Steam作为作用域,然后启用模块,然后打开Steam应用,可以看到一个复制成功的弹窗,不生效就重启一下手机。

启用SGD模块

打开QQ或者微信之类的软件,粘贴刚刚自动复制的JSON信息,下面是格式化后的结果:

 1{
 2    "accounts": {
 3        "71356789234567893": {
 4            "shared_secret": "XaIj3kfxaI3P5DS+H15JXhRO61I=",
 5            "identity_secret": "zYq1AJQJeYItz2SXukgH5YACfH9=",
 6            "secret_1": "r53UGQwAXV5UD7DVpHQL/On1x3x=",
 7            "serial_number": "1919235565391891356",
 8            "revocation_code": "R34567",
 9            "account_name": "asdfasdfasd",
10            "token_gid": "1b35c1a45ac1v6x",
11            "steamguard_scheme": 2,
12            "steamid": "71356789234567893",
13            "uri": "otpauth://totp/Steam:asdfasdfasd?secret=XFGARHAS1QTI2D7MOU7B62ASDUKE522S&issuer=Steam"
14        }
15    },
16    "uuid_key": "android:1f23562a-d42a-1345-cad1-4adf134c1456"
17}

uri后的secret=XFGARHAS1QTI2D7MOU7B62ASDUKE522S字段就是我们需要的密钥,在KeePass中选中Steam密码条目,Ctrl + Shift + I或者右键菜单中打开Tray TOTP Plugin,选择Setup TOTP,填入密钥,然后选择TOTP FormatSteam,点击FinishCtrl + S保存数据库,就大功告成了。

设置TOTP

KPEntryTemplates

官网 下载

更美观,更简洁,更高效,可全面定制的模板编辑器。

如果使用KeePass2Android创建数据库,会发现多了一个模板群组,点击菜单栏文件,查看数据库设置高级,会发现启用了模板功能,模板记录组中选中的就是这个模板群组。

数据库设置

模板记录组

在没有安装KPEntryTemplates插件的情况下,查看模板中的记录,插入新的记录时,显示以下结果:

移动端模板

无插件查看模板

无插件创建记录

那么安装插件之后,查看模板中的记录,插入新的记录时,显示以下结果:

有插件查看模板

有插件创建记录

相关文章

  1. KeePass-Instructions-for-use
  2. Keepass安装使用方法(包含浏览器插件使用方法)
  3. Keepass调用Xshell、SecureCRT、RDP、Putty的方法(一劳永逸版)
  4. 从入门到熟练:KeePass全网最详使用指南
  5. 一劳永逸:KeePass全网最详使用指南 DLC1