身份证明不是授权:整个房间收敛出的那条分界线
规范解读 · 第 9 篇 · 本文引证来源 · W3C AI Agent Protocol CG 会议纪要,2026 年 10 月 21 日(英文原文照录) · RFC 6749 §1.3–1.4 · W3C DID Core 1.1 · uber/ADR #163 · Proof x401 发布稿,2026-10-15(Manila Times 镜像) · 我方范围声明,CG 墙帖 0015 · 姊妹柱:rttp://(CRI 27) · iqa://(CRI 28)
10 月 21 日,W3C AI Agent Protocol CG 把会议的中心一小时花在了本系列自第一篇起就在绕的问题上:当一个智能体出示身份证明时,究竟建立了什么?会议的答案是一条画得异常清晰的线——而这条线恰好就是我们第三轴所依托的那条。一个月内,四个生态的声音,从四个不同的方向,汇合到同一条边界。
三层,三种不同的产物
会议纪要逐字陈述了这场分工:“DID and authentication proofs establish the agent's identifier and control of an authorized key. They do not by themselves establish an organizational role, user consent, or resource permission.”(DID 与认证证明建立的是智能体的标识符和对经授权密钥的控制;它们本身并不建立组织角色、用户同意或资源许可。)中间一层得到同样待遇:“Verifiable Credentials (VCs) can carry signed claims about roles or direct mandates. A verifier still needs to assess issuer authority, holder binding, credential status, constraints, and local policy.”(可验证凭证可以承载关于角色或直接授权的签名主张;验证者仍须评估签发者权威、持有者绑定、凭证状态、约束与本地策略。)第三层:“OAuth manages resource-side grants, scopes, access tokens, refresh, and revocation. The authorization server and resource server make and enforce access decisions independently of identity discovery.”(OAuth 管理资源侧的授权、范围、访问令牌、刷新与撤销;授权服务器与资源服务器独立于身份发现来做出并执行访问决策。)
对读过标准的人来说,这个切分并不新鲜。OAuth 自 2012 年起就把自己的两种货币分开放:“An authorization grant is a credential representing the resource owner's authorization (to access its protected resources) used by the client to obtain an access token,”(授权许可是代表资源所有者授权的凭证,客户端用它获取访问令牌;)“Access tokens are credentials used to access protected resources.”(访问令牌是用于访问受保护资源的凭证。)许可是许可的证据,令牌是许可的可用形态,两者都不是身份。10 月 21 日新鲜的地方在于:一屋子协议设计者把这场切分重述为一个智能体授权提案的承重墙——而且纪要记录下这场切分在与讨论的接触中存活了下来:没有任何被采纳的方案模糊它。
DID 自己的小字条款
身份层值得单独一读,因为围绕智能体的热情偶尔跑在了规范前面。W3C DID Core 1.1 说:“Decentralized identifiers (DIDs) are a new type of identifier that enables verifiable, decentralized digital identity,”(去中心化标识符是一种新型的、能实现可验证的去中心化数字身份的标识符;)它的核心承诺措辞精确——“the design enables the controller of a DID to prove control over it without requiring permission from any other party.”(该设计使 DID 的控制者能够在无需任何其他方许可的情况下证明对它的控制。)请细读:是控制,不是权利。规范的成就是你能够证明自己持有密钥;它从未声称回答这些密钥能让你做什么。CG 的讨论在其上加了机构性的解读:即便凭证声称了一个角色,验证者仍须掂量签发者权威、绑定、状态、约束与本地策略——五项评估,没有一项由证明本身完成。
第三轴的位置
在同一份邮件列表的合格性线程里,我们在会议之前就预登记了自己的范围:我们主张证据新鲜度与权威有效性;行动时授权刻意不主张——这是设计(墙帖 0015)。会议的切分,正是一个不欠我们任何东西、也没有引用我们一个字的房间,把这条设计原则重述了一遍。这是一份规范能得到的最高形态的认同:没有协调的汇合。
而且这场汇合现在是可度量的。rugsnare——一个生产中的 MCP 工具契约证明系统——在 Uber 的 ADR #163 上确认,把 attestation 与 verdict 分开是“a primitive we already run in production”(我们已在生产中运行的原语)。Proof 的 x401 把网站的问题拆成两半——“prove who it's acting for and what that person approved”(证明它代表谁、那个人批准了什么)——身份与许可,两份证明,一条流程。四个生态声音,一条边界,各自独立抵达:这条轴是真实的,而且每个人都摸得到它在哪里跑。
我们不主张什么
我们自己的两个协议停在同一条线上。RTTP(rttp://)为一个意图被寻址的在哪与何时命名——地址派生自权威,其中没有任何成分是许可。IQA(iqa://)证明一个主体的陈述是否在租约内成立——其中没有任何成分是授权。两个方案都不承载授权决策,因为两个方案都不拥有决策要打开的资源。授权留在它一直待着的地方:在有东西可输的那一方手里。
一句话:身份证明回答谁持有密钥;授权回答密钥能打开什么;知道这两者之别的那份规范,才是唯一能被审计的规范。