安全指南

多因素认证(MFA)如何正确选择:「抗钓鱼」是什么,SMS 为什么弱

SMS、验证器 App、通行密钥作为 MFA 的强度各不相同。为什么 SMS 会被钓鱼和 SIM 交换攻破、所谓「抗钓鱼」究竟是什么、哪个账户该配哪种因素,本文一一梳理。

发布于 2026-06-12 更新于 2026-10-18 5 分钟阅读
本页目录

MFA 组合两种或更多不同类别的认证因素。2FA 是其中使用两类因素的情况;两步验证指检查次数,并不自动等于 MFA。

本站的视角:看 MFA 用的是哪种方式,而不是有没有开

重要账户应检查实际方式、用户验证和恢复渠道,而不只是记录 MFA 已开启。抗钓鱼登录仍可能与薄弱的恢复路径并存。这是本站的防御建议,不是对大多数账户被盗原因的统计断言。

为什么需要 MFA

密码单独来看,应当以「迟早会泄露」为前提去考虑。重复使用、泄露外流、被猜中、被钓鱼,都会让密码被攻破。MFA 再加一个因素,即使密码被攻破,单凭它也无法登录。

密码
以迟早会泄露为前提
+1 因素
有第二个因素,单凭泄露的密码就进不来
3 个档位
方式不同能挡住的攻击截然不同
邮箱
被盗的邮箱可以重置其他所有账户

尤其重要的是邮箱账户。许多服务都用邮件来恢复「忘记密码」,所以邮箱一旦被夺,其他账户也会被一个接一个地重置。因此邮箱正是应当用最强 MFA 来守护的账户(→ 最低限度清单的 Tier 0)。

不同方式的强度差别

同样叫「双因素认证」,方式不同强度截然不同。越靠左越弱,越靠右越强。分水岭在于**「会不会对假站点出示」**。

✗ SMS / 邮件

验证码可能被钓鱼;SMS 还面临手机号劫持

△ 验证器 App(TOTP)

比 SMS 强,但验证码可能被中继到假站点

○ 通行密钥

签名绑定域名;要求用户验证时使用 PIN 或生物识别

◎ 物理安全密钥

FIDO2 专用密钥。最强,建议备一把

越靠左越弱,越靠右越强。分水岭在于「会不会对假站点出示」。通行密钥/物理密钥在设计上就无法出示。

SMS / 邮件的验证码

  • 验证码只是一串数字,在假站点上也能照贴
  • SIM 交换针对手机号上的 SMS 或语音接收。邮件验证码依赖邮箱及其恢复机制的保护;两种手动输入的验证码都可能被钓鱼。
  • 中继钓鱼把验证码转发给真站点时,它挡不住
  • 比没有强,但对重要账户来说单靠它不够

通行密钥 / 物理密钥(FIDO2)

  • 密钥绑定到所访问的域名,在假站点上签不出名
  • 设计上就抗钓鱼(不依赖人的判断)
  • 单独用通行密钥或安全密钥实现 MFA 时,服务必须要求并验证 PIN、生物识别等用户验证。安全密钥也可与密码组合使用;仅触碰以确认人在场不等于第二种因素。
  • 邮箱、域名、支付账户就用它

「抗钓鱼」是什么

这是最重要的概念。SMS 或验证器 App 的验证码,归根结底要靠人用眼睛判断「是不是输进了正确的站点」。但以假乱真的假域名,人是分辨不出来的。而通行密钥或物理密钥(FIDO2)知道自己是给哪个域名用的,因此对假站点不会返回签名。也就是说即使人被骗了,密钥也不会为假站点签名。这就是「抗钓鱼」,是区分弱方式与强方式的决定性差别。

对比表(含推送通知)

此比较依据 CISA 2022 年 10 月的资料,不是对所有服务的完整安全评估。 除了 SMS、验证器 App 和通行密钥,设置页面上常常还有一种方式:在发到手机的通知上点「是」(推送通知)。美国网络安全和基础设施安全局(CISA)把 MFA 从强到弱排序如下:

方式在假站点上输入反复请求直到你点击SIM 交换定位(CISA)
通行密钥/物理密钥(FIDO2)不会生成签名不适用不适用最强(抗钓鱼)
验证器 App 验证码(TOTP)可能被中继不适用不适用第二档
带数字匹配的推送通知可能被中继不太可能不适用第二档
推送通知(只有批准按钮)可能被中继可能不适用第三档
SMS 或语音验证码可能被中继不适用可能最后手段

推送通知的弱点在于:攻击者一旦拿到密码,就会反复发送批准请求,直到用户误点「批准」或为了让它停下来而点下去。CISA 把这称为「推送轰炸」(MFA 疲劳)。对策是数字匹配:必须把登录画面上显示的数字输入 App 才能批准。对于 Microsoft 工作或学校账户(Microsoft Entra ID),自 2023 年 5 月 8 日起,所有 Microsoft Authenticator 推送通知都强制启用数字匹配。

