Fix build errors: duplicate anchors, missing ref, back-matter numbering

- Add unique anchors for security subsections that collided with
  protocol section anchors (level-1/2/3, x509-binding, wimse-binding)
- Fix broken {{jwt-claims}} reference to {{exec-claims}}
- Fix I-D.oauth-transaction-tokens-for-agents reference (add manual
  entry since bibxml3 lookup fails)
- Remove RFC2119/8174 from YAML normative block (bcp14-tagged
  boilerplate adds them automatically)
- Add {:numbered="false"} to all back-matter subsections

Build now succeeds: XML, TXT, and HTML generated cleanly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-06 20:07:11 +01:00
parent eb79c6998a
commit bd2a5f819a

View File

@@ -23,12 +23,10 @@ author:
email: ietf@nennemann.de email: ietf@nennemann.de
normative: normative:
RFC2119:
RFC7515: RFC7515:
RFC7517: RFC7517:
RFC7518: RFC7518:
RFC7519: RFC7519:
RFC8174:
RFC9449: RFC9449:
RFC9562: RFC9562:
RFC9110: RFC9110:
@@ -49,7 +47,12 @@ informative:
- org: Cloud Native Computing Foundation - org: Cloud Native Computing Foundation
I-D.ietf-scitt-architecture: I-D.ietf-scitt-architecture:
I-D.ietf-oauth-transaction-tokens: I-D.ietf-oauth-transaction-tokens:
I-D.bertocci-oauth-transaction-tokens-for-agents: I-D.oauth-transaction-tokens-for-agents:
title: "Transaction Tokens for Agentic AI Systems"
target: https://datatracker.ietf.org/doc/draft-oauth-transaction-tokens-for-agents/
date: 2025
author:
- fullname: Vittorio Bertocci
RFC9334: RFC9334:
--- abstract --- abstract
@@ -347,7 +350,7 @@ verification steps:
3. Verify that the "jti" has not been previously seen within the 3. Verify that the "jti" has not been previously seen within the
expiration window, consistent with the replay detection expiration window, consistent with the replay detection
requirement in {{jwt-claims}}. requirement in {{exec-claims}}.
4. Verify the "exp" claim indicates the ECT has not expired. 4. Verify the "exp" claim indicates the ECT has not expired.
@@ -959,7 +962,7 @@ perceived ordering.
## Level-Specific Security Properties {#level-security} ## Level-Specific Security Properties {#level-security}
### Level 1 ### Level 1 {#sec-level-1}
L1 provides no cryptographic binding between the ECT and its L1 provides no cryptographic binding between the ECT and its
issuer. A compromised or malicious intermediary with access to issuer. A compromised or malicious intermediary with access to
@@ -974,14 +977,14 @@ organization, the transport channel is fully trusted (e.g.,
service mesh with mTLS), and the deployment does not require service mesh with mTLS), and the deployment does not require
non-repudiation or tamper evidence beyond transport security. non-repudiation or tamper evidence beyond transport security.
### Level 2 ### Level 2 {#sec-level-2}
L2 inherits all security properties of the JWS-based ECT L2 inherits all security properties of the JWS-based ECT
mechanism defined in this document. The existing security mechanism defined in this document. The existing security
analysis (signature verification, replay prevention, key analysis (signature verification, replay prevention, key
compromise, collusion) applies directly to L2. compromise, collusion) applies directly to L2.
### Level 3 ### Level 3 {#sec-level-3}
L3 provides all L2 security properties plus tamper-evident L3 provides all L2 security properties plus tamper-evident
history via the audit ledger's hash chain and cryptographic history via the audit ledger's hash chain and cryptographic
@@ -1151,7 +1154,7 @@ Implementations SHOULD limit the "pred" array to a maximum of
## Identity Binding Security ## Identity Binding Security
### JWK Set Binding ### JWK Set Binding {#sec-jwk-binding}
When identity is bound via JWK Set URI (see {{identity-binding}}), When identity is bound via JWK Set URI (see {{identity-binding}}),
there is a time-of-check/time-of-use gap between JWK set there is a time-of-check/time-of-use gap between JWK set
@@ -1160,7 +1163,7 @@ be accepted by a verifier whose cached copy has not yet been
refreshed. Implementations SHOULD refresh JWK sets at refreshed. Implementations SHOULD refresh JWK sets at
configurable intervals (RECOMMENDED: no longer than 5 minutes). configurable intervals (RECOMMENDED: no longer than 5 minutes).
### X.509 Binding ### X.509 Binding {#sec-x509-binding}
When identity is bound via X.509 certificates, revocation checking When identity is bound via X.509 certificates, revocation checking
depends on OCSP responder or CRL distribution point availability. depends on OCSP responder or CRL distribution point availability.
@@ -1172,7 +1175,7 @@ Implementations MAY soft-fail for L2 with logging, accepting the
ECT but recording the revocation check failure for subsequent ECT but recording the revocation check failure for subsequent
audit review. audit review.
### WIMSE Binding ### WIMSE Binding {#sec-wimse-binding}
When identity is bound via WIMSE trust bundles, the same When identity is bound via WIMSE trust bundles, the same
time-of-check/time-of-use concern applies to trust bundle time-of-check/time-of-use concern applies to trust bundle
@@ -1444,6 +1447,7 @@ readability. In production, all "jti" values are required to be
UUIDs per {{exec-claims}}. UUIDs per {{exec-claims}}.
## Cross-Organization Financial Trading (L3) ## Cross-Organization Financial Trading (L3)
{:numbered="false"}
In a cross-organization trading workflow, an investment bank's In a cross-organization trading workflow, an investment bank's
agents coordinate with an external credit rating agency. The agents coordinate with an external credit rating agency. The
@@ -1503,6 +1507,7 @@ verifies both parent ECTs — one signed by a local key and one by
a federated key from the rating agency's trust domain. a federated key from the rating agency's trust domain.
## Multi-Vendor SaaS Integration (L2) ## Multi-Vendor SaaS Integration (L2)
{:numbered="false"}
In a document processing pipeline, a customer's orchestration In a document processing pipeline, a customer's orchestration
agent coordinates with third-party vendor agents across agent coordinates with third-party vendor agents across
@@ -1578,6 +1583,7 @@ cross-organizational non-repudiation without requiring an
external audit ledger. external audit ledger.
## Internal Microservice Mesh (L1) ## Internal Microservice Mesh (L1)
{:numbered="false"}
In an internal AI platform, multiple microservices coordinate to In an internal AI platform, multiple microservices coordinate to
process requests. All agents operate within a single trust domain process requests. All agents operate within a single trust domain
@@ -1608,6 +1614,7 @@ Trust Domain: internal.example
{:numbered="false"} {:numbered="false"}
## WIMSE Workload Identity ## WIMSE Workload Identity
{:numbered="false"}
The WIMSE architecture {{I-D.ietf-wimse-arch}} and service-to- The WIMSE architecture {{I-D.ietf-wimse-arch}} and service-to-
service protocol {{I-D.ietf-wimse-s2s-protocol}} provide one service protocol {{I-D.ietf-wimse-s2s-protocol}} provide one
@@ -1619,6 +1626,7 @@ systems. ECTs define an explicit WIMSE identity binding (see
{{wimse-binding}}) but are not limited to WIMSE deployments. {{wimse-binding}}) but are not limited to WIMSE deployments.
## OAuth 2.0 Token Exchange and the "act" Claim ## OAuth 2.0 Token Exchange and the "act" Claim
{:numbered="false"}
{{RFC8693}} defines the OAuth 2.0 Token Exchange protocol and {{RFC8693}} defines the OAuth 2.0 Token Exchange protocol and
registers the "act" (Actor) claim in the JWT Claims registry. registers the "act" (Actor) claim in the JWT Claims registry.
@@ -1638,6 +1646,7 @@ two concepts are orthogonal: "act" records "who authorized whom,"
ECTs record "what was done, in what order." ECTs record "what was done, in what order."
## Transaction Tokens ## Transaction Tokens
{:numbered="false"}
OAuth Transaction Tokens {{I-D.ietf-oauth-transaction-tokens}} OAuth Transaction Tokens {{I-D.ietf-oauth-transaction-tokens}}
propagate authorization context across workload call chains. propagate authorization context across workload call chains.
@@ -1661,7 +1670,7 @@ However, "req_wl" cannot form a DAG because:
linear "req_wl" string cannot express that relationship. linear "req_wl" string cannot express that relationship.
Extensions for agentic use cases Extensions for agentic use cases
({{I-D.bertocci-oauth-transaction-tokens-for-agents}}) add agent ({{I-D.oauth-transaction-tokens-for-agents}}) add agent
identity and constraints ("agentic_ctx") but no execution identity and constraints ("agentic_ctx") but no execution
ordering or DAG structure. ordering or DAG structure.
@@ -1677,6 +1686,7 @@ hash-bind a WPT to a co-present Txn-Token; a similar binding
mechanism for ECTs is a potential future extension. mechanism for ECTs is a potential future extension.
## Distributed Tracing (OpenTelemetry) ## Distributed Tracing (OpenTelemetry)
{:numbered="false"}
OpenTelemetry {{OPENTELEMETRY}} and similar distributed tracing OpenTelemetry {{OPENTELEMETRY}} and similar distributed tracing
systems provide observability for debugging and monitoring. ECTs systems provide observability for debugging and monitoring. ECTs
@@ -1692,6 +1702,7 @@ ECTs may reference OpenTelemetry trace identifiers in the "ext"
claim for correlation. claim for correlation.
## W3C Provenance Data Model (PROV) ## W3C Provenance Data Model (PROV)
{:numbered="false"}
The W3C PROV Data Model defines an Entity-Activity-Agent ontology The W3C PROV Data Model defines an Entity-Activity-Agent ontology
for representing provenance information. PROV's concepts map for representing provenance information. PROV's concepts map
@@ -1704,6 +1715,7 @@ cryptographic signatures. ECT audit data could be exported to
PROV format for interoperability with provenance-aware systems. PROV format for interoperability with provenance-aware systems.
## SCITT (Supply Chain Integrity, Transparency, and Trust) ## SCITT (Supply Chain Integrity, Transparency, and Trust)
{:numbered="false"}
The SCITT architecture {{I-D.ietf-scitt-architecture}} defines a The SCITT architecture {{I-D.ietf-scitt-architecture}} defines a
framework for transparent and auditable supply chain records. framework for transparent and auditable supply chain records.
@@ -1722,6 +1734,7 @@ SCITT Transparency Service as the audit ledger backend,
recording ECTs as supply chain statements about agent execution. recording ECTs as supply chain statements about agent execution.
## RATS (Remote Attestation Procedures) ## RATS (Remote Attestation Procedures)
{:numbered="false"}
RATS {{RFC9334}} defines an architecture for conveying attestation RATS {{RFC9334}} defines an architecture for conveying attestation
evidence about platform trustworthiness. RATS attests "is this evidence about platform trustworthiness. RATS attests "is this