从 Windows 11 正在测试中的第三方密码管理器通行密钥系统集成,到 Android 15 简化通行密钥使用流程、Chrome 支持调用第三方密码管理器通行密钥和通行密钥跨设备同步,再到 Apple 推出独立的「密码」应用、为开发者提供了新 API 帮助用户从密码迁移到通行密钥……2024 年可以说是通行密钥(Passkey)从新生迈向成熟的一年。

作为一项由 FIDO 联盟发起和推广的登录标准,通行密钥一直以来所宣传的「无密码」体验可以说是继密码管理器之后又一「叫好不叫座」(考虑到密码管理器的理念都尚未被大部分国内用户所接受)的存在——尽管如此,在隐私泄露问题严重、个人数据安全风险与日俱增的 2024 年,纠正「一个密码走天下」「生日纪念日两开花」甚至「八个八」等不良密码使用习惯永远不晚。

如果你还没乘上通行密钥这艘兼具便捷和安全的「大船」,不妨先通过本文从原理、生态和设置体验等方面全面了解这一新标准。

通行密钥如何「取代」密码

通行密钥如何「取代」密码

除了输入账号、密码,还有没有其他方式证明你的身份?

简单来说,通行密钥主想要解决的正是这样一个问题。比如你正在使用一台设置了面容 ID 的 iPhone,那通过面容 ID 解锁这台 iPhone 即可证明目前是你本人正在操作——这要比输入登录信息、甚至自动填充登录信息都要快速无感。

这个替代验证手段的思路具体到原理,从某种程度上来说则是真的「干掉了密码」:通行密钥将以往需要加密储存在服务器端的账号、密码,都替换成了非对称加密技术中的「口令」。口令就像是你和服务商碰头需要的「接头暗号」,你一句他一句,对上号了才能继续,对不上号就「终止交易」。

具体到通行密钥技术,这里的「接头暗号」指的是是注册通行密钥时生成的「公钥」和「私钥」,它们都会在你生成通行密钥时交给提供注册服务的服务器。

boxcnKiDbXDJIHbs2HB8TWynbbe

然后你就可以把公钥看作是一把带锁的信箱,私钥则是邮局发给你的信箱钥匙,邮递员投递的信件在信箱中加密起来,只有拥有信箱钥匙的你才能打开读取——同样的,你的登录信息和认证信息在通行密钥中也通过类似的方式创建,服务器用公钥加密一段认证信息,你设备上的私钥如果可以解密这段认证信息,那就可以证明「你是你」。整个过程既不用劳神费力的敲入具体的密码、也不需要让密码离开本地设备,更能避免因为服务器受攻击而导致密码泄露,降低传输风险。

boxcnFtg63aS2NyzN1DQb1L54xT
图|《不用密码但不能代替密码:通行密钥如何让登录这件事更简单?》

不难看出,放在我们手里的「钥匙」,也就是通行密钥的私钥是完成整个身份认证流程的关键,所以在交互层面,保存在本地的私钥也需要有安全保障,保证恶意程序随意访问无法破坏这套间接认证机制。

在我们所使用的大部分设备上,安全性最高、同时易用性最强的安全保障机制,自然就是生物识别认证了。所以在使用通行密钥时往往都会配合用户设备上的生物识别系统进一步加密保存在本地的「私钥」,比如 iDevice 设备上的 TouchID/FaceID、Android 设备上的指纹/面部识别、Windows Hello——甚至是简单的 PIN 认证都可以进一步增强访问私钥时的安全性。这也是通行密钥绕不过的重要组成部分。

boxcnhEIekYCN3g6psZcBIKR5wh
图|《不用密码但不能代替密码:通行密钥如何让登录这件事更简单?》

哪些平台和服务支持通行密钥

通行密钥背后的技术基础是由 W3C 在 2019 年就纳入正式标准的 WebAuthn 认证,在早期这个 API 只能通过实体密钥使用。但今年 Apple、Microsoft 以及 Google 的大力推进下手边的电脑、平板或是手机也可以通过通行密钥化身为实体密钥了。

截至本文更新的 2024 年 12 月 30 日,以下平台均已支持通行密钥:

  • Android:Android 9.0 或更高版本,且已开启屏幕锁定功能。如果选择 Google 的密码管理服务,安全密钥支持跨设备同步,且 Android 设备丢失或更换时在新的 Android 设备上登录相同 Google 的账号,并提供所丢失设备的安全 PIN 码、解锁图案或密码即可迁移。
  • Chrome:Chrome 108 版本以上、Google Play 服务(Google 自动填充框架)为最新版,支持在 Android 与 Android、Android 与特定版本 Chrome 之间同步
  • 微软:在 Windows 11 22H2 版本以上支持,需要打开并使用 Windows Hello;而从 Windows 11 24H2 版本开始,通行密钥会在登陆了相同微软账户的设备之间无缝同步。

当然,有人还会担心如果一个平台还不支持通行密钥,比如在一些老旧的、缺乏维护的平台上或是网咖、公用电脑,是不是就意味着在那个平台就不能使用通行密钥了。

通行密钥其实也有考虑到这个问题,解决方案是将带有摄像头的手机、平板化身为实体密钥,通过蓝牙、NFC 或者 USB 线缆等方式将移动设备上解答出来的「答案」通过安全的通道传递给支持通行密钥的软件。跨平台传输密钥的过程在用户角度来看就两步,扫码-扫描指纹/人脸,就和我们平时扫一扫登录微信没什么区别。

boxcnIY42b8GfDGYpof2PzhbHCf
在 Android 手机上扫描 Windows 电脑上的通行密钥二维码时会索要附近设备的权限

目前,以 1Password 为代表的密码管理服务也很积极努力地拥抱通行密钥这项技术。目前主流的密码管理软件,如 1Password、Bitwarden、Dashlane 等均已支持通行密钥的创建、管理、使用和跨设备同步。

除了系统和软件,网站的支持也是很重要的一环。1Password 维护了一个支持通行密钥网站、应用程序和其他服务的列表,详细列举了该网站支持通过通行密钥登录或是仅用于两步认证,并给出的详细的设置地址。

boxcnqaKoCKQeynT0OSE87Miodc
1Password 整理的支持列表

在列表之外,也不断有厂商在陆陆续续的为自家的账号服务添加对于通行密钥的支持,如 GitHub、Cloudflare、 Dropbox、 Fastmail 和 Porkbun 等,都以不同的形式和名字提供了为现有账号绑定通行密钥的选项,这些服务普遍都在早先支持了 WebAuthn API,所以支持通行密钥也是水到渠成的事情。你可以在这里找到绝大多数已经支持 WebAuthn API 的网站和服务,理论上他们中的绝大多数也都支持通行密钥。

boxcnhdiPTmqzyCi8iZVkKbp2ph
由 Yubikey 维护的支持 WebAuthn 的列表

如何设置通行密钥

2024 年随着各大服务逐渐适配通行密钥,所以绝大多数的通行密钥的设置通常位于「安全设置」或类似设置项的子项中,为现有账号添加通行密钥的流程也已经相当无感。

如果你已经是密码管理器用户,像 1Password 这类服务也在「瞭望塔(Watchtower 里)整合显示所有可以迁移到通行密钥的账户,你可以自查并快速跳转设置。

以最早支持通行密钥的英伟达官网账号1为例,在账号管理页面底部的「安全设置」中,在多重安全验证的选项中就可以看到一则名为「硬件安全设备」(Hardware Security Device)的栏目,你可以在里面添加多个支持通行密钥的浏览器、 Android 或者 iOS 设备:

boxcnEU0dyYGLWgQaPWUlXys89g
在 macOS 中的 Safari 直接添加通行密钥只需要进行一次生物识别即可
boxcnCNgGnMnTGistVRgWllAw3b
在 macOS 中的 Chrome 添加通行密钥则只能通过 Chrome 自身或者手机保存

