<?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-05" 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-05"/>
    <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="18"/>
    <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>For the ASN.1 module found in Section 8, IANA is requested to assign
an object identifier for the module identifier (TBDMOD) with a
description of "id-mod-pkix-evidence-2025". This should be allocated in the
"SMI Security for PKIX Module Identifier" registry (1.3.6.1.5.5.7.0).</t>
      <t>IANA is asked to define a new arc under "SMI Security for Mechanism Codes" (1.3.6.1.5.5) with the following
details:</t>
      <ul spacing="normal">
        <li>
          <t>OID Value: 1.3.6.1.5.5.&lt;evidence&gt;</t>
        </li>
        <li>
          <t>Name: evidence</t>
        </li>
        <li>
          <t>Description: Evidence Encoding for Hardware Security Modules</t>
        </li>
        <li>
          <t>Reference: RFCthis</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 1463?>

<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-----
MIIB7DCCAZOgAwIBAgIUMgLblKxORZBH2V2Xbz6u0xR8+QswCgYIKoZIzj0EAwIw
RDESMBAGA1UECgwJaWV0Zi1yYXRzMR0wGwYDVQQLDBRwa2l4LWtleS1hdHRlc3Rh
dGlvbjEPMA0GA1UEAwwGUm9vdENBMB4XDTI2MDMxNjE4MjQzMFoXDTM2MDMxMzE4
MjUzMFowRDESMBAGA1UECgwJaWV0Zi1yYXRzMR0wGwYDVQQLDBRwa2l4LWtleS1h
dHRlc3RhdGlvbjEPMA0GA1UEAwwGUm9vdENBMFkwEwYHKoZIzj0CAQYIKoZIzj0D
AQcDQgAE53vdbWMLUqao8kieV4xu+uDatcj1Q137+WOyGyBoh0mwce5LXXm+9O4U
VGeLtI1krpn73CkiGtaCSUrLYfRG76NjMGEwDwYDVR0TAQH/BAUwAwEB/zAdBgNV
HQ4EFgQU68iIgHDteR5t28feYVdJRVHDUhgwHwYDVR0jBBgwFoAU68iIgHDteR5t
28feYVdJRVHDUhgwDgYDVR0PAQH/BAQDAgKEMAoGCCqGSM49BAMCA0cAMEQCIDTp
vQmYJQac4cjNRPWVwyEd3aC/9iuOg54+zv6vWFTJAiBqbVDsUtzpZhuAQqpk5OgY
OQtH0sRtYVvO8nPXxqUCoA==
-----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-----
MIIBmzCCASMCAQEwggEcMIGkBgYqA4dnAAAwgZkwEwYHKgOHZwEAAIAI3q2+78r+ur4w
GgYHKgOHZwEAAYMPMjAyNTAzMTQxMjAwMDBaMGYGByoDh2cBAAKAWzBZMBMGByqGSM49
AgEGCCqGSM49AwEHA0IABPEy2tHFO7tXSeeWl1hKEJypI+YXc3z4ltaTPDFWGYlMhwHl
vclinZFfrxh8MyykNINMOGH0wj+4gOkeYj+vqFkwcwYGKgOHZwABMGkwFAYHKgOHZwEB
AIEJQWNtZSBDb3JwMBMGByoDh2cBAQKACEhTTS05MDAwMBAGByoDh2cBAQOBBTIuMS4w
MAwGByoDh2cBAQuCAf8wDAYHKgOHZwEBDYQBAzAOBgcqA4dnAQEIhAMBUYAwcjBwMBig
FgQUYcGIarqstIuidRFngOzU9OYYFe4wCgYIKoZIzj0EAwIESDBGAiEAtWNik/qin9rE
ofX9ZE4eKkmkcigBEnpZFTJ0izp4nLICIQCyalz4bslZXjtQC9MCombwXVcEGUIce94d
UFcI7QSSag==
-----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
              -> [bytes] 48534d2d39303030
      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 : 3046022100b5636293faa29f...
      keyId          : 61c1886abaacb48ba275116780ecd4f4e61815ee
]]></artwork>
        <t>For completeness of the sample, the following AK and Intermediate CA certificates are required for verification:</t>
        <artwork><![CDATA[
-----BEGIN CERTIFICATE-----
MIICAjCCAaigAwIBAgIUNQtT1K8fMLmXpZ8s7hOFof0+iDQwCgYIKoZIzj0EAwIw
QzESMBAGA1UECgwJaWV0Zi1yYXRzMR0wGwYDVQQLDBRwa2l4LWtleS1hdHRlc3Rh
dGlvbjEOMAwGA1UEAwwFSW50Q0EwHhcNMjYwMzE2MTgyNDMwWhcNMzYwMzEzMTgy
NTMwWjBFMRIwEAYDVQQKDAlpZXRmLXJhdHMxHTAbBgNVBAsMFHBraXgta2V5LWF0
dGVzdGF0aW9uMRAwDgYDVQQDDAd0ZXN0LWFrMFkwEwYHKoZIzj0CAQYIKoZIzj0D
AQcDQgAE8TLa0cU7u1dJ55aXWEoQnKkj5hdzfPiW1pM8MVYZiUyHAeW9yWKdkV+v
GHwzLKQ0g0w4YfTCP7iA6R5iP6+oWaN4MHYwDAYDVR0TAQH/BAIwADAdBgNVHQ4E
FgQUYcGIarqstIuidRFngOzU9OYYFe4wHwYDVR0jBBgwFoAUdLGCWSkyCjjxyv0A
dCcN4mVoHz4wDgYDVR0PAQH/BAQDAgeAMBYGA1UdJQQPMA0GCysGAQQBgrddBAEB
MAoGCCqGSM49BAMCA0gAMEUCIQCMZbKvYR+v8Asmkxn6GvLy4DlyX+P6LP7BU+tc
ktulGAIgC+3QmgzhBO1lttLPlLiE8OZQVwk0jXp1OrE9ubs+G5c=
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
MIIB7TCCAZKgAwIBAgIUZBusKENkkquWekNzoRqWJqu6qHowCgYIKoZIzj0EAwIw
RDESMBAGA1UECgwJaWV0Zi1yYXRzMR0wGwYDVQQLDBRwa2l4LWtleS1hdHRlc3Rh
dGlvbjEPMA0GA1UEAwwGUm9vdENBMB4XDTI2MDMxNjE4MjQzMFoXDTM2MDMxMzE4
MjUzMFowQzESMBAGA1UECgwJaWV0Zi1yYXRzMR0wGwYDVQQLDBRwa2l4LWtleS1h
dHRlc3RhdGlvbjEOMAwGA1UEAwwFSW50Q0EwWTATBgcqhkjOPQIBBggqhkjOPQMB
BwNCAARZ1Q2U/MYAnNiD26gCwAsTDJejLICmM1mgPN48PMky8p/9lW5v9UxBoNCL
JKHLTI2lD6L7Y47gfEos5Ro94Jomo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud
DgQWBBR0sYJZKTIKOPHK/QB0Jw3iZWgfPjAfBgNVHSMEGDAWgBTryIiAcO15Hm3b
x95hV0lFUcNSGDAOBgNVHQ8BAf8EBAMCAoQwCgYIKoZIzj0EAwIDSQAwRgIhAOhn
0CRE/6Vy2yQ5LNTA/q0hVOWkqlogOYyv4Q5/8X0hAiEA4G46LGJaunN9s4U6LBU+
NFb0gpZ75WsNx43/r6CNdEM=
-----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-----
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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] 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
              -> [bytes] 48534d2d39303030
    ReportedEntity[2]: id-evidence-entity-key
      Claim[0]: id-evidence-claim-key-identifier
              -> [utf8String] 9a25f603-a2c4-4dad-9ee0-a1b4e771f2c3
      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] 300806062a0387670204
    ReportedEntity[3]: id-evidence-entity-key
      Claim[0]: id-evidence-claim-key-identifier
              -> [utf8String] 85704b99-7097-4bca-93b6-13352f865ace
      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 : 30450220109323230dea72cf...
      AK Certificate : present
  Intermediate Certificates:  (1)
]]></artwork>
      </section>
      <section anchor="multi-hsm-and-multi-tenant-key-attestation-evidence">
        <name>Multi-HSM and Multi-Tenant Key Attestation Evidence</name>
        <t>Some of the design choices in this Evidence format -- such as extensible Entities and multiple signatures -- are motivated by attempting to
