<?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.26 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-birgelee-lamps-caa-security-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.0 -->
  <front>
    <title abbrev="CAA Security Tag">CAA Security Tag for Cryptographically-Constrained Domain Validation</title>
    <seriesInfo name="Internet-Draft" value="draft-birgelee-lamps-caa-security-02"/>
    <author fullname="Henry Birge-Lee">
      <organization>Princeton University</organization>
      <address>
        <email>birgelee@princeton.edu</email>
      </address>
    </author>
    <author fullname="Grace Cimaszewski">
      <organization>Princeton University</organization>
      <address>
        <email>gcimaszewski@princeton.edu</email>
      </address>
    </author>
    <author fullname="Cyrill E. Krähenbühl">
      <organization>Princeton University</organization>
      <address>
        <email>cyrill.k@princeton.edu</email>
      </address>
    </author>
    <author fullname="Liang Wang">
      <organization>Princeton University</organization>
      <address>
        <email>lw19@princeton.edu</email>
      </address>
    </author>
    <author fullname="Aaron Gable">
      <organization>ISRG</organization>
      <address>
        <email>aaron@letsencrypt.org</email>
      </address>
    </author>
    <author fullname="Prateek Mittal">
      <organization>Princeton University</organization>
      <address>
        <email>pmittal@princeton.edu</email>
      </address>
    </author>
    <date year="2025" month="March" day="21"/>
    <area>Security</area>
    <workgroup>Limited Additional Mechanisms for PKIX and SMIME</workgroup>
    <keyword>PKI</keyword>
    <keyword>CAA</keyword>
    <abstract>
      <?line 68?>

<t>Cryptographic domain validation procedures leverage authenticated communication channels to ensure resilience against attacks by both on-path and off-path network adversaries which may be located between the Certification Authority (CA) and the network resources related to the domain contained in the certificate.
Domain owners can leverage "security" Property Tags specified in CAA records (defined in <xref target="RFC8659"/>) with the critical flag set, to ensure that CAs perform cryptographically-constrained domain validation during their issuance procedure, hence defending against global man-in-the-middle adversaries.
This document defines the syntax of the CAA security Property as well as acceptable means for cryptographically-constrained domain validation procedures.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://birgelee.github.io/draft-caa-security-tag/draft-birgelee-lamps-caa-security.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-birgelee-lamps-caa-security/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Limited Additional Mechanisms for PKIX and SMIME Working Group mailing list (<eref target="mailto:spasm@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/spasm/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/spasm/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/birgelee/draft-caa-security-tag"/>.</t>
    </note>
  </front>
  <middle>
    <?line 75?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>A CAA security Property Tag is compliant with <xref target="RFC8659"/> and puts restrictions on the circumstances under which a CA is allowed to sign a certificate for a given domain.
A security Property Tag on a domain implies that validation for this domain must be done in a manner that defends against network adversaries even if an adversary is capable of intercepting and/or modifying communication between the CA and the network resources related to the domain being validated.
Issuance of a certificate to a domain with a security Property Tag <bcp14>MUST</bcp14> follow one of the specified Cryptographically-constrained Domain Validation (CDV) methods outlined in this document or future extensions.
CDV methods <bcp14>MUST</bcp14> rely on protocols (like DNSSEC or DoH/DoT) that offer security properties even in the presence of man-in-the-middle adversaries that can intercept any communication occurring over the public Internet.</t>
      <t>Not all CDV methods are themselves compliant with the CA/Browser Forum's Baseline Requirements for the Issuance and Management of Publicly-Trusted TLS Server Certificates.
Hence, any CDV method that does not meet the CA/Browser Forum Baseline Requirements for TLS server certificate issuance must be used in conjunction with such a compliant domain validation method.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<section anchor="cryptographic-domain-validation">
        <name>Cryptographic Domain Validation</name>
        <t>The goal of cryptographically-constrained domain validation is to ensure that domain validation is based on communication channels that are authenticated through cryptographic operations.</t>
        <section anchor="threat-model">
          <name>Threat Model</name>
          <t>Cryptographic domain validation defends against a network adversary that can block, intercept, modify, and forge arbitrary network packets sent between a CA and the domain's network resources, but cannot forge cryptographic objects, such as signatures and encrypted data.
