<?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.21 (Ruby 3.0.2) -->
<?rfc rfcedstyle="yes"?>
<?rfc tocindent="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc text-list-symbols="-o*+"?>
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-attestation-freshness-05" category="std" consensus="true" submissionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.29.0 -->
  <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), for Enrollment over Secure Transport (EST), and for Certificate Management over CMS (CMC)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-attestation-freshness-05"/>
    <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>
    <author initials="J." surname="Mandel" fullname="Joe Mandel">
      <organization abbrev="AKAYLA">AKAYLA, Inc.</organization>
      <address>
        <email>joe@akayla.com</email>
      </address>
    </author>
    <author initials="S." surname="Turner" fullname="Sean Turner">
      <organization>sn3rd</organization>
      <address>
        <email>sean@sn3rd.com</email>
      </address>
    </author>
    <date year="2025"/>
    <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>
    <keyword>Certificate Management over CMS (CMC)</keyword>
    <abstract>
      <?line 106?>

<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), Enrollment over
Secure Transport (EST), and Certificate Management over CMS (CMC).</t>
    </abstract>
  </front>
  <middle>
    <?line 116?>

<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>Certificate Management over CMS (CMC) <xref target="I-D.ietf-lamps-rfc5272bis"/> is a certificate management protocol
using the Cryptographic Message Syntax (CMS).</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="RFC9783"/>, 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 Verifiers via the RA/CA, an additional
roundtrip is necessary. However, a CSR is a one-shot message. Therefore, CMP, EST, and CMC 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 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>
      <ul spacing="normal">
        <li>
          <t>One or more nonces are requested in step (0) and obtained in step (1) using the extension to CMP/EST/CMC defined
in this document.</t>
        </li>
        <li>
          <t>The CSR extension <xref target="I-D.ietf-lamps-csr-attestation"/> conveys one or more Evidence statements to the RA/CA in step (2).</t>
        </li>
        <li>
          <t>One or more Verifiers process the received Evidence and return the Attestation Result(s) to the Relying Party.
The CA uses the Attestation Result(s) with the Appraisal Policy and other information to create the
requested certificate. The certificate is returned to the End Entity in step (3).</t>
        </li>
      </ul>
      <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="480" width="496" viewBox="0 0 496 480" 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 248,64 L 248,464" fill="none" stroke="black"/>
              <path d="M 448,64 L 448,464" fill="none" stroke="black"/>
              <path d="M 48,128 L 240,128" fill="none" stroke="black"/>
              <path d="M 48,192 L 240,192" fill="none" stroke="black"/>
              <path d="M 256,224 L 440,224" fill="none" stroke="black"/>
              <path d="M 256,256 L 440,256" fill="none" stroke="black"/>
              <path d="M 48,288 L 240,288" fill="none" stroke="black"/>
              <path d="M 48,336 L 240,336" fill="none" stroke="black"/>
              <path d="M 256,368 L 440,368" fill="none" stroke="black"/>
              <path d="M 256,400 L 440,400" fill="none" stroke="black"/>
              <path d="M 48,432 L 240,432" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="448,368 436,362.4 436,373.6 " fill="black" transform="rotate(0,440,368)"/>
              <polygon class="arrowhead" points="448,224 436,218.4 436,229.6 " fill="black" transform="rotate(0,440,224)"/>
              <polygon class="arrowhead" points="264,400 252,394.4 252,405.6 " fill="black" transform="rotate(180,256,400)"/>
              <polygon class="arrowhead" points="264,256 252,250.4 252,261.6 " fill="black" transform="rotate(180,256,256)"/>
              <polygon class="arrowhead" points="248,336 236,330.4 236,341.6 " fill="black" transform="rotate(0,240,336)"/>
              <polygon class="arrowhead" points="248,192 236,186.4 236,197.6 " fill="black" transform="rotate(0,240,192)"/>
              <polygon class="arrowhead" points="248,128 236,122.4 236,133.6 " fill="black" transform="rotate(0,240,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="232" y="36">Relying</text>
                <text x="288" y="36">Party</text>
                <text x="416" y="36">One</text>
                <text x="444" y="36">or</text>
                <text x="476" y="36">more</text>
                <text x="20" y="52">(End</text>
                <text x="72" y="52">Entity)</text>
                <text x="232" y="52">(RA/CA)</text>
                <text x="444" y="52">Verifier</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="168" y="180">Nonce(s)(0)</text>
                <text x="296" y="212">Request</text>
                <text x="364" y="212">Nonce(s)</text>
                <text x="300" y="244">Nonce(s)</text>
                <text x="92" y="276">Nonce(s)</text>
                <text x="144" 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="312" y="356">Evidence(s)</text>
                <text x="312" y="388">Attestation</text>
                <text x="400" y="388">Result(s)</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            One or more
(End Entity)             (RA/CA)                   Verifier
    |                         |                        |
    |  Certificate            |                        |
    |  Management             |                        |
    |  Protocol               |                        |
    |<----------------------->|                        |
    |                         |                        |
    |                         |                        |
    |  Request Nonce(s)(0)    |                        |
    |------------------------>|                        |
    |                         |  Request Nonce(s)      |
    |                         |----------------------->|
    |                         |  Nonce(s)              |
    |                         |<-----------------------|
    |  Nonce(s) (1)           |                        |
    |<------------------------|                        |
    |                         |                        |
    |  Attested CSR (2)       |                        |
    |------------------------>|                        |
    |                         |  Evidence(s)           |
    |                         |----------------------->|
    |                         |  Attestation Result(s) |
    |                         |<-----------------------|
    |  Certificate (3)        |                        |
    |<------------------------|                        |
    |                         |                        |
    |                         |                        |
]]></artwork>
        </artset>
      </figure>
      <t>The functionality described in this document is divided into three sections:</t>
      <ul spacing="normal">
        <li>
          <t><xref target="CMP"/> describes how to convey the nonce using CMP.</t>
        </li>
        <li>
          <t><xref target="EST"/> describes the equivalent functionality for EST.</t>
        </li>
        <li>
          <t><xref target="CMC"/> describes the equivalent functionality for CMC.</t>
        </li>
      </ul>
    </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>
      <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 EVIDENCE-STATEMENT.&id({EvidenceStatementSet}) OPTIONAL,
    -- indicates which Evidence type to request a nonce for
    hint UTF8String 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 INTEGER OPTIONAL,
    -- indicates how long in seconds the Verifier considers
    -- the nonce valid
    type EVIDENCE-STATEMENT.&id({EvidenceStatementSet}) OPTIONAL,
    -- indicates which Evidence type to request a nonce for
    hint UTF8String OPTIONAL
    -- indicates which Verifier to request a nonce from
 }
]]></artwork>
      <t>The end entity may request one or more nonces for different Verifiers. The
EVIDENCE-STATEMENT type is defined in
<xref target="I-D.ietf-lamps-csr-attestation"/>. It allows 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 MAY
generate a nonce itself and include it in the response.</t>
      <t>The use of the general request/response message exchange introduces an additional
round trip 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 an id-it-nonceRequest message to prompt
the RA/CA to send one or more nonces in response. The message may contain one or 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.
If an RA/CA is not able to provide a requested nonce, it MUST provide an empty OCTET STRING 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 EvidenceStatements in
the CSR later. This matching ensures that the RA/CA can send each Evidence statement
to the same Verifier that generated the corresponding nonce used by the Attester.</t>
      <t>When receiving nonces from the RA/CA in an id-it-nonceResponse message, the end entity MUST use them to request Evidence statements from the respective Attester, as optionally indicated by type and hint.
If a nonce is provided in a NonceResponse structure without indicating any type or hint, it can be used for all Evidence statements requiring a nonce.</t>
      <t>An Evidence statement generated using a nonce provided with an expiry value will be accepted by the Verifier as valid until the respective expiry time has elapsed.
It is expected that the respective messages are delivered in a timely manner.</t>
      <t>The interaction is illustrated in <xref target="fig-cmp-msg"/>.</t>
      <figure anchor="fig-cmp-msg">
        <name>CMP Exchange with Nonce and Evidence.</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="464" width="536" viewBox="0 0 536 464" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
              <path d="M 104,80 L 152,80" fill="none" stroke="black"/>
              <path d="M 320,80 L 360,80" fill="none" stroke="black"/>
              <path d="M 104,144 L 152,144" fill="none" stroke="black"/>
              <path d="M 328,144 L 360,144" fill="none" stroke="black"/>
              <path d="M 104,256 L 152,256" fill="none" stroke="black"/>
              <path d="M 344,256 L 368,256" fill="none" stroke="black"/>
              <path d="M 104,368 L 152,368" fill="none" stroke="black"/>
              <path d="M 352,368 L 368,368" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="376,256 364,250.4 364,261.6 " fill="black" transform="rotate(0,368,256)"/>
              <polygon class="arrowhead" points="368,80 356,74.4 356,85.6 " fill="black" transform="rotate(0,360,80)"/>
              <polygon class="arrowhead" points="112,368 100,362.4 100,373.6 " fill="black" transform="rotate(180,104,368)"/>
              <polygon class="arrowhead" points="112,144 100,138.4 100,149.6 " fill="black" transform="rotate(180,104,144)"/>
              <circle cx="8" cy="432" r="6" class="closeddot" fill="black"/>
              <circle cx="168" cy="208" r="6" class="closeddot" fill="black"/>
              <circle cx="528" cy="112" r="6" class="closeddot" fill="black"/>
              <circle cx="528" cy="304" r="6" class="closeddot" fill="black"/>
              <g class="text">
                <text x="16" y="36">End</text>
                <text x="60" y="36">Entity</text>
                <text x="440" y="36">RA/CA</text>
                <text x="44" y="52">==========</text>
                <text x="440" y="52">=============</text>
                <text x="236" y="84">id-it-NonceRequest</text>
                <text x="412" y="100">Verify</text>
                <text x="472" y="100">request</text>
                <text x="420" y="116">Generate</text>
                <text x="492" y="116">nonce(s)</text>
                <text x="412" y="132">Create</text>
                <text x="476" y="132">response</text>
                <text x="240" y="148">id-it-NonceResponse</text>
                <text x="204" y="164">(nonce(s),</text>
                <text x="280" y="164">expiry)</text>
                <text x="36" y="196">Generate</text>
                <text x="88" y="196">key</text>
                <text x="124" y="196">pair</text>
                <text x="36" y="212">Generate</text>
                <text x="120" y="212">Evidence(s)</text>
                <text x="36" y="228">Generate</text>
                <text x="128" y="228">certification</text>
                <text x="48" y="244">request</text>
                <text x="112" y="244">message</text>
                <text x="216" y="260">certification</text>
                <text x="304" y="260">request</text>
                <text x="180" y="276">+Evidence(s)</text>
                <text x="272" y="276">including</text>
                <text x="340" y="276">nonce)</text>
                <text x="404" y="292">Verify</text>
                <text x="464" y="292">request</text>
                <text x="404" y="308">Verify</text>
                <text x="480" y="308">Evidence(s)</text>
                <text x="400" y="324">Check</text>
                <text x="440" y="324">for</text>
                <text x="488" y="324">replay*</text>
                <text x="400" y="340">Issue</text>
                <text x="472" y="340">certificate</text>
                <text x="404" y="356">Create</text>
                <text x="468" y="356">response</text>
                <text x="216" y="372">certification</text>
                <text x="308" y="372">response</text>
                <text x="28" y="388">Handle</text>
                <text x="92" y="388">response</text>
                <text x="24" y="404">Store</text>
                <text x="96" y="404">certificate</text>
                <text x="16" y="436">:</text>
                <text x="48" y="436">These</text>
                <text x="96" y="436">steps</text>
                <text x="152" y="436">require</text>
                <text x="236" y="436">interactions</text>
                <text x="308" y="436">with</text>
                <text x="344" y="436">the</text>
                <text x="396" y="436">Attester</text>
                <text x="16" y="452">(on</text>
                <text x="48" y="452">the</text>
                <text x="76" y="452">EE</text>
                <text x="112" y="452">side)</text>
                <text x="152" y="452">and</text>
                <text x="188" y="452">with</text>
                <text x="224" y="452">the</text>
                <text x="276" y="452">Verifier</text>
                <text x="328" y="452">(on</text>
                <text x="360" y="452">the</text>
                <text x="400" y="452">RA/CA</text>
                <text x="452" y="452">side).</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
End Entity                                          RA/CA
==========                                      =============

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

Generate key pair
Generate Evidence(s)*
Generate certification
  request message
            ------- certification request --->
                +Evidence(s) including nonce)
                                               Verify request
                                               Verify Evidence(s)*
                                               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>
        </artset>
      </figure>
      <t>If HTTP is used to transfer the NonceRequest and NonceResponse
messages, the OPTIONAL <tt>&lt;operation&gt;</tt> path segment defined in
<xref section="3.6" sectionFormat="of" target="I-D.ietf-lamps-rfc4210bis"/> MAY be used.</t>
      <artwork><![CDATA[
 +------------------------+-----------------+-------------------+
 | Operation              |Operation path   | Details           |
 +========================+=================+===================+
 | Get Attestation        | getnonce        | {{CMP}}           |
 | Freshness Nonce        |                 |                   |
 +------------------------+-----------------+-------------------+
]]></artwork>
      <t>If CoAP is used for transferring NonceRequest and NonceResponse messages,
the OPTIONAL <tt>&lt;operation&gt;</tt> path segment defined in
<xref section="2.1" sectionFormat="of" target="RFC9482"/> MAY be used.</t>
      <artwork><![CDATA[
 +------------------------+-----------------+-------------------+
 | Operation              |Operation path   | Details           |
 +========================+=================+===================+
 | Get Attestation        | nonce           | {{CMP}}           |
 | Freshness Nonce        |                 |                   |
 +------------------------+-----------------+-------------------+
]]></artwork>
    </section>
    <section anchor="EST">
      <name>Conveying a Nonce in EST</name>
      <t>The EST client requests one or more nonces 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>
      <artwork><![CDATA[
 +------------------------+-----------------+-------------------+
 | Operation              |Operation path   | Details           |
 +========================+=================+===================+
 | Retrieval of a nonce   | /nonce          | {{EST}}           |
 +------------------------+-----------------+-------------------+
]]></artwork>
      <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>
        <ul spacing="normal">
          <li>
            <t>A GET request MUST be used when the EST client does not want to
convey extra parameters.</t>
          </li>
          <li>
            <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>
          </li>
        </ul>
        <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>
      </section>
      <section anchor="request-payload-post">
        <name>Request Payload (POST)</name>
        <t>The payload in a POST request MUST be of content-type "application/json" and
MUST contain an array of JSON objects <xref target="RFC8259"/> with the optional members
"len", "type", and "hint".</t>
        <ul spacing="normal">
          <li>
            <t>The optional "len" member indicates the length of the requested nonce value in bytes.</t>
          </li>
          <li>
            <t>The optional "type" member contains an EvidenceStatement OID (dotted-decimal string) as defined in <xref target="I-D.ietf-lamps-csr-attestation"/>.</t>
          </li>
          <li>
            <t>The optional "hint" member contains an FQDN or URI identifying the Verifier, following the EvidenceHint structure as defined in <xref target="I-D.ietf-lamps-csr-attestation"/>.</t>
          </li>
        </ul>
        <t>The order of objects in the JSON array is significant and MUST be preserved by the server.
The response array MUST contain the same number of elements in the same order so clients
can correlate requests and responses by array index.</t>
        <section anchor="example-get">
          <name>Example GET</name>
          <artwork><![CDATA[
GET /.well-known/est/nonce HTTP/1.1
]]></artwork>
        </section>
        <section anchor="example-post">
          <name>Example POST</name>
          <t>To retrieve one or more nonces while optionally specifying the length, type, and/or hint:</t>
          <artwork><![CDATA[
POST /.well-known/est/nonce HTTP/1.1
Content-Type: application/json
[
  {
    "len": 8,
    "type": "1.2.3.4.5",
    "hint": "https://example.com"
  }
]
]]></artwork>
        </section>
      </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 an array of JSON objects <xref target="RFC8259"/> with
the "nonce" member. The "expiry" member is optional and indicates the absolute
expiry time of the nonce encoded as an RFC 3339 timestamp string. The optional
"type" and "hint" members MAY be copied from the request to aid correlation.</t>
        <t>Note: CMP encodes "expiry" as an INTEGER representing seconds of validity.
EST encodes "expiry" as an absolute timestamp.</t>
        <t>Below is an example response:</t>
        <artwork><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json
[
  {
    "nonce": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=",
    "expiry": "2031-10-12T07:20:50.52Z",
    "type": "1.2.3.4.5",
    "hint": "https://example.com"
  }
]
]]></artwork>
        <t>The EST server MAY request HTTP-based client authentication, as
explained in Section 3.2.3 of <xref target="RFC7030"/>.</t>
        <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="CMC">
      <name>Conveying a Nonce in CMC</name>
      <t>CMC defines Simple and Full PKI Requests for the client to use to request a certificate.
Full PKI Requests provide the client with more functionality through the use of Controls,
defined in Section 6 of <xref target="I-D.ietf-lamps-rfc5272bis"/>. Currently, the client sends an initial request
containing a certification request (CRMF, PKCS#10, or other). To allow the client to request a nonce
prior to sending a certification request, this section defines the nonceReq and nonceResp.</t>
      <t>Generally a Full PKI Request is encapsulated in a SignedData or AuthenticatedData with an
encapsulated content type of 'id-cct-PKIData'. To accommodate a generic request for a nonce,
the Client/Server SHOULD use the Data content type; id-data, to transmit the nonceReq and nonceResp controls.
The syntax for the controls uses the same syntax as the CMP information types defined in <xref target="CMP"/>.</t>
      <t>The NonceRequest control is identified by:</t>
      <artwork><![CDATA[
id-cmc-nonceReq OBJECT IDENTIFIER ::= { id-it TBD1 }
]]></artwork>
      <t>The NonceResponse control is identified by:
~~~
id-cmc-nonceResp OBJECT IDENTIFIER ::= { id-it TBD2 }
~~~</t>
      <section anchor="generic-nonce-request-message-flow">
        <name>Generic Nonce Request Message Flow</name>
        <t>The client sends id-cmc-nonceReq structure to the server. Upon receiving and processing the request,
the server responds with id-cmc-nonceResp.</t>
        <t>Once this round-trip transaction is complete, the client will include the nonce in either a Simple or Full PKI Request.</t>
        <t>Client to Server:
~~~
   ContentInfo.contentType = id-Data
   ContentInfo.content
       eContentType = id-cct-PKIData
       eContent
         controlSequence
           {101, id-cmc-senderNonce, 10001}
           {102, id-cmc-nonceReq, &lt;sequence of nonce request&gt;}
~~~</t>
        <t>Server to Client:
~~~
   ContentInfo.contentType = id-Data
   ContentInfo.content
       eContentType = id-cct-PKIData
       eContent
         controlSequence
           {101, id-cmc-senderNonce, 10005}
           {102, id-cmc-recipientNonce, 10001}
           {103, id-cmc-nonceResp, &lt;sequence of nonce response&gt;}
~~~</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 with at least 64 bits of entropy.
The RA/CA MUST ensure that nonces are unique and MUST NOT be reused.
The length of the nonce depends on the remote attestation technology in use, as specific nonce
lengths 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="RFC9783"/>
supports nonce lengths of 32, 48, and 64 bytes. Other attestation
technologies employ nonces of similar lengths.</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 and specified by the type and hint. 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"/>. Importantly, 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>
      <artwork><![CDATA[
 +----------------+---------------------------+-----------------+
 | Path Segment   | Description               | Reference       |
 +================+===========================+=================+
 | getnonce       | Get Attestation Freshness | {{CMP}}         |
 |                | Nonce over HTTP           |                 |
 +----------------+---------------------------+-----------------+
 | nonce          | Get Attestation Freshness | {{CMP}}         |
 |                | Nonce over CoAP           |                 |
 +----------------+---------------------------+-----------------+
]]></artwork>
      <t>[Open Issue: Register path segments for EST]</t>
      <t>IANA is also requested to register the following ASN.1 <xref target="X.680"/>
module OID in the "SMI Security for PKIX Module Identifier" registry
(1.3.6.1.5.5.7.0). This OID is defined in <xref target="asn1"/>.</t>
      <table>
        <thead>
          <tr>
            <th align="left">Decimal</th>
            <th align="left">Description</th>
            <th align="left">References</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBDMOD</td>
            <td align="left">id-mod-att-fresh-req</td>
            <td align="left">This-RFC</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This specification details the process of obtaining a nonce via CMP, EST, and CMC,
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="RFC9711"/> 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="RFC9783"/>, provide general utility:</t>
      <ul spacing="normal">
        <li>
          <t>The nonce MUST have at least 64 bits of entropy.</t>
        </li>
        <li>
          <t>To prevent disclosure of privacy-sensitive information, it should be derived using a
salt from a genuinely random number generator or another reliable source of randomness.</t>
        </li>
      </ul>
      <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>
    <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>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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">
         </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization>Intel Corporation</organization>
            </author>
            <date day="5" month="October" year="2025"/>
            <abstract>
              <t>   A PKI end entity requesting a certificate from a Certification
   Authority (CA) may wish to offer trustworthy claims about the
   platform generating the certification request and the environment
   associated with the corresponding private key, such as whether the
   private key resides on a hardware security module.

   This specification defines an attribute and an extension that allow
   for conveyance of RATS conceptual messages (see Section 8 of
   [RFC9334], such as Evidence, Endorsements and Attestation Results, in
   Certificate Signing Requests (CSRs), such as PKCS#10 or Certificate
   Request Message Format (CRMF) payloads.  This provides an elegant and
   automatable mechanism for transporting attestation data to a
   Certification Authority.

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-csr-attestation-21"/>
        </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="30" month="January" year="2025"/>
            <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 adds support for management of certificates containing
   a Key Encapsulation Mechanism (KEM) public key and use EnvelopedData
   instead of EncryptedValue.  This document also includes the updates
   specified in Section 2 and Appendix A.2 of RFC 9480.

   The updates maintain backward compatibility with CMP version 2
   wherever possible.  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.  CMP version 3 is introduced for changes to the ASN.1
   syntax, which are support of EnvelopedData, certConf with hashAlg,
   POPOPrivKey with agreeMAC, and RootCaKeyUpdateContent in ckuann
   messages.

   This document obsoletes RFC 4210 and together with I-D.ietf-lamps-
   rfc6712bis and it also obsoletes RFC 9480.  Appendix F of this
   document updates the Section 9 of RFC 5912.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-rfc4210bis-18"/>
        </reference>
        <reference anchor="I-D.ietf-lamps-rfc5272bis">
          <front>
            <title>Certificate Management over CMS (CMC)</title>
            <author fullname="Joe Mandel" initials="J." surname="Mandel">
              <organization>AKAYLA, Inc.</organization>
            </author>
            <author fullname="Sean Turner" initials="S." surname="Turner">
              <organization>sn3rd</organization>
            </author>
            <date day="29" month="August" year="2025"/>
            <abstract>
              <t>   This document defines the base syntax for CMC, a Certificate
   Management protocol using the Cryptographic Message Syntax (CMS).
   This protocol addresses two immediate needs within the Internet
   Public Key Infrastructure (PKI) community:

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-rfc5272bis-08"/>
        </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="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <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="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </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>
        <reference anchor="X.680" target="https://www.itu.int/rec/T-REC.X.680">
          <front>
            <title>Information Technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2021" month="February"/>
          </front>
          <seriesInfo name="ITU-T Recommendation X.680" value=""/>
        </reference>
        <reference anchor="X.690" target="https://www.itu.int/rec/T-REC.X.690">
          <front>
            <title>Information Technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2021" month="February"/>
          </front>
          <seriesInfo name="ITU-T Recommendation X.690" value=""/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC2986">
          <front>
            <title>PKCS #10: Certification Request Syntax Specification Version 1.7</title>
            <author fullname="M. Nystrom" initials="M." surname="Nystrom"/>
            <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
            <date month="November" year="2000"/>
            <abstract>
              <t>This memo represents a republication of PKCS #10 v1.7 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series, and change control is retained within the PKCS process. The body of this document, except for the security considerations section, is taken directly from the PKCS #9 v2.0 or the PKCS #10 v1.7 document. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2986"/>
          <seriesInfo name="DOI" value="10.17487/RFC2986"/>
        </reference>
        <reference anchor="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="RFC9783">
          <front>
            <title>Arm's Platform Security Architecture (PSA) Attestation Token</title>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="S. Frost" initials="S." surname="Frost"/>
            <author fullname="M. Brossard" initials="M." surname="Brossard"/>
            <author fullname="A. Shaw" initials="A." surname="Shaw"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <date month="June" year="2025"/>
            <abstract>
              <t>Arm's Platform Security Architecture (PSA) is a family of hardware and firmware security specifications, along with open-source reference implementations, aimed at helping device makers and chip manufacturers integrate best-practice security into their products. Devices that comply with PSA can generate attestation tokens as described in this document, which serve as the foundation for various protocols, including secure provisioning and network access control. This document specifies the structure and semantics of the PSA attestation token.</t>
              <t>The PSA attestation token is a profile of the Entity Attestation Token (EAT). This specification describes the claims used in an attestation token generated by PSA-compliant systems, how these claims are serialized for transmission, and how they are cryptographically protected.</t>
              <t>This Informational document is published as an Independent Submission to improve interoperability with Arm's architecture. It is not a standard nor a product of the IETF.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9783"/>
          <seriesInfo name="DOI" value="10.17487/RFC9783"/>
        </reference>
        <reference anchor="RFC9711">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="L. Lundblade" initials="L." surname="Lundblade"/>
            <author fullname="G. Mandyam" initials="G." surname="Mandyam"/>
            <author fullname="J. O'Donoghue" initials="J." surname="O'Donoghue"/>
            <author fullname="C. Wallace" initials="C." surname="Wallace"/>
            <date month="April" year="2025"/>
            <abstract>
              <t>An Entity Attestation Token (EAT) provides an attested claims set that describes the state and characteristics of an entity, a device such as a smartphone, an Internet of Things (IoT) device, network equipment, or such. This claims set is used by a relying party, server, or service to determine the type and degree of trust placed in the entity.</t>
              <t>An EAT is either a CBOR Web Token (CWT) or a JSON Web Token (JWT) with attestation-oriented claims.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9711"/>
          <seriesInfo name="DOI" value="10.17487/RFC9711"/>
        </reference>
        <reference anchor="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>
    </references>
    <?line 621?>

<section anchor="asn1">
      <name>ASN.1 Module</name>
      <t>The following module adheres to ASN.1 specifications <xref target="X.680"/> and
<xref target="X.690"/>.</t>
      <sourcecode type="asn1"><![CDATA[
<CODE BEGINS>

att-fresh-req
  { iso(1) identified-organization(3) dod(6) internet(1)
  security(5) mechanisms(5) pkix(7) id-mod(0)
  id-mod-att-fresh-req (TBDMOD) }

DEFINITIONS IMPLICIT TAGS ::=
BEGIN
EXPORTS ALL;
IMPORTS

id-it, InfoTypeAndValue{}
  FROM PKIXCMP-2023
    { iso(1) identified-organization(3) dod(6) internet(1)
      security(5) mechanisms(5) pkix(7) id-mod(0)
      id-mod-cmp2023-02(TBD-PKIXCMP-23) }
-- RFC Editor: The value for id-mod-cmp2023-02 must be set as soon
-- as it is assigned by I-D.ietf-lamps-rfc4210bis

EVIDENCE-STATEMENT, EvidenceStatementSet
  FROM 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(TBD-CSR-ATTESTATION-2023) }
-- RFC Editor: The value for id-mod-pkix-attest-01 must be set as soon
-- as it is assigned by I-D.ietf-lamps-csr-attestation

CMC-CONTROL
FROM EnrollmentMessageSyntax-2025
   { iso(1) identified-organization(3) dod(6) internet(1)
   security(5) mechanisms(5) pkix(7) id-mod(0)
   id-mod-enrollMsgSyntax-2025(TBD1) }

;

-- NonceRequest and NonceResponse messages

 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   EVIDENCE-STATEMENT.&id({EvidenceStatementSet}) OPTIONAL,
    -- indicates which Evidence type to request a nonce for
    hint   UTF8String 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 INTEGER OPTIONAL,
    -- indicates how long in seconds the Verifier considers
    -- the nonce valid
    type   EVIDENCE-STATEMENT.&id({EvidenceStatementSet}) OPTIONAL,
    -- indicates which Evidence type to request a nonce for
    hint UTF8String OPTIONAL
    -- indicates which Verifier to request a nonce from
 }

id-cmc-nonceReq ::= { id-it TBD1 }

cmc-nonceReq CMC-CONTROL ::=
      { NonceRequest IDENTIFIED BY id-cmc-nonceReq }

id-cmc-nonceResp ::= { id-it TBD2 }

cmc-nonceResp CMC-CONTROL ::=
      { NonceResponse IDENTIFIED BY id-cmc-nonceResp }

END
<CODE ENDS>
]]></sourcecode>
    </section>
  </back>
  <!-- ##markdown-source:
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
zC8Mhvwfk3sqmN1xAAA=

-->

</rfc>
