<?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-07" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <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-07"/>
    <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="September" day="20"/>
    <area>Security</area>
    <workgroup>SEAT</workgroup>
    <keyword>attestation</keyword>
    <keyword>RATS</keyword>
    <keyword>TLS</keyword>
    <abstract>
      <?line 144?>

<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 and binding of the TLS authentication key to a remote attestation session.
This enables an entity capable of producing attestation Evidence, such as a confidential workload running in a Trusted Execution Environment (TEE), or an IoT device that is trying to authenticate itself to a network access point, to present a more comprehensive set of security metrics to its peer.
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 153?>

<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 enables the binding of the TLS connection and its authentication key to a remote attestation session.
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="I-D.ietf-rats-msg-wrap"/> 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 binding attestation Evidence to a specific TLS handshake and for providing freshness.</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 session
and the platform state through attestation Evidence or Attestation Results conveyed
in the CMW (Conceptual Message Wrapper) <xref target="I-D.ietf-rats-msg-wrap"/> payload.</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 the exchanged Evidence is guaranteed through an Attestation Binder mechanism (see <xref target="crypto-ops"/>) when the Background Check Model is in use.
In the Passport Model, freshness expectations are more relaxed and are governed by the lifetime of the signed Attestation Results.</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="I-D.ietf-rats-msg-wrap"/>.</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 within the CMW <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"/>.</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 remote Attestation Results obtained by the
attester from its trusted Verifier can be cached and used for any number of
subsequent TLS handshakes, as long as the freshness policy requirements are
satisfied.</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, its public component and a short generated binder are ever
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 Section 4.4.2 of <xref target="I-D.ietf-tls-rfc8446bis"/>, 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="I-D.ietf-rats-msg-wrap"/>.</t>
        <t>The <tt>remoteAttestation</tt> extension structure is defined in <xref target="_figure-remote-attestation-extension"/>.
As per <xref section="4.2" sectionFormat="of" target="I-D.ietf-tls-rfc8446bis"/>, 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="I-D.ietf-rats-msg-wrap"/>.
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.
The TEE's signature over the Evidence within the CMW <bcp14>MUST</bcp14> include a binder ensuring that the attestation 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).</t>
        <t>This binding ensures that the attested key is the one used in the TLS handshake
and provides freshness guarantees 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 attestation is carried in the <tt>remoteAttestation</tt> extension within
that peer's Certificate message. This section describes how the attestation
is produced, bound to the TLS handshake and verified by the recipient.</t>
      <section anchor="crypto-ops">
        <name>Cryptographic Operations</name>
        <t>The cryptographic operations defined in this section bind attestation Evidence
to a specific TLS handshake. This binding prevents replay and relay of attestation
Evidence across different TLS connections, and ensures that attestation Evidence
presented during a handshake corresponds to the authenticated
TLS session in which it is conveyed.</t>
        <t>The attestation Evidence or Attestation Results are generated by a TEE and
signed using an attestation key. The signed Evidence includes
inputs originating from different trust domains.</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="attestation-binder-definition">
          <name>Attestation Binder Definition</name>
          <t>The attestation binder is computed using primitives
defined in Section 4.4.1 and 7.1 of <xref target="I-D.ietf-tls-rfc8446bis"/>.</t>
          <t>Both peers derive a single attestation base from the same transcript
checkpoint, <tt>ClientHello...ServerHello</tt>.</t>
          <artwork><![CDATA[
attest_base = HKDF-Expand-Label(0, "attestation base",
                                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="I-D.ietf-tls-rfc8446bis"/>).</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="I-D.ietf-tls-rfc8446bis"/>, 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, the peer <bcp14>MUST</bcp14> compute the attestation binder.</t>
          <t>If the peer's Evidence is rejected (binder mismatch, failed Evidence 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>Depending on the architecture (see also <xref target="stack-tee-interface"/>), either the peer verifies
the binding 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 or signed Attestation Results. 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 or Attestation Results. If appraisal fails, the receiver <bcp14>MUST</bcp14> treat the
attestation as invalid.</t>
            </li>
          </ul>
          <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.</cref></t>
        </section>
        <section anchor="security-properties">
          <name>Security Properties</name>
          <t>Binding attestation Evidence to the TLS handshake transcript hash provides the
following security properties:</t>
          <ul spacing="normal">
            <li>
              <t>Replay protection: Evidence generated for a previous handshake cannot be
reused in a later handshake.</t>
            </li>
            <li>
              <t>Relay protection: Evidence 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 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>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>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 the Evidence or Attestation Results, it also binds them to the TLS Identity public key and the TLS
session. 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="372" y="148">Evidence/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="348" y="164">Nonce)</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="384" y="292">Evidence/AR</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/AR;          |
       | TIK public key hash     |      Nonce)                |
       v                         |                            |
+--------------------------------+-------------------+        |
|                                                    |   Measured &
|              Early Attestation Shim                |    Reported
|                                                    |   Components
+------+---------------------------------------------+        |
       |                         ^                            |
       | Nonce                   | Signed Evidence/AR         |
       v                         |                            |
+--------------------------------+-------------------+        |
|                                                    |        |
|                        TEE                         |        |
| +-----------------+                                |        |
| | TIK Private Key |                                |        |
| +-----------------+                                |        |
+----------------------------------------------------+  ------+
]]></artwork>
          </artset>
        </figure>
        <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/AR generation APIs <bcp14>SHOULD</bcp14> reflect identifiers for the calling contexts into the generated credential. These identifiers can be reflected as separate claims in the credential, or can be measured as part of more generic claims. 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 require updated assurance that the peer continues to operate in a trustworthy state.</t>
        <section anchor="post-handshake-reattestation-using-client-authentication">
          <name>Post-Handshake Reattestation Using Client Authentication</name>
          <t>Post-handshake client authentication defined in <xref section="4.6.2" sectionFormat="of" target="I-D.ietf-tls-rfc8446bis"/> can
be used to obtain updated attestation Evidence or Attestation Results from the TLS client. In this case, the TLS server sends a <tt>CertificateRequest</tt> message after the TLS handshake authentication. The client responds with the standard TLS authentication messages (<tt>Certificate</tt>, <tt>CertificateVerify</tt>, and <tt>Finished</tt>). If attestation has been negotiated for the TLS connection, the client includes the <tt>remoteAttestation</tt> extension in the <tt>Certificate</tt> message carrying updated Evidence or Attestation Results.</t>
          <t>The attestation binder can be derived from the post-handshake authentication
transcript defined in Section 4.4 of <xref target="I-D.ietf-tls-rfc8446bis"/>.</t>
          <t>This mechanism allows a server to request updated attestation from the client. However, TLS currently does not define a mechanism for post-handshake server authentication. To address this limitation, the subsequent sections discuss design options for handling attestation freshness.</t>
        </section>
        <section anchor="option-1-carrying-attestation-in-extended-key-update">
          <name>Option 1: Carrying Attestation in Extended Key Update</name>
          <t>One possible approach is to extend the Extended Key Update (EKU) mechanism by introducing a new <tt>ExtendedKeyUpdate</tt> message subtype to carry attestation Evidence or Attestation Results.</t>
          <t>However, this approach tightly couples attestation to EKU, even though the two serve different purposes.</t>
        </section>
        <section anchor="option-2-no-reattestation-reconnect-for-freshness">
          <name>Option 2: No Reattestation (Reconnect for Freshness)</name>
          <t>Another approach is to not support reattestation within an established TLS connection. When fresh attestation is required, the client establishes a new TLS connection, exchanging fresh Evidence or Attestation Results as part of the
handshake.</t>
          <t>This approach keeps the TLS protocol unchanged and avoids introducing post-handshake mechanisms. Application-level mechanisms can be implemented to improve its usability, for example client and server signaling of the need for
reattestation, and establishing the new connection before tearing down the old one (make-before-break) to avoid a gap in connectivity.</t>
          <t>Note: This is a workaround while the WG determines which of the other options can be progressed.</t>
        </section>
        <section anchor="option-3-post-handshake-reattestation-using-certificateupdate">
          <name>Option 3: Post-Handshake Reattestation Using CertificateUpdate</name>
          <t>In this design, reattestation is supported using the <tt>CertificateUpdate</tt> message defined in <xref target="I-D.rosomakho-tls-cert-update"/>. Under this approach, the attester sends a <tt>CertificateUpdate</tt> message carrying a new <tt>Certificate</tt> message with updated attestation information. The refreshed attestation is bound to the existing TLS session using post-handshake TLS context.</t>
        </section>
      </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 pre-appraised Evidence in the form of Attestation Results are presented.
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.</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.</t>
      </section>
    </section>
    <section anchor="sec-cons">
      <name>Security Considerations</name>
      <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="I-D.ietf-tls-rfc8446bis"/>). 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 (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>.</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>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 exposed by a handshake-secret compromise cannot be relayed on a different connection. It says nothing about Evidence 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 is subsequently carried on that same connection (see <xref target="reattestation"/>). If that Evidence is protected under a compromised handshake secret, the attacker decrypts it too.</t>
        <t>Preventing this requires Post-Compromise Security (PCS): new Evidence is 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).</t>
      </section>
      <section anchor="reattestation-freshness">
        <name>Reattestation Freshness</name>
        <t>As currently defined in <xref target="crypto-ops"/>, the attestation binder is derived once from the connection's <tt>ClientHello..ServerHello</tt> checkpoint and does not change for the lifetime of the connection. Under this definition, an attester, whether malicious or due to an incorrect implementation, could resend Evidence generated earlier in the connection in response to a later reattestation request, since the binder still matches and the Relying Party has no way to distinguish it from fresh Evidence.</t>
        <t>This is not an inherent limitation of reattestation, only of the binder as specified here: a future design that derives a fresh, exchange-specific binder for each reattestation, for example from the post-handshake authentication transcript (<xref section="4.4" sectionFormat="of" target="I-D.ietf-tls-rfc8446bis"/>) noted in <xref target="reattestation"/> would close this gap. The mechanism will be defined in future revisions.</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. Three cases can cause that appraisal to go stale without the Relying Party being aware:</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>A subsequent connection uses session resumption, inheriting the original connection's assurance without a new attestation exchange.</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 instead sets a validity period for an appraisal and requests attestation once that period elapses, using one of the mechanisms in <xref target="reattestation"/>. A resumed connection inherits the original appraisal's validity period rather than getting a new one.</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 also have the property of hiding the peer's identity from the RP.</t>
      <t>Note that the equivalent of OCSP "stapling" involves using a passport topology where the Verifier's involvement is unrelated to the TLS session.</t>
      <section 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.</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>
    <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>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <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="I-D.ietf-tls-rfc8446bis">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="Eric Rescorla" initials="E." surname="Rescorla">
              <organization>Independent</organization>
            </author>
            <date day="13" month="September" year="2025"/>
            <abstract>
              <t>   This document specifies version 1.3 of the Transport Layer Security
   (TLS) protocol.  TLS allows client/server applications to communicate
   over the Internet in a way that is designed to prevent eavesdropping,
   tampering, and message forgery.

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-rfc8446bis-14"/>
        </reference>
        <reference anchor="I-D.ietf-rats-msg-wrap">
          <front>
            <title>RATS Conceptual Messages Wrapper (CMW)</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization>Independent</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
            </author>
            <author fullname="Dionna Glaze" initials="D." surname="Glaze">
              <organization>Google LLC</organization>
            </author>
            <date day="11" month="December" year="2025"/>
            <abstract>
              <t>   The Conceptual Messages introduced by the RATS architecture (RFC
   9334) are protocol-agnostic data units that are conveyed between RATS
   roles during remote attestation procedures.  Conceptual Messages
   describe the meaning and function of such data units within RATS data
   flows without specifying a wire format, encoding, transport
   mechanism, or processing details.  The initial set of Conceptual
   Messages is defined in Section 8 of RFC 9334 and includes Evidence,
   Attestation Results, Endorsements, Reference Values, and Appraisal
   Policies.

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

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

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-msg-wrap-23"/>
        </reference>
        <reference anchor="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="1" month="June" 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-08"/>
        </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.rosomakho-tls-cert-update">
          <front>
            <title>Certificate Update in TLS 1.3</title>
            <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
              <organization>Zscaler</organization>
            </author>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization>Nokia</organization>
            </author>
            <date day="18" month="June" year="2026"/>
            <abstract>
              <t>   This document defines a mechanism that enables TLS 1.3 endpoints to
   update their certificates during the lifetime of a connection using
   Exported Authenticators.  A new extension is introduced to negotiate
   support for certificate update at handshake time.  When negotiated,
   either endpoint can provide a post-handshake authenticator containing
   an updated certificate, delivered via a new handshake message.  This
   mechanism allows long-lived TLS connections to remain valid across
   certificate rotations without requiring session termination.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-rosomakho-tls-cert-update-02"/>
        </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="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 961?>

<section anchor="document-history">
      <name>Document History</name>
      <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="I-D.ietf-tls-rfc8446bis"/>),
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="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"/>). Both messages are already held by the TLS stack at the point
attestation runs, so computing the binder requires no change to the TLS
protocol.  Additionally, TLS stacks typically expose handshake messages via callback
interfaces before the handshake completes; the application can obtain ClientHello
and ServerHello through these existing hooks without any new protocol interface.</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.</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), 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 processing.</t>
      <t>TLS connection uniqueness and replay resistance:
As established in <xref target="relay-resistance"/>, TLS 1.3 generates fresh ephemeral key
shares for every connection, and the signed attestation Evidence is bound, via
the handshake transcript, to the connection's ephemeral key shares. The Evidence also
binds the attester's public key used in the end-entity certificate for
authentication (<xref target="tik-binding"/>). Evidence is therefore bound to a single
connection and to the identity key used in that handshake: an attacker cannot
replay Evidence from a past connection, because the key share in the new handshake
will not match the key bound in the old Evidence.</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:
H4sIAAAAAAAAA9V963bb2JXmfzwFWrVWl1Qhact16UR1mahkOeWUb5FUqc7K
SiSQPBQRgwAbAKViHM+zzLPMk82+nrMPAEqyk5nV49VdsQng3M++72+Px+Ok
zdvCHaU/NXl5nR63rWvarM2rMs3L9KLOymZd1W36Itu6Oj13s02dt9t0/+LF
+UGalfP0adZm13W2uuPdp/hykk2ntbs56nXx4vwRvpDMq1mZrWAk8zpbtONF
1TTw0rhxWTt2WV1sx1n4clxk+Pek2UxXedPAL+12Dd8+P714lszg2XVVb4/S
pp0nSb6uj9K23jTtk8ePf/P4SZLVLjvy40tuq/rtdV1t1vDb6fFF8tZt4af5
Ufrn1PQ4Ss+OL85HON70L0kCv5bzy6yoSuh165pknR8laVovZm7etNtCfk3T
tpqZv+bl3JWt/tDAatVu0fh/b1fRP9s6n/mXZ9VqBd/6p3lZ5GXoxv3Sjou8
acfQyLQq4LVx9dmv4Ams6ypbr2F3+d3kxpUbh4OVSe/hrPewDVrCvZ9hPfAs
/A4f4++rLC/gd9yJ3+auXUyq+hp/z+rZEn5ftu26OXr0CF/Dn/IbN9HXHuEP
j6Z1ddu4R9jAI/zwOm+Xmyl8us3qqlw8esiO43e86aZL/n7C7U3y6kEtPeil
ybJdFXtJkm3aZVXDao2hf/qTl7C2f5qk50u3WLhaf+az+yccUPcRrENW5n+n
duGIlu0mb/WZ48WVieCy/fYaf5rAdifdXp9P0pf5MitmLou7fV6Vm7b3LO73
uF6lL/JV3rp5p3P6eqJf/zarV4O9w5yfuma5hoPvOrOuruFB/+lDB8DfT/z3
O4dwMUmf8bbFA7hYVqus6T6Lu3+Rl7DInZ5b+nAiZ+G3Bb2DB3eo6zM3n287
Hef1ZpUVrrnN6vh53Pmr6m2edfp+O2nN15c1fv3bEl/kuZdVvYLPb+iuPh8/
pdMxbotmDFTm11988dU0h3HBvw8/ty/UWduMV831+LbO4HbPVrdAAsuFbezs
2clXv/nq8VFazZo1//s3n3/+xVFK3+KVlQb1jmCn5nLAh8V8TNeo1zPcJmkH
/tZ7Os8yeQp/s08rvGhwFws3w1GO53kzK6pmU7vx326hxWaO/2u/aNb5zI3h
95k8n/nn1aZsgIRDg9TVus5vstl2vAA25ZDayxDk92h1nVvTAsApnbXQOyyw
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
ABWl3FcaAgEA

-->

</rfc>
