<?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" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.30 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-fossati-seat-expat-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="Application Layer Attestation">Remote Attestation with Exported Authenticators</title>
    <seriesInfo name="Internet-Draft" value="draft-fossati-seat-expat-01"/>
    <author initials="M. U." surname="Sardar" fullname="Muhammad Usama Sardar">
      <organization>TU Dresden</organization>
      <address>
        <email>muhammad_usama.sardar@tu-dresden.de</email>
      </address>
    </author>
    <author initials="T." surname="Fossati" fullname="Thomas Fossati">
      <organization>Linaro</organization>
      <address>
        <email>thomas.fossati@linaro.org</email>
      </address>
    </author>
    <author fullname="Tirumaleswar Reddy">
      <organization>Nokia</organization>
      <address>
        <postal>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <country>India</country>
        </postal>
        <email>k.tirumaleswar_reddy@nokia.com</email>
      </address>
    </author>
    <author initials="Y." surname="Sheffer" fullname="Yaron Sheffer">
      <organization>Intuit</organization>
      <address>
        <email>yaronf.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization abbrev="H-BRS">University of Applied Sciences Bonn-Rhein-Sieg</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>Hannes.Tschofenig@gmx.net</email>
      </address>
    </author>
    <author initials="I." surname="Mihalcea" fullname="Ionut Mihalcea">
      <organization>Arm Limited</organization>
      <address>
        <email>ionut.mihalcea@arm.com</email>
      </address>
    </author>
    <date year="2026" month="January" day="22"/>
    <area>Security</area>
    <workgroup>SEAT Working Group</workgroup>
    <keyword>Attestation</keyword>
    <keyword>TLS</keyword>
    <keyword>Exported Authenticators</keyword>
    <abstract>
      <?line 107?>

<t>This specification defines a method for two parties in a communication interaction to exchange Evidence and Attestation Results using exported authenticators, as defined in <xref target="RFC9261"/>. Additionally, it introduces the <tt>cmw_attestation</tt> extension, which allows attestation credentials to be included directly in the Certificate message sent during the Exported Authenticator-based post-handshake authentication. The approach supports both the passport and background check models from the RATS architecture while ensuring that attestation remains bound to the underlying communication channel.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://tls-attestation.github.io/exported-attestation/draft-fossati-seat-expat.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-fossati-seat-expat/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        SEAT Working Group mailing list (<eref target="mailto:seat@ietf.org"/>),
        which is archived at <eref target="https://datatracker.ietf.org/wg/seat/about/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/seat/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/tls-attestation/exported-attestation"/>.</t>
    </note>
  </front>
  <middle>
    <?line 112?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>There is a growing need to demonstrate to a remote party that cryptographic keys are stored in a secure element, the device is in a known good state, secure boot has been enabled, and that low-level software and firmware have not been tampered with. Remote attestation provides this capability.</t>
      <t>More technically, an Attester produces a signed collection of Claims that constitute Evidence about its running environment(s). A Relying Party may consult an Attestation Result produced by a Verifier that has appraised the Evidence to make policy decisions regarding the trustworthiness of the Target Environment being assessed. This is, in essence, what <xref target="RFC9334"/> defines.</t>
      <t>At the time of writing, several standard and proprietary remote attestation technologies are in use. This specification aims to remain as technology-agnostic as possible concerning implemented remote attestation technologies. To streamline attestation in TLS, this document introduces the cmw_attestation extension, which allows attestation credentials to be conveyed directly in the Certificate message during the Exported Authenticator-based post-handshake authentication. This eliminates reliance on real-time certificate issuance from a Certificate Authority (CA), reducing handshake delays while ensuring Evidence remains bound to the TLS connection. The extension supports both the passport and background check models from the RATS architecture, enhancing flexibility for different deployment scenarios.</t>
      <t>This document builds upon three foundational specifications:</t>
      <ul spacing="normal">
        <li>
          <t>RATS (Remote Attestation Procedures) Architecture <xref target="RFC9334"/>: It defines how remote attestation systems establish trust between parties by exchanging Evidence and Attestation Results. These interactions can follow different models, such as the passport or the background check model, depending on the order of data flow in the system.</t>
        </li>
        <li>
          <t>TLS Exported Authenticators <xref target="RFC9261"/>: It offers bi-directional post-handshake authentication. Once a TLS connection is established, both peers can send an authenticator request message at any point after the handshake. This message from the server and the client uses the CertificateRequest and the ClientCertificateRequest messages, respectively. The peer receiving the authenticator request message can respond with an Authenticator consisting of Certificate, CertificateVerify, and Finished messages. These messages can then be validated by the other peer.</t>
        </li>
        <li>
          <t>RATS Conceptual Messages Wrapper (CMW) <xref target="I-D.ietf-rats-msg-wrap"/>: CMW provides a structured encapsulation of Evidence and Attestation Result payloads, abstracting the underlying attestation technology.</t>
        </li>
      </ul>
      <t>This specification introduces the cmw_attestation extension, enabling Evidence to be included directly in the Certificate message during the Exported Authenticator-based post-handshake authentication defined in <xref target="RFC9261"/>.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <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 BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals as shown here.</t>
      <t>The reader is assumed to be familiar with the vocabulary and concepts defined in <xref target="RFC9334"/> and <xref target="RFC9261"/>.</t>
      <t>"Remote attestation credentials", or "attestation credentials", is used to refer to both Evidence and attestation results, when no distinction needs to be made between them.</t>
    </section>
    <section anchor="cmwattestation-extension-to-the-authenticators-certificate-message">
      <name>cmw_attestation Extension to the Authenticator's Certificate message</name>
      <t>This document introduces a new extension, called <tt>cmw_attestation</tt>, to the Authenticator's Certificate message.
