<?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.34 (Ruby 3.4.8) -->
<?rfc rfcedstyle="yes"?>
<?rfc tocindent="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc text-list-symbols="-o*+"?>
<?rfc docmapping="yes"?>
<?rfc toc_levels="4"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-rats-pkix-key-attestation-04" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title abbrev="Evidence Encoding for HSMs">Evidence Encoding for Hardware Security Modules</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-rats-pkix-key-attestation-04"/>
    <author initials="M." surname="Ounsworth" fullname="Mike Ounsworth">
      <organization abbrev="Cryptic Forest">Cryptic Forest Software</organization>
      <address>
        <postal>
          <city>Sioux Lookout</city>
          <country>Canada</country>
        </postal>
        <email>mike@ounsworth.ca</email>
      </address>
    </author>
    <author initials="J.-P." surname="Fiset" fullname="Jean-Pierre Fiset">
      <organization abbrev="Crypto4A">Crypto4A Inc.</organization>
      <address>
        <postal>
          <street>1550A Laperriere Ave</street>
          <city>Ottawa, Ontario</city>
          <code>K1Z 7T2</code>
          <country>Canada</country>
        </postal>
        <email>jp@crypto4a.com</email>
      </address>
    </author>
    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization abbrev="UniBw M.">University of the Bundeswehr Munich</organization>
      <address>
        <postal>
          <city>Neubiberg</city>
          <region>Bavaria</region>
          <code>85579</code>
          <country>Germany</country>
        </postal>
        <email>hannes.tschofenig@gmx.net</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="M." surname="Wiseman" fullname="Monty Wiseman">
      <organization/>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>monty.wiseman@oracle.com</email>
      </address>
    </author>
    <author initials="N." surname="Smith" fullname="Ned Smith">
      <organization/>
      <address>
        <postal>
          <country>United States</country>
        </postal>
        <email>ned.smith.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="March" day="16"/>
    <area>Security</area>
    <workgroup>RATS</workgroup>
    <keyword>Internet-Draft</keyword>
    <keyword>RATS</keyword>
    <keyword>PKIX</keyword>
    <keyword>HSM</keyword>
    <abstract>
      <?line 147?>

<t>This document specifies a vendor-agnostic format for Evidence produced and verified within a PKIX context.
The Evidence produced this way includes claims collected about a cryptographic module, such as a Hardware Security
Module (HSM),
and elements found within it such as cryptographic keys.</t>
      <t>One scenario envisaged is that the state information about the cryptographic module can be securely presented
to a remote operator or auditor in a vendor-agnostic verifiable format.
A more complex scenario would be to submit this Evidence to a Certification Authority to aid in determining
whether the storage properties of this key meet the requirements of a given certificate profile.</t>
      <t>This specification also offers a format for requesting a cryptographic module to produce Evidence tailored for expected use.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ietf-rats-wg.github.io/key-attestation/draft-ietf-rats-pkix-key-attestation.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-rats-pkix-key-attestation/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        RATS Working Group mailing list (<eref target="mailto:rats@ietf.org"/>),
        which is archived at <eref target="https://datatracker.ietf.org/wg/rats/about/"/>.
        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-wg/key-attestation"/>.</t>
    </note>
  </front>
  <middle>
    <?line 161?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document specifies a vendor-neutral Evidence format for remote attestation in PKIX-based environments, with a focus on hardware security modules (HSMs) and cryptographic keys managed by such devices. The format enables an Attester to convey measured platform and key properties to a Verifier and, ultimately, to a Relying Party in a form that integrates with existing X.509-based trust infrastructures.</t>
      <t>Concretely, this specification defines:
* an ASN.1/DER <tt>Evidence</tt> envelope containing a to-be-signed section, one or more signature blocks, and optional intermediate certificates;
* an entity-and-claim data model organized around transaction, platform, and key entities, identified by OIDs;
* encoding and signature-verification processing rules for PKIX Evidence;
* an attestation request structure that allows a Presenter to request a scoped subset of entities and claims.</t>
      <t>The design is intentionally PKIX-native. ASN.1 and DER are used to align with existing certificate tooling, certification authority workflows, and HSM implementations where non-ASN.1 formats are less common.</t>
      <t>This document does not define a transport protocol for carrying Evidence, does not define Verifier appraisal policy, and does not standardize device-internal authentication/authorization mechanisms. It defines the data model and cryptographic container so that such mechanisms can be applied consistently across deployments.</t>
    </section>
    <section anchor="use-cases">
      <name>Use Cases</name>
      <t>This section covers use cases that motivated the development of this specification.</t>
      <section anchor="remote-audit-of-a-hardware-security-module-hsm">
        <name>Remote audit of a Hardware Security Module (HSM)</name>
        <t>There are situations where it is necessary to verify the current running state of an HSM as part of operational or
auditing procedures. For example, there are devices that are certified to work in an environment only if certain
versions of the firmware are loaded or only if user keys are protected with specific policies.</t>
        <t>The Evidence format offered by this specification allows a platform to report its firmware level along with
other collected claims necessary in critical deployments.</t>
      </section>
      <section anchor="key-import-and-hsm-clustering">
        <name>Key import and HSM clustering</name>
        <t>Consider that an HSM is being added to a logical HSM cluster. Part of the onboarding process could involve
the newly-added HSM providing Evidence of its running state, for example that it is a genuine device from
the same manufacturer as the existing clustered HSMs, firmware patch level, FIPS mode, etc.
It could also be required to provide information about any system-level keys required to establish
secure cluster communication. In this scenario, the Verifier and Relying Party will typically be other HSMs in the cluster
deciding whether or not to admit the new HSM.</t>
        <t>A related scenario is when performing a key export-import across HSMs.
If the key is being imported with certain properties, for example an environment running in FIPS mode at
FIPS Level 3, and the key is set to certain protection properties such as Non-Exportable and Dual-Control,
then the HSM might wish to verify that the key was previously stored under the same properties.
This specification provides an Evidence format with sufficient details to support this type of
implementation across HSM vendors.</t>
        <t>These scenarios motivate the design requirements to have an ASN.1 based Evidence format and a data model that
more closely matches typical HSM architecture since, as shown in both scenarios,
an HSM is acting as Verifier and Relying Party.</t>
      </section>
      <section anchor="attesting-subject-of-a-certificate-issuance">
        <name>Attesting subject of a certificate issuance</name>
        <t>Prior to a Certification Authority (CA) issuing a certificate on behalf of a subject, a number of procedures
are required to verify that the subject of the certificate is associated with the key that is certified.
In some cases, such as issuing a code signing certificate <xref target="CNSA2.0"/> <xref target="CSBR"/>, a CA must ensure that
the subject key is located in a Hardware Security Module (HSM).</t>
        <t>The Evidence format offered by this specification is designed to carry the information necessary for a CA to
assess the location of the subject key along a number of commonly-required attributes. More specifically, a CA could
determine which HSM was used to generate the subject key, whether this device adheres
to certain jurisdiction policies (such as FIPS mode) and the constraints applied to the key (such as whether is it extractable).</t>
        <t>For relatively simple HSM devices, storage properties such as "extractable" may always be false for all keys
since the devices are not capable of key export and so the Evidence could be essentially a hard-coded template asserting these
immutable attributes. However, more complex HSM devices require a more complex Evidence format that encompasses the
mutability of these attributes.</t>
        <t>Also, a client requesting a key attestation might wish to scope-down the content of the produced Evidence as
the HSM contains much more information than that which is relevant to the transaction.
Not reducing the scope of the generated Evidence could, in some scenarios, constitute a privacy violation.</t>
      </section>
    </section>
    <section anchor="terminology">
      <name>Conventions and Terminology</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?>

<t>This specification uses a necessary mixture of PKI terminology and RATS Architecture definitions
in order to map concepts between the two domains.</t>
      <t>The reader is assumed to be familiar with the vocabulary and concepts
defined in the RATS Architecture (<xref target="RFC9334"/>) such as Attester,
Relying Party, Verifier.</t>
      <t>The reader is assumed to be familiar with common vocabulary and concepts
defined in <xref target="RFC5280"/> such as certificate, signature, attribute, verification and validation.</t>
      <t>In order to avoid confusion, this document generally
capitalizes RATS terms such as Attester, Relying Party, and Claim.
Therefore, for example, a "Verifier"
should be assumed to be an entity that checks the validity of Evidence as per <xref target="RFC9334"/>,
whereas a "verifier" could be a more general reference to a PKI entity that checks
the validity of an X.509 certificate or other digital signature as per <xref target="RFC5280"/>.</t>
      <t>The following terms are used in this document:</t>
      <dl newline="true">
        <dt>Attestation Key (AK):</dt>
        <dd>
          <t>Cryptographic key controlled solely by the Attester and used only for the purpose
of producing Evidence. In other words, it is used to digitally sign the claims collected by
the Attester.</t>
        </dd>
        <dt>Attester:</dt>
        <dd>
          <t>The term Attester respects the definition offered in <xref target="RFC9334"/>. In this specification, it
is also interchangeable with "platform" or "HSM".</t>
        </dd>
        <dt>Attesting Environment:</dt>
        <dd>
          <t>As defined in <xref target="RFC9334"/>, the Attesting Environment collects the information to be represented
in Claims. In practical terms, an implementation may be designed with services to perform this function.
To remain consistent with the RATS Architecture, the term "Attesting Environment" is used throughout
this specification.</t>
        </dd>
        <dt>Evidence:</dt>
        <dd>
          <t>The term Evidence respects the definition offered in <xref target="RFC9334"/>. In this specification, it
refers to claims, encoded according to the format defined within this document, and signed using
Attestation Keys.</t>
        </dd>
        <dt>Hardware Security Module (HSM):</dt>
        <dd>
          <t>A physical computing device that safeguards and manages secrets, such as cryptographic keys,
and performs cryptographic operations based on those secrets.
This specification takes a broad definition of what counts as an HSM to include smartcards,
USB tokens, TPMs, cryptographic co-processors (PCI cards) and "enterprise-grade" or "cloud-service grade" HSMs
(possibly rack mounted). In this specification, it is interchangeable with "platform" or "Attester".</t>
        </dd>
        <dt>Key Attestation:</dt>
        <dd>
          <t>Process of producing Evidence containing claims pertaining to user keys found within an HSM. In
general, the claims include enough information about a user key and its hosting platform to allow
a Relying Party to make judicious decisions about the key, such as whether to issue a certificate for the key.</t>
        </dd>
        <dt>RATS:</dt>
        <dd>
          <t>Remote ATtestation procedureS. Refers to a working group within IETF and all the documents developed
under this umbrella of efforts. This specification is developed using concepts developed in RATS but more
particularly refers to the RATS Architecture as introduced in <xref target="RFC9334"/>.</t>
        </dd>
        <dt>PKIX:</dt>
        <dd>
          <t>Public Key Infrastructure based on X.509 certificates. Refers to the framework of technology, policies and
procedures used to manage and distribute digital certificate based on <xref target="RFC5280"/> and related specifications.</t>
        </dd>
        <dt>Platform:</dt>
        <dd>
          <t>The module or device that embodies the Attester. In this specification, it is interchangeable with
"Attester" or "HSM".</t>
        </dd>
        <dt>Platform Attestation:</dt>
        <dd>
          <t>Evidence containing claims pertaining to measured values associated with the platform itself. In general, the claims include
enough information about the platform to allow a Relying Party to make judicious decisions about the
platform, such as those carried out during audit reviews.</t>
        </dd>
        <dt>Presenter:</dt>
        <dd>
          <t>Role that facilitates communication between the Attester and the Verifier. The
Presenter initiates the operation of generating Evidence at the Attester and
passes the generated Evidence to the Verifier. In the case of HSMs, the Presenter
is responsible of selecting the claims that are part of the generated Evidence.</t>
        </dd>
        <dt>Trust Anchor:</dt>
        <dd>
          <t>As defined in <xref target="RFC6024"/> and <xref target="RFC9019"/>, a Trust Anchor
"represents an authoritative entity via a public key and
associated data. The public key is used to verify digital
signatures, and the associated data is used to constrain the types
of information for which the trust anchor is authoritative." The
Trust Anchor may be a certificate, a raw public key, or other
structure, as appropriate.</t>
        </dd>
        <dt>Trusted Platform Module (TPM):</dt>
        <dd>
          <t>A tamper-resistant processor generally located on a computer's motherboard used to enhance attestation
functions for the hosting platform. TPMs are very specialized Hardware Security Modules and generally use
other protocols (than the one presented in this specification) to transmit Evidence.</t>
        </dd>
        <dt>User Key:</dt>
        <dd>
          <t>A user key consists of a key hosted by an HSM (the platform) and intended to be used by a client
of the HSM. Other terms used for a user key are "application key", "client key" or "operational key".
The access and operations on a user key is controlled by the HSM.</t>
        </dd>
      </dl>
      <section anchor="claims-and-measurements-in-generated-evidence">
        <name>Claims and measurements in generated Evidence</name>
        <t>The RATS Architecture <xref target="RFC9334"/> states that Evidence is made up of claims and that a claim is "a piece of
asserted information, often in the form of a name/value pair". The RATS Architecture also mentions
the concept of "measurements" that "can describe a variety of attributes of system components, such
as hardware, firmware, BIOS, software, etc., and how they are hardened."</t>
        <t>Some HSMs have a large amount of memory and can therefore contain a substantial amount of elements that
can be observed independently by the Attesting Environment. Each of those elements, in turn, can contain a
number of measurable attributes.</t>
        <t>A certain level of complexity arises as multiple elements of the same class can be reported simultaneously in generated
Evidence. In this case, multiple similar claims are reported simultaneously but associated with different elements.</t>
        <t>For example, two independent user keys could be reported simultaneously in Evidence. Each key is associated with a
SPKI (SubjectPublicKeyInfo). The measured values for the SPKI of the respective keys are different.</t>
        <t>To that end, in this specification, the claims are organized as collections where each claim is the association of
a claim type with the measured value. The collections, in turn, are organized by entities. An entity represents one
of the elements that is observed in the Target Environment.</t>
        <t>Thus, an entity is associated with a collection of claims. Each claim is the association of a claim type
with a measured value.</t>
        <t>The grouping of claims into entities facilitates the comprehension of a large addressable space into
elements recognizable by the user. More importantly, it curtails the produced Evidence to portions of the
Target Environment that relate to the needs of the Verifier. See <xref target="sec-cons-privacy"/>.</t>
      </section>
      <section anchor="sec-ak-chain">
        <name>Attestation Key Certificate Chain</name>
        <t>The data format in this specification represents Evidence and
requires third-party endorsement in order to establish trust. Part of this
endorsement is a trust anchor that chains to the HSM's attestation key (AK)
which signs the Evidence. In practice the trust anchor usually is a
manufacturing CA belonging to the device vendor which proves
that the device is genuine and not counterfeit. The trust anchor can also belong
to the device operator as would be the case when the AK certificate is replaced
as part of onboarding the device into a new operational environment.</t>
        <t>The AK certificate that signs the evidence <bcp14>MUST</bcp14> include the Extended Key
Usage (EKU) certificate extension, and the EKU certificate extension <bcp14>MUST</bcp14>
include the <tt>id-kp-attest</tt>, as defined in <xref target="I-D.jpfiset-lamps-attestationkey-eku"/>.</t>
        <t>Note that the data format specified in <xref target="sec-data-model"/> allows for zero, one, or multiple
'SignatureBlock's, so a single Evidence statement could be un-protected, or could be endorsed by multiple
AK chains leading to different trust anchors. See <xref target="sec-verif-proc"/> for a discussion of handling multiple SignatureBlocks.</t>
      </section>
    </section>
    <section anchor="sec-info-model">
      <name>Information Model</name>
      <t>The Evidence format is composed of two main sections:</t>
      <ul spacing="normal">
        <li>
          <t>An Evidence section which describes the list of reported entities.</t>
        </li>
        <li>
          <t>A signature section where one or more digital signatures are offered to prove the origin of the
Evidence and maintain its integrity.</t>
        </li>
      </ul>
      <t>The details of the signature section is left to the data model. The remainder of this section
deals with the way the information is organized to form the claims.</t>
      <t>The claims are associated with entities to help with the organization and comprehension
of the information. Entities are elements observed in the Target Environment by the Attesting
Environment. Each entity, in turn, is associated with a collection of claims that describes the attributes
of the element.</t>
      <t>Therefore, the Claim description section is a set of entities and each entity is composed
of a claim set.</t>
      <section anchor="entity">
        <name>Entity</name>
        <t>An entity is a logical construct that refers to a portion of the Target Environment's state. It is
addressable via an identifier such as a UUID or a handle (as expressed in <xref target="PKCS11"/>). In general, an
entity refers to a component recognized by users of the HSM, such as a key or the platform itself.</t>
        <t>An entity is composed of a type, the entity type, and a collection of claims. The entity type
describes the class of the entity while the collection of claims defines its state.</t>
        <t>An entity <bcp14>MUST</bcp14> be reported at most once in a claim description. The claim description can
have multiple entities of the same type (for example reporting multiple keys), but each
entity <bcp14>MUST</bcp14> relate to different portions of the Target Environment.</t>
        <t>It is possible for two entities to be quite similar such as in a situation where a key is imported
twice in a HSM. In this case, the two related entities could be associated similar claims. However, they
are treated as different entities as they are reporting different portions of the Target Environment.</t>
        <t>The number of entities reported in a claim description, and their respective type, is
left to the implementer. For a simple device where there is only one key, the list of
reported entities could be fixed. For larger and more complex devices, the list of
reported entities should be tailored to what is demanded by the Presenter.</t>
        <t>In particular, note that the <tt>nonce</tt> claim contained with the Transaction entity is optional,
and therefore it is possible that an extremely simple device that holds one static key
could have its Evidence generated at manufacturing time and injected
statically into the device instead of
being generated on-demand. This model would essentially
off-board the Attesting Environment to be part of the manufacturing infrastructure. In the RATS
Architecture, this configuration would refer to the the information provided by the HSM as an Endorsement
provided by the manufacturer as opposed to Evidence generated by the Attesting Environment.</t>
      </section>
      <section anchor="entity-type">
        <name>Entity Type</name>
        <t>An entity is defined by its type. This specification defines three entity types:</t>
        <ul spacing="normal">
          <li>
            <t>Platform : This entity holds claims that describes the state of the platform (or device)
itself. Entities of this type hold claims that are global
in nature within the Target Environment.</t>
          </li>
          <li>
            <t>Key : The entities of this type represent a cryptographic key protected within the
Target Environment and hold claims that describes that specific key.</t>
          </li>
          <li>
            <t>Transaction : This entity is logical in nature since it is associated with claims
that does not describe anything found in the Target Environment. Instead, these claims
relate to the current request for Evidence such as a <tt>nonce</tt> to support freshness.</t>
          </li>
        </ul>
        <t>Although this document defines a short list of entity types, this list is extensible
to allow implementers to report on entities found in their implementation and not
covered by this specification. By using an Object Identifiers (OID) for specifying entity types
and claim types, this format is inherently extensible;
implementers of this specification <bcp14>MAY</bcp14> define new custom or proprietary entity types and
place them alongside the standardized entities, or define new claim types
and place them inside standardized entities.</t>
        <t>Verifiers <bcp14>SHOULD</bcp14> ignore and skip over
unrecognized entity or claim types and continue processing normally.
In other words, if a given Evidence would have been acceptable without the
unrecognized entities or claims, then it <bcp14>SHOULD</bcp14> still be acceptable with them.</t>
      </section>
      <section anchor="claim-type">
        <name>Claim Type</name>
        <t>Each claim found in an entity is composed of the claim type and a value.
Each claim describes a portion of the state of the associated entity. For example,
a platform entity could have a claim which indicates the firmware version currently running.
Another example is a key entity with a claim that reports whether the key is extractable
or not.</t>
        <t>A value provided by a claim is to be interpreted within the context
of its entity and in relation to the claim type.</t>
        <t>It is <bcp14>RECOMMENDED</bcp14> that a claim type be defined for a specific entity type, to reduce
