安全密钥
本文约需 2 分钟阅读
安全密钥是一种符合 FIDO2/U2F 规范的物理硬件认证设备。只需插入 USB 端口或通过 NFC 触碰,它就能作为在密码之外的强力第二认证要素发挥作用。它采用基于公钥密码学的挑战-应答方式,对钓鱼攻击具有结构性的抵抗能力,这一点与 SMS OTP 和 TOTP 有着决定性的区别。 Google 在 2017 年要求全体员工 (8 万人以上) 强制使用安全密钥,并报告称此后因钓鱼导致的账户入侵降为零。
主要产品与连接方式
在安全密钥市场中,Yubico 的 YubiKey 系列占据压倒性的份额,其后是 Google 的 Titan Security Key 和 Feitian 的 ePass 系列。连接方式应根据设备的使用环境进行选择。
| 连接方式 | 支持的设备 | 特点 |
|---|---|---|
| USB-A | PC (传统端口) | 最为普及。与传统环境的兼容性高 |
| USB-C | 最新 PC / Mac / iPad | 今后的主流。对 MacBook 用户必不可少 |
| NFC | 智能手机 (Android / iPhone) | 只需靠近即可认证。最适合移动场景使用 |
| Lightning | iPhone (旧型号) | 面向 iPhone 14 之前的机型。随着向 USB-C 迁移而趋于缩减 |
在实务中,备有一支支持 USB-C + NFC 的型号,无论 PC 还是智能手机都能使用,通用性很高。安全密钥产品一览 (Amazon)可比较各款型号。
抗钓鱼能力强的原因 - 来源验证
安全密钥之所以对钓鱼具有强大抵抗力,最大原因在于其在认证时会以密码学方式验证浏览器的来源 (域名) 的机制。即使攻击者诱导用户访问伪造站点 (例如 g00gle.com),安全密钥也不会在伪造站点的来源下使用面向正规站点 (google.com) 的认证凭据。由于此验证在硬件层面自动进行,因此即便用户看错了 URL,攻击也无法得逞。
这是 SMS OTP 和 TOTP 所不具备的特性。对于 OTP,只要用户在伪造站点输入验证码,就会被攻击者获取;而使用安全密钥时,签名根本不会生成,因此对中间人 (AiTM) 攻击也具有抵抗力。详情请参阅安全密钥导入指南。
与通行密钥的区别
安全密钥和通行密钥都基于 FIDO2/WebAuthn 规范,但认证凭据的保管方式有着根本性的不同。
私钥被封闭在物理设备内部,无法取出到外部。一旦丢失,便无法再使用该密钥登录。适用于企业安全策略中希望「以物理方式管理密钥所在位置」的场景。
私钥通过 iCloud 钥匙串或 Google 密码管理器在多台设备间同步。即使设备丢失也可从云端恢复。适用于重视普通用户便利性的场景。
丢失时的恢复设计
安全密钥最大的运维课题是丢失或故障时的恢复。由于私钥固定在物理设备上,一旦丢失密钥,就有可能直接无法访问账户。在实务中,推荐采用以下多层次的恢复设计。
- 注册一支备用安全密钥作为第二支,并保管在安全的地方
- 预先设置多因素认证的替代手段 (通行密钥、恢复代码等)
- 在企业环境中,建立由 IT 管理员负责的恢复流程
- 务必为重要账户注册多种认证手段
若一并查看两步验证基础和通行密钥迁移的课题,就能看清认证设计的全貌。
现场使用案例
“我们向全体员工每人发放 2 支 YubiKey,1 支随身携带,1 支在家中保管。导入后的两年间,因钓鱼导致的账户入侵为零。TOTP 时代每月发生 5 起的事件彻底消失了。”
这篇文章对您有帮助吗?