This extension allows Evidence or Attestation Results to be included in the extensions field of the end-entity certificate in the TLS Certificate message.</t>
      <t>As defined in <xref section="4.4.2" sectionFormat="of" target="I-D.ietf-tls-rfc8446bis"/>, the TLS Certificate message consists of a certificate_list, which is a sequence of CertificateEntry structures. Each CertificateEntry contains a certificate and a set of associated extensions. The cmw_attestation extension MUST appear only in the first CertificateEntry of the Certificate message and applies exclusively to the end-entity certificate. It MUST NOT be included in entries corresponding to intermediate or trust anchor certificates. This design ensures that attestation information is tightly bound to the entity being authenticated.</t>
      <t>The cmw_attestation extension is only included in the Certificate message during Exported Authenticator-based post-handshake authentication. This ensures that the attestation credentials are conveyed within the Certificate message, eliminating the need for modifications to the X.509 certificate structure.</t>
      <artwork><![CDATA[
struct {
    opaque cmw_data<1..2^16-1>;
} CMWAttestation;
]]></artwork>
      <t>cmw_data: Encapsulates the attestation credentials in CMW format <xref target="I-D.ietf-rats-msg-wrap"/>. The cmw_data field is encoded using CBOR or JSON.</t>
      <t>This approach eliminates the need for real-time certificate issuance from a Certificate Authority (CA) and minimizes handshake delays. Typically, CAs require several seconds to minutes to issue a certificate due to verification steps such as validating subject identity, signing the certificate, and distributing it. These delays introduce latency into the TLS handshake, making real-time certificate generation impractical. The cmw_attestation extension circumvents this issue by embedding attestation data within the Certificate message itself, removing reliance on external certificate issuance processes.</t>
      <section anchor="negotiation-of-the-cmwattestation-extension">
        <name>Negotiation of the cmw_attestation Extension</name>
        <t>Negotiation of support cmw_attestation extension follows the model defined in <xref section="5.2" sectionFormat="of" target="RFC9261"/>.</t>
        <t>Endpoints that wish to receive attestation credentials using Exported Authenticators MUST indicate support by including an empty cmw_attestation extension in the CertificateRequest or ClientCertificateRequest message.
The presence of this empty extension indicates that the requester understands this specification and is willing to process an attestation credential in the peer's Certificate message.</t>
        <t>An endpoint that supports this extension and receives a request containing it MAY include the cmw_attestation extension in its Certificate message, populated with attestation data. If the <tt>cmw_attestation</tt> extension appears in a Certificate message without it having been previously offered in the corresponding request, the receiver MUST abort the authenticator verification with an "unsupported_extension" alert. As specified in <xref section="9.3" sectionFormat="of" target="I-D.ietf-tls-rfc8446bis"/>, endpoints that do not recognize the cmw_attestation extension in a CertificateRequest or