表中的手动验证码和普通推送不具备抗钓鱼能力。抗钓鱼技术不限于 FIDO,NIST 也描述了客户端认证 TLS。本文聚焦个人服务常见的通行密钥与 FIDO2 密钥;CISA 将验证器代码或数字匹配推送作为过渡选择。

按场景:该选哪种方式

不需要所有账户都用同一种方式。按被盗后损失的大小来区分即可。

账户或场景推荐方式要准备的备用手段
个人邮箱(Gmail、Outlook.com 等)通行密钥第二台设备上的通行密钥,或备用码
密码管理器通行密钥或物理密钥第二把物理密钥,以及写在纸上保管的恢复信息
域名、服务器或云的管理员物理密钥(两把)另处保管的第二把密钥、恢复码
银行和证券金融机构提供的通行密钥或其他方式金融机构自己的重置流程
社交媒体、网购通行密钥,否则用验证器 App备用码
没有智能手机的家人物理密钥(两把),用不了时用 SMS由家人保管的备用码

拿不准时,就问自己「这个账户会被用来恢复其他账户吗?」邮箱和密码管理器是通往其他一切的入口,所以这两个要用最强的方式。

如何设置(顺序很重要)

1

先从邮箱、域名、支付开始

给邮箱、域名注册商、服务器管理面板、支付账户,最优先配上抗钓鱼 MFA(通行密钥/物理密钥)。因为它们可以用来重置你的其他账户(→ 最低限度清单)。
2

密码管理器本体也要 MFA

托管日常登录的密码管理器,本身就是最重要的账户之一。用主密码+MFA 做双重保护(→ 密码的安全保管)。
3

若不支持就用验证器 App(TOTP)

在不支持通行密钥的服务上,不要选 SMS,而要选验证器 App。SMS 只是没有其他选项时的最后手段。
4

妥善保管恢复码

若丢失唯一可用的认证器,且没有受支持的恢复方式,可能无法登录。请将恢复码保存在密码管理器的安全笔记或加密存储中,与设备分开保管。
5

准备一个备用手段

按服务要求准备备用方式。注册两把密钥很有帮助;Apple 账户要求至少两把。若仍有其他注册密钥、受信任设备或支持的恢复方式,丢失一把不一定无法登录。

即使开了 MFA,也别再重复使用密码

MFA 是保险,不是弱密码的借口。在只能配上不具抗钓鱼能力的 MFA(如 SMS)的服务上,密码的强度与唯一性仍然是主要的防护。强度可在 密码强度检测器 上确认。

主要服务的设置位置

以下是入口(依据 2026 年 10 月时的官方帮助页面;画面名称可能变更)。

服务位置方式与备注
Google 账号Google 账号 →「Security & sign-in」(安全与登录)→「两步验证」通行密钥、安全密钥、Google 提示、验证器 App、短信或语音、备用码
Microsoft 账户(个人)account.microsoft.com/security →「Manage how I sign in」(管理登录方式)→「Additional security」(其他安全性)→「Two-step verification」(两步验证)也可以删除密码,改为无密码登录
Apple 账户设置 →[你的名字]→「登录与安全性」→「双重认证」→「安全密钥」必须添加至少两把经 FIDO 认证的密钥(iOS 16.3 或更高版本);添加后,密钥取代六位数验证码
GitHubSettings →「Password and authentication」(密码和身份验证)步骤见 如何设置 GitHub 双因素认证

在任何服务上,注册第一种方式的当天,就把备用方式也设好、把备用码保存好。拖着不办,等设备丢失时它就不在了。

如何选择验证器 App 或物理密钥

选验证器 App 时要确认的

  • 换手机时能否把验证码迁移到新手机
  • Google Authenticator 自 2023 年 4 月起提供可选的 Google 账号同步
  • 把验证码放在密码管理器里很方便,但它被攻破时两个因素会从同一个地方泄露
  • 重要账户的验证码,放在与密码分开的 App 里

选物理密钥时要确认的

  • 选择支持 FIDO2(FIDO Certified)的产品
  • 确认适配设备的接口(USB-A、USB-C),手机则看 NFC
  • 一开始就买两把,都注册到同一个账户
  • 一把随身携带,另一把放在家里等其他地方

如何检查自己的设置

1

运行 Google 的安全检查

在 myaccount.google.com/security-checkup 可以一次查看两步验证方式、辅助电话和邮箱、已登录的设备。发现旧手机号就删掉。
2

复查 Microsoft 账户的登录方式

在 account.microsoft.com/security 的「Manage how I sign in」(管理登录方式)中查看已注册方式的列表。删除不再使用的手机号和邮箱地址。
3

