详解 Passkey(通行密钥)的工作原理与未来

gemini-3.0-pro

背景介绍,腾讯的 cnb 平台仅支持微信登录,没有常规的邮箱账号方式,导致群里每天都有几个哥们念叨这事,看着都烦了,腾讯的产品经理弄了个折中的方案:支持Passkey登录。

每天,我们都在重复一个危险的动作:输入密码。尽管我们有复杂的规则(大小写、特殊符号、数字),但数据泄露、钓鱼攻击和“忘记密码”的烦恼依然困扰着每一个人。

科技巨头们(Apple, Google, Microsoft)联合 FIDO 联盟给出了终极解决方案:Passkey(通行密钥)。它不仅仅是“替代”密码,而是彻底“消灭”了密码。

登录流程从验证密码,转成了验证当前设备是否可信。

详解 passkey 的工作原理,怎么能用于登录管理,整理相关内容,输出文章用于互联网发布

什么是 Passkey?

简单来说,Passkey 是一种存储在您设备上的数字凭证

它可以替代传统的“用户名 + 密码”。当你登录支持 Passkey 的网站(如 Google、GitHub、Adobe)时,你不需要输入任何字符,只需要通过面部识别(Face ID)、指纹(Touch ID)或设备 PIN 码验证一下,就能瞬间登录。

核心区别: 密码是你记住的一串字符(容易被偷、被猜、被忘);Passkey 是你拥有的一项资产(加密密钥,存储在设备硬件中)。

Passkey 的工作原理:非对称加密

Passkey 的背后是 WebAuthn 标准和 FIDO2 协议。为了理解它,我们需要了解公钥密码学(Public Key Cryptography)

想象 Passkey 是一对“钥匙”和“锁”:

  1. 私钥 (Private Key):

    • 保存在哪里? 安全地存储在你的设备端(如 iPhone 的安全芯片、电脑的 TPM 模块或密码管理器中)。
    • 特性: 极其敏感,永远不会发送给服务器,也不会离开你的设备。
    • 作用: 它是你的“电子签名笔”。
  2. 公钥 (Public Key):

    • 保存在哪里? 上传并存储在网站/APP 的服务器上。
    • 特性: 公开可见,不敏感。
    • 作用: 它是用来验证你签名的“验钞机”。

登录流程详解 (The Handshake)

当你使用 Passkey 登录时,发生了一次精妙的“挑战-应答”机制:

  1. 发起登录: 你点击“登录”,网站服务器向你的设备发送一个随机数学难题(Challenge)
  2. 本地验证: 你的手机/电脑弹出提示,要求你使用生物识别(刷脸/指纹)解锁。
    • 注意:这一步只是为了授权设备使用私钥,生物信息本身不会上传。
  3. 数字签名: 解锁成功后,设备使用私钥对那个数学难题进行“签名”,并将签名结果发回服务器。
  4. 服务器验证: 服务器使用你之前留下的公钥来验证这个签名。如果通过,服务器就确认了“通过验证的人确实持有私钥”,从而允许登录。

为什么 Passkey 比密码安全得多?

Passkey 解决了传统密码的三大死穴:

彻底免疫“钓鱼攻击” (Anti-Phishing)

这是 Passkey 最强悍的功能。Passkey 协议中强制包含了来源绑定(Origin Binding)

  • 场景: 黑客做了一个假的 g00gle.com 诱骗你登录。
  • 结果: 你的浏览器和系统会发现当前域名与 Passkey 注册的域名 google.com 不匹配,拒绝发起认证。你甚至都没有机会“手滑”输入密码。

服务器泄露也没用

即使黑客攻破了 Google 的服务器,拿走了所有的数据库,他们得到的也只是公钥。 公钥无法用来推导出私钥。黑客拿着公钥就像拿着一把锁,但他没有开锁的钥匙(私钥在你手机里),因此无法登录你的账户。

没有“弱密码”

用户不再需要设置“123456”这种弱密码,因为密钥是由算法生成的强加密数据。

Passkey 如何改变“登录管理”?

过去,我们依赖 1Password、LastPass 或 Chrome 浏览器来记录一长串字符。现在,登录管理正在发生质变。

跨设备同步 (Passkey Sync)

早期的硬件密钥(如 YubiKey)很容易丢。现在的 Passkey 支持云端同步:

  • Apple 生态: 通过 iCloud 钥匙串同步。你在 iPhone 上创建的 Passkey,Mac 上自动可用。
  • Google 生态: 通过 Google 密码管理器同步 Android 和 Chrome。
  • 第三方管理: 1Password、Dashlane 等工具也全面支持 Passkey。这意味着你可以跨生态(在 Windows 电脑上使用保存在 iPhone 里的 Passkey)进行登录。

跨设备登录 (Cross-Device Auth via QR Code)

如果你想在网吧的电脑(Windows)上登录,但你的 Passkey 在 iPhone 里,怎么办?

  1. 网页上选择“使用另一台设备登录”。
  2. 屏幕显示一个二维码(FIDO Cross-Device Flow)。
  3. 用 iPhone 相机扫描二维码。
  4. 手机通过蓝牙与电脑建立近场连接(证明你在现场),并进行生物验证。
  5. 电脑端登录成功。

从“管理秘密”到“管理信任”

未来的登录管理不再是查看一个个明文密码,而是管理受信任的设备

  • 你可以查看:“我的 GitHub 账户绑定了我的 iPhone 和 MacBook”。
  • 如果不慎丢失手机,你只需在服务端(或云端账户)撤销该设备的公钥访问权即可。

表格对比:密码 vs. Passkey

维度 传统密码 (Passwords) 通行密钥 (Passkeys)
记忆负担 高(需记忆复杂字符) 无(无需记忆)
钓鱼风险 极高(易受欺骗输入) (域名强制绑定)
服务器泄露 危险(需撞库/改密) 安全(泄露公钥无影响)
登录体验 慢(输入或复制粘贴) 快(一键生物验证)
依赖性 依赖大脑或密码本 依赖设备(手机/电脑)

现在的挑战与未来

尽管 Passkey 极其美好,但普及仍需时间:

  • 平台壁垒: 虽然标准统一,但 Apple、Google 和 Microsoft 在各自生态内的体验最丝滑,跨生态流转(如 Android 手机配 iPad)虽然可行,但仍有轻微摩擦。
  • 设备依赖: 如果你丢失了所有受信任的设备且没有云备份,找回账户会比较麻烦(通常需要备用的恢复码)。
  • 旧系统兼容: 许多老旧网站和公司内网尚未支持 WebAuthn 标准。

总结

Passkey 不是密码的升级版,它是互联网身份验证的一次底层重构。它利用现代设备的生物识别能力和公钥加密技术,将安全性提升到了金融级别,同时把用户体验简化到了极致。

对于普通用户来说,尽快在支持的平台(Google, Apple, Microsoft, Amazon 等)开启 Passkey,是提升个人数字安全性价比最高的投资。

金融IT程序员的瞎折腾、日常生活的碎碎念
使用 Hugo 构建
主题 StackJimmy 设计