<?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.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-fossati-seat-expat-00" 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-00"/>
    <author initials="T." surname="Fossati" fullname="Thomas Fossati">
      <organization>Linaro</organization>
      <address>
        <email>thomas.fossati@linaro.org</email>
      </address>
    </author>
    <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 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="2025" month="October" day="20"/>
    <area>Security</area>
    <workgroup>Secure Evidence and Attestation Transport (SEAT) Working Group</workgroup>
    <keyword>Attestation</keyword>
    <keyword>TLS</keyword>
    <keyword>Exported Authenticators</keyword>
    <abstract>
      <?line 98?>

<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 103?>

<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 session. 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="RFC8446"/>, 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="RFC8446"/>, 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 binding ensures that:</t>
        <ul spacing="normal">
          <li>
            <t>The Evidence is specific to the authentication event and cannot be replayed across different TLS sessions.</t>
          </li>
          <li>
            <t>The Evidence remains tied to the cryptographic context of the TLS session.</t>
          </li>
        </ul>
      </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="RFC8446"/> 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 session, 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 session.</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>Ensure Certificate Binding and Freshness: The Evidence must be explicitly associated with the <tt>certificate_request_context</tt> in the authenticator request to ensure relevance, freshness, and protection against 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>Context Retrieval
            </t>
            <ul spacing="normal">
              <li>
                <t>The certificate_request_context MUST be provided in all cases to ensure proper validation of Evidence.</t>
              </li>
              <li>
                <t>The receiving endpoint MUST use the "get context" API to retrieve the <tt>certificate_request_context</tt> associated with the exported authenticator as attestation-based authentication requires strict enforcement of the request context. This ensures that the freshness of Evidence can be verified.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Authenticator Validation
            </t>
            <ul spacing="normal">
              <li>
                <t>The API MUST verify that the Evidence within the Certificate message is cryptographically valid and bound to the certificate_request_context.</t>
              </li>
            </ul>
          </li>
        </ol>
      </section>
    </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 timestamp, since freshness is inherently provided by the certificate_request_context in the authenticator request.</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 remains in a secure state, remote attestation may be re-initiated periodically. In the current protocol, this can be achieved by initiating a new Exported Authenticator-based post-handshake authentication exchange, which will generate a new certificate_request_context 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 session.</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="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <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.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </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="17" month="October" year="2025"/>
            <abstract>
              <t>   The Conceptual Messages introduced by the RATS architecture (RFC9334)
   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 RFC9334 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.  By introducing a shared message format like
   the CMW, we can consistently support different attestation message
   types, evolve message serialization formats without breaking
   compatibility, and avoid having to redefine how messages are handled
   in each protocol.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-msg-wrap-19"/>
        </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="TLS-Ext-Registry" target="https://www.iana.org/assignments/tls-extensiontype-values">
          <front>
            <title>Transport Layer Security (TLS) Extensions</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date year="2023" month="November"/>
          </front>
        </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="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>
      </references>
    </references>
    <?line 380?>

<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="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="document-history">
      <name>Document History</name>
      <t>-03</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>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA71d63IbN5b+z6fAKlUbaYpNW7aTmWhmpyLLcqyML1pRTiZ/
1gG7QRLjvk2jmzRje2pfY19vn2TPBUCjm03qkmRVNbFEdgMHB+fynQswURSN
al2n6kQcXKmsqJU4rWtlalnrIhdrXS/F+YeyqGqViNOmXqq81rGsi8ocjORs
VqkVvHlalil+iq+8lBtVhYMcjOAbtSiqzYkwdTIaJUWcywxmTCo5r6N5YQw8
GBkl60h9KOG/Dx+OTDPLtDHwfr0p4dmL8+vno7zJZqo6GSUw4MkoLnKjctOY
E1FXjRoBJY9HslLyRExV3FS63ozWRfV+URVNaT9T4nylE5XHSsg86az1upK5
wZWKw+n56fWR+BHe1flCfIfvj96rDQyWnIxEFL6Gf16/nOI/O/g0Wqm8AXKF
cITA6PAXr6s7iRCZ1CnwCXjxrVb1fFJUC/hUVvHyRCzrujQnDx7A8mVdyfi9
qibuoQfrxQN864GcFU39AGeDvWtmsDt1aiLZUvxAWTrDDw/ghVTin/CCm6f3
4oRHnOhicIgHu7Zzsqyz9GA0ksCWokJGRPA/IVgIrpdFJo14zq/RF7Acmetf
aNQT8VLnsiroC8XcqemViZ3p25QesJwKh37VLGWWyUS8NTKTYiqrRFYDM1y/
Fc8qZUAswlky+/a7Bt+eGHr727qJEn52kig/37xJU7scXTWZTJVZy0pcqSTZ
DEz4univJX0eg5CeiKcyX8i0qBR9VqkFPfU3WeWw0+/tk0WT16hDF3liX7aE
Hryf1MGs7yqc9dsc55jERXbQ48pPwKxcTJdqPldD3LjI60bX4QQbfGNOovbt
Aj/CYXujvpB5roy4NvGymKtcLwZGfpvrlaoMLFkUc0FGA7RlGmvURyOeFnke
XS2VzqOpVjyAMzEvoqdX0y4fvlNVJvNNSCgTMWmJAHI/THJV94i9KPKmFq/0
UqaxkgOUnlYZyF2mQcTD8TW+N8nse9/KKiNOjPICSKlhcSjcV8/Pvnn8+In9
9dHx8Tf21z8d/9F9+qcnT74GOU7N8WP7xqOvj/G7i+gZ8TmqZG2izCyidSXL
zjeolfC/eSoXhsaI6NfRSOfzkA7/Qiqz0kSxqUJtxSfAbkXnH+roCgTOIE+Z
5V5NLV+AX6evT+lv6ypaU8nW3plbcQhDHoEhrMEuwySGX5LVQtWt+Vqv1xMt
c0lmS4KNX+QZmEtD9ka5d9E8RiuZNopHIZsPmrNS6APEo4ePiHWnEUx5EhJ3
cF2AFiRG/CBTnbBtB3GDx8Tx5DEYGuBRKl4ViUrJB/zQpLmq5EynutYghjpH
FVDpl8aOLi6roi7iIj0ICDl+3KHlyXhwqVopMIGo2RP8lVYM7q/B9T44fvjH
rx599ejJANcjoAI299VEvJ2Edst/czoRr7XKdPfTF5O+AvqvrieBiUWB++Px
8YkgKQNDzZ99/c3XD09EERt0RM8vnr2Jrs7/0zG3t7K5TgqZprCPMS/LlCo2
9DGYfhaHqFL/bHSleHc7e4Sjd/1kK0S4KZeVXsl4Axa0HeFgN6OeTsSl0iCV
PYZ8PxE/qKpSZR1s3Sv0prhpX20pXCKlZQr8Fn5b4LSwsFTFqF9Rok2cFgYA
RfSPNbDFJPjvaITLqUmRpucvnyOoen5WLzXQPoqiCMyZQccND46u4VOBTNNz
B50SNddoRKXIFCwyEaDPol4XopSVE00JBjDLmty9o0FUcUT8vS6E+hAvwZns
gTlXyjRpbURjEHY4R05sbTHLWIBLZnISnPXjR2ujPn+eiNMk0TgUbP9mLHSN
NFRF0qANh0HEz3G2fheYmp+FV+qxWC81MB9eLdaw0ICuGNwWEiBTgwuZKRg2
TpsECEhAAuI63SAlOMGZAnYQ1xRwCoQa1gtIsBYJCBAsCp8ZBmPRTBr4rCxM
HQGfErOU71W4doQ5AEngs7KsCgmkmqbEkYyYFYCFcegSbBYZP2TtDGAY4jr4
NV6q+L3I0LAYMa+KjJ6+Or2eEn4DZxLXiECBBakSiFwttbLucKJCb5PjhDgq
8AKHgV9VlW7wha4A4H7nKp2wgGU6SVI1Gn2BNow2hUAqSJuCmTXKFlC7xmFy
pWj0BGB/jmIJ3IQ/Jc6PcQAK3Yapi6tNWRcL8ESwewKQMIwDwxngKMuHFIbR
NSgI6uqYaE7USsc0Kz3yPi/WuVgUINi4VDV2L82KohZLkLiZUjkwRs5SlYyJ
vTQ9yEqUqhXYa1PM6zVOjd/NdZXRH0u5UiKHMej9GtydQroweJkIG9WEDIad
Re1AaQXaYlmy8d8AD1/BigRs1BL5S/Itc6s+YOhLJ+awXvBaMAd4BTIJ7GPO
UqkzY3mGTNV1U4e6iNgcNMaIqslz0r98pQFcIc8OzRHoFtDLu3xJ7M/khkYC
lW0pCRXZ0QSSCJYTrR1oBpBKNCBPUZClRqkntXCkwE5nKPtlAZHbBrYq1uSx
EX2Cv3FqBIGVAQtUAafAMhlcJH58Td5AnLfUA+/xHVANeEwlqES472BJYO/x
I5gUtR+oYmMCEOnzZ2fygPOnNU+oM4WzrMEVwIAoI4AZwWHDsnNwgwltPSy6
rMAwy2rjxDXcYNrAIi0WaDRRQoCGxihLVNfo8o4VVuvQ7vm3N5Fc5GAqQObh
YzAaRoNk4n7EqqLt01nJAg/svYEOmLyARUB4mkHA0n0O5gWcMWZ5dPigb1Z7
VvWeRhWIX6nNLY3qb2ZPYVkqBTydY4gJnGLcIMjYyTSiTY8DAiDyb+gJMqOy
Q9wpAQBCm2enR2MYAXiEZLYEgAWWYKN6htbL/qCBRaCHsus9gOfvb+8CxkAU
UEtUz1P1QbP9IX+faIzLyJspQI4bEgUTg1WsdIGKct0RklmjU8C6TYnitqwU
sAwpkeygu7JuTsBJMDWHA8kegLlgR4A8cwQBUOCwAoWFWKD2OGVZrIek3mzA
WIJS4QezVJslWxGQvnqNBtqhGTBYFq50dmcHYKFNMSoEPGi7c1gvyn3AN2Y/
WI4GlcJ0NwwRFfw9vGdj5LnKyfoVrBZFBX4XDRImXWCzYCarMLxM9LskOzuy
PyF0IuYVSCYsXkesgbxPN2jQG2IMzQMKnFuPowMeo8Mk8SwVDo+MAZuL1rIL
7QRicnjL6ziCj3wDBABjhZzXihnkabHq6x73Qm1UBYbZOmnQXojlYQCwsqZv
Tq7sjO7RM3p04AE7h0GdRsFFpJ1uWBtxWfBxrPTKmaT960IO4DBFzkiA3Gfn
DfSrEPfSZs9DgsfhH+RRN4xGnuucWO0pdULp/qZZcQ40tSuOP9k1kyzBfypa
ycQr4hk6k7JuMCR1g/wIQAsgDNi3Vz8egQANJwVQnuCBFs1IdC8NqWwCBgZw
DSiOj39v0C/QkE1ayAShvw1SHJ8D6Dno3BA3DYUzt/dfBPk6RuAeEcBv4qx2
BT2IqK9VBR6MVkyAGoGwwJywEa/eTq/H9F/x+g38BnHz24ur82djMX1x+vKl
/Ye/m7548/blM/eve/7szatX56+f4SvwSfeDV6c/sfy9uby+ePP69CWzIXQD
CHIcz0CFy0pRUIdBnIkrPeMVPT27FMdPeGGYmAIARr9jZgp+XwMjeKIiB17z
n8CdDYJIJSuC8WmKiFnXCClgfLNEUI/RxYSZAg4dLSaGGuDEM44xgK65zMDJ
wSCkjLhLqyKWM5DQikP+mDVhIO5kqIjPdLfkYADbB4jnYIzW/mD3txqjYCaw
UnM0fAXb0I6udEMz8kVj4g2EHCCYaEDYHGNA5WBWBkzwDg8Wm5EE9VXAJ8oc
COnI65dmSM77ACDQMgkkrEO9whAG1rcVkI/vMN+E52vRkIWZnkdFNZhf6Gmw
VVw/DMAjrdLEBRTgqiLOnXRxYO6x2SBpo9OeuEyta3wyeTJ5hINHlGT9/Hm8
byDnCii+kSEF78C31g5gU/hs0M/Qujs+4xyT0q0BBs9wjtmDrSdgpprAZ2ca
FjQYuyYKjCliTZ6j5Re7wZ1GlI2P1VNSX8s7iJLBK27RYfk+xAyihZLzuO2w
f4b8sJOZ4a2aILZxBrC/8/B4haPFRWVdMlnqgo0V2AhcLEEzAoqAjJfon9vR
jUUhYM0g7mZIr8x26sSnwBkd1XqxRK/RAfqWdhuvtgoAQStbsN08hiEta7tS
vccd/fq4KVwrwZ4d8R26AB/doZHdTdzYR2POY1IyCMMPwMFtvOBY9vfJVw+/
6cirF3Tg2b/+9a8R/y0+ci2llKAjxEdEzX85nkwe/dfx19HxX/88+oyYJbAX
f6bXR+7ZE3HugYvFDbvWC8tD+MMbvgcltYrDEJ7MDjE2LnAPORF69vTNFUrg
99M3r12Q5XOAQezaYdavDV5J1WBkGP0XjKd6ASxQvildHurs1AibT29zIgo2
nH0OjNIQfQXNr3r2JWkIH6woPWShDoQvpfFRkkWryAvTzP4BdlTohHVlTNku
JypxCJRxAegDAWI09K6uHSa2Qbj3T1RfzmPUniDk9mseYz4KRxhm6kJhkYYV
OysJngJjbjKKsa7ATa6wesCAiXmDkWcGmCjpY1qSkP26g+k7lc7HFPmumOA2
nYFTVxjQDQpEiRE2ZsgQDXwhXqtFAbLsEPoQSPYIYTTqPW2TEnsWz4ExiyyF
t8Ou8it2lCGwOs8Tiget1VlTDF/Y8Gu3RrIm7QqEyTloMP1sQCz5M2dNaSuA
/KxEx7LbBG9tjIseQR9viiwnZN8BHBvnwUkoeM5wDiYyMLo2ugSMSNEQJSOt
SPXSiTkZl7VOU+vj7KZTJD7IOLcmDAx3YbDRKXo93hWmyiel6h48yxO3UYaS
+cwBiztYRTGicE5sf2yGtGG+etCJlEVJdtoF2D1FAkgwv6kgZBGLrRAMqRsO
zVlzzPMj/ZTlh01c6aIx6YYzKq0z7oIMu/6x3UXiS2XB0gwFcDuT0DGSLnVw
0OSW4yp558k/ADQMNE/EqZeDvnp9M3kMFI5s0R+BqOpqV1JQ7QJoK8DI/nKL
DZHD4j/aKf6seoscixu6dtEW2OvG2yRn3T0IhC2ZdyG7WGMNSc6w1MYG7C0b
xHw/yrlElPPC+7bTDsphyLVPQjzs86EkBW0hMr2Jgv0h/55SJ2DaW2XVa2yI
yHRdt2J4i9DK43SWV8P1t36aym7iEBzcBwVtWghjeSzxkVmQlICCV3MLf/tA
FgwEWaSOZ0Y4hNUiTRYEgUWnHDjTrGlBtNsNoHsaxnF0oJX7Np8kd6bCkMjn
D34O4zQ74juUa3j9Z+9QO9bgfm5DHPqs55Sznv6lbqryyG6SY0m4WZR7vw55
E/gOB7R7bFIryu2gusqcC5wwXwm4CpM7cVWAW2nz3kEFAwBGbzJX86i18pFQ
dx8t53yJL6iHkLKfuzrKWZGVQJ+tWdB2cIAQinjbfHOzhicF8AiXR8HHRhCy
hlXGQ5HHqu3qyRRWD7TJDGkqZaQpKYWu1jcpCFM0FXv7fq4P0V6oFDIFD98p
fVrgBO9e/u3CWpN+mDZ1AABwOu3y2TC5h2qymDCWllRXCR0NChImxGxNX8Xv
zRFLv6kBS+DOl6rCYIe2HsTaxdC4UR8/ujwHd8/87eLv8Nm/gSX76tGfHiKm
Y3HYZTBiWVXWc21vVBjVk+mVlAdpZq6+jaHQ3o2C2IAy436AtMgXBiSzreru
eBOHDrfS9wgBpK4QU5OkX7gyrA1bEd5UimKYtlyC9UB0YL0YBtWQJiQq9wac
RlBLMtYLqkBolapbwriezhpj26KtosBWsc2gLbKG5B7OUNpRU+XzlXE7rivL
dCX9VzlIWMyFLVAXuesLgQDMuOJap2Vh7G2+LXdsPe7aKSbiXFvd8/UjW56z
q8Duh3mTzlEBagoqqyJVZrtK11dsV1mzGR3fwIEDdopCiiggrfWm8vBpWxw8
o+IgNQseUeey6Ixno1Jluh7PulXDzVE3Orm7JGMdCd02EVAT7nnsOF9GEz4k
9b0hqFQKWyvbkGUtEeWTtg11meyaF3wH4lhUB5VTs0WMYJIS7w5h0tc11U58
BiVwLmPBImh30hEJ6x8iYxQN1a4OL115d+dOYTHUdFnTMmSmYOUK5b9dqP+S
UgZmR/eN2zon0tsTe1lon+uM8JvKhzUBuFTtiets2a6ddMXKnXT6EpwLyDAL
Zl0QBZdxPShtsGdPN4yiCSVu1Vd2Fw/62cyhOgbXpi0OaINi7qpIu8YcD4PM
Cc1vGZB4WRjErq3Pp4JN2AZxs3HmzrVbtzX+nsnj8V37C7tw70WxxhTj2Dkb
9p+NjRK7LCd44poJc5ukUjbVHhfEZZuktQjo+zfTc4LQ8C/nQBkHb6ij5Iag
Jg77y/IgJ2YBRoI+aqVlSHqUUps6Ia/U+u8Sh+aoD0YFF4NFhucNAbNu1wx5
DX42gJy42qCdq+6RA0x8WxKzY6VLLuvsKj25xMwNdoB6EX0SiFBZjTtPVZ7C
KRhndTHXazV6H6Yhxzfs7tiGcvcDNcQvfHO2l0Y6vNIJMzJu9OmGFgiMLdhF
8LdA6at9Q2hY8xnjqSj7gg9gbffEEhwctXtCLNvMJemkNbgUmnQ16akNwaht
A1z+EtsXdxCLLfq4mHRzjzhTbyGQoBkFO7KZtkql4HKpCXLuyBm7Xsba5ooc
azjGs2tjR63a/vhLbtnEMIwTz7uWZd9sWb7lDcCLdJGr5hJCothhK5cEYvnB
92xTrwN5JTbq19wLgf3AKNKEiF3WVGNqLoYZYP8lOfCus+7I2bDvORnwVyT+
3Lrlk7RD3tUWHclz2SSSlSf0664EWHjZpsE0o/oBdPu///0/AcvC8w3s5zQp
CpdRtlU5aGOxZvd3Mv51p3xFHZKwsa4Aw/k/jJk+UARPbZIuv8M2pCrwH7fO
RSMR6CkqXFzkPYujPkgcy4xD6I7dslTqQKPlCknd2hHPG4B/zQFVpyYbtvWE
2Sl30AEI+vhxrheR6/CDEBh7UnptfxzG84z8fNsBCG+AC2u4BZ7fa7+MgvZA
rnVKaVYLm2sV2z82sNv+cYAI5P3TwNf0s/ML8Ylfu1IL7JghFrQp1RtfE+KQ
6Yoo5YgcPrpxtr9Egz9/vcVs91rbZDLh9u+Susjp71u8dr/ZBnOsN792OJQr
PLonJ6Pfi5P9n2k3+Bl+bQeNu3/+Ojzbd2g4Tzt4k0zx7Viy+4dnG7aKhzex
JLSz5Nhvx8meBR/f8rWB9tHbvObaS496X+5/befu7HkNey4+nogvQsPJZ/P+
46DrnplbLnFlfFx78NkZ3o4hZdNLcSA5BR8z3Nem+ji6/7NlZ2+wr3fRpr3G
9paW9K5SPrRfu6zAPdayw7rebYxfT8ew2Q2sKpnTvWPcxXL8rmtx1Ld29c5j
3EVtd/M0sLX3Xcu2b7jzGAP7cg86hs37kPneOUa/dr7nZ+cYOyz4ncbYYc7v
MsYdRP03sh8IFTrScPcxBki7Ox1bQn2PMa56wOMeY2wL9W9jP0IHHJxFsi54
OCNje1Fgi0pJp3XZakZTLKSFfhlLT5cXnbPzlNoPeTrlTCmV9jlvOZwqHbdn
HG02zNaHhzWVJuaypW3w6sSKJ6PR8aT3xne+sw+bR232fGgUSpwa2/62K0t4
Q/OeTyphf0teNlhSeDTBUzhU+75S2Ki8kmlLyp7kj+9O8KP6AxKG8yg2+YPH
VQGrrDoXUjglm7Rzteebumm+xnCcfICHbu3kB8Qk6sojmtUtclVD2a3hGwCo
xtuyeLDy7dIfBvMFOq6BaJCymGTFSUnYfgYk7Opp9imxzkklm9F1mUPYqsd9
4QnaDLaFZ+WSSnYWP/BNHZ5mKH9JNWI67xnmzffwG49FfdGm7c7wjEFiRd1s
H+NYArU25eQTL3HnHWRO0J4UnIihEzLcDKt9qtYdrRi+4sGnCX1yxx65x9OA
c6nThs9NB33Bnn/26BI1PilZu5aAuaxlKlRVFVXbjDd0V0H/ConcHrOkAkmu
5rrm3untw6XjlohA+TB/6ju5QQ9t6ii0EXRpAczPCS40uVwDDLPPVjo7hxDW
VHv2SelQ2ffnpYdOxPGJqEDuX7h3vZSApW/AFh++mL46wjLFNRIDk51/gCe4
JTg4dH94fX5+hPJqO8io5IWm3rVL29gLs7Ol1JVLONsT01z97hzl2XHayR5/
2Ve7mtoe8RbUT6+Otprr9t9KxEKsuyU0V1ajCU99G3ug2GESWtv8LPYF2gsq
fF6Xnk1ljeWoIMPr09Re71xbirGl4TZZ3DnzQq7Wb913Pks6Gr0uqPAia9aM
EpWp225V2kuFxnatMD3GmdJE7pRJm3VtqfeZVFwq9dLgbnfa9ZADXFmxAgpG
ZK5dr3Fw4UR7QrrzBHxPx1EzGeOlD3gnBd+7R2637cUJyHOmpK8antdA2wPb
2kGFxhr0bzzyjSJ0miHo7uHLPrhIa2yJFoRXfdCm9nXjfwKR1sz5biDAF39g
K3g7Prn+jc6BmfbOi80wu5xOXrrlOaW9vrRKe34+uRshOZZbW1MNj6QKvoLf
mpoapfYQhlM954aLdhcxv88nMhA8ECBpj8A52SOVDq6wCJiwW2hsh3v4ni+x
jAVXeHXd9kfhQsip2PIycSKTVA9KHZu8VASnAZiMxOqR7X6zef1u+aNcStPW
vTIlEV4kduyq/SYvbFPSWm74+JnmYnVwugTESTl7qD7giVT2Rf7Cl8SedDUO
19FlBlgj7pYS4cuM7l05PHAafnDU14yx7XjaOLBDoszG0pPaHtKZubIoVWm4
rxEpwu5Ba9bRA/ClEGMuu6fdhnZVx+5+C2zZCAra6IewsQMPl8SwMH8+woEU
1/TtNodOU/r+utFo4Dju1kHlIgYdNz1Jc32nsn8kyFmI7sUHI9fBYDGZvbQA
prH9AQDoZbDtWCXP+cgujp36LobusHTplb/ig2tSo6CnjoaTC7xjgyRy4OqL
taS9QhrwSsiNLbPRHQDsSIIbL/xhI5xv5L1AyW06o6lVF/TCWUnD88mV2sIK
1PIlnvDN8dIA2JVY8SmJEuwmulDPOrKngRunKhvhDsaIo06vBBnfDsz2V2L5
W14PrTXn44LWd6V6Vslqc8ScsrEPO0FehUpGzgjQ1UQpHhYPmTTAUss3hsX8
bthKSlcv2ouasMOdFCJnJ2V7Ruy9PbaL2em2bwrgvp4g6PCtsP1Ekjdp7hxe
t8+4DWK8UrU+Q8KLODzgdbpUEOA7slBnOHpWju3+tWMQ2lpSZ/dAM8S+qHRf
R4JtiPQWzkqUQ3SsQt43sH5xoju4nknXXd/JoNIORPcchXvftg+gcPM1Hqy+
4cVh9kawAQGwlrVSkTPXOEyli4Qx+UTYijSMQ33wLbKy93uxYQU0A5Kd8Ikz
GogBHZ6Z/xWnR1wh2qkXBQyON3b4fbtVB0cr/O5T85m7A7EfOIIUb9djbF2e
0S9bs7Ui+aegwzeCtX0S9pIGNoL+MIPdR3saD5toQFQQDgLLDbY1/ajcSWO8
BAt3ny41Y69cW8CAPp8OuMwZm8ebCK9q1nhMonNI273MDt4g2eG1PQQs2jtM
2rMOYVt3KxasHBk3KQzXm8adLlPSZpJvskdkuG3/C0TApBXbtLYM/BJcyNlT
+AimWbRtjWNqJceDVqkpCIsbG4mjxyUV8u0z1MxyqCdqwpRdXR6xT1gv/UU7
pCA2dm5v/MlsywTqCvgHlQS2xR10ZAFCqOab2ejiPp1pLGzBSt+cTS/x+ADe
+onv/eibMq4uSfU4Gt5iWk13X+AdmIrAXefkfe1PINqeEJmp4AiLuxhkbp2I
Y6dTIdae1O5KjkcoNZkwlgSz1GWbv2r7TKcFzEJwCSP7BK9pdqd+OWyl6MBN
FhGsBqgl/fV926Lq7WRMN/uN4X2GP/4mUNHeBOraG6fPou9/vEam8q2geLMK
3aN+Sh+6O1c/fz7C8c6KKKVzHxZUeS5jq3u7zKtLmrzWqf4FH3W0kr5Wq/5B
ZgMij5kGS9Kz01M/dSIlTo0HBsMBHV9MmMeweUK6uNyFMrodNsgwiyeTY85P
+YtjYRbrblKJIrQuWCHoukYO2wk+Uwi31B7z23OwPnJq71G7nISRNakUEABe
ymYcSZgPgAclYrwD2PdVkeKZIM4MybYfqC5KusgnOBMSdJ7b95yGNTmJntrR
LEs5AD51Edrj51a6MfbqHqpyz3ZlP2ieQpclzXtSEHe2o3dm0V3SQ5d8dZKb
DIdbFDo8gs2z4MUGtbNOJYsx4n+i40vjk1sWFboLLgv2yCslU2UJQZ3jTrpf
MEyiOdmP4e3RW07swQPBO1ngyXNxDiiqqE48CvFODIAh8s+dB/v48d/xYl2n
UiQV8LpNUPBl0m6fOvcj5QwuV65Tt3DpG767zbVwX29K7Pij+7DtkRwiXxt/
BNzeF4SP2LMrbStc5/4duuHfobGDzjw0zQ90ufWBHava4IktnGyy6x7sz5/B
gn3i96hW6iZ6jfaVSk3ulutP4hne7v0GdwYLYZiHBUkB4vEvcqLAzU8jV6wb
qjR+Gvit/2TnG6Dt+ukzMVyD/STOrl1B7HVQHPsJ1LP9q93fTyO/Pc/xfvNg
ue6+8h17A6a/36FIV95Y5T3wQx4Ee+U3wftXxhN8so6vWCf+R8z/E1zqMfyF
I9EG0G1s78L/a4jIX+kG370Yi/NzvPWt3YsT8RN9YLfjpF09X+aLCIZOIcSI
IUDTFlzMG308aXIWeZXAswDJ1kWTJqDN7xUvU+bvxdmyAtZcwjbYg3QW3oOa
A0Sjy6LpanLSICwp8PmfIBs5aYcmy90d/7zSMdZYAaSlcgwTga15QXevczD2
UwErX4pn8J8S/lbO3+vKl96+4MPhLbheGbq4WAYfWRjcX/Rz5xVWGpRuy76O
t2B7II3uDkZV862+DJPoCKjuzd6J7pf2eLMz4YOH2i72DjJ2V7FwRZMDPBhk
AzIR3MsUZunGeCG4xLRS0ZgAruP/FUKatKg73bS1wGG07T1ppxLmUC2P+qXZ
uvSXr5DiE+M99Wi5QQvfzfP/d/+GwvXMmf8XGksBWzIUPXyMkBCiP0m2cUfd
jSpUdGtpTP1gYGDCh9tEOMJL+s6JVHccQnuUKSWw3u1aHv0fQaFrcotnAAA=

-->

</rfc>
