硬件密钥 YubiKey - 物理钥匙
什么是硬件密钥
硬件密钥(Hardware Key)是一种 USB 或 NFC 设备,提供物理形式的解锁因子。最知名的品牌是 YubiKey,其他还有 OnlyKey、Solo 等。
硬件密钥的优势:
- 物理隔离:密钥存储在硬件里,无法被提取
- 主动动作:解锁时需要物理点击(或 NFC 靠近),防止远程攻击
- 专用处理器:加密运算在硬件内完成,不会暴露密钥到设备内存
KeePassDX 的支持状态
KeePassDX 对硬件密钥的支持经历了几个阶段:
- 早期版本:支持有限,需要某些特定硬件
- 3.x 版本:逐步完善对 YubiKey 的 FIDO2/WebAuthn 支持
- 4.x 版本:全面支持硬件密钥作为解锁因子
具体支持情况取决于硬件型号和 KeePassDX 版本。YubiKey 5 系列是兼容性最好的选择。
如何使用
硬件密钥在 KeePassDX 里主要有两种用途:
作为数据库解锁因子
某些硬件密钥(特别是 FIDO2 类型)可以参与 KeePass 数据库的解锁流程:
- 在数据库设置里选择"硬件密钥"作为解锁因子
- 插入硬件密钥(或用 NFC 靠近手机)
- 硬件密钥完成加密运算,返回密钥数据
- KeePassDX 结合主密码和硬件密钥数据解锁数据库
作为 Passkey 凭据存储
KeePassDX 4.2.0+ 支持 Passkey。硬件密钥可以作为 Passkey 的存储设备:
- 创建 Passkey 时选择硬件密钥作为存储目标
- 登录时硬件密钥负责生成 WebAuthn 签名
- 硬件密钥需要物理确认(点击按钮)
硬件密钥的代价
- 额外成本:YubiKey 5 NFC 约 50-60 美元
- 便携性:需要随身携带,丢失就麻烦了
- Android 兼容性:不是所有 Android 手机都支持 USB OTG 或 NFC HCE
替代方案
如果觉得硬件密钥太贵,可以考虑:
- 密钥文件 + 物理介质(U 盘、SD 卡):更便宜,但安全性稍逊
- 双数据库隔离(见"多数据库隔离策略"页面):用两个独立的 .kdbx 文件代替多因子解锁