<?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.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dnsop-domain-verification-techniques-13" category="bcp" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="Domain Control Validation using DNS">Domain Control Validation using DNS</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-domain-verification-techniques-13"/>
    <author initials="S." surname="Sahib" fullname="Shivan Sahib">
      <organization>Brave Software</organization>
      <address>
        <email>shivankaulsahib@gmail.com</email>
      </address>
    </author>
    <author initials="S." surname="Huque" fullname="Shumon Huque">
      <organization>Salesforce</organization>
      <address>
        <email>shuque@gmail.com</email>
      </address>
    </author>
    <author initials="P." surname="Wouters" fullname="Paul Wouters">
      <organization>Aiven</organization>
      <address>
        <email>paul.wouters@aiven.io</email>
      </address>
    </author>
    <author initials="E." surname="Nygren" fullname="Erik Nygren">
      <organization>Akamai Technologies</organization>
      <address>
        <email>erik+ietf@nygren.org</email>
      </address>
    </author>
    <author initials="T." surname="Wicinski" fullname="Tim Wicinski">
      <organization>Cox Communications</organization>
      <address>
        <email>tjw.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="June" day="22"/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 104?>

<t>Many application services on the Internet need to verify ownership or control of a domain in the Domain Name System (DNS). The general term for this process is "Domain Control Validation", and it can be done using a variety of methods such as email, HTTP/HTTPS, or the DNS itself. This document focuses only on DNS-based methods, which typically involve the Application Service Provider requesting a DNS record with a specific format and content to be visible in the domain to be verified. There is wide variation in the details of these methods today. This document provides some best practices to avoid known problems.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Source for this draft and an issue tracker can be found at
  <eref target="https://github.com/ietf-wg-dnsop/draft-ietf-dnsop-domain-verification-techniques/"/>.</t>
    </note>
  </front>
  <middle>
    <?line 108?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Many Application Service Providers of internet services need domain owners to prove that they control a particular DNS domain before the Application Service Provider can operate services for or grant some privilege to that domain. For instance, Certification Authorities (CAs) ask requesters of TLS certificates to prove that they operate the domain they are requesting the certificate for. Application Service Providers generally allow for several different ways of proving control of a domain. Often, DNS-based methods take the form of the Application Service Provider generating a Unique Token and asking the requester to create a DNS record containing this Unique Token and place it at a location within the domain that the Application Service Provider can query for.</t>
      <t>This document recommends using a TXT based DNS Validation Record in a way that is targeted to the specific application service, and uses Unique Tokens to guarantee uniqueness.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" 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.
<?line -6?>
      </t>
      <ul spacing="normal">
        <li>
          <t><tt>Application Service Provider</tt>: an internet-based provider of a service, e.g., a Certification Authority or a service that allows for user-controlled websites. These services often require a User to verify that they control a domain. The Application Service Provider may be implementing a standard protocol for domain validation (such as <xref target="RFC8555"/>) or they may have their own specification.</t>
        </li>
        <li>
          <t><tt>DNS Administrator</tt>: the owner or responsible party for the contents of a domain in the DNS.</t>
        </li>
        <li>
          <t><tt>Intermediary</tt>: an internet-based service that leverages the services of other providers on behalf of a User. For example, an Intermediary might be a service that allows for User-controlled websites and in turn needs to use a Certification Authority provider to get TLS certificates for the User on behalf of the website.</t>
        </li>
        <li>
          <t><tt>User</tt>: the owner or operator of a domain in the DNS who needs to prove ownership of that domain to an Application Service Provider, often on behalf of an account at the Application Service Provider, working in coordination with their DNS Administrator.</t>
        </li>
        <li>
          <t><tt>Unique Token</tt>: a value that uniquely identifies the DNS domain control validation challenge, defined in <xref target="unique-token"/>. Unique Tokens are constructed by the Application Service Provider in a way that guarantees uniqueness within the scope of the challenge, such as a random value.</t>
        </li>
        <li>
          <t><tt>Validation Record</tt>: the DNS record that is used to prove ownership of a domain name (<xref target="RFC9499"/>). It typically contains an unguessable value generated by the Application Service Provider which serves as the DNS challenge. The Application Service Provider looks for the Validation Record in the zone of the domain name being verified and checks if it contains the unguessable value.</t>
        </li>
      </ul>
    </section>
    <section anchor="purpose">
      <name>Purpose of Domain Control Validation</name>
      <t>Domain Control Validation allows a User to demonstrate to an Application Service Provider that they have enough control over a domain to place a DNS challenge provided by Application Service Provider into the domain. Because this challenge becomes publicly visible as soon as it is published into the DNS, the security properties rely on the causal relationship between the Application Service Provider generating a specific challenge and the challenge appearing in the DNS at a specified location. Domain Control Validation can be used either as a one-off or for a persistent validation depending on the application scenario:</t>
      <ul spacing="normal">
        <li>
          <t>As a one-off validation, the Validation Record is time-bound, and it can be removed once its presence is confirmed by the Application Service Provider. These are appropriate when the validation is being performed as part of an action such as requesting certificate issuance.</t>
        </li>
        <li>
          <t>As a persistent validation, the introduction of the Validation Record into the domain demonstrates to the Application Service Provider that the User had control over the domain at that time, and its continued presence demonstrates only that either the DNS Administrator of the domain has left the Validation Record in-place (perhaps unintentionally) or that a new owner of the domain has re-introduced the Validation Record (for example, by copying the previously published, and therefore publicly disclosed, Unique Token value into the new version of the zone). The validation can be revoked by removing the Validation Record, although this revocation will not be noticed until the Application Service Provider next checks for the presence of the record.</t>
        </li>
      </ul>
      <t>Persistent validation is only appropriate for applications where the Application Service Provider keeps the validation bound to a specific User account, rather than treating the mere continued presence of the token in the DNS as proof of control. This is because once a token has been published it is publicly disclosed, and there is no guarantee that it has not been copied by a subsequent owner of the domain.</t>
      <t>Delegated Domain Validation (<xref target="delegated"/>) is a method typically used as a way to adapt between these modes, with a persistent validation to an Intermediary enabling the Intermediary to transitively perform recurring one-off validations.</t>
    </section>
    <section anchor="threat-model">
      <name>Threat Model</name>
      <t>As Domain Control Validation is a mechanism trying to provide security properties over sometimes-insecure underlying protocols, it is important to be clear about its threat model. This section uses the following terms:</t>
      <ul spacing="normal">
        <li>
          <t><tt>Unacceptable Loss</tt>: an outcome that Domain Control Validation is intended to prevent.</t>
        </li>
        <li>
          <t><tt>Hazard</tt>: a system state or set of conditions that can lead to an Unacceptable Loss.</t>
        </li>
        <li>
          <t><tt>Threat Actor</tt>: the party that seeks to exploit a Hazard in order to cause an Unacceptable Loss.</t>
        </li>
      </ul>
      <t>While the specific primary Unacceptable Losses will depend on the nature of the Application Service Provider, they generalize to:</t>
      <ul spacing="normal">
        <li>
          <t>UL1. Application Service Provider believes a User has privileges on a domain name without this being authorized by the DNS Administrator for the domain. The Threat Actor in this case is a malicious User leveraging these privileges in some way.</t>
        </li>
        <li>
          <t>UL2. Application Service Provider, Intermediary, or other party gains unintended control over resources within a domain or on a domain name. The Threat Actor in this case is the Application Service Provider, Intermediary, or other party leveraging this unintended control in some way.</t>
        </li>
      </ul>
      <section anchor="threat-ul1">
        <name>Hazards leading to Unauthorized Privileges (UL1)</name>
        <t>For UL1, the Application-specific nature of these privileges (such as being able to obtain a signed certificate covering the domain name, being able to use a social media handle under that domain, or being able to provision configurations associated with that domain in the Application Service Provider system) will determine the specifics of the underlying Unacceptable Loss.</t>
        <t>Domain Control Validation attempts to address UL1 by having the User demonstrate a relationship between the Application Service Provider issuing a Unique Token and that Unique Token appearing in the domain. Classes of Hazards include:</t>
        <ul spacing="normal">
          <li>
            <t>H1. Unique Token collision leading to an unassociated but matching Validation Record already being present in the domain, thus breaking the required causal relationship between token issuance and its appearance in the DNS.</t>
          </li>
          <li>
            <t>H2. Cross-User vulnerabilities leading to a Unique Token issued to one User being leveraged by a different User, due to vulnerabilities in how an Application Service Provider or Intermediary implements Domain Control Validation.</t>
          </li>
          <li>
            <t>H3. Network and DNS-based attacks leading to an Application Service Provider's validation system being tricked into believing that a valid Validation Record containing the Unique Token is present. When DNS resolutions are not authenticated, this may be carried out by attackers already on the network path, by attackers that insert themselves on-path (e.g., through routing attacks <xref target="RFC7132"/>), or through other DNS protocol attacks (see <xref target="RFC3833"/>). For example, an attacker could request a challenge for a domain they do not control and, rather than publishing the Validation Record, inject forged responses to the Application Service Provider's validation queries (for instance by poisoning the resolver's cache or from an on-path position). Because the Application Service Provider supplied the Unique Token to the attacker when issuing the challenge, the attacker can place that token in the forged response; absent DNSSEC, the Application Service Provider cannot distinguish the forged answer from a record genuinely published in the zone, and so concludes that a valid Validation Record is present when it is not. These attacks are addressed by the DNSSEC-related mitigations in <xref target="dnssec-validation"/>.</t>
          </li>
          <li>
            <t>H4. DNS Administrator errors, including human factor issues, leading to a Validation Record being unintentionally added or unintentionally persisting.</t>
          </li>
          <li>
            <t>H5. Confusion over the scope of a Validation Record resulting in broader privileges being granted to the User than was intended by the DNS Administrator. This is discussed more below in <xref target="scope"/>.</t>
          </li>
        </ul>
      </section>
      <section anchor="threat-ul2">
        <name>Hazards leading to Unintended Access to Domain Resources (UL2)</name>
        <t>For UL2, unintended control over a domain or domain name results as a side-effect of the Domain Control Validation process itself. Classes of Hazards include:</t>
        <ul spacing="normal">
          <li>
            <t>H6. The owner name of the Validation Record is meaningful in other contexts, enabling cross-protocol, privilege escalation, and/or confused deputy attacks. For example, if a Validation Record is a CNAME and has an owner name that is a valid hostname, the Application Service Provider could provide services on the Validation Record name within the domain.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="scope">
      <name>Scope of Validation</name>
      <t>For security reasons (see H5 in <xref target="threat-ul1"/>), it is crucial to understand the scope of the domain name being validated. Both Application Service Providers and the User need to clearly specify and understand whether the validation request is for a single hostname, a wildcard (all hostnames immediately under that domain), or for the entire domain and subdomains rooted at that name. This is particularly important in large multi-tenant enterprises, where an individual deployer of a service may not necessarily have operational authority over an entire domain.</t>
      <t>In the case of X.509 certificate issuance, the certificate signing request and associated challenge are clear about whether they are for a single host or a wildcard domain. Unfortunately, the ACME protocol's DNS-01 challenge mechanism (<xref section="8.4" sectionFormat="comma" target="RFC8555"/>) does not differentiate these cases in the DNS Validation Record. In the absence of this distinction, the DNS Administrator tasked with deploying the Validation Record may need to explicitly confirm the details of the certificate issuance request to make sure the certificate is not given broader authority than the User intended.</t>
      <t>In the more general case of an Internet application service granting authority to a domain owner, again no existing DNS challenge scheme makes this distinction today. New applications should consider having different application names for different scopes, as described. Regardless, services should very clearly indicate the scope of the validation in their public documentation so that the DNS Administrator can use this information to assess whether the Validation Record is granting the appropriately scoped authority.</t>
    </section>
    <section anchor="recommendations">
      <name>Recommendations</name>
      <t>All Domain Control Validation mechanisms are implemented by a DNS resource record with at least the following information:</t>
      <ol spacing="normal" type="1"><li>
          <t>A record name related to the domain name being validated, usually constructed by prepending an application specific label.</t>
        </li>
        <li>
          <t>One or more Unique Tokens.</t>
        </li>
      </ol>
      <section anchor="txt-record">
        <name>TXT Record based Validation</name>
        <t>The RECOMMENDED method of doing DNS-based domain control validation is to use DNS TXT records as the Validation Record. The QNAME is constructed as described in <xref target="name"/>, and the RDATA MUST contain at least a Unique Token provided by the Application Service Provider (constructed according to the properties described in <xref target="unique-token"/>). If there are multiple character-strings within the RDATA, the Application Service Provider MUST treat them as a concatenated string. If metadata (see <xref target="metadata"/>) is not used, then the Unique Token generated as above can be placed as the only contents of the RDATA. For example:</t>
        <artwork><![CDATA[
_example_service-challenge.example.com.  IN   TXT  "3419...3d206c4"
]]></artwork>
        <t>This again allows the Application Service Provider to query only for application-specific records it needs, while giving flexibility to the User adding the DNS record (i.e., they can be given permission to only add records under a specific prefix by the DNS Administrator).</t>
        <t>Application Service Providers MUST validate that a Unique Token in the TXT record matches the one that they gave to the User for that specific domain name. Whether multiple Validation Records can exist for the same domain is up to the Application Service Provider's application specification. In case there are multiple TXT records for the specific domain name, the Application Service Provider MUST confirm at least one record match.</t>
        <section anchor="unique-token">
          <name>Unique Token</name>
          <t>A Unique Token is used in the challenge and is a value issued between parties (Application Service Provider to User, Application Service Provider to Intermediary, or Intermediary to User). The Unique Token MUST be constructed in a manner which has adequate uniqueness so as to guarantee a causal relationship between its issuance and its appearance in a DNS record. To additionally safeguard against multiple Application Service Providers using the same Validation Record name, for example if a non-unique prefix is used, the Unique Token MUST be constructed in a way that prevents collisions.</t>
          <t>Examples of Unique Token construction include:</t>
          <ul spacing="normal">
            <li>
              <t>A random token, such as constructed according to <xref target="random-token"/></t>
            </li>
            <li>
              <t>A URI <xref target="RFC3986"/> namespaced to the Application Service Provider and uniquely identifying the challenge or User</t>
            </li>
            <li>
              <t>A keyed cryptographic hash of information known to the Application Service Provider which uniquely identifies the challenge or User</t>
            </li>
          </ul>
          <t>This Unique Token is placed in either the RDATA or an owner name, as described in the rest of this section. Some methods of validation may involve multiple independent Unique Tokens.</t>
          <t>If sensitive information is used to derive a Unique Token, that information SHOULD be fed through a potentially keyed cryptographic hash as part of constructing the token.</t>
          <t>Base32 encoding (<xref section="6" sectionFormat="comma" target="RFC4648"/>) or hexadecimal base16 encoding (<xref section="8" sectionFormat="comma" target="RFC4648"/>) are RECOMMENDED to be specified when the Unique Token would exist in a DNS label such as in a CNAME target. This is because base64 relies on mixed case (and DNS is case-insensitive as clarified in <xref target="RFC4343"/>) and because some base64 characters ("/", "+", and "=") may not be permitted by implementations that limit allowed characters to those allowed in hostnames. If base32 is used, it SHOULD be specified in a way that safely omits the trailing padding ("="). Note that DNS labels are limited to 63 octets which limits how large such a token may be.</t>
          <section anchor="random-token">
            <name>Random Token Construction</name>
            <t>One way of constructing Unique Tokens is to use random values which:</t>
            <ol spacing="normal" type="1"><li>
                <t>have adequate entropy (see <xref target="RFC4086"/>) to guarantee uniqueness and ensure that an attacker is unable to create a situation where a collision occurs (see H1 in <xref target="threat-ul1"/>).</t>
              </li>
              <li>
                <t>are base64url (<xref section="5" sectionFormat="comma" target="RFC4648"/>) encoded, base32 encoded, or hexadecimal base16 encoded.</t>
              </li>
            </ol>
          </section>
        </section>
        <section anchor="metadata">
          <name>Token Metadata</name>
          <t>It may be desirable to associate metadata with the Unique Token in a Validation Record. When specified, metadata SHOULD be encoded in the RDATA via space-separated ASCII key-value pairs, with the key "token" prefixing the Unique Token. For example:</t>
          <artwork><![CDATA[
_example_service-challenge.example.com.  IN   TXT  "token=3419...3d206c4"
]]></artwork>
          <t>If there are multiple tokens required, each one MUST be in a separate RR to allow them to match up with any additional attributes. For example:</t>
          <artwork><![CDATA[
_example_service-challenge.example.com.  IN   TXT  "token=3419...3d206c4 attr=bar"
                             IN   TXT  "token=5454...45dc45a attr=quux"
]]></artwork>
          <t>The token MUST be the first element in the key-value list. If the TXT record RDATA is not prefixed with <tt>token=</tt> then the entire RDATA should be assumed to be the token (as this might split the trailing "==" or "=" at the end of base64 encoding).</t>
          <t>Keys are considered to be case-insensitive. Each Validation Record consists of RDATA for val-record with the following grammar (with an ABNF per <xref target="RFC5234"/>):</t>
          <sourcecode type="abnf"><![CDATA[
val-record     = keyvalue-list
keyvalue-list  = keyvalue-pair *( SP keyvalue-pair )
keyvalue-pair  = key [ "=" value ]

key            = 1*key-char
key-char       = ALPHA / DIGIT / "-" / "_"

value          = 1*value-char
value-char     = %x21-21 / %x23-5B / %x5D-7E
                ; All printable ASCII except space (0x20),
                ; quotation mark (0x22), and backslash (0x5C)
]]></sourcecode>
          <t>If an alternate syntax is used by the Application Service Provider for token metadata, they MUST specify a grammar for it.</t>
        </section>
      </section>
      <section anchor="name">
        <name>Validation Record Owner Name</name>
        <t>The RECOMMENDED format for a Validation Record's owner name is application-specific underscore prefix labels. Domain Control Validation Records are constructed by the Application Service Provider by prepending the label "<tt>_&lt;PROVIDER_RELEVANT_NAME&gt;-challenge</tt>" to the domain name being validated (e.g., "_example_service-challenge.example.com"). The prefix "_" is used to avoid collisions with existing hostnames and to prevent the owner name from being a valid hostname (see H6 in <xref target="threat-ul2"/>).</t>
        <t>If an Application Service Provider has an application-specific need to have multiple validations for the same label, multiple prefixes can be used, such as "<tt>_&lt;FEATURE&gt;._&lt;PROVIDER_RELEVANT_NAME&gt;-challenge</tt>".</t>
        <t>Application owners SHOULD utilize the IANA "Underscored and Globally Scoped DNS Node Names" registry <xref target="UNDERSCORE-REGISTRY"/> and avoid using underscore labels that already exist in the registry.</t>
        <t>As a simplification, some applications may decide to omit the "-challenge" suffix and use just "<tt>_&lt;PROVIDER_RELEVANT_NAME&gt;</tt>" as the label.</t>
      </section>
      <section anchor="time-bound-checking-and-expiration">
        <name>Time-bound checking and Expiration</name>
        <t>For persistent validations, Application Service Providers MUST provide clear instructions for how to perform revocations through the removal of a Validation Record, including details on the frequency at which re-validation is performed. Application Service Providers MAY monitor for changes in domain ownership and request re-confirmation via a new token.</t>
        <t>For one-off validations, after domain control validation is completed there is typically no need for the Validation Record to continue to exist after being confirmed by the Application Service Provider. It should be safe to remove the validation DNS record once the validation is complete.</t>
        <t>Application Service Providers MUST provide clear instructions on how long the challenge token is valid for, and thus when a Validation Record can be removed. These instructions should preferably be encoded within the RDATA.</t>
        <t>The instructions for validity duration MAY be encoded in the RDATA as token metadata (<xref target="metadata"/>) using the key "expiry" to hold a time after which it is safe to remove the Validation Record. For example:</t>
        <artwork><![CDATA[
_example_service-challenge.example.com.  IN   TXT  "token=3419...3d206c4 expiry=2023-02-08"
]]></artwork>
        <t>When an expiry time is specified, the value of "expiry" SHALL be in ISO 8601 format as specified in <xref section="5.6" sectionFormat="comma" target="RFC3339"/>.</t>
        <t>Alternatively, if the record should never expire (for instance, persistent validations that are checked periodically by the Application Service Provider) and should not be removed, the "expiry" key SHALL be set as "expiry=never".</t>
        <t>The "expiry" key MAY be omitted in cases where the Application Service Provider has clarified the record expiry policy out-of-band. In this case, the RDATA is set to "token=3419...3d206c4". This is semantically identical to "3419...3d206c4".</t>
        <t>The User SHOULD de-provision the resource record provisioned for DNS-based domain control validation once it is no longer required.</t>
      </section>
      <section anchor="ttl-considerations">
        <name>TTL Considerations</name>
        <t>The TTL <xref target="RFC1034"/> for Validation Records SHOULD be short to allow recovering from potential misconfigurations. These records will not be polled frequently so expected caching or resolver load will be limited during normal operations.</t>
        <t>The Application Service Provider looking up a Validation Record may have to wait for up to the SOA minimum TTL (negative caching TTL) of the enclosing zone for the record to become visible, if it has been previously queried. If the application User wants to make the Validation Record visible more quickly they may need to work with the DNS Administrator to see if they are willing to lower the SOA minimum TTL (which has implications across the entire zone).</t>
        <t>Application Service Providers' verifiers MAY use dedicated DNS resolvers configured with a low maximum negative caching TTL, flush Validation Records from resolver caches prior to issuing queries or just directly query authoritative name servers to avoid caching.</t>
      </section>
    </section>
    <section anchor="delegated">
      <name>Delegated Domain Control Validation</name>
      <t>Delegated domain control validation lets a User delegate the domain control validation process for their domain to an Intermediary without granting the Intermediary the ability to make changes to their domain or zone configuration. It is a variation of TXT record validation (<xref target="txt-record"/>) that indirectly inserts a CNAME record prior to the TXT record.</t>
      <t>The Intermediary gives the User a CNAME record to add for the domain and Application Service Provider being validated that points to the Intermediary's domain, where the actual validation TXT record is placed. The canonical name in the CNAME record is constructed as a base16-encoded (or base32-encoded) Intermediary Unique Token (generated as in <xref target="unique-token"/>) prefixed onto a domain operated by the Intermediary. For example:</t>
      <artwork><![CDATA[
_example_service-challenge.example.com.  IN   CNAME  <intermediary-unique-token>.dcv.intermediary.example.
]]></artwork>
      <t>The Intermediary then adds the actual Validation Record in a domain they control:</t>
      <artwork><![CDATA[
<intermediary-unique-token>.dcv.intermediary.example.  IN   TXT "<provider-unique-token>"
]]></artwork>
      <t>Such a setup is especially useful when the Application Service Provider wants to periodically re-issue the challenge with a new provider Unique Token. CNAMEs allow automating the renewal process by letting the Intermediary place the Unique Token in their DNS zone instead of needing continuous write access to the User's DNS.</t>
      <t>Importantly, the CNAME record target also contains a Unique Token issued by the Intermediary to the User (preferably over a secure channel) which proves to the Intermediary that example.com is controlled by the User (see H2 in <xref target="threat-ul1"/>). The Intermediary MUST keep an association of Users and domain names to the associated Intermediary-Unique-Tokens. Without a linkage validated by the Intermediary during provisioning and renewal there is the risk that an attacker could leverage a "dangling CNAME" to perform a "subdomain takeover" attack (<xref target="SUBDOMAIN-TAKEOVER"/>).</t>
      <t>When a User stops using the Intermediary they SHOULD remove the domain control validation CNAME in addition to any other records they have associated with the Intermediary.</t>
    </section>
    <section anchor="multiple">
      <name>Supporting Multiple Accounts and Multiple Intermediaries</name>
      <t>There are use-cases where a User may wish to simultaneously use multiple Intermediaries or multiple independent accounts with an Application Service Provider. For example, a hostname may be using a "multi-CDN" where the hostname simultaneously uses multiple Content Delivery Network (CDN) providers.</t>
      <t>To support this, Application Service Providers may support prefixing the challenge with a label containing a unique account identifier of the form <tt>_&lt;identifier-unique-token&gt;</tt>. The identifier-unique-token is a base16-encoded (or base32-encoded) Unique Token (generated as in <xref target="unique-token"/>). If the identifier is sensitive in nature, it SHOULD be run through a truncated hashing algorithm first. The identifier token should be stable over time and would be provided to the User by the Application Service Provider, or by an Intermediary in the case where domain validation is delegated (<xref target="delegated"/>).</t>
      <t>The resulting record could either directly contain a TXT record or a CNAME (as in <xref target="delegated"/>). For example:</t>
      <artwork><![CDATA[
_<identifier-unique-token>._example_service-challenge.example.com.  IN   TXT  "3419...3d206c4"
]]></artwork>
      <t>or</t>
      <artwork><![CDATA[
_<identifier-unique-token>._example_service-challenge.example.com.  IN   CNAME  <intermediary-unique-token>.dcv.intermediary.example.
]]></artwork>
      <t>When performing validation, the Application Service Provider would resolve the DNS name containing the appropriate identifier unique token.</t>
      <t>The ACME protocol has incorporated this method to specify DNS account specific challenges in <xref target="ACME-DNS-ACCOUNT-LABEL"/>.</t>
      <t>Application Service Providers may wish to always prepend the <tt>_&lt;identifier-unique-token&gt;</tt> to make it harder for third parties to scan, even absent supporting multiple Intermediaries. The <tt>_&lt;identifier-unique-token&gt;</tt> MUST start with an underscore so as to not be a valid hostname (see H6 in <xref target="threat-ul2"/>).</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="token-collisions">
        <name>Token Collisions</name>
        <t>If token values aren't long enough, lack adequate entropy, or are not unique there's a risk that a malicious actor could obtain a token that collides with one already present in a domain through repeated attempts (H1 in <xref target="threat-ul1"/>).</t>
        <t>Application Service Providers MUST evaluate the threat model for their particular application to determine a token construction mechanism that guarantees uniqueness and meets their security requirements (UL1 in <xref target="threat-model"/>).</t>
        <t>When Random Tokens are used, they MUST be constructed in a way that provides sufficient unpredictability to avoid collisions and brute force attacks.</t>
      </section>
      <section anchor="token-confusion">
        <name>Token Confusion</name>
        <t>If token values in challenge labels (<xref target="multiple"/>) aren't long enough or lack adequate entropy there's a risk that a malicious actor could produce a token that could be confused with an application-specific underscore prefix label (H6 in <xref target="threat-ul2"/>).</t>
      </section>
      <section anchor="service-confusion">
        <name>Service Confusion</name>
        <t>A malicious Application Service Provider that promises to deliver something after domain control validation could surreptitiously ask another Application Service Provider to start processing or sending mail for the target domain and then present the victim User with this DNS TXT record pretending to be for their service. Once the User has added the DNS TXT record, instead of getting their service, their domain is now certifying another service of which they are not aware they are now a consumer. If services use a clear description and name attribution in the required DNS TXT record, this can be avoided. For example, by requiring a DNS TXT record at _vendorname.example.com instead of at example.com, a malicious service could no longer forward a challenge from a different service without the User noticing. Both the Application Service Provider and the service being authenticated and authorized should be unambiguous from the Validation Record to prevent malicious services from misleading the domain owner into certifying a different provider or service. (H2, H4, H5, and H6 in <xref target="threat-model"/>)</t>
      </section>
      <section anchor="service-collision">
        <name>Service Collision</name>
        <t>As a corollary to <xref target="service-confusion"/>, if the Validation Record is not well-scoped and unambiguous with respect to the Application Service Provider, it could be used to authorize use of another Application Service Provider or service in addition to the original Application Service Provider or service.
(H2, H4, H5, and H6 in <xref target="threat-model"/>)</t>
      </section>
      <section anchor="scope-confusion">
        <name>Scope Confusion</name>
        <t>Ambiguity of scope introduces risks, as described in <xref target="scope"/>. Distinguishing the scope in the application-specific label, along with good documentation, should help make it clear to DNS Administrators whether the record applies to a single hostname, a wildcard, or an entire domain. Always using this indication rather than having a default scope reduces ambiguity, especially for protocols that may have used a shared application-specific label for different scopes in the past. While it would also have been possible to include the scope as an attribute in the TXT record, that has more potential for ambiguity and misleading an operator, such as if an implementation ignores an attribute it doesn't recognize but an attacker includes the attribute to mislead the DNS Administrator. (H5 in <xref target="threat-model"/>)</t>
      </section>
      <section anchor="authenticated-channels">
        <name>Authenticated Channels</name>
        <t>Application Service Providers and Intermediaries SHOULD use authenticated channels to convey instructions and Unique Tokens to Users. Otherwise, an attacker in the middle could alter the instructions, potentially allowing the attacker to provision the service instead of the User. (H3 in <xref target="threat-ul1"/>)</t>
      </section>
      <section anchor="dnssec-validation">
        <name>DNS Spoofing and DNSSEC Validation</name>
        <t>A domain owner SHOULD sign their DNS zone using DNSSEC <xref target="RFC9364"/> to protect Validation Records against DNS spoofing attacks, including from on-path attackers.</t>
        <t>Application Service Providers MUST use a trusted DNSSEC validating resolver to verify Validation Records they have requested to be deployed. When the AD bit (<xref target="RFC4035"/> Section 3.2.3) is not set in DNS responses for Validation Records, Application Service Providers SHOULD take additional steps to reduce an attacker's ability to complete a challenge by spoofing DNS:</t>
        <ul spacing="normal">
          <li>
            <t>Application Service Providers SHOULD attempt to query and confirm the Validation Record by matching responses from multiple DNS resolvers on unpredictable geographically diverse IP addresses</t>
          </li>
          <li>
            <t>Application Service Providers MAY perform multiple queries spread out over a longer time period to reduce the chance of receiving spoofed DNS answers.</t>
          </li>
        </ul>
        <t>DNS Spoofing attacks are easier in the case of persistent validation as the expected result is publicly known. For example, absent DNSSEC this could allow an on-path attacker to bypass a revocation by continuing to return a record that the DNS Operator had removed from the zone.</t>
        <t>The above are needed to address H3 in <xref target="threat-ul1"/>.</t>
      </section>
      <section anchor="application-usage-enumeration">
        <name>Application Usage Enumeration</name>
        <t>The presence of a Validation Record with a predictable domain name (either as a TXT record for the exact domain name where control is being validated or with a well-known label) can allow attackers to enumerate the utilized set of Application Service Providers. The use of <xref target="multiple"/> can make it harder to scan if the identifier-unique-token is long enough, but can also expose User account information depending on how the identifier-unique-token is encoded.</t>
      </section>
      <section anchor="public-suffixes">
        <name>Public Suffixes</name>
        <t>As discussed in <xref target="domain-boundaries"/>, there are risks in allowing control to be demonstrated over domains which are "public suffixes" (such as ".co.uk" or ".com"). The volunteer-managed Public Suffix List (<xref target="PSL"/>) is one mechanism that can be used. It includes two "divisions" (<xref target="PSL-DIVISIONS"/>) covering both registry-owned public suffixes (the "ICANN" division) and a "PRIVATE" division covering domains submitted by the domain owner.</t>
        <t>Operators of domains which are in the "PRIVATE" public suffix division often provide multi-tenant services such as dynamic DNS, web hosting, and CDN services. As such, they sometimes allow their sub-tenants to provision names as subdomains of their public suffix. There are use-cases that require operators of domains in the public suffix list to demonstrate control over their domain, such as to be added to the Public Suffix List, or to provision a wildcard certificate. At the same time, if an operator of such a domain allows its customers or tenants to create names starting with an underscore ("_") then it opens up substantial risk to the domain operator for attackers to provision services on their domain.</t>
        <t>Whether it is appropriate to allow domain verification on a public suffix will depend on the application. In the general case:</t>
        <ul spacing="normal">
          <li>
            <t>Application Service Providers SHOULD NOT allow verification of ownership for domains which are public suffixes in the "ICANN" division. For example, "_example_service-challenge.co.uk" would not be allowed.</t>
          </li>
          <li>
            <t>Application Service Providers MAY allow verification of ownership for domains which are public suffixes in the "PRIVATE" division, although it would be preferable to apply additional safety checks in this case.</t>
          </li>
        </ul>
      </section>
      <section anchor="unintentional-persistence">
        <name>Unintentional Persistence</name>
        <t>When persistent domain validation is used, a DNS Administrator failing to remove a no-longer desired Validation Record could enable a User to continue to have access to the domain within the Application Service Provider's service. (H4 in <xref target="threat-ul1"/>)</t>
        <t>When one-off domain validation is used, this is typically implemented through automation where a DNS Administrator grants the User access to make updates to the domain's zone configuration. If the DNS Administrator fails to revoke access to a User who should no longer have access, this would enable the User to continue to perform new validations.</t>
      </section>
      <section anchor="reintroduction-of-validation-records">
        <name>Reintroduction of Validation Records</name>
        <t>When a domain has a new owner, that new owner could add a Validation Record that was present in the previous version of the domain. In the case of persistent validation this could be used to claim that the original User still has access to the domain within the Application Service Provider's service. Applications implementing persistent domain validation need to include this risk within their threat model. (H1 and H4 in <xref target="threat-ul1"/>)</t>
      </section>
      <section anchor="amplification-attacks">
        <name>Amplification Attacks</name>
        <t>Segmenting the Domain Control Validation tokens into individual per-service Validation Record Owner Names has the advantage of making the individual DNS responses smaller and thus reducing the potential of said TXT RRs to be used in the DNS amplification attacks. It should be noted that expired and no longer usable tokens should be removed even from Validation Record Owner Name DNS tree nodes to keep the DNS response sizes at a minimal level.</t>
      </section>
      <section anchor="validations-not-coupled-to-users">
        <name>Validations not Coupled to Users</name>
        <t>If an Application Service Provider does not properly associate Domain Validation with Users, the new owner of a domain could potentially gain access to Application Service Provider resources associated with the previous owner of a domain. Application Service Providers need to take care that re-validation of a domain by a different User is not necessarily treated as "reactivation" in a way that grants access to potentially sensitive resources stored and associated with a domain. (H2 in <xref target="threat-ul1"/>)</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>As records are visible in the DNS they should be considered to be public information. While information in the Unique Token can be helpful to DNS Administrators, some constructions of Unique Tokens can leak information identifying a User either directly (e.g., containing the User's identity or account identifier) or indirectly (e.g., an unkeyed hash of a username).</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC1034">
          <front>
            <title>Domain names - concepts and facilities</title>
            <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
            <date month="November" year="1987"/>
            <abstract>
              <t>This RFC is the revised basic definition of The Domain Name System. It obsoletes RFC-882. This memo describes the domain style names and their used for host address look up and electronic mail forwarding. It discusses the clients and servers in the domain name system and the protocol used between them.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="13"/>
          <seriesInfo name="RFC" value="1034"/>
          <seriesInfo name="DOI" value="10.17487/RFC1034"/>
        </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="RFC9364">
          <front>
            <title>DNS Security Extensions (DNSSEC)</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="February" year="2023"/>
            <abstract>
              <t>This document describes the DNS Security Extensions (commonly called "DNSSEC") that are specified in RFCs 4033, 4034, and 4035, as well as a handful of others. One purpose is to introduce all of the RFCs in one place so that the reader can understand the many aspects of DNSSEC. This document does not update any of those RFCs. A second purpose is to state that using DNSSEC for origin authentication of DNS data is the best current practice. A third purpose is to provide a single reference for other documents that want to refer to DNSSEC.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="237"/>
          <seriesInfo name="RFC" value="9364"/>
          <seriesInfo name="DOI" value="10.17487/RFC9364"/>
        </reference>
        <reference anchor="RFC4035">
          <front>
            <title>Protocol Modifications for the DNS Security Extensions</title>
            <author fullname="R. Arends" initials="R." surname="Arends"/>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <author fullname="M. Larson" initials="M." surname="Larson"/>
            <author fullname="D. Massey" initials="D." surname="Massey"/>
            <author fullname="S. Rose" initials="S." surname="Rose"/>
            <date month="March" year="2005"/>
            <abstract>
              <t>This document is part of a family of documents that describe the DNS Security Extensions (DNSSEC). The DNS Security Extensions are a collection of new resource records and protocol modifications that add data origin authentication and data integrity to the DNS. This document describes the DNSSEC protocol modifications. This document defines the concept of a signed zone, along with the requirements for serving and resolving by using DNSSEC. These techniques allow a security-aware resolver to authenticate both DNS resource records and authoritative DNS error indications.</t>
              <t>This document obsoletes RFC 2535 and incorporates changes from all updates to RFC 2535. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4035"/>
          <seriesInfo name="DOI" value="10.17487/RFC4035"/>
        </reference>
        <reference anchor="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="RFC3339">
          <front>
            <title>Date and Time on the Internet: Timestamps</title>
            <author fullname="G. Klyne" initials="G." surname="Klyne"/>
            <author fullname="C. Newman" initials="C." surname="Newman"/>
            <date month="July" year="2002"/>
            <abstract>
              <t>This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3339"/>
          <seriesInfo name="DOI" value="10.17487/RFC3339"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC3833">
          <front>
            <title>Threat Analysis of the Domain Name System (DNS)</title>
            <author fullname="D. Atkins" initials="D." surname="Atkins"/>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <date month="August" year="2004"/>
            <abstract>
              <t>Although the DNS Security Extensions (DNSSEC) have been under development for most of the last decade, the IETF has never written down the specific set of threats against which DNSSEC is designed to protect. Among other drawbacks, this cart-before-the-horse situation has made it difficult to determine whether DNSSEC meets its design goals, since its design goals are not well specified. This note attempts to document some of the known threats to the DNS, and, in doing so, attempts to measure to what extent (if any) DNSSEC is a useful tool in defending against these threats. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3833"/>
          <seriesInfo name="DOI" value="10.17487/RFC3833"/>
        </reference>
        <reference anchor="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
        <reference anchor="RFC5234">
          <front>
            <title>Augmented BNF for Syntax Specifications: ABNF</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
            <author fullname="P. Overell" initials="P." surname="Overell"/>
            <date month="January" year="2008"/>
            <abstract>
              <t>Internet technical specifications often need to define a formal syntax. Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications. The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power. The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges. This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="68"/>
          <seriesInfo name="RFC" value="5234"/>
          <seriesInfo name="DOI" value="10.17487/RFC5234"/>
        </reference>
        <reference anchor="RFC4086">
          <front>
            <title>Randomness Requirements for Security</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="J. Schiller" initials="J." surname="Schiller"/>
            <author fullname="S. Crocker" initials="S." surname="Crocker"/>
            <date month="June" year="2005"/>
            <abstract>
              <t>Security systems are built on strong cryptographic algorithms that foil pattern analysis attempts. However, the security of these systems is dependent on generating secret quantities for passwords, cryptographic keys, and similar quantities. The use of pseudo-random processes to generate secret quantities can result in pseudo-security. A sophisticated attacker may find it easier to reproduce the environment that produced the secret quantities and to search the resulting small set of possibilities than to locate the quantities in the whole of the potential number space.</t>
              <t>Choosing random quantities to foil a resourceful and motivated adversary is surprisingly difficult. This document points out many pitfalls in using poor entropy sources or traditional pseudo-random number generation techniques for generating such quantities. It recommends the use of truly random hardware techniques and shows that the existing hardware on many systems can be used for this purpose. It provides suggestions to ameliorate the problem when a hardware solution is not available, and it gives examples of how large such quantities need to be for some applications. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="106"/>
          <seriesInfo name="RFC" value="4086"/>
          <seriesInfo name="DOI" value="10.17487/RFC4086"/>
        </reference>
        <reference anchor="RFC4343">
          <front>
            <title>Domain Name System (DNS) Case Insensitivity Clarification</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>Domain Name System (DNS) names are "case insensitive". This document explains exactly what that means and provides a clear specification of the rules. This clarification updates RFCs 1034, 1035, and 2181. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4343"/>
          <seriesInfo name="DOI" value="10.17487/RFC4343"/>
        </reference>
        <reference anchor="RFC7132">
          <front>
            <title>Threat Model for BGP Path Security</title>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <author fullname="A. Chi" initials="A." surname="Chi"/>
            <date month="February" year="2014"/>
            <abstract>
              <t>This document describes a threat model for the context in which External Border Gateway Protocol (EBGP) path security mechanisms will be developed. The threat model includes an analysis of the Resource Public Key Infrastructure (RPKI) and focuses on the ability of an Autonomous System (AS) to verify the authenticity of the AS path info received in a BGP update. We use the term "PATHSEC" to refer to any BGP path security technology that makes use of the RPKI. PATHSEC will secure BGP, consistent with the inter-AS security focus of the RPKI.</t>
              <t>The document characterizes classes of potential adversaries that are considered to be threats and examines classes of attacks that might be launched against PATHSEC. It does not revisit attacks against unprotected BGP, as that topic has already been addressed in the BGP-4 standard. It concludes with a brief discussion of residual vulnerabilities.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7132"/>
          <seriesInfo name="DOI" value="10.17487/RFC7132"/>
        </reference>
        <reference anchor="RFC8555">
          <front>
            <title>Automatic Certificate Management Environment (ACME)</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews"/>
            <author fullname="D. McCarney" initials="D." surname="McCarney"/>
            <author fullname="J. Kasten" initials="J." surname="Kasten"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Public Key Infrastructure using X.509 (PKIX) certificates are used for a number of purposes, the most significant of which is the authentication of domain names. Thus, certification authorities (CAs) in the Web PKI are trusted to verify that an applicant for a certificate legitimately represents the domain name(s) in the certificate. As of this writing, this verification is done through a collection of ad hoc mechanisms. This document describes a protocol that a CA and an applicant can use to automate the process of verification and certificate issuance. The protocol also provides facilities for other certificate management functions, such as certificate revocation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8555"/>
          <seriesInfo name="DOI" value="10.17487/RFC8555"/>
        </reference>
        <reference anchor="RFC9210">
          <front>
            <title>DNS Transport over TCP - Operational Requirements</title>
            <author fullname="J. Kristoff" initials="J." surname="Kristoff"/>
            <author fullname="D. Wessels" initials="D." surname="Wessels"/>
            <date month="March" year="2022"/>
            <abstract>
              <t>This document updates RFCs 1123 and 1536. This document requires the operational practice of permitting DNS messages to be carried over TCP on the Internet as a Best Current Practice. This operational requirement is aligned with the implementation requirements in RFC 7766. The use of TCP includes both DNS over unencrypted TCP as well as over an encrypted TLS session. The document also considers the consequences of this form of DNS communication and the potential operational issues that can arise when this Best Current Practice is not upheld.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="235"/>
          <seriesInfo name="RFC" value="9210"/>
          <seriesInfo name="DOI" value="10.17487/RFC9210"/>
        </reference>
        <reference anchor="RFC6672">
          <front>
            <title>DNAME Redirection in the DNS</title>
            <author fullname="S. Rose" initials="S." surname="Rose"/>
            <author fullname="W. Wijngaards" initials="W." surname="Wijngaards"/>
            <date month="June" year="2012"/>
            <abstract>
              <t>The DNAME record provides redirection for a subtree of the domain name tree in the DNS. That is, all names that end with a particular suffix are redirected to another part of the DNS. This document obsoletes the original specification in RFC 2672 as well as updates the document on representing IPv6 addresses in DNS (RFC 3363). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6672"/>
          <seriesInfo name="DOI" value="10.17487/RFC6672"/>
        </reference>
        <reference anchor="RFC9499">
          <front>
            <title>DNS Terminology</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
            <date month="March" year="2024"/>
            <abstract>
              <t>The Domain Name System (DNS) is defined in literally dozens of different RFCs. The terminology used by implementers and developers of DNS protocols, and by operators of DNS systems, has changed in the decades since the DNS was first defined. This document gives current definitions for many of the terms used in the DNS in a single document.</t>
              <t>This document updates RFC 2308 by clarifying the definitions of "forwarder" and "QNAME". It obsoletes RFC 8499 by adding multiple terms and clarifications. Comprehensive lists of changed and new definitions can be found in Appendices A and B.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="219"/>
          <seriesInfo name="RFC" value="9499"/>
          <seriesInfo name="DOI" value="10.17487/RFC9499"/>
        </reference>
        <reference anchor="RFC9715">
          <front>
            <title>IP Fragmentation Avoidance in DNS over UDP</title>
            <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
            <author fullname="P. Vixie" initials="P." surname="Vixie"/>
            <date month="January" year="2025"/>
            <abstract>
              <t>The widely deployed Extension Mechanisms for DNS (EDNS(0)) feature in the DNS enables a DNS receiver to indicate its received UDP message size capacity, which supports the sending of large UDP responses by a DNS server. Large DNS/UDP messages are more likely to be fragmented, and IP fragmentation has exposed weaknesses in application protocols. It is possible to avoid IP fragmentation in DNS by limiting the response size where possible and signaling the need to upgrade from UDP to TCP transport where necessary. This document describes techniques to avoid IP fragmentation in DNS.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9715"/>
          <seriesInfo name="DOI" value="10.17487/RFC9715"/>
        </reference>
        <reference anchor="I-D.draft-tjw-dbound2-problem-statement">
          <front>
            <title>Domain Boundaries 2.0 Problem Statement</title>
            <author fullname="Tim Wicinski" initials="T." surname="Wicinski">
         </author>
            <date day="10" month="July" year="2023"/>
            <abstract>
              <t>   Internet clients attempt to make inferences about the administrative
   relationship based on domain names.  Currently it is not possible to
   confirm organizational boundaries in the DNS.  Current mitigation
   strategies have there own issues.  This memo attempts to outline
   these issues.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-tjw-dbound2-problem-statement-01"/>
        </reference>
        <reference anchor="PSL" target="https://publicsuffix.org/">
          <front>
            <title>Public Suffix List</title>
            <author initials="" surname="Mozilla Foundation">
              <organization/>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="PSL-DIVISIONS" target="https://github.com/publicsuffix/list/wiki/Format#divisions">
          <front>
            <title>Public Suffix List format</title>
            <author initials="J." surname="Frakes">
              <organization/>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="SUBDOMAIN-TAKEOVER" target="https://developer.mozilla.org/en-US/docs/Web/Security/Subdomain_takeovers">
          <front>
            <title>Subdomain takeovers</title>
            <author initials="" surname="Mozilla">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="UNDERSCORE-REGISTRY" target="https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#underscored-globally-scoped-dns-node-names">
          <front>
            <title>Underscored and Globally Scoped DNS Node Name</title>
            <author initials="" surname="IANA">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="ACME-DNS-ACCOUNT-LABEL" target="https://datatracker.ietf.org/doc/draft-ietf-acme-dns-account-label/">
          <front>
            <title>Automated Certificate Management Environment (ACME) DNS Labeled With ACME Account ID Challenge</title>
            <author initials="A." surname="Chariton">
              <organization/>
            </author>
            <author initials="A." surname="Omidi">
              <organization/>
            </author>
            <author initials="J." surname="Kasten">
              <organization/>
            </author>
            <author initials="F." surname="Loukos">
              <organization/>
            </author>
            <author initials="S. A." surname="Janikowski">
              <organization/>
            </author>
            <date year="2025"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 431?>

<section anchor="appendix">
      <name>Appendix</name>
      <section anchor="pitfalls">
        <name>Common Pitfalls</name>
        <t>A very common but unfortunate technique in use today is to employ a DNS TXT record and place it at the exact domain name whose control is being validated (e.g., often the zone apex). This has a number of known operational issues. If the User has multiple application services employing this technique, it will end up with multiple DNS TXT records having the same owner name; one record for each of the services.</t>
        <t>Since DNS resource record sets are treated atomically, a query for the Validation Record will return all TXT records in the response. There is no way for the verifier to specifically query only the TXT record that is pertinent to their application service. The verifier must obtain the aggregate response and search through it to find the specific record it is interested in.</t>
        <t>Additionally, placing many such TXT records at the same name increases the size of the DNS response. If the size of the UDP response (UDP being the most common DNS transport today) is large enough that it does not fit into the Path MTU of the network path, this may result in IP fragmentation, which can be unreliable due to firewalls and middleboxes, and is vulnerable to various attacks (<xref target="RFC9715"/>). Depending on message size limits configured or being negotiated, it may alternatively cause the DNS server to "truncate" the UDP response and force the DNS client to re-try the query over TCP in order to get the full response. Not all networks properly transport DNS over TCP and some DNS software mistakenly believes TCP support is optional (<xref target="RFC9210"/>). Huge TXT RRsets (due to many TXT records at the same name) can also be leveraged by attackers for traffic amplification attacks.</t>
        <t>Other possible issues may occur. If a TXT record (or any other record type) is designed to be placed at the same domain name that is being validated, it may not be possible to do so if that name already has a CNAME record. This is because CNAME records cannot co-exist with other (non-DNSSEC) records at the same name. This situation cannot occur at the apex of a DNS zone, but can at a name deeper within the zone.</t>
        <t>When multiple distinct services specify placing Validation Records at the same owner name, there is no way to delegate an application specific domain Validation Record to a third party. Furthermore, even without delegation, an organization may have a shared DNS zone where they need to provide record level permissions to the specific division within the organization that is responsible for the application in question. This can't be done if all applications expect to find Validation Records at the same name.</t>
      </section>
      <section anchor="domain-boundaries">
        <name>Domain Boundaries</name>
        <t>The hierarchical structure of domain names does not necessarily define boundaries of ownership and administrative control (e.g., as discussed in <xref target="I-D.draft-tjw-dbound2-problem-statement"/>). Some domain names are "public suffixes" (<xref target="RFC9499"/>) where care may need to be taken when validating control. For example, there are security risks if an Application Service Provider can be tricked into believing that an attacker has control over ".co.uk" or ".com". The volunteer-managed Public Suffix List <xref target="PSL"/> is one mechanism available today that can be useful for identifying public suffixes.</t>
        <t>Future specifications may provide better mechanisms or recommendations for defining domain boundaries or for enabling organizational administrators to place constraints on domains and subdomains.</t>
      </section>
      <section anchor="interactions-with-dname">
        <name>Interactions with DNAME</name>
        <t>Domain control validation in the presence of a DNAME <xref target="RFC6672"/> is possible with caveats. Since a DNAME record redirects the entire subtree of names underneath the owner of the DNAME, it is not possible to place a Validation Record under the DNAME owner itself. It would have to be placed under the DNAME target name, since any lookups for a name under the DNAME owner will be redirected to the corresponding name under the DNAME target.</t>
      </section>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thank you to John Levine, Daniel Kahn Gillmor, Amir Omidi, Tuomo Soini, Ben Kaduk, Paul Hoffman, Ángel González, Ondřej Surý, and many others for their feedback and suggestions on this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
MvA8jA/+P5CM2vHqpQAA

-->

</rfc>
