<?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.30 (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-03" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.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-03"/>
    <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="H-BRS">University of Applied Sciences Bonn-Rhein-Sieg</organization>
      <address>
        <postal>
          <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>mwiseman@computer.org</email>
      </address>
    </author>
    <author initials="N." surname="Smith" fullname="Ned Smith">
      <organization>Intel Corporation</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>ned.smith@intel.com</email>
      </address>
    </author>
    <date year="2026" month="March" day="02"/>
    <area>Security</area>
    <workgroup>RATS</workgroup>
    <keyword>Internet-Draft</keyword>
    <keyword>RATS</keyword>
    <keyword>PKIX</keyword>
    <keyword>HSM</keyword>
    <abstract>
      <?line 143?>

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

<section anchor="introduction">
      <name>Introduction</name>
      <t>This specification defines a format to transmit Evidence from an Attester to a Verifier within a PKIX
environment. This environment refers to the components generally used to support PKI applications
such as Certification Authorities and their clients, or more generally that rely upon X.509 certificates.
As outlined in <xref target="terminology"/>, this specification uses a necessary mixture of RATS and PKI terminology
in order to map concepts between the two domains.</t>
      <t>Within this specification, the concepts found in the Remote ATtestation procedureS Architecture (<xref target="RFC9334"/>) are
mapped to the PKIX environment. There are many other specifications that are based on the RATS Architecture
which offer formats to carry Evidence. This specification deals with peculiar aspects of the PKIX environment
which make the existing Evidence formats inappropriate:</t>
      <ul spacing="normal">
        <li>
          <t>ASN.1 is the preferred encoding format in this environment. X.509 certificates (<xref target="RFC5280"/>) are used
widely within this environment and the majority of tools are designed to support ASN.1. There are
many specialized devices (Hardware Security Modules) that are inflexible in adopting other formats because
of internal constraints or validation difficulties. This specification defines the format in ASN.1 to ease the
adoption within the community.</t>
        </li>
        <li>
          <t>The claims reported within the generated Evidence are generally a small subset of all possible claims about
the Target Environment. The claims relate to elements such as "platform" and "keys" which are more numerous than
what a Verifier requires for a specific function. This specification provides the means to moderate the information
disseminated as part of the generated Evidence.</t>
        </li>
      </ul>
      <t>This specification also aims at providing an extensible framework to encode, as part of the generated Evidence, claims other than
the one proposed in this document. This allows implementations to introduce new claims and their associated
semantics to the Evidence produced.</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 (Subject Public Key Identifier). 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,
   subjectKeyIdentifier [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
}
]]></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,
   subjectKeyIdentifier [1] EXPLICIT SubjectPublicKeyInfo OPTIONAL,
                            -- As defined in RFC 5280
   certificate          [2] EXPLICIT Certificate OPTIONAL
                            -- As defined in RFC 5280
}

EvidenceKeyCapabilities ::= SEQUENCE OF OBJECT IDENTIFIER

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

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

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

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

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


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


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

END

<CODE ENDS>

]]></sourcecode>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>Please replace "RFCthis" with the RFC number assigned to this document.</t>
      <t>The following OIDs are defined in this document and will require IANA registration under the assigned arc:</t>
      <ul spacing="normal">
        <li>
          <t><tt>id-evidence</tt></t>
        </li>
        <li>
          <t><tt>id-evidence-entity</tt></t>
        </li>
        <li>
          <t><tt>id-evidence-entity-transaction</tt></t>
        </li>
        <li>
          <t><tt>id-evidence-entity-platform</tt></t>
        </li>
        <li>
          <t><tt>id-evidence-entity-key</tt></t>
        </li>
        <li>
          <t>Claim OIDs referenced in the Platform, Key, and Transaction tables (e.g., <tt>id-evidence-claim-platform-*</tt>, <tt>id-evidence-claim-key-*</tt>, <tt>id-evidence-claim-transaction-*</tt>).</t>
        </li>
      </ul>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="sec-cons-verifier">
        <name>Policies relating to Verifier and Relying Party</name>
        <t>The generation of Evidence by an HSM is to provide sufficient information to
a Verifier and, ultimately, a Relying Party to appraise the Target Environment (the HSM) and make
decisions based on this appraisal.</t>
        <t>The Appraisal Policy associated with the Verifier influences the generation of the Attestation
Results. Those results, in turn, are consumed by the Relying Party to make decisions about
the HSM, which might be based on a set of rules and policies. Therefore, the interpretation of
the provided Evidence may greatly influence the outcome of some decisions.</t>
        <t>A Verifier <bcp14>MAY</bcp14> reject Evidence if it lacks the claims required per the Verifier's
appraisal policy. For example, if a Relying Party mandates a FIPS-certified device,
it <bcp14>SHOULD</bcp14> reject Evidence lacking sufficient information to verify the device's FIPS
certification status.</t>
        <t>If a Verifier encounters a claim with an unrecognized claim type, it <bcp14>MAY</bcp14> ignore it and
treat it as extraneous information. By ignoring a claim, the Verifier may accept Evidence
that would be deemed malformed to a Verifier with different policies. However, this approach
fosters a higher likelihood of achieving interoperability.</t>
      </section>
      <section anchor="sec-cons-simple">
        <name>Simple to Implement</name>
        <t>The nature of attestation requires the Attesting Environment to be implemented in an extremely
privileged position within the HSM so that it can collect the required measurements such as
hardware registers and the user keys. For many HSM architectures, this will
place the Attesting Environment inside the "security kernel" and potentially subject to FIPS 140-3
or Common Criteria validation and change control. For both security and compliance reasons,
there is an incentive for the generation and parsing logic to be simple and easy to implement
correctly. Additionally, when the data formats contained in this specification are parsed
within an HSM boundary -- that would be parsing Evidence
produced by a different HSM -- implementers <bcp14>SHOULD</bcp14> opt for simple logic that rejects any
data that does not match the expected format, instead of attempting to be flexible.</t>
        <t>In particular, the Attesting Environment <bcp14>SHOULD</bcp14> generate Evidence from scratch and
avoid copying any content from the request. The Attesting Environment <bcp14>MUST</bcp14> generate Evidence
only from information and measurements that are directly observable by it.</t>
      </section>
      <section anchor="sec-detached-sigs">
        <name>Detached Signatures</name>
        <t>The construction of the Evidence structure includes a collection of signature
blocks that are not explicitly bound to the content. This approach was influenced by the following
motivations:</t>
        <ul spacing="normal">
          <li>
            <t>Multiple simultaneous signature blocks are desired to support hybrid environments where
multiple keys using different cryptographic algorithms are required to support appraisal
policies.</t>
          </li>
          <li>
            <t>Provide the ability to add counter-signatures without having to define an envelop scheme.</t>
          </li>
        </ul>
        <t>The concept of counter-signatures is important for environments where a number of heterogeneous
devices are deployed. In those environments, it is possible for a trusted actor, intermediary between
the Attester and the Verifier, to validate the original signature(s) and apply its own afterwards.</t>
        <t>The ability to add signature blocks to the Evidence after the original generation by the Attester leads
to the unfortunate situation where signature blocks can also be removed without leaving any trace.
Therefore, the signature blocks can be deemed as "detachable" or "stapled".</t>
        <t>Manipulation of the Evidence after it was generated can lead to undesired outcomes at the Verifier.</t>
        <t>Therefore, Verifiers <bcp14>MUST</bcp14> be designed to accept Evidence based on their appraisal policies, regardless
of the presence or absence of certain signature(s). Consequently, Verifiers <bcp14>MUST NOT</bcp14> make any inferences
based on a missing signature, as the signature could have been removed in transit.</t>
        <t>This specification provides the transaction claim "ak-spki" to effectively bind the content with
the signature blocks that were inserted by the Attesting Environment. When this claim is provided, it reports
the SPKI of one of the attestation keys used by the Attesting Environment to produce the Evidence. This claim
is repeated for each of the attestation keys used by the Attesting Environment.</t>
      </section>
      <section anchor="sec-cons-privacy">
        <name>Privacy</name>
        <t>Some HSMs have the capacity of supporting cryptographic keys controlled by separate entities referred to as "tenants", and when the HSM is used in that mode
it is referred to as a multi-tenant configuration.</t>
        <t>For example, an enterprise-grade HSM in a large multi-tenant cloud service could host TLS keys fronting multiple un-related web domains. Providing Evidence for
claims of any one of the keys would involve a Presenter that could potentially access any of the hosted keys.
In such a case, privacy violations could occur if the Presenter was to disclose information that does not relate to the subject key.</t>
        <t>Implementers <bcp14>SHOULD</bcp14> be careful to avoid over-disclosure of information, for example by authenticating the Presenter as described in <xref target="sec-cons-auth-the-presenter"/> and only returning results for keys and portions of the Target Environment for which it is authorized.
In 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 TbsEvidence of the request inside a Evidence signed with a certificate belonging to 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 a strcture <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="11" month="February" 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-22"/>
        </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 1465?>

<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>
      <artwork><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

PkixAttestation:
 tbs=TbsPkixAttestation:
  version=2
  reportedEntities=SequenceOf:
   ReportedEntity:
    entityType=1.2.3.999.0.0
    reportedAttributes=SequenceOf:
     ReportedAttribute:
      attributeType=1.2.3.999.1.0.0
      value=AttributeValue:
       bytes=0102030405


   ReportedEntity:
    entityType=1.2.3.999.0.1
    reportedAttributes=SequenceOf:
     ReportedAttribute:
      attributeType=1.2.3.999.1.1.1
      value=AttributeValue:
       utf8String=HSM-123

     ReportedAttribute:
      attributeType=1.2.3.999.1.1.2
      value=AttributeValue:
       bool=True

     ReportedAttribute:
      attributeType=1.2.3.999.1.1.3
      value=AttributeValue:
       utf8String=Model ABC

     ReportedAttribute:
      attributeType=1.2.3.999.1.1.4
      value=AttributeValue:
       utf8String=3.1.9


   ReportedEntity:
    entityType=1.2.3.999.0.2
    reportedAttributes=SequenceOf:
     ReportedAttribute:
      attributeType=1.2.3.999.1.2.0
      value=AttributeValue:
       utf8String=26d765d8-1afd-4dfb-a290-cf867ddecfa1

     ReportedAttribute:
      attributeType=1.2.3.999.1.2.3
      value=AttributeValue:
       bool=False

     ReportedAttribute:
      attributeType=1.2.3.999.1.2.1
      value=AttributeValue:
       bytes=\
0x3059301306072a8648ce3d020106082a8648ce3d03010703420004422548f88fb7\
82ffb5eca3744452c72a1e558fbd6f73be5e48e93232cc45c5b16c4cd10c4cb8d5b8\
                     a17139e94882c8992572993425f41419ab7e90a42a494272


   ReportedEntity:
    entityType=1.2.3.999.0.2
    reportedAttributes=SequenceOf:
     ReportedAttribute:
      attributeType=1.2.3.999.1.2.0
      value=AttributeValue:
       utf8String=49a96ace-e39a-4fd2-bec1-13165a99621c

     ReportedAttribute:
      attributeType=1.2.3.999.1.2.3
      value=AttributeValue:
       bool=True

     ReportedAttribute:
      attributeType=1.2.3.999.1.2.1
      value=AttributeValue:
       bytes=\
0x3059301306072a8648ce3d020106082a8648ce3d03010703420004422548f88fb7\
82ffb5eca3744452c72a1e558fbd6f73be5e48e93232cc45c5b16c4cd10c4cb8d5b8\
                     a17139e94882c8992572993425f41419ab7e90a42a494272


   ReportedEntity:
    entityType=1.2.3.888.0
    reportedAttributes=SequenceOf:
     ReportedAttribute:
      attributeType=1.2.3.888.1
      value=AttributeValue:
       utf8String=partition 1




 signatures=SequenceOf:
  SignatureBlock:
   certChain=SequenceOf:
    Certificate:
     tbsCertificate=TBSCertificate:
      version=v3
      serialNumber=510501933685942792810365453374472870755160518925
      signature=AlgorithmIdentifier:
       algorithm=1.2.840.113549.1.1.11
       parameters=0x0500

      issuer=Name:
       rdnSequence=RDNSequence:
        RelativeDistinguishedName:
         AttributeTypeAndValue:
          type=2.5.4.10
          value=0x0c0449455446
        RelativeDistinguishedName:
         AttributeTypeAndValue:
          type=2.5.4.11
          value=0x0c0452415453
        RelativeDistinguishedName:
         AttributeTypeAndValue:
          type=2.5.4.3
          value=0x0c06414b20525341


      validity=Validity:
       notBefore=Time:
        utcTime=250117171303Z

       notAfter=Time:
        generalTime=20520604171303Z


      subject=Name:
       rdnSequence=RDNSequence:
        RelativeDistinguishedName:
         AttributeTypeAndValue:
          type=2.5.4.10
          value=0x0c0449455446
        RelativeDistinguishedName:
         AttributeTypeAndValue:
          type=2.5.4.11
          value=0x0c0452415453
        RelativeDistinguishedName:
         AttributeTypeAndValue:
          type=2.5.4.3
          value=0x0c06414b20525341


      subjectPublicKeyInfo=SubjectPublicKeyInfo:
       algorithm=AlgorithmIdentifier:
        algorithm=1.2.840.113549.1.1.1
        parameters=0x0500

       subjectPublicKey=\
31795268810366627125468059984427145931784542919710733587190808152893\
60654221420809632888307722560713639336279560999760196831203900125133\
94283491012035327260476464503011428823183377093983165744076471996900\
00689245113739552615279534528145776090813314822312012607567736073057\
93682071373309092884909267211093730030075556179780800043813483945804\
36738524537229696496092020939452353934949121386913422195643653009653\
87743701570507112064401758218314760153081271981340812350365663466513\
62085332653425242470699284103365281746135463231612931259782554282056\
96678423183426464574470371256093994768443364562065834165394264792211\
                               64971369788464727307915820767918489601

      extensions=Extensions:
       Extension:
        extnID=2.5.29.14
        critical=False
        extnValue=0x04148919595e0ef169f5cbbd47e134fce298cc693091
       Extension:
        extnID=2.5.29.35
        critical=False
        extnValue=0x301680148919595e0ef169f5cbbd47e134fce298cc693091
       Extension:
        extnID=2.5.29.19
        critical=True
        extnValue=0x30030101ff


     signatureAlgorithm=AlgorithmIdentifier:
      algorithm=1.2.840.113549.1.1.11
      parameters=0x0500

     signature=\
12977775424631768289542539102653382982431795551146145281750189553757\
94098257281326442898298599774059587807702785399451577511675203096385\
84696515487658087752698572711677485127950179162848670513028844653157\
51010913658016640170608413935780119349866986170148033301955753116984\
04127127390775654478023156464686042499902099074552338362298011520044\
62601031731035006478387581976102385523490530645254202408261935533953\
78873725256584269666918504793674497748455574822238022085054752185687\
44080765533772482185333268815846037955490610541772066517564837183282\
59395770398747304427903377260041058781683759981231103319933488336293\
                                                                25492

   signatureAlgorithm=AlgorithmIdentifier:
    algorithm=1.2.840.113549.1.1.10
    parameters=RSASSA_PSS_params:
     hashAlgorithm=AlgorithmIdentifier:
      algorithm=2.16.840.1.101.3.4.2.1

     maskGenAlgorithm=AlgorithmIdentifier:
      algorithm=1.2.840.113549.1.1.8

     saltLength=20
     trailerField=1


   signatureValue=\
0xab7fd2b0f854daa4e867fd16955cd3b9910e93b70c7403cfa8077f04193909d14e\
c6bed859b67476c84cc2c28842b9a087d5c39e11ca95f6961d272d97297cb6ed3c06\
2717696b032f4bf1f0f41ac20ae9706a8a4c17845ae2512950774173737010d6692c\
b726d1ab3a022092efcf27f0dd875b62e4df546814186f9e744cc34cf0778c877c57\
1d006be094aa683a5f66d6816d22dba104334163020c62d81903c41d353eaba94212\
47fc354fd3288a01921d93014100960324c3122feebfffc1007c83e98136e1b1fca1\
15835b9e67fa9056f290208fb99e1c8144839a5e13ccb1217dceeecc253fc7785bc8\
                               308382e052ffb867b40a0cd593176ed6ddc7b0
  SignatureBlock:
   certChain=SequenceOf:
    Certificate:
     tbsCertificate=TBSCertificate:
      version=v3
      serialNumber=43752118382009037811618748949928339462896457144
      signature=AlgorithmIdentifier:
       algorithm=1.2.840.10045.4.3.2

      issuer=Name:
       rdnSequence=RDNSequence:
        RelativeDistinguishedName:
         AttributeTypeAndValue:
          type=2.5.4.10
          value=0x0c0449455446
        RelativeDistinguishedName:
         AttributeTypeAndValue:
          type=2.5.4.11
          value=0x0c0452415453
        RelativeDistinguishedName:
         AttributeTypeAndValue:
          type=2.5.4.3
          value=0x0c07414b2050323536


      validity=Validity:
       notBefore=Time:
        utcTime=250117171428Z

       notAfter=Time:
        generalTime=20520604171428Z


      subject=Name:
       rdnSequence=RDNSequence:
        RelativeDistinguishedName:
         AttributeTypeAndValue:
          type=2.5.4.10
          value=0x0c0449455446
        RelativeDistinguishedName:
         AttributeTypeAndValue:
          type=2.5.4.11
          value=0x0c0452415453
        RelativeDistinguishedName:
         AttributeTypeAndValue:
          type=2.5.4.3
          value=0x0c07414b2050323536


      subjectPublicKeyInfo=SubjectPublicKeyInfo:
       algorithm=AlgorithmIdentifier:
        algorithm=1.2.840.10045.2.1
        parameters=0x06082a8648ce3d030107

       subjectPublicKey=\
57095560233504924588952816185508037812996307929249104847846164660564\
88839712339087758567046283628572504126189755002031148112756265577433\
                                                  3675293173915140722

      extensions=Extensions:
       Extension:
        extnID=2.5.29.14
        critical=False
        extnValue=0x04145b70a79817f79ff637d2f7e3dc446c2109d7bbd4
       Extension:
        extnID=2.5.29.35
        critical=False
        extnValue=0x301680145b70a79817f79ff637d2f7e3dc446c2109d7bbd4
       Extension:
        extnID=2.5.29.19
        critical=True
        extnValue=0x30030101ff


     signatureAlgorithm=AlgorithmIdentifier:
      algorithm=1.2.840.10045.4.3.2

     signature=\
18216751979714603574557504315480141511553297913673112867639918069266\
48218048839904015520407896430131032024244860880583649829667093244967\
                                  82518079519267269438816178719668437

   signatureAlgorithm=AlgorithmIdentifier:
    algorithm=1.2.840.10045.2.1
    parameters=0x06082a8648ce3d030107

   signatureValue=\
0x3046022100e416af2483667e73345ee297e563cf1639e41ab9bdcd01f98872fddb\
101e779d022100d06c6e1054292640eea1873230a399af0936760cbfc8023a8a2874\
                                                           f9c5fc5ba8



DER Base64:
MIIIszCCAgsCAQIwggIEMCEGBioDh2cAADAXMBUGByoDh2cBAAAECjAxMDIwMzA0MDUw\
VAYGKgOHZwABMEowEgYHKgOHZwEBAQwHSFNNLTEyMzAMBgcqA4dnAQECAQH/\
MBQGByoDh2cBAQMMCU1vZGVsIEFCQzAQBgcqA4dnAQEEDAUzLjEuOTCBsgYGKgOHZwAC\
MIGnMC8GByoDh2cBAgAMJDI2ZDc2NWQ4LTFhZmQtNGRmYi1hMjkwLWNmODY3ZGRlY2Zh\
MTAMBgcqA4dnAQIDAQEAMGYGByoDh2cBAgEEWzBZMBMGByqGSM49AgEGCCqGSM49AwEH\
A0IABEIlSPiPt4L/teyjdERSxyoeVY+9b3O+\
XkjpMjLMRcWxbEzRDEy41bihcTnpSILImSVymTQl9BQZq36QpCpJQnIwgbIGBioDh2cA\
AjCBpzAvBgcqA4dnAQIADCQ0OWE5NmFjZS1lMzlhLTRmZDItYmVjMS0xMzE2NWE5OTYy\
MWMwDAYHKgOHZwECAwEB/\
zBmBgcqA4dnAQIBBFswWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARCJUj4j7eC/\
7Xso3REUscqHlWPvW9zvl5I6TIyzEXFsWxM0QxMuNW4oXE56UiCyJklcpk0JfQUGat+\
kKQqSUJyMB8GBSoDhngAMBYwFAYFKgOGeAEMC3BhcnRpdGlvbiAxMIIGoDCCBHowggNF\
MIIDQTCCAimgAwIBAgIUWWuyy9RGarWD+\
k6k4ZswYmQ7cQ0wDQYJKoZIhvcNAQELBQAwLzENMAsGA1UECgwESUVURjENMAsGA1UEC\
wwEUkFUUzEPMA0GA1UEAwwGQUsgUlNBMCAXDTI1MDExNzE3MTMwM1oYDzIwNTIwNjA0M\
TcxMzAzWjAvMQ0wCwYDVQQKDARJRVRGMQ0wCwYDVQQLDARSQVRTMQ8wDQYDVQQDDAZBS\
yBSU0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCw+\
egZQ6eumJKq3hfKfED4dE/tL4FI5sjqont9ABVI+\
1GSqyi1bFBgsRjM0THllIdMbKmJtWwnKW8J+5OgNN8y6Xxv8JmM/\
Y5vQt2lis0fqXmG8UTz0VTWdlAXXmhUs6lSADvAaIe4RVrCsZ97L3ZQTryY7JRVcbB4k\
hUN3Gp0yg+801SXzoFTTa+UGIRLE66jH51aa5VXu99hnv1OiH8tQrjdi8mH6uG/\
icq4XuIeNWMF32wHqIOOPvQcWV3M5D2vxJEj702Ku6k9OQXkAo17qRSEonWW4HtLbtmS\
8He1JNPc/n3dVUm+\
fM6NoDXPoLP7j55G9zKyqGtGAWXAj1MTAgMBAAGjUzBRMB0GA1UdDgQWBBSJGVleDvFp\
9cu9R+E0/OKYzGkwkTAfBgNVHSMEGDAWgBSJGVleDvFp9cu9R+E0/\
OKYzGkwkTAPBgNVHRMBAf8EBTADAQH/\
MA0GCSqGSIb3DQEBCwUAA4IBAQBmzcTIPYhVNtMdrOb9ee9qYADlTuQl1y1mdrDPcC+\
zmwZuwKLJu89hvxmFdDrVNc6QsNKnH0fWtMZxU5UQTrqW2Wf0jLY3bjfJkCmTQahOK8X\
D3oQqfXVKCe+MGFUSh71BUXc4FIQzMJ6phG+5qiCqsD9BL/gFXf4ao+BI4SQhVWi6FR+\
JOBMxd91DYDyYr6NfddAbzaW7iDoVEWR1pvQAZbycWfv1KIY6ne2yQ0dSedOqIE9Odjq\
i2QkW4kD7qXRLYKcMPqe1SPao2xoS2Kz8SIdoLInLu7Cb3QC7n/\
oEbiK4JIVD29giMpudJ8gbBLLjwDrCls0yA+ng8n/\
wkki0MCsGCSqGSIb3DQEBCjAeoA0wCwYJYIZIAWUDBAIBoQ0wCwYJKoZIhvcNAQEIBII\
BAKt/0rD4VNqk6Gf9FpVc07mRDpO3DHQDz6gHfwQZOQnRTsa+\
2Fm2dHbITMLCiEK5oIfVw54RypX2lh0nLZcpfLbtPAYnF2lrAy9L8fD0GsIK6XBqikwX\
hFriUSlQd0Fzc3AQ1mkstybRqzoCIJLvzyfw3YdbYuTfVGgUGG+\
edEzDTPB3jId8Vx0Aa+CUqmg6X2bWgW0i26EEM0FjAgxi2BkDxB01PqupQhJH/\
DVP0yiKAZIdkwFBAJYDJMMSL+6//\
8EAfIPpgTbhsfyhFYNbnmf6kFbykCCPuZ4cgUSDml4TzLEhfc7uzCU/x3hbyDCDguBS/\
7hntAoM1ZMXbtbdx7AwggIeMIIBuzCCAbcwggFdoAMCAQICFAep6a/8hKR/\
Xf8D7fMOi6OQH5W4MAoGCCqGSM49BAMCMDAxDTALBgNVBAoMBElFVEYxDTALBgNVBAsM\
BFJBVFMxEDAOBgNVBAMMB0FLIFAyNTYwIBcNMjUwMTE3MTcxNDI4WhgPMjA1MjA2MDQx\
NzE0MjhaMDAxDTALBgNVBAoMBElFVEYxDTALBgNVBAsMBFJBVFMxEDAOBgNVBAMMB0FL\
IFAyNTYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARCJUj4j7eC/\
7Xso3REUscqHlWPvW9zvl5I6TIyzEXFsWxM0QxMuNW4oXE56UiCyJklcpk0JfQUGat+\
kKQqSUJyo1MwUTAdBgNVHQ4EFgQUW3CnmBf3n/\
Y30vfj3ERsIQnXu9QwHwYDVR0jBBgwFoAUW3CnmBf3n/\
Y30vfj3ERsIQnXu9QwDwYDVR0TAQH/BAUwAwEB/\
zAKBggqhkjOPQQDAgNIADBFAiEAkH8Erj/\
TLNoEfJIvokEEDVmhH5f7UQHdrrCyQWEhJegCICRsy/1Vqjo3qg/WrHospwcB2PaHYy+\
FnH79mznqO7jVMBMGByqGSM49AgEGCCqGSM49AwEHBEgwRgIhAOQWrySDZn5zNF7il+\
VjzxY55Bq5vc0B+Yhy/dsQHnedAiEA0GxuEFQpJkDuoYcyMKOZrwk2dgy/yAI6iih0+\
                                                              cX8W6g=
]]></artwork>
    </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:
