<?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 xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-csr-attestation-33" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="Remote Attestation with CSRs">Use of Remote Attestation with Certification Signing Requests</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-csr-attestation-33"/>
    <author initials="M." surname="Ounsworth" fullname="Mike Ounsworth">
      <organization abbrev="Cryptic Forest">Cryptic Forest Software</organization>
      <address>
        <postal>
          <city>Sioux Lookout, Ontario</city>
          <country>Canada</country>
        </postal>
        <email>mike@ounsworth.ca</email>
      </address>
    </author>
    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization>Siemens</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>Hannes.Tschofenig@gmx.net</email>
      </address>
    </author>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization abbrev="Fraunhofer SIT">Fraunhofer SIT</organization>
      <address>
        <postal>
          <street>Rheinstrasse 75</street>
          <city>Darmstadt</city>
          <code>64295</code>
          <country>Germany</country>
        </postal>
        <email>henk.birkholz@sit.fraunhofer.de</email>
      </address>
    </author>
    <author initials="M." surname="Wiseman" fullname="Monty Wiseman">
      <organization>Independent</organization>
      <address>
        <postal>
          <country>United States</country>
        </postal>
        <email>montywiseman32@gmail.com</email>
      </address>
    </author>
    <author initials="N." surname="Smith" fullname="Ned Smith">
      <organization/>
      <address>
        <postal>
          <country>United States</country>
        </postal>
        <email>ned.smith.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="November" day="02"/>
    <keyword>PKI</keyword>
    <keyword>PKCS#10</keyword>
    <keyword>CRMF</keyword>
    <keyword>Attestation</keyword>
    <keyword>Certificate Signing Requests</keyword>
    <abstract>
      <?line 115?>

<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.</t>
      <t>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>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://lamps-wg.github.io/csr-attestation/draft-ietf-lamps-csr-attestation.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-lamps-csr-attestation/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/lamps-wg/csr-attestation"/>.</t>
    </note>
  </front>
  <middle>
    <?line 122?>

<section anchor="intro">
      <name>Introduction</name>
      <t>Certification Authorities (CAs) issuing certificates to PKI end entities may require that a certificate signing request (CSR) include verifiable attestations. These attestations can contain claims regarding the platform used by the end entity to generate the key pair for which a certificate is sought. These claims can also include attributes of the key pair with respect to its protection, use, and extractability. At the time of writing, the most pressing example of the need for remote attestation in certificate enrollment is the Code-Signing Baseline Requirements (CSBR) document maintained by the CA/Browser Forum <xref target="CSBR"/>. The <xref target="CSBR"/> requires compliant CAs to "ensure that a Subscriber's Private Key is generated, stored, and used in a secure environment that has controls to prevent theft or misuse". This requirement is a natural fit to enforce via remote attestation.</t>
      <t>This specification defines an attribute and an extension that allow for conveyance of verifiable attestations in several Certificate Signing Request (CSR) formats, including PKCS#10 <xref target="RFC2986"/> or Certificate Request Message Format (CRMF) <xref target="RFC4211"/> messages. Given several standard and proprietary remote attestation technologies are in use, this specification is intended to be as technology-agnostic as is feasible with respect to implemented and future remote attestation technologies. This aligns with the fact that a CA may wish to provide support for a variety of types of devices but cannot dictate what format a device uses to represent attestations.  However, if a certificate requester does not include the number and types of attestations required by the CA, it is unlikely the requester will receive the requested certificate.</t>
      <t>While CSRs are defined using Abstract Syntax Notation One (ASN.1), attestations may be defined using any data description language, i.e., ASN.1 or Concise Data Description Language (CDDL), or represented using any type of encoding, including Distinguished Encoding Rules (DER), Concise Binary Object Representation (CBOR), JavaScript Object Notation (JSON). The requirements for carrying attestation formats not defined using ASN.1 are specified in <xref target="sec-attestation-bundle"/>.</t>
    </section>
    <section anchor="relationship-to-the-ietf-rats-working-group">
      <name>Relationship to the IETF RATS Working Group</name>
      <t>As noted, attestation-related technologies have existed for many years, albeit with no standard format and no standard means of conveying attestation statements to a CA. This draft addresses the latter, and is equally applicable to standard and proprietary attestation formats. The IETF Remote Attestation Procedures (RATS) working group is addressing the former. In <xref target="RFC9334"/>, RATS defined vocabulary, architecture, and usage patterns related to the practice of generating and verifying attestations.</t>
      <t>In its simplest topological model, attestations are generated by the certificate requester and verified by the CA/RA. Section 5 of <xref target="RFC9334"/> defines topological patterns that are more complex,
including the background check model and the passport model.  This
document may be applied to instantiating any of these topological
models for CSR processing, provided the required security
requirements specific to the context of certificate issuance are
satisfied.</t>
      <t><xref section="4.1" sectionFormat="of" target="RFC9334"/> defines several roles that originate, forward or process attestation statements (also see <xref section="1.2" sectionFormat="of" target="RFC9683"/>): the Attester, Endorser, Relying Party, and Verifier. Attestation statements, such as Evidence, may be directed to an entity taking at least one of these roles, including to an CA/RA acting as a Verifier.
An CA/RA may also forward attestation statements to a Verifier for appraisal. Each attestation statements may contain one or more claims, including claims that may be required by an RA or CA. Attestation statements transmitted by these parties are defined in <xref section="8" sectionFormat="of" target="RFC9334"/> as the "conceptual messages" Evidence, Endorsement, and Attestation Results. The structure defined in this specification may be used by any of the roles that originate attestation statements, and is equally applicable to these three conceptual messages.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>This document re-uses the terms defined in <xref target="RFC9334"/> related to remote
attestation. Readers of this document are assumed to be familiar with
the following terms defined in <xref target="RFC9334"/>: Evidence, Endorsement, Claim, Attestation Result (AR), Attester, Relying Party, and Verifier.
Per <xref target="RFC9334"/>, the CA/RA is the Relying Party with respect to remote attestation. This use of the term "relying party" differs from the traditional PKIX use of the term.
This specification uses CA/RA to refer to an <xref target="RFC9334"/> Relying Party, which may or may not include an integrated Verifier.</t>
      <t>The term "Certification Request" message is defined in <xref target="RFC2986"/>.
Specifications, such as <xref target="RFC7030"/>, later introduced the term
"Certificate Signing Request (CSR)" to refer to the Certification
Request message. While the term "Certification Request"
would have been correct, the mistake was unnoticed. In the meanwhile
CSR is an abbreviation used beyond PKCS#10. Hence, it is equally
applicable to other protocols that use a different syntax and
even a different encoding, in particular this document also
considers messages in the Certificate Request Message Format (CRMF) <xref target="RFC4211"/>
to be "CSRs". In this document, the terms "CSR" and Certificate Request
message are used interchangeably.</t>
      <t>The term "hardware security module (HSM)" is used generically to refer to the
combination of hardware and software designed to protect keys from unauthorized
access. Other commonly used terms include Secure Element, Trusted Platform Module, and Trusted Execution
Environment.</t>
      <t>Since this document combines terminology from two domains, Remote Attestation (RATS) and X.509 PKI, it follows a naming convention to avoid ambiguity.
RATS terminology is written in uppercase (e.g., Verifier), while X.509/PKI terminology is written in lowercase (e.g., certification authority (CA)).
This distinction clarifies terms that exist in both domains; for instance, a Verifier refers to the RATS entity that processes Evidence, whereas a verifier refers to the PKI entity that validates certificates.
This convention is distinct from camel-case identifiers like "AttestationStatement", which denote ASN.1 types.</t>
    </section>
    <section anchor="sec-attestationAttr">
      <name>Conveying Attestations in CSRs</name>
      <t>The focus of this specification is the conveyance of attestations to a CA/RA as part of a CSR.
The following sub-sections define formats to support this conveyance, an optional mechanism to limit support to specific attestation types at the ASN.1 level, and bindings to the attribute and extension mechanisms used in certificate managment protocols.</t>
      <t>The ASN.1 notation, information object classes, and constraint notation used in this section and in <xref target="sec-asn1-module"/> are specified in <xref target="X680"/>, <xref target="X681"/>, and <xref target="X682"/>, respectively.
For additional background on information object classes and constraints used in ASN.1 modules, see Sections 2.1.3 and 2.2 of <xref target="RFC6025"/>.</t>
      <section anchor="sec-attestation-bundle">
        <name>AttestationStatement and AttestationBundle</name>
        <t>The <tt>AttestationStatement</tt> structure (as shown in <xref target="code-AttestationStatement"/>) facilitates the representation of Evidence, Endorsements,
and Attestation Results generated by an Attester, Endorser, or Verifier for processing by a Verifier or Relying Party, such as verification by a CA/RA.</t>
        <ul spacing="normal">
          <li>
            <t>The <tt>type</tt> field is an OBJECT IDENTIFIER that identifies the format of the <tt>stmt</tt> field.</t>
          </li>
          <li>
            <t>The <tt>stmt</tt> field contains the attestation for processing, constrained by the <tt>type</tt> field. Formats that are not defined using ASN.1 <bcp14>MUST</bcp14> define an ASN.1 wrapper for use with the <tt>AttestationStatement</tt> structure.
For example, a CBOR-encoded format may be defined as an OCTET STRING for <tt>AttestationStatement</tt> purposes, where the contents of the OCTET STRING are the CBOR-encoded data.</t>
          </li>
        </ul>
        <figure anchor="code-AttestationStatement">
          <name>Definition of AttestationStatement</name>
          <sourcecode type="asn1"><![CDATA[
ATTESTATION-STATEMENT ::= TYPE-IDENTIFIER

AttestationStatement ::= SEQUENCE {
   type   ATTESTATION-STATEMENT.&id({AttestationStatementSet}),
   stmt   ATTESTATION-STATEMENT.&Type(
              {AttestationStatementSet}{@type})
}
]]></sourcecode>
        </figure>
        <t>In some cases, a CA may require CSRs to include a variety of claims, which may require the cooperation of more than one Attester.
Similarly, a CA/RA may outsource verification of claims from different Attesters to a single Verifier.
The <tt>AttestationBundle</tt> structure, <xref target="code-AttestationBundle"/>, facilitates the representation of one or more <tt>AttestationStatement</tt> structures along with an <bcp14>OPTIONAL</bcp14> collection of certificates that may be useful for certification path building and validation to verify each <tt>AttestationStatement</tt>. <tt>AttestationBundle</tt> is the structure included in a CSR attribute or extension.</t>
        <figure anchor="code-AttestationBundle">
          <name>Definition of AttestationBundle</name>
          <sourcecode type="asn1"><![CDATA[
AttestationBundle ::= SEQUENCE {
   attestations SEQUENCE SIZE (1..MAX) OF AttestationStatement,
   certs SEQUENCE SIZE (1..MAX) OF LimitedCertChoices OPTIONAL,
}
]]></sourcecode>
        </figure>
        <t>A CA/RA's issuance policy may place additional requirements on the contents of the <tt>attestations</tt> sequence, such as requiring claims that are bound to the CSR's public key in a cryptographically verifiable manner. Such a binding may identify the public key directly or through a cryptographically verifiable reference, as defined by the applicable attestation format. See <xref target="sec-considerations"/> for more discussion.</t>
        <t>The <tt>CertificateChoices</tt> structure defined in <xref target="RFC6268"/>, and reproduced below along with <tt>OtherCertificateFormat</tt>, allows for carrying certificates in the default X.509 <xref target="RFC5280"/> format or in other certificate formats. Within an <tt>AttestationBundle</tt>, a <tt>CertificateChoices</tt> value <bcp14>MUST</bcp14> use only the <tt>certificate</tt> or <tt>other</tt> alternative; the <tt>extendedCertificate</tt>, <tt>v1AttrCert</tt>, and <tt>v2AttrCert</tt> alternatives <bcp14>MUST NOT</bcp14> be used. <xref target="RFC6268"/> marks <tt>extendedCertificate</tt> and <tt>v1AttrCert</tt> as obsolete. Although <tt>v2AttrCert</tt> is not obsolete, it is excluded here because an attribute certificate does not contain a subject public key that can be used to validate an <tt>AttestationStatement</tt>.</t>
        <t><tt>OTHER-CERT-FMT</tt> is an ASN.1 information object class. The <tt>&amp;id</tt> field identifies a certificate format by its OBJECT IDENTIFIER, and the corresponding <tt>&amp;Type</tt> field specifies the ASN.1 type used to carry that format. For a non-ASN.1 certificate format, an <tt>OTHER-CERT-FMT</tt> information object <bcp14>MUST</bcp14> specify <tt>OCTET STRING</tt> as its <tt>&amp;Type</tt>; <tt>otherCertFormat</tt> then carries the format's <tt>&amp;id</tt>, and <tt>otherCert</tt> carries the encoded certificate in that OCTET STRING. <tt>LimitedCertChoices</tt> applies an ASN.1 constraint that limits the available alternatives to <tt>certificate</tt> and <tt>other</tt>.</t>
        <sourcecode type="asn1"><![CDATA[
   CertificateChoices ::= CHOICE {
     certificate Certificate,
     extendedCertificate [0] IMPLICIT ExtendedCertificate,
          -- Obsolete
     ...,
     [[3: v1AttrCert [1] IMPLICIT AttributeCertificateV1]],
          -- Obsolete
     [[4: v2AttrCert [2] IMPLICIT AttributeCertificateV2]],
     [[5: other      [3] IMPLICIT OtherCertificateFormat]] }

   OTHER-CERT-FMT ::= TYPE-IDENTIFIER

   OtherCertificateFormat ::= SEQUENCE {
     otherCertFormat OTHER-CERT-FMT.&id({SupportedCertFormats}),
     otherCert       OTHER-CERT-FMT.&Type(
             {SupportedCertFormats}{@otherCertFormat})}

   LimitedCertChoices ::=
      CertificateChoices
          (WITH COMPONENTS {certificate, other})
]]></sourcecode>
        <t>The <tt>certs</tt> field is <bcp14>OPTIONAL</bcp14>. When validation of an <tt>AttestationStatement</tt> requires a public key that cannot be obtained otherwise, <tt>certs</tt> <bcp14>SHOULD</bcp14> contain a certificate containing that public key. A certificate is not needed when the corresponding public key is already known to the Verifier or is embedded within the <tt>AttestationStatement</tt>. Additional certificates <bcp14>MAY</bcp14> be provided, for example, to chain the attestation key back to a trust anchor. No specific order of the certificates in <tt>certs</tt> should be expected because certificates contained in <tt>certs</tt> may be needed to validate different <tt>AttestationStatement</tt> instances.</t>
        <t>This specification places no restriction on mixing certificate types within the <tt>certs</tt> field. For example a non-X.509 attestation signer certificate <bcp14>MAY</bcp14> chain to a trust anchor via a chain of X.509 certificates. It is up to the Attester and its Verifier to agree on supported certificate formats.</t>
      </section>
      <section anchor="attestationstatementset">
        <name>AttestationStatementSet</name>
        <figure anchor="code-AttestationStatementSet">
          <name>Definition of AttestationStatementSet</name>
          <sourcecode type="asn1"><![CDATA[
AttestationStatementSet ATTESTATION-STATEMENT ::= {
   ... -- None defined in this document --
}
]]></sourcecode>
        </figure>
        <t>The expression illustrated in <xref target="code-AttestationStatementSet"/> maps ASN.1 Types
for attestation statements to the OIDs
that identify them. These mappings are used to construct
or parse <tt>AttestationStatement</tt> objects that appear in an <tt>AttestationBundle</tt>. Attestation statements are typically
defined in other IETF standards, in standards produced by other standards bodies,
or as vendor proprietary formats along with corresponding OIDs that identify them.
<tt>AttestationStatementSet</tt> is left unconstrained in this document. However, implementers <bcp14>MAY</bcp14>
populate it with the formats that they wish to support. This document does not define, allocate, or register an OID for any attestation-statement format, nor does it establish an IANA registry for such formats. Specification authors who define an attestation-statement format are responsible for assigning its OID from an arc under their control.</t>
      </section>
      <section anchor="csr-attribute-and-extension">
        <name>CSR Attribute and Extension</name>
        <t>The ASN.1 <tt>ATTRIBUTE</tt> and <tt>EXTENSION</tt> information object classes are defined in <xref target="RFC5912"/>. Attributes within a PKCS#10 CSR use <tt>ATTRIBUTE</tt>, and extensions within a CRMF CSR use <tt>EXTENSION</tt>.
The <tt>id-aa</tt> object identifier is defined in the <tt>SecureMimeMessageV3dot1-2009</tt> module in <xref section="5" sectionFormat="of" target="RFC5911"/>.</t>
        <figure anchor="code-extensions">
          <name>Definitions of CSR attribute and extension</name>
          <sourcecode type="asn1"><![CDATA[
id-aa-attestation OBJECT IDENTIFIER ::= { id-aa 59 }

-- For PKCS#10
attr-attestation ATTRIBUTE ::= {
  TYPE AttestationBundle
  COUNTS MAX 1
  IDENTIFIED BY id-aa-attestation
}

-- For CRMF
ext-attestation EXTENSION ::= {
  SYNTAX AttestationBundle
  IDENTIFIED BY id-aa-attestation
}
]]></sourcecode>
        </figure>
        <t>The Extension variant illustrated in <xref target="code-extensions"/> is intended only for use within CRMF CSRs and is <bcp14>NOT RECOMMENDED</bcp14> to be used within X.509 certificates due to the privacy implications of publishing information about the end entity's hardware environment.</t>
        <t>Multiple different types of <tt>AttestationStatement</tt>(s) may be included within a single top-level <tt>AttestationBundle</tt>.  Note that this document does not require the <tt>AttestationBundle.attestations</tt> field to contain only one <tt>AttestationStatement</tt> of a given type.  For example, if a given type is a "wrapper" type containing the conceptual message wrapper (CMW) structure <xref target="RFC9999"/>, multiple copies of a CMW-typed AttestationStatement may be included.</t>
        <t>Per <xref target="RFC5280"/> no more than one instance of a given type of Extension may be carried within an Extensions structure, so an Extensions structure <bcp14>MUST</bcp14> contain no more than one Extension of type <tt>id-aa-attestation</tt>.</t>
        <t>PKCS#10 uses the legacy structures <tt>Attributes</tt> and <tt>Attribute</tt> rather than the later defined <tt>SingleAttribute</tt> and <tt>AttributeSet</tt> structures - all of which are defined against the ATTRIBUTE ASN.1 CLASS.  The ATTRIBUTE CLASS has a <tt>COUNTS MAX n</tt> clause which can be used to limit the copies of ATTRIBUTE related structures.  For the purposes of this document the <tt>COUNTS MAX 1</tt> clause in the <tt>attr-attestation</tt> shall be taken to mean the following:</t>
        <ul spacing="normal">
          <li>
            <t>An Attributes structure carried within a PKCS#10 CSR <bcp14>MUST</bcp14> contain no more than one Attribute of type <tt>id-aa-attestation</tt>.</t>
          </li>
          <li>
            <t>An Attribute of type <tt>id-aa-attestation</tt> <bcp14>MUST</bcp14> contain exactly one copy of an <tt>AttestationBundle</tt>.</t>
          </li>
        </ul>
        <t>When multiple Verifiers support the same attestation-format OID, ambiguity can arise in routing attestations to the appropriate Verifier. The attestation-format specification is responsible for defining how this ambiguity is resolved, particularly for opaque (wrapper) formats. Possible approaches include defining separate OIDs for different Verifier or verification types, even when they share a format structure, or defining a wrapper with a hint that assists Verifier selection. This document does not specify a Verifier selection mechanism.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to allocate an identifier for the ASN.1 module in the
"SMI Security for PKIX Module Identifier" registry and to update the existing
early allocation with decimal value 59 in the "SMI Security for S/MIME Attributes"
registry.</t>
      <section anchor="module-registration-smi-security-for-pkix-module-identifier">
        <name>Module Registration - SMI Security for PKIX Module Identifier</name>
        <t>IANA is asked to register the following within the registry id-mod
SMI Security for PKIX Module Identifier (1.3.6.1.5.5.7.0).</t>
        <ul spacing="normal">
          <li>
            <t>Decimal: IANA Assigned - <strong>Replace TBDMOD</strong></t>
          </li>
          <li>
            <t>Description: id-mod-pkix-attest-2025</t>
          </li>
          <li>
            <t>References: This Document</t>
          </li>
        </ul>
      </section>
      <section anchor="object-identifier-update-smi-security-for-smime-attributes">
        <name>Object Identifier Update - SMI Security for S/MIME Attributes</name>
        <t>IANA is requested to update entry 59, early-allocated as "id-aa-evidence", in the
id-aa SMI Security for S/MIME Attributes registry (1.2.840.113549.1.9.16.2).
The numeric value is unchanged. The updated entry is:</t>
        <ul spacing="normal">
          <li>
            <t>Decimal: 59</t>
          </li>
          <li>
            <t>Description: id-aa-attestation</t>
          </li>
          <li>
            <t>References: This Document</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="sec-considerations">
      <name>Security Considerations</name>
      <t>This document defines a structure to convey
attestations as additional information in CSRs, as well as an attribute to convey that structure in the
Certification Request Message defined in <xref target="RFC2986"/> and an extension to convey that structure in the
Certificate Request Message Format defined in <xref target="RFC4211"/>.
The CA/RA that receives the CSR may choose to verify the attestation(s) to determine if an issuance policy is met, or which of a suite of policies is satisfied. The CA/RA is also free to discard the additional information without processing.</t>
      <t>A CA which accepts or requires attestation(s) <bcp14>SHOULD</bcp14> document its requirements with its Certification Practice Statement(s) <xref target="RFC3647"/>.</t>
      <t>The remainder of this section identifies security considerations that apply when the CA/RA chooses to verify the attestation as part of the evaluation of a CSR.</t>
      <section anchor="binding-attestations-to-the-csrs-public-key">
        <name>Binding Attestations to the CSR's Public Key</name>
        <t>Key attestation is one use case for the structures defined in this document. It enables a CA/RA to obtain assurance about the key pair for which a certificate is requested, including the generation, protection, permitted use, or extractability of its private key. Platform attestation may provide additional claims about the environment in which the key pair is generated, stored, or used. To provide assurance about the requested key pair, the relevant claims must be bound to the CSR's public key in a cryptographically verifiable manner, and appraisal must establish that they support the claimed properties of that key pair. Including a requester-supplied public key or its hash in a signed platform attestation does not, by itself, demonstrate that the corresponding private key was generated or is protected in the attested environment.</t>
        <t>Regardless of the topological model, when a CA/RA relies on attestation statements to establish a property of the CSR's public key or the corresponding private key, it <bcp14>MUST</bcp14> ensure that this binding has been validated. The CA/RA may rely on a trusted Verifier to perform this validation but remains responsible for ensuring that it has been performed. The binding may identify the public key directly or through a cryptographically verifiable reference, as defined by the applicable attestation format.</t>
        <t>When Evidence is used to establish such a key property, validation includes establishing that the claims refer to the requested key pair and support the properties on which the CA/RA relies. This appraisal may be performed by a CA/RA acting as a Verifier or by an external trusted Verifier. When Attestation Results are used for this purpose, the CA/RA <bcp14>MUST</bcp14> authenticate the results and establish that they apply to the CSR's public key and confirm the required properties based on a binding validated by the trusted Verifier. These requirements apply whether Evidence or Attestation Results are carried in the CSR or obtained during its processing. For the code-signing use case described in <xref target="intro"/>, the CA/RA therefore needs assurance that the claims of HSM generation and protection apply to the key pair for which the certificate is requested.</t>
        <t>If no validated binding is available, the CA/RA <bcp14>MUST NOT</bcp14> treat attestation statements as establishing properties of the CSR's public key or the corresponding private key. The CA/RA's issuance policy determines whether to reject the CSR, obtain additional evidence, or issue a certificate based on other acceptable information. The absence of a validated binding does not, by itself, require rejection under this specification. However, an issuance policy that requires attested properties of the requested key cannot be satisfied by attestation statements that lack such validated binding.</t>
        <t>Multiple attestation statements from multiple sources, as envisioned in <xref target="RFC9334"/>, can introduce additional complications as shown in the following example.</t>
        <t>For example, a CA may have an issuance policy that requires key generation in an HSM on a company-owned platform in a known good state.
The CSR might contain three AttestationStatements originated by three different attesters:</t>
        <ol spacing="normal" type="1"><li>
            <t>that a key pair was generated in an HSM;</t>
          </li>
          <li>
            <t>that a particular platform is company-owned; and</t>
          </li>
          <li>
            <t>that a particular platform was in a known good state (e.g, up to date on patches, etc.).</t>
          </li>
        </ol>
        <t>While each of these attestations may be independently correct, the CA/RA is responsible for confirming the attestations apply in concert to the public key in the CSR. That is, the CA/RA must analyze the attestations to ensure that:</t>
        <ol spacing="normal" type="1"><li>
            <t>the attestation of HSM generation by AttestationStatement 1 applies to the public key in the CSR;</t>
          </li>
          <li>
            <t>the attestation of company ownership by AttestationStatement 2 applies to the platform that contains the HSM; and</t>
          </li>
          <li>
            <t>the attestation that a platform was in a known good state by AttestationStatement 3 applies to the platform that contains the HSM.</t>
          </li>
        </ol>
      </section>
      <section anchor="freshness">
        <name>Freshness</name>
        <t>To avoid replay attacks, the CA/RA may choose to ignore attestation statements that are stale, or whose freshness cannot be determined. Mechanisms to address freshness and their application to the RATS topological models are discussed in <xref target="RFC9334"/>. Other mechanisms for determining freshness may be used as the CA/RA deems appropriate. When CSRs are embedded within certificate management protocols such as Certificate Management Protocol (CMP) <xref target="RFC9810"/>, Enrollment over Secure Transport (EST) <xref target="RFC7030"/>, and Certificate Management over CMS (CMC) <xref target="RFC10002"/>, these protocols can supply an Attester with a nonce, for example. Further details are specified in <xref target="I-D.ietf-lamps-attestation-freshness"/>.</t>
      </section>
      <section anchor="resource-exhaustion">
        <name>Resource Exhaustion</name>
        <t>CSRs are untrusted input to a CA/RA, and processing attestation bundles may consume substantial resources through parsing, cryptographic verification, certification path building and validation, and requests to external Verifiers or other services. An attacker can exploit these costs to cause resource exhaustion, even with a syntactically valid bundle.</t>
        <t>Implementations <bcp14>SHOULD</bcp14> impose limits appropriate to their deployment on the total bundle size, the number, type and size of attestation statements and certificates, parsing depth, and the computational effort spent processing a request. These limits <bcp14>SHOULD</bcp14> also bound certification path building, as well as the number, duration, and concurrency of external requests. Implementations <bcp14>SHOULD</bcp14> enforce limits as early as practicable. When a limit is exceeded, implementations <bcp14>SHOULD</bcp14> stop the affected processing and release resources allocated to it. An attestation statement whose verification has not completed successfully <bcp14>MUST NOT</bcp14> be treated as successfully verified.</t>
      </section>
      <section anchor="additional-security-considerations">
        <name>Additional Security Considerations</name>
        <t>In addition to the security considerations listed here, implementers should be familiar with the security considerations of the specifications on which this specification depends: PKCS#10 <xref target="RFC2986"/>, CRMF <xref target="RFC4211"/>, as well as general security concepts relating to remote attestation. Many of these concepts are discussed in <xref section="6" sectionFormat="of" target="RFC9334"/>, <xref section="7" sectionFormat="of" target="RFC9334"/>, <xref section="9" sectionFormat="of" target="RFC9334"/>, <xref section="11" sectionFormat="of" target="RFC9334"/>, and <xref section="12" sectionFormat="of" target="RFC9334"/>. Implementers should also be aware of any security considerations relating to the specific attestation formats being carried within the CSR.</t>
      </section>
    </section>
    <section anchor="sec-privacy">
      <name>Privacy Considerations</name>
      <t>Attestation statements and accompanying certificates can disclose information about a device, its software and hardware environment, and its owner or users. These statements may contain Evidence, Endorsements, or Attestation Results. Attesters <bcp14>SHOULD</bcp14> consider how much information is appropriate to disclose to a given CA. Examples include hardware identifiers, software versions, patch levels, and device ownership. These disclosures occur during enrollment, even if no attestation data is copied into the issued certificate.</t>
      <t>Attestation formats may use stable device-identifying public keys, certificates, device IDs, or other identifiers. These values can enable a CA/RA or Verifier to link multiple CSRs to the same device even when the CSR public key, subject name, or enrollment account changes. Such linkability can affect privacy even when the individual attested claims are not otherwise sensitive.</t>
      <t>A CA/RA that forwards attestation statements or accompanying certificates to an external Verifier discloses this information to another party. That party may also be able to correlate requests across enrollments or across CAs. The privacy assessment of a deployment therefore needs to cover the entire enrollment and attestation verification path, including third-party processing, retention, and logging.</t>
      <t>Certificate requesters, CAs/RAs, and Verifiers <bcp14>SHOULD</bcp14> minimize the claims contained in attestation statements and the accompanying certificates they disclose, process, and retain to those needed for the applicable issuance policy. Where supported by the attestation technology and compatible with that policy, deployments <bcp14>SHOULD</bcp14> use mechanisms that reduce device linkability, such as privacy-preserving attestation procedures. Such mechanisms do not eliminate correlation through other disclosed information. Enrollment protocols and communication with external Verifiers <bcp14>SHOULD</bcp14> provide confidentiality protection and authenticate recipients. Transport confidentiality protects against observers but does not prevent correlation by the recipients themselves. Access to stored attestation statements and accompanying certificates, including copies in logs, <bcp14>SHOULD</bcp14> be restricted, and retention <bcp14>SHOULD</bcp14> be limited to the period needed for issuance and applicable audit requirements.</t>
      <t>Attestation statements are intended as additional information in the issuance process. It is <bcp14>NOT RECOMMENDED</bcp14> for a CA to copy attestation statements into the published certificate. CAs that choose to republish attestation statements or claims contained in them in certificates <bcp14>SHOULD</bcp14> review the contents and omit sensitive or identifying information.</t>
      <t>Further discussion of remote attestation privacy risks and mitigations is provided in <xref section="11" sectionFormat="of" target="RFC9334"/>. Deployments should also consider the privacy considerations of the specific attestation formats they use.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9334"/>
          <seriesInfo name="DOI" value="10.17487/RFC9334"/>
        </reference>
        <reference anchor="RFC6268">
          <front>
            <title>Additional New ASN.1 Modules for the Cryptographic Message Syntax (CMS) and the Public Key Infrastructure Using X.509 (PKIX)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="July" year="2011"/>
            <abstract>
              <t>The Cryptographic Message Syntax (CMS) format, and many associated formats, are expressed using ASN.1. The current ASN.1 modules conform to the 1988 version of ASN.1. This document updates some auxiliary ASN.1 modules to conform to the 2008 version of ASN.1; the 1988 ASN.1 modules remain the normative version. There are no bits- on-the-wire changes to any of the formats; this is simply a change to the syntax. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6268"/>
          <seriesInfo name="DOI" value="10.17487/RFC6268"/>
        </reference>
        <reference anchor="RFC5911">
          <front>
            <title>New ASN.1 Modules for Cryptographic Message Syntax (CMS) and S/MIME</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>The Cryptographic Message Syntax (CMS) format, and many associated formats, are expressed using ASN.1. The current ASN.1 modules conform to the 1988 version of ASN.1. This document updates those ASN.1 modules to conform to the 2002 version of ASN.1. There are no bits-on-the-wire changes to any of the formats; this is simply a change to the syntax. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5911"/>
          <seriesInfo name="DOI" value="10.17487/RFC5911"/>
        </reference>
        <reference anchor="RFC5912">
          <front>
            <title>New ASN.1 Modules for the Public Key Infrastructure Using X.509 (PKIX)</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>The Public Key Infrastructure using X.509 (PKIX) certificate format, and many associated formats, are expressed using ASN.1. The current ASN.1 modules conform to the 1988 version of ASN.1. This document updates those ASN.1 modules to conform to the 2002 version of ASN.1. There are no bits-on-the-wire changes to any of the formats; this is simply a change to the syntax. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5912"/>
          <seriesInfo name="DOI" value="10.17487/RFC5912"/>
        </reference>
        <reference anchor="RFC4211">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate Request Message Format (CRMF)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="September" year="2005"/>
            <abstract>
              <t>This document describes the Certificate Request Message Format (CRMF) syntax and semantics. This syntax is used to convey a request for a certificate to a Certification Authority (CA), possibly via a Registration Authority (RA), for the purposes of X.509 certificate production. The request will typically include a public key and the associated registration information. This document does not define a certificate request protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4211"/>
          <seriesInfo name="DOI" value="10.17487/RFC4211"/>
        </reference>
        <reference anchor="RFC2986">
          <front>
            <title>PKCS #10: Certification Request Syntax Specification Version 1.7</title>
            <author fullname="M. Nystrom" initials="M." surname="Nystrom"/>
            <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
            <date month="November" year="2000"/>
            <abstract>
              <t>This memo represents a republication of PKCS #10 v1.7 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series, and change control is retained within the PKCS process. The body of this document, except for the security considerations section, is taken directly from the PKCS #9 v2.0 or the PKCS #10 v1.7 document. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2986"/>
          <seriesInfo name="DOI" value="10.17487/RFC2986"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="X680" target="https://www.itu.int/rec/T-REC-X.680-202102-I/en">
          <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" value="X.680"/>
        </reference>
        <reference anchor="X681" target="https://www.itu.int/rec/T-REC-X.681-202102-I/en">
          <front>
            <title>Information technology - Abstract Syntax Notation One (ASN.1): Information object specification</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2021" month="February"/>
          </front>
          <seriesInfo name="ITU-T Recommendation" value="X.681"/>
        </reference>
        <reference anchor="X682" target="https://www.itu.int/rec/T-REC-X.682-202102-I/en">
          <front>
            <title>Information technology - Abstract Syntax Notation One (ASN.1): Constraint specification</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2021" month="February"/>
          </front>
          <seriesInfo name="ITU-T Recommendation" value="X.682"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-lamps-attestation-freshness">
          <front>
            <title>Requesting a Freshness Nonce for Attestation Evidence in Certificate Signing Requests</title>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>Siemens</organization>
            </author>
            <author fullname="Hendrik Brockhaus" initials="H." surname="Brockhaus">
              <organization>Siemens</organization>
            </author>
            <author fullname="Joe Mandel" initials="J." surname="Mandel">
              <organization>AKAYLA, Inc.</organization>
            </author>
            <author fullname="Sean Turner" initials="S." surname="Turner">
              <organization>sn3rd</organization>
            </author>
            <date day="17" month="October" year="2026"/>
            <abstract>
              <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.

   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>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-attestation-freshness-09"/>
        </reference>
        <reference anchor="RFC6025">
          <front>
            <title>ASN.1 Translation</title>
            <author fullname="C. Wallace" initials="C." surname="Wallace"/>
            <author fullname="C. Gardiner" initials="C." surname="Gardiner"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>Abstract Syntax Notation One (ASN.1) is widely used throughout the IETF Security Area and has been for many years. Some specifications were written using a now deprecated version of ASN.1 and some were written using the current version of ASN.1. Not all ASN.1 compilers support both older and current syntax. This document is intended to provide guidance to specification authors and to implementers converting ASN.1 modules from one version of ASN.1 to another version without causing changes to the "bits on the wire". This document does not provide a comprehensive tutorial of any version of ASN.1. Instead, it addresses ASN.1 features that are used in IETF Security Area specifications with a focus on items that vary with the ASN.1 version. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6025"/>
          <seriesInfo name="DOI" value="10.17487/RFC6025"/>
        </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="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="RFC3647">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate Policy and Certification Practices Framework</title>
            <author fullname="S. Chokhani" initials="S." surname="Chokhani"/>
            <author fullname="W. Ford" initials="W." surname="Ford"/>
            <author fullname="R. Sabett" initials="R." surname="Sabett"/>
            <author fullname="C. Merrill" initials="C." surname="Merrill"/>
            <author fullname="S. Wu" initials="S." surname="Wu"/>
            <date month="November" year="2003"/>
            <abstract>
              <t>This document presents a framework to assist the writers of certificate policies or certification practice statements for participants within public key infrastructures, such as certification authorities, policy authorities, and communities of interest that wish to rely on certificates. In particular, the framework provides a comprehensive list of topics that potentially (at the writer's discretion) need to be covered in a certificate policy or a certification practice statement. This document supersedes RFC 2527.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3647"/>
          <seriesInfo name="DOI" value="10.17487/RFC3647"/>
        </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="RFC9999">
          <front>
            <title>Remote ATtestation procedureS (RATS) Conceptual Message Wrapper (CMW)</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="July" year="2026"/>
            <abstract>
              <t>The conceptual messages introduced by the Remote ATtestation procedureS (RATS) architecture (RFC 9334) are protocol-agnostic data units that are conveyed between RATS roles during RATS interactions. 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.</t>
              <t>This document introduces the Conceptual Message Wrapper (CMW) that provides a common structure to encapsulate these messages. It defines a dedicated Concise Binary Object Representation (CBOR) tag, corresponding JSON Web Token (JWT) and CBOR Web Token (CWT) claims, and an X.509 extension.</t>
              <t>Together, these mechanisms allow CMWs to be used in CBOR-based protocols, web APIs using JWTs and CWTs, and PKIX artifacts such as X.509 certificates. Additionally, this document defines media types and CoAP Content-Formats that may be used to identify CMWs when transported over protocols such as HTTP, MIME, and CoAP.</t>
              <t>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, enables the evolution of message serialization formats without breaking compatibility, and avoids the need to redefine how messages are handled within each protocol.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9999"/>
          <seriesInfo name="DOI" value="10.17487/RFC9999"/>
        </reference>
        <reference anchor="RFC9683">
          <front>
            <title>Remote Integrity Verification of Network Devices Containing Trusted Platform Modules</title>
            <author fullname="G. C. Fedorkow" initials="G. C." role="editor" surname="Fedorkow"/>
            <author fullname="E. Voit" initials="E." surname="Voit"/>
            <author fullname="J. Fitzgerald-McKay" initials="J." surname="Fitzgerald-McKay"/>
            <date month="December" year="2024"/>
            <abstract>
              <t>This document describes a workflow for remote attestation of the integrity of firmware and software installed on network devices that contain Trusted Platform Modules (TPMs), as defined by the Trusted Computing Group (TCG), or equivalent hardware implementations that include the protected capabilities, as provided by TPMs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9683"/>
          <seriesInfo name="DOI" value="10.17487/RFC9683"/>
        </reference>
        <reference anchor="CSBR" target="https://cabforum.org/uploads/Baseline-Requirements-for-the-Issuance-and-Management-of-Code-Signing.v3.7.pdf">
          <front>
            <title>Baseline Requirements for Code-Signing Certificates, v.3.7</title>
            <author>
              <organization>CA/Browser Forum</organization>
            </author>
            <date year="2024" month="February"/>
          </front>
        </reference>
        <reference anchor="SampleData" target="https://github.com/lamps-wg/csr-attestation-examples">
          <front>
            <title>CSR Attestation Sample Data</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
    <?line 415?>

<section anchor="examples">
      <name>Examples</name>
      <t>Examples and sample data will be collected in the "CSR Attestation Sample Data" GitHub repository <xref target="SampleData"/>.</t>
    </section>
    <section anchor="sec-asn1-module">
      <name>ASN.1 Module</name>
      <sourcecode type="asn1"><![CDATA[
CSR-ATTESTATION-2025
  { iso(1) identified-organization(3) dod(6) internet(1) security(5)
  mechanisms(5) pkix(7) id-mod(0) id-mod-pkix-attest-2025(TBDMOD) }

DEFINITIONS IMPLICIT TAGS ::= BEGIN

EXPORTS ALL;

IMPORTS

CertificateChoices
  FROM CryptographicMessageSyntax-2010 -- from [RFC6268]
    { iso(1) member-body(2) us(840) rsadsi(113549)
    pkcs(1) pkcs-9(9) smime(16) modules(0) id-mod-cms-2009(58) }

EXTENSION, ATTRIBUTE
  FROM PKIX-CommonTypes-2009 -- from [RFC5912]
    { iso(1) identified-organization(3) dod(6) internet(1)
    security(5) mechanisms(5) pkix(7) id-mod(0)
    id-mod-pkixCommon-02(57) }

id-aa
  FROM SecureMimeMessageV3dot1-2009 -- from [RFC5911]
    { iso(1) member-body(2) us(840) rsadsi(113549)
    pkcs(1) pkcs-9(9) smime(16) modules(0) msg-v3dot1-02(39) }
  ;

ATTESTATION-STATEMENT ::= TYPE-IDENTIFIER

AttestationStatementSet ATTESTATION-STATEMENT ::= {
   ... -- None defined in this document --
}

AttestationStatement ::= SEQUENCE {
   type   ATTESTATION-STATEMENT.&id({AttestationStatementSet}),
   stmt   ATTESTATION-STATEMENT.&Type(
              {AttestationStatementSet}{@type})
}

-- Arc for Attestation types
id-aa-attestation OBJECT IDENTIFIER ::= { id-aa 59 }

-- For PKCS#10 (Attestation)
attr-attestation ATTRIBUTE ::= {
  TYPE AttestationBundle
  COUNTS MAX 1
  IDENTIFIED BY id-aa-attestation
}

-- For CRMF (Attestation)
ext-attestation EXTENSION ::= {
  SYNTAX AttestationBundle
  IDENTIFIED BY id-aa-attestation
}

-- Allow either X.509 or OTHER-CERT certificates
LimitedCertChoices ::=
    CertificateChoices
       (WITH COMPONENTS {certificate, other})

AttestationBundle ::= SEQUENCE {
   attestations SEQUENCE SIZE (1..MAX) OF AttestationStatement,
   certs SEQUENCE SIZE (1..MAX) OF LimitedCertChoices OPTIONAL
}

END
]]></sourcecode>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This specification is the work of a design team created by the chairs of the
LAMPS working group.
We would like to specifically thank Mike StJohns for writing initial
version of this draft and for his substantial work on the final version.
The following persons, in no specific order,
contributed to the work directly, participated in design team meetings, or provided review of the document.</t>
      <t>Richard Kettlewell, Chris Trufan, Bruno Couillard,
Jean-Pierre Fiset, Sander Temme, Jethro Beekman, Zsolt Rózsahegyi, Ferenc
Pető, Mike Agrenius Kushner, Tomas Gustavsson, Dieter Bong, Christopher Meyer, Carl Wallace, Michael Richardson, Tomofumi Okubo, Olivier
Couillard, John Gray, Eric Amador, Giri Mandyam, Darren Johnson, Herman Slatman, Tiru Reddy, James Hagborg, A.J. Stein, John Kemp, Daniel Migault and Russ Housley.</t>
      <t>Additionally, we would like to thank Andreas Kretschmer, Hendrik Brockhaus,
David von Oheimb, Corey Bonnell, and Thomas Fossati for their feedback based on implementation
experience.</t>
      <t>Close to the end of the specification development process, the working group chairs, Russ Housley and Tim Hollebeek, reached out to Steve Hanna, Tim Polk, and Carl Wallace to help improve the document and resolve contentious issues. Their contributions substantially impacted the final outcome of the document.</t>
      <t>We thank Ketan Talaulikar for his detailed review during IESG evaluation, and Meral Shirazipour, Shivan Kaul Sahib, and Sean Turner for their Last Call reviews on behalf of Gen-ART, SECDIR, and ARTART, respectively.</t>
      <t>Finally, we would like to thank Deb Cooley for her review of the document as part of the IESG evaluation process.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA9V963LbxprgfzxFr1K1kVIkbUm2YytzCSXRtmLL0orMcTIu
VwkkmiJGIMBBA5IZl8877BvsO+wb7Na+1363bnSDoOyzk7M7m5RtEgT68vV3
v6Hf70dVWmX6SO38arQq5upKL4tKq2FVaVPFVVrk6j6tFupEl1U6T2d8aZze
5Gl+A3f/Ww33mZ0onk5LfQfjbB1gfAW3wfP6pijXR8pUSRQlxSyPlzB9Usbz
qp/qat7P4uXK9Gem7MfNGP3Dw8jU02VqDHyr1it45mw0eRnl9XKqy6MogYGP
olmRG52b2hypqqx1BAs6jL5TcanjIzW8Gg3hy31R3t6URb06Uu9fqffwDXfy
Cq9Et3oNPydHkeqryzdn/M/J+Lv9x/jx5Or8Jf7r7Y0uO9DoDcBEdzqvYWHf
KSVzvh2eX47xO28inB8uL+M0A+isYrP8GeExKMobvB6Xs8WRWlTVyhw9egTb
jasynt3qcmDvenR/84iA9yieFnX1KII5AfL1FE6FgQo3tOC6AzdlMX6Fm+zg
9uYBPz5Ii/Zjj752XoNFtcx2oiiuq0UBx6NUH/4oleZwNOcDdVHnBiBdLegq
48B5eqtbP8CujtRJuV5V6Uy9LEoYXo2LeXUPJ0o3WLQL76GfZmkFaDZOi/qT
elsUtwCSnrrIq7hMC76hqPMKUfEkzuMkpmuawb+Epfxc2KUMZrHbAC/1dZzn
2qiJmS2Kuc7TG7vaOE//IADgzHoJuBhO9UqXyzhf+3PxWINmrJ9vlp8Gua7a
c+r8Vh2n5e2iyP5ooPOyjOscnyzV+GwSAKXjJ5lzAWMNpjLWzyatBnN37yBh
0Jqq1BrQ4mqh4dQA2QxwiB+fyn4SWNH3z54cvHj6vQft07hcAgYk1bZdh1jw
PjWwoNzHASTu4Dpt8ixP9ErDX3lr5F/ztNKJGleIw8EJ4kD3PM7hAYAUrg5m
xTJcw7uBGi/TAAvf4XDu2tcnynUyMHg/0aE3UZQXsOsqvdOI/lcvT14cHj6R
j88Onj2Xj09f7O83Hw/k45MDd/XgxfNn9oaD54/x42/P+F9gIsK9z/I5zwbs
ttKzRV5kxc0aedUUj24GZLMG1P+k3hXClC9yrXaH43eD/T3A1ZWeNdwdxMA0
NkBNedFwCUArR8vNuUx+7TNiEf9VB48P9vuPDxh/dJlqk8LC7CN0N7BGgA5Q
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
4mDtEpXWxp1jIPrfjlWs5M6KAAA=

-->

</rfc>
