<?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.43 (Ruby 3.4.9) -->
<?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-09" category="std" consensus="true" submissionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="Freshness for Evidence in CSRs">Requesting a Freshness Nonce for Attestation Evidence in Certificate Signing Requests</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-attestation-freshness-09"/>
    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <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>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="2026"/>
    <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 115?>

<t>When an end entity includes attestation statements in a Certificate Signing
Request (CSR), the freshness of the conveyed Evidence often needs to be
established. A common mechanism is a nonce that is obtained from a Relying
Party or Verifier and included by the Attester in the Evidence.</t>
      <t>This document specifies how an end entity requests such an attestation
freshness nonce from an RA/CA when using certificate lifecycle management protocols.
It defines message formats and protocol bindings for the conveyance of nonce
request and response messages in the Certificate Management Protocol (CMP),
Enrollment over Secure Transport (EST), and Certificate Management over CMS
(CMC), including optional type-specific information needed to produce fresh
Evidence for inclusion in a CSR.</t>
    </abstract>
  </front>
  <middle>
    <?line 130?>

<section anchor="Introduction">
      <name>Introduction</name>
      <t><xref target="I-D.ietf-lamps-csr-attestation"/> specifies how Attestation Evidence, as
defined in the RATS Architecture <xref target="RFC9334"/>, can be conveyed in a Certificate
Signing Request (CSR) using PKCS#10 <xref target="RFC2986"/> or CRMF <xref target="RFC4211"/>. The RATS
Architecture calls for establishing the freshness of Evidence, see
<xref section="10" sectionFormat="of" target="RFC9334"/>. A common method for establishing freshness is the
use of nonces. Such nonces must be provided by the Relying Party or Verifier
and included in the Evidence by the Attester.</t>
      <t>When the CSR is conveyed using a certificate lifecycle management protocol, such
as CMP <xref target="RFC9810"/>, EST <xref target="RFC7030"/>, or CMC <xref target="RFC10002"/>, the
end entity can request the required nonce from the RA/CA in a prior message
exchange and pass it to the Attester to produce fresh Evidence.</t>
      <t>This document describes how an end entity can request a nonce from an RA/CA
using CMP, EST, and CMC.</t>
      <t>The following topics are out of scope for this document and either covered
in other specifications or are implementation or deployment details:</t>
      <ul spacing="normal">
        <li>
          <t>whether a CSR requires one or more nonces,</t>
        </li>
        <li>
          <t>how the end entity forwards the nonce to the Attester,</t>
        </li>
        <li>
          <t>whether the RA/CA or the Verifier generates the nonce and how those entities
communicate with each other, and</t>
        </li>
        <li>
          <t>other methods for establishing freshness.</t>
        </li>
      </ul>
      <t>In this context, the end entity is a device that contains one or more Attesters,
and the RA/CA acts as a Relying Party that communicates with one or more Verifiers.</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>This document uses RATS and PKIX terminology as described in
<xref section="3" sectionFormat="of" target="I-D.ietf-lamps-csr-attestation"/>. It also uses terminology from
the applicable certificate lifecycle management protocols: CMP, EST, and CMC.</t>
    </section>
    <section anchor="Architecture">
      <name>Architecture and Message Formats</name>
      <t>According to <xref target="I-D.ietf-lamps-csr-attestation"/>, a CSR can contain multiple
<tt>AttestationStatements</tt> and multiple certificates for validating those
<tt>AttestationStatements</tt>. This document describes how an end entity can use CMP,
EST, or CMC to request a nonce from the RA/CA for a specific type of Evidence
to be included in the CSR.</t>
      <t>The end entity sends a nonce request message with the following fields:</t>
      <ul spacing="normal">
        <li>
          <t><tt>len</tt>: In this OPTIONAL field, the end entity can specify the desired length of
the requested nonce in bytes as a value between 8 and 64.</t>
        </li>
        <li>
          <t><tt>reqTypeInfo</tt>: This OPTIONAL structure groups the type-specific information
for the nonce request. It contains:
          </t>
          <ul spacing="normal">
            <li>
              <t><tt>type</tt>: The end entity can specify the type of the reqInfo structure.</t>
            </li>
            <li>
              <t><tt>reqInfo</tt>: If type is set, this OPTIONAL field MUST contain the type-specific
content that the RA/CA requires to generate respInfo. If type is not set,
<tt>reqInfo</tt> MUST also be omitted.</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>The RA/CA can return the requested nonce in a nonce response message together
with information specific to the generation of the Evidence.</t>
      <t>The nonce response message has the following fields:</t>
      <ul spacing="normal">
        <li>
          <t><tt>nonce</tt>: This field MUST contain the nonce if the RA/CA is able and willing to
provide it. If a specific length was requested, the RA/CA SHOULD provide a
nonce of that size. If the RA/CA doesn't need a freshness proof, the nonce
MUST be an empty or zero-length string.</t>
        </li>
        <li>
          <t><tt>expiry</tt>: In this OPTIONAL field, the RA/CA can specify the validity period of
the nonce in seconds as an integer value. The nonce can be used during this
period; the response therefore needs to be conveyed promptly.</t>
        </li>
        <li>
          <t><tt>respTypeInfo</tt>: This OPTIONAL structure groups the type-specific information
for the nonce response. It contains:
          </t>
          <ul spacing="normal">
            <li>
              <t><tt>type</tt>: The RA/CA can specify the type of the <tt>respInfo</tt> structure. The type
in the nonce response message is defined by the type in the nonce request
message.</t>
            </li>
            <li>
              <t><tt>respInfo</tt>: If type is set, this OPTIONAL field MUST contain the type-specific
content requested by the end entity for generating the Evidence. If type is
not set, <tt>respInfo</tt> MUST also be omitted.</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>This document does not further specify the content of the <tt>reqInfo</tt> and <tt>respInfo</tt>
structures; those structures must be defined elsewhere. Each definition must
assign an object identifier and specify the exact content of the corresponding
field. The definition of the <tt>reqInfo</tt> structure must also specify the type of the expected
<tt>respInfo</tt> structure. The message structure and the <tt>reqInfo</tt> or <tt>respInfo</tt> structures
can use different encodings. For example, an ASN.1 message can contain <tt>reqInfo</tt> or
<tt>respInfo</tt> encoded as JSON, if necessary. The <tt>reqInfo</tt> structure may be used to
provide the required information to the Relying Party to route the nonce request
to the appropriate Verifier when multiple verifiers are supported. The <tt>respInfo</tt>
structure may be used to convey Generic Information Elements
(<xref section="6" sectionFormat="of" target="I-D.ietf-rats-reference-interaction-models"/>) such as Attesting
Environment IDs and Claim Selection. <xref target="appx-tpm-pcr-example"/> provides an
informative example using a TPM PCR selection.</t>
      <t>The generic message flow between the end entity and the RA/CA is shown in
<xref target="fig-msgFlow"/>.</t>
      <figure anchor="fig-msgFlow">
        <name>Message Flow in Background Check Model</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="400" width="528" viewBox="0 0 528 400" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 40,64 L 40,384" fill="none" stroke="black"/>
              <path d="M 264,64 L 264,384" fill="none" stroke="black"/>
              <path d="M 496,64 L 496,384" fill="none" stroke="black"/>
              <path d="M 48,112 L 256,112" fill="none" stroke="black"/>
              <path d="M 48,144 L 256,144" fill="none" stroke="black"/>
              <path d="M 272,176 L 488,176" fill="none" stroke="black"/>
              <path d="M 272,208 L 488,208" fill="none" stroke="black"/>
              <path d="M 48,240 L 256,240" fill="none" stroke="black"/>
              <path d="M 48,272 L 256,272" fill="none" stroke="black"/>
              <path d="M 272,304 L 488,304" fill="none" stroke="black"/>
              <path d="M 272,336 L 488,336" fill="none" stroke="black"/>
              <path d="M 48,368 L 256,368" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="496,304 484,298.4 484,309.6" fill="black" transform="rotate(0,488,304)"/>
              <polygon class="arrowhead" points="496,176 484,170.4 484,181.6" fill="black" transform="rotate(0,488,176)"/>
              <polygon class="arrowhead" points="280,336 268,330.4 268,341.6" fill="black" transform="rotate(180,272,336)"/>
              <polygon class="arrowhead" points="280,208 268,202.4 268,213.6" fill="black" transform="rotate(180,272,208)"/>
              <polygon class="arrowhead" points="264,272 252,266.4 252,277.6" fill="black" transform="rotate(0,256,272)"/>
              <polygon class="arrowhead" points="264,144 252,138.4 252,149.6" fill="black" transform="rotate(0,256,144)"/>
              <polygon class="arrowhead" points="264,112 252,106.4 252,117.6" fill="black" transform="rotate(0,256,112)"/>
              <polygon class="arrowhead" points="56,368 44,362.4 44,373.6" fill="black" transform="rotate(180,48,368)"/>
              <polygon class="arrowhead" points="56,240 44,234.4 44,245.6" fill="black" transform="rotate(180,48,240)"/>
              <polygon class="arrowhead" points="56,112 44,106.4 44,117.6" fill="black" transform="rotate(180,48,112)"/>
              <g class="text">
                <text x="16" y="36">end</text>
                <text x="60" y="36">entity</text>
                <text x="264" y="36">RA/CA</text>
                <text x="28" y="52">device</text>
                <text x="76" y="52">with</text>
                <text x="132" y="52">Attester</text>
                <text x="248" y="52">Relying</text>
                <text x="304" y="52">Party</text>
                <text x="492" y="52">Verifier</text>
                <text x="104" y="84">certificate</text>
                <text x="192" y="84">lifecycle</text>
                <text x="116" y="100">management</text>
                <text x="196" y="100">protocol</text>
                <text x="88" y="132">request</text>
                <text x="144" y="132">nonce</text>
                <text x="312" y="164">request</text>
                <text x="368" y="164">nonce</text>
                <text x="436" y="164">(optional)</text>
                <text x="304" y="196">nonce</text>
                <text x="372" y="196">(optional)</text>
                <text x="80" y="228">nonce</text>
                <text x="92" y="260">attested</text>
                <text x="144" y="260">CSR</text>
                <text x="316" y="292">Evidence</text>
                <text x="328" y="324">Attestation</text>
                <text x="404" y="324">Result</text>
                <text x="104" y="356">certificate</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
end entity                    RA/CA
device with Attester       Relying Party                 Verifier
    |                           |                            |
    |  certificate lifecycle    |                            |
    |    management protocol    |                            |
    |<------------------------->|                            |
    |  request nonce            |                            |
    |-------------------------->|                            |
    |                           |  request nonce (optional)  |
    |                           |--------------------------->|
    |                           |  nonce (optional)          |
    |                           |<---------------------------|
    |  nonce                    |                            |
    |<--------------------------|                            |
    |  attested CSR             |                            |
    |-------------------------->|                            |
    |                           |  Evidence                  |
    |                           |--------------------------->|
    |                           |  Attestation Result        |
    |                           |<---------------------------|
    |  certificate              |                            |
    |<--------------------------|                            |
    |                           |                            |
]]></artwork>
        </artset>
      </figure>
      <t>The nonce request and response messages SHOULD be transferred within the same
PKI management operation context provided by the certificate lifecycle management
protocol being used, just as the certificate request and response messages are,
so that the RA/CA can unambiguously associate the provided nonce with the evidence
in the CSR.
This association is required because the RA/CA treats the Evidence carried in the
CSR as opaque and therefore cannot rely on inspecting the Evidence to determine
which previously issued nonce applies to that CSR.</t>
      <t>The nonce request and nonce response messages allow the end entity to request
only one nonce and one <tt>respInfo</tt> structure from the RA/CA. If the end entity
wants to include multiple Evidence statements in a CSR, it can use the
composite Attester model described in <xref section="3.3" sectionFormat="of" target="RFC9334"/> and
<xref target="I-D.richardson-rats-composite-attesters"/>, i.e., together with a conceptual
message wrapper (CMW) <xref target="I-D.ietf-rats-msg-wrap"/> structure, as described in
<xref section="4.3" sectionFormat="of" target="I-D.ietf-lamps-csr-attestation"/>. The lead Attester
should then pass the nonce to the sub-Attesters. Based on Figure 2 of
<xref target="I-D.richardson-rats-composite-attesters"/>, <xref target="fig-lead-Attester"/> shows an
example of how a nonce can be distributed among several Attesters in an end
entity. If multiple <tt>respInfo</tt> structures are required, the <tt>reqInfo</tt> and <tt>respInfo</tt>
structures can also use a conceptual message wrapper (CMW).</t>
      <figure anchor="fig-lead-Attester">
        <name>Class 1 Composite Attester</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="528" width="544" viewBox="0 0 544 528" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,160 L 8,512" fill="none" stroke="black"/>
              <path d="M 24,256 L 24,480" fill="none" stroke="black"/>
              <path d="M 40,272 L 40,320" fill="none" stroke="black"/>
              <path d="M 88,328 L 88,432" fill="none" stroke="black"/>
              <path d="M 112,176 L 112,208" fill="none" stroke="black"/>
              <path d="M 152,272 L 152,320" fill="none" stroke="black"/>
              <path d="M 176,400 L 176,448" fill="none" stroke="black"/>
              <path d="M 184,32 L 184,64" fill="none" stroke="black"/>
              <path d="M 208,72 L 208,168" fill="none" stroke="black"/>
              <path d="M 208,216 L 208,392" fill="none" stroke="black"/>
              <path d="M 240,72 L 240,168" fill="none" stroke="black"/>
              <path d="M 240,216 L 240,392" fill="none" stroke="black"/>
              <path d="M 264,32 L 264,64" fill="none" stroke="black"/>
              <path d="M 288,400 L 288,448" fill="none" stroke="black"/>
              <path d="M 304,336 L 304,480" fill="none" stroke="black"/>
              <path d="M 352,176 L 352,208" fill="none" stroke="black"/>
              <path d="M 416,352 L 416,400" fill="none" stroke="black"/>
              <path d="M 416,432 L 416,480" fill="none" stroke="black"/>
              <path d="M 520,352 L 520,400" fill="none" stroke="black"/>
              <path d="M 520,432 L 520,480" fill="none" stroke="black"/>
              <path d="M 536,160 L 536,512" fill="none" stroke="black"/>
              <path d="M 184,32 L 264,32" fill="none" stroke="black"/>
              <path d="M 184,64 L 264,64" fill="none" stroke="black"/>
              <path d="M 8,160 L 200,160" fill="none" stroke="black"/>
              <path d="M 216,160 L 232,160" fill="none" stroke="black"/>
              <path d="M 248,160 L 536,160" fill="none" stroke="black"/>
              <path d="M 112,176 L 352,176" fill="none" stroke="black"/>
              <path d="M 112,208 L 352,208" fill="none" stroke="black"/>
              <path d="M 24,256 L 200,256" fill="none" stroke="black"/>
              <path d="M 216,256 L 232,256" fill="none" stroke="black"/>
              <path d="M 248,256 L 304,256" fill="none" stroke="black"/>
              <path d="M 40,272 L 152,272" fill="none" stroke="black"/>
              <path d="M 40,320 L 152,320" fill="none" stroke="black"/>
              <path d="M 416,352 L 520,352" fill="none" stroke="black"/>
              <path d="M 312,368 L 408,368" fill="none" stroke="black"/>
              <path d="M 312,384 L 408,384" fill="none" stroke="black"/>
              <path d="M 176,400 L 288,400" fill="none" stroke="black"/>
              <path d="M 416,400 L 520,400" fill="none" stroke="black"/>
              <path d="M 88,432 L 168,432" fill="none" stroke="black"/>
              <path d="M 416,432 L 520,432" fill="none" stroke="black"/>
              <path d="M 176,448 L 288,448" fill="none" stroke="black"/>
              <path d="M 312,448 L 408,448" fill="none" stroke="black"/>
              <path d="M 312,464 L 408,464" fill="none" stroke="black"/>
              <path d="M 24,480 L 112,480" fill="none" stroke="black"/>
              <path d="M 224,480 L 304,480" fill="none" stroke="black"/>
              <path d="M 416,480 L 520,480" fill="none" stroke="black"/>
              <path d="M 8,512 L 248,512" fill="none" stroke="black"/>
              <path d="M 336,512 L 536,512" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="416,448 404,442.4 404,453.6" fill="black" transform="rotate(0,408,448)"/>
              <polygon class="arrowhead" points="416,368 404,362.4 404,373.6" fill="black" transform="rotate(0,408,368)"/>
              <polygon class="arrowhead" points="320,464 308,458.4 308,469.6" fill="black" transform="rotate(180,312,464)"/>
              <polygon class="arrowhead" points="320,384 308,378.4 308,389.6" fill="black" transform="rotate(180,312,384)"/>
              <polygon class="arrowhead" points="248,216 236,210.4 236,221.6" fill="black" transform="rotate(270,240,216)"/>
              <polygon class="arrowhead" points="248,72 236,66.4 236,77.6" fill="black" transform="rotate(270,240,72)"/>
              <polygon class="arrowhead" points="216,392 204,386.4 204,397.6" fill="black" transform="rotate(90,208,392)"/>
              <polygon class="arrowhead" points="216,168 204,162.4 204,173.6" fill="black" transform="rotate(90,208,168)"/>
              <polygon class="arrowhead" points="176,432 164,426.4 164,437.6" fill="black" transform="rotate(0,168,432)"/>
              <g class="text">
                <text x="204" y="52">RA</text>
                <text x="224" y="52">/</text>
                <text x="244" y="52">CA</text>
                <text x="184" y="100">nonce</text>
                <text x="256" y="100">CSR</text>
                <text x="160" y="196">certificate</text>
                <text x="252" y="196">management</text>
                <text x="324" y="196">client</text>
                <text x="328" y="276">Evidence-collection</text>
                <text x="424" y="276">CMW</text>
                <text x="76" y="292">target</text>
                <text x="112" y="292">A</text>
                <text x="200" y="292">n</text>
                <text x="260" y="292">1:</text>
                <text x="360" y="292">CMW(Evidence(Attester</text>
                <text x="460" y="292">A)</text>
                <text x="96" y="308">environment</text>
                <text x="200" y="308">o</text>
                <text x="260" y="308">2:</text>
                <text x="376" y="308">Evidence(Attester</text>
                <text x="460" y="308">B)</text>
                <text x="200" y="324">n</text>
                <text x="260" y="324">3:</text>
                <text x="376" y="324">Evidence(Attester</text>
                <text x="464" y="324">C))</text>
                <text x="200" y="340">c</text>
                <text x="120" y="356">collect</text>
                <text x="200" y="356">e</text>
                <text x="344" y="356">nonce</text>
                <text x="116" y="372">Claims</text>
                <text x="460" y="372">Attester</text>
                <text x="504" y="372">B</text>
                <text x="356" y="404">Evidence</text>
                <text x="400" y="404">B</text>
                <text x="224" y="420">attesting</text>
                <text x="232" y="436">environment</text>
                <text x="344" y="436">nonce</text>
                <text x="460" y="452">Attester</text>
                <text x="504" y="452">C</text>
                <text x="124" y="468">Attester</text>
                <text x="168" y="468">A</text>
                <text x="132" y="484">lead</text>
                <text x="188" y="484">Attester</text>
                <text x="356" y="484">Evidence</text>
                <text x="400" y="484">C</text>
                <text x="264" y="516">end</text>
                <text x="308" y="516">entity</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
                      .---------.
                      | RA / CA |
                      '---------'
                         |   ^
                    nonce|   |CSR
                         |   |
                         |   |
                         |   |
.------------------------v---|------------------------------------.
|            .-----------------------------.                      |
|            |certificate management client|                      |
|            '-----------------------------'                      |
|                        |   ^                                    |
|                        |   |                                    |
| .----------------------|---|-------.                            |
| | .-------------.      |   | Evidence-collection CMW            |
| | | target A    |     n|   | 1: CMW(Evidence(Attester A)        |
| | | environment |     o|   | 2:     Evidence(Attester B)        |
| | '-------------'     n|   | 3:     Evidence(Attester C))       |
| |       |             c|   |       |                            |
| |       |collect      e|   |       |  nonce      .------------. |
| |       |Claims        |   |       |------------>| Attester B | |
| |       |              v   |       |<------------|            | |
| |       |          .-------------. |  Evidence B '------------' |
| |       |          | attesting   | |                            |
| |       '--------->| environment | |  nonce      .------------. |
| |                  '-------------' |------------>| Attester C | |
| |        Attester A                |<------------|            | |
| '-----------lead Attester----------'  Evidence C '------------' |
|                                                                 |
'------------------------------end entity-------------------------'
]]></artwork>
        </artset>
      </figure>
      <t>The interaction between the end entity and the RA/CA is illustrated in <xref target="fig-msg"/>.</t>
      <figure anchor="fig-msg">
        <name>Exchange with Nonce and Evidence.</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="560" width="552" viewBox="0 0 552 560" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,46 L 80,46" fill="none" stroke="black"/>
              <path d="M 8,50 L 80,50" fill="none" stroke="black"/>
              <path d="M 360,46 L 456,46" fill="none" stroke="black"/>
              <path d="M 360,50 L 456,50" fill="none" stroke="black"/>
              <path d="M 144,80 L 184,80" fill="none" stroke="black"/>
              <path d="M 312,80 L 352,80" fill="none" stroke="black"/>
              <path d="M 144,176 L 176,176" fill="none" stroke="black"/>
              <path d="M 312,176 L 352,176" fill="none" stroke="black"/>
              <path d="M 344,304 L 360,304" fill="none" stroke="black"/>
              <path d="M 136,464 L 152,464" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="368,304 356,298.4 356,309.6" fill="black" transform="rotate(0,360,304)"/>
              <polygon class="arrowhead" points="360,80 348,74.4 348,85.6" fill="black" transform="rotate(0,352,80)"/>
              <polygon class="arrowhead" points="152,176 140,170.4 140,181.6" fill="black" transform="rotate(180,144,176)"/>
              <polygon class="arrowhead" points="144,464 132,458.4 132,469.6" fill="black" transform="rotate(180,136,464)"/>
              <circle cx="8" cy="528" r="6" class="closeddot" fill="black"/>
              <circle cx="168" cy="240" 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="408" y="36">RA/CA</text>
                <text x="216" y="84">nonce</text>
                <text x="272" y="84">request</text>
                <text x="372" y="116">Verify</text>
                <text x="432" y="116">request</text>
                <text x="380" y="132">Generate</text>
                <text x="428" y="132">or</text>
                <text x="468" y="132">obtain</text>
                <text x="524" y="132">nonce*</text>
                <text x="372" y="148">Create</text>
                <text x="436" y="148">response</text>
                <text x="208" y="180">nonce</text>
                <text x="268" y="180">response</text>
                <text x="216" y="196">(nonce,</text>
                <text x="280" y="196">expiry)</text>
                <text x="36" y="228">Generate</text>
                <text x="88" y="228">key</text>
                <text x="124" y="228">pair</text>
                <text x="36" y="244">Generate</text>
                <text x="120" y="244">Evidence(s)</text>
                <text x="36" y="260">Generate</text>
                <text x="128" y="260">certification</text>
                <text x="48" y="276">request</text>
                <text x="112" y="276">message</text>
                <text x="148" y="308">--</text>
                <text x="216" y="308">certification</text>
                <text x="304" y="308">request</text>
                <text x="180" y="324">+Evidence(s)</text>
                <text x="272" y="324">including</text>
                <text x="336" y="324">nonce</text>
                <text x="372" y="356">Verify</text>
                <text x="432" y="356">request</text>
                <text x="372" y="372">Verify</text>
                <text x="452" y="372">Evidence(s)*</text>
                <text x="368" y="388">Check</text>
                <text x="464" y="388">freshness/replay*</text>
                <text x="368" y="404">Issue</text>
                <text x="440" y="404">certificate</text>
                <text x="372" y="420">Create</text>
                <text x="436" y="420">response</text>
                <text x="372" y="436">Handle</text>
                <text x="436" y="436">response</text>
                <text x="216" y="468">certification</text>
                <text x="308" y="468">response</text>
                <text x="356" y="468">--</text>
                <text x="24" y="500">Store</text>
                <text x="96" y="500">certificate</text>
                <text x="16" y="532">:</text>
                <text x="48" y="532">These</text>
                <text x="96" y="532">steps</text>
                <text x="136" y="532">can</text>
                <text x="184" y="532">require</text>
                <text x="268" y="532">interactions</text>
                <text x="340" y="532">with</text>
                <text x="376" y="532">the</text>
                <text x="428" y="532">Attester</text>
                <text x="480" y="532">(on</text>
                <text x="512" y="532">the</text>
                <text x="40" y="548">end</text>
                <text x="84" y="548">entity</text>
                <text x="136" y="548">side)</text>
                <text x="176" y="548">and</text>
                <text x="212" y="548">with</text>
                <text x="248" y="548">the</text>
                <text x="300" y="548">Verifier</text>
                <text x="352" y="548">(on</text>
                <text x="384" y="548">the</text>
                <text x="424" y="548">RA/CA</text>
                <text x="476" y="548">side).</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
end entity                                      RA/CA
==========                                  =============

                 ------ nonce request ----->

                                           Verify request
                                           Generate or obtain nonce*
                                           Create response

                 <---- nonce response ------
                       (nonce, expiry)

Generate key pair
Generate Evidence(s)*
Generate certification
  request message

                 -- certification request -->
                +Evidence(s) including nonce

                                           Verify request
                                           Verify Evidence(s)*
                                           Check freshness/replay*
                                           Issue certificate
                                           Create response
                                           Handle response

                <-- certification response --

Store certificate

*: These steps can require interactions with the Attester (on the
   end entity side) and with the Verifier (on the RA/CA side).
]]></artwork>
        </artset>
      </figure>
      <t>The following sections define the generic data structures for nonce request and
nonce response message content. CMP and CMC use ASN.1, while EST uses JSON and CBOR,
both defined CDDL.</t>
      <section anchor="ASN.1">
        <name>ASN.1 Representation</name>
        <t>This section defines nonce request and nonce response message content as ASN.1 types for use in
CMP, see <xref target="CMP"/>, and CMC, see <xref target="CMC"/>. Nonce values conveyed as ASN.1 OCTET STRING values
in CMP and CMC are between 8 and 64 bytes in length. A zero-length OCTET STRING indicates
that the RA/CA does not require proof of freshness for the upcoming certificate request.</t>
        <artwork><![CDATA[
ATTESTATION-NONCE-REQUEST ::= TYPE-IDENTIFIER
AttestationNonceRequestSet ATTESTATION-NONCE-REQUEST ::= {
   ... -- None defined in this document --
}

ATTESTATION-NONCE-RESPONSE ::= TYPE-IDENTIFIER
AttestationNonceResponseSet ATTESTATION-NONCE-RESPONSE ::= {
   ... -- None defined in this document --
}

NonceRequestTypeInfo ::= SEQUENCE {
    type ATTESTATION-NONCE-REQUEST.&id(
                 {AttestationNonceRequestSet}),
    -- identifies the nonce-request syntax for the selected
    --   attestation statement type
    reqInfo  ATTESTATION-NONCE-REQUEST.&Type(
                 {AttestationNonceRequestSet}{@type}) OPTIONAL
    -- contains type-specific nonce-request information
}

NonceResponseTypeInfo ::= SEQUENCE {
    type ATTESTATION-NONCE-RESPONSE.&id(
                 {AttestationNonceResponseSet}),
    -- identifies the nonce-response syntax for the selected
    --   attestation statement type
    respInfo ATTESTATION-NONCE-RESPONSE.&Type(
                 {AttestationNonceResponseSet}{@type}) OPTIONAL
    -- contains type-specific nonce-response information
}

 NonceRequest ::= SEQUENCE {
    len      INTEGER (8..64) OPTIONAL,
    -- indicates the required length of the requested nonce
    reqTypeInfo NonceRequestTypeInfo OPTIONAL
 }

 NonceResponse ::= SEQUENCE {
    nonce    OCTET STRING (SIZE(0 | 8..64)),
    -- contains the nonce of length len
    -- a zero-length OCTET STRING indicates that no freshness
    --   proof is required
    expiry   INTEGER OPTIONAL,
    -- indicates how long in seconds the nonce issuer considers
    --   the nonce valid
    respTypeInfo NonceResponseTypeInfo OPTIONAL
 }
]]></artwork>
      </section>
      <section anchor="CDDL">
        <name>CDDL Representation</name>
        <t>This section provides a CDDL <xref target="RFC8610"/> definition for the JSON and CBOR nonce
request and nonce response message content. The nonce-request rule applies to
both JSON and CBOR. The nonce-response-json and nonce-response-cbor rules define
the encoding-specific representation of the nonce value. For JSON, the
base64url-nonce rule captures the allowed character set and encoded length; the
decoded nonce length requirements are specified in <xref target="EST-https"/>.</t>
        <sourcecode type="cddl"><![CDATA[
nonce-request = {
  ? "len": nonce-length,
  ? "reqTypeInfo": nonce-request-type-info
}

nonce-request-type-info = {
  "type": dotted-decimal-oid,
  ? "reqInfo": any
}

nonce-response-json = {
    "nonce": json-nonce,
  ? "expiry": uint,
  ? "respTypeInfo": nonce-response-type-info-json
}

nonce-response-type-info-json = {
  "type": dotted-decimal-oid,
  ? "respInfo": any
}

nonce-response-cbor = {
    "nonce": cbor-nonce,
  ? "expiry": uint,
  ? "respTypeInfo": nonce-response-type-info-cbor
}

nonce-response-type-info-cbor = {
  "type": dotted-decimal-oid,
  ? "respInfo": any
}

nonce-length = 8..64
cbor-nonce = h'' / bstr .size (8..64)
json-nonce = "" / base64url-nonce
base64url-nonce = tstr .regexp "[A-Za-z0-9_-]{11,86}"
dotted-decimal-oid = tstr
]]></sourcecode>
      </section>
    </section>
    <section anchor="CMP">
      <name>Use with CMP</name>
      <t>The nonce request and nonce response message content is conveyed as ASN.1 content,
see <xref target="ASN.1"/>, in a general message (<tt>genm</tt>) <xref section="5.3.19" sectionFormat="of" target="RFC9810"/>
and general response (<tt>genp</tt>) <xref section="5.3.20" sectionFormat="of" target="RFC9810"/>, respectively.</t>
      <artwork><![CDATA[
GenMsg:    {id-it TBD1}, NonceRequest
GenRep:    {id-it TBD2}, NonceResponse

id-it-nonceRequest OBJECT IDENTIFIER ::= { id-it TBD1 }
NonceRequestValue ::= NonceRequest

id-it-nonceResponse OBJECT IDENTIFIER ::= { id-it TBD2 }
NonceResponseValue ::= NonceResponse
]]></artwork>
      <t>When CMP is transferred over HTTP, the OPTIONAL <tt>&lt;operation&gt;</tt> path segment
defined in <xref section="3.4" sectionFormat="of" target="RFC9811"/> MAY be used for the nonce request message.</t>
      <table>
        <thead>
          <tr>
            <th align="left">Operation</th>
            <th align="left">Operation path</th>
            <th align="left">Details</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">Get Attestation Freshness Nonce</td>
            <td align="left">
              <tt>getnonce</tt></td>
            <td align="left">
              <xref target="CMP"/></td>
          </tr>
        </tbody>
      </table>
      <t>When CMP is transferred over CoAP, the OPTIONAL <tt>&lt;operation&gt;</tt> path segment
defined in <xref section="2.1" sectionFormat="of" target="RFC9482"/> MAY be used for the nonce request message.</t>
      <table>
        <thead>
          <tr>
            <th align="left">Operation</th>
            <th align="left">Operation path</th>
            <th align="left">Details</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">Get Attestation Freshness Nonce</td>
            <td align="left">
              <tt>nonce</tt></td>
            <td align="left">
              <xref target="CMP"/></td>
          </tr>
        </tbody>
      </table>
      <t>To ensure that the nonce request and response messages are associated with the subsequent
request and response messages used to transmit the CSR, the transaction ID specified in
<xref section="5.1.1" sectionFormat="of" target="RFC9810"/> MUST be used.</t>
      <t>In the event of a possible error or if the RA/CA is unable or unwilling to deliver the
requested nonce, CMP offers several ways to indicate this. Which variant fits depends
on the circumstances.</t>
      <ul spacing="normal">
        <li>
          <t>Respond with an error message containing the <tt>PKIFailureInfo</tt> bit as defined by <xref target="RFC9483"/>.</t>
        </li>
        <li>
          <t>If HTTP or CoAP is used for transferring the general message, return a status code
on transfer level as described in <xref target="RFC9811"/> or <xref target="RFC9482"/>.</t>
        </li>
      </ul>
    </section>
    <section anchor="EST">
      <name>Use with EST</name>
      <t>The nonce request and nonce response message content is conveyed as JSON or CBOR
according to the CDDL definition, see <xref target="CDDL"/>, between end entity (EST client) and
RA/CA (EST server). A compliant EST server MUST provide an EST endpoint with
the path-segment /nonce for this operation.</t>
      <table>
        <thead>
          <tr>
            <th align="left">Operation</th>
            <th align="left">Operation path</th>
            <th align="left">Details</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">Request of a nonce</td>
            <td align="left">
              <tt>/nonce</tt></td>
            <td align="left">
              <xref target="EST"/></td>
          </tr>
        </tbody>
      </table>
      <t>Depending on whether additional parameters are to be transferred, the client
uses either the <tt>GET</tt> or <tt>POST</tt> method:</t>
      <ul spacing="normal">
        <li>
          <t>The <tt>GET</tt> method MUST be used if no optional content is to be transferred</t>
        </li>
        <li>
          <t>The <tt>POST</tt> method MUST be used if nonce request message content encoded in JSON
or CBOR is to be transferred.</t>
        </li>
      </ul>
      <section anchor="EST-https">
        <name>EST over HTTPS</name>
        <t>If the nonce request and nonce response message content is transferred over HTTPS,
the specification in <xref target="RFC7030"/> applies.</t>
        <t>The JSON nonce request object is formally described by the nonce-request CDDL
rule in <xref target="CDDL"/>. The JSON nonce response object is formally described by the
nonce-response-json CDDL rule in <xref target="CDDL"/>.</t>
        <t>The JSON structure has the following members:</t>
        <ul spacing="normal">
          <li>
            <t>The OPTIONAL "len" and "expiry" members, if present, MUST be unsigned
integers.</t>
          </li>
          <li>
            <t>The "nonce" member MUST either contain a zero-length string or the nonce
value between 8 and 64 bytes in length conveyed as a JSON string containing
the unpadded base64url encoding, as specified in <xref section="5" sectionFormat="of" target="RFC4648"/>.
Such encodings are between 11 and 86 characters in length.</t>
          </li>
          <li>
            <t>The OPTIONAL "reqTypeInfo" member (in requests) and "respTypeInfo" member
(in responses) are JSON objects that group the type-specific information.
Each object contains:
            </t>
            <ul spacing="normal">
              <li>
                <t>A "type" member, which MUST be a text string containing the object
identifier as a dotted-decimal OID.</t>
              </li>
              <li>
                <t>An OPTIONAL "reqInfo" or "respInfo" member whose contents are defined
by the OID in the corresponding "type" member.</t>
              </li>
            </ul>
          </li>
        </ul>
        <t>If the nonce request message was successful, the EST server MUST respond with an HTTP 200
status code and the nonce response message content MUST be encoded as a JSON object.
The HTTP 200 status code MUST also be used if the nonce is an empty string.</t>
        <t>In the event of a possible error, the EST server MUST respond with an HTTP
status code 400 (Bad Request) and MUST omit the nonce response message content. If the
nonce request message has been made correctly, but the EST server is unable or unwilling
to deliver the requested nonce, it MUST respond with an HTTP 503 (Service
Unavailable).</t>
        <t>The EST server MAY request HTTP-based client authentication as described in
<xref section="3.2.3" sectionFormat="of" target="RFC7030"/>.</t>
        <t>The following media types MUST be used as the Content-Type of the <tt>POST</tt> request
and the response.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Message type (per operation)</th>
              <th align="left">Media type(s)</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">NonceRequest</td>
              <td align="left">N/A (for GET) or<br/>application/est-attestation-freshness+json (for POST)</td>
              <td align="left">
                <xref target="EST-https"/></td>
            </tr>
            <tr>
              <td align="left">NonceResponse</td>
              <td align="left">application/est-attestation-freshness+json</td>
              <td align="left">
                <xref target="EST-https"/></td>
            </tr>
          </tbody>
        </table>
        <t>The following example shows a nonce request and nonce response message exchange without
transmitting optional parameters in the request:</t>
        <artwork><![CDATA[
GET /.well-known/est/nonce HTTP/1.1

HTTP/1.1 200 OK
Content-Type: application/est-attestation-freshness+json

{
  "nonce": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI",
  "expiry": 600
}
]]></artwork>
        <t>The following example shows a nonce request and nonce response message exchange:</t>
        <artwork><![CDATA[
POST /.well-known/est/nonce HTTP/1.1
Content-Type: application/est-attestation-freshness+json

{
  "len": 32
}

HTTP/1.1 200 OK
Content-Type: application/est-attestation-freshness+json

{
  "nonce": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI",
  "expiry": 600
}
]]></artwork>
        <t>To ensure that the nonce request and response messages are associated with the subsequent
request and response messages used to transmit the CSR, the EST server MUST use a
session-maintenance mechanism that binds the nonce request and response messages to the
subsequent request and response messages used to transmit the CSR. This can be achieved
by using the same (D)TLS session or by using an HTTP state mechanism, such as cookies,
when EST is transferred over HTTP. If the EST server cannot associate the CSR request
with the prior nonce request and response messages, it MUST NOT treat the CSR as
associated with the previously provided nonce.</t>
      </section>
      <section anchor="EST-coaps">
        <name>EST over Secure CoAP</name>
        <t>If the nonce request and nonce response message content is transferred via
secure CoAP, the specification in <xref target="RFC9148"/> applies.</t>
        <t>The CBOR nonce request object is formally described by the nonce-request CDDL
rule in <xref target="CDDL"/>. The CBOR nonce response object is formally described by the
nonce-response-cbor CDDL rule in <xref target="CDDL"/>.</t>
        <t>The CBOR structure has the following members:</t>
        <ul spacing="normal">
          <li>
            <t>All map keys are text strings.</t>
          </li>
          <li>
            <t>The "nonce" member MUST either contain a zero-length octet string or the nonce
value between 8 and 64 bytes in length conveyed as a CBOR byte string.</t>
          </li>
          <li>
            <t>The OPTIONAL "reqTypeInfo" member (in requests) and "respTypeInfo" member
(in responses) are CBOR maps that group the type-specific information.
Each map contains:
            </t>
            <ul spacing="normal">
              <li>
                <t>A "type" member, which is a text string containing the object identifier
in dotted-decimal notation.</t>
              </li>
              <li>
                <t>An OPTIONAL "reqInfo" or "respInfo" member containing type-specific CBOR
values. Their CBOR encoding is defined by the OID in the corresponding
"type" member.</t>
              </li>
            </ul>
          </li>
        </ul>
        <t>If the nonce request was successful, the EST server MUST respond to a GET
request with a code 2.05 and to a POST request with code 2.04 and the
nonce response message content MUST be encoded as a CBOR object.
The code 2.05 or code 2.04 MUST also be used if the nonce is a zero-length
byte string.</t>
        <t>In the event of a possible error, the EST server MUST respond with a code
4.00 (Bad Request) and MUST omit the nonce response message content. If the
nonce request has been made correctly, but the EST server is unable or
unwilling to deliver the requested nonce, it MUST respond with a code 5.03
(Service Unavailable).</t>
        <t>The following media type MUST be used for nonce request and nonce response message
content. The corresponding CoAP Content-Format value is used in the CoAP
Content-Format and Accept options as specified in <xref target="RFC9148"/>.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Message type (per operation)</th>
              <th align="left">Media type</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">NonceRequest<br/>NonceResponse</td>
              <td align="left">application/est-attestation-freshness+cbor</td>
              <td align="left">
                <xref target="EST-coaps"/></td>
            </tr>
          </tbody>
        </table>
        <t>To ensure that the nonce request and response messages are associated with the subsequent
request and response messages used to transmit the CSR, the EST-coaps server MUST use a
session-maintenance mechanism that binds the nonce request and response messages to the
subsequent request and response messages used to transmit the CSR. CoAP does not define
HTTP cookies. This association can be achieved by using the same secure CoAP security
association, such as the same DTLS connection, or by using an integrity-protected CoAP
mechanism that carries server-generated opaque state, such as the Echo option defined in
<xref target="RFC9175"/>. If the EST-coaps server cannot associate the CSR request with the prior
nonce request and response messages, it MUST NOT treat the CSR as associated with the
previously provided nonce.</t>
      </section>
    </section>
    <section anchor="CMC">
      <name>Use with CMC</name>
      <t>The nonce request and nonce response message content is conveyed as ASN.1,
see <xref target="ASN.1"/>, as CMC Controls in a Full PKI Request, see
<xref section="6" sectionFormat="of" target="RFC10002"/>. The received nonce can be
used for a CSR to be transferred in a Simple or Full PKI request.</t>
      <t>To transfer the controls, the content type <tt>id-data</tt> SHOULD be used.</t>
      <artwork><![CDATA[
cmc-nonceReq CMC-CONTROL ::=
    { NonceRequest IDENTIFIED BY id-cmc-nonceReq }
id-cmc-nonceReq OBJECT IDENTIFIER ::= { id-cmc TBD4 }

cmc-nonceResp CMC-CONTROL ::=
    { NonceResponse IDENTIFIED BY id-cmc-nonceResp }
id-cmc-nonceResp OBJECT IDENTIFIER ::= { id-cmc TBD5 }
]]></artwork>
      <t>The following example shows the nonce request and nonce response message content:</t>
      <artwork><![CDATA[
ContentInfo.contentType = id-data
ContentInfo.content
   controlSequence
      {101, id-cmc-transactionId, 10132985123483401}
      {102, id-cmc-senderNonce, 10001}
      {103, id-cmc-nonceReq, <NonceRequest>}

ContentInfo.contentType = id-data
ContentInfo.content
   controlSequence
      {101, id-cmc-transactionId, 10132985123483401}
      {102, id-cmc-senderNonce, 10005}
      {103, id-cmc-recipientNonce, 10001}
      {104, id-cmc-nonceResp, <NonceResponse>}
]]></artwork>
      <t>To ensure that the nonce request and response messages are associated with the subsequent
request and response messages used to transmit the CSR, the transaction identifier specified in
<xref section="6.6" sectionFormat="of" target="RFC10002"/> MUST be used. The same transaction identifier
MUST be used for the nonce request and response messages and for the subsequent request and
response messages used to transmit the CSR. The senderNonce and recipientNonce controls
specified in <xref section="6.6" sectionFormat="of" target="RFC10002"/> can be used to pair each CMC
request with its corresponding response, but they do not replace the transaction identifier
used to associate the nonce exchange with the subsequent CSR exchange.</t>
      <t>In the event of an error, or if the server is unable to provide the requested nonce,
the CMC Server MAY return status information about the request using either an
Extended CMC Status Info Control or a CMC Status Info Control, as defined in
<xref section="6.1" sectionFormat="of" target="RFC10002"/>.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <section anchor="cmp">
        <name>CMP</name>
        <section anchor="well-known-uri-path-segment">
          <name>Well-Known URI Path Segment</name>
          <t>IANA is requested to add the following entry to the "CMP Well-Known URI Path
Segments" registry defined in <xref target="RFC8615"/>:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Path Segment</th>
                <th align="left">Description</th>
                <th align="left">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>getnonce</tt></td>
                <td align="left">Get Attestation Freshness Nonce over HTTP</td>
                <td align="left">This-RFC</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>nonce</tt></td>
                <td align="left">Get Attestation Freshness Nonce over CoAP</td>
                <td align="left">This-RFC</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="information-type">
          <name>Information Type</name>
          <t>IANA is requested to register the following object identifier in the
"SMI Security for PKIX CMP Information Types" registry
(1.3.6.1.5.5.7.4):</t>
          <table>
            <thead>
              <tr>
                <th align="left">Decimal</th>
                <th align="left">Description</th>
                <th align="left">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">TBD1</td>
                <td align="left">id-it-nonceRequest</td>
                <td align="left">This-RFC</td>
              </tr>
              <tr>
                <td align="left">TBD2</td>
                <td align="left">id-it-nonceResponse</td>
                <td align="left">This-RFC</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
      <section anchor="est">
        <name>EST</name>
        <section anchor="well-known-uri-path-segment-1">
          <name>Well-Known URI Path Segment</name>
          <t>This document defines a new protocol registry group entitled "Enrollment over Secure
Transport (EST)" (at <eref target="https://www.iana.org/assignments/est">https://www.iana.org/assignments/est</eref>) with a new "EST
Well-Known URI Path Segments" registry containing three columns: Path Segment,
Description, and Reference. New items can be added using the Specification Required
<xref target="RFC8615"/> process.</t>
          <t>The initial entry of this registry contains the path segments defined by <xref target="RFC7030"/>,
<xref target="RFC9148"/>, and <xref target="RFC8295"/> and additional two path segments defined by this document:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Path Segment</th>
                <th align="left">Description</th>
                <th align="left">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>cacerts</tt></td>
                <td align="left">Distribution of CA Certificates over HTTP</td>
                <td align="left">
                  <xref target="RFC7030"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>simpleenroll</tt></td>
                <td align="left">Enrollment of Clients over HTTP</td>
                <td align="left">
                  <xref target="RFC7030"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>simplereenroll</tt></td>
                <td align="left">Re-enrollment of Clients over HTTP</td>
                <td align="left">
                  <xref target="RFC7030"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>fullcmc</tt></td>
                <td align="left">Full CMC over HTTP</td>
                <td align="left">
                  <xref target="RFC7030"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>serverkeygen</tt></td>
                <td align="left">Server-Side Key Generation over HTTP</td>
                <td align="left">
                  <xref target="RFC7030"/> <xref target="RFC8295"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>serverkeygen\return</tt></td>
                <td align="left">Server-Side Key Generation Receipts &amp; Errors over HTTP</td>
                <td align="left">
                  <xref target="RFC8295"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>csrattrs</tt></td>
                <td align="left">CSR Attributes over HTTP</td>
                <td align="left">
                  <xref target="RFC7030"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>pal</tt></td>
                <td align="left">Package Availability List over HTTP</td>
                <td align="left">
                  <xref target="RFC8295"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>eecerts</tt></td>
                <td align="left">Distribution of End-Entity Certificates over HTTP</td>
                <td align="left">
                  <xref target="RFC8295"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>crls</tt></td>
                <td align="left">Distribution of CRLs over HTTP</td>
                <td align="left">
                  <xref target="RFC8295"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>symmetrickeys</tt></td>
                <td align="left">Distribution of Symmetric Keys over HTTP</td>
                <td align="left">
                  <xref target="RFC8295"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>symmetrickeys\return</tt></td>
                <td align="left">Return of Symmetric Keys Receipts &amp; Errors over HTTP</td>
                <td align="left">
                  <xref target="RFC8295"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>firmware</tt></td>
                <td align="left">Distribution of Firmware over HTTP</td>
                <td align="left">
                  <xref target="RFC8295"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>firmware\return</tt></td>
                <td align="left">Return of Firmware Receipts  &amp; Errors over HTTP</td>
                <td align="left">
                  <xref target="RFC8295"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>tamp</tt></td>
                <td align="left">Distribution of TAMP Messages over HTTP</td>
                <td align="left">
                  <xref target="RFC8295"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>tamp\return</tt></td>
                <td align="left">Return of Tamp Receipts &amp; Errors over HTTP</td>
                <td align="left">
                  <xref target="RFC8295"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>crts</tt></td>
                <td align="left">Distribution of CA Certificates over CoAP</td>
                <td align="left">
                  <xref target="RFC9148"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>sen</tt></td>
                <td align="left">Enrollment of Clients over CoAP</td>
                <td align="left">
                  <xref target="RFC9148"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>sren</tt></td>
                <td align="left">Re-enrollment of Clients over CoAP</td>
                <td align="left">
                  <xref target="RFC9148"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>skg</tt></td>
                <td align="left">Server-Side Key Generation (PKCS #7) over CoAP</td>
                <td align="left">
                  <xref target="RFC9148"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>skc</tt></td>
                <td align="left">Server-Side Key Generation (application/pkix-cert) over CoAP</td>
                <td align="left">
                  <xref target="RFC9148"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>att</tt></td>
                <td align="left">CSR Attributes over CoAP</td>
                <td align="left">
                  <xref target="RFC9148"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>getnonce</tt></td>
                <td align="left">Get Attestation Freshness Nonce over HTTP</td>
                <td align="left">This-RFC</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>nonce</tt></td>
                <td align="left">Get Attestation Freshness Nonce over CoAP</td>
                <td align="left">This-RFC</td>
              </tr>
            </tbody>
          </table>
          <t>--&gt; Alternative layout based on the proposal from Michael and Esko for discussion:</t>
          <t>This document defines a new protocol registry group entitled "Enrollment over Secure
Transport (EST)" (at <eref target="https://www.iana.org/assignments/est">https://www.iana.org/assignments/est</eref>) with a new "EST
Well-Known URI Path Segments" registry containing four columns: Path Segment,
Short Path Segment, Description, and Reference. New items can be added using the
Specification Required <xref target="RFC8615"/> process.</t>
          <t>The new "Short Path Segment" entry denotes a shorter alternative to Path Segment for
the resource that can be used by a client in a CoAP request on a well-known EST resource.
A value "N/A" can be registered to denote that there is no short path segment defined.</t>
          <t>The initial entry of this registry contains the path segments defined by <xref target="RFC7030"/>
and <xref target="RFC9148"/> and additional set of two path segments defined by this document:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Path Segment</th>
                <th align="left">Short Path Segment</th>
                <th align="left">Description</th>
                <th align="left">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>cacerts</tt></td>
                <td align="left">
                  <tt>crts</tt></td>
                <td align="left">Distribution of CA Certificates</td>
                <td align="left">
                  <xref target="RFC7030"/> <xref target="RFC9148"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>simpleenroll</tt></td>
                <td align="left">
                  <tt>sen</tt></td>
                <td align="left">Enrollment of Clients</td>
                <td align="left">
                  <xref target="RFC7030"/> <xref target="RFC9148"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>simplereenroll</tt></td>
                <td align="left">
                  <tt>sren</tt></td>
                <td align="left">Re-enrollment of Clients</td>
                <td align="left">
                  <xref target="RFC7030"/> <xref target="RFC9148"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>fullcmc</tt></td>
                <td align="left">N/A</td>
                <td align="left">Full CMC</td>
                <td align="left">
                  <xref target="RFC7030"/> <xref target="RFC9148"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>serverkeygen</tt></td>
                <td align="left">
                  <tt>skg</tt> (PKCS #7)<br/><tt>skc</tt> (application/pkix-cert)</td>
                <td align="left">Server-Side Key Generation</td>
                <td align="left">
                  <xref target="RFC7030"/> <xref target="RFC9148"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>csrattrs</tt></td>
                <td align="left">
                  <tt>att</tt></td>
                <td align="left">CSR Attributes over HTTP</td>
                <td align="left">
                  <xref target="RFC7030"/> <xref target="RFC9148"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>getnonce</tt></td>
                <td align="left">
                  <tt>nonce</tt></td>
                <td align="left">Get Attestation Freshness Nonce</td>
                <td align="left">This-RFC</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="json-media-type">
          <name>JSON Media Type</name>
          <t>IANA is requested to register the following media types in the "Media Types"
registry <xref target="RFC6838"/>:</t>
          <dl>
            <dt>Type name:</dt>
            <dd>
              <t>application</t>
            </dd>
            <dt>Subtype name:</dt>
            <dd>
              <t>est-attestation-freshness+json</t>
            </dd>
            <dt>Required parameters:</dt>
            <dd>
              <t>N/A</t>
            </dd>
            <dt>Optional parameters:</dt>
            <dd>
              <t>N/A</t>
            </dd>
            <dt>Encoding considerations:</dt>
            <dd>
              <t>binary</t>
            </dd>
            <dt>Security considerations:</dt>
            <dd>
              <t>See <xref target="sec-cons"/> of this RFC.</t>
            </dd>
            <dt>Interoperability considerations:</dt>
            <dd>
              <t>The same media type is used for EST attestation freshness nonce requests and
nonce responses. The protocol context determines whether the JSON payload is a
request or response.</t>
            </dd>
            <dt>Published specification:</dt>
            <dd>
              <t>This RFC.</t>
            </dd>
            <dt>Applications that use this media type:</dt>
            <dd>
              <t>EST implementations using attestation freshness nonces over HTTP.</t>
            </dd>
            <dt>Fragment identifier considerations:</dt>
            <dd>
              <t>The syntax and semantics of fragment identifiers are as specified for
"application/json". At publication of this specification, no fragment
identification syntax is defined for "application/json".</t>
            </dd>
            <dt>Additional information:</dt>
            <dd>
              <t>Deprecated alias names for this type: N/A</t>
            </dd>
            <dt/>
            <dd>
              <t>Magic number(s): N/A</t>
            </dd>
            <dt/>
            <dd>
              <t>File extension(s): N/A</t>
            </dd>
            <dt/>
            <dd>
              <t>Macintosh file type code(s): N/A</t>
            </dd>
            <dt>Person &amp; email address to contact for further information:</dt>
            <dd>
              <t>IETF LAMPS Working Group (spasm@ietf.org)</t>
            </dd>
            <dt>Intended usage:</dt>
            <dd>
              <t>COMMON</t>
            </dd>
            <dt>Restrictions on usage:</dt>
            <dd>
              <t>N/A</t>
            </dd>
            <dt>Author:</dt>
            <dd>
              <t>IETF LAMPS Working Group</t>
            </dd>
            <dt>Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
          </dl>
        </section>
        <section anchor="cbor-media-type">
          <name>CBOR Media Type</name>
          <dl>
            <dt>Type name:</dt>
            <dd>
              <t>application</t>
            </dd>
            <dt>Subtype name:</dt>
            <dd>
              <t>est-attestation-freshness+cbor</t>
            </dd>
            <dt>Required parameters:</dt>
            <dd>
              <t>N/A</t>
            </dd>
            <dt>Optional parameters:</dt>
            <dd>
              <t>N/A</t>
            </dd>
            <dt>Encoding considerations:</dt>
            <dd>
              <t>binary</t>
            </dd>
            <dt>Security considerations:</dt>
            <dd>
              <t>See <xref target="sec-cons"/> of this RFC.</t>
            </dd>
            <dt>Interoperability considerations:</dt>
            <dd>
              <t>The same media type is used for EST attestation freshness nonce requests and
nonce responses. The protocol context determines whether the CBOR payload is a
request or response.</t>
            </dd>
            <dt>Published specification:</dt>
            <dd>
              <t>This RFC.</t>
            </dd>
            <dt>Applications that use this media type:</dt>
            <dd>
              <t>EST implementations using attestation freshness nonces over CoAP.</t>
            </dd>
            <dt>Fragment identifier considerations:</dt>
            <dd>
              <t>The syntax and semantics of fragment identifiers are as specified for
"application/cbor". At publication of this specification, no fragment
identification syntax is defined for "application/cbor".</t>
            </dd>
            <dt>Additional information:</dt>
            <dd>
              <t>Deprecated alias names for this type: N/A</t>
            </dd>
            <dt/>
            <dd>
              <t>Magic number(s): N/A</t>
            </dd>
            <dt/>
            <dd>
              <t>File extension(s): N/A</t>
            </dd>
            <dt/>
            <dd>
              <t>Macintosh file type code(s): N/A</t>
            </dd>
            <dt>Person &amp; email address to contact for further information:</dt>
            <dd>
              <t>IETF LAMPS Working Group (spasm@ietf.org)</t>
            </dd>
            <dt>Intended usage:</dt>
            <dd>
              <t>COMMON</t>
            </dd>
            <dt>Restrictions on usage:</dt>
            <dd>
              <t>N/A</t>
            </dd>
            <dt>Author:</dt>
            <dd>
              <t>IETF LAMPS Working Group</t>
            </dd>
            <dt>Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
          </dl>
        </section>
        <section anchor="coap-content-format">
          <name>CoAP Content-Format</name>
          <t>IANA is requested to register the following Content-Format in the "CoAP
Content-Formats" subregistry within the "CoRE Parameters" registry
<xref target="RFC7252"/>. This registration uses the IETF Review or IESG Approval range
defined for that registry.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Media Type</th>
                <th align="left">ID</th>
                <th align="left">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">application/est-attestation-freshness+cbor</td>
                <td align="left">TBD3</td>
                <td align="left">This-RFC</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
      <section anchor="cmc">
        <name>CMC</name>
        <section anchor="control">
          <name>Control</name>
          <t>IANA is requested to register the following object identifier in the
"SMI Security for PKIX CMC Controls" registry (1.3.6.1.5.5.7.7):</t>
          <table>
            <thead>
              <tr>
                <th align="left">Decimal</th>
                <th align="left">Description</th>
                <th align="left">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">TBD4</td>
                <td align="left">
                  <tt>id-cmc-nonceReq</tt></td>
                <td align="left">This-RFC</td>
              </tr>
              <tr>
                <td align="left">TBD5</td>
                <td align="left">
                  <tt>id-cmc-nonceResp</tt></td>
                <td align="left">This-RFC</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
      <section anchor="asn1-module">
        <name>ASN.1 Module</name>
        <t>IANA is 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">
                <tt>id-mod-att-fresh-req</tt></td>
              <td align="left">This-RFC</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="operations">
      <name>Operational Considerations</name>
      <t>When the RA/CA is requested to provide a nonce to an end entity, it
can generate the nonce locally or obtain it through an interaction
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.</t>
      <t>The nonce value MUST contain a random byte sequence with at least 64 bits
of entropy. The RA/CA MUST ensure that a nonce it generates is unique and
MUST NOT be reused. If the RA/CA obtains a nonce from the Verifier, it
MUST ensure that the Verifier utilizes the same policy for uniqueness and
non-reuse properties. 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 nonce request message, regarding the required nonce length for
the attestation technology. Nonces of incorrect length may 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>The end entity MUST use the received nonce if the remote attestation
technology used supports the requested length. If the selected attestation
statement type defines a deterministic nonce transformation for use by a
specific Attester or sub-Attester, the end entity MUST apply only that
transformation and only for the purpose defined by that specification.</t>
      <t>If attestation-type-specific response information is returned with the
nonce, the end entity MUST process that information according to the
selected type when invoking the attestation technology. Such information
MAY include parameters or metadata needed to apply, identify, or validate
a deterministic nonce transformation defined by the attestation statement
type.</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
identified by the <tt>AttestationStatement</tt> type. The returned Evidence is encapsulated
in the <tt>AttestationStatement</tt> within the <tt>AttestationBundle</tt> carried in the CSR, as
defined in <xref target="I-D.ietf-lamps-csr-attestation"/>. The software generating the CSR
treats the attestation statement payload as an opaque blob and does not
interpret its format. It is 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 attestation payload.</t>
      <t>The freshness established by the nonce applies to the Evidence as
bound to the nonce used by the attestation technology. This
specification does not assign independent freshness semantics to other claims
contained in the Evidence. The interpretation of any other claim, including
whether it represents current state, historical state, configuration state, or
measurement results, is defined by the attestation technology, the appraisal
policy, and the Verifier or Relying Party processing rules.</t>
      <t>Using nonces causes the Relying Party to create state for outstanding
freshness challenges. This state increases the attack surface for denial-of-service
attacks, for example by causing the Relying Party to allocate memory for many
nonce requests that never result in corresponding Evidence. Relying Parties
SHOULD reduce this exposure by limiting nonce lifetimes, bounding the number of
outstanding nonces, applying rate limits, associating nonce state with an
authenticated or otherwise constrained requester where possible, and promptly
discarding expired state. The use of a stateless cookie mechanism to reduce this
state-management burden is also possible but not further detailed in this
specification.</t>
    </section>
    <section anchor="sec-cons">
      <name>Security Considerations</name>
      <t>This specification details the process of obtaining a nonce via CMP, EST,
and CMC. Therefore, the security considerations of these protocols apply. Regarding
the use of attestation statements in a CSR, the security considerations
outlined in <xref target="I-D.ietf-lamps-csr-attestation"/> are pertinent to this
specification.</t>
      <t>The nonce itself does not generally require confidentiality
protection while maintaining the security properties of the remote
attestation protocol. However, optional attestation-type-specific
request or response information conveyed together with the nonce MAY
reveal privacy-sensitive or deployment-sensitive information, such as
platform topology, certificate identifiers, or measurement selections.
<xref target="RFC9334"/> defines the IETF remote attestation architecture and
extensively discusses nonce-based freshness.</t>
      <t>Specific attestation technology specifications such as <xref target="RFC9711"/> and
<xref target="RFC9783"/> offer guidance on replay protection using nonces. This
document defers specific recommendations to those specifications.</t>
      <t>If an attestation technology or Composite Attester profile transforms a
received nonce before embedding it in Evidence, that transformation MUST
be deterministic, MUST preserve at least the minimum entropy required by
the attestation technology, and MUST provide the Verifier with enough
information to reconstruct or validate the transformed value when needed.
Specifications defining such transformations SHOULD use well-analyzed
cryptographic mechanisms for nonce expansion or size adjustment to ensure
that the resulting entropy and security properties remain acceptable.</t>
      <t>If attestation-type-specific nonce exchange information is used, the
corresponding specification MUST define the syntax and semantics of that
information, including any confidentiality requirements. Implementations
SHOULD minimize the amount of such information returned by the RA/CA and
SHOULD protect it using the message or transport security mechanisms of
the enrollment protocol when confidentiality is required by deployment
policy or by the attestation technology specification.</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>Cryptic Forest Software</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>Siemens</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Monty Wiseman" initials="M." surname="Wiseman">
              <organization>Independent</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
         </author>
            <date day="2" month="September" year="2026"/>
            <abstract>
              <t>   Certification Authorities (CAs) issuing certificates to Public Key
   Infrastructure (PKI) end entities may require a certificate signing
   request (CSR) to include additional verifiable information to confirm
   policy compliance.  For example, a CA may require an end entity to
   demonstrate that the private key corresponding to a CSR's public key
   is secured by a hardware security module (HSM), is not exportable,
   etc.  The process of generating, transmitting, and verifying
   additional information required by the CA is called remote
   attestation.  While work is currently underway to standardize various
   aspects of remote attestation, a variety of proprietary mechanisms
   have been in use for years, particularly regarding protection of
   private keys.

   This specification defines ASN.1 structures which may carry
   attestation data for PKCS#10 and Certificate Request Message Format
   (CRMF) messages.  Both standardized and proprietary attestation
   formats are supported by this specification.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-csr-attestation-29"/>
        </reference>
        <reference anchor="RFC9810">
          <front>
            <title>Internet X.509 Public Key Infrastructure -- Certificate Management Protocol (CMP)</title>
            <author fullname="H. Brockhaus" initials="H." surname="Brockhaus"/>
            <author fullname="D. von Oheimb" initials="D." surname="von Oheimb"/>
            <author fullname="M. Ounsworth" initials="M." surname="Ounsworth"/>
            <author fullname="J. Gray" initials="J." surname="Gray"/>
            <date month="July" 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).</t>
              <t>This document adds support for management of certificates containing a Key Encapsulation Mechanism (KEM) public key and uses EnvelopedData instead of EncryptedValue. This document also includes the updates specified in Section 2 and Appendix A.2 of RFC 9480.</t>
              <t>This document obsoletes RFC 4210, and together with RFC 9811, it also obsoletes RFC 9480. Appendix F of this document updates Section 9 of RFC 5912.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9810"/>
          <seriesInfo name="DOI" value="10.17487/RFC9810"/>
        </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="RFC7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks. The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s. The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="RFC9148">
          <front>
            <title>EST-coaps: Enrollment over Secure Transport with the Secure Constrained Application Protocol</title>
            <author fullname="P. van der Stok" initials="P." surname="van der Stok"/>
            <author fullname="P. Kampanakis" initials="P." surname="Kampanakis"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="S. Raza" initials="S." surname="Raza"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>Enrollment over Secure Transport (EST) is used as a certificate provisioning protocol over HTTPS. Low-resource devices often use the lightweight Constrained Application Protocol (CoAP) for message exchanges. This document defines how to transport EST payloads over secure CoAP (EST-coaps), which allows constrained devices to use existing EST functionality for provisioning certificates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9148"/>
          <seriesInfo name="DOI" value="10.17487/RFC9148"/>
        </reference>
        <reference anchor="RFC9175">
          <front>
            <title>Constrained Application Protocol (CoAP): Echo, Request-Tag, and Token Processing</title>
            <author fullname="C. Amsüss" initials="C." surname="Amsüss"/>
            <author fullname="J. Preuß Mattsson" initials="J." surname="Preuß Mattsson"/>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>This document specifies enhancements to the Constrained Application Protocol (CoAP) that mitigate security issues in particular use cases. The Echo option enables a CoAP server to verify the freshness of a request or to force a client to demonstrate reachability at its claimed network address. The Request-Tag option allows the CoAP server to match block-wise message fragments belonging to the same request. This document updates RFC 7252 with respect to the following: processing requirements for client Tokens, forbidding non-secure reuse of Tokens to ensure response-to-request binding when CoAP is used with a security protocol, and amplification mitigation (where the use of the Echo option is now recommended).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9175"/>
          <seriesInfo name="DOI" value="10.17487/RFC9175"/>
        </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="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </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="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="RFC6838">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols. This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="6838"/>
          <seriesInfo name="DOI" value="10.17487/RFC6838"/>
        </reference>
        <reference anchor="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </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="RFC9811">
          <front>
            <title>Internet X.509 Public Key Infrastructure -- HTTP Transfer for the Certificate Management Protocol (CMP)</title>
            <author fullname="H. Brockhaus" initials="H." surname="Brockhaus"/>
            <author fullname="D. von Oheimb" initials="D." surname="von Oheimb"/>
            <author fullname="M. Ounsworth" initials="M." surname="Ounsworth"/>
            <author fullname="J. Gray" initials="J." surname="Gray"/>
            <date month="July" year="2025"/>
            <abstract>
              <t>This document describes how to layer the Certificate Management Protocol (CMP) over HTTP.</t>
              <t>It includes the updates to RFC 6712 specified in Section 3 of RFC 9480; these updates introduce CMP URIs using a well-known prefix. It obsoletes RFC 6712; and, together with RFC 9810, it also obsoletes RFC 9480.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9811"/>
          <seriesInfo name="DOI" value="10.17487/RFC9811"/>
        </reference>
        <reference anchor="RFC10002">
          <front>
            <title>Certificate Management over CMS (CMC)</title>
            <author fullname="J. Mandel" initials="J." role="editor" surname="Mandel"/>
            <author fullname="S. Turner" initials="S." role="editor" surname="Turner"/>
            <date month="July" year="2026"/>
            <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>
              <t>CMC also requires the use of the transport document (RFC 10003) and the requirements usage document (RFC 10004) along with this document for a full definition.</t>
              <t>This document obsoletes RFCs 5272 and 6402.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="10002"/>
          <seriesInfo name="DOI" value="10.17487/RFC10002"/>
        </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="I-D.ietf-rats-msg-wrap">
          <front>
            <title>RATS Conceptual Messages Wrapper (CMW)</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization>Independent</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
            </author>
            <author fullname="Dionna Glaze" initials="D." surname="Glaze">
              <organization>Google LLC</organization>
            </author>
            <date day="11" month="December" year="2025"/>
            <abstract>
              <t>   The Conceptual Messages introduced by the RATS architecture (RFC
   9334) are protocol-agnostic data units that are conveyed between RATS
   roles during remote attestation procedures.  Conceptual Messages
   describe the meaning and function of such data units within RATS data
   flows without specifying a wire format, encoding, transport
   mechanism, or processing details.  The initial set of Conceptual
   Messages is defined in Section 8 of RFC 9334 and includes Evidence,
   Attestation Results, Endorsements, Reference Values, and Appraisal
   Policies.

   This document introduces the Conceptual Message Wrapper (CMW) that
   provides a common structure to encapsulate these messages.  It
   defines a dedicated CBOR tag, corresponding JSON Web Token (JWT) and
   CBOR Web Token (CWT) claims, and an X.509 extension.

   This allows CMWs to be used in CBOR-based protocols, web APIs using
   JWTs and CWTs, and PKIX artifacts like X.509 certificates.
   Additionally, the draft defines a media type and a CoAP content
   format to transport CMWs over protocols like HTTP, MIME, and CoAP.

   The goal is to improve the interoperability and flexibility of remote
   attestation protocols.  Introducing a shared message format such as
   CMW enables consistent support for different attestation message
   types, evolving message serialization formats without breaking
   compatibility, and avoiding the need to redefine how messages are
   handled within each protocol.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-msg-wrap-23"/>
        </reference>
        <reference anchor="I-D.richardson-rats-composite-attesters">
          <front>
            <title>Taxonomy of Composite Attesters</title>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Yogesh Deshpande" initials="Y." surname="Deshpande">
              <organization>Arm</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <date day="31" month="August" year="2026"/>
            <abstract>
              <t>   This document was attempting to clarifys and extends the meaning of
   Composite Attester from RFC9334.  It has since been moved into the
   RATS wiki, and this I-D serves as a tombstone.

   A system of annotated diagram components is defined as a small
   language to explain the different ways that components can interact
   to form composites.

   These diagram components are then used to define a few popular
   classes of composites.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-richardson-rats-composite-attesters-05"/>
        </reference>
        <reference anchor="I-D.ietf-rats-reference-interaction-models">
          <front>
            <title>Reference Interaction Models for Remote Attestation Procedures</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Michael Eckel" initials="M." surname="Eckel">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Wei Pan" initials="W." surname="Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Eric Voit" initials="E." surname="Voit">
              <organization>Cisco Systems</organization>
            </author>
            <date day="17" month="September" year="2026"/>
            <abstract>
              <t>   This document describes interaction models for remote attestation
   procedures (RATS) [RFC9334].  Three conveying mechanisms --
   Challenge/Response, Uni-Directional, and Streaming Remote Attestation
   -- are illustrated and defined.  Analogously, a general overview
   about the information elements typically used by corresponding
   conveyance protocols are highlighted.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-reference-interaction-models-18"/>
        </reference>
        <reference anchor="RFC2986">
          <front>
            <title>PKCS #10: Certification Request Syntax Specification Version 1.7</title>
            <author fullname="M. Nystrom" initials="M." surname="Nystrom"/>
            <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
            <date month="November" year="2000"/>
            <abstract>
              <t>This memo represents a republication of PKCS #10 v1.7 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series, and change control is retained within the PKCS process. The body of this document, except for the security considerations section, is taken directly from the PKCS #9 v2.0 or the PKCS #10 v1.7 document. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2986"/>
          <seriesInfo name="DOI" value="10.17487/RFC2986"/>
        </reference>
        <reference anchor="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="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="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="RFC9483">
          <front>
            <title>Lightweight Certificate Management Protocol (CMP) Profile</title>
            <author fullname="H. Brockhaus" initials="H." surname="Brockhaus"/>
            <author fullname="D. von Oheimb" initials="D." surname="von Oheimb"/>
            <author fullname="S. Fries" initials="S." surname="Fries"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>This document aims at simple, interoperable, and automated PKI management operations covering typical use cases of industrial and Internet of Things (IoT) scenarios. This is achieved by profiling the Certificate Management Protocol (CMP), the related Certificate Request Message Format (CRMF), and transfer based on HTTP or Constrained Application Protocol (CoAP) in a succinct but sufficiently detailed and self-contained way. To make secure certificate management for simple scenarios and constrained devices as lightweight as possible, only the most crucial types of operations and options are specified as mandatory. More specialized or complex use cases are supported with optional features.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9483"/>
          <seriesInfo name="DOI" value="10.17487/RFC9483"/>
        </reference>
        <reference anchor="RFC9684">
          <front>
            <title>A YANG Data Model for Challenge-Response-Based Remote Attestation (CHARRA) Procedures Using Trusted Platform Modules (TPMs)</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="M. Eckel" initials="M." surname="Eckel"/>
            <author fullname="S. Bhandari" initials="S." surname="Bhandari"/>
            <author fullname="E. Voit" initials="E." surname="Voit"/>
            <author fullname="B. Sulzen" initials="B." surname="Sulzen"/>
            <author fullname="L. Xia" initials="L." surname="Xia"/>
            <author fullname="T. Laffey" initials="T." surname="Laffey"/>
            <author fullname="G. C. Fedorkow" initials="G. C." surname="Fedorkow"/>
            <date month="December" year="2024"/>
            <abstract>
              <t>This document defines the YANG Remote Procedure Calls (RPCs) and configuration nodes that are required to retrieve attestation evidence about integrity measurements from a device, following the operational context defined in RFC 9683 "TPM-based Network Device Remote Integrity Verification". Complementary measurement logs originating from one or more Roots of Trust for Measurement (RTMs) are also provided by the YANG RPCs. The defined module requires the inclusion of the following in the device components of the composite device on which the YANG server is running: at least one Trusted Platform Module (TPM) of either version 1.2 or 2.0 as well as a corresponding TPM Software Stack (TSS), or an equivalent hardware implementation that includes the protected capabilities as provided by TPMs as well as a corresponding software stack.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9684"/>
          <seriesInfo name="DOI" value="10.17487/RFC9684"/>
        </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>
      </references>
    </references>
    <?line 1069?>

<section anchor="appx-tpm-pcr-example">
      <name>Example: TPM 2.0 PCR Selection for <tt>reqInfo</tt> and <tt>respInfo</tt></name>
      <t>This appendix provides an informative example showing how <tt>reqInfo</tt> and
<tt>respInfo</tt> can be used with a TPM 2.0-based attestation procedure such as the
challenge-response exchange described in <xref section="2.1.1.3.2" sectionFormat="of" target="RFC9684"/>.</t>
      <t>In this example, the end entity wants to obtain a nonce for use with a TPM 2.0
attestation statement. The end entity first requests a nonce from the
Relying Party or Verifier. The <tt>reqInfo</tt> field can carry optional information
from the Attester side that helps the Verifier prepare the TPM 2.0 challenge,
such as which Attestation Key certificates are available.</t>
      <t>The resulting <tt>NonceResponse</tt> corresponds to the TPM 2.0 challenge parameters
from <xref target="RFC9684"/>, with one exception: the <tt>nonce-value</tt> from the RFC 9684
challenge is conveyed in this document's top-level <tt>nonce</tt> field rather than
inside <tt>respInfo</tt>. The remaining challenge parameters, such as the selected PCR
bank, PCR indices, and the selected Attestation Key certificate, are conveyed
in <tt>respInfo</tt>.</t>
      <t>The exact syntax of <tt>reqInfo</tt> and <tt>respInfo</tt> is defined by the nonce-exchange
type identified in the <tt>type</tt> field. The JSON objects below are only examples
used to explain the role of these fields:</t>
      <artwork><![CDATA[
NonceRequest = {
  "len": 32,
  "reqTypeInfo": {
    "type": "1.2.3.4.5",
    "reqInfo": {
      "certificate-name": ["aik-1", "aik-2"],
      "supported-hash-algo": ["TPM_ALG_SHA256"]
    }
  }
}

NonceResponse = {
  "nonce": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI",
  "expiry": 600,
  "respTypeInfo": {
    "type": "1.2.3.4.6",
    "respInfo": {
      "tpm20-pcr-selection": [
        {
          "tpm20-hash-algo": "TPM_ALG_SHA256",
          "pcr-index": [0, 1, 2, 3]
        }
      ],
      "certificate-name": "aik-1"
    }
  }
}
]]></artwork>
      <t>In this example:</t>
      <ul spacing="normal">
        <li>
          <t><tt>reqInfo.certificate-name</tt> lets the Attester indicate more than one available
Attestation Key certificate when multiple TPM attestation keys are present.</t>
        </li>
        <li>
          <t><tt>respInfo.tpm20-pcr-selection</tt> identifies the PCR bank and PCR indices that
the Attester is expected to include in the TPM quote or equivalent Evidence.</t>
        </li>
        <li>
          <t><tt>respInfo.certificate-name</tt> identifies which Attestation Key certificate the
Attester is to use when generating the fresh Evidence associated with the
returned nonce.</t>
        </li>
      </ul>
      <t>This example is intended only to explain the purpose of <tt>reqInfo</tt> and
<tt>respInfo</tt>. It does not define a new nonce-exchange type, a new OID, or a TPM
attestation profile. The TPM quote itself, its signature, and any optional
unsigned PCR values are conveyed later as Evidence and are not part of
<tt>respInfo</tt>.</t>
    </section>
    <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
  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(116) }

id-cmc, 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(124) }

;

-- NonceRequest and NonceResponse types

ATTESTATION-NONCE-REQUEST ::= TYPE-IDENTIFIER

AttestationNonceRequestSet ATTESTATION-NONCE-REQUEST ::= {
   ... -- None defined in this document --
}

ATTESTATION-NONCE-RESPONSE ::= TYPE-IDENTIFIER

AttestationNonceResponseSet ATTESTATION-NONCE-RESPONSE ::= {
   ... -- None defined in this document --
}

NonceRequestTypeInfo ::= SEQUENCE {
    type ATTESTATION-NONCE-REQUEST.&id(
                 {AttestationNonceRequestSet}),
    -- identifies the nonce-request syntax for the selected
    --   attestation statement type
    reqInfo  ATTESTATION-NONCE-REQUEST.&Type(
                 {AttestationNonceRequestSet}{@type}) OPTIONAL
    -- contains type-specific nonce-request information
}

NonceResponseTypeInfo ::= SEQUENCE {
    type ATTESTATION-NONCE-RESPONSE.&id(
                 {AttestationNonceResponseSet}),
    -- identifies the nonce-response syntax for the selected
    --   attestation statement type
    respInfo ATTESTATION-NONCE-RESPONSE.&Type(
                 {AttestationNonceResponseSet}{@type}) OPTIONAL
    -- contains type-specific nonce-response information
}

 NonceRequest ::= SEQUENCE {
    len      INTEGER (8..64) OPTIONAL,
    -- indicates the required length of the requested nonce
    reqTypeInfo NonceRequestTypeInfo OPTIONAL
 }

 NonceResponse ::= SEQUENCE {
    nonce    OCTET STRING (SIZE(0 | 8..64)),
    -- contains the nonce of length len
    -- a zero-length OCTET STRING indicates that no freshness
    --   proof is required
    expiry   INTEGER OPTIONAL,
    -- indicates how long in seconds the nonce issuer considers
    --   the nonce valid
    respTypeInfo NonceResponseTypeInfo OPTIONAL
 }
 id-it-nonceRequest OBJECT IDENTIFIER ::= { id-it TBD1 }
    NonceRequestValue ::= NonceRequest

 id-it-nonceResponse OBJECT IDENTIFIER ::= { id-it TBD2 }
    NonceResponseValue ::= NonceResponse

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

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

END
<CODE ENDS>
]]></sourcecode>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>We would like to thank Russ Housley, Thomas Fossati, Watson Ladd, Ionut Mihalcea,
Carl Wallace, and Michael StJohns for their review comments.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
EiGLrw/Pj47l6+O3J2e9bwXeM9ymbIU2cHWBlYziIlvf2vAkTDvLb0Ab/5X6
WN/ZgAUZre9tsPs8VSW0hg+N8r7+csPT3/EvzOJY/wohYjjN+uYGxTDWQ2vk
OofebGDNpaPjNydnJ1gtsydPTi/enRye9GW/+7ZHNZdo+OL47xfnl/2e7L57
91cBjfAPfd0ZdPHm8vyU4osOTy/a25vbO7pS0yfOD3+eNke+e4HmORxPcATt
ze31ra09miCHYrX8clKChuySfXTqao+UBpzCS/GZM3jyBPT42fw6LW68saxv
be/STP6KNlJYiAupPhSylKzSfAv2/Mu5f7e3c/9xPfcf13P/cT33ihP443ru
gBP+cT23F/nwG17P3VTVaKU7VbEvf1Xn3avaWA1ppYtVvR4WX64q5NISmE+t
gVl7tGIRTLm8CubTy2DWn61WB1Mcnx1pTRZ+Az2Wr2KX3aGJCiXntvhwwGfs
avTN2nWUFGoNw7DB4smmCWz0+E6xFwytuctpUcjvsdarmrXAQMjGoMe/yUAF
K+OW/CkqMUXlXTQateRJlk5LeRrfRslQRS1xGOUJtEiwYp4+YtGFG3rl37Lb
1CTSYKn2nHMn+JSqLDri/wEuVOYCiMAAAA==

-->

</rfc>
