聊 2FA 的时候总会有人提一句------"最安全的是硬件密钥"。这个说法没错,但硬件密钥到底是什么、怎么用、值不值那几百块钱,值得认真聊一下。
硬件密钥是什么
硬件密钥是一个物理设备------通常长得很像 U 盘或者钥匙扣。它里面有一颗安全芯片,专门用来生成和存储密钥。核心特性就一条:私钥永远不会离开这颗芯片。
你注册的时候,密钥在芯片里生成,私钥锁死在硬件里,公钥发给网站。登录的时候,网站发 challenge → 你插入密钥、触摸一下 → 密钥用私钥签名 → 完成。全程私钥没出过设备。
常见的硬件密钥:YubiKey(最主流)、Google Titan、Feitian(飞天诚信,国产方案)。
它比 TOTP 安全在哪
防钓鱼。 这是硬件密钥最大的优势。FIDO2/WebAuthn 协议在验证时会检查当前网页的域名。如果攻击者做了一个假的 Google 登录页,域名不匹配,密钥直接拒绝签名。而 TOTP 验证码是一个 6 位数字------你手动填进哪个网站都行,包括假网站。
没有共享密钥。 TOTP 是你和平台各持一份相同的种子密钥。硬件密钥是非对称加密------平台只有你的公钥,私钥永远在你手里。
物理存在。 要登录必须插入密钥或靠近密钥(NFC)。远程攻击者就算拿到了你的密码,没有物理接触也过不了 2FA。
那为什么不是人人都用
价格。 一个 YubiKey 价格在 200-500 元之间。TOTP 免费。虽然有人觉得"为自己的安全花 200 块不多",但规模化推给全公司每人一个确实是成本。
易丢/易忘。 手机你出门一定带,硬件密钥不一定。到了公司发现密钥落家里了------今天就登不进去了。所以买硬件密钥的人通常会买两个:一个日常用,一个放家里当备份。
兼容面有限。 主流平台(Google、GitHub、微软、AWS)基本都支持了,但很多中小网站、企业内部系统还没接入。支持硬件密钥的网站会标注"支持安全密钥/FIDO2/U2F"。
值得买吗
适合买的人:账号价值很高(域名注册商、云服务根账号、交易所)------几百块的密钥保护几千甚至几万块的资产,值。或者你需要防钓鱼------经常在不熟悉的网络环境下登录敏感平台。
不适合买的人:日常只用几个主流平台、网络环境固定------TOTP + 云备份足够用了。
如果买了,怎么用
注册时在平台的 2FA 设置里选"安全密钥"或"硬件密钥"→ 插入 → 触摸一下 → 完成。建议注册两个密钥(不同品牌或不同批次),一个日常携带,一个放家里当备份。
TOTP 可以继续留着当第三备用方式。三个因素互相备份:密码 + 硬件密钥 + TOTP 恢复码。基本杜绝了被锁在门外的可能。