<?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.43 (Ruby 3.2.3) -->
<?rfc rfcedstyle="yes"?>
<?rfc tocindent="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc text-list-symbols="-o*+"?>
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-fossati-seat-early-attestation-09" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.0 -->
  <front>
    <title abbrev="Attestation in TLS/DTLS">Using Attestation in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
    <seriesInfo name="Internet-Draft" value="draft-fossati-seat-early-attestation-09"/>
    <author initials="Y." surname="Sheffer" fullname="Yaron Sheffer">
      <organization>Intuit</organization>
      <address>
        <email>yaronf.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="I." surname="Mihalcea" fullname="Ionut Mihalcea">
      <organization>Arm Limited</organization>
      <address>
        <email>Ionut.Mihalcea@arm.com</email>
      </address>
    </author>
    <author initials="Y." surname="Deshpande" fullname="Yogesh Deshpande">
      <organization>Arm Limited</organization>
      <address>
        <email>Yogesh.Deshpande@arm.com</email>
      </address>
    </author>
    <author initials="T." surname="Fossati" fullname="Thomas Fossati">
      <organization>Linaro</organization>
      <address>
        <email>thomas.fossati@linaro.org</email>
      </address>
    </author>
    <author initials="T." surname="Reddy" fullname="Tirumaleswar Reddy">
      <organization>Nokia</organization>
      <address>
        <email>k.tirumaleswar_reddy@nokia.com</email>
      </address>
    </author>
    <date year="2026" month="November" day="01"/>
    <area>Security</area>
    <workgroup>SEAT</workgroup>
    <keyword>attestation</keyword>
    <keyword>RATS</keyword>
    <keyword>TLS</keyword>
    <abstract>
      <?line 143?>

<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 remote 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 TLS extension that enables the negotiation of remote attestation and binds the TLS authentication key to the attested platform state.
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.
This extension has been designed to allow the peers to use any attestation technology, in any remote attestation topology, and to use them mutually.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://yaronf.github.io/draft-fossati-seat-early-attestation/draft-fossati-seat-early-attestation.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-fossati-seat-early-attestation/"/>.
      </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://mailarchive.ietf.org/arch/browse/seat/"/>.
        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/yaronf/draft-fossati-seat-early-attestation"/>.</t>
    </note>
  </front>
  <middle>
    <?line 152?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Remote Attestation (RA) <xref target="RFC9334"/> is the process by which an entity produces evidence about itself that another party can use to evaluate the trustworthiness of that entity.
This document describes an extension to the TLS handshake that binds the TLS authentication key to the attested platform state.
It also binds Evidence in the Background Check Model and Attestation Results in the Passport Model to the specific TLS connection.
This enables an attester, such as a confidential workload running in a Trusted Execution Environment (TEE) <xref target="I-D.ietf-teep-architecture"/>, 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.
This, in turn, allows for the implementation of authorization policies at the relying parties that are based on stronger security signals.</t>
      <t>Given the variety of deployed and emerging attestation technologies (e.g., <xref target="TPM1.2"/>, <xref target="TPM2.0"/>, <xref target="I-D.ietf-rats-eat"/>) this extension has been explicitly designed to be agnostic to the attestation formats.
This is achieved by reusing the generic encapsulation defined in <xref target="RFC9999"/> for transporting Evidence and Attestation Results payloads in the <tt>remoteAttestation</tt> extension.</t>
      <t>This specification provides both one-way (server-only) and mutual (client and server) authentication using traditional TLS authentication combined with attestation, and allows the attestation topologies at each peer to be independent of each other.
The proposed design supports both background-check and passport topologies, as described in Sections <xref target="RFC9334" section="5.2" sectionFormat="bare"/> and <xref target="RFC9334" section="5.1" sectionFormat="bare"/> of <xref target="RFC9334"/>.
This is detailed in <xref target="negotiating-protocol"/>.</t>
      <t>The protocol we propose is implemented completely at the TLS level, resulting in several related advantages:</t>
      <ul spacing="normal">
        <li>
          <t>Implementation is within a single system component.</t>
        </li>
        <li>
          <t>Security does not depend on application-level code, which tends to be less secure than widely shared infrastructure components.</t>
        </li>
        <li>
          <t>It is easier to reason about the application's security, since the peers' identities and security postures are known as soon as the handshake completes
and the TLS connection is established.</t>
        </li>
        <li>
          <t>Application code does not need to change. At most, some configuration is needed, similar to the current use of certificate trust stores.</t>
        </li>
      </ul>
      <t>This document does not mandate any particular attestation technology.</t>
    </section>
    <section anchor="terminology">
      <name>Conventions and Terminology</name>
      <t>The reader is assumed to be familiar with the vocabulary and concepts defined in
<xref section="4" sectionFormat="of" target="RFC9334"/>.</t>
      <t>The following terms are used in this document:</t>
      <dl newline="true">
        <dt>The terms "appraise" and "verify" are used with distinctive semantics throughout the document:</dt>
        <dd>
          <t>"Appraise" covers the act of checking the validity of Attestation Results or Evidence, as per <xref target="RFC9334"/>, performed by Relying Parties and Verifiers respectively.
"Verify" covers all other checks performed by the two TLS peers, intended to assess the correctness of the cryptographic and protocol operations of the TLS layer.</t>
        </dd>
        <dt>TLS Identity Key (TIK):</dt>
        <dd>
          <t>A cryptographic key used by one of the peers to authenticate itself during the
TLS handshake. The protocol's security is critically dependent on the provenance, lifetime and
protection properties of the TIK. The TIK <bcp14>MUST</bcp14> be the X.509 certificate's end entity key and is maintained and protected by the TEE.</t>
        </dd>
        <dt>TIK-C, TIK-S:</dt>
        <dd>
          <t>The TIK that identifies the client or the server, respectively.</t>
        </dd>
        <dt>TIK-C-ID, TIK-S-ID:</dt>
        <dd>
          <t>An identifier for TIK-C or respectively, TIK-S. This may be a fingerprint
(cryptographic hash) of the public key, but other implementations are possible.</t>
        </dd>
        <dt>Attestation binder:</dt>
        <dd>
          <t>A cryptographic nonce value provided by the TLS stack to the TEE. It is used for providing freshness as well as binding attestation Evidence (in Background Check Model)  or the resulting Attestation Results (in Passport Model) to a specific TLS handshake.</t>
        </dd>
        <dt>Two-sided uniqueness:</dt>
        <dd>
          <t>The property that each peer independently contributes fresh nonces and key-exchange material to the handshake, so that neither peer alone can determine the transcript hash. The attestation binder derived from that transcript is therefore guaranteed to be unique to the specific connection, even if one of the peers is adversarial.</t>
        </dd>
      </dl>
      <!-- -->

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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>
      <?line -18?>

</section>
    <section anchor="overview">
      <name>Overview</name>
      <t>The basic functional goal is to link the authenticated key exchange of TLS with an interleaved remote attestation session in such a way that the key used to sign the handshake can be proven to be residing within the boundaries of an attested TEE.
The requirement is that the attester can provide Evidence containing the security status of both the signing key and the platform that is hosting it.
The associated security goal is to obtain such binding so that no replay, relay or splicing from an adversary is possible.</t>
      <t>The protocol's security relies on the verifiable binding between the TLS Identity Key, the specific TLS connection, and the platform state.
The binding applies to attestation Evidence or Attestation Results conveyed in the CMW (Conceptual Message Wrapper) <xref target="RFC9999"/> payload.
Evidence in the Background Check Model and Attestation Results in the Passport Model are additionally bound to the specific TLS connection.</t>
      <section anchor="authentication-vs-attestation">
        <name>Authentication vs. Attestation</name>
        <t>The protocol combines platform attestation with X.509 certificate authentication.</t>
        <t>Attestation when used alone is vulnerable to identity spoofing attacks, in particular when zero-day attacks exist for a class of hardware. (TODO: reference). Therefore it needs to be combined with traditional authentication, which in the case of TLS takes the form of CA-signed certificates.</t>
        <t>We RECOMMEND that regular applications use authentication and attestation in tandem, to gain the full security guarantees of an authenticated TLS handshake (for the peer/peers being authenticated) as
well as guarantees of platform integrity.</t>
      </section>
      <section anchor="integration-into-the-tls-handshake">
        <name>Integration into the TLS Handshake</name>
        <t>The lightweight integration of attestation into the TLS handshake is designed to have
minimal impact on the existing TLS security properties. The changes consist of:</t>
        <ul spacing="normal">
          <li>
            <t>Negotiation extension: A new <tt>remoteAttestation</tt> TLS extension is added to ClientHello, EncryptedExtensions, CertificateRequest, and Certificate messages to negotiate the use of attestation, indicate supported attestation formats and Verifiers, and carry the attestation credential.</t>
          </li>
          <li>
            <t>Independent key derivation: Binder derivation for attestation (see <xref target="crypto-ops"/>) is completely independent of the
regular TLS key schedule. Attestation processing does not affect the standard TLS key derivation and security properties.</t>
          </li>
        </ul>
        <t>This minimal integration approach provides an intuitive explanation of why the
addition of attestation does not adversely affect TLS security. The attestation
components operate independently, leaving the core TLS handshake protocol and
key derivation mechanisms unmodified. Nevertheless, formal validation of these
security properties is still required.</t>
      </section>
    </section>
    <section anchor="attestation-extension">
      <name>Attestation Extension</name>
      <t>As typical with new features in TLS, the client indicates support for the new extension in the ClientHello message.
The newly introduced extension allows attestation Evidence or Attestation Results to be exchanged.
Freshness of both exchanged Evidence or Attestation Results is provided through an Attestation Binder mechanism (see <xref target="crypto-ops"/>).</t>
      <t>When the extension is successfully negotiated, attestation Evidence or Attestation Results are conveyed in a <tt>remoteAttestation</tt> extension (see <xref target="remote-attestation-extension-section"/>).
The CMW payload in the Attestation extension contains the attestation Evidence or Attestation Results encoded according to <xref target="RFC9999"/>.</t>
      <t>The attestation payload <bcp14>MUST</bcp14> contain assertions relating to the attester's TLS Identity Key (TIK-C for client attester, TIK-S for server attester), which associate the private key with the attestation information.
The TEE's signature over the Evidence <bcp14>MUST</bcp14> include an attestation binder derived from the message transcript (see <xref target="crypto-ops"/>) and the attester's TLS identity public key, as specified in <xref target="remote-attestation-extension-section"/>.
In the Passport Model, the Verifier <bcp14>MUST</bcp14> include the binder it extracts from the Evidence in its signed Attestation Result.</t>
      <t>The relying party can obtain and appraise the remote Attestation Results either
directly from the Attestation extension (in the Passport Model), or by relaying
the Evidence from the Attestation extension to the Verifier and receiving the
Attestation Results. Subsequent verification of possession of the attested key in the
CertificateVerify message remains unchanged from baseline TLS.</t>
      <t>When using the Passport Model, the attester <bcp14>MUST</bcp14> obtain Attestation Results
from its trusted Verifier for the current TLS handshake, after the
<tt>ClientHello...ServerHello</tt> transcript checkpoint is available and before
sending its Certificate message. These Results <bcp14>MUST</bcp14> be bound to both the TIK
and the current TLS connection using the attestation binder. Attestation Results
from a previous TLS handshake <bcp14>MUST NOT</bcp14> be presented in a subsequent handshake,
even if their validity period has not expired. For Passport Model, the
Attester-Verifier exchange happens before the attester can send its Certificate
message; timeout and failure handling are specified in <xref target="verifier-availability"/>.</t>
      <t>This protocol supports both monolithic and split implementations. In a monolithic
implementation, the TLS stack is completely embedded within the TEE. In a split
implementation, the TLS stack is located outside the TEE, but any private keys
(and in particular, the TIK) only exist within the TEE. In order to support
both options, only the TIK's identity and public component, plus a short generated
binder for either model, are passed between the Client or Server TLS
stack and its Attestation Service.
While the two types of implementations offer identical functionality,
their security properties often differ, see <xref target="sec-guarantees"/> for more details.</t>
      <section anchor="remote-attestation-extension-section">
        <name>Remote Attestation Extension</name>
        <t>As defined in <xref section="4.5.1" sectionFormat="of" target="RFC9846"/>, the TLS <tt>Certificate</tt> message
contains a <tt>certificate_list</tt>, which is a sequence of <tt>CertificateEntry</tt>
structures.</t>
        <t>When attestation is negotiated via the extension defined in this document,
the <tt>remoteAttestation</tt> extension defined in this document <bcp14>MUST</bcp14> appear only in
the first <tt>CertificateEntry</tt> of the <tt>Certificate</tt> message and applies
exclusively to the end-entity certificate.</t>
        <t>The extension <bcp14>MUST NOT</bcp14> appear in any other <tt>CertificateEntry</tt>.</t>
        <t>If the <tt>remoteAttestation</tt> extension is received in any other position, the
receiver <bcp14>MUST</bcp14> abort the handshake with a fatal <tt>illegal_parameter</tt> alert.</t>
        <t>This message carries a CMW (Conceptual Message Wrapper) payload as defined in <xref target="RFC9999"/>.</t>
        <t>The <tt>remoteAttestation</tt> extension structure is defined in <xref target="_figure-remote-attestation-extension"/>.
As per <xref section="4.3" sectionFormat="of" target="RFC9846"/>, a single extension is used across the entire handshake.
The extension is used in ClientHello, EncryptedExtensions, and CertificateRequest messages for protocol negotiation (see <xref target="negotiating-protocol"/>).
The extension is used in Certificate messages for carrying attestation credentials.</t>
        <figure anchor="_figure-remote-attestation-extension">
          <name>TLS Extension Structure for Remote Attestation negotiation.</name>
          <artwork><![CDATA[
    enum { CONTENT_FORMAT(0), MEDIA_TYPE(1) } typeEncoding;

    struct {
        typeEncoding type_encoding;
        select (EvidenceType.type_encoding) {
            case CONTENT_FORMAT: uint16 content_format;
            case MEDIA_TYPE: opaque media_type<0..2^16-1>;
        };
    } EvidenceType;

    struct {
        opaque verifier_identity<0..2^16-1>;
    } VerifierIdentityType;

    enum { evidence(0), result(1), (255) } AttestationMechanism;

    struct {
        AttestationMechanism mechanism;
        select (mechanism) {
            case evidence: EvidenceType;
            case result:   VerifierIdentityType;
        } argument;
    } AttestationScheme;

    struct {
        select (Handshake.msg_type) {
            case client_hello:
                AttestationScheme server_attester_schemes<0..2^16-1>;

                AttestationScheme client_attester_schemes<0..2^16-1>;

            case encrypted_extensions:
                AttestationScheme chosen_server_scheme;

            case certificate_request:
                AttestationScheme chosen_client_scheme;

            case certificate:
                opaque cmw_payload<1..2^24-1>;
        };
    } remoteAttestation;
]]></artwork>
        </figure>
        <t>The <tt>cmw_payload</tt> field contains a CMW structure as defined in <xref target="RFC9999"/>.
