<?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.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-acme-device-attest-06" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.2 -->
  <front>
    <title abbrev="ACME DA">Automated Certificate Management Environment (ACME) Device Attestation Extension</title>
    <seriesInfo name="Internet-Draft" value="draft-acme-device-attest-06"/>
    <author fullname="Brandon Weeks">
      <organization/>
      <address>
        <email>me@brandonweeks.com</email>
      </address>
    </author>
    <author fullname="Ganesh Mallaya">
      <organization/>
      <address>
        <email>mallaya.ganesh3@gmail.com</email>
      </address>
    </author>
    <author fullname="Sven Rajala">
      <organization/>
      <address>
        <email>sven.rajala@gmail.com</email>
      </address>
    </author>
    <date year="2025" month="October" day="03"/>
    <area>Security</area>
    <workgroup>ACME Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 57?>

<t>This document specifies new identifiers and a challenge for the
Automated Certificate Management Environment (ACME) protocol which allows validating the identity of a device using attestation.</t>
    </abstract>
  </front>
  <middle>
    <?line 62?>

<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>Using ACME and device attestation to issue client certificates for enterprise PKI is anticipated to be the most common use case. The following variances 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 explict aim of this document is to support vendor specific formats and protocols that are widley deployed at the time it was authored. In the future, an ACME challenge type based on these standards <bcp14>SHOULD</bcp14> be used instead of <tt>device-attest-01</tt>.</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, "permanent-identifier" is introduced to represent the identity of a device assigned by the manufacturer, typically a serial number. The name of this identifier type was chosen to align with <xref target="RFC4043"/>, it does not prescribe the lifetime of the identifier, which is at the discretion of the Assigner Authority.</t>
      <t>The identity along with the assigning organization can be included in the Subject Alternate Name Extension using the PermanentIdentifier form described in <xref target="RFC4043"/>.</t>
      <!-- Section 7.4 of RFC 8555 states "Specifications that define new identifier types must specify where in the certificate signing request these identifiers can appear." -->

<t>Clients <bcp14>MAY</bcp14> include this identifier in the certificate signing request (CSR). Alternatively if the server wishes to only issue privacy-preserving certificates, it <bcp14>MAY</bcp14> reject CSRs containing a PermanentIdentifier in the subjectAltName extension.</t>
    </section>
    <section anchor="hardware-module">
      <name>Hardware Module</name>
      <t>A new identifier type, "hardware-module" is introduced to represent the identity of the secure cryptoprocessor that generated the certificate key.</t>
      <!-- TODO: describe the certificate representation -->
<!-- TODO: describe how the CA assert the key is hardware backed without an identifier -->
<t>The hardware module identity can be included in the Subject Alternate Name Extension using the HardwareModuleName form described in <xref target="RFC4108"/>. The HardwareModuleName is encoded as an otherName with the OID id-on-hardwareModuleName (1.3.6.1.5.5.7.8.4) and consists of:</t>
      <ul spacing="normal">
        <li>
          <t>hwType: An OBJECT IDENTIFIER that identifies the type of hardware module</t>
        </li>
        <li>
          <t>hwSerialNum: An OCTET STRING containing the hardware module serial number</t>
        </li>
      </ul>
      <t>Clients <bcp14>MAY</bcp14> include this identifier in the certificate signing request (CSR). When included in a CSR, it <bcp14>MUST</bcp14> appear in an extensionRequest attribute <xref target="RFC2985"/> requesting a subjectAltName extension.</t>
      <t>If the server includes HardwareModule in the subjectAltName extension the CA <bcp14>MUST</bcp14> verify that the certificate key was generated on the secure cryptoprocessor with the asserted identity and type. The key <bcp14>MUST NOT</bcp14> be able to be exported from the cryptoprocessor.</t>
      <t>If the server wishes to issue privacy-preserving certificates, it <bcp14>MAY</bcp14> omit HardwareModule from the subjectAltName extension.</t>
    </section>
    <section anchor="device-attestation-challenge">
      <name>Device Attestation Challenge</name>
      <t>The 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 device-attest-01 ACME challenge object has the following format:</t>
      <dl>
        <dt>type (required, string):</dt>
        <dd>
          <t>The string "device-attest-01".</t>
        </dd>
        <dt>token (required, string):</dt>
        <dd>
          <t>A random value that uniquely identifies the challenge.  This 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 ("="). See <xref target="RFC4086"/> for
additional information on randomness requirements.</t>
        </dd>
      </dl>
      <artwork><![CDATA[
{
  "type": "device-attest-01",
  "url": "https://example.com/acme/chall/Rg5dV14Gh1Q",
  "status": "pending",
  "token": "evaGxfADs6pSRb2LAv9IZf17Dt3juxGJ-PCt92wr-oA"
}
]]></artwork>
      <t>A client fulfills this challenge by constructing a key authorization (<xref section="8.1" sectionFormat="of" target="RFC8555"/>)
 from the "token" 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. <!-- TODO: ^^^ perhaps add more cross-refs or context about "using an algorithm specified by the attestation format" -->
          </t>
        </li>
        <li>
          <t>The <em>authData</em> field is unused and <bcp14>SHOULD</bcp14> be omitted.</t>
        </li>
      </ul>
      <t>A client responds with the response object containing the WebAuthn attestation object in the "attObj" field to acknowledge that the challenge can be validated by the server.</t>
      <t>On receiving a response, the server constructs and stores the key authorization from the challenge's "token" 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 key authorization conveyed by <em>attToBeSigned</em> matches the key authorization stored by the server.</t>
        </li>
      </ol>
      <!-- This specification defines a new challenge response field `attObj` to contain WebAuthn attestation objects as described in Section 7.5.1 of {{RFC8555}}. -->

<artwork><![CDATA[
POST /acme/chall/Rg5dV14Gh1Q
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"
}
]]></artwork>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <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>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="acme-identifier-types">
        <name>ACME Identifier Types</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">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 entry:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Label</th>
              <th align="left">Identifier Type</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">RFC XXXX</td>
            </tr>
          </tbody>
        </table>
        <!-- Begin WebAuthn registry text -->
<!-- Editor's note: the below text was written by Carl Wallance as part of draft-wallace-lamps-key-attestation-ext. These registries only need to be established by a single document, so if they are established by another document prior to this document being approved, this text will be removed and replaced with a reference to the other document.  -->

</section>
      <section anchor="new-error-types">
        <name>New Error Types</name>
        <t>This document adds the following entries to the ACME Error Type registry:</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 anchor="attestation-statement-formats">
        <name>Attestation statement formats</name>
        <t><xref section="2.1" sectionFormat="of" target="RFC8809"/> describes registration of new attestation statement format types used when authenticating users via <xref target="WebAuthn"/>. This specification reuses the same format, but, because the context for use is different, a different registry is required. This section defines IANA registries for W3C Web Authentication (WebAuthn) attestation statement format identifiers and extension identifiers used in the context of a certificate request. This specification establishes two registries:</t>
        <ul spacing="normal">
          <li>
            <t>the "WebAuthn Attestation Statement Format Identifiers for Certificate Request Protocols" registry</t>
          </li>
          <li>
            <t>the "WebAuthn Extension Identifiers for Certificate Request Protocols" registry</t>
          </li>
        </ul>
        <t>Any additional processes established by the expert(s) after the publication of this document will be recorded on the registry web page at the discretion of the expert(s), who may differ from the experts associated with the registry established by <xref target="RFC8809"/>.</t>
        <section anchor="webauthn-attestation-statement-format-identifiers-for-certificate-request-protocols">
          <name>WebAuthn Attestation Statement Format Identifiers for Certificate Request Protocols</name>
          <t>WebAuthn attestation statement format identifiers are strings whose semantic, syntactic, and string-matching criteria are specified in the "Attestation Statement Format Identifiers" (https://www.w3.org/TR/2019/REC-webauthn-1-20190304/#sctn-attstn-fmt-ids) section of <xref target="WebAuthn"/>, along with the concepts of attestation and attestation statement formats.</t>
          <t>Registered attestation statement format identifiers are those that have been added to the registry by following the procedure in <xref target="registering-attestation-statement-format-identifiers"/>.</t>
          <t>Each attestation statement format identifier added to this registry <bcp14>MUST</bcp14> be unique amongst the set of registered attestation statement format identifiers.</t>
          <t>Registered attestation statement format identifiers <bcp14>MUST</bcp14> be a maximum of 32 octets in length and <bcp14>MUST</bcp14> consist only of printable ASCII [RFC20] characters, excluding backslash and double quote, i.e., VCHAR as defined in [RFC5234] but without %x22 and %x5c.  Attestation statement format identifiers are case sensitive and may not match other registered identifiers in a case-insensitive manner unless the designated experts determine that there is a compelling reason to allow an exception.</t>
          <section anchor="registering-attestation-statement-format-identifiers">
            <name>Registering Attestation Statement Format Identifiers</name>
            <t>WebAuthn attestation statement format identifiers are registered using the Specification Required policy (see Section 4.6 of [RFC8126]).</t>
            <t>The "WebAuthn Attestation Statement Format Identifiers for Certificate Request Protocols" registry is located at <eref target="https://www.iana.org/assignments/webauthn_for_certreq">https://www.iana.org/assignments/webauthn_for_certreq</eref>.  Registration requests can be made by following the instructions located there or by sending an email to the webauthn-for-certreq-reg-review@ietf.org mailing list.</t>
            <t>Registration requests consist of at least the following information:</t>
            <ul spacing="normal">
              <li>
                <t>WebAuthn Attestation Statement Format Identifier:
                </t>
                <ul spacing="normal">
                  <li>
                    <t>An identifier meeting the requirements given in <xref target="webauthn-attestation-statement-format-identifiers-for-certificate-request-protocols"/>.</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Description:
                </t>
                <ul spacing="normal">
                  <li>
                    <t>A relatively short description of the attestation format.</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Specification Document(s):
                </t>
                <ul spacing="normal">
                  <li>
                    <t>Reference to the document or documents that specify the attestation statement format.</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Change Controller:
                </t>
                <ul spacing="normal">
                  <li>
                    <t>For Standards Track RFCs, list "IETF".  For others, give the name of the responsible party.  Other details (e.g., postal address, email address, home page URI) may also be included.</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Notes:
                </t>
                <ul spacing="normal">
                  <li>
                    <t>[optional]</t>
                  </li>
                </ul>
              </li>
            </ul>
            <t>Registrations <bcp14>MUST</bcp14> reference a freely available, stable specification, e.g., as described in Section 4.6 of [RFC8126].  This specification <bcp14>MUST</bcp14> include security and privacy considerations relevant to the attestation statement format.</t>
            <t>Note that WebAuthn attestation statement format identifiers can be registered by third parties (including the expert(s) themselves), if the expert(s) determines that an unregistered attestation statement format is widely deployed and not likely to be registered in a timely manner otherwise.  Such registrations still are subject to the requirements defined, including the need to reference a specification.</t>
          </section>
          <section anchor="registration-request-processing">
            <name>Registration Request Processing</name>
            <t>As noted in <xref target="registering-attestation-statement-format-identifiers"/>, WebAuthn attestation statement format identifiers are registered using the Specification Required policy.</t>
            <t>The expert(s) will clearly identify any issues that cause a registration to be refused, such as an incompletely specified attestation format.</t>
            <t>When a request is approved, the expert(s) will inform IANA, and the registration will be processed.  The IESG is the arbiter of any objection.</t>
          </section>
          <section anchor="initial-values-in-the-webauthn-attestation-statement-format-identifiers-for-certificate-request-protocols-registry">
            <name>Initial Values in the WebAuthn Attestation Statement Format Identifiers for Certificate Request Protocols Registry</name>
            <t>The initial values for the "WebAuthn Attestation Statement Format Identifiers for Certificate Request Protocols" registry have been populated with the values listed in the "WebAuthn Attestation Statement Format Identifier Registrations" (https://www.w3.org/TR/2019/REC-webauthn-1-20190304/#sctn-att-fmt-reg) section of <xref target="WebAuthn"/>.  Also, the Change Controller entry for each of those registrations is:</t>
            <ul spacing="normal">
              <li>
                <t>Change Controller:
                </t>
                <ul spacing="normal">
                  <li>
                    <t>W3C Web Authentication Working Group (public-webauthn@w3.org)</t>
                  </li>
                </ul>
              </li>
            </ul>
          </section>
        </section>
        <section anchor="webauthn-extension-identifiers-for-certificate-request-protocols">
          <name>WebAuthn Extension Identifiers for Certificate Request Protocols</name>
          <t>WebAuthn extension identifiers are strings whose semantic, syntactic, and string-matching criteria are specified in the "Extension Identifiers" (https://www.w3.org/TR/2019/REC-webauthn-1-20190304/#sctn-extension-id) section of <xref target="WebAuthn"/>.</t>
          <t>Registered extension identifiers are those that have been added to the registry by following the procedure in <xref target="registering-extension-identifiers"/>.</t>
          <t>Each extension identifier added to this registry <bcp14>MUST</bcp14> be unique amongst the set of registered extension identifiers.</t>
          <t>Registered extension identifiers <bcp14>MUST</bcp14> be a maximum of 32 octets in length and <bcp14>MUST</bcp14> consist only of printable ASCII characters, excluding backslash and double quote, i.e., VCHAR as defined in [RFC5234] but without %x22 and %x5c.  Extension identifiers are case sensitive and may not match other registered identifiers in a case-insensitive manner unless the designated experts determine that there is a compelling reason to allow an exception.</t>
          <section anchor="registering-extension-identifiers">
            <name>Registering Extension Identifiers</name>
            <t>WebAuthn extension identifiers are registered using the Specification Required policy (see Section 4.6 of [RFC8126]).</t>
            <t>The "WebAuthn Extension Identifiers" registry is located at <eref target="https://www.iana.org/assignments/webauthn">https://www.iana.org/assignments/webauthn</eref>.  Registration requests can be made by following the instructions located there or by sending an email to the webauthn-for-certreq-reg-review@ietf.org mailing list.</t>
            <t>Registration requests consist of at least the following information:</t>
            <ul spacing="normal">
              <li>
                <t>WebAuthn Extension Identifier:
                </t>
                <ul spacing="normal">
                  <li>
                    <t>An identifier meeting the requirements given in <xref target="webauthn-extension-identifiers-for-certificate-request-protocols"/>.</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Description:
                </t>
                <ul spacing="normal">
                  <li>
                    <t>A relatively short description of the extension.</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Specification Document(s):
                </t>
                <ul spacing="normal">
                  <li>
                    <t>Reference to the document or documents that specify the extension.</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Change Controller:
                </t>
                <ul spacing="normal">
                  <li>
                    <t>For Standards Track RFCs, list "IETF".  For others, give the name of the responsible party.  Other details (e.g., postal address, email address, home page URI) may also be included.</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Notes:
                </t>
                <ul spacing="normal">
                  <li>
                    <t>[optional]</t>
                  </li>
                </ul>
              </li>
            </ul>
            <t>Registrations <bcp14>MUST</bcp14> reference a freely available, stable specification, e.g., as described in Section 4.6 of [RFC8126].  This specification <bcp14>MUST</bcp14> include security and privacy considerations relevant to the extension.</t>
            <t>Note that WebAuthn extensions can be registered by third parties (including the expert(s) themselves), if the expert(s) determines that an unregistered extension is widely deployed and not likely to be registered in a timely manner otherwise.  Such registrations still are subject to the requirements defined, including the need to reference a specification.</t>
          </section>
          <section anchor="registration-request-processing-1">
            <name>Registration Request Processing</name>
            <t>As noted in <xref target="registering-extension-identifiers"/>, WebAuthn extension identifiers are registered using the Specification Required policy.</t>
            <t>The expert(s) will clearly identify any issues that cause a registration to be refused, such as an incompletely specified extension.</t>
            <t>When a request is approved, the expert(s) will inform IANA, and the registration will be processed.  The IESG is the arbiter of any objection.</t>
          </section>
          <section anchor="initial-values-in-the-webauthn-extension-identifiers-registry">
            <name>Initial Values in the WebAuthn Extension Identifiers Registry</name>
            <t>The initial values for the "WebAuthn Extension Identifiers" registry have been populated with the values listed in the "WebAuthn Extension Identifier Registrations" <eref target="https://www.w3.org/TR/2019/REC-webauthn-1-20190304/#sctn-extensions-reg">https://www.w3.org/TR/2019/REC-webauthn-1-20190304/#sctn-extensions-reg</eref> section of <xref target="WebAuthn"/>.  Also, the Change Controller entry for each of those registrations is:</t>
            <ul spacing="normal">
              <li>
                <t>Change Controller:
                </t>
                <ul spacing="normal">
                  <li>
                    <t>W3C Web Authentication Working Group (public-webauthn@w3.org)</t>
                  </li>
                </ul>
              </li>
            </ul>
            <!-- End WebAuthn registry text -->

</section>
        </section>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <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="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="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="RFC8809">
        <front>
          <title>Registries for Web Authentication (WebAuthn)</title>
          <author fullname="J. Hodges" initials="J." surname="Hodges"/>
          <author fullname="G. Mandyam" initials="G." surname="Mandyam"/>
          <author fullname="M. Jones" initials="M." surname="Jones"/>
          <date month="August" year="2020"/>
          <abstract>
            <t>This specification defines IANA registries for W3C Web Authentication (WebAuthn) attestation statement format identifiers and extension identifiers.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8809"/>
        <seriesInfo name="DOI" value="10.17487/RFC8809"/>
      </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="RFC2985">
        <front>
          <title>PKCS #9: Selected Object Classes and Attribute Types Version 2.0</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 #9 v2.0 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 that specification. This memo provides information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="2985"/>
        <seriesInfo name="DOI" value="10.17487/RFC2985"/>
      </reference>
      <reference anchor="RFC4086">
        <front>
          <title>Randomness Requirements for Security</title>
          <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
          <author fullname="J. Schiller" initials="J." surname="Schiller"/>
          <author fullname="S. Crocker" initials="S." surname="Crocker"/>
          <date month="June" year="2005"/>
          <abstract>
            <t>Security systems are built on strong cryptographic algorithms that foil pattern analysis attempts. However, the security of these systems is dependent on generating secret quantities for passwords, cryptographic keys, and similar quantities. The use of pseudo-random processes to generate secret quantities can result in pseudo-security. A sophisticated attacker may find it easier to reproduce the environment that produced the secret quantities and to search the resulting small set of possibilities than to locate the quantities in the whole of the potential number space.</t>
            <t>Choosing random quantities to foil a resourceful and motivated adversary is surprisingly difficult. This document points out many pitfalls in using poor entropy sources or traditional pseudo-random number generation techniques for generating such quantities. It recommends the use of truly random hardware techniques and shows that the existing hardware on many systems can be used for this purpose. It provides suggestions to ameliorate the problem when a hardware solution is not available, and it gives examples of how large such quantities need to be for some applications. 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="106"/>
        <seriesInfo name="RFC" value="4086"/>
        <seriesInfo name="DOI" value="10.17487/RFC4086"/>
      </reference>
    </references>
    <?line 346?>

<section anchor="enterprise-pki">
      <name>Enterprise PKI</name>
      <t>ACME was originally envisioned for issuing certificates in the Web PKI, however this extension will primarily be useful in enterprise PKI. The subsection below covers some operational considerations for an ACME-based enterprise CA.
<!-- TODO: ^^^ perhaps also mention/cover IoT attestation PKI usecases -->
      </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 "externalAccountBinding" field to be
present in "newAccount" requests.</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>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
