<?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-rfc2629 version 1.6.5 (Ruby 2.6.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bweeks-acme-device-attest-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.3 -->
  <front>
    <title abbrev="ACME DA">Automated Certificate Management Environment (ACME) Device Attestation Extension</title>
    <seriesInfo name="Internet-Draft" value="draft-bweeks-acme-device-attest-00"/>
    <author fullname="Brandon Weeks">
      <organization>Google</organization>
      <address>
        <email>bweeks@google.com</email>
      </address>
    </author>
    <date year="2022" month="May" day="17"/>
    <area>Security</area>
    <workgroup>ACME Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <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>
    <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 if 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>
          <eref target="https://source.android.com/security/keystore/attestation">Android Key Attestation</eref></li>
        <li>
          <eref target="https://developers.google.com/chrome/verified-access/overview">Chrome OS Verified Access</eref></li>
        <li>
          <eref target="https://trustedcomputinggroup.org/resource/trusted-platform-module-tpm-summary/">Trusted Platform Module</eref></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>Addition of <tt>permanent-identifier</tt> and <tt>hardware-module</tt> identifier types.</li>
        <li>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.</li>
        <li>The challenge response payload contains a serialized WebAuthn attestation statement format instead of an empty JSON object (<tt>{}</tt>).</li>
        <li>Accounts and external account binding being used as a mechanism to pre-authenticate requests to an enterprise CA.</li>
      </ul>
    </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>
    </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>The server <bcp14>MAY</bcp14> allow the client to 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, if any, that generated the certificate key.</t>
      <t>(TODO describe the certificate representation)</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 target="RFC4086"/> Section 8.1)
 from the "token" value provided in the challenge and the client's
 account key. The client then generates an 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 with these modification:</t>
      <ul spacing="normal">
        <li>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.</li>
        <li>The <em>authData</em> field is unused and should be omitted.</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 "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>Perform the verification proceedures described in Section 6 of <xref target="WebAuthn"/>.</li>
        <li>Verify that key authorization conveyed by <em>attToBeSigned</em> matches the key authorization stored by the server.</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>TODO Security</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 entry:</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>
      </section>
    </section>
  </middle>
  <back>
    <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">
            <organization/>
          </author>
          <author fullname="T. Gindin" initials="T." surname="Gindin">
            <organization/>
          </author>
          <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">
            <organization/>
          </author>
          <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews">
            <organization/>
          </author>
          <author fullname="D. McCarney" initials="D." surname="McCarney">
            <organization/>
          </author>
          <author fullname="J. Kasten" initials="J." surname="Kasten">
            <organization/>
          </author>
          <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="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">
            <organization/>
          </author>
          <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">
            <organization/>
          </author>
          <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">
            <organization/>
          </author>
          <author fullname="J. Schiller" initials="J." surname="Schiller">
            <organization/>
          </author>
          <author fullname="S. Crocker" initials="S." surname="Crocker">
            <organization/>
          </author>
          <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>
    <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.</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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
W95E/FNnzBMjOncuRbfgYeD9B5GVG+MGJAAA

-->

</rfc>
