<?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.1 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-vanbrouwershaven-acme-auto-discovery-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.1 -->
  <front>
    <title abbrev="ACME Auto-Discovery">Auto-discovery mechanism for ACME client configuration</title>
    <seriesInfo name="Internet-Draft" value="draft-vanbrouwershaven-acme-auto-discovery-02"/>
    <author initials="P." surname="van Brouwershaven" fullname="Paul van Brouwershaven">
      <organization abbrev="Entrust">Entrust Limited</organization>
      <address>
        <postal>
          <street>2500 Solandt Road – Suite 100</street>
          <city>Ottawa, Ontario</city>
          <code>K2K 3G5</code>
          <country>Canada</country>
        </postal>
        <email>paul.vanbrouwershaven@entrust.com</email>
      </address>
    </author>
    <author initials="M." surname="Ounsworth" fullname="Mike Ounsworth">
      <organization abbrev="Entrust">Entrust Limited</organization>
      <address>
        <postal>
          <street>2500 Solandt Road – Suite 100</street>
          <city>Ottawa, Ontario</city>
          <code>K2K 3G5</code>
          <country>Canada</country>
        </postal>
        <email>mike.ounsworth@entrust.com</email>
      </address>
    </author>
    <date year="2023" month="October" day="12"/>
    <area>SEC</area>
    <workgroup>ACME</workgroup>
    <keyword>ACME</keyword>
    <keyword>Auto-discovery</keyword>
    <keyword>CAA</keyword>
    <abstract>
      <?line 57?>

<t>A significant impediment to the widespread adoption of the Automated Certificate Management Environment (ACME) <xref target="RFC8555"/> is that ACME clients need to be pre-configured with the URL of the ACME server to be used. This often leaves domain owners at the mercy of their hosting provider as to which Certification Authorities (CAs) can be used. This specification provides a mechanism to bootstrap ACME client configuration from a domain's DNS CAA Resource Record <xref target="RFC8659"/>, thus giving control of which CA(s) to use back to the domain owner.</t>
      <t>Specifically, this document specifies two new extensions to the DNS CAA Resource Record: the "discovery" and "priority" parameters. Additionally, it registers the URI "/.well-known/acme" at which all compliant ACME servers will host their ACME directory object. By retrieving instructions for the ACME client from the authorized CA(s), this mechanism allows for the domain owner to configure multiple CAs in either load-balanced or fallback prioritizations which improves user preferences and increases diversity in certificate issuers.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://vanbroup.github.io/acme-auto-discovery/draft-vanbrouwershaven-acme-auto-discovery.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-vanbrouwershaven-acme-auto-discovery/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        ACME Working Group mailing list (<eref target="mailto:acme@ietf.org"/>),
        which is archived at <eref target="https://datatracker.ietf.org/wg/acme/about/"/>.
        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/vanbroup/acme-auto-discovery"/>.</t>
    </note>
  </front>
  <middle>
    <?line 64?>

<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="sec-intro">
      <name>Introduction</name>
      <t>The ACME protocol <xref target="RFC8555"/> offers a powerful framework for automating the issuance and validation of certificates, eliminating the need for user intervention. This capability has significantly streamlined the process of obtaining certificates for servers and infrastructure software. However, in shared environments, where multiple entities coexist, users often face limitations in modifying ACME client configurations. Consequently, they are forced to rely on manual certificate management systems or default Certificate Authorities (CAs) preconfigured for the shared environment.</t>
      <t>This document introduces a mechanism to address the aforementioned challenge by enabling the automatic discovery of ACME client configurations for relevant domain names within a shared environment. The solution leverages the DNS Certification Authority Authorization (CAA) Resource Record <xref target="RFC8659"/> to identify the authorized Certification Authorities capable of issuing certificates for a specific domain name or set of domain names.</t>
      <t>By leveraging the power of CAA records, this mechanism empowers users with enhanced control and flexibility. Users can specify their preferences, choose from a broader range of certificate issuers, and even designate a backup Certification Authority.</t>
      <t>This approach facilitates a more diverse and adaptable certificate management process within shared and managed environments.
This document provides a detailed description of the proposed mechanism, along with its benefits and considerations.</t>
      <t>Additionally, it outlines the security aspects associated with the use of CAA records for ACME client configuration discovery. Finally, this document presents IANA considerations and references relevant normative and informative documents.</t>
      <t>There is previous work in this area in <xref target="I-D.tweedale-acme-discovery"/> which attempts to solve a similar ACME discovery problem for private networks and private ACME CAs.</t>
      <ul empty="true">
        <li>
          <t><strong>RFC Editor's Note:</strong>  Please remove this section prior to publication of a final version of this document.</t>
          <t>The authors of the document considered both SRV and URI DNS resource record types as an alternative to the proposed Well-Known URI, see also: https://github.com/vanbroup/acme-auto-discovery/issues/15</t>
        </li>
      </ul>
    </section>
    <section anchor="protocol-overview">
      <name>Protocol Overview</name>
      <artset>
        <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="480" width="560" viewBox="0 0 560 480" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
            <path d="M 8,32 L 8,128" fill="none" stroke="black"/>
            <path d="M 80,136 L 80,432" fill="none" stroke="black"/>
            <path d="M 96,128 L 96,304" fill="none" stroke="black"/>
            <path d="M 120,32 L 120,128" fill="none" stroke="black"/>
            <path d="M 208,112 L 208,176" fill="none" stroke="black"/>
            <path d="M 336,32 L 336,96" fill="none" stroke="black"/>
            <path d="M 336,144 L 336,240" fill="none" stroke="black"/>
            <path d="M 336,272 L 336,352" fill="none" stroke="black"/>
            <path d="M 336,400 L 336,464" fill="none" stroke="black"/>
            <path d="M 440,96 L 440,136" fill="none" stroke="black"/>
            <path d="M 440,352 L 440,392" fill="none" stroke="black"/>
            <path d="M 552,32 L 552,96" fill="none" stroke="black"/>
            <path d="M 552,144 L 552,240" fill="none" stroke="black"/>
            <path d="M 552,272 L 552,352" fill="none" stroke="black"/>
            <path d="M 552,400 L 552,464" fill="none" stroke="black"/>
            <path d="M 8,32 L 120,32" fill="none" stroke="black"/>
            <path d="M 336,32 L 552,32" fill="none" stroke="black"/>
            <path d="M 120,80 L 328,80" fill="none" stroke="black"/>
            <path d="M 336,96 L 552,96" fill="none" stroke="black"/>
            <path d="M 128,112 L 208,112" fill="none" stroke="black"/>
            <path d="M 8,128 L 120,128" fill="none" stroke="black"/>
            <path d="M 336,144 L 552,144" fill="none" stroke="black"/>
            <path d="M 208,176 L 336,176" fill="none" stroke="black"/>
            <path d="M 336,240 L 552,240" fill="none" stroke="black"/>
            <path d="M 336,272 L 552,272" fill="none" stroke="black"/>
            <path d="M 96,304 L 328,304" fill="none" stroke="black"/>
            <path d="M 336,352 L 552,352" fill="none" stroke="black"/>
            <path d="M 336,400 L 552,400" fill="none" stroke="black"/>
            <path d="M 80,432 L 336,432" fill="none" stroke="black"/>
            <path d="M 336,464 L 552,464" fill="none" stroke="black"/>
            <path d="M 496,320 L 504,304" fill="none" stroke="black"/>
            <polygon class="arrowhead" points="448,392 436,386.4 436,397.6" fill="black" transform="rotate(90,440,392)"/>
            <polygon class="arrowhead" points="448,136 436,130.4 436,141.6" fill="black" transform="rotate(90,440,136)"/>
            <polygon class="arrowhead" points="336,304 324,298.4 324,309.6" fill="black" transform="rotate(0,328,304)"/>
            <polygon class="arrowhead" points="336,80 324,74.4 324,85.6" fill="black" transform="rotate(0,328,80)"/>
            <polygon class="arrowhead" points="136,112 124,106.4 124,117.6" fill="black" transform="rotate(180,128,112)"/>
            <polygon class="arrowhead" points="88,136 76,130.4 76,141.6" fill="black" transform="rotate(270,80,136)"/>
            <g class="text">
              <text x="148" y="68">1.</text>
              <text x="176" y="68">DNS</text>
              <text x="220" y="68">Lookup</text>
              <text x="272" y="68">(CAA)</text>
              <text x="408" y="68">DNS</text>
              <text x="460" y="68">Resolver</text>
              <text x="36" y="84">ACME</text>
              <text x="84" y="84">Client</text>
              <text x="232" y="164">DNS</text>
              <text x="284" y="164">Response</text>
              <text x="392" y="164">example.com</text>
              <text x="456" y="164">CAA</text>
              <text x="376" y="180">Record:</text>
              <text x="148" y="212">2.</text>
              <text x="188" y="212">Select</text>
              <text x="244" y="212">issuer</text>
              <text x="292" y="212">(CA)</text>
              <text x="392" y="212">example.com</text>
              <text x="184" y="228">based</text>
              <text x="220" y="228">on</text>
              <text x="268" y="228">priority</text>
              <text x="360" y="228">CAA</text>
              <text x="384" y="228">0</text>
              <text x="416" y="228">issue</text>
              <text x="492" y="228">"ca.example"</text>
              <text x="148" y="292">3.</text>
              <text x="192" y="292">Connect</text>
              <text x="252" y="292">issuer</text>
              <text x="300" y="292">(CA)</text>
              <text x="428" y="308">https://ca.example</text>
              <text x="448" y="324">.well-known</text>
              <text x="516" y="324">acme</text>
              <text x="484" y="372">Redirect</text>
              <text x="460" y="388">or</text>
              <text x="496" y="388">alias</text>
              <text x="140" y="420">ACME</text>
              <text x="200" y="420">Directory</text>
              <text x="268" y="420">Object</text>
              <text x="444" y="436">https://acme.ca.example/</text>
            </g>
          </svg>
        </artwork>
        <artwork type="ascii-art"><![CDATA[
+-------------+                          +--------------------------+
|             |                          |                          |
|             |  1. DNS Lookup (CAA)     |       DNS Resolver       |
| ACME Client +------------------------->+                          |
|             |                          +------------+-------------+
|             |<---------+                            |
+----------+--+          |                            v
         ^ |             |               +--------------------------+
         | |             | DNS Response  | example.com CAA          |
         | |             +---------------+ Record:                  |
         | |                             |                          |
         | |     2. Select issuer (CA)   | example.com              |
         | |        based on priority    | CAA 0 issue "ca.example" |
         | |                             +--------------------------+
         | |
         | |                             +--------------------------+
         | |     3. Connect issuer (CA)  |                          |
         | +---------------------------->+  https://ca.example/     |
         |                               |        .well-known/acme  |
         |                               |                          |
         |                               +------------+-------------+
         |                                            | Redirect
         |                                            v or alias
         |                               +--------------------------+
         |     ACME Directory Object     |                          |
         +-------------------------------+ https://acme.ca.example/ |
                                         |                          |
                                         +--------------------------+
]]></artwork>
      </artset>
      <ol spacing="normal" type="1"><li>
          <t>The ACME client initiates a DNS lookup to retrieve the CAA record(s) according to <xref target="RFC8659"/>.
          </t>
          <ol spacing="normal" type="1"><li>
              <t>The DNS resolver responds with the CAA record for each domain, specifying the authorized CAs capable of issuing certificates, along with their priorities and other optional parameters.</t>
            </li>
          </ol>
        </li>
        <li>
          <t>The ACME client analyzes the valid CAA records for the domain, ignoring any it cannot process, and selects the CA with the highest priority.</t>
        </li>
        <li>
          <t>The ACME client will download the ACME directory from the well-known location of the issuer-domain-name of the selected CA (https://[issuer-domain-name]/.well-known/acme)</t>
        </li>
        <li>
          <t>If the directory object indicates that an External Account Binding is required, but this is not configured on the ACME client, the client will try to determine an alternative common CA in step 2.
          </t>
          <ol spacing="normal" type="1"><li>
              <t>If no alternative CA can be found, the process with end with a failure and the user <bcp14>SHOULD</bcp14> be notified.</t>
            </li>
          </ol>
        </li>
        <li>
          <t>The ACME client continues normal operation according to <xref target="RFC8555"/>.</t>
        </li>
      </ol>
    </section>
    <section anchor="caa-record">
      <name>CAA Record</name>
      <section anchor="extensions-to-the-caa-record">
        <name>Extensions to the CAA Record</name>
        <t>This document defines the "discovery" and "priority" CAA parameters in the context of ACME auto discovery.</t>
        <section anchor="the-discovery-parameter">
          <name>The "discovery" Parameter</name>
          <t>The "discovery" parameter is used to control the auto-discovery functionality of the record in the context of this document.</t>
          <t>The value of this parameter, if specified, <bcp14>MUST</bcp14> be a lower-case Boolean, where "true" indicates that this record can be used for auto discovery, and "false" indicates that this record should not be used for auto discovery.</t>
          <t>When this parameter is not specified the client <bcp14>MUST</bcp14> assume that discovery is enabled.</t>
        </section>
        <section anchor="the-priority-parameter">
          <name>The "priority" Parameter</name>
          <t>The value of this parameter, if specified, <bcp14>MUST</bcp14> contain an integer greater than zero, where the value "1" represents the highest priority, and subsequent values like "2", "3", and so on, indicate progressively lower priorities. Where records specify an equal priority, their usage <bcp14>SHOULD</bcp14> be randomized.</t>
          <t>In the case that this parameter is not specified, the entry will be considered to have a lower priority than all entries which specify any priority.</t>
        </section>
      </section>
      <section anchor="examples">
        <name>Examples</name>
        <t>This section shows some examples of how CAA records can be configured in the context of ACME auto discovery. CAA records are used to authorize Certification Authorities (CAs) to issue certificates for a specific domain name.</t>
        <t>A simple CAA record allows the issuance of certificates from a single designated CA. In the following example, the CAA record for the domain "example.com" authorizes the CA "ca.example" to issue certificates. However, it does not specify any backup CA. Consequently, if the authorized CA is unable to issue the requested certificate, the certificate issuance will fail.</t>
        <sourcecode type="dns-rr"><![CDATA[
example.com CAA 0 issue "ca.example"
]]></sourcecode>
        <t>By default, when multiple CAA records are present, the CAs are randomized to distribute the load. However, some users may have preferences regarding the order in which CAs are attempted for certificate issuance. To explicitly specify the order, the "priority" parameter can be used.</t>
        <t>In the next example, the domain "example.com" has two CAA records. The CAA record with "ca2.example" has a higher priority value of 1, indicating it should be attempted first. The CAA record with "ca1.example" has a lower priority value of 2, indicating it should be attempted second.</t>
        <sourcecode type="dns-rr"><![CDATA[
example.com CAA 0 issue "ca1.example; priority=2"
example.com CAA 0 issue "ca2.example; priority=1"
]]></sourcecode>
        <t>CAA records that do not explicitly specify a priority are automatically assigned the lowest priority. In cases where multiple CAA records have the same priority, the usage will be randomized.</t>
        <t>Consider the following example, where the domain "example.com" has three CAA records. The CAA record with "ca1.example" has no specified priority, and thus it is assigned the lowest priority. The CAA records with "ca2.example" and "ca3.example" both have a priority of 1. In this scenario, the ACME client will first attempt to obtain its configuration from either "ca2.example" or "ca3.example", selected at random. If both of those fail, it will fall back to "ca1.example". If all attempts fail, the certificate issuance will ultimately fail.</t>
        <sourcecode type="dns-rr"><![CDATA[
example.com CAA 0 issue "ca1.example"
example.com CAA 0 issue "ca2.example; priority=1"
example.com CAA 0 issue "ca3.example; priority=1"
]]></sourcecode>
        <t>Furthermore, it is possible to configure CAA records to indicate a preference for specific types of certificates. In the following example, the domain "example.com" prefers Extended Validation (EV) certificates issued by "ca1.example". If the issuance of an EV certificate fails, the ACME client will attempt to obtain any type of certificate from "ca1.example". If that also fails, it will then try to obtain any type of certificate from "ca2.example".</t>
        <sourcecode type="dns-rr"><![CDATA[
example.com CAA 0 issue "ca1.example; priority=1 validationmethods=ca-ev"
example.com CAA 0 issue "ca1.example; priority=2"
example.com CAA 0 issue "ca2.example; priority=3"
]]></sourcecode>
        <t>When an ACME client requests the issuance of a wildcard certificate, the issuewild CAA property takes precedence over each issue property when specified, see also section 4.3 of <xref target="RFC8659"/>. The following example specifies that only ca3.example can issue certificates for "<em>.example.com" or "</em>.sub.example.com". However ca3.example is not permitted to issue for "example.com" or "sub.example.com". In the case the issuewild property was not specified all listed CAs would be authorized to issue wildcards for this domain.</t>
        <sourcecode type="dns-rr"><![CDATA[
example.com CAA 0 issue "ca1.example; priority=1"
example.com CAA 0 issue "ca2.example; priority=2"
example.com CAA 0 issuewild "ca3.example; priority=3"
]]></sourcecode>
        <t>To disable auto discovery for a particular record users can set the discovery parameter to false, in the example below this will ensure that the ACME client will only try to obtain a certificate from ca1.example and ignore ca2.example.</t>
        <sourcecode type="dns-rr"><![CDATA[
example.com CAA 0 issue "ca1.example"
example.com CAA 0 issue "ca2.example; discovery=false"
]]></sourcecode>
        <t>Implementers and operators should carefully configure CAA records according to their specific requirements and considerations.</t>
      </section>
    </section>
    <section anchor="acme-client-configuration">
      <name>ACME Client Configuration</name>
      <t>To enable the ACME client to obtain the necessary configuration information for interacting with the authorized Certification Authority (CA)'s ACME server, a mechanism leveraging the well-known directory is proposed.</t>
      <t>The well-known directory is a standardized location within the domain's web server where clients can discover specific resources or configurations. In the context of ACME client configuration retrieval, a copy of the ACME directory object or a redirect to it is placed in the well-known directory of the CA's domain, which is specified as a constraint in the CAA record. This allows the ACME client to conveniently retrieve the required configuration.</t>
      <t>For instance, when the CAA record restricts certificate issuance to the CA "ca.example" for the domain "example.com", the ACME client retrieves the ACME directory object as specified in Section 7.1.1 of ACME <xref target="RFC8555"/> from the URL "https://ca.example/.well-known/acme".</t>
      <t>While an alternative consideration was to include the ACME server address directly as a parameter in the CAA record, it was determined that this approach could introduce clutter and significantly increase the size of the record. Additionally, a rigid binding between the CAA record and the ACME server address may present challenges if the CA needs to change its server address in the future.</t>
      <t>Thus, the approach outlined in this document, utilizing the well-known directory for ACME client configuration retrieval, offers flexibility for CAs to manage and update their ACME server addresses while maintaining a concise and focused CAA record.</t>
      <t>It is important for implementers and operators to ensure the availability and accessibility of the ACME directory object within the well-known directory to facilitate successful ACME client configuration retrieval.</t>
    </section>
    <section anchor="sec-behavior">
      <name>ACME Client Behavior</name>
      <t>Prior to establishing a connection with the default ACME server or a pool of ACME servers, the ACME client verifies the presence of any configured CA Authorization records (CAA) as defined in <xref target="RFC8659"/>. If a CAA record is found, the ACME client will attempt to obtain a certificate from the CA with the highest priority. If the certificate issuance attempt fails, the client will proceed to lower-priority CAs in an attempt to obtain the certificate.</t>
      <t>In the event of a failed attempt to obtain a certificate from a particular CA, the ACME client employs a retry mechanism to ensure successful certificate acquisition. However, in cases where certain CAs are known to be temporarily unavailable, the ACME client <bcp14>MAY</bcp14> choose to ignore those CAs for a limited period of time. By temporarily excluding unresponsive CAs from the issuance process, the client can optimize its certificate acquisition strategy and enhance overall efficiency. This approach helps mitigate potential delays caused by unresponsive CAs and allows the client to focus on viable options for obtaining the required certificate.</t>
      <t>ACME clients <bcp14>SHOULD</bcp14> notify the user if the enrollment of a certificate from a specific CA fails multiple times, even if the client successfully obtains a certificate from an alternative CA. This notification is essential to ensure that users are promptly informed about recurring enrollment failures, allowing them to take appropriate measures. By providing such notifications, clients enable users to assess and address any underlying issues, seek alternative solutions, or make informed decisions regarding their certificate management processes.</t>
      <t>In order to promote the adoption of ACME in Enterprise environments, it is crucial for implementers and operators to recognize the significance of External Account Bindings. The section dedicated to External Account Bindings provides valuable information and guidelines for effectively incorporating this feature.</t>
      <section anchor="certificates-with-multiple-domain-names">
        <name>Certificates with multiple domain names</name>
        <t>When the ACME client initiates a certificate request for multiple domain names, it is required to check the CAA records for each domain. The purpose of this check is to identify a Certification Authority (CA) that is authorized by all the domain names intended to be included in the certificate. If, during the evaluation of CAA records, no common CA can be identified that satisfies the authorization requirements of all the domain names, the certificate issuance process will fail.</t>
        <t>To mitigate the risk of encountering failures in the certificate issuance process due to incompatible CAA records, it is crucial to ensure that certificates only include domain names that are under the control of the same entity. By maintaining a consistent ownership and control of the domain names included in a certificate, the likelihood of encountering authorization conflicts among CAA records is minimized. This practice promotes a more streamlined and reliable certificate issuance process, reducing the potential for errors and ensuring that the certificate accurately represents the domains controlled by a single entity.</t>
        <t>The process with multiple domain names looks as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>The ACME client identifies the list of domain names for which a certificate is requested.</t>
          </li>
          <li>
            <t>For each domain in the list, the ACME client initiates a DNS lookup to retrieve the CAA record(s) according to <xref target="RFC8659"/>.
            </t>
            <ol spacing="normal" type="1"><li>
                <t>The DNS resolver responds with the CAA record for each domain, specifying the authorized CAs capable of issuing certificates, along with their priorities and other optional parameters.</t>
              </li>
            </ol>
          </li>
          <li>
            <t>The ACME client analyzes the valid CAA records for each domain to identify a CA that is authorized by all included domains and which has the highest priority while it ignores any CAA records it cannot process.
            </t>
            <ol spacing="normal" type="1"><li>
                <t>If all domains prioritize the same CA, the ACME client proceeds with step 4.</t>
              </li>
              <li>
                <t>If not all domains prioritize the same CA, the ACME client tries to find a compromise based on the highest overall preference.</t>
              </li>
              <li>
                <t>If no compromise can be found, the process will end with a failure and the user <bcp14>SHOULD</bcp14> be notified.</t>
              </li>
            </ol>
          </li>
          <li>
            <t>The ACME client will download the ACME directory from the well-known location of the issuer-domain-name of the selected CA (https://[issuer-domain-name]/.well-known/acme)</t>
          </li>
          <li>
            <t>If an External Account Binding is required but not configured the ACME client will try to determine an alternative CA in step 3.
            </t>
            <ol spacing="normal" type="1"><li>
                <t>If no alternative CA can be found, the process with end with a failure and the user <bcp14>SHOULD</bcp14> be notified.</t>
              </li>
            </ol>
          </li>
          <li>
            <t>The ACME clients continues normal operation according to <xref target="RFC8555"/>.</t>
          </li>
        </ol>
        <section anchor="selecting-a-ca-through-compromise">
          <name>Selecting a CA through Compromise</name>
          <t>In the example below, we have three domains: "one.example", "two.example", and "three.example". Among these domains, "one.example" and "three.example" prioritize "ca1.example", while "two.example" prioritizes "ca2.example" over "ca1.example". To select a Certification Authority (CA), a compromise on the priority needs to be established.</t>
          <t>Based on the priorities specified, "ca1.example" is preferred by two out of the three domains. Since "ca1.example" is authorized by all domains and has the highest overall preference, it is selected as the CA to continue the process.</t>
          <sourcecode type="dns-rr"><![CDATA[
one.example CAA 0 issue "ca1.example; priority=1"
one.example CAA 0 issue "ca2.example; priority=2"

two.example CAA 0 issue "ca1.example; priority=2"
two.example CAA 0 issue "ca2.example; priority=1"

three.example CAA 0 issue "ca1.example; priority=1"
three.example CAA 0 issue "ca2.example; priority=2"
]]></sourcecode>
        </section>
      </section>
    </section>
    <section anchor="implementation-considerations">
      <name>Implementation Considerations</name>
      <section anchor="external-account-binding">
        <name>External Account Binding</name>
        <t>Clients <bcp14>SHOULD</bcp14> provide users with the ability to configure and utilize external account bindings per CA or ACME server, as it offers enhanced security and flexibility in managing the certificate provisioning process.</t>
        <t>External account bindings are not only crucial for users seeking to provision certificates with stronger authentication requirements such as Organization Validated (OV), Extended Validation (EV), and Qualified Website Authentication Certificates (QWAC), but they can also be applicable to Domain Validation (DV) certificates covered by a commercial agreement. By offering the configuration option for external account bindings, clients enable users to establish a secure association between their ACME accounts and external accounts, facilitating streamlined and authenticated certificate issuance processes. This flexibility accommodates a wide range of certificate types and use cases, ensuring that users can provision certificates with the appropriate level of authentication based on their specific requirements, whether they be DV certificates covered by a commercial agreement or certificates with higher levels of validation. Therefore, it is essential for clients to implement the external account binding configuration option to support the diverse needs of users in obtaining certificates with varying authentication levels.</t>
        <t>It is crucial for Certification Authorities (CAs) to carefully consider the internal account binding mechanisms described in this document. This is especially critical given the current lack of widespread support for external account bindings in user interfaces, with only a few command line utilities offering such functionality. By recognizing and implementing the internal account binding approach, CAs can provide a viable alternative for users who may not have access to or be familiar with external account binding options. This will help ensure a seamless and secure account linkage process, even in situations where the availability of external account binding configurations is limited.</t>
        <section anchor="internal-account-binding-using-domain-control-validation">
          <name>Internal Account Binding using Domain Control Validation</name>
          <t>In addition to the external account binding mechanism, an alternative approach can be implemented by the CAs that offers distinct advantages, particularly in cases where service providers may not expose the account binding configuration options to their users. This alternative method leverages domain control validation as the initial step in the process and subsequently pauses to await confirmation from the account holder regarding the account binding. The email address associated with the ACME account can be utilized for differentiating between multiple Certification Authority (CA) accounts holding the same domain name.</t>
          <t>The process to establish an internal account binding would be as follows:</t>
          <ol spacing="normal" type="1"><li>
              <t>The user adds the domain name to their Certification Authority (CA) account and completes the domain control verification process within this account.</t>
            </li>
            <li>
              <t>The user initiates the ACME process for certificate issuance or a new authorization.</t>
            </li>
            <li>
              <t>The ACME client validates domain control for the requested domain.</t>
            </li>
            <li>
              <t>Upon successful domain control validation the CA does not mark the authorizations as completed but awaits the completion of the account binding.</t>
            </li>
            <li>
              <t>The CA, having confirmed domain control, uses the provided email address associated with the ACME account to distinguish between different CA accounts that have confirmed control over the same domain name.</t>
            </li>
            <li>
              <t>The account holder receives a notification or prompt and confirms the account binding within the CA's system.</t>
            </li>
            <li>
              <t>Once the account binding is confirmed, the CA marks the ACME authorization as completed and the ACME client proceeds with the remaining steps of the ACME process, such as finalizing the certificate issuance.</t>
            </li>
          </ol>
          <t>It is important to note that before the ACME process can start, the domain name must be added to the CA account and the domain control validation process must be successfully completed. This ensures that the domain ownership is verified for both accounts before proceeding with the account binding.</t>
        </section>
        <section anchor="internal-account-binding-using-email-address">
          <name>Internal Account Binding using Email Address</name>
          <t>When ACME clients provide the email address associated with the user's account during the creation of a new account, Certification Authorities (CAs) can utilize this email address to establish an internal account binding between the ACME account and the corresponding customer account within their internal systems. This approach offers an alternative method for establishing the account linkage, particularly in cases where the ACME integration's user interface does not provide explicit external account binding configuration options.</t>
          <t>However, it is crucial to acknowledge that this internal account binding mechanism introduces potential vulnerabilities, particularly in relation to phishing attacks. It is imperative to exercise caution when utilizing this mechanism since the email address associated with the ACME account is not verified, and the account binding request can be initiated by any party. Careful consideration should be given to the security implications of relying solely on the email address for establishing the account linkage.</t>
        </section>
      </section>
      <section anchor="terms-of-service-and-acceptance">
        <name>Terms of Service and Acceptance</name>
        <t>The terms of service associated with different CAs can vary, and it is important to consider how these terms are handled within the context of auto-discovery.</t>
        <section anchor="implicit-acceptance-of-terms-of-service">
          <name>Implicit Acceptance of Terms of Service</name>
          <t>As the ACME client is not explicitly controlled by the user in a shared environment, the user's explicit approval of the terms of service presented by the CA becomes challenging. In the absence of a direct user interaction with the ACME client, it is assumed that the user accepts the terms of service by explicitly configuring the CAA record to authorize the CA.</t>
          <t>CAs will typically provide documentation indicating how to configure a domain's CAA record for ACME auto-discovery and are encouraged to note in alongside those instructions that doing so will be taken as implicit agreement to the Terms of Service, and also to include a direct link to those Terms of Service.</t>
          <t>ACME clients are strongly encouraged to display the relevant terms of service for the obtained certificates to ensure users have visibility into the associated obligations and restrictions. This helps users make informed decisions about their certificate management and ensures compliance with the terms of service set by the authorized CA.</t>
        </section>
        <section anchor="acceptance-through-caa-parameter">
          <name>Acceptance Through CAA Parameter</name>
          <t>One potential enhancement to address the explicit acceptance of terms of service is the inclusion of a CAA parameter called "termsOfServiceAgreed". This parameter would provide a direct mechanism for users to indicate their agreement to the terms of service.</t>
          <t>However, it is important to consider the trade-offs associated with adding this type of data to the CAA record. The inclusion of additional attributes can be perceived as clutter and may increase the complexity of configuring the CAA record. Therefore, the authors of this document recommend relying on the implicit acceptance of the terms of service.</t>
          <t>By configuring the CAA record to authorize a specific CA, users implicitly indicate their acceptance of the associated terms of service. This approach strikes a balance between simplicity and compliance with the CA's requirements. It is crucial for ACME clients to display the relevant terms of service for the obtained certificates, ensuring that users have visibility and can make informed decisions regarding their certificate management.</t>
        </section>
      </section>
    </section>
    <section anchor="sec-iana">
      <name>IANA Considerations</name>
      <section anchor="well-known-uri-for-the-acme-directory">
        <name>Well-Known URI for the ACME Directory</name>
        <t>The following value has been registered in the "Well-Known URIs" registry (using the template from <xref target="RFC5785"/>):</t>
        <artwork><![CDATA[
URI suffix: acme
Change controller: IETF
Specification document(s): RFC XXXX, Section Y.Z
Related information: N/A
]]></artwork>
        <ul empty="true">
          <li>
            <t><strong>RFC Editor's Note:</strong> Please replace XXXX above with the RFC number assigned to this document</t>
          </li>
        </ul>
      </section>
      <section anchor="caa-parameters">
        <name>CAA Parameters</name>
        <t>As per <xref target="RFC8659"/>, the parameter namespace for the CAA "issue" and "issuewild" Properties has CA-defined semantics, and the identifiers within that namespace may be freely and arbitrarily assigned by a CA. This document merely specifies recommended semantics for parameters of the names "discovery" and "priority", which CAs may choose to adopt.</t>
        <ul empty="true">
          <li>
            <t><strong>RFC Editor's Note:</strong>  Please remove this section prior to publication of a final version of this document.</t>
            <t>Although there is no requirement for a RFC 8659-compliant CA to process parameters, having a list of parameters whose recommended semantics have been defined would likely be useful. Therefor the authors of this document have the intention to establishing a CAA parameter registry in another document.</t>
            <t>See also: https://github.com/vanbroup/acme-auto-discovery/issues/14</t>
          </li>
        </ul>
        <!-- End of IANA Considerations section -->

</section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="risks-with-auto-discovery-of-authorized-cas">
        <name>Risks with Auto-Discovery of Authorized CAs</name>
        <t>The mechanism described in this document relies on the DNS Certification Authority Authorization (CAA) Resource Record <xref target="RFC8659"/> to determine the authorized Certification Authorities (CAs) capable of issuing certificates for a given domain name(s). However, there are potential risks associated with the automatic provisioning of certificates without an explicit indication from the user.</t>
        <section anchor="unexpected-certificate-issuance">
          <name>Unexpected Certificate Issuance</name>
          <t>Where the issuance of certificates is currently restricted through CAA records and certificates are provisioned through alternative means (i.e., manual or via a proprietary API) certificates can unexpectedly be replaced with a similar certificate or a certificate of a different type (e.g., DV versus EV) if the ACME client supports this new mechanism.</t>
          <t>Its recommended that users who which to obtain certificates attesting to more than domain validation (DV) control, restrict the validation method using a CA specific “validationmethods” CAA parameter value (e.g., “ca-ov”, “ca-ev”, “ca-qwac”) as specified by <xref target="RFC8657"/>.</t>
        </section>
        <section anchor="issuance-by-the-wrong-authorized-ca">
          <name>Issuance by the ‘wrong’ authorized CA</name>
          <t>In scenarios where a domain name authorizes multiple CAs without specifying a weight or preference attribute, there is a risk that the ACME client may unexpectedly request a certificate from one of the authorized CAs that was only included as backup.
To mitigate this risk, it is recommended that users who have multiple CAA records explicitly configure the CAA record to include a weight or preference attribute to indicate their desired CA for certificate issuance.</t>
          <t>Additionally, ACME clients should provide clear visibility and feedback to users regarding the CA from which certificates will be obtained, ensuring that it aligns with their expectations.</t>
        </section>
      </section>
      <section anchor="malicious-acme-servers">
        <name>Malicious ACME Servers</name>
        <t>One potential security risk associated with the mechanism defined in this document is the possibility of domain owners placing links to malicious ACME servers into their DNS CAA Resource Records in order to attack the infrastructure of hosting providers. Malicious actors could exploit vulnerabilities in the ACME client implementation or inject malicious code, potentially leading to unauthorized access or remote code execution on the client's system.</t>
        <t>To minimize this risk, ACME clients must be written with a cautious and security-conscious approach when interacting with ACME servers. It is crucial not to blindly trust servers to behave securely and in accordance with the ACME protocol.</t>
      </section>
      <section anchor="acme-keys">
        <name>ACME Keys</name>
        <t>To ensure a secure account binding per customer, it is essential that each customer possesses their own unique ACME key. The utilization of individual ACME keys allows for a distinct association between the customer's account and the established account binding.</t>
        <t>If an account binding were to be established based on a shared ACME key, it could potentially lead to unauthorized users obtaining certificates using the same Certificate Authority (CA) based on the established account binding. This scenario poses a significant security risk and could result in the compromise of sensitive information or unauthorized certificate issuance.</t>
        <t>To mitigate this risk, it is crucial to enforce the use of individual ACME keys for each customer. This ensures that the account binding is securely linked to the respective customer's account, preventing unauthorized access or misuse by other users. By maintaining separate ACME keys per customer, the integrity and confidentiality of the account binding process are upheld, enhancing the overall security posture of the system.</t>
      </section>
      <section anchor="use-of-dns-security">
        <name>Use of DNS Security</name>
        <t>The use of DNSSEC to authenticate CAA RRs is strongly <bcp14>RECOMMENDED</bcp14> but not required. In scenarios where DNSSEC is not utilized, there is a potential risk wherein the ACME client may be compelled to request a certificate from an alternative ACME server, which could be malicious in nature.</t>
        <t>In the context of the public PKI, a compliant CA associated with the ACME server will deny such unauthorized requests if it was not delegated the authority through a CAA record. However, for ACME servers that operate outside the scope of public trust and may have malicious intentions, the ACME client can validate certificates against it local root store, thus identifying and mitigating this potential attack.</t>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <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="RFC8659">
          <front>
            <title>DNS Certification Authority Authorization (CAA) Resource Record</title>
            <author fullname="P. Hallam-Baker" initials="P." surname="Hallam-Baker"/>
            <author fullname="R. Stradling" initials="R." surname="Stradling"/>
            <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews"/>
            <date month="November" year="2019"/>
            <abstract>
              <t>The Certification Authority Authorization (CAA) DNS Resource Record allows a DNS domain name holder to specify one or more Certification Authorities (CAs) authorized to issue certificates for that domain name. CAA Resource Records allow a public CA to implement additional controls to reduce the risk of unintended certificate mis-issue. This document defines the syntax of the CAA record and rules for processing CAA records by CAs.</t>
              <t>This document obsoletes RFC 6844.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8659"/>
          <seriesInfo name="DOI" value="10.17487/RFC8659"/>
        </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>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8657">
          <front>
            <title>Certification Authority Authorization (CAA) Record Extensions for Account URI and Automatic Certificate Management Environment (ACME) Method Binding</title>
            <author fullname="H. Landau" initials="H." surname="Landau"/>
            <date month="November" year="2019"/>
            <abstract>
              <t>The Certification Authority Authorization (CAA) DNS record allows a domain to communicate an issuance policy to Certification Authorities (CAs) but only allows a domain to define a policy with CA-level granularity. However, the CAA specification (RFC 8659) also provides facilities for an extension to admit a more granular, CA-specific policy. This specification defines two such parameters: one allowing specific accounts of a CA to be identified by URIs and one allowing specific methods of domain control validation as defined by the Automatic Certificate Management Environment (ACME) protocol to be required.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8657"/>
          <seriesInfo name="DOI" value="10.17487/RFC8657"/>
        </reference>
        <reference anchor="RFC5785">
          <front>
            <title>Defining Well-Known Uniform Resource Identifiers (URIs)</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="E. Hammer-Lahav" initials="E." surname="Hammer-Lahav"/>
            <date month="April" year="2010"/>
            <abstract>
              <t>This memo defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5785"/>
          <seriesInfo name="DOI" value="10.17487/RFC5785"/>
        </reference>
        <reference anchor="I-D.tweedale-acme-discovery">
          <front>
            <title>Automated Certificate Management Environment (ACME) Service Discovery</title>
            <author fullname="Fraser Tweedale" initials="F." surname="Tweedale">
              <organization>Red Hat</organization>
            </author>
            <date day="16" month="November" year="2020"/>
            <abstract>
              <t>   This document specifies a DNS-based Service Discovery (DNS-SD)
   profile that enables Automated Certificate Management Environment
   (ACME) clients to locate ACME servers in their network environment.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-tweedale-acme-discovery-01"/>
        </reference>
      </references>
    </references>
    <?line 401?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+Vd65LbxpX+z6foUD8sOSTl0SV2Zm0n1EhOpmx5FI1srzfx
VoFAk8QKBBg0wBHtOOV32D+7VbtV+yz7KH6SPbe+ASCHcpLdSu1UYs2QQKP7
9Olz/c7BdDodNXlT6HM1nrdNNc1yk1Y7Xe/VRqfrpMzNRi2rWs0vnj9TaZHr
slFpVS7zVVsnTV6V41GyWNR6hwPgNTTKUzvKeJQmjV5V9f5cmSYbjbIqLZMN
PC6rk2Uz3SXloq7aG12bdbLT5TRJN3qaRDOZvvdgZNrFJjcGntfst3D35bNX
nyh1RyWFqeDJeZnprYb/lM14osaX8yfwD8x6fPny1SfjUdluFro+H2Uwl/MR
TN/o0rTmXDV1q0cw9YejpNbJubp+djG6qerXK5jT9pwWPXqt9/BRdj5SU/4A
/40miJ9czOcjmH8L4ysV3q4Uz/grGDYvV+o3+B18ukny4lzhcn+d62Y5q+oV
fJrU6fpcrZtma87v34f5Jk2dpK91PbMX3b9Z3ce77ieLqm3u49PyZt0uzpXQ
cnt/gIZwWQGLN40f3F4+4/tneTV04/3T92m2bjbFaAQfrqsayTCF/+NPXgKp
X8xwgupJOIp8zwzxImmLg5fAws/VsxL2yzTqs3yTNzqTryz7ybfyqWlqrWG1
Dx6/9566roqkzBr1skoy9eMP/6quWxhAnb33nlyd5g0w6FXTJDfJRF2VTVLn
lf2uamFk+PoiKZMscZ9mMOdPH3yqHv7msXymeU+3sJBZl2C/1jy9WVptuqR5
PlNXbWmAy5p1RJLn+Wvd++rviRQbWMCssguIaDAqq3oDEmRHJ+blJxcfPH78
2P76i8e/PB+N8nLZveYXj9+XXx+//wFdfjl9OmtutM6SQjNXOoaEIabTKVDF
4CFqRqO5MvmqzJd5moAYyzdbneUblGhNpZq1Vjd5ps0WJEGmkqzaonhT1ZK+
whMPU9GZutB1Q0MA2Z4DHVaahnhW7vK6Kun3u3jy76nfy6q+UbmBQZImlKJG
lTBpfPJCK3jm1EpV+PAGTiQ99YuXn7kJ4K1G17Awuak1OpupV2sYvFo2ulSF
Bk4zKoOJ5jDxmxKYT8FT8faNrtO9jJXXal2ZBqXRtq52sOhaJQZHvVnn6TpY
IRJgTuc5b3IY+u7F3NxTQL3O881Wp/4OGRSeHSgRnHNVNbgV28PaRC3ragP3
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
GhWFAAA=

-->

</rfc>
