<?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.35 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-xia-rats-key-negotiation-integration-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="RATS Key Negotiation Integration">Integration of Remote Attestation with Key Negotiation and Key Distribution mechanisms</title>
    <seriesInfo name="Internet-Draft" value="draft-xia-rats-key-negotiation-integration-02"/>
    <author initials="L." surname="Xia" fullname="Liang Xia">
      <organization>Huawei Technologies</organization>
      <address>
        <email>frank.xialiang@huawei.com</email>
      </address>
    </author>
    <author initials="W." surname="Jiang" fullname="Weiyu Jiang">
      <organization>Huawei Technologies</organization>
      <address>
        <email>jiangweiyu1@huawei.com</email>
      </address>
    </author>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization>Fraunhofer SIT</organization>
      <address>
        <email>henk.birkholz@ietf.contact</email>
      </address>
    </author>
    <author initials="J." surname="Zhang" fullname="Jun Zhang">
      <organization>Huawei Technologies France S.A.S.U.</organization>
      <address>
        <email>junzhang1@huawei.com</email>
      </address>
    </author>
    <author initials="H." surname="Labiod" fullname="Houda Labiod">
      <organization>Huawei Technologies France S.A.S.U.</organization>
      <address>
        <email>houda.labiod@huawei.com</email>
      </address>
    </author>
    <date year="2026" month="April" day="28"/>
    <area>Security</area>
    <workgroup>Remote ATtestation ProcedureS</workgroup>
    <keyword>RATS</keyword>
    <keyword>attestation</keyword>
    <keyword>key negotiation</keyword>
    <abstract>
      <?line 69?>

