OneKitTools logoOneKitTools
security1 分钟阅读

"双因素认证详解:为什么短信验证码没你想的安全"

双因素认证必不可少——但并非所有2FA都一样安全。了解短信验证码为何可被拦截、哪些替代方案更强,以及如何真正保护你的账户。

OneKitTools Team2026年4月14日

两个密码不等于两个因素

"开启2FA"——这是你到处都能听到的建议。但大多数人开启的是短信版本——一个发到手机的6位验证码——然后就觉得安全了。确实比没有2FA更安全。但基于短信的2FA有真实且有据可查的弱点,你应该了解。

目的不是让你放弃短信2FA,而是帮你理解你实际获得了什么保护,以及何时需要更强的方案。

什么是双因素认证?

认证因素分三类:

  • 你知道的东西 — 密码、PIN码
  • 你拥有的东西 — 手机、硬件密钥、验证器应用
  • 你本身是什么 — 指纹、面部识别

双因素认证(2FA)意味着使用两种不同类型的因素。密码+短信验证码是"你知道的东西"+"你拥有的东西"。这是真正的2FA——比单独使用密码安全得多。

问题不在于2FA本身。问题在于"你拥有的东西(手机)"可以在不物理盗取手机的情况下被劫持。

为什么短信2FA可以被拦截

SIM卡换卡攻击(SIM Swapping)

最常见的短信攻击。流程如下:

  1. 攻击者冒充你给运营商打电话
  2. 声称丢失手机,需要将号码转移到新SIM卡
  3. 运营商将你的号码转移到他们的SIM卡
  4. 发送到"你的"号码的所有短信现在都到了攻击者那里
  5. 攻击者为你的账户请求密码重置+短信验证码

这种情况发生在知名人士身上。加密货币交易所账户、邮件账户、社交媒体——SIM换卡攻击是众所周知的攻击向量,因为运营商的身份验证执行不一致。

SS7协议漏洞

SS7协议是这个已有40年历史的技术基础设施,用于在全球路由电话和短信。它存在已知的安全漏洞,允许国家级攻击者和高级犯罪组织在传输途中拦截短信——无需接触你的手机或运营商。

对大多数人来说,SS7攻击是理论上的。对高价值目标(高管、记者、活动人士)而言,这是真实威胁。

实时钓鱼获取短信验证码

针对普通用户最常见的攻击:一个虚假登录页面同时捕获你的密码和短信验证码,然后在验证码过期前在真实网站上重放。

你在逼真的假网站上输入凭据→他们登录真实网站→真实网站给你发短信→你在假网站上输入短信→攻击者获得你的会话。

这称为"实时钓鱼攻击"或"中间人对手"(AiTM)攻击。即使你没有交出手机,它也能对抗短信2FA。

比短信更强的选项

验证器应用(TOTP)

Google Authenticator、Authy或任何兼容TOTP的应用,在你的设备本地生成基于时间的验证码。没有短信,没有运营商介入。

为什么更好: 验证码在你的设备上生成,不通过网络传输。SIM换卡没用——验证码在你的原始手机上。实时钓鱼仍然有效(如果你在假网站上输入验证码),但SS7攻击不适用。

用于: 任何支持的服务。优先选择这个而不是短信。

硬件安全密钥(FIDO2/WebAuthn)

物理设备(YubiKey、Google Titan等),通过USB插入或NFC轻触。登录时需要物理触碰密钥。

为什么更强: 加密证明,没有可拦截的验证码,防钓鱼(密钥通过检查域名来验证自己在与真实网站通信)。实时钓鱼无效——密钥不会对假域名进行认证。

用于: 你最重要的账户——邮件、银行、公司账户。

Passkeys(通行密钥)

Passkeys使用存储在设备上的公钥加密完全取代密码。Apple、Google、Microsoft及越来越多的服务支持。

为什么更强: 没有密码可偷,没有验证码可拦截,通过设计防钓鱼(加密域名绑定)。私钥永不离开你的设备。

用于: 任何支持的服务(Apple ID、Google账号、GitHub、PayPal、1Password等)。

诚实的安全排名

从最不安全到最安全:

  1. 没有2FA — 仅密码(避免)
  2. 短信2FA — 比没有强,易受SIM换卡+AiTM钓鱼攻击
  3. 验证器应用(TOTP) — 免疫SIM换卡,仍易受AiTM钓鱼
  4. 硬件密钥(FIDO2) — 防钓鱼,需要物理在场
  5. Passkeys — 防钓鱼,无密码,强选项中最佳用户体验

实际该怎么做

对大多数人:

  • 尽可能使用验证器应用(而非短信)
  • 如果短信是唯一选项就用短信——仍然比什么都没有好得多
  • 首先为邮件账户开启2FA——它是所有其他账户的主钥匙

对高价值账户(银行、加密货币、公司访问):

对所有人:

  • 永远不要在不同网站复用密码
  • 发生泄露时:更改密码,检查相同密码是否在其他地方使用过,如果还没有就开启2FA

结论

短信2FA比没有2FA好。如果这是唯一选项,就用它。但如果服务提供验证器应用或硬件密钥选项,就选择它——安全性的提升是显著的。

最重要的事:在你的邮件账户上启用2FA。邮件是其他一切的恢复机制——如果攻击者控制了你的邮件,他们可以重置你所有其他的密码。

检查你的邮件是否在数据泄露中——然后今天就为它开启2FA。

分享