confusion when it comes to interpretation of the value. In other words, a claim type <bcp14>SHOULD
NOT</bcp14> be used by multiple entity types. For example, if a concept of "revision" is applicable to a platform
and a key, the claim for one entity type (platform revision) should have a different identifier
than the one for the other entity type (key revision).</t>
        <t>The nature of the value (boolean, integer, string, bytes) is dependent on the claim type.</t>
        <t>This specification defines a limited set of claim types. However, the list is extensible
through the IANA registration process or private OID allocation, enabling implementers to
report additional claims not covered by this specification.</t>
        <t>The number of claims reported within an entity, and their respective type, is
left to the implementer. For a simple device, the reported list of claims for an entity
might be fixed. However, for larger and more complex devices, the list of reported claims
should be tailored to what is demanded by the Presenter.</t>
        <t>Claims of a particular type <bcp14>MAY</bcp14> be repeated within an entity while others <bcp14>MUST NOT</bcp14>. For example, for a
platform entity, there can only be one "firmware version" claim. Therefore, the associated claim
<bcp14>MUST NOT</bcp14> be repeated as it may lead to confusion. However, a claim relating to
a "ak-spki" <bcp14>MAY</bcp14> be repeated, each claim describing a different attesting key.
Therefore, the definition of a claim specifies whether or not multiple copies of that
claim are allowed within an entity claim set.</t>
        <t>If a Verifier detects, within a single entity, multiple copies of a claim type that should not
be repeated, it <bcp14>MUST</bcp14> reject the Evidence as malformed. Since a Verifier is encouraged to ignore
unrecognized claim types, it is possible that a potential rejection is missed.</t>
        <t>If a Verifier encounters, within the context of an entity, a repeated claim for a type where
it is allowed, it <bcp14>MUST</bcp14> treat each one as an independent claim and <bcp14>MUST NOT</bcp14>
consider later ones to overwrite the previous one.</t>
      </section>
    </section>
    <section anchor="sec-data-model">
      <name>Data Model</name>
      <t>This section describes the data model associated with generated Evidence. For ease of
deployment within the target ecosystem, ASN.1 definitions and DER encoding
are used. A complete ASN.1 module is provided in <xref target="sec-asn1-mod"/>.</t>
      <t>The top-level structures, as ASN.1 fragments, are:</t>
      <sourcecode type="asn.1"><![CDATA[
Evidence ::= SEQUENCE {
    tbs                           TbsEvidence,
    signatures                    SEQUENCE SIZE (0..MAX) OF SignatureBlock,
    intermediateCertificates  [0] SEQUENCE OF Certificate OPTIONAL
                                  -- As defined in RFC 5280
}

TbsEvidence ::= SEQUENCE {
    version INTEGER,
    reportedEntities SEQUENCE SIZE (1..MAX) OF ReportedEntity
}

SignatureBlock ::= SEQUENCE {
   sid                  SignerIdentifier,
   signatureAlgorithm   AlgorithmIdentifier,
   signatureValue       OCTET STRING
}

SignerIdentifier ::= SEQUENCE {
   keyId                [0] EXPLICIT OCTET STRING OPTIONAL,
   subjectPublicKeyInfo [1] EXPLICIT SubjectPublicKeyInfo OPTIONAL,
                            -- As defined in RFC 5280
   certificate          [2] EXPLICIT Certificate OPTIONAL
                            -- As defined in RFC 5280
}
]]></sourcecode>
      <t>An <tt>Evidence</tt> message is composed of a protected section known as the To-Be-Signed (TBS) section where the Evidence
reported by the Attesting Environment is assembled. The integrity of the TBS section is ensured with one or multiple cryptographic signatures
over the content of this section. There is a provision to carry X.509 certificates supporting each signature.
The SEQUENCE OF <tt>SignatureBlock</tt> allows for both multi-algorithm protection and for counter-signatures
of the Evidence.
In an effort to keep the Evidence format simple, distinguishing between these two cases is left up to Verifier policy,
potentially by making use of the certificates that accompany each signature.</t>
      <t>This design also does not prevent an attacker from removing, adding or re-ordering signatures without leaving trace.
This is discussed as part of the security considerations in <xref target="sec-detached-sigs"/>.</t>
      <t>The TBS section is composed of a version number, to ensure future extensibility, and a sequence of reported entities.
For compliance with this specification, <tt>TbsEvidence.version</tt> <bcp14>MUST</bcp14> be <tt>1</tt>.
This envelope format is not extensible; future specifications which make compatibility-breaking changes <bcp14>MUST</bcp14> increment the version number.</t>
      <t>A <tt>SignatureBlock</tt> is included for each signature submitted against the TBS section. The <tt>SignatureBlock</tt> includes
the signature algorithm (signatureAlgorithm) and the signature itself (signatureValue). It also includes
information to identify the authority that provided the signature which is the structure <tt>SignerIdentifier</tt> (sid).
The signer identifier includes a combination of X.509 certificate, SubjectPublicKeyInfo (SPKI) and/or
key identifier (keyId). It is expected that a X.509 certificate will be generally used, as it provides the public key needed
to verify the signature and clearly identifies the subject that provided the signature. The SPKI and keyId are allowed
to support environments where X.509 certificates are not used.</t>
      <t>The optional certificate list provided in <tt>Evidence.intermediateCertificates</tt> enables the insertion
of X.509 certificates to support trusting the signatures found in signature blocks. This information is intended to provide
the certificates required by the Verifier to validate the endorsement on the certificates included
with the signatures. <tt>intermediateCertificates</tt> <bcp14>MAY</bcp14> include any or all intermediate CA certificates needed to build paths.
It is not required to include trust anchors. Order is not significant.</t>
      <t>As described in <xref target="sec-info-model"/>, the <tt>TbsEvidence</tt> is a collection of entities. Each entity
is associated with a type that defines its class. The entity types are represented by object identifiers
(OIDs). The following ASN.1 definition defines the structures associated with entities:</t>
      <sourcecode type="asn.1"><![CDATA[
ReportedEntity ::= SEQUENCE {
    entityType  OBJECT IDENTIFIER,
    claims      SEQUENCE SIZE (1..MAX) OF ReportedClaim
}

id-evidence                    OBJECT IDENTIFIER ::= { 1 2 3 999 }
id-evidence-entity             OBJECT IDENTIFIER ::= { id-evidence 0 }
id-evidence-entity-transaction OBJECT IDENTIFIER ::= { id-evidence-entity 0 }
id-evidence-entity-platform    OBJECT IDENTIFIER ::= { id-evidence-entity 1 }
id-evidence-entity-key         OBJECT IDENTIFIER ::= { id-evidence-entity 2 }
]]></sourcecode>
      <t>In turn, entities are composed of a collection of claims. Each claim is composed of a type and a value.
The claim types are represented by object identifiers (OIDs). The
following ASN.1 definition defines the structures associated with claims:</t>
      <sourcecode type="asn.1"><![CDATA[
ReportedClaim ::= SEQUENCE {
    claimType      OBJECT IDENTIFIER,
    value          ClaimValue OPTIONAL
}

ClaimValue ::= CHOICE {
   bytes       [0] IMPLICIT OCTET STRING,
   utf8String  [1] IMPLICIT UTF8String,
   bool        [2] IMPLICIT BOOLEAN,
   time        [3] IMPLICIT GeneralizedTime,
   int         [4] IMPLICIT INTEGER,
   oid         [5] IMPLICIT OBJECT IDENTIFIER,
   null        [6] IMPLICIT NULL
}
]]></sourcecode>
      <t>Each claim type <bcp14>SHOULD</bcp14> be associated with a single entity type. Therefore, it is encouraged
to define claim types grouped with their respective entity type.</t>
      <t>The type of a claim value is dictated by the claim type. When a claim type is defined, the
definition must include the type of the value, its semantic and interpretation.</t>
      <t>The remainder of this section describes the entity types and their associated claims.</t>
      <section anchor="platform-entity">
        <name>Platform Entity</name>
        <t>A platform entity reports information about the device where the Evidence is generated and is
composed of a collection of claims that are global to the Target Environment.
It is associated with the type identifier <tt>id-evidence-entity-platform</tt>.</t>
        <t>A platform entity, if provided, <bcp14>MUST</bcp14> be included only once within the reported entities. If a
Verifier encounters multiple entities of type <tt>id-evidence-entity-platform</tt>, it <bcp14>MUST</bcp14>
reject the Evidence as malformed.</t>
        <t>The following table lists the claims for a platform entity (platform claims) defined
within this specification. In cases where the claim is borrowed from another specification,
the "Reference" column refers to the specification where the semantics
for the claim value can be found.
Claims defined in this specification have further details below.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Claim Type</th>
              <th align="left">Claim Value</th>
              <th align="left">Reference</th>
              <th align="left">Multiple?</th>
              <th align="left">OID</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">vendor</td>
              <td align="left">utf8String</td>
              <td align="left">RFCthis</td>
              <td align="left">No</td>
              <td align="left">id-evidence-claim-platform-vendor</td>
            </tr>
            <tr>
              <td align="left">oemid</td>
              <td align="left">bytes</td>
              <td align="left">
                <xref target="RFC9711"/></td>
              <td align="left">No</td>
              <td align="left">id-evidence-claim-platform-oemid</td>
            </tr>
            <tr>
              <td align="left">hwmodel</td>
              <td align="left">bytes</td>
              <td align="left">
                <xref target="RFC9711"/></td>
              <td align="left">No</td>
              <td align="left">id-evidence-claim-platform-hwmodel</td>
            </tr>
            <tr>
              <td align="left">hwversion</td>
              <td align="left">utf8String</td>
              <td align="left">
                <xref target="RFC9711"/></td>
              <td align="left">No</td>
              <td align="left">id-evidence-claim-platform-hwversion</td>
            </tr>
            <tr>
              <td align="left">hwserial</td>
              <td align="left">utf8String</td>
              <td align="left">RFCthis</td>
              <td align="left">No</td>
              <td align="left">id-evidence-claim-platform-hwserial</td>
            </tr>
            <tr>
              <td align="left">swname</td>
              <td align="left">utf8String</td>
              <td align="left">
                <xref target="RFC9711"/></td>
              <td align="left">No</td>
              <td align="left">id-evidence-claim-platform-swname</td>
            </tr>
            <tr>
              <td align="left">swversion</td>
              <td align="left">utf8String</td>
              <td align="left">
                <xref target="RFC9711"/></td>
              <td align="left">No</td>
              <td align="left">id-evidence-claim-platform-swversion</td>
            </tr>
            <tr>
              <td align="left">dbgstat</td>
              <td align="left">int</td>
              <td align="left">
                <xref target="RFC9711"/></td>
              <td align="left">No</td>
              <td align="left">id-evidence-claim-platform-debugstat</td>
            </tr>
            <tr>
              <td align="left">uptime</td>
              <td align="left">int</td>
              <td align="left">
                <xref target="RFC9711"/></td>
              <td align="left">No</td>
              <td align="left">id-evidence-claim-platform-uptime</td>
            </tr>
            <tr>
              <td align="left">bootcount</td>
              <td align="left">int</td>
              <td align="left">
                <xref target="RFC9711"/></td>
              <td align="left">No</td>
              <td align="left">id-evidence-claim-platform-bootcount</td>
            </tr>
            <tr>
              <td align="left">fipsboot</td>
              <td align="left">bool</td>
              <td align="left">
                <xref target="FIPS140-3"/></td>
              <td align="left">No</td>
              <td align="left">id-evidence-claim-platform-fipsboot</td>
            </tr>
            <tr>
              <td align="left">fipsver</td>
              <td align="left">utf8String</td>
              <td align="left">
                <xref target="FIPS140-3"/></td>
              <td align="left">No</td>
              <td align="left">id-evidence-claim-platform-fipsver</td>
            </tr>
            <tr>
              <td align="left">fipslevel</td>
              <td align="left">int</td>
              <td align="left">
                <xref target="FIPS140-3"/></td>
              <td align="left">No</td>
              <td align="left">id-evidence-claim-platform-fipslevel</td>
            </tr>
            <tr>
              <td align="left">fipsmodule</td>
              <td align="left">utf8String</td>
              <td align="left">
                <xref target="FIPS140-3"/></td>
              <td align="left">No</td>
              <td align="left">id-evidence-claim-platform-fipsmodule</td>
            </tr>
          </tbody>
        </table>
        <t>Each claim defined in the table above is described in the following sub-sections.</t>
        <section anchor="vendor">
          <name>vendor</name>
          <t>A human-readable string that reports the name of the device's manufacturer. This field is for informational
purposes only and should not be used in any automated mechanism to compare the Evidence. For the purposes of comparison,
the claims <tt>oemid</tt> and  <tt>hwmodel</tt> should be used.</t>
          <t>If the device is submitted to FIPS validation, this string should correspond to the vendor field of the submission.</t>
        </section>
        <section anchor="oemid-hwmodel-hwversion-swname-swversion-dbgstat-uptime-bootcount">
          <name>oemid, hwmodel, hwversion, swname, swversion, dbgstat, uptime, bootcount</name>
          <t>These claims are defined in <xref target="RFC9711"/> and are reused in this specification for interoperability. Small
descriptions are offered for each to ease the reading of this specification. In case of confusion between the
description offered here and the one in <xref target="RFC9711"/>, the definition offered in the latter shall prevail.</t>
          <t>The claim "oemid" uniquely identifies the Original Equipment Manufacturer (OEM) of the HSM. This is a
sequence of bytes and is not meant to be a human readable string.</t>
          <t>The claim "hwmodel" differentiates models, products, and variants manufactured by a particular OEM. A model
must be unique within a given "oemid". This is a sequence of bytes and is not meant to be a human readable string.</t>
          <t>The claim "hwversion" is a text string reporting the version of the hardware. This claim must be
interpreted along with the claim "hwmodel".</t>
          <t>The claim "swname" is a text string reporting the name of the firmware running on the platform.</t>
          <t>The claim "swversion" differentiates between the various revisions of a firmware offered for the platform. This
is a string that is expected to be human readable.</t>
          <t>The claim "dbgstat" refers to the state of the debug facilities offered by the HSM. This is an integer
value describing the current state as described in <xref target="RFC9711"/>.</t>
          <t>The claim "uptime" reports the number of seconds that have elapsed since the HSM was last booted.</t>
          <t>The claim "bootcount" reports the number of times the HSM was booted.</t>
        </section>
        <section anchor="hwserial">
          <name>hwserial</name>
          <t>A human-readable string that reports the serial number of the hardware module. This serial number often matches the number engraved
on the case or on an applied sticker.</t>
        </section>
        <section anchor="fipsboot-fipsver-fipslevel-and-fipsmodule">
          <name>fipsboot, fipsver, fipslevel and fipsmodule</name>
          <t>FIPS 140-3 CMVP validation places stringent requirements on the mode of operation of the device and the cryptography offered by the module, including only enabling FIPS-approved algorithms, certain requirements on entropy sources, and extensive start-up self-tests. FIPS 140-3 offers compliance levels 1 through 4 with increasingly strict requirements. Many HSMs include a configuration setting that allows the device to be taken out of FIPS mode and thus enable additional functionality or performance, and some offer configuration settings to change between compliance levels.</t>
          <t>The boolean claim <tt>fipsboot</tt> indicates whether the device is currently operating in FIPS mode. When the claim value is "true", the HSM is running in compliance with the
FIPS 140 restrictions. Among other restrictions, it means that only FIPS-approved algorithms are available. If the value of this claim is "false", then the HSM is not
restricted to the behavior limited by compliance.</t>
          <t>The textual claim <tt>fipsver</tt> indicates the version of the FIPS CMVP specification with which the device's operational mode is compliant. At the time of writing, the strings "FIPS 140-2" or "FIPS 140-3" <bcp14>SHOULD</bcp14> be used.</t>
          <t>The integer claim <tt>fipslevel</tt> indicates the compliance level to which the device is currently operating and <bcp14>MUST</bcp14> only be 1, 2, 3, or 4. The <tt>fipslevel</tt> claim has no meaning if <tt>fipsboot</tt> is absent or <tt>false</tt>.</t>
          <t>The claim <tt>fipsmodule</tt> is a textual field used to represent the name of the module that was submitted to CMVP for validation. The information derived by combining this claim with the vendor name shall
be sufficient to find the associated records in the CMVP database.</t>
          <t>The FIPS status information found in Evidence indicates only the mode of operation of the device and is not authoritative of its validation status.
This information is available on the NIST CMVP website or by contacting the device vendor.
As an example, some devices may have the option to enable FIPS mode in configuration even if the vendor has not submitted this model for validation. As another example, a device may be running in a mode consistent with FIPS Level 3 but the device was only validated and certified to Level 2.
A Relying Party wishing to know the validation status of the device <bcp14>MUST</bcp14> couple the device state information contained in the Evidence with a valid FIPS CMVP certificate for the device.</t>
        </section>
      </section>
      <section anchor="key-entity">
        <name>Key Entity</name>
        <t>A key entity is associated with the type <tt>id-evidence-entity-key</tt>. Each instance of a
key entity represents a different addressable key found in the Target Environment. There can
be multiple key entities found in Evidence, but each reported key entity <bcp14>MUST</bcp14>
describe a different key from the Target Environment. Two key entities may represent the same underlying cryptographic key
(keys with the exact same value) but they must be different portions of the Target Environment.</t>
        <t>A key entity is composed of a collection of claims relating to the cryptographic key. At
minimum, a key entity <bcp14>MUST</bcp14> report the claim "identifier" to uniquely identify this cryptographic
key from any others found in the same Target Environment.</t>
        <t>A Verifier that detects Evidence with multiple key entities referring to the
same addressable key <bcp14>MUST</bcp14> reject the Evidence.</t>
        <t>The following table lists the claims for a key entity defined
within this specification. The "Reference" column refers to the specification where the semantics
for the claim can be found.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Claim Type</th>
              <th align="left">Claim Value</th>
              <th align="left">Reference</th>
              <th align="left">Multiple?</th>
              <th align="left">OID</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">identifier</td>
              <td align="left">utf8String</td>
              <td align="left">RFCthis</td>
              <td align="left">Yes</td>
              <td align="left">id-evidence-claim-key-identifier</td>
            </tr>
            <tr>
              <td align="left">spki</td>
              <td align="left">bytes</td>
              <td align="left">RFCthis</td>
              <td align="left">No</td>
              <td align="left">id-evidence-claim-key-spki</td>
            </tr>
            <tr>
              <td align="left">extractable</td>
              <td align="left">bool</td>
              <td align="left">
                <xref target="PKCS11"/></td>
              <td align="left">No</td>
              <td align="left">id-evidence-claim-key-extractable</td>
            </tr>
            <tr>
              <td align="left">sensitive</td>
              <td align="left">bool</td>
              <td align="left">
                <xref target="PKCS11"/></td>
              <td align="left">No</td>
              <td align="left">id-evidence-claim-key-sensitive</td>
            </tr>
            <tr>
              <td align="left">never-extractable</td>
              <td align="left">bool</td>
              <td align="left">
                <xref target="PKCS11"/></td>
              <td align="left">No</td>
              <td align="left">id-evidence-claim-key-never-extractable</td>
            </tr>
            <tr>
              <td align="left">local</td>
              <td align="left">bool</td>
              <td align="left">
                <xref target="PKCS11"/></td>
              <td align="left">No</td>
              <td align="left">id-evidence-claim-key-local</td>
            </tr>
            <tr>
              <td align="left">expiry</td>
              <td align="left">time</td>
              <td align="left">RFCthis</td>
              <td align="left">No</td>
              <td align="left">id-evidence-claim-key-expiry</td>
            </tr>
            <tr>
              <td align="left">purpose</td>
              <td align="left">bytes</td>
              <td align="left">RFCthis</td>
              <td align="left">No</td>
              <td align="left">id-evidence-claim-key-purpose</td>
            </tr>
          </tbody>
        </table>
        <t>An attestation key might be visible to a client of the device and be reported along with other cryptographic keys. Therefore,
