<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.21 (Ruby 3.0.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY SELF "RFCthis">
]>

<?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 ipr="trust200902" docName="draft-ietf-rats-pkix-key-attestation-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="PKIX Evidence for Remote Attestation of HSMs">PKIX Evidence for Remote Attestation of Hardware Security Modules</title>

    <author initials="M." surname="Ounsworth" fullname="Mike Ounsworth">
      <organization abbrev="Entrust">Entrust Limited</organization>
      <address>
        <postal>
          <street>2500 Solandt Road - Suite 100</street>
          <city>Ottawa, Ontario</city>
          <code>K2K 3G5</code>
          <country>Canada</country>
        </postal>
        <email>mike.ounsworth@entrust.com</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></organization>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>montywiseman32@gmail.com</email>
      </address>
    </author>
    <author initials="N." surname="Smith" fullname="Ned Smith">
      <organization>Intel Corporation</organization>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>ned.smith@intel.com</email>
      </address>
    </author>

    <date year="2025" month="July" day="07"/>

    <area>Security</area>
    <workgroup>RATS</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 130?>

<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
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 title="About This Document" removeInRFC="true">
      <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 143?>

<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="sec-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 (RATS <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>

<t><list style="symbols">
  <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>
  <t>The claims within the Evidence are about internal entities such as "platforms" and "keys" which are not
necessarily distinct from the Attesting Environment. Therefore, although the concept
of "measurement" is present within the PKIX environment, it is not always clear that one attesting environment
is measuring another distinct target environment the way it is envisioned in the RATS Architecture.
Therefore, the emphasis and structure of this specifications is adjusted accordingly.
Specifically, this specification assumes that the Attesting Environment and the Target Environment,
as outlined in <xref target="RFC9334"/>, are the same. This might not be the case for all devices encountered, but is
sufficient for the proposed specification.</t>
</list></t>

<t>This specification also aims at providing an extensible framework to encode within 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 application keys are protected in with a certain set of protection 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 proof 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 attestation of any system-level keys required for secure establishment
of cluster communication. In this scenario, the Verifier and Relying Party will be the 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 a way to do this 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 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>, <xref target="codesigningbrsv3.8"></xref>, 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 such as TPM-like devices, storage properties such as "extractable" may always be true for all keys
since the devices are not capable of key export and so the attestation could be essentially a hard-coded template asserting these
immutable attributes. However, more complex HSM devices require a more complex key attestation format that encompasses the
mutability of these attributes.
Also, the client requesting the key attestation might wish to scope-down the content of the key attestation as
the HSM contains many keys and only a certain subset are relevant for attesting a given transaction, or only
certain claims are relevant.
Lack of ability to scope-down the key attestation contents could, in some scenarios, constitute a privacy violation.
This motivates the design choice for a key attestation request mechanism.
The same objective could have been accomplished via a selective disclosure mechanism. However, since a request
is necessary to transmit the attestation nonce to the HSM, a standardized request format fits the use case better
and is generally simpler.</t>

</section>
</section>
<section anchor="sec-terminology"><name>Terminology</name>

<t>This specification uses a necessary mixture of RATS and PKI terminology
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, verifier.</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>Attestation Service (AttS):</dt>
  <dd>
    <t>A logical module within the HSM that is responsible for generating Evidence compatible with the
format outlined in this specification. It collects claims from the platform and uses the Attestation
Key to digitally sign the collection.</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>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
the Attestation Key.</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 application keys found within an HSM. In
general, the claims includes enough information about an application 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>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 attributes 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 HSM, in this case the Attester, and the Verifier. The
Presenter initiates the operation of generating evidence at the HSM and
passes the generated evidence to the Verifier. This role is supported by a combination of
one or multiple human operators or automated processes.</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. It can be a non-root certificate when
it is a certificate.</t>
  </dd>
  <dt>Usage Protocol</dt>
  <dd>
    <t>A (security) protocol that requires demonstrating possession of
the private component of the application key.</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 is "application key", "client key" or "operational key".
The access and operations on a user key is controlled by the HSM.</t>
  </dd>
</dl>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

<section anchor="sec-ak-chain"><name>Attestation Key Certificate Chain</name>

<t>The data format in this specification represents PKIX 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 will usually be 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 network.</t>

<t>The AK certificate that signs the evidence <bcp14>MUST</bcp14> have the Extended Key Usage
<spanx style="verb">id-kp-attest</spanx> defined in [TODO-submit-2-pager-to-lamps].</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 PKIX Evidence format is composed of two main sections:</t>

<t><list style="symbols">
  <t>A claim description section which describes the information transmitted as Evidence.</t>
  <t>A signature section where one or more digital signatures are offered to prove the origin of the
claims and maintain their integrity.</t>
</list></t>

<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 organized into a set of entities to help with the organization and comprehension
of the information. Entities are elements observed in the Target Environment by the Attester.
Each entity, in turn, is associated with a set of attributes.</t>

<t>Therefore, the Claim description section is a set of entities and each entity is composed
of a set of attributes.</t>

<section anchor="entity"><name>Entity</name>

<t>An entity is composed of a type, the entity type, and a set of attributes. The entity type
describes the class of the entity while its attributes defines its state.</t>

<t>An entity <bcp14>SHOULD</bcp14> be reported only 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> be relating to different elements.
For example, if a given application public key appears in two different entities, these
<bcp14>MUST</bcp14> be interpreted as two distinct and independent entities that happen to have the
same public key, and <bcp14>MUST NOT</bcp14> be interpreted as adding additional attributes to the
already-described entity.
This restriction is to ease the implementation of Verifiers for the provided Evidence.</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 the demands of the Presenter.</t>

<t>In particular, note that the nonce attribute 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 key attestation object generated at manufacture time and injected
statically into the device and act as a kind of certificate, instead of
being generated on-demand. This model would essentially
off-board the Target Environment to be part of the manufacturing infrastructure.</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>

<t><list style="symbols">
  <t>Platform : This entity holds attributes relating to the state of the platform, or device,
where the Attester is located. Entities of this type hold attributes that are global
in nature within the Target Environment.</t>
  <t>Key : The entities of this type represent a cryptographic key protected within the
Target Environment and hold attributes relating to that key.</t>
  <t>Transaction : This entity is logical in nature since it is associated with attributes
that are not found in the Target Environment. The attributes found in this entity relate
to the current request for Evidence such as a nonce to support freshness.</t>
</list></t>

<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 Identifier (OID) for identifying both entity types
and the attribute types that they contain, this format is inherently extensible;
implementers of Attesters <bcp14>MAY</bcp14> define new custom or proprietary entity types and
place them alongside the standardized entities, or define new attribute types
and place them inside standardized entities.</t>

<t>Verifiers <bcp14>SHOULD</bcp14> ignore and skip over
unrecognized entity or attribute types and continue processing normally.
In other words, if a given Evidence would have been acceptable without the
unrecognized entity or attribute, then it <bcp14>SHOULD</bcp14> still be acceptable.
In PKI terminology, all custom entities and attributes not defined in this document
<bcp14>SHOULD</bcp14> be considered non-critical unless a further specification indicates differently.</t>

</section>
<section anchor="attribute-and-attribute-type"><name>Attribute and Attribute Type</name>

<t>Each attribute found in an entity is composed of the attribute type and value.
Each attribute describes a portion of the state of the associated entity. For example,
a platform entity could have an attribute which indicates the firmware version currently running.
Another example is a key entity with an attribute that reports whether the key is extractable
or not.</t>

<t>A value provided by an attribute is to be interpreted within the context
of its entity and in relation to the attribute type.</t>

<t>It is <bcp14>RECOMMENDED</bcp14> that an attribute type be defined for a specific entity type, to reduce
confusion when it comes to interpretation of the value. In other words, an attribute 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 attribute 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 attribute type.</t>

<t>This specification defines a limited set of attribute types. However, the list is extensible
through the IANA registration process or private OID allocation, enabling implementers to
report additional attributes not covered by this specification.</t>

<t>The number of attributes reported within an entity, and their respective type, is
left to the implementer. For a simple device, the reported list of attributes for an entity
might be fixed. However, larger and more complex devices, the list of reported attributes
should be tailored to the demands of the Presenter.</t>

<t>Some attributes <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" attribute. Therefore, the associated attribute
<bcp14>MUST NOT</bcp14> be repeated as it may lead to confusion. However, an attribute relating to
a "loaded module" <bcp14>MAY</bcp14> be repeated, each attribute describing a different loaded module.
Therefore, the definition of an attribute specifies whether or not multiple copies of that
attribute are allowed.</t>

<t>If a Verifier encounters, within a single entity, multiple copies of an attribute specified as
"Multiple Allowed: No", it <bcp14>MUST</bcp14> reject the evidence as malformed.</t>

<t>If a Verifier encounters, within the context of an entity, a repeated attribute for a type where
multiple attributes are allowed, it <bcp14>MUST</bcp14> treat each one as an independent attribute and <bcp14>MUST NOT</bcp14>
consider later ones to overwrite or extend the previous one.</t>

</section>
</section>
<section anchor="sec-data-model"><name>Data Model</name>

<t>This section describes the data model associated with PKIX 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 are:</t>