<t>This document describes a generic way to integrate Remote Attestation (RA) with key distribution and key negotiation, so that cryptographic keys are only released to or accepted from attested and policy-compliant environments. It defines an attestation-bound key management mechanism that can be applied on top of existing secure channel and key management protocols, and illustrates it with three representative scenarios: public-cloud KMS, end-user to AI data-center communication, and enterprise-operated KMS. A format-agnostic key binding claim is introduced to express the binding between an Attester’s environment, its public keys, and a session identifier, enabling Relying Parties to use Attestation Results as an input to key distribution and key agreement decisions without changing underlying protocols.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-xia-rats-key-negotiation-integration/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Remote ATtestation ProcedureS Working Group mailing list (<eref target="mailto:rats@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/rats/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/rats/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-rats/draft-xia-rats-key-negotiation-integration"/>.</t>
    </note>
  </front>
  <middle>
    <?line 73?>

<section anchor="intro">
      <name>Introduction</name>
      <t>Remote Attestation (RA) allows a Relying Party (RP) to learn and appraise properties of a remote computing environment before releasing secrets or accepting security‑critical state.</t>
      <t>This document describes how to use Attestation Results to drive key distribution and key negotiation, so that cryptographic keys are only provided to or accepted from endpoints whose environment satisfies the RP’s policy.</t>
      <t>The focus is on a lightweight, RA‑driven key management mechanism that can be applied on top of existing transport and key exchange protocols.<br/>
The same mechanism underlies three representative deployment scenarios: public‑cloud KMS delivering keys to attested cloud workloads, end‑user to AI data‑center communication with attestation‑bound end‑to‑end (E2E) key agreement, and enterprise‑operated KMS distributing keys to attested environments running in public clouds.</t>
      <section anchor="problem-and-approach">
        <name>Problem and Approach</name>
        <t>Deployments increasingly need to ensure that keys are only used in trustworthy environments, for example when releasing application‑layer data‑encryption keys from a cloud KMS, when establishing E2E session keys between an end user and an AI service, or when an enterprise KMS delivers keys to workloads hosted in a public cloud.</t>
        <t>Today, such requirements are often enforced with deployment‑specific mechanisms that are hard to automate and reason about.</t>
        <t>This document describes a generic mechanism in which an Attestation Result is used as an input to key management decisions.<br/>
Two classes of interactions are considered:</t>
        <ul spacing="normal">
          <li>
            <t>Attestation‑bound key distribution, where an RP releases key material or key‑protected services to an Attester only if its environment passes appraisal.</t>
          </li>
          <li>
            <t>Attestation‑bound E2E key agreement, where a client accepts a shared key with a server only if an Attestation Result for the server satisfies the client’s policy.</t>
          </li>
        </ul>
        <t>The mechanism is independent of specific Evidence formats, attestation technologies, and key management protocols, and can be instantiated with both the passport and background‑check models defined in the RATS architecture <xref target="RFC9334"/>.</t>
        <t>The resulting keys can then be used by protocols such as TLS (i.e., <xref target="I-D.ietf-tls-hybrid-design"/>), QUIC, IPsec (i.e., <xref target="RFC8784"/>), OHTTP, or application‑layer encryption mechanisms without changes to those protocols.</t>
      </section>
      <section anchor="relationship-to-other-ra-work">
        <name>Relationship to Other RA Work</name>
        <t>Several IETF efforts integrate RA into specific protocols or infrastructures.<br/>
Examples include attested TLS <xref target="I-D.fossati-tls-attestation"/>, RA based on Exported Authenticators <xref target="I-D.fossati-tls-exported-attestation"/>, RA over EDHOC <xref target="I-D.ietf-lake-ra"/>, and CSR‑attestation mechanisms in PKI enrollment <xref target="I-D.ietf-lamps-csr-attestation"/>.</t>
        <t>These designs focus on how to carry attestation information inside a given protocol and how to bind it to that protocol’s authentication keys and session state (“RA inside TLS”, “RA inside EDHOC”, or “RA inside PKI”).</t>
        <t>By contrast, this document assumes that Attestation Results are available (via any suitable transport) and describes how RPs use them to control key distribution and key acceptance, independent of the underlying secure channel or enrollment mechanism.</t>
        <t>The mechanisms defined here are therefore complementary to the above designs.<br/>
For example, a deployment may use RA over EDHOC or attested TLS to establish a secure channel towards an Attester, and then apply the attestation‑bound key distribution pattern so that a cloud or enterprise KMS releases application‑layer keys only to endpoints that have been successfully attested.</t>
      </section>
      <section anchor="out-of-scope-and-structure">
        <name>Out of Scope and Structure</name>
        <t>This document does not define new Evidence formats, Attestation Result types, or protocol extensions for TLS, QUIC, EDHOC, IPsec, or PKI.</t>
        <t>It specifies generic mechanisms for using Attestation Results in key management and illustrates them with scenarios; protocol- and API-level details remain deployment-specific.</t>
      </section>
      <section anchor="requirements-notation">
        <name>Requirements Notation</name>
        <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>
    <section anchor="scenarios">
      <name>Scenarios</name>
      <t>This section describes three representative scenarios for integrating Remote Attestation (RA) with key negotiation and key distribution. A generic pattern for attestation-bound key management is first introduced, and then each scenario is shown as a concrete instantiation of this pattern.</t>
      <section anchor="GenMech">
        <name>Generic Attestation-bound Key Management Mechanism</name>
        <t>This subsection introduces a generic mechanism for integrating RA with key distribution and key negotiation. Two classes of interactions are considered:
- attestation-bound key distribution, where a Relying Party (RP) releases key material to an Attester;</t>
        <ul spacing="normal">
          <li>
            <t>attestation-bound end-to-end (E2E) key agreement, where a client and server derive a shared key and the client uses an Attestation Result when deciding whether to accept it.</t>
          </li>
        </ul>
        <t>The mechanism is independent of the specific Evidence format and key management protocol, and can be realized with both the passport model and the background-check model defined in the RATS architecture. In all cases, an Attestation Result binds cryptographic key material (for example, an identity public key or an ECDHE public key) to an attested environment and is checked against an RP policy before keys are released or accepted.</t>
        <t>This document relies on the freshness properties of Evidence and Attestation Results as defined in the RATS architecture. In particular, mechanisms such as nonces, timestamps, and anti-replay state are provided by the underlying RATS protocols and are not redefined here. Relying Parties are expected to configure these RATS mechanisms according to their deployment-specific threat models.</t>
        <t>In the key distribution variant (<xref target="fig-rats-PM-AB-Key-Distribution"/> and <xref target="fig-rats-BCM-AB-Key-Distribution"/>), the RP acts as a key provider and releases key material only if the Attester's environment satisfies its policy. The Attestation Result contains a binding between the Attester and a public key credential; the RP uses this credential to encrypt keys for delivery, thereby mitigating diversion attacks where keys would otherwise be delivered to a different or non-compliant environment. The passport and background-check realizations differ mainly in whether the Attester or the RP initiates the interaction with the Verifier.</t>
        <t>In the E2E key agreement variant (<xref target="fig-rats-PM-AB-Key-Agreement"/> and <xref target="fig-rats-BCM-AB-Key-Agreement"/>), a client and server use a key agreement protocol such as ECDHE to derive a shared key, and the client acts as the RP. The Verifier issues an Attestation Result that binds the server's key agreement parameters (for example, its ECDHE public key) to an attested environment. The client only accepts the resulting shared key if the Attestation Result satisfies its policy, thus ensuring that E2E keys are negotiated with a server whose environment has been successfully attested. The shared secret derived from the key agreement is a <strong>tentative</strong> value until the Client successfully verifies the Attestation Result that binds the server's ECDHE public key (<tt>pk_server</tt>) to the attested environment identified by the Client's policy. The Client <bcp14>MUST NOT</bcp14> derive traffic keys or send application data using this secret prior to successful attestation verification, in order to avoid denial-of-service attacks where an attacker forces the Client to perform expensive key schedule computations without ever providing a valid Attestation Result.</t>
        <t>To correlate Evidence, Attestation Results and subsequent key delivery or key acceptance decisions, it is <bcp14>RECOMMENDED</bcp14> to use a session identifier (session_id) that is carried across the protocol interactions. The session_id allows the Attester, Verifier and Relying Party to associate Evidence, Attestation Results and key management messages belonging to the same attestation and key management transaction, and helps mitigate replay or mix-and-match attacks.</t>
        <t>A Relying Party <bcp14>MUST</bcp14> only use an Attestation Result for the key distribution or key agreement transaction whose session_id matches the value carried in that Attestation Result. Relying Parties <bcp14>SHOULD NOT</bcp14> reuse an Attestation Result across different session_id values. An implementation <bcp14>SHOULD</bcp14> ensure that Attestation Results are consumed within a time window that is consistent with the freshness properties provided by the underlying RATS mechanisms.</t>
        <figure anchor="fig-rats-PM-AB-Key-Distribution">
          <name>Figure 1: Passport Model – Attestation-Bound Key Distribution</name>
          <artwork><![CDATA[
+----------+               +----------+              +-------------+
| Attester |               | Verifier |              | Relying     |
|          |               |          |              | Party (RP)  |
+-----+----+               +----+-----+              +------+------+
      |  Application-level key request (session_id)          |
      |-------------------------+--------------------------->|
      |                         |                            |
      |  Evidence, pk_attester, |                            |
      |   session_id, nonce     |                            |
      |------------------------>|                            |
      |                         |                            |
      |AR(Attester, pk_attester,|                            |
      |    session_id, nonce)   |                            |
      |<------------------------+                            |
      |                                                      |
      |  AR(Attester, pk_attester, session_id, nonce)        |
      |----------------------------------------------------->|
      |                                                      |
      |  Key material encrypted under pk_attester            |
      |  (for session_id)                                    |
      |<-----------------------------------------------------|
      |                                                      |
]]></artwork>
        </figure>
        <figure anchor="fig-rats-BCM-AB-Key-Distribution">
          <name>Figure 2 – Background-check model: Attestation-Bound Key Distribution</name>
          <artwork><![CDATA[
+----------+               +----------+              +-------------+
| Attester |               | Verifier |              | Relying     |
|          |               |          |              | Party (RP)  |
+-----+----+               +----+-----+              +------+------+
      |  Application-level key request (session_id)          |
      |----------------------------------------------------->|
      |                            ^                         |
      |                            | Attestation request     |
      |                            | (Attester_ID,           |
      |                            |  session_id, nonce)     |
      |                            |<------------------------+
      | Evidence, pk_attester,     |                         |
      | session_id, nonce          |                         |
      |--------------------------->|                         |
      |                            | AR(Attester,            |
      |                            |    pk_attester,         |
      |                            |    session_id, nonce)   |
      |                            +------------------------>|
      |                                                      |
      |  Key material encrypted under pk_attester            |
      |  (for session_id)                                    |
      |<-----------------------------------------------------|
      |                                                      |
]]></artwork>
        </figure>
        <figure anchor="fig-rats-PM-AB-Key-Agreement">
          <name>Figure 3 – Passport model: Attestation-Bound ECDHE Key Agreement</name>
          <artwork><![CDATA[
+----------+               +----------+              +-------------+
| Attester |               | Verifier |              | Client (RP) |
| (Server) |               |          |              |             |
+-----+----+               +----+-----+              +------+------+
      |                                                | generate   |
      |                                                | (privC,    |
      |                                                |  pubC)     |
      |                                                |            |
      |  Session setup request, pubC, session_id       |
      |<-----------------------------------------------+
      |  (compute tentative SK_server = KDF(privS,     |
      |    pubC, session_id))                          |
      |                                                |
      | Evidence, pk_server, session_id, nonce         |
      |--------------------------->|                   |
      |                            | evaluate Evidence |
      |                            | issue AR(Attester,|
      |                            |   pk_server,      |
      |                            | session_id, nonce)|
      |                            +-------------------|
      |  AR(Attester, pk_server,   |                   |
      |     session_id, nonce)     |                   |
      |<---------------------------+                   |
      |  AR(Attester, pk_server,   |                   |
      |     session_id, nonce)     |                   |
      |----------------------------------------------->|
      |                                                |
      |                        verify AR and policy    |
      |                             if OK:             |       
      |                         SK_client = KDF(privC, | 
      |                         pk_server, session_id) |
      |                 accept SK_client and SK_server |
      |                             else:              |
      |                     discard tentative SK_server|
      |                                                |
]]></artwork>
        </figure>
        <figure anchor="fig-rats-BCM-AB-Key-Agreement">
          <name>Figure 4 – Background-check model: Attestation-Bound ECDHE Key Agreement</name>
          <artwork><![CDATA[
+----------+               +----------+              +-------------+
| Attester |               | Verifier |              | Client (RP) |
| (Server) |               |          |              |             |
+-----+----+               +----+-----+              +------+------+
      |<-------------------------------------------------------->|
      |   ECDHE exchange (pubC, pk_server, session_id)           |
      |   (compute tentative SK_server =                         |
      |      KDF(privS, pubC, session_id))                       |
      |                                                          |
      |                            ^                             |
      |                            | Attestation request         |
      |                            | (Server_ID, session_id)     |
      |                            |<----------------------------+
      | Evidence, pk_server,       |                             |
      | session_id                 |                             |
      |--------------------------->|                             |
      |                            | evaluate Evidence           |
      |                            | issue AR(Attester,          |
      |                            |   pk_server, session_id)    |
      |                            +---------------------------->|
      |                                                          |
      |                                verify AR and policy      |
      |                                    if OK:                |
      |                                SK_client = KDF(privC,    |
      |                                 pk_server, session_id)   |
      |                           accept SK_client and SK_server |
      |                                    else:                 |
      |                    abort and discard tentative SK_server |
      |                                                          |
]]></artwork>
        </figure>
        <t>Notes:
   pk_attester
      A public key credential associated with the Attester and bound
      in the Attestation Result. It can be a long-term identity key
      or an ephemeral key, and is used by the RP to protect key
      delivery in the key distribution pattern.</t>
        <t>pk_server
      The server-side public key used for key agreement (for example,
      the server's ECDHE public key). The Attestation Result binds
      pk_server to the Attester's environment, and the Client uses
      this binding when deciding whether to accept the derived
      session key.</t>
        <t>session_id
      A session identifier carried across Evidence, Attestation
      Result and key management messages to correlate messages that
      belong to the same attestation and key management transaction.</t>
        <t>nonce
    A challenge value used by the underlying RATS protocols to
        guarantee the freshness of Evidence and Attestation Results.
        The generation, processing and anti-replay handling of nonce
        values are defined by the RATS mechanisms in use and are not
        specified in this document.</t>
        <t>Application-level key request
      A request from the Attester to the RP to obtain key material
      for a specific purpose (for example, an application-layer data
      key) in the context of a given session_id.</t>
        <t>RA request
      A message that initiates a remote attestation interaction
      between the Attester and the Verifier and refers to the
      session_id of the current transaction.</t>
        <t>AR(Attester, pk_, session_id)
      An Attestation Result issued by the Verifier that contains its
      appraisal about a specific Attester (including an identifier
      for the Attester) and that binds the Attester to a public key
      (pk_attester or pk_server) and to a session_id.</t>
      </section>
      <section anchor="Public_Cloud_KMS_Scenario">
        <name>Public Cloud KMS Scenario</name>
        <t>The first scenario considers key distribution in a public cloud KMS. In this scenario, the integration of RA and KMS key distribution instantiates the attestation-bound key distribution mechanism described in <xref target="GenMech"/>, with the cloud KMS acting as the RP, the cloud workload as the Attester, and a cloud-operated Verifier. This corresponds to the passport-model message flow illustrated in <xref target="fig-rats-PM-AB-Key-Distribution"/>; a background-check realization following the structure of <xref target="fig-rats-BCM-AB-Key-Distribution"/> is also possible.</t>
        <t>Tenants in a public cloud/compute cluster deploy workloads, they need to first verify the security of their runtime environment through remote attestation before requesting the Key Management Service (KMS) to assign application-layer data keys to the virtual machine (VM)/compute node on which the workload is running. These keys are then used for application-layer data encryption, such as file encryption or disk encryption, rather than for any secure channel protocols. For example, to protect AI/ML model parameters from leakage and tampering, model weights and other parameters are encrypted before transmitting and loading the model to a Trusted Execution Environment (TEE) to ensure that only a TEE that passes attestation and is authorized can obtain the decryption keys.</t>
        <t>The Key Management Service (KMS) for public cloud networks includes the root of trust, secure channels between Attester (node, VM, container, service, application) and the KMS, full lifecycle management of keys (including key generation, storage, rotation, and destruction), hierarchical encryption architecture (such as Envelope Encryption), and access control mechanisms. Specifically:</t>
        <ul spacing="normal">
          <li>
            <t>The basic process for symmetric key distribution and usage is as follows: When an application requires data to be encrypted and shared, it requests the KMS to distribute the DEK (Data Encryption Key) and the EDEK (Encrypted DEK, encrypted using the Customer Master Key (CMK) ) to the application via an API. The application then encrypts the data using the DEK, deletes the DEK from memory, and sends the encrypted ciphertext along with the EDEK to the receiving application. The receiving application then requests the KMS to decrypt the EDEK via an API, retrieves the DEK to decrypt the data, and then deletes the DEK from memory.</t>
          </li>
          <li>
            <t>The basic process of asymmetric key distribution and usage is as follows: When an application needs to encrypt data, it requests the KMS to generate a public-private key pair via an API, and then uses the obtained public key to encrypt the data. The encrypted ciphertext is then sent to the receiving application. The receiving application calls the KMS's decryption API and the KMS uses the corresponding private key internally to decrypt the data and return the plaintext to the receiving application. The private key never leaves the KMS.When an application requires digital signing of data, it requests the KMS to generate a public–private key pair via an API. The public key is then distributed to all parties that need to verify the signature. The application then requests the KMS to sign the data using the corresponding private key via an API, and sends the signature result along with the data to the receiving application. The receiving application uses the public key to verify the signature.</t>
          </li>
        </ul>
        <t>In summary, the KMS provides the applications with the required deliverables, which include application-layer encryption/authentication, symmetric/asymmetric keys, decrypted plaintext and calculated signatures. For simplicity, the term 'keys' is used here to refer to all these deliverables.</t>
        <t>By including the Attester's identity (raw public key or certificate) in the messages throughout the remote attestation process and having the Attester (using its attestation Evidence signing key) and Verifier (using its Attestation Result signing key) endorse and sign it, a binding mechanism between the Attester's Attestation Result and its identity is implemented. Subsequently, the KMS can use the identity's public key for key distribution, ensuring that the keys are distributed to the correct Attester and eliminating the risk of diversion attacks. During key rotation, the KMS can proactively trigger this process to update keys.</t>
        <t>Overall, this approach integrates key distribution into the RA process, achieving automation of key distribution and higher security guarantees based on the security state of the Attester endpoint.</t>
        <t>A background-check variant can be realized by letting the KMS request Attestation Results from the Verifier and using them for key release decisions, reusing the pattern described in <xref target="GenMech"/> and the message flow illustrated in <xref target="fig-rats-BCM-AB-Key-Distribution"/>.</t>
      </section>
      <section anchor="End_User_to_AI_Data_Center_Scenario">
        <name>End User to AI Data Center Scenario</name>
        <t>The second scenario considers E2E key agreement between an end user and an AI data center. In this scenario, the integration of RA and DHE (Diffie-Hellman Ephemeral) and ECDHE (Elliptic-Curve Diffie-Hellman Ephemeral) key negotiation instantiates the attestation-bound E2E key agreement pattern described in <xref target="GenMech"/>, with the end user’s client as the RP and the AI data center environment as the Attester. The passport-model realization of this pattern is illustrated in <xref target="fig-rats-PM-AB-Key-Agreement"/>, while a background-check realization following the structure of <xref target="fig-rats-BCM-AB-Key-Agreement"/> is also possible.</t>
        <t>The end user/client accesses the online TEE computing environment, submits their data for business processing or large model inference and must ensure the security of the entire computing environment through remote attestation before establishing a secure connection. There are multiple options for the secure channel protocol that can be established for this use case, such as TLS, IPSec, QUIC and OHTTP. The user may only need to complete end-to-end (E2E) key negotiation based on remote attestation. The negotiated key can be used in various ways, depending on which secure protocol or application layer encryption mechanism is used.</t>
        <t>The current main implementation mechanisms for E2E key negotiation are Diffie-Hellman Ephemeral (DHE) and Elliptic-Curve Diffie-Hellman Ephemeral (ECDHE). Taking ECDHE as an example, an ECDHE key exchange generally includes the following steps:</t>
        <t>When integrating ECDHE key negotiation into RA, the Client includes its ECDHE public key in the attestation request, the Server provides its ECDHE public key and Evidence to the Verifier, and the Verifier issues an Attestation Result that binds the Server to its ECDHE public key, as shown generically in <xref target="fig-rats-PM-AB-Key-Agreement"/>. The Client then verifies the Attestation Result and, if it satisfies the Client’s policy, uses the bound ECDHE public key to derive the shared key and associates the key with the attested Server identity.</t>
        <t>Overall, this approach integrates E2E key negotiation into the RA process and ensures that the Client only accepts keys that are negotiated with an attested and policy-compliant Server.</t>
        <t>A background-check variant can be implemented by letting the Client request Attestation Results for the Server from the Verifier and only accepting the E2E key agreement result if the Attestation Result satisfies its policy, as outlined in <xref target="GenMech"/> and illustrated by the message flow in <xref target="fig-rats-BCM-AB-Key-Agreement"/>.</t>
      </section>
      <section anchor="Enterprise_KMS_Scenario">
        <name>Enterprise KMS Scenario</name>
        <t>The third scenario considers key distribution from an enterprise KMS to cloud environments. In this scenario, the integration of RA and key distribution again instantiates the attestation-bound key distribution pattern described in <xref target="GenMech"/>, with the enterprise KMS as the RP and the cloud environment as the Attester. The passport-model realization of this pattern corresponds to the message flow in <xref target="fig-rats-PM-AB-Key-Distribution"/>, while a background-check realization can follow the structure of <xref target="fig-rats-BCM-AB-Key-Distribution"/>.</t>
        <t>Enterprises need to deploy data assets, such as data, applications and systems, on public clouds. Some of these assets are especially critical to the enterprise, such as large private model applications. It is therefore essential to ensure the trustworthiness and security of the operating environment. The process involves first uploading the encrypted data assets to the cloud environment and then performing remote attestation on the operating environment. Once the operating environment passes the security verification, the decryption key is distributed to it for loading and running the decrypted data assets. In fact, the key here can also be generalized to refer to the decrypted plaintext and the calculated signatures provided by an enterprise KMS.</t>
        <t>This scenario is similar to the public cloud KMS scenario, except that the public cloud is no longer responsible for key distribution. Instead, the enterprise manages the keys itself and completes key distribution after passing the security verification through RA.</t>
        <t>By including the Attester's identity (raw public key or certificate) in the messages throughout the RA process and having the Attester and Verifier endorse and sign it, a binding mechanism between the Attester's Attestation Result and its identity is implemented. Subsequently, the enterprise KMS can use the identity's public key for key distribution, ensuring that the keys are distributed to the correct Attester and eliminating the risk of diversion attacks. During key rotation, the enterprise KMS can proactively trigger this process to update keys.</t>
        <t>Overall, this approach integrates key distribution into the RA process from the enterprise perspective, achieving automation of key distribution and higher security guarantees based on the security state of the Attester endpoint.</t>
        <t>A background-check variant can again be realized by letting the enterprise KMS request Attestation Results from the Verifier and using them when making key release decisions, following the pattern in <xref target="GenMech"/> and the background-check flow in <xref target="fig-rats-BCM-AB-Key-Distribution"/>.</t>
      </section>
    </section>
    <section anchor="key-binding">
      <name>Key Binding Claims</name>
      <t>This section defines a minimal, format-agnostic claim that can be used in Attestation Results to express the binding between cryptographic keys and an attested environment, in the context of a specific attestation and key management transaction.</t>
      <t>The intent of this claim is to provide a common semantic for key binding that can be consumed by Relying Parties when making key distribution and key agreement decisions, independent of the underlying RATS protocol, Evidence format, or key management protocol.</t>
      <section anchor="key-binding-overview">
        <name>Overview</name>
        <t>In the attestation-bound key distribution and key agreement mechanisms described in <xref target="GenMech"/>, the Verifier issues an Attestation Result (AR) that binds a public key to an Attester's environment and to a session identifier. The Relying Party (RP) then uses this binding when deciding whether and how to release key material or accept a negotiated key for that Attester.</t>
        <t>To make this binding explicit and interoperable, this document defines a key binding claim that can be included in an Attestation Result. The claim:</t>
        <ul spacing="normal">
          <li>
            <t>identifies the public key that is being bound;</t>
          </li>
          <li>
            <t>indicates how the key is intended to be used (for example, in key distribution or key agreement);</t>
          </li>
          <li>
            <t>associates the key with a specific attestation and key management transaction, via a <tt>session_id</tt>.</t>
          </li>
        </ul>
        <t>The key binding claim is intended to be used together with other attestation claims (for example, claims that describe the Attester's software, hardware, and configuration state) and with the overall appraisal result produced by the Verifier. It does not by itself convey trustworthiness information; it only expresses that the Verifier has established the cryptographic and transactional binding between a key and an attested environment.</t>
      </section>
      <section anchor="key-binding-semantics">
        <name>Key Binding Claim Semantics</name>
        <t>A key binding claim in an Attestation Result has the following semantics:</t>
        <t>The Verifier asserts that a specific public key is under the control of the Attester's environment that was appraised, and that this public key is bound to the attestation and key management transaction identified by a <tt>session_id</tt>. The Verifier also indicates the intended usage of the key in that transaction.</t>
        <t>More precisely:</t>
        <ul spacing="normal">
          <li>
            <t>The claim identifies a public key associated with the Attester:  </t>
            <ul spacing="normal">
              <li>
                <t>In the attestation-bound key distribution mechanism, this public key corresponds to <tt>pk_attester</tt>, that is, the public key credential that the RP uses to protect key delivery towards the Attester (see <xref target="fig-rats-PM-AB-Key-Distribution"/> and <xref target="fig-rats-BCM-AB-Key-Distribution"/>).</t>
              </li>
              <li>
                <t>In the attestation-bound key agreement mechanism, this public key corresponds to <tt>pk_server</tt>, that is, the server-side key agreement public key used to derive the shared session key (for example, an ECDHE public key; see <xref target="fig-rats-PM-AB-Key-Agreement"/> and <xref target="fig-rats-BCM-AB-Key-Agreement"/>).</t>
              </li>
            </ul>
          </li>
          <li>
            <t>The claim associates the public key with a session identifier, <tt>session_id</tt>, that is carried across Evidence, Attestation Results, and key management messages for the same transaction. This association is used to mitigate replay and mix-and-match attacks, by ensuring that a key binding is only used in the context of the corresponding attestation and key management interaction.</t>
          </li>
          <li>
            <t>The claim indicates the intended usage of the key in the current transaction, such as:  </t>
            <ul spacing="normal">
              <li>
                <t>use of the key as an encryption target for key distribution (for example, encrypting keys to <tt>pk_attester</tt>); or</t>
              </li>
              <li>
                <t>use of the key as a peer public key in a key agreement protocol (for example, using <tt>pk_server</tt> in ECDHE).</t>
              </li>
            </ul>
          </li>
        </ul>
        <t>The key binding claim is asserted by the Verifier, based on its verification of the Evidence and the RATS protocol-specific protection of the public key and <tt>session_id</tt> (for example, by including them in signed Evidence or in a protected attestation request). The claim therefore expresses that the Verifier has established a cryptographic binding between the Attester's environment, the public key, and the <tt>session_id</tt>.</t>
        <t>The freshness and anti-replay properties of the key binding claim are inherited from the underlying RATS mechanisms (for example, nonces, timestamps, and anti-replay state) and from the protection of the Attestation Result itself. This document does not define additional freshness mechanisms for the key binding claim.</t>
      </section>
      <section anchor="key-binding-ie">
        <name>Information Elements</name>
        <t>The key binding claim is conceptually composed of the following information elements:</t>
        <ul spacing="normal">
          <li>
            <t>Key Type (<tt>kb-key-type</tt>): identifies the representation of the public key that is being bound. Examples include:  </t>
            <ul spacing="normal">
              <li>
                <t>a raw public key (for example, a COSE_Key or JOSE JWK representation);</t>
              </li>
              <li>
                <t>an X.509 certificate that contains the public key;</t>
              </li>
              <li>
                <t>a CBOR-encoded certificate (for example, a C509 certificate).</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Key Value or Hash:  </t>
            <ul spacing="normal">
              <li>
                <t><tt>kb-key-value</tt>: the encoded public key object (for example, a DER-encoded certificate, or a CBOR-encoded key); or</t>
              </li>
              <li>
                <t><tt>kb-key-hash</tt>: a cryptographic hash of the encoded public key object (for example, a SHA-256 digest).</t>
              </li>
            </ul>
            <t>
A deployment may choose to carry either the full key value, only the hash, or both. For example, carrying the full key value may be preferable on first use, while later interactions can use only the hash to reduce message size, as discussed in <xref target="Optimization_Considerations"/>.</t>
          </li>
          <li>
            <t>Session Identifier (<tt>kb-session-id</tt>): the session identifier that links the key binding to a specific attestation and key management transaction. The <tt>kb-session-id</tt> value <bcp14>MUST</bcp14> be identical to the <tt>session_id</tt> that is carried in the Evidence and in any key management messages for that transaction.</t>
          </li>
          <li>
            <t>Key Usage (<tt>kb-usage</tt>): indicates how the public key is intended to be used in the current transaction. This document defines the following usage values:  </t>
            <ul spacing="normal">
              <li>
                <t><tt>key-distribution</tt>: the key is used by the RP as an encryption or wrapping key for delivering keys or key-protected services to the Attester (for example, <tt>pk_attester</tt> in the KMS scenarios described in <xref target="Public_Cloud_KMS_Scenario"/> and <xref target="Enterprise_KMS_Scenario"/>).</t>
              </li>
              <li>
                <t><tt>key-agreement</tt>: the key is used by the RP as a peer public key in a key agreement protocol (for example, <tt>pk_server</tt> in the E2E key agreement scenario described in <xref target="End_User_to_AI_Data_Center_Scenario"/>).</t>
              </li>
            </ul>
          </li>
        </ul>
        <t>Additional usage values <bcp14>MAY</bcp14> be defined by future specifications or deployment-specific profiles.</t>
      </section>
      <section anchor="key-binding-cddl">
        <name>CDDL Definition</name>
        <t>When the key binding claim is carried in an Entity Attestation Token (EAT) <xref target="RFC9711"/>, it is <bcp14>RECOMMENDED</bcp14> to be specified using CDDL in a way that is consistent with the EAT claim definition style. The following CDDL defines a generic structure for the key binding claim:</t>
        <artwork><![CDATA[
; Key Binding Claim

key-binding-claim = {
  kb-key-type    : kb-key-type-choice,
  ? kb-key-value : bstr, ; Encoded public key (e.g., DER, CBOR) 
  ? kb-key-hash :  bstr, ; Hash of kb-key-value (hash algorithm defined by profile)
  kb-session-id  : bstr,          ; Session identifier for this transaction
  kb-usage       : kb-usage-choice
}

kb-key-type-choice = &(
  raw-public-key     : 1,
  x509-certificate   : 2,
  cbor-certificate   : 3
)

kb-usage-choice = &(
  key-distribution   : 1,
  key-agreement      : 2
)
]]></artwork>
        <t>The following considerations apply:</t>
        <ul spacing="normal">
          <li>
            <t>The <tt>kb-key-value</tt> and <tt>kb-key-hash</tt> fields are both <bcp14>OPTIONAL</bcp14> at the encoding level, but at least one of them <bcp14>MUST</bcp14> be present. If both are present, they <bcp14>MUST</bcp14> be consistent (that is, <tt>kb-key-hash</tt> <bcp14>MUST</bcp14> be the hash of <tt>kb-key-value</tt> according to the algorithm and encoding agreed in the deployment).</t>
          </li>
          <li>
            <t>The concrete encoding of the public key in <tt>kb-key-value</tt> (for example, the specific COSE_Key, JOSE JWK, X.509, or C509 format) is outside the scope of this document and is determined by deployment-specific or protocol-specific profiles.</t>
          </li>
          <li>
            <t>The <tt>kb-session-id</tt> value <bcp14>MUST</bcp14> be treated as an opaque byte string by the Verifier and RP. Its format and generation are defined by the RATS protocol and key management protocol in use, as discussed in <xref target="GenMech"/>.</t>
          </li>
          <li>
            <t>The <tt>kb-usage</tt> field enables the RP to distinguish between keys that are meant for key distribution and those that are meant for key agreement. A single Attestation Result <bcp14>MAY</bcp14> contain multiple key binding claims with different <tt>kb-usage</tt> values, for example when an Attester uses different keys for key distribution and key agreement in the same environment.</t>
          </li>
        </ul>
        <t>When the key binding claim is carried in other Attestation Result formats, an equivalent structure and semantics <bcp14>SHOULD</bcp14> be provided by the corresponding specification or profile.</t>
      </section>
      <section anchor="key-binding-rp-req">
        <name>Relying Party Requirements</name>
        <t>An RP that relies on key binding claims for key distribution or key agreement decisions:</t>
        <ul spacing="normal">
          <li>
            <t><bcp14>MUST</bcp14> verify that the Attestation Result containing the key binding claim is authentic and has not expired, according to the protection and freshness mechanisms of the RATS protocol and Attestation Result format in use.</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> verify that the <tt>kb-session-id</tt> value in the key binding claim matches the <tt>session_id</tt> used in the corresponding key management messages for the current transaction. An RP <bcp14>MUST NOT</bcp14> use a key binding claim whose <tt>kb-session-id</tt> does not match the <tt>session_id</tt> of the transaction in which the key is to be used.</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> verify that the key identified by the key binding claim (either via <tt>kb-key-value</tt> or <tt>kb-key-hash</tt>) matches the key that is used in the key management protocol:  </t>
            <ul spacing="normal">
              <li>
                <t>In the key distribution case, the RP <bcp14>MUST</bcp14> ensure that it encrypts or wraps keys to the public key indicated in the key binding claim (<tt>kb-usage = key-distribution</tt>).</t>
              </li>
              <li>
                <t>In the key agreement case, the RP <bcp14>MUST</bcp14> ensure that the peer public key used in the key agreement protocol matches the public key indicated in the key binding claim (<tt>kb-usage = key-agreement</tt>).</t>
              </li>
            </ul>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> combine the key binding claim with the overall appraisal result and any other relevant claims in the Attestation Result when making key distribution or key acceptance decisions. In particular, the presence of a key binding claim does not by itself imply that the Attester's environment is trustworthy; it only asserts the binding between a key and that environment.</t>
          </li>
        </ul>
        <t>An RP <bcp14>SHOULD NOT</bcp14> reuse a key binding claim across different transactions or <tt>session_id</tt> values. If an RP wishes to support re-use of previously established key bindings (for example, for optimization purposes), it <bcp14>SHOULD</bcp14> do so in a way that is consistent with the freshness, anti-replay, and policy requirements of the deployment, and <bcp14>SHOULD</bcp14> be guided by the recommendations in <xref target="Optimization_Considerations"/></t>
      </section>
    </section>
    <section anchor="remote-attestation-protocol-and-message-extensions">
      <name>Remote Attestation Protocol and Message Extensions</name>
      <t>This document focuses on defining a generic attestation-bound key management mechanism and the minimal key binding claim semantics needed to support it (see <xref target="GenMech"/> and <xref target="key-binding"/>). It does not, in this revision, specify concrete protocol mappings or message extensions for any particular RATS protocol or attestation transport. Future revisions of this document, or separate companion documents, may define how the key binding claim and related information are conveyed in specific RATS protocols and deployment architectures (e.g., by profiling existing attestation transports or by defining new protocol extensions). Until such mappings are specified, the details of how Evidence and Attestation Results carry the key binding claim remain deployment-specific.</t>
      <t>TBD.</t>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t>// RFC Editor: please remove this section prior to publication.
This section records the status of known implementations of the protocol defined by this specification at the time of posting of this Internet-Draft, and is based on a proposal described in <xref target="RFC7942"/>. The description of implementations in this section is intended to assist the IETF in its decision processes in progressing drafts to RFCs.  Please note that the listing of any individual implementation here does not imply endorsement by the IETF.  Furthermore, no effort has been spent to verify the information presented here that was supplied by IETF contributors.  This is not intended as, and must not be construed to be, a catalog of available implementations or their features.  Readers are advised to note that other implementations may exist.</t>
      <t>According to <xref target="RFC7942"/>, "this will allow reviewers and working groupsto assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature. It is up to the individual working groups to use this information as they see fit".</t>
      <section anchor="trustee">
        <name>Trustee</name>
        <t>Responsible Organisation: Trustee (open source project within the Confidential Containers).</t>
        <t>Location: https://github.com/confidential-containers/trustee</t>
        <t>Description: 
Trustee contains tools and components for attesting confidential guests and providing secrets to them. Collectively, these components are known as Trustee. Trustee typically operates on behalf of the guest owner and interact remotely with guest components. Trustee components include:
- Key Broker Service: The KBS is a server that facilitates remote attestation and secret delivery. Its role is similar to that of the Relying Party in the RATS model;
- Attestation Service: The AS verifies TEE evidence. In the RATS model this is a Verifier;
- Reference Value Provider Service: The RVPS manages reference values used to verify TEE evidence;
- KBS Client Tool: This is a simple tool which can be used to test or configure the KBS and AS.</t>
        <t>There are two main ways to deploy Trustee: with Docker Compose, on Kubernetes.</t>
        <t>Level of Maturity: This is a proof-of-concept prototype implementation.</t>
        <t>License: Apache-2.0.</t>
        <t>Coverage: This implementation covers most of the aspects of the use case 1 and 3 of this draft.</t>
        <t>Contact: Ding Ma, xynnn@linux.alibaba.com</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="key-diversion-attacks">
        <name>Key Diversion Attacks</name>
        <t>An adversary may attempt a key‑parameter misbinding attack by intercepting
an Attestation Result and forwarding it to a different endpoint, or
by substituting a public key in the Attestation Result for one under
the adversary's control.  The mechanisms in this document mitigate
this threat by requiring the Verifier to cryptographically bind the
Attester's public key (<tt>pk_attester</tt> or <tt>pk_server</tt>) to the
Attestation Result (see <xref target="GenMech"/> and <xref target="key-binding"/>).  A Relying
Party <bcp14>MUST</bcp14> verify that the public key used in the actual key
distribution or key agreement operation matches the key bound in the
Attestation Result, as specified in <xref target="key-binding-rp-req"/>.  If this
verification fails, the RP <bcp14>MUST</bcp14> abort the transaction and <bcp14>MUST NOT</bcp14>
release any key material.  This requirement addresses the threat
described in <xref target="Misbinding-RPK-TLS"/>.</t>
      </section>
      <section anchor="mix-and-match-attacks">
        <name>Mix-and-Match Attacks</name>
        <t>A <em>mix-and-match attack</em> occurs when an adversary combines
Attestation Results and key material from different sessions or
transactions, for example by replaying a valid Attestation Result
from session A in the context of session B, or by substituting the
key material from one attested interaction into another.  The
<tt>session_id</tt> carried in Evidence, Attestation Results, and key
management messages (see <xref target="GenMech"/>) is the primary countermeasure:
a Relying Party <bcp14>MUST</bcp14> verify that the <tt>kb-session-id</tt> value in the
key binding claim matches the <tt>session_id</tt> of the current
transaction, and <bcp14>MUST NOT</bcp14> accept an Attestation Result whose
<tt>session_id</tt> does not match (see <xref target="key-binding-rp-req"/>).  Relying
Parties <bcp14>SHOULD NOT</bcp14> reuse Attestation Results across different
<tt>session_id</tt> values.  The freshness and anti-replay properties of
the underlying RATS mechanisms (e.g., nonces, timestamps) further
limit the window in which such attacks can be mounted.</t>
      </section>
      <section anchor="scope-of-attestation-and-policy-enforcement">
        <name>Scope of Attestation and Policy Enforcement</name>
        <t>The key binding claim defined in <xref target="key-binding"/> asserts only that
the Verifier has established a cryptographic binding between a public
key and an attested environment.  It does not by itself imply that
the Attester's environment is trustworthy or that any particular
security policy has been satisfied.  A Relying Party <bcp14>MUST</bcp14> evaluate
the full Attestation Result — including the overall appraisal
outcome and any additional claims about the Attester's software,
hardware, and configuration state — before releasing key material or
accepting a negotiated key.  In particular, the <tt>kb-usage</tt> field
(<xref target="key-binding-ie"/>) only identifies the intended cryptographic role
of the key; it is the RP's responsibility to ensure that the
Attester's environment satisfies its deployment-specific security
policy before keys are distributed or accepted.  Implementations
<bcp14>SHOULD</bcp14> follow the principle of least privilege: key material <bcp14>SHOULD</bcp14>
only be released to environments that satisfy the minimum-required
policy, and the RP <bcp14>SHOULD</bcp14> reject requests from environments that
report degraded or unknown trust status.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>The mechanisms defined in this document introduce several interactions
that may affect the privacy of Attesters and end users. This section
identifies the main privacy concerns and provides recommendations for
mitigating them.</t>
      <section anchor="identity-binding-and-attester-identification">
        <name>Identity Binding and Attester Identification</name>
        <t>The key binding claim defined in <xref target="key-binding"/> explicitly binds a
public key (<tt>pk_attester</tt> or <tt>pk_server</tt>) to an Attester's environment
and conveys this binding in an Attestation Result. When a long-term
identity key (e.g., a persistent raw public key or an X.509
certificate) is used as <tt>kb-key-value</tt>, the Attester's identity
becomes directly observable to any party that receives the Attestation
Result, including the Verifier and the Relying Party.</t>
        <t>A static, long-term public key used across multiple attestation
transactions enables correlation of those transactions by any observer
with access to the Attestation Results or the key management messages.
This is a particular concern in the End User to AI Data Center scenario
(<xref target="End_User_to_AI_Data_Center_Scenario"/>), where persistent binding of
a user's identity key across sessions may allow the Relying Party or
an intermediate Verifier to build a profile of the user's attestation
history.</t>
        <t>To mitigate this, deployments <bcp14>SHOULD</bcp14> prefer the use of short-lived or
session-specific public keys (e.g., ephemeral ECDHE keys as <tt>pk_server</tt>)
over long-term identity keys wherever the protocol and policy permit.
When a long-term key must be used for <tt>pk_attester</tt> (e.g., in key
distribution scenarios where stable identity is required by the RP
policy), the scope of its disclosure <bcp14>SHOULD</bcp14> be limited to the parties
that operationally require it. Attestation Results containing long-term
identity keys <bcp14>SHOULD NOT</bcp14> be forwarded to parties beyond those involved
in the key management transaction.</t>
        <t>Implementations are <bcp14>RECOMMENDED</bcp14> to use pseudonymous or unlinkable
attestation credentials (e.g., DAA-based attestation) where available
and consistent with deployment policy, in order to prevent the
Verifier or Relying Party from tracking individual Attesters across
independent transactions.</t>
      </section>
      <section anchor="hash-based-optimization-and-key-traceability">
        <name>Hash-based Optimization and Key Traceability</name>
        <t>The optimization described in <xref target="Optimization_Considerations"/> allows an
Attester to replace the full public key or certificate with its hash
(<tt>kb-key-hash</tt>) in subsequent attestation transactions with the same
Relying Party, once the full key has been established in an initial
interaction. While this optimization reduces message size, it introduces
a privacy implication: the hash of a stable, long-term public key is
itself a stable, pseudonymous identifier for the Attester.</t>
        <t>If the same <tt>kb-key-hash</tt> value appears across multiple sessions or
protocol interactions, an observer that has access to Attestation
Results or Evidence from different sessions can correlate those
sessions to the same Attester, even without access to the full public
key. This applies to any party on the path between the Attester,
Verifier, and Relying Party that can observe the Attestation Result
content.</t>
        <t>To mitigate this, deployments that employ the hash optimization <bcp14>SHOULD</bcp14>
rotate the underlying public key at a frequency that is consistent with
their privacy requirements. When key rotation occurs, the first
interaction after the rotation <bcp14>MUST</bcp14> carry the full <tt>kb-key-value</tt>
rather than only the hash. If the deployment requires strong unlinkability
across sessions, the use of short-lived keys (which are inherently
different across sessions) is preferable to the hash optimization.
Implementations <bcp14>SHOULD NOT</bcp14> use the hash optimization in contexts where
session-level unlinkability is a requirement.</t>
      </section>
      <section anchor="session-identifier-correlation">
        <name>Session Identifier Correlation</name>
        <t>The <tt>session_id</tt> (or <tt>kb-session-id</tt>) is carried across Evidence,
Attestation Results, and key management messages to allow the Attester,
Verifier, and Relying Party to correlate messages belonging to the same
attestation and key management transaction (see <xref target="GenMech"/> and
<xref target="key-binding-ie"/>). This correlation is necessary for the security
properties of the mechanism (in particular, to prevent replay and
mix-and-match attacks). However, it also means that any party with
access to multiple messages in a transaction can link those messages
to the same session.</t>
        <t>If the <tt>session_id</tt> value is reused across multiple distinct
attestation transactions — for example, because it is derived from a
stable Attester identifier or because the implementation fails to
generate a fresh value per transaction — it becomes a persistent
identifier that enables cross-session correlation. An observer that
can access Attestation Results or Evidence from different transactions
sharing the same <tt>session_id</tt> can link those transactions to the same
Attester.</t>
        <t>To mitigate this, implementations <bcp14>MUST</bcp14> generate a fresh, unpredictable
<tt>session_id</tt> for each independent attestation and key management
transaction. The <tt>session_id</tt> <bcp14>SHOULD</bcp14> be generated as a
cryptographically random value of sufficient entropy (e.g., at least
128 bits) to prevent guessing or enumeration. Relying Parties <bcp14>MUST NOT</bcp14>
reuse a <tt>session_id</tt> value across different transactions, and <bcp14>MUST NOT</bcp14>
accept an Attestation Result whose <tt>kb-session-id</tt> does not match the
<tt>session_id</tt> of the current transaction, as required by
<xref target="key-binding-rp-req"/>.</t>
      </section>
      <section anchor="verifier-visibility-into-attestation-history">
        <name>Verifier Visibility into Attestation History</name>
        <t>In both the passport model and the background-check model, the Verifier
receives Evidence that includes the Attester's public key and the
<tt>session_id</tt>. The Verifier therefore has visibility into each
attestation transaction and may be able to correlate transactions over
time if the same Attester key or <tt>session_id</tt> generation pattern is
observed across multiple interactions.</t>
        <t>Deployments <bcp14>SHOULD</bcp14> treat the Verifier as a partially trusted entity
with respect to Attester privacy. Where privacy is a priority,
deployments <bcp14>SHOULD</bcp14> consider architectures in which the Verifier cannot
link multiple attestation requests to the same Attester (for example,
by using anonymous attestation mechanisms or by routing attestation
requests through privacy-preserving intermediaries). The frequency and
timing of attestation requests <bcp14>SHOULD</bcp14> be managed to reduce the amount
of behavioral information exposed to the Verifier.</t>
      </section>
      <section anchor="disclosure-minimization">
        <name>Disclosure Minimization</name>
        <t>Attestation Results and Evidence may carry information about the
Attester's hardware, software, and configuration state, beyond the
key binding claim defined in this document. Such information can be
sensitive and may reveal details about the Attester's deployment
environment, software stack, or operational context.</t>
        <t>Verifiers <bcp14>SHOULD</bcp14> issue Attestation Results that contain the minimum
set of claims necessary for the Relying Party to make its key
distribution or key acceptance decision. Relying Parties <bcp14>SHOULD NOT</bcp14>
request or retain more attestation information than is required for
their operational purpose. Attestation Result formats that support
selective disclosure or audience-restricted tokens <bcp14>SHOULD</bcp14> be preferred
in privacy-sensitive deployments.</t>
      </section>
    </section>
    <section anchor="Optimization_Considerations">
      <name>Optimization Considerations</name>
      <t>For the first connection between the Attester and the Relying Party, embedding the raw public key/certificate inside the Attestation Result is necessary as it simplifies the delivery of the raw public key/certificate from the Attester. For subsequent connections between this Attester and the Relying Party, if the raw public key/certificate remains unchanged, the Attester <bcp14>MAY</bcp14> choose to use the hash of its raw public key/certificate instead in the Evidence/Attestation Result between itself and the Verifier, and only
forward the Attestation Result that contains the hash of its raw public key/certificate. At the Relying Party side, it compares this hash with the hash of the locally cached raw public key/certificate, and uses the corresponding raw public key/certificate for this session when it matches. This reduces the payload carried by the Evidence and the Attestation Result.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="eat-claims-registry">
        <name>EAT Claims Registry</name>
        <t>This document requests IANA to register the following claim in the
"JSON Web Token Claims" registry established by <xref target="RFC7519"/> and in
the "CBOR Web Token (CWT) Claims" registry established by <xref target="RFC8392"/>,
in accordance with the EAT claim registration procedures defined in
<xref target="RFC9711"/>.</t>
        <section anchor="key-binding-claim">
          <name>Key Binding Claim</name>
          <t>The following claim is defined in <xref target="key-binding"/> of this document:</t>
          <artwork><![CDATA[
+-------------------+-----------+----------------------------------+
| Claim Name        | Claim Key | Description                      |
+-------------------+-----------+----------------------------------+
| key-binding-claim |    TBD    | Binds a public key and session   |
|                   |           | identifier to an attested        |
|                   |           | environment                      |
+-------------------+-----------+----------------------------------+
]]></artwork>
          <t>Change Controller: IETF
   Reference: This document</t>
          <t>IANA is requested to allocate a claim key for "key-binding-claim"
from the "Specification Required" range of the CBOR Web Token (CWT)
Claims registry.</t>
        </section>
      </section>
      <section anchor="key-binding-claim-sub-registries">
        <name>Key Binding Claim Sub-Registries</name>
        <section anchor="key-binding-key-type-kb-key-type-registry">
          <name>Key Binding Key Type (kb-key-type) Registry</name>
          <t>IANA is requested to create a new registry titled "RATS Key Binding
Key Types" under the "Remote ATtestation ProcedureS (RATS)"
registry group.</t>
          <t>Registration policy: Specification Required <xref target="RFC8126"/>.</t>
          <t>Initial registrations:</t>
          <artwork><![CDATA[
+-------+------------------+--------------------------------------+
| Value | Name             | Description                          |
+-------+------------------+--------------------------------------+
|   1   | raw-public-key   | Raw public key (e.g., COSE_Key or    |
|       |                  | JOSE JWK encoding)                   |
|   2   | x509-certificate | X.509 certificate containing the     |
|       |                  | public key                           |
|   3   | cbor-certificate | CBOR-encoded certificate (e.g.,      |
|       |                  | C509)                                |
+-------+------------------+--------------------------------------+
]]></artwork>
          <t>Values 0 and 4–127 are available for assignment by IANA.
Values 128–255 are reserved for Private Use.</t>
        </section>
        <section anchor="key-binding-key-usage-kb-usage-registry">
          <name>Key Binding Key Usage (kb-usage) Registry</name>
          <t>IANA is requested to create a new registry titled "RATS Key Binding
Key Usages" under the "Remote ATtestation ProcedureS (RATS)"
registry group.</t>
          <t>Registration policy: Specification Required <xref target="RFC8126"/>.</t>
          <t>Initial registrations:</t>
          <artwork><![CDATA[
+-------+------------------+--------------------------------------+
| Value | Name             | Description                          |
+-------+------------------+--------------------------------------+
|   1   | key-distribution | Key is used as encryption/wrapping   |
|       |                  | target for RA-bound key distribution |
|   2   | key-agreement    | Key is used as peer public key in    |
|       |                  | RA-bound key agreement (e.g., ECDHE) |
+-------+------------------+--------------------------------------+
]]></artwork>
          <t>Values 0 and 3–127 are available for assignment by IANA.
Values 128–255 are reserved for Private Use.</t>
          <t>Additional "kb-usage" values <bcp14>MAY</bcp14> be defined by future specifications
or deployment-specific profiles through the Specification Required
process defined above.</t>
        </section>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9334"/>
          <seriesInfo name="DOI" value="10.17487/RFC9334"/>
        </reference>
        <reference anchor="RFC8784">
          <front>
            <title>Mixing Preshared Keys in the Internet Key Exchange Protocol Version 2 (IKEv2) for Post-quantum Security</title>
            <author fullname="S. Fluhrer" initials="S." surname="Fluhrer"/>
            <author fullname="P. Kampanakis" initials="P." surname="Kampanakis"/>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="V. Smyslov" initials="V." surname="Smyslov"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>The possibility of quantum computers poses a serious challenge to cryptographic algorithms deployed widely today. The Internet Key Exchange Protocol Version 2 (IKEv2) is one example of a cryptosystem that could be broken; someone storing VPN communications today could decrypt them at a later time when a quantum computer is available. It is anticipated that IKEv2 will be extended to support quantum-secure key exchange algorithms; however, that is not likely to happen in the near term. To address this problem before then, this document describes an extension of IKEv2 to allow it to be resistant to a quantum computer by using preshared keys.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8784"/>
          <seriesInfo name="DOI" value="10.17487/RFC8784"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC9711">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="L. Lundblade" initials="L." surname="Lundblade"/>
            <author fullname="G. Mandyam" initials="G." surname="Mandyam"/>
            <author fullname="J. O'Donoghue" initials="J." surname="O'Donoghue"/>
            <author fullname="C. Wallace" initials="C." surname="Wallace"/>
            <date month="April" year="2025"/>
            <abstract>
              <t>An Entity Attestation Token (EAT) provides an attested claims set that describes the state and characteristics of an entity, a device such as a smartphone, an Internet of Things (IoT) device, network equipment, or such. This claims set is used by a relying party, server, or service to determine the type and degree of trust placed in the entity.</t>
              <t>An EAT is either a CBOR Web Token (CWT) or a JSON Web Token (JWT) with attestation-oriented claims.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9711"/>
          <seriesInfo name="DOI" value="10.17487/RFC9711"/>
        </reference>
        <reference anchor="RFC7942">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <reference anchor="RFC7519">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7519"/>
          <seriesInfo name="DOI" value="10.17487/RFC7519"/>
        </reference>
        <reference anchor="RFC8392">
          <front>
            <title>CBOR Web Token (CWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties. The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection. A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value. CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8392"/>
          <seriesInfo name="DOI" value="10.17487/RFC8392"/>
        </reference>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.fossati-tls-attestation">
          <front>
            <title>Using Attestation in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
         </author>
            <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer">
              <organization>Intuit</organization>
            </author>
            <author fullname="Paul Howard" initials="P." surname="Howard">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Ionuț Mihalcea" initials="I." surname="Mihalcea">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Yogesh Deshpande" initials="Y." surname="Deshpande">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Arto Niemi" initials="A." surname="Niemi">
              <organization>Huawei</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <date day="30" month="April" year="2025"/>
            <abstract>
              <t>   The TLS handshake protocol allows authentication of one or both peers
   using static, long-term credentials.  In some cases, it is also
   desirable to ensure that the peer runtime environment is in a secure
   state.  Such an assurance can be achieved using attestation which is
   a process by which an entity produces evidence about itself that
   another party can use to appraise whether that entity is found in a
   secure state.  This document describes a series of protocol
   extensions to the TLS 1.3 handshake that enables the binding of the
   TLS authentication key to a remote attestation session.  This enables
   an entity capable of producing attestation evidence, such as a
   confidential workload running in a Trusted Execution Environment
   (TEE), or an IoT device that is trying to authenticate itself to a
   network access point, to present a more comprehensive set of security
   metrics to its peer.  These extensions have been designed to allow
   the peers to use any attestation technology, in any remote
   attestation topology, and mutually.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-fossati-tls-attestation-09"/>
        </reference>
        <reference anchor="I-D.fossati-tls-exported-attestation">
          <front>
            <title>Remote Attestation with Exported Authenticators</title>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Muhammad Usama Sardar" initials="M. U." surname="Sardar">
              <organization>TU Dresden</organization>
            </author>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization>Nokia</organization>
            </author>
            <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer">
              <organization>Intuit</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
            </author>
            <author fullname="Ionuț Mihalcea" initials="I." surname="Mihalcea">
              <organization>Arm Limited</organization>
            </author>
            <date day="3" month="July" year="2025"/>
            <abstract>
              <t>   This specification defines a method for two parties in a
   communication interaction to exchange Evidence and Attestation
   Results using exported authenticators, as defined in RFC 9261.
   Additionally, it introduces the cmw_attestation extension, which
   allows attestation credentials to be included directly in the
   Certificate message sent during the Exported Authenticator-based
   post-handshake authentication.  The approach supports both the
   passport and background check models from the RATS architecture while
   ensuring that attestation remains bound to the underlying
   communication channel.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-fossati-tls-exported-attestation-02"/>
        </reference>
        <reference anchor="I-D.ietf-lamps-csr-attestation">
          <front>
            <title>Use of Remote Attestation with Certification Signing Requests</title>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Cryptic Forest Software</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>Siemens</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Monty Wiseman" initials="M." surname="Wiseman">
         </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
         </author>
            <date day="27" month="March" year="2026"/>
            <abstract>
              <t>   Certification Authorities (CAs) issuing certificates to Public Key
   Infrastructure (PKI) end entities may require a certificate signing
   request (CSR) to include additional verifiable information to confirm
   policy compliance.  For example, a CA may require an end entity to
   demonstrate that the private key corresponding to a CSR's public key
   is secured by a hardware security module (HSM), is not exportable,
   etc.  The process of generating, transmitting, and verifying
   additional information required by the CA is called remote
   attestation.  While work is currently underway to standardize various
   aspects of remote attestation, a variety of proprietary mechanisms
   have been in use for years, particularly regarding protection of
   private keys.

   This specification defines ASN.1 structures which may carry
   attestation data for PKCS#10 and Certificate Request Message Format
   (CRMF) messages.  Both standardized and proprietary attestation
   formats are supported by this specification.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-csr-attestation-24"/>
        </reference>
        <reference anchor="I-D.ietf-lake-ra">
          <front>
            <title>Remote attestation over EDHOC</title>
            <author fullname="SONG Yuxuan" initials="Y." surname="Song">
              <organization>Inria</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <date day="26" month="April" year="2026"/>
            <abstract>
              <t>   This document specifies how to perform remote attestation as part of
   the lightweight authenticated Diffie-Hellman key exchange protocol
   EDHOC (Ephemeral Diffie-Hellman Over COSE), based on the Remote
   ATtestation procedureS (RATS) architecture.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lake-ra-05"/>
        </reference>
        <reference anchor="I-D.ietf-tls-hybrid-design">
          <front>
            <title>Hybrid key exchange in TLS 1.3</title>
            <author fullname="Douglas Stebila" initials="D." surname="Stebila">
              <organization>University of Waterloo</organization>
            </author>
            <author fullname="Scott Fluhrer" initials="S." surname="Fluhrer">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Shay Gueron" initials="S." surname="Gueron">
              <organization>University of Haifa and Meta</organization>
            </author>
            <date day="7" month="September" year="2025"/>
            <abstract>
              <t>   Hybrid key exchange refers to using multiple key exchange algorithms
   simultaneously and combining the result with the goal of providing
   security even if a way is found to defeat the encryption for all but
   one of the component algorithms.  It is motivated by transition to
   post-quantum cryptography.  This document provides a construction for
   hybrid key exchange in the Transport Layer Security (TLS) protocol
   version 1.3.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-hybrid-design-16"/>
        </reference>
        <reference anchor="Misbinding-RPK-TLS" target="https://arxiv.org/abs/2411.09770">
          <front>
            <title>Misbinding Raw Public Keys to Identities in TLS</title>
            <author initials="M." surname="Moustafa">
              <organization/>
            </author>
            <author initials="M." surname="Sethi">
              <organization/>
            </author>
            <author initials="T." surname="Aura">
              <organization/>
            </author>
            <date year="2024"/>
          </front>
        </reference>
      </references>
    </references>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="T." surname="Fossati" fullname="Thomas Fossati">
        <organization>Linaro</organization>
        <address>
          <email>Thomas.Fossati@linaro.org</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
