<?xml version="1.0" encoding="US-ASCII"?>
<!-- Minimal SEAT use-case draft skeleton -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">

<?rfc sortrefs="yes"?>
<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc topblock="yes"?>
<?rfc comments="no"?>

<rfc category="info"
     ipr="trust200902"
     docName="draft-jiang-seat-dynamic-attestation-00">

  <front>
    <title abbrev="Dynamic Attestation for SEAT">
      Dynamic Attestation for AI Agent Communication
    </title>

    <author fullname="Yuning Jiang" initials="Y." surname="Jiang">
      <organization> </organization>
      <address>
        <postal>
          <country>Singapore</country>
        </postal>
        <email>jiangyuning2@h-partners.com</email>
      </address>
    </author>

    <author fullname="Donghui Wang" initials="D." surname="Wang">
      <organization> </organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>wangdonghui124@huawei.com</email>
      </address>
    </author>

    <!-- Adjust date when you submit -->
    <date day="13" month="Nov" year="2025"/>

    <area>Security</area>
    <workgroup>SEAT</workgroup>
    <keyword>Remote Attestation</keyword>
    <keyword>SEAT</keyword>
    <keyword>TLS</keyword>

    <abstract>
      <t>
        This document describes a use case for conveying remote attestation
        information in association with Transport Layer Security (TLS)
        sessions in the context of AI agent communication. It focuses on
        long-lived secure channel sessions where an AI agent runtime posture, 
        covering the platform Trusted Computing Base (TCB), agent manifest (models, tools and policies)
        and committed runtime context, can change frequently and unpredictably. 
        The document highlights requirements for dynamic attestation so that 
        relying parties can base authorization decisions on the current runtime 
        posture of the communicating agent.
      </t>
    </abstract>
  </front>

  <middle>

    <section anchor="introduction" title="Introduction">
      
      <t>
        Many deployed systems involve relatively static workloads, where
  software and configuration change primarily at onboarding or planned
  maintenance events. In contrast, AI agents may alter effective behavior by updating their
  models, tools, and policies on timescales that are not necessarily
  aligned with TLS session establishment or traditional maintenance
  cycles. Such updates may occur while long-lived TLS sessions remain open, 
  or between sessions that are resumed or quickly re-established, 
  raising security and privacy concerns about authorizing sensitive actions
  based on stale assumptions.
</t>
<t>
        Remote attestation (RA), as described in the Remote Attestation
    Procedures (RATS) architecture <xref target="RFC9334"/>, allows a
    relying party to obtain information about the software and hardware
    state of a remote endpoint and to assess whether that state satisfies
    local policy. When combined with a secure channel protocol such as
    TLS 1.3 <xref target="RFC8446"/>, attestation information can be
    bound to a specific, authenticated session so that authorization decisions 
    reflect the peer's current runtime posture (e.g., platform TCB plus an agent
    manifest covering model, tools and policy), rather than only the state at
    connection establishment.
      </t>
<t>
  This document describes a use case for dynamic attestation in AI
  agent communication scenarios and outlines requirements for obtaining
  fresh, channel-bound attestation information without unnecessarily
  disrupting existing connections, allowing relying parties to base authorization
  on agent state at the time of use.
</t>
    </section>


    <section anchor="terminology" title="Terminology">
  <t>
    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
    "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED",
    "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document
    are to be interpreted as described in RFC 8174 <xref target="RFC8174"/>
    when, and only when, they appear in all capitals, as shown here.
  </t>
  <t>
    This document uses the terminology defined in the RATS architecture
    <xref target="RFC9334"/> and in TLS 1.3 <xref target="RFC8446"/>, 
    including "Attestation", "Relying Party", "Evidence" and "Attestation Results".
  </t>

<t>
   Trusted Computing Base (TCB) of a device, is used to refer to security-relevant
      components: hardware, firmware, software, and their respective
      configurations.
</t>
    <t>
  Runtime posture denotes the set of attestation-relevant claims
  about the communicating endpoint at the time of use, sufficient for a
  relying party to appraise policy. Its exact composition is deployment-
  specific and may include claims about the platform, execution environment,
  configuration, or context. 
</t>



</section>


    <section anchor="use-cases" title="Dynamic Attestation for AI Agent Communication">

        <t>
    Goal: Support remote attestation for AI agent communication over
  secure channel sessions where the software and configuration on at
  least one endpoint can change on timescales that are not aligned with
  connection establishment or traditional maintenance cycles (for
  example, while long-lived sessions remain open or between sessions
  that are resumed), while the endpoint continues to exchange traffic
  with multiple network peers.
</t>

      <section anchor="ai-agent-runtime-attestation" title="AI Agent Runtime Attestation">
        <t>
  Use case: AI Agent Runtime Attestation. An AI agent service
  communicates with other network nodes over TLS 1.3, invoking tools
  that can access sensitive data or change network state. The agent's
  model, tools, and policies may be updated dynamically according to
  operator policy, and these updates are not guaranteed to align with
  TLS session boundaries or a fixed maintenance schedule. Peers
  therefore need assurance that, at the time of a high-impact operation,
  the agent runs on an acceptable platform and uses an approved
  combination of model, code, and policy.
</t>

        <t>
  <list style="symbols">
    <t>
      Requirement 1 (fresh, channel-bound attestation): Before
      executing a high-impact operation over an existing secure
      channel, a peer MUST be able to obtain fresh attestation
      evidences that are cryptographically bound to that session 
      and that reflect both the platform and the current agent-level 
      state relevant to authorization, as determined by local policy.
    </t>
    <t>
      Requirement 2 (dynamic attestation): The mechanism used to
      obtain such attestation evidences SHOULD support lightweight,
      dynamic attestation without necessarily requiring a full new 
      TLS handshake, so that changes to the runtime posture become 
      visible to relying parties when required by local policy. 
    </t>
  </list>
</t>
      </section>


    </section>

    <section anchor="security-considerations" title="Security Considerations">
  <t>
    Any mechanism that supports dynamic attestation for AI agent communication
    should ensure that attestation evidences are strongly bound to the TLS
    session for which they are intended, so that they cannot be replayed or
    relayed to another session or endpoint.
  </t>
  <t>
    Because the agent software stack can change rapidly, attestation
    evidences should be sufficiently fresh for the relying party's policy.
    Implementations should provide a way to limit the validity period of
    evidences for a given session and to trigger attestation when that
    period expires or when relevant changes are detected.
  </t>
</section>


    <section anchor="iana-considerations" title="IANA Considerations">
      <t>
        This document has no IANA actions.
      </t>
    </section>

  </middle>

  <back>

  <references title="Normative References">

    <reference anchor="RFC8174"
               target="https://datatracker.ietf.org/doc/html/rfc8174">
      <front>
        <title>
          Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words
        </title>
        <author initials="B." surname="Leiba">
          <organization></organization>
        </author>
        <date month="May" year="2017"/>
      </front>
    </reference>

    <reference anchor="RFC9334"
               target="https://datatracker.ietf.org/doc/html/rfc9334">
      <front>
        <title>
          Remote Attestation Procedures Architecture
        </title>
        <author initials="H." surname="Birkholz">
          <organization></organization>
        </author>
        <author initials="T." surname="Fossati">
          <organization></organization>
        </author>
        <author initials="T." surname="Hardjono">
          <organization></organization>
        </author>
        <author initials="N." surname="Smith">
          <organization></organization>
        </author>
        <date month="January" year="2023"/>
      </front>
    </reference>

    <reference anchor="RFC8446"
               target="https://datatracker.ietf.org/doc/html/rfc8446">
      <front>
        <title>
          The Transport Layer Security (TLS) Protocol Version 1.3
        </title>
        <author initials="E." surname="Rescorla">
          <organization></organization>
        </author>
        <date month="August" year="2018"/>
      </front>
    </reference>

  </references>

  <references title="Informative References">

    <reference anchor="RFC9261"
               target="https://datatracker.ietf.org/doc/html/rfc9261">
      <front>
        <title>
          Exported Authenticators in TLS and DTLS
        </title>
        <author initials="N." surname="Sullivan">
          <organization>Cloudflare</organization>
        </author>
        <author initials="C. A." surname="Wood">
          <organization>Cloudflare</organization>
        </author>
        <date month="July" year="2022"/>
      </front>
    </reference>

  </references>

</back>


</rfc>
