跳转到主要内容

通行密钥与无密码认证的未来

本文约需 11 分钟阅读

作为替代密码的新认证方式,"通行密钥"正在迅速普及。Google、Apple、Microsoft 等大型平台相继宣布支持,无密码的未来正变得越来越现实。根据 FIDO Alliance 2024 年报告,支持通行密钥的服务数量同比增长约 2.5 倍,消费者认知度也超过了 50%。Google 在 2024 年 10 月宣布通行密钥登录已超过密码登录。2025 年以来,Amazon、PayPal、GitHub 等主要服务扩大了通行密钥支持,迁移进一步加速。然而,并非所有服务都会在一夜之间迁移到通行密钥。本文全面介绍通行密钥的技术机制、对应状况,以及过渡期间如何通过 Passtsuku.com 确保安全。

FIDO2 与 WebAuthn 的机制

通行密钥的基础技术是 FIDO2(Fast IDentity Online 2)和 WebAuthn(Web Authentication)。FIDO2 是 FIDO Alliance 制定的认证标准,WebAuthn 是其面向网络浏览器的 API 规范,由 W3C 标准化。

在传统的密码认证中,用户输入的字符串被发送到服务器,与服务器端保存的哈希值进行比对。这种方式存在服务器被入侵时密码信息泄露的风险。

公钥加密认证原理

FIDO2/WebAuthn 与传统密码认证根本不同之处在于采用了公钥加密方式。公钥加密使用数学上相关的两把密钥(私钥和公钥)对。用私钥签名的数据只能用对应的公钥验证,从公钥反推私钥在计算上是不可能的。这一性质基于椭圆曲线加密(ECDSA)和 RSA 等算法的数学困难性。

具体的认证流程如下。注册时,在用户设备上生成私钥和公钥对,仅将公钥发送到服务器。登录时,服务器发送随机挑战(验证用数据),设备端用私钥对挑战附加数字签名后返回。由于服务器只用公钥验证签名,私钥永远不会在网络上传输。服务器上保存的只有公钥,即使服务器被入侵,攻击者获得的也只是公钥,无法突破认证。这与密码哈希值泄露时可通过离线攻击恢复原始密码的风险形成对比。

通过来源验证实现的钓鱼抵抗原理

FIDO2/WebAuthn 对钓鱼攻击具有强抵抗力的原因在于其来源验证机制。通行密钥注册时,浏览器将网站的来源(协议 + 域名 + 端口)与私钥绑定保存。登录时,浏览器自动比对当前访问网站的来源与私钥绑定的来源,如果不匹配则不执行认证处理本身。此验证在浏览器内部进行,用户无需目视确认 URL,不依赖人为判断失误是其决定性优势。即使是"examp1e.com"(将 l 替换为 1)这样精巧的伪造域名,也能在浏览器层面被可靠阻止。关于钓鱼对策的全貌,请同时参阅钓鱼诈骗的识别与对策

什么是通行密钥

通行密钥(Passkey)是以 FIDO2/WebAuthn 技术为基础、大幅改善用户体验的认证方式。传统的 FIDO2 安全密钥需要物理硬件令牌,而通行密钥可以使用智能手机或 PC 内置的生物识别认证(指纹、面部识别)或屏幕锁定(PIN)来完成认证。

同步通行密钥与设备绑定通行密钥

通行密钥有两种类型。同步通行密钥(Synced Passkey)通过 Apple 的 iCloud 钥匙串或 Google 密码管理器在多个设备间同步。由于在 iPhone 上创建的通行密钥也可以在 Mac 上使用,设备丢失或更换时也能继承认证信息。

设备绑定通行密钥(Device-bound Passkey)与特定硬件绑定,无法导出到外部。YubiKey 等安全密钥属于此类。虽然安全性高于同步通行密钥,但设备丢失时需要恢复手段。如果考虑引入设备绑定通行密钥,FIDO2 兼容安全密钥相关产品 (Amazon)也可供参考。

需要注意的是,同步通行密钥通过云端同步私钥,因此如果云账户本身被入侵,所有通行密钥都有泄露风险。Apple 和 Google 通过端到端加密来降低此风险,但云账户的保护(强密码 + 两步验证)是前提条件这一点往往被忽视。

通行密钥 vs 密码 + 2FA vs 安全密钥

为了正确理解认证方式的选项,我们比较三种主要方式。了解各自的特性后,根据服务的重要程度进行区分使用非常重要。

  • 通行密钥(同步):钓鱼抵抗力强,可通过生物识别轻松登录。云同步使跨设备迁移容易。但依赖于云账户的安全性。兼容服务仍然有限
  • 密码 + 2FA(TOTP):最广泛支持的方式。密码强度与 TOTP 应用的组合可确保一定的安全性,但存在在钓鱼网站上同时输入密码和 TOTP 代码的风险。在 TOTP 代码有效期(通常 30 秒)内,攻击者的实时中继攻击(实时钓鱼)是可能的
  • 安全密钥(设备绑定通行密钥):钓鱼抵抗力最高,私钥不会离开设备。最适合企业特权账户和金融服务,但需要物理设备购买成本(每个约 5,000 至 10,000 日元)和确保丢失时的恢复手段

实务上的建议是,目前最平衡的策略是"混合运用" - 对支持的服务优先设置通行密钥,对不支持的服务维持密码 + 2FA。对于金融机构和管理员账户等特别重要的服务,请考虑添加安全密钥。关于生物识别认证的便利性和风险,请参阅生物识别认证的风险与安全使用

支持通行密钥的服务

2024 年以来,支持通行密钥的服务正在迅速扩大。根据 FIDO Alliance 的调查,截至 2024 年底,支持通行密钥的网站和应用在全球覆盖了超过 150 亿个账户。主要服务的支持状况如下。

  • Google:包括 Gmail、Google Workspace 在内的所有服务支持通行密钥
  • Apple:可使用通行密钥登录 Apple ID
  • Microsoft:与 Microsoft 账户及 Windows Hello 联动
  • Yahoo! JAPAN:作为日本国内服务较早引入通行密钥
  • GitHub:为开发者提供通行密钥认证
  • Amazon:购物账户支持通行密钥
  • PayPal:作为支付服务支持通行密钥

但是,兼容服务只占总数的一小部分。许多网络服务,特别是日本国内的中小型服务,仍然以密码认证为主流。即使宣布支持通行密钥,实现不完整的情况也存在。例如,虽然可以用通行密钥登录但账户恢复流程依赖密码,或者只在特定浏览器上运行的服务也不少。

常见误解:"设置了通行密钥就不需要密码"

关于通行密钥最常见的误解是"设置了通行密钥就可以安全地删除密码"。实际上,大多数服务在设置通行密钥后仍保留基于密码的后备认证。这意味着攻击者可以绕过通行密钥尝试用密码登录。设置通行密钥并不是降低密码强度的理由。相反,设置通行密钥后更应该在 Passtsuku.com 上将后备密码更新为 20 位以上的随机字符串,堵住攻击者通过密码入侵的路径。

另一个误解是"通行密钥会将生物信息发送到服务器"。实际上,生物识别认证在设备的安全区域(Secure Enclave 或 TPM)内本地处理,生物信息本身永远不会通过网络传输。生物识别认证仅仅是"允许访问设备上私钥的本地认证",与服务器的认证是通过基于公钥基础设施 (PKI) 的数字签名进行的。

与密码的共存期

预计通行密钥完全取代密码还需要相当长的时间。原因有以下几点。

  • 所有服务支持通行密钥存在技术和成本障碍
  • 旧设备和浏览器可能无法使用通行密钥
  • 即使支持通行密钥的服务也多保留密码认证作为后备
  • 企业内部系统和业务应用的迁移需要时间

在这一共存期间,需要对支持的服务优先设置通行密钥,同时对不支持的服务继续用强密码防御。半途而废的应对最为危险。即使设置了通行密钥的服务,如果基于密码的后备认证有效,也必须维持该密码本身的强度。要深入理解通行密钥的机制,公钥加密与认证协议相关书籍 (Amazon)也可供参考。

通行密钥迁移检查清单

这是逐步推进通行密钥迁移的实用检查清单。建议按优先级从高到低依次处理服务。

  • 为邮箱账户(Google、Microsoft、Yahoo! JAPAN)设置通行密钥。邮箱是密码重置的起点,最优先保护
  • 为金融服务(银行、证券、支付)设置通行密钥或安全密钥
  • 为 SNS 账户(GitHub、X、Facebook)设置通行密钥
  • 在 Passtsuku.com 上将已设置通行密钥服务的后备密码更新为 20 位以上
  • 在 Passtsuku.com 上将不支持通行密钥服务的密码更新为 16 位以上的随机字符串
  • 所有服务都同时使用两步验证
  • 将所有认证信息集中到密码管理器中,将主密码设置为最强
  • 每 3 个月确认通行密钥支持状况,如有新支持的服务则进行设置

通过 Passtsuku.com 维持强密码

虽然无密码的未来正在临近,但目前密码仍然是认证的主轴。不仅不支持通行密钥的服务,支持通行密钥服务的后备密码也需要足够的强度。

利用 Passtsuku.com 可以提高过渡期间的密码管理效率。为每个服务批量生成不同的随机密码并保存到密码管理器中,在通行密钥迁移完成之前也能确保安全。

通行密钥的普及是值得欢迎的进步,但完全迁移的道路还很长,在此期间支撑安全的仍然是强密码。让我们在 Passtsuku.com 的强度计上确认 80 位以上的熵,坚固地保护所有账户。

现在就能做的事

  1. 从 Google 账户的"安全"设置中注册通行密钥(通过智能手机生物识别认证完成)
  2. 依次为 Apple ID、Microsoft 账户等已支持通行密钥的主要服务设置通行密钥
  3. 在 Passtsuku.com 上将已设置通行密钥服务的后备密码更新为 20 位以上
  4. 在 Passtsuku.com 上将不支持通行密钥服务的密码更新为 16 位以上的随机字符串,并同时使用两步验证
  5. 3 个月后重新确认通行密钥支持状况,如有新支持的服务则进行设置

常见问题

通行密钥和密码有什么区别?
密码是用户记忆的字符串,而通行密钥是基于公钥加密的凭证,私钥安全存储在设备中。它消除了钓鱼和凭证泄露的风险。
不支持通行密钥的服务该怎么办?
对于不支持通行密钥的服务,请使用密码管理器生成的长随机密码并结合双因素认证。在过渡期间,这种组合是最实际的方案。
如果丢失了设置通行密钥的设备怎么办?
如果使用了 Apple 或 Google 的云同步,只需在新设备上登录即可恢复通行密钥。作为预防措施,请务必在每个服务上设置账户恢复选项(恢复代码或替代认证方式)。

这篇文章对您有帮助吗?

相关术语

XHatena