Summary
draft-liu-oauth-authorization-evidence-01第 3.6 节要求as_signature只覆盖证据id与完整user_confirmation,后者包含准确展示内容、用户动作和时间戳。- 负责说明意图如何被解释为授权操作的
audit_trail被明确排除。我们的本地构造改变了扩展级别和提案引用,规定的签名输入却完全相同。 - 完整签名 JWT 的外层签名仍覆盖嵌入对象;不透明令牌取回后,TLS 保护传输通道,但不会把邻接审计字段变成可独立验证的签名陈述。
固定屏幕不等于固定解释
这份修订版尝试解决一个真实问题:代理代表人行动时,后来的人应该能够知道用户究竟看见了什么、如何确认、何时确认。核心证据对象因此包含 id、user_confirmation 和分离式 JWS。确认对象保存准确的展示文本、确认动作以及 NumericDate 时间。
第 3.6 节给出的签名步骤非常具体。实现必须新建一个只含 id 和 user_confirmation 的 JSON 对象,用 RFC 8785 JCS 规范化,然后对所得字节签名。除 id、user_confirmation、as_signature 之外的扩展字段不得加入。因此,审计轨迹不在签名范围内并非推测,而是规范算法的结果。
这个边界让签名能够回答一个有限而重要的问题:授权服务器是否签署了这份确认记录?草案同时说明,它不能独立证明用户确实同意。交互与签名密钥都由授权服务器控制;若需要更强的不可否认性,应增加用户侧签名或独立同意审计。
它也不是执行回执。资源服务器需要把证据编号、确认时间、展示摘要,与执行了什么操作以及成功或失败分开记录。确认、资源决策、发出请求、工具执行和外部效果属于不同事实层。
流动的部分恰好决定参数
第 4 节把 audit_trail 定义为语义可追踪材料,用来分析用户意图如何被解释并转换为授权操作。可选字段包括证据引用、semantic_expansion_level 和 proposal_ref。
none、low、medium、high 四个级别只能描述扩展幅度,不能重放解释。例如,“便宜耳机”被标为 medium,并不能说明为何上限是 50 美元而非 500 美元,也不能说明采用了哪一版目录、政策或上下文。
proposal_ref 是授权服务器分配的不透明 URI,指向政策评估、范围缩减或同意修改之前的原始提案。修订 01 没有规定如何取回它、保存多久、如何授权读取,也没有要求内容哈希。引用仍在,不代表被引用的字节仍可取得且不可变。
这不是漏洞断言。部署可以自行保留不可变提案、签署更大的信封,或把响应绑定到持久记录。这里的结论更窄:这些性质尚未成为这份草案定义的可移植证据合同。
两条解释路径共享同一签名输入
本地复现建立了两份完整证据对象。它们使用相同的 id、展示句子、确认动作和时间;第一份把扩展标为 medium,引用 50 美元版本,第二份标为 high,引用 500 美元版本。完整对象与完整哈希不同,但按第 3.6 节投影后完全一致,SHA-256 都是 aec26fa5351ab57f144fd6b387b297969f73e34ec3ea5a557592a0b2d3a7b512。
这个实验只确认字节范围。它没有验证草案中缩写的 JWS,没有攻破 JWS 或 JCS,没有检查真实产品,也没有证明任何交易发生、任何服务器恶意或任何损失出现。
载体决定哪些完整性能够随证据走远
如果证据嵌入 RFC 9068 签名 JWT 访问令牌,外层令牌签名会保护完整嵌入对象,包括审计轨迹。只要保留并验证完整 JWT,修改轨迹就会破坏外层签名。不能因为内层签名较窄,就声称完整 JWT 中的轨迹可以无痕改变。
不透明令牌的旅程不同。资源服务器通过 RFC 7662 内省或专用端点取得证据。草案此时称 as_signature 为证据记录的唯一完整性保护,并要求 TLS。TLS 保护当下连接与响应;当证据被提取、保存或转发后,它不会扩大分离式 JWS 的输入,也不会成为第三方可验证的审计轨迹签名。
内省本身回答当前授权上下文问题。active 由授权服务器判断,结果可因资源服务器而异,缓存还会用新鲜度换取负载。它不会自动成为解释链的长期收据。
证据与政策不能互相冒充
配套 Rego 政策草案把两类对象并排放置:授权证据说明为何获准,rego_policy 说明代理可以做什么以及资源服务器如何运行时评估。内层确认签名不覆盖这个兄弟政策对象的 URI、入口点或输入。
完整外层 JWT 能绑定组合表示;离开该载体后,不透明令牌体系必须说明两个对象如何被可信取回和留存。否则“已经授权”会把展示、解释、政策、决策、执行和结果压成一个词,并把补齐中间缺口的权力交给后续组件。
给解释过程一份可移植护照
高后果代理操作需要一份解释护照,把证据和确认会话编号、展示内容哈希与语言、原始提案或不可变哈希、规范化操作与约束、语义差异及其生成组件、政策编号与哈希和入口及输入、签发者与受众和主体及代理、资源服务器决策、实际发出请求的哈希、执行回执与独立观察到的结果连接起来。
这是 Daniel Kade 的分析建议,不是修订 01 已有要求。敏感字节不必全部放进令牌,可以留在访问受控的记录中,以哈希绑定。最小初始规范也不是集中一切,而是固定足够的对象,让获权方能够重建从屏幕句子到可执行动作的道路。
Sources and limits
- https://www.ietf.org/archive/id/draft-liu-oauth-authorization-evidence-01.txt
- https://datatracker.ietf.org/doc/draft-liu-oauth-authorization-evidence/
- https://datatracker.ietf.org/doc/draft-liu-oauth-authorization-evidence/history/
- https://www.rfc-editor.org/rfc/rfc6749.txt
- https://www.rfc-editor.org/rfc/rfc7515.txt
- https://www.rfc-editor.org/rfc/rfc7517.txt
- https://www.rfc-editor.org/rfc/rfc7662.txt
- https://www.rfc-editor.org/rfc/rfc8259.txt
- https://www.rfc-editor.org/rfc/rfc8785.txt
- https://www.rfc-editor.org/rfc/rfc9068.txt
- https://www.rfc-editor.org/rfc/rfc9396.txt
- https://www.rfc-editor.org/rfc/rfc9700.txt
- https://datatracker.ietf.org/doc/html/draft-liu-oauth-rego-policy-00
- https://datatracker.ietf.org/doc/html/draft-liu-ai-agent-authorization-integration-00
- https://heng.lu/on-reality-layers-symbolic-power-and-why-clarity-feels-so-hostile/
- https://heng.lu/minimum-initial-specification-localized-future-decision-voluntary-adoption-internet-coordination-system/
- https://heng.lu/running-code-primary-the-patch-needed-to-preserve-the-internet-original-design/
观察截至 2026 年 9 月 30 日 Asia/Shanghai。修订 01 是仍活跃的个人 Internet-Draft,不是 RFC、OAuth 工作组共识或采用证据。本地复现只证明规定的签名投影范围,不证明 JWS/JCS 失效、TLS 传输被篡改、实现存在缺陷、服务器恶意、真实损失或操作完成。草案可能修改、替换或到期。
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance

