<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.1 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-csr-attestation-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.1 -->
  <front>
    <title abbrev="Remote Attestation with CSRs">Use of Remote Attestation with Certificate Signing Requests</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-csr-attestation-01"/>
    <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="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization>Siemens</organization>
      <address>
        <email>Hannes.Tschofenig@gmx.net</email>
      </address>
    </author>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization abbrev="Fraunhofer SIT">Fraunhofer SIT</organization>
      <address>
        <postal>
          <street>Rheinstrasse 75</street>
          <city>Darmstadt</city>
          <code>64295</code>
          <country>Germany</country>
        </postal>
        <email>henk.birkholz@sit.fraunhofer.de</email>
      </address>
    </author>
    <date year="2023" month="October" day="04"/>
    <keyword>PKI</keyword>
    <keyword>PKCS#10</keyword>
    <keyword>CFMF</keyword>
    <keyword>Attestation</keyword>
    <keyword>Evidence</keyword>
    <keyword>Certificate Signing Requests</keyword>
    <abstract>
      <?line 82?>

<t>A client requesting a certificate from a Certification Authority (CA) may wish to offer believable claims about the protections afforded to the corresponding private key, such as whether the private key resides on a hardware security module or the protection capabilities provided by the hardware.</t>
      <t>This document describes how to encode Evidence produced by an Attester for inclusion in Certificate Signing Requests (CSRs), and any certificates necessary for validating it.</t>
      <t>Including Evidence along with a CSR can help to improve the assessment of the security posture for the private key, and the trustworthiness properties of the submitted key to the requested certificate profile. These Evidence Claims can include information about the hardware component's manufacturer, the version of installed or running firmware, the version of software installed or running in layers above the firmware, or the presence of hardware components providing specific protection capabilities or shielded locations (e.g., to protect keys).</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://lamps-wg.github.io/csr-attestation/draft-ounsworth-csr-attestation.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-lamps-csr-attestation/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/lamps-wg/csr-attestation"/>.</t>
    </note>
  </front>
  <middle>
    <?line 91?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>When requesting a certificate from a Certification Authority (CA), a PKI end entity may wish to include Evidence of the security properties of its environments in which the private keys are stored in that request.
This Evidence can be appraised by authoritative entities, such as a Registration Authority (RA) or a CA, or associated trusted Verifiers as part of validating an incoming certificate request against given certificate policies.
This specification defines an attribute and an extension that allow for conveyance of Evidence in Certificate Signing Requests (CSRs) in either PKCS#10 <xref target="RFC2986"/> or Certificate Request Message Format (CRMF) <xref target="RFC4211"/> payloads.</t>
      <t>As outlined in the RATS Architecture <xref target="RFC9334"/>, an Attester (typically
a device) produces a signed collection of Claims that constitutes Evidence about its running environment.
While the term "attestation" is not defined in RFC 9334, it was later defined in <xref target="I-D.ietf-rats-tpm-based-network-device-attest"/>, it refers to the activity of producing and appraising remote attestation Evidence.
A Relying Party may consult an Attestation Result produced by a Verifier that has appraised the Evidence in making policy decisions about the trustworthiness of the
Target Environment being assessed via appraisal of Evidence. <xref target="architecture"/> provides the basis to illustrate in this document how the various roles
in the RATS architecture map to a certificate requester and a CA/RA.</t>
      <t>At the time of writing, several standard and several proprietary attestation technologies
are in use.
This specification thereby is intended to be as technology-agnostic as it is feasible with respect to implemented remote attestation technologies. Instead, it focuses on (1) the conveyance of Evidence via CSRs while making minimal assumptions about content or format of the transported Evidence and (2) the conveyance of sets of certificates used for validation of Evidence.
The certificates typically contain one or more certification paths
rooted in a device manufacture trust anchor and the leaf certificate being
on the device in question; the latter is the Attestation Key that signs the Evidence statement.</t>
      <t>This document specifies two ATTRIBUTE/Attribute definitions. The first
Attribute may be used to carry a set of certificates or public keys that
may be required to validate signed Evidence. The second Attribute carries a
structure that may be used to convey Evidence.</t>
      <t>A CSR may contain one or more Evidence payloads, for example Evidence
asserting the storage properties of a private key as well Evidence
asserting firmware version and other general properties
of the device, or Evidence signed using different cryptographic
algorithms.</t>
      <t>With these attributes, additional
information about whether to issue a certificate and what information
to populate into the certificate is available to an RA or CA. The scope of this document is, however,
limited to the conveyance of Evidence within CSR. The exact format of the
Evidence being conveyed is defined in various standard and proprietary
specifications.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>This document re-uses the terms defined in <xref target="RFC9334"/> related to remote
attestation. Readers of this document are assumed to be familiar with
the following terms: Evidence, Claim, Attestation Results (AR), Attester,
Verifier, Target Environment, Attesting Environment, and Relying Party (RP).</t>
      <t>The term "Certification Request" message is defined in <xref target="RFC2986"/>.
Specifications, such as <xref target="RFC7030"/>, later introduced the term
"Certificate Signing Request (CSR)" to refer to the Certification
Request message. While the term "Certification Signing Request"
would have been correct, the mistake was unnoticed. In the meanwhile
CSR is an abbreviation used beyond PKCS#10. Hence, it is equally
applicable to other protocols that use a different syntax and
even a different encoding, in particular this document also
considers Certificate Request Message Format (CRMF) <xref target="RFC4211"/>
to be "CSRs". We use the terms "CSR" and Certificate Request
message interchangeably.</t>
    </section>
    <section anchor="architecture">
      <name>Architecture</name>
      <t><xref target="fig-arch"/> shows the high-level communication pattern of the RATS
background check model where the Attester transmits the Evidence in the
CSR to the RA and the CA, which is subsequently forwarded to the Verifier.
The Verifier appraises the received Evidence and computes an Attestation
Result, which is then processed by the RA/CA prior to the certificate
issuance.</t>
      <t>In addition to the background check model the RATS architecture also
specifies the passport model and combinations. See Section 5.2 of
<xref target="RFC9334"/> for a description of the passport model. The passport model
requires the Attester to transmit Evidence to the Verifier directly in order
to obtain the Attestation Result, which is then forwarded to the Relying
Party. This specification utilizes the background model since CSRs are
often used as one-shot messages where no direct real-time interaction
between the Attester and the Verifier is possible.</t>
      <t>Note that the Verifier is a logical role that may be included in the
RA/CA product. In this case the Relying Party and Verifier collapse into a
single entity. The Verifier functionality can, however,
also be kept separate from the RA/CA functionality, such as a utility or
library provided by the device manufacturer. For example,
security concerns may require parsers of Evidence formats to be logically
or physically separated from the core CA functionality.</t>
      <figure anchor="fig-arch">
        <name>Architecture with Background Check Model.</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="272" width="536" viewBox="0 0 536 272" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,176 L 8,240" fill="none" stroke="black"/>
              <path d="M 112,176 L 112,240" fill="none" stroke="black"/>
              <path d="M 240,32 L 240,96" fill="none" stroke="black"/>
              <path d="M 240,176 L 240,240" fill="none" stroke="black"/>
              <path d="M 280,104 L 280,192" fill="none" stroke="black"/>
              <path d="M 312,96 L 312,168" fill="none" stroke="black"/>
              <path d="M 352,32 L 352,96" fill="none" stroke="black"/>
              <path d="M 368,176 L 368,240" fill="none" stroke="black"/>
              <path d="M 240,32 L 352,32" fill="none" stroke="black"/>
              <path d="M 240,96 L 352,96" fill="none" stroke="black"/>
              <path d="M 8,176 L 112,176" fill="none" stroke="black"/>
              <path d="M 240,176 L 272,176" fill="none" stroke="black"/>
              <path d="M 288,176 L 368,176" fill="none" stroke="black"/>
              <path d="M 112,192 L 232,192" fill="none" stroke="black"/>
              <path d="M 248,192 L 280,192" fill="none" stroke="black"/>
              <path d="M 8,240 L 112,240" fill="none" stroke="black"/>
              <path d="M 240,240 L 368,240" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="320,168 308,162.4 308,173.6" fill="black" transform="rotate(90,312,168)"/>
              <polygon class="arrowhead" points="288,104 276,98.4 276,109.6" fill="black" transform="rotate(270,280,104)"/>
              <polygon class="arrowhead" points="240,192 228,186.4 228,197.6" fill="black" transform="rotate(0,232,192)"/>
              <g class="text">
                <text x="392" y="52">Compare</text>
                <text x="460" y="52">Evidence</text>
                <text x="300" y="68">Verifier</text>
                <text x="392" y="68">against</text>
                <text x="388" y="84">policy</text>
                <text x="236" y="132">Evidence</text>
                <text x="368" y="132">Attestation</text>
                <text x="348" y="148">Result</text>
                <text x="408" y="196">Compare</text>
                <text x="488" y="196">Attestation</text>
                <text x="60" y="212">Attester</text>
                <text x="172" y="212">Evidence</text>
                <text x="280" y="212">Relying</text>
                <text x="404" y="212">Result</text>
                <text x="464" y="212">against</text>
                <text x="148" y="228">in</text>
                <text x="176" y="228">CSR</text>
                <text x="272" y="228">Party</text>
                <text x="328" y="228">(RA/CA)</text>
                <text x="404" y="228">policy</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
                              .-------------.
                              |             | Compare Evidence
                              |   Verifier  | against
                              |             | policy
                              '--------+----'
                                   ^   |
                          Evidence |   | Attestation
                                   |   | Result
                                   |   v
 .------------.               .----|----------.
 |            +-------------->|----'          | Compare Attestation
 |  Attester  |   Evidence    | Relying       | Result against
 |            |   in CSR      | Party (RA/CA) | policy
 '------------'               '---------------'
]]></artwork>
        </artset>
      </figure>
      <t>As discussed in RFC 9334, different security and privacy aspects need to be
considered. For example, Evidence may need to be protected against replay and
Section 10 of RFC 9334 lists approach for offering freshness. There are also
concerns about the exposure of persistent identifiers by utilizing attestation
technology, which are discussed in Section 11 of RFC 9334. Finally, the keying
material used by the Attester need to be protected against unauthorized access,
and against signing arbitrary content that originated from outside the device.
This aspect is described in Section 12 of RFC 9334. Most of these aspects are,
however, outside the scope of this specification but relevant for use with a
given attestation technology. The focus of this specification is on the
transport of Evidence from the Attester to the Relying Party via existing
CSR messages.</t>
    </section>
    <section anchor="asn1-elements">
      <name>ASN.1 Elements</name>
      <section anchor="object-identifiers">
        <name>Object Identifiers</name>
        <t>We reference <tt>id-pkix</tt> and <tt>id-aa</tt>, both defined in <xref target="RFC5912"/>.</t>
        <t>We define:</t>
        <artwork><![CDATA[
-- Arc for Evidence types
id-ata OBJECT IDENTIFIER ::= { id-pkix (TBD1) }
]]></artwork>
      </section>
      <section anchor="evidence-attribute-and-extension">
        <name>Evidence Attribute and Extension</name>
        <t>By definition, Attributes within a PKCS#10 CSR are
typed as ATTRIBUTE and within a CRMF CSR are typed as EXTENSION.
This attribute definition contains one or more
Evidence bundles of type <tt>EvidenceBundle</tt> which each contain
one or more Evidence statements of a type <tt>EvidenceStatement</tt> along with
an optional certificate chain.
This structure allows for grouping Evidence statements that share a
certificate chain.</t>
        <artwork><![CDATA[
EVIDENCE-STATEMENT ::= TYPE-IDENTIFIER

EvidenceStatementSet EVIDENCE-STATEMENT ::= {
   ... -- Empty for now --
}

EvidenceStatement ::= SEQUENCE {
   type   EVIDENCE-STATEMENT.&id({EvidenceStatementSet}),
   stmt   EVIDENCE-STATEMENT.&Type({EvidenceStatementSet}{@type})
}

id-aa-evidenceStatement OBJECT IDENTIFIER ::= { id-aa TBDAA }

-- For PKCS#10
attr-evidence ATTRIBUTE ::= {
  TYPE SEQUENCE OF EvidenceBundle
  IDENTIFIED BY id-aa-evidenceStatement
}

-- For CRMF
ext-evidence EXTENSION ::= {
  SYNTAX SEQUENCE OF EvidenceBundle
  IDENTIFIED BY id-aa-evidenceStatement
}
]]></artwork>
        <t>The Extension version is intended only for use within CRMF CSRs and <bcp14>MUST NOT</bcp14> be used within X.509 certificates due to the privacy implications of publishing Evidence about the end entity's hardware environment. See <xref target="security-considerations"/> for more discussion.</t>
        <t>The <tt>certs</tt> contains a set of certificates that
may be needed to validate the contents of an Evidence statement
contained in <tt>evidence</tt>. The set of certificates should contain
the object that contains the public key needed to directly validate the
<tt>evidence</tt>.  The remaining elements should chain that data back to
an agreed upon trust anchor used for attestation. No order is implied, it is
up to the Attester and its Verifier to agree on both the order and format
of certificates contained in <tt>certs</tt>.</t>
        <t>A CSR <bcp14>MAY</bcp14> contain one or more instances of <tt>attr-evidence</tt> or <tt>ext-evidence</tt>.
This means that the <tt>SEQUENCE OF EvidenceBundle</tt> is redundant with the
ability to carry multiple <tt>attr-evidence</tt> or <tt>ext-evidence</tt> at the CSR level;
either mechanism <bcp14>MAY</bcp14> be used for carrying multiple Evidence bundles.
We are leaving the <tt>SEQUENCE OF EvidenceBundle</tt> since it is in general
more flexible than relying on the containing structure to handle multiplicity
and allows for this structure to be re-used in the future in other PKIX
protocol contexts.</t>
      </section>
      <section anchor="certificatechoice">
        <name>CertificateChoice</name>
        <t>This is an ASN.1 CHOICE construct used to represent an encoding of a
broad variety of certificate types.</t>
        <artwork><![CDATA[
CertificateChoice ::=
   CHOICE {
      cert Certificate,
      opaqueCert    [0] IMPLICIT OCTET STRING,
      typedCert     [1] IMPLICIT TypedCert,
      typedFlatCert [2] IMPLICIT TypedFlatCert
   }
]]></artwork>
        <t>"Certificate" is a standard X.509 certificate that <bcp14>MUST</bcp14> be compliant</t>
        <t>with RFC 5280.  Enforcement of this constraint is left to the relying
parties.</t>
        <t>"opaqueCert" should be used sparingly as it requires the Verifier to implictly know its format.
It is encoded as an OCTET STRING.</t>
        <t>"TypedCert" is an ASN.1 construct that has the charateristics of a
certificate, but is not encoded as an X.509 certificate.  The
certType Field (below) indicates how to interpret the certBody field.  While
it is possible to carry any type of data in this structure, it's
intended the content field include data for at least one public key
formatted as a SubjectPublicKeyInfo (see <xref target="RFC5912"/>).</t>
        <artwork><![CDATA[
TYPED-CERT ::= TYPE-IDENTIFIER

CertType ::= TYPED-CERT.&id

TypedCert ::= SEQUENCE {
              certType     TYPED-CERT.&id({TypedCertSet}),
              content     TYPED-CERT.&Type ({TypedCertSet}{@certType})
          }

TypedCertSet TYPED-CERT ::= {
             ... -- Empty for now,
             }
]]></artwork>
        <t>"TypedFlatCert" is a certificate that does not have a valid ASN.1
encoding.
These are often compact or implicit certificates used by smart cards.
certType indicates the format of the data in the
certBody field, and ideally refers to a published specification.</t>
        <artwork><![CDATA[
TypedFlatCert ::= SEQUENCE {
    certType OBJECT IDENTIFIER,
    certBody OCTET STRING
}
]]></artwork>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to open one new registry, allocate a value
from the "SMI Security for PKIX Module Identifier" registry for the
included ASN.1 module, and allocate values from "SMI Security for
S/MIME Attributes" to identify two Attributes defined within.</t>
      <section anchor="object-identifier-allocations">
        <name>Object Identifier Allocations</name>
        <section anchor="module-registration-smi-security-for-pkix-module-identifier">
          <name>Module Registration - SMI Security for PKIX Module Identifier</name>
          <ul spacing="normal">
            <li>
              <t>Decimal: IANA Assigned - <strong>Replace TBDMOD</strong></t>
            </li>
            <li>
              <t>Description: CSR-ATTESTATION-2023 - id-mod-pkix-attest-01</t>
            </li>
            <li>
              <t>References: This Document</t>
            </li>
          </ul>
        </section>
        <section anchor="object-identifier-registrations-smi-security-for-smime-attributes">
          <name>Object Identifier Registrations - SMI Security for S/MIME Attributes</name>
          <ul spacing="normal">
            <li>
              <t>Attest Statement
              </t>
              <ul spacing="normal">
                <li>
                  <t>Decimal: IANA Assigned - Replace <strong>TBDAA</strong></t>
                </li>
                <li>
                  <t>Description: id-aa-evidenceStatement</t>
                </li>
                <li>
                  <t>References: This Document</t>
                </li>
              </ul>
            </li>
          </ul>
        </section>
        <section anchor="smi-security-for-pkix-evidence-statement-formats-registry">
          <name>"SMI Security for PKIX Evidence Statement Formats" Registry</name>
          <t>Please open up a registry for Evidence Statement Formats within
the SMI-numbers registry, allocating an assignment from id-pkix ("SMI
Security for PKIX" Registry) for the purpose.</t>
          <ul spacing="normal">
            <li>
              <t>Decimal: IANA Assigned - <strong>replace TBD1</strong></t>
            </li>
            <li>
              <t>Description: id-ata</t>
            </li>
            <li>
              <t>References: This document</t>
            </li>
            <li>
              <t>Initial contents: None</t>
            </li>
            <li>
              <t>Registration Regime: Specification Required.
Document must specify an EVIDENCE-STATEMENT definition to which this
Object Identifier shall be bound.</t>
            </li>
          </ul>
          <t>Columns:</t>
          <ul spacing="normal">
            <li>
              <t>Decimal: The subcomponent under id-ata</t>
            </li>
            <li>
              <t>Description: Begins with id-ata</t>
            </li>
            <li>
              <t>References: RFC or other document</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>A PKCS#10 or CRMF Certification Request message consists of a
distinguished name, a public key, and optionally a set of attributes,
collectively signed by the entity requesting certification.
The private key used to sign the CSR <bcp14>MUST</bcp14> be different from the
Attesting Key utilized to sign Evidence about the Target
Environment. Key separation is an important principle in cryptography
and also applies to this specification with regards to the Attestation Key
and the CSR signing key. To demonstrate that the private
key applied to sign the CSR is generated, and stored in a secure
environment that has controls to prevent theft or misuse (including
being non-exportable / non-recoverable), the Attesting Environment
has to collect claims about this secure environment (or Target
Environment, as shown in <xref target="fig-attester"/>).</t>
      <t><xref target="fig-attester"/> shows the interaction inside an Attester. The
Attesting Environment, which is provisioned with an Attestation Key,
retrieves claims about the Target Environment. The Target
Environment offers key generation, storage and usage, which it
makes available to services. The Attesting Environment collects
these claims about the Target Environment and signs them and
exports Evidence for use in remote attestation via a CSR.</t>
      <figure anchor="fig-attester">
        <name>Interaction between Attesting and Target Environment</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="576" width="328" viewBox="0 0 328 576" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,240 L 8,544" fill="none" stroke="black"/>
              <path d="M 40,80 L 40,144" fill="none" stroke="black"/>
              <path d="M 48,288 L 48,352" fill="none" stroke="black"/>
              <path d="M 96,152 L 96,280" fill="none" stroke="black"/>
              <path d="M 120,152 L 120,280" fill="none" stroke="black"/>
              <path d="M 120,448 L 120,512" fill="none" stroke="black"/>
              <path d="M 152,32 L 152,80" fill="none" stroke="black"/>
              <path d="M 168,352 L 168,440" fill="none" stroke="black"/>
              <path d="M 200,152 L 200,280" fill="none" stroke="black"/>
              <path d="M 232,448 L 232,512" fill="none" stroke="black"/>
              <path d="M 240,280 L 240,352" fill="none" stroke="black"/>
              <path d="M 264,80 L 264,144" fill="none" stroke="black"/>
              <path d="M 304,240 L 304,472" fill="none" stroke="black"/>
              <path d="M 304,488 L 304,544" fill="none" stroke="black"/>
              <path d="M 320,112 L 320,480" fill="none" stroke="black"/>
              <path d="M 40,80 L 264,80" fill="none" stroke="black"/>
              <path d="M 272,112 L 320,112" fill="none" stroke="black"/>
              <path d="M 40,144 L 264,144" fill="none" stroke="black"/>
              <path d="M 8,240 L 88,240" fill="none" stroke="black"/>
              <path d="M 128,240 L 192,240" fill="none" stroke="black"/>
              <path d="M 208,240 L 304,240" fill="none" stroke="black"/>
              <path d="M 48,288 L 240,288" fill="none" stroke="black"/>
              <path d="M 48,352 L 240,352" fill="none" stroke="black"/>
              <path d="M 120,448 L 232,448" fill="none" stroke="black"/>
              <path d="M 72,480 L 112,480" fill="none" stroke="black"/>
              <path d="M 232,480 L 320,480" fill="none" stroke="black"/>
              <path d="M 120,512 L 232,512" fill="none" stroke="black"/>
              <path d="M 8,544 L 304,544" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="280,112 268,106.4 268,117.6" fill="black" transform="rotate(180,272,112)"/>
              <polygon class="arrowhead" points="208,280 196,274.4 196,285.6" fill="black" transform="rotate(90,200,280)"/>
              <polygon class="arrowhead" points="208,152 196,146.4 196,157.6" fill="black" transform="rotate(270,200,152)"/>
              <polygon class="arrowhead" points="176,440 164,434.4 164,445.6" fill="black" transform="rotate(90,168,440)"/>
              <polygon class="arrowhead" points="160,32 148,26.4 148,37.6" fill="black" transform="rotate(270,152,32)"/>
              <polygon class="arrowhead" points="128,152 116,146.4 116,157.6" fill="black" transform="rotate(270,120,152)"/>
              <polygon class="arrowhead" points="120,480 108,474.4 108,485.6" fill="black" transform="rotate(0,112,480)"/>
              <polygon class="arrowhead" points="104,280 92,274.4 92,285.6" fill="black" transform="rotate(90,96,280)"/>
              <g class="text">
                <text x="168" y="52">CSR</text>
                <text x="204" y="52">with</text>
                <text x="188" y="68">Evidence</text>
                <text x="112" y="116">CSR</text>
                <text x="160" y="116">Library</text>
                <text x="32" y="180">Private</text>
                <text x="156" y="180">Public</text>
                <text x="248" y="180">Signature</text>
                <text x="16" y="196">Key</text>
                <text x="144" y="196">Key</text>
                <text x="248" y="196">Operation</text>
                <text x="44" y="212">Generation</text>
                <text x="156" y="212">Export</text>
                <text x="108" y="244">--</text>
                <text x="268" y="260">Attester</text>
                <text x="256" y="276">(HSM)</text>
                <text x="84" y="308">Target</text>
                <text x="160" y="308">Environment</text>
                <text x="80" y="324">(with</text>
                <text x="120" y="324">key</text>
                <text x="184" y="324">generation,</text>
                <text x="88" y="340">storage</text>
                <text x="136" y="340">and</text>
                <text x="180" y="340">usage)</text>
                <text x="128" y="388">Collect</text>
                <text x="132" y="404">Claims</text>
                <text x="56" y="468">Attestation</text>
                <text x="168" y="468">Attesting</text>
                <text x="48" y="484">Key</text>
                <text x="176" y="484">Environment</text>
                <text x="172" y="500">(Firmware)</text>
                <text x="268" y="500">Evidence</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
                   ^
                   |CSR with
                   |Evidence
     .-------------+-------------.
     |                           |
     |       CSR Library         |<-----+
     |                           |      |
     '---------------------------'      |
            |  ^         ^              |
 Private    |  | Public  | Signature    |
 Key        |  | Key     | Operation    |
 Generation |  | Export  |              |
            |  |         |              |
 .----------|--|---------|------------. |
 |          |  |         |    Attester| |
 |          v  |         v    (HSM)   | |
 |    .-----------------------.       | |
 |    | Target Environment    |       | |
 |    | (with key generation, |       | |
 |    | storage and usage)    |       | |
 |    '--------------+--------'       | |
 |                   |                | |
 |           Collect |                | |
 |            Claims |                | |
 |                   |                | |
 |                   v                | |
 |             .-------------.        | |
 |Attestation  | Attesting   |        | |
 |   Key ----->| Environment +----------+
 |             | (Firmware)  |Evidence|
 |             '-------------'        |
 |                                    |
 '------------------------------------'
]]></artwork>
        </artset>
      </figure>
      <t><xref target="fig-attester"/> places the CSR library outside the Attester, which
is an implementation choice. The CSR library may also be located
inside the trusted computing base. Regardless of the placement
of the CSR library an Attesting Environment <bcp14>MUST</bcp14> be able to collect
claims about the Target Environment such that statements about
the storage of the keying material can be made. For example, one
implementation may perform a software measurement of the CSR library
along with the crypto library implementation that has access to the
keying material. For the Verifier, the provided Evidence must allow
an assessment to be made whether the key used to sign the CSR
is stored in a secure location and cannot be exported.</t>
      <t>Evidence communicated in the attributes and structures defined
in this document are meant to be used in a CSR. It is up to
the Verifier and to the Relying Party (RA/CA) to place as much or
as little trust in this information as dictated by policies.</t>
      <t>This document defines the transport of Evidence of different formats
in a CSR. Some of these encoding formats are based on standards
while others are proprietary formats. A Verifier will need to understand
these formats for matching the received claim values against policies.</t>
      <t>Policies drive the processing of Evidence at the Verifier: the Verifier's
Appraisal Policy for Evidence will often be based on specifications by the manufacturer
of a hardware security module, a regulatory agency, or specified by an
oversight body, such as the CA Browser Forum. The Code-Signing Baseline
Requirements <xref target="CSBR"/> document is an example of such a policy that has
been published by the CA Browser Forum and specifies certain properties,
such as non-exportability, which must be enabled for storing
publicly-trusted code-signing keys. Other
policies influence the decision making at the Relying Party when
evaluating the Attestation Result. The Relying Party is ultimately
responsible for making a decision of what information in the Attestation
Result it will accept. The presence of the attributes defined in this
specification provide the Relying Party with additional assurance about
an Attester. Policies used at the Verifier and the Relying Party are
implementation dependent and out of scope for this document. Whether to
require the use of Evidence in a CSR is out-of-scope for this document.</t>
      <section anchor="freshness">
        <name>Freshness</name>
        <t>Evidence generated by an Attester generally needs to be fresh to provide
value to the Verifier since the configuration on the device may change
over time. Section 10 of <xref target="RFC9334"/> discusses different approaches for
providing freshness, including a nonce-based approach, the use of timestamps
and an epoch-based technique.  The use of nonces requires an extra message
exchange via the Relying Party and the use of timestamps requires
synchronized clocks. Epochs also require (unidirectional) communication.
None of these things are practical when interacting with Hardware Security
Modules (HSM).</t>
        <t>Additionally, the definition of "fresh" is somewhat ambiguous in the context
of CSRs, especially considering that non-automated certificate enrollments
are often asyncronous, and considering the common practice of re-using the
same CSR for multiple certificate renewals across the lifetime of a key.
"Freshness" typically implies both asserting that the data was generated
at a certain point-in-time, as well as providing non-replayability.
Certain use cases may have special properties impacting the freshness
requirements. For example, HSMs are typically designed to not allow downgrade
of private key storage properties; for example if a given key was asserted at
time T to have been generated inside the hardware boundary and to be
non-exportable, then it can be assumed that those properties of that key
will continue to hold into the future.</t>
        <t>Developers, operators, and designers of protocols, which embed
Evidence-carrying-CSRs, need to consider what notion of freshness is
appropriate and available in-context; thus the issue of freshness is
left up to the discretion of protocol designers and implementors.</t>
      </section>
      <section anchor="publishing-evidence-in-an-x509-extension">
        <name>Publishing evidence in an X.509 extension</name>
        <t>This document specifies and Extension for carrying Evidence in a CRMF Certificate Signing Request (CSR), but it is intentionally <bcp14>NOT RECOMMENDED</bcp14> for a CA to copy the ext-evidence or ext-evidenceCerts extensions into the published certificate.
The reason for this is that certificates are considered public information and the Evidence might contain detailed information about hardware and patch levels of the device on which the private key resides.
The certificate requester has consented to sharing this detailed device information with the CA but might not consent to having these details published.
These privacy considerations are beyond the scope of this document and may require additional signaling mechanisms in the CSR to prevent unintended publication of sensitive information, so we leave it as "<bcp14>NOT RECOMMENDED</bcp14>".</t>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9334"/>
          <seriesInfo name="DOI" value="10.17487/RFC9334"/>
        </reference>
        <reference anchor="RFC5912">
          <front>
            <title>New ASN.1 Modules for the Public Key Infrastructure Using X.509 (PKIX)</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>The Public Key Infrastructure using X.509 (PKIX) certificate format, and many associated formats, are expressed using ASN.1. The current ASN.1 modules conform to the 1988 version of ASN.1. This document updates those ASN.1 modules to conform to the 2002 version of ASN.1. There are no bits-on-the-wire changes to any of the formats; this is simply a change to the syntax. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5912"/>
          <seriesInfo name="DOI" value="10.17487/RFC5912"/>
        </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="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="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC7030">
          <front>
            <title>Enrollment over Secure Transport</title>
            <author fullname="M. Pritikin" initials="M." role="editor" surname="Pritikin"/>
            <author fullname="P. Yee" initials="P." role="editor" surname="Yee"/>
            <author fullname="D. Harkins" initials="D." role="editor" surname="Harkins"/>
            <date month="October" year="2013"/>
            <abstract>
              <t>This document profiles certificate enrollment for clients using Certificate Management over CMS (CMC) messages over a secure transport. This profile, called Enrollment over Secure Transport (EST), describes a simple, yet functional, certificate management protocol targeting Public Key Infrastructure (PKI) clients that need to acquire client certificates and associated Certification Authority (CA) certificates. It also supports client-generated public/private key pairs as well as key pairs generated by the CA.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7030"/>
          <seriesInfo name="DOI" value="10.17487/RFC7030"/>
        </reference>
        <reference anchor="I-D.tschofenig-rats-psa-token">
          <front>
            <title>Arm's Platform Security Architecture (PSA) Attestation Token</title>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
         </author>
            <author fullname="Simon Frost" initials="S." surname="Frost">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Mathias Brossard" initials="M." surname="Brossard">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Adrian L. Shaw" initials="A. L." surname="Shaw">
              <organization>HP Labs</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <date day="1" month="September" year="2023"/>
            <abstract>
              <t>   The Platform Security Architecture (PSA) is a family of hardware and
   firmware security specifications, as well as open-source reference
   implementations, to help device makers and chip manufacturers build
   best-practice security into products.  Devices that are PSA compliant
   are able to produce attestation tokens as described in this memo,
   which are the basis for a number of different protocols, including
   secure provisioning and network access control.  This document
   specifies the PSA attestation token structure and semantics.

   The PSA attestation token is a profiled Entity Attestation Token
   (EAT).

   This specification describes what claims are used in an attestation
   token generated by PSA compliant systems, how these claims get
   serialized to the wire, and how they are cryptographically protected.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-tschofenig-rats-psa-token-13"/>
        </reference>
        <reference anchor="TPM20" target="https://trustedcomputinggroup.org/resource/tpm-library-specification/">
          <front>
            <title>Trusted Platform Module Library Specification, Family 2.0, Level 00, Revision 01.59</title>
            <author>
              <organization>Trusted Computing Group</organization>
            </author>
            <date year="2019" month="November"/>
          </front>
        </reference>
        <reference anchor="CSBR" target="https://cabforum.org/wp-content/uploads/Baseline-Requirements-for-the-Issuance-and-Management-of-Code-Signing.v3.3.pdf">
          <front>
            <title>Baseline Requirements for Code-Signing Certificates, v.3.3</title>
            <author>
              <organization>CA/Browser Forum</organization>
            </author>
            <date year="2023" month="June"/>
          </front>
        </reference>
        <reference anchor="TCGDICE1.1" target="https://trustedcomputinggroup.org/wp-content/uploads/DICE-Attestation-Architecture-Version-1.1-Revision-17_1August2023.pdf">
          <front>
            <title>DICE Attestation Architecture, v.1.1</title>
            <author>
              <organization>Trusted Computing Group</organization>
            </author>
            <date year="2023" month="May"/>
          </front>
        </reference>
        <reference anchor="I-D.ietf-rats-tpm-based-network-device-attest">
          <front>
            <title>TPM-based Network Device Remote Integrity Verification</title>
            <author fullname="Guy Fedorkow" initials="G." surname="Fedorkow">
              <organization>Juniper Networks, Inc.</organization>
            </author>
            <author fullname="Eric Voit" initials="E." surname="Voit">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Jessica Fitzgerald-McKay" initials="J." surname="Fitzgerald-McKay">
              <organization>National Security Agency</organization>
            </author>
            <date day="22" month="March" year="2022"/>
            <abstract>
              <t>   This document describes a workflow for remote attestation of the
   integrity of firmware and software installed on network devices that
   contain Trusted Platform Modules [TPM1.2], [TPM2.0], as defined by
   the Trusted Computing Group (TCG)), or equivalent hardware
   implementations that include the protected capabilities, as provided
   by TPMs.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-tpm-based-network-device-attest-14"/>
        </reference>
      </references>
    </references>
    <?line 539?>

<section anchor="examples">
      <name>Examples</name>
      <t>This section provides two non-normative examples for embedding Evidence
in CSRs. The first example embeds Evidence produced by a TPM in the CSR.
The second example conveys an Arm Platform Security Architecture token,
which provides claims about the used hardware and software platform,
into the CSR.</t>
      <section anchor="tpm-v20-evidence-in-csr">
        <name>TPM V2.0 Evidence in CSR</name>
        <t>The following example illustrates a CSR with a signed TPM Quote based on
<xref target="TPM20"/>. The Platform Configuration Registers (PCRs) are fixed-size
registers in a TPM that record measurements of software and configuration
information and are therefore used to capture the system state. The digests
stored in these registers are then digitially signed with an attestation
key known to the hardware.</t>
        <t>Note: The information conveyed in the value field of the EvidenceStatement
structure may contain more information than the signed TPM Quote structure
defined in the TPM v2.0 specification <xref target="TPM20"/>, such as plaintext PCR values,
the up-time, the event log, etc. The detailed structure of such
payload is, however, not defined in this document and may be subject to
future standardization work in supplementary documents.</t>
        <figure anchor="fig-example-tpm">
          <name>CSR with TPM V2.0</name>
          <artwork><![CDATA[
Certification Request:
    Data:
        Version: 1 (0x0)
        Subject: CN = server.example.com
        Subject Public Key Info:
            Public Key Algorithm: id-ecPublicKey
                Public-Key: (256 bit)
                pub:
                    04:b9:7c:02:a1:1f:9c:f3:f4:c4:55:3a:d9:3e:26:
                    e8:e5:11:63:84:36:5f:93:a6:99:7d:d7:43:23:0a:
                    4f:c0:a8:40:46:7e:8d:b2:1a:38:19:ff:6a:a7:38:
                    16:06:1e:12:9f:d1:d5:58:55:e6:be:6d:bb:e1:fb:
                    f7:70:a7:5c:c9
                ASN1 OID: prime256v1
                NIST CURVE: P-256
        Attributes:
            EvidenceStatement
               type: TBD2 (identifying use of TPM V2.0)
               value:
                    80:02:00:00:01:99:00:00:00:00:00:00:01:86:00:7e
                    ff:54:43:47:80:18:00:22:00:0b:76:71:0f:61:80:95
                    8d:89:32:38:a6:cc:40:43:02:4a:da:26:d5:ea:11:71
                    99:d7:a5:59:a4:18:54:1e:7b:86:00:0d:30:2e:66:6e
                    6a:37:66:63:39:31:76:62:74:00:00:00:00:00:00:36
                    5b:bc:0b:71:4f:d8:84:90:09:01:42:82:48:a6:46:53
                    98:96:00:00:00:01:00:0b:03:0f:00:00:00:20:49:ce
                    66:9a:aa:7e:52:ff:93:0e:dd:9f:27:97:88:eb:75:cb
                    ad:53:22:e5:ad:2c:9d:44:1e:dd:65:48:6b:88:00:14
                    00:0b:01:00:15:a4:95:8a:0e:af:04:36:be:35:f7:27
                    85:bd:7f:87:46:74:18:e3:67:2f:32:f2:bf:b2:e7:af
                    a1:1b:f5:ca:1a:eb:83:8f:2f:36:71:cd:7c:18:ab:50
                    3d:e6:6e:ab:2e:78:a7:e4:6d:cf:1f:03:e6:46:74:28
                    a7:6c:d6:1e:44:3f:88:89:36:9a:a3:f0:9a:45:07:7e
                    01:5e:4c:97:7d:3f:e2:f7:15:59:96:5f:0e:9a:1c:b3
                    a0:6b:4a:77:a5:c0:e0:93:53:cb:b7:50:59:3d:23:ee
                    5c:31:00:48:6c:0b:1a:b8:04:a4:14:05:a6:63:bc:36
                    aa:7f:b9:aa:1f:19:9e:ee:49:48:08:e1:3a:d6:af:5f
                    d5:eb:96:28:bf:41:3c:89:7a:05:4b:b7:32:a2:fc:e7
                    f6:ad:c7:98:a6:98:99:f6:e9:a4:30:d4:7f:5e:b3:cb
                    d7:cc:76:90:ef:2e:cc:4f:7d:94:ab:33:8c:9d:35:5d
                    d7:57:0b:3c:87:9c:63:89:61:d9:5c:a0:b7:5c:c4:75
                    21:ae:dc:c9:7c:e3:18:a2:b3:f8:15:27:ff:a9:28:2f
                    cb:9b:17:fe:96:04:53:c4:19:0e:bf:51:0e:9d:1c:83
                    49:7e:51:64:03:a1:40:f1:72:8b:74:e3:16:79:af:f1
                    14:a8:5e:44:00:00:01:00:00
    Signature Algorithm: ecdsa-with-SHA256
    Signature Value:
        30:45:02:21:00:93:fd:81:03:75:d1:7d:ab:53:6c:a5:19:a7:
        68:3d:d6:e2:39:14:d6:9e:47:24:38:b5:76:db:18:a6:ca:c4:
        8a:02:20:36:be:3d:71:93:5d:05:c3:ac:fa:a8:f3:e5:46:db:
        57:f9:23:ee:93:47:6d:d6:d3:4f:c2:b7:cc:0d:89:71:fe
]]></artwork>
        </figure>
      </section>
      <section anchor="platform-security-architecture-attestation-token-in-csr">
        <name>Platform Security Architecture Attestation Token in CSR</name>
        <t>The example shown in <xref target="fig-example-psa"/> illustrates how the Arm
Platform Security Architecture (PSA) Attestation Token
is conveyed in a CSR. The content of the Evidence in this example is re-used
from <xref target="I-D.tschofenig-rats-psa-token"/> and contains an Entity Attestation
Token (EAT) digitally signed with an attestation private key.</t>
        <figure anchor="fig-example-psa">
          <name>CSR with embedded PSA Attestation Token</name>
          <artwork><![CDATA[
Certification Request:
    Data:
        Version: 1 (0x0)
        Subject: CN = server.example.com
        Subject Public Key Info:
            Public Key Algorithm: id-ecPublicKey
                Public-Key: (256 bit)
                pub:
                    04:b9:7c:02:a1:1f:9c:f3:f4:c4:55:3a:d9:3e:26:
                    e8:e5:11:63:84:36:5f:93:a6:99:7d:d7:43:23:0a:
                    4f:c0:a8:40:46:7e:8d:b2:1a:38:19:ff:6a:a7:38:
                    16:06:1e:12:9f:d1:d5:58:55:e6:be:6d:bb:e1:fb:
                    f7:70:a7:5c:c9
                ASN1 OID: prime256v1
                NIST CURVE: P-256
        Attributes:
            EvidenceStatement
               type: TBD1 (referring to the PSA Attestation Token)
               value: d2:84:43:a1:01:26:a0:59:01:3b:aa:19:01:09:78:
                      18:68:74:74:70:3a:2f:2f:61:72:6d:2e:63:6f:6d:
                      2f:70:73:61:2f:32:2e:30:2e:30:19:09:5a:1a:7f:
                      ff:ff:ff:19:09:5b:19:30:00:19:09:5c:58:20:00:
                      00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:
                      00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:
                      00:19:09:5d:48:00:00:00:00:00:00:00:00:19:09:
                      5e:73:31:32:33:34:35:36:37:38:39:30:31:32:33:
                      2d:31:32:33:34:35:19:09:5f:81:a2:02:58:20:03:
                      03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:
                      03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:
                      03:05:58:20:04:04:04:04:04:04:04:04:04:04:04:
                      04:04:04:04:04:04:04:04:04:04:04:04:04:04:04:
                      04:04:04:04:04:04:0a:58:20:01:01:01:01:01:01:
                      01:01:01:01:01:01:01:01:01:01:01:01:01:01:01:
                      01:01:01:01:01:01:01:01:01:01:01:19:01:00:58:
                      21:01:02:02:02:02:02:02:02:02:02:02:02:02:02:
                      02:02:02:02:02:02:02:02:02:02:02:02:02:02:02:
                      02:02:02:02:19:09:60:78:2e:68:74:74:70:73:3a:
                      2f:2f:76:65:72:61:69:73:6f:6e:2e:65:78:61:6d:
                      70:6c:65:2f:76:31:2f:63:68:61:6c:6c:65:6e:67:
                      65:2d:72:65:73:70:6f:6e:73:65:58:40:56:f5:0d:
                      13:1f:a8:39:79:ae:06:4e:76:e7:0d:c7:5c:07:0b:
                      6d:99:1a:ec:08:ad:f9:f4:1c:ab:7f:1b:7e:2c:47:
                      f6:7d:ac:a8:bb:49:e3:11:9b:7b:ae:77:ae:c6:c8:
                      91:62:71:3e:0c:c6:d0:e7:32:78:31:e6:7f:32:84:
                      1a
    Signature Algorithm: ecdsa-with-SHA256
    Signature Value:
        30:45:02:21:00:93:fd:81:03:75:d1:7d:ab:53:6c:a5:19:a7:
        68:3d:d6:e2:39:14:d6:9e:47:24:38:b5:76:db:18:a6:ca:c4:
        8a:02:20:36:be:3d:71:93:5d:05:c3:ac:fa:a8:f3:e5:46:db:
        57:f9:23:ee:93:47:6d:d6:d3:4f:c2:b7:cc:0d:89:71:fe
]]></artwork>
        </figure>
        <t>The decoded Evidence is shown in Appendix A of
<xref target="I-D.tschofenig-rats-psa-token"/>, the shown Evidence, provides the following
information to an RA/CA:</t>
        <ul spacing="normal">
          <li>
            <t>Boot seed,</t>
          </li>
          <li>
            <t>Firmware measurements,</t>
          </li>
          <li>
            <t>Hardware security certification reference,</t>
          </li>
          <li>
            <t>Identification of the immutable root of trust implementation, and</t>
          </li>
          <li>
            <t>Lifecycle state information.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="asn1-module">
      <name>ASN.1 Module</name>
      <artwork><![CDATA[
CSR-ATTESTATION-2023
           {iso(1) identified-organization(3) dod(6) internet(1) security(5)
       mechanisms(5) pkix(7) id-mod(0) id-mod-pkix-attest-01(TBDMOD)}

DEFINITIONS IMPLICIT TAGS ::= BEGIN

EXPORTS ALL;

IMPORTS

Certificate, id-pkix
 FROM PKIX1Explicit-2009
     {iso(1) identified-organization(3) dod(6) internet(1) security(5)
     mechanisms(5) pkix(7) id-mod(0) id-mod-pkix1-explicit-02(51)}


EXTENSION, ATTRIBUTE, AttributeSet{}, SingleAttribute{}
    FROM PKIX-CommonTypes-2009 -- from [RFC5912]
    { iso(1) identified-organization(3) dod(6) internet(1) security(5)
      mechanisms(5) pkix(7) id-mod(0) id-mod-pkixCommon-02(57) }

id-aa
FROM SecureMimeMessageV3dot1
    { iso(1) member-body(2) us(840) rsadsi(113549)
        pkcs(1) pkcs-9(9) smime(16) modules(0) msg-v3dot1(21) }
  ;
  

-- Branch for attestation statement types
id-ata OBJECT IDENTIFIER ::= { id-pkix (TBD1) }


CertificateChoice ::=
   CHOICE {
      cert Certificate,
      opaqueCert    [0] IMPLICIT OCTET STRING,
      typedCert     [1] IMPLICIT TypedCert,
      typedFlatCert [2] IMPLICIT TypedFlatCert,
      ...
   }

TYPED-CERT ::= TYPE-IDENTIFIER

CertType ::= TYPED-CERT.&id

TypedCert ::= SEQUENCE {
      certType     TYPED-CERT.&id({TypedCertSet}),
      content     TYPED-CERT.&Type ({TypedCertSet}{@certType})
  }

TypedCertSet TYPED-CERT ::= {
  ... -- Empty for now,
  }

TypedFlatCert ::= SEQUENCE {
    certType OBJECT IDENTIFIER,
    certBody OCTET STRING
}

EVIDENCE-STATEMENT ::= TYPE-IDENTIFIER

EvidenceStatementSet EVIDENCE-STATEMENT ::= {
   ... -- Empty for now --
}
 
EvidenceStatement ::= SEQUENCE {
   type   EVIDENCE-STATEMENT.&id({EvidenceStatementSet}),
   stmt   EVIDENCE-STATEMENT.&Type({EvidenceStatementSet}{@type})
}

id-aa-evidenceStatement OBJECT IDENTIFIER ::= { id-aa TBDAA }

-- For PKCS#10
attr-evidence ATTRIBUTE ::= {
  TYPE SEQUENCE OF EvidenceBundle
  IDENTIFIED BY id-aa-evidenceStatement
}


-- For CRMF
ext-evidence EXTENSION ::= {
  SYNTAX SEQUENCE OF EvidenceBundle
  IDENTIFIED BY id-aa-evidenceStatement
}

EvidenceBundle ::= SEQUENCE
{
  evidence  SEQUENCE OF EvidenceStatement,
  certs SEQUENCE OF CertificateChoice OPTIONAL
}


END
]]></artwork>
      <section anchor="tcg-dice-conceptualmessagewrapper-in-csr">
        <name>TCG DICE ConceptualMessageWrapper in CSR</name>
        <t>This section gives an example of extending the ASN.1 module above to carry an existing ASN.1-based evidence statement. The example used is the Trusted Computing Group DICE Attestation Conceptual Message Wrapper as defined in <xref target="TCGDICE1.1"/>.</t>
        <artwork><![CDATA[
tcgDiceEvidenceStatementES EVIDENCE-STATEMENT ::=
  { ConceptualMessageWrapper IDENTIFIED BY tcg-dice-conceptual-message-wrapper }

-- where ConceptualMessageWrapper and tcg-dice-conceptual-message-wrapper 
-- are defined in DICE-Attestation-Architecture-Version-1.1-Revision-17_1August2023.pdf

EvidenceStatementSet EVIDENCE-STATEMENT ::= {
  tpmEvidenceStatementES, ...
}

]]></artwork>
      </section>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This specification is the work of a design team created by the chairs of the
LAMPS working group. The following persons, in no specific order,
contributed to the work: Richard Kettlewell, Chris Trufan, Bruno Couillard,
Jean-Pierre Fiset, Sander Temme, Jethro Beekman, Zsolt Rózsahegyi, Ferenc
Pető, Mike Agrenius Kushner, Tomas Gustavsson, Dieter Bong, Christopher Meyer,
Michael StJohns, Carl Wallace, Michael Ricardson, Tomofumi Okubo, Olivier
Couillard, John Gray, Eric Amador, Johnson Darren, Herman Slatman, Tiru Reddy,
Thomas Fossati, Corey Bonnel, Argenius Kushner, James Hagborg.</t>
      <t>We would like to specifically thank Mike StJohns for his work on an earlier
version of this draft.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+1963IbR7Lm/3qKPnTEivQAEADeey7HEEXZtEWJQ9L2eCdm
jgrdBbJXQDemu0GKpjSxr7CxL7DvsG+wG/si+ySbX2ZVdTUukuYWZ+PEIGgL
aNQlKyvvlZXodruqzuqpiaOt7ysTFZPo0syK2kSjujZVreusyKP7rL6NTkxZ
Z5Ms0fTlVXaTZ/kNtf3TglpVW0qPx6W5o1E2dr+6pGbofVOUD3FU1alSaZHk
ekaTp6We1N3M1JPuVM/mVTepyq5uxuj2B6pajGdZVdGn+mFOfc5Or1+ofDEb
mzJWKQ0cq6TIK5NXiyqO6nJhFAG0q76IdGl0HI0uT0f04b4o396UxWIeRz9+
Hf1In7CSr/FEvTUP9HUaq6gbXXx3Jv+cXH0x6OPtyYvzF/g3WBs+nt5lqckT
w00+giR1Z/IFAflFFNn5X47OL67wWRbUhoUez3Q2JUzNdTX7CrjpFeUNnusy
uY2j27qeV/HTp7R0XZc6eWvKnmv19P7mKSPyqR4Xi/qpojlpFxZj2iFBMDVY
wvEWNZpqfKRGbnDXuCfde1mx3O2p7F2xyCvCXX27vHW923o23VJKL+rbgnYq
irr0XxRlOe3SeS967TryUyGH8+ytWfqCFhVHpzlta1VHL7NZVpuUv3CUZ7/j
Z1VdGkPLGO73+9FVMdV5WkeXhU6j//tf/3t0taDO0aDf57ZJVhM5vq5rfa87
0eu81mVWyDe0phq0eqJznWr7LCX4vht+F+1+vc9PjOzSjEDueSR8ZQSaXlLM
/Iplbd/oPDdVdF0lt8XE5NmNW57Os58ZYzGRjpkRHYfjS7de0+2rm9m7Xm5q
hfHd2CZ/Gz3Lyre3xfTnBm0vSr3I0a2Mrs6uW1hb85Wd8JbG6o3tWF9VWd2b
+La91LTwfHlraDuJCCuSIYf7AaaeHOwNj/efBJh+rssZkUZat3H8tSlnOn9Q
Ki/oTZ3dGZDK5YuT493dPft2/3gwtG/3hoOBfTs8PjqIlcryyVLPw/5uH2/P
us97tcdbt9R11Z1XulsXb02OBtcX50NuSXjxVOqxd42NNGl0Uszmi7phUDSw
stM1uSD+ARTReZEupobodFzq8iG6mptExAJtbyd6oWfZ9CEa9vqd6KW5M9Oo
T+8uzV0G6Rb1B739Yx6epVr0qrgzkHLRsD+Q50SjN8C749Ja5k8chCxfWA6U
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
Swt+xF5S9ko9qXvq/wHPJw52QIoAAA==

-->

</rfc>
