// 超越短信

OTP 替代方案:通行密钥、TOTP 与魔法链接——何时弃用短信

短信 OTP 很方便,但它既不是最便宜、也不是最安全的验证用户方式。通行密钥、TOTP 验证器应用与魔法链接,各自在特定流程中都胜过短信。本指南对它们做诚实对比,让你决定何时把它们与短信并用,以及何时彻底弃用短信。

只靠短信的问题

短信 OTP 有真实的弱点:它易受 SIM 换卡攻击与拦截、依赖尽力而为的运营商送达,而且每次发送都要花钱,成本随规模增长。对低风险的便利场景它没问题;对高价值账号或高量级,唯独依赖它就是一种负债。

现代的答案不是“永不用短信”,而是“为每个流程用对因素”,常常把短信当作降级而非主因素。

  • 安全:SIM 换卡与拦截能击败短信 OTP。
  • 可靠性:送达是尽力而为的,且因国而异。
  • 成本:每次发送都计费,并随用户增长。

通行密钥(WebAuthn/FIDO2)

通行密钥用一对绑定到用户设备、由生物识别或 PIN 解锁的密码学密钥,取代密码与 OTP。它们在设计上抗钓鱼、每次认证零成本,如今在主流浏览器与平台上均受支持并可云同步。对新的消费级产品,通行密钥正日益成为推荐的主因素。

  • 强项:抗钓鱼、无每次使用成本、设置后体验极佳。
  • 弱项:账号恢复与跨生态同步需要谨慎设计。
  • 在新流程中作为主因素使用,并为恢复留一个降级。

TOTP 验证器应用

TOTP(基于时间的一次性密码)在 Google Authenticator 或 Authy 这类应用中,由一个共享密钥生成轮转的 6 位验证码。它没有送达依赖、没有每次使用成本,且比短信更能抵抗拦截。代价是设置摩擦,以及设备丢失时的恢复。

  • 强项:无送达风险、无每次使用成本、抵抗 SIM 换卡。
  • 弱项:注册有摩擦;设备丢失需要恢复码。
  • 作为面向安全敏感用户的升级因素很出色。

魔法链接

魔法链接给用户发一封含一次性登录 URL 的邮件,为以邮件为中心的产品彻底移除密码。它简单又熟悉,但依赖邮件送达、承接了邮件的钓鱼面,且当链接在与登录不同的浏览器中打开时表现不佳。

  • 强项:无密码、熟悉、无需手机号。
  • 弱项:邮件送达与跨浏览器链接处理;钓鱼面。
  • 适合低风险、以邮件为先的产品;对敏感操作搭配设备检查。

对比各选项

没有单一赢家——让因素匹配风险与受众。一个常见的现代模式是:通行密钥为主、TOTP 为升级,短信仅作为面向别无他选用户的最后手段降级保留。

方式安全性每次使用成本最适合
短信 OTP中(有 SIM 换卡风险)按条消息广泛触达、低风险降级
通行密钥高(抗钓鱼)新产品的主因素
TOTP 应用面向安全敏感用户的升级
魔法链接仅邮件成本以邮件为先、低风险的流程
一般性指引——请按你的风险画像与用户群加权。

如何在不影响用户的前提下迁移

不要一夜之间把短信拔掉。先把一个更强因素作为选项加入、鼓励注册,然后才把短信降级为降级手段。为每种方式保留一条恢复路径,让设备或通道丢失永不把用户锁在门外。

  1. 1

    增加,而非替换

    在保持短信可用的同时,把通行密钥或 TOTP 作为额外选项引入。

  2. 2

    推动注册

    在自然时机——比如某次敏感操作之后——提示用户设置更强因素。

  3. 3

    把短信降级为降级手段

    一旦采用率健康,就让短信成为恢复/最后手段通道,而非默认。

  4. 4

    保证恢复

    提供恢复码或备用因素,让任何单一设备的丢失都不会把任何人锁死。

常见问题

通行密钥比短信 OTP 更好吗?+

论安全,是的——通行密钥抗钓鱼且每次认证零成本,而短信 OTP 易受 SIM 换卡影响并按条付费。主要权衡是账号恢复与跨设备同步,因此多数团队把通行密钥作为主因素,同时保留一个降级。

我该彻底移除短信吗?+

通常不必立刻。短信仍能触达那些未设置验证器或通行密钥的用户,因此它是不错的最后手段降级。现代模式是更强因素为主、短信降级为恢复手段,而非突兀移除。

TOTP 与短信 OTP 有什么区别?+

TOTP 在验证器应用中由一个共享密钥本地生成轮转验证码,因此没有消息要送达、没有每次使用成本,还能抵抗 SIM 换卡攻击。短信 OTP 通过运营商网络交付验证码,这带来成本与送达风险,但无需设置应用。

魔法链接安全吗?+

它的安全程度取决于用户的邮箱以及你处理链接的方式。魔法链接移除了密码、很方便,但承接了邮件的钓鱼面,并在链接于不同浏览器打开时表现挣扎。它适合低风险、以邮件为先的产品;对敏感操作请加入设备检查。

EdgeGigs

想从短信转向通行密钥或 TOTP?

EdgeGigs 上经过审核的身份验证开发者,可以在你现有的短信降级方案之外实现通行密钥、TOTP 或魔法链接。

在 EdgeGigs 上找开发者