Both JSON and CBOR serializations are allowed in CMW, with the emitter choosing
which serialization to use.</t>
        <t>The CMW payload <bcp14>MUST</bcp14> contain attestation Evidence (in Background Check Model) or Attestation Results (in Passport Model) that binds the TLS Identity Key (TIK) to the platform and workload state.
In the Background Check Model, the TEE's signature over the Evidence within the CMW <bcp14>MUST</bcp14> include a binder ensuring that the Evidence is associated with this particular TLS connection, as well as the attester's TLS identity public key (TIK-C for client attester, TIK-S for server attester).
In the Passport Model, the Verifier-signed Attestation Results <bcp14>MUST</bcp14> identify the attested TIK public key (TIK-C or TIK-S) and <bcp14>MUST</bcp14> include the attestation binder from the appraised, TEE-signed Evidence.</t>
        <t><cref>NOTE: A new claim, `eat_transport_identity_key`, is being added to EAT Attestation Result (EAR, defined in draft-ietf-rats-ear) with the goal of supporting attested TLS as a use-case.
This claim would carry the required information to allow Relying Parties to identify an attested public key.</cref></t>
        <t>The TIK binding ensures that the attested key is the one used in the TLS handshake.
In both models, the binder additionally provides freshness through derivation from both peers' randomness.
See <xref target="crypto-ops"/> for details.</t>
      </section>
    </section>
    <section anchor="use-of-attestation-in-the-tls-handshake">
      <name>Use of Attestation in the TLS Handshake</name>
      <t>For both the Passport Model (described in Section 5.1 of <xref target="RFC9334"/>) and
Background Check Model (described in Section 5.2 of <xref target="RFC9334"/>) the following
modes of operation are allowed when used with TLS, namely:</t>
      <ul spacing="normal">
        <li>
          <t>TLS client is the attester,</t>
        </li>
        <li>
          <t>TLS server is the attester, and</t>
        </li>
        <li>
          <t>TLS client and server mutually attest towards each other.</t>
        </li>
      </ul>
      <t>As noted, each peer's Evidence or Attestation Results are carried in the <tt>remoteAttestation</tt> extension within
that peer's Certificate message. This section describes how Evidence and
Attestation Results are bound to the TLS handshake and the TIK, and how each is
verified by the recipient.</t>
      <section anchor="crypto-ops">
        <name>Cryptographic Operations</name>
        <t>The cryptographic operations defined in this section bind attestation Evidence
and Attestation Results to a specific TLS handshake. This binding prevents replay and relay of attestation
credentials across different TLS connections, and ensures that the attestation
presented during a handshake corresponds to the authenticated
TLS session in which it is conveyed.</t>
        <t>The attestation Evidence is generated by a TEE and signed using an attestation key.
In both models, Attestation Results are signed by the Verifier that appraises
the Evidence. In the Passport Model, the Verifier extracts the binder from the
appraised Evidence as a Verifier-added claim and includes it in the signed
Attestation Results.</t>
        <t>The attestation binder is provided by the TLS stack and serves as a
nonce that ensures freshness and binding to a specific TLS handshake,
as well as binding to the attester's TLS public key.</t>
        <section anchor="binder-def">
          <name>Attestation Binder Definition</name>
          <t>The attestation binder is computed using primitives
defined in Sections <xref target="RFC9846" section="4.1" sectionFormat="bare"/> and <xref target="RFC9846" section="7.1" sectionFormat="bare"/> of <xref target="RFC9846"/>.</t>
          <t>During the initial handshake, both peers derive a common cryptographic value
(the attestation base) from the same transcript checkpoint through ServerHello.
For reattestation, both peers use the updated EKU transcript as specified in
<xref target="reattestation"/>.</t>
          <t>For the initial handshake, the transcript <bcp14>MUST</bcp14> be computed as <tt>Transcript-Hash</tt>
through ServerHello,
as defined in <xref section="4.1" sectionFormat="of" target="RFC9846"/>.  When the handshake includes
a HelloRetryRequest, the first ClientHello is not hashed as sent; the
transcript uses the synthetic <tt>message_hash</tt> message specified in that
section instead.</t>
          <t>The client and server each have a tailored binder derived from the attestation
base, which they can use to bind their Evidence or Attestation Results. Both
peers are then also able to derive each-other's binder in order to appraise the
Attestation Results. The peer-specific binder mixes in the public part of that
peer's authentication key.</t>
          <artwork><![CDATA[
attest_base = HKDF-Expand-Label(0, "attestation base",
                    Transcript-Hash(ClientHello...ServerHello), Hash.length)

c_attest_binder = HKDF-Expand-Label(attest_base, "attestation",
                                    Hash(TLS_Client_Public_Key), Hash.length)
s_attest_binder = HKDF-Expand-Label(attest_base, "attestation",
                                    Hash(TLS_Server_Public_Key), Hash.length)
]]></artwork>
          <t><tt>TLS_Client_Public_Key</tt> and <tt>TLS_Server_Public_Key</tt> denote the DER-encoded
SubjectPublicKeyInfo of the peer's end-entity certificate. <tt>Hash</tt> is the
cipher suite hash function for the handshake (<xref section="7.1" sectionFormat="of" target="RFC9846"/>).</t>
          <t>We note that <tt>HKDF-Expand-Label</tt> is used to produce binding values rather than keying material. <tt>HKDF-Extract</tt> is not invoked, as there is no input key material to combine. The "0" parameter denotes a byte string of <tt>Hash.length</tt> zeroes.</t>
          <t><tt>HKDF-Expand-Label</tt> is defined in <xref section="7.1" sectionFormat="of" target="RFC9846"/>, which builds on the HKDF construction <xref target="RFC5869"/>; its use here does not modify the TLS protocol or the TLS key schedule.</t>
        </section>
        <section anchor="verification">
          <name>Verification</name>
          <t>Upon receipt of a <tt>remoteAttestation</tt> extension carrying Evidence or Attestation Results, the peer <bcp14>MUST</bcp14> compute the attestation binder using the handshake transcript and the public key in the peer's TLS end-entity certificate, as defined in <xref target="binder-def"/>.</t>
          <t>If the peer's Evidence or Attestation Result is rejected (missing or mismatched
binder, expired Results, failed appraisal, or malformed CMW), the receiver <bcp14>MUST</bcp14> send an <tt>attestation_failed</tt>
fatal alert and abort the handshake (see <xref target="tls-alerts"/>).</t>
          <t>For Evidence, depending on the architecture (see also <xref target="stack-tee-interface"/>), either the peer verifies
the binder or else it delegates this responsibility to an external Verifier.</t>
          <ul spacing="normal">
            <li>
              <t>In the former case, the peer <bcp14>MUST</bcp14> compare the computed binder value to the attestation binder
included in the signed Evidence. If the values do not match, the peer <bcp14>MUST</bcp14> treat the
attestation as invalid.</t>
            </li>
            <li>
              <t>In the latter case, the RP <bcp14>MUST</bcp14> convey the binder to the
Verifier. The Verifier <bcp14>MUST</bcp14> appraise that the conveyed binder is identical to the one that was signed
in the Evidence. If appraisal fails, the receiver <bcp14>MUST</bcp14> treat the
attestation as invalid.</t>
            </li>
          </ul>
          <t>For Attestation Results, the Relying Party <bcp14>MUST</bcp14> verify the Verifier's signature
and the Results against its local policy, including the Results' freshness and
the Verifier's identity. It <bcp14>MUST</bcp14> check that the TIK public key identified by the
signed Results matches the public key in the peer's TLS end-entity certificate.
The Relying Party <bcp14>MUST</bcp14> compare the computed binder with the binder included in
the Verifier-signed Attestation Results. A missing binder or a mismatch <bcp14>MUST</bcp14>
cause the attestation to be considered invalid. If any of these checks fails,
the Relying Party <bcp14>MUST</bcp14> abort the connection with a fatal <tt>attestation_failed</tt> alert
TLS CertificateVerify proves possession of the matching TIK in this handshake.</t>
          <t>The Relying Party <bcp14>MUST</bcp14> reject Attestation Results whose validity period has
expired, even when the binder and TIK match the current connection. This
requirement applies both to Results presented by the attester in the Passport
Model and to Results obtained from a Verifier in the Background Check Model,
during both the initial handshake and reattestation.</t>
          <t><cref>TODO: define a way to transport the binder to a remote Verifier. Possibly
as a (new) conceptual message (CM) within a collection. This would provide
the Verifier whatever information it cannot compute on its own, while
not forcing the TLS stack to parse the Evidence.  The same conveyance is needed
when the Evidence is encrypted to the Verifier and the RP cannot read it
(see {{attcreds-privacy}}).</cref></t>
        </section>
        <section anchor="security-properties">
          <name>Security Properties</name>
          <t>Binding attestation Evidence and Attestation Results to the TLS handshake
transcript hash provides the following security properties:</t>
          <ul spacing="normal">
            <li>
              <t>Replay protection: Evidence or Attestation Results generated for a previous
handshake cannot be reused in a later handshake.</t>
            </li>
            <li>
              <t>Relay protection: Evidence or Attestation Results obtained from one TLS
connection cannot be successfully presented in a different TLS connection,
even in the presence of a MiTM attacker.</t>
            </li>
          </ul>
          <t>In the Passport Model, the Verifier preserves the binder from the appraised
Evidence in its signed Attestation Results. The Relying Party checks this binder
against the current handshake as well as checking the signed TIK binding
against the TLS certificate. Because of this check, results from another connection would be rejected even
when that connection used the same TIK and the Results have not expired.</t>
          <t>In typical deployments where the TLS handshake executes outside the TEE, a
compromised host can execute the TLS handshake in the rich operating system and
use the TEE as a signing oracle by presenting the attestation binder value to
obtain valid-looking attestation Evidence.</t>
          <t>However an endorsed TEE (one that is operating as required by this protocol)
is required to verify the binder against the TLS public key associated
with the private key that it holds. This verification, in conjunction with the TEE's
endorsement being appraised, ensures that relay attacks are prevented.</t>
          <t>The attestation binder prevents replay of Evidence across TLS connections. The binding to the TLS identity key ensures that Evidence produced by one endpoint cannot be replayed in a TLS connection involving a different endpoint, as the verifier checks that the binder matches the public key presented in the current TLS connection. The additional binding to the transcript through ClientHello and ServerHello ensures that Evidence cannot be replayed across TLS connections, as ClientHello.random and ServerHello.random are independently generated by each peer for every TLS connection.</t>
        </section>
      </section>
      <section anchor="tik-binding">
        <name>Binding the TIK to the TEE</name>
        <t>This specification assumes that the TIK private key corresponding to the end-entity certificate used in the TLS handshake is generated inside a TEE and never leaves it. A platform could instead generate the TIK 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 TIK private key used by the TLS endpoint was generated, is stored, or is controlled by the TEE.</t>
        <t>To address this, the signed Evidence <bcp14>MUST</bcp14> include an Attestation Binder generated using the hash of the TIK public key (TIK_pub_hash) (see <xref target="crypto-ops"/>).</t>
        <t>For Evidence, the Relying Party <bcp14>MUST</bcp14> compute the hash of the TIK public key extracted from the TLS end-entity certificate using
the same hash algorithm and verify that it matches the TIK_pub_hash included in the Evidence. Successful
verification binds the attestation Evidence to the TLS identity used for authentication. This verification is performed by the Relying Party, as the Verifier may not be co-located with the Relying Party and may not have access to the TLS handshake or the TLS end-entity certificate, consistent with the RATS architecture.
Alternatively, in deployments where the Verifier is not co-located with the Relying Party, the Relying Party <bcp14>MAY</bcp14>
supply the Verifier with the hash of the TIK public key. The Verifier then compares this value with the TIK
public key hash included in the Evidence. If the values do not match, the attestation <bcp14>MUST</bcp14> be considered invalid.</t>
        <t>For Attestation Results, the Verifier <bcp14>MUST</bcp14> include the attested TIK public key or
its hash among the signed claims. The Relying Party <bcp14>MUST</bcp14> compare this claim
with the public key in the TLS end-entity certificate, hashing the latter with
the algorithm identified by the Results when needed. A mismatch <bcp14>MUST</bcp14> cause the
attestation to be considered invalid. The Relying Party <bcp14>MUST</bcp14> also verify the
connection-specific binder as specified in <xref target="crypto-ops"/>; matching the TIK alone
is insufficient.</t>
        <t>Without this binding, a non-Target-Environment TLS endpoint can obtain Evidence from a separate TLS endpoint that runs
inside a Target Environment and relay that Evidence to the relying party while executing the TLS handshake itself. If the
Evidence only attests that a TLS stack is running in a Target Environment, the relying party cannot determine whether the
attested TLS stack is the one that actually performed the handshake. Binding the Evidence to the TIK public key
prevents this relay attack.</t>
        <t>The proposed binding ensures that the relying party does not establish a TLS session with a TLS endpoint whose TIK is not generated and controlled by the TEE. It does not - in and of itself - ensure security of the TLS stack when the stack is
outside the TEE, and see <xref target="sec-guarantees"/> for a further discussion.</t>
      </section>
      <section anchor="stack-tee-interface">
        <name>The TLS Stack's Interface to the TEE</name>
        <t>When the TEE signs Evidence for either model, it binds the Evidence to the TLS Identity
public key and the TLS connection. TEE implementations differ, and some only allow a single
user-provided challenge value to be added to the Evidence with no associated checks.</t>
        <t>Architecturally we propose to add a thin shim between the traditional TLS stack and the TEE
as shown in <xref target="_figure-tls-tee-interface"/>. Implementations will choose whether to incorporate
the shim into the TEE (making for a "smarter" TEE and better protection
for the remote attestation protocol), or in case of a legacy TEE that cannot be modified,
the shim can be added to the TLS stack.</t>
        <figure anchor="_figure-tls-tee-interface">
          <name>TLS Stack Interface with the TEE</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="432" width="544" viewBox="0 0 544 432" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,96" fill="none" stroke="black"/>
                <path d="M 8,192 L 8,256" fill="none" stroke="black"/>
                <path d="M 8,320 L 8,416" fill="none" stroke="black"/>
                <path d="M 24,368 L 24,400" fill="none" stroke="black"/>
                <path d="M 64,96 L 64,184" fill="none" stroke="black"/>
                <path d="M 64,256 L 64,312" fill="none" stroke="black"/>
                <path d="M 168,368 L 168,400" fill="none" stroke="black"/>
                <path d="M 272,104 L 272,192" fill="none" stroke="black"/>
                <path d="M 272,264 L 272,320" fill="none" stroke="black"/>
                <path d="M 432,32 L 432,96" fill="none" stroke="black"/>
                <path d="M 432,192 L 432,256" fill="none" stroke="black"/>
                <path d="M 432,320 L 432,416" fill="none" stroke="black"/>
                <path d="M 504,32 L 504,192" fill="none" stroke="black"/>
                <path d="M 504,256 L 504,416" fill="none" stroke="black"/>
                <path d="M 8,32 L 432,32" fill="none" stroke="black"/>
                <path d="M 456,32 L 504,32" fill="none" stroke="black"/>
                <path d="M 8,96 L 432,96" fill="none" stroke="black"/>
                <path d="M 8,192 L 432,192" fill="none" stroke="black"/>
                <path d="M 8,256 L 432,256" fill="none" stroke="black"/>
                <path d="M 8,320 L 432,320" fill="none" stroke="black"/>
                <path d="M 24,368 L 168,368" fill="none" stroke="black"/>
                <path d="M 24,400 L 168,400" fill="none" stroke="black"/>
                <path d="M 8,416 L 432,416" fill="none" stroke="black"/>
                <path d="M 456,416 L 504,416" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="280,264 268,258.4 268,269.6" fill="black" transform="rotate(270,272,264)"/>
                <polygon class="arrowhead" points="280,104 268,98.4 268,109.6" fill="black" transform="rotate(270,272,104)"/>
                <polygon class="arrowhead" points="72,312 60,306.4 60,317.6" fill="black" transform="rotate(90,64,312)"/>
                <polygon class="arrowhead" points="72,184 60,178.4 60,189.6" fill="black" transform="rotate(90,64,184)"/>
                <g class="text">
                  <text x="192" y="68">TLS</text>
                  <text x="232" y="68">Stack</text>
                  <text x="116" y="132">Transcript</text>
                  <text x="180" y="132">hash</text>
                  <text x="296" y="132">CMW</text>
                  <text x="344" y="132">(Signed</text>
                  <text x="412" y="132">Evidence</text>
                  <text x="332" y="148">or</text>
                  <text x="368" y="148">bound</text>
                  <text x="408" y="148">AR)</text>
                  <text x="88" y="164">TIK</text>
                  <text x="132" y="164">public</text>
                  <text x="176" y="164">key</text>
                  <text x="212" y="164">hash</text>
                  <text x="492" y="212">Measured</text>
                  <text x="536" y="212">&amp;</text>
                  <text x="144" y="228">Early</text>
                  <text x="216" y="228">Attestation</text>
                  <text x="284" y="228">Shim</text>
                  <text x="500" y="228">Reported</text>
                  <text x="500" y="244">Components</text>
                  <text x="96" y="292">Nonce</text>
                  <text x="308" y="292">Signed</text>
                  <text x="372" y="292">Evidence</text>
                  <text x="216" y="356">TEE</text>
                  <text x="48" y="388">TIK</text>
                  <text x="96" y="388">Private</text>
                  <text x="144" y="388">Key</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
+----------------------------------------------------+  ------+
|                                                    |        |
|                     TLS Stack                      |        |
|                                                    |        |
+------+---------------------------------------------+        |
       |                         ^                            |
       | Transcript hash         | CMW (Signed Evidence       |
       |                         |      or bound AR)          |
       | TIK public key hash     |                            |
       v                         |                            |
+--------------------------------+-------------------+        |
|                                                    |   Measured &
|              Early Attestation Shim                |    Reported
|                                                    |   Components
+------+---------------------------------------------+        |
       |                         ^                            |
       | Nonce                   | Signed Evidence            |
       v                         |                            |
+--------------------------------+-------------------+        |
|                                                    |        |
|                        TEE                         |        |
| +-----------------+                                |        |
| | TIK Private Key |                                |        |
| +-----------------+                                |        |
+----------------------------------------------------+  ------+
]]></artwork>
          </artset>
        </figure>
        <t>The TEE returns signed Evidence to the shim in both models. In the Passport
Model, the shim also obtains Verifier-signed Attestation Results from that
Evidence before returning the CMW to the TLS stack. This exchange with the
Verifier is omitted from the diagram.</t>
        <t>We adopt a defense-in-depth approach:</t>
        <ul spacing="normal">
          <li>
            <t>Separate attesting applications within the same TEE <bcp14>SHOULD NOT</bcp14> be capable of impersonating each other via Evidence or Attestation Results. Therefore, if multiple applications are expected to use attestation credentials, Evidence generation APIs <bcp14>SHOULD</bcp14> reflect identifiers for the calling contexts into the generated Evidence. These identifiers can be reflected as separate claims in the Evidence, or can be measured as part of more generic claims. The Verifier <bcp14>SHOULD</bcp14> preserve the distinction between these calling contexts in its Attestation Results. A Relying Party <bcp14>SHOULD</bcp14> be capable of differentiating between the attesting applications based on their credentials.</t>
          </li>
          <li>
            <t>The RP <bcp14>SHOULD NOT</bcp14> base its trust decision only on the Attester's trust root. It <bcp14>SHOULD</bcp14> also ensure that the entire attested software stack is endorsed.</t>
          </li>
          <li>
            <t>The TEE itself, when possible, <bcp14>SHOULD</bcp14> generate the attestation secret by running the derivation operations defined in <xref target="crypto-ops"/>, and, if it holds the TIK, <bcp14>SHOULD</bcp14> validate the public key. The attestation secret can be generated by the TEE only if TLS is running inside the TEE.</t>
          </li>
          <li>
            <t>As shown in the diagram, the TEE itself as well as the TLS stack and the shim <bcp14>SHOULD</bcp14>
all be measured and reported as part of the platform's remote attestation.</t>
          </li>
        </ul>
      </section>
      <section anchor="reattestation">
        <name>Reattestation</name>
        <t>Attestation Evidence or Attestation Results may become stale over time. For long-lived TLS connections, a relying party may need fresh Evidence or Attestation Results to reassess the trustworthiness of the peer. In both models, each completed EKU exchange triggers reattestation bound to the updated transcript.</t>
        <t>Similarly to the initial handshake, Early Attestation implements
reattestation at the TLS layer, using Extended Key Update (EKU)
<xref target="I-D.ietf-tls-extended-key-update"/>. This document defines a new <tt>ExtendedKeyUpdate</tt> subtype,
<tt>attestation_update</tt>, which carries a <tt>cmw_payload</tt> as defined in
<xref target="remote-attestation-extension-section"/>. Reattestation is available
only when EKU is also negotiated and supports both the Background Check Model
and the Passport Model.</t>
        <t>Either peer <bcp14>MAY</bcp14> initiate EKU per its own policy. Each completed EKU
exchange triggers reattestation: a peer that attested in the handshake <bcp14>MUST</bcp14>
send <tt>attestation_update</tt>, using the scheme chosen in the handshake. A peer
that negotiated an <tt>evidence</tt> scheme <bcp14>MUST</bcp14> send fresh Evidence; a peer that
negotiated a <tt>result</tt> scheme <bcp14>MUST</bcp14> obtain and send fresh Verifier-signed
Attestation Results. In both cases, the credential <bcp14>MUST</bcp14> include the new binder
derived below. A peer that did not attest during the handshake <bcp14>MUST NOT</bcp14> send
<tt>attestation_update</tt>.</t>
        <t>Each peer waits for <tt>attestation_update</tt> only from a peer that
attested in the handshake. If both peers attested, the two
<tt>attestation_update</tt> messages are independent; no order between them is required.</t>
        <t>This document extends <tt>ExtendedKeyUpdateType</tt> and <tt>ExtendedKeyUpdate</tt>
(<xref section="4" sectionFormat="of" target="I-D.ietf-tls-extended-key-update"/>) as follows:</t>
        <artwork><![CDATA[
enum {
    attestation_update(TBD4),
    (255)
} ExtendedKeyUpdateType;

struct {
    ExtendedKeyUpdateType eku_type;
    select (eku_type) {
        case attestation_update: {
            opaque cmw_payload<1..2^24-1>;
        }
    };
} ExtendedKeyUpdate;
]]></artwork>
        <figure anchor="_figure-reattestation">
          <name>Reattestation after EKU (DTLS ACKs omitted)</name>
          <artwork><![CDATA[
Initiator                                        Responder

[EKU(key_update_request)]N      -------->
                                <--------  [EKU(key_update_response)]N
[EKU(key_update_finish)]N       -------->
                 (EKU complete, N+1 in use)
[EKU(attestation_update)]N+1*   -------->
                                <--------  [EKU(attestation_update)]N+1*

* Sent only by a peer that attested in the handshake,
  using the scheme negotiated for that peer.
]]></artwork>
        </figure>
        <t>The attester sends <tt>attestation_update</tt> after the EKU exchange
completes (Sections <xref target="I-D.ietf-tls-extended-key-update" section="5" sectionFormat="bare"/> and <xref target="I-D.ietf-tls-extended-key-update" section="6" sectionFormat="bare"/> of <xref target="I-D.ietf-tls-extended-key-update"/>), under the N+1 application
traffic secrets, not the old keys (<xref section="7" sectionFormat="of" target="I-D.ietf-tls-extended-key-update"/>).
After the EKU exchange completes, a relying party expects
<tt>attestation_update</tt> from each peer that attested in the handshake, whether
using an <tt>evidence</tt> or a <tt>result</tt> scheme. Such a relying party <bcp14>MUST</bcp14> set a bounded
timeout, per local policy, for receiving
<tt>attestation_update</tt>. On expiry, it <bcp14>MUST</bcp14> abort with a fatal
<tt>attestation_required</tt> alert. If appraisal fails, it aborts
with a fatal <tt>attestation_failed</tt> alert, as in <xref target="crypto-ops"/>. No
message is sent on success.</t>
        <t>A peer that receives <tt>attestation_update</tt> from a peer that did not
attest in the handshake, or before the EKU
exchange completes, <bcp14>MUST</bcp14> abort with an <tt>unexpected_message</tt> alert.</t>
        <t>Reattestation does not block application data while the previous successful
appraisal remains valid. Until the relying party completes appraisal of
<tt>attestation_update</tt> or aborts with an alert, it continues to rely on that
previous outcome. It <bcp14>MUST NOT</bcp14> extend the validity of the previous appraisal
because reattestation is pending.</t>
        <t>In the Passport Model, an attester waiting for a slow Verifier <bcp14>MUST</bcp14> defer
<tt>attestation_update</tt> until fresh Results for the current EKU generation are
available. It <bcp14>MUST</bcp14> apply the bounded timeout and failure handling in
<xref target="verifier-availability"/>. It <bcp14>MUST NOT</bcp14> send an empty update, reuse earlier
Results, or fall back to an <tt>evidence</tt> scheme. Waiting for the Verifier does
not suspend the relying party's timeout or refresh its previous appraisal.
If the connection closes while the attester is waiting, the attester
<bcp14>MUST</bcp14> discard any Results subsequently returned for that connection.</t>
        <t>While reattestation is in progress, a peer <bcp14>MUST NOT</bcp14> initiate another
EKU exchange or post-handshake client authentication
(<xref section="4.7.2" sectionFormat="of" target="RFC9846"/>). Reattestation completes at the
attester when it sends <tt>attestation_update</tt> (TLS) or receives the
ACK for it (DTLS), and at the relying party when appraisal
completes. If both peers are attesters, reattestation completes
after both independent exchanges have completed. A relying party
that receives <tt>key_update_request</tt> or <tt>CertificateRequest</tt> before
its appraisal completes defers its response until appraisal
completes (Sections <xref target="I-D.ietf-tls-extended-key-update" section="5" sectionFormat="bare"/> and <xref target="I-D.ietf-tls-extended-key-update" section="6" sectionFormat="bare"/> of <xref target="I-D.ietf-tls-extended-key-update"/>, <xref section="4.7.2" sectionFormat="of" target="RFC9846"/>).
An attester that receives <tt>key_update_request</tt> or
<tt>CertificateRequest</tt> before it has sent <tt>attestation_update</tt> <bcp14>MUST</bcp14>
abort with an <tt>unexpected_message</tt> alert.</t>
        <t>For both Evidence and Attestation Results, the binder <bcp14>MUST</bcp14> be derived as in
<xref target="crypto-ops"/>, with
<tt>Transcript-Hash(ClientHello...ServerHello)</tt> replaced by
<tt>transcript_hash_N+1</tt> (<xref section="7" sectionFormat="of" target="I-D.ietf-tls-extended-key-update"/>):</t>
        <artwork><![CDATA[
attest_base_N+1 = HKDF-Expand-Label(0, "attestation base",
                      transcript_hash_N+1, Hash.length)

c_attest_binder_N+1 = HKDF-Expand-Label(attest_base_N+1, "attestation",
                      Hash(TLS_Client_Public_Key), Hash.length)
s_attest_binder_N+1 = HKDF-Expand-Label(attest_base_N+1, "attestation",
                      Hash(TLS_Server_Public_Key), Hash.length)
]]></artwork>
        <t><tt>transcript_hash_N+1</tt> covers the initial handshake, all prior EKU exchanges, and the key shares of the current exchange. Each reattestation therefore uses a fresh binder.</t>
        <t>After the EKU exchange completes, the attester <bcp14>MUST</bcp14> generate fresh Evidence
containing the new binder. In the Passport Model, it <bcp14>MUST</bcp14> submit this Evidence
to the Verifier and obtain fresh Attestation Results that include the same
binder and the attested TIK. Results from the initial handshake or an earlier
EKU generation <bcp14>MUST NOT</bcp14> be used for this reattestation.</t>
        <t>The Relying Party <bcp14>MUST</bcp14> apply the verification and appraisal checks in