添加时还有一些值得注意的地方,首先一个账户可以绑定多通行密钥,不过这些保存通行密钥的平台如果支持同步的话,同一平台中的不同设备会被认为是同一个设备,进而拒绝添加。举个例子来说,比如我在 macOS 上的 Safari 添加了 Nvidia 的通行密钥,这时我再点开添加通行密钥的界面并在 iPhone 上扫描同一个 Nvidia 账户的另一个二维码,在添加时 iPhone 上就会报错。

boxcnO3K1dnc2C391E2nRAMqP0f
命名方式建议按照平台来

其次就是在 Android 手机上通过蓝牙等方式添加通行密钥时,因为通信手段都是基于 Google Play 服务的,所以 Android 手机和对应的电脑都需要正确的上网姿势,否则将不能正确添加通行密钥。

英伟达在设置完毕通行密钥以后可以直接在登录时使用通行密钥。GitHub、Cloudflare、 Dropbox、 Fastmail 和 Porkbun 等等上门提到的服务也有着非常相似的过程的添加过程这里就不做展开了。

boxcnLVSJIy79eW18OlyMhc1o8c
在 Github 中添加通行密钥

微软这边,登录 Microsoft 帐户以后,选择「安全 > 管理登陆方式 > 添加一种新的登录或验证方法 > 人脸、指纹、PIN 或安全密钥」即可开始添加通行密钥。

Google 已于 2023 年 4 月 3 日正式支持通行密钥,你可以将通行密钥同时用作 2FA 和无密码登录,设置方法如下:「管理您的 Google 账户 > 安全性 > 您的 Google 账号登录选项」,找到并点击「通行密钥和安全密钥」即可开始添加。

最后,虽然 Apple 在推行通行密钥上做了足够多的努力,但自家的 Apple 账户却是个例外。

从 iOS 17、iPadOS 16、macOS Sonoma 开始 Apple 就允许用户使用通行密钥在 Web 端登陆 Apple 账户和 iCloud,但这个通行密钥是 Apple 直接下发到钥匙串里的。用户不可以手动把 Apple 账户的通行密钥添加到别的密码管理软件和其他系统里,换句话说你日常有在用非 Apple 生态产品的话,Apple 账户的通行密钥可能就没那么无缝了。

以上就是本文的全部内容了,可以看到国外已经有不少的服务支持了通行密钥,虽然绝大多数的服务目前只是作为两步认证的替代品,但依然是一个不错的开始;反观国内服务基本都没有支持 WebAuthn API 和通行密钥,只能希望国内厂商多多努力拥抱开源的「无密码」协议。希望本文可以帮助到你,也希望我们可以一起进入无密码的未来。

> 关注少数派公众号,解锁全新阅读体验 📰

> 实用、好用的正版软件,少数派为你呈现 🚀

以下内容于 12/30 14:34更新
文章内容更新

2024 年可以说是通行密钥(Passkey)从新生迈向成熟的一年。

作为一项由 FIDO 联盟发起和推广的登录标准,通行密钥一直以来所宣传的「无密码」体验可以说是继密码管理器之后又一「叫好不叫座」(考虑到密码管理器的理念都尚未被大部分国内用户所接受)的存在——尽管如此,在隐私泄露问题严重、个人数据安全风险与日俱增的 2024 年,纠正「一个密码走天下」「生日纪念日两开花」甚至「八个八」等不良密码使用习惯永远不晚。

我们更新了原文已经过时的内容,如果你还没乘上通行密钥这艘兼具便捷和安全的「大船」,依然可以先通过本文从原理、生态和设置体验等方面全面了解这一新标准。

以下内容于 2023/05/04 14:38更新
Google 已支持通过通行密钥登陆

2023 年 5 月 3 日,Google 正式宣布支持通过通行密钥登陆 Google 账户。