WhatsApp 如何通过 Passkeys 为 10 亿用... 笔记

WhatsApp 如何通过 Passkeys 为 10 亿用户提供安全且无缝的登录体验

WhatsApp 作为全球最大的 messaging 平台,于 2023 年采用通行密钥(passkeys),提升了用户的安全性与便利性。该举措旨在提供一种快速且抗钓鱼的认证方式,降低用户摩擦,并防范账户接管。WhatsApp 注册与访问团队的 Android 工程师 Mayank Manuja 主导了该方案的设计与实施。面向数十亿用户构建系统,需要应对多样化的网络条件、设备能力以及数字素养水平。通行密钥提供流畅的单击登录体验,利用公钥 - 私钥加密技术,并结合生物识别或屏幕锁进行认证。这显著提升了登录速度,并在传统短信 OTP 投递不一致的环境中仍能可靠运行。从开发者视角来看,Credential Manager API 提供了统一的接口,简化了集成工作,尽管 Android 版本和设备配置之间存在大量边缘情况。WhatsApp 与 Google 合作优化了凭据查找流程,提升了新通行密钥用户的延迟表现。他们还构建了全面的错误处理层,以管理设备特定的障碍,并在通行密钥流程无法完成时确保优雅降级。此外,他们解决了操作系统特定的异常,实施了平台级改进,使通行密钥创建流程更加顺畅。WhatsApp 通过广泛的 A/B 测试优化了用户体验,开发了一个用于提示创建通行密钥的上下文框架。在后端,WhatsApp 服务器使用 Erlang 和 Rust 的 webauthn-rs 库实现标准的 WebAuthn/FIDO2 仪式,用于签名验证。服务器架构负责编排通行密钥注册,包括向客户端生成选项、验证证明(attestation)以及安全持久化凭据。对于认证,服务器获取有效凭据,生成服务器端挑战,并验证客户端的断言(assertion)。高级架构考量包括迁移到每账户多通行密钥系统,这需要设计一个有界列表系统,以便在达到限制后淘汰旧凭据。这一重大的结构性变更通过严格的实验逐步推出,以确保稳定性。平衡凭据生命周期还需要谨慎管理凭据的有效性。