虚拟 MFA、短信 MFA、Push MFA 与 WebAuthn / Passkey 的安全边界

对比虚拟 MFA、短信 MFA、Push MFA 与 WebAuthn / Passkey 在抗钓鱼、部署成本、恢复和设备依赖上的安全边界。

#type / synthesis #status / evergreen #tech / security #resource / mfa #resource / webauthn #resource / passkey

[!info] related notes

虚拟 MFA、短信 MFA、Push MFA 与 WebAuthn / Passkey 的安全边界

范围

这篇笔记只比较几种常见二次认证方式在真实系统里的安全边界,不展开完整协议细节。

比较对象包括:

  • 虚拟 MFA(通常是 TOTP 认证器)
  • 短信 MFA
  • Push MFA
  • WebAuthn / Passkey

为什么要放在一起理解

这些方案都常被放进“开启 MFA”这一类产品开关里,但它们解决的问题并不完全一样。

真正需要一起比较的是:

  • 防的是什么攻击
  • 最脆弱的边界在哪里
  • 服务端和用户侧分别要承担什么成本

依赖路径 / 调用链 / 演进链

从安全能力看,常见演进方向大致是:

无 MFA
-> 短信 MFA
-> 虚拟 MFA(TOTP)
-> Push MFA(带 number matching)
-> WebAuthn / Passkey / 硬件安全密钥

背后的提升逻辑主要是:

  1. 从“只有静态密码”升级到“多一个独立因素”
  2. 从依赖运营商信道升级到本地密钥或设备密钥
  3. 从可被实时转发的验证码升级到与站点绑定的签名

对比与易混淆点

方式主要优势主要短板更典型防护点
虚拟 MFA成本低、离线可用、广泛兼容不天然抗实时钓鱼,依赖 secret 安全密码泄露、撞库
短信 MFA用户教育成本低,覆盖广容易受 SIM Swap、短信劫持、延迟影响弱化单密码风险
Push MFA体验好,可结合设备上下文容易遭受 MFA fatigue,需要 number matching常规登录确认
WebAuthn / Passkey强抗钓鱼,域名绑定,私钥不出设备生态接入和恢复设计更复杂实时中间人钓鱼、凭证转发

几个关键判断:

  • 虚拟 MFA 通常强于短信 MFA,因为它不依赖运营商信道。
  • Push MFA 的安全性很依赖交互设计;只有“允许 / 拒绝”的 Push 很容易被疲劳轰炸。
  • WebAuthn / Passkey 的关键优势不是“更方便的验证码”,而是它根本不依赖可转发的共享验证码。
  • 对高权限账号而言,最薄弱点往往不是算法,而是恢复码管理和 MFA 重置流程。

可以把这几种方式的差异总结成一句话:

TOTP 主要防密码单独失守,WebAuthn / Passkey 进一步防实时钓鱼和凭证转发。
创建于 2026/5/18 更新于 2026/5/27