<figure><sourcecode type="asn.1"><![CDATA[
PkixEvidence ::= SEQUENCE {
    tbs                           TbsPkixEvidence,
    signatures                    SEQUENCE SIZE (0..MAX) of SignatureBlock,
    intermediateCertificates  [0] IMPLICIT SEQUENCE of Certificate OPTIONAL
                                  -- As defined in RFC 5280
}

TbsPkixEvidence ::= 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></figure>

<t>A PkixEvidence message is composed of a protected section known as the To-Be-Signed (TBS) section where the evidence
reported by the HSM 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 SignatureBlock 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.
This design also does not prevent against stripping attacks where an attacker removes a signature without leaving evidence
in the message that an additional signature had been there or signature re-ordering attacks.
Again, this is left up to Verifier and its policy to enforce the expected number of algorithms or signatures.
Consequently, Verifiers <bcp14>MUST NOT</bcp14> make any inferences about the lack of a signature. For example, enumerating
counter-signatures on an Evidence <bcp14>MUST NOT</bcp14> be considered to be a complete list of HSMs in a given cluster.
Similarly, the presence and order of counter-signatures <bcp14>MUST NOT</bcp14> be taken as proof of the path that the evidence traversed
over the network.</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, <spanx style="verb">TbsPkixEvidence.version</spanx> <bcp14>MUST</bcp14> be <spanx style="verb">1</spanx>.
This envelope format is not extensible; future specifications which make compatibility-breaking changes <bcp14>MUST</bcp14> increment the version number.</t>

<t>A <spanx style="verb">SignatureBlock</spanx> is included for each signature submitted against the TBS section. The SignatureBlock 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 <spanx style="verb">SignerIdentifier</spanx> (sid).
The signer identifier includes a combination of X.509 certificate, Subject Public Key Identifier (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><spanx style="verb">SignatureBlock.certChain</spanx> <bcp14>MUST</bcp14> contain at least one X.509 certificate as per <xref target="RFC5280"/>.
While there might exist Target Environments which use out-of-band or non-X.509 mechanisms for communicating
the AK public key to the Verifier, these mechanisms are insufficient to comply with this specification.</t>

<t>The optional certificates provided in <spanx style="verb">PkixEvidence.intermediateCertificates</spanx> enables the insertion
of X.509 certificates to support trusting the signatures. This information is intended to provide
the certificates required by the Verifier to verified the endorsement on the certificates included
with the signatures.</t>

<t>As described in the <xref target="sec-info-model"/> section, the <spanx style="verb">TbsPkixEvidence</spanx> is a set 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>

<figure><sourcecode type="asn.1"><![CDATA[
ReportedEntity ::= SEQUENCE {
    entityType         OBJECT IDENTIFIER,
    reportedAttributes SEQUENCE SIZE (1..MAX) OF ReportedAttribute
}

id-pkix-attest                    OBJECT IDENTIFIER ::= { 1 2 3 999 }
id-pkix-attest-entity-type        OBJECT IDENTIFIER ::= { id-pkix-attest 0 }
id-pkix-attest-entity-transaction OBJECT IDENTIFIER ::= { id-pkix-attest-entity-type 0 }
id-pkix-attest-entity-platform    OBJECT IDENTIFIER ::= { id-pkix-attest-entity-type 1 }
id-pkix-attest-entity-key         OBJECT IDENTIFIER ::= { id-pkix-attest-entity-type 2 }
]]></sourcecode></figure>

<t>In turn, entities are composed of attributes. Each attribute is composed of a type and a value.
The attribute types are represented by object identifiers (OIDs). The
following ASN.1 definition defines the structures associated with attributes:</t>

<figure><sourcecode type="asn.1"><![CDATA[
ReportedAttribute ::= SEQUENCE {
    attributeType      OBJECT IDENTIFIER,
    value              OPTIONAL AttributeValue
}

AttributeValue :== 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></figure>

<t>The attributes associated with an entity are dependent on the type of entity. Therefore, it is encouraged
to define attribute types grouped with their respective entity type.</t>

<t>The type of an attribute value is dictated by the attribute type. When an attribute 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 attributes.</t>

<section anchor="platform-entity"><name>Platform Entity</name>

<t>A platform entity is associated with the type identifier <spanx style="verb">id-pkix-attest-entity-platform</spanx>. It is composed
of a set of attributes that are global to the Target Environment.</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 <spanx style="verb">id-pkix-attest-entity-platform</spanx>, it <bcp14>MUST</bcp14>
reject the Evidence as malformed.</t>

<t>The following table lists the attributes for a platform entity (platform attributes) defined
within this specification. In cases where the attribute is borrowed from another specification,
the "Reference" column refers to the specification where the semantics
for the attribute value can be found.
Attributes defined in this specification have further details below.</t>

<texttable>
      <ttcol align='left'>Attribute</ttcol>
      <ttcol align='left'>AttributeValue</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <ttcol align='left'>Multiple?</ttcol>
      <ttcol align='left'>OID</ttcol>
      <c>vendor</c>
      <c>utf8String</c>
      <c>&SELF;</c>
      <c>No</c>
      <c>id-pkix-evidence-attribute-platform-vendor</c>
      <c>oemid</c>
      <c>bytes</c>
      <c><xref target="RFC9711"/></c>
      <c>No</c>
      <c>id-pkix-evidence-attribute-platform-oemid</c>
      <c>hwmodel</c>
      <c>utf8String</c>
      <c><xref target="RFC9711"/></c>
      <c>No</c>
      <c>id-pkix-evidence-attribute-platform-model</c>
      <c>hwserial</c>
      <c>utf8String</c>
      <c>&SELF;</c>
      <c>No</c>
      <c>id-pkix-evidence-attribute-platform-hwserial</c>
      <c>swversion</c>
      <c>utf8String</c>
      <c><xref target="RFC9711"/></c>
      <c>No</c>
      <c>id-pkix-evidence-attribute-platform-swversion</c>
      <c>dbgstat</c>
      <c>int</c>
      <c><xref target="RFC9711"/></c>
      <c>No</c>
      <c>id-pkix-evidence-attribute-platform-debugstat</c>
      <c>uptime</c>
      <c>int</c>
      <c><xref target="RFC9711"/></c>
      <c>No</c>
      <c>id-pkix-evidence-attribute-platform-uptime</c>
      <c>bootcount</c>
      <c>int</c>
      <c><xref target="RFC9711"/></c>
      <c>No</c>
      <c>id-pkix-evidence-attribute-platform-bootcount</c>
      <c>usermods</c>
      <c>utf8String</c>
      <c>&SELF;</c>
      <c>Yes</c>
      <c>id-pkix-evidence-attribute-platform-usermods</c>
      <c>fipsboot</c>
      <c>bool</c>
      <c><xref target="FIPS.140-3"/></c>
      <c>No</c>
      <c>id-pkix-evidence-attribute-platform-fipsboot</c>
      <c>fipsver</c>
      <c>utf8String</c>
      <c><xref target="FIPS.140-3"/></c>
      <c>No</c>
      <c>id-pkix-evidence-attribute-platform-fipsver</c>
      <c>fipslevel</c>
      <c>int</c>
      <c><xref target="FIPS.140-3"/></c>
      <c>No</c>
      <c>id-pkix-evidence-attribute-platform-fipslevel</c>
      <c>envid</c>
      <c>utf8String</c>
      <c>&SELF;</c>
      <c>Yes</c>
      <c>id-pkix-evidence-attribute-platform-envid</c>
      <c>envdesc</c>
      <c>utf8String</c>
      <c>&SELF;</c>
      <c>Yes</c>
      <c>id-pkix-evidence-attribute-platform-envdesc</c>
</texttable>

<t>TODO: find the actual reference for "FIPS Mode" -- FIPS 140-3 does not define it (at least not the 11 page useless version of 140-3 that I found).</t>

<t>Each attribute 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.</t>

</section>
<section anchor="oemid-hwmodel-swversion-dbgstat-uptime-bootcount"><name>oemid, hwmodel, swversion, dbgstat, uptime, bootcount</name>

<t>These attributes are defined in <xref target="RFC9711"/> 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="RFC9711"/>, the definition offered in the latter shall prevail.</t>

<t>The attribute "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 attribute "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>EDNOTE: JPF: "hwmodel" in EAT is not human readable. We have "vendor" that duplicates in human readable for "oemid".
Should we duplicate "hwmodel" in a human readable form? Should we define it here for ourselves?</t>

<t>The attribute "swversion" differentiates between the various revisions of a firmware offered for the HSM. This
is a string that is expected to be human readable.</t>

<t>EDNOTE: JPF: In EAT, "swversion" requires "swname". Should we add "swname" or disassociate from the EAT definition?</t>

<t>The attribute "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 attribute "uptime" reports the number of seconds that have elapsed since the HSM was last booted.</t>

<t>The attribute "bootcount" reported 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="usermods"><name>usermods</name>

<t>Most HSMs have some concept of trusted execution environment where user software modules can be loaded inside the HSM to run with some level of privileged access to the application keys. This attribute lists user modules currently loaded onto the HSM in a human readable format, preferably JSON.</t>

<t>EDNOTE: JPF if JSON, why have multiple attributes.</t>

</section>
<section anchor="fipsboot-fipsver-and-fipslevel"><name>fipsboot, fipsver and fipslevel</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 attribute <spanx style="verb">fipsboot</spanx> indicates whether the device is currently operating in FIPS mode. When the attribute 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 attribute is "false", then the HSM is not
restricted to the behavior limited by compliance.</t>

<t>The UTF8String attribute <spanx style="verb">fipsver</spanx> 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 attribute <spanx style="verb">fipslevel</spanx> indicates the compliance level to which the device is currently operating and <bcp14>MUST</bcp14> only be 1, 2, 3, or 4. The <spanx style="verb">fipslevel</spanx> attribute has no meaning if <spanx style="verb">fipsboot</spanx> is absent or <spanx style="verb">false</spanx>.</t>

<t>The FIPS status information in PKIX 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 anchor="envid"><name>envid</name>

<t>An identifier for an environment to which the attested keys belong. These will be in a vendor-chosen format, but are constrained to ASCII as URIs, UUID, and similar types of identifiers are envisioned.</t>

<t>There <bcp14>MAY</bcp14> be multiple envid attributes if the attested keys simultaneously belong to multiple environments.</t>

<t>Note that by including envid as a platform attribute, this implies that it applies to all attested key entities. If the HSM needs to attest multiple keys across multiple disjoint environments, then multiple PkixEvidences are required. This naturally enforces privacy constraints of only attesting a single environment at a time.</t>

<t>EDNOTE: JPF I do not understand this sub-section</t>

<t>If an envid request attribute contains a value, this means that the Presenter is requesting that only keys belonging to the given environment be included in the returned attestation.</t>

</section>
<section anchor="envdesc"><name>envdesc</name>

<t>Further description of the environment beyond hwvendor, hwmodel, hwserial, swversion; for example if there is a need to describe multiple logical partitions within the same device. Contents could be a human-readable description or other identifiers.</t>

</section>
</section>
<section anchor="key-entity"><name>Key Entity</name>

<t>A key entity is associated with the type <spanx style="verb">id-pkix-attest-entity-key</spanx>. Each instance of a
key entity represents a different cryptographic key found in the Target Environment. There can
be multiple key entities found in a claim description, but each reported key entity <bcp14>MUST</bcp14>
describe a different cryptographic key.</t>

<t>A key entity is composed of a set of attributes relating to the cryptographic key. At
minimum, a key entity <bcp14>MUST</bcp14> report the attribute "identifier" to uniquely identify this cryptographic
key from any others found in the same Target Environment.</t>

<t>A Verifier that encounters a claim description with multiple key entities referring to the
same cryptographic key <bcp14>MUST</bcp14> reject the Evidence.</t>

<t>The following table lists the attributes for a key entity defined
within this specification. The "Reference" column refers to the specification where the semantics
for the attribute value can be found.</t>

<texttable>
      <ttcol align='left'>Attribute</ttcol>
      <ttcol align='left'>AttributeValue</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <ttcol align='left'>Multiple?</ttcol>
      <ttcol align='left'>OID</ttcol>
      <c>identifier</c>
      <c>utf8String</c>
      <c>&SELF;</c>
      <c>Yes</c>
      <c>id-pkix-evidence-attribute-key-identifier</c>
      <c>spki</c>
      <c>bytes</c>
      <c>&SELF;</c>
      <c>No</c>
      <c>id-pkix-evidence-attribute-key-spki</c>
      <c>purpose</c>
      <c>bytes</c>
      <c><xref target="PKCS11"></xref></c>
      <c>No</c>
      <c>id-pkix-evidence-attribute-key-purpose</c>
      <c>extractable</c>
      <c>bool</c>
      <c><xref target="PKCS11"></xref></c>
      <c>No</c>
      <c>id-pkix-evidence-attribute-key-extractable</c>
      <c>sensitive</c>
      <c>bool</c>
      <c><xref target="PKCS11"></xref></c>
      <c>No</c>
      <c>id-pkix-evidence-attribute-key-sensitive</c>
      <c>never-extractable</c>
      <c>bool</c>
      <c><xref target="PKCS11"></xref></c>
      <c>No</c>
      <c>id-pkix-evidence-attribute-key-never-extractable</c>
      <c>local</c>
      <c>bool</c>
      <c><xref target="PKCS11"></xref></c>
      <c>No</c>
      <c>id-pkix-evidence-attribute-key-local</c>
      <c>expiry</c>
      <c>time</c>
      <c>&SELF;</c>
      <c>No</c>
      <c>id-pkix-evidence-attribute-key-expiry</c>
      <c>protection</c>
      <c>bytes</c>
      <c>&SELF;</c>
      <c>No</c>
      <c>id-pkix-evidence-attribute-key-protection</c>
</texttable>

<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 PKIX 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 attribute <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 attribute contains the DER-encoded field SubjectPublicKeyInfo (see <xref target="RFC5280"/>) associated with the cryptographic
key.</t>

</section>
<section anchor="purpose-extractable-sensitive-never-extractable-local"><name>purpose, extractable, sensitive, never-extractable, local</name>

<t>These attributes are defined in <xref target="PKCS11"></xref> 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"></xref>, the definition offered in the latter shall prevail.</t>

<t>The attribute "purpose" defines the intended usage for the key.</t>

<t>EDNOTE: JPF: I do not see "purpose" as part of PKCS#11</t>

<t>The attribute "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 attribute "sensitive" indicates that the key cannot leave the HSM in plaintext. Corresponds directly to the attribute CKA_SENSITIVE
found in PKCS#11.</t>

<t>The attribute "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 attribute "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>

</section>
<section anchor="protection"><name>protection</name>

<t>Indicates any additional key protection properties around use or modification of this key. These are generalized properties and will not apply the same way to all HSM vendors. Consult vendor documentation for the in-context meaning of these flags.</t>

<t>TODO: define a bit-indexed byte array</t>

<t>BIT MASK / Boolean Array {DualControl (0), CardControl (1), PasswordControl (2), ...}</t>

<t>We may need to say that the first X are reserved for use by future RFCs that update this specification, and beyond that is private use.</t>

</section>
</section>
<section anchor="transaction-entity"><name>Transaction Entity</name>

<t>A transaction entity is associated with the type <spanx style="verb">id-pkix-attest-entity-transaction</spanx>. This is
a logical entity and does not relate to an element found in the Target Environment. Instead, it
groups together attributes that relate to the request of generating the Evidence.</t>

<t>For example, it is possible to include a "nonce" as part of the request to produce Evidence. This
nonce is repeated as part of the Evidence, within the portion protected for integrity, to prove
the freshness of the claims. This "nonce" is not related to any element in the Target Environment
and the transaction entity is used to gather those values into attributes.</t>

<t>A transaction entity, if provided, <bcp14>MUST</bcp14> be included only once within the reported entities. If a
Verifier encounters multiple entities of type <spanx style="verb">id-pkix-attest-entity-transaction</spanx>, it <bcp14>MUST</bcp14>
reject the Evidence.</t>

<t>The following table lists the attributes for a transaction entity defined
within this specification. The "Reference" column refers to the specification where the semantics
for the attribute value can be found.</t>

<t>A default and vendor-agnostic set of transaction entity attributes is defined in this section.</t>

<t>These attribute types <bcp14>MAY</bcp14> be contained within a transaction entity; i.e. an entity identified by <spanx style="verb">id-pkix-attest-entity-transaction</spanx>.</t>

<texttable>
      <ttcol align='left'>Attribute</ttcol>
      <ttcol align='left'>AttributeValue</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <ttcol align='left'>Multiple?</ttcol>
      <ttcol align='left'>OID</ttcol>
      <c>nonce</c>
      <c>bytes</c>
      <c><xref target="RFC9711"/></c>
      <c>Yes</c>
      <c>id-pkix-evidence-attribute-transaction-nonce</c>
      <c>timestamp</c>
      <c>time</c>
      <c><xref target="RFC9711"/></c>
      <c>No</c>
      <c>id-pkix-evidence-attribute-transaction-timestamp</c>
</texttable>

<section anchor="nonce"><name>nonce</name>

<t>The attribute "nonce" is used to provide "freshness" quality as to the claims provided in the PkixEvidence message. A Presenter requesting a PkixEvidence message <bcp14>MAY</bcp14> provide a nonce value as part of the request. This nonce value, if provided, <bcp14>SHOULD</bcp14> be repeated as an attribute within the transaction entity.</t>

<t>This is similar to the attribute "eat_nonce" as defined in <xref target="RFC9711"/>. According to this specification, this attribute may be specified multiple times with
different values. In that case, all different values shall be repeated in the PKIXEvidence.</t>

</section>
<section anchor="timestamp"><name>timestamp</name>

<t>The time at which the PKIX Evidence was generated, according to the internal system clock of the Attester. This is similar to the
"iat" claim in <xref target="RFC9711"/>.</t>

<t>EDNOTE: JPF: Does the following paragraph belong to Security Considerations?</t>

<t>Note that it is common for HSMs to not have an accurate system clock; consider an HSM for a root CA kept offline and booted up infrequently in an local network segregated from all other network, or a smart card which boots up only when held against an NFC reader.
Implementers of emitters <bcp14>SHOULD</bcp14> include this attribute only if the device reliably knows its own time (for example has had recent contact with an NTP server).
Implementers of parsers <bcp14>SHOULD</bcp14> be wary of trusting the contents of this attribute. A challenge-response protocol that makes use of the nonce attribute is a far more reliable way of establishing freshness.</t>

</section>
</section>
<section anchor="sec-additional-attr-types"><name>Additional Entity and Attribute Types</name>

<t>It is expected that HSM vendors will register additional Entity and Attribute types by assigning OIDs from their own proprietary OID arcs to hold data describing additional proprietary key properties.</t>

<t>An Attester (HSM) which is requested to provide information about unrecognized Entity or Attribute types <bcp14>MUST</bcp14> fail the operation.</t>

<t>A Verifier which encounters an unrecognized Entity or Attribute type <bcp14>MAY</bcp14> ignore it.</t>

</section>
<section anchor="encoding"><name>Encoding</name>

<t>A PkixEvidence is to be DER encoded <xref target="X.690"></xref>.</t>

<t>If a textual representation is required, then the DER encoding <bcp14>MAY</bcp14> be subsequently encoded into Base64.</t>

<t>EDNOTE: I think we have to be precise about which flavour of Base64 we are referring to.</t>

</section>
</section>
<section anchor="signing-procedure"><name>Signing Procedure</name>

<t>The <spanx style="verb">SignatureBlock.signatureValue</spanx> signs over the DER-encoded to-be-signed evidence data
<spanx style="verb">PkixEvidence.tbs</spanx> and <bcp14>MUST</bcp14> be validated with the subject public key of the leaf
X.509 certificate contained in the <spanx style="verb">SignatureBlock.certChain</spanx>.</t>

</section>
<section anchor="sec-verif-proc"><name>Verification Procedure</name>

<t>The <spanx style="verb">SignatureBlock.signatureValue</spanx> signs over the DER-encoded to-be-signed evidence data
<spanx style="verb">PkixEvidence.tbs</spanx> and <bcp14>MUST</bcp14> be validated with the subject public key of the leaf
X.509 certificate contained in the <spanx style="verb">SignatureBlock.certChain</spanx>.</t>

<t>Note that a PkixEvidence <bcp14>MAY</bcp14> contain zero or more SignatureBlocks.
A PkixEvidence with zero SignatureBlocks is unsigned, <bcp14>MUST</bcp14> be treated as un-protected and un-trusted,
and any signature validation procedure <bcp14>MUST</bcp14> fail.</t>

<t>More than one SignatureBlocks <bcp14>MAY</bcp14> be used to convey a number of different semantics.
For example, the HSM's Attesting Service might hold multiple Attestation Keys on different cryptographic
algorithms in order to provide algorithm redundancy in the case that one algorithm becomes cryptographically broken. 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 PkixEvidence 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, or between 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 {#sec-detached-sigs} for further discussion.</t>

</section>
<section anchor="sec-profiles"><name>Appraisal Policies and Profiles</name>

<t>This section provides some sample profiles of appraisal policies that verifiers
<bcp14>MAY</bcp14> apply when evaluating evidence. These appraisal policy profiles represent environment-specific requirements
on the contents of the evidence and / or endorsement certificate chain.</t>

<section anchor="key-import-into-an-hsm"><name>Key Import into an HSM</name>

<t>An HSM which is compliant with this draft <bcp14>SHOULD</bcp14> validate any PKIX evidence that is provided
along with the key being imported.</t>

<t>The SignatureBlocks <bcp14>MUST</bcp14> be validated and <bcp14>MUST</bcp14> chain to a trust anchor known to the HSM. In most cases this will
be the same trust anchor that endorsed the HSM's own AK, but the HSM <bcp14>MAY</bcp14> be configured with set of third-party trust anchors from which it will accept key attestations.</t>

<t>If the HSM is operating in FIPS Mode, then it <bcp14>MUST</bcp14> only import keys from HSMs also operating in FIPS Mode.</t>

<t>The claims <spanx style="verb">key-purpose</spanx>, <spanx style="verb">key-extractable</spanx>, <spanx style="verb">key-never-extractable</spanx>, and <spanx style="verb">key-local</spanx> <bcp14>MUST</bcp14> be checked and honoured during key import, which typically means that after import, the key <bcp14>MUST NOT</bcp14> claim a stronger protection property than it had within the previous HSM. In other words, Key Attestation allows and requires that key protection properties be preserved over export / import operations between different HSMs, and this format provides a vendor-agnostic
way to achieve this.</t>

<t>How to handle errors is outside the scope of this specification and is left to implementors; for example the
key import <bcp14>MAY</bcp14> be aborted, or a prompt <bcp14>MAY</bcp14> be given to the user administrator, or any similar reasonable error handling logic may be used.</t>

</section>
<section anchor="cabrowser-forum-code-signing"><name>CA/Browser Forum Code-Signing</name>

<t>TODO: ... intro text</t>

<t>The subscriber <bcp14>MUST</bcp14>:</t>

<t><list style="symbols">
  <t>Provide the CA with a CSR containing the subscriber key.</t>
  <t>Provide PKIX evidence, as per this specification, describing the private key protection properties of the subscriber's private key. This evidence <bcp14>MAY</bcp14> be transported inside the CSR as per draft-ietf-lamps-csr-attest, or it <bcp14>MAY</bcp14> be transported adjacent to the CSR over any other certificate enrollment mechanism.</t>
</list></t>

<t>The CA / RA / RP / Verifier <bcp14>MUST</bcp14>:</t>

<t><list style="symbols">
  <t>Ensure that the subscriber key which is the subject of the CSR is also described by a KAT by matching either the key fingerprint or full SubjectPublicKeyInfo.</t>
  <t>The hardware root-of-trust described by a PAT has a valid and active FIPS certificate according to the NIST CMVP database.</t>
  <t>The attestation key (AK) which has signed the PKIX evidence chains to a root certificate that A) belongs to the hardware vendor described in the PAT token, and B) is trusted by the CA / RA / RP / Verifier to endorse hardware from this vendor, for example through a CA's partner program or through a network operator's device on-boarding process.</t>
  <t>The key is protected by a module running in FIPS mode. The parsing logic is to start at the leaf KAT token that matches the key in the CSR and parsing towards the root PAT ensuring that there is at least one <spanx style="verb">fipsboot=true</spanx> and no <spanx style="verb">fipsboot=false</spanx> on that path.</t>
</list></t>

</section>
</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 PKIX 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 attestation message endorsed by the vendor might be installed
during manufacturing. Other approaches for constrained HSMs might be to report entities and attributes 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
attestation messages 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 an attestation message.</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 an
attestation message. Since HSMs are generally servers (client/server relationship) or slaves (master/slave relationship), a Presenter is
required to launch the process of creating the attestation message and capturing its results. The results are then forwarded to the Verifier.</t>

<figure title="Architecture" anchor="fig-arch"><artset><artwork  type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="464" width="392" viewBox="0 0 392 464" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
<path d="M 8,32 L 8,336" fill="none" stroke="black"/>
<path d="M 48,416 L 48,448" 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,80 L 184,160" fill="none" stroke="black"/>
<path d="M 184,416 L 184,448" 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 280,416 L 280,448" fill="none" stroke="black"/>
<path d="M 384,416 L 384,448" fill="none" stroke="black"/>
<path d="M 8,32 L 248,32" fill="none" stroke="black"/>
<path d="M 64,80 L 184,80" fill="none" stroke="black"/>
<path d="M 64,160 L 184,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 280,416 L 384,416" fill="none" stroke="black"/>
<path d="M 192,432 L 272,432" fill="none" stroke="black"/>
<path d="M 48,448 L 184,448" fill="none" stroke="black"/>
<path d="M 280,448 L 384,448" fill="none" stroke="black"/>
<polygon class="arrowhead" points="280,432 268,426.4 268,437.6 " fill="black" transform="rotate(0,272,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="120" y="132">(Entities,&amp;</text>
<text x="128" y="148">attributes)</text>
<text x="168" y="196">Collect</text>
<text x="164" y="212">Claims</text>
<text x="112" y="260">Attesting</text>
<text x="120" y="276">Environment</text>
<text x="56" y="372">Attestation</text>
<text x="180" y="372">PKIX</text>
<text x="40" y="388">Request</text>
<text x="196" y="388">Evidence</text>
<text x="120" y="436">Presenter</text>
<text x="332" y="436">Verifier</text>
</g>
</svg>
</artwork><artwork  type="ascii-art"><![CDATA[
+-----------------------------+
|  Attester (HSM)             |
|                             |
|      +--------------+       |
|      | Target       |       |
|      | Environment  |       |
|      | (Entities,&  |       |
|      |  attributes) |       |
|      +-------+------+       |
|              |              |
|              | Collect      |
|              | Claims       |
|              v              |
|      +------------------+   |
|      | Attesting        |   |
|      | Environment      |   |
|      +--------+---------+   |
|            ^  |             |
|            |  |             |
+------------+--+-------------+
             |  |
 Attestation |  |   PKIX
 Request     |  |   Evidence
             |  v
     +----------------+           +------------+
     |    Presenter   |---------->|  Verifier  |
     +----------------+           +------------+
]]></artwork></artset></figure>

<t>An Attestation Request (request) is assembled by the Presenter and submitted to the HSM. The HSM parses the request and produces PKIX evidence
which is returned to the Presenter for distribution.</t>

<t>The request consists of a structure TbsPkixEvidence containing one ReportedEntity for each entity expected to be included in the evidence produced by the HSM.</t>

<t>Each instance of ReportedEntity included in the request is referred to as a request entity. A request entity contains a number of instances
of ReportedAttribute known as request attributes. The collection of request entities and request attributes represent the information desired
by the Presenter.</t>

<t>In most cases the value of a request attribute should be left unspecified by the Presenter. In the process of generating
the evidence, the values of the desired attributes are observed by the Attestation Service within the HSM and reported accordingly. For the purpose
of creating a request, the Presenter sets the values of the attributes to <spanx style="verb">null</spanx>. This is a departure from the values specified for each attribute
but serves well the purposes of the request.</t>

<t>On the other hand, there are circumstances where the value of a request attribute 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 request entity with one of its attributes set with a type
<spanx style="verb">id-pkix-evidence-attribute-key-identifier</spanx>. The value of this attribute is set to the key identifier associated with the cryptographic
key to be reported.</t>

<t>Some instances of ReportedEntity, such as those representing the platform or the transaction, do not need identifiers as the associated entities 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 TbsPkixEvidence is unsigned and does not provided 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 PkixEvidence could be reused by an
implementer to provide those capabilities, as described in <xref target="sec-cons-auth-the-presenter"/>.</t>

<section anchor="request-attributes-with-specified-values"><name>Request Attributes with Specified Values</name>

<t>This section deals with the request attributes specified in this document where a value should be provided by a Presenter. In other words, this
sub-section defines all request attributes that should not be <spanx style="verb">null</spanx>. Request attributes not covered in this sub-section should have a value
of <spanx style="verb">null</spanx>.</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 PKIX evidence. For each selected cryptographic key,
the Presenter includes a request entity of type <spanx style="verb">id-pkix-evidence-entity-key</spanx>. Among the request attributes for this entity, the
Presenter includes one attribute with the type <spanx style="verb">id-pkix-evidence-attribute-key-identifier</spanx>. The value of this attribute 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>MUST</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 PKIX 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 <spanx style="verb">id-pkix-evidence-entity-transaction</spanx>
with an attribute of type <spanx style="verb">id-pkix-evidence-attribute-transaction-nonce</spanx>. This attribute is set with the value of the
nonce as "bytes".</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 <spanx style="verb">id-pkix-evidence-entity-key</spanx> including an attribute with a set value. This attribute
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 attribute and report them in the PKIX evidence.</t>

<t>This is a departure from the base request interface, as multiple key entities are reported from a single request entity.</t>

<t>More elaborate selection schemes are envisaged where multiple request attributes specifying values would be tested against cryptographic keys.
Whether these attributes 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-attributes"><name>Custom Transaction Entity Attributes</name>

<t>The extensibility offered by the proposed request interface allows an implementer to add custom attributes 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 attribute for request entities of type <spanx style="verb">id-pkix-evidence-entity-transaction</spanx> is defined. Then, an
attribute 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 PKIX evidence.</t>

</section>
</section>
<section anchor="processing-an-attestation-request"><name>Processing an Attestation Request</name>

<t>This sub-section deals with the rules that should be considered when an Attester (the HSM) processes a request to generate an
attestation request. 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 Attester <bcp14>MUST</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 Attester.</t>

<t>An Attester <bcp14>MUST</bcp14> fail an attestation request if it contains a request attribute of an unrecognized type while specifying a value (other than
null). This represents a situation where the Presenter is selecting specific information that is not understood by the Attester.</t>

<t>An Attester <bcp14>SHOULD</bcp14> fail an attestation request if it contains a request attribute with an unrecognized type. An environment with an Attester
that ignores unrecognized attributes forces the Presenter to review the generated evidence for necessary information.</t>

<t>An Attester <bcp14>MUST NOT</bcp14> include entities and attributes in the generated attestation message if these entities and attributes were
not specified as part of the request. This is to give the Presenter the control on what information is disclosed by the Attester.</t>

<t>An Attester <bcp14>MUST</bcp14> fail an attestation request if the Presenter does not have the appropriate access rights to the entities included
in the request.</t>

</section>
<section anchor="verification-by-presenter"><name>Verification by Presenter</name>

<t>This sub-section deals with the rules that should be considered when a Presenter receives an PKIX 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 PKIX evidence and are not restricted solely 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 an attestation message if it contains information it
cannot parse. This restriction applies to entity types and attributes type. 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 an attestation message 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 evidencee if it contains an entity with an attribute
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>

<figure><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) }


PkixEvidence ::= SEQUENCE {
    tbs                           TbsPkixEvidence,
    signatures                    SEQUENCE SIZE (0..MAX) of \
                                                      SignatureBlock,
    intermediateCertificates  [0] IMPLICIT SEQUENCE of Certificate \
                                                             OPTIONAL
                                  -- As defined in RFC 5280
}

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

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

ReportedAttribute ::= SEQUENCE {
    attributeType      OBJECT IDENTIFIER,
    value              AttributeValue
}

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

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
}

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

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

id-pkix-evidence-attribute-type OBJECT IDENTIFIER ::= { id-pkix-\
                                                        evidence- 1 }

id-pkix-evidence-attribute-transaction           OBJECT IDENTIFIER :\
                             := { id-pkix-evidence-attribute-type 0 }
id-pkix-evidence-attribute-transaction-nonce     OBJECT IDENTIFIER :\
                      := { id-pkix-evidence-attribute-transaction 0 }
id-pkix-evidence-attribute-transaction-timestamp OBJECT IDENTIFIER :\
                      := { id-pkix-evidence-attribute-transaction 1 }

id-pkix-evidence-attribute-platform            OBJECT IDENTIFIER ::\
                              = { id-pkix-evidence-attribute-type 1 }
id-pkix-evidence-attribute-platform-vendor     OBJECT IDENTIFIER ::\
                          = { id-pkix-evidence-attribute-platform 0 }
id-pkix-evidence-attribute-platform-hwserial   OBJECT IDENTIFIER ::\
                          = { id-pkix-evidence-attribute-platform 1 }
id-pkix-evidence-attribute-platform-fipsboot   OBJECT IDENTIFIER ::\
                          = { id-pkix-evidence-attribute-platform 2 }
id-pkix-evidence-attribute-platform-model      OBJECT IDENTIFIER ::\
                          = { id-pkix-evidence-attribute-platform 3 }
id-pkix-evidence-attribute-platform-swversion  OBJECT IDENTIFIER ::\
                          = { id-pkix-evidence-attribute-platform 4 }
id-pkix-evidence-attribute-platform-oemid      OBJECT IDENTIFIER ::\
                          = { id-pkix-evidence-attribute-platform 5 }
id-pkix-evidence-attribute-platform-debugstat  OBJECT IDENTIFIER ::\
                          = { id-pkix-evidence-attribute-platform 6 }
id-pkix-evidence-attribute-platform-uptime     OBJECT IDENTIFIER ::\
                          = { id-pkix-evidence-attribute-platform 7 }
id-pkix-evidence-attribute-platform-bootcount  OBJECT IDENTIFIER ::\
                          = { id-pkix-evidence-attribute-platform 8 }
id-pkix-evidence-attribute-platform-usermods   OBJECT IDENTIFIER ::\
                          = { id-pkix-evidence-attribute-platform 9 }
id-pkix-evidence-attribute-platform-envid      OBJECT IDENTIFIER ::\
                         = { id-pkix-evidence-attribute-platform 10 }
id-pkix-evidence-attribute-platform-envdesc    OBJECT IDENTIFIER ::\
                         = { id-pkix-evidence-attribute-platform 11 }
id-pkix-evidence-attribute-platform-fipsver    OBJECT IDENTIFIER ::\
                         = { id-pkix-evidence-attribute-platform 12 }
id-pkix-evidence-attribute-platform-fipslevel  OBJECT IDENTIFIER ::\
                         = { id-pkix-evidence-attribute-platform 13 }



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

<CODE ENDS>

]]></sourcecode></figure>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>Please replace "&SELF;" with the RFC number assigned to this document.</t>

<t>TODO: list out all the OIDs that need IANA registration.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<section anchor="policies-relating-to-verifier-and-relying-party"><name>Policies relating to Verifier and Relying Party</name>

<t>The generation of PKIX evidence by an HSM is to provide sufficient information to
a Verifier and 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
PKIX evidence may greatly influence the outcome of some decisions.</t>

<t>A Verifier <bcp14>MAY</bcp14> reject a PKIX evidence if it lacks required attributes 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 an attribute with an unrecognized attribute type, it <bcp14>MAY</bcp14> ignore it and
treat it as extraneous information. By ignoring an attribute, the Verifier may accept PKIX 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 Attestation Service to be implemented in an extremely
privileged position within the HSM so that it can collect measurements of both the hardware
environment and the user keys being attested. For many HSM and TPM architectures, this will
place the Attestation Service inside the "HSM kernel" and potentially subject to FIPS 140-3
or Common Criteria validation and change control. For both security and compliance reasons
there is 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 a request entity, or parsing an attestation
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 Attestation Service <bcp14>SHOULD</bcp14> generate the PKIX evidence from scratch and
avoid copying any content from the request. The Attestation Service <bcp14>MUST</bcp14> generate PKIX evidence
only from attributes and values that are observed by the service.</t>

</section>
<section anchor="sec-detached-sigs"><name>Detached Signatures</name>

<t>TODO: Editorial work needed.</t>

<t>No indication within the tbs content about what or how many signatures to expect.</t>

<t>A SignatureBlock can be trivially stripped off without leaving any evidence.</t>

<t>When multiple SignatureBlocks are used for providing third-party counter-signatures, note that the counter signature only covers the tbs content and not existing SignatureBlocks.</t>

</section>
<section anchor="sec-cons-privacy"><name>Privacy</name>

<t>Often, a TPM will host cryptographic keys for both the kernel and userspace of a local operating system but a Presenter may only represents a single user or application.
Similarly, a single enterprise-grade Hardware Security Module will often host cryptographic keys for an entire multi-tenant cloud service and the Presenter or Receiver or Recipient belongs only to a single tenant. For example the HSM backing a TLS-terminating loadbalancer fronting thousands of un-related web domains.
In these cases, disclosing that two different keys reside on the same hardware, or in some cases even disclosing the existance of a given key, let alone its attributes, to an unauthorized party would constitute an egregious privacy violation.</t>

<t>Implementions <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 envirnments 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 TbsPkixEvidence of the request inside a PkixEvidence 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 a PKIX 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 attestation 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 of 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 read access.</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 ClaimDescriptionTbs of the request inside a PkixEvidence 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 easy to add a PoP Key Attribute that uses the attested user key to sign over, for example, the Transaction Entity. However, this is a bad idea and <bcp14>MUST NOT</bcp14> be added as a custom attribute for several reasons.</t>

<t>First, an application key intended, for example, for TLS <bcp14>SHOULD</bcp14> only be used with the TLS protocol and introducing a signature oracle whereby the TLS application key is used to sign PKIX evidence could lead to cross-protocol attacks whereby the attacker submits 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 PKIX evidence may have permissions to view 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 an systems administrator or auditor.</t>

<t>Requiring the Attestation Service to use the attested application keys could, in some architectures, require the Attestation Service to resolve complex access control logic and handle complex error conditions for each requested key, which violates the "simple to implement" design principle outlined in <xref target="sec-cons-simple"/>. More discussion of authenticating the Presenter can be found in <xref target="sec-cons-auth-the-presenter"/>.</t>

</section>
</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<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="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="X.680" target="https://www.itu.int/rec/T-REC-X.680">
  <front>
    <title>Information technology -- Abstract Syntax Notation One (ASN.1): Specification of basic notation</title>
    <author >
      <organization>ITU-T</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="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="2015" month="November"/>
  </front>
  <seriesInfo name="ISO/IEC" value="8825-1:2015"/>
</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. B. T." surname="Cox" fullname="Dieter Bong, Tony Cox">
      <organization>OASIS PKCS 11 TC</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="FIPS.140-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 year="n.d."/>
  </front>
  <seriesInfo name="FIPS" value="140-3"/>
</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 title='Informative References' anchor="sec-informative-references">



<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>Entrust Limited</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">
         <organization>Intel Corporation</organization>
      </author>
      <date day="25" month="May" year="2025"/>
      <abstract>
	 <t>   A PKI end entity requesting a certificate from a Certification
   Authority (CA) may wish to offer trustworthy claims about the
   platform generating the certification request and the environment
   associated with the corresponding private key, such as whether the
   private key resides on a hardware security module.

   This specification defines an attribute and an extension that allow
   for conveyance of Evidence and Attestation Results in Certificate
   Signing Requests (CSRs), such as PKCS#10 or Certificate Request
   Message Format (CRMF) payloads.  This provides an elegant and
   automatable mechanism for transporting Evidence to a Certification
   Authority.

   Including Evidence and Attestation Results along with a CSR can help
   to improve the assessment of the security posture for the private
   key, and can help the Certification Authority to assess whether it
   satisfies the requested certificate profile.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-csr-attestation-19"/>
   
</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>Intel</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="3" month="July" year="2025"/>
      <abstract>
	 <t>   The Remote Attestation Procedures architecture (RFC 9334) defines
   several types of conceptual messages, such as Evidence, Attestation
   Results, Endorsements, and Reference Values.  These messages can
   appear in different formats and be transported via various protocols.

   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.  By introducing a shared message format like
   the CMW, we can consistently support different attestation message
   types, evolve message serialization formats without breaking
   compatibility, and avoid having to redefine how messages are handled
   in each protocol.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-rats-msg-wrap-16"/>
   
</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></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="codesigningbrsv3.8" 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></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>


    </references>

</references>


<?line 1341?>

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

<figure><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></figure>

</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>

</section>


  </back>

<!-- ##markdown-source:
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
G1r88tj/k6JvPmDsPHqy14ffY5RkQSTYA7nNuOwd6c5/IGT8odN5VLFqV3yy
CtBYprozsXJRiEdmswYWZhWddmQtz4oXkDIQMqaZcsb1GvmKxVY/CR5catZI
9UnTAS7fKdjS6VE2znUw0ulNEqGZ48L5ohVapZJlOeUdpcivXV4hN9tuDQxe
S6yy7EUQzqgFOH8nIW9+P/eJXcPDSBVqcmqHutt+Rner3SkJIiQ/ZFoj7M6Z
UUlSu69alnGOJjMcHVuXwqq8PEJVqDWQY+O1EvaC3UmQmYv7h5uFLk0I3s7g
7JtzeKElRNkHWTITW3WHCOZ8zl0yESOgTGdfJ+WktAyTeCeMvMMlGVnRn29Z
riYI2VTr2dxar76UuxFZtM4K4LVFW9Dylpv53KQ7UPUnVJc3qZUVpUIO9Rbq
e6AH89BkTisGyT+az21ws5wQWCwns3JKtYziNNwsBDOtmO97HrgOat09aMfT
Tq4du27wbpKoCeO57WqXnJvp9MHJX0qr5zIXILNOAr0JVqs37+O9iyF85Jv4
lZJ7OLaQy1ybyXvlpMoGKMSEwxujX02Tjl3CVdIaIydO6PuuzZqqjpOgtRWz
W3LUfKc4lSQfGJgNnUkjyrWOw3ht7AoVfwDHkehOMRwjxpofjc5qBtEdFmlz
2oTNmFSCiZvEJUjHFwMDDm78tcobYou8KeFnyHye51hBLG52kcZkNJ9q7Qgb
JFEMjen1Tahs2kraCaGGHlhsWLIVVGsYvHTK1k8k2RhjKv7z5AbdPyqT6AYO
+tJfYfkrYpKbtWWD1WzVKnqaY69ySSX1GBVMK0/ejUdh7MmZDnaqG6O5Cbl7
GW0xZQCjrEwiKUUUo0NAyS99c+MI4ceaolEIVpbTG6dRMM/M1ShgZYYkKuuL
QhDVT1tuZjF5CnJcyPFG4XCeVaVLJyIHFPi5Awsdg8yD2IM9ioW6n+4+jU+E
aJu3LUfWZDKQpPbTIpDtyIhABKQAtGvgW1LChJj4Sq5VDz01aByyimkzdUDE
jZZTbUT5k3JiW80qPTsJAUcKLxN821gLJP5kpxKEavAnbNXNQciZ9J7qHsk0
Jhqu8uNxzydLtTYtgXPkficfS9Nyp8gWF2K9Bb84BgntPUJZ0eFWMHniNI27
Jd3x9/ISjcOexVKsCj+qAreqCkakxK2E6FicpOAWm1kxTjy+/goV5vPlg8mk
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
z4ebo7fN5N2w1T6PB9sXV/NwdVV9MXt9/ixYw05dvXz98/j8xfZwH853DCtf
wuHuv7952n//FCB+FvUBaRv7l+HydDV9Nr+exICho9Gz5GAw2H+eAFYfPUUM
GR28PgNcjxcX/ZsRnOXo/O3bzXbbO30WpG8PcKL2VfNDdvN+8boTvq7eHLx+
/+Jl8mF0eR0eASa82n/dv3n1ZXh02M+e9Wvnw8HFzXB8/ub89JP12U/ezc3w
/Orp+fmX4clhv0qf9m9unr0+zy7O50f7h4P+u4OzUe3wYPj56MuwcXh2eHNY
S94ffBndHJ3B/z/BvfrJOwvhjPpf3n7qXx8CLIOb9wdvXr9+edA/fXH65vSZ
9dkr+Gz8+s3p2eHrLsKMnx0c9D/sj3/ytvvj8+oQdmAYIyyDMeDpaNI4eI03
87zfb472D276+P3LfgJ78npwA/sQXXx43Y42ixcvf25czl7OhgfN6fDR+lXz
6aiVffo5Wa57/f03I3iy9mz88zauTZ7uX2Snnw6rZ8/n89H0cPJy8WL99mb5
8m33xQ+t44ujo+62/e7zdffF4hCw4n3r+vW6Po+z6uznd4tn3fOzL9U3Z2+n
8/67d4vL86w9H/cPrvvBKGqevkkH2Yde51Xjw+uzdPu+A6sPJ/vNq5+8y/Oj
xrNVdXvxA7C48bsvydOzs+CH82ej01fDdvvT81YtCFpv3m16vcvlde04ft5d
v04/TePu4nl78wzAiMOfm+82o+jo7eHTRv3m+c+j4+OT69fh2zeNw9ZB/frz
i+GnTrX+ctO+6h2/fnfVT2qdn0/Hw2T59m3z+frVZL2ALe4+j2ovjk7CR8vG
9M35AjZldtg+Sg7enSSvTjqfWq1nvS8vgVasn/Xfvut/qgGNuTgESvrs0/mX
/dPDfcKQ6cHF67f7++MXz97Mo4Prp6ufvF646Z3+MKw+On75/suzq5urs/5s
/+LozfPx4fDZQf/thfW0fvYnzzx9Qk/DDP1Zd7h/BrSc6W0ODwY3jAdAaRdf
wrPRyfvLN0frw2l6POlFUe/n9/2D+dnm9by2rS2m6cFJOIAlflncfNjcvHz1
YtPtXV5/XjydHqRvjsL26+zo5fJ5dfZ2ffjh83nrHM7s57f1t7Pqp1fvG5NP
sxdXA6BpweXxy+67n7yDRvL659m7Ny8H0Q+Hz56ejy87tf3zdyHg2esvhy/a
q8tnP7R+jgc/Zwe9/VePLp6+mzWD5If9UXP8+vLN27j99BRgeXG8f/h52qsd
vD/Yvk/bR8B1+5MvwdtOfJC8Gb49ra2uX/c/TLbh29l17eXofXv5/xV3Jk2q
6lAc3/spet9VVwSnXtxFQkCDoIKIYvWGeZJZmuHTv0Ttd7ur7huq3uItXIhJ
TojJOYeifv/jsb3KuAfP3ZVYeNu5cUk2A6smp2mCFuVZk82No+xLb3LYWznb
5Qd2MywP2M1lnMnNgrc5lV9kZC1zwY42UwkbiH0LIqVoXGkZ2FCW4xZV/LVm
evCaBUvatE2SiFH4+vvax8DLwf0kSya+YHA6IggwzB+n+6v3wRDj9xEEm9uY
qdDU2JbJfOW/iYVBnshSDRU7Dq1VNMyDtd+ql52aaXptkeVhxZR11zbWFZmP
hM0sx77RzqZaX5zZa8hk8sUpfLKX98DMRPZagf5NXvqIWdV4Mz/DMkpa8leF
YhUdD1fVZcTB4YA6SZP61ttaOeQ8luSPofdbznRts9F9YxUcVyvqR1xhQPoe
cjF2l0bHAOuVP5ZpMD+z9ik4MRE7FwSFEWMQdBELE9RBZrIvm0INJbpVkbFn
+mgDLthNWhECyUSSohzk1/mY/LoUgI/3RaDbYe33oWhu7Sz154lo9wnP75vL
1AmOB5Rep/ogC6HvLJqBP447LrR7xKOggQcaocLsBnJlclHO9s12uwX1htgj
0QI2NDOyHfJddHOg0AyJF4FXzK3xMtxopPPZX6KFr+yi+U5dz05TBeR/5gKQ
9FAQ6JAOZHoSIbEChatoCOaXazVx9VCUoCEqHUlvdo+rCnELooxF0G91k8Qq
Z6vEx1bRabRwui3C01MY7JUYTMiHVZDavY9ILGGUOLT+jc2/svg++rT5f8b5
fKK0Rx24d/+lTgUxUI8njs9S6HP0KJkc8+HHnKDVWM2IfycpJo2EGhOTabZi
Dv6hNXq01qk/hODYfmY7YPPrLlUEgi1JpaAIIgEk66VQxaSNLm9zwZfwR56Q
bNRIw/XMXxzVtVtVfK+ehFDyAh7zWt2PJ0YZ51wZjE/VOq+L1oHs3lqbPblR
MVsv3tIhK3eL2Pi7XBIKQasFOAQ79VT1B3TJZsNWXERXMogRD505m8Fy9uEw
8NUM+7Fbq+vMc+mMmVXXCKJaSAlqctPplc3uUrUJ6wb9uAd4HkUh8/pfXy05
5+VpHvz8VJgETpLl7dVzg4c22GfVw+9I4AOduFPVd72DJ29y86yUPFt7X8rK
UbGtqKpHT0hRA/rh3o8iE0GVN8VvmUNKOdkelSmhGsd5QYuvfooO/oJUnvCR
dftm/06nXuv8wa/dJQVfrJTK9VBgdBRlBZUlsBLviet/He8JKN5nmVrR9S7l
Ej1K3HtPbpDKxD3AKytLXiTP91/AvdwpHfCJHT9LEj5KJd7qH6M/AKjEld2X
YAEA

-->

</rfc>

