<?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-02" 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-02"/>
    <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="09"/>
    <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})
}

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

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="certificatealternatives">
        <name>CertificateAlternatives</name>
        <t>This is an ASN.1 CHOICE construct used to represent an encoding of a
broad variety of certificate types.</t>
        <artwork><![CDATA[
CertificateAlternatives ::=
   CHOICE {
      cert Certificate,
      typedCert     [0] IMPLICIT TypedCert,
      typedFlatCert [1] 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>"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 541?>

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


CertificateAlternatives ::=
   CHOICE {
      cert Certificate,
      typedCert     [0] IMPLICIT TypedCert,
      typedFlatCert [1] 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 CertificateAlternatives 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 ::= {
  tcgDiceEvidenceStatementES, ...
}

]]></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+19e3IbSdLf/3WK/jgRFjkLQAD47n0NRFEznBElLsmZ2fXG
rlXoLpBtAd34uhukOJQ2fAWHL+A7+AZ2+CI+ifOXWVVdjYekfcXuF7EIzgho
1CMrK9+Vleh2u6rO6qmJo63vKxMVk+jSzIraRKO6NlWt66zIo/usvo1OTFln
kyzR9OVVdpNn+Q21/fcFtaq2lB6PS3NHo2zsfnVJzdD7pigf4qiqU6XSIsn1
jCZPSz2pu5mpJ92pns2rblKVXd2M0e0PVbUYz7Kqok/1w5z6nJ1ev1D5YjY2
ZaxSGjhWSZFXJq8WVRzV5cIoAmhXfRHp0ug4Gl2ejujDfVG+vSmLxTyOfvw6
+pE+YSVf44l6ax7o6zRWUTe6+O5M/jm5+mLQx9uTF+cv8G+wNnw8vctSkyeG
m3wESerO5AsC8ososvO/HJ1fXOGzLKgNCz2e6WxKmJrravYVcNMryhs812Vy
G0e3dT2v4qdPaem6LnXy1pQ91+rp/c1TRuRTPS4W9VNFc9IuLMa0Q4JgarCE
4y1qNNX4SI3c4K5xT7r3smK521PZu2KRV4S7+nZ563q39Wy6pZRe1LcF7VQU
dem/KMpy2qXzXvTadeSnQg7n2Vuz9AUtKo5Oc9rWqo5eZrOsNil/4SjPfsfP
qro0hpYx3O/3o6tiqvO0ji4LnUb/77/9j+hqQZ2jQb/PbZOsJnJ8Xdf6Xnei
13mty6yQb2hNNWj1ROc61fZZSvB9N/wu2v16n58Y2aUZgdzzSPjKCDS9pJj5
FcvavtF5bqroukpui4nJsxu3PJ1nPzHGYiIdMyM6DseXbr2m21c3s3e93NQK
47uxTf42epaVb2+L6U8N2l6UepGjWxldnV23sLbmKzvhLY3VG9uxvqqyujfx
bXupaeH58tbQdhIRViRDDvcDTD052Bse7z8JMP1clzMijbRu4/hrU850/qBU
XtCbOrszIJXLFyfHu7t79u3+8WBo3+4NBwP7dnh8dBArleWTpZ6H/d0+3p51
n/dqj7duqeuqO690ty7emhwNri/Oh9yS8OKp1GPvGhtp0uikmM0XdcOgaGBl
p2tyQfwDKKLzIl1MDdHpuNTlQ3Q1N4mIBdreTvRCz7LpQzTs9TvRS3NnplGf
3l2auwzSLeoPevvHPDxLtehVcWcg5aJhfyDPiUZvgHfHpbXMnzgIWb6wHChN
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

-->

</rfc>