it is acceptable to include a key entity providing claims about an attestation key like any other cryptographic key. An
implementation <bcp14>MAY</bcp14> reject the generation of Evidence if it relates to an attestation key.</t>
        <section anchor="identifier">
          <name>identifier</name>
          <t>A human-readable string that uniquely identifies the cryptographic key. This value often contains
a UUID but could also have a numeric value expressed as text or any other textual description.</t>
          <t>This claim <bcp14>MAY</bcp14> be repeated as some environments have more than one way to refer to a
cryptographic key.</t>
        </section>
        <section anchor="spki">
          <name>spki</name>
          <t>The value of this claim contains the DER-encoded field SubjectPublicKeyInfo (see <xref target="RFC5280"/>) associated with the cryptographic
key.</t>
        </section>
        <section anchor="extractable-sensitive-never-extractable-local">
          <name>extractable, sensitive, never-extractable, local</name>
          <t>These claims are defined as key attributes in <xref target="PKCS11"/> and reused in this specification for interoperability. Small
descriptions are offered for each to ease the reading of this specification. In case of confusion between the
description offered here and the one in <xref target="PKCS11"/>, the definition offered in the latter shall prevail.</t>
          <t>The claim "extractable" indicates that the key can be exported from the HSM. Corresponds directly to the attribute CKA_EXTRACTABLE
found in PKCS#11.</t>
          <t>The claim "sensitive" indicates that the value of key cannot leave the HSM in plaintext. Corresponds directly to the attribute CKA_SENSITIVE
found in PKCS#11.</t>
          <t>The claim "never-extractable" indicates if the key was never extractable from the HSM throughout the life of the key. Corresponds
directly to the attribute CKA_NEVER_EXTRACTABLE found in PKCS#11.</t>
          <t>The claim "local" indicates whether the key was generated locally or imported. Corresponds directly to the attribute CKA_LOCAL
found in PKCS#11.</t>
        </section>
        <section anchor="expiry">
          <name>expiry</name>
          <t>Reports a time after which the key is not to be used. The device <bcp14>MAY</bcp14> enforce this policy based on its internal clock.</t>
          <t>Note that security considerations should be taken relating to HSMs and their internal clocks. See <xref target="sec-cons-hsm-timestamps"/>.</t>
        </section>
        <section anchor="purpose">
          <name>purpose</name>
          <t>Reports the key capabilities associated with the subject key. Since multiple capabilities can be associated with a single key,
the value of this claim is a list of capabilities, each reported as an object identifier (OID).</t>
          <t>The value of this claim is the DER encoding of the following structure:</t>
          <sourcecode type="asn.1"><![CDATA[
<CODE STARTS>

EvidenceKeyCapabilities ::= SEQUENCE OF OBJECT IDENTIFIER

<CODE ENDS>

]]></sourcecode>
          <t>The following table describes the key capabilities defined in this specification. The key capabilities offered are based on key
attributes provided by PKCS#11. Each capability is assigned an object identifier (OID).</t>
          <table>
            <thead>
              <tr>
                <th align="left">Capability</th>
                <th align="left">PKCS#11</th>
                <th align="left">OID</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">encrypt</td>
                <td align="left">CKA_ENCRYPT</td>
                <td align="left">id-evidence-key-capability-encrypt</td>
              </tr>
              <tr>
                <td align="left">decrypt</td>
                <td align="left">CKA_DECRYPT</td>
                <td align="left">id-evidence-key-capability-decrypt</td>
              </tr>
              <tr>
                <td align="left">wrap</td>
                <td align="left">CKA_WRAP</td>
                <td align="left">id-evidence-key-capability-wrap</td>
              </tr>
              <tr>
                <td align="left">unwrap</td>
                <td align="left">CKA_UNWRAP</td>
                <td align="left">id-evidence-key-capability-unwrap</td>
              </tr>
              <tr>
                <td align="left">sign</td>
                <td align="left">CKA_SIGN</td>
                <td align="left">id-evidence-key-capability-sign</td>
              </tr>
              <tr>
                <td align="left">sign-recover</td>
                <td align="left">CKA_SIGN_RECOVER</td>
                <td align="left">id-evidence-key-capability-sign-recover</td>
              </tr>
              <tr>
                <td align="left">verify</td>
                <td align="left">CKA_VERIFY</td>
                <td align="left">id-evidence-key-capability-verify</td>
              </tr>
              <tr>
                <td align="left">verify-recover</td>
                <td align="left">CKA_VERIFY_RECOVER</td>
                <td align="left">id-evidence-key-capability-verify-recover</td>
              </tr>
              <tr>
                <td align="left">derive</td>
                <td align="left">CKA_DERIVE</td>
                <td align="left">id-evidence-key-capability-derive</td>
              </tr>
            </tbody>
          </table>
          <t>The use of an object identifier to report a capability allows third parties to extend this list to support
implementations that have other key capabilities.</t>
        </section>
      </section>
      <section anchor="transaction-entity">
        <name>Transaction Entity</name>
        <t>A transaction entity is associated with the type <tt>id-evidence-entity-transaction</tt>. This is
a logical entity and does not relate to any state found in the Target Environment. Instead, it
groups together claims that relate to the request of generating the Evidence.</t>
        <t>For example, it is possible to include a <tt>nonce</tt> as part of the request to produce Evidence. This
<tt>nonce</tt> is repeated as part of the Evidence to support
the freshness of the Evidence. The <tt>nonce</tt> is not related to any element in the Target Environment
and the transaction entity is used to gather those values into claims.</t>
        <t>A transaction entity, if provided, <bcp14>MUST</bcp14> be included only once within the reported entities. If a
Verifier detects multiple entities of type <tt>id-evidence-entity-transaction</tt>, it <bcp14>MUST</bcp14>
reject the Evidence.</t>
        <t>The following table lists the claims for a transaction entity defined
within this specification. The "Reference" column refers to the specification where the semantics
for the claim value can be found.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Claim Type</th>
              <th align="left">Claim Value</th>
              <th align="left">Reference</th>
              <th align="left">Multiple?</th>
              <th align="left">OID</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">nonce</td>
              <td align="left">bytes</td>
              <td align="left">
                <xref target="RFC9711"/></td>
              <td align="left">No</td>
              <td align="left">id-evidence-claim-transaction-nonce</td>
            </tr>
            <tr>
              <td align="left">timestamp</td>
              <td align="left">time</td>
              <td align="left">
                <xref target="RFC9711"/></td>
              <td align="left">No</td>
              <td align="left">id-evidence-claim-transaction-timestamp</td>
            </tr>
            <tr>
              <td align="left">ak-spki</td>
              <td align="left">bytes</td>
              <td align="left">RFCthis</td>
              <td align="left">Yes</td>
              <td align="left">id-evidence-claim-transaction-ak-spki</td>
            </tr>
          </tbody>
        </table>
        <section anchor="nonce">
          <name>nonce</name>
          <t>The claim <tt>nonce</tt> is used to provide "freshness" quality as to the generated Evidence. A Presenter requesting Evidence <bcp14>MAY</bcp14> provide a nonce value as part of the request. This nonce value, if specified, <bcp14>SHOULD</bcp14> be repeated in the generated Evidence as a claim within the transaction entity.</t>
          <t>This claim is similar to the "eat_nonce" as defined in <xref target="RFC9711"/>. According to that specification, this claim may be specified multiple times with
different values. However, within the scope of this specification, the "nonce" value can be specified only once within a transaction.</t>
        </section>
        <section anchor="timestamp">
          <name>timestamp</name>
          <t>The time at which the Evidence was generated, according to the internal system clock of the Attesting Environment. This is similar to the
"iat" claim in <xref target="RFC9711"/>.</t>
          <t>Note that security considerations should be taken relating to the evaluation of timestamps generated by HSMs. See <xref target="sec-cons-hsm-timestamps"/>.</t>
        </section>
        <section anchor="ak-spki">
          <name>ak-spki</name>
          <t>This claim contains the encoded Subject Public Key Information (SPKI) for the attestation key used to sign the Evidence. The definition
and encoding for SPKIs are defined in X.509 certificates (<xref target="RFC5280"/>).</t>
          <t>This transaction claim is used to bind the content of the Evidence with the key(s) used to sign that Evidence. The importance
of this binding is discussed in <xref target="sec-detached-sigs"/>.</t>
          <t>This claim can be reported multiple times. Each included claim <bcp14>MUST</bcp14> refer to a different attestation key. In other words, this claim
should be repeated only if multiple attestation keys are used to sign the Evidence.</t>
        </section>
      </section>
      <section anchor="sec-additional-claim-types">
        <name>Additional Entity and Claim Types</name>
        <t>It is expected that HSM vendors will register additional Entity and Claim types by assigning OIDs from their own proprietary OID arcs to hold data describing additional proprietary key properties.</t>
        <t>When new entity and claim types are used, documentation similar to the one produced in this specification <bcp14>SHOULD</bcp14> be distributed to
explain the semantics of the claims and the frequency that values can be provided.</t>
        <t>See <xref target="sec-req-processing"/>, <xref target="sec-req-verification"/> and <xref target="sec-cons-verifier"/> for handling of unrecognized custom types.</t>
      </section>
      <section anchor="encoding">
        <name>Encoding</name>
        <t>The structure <tt>Evidence</tt> is to be DER encoded <xref target="X.690"/>.</t>
        <t>If a textual representation is required, then the DER encoding <bcp14>MAY</bcp14> be subsequently encoded into Standard Base64 as defined in <xref target="RFC4648"/>.</t>
        <t>PEM-like representations are also allowed where a MIME-compliant Base64 transformation of the DER encoding is used, provided that the
header label is "EVIDENCE". For example:</t>
        <artwork><![CDATA[
-----BEGIN EVIDENCE-----
(...)
-----END EVIDENCE-----
]]></artwork>
      </section>
    </section>
    <section anchor="sec-verif-proc">
      <name>Signing and Verification Procedures</name>
      <t>The <tt>SignatureBlock.signatureValue</tt> signs over the DER-encoded to-be-signed Evidence data
<tt>Evidence.tbs</tt> and <bcp14>MUST</bcp14> be validated with the subject public key of the end entity
X.509 certificate contained in the <tt>SignerIdentifier.certificate</tt>. Verifiers <bcp14>MAY</bcp14> also use
<tt>Evidence.intermediateCertificates</tt> to build a certification path to a trust anchor.</t>
      <t>Note that the structure <tt>Evidence</tt> <bcp14>MAY</bcp14> contain zero or more SignatureBlocks.
A structure <tt>Evidence</tt> with zero SignatureBlocks is unsigned and unprotected; Verifiers <bcp14>MUST</bcp14> treat it as untrusted and <bcp14>MUST NOT</bcp14> rely on its claims.</t>
      <t>More than one SignatureBlock <bcp14>MAY</bcp14> be used to convey a number of different semantics.
For example, the HSM's Attesting Environment might hold multiple Attestation Keys using different cryptographic
algorithms in order to provide resilience against cryptographic degradation. In this case a Verifier would be expected to validate all SignatureBlocks. Alternatively, the HSM's Attesting Service may hold multiple Attestation Keys (or multiple X.509 certificates for the same key) from multiple operational environments to which it belongs. In this case a Verifier would be expected to only validate the SignatureBlock corresponding to its own environment. Alternatively, multiple SignatureBlocks could be used to convey counter-signatures from external parties, in which case the Verifier will need to be equipped with environment-specific verification logic. Multiple of these cases, and potentially others, could be supported by a single Evidence object.</t>
      <t>Note that each SignatureBlock is a fully detached signature over the tbs content with no binding between the signed content and the SignatureBlocks meaning that a third-party can add a
counter-signature of the Evidence after the fact, or an attacker can remove a SignatureBlock without leaving any artifact. See <xref target="sec-detached-sigs"/> for further discussion.</t>
      <t>If any <tt>transaction.ak-spki</tt> claims are present, the Verifier <bcp14>SHOULD</bcp14> verify that each <tt>SignerIdentifier</tt>’s SubjectPublicKeyInfo (or the SPKI of its <tt>certificate</tt>) matches at least one <tt>ak-spki</tt> value.</t>
    </section>
    <section anchor="sec-reqs">
      <name>Attestation Requests</name>
      <t>This section is informative in nature and implementers of this specification do not need to adhere to it. The aim of this section is
to provide a standard interface between a Presenter and an HSM producing Evidence. The authors hope that this standard interface will
yield interoperable tools between offerings from different vendors.</t>
      <t>The interface presented in this section might be too complex for manufacturers of HSMs with limited capabilities such as smartcards
or personal ID tokens. For devices with limited capabilities, a fixed Evidence endorsed by the vendor might be installed
during manufacturing. Other approaches for constrained HSMs might be to report entities and claims that are fixed or offer limited
variations.</t>
      <t>On the other hand, an enterprise-grade HSM with the capability to hold a large number of private keys is expected to be capable of generating
Evidence catered to the specific constraints imposed by a Verifier and without exposing extraneous information. The aim of the request
interface is to provide the means to select and report specific information in the generated Evidence.</t>
      <t>This section introduces the role of "Presenter" as shown in <xref target="fig-arch"/>. The Presenter is the role that initiates the generation of
Evidence. Since HSMs are generally servers (client/server relationship) or peripherals (controller/peripheral relationship), a Presenter is
required to launch the process of creating the Evidence and capturing it to forward it to the Verifier.</t>
      <figure anchor="fig-arch">
        <name>Architecture</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="496" width="408" viewBox="0 0 408 496" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,32 L 8,336" fill="none" stroke="black"/>
              <path d="M 48,416 L 48,480" fill="none" stroke="black"/>
              <path d="M 64,80 L 64,160" fill="none" stroke="black"/>
              <path d="M 64,240 L 64,288" fill="none" stroke="black"/>
              <path d="M 112,296 L 112,408" fill="none" stroke="black"/>
              <path d="M 128,160 L 128,232" fill="none" stroke="black"/>
              <path d="M 136,288 L 136,408" fill="none" stroke="black"/>
              <path d="M 184,416 L 184,480" fill="none" stroke="black"/>
              <path d="M 216,80 L 216,160" fill="none" stroke="black"/>
              <path d="M 216,240 L 216,288" fill="none" stroke="black"/>
              <path d="M 248,32 L 248,336" fill="none" stroke="black"/>
              <path d="M 296,416 L 296,480" fill="none" stroke="black"/>
              <path d="M 400,416 L 400,480" fill="none" stroke="black"/>
              <path d="M 8,32 L 248,32" fill="none" stroke="black"/>
              <path d="M 64,80 L 216,80" fill="none" stroke="black"/>
              <path d="M 64,160 L 216,160" fill="none" stroke="black"/>
              <path d="M 64,240 L 216,240" fill="none" stroke="black"/>
              <path d="M 64,288 L 216,288" fill="none" stroke="black"/>
              <path d="M 8,336 L 248,336" fill="none" stroke="black"/>
              <path d="M 48,416 L 184,416" fill="none" stroke="black"/>
              <path d="M 296,416 L 400,416" fill="none" stroke="black"/>
              <path d="M 192,432 L 288,432" fill="none" stroke="black"/>
              <path d="M 192,464 L 288,464" fill="none" stroke="black"/>
              <path d="M 48,480 L 184,480" fill="none" stroke="black"/>
              <path d="M 296,480 L 400,480" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="296,464 284,458.4 284,469.6" fill="black" transform="rotate(0,288,464)"/>
              <polygon class="arrowhead" points="200,432 188,426.4 188,437.6" fill="black" transform="rotate(180,192,432)"/>
              <polygon class="arrowhead" points="144,408 132,402.4 132,413.6" fill="black" transform="rotate(90,136,408)"/>
              <polygon class="arrowhead" points="136,232 124,226.4 124,237.6" fill="black" transform="rotate(90,128,232)"/>
              <polygon class="arrowhead" points="120,296 108,290.4 108,301.6" fill="black" transform="rotate(270,112,296)"/>
              <g class="text">
                <text x="60" y="52">Attester</text>
                <text x="120" y="52">(HSM)</text>
                <text x="100" y="100">Target</text>
                <text x="120" y="116">Environment</text>
                <text x="112" y="132">(Entities</text>
                <text x="160" y="132">&amp;</text>
                <text x="112" y="148">values)</text>
                <text x="168" y="196">Collect</text>
                <text x="176" y="212">Claims(3)</text>
                <text x="112" y="260">Attesting</text>
                <text x="120" y="276">Environment</text>
                <text x="56" y="372">Attestation</text>
                <text x="208" y="372">Evidence(4)</text>
                <text x="52" y="388">Request(2)</text>
                <text x="244" y="420">Nonce(1)</text>
                <text x="120" y="452">Presenter</text>
                <text x="348" y="452">Verifier</text>
                <text x="240" y="484">Evidence(5)</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
+-----------------------------+
|  Attester (HSM)             |
|                             |
|      +------------------+   |
|      | Target           |   |
|      | Environment      |   |
|      | (Entities &      |   |
|      |  values)         |   |
|      +-------+----------+   |
|              |              |
|              | Collect      |
|              | Claims(3)    |
|              v              |
|      +------------------+   |
|      | Attesting        |   |
|      | Environment      |   |
|      +--------+---------+   |
|            ^  |             |
|            |  |             |
+------------+--+-------------+
             |  |
 Attestation |  |   Evidence(4)
 Request(2)  |  |
             |  v
     +----------------+   Nonce(1)  +------------+
     |                |<------------|            |
     |    Presenter   |             |  Verifier  |
     |                |------------>|            |
     +----------------+ Evidence(5) +------------+
]]></artwork>
        </artset>
      </figure>
      <t>The process of generating Evidence generally starts at the Verifier with the generation of a nonce. The nonce is used to ensure freshness
of the Evidence and this quality is guaranteed by the Verifier. Therefore, if a nonce is used, it must be provided to the Presenter by
the Verifier (1).</t>
      <t>An Attestation Request (request) is assembled by the Presenter and submitted to the HSM (2). The Attesting Environment parses the request and
collects the appropriate measurements from the Target Environment (3).</t>
      <t>In the previous figure, the HSM is represented as being composed of an Attesting Environment and a Target Environment. This representation is offered
as a simplified view and implementations are not required to adhere to this separation of concerns.</t>
      <t>The Attesting Environment produces Evidence based on the collected information and returns it to the Presenter for distribution (4). Finally, the
Presenter forwards the Evidence to the Verifier (5).</t>
      <t>The aim of the figure is to depict the position of the Presenter as an intermediate role between the Attester and the Verifier.
The role of "Presenter" is privileged as it controls the claims included in the Evidence being generated by the Attester. However, the role is not "trusted" as
the Verifier does not have to take into account the participation of the Presenter as part of the function of appraising the Evidence.</t>
      <t>The attestation request, shown in the figure, consists of a structure <tt>TbsEvidence</tt> containing one <tt>ReportedEntity</tt> for each entity expected to
be included in the Evidence produced by the HSM.</t>
      <t>Each instance of <tt>ReportedEntity</tt> included in the request is referred to as a requested entity. A requested entity contains a number of instances
of <tt>ReportedClaim</tt> known as requested claims. The collection of requested entities and requested claims represent the information desired
by the Presenter.</t>
      <t>In most cases the value of a requested claim should be left unspecified by the Presenter. In the process of generating
the Evidence, the values of the desired claims are measured by the Attesting Environment within the HSM and reported accordingly. For the purpose
of creating a request, the Presenter does not specify the value of the requested claims and leaves them empty. This is possible because the definition of
the structure <tt>ReportedClaim</tt> specifies the element <tt>value</tt> as optional.</t>
      <t>On the other hand, there are circumstances where the value of a requested claim should be provided by the Presenter. For example, when a particular
cryptographic key is to be included in the Evidence, the request must include a key entity with one of the "identifier" claim set to the value
corresponding to the desired key.</t>
      <t>Some instances of <tt>ReportedEntity</tt>, such as those representing the platform or the transaction, do not need identifiers as the associated elements are
implicit in nature. Custom entity types might need selection during an attestation request and related documentation should specify how this is
achieved.</t>
      <t>The instance of <tt>TbsEvidence</tt> is unsigned and does not provide any means to maintain integrity when communicated from the Presenter to the HSM.