ClientCertificateRequest MUST ignore it and continue processing the message as if the extension were absent.</t>
      </section>
      <section anchor="usage-in-exported-authenticator-based-post-handshake-authentication">
        <name>Usage in Exported Authenticator-based Post-Handshake Authentication</name>
        <t>The <tt>cmw_attestation</tt> extension is designed to be used exclusively in Exported Authenticator-based post-handshake authentication as defined in <xref target="RFC9261"/>. It allows attestation credentials to be transmitted in the Authenticator's Certificate message only in response to an Authenticator Request. This ensures that attestation credentials are provided on demand rather than being included in the initial TLS handshake.</t>
        <t>To maintain a cryptographic binding between the Evidence and the authentication request, the <tt>cmw_attestation</tt> extension MUST be associated with the <tt>certificate_request_context</tt> of the corresponding CertificateRequest or ClientCertificateRequest message (from the Server or Client, respectively). This association ensures that the Evidence is specific to the authentication event.</t>
      </section>
      <section anchor="ensuring-compatibility-with-x509-certificate-validation">
        <name>Ensuring Compatibility with X.509 Certificate Validation</name>
        <t>The <tt>cmw_attestation</tt> extension does not modify or replace X.509 certificate validation mechanisms. It serves as an additional source of authentication data rather than altering the trust model of PKI-based authentication. Specifically:</t>
        <ul spacing="normal">
          <li>
            <t>Certificate validation (e.g., signature verification, revocation checks) MUST still be performed according to TLS <xref target="I-D.ietf-tls-rfc8446bis"/> and PKIX <xref target="RFC5280"/>.</t>
          </li>
          <li>
            <t>The attestation credentials carried in <tt>cmw_attestation</tt> MUST NOT be used as a substitute for X.509 certificate validation but can be used alongside standard certificate validation for additional security assurances.</t>
          </li>
          <li>
            <t>Implementations MAY reject connections where the certificate is valid but the attestation credentials is missing or does not meet security policy.</t>
          </li>
        </ul>
      </section>
      <section anchor="applicability-to-client-and-server-authentication">
        <name>Applicability to Client and Server Authentication</name>
        <t>The <tt>cmw_attestation</tt> extension is applicable to both client and server authentication in Exported Authenticator-based post-handshake authentication.</t>
        <t>In TLS, one party acts as the Relying Party, and the other party acts as the Attester. Either the client or the server may fulfill these roles depending on the authentication direction.</t>
        <t>The Attester may respond with either:</t>
        <ul spacing="normal">
          <li>
            <t>Evidence (Background Check Model):
            </t>
            <ul spacing="normal">
              <li>
                <t>The Attester generates Evidence and includes it in the <tt>cmw_attestation</tt> extension to the Authenticator's Certificate message.</t>
              </li>
              <li>
                <t>The Relying Party forwards the Evidence to an external Verifier for evaluation and waits for an Attestation Result.</t>
              </li>
              <li>
                <t>The Relying Party grants or denies access, or continues or terminates the TLS connection, based on the Verifier's Attestation Result.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Attestation Result (Passport Model):
            </t>
            <ul spacing="normal">
              <li>
                <t>The Attester sends Evidence to a Verifier beforehand.</t>
              </li>
              <li>
                <t>The Verifier issues an Attestation Result to the Attester.</t>
              </li>
              <li>
                <t>The Attester includes the Attestation Result in the <tt>cmw_attestation</tt> extension to the Authenticator's Certificate message and sends it to the Relying Party.</t>
              </li>
              <li>
                <t>The Relying Party validates the Attestation Result directly without needing to contact an external Verifier.</t>
              </li>
            </ul>
          </li>
        </ul>
        <t>By allowing both Evidence and Attestation Results to be conveyed within <tt>cmw_attestation</tt>, this mechanism supports flexible attestation workflows depending on the chosen trust model.</t>
      </section>
    </section>
    <section anchor="architecture">
      <name>Architecture</name>
      <t>The <tt>cmw_attestation</tt> extension enables attestation credentials to be included in the Certificate message during Exported Authenticator-based post-handshake authentication, ensuring that attestation remains bound to the TLS connection.</t>
      <t>However, applications using this mechanism still need to negotiate the encoding format (e.g., JOSE or COSE) and specify how attestation credentials are processed. This negotiation can be done via application-layer signaling or predefined profiles. Future specifications may define mechanisms to streamline this negotiation.</t>
      <t>Upon receipt of a Certificate message containing the <tt>cmw_attestation</tt> extension, an endpoint MUST take the following steps to validate the attestation credentials:</t>
      <ul spacing="normal">
        <li>
          <t>Background Check Model:
          </t>
          <ul spacing="normal">
            <li>
              <t>Verify Integrity and Authenticity: The Evidence must be cryptographically verified against a known trust anchor, typically provided by the hardware manufacturer.</t>
            </li>
            <li>
              <t>Verify Certificate Request Binding and Freshness: The Evidence must be bound to the active TLS connection by verifying that the exporter value in the Evidence matches the exporter value computed using the label "Attestation Binding" and the certificate_request_context as the exporter context. This verification ensures correct connection binding, provides freshness, and prevents replay.</t>
            </li>
            <li>
              <t>Evaluate Security Policy Compliance: The Evidence must be evaluated against the Relying Party's security policies to determine if the attesting device and the private key storage meet the required criteria.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Passport Model:
          </t>
          <ul spacing="normal">
            <li>
              <t>Verify the Attestation Result: The Relying Party MUST check that the Attestation Result is correctly signed by the issuing authority and that it meets the Relying Party’s security requirements.</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>By integrating <tt>cmw_attestation</tt> directly into the Certificate message during Exported Authenticator-based post-handshake authentication, this approach reduces latency and complexity while maintaining strong security guarantees.</t>
      <t>In the following examples, the server possesses an identity certificate, while the client is not authenticated during the initial TLS exchange.</t>
      <t><xref target="fig-passport"/> shows the passport model while <xref target="fig-background"/> illustrates the background-check model.</t>
      <figure anchor="fig-passport">
        <name>Passport Model with Client as Attester</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="384" width="472" viewBox="0 0 472 384" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 24,48 L 24,368" fill="none" stroke="black"/>
              <path d="M 224,48 L 224,208" fill="none" stroke="black"/>
              <path d="M 224,280 L 224,368" fill="none" stroke="black"/>
              <path d="M 432,48 L 432,368" fill="none" stroke="black"/>
              <path d="M 32,96 L 216,96" fill="none" stroke="black"/>
              <path d="M 32,192 L 216,192" fill="none" stroke="black"/>
              <path d="M 32,240 L 424,240" fill="none" stroke="black"/>
              <path d="M 32,272 L 424,272" fill="none" stroke="black"/>
              <path d="M 32,368 L 216,368" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="432,240 420,234.4 420,245.6" fill="black" transform="rotate(0,424,240)"/>
              <polygon class="arrowhead" points="224,368 212,362.4 212,373.6" fill="black" transform="rotate(0,216,368)"/>
              <polygon class="arrowhead" points="224,96 212,90.4 212,101.6" fill="black" transform="rotate(0,216,96)"/>
              <polygon class="arrowhead" points="40,272 28,266.4 28,277.6" fill="black" transform="rotate(180,32,272)"/>
              <polygon class="arrowhead" points="40,192 28,186.4 28,197.6" fill="black" transform="rotate(180,32,192)"/>
              <polygon class="arrowhead" points="40,96 28,90.4 28,101.6" fill="black" transform="rotate(180,32,96)"/>
              <g class="text">
                <text x="28" y="36">Client</text>
                <text x="228" y="36">Server</text>
                <text x="436" y="36">Verifier</text>
                <text x="72" y="68">Regular</text>
                <text x="120" y="68">TLS</text>
                <text x="176" y="68">Handshake</text>
                <text x="108" y="84">(Server-only</text>
                <text x="184" y="84">auth)</text>
                <text x="56" y="132">...</text>
                <text x="92" y="132">time</text>
                <text x="140" y="132">passes</text>
                <text x="184" y="132">...</text>
                <text x="88" y="164">Authenticator</text>
                <text x="176" y="164">Request</text>
                <text x="124" y="180">(ClientCertificateReq)</text>
                <text x="192" y="228">Sends</text>
                <text x="252" y="228">Evidence</text>
                <text x="180" y="260">Gets</text>
                <text x="248" y="260">Attestation</text>
                <text x="324" y="260">result</text>
                <text x="68" y="292">Exported</text>
                <text x="164" y="292">Authenticator(</text>
                <text x="80" y="308">Certificate</text>
                <text x="148" y="308">with</text>
                <text x="100" y="324">cmw_attestation,</text>
                <text x="108" y="340">CertificateVerify,</text>
                <text x="72" y="356">Finished)</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
Client                   Server                   Verifier
  |                        |                         |
  |  Regular TLS Handshake |                         |
  |    (Server-only auth)  |                         |
  |<---------------------->|                         |
  |                        |                         |
  |  ... time passes ...   |                         |
  |                        |                         |
  | Authenticator Request  |                         |
  | (ClientCertificateReq) |                         |
  |<-----------------------|                         |
  |                        |                         |
  |                  Sends Evidence                  |
  |------------------------------------------------->|
  |                 Gets Attestation result          |
  |<-------------------------------------------------|
  | Exported Authenticator(|                         |
  | Certificate with       |                         |
  | cmw_attestation,       |                         |
  | CertificateVerify,     |                         |
  | Finished)              |                         |
  |----------------------->|                         |
]]></artwork>
        </artset>
      </figure>
      <t><xref target="fig-background"/> shows an example using the background-check model.</t>
      <figure anchor="fig-background">
        <name>Background Check Model with a Separate Client-Side Attester</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="448" width="568" viewBox="0 0 568 448" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 24,48 L 24,432" fill="none" stroke="black"/>
              <path d="M 184,112 L 184,128" fill="none" stroke="black"/>
              <path d="M 184,168 L 184,256" fill="none" stroke="black"/>
              <path d="M 184,344 L 184,432" fill="none" stroke="black"/>
              <path d="M 384,48 L 384,432" fill="none" stroke="black"/>
              <path d="M 536,48 L 536,432" fill="none" stroke="black"/>
              <path d="M 32,80 L 376,80" fill="none" stroke="black"/>
              <path d="M 32,160 L 376,160" fill="none" stroke="black"/>
              <path d="M 32,208 L 176,208" fill="none" stroke="black"/>
              <path d="M 32,256 L 176,256" fill="none" stroke="black"/>
              <path d="M 32,336 L 376,336" fill="none" stroke="black"/>
              <path d="M 392,368 L 528,368" fill="none" stroke="black"/>
              <path d="M 392,416 L 528,416" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="536,368 524,362.4 524,373.6" fill="black" transform="rotate(0,528,368)"/>
              <polygon class="arrowhead" points="400,416 388,410.4 388,421.6" fill="black" transform="rotate(180,392,416)"/>
              <polygon class="arrowhead" points="384,336 372,330.4 372,341.6" fill="black" transform="rotate(0,376,336)"/>
              <polygon class="arrowhead" points="384,80 372,74.4 372,85.6" fill="black" transform="rotate(0,376,80)"/>
              <polygon class="arrowhead" points="184,208 172,202.4 172,213.6" fill="black" transform="rotate(0,176,208)"/>
              <polygon class="arrowhead" points="40,256 28,250.4 28,261.6" fill="black" transform="rotate(180,32,256)"/>
              <polygon class="arrowhead" points="40,160 28,154.4 28,165.6" fill="black" transform="rotate(180,32,160)"/>
              <polygon class="arrowhead" points="40,80 28,74.4 28,85.6" fill="black" transform="rotate(180,32,80)"/>
              <g class="text">
                <text x="28" y="36">Client</text>
                <text x="196" y="36">Attester</text>
                <text x="388" y="36">Server</text>
                <text x="532" y="36">Verifier</text>
                <text x="184" y="52">|</text>
                <text x="72" y="68">Regular</text>
                <text x="120" y="68">TLS</text>
                <text x="176" y="68">Handshake</text>
                <text x="268" y="68">(Server-only</text>
                <text x="344" y="68">auth)</text>
                <text x="184" y="100">|</text>
                <text x="64" y="116">...</text>
                <text x="100" y="116">time</text>
                <text x="148" y="116">passes</text>
                <text x="196" y="116">..</text>
                <text x="88" y="148">Authenticator</text>
                <text x="176" y="148">Request</text>
                <text x="272" y="148">(ClientCertReq)</text>
                <text x="64" y="196">Request</text>
                <text x="132" y="196">Evidence</text>
                <text x="80" y="228">Attestation</text>
                <text x="68" y="244">Evidence</text>
                <text x="68" y="276">Exported</text>
                <text x="208" y="276">Authenticator(Certificate</text>
                <text x="332" y="276">with</text>
                <text x="96" y="292">cmw_attestation</text>
                <text x="108" y="308">CertificateVerify,</text>
                <text x="72" y="324">Finished)</text>
                <text x="412" y="356">Send</text>
                <text x="468" y="356">Evidence</text>
                <text x="440" y="388">Attestation</text>
                <text x="420" y="404">Result</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
Client              Attester                 Server           Verifier
  |                   |                        |                  |
  |  Regular TLS Handshake (Server-only auth)  |                  |
  |<------------------------------------------>|                  |
  |                   |                        |                  |
  |   ... time passes ...                      |                  |
  |                   |                        |                  |
  | Authenticator Request (ClientCertReq)      |                  |
  |<-------------------------------------------|                  |
  |                   |                        |                  |
  | Request Evidence  |                        |                  |
  |------------------>|                        |                  |
  | Attestation       |                        |                  |
  | Evidence          |                        |                  |
  |<------------------|                        |                  |
  | Exported Authenticator(Certificate with    |                  |
  | cmw_attestation                            |                  |
  | CertificateVerify,                         |                  |
  | Finished)                                  |                  |
  |------------------------------------------->|                  |
  |                   |                        | Send Evidence    |
  |                   |                        |----------------->|
  |                   |                        | Attestation      |
  |                   |                        | Result           |
  |                   |                        |<-----------------|
  |                   |                        |                  |
]]></artwork>
        </artset>
      </figure>
      <section anchor="api-requirements-for-attestation-support">
        <name>API Requirements for Attestation Support</name>
        <t>To enable attestation workflows, implementations of the Exported Authenticator API MUST support the following:</t>
        <ol spacing="normal" type="1"><li>
            <t>Authenticator Generation
            </t>
            <ul spacing="normal">
              <li>
                <t>The API MUST support the inclusion of attestation credentials within the Certificate message provided as input.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Authenticator Validation
            </t>
            <ul spacing="normal">
              <li>
                <t>The API MUST support verification that the Evidence in the Certificate message is cryptographically valid and correctly bound to the TLS connection and the associated certificate_request_context.</t>
              </li>
            </ul>
          </li>
        </ol>
      </section>
    </section>
    <section anchor="binding">
      <name>Cryptographic Binding of the Evidence to the TLS Connection</name>
      <t>The attester binds the attestation evidence to the active TLS connection. To do so, the attester derives a
