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


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

]>

<?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-04" 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="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>

    <abstract>


<?line 96?>

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

<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="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 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>One or more nonces are 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 one or more Evidence statements to the RA/CA in step (2).</t>
  <t>One ore more Verifier 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>
</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="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 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 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></figure>

<t>The end entity may request one or more nonces for different Verifier. The
EVIDENCE-STATEMENT type is 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 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 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>When receiving nonces from the RA/CA in a id-it-nonceResponse message, the end entity MUST use them to request Evidence Statements from the respective Attester optionally indicated by type and hint.
If a nonce is provides 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 Verifyer as valid until the respective expiry time 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 title="CMP Exchange with Nonce and Evidence." anchor="fig-cmp-msg"><artwork><![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></figure>

<t>If HTTP is used to transfer the NonceRequest and NonceResponse
messages, the OPTIONAL &lt;operation&gt; path segment defined in
<xref section="3.6" sectionFormat="of" 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
<xref section="2.1" sectionFormat="of" 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 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>

<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 one nonce without providing length, type, or hint using a GET request:</t>

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

<t>To retrieve one or more nonces while specifying the length, type, and/or hint using a POST request:</t>

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

<t>&lt; ToDo: Fix the json structure regarding the sequence of len, type, and hint and how the OID for type shall be encoded. &gt;</t>

<t>The payload in a POST request MUST be of content-type "application/json" and
MUST contain an array of JSON objects <xref target="RFC7159"/> containing "len", "type", and "hint" members
The optional member "len" indicating the
length of the requested nonce value in bytes. The optional "type" (containing an EvicenceStatement OID as defined in <xref target="I-D.ietf-lamps-csr-attestation"/>) and "hint" members (containing an FQDN based on the definition in the EvidenceHint structure as defined in <xref target="I-D.ietf-lamps-csr-attestation"/>) indicate the Verifyer to use.</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 an array of JSON objects <xref target="RFC7159"/> with
the "nonce" member. The "expiry" member is optional and indicates the validity
period of the nonce.
The optional "type" and "hint" members are copied from the request.</t>

<t>The EST server MAY request HTTP-based client authentication, as
explained in Section 3.2.3 of <xref target="RFC7030"/>.</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"
    "type": "<OID>",
    "hint": "https://example.com"
  },
  ...
]
]]></artwork></figure>

<t>&lt; ToDo: Fix the json structure regarding the sequence of len, type, and hint and how the OID for type shall be encoded. &gt;</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="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="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>

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

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

<texttable>
      <ttcol align='left'>Decimal</ttcol>
      <ttcol align='left'>Description</ttcol>
      <ttcol align='left'>References</ttcol>
      <c>TBDMOD</c>
      <c>id-mod-att-fresh-req</c>
      <c>This-RFC</c>
</texttable>

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

<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
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>
<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 title='References' anchor="sec-combined-references">

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



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


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

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

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

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-csr-attestation-19"/>
   
</reference>


<reference anchor="I-D.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="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>


<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 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="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 546?>

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

<figure><sourcecode type="asn1"><![CDATA[
<CODE BEGINS>

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

;

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

END


<CODE ENDS>
]]></sourcecode></figure>

</section>


  </back>

<!-- ##markdown-source:
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

-->

</rfc>

