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


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

]>

<?rfc rfcedstyle="yes"?>
<?rfc tocindent="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc text-list-symbols="-o*+"?>
<?rfc docmapping="yes"?>

<rfc ipr="trust200902" docName="draft-ietf-lamps-attestation-freshness-02" category="std" consensus="true" submissionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Freshness Nonces for Remote Attestation">Nonce-based Freshness for Remote Attestation in Certificate Signing Requests (CSRs) for the Certification Management Protocol (CMP) and for Enrollment over Secure Transport (EST)</title>

    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization>Siemens</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>hannes.tschofenig@gmx.net</email>
      </address>
    </author>
    <author initials="H." surname="Brockhaus" fullname="Hendrik Brockhaus">
      <organization abbrev="Siemens">Siemens</organization>
      <address>
        <postal>
          <street>Werner-von-Siemens-Strasse 1</street>
          <city>Munich</city>
          <code>80333</code>
          <country>Germany</country>
        </postal>
        <email>hendrik.brockhaus@siemens.com</email>
        <uri>https://www.siemens.com</uri>
      </address>
    </author>

    <date year="2024"/>

    <area>sec</area>
    <workgroup>LAMPS Working Group</workgroup>
    <keyword>Remote Attestation</keyword> <keyword>Certificate Signing Request</keyword> <keyword>Certificate Management Protocol (CMP)</keyword> <keyword>Enrollment over Secure Transport (EST)</keyword>

    <abstract>


<?line 73?>

<t>When an end entity includes attestation Evidence in a Certificate Signing Request (CSR), it may be
necessary to demonstrate the freshness of the provided Evidence. Current attestation technology
commonly achieves this using nonces.</t>

<t>This document outlines the process through which nonces are supplied to the end entity by an RA/CA
for inclusion in Evidence, leveraging the Certificate Management Protocol (CMP) and Enrollment over
Secure Transport (EST)</t>



    </abstract>



  </front>

  <middle>


<?line 83?>

<section anchor="introduction"><name>Introduction</name>

<t>The management of certificates, encompassing issuance, CA certificate provisioning, renewal, and
revocation, has been streamlined through standardized protocols.</t>

<t>The Certificate Management Protocol (CMP) <xref target="I-D.ietf-lamps-rfc4210bis"/> defines messages for
X.509v3 certificate creation and management. CMP facilitates interactions between end entities
and PKI management entities, such as Registration Authorities (RAs) and Certification Authorities
(CAs). For Certificate Signing Requests (CSRs), CMP primarily utilizes the Certificate Request
Message Format (CRMF) <xref target="RFC4211"/> but also supports PKCS#10 <xref target="RFC2986"/>.</t>

<t>Enrollment over Secure Transport (EST) (<xref target="RFC7030"/>, <xref target="RFC8295"/>) is another certificate management
protocol that provides a subset of CMP's features, primarily using PKCS#10 for CSRs.</t>

<t>When an end entity requests a certificate from a Certification Authority (CA), it may need to assert
credible claims about the protections of the corresponding private key, such as the use of a hardware
security module or the protective capabilities provided by the hardware, as well as claims about the
platform itself.</t>

<t>To include these claims as Evidence in remote attestation, the remote attestation extension
<xref target="I-D.ietf-lamps-csr-attestation"/> has been defined. It specifies how Evidence produced by an Attester
is encoded for inclusion in CRMF or PKCS#10, along with any necessary certificates for its validation.</t>

<t>For a Verifier or Relying Party to ensure the freshness of the Evidence, knowing the exact time of its
production is crucial. Current attestation technologies, like <xref target="TPM20"/> and
<xref target="I-D.tschofenig-rats-psa-token"/>, often employ nonces to ensure the freshness of Evidence. Further
details on ensuring Evidence freshness can be found in <xref section="10" sectionFormat="of" target="RFC9334"/>.</t>

<t><xref section="4" sectionFormat="of" target="I-D.ietf-lamps-csr-attestation"/> provides examples where a CSR contains one or more
Evidence statements. For each Evidence statement the end entity may wish to request a separate nonce.</t>

<t>Since an end entity requires one or more nonces from one or more Verifier via the RA/CA, an additional
roundtrip is necessary. However, a CSR is a one-shot message. Therefore, CMP and EST enable the end
entity to request information from the RA/CA before submitting a certification request conveniently.</t>

<t>Once a nonce is obtained, the end entity invokes the API on an Attester, providing the nonce as an
input parameter. The Attester then returns an Evidence, which is embedded into a CSR and potentially
together with further Evidence statements, submitted back to the RA/CA in a certification request message.</t>

<t><xref target="fig-arch"/> illustrates this interaction:</t>

<t><list style="symbols">
  <t>The nonce is requested in step (0) and obtained in step (1) using the extension to CMP/EST defined
in this document.</t>
  <t>The CSR extension <xref target="I-D.ietf-lamps-csr-attestation"/> conveys Evidence to the RA/CA in step (2).</t>
  <t>The Verifier processes the received Evidence and returns the Attestation Result to the Relying Party.
The CA uses the Attestation Result with the Appraisal Policy and other information to create the
requested certificate. The certificate is returned to the End Entity in step (3).</t>
</list></t>

<figure title="Architecture with Background Check Model." anchor="fig-arch"><artset><artwork  type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="496" width="432" viewBox="0 0 432 496" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
<path d="M 40,64 L 40,464" fill="none" stroke="black"/>
<path d="M 232,64 L 232,464" fill="none" stroke="black"/>
<path d="M 408,64 L 408,464" fill="none" stroke="black"/>
<path d="M 48,128 L 224,128" fill="none" stroke="black"/>
<path d="M 48,192 L 224,192" fill="none" stroke="black"/>
<path d="M 240,224 L 400,224" fill="none" stroke="black"/>
<path d="M 240,256 L 400,256" fill="none" stroke="black"/>
<path d="M 48,288 L 224,288" fill="none" stroke="black"/>
<path d="M 48,336 L 224,336" fill="none" stroke="black"/>
<path d="M 240,368 L 400,368" fill="none" stroke="black"/>
<path d="M 240,400 L 400,400" fill="none" stroke="black"/>
<path d="M 48,432 L 224,432" fill="none" stroke="black"/>
<polygon class="arrowhead" points="408,368 396,362.4 396,373.6 " fill="black" transform="rotate(0,400,368)"/>
<polygon class="arrowhead" points="408,224 396,218.4 396,229.6 " fill="black" transform="rotate(0,400,224)"/>
<polygon class="arrowhead" points="248,400 236,394.4 236,405.6 " fill="black" transform="rotate(180,240,400)"/>
<polygon class="arrowhead" points="248,256 236,250.4 236,261.6 " fill="black" transform="rotate(180,240,256)"/>
<polygon class="arrowhead" points="232,336 220,330.4 220,341.6 " fill="black" transform="rotate(0,224,336)"/>
<polygon class="arrowhead" points="232,192 220,186.4 220,197.6 " fill="black" transform="rotate(0,224,192)"/>
<polygon class="arrowhead" points="232,128 220,122.4 220,133.6 " fill="black" transform="rotate(0,224,128)"/>
<polygon class="arrowhead" points="56,432 44,426.4 44,437.6 " fill="black" transform="rotate(180,48,432)"/>
<polygon class="arrowhead" points="56,288 44,282.4 44,293.6 " fill="black" transform="rotate(180,48,288)"/>
<polygon class="arrowhead" points="56,128 44,122.4 44,133.6 " fill="black" transform="rotate(180,48,128)"/>
<g class="text">
<text x="36" y="36">Attester</text>
<text x="216" y="36">Relying</text>
<text x="272" y="36">Party</text>
<text x="396" y="36">Verifier</text>
<text x="20" y="52">(End</text>
<text x="72" y="52">Entity)</text>
<text x="216" y="52">(RA/CA)</text>
<text x="104" y="84">Certificate</text>
<text x="100" y="100">Management</text>
<text x="92" y="116">Protocol</text>
<text x="88" y="180">Request</text>
<text x="144" y="180">Nonce</text>
<text x="184" y="180">(0)</text>
<text x="280" y="212">Request</text>
<text x="336" y="212">Nonce</text>
<text x="272" y="244">Nonce</text>
<text x="80" y="276">Nonce</text>
<text x="120" y="276">(1)</text>
<text x="92" y="324">Attested</text>
<text x="144" y="324">CSR</text>
<text x="176" y="324">(2)</text>
<text x="284" y="356">Evidence</text>
<text x="296" y="388">Attestation</text>
<text x="372" y="388">Result</text>
<text x="104" y="420">Certificate</text>
<text x="168" y="420">(3)</text>
</g>
</svg>
</artwork><artwork  type="ascii-art"><![CDATA[
 Attester               Relying Party         Verifier
 (End Entity)           (RA/CA)
     |                       |                     |
     |  Certificate          |                     |
     |  Management           |                     |
     |  Protocol             |                     |
     |<--------------------->|                     |
     |                       |                     |
     |                       |                     |
     |  Request Nonce (0)    |                     |
     |---------------------->|                     |
     |                       |  Request Nonce      |
     |                       |-------------------->|
     |                       |  Nonce              |
     |                       |<--------------------|
     |  Nonce (1)            |                     |
     |<----------------------|                     |
     |                       |                     |
     |  Attested CSR (2)     |                     |
     |---------------------->|                     |
     |                       |  Evidence           |
     |                       |-------------------->|
     |                       |  Attestation Result |
     |                       |<--------------------|
     |  Certificate (3)      |                     |
     |<----------------------|                     |
     |                       |                     |
     |                       |                     |
]]></artwork></artset></figure>

<t>The functionality described in this document is divided into two sections:</t>

<t><list style="symbols">
  <t><xref target="CMP"/> describes how to convey the nonce using CMP.</t>
  <t><xref target="EST"/> describes the equivalent functionality for EST.</t>
</list></t>

</section>
<section anchor="terminology-and-requirements-language"><name>Terminology and Requirements Language</name>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 <xref target="RFC2119"/>.</t>

<t>The terms Attester, Relying Party, Verifier and Evidence are defined
in <xref target="RFC9334"/>. The terms end entity, certification authority (CA),
and registration authority (RA) are defined in <xref target="RFC5280"/>.</t>

<t>We use the terms Certificate Signing Request (CSR) and certification
request interchangeably.</t>

</section>
<section anchor="CMP"><name>Conveying a Nonce in CMP</name>

<t>Section 5.3.19 of <xref target="I-D.ietf-lamps-rfc4210bis"/> defines the
general request message (genm) and general response (genp).
The NonceRequest payload of the genm message, sent by the end
entity to request a nonce, optionally includes details on the
required length of the nonce from the Attester. The NonceResponse
payload of the genp message, sent by the CA/RA in response to the
request, contains the nonce itself.</t>

<figure><artwork><![CDATA[
 GenMsg:    {id-it TBD1}, NonceRequestValue
 GenRep:    {id-it TBD2}, NonceResponseValue | < absent >

 id-it-nonceRequest OBJECT IDENTIFIER ::= { id-it TBD1 }
 NonceRequestValue ::= SEQUENCE SIZE (1..MAX) OF NonceRequest
 NonceRequest ::= SEQUENCE {
    len INTEGER OPTIONAL,
    -- indicates the required length of the requested nonce
    type OBJECT IDENTIFIER OPTIONAL,
    -- indicates which Evidence type to request a nonce for
    hint EvidenceHint OPTIONAL
    -- indicates which Verifier to request a nonce from
 }

 id-it-nonceResponse OBJECT IDENTIFIER ::= { id-it TBD2 }
 NonceResponseValue ::= SEQUENCE SIZE (1..MAX) OF NonceResponse
 NonceResponse ::= SEQUENCE {
    nonce OCTET STRING,
    -- contains the nonce of length len
    -- provided by the Verifier indicated with hint
    expiry Time OPTIONAL,
    -- indicates how long the Verifier considers the
    -- nonce valid
    type OBJECT IDENTIFIER OPTIONAL,
    -- indicates which Evidence type to request a nonce for
    hint EvidenceHint OPTIONAL
    -- indicates which Verifier to request a nonce from
 }
]]></artwork></figure>

<t>The end entity may request one or more nonces for different Verifier. The
EVIDENCE-STATEMENT type and the EvidenceHint are defined in
<xref target="I-D.ietf-lamps-csr-attestation"/>. They allow the Attester to specify to
the Relying Party which Verifier should be contacted to obtain a nonce.
If a NonceRequest structure does not contain type or hint, the RA/CA should
respond with a nonce it MAY generated by itself.</t>

<t>The use of the general request/response message exchange introduces an additional
roundtrip for transmitting nonce(s) from the CA/RA to the end entity (and
subsequently to the Attester within the end entity).</t>

<t>The end entity MUST construct a id-it-nonceRequest message to prompt
the RA/CA to send a nonce(s) in response. The message may contain one ore more
NonceRequest structures, at a maximum one per Evidence statement the end
entity wishes to provide in a CSR. If a NonceRequest structure does neither
contain a type nor a hint, the RA/CA may generate a nonce itself and provide
it in the respective NonceResponse structure.</t>

<t>NonceRequest, NonceResponse, and EvidenceStatement structures can contain a type
field and a hint field. In terms of type and hint content, the order in which the
NonceRequest structures were sent in the request message MUST match the order of
the NonceResponse structures in the response message and the EvicenceStatements in
the CSR later. This is important so that the RA/CA can send the Evidence statement
to the Verifier who generated the nonce used by the Attester who generated it.</t>

<t>If the end entity supports remote attestation and the policy dictates the inclusion
of Evidence in a CSR, the RA/CA responds with a NonceResponse message containing
the requested nonce.</t>

<t>The interaction is illustrated in <xref target="fig-cmp-msg"/>.</t>

<figure title="CMP Exchange with Nonce and Evidence." anchor="fig-cmp-msg"><artwork><![CDATA[
End Entity                                          RA/CA
==========                                      =============

              -->>-- NonceRequest -->>--
                                                Verify request
                                                Generate nonce*
                                                Create response
              --<<-- NonceResponse --<<--
                    (nonce, expiry)

Generate key pair
Generate Evidence*
Generate certification request message
              -->>-- certification request -->>--
                   +Evidence including nonce)
                                               Verify request
                                               Verify Evidence*
                                               Check for replay*
                                               Issue certificate
                                               Create response
              --<<-- certification response --<<--
Handle response
Store certificate

*: These steps require interactions with the Attester
(on the EE side) and with the Verifier (on the RA/CA side).
]]></artwork></figure>

<t>If HTTP is used to transfer the NonceRequest and NonceResponse
messages, the OPTIONAL &lt;operation&gt; path segment defined in Section 3.6
of <xref target="I-D.ietf-lamps-rfc4210bis"/> MAY be used.</t>

<figure><artwork><![CDATA[
 +------------------------+-----------------+-------------------+
 | Operation              |Operation path   | Details           |
 +========================+=================+===================+
 | Get Attestation        | getnonce        | {{CMP}}           |
 | Freshness Nonce        |                 |                   |
 +------------------------+-----------------+-------------------+
]]></artwork></figure>

<t>If CoAP is used for transferring NonceRequest and NonceResponse messages,
the OPTIONAL &lt;operation&gt; path segment defined in Section 2.1 of
<xref target="RFC9482"/> MAY be used.</t>

<figure><artwork><![CDATA[
 +------------------------+-----------------+-------------------+
 | Operation              |Operation path   | Details           |
 +========================+=================+===================+
 | Get Attestation        | nonce           | {{CMP}}           |
 | Freshness Nonce        |                 |                   |
 +------------------------+-----------------+-------------------+
]]></artwork></figure>

</section>
<section anchor="EST"><name>Conveying a Nonce in EST</name>

<t>The EST client requests a nonce for its Attester from the EST server.
This function typically follows the request for CA certificates and
precedes other EST operations.</t>

<t>The EST server MUST support the path-prefix of "/.well-known/" as
defined in <xref target="RFC5785"/> and the registered name of "est".
Therefore, a valid EST server URI path begins with
"https://www.example.com/.well-known/est". Each EST operation is
indicated by a path-suffix that specifies the intended operation.</t>

<t>The following operation is defined by this specification:</t>

<figure><artwork><![CDATA[
 +------------------------+-----------------+-------------------+
 | Operation              |Operation path   | Details           |
 +========================+=================+===================+
 | Retrieval of a nonce   | /nonce          | {{EST}}           |
 +------------------------+-----------------+-------------------+
]]></artwork></figure>
<t>The operation path is appended to the path-prefix to form the URI
used with HTTP GET or POST to perform the desired EST operation.
An example of a valid URI absolute path for the "/nonce" operation
is "/.well-known/est/nonce".</t>

<section anchor="request-methods"><name>Request Methods</name>

<t>An EST client uses either a GET or a POST method, depending on
whether additional parameters need to be conveyed:</t>

<t><list style="symbols">
  <t>A GET request MUST be used when the EST client does not want to
convey extra parameters.</t>
  <t>A POST request MUST be used when parameters, such as nonce length
or a hint about the verification service, are included in the request.</t>
</list></t>

<figure><artwork><![CDATA[
 +------------------+------------------------------+---------------+
 | Message type     | Media type(s)                | Reference     |
 | (per operation)  |                              |               |
 +==================+==============================+===============+
 | Nonce Request    | N/A (for GET) or             | This section  |
 |                  | application/json (for POST)  |               |
 +==================+==============================+===============+
 | Nonce Response   | application/json             | This section  |
 |                  |                              |               |
 +==================+==============================+===============+
]]></artwork></figure>

</section>
<section anchor="example-requests"><name>Example Requests</name>

<t>To retrieve a nonce using a GET request:</t>

<figure><artwork><![CDATA[
GET /.well-known/est/nonce HTTP/1.1
]]></artwork></figure>

<t>To retrieve a nonce while specifying the size and providing a hint about the
verification service using a POST request:</t>

<figure><artwork><![CDATA[
POST /.well-known/est/nonce HTTP/1.1
Content-Type: application/json
{
  "len": 8,
  "hint": "https://example.com"
}
]]></artwork></figure>

<t>The payload in a POST request MUST be of content-type "application/json" and
MUST contain a JSON object  <xref target="RFC7159"/> with the member "len" indicating the
length of the requested nonce value in bytes, and optionally the "hint" member,
which specifies an FQDN based on the definition in the EvidenceHint structure
from <xref target="I-D.ietf-lamps-csr-attestation"/>).</t>

</section>
<section anchor="server-response"><name>Server Response</name>

<t>If successful, the EST server MUST respond with an HTTP 200 status code and a
content-type of "application/json", containing a JSON object <xref target="RFC7159"/> with
the "nonce" member. The "expiry" member is optional and indicates the validity
period of the nonce.</t>

<t>The EST server MAY request HTTP-based client authentication, as
explained in Section 3.2.3 of <xref target="RFC7030"/>.</t>

<t>If the request is successful, the EST server response MUST contain
a HTTP 200 response code with a content-type of "application/json"
and a JSON object  <xref target="RFC7159"/> with the member nonce. The expiry
member is optional and indicates the time the nonce is considered
valid. After the expiry time is expired, the session is likely
garbage collected.</t>

<t>Below is an example response:</t>

<figure><artwork><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json

{
    "nonce": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=",
    "expiry": "2031-10-12T07:20:50.52Z"
}
]]></artwork></figure>

<t>Open Issue: Should a specific content type be registered for use
with EST over CoAP, where the nonce and expiry fields are encoded
in a CBOR structure?</t>

</section>
</section>
<section anchor="nonce-processing-guidelines"><name>Nonce Processing Guidelines</name>

<t>When the RA/CA is requested to provide a nonce to an
end entity, it interacts with the Verifier.
According to the IETF RATS architecture <xref target="RFC9334"/>, the Verifier is
responsible for validating Evidence about an Attester and generating
Attestation Results for use by a Relying Party. The Verifier also acts as
the source of the nonce to prevent replay attacks.</t>

<t>The nonce value MUST contain a random byte sequence whereby the length
depends on the used remote attestation technology as specific nonce
length may be required by the end entity. This specification assumes
that the RA/CA possesses knowledge, either out-of-band or through the
len field in the NonceRequest, regarding the required nonce length for
the attestation technology. Nonces of incorrect length will cause the
remote attestation protocol to fail.</t>

<t>For instance, the PSA attestation token <xref target="I-D.tschofenig-rats-psa-token"/>
supports nonce lengths of 32, 48, and 64 bytes. Other attestation
technologies employ nonces of similar lengths.</t>

<t>When the end entity requests a nonce, the RA/CA SHOULD respond with a nonce
in the specified length.</t>

<t>If a specific length was requested, the RA/CA must provide a nonce of that size.
The end entity MUST use the received nonce if the remote attestation supports
the requested length. If necessary, the end entity MAY adjust the length of the
nonce by truncating or padding it accordingly.</t>

<t>While this specification does not address the semantics of the attestation API
or the underlying software/hardware architecture, the API returns Evidence from
the Attester in a format specific to the attestation technology used. The
returned Evidence is encapsulated within the CSR, as defined in
<xref target="I-D.ietf-lamps-csr-attestation"/>. The software generating the CSR treats
the Evidence as an opaque blob and does not interpret its format. It's crucial
to note that the nonce is included in the Evidence, either implicitly or
explicitly, and MUST NOT be conveyed in CSR structures outside of the Evidence
payload.</t>

<t>The processing of CSRs containing Evidence is detailed  in
<xref target="I-D.ietf-lamps-csr-attestation"/>. mportantly, certificates issued based
on this process do not contain the nonce, as specified in
<xref target="I-D.ietf-lamps-csr-attestation"/>.</t>

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

<t>This document adds new entries to the "CMP Well-Known URI Path Segments"
registry defined in <xref target="RFC8615"/>.</t>

<figure><artwork><![CDATA[
 +----------------+---------------------------+-----------------+
 | Path Segment   | Description               | Reference       |
 +================+===========================+=================+
 | getnonce       | Get Attestation Freshness | {{cmp}}         |
 |                | Nonce over HTTP           |                 |
 +----------------+---------------------------+-----------------+
 | nonce          | Get Attestation Freshness | {{cmp}}         |
 |                | Nonce over CoAP           |                 |
 +----------------+---------------------------+-----------------+
]]></artwork></figure>

<t>[Open Issue: Register path segments for EST]</t>

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

<t>This specification details the process of obtaining a nonce via CMP and EST,
assuming that the nonce does not require confidentiality protection while maintaining
the security properties of the remote attestation protocol. <xref target="RFC9334"/> defines the
IETF remote attestation architecture and extensively discusses nonce-based freshness.</t>

<t>Section 8.4 of <xref target="I-D.ietf-rats-eat"/> specifies requirements for the randomness and
privacy of nonce generation when used with the Entity Attestation Token (EAT). These
requirements, which are also adopted by attestation technologies like the PSA attestation
token <xref target="I-D.tschofenig-rats-psa-token"/>, provide general utility:</t>

<t><list style="symbols">
  <t>The nonce MUST have at least 64 bits of entropy.</t>
  <t>To prevent disclosure of privacy-sensitive information, it should be derived using a</t>
  <t>salt from a genuinely random number generator or another reliable source of randomness.</t>
</list></t>

<t>Each attestation technology specification offers guidance on replay protection using nonces
and other techniques. Specific recommendations are deferred to these individual specifications
in this document.</t>

<t>Regarding the use of Evidence in a CSR, the security considerations outlined in
<xref target="I-D.ietf-lamps-csr-attestation"/> are pertinent to this specification.</t>

</section>


  </middle>

  <back>


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



<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>


<reference anchor="I-D.ietf-lamps-csr-attestation">
   <front>
      <title>Use of Remote Attestation with Certification Signing Requests</title>
      <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
         <organization>Entrust Limited</organization>
      </author>
      <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
         <organization>Siemens</organization>
      </author>
      <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Monty Wiseman" initials="M." surname="Wiseman">
         <organization>Beyond Identity</organization>
      </author>
      <author fullname="Ned Smith" initials="N." surname="Smith">
         <organization>Intel Corporation</organization>
      </author>
      <date day="20" month="October" year="2024"/>
      <abstract>
	 <t>   A PKI end entity requesting a certificate from a Certification
   Authority (CA) may wish to offer trustworthy claims about the
   platform generating the certification request and the environment
   associated with the corresponding private key, such as whether the
   private key resides on a hardware security module.

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

   Including Evidence along with a CSR can help to improve the
   assessment of the security posture for the private key, and can help
   the Certification Authority to assess whether it satisfies the
   requested certificate profile.  These Evidence Claims can include
   information about the hardware component&#x27;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>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-csr-attestation-13"/>
   
</reference>


<reference anchor="I-D.ietf-lamps-rfc4210bis">
   <front>
      <title>Internet X.509 Public Key Infrastructure -- Certificate Management Protocol (CMP)</title>
      <author fullname="Hendrik Brockhaus" initials="H." surname="Brockhaus">
         <organization>Siemens</organization>
      </author>
      <author fullname="David von Oheimb" initials="D." surname="von Oheimb">
         <organization>Siemens</organization>
      </author>
      <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
         <organization>Entrust</organization>
      </author>
      <author fullname="John Gray" initials="J." surname="Gray">
         <organization>Entrust</organization>
      </author>
      <date day="9" month="October" year="2024"/>
      <abstract>
	 <t>   This document describes the Internet X.509 Public Key Infrastructure
   (PKI) Certificate Management Protocol (CMP).  Protocol messages are
   defined for X.509v3 certificate creation and management.  CMP
   provides interactions between client systems and PKI components such
   as a Registration Authority (RA) and a Certification Authority (CA).

   This document obsoletes RFC 4210 by including the updates specified
   by CMP Updates RFC 9480 Section 2 and Appendix A.2 maintaining
   backward compatibility with CMP version 2 wherever possible and
   obsoletes both documents.  Updates to CMP version 2 are: improving
   crypto agility, extending the polling mechanism, adding new general
   message types, and adding extended key usages to identify special CMP
   server authorizations.  Introducing CMP version 3 to be used only for
   changes to the ASN.1 syntax, which are: support of EnvelopedData
   instead of EncryptedValue, hashAlg for indicating a hash
   AlgorithmIdentifier in certConf messages, and RootCaKeyUpdateContent
   in ckuann messages.

   In addition to the changes specified in CMP Updates RFC 9480 this
   document adds support for management of KEM certificates.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-rfc4210bis-14"/>
   
</reference>

<reference anchor="RFC8295">
  <front>
    <title>EST (Enrollment over Secure Transport) Extensions</title>
    <author fullname="S. Turner" initials="S." surname="Turner"/>
    <date month="January" year="2018"/>
    <abstract>
      <t>The EST (Enrollment over Secure Transport) protocol defines the Well-Known URI (Uniform Resource Identifier) -- /.well-known/est -- along with a number of other path components that clients use for PKI (Public Key Infrastructure) services, namely certificate enrollment (e.g., /simpleenroll). This document defines a number of other PKI services as additional path components -- specifically, firmware and trust anchors as well as symmetric, asymmetric, and encrypted keys. This document also specifies the PAL (Package Availability List), which is an XML (Extensible Markup Language) file or JSON (JavaScript Object Notation) object that clients use to retrieve packages available and authorized for them. This document extends the EST server path components to provide these additional services.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8295"/>
  <seriesInfo name="DOI" value="10.17487/RFC8295"/>
</reference>

<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="RFC5280">
  <front>
    <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
    <author fullname="D. Cooper" initials="D." surname="Cooper"/>
    <author fullname="S. Santesson" initials="S." surname="Santesson"/>
    <author fullname="S. Farrell" initials="S." surname="Farrell"/>
    <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
    <author fullname="R. Housley" initials="R." surname="Housley"/>
    <author fullname="W. Polk" initials="W." surname="Polk"/>
    <date month="May" year="2008"/>
    <abstract>
      <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5280"/>
  <seriesInfo name="DOI" value="10.17487/RFC5280"/>
</reference>

<reference anchor="RFC5785">
  <front>
    <title>Defining Well-Known Uniform Resource Identifiers (URIs)</title>
    <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
    <author fullname="E. Hammer-Lahav" initials="E." surname="Hammer-Lahav"/>
    <date month="April" year="2010"/>
    <abstract>
      <t>This memo defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5785"/>
  <seriesInfo name="DOI" value="10.17487/RFC5785"/>
</reference>

<reference anchor="RFC8615">
  <front>
    <title>Well-Known Uniform Resource Identifiers (URIs)</title>
    <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
    <date month="May" year="2019"/>
    <abstract>
      <t>This memo defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes.</t>
      <t>In doing so, it obsoletes RFC 5785 and updates the URI schemes defined in RFC 7230 to reserve that space. It also updates RFC 7595 to track URI schemes that support well-known URIs in their registry.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8615"/>
  <seriesInfo name="DOI" value="10.17487/RFC8615"/>
</reference>

<reference anchor="RFC7159">
  <front>
    <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
    <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
    <date month="March" year="2014"/>
    <abstract>
      <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
      <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7159"/>
  <seriesInfo name="DOI" value="10.17487/RFC7159"/>
</reference>

<reference anchor="RFC9482">
  <front>
    <title>Constrained Application Protocol (CoAP) Transfer for the Certificate Management Protocol</title>
    <author fullname="M. Sahni" initials="M." role="editor" surname="Sahni"/>
    <author fullname="S. Tripathi" initials="S." role="editor" surname="Tripathi"/>
    <date month="November" year="2023"/>
    <abstract>
      <t>This document specifies the use of the Constrained Application Protocol (CoAP) as a transfer mechanism for the Certificate Management Protocol (CMP). CMP defines the interaction between various PKI entities for the purpose of certificate creation and management. CoAP is an HTTP-like client-server protocol used by various constrained devices in the Internet of Things space.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9482"/>
  <seriesInfo name="DOI" value="10.17487/RFC9482"/>
</reference>




    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC2986">
  <front>
    <title>PKCS #10: Certification Request Syntax Specification Version 1.7</title>
    <author fullname="M. Nystrom" initials="M." surname="Nystrom"/>
    <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
    <date month="November" year="2000"/>
    <abstract>
      <t>This memo represents a republication of PKCS #10 v1.7 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series, and change control is retained within the PKCS process. The body of this document, except for the security considerations section, is taken directly from the PKCS #9 v2.0 or the PKCS #10 v1.7 document. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2986"/>
  <seriesInfo name="DOI" value="10.17487/RFC2986"/>
</reference>

<reference anchor="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="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="I-D.tschofenig-rats-psa-token">
   <front>
      <title>Arm&#x27;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="23" month="September" year="2024"/>
      <abstract>
	 <t>   The Arm 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 can produce attestation tokens as described in
   this memo, which are the basis for many 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 profile of the 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.

   This informational document is published as an independent submission
   to improve interoperability with Arm&#x27;s architecture.  It is not a
   standard nor a product of the IETF.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-tschofenig-rats-psa-token-24"/>
   
</reference>


<reference anchor="I-D.ietf-rats-eat">
   <front>
      <title>The Entity Attestation Token (EAT)</title>
      <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
         <organization>Security Theory LLC</organization>
      </author>
      <author fullname="Giridhar Mandyam" initials="G." surname="Mandyam">
         <organization>Mediatek USA</organization>
      </author>
      <author fullname="Jeremy O&#x27;Donoghue" initials="J." surname="O&#x27;Donoghue">
         <organization>Qualcomm Technologies Inc.</organization>
      </author>
      <author fullname="Carl Wallace" initials="C." surname="Wallace">
         <organization>Red Hound Software, Inc.</organization>
      </author>
      <date day="6" month="September" year="2024"/>
      <abstract>
	 <t>   An Entity Attestation Token (EAT) provides an attested claims set
   that describes state and characteristics of an entity, a device like
   a smartphone, IoT device, network equipment or such.  This claims set
   is used by a relying party, server or service to determine the type
   and degree of trust placed in the entity.

   An EAT is either a CBOR Web Token (CWT) or JSON Web Token (JWT) with
   attestation-oriented claims.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-31"/>
   
</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>


    </references>


<?line 507?>

<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>We would like to thank Russ Housley, Thomas Fossati, Watson Ladd, Ionut Mihalcea,
Carl Wallace, and Michael StJohns for their review comments.</t>

</section>


  </back>

<!-- ##markdown-source:
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
zf6HroIOR//sVVBE8e9hSDGyAUPj7NS4+zr/SXth7F5q0boftkyNPf6oaphA
jOCKVg7vrbOaqPCeeleQ/8cI28A+D5+uZgJ2+QwRBu9oI1X1+ztsRmwJU4Vl
W/6lHNCyQEzRpk7c3OqZ9cPIoXGNhAKNtsq0MOzgkIpuSd+A+y/jxEQr8mOz
4L18/s0K/fpmy9P+461rLe5NWkBHnSEqw2tT7rCDvX3SQT6NTG5UtMHhmJnO
kBGvQAvq0xiCe3ZKQp2ekMu5NxxM9vtcwSLCid19evIFKJKJIfi3x323vOOC
X3HR4t+KB/q3Xe/VuVpkes1Otdm6GU82b6EwY4qeuQInC31eNL7AEETtvNjQ
nfM6vEIxpTm9NQPaWP718D2RCdWrBje+KUStK7hhX5C7aPOoMKxRaeVeWQOU
rkCBQBFsQJatKFtiBZLTm0jc23dKCKLprQ11LFgLFl/1g2ett3hJze2YY3m8
kXMIzBVBTeYCyGDXhK/rEvXldho0QXe271+thl4xvaWS36diXO28Lkt//Gc0
5XxAQCsQTYMe0/JSATFqxGK20vyW4k2/laMGFLmXij3QxBPVhAQZJU/yFqe5
zy/2wpc5IAgOIhd+kt7TTbg1iZ61mYpos7dyBHtcvspXJsWXBU0W+RI8kBcQ
w8KgXfkGNBkY/hpch648z7NVJS+ShUojrbriTJUptEhTFdkK5wvYWkqnclx9
ny8yv8sT1JCbBDwP98bQvvhvmxz2HShVAAA=

-->

</rfc>