<xref target="crypto-ops"/> to the received Evidence or Attestation Results, using the binder
derived from <tt>transcript_hash_N+1</tt> and the peer's TIK from the TLS end-entity
certificate. A missing binder or a mismatch <bcp14>MUST</bcp14> cause rejection with a fatal
<tt>attestation_failed</tt> alert. Successful appraisal of the fresh Evidence or Results
replaces the previous appraisal outcome; completing EKU alone does not extend
the validity of an earlier appraisal.</t>
      </section>
      <section anchor="session-resumption">
        <name>Session Resumption</name>
        <t>This specification targets long-lived TLS connections that use post-handshake
mechanisms, in particular Extended Key Update and reattestation
(<xref target="reattestation"/>). Session resumption (including early data) is not
supported with this protocol: <xref target="I-D.ietf-tls-extended-key-update"/> requires endpoints that enable EKU to
disable resumption using PSKs established via <tt>NewSessionTicket</tt>, and
reattestation depends on EKU.</t>
        <t>Endpoints that negotiate <tt>remoteAttestation</tt> as defined in this document
<bcp14>MUST NOT</bcp14> offer or accept session resumption for the connection. Fresh
attestation on a new connection requires a full handshake as in
<xref target="_figure-overview"/>. Establishing an initial connection with a pre-shared
key alone, without that certificate-based attestation exchange, is not
supported.</t>
      </section>
    </section>
    <section anchor="negotiating-protocol">
      <name>Negotiating This Protocol</name>
      <t>This section defines the TLS extension used to negotiate the use of attestation in the TLS handshake.
Both remote attestation topologies are supported: the Background Check Model, where Evidence is exchanged and appraised during the handshake, and the Passport Model, where the attester obtains connection-bound Attestation Results from a Verifier during the handshake and presents them to its peer.
The extension defined in <xref target="_figure-remote-attestation-extension"/> allows peers to indicate their support for attestation and negotiate which attestation format and, if required, which Verifier to use.</t>
      <t>The <tt>remoteAttestation</tt> extension structure contains indicators for both remote attestation topologies, and allows both peers to act as attesters independently during the handshake.</t>
      <t>The client selects the remote attestation schemes it supports for both server- or client-as-attester.
The client <bcp14>MUST</bcp14> populate at least one AttestationScheme structure.</t>
      <t>The server replies with its preferred schemes for both server- and client-as-attester.
The selected server-as-attester scheme is sent in the EncryptedExtensions message.
While for Background Check the server scheme can be extracted from the CMW sent by the server as part of its Certificate message, for Passport model the Verifier which issued the Attestation Results must be confirmed by the server explicitly.
In order to preserve symmetry and aid the client in handling the server's attestation token, the server explicitly sends its scheme as part of EncryptedExtensions.
The selected client-as-attester scheme is sent in the CertificateRequest message.
The server <bcp14>MUST</bcp14> omit the <tt>remoteAttestation</tt> extension from EncryptedExtensions and CertificateRequest messages if it does not support the corresponding proposed schemes, or if it does not want the corresponding peer to engage in remote attestation.</t>
      <t>The <tt>remoteAttestation</tt> extension used to negotiate support for the protocol described in this document is defined in <xref target="_figure-remote-attestation-extension"/>.</t>
      <t>Values for media_type are defined in <xref target="iana-media-types"/>.
Values for content_format are defined in <xref target="iana-content-formats"/>.
The verifier_identity field can be used to carry an identifier for a Verifier instance.
The identifier needs to be stable across the lifetime of the connection (potentially across Verifier credential rotation), for example a subjectAltName.</t>
      <section anchor="negotiation-integrity">
        <name>Negotiation Integrity</name>
        <t>The <tt>remoteAttestation</tt> extension is negotiated by both peers. Finished is computed and verified by both peers over the complete handshake transcript. Tampering with the extension changes that transcript, causing Finished to fail. Negotiation downgrade is therefore already detected by TLS 1.3's existing transcript integrity.</t>
      </section>
    </section>
    <section anchor="behavior">
      <name>TLS Client and Server Handshake Behavior</name>
      <t>The high-level message exchange in <xref target="_figure-overview"/> shows the <tt>remoteAttestation</tt> extension added to the ClientHello, the EncryptedExtensions, the CertificateRequest, and the Certificate messages.</t>
      <figure anchor="_figure-overview">
        <name>Early Attestation Handshake Overview</name>
        <artwork><![CDATA[
       Client                                           Server

Key  ^ ClientHello
Exch | + key_share*
     | + signature_algorithms*
     | + psk_key_exchange_modes*
     | + pre_shared_key*
     v + remoteAttestation*
     -------->
                                                  ServerHello ^ Key
                                                 + key_share* | Exch
                                            + pre_shared_key* v
                                        {EncryptedExtensions} ^ Server
                                         + remoteAttestation* | Params
                                        {CertificateRequest*} |
                                         + remoteAttestation* v
                                               {Certificate*} ^
                                        + remoteAttestation*  |
                                         {CertificateVerify*} | Auth
                                                   {Finished} v
                               <--------  [Application Data*]
     ^ {Certificate*}
     | + remoteAttestation*
Auth | {CertificateVerify*}
     v {Finished}              -------->
       [Application Data]      <------->  [Application Data]
]]></artwork>
      </figure>
      <section anchor="client-hello">
        <name>Client Hello</name>
        <t>The <tt>remoteAttestation</tt> extension defined in <xref target="negotiating-protocol"/> enables the two peers to use either the Background Check Model or the Passport Model for remote attestation.</t>
        <t>To indicate support for either Evidence (for Background Check) or Attestation Results (for Passport), the client includes schemes with either <tt>evidence</tt> or <tt>result</tt> as the AttestationMechanism in the ClientHello extension.
For Evidence, the scheme indicates the expected Evidence type.
For Attestation Results, the scheme indicates the identity of the Verifier from which results can be relayed.
In both cases, whether the scheme is sent as <tt>server_attester_schemes</tt> or <tt>client_attester_schemes</tt> indicates which peer is expected to produce the attestation credential.</t>
        <t>The <tt>remoteAttestation</tt> extension carries a list of supported schemes, sorted by preference.
If the client only supports one attestation credential type, it is a list containing a single element.</t>
        <t>The client <bcp14>MUST</bcp14> omit schemes from the <tt>client_attester_schemes</tt> field in the extension if it cannot respond to a request from the server to present an attestation credential of the proposed type, or if the client is not configured to use the proposed scheme with the given server.
If the client chooses to include <tt>client_attester_schemes</tt>, it <bcp14>MUST</bcp14> be capable of authenticating itself with a certificate.</t>
        <t>For the Background Check Model, the client <bcp14>MUST</bcp14> omit Evidence types from the <tt>server_attester_schemes</tt> field in the extension if it is not able to pass the Evidence type to a Verifier.</t>
      </section>
      <section anchor="server-hello">
        <name>Server Hello</name>
        <t>If the server receives a ClientHello that contains the <tt>remoteAttestation</tt> extension, then three outcomes are possible:</t>
        <ul spacing="normal">
          <li>
            <t>The server does not support the extension defined in this document.
In this case, the server returns the EncryptedExtensions without the <tt>remoteAttestation</tt> extension.</t>
          </li>
          <li>
            <t>The server supports the extension defined in this document, but it does not have any remote attestation scheme in common with the client.
Then, the server terminates the session with a fatal alert of type "unsupported_attestation_schemes".</t>
          </li>
          <li>
            <t>The server supports the extension defined in this document and has at least one remote attestation scheme in common with the client.
In this case, the processing rules described below are followed.</t>
          </li>
        </ul>
        <t>The <tt>remoteAttestation</tt> extension in the ClientHello indicates the attestation schemes for both peers to act as relying parties.
For schemes conveyed under <tt>server_attester_schemes</tt> the server is expected to act as an attester, while the client is the relying party.
For schemes conveyed under <tt>client_attester_schemes</tt> the server is expected to act as a relying party, while the client is the attester.</t>
        <t>If the server chooses to attest itself, it <bcp14>MUST</bcp14> select one of the schemes provided by the client in <tt>server_attester_schemes</tt>.
The server <bcp14>MUST</bcp14> then also include the <tt>remoteAttestation</tt> extension in the EncryptedExtensions message, and <bcp14>MUST</bcp14> include the chosen attestation scheme in the <tt>chosen_server_scheme</tt>.
The server <bcp14>MUST</bcp14> populate the Certificate message extension according to its chosen scheme.
If the server has chosen an <tt>evidence</tt> scheme, the signed Evidence contained in the CMW payload <bcp14>MUST</bcp14> include an Attestation Binder as a nonce value (see <xref target="crypto-ops"/>) in the TEE's signature.
If the server has chosen a <tt>result</tt> scheme, the Verifier-signed Attestation Results contained in the CMW payload <bcp14>MUST</bcp14> include the server's attestation binder from the appraised Evidence (see <xref target="crypto-ops"/>).</t>
        <t>Both schemes selected for <tt>chosen_server_scheme</tt> and <tt>chosen_client_scheme</tt> <bcp14>MUST</bcp14> be selected from the schemes provided in the <tt>remoteAttestation</tt> extension sent in the ClientHello.</t>
        <t>If both <tt>server_attester_schemes</tt> and <tt>client_attester_schemes</tt> are empty, or if the server does not want to proceed with remote attestation, the server <bcp14>MUST</bcp14> terminate the session as described above, with a fatal alert of type "unsupported_attestation_schemes".</t>
      </section>
      <section anchor="certificate-request">
        <name>Certificate Request</name>
        <t>If the server chooses to request that the client attests itself, it <bcp14>MUST</bcp14> select one of the schemes provided by the client in <tt>client_attester_schemes</tt>.
The server <bcp14>MUST</bcp14> then also send a CertificateRequest message that includes the <tt>remoteAttestation</tt> extension (see <xref target="_figure-remote-attestation-extension"/>), and <bcp14>MUST</bcp14> include the chosen attestation scheme in <tt>chosen_client_scheme</tt>.</t>
      </section>
      <section anchor="following-server-hello">
        <name>Following Server Hello</name>
        <t>Upon receipt of the EncryptedExtensions and potentially of the CertificateRequest messages, the client can verify that the server's choices are valid.
The client <bcp14>MUST</bcp14> check that at least one remote attestation scheme was returned, and that the returned schemes were among the corresponding proposed lists.
If the server has rejected that one peer act as an attester by not selecting a corresponding scheme, and the client's policy demands that the remote attestation take place, the client <bcp14>MUST</bcp14> terminate the session with a fatal alert of type "attestation_required".</t>
        <t>If the server has selected a valid <tt>chosen_client_scheme</tt>, the client <bcp14>MUST</bcp14> populate the Certificate message extension according to that scheme.
If the server has chosen an <tt>evidence</tt> scheme for the client, the signed Evidence contained in the CMW payload <bcp14>MUST</bcp14> include an Attestation Binder as a nonce value (see <xref target="crypto-ops"/>) in the TEE's signature.
If the server has chosen a <tt>result</tt> scheme for the client, the Verifier-signed Attestation Results contained in the CMW payload <bcp14>MUST</bcp14> include the client's attestation binder from the appraised Evidence (see <xref target="crypto-ops"/>).</t>
      </section>
      <section anchor="verifier-availability">
        <name>Verifier Availability</name>
        <t>In the Passport Model, the attester cannot send its Certificate message until
it has obtained connection-bound Attestation Results from the Verifier. The
attester <bcp14>MUST</bcp14> set a bounded timeout, according to local policy, for this
exchange. Retries <bcp14>MUST NOT</bcp14> extend this timeout or any overall handshake
timeout. If the Verifier is unreachable or the timeout expires before Results
are obtained, the attester <bcp14>MUST</bcp14> abort the connection with a fatal
<tt>internal_error</tt> alert (<xref section="6.2" sectionFormat="of" target="RFC9846"/>). It <bcp14>MUST NOT</bcp14> continue the
handshake without the negotiated attestation credential, substitute Results
from another handshake, or switch to a different attestation scheme.</t>
        <t>The same timeout and failure handling apply when the attester obtains Results
for reattestation, and when a Relying Party contacts a Verifier in the
Background Check Model. A Verifier availability failure is distinct from
rejection of Evidence or Results, which is reported with <tt>attestation_failed</tt>,
and from failure to receive a required <tt>attestation_update</tt>, which is reported
with <tt>attestation_required</tt> (see <xref target="reattestation"/>).</t>
      </section>
    </section>
    <section anchor="sec-cons">
      <name>Security Considerations</name>
      <section anchor="verifier-dos">
        <name>Denial of Service Through Verifier Requests</name>
        <t>In the Passport Model, an unauthenticated client can cause a server acting as
an attester to generate Evidence and contact its Verifier by initiating a
handshake that negotiates a <tt>result</tt> scheme. The server must obtain Results
before sending its Certificate message, so the client need not authenticate
or complete the handshake to trigger this work. Connection-bound Results
cannot be cached for use in other handshakes. Repeated connection attempts
can therefore exhaust resources at both the server and the Verifier, or incur
costs for the server. Requesting client certificate authentication does not
prevent this attack because it occurs later in the handshake.</t>
        <t>Servers and Verifiers <bcp14>SHOULD</bcp14> rate-limit attestation requests and bound the
number of concurrent requests and the resources retained for pending
requests. Deployments <bcp14>SHOULD</bcp14> apply admission controls before starting
expensive attestation work. The timeouts in <xref target="verifier-availability"/> bound
individual waits but do not by themselves prevent request flooding.
Deployments also need to account for repeated EKU exchanges triggering
Verifier work on established connections, including connections without
client authentication, and for Background Check requests induced by
peer-supplied Evidence.</t>
      </section>
      <section anchor="relay-resistance">
        <name>Relay Resistance</name>
        <t>A relay attack succeeds when Evidence produced in one TLS connection can be
presented by a different party in another TLS connection. Preventing it
requires that Evidence be bound to a value that is unique to the TLS connection
in which it is conveyed, so that Evidence generated in any one connection
cannot be replayed in any other.</t>
        <t>This mechanism meets that requirement by binding Evidence to the handshake
