同样是"多问一步",为什么有的插 U 盘、有的发短信?一次讲清多因素认证(MFA)
短信、手机弹窗、小 U 盘、Passkey……看起来都是“多问一步”,但差别巨大。判断它们其实只看两条:这第二样,是不是“另一种东西”?它的钥匙本体,上不上网?
一、先分清:什么才算“一个因素”
- 你知道的:密码、PIN;
- 你有的:验证码、手机、密钥;
- 你是什么:指纹、人脸。
第二因素必须是不同的东西;同一个密码问两遍,不算。(FFIEC 2006 就强调:真 MFA 必须使用不同因素。)
二、五种“第二步”,摆一排
- 短信 / 语音 OTP:一次口令,可被转发 → 怕 SIM 劫持、实时转发钓鱼;
- 动态口令 TOTP(RFC 6238 / HOTP RFC 4226):APP 本地算,离线 → 怕设备丢失;
- 推送确认:弹到手机 → 怕推送疲劳(Uber 2022);
- 硬件密钥(FIDO2 / WebAuthn):密钥在设备里、不上网 → 怕丢失(需备份);
- Passkey:硬件密钥“平民化”,可同步。
三、强弱就差一条:钥匙上不上网
能“传”的,就能被截、被转发——短信和推送本质上是一次可转发的口令;而“钥匙本体不上网”的方式(硬件密钥、Passkey),钓鱼站拿不到能用的凭证。
四、数据说话
- Google 2017:8.5 万+ 员工启用硬件密钥后,无成功钓鱼。
- NIST SP 800-63B-4:把短信 / 语音列为当前唯一受限的认证器。
五、怎么选 + 别忘了恢复码
普通用户:低门槛(短信 / 邮件 / TOTP);企业日常:TOTP / 推送;要紧岗位 / 高敏:钥匙不上网(Passkey / 硬件密钥)。但越结实越怕丢——恢复码单独收好。没有哪一种永远保险。
以上实践来自我们构建开源身份层 Autional 的经验,官网:https://www.autional.com
参考:NIST SP 800-63B-4、RFC 6238 / RFC 4226、W3C WebAuthn / FIDO2、FFIEC 2006;案例:Google 2017、Uber 2022。
浙公网安备 33010602011771号