第4章
设计密码管理器与2FA
4.1 学习目标
- 配置密码管理器,使其不依赖于自身。
- 比较各类2FA因素,为每个层级选择合适的类型。
- 设计后备方案:第二把硬件密钥、恢复码、应急包(emergency kit)。
4.2 概念
密码管理器属于CORE层
它保存各项服务的随机密码、LEAF的TOTP验证码、安全笔记和SSH密钥。因为它保管一切,所以它必须是最后一个允许出故障的东西,并且需要一条在它之外的进入通道。
常见的解锁组件
| 组件 | 存放位置 | 备注 |
|---|---|---|
| 主密码 | 在脑子里 | 长、好记(短语),不在别处使用 |
| 私钥/应急包(如有) | 安全处的纸质版 + 离线加密U盘,2个地方 | 不要拍照存到云端 |
| 密码管理器自身的2FA因素 | 硬件密钥(主)+ 另一个应用中的TOTP(辅) | 不存放在密码管理器本身里 |
| 恢复码 | 纸质/离线 | 一次性,用完后重新生成 |
各类2FA比较
| 类型 | 防钓鱼能力 | 锁死风险 | 适用于 |
|---|---|---|---|
| 硬件安全密钥(FIDO2/passkey) | 很好 | 只有1把时丢失即锁死 | CORE、重要的BRANCH(务必注册2把) |
| 设备上的通行密钥 | 好 | 依赖同步生态 | BRANCH、LEAF |
| TOTP(身份验证器应用) | 中等 | 无备份时丢手机即锁死 | BRANCH、LEAF |
| 短信 | 差(易被劫持SIM卡) | 丢失手机号 | 仅在别无选择时 |
| 邮件 | 取决于邮箱安全性 | 若邮箱需要本账户则形成循环 | 尽量少用 |
MFA黄金原则
- MFA必须被架构包裹,而不是各自为政。
- 强弱由层级决定:ROOT/CORE最强并附带明确出口;LEAF够用即可。
- MFA越强,越需要出口。
4.3 示例
A先生的配置:
- 主密码是由6个随机单词组成的短语,A先生已记住,并在第一周练习输入了10次。
- 应急包打印2份:一份放在家中保险箱,一份装入密封信封交给信任的亲人。另有一份电子版存于硬件加密U盘。
- 两把硬件密钥:一把挂在家门钥匙串上,一把与应急包放在一起。两把都已注册到密码管理器、ROOT邮箱和注册商。
- 密码管理器的TOTP放在手机上的独立身份验证器应用中,并有加密备份。
- 所有LEAF密码都是20位以上的随机密码,LEAF的TOTP直接存在密码管理器里(可以接受,因为LEAF允许死掉)。
4.4 常见错误
- 把密码管理器的TOTP验证码存在它自己里面。
- 只注册一把硬件密钥。
- 用了恢复码却不生成新的一套。
- 把应急包拍照存进自动同步到云端的相册。
- 密码管理器的登录邮箱只能用存放在管理器里的密码才能打开。
4.5 检查清单
4.6 练习
- 演练:在一台已清空的电脑上,只凭记忆和应急包重新登录密码管理器。记录每个卡住的步骤。
- 制表:每个BRANCH账户使用哪种2FA,后备是什么。
- 列出你的恢复码目前存放在哪里。有没有放在同步云端的?
4.7 小结
- CORE不得依赖其内部的东西。
- 硬件密钥是最强的因素,但永远需要2把。
- 恢复演练是唯一能确认计划是否可行的方法。