Cryptographic domain validation is based on DNS and thus assumes that a domain owner can securely mange their DNS records, i.e., communication between the domain owner and their DNS infrastructure is protected against network adversaries.
Similarly, communication between the entity generating the private key and requesting the certificate, e.g., the domain owner, and the webserver(s) where the private key and certificate are installed, is assumed to be protected against network adversaries.
Furthermore, it assumes that all CAs are benign and correctly follow all necessary validation procedures as described in the relevant standardization documents.</t>
          <t>Cryptographic domain validation can be used on domains that are contained in both domain validation certificates (where only the domain name in a certificate is validated) and extended or organization validated certificates (where information like organization identity as well as domain name is validated).
Cryptographic domain validation only hardens the security of the validation of domain names, not broader identities (e.g., organization names).
The use of cryptographically-constrained domain validation in an OV or EV certificate only improves the validation of the domain name(s) contained in the certificate (in the common name or subject-alternate names fields) and does not impact the validation of other forms of identity contained in the certificate.
Use of cryptographically-constrained domain validation in a DV certificate does not imply validation of any identity beyond the domain name(s) in the certificate.</t>
          <t>The defense involves the domain owner specifying a policy indicating their desire for cryptographically-constrained domain validation via DNS CAA records and securely communicating these records to all CAs.
Hence, a core aspect of cryptographically-constrained domain validation is 1) ensuring secure policy lookups, and 2) preventing downgrade attacks that convince a CA to issue a certificate using non-cryptographically-constrained domain validation.</t>
        </section>
        <section anchor="secure-policy-lookup">
          <name>Secure Policy Lookup</name>
          <t>The authenticity of the retrieved security CAA record <bcp14>SHOULD</bcp14> be protected to prevent an active network adversary from modifying its content.
Authenticity can either be ensured by signing the security CAA record or by retrieving the security CAA record via an authenticated channel.
Any security CAA record not protected by such a signature or authenticated channel may not benefit from the security properties outlined in this document.</t>
          <section anchor="signed-record">
            <name>Signed Record</name>
            <t>A security CAA record <bcp14>SHOULD</bcp14> be protected with a valid DNSSEC signature chain going back to the ICANN DNSSEC root, to prove the authenticity of the record and its content.</t>
          </section>
          <section anchor="authenticated-channel">
            <name>Authenticated Channel</name>
            <t>If it is not possible to have a DNSSEC signature chain back to the ICANN root, security CAA records <bcp14>SHOULD</bcp14> alternately be hosted on an authoritative DNS resolver that supports recursive-to-authoritative authenticated channels.
Authenticated channels between recursive and authoritative nameservers could be deployed as described in <xref target="RFC9539"/> and leverage DoT, DoQ, or DoH as protocols providing an authenticated channel.
Since secure policy lookup considers a more stringent threat model than the passive network adversary in <xref target="RFC9539"/>, the deployment <bcp14>MUST</bcp14> also implement defenses against active adversaries highlighted in <xref section="B" sectionFormat="of" target="RFC9539"/>.
One option to implement these defenses is by creating DNSSEC-protected SVCB DNS records at the authoritative nameserver.
These SVCB records provide a signaling mechanism for authoritative nameservers offering authenticated channel.
Furthermore, the authenticity of the TLS certificate public key used to establish the channel <bcp14>MUST</bcp14> be protected, e.g., by specifying the public key hash as an SVCB parameter.
This step is crucial to achieve our desired security properties, since it eliminates the circular dependency of requiring an authentic TLS certificate to secure the issuance of new TLS certificate.</t>
          </section>
        </section>
        <section anchor="downgrade-prevention">
          <name>Downgrade Prevention</name>
          <t>To ensure that the CAA security Property is immediately and incrementally deployable without requiring all publicly-trusted CAs to understand the property, the CAA record containing the property <bcp14>MUST</bcp14> set the critical flag.</t>
          <t>Serving security CAA records over authenticated DNS channels or using authenticated DNS records (i.e., DNSSEC) is critical to the effectiveness of the records because a security CAA record not protected by authenticated DNS may be suppressed by an adversary that can manipulate DNS responses.
