<?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-davidben-acme-profile-sets-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="ACME Profile Sets">Automated Certificate Management Environment (ACME) Profile Sets</title>
    <seriesInfo name="Internet-Draft" value="draft-davidben-acme-profile-sets-00"/>
    <author fullname="David Benjamin">
      <organization>Google LLC</organization>
      <address>
        <email>davidben@google.com</email>
      </address>
    </author>
    <date year="2025" month="October" day="20"/>
    <area>Security</area>
    <workgroup>Automated Certificate Management Environment</workgroup>
    <abstract>
      <?line 27?>

<t>This document defines how an ACME Server may indicate collections of related certificate profiles to ACME Clients.</t>
    </abstract>
  </front>
  <middle>
    <?line 31?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>As PKIs evolve, an application that authenticates with certificates may need to support a wide range of relying parties, both before and after some change. For example:</t>
      <ul spacing="normal">
        <li>
          <t>When transitioning to post-quantum cryptography, newer relying parties may expect post-quantum trust anchors, while older, unupdated relying parties still only support classical ones.</t>
        </li>
        <li>
          <t>When a certification authority (CA) is found untrustworthy, or its keys rotated or compromised, newer relying parties may expect a newer CA instance, while older, unupdated relying parties may only support the older CA.</t>
        </li>
      </ul>
      <t>As the furthest relying parties diverge, using a single certificate may not be feasible. Applications may then need to obtain multiple certificates, presenting different certificates to different relying parties.</t>
      <t><xref target="I-D.ietf-acme-profiles"/> defines ACME profiles, a mechanism for ACME Clients to choose between different certificate profiles from a single ACME Server. However, in applications that require certificates from multiple profiles, an ACME Client must know which profiles are needed, and be updated over time.</t>
      <t>This document extends ACME profiles with <em>profile sets</em>. A profile set is a set of related profiles, defined by the ACME Server. As PKIs evolve, the ACME Server can update its profile sets to reflect relying party needs. In particular, if satisfying all relying parties with a single profile would be infeasible or inefficient, the ACME Server can add a profile to the profile set.</t>
      <t>An ACME Client configured with a profile set requests a certificate for each profile, automatically incorporating updates to the profile set as part of certificate renewal. This allows the ACME Server to aid ACME Clients in handling PKI evolution.</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 that wishes for clients to combine multiple certificate profiles <bcp14>MUST</bcp14> include a new field, <tt>profileSets</tt>, in the <tt>meta</tt> field of its Directory object. The field is defined as follows:</t>
      <dl>
        <dt><tt>profileSets</tt> (optional, object):</dt>
        <dd>
          <t>A map of profile set names to objects describing profile sets. Profile and profile set names <bcp14>MUST NOT</bcp14> overlap.</t>
        </dd>
      </dl>
      <t>Each profile set is described by a JSON object with the following fields:</t>
      <dl>
        <dt><tt>description</tt> (required, string):</dt>
        <dd>
          <t>A human-readable description of the profile set.</t>
        </dd>
        <dt><tt>profiles</tt> (required, array of string):</dt>
        <dd>
          <t>An array of strings, containing the names of the profiles in the profile set.</t>
        </dd>
      </dl>
      <t>The human-readable descriptions are analogous to those of the <tt>profiles</tt> map defined in <xref target="I-D.ietf-acme-profiles"/>. Their contents are up to the CA; for example, they might be prose descriptions of the properties of the profile, or they might be URLs pointing at a documentation site. ACME Clients <bcp14>SHOULD</bcp14> present these profile set names and descriptions to their operator during initial setup and at appropriate times thereafter.</t>
      <t>Profile sets <bcp14>MAY</bcp14> contain overlapping profiles.</t>
      <t>Together, the <tt>profiles</tt> and <tt>profileSets</tt> maps indicate the choices available to the ACME Client operator. An individual profile in a profile set <bcp14>MAY</bcp14> appear in the <tt>profiles</tt> map if the ACME Server intends it to be a standalone choice for the ACME Client operator. It <bcp14>MAY</bcp14> also be omitted from the <tt>profiles</tt> map if the ACME Server intends it to be used only in a profile set.</t>
      <t>For example, the following Directory object defines two profile sets, <tt>profile1Ext</tt> and <tt>profile2</tt>, alongside standalone <tt>profile1</tt>. An ACME Client might interpret this by offering three choices to the operator, <tt>profile1</tt>, <tt>profile1Ext</tt>, and <tt>profile2</tt>, with their corresponding human-readable descriptions.</t>
      <t>The <tt>profile1Ext</tt> profile set consists of <tt>profile1</tt>, which is also a standalone profile, and <tt>profileExt</tt>, which is a profile-set-only profile. The <tt>profile2</tt> profile set consists of three profile-set-only profiles, <tt>profile2a</tt>, <tt>profile2b</tt>, and <tt>profileExt</tt>.</t>
      <artwork><![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",
    },
    "profileSets": {
      "profile1Ext": {
        "description":
            "https://example.com/docs/profiles#profile1Ext",
        "profiles": ["profile1", "profileExt"]
      },
      "profile2": {
        "description":
            "https://example.com/docs/profiles#profile2",
        "profiles": ["profile2a", "profile2b", "profileExt"]
      }
    }
  }
}
]]></artwork>
    </section>
    <section anchor="client-behavior">
      <name>Client Behavior</name>
      <t>An ACME Client that supports profile sets <bcp14>MAY</bcp14> be configured to obtain certificates according to a profile set, rather than an individual profile.</t>
      <t>If configured with a profile set, the ACME Client <bcp14>SHOULD</bcp14> request certificates from each profile in the profile set, creating independent, parallel orders for each. Each profile <bcp14>MAY</bcp14> spend different amounts of time in the "processing" state, so the ACME Client <bcp14>SHOULD</bcp14> support multiple orders in the "processing" state in parallel. Each profile <bcp14>MAY</bcp14> produce certificates with different lifetimes, so the ACME Client <bcp14>SHOULD</bcp14> evaluate each certificate for renewal independently.</t>
      <t>The ACME Client <bcp14>SHOULD</bcp14> periodically re-fetch the Directory object to discover updated profile set definitions. For example, the client <bcp14>MAY</bcp14> re-fetch the Directory when it periodically evaluates its certificates for renewal. If the profile set definition has since changed, the ACME Client <bcp14>SHOULD</bcp14> request certificates for any newly-added profiles. Certificates for newly-removed profiles <bcp14>SHOULD NOT</bcp14> be removed until the ACME Client has provisioned some certificate for each profile in the new profile set definition.</t>
      <t>ACME Clients <bcp14>MAY</bcp14> implement the above with the following example procedure, run periodically:</t>
      <ol spacing="normal" type="1"><li>
          <t>Fetch the Directory object from the ACME Server.</t>
        </li>
        <li>
          <t>For each profile in the selected profile set:  </t>
          <t>
a. Check if the client has an unfinished order for the profile. If so, check if it has entered the "valid" state and download the certificate.  </t>
          <t>
b. Otherwise, check if the client already has a certificate for the profile, and if it should be renewed, e.g. because it is soon to expire.  </t>
          <t>
c. If the certificate does not exist, or is soon to expire, start a new order with the profile, as described in <xref target="I-D.ietf-acme-profiles"/>, and complete its authorizations.</t>
        </li>
        <li>
          <t>Cancel any unfinished orders for profiles that are no longer in the profile set.</t>
        </li>
        <li>
          <t>If the client has a certificate for each profile in the profile set, remove certificates for profiles that are no longer in the profile set.</t>
        </li>
      </ol>
      <t>Determining which certificate to use with which relying party is out of scope for this document. TLS <xref target="RFC8446"/> implementations <bcp14>MAY</bcp14> use the procedures defined in Sections <xref target="RFC8446" section="4.4.2.2" sectionFormat="bare"/> and <xref target="RFC8446" section="4.4.2.3" sectionFormat="bare"/> of <xref target="RFC8446"/>, as well as other TLS extensions, to select certificates.</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"/>, along with the mechanism defined in <xref target="I-D.ietf-acme-profiles"/>. It does not change the account management or identifier validation flows, so the security considerations are largely unchanged. It also does not change the lifecycle of any individual order, or issuance from the perspective of the server.</t>
      <t>Profile sets allow an ACME Server to help ACME Clients configure themselves appropriately during PKI security transitions, such as a change in algorithm, a change in trusted CAs, or CA key rotation. Most PKIs have far fewer ACME Servers than ACME Clients, with ACME Server operators well-connected to relying party requirements. This can help transitions complete more quickly, and thus allow the PKI to realize the security benefits sooner.</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">profileSets</td>
              <td align="left">object</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-acme-profiles">
          <front>
            <title>Automated Certificate Management Environment (ACME) Profiles Extension</title>
            <author fullname="Aaron Gable" initials="A." surname="Gable">
              <organization>Internet Security Research Group</organization>
            </author>
            <date day="8" month="September" year="2025"/>
            <abstract>
              <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>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-acme-profiles-00"/>
        </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="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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
      </references>
    </references>
    <?line 173?>

<section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Thanks to Aaron Gable for feedback on this document, as well as many valuable design discussions.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