H4sIAAAAAAAAA+y92XbbWJYo+I6vQCvWuilnkDTnwbdclZRE24ywJFuSp8jI
DoEgKMEiCQYBSpYjotb9iH7pt/6W/pT7Jb2nMwGgLDvsrKpepZUZlkjgDPvs
s+ehWq16WZzNo0f+6DqeRssw8kfLMJnGywt/lqz9Z8F6ehOsI/80CjfrOLv1
D5PpZh6lXjCZrKPrre+dHqbeNAmXwQLGnq6DWVaNo2xWXQdZWl1dxR+qV9Ft
NciyKM2CLE6W1XrL88Igiy6S9e0jP82mXpgs02iZbtJHfrbeRF66mSziNIWH
s9sVDDsenT3xvHi1pu/TrFmvD+pND5YbPPJ31Ip3vJtkfXWxTjYr+PRkeHa6
48Hc8OH0kef7VX+8zKL1MsqqB7hM+gifol9e/Dh+S7/Ahjze3yN/A/voex4s
fDn9JZgnS1jLLYBkFeOA61kYTdPsdi6f+n6WhNav8RLglakP0mSdraNZqv++
XTh/Zus41A+HyWIB7+pv4+U8Xpppog9ZdR6nWRUGmSRzeKya/PV7+AYOYhGs
VrR4vY5f5tF1hA+1vetouYlw7QIl2T5D+Q1AD4/1KX4Hny6CeP7Ix3P8G55o
LVlfwKfBOrx85F9m2Sp99PDhNIBDXQfhVbSuqYce3lw8xLceBpNkkz3E2eLs
cjOBQzGYAc/k8GIHHpwH+Cc8qMa3X6jxMLU4yb/68D54V7vMFvMdzws22WWy
ZoxgrD2MryL/eLNMAVWyS/jC92Ebj/z99e0qi0P/SbKGQfzTZJbhFaEH1K1w
n6GvQsDFR/5pnGw++M+T5AqAwJ8nm2WGKL8fLINpQJ9FDOQFrOBviVpBLQw8
a3k/RMGy+iKO1nA7n8RplOVWmLSHgNphrbgu+IY+BOSKIgBro9OpD/3nwQrG
gvEif3gdWUs+zrLgJqj4x8ssWMfJ1kXD9YBl/dj4ye+dNe1tvF/9LeR5gxqg
sL2JZ8FyGaX+WRpeJrNoGV+YTbxaxtfROkWak8z84Wo1j6OpfxrGSG1Sfy9Z
Lqsnl1G8rJ7G0YWzy2fVvZNTd51Po/UiWN7ay+K5a2buv10sPtSAEDgLjJZX
/l68vrpM5h/N4p6sg80SX1v7p+Mze9RLeKE2kRf4hgAdy4LQGfYQaZj/Bo4N
VuWuFPad4UYzRHra+iICIuAixg2/+TcA52oD5ItuoTX+EY6wiG20RTI39/eT
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
PBQTyCZVMiEcJUY6eXF5wVLidlUeDNdApVoDScpylNptvSO4+Ae1iHAHmyeb
KfUXwKZPgu5YOvTs+SlvGcQeLounWe4G7c1cWuYmmoBciNX7QLN4oessGTEt
WXuiqSfctsbCKBqeRVqsrjCnAmxWbT+ECq/IViYks5HG4nFwvVzHEdiFLtkh
hRFUntB1nEjjAxkzCUGHKKZV3nCWp06NKiQIl3Syp/spOg7X+xqXyNvUdAOO
dkOppSyvomm6KnOJymlNWOEbwWdLkv0GpsI8b1OIw0lP/ZxCgoSRJNhy7Wgc
UExPNC1XkSNNbs1wE3CX2NXwed2xC8VF6mqD5gg6EIuUkzIc873VKUoscLh7
I6FAhuFenot4KTZhTtJdsoirmT/ZufJkQ6VJSuM4axK+whFIT9OpAqaddOOm
CSuFN7BEb+Z9KjPOCtnnnmVWqVE7pVAS2BbEU81dlfxGuI1VuY3At9X11Tik
5FUSujGpQ6x3ZVtWtaG5en0JalB7pT+0vUEvkuUQlFyrIAdFDj/aWkGQb50y
XCiVQbKRleKNMuQSbYWWhEF9aItnP7TO3sVzi6qX4DXLi3b6sFUhwLK+UNFu
y/JiW0K2tI7iQuKA+4RyIEatl2xmFV0YbS6COdreYtUckVaJIh5I91mSOW4i
OEm6vlKwRKQhMf3XcluKdVa8XVkdbamEyFiudbGhetmO+VGTtFxSJfMmqrcj
hWHhLGN0TCBpmAahc8xam+bC3E/sRk4uw+SeTtT4QJmdy3CiNNld19tg0wFw
HOfmWkZCVozueYtcRDJ02SULG11DnZsjLiVL3EJS7I6lqJfqmG3qzsJrphef
SvfOLkHx5Qrbq/sUpT0Z7R8fHo6ODkYHjvWJCgTI5eCVzNbBIrpJ1lf5hsRa
Lc8lAFsbl5a11unbvJu4rMFlh8SbN+GBXIvNgMQHyuQO3doa2nSWg7nVlsLu
mIm1s1Ep1NKItXTufVZct1P2DvFd9Z80GjqWPBPyLOW+uF6M6RedO2yp7xWv
dQc/8yhSklS6L5FOQf4MwTeU0eOUe7lSBYHArV5cWD3cZBvWLGq4wHbFAnWP
JMIn5SaoKRAPsoSRRZk8Cg49SLjqSIGpptROYe2/GlcUrKUy7k5JDSIsub2W
N8zuCeXl5QjnFPnfvU0sxum2DIZ9uJc0pEawLKWssfS0i6AsotrixyUQUizO
pY3/UrL+v4wQ4tbR3iaGwCIKjXu/UCLhalPJrAr/e5FgcadUeMorvPpcwu0N
DZreLhZ4DqG5T6RZuNW61oExS+5Sva5YLj+Z+wXt47Wq7I4d7EyhbFPH4ZYI
Z7zUJVm0mUC3tkPwMb2OrVIuIfX683dWalsrs63dF8mLBzuqJIjD4Ek8Udb8
korlOWSBgYq8HqgPVX5YumCu5Nhtzn2LpjZ1/tosRX1kFbm0iuGV6KWW3IXA
ZJI/thwGGUo+wVwZ0AJaPB6XuAvx/Y1qFsG4S5yQt6ZrvyWG59rtlIvVILe5
8djW5pqfQmXICUUeQps0OUw8xNsbFDPiNRXhNSvSoiQuBtiDqmWr16W8HEg7
VGde7ahHfoLyWBKiX2ksnf/Y22l1gV0HIUqJaAMTq0Oer0lrA6dAniZQrGgq
e1u4BiSsqlmleSxrrFyc0NLhTWdZrrRKJQaRCFMu4Y7ktWseEXPdXVZLAb1A
RJts+Mqt0RJIQr+oxVgDk3Vc2AfIsGxhIDMt4HeKFUzpafLTZ1xqQ5ZMSsCH
zKfjX80TWJL12E0UXFH1GFWoXcNRG+CxgnoEo0zzLThuLhMi3EJRXYGgjE1S
e2pkTBbTJak8TjObYEbT/HGlBBq614ZjiagBLy4IkWQL1Ix5SzGxIvt8Nb4H
4yUneHoLK1sAM7RGwDahyIBArqBO7yda3rjTwKa6i5ha7/ntWuX5cqhZ0Qed
8wMr8nznzPAk2WxUZ1iXo4s/EWkd9iSZm+ei9Zqbq7IElargFLbQCAnaSbW/
Xku+O2JwRvq/DLmX9SabK8+qZe8Qb/4fNZ+K95r2yUSY77Si5AtCfrodA7DP
M5VWyzyAZD9LTb1MFybzFt16Y5sdIgFjaTERWQs5UYDmKfJBEK6gUhNe4X7S
jH9PlWBGlwxI+xT4C8fTqUZzwj04OiZOplj5F53WOFuF4ifYjEbXVxxGFQ95
ruWxz6i0FdyTTZQqhwC37sF3tYdEeaRoJwhE6nbCS5vfqqWIKszVa9APZG0u
zcXnqKJgsEW8S2jlYwJN3BJWHl4m7HTapBua5IqdaTNECQ+/wFQrZGMrvIJr
5SxgY+gyykhnUjpBQKybtQpMn4PtASkkZBdVsuYPlwwrJXtTRVvqaoymvakg
Ms6a4qTEe8joe4ltm1VRZwDO0ZN9DFaYkvz1hkuemdzsXN2vQNmLdamqiut9
n0TocqQ+w0x5Laja1kddZU1Vtdbij2oEZy3CqifItcRjdpwQ80/RPAB6jbo/
26u2O1XfaSfIbylKwHba6KAqdJovDePhMrupZ1rvRJoJWkWT8zWWI2kcoXv6
bom9yNvjlJGqgJy6y/U2sFCNK9Z1KO1D/EDam1ytVv0J8HQKwiTsofYeOmA0
12BwiwnKoU4gsl1m2Sp99PDhBSDxZlIDivIwjrJZFaZPqzcXDzE61NJEiPKs
7C7HJlQ3ZZRWB/eII4a/Vsmrq/iDpT8+8rAg1GNQdIpfqNJGj5tesaLR41MR
FI9n+GiujNGjXJmix41as9aqDQaDWr1Wd0okDVX1/sKQZlD9jHxuSv7nBm/o
4aXi0GP9KhW4Ue9zJaHH9Ua9WW/V2/WO533mJhrfchMNGf4TmzDVjh6joavR
bHl/YsrmveCWJPPHZ+tN9Gdman3m5g6p9MBwb//PTNr+zElb8M7gs9Gi+S3R
onk/3LY20exOe93OtF9tBLNptT2dTapBc1CvhrN+tzedRuEsaHw5UJv3O0nC
mSfBPP0TSNO8343ga/2zV//QqncGrXqjVe/We82g3233w6g1hevegE/61ifw
UL1Xb7Wb9Xq93W42O+3+rN+fTXo/e/3mbDbpRGHQ6rXb7U4zhJEaUacD3067
s15rEnWidj8atJqtZhi2O2Fn0uiG7XDaqMN/J/1pZ9LfkkcSNHqN1iAatPv9
ZtgfDJqdXnMwgFV0Zu1GuzEIJr1oUA/azaA9aDd7zf/qiNgeBINugAkbrUFQ
bc+mzeokChvVRqvR7QSDQbfZCP85iPjniNd/4+G98bDf738rVo9Dfy6HpDBX
rojk4Y9V2TK3GrcW3yNVKG7/EpSGwsKtAnEyK8hT1oePz/ZOi89o0epaIS4X
kzmiGMLHnUa9U28MWq1uv4NgHzT7jXqr22l3WogCvWa/V+91Oo1uvdPoD3TV
Ur2jxyXl/jRMtA2IgNlvgyzTaHXaIncosGJYcLDAQEYQkz7AcupyaVgBXT8+
gm/1mOvpUgHm8cnBkfpdf49WVjLNHLCxfwMaSzR1hvD9oX3Sw+XUPUqELGJA
s9aptWuNuvU5owCsMoSbM2h3Ou1299vN3Ngyc6fZbuAJfbOZW+UTd+GiTpr1
TrPTajc8z1yLeAoX8vFr+UUPCprzHgUSPkZjiZlrk4X4weMmoB5QBaAL9dZP
nvXWECMZcy+xUjnnF2ENQNTa+lWFlmzC+G+M+c+NMWlJkc3HZZU3SyjJXfTm
EwRHP7aV4BRWBoy11egNOs1un+hit9vsNYBhdvvAbAd94J69RhvYbqPXb3fa
zUFj0APe2mp1+r3GoN6v9xudZn/Q+tnr1oGmNpsNYLr9+qDbagJjadV7PeC+
wK4brW4LaTDQX/gT+H+vC0S52281QGkc1OswZaMFowCF7rfag0YdP++0gEvC
Jeh12912B7k6jA7MtdXoA+3u1QetQR9lHiDjdXgGFjTowlggKtS7QMrbHYBN
rzXowOZglTBzC9CkD9vpweyweJix0e43m7iIBkzU63R7vRb8C4IGiAoDYBlN
XDpsFx4HxtFv4z/dXrPRgMnhMVgTMo9OF0DYA2CgvNGCcdv9FtyEfr0N0O32
Wn3Azk4LQAHr67YHMHkTpJYBPtOEXYKMMIA9NxutfncALwMUAUptYFIw/AD+
C2JLr9du9eqNTg9Os9eABXdh041ep98EYDTaCE54ut+A4xrgAvDXVgcZXbfb
ane7AF44IzgbYHtNGBKkkma72e7VuyCo9Ntw9PAoAKfX7iJCwfkBZBtNOPhm
B7bWhGvdBGh0ugCXbheQgU6h3aSjQT5abyHedHFXA1gOYA6M2O7AlN0OPAjH
BNuFx4EBA/g+mRIOYEKkgan7MEOvCcDuDRodPJAu/NJv9wGMSt9SndmSZfp4
pH/Vt0Z/ZO4RvLAcH9DVbsLlaesvQrhdaDoUJct+/rW69XDl+3AROoNOVI9m
je5g1gknk2m7FwHgZ2HUHPTDsAui6qBx7yW0Op+zBLgKcEG/wTIag+IySMov
XwVJ2o3ZTBG+Yr3ku8jZ/aSnbbTMSGg/e4CoPfgBHAXMbQD2AU2CPwDlGnXE
9lYfgNFsE6UDWa8BSE6koAf8GZ6Eu0kXvl2Hp0BqhwsEmAoIP8D3gA7C7QNy
CDSvDxSt3uzBLQIs78B17MFo3V4HTV9A9PoduKptuOTwVbvfA8yvw80F+gOj
AA7jo712v9NAYgS3d9Dowt3rd+FSA5tH+tKGxTZwLSC2Ao2BGwBDNLpdvOuo
5LRBw2h1YBmNBlKNfhdGBuKDqAA3GE4DNtODIQAb+kB8AFWRnAMRhHV3gEC3
4VW4uR28tt0+0NZmG4gxEiN4Anh3E0AFVBp2DTPAroClI9mAq1YH4LXgv3AA
cB/7rT7QHmAGXQAwbBteBNoIFAiuPHAPIG9AgYDswmIB+gMkYXCTe0AD4WvY
E1ACICNA7fodoO9AaYGEIJSBycAGkCjDqPUm0qt6pw0QhAe7fYALUD04gy6O
CryljeQPfm0R+4Jhu0CGAASwFlhYB8SnHtAfOA3YPNDkHpAsoGIAXaBScHbA
evq9NpAWZHODOg3ZhT3Dq3DUcMUAL4AJAiVtIIEE/tIC0t5HPoYs7xMk7JM/
AKhBk7D5c+7N3beGJTPrzpycDk9Ph7+8OD39hT5VZPEySC8/85aCwt7lCWGe
BuiObdLh+blFkF49jZZ//uL31f0O5tnzaHmRXYI0LOrgOojn0fpJHM2nj0Xa
cquuk50AFO3ZtDmpz/qd9jQI2hHcsNkUrkSnE05bkwEQBVDwJ716CNe6Fc4C
vNUzOHbAivpg2mhHP3thdxJN4epPADN73bDfDsNmiDe0ORkEcKmnnRB0/UYj
DAadGeByYwqyynQAGn8vnHSjaQtEw589uHw9+HJSbzVn7cmsMavP2o0gbNaD
aAD3OegH7ZAkqyACAagJRAHuANyzHvL6+hQuSDP82ZsAVk4bwaQV4I0YNKNZ
OGvCgqdTuISTbjNqT2cosTXajX53NojgLoVhqx3OYLR+CAQoRIrSmMLNnUT1
QTsIALMDWHZ3Ci91p83mdBI0QHJBNg10qB52m1O43ACbdmMKAkoUTAJg3g24
Oe3eLISjmk1RwAuA3jQbUzTKwJ0BAgj7bIcgMjRnUTSZzWYhfNoL+60IZZJu
1Jg0ZmEAzB+uaqszGURwLgGQje6siTSoP4OziRohbAQFqKADjCwMJyAY9aZh
FEVwBJ3WLIRNdSbhNiuM+QFxCOh+BLL5bDYBFJi060E9nJIwCyfUnU7D3qT+
n8JIAbIdkLgGrhfACDSsDxS8AbSpD4IhyGdAQtvAKgYoawFw/qyNAkgcqTS1
5n8bIv5zqpU9USvhQsH9635NUwSINV9qiuBX/9sU8V8LZ/6ZxgiiLM2tlogS
M/1dlgnQdoFnd0HCBLGzjRp9H6R1EM+BNnY6IAgioWyC1o/KYRO+B84OIiQw
1G4D5NsucBYQX9EQAcokDDIgaRwkyV4dySmIcSiWd1BKhhEHoMnX0YkN+gHQ
3ybIjKA7dFDz/iJhr4V6ATIb0EI6jXYd9P//MH21A9JO0AMu3Jv1BrNZt9Wb
Nmc9OIQQrkjYBFVj2kPd8Rvrq199Gf/R+mqBkzpaKWgngAOgJQH6oWrSQRUL
dE5QREE9RKEJtEdQZUBoRFUP9KtGEwSVLiiXjX4dhL8uyJCk49RR7QAdDfRA
0LXgnx4KA+gMA8UEta0miExwu/qgubS6bdRbu120kMHng27vPugLmi/MA9pT
g0xc3UG71ceb1kNLX7fbBxnla+gqDoW4H3UoEfFBZQOyAAhTj0BmDWagCbZg
w1EPZNhOFAFAo04XRHuQZwfwRDAZTKbhFI5+AFpoczadTuB46o2o1xtMeZxp
vRuChFpHIyco//UoCkAAA1JaDwDwwayOSmq3Hk5mIarQILo3QT77U0rgbBB2
ZmFnEvTRiXYwOvH3gjTqth95h+PxOP24vz+8SPeHL8c3Fxfj0eH+6OlenBxc
NsPh8GD49nDv1dO9W/p7bzgcjvbfDz8cHoxvDj8O64cHr25+9l4P3z398eL4
2U83w73DUXIzunj3jP8e7Q1f3jw7fXJ09PxsdAtvHO5dhL8O29Pl8OUIZnz2
8GfvcO+lGf/l4eH+q8b1T09fp+PRk/2XH4cvrTdGB8NXH5+/H22Oz/b30gs9
6z6MMn66PNzvm5Euhoc/HIybPx2EzaM3L9vPz55c/rR4mR09PVm8ixuXh++v
bp6/OVocH7xr/fT0ZP6u+dMljHJmr3B8AHMOD5++s0Ydjd583PvpcO8QPvv1
6elhewCfPd3fl99vRs9+9ob18XBvNJ6fvohfZO3nD7Po9v10dHL64TaJXr/7
fjBpHX//s/f26v3q8P3zw5PwzYfJ6OPJwei23ZjEl+HZcnU6fj5enL6+XZy9
nA/2Xv70a6v7crW/+uHlEs5oMtbnA3O9399bfRxeW6seHuy/rB+/GXWOFk/e
/3TamB9+nF8+PztZ/HQwzt4tXr8/PK1/OPw4AriMOsdn725h328Obw6G+tT2
YR97cDQf9xbWuHt7T9KbN2fDM/zs8ur98Qv87OJCfj/c27s52h8OT/Z/ePW+
/b4X7cMIvbdp0joZvUrDX5/N37y4fjP4eD3vjLtn49uPo7dP0jcfDusvPxxu
jt60k7ejTvdVvH/7w9U8XF3Vf5i9fPU0yABSVz++/PX01Q+3h3twvqew8yUc
7t67myfDd09gxU+jISBta+8yXJ6spk/n15MYMHQ8fpoc7O/vPUsAq4+eIIaM
D16eAa7Hi4vhzRjOcvzqzZvN7e3g5GmwfnOAE3Wv2j+lN+8WL3vhy/rNwct3
P/yY/DS+vA6PABOe770c3jz/ODo6HKZPh41Xo/2Lm9Hpq9evTt5bn/3s3dyM
Xl09efXq4+jF4bBOnw5vbp6+fJVevJof7R3uD98enI0bhwejD0cfR63Ds8Ob
w0by7uDj+OboDP7/Hu7Vz95ZCGc0/Pjm/fD6ENayf/Pu4PXLlz8eDE9+OHl9
8tT67Dl8dvry9cnZ4cs+rhk/OzgY/rR3+rN3u3f6qj4CCIxiXMv+KeDpeNI6
eIk389Vw2B7vHdwM8fsfhwnA5OX+DcAhuvjpZTfaLH748dfW5ezH2eigPR09
zJ63n4w76ftfk2U2GO69HsOTjaenv97GjcmTvYv05P1h/ezZfD6eHk5+XPyQ
vblZ/vim/8P3neOLo6P+bffth+v+D4tDwIp3neuXWXMep/XZr28XT/uvzj7W
X5+9mc6Hb98uLl+l3fnp8OB6GIyj9snr9X7606D3vPXTy7P17bse7D6c7LWv
fvYuXx21nq7qtxffA4s7ffsxeXJ2Fnz/6un45Pmo233/rNMIgs7rt5vB4HJ5
3TiOn/Wzl+v307i/eNbdPIVlxOGv7bebcXT05vBJq3nz7Nfx8fGL65fhm9et
w85B8/rDD6P3vXrzx033anD88u3VMGn0fj05HSXLN2/az7Lnk2wBIO4/ixo/
HL0IHy5b09evFgCU2WH3KDl4+yJ5/qL3vtN5Ovj4I9CK7Onwzdv/r7graVIW
CaL3/hXf3YOIinqYQxUFylIqyCJGX9g3AYFGll8/BU731zMxW8Qc5uBBzDSr
kqyXSRjvCZIFwZgQEyTdJ/oAVQynCvFQqJgQXsS9cffRk3+8v+3cZqfOOGp+
kqxhn7apBgIYHo3DBXN7BMzwm/WX7fvbT+vzZE0igGDLQY1g+Qtv/1AHbPuq
A4K02eBqwtmKjOMH9qqTs/P9XWkBdNca5b7oF5lXobPLki0OWXtrWkkWm+0u
enYZ76HKOLqMUh+l/EAF5ge+dfpaJ/esNGkzoBLZWjpJIKYswTQ7Oknb6/sb
WhZKGVwNifVneM/rl2izgPrVJXWmDFhkHtF+ti5jtqzRDsrzkL8GK7uYQWF1
USLDjBleJWsRTxB33m6BLNRbFXMkXRc4g21uYlQYnKkuHk8F3JzeNYPnQhIs
JvfpXqG8i++dSoHbnbykJMVAK6m5StGmvKqyJbn4XPqLy9ku6K640NKwvQhe
IQu53GxYZ6mwm5zksuCcWFqJgoHoXRjjR+OJ29CBspy0qGLvNdWDWR5uR9M2
TWMKs/Xvc58AvwDTSRYt4SYAU0cQCLB4ne7v6CNAQXh/g0D6mFMVWhnHMmX2
wY5/GOSJLFPR47REBwUNTHgIWuV2UnJVq22SHprPaO/gCBqW2ZiT1oUQGO16
pfaPK32PqFy+uY+A1PIZWDlP3yvQ7+RtgKh9LUjMFZZx2pJbFfFVrF/uikfx
g7sEyiJL64/eUcuhYAVRfg590C4tz7EaLTD2ob7fjzjicQPSznCZCN7W6Chg
z1i9zELmSjtmaFIxzXAcpvgEhF1MwxR1kFqcy+ahROJYqsg4U30sgZvgpS0P
gWghEeOLPGPm5NMtBwLh/Ag1J6qDPuKto5NnAZPyTp+y7Lm5rdxQv6DsvtIG
mYsCd9MMrD7vlpHTIxaFDbyMHSrKP0CBFzd8dT4cr9uMaCj4pFvAZpyMHJe8
570C4HFCYnngPxh7vo0klThfgy3aBPgUMyflsDZXGBRfswAkHhiBDmlAHk8i
JFEgd+cNzvp2rSZQD3kRGjzuyHhzel3FBBZ4WeBBf9Qs0qvcI070Fmtjt3C7
IxJWZhSecQIW5EVjpHTvb6SXUDiJ7H8T868ivr99xvw/+3yxwK2uAW/CL2XF
8aGim0s2z2CwHI+StaSeQbLk1FpQcoLvZMQcO6FKJWSZLV+Af7BGL2ttxEMI
9PZz2gHSz10qCIRHMkpBHsQcSA9brkqIjSYfCy4QhWeRkmnUyKLDOtjoysGr
KrZXTC4S/ZAVWLXu5wujTIplGc7N6lDUj9aF9Nk+WD3ZKJ8fNrtsyMvTJjH+
bpaEXNiqoRCBk2JW/QXd8vVw5DfxnXyJkQydtV7Dcv10KTizon7u1coh971x
xdS+azheeYgpagrL7bF0ulVtSnthP++BwMRxRM3+609L7nVrMuEvn+rowE3z
or373ov5U/+puFf8ok5M7KGRTf5JS/vw7Yw8W/vf/kx+lDCNqy99MxVol8lv
pEyEVdE8/pSHPDIhJ7kxz59UA0ci7Kdu2Xcu26d01Pf4E2V9VKSbuK6TDPMP
OxvVBUduzlucP0a9Ejv18xe56A/cuK9VZnZ8n0RR43pU1TL937jEE2tsooXZ
efpD9IPgBxj12Ws//5IiqPxn7LcTv21M4l+7o5HBpkX23a8m5zEVYRN7o5gr
8foVZP3jx2B1AQA=

-->

</rfc>
