auth
2FA (双因素认证)
Also known as: two-factor auth, two-step verification, 2-step
一种身份验证方案,需要两个独立的证明因素,通常是密码加上第二个因素,如手机、应用或硬件令牌。
2FA,即双因素认证(two-factor authentication),是一种身份验证方案,要求用户在获得访问权限前提供两个独立的证明因素。身份验证因素的经典分类包括:
- 你知道的东西 — 密码、PIN 或记忆短语
- 你拥有的东西 — 手机、硬件令牌、智能卡或已注册的设备
- 你是什么 — 生物特征,如指纹、面部或声音
2FA 方案将来自不同类别的两个因素结合起来。消费者软件中最常见的部署方式是将密码(你知道的东西)与通过 SMS 传送或由身份验证器应用生成的 OTP(你拥有的东西)配对。不太常见但更强的组合包括密码 + 硬件密钥(FIDO2 / WebAuthn)或密码 + 推送通知。
2FA 的安全前提是同时破坏两个因素比破坏一个困难得多。如果攻击者通过钓鱼获得密码,他们仍然需要物理或远程访问用户的第二因素设备。如果攻击者盗取手机,他们仍然需要知道密码。
在实践中,2FA 的传送渠道在实际安全性方面差异很大:
- SMS 传送的 OTP 是最弱的主流选项。SIM 卡交换攻击、SS7 拦截和运营商端的泄露都可能将第二因素重定向到攻击者。
- 通过身份验证器应用的 TOTP(Google Authenticator、Aegis、2FAS)要强得多,因为代码在攻击者没有的设备上本地生成。
- 基于推送的 2FA(Duo、Microsoft Authenticator)很方便,但容易受到推送疲劳攻击,用户可能会意外批准恶意请求。
- 硬件密钥(YubiKey、Feitian、SoloKey)是最强的常见第二因素,通过源绑定的密码学挑战提供防钓鱼能力。
2FA 与 MFA(多因素认证)不同,MFA 可能需要三个或更多因素。在日常用语中,这两个术语往往可以互换。2FA 也不同于双步骤验证,后者历史上指的是可能使用同一因素两次的两步骤过程(如密码后跟电子邮件代码),尽管这种区分在现代用法中已经减弱。
尽管存在这些弱点,在重要账户上启用 2FA 会大大降低机会主义攻击的成功率。行业研究一致报告,2FA 可以阻止超过 99% 的自动撞库尝试。
Example
在你的账户上启用 2FA,这样泄露的密码单独不足以登录。