<?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 xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-xia-rats-key-negotiation-integration-03" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.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-03"/>
    <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>
    <author initials="T." surname="Fossati" fullname="Thomas Fossati">
      <organization>Linaro</organization>
      <address>
        <email>Thomas.Fossati@linaro.org</email>
      </address>
    </author>
    <date year="2026" month="October" day="30"/>
    <area>Security</area>
    <workgroup>Remote ATtestation ProcedureS</workgroup>
    <keyword>RATS</keyword>
    <keyword>attestation</keyword>
    <keyword>key negotiation</keyword>
    <abstract>
      <?line 67?>

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

<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="sec-cloud-kms">
        <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="sec-opt-con"/>.</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="sec-cloud-kms"/> 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="sec-opt-con"/></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="sec-opt-con"/> 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="sec-opt-con">
      <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:
~~~
   +-------------------+-----------+----------------------------------+
   | Claim Name        | Claim Key | Description                      |
   +-------------------+-----------+----------------------------------+
   | key-binding-claim |    TBD    | Binds a public key and session   |
   |                   |           | identifier to an attested        |
   |                   |           | environment                      |
   +-------------------+-----------+----------------------------------+
~~~
   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:
~~~
   +-------+------------------+--------------------------------------+
   | 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)                                |
   +-------+------------------+--------------------------------------+
~~~
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:
~~~
   +-------+------------------+--------------------------------------+
   | 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) |
   +-------+------------------+--------------------------------------+
~~~
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="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.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">
              <organization>Independent</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
         </author>
            <date day="22" month="October" 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-32"/>
        </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="6" month="July" 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-06"/>
        </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. U." surname="Sardar">
              <organization/>
            </author>
            <author initials="M." surname="Moustafa">
              <organization/>
            </author>
            <author initials="T." surname="Aura">
              <organization/>
            </author>
            <date year="2024"/>
          </front>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
m8EYP8DkKWYz+AtZXo0oHI9FMjx6/ELCq5jVsftDhsVEEjqApePEGkriNgNY
FMuCXFHsMlOizcQY8/RbOFGMryn867j27kLAI/PgVuxTTx0MojIKLcMsiMdZ
W8UwBGaSGF3qSrRBKNIMZjM8GN5mx8A9m3WvxCPTjZm780F+2ISry+psAUpR
3QR8HpH+PuyclyarJvIy7tPW8+8p6e3Rn7f2GO0hlq8bDmQQZ8L9yUkzhzNa
kRGr1kvbjafNs2abRUt7kZVywFEOS0J1rVhdDo4Fkv5HH7VGd/7oo/QmK9fI
wNuipBeOGTbejDd8lE0fIPoOMTyZdP+71fUr/vq7A+vXiIldG5G2MoYX9qHP
5GS1xjoyyApG7mxm4pqAL03OoV3jUKDoj9jPrZgaCL4V6OOkb7nte543BoSJ
7wNjAPkjCtpNVaDPaQlscFjNhhIUCNhaZvgcvESBmUbDHIYByY86GolB0Icl
rNsAj5quSxN9Fi5l3LrolhVpQsEuPNIipixQyAjGqGt09OZWt4i5McQLiMbB
H9e4OJKWwsolCqJ8ZC42gzSJeKYMQxO+juUbpPvy2atiesCIhCIlq2s8+mxS
V5LuYBmUthyEBOwIJs6v+fTAcSLckm8t4Mk1TTUpdoNHJy7dNBl61Md5WXHy
guA0BZU15kTeJn8lb4QZ6jwvV42RjmTmotYFsF4Ur4fwwBAUg8ncoNQIrICj
YDtEByZeeke4p2O2mUO13EItUJiTgjStRfCXeYg5NFJDoz7crsrnPA6w3f41
Cx44ca8WQpMDNI4ArazXlF6WwXVQuc+vjNYnqOXMkinWioow/LWcohPdoCXa
qA1yTyfYo4r7XfqxU2KBJv/1X/81+Xhofz5O/Z/+r9Q3+GXy1ukmb4NB3joi
eBt+Y86E/kre6q/CR/u+equNbxiEV/Zx73Y+3rId809iZzpyjFsckoinGPGG
zfoMxK3IvD7s+/m495vh8O/eutl7fvq/0bOniqmA6MssT9r1dYXpAzbS7jF7
//Z2nb3niZ1ePzrfdzxYb3732TubP9h59t/0nvvOs9//R73eu/v4pvzXt6Dm
eyHtrot/qq1QseiAmxEb05vpeZ109ChZ7jB778Ft/XnvvSMXfnOYfnCH4c8J
zH+79xU7Jh4eAucTu/I5ubt++v7fPX/sY+uP1cPsvcOAyV85v7ed/yjOv+1n
NyL6X73f7PT6W08PMdu5x+uWtbw6Oxncf/Y+FrTb6/2c1b7eI/S2j+1mj8u8
XV/fero7zL5t7z5bv//r8NOByP1ej4vEXV7vVXj+KjjeZ+8dwdHjCQ4kxyOS
FI+jMZPDXSXIX1qAiOOCmD8KkP0L8u0c3EuA+OD8ZQXI/X7ectQTje/3UAUB
DKu6uDkepO83CjrOju/BmHtGUX+4US5MelferldGAg1oRq2ghi/el8TUSeyz
7wrscBu4v3gqvsD0b9OnJ18R1C4G3Q2HqzrYwhd+PqTiwosXGFHauy9ugUNU
7uzI83N0cGj31K4vkt/dE1g7Sxm18fsstSubfrZg2mJJuZXdDdU+RWfbi9uQ
PGY8/gWXek9y/PmC/s4XyTO+AQCoysCdXqSfYpa+eHrozyj/3vk+cBGJ5zgu
cowOljvfjJL3wZYlSxaGm5EyCC0X222vednk/lbveHFaNBMqx+gyzvc4zy32
7pHzAHsqy6eksrz0sj9iqgqHfVBhsSP9VVvpbifUVn6e/hqSNQPflrvts/Ds
QXW9FTfEHaK67ydARiXRdxbg76mM7zxEv/2+8xD9Nvw9hhAMJCs+PJf3NMY9
1IrrNDuMHzXKIxvZaYitKLzjKrY9FFGV7j1EV2m69xC9gmXXIbZFJt7bWN95
FfjTJ9XvSakR8X6fIXok/L1W0Xskuwzxi8h9+YmI/7tWkY1N2tIWVeCX4Z3b
nBl9asFn9/Rk9KgHX1OjINyE8hPJno7iyWgudj91AVkvi43SeWWQYtmTv0Kt
KkxReYqR/CG8v3AZpDCrjMEJpPlqDsvGWjibDGUqWCXge/6Ssjm4RlS9bzMo
ZDF9hTKjRADBhytvX9rkmiFVVimg0OSzTgjfy5aSUbam6Bz0Jg9Sfo8MYRdm
8h3i2YkuT+zYpT7bVQDITBbiXXnPOISkNsnrqv6aYeWo2uJMJNskSCyJZnzI
+yb1YEvaR6uzadyn86yVMTgv5GcmhfC+yBRMeEOg05VljmqdZG01u6TgtpXt
WHO1zmD8Ns+D1IUdEo1HdhDED/GTUerKCrtyNVxoH2QMgw46pV4iMIHbCP5w
1gblXpikYEM6QZYvUAonhthEYjuIqZCadop5GHZbw0cWTYzuZnPmLAeRc2Ni
rsaYO+sl6MoQVBGi6l7X9QqTZToZ6Zlejm1CIINQ4qJwBczTzV+33HiECzsd
evPWzo86+xAElGwVm5JqW5f4JaQ2icqiak8isM5elVzlGSZiMnB8ckTlUIoP
Juu6jiJ06CPxBLLZTE+XANDNLJ7YNXFPEJPaXLSGw9gCe+5YoI/IbnCfa48Z
dxWjUCerAXIgEPHSHTW66KxpGWNfhz2q2vFOGaxyeXF8utg+gwc5tt1ETGlU
+uaDJpd2RMPrRfOOu6pQqZEtKDKlNE1XvHTaSHAzojMhHzPEwCYy6/aJR9wZ
EZbTTZ1XBflNWBbaU8HjiPzHH7wSuzdvTI3Su4GT6661CmITHpjJNx6o703j
DPOtX7oqZaeuFZNNy06pOIO4ebOq6Ggrr9hlyNUshshmZXWrCipl3XdWDXyJ
qfdbcs8B4zCDkfNSQWKY6lSE/y7FBpThWzageoB4K8YlVhNewplyx5Xg7B8Y
O3+C28hN9YRuTINli7Y7C6OZ2ASsRXBDI6H5osauMJQ4p1N52zls9moeY0O2
bxJxMrProHjtQlJp9+HsDyRjs7jqY6e2hQolJhZ1uwYGsMgmc6w13P/2+YHd
9RIONK1MYxJ83CJPYfvbkDrUqNoeKuCz2lbPGlwfhoFNqJ8VZa4bNGBpRNFc
e8/C4XKZQSZ1hljf7pdlq/5FXv23UjePzh48fybVVypznuRbmWfXiL/EeuBV
6lA0kIe5FROnulLZhX6dqnNsRFdOjrj7omhbI/0RfOYceVBicJfYtgdeO30N
u6HtnyoM2b88PT0I+/9wdn4KX0nbAmmbEuhPRSPdAKlQDbV4EdSsM3rdfaQG
fyt+Idg9BrnMsd/QtW1TIaUCVcV1drixQXBIriOQEzSIbYP02+cDI6rYFJXW
QAqPDqzUpfZDmIGflsUsn2wmgEBKVYTZCSuVDEMWq1Wzpq1qeBwQqzKtW6U1
AjEWnG2QzoH/UbnYxMXsCbq6G8q+rQtZgh6F1fOn9skDYa6UMm87K6gc1/RC
BC+orxtqx3NJ9YINdwmh1yjyv1kAstVi0nRqStfEeQuqNGE+2Rymv5eOSjq7
X5ohNUyMXNPtUJcS26lqgnLVhfk0BuRU82KmZkX55PRpun+CY7lNIxa5ozql
R07tHPDnQOc/NIYmjgFdKrAdAQEJLxAX94+fPz1IXT2E2gk3ucBSfLbL9Hdc
Ssxz8Oq9qoacFwEkmBuZjIskLrAAVlyL5Yq1Efy1W++kAAu3Jh00IwvGSmHa
qCy0zid5cRM02OJ1Rr/iFUfhzXTqZnD7BtxFlADt3e0heAO3raqrt+x4FEU9
VLN/KdRDWdnoOjheXA+e2XQDI5iH6NvCD6hCMAOJqiFhtyjFd7nwOjgx5QpQ
kxvo8KFEz7doeMhGKlB+1sEiYduNfdhovgsL1wzNLd3pWtzp0e2bjJMl8orY
SYsNAlyJeTwYmgWbS3evXs+ypLoZkIcGs0gT3s5Oiivs2JCi+iFW7f2O96fv
/33LAcsa3Umas3HsiO2FsuRyXtMtxyhoWjWDJWZc/BvlG7HlklYV4SP9JxUi
p+Mldn4pqgv5iOHMPwvdLA75WB/dPtVbNuvFIpMSVNqtFGg0IcNt3Arl1KfG
Z4c9hpqBaIu2ZVVH/3MC9IHfW2ngxNsDn900A4PkSMgWnbkQv8SabWozZ7Yk
ml+D1S7FBNRv3ha5LD/E4T603kgqOgPIkMluUKeVdlNuVyPuzOT0iMClZx2h
+3V2G9TTT7DkhWricuu/UK4wUv3R+maQdiwAw4Op/im7CSdP9xkNscBSv2a9
VYYUr400tm4B9WasdlO/B1hb1eJjIiIo0HVpvZOuz0LMSfJhdHxSTVsFOmzR
YMqTsHbzwpbWlQovUX+VNlX21Q91617r4/V7Yfj1puJZFveazzwsQU9a388D
+LAolpm1wmo0TpDDhSXao/RkbfqaKsVSb4EafmJ8All4XVxdkVFTNPa4sSJw
NRU2gnr5C+otV0pTsExahrr2clFfhvHPHZlx4dRAZ82ZYXDrSnFeRKX6HMwd
7HhozFjrHm1caznPzuUOCJVfkW8bUXFFXse8N0XdYVON8QakT+usXmp+xa7I
WJmadU96zjjLpRcWM6SXgC7JxNo6M4/pY9PncrHSekdXR68vgl1ZpzDaN66x
LWnRx9zWVjm14KlX+NSrtnp1dPYKn3rFT70yT71j4w3OokIy7Tq7OvX0d/Rl
JRHEHXbv5wHDiMn+STGDQxg+yctygT1FTEiIuRCHVfZPy7IAWTAZHq/rG9BG
e98JmxHt4E7rbveuk1XONAMO6gFogprGn2YxwAeS3xbFd6/5LRbEV6b9WkH/
ImKHO3jPVDMDEr1l/os70HRXhZj3TEHrgWq52lgVfEltrNBPEW0Ojh6g8aJg
VasQBxHS6hhpUgpHTQAFPi7xRgHxnRRLqneVqMwCwOVcJB33G3bSK+q+FuV3
e+G8HseuHWC1XHJ/KDpjaVW4wD4J2Gm5WrHa5JrIRr1VqW7cbScSJxohBko9
7AA00I1TsTPeBXbGw255BAPqf8rYRuSMnQ7JU2R0YG6d2ObxHk6axiyL74KE
J1CdGijunLlOr4CvyNardYP3NJACh82X6AiNR1FAYUHguwvT/o6tRn0T7DOR
FOq9F5Q4Bx0BDU/w+prV/YwH2NiTU+FYu7EqgCWyNgwTZ3TtDnM6btysg138
+bVuvc7mUFlufFeao1jgJCuwq5OErDDda8yN5nNJOPDzI+bVEmK2Q8dagxgF
VWO/TX7HLzgfy5kH0UEIXEYBFR3ECGUX8v5Z/U8ubFQ9NrPqFCjt2QSadzJP
r1sGGYB39fSAbQy4e3XQEfo47Ag9cPbYWCV4+LaZacwxz8POaDaHozF6qxNT
tjWIwMWoxDspjDFiiOiMrPwSV22c+nwcaRHDkQXTIr3Tx0V1nInejsJ72E1J
VKZCqCfKyraqisKMBWpxzVFtzQzdVSnEeL9vDxxAU7D5StOVLNQuteSXaK6v
bPYpmBqjRbv0msd6GqX55hV8E2qRgDR1VIns2Al8IUCnYz9KGgoPBHfe3EON
7AZRqbncLrpfX9rQToHUYCddta+zsffW9iJx1S0H3hc83VEDnGRGC9xVBezY
LQ55GqtYSHCUXZCg/WH7X6OqiAda+5HIl7ABaC2wGXB4SUZ6US2MIYmOBxqP
Q2yUpEB83V4SIyBzB+dmZm3R+OSkIaNaB+W2sR+xNmpeo7u1WW3S3azBWin7
83wNk+PmgWppXKvMTYvlTVWiS5WjxeuVjgg6D7QCo/VKdNHO+LulLRIOE9Ff
xUrvWdwLktJ935uwoqdP+22eyF3pBRIRoIFbpeDGOmaz5KOWG1LU+/7GiV3M
sonoHjgwKdiIwGSGjK3ORA4D7cjzB/WdhgTMmOPQ60vT4WmmQ6XXmLZY4EWJ
NhkiyBxRfA60PM7UEwHqPVpgg0nKrITVMycg+yrqzUKwAN1k00HIrjj4afUE
kjl5OWNPqej9ERaezVoKZTfWBxI9aWsinR+N/mP8oYESEvN/ei7N/xx+ykB+
/Bd3WUZ285fyXjpFTS0KmBZKBFzOf3rvJusvW3ycAbDfy91JOcMLNkJ73J6+
L8i6nuLuzs7OtquiXV8nxfIfCy0e4wV+DeihsLShEOi7Tl9zuR0xBSwuFlk5
6NwJyPcAaueJcT/EYHbHDYGxO9/YGxprwTiIZqPaFMp75TFfihJselNjqp25
4ZATl274FhO86YzK0heoAU8s6zBb0ZCwPdsAycK+ciFy7Hob4V13fXip1YOw
sfbA9NCLNNaW+yduMOMnv/URY1jJx+9Md9hddP7uNrzLRfrsgN19E/tH5wfa
QZEFNr1qph50JQ4TW1VmLWuLsWsYVWLDnaUB6nobQ/c6Mds13oY1BG48No4z
J0q4LSYgS+7PDKRE8VWWkci5SIMcU7ZdcPeZEDI3lfYu8fzxB42z4p3i+9xi
QDcNauFNSpSygOsGvKUp4TgnGkcc+ZKbw3+ESEwaiNweKcolXyeKuD2VpChi
JkFH3eXdnSEP7ER9zpufxSgGnE/w4w/fuXzo76Th/aWMHrsgtbMjYHKMJrQW
zmTUy5gwc/Y3Lh8SWA31hApUU83aW9BQBnRBHv/Gyid3KufhSY6yV9Ua3RVr
CCopXVwrK3O9a5DWzvfnmkto4EvRdWGqGzz9wFpTd0J9icYIeXdEGGi/lqV8
7C2sHfHE6T0BQUTsTgeW3Lly1jnxetotE9PryMX0Qvh7ICCHhu8371DXiJx3
D9XQbgJfshmKrs++9BQJAEltrg3yCjd05g33LDICEDMaq62d2Gm028xe7Odu
/CDQF00wPnN1rwfyLkQSdEYOqSXYKVqRjhkYXxTRC6e0yZ6sbzwLRffzimIY
KCBzlbwp5+G4EyzE7e/HH7ZV5vFV4fS/j9Ld5Z2VboMOOH3/EoBE1Vx8NzCs
chCyUN253hCIbW3vle+5wj1zLZanI+83eb6LByvd+dIAV261C5wiKsBuQJJe
3AGIdI1hEGIOKg6jnn1Vm9ctggqDA1+mvbC7f797BTWNpoGUUptgYfXjD5GL
sH3CshDaqYTQaOTRGy2tN8DGTLEuUFMdF6OYVdO6GgvvsD80RYZjDaIHyB98
KzvzeGrRBHfr+sq+Nbtt6t8dXEoVldk7TRWv0GwIC4Y0H/rxh5ARRSvIrN/T
YyHofVCvSyzSBVZb9JG2UTdEgJ/mJXf7ccBLDr4EZSgkzcj8YLbndRB47L1y
wV8DmbgedSKwUgm7url7NSIWb12NYuDMfvT4eK4vWb5XBMrOCWXvDL2rPcWI
lTf98KhPOz/+4O9wHLjWSK6jPytXcdWqloIle89uJGh7oNRl7eK+h96TBVrP
totRwupmf+M29BsqsFyjZ4ttwyJZ/8KfNnqs6BUrlrDBwl7EHrNMlQHog3zn
631YbbUTdA86VpdJmqlwrd4LFLPptBA90sEiyF+Ibp6VyDN16elpKTcM+tpj
kb9L+skCL1YDg3DNoZVqgTW6tlrV6Y36ctVc5iGtB7XYy80KTnf/u+vxECfG
qx6/OzgMjTR9P12UQiKm2ygNr8P1WFyWBp7mQK6mxy8uTl89ZRf07+D39He/
fxosRKw2Peoy/cfRrz75QjutU7+c1l95d4T0+PGL8yFQbIW8XI/TWWEwkS+s
cenfUlE7vPUka+be9g3AqWr8u0MTS6I5tft9/C+or4Uzn5xGV8i3KPsbwHTg
GIs3CwDuMYf5Q6aBH7ssrF3XdfHkaPjoV3+DZQXEy/xJpeY/uNV1Mq+wttze
C5wXrbmYiCrFcDqC0kDuSZ3ntDraLN7gFpQN0ijGQ+qPQPONSfmfsd8DRYeE
9TAGydFYDDLV/n1+JiTgrYB9NWjr2thvU/wpp2QB7GuybhrjrcIS52rVDifs
WhUUMT0rz6yOJqQozHYIzPbgUBTYTucHQuuyWF43HS7Dnqqf4dhE4QPM3l8C
3uKE0KO7OMYmJuLCuKFsDPVK0X48UUx27+YORTI03RRlfcM6FkGL9C3iWh0n
kW+gxjwr/apZh/2LT8znrmx0cvOHgMKBurRmJlRujHG/t0pHxQMA3AItroy/
V108ZpU5Vv+GTqGQ6ksbgHbmnCbUQAMkZQyf1uHPjr/VL9I35ktfTkrE3CN4
WF3xTmD8fH2zq2kS9nUygWxUONjpLpnb3v6SI6cIaHRInx/9ga94s+1AZmvK
2zCkKZkVVfyaP9gelljLXfbHJyfP0hMciuYKNIXJdFq+kzTDuMLlEyTarRwe
1erPZXUN7++fHl0eyA3AX3z+8CH62KNXII1z1bCEA1m0Sjqq28ypBbFrZmAS
WdnUbappN6UUeDkSozFdaMnc4+rSYHoVrUNu0fhl12GXJB70aB1/m76BQ1Wa
EJ7uof5gCMIKq5vhsb9PtQSHx8awnkH6JRbUhtJyPx9djQYotQcknA9SPQCJ
ksPUDvBERK83/j49lZVXFSjM84XGKUGTA16749upXZT9+dKKHCVHbMKy4n08
FiMz/xzaDwQICaBbFzQAxP++D2+DcjeUAlCEAI/wEAH3GrSmoVar8JtH+M1k
XNWdbz5NDmgePbWZJOSwbhKP15gNPIKhEB3EfLH4ZXLlTJ4TXgRv3IIsDJ2m
9uMPbAxq7enHHwCO5ZQj/XSnrLkbOhVbjTQonIp69oC9iM1bWizVbNCxbYzt
hRWxouWO0rMZj8h3lNKH0sPCPKpoa9/4vDoLNA9b1aWaRXYW3D6q0I0zSmUT
BFgrOR3nOvB9JObaZ/te12wolt1V+Dol6T6GIRqTYGANggGr+6QLkjrOps4B
eYLWLfn7aIgJFvibSK27IJ3bLUyxH8TC0FOMFVd13Gcg/Nlt+07lqcWrW/Op
CPxqlYHZD7O2lNZHxlPQDIiueHuJwZNG33bsmiL0tpyy4jGi9KnL51j17eqs
NsLa3R9rXIL3cMBUc2mkt3QbgL2sC8A043a49nKNFzmmWEQdWOxzIJsg/rQl
bLzMHKVOGTXiUfqK1eeqOzoiQupj7UVs/gZZkFMWg8FJjt+qSDF7191Nbtfm
ntgd4ttCQ+Qv9aJMrFjsLM45Ihi/Gw8whi+hxvJf2BDpPlZ2clKkCV7JBXPj
7oXIvt/UU2CEOpAWWFXxY+HnXHYc82/Uq2Gd/xFDY3T5NJ23u0U6clZRsHZ6
BNrkB+LiRHm2klo4cgRUgivGdIx7Ik0BtKS3sT8of70qqPlGh4MqbxN7oSJu
ImGLXZLtPU4hWkuXsR32MqKiD6PU/YehRef70zUi3BUJiNpVfNr2ilN3e6+/
ILqhMbIP64fj4EBkvQJSL8io2yKJ2eHMwK2g5Mc717d2F7wvvoubIuvKtaoO
pPKBd+Ok9qJpcPfw7VjEsUMYXH0mbJl2ptsRFa3rtSLWpqkI8XJjWVCzZT3t
Rx9nioN61rF9e8N/PuVuXzEtKjALQ1hFrEMN5vfck7NffWcfLXVSLcboF46P
dXfiBLuvN8LMMQvohvIQmfX1Nnvdnhq25WJbytamthuYWF2L95+UzEnOyXHd
bUQSODC7tsNaO9kEZGCYFI+NS+lwuQvd/D6XjkGjRyQks5LupauxiEN45api
D0gBIRMx17CeYTo2znKL8ZWGL1Ne0YUBdT6UUBmA7QaLJzFHRcVi1CrCAAb+
gbWmC1PlIV02mwOytmVLU5is2s2gtsJloIMgA1W6ZTqAsCgWJunUXX7UqQCg
vykFoM4xlTFfTsVM6vo1E0wZPedqBo2mL7VQey6e0tPXLd4HDSNJDqlVymfw
S8MaAHsGqHjXWP3xdAFPBJmccVv2z7moEZRwig/WxLBj0Jxt0ZokCD+z9s0b
pcGgI0inNQ1s31bEh4YDvKQrbZxBpBgT+feI/RoPcm7hYvvlORINlITKTwIj
fMa1j9Kv1tKphhfRdEyfAV8ijt3wWi6wBpghxOV7QCJ0lkukS+fcBURFrYtK
YaMu0CRXEN/kG+av1mgKWvly8zYbENAd2hrjN7E+Ds5hZNsivnMC5XjjEGeZ
3zp4OdjCqX1DF8RT9N2eQ1Yrj5apkwGlsCQAIhTuaiosQYw4sIDy0BiJGJiY
in75+ISSrs+CO5/h33WTPHiQnn91nJ5Oi7aqD9MVp4hi7dCNZHmaJGx75TvL
Oi7/9vO0kZZNyk9D45PDaYl1uH49tmUTFoiepYljeqaAyABqmYlsseLDMuh3
Ro2w8nZ4Umez1jYat2F8io7DS1npe2X/Cfb++RefPfpn9g3ydysTjAyXbGjQ
bDdw/WPZTMPrPDu9/Aofx/QBIxdN8QIFLvGPq1p6GUxx0SQAYDkgGdKXfArL
qlUaSlnYPSP1IgYA0mDTzqDUnUqjrDxlKSoFMdzsY2PXCHN9ta5RL1hUNUW/
03w2QzaFNsgYZSWcA/c7U02jNEWK98j2UDLJfcjvSlFrCRyUHIjqAyxklHIQ
pJA1GihmEm2nBg6kDbAjCiS8Ca9gPBCQIisrBsUNkBGF3DoIRpZCUaez3HSD
AmrKpqZFZza9KSRTyAGadaRwKGRZxCCAkI60LcbObMQgdGbvEXbcFqiEUVUl
8sn8liZccsddfA9rJ1aNa886Xee+r5BcHYZh8rrmmWSOjUFezQpKOzJlcxNq
mMlWCK6UQhToeMltisiMQgcEJjAq4SAdtpD9CFIKqzrUXItMXFy6wNrxV0QX
VICpbxoXTq5XRsFXqOnvmeqBGuErHltv2PmIghF2t8f2PvdCzZNzVQf3or5C
KUyvHZon0v1qhaharesJsRSKIssN9biiY0w7NhmMx6atKLDrJHlWTWSweduu
msMHD67gvfV4BMLrwUS9N7TtSJsHrawsOXEc4zBNzHJcUkBlhBHlUSzpQGdW
voqX2C3tilvNkWpFjhJO0EX5bsynxQg2UJa51F2RNGlyPT4iN/Nc7A3CSxpZ
ULWblXRDkN7OpBGN83kGKrcwZVpGCiOIn9DErKWmtJR0QH7MzewmUauxSRpD
jpbU1TV2NOKI4iGx3aePL8gJkpqrEhALZ9kEJHNLC4yUskrRLQDGZpyyL7Ou
yrxTkJnZPD3fhyTowSlBWBL8JSxTi19vnUcXrhkEdrEx9DUyRqcbR1AcN2U8
rjj0eW7a1HAKx0v2hgXwOP/25YUt4aztKxL9M+mNwo/1QnAKBKZ0PrgE7Du0
jDbjRng5IaWwC10qhYCiY69tlj5zAByR1BIufDWdbcDi4k4r2NdF1X0LDhwy
jpxUEzzvY04jogLvp+sxCWuKQD6j2wbgcJ4jMynajV4w0EA1G8J/kpLEDIhC
aD6LxoEAfEu8MeZolYFZPnw0+gQ+PSar+Co3o/qScoLfIjNrLH5kVENo1RPT
bCd9SCD41Cm8KLNpAhhs0h6mJ4hVz7NB+nqzXC5/C0rl+vUoK4txNs6Ql6AK
dmEKCI+90JDN/T+x5ZhHnJlKhigIKvg0qzfE3ZEIFivJUP3p+3+zjafBHmmM
XsiJrZw/CF9J64okXhJAEqCqMVub8rpazvNwBq0pbETlPoExm/UYeFfLrZOy
IJje40wgs3QpiXgJQdps60PbCnnE9Qf+nRZ+aMUk9SYcWpxj2AP3ySaocbK6
Kw8qPwGJGB9CCR9LlEtBh1W9NAakBxX4N82Hk1gZ2G52XXpkuFDCXCjqHOzx
RQGurdnmTLY7q6WIH8sBAncgm7c8XmQb3DtHXxjibcE419/BRs6YGBIvQ3aG
do3vbON7mULXKZnt4qxNTHGay97hAjWjKSoXAyZI2qzVXHAgCbItnltiGJ6/
fDq8fHZhOqE8lxTw5+TldYSWfhRLDv8orSZAtI0NzzhqFL9cE4Fho2JjUmhH
maKOpsQlhGpqoh1GfkyIEBvdLUxpIAGKmHmY0OAml+sokqJuvns8EEvWo2FE
hO5ikVxtrZJKW+OK7GxJujKTbKJdXDqAtFvSfxJz9YfUdCDdOdAQXTD817io
BeANiKrDJAuEe5SsAq9/qoMXydbgRert0b+8JfFS7zVi2+rKKOulUIQPvCAK
IVCIEeABGTSOkaBa0vFYRnEz8Fj6CzD+Sc6W2S0Zmxj6thxr9rh0k6sP0hnb
nwl2KOAjuoV9ckG5tIdbu1INo7Es6OzlEpgLE4U/ChTEl+yePEVLY0Lo1Zf2
bLwPIbdDJi6OZMnRBFbjSZj7pskbeZkYF3RfRWDaU9fo3OLJzm7x1OQ9+n6/
xHY0EEeus/qlW9VUiytNV+YGSVoDpcNG0Pun7/930BukE6RIqnU7wRY/Jkqh
st8lQsGXEgV7tQWmyZ0FprQMe4EKihkXYbRV0Ilr8BUWQuNJdAMaLpyfUrpC
su9TaZEjyyKkCbLerbfDRxQ0XBJX1/Cl5MaxHP2wcd1g0CzahJeABOqMRgW/
81gsDcWgQSJoIMC6jrUZsQXjhBu+U7FJhP+orlLArZcT7oA5k8wkbMJUlDlq
5d4p8MsJwWxszootE908jDfMu9o4T/x6MTSdyBPbXs1U59hYTp2Tb8B2dSdJ
1xkd1BFy1k+xK8mUd71eslFNZCXuTXKsvsSeUpOuUh+osorF+CptgbovpXs3
OZGHlyOe0G5J8wd2PWkNUGlKy/OMj8k0YG0ky1hclUmAgmS3mUHIuKqX2u1A
dqcflwGMSET5NtVIUm9iGuKYREjnwgb2aHLQWTn8GezXNBcQvR1WmdxLV+/t
vZAIu7jhBCLVz6C/5QBfeuBuvkz0zZdGymXUikbCaN2+R6aWJPEbIIlhDwzY
j/APQs5npkzGeEKUIoQNf9ChM8aNk5ePNs6sXpQfviCg28YyMVq/z6i9PLGO
4wT9oEQCxWSg7gENbRZRNGyWlHLgeEqvTfUyl0TaaiBK19JPUj8us1VQG7gu
dWK6DcWtT+MM7ksrkTAG+xxcVEwIwxYa9DfoNjnfKAR2y/NGhy16UhSqGPQD
dSojItYNtDjYTuC0pgMxBctofSGNEk1uL1zkU5RlnlE8XhfllD0sdN2Wc3fg
rPqcADAtXQhDvT9MSS3Sy0DJEqt5rqTxmvhO0PSYY+tDdNEhG02M8h1pJmD1
RHdtrG1nSxfKaNpOKrqVJHoHbcPAvZGFeNlPIuJWmJnZjpKQohlFkMMbv9hM
mIrjMrJKbgDim+GuzoGPlxTD3GsaZq/LsIUJIq4OJC3VaLMkrYtmUlYk5l0A
nVRl1/FLbjhhQWHNfvJ0yFww1CgeVXS5aXGe5lkU49z4iXhyc7XKON9UNrlS
2hpOk3iikd8zIVAfSNkIigEQi1ZNvp5Wy80C20iTKMb6JIRs4nUrsV0KLCad
HB0NOQqoHjyQw7GxIyMKvNwHFT426gRmRNZTpiDMzMi5R3BiKQvW5pMh14eC
LL9mwWIDI0psE1Unup2S5ngsZDF5XzbyQid34MLRc3gJU+QZq4YsZL0ckEjR
jU2vYBaC0t8qkFyBBmaeNIQk/b63ex+DC7EV88+S/SAbDaP0tjVeN7xuGLvN
N8Gk1cSDInqN9UpwCdZS0bYXC26+0bVMdJU9SG5kcyTmPchwoV0TVNoVSitr
ksyqSnyTjMSLWpf0js71lhseRaVhAecrHRjtgx5Sd+omVA9ZIJOZhYxfYCnu
C7Cm8syikpO32smkMrOdckn5u0aWmuhfo+RpV1EgAnTtvHq8WmimuxufiTMk
9kt9y7PZJTB9vL0XsYCuoPUkusK/hAyyS+keSCm9nq4jrfpWWetSxDU0B5ZY
2TrwydV2oBKY9OgTCXnWqGvPdqHI6WULios4dNH4JzYPtVrk6ZQbRfcKQI//
jMyW5aQ3YSvhiLdBV52XJcorjmX6Ooprk8UOlatqmpFuoJSjZV7gfESbikLn
4qurib6Z0ytrHaVnYWaYuzAMRCjeemUYO/OxQN8Z9GkVrDqws8jW/+fYhzNx
qBkMRhq3KtgVTOsc0Kgjo5RANN08u8daLI33VTQBq/fw9dreRlnxVIclbq1O
GS+YmFY/Zi7vee72UVMJyny3NWKJOa63N2Lhi7FE4dyRpKJXv/N97yqjnbj+
PZo7xWItScQDo+8rLm2LmGWO7AWdyN51HOQC6TSZcJl/+0XgB3JqgOsxk0R7
zMBCnlS3qJKSdKF+U1h+YmpXLAMjMnbsz/JyCzpK2tSgQH6F2CQKmHkw0WxW
UMLJkq7Ll3XTqN3GdTeTNumV3uhi81uX5JMMyYOdWNz6SNplZIloxVbdUNIP
oxPyqpd9omJLAJZEXRhILmrZwgo5jwINOSBRlWdLWVvmSRGUvFsbFPduaEgj
DhUYeMIyoV6ufFY9VmefpNTQS7AdlDG8Wcj74RTvfD24a+oJ2jT6UilMaSJO
HkJxAHwJEHpaTOiA/LgAHS8363Wa6naKTcIeAP7GVEqwLITr15JuyBbGmQL8
+JSR/a9noHwWHJ0G2bFy3hepf0wePvo1mNRtc6DJFFNWzP1B+XK9EGNp1OmL
qgKTnPgdIZitmd9+GCi5OwzUCU1161GSLSEov/tT5tmZSU8El8SMNV6+Laxz
mSJ8eqFP2AtAXVepcJSVLL7XwHTT7+sPTF/7/VQT645y98OQSqPvu4mH52Ua
DxZBN7/WNjhCbfYm2BcicR8n4+xDbudh9AKlx3qZ/eh+ooTUQqnnlqeJneSd
mCqudNd7JcJSumxXa+ojzDXreFuo6jPw11knFt8LK/eJi8+QrKyark5onX6f
W5WRtMTaOZglDafAet3NIIk4fEzmYpBj7dVF2cUBKwOEToibxbyC6rbViI3g
VzpgJgo3B8iWxozSQ+lSOAp5A0qGGd6Jut2VW9rLxoeU1lrfsNVunGigRTXS
Scup4ijyUfOT1NzYZhyjY944VS1eKKmDwpkY/ME8vBuANgUBVH+l19yEKbhD
iQn4xPmInmMgRHTQpDcvwZIc9ckhbd5LxjTxNh1QclE219q1J942cA6hWEi9
Lw6CHfRJuriVcLAXVGdAMUx3tNSJ3JxyuTmJPhohdLia+JfMyfpxsZNryodQ
TjOjtgNoDZTt+VEP6Hg/cdUKSkekYOmUfiGRzK7a2dGVqbtywXcoxTN8uhVX
XenlbBSD4fh6nXPRMjJGjaca5GS3aS8lxn3YqtRQkqKimFfR1AZLmI7LXgAQ
krKqXZoYDVlPC8RFkEi41wn7Na/zpV80jHZazU5FQ6EOKxRXooCc5yHzo3Lp
mw+08ytJvpKD4G5N7g6/qPMgHgwZgIU/zqc2dOKHfB5oT1mxtK0DYu3hNIZk
Dd0oRh4nG7ezzVVF9m+Zynams2ohX4bsXHFus43abdHcud3izsm5IgVbA/ON
dlM/isU19LZBl29Gs+N7OxDx0pOw/9ODCETNttT1J5p/MgtDL0Uiju2+o+n2
etttsUggEUJHLCA7kCqkatPKnca0jlDdK62sWA+eYG7rdMuEvKWeu+O3oYvp
1mIMH8p3K1qTATUyaXjsLmX1b4O3+Fj3gsQzOq0xI4FUKuk7O/r6KJYJix18
5FaI8/wKWeAmrOWzkpXGIGGKD5r+bq4Fi2mGjaJo73cXL75Of5+PpR8Rz7En
79Z+hSVsRoo7fvXwC3Mb25KyXfaw144aZ//495cHO47260+/wFIR5GNc1E+M
PNK8SIYxNTbVBACPeOKkZ6I7KZEmEGkg3ulJYzoObIm4hzV9h9TdJk3Tj4fd
n497fu/5+RjHeSvNzb9G5U5+zGe4g7epKqtIoz9vf9n1aOuIQfQWZ7l8fMJr
e9y91oELEJhWZD1vYwv1ftc+h8rL/NL7unscnd7zZ4aPnP0x30x6zInaZV4f
UlUXfmWLGg79znZgLCJ1ijLB2xQH4oSdDgzqa2lDt9c5hb3ESrG9C68eUJp/
TPfQM+C6s8coMxFeYgizt9X+ejwUfoPR1A49PZW2pum+ak91oFhUdLcT6stD
OWW3jjeALVbC93uUJ6kmScwkwEhcW/09U/x86RU/M0u4SPdxlIO9xI5OxVaw
zXOPh1AM8zCNw9Gwp4eP/oaYyRnH0Dw21HQYQQSBdsApRXdcBfPW4wSC4ney
gA6av/dq0vQh/dtpMvY2PQ+ayrKvSfeSDYk3QsRvXcNZ07zqoG9T+Poj+rfT
2OxtpBdt0GRmt9WoDd0BYnz9U/q300zt7ZbGtgylHVeDfbZi4Oiu5pc4cMTk
b7mg6hPi5Z/99P2/P3z0OZeG2qJSqtWjMk1TOotUPjKvPnz0a3jt0a9+Ra+x
y0BSRl7KTZPfNHlEOD81vUaJm1Ae6Z+DldAUf+Ulf0FeEnasgY+equakmDxu
m7M+sJ1Zd6EX1az//KjvKpCAl1yH/Qs7q4m0R91pNd4S3BTCArgn/5+Rej/9
s1KvasS6Z8h1757dWJM7urFaDyRSaZywEnP9oZkrG1c3uD6ACXndk/8PQm4i
vdrnAAA=

-->

</rfc>
