<?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.5 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-acme-device-attest-03" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.0 -->
  <front>
    <title abbrev="ACME DA">Automated Certificate Management Environment (ACME) Device Attestation Extension</title>
    <seriesInfo name="Internet-Draft" value="draft-acme-device-attest-03"/>
    <author fullname="Brandon Weeks">
      <organization>Google</organization>
      <address>
        <email>bweeks@google.com</email>
      </address>
    </author>
    <date year="2024" month="August" day="25"/>
    <area>Security</area>
    <workgroup>ACME Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 52?>

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

<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>
      </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>
    </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>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="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 332?>

<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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
UvghTwAA

-->

</rfc>