This could potentially allow the adversary to downgrade validation to use a low-security method and undermine the security properties of the security Property Tag.</t>
          <t>If DNSSEC is used to authenticate the CAA record, a CA <bcp14>MUST</bcp14> only accept the non-existence of a security CAA record if its non-existence is proven by NSEC record as described in <xref target="RFC7129"/>.</t>
          <t>If authenticated channels are used to authenticate the CAA record, CAs <bcp14>MUST</bcp14> also require recursive-to-authoritative DoT or DoH communication (and not permit standard unencrypted DNS connections) for DNS providers that host security CAA records.
This prevents downgrade attacks where an adversary attempts to interfere with the establishment of a DoT or DoH encrypted channel and cause a fallback to unencrypted DNS over UDP or TCP.</t>
        </section>
      </section>
    </section>
    <section anchor="caa-security-property">
      <name>CAA security Property</name>
      <t>The CAA security Property Tag <bcp14>MUST</bcp14> be "security" and the flags field of a CAA record containing the security Property <bcp14>MUST</bcp14> have the critical bit set.
In this document, we refer to a CAA record with these characteristics as a <strong>security CAA record</strong>.</t>
      <section anchor="syntax">
        <name>Syntax</name>
        <t>The CAA security Property Value has the following sub-syntax (specified in ABNF as per <xref target="RFC5234"/>).</t>
        <artwork><![CDATA[
security-value = *WSP [attribute-list] *WSP

attribute-list = (attribute *WSP ";" *WSP attribute-list) / attribute
attribute = attribute-name *WSP "=" *WSP attribute-value

attribute-name = (ALPHA / DIGIT) *( *("-") (ALPHA / DIGIT))
attribute-value = *(value-char / WSP) value-char *(value-char / WSP)
value-char = %x21-3A / %x3C-7E
]]></artwork>
        <t>Hence, the security Property Value can either be empty or entirely whitespace, or contain a list of semicolon-separated attribute name-value pairs.</t>
        <t>Similar to <xref target="RFC8659"/>, attribute names are specified in letter-digit-hyphen Label (LDH-Label) form while attribute values can contain whitespace and any printable character except semicolon.
Note that attribute values <bcp14>MUST</bcp14> contain at least one printable (non-whitespace) character.</t>
        <t>All attributes specified in an attribute-list <bcp14>MUST</bcp14> be unique.
An attribute-list <bcp14>MUST NOT</bcp14> have two attributes with the same name specified even if they contain different attribute values.</t>
      </section>
      <section anchor="well-known-attributes">
        <name>Well-known Attributes</name>
        <t>The attribute-list <bcp14>MAY</bcp14> contain the following attributes.</t>
        <t>The attribute values of the attributes specified in this document have the following sub-syntax (specified in ABNF as per <xref target="RFC5234"/>).</t>
        <artwork><![CDATA[
well-known-attribute-value = *WSP comma-sep-list *WSP

comma-sep-list = (list-item *WSP "," *WSP comma-sep-list) / list-item
list-item = 1*item-char
item-char = %x21-2B / %x2D-3A / %x3C-7E
]]></artwork>
        <ol spacing="normal" type="1"><li>
            <t><strong>methods:</strong> If specified, this attribute <bcp14>MUST</bcp14> have a non-empty comma-separated list of cryptographically-constrained domain validation methods that can be used to validate that particular domain.
A CA <bcp14>MUST</bcp14> use one of the methods specified in the methods attribute value to perform cryptographically-constrained domain validation.
If there is no method specified that the CA is capable of complying with, the CA <bcp14>MUST</bcp14> deny issuance.</t>
          </li>
          <li>
            <t><strong>options:</strong> If specified, this attribute <bcp14>MUST</bcp14> have a non-empty comma-separated list of options.
A CA <bcp14>SHOULD</bcp14> try to honor any option specified in this list.
If a CA does not understand an option or does not have that option implemented the, CA <bcp14>MAY</bcp14> proceed with issuance.</t>
          </li>
          <li>
            <t><strong>options-critical:</strong> If specified, this attribute <bcp14>MUST</bcp14> have a non-empty comma-separated list of options.
To proceed with issuance, a CA <bcp14>MUST</bcp14> understand and implement all options specified in the options-critical attribute value.</t>
          </li>
        </ol>
        <t>The attribute-list <bcp14>MAY</bcp14> contain additional attributes and a CA <bcp14>MAY</bcp14> proceed with issuance even if it does not understand these additional attributes.
Subsequent RFCs <bcp14>MAY</bcp14> standardize additional attributes.</t>
        <section anchor="permissible-methods">
          <name>Permissible Methods</name>
          <t>The following attributes <bcp14>MAY</bcp14> be specified in the methods attribute value.
Each method specifies particular aspects of certificate issuance that <bcp14>MUST</bcp14> be satisfied for a certificate to be issued using that method.
While some methods entail the use of CA/Browser Forum-compliant domain control validation methods, others do not entail CA/Browser Forum-compliant domain control validation and must be used in conjunction with a CA/Browser Forum-compliant domain control validation method to permit certificate issuance.</t>
          <ol spacing="normal" type="1"><li>
              <t><strong>secure-dns-record-change:</strong> This method involves an applicant showing control of a DNSSEC-protected DNS record or a record that was retrieved via a DoH or DoT tunnel to the relevant authoritative nameservers used in the DNS resolution.
This can be done via 1) the validation method "DNS Change" specified in the CA/Browser Forum's Baseline Requirements for the Issuance and Management of Publicly-Trusted TLS Server Certificates (Section 3.2.2.4.7) or 2) the "dns-01" method of the ACME RFC <xref target="RFC8555"/>.
For this method to be satisfied, the FQDN where the DNS change is demonstrated <bcp14>MUST</bcp14> be protected by DNSSEC or lookups to the relevant authoritative nameservers <bcp14>MUST</bcp14> be conducted over authenticated channels (e.g., DoH/DoT).</t>
            </li>
            <li>
              <t><strong>http-validation-over-tls:</strong> This method involves the completion of an HTTP domain validation challenge over an HTTPS session using TCP port 443 where the server authenticates with an existing publicly-trusted valid certificate covering the domain in question.
The certificate cannot be self-signed or expired.
This method <bcp14>MAY</bcp14> be directly satisfied while a CA is performing the "Agreed-Upon Change to Website v2" domain control validation method specified in the the CA/Browser Forum's Baseline Requirements for the Issuance and Management of Publicly-Trusted TLS Server Certificates (Section 3.2.2.4.18). The ACME "http-01" challenge specified in <xref target="RFC8555"/> does not permit the use of HTTPS or port 443 when a CA is contacting the domain in question.
A CA <bcp14>MAY</bcp14> still satisfy the <strong>http-validation-over-tls</strong> method even if it does not initiate connections to port 443 for HTTP challenges so long as either 1) the connection initiated to port 80 serves a redirect to the same domain name over HTTPS at port 443 and the connection to the domain at port 443 servers a valid, trusted certificate or 2) in addition to contacting the domain over port 80 the CA also contacts the domain over port 443 using HTTPS and the connection is established with a valid, trusted certificate and the same challenge value is observed.
Operators of security-critical domains <bcp14>MAY</bcp14> choose not to permit this method since, unlike other cryptographically-constrained domain validation methods specified in this document, its security relies on the non-existence of malicious certificates for a domain at time of the creation of the security Property Tag in the domain's policy.</t>
            </li>
            <li>
              <t><strong>known-account-specifier:</strong> For a CA to issue a certificate using this method 1) there <bcp14>MUST</bcp14> exist a unique identifier for a CA subscriber account that is communicated with the CA out-of-band, over authenticated DNS lookups, or in another manner that is immune to man-in-the-middle adversaries, and 2) the CA may only issue a certificate to an applicant that has authenticated itself to the CA as having access to that specified subscriber account.
A CA does not have permission to issue under this method unless both of these criteria are met.
Once these criteria have been met, the CA <bcp14>MUST</bcp14> additionally perform a validation method that is compliant with the Baseline Requirements for the Issuance and Management of Publicly-Trusted TLS Server Certificates.
One acceptable way of including this account identifier is with the CAA ACME account URI extension, defined in <xref target="RFC8657"/>, in an authenticated DNS record.</t>
            </li>
            <li>
              <t><strong>private-key-control:</strong> This method involves an applicant showing control of a private key that corresponds to a public key placed in a DNS record associated with the domain being validated.
The private key must be used to sign a message containing: a unique identifier for the CA, the domain name(s) in the certificate, a timestamp, and a hash of the public key in the certificate.
This message may be hashed and then have the signature generated over the hash of this message.
Obtaining such a signed message from a certificate applicant authorizes the CA specified in the message to sign a certificate for those domain names with the specified public key within 24h of the timestamp provided in the message.
The CA <bcp14>MUST</bcp14> retrieve the public key or a hash of the public key corresponding to the private key used for signing the message via an authenticated DNS lookup using either authenticated channels to the relevant authoritative nameservers (e.g., DoH or DoT) or validation of a DNSSEC signature chain back to the ICANN root.
After private key control is established, the CA <bcp14>MUST</bcp14> additionally perform a validation method that is compliant with the Baseline Requirements for the Issuance and Management of Publicly-Trusted TLS Server Certificates.</t>
            </li>
          </ol>
          <t>In the event that <strong>no methods attribute is specified in the attribute-list,</strong> all methods specified in this document are acceptable as well as cryptographically-constrained domain validation methods defined in future RFCs.
Future RFCs <bcp14>MAY</bcp14> specify additional methods for cryptographically-constrained domain validation so long as they satisfy the properties of cryptographically-constrained domain validation (i.e., robustness against global man-in-the-middle adversaries).</t>
        </section>
        <section anchor="permissible-options">
          <name>Permissible Options</name>
          <t>The following options <bcp14>MAY</bcp14> be used in the options or options-critical attribute values.</t>
          <ol spacing="normal" type="1"><li>
              <t><strong>authenticated-policy-retrieval:</strong> This option signifies to a CA that it <bcp14>MUST</bcp14> retrieve a domain's CAA security Property and any associated domain-owner identity (e.g., identifiers used for known-account-specifier and private-key-control) using authenticated DNS lookups or other authenticated channels.
If a CA finds this option in the options-critical attribute and the CAA security Property was not retrieved using authenticated DNS lookups, the CA <bcp14>MUST NOT</bcp14> issue a certificate for that domain.</t>
            </li>
          </ol>
          <t>Additionally, a CA <bcp14>MAY</bcp14> choose to honor its own non-standardized options that do not need to be supported by other CAs or the IETF.
These options <bcp14>MUST</bcp14> be prefixed with "ca-&lt;ca_name&gt;-" where ca_name is the name of the CA that initially developed the option.</t>
        </section>
      </section>
      <section anchor="co-existence-with-other-caa-properties">
        <name>Co-existence with other CAA Properties</name>
        <t>The behavior of a CA when encountering a CAA RRset that contains multiple CAA Properties, including a security Property, depends on the CAA Property Tags.</t>
        <section anchor="caa-security-property-1">
          <name>CAA security Property</name>
          <t>To minimize complexity and avoid the risk of unexpected behavior, a domain's entire cryptographically-constrained domain validation policy <bcp14>SHOULD</bcp14> be encoded into a single CAA security Property.
If a CAA RRset contains multiple security Properties, a CA <bcp14>MUST</bcp14> block issuance if the certificate request does not comply with all of the security Tags.
This ensures that if a new security Property Tag is specified, its security properties cannot be subverted by a stale security Property Tag.</t>
        </section>
        <section anchor="caa-issue-and-issuewild-property">
          <name>CAA issue and issuewild Property</name>
          <t>If a domain specifies both security Properties and a set of issue and issuewild Properties, the CA <bcp14>MUST</bcp14> adhere to all security Properties, as described above, and the CA <bcp14>MUST</bcp14> adhere to the set of issue and issuewild Properties as described in <xref target="RFC8659"/>.</t>
        </section>
        <section anchor="caa-iodef-property">
          <name>CAA iodef Property</name>
          <t>The usage of the iodef Property is analogous to <xref target="RFC8659"/>, i.e., it provides a CA the means of reporting certificate issue requests or cases of certificate issue for domains for which the Property appears in the Relevant RRset, when those requests or issuances violate the security policy of the Issuer or the FQDN holder.
The iodef Property can be used to inform a domain owner about a blocked issuance due to an overly restrictive security Property.</t>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Many of the security considerations regarding security CAA records are inherited from those of CAA records more generally.
Because security CAA records do not introduce any new methods for validating domain ownership, they do not increase the attack surface of fraudulent validations.
Security CAA records reduce the attack surface of fraudulent validations by limiting which validation methods may be used and thus eliminating the risk posed by less-secure validation methods.
Particularly, domains without a security CAA record are often highly vulnerable to man-in-the-middle adversaries that can intercept communications from a CA to the victim's domain.
The security Property significantly reduces this attack surface.</t>
      <t>As with any restriction on certificate issuance, this introduces the potential for a Denial of Service (DoS) attack.
There are two potential approaches to launching a DoS attack via security CAA records.
The first is to attack a domain and spoof the existence of a security CAA record in order to prevent the domain owner from renewing his or her certificate (presuming the domain under attack was not using a validation method compliant with the security CAA record).
This attack vector is not novel to security CAA records and is enabled solely by following the procedure specified in <xref target="RFC8659"/>.
Per <xref target="RFC8659"/>, the presence of any not-understood CAA record with the critical flag prevents issuance.
Thus, the adoption of security CAA records does not increase the attack surface for this form of DoS attack as a gibberish CAA record with the critical flag set could lead to the same type of attack.</t>
      <t>A second approach to a DoS attack enabled by security CAA records is to target a domain already using a security CAA record and interfere with all of the permitted validation methods with the idea that the presence of the security CAA will prevent the domain from falling back on alternative validation methods.
This attack vector is mitigated by the diversity of different methods available to domain owners for validating domain ownership using security CAA records.
A domain owner may use an alternate method to satisfy the security CAA record.
In the event that a domain owner truly cannot satisfy any cryptographically-constrained domain validation method, the domain owner can still mitigate this attack by removing the security CAA record, obtaining a certificate, and then reinstating the security CAA record once the attack is over.
As with all CAA records, CAs should not cache stale CAA record lookups that block issuance and should instead recheck the CAA record set when a new issuance request is received.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <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="RFC7129">
        <front>
          <title>Authenticated Denial of Existence in the DNS</title>
          <author fullname="R. Gieben" initials="R." surname="Gieben"/>
          <author fullname="W. Mekking" initials="W." surname="Mekking"/>
          <date month="February" year="2014"/>
          <abstract>
            <t>Authenticated denial of existence allows a resolver to validate that a certain domain name does not exist. It is also used to signal that a domain name exists but does not have the specific resource record (RR) type you were asking for. When returning a negative DNS Security Extensions (DNSSEC) response, a name server usually includes up to two NSEC records. With NSEC version 3 (NSEC3), this amount is three.</t>
            <t>This document provides additional background commentary and some context for the NSEC and NSEC3 mechanisms used by DNSSEC to provide authenticated denial-of-existence responses.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7129"/>
        <seriesInfo name="DOI" value="10.17487/RFC7129"/>
      </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="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="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="RFC9539">
        <front>
          <title>Unilateral Opportunistic Deployment of Encrypted Recursive-to-Authoritative DNS</title>
          <author fullname="D. K. Gillmor" initials="D. K." role="editor" surname="Gillmor"/>
          <author fullname="J. Salazar" initials="J." role="editor" surname="Salazar"/>
          <author fullname="P. Hoffman" initials="P." role="editor" surname="Hoffman"/>
          <date month="February" year="2024"/>
          <abstract>
            <t>This document sets out steps that DNS servers (recursive resolvers and authoritative servers) can take unilaterally (without any coordination with other peers) to defend DNS query privacy against a passive network monitor. The protections provided by the guidance in this document can be defeated by an active attacker, but they should be simpler and less risky to deploy than more powerful defenses.</t>
            <t>The goal of this document is to simplify and speed up deployment of opportunistic encrypted transport in the recursive-to-authoritative hop of the DNS ecosystem. Wider easy deployment of the underlying encrypted transport on an opportunistic basis may facilitate the future specification of stronger cryptographic protections against more-powerful attacks.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9539"/>
        <seriesInfo name="DOI" value="10.17487/RFC9539"/>
      </reference>
      <reference anchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
    </references>
    <?line 299?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
