<?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-acme-device-attest-10" category="std" consensus="true" submissionType="IETF" updates="8555" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="ACME DA">Automatic Certificate Management Environment (ACME) Device Attestation Extension</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-acme-device-attest-10"/>
    <author initials="B." surname="Weeks" fullname="Brandon Weeks">
      <organization abbrev="Google Inc">Google Inc</organization>
      <address>
        <email>me@brandonweeks.com</email>
      </address>
    </author>
    <author initials="G." surname="Mallaya" fullname="Ganesh Mallaya">
      <organization abbrev="AppViewX Inc.">AppViewX Inc.</organization>
      <address>
        <email>ganesh.mallaya@appviewx.com</email>
      </address>
    </author>
    <author initials="S." surname="Rajala" fullname="Sven Rajala">
      <organization abbrev="Keyfactor">Keyfactor</organization>
      <address>
        <email>sven.rajala@keyfactor.com</email>
      </address>
    </author>
    <author initials="C." surname="Bonnell" fullname="Corey Bonnell">
      <organization abbrev="TurboLight Solutions">TurboLight Solutions</organization>
      <address>
        <email>corey.bonnell@turbolightsolutions.com</email>
      </address>
    </author>
    <author initials="R." surname="Hurst" fullname="Ryan Hurst">
      <organization abbrev="Peculiar Ventures">Peculiar Ventures</organization>
      <address>
        <email>ryan.hurst+ietf@peculiarventures.com</email>
      </address>
    </author>
    <date year="2026" month="August" day="10"/>
    <area>Security</area>
    <workgroup>ACME Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 82?>

<t>This document specifies new identifiers and a challenge for the Automatic Certificate Management Environment (ACME) protocol which allows validating the identity of a device using attestation. This document updates RFC 8555 to enable a privacy-preserving mode for the identifiers defined in this document.</t>
    </abstract>
  </front>
  <middle>
    <?line 86?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Automatic Certificate Management Environment (ACME) <xref target="RFC8555"/> standard specifies methods for validating control over identifiers, such as domain names. It is also useful to be able to validate properties of the device requesting the certificate, such as the identity of the device and whether the certificate key is protected by a secure cryptoprocessor.</t>
      <t>Many operating systems and device vendors offer functionality enabling a device to generate a cryptographic attestation of their identity, such as:</t>
      <ul spacing="normal">
        <li>
          <t><eref target="https://source.android.com/security/keystore/attestation">Android Key Attestation</eref></t>
        </li>
        <li>
          <t><eref target="https://developers.google.com/chrome/verified-access/overview">Chrome OS Verified Access</eref></t>
        </li>
        <li>
          <t><eref target="https://trustedcomputinggroup.org/resource/trusted-platform-module-tpm-summary/">Trusted Platform Module</eref></t>
        </li>
        <li>
          <t><eref target="https://support.apple.com/en-om/guide/deployment/dep28afbde6a/web">Managed Device Attestation for Apple Devices</eref></t>
        </li>
      </ul>
      <t>The following changes to the ACME specification are described in this document:</t>
      <ul spacing="normal">
        <li>
          <t>Addition of <tt>permanent-identifier</tt> <xref target="RFC4043"/> and <tt>hardware-module</tt> <xref target="RFC4108"/> identifier types.</t>
        </li>
        <li>
          <t>Addition of the <tt>device-attest-01</tt> challenge type to prove control of the <tt>permanent-identifier</tt> and <tt>hardware-module</tt> identifier types.</t>
        </li>
        <li>
          <t>The challenge response payload contains a serialized WebAuthn attestation statement format instead of an empty JSON object (<tt>{}</tt>).</t>
        </li>
        <li>
          <t>Accounts and external account binding being used as a mechanism to pre-authenticate requests to an enterprise CA.</t>
        </li>
      </ul>
      <t>This document does not specify the attestation verification procedures. Section 13 of <xref target="WebAuthn"/> gives some guidance, however verification procedures are complex and may require changes to address future security issues.</t>
      <t>Efforts are underway within the Remote ATtestation ProcedureS (RATS) working group to define a set of standard formats and protocols for attestation. An explicit aim of this document is to support vendor specific formats and protocols that are widely deployed at publication time of this specification.</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?>