These details are left to the implementer. However, it is worth pointing out that the structure offered by <tt>Evidence</tt> could be reused by an
implementer to provide those capabilities, as described in <xref target="sec-cons-auth-the-presenter"/>.</t>
      <section anchor="requested-claims-with-specified-values">
        <name>Requested Claims with Specified Values</name>
        <t>This section deals with the requested claims specified in this document where a value should be provided by a Presenter. In other words, this
section defines all requested claims that should set a value in the structure <tt>ReportedClaim</tt>. Requested claims not covered in this sub-section
should not have a specified value (left empty).</t>
        <t>Since this section is non-normative, implementers may deviate from those recommendations.</t>
        <section anchor="key-identifiers">
          <name>Key Identifiers</name>
          <t>A Presenter may choose to select which cryptographic keys are reported as part of the generated Evidence. For each selected cryptographic key,
the Presenter includes a requested entity of type <tt>id-evidence-entity-key</tt>. Among the requested claims for this entity, the
Presenter includes one claim with the type <tt>id-evidence-claim-key-identifier</tt>. The value of this claim should be
set to the utf8String that represents the identifier for the specific key.</t>
          <t>An HSM receiving an attestation request which selects a key via this approach <bcp14>SHOULD</bcp14> fail the transaction if it cannot find the cryptographic
key associated with the specified identifier.</t>
        </section>
        <section anchor="nonce-1">
          <name>Nonce</name>
          <t>A Presenter may choose to include a nonce as part of the attestation request. When producing the Evidence, the HSM repeats the
nonce that was provided as part of the request.</t>
          <t>When providing a nonce, a Presenter includes, in the attestation request, an entity of type <tt>id-evidence-entity-transaction</tt>
with a claim of type <tt>id-evidence-claim-transaction-nonce</tt>. This claim is set with the value of the
nonce as "bytes".</t>
          <t>It is important to note that the Presenter, as an untrusted participant, should not be generating the value for the nonce. In fact, the
nonce should be generated by the Verifier so that the freshness of the Evidence can be trusted by the Verifier.</t>
        </section>
        <section anchor="custom-key-selection">
          <name>Custom Key Selection</name>
          <t>An implementer might desire to select multiple cryptographic keys based on a shared attribute. A possible approach
is to include a single request entity of type <tt>id-evidence-entity-key</tt> including a claim with a set value. This claim
would not be related to the key identifier as this is unique to each key. A HSM supporting this scheme could select all the cryptographic
keys matching the specified claim and report them in the generated Evidence.</t>
          <t>This is a departure from the base request interface, as multiple key entities are reported from a single requested entity.</t>
          <t>More elaborate selection schemes can be envisaged where multiple requested claims specifying values would be tested against cryptographic keys.
Whether these claims are combined in a logical "and" or in a logical "or" would need to be specified by the implementer.</t>
        </section>
        <section anchor="custom-transaction-entity-claims">
          <name>Custom Transaction Entity Claims</name>
          <t>The extensibility offered by the proposed request interface allows an implementer to add custom claims to the transaction entity in
order to influence the way that the Evidence generation is performed.</t>
          <t>In such an approach, a new custom claim for requested entities of type "transaction" is defined. Then, a
claim of that type is included in the attestation request (as part of the transaction entity) while specifying a value. This value
is considered by the HSM while generating the Evidence.</t>
        </section>
        <section anchor="reporting-of-attestation-keys">
          <name>Reporting of Attestation Keys</name>
          <t>There is a provision for the Attesting Environment to report the attestation key(s) used during the generation of the Evidence. To this end,
the transaction claim "ak-spki" is used.</t>
          <t>A Presenter invokes this provision by submitting an attestation request with a transaction claim of type "ak-spki" with a
non-specified value (left empty).</t>
          <t>In this case, the Attesting Environment adds a transaction claim of type "ak-spki" for each Attestation Key used to sign the Evidence. The
value of this claim is an octet string (bytes) which is the encoding of the Subject Public Key Information (SPKI) associated
with the Attestation Key. Details on SPKIs and their encoding can be found in X.509 certificates (<xref target="RFC5280"/>).</t>
          <t>This reporting effectively binds the signature blocks to the content (see <xref target="sec-detached-sigs"/>).</t>
        </section>
      </section>
      <section anchor="sec-req-processing">
        <name>Processing an Attestation Request</name>
        <t>This sub-section deals with the rules that should be considered when an Attesting Environment processes a request to generate
Evidence. This section is non-normative and implementers <bcp14>MAY</bcp14> choose to not follow these recommendations.</t>
        <t>These recommendations apply to any attestation request schemes and are not restricted solely to the request interface proposed
here.</t>
        <t>An Attesting Environment <bcp14>SHOULD</bcp14> fail an attestation request if it contains an unrecognized entity type. This is to ensure that all the semantics expected
by the Presenter are fully understood by the Attesting Environment.</t>
        <t>An Attesting Environment <bcp14>MUST</bcp14> fail an attestation request if it contains a requested claim with an unrecognized type with a specified a value (not
empty). This represents a situation where the Presenter is selecting specific information that is not understood by the Attesting Environment.</t>
        <t>An Attesting Environment <bcp14>SHOULD</bcp14> ignore unrecognized claim types in an attestation request. In this situation, the Attesting Environment <bcp14>SHOULD NOT</bcp14> include
the claim as part of the response. This guidance is to increase the likelihood of interoperability between tools of various
vendors.</t>
        <t>An Attesting Environment <bcp14>MUST NOT</bcp14> include entities and claims in the generated Evidence if these entities and claims were
not specified as part of the request. This is to give control to the Presenter as to what information is disclosed by the Attesting Environment.</t>
        <t>An Attesting Environment <bcp14>MUST</bcp14> fail an attestation request if the Presenter does not have the appropriate access rights to the entities or claims included
in the request.</t>
      </section>
      <section anchor="sec-req-verification">
        <name>Verification by Presenter</name>
        <t>This sub-section deals with the rules that should be considered when a Presenter receives Evidence from the Attester (the HSM)
prior to distribution. This section is non-normative and implementers <bcp14>MAY</bcp14> choose to not follow these recommendations.</t>
        <t>These recommendations apply to any Evidence and are not restricted solely to Evidence generated from the proposed request interface.</t>
        <t>A Presenter <bcp14>MUST</bcp14> review the Evidence produced by an Attester for fitness prior to distribution.</t>
        <t>A Presenter <bcp14>MUST NOT</bcp14> disclose Evidence if it contains information it
cannot parse. This restriction applies to entity types and claim types. This is
to ensure that the information provided by the Attester can be evaluated by the
Presenter.</t>
        <t>A Presenter <bcp14>MUST NOT</bcp14> disclose Evidence if it contains entities others
than the ones that were requested of the Attester. This is to ensure that only the
selected entities are exposed to the Verifier.</t>
        <t>A Presenter <bcp14>MUST NOT</bcp14> disclose Evidence if it contains an entity with a claim
that was not requested of the Attester. This is to ensure that only the selected
information is disclosed to the Verifier.</t>
        <t>Further privacy concerns are discussed in <xref target="sec-cons-privacy"/>.</t>
      </section>
    </section>
    <section anchor="sec-asn1-mod">
      <name>ASN.1 Module</name>
      <sourcecode type="asn.1"><![CDATA[
<CODE STARTS>

=============== NOTE: '\' line wrapping per RFC 8792 ================

PKIX-Evidence-2025
      { iso(1) identified-organization(3) dod(6) internet(1) 
        security(5) mechanisms(5) pkix(7) id-mod(0) 
        id-mod-pkix-evidence-2025(TBDMOD) }

DEFINITIONS IMPLICIT TAGS ::=
BEGIN

Evidence ::= SEQUENCE {
    tbs                           TbsEvidence,
    signatures                    SEQUENCE SIZE (0..MAX) OF \
                                                      SignatureBlock,
    intermediateCertificates  [0] SEQUENCE OF Certificate OPTIONAL
                                  -- As defined in RFC 5280
}

TbsEvidence ::= SEQUENCE {
    version INTEGER,
    reportedEntities SEQUENCE SIZE (1..MAX) OF ReportedEntity
}

ReportedEntity ::= SEQUENCE {
    entityType         OBJECT IDENTIFIER,
    claims             SEQUENCE SIZE (1..MAX) OF ReportedClaim
}

ReportedClaim ::= SEQUENCE {
    claimType          OBJECT IDENTIFIER,
    value              ClaimValue OPTIONAL
}

ClaimValue ::= CHOICE {
   bytes       [0] OCTET STRING,
   utf8String  [1] UTF8String,
   bool        [2] BOOLEAN,
   time        [3] GeneralizedTime,
   int         [4] INTEGER,
   oid         [5] OBJECT IDENTIFIER,
   null        [6] NULL
}

SignatureBlock ::= SEQUENCE {
   sid                  SignerIdentifier,
   signatureAlgorithm   AlgorithmIdentifier,
   signatureValue       OCTET STRING
}

SignerIdentifier ::= SEQUENCE {
   keyId                [0] EXPLICIT OCTET STRING OPTIONAL,
   subjectPublicKeyInfo [1] EXPLICIT SubjectPublicKeyInfo OPTIONAL,
                            -- As defined in RFC 5280
   certificate          [2] EXPLICIT Certificate OPTIONAL
                            -- As defined in RFC 5280
}

EvidenceKeyCapabilities ::= SEQUENCE OF OBJECT IDENTIFIER

id-evidence OBJECT IDENTIFIER ::= { 1 2 3 999 }

id-evidence-entity             OBJECT IDENTIFIER ::= { id-evidence \
                                                                  0 }
id-evidence-entity-transaction OBJECT IDENTIFIER ::= { id-evidence-\
                                                           entity 0 }
id-evidence-entity-platform    OBJECT IDENTIFIER ::= { id-evidence-\
                                                           entity 1 }
id-evidence-entity-key         OBJECT IDENTIFIER ::= { id-evidence-\
                                                           entity 2 }

id-evidence-claim    OBJECT IDENTIFIER ::= { id-evidence 1 }

id-evidence-claim-transaction           OBJECT IDENTIFIER ::= { id-\
                                                   evidence-claim 0 }
id-evidence-claim-transaction-nonce     OBJECT IDENTIFIER ::= { id-\
                                       evidence-claim-transaction 0 }
id-evidence-claim-transaction-timestamp OBJECT IDENTIFIER ::= { id-\
                                       evidence-claim-transaction 1 }
id-evidence-claim-transaction-ak-spki   OBJECT IDENTIFIER ::= { id-\
                                       evidence-claim-transaction 2 }

id-evidence-claim-platform            OBJECT IDENTIFIER ::= { id-\
                                                   evidence-claim 1 }
id-evidence-claim-platform-vendor     OBJECT IDENTIFIER ::= { id-\
                                          evidence-claim-platform 0 }
id-evidence-claim-platform-oemid      OBJECT IDENTIFIER ::= { id-\
                                          evidence-claim-platform 1 }
id-evidence-claim-platform-hwmodel    OBJECT IDENTIFIER ::= { id-\
                                          evidence-claim-platform 2 }
id-evidence-claim-platform-hwversion  OBJECT IDENTIFIER ::= { id-\
                                          evidence-claim-platform 3 }
id-evidence-claim-platform-hwserial   OBJECT IDENTIFIER ::= { id-\
                                          evidence-claim-platform 4 }
id-evidence-claim-platform-swname     OBJECT IDENTIFIER ::= { id-\
                                          evidence-claim-platform 5 }
id-evidence-claim-platform-swversion  OBJECT IDENTIFIER ::= { id-\
                                          evidence-claim-platform 6 }
id-evidence-claim-platform-debugstat  OBJECT IDENTIFIER ::= { id-\
                                          evidence-claim-platform 7 }
id-evidence-claim-platform-uptime     OBJECT IDENTIFIER ::= { id-\
                                          evidence-claim-platform 8 }
id-evidence-claim-platform-bootcount  OBJECT IDENTIFIER ::= { id-\
                                          evidence-claim-platform 9 }
id-evidence-claim-platform-usermods   OBJECT IDENTIFIER ::= { id-\
                                         evidence-claim-platform 10 }
id-evidence-claim-platform-fipsboot   OBJECT IDENTIFIER ::= { id-\
                                         evidence-claim-platform 11 }
id-evidence-claim-platform-fipsver    OBJECT IDENTIFIER ::= { id-\
                                         evidence-claim-platform 12 }
id-evidence-claim-platform-fipslevel  OBJECT IDENTIFIER ::= { id-\
                                         evidence-claim-platform 13 }
id-evidence-claim-platform-fipsmodule OBJECT IDENTIFIER ::= { id-\
                                         evidence-claim-platform 14 }


id-evidence-claim-key                   OBJECT IDENTIFIER ::= { id-\
                                                   evidence-claim 2 }
id-evidence-claim-key-identifier        OBJECT IDENTIFIER ::= { id-\
                                               evidence-claim-key 0 }
id-evidence-claim-key-spki              OBJECT IDENTIFIER ::= { id-\
                                               evidence-claim-key 1 }
id-evidence-claim-key-extractable       OBJECT IDENTIFIER ::= { id-\
                                               evidence-claim-key 2 }
id-evidence-claim-key-sensitive         OBJECT IDENTIFIER ::= { id-\
                                               evidence-claim-key 3 }
id-evidence-claim-key-never-extractable OBJECT IDENTIFIER ::= { id-\
                                               evidence-claim-key 4 }
id-evidence-claim-key-local             OBJECT IDENTIFIER ::= { id-\
                                               evidence-claim-key 5 }
id-evidence-claim-key-expiry            OBJECT IDENTIFIER ::= { id-\
                                               evidence-claim-key 6 }
id-evidence-claim-key-purpose           OBJECT IDENTIFIER ::= { id-\
                                               evidence-claim-key 7 }


id-evidence-key-capability                  OBJECT IDENTIFIER ::= { \
                                                      id-evidence 2 }
id-evidence-key-capability-encrypt          OBJECT IDENTIFIER ::= { \
                                       id-evidence-key-capability 0 }
id-evidence-key-capability-decrypt          OBJECT IDENTIFIER ::= { \
                                       id-evidence-key-capability 1 }
id-evidence-key-capability-wrap             OBJECT IDENTIFIER ::= { \
                                       id-evidence-key-capability 2 }
id-evidence-key-capability-unwrap           OBJECT IDENTIFIER ::= { \
                                       id-evidence-key-capability 3 }
id-evidence-key-capability-sign             OBJECT IDENTIFIER ::= { \
                                       id-evidence-key-capability 4 }
id-evidence-key-capability-sign-recover     OBJECT IDENTIFIER ::= { \
                                       id-evidence-key-capability 5 }
id-evidence-key-capability-verify           OBJECT IDENTIFIER ::= { \
                                       id-evidence-key-capability 6 }
id-evidence-key-capability-verify-recover   OBJECT IDENTIFIER ::= { \
                                       id-evidence-key-capability 7 }
id-evidence-key-capability-derive           OBJECT IDENTIFIER ::= { \
                                       id-evidence-key-capability 8 }

END

<CODE ENDS>

]]></sourcecode>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>Please replace "RFCthis" with the RFC number assigned to this document.</t>
      <t>The following OIDs are defined in this document and will require IANA registration under the assigned arc:</t>
      <ul spacing="normal">
        <li>
          <t><tt>id-evidence</tt></t>
        </li>
        <li>
          <t><tt>id-evidence-entity</tt></t>
        </li>
        <li>
          <t><tt>id-evidence-entity-transaction</tt></t>
        </li>
        <li>
          <t><tt>id-evidence-entity-platform</tt></t>
        </li>
        <li>
          <t><tt>id-evidence-entity-key</tt></t>
        </li>
        <li>
          <t>Claim OIDs referenced in the Platform, Key, and Transaction tables (e.g., <tt>id-evidence-claim-platform-*</tt>, <tt>id-evidence-claim-key-*</tt>, <tt>id-evidence-claim-transaction-*</tt>).</t>
        </li>
      </ul>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="sec-cons-verifier">
        <name>Policies relating to Verifier and Relying Party</name>
        <t>The generation of Evidence by an HSM is to provide sufficient information to
a Verifier and, ultimately, a Relying Party to appraise the Target Environment (the HSM) and make
decisions based on this appraisal.</t>
        <t>The Appraisal Policy associated with the Verifier influences the generation of the Attestation
Results. Those results, in turn, are consumed by the Relying Party to make decisions about
the HSM, which might be based on a set of rules and policies. Therefore, the interpretation of
the provided Evidence may greatly influence the outcome of some decisions.</t>
        <t>A Verifier <bcp14>MAY</bcp14> reject Evidence if it lacks the claims required per the Verifier's
appraisal policy. For example, if a Relying Party mandates a FIPS-certified device,
it <bcp14>SHOULD</bcp14> reject Evidence lacking sufficient information to verify the device's FIPS
certification status.</t>
        <t>If a Verifier encounters a claim with an unrecognized claim type, it <bcp14>MAY</bcp14> ignore it and
treat it as extraneous information. By ignoring a claim, the Verifier may accept Evidence
that would be deemed malformed to a Verifier with different policies. However, this approach
fosters a higher likelihood of achieving interoperability.</t>
      </section>
      <section anchor="sec-cons-simple">
        <name>Simple to Implement</name>
        <t>The nature of attestation requires the Attesting Environment to be implemented in an extremely
privileged position within the HSM so that it can collect the required measurements such as
hardware registers and the user keys. For many HSM architectures, this will
place the Attesting Environment inside the "security kernel" and potentially subject to FIPS 140-3
or Common Criteria validation and change control. For both security and compliance reasons,
there is an incentive for the generation and parsing logic to be simple and easy to implement
correctly. Additionally, when the data formats contained in this specification are parsed
within an HSM boundary -- that would be parsing Evidence
produced by a different HSM -- implementers <bcp14>SHOULD</bcp14> opt for simple logic that rejects any
data that does not match the expected format, instead of attempting to be flexible.</t>
        <t>In particular, the Attesting Environment <bcp14>SHOULD</bcp14> generate Evidence from scratch and
avoid copying any content from the request. The Attesting Environment <bcp14>MUST</bcp14> generate Evidence
only from information and measurements that are directly observable by it.</t>
      </section>
      <section anchor="sec-detached-sigs">
        <name>Detached Signatures</name>
        <t>The construction of the Evidence structure includes a collection of signature
blocks that are not explicitly bound to the content. This approach was influenced by the following
motivations:</t>
        <ul spacing="normal">
          <li>
            <t>Multiple simultaneous signature blocks are desired to support hybrid environments where
multiple keys using different cryptographic algorithms are required to support appraisal
policies.</t>
          </li>
          <li>
            <t>Provide the ability to add counter-signatures without having to define an envelop scheme.</t>
          </li>
        </ul>
        <t>The concept of counter-signatures is important for environments where a number of heterogeneous
devices are deployed. In those environments, it is possible for a trusted actor, intermediary between
the Attester and the Verifier, to validate the original signature(s) and apply its own afterwards.</t>
        <t>The ability to add signature blocks to the Evidence after the original generation by the Attester leads
to the unfortunate situation where signature blocks can also be removed without leaving any trace.
Therefore, the signature blocks can be deemed as "detachable" or "stapled".</t>
        <t>Manipulation of the Evidence after it was generated can lead to undesired outcomes at the Verifier.</t>
        <t>Therefore, Verifiers <bcp14>MUST</bcp14> be designed to accept Evidence based on their appraisal policies, regardless
of the presence or absence of certain signature(s). Consequently, Verifiers <bcp14>MUST NOT</bcp14> make any inferences
based on a missing signature, as the signature could have been removed in transit.</t>
        <t>This specification provides the transaction claim "ak-spki" to effectively bind the content with