在 iPhone 上检查受信任号码和密钥

在 设置 →[你的名字]→「登录与安全性」中,检查哪些手机号会接收验证码、注册了哪些安全密钥。
4

列出每个账户的方式

对邮箱、密码管理器、域名、云、银行和证券、社交媒体,在密码管理器的安全备注里记下「当前方式」「备用方式」「备用码放在哪里」。如果某个重要账户只有 SMS,先换掉那一个。
5

实际用备用手段登录一次

用第二台设备上的通行密钥或第二把物理密钥实际登录一次。「注册了却用不了」这种失败,只有测试才能发现。

常见错误及修正方法

  • 添加了通行密钥,却仍留着 SMS 可以登录或重置账户:服务允许时删除 SMS;不允许时,确认注册的号码仍是你自己的。
  • 点了自己没预料到的批准请求:不是自己在登录时收到的请求一律拒绝,然后修改该账户的密码。
  • 把备用码存成手机里的照片或截图:手机丢了它们也一起丢了。存放在密码管理器里,或写在纸上放在别处。
  • 可能需要备用密钥或其他受支持的恢复方式.
  • 换机时先清空了旧手机:先确认验证器 App 和通行密钥在新手机上能用,再清空旧手机。
  • 有人通过电话或消息索要验证码时照念:即使对方自称是服务方或你们自己的服务台,也绝不要把验证码给任何人。

真实案例:验证码被交了出去

在美国经营牙科和视力福利业务的 DentaQuest,于 2026 年 5 月就未经授权的访问向各州总检察长提交了通知。根据申报,入口是一名员工通过社会工程被骗,提供了凭据和多因素认证验证码。在 8 月 3 日的更新申报中,该公司表示已在全国范围内确认超过 2,740 万人。申报没有说明当时使用的是哪种 MFA。

这个案例说明:人能念出来或输进去的验证码,在这个人被骗时就可能被交出去。对管理账户的一方来说,对策有两部分:

  • 把重要账户迁移到通行密钥、物理密钥等无法交出去的方式
  • 服务台在为任何人重置认证方式之前,先核实来电者的身份

完整经过以及会员应采取的行动见 DentaQuest 数据泄露事件(英文)。

本站是怎么做的

本站把重要账户(尤其是邮箱与域名、服务器管理、支付)尽可能用具备抗钓鱼能力的 MFA牢牢守住。理由很简单:其中一个被盗,其他账户也可能随之被盗。日常登录用密码管理器管理,并给这个管理器本身也配上 MFA。

而且不止步于「开了 MFA」,还会定期复查配的是哪种方式。一旦发现某个重要账户只配了 SMS,就把它当作薄弱点,优先升级为通行密钥/物理密钥。不按有无来管理,而按强度来管理,这就是本站的方针。

参考资料

接下来阅读

FAQ

Q开启多因素认证(MFA)就安全了吗?
A

MFA 能降低风险,但方式和恢复流程都重要。SMS 面临号码劫持和钓鱼风险,邮件验证码则依赖邮箱的安全。重要账户应优先选择抗钓鱼方式,并确认用户验证和恢复条件。

Q为什么说 SMS 验证较弱?
A

因为验证码只是一串数字,输入到的是真站点还是假站点只能靠人来判断。它会被中继钓鱼(你把验证码输进以假乱真的站点)和 SIM 交换(手机号被劫持)攻破。比没有强,但对重要账户来说单靠它不够。

Q到底该选哪种方式?
A

MFA 组合不同类别的因素。手动输入的验证码可能被钓鱼中继,SMS 还依赖对手机号的控制。重要账户应优先考虑通行密钥或 FIDO2 安全密钥等抗钓鱼方式,并检查用户验证要求和恢复流程。 单独用通行密钥或安全密钥实现 MFA 时,服务必须要求并验证 PIN、生物识别等用户验证。安全密钥也可与密码组合使用;仅触碰以确认人在场不等于第二种因素。

Q在手机通知上点「批准」安全吗?
A

比 SMS 强,但知道你密码的攻击者可以反复发送批准请求,直到你误点(推送轰炸)。数字匹配(把登录画面上显示的数字输入 App)能让这种攻击难得多。不是自己在登录时收到的请求一律拒绝,并修改该账户的密码。

Q验证器的验证码可以放在密码管理器里吗?
A

方便,而且比 SMS 安全。但如果密码管理器被攻破,密码和验证码会从同一个地方一起泄露。邮箱、域名、支付等重要账户,请使用通行密钥或物理密钥,或者使用与密码分开存放的验证器 App。

Q物理安全密钥需要几把?
A

按服务要求准备备用方式。注册两把密钥很有帮助;Apple 账户要求至少两把。若仍有其他注册密钥、受信任设备或支持的恢复方式,丢失一把不一定无法登录。