transcript checkpoint <tt>ClientHello...ServerHello</tt> (see <xref target="crypto-ops"/>), a value
that is unique to each connection. The binding does not rely on the application
traffic secrets, nor on any value exported from the completed handshake such as
the Exported Keying Material (EKM; <xref section="7.5" sectionFormat="of" target="RFC9846"/>). EKM is an equally
valid per-connection anchor; the remainder of this section shows that binding to
the transcript checkpoint and binding to EKM provide equivalent relay
resistance.</t>
        <t>The two approaches differ only in which connection-unique value the Evidence is
anchored to:</t>
        <ul spacing="normal">
          <li>
            <t>A post-handshake binding anchors Evidence to EKM, a value that becomes
available only after the handshake completes.</t>
          </li>
          <li>
            <t>The mechanism in this document anchors Evidence to
<tt>Transcript-Hash(ClientHello...ServerHello)</tt>.</t>
          </li>
        </ul>
        <t>Both anchors are unique per connection. The transcript checkpoint commits to
both peers' fresh ephemeral key-exchange contributions, that is, the client's
and server's <tt>key_share</tt> entries in the transcript (whether (EC)DHE public keys
or a PQC KEM public key and ciphertext), as well as <tt>ClientHello.random</tt> and
<tt>ServerHello.random</tt>.  After a HelloRetryRequest, these are the values from the
updated ClientHello and the ServerHello, as included in <tt>Transcript-Hash</tt>
(<xref section="4.1" sectionFormat="of" target="RFC9846"/>).</t>
        <t>Because each peer independently contributes fresh material, neither peer alone
controls the transcript, and the resulting binder is unique to the specific
connection (two-sided uniqueness).</t>
        <t>The two constructions therefore offer equal relay resistance.</t>
        <t>The relay resistance of this mechanism does not depend on the transcript being secret.
It relies instead on the attestation binder, which is unique to the connection and
bound to the attester's TLS identity key, being carried in Evidence signed by the
TEE (see <xref target="crypto-ops"/> and <xref target="tik-binding"/>); the confidentiality of ClientHello
and ServerHello is not required.</t>
        <t>In the Passport Model, the Verifier appraises the TEE-signed Evidence and
includes the same binder and attested TIK in its signed Attestation Results.
The Relying Party verifies both against the current handshake. This preserves
the connection binding through the Verifier and prevents replay or relay of
Results across connections, including connections using the same TIK.</t>
        <t>Although <tt>ClientHello</tt> and <tt>ServerHello</tt> are visible to an on-path observer, an
eavesdropper cannot reuse them to complete a new TLS connection, as it does not know
the ephemeral private keys behind the key shares they carry. Nor can the client or
server reproduce an earlier transcript: each contributes fresh key-exchange material
to every handshake, so every connection yields a different transcript, and therefore a
different binder.</t>
        <t>The rationale for anchoring to the transcript rather than to an exporter value is
given in <xref target="transcript-vs-exporter"/>.</t>
        <section anchor="worked-example-relay">
          <name>Worked Example: Relay Attempt Under Handshake-Secret Compromise</name>
          <t>The server holds a TLS authentication key (the TIK), certified by a CA. The client truststore has the CA and verifies the end-entity certificate chains to it. The client checks that the public key in the end-entity certificate matches the TIK and relies on CertificateVerify for proof of possession. Each handshake also uses a fresh ephemeral (EC)DHE key share, carried in ClientHello/ServerHello, from which the connection secrets are derived.</t>
          <t><cref>This example is deliberately generic; it will be updated in future revisions based on the outcome of confidential-computing-specific discussions.</cref></t>
          <t>Suppose an attacker obtains a connection's handshake secret (or the ephemeral
private key from which it is derived). The attacker can then derive that
connection's handshake traffic secrets and decrypt the handshake, including the
Evidence carried in the encrypted <tt>Certificate</tt> message. This compromises the
confidentiality of that single connection. It does not let the attacker replay
the Evidence in a different TLS session: the Evidence is bound to this
connection's <tt>ClientHello...ServerHello</tt> transcript and to the TIK, and any other
TLS connection uses fresh key shares, yielding a different transcript and a different
binder. The exposed Evidence therefore does not match any other connection and is
rejected. Consistent with TLS 1.3 forward secrecy, the impact is confined to the
compromised session. <xref target="_figure-relay-attempt"/> illustrates this case.</t>
          <figure anchor="_figure-relay-attempt">
            <name>Even having read the Evidence from connection 1, the attacker cannot reproduce connection 1's transcript on connection 2: the client contributes fresh randomness and key share, so the binder does not match and the handshake is aborted</name>
            <artwork><![CDATA[
Legend:  CR = ClientHello.random    SR = ServerHello.random
         cks = client key_share     sks = server key_share
         T = Transcript-Hash(ClientHello...ServerHello)
         E = Evidence signed by the Attesting Environment, bound to T

   Client                     Server                        Attacker
      |                              |                            |
      |== Connection 1 : Client <-> Server =======================|
      |  CH_1 { CR_1, cks_1 } ------>|                            |
      |<----- SH_1 { SR_1, sks_1 }   |                            |
      |        T1 = Hash(CH_1..SH_1) |                            |
      |<----- {Certificate: E}       |                            |
      |        E bound to T1         |                            |
      |                              |   attacker has obtained    |
      |                              |   connection 1's handshake |
      |                              |   secret: decrypts conn 1  |
      |                              |   and reads Evidence E     |
      |                              |                            |
      |== Connection 2 : Client <-> Attacker (posing as server) ==|
      |  CH_2 { CR_2, cks_2 } ----------------------------------->|
      |     CR_2 != CR_1 , cks_2 != cks_1                         |
      |     (client contributes fresh values; attacker            |
      |      cannot control them)                                 |
      |                                                           |
      |<---------------------- SH_2 { SR_1, sks_1 }               |
      |     attacker replays connection 1's server values         |
      |     to try to reproduce T1                                |
      |<-------------------- {Certificate: replayed E (bound T1)} |
      |                                                           |
      |  T2 = Hash(CH_2..SH_2)                                    |
      |  CH_2 != CH_1  =>  T2 != T1                               |
      |  client computes binder over T2 ;                         |
      |  E is bound to T1  =>  binder mismatch                    |
      |                                                           |
      |<-------------------- >> attestation_failed <<             |
      |                        handshake aborted                  |
      |                                                           |
]]></artwork>
          </figure>
        </section>
      </section>
      <section anchor="key-substitution-resistance">
        <name>Key Substitution Resistance</name>
        <t>A peer may hold an authentication private key that was generated and
protected within an Attesting Environment, but has since been compromised
via a side-channel attack and imported into a second Attesting Environment.
Channel binding as defined in <xref target="relay-resistance"/> does not prevent this,
since it is not relay or replay of Evidence across connections, but
Evidence from an Attesting Environment vouching for a key it did not generate.</t>
        <t>Preventing this requires Evidence to assert that the TIK was generated within
the Attesting Environment, has never existed outside it, and is non-exportable,
not merely that it is currently protected. <xref target="I-D.reddy-rats-key-binding"/>
defines this key-provenance property via the <tt>local</tt> and <tt>never-extractable</tt>
key-attributes conveyed alongside the Subject Public Key, and it applies
equally to intra-handshake and post-handshake attestation. These attributes
are therefore only as trustworthy as that environment itself, as established
by appraisal against applicable reference values and endorsements and by the
trust anchor for the Attestation Key (<xref target="RFC9334"/>).</t>
        <t>A summary of the security properties this mechanism provides is given in
<xref target="security-properties-summary"/>.</t>
      </section>
      <section anchor="pcs">
        <name>Evidence Confidentiality After Compromise</name>
        <t>The relay-resistance analysis in <xref target="relay-resistance"/> shows that Evidence or Attestation Results exposed by a handshake-secret compromise cannot be relayed on a different connection. It says nothing about Evidence or Results sent later on that same connection.</t>
        <t>Suppose an attacker obtains a connection's handshake secret, as in <xref target="worked-example-relay"/>, and new Evidence or Attestation Results are subsequently carried on that same connection (see <xref target="reattestation"/>). If they are protected under a compromised handshake secret, the attacker decrypts them too.</t>
        <t>Preventing this requires Post-Compromise Security (PCS): new Evidence or Attestation Results are sent only after the connection has moved to fresh traffic secrets, independent of the compromised one. <xref target="I-D.ietf-tls-extended-key-update"/> provides this via Extended Key Update (EKU). Reattestation (<xref target="reattestation"/>) sends new Evidence or Results only after EKU completes.</t>
      </section>
      <section anchor="reattestation-freshness">
        <name>Reattestation Freshness</name>
        <t>Each reattestation is bound to <tt>transcript_hash_N+1</tt> of the EKU exchange that precedes it (see <xref target="reattestation"/>). Evidence or Attestation Results generated for the initial handshake or an earlier EKU generation do not match the current binder and <bcp14>MUST</bcp14> be rejected. In the Passport Model, the attester <bcp14>MUST</bcp14> obtain fresh Verifier-signed Results derived from fresh Evidence containing the new binder. The Relying Party <bcp14>MUST</bcp14> verify this binder and appraise the new Results, including their freshness, under its local policy. Completing EKU alone does not renew the validity of earlier Results.</t>
      </section>
      <section anchor="sec-guarantees">
        <name>Security Guarantees</name>
        <t>We note that as a pure cryptographic protocol, attested TLS as-is only guarantees that the Identity Key is known by the TEE. 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 is generated by the TEE.</t>
          </li>
          <li>
            <t>The Identity Key is never exported or leaked outside the TEE.</t>
          </li>
          <li>
            <t>The TLS protocol, whether implemented by the TEE or outside the TEE, is implemented correctly and (for example) does not leak any session key material.</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="freshness-guarantees">
        <name>Freshness Guarantees</name>
        <t>Evidence appraised at handshake time reflects the Target Environment's state at that moment. Cases that can cause that appraisal to go stale without the Relying Party being aware include:</t>
        <ul spacing="normal">
          <li>
            <t>The connection remains open and continues to carry data after the Target Environment's state has changed and no reattestation has occurred.</t>
          </li>
          <li>
            <t>Some Claims describe configuration state that can change at runtime without a reboot. If the Attesting Environment does not re-collect such a Claim before each attestation, it keeps asserting a stale value even after reattestation.</t>
          </li>
        </ul>
        <t>The Relying Party cannot observe the Target Environment directly and so has no way to detect that its state has changed. A Relying Party that needs assurance about current state applies local policy for how long an appraisal remains acceptable. To avoid interruption, it initiates reattestation using the mechanism in <xref target="reattestation"/> early enough for the Verifier exchange and appraisal to complete before the current appraisal ceases to be valid. Session resumption is not used to carry forward an appraisal to a new connection (see <xref target="session-resumption"/>).</t>
      </section>
    </section>
    <section anchor="priv-cons">
      <name>Privacy Considerations</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 mode, 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 with whom the secure channel establishment is attempted (i.e., the RP).
The privacy implications are similar to online 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>Client-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="I-D.ietf-rats-eat"/>),</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., <xref target="FIDO-REQS"/>).</t>
        </li>
      </ul>
      <t>The latter two can hide attestation-specific identifiers from the RP, but do
not by themselves prevent correlation through the TLS identity key (see
<xref target="tik-linkability"/>).</t>
      <t>In the Passport Model, the attester contacts the Verifier during
each TLS handshake and each reattestation to obtain connection-bound
Attestation Results. The Verifier therefore learns when handshakes and
reattestations occur and how frequently the attester attempts them, although
it need not learn the Relying Party's identity. This timing information can
reveal activity patterns and can be correlated with other observations even
when the disclosed Claims are minimized. This differs from OCSP "stapling", where a
previously obtained response can be presented without contacting the responder
during each handshake.</t>
      <section anchor="tik-linkability">
        <name>Linkability Through the TLS Identity Key</name>
        <t>A stable TIK provides a correlation handle across connections. Relying Parties
that observe the same public key in TLS end-entity certificates, and Verifiers
that observe that key or its hash in Evidence, can link those connections.
The TIK binding in Attestation Results also permits correlation by recipients
of those Results. Fresh binders prevent replay but do not hide the TIK or
make repeated use of it unlinkable. Selective disclosure of other Claims,
DAA, or group attestation identities do not remove this correlation handle.</t>
        <t>Where authentication policy permits, deployments concerned about linkability
can use different TIKs and corresponding certificates for different Relying
Parties or rotate them over time. Such deployments also need to consider
other stable identifiers in certificates, Evidence, and Attestation Results;
rotating the TIK alone does not guarantee unlinkability.</t>
      </section>
      <section anchor="server-attester-privacy">
        <name>Server Attestation to Unauthenticated Clients</name>
        <t>Due to the inherent asymmetry of the TLS handshake, when the Attester acts as the
TLS server it produces attestation before the client has authenticated. As a
result, any unauthenticated client that completes the handshake can read
the Claims carried in the server's Evidence, without its own trustworthiness first
being established by the server. The following considerations bound the impact of
this exposure and offer mitigations.</t>
        <ul spacing="normal">
          <li>
            <t>Passport model with selective disclosure: In the Passport topology
(<xref section="5.1" sectionFormat="of" target="RFC9334"/>), the server presents a Verifier-signed
Attestation Result instead of the Evidence, so the Evidence never reaches the
client. As the signer, the Verifier can issue this result in
selectively-disclosable form (SD-CWT <xref target="I-D.ietf-spice-sd-cwt"/> or SD-JWT <xref target="I-D.ietf-oauth-selective-disclosure-jwt"/>), letting
the server reveal only a subset of Claims.
The disclosed Claims <bcp14>MUST</bcp14> include the attestation binder and the attested TIK
public key or its hash, so that the client can perform the checks in <xref target="crypto-ops"/>.</t>
          </li>
        </ul>
        <t>See <xref target="I-D.ounsworth-rats-privacy-framework"/> for a broader treatment of privacy in the RATS context.</t>
      </section>
      <section anchor="attcreds-privacy">
        <name>No Expectation of Privacy for Attestation Credentials</name>
        <t>This document does not provide confidentiality or privacy for attestation
credentials (i.e., Evidence and Attestation Results) with respect to the peer
or to the network.  Specifically:</t>
        <ul spacing="normal">
          <li>
            <t>Attestation credentials are carried in the handshake and are available to the
peer, whether or not that peer has authenticated.</t>
          </li>
          <li>
            <t>Attestation credentials are encrypted under the handshake traffic keys, so a
