WebAuthn Passkeys 跨设备同步
什么是 WebAuthn 与 Passkeys
WebAuthn(Web Authentication)是 W3C 与 FIDO 联盟制定的浏览器标准,用于通过公钥加密替代传统密码完成身份认证。Passkeys 则是基于 WebAuthn 构建的最终用户友好型凭证,它完全代替“用户名+密码”的组合,让你可以使用生物识别(指纹、面部)或设备 PIN 码完成登录,无需记忆任何密码。
一个 Passkey 本质上是一对非对称密钥:
- 私钥 始终安全存储在用户设备中,永不发送给网站。
- 公钥 注册时发送到服务器,用于后续验证签名。
在原始 FIDO2 规范中,私钥被限制在创建它的单一设备上,这意味着一个 Passkey 只能在当前手机或电脑上使用,无法在其他设备上登录。为解决这一痛点,FIDO 联盟推出了多设备凭证(Multi-Device Credentials)标准,使 Passkeys 能够安全地在用户的多台设备间同步,这就是我们所说的跨设备同步。
跨设备同步的工作原理
传统 WebAuthn 凭证是设备绑定的,私钥不可导出。跨设备 Passkeys 则允许在用户所属的生态系统中,通过端到端加密(E2EE)将私钥副本同步到其他可信设备。整个流程基于以下关键原则:
- 私钥仍以加密形式存储,甚至平台提供商也无法解密查看。
- 同步仅在用户已登录同一平台账户(如 iCloud、Google 账户、Microsoft 账户)的设备间进行。
- 每次使用 Passkey 时仍需本地用户验证(如指纹、面容或设备 PIN),确保只有本人能够调用私钥完成签名。
当你在一台新设备上登录同一平台账户时,加密后的 Passkey 数据包会被安全下载并注入本地密钥存储区。随后你就可以在这台设备上无缝使用之前注册过的 Passkey。
主流平台的同步机制
Apple 生态(iCloud 钥匙串)
Apple 自 iOS 16、macOS Ventura 开始支持 Passkeys 同步。所有生成或保存的 Passkeys 都会通过 iCloud 钥匙串进行端到端加密同步。
- 同步条件:需在 Apple 设备上登录同一 Apple ID,并开启 iCloud 钥匙串。
- 配置路径:设置 → Apple ID → iCloud → 密码与钥匙串 → 同步此设备。
- 体验:在 iPhone 上注册的 Passkey 可立即在 Mac 或 iPad 上使用,只需在登录时提供 Touch ID 或 Face ID 验证。
Google 生态(Google 密码管理器)
Google 通过 Android 系统和 Chrome 浏览器内置的 Google 密码管理器支持多设备 Passkeys。
- 同步条件:用户登录同一 Google 账户,并在 Chrome 或 Android 的密码管理设置中开启 Passkey 同步。
- 体验:在 Android 手机上创建的 Passkey 会同步到已登录的 Windows、macOS 或 ChromeOS 设备,后续在这些设备上可使用屏幕锁验证。
- 管理入口:chrome://settings/passkeys 或 Android 设置 → Google → 管理你的 Google 账户 → 安全性 → Passkeys。
Microsoft 生态(Windows Hello)
Microsoft 通过 Windows Hello 和 Microsoft 账户提供 Passkeys 同步支持。
- 同步条件:使用同一 Microsoft 账户登录的多台 Windows 11(23H2 及以上)设备,或通过 Edge 浏览器利用 Microsoft 密码管理器同步。
- 体验:在 Windows 设备上通过 Windows Hello(面部、指纹、PIN)注册的 Passkey,会同步至其它已登录相同 Microsoft 账户的 Windows 设备或 Edge 实例。
- 设置位置:Windows 设置 → 账户 → 登录选项 → Passkey 设置。
如何设置并使用跨设备 Passkey
以下以 Apple 生态为例,但流程在所有平台上高度一致。
步骤 1:确保环境就绪
- 操作系统更新到支持 Passkeys 的版本(iOS 16+、macOS 13+、Android 9+、Windows 11 23H2+)。
- 使用最新版本的浏览器(Safari 16+、Chrome 108+、Edge 108+)。
- 已在同一平台账户下登录所有设备,并开启同步服务(如 iCloud 钥匙串、Google 密码管理器)。
步骤 2:为网站或 App 注册 Passkey
打开支持 Passkey 的网站(如 github.com、appleid.apple.com),登录后进入安全设置,选择“添加安全密钥”或“创建 Passkey”。
- 系统会弹出平台提供的 Passkey 创建界面。
- 按提示进行本地用户验证(指纹、面部或设备 PIN)。
- 完成后,公钥自动发送至网站服务器,私钥加密存储在当前设备并开始同步。
步骤 3:在另一台设备上使用同步的 Passkey
当你在另一台已同步的设备上访问同一网站并选择“使用 Passkey 登录”时:
- 网站发起认证请求。
- 浏览器/系统自动查找可用的 Passkey。
- 系统提示你完成本机用户验证。
- 验证通过后私钥执行签名,登录成功。
跨设备验证补充:如果你的手机上有 Passkey,但想用它登录面前的电脑(不同生态或未登录同一账户),可通过扫描二维码使用手机上的 Passkey 登录。这在 FIDO 跨设备认证流程中称为 hybrid transport,即使不同步也可以临时借用另一设备完成验证。
安全性与隐私考虑
端到端加密
所有同步的 Passkeys 在本地便经过加密,上传到云端的数据包只有用户拥有的设备可以解密。平台方即使访问原始同步数据也无法获取私钥明文。
硬件安全模块(HSM)利用
在 Mac、iPhone 和部分高端 Android 设备中,同步密钥的解密操作可能在 Secure Enclave 或类似安全芯片中完成,进一步降低私钥暴露风险。
丢失设备后的处理
如果设备丢失,可以在其他已同步的设备上查看并管理 Passkeys。以 iCloud 为例,你可以远程抹除丢失设备上的数据,也可在钥匙串设置中移除特定设备的信任,或使用“账户恢复”流程重新获得访问权限。由于 Passkeys 与平台账户绑定,请确保平台账户的密码强度高且已开启双因素认证,以防账户本身被入侵后所有 Passkeys 遭到未授权同步。
传统密码 vs 同步 Passkeys
同步 Passkeys 在安全等级上仍远超密码,因为:
- 无服务器端密码哈希泄露风险(服务器只存公钥)。
- 抗钓鱼攻击——每个 Passkey 与注册的网站域名绑定,攻击者无法使用伪冒网站骗取凭证。
- 即使设备被偷,还需通过本地用户验证才能调用私钥。
常见问题速览
是否所有 Passkey 都会自动同步?
默认情况下,在你开启平台同步服务的设备上创建的 Passkey 会被自动同步。但某些仅用于单设备特殊场景的凭证可能不会同步,取决于应用或网站创建时的配置。
同步的 Passkey 能否跨不同生态使用?
不能直接跨平台同步。例如 iCloud 上同步的 Passkey 不会出现在 Google 密码管理器中。但可以通过跨设备认证(扫描 QR 码)临时借用其他平台设备上的 Passkey 登录,而无需密码。
如何查看或删除已同步的 Passkey?
可在各平台的管理界面集中查看:
- Apple:系统设置 → 密码 → 选择网站 → 查看 Passkey。
- Google:chrome://settings/passkeys 或 Google 账户安全页面。
- Microsoft:Windows 设置 → 账户 → Passkey 设置。
公司或学校的托管账户可以使用同步吗?
需要管理员启用相关策略。Microsoft 的 Windows Hello for Business 和 Google Workspace 均可配置多设备 Passkey,但可能受到组织安全策略的限制。
小结
跨设备同步让 Passkeys 真正成为密码的实用替代方案——你可以在手机、平板、笔记本之间任意切换,无需重复注册,同时保持 FIDO 认证的高安全性。设置过程简单透明,唯一需要留意的是保护你的平台账户本身,因为它是同步链路的信任锚点。
现在,几乎每个主流操作系统和浏览器都已内置 Passkeys 同步能力。建议立刻在你最常用的网站上启用它,彻底告别弱密码、重复密码和钓鱼风险。