<?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.19 (Ruby 3.3.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-aaron-acme-profiles-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.2 -->
  <front>
    <title abbrev="ACME Profiles">Automated Certificate Management Environment (ACME) Profiles Extension</title>
    <seriesInfo name="Internet-Draft" value="draft-aaron-acme-profiles-00"/>
    <author fullname="Aaron Gable">
      <organization>Internet Security Research Group</organization>
      <address>
        <email>aaron@letsencrypt.org</email>
      </address>
    </author>
    <date year="2024" month="October" day="17"/>
    <area>Security</area>
    <workgroup>Automated Certificate Management Environment</workgroup>
    <abstract>
      <?line 31?>

<t>This document defines how an ACME Server may offer a selection of different certificate profiles to ACME Clients, and how those clients may indicate which profile they want.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://aarongable.github.io/draft-acme-profiles/draft-aaron-acme-profiles.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-aaron-acme-profiles/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Automated Certificate Management Environment Working Group mailing list (<eref target="mailto:acme@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/acme/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/acme/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/aarongable/draft-acme-profiles"/>.</t>
    </note>
    <note>
      <name>Current Implementations</name>
      <?line 35?>

<t>This note is to be removed before publishing as an RFC.</t>
      <t>Let's Encrypt's <eref target="https://github.com/letsencrypt/boulder">Boulder</eref> ACME Server software fully implements this draft. Let's Encrypt has not yet configured profiles to be advertised in their <eref target="https://acme-v02.api.letsencrypt.org/directory">Production</eref> and <eref target="https://acme-staging-v02.api.letsencrypt.org/directory">Staging</eref> environments.  The <eref target="https://github.com/letsencrypt/pebble">Pebble</eref> ACME Server testbed also implements this draft.</t>
    </note>
  </front>
  <middle>
    <?line 41?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Throughout the history of the WebPKI, Certificate Authorities have used "profiles" to describe the kinds of certificates they issue. For example, an "S/MIME" profile might indicate that the resulting certificate will contain the <tt>id-kp-emailProtection</tt> Extended Key Usage and use a Certificate Policy OID to assert compliance with the CA/Browser Forum S/MIME Baseline Requirements; or a "Constrained Sub-CA" profile might indicate the inclusion of the Basic Constraints extension, the keyCertSign Key Usage, and a Name Constraints extension. Subscribers generally select a profile as part of their certificate ordering process or negotiations with the CA, depending on their needs (and sometimes their budget).</t>
      <t>The ACME protocol only allows clients to customize their certificate in two ways: the newOrder request allows selection of the identifiers (generally Subject Alternative Names) and validity period; and the finalize request contains a CSR in which the client can theoretically include any combination of fields and extensions that they desire. But requesting certificate features via the CSR is onerous, error-prone, and dangerous. Numerous compliance incidents across the WebPKI have been caused by CAs trusting values included in a CSR and copying them directly into the issued certificate. It requires clients to know how to construct a valid CSR, provides no mechanism for servers to advertise what CSR fields they're willing to accept, and means that CAs have to evaluate on a case-by-case basis which combinations of requested features they're willing to issue.</t>
      <t>This document provides a mechanism for ACME Servers to advertise what certificate profiles they offer, and for ACME Clients to select a profile when creating a new Order. This allows site operators to make informed decisions about the kind of certificate they request, without placing an undue burden on ACME Clients or Servers to transmit such information in the form of a CSR. It also encourages the evolution of the WebPKI by allowing CAs to more easily offer new and improved profiles while maintaining backwards compatibility for old subscribers.</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="extensions-to-the-directory-resource">
      <name>Extensions to the Directory Resource</name>
      <t>An ACME Server which wishes to allow Clients to select profiles <bcp14>MUST</bcp14> include a new field, <tt>profiles</tt>, in the <tt>meta</tt> field of its Directory object.</t>
      <t><tt>profiles</tt> (optional, object):  A map of profile names to human-readable descriptions of those profiles.</t>
      <t>The contents of these human-readable descriptions are up to the CA; for example, they might be prose descriptions of the properties of the profile, or the might be URLs pointing at a documentation site. ACME Clients <bcp14>SHOULD</bcp14> present these profile names and descriptions to their operator during initial setup and at appropriate times thereafter.</t>
      <sourcecode type="json"><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json

{
  "newNonce": "https://example.com/acme/new-nonce",
  "newAccount": "https://example.com/acme/new-account",
  "newOrder": "https://example.com/acme/new-order",
  "newAuthz": "https://example.com/acme/new-authz",
  "revokeCert": "https://example.com/acme/revoke-cert",
  "keyChange": "https://example.com/acme/key-change",
  "meta": {
    "termsOfService": "https://example.com/acme/terms/2021-10-05",
    "website": "https://www.example.com/",
    "caaIdentities": ["example.com"],
    "externalAccountRequired": false,
    "profiles": {
      "profile1": "https://example.com/docs/profiles#profile1",
      "profile2": "https://example.com/docs/profiles#profile2",
    }
  }
}
]]></sourcecode>
    </section>
    <section anchor="extensions-to-the-order-resource">
      <name>Extensions to the Order Resource</name>
      <t>In order to convey information about the profile associated with an Order, a new field is added to the Order object:</t>
      <t><tt>profile</tt> (string, optional): A string uniquely identifying the profile which will be used to affect issuance of the certificate requested by this Order.</t>
      <t>To select a profile, the client includes the desired profile name in the <tt>profile</tt> field of the Order object they supply to the newOrder request. The client <bcp14>MUST NOT</bcp14> request a profile name that is not advertised in the server's Directory metadata object.</t>
      <sourcecode type="text"><![CDATA[
POST /acme/new-order HTTP/1.1
Host: example.com
Content-Type: application/jose+json

{
  "protected": base64url({
    "alg": "ES256",
    "kid": "https://example.com/acme/acct/evOfKhNU60wg",
    "nonce": "5XJ1L3lEkMG7tR6pA00clA",
    "url": "https://example.com/acme/new-order"
  }),
  "payload": base64url({
    "profile": "profile1"
    "identifiers": [{"type": "dns", "value": "example.org"}],
  }),
  "signature": "H6ZXtGjTZyUnPeKn...wEA4TklBdh3e454g"
}
]]></sourcecode>
      <t>If the server receives a newOrder request specifying a profile that it is not advertising, or specifying a profile which is incompatible with the rest of the contents of the request (e.g. a "tls-server-auth" profile alongside an identifier of type "email"), it <bcp14>MUST</bcp14> reject the request with a problem document of type "invalidProfile" (see Section 6.3).</t>
      <t>If the server is advertizing profiles and receives a newOrder request which does not identify a specific profile, it is <bcp14>RECOMMENDED</bcp14> that the server select a profile and associate it with the new Order object.</t>
      <sourcecode type="text"><![CDATA[
   {
     "status": "valid",
     "expires": "2025-01-01T12:00:00Z",
     "profile": "profile1",
     "identifiers": [{"type": "dns", "value": "example.org"}],
     "authorizations": ["https://example.com/acme/authz/PAniVnsZcis"],
     "finalize": "https://example.com/acme/order/TOlocE8rfgo/finalize",
   }
]]></sourcecode>
      <t>If a server receives a request to finalize an Order whose profile the CA is no longer willing to issue under, it <bcp14>MUST</bcp14> respond with a problem document of type "invalidProfile". The server <bcp14>SHOULD</bcp14> attempt to avoid this situation, e.g. by ensuring that all Orders for a profile have expired before it stops issuing under that profile.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The extensions to the ACME protocol described in this document build upon the Security Considerations and threat model defined in <xref section="10.1" sectionFormat="of" target="RFC8555"/>. It does not change the account management or identifier validation flows, so the security considerations are largely unchanged.</t>
      <t>The one exception is in regards to CA Policy Considerations. RFC 8555 did not address how a server should determine whether it is willing to issue the certificate as requested by the finalize CSR. This document greatly simplifies this determination by making the contents of the CSR (beyond the Subject Alternative Names and Subject Public Key) irrelevant to the decision-making process.</t>
      <t>Additionally, by moving profile selection out of the finalize CSR and into the Order resource itself, this document reduces the need for ACME Clients and Servers to parse and process x509 ASN.1. This increases the security and stability of the WebPKI as a whole by reducing the incidence of parsing errors and the likelihood of values being copied directly from the CSR into the resulting certificate.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="acme-directory-metadata-fields">
        <name>ACME Directory Metadata Fields</name>
        <t>IANA will add the following entry to the "ACME Directory Metadata Fields" registry within the "Automated Certificate Management Environment (ACME) Protocol" registry group at <eref target="https://www.iana.org/assignments/acme">https://www.iana.org/assignments/acme</eref>:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Field Name</th>
              <th align="left">Field Type</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">profiles</td>
              <td align="left">object</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="acme-order-object-fields">
        <name>ACME Order Object Fields</name>
        <t>IANA will add the following entry to the "ACME Order Object Fields" registry within the "Automated Certificate Management Environment (ACME) Protocol" registry group at <eref target="https://www.iana.org/assignments/acme">https://www.iana.org/assignments/acme</eref>:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Field Name</th>
              <th align="left">Field Type</th>
              <th align="left">Configurable</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">profile</td>
              <td align="left">string</td>
              <td align="left">true</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="acme-error-types">
        <name>ACME Error Types</name>
        <t>IANA will add the following entry to the "ACME Error Types" registry within the "Automated Certificate Management Environment (ACME) Protocol" registry group at <eref target="https://www.iana.org/assignments/acme">https://www.iana.org/assignments/acme</eref>:</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">invalidProfile</td>
              <td align="left">The request specified a profile which this server does not support</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <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="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
    </references>
    <?line 184?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>My thanks to Phil Porada for spearheading the implementation of this protocol in the Boulder software. Thanks also to Jacob Hoffman-Andrews, Samantha Frank, James Kasten, and Jason Baker for discussions and brainstorming on what this protocol should look like.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
ItUoAAA=

-->

</rfc>