passive on-path attacker cannot read them, unless the handshake secret is
compromised (<xref target="pcs"/>).  An active on-path attacker, however, can obtain the
server's credential, because a server attests before the client
authenticates.  It can either complete the handshake as a client, or
interpose itself in the key exchange, in which case the handshake fails, but
only after the credential has been exposed.</t>
          </li>
          <li>
            <t>The same holds for reattestation (<xref target="reattestation"/>): the client need not
authenticate to read the server's new attestation credential.  An active
attacker holding the current traffic keys can also read it by substituting
the EKU key shares.  The relying party detects this through the binder
mismatch, but only after the credential has been exposed.</t>
          </li>
        </ul>
        <t>Authenticating the peer does not by itself solve the problem: an authenticated
peer can still disclose the Claims it receives.
Deployments should not assume Claims remain confidential, and should send only
Claims that are acceptable to disclose to any party able to complete (or
observe) the handshake.</t>
        <t>Attesters that need to convey privacy-sensitive Claims should limit what the
peer acting as RP learns.  For Evidence, the extreme case is to hide all the
Claims: the Evidence is encrypted to the Verifier, independently of the TLS
handshake keys, using a public key that the Attester learns out of band
(<xref section="4.2" sectionFormat="of" target="I-D.ounsworth-rats-privacy-framework"/>).  If the RP cannot read the Evidence, it
cannot check the binder or the TIK hash itself: it conveys them to the
Verifier, and checks that the signed Attestation Results carry the matching
values.  For Attestation Results, the Verifier can reveal only the Claims that
the RP's policy needs, using minimization, selective disclosure, or
zero-knowledge proofs (Sections <xref target="I-D.ounsworth-rats-privacy-framework" section="4.3" sectionFormat="bare"/>, <xref target="I-D.ounsworth-rats-privacy-framework" section="4.4" sectionFormat="bare"/> and <xref target="I-D.ounsworth-rats-privacy-framework" section="4.5" sectionFormat="bare"/> of <xref target="I-D.ounsworth-rats-privacy-framework"/>).  In
both cases the protection can be applied in either direction.  Encrypting to a
key learned out of band requires work to define how such a key is published and
bound to the intended recipient, which is out of scope for this document.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="tls-extensions">
        <name>TLS Extensions</name>
        <t>IANA is asked to allocate a new TLS extension, <tt>remoteAttestation</tt>, from the
"TLS ExtensionType Values" subregistry of the "Transport Layer Security (TLS)
Extensions" registry <xref target="TLS-Ext-Registry"/>.  This extension is used in the
ClientHello, EncryptedExtensions, CertificateRequest, and Certificate messages.
The values carried in this extension are defined in
<xref target="_figure-remote-attestation-extension"/>.</t>
      </section>
      <section anchor="tls-alerts">
        <name>TLS Alerts</name>
        <t>IANA is requested to allocate values in the "TLS Alerts"
subregistry of the "Transport Layer Security (TLS) Parameters" registry
<xref target="TLS-Param-Registry"/> and populate it with the following entries:</t>
        <ul spacing="normal">
          <li>
            <t>Value: TBD1</t>
          </li>
          <li>
            <t>Description: unsupported_attestation_schemes</t>
          </li>
          <li>
            <t>DTLS-OK: Y</t>
          </li>
          <li>
            <t>Reference: [This document]</t>
          </li>
          <li>
            <t>Comment:</t>
          </li>
          <li>
            <t>Value: TBD2</t>
          </li>
          <li>
            <t>Description: attestation_required</t>
          </li>
          <li>
            <t>DTLS-OK: Y</t>
          </li>
          <li>
            <t>Reference: [This document]</t>
          </li>
          <li>
            <t>Comment:</t>
          </li>
          <li>
            <t>Value: TBD3</t>
          </li>
          <li>
            <t>Description: attestation_failed</t>
          </li>
          <li>
            <t>DTLS-OK: Y</t>
          </li>
          <li>
            <t>Reference: [This document]</t>
          </li>
          <li>
            <t>Comment:</t>
          </li>
        </ul>
      </section>
      <section anchor="tls-extendedkeyupdate-message-subtypes">
        <name>TLS ExtendedKeyUpdate Message Subtypes</name>
        <t>IANA is requested to add the following entry to the "TLS
ExtendedKeyUpdate Message Subtypes" registry established by
<xref target="I-D.ietf-tls-extended-key-update"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Value: TBD4</t>
          </li>
          <li>
            <t>Description: attestation_update</t>
          </li>
          <li>
            <t>DTLS-OK: Y</t>
          </li>
          <li>
            <t>Reference: [This document]</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>We would like to thank Serhii Nikolaichuk for his implementation and review of this document.</t>
      <t>We would like to thank Paul Howard, Arto Niemi, and Hannes Tschofenig for their contributions to earlier versions of this document.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9846">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="July" year="2026"/>
            <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 obsoletes RFC 8446, which specified TLS 1.3. This document obsoletes RFC 5246 (specifying TLS 1.2) and RFCs 5077, 6961, 7627, and 8422, all of which pertain to TLS 1.2 or earlier, and updates RFCs 5705 and 6066. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9846"/>
          <seriesInfo name="DOI" value="10.17487/RFC9846"/>
        </reference>
        <reference anchor="RFC9999">
          <front>
            <title>Remote ATtestation procedureS (RATS) Conceptual Message Wrapper (CMW)</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="July" year="2026"/>
            <abstract>
              <t>The conceptual messages introduced by the Remote ATtestation procedureS (RATS) architecture (RFC 9334) are protocol-agnostic data units that are conveyed between RATS roles during RATS interactions. 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.</t>
              <t>This document introduces the Conceptual Message Wrapper (CMW) that provides a common structure to encapsulate these messages. It defines a dedicated Concise Binary Object Representation (CBOR) tag, corresponding JSON Web Token (JWT) and CBOR Web Token (CWT) claims, and an X.509 extension.</t>
              <t>Together, these mechanisms allow CMWs to be used in CBOR-based protocols, web APIs using JWTs and CWTs, and PKIX artifacts such as X.509 certificates. Additionally, this document defines media types and CoAP Content-Formats that may be used to identify CMWs when transported over protocols such as HTTP, MIME, and CoAP.</t>
              <t>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, enables the evolution of message serialization formats without breaking compatibility, and avoids the need to redefine how messages are handled within each protocol.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9999"/>
          <seriesInfo name="DOI" value="10.17487/RFC9999"/>
        </reference>
        <reference anchor="I-D.ietf-tls-extended-key-update">
          <front>
            <title>Extended Key Update for Transport Layer Security (TLS) 1.3</title>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>Siemens</organization>
            </author>
            <author fullname="Michael Tüxen" initials="M." surname="Tüxen">
              <organization>Münster Univ. of Applied Sciences</organization>
            </author>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization>Nokia</organization>
            </author>
            <author fullname="Steffen Fries" initials="S." surname="Fries">
              <organization>Siemens</organization>
            </author>
            <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
              <organization>Zscaler</organization>
            </author>
            <date day="4" month="July" year="2026"/>
            <abstract>
              <t>   TLS 1.3 ensures forward secrecy by performing an ephemeral Diffie-
   Hellman key exchange during the initial handshake, protecting past
   communications even if a party's long-term keys (typically a private
   key with a corresponding certificate) are later compromised.

   While the built-in KeyUpdate mechanism allows application traffic
   keys to be refreshed during a session, it does not incorporate fresh
   entropy from a new key exchange and therefore does not provide post-
   compromise security.  This limitation can pose a security risk in
   long-lived sessions, such as those found in industrial IoT or
   telecommunications environments.

   To address this, this specification defines an extended key update
   mechanism that performs a fresh execution of the key exchange
   negotiated during the initial handshake within an active session,
   thereby ensuring post-compromise security.

   By forcing attackers to exfiltrate new key material repeatedly, this
   approach mitigates the risks associated with static key compromise.
   Regular renewal of session keys helps contain the impact of such
   compromises.  The extension is applicable to both TLS 1.3 and DTLS
   1.3.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-extended-key-update-13"/>
        </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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <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="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="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="23" month="July" year="2026"/>
            <abstract>
              <t>   This draft has been withdrawn.

About This Document

   This note is to be removed before publishing as an RFC.

   Status information for this document may be found at
   https://datatracker.ietf.org/doc/draft-fossati-tls-attestation/.

   Source for this draft and an issue tracker can be found at
   https://github.com/yaronf/draft-tls-attestation.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-fossati-tls-attestation-10"/>
        </reference>
        <reference anchor="I-D.ietf-rats-eat">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <author fullname="Giridhar Mandyam" initials="G." surname="Mandyam">
              <organization>Mediatek USA</organization>
            </author>
            <author fullname="Jeremy O'Donoghue" initials="J." surname="O'Donoghue">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Carl Wallace" initials="C." surname="Wallace">
              <organization>Red Hound Software, Inc.</organization>
            </author>
            <date day="6" month="September" year="2024"/>
            <abstract>
              <t>   An Entity Attestation Token (EAT) provides an attested claims set
   that describes state and characteristics of an entity, a device like
   a smartphone, 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.

   An EAT is either a CBOR Web Token (CWT) or JSON Web Token (JWT) with
   attestation-oriented claims.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-31"/>
        </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="2" month="March" year="2026"/>
            <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-09"/>
        </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.ietf-spice-sd-cwt">
          <front>
            <title>Selective Disclosure CBOR Web Tokens (SD-CWT)</title>
            <author fullname="Michael Prorock" initials="M." surname="Prorock">
              <organization>mesur.io</organization>
            </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
              <organization>Tradeverifyd</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Rohan Mahy" initials="R." surname="Mahy">
         </author>
            <date day="30" month="October" year="2026"/>
            <abstract>
              <t>   This specification describes a data minimization technique for use
   with CBOR Web Tokens (CWTs).  The approach is inspired by the
   Selective Disclosure JSON Web Token (SD-JWT), with changes to align
   with CBOR Object Signing and Encryption (COSE) and CWTs.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spice-sd-cwt-09"/>
        </reference>
        <reference anchor="I-D.ounsworth-rats-privacy-framework">
          <front>
            <title>Privacy Framework for Remote ATtestation procedureS</title>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Cryptic Forest Software</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of the Bundeswehr Munich</organization>
            </author>
            <author fullname="Guiliano Lehmann" initials="G." surname="Lehmann">
              <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
            </author>
            <date day="18" month="June" year="2026"/>
            <abstract>
              <t>   This document extends the RATS Architecture to consider "coercive
   uses of RATS" where a malicious Verifier or Relying Party uses RATS
   protocols to extract sensitive information from an Attester or a
   victim Verifier that it would not otherwise be inclined to disclose.
   This over-disclosure can include revealing sensitive measurements,
   stable identifiers, device fingerprints, vendor information, or
   conclusions derived from Evidence.  This document defines a privacy
   framework for Remote Attestation that identifies this threat
   surfaces; classifies claims produced by Attesters and Presenters;
   restricts sensitive Evidence disclosure to authorized Trusted
   Verifiers using confidentiality protection; and describes privacy-
   preserving Attestation Results based on data minimization, Selective
   Disclosure, and Zero-Knowledge Proofs.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ounsworth-rats-privacy-framework-00"/>
        </reference>
        <reference anchor="I-D.ietf-teep-architecture">
          <front>
            <title>Trusted Execution Environment Provisioning (TEEP) Architecture</title>
            <author fullname="Mingliang Pei" initials="M." surname="Pei">
              <organization>Broadcom</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Dave Thaler" initials="D." surname="Thaler">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Dave Wheeler" initials="D. M." surname="Wheeler">
              <organization>Amazon</organization>
            </author>
            <date day="24" month="October" year="2022"/>
            <abstract>
              <t>A Trusted Execution Environment (TEE) is an environment that enforces the following: any code within the environment cannot be tampered with, and any data used by such code cannot be read or tampered with by any code outside the environment.  This architecture document discusses the motivation for designing and standardizing a protocol for managing the lifecycle of Trusted Applications running inside such a TEE.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teep-architecture-19"/>
        </reference>
        <reference anchor="I-D.reddy-rats-key-binding">
          <front>
            <title>Key Attestation for Entity Attestation Tokens (EAT)</title>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization>Nokia</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of the Bundeswehr Munich</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Ionuț Mihalcea" initials="I." surname="Mihalcea">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <date day="15" month="August" year="2026"/>
            <abstract>
              <t>   This document defines an Entity Attestation Token (EAT) profile and a
   new EAT claim that convey the subject public key and its protection
   properties within attestation evidence.  Combined with protocol-level
   proof of possession from the surrounding protocol, this establishes a
   cryptographic binding between a private key and an attested execution
   environment.

   The subject public key is conveyed using the EAT cnf claim defined in
   [RFC8747] and [RFC7800], and freshness uses the EAT eat_nonce claim
   defined in [RFC9711].  The proof of possession of the subject key is
   obtained from the surrounding protocol, such as TLS certificate-based
   authentication or CSR signature verification.  Because the EAT is
   signed by a hardware-backed Attestation Key (AK), successful
   verification of the EAT signature together with protocol-level proof
   of possession establishes a cryptographic binding between the private
   key and the attested platform state.  This mechanism addresses key
   substitution attacks that arise when attestation evidence and the
   certificate private keys are validated independently.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-reddy-rats-key-binding-02"/>
        </reference>
        <reference anchor="RFC5869">
          <front>
            <title>HMAC-based Extract-and-Expand Key Derivation Function (HKDF)</title>
            <author fullname="H. Krawczyk" initials="H." surname="Krawczyk"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <date month="May" year="2010"/>
            <abstract>
              <t>This document specifies a simple Hashed Message Authentication Code (HMAC)-based key derivation function (HKDF), which can be used as a building block in various protocols and applications. The key derivation function (KDF) is intended to support a wide range of applications and requirements, and is conservative in its use of cryptographic hash functions. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5869"/>
          <seriesInfo name="DOI" value="10.17487/RFC5869"/>
        </reference>
        <reference anchor="TPM1.2" target="https://trustedcomputinggroup.org/resource/tpm-main-specification/">
          <front>
            <title>TPM Main Specification Level 2 Version 1.2, Revision 116</title>
            <author>
              <organization>Trusted Computing Group</organization>
            </author>
            <date year="2011" month="March"/>
          </front>
        </reference>
        <reference anchor="TPM2.0" target="https://trustedcomputinggroup.org/resource/tpm-library-specification/">
          <front>
            <title>Trusted Platform Module Library Specification, Family "2.0", Level 00, Revision 01.59</title>
            <author>
              <organization>Trusted Computing Group</organization>
            </author>
            <date year="2019" month="November"/>
          </front>
        </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>
          </front>
        </reference>
        <reference anchor="TLS-Param-Registry" target="https://www.iana.org/assignments/tls-parameters">
          <front>
            <title>Transport Layer Security (TLS) Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="iana-media-types" target="https://www.iana.org/assignments/media-types">
          <front>
            <title>Media Types</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="iana-content-formats" target="https://www.iana.org/assignments/core-parameters">
          <front>
            <title>CoAP Content-Formats</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="I-D.acme-device-attest">
          <front>
            <title>Automated Certificate Management Environment (ACME) Device Attestation Extension</title>
            <author fullname="Brandon Weeks" initials="B." surname="Weeks">
         </author>
            <author fullname="Ganesh Mallaya" initials="G." surname="Mallaya">
         </author>
            <author fullname="Sven Rajala" initials="S." surname="Rajala">
         </author>
            <date day="7" month="December" year="2025"/>
            <abstract>
              <t>   This document specifies new identifiers and a challenge for the
   Automated Certificate Management Environment (ACME) protocol which
   allows validating the identity of a device using attestation.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-acme-device-attest-08"/>
        </reference>
        <reference anchor="FIDO-REQS" target="https://fidoalliance.org/specs/fido-security-requirements/">
          <front>
            <title>FIDO Authenticator Security Requirements</title>
            <author initials="B." surname="Peirani" fullname="Beatrice Peirani">
              <organization/>
            </author>
            <author initials="J." surname="Verrept" fullname="Johan Verrept">
              <organization/>
            </author>
            <date year="2021" month="November"/>
          </front>
        </reference>
        <reference anchor="RA-TLS" target="https://arxiv.org/abs/1801.05863">
          <front>
            <title>Integrating Remote Attestation with Transport Layer Security</title>
            <author initials="T." surname="Knauth" fullname="Thomas Knauth">
              <organization/>
            </author>
            <author initials="M." surname="Steiner" fullname="Michael Steiner">
              <organization/>
            </author>
            <author initials="S." surname="Chakrabarti" fullname="Somnath Chakrabarti">
              <organization/>
            </author>
            <author initials="L." surname="Lei" fullname="Li Lei">
              <organization/>
            </author>
            <author initials="C." surname="Xing" fullname="Cedric Xing">
              <organization/>
            </author>
            <author initials="M." surname="Vij" fullname="Mona Vij">
              <organization/>
            </author>
            <date year="2018" month="January"/>
          </front>
        </reference>
        <reference anchor="DICE-Layering" target="https://trustedcomputinggroup.org/resource/dice-layering-architecture/">
          <front>
            <title>DICE Layering Architecture Version 1.00 Revision 0.19</title>
            <author>
              <organization>Trusted Computing Group</organization>
            </author>
            <date year="2020" month="July"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 1272?>

<section anchor="document-history">
      <name>Document History</name>
      <section anchor="draft-fossati-seat-early-attestation-09">
        <name>draft-fossati-seat-early-attestation-09</name>
        <ul spacing="normal">
          <li>
            <t>Added a Privacy Considerations subsection stating that there is no expectation of privacy for attestation credentials, and pointing to possible mitigations (<xref target="I-D.ounsworth-rats-privacy-framework"/>).</t>
          </li>
          <li>
            <t>Bound Passport Model Attestation Results to the current handshake or EKU generation through the binder and attested TIK; clarified that the TEE signs Evidence and the Verifier signs Results.</t>
          </li>
          <li>
            <t>Specified bounded Verifier waits and failure handling during the handshake and reattestation, and required rejection of expired Results.</t>
          </li>
          <li>
            <t>Added considerations for unauthenticated clients triggering Verifier calls, disclosure of handshake timing to Verifiers, and linkability through a stable TIK.</t>
          </li>
        </ul>
      </section>
      <section anchor="draft-fossati-seat-early-attestation-08">
        <name>draft-fossati-seat-early-attestation-08</name>
        <ul spacing="normal">
          <li>
            <t>Defined reattestation using Extended Key Update; removed other reattestation options. Appraisal failure is signalled with the <tt>attestation_failed</tt> alert.</t>
          </li>
          <li>
            <t>Defined <tt>attestation_update</tt> wire format and message flow; reattestation does not block application data.</t>
          </li>
          <li>
            <t>Added <xref target="why-eku"/>.</t>
          </li>
          <li>
            <t>Added <xref target="session-resumption"/>: session resumption (and early data) not supported since it conflicts with EKU.</t>
          </li>
        </ul>
      </section>
      <section anchor="draft-fossati-seat-early-attestation-07">
        <name>draft-fossati-seat-early-attestation-07</name>
        <ul spacing="normal">
          <li>
            <t>Added relay resistance and key substitution resistance into separate sections.</t>
          </li>
          <li>
            <t>Added <xref target="pcs"/> (Post-Compromise Security via EKU).</t>
          </li>
          <li>
            <t>Added <xref target="reattestation-freshness"/>.</t>
          </li>
          <li>
            <t>Filled in <xref target="freshness-guarantees"/> (was a TODO).</t>
          </li>
          <li>
            <t>Added <xref target="negotiation-integrity"/>.</t>
          </li>
          <li>
            <t>Adopted RFC 9334 terminology (Attesting Environment).</t>
          </li>
          <li>
            <t>Scoped <xref target="negotiation-integrity"/> to certificate-based auth; corrected to CertificateVerify.</t>
          </li>
          <li>
            <t>Reframed <xref target="reattestation-freshness"/>.</t>
          </li>
        </ul>
      </section>
      <section anchor="draft-fossati-seat-early-attestation-06">
        <name>draft-fossati-seat-early-attestation-06</name>
        <ul spacing="normal">
          <li>
            <t>Add a Security Considerations subsection on relay resistance, showing that
transcript binding (<tt>ClientHello...ServerHello</tt>) and EKM binding offer equal
relay resistance (see <xref target="relay-resistance"/>).</t>
          </li>
          <li>
            <t>Expand Privacy Considerations to cover server attestation to unauthenticated
clients, with mitigations (selective disclosure via
SD-CWT, and the Passport model) (see <xref target="server-attester-privacy"/>).</t>
          </li>
          <li>
            <t>Add an appendix with the design rationale for anchoring the binder to the
transcript rather than to an exporter secret (see <xref target="transcript-vs-exporter"/>).</t>
          </li>
          <li>
            <t>Add an appendix noting that the <tt>ClientHello...ServerHello</tt> transcript can be
computed using existing TLS-stack APIs, requiring no new interface (see
<xref target="transcript-apis"/>).</t>
          </li>
          <li>
            <t>Clarify that <tt>HKDF-Expand-Label</tt> is the TLS 1.3 wrapper over <tt>HKDF-Expand</tt>
(<xref target="RFC5869"/>) and that its use does not modify the TLS protocol or the key
schedule.</t>
          </li>
        </ul>
      </section>
      <section anchor="draft-fossati-seat-early-attestation-05">
        <name>draft-fossati-seat-early-attestation-05</name>
        <ul spacing="normal">
          <li>
            <t>Change extension model to a single <tt>remoteAttestation</tt> extension that covers all handshake messages which need extending.</t>
          </li>
        </ul>
      </section>
      <section anchor="draft-fossati-seat-early-attestation-04">
        <name>draft-fossati-seat-early-attestation-04</name>
        <ul spacing="normal">
          <li>
            <t>Register the <tt>attestation_failed</tt> alert for Evidence verification failure after
the <tt>attestation</tt> extension is processed; clarify roles of the three attestation-related
alerts in <xref target="tls-alerts"/>.</t>
          </li>
          <li>
            <t>Hash TLS public keys in <tt>HKDF-Expand-Label</tt> context so <tt>HkdfLabel</tt> stays
within the 255-octet limit (post-quantum public keys); see <xref target="crypto-ops"/>.</t>
          </li>
          <li>
            <t>Simplify attestation binder derivation to a single shared transcript
checkpoint (<tt>ClientHello...ServerHello</tt>) for both peers (see <xref target="crypto-ops"/>).</t>
          </li>
          <li>
            <t>Replaced Derive-Secret with HKDF-Expand-Label</t>
          </li>
        </ul>
      </section>
      <section anchor="draft-fossati-seat-early-attestation-03">
        <name>draft-fossati-seat-early-attestation-03</name>
        <ul spacing="normal">
          <li>
            <t>Replace the Attestation message by an Attestation (certificate) extension,
to bring this protocol within the requirements of the SEAT charter.</t>
          </li>
          <li>
            <t>Define the attestation binder and decouple it from the TLS key schedule.</t>
          </li>
          <li>
            <t>List multiple design options for reattestation.</t>
          </li>
          <li>
            <t>Add architecture diagram for TLS stack interface with the TEE.</t>
          </li>
          <li>
            <t>Add defense-in-depth guidance for measuring TEE, TLS stack, and shim.</t>
          </li>
          <li>
            <t>Remove various outdated sections.</t>
          </li>
        </ul>
      </section>
      <section anchor="draft-fossati-seat-early-attestation-02">
        <name>draft-fossati-seat-early-attestation-02</name>
        <ul spacing="normal">
          <li>
            <t>Fix typo in key schedule. Clarify (again) that this is only adding to the schedule, not modifying any existing key derivations.</t>
          </li>
        </ul>
      </section>
      <section anchor="draft-fossati-seat-early-attestation-01">
        <name>draft-fossati-seat-early-attestation-01</name>
        <t>(Submitted by mistake.)</t>
      </section>
      <section anchor="draft-fossati-seat-early-attestation-00">
        <name>draft-fossati-seat-early-attestation-00</name>
        <t>Initial version of draft-fossati-seat-early-attestation.</t>
        <t>This version represents a major architectural change from <xref target="I-D.fossati-tls-attestation"/>.
The key changes include:</t>
        <ul spacing="normal">
          <li>
            <t>Removed certificate extension mechanism for conveying attestation Evidence</t>
          </li>
          <li>
            <t>Introduced new <tt>Attestation</tt> handshake message for carrying CMW (Conceptual Message Wrapper) payload</t>
          </li>
          <li>
            <t><tt>Attestation</tt> message sent after CertificateVerify when server is attester</t>
          </li>
          <li>
            <t><tt>Attestation</tt> message sent after CertificateVerify message when client is attester</t>
          </li>
          <li>
            <t>Removed use cases section</t>
          </li>
          <li>
            <t>Removed KAT (Key Attestation Token) and PAT (Platform Attestation Token) references, using CMW directly</t>
          </li>
          <li>
            <t>Nonces (client and server) and attester's TLS identity public key are included in TEE-signed Evidence/AttestationResults within CMW</t>
          </li>
          <li>
            <t>CertificateVerify remains unchanged from baseline TLS (no proof-of-possession needed)</t>
          </li>
          <li>
            <t>Added session resumption discussion (resumption <bcp14>MUST</bcp14> be rejected if reattestation is required per local policy)</t>
          </li>
          <li>
            <t>Added reattestation</t>
          </li>
        </ul>
        <!-- Start of Appendices -->

</section>
    </section>
    <section anchor="transcript-vs-exporter">
      <name>Design Rationale: Why the Transcript and Not the Exporter</name>
      <t><xref target="relay-resistance"/> establishes that binding to the
<tt>ClientHello...ServerHello</tt> transcript checkpoint and binding to an exported
value (EKM) offers two independent methods to provide equal relay resistance. This appendix discusses the rationale behind anchoring the
attestation binder to the transcript rather than to an exporter
secret.</t>
      <ul spacing="normal">
        <li>
          <t>Attestation happens during the handshake. When Evidence is produced and bound
as part of the handshake, EKM does not yet exist: it is derived only after the
handshake completes. Evidence produced during the handshake therefore cannot be
anchored to EKM.</t>
        </li>
        <li>
          <t>TLS 1.3 defines an <tt>early_exporter_secret</tt> (<xref section="7.5" sectionFormat="of" target="RFC9846"/>),
which is available earlier. However, it is only meaningful when a PSK is in use.
With no PSK, the Early Secret is HKDF-Extract(0, 0), so the early_exporter_secret
has no secret input; moreover, it is derived from the ClientHello alone and
carries no contribution from the server side of the handshake. It therefore does
not provide the two-sided uniqueness (<xref target="terminology"/>) the binder requires.</t>
        </li>
      </ul>
    </section>
    <section anchor="why-eku">
      <name>Design Rationale: Why Extended Key Update for Reattestation</name>
      <ul spacing="normal">
        <li>
          <t>Post-handshake authentication (<xref section="4.7.2" sectionFormat="of" target="RFC9846"/>) is
client-only. TLS has no post-handshake server authentication.</t>
        </li>
        <li>
          <t>Reattestation without a key update sends Evidence under traffic
secrets that may be compromised (<xref target="pcs"/>). EKU moves the connection
to fresh secrets first.</t>
        </li>
        <li>
          <t>Exported Authenticators operate at the application layer, while
this document keeps attestation within TLS.</t>
        </li>
      </ul>
    </section>
    <section anchor="transcript-apis">
      <name>Computing the Handshake Transcript with Existing TLS APIs</name>
      <t>The attestation binder is computed over <tt>Transcript-Hash(ClientHello...ServerHello)</tt>
(see <xref target="crypto-ops"/>), using the transcript hash defined in <xref section="4.1" sectionFormat="of" target="RFC9846"/>
(including HelloRetryRequest handling).</t>
      <t>Where the TLS stack exposes its handshake transcript hash at the ServerHello
checkpoint, implementations use that value.</t>
      <t>Where it exposes only the handshake messages, for example through a message
callback, the transcript can be rebuilt from them; the <tt>message_hash</tt>
substitution <bcp14>MUST</bcp14> then be applied after a HelloRetryRequest, because
concatenating the messages as sent does not give the transcript hash.</t>
    </section>
    <section anchor="security-properties-summary">
      <name>Summary of Security Properties</name>
      <t>This appendix summarizes the security properties relevant to binding attestation
to the TLS handshake and to the updated transcript during reattestation. These
properties apply to both Evidence in the Background Check Model and
Attestation Results in the Passport Model.</t>
      <t>Transcript integrity and cryptographic binding:
While a MiTM can intercept the TLS handshake and replay arbitrary messages
(including fake key shares, copied certificates, or spoofed Evidence or
Attestation Results), it cannot complete the TLS connection. The TLS peer's
private key signs the handshake transcript via CertificateVerify. Because
substituting key shares alters that transcript, a MiTM lacking the peer's private
key cannot produce a valid signature over the tampered transcript or derive the
correct Finished MAC, so the peer rejects the connection.</t>
      <t>Explicit key confirmation:
Although the Certificate message is evaluated before the Finished MAC, TLS 1.3
enforces explicit key confirmation via the Finished MAC over the complete
handshake transcript before the connection is established. No application data is
exchanged until key confirmation succeeds, so a failed confirmation aborts the
connection regardless of the earlier Certificate and Evidence or Attestation
Results processing.</t>
      <t>TLS connection uniqueness and replay resistance:
As established in <xref target="relay-resistance"/>, the attestation binder is derived from
the <tt>ClientHello...ServerHello</tt> transcript checkpoint, which includes both
peers' fresh randomness and ephemeral key shares, and from the attester's TIK
public key (<xref target="crypto-ops"/>). The TEE includes this binder in signed Evidence.
In the Passport Model, the Verifier preserves the binder from the appraised
Evidence in its signed Attestation Results. The Relying Party checks the binder
and the attested TIK against the current connection (<xref target="tik-binding"/>). Evidence
and Results from another connection are therefore rejected, even when the
same TIK is used.</t>
      <t>Reattestation freshness:
Each completed EKU exchange triggers fresh Evidence or Attestation Results
bound to <tt>transcript_hash_N+1</tt> (<xref target="reattestation"/>). The Relying Party checks this
binder and appraises the new Evidence or Results; credentials from the initial
handshake or an earlier EKU generation are rejected (<xref target="reattestation-freshness"/>).
Completing EKU alone does not renew an earlier appraisal.</t>
      <t>Confidentiality after compromise:
Reattestation sends fresh Evidence or Attestation Results only after EKU
completes, under the new application traffic secrets (<xref target="pcs"/>). Their
confidentiality after compromise depends on EKU establishing fresh traffic
secrets independent of the compromised ones; transcript binding provides
replay resistance, not confidentiality.</t>
      <t>Forward secrecy:
Forward secrecy is inherited from TLS 1.3 and is not a property added by this
mechanism. Because TLS 1.3 mandates ephemeral key exchange, compromise of a
long-term authentication key does not compromise past session keys: an attacker
cannot recompute past shared secrets or tamper with past encrypted handshake
transcripts.</t>
      <t>Hardware-enforced execution isolation:
This property is provided by the platform, not by this mechanism. When the target
environment runs only measured, appraised code, isolation prevents an attacker
from running arbitrary code inside it to make the TEE attest a key that was not
generated locally within the environment and could be exported from it. Its strength
depends on the platform's isolation and measurement assurances (see <xref target="sec-guarantees"/>),
which are the subject of work in the RATS working group.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA9W9+3LjxrUv/D+eAluuOpYckp4ZXxJrbJ/IGs22Mtc9kuOT
2pVIEAmKyJAANwBKZpT5nuV7lu/JvnXtXg00JI7jfeqcqZQzQxKNvqxe9/Vb
4/E4aYt2mR+mPzVFeZ0etW3etFlbVGValOl5nZXNuqrb9GW2zev0LJ9u6qLd
pvvnL88O0qycpc+yNruus9U9v32GP06yq6s6vznsveLl2ef4g2RWTctsBTOZ
1dm8Hc+rpoEfjZs8a8d5Vi+348w/OX70TdJsrlZF08C/2u0anjs9OX+eTLM2
v67q7WHatLMkKdb1YdrWm6Z98ujRN4+eJFmdZ4dubsltVb+/rqvNGj47OTpP
3udb+Gh2mP5nat42St8dnZ+NcK7pX5MEPi1nF9myKuGt27xJ1sVhkqb1fJrP
mna7lE/TtK2m5q9FOcvLVj9oYKfqfN64f29XwT/bupi6H0+r1Qqedd8W5bIo
/WvyX9rxsmjaMQxyVS3hZ+Pqs9/BN7Cnq2y9hpPl3yY3ebnJcbKy6D1c9R6O
QVu49zPsB9LBv+PX+PkqK5bwOZ7CH4u8nU+q+ho/z+rpAj5ftO26Ofz8c/wZ
flTc5BP92ef4wedXdXXb5J/jAJ/jg9dFu9hcwaPbrK7K+ee7nDY+t8zwn+aV
/PyEx5sU1U4j7fSjyaJdLfeSJNu0i6qG3RrD++lPUcLe/mWSni3y+Tyv9WOm
27/ghLpfwT5kZfEPGhdItGw3Ravf5by5shDctj9e40cTOO6k+9bTSfqqWGTL
aZ6Frz2tyk3b+y5871G9Sl8Wq6LNZ52X09MTffqPWb2Kvh3W/CxvFmsg/Lyz
6uoavuh/u+sE+PmJe35wCueT9DkfWziB80W1yprud+HrXxYlbHLnzS09OBFa
+OOSfoOEG3v1u3w223ZeXNSbVbbMm9usDr8PX/66el9knXe/n7Tm6Ysan/5j
iT/ktZdVvYLHb+iuvnt+/M0fvvwaZrxsHn8hH8Cfw3S6uoV/no6fEfWM4fsx
8IIctnE2BlY23qxncG0O0/z9BnhhOe+M+vU3Xz86TKtps5ZBv/jiy8O0ztpm
jHdXhtbLgqObWwIPLmdjuk92DvQ0XCsZB/7W+3aWZfIt/M1+W+GNg0u5zKc4
y/GsaKbLqtnU+fjvtzBiM8P/t08062Kaj+HzqXw/dd9Xm7IBXg4D0qvWdXGT
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
E4v91ntI+sfhvoruvs7ssLMpvR/yrA/hn/Hluk0GneGa+Lxuj5nwGaj8q8Et
1xk7X/tk1VzTcUanzs6EiwXe3cPg68428VvFw3ChCu9FQx83wYHuMIy8dvdh
eJ+VtVy4K9/sMunpogKl/ELm3tj9CzfD6Ag1s6iPGF7WtNPw/WHlqoCguBAp
8u1j3IwnX8avX0+IPGW2dXeYfrKDpODKuu/2UHnyKtqZEz7IKSPanGHNE01q
vDRzvgT9I1/OUqN5odD0Qm1IMv6A+vifzt68ZlHxw5t3SGrAj6WIgH2I5G0V
/v7q55H3XuWroiX7a1FVKNwS1u2CIaSCR6SwdReGDrqPzY4a8BZG06H6JTL9
NENVunx4Ft7oSky0TOa+wPNIbZ8HnHbGUMLtCH146tuiukI26iULwju2GpuT
IIeBRqkP6Pbi+j4dbTeX3q/0fO7kzxsPuuTECyL5hDYMhnHU0xeRCUq+oYAH
9TyFEYeo86Opc282wkPTWek2YxIX6Cfz70GzPtHI43SZFatRepln7YUr/XDy
9QLmBQZO4SK6GoI8OTqPrBbUjaN3I3sxGUzGwl6AdutuGyWdYNEQG9NemZIg
M1VIwVUbI9uT+gWaMJDxZmlDixr1sS5nX8fXTSt2mQTzbZC34w9j8u3ntFVS
oAsHpckiXB7bz+URFyKTIyYv+HzuvJuwCCQl3hUgpWZkPcBB4oYLAfo0TI3N
2Ggo+SBdMfCnKRzjrFrhzyfJWc8PTmRurO30Jw73dlCnIrH251p0HEk62Q/y
6tRkEDv77k6gU8QLnwzkuQwN8qQ3CGdNSBJ9gvtIvguXjR1weZ9WwngAGN3D
8vTlliLzxFok0Bdyk5F8K0yh+y0tJXjeFyW50k75OdDcbYb5krYoCG2ssqIo
mEtM/bTZLQpGxqQjsPttQebPCZGsvGPAf1tQWhaHjl3J5gKukK0Ei/ndue7O
JhqF/ldXjHL6gq04HJQWXTSJ6PUuSRks8GJdUIEPeoOOg+zmNz7j/u4TQ9h8
VcNMaJOd33WA6DLx3kVldTKUdXVfLjJvofIK9EVTDJ1z5iSCQWlz8zDc7s1G
NZ3Zb9b3jIsRPMCGeDjv4JYSgSwoEKoxjb2S4qe2m3iZMMW7DErxbrXst+XY
ayRIaYW582XigWYoi/hmsDxi134ntoc8t8cXh+hMBhJqcZ51rv8UGdgEsSZy
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
CEuIw5YLvXmOIrMx2grjevqmMkobksjs3tLaMAVIKU4R9XyaeYrLJrTqZ08u
BBcvcQaOhKO8jeSR9xh9fjCTOVyd01SQxAktXLdMXMviqg61E3IKk5OZH/bq
gqBlR5QTDEm4t41TQarAUmTGOR5rTyLnFjNQy7y1zk+oO530vQKUtjNYhJyl
801Np4c9FTdN42yAc3nTGQ79aUOwZBQ2DK2BWFzRgOHgj5ANmhBtv8K7sFUd
MUVAqzyspIjjvE/ojd1ibq3Gps1ADHe+F5Qlr+Wc6O2oxy7ncLqAr3MELHCh
x6vcVwIEM2U0pcpWc7BpirnOXowT0ZuOAi3ppphDha5qYN2roMC928nBpz7K
xiYOc9UWuGLAuBPmnXSaDGCLAQRvxWofc30x/wJMs3WFlMvKIc7JA8ihA2aV
kd+GaWcPBEQNr9lzthEsoM1r4ypNNCMlAljqXDSsxZcOJzBLMco83dKw7GVz
BrMiZ438DLXVlj0ct2OcbpVmWXNznfxu/Cv+/C5N5S/JP3fJMOr+cQ/9c+B5
d81+5fO7v1/W/3Hb8Dv/fHfE3p+/3TsR//x5JyLg50pV4mcdC23n98s3VLKB
0aujdwfx94f6m5vDvRvsnr956P1Dzz+48bEfmP3/1ef/Ks9QlszS/9Ed44Rc
BAFUBt6p2Lre5YyB+OuncewA9v7PIcXXlaewcL5xKgyf/7+PFB56HnnuTs/3
J/i7wQdjz/MtfCvuHyzgfHBNv+H7/1VR0KkW7oldWyLMzN1rUDYIoHXAuO11
jh3Cmp6DSkGMWRzbapFehUdiQnv0ezK42IJpdirddJD73owQrCaenmrmyKh7
wjaVNoMC9qQLTaxfoqJqY+OomhXZdZ2tOB01m1WYOoiJAqD/4oaOZ/kadW6B
CKWQ8JnaXt7jGGACm9pcDsbB7npoeLJZfY9IUBfzuqlKDib5UjUCo3kwGf1c
wZJHCJy1whYP62UeTgft+/yXNQcQtatiHEBj5N8oVgT+4OjtaaMLgLcRSIFv
1+GbyWGLE1wEQVf8QmDZckbeJPHulHNK27HjiColr9A6A9lrdmR0vTKkvMlz
KxUzWeOy4QnnSLuxWV+IowlZlwaghSakfw96DL1W3ESX2EN7MmlPoQ9CXhWe
v4s1MURKoIUP0JfrtddSxUIAgPIZ+z7eBgSXUf6kINoBcU+50y4ZIpXF26QM
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
aZMwsp341S5dwuIlYqeSOVm4jgs6rX3Na9k/OT549uOJASFtEsrDfvsfx+mL
k1dppyXFtICJ1ghMezCySKEBq+BufeT9Ti77bfwuJ2nKxdQZeyTR7N26vNeW
YHC1W7j0QtJbnSi6ZbcpIf7WvEqQhHyjpe5xh1hxk8cdOIZE+6l6eKewssid
DE0Oj3Al/AOYU26wG7lrj9NcwoMYWTUJoZV9+W9P0miZq+kplO7DfR435AHn
HyO86IG562jSUDlRwYWvqtFygSVxL5HKPVbR/dgxLn/VHN/mnVHObQiNm34y
254kp8SXmCS5O2FlzWLrXjJWX7gNAX+dJQH0qRpK0qTe9vQcyVQ4IYpIwvED
cZexcpdQH5C+dKOTuruz7SE/HDzVKc0LcThI2pnNqO72zCxU1jnww136F6uX
rVHX4bjru8xIeTWhCfJOmIJ+W8yvsNL3tDeOFOGL5ixVePd2NhagV9d2Oekc
nhNhYliHi+X6ybC5ay0kWc0VykirOHZQhQ1snnQvRkiHJerH8HLLviRqF2g7
FKUoKK9HAJNAOK4z2IPqilkv3uSE2nHO6mq99l5JxmBqpQbUGbpcldxpek1M
y6TQvC+rW9o3Lx5MO0k0gxZFH/QC/rnlChtETmPwcmOEV3XiKwoly9DU4vvL
e+iUtg6nC0SUsj0EoeCWq8aj1uhn5uC3mPLVBEp7hCFqkUjif+WQOIg7Ea1m
UnLIgjnexhZ+yRmcWSlnJ7qiNm8GVYYT78g49E+Ob5qx/pTKq7CV/M9gieGl
46KgQzF9jthvkP5Ed82lKo/PGL/72HWuBsvolkYYS1nRmGj6Q1DpyaDh3ISr
4wag7pvEAE5fgAQWh4GaQcdHrIDISRPsNDUSJa83efuPbLWQZDnFm2jC+VIq
XEX9Zc2w3b7E/S5+AyN2umxqlzicByyt32uW/AR1BewU/od5dRy6EvQWU22N
FnYA2uLviyo47n6MrAgw1/7zQHswmcIdviUmiJTFERwIkMa38OH8e+kOwfVi
VMS3LK7IytNWxcX0Kd5walB15bG6EahlQ1XSiLLB0VeLwa8phuJscdJmzDVg
mL3u2gv6TmfN5NvPaV5JcoZB/CaXwCSY38YFnZnlfdpYa4mpd1/8Vm5TE9vT
1uxUIZWLtCkHDs2e3yZcqJTviXySgRd3zD0ilFlO0ji0Ayy3b21nQHPGTJAS
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

-->

</rfc>