binding value using the TLS exporter and the exporter_secret of the current TLS connection. The exporter
invocation uses:</t>
      <ul spacing="normal">
        <li>
          <t>the label "Attestation", and</t>
        </li>
        <li>
          <t>the certificate_request_context from the CertificateRequest message as the "context_value" (as defined in
<xref section="7.5" sectionFormat="of" target="I-D.ietf-tls-rfc8446bis"/>), and</t>
        </li>
        <li>
          <t>a key_length set to 256-bit (32 bytes).</t>
        </li>
      </ul>
      <artwork><![CDATA[
   TLS-Exporter("Attestation", certificate_request_context, 32)
]]></artwork>
      <t>The binding value is then defined as:</t>
      <artwork><![CDATA[
   hash (nonce || public key || Exported value)
]]></artwork>
      <t>The attester includes the exporter value exactly as produced in the attestation evidence. The computed exporter value also ensures the freshness of Evidence.</t>
      <t>To allow verification, the TLS endpoint that receives the attestation evidence computes the exporter value using the same exporter invocation described for the attester. The endpoint either verifies the exporter binding
itself or delegates this check to the Verifier. If it performs the check locally and the values do not match, the attestation evidence is rejected. If the check is delegated, the endpoint conveys the computed exporter value to
the Verifier so that the comparison can be carried out during attestation validation.</t>
    </section>
    <section anchor="binding-the-authenticator-identity-key-aik-to-the-tee">
      <name>Binding the Authenticator Identity Key (AIK) to the TEE</name>
      <t>This specification assumes that the private key corresponding to the end-entity certificate carried in the exported authenticator referred to as the Authenticator Identity Key (AIK) is generated inside a TEE and never leaves it. A platform could instead generate the AIK private key outside the TEE and compute the CertificateVerify signature using that external key. A Relying Party cannot detect this attack unless additional safeguards are in place.</t>
      <t>This risk is particularly relevant in split deployments, where the TLS stack does not reside inside the TEE. In such architectures, attesting the TEE alone does not prove that the AIK private key used by the TLS endpoint was generated, is stored, or is controlled by the TEE.</t>
      <t>To address this, the Evidence MUST include the hash of the AIK public key (AIK_pub_hash). The AIK public key MUST be hashed using the hash algorithm associated with the negotiated TLS cipher suite for the TLS connection in which the Evidence is conveyed.</t>
      <t>The Relying Party MUST compute the hash of the AIK public key extracted from the TLS end-entity certificate using
the same hash algorithm and verify that it matches the AIK_pub_hash included in the Evidence. Successful
verification binds the attestation Evidence to the TLS identity used for authentication.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document inherits the security considerations of <xref target="RFC9261"/> and <xref target="RFC9334"/>. The integrity of the exported authenticators must be guaranteed, and any failure in validating Evidence SHOULD be treated as a fatal error in the communication channel. Additionally, in order to benefit from remote attestation, Evidence MUST be protected using dedicated attestation keys chaining back to a trust anchor. This trust anchor will typically be provided by the hardware manufacturer.</t>
      <t>This specification assumes that the Hardware Security Module (HSM) or Trusted Execution Environment (TEE) is responsible for generating the key pair and producing either Evidence or attestation results, which is included in the Certificate Signing Request (CSR) as defined in <xref target="I-D.ietf-lamps-csr-attestation"/>. This attestation enables the CA to verify that the private key is securely stored and that the platform meets the required security standards before issuing a certificate.</t>
      <section anchor="security-guarantees">
        <name>Security Guarantees</name>
        <t>Note that as a pure cryptographic protocol, attested TLS as-is only guarantees that the identity key used for TLS handshake is known by the confidential environment, such as confidential virtual machine. A number of additional guarantees must be provided by the platform and/or the TLS stack,
and the overall security level depends on their existence and quality of assurance:</t>
        <ul spacing="normal">
          <li>
            <t>The identity key used for TLS handshake is generated within the trustworthy environment, such as Trusted Platform Module (TPM) or TEE.</t>
          </li>
          <li>
            <t>The identity key used for TLS handshake is never exported or leaked outside the trustworthy environment.</t>
          </li>
          <li>
            <t>For confidential computing use cases, the TLS protocol is implemented within the confidential environment, and is implemented correctly, e.g., it does not leak any session key material.</t>
          </li>
          <li>
            <t>The TLS stack including the code that performs the post-handshake phase must be measured.</t>
          </li>
          <li>
            <t>There must be no other way to initiate generation of evidence except from signed code.</t>
          </li>
        </ul>
        <t>These properties may be explicitly promised ("attested") by the platform, or they can be assured in other ways such as by providing source code, reproducible builds, formal verification etc. The exact mechanisms are out of scope of this document.</t>
      </section>
      <section anchor="using-the-tls-connection">
        <name>Using the TLS Connection</name>
        <t>Remote attestation in this document occurs within the context of a TLS handshake, and the TLS connection
remains valid after this process. Care must be taken when handling this TLS connection, as both the client
and server must agree that remote attestation was successfully completed before exchanging data with the
attested party.</t>
        <t>Session resumption presents special challenges since it happens at the TLS level, which is not aware of the
application-level Authenticator. The application (or the modified TLS library) must ensure that a resumed
session has already completed remote attestation before the session can be used normally, and race conditions are possible.</t>
      </section>
      <section anchor="evidence-freshness">
        <name>Evidence Freshness</name>
        <t>The Evidence carried in cmw_attestation does not require an additional freshness mechanism (such as a nonce <xref target="RA-TLS"/> or a timestamp). Freshness is already ensured by the exporter value derived using the certificate_request_context, as described in <xref target="binding"/>. Because this value is bound to the active TLS connection, the Evidence is guaranteed to be fresh for the connection in which it is generated.</t>
        <t>The Evidence presented in this protocol is valid only at the time it is generated and presented. To ensure that the attested peer continues to operate in a secure state, remote attestation may be re-initiated periodically. In this protocol, this can be accomplished by initiating a new Exported-Authenticator–based post-handshake authentication exchange, which results in a new certificate_request_context and therefore a newly derived exporter value to maintain freshness.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <section anchor="client-as-attester">
        <name>Client as Attester</name>
        <t>In this section, we are assuming that the Attester is a TLS client, representing an individual person.
