<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- modeled after draft-ietf-opsawg-ucl-acl-12.xml formatting -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-kiliram-agent-trust-auth-framework-00" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion style -->
  <front>
    <title abbrev="agent-trust-auth-framework">A Trust and Authentication Framework for Cross-Domain Agent-to-Agent Communications</title>
    <seriesInfo name="Internet-Draft" value="draft-kiliram-agent-trust-auth-framework-00"/>
    <author fullname="D. King" initials="D." surname="King">
      <organization>Lancaster University</organization>
      <address>
        <email>d.king@lancaster.ac.uk</email>
      </address>
    </author>
    <author fullname="R. Ramdhany" initials="R." surname="Ramdhany">
      <organization>BBC</organization>
      <address>
        <email>rajiv.ramdhany@bbc.co.uk</email>
      </address>
    </author>
    <author fullname="Chunchi Peter Liu" initials="C." surname="Liu">
      <organization>Huawei Technologies</organization>
      <address>
        <email>liuchunchi@huawei.com</email>
      </address>
    </author>
    <date year="2026" month="March" day="15"/>
    <abstract>
      <t>AI-based agent-to-agent communication increasingly occurs across trust domains (e.g., between enterprises, service providers, SaaS platforms, and application third parties). While many agent protocols and platforms can provide transport security and local permission models, deployments lack a coherent, interoperable baseline for verifiable agent identity, credentialing, cross-domain authorisation, delegation, revocation, and auditability.</t>
      <t>This document defines an architectural framework for a cross-domain trust substrate for AI-based agent ecosystems. The framework is intended to be agent protocol-agnostic and to provide a consistent trust baseline that existing and emerging AI agent protocols can build upon.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>AI agent ecosystems are moving from single-agent-service-operator deployments to multi-party environments, where independently operated AI agents interact across organisational and administrative boundaries. In these environments, trust is partial and dynamic, and is constrained by policy, contracts, and regulation.</t>
      <t>Existing AI agent protocols and platforms often provide transport security and local permission models. They do not, by themselves, provide a consistent cross-domain baseline for verifiable agent identity, accountable delegation, interoperable credential handling, and audit evidence. Interoperability is therefore frequently implemented through bespoke integrations with uneven security properties and unclear lifecycle semantics.</t>
      <t>This document composes established IETF security and identity building blocks into a cross-domain trust substrate for AI agent communications. It also identifies remaining interoperability gaps.</t>
      <t>This document defines a Trust and Authentication Framework and key requirements for Agent-to-Agent Communications across domain boundaries. It specifies an architectural model, threat model, and a set of requirements for interoperable trust establishment, including: trust domains and trust anchors; agent gateways and their security roles; identity and credential models; authentication and authorisation patterns (including delegation); and operational requirements for policy enforcement, lifecycle management, and auditability.</t>
      <section anchor="scope">
        <name>Scope</name>
        <t>This framework targets deployments where AI-based agents interact across trust domains, including cloud providers and other agent service operators hosting agent runtimes, agent gateways, and third-party AI agent services. In these environments, the agent-to-agent transport protocol alone does not provide a sufficient basis for verifiable agent identity, cross-domain authorisation, delegation, and audit. In this document, a trust domain is a policy and governance scope, not simply the set of agents that implement the same communication protocol.</t>
        <t>This document does not define a new agent communication protocol. It also does not standardise a global naming or discovery mechanism; instead, it defines the trust requirements that any discovery or registry interface must satisfy in order to bind endpoints and capabilities to verifiable identities and trust anchors across domains. Non-AI software agents are out of scope.</t>
      </section>
      <section anchor="background">
        <name>Background</name>
        <section anchor="agentic-context">
          <name>Agentic Systems Context</name>
          <t>This document focuses on agentic systems in which software agents can plan, invoke tools or services, and execute multi-step tasks across organisational boundaries. These interactions require interoperable trust, identity, delegation, and authorisation controls that remain consistent across trust domains.</t>
        </section>
        <section anchor="domain-definition">
          <name>Trust Domain Definition</name>
          <t>In this document, a Trust Domain is a bounded policy and governance scope in which agents, gateways, identities, and credentials are governed under common administrative control or federated trust agreements.</t>
          <t>A Trust Domain can align with network boundaries, application/content boundaries, protocol ecosystem boundaries, or combinations of these.</t>
          <t>Membership in the same trust domain does not imply universal trust between agents; authentication and authorisation are evaluated per interaction according to policy. Therefore, &quot;cross-domain&quot; includes interactions across any of these trust-domain scopes.</t>
        </section>
      </section>
    </section>
    <section anchor="conventions-and-terminology">
      <name>Conventions and Terminology</name>
      <t>Even though this document is not a protocol specification, it makes use of upper case key words to define requirements unambiguously.</t>
      <t>The key words &quot;MUST&quot;, &quot;MUST NOT&quot;, &quot;REQUIRED&quot;, &quot;SHALL&quot;, &quot;SHALL NOT&quot;, &quot;SHOULD&quot;, &quot;SHOULD NOT&quot;, &quot;RECOMMENDED&quot;, &quot;NOT RECOMMENDED&quot;, &quot;MAY&quot;, and &quot;OPTIONAL&quot; in this document are to be interpreted as described in BCP 14 (<xref target="RFC2119"/> and <xref target="RFC8174"/>) when, and only when, they appear in all capitals, as shown here.</t>
      <t>Agent: An AI-based software entity that can initiate actions, invoke other services, and exchange messages to accomplish tasks.</t>
      <t>Agent Service Operator: The entity responsible for operating an AI agent runtime, agent gateway, or related control-plane service. This is distinct from a network infrastructure operator.</t>
      <t>Domain Boundary: A logical boundary between two domains such that membership, credentials, and policy assertions from one side are not assumed to be valid on the other side without explicit trust establishment and enforcement. Domain boundaries often coincide with agent gateways or mediation components.</t>
      <t>Agent Gateway: A policy-enforcing intermediary that mediates agent-to-agent communications across trust domains.</t>
      <t>Calling Agent: The initiating agent in a cross-domain interaction.</t>
      <t>Gateway Coordinator: Gateway-side logic that performs policy enforcement, token exchange, and context propagation for cross-domain interactions.</t>
      <t>Resource Agent: The target agent or service in the destination trust domain.</t>
      <t>Subject Token: A token presented by the calling side as input for token exchange.</t>
      <t>Exchanged Access Token: A domain-scoped, policy-constrained token issued for use in the destination trust domain (i.e., the issued token in OAuth 2.0 Token Exchange <xref target="RFC8693"/>).</t>
      <t>Transaction Token: A token that carries workflow and task-intent context across delegated or multi-step interactions.</t>
      <t>Relying Party: An entity that evaluates credentials, policy, and evidence before accepting agent requests.</t>
      <t>Trust Domain: A bounded policy and governance scope that may align with network boundaries, application/content boundaries, protocol ecosystem boundaries, or combinations of these. This document uses the term in the same OAuth federation sense as token exchange between independently governed domains (see <xref target="RFC8693"/> and <xref target="I-D.ietf-oauth-identity-chaining"/>).</t>
      <t>Trust Domain Authority: The policy authority within a trust domain that defines trust anchors, identity acceptance criteria, and cross-domain policy constraints.</t>
    </section>
    <section anchor="problem-statement">
      <name>Problem Statement</name>
      <t>Early AI agent deployments are often single-domain: one agent service operator controls runtime, identity lifecycle, and policy enforcement. In that setting, proprietary identity, authorisation, and audit mechanisms may be operationally sufficient.</t>
      <t>Cross-domain deployments are different. They span independent agent service operators (for example, enterprises, cloud providers, SaaS platforms, and third-party AI agent services) with different issuers, policy semantics, and lifecycle processes. In these settings, the transport protocol alone is not sufficient for interoperable trust establishment, delegation control, lifecycle handling, and auditability.</t>
      <t>Three recurring deployment cases illustrate the problem space:</t>
      <ul spacing="normal">
        <li><t>Same protocol, different providers: an enterprise AI agent hosted by one cloud provider or agent service operator invokes a partner or supplier AI agent hosted by a different agent service operator using the same agent-to-agent protocol. Despite protocol interoperability, the parties still require a consistent approach to verifying agent identity and agent service operator accountability, evaluating credentials from different issuers, applying policy constraints (e.g., least privilege and step-up requirements), and handling credential lifecycle events across domains.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Different protocols across domains: an agent service operator uses one protocol internally while an external AI agent ecosystem uses another. An agent gateway (or protocol bridge) mediates between protocols, but trust and authorisation decisions must remain coherent end-to-end. In particular, identity and claims need stable representation across the boundary, delegation semantics must survive translation, and resulting actions must remain attributable and auditable.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Multi-operator media agent pipelines: in Object-Based Media (OBM) deployments, AI agents dynamically assemble discrete media objects (video segments, audio layers, and associated metadata) across independently operated infrastructure, compute, and content delivery services. Agents acting on behalf of different service operators must authenticate their task invocations and obtain authorisation to access or manipulate media objects, with delegation semantics and audit evidence preserved across operator boundaries. This use case is described in <xref target="I-D.rrk-object-based-media-usecase"/>.</t></li>
      </ul>
      <t>These cases require a protocol-agnostic trust substrate that can be applied consistently across providers, gateways, and heterogeneous protocol ecosystems. A primary interoperability challenge is preserving identity, delegation semantics, and policy intent when requests are translated between different agent communication protocols.</t>
      <t>Cross-domain AI agent deployments face the following recurring gaps:</t>
      <ul spacing="normal">
        <li><t>Verifiable identity: recipients need to authenticate an agent and bind that identity to an accountable owner/agent service operator.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Because agents frequently act on delegated authority, recipients need a verifiable delegation chain and a way to constrain scope and purpose.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Heterogeneous systems — including gateways and intermediaries — require consistent policy enforcement across trust domains.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Credential lifecycle: rotation and revocation must be supported with clear operational semantics.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Actions and delegation chains must be auditable, with tamper-evident evidence for regulated environments.</t></li>
      </ul>
    </section>
    <section anchor="threat-model">
      <name>Threat Model</name>
      <t>This document considers (non-exhaustive):</t>
      <ul spacing="normal">
        <li><t>Impersonation of agents or agent providers.</t></li>
        <li><t>Compromise of agent execution environment or keys.</t></li>
        <li><t>Confused-deputy and privilege escalation via delegation chains.</t></li>
        <li><t>Replay, token substitution, and context injection.</t></li>
        <li><t>Cross-domain policy bypass at intermediaries.</t></li>
        <li><t>Downgrade of trust signals and audit/evidence manipulation.</t></li>
      </ul>
    </section>
    <section anchor="design-goals-and-non-goals">
      <name>Design Goals and Non-Goals</name>
      <t>Goals:</t>
      <ul spacing="normal">
        <li><t>A protocol-agnostic trust baseline for cross-domain agent communications (CDAC).</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Interoperable identity binding (agent &lt;-&gt; owner/agent service operator &lt;-&gt; keys).</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Independent agent identities with support for on-behalf-of delegation to distinguish agent and principal.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Short-lived, rapidly-rotated credentials that avoid long-term static secrets.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Authorisation with constrained scope/purpose, fine-grained access tokens, and task-triggered issuance based on least-privilege principles.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Delegation chain preservation and verification to prevent confused-deputy and privilege escalation attacks.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Standardised lifecycle semantics (issue/rotate/revoke/suspend) with automated, zero-touch rotation.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Capability registration, advertisement, and parsing mechanisms that reduce the risk of malicious discovery behaviour, spoofed announcements, or unsafe consumption of registry data.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Evidence and audit hooks suitable for transparency services, regulatory compliance, and operational troubleshooting.</t></li>
      </ul>
      <t>Non-Goals (initially):</t>
      <ul spacing="normal">
        <li><t>Defining a new agent communication protocol.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Standardising underlying secure transport or message protection mechanisms. These are expected to be provided by existing transports (for example, HTTPS/TLS or IPsec) and, where needed, application-layer message protection mechanisms such as JOSE/COSE <xref target="RFC7515"/> <xref target="RFC9052"/>. This framework builds on top of such mechanisms rather than redefining them.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Standardising a global naming or discovery system (the framework defines trust requirements for discovery, but not discovery protocols themselves).</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Defining runtime safety, model alignment mechanisms, or content filtering (these are application-layer concerns outside the scope of cross-domain trust establishment).</t></li>
      </ul>
    </section>
    <section anchor="architecture">
      <name>Architecture</name>
      <t>This section describes the reference architecture used in this document: the entities in each trust domain, the cross-domain mediation points, and the control points for authentication, authorisation, credential lifecycle, and evidence generation. The architecture is protocol-agnostic and can be applied to multiple agent messaging protocols and deployment models.</t>
      <t><xref target="fig-arch"/> shows the high-level components and trust relationships.</t>
      <figure anchor="fig-arch">
        <name>Reference Cross-Domain Trust Architecture</name>
        <artwork type="ascii-art">
         +-----------------------------------------------+
         | Trust Domain A                                |
         |                                               |
         |  +---------+   +---------------------------+  |
         |  | Agent A |--&gt;| Agent Gateway A           |  |
         |  +---------+   | (PEP with PDP interface)  |  |
         |                +---------------------------+  |
         |  +--------------------------+ +----------+    |
         |  | Trust Domain Authority A | | Issuer A |    |
         |  +--------------------------+ +----------+    |
         +-----------------------------------------------+
                     ||  Cross-domain boundary  ||
                     ||  mutual auth + context  ||
         +-----------------------------------------------+
         | Trust Domain B                                |
         |                                               |
         |  +---------------------------+   +---------+  |
         |  | Agent Gateway B           |--&gt;| Agent B |  |
         |  | (PEP with PDP interface)  |   +---------+  |
         |  +---------------------------+                |
         |  +--------------------------+ +----------+    |
         |  | Trust Domain Authority B | | Issuer B |    |
         |  +--------------------------+ +----------+    |
         +-----------------------------------------------+

   +-----------------------------+  +----------------------------+
   | Registry / Discovery        |  | Evidence / Transparency    |
   | (signed, authenticated data)|  | (tamper-evident logs)      |
   +-----------------------------+  +----------------------------+
        </artwork>
      </figure>
      <section anchor="entities-and-roles">
        <name>Entities and Roles</name>
        <ul spacing="normal">
          <li><t>Agent (caller, callee)</t></li>
          <li><t>Agent Provider / Operator</t></li>
          <li><t>Trust Domain Authority (policy + trust anchors)</t></li>
          <li><t>Agent Gateway (cross-domain mediation)</t></li>
          <li><t>Credential Issuer (PKI, token issuer, or equivalent)</t></li>
          <li><t>Transparency / Evidence Service (optional)</t></li>
        </ul>
      </section>
      <section anchor="trust-domains-and-trust-anchors">
        <name>Trust Domains and Trust Anchors</name>
        <t>A trust domain MUST define:</t>
        <ul spacing="normal">
          <li><t>One or more trust anchors used to validate agent credentials.</t></li>
          <li><t>Policy governing acceptable credential types and assurance levels.</t></li>
          <li><t>Operational requirements for issuance, rotation, and revocation.</t></li>
          <li><t>Audit and evidence requirements for cross-domain interactions.</t></li>
        </ul>
      </section>
      <section anchor="agent-gateways">
        <name>Agent Gateways</name>
        <t>Gateways SHOULD support:</t>
        <ul spacing="normal">
          <li><t>Mutual authentication on both sides of the gateway.</t></li>
          <li><t>Verification of delegation chain and policy constraints.</t></li>
          <li><t>Policy enforcement (PEP) with a decision interface (PDP).</t></li>
          <li><t>Evidence emission (logs/receipts) for audited actions.</t></li>
        </ul>
      </section>
      <section anchor="registries-and-discovery-interfaces">
        <name>Registries and Discovery Interfaces</name>
        <t>Discovery mechanisms (DNS, directories, registries, APIs) enable agents to locate and interact with other agents or services. In deployments where discovery information influences trust or routing decisions, discovery and registration mechanisms MUST support verifiable bindings between discovered endpoints and associated identities.</t>
        <t>Registration Security:</t>
        <ul spacing="normal">
          <li><t>Capability and endpoint registrations MUST be authenticated. Only agents or operators with valid credentials and appropriate authorisation SHOULD be able to register or update entries in a discovery registry.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Registrations SHOULD be signed or otherwise cryptographically bound to the registering agent's identity to enable verification by consumers.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Registries SHOULD implement rate limiting, abuse detection, and validation checks to prevent flooding, enumeration, or injection of malicious entries.</t></li>
        </ul>
        <t>Broadcast and Advertisement Security:</t>
        <ul spacing="normal">
          <li><t>Where capability advertisements are broadcast (e.g., via mDNS, DNS-SD, or multicast protocols), recipients MUST verify the authenticity and authorisation of the broadcaster before trusting advertised endpoints or capabilities.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Broadcast mechanisms SHOULD include anti-spoofing protections (e.g., cryptographic signatures, nonce-based freshness, or network-level source authentication).</t></li>
        </ul>
        <t>Parsing and Consumption Security:</t>
        <ul spacing="normal">
          <li><t>Agents consuming discovery information MUST implement robust parsing and validation to prevent exploitation via malformed or malicious registry entries (e.g., buffer overflows, injection attacks, or resource exhaustion).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Discovered endpoints and capabilities SHOULD be treated as untrusted until verified through authentication and authorisation (see Section 8).</t></li>
        </ul>
        <t>Identity and Trust Anchor Binding:</t>
        <ul spacing="normal">
          <li><t>Discovery mechanisms SHOULD enable consumers to bind discovered endpoints or capabilities to verifiable agent identities and relevant trust anchors. For example, a registry entry MAY include or reference the agent's credential, public key fingerprint, or trust domain identifier.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>This document defines requirements for such bindings, but does not standardise specific discovery protocols or registry formats.</t></li>
        </ul>
      </section>
      <section anchor="reference-flow-labels-and-token-transitions">
        <name>Reference Flow Labels and Token Transitions</name>
        <t>This subsection introduces flow labels and token terms used across Sections 6, 8, 9, and 10.</t>
        <ul spacing="normal">
          <li><t>Calling Agent: the initiating agent in the source trust domain.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Gateway Coordinator: gateway-side logic that performs policy enforcement, token handling, and cross-domain mediation.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Resource Agent: the target agent or service in the destination trust domain.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Subject Token: token presented by the calling side as input to token exchange.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Exchanged Access Token: policy-constrained token issued for the destination trust domain (i.e., the issued token in OAuth 2.0 Token Exchange <xref target="RFC8693"/>).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Transaction Token: token carrying workflow and task-intent context across delegated steps.</t></li>
        </ul>
        <t><xref target="fig-flow"/> shows the reference sequence and control points.</t>
        <figure anchor="fig-flow">
          <name>Reference Flow Labels for Context-Aware Cross-Domain Access</name>
          <artwork type="ascii-art">
Domain A to Domain B (cross-trust-domain flow)

+---------------------------+
| Calling Agent (Domain A)  |
+---------------------------+
              | (F1) Subject Token + intent
              v
+-----------------------------------------------+
| Agent Gateway / Gateway Coordinator           |
| (PEP, context processor)                      |
+-----------------------------------------------+
       | (F2) RFC8693 exchange
       v
+-----------------------------------------------+
| Authorisation Server / Credential Issuer      |
+-----------------------------------------------+
       | (F3) Exchanged Access Token
       |      (domain-scoped, least privilege)
       v
+-----------------------------------------------+
| Resource Agent / API (Domain B)               |
+-----------------------------------------------+
       | (F4) Request with Exchanged Access
       |      Token + Transaction context
       | (F5) Revocation / credential status
       |      checks at gateway and relying party
       v
+-----------------------------------------------+
| Evidence and Transparency Service             |
+-----------------------------------------------+
       ^ (F6) Audit / evidence / telemetry records
          </artwork>
        </figure>
      </section>
    </section>
    <section anchor="identity-and-credential-model">
      <name>Identity and Credential Model</name>
      <t>Cross-domain agent interactions require a consistent approach to identity representation, credential binding, and cryptographic proof. This section defines requirements for agent identifiers, credential formats, key management practices, and lifecycle operations that support short-lived credentials and avoid long-term static secrets.</t>
      <section anchor="agent-identifiers">
        <name>Agent Identifiers</name>
        <t>An agent identifier MUST unambiguously identify an agent instance within and across trust domains. Agent identifiers SHOULD:</t>
        <ul spacing="normal">
          <li><t>Be globally unique or unique within a well-defined namespace.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Be stable across credential rotation events (i.e., the agent identity persists even as cryptographic keys are rotated).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Support binding to an accountable agent service operator or owner entity (e.g., an organisation, cloud provider, or user principal).</t></li>
        </ul>
        <t>Agent identifiers MAY be represented using URIs, DIDs (Decentralised Identifiers), NAI-style identifiers <xref target="RFC7542"/>, or domain-scoped naming schemes, provided that the chosen format supports verifiable binding to credentials and trust anchors.</t>
        <t>Use of NAI-style identifiers is optional and deployment-specific; this document does not require or prefer NAI over other identifier formats.</t>
        <t>In delegation scenarios (see Section 7.4), it MUST be possible to distinguish the agent's own identity from the identity of the principal (user or service) on whose behalf it is acting.</t>
        <t>Identity Schemes and Namespace Considerations:</t>
        <t>Agent identity is fundamentally tied to well-defined namespaces and trust contexts. Different deployment scenarios employ different identity management approaches:</t>
        <ul spacing="normal">
          <li><t>Enterprise and Federated Identity: In enterprise consortia and federated environments, agent identity is often managed through Single Sign-On (SSO), federation, and related identity-provider infrastructure. Provisioning and synchronisation mechanisms such as SCIM <xref target="RFC7643"/> <xref target="RFC7644"/> MAY be used operationally, but do not by themselves define runtime trust or authorisation semantics across domains.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Consumer and Citizen Identity: In consumer or citizen-facing scenarios, deployments MAY use verifiable credential ecosystems and related work building on the W3C Verifiable Credentials Data Model <xref target="W3C.VC"/>. The exact role of such credential formats, including CBOR- or JSON-based representations, is deployment-specific.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Workload and Application Identity: For application and workload identities (including AI agents), emerging work in areas such as workload identity and credential management may be relevant to representing both the agent's identity and the identity of its owner or principal (see Section 7.4).</t></li>
        </ul>
        <t>These examples are illustrative rather than exhaustive, and the relationship between these identity ecosystems and cross-domain agent trust is to be discussed in more detail in a later version of this document.</t>
        <t>Deployments SHOULD select identity representation formats appropriate to their operational context and trust model. Universal identity schemes face practical challenges in namespace governance, trust anchor distribution, and cross-context interoperability; agent service operators SHOULD design for namespace-scoped identity with explicit trust relationships between domains.</t>
      </section>
      <section anchor="credential-formats">
        <name>Credential Formats</name>
        <t>Agent credentials bind an agent identifier to cryptographic proof material (public keys or equivalent) and MAY include additional claims such as capabilities, agent service operator identity, assurance level, and validity constraints.</t>
        <t>Credentials MUST support:</t>
        <ul spacing="normal">
          <li><t>Cryptographic binding between agent identity and key material, so that possession of the credential implies control of the corresponding private key.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Tamper-evident representation (e.g., signed by a trusted issuer).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Time-bounded validity, with explicit expiration constraints.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Revocation or suspension mechanisms (see Section 9).</t></li>
        </ul>
        <t>Credentials SHOULD support:</t>
        <ul spacing="normal">
          <li><t>Structured claims for authorisation context (e.g., scope, purpose, or allowed actions).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Where the agent acts on delegated authority, representation of the full delegation chain (see Section 7.4 and Section 8.2).</t></li>
        </ul>
        <t>Suitable credential formats include X.509 certificates, JSON Web Tokens (JWT), CBOR Web Tokens (CWT), Verifiable Credentials (W3C VC), or equivalent formats that meet the requirements above. The choice of format SHOULD align with the operational and performance constraints of the deployment environment.</t>
      </section>
      <section anchor="key-management-and-proof-of-possession">
        <name>Key Management and Proof-of-Possession</name>
        <t>Agent credentials MUST be bound to cryptographic keys under the control of the agent or its runtime environment. To mitigate key compromise and support operational agility, deployments SHOULD:</t>
        <ul spacing="normal">
          <li><t>Use short-lived credentials with validity periods measured in hours or days, rather than months or years.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Rotate keys and credentials frequently and automatically.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Avoid embedding long-term static secrets in agent code, configuration, or environment variables.</t></li>
        </ul>
        <t>Agent authentication MUST include proof-of-possession of the private key corresponding to the public key in the credential. Acceptable proof-of-possession mechanisms include:</t>
        <ul spacing="normal">
          <li><t>Digital signatures over authentication challenges or request content (e.g., using JOSE or COSE signature schemes).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Key agreement or key confirmation protocols.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Cryptographic binding in token-based schemes (e.g., DPoP for OAuth 2.0 <xref target="RFC9449"/>).</t></li>
        </ul>
        <t>Where hardware security modules (HSMs), trusted execution environments (TEEs), or secure enclaves are available, private keys SHOULD be protected within these environments to reduce exposure.</t>
      </section>
      <section anchor="on-behalf-of-delegation">
        <name>On-Behalf-Of Delegation</name>
        <t>Agents frequently act on behalf of a user, service, or organisation. In such cases, credentials and authorisation tokens MUST clearly represent both:</t>
        <ul spacing="normal">
          <li><t>The agent's own identity (the immediate actor).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>The identity of the principal on whose behalf the agent is acting (the authorising party).</t></li>
        </ul>
        <t>This separation enables relying parties to:</t>
        <ul spacing="normal">
          <li><t>Attribute actions to the correct principal for audit and accountability purposes.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Apply policy based on both agent and principal identity (e.g., &quot;agent X acting for user Y may access resource Z&quot;).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Enforce constraints on delegation depth and scope (see Section 8.2).</t></li>
        </ul>
        <t>Delegation relationships SHOULD be cryptographically verifiable, either through structured token claims (e.g., JWT &quot;act&quot; or &quot;may_act&quot; claims) or through chained credentials that establish a delegation path from the principal to the agent.</t>
        <t>Dual Identity for AI Agents:</t>
        <t>One possible model for AI agents is a dual-identity representation comprising the agent's own identity and the identity of its owner or invoking principal <xref target="I-D.ni-wimse-ai-agent-identity"/>. Where such a model is used, it may provide additional context for access control decisions. Potential benefits include:</t>
        <ul spacing="normal">
          <li><t>Reuse of existing Role-Based Access Control (RBAC) policies defined for human principals, while also applying agent-specific constraints.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Differentiation between agent capabilities (what the agent itself is authorised to do) and principal authorisation (what the owner is authorised to do), allowing security engines to make better- informed decisions.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Clear separation of accountability: the agent's virtual identity remains stable across different principals, while the principal's identity varies based on who invoked the agent.</t></li>
        </ul>
        <t>Where deployments implement such a dual-identity model, both identities SHOULD be represented in credentials, tokens, or equivalent policy inputs as appropriate. The detailed representation and processing model is to be discussed in more detail in a later version of this document.</t>
      </section>
      <section anchor="credential-lifecycle-and-rotation">
        <name>Credential Lifecycle and Rotation</name>
        <t>To support operational resilience and security hygiene, agent credential issuance and rotation MUST be automated and SHOULD NOT require manual intervention under normal operating conditions.</t>
        <t>Deployments SHOULD implement:</t>
        <ul spacing="normal">
          <li><t>Automated credential issuance upon agent initialisation or registration.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Proactive credential renewal before expiration (e.g., renewing when 50-75% of the validity period has elapsed).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Graceful handling of overlapping validity periods to avoid service disruption during rotation.</t></li>
        </ul>
        <t>Credential rotation events SHOULD be logged for audit and troubleshooting. Revocation and suspension mechanisms are described in Section 9.</t>
      </section>
    </section>
    <section anchor="authentication-and-authorisation-patterns">
      <name>Authentication and Authorisation Patterns</name>
      <t>This section defines authentication and authorisation requirements for cross-domain agent interactions. The patterns described here are intended to support least-privilege access control, time-bound authorisation, task-specific scoping, and auditability across trust domain boundaries.</t>
      <section anchor="mutual-authentication">
        <name>Mutual Authentication</name>
        <t>Agent-to-agent interactions across domain boundaries MUST use mutual authentication, in which both the calling agent and the receiving agent (or gateway) authenticate each other before exchanging sensitive data or performing actions.</t>
        <t>Mutual authentication ensures that:</t>
        <ul spacing="normal">
          <li><t>The caller can verify the identity and trustworthiness of the service or agent it is invoking.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>The callee can verify the identity and authorisation of the caller before granting access or performing requested actions.</t></li>
        </ul>
        <t>Mutual authentication SHOULD be established at the transport layer (for example, mutual TLS) or, where appropriate, at the application layer using signed requests, proof-of-possession mechanisms, or equivalent message protection schemes (for example, HTTP Message Signatures <xref target="RFC9421"/>).</t>
        <t>Where agent gateways mediate cross-domain communication, mutual authentication MUST be performed on both sides of the gateway: between the calling agent and the gateway, and between the gateway and the target agent or service.</t>
      </section>
      <section anchor="delegation-and-call-chain-context">
        <name>Delegation and Call-Chain Context</name>
        <t>When an agent acts on behalf of a user or invokes another agent as part of a multi-step workflow, the call chain context MUST be preserved and made available to downstream relying parties.</t>
        <t>In <xref target="fig-flow"/> terms, call-chain context enters at (F1), is evaluated and transformed during (F2), and is propagated downstream at (F4) (typically via transaction tokens or equivalent structured context).</t>
        <t>Call-chain context includes:</t>
        <ul spacing="normal">
          <li><t>The identity of the original requesting principal (user or service).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>The identity of each intermediary agent in the delegation chain.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Constraints on delegation depth (e.g., &quot;may delegate at most one level further&quot;).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Scope and purpose restrictions that apply to delegated authority.</t></li>
        </ul>
        <t>Relying parties MUST be able to inspect and verify the call-chain context in order to:</t>
        <ul spacing="normal">
          <li><t>Attribute actions to the correct principal for audit and compliance purposes.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Detect and prevent confused-deputy attacks and privilege escalation.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Enforce policy based on the full delegation path (e.g., &quot;user A via agent B via agent C may not access resource X&quot;).</t></li>
        </ul>
        <t>Call-chain context SHOULD be represented using structured tokens (e.g., JWT with nested or chained claims) or as a sequence of verifiable credentials that establish the delegation path. Cryptographic signatures MUST bind each step in the chain to prevent tampering or substitution.</t>
        <t>Transaction Tokens <xref target="I-D.ietf-oauth-transaction-tokens"/> may provide one useful mechanism for encoding and protecting workflow-related context across trust domains in multi-step interactions. Depending on deployment requirements, such tokens may carry task, transaction, or purpose-related context that can assist downstream policy evaluation. The exact representation of delegation chains, workflow state, and related semantics is deployment-specific and to be discussed in more detail in a later version of this document.</t>
      </section>
      <section anchor="policy-enforcement-and-decision-points">
        <name>Policy Enforcement and Decision Points</name>
        <t>Access control decisions in cross-domain agent ecosystems require dynamic evaluation of policy based on agent identity, principal identity, call-chain context, resource attributes, and environmental conditions.</t>
        <t>Deployments SHOULD implement a clear separation between:</t>
        <ul spacing="normal">
          <li><t>Policy Enforcement Points (PEPs): components that intercept requests and enforce access decisions (e.g., agent gateways, API gateways, or runtime enforcement layers).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Policy Decision Points (PDPs): components that evaluate policy rules and return authorisation decisions to PEPs.</t></li>
        </ul>
        <t>PDPs SHOULD support policy evaluation based on:</t>
        <ul spacing="normal">
          <li><t>Agent and principal identity.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Delegation chain and call-chain depth.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Resource being accessed and requested operation.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Contextual attributes (e.g., time of day, source network, assurance level).</t></li>
        </ul>
        <t>Policy languages and decision engines are not standardised by this framework; however, policies MUST be enforceable consistently across gateways and relying parties within a trust domain, and SHOULD be auditable and versioned for governance and compliance purposes.</t>
      </section>
      <section anchor="least-privilege-and-fine-grained-access-tokens">
        <name>Least-Privilege and Fine-Grained Access Tokens</name>
        <t>Access tokens issued to agents MUST implement the principle of least privilege by constraining:</t>
        <ul spacing="normal">
          <li><t>Scope: the set of resources or operations the token grants access to (e.g., &quot;read messages in project X&quot;, &quot;invoke workflow Y&quot;).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Validity period: tokens SHOULD have short lifetimes (measured in minutes to hours) to limit exposure in the event of compromise.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Purpose or task context: tokens MAY be bound to a specific task or workflow instance, and MUST NOT be reusable across unrelated operations unless explicitly permitted by policy.</t></li>
        </ul>
        <t>Fine-grained scoping reduces the impact of token leakage or misuse and supports auditability by creating a clear link between tokens and the tasks they authorise.</t>
        <t>Access tokens SHOULD be issued dynamically in response to specific task triggers (e.g., user initiation of a workflow, scheduled job execution, or event-driven invocation) rather than being provisioned statically at agent deployment time.</t>
        <t>Token formats SHOULD support structured scope representation (e.g., OAuth 2.0 scopes, RBAC roles, or attribute-based claims) and MUST include expiration timestamps. Deployments MUST support one or more revocation or status-validation mechanisms (e.g., token introspection, revocation endpoints, issuer-side deny lists, or equivalent controls) to enable lifecycle management (see Section 9).</t>
        <t>Cross-Domain Token Exchange:</t>
        <t>When agents interact across trust domains, access tokens issued in one domain often cannot be used directly in another domain. OAuth 2.0 Token Exchange <xref target="RFC8693"/> provides one established mechanism for exchanging a token from Domain A for a token acceptable in Domain B, subject to policy and trust relationships between the domains.</t>
        <t>Related OAuth extensions may be relevant in specific cross-domain scenarios:</t>
        <ul spacing="normal">
          <li><t>Identity Chaining <xref target="I-D.ietf-oauth-identity-chaining"/> may be applicable where identity information must be conveyed across trust domains in a form acceptable to a downstream authorisation system.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Identity Assertion Authorisation Grant <xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/> may be relevant where identity assertions are used as inputs to obtain access tokens in federation scenarios.</t></li>
        </ul>
        <t>Deployments using OAuth-based authorisation SHOULD consider these existing standards before creating bespoke token exchange or assertion mechanisms. Detailed profiling guidance for agent-specific use of these extensions is to be discussed in more detail in a later version of this document.</t>
        <t>In the reference sequence (<xref target="fig-flow"/>), this corresponds to:</t>
        <ul spacing="normal">
          <li><t>(F1) Subject Token presented by the calling side to the gateway.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>(F2) Token exchange request by the gateway/authorisation component.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>(F3) Issuance of a destination-domain exchanged access token.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>(F4) Use of the exchanged access token (and workflow context) to access destination resources.</t></li>
        </ul>
      </section>
      <section anchor="explicit-workflow-and-step-up-authentication">
        <name>Explicit Workflow and Step-Up Authentication</name>
        <t>In multi-step agent workflows, explicit workflow identifiers and step-up authentication MAY be required to ensure that sensitive actions are authorised at an appropriate assurance level.</t>
        <t>Explicit workflow context includes:</t>
        <ul spacing="normal">
          <li><t>A workflow or session identifier that links related agent interactions.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>The current step or phase within the workflow.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Constraints on permissible transitions between steps.</t></li>
        </ul>
        <t>Step-up authentication is a mechanism in which an agent or user is required to re-authenticate or provide additional proof before performing a high-risk or sensitive operation. For example:</t>
        <ul spacing="normal">
          <li><t>A low-assurance token may permit read-only operations, while write or delete operations require a higher-assurance token obtained through step-up.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Delegation to a third-party agent may require explicit user consent or re-authentication.</t></li>
        </ul>
        <t>Step-up requirements SHOULD be expressed in policy and enforced by PDPs and PEPs. Workflow and step-up context SHOULD be included in call-chain tokens to ensure that downstream relying parties can verify compliance with workflow constraints.</t>
      </section>
    </section>
    <section anchor="revocation-rotation-and-lifecycle">
      <name>Revocation, Rotation, and Lifecycle</name>
      <t>Credential lifecycle management is critical to the security and operational resilience of cross-domain agent ecosystems. This section defines requirements for credential issuance, rotation, revocation, and suspension, with an emphasis on automation, short validity periods, and clear operational semantics.</t>
      <t>Relative to <xref target="fig-flow"/>, lifecycle controls govern tokens and credentials produced in (F2)/(F3), consumed in (F4), and continuously validated via (F5).</t>
      <section anchor="automated-credential-issuance">
        <name>Automated Credential Issuance</name>
        <t>Agent credentials SHOULD be issued automatically as part of agent initialisation, registration, or onboarding processes. Manual credential provisioning introduces operational overhead, increases the risk of misconfiguration, and delays agent deployment.</t>
        <t>Automated issuance mechanisms MUST:</t>
        <ul spacing="normal">
          <li><t>Authenticate the requesting agent or agent service operator before issuing credentials.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Bind the issued credential to the agent's identity and cryptographic keys (see Section 7).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Apply policy constraints (e.g., validity period, scope, trust domain) at issuance time.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Log issuance events for audit and compliance purposes (see Section 10).</t></li>
        </ul>
        <t>Credential issuers MAY implement attestation or proof-of-identity requirements (e.g., requiring the agent to demonstrate control of a pre-registered public key, or to provide a bootstrapping token issued by a trust domain authority).</t>
      </section>
      <section anchor="credential-rotation">
        <name>Credential Rotation</name>
        <t>To limit exposure in the event of key compromise and to support cryptographic agility, agent credentials SHOULD be rotated frequently. Rotation intervals depend on the threat model and operational context, but deployments SHOULD target validity periods measured in hours or days rather than months or years.</t>
        <t>Automated rotation MUST be supported without manual intervention. Rotation mechanisms SHOULD:</t>
        <ul spacing="normal">
          <li><t>Begin renewal before credential expiration (e.g., when 50-75% of the validity period has elapsed) to avoid service disruption.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Support overlapping validity periods for old and new credentials during the rotation window, allowing graceful transition without breaking in-flight requests.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Re-authenticate the agent and verify continued authorisation before issuing renewed credentials.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Log rotation events and preserve a historical record of credential issuance for forensic analysis (see Section 10).</t></li>
        </ul>
        <t>Rotation SHOULD be triggered by time-based expiration, but MAY also be triggered by policy events (e.g., change of agent role, detected anomaly, or administrative action).</t>
      </section>
      <section anchor="revocation">
        <name>Revocation</name>
        <t>Revocation is the permanent invalidation of a credential before its natural expiration. Revocation is necessary in response to key compromise, agent decommissioning, policy violation, or other security events.</t>
        <t>Revocation mechanisms MUST:</t>
        <ul spacing="normal">
          <li><t>Provide timely propagation of revocation status to relying parties. Acceptable mechanisms include Online Certificate Status Protocol (OCSP), Certificate Revocation Lists (CRLs), token revocation endpoints, or equivalent real-time revocation services.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Support query-based revocation checking by relying parties (i.e., relying parties MUST be able to verify whether a credential is revoked before accepting it).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Generate audit evidence when credentials are revoked, including the reason for revocation and the time of revocation.</t></li>
        </ul>
        <t>Deployments using short-lived credentials (e.g., validity periods of hours or days) MAY rely on expiration rather than explicit revocation for routine lifecycle management, reserving revocation for emergency or high-severity events. However, a revocation mechanism MUST still be available for such events.</t>
        <t>Revocation SHOULD be irreversible. If an agent requires new credentials after revocation, it MUST re-authenticate and obtain a fresh credential through the issuance process.</t>
      </section>
      <section anchor="suspension-and-resumption">
        <name>Suspension and Resumption</name>
        <t>Suspension is the temporary invalidation of a credential, typically in response to a transient condition (e.g., suspected anomaly, pending investigation, or administrative hold). Unlike revocation, suspension MAY be reversible.</t>
        <t>Suspension mechanisms SHOULD:</t>
        <ul spacing="normal">
          <li><t>Use the same propagation and checking mechanisms as revocation (e.g., OCSP, CRLs, or token introspection endpoints).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Distinguish suspended credentials from revoked credentials in status responses, enabling relying parties to apply appropriate policy (e.g., temporary denial vs. permanent rejection).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Log suspension and resumption events for audit purposes.</t></li>
        </ul>
        <t>Resumption (re-activation of a suspended credential) SHOULD require explicit administrative action or policy evaluation, and MUST be logged. Resumed credentials retain their original expiration time; suspension does not extend validity.</t>
      </section>
      <section anchor="operational-semantics-and-grace-periods">
        <name>Operational Semantics and Grace Periods</name>
        <t>To avoid service disruption during lifecycle transitions, deployments SHOULD implement grace periods and operational best practices:</t>
        <ul spacing="normal">
          <li><t>Clock skew tolerance: relying parties SHOULD tolerate small clock skew (e.g., +/- 5 minutes) when validating credential expiration times.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Caching and refresh intervals: relying parties that cache revocation or suspension status SHOULD refresh cached data frequently (e.g., every few minutes for high-assurance environments, or hourly for lower-risk contexts).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Fallback and failover: if revocation status cannot be checked (e.g., due to network failure or service outage), deployments SHOULD implement a fail-safe policy (e.g., reject credentials when revocation status is unavailable in high-assurance environments, or accept credentials with logging and delayed verification in lower-risk environments).</t></li>
        </ul>
        <t>Operational semantics for lifecycle events (issuance, rotation, revocation, suspension, resumption) SHOULD be documented and consistent across trust domains to ensure interoperability.</t>
      </section>
    </section>
    <section anchor="auditability-transparency-and-evidence">
      <name>Auditability, Transparency, and Evidence</name>
      <t>Cross-domain agent interactions often involve sensitive data, high-value transactions, or regulated decision-making processes. To support accountability, compliance, and operational troubleshooting, this framework requires that agent interactions produce verifiable evidence available to operators and auditors.</t>
      <section anchor="audit-requirements">
        <name>Audit Requirements</name>
        <t>Agent platforms, gateways, and relying parties MUST generate audit logs for security-relevant events, including:</t>
        <ul spacing="normal">
          <li><t>Authentication and authorisation decisions (successful and failed).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Credential issuance, renewal, revocation, and suspension events.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Delegation and call-chain construction.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Access to sensitive resources or execution of high-risk operations.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Policy evaluation decisions and any policy violations or anomalies.</t></li>
        </ul>
        <t>Audit logs MUST include sufficient context to support forensic analysis and compliance reporting, including:</t>
        <ul spacing="normal">
          <li><t>Timestamp (with time zone or UTC offset).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Agent identity and principal identity (if applicable).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Call-chain context (see Section 8.2).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Resource or operation being accessed.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Authorisation decision and policy identifier.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Reference flow label(s) for the transaction path (e.g., F1-F6 from <xref target="fig-flow"/>), where available.</t></li>
        </ul>
        <t>Audit logs SHOULD be tamper-evident (e.g., signed, hash-chained, or committed to an append-only transparency log) to ensure integrity and non-repudiation.</t>
      </section>
      <section anchor="transparency-and-evidence-services">
        <name>Transparency and Evidence Services</name>
        <t>In deployments where auditability and public accountability are critical (e.g., regulated industries, cross-organisational collaborations, or high-assurance environments), operators MAY integrate transparency services such as:</t>
        <ul spacing="normal">
          <li><t>Certificate Transparency (CT) logs for agent credentials.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Verifiable data structures (e.g., Merkle trees) for tamper-evident audit trails.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Third-party attestation or notarisation services that provide independent verification of agent actions or credential lifecycle events.</t></li>
        </ul>
        <t>Transparency services enable:</t>
        <ul spacing="normal">
          <li><t>Detection of mis-issued or unauthorised credentials.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Independent audit of agent behaviour and delegation chains.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Compliance with regulatory requirements for auditability and traceability (e.g., GDPR Article 22 for automated decision-making, or financial services audit requirements).</t></li>
        </ul>
        <t>This framework does not mandate specific transparency log formats or protocols, but recommends that any transparency service integrated into an agent ecosystem support cryptographic proof of inclusion and consistency.</t>
      </section>
      <section anchor="decryption-and-inspection-for-compliance">
        <name>Decryption and Inspection for Compliance</name>
        <t>In some regulatory or enterprise environments, operators or compliance teams may require the ability to decrypt and inspect agent-to-agent traffic for security monitoring, data loss prevention (DLP), or regulatory compliance purposes.</t>
        <t>Where decryption and inspection are required, deployments SHOULD:</t>
        <ul spacing="normal">
          <li><t>Implement inspection at controlled policy enforcement points (e.g., gateways or proxies) rather than passively intercepting encrypted traffic.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Use explicit trust relationships and key escrow or key sharing arrangements that are disclosed to all parties and governed by policy.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Log and audit all decryption and inspection events to ensure accountability and prevent misuse.</t></li>
        </ul>
        <t>Decryption and inspection mechanisms MUST NOT undermine the end-to- end integrity and authenticity guarantees provided by agent credentials and signed messages. In particular:</t>
        <ul spacing="normal">
          <li><t>Inspection points MUST re-encrypt traffic after inspection to maintain cryptographic protection downstream.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>If an intermediary applies a new downstream signature, it MUST preserve verifiable evidence of the original upstream sender signature or attestation context so that accountability and provenance are not lost.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Inspection MUST be authorised by policy and MUST NOT occur without the knowledge and consent of the trust domain authorities on both sides of the interaction.</t></li>
        </ul>
        <t>Where appropriate, operators MAY consider privacy-preserving inspection techniques, such as selective field decryption or other deployment-specific approaches. Advanced techniques and their applicability are to be discussed in more detail in a later version of this document.</t>
      </section>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <section anchor="relationship-to-oauth-ecosystem">
        <name>Relationship to OAuth Ecosystem</name>
        <t>This framework aligns with OAuth working group specifications for cross-domain authorisation and identity federation. Deployments using OAuth 2.0 or OpenID Connect SHOULD prioritise existing extensions and profiles over proprietary mechanisms.</t>
        <t>OAuth specifications and drafts that may be relevant to this framework include:</t>
        <ul spacing="normal">
          <li><t>RFC 8693 <xref target="RFC8693"/> for token exchange between security domains.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Transaction Tokens <xref target="I-D.ietf-oauth-transaction-tokens"/> for carrying transaction-related context in multi-step workflows.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Identity Chaining <xref target="I-D.ietf-oauth-identity-chaining"/> for cross-domain identity conveyance and related assertion patterns.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Identity Assertion Authorisation Grant <xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/> for using identity assertions as inputs to access-token issuance.</t></li>
        </ul>
        <t>These specifications and drafts illustrate possible building blocks for cross-domain authorisation, delegation, and workflow context handling. Their precise application to agent-to-agent communication is to be discussed in more detail in a later version of this document.</t>
      </section>
      <section anchor="oauth-profiling-for-agent-to-agent-communication">
        <name>OAuth Profiling for Agent-to-Agent Communication</name>
        <t>Deployments using OAuth 2.0 for agent communications SHOULD adopt or profile existing OAuth mechanisms where possible. For example, <xref target="I-D.liu-oauth-a2a-profile"/> describes one approach to profiling OAuth 2.0 for agent-to-agent communications, including reuse of transaction-related context fields for agent-specific semantics.</t>
        <t>Such profiles provide concrete guidance on:</t>
        <ul spacing="normal">
          <li><t>Token formats and claim structures for agent credentials and access tokens.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Grant types and flows appropriate for agent initialisation, delegation, and cross-domain invocation.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Integration with agent gateways and policy enforcement points.</t></li>
        </ul>
        <t>Operators SHOULD evaluate applicable profiles and contribute implementation experience to ongoing standardisation work. Additional profiling considerations are to be discussed in more detail in a later version of this document.</t>
      </section>
      <section anchor="deployment-patterns">
        <name>Deployment Patterns</name>
        <t>Cross-domain deployments commonly follow the patterns below.</t>
        <t>Same-Protocol, Different Providers:</t>
        <t>Agents hosted by different agent service operators (e.g., different cloud providers or enterprises) use the same agent-to-agent protocol but operate under different trust domains. In this scenario, agent gateways at domain boundaries handle mutual authentication, credential verification, token exchange (via RFC 8693 or equivalent), and policy enforcement, while preserving protocol compatibility end-to-end.</t>
        <t>Different Protocols with Gateway Mediation:</t>
        <t>Agents using different protocols (e.g., one domain uses Protocol X internally, another uses Protocol Y) communicate through a protocol- translating gateway. The gateway acts as a relying party on both sides, performing mutual authentication, protocol translation, and policy enforcement. Call-chain context and delegation semantics MUST be preserved across the gateway (see Section 8.2), and audit logs MUST capture the translation and policy decisions.</t>
        <t>Federated Multi-Domain Workflows:</t>
        <t>A workflow spans multiple domains, with agents in each domain performing subtasks and passing results to agents in other domains. Implementations MAY use transaction tokens or equivalent mechanisms to carry workflow-related context across domain boundaries. Trust relationships MUST be established between domains (e.g., via pre-configured trust anchors or other agreed mechanisms), and each domain MUST enforce its own policy on inbound requests. Additional details are to be discussed in more detail in a later version of this document.</t>
      </section>
      <section anchor="gateway-configuration-and-policy">
        <name>Gateway Configuration and Policy</name>
        <t>Agent gateways are critical policy enforcement points in cross-domain deployments. Operators SHOULD:</t>
        <ul spacing="normal">
          <li><t>Configure gateways to enforce mutual authentication on both sides (inbound and outbound) as described in Section 8.1.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Integrate gateways with Policy Decision Points (PDPs) that evaluate authorisation policies based on agent identity, principal identity, call-chain context, and resource attributes (see Section 8.3).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Enable audit logging and evidence emission for all gateway decisions (see Section 10).</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Implement rate limiting, anomaly detection, and abuse prevention mechanisms to protect against malicious or misconfigured agents.</t></li>
        </ul>
        <t>Gateway policies SHOULD be versioned, auditable, and subject to governance review. Policy updates SHOULD be tested in staging environments before deployment to production.</t>
      </section>
      <section anchor="interoperability-and-testing">
        <name>Interoperability and Testing</name>
        <t>Interoperability between agent platforms and trust domains requires consistent implementation of credential formats, token structures, policy semantics, and lifecycle operations. Operators SHOULD:</t>
        <ul spacing="normal">
          <li><t>Participate in interoperability testing programs or working group plugfests to validate cross-domain interactions.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Publish conformance statements describing supported credential types, token formats, policy languages, and lifecycle mechanisms.</t></li>
        </ul>
        <ul spacing="normal">
          <li><t>Use standardised test vectors and example flows (see Appendix A) to verify correct implementation of delegation chains, token exchange, and revocation checking.</t></li>
        </ul>
        <t>Interoperability issues SHOULD be reported to relevant standards bodies (for example, the IETF OAuth working group and relevant agent protocol communities) to inform future updates.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>Cross-domain agent interactions can expose personal data, sensitive business context, and behavioural metadata across multiple operators. Deployments SHOULD apply privacy-by-design controls to identity, delegation, telemetry, and audit processing.</t>
      <t>In particular, deployments SHOULD:</t>
      <ul spacing="normal">
        <li><t>Apply data minimisation. Credentials, tokens, and call-chain context SHOULD carry only the claims required for a specific transaction.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Apply purpose limitation. Identity and delegation claims SHOULD be scoped to an explicit task or workflow and SHOULD NOT be reused for unrelated processing.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Avoid unnecessary disclosure of principal identity to downstream domains where pseudonymous or pairwise identifiers are sufficient.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Limit retention of audit logs and telemetry to what is necessary for security, compliance, and operational purposes, consistent with applicable law and policy.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Logs, traces, and evidence services that may contain sensitive metadata SHOULD be protected by access controls, redaction policies, and compartmentalisation.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Provide transparency and governance for cross-domain sharing, including documented legal basis, controller/processor roles, and cross-border transfer requirements where applicable.</t></li>
      </ul>
      <t>When decryption and inspection are used (Section 10.4), agent service operators SHOULD ensure the minimum disclosure necessary for the compliance use case and SHOULD log access to inspected content.</t>
      <t>Deployments that process personal data MUST comply with applicable privacy and data protection requirements in their jurisdictions.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This section summarises baseline controls and residual risks for cross-domain agent interactions. The threat model is in Section 4.</t>
      <t>Deployments MUST:</t>
      <ul spacing="normal">
        <li><t>Enforce mutual authentication across domain boundaries (Section 8.1), including both sides of any mediating gateway.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Validate proof-of-possession for presented credentials and tokens (Section 7.3).</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Call-chain context for delegated requests MUST be preserved and verified to mitigate confused-deputy and privilege escalation attacks (Section 8.2).</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Apply least-privilege, short-lived tokens, and explicit lifecycle controls (issuance, rotation, revocation, suspension) as described in Sections 8.4 and 9.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Protect trust anchors, issuer keys, and agent private keys against compromise (Section 7.3), including use of hardware-backed key protection where available.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Tamper-evident, auditable evidence MUST be generated for all security-relevant events (Section 10).</t></li>
      </ul>
      <t>Specific security risks include:</t>
      <ul spacing="normal">
        <li><t>Compromised gateways or intermediaries, which can become high-value targets and policy bypass points.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Incomplete revocation propagation or stale status caches, which can allow temporary acceptance of invalid credentials.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Unauthenticated endpoint or capability bindings create a surface for discovery or registry poisoning (Section 6.4).</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Weak trust-domain onboarding or misconfigured inter-domain trust, which can permit token substitution or unauthorised token exchange.</t></li>
      </ul>
      <t>No single control is sufficient. Deployments should combine identity, cryptographic, policy, and lifecycle controls.</t>
      <t>An example external risk taxonomy is provided in Appendix B for additional context.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8693.xml"/>
      </references>
      <references>
        <name>Informative References</name>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7515.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7643.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7644.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7542.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9052.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9421.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9449.xml"/>
        <reference anchor="I-D.ietf-oauth-identity-chaining" target="https://datatracker.ietf.org/doc/html/draft-ietf-oauth-identity-chaining-08">
          <front><title>OAuth 2.0 Identity Chaining across Trust Domains</title><author initials="O." surname="Schwenkschuster"/><author initials="P." surname="Czapiewski"/><date month="September" year="2025"/></front>
        </reference>
        <reference anchor="I-D.ietf-oauth-transaction-tokens" target="https://datatracker.ietf.org/doc/html/draft-ietf-oauth-transaction-tokens-07">
          <front><title>Transaction Tokens</title><author initials="D." surname="Hardt"/><author initials="O." surname="Schwenkschuster"/><date month="October" year="2025"/></front>
        </reference>
        <reference anchor="I-D.ietf-oauth-identity-assertion-authz-grant" target="https://datatracker.ietf.org/doc/html/draft-ietf-oauth-identity-assertion-authz-grant-01">
          <front><title>Using OpenID Connect Identity Assertions as Authorization Grants</title><author initials="B." surname="Campbell"/><date month="October" year="2025"/></front>
        </reference>
        <reference anchor="I-D.liu-oauth-a2a-profile" target="https://datatracker.ietf.org/doc/html/draft-liu-oauth-a2a-profile-00">
          <front><title>OAuth 2.0 Profile for Agent-to-Agent (A2A) Communications</title><author initials="D." surname="Liu"/><date month="September" year="2025"/></front>
        </reference>
        <reference anchor="I-D.ni-wimse-ai-agent-identity" target="https://datatracker.ietf.org/doc/html/draft-ni-wimse-ai-agent-identity-01">
          <front><title>AI Agent Identity</title><author initials="T." surname="Ni"/><date month="October" year="2025"/></front>
        </reference>
        <reference anchor="W3C.VC" target="https://www.w3.org/TR/vc-data-model-2.0/">
          <front><title>Verifiable Credentials Data Model v2.0</title><author initials="M." surname="Sporny"/><author initials="D." surname="Longley"/><author initials="D." surname="Chadwick"/><date month="November" year="2024"/></front>
        </reference>
        <reference anchor="I-D.rrk-object-based-media-usecase" target="https://datatracker.ietf.org/doc/html/draft-rrk-object-based-media-usecase">
          <front><title>Use Case and Challenges for the Deployment of Object-Based Media across the Internet</title><author initials="R." surname="Ramdhany"/><author initials="N." surname="Race"/><author initials="D." surname="King"/><date month="March" year="2026"/></front>
        </reference>
        <reference anchor="OWASP-ASI2026" target="https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/">
          <front><title>OWASP Top 10 for Agentic Applications for 2026, Version 2026</title><author><organization>OWASP Gen AI Security Project - Agentic Security Initiative</organization></author><date month="December" year="2025"/></front>
        </reference>
      </references>
    </references>
    <section anchor="appendix-a">
      <name>Example Flows (Informative)</name>
      <t>This appendix provides non-normative examples illustrating how the framework can be applied in common deployment patterns.</t>
      <section anchor="appendix-a-1">
        <name>Same-Protocol, Cross-Domain Invocation with Token Exchange</name>
        <ol type="1">
          <li><t>Agent A in Domain A receives a user task and obtains a local access token scoped to that task.</t></li>
          <li><t>Agent A presents its token to Domain A's Security Token Service, which performs OAuth 2.0 Token Exchange <xref target="RFC8693"/> for Domain B.</t></li>
          <li><t>Domain B issues a short-lived token constrained to resource, purpose, and delegation depth.</t></li>
          <li><t>Agent A calls Agent B using mutual authentication; Agent B validates token, call-chain context, and policy before execution.</t></li>
          <li><t>Both domains emit audit records tied to the same workflow context.</t></li>
        </ol>
      </section>
      <section anchor="appendix-a-2">
        <name>Cross-Protocol Invocation Through a Gateway</name>
        <ol type="1">
          <li><t>Agent X (Protocol X) sends a delegated request to a gateway at the Domain boundary.</t></li>
          <li><t>The gateway authenticates Agent X, validates delegation constraints, and enforces inbound policy.</t></li>
          <li><t>The gateway translates protocol semantics for Protocol Y while preserving delegation and workflow context in signed form.</t></li>
          <li><t>The gateway authenticates to Agent Y (Protocol Y side) and submits a policy-constrained request.</t></li>
          <li><t>The gateway records translation, policy decision, and outbound request evidence for auditability.</t></li>
        </ol>
      </section>
    </section>
    <section anchor="appendix-b">
      <name>Current Agentic Risk Landscape (Informative)</name>
      <t>This appendix provides a non-normative, time-stamped snapshot of a current agentic risk taxonomy to support threat modelling and control prioritisation. Taxonomies evolve quickly; implementers SHOULD consult current source publications.</t>
      <t>One recent external publication, the OWASP Top 10 for Agentic Applications for 2026 <xref target="OWASP-ASI2026"/>, identifies the following risk categories:</t>
      <ul spacing="normal">
        <li><t>ASI01: Agent Goal Hijack</t></li>
        <li><t>ASI02: Tool Misuse and Exploitation</t></li>
        <li><t>ASI03: Identity and Privilege Abuse</t></li>
        <li><t>ASI04: Agentic Supply Chain Vulnerabilities</t></li>
        <li><t>ASI05: Unexpected Code Execution (RCE)</t></li>
        <li><t>ASI06: Memory and Context Poisoning</t></li>
        <li><t>ASI07: Insecure Inter-Agent Communication</t></li>
        <li><t>ASI08: Cascading Failures</t></li>
        <li><t>ASI09: Human-Agent Trust Exploitation</t></li>
        <li><t>ASI10: Rogue Agents</t></li>
      </ul>
      <t>The following high-level mapping provides one illustrative view of how this framework's controls may relate to the categories above:</t>
      <ul spacing="normal">
        <li><t>Identity and privilege controls (Section 7, Section 8.3, Section 8.4) are particularly relevant to ASI01, ASI02, ASI03, and ASI09.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Token exchange, delegation-chain integrity, and task-context binding (Section 8.2, Section 8.4, Section 8.5) are relevant to ASI01, ASI02, ASI03, ASI07, and ASI09.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Lifecycle controls (Section 9) are relevant to ASI03, ASI07, and ASI10, including rapid response to compromise and credential misuse.</t></li>
      </ul>
      <ul spacing="normal">
        <li><t>Auditability and transparency controls (Section 10) are relevant to ASI01, ASI05, ASI08, ASI09, and ASI10 for detection, investigation, and accountability.</t></li>
      </ul>
      <t>This appendix is informative only and reflects one external risk taxonomy at a point in time. Normative requirements remain in the main body of this document. The treatment of external taxonomies is to be discussed in more detail in a later version of this document.</t>
    </section>
  </back>
</rfc>