the signature blocks that were inserted by the Attesting Environment. When this claim is provided, it reports
the SPKI of one of the attestation keys used by the Attesting Environment to produce the Evidence. This claim
is repeated for each of the attestation keys used by the Attesting Environment.</t>
      </section>
      <section anchor="sec-cons-privacy">
        <name>Privacy</name>
        <t>Some HSMs have the capacity of supporting cryptographic keys controlled by separate entities referred to as "tenants", and when the HSM is used in that mode
it is referred to as a multi-tenant configuration.</t>
        <t>For example, an enterprise-grade HSM in a large multi-tenant cloud service could host TLS keys fronting multiple un-related web domains. Providing Evidence for
claims of any one of the keys would involve a Presenter that could potentially access any of the hosted keys.
In such a case, privacy violations could occur if the Presenter was to disclose information that does not relate to the subject key.</t>
        <t>Implementers <bcp14>SHOULD</bcp14> be careful to avoid over-disclosure of information, for example by authenticating the Presenter as described in <xref target="sec-cons-auth-the-presenter"/> and only returning results for keys and portions of the Target Environment for which it is authorized.
In the absence of an existing mechanism for authenticating and authorizing administrative connections to the HSM, the attestation request authentication approach is described in <xref target="sec-cons-auth-the-presenter"/>.</t>
        <t>Furthermore, enterprise and cloud-services grade HSMs <bcp14>SHOULD</bcp14> support the full set of attestation request functionality described in <xref target="sec-reqs"/> so that Presenters can fine-tune the content of the generated Evidence such that it is appropriate for the intended Verifier.</t>
      </section>
      <section anchor="sec-cons-auth-the-presenter">
        <name>Authenticating and Authorizing the Presenter</name>
        <t>The Presenter represents a privileged role within the architecture of this specification as it gets to learn about the existence of user keys and their protection properties, as well as details of the platform.
The Presenter is in the position of deciding how much information to disclose to the Verifier, and to request a suitably redacted Evidence from the HSM.</t>
        <t>For personal cryptographic tokens it might be appropriate for the attestation request interface to be un-authenticated. However, for enterprise and cloud-services grade HSMs the Presenter <bcp14>SHOULD</bcp14> be authenticated using the HSM's native authentication mechanism. The details are HSM-specific and are thus left up to the implementer. However, it is <bcp14>RECOMMENDED</bcp14> to implement an authorization framework similar to the following.</t>
        <t>A Presenter <bcp14>SHOULD</bcp14> be allowed to request Evidence for any user keys which it is allowed to use.
For example, a TLS application that is correctly authenticated to the HSM in order to use its TLS keys <bcp14>SHOULD</bcp14> be able to request Evidence related to those same keys without needing to perform any additional authentication or requiring any additional roles or permissions.
HSMs that wish to allow a Presenter to request Evidence of keys which is not allowed to use, for example for the purposes of displaying HSM status information on an administrative console or UI, <bcp14>SHOULD</bcp14> have a "Attestation Requester" role or permission and <bcp14>SHOULD</bcp14> enforce the HSM's native access controls such that the Presenter can only retrieve Evidence for keys for which it has visibility.</t>
        <t>In the absence of an existing mechanism for authenticating and authorizing administrative connections to the HSM, the attestation request <bcp14>MAY</bcp14> be authenticated by embedding the <tt>TbsEvidence</tt> of the request inside an <tt>Evidence</tt> signed with a certificate belonging to the Presenter.</t>
      </section>
      <section anchor="proof-of-possession-of-user-keys">
        <name>Proof-of-Possession of User Keys</name>
        <t>With asymmetric keys within a Public Key Infrastructure (PKI) it is common to require a key holder to prove that they are in control of the private key by using it. This is called "proof-of-possession (PoP)". This specification intentionally does not provide a mechanism for PoP of user keys and relies on the Presenter, Verifier, and Relying Party trusting the Attester to correctly report the cryptographic keys that it is holding.</t>
        <t>It would be trivial to add a PoP Key claim that uses the attested user key to sign over, for example, the Transaction Entity. However, this approach leads to undesired consequences, as explained
below.</t>
        <t>First, a user key intended for TLS, as an example, <bcp14>SHOULD</bcp14> only be used with the TLS protocol. Introducing a signature oracle whereby the TLS application key is used to sign Evidence could lead to cross-protocol attacks.
In this example, an attacker could submit a "nonce" value which is in fact not random but is crafted in such a way as to appear as a valid message in some other protocol context or exploit some other weakness in the signature algorithm.</t>
        <t>Second, the Presenter who has connected to the HSM to request Evidence may have permissions to list the requested application keys but not permission to use them, as in the case where the Presenter is an administrative UI displaying HSM status information to a system's administrator or auditor.</t>
        <t>Requiring the Attesting Environment to use the reported application keys to generate Evidence could, in some architectures, require the Attesting Environment to resolve complex access control logic and handle complex error conditions, which violates the "simple to implement" design principle outlined in <xref target="sec-cons-simple"/>. More discussions on authenticating the Presenter can be found in <xref target="sec-cons-auth-the-presenter"/>.</t>
      </section>
      <section anchor="sec-cons-hsm-timestamps">
        <name>Timestamps and HSMs</name>
        <t>It is common for HSMs to have an inaccurate system clock. Most clocks have a natural drift and must be corrected periodically. HSMs, like any other devices,
are subject to these issues.</t>
        <t>There are many situations where HSMs can not naturally correct their internal system clocks. For example, consider a HSM hosting a trust anchor and usually kept offline
and booted up infrequently in a network without a reliable time management service. Another example is a smart card which boots up only when held against an NFC reader.</t>
        <t>When a timestamp generated from a HSM is evaluated, the expected behavior of the system clock <bcp14>SHOULD</bcp14> be considered.</t>
        <t>More specifically, the timestamp <bcp14>SHOULD NOT</bcp14> be relied on for establishing the freshness of the Evidence generated by a HSM. Instead, Verifiers <bcp14>SHOULD</bcp14> rely on other provisions
such as the "nonce" claim of the "transaction" entity, introduced in this specification.</t>
        <t>Furthermore, the internal system clock of HSMs <bcp14>SHOULD NOT</bcp14> be relied on to enforce expiration policies.</t>
      </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="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="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="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="X680" target="https://www.itu.int/rec/T-REC-X.680">
          <front>
            <title>Information technology — ASN.1: Specification of basic notation</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="X690" target="https://www.itu.int/rec/T-REC-X.690">
          <front>
            <title>Information technology — ASN.1 encoding rules: BER, CER, DER</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="PKCS11" target="https://docs.oasis-open.org/pkcs11/pkcs11-spec/v3.1/cs01/pkcs11-spec-v3.1-cs01.html">
          <front>
            <title>PKCS #11 Specification Version 3.1</title>
            <author initials="D." surname="Bong" fullname="Dieter Bong">
              <organization/>
            </author>
            <author initials="T." surname="Cox" fullname="Tony Cox">
              <organization/>
            </author>
            <author>
              <organization>OASIS PKCS 11 TC</organization>
            </author>
            <date year="2022" month="August" day="11"/>
          </front>
        </reference>
        <reference anchor="FIPS140-3" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.140-3.pdf">
          <front>
            <title>Security Requirements for Cryptographic Modules</title>
            <author>
              <organization>NIST, Information Technology Laboratory</organization>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="FIPS" value="140-3"/>
        </reference>
        <reference anchor="X.690" target="https://www.itu.int/rec/T-REC-X.690">
          <front>
            <title>Information technology -- ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2021" month="February"/>
          </front>
          <seriesInfo name="ITU-T Recommendation" value="X.690"/>
          <seriesInfo name="ISO/IEC" value="8825-1:2021"/>
        </reference>
        <reference anchor="I-D.jpfiset-lamps-attestationkey-eku">
          <front>
            <title>X.509 Certificate Extended Key Usage (EKU) for Attestation Keys</title>
            <author fullname="Jean-Pierre Fiset" initials="J." surname="Fiset">
              <organization>Crypto4A Inc.</organization>
            </author>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Cryptic Forest Software</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
            </author>
            <author fullname="Monty Wiseman" initials="M." surname="Wiseman">
         </author>
            <date day="1" month="March" year="2026"/>
            <abstract>
              <t>   X.509 certificates ([RFC5280]) defines the Extended Key Usage (EKU)
   extension and specifies several key purpose identifiers
   (KeyPurposeIds) for use with that extension.  This document defines a
   KeyPurposeId for the purpose of signing Evidence to provide remote
   attestation functions as defined in the RATS Architecture
   ([RFC9334]).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-jpfiset-lamps-attestationkey-eku-02"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC2986">
          <front>
            <title>PKCS #10: Certification Request Syntax Specification Version 1.7</title>
            <author fullname="M. Nystrom" initials="M." surname="Nystrom"/>
            <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
            <date month="November" year="2000"/>
            <abstract>
              <t>This memo represents a republication of PKCS #10 v1.7 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series, and change control is retained within the PKCS process. The body of this document, except for the security considerations section, is taken directly from the PKCS #9 v2.0 or the PKCS #10 v1.7 document. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2986"/>
          <seriesInfo name="DOI" value="10.17487/RFC2986"/>
        </reference>
        <reference anchor="RFC6024">
          <front>
            <title>Trust Anchor Management Requirements</title>
            <author fullname="R. Reddy" initials="R." surname="Reddy"/>
            <author fullname="C. Wallace" initials="C." surname="Wallace"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>A trust anchor represents an authoritative entity via a public key and associated data. The public key is used to verify digital signatures, and the associated data is used to constrain the types of information for which the trust anchor is authoritative. A relying party uses trust anchors to determine if a digitally signed object is valid by verifying a digital signature using the trust anchor's public key, and by enforcing the constraints expressed in the associated data for the trust anchor. This document describes some of the problems associated with the lack of a standard trust anchor management mechanism and defines requirements for data formats and push-based protocols designed to address these problems. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6024"/>
          <seriesInfo name="DOI" value="10.17487/RFC6024"/>
        </reference>
        <reference anchor="RFC9019">
          <front>
            <title>A Firmware Update Architecture for Internet of Things</title>
            <author fullname="B. Moran" initials="B." surname="Moran"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="D. Brown" initials="D." surname="Brown"/>
            <author fullname="M. Meriac" initials="M." surname="Meriac"/>
            <date month="April" year="2021"/>
            <abstract>
              <t>Vulnerabilities in Internet of Things (IoT) devices have raised the need for a reliable and secure firmware update mechanism suitable for devices with resource constraints. Incorporating such an update mechanism is a fundamental requirement for fixing vulnerabilities, but it also enables other important capabilities such as updating configuration settings and adding new functionality.</t>
              <t>In addition to the definition of terminology and an architecture, this document provides the motivation for the standardization of a manifest format as a transport-agnostic means for describing and protecting firmware updates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9019"/>
          <seriesInfo name="DOI" value="10.17487/RFC9019"/>
        </reference>
        <reference anchor="RFC4211">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate Request Message Format (CRMF)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="September" year="2005"/>
            <abstract>
              <t>This document describes the Certificate Request Message Format (CRMF) syntax and semantics. This syntax is used to convey a request for a certificate to a Certification Authority (CA), possibly via a Registration Authority (RA), for the purposes of X.509 certificate production. The request will typically include a public key and the associated registration information. This document does not define a certificate request protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4211"/>
          <seriesInfo name="DOI" value="10.17487/RFC4211"/>
        </reference>
        <reference anchor="I-D.ietf-lamps-csr-attestation">
          <front>
            <title>Use of Remote Attestation with Certification Signing Requests</title>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Cryptic Forest Software</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>Siemens</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Monty Wiseman" initials="M." surname="Wiseman">
         </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
         </author>
            <date day="1" month="March" year="2026"/>
            <abstract>
              <t>   Certification Authorities (CAs) issuing certificates to Public Key
   Infrastructure (PKI) end entities may require a certificate signing
   request (CSR) to include additional verifiable information to confirm
   policy compliance.  For example, a CA may require an end entity to
   demonstrate that the private key corresponding to a CSR's public key
   is secured by a hardware security module (HSM), is not exportable,
   etc.  The process of generating, transmitting, and verifying
   additional information required by the CA is called remote
   attestation.  While work is currently underway to standardize various
   aspects of remote attestation, a variety of proprietary mechanisms
   have been in use for years, particularly regarding protection of
   private keys.

   This specification defines an ASN.1 structure for remote attestation
   that can accommodate proprietary and standardized attestation
   mechanisms, as well as an attribute and an extension to carry the
   structure in PKCS#10 and Certificate Request Message Format (CRMF)
   messages, respectively.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-csr-attestation-23"/>
        </reference>
        <reference anchor="I-D.fossati-tls-attestation">
          <front>
            <title>Using Attestation in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
         </author>
            <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer">
              <organization>Intuit</organization>
            </author>
            <author fullname="Paul Howard" initials="P." surname="Howard">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Ionuț Mihalcea" initials="I." surname="Mihalcea">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Yogesh Deshpande" initials="Y." surname="Deshpande">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Arto Niemi" initials="A." surname="Niemi">
              <organization>Huawei</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <date day="30" month="April" year="2025"/>
            <abstract>
              <t>   The TLS handshake protocol allows authentication of one or both peers
   using static, long-term credentials.  In some cases, it is also
   desirable to ensure that the peer runtime environment is in a secure
   state.  Such an assurance can be achieved using attestation which is
   a process by which an entity produces evidence about itself that
   another party can use to appraise whether that entity is found in a
   secure state.  This document describes a series of protocol
   extensions to the TLS 1.3 handshake that enables the binding of the
   TLS authentication key to a remote attestation session.  This enables
   an entity capable of producing attestation evidence, such as a
   confidential workload running in a Trusted Execution Environment
   (TEE), or an IoT device that is trying to authenticate itself to a
   network access point, to present a more comprehensive set of security
   metrics to its peer.  These extensions have been designed to allow
   the peers to use any attestation technology, in any remote
   attestation topology, and mutually.

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

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

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

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-msg-wrap-23"/>
        </reference>
        <reference anchor="CNSA2.0" target="https://media.defense.gov/2022/Sep/07/2003071834/-1/-1/0/CSA_CNSA_2.0_ALGORITHMS_.PDF">
          <front>
            <title>Commercial National Security Algorithm Suite 2.0</title>
            <author>
              <organization>National Security Agency</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="CSBR" target="https://cabforum.org/working-groups/code-signing/documents/">
          <front>
            <title>Baseline Requirements for the Issuance and Management of Publicly-Trusted Code Signing Certificates Version 3.8.0</title>
            <author>
              <organization>CA/Browser Forum</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
    <?line 1456?>

<section anchor="samples">
      <name>Samples</name>
      <t>A reference implementation of this specification can be found at https://github.com/ietf-rats-wg/key-attestation</t>
      <t>It produces the following sample Evidence.</t>
      <t>All signatures throughout the samples chain to the following root certificate:</t>
      <artwork><![CDATA[
-----BEGIN CERTIFICATE-----
MIIB7TCCAZOgAwIBAgIUbY8llQjszMkKoobezCece4BP800wCgYIKoZIzj0EAwIw
RDESMBAGA1UECgwJaWV0Zi1yYXRzMR0wGwYDVQQLDBRwa2l4LWtleS1hdHRlc3Rh
dGlvbjEPMA0GA1UEAwwGUm9vdENBMB4XDTI2MDMxNTExMTk0MVoXDTM2MDMxMjEx
MjA0MVowRDESMBAGA1UECgwJaWV0Zi1yYXRzMR0wGwYDVQQLDBRwa2l4LWtleS1h
dHRlc3RhdGlvbjEPMA0GA1UEAwwGUm9vdENBMFkwEwYHKoZIzj0CAQYIKoZIzj0D
AQcDQgAEQqorZLR+KsgEoA6Cia/J9AT0zhdTVp2KNRtilRZNBgE5frB63TwBGOGA
XCrpzWhRE/fsj/adQvfdFzQbpgXAGqNjMGEwDwYDVR0TAQH/BAUwAwEB/zAdBgNV
HQ4EFgQUiUIpV/gUSwUhoSmtTYV1CmptVCcwHwYDVR0jBBgwFoAUiUIpV/gUSwUh
oSmtTYV1CmptVCcwDgYDVR0PAQH/BAQDAgKEMAoGCCqGSM49BAMCA0gAMEUCIB3a
W+VmDj4Xq1mUvC8WP+bvr9f1laerLX0S79I/IFodAiEAgLF1FyDftc+nwEZfKKUM
Bl6G3w52VxUuz8vTl0BkekY=
-----END CERTIFICATE-----
]]></artwork>
      <section anchor="simple-platform-evidence">
        <name>Simple Platform Evidence</name>
        <t>This example shows a minimal PKIX Evidence object with only transaction and platform entities a single signature where the AK key is identified only by
its SHA1 hash KeyID. In other words, this Evidence describes only the HSM itself (rather than application keys stored within it), and it assumes
that the Verifier will be able to look up the AK key by its SHA1 hash.</t>
        <artwork><![CDATA[
-----BEGIN EVIDENCE-----
MIIBmjCCASMCAQEwggEcMIGkBgYqA4dnAAAwgZkwEwYHKgOHZwEAAIAI3q2+78r+ur4w
GgYHKgOHZwEAAYMPMjAyNTAzMTQxMjAwMDBaMGYGByoDh2cBAAKAWzBZMBMGByqGSM49
AgEGCCqGSM49AwEHA0IABFiviXnZqfGirH5NDNpvyq93giB8MA2k82Ta8lMs6/xH8PMY
eZ965/vKuUgU33TKZtaiLVgygHCGyNSaHdgy2lYwcwYGKgOHZwABMGkwFAYHKgOHZwEB
AIEJQWNtZSBDb3JwMBMGByoDh2cBAQKBCEhTTS05MDAwMBAGByoDh2cBAQOBBTIuMS4w
MAwGByoDh2cBAQuCAf8wDAYHKgOHZwEBDYQBAzAOBgcqA4dnAQEIhAMBUYAwcTBvMBig
FgQUuuCt/pTerOBaSi+hBOUWFZASFqowCgYIKoZIzj0EAwIERzBFAiBEsnyOFtRqRepx
opy9KYtO3P2LV5/6aI2NfL3la4Hj8QIhAO6N9/2GAqC4dxVaXcf5NyGBfFVsbSDpEPgW
eQjb0MmE
-----END EVIDENCE-----
]]></artwork>
        <t>Here is a pretty-print of the Evidence object:</t>
        <artwork><![CDATA[
Evidence:
  TbsEvidence:
    version: 1
    ReportedEntity[0]: id-evidence-entity-transaction
      Claim[0]: id-evidence-claim-transaction-nonce
              -> [bytes] deadbeefcafebabe
      Claim[1]: id-evidence-claim-transaction-timestamp
              -> [time] 20250314120000Z
      Claim[2]: id-evidence-claim-transaction-ak-spki
              -> [bytes] 3059301306072a8648ce3d02...
    ReportedEntity[1]: id-evidence-entity-platform
      Claim[0]: id-evidence-claim-platform-vendor
              -> [utf8String] Acme Corp
      Claim[1]: id-evidence-claim-platform-hwmodel
              -> [utf8String] HSM-9000
      Claim[2]: id-evidence-claim-platform-hwversion
              -> [utf8String] 2.1.0
      Claim[3]: id-evidence-claim-platform-fipsboot
              -> [bool] True
      Claim[4]: id-evidence-claim-platform-fipslevel
              -> [int] 3
      Claim[5]: id-evidence-claim-platform-uptime
              -> [int] 86400
  Signatures (1):
    SignatureBlock[0]:
      algorithm      : 1.2.840.10045.4.3.2
      signatureValue : 3045022044b27c8e16d46a45...
      keyId          : bae0adfe94deace05a4a2fa104e51615901216aa
]]></artwork>
        <t>For completeness of the sample, the following AK and Intermediate CA certificates are required for verification:</t>
        <artwork><![CDATA[
-----BEGIN CERTIFICATE-----
MIICATCCAaigAwIBAgIULcLYAnlUILf5YQ8yerpFJlJciUMwCgYIKoZIzj0EAwIw
QzESMBAGA1UECgwJaWV0Zi1yYXRzMR0wGwYDVQQLDBRwa2l4LWtleS1hdHRlc3Rh
dGlvbjEOMAwGA1UEAwwFSW50Q0EwHhcNMjYwMzE1MTExOTQxWhcNMzYwMzEyMTEy
MDQxWjBFMRIwEAYDVQQKDAlpZXRmLXJhdHMxHTAbBgNVBAsMFHBraXgta2V5LWF0
dGVzdGF0aW9uMRAwDgYDVQQDDAd0ZXN0LWFrMFkwEwYHKoZIzj0CAQYIKoZIzj0D
AQcDQgAEWK+Jedmp8aKsfk0M2m/Kr3eCIHwwDaTzZNryUyzr/Efw8xh5n3rn+8q5
SBTfdMpm1qItWDKAcIbI1Jod2DLaVqN4MHYwDAYDVR0TAQH/BAIwADAdBgNVHQ4E
FgQUuuCt/pTerOBaSi+hBOUWFZASFqowHwYDVR0jBBgwFoAUsQHMJ99Cs5MLx1v+
TX1uC/kvJm4wDgYDVR0PAQH/BAQDAgeAMBYGA1UdJQQPMA0GCysGAQQBgrddBAEB
MAoGCCqGSM49BAMCA0cAMEQCID2vzegyYBTrwg6jzsnBC2sABBSpHQR5R8V5GMVu
+e3sAiBAIT9o8zF2aOY71jG4WFzn5xtSVVuzyc3QqHdms/K/Jg==
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
MIIB7DCCAZKgAwIBAgIUV+T7gjnYu3PVAKOunuev2D6jE3wwCgYIKoZIzj0EAwIw
RDESMBAGA1UECgwJaWV0Zi1yYXRzMR0wGwYDVQQLDBRwa2l4LWtleS1hdHRlc3Rh
dGlvbjEPMA0GA1UEAwwGUm9vdENBMB4XDTI2MDMxNTExMTk0MVoXDTM2MDMxMjEx
MjA0MVowQzESMBAGA1UECgwJaWV0Zi1yYXRzMR0wGwYDVQQLDBRwa2l4LWtleS1h
dHRlc3RhdGlvbjEOMAwGA1UEAwwFSW50Q0EwWTATBgcqhkjOPQIBBggqhkjOPQMB
BwNCAATJUjz0xjaRTGL2NTp4kw74NvqhO4dvylKJafzJ1OrSy1GwccfGn0DpNE9h
Kfix2yWOq69A/idLfylmmSseKMxuo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud
DgQWBBSxAcwn30KzkwvHW/5NfW4L+S8mbjAfBgNVHSMEGDAWgBSJQilX+BRLBSGh
Ka1NhXUKam1UJzAOBgNVHQ8BAf8EBAMCAoQwCgYIKoZIzj0EAwIDSAAwRQIgS2yf
xVgMOIY+NzneaMqyh2Pg1wIMECDJSU1XrjQn8n4CIQCmS0fG9cBUB0R0oXeenLAG
wLJHiS8Qk8eUaJup5Nr89Q==
-----END CERTIFICATE-----
]]></artwork>
      </section>
      <section anchor="key-attestation-evidence">
        <name>Key Attestation Evidence</name>
        <t>This example shows a PKIX Evidence object that is attesting two different application keys held within the HSM.
For the purposes of this example, the Platform Entity is kept short.
This example embeds the AK and Intermediate CA certificates in the Evidence object. It chains to the same root as above.</t>
        <artwork><![CDATA[
-----BEGIN EVIDENCE-----
MIIGwTCCAl4CAQEwggJXMIGkBgYqA4dnAAAwgZkwEwYHKgOHZwEAAIAIvu/K/rq+3q0w
GgYHKgOHZwEAAYMPMjAyNTAzMTQxMjAwMDBaMGYGByoDh2cBAAKAWzBZMBMGByqGSM49
AgEGCCqGSM49AwEHA0IABFiviXnZqfGirH5NDNpvyq93giB8MA2k82Ta8lMs6/xH8PMY
eZ965/vKuUgU33TKZtaiLVgygHCGyNSaHdgy2lYwHwYGKgOHZwABMBUwEwYHKgOHZwEB
AoEISFNNLTkwMDAwgeYGBioDh2cAAjCB2zASBgcqA4dnAQIAgQdrZXktMDAxMGYGByoD
h2cBAgGAWzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABGIAth2+BffA4baVGpK4CjVG
WDR+GGkJ1/sDvIhgxVJ5FMt0znPvMQhYZzH/H0MV39+NxYdy8AJvnXyzs7mGmBYwDAYH
KgOHZwECAoIBADAMBgcqA4dnAQIEggH/MAwGByoDh2cBAgOCAf8wDAYHKgOHZwECBYIB
/zAlBgcqA4dnAQIHgBowGAYGKgOHZwIEBgYqA4dnAgYGBioDh2cCCDCBowYGKgOHZwAC
MIGYMBIGByoDh2cBAgCBB2tleS0wMDIwZgYHKgOHZwECAYBbMFkwEwYHKoZIzj0CAQYI
KoZIzj0DAQcDQgAE/K1cKj4NdAx+STHWT/9n/3S+5FobDjkW38ig0/JYsAB7STTBzChi
26Xqmbn3qEk/0PU0s2ysuYM0zLw7AWLCuDAMBgcqA4dnAQICggH/MAwGByoDh2cBAgOC
AQAwggJnMIICYzCCAgmiggIFMIICATCCAaigAwIBAgIULcLYAnlUILf5YQ8yerpFJlJc
iUMwCgYIKoZIzj0EAwIwQzESMBAGA1UECgwJaWV0Zi1yYXRzMR0wGwYDVQQLDBRwa2l4
LWtleS1hdHRlc3RhdGlvbjEOMAwGA1UEAwwFSW50Q0EwHhcNMjYwMzE1MTExOTQxWhcN
MzYwMzEyMTEyMDQxWjBFMRIwEAYDVQQKDAlpZXRmLXJhdHMxHTAbBgNVBAsMFHBraXgt
a2V5LWF0dGVzdGF0aW9uMRAwDgYDVQQDDAd0ZXN0LWFrMFkwEwYHKoZIzj0CAQYIKoZI
zj0DAQcDQgAEWK+Jedmp8aKsfk0M2m/Kr3eCIHwwDaTzZNryUyzr/Efw8xh5n3rn+8q5
SBTfdMpm1qItWDKAcIbI1Jod2DLaVqN4MHYwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU
uuCt/pTerOBaSi+hBOUWFZASFqowHwYDVR0jBBgwFoAUsQHMJ99Cs5MLx1v+TX1uC/kv
Jm4wDgYDVR0PAQH/BAQDAgeAMBYGA1UdJQQPMA0GCysGAQQBgrddBAEBMAoGCCqGSM49
BAMCA0cAMEQCID2vzegyYBTrwg6jzsnBC2sABBSpHQR5R8V5GMVu+e3sAiBAIT9o8zF2
aOY71jG4WFzn5xtSVVuzyc3QqHdms/K/JjAKBggqhkjOPQQDAgRIMEYCIQDuTKQV8gB6
caZDy+e1TcKsVWLqU0g1TROQ3uXLjKSx6gIhAMoo0i7nKu2l2bGoaONvkz0NwS48RdgZ
vv0NUzo+YRO9oIIB8DCCAewwggGSoAMCAQICFFfk+4I52Ltz1QCjrp7nr9g+oxN8MAoG
CCqGSM49BAMCMEQxEjAQBgNVBAoMCWlldGYtcmF0czEdMBsGA1UECwwUcGtpeC1rZXkt
YXR0ZXN0YXRpb24xDzANBgNVBAMMBlJvb3RDQTAeFw0yNjAzMTUxMTE5NDFaFw0zNjAz
MTIxMTIwNDFaMEMxEjAQBgNVBAoMCWlldGYtcmF0czEdMBsGA1UECwwUcGtpeC1rZXkt
YXR0ZXN0YXRpb24xDjAMBgNVBAMMBUludENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcD
QgAEyVI89MY2kUxi9jU6eJMO+Db6oTuHb8pSiWn8ydTq0stRsHHHxp9A6TRPYSn4sdsl
jquvQP4nS38pZpkrHijMbqNjMGEwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUsQHM
J99Cs5MLx1v+TX1uC/kvJm4wHwYDVR0jBBgwFoAUiUIpV/gUSwUhoSmtTYV1CmptVCcw
DgYDVR0PAQH/BAQDAgKEMAoGCCqGSM49BAMCA0gAMEUCIEtsn8VYDDiGPjc53mjKsodj
4NcCDBAgyUlNV640J/J+AiEApktHxvXAVAdEdKF3npywBsCyR4kvEJPHlGibqeTa/PU=
-----END EVIDENCE-----
]]></artwork>
        <t>Here is a pretty-print of the Evidence object:</t>
        <artwork><![CDATA[
Evidence:
  TbsEvidence:
    version: 1
    ReportedEntity[0]: id-evidence-entity-transaction
      Claim[0]: id-evidence-claim-transaction-nonce
              -> [bytes] beefcafebabedead
      Claim[1]: id-evidence-claim-transaction-timestamp
              -> [time] 20250314120000Z
      Claim[2]: id-evidence-claim-transaction-ak-spki
              -> [bytes] 3059301306072a8648ce3d02...
    ReportedEntity[1]: id-evidence-entity-platform
      Claim[0]: id-evidence-claim-platform-hwmodel
              -> [utf8String] HSM-9000
    ReportedEntity[2]: id-evidence-entity-key
      Claim[0]: id-evidence-claim-key-identifier
              -> [utf8String] key-001
      Claim[1]: id-evidence-claim-key-spki
              -> [bytes] 3059301306072a8648ce3d02...
      Claim[2]: id-evidence-claim-key-extractable
              -> [bool] False
      Claim[3]: id-evidence-claim-key-never-extractable
              -> [bool] True
      Claim[4]: id-evidence-claim-key-sensitive
              -> [bool] True
      Claim[5]: id-evidence-claim-key-local
              -> [bool] True
      Claim[6]: id-evidence-claim-key-purpose
              -> [bytes] 301806062a03876702040606...
    ReportedEntity[3]: id-evidence-entity-key
      Claim[0]: id-evidence-claim-key-identifier
              -> [utf8String] key-002
      Claim[1]: id-evidence-claim-key-spki
              -> [bytes] 3059301306072a8648ce3d02...
      Claim[2]: id-evidence-claim-key-extractable
              -> [bool] True
      Claim[3]: id-evidence-claim-key-sensitive
              -> [bool] False
  Signatures (1):
    SignatureBlock[0]:
      algorithm      : 1.2.840.10045.4.3.2
      signatureValue : 3046022100ee4ca415f2007a...
      AK Certificate : present
  Intermediate Certificates:  (1)
]]></artwork>
      </section>
      <section anchor="multi-tenant-key-attestation-evidence">
        <name>Multi-Tenant Key Attestation Evidence</name>
        <t>To exercise fuller functionality of the PKIX Evidence object, this example shows how a vendor might represent a multi-tenant multi-HSM cloud architecture.
For the purposes of this example, consider a hypothetical cloud HSM service where
multiple physical HSMs are clustered such that logical tenants can span across multiple physical HSMs.
It could be, for example, that application keys are stored encrypted in a database such that any HSM in the cluster can decrypt and use them.
Consider that in such a setup each physical HSM has has its own root hardware AK, as well, each tenant has a logical AK.</t>
        <t>While this example of a hypothetical architecture is only illustrative, it is meant to show that the Evidence format
presented in this document is flexible enough to handle
future needs of complex multi-tenant cloud environments.</t>
        <t>In such an architecture, a key attestation would carry multiple Platform Attestations, one describing the physical HSM producing the evidence,
as well as one describing the logical tenant who controls the application key being attested.
Similarly, the evidence will carry signatures from both the physical HSM and the logical tenant AKs.
For example, if you made repeated queries to the service to attest the same application key, you would expect the tenant AK to stay consistent,
but the physical HSM AK would change depending on load balancing between HSMs in the cluster.</t>
        <t>In this example, both the HSM AK and Tenant AK chain to the same root CA certificate above, via different intermediate CAs.</t>
        <artwork><![CDATA[
-----BEGIN EVIDENCE-----
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
-----END EVIDENCE-----
]]></artwork>
        <t>Here is a pretty-print of the Evidence object:</t>
        <artwork><![CDATA[
Evidence:
  TbsEvidence:
    version: 1
    ReportedEntity[0]: id-evidence-entity-transaction
      Claim[0]: id-evidence-claim-transaction-nonce
              -> [bytes] cafebabedeadbeef
      Claim[1]: id-evidence-claim-transaction-timestamp
              -> [time] 20250314120000Z
      Claim[2]: id-evidence-claim-transaction-ak-spki
              -> [bytes] 3059301306072a8648ce3d02...
      Claim[3]: id-evidence-claim-transaction-ak-spki
              -> [bytes] 3059301306072a8648ce3d02...
    ReportedEntity[1]: id-evidence-entity-platform
      Claim[0]: id-evidence-claim-platform-hwmodel
              -> [utf8String] HSM-9000
      Claim[1]: id-evidence-claim-platform-hwserial
              -> [utf8String] 17-a1b2
    ReportedEntity[2]: id-evidence-entity-platform
      Claim[0]: id-evidence-claim-platform-vendor
              -> [utf8String] BigCloudCorp Tenant Management System
      Claim[1]: id-evidence-claim-platform-swname
              -> [utf8String] tenant-001
    ReportedEntity[3]: id-evidence-entity-key
      Claim[0]: id-evidence-claim-key-identifier
              -> [utf8String] key-001
      Claim[1]: id-evidence-claim-key-spki
              -> [bytes] 3059301306072a8648ce3d02...
      Claim[2]: id-evidence-claim-key-extractable
              -> [bool] False
      Claim[3]: id-evidence-claim-key-never-extractable
              -> [bool] True
      Claim[4]: id-evidence-claim-key-sensitive
              -> [bool] True
      Claim[5]: id-evidence-claim-key-local
              -> [bool] True
      Claim[6]: id-evidence-claim-key-purpose
              -> [bytes] 301806062a03876702040606...
  Signatures (2):
    SignatureBlock[0]:
      algorithm      : 1.2.840.10045.4.3.2
      signatureValue : 304402201848fc67aa9eacd6...
      AK Certificate : present
    SignatureBlock[1]:
      algorithm      : 1.2.840.10045.4.3.2
      signatureValue : 30460221008b88e8ccd08f85...
      AK Certificate : present
  Intermediate Certificates:  (2)
]]></artwork>
      </section>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>This specification is the work of a design team created by the chairs
of the RATS working group. This specification has been developed
based on discussions in that design team and also with great amounts of
input taken from discussions on the RATS mailing list.</t>
      <t>We would like to thank Jeff Andersen for the review comments.</t>
      <t>We would like to thank Dave Thaler for his guidance.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
OZQUo0/nXH22eGq5U6ebDNLfYmp3HRQp1T5aU5hDENSk/rIblWayyGRZzwYe
3WoFbTx/VqrqbX61MgcVvPpRggsw1jAQvS3wrDHtiuZ2PpNViQmfvjPjv6fS
u/BS2zV7SvLkTed5VczHeOks0MijZpUmNtARROiy2gjNKnbnRiR0iSAVHqLG
FYwqhcIN3gOq9aq3GTB7kPFrxJMfKhxdK83zWyvp5A/3Ho5YK2UtLxVLTQjg
oN4MiPBsOau4mc6SoCVNhLWaYzyyW9QsJWcVkQRMZyJPHwCFpmWUDuigCG3T
hkWbYDqO66K8tNy1Kccg0kkTs3yPpsnj6qZEtG9zvlobdw8va+9HOEld92iJ
d/Nu/+b3eDfL/Zt3ezi/x7/Jc1lBAfr9231nv/nvtbewzP6OVTdLRkWP1uI6
yq+rzPdoz3W7rR/nKhkV5rLKBZi5Cn4ZVavOv+dcJaPiulA1JbnE/xPnKhkV
5ppjHq0Dx58xV8moMBdmkjsD/ylzlYxK57WIkrU7susr/B7cKBkV5hL3hruu
P4yHJaNSqlW+vLHOTEcbo66gIF0ZivKvUw7QmFRZ5Cu2TLPjxFRqrKlTYgUf
O2SWI3usNkDSZqsI/TS6Dg3rKWWCcy9XhwcDqi2moPrbMHc1+gHK9FKmiKtD
FmYXI5lVD+J2+94mN0MJ1KQ3KIU/C7VwmXpS8xIlDq6NQtkaUqRivpwBSx3I
m6YOJubIUTJzYm2WUhDt6o2S4MRcJ18EAJVC1DKczAEu6hhzF/g5eWmo+mts
ip4FXnGFvHVILJkXlxk3dINp3KSj1mVV9RdklbY8xSMNQ7st1sNSQbkgwwg8
FsmpGDpaKZK5ClOjW7xxsFnSeVu1zrCKkUqzrv9POebU2v64V87pB2+bZQLd
C09JRNzjXcWtaZdDUztpMVo0ASyZrpXspU/Eb76q/6P1rndZb/bqjdctT8ut
uJKfdndzPhuFDqUwafwV4FBjxiw+42GIyAweUVWBb4Gw2zrttnvtN3fBV8BR
G05R6amJOerz+KwjlNj755sOo3xi0UhbiYg6WcB7twN/2nrTurQ32b99EXSr
bMDzpZcQehO3So9PySStqqx+y9a+PmvWX5dtK9MCZNaeRLOTRY2KV44Qe40p
UOpB4XmbLkmsBigDApDREO0E5G6iehWYmWq6+KlS3QmXvokH106F+E3JnXbl
F7To2xoheQlMfLE7elpo+zBJZ1XyYWGPLc4PxS1QPYv1Hpjbt2CaFG3owqdy
1QhduNCHSYO2X5Z7vDHmHGs3edkGBsHlp1XdHWvYSs6WwOU2CrkQXEyvtpkD
RZr36AIV2uFrwnBUcoSTBOH9a/PsqOV3e/XLXvfvpisvMKqmvQFOesTZcTGk
X43UOj3CcSh4v0x7dQPNC6d0azAt42vhHUW5A7sDJhpELK5m1zpTF0jSWNRQ
yl7Fufm3HgRoseYtJeDKsK7sfV8NdoMOW6qW3l9XFS1hToKEPQDxlNPm5fvz
nvnQltBRNjc7U80NQfGPYemoR637j5obAkddgbCTWyyO+vayfu58eMuouSEo
gnKe/5BGvTp1xr111NwQpMFidn0R1m775PS+sOaGUKNW0YegghbNqP/A6nnA
qe4zqjUEx2RTFm8eVhisffz+frDmhjCj2lNZo2po7zGqHoIxK7EVeINZlyBe
3A/W3BC/MS2SagqlV9uUSg1skqC901Ey5KgkVrPItS4+BiLtJvE3p8jZQR2s
0eQJGLctsOviGmt6Vloz+5us6tYQH3WYi2caIlg1HHWVCFP3FhUxdiLcv4hu
lHmURYU7NWbByM7LcYvqqmK6sdPDNWcHdass5spp2eq5qr2bqzyhJuEcaiwd
aQVwUhiSejFKHU3SHsTubqXOmnisKu6bf1B8qGZks7VDtbfSJWPzvqqy6BtQ
QXlMx4EIoGhNkdZwVKlcZ2qVIdOPyVBSJvJvS0+y8fTWDKVvs4uXbNv/LPt4
WRLRPy8JyC+XMX5MHpBMRqjvDPVH02as46xao+NkWjXQr5fZQr93Mmt0nEyK
L96xMjd55nYXgD2ZNfpvrOTQWp1QCkNWFA2Qi+xvaYq05X9ecjhUoLG2rEpe
3ZTcVLTS6aSNyqEaPZBTZWwuJ7TCZ6wHidLormEVK+xFk1shLyVtuamsuonO
UCkIhZvtGgbxVksDEln6Fkz0DwJqq9AUzcRt+vUBRnBot51Vxd4OuJcgXo4W
MP3QNNHjaEtqNG/8rEyZrdqe1nrSQbwIyw1gbK3aEtAdOmJmLhBrh/iJsqzR
WEKoyFiQWZYC49e0bRgVqjZlbUpotHXVaZcq4AkebGhHq4Js3XPxtiKM4JVT
ywfR/jETA3nCccNMqIy2ILidJ9AYcV+Tg9xPB90cO7CyAYv112fzL4VK2O3g
pNSPYhN5v4G62KQmFCULY70kIUHr/jgcDlxIvCgpWPPAtkKr+2PfLH2XFDB9
FfPklIHLx5GIdv8gfZhfhdWIWoKzpLfoQDq2YqIvmtYw+MauJnZrmTBzDLmm
wu591OElIuCIC4E98MoRUKiTa3wphcrhhhRYNY41SaMrCYRPA5Ebj09o8zFz
d1MT4toysroRGlLV3VQ/pzgKfvm7Kr3ulopCAyqHTqVcIorrZGOB51um44oA
mKJBdhI8IizToe2yUeJjsUO70QLV104G3A8Pm4VQAVe7LLGZz35PWpEswkR0
JIqKxV4LlsKSLyvCpa1UTw0Jl3J5ALetl4a15V4Nw5uwth+bkPCAPNhCtI27
Qp7TgECbM1EroNQTKTomIrlgpxK5YVmG4MALVdO3AROHzOekJgt8kjVlUakb
kbylT6XuSwmQuVWJuRUGl1KXdjpS0JarmZmqZ05BJDYZa/tiiJO/qz15tkOX
jwoVKzedDlrSgYSqiJMV+utYKsV/h53Qaceo44dMQxpMVzpn+I0gDZ8clHHu
gycHhwTLeatTJW+rC4cEK6MPUpeilvZnnXanVdUBvWoOooCGTssRO3ALSazY
Rc7YzeJNQA2mgsj9cErBz603aClttrac2uNsifWq+NNonbRPffUcfeQ9qNVq
D/nr1ulR7kuysHo/US1ZFc77xsISkOgAlYZUDYfpg9XPlI87V7av5lbZ+yjt
bHXZT9u3mcXVflgVW6mm/Hi1PVNSLeunH02YcT+0giELJnir9pzuDajab3jF
qnaFKMZCmb6a9fjHmg7iSgnfCBPg9Lz71H/T9ckCCwTKFwmyCTMMuyhZoW9u
6a1CKGQR1CFX91gttJCtlw9AO0hv5t4gxJxrM/YQ/tBFaf/F3gdT8BuU7QBf
omXIW7pefRKSWKkKmbExoeO40nNVkOVGK7YGy7xBH7OVJmQYrCajNdfII06+
v6Qbit5yQAgxFM1cc23AU+lQZCZzHepWKoPdrlvpOXBxIowvQf1Dil+6AQLD
EH4bGge17pJo123XbartnDZdkg+dy/kD9+tTEqzRiTtdl+9EN0x0rPIde/DA
ru1bIgAq2ZNCE+H6PWRmrl/Z0AU7NakGUSbdutNv3AYnQJqAyCGSyWIWaR5x
EAUMux13fr82NWO2+ke7iFmsCsxbgDZeUnDE7kutcnnJAxW2YBaIMhQWNBRm
iUxvoetIWfBWdU8bm6ezNbamzTpCBFNOgJN8LrtGMAexVsyixCKpMmjzbbTZ
4u3QJnI+5nacfJWjJc6gpGyrTqVmBVhgXon/tMB5rGV2OzdUqJB6VMlG+ZNR
2SRSxJSs7dUFxcJTQ/jhEKNz8sdUUDzY6U3CFygvFY4jMmWOB5REOospBim3
7nxJY6oCgLcEBrKVwpzqQbdHV/fRzcFFKIIxPtoauGiNH+1AHJFSKi42iQSq
a6+q0yoWo/0f/+3/SjfEGMnFpjqrkvvx0WaKD3X+ZUALp5a5wGM0mFK/D6UM
m6xcso1HiRUg36X5lg12OslNaLXzo+SUu1u4DWOylav7FAzZtooEgHVGFPvz
Ncyi1LPId6A7rrGlYoQN2RRuBpa9iyoQzEkhYr3AtnzJbJRHkwKpXWi+TiUX
ChMgGfDWXIXCxEWRlyKemrxpcllTbhhRGss+xCqZlQbG45pqiVplkVXryEiY
QffkQbS0y2PQPlO0Bd1WlVTnuNFVA8N0Bog/gGWlHudQpkT7QY3L4utwLj2v
VA7PxvEqlAP+xRYPpfisToOV1B29Akr6mE7DoTfknqZOh9Oaf0bXjFIRA8Jb
rumO/bxZFqQVWhuiXHqmwOW82GKTgcQUY0oMlbV4VJ1AFS05k/5ZBACqVxVp
t4KJ+1EaVlESkLRqHb1nvIhK9Q24iZIlCKkuVGQLKGa+0xjMDYxzzLT+wGuc
mKRJzVn0nmTc1zlVXEETGNwIRfMwOo0EJYq0moexm5WWu3DaxusZ7GQVUd08
fEaSSGNMOEbxniMJ6TA0lE7C2Sbbby1PWTDRGZV3trMlMe/Olr7PZNlNJygl
kHY4isbVIBlM0LCLCzEXP7KG4MoDaEzTuZVOxK1nCALHCXHoUmLX1U5BKKPK
pRyWvM1/66546SRaPJS05GgxwZfw2RgXBEifbJvP3XcqDrkCKmeXRZ4Gy7lY
bnVzs5GPOdoFPypjf7BQDYM5gzFOVkTCdEMxhSM1iRMK0pux96h6288j7zdf
WARGycDePCy4gu5yFdFPyTSP7O9/Uw5S283ifG/rCGXfP2gpWvBfSr8XQ83D
8vEVfI82wGe/dNv6f/ObnC21+XuiUg/2H5Z+f7Nh/Lv3z+gQZeu7a//0+I9u
W///md+A3Pe/Fb93AH/kbDDhl59/33NEEhlRYfqDg4eeElMe7D1Ub+TGuPHK
9wxXdIp+lAe7D3NfCyAFbP7tX+2n3MVar5hbXNgB39Bm5xXnIXuSv5fNUrIW
vSePH+bXgiakX5/7PykS6cPNmIZ/27LbhW+BaEeyiEVdrDgNTVssMoi1Jkim
zClIwhfdTAbxJjJtZn+h5WtQrTyUPzPfrkU0CnhD+TmxYOwyADaWhWGhHL5b
D1hPbkx5WP5AciONVY/Jojm7/tpzVgZoUqOklRIh2X8g3PKh06an0OiQy1PY
uewqyhnwlzen3A4CWlKqeKFMid2MJRmTvyCJaZFQDX5gzLilrMLfkpPqA+mp
cY3widW+jZKwQ7cEhVXKG0vKhJQRY6eGzjfAzlXCy7Nz7YG1KVkiPT3yB1P/
HfZ83kThylUtLKtvvpGAUSZEjoYt1OhIzVuTuRLAN+y5kkA0GuqwU/aL0d6T
rG5VOyYJCAuupxazNQiAsqx2N5Bv8AAO/hgLe4kVyHMeRq6dFuKSXMR8rKKG
LemNT1BEtmG4iCS6BmVA29ZtoaYuiqQ7OZDMZCv6mvkrFd9IEb0NYhrGcIH0
G03Dcag6YYo05ITxaF9dPl+dMc3x4dqg5HrFEggSg7Ulhk6UFd27rCPguC5B
TB5ldkOgA3wpydhcnyxaBBt3zA6KUIVp6DLAXQyitCTGrZdzAMt1rhhh1hxf
RRUjkGJbloXYaWYhFmauMARfun0ePppUHPGpWeqHZ8eB5bdeO9CsClpSLdLO
3C/Mlx9QkaxI5UrLFU2phSV9F5om3PXCZ8bpbluXFQjELjQMJFF9NO3YzFiq
rUHPXF45rdx8SoXMv5pL1XerjaRIeLySzrZAW2cxWpUDRcF1cH+Qn8KKceAu
YnMT91EY2tdUu4Rle/ZBVsy0VkEJgtg2UgnTuKMPnRXKgqzBqHx4vVX0yHRd
qJjp2QpLYPDevVP6ZvLC1+6GWchkgQ4QUHYT7e7MD2eLbG2CUHQEaT8cBMtU
1c2wMsK8nPsmh0qmIS75qySS8+MNe8+wAoj0ICq3IGTsgcQyFFEyWM4Eaa1A
wnvhg53akMMDx6Oy4p4DprRiMd/Rbv9efvMrzrV1OhMUu9RTZ0E+G6dqg276
q2uT4jq9grXfxkbOfuxiYqe+3mUkpqLtWBwKq2+mori6Jr0goWWgrTh2R7sZ
iXRvtOKu5bTpflDEN7CDzBg6a36Tfe2h3UqBTVM0OttFiEKwOp5L3LWEOR0y
nItrYAxQ12FChWIkuBvkd+B8ppqURZLzzY4cV6HVJlCsqPO1seVg8whyWJr+
koRUIOzNlnMyKlspjubqGmm2JpmoqhA+Iv/GZuaafXPA9wqOeQKXNuKz5LS/
govVqrT30eaDOjJnqYxhVsa16/hjxMnZMkt7SVHwBRqHqwBEVYnBCUUiYHTF
pb600iuArkVXU27ys6eFdsdoGNLqUoGqGcKvTMEKL3RMA9ONchIR5BhFIZrJ
M4Bwa52AooNyUNjdtfEmq0lVdMwmolmzNkWGQnyj7A/bum2KRntWnWZJIDdb
wJM+IBwi8o4Sb1dqZroOiTlFDItLouJ6IdCPihZtynNgBGbigagdzofaEPyT
1DsyHpgUI+sNruNIg0mMbxvrpzgNC3UHVCsknf5nS42bu1lji8ZQVIzCoJyH
aNkLTT/CgvR0Wzg+F2PiSoGleMiOY7RZSyqBq6LoeWPdYOeWXJWyKigfWSIr
y3jUqO1ZXMSqwKIKlapSUURbTLKP9nkrUzRzlzp7geDUw+jmFprMx8lHkArf
A9xhAJV7QvnwRkDo8oxGyjZIArYuIlesWVSatGruvwl2Ycw85SDxzfhoeDUb
PnIoV7JYqUZpPGNFaYD3DCMeaaM9HlpX6NPEZ0OouET2mWoaAlzO7C3oVFEU
plRVCub3QW0708STRF7Gq9K3NiQeqGQqE2weZlbxQEsy9fRmb1GSANZx5phM
FfpKODx3oob00iuigJvwHK19zlk7tKrY51KoGAqF7mJpA6LP/nEDmmEVBXVa
q8ZpbIDbmPKkAhwVqHkDHOOpyEZISLtKDqLrZ3NkFpZY/rNo6YY+1UROtRkm
wMINlBOsUoBRe9QCv7qjHsu75lZI1IS66Pckk1YdXztNgcqPS+SnjSveyj4x
Kx8MdyrX7pUEz0hiuqjmORXNAPLCZWPo8lldtJnpDUDbCUXoUQ646bScxqQc
BaAblWrqwguxHHekQ93pqKMIkiEa1TI23Yo4iGdj9H3lOiTkLi+e5vBGLt6W
Ox9jGpCANNjKfoxgWeI1b4aOvMVIHOzcrgJA9dwb5CyqtScKsg5iyvjB8rAw
KiiENC2TihBu5RWuOcqijknC3IJ9ptqw7qcxaEuCLSa0qKD521Kzc8GKOaUi
iLJe4LTGzteoRpMxWXALZ6aSYgP3vpJpVccYKzExLvA+lbs493TIXTQfTblM
Pz5MhXkUpck5GJQwJ6WduVvGXHS+ub7YyDswVNwGhshgiUFH3e4tC8gtqx8f
SSGgGwae4REEnbTty6vKZRLDgxzvK+7HQ5QqpqGNdYFDOlhHpqqLnPziWN/k
7c0ZtD+ROqLIBICRDxQklGDDcMDMOFUVfjabfEyIRX7ldu6HaLgW3bCsplak
TazkySELscU0lC2JTdpSLpuaK+1E85v4OhSaaRYB+yS+ldukOungW5hUI4ie
nB9F3lm9QxWx4yErt2wk3Jz0npNrm23uBO/IFvI2lSaBkwBNQjePeEAiykO3
HXq+rMj90pqM9GraSeeArvlHYgrAvAvOWdL1YPSsdsrst+QxmUYYIRC3AUeI
UqCitC/IdeDWVUolXlHKdJUE/j3k9Ilzna5hvFyu/0/HyNmpHUrjN0puQetf
TkNXye6H9s1nY94mx5pMZSt9lCMuTNuzEeMWJbkYrUdR61qbIOWFsrCFzRX1
5V7Z59TGYa0y4MvuomLaqjsQ+/B0kfg0noamWlKRQSne5SFFs32z+Y2ydbQN
ZEFUNe1nmLspNZZ9z1iWjedatThgdNMpQ8rPUnALcEQaxd9SrV9gX/HtZvfb
lkcx/N+yuIKZmSldbs1EkJSEq+mfsgA9wIr+QgBzjlx222bLfMK8E5MlohuW
LCqLFFM9YhAl/oQtEgwAQoACpJstZSWXRfMNW2hC3vXCbqPzMh3mVYjcYPqD
FRVkNIanCq/Gy2gYzHW0nTTi4A3ElKdpNMGNIP+XW5HPeGopCBWekJ49ngk3
vR2HLHhLgyk3p25HKo697LUVIIBnfDrRZiOBfbWw2ZPyFBf96IFkJlA8n1PR
HuOzp7EVf/pD7tMGr5Wuc28HY2CRUdChE9R0NfMxgmmSd4F7rttUrMxO1hfW
t9KzG+bj5A/+WezHKRqANjM7JEIrfiYuUGTVhx4sPybB3w54+E/BjJzAols5
T14xsV0fm3WnnLwqiccUv+JoO7aDXbN5sVyOooxML+W7WDIB3l6F/PnSsZr2
O5cl88Q2SeFFmozrTjHSiEk4Xa5ZuEU3Tb2hHEvMcm7yvBNTL1ip7ZzCrx/w
bEf69y3Y3DNU1DEOJBAf7VzhPtIniyU6tQ10z8kiv1etOjxtpXeMGhRvbSw+
lm3s+xZijJ62LdPTBlgVAPV9i9CuBm8jOS0u5FhSYii8fbDWYVVckKCY0U+O
NHlYvGd+vXta2/U73O9FMtzT+W51Fg9/v62E4d/cH9zD1nP/L//1L8Alsexv
AriLhB34ow8qg3/49Nmen3vpb54Husi7qtry6t7O3mMJIP0VFh9jaKg20w2r
cTIOQGigvcGY3WE8fPDkoZTICDN8WoefqioWGJCp24um+Beod18ePMWBcZEP
dqyX+KMqPmFMkAjUg17jqHN29NCHPTlqHbdP27322WnXb3fOX7eb7Z7fq590
sXyjRxnGpsKjW9LxV5oJ07o2/1ie4wo9biXMlfzosbvtDy3/wU6t1qm/e4jF
I/+rV/b83T9uzhbDsClt1/d/3vnFKVlpfeufneMu1V/fA5BqFdvFWAnniDOo
Z3rIR82WlO2naj3VPu21TlqXDHFiBywgTcht1K7ZKDe2ASd0Pymbk0mB3XOh
WKyTARHh4pYzKwGF7Ic2JFwYogQQGt6BYxMgN7rOlf6hUbn+lT4rmNT6GGds
vjhrq/ns8kt49GfNXqsHVOGyfXpC09gNGn7e/cW/6h3L3/S1XaP/571f/MbZ
2etW/ZS+s+tI/bz/i3/Cwc6oJfSw8a3HiKih//ngF+fMY6tL/c+Pf9mwD3NQ
+/RTT37xT69e06JzqYrFrU6t4c1R5jIFK/ykDFVXuc/wof5908NvrPOxt1UB
Z09TAt51uG4XAMQjar0TGmUPqs+bYSjLbMTT0++W5j46Y2z82Xy14Uu72oCB
es+a+ZsJyq2k5A9U3rXcUsWvaYBf/V1/z9/3nz17hoyi6Mdy4Nw0hj3P99Jw
+2cHYLndPXsfUKp/CBRZ/gZQdLDY/XblTwFltxwU9I2pn38WKHt5ZGHR/n4Q
0EKKbzvHa35uGfC7VpIDOX++txUT/DNAuWXNd4NiSg3+YFDyqHZbIcIfDEo5
qjkXUP38YFQp3xQFSFWSlv9EQDYtuRxRNCDU7PxP3ZFNgNyxI9Kd/J8AyN5d
gCiB+0cDsn8XINLt+ocDcnA7INwi3v8nHM3juwD5Zx3Nk9sBoV7waLb94YA8
vR0Qbgj/zziaw9sB0W3jfzggz+7YEbg0QEnSP21HNtKzOyiramj84wG5g7JK
R2v/xwNyB2XVbaB/OCB3UFbTP/pHA4KUtUwiseVw8/ODZZLy4ylvGvlnglKy
9vK7U95T8geDUn57yltO/mBQNh9QsSPlDwal/AaVN6z8waCUSyfl/Sx/MCjl
8kl5u8sfDEq5hFLeDfMHg/K0QOTcRirFQTYB9L3mBttgkL9Etzch+hNguWXh
eTJ3e+uiHwtLns7d3vDox8JyxxkVOi39SFjylO725ko/FpY8qbu9JdOPhSVP
625v5PRjYckTu9vbP/1YWPIa2e1No34sLKiUea3To7K+eT/57fpp3W86XQ48
73wacg4FCKlALbd0e5EtE7iDHgUphKBb2alKJypNtNA/h0q451oFuImlXC5O
8kAxH4cA5JLxEs5NsXi+ZElLRnEyeO55f3XyZj7m/hbz9oaP3VSt8keUyL7p
e8zQga/YT0lLTVQvHR2zfy5jVDAmmYut2rkTJCyl/oOwNq5VypLDtH7y14+l
3+Phb/jKtrb+9SPFFftd1egijwIYcoxtOdExZHe5cOr6XYZTyh84pwKqHDnh
lolnBNjQUpojjqS4j5UWnS5HI5x57gbWZbHn1hWs+JhSA99SNd4gBw7GWXEJ
FA6HK6s8pOLEaDWz4Bq7+w4okj+1K+1IsiUMFajWvHX1N29TeQKlBlannZQU
/MsHq3uXYQrroogmTg2mPzkdcZlgfkjCIXJwY3QYU2HtuBrfrIY6hnuy3orE
3OsClnY6W0ghkRyXx7WAGQ2cklYcVUVFKcNMly6UiDSOr9LHjImhY6y6gR0q
nPwbAGmAdRZgPmqkrcGlCCW9e1aD8lxkEpCna6eEjy6/tBASoQb5S+rpI5SG
s7mqFVSly93GGVZdzSi4/bh93q2KpxYTTUIsSkot3CXQNg8ggkahxZuQ2dTc
VZ1x/5LSNJ5b+x3RYpmq7gd6UzBlYcnhicFtIdQmRo5bncFeSghyxAW87MLs
m+pyNtb8kpV4mKsjjIfMnez1FkhcmArqHIYh4ussmHI+Fdezd6u2mfK0Buus
2kpW0rM3ilNZ/ASwmMqp2pHJXJiCqk/mu4YTcetSgCfC0FaRnjYBo5JfoZAv
UwQ6H4kbJXKjNyYt9e2kuaFEd+M2wyfTtWfVpdJlsXLVbVQ2LKdxq7JBOjqX
sN2ptSZlSbxJkAxXnNvIDVdMyxA0gHL6IN2BGQakUiUdqx6fajlDhYZZENi8
0oi4Bz2wpZsnXWNI2nSrUFFcdWKA7UF893cPdqr7WAK4Gc9msAFNeBu9Gqpi
uypqhhFsYx2QzaD342xi2jXRU9JhY0Ct3lM4TcrxkoQzLCkyQEhuTLayRY4J
1CChPBvKjVSZkIwu1PwoSInA6mPlcjLYVbtmddBBlrRSbUioEw3fpzTfUaJQ
kpqKdWM0rO4bKFyyj1lJ2LGmWvXdu6VA1lfPieq1rhUOA2870c1CwOJFRjsi
S5XVc3mDT1x/YL72aCX0qQ44p6xeDihXRb14qRWqBxMGQ3V1ZgslRmCO1TT8
gjnSnLtmigXdI6lBBULnYsDTQUKgIFULbjAUahAv1qrIukq10rHTVsT/pvko
NLYwm0cRqzROvu6ecxF14WfddT3uY6leMojBwUQZ06IjVf++a8IcmRa5uWDS
lI9KLi8Htvig98FUQ7GqcbiVxnSwladS0RSYeJjYeAgLDGH2GiXBuYlqEsSr
S09g1K/m6VoY0QK/N4szLDuNPJ0EdN11ALAMfhVeU8iOYxUhVYUUJe3cn6z7
STR0m0NQbo9nJ3bf0Y3Dt7pxBIlFRK2JtKjgaT6E0J9bdaetituUjFxs7aCq
Xk+40D8VQUSth8Oob8JpvJD0s5o+WWKgVB2yMJxTxIFSMwvb4NSmm4TI9xB5
Mf9GVVHnnV1M4zXmG1NGUZyGzliFvreqvam0bBlkMZZK0uGwiU778ZyA+nyB
xorTkITkvyQaR9TYTy0TM3kpIYJSJVQTDmq3QGUoVfVCd/M3ZVeaHAvdr0FP
aRH9fCYAaL9DyiMgVok3PFvOKdc/l1FWmJd6SGDHHyq3gA0ghqUNH9AuHta8
nEBdOpyRnLCqBxMEJCCUw78Fwghg/RDrfHSCebRYTktTnmUDoszttUgT4Gpx
w1Ct5hsnYnmhsm7NsyHO9ffp841VdoCcLOjULY0SPyeLU+UrEFPgiKdW8V1O
5sNyYvBGX34dUcAkFgezsaZGGqxq61WADtMbSCPC3QeCxVp56lmKzyzi9Fo9
akUVYzPnwoUuKMOqH4ZzfcbIyFG7jjJdRd5h6aIUpYWU/HyyOaZG5BKInTxh
avJZnlCs00iA6YaJVRJlQ4fMtyyc2Bnapj9zlEn0OFctVZ09rDp7hf6Cy7vy
3eye2PmkcV2xJLK6Yuv88++eUuVOc26IJd+rDBAp9Ec19nXiHBrPBlKOxap4
UlIGRtfUJzCkwK+VWJcrNboFZwjUO91iw48WD8UEskyVTAhHiZFOXlResJS4
XZUHQxioVGsgSVmOUrupdwQX/6AWEe5g03g5pP4C2PRJ0B1Lh/Zed3nJIPZw
WTzNcpdob+bSMquwD3IhVu8DzeJc11kyYlqceKKpx9y2xsIoGp5FWqyuMKUC
bFZtP9wVhshWJiSzkcbicRBeruMI7EKX7JDCCCpP6CaKpfGBjBkPQIcoplWu
OMtTp0YVEoRLOtnT/RQdh+t9tUvkbWq6AUe7pNRSllfRNF2VuUTltCas8I3g
syXJfglTYZ63KcThpKd+SyFBwkgSbLl2NA4opiealqvIkSaX8L7JdpfY1fB5
3bELxUXqaoPmiJqq822Rc1KII767Ok2JhQ53fSQYyFDcz3MWzcUuzIm6cxZz
tQBAtq486dAFL63RY1PRhQuyfFMFRklCmxFfNPdNchThRlXlRgHvVVdQ44GS
OUlwxsQMscCVgazqO3MF+hIoqUXS79pmoLGBZQmUPqsgy4QOT9lYBZBvjjI+
KLFfMoqV8oxy4BztfZaUQL1ki2dXt87OxVWLMpdsMct8dgqwleVvWVCo8LZl
PbGtGRvaP3ExcMBfQhkQhZI5m0pFn0W7iaCptplYdUOk3aGweOkgS3LDKoST
pCsoRUdEohHzfS23pEhnttvV0dEeSgQUS67OllTz2jEharKUS4xk/kI1cwTX
4SwjdC7g9R4GA+eYtUbMxbWP7WZMLtPjvkzUvECZjstwojRhXdfMYPUfuIZ1
AVEZ0YY+Vm7ueYtcRDK01RlcNEJZ419Sfy6Z3i4J0NRHdb02tWPhNdNPT6Vs
ZxNQXrlK9uI+hWUvW82zTqd1etQ6cixIlOQvl4MhGSXBLFzFyXW+qbBWrXNJ
vNbCpe2sdfo2/yVOaXDZIdPmTXgg1yYzIBGAsrEHbn0Mbf7K7bnVWsLueon1
r1Gx0xKFBTr3LyvC7ZSuQ3xXPSSNlo1ly0TNlpJdXPPF9HzOHbbU6IoS3YXP
PIqUJJUOSqQXkE9C8A3l7CjlfqxUBSBwKxAXoIebbO81iwvuZrusXd0jidJJ
uZFpCsSDrFlkFSavgEMPYq4cUmCKKbVESPyrdkXttVS33SqpI4RlsxN5w6ye
UF5eDnFOkeHd28SimG6tYNiHe0kH1MyVJY0Ey0e7CMpipi1CTICQYoEtbcD/
zyNESAdaF/NBNAtnwJeHiui4tbDdiiPKdg4rsOpIiyat8uytBEDugGoVLrcL
FHClqHhUhf/OYyzMlAovucIrz+XX3tKg6Xo2w/0fmHtEWoFbaSsJjEnxAdXa
iuTSk6le0D1KVFV27D5nilybGgxrIpjRXJdT0Sq+bkuH28Z0OrLKsAyoT5+/
tVDLWphlPTiPzx9uqXIeDmMnsURZ4kuqjeeQBAYq8nigOlS1Ye5ucyXHZnOu
VzSTqXPXJiXqAavIpFXIrkSntOQt3Ewm9W3L2J+hxBNMlfErIODxuMTVh+8v
VaMHxlnigLw0XbctNrzWboVcrOS4yQXHdjLXdDRQRpiByEHSyB4LUAHerlC8
iBIqoGsg0iIkAgNsQdWh1XApDwXSDNVVVzvZkY+gHBYP0CfUlq597Km0Orgm
wQClQ7RficUgz8+kLYFT3E4TJlYSla1skAASVtWs0vg1rekifLb+bbrCcpVU
Kg+IxJfyALckJ13zhohr5rJKCegFoll/yVcuQSseCfui0mL9StZPYR0gu7J1
gEysgN8pVh+lp8nHnnGZDAGZhP8vmU/Hv5jGAJL12CoMrqnyiyqyrvdRG8+x
+nkIowzz7TNWk5gItlBSVxAoY4/UWhoZksVsSRqP0swmlOEwf1wpbQ3da8Op
RMSAF2eESLIEaqS8oRBYkW1ete/BcMmBna4BshkwQWsEbPGJjAfkCerSfqnl
jFuNY6oziKnTnl+uVVovh5oVfdA5H64iz7fODE+SvUV1dXU5ufgCkdZhP5Gp
eS5MEm6MypJTqgJL2LoiJGgr1b52LfFuibEY6f98wH2ol9lUeUUtlVs88b/X
fCq8a1ofE2G+1QKSL+Z4tyIP7LOnUmKZB5DMZ6mnk3RmsmbRJde22SESMJYS
Y5GxkBMFaFoi/wHhCiozg2tcT5rx76kSyOiSAWkfAn/hWDjVJE64B0e2RPEQ
q/aiwxlnq1DsA5vA6PqKs6fiIc+1vO0ZlaWCe7IMU2XM57Y7+K72bihvEq0E
N5E6lTBo07UCRVRgrjyDPhxrcWkutkYV9IIl4l1CCx0TaOKWAPlgErPDaJku
aZJrdoSNECU8/ALTpJCNLfAKJsrQz4bMeZiRrqR0gYBYN2sTmPoGywNSSMgu
KmTNr895r5TMTdVoqSMxmuWGgsg4a4qTEu8hg+0EWy6rgsywOafHTQw0GJL8
9ZbLlZm86lzNrkDZenWZqYrrOe+H6C6kHsFMea1dtS2HukKaqkitxR/VxM0C
wqoFyHXAI3Z6EPNP0SwA+oy6P5srrjsV22klyG/Jw287XHRAFDq854bxcInc
1DNtc0LNBK2Cx/n6yKE0fdD9eDfETeTtcMo4VUBO3aF607ZQfSrWcShlQ3w4
2hNcrVb9PvB0CqAk7KHWHDrYM9cccIPpyaFOILJNsmyRPt/eHgMSL/s1oCjb
UZiNqjB9Wl2NtzGy09JAiPIs7A7FJsw2ZZTWDhaAbjq1iyhlkyRejifKzsXP
pxhgE80LlgZQB7FvilFBnnP0MPX2pFpPfrN1iXHLzXqvRZ96nXa78bTXbNY/
nI3rq3ajPm5f9d8fTqcXn9KvnetXcdwPvzbDQXjQOD/c2Vk1x+/br+IP7a+f
dlrw/Mq7PGp1O436SX33qtUcr14Gb9/sfIh21+/fXX7tXO6sTlbvj95cXLw+
alyugr3pweu32TTs7k6GLy6ng/3LiTc8md70P7XOO/UdGqS+Wp1czZ7dDFun
jU7j4N1Rr73XOep8Oe21vnR61zudNzF81qHPOp9aX7zOpzp+uPpeSDwFyq2Q
HF+vWqv3L2TtzfqF3ocjr34xOLoY11sXn+Pkw+vLR6/ScSuuP2lGwfbLZ/Xe
ztfJsPdmsffq9DKLppcfThvj1uNR0niy31s1Ts5O6t67ZrL4+nZy2doepZ+2
g+HFzWh4/PWivxi/q598Pv3UOWmtjhD8y51e/eLFdqN+taqvWo3tr/VhY3z6
xntxcdA6Hl9cRVftxZvt8VV3dTWJu7Os9/7NbnO2yN40B6sXPMCnRmO8Oo7r
zrNe/uGjMT18zrNdHNXHr1qdenzSbH4+6XYOnjXqnWZ9Z1zvtK6a7cZ+4L19
9GZ29Ong3efd2dVN8/Dt+aP+TfJstDsNwuT1u53u02ft7fZxPKxHrfr49fHu
8fpolA0ezVetD6NXr646XmP65GR/9XjvzZer5dfDm950p3EdXr//G6Nv6/So
iLwcGq9jBFXIton/YRev4hzYNZG8ciD+zTAg+FX7nWX8Ye4rbcqma8f9S/4U
Nbwp3ae6Dxix2wiu9VdKUdEJmeK36a89tKt1X9R3UQCfoE7YPipvvWTgU06E
1NThIxaVpeF05D8A6sPNBYJ5URxNQbwVVQx7dWUPWSGmWFKMTk49bf2x4jyB
FFm2vmkcX5P51Kytz5EfeiG1Ar1pvcFUiaZFbGafgNh0AXkuWqvxuDXotE+u
G+P3n+sHw3m9Xl+NP8hFG5+9+LBq1evtenv/896jp4fJo2VysPJOxtaX7zvn
cP3Xp736107vAuhBfdU5agSdk/cnjXV8NNkbNOr1V/W3XxsfOo0OfMbY69XH
LY3KcJFe1Hfa9cYxqOvv5h8+j06i5MXj06PTxc3687P9cdQ47NT3rg/3esHh
tJM+2f7y4vC8894LPzx78nj75tXyany1v9979SELotdvxuvxi+bJ+rQbvBiO
13vT96vB6v0JQ1wHGK5Xx3W9goZXb7deXrw9zT50G0f9/ZcrBlNAv3jVaLYm
vV5353HnCJYG1M18d9Zo9NrLThf2pFNfWV8sm/XR4erImuXo/UWj/rV+1hgP
eKMvWu1JvdO4el9fDXqNm04jGntIP5bLZra96IXJWSPoRo8mjbOrt8cf6t3j
z3Ge9LcuvzaO61Gjlc7XZ8fZ5efLcPHFixfrZ6/eZ2f753uv3zzefhK0905H
r/enwcGLT4cXMOnZk9Nn23sn9c/Ng+GXN8G7wejx6fqkMTp+k/a7R4vW+fit
F1586u90Zi1z9V08onv/wmpNEGaY9ZFExkmWu9bCCdWnzz2nduFzuzTfc3+X
/nTr6v2888tz//ZsFEkBoqySwuMbqgvl0oaqf/d/pqp1v2D53WE/DEeDYBT2
g37ojL575+hapiyZAb/7xcdSkTv7uwe7ezvw88EZf+/O8SUQZjP8+zuPn+3v
7O7vPNl5uhccPjk4HIT7w529Wq1Wtr35FeUyee6xt7lyPCWQmXJ/v/j1Aagb
zThZ3GNf82Vt7hgaPVDPYEvvsaPFOjV3jL1X2625A+/fPrAqXFF2UHE8/cXv
JUsXtw7uHpDqPpSMCPcPDt4Z7fHto3HJk01DAdbQNlrhtg92H/JtdUsgIk7I
KIFVxxB+4DrX9mqHBzu13Z2dg8e1g9p+bU8ezZUzfA5Ie/B4Z29v5+Cgv/d0
cBjuPhkePAngLUHaQuXC56BfhDvBcBQ+O4AbOwh3HgcHwd4o2N05CB/vPtl9
/Gxnd2/3SRAw0SJXHRtlstDW3VLLsmsEeuCzyKfbdqPtZt1tc+GExqKiaBf2
vp8GAH8AUw4irQG8Hrx+X59Pr9qvR4/fXxyuw2Rx/HL6chBddYoawMXXP0cD
OEMuJnL3cfft452LndbqxWRw2vn0ftX52trtgAZwBlz+LX72lT5bw2drr3ME
H35qHHcu2yAU0GyvjurTxYd3l7PX717CTJ0vL3r1PorKjXraOX7RSIJ34yzY
e/P49dvjHYDgzdfhyfFO8PbZsnNZZ+n34uLoqD7c+fDudAceSu6lAbx99ehl
OJwtDoNX6Qh0lb3Z9qtkP2y2X6xWR0Hv64fTZH21/ppst0arwy+Tx/P9ZP7o
8PNjr9vojYadxWz3czt7e/SqPmj327sv4+He0evgzefTg86L98jRLQ2gvaof
sfSPwv+d3Dsv/acXLzovnz1rpo87r7/s3jzyeu92l83t65uXs4MS6T8EaeE9
ns7w5cUFaUjNdXpSv7hojJPhsFEHSaaoHgxAPbhoto/2br6G4/X7Ri9ZjZ98
+prOG829tN5odBcvLi4fXx6+eXzSebP0HoX7KQgU9XbvWXz49XgvOHv/dPfT
ycHb46/zx1+y7ps3y6/rwf7F5xfDWbr9avvl+G+3aQd3671HqPe+0lj/5lHv
6fjT/P1y//xN/dXZcr4Mb/aOnnxq7a/+M+u933v/8npv6f1726v3UGqcXH86
O79oA/aM5fdOw2usTpv1eu/l1aevO18+BZe9k9d7p73FwfXq6cHpzefJ2cHw
Zj199TIYfX25e5Z017snq8FgdDLfOVqctp5NvFej6Mve+u3Z5yfP6tvR8PVo
PZ3Numn4qvNlGe91Vu979XPC8EtY4Oiw1egBzgNOdhq0Z0PvaHzxFvDoS32w
mu/vvPp6vbp58Xb78eno7cHrR93DWf9TfUQDdDutk6P623Gj+/Iimr571Lh8
3eieAATB7unk3dWrYLZ79ZIkZLxPhzwbInF8kT/7oy6oKZcX7XF3bz3yvrwZ
d87a7x+dfp2HQefzerJ3Pt5dtTut5tHL7tXuu+TTxfxwftBsXzRn3Z3RybNB
46qxc7kTvwvD+ev6ibd6/fJF1D28uD4Mr4KXy8Xj0+Tw2cWtmM2sRPrO2qEB
dyi+pQqvig4JtM8hW8VWTkZBmSS7qpv7xiEo+UgI18NGJn+toUvHt5TtxwBg
ktVcoMkxnyp18042mOtKLqsDpTpja5mOEqCIFLKUBZRtexPeQ209WSGHnB6I
2vry3X3U1pslEKnk86P9zzv/K6qtL2y1tXFlLw/U1rjV7h6fnr7uXa9QNR2H
AHpEoNfrn5qNva/1rtE22/XxxTD58O46g2e/qGV6tM7xSWGdpcs8adezyd6j
xmhUP+gHb04Wrw6an96ceG+PLh+dnFy/3N1Oj27ak/GXNy8fH3eyna/z85vO
xeT9h68vtl8Aodx/9uj0y/vh+rD+8mb+bv01fTo7mTWIq77wZF1w3YEVHAGv
M6C3xmMgOLaCPT7LK9jNxvt2w9v+Wp9aL74YN2IgqGoT2y2NL2O9V83mUROe
0hvdBGQ7ed9ptK3Zmo3GHlLsHdjo9uqDwaNm/X2jXyaWeEouUWLJ9qvdwatP
B6fD+pdH3d6Lt73tZ/Pt/e6jx8dx/+jT9dv9w2i8s/3yPTDlp91er/G1OYm8
vSfvPs/68/3PrevtnfOrnXRvnS7fd3a+vl49rb993Vy6+9Qs2ycQjOp4X+Yo
Zb7/CndoPIvG4/bxt0idXpnY+a1cz8sz4O+ROj1b7PxeqdNTYucfkTo9+3j/
p0mdKHR6f0TqVEKn971Spy10et8jdeaFTu9OqfNT/ZWRghDKS+D274HBHy17
ry7eHI4bT7xB8OFo/Sjc7Q1epW/evv58tTPe7V2eXewv373+9Kr75ckY7W9x
vBM9nb9a7k33+idxcHZ6c/1153TVPTi8HI4/eDc3O6dXX+NH7y/PnsUgrx6i
vBqu4D6ddGNcKly64+PR9aOD9uO919nX3Yvmp2TxdJ48Gz+Kv5we4t54tkQO
+/Kl9al+wRgZd5pvp9PhyftsMDveGXxtDTuNlO/TanU1OMkWYXOXiLYHl4ow
Ev5d9PcOvhx9rZ/yIJ1OY/rypr9/eXTRq4fHq5316Sdkalcgs7aAGR0H8NlX
/Mzr9NrwYXuFH3ZanT8Jkk9IhASSq+nyLl8NXhkP78z6TfvwWef93vXVl+jZ
p6sn4cvO2aOj/pO4t3zRP1x0o7fzw/Ww93knzS7TFy9efFk8qz/pXZ6/784P
0mE69T59Xt5cnB/Mu/uHiw+L6+RF9KnTv4evRt0bvApe2V3Aq3CbrybvqvG+
yVfTytL54Zv3R0fRyfmnweP92adXaTz85B2cDppHQIbXV9PTN08Odl5uv3yE
vprFdfbiy827+pv6sDV8dbw/X6xXjbS5vjy4vmm9PH8xPYn6n8NesH1+9bf/
P9trbVst2m7/t732jr39I1bVHDD55ZsyT/eAwy2ZegcU+PDOzu49DleVP/3+
Hb/9cHM1TTfad4+DaRrew2JcWg30j1qNnWqn9x+s3Gisi4Tef6AnGwcSPfW2
09k9hJN5shfs7B8+ffJ0Z2/nAP/ecB/ym/qjUXDvfyEULBzLZgy8G1kUPv8z
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

-->

</rfc>