We are concerned about the potential leakage of privacy-sensitive information about that person, such as the correlation of different connections initiated by them.</t>
        <t>In background-check model, the Verifier not only has access to detailed information about the Attester's TCB through Evidence, but it also knows the exact time and the party (i.e., the RP) with whom the secure channel establishment is attempted <xref target="RA-TLS"/>.
The privacy implications are similar to OCSP <xref target="RFC6960"/>.
While the RP may trust the Verifier not to disclose any information it receives, the same cannot be assumed for the Attester, which generally has no prior relationship with the Verifier.
Some ways to address this include:</t>
        <ul spacing="normal">
          <li>
            <t>Attester-side redaction of privacy-sensitive evidence claims,</t>
          </li>
          <li>
            <t>Using selective disclosure (e.g., SD-JWT <xref target="I-D.ietf-oauth-selective-disclosure-jwt"/> with EAT <xref target="RFC9711"/>),</t>
          </li>
          <li>
            <t>Co-locating the Verifier role with the RP,</t>
          </li>
          <li>
            <t>Utilizing privacy-preserving attestation schemes (e.g., DAA <xref target="I-D.ietf-rats-daa"/>), or</t>
          </li>
          <li>
            <t>Utilizing Attesters manufactured with group identities (e.g., Requirement 4.1 of <xref target="FIDO-REQS"/>).</t>
          </li>
        </ul>
        <t>The last two also have the property of hiding the peer's identity from the RP.</t>
        <t>Note that the equivalent of OCSP "stapling" involves using a passport topology where the Verifier's involvement is unrelated to the TLS connection.</t>
      </section>
      <section anchor="server-as-attester">
        <name>Server as Attester</name>
        <t>For the case of the TLS server as the Attester, the server can ask for client authentication and only send the Evidence after successful client authentication. This limits the exposure of server's hardware-level Claims to be revealed only to authorized clients.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>// Note to RFC Editor: in this section, please replace RFCthis with the RFC number assigned to this document and remove this note.</t>
      <section anchor="tls-extension-type-registration">
        <name>TLS Extension Type Registration</name>
        <t>IANA is requested to register the following new extension type in the "TLS ExtensionType Values" registry <xref target="IANA.tls-extensiontype-values"/>:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Extension Name</th>
              <th align="left">TLS 1.3</th>
              <th align="left">DTLS-Only</th>
              <th align="left">Recommended</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD</td>
              <td align="left">cmw_attestation</td>
              <td align="left">CT</td>
              <td align="left">N</td>
              <td align="left">Yes</td>
              <td align="left">RFCthis</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="tls-flags-extension-registry">
        <name>TLS Flags Extension Registry</name>
        <t>IANA is requested to add the following entry to the "TLS Flags" extension registry established by <xref target="I-D.ietf-tls-tlsflags"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Value: TBD1</t>
          </li>
          <li>
            <t>Flag Name: CMW_Attestation</t>
          </li>
          <li>
            <t>Messages: CH, EE</t>
          </li>
          <li>
            <t>Recommended: Y</t>
          </li>
          <li>
            <t>Reference: RFCthis</t>
          </li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9334"/>
          <seriesInfo name="DOI" value="10.17487/RFC9334"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="I-D.ietf-tls-rfc8446bis">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="Eric Rescorla" initials="E." surname="Rescorla">
              <organization>Independent</organization>
            </author>
            <date day="13" month="September" year="2025"/>
            <abstract>
              <t>   This document specifies version 1.3 of the Transport Layer Security
   (TLS) protocol.  TLS allows client/server applications to communicate
   over the Internet in a way that is designed to prevent eavesdropping,
   tampering, and message forgery.

   This document updates RFCs 5705, 6066, 7627, and 8422 and obsoletes
   RFCs 5077, 5246, 6961, 8422, and 8446.  This document also specifies
   new requirements for TLS 1.2 implementations.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-rfc8446bis-14"/>
        </reference>
        <reference anchor="RFC9261">
          <front>
            <title>Exported Authenticators in TLS</title>
            <author fullname="N. Sullivan" initials="N." surname="Sullivan"/>
            <date month="July" year="2022"/>
            <abstract>
              <t>This document describes a mechanism that builds on Transport Layer Security (TLS) or Datagram Transport Layer Security (DTLS) and enables peers to provide proof of ownership of an identity, such as an X.509 certificate. This proof can be exported by one peer, transmitted out of band to the other peer, and verified by the receiving peer.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9261"/>
          <seriesInfo name="DOI" value="10.17487/RFC9261"/>
        </reference>
        <reference anchor="I-D.ietf-rats-msg-wrap">
          <front>
            <title>RATS Conceptual Messages Wrapper (CMW)</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization>Independent</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
            </author>
            <author fullname="Dionna Glaze" initials="D." surname="Glaze">
              <organization>Google LLC</organization>
            </author>
            <date day="11" month="December" year="2025"/>
            <abstract>
              <t>   The Conceptual Messages introduced by the RATS architecture (RFC
   9334) are protocol-agnostic data units that are conveyed between RATS
   roles during remote attestation procedures.  Conceptual Messages
   describe the meaning and function of such data units within RATS data
   flows without specifying a wire format, encoding, transport
   mechanism, or processing details.  The initial set of Conceptual
   Messages is defined in Section 8 of RFC 9334 and includes Evidence,
   Attestation Results, Endorsements, Reference Values, and Appraisal
   Policies.

   This document introduces the Conceptual Message Wrapper (CMW) that
   provides a common structure to encapsulate these messages.  It
   defines a dedicated CBOR tag, corresponding JSON Web Token (JWT) and
   CBOR Web Token (CWT) claims, and an X.509 extension.

   This allows CMWs to be used in CBOR-based protocols, web APIs using
   JWTs and CWTs, and PKIX artifacts like X.509 certificates.
   Additionally, the draft defines a media type and a CoAP content
   format to transport CMWs over protocols like HTTP, MIME, and CoAP.

   The goal is to improve the interoperability and flexibility of remote
   attestation protocols.  Introducing a shared message format such as
   CMW enables consistent support for different attestation message
   types, evolving message serialization formats without breaking
   compatibility, and avoiding the need to redefine how messages are
   handled within each protocol.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-msg-wrap-23"/>
        </reference>
        <reference anchor="I-D.ietf-tls-tlsflags">
          <front>
            <title>A Flags Extension for TLS 1.3</title>
            <author fullname="Yoav Nir" initials="Y." surname="Nir">
              <organization>Dell Technologies</organization>
            </author>
            <date day="14" month="September" year="2025"/>
            <abstract>
              <t>   A number of extensions are proposed in the TLS working group that
   carry no interesting information except the 1-bit indication that a
   certain optional feature is supported.  Such extensions take 4 octets
   each.  This document defines a flags extension that can provide such
   indications at an average marginal cost of 1 bit each.  More
   precisely, it provides as many flag extensions as needed at 4 + the
   order of the last set bit divided by 8.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-tlsflags-16"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="IANA.tls-extensiontype-values" target="https://www.iana.org/assignments/tls-extensiontype-values">
          <front>
            <title>Transport Layer Security (TLS) Extensions</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-lamps-csr-attestation">
          <front>
            <title>Use of Remote Attestation with Certification Signing Requests</title>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Entrust Limited</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>Siemens</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Monty Wiseman" initials="M." surname="Wiseman">
         </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization>Intel Corporation</organization>
            </author>
            <date day="5" month="October" year="2025"/>
            <abstract>
              <t>   A PKI end entity requesting a certificate from a Certification
   Authority (CA) may wish to offer trustworthy claims about the
   platform generating the certification request and the environment
   associated with the corresponding private key, such as whether the
   private key resides on a hardware security module.

   This specification defines an attribute and an extension that allow
   for conveyance of RATS conceptual messages (see Section 8 of
   [RFC9334], such as Evidence, Endorsements and Attestation Results, in
   Certificate Signing Requests (CSRs), such as PKCS#10 or Certificate
   Request Message Format (CRMF) payloads.  This provides an elegant and
   automatable mechanism for transporting attestation data to a
   Certification Authority.

   Including Evidence, Endorsements and Attestation Results along with a
   CSR can help to improve the assessment of the security posture for
   the private key, and can help the Certification Authority to assess
   whether it satisfies the requested certificate profile.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-csr-attestation-21"/>
        </reference>
        <reference anchor="RA-TLS" target="https://ieeexplore.ieee.org/document/10752524">
          <front>
            <title>Towards Validation of TLS 1.3 Formal Model and Vulnerabilities in Intel's RA-TLS Protocol</title>
            <author initials="M. U." surname="Sardar">
              <organization/>
            </author>
            <author initials="A." surname="Niemi">
              <organization/>
            </author>
            <author initials="H." surname="Tschofenig">
              <organization/>
            </author>
            <author initials="T." surname="Fossati">
              <organization/>
            </author>
            <date year="2024" month="November"/>
          </front>
        </reference>
        <reference anchor="RelayAttacks" target="https://mailarchive.ietf.org/arch/msg/seat/x3eQxFjQFJLceae6l4_NgXnmsDY/">
          <front>
            <title>Relay Attacks in Intra-handshake Attestation for Confidential Agentic AI Systems</title>
            <author initials="M. U." surname="Sardar">
              <organization/>
            </author>
            <date year="2025" month="November"/>
          </front>
        </reference>
        <reference anchor="ID-Crisis" target="https://www.researchgate.net/publication/398839141_Identity_Crisis_in_Confidential_Computing_Formal_Analysis_of_Attested_TLS">
          <front>
            <title>Identity Crisis in Confidential Computing: Formal Analysis of Attested TLS</title>
            <author initials="M. U." surname="Sardar">
              <organization/>
            </author>
            <author initials="M." surname="Moustafa">
              <organization/>
            </author>
            <author initials="T." surname="Aura">
              <organization/>
            </author>
            <date year="2025" month="November"/>
          </front>
        </reference>
        <reference anchor="RFC9711">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="L. Lundblade" initials="L." surname="Lundblade"/>
            <author fullname="G. Mandyam" initials="G." surname="Mandyam"/>
            <author fullname="J. O'Donoghue" initials="J." surname="O'Donoghue"/>
            <author fullname="C. Wallace" initials="C." surname="Wallace"/>
            <date month="April" year="2025"/>
            <abstract>
              <t>An Entity Attestation Token (EAT) provides an attested claims set that describes the state and characteristics of an entity, a device such as a smartphone, an Internet of Things (IoT) device, network equipment, or such. This claims set is used by a relying party, server, or service to determine the type and degree of trust placed in the entity.</t>
              <t>An EAT is either a CBOR Web Token (CWT) or a JSON Web Token (JWT) with attestation-oriented claims.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9711"/>
          <seriesInfo name="DOI" value="10.17487/RFC9711"/>
        </reference>
        <reference anchor="RFC6960">
          <front>
            <title>X.509 Internet Public Key Infrastructure Online Certificate Status Protocol - OCSP</title>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="M. Myers" initials="M." surname="Myers"/>
            <author fullname="R. Ankney" initials="R." surname="Ankney"/>
            <author fullname="A. Malpani" initials="A." surname="Malpani"/>
            <author fullname="S. Galperin" initials="S." surname="Galperin"/>
            <author fullname="C. Adams" initials="C." surname="Adams"/>
            <date month="June" year="2013"/>
            <abstract>
              <t>This document specifies a protocol useful in determining the current status of a digital certificate without requiring Certificate Revocation Lists (CRLs). Additional mechanisms addressing PKIX operational requirements are specified in separate documents. This document obsoletes RFCs 2560 and 6277. It also updates RFC 5912.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6960"/>
          <seriesInfo name="DOI" value="10.17487/RFC6960"/>
        </reference>
        <reference anchor="FIDO-REQS" target="https://fidoalliance.org/specs/fido-security-requirements/">
          <front>
            <title>FIDO Authenticator Security and Privacy Requirements</title>
            <author initials="B." surname="Peirani">
              <organization/>
            </author>
            <author initials="J." surname="Verrept">
              <organization/>
            </author>
            <date year="2025" month="March"/>
          </front>
        </reference>
        <reference anchor="I-D.ietf-rats-daa">
          <front>
            <title>Direct Anonymous Attestation for the Remote Attestation Procedures Architecture</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Christopher Newton" initials="C." surname="Newton">
              <organization>University of Surrey</organization>
            </author>
            <author fullname="Liqun Chen" initials="L." surname="Chen">
              <organization>University of Surrey</organization>
            </author>
            <author fullname="Thanassis Giannetsos" initials="T." surname="Giannetsos">
              <organization>Ubitech</organization>
            </author>
            <author fullname="Dave Thaler" initials="D." surname="Thaler">
              <organization>Microsoft</organization>
            </author>
            <date day="3" month="September" year="2025"/>
            <abstract>
              <t>   This document maps the concept of Direct Anonymous Attestation (DAA)
   to the Remote Attestation Procedures (RATS) Architecture.  The
   protocol entity DAA Issuer is introduced and its mapping with
   existing RATS roles in DAA protocol steps is specified.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-daa-08"/>
        </reference>
        <reference anchor="I-D.ietf-oauth-selective-disclosure-jwt">
          <front>
            <title>Selective Disclosure for JWTs (SD-JWT)</title>
            <author fullname="Daniel Fett" initials="D." surname="Fett">
              <organization>Authlete</organization>
            </author>
            <author fullname="Kristina Yasuda" initials="K." surname="Yasuda">
              <organization>Keio University</organization>
            </author>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <date day="29" month="May" year="2025"/>
            <abstract>
              <t>   This specification defines a mechanism for the selective disclosure
   of individual elements of a JSON data structure used as the payload
   of a JSON Web Signature (JWS).  The primary use case is the selective
   disclosure of JSON Web Token (JWT) claims.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-selective-disclosure-jwt-22"/>
        </reference>
        <reference anchor="I-D.fossati-tls-attestation">
          <front>
            <title>Using Attestation in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
         </author>
            <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer">
              <organization>Intuit</organization>
            </author>
            <author fullname="Paul Howard" initials="P." surname="Howard">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Ionuț Mihalcea" initials="I." surname="Mihalcea">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Yogesh Deshpande" initials="Y." surname="Deshpande">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Arto Niemi" initials="A." surname="Niemi">
              <organization>Huawei</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <date day="30" month="April" year="2025"/>
            <abstract>
              <t>   The TLS handshake protocol allows authentication of one or both peers
   using static, long-term credentials.  In some cases, it is also
   desirable to ensure that the peer runtime environment is in a secure
   state.  Such an assurance can be achieved using attestation which is
   a process by which an entity produces evidence about itself that
   another party can use to appraise whether that entity is found in a
   secure state.  This document describes a series of protocol
   extensions to the TLS 1.3 handshake that enables the binding of the
   TLS authentication key to a remote attestation session.  This enables
   an entity capable of producing attestation evidence, such as a
   confidential workload running in a Trusted Execution Environment
   (TEE), or an IoT device that is trying to authenticate itself to a
   network access point, to present a more comprehensive set of security
   metrics to its peer.  These extensions have been designed to allow
   the peers to use any attestation technology, in any remote
   attestation topology, and mutually.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-fossati-tls-attestation-09"/>
        </reference>
      </references>
    </references>
    <?line 421?>

<section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>We would like to thank Chris Patton for his proposal to explore RFC 9261 for attested TLS.
We would also like to thank Eric Rescorla, Paul Howard, and Yogesh Deshpande for their input.</t>
    </section>
    <section numbered="false" anchor="appendix">
      <name>Appendix</name>
      <section numbered="false" anchor="post-handshake-vs-intra-handshake-privacy">
        <name>Post-handshake vs. Intra-handshake Privacy</name>
        <t>From the view of the TLS server, post-handshake attestation offers better privacy than intra-handshake attestation when the server acts as the Attester. In intra-handshake attestation, due to the inherent asymmetry of the TLS protocol, a malicious TLS client could potentially retrieve sensitive information from the Evidence without the client's trustworthiness first being established by the server. In post-handshake attestation, the server can ask for client authentication and only send the Evidence after successful client authentication.</t>
      </section>
      <section numbered="false" anchor="post-handshake-vs-intra-handshake-security">
        <name>Post-handshake vs. Intra-handshake Security</name>
        <t>Intra-handshake attestation proposal <xref target="I-D.fossati-tls-attestation"/> is vulnerable to diversion attacks <xref target="ID-Crisis"/>. It also does not bind the Evidence to the application traffic secrets, resulting in relay attacks <xref target="RelayAttacks"/>. Formal analysis of post-handshake attestation is a work-in-progress.</t>
      </section>
      <section numbered="false" anchor="document-history">
        <name>Document History</name>
        <t>-00</t>
        <ul spacing="normal">
          <li>
            <t>Expanded security considerations, in particular added security guarantees</t>
          </li>
          <li>
            <t>Added privacy considerations</t>
          </li>
          <li>
            <t>Corrected <xref target="fig-passport"/></t>
          </li>
        </ul>
        <t>-01</t>
        <ul spacing="normal">
          <li>
            <t>Added channel binding</t>
          </li>
          <li>
            <t>Added security analysis of intra-handshake attestation in Appendix</t>
          </li>
        </ul>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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
yj1v2usE6NklJQB0L/D+D1omBndodQAA

-->

</rfc>