</section>
    <section anchor="permanent-identifier">
      <name>Permanent Identifier</name>
      <t>A new identifier type, <tt>permanent-identifier</tt> is introduced to represent the identity of a device assigned by the manufacturer, typically a serial number. Additionally, the assigner of the identifier <bcp14>MAY</bcp14> be specified. The name of this identifier type was chosen to align with <xref target="RFC4043"/>. This specification does not prescribe the lifetime of the identifier, which is at the discretion of the Assigner Authority (<xref target="RFC4043"/>).</t>
      <t>Although <xref target="RFC4043"/> permits any valid UTF-8 string to be used as the identifier, this specification mandates that identifiers <bcp14>MUST NOT</bcp14> contain the forward-slash "/" (UTF-8: U+002F) character. This restriction is required to make the ABNF production rule for the <tt>permanent-identifier-value</tt> unambiguous.</t>
      <section anchor="representation-in-order-resources">
        <name>Representation in Order resources</name>
        <t>The identifier's <tt>value</tt> field contains a UTF-8 string representation of the identity of the device. In addition to the value being a valid UTF-8 string, the value <bcp14>MUST</bcp14> match the <tt>permanent-identifier-value</tt> production rule as defined in this ABNF <xref target="RFC5234"/> syntax:</t>
        <sourcecode type="abnf"><![CDATA[
assigner-value = first-and-second-components *("." component)
first-and-second-components = (("0" / "1") "." (*1(%x31-33) %x30-39)) / ("2" "." component)
component = "0" / (%x31-39 *%x30-39)
device-identifier-value = 1*(%x00-2E / %x30-FF)

permanent-identifier-value = device-identifier-value ["/" assigner-value]
]]></sourcecode>
        <t>A valid <tt>permanent-identifier-value</tt> value is a UTF-8 string that contains an identity consisting of one or more characters without any forward-slash "/" (UTF-8: U+002F) characters. Optionally, a forward-slash "/" character and "dotted-decimal" object identifier identifying the assigner may follow the identity. The assigner-value is a dotted-decimal representation of an ASN.1 OBJECT IDENTIFIER.</t>
        <t>The Server <bcp14>MUST</bcp14> verify that identifier values in newOrder requests conform to the <tt>permanent-identifier-value</tt> production rule and <bcp14>MUST</bcp14> reject requests containing non-conforming values with a "malformed" error.</t>
        <t>Example of an identifier without an assigner:</t>
        <sourcecode type="json"><![CDATA[
{
  "type": "permanent-identifier",
  "value": "ABCDEF123456"
}
]]></sourcecode>
        <t>Example of an identifier with an assigner:</t>
        <sourcecode type="json"><![CDATA[
{
  "type": "permanent-identifier",
  "value": "ABCDEF123456/1.2.3.4"
}
]]></sourcecode>
      </section>
      <section anchor="representation-in-certificate-signing-requests-csrs-and-x509-certificates">
        <name>Representation in Certificate Signing Requests (CSRs) and X.509 Certificates</name>
        <t>This section describes the X.509 representation of the <tt>permanent-identifier</tt>. Other credential types may use the same identifier values with representations appropriate to those credential types.</t>
        <t>The identity is included in the Subject Alternative Name extension ("SAN") using the <tt>identifierValue</tt> field of the PermanentIdentifier form described in <xref target="RFC4043"/>. Although <xref target="RFC4043"/> permits the requester to include the <tt>identifierValue</tt> in a <tt>serialNumber</tt> subject attribute, this specification mandates that the <tt>identifierValue</tt> field of the PermanentIdentifier <bcp14>MUST</bcp14> be present and <bcp14>MUST</bcp14> contain the identifier.</t>
        <t>The value of the <tt>identifierValue</tt> field of the PermanentIdentifier <bcp14>MUST</bcp14> be an octet-for-octet match of the <tt>device-identifier-value</tt> value as encoded in the Order resource. If the <tt>assigner-value</tt> value is included in the identifier as encoded in the Order resource, then the <tt>assigner</tt> field of the PermanentIdentifier <bcp14>MUST</bcp14> be the encoding of the "dotted-decimal" object identifier encoded as the <tt>assigner-value</tt> value.</t>
        <t>This strict matching requirement ensures that the SAN in the issued certificate appears exactly as it appeared during proof-of-ownership validation, preventing identifier malleability. Serial number allocation schemes may be case-sensitive or otherwise sensitive to exact byte representation, so no normalization or transformation is permitted.</t>
        <t>To ensure that the identifier as presented in the Order resource and CSR match, the Server <bcp14>MUST</bcp14> perform the logical equivalent of extracting the <tt>device-identifier-value</tt> and <tt>assigner-value</tt> values from the CSR and reconstructing the UTF-8 representation of the identifier. The Server <bcp14>MUST</bcp14> then ensure that the UTF-8 representation and the identifier presented in the Order resource are an octet-for-octet match and reject the Order otherwise. Servers that derive identifier values directly from verified attestation evidence and construct the certificate SAN from that evidence, provided the derived values are verified against the attested device identity in the attestation statement, satisfy the intent of this requirement.</t>
        <t><xref target="RFC8555"/> section 7.4 mandates that "The CSR <bcp14>MUST</bcp14> indicate the exact same set of requested identifiers as the initial newOrder request". However, there are some environments where the Server requires validation of the identifier but does not include the identifier in certificates due to privacy concerns. This document updates <xref target="RFC8555"/> to specify that the CSR <bcp14>SHOULD</bcp14> indicate the exact same set of requested identifiers of types <tt>permanent-identifier</tt> and <tt>hardware-module</tt> (<xref target="hardware-module"/>) as the initial newOrder request (identifiers of other types <bcp14>MUST</bcp14> be indicated in the CSR per <xref target="RFC8555"/> section 7.4). To support privacy-preserving certificates, Clients <bcp14>MAY</bcp14> omit identifiers of types <tt>permanent-identifier</tt> and <tt>hardware-module</tt> in the certificate signing request (CSR). Similarly, if the Server wishes to issue privacy-preserving certificates, it <bcp14>MAY</bcp14> reject CSRs containing a PermanentIdentifier or HardwareModuleName in the subjectAltName extension. See the <xref target="privacy-considerations"/> for more information.</t>
      </section>
    </section>
    <section anchor="hardware-module">
      <name>Hardware Module</name>
      <t>A new identifier type, <tt>hardware-module</tt> is introduced to represent the identity of the secure cryptoprocessor that generated the certificate key. The identity is modeled after the HardwareModuleName form described in <xref target="RFC4108"/>. It consists of two components: an OBJECT IDENTIFIER to represent the type of hardware module, and a serial number that identifies the specific hardware module.</t>
      <t>Although <xref target="RFC4108"/> specifies that serial numbers can be represented as any sequence of bytes, this specification requires that serial numbers <bcp14>MUST</bcp14> be representable as valid UTF-8 strings consisting of at least one code point and <bcp14>MUST NOT</bcp14> contain a forward-slash "/" (UTF-8: U+002F) character. This restriction ensures that serial numbers can be included in <tt>hardware-module</tt> identifier string values and that the ABNF production rule for the value is unambiguous.</t>
      <section anchor="representation-in-order-resources-1">
        <name>Representation in Order resources</name>
        <t>The identifier's <tt>value</tt> field contains a UTF-8 string representation of the identity of the hardware module. In addition to the value being a valid UTF-8 string, the value <bcp14>MUST</bcp14> match the <tt>hardware-module-value</tt> production rule as defined in this ABNF <xref target="RFC5234"/> syntax:</t>
        <sourcecode type="abnf"><![CDATA[
hw-type-value = first-and-second-components *("." component)
first-and-second-components = (("0" / "1") "." (*1(%x31-33) %x30-39)) / ("2" "." component)
component = "0" / (%x31-39 *%x30-39)
hw-serial-num-value = 1*(%x00-2E / %x30-FF)

hardware-module-value = hw-serial-num-value "/" hw-type-value
]]></sourcecode>
        <t>A valid <tt>hardware-module-value</tt> value is a UTF-8 string that contains a serial number consisting of one or more characters without any forward-slash "/" (UTF-8: U+002F) characters. A forward-slash "/" character and "dotted-decimal" object identifier identifying the hardware type follows the serial number.</t>
        <t>The Server <bcp14>MUST</bcp14> verify that identifier values in newOrder requests conform to the <tt>hardware-module-value</tt> production rule and <bcp14>MUST</bcp14> reject requests containing non-conforming values with a "malformed" error.</t>
        <t>Example of an identifier with the type of the hardware module represented using the OBJECT IDENTIFIER "1.2.3.4" and a serial number of "ABCD":</t>
        <sourcecode type="json"><![CDATA[
{
  "type": "hardware-module",
  "value": "ABCD/1.2.3.4"
}
]]></sourcecode>
      </section>
      <section anchor="representation-in-certificate-signing-requests-and-x509-certificates">
        <name>Representation in Certificate Signing Requests and X.509 Certificates</name>
        <t>This section describes the X.509 representation of the <tt>hardware-module</tt> identifier. Other credential types may use the same identifier values with representations appropriate to those credential types.</t>
        <t>The hardware module identity is included in the Subject Alternative Name extension using the HardwareModuleName form described in <xref target="RFC4108"/>. The HardwareModuleName is encoded as an otherName with the OID <tt>id-on-hardwareModuleName</tt> (1.3.6.1.5.5.7.8.4) and consists of:</t>
        <ul spacing="normal">
          <li>
            <t><tt>hwType</tt>: An OBJECT IDENTIFIER that identifies the type of hardware module</t>
          </li>
          <li>
            <t><tt>hwSerialNum</tt>: An OCTET STRING containing the hardware module serial number</t>
          </li>
        </ul>
        <t>The value of the <tt>hwSerialNum</tt> field of the HardwareModuleName <bcp14>MUST</bcp14> be an octet-for-octet match of the <tt>hw-serial-num-value</tt> value as encoded in the Order resource. If the <tt>hw-type-value</tt> value is included in the identifier as encoded in the Order resource, then the <tt>hwType</tt> field of the HardwareModuleName <bcp14>MUST</bcp14> be the encoding of the "dotted-decimal" object identifier encoded as the <tt>hw-type-value</tt> value.</t>
        <t>This strict matching requirement ensures that the SAN in the issued certificate appears exactly as it appeared during proof-of-ownership validation, preventing identifier malleability. Serial number allocation schemes may be case-sensitive or otherwise sensitive to exact byte representation, so no normalization or transformation is permitted.</t>
        <t>To ensure that the identifier as presented in the Order resource and CSR match, the Server <bcp14>MUST</bcp14> perform the logical equivalent of extracting the <tt>hw-serial-num-value</tt> and <tt>hw-type-value</tt> values from the CSR and reconstructing the UTF-8 representation of the identifier. The Server <bcp14>MUST</bcp14> then ensure that the UTF-8 representation and the identifier presented in the Order resource are an octet-for-octet match and reject the Order otherwise. Servers that derive identifier values directly from verified attestation evidence and construct the certificate SAN from that evidence, provided the derived values are verified against the attested device identity in the attestation statement, satisfy the intent of this requirement.</t>
        <t><xref target="RFC8555"/> section 7.4 mandates that "The CSR <bcp14>MUST</bcp14> indicate the exact same set of requested identifiers as the initial newOrder request". This document updates <xref target="RFC8555"/> to specify that the CSR <bcp14>SHOULD</bcp14> indicate the exact same set of requested identifiers of types <tt>permanent-identifier</tt> (<xref target="permanent-identifier"/>) and <tt>hardware-module</tt> as the initial newOrder request (identifiers of other types <bcp14>MUST</bcp14> be indicated in the CSR per <xref target="RFC8555"/> section 7.4). To support privacy-preserving certificates, Clients <bcp14>MAY</bcp14> omit identifiers of types <tt>permanent-identifier</tt> and <tt>hardware-module</tt> in the certificate signing request (CSR). Similarly, if the Server wishes to issue privacy-preserving certificates, it <bcp14>MAY</bcp14> reject CSRs containing a PermanentIdentifier or HardwareModuleName in the subjectAltName extension. See the <xref target="privacy-considerations"/> for more information.</t>
      </section>
    </section>
    <section anchor="device-attestation-challenge">
      <name>Device Attestation Challenge</name>
      <t>A Client can prove control over a permanent identifier of a device by providing an attestation statement containing the identifier of the device.</t>
      <t>The <tt>device-attest-01</tt> ACME challenge object has the following format:</t>
      <dl>
        <dt><tt>type</tt> (required, string):</dt>
        <dd>
          <t>The string <tt>device-attest-01</tt>.</t>
        </dd>
        <dt><tt>token</tt> (required, string):</dt>
        <dd>
          <t>A random value that uniquely identifies the challenge.</t>
        </dd>
      </dl>
      <t>An example message with a <tt>device-attest-01</tt> challenge is provided below:</t>
      <sourcecode type="json"><![CDATA[
{
  "type": "device-attest-01",
  "url": "https://example.com/acme/chall/Rg5dV14Gh1Q",
  "status": "pending",
  "token": "evaGxfADs6pSRb2LAv9IZf17Dt3juxGJ-PCt92wr-oA"
}
]]></sourcecode>
      <t>A Client fulfills this challenge by constructing a key authorization (<xref section="8.1" sectionFormat="of" target="RFC8555"/>) from the <tt>token</tt> value provided in the challenge and the Client's account key. The Client then generates a WebAuthn attestation object using the key authorization as the challenge.</t>
      <t>This specification borrows the WebAuthn <em>attestation object</em> representation as described in Section 6.5.4 of <xref target="WebAuthn"/> for encapsulating attestation formats, but with these modifications:</t>
      <ul spacing="normal">
        <li>
          <t>The key authorization is used to form <em>attToBeSigned</em>. This replaces the concatenation of <em>authenticatorData</em> and <em>clientDataHash</em>. <em>attToBeSigned</em> is hashed using an algorithm specified by the attestation format.</t>
        </li>
        <li>
          <t>Some attestation formats use an external attestation authority that issues a certificate binding the challenge to the device before the Client's account key is available. In these formats, <em>attToBeSigned</em> is formed from the token alone rather than the full key authorization, because the external authority signs at attestation time before the account key thumbprint can be incorporated. The token construction provides freshness. The key authorization construction additionally binds the attestation to a specific account key. The Server <bcp14>MUST</bcp14> process and verify attestations in accordance with the format-specific documentation. Attestation formats whose signing procedure does not incorporate <em>attToBeSigned</em> cannot be used to satisfy this challenge type.</t>
        </li>
        <li>
          <t>The <em>authData</em> field carries browser-context data (including the RP ID hash) that has no meaning in the ACME context and <bcp14>SHOULD</bcp14> be omitted.</t>
        </li>
      </ul>
      <t>A Client responds with the response object containing the WebAuthn attestation object in the <tt>attObj</tt> field to acknowledge that the challenge can be validated by the Server. Clients <bcp14>MAY</bcp14> include additional fields beyond <tt>attObj</tt> in the response object. Servers <bcp14>MUST</bcp14> ignore unrecognized fields in the challenge response.</t>
      <t>On receiving a response, the Server constructs and stores the key authorization from the challenge's <tt>token</tt> value and the current Client account key.</t>
      <t>To validate a device attestation challenge, the Server performs the following steps:</t>
      <ol spacing="normal" type="1"><li>
          <t>Perform the verification procedures described in Section 6 of <xref target="WebAuthn"/>.</t>
        </li>
        <li>
          <t>Verify that <em>attToBeSigned</em> contains the key authorization or the token, according to the construction required by the attestation format, and that the value matches what the Server stored.</t>
        </li>
        <li>
          <t>Verify that the attestation statement contains a device identifier and that it matches the identifier in the Order. The means by which the identifier is encoded in the attestation statement are specific to the attestation format.</t>
        </li>
      </ol>
      <t>If any of the steps fail, then the Server <bcp14>MUST</bcp14> respond to the Client with a <tt>badAttestationStatement</tt> error and set the status of the challenge object to <tt>invalid</tt>. The Server <bcp14>MUST</bcp14> provide the reason for rejecting the challenge in the <tt>detail</tt> field of the problem document, unless disclosing the reason to the Client presents a privacy concern; see <xref target="privacy-considerations"/> for more information.</t>
      <t>An example challenge response containing the WebAuthn attestation object in the payload:</t>
      <sourcecode type="http-message"><![CDATA[
POST /acme/chall/Rg5dV14Gh1Q HTTP/1.1
Host: example.com
Content-Type: application/jose+json

{
  "protected": base64url({
    "alg": "ES256",
    "kid": "https://example.com/acme/acct/evOfKhNU60wg",
    "nonce": "SS2sSl1PtspvFZ08kNtzKd",
    "url": "https://example.com/acme/chall/Rg5dV14Gh1Q"
  }),
  "payload": base64url({
    "attObj": base64url(/* WebAuthn attestation object */),
  }),
  "signature": "Q1bURgJoEslbD1c5...3pYdSMLio57mQNN4"
}
]]></sourcecode>
      <t>The WebAuthn payload <bcp14>MAY</bcp14> contain any identifiers registered in "WebAuthn Attestation Statement Format Identifiers" and any extensions registered in "WebAuthn Extension Identifiers" <xref target="IANA-Webauthn"/>.</t>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <section anchor="enterprise-pki">
        <name>Enterprise PKI</name>
        <t>ACME was originally envisioned for issuing certificates in the Web PKI, however this extension is primarily useful in enterprise PKI. The sections below provide operational considerations for enterprise PKIs.</t>
        <section anchor="external-account-binding">
          <name>External Account Binding</name>
          <t>An enterprise CA likely only wants to receive requests from authorized devices. It is <bcp14>RECOMMENDED</bcp14> that the Server require a value for the <tt>externalAccountBinding</tt> field to be present in <tt>newAccount</tt> requests, as defined by Section 7.3.4 of <xref target="RFC8555"/>.</t>
          <t>If an enterprise CA desires to limit the number of certificates that can be requested with a given account, including limiting an account to a single certificate, after the desired number of certificates have been issued to an account the Server <bcp14>MAY</bcp14> revoke the account as described in Section 7.1.2 of <xref target="RFC8555"/>.</t>
        </section>
        <section anchor="attestation-posture">
          <name>Attestation Posture</name>
          <t>Enterprise deployments often consist of heterogeneous device fleets where not all devices are capable of hardware attestation. A Server <bcp14>MAY</bcp14> offer <tt>device-attest-01</tt> alongside other challenge types within a single authorization, allowing capable devices to complete <tt>device-attest-01</tt> while other devices complete an alternative challenge. This posture allows operators to observe fleet attestation coverage before enforcing policy and is compatible with phased deployments.</t>
          <t>Servers <bcp14>MAY</bcp14> rely on other authorization mechanisms, such as external account binding or pre-authorized accounts, to establish device identity instead of completing the <tt>device-attest-01</tt> challenge.</t>
        </section>
        <section anchor="multiple-challenge-types">
          <name>Multiple Challenge Types</name>
          <t><xref target="RFC8555"/> permits a Server to offer multiple challenge types within a single authorization, with any one being sufficient to complete it. Servers <bcp14>MAY</bcp14> offer <tt>device-attest-01</tt> alongside other challenge types for the same authorization, allowing capable devices to attest while other devices use an alternative challenge type.</t>
        </section>
      </section>
      <section anchor="attestation-trust">
        <name>Attestation Trust</name>
        <t>Attestation formats differ in the authority that enforces the boundary around the attested key and in the claims that authority can make. At one end, dedicated security hardware (such as a TPM or HSM) provides manufacturer-backed guarantees that the key is generated and stored within the hardware and cannot be exported. At the other end, OS-enforced isolation boundaries (such as platform keystores protected by the operating system kernel) provide meaningful key protection guarantees without discrete security hardware. Intermediate cases include TEE-based attestation where a hypervisor or trusted execution environment acts as the authority.</t>
        <t>Server operators must consider the trust properties of each attestation format when establishing issuance policy, including the nature of the authority making the attestation and the key protection guarantees it can assert. The key authorization construction described in <xref target="device-attestation-challenge"/> also contributes to this trust model: formats that use the full key authorization as <em>attToBeSigned</em> bind the attestation to a specific account key, while formats that use the token alone provide freshness without account key binding.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>This section analyzes the privacy implications of the <tt>permanent-identifier</tt> and <tt>hardware-module</tt> identifier types introduced in this document. The guidance here is informed by the threat taxonomy defined in <xref target="RFC6973"/> and is intended to help implementers make informed decisions about whether and when to include these identifiers in certificate requests and issued certificates.</t>
      <t>Both identifier types represent unchanging hardware-bound properties of a device. Unlike domain names or other identifiers whose lifetime is bounded by operational changes, these identifiers typically persist across the entire operational life of a device and cannot be rotated or revoked by the device owner. This permanence has material privacy consequences that implementers must weigh carefully.</t>
      <t>The privacy analysis below addresses the two phases in which these identifiers appear: the attestation exchange between the Client and server during challenge validation, and the optional embedding of identifiers in the issued certificate.</t>
      <section anchor="identification-and-correlation">
        <name>Identification and Correlation</name>
        <t>The <tt>permanent-identifier</tt> type encodes a manufacturer-assigned device identity, typically a serial number. The <tt>hardware-module</tt> type encodes the identity of the secure cryptoprocessor that generated the certificate key. In both cases, the identifier is globally unique within its assigner scope and unchanging for the lifetime of the device or hardware module.</t>
        <t>From the perspective of <xref target="RFC6973"/> Section 5.2.2, such identifiers enable direct identification of a device across protocol interactions, deployments, and time. Any entity that receives or observes these identifiers, including the server, intermediary infrastructure, and any relying party that processes the issued certificate acquires an observable reference that can be used to track the device's certificate issuance history, renewal patterns, and operational context.</t>
        <t>When the same <tt>permanent-identifier</tt> or <tt>hardware-module</tt> value appears across multiple certificate requests (as it will in any recurring renewal workflow), it enables <xref target="RFC6973"/> correlation: an observer with access to server logs can reconstruct the full lifecycle of a device's certificate activity. Similarly, when such identifiers are included in issued certificates, logging issued certificates in a central location (in certificate transparency logs, etc.) produces a persistent device audit trail regardless of whether the log operator intends to maintain one.</t>
        <t>Implementers should assess whether the operational benefit of unchanging device identification outweighs this correlation exposure. In deployments where device anonymity or pseudonymity is a requirement, such as systems handling sensitive workloads on behalf of individuals, implementers should consider whether alternative validation mechanisms that do not bind the certificate to a permanent hardware identifier are more appropriate.</t>
      </section>
      <section anchor="fingerprinting-via-attestation-payloads">
        <name>Fingerprinting via Attestation Payloads</name>
        <t>The <tt>device-attest-01</tt> challenge response carries a WebAuthn attestation object that may contain significantly more information than the identifier value alone. Depending on the attestation format, this payload may include device model, firmware version, bootloader state, hardware security level, and operating system version. Even when the resulting certificate is issued in a privacy-preserving form that omits the identifier from the subjectAltName extension (see Section 3.2 and Section 4.2), the attestation payload itself is transmitted to and evaluated by the server during challenge validation.</t>
        <t>This constitutes a fingerprinting surface as defined in <xref target="RFC6973"/> Section 3.2. The combination of a hardware serial number, hardware type OID, and firmware attestation attributes may uniquely identify not just the device model but the specific device unit, even in the absence of an explicit <tt>permanent-identifier</tt> value. Implementers operating servers should apply data-minimization principles by evaluating only the attributes necessary to make the authorization decision. The full attestation payload should not be retained beyond the challenge-validation exchange unless there is a specific, documented operational requirement to do so.</t>
        <t>Implementers operating ACME Clients should be aware that the attestation format selected may expose more device state than is necessary to satisfy the server's authorization policy. Where multiple attestation formats are available, Clients should prefer formats that minimize the set of disclosed attributes.</t>
      </section>
      <section anchor="secondary-use-of-attestation-data">
        <name>Secondary Use of Attestation Data</name>
        <t>The server receives attestation data in the context of authorizing a certificate issuance request. <xref target="RFC6973"/> Section 5.2.3 identifies secondary use as the processing of data for purposes beyond the original collection context and as a distinct privacy threat.</t>
        <t>Attestation payloads received during challenge validation may contain information about device health, software configuration, and hardware capability that is operationally useful beyond certificate issuance. For example, for asset inventory, compliance monitoring, or security posture assessment. Implementers operating servers must clearly define and document the purposes for which attestation data is processed and must not process attestation data for purposes materially different from authorization of the certificate request without explicit policy disclosure to the device owner or operator.</t>
        <t>Implementers integrating ACME device attestation into enterprise PKI platforms should publish a clear attestation data handling policy that specifies what attributes are evaluated, how long they are retained, and whether they are shared with other systems.</t>
      </section>
      <section anchor="privacy-preserving-certificate-issuance">
        <name>Privacy-Preserving Certificate Issuance</name>
        <t>This document provides an explicit mechanism to decouple attestation-based validation from identifier disclosure in the issued certificate. Clients <bcp14>MAY</bcp14> omit the <tt>permanent-identifier</tt> or <tt>hardware-module</tt> from the CSR, and servers <bcp14>MAY</bcp14> issue certificates that do not contain these identifiers in the subjectAltName extension, even when those identifiers were used to authorize the request.</t>
        <t>Implementers should treat this privacy-preserving mode as the default posture unless there is a specific operational requirement for the identifier to appear in the certificate. The following considerations apply to this decision:</t>
        <ul spacing="normal">
          <li>
            <t>If the issued certificate will be presented to relying parties outside the issuing organization's trust boundary, embedding a <tt>permanent-identifier</tt> or <tt>hardware-module</tt> value in the certificate enables those relying parties to correlate certificate presentations with specific physical hardware. This may be acceptable in closed enterprise environments but is likely inappropriate in any context where the certificate is presented to external services, counterparties, or public infrastructure.</t>
          </li>
          <li>
            <t>If the certificate is used for mutual TLS in a workload identity context, embedding an unchanging hardware identifier couples the cryptographic identity of the workload to the physical device rather than to the logical identity of the workload. This can impede key rotation, device replacement, and workload migration, in addition to creating the correlation risks described above. In such cases, implementers should prefer logical workload identifiers (such as SPIFFE URIs) in the issued certificate and treat the hardware attestation as a bootstrap authorization mechanism only.</t>
          </li>
          <li>
            <t>If the certificate is intended for use in certificate transparency logs, implementers must consider that embedding a <tt>permanent-identifier</tt> or <tt>hardware-module</tt> value will make that identifier permanently and publicly discoverable, indexed by issuance time, issuer, and subject. This constitutes an irreversible disclosure under <xref target="RFC6973"/> Section 5.2.4 and should be avoided unless public discoverability of the device identifier is an explicit operational requirement.</t>
          </li>
        </ul>
      </section>
      <section anchor="stored-data-and-account-binding">
        <name>Stored Data and Account Binding</name>
        <t>This document recommends the use of <tt>externalAccountBinding</tt> to pre-authenticate device requests to an enterprise server. When an ACME account is persistently bound to a device identity, the server's account store contains a durable mapping between the cryptographic account credential and the physical device. Per <xref target="RFC6973"/> Section 5.1.2, this stored association constitutes a target for compromise: an attacker who obtains the account store gains not only account credentials but a historical record of device-to-identity mappings across all certificate issuances.</t>
        <t>Implementers operating servers should store account-to-device bindings using the minimum fidelity necessary for authorization decisions. Where the operational requirement is only to confirm that a given device is authorized to request certificates, it may be sufficient to store a hash or other one-way transformation of the device identifier rather than the identifier itself. Implementers should also define and enforce retention limits on historical account-to-certificate linkage records.</t>
      </section>
      <section anchor="implementer-decision-guidance">
        <name>Implementer Decision Guidance</name>
        <t>Implementers considering whether to include <tt>permanent-identifier</tt> or <tt>hardware-module</tt> in CSRs and issued certificates should work through the following questions before enabling these identifiers:</t>
        <ul spacing="normal">
          <li>
            <t>Is unchanging hardware identity in the certificate necessary for the relying party to make authorization decisions, or is it sufficient for the server to have validated it at issuance time? If the latter, prefer privacy-preserving certificate mode.</t>
          </li>
          <li>
            <t>Will the certificate be logged to a certificate transparency log or otherwise made publicly accessible? If so, embedding a permanent hardware identifier creates an irrevocable, publicly indexed disclosure and should be avoided unless explicitly required.</t>
          </li>
          <li>
            <t>Will the certificate be presented to parties outside the issuing organization's administrative control? If so, consider whether those parties should have visibility into the device's hardware identity.</t>
          </li>
          <li>
            <t>Does the deployment have requirements for device replacement or key rotation without service interruption? Binding the certificate's identity to a specific hardware module OID and serial number complicates these operational scenarios and may require reissuance policies that expose additional identifier churn in logs.</t>
          </li>
          <li>
            <t>What is the attestation data handling policy of the server operator? If this is not documented or auditable, device operators should treat the attestation exchange as a full disclosure of all attributes present in the attestation payload.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Please reference <xref target="RFC8555"/> for other security considerations.</t>
      <t>See Section 13 of <xref target="WebAuthn"/> for additional security considerations related to attestation statement formats, including certificate revocation.</t>
      <t>Key attestation statements may include a variety of information in addition to the public key being attested. While not described in this document, the Server <bcp14>MAY</bcp14> use any policy when evaluating this information. This evaluation can result in rejection of a certificate request that features a verifiable key attestation for the public key contained in the request. For example, an attestation statement may indicate use of an unacceptable firmware version.</t>
      <t>The <tt>token</tt> value <bcp14>MUST</bcp14> have at least 128 bits of entropy. It <bcp14>MUST NOT</bcp14> contain any characters outside the base64url alphabet, including padding characters (<tt>=</tt>). The <tt>token</tt> value <bcp14>MUST</bcp14> be generated using a cryptographically secure pseudorandom number generator (CSPRNG). See <xref target="RFC9846"/>, Appendix C.1 for guidance on random number generation.</t>
      <t>The binding between the certified public key and the device identifier is established through the attestation statement rather than through the CSR alone. The attestation authority cryptographically binds the public key to the device identity, either by signing the attestation statement directly, by issuing an attestation certificate, or by other cryptographic means specific to the attestation format. The Server verifies this chain: the attestation is produced by a trusted attestation authority, the public key in the attestation matches the public key in the CSR, and the device identifier in the attestation matches the identifier in the Order. This three-way binding is the basis on which the Server can associate a certified public key with a particular device.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="acme-identifier-types">
        <name>ACME Identifier Types</name>
        <t>The "ACME Identifier Types" registry is to be updated to include the following entries:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Label</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">permanent-identifier</td>
              <td align="left">RFC XXXX</td>
            </tr>
            <tr>
              <td align="left">hardware-module</td>
              <td align="left">RFC XXXX</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="acme-validation-method">
        <name>ACME Validation Method</name>
        <t>The "ACME Validation Methods" registry is to be updated to include the following entries:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Label</th>
              <th align="left">Identifier Type</th>
              <th align="left">ACME</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">device-attest-01</td>
              <td align="left">permanent-identifier</td>
              <td align="left">Y</td>
              <td align="left">RFC XXXX</td>
            </tr>
            <tr>
              <td align="left">device-attest-01</td>
              <td align="left">hardware-module</td>
              <td align="left">Y</td>
              <td align="left">RFC XXXX</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="new-error-types">
        <name>New Error Types</name>
        <t>The "ACME Error Types" registry is to be updated to include the following entry:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Type</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">badAttestationStatement</td>
              <td align="left">The attestation statement is unacceptable (e.g. not signed by an attestation authority trusted by the CA)</td>
              <td align="left">RFC XXXX</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC4043">
        <front>
          <title>Internet X.509 Public Key Infrastructure Permanent Identifier</title>
          <author fullname="D. Pinkas" initials="D." surname="Pinkas"/>
          <author fullname="T. Gindin" initials="T." surname="Gindin"/>
          <date month="May" year="2005"/>
          <abstract>
            <t>This document defines a new form of name, called permanent identifier, that may be included in the subjectAltName extension of a public key certificate issued to an entity.</t>
            <t>The permanent identifier is an optional feature that may be used by a CA to indicate that two or more certificates relate to the same entity, even if they contain different subject name (DNs) or different names in the subjectAltName extension, or if the name or the affiliation of that entity stored in the subject or another name form in the subjectAltName extension has changed.</t>
            <t>The subject name, carried in the subject field, is only unique for each subject entity certified by the one CA as defined by the issuer name field. However, the new name form can carry a name that is unique for each subject entity certified by a CA. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4043"/>
        <seriesInfo name="DOI" value="10.17487/RFC4043"/>
      </reference>
      <reference anchor="RFC4108">
        <front>
          <title>Using Cryptographic Message Syntax (CMS) to Protect Firmware Packages</title>
          <author fullname="R. Housley" initials="R." surname="Housley"/>
          <date month="August" year="2005"/>
          <abstract>
            <t>This document describes the use of the Cryptographic Message Syntax (CMS) to protect firmware packages, which provide object code for one or more hardware module components. CMS is specified in RFC 3852. A digital signature is used to protect the firmware package from undetected modification and to provide data origin authentication. Encryption is optionally used to protect the firmware package from disclosure, and compression is optionally used to reduce the size of the protected firmware package. A firmware package loading receipt can optionally be generated to acknowledge the successful loading of a firmware package. Similarly, a firmware package load error report can optionally be generated to convey the failure to load a firmware package. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4108"/>
        <seriesInfo name="DOI" value="10.17487/RFC4108"/>
      </reference>
      <reference anchor="RFC5234">
        <front>
          <title>Augmented BNF for Syntax Specifications: ABNF</title>
          <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
          <author fullname="P. Overell" initials="P." surname="Overell"/>
          <date month="January" year="2008"/>
          <abstract>
            <t>Internet technical specifications often need to define a formal syntax. Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications. The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power. The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges. This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="68"/>
        <seriesInfo name="RFC" value="5234"/>
        <seriesInfo name="DOI" value="10.17487/RFC5234"/>
      </reference>
      <reference anchor="RFC8555">
        <front>
          <title>Automatic Certificate Management Environment (ACME)</title>
          <author fullname="R. Barnes" initials="R." surname="Barnes"/>
          <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews"/>
          <author fullname="D. McCarney" initials="D." surname="McCarney"/>
          <author fullname="J. Kasten" initials="J." surname="Kasten"/>
          <date month="March" year="2019"/>
          <abstract>
            <t>Public Key Infrastructure using X.509 (PKIX) certificates are used for a number of purposes, the most significant of which is the authentication of domain names. Thus, certification authorities (CAs) in the Web PKI are trusted to verify that an applicant for a certificate legitimately represents the domain name(s) in the certificate. As of this writing, this verification is done through a collection of ad hoc mechanisms. This document describes a protocol that a CA and an applicant can use to automate the process of verification and certificate issuance. The protocol also provides facilities for other certificate management functions, such as certificate revocation.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8555"/>
        <seriesInfo name="DOI" value="10.17487/RFC8555"/>
      </reference>
      <reference anchor="RFC9846">
        <front>
          <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
          <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
          <date month="July" year="2026"/>
          <abstract>
            <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
            <t>This document obsoletes RFC 8446, which specified TLS 1.3. This document obsoletes RFC 5246 (specifying TLS 1.2) and RFCs 5077, 6961, 7627, and 8422, all of which pertain to TLS 1.2 or earlier, and updates RFCs 5705 and 6066. This document also specifies new requirements for TLS 1.2 implementations.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9846"/>
        <seriesInfo name="DOI" value="10.17487/RFC9846"/>
      </reference>
      <reference anchor="IANA-Webauthn" target="https://www.iana.org/assignments/webauthn/webauthn.xhtml">
        <front>
          <title>IANA Registries for Web Authentication (WebAuthn)</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="WebAuthn" target="https://www.w3.org/TR/webauthn-2/">
        <front>
          <title>Web Authentication: An API for accessing Public Key Credentials Level 2</title>
          <author fullname="Jeff Hodges">
            <organization>Google</organization>
          </author>
          <author fullname="J.C. Jones">
            <organization>Mozilla</organization>
          </author>
          <author fullname="Michael B. Jones">
            <organization>Microsoft</organization>
          </author>
          <author fullname="Akshay Kumar">
            <organization>Microsoft</organization>
          </author>
          <author fullname="Emil Lundberg">
            <organization>Yubico</organization>
          </author>
          <date year="2021" month="April"/>
        </front>
      </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>
      <reference anchor="RFC6973">
        <front>
          <title>Privacy Considerations for Internet Protocols</title>
          <author fullname="A. Cooper" initials="A." surname="Cooper"/>
          <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
          <author fullname="B. Aboba" initials="B." surname="Aboba"/>
          <author fullname="J. Peterson" initials="J." surname="Peterson"/>
          <author fullname="J. Morris" initials="J." surname="Morris"/>
          <author fullname="M. Hansen" initials="M." surname="Hansen"/>
          <author fullname="R. Smith" initials="R." surname="Smith"/>
          <date month="July" year="2013"/>
          <abstract>
            <t>This document offers guidance for developing privacy considerations for inclusion in protocol specifications. It aims to make designers, implementers, and users of Internet protocols aware of privacy-related design choices. It suggests that whether any individual RFC warrants a specific privacy considerations section will depend on the document's content.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6973"/>
        <seriesInfo name="DOI" value="10.17487/RFC6973"/>
      </reference>
    </references>
    <?line 433?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>We thank the participants on the ACME Working Group mailing list for their insightful feedback and comments. In particular, the authors extend sincere appreciation to Aaron Gable, Christopher Inacio, Deb Cooley, Eric Vyncke, Mahesh Jethanandani, Mike Bishop, Mike Ounsworth, Mohamed Boucadair, Richard Barnes, Roman Danyliw, and Tommy Jensen for their reviews and suggestions, which greatly improved the quality of this document.</t>
    </section>
    <section numbered="false" anchor="contributors">
      <name>Contributors</name>
      <t>These contributors provided significant implementation experience using Smallstep CA, which shaped the evolution and design of this document.</t>
      <t>Mariano Cano
Smallstep
mariano.cano@gmail.com</t>
      <t>Herman Slatman
Smallstep
mail@hermanslatman.nl</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
G/6zOq3ckQAA

-->

</rfc>
