本文目录导读:

在部分场景中是的,但在全球范围内,FIDO2密钥还没有完全替代短信验证码。
两者目前处于共存和过渡阶段,而非完全的替代关系,具体情况如下:
为什么说“正在替代”(优势明显)
FIDO2(通常体现为物理安全密钥,如YubiKey,或内置于手机/电脑的指纹、人脸识别)在安全性上对短信验证码是降维打击:
- 防钓鱼:短信验证码可以被中间人攻击、SIM卡交换攻击(SIM swap)、甚至伪基站拦截,FIDO2密钥的私钥永远不会离开设备,且只对正确的网站域名签名,面对伪造网站无效。
- 防大规模泄露:短信验证码是共享密钥(服务器和手机都知道),如果服务器被拖库,验证码机制就可能被破解,FIDO2用的是非对称加密,服务器只存公钥。
- 用户无感:使用FIDO2(比如Windows Hello或苹果的Face ID)速度更快,不需要等待短信、不需要复制验证码。
目前已经实现替代的场景:
- 大型互联网公司:Google、微软、Apple、GitHub、Twitter(现X)、Facebook(Meta)等,都已经支持用户完全禁用短信验证码,改用安全密钥或手机上的通行密钥(Passkeys,基于FIDO2)。
谷歌在2023年默认将通行密钥作为个人账户的默认登录方式。
- 高安全性要求的金融或企业内部系统:许多企业强制员工使用FIDO2安全密钥登录VPN和内部系统,彻底淘汰短信。
为什么说“没有完全替代”(现实阻力)
短信验证码在短期内仍会大量存在,因为FIDO2面临几个核心制约:
- 普及率与成本:虽然手机内置了FIDO2(通过指纹/面部),但要实现跨平台、跨浏览器无缝使用(例如从PC登录,手机作为密钥),需要用户理解和设置密钥同步(如通过iCloud钥匙串或Google密码管理器),对于大量普通用户,发个短信是0学习成本。
- 遗留系统与生态:
- 很多银行、政府网站、中小平台的后端系统根本没有集成FIDO2,改造需要投入大量研发成本,而短信验证码是“最低成本也能用的方案”。
- 有些服务依赖电话号码作为找回账户的唯一凭据,FIDO2目前无法完全覆盖这个场景。
- 用户习惯与选择:很多人看到“请插入安全密钥”会觉得麻烦,而短信是习惯动作,如果用户手机丢了,且没有同步密钥,恢复账户将非常困难(短信验证码还允许通过运营商补卡恢复)。
- FIDO2的完全体(Passkeys)正在路上:通行密钥(Passkeys)解决了物理密钥需要携带的问题,但标准刚刚确立,生态还在碎片化中(苹果、谷歌、微软各自同步方案仍有壁垒)。
目前的现状:“短信验证码作为备选/降级方案,FIDO2作为首选”
大多数支持FIDO2的平台(如GitHub、谷歌、微软)的做法是:
- 首选方案:通行密钥(手机内置)或安全密钥 → 理想状态。
- 备选方案:如果用户没有配置FIDO2,或使用陌生设备且密钥不在手,则降级为短信验证码。
- 高级选项:支持用户完全关闭短信验证码(强制使用FIDO2),适合安全意识强的用户。
- 领先的科技公司已经用FIDO2替代了短信验证码(你可以选择完全不用短信)。
- 大部分普通网站和传统服务尚未替代(短信验证码仍是主流或唯一选项)。
- 趋势是明确的:FIDO2(尤其是通行密钥)正在逐步取代密码+短信验证码,但这将是一个持续数年的渐进过程,而不是一夜之间的切换。
如果你问“我现在能否全部换成FIDO2?”——在Google/Apple/Microsoft账户上可以,但对于你的银行和外卖App,很可能还不行。