future-proof against needing to represent the state of a key in a distributed cloud key management service.</t>
        <t>TODO:</t>
        <ul spacing="normal">
          <li>
            <t>Illustrative example of having multiple signatures on a single Evidence.</t>
          </li>
          <li>
            <t>Illustrative example of how a vendor might represent that the key being attested is part of a logical tenant or access control group that spans multiple HSMs.</t>
          </li>
        </ul>
      </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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
yPBTuESRTjGTqtAOJkn1bNJUhhhBleWpCdOb4rBS69xzA3jM5XxW5Ham2pN5
gT0m1tPE7tYp/kKS+WWiXD69WD+YbJqCtnRvtFjmzqXr/7A9UOVUfspz0U8I
zmCdKRRlgid21Icu805xGqB4aftTgf5VyhnkMwzlpt3YiBOPLHlm+GfEsdcl
AsVU8RalolijYiGGVyetZ1AR1VPX9iMh3SR4YRwuV2q3KrVaB0nG+5CyWjVw
snNSEOyBrWakoYB1KeLcHthqomd5Tuzq4MIiS/iIqq01Z9UJh9e1qO3NIPOE
LZZrll5bJbh+0mXC2SNKdbY4XKsEELvuIcYV6ipRhnpqc3a+hrZ4K3PRaHZ2
k0DuFfiBrvImgoJmL3iAXCEmlIAbE22s7HL2QIoYeNprbyCv+Z9WbxLaIFQM
KrIkqYXmFAJvNtzJGMnI4DyPQEsH+jZKa2IpnsaZU3dQB7i64ZpniZTloQLP
WBwQRydHKMlzVlEp5jFW1KVU67Cp+CeWXtwwJJNqYAXOeaXhcsbyYActUcxT
ITBKJ6noJDo4vZhvj7nxqYe+tHRdVa5X1WPySqpTldookyvjEx1l0lVsylQn
hht9M6BnHLxpNbt++7B12m0ftZUiJSZF1nAe1aHIrodaSjSo6mjpkp/CZATd
r/6mv+Vv+/v7+/7v9hBV2eCnDGHPXC8dpmrVfnvKMGr2FaNpI+PTgFKjbZaP
hnT6O5aoRtvyRaNpq8BPE28lZl0jXj0lwaUYMOh64Eyo3XdgvW9hvfePYz1D
Xorz7HUsQXl6hzG+dIsZ6+8tBRx+aDRWyrXe+btYsfljnKn5+qyt5iGXidJh
QfNud0o0b5prnt3uXZGjxSc9Wz953T2SL+g5dM/YWrF+7uDs7KTVOKWHKMZJ
PbRtPXTMggKaMbvwDD0MZNzo2TvWw7YlJbZMHT/v2gsp3bnpfGygfGE9fnp9
cqK0bgvTLN9cLsxQaK9jH9bxP9qwzSZPY7pFKUM8+DZ2UsqVFbbmumDswcWC
x5WNte2Z8YHUoH5mRzVZ/i//PXorHWu1CWAipuRZKD7h5h8mv0NNqT1yFQ6N
RS8KRr2ppGjj/tRF7FZExudsrPngCNmHvE9D1YLXIVM69LrgIFc+6vICFvkw
SSdT2YrTw3Wl3uMUKh8/pXxlZfFS7dLQIr3Nluj96QGK/qlWsmpyCCtps6L1
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
T1t/rDhPIEWWrW8cx3dkPjVr63Hkh15IrUBvWu8wX6NpEZvJNyA2V4A8F63F
cNjqd9rHdwfDmy+NncG00Wgshh/log3PXn9ctBqNdqO9/WXr+cu95Pk82Vl4
x0Pry5vOeedzY3nabXzrdC++wu+LzuFB0Dm+OT5Yxoejrf5Bo/G28f7bwcfO
QQc+Y+z1GsOWRmW4SK8b9Xbj4Ly13MpeH529zD5cheH78ebobevNctZ+fvOh
v/1tZ5wF3fPDo/fHN+POaPF67N33Qej5eHSbfB3tdZbLu9P2aefs+HV98fn5
zvDsLrz5/Pz+C9CN/uLmmCFuAAx3i6OGXsGB12i33ly8P80+Xh0c9rbfLBhM
Af3ibaPZGnW7V/XdziEsDaib+e7s4KDbnneuYE86jYX1xbzZuN1bHFqzHN5c
HDS+Nc4Ohn3e6ItWe9ToHFzfNBb9zwcwcDT0kH7c9I/bQfIlzdrzaHB5NB2e
fbveP7u5OQp38qS/dXV4cNyIWo3s/Wl0t/Elmu4nLS++/bD/sbUTvr2b3PWj
4UFrOvsIt74efZvtTLFS10VzGYy/7fTS8ccPn7OL5n6nGU96iw/v+q3j63Y/
3N8ZeNdH/fbLi6urYGhffxeX6O6/tnokhBmWiEoi4yjLXW3hhurTV55TRPGV
XSPwlb9Jf7oF/n6u//LKySIqlsiSXCSqjFd4fEWZo1z+UvXf/Z+pfN4vWAd4
0AvD235wG/aCXuiMvvno6FquLJkBv/vFx4Se+vbmzuZWHX4+OuNvPTq+BMOs
hn+7vru/Xd/crr+ov9wK9l7s7PXD7UF9q1arlW1vfkW5sl9P2NtcXaASyEzd
wV/8Rh9UjmaczJ6wr/n6OqsXvbO3u70z2Bpsw9LxvydsarFmziOQb9U2a+7A
2w8PrIpolIEdx+Nf/G4yd9Fr5/EBqQZFyYhwBeHsndF2Hx6Ny6+sGgoQp46r
taJun22u84V1yzEiWsgogVVTEX4wl2urtrdTr23W6zu7tZ3adm1LHs2VVnwF
eLvzor61BU/2dl9sv9ja374Ngq39W4W3hSqKr/wXm/3Nvb0XQS8I+r2dvV6w
9XJ3c/PFy7162B/s3O6ELzb3NnfDkOkWeezYNpOFtgqXWgZeI9cDu0V23bab
fjcbbssNJ0IW9UW7yPjTFIFm4zPw5iDSisDpRdbdfLt32zmZfJh93Etfjs6O
4tv68+jwoqgIXHz7cxSBM2RmIn4fXb3frV/UW4vXo/5p5/PNAgT+rU53uDw9
7Cze42ff6LNv+Jl32oUPPx8cdS7bIBvQbG8PG+PZxw+Xk5MPb2CmztfX3UYP
JeaDRto5en2QBB+GWbD1bvfk/VEdIHj3bXB8VA/e7887lw0Wgi8uDg8bg/rH
D6d1eCh5kiKw1z0J6v3rl/PNwZvd3eDD+1Z8MX1793l3NPh2ex6935x19jrv
bj5G18vXjfD9/vL928Hdu+f33vHrxbeTtxf1YX2xc3PbbZ6/jBovLnej8xfP
4/fB6U7n9Q0ydksRaC8ah6wEoA7wKBPPKwGDk+Pm+6u7ZfPz56/L+3rDGzT7
pzuTd/HrbzslSkAIQsMNns7gzcUFKUrNZXrcuLg4GCaDwUEDBJqiljAELeEa
OX/nY+/t/c3l8/u9Rjq5+zp9cXx/stw5HC8/PD9/cXL+8uD6edb37rL5+LjR
Hjafb19Mht9GB2eb4yw7OR+fRK29s48X7xZ39c8fZptnSWt/3kufH+/2H1IS
Hld/u6j+vtVY//Fgnr5tnd7dfZm/D+9Ov8WXX96/+TJ/8eV1/F9Z/f2j9y+v
/pbev/fdRheFx9Hd57PzizZgz1B+7xx4B4vTZqNx+XHzYut6o3PTmJ5Gh1sv
hs1FI+0evgk/g9g36WxOhuenO3vnnbvl3mxjf/x+937/+utBfNo88d68fX0C
yxwfvjh5ebPzcnjbitPdy3h/5008ibc6i5tu45ww/BIWeLvXOugCzgNOdg5o
zwbe4fDi/cHBZT29efPxbbf99uz89duNi4P6m8V29PH98Pb8c+OWBrjqtI4P
G++HB91k2Y4a/bPN3deT7Z73dX939K4+Prrun17BA2d8n/Z4NkTiuEDxDq8u
GovLIcjRZ6OpV29etjZevFtuLS92T0Ad2fhSH707e3/3ZRwPz26W9zsXuxt7
H+ojFJh3jndenBy/CebT0/105/rFCeC9d3rUqw9nH1/uvk9Pv+5sbyQvmqeD
VudR9deTHrh2hMAj+m+p3quCRALtesgWsZWaUdApybzqpsDVdCq7HRDhOtrI
8q8Vdek+l7IZGQBMspoLNPnnU6V1PsoGcx3SZXWgW2dsNNPBAhSYQgazgJJu
78MnaK/HZCqLh6K9vj14ivZ6P994u5F8eb79pf7/RO31ta29HlzbywPtNW60
r45OT0+6dwvUUIe3AGZEoDdAmjh4cdi4N0pnuzG8uti96bY3PyIvX26OOpNO
3TvpXt7dvL/Izt6/G3ea8OH7dv1jt7/deX+zvPnWWXw0e9Zs3Bz0yliwp3iw
YsEfz16OPm6eXHz+0K3vv9jtvTvHq3h5ETZGWe/rTtKb3u99uD5987yfvrza
vGneZPWxN9iYvE83Z4fti51B7+v5u+bwbXpcv54u3kw29z5mrbQL/M8spzkc
thqO7j28ano55bvZ2Gmjoc5+8Wg4ROp1bb0YNpqfG22FS3DEF4thv+FsZtYt
bObOabe/OD1u755d1bc7h3fbsJfRzVYrO+ueRt5pVAce0dnsTG52Tj+/G91s
XT9pM+299HAzLzvtSXvjYHgMwsI47Vyffzy8+fx+czzc2ni9fbOxU29e3233
LxeXi+2ddyfzq73tnfPN4Nvx1mScRltpy3txevpt1BvvxTfDy9n8vPfuYJR8
PsxvJuyJs5lnAA3g1PDNFKVT7wZNR8Mv0XDYPv6j4qqnOPc/Iq56j7HLf4q4
itKq94+Iq+qqeH9UXLWlVe+PiKt5adX7XnG1TFr1vkdcXSWtek8VVx+SVr0V
4mrBlHb57eCoETUu7padz4fhbPmt/uHDRhh+G7TPv3kfXg7Ovny52G98jPZf
Tq+jg/dncbIAuePNZbjbPdp4m3542d7a/vp6/+D5h8n7bhZG+6PWxeTmbtEI
7jbfvjxJXnoxCLp7KOiGdbhQx1cxrhUu3dHxRS9pjg4/vnmbjKezw/6LVjCO
gmT+ZfQivzdep3XxtfW5ccEYGXeAGIwHxzdZf3JU739rDToHKd+nxeK6f5zN
wuZm8vHDXQZ3ihAS/p15va2dr4ffGqc8SKdzMH5z39u+PLzoNsKjRX15+hm5
4c3Xs8N2vfPtIIDPvvFnHfxsEz8DSDp/EiSfkQgJJNfj+WO+HnVn3g+uT8fn
3469xptvN8P9edxIGyetxfJDvFw2Zp9PP8aH38Lzw29vOvdvbzc+vpv3Nt51
LoLDi2h5NVrCKmcXz6PnW2dnO6+/vvVOzq6D87AZvPnyuK9H3ZsHNbeHfD0P
uXq81b6eO7gXN6DFHcYf9xt3l+fPx/0svTu7+na9OH+Rtd91x7O3s6B9OOl4
yfPW2e3G0X77AqXjg/lZ9DV6n8y+3fbOjs6ixbvzz5fv99tv34fP3yWH/fB0
48Xz4ecPl4f/X7b12nZetPv+/7beR/b2H7TI5uDJ74Dp8/AEUNzSr4/YbveD
rd3bF/XtarDV36nuDIJBdT8M69Vgs7cTvny5ebvV337C4asar3/8RB4+/Fzh
1pWG46NgnIZPMEWXljz9R83RTknXpw9Wbo3WlVCfPtCLlQOJAvzQ6dT34GRe
bAX17b2XL17Wt+o7ZYiZ380fh5h7uy/rO739/erL+v7L6k6vH1T3t3svqpvb
27tbt3svdoP+UzxQ/1UQs3BYq/HycRRSWP7PdEHs1re26pv1/e0t+K8OPOHl
Vt9yQTTeOj2PXkkSPrp4XAuJZR555f9ffZ1BbsIwEEX3OUUuwCGQ2LQbpBKp
a6uZlCiOQWDU65P/Z+xMq9AlAhPHQUIavf8+tr0Ojmj52FEolHp71WnA+PVM
6WQmsHwuJgEUfzLuVXgvHxOZQ4bJpsBky6PDaQMqqJ1ryk9W4Ug94mUZoUd1
kxjO5vU0zfDAJ3fMHFTWzyWMagJRZz4ZB4JPGs5O5Y7VdYqF1/jWBojYNN3x
cKQc5S3GRyWQy6AKJg8VR2zdiirblBZxuNc/38W8kvWbaIjP34zRGqQwhIhm
yQ+Ma2dvUCAYEQR9qGA3fxPD37cLmQ50y16Xv/t18yDvrPvxa0qXnyi9nsh9
05xg3fTEO3lp+2lkCXOLcmQnOsAk7lblER/77sR1uA3uZzMoAlSdLodeqGRB
UqFIITxsXHL5/vrMEkH3QbqHjrs2zFC3YELZjOkKwC5MkpT+/AMv113OYYw0
To3s+/0UC3sQ6+VgMaSpfZdhaPdsw5ZUM2JWLKt1t/n+evkBiHF3DtEEnr5u
eln1BPxYCwJqaQEA

-->

</rfc>
