[控场AI]
· 5 分钟阅读· 2,558 字

Passkey真的更安全吗?一位开发者的质疑与思考

Passkey真的更安全吗?一位开发者的质疑与思考

Passkey密码学上更安全,但跨平台迁移难、生态绑定强、用户心智模型模糊制约其真正普及。

Passkey基于WebAuthn/FIDO2标准,以公私钥机制从协议层面消除钓鱼攻击,安全性优于传统密码。然而开发者Hawksley的批评文章在Hacker News引发广泛讨论,矛头指向Passkey的落地困境:跨平台同步混乱、生态绑定造成的锁定风险、恢复机制不够清晰,以及普通用户难以建立直观的心智模型。社区观点两极分化——支持者强调抗钓鱼收益对普通用户意义重大,批评者则忧虑平台巨头通过掌控登录凭证进一步强化生态控制。文章最终指向一个普遍规律:密码学上的优越性不等于产品成功,Passkey要真正取代密码,必须在便利性、可控性和可迁移性上补齐短板。

Passkey(通行密钥)被科技巨头们描绘成密码时代的终结者——无需记忆、抵御钓鱼、体验流畅。但在一片赞美声中,也有开发者提出了不同意见。近期,开发者 Hawksley 发表的一篇题为《I don't like passkeys》的博文在 Hacker News 上引发热议,获得 279 个赞和超过 230 条评论,成为技术社区讨论认证机制的一个热点。

本文基于该博文及社区讨论,梳理围绕 Passkey 的争议点,试图回答一个核心问题:Passkey 究竟是密码的完美替代者,还是被过度包装的技术方案?

Passkey 到底解决了什么问题

Passkey 建立在 WebAuthn 与 FIDO2 标准之上,本质上是一对公私钥。私钥保存在用户设备(或密码管理器)中,公钥交给服务方。登录时通过设备本地的生物识别或 PIN 完成验证,私钥本身永不离开设备。

这套设计确实针对密码的两大顽疾:一是密码容易被钓鱼窃取,而 Passkey 与域名强绑定,天然抵御钓鱼攻击;二是密码可能在服务方数据库泄露中被批量盗取,而服务方只存储公钥,即便泄露也无法反推出私钥。

从密码学角度看,Passkey 的安全模型比传统密码更为稳健。这也是苹果、谷歌、微软等厂商力推的原因。然而,开发者 Hawksley 的质疑并不在密码学层面,而在于实际使用体验与生态现状。

I don't like passkeys

WebAuthn(Web Authentication)是由 W3C 制定的网页认证标准,FIDO2 则是 FIDO 联盟推出的完整认证框架,WebAuthn 是 FIDO2 的核心组件之一。两者共同定义了浏览器、操作系统与认证设备之间的交互协议。在具体实现上,设备端生成密钥对时通常依赖可信执行环境(TEE)或安全芯片(如 Secure Enclave),私钥在硬件层面被隔离保护,理论上即便操作系统被攻破也难以提取。与传统的基于 TOTP 的双因素认证不同,Passkey 的挑战-响应机制要求服务方每次登录都发送随机挑战值,由设备用私钥签名后返回,因此不存在可被中间人截获并重放的一次性密码。这一设计从协议层面消除了钓鱼攻击的可能性,而非依赖用户识别钓鱼网址的能力。

便利性承诺背后的落地困境

博文作者的核心不满,集中在 Passkey 在真实世界中的碎片化体验。理论上,Passkey 应当让登录变得无缝,但现实是:不同平台、不同浏览器、不同密码管理器之间的同步和迁移常常令人困惑。

一个典型的痛点是「锁定风险」。当 Passkey 被绑定到某个特定生态(例如苹果的钥匙串或谷歌账户)时,用户在切换设备或跨平台使用时可能遭遇障碍。如果用户丢失了主设备,或者想从一个生态迁移到另一个,恢复流程往往不够顺畅。这与「无需记忆、随处可用」的宣传形成了落差。

此外,Passkey 的用户心智模型并不直观。密码是一个人们熟悉了几十年的概念——它是一串你知道的东西。而 Passkey 是一个抽象的加密凭证,普通用户很难理解「它存在哪里」「我丢了怎么办」「能不能备份」这些问题。当心智模型模糊时,用户会本能地感到不安全,即便技术上更安全。

Passkey 的跨平台同步目前主要依赖各厂商的云服务:苹果通过 iCloud 钥匙串同步,谷歌通过 Google Password Manager,微软则通过 Windows Hello 与账户体系集成。2023 年,FIDO 联盟发布了「Credential Exchange Protocol」草案,旨在为 Passkey 跨密码管理器迁移提供标准化路径,但截至目前各主流平台的实际支持程度仍参差不齐。第三方密码管理器如 1Password、Bitwarden 已开始提供跨平台 Passkey 存储,在一定程度上缓解了生态绑定问题,但也引入了新的安全假设——Passkey 的安全性从依赖设备本地硬件,转变为依赖密码管理器账户的安全强度,二者的威胁模型并不相同。

社区讨论中的分歧

在 Hacker News 的两百多条评论中,观点呈现出明显的两极分化。

支持者认为,Passkey 的抗钓鱼特性是密码永远无法企及的,对于普通用户而言,钓鱼才是最现实、最高频的威胁。他们主张不应因为迁移和恢复的边缘场景,而否定整体安全性的提升。

批评者则担心生态绑定会强化平台巨头的控制力。当你的登录凭证被锁在某个厂商的账户体系里,实际上是把身份的主动权交给了平台。也有开发者指出,当前 Passkey 的实现标准虽然统一,但各家厂商的用户界面和恢复机制各行其是,导致「标准统一、体验割裂」的尴尬局面。

还有一类务实的声音提醒:Passkey 与密码并非非此即彼。在很长一段时间里,两者会共存,服务方需要同时维护多套认证路径,这反而增加了系统复杂度和潜在的攻击面。

技术优越并不等于产品成功

这场讨论真正值得关注的,是它折射出一个普遍规律:一项技术在密码学上的优越性,并不能自动转化为良好的产品体验和用户信任。

Passkey 的困境不在于算法,而在于生态协作、恢复机制、用户教育这些「软」问题。密码之所以顽固地存活至今,恰恰因为它足够简单、足够可控、足够可迁移。任何试图取代它的方案,都必须在便利性和可控性上做到不打折扣,而不仅仅是在安全性上占优。

对于开发者和产品团队而言,这篇博文的价值在于提醒:在为产品接入 Passkey 之前,应当认真设计恢复流程、跨平台方案和用户引导,而不是简单地假设「用了新标准就万事大吉」。

结语

Passkey 代表了认证技术演进的正确方向,但它当前的落地形态仍有诸多值得改进之处。开发者 Hawksley 的「不喜欢」并非否定技术本身,而是对生态成熟度、用户体验和平台中立性的合理担忧。

对普通用户来说,Passkey 在抵御钓鱼上的收益是实实在在的;但对整个行业而言,如何让这套机制变得像密码一样可控、可迁移、可理解,才是决定它能否真正取代密码的关键。这场关于认证未来的讨论,显然还远未结束。

分享:

相关推荐