<?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.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-csr-attestation-28" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <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-28"/>
    <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="June" day="16"/>
    <keyword>PKI</keyword>
    <keyword>PKCS#10</keyword>
    <keyword>CRMF</keyword>
    <keyword>Attestation</keyword>
    <keyword>Certificate Signing Requests</keyword>
    <abstract>
      <?line 86?>

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

<section anchor="introduction">
      <name>Introduction</name>
      <t>Certification Authorities (CAs) issuing certificates to PKI end entities may require a certificate signing request (CSR) include verifiable attestations that contain claims regarding the platform used by the end entity to generate the key pair for which a certificate is sought and also contains claims of 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). This specification RECOMMENDS that attestations that are not encoded using the Basic Encoding Rules (BER) or Distinguished Encoding Rules (DER) be wrapped in an ASN.1 OCTET STRING.</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.2" 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>
      <section anchor="attestationstatement-and-attestationbundle">
        <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>At least one element in the <tt>attestations</tt> field <bcp14>SHOULD</bcp14> contain an attestation that is cryptographically bound to the public key that is the subject of the CSR containing the <tt>AttestationBundle</tt>.</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 non-X.509 certificate formats. <tt>CertificateChoices</tt> <bcp14>MUST</bcp14> only contain certificate or other. In this context, <tt>CertificateChoices</tt> <bcp14>MUST NOT</bcp14> contain <tt>extendedCertificate</tt>, <tt>v1AttrCert</tt>, or <tt>v2AttrCert</tt>. Note that for non-ASN.1 certificate formats, the <tt>CertificateChoices</tt> <bcp14>MUST</bcp14> contain <tt>other</tt> with an <tt>OTHER-CERT-FMT.Type</tt> of <tt>OCTET STRING</tt> and data consistent with <tt>OTHER-CERT-FMT.id</tt>. <tt>LimitedCertChoices</tt> is defined to limit the available options 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 contains a set of certificates that
may be used to validate an <tt>AttestationStatement</tt>
contained in <tt>attestations</tt>. For each <tt>AttestationStatement</tt>, the set of certificates <bcp14>SHOULD</bcp14> contain
the certificate that contains the public key needed to directly validate the
<tt>AttestationStatement</tt>, unless the signing key is expected to be 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.</t>
      </section>
      <section anchor="csr-attribute-and-extension">
        <name>CSR Attribute and Extension</name>
        <t>By definition, attributes within a PKCS#10 CSR are typed as ATTRIBUTE and within a CRMF CSR are typed as EXTENSION.</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-attestations ATTRIBUTE ::= {
  TYPE AttestationBundle
  COUNTS MAX 1
  IDENTIFIED BY id-aa-attestation
}

-- For CRMF
ext-attestations 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="I-D.ietf-rats-msg-wrap"/>, 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.  Resolving that ambiguity is outside the scope of this document and must be defined by the attestation‑format specification, particularly for opaque (wrapper) formats.  Two pragmatic approaches are recommended: (1) assign distinct OIDs for different verifier or verification types even when the underlying format structure is identical, or (2) encapsulate the opaque attestation object in a wrapper that carries an explicit hint.  Implementations should adopt one of these approaches and attestation‑format specifications should mandate the precise mechanism for nonce selection and routing of attestations.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to allocate a value from the "SMI Security for PKIX Module Identifier"
registry for the included ASN.1 module, and to allocate a value from "SMI Security for
S/MIME Attributes" to identify an attribute defined within.</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: CSR-ATTESTATION-2025 - id-mod-pkix-attest-01</t>
          </li>
          <li>
            <t>References: This Document</t>
          </li>
        </ul>
      </section>
      <section anchor="object-identifier-registrations-smi-security-for-smime-attributes">
        <name>Object Identifier Registrations - SMI Security for S/MIME Attributes</name>
        <t>IANA is asked to register the following within the registry id-aa
SMI Security for S/MIME Attributes (1.2.840.113549.1.9.16.2).</t>
        <ul spacing="normal">
          <li>
            <t>Attestation Statement</t>
          </li>
          <li>
            <t>Decimal: IANA Assigned - Note: .59 has already been early-allocated as "id-aa-evidence" referencing this document, so the request is to change the name of this entry to "id-aa-attestation" and leave the allocation of .59 as-is.</t>
          </li>
          <li>
            <t>Description: id-aa-attestation</t>
          </li>
          <li>
            <t>References: This Document</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="security-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).</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>Regardless of the topological model, the CA/RA is ultimately responsible for validating the binding between the public key and the attestation(s) in the CSR. For CAs issuing in conformance with the CA/Browser Forum's Code Signing Baseline Requirements, this means verifying the attestation of HSM generation and protection is cryptographically bound to the public key in the CSR.</t>
        <t>Multiple attestations 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 attestations 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 EST <xref target="RFC7030"/> or CMP <xref target="RFC4210"/>, these protocols can supply the Attester with a nonce. Further details are specified in <xref target="I-D.ietf-lamps-attestation-freshness"/>.</t>
      </section>
      <section anchor="relationship-of-attestations-and-certificate-extensions">
        <name>Relationship of Attestations and Certificate Extensions</name>
        <t>Attestations are intended as additional information in the issuance process, and may include sensitive information about the platform, such as hardware details or patch levels, or device ownership. It is <bcp14>NOT RECOMMENDED</bcp14> for a CA to copy attestations into the published certificate. CAs that choose to republish attestations in certificates <bcp14>SHOULD</bcp14> review the contents and delete any sensitive information.</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>
  </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="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="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-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.ietf-lamps-attestation-freshness">
          <front>
            <title>Nonce-based Freshness for Remote Attestation in Certificate Signing Requests (CSRs) for the Certification Management Protocol (CMP), for Enrollment over Secure Transport (EST), and for Certificate Management over CMS (CMC)</title>
            <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="20" month="April" year="2026"/>
            <abstract>
              <t>   When an end entity includes attestation statements in a Certificate
   Signing Request (CSR), this document is specifically concerned with
   establishing the freshness of Evidence statements among that
   attestation data.  Current attestation technology commonly achieves
   this using nonces.

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-attestation-freshness-06"/>
        </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="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>
        <reference anchor="RFC4210">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate Management Protocol (CMP)</title>
            <author fullname="C. Adams" initials="C." surname="Adams"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="T. Kause" initials="T." surname="Kause"/>
            <author fullname="T. Mononen" initials="T." surname="Mononen"/>
            <date month="September" year="2005"/>
            <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 on-line interactions between PKI components, including an exchange between a Certification Authority (CA) and a client system. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4210"/>
          <seriesInfo name="DOI" value="10.17487/RFC4210"/>
        </reference>
      </references>
    </references>
    <?line 362?>

<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="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-01(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
    { 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>
    </section>
  </back>
  <!-- ##markdown-source:
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
Wzj/B7OUEwDRaQAA

-->

</rfc>
