一台感染了恶意软件的Windows电脑,能把你存在Google密码管理器里的全部passkey一次性偷走——听起来像是无密码认证的一次重大溃败。但把这件事拆开看,最值得记住的结论反而是:大多数人对passkey的安全模型,从一开始就理解错了。

攻击本身没什么新鲜

Palo Alto Networks的研究员Arie Olshtein上周公布了一种叫Pass-ta-key的攻击手法。核心动作是:让感染恶意软件的Windows设备伪装成一台iPhone,触发Google Password Manager(GPM)的跨设备同步功能,把用户存在云端的passkey整批转移到攻击者控制的机器上。

这确实能拿到密钥。但前提是设备已经中招,并且已经登录了你的Google账号。这个前提放在任何一款密码管理器身上都成立——设备沦陷、账号已登录,基本等于游戏结束,这是安全圈几十年的常识,不是passkey独有的破绽。

真正让人意外的,是很多用户(包括一部分安全从业者)听到这个消息后的第一反应:passkey不是锁在TPM里的吗,怎么会被整批偷走?

你以为的“硬件锁死”,从来不是FIDO的承诺

FIDO2规范从没有强制要求passkey必须存放在TPM、Secure Enclave这类专用安全硬件里。唯一给用户提供TPM存储选项的平台是Windows,而且微软主要把这个选项推荐给企业客户,不是普通消费者。

官方术语里其实早就区分得很清楚:一种是设备绑定passkey,锁死在单一硬件安全区里;另一种是可同步的多设备FIDO凭证,端到端加密后存进云端,可以在多台授权设备间恢复。GPM、1Password、Dashlane在Windows上用的都是后一种。

买椟还珠说的是买家看中了盒子,没细问里面的珠子成色。passkey的营销做的是同一件事:反复强调"抗钓鱼""无密码更安全",很少有人追问这把钥匙具体锁在哪儿。

更麻烦的是,WebAuthn协议里用来标记同步状态的两个字段——Backup EligibilityBackup State,只能告诉网站"这把密钥是否已备份",却完全无法证明它是否受硬件保护。也就是说,任何一个依赖passkey登录的网站,从协议层面就看不出用户那把"不可钓鱼"的私钥,到底躺在TPM里,还是躺在一个云端加密包裹里。

网站无法验证你的passkey到底锁在硬件里,还是锁在一份加密文件里

这不是Google或微软某个产品的实现疏漏,是整套FIDO信任模型天生的验证盲区。

Windows为什么绕不开云端这条路

同样是本地存储,为什么macOS、iOS、Android上的passkey管理器不担心恶意软件批量窃取,Windows却必须靠云端加密兜底?

  • 结论.差异出在应用沙箱的方向性上,不是密钥存储方式本身

macOS、iOS、Android的沙箱机制是双向的:普通应用之间互相隔离,即便本地存了私钥,恶意软件也进不去,除非OS本身被高难度零日漏洞攻破。Windows出于兼容性历史原因,沙箱只单向生效——被沙箱化的应用防不住外部访问,但未沙箱化的恶意软件却能读取沙箱内的数据。

这才是GPM、1Password这些应用在Windows上改用云端加密blob的真正原因:本地存储在Windows上根本挡不住恶意软件,厂商只能把私钥搬到服务器,再用签名断言完成认证,牺牲一部分"纯本地"的架构纯粹性,换取多一层防线。


真正该盯紧的,是验证不了的那部分

Pass-ta-key不算一次新型漏洞,更像是Windows沙箱单向性这个老问题被重新包了一层壳。Ars Technica把它定性为"没什么大不了",这个判断本身是站得住的——设备中招之后,passkey、密码、Cookie全都不安全,这是老账,不是新账。

但这次事件真正暴露的问题,比一次攻击严重得多:passkey的核心卖点是"消灭可被钓鱼的共享密钥",而不是"抵御物理层面的设备沦陷"。可行业在营销时,经常把两者混为一谈,让用户误以为passkey天生自带硬件级免疫力。

  • 风险.企业IT如果按"passkey=硬件绑定"的假设设计风控策略,遇到云同步型passkey管理器就会出现认知偏差

现在能核实的公开信息里,还看不到Google、微软针对这次披露的官方回应,也没有独立研究者在macOS或Android上复现类似的批量提取攻击。这说明围绕Pass-ta-key的交叉验证目前还很单薄,"nothingburger"的定性更多是基于工程逻辑的合理推断,而不是已经完成的独立复核。

对普通用户来说,现实的建议很朴素:先确认自己用的passkey管理器,在Windows上是本地存储还是云同步,再决定要不要额外加一层设备层面的恶意软件防护。对企业IT来说,更该关心的是自己的TPM策略和attestation要求,到底是基于FIDO规范的真实承诺,还是基于一个从没被验证过的默认假设。

FIDO Alliance会不会在attestation指引上补一块"硬件绑定可验证性"的缺口,值得接着看。这比任何一次具体攻击,都更接近这场无密码革命真正的地基问题。