多因素认证(MFA)

多因素认证是在主认证之外再要求额外认证因素的身份验证机制,用于降低密码单点失守风险。

#type / concept #status / evergreen #tech / security #resource / mfa

[!info] related notes

多因素认证(MFA)

一句话定义

多因素认证(MFA)是在主认证之外,再要求一个或多个不同类型的认证因素,用来降低“密码泄露后可直接登录”的风险。

核心机制 / 工作原理

MFA 的核心不是“多输一次验证码”,而是把认证拆成不同类别的证明:

  • 知识因素:你知道什么,例如密码、PIN
  • 持有因素:你拥有什么,例如手机认证器、硬件安全密钥
  • 生物因素:你是谁,例如指纹、人脸

只有当第二个因素和第一个因素不属于同一类时,才真正提高了安全边界。

常见场景是:

  1. 用户先通过主认证,例如账号密码。
  2. 服务端识别该账号需要额外验证。
  3. 用户再提供第二因素,例如 TOTP 验证码、Push 确认或安全密钥签名。
  4. 服务端校验通过后才签发最终登录态或允许高危操作。

MFA 主要解决的是:

  • 密码泄露
  • 撞库
  • 单一凭证被窃取后的直接滥用

它通常还会和风控配合使用,例如:

  • 新设备登录时强制二次验证
  • 高危操作前做 step-up authentication
  • 失败次数限速与锁定

最小例子 / 最小场景

一个典型的 Web 登录流程:

账号密码正确
-> 系统要求 MFA
-> 用户输入认证器里的 6 位码
-> 服务端校验通过
-> 登录成功

这时“密码”证明的是你知道秘密,“认证器里的动态码”证明的是你持有绑定设备。

边界与易混淆点

  • 2FA 是 MFA 的常见子集,强调两个因素;MFA 更泛,允许两个以上因素。
  • “密码 + 密保问题”通常不算强 MFA,因为两者都还是知识因素。
  • 短信验证码、虚拟 MFA、Push MFA、WebAuthn 都可能被归入 MFA,但它们的抗钓鱼和抗接管能力差异很大。
  • Passkey 往往把多种证明压缩成一次用户操作,但安全模型通常强于传统 TOTP。
  • MFA 不是万能的,它无法天然抵抗设备被控、实时中间人钓鱼或弱恢复流程。
创建于 2026/5/18 更新于 2026/5/27