通行密钥 + 设备情报:分层的账户接管防御
通行密钥封堵了凭据窃取这一攻击面,但账户恢复、设备注册和会话劫持仍然暴露在外。设备情报覆盖通行密钥在结构上无法触及的缺口,共同构成分层的 ATO 防御。
通行密钥(passkey)是十年来消费级身份认证最重要的进步,而业界围绕它的叙事却带着一层微妙的误导。这套叙事声称通行密钥"解决"了账户接管。它们并没有解决——它们消除了其中一类,即规模最大、最容易自动化的一类,并在此过程中把攻击者推向账户生命周期中通行密钥在结构上无法保护的那些环节。
本文写给正在部署通行密钥的安全架构师和产品安全团队,帮助你们清醒地看清:通行密钥覆盖了什么、留下了什么暴露面,以及设备情报层应当嵌入在哪里。核心论点是:通行密钥与设备情报相辅相成。通行密钥加固身份认证;设备情报守护认证周围的一切。
通行密钥真正解决了什么
通行密钥通过彻底移除共享密钥来解决凭据窃取问题。没有可供钓鱼的密码,没有可在各站点间复用的密码,也没有躺在泄露库里等待被撞库的密码。这一步就封闭了最大的单一账户接管攻击面。
从机制上看,通行密钥是基于 WebAuthn 和 FIDO2 标准、按站点创建的一对公私钥。私钥永远不会离开用户设备(或其同步的凭据提供方);站点只存储公钥。认证是一次密码学挑战—应答:站点发送一个挑战,设备用私钥对其签名,站点用公钥验证。没有任何可复用的东西经过网络传输。
由此引出两个属性,正是它们对 ATO 至关重要:
抗钓鱼。 通行密钥在密码学上被绑定到站点的来源(origin)。落入仿冒钓鱼域名的用户无法在那里出示自己的通行密钥——浏览器不会提供它,因为来源不匹配。这挫败了整个实时钓鱼代理类别(Evilginx 式攻击),而这类攻击会让一次性验证码 MFA 形同虚设。凭据根本无法被转发到错误的目的地。
没有可供批量窃取的共享密钥。 没有可外泄的哈希密码库,没有可购买的凭据清单,也没有可用于撞库的素材。自动化密码攻击的经济模型依赖于被窃凭据既廉价又可复用;通行密钥让它们不复存在。
对于通行密钥真正掌管的流程——用户在已持有其通行密钥的设备上登录——这近乎滴水不漏。如果你的全部用户群都只用自己已经拥有的设备、并且只用通行密钥来认证,那么经典的 ATO 剧本就会失效。
而这并不是任何真实服务所处的世界。
通行密钥覆盖不到的攻击面
通行密钥守护的是认证事件。账户接管并不局限于认证事件——它瞄准的是整个账户生命周期,而这段生命周期的大部分都处在通行密钥掌管的范围之外。有四个缺口值得关注。
账户恢复。 这是最要紧的一个。每个服务都需要给丢失设备的用户提供一条重新登录的途径。这条恢复路径——邮件链接、短信验证码、安全问题、备份码、客服核验——从定义上说就是一种不用通行密钥来完成认证的方式。攻不破通行密钥的攻击者会转而攻击恢复流程,而恢复流程通常远比它所绕过的主认证脆弱得多。一套带有"通过短信验证码重置"回退方案的通行密钥部署,无论前门多么坚固,都留着一道可被钓鱼、可被 SIM 卡劫持的后门。
设备注册。 向账户添加新的通行密钥是一项账户修改操作,如果攻击者能注册自己设备的通行密钥,他们就获得了永久的合法访问权。注册通常由一个已认证的现有会话来把关——这意味着它继承了建立该会话的任何机制的弱点,包括上文所述的恢复流程。注册一个新的通行密钥,正是现代版的"添加一条转发规则":安静、持久,且极易被忽视。
会话劫持。 通行密钥负责认证;它们不会持续地重新认证。用户一旦登录,随之而来的会话令牌就和其他持有型凭据一样。窃取它——通过恶意软件、恶意扩展、被攻陷的设备,或令牌外泄攻击——你就拿到了已认证的会话,全程无需触碰通行密钥。登录有多强,丝毫说明不了其后那一小时的安全性。
未注册的长尾。 通行密钥的采用是真实的,但只是部分的。任何消费级用户群中都有相当一部分不会拥有通行密钥:老旧设备、共享或公司机器、忽略掉提示的用户、看不懂它的用户。这些账户中的每一个仍然保留着一条基于密码或验证码的路径,而攻击者恰恰集中于这条路径。一个服务的受保护程度只取决于其可用的最弱认证方式,而对未注册的长尾用户来说,那种方式就是老旧的那一种。
贯穿这四点的规律是:强认证并不会消除接管账户的动机,它只是转移了攻击。这正是 2026 ATO 全景一以贯之的教训——每当一个向量被加固,攻击者就流向下一个最薄弱的向量。通行密钥把战场从登录表单移到了恢复流程、注册步骤和登录后的会话。
为什么设备情报能补上这些缺口
设备情报之所以能补上通行密钥的缺口,是因为它运作在另一条轴线上:通行密钥问的是"这个用户是否持有正确的密钥",设备情报问的是"在每一次操作上,这是不是我们为该账户预期的设备和上下文"。第二个问题即便在没有通行密钥参与时也能回答——而这恰恰就是恢复、注册和未注册长尾所处的情形。
其机制是一个持久的设备身份:由浏览器、硬件、网络和行为信号构建出的稳定标识符,无需依赖任何已存储的凭据即可跨会话识别出回访的设备。(关于该标识符如何构建、以及它为何在 cookie 被清除后依然有效,参见设备指纹如何工作。)当这一身份与某个账户的历史绑定后,上述四个缺口都获得了通行密钥无法提供的管控手段。
恢复绑定到已知设备。 当一次恢复尝试到来时,设备情报能回答一个恢复流程本身无法回答的问题:这次恢复是否从该账户曾经用过的设备发起的?从一台位于新国家、使用数据中心 IP 的全新设备发起恢复,其风险在本质上就高于从用户惯用笔记本发起的恢复。这一信号让你可以对恢复流程分级——来自已知设备则轻度核验,来自未知设备则重度核验(或直接暂挂)——而不是对所有人套用同一套薄弱的短信校验。
注册由设备信任把关。 一个注册新通行密钥的请求可以对照设备历史进行评分。从用户已建立的设备注册通行密钥属于预期之内。而从一台几分钟前才出现、就在一次恢复事件之后、来自可疑网络的设备注册通行密钥,正是账户被夺取的特征。设备情报让这样的注册请求变得可辨识,而不再是隐形的。
登录后的持续会话评分。 由于设备身份是在每一次请求上评估的,而不只是在登录时,一个从某台设备开始、却在另一台设备上继续的会话——被窃令牌在别处被重放的特征——是可以被检测到的。会话进行到一半时设备或网络上下文偏离已认证设备,是一种劫持信号,任何前门认证强度都无法捕捉。这正是零信任设备验证的原则:信任是被持续评估的,而不是在门口一次性授予的。
覆盖未注册用户。 对于那些从不采用通行密钥的用户,是设备情报这一层在承担工作——识别他们的已知设备,让合法登录以低摩擦通过,同时标记出瞄准这一人群的撞库和未知设备尝试。因通行密钥部分采用而最为暴露的那些用户,正是设备情报最直接保护的对象。
一以贯之的主线是:通行密钥在某一刻证明密钥持有;设备情报则跨越每一刻确立设备与行为上下文。前者的缺口,恰恰是后者的领域。
两层在实践中如何结合
在分层部署中,通行密钥与设备情报并行运行,各自对自己擅长的判断保有权威,共同汇入单一的风险画面。
在登录环节,凡有通行密钥可用之处,它就是强主因子——抗钓鱼、无共享密钥。设备情报在旁一同运行,无声地确认设备为已知、上下文正常。对于来自已识别设备的通行密钥登录,这一过程是隐形的:用户登录,无任何提示。只有当设备信号与预期不符时,它才会被查询。
在恢复与注册环节,此处并没有出示通行密钥(这正是这些流程的全部意义所在),设备情报成为首要的风险输入。智能信号的裁决——已知设备、网络信誉、行为一致性——决定该流程是轻度放行、升级到更强核验,还是暂挂待审。这里正是通行密钥部署那道真正的后门被上锁之处。
在登录后,设备情报提供持续评估。通行密钥的工作在认证时便已结束;设备层则盯住会话,捕捉那些指示令牌被窃的上下文偏移,并可在设备信号于会话中途断裂时强制重新认证。
对于未注册用户,设备情报在登录环节同样承担首要负荷,把回访的已知设备与撞库尝试区分开来,直到(如果)用户采用通行密钥为止。
这种分工之所以干净利落,是因为两种机制回答的是真正不同的问题,其失效方式也真正不同。通行密钥无法告诉你请求重置密码的设备是否可信;设备情报也无法提供抗钓鱼的、对密钥持有的密码学证明。只部署其一而不部署另一,就会留下一个可预见的漏洞——仅有通行密钥,会让恢复与会话流程软弱不堪;仅有设备情报,则在前门缺乏密码学层面的认证强度。
通行密钥推行时诚实的表述
如果你正在推行通行密钥,准确的内部信息不应是"我们已经解决了账户接管",而应是"我们已把凭据窃取消除为一个攻击向量,现在需要加固攻击者将会转向的那些流程"。这些流程——恢复、注册、会话,以及未注册的长尾——正是下一轮 ATO 尝试将会集中的地方,恰恰因为前门变强了。一次不同步加固恢复的通行密钥推行,等于把锁从门上挪到了窗上,却让窗户敞开着。
那份加固正是设备情报层所提供的,也正因如此,最强的 ATO 姿态会把两者配对。通行密钥让认证事件几乎无法被攻破。设备情报则让账户生命周期的其余部分——那些攻击者正因为认证事件变得无法攻破而转向的部分——变得可观测、可评分。
Tracio 提供的正是这一配对中的设备情报那一半:一个在 cookie 被清除、会话重置后依然存续的持久设备身份,网络与行为风险信号,以及一个在 50ms 以内返回、可接入恢复、注册和持续会话检查的裁决。它在来自已知设备的通行密钥登录背后安静运行,并恰好在通行密钥触及不到之处挺身而出。
想看看设备情报如何覆盖你的通行密钥部署所留下的敞开流程吗?