<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-caa-security-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <front>
    <title abbrev="CAA Security Tag">CAA Security Tag for Cryptographically-Constrained Domain Validation</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-caa-security-00"/>
    <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="May" day="02"/>
    <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/-ietf-lamps-caa-security.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-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:
H4sIAAAAAAAAA9U823LbRpbv+IpepqZWchF05Msm8U4yQ0t2rBrLViw52anx
1FQTaJIYg2gMGpDMpJJv2Yf9jH3a+bE9l74BBCVb2WvtbCyS6NOnz/3WSNM0
aYu2VE/E5Hg+Fxcq65qi3YpLuRJL3YjjZlu3etXIel1ksiy36bGuTNvIolK5
ONEb+EN8L8sil22hq0kiF4tGXY2AmySZbNVKN9snwrR5kuQ6q+QGds4buWzT
QrXLtJSb2qSZlKmxS9PPP09Mt9gUxgD8dlvDgtNnl8+F+EzI0mjYqahyVSv4
T9VOpmKi8qLVTSFL/HA6fwr/wEEmp28un0+SqtssVPMkAXTVkySDs6jKdOaJ
aJtOJYD3w0Q2SgJUh/skudbN+1Wjuxq+fVlsihZOPs9hF0BIluJMZWtZFWZj
iGLnfzj9FyGrXFycnZ49myTv1RYA5E8SkeJv+A+QJrlSVQcYCHF3yEIwOSY/
AIJFtRLfIij8HrhSwvemlmbzeyTsTDcr/EE22Rp+WLdtbZ7cv4/P4VfFlZq5
x+7jF/cXjb426j5BuI8rV0W77hawdlE0K1UqdZ/Z1uNVK2mXEohr2mgft2bG
UGaF3rP6/j4xmK3bTTlJEtm1a90gMWEfIZZdWbIQvVBVsxVPcaP0pVL0K5wG
yPcjSeYTcd4UVaZaXYm3FRy4MQCWHlNMLofk72v34Ezl3e5O3zYyU+K42Ejz
o7o274s77LXKwvLb9jveNkVZimcz8Yfm7/+2VtXi7/++Lu+waUaAZu9v2/Bl
IUGYfoD/3GGT8vroq9s2mMsG1n8rF+UYn04v3nwbQ5T49O9L1YKqZmiOUEp3
gZ43IHXqvTgr2lbehTz1hlYOkE8q3WwAwhUoKz395vnx4wcPH4VPXxw9+Cp8
+vLx48fRp396/EXvU/TkV48f4qeiWkY7JGmaCrlAC5u1SdIzvyJnc3vlza2o
G50Blo0yolRwJrlSAlUETGGB5jYXmd5sugo/4PNoTypVGtFqgYavUQLWFmUB
pIWVKwBvWiGBDtl7IxZbsdDtWugqrSX8i7ZHL5f8oVItGkYhc6SlbArA4Rqw
XIP1gXVKlJoxWMCDSlUCsBLHqmmLpcNmTsqM/uHgeH5I4PEhBxkw012TAdxG
lQQKsMYHLB3AerfshwqGnnnoapZY36SvK0BPZLIKFJo4qzIBodA1rCIPZYSp
VQYAGCI6sEZlYLuNOMjV0u3000+WlT//fCiuwaDx3gAPPaRYluA6jWqnEY3b
tWwBnhGwF3JbZDtuNYvc6i6fgcVo4GGjohHgCjuJ/PLcn4o1MRCwBD+ITzpW
rkq9AKQ2skqLKoX16abI81LFbJsll+vCwK5ZtwHBEXxWQ8cyW6DxB+A6sw9I
4mgXSCeB8QosFPwrs0zVLSq22ChZsd/61MMGoZ5ZhWCck+QzcVq1jc67DB9M
kvkejDB6gROB7NclGLOW2RQxjmSt7loULcCkIHgGBJ15WTRACtMikY3oILJo
rGhL2BAhwyn0NQukKVYVfB/JHh1agscEH2+PN0v2oalxsaVBgegS4UFcIoIg
vJZZRM9tOuDsAvWgUiiREvkLYs4LWQiMF4ExRVWIWrEEMvivt0QxWRPzgN9F
1aoGuUniVOX3AYmNzovlFr/om5Weis8/WZEXCkHaA6t8lpw6CQc8+qSFhZ5c
xFS5h65nby8ugXDIJ4FkshIcNHw3ss1uimzBRJ18fwhSDSYLiKu7tgymJ9Ye
INOya1Hr1YcW9B8Fa5bAYr+WUANKbAULe6szDSb5oCzeK3Hy6uLi2TFCOdEv
7p/oy0PmKthdYLA/a81nDbxk4tdAamUJd6POM1C0ip7PwLbtgK86g+3I8ugr
Ei/YoVuU4IpOcRXwFzT0lW5RH0R8RElGT22MKq/UjiKymNx/SjFmI57rptv8
oxFPJTwORBVv1N+6olFITmOFXwkvEyhdZ7ICQ870Xopzwgk4eNmAZgBTLl9e
QO7RIM7B46A5eYHEmdJJA7pWbTQgWsFZNkq1oyjegCBuaHjDWFq9pXYa2xkW
GRC1v3YVWR0mienIugRC7ZpFRnaGVhBysCt08WizkBwnaLEpazAJGHMlIOkQ
1+S5JihtmAmR1L16TX+/efbd29M3z07w74sX85cv/R+JfeLixeu3L0/CX2Hl
8euzs2evTngxfCt6XyWTs/kfJ1PCavL6/PL09av5y8mulpCAaCQJyR/ILfJN
miRXBlzpgsn09Pj8P/716BFY7n8A0/3g6AhNN3/48uiLR/DhGhwf76YrUCj+
CMzbJrKulWzIPIJwgmErILgzU/RSZg1RAbjMBsKE5N6fkDJ/fiJ+u8jqo0ff
2C/wwL0vHc16XxLNdr/ZWcxEHPlqZBtPzd73A0r38Z3/sffZ0T368re/I8FN
j7783TfgVD/7rG//du0dy9FKQ/AAGvapLrwww+hn9JmFRH3AuHRPlIorUVT6
MW27hkR3te5jJdAg0noMGz6DE16uIZNvxZnOVXl7KD10m3LHcW6D0VxAcPt+
Gmzn1LpGFkWwCBiHN4sCKATLHKAaompIY8BSVK33mTL2mIwW2MId1zkVi472
RhPFGwyOv/irylp4jk2JocBEtpQbIHibPCG7ZCtnt9IjZg84JYtiB8DAqG2c
B/HOmOJsog35KPRu4IBWysasCMEG00C2mZpNbwgheiAtaSwMyJYaCYIHESCK
FiCJDhQOjtZjf8AzSy6KDdY6yu1NG6OIgXNdqYpEiSNu2KG4QmuORhWxacD6
Q9Tofo4M/lSo2Wo23TnE1DP4Wi3YTxyYQ7RW7Cd3toidCMo/ngvUTuVTij6J
A7k1oB9JgOddAzs1G43pQtEO2Ij+e85+e6EqCmkRDd0A01rgpY2k8LlKgTiS
OownoiB6PSOO5wN5UFfo1jCozmWT26zcOwTU2dskkhTP+lDtIuvISPTyQUpc
R2BE4YA4YAaQ54hYhvUEDqv7vjxEqJyrUnyXIzJNr9QQnhvdzif88CSFfL21
RW6FMMqqenjFaNyuxXS2NRBcVTahcxGkDYjjZ5fxTqCnaGoWjZaY/1i8MHQ8
YCHvoU0rDmfkNIBBd/IZKHPi9fdIzmff92hPp4DsqNFXNi/toz1gHurWTcUB
ceC+A0tgkcddTUc2NJUlBrf4IB1LQL5Q5oaZ7sNEQEdm7QgyGtUMTfTGUB7l
GHpzueLt3YkmTvrUilEstwPsMPT1KC3UVvc8jyffGIrEXHKTBqX4SpeOGz2D
zSkWZYlS1Boic9ixysne+hoGWAgIoO9UHrgqJLmCuD6DnPF+J7LvvJ9R/kHM
H9nWhWQAzRyYWcS7vWOwc/TukKMd3JERcUcvtX7f1YZdwAN4DmJdCt7hyRwo
BvvkypfcOMKA8L6gVAdjA0AZ8wg1sEedQQiVrtJPxNdGRxeM5Tlj+ZKwZBb7
YCsyExCfgxu5UnkwIIH+wsayPWcEaNuTUpUhwwLnSEi1bPQmqisUrSFFgWWz
ZB4jgtZfFaRbC2VDyxxLlBjnOF88hhyIGDxlD3DTgyhYiGq/fsqxKCADijO2
ChUtnBrx4VTOh1+IwChMKpSSjYV4YwkumWjRwy5K8/dWHJifwFDYEH5+Q2jF
9aZbGGXLKCQgrvwQkAdcYcOVRsItQERd6eb0eP7qlXu80ZrrnWSh6fdxISIk
UBF6fGb85z0aHTONktMlBisFG7RaG1NgfQq2WssrVIk9CO+iyjiOEMU4qniz
X1L9eq2plqArJxRYqqY6vY1mDRpAW3QzXV3rhuqJsIGBh9JWp/1Vo0JgIjHv
fe8DUw+RCNcHSf6J4kkkZ1fmVBZUdam3lE73IzEqgGLbwRZAfUH8RF9O4T/f
TW3dCVeGwhQyteCq8l7tuCB7NWb5kM0GPA5gKAVGnwILrpAZVOg8KUPbYIaG
dLRFLAhNx41F/ww2zqbTUlGB8nZsCpPnU66Yjf4qyuvYEsW1sHWxWpfw/60j
07zGfnLxQTxF0fUbzpLXWEmsyeq38S7sZPxeBfVOMjwcko1lNA0qd/H98dM4
JQLz75VmjLkUV8EGtM6tYbYoZ2pK3GnjOsZcg94rK1RNJI6Os7OXLOxTZyx6
xR7JlgYxh6EYHSsABpsBhbE9Emv3iE+xDXJ5E1rPED1E5UaEuZaG8lqQEqJD
LRs4UcvUAYqDttZUw4bksJAlufpsjU4LbKeLOPIx2wpmgcQXDI0qIU+sKFz3
nQBIG4WbMMjo9A3V/4YasUMQ7A6wRiCsIipqV+p6+LR1yyc+JDi3cQLVYvrF
lP29GDh/sYHcsGAzRqYWEn+SUgwNrLpQkR8NP3iV+DQQGtWumNraYirmhXAS
aoNQ+mYzVt5x6pGx1t2GuSF5tpgR040trfa6ZXByLNb60Glonqn23BdU1B1v
KEHSORjafcb377jkwIp4yFJiMbBOQoFGkGWoILntOyw0xZnErEZ+XASwi4dt
iaKXAL9h7GPVWGlpA/pbd9gmcW6mxikV16VjK19r9JwFcZR6UaykAZqOYsso
VEU+0jlgiZ+tcGVwZC1xeYOlwr1xyLL/U9x1AU6Cv7YuGZB1ZiAmyEBephzk
knRQmsctRO4fQXCrPhQghb4XNEb/YknhRP9prgxhawQo/YqCFBt9jDlF7OGj
fUf0x900VRg+6jyoL8ETsXKpm+IC8L7O7/ZLUwfIEZIu5EkongCXQjWPVEED
jtzDPCTLj19a/9DYpALDmVH9soJlg3UzkpRw3aInrvCT2tQtWQaqgi7xEd/d
8XbftWhkfMqAvPMIVGyyKrYEgXbh2/CgZArenpwjpMvjc26GjBlCzmT2d4ed
C4pGAZxlQ5Nkc37GfL9x24VNcCk07Zm5BXIPu2Wng+B9Kq5RNrC3R63NaC9H
TEOOE+dBwGUbgEclNinu3Rvh5r175EfEBfXtb6LC97KEnBKcKh+a6ntkgrtF
arv+B715iPnTV88pMARcSWlwDObnnw9hw19++SXxY1xXBPhrce+Hi3PxJxAU
ULWuVSmIQ/tn+jZJ+t/Cwwf+G143+ecJ/9F/8lDcD98EKAAgPEfVHAby9Q4Q
Qi7en56G/ecvz1/MAfrJ6benl4fi3gH8b5JODoe/HCYDYHjSA/orRTbBg7Dj
oYi+Gfk5ib75Wvzmw4Oj9CHu8ZsPD4/TL54RQV19YlzQmH2DpBg0couqgbaJ
SiHX6wJCmVoiHCy1sPii/Ueyg3QbtSkgyAfTaRQGVFRG9mRF4thT1rJosEhr
6+gordE8xXSwiM1lT3xKBSajSfNiVbTpeluDARUv5QKU/+DlyYuU/iTjtUGs
SxVBJAx4hsedIByMs6IKfRQYIgpsvLoI9YGciT/lDLvVNojagU+660nUAsYS
iVSpCPQBepmw+WHYC2gzx3KtgzqYJkLr2Rd6Z4LA3v+tU1hgGH0CG39sUK51
DN3bWoMSTGIcNnTzHdgJ9UfKC4z6qSAzODrbjB9UWabvK+yNzv0+tiQ0QGz+
Rw+1bz0CgrPBSkdlGz/so1O/Tewt6a+3T9f+dOmIBqOVQOeLE6c1H5It1eDL
r3FMw7QpCMDGGpnpZGw5Wir/ZBLWfC2O7uEfpPuJ/8tZgQdPyQo8OBmxB0cz
sPl2wuLJvXsCYhVPgCkTLlA7OCLJkRHZBo+jVXVnBj615OnmPEJDNARHrj3B
P8JO4LI4h/KjUC7go05BGM5xUAcCEX4YCBNVnO42UTfDSK/lfgyGji4GDltH
idZgMoqGNChDRR10CRCfCFLErc/0QPIeIM+4YvBfzTML1dLT1rBaDv7XusL8
H3Cx1YpdHUMwRAWKv33PIErzgK12tW7CA1YlcSSJf/RVECKamhItwEBQS9DV
FyOSPIxIkroI6b+LNpd6HI847egdOY+qOpgOW0i7Mjk8wVA4h/Zv13LKMOkf
WUNC40YaeutetKN845hxFPosuegWBvvXcDwwkYZ2CU3ZvcuoNnGOaYitwJ6x
SvIhx+w/QV6oj1bmWfJM4vBwXw9NbEC4RUMuZHTKiqTSuVUDem5oXx7HHBRm
FrwOfubaAa11I1Y/UABi9CZgi/WToqQD2P7mcDws3RneQkY3uhwxnFPuEqKn
I+5Z6HcCiSy/db5M/hp0rZ3FFHSM7jPrmrjWleagFJyMoGerVgp1m1JMC823
DjEmqgGHjCYD1ixBDgtOGoeV01DUobaK+5u4dy1N1Keibg6lm5R1Xoq2o1TT
1nv8RML+IqkjJj7uK/4dew+uxbDjozFc3A67gIN+sD3yhBqWRI3Jrkb8b8xC
incHF1wyEA9nD+D/Hs2+APRhgwf2FBNk5OdHE3cG66Tnx2fP0HTY8P/x48dY
OHnuRpSDxMQ6yE7y+Xcnr6KhF1fEW5EPztWGHTYivVMhxipOGI21PdVP4KUD
CNKF0+PY19mtKvpazzs74mBHcN8dOk+OF5rSwN4UgaRtafaKuJ0yAI8SGvDi
xeXl+dhsyhpHfJAcjBs/iIOldPfNGqrL43OBrSbx6NHDiJh2+jQ+kM0RMEXE
shgu3inuctcv1uoMN3cFDjeYXgkeeWLR7w9T2Jk0ZLcql6nhNiRmoR9qrLhb
ZbGUsV4hL+xgUTDTNuuz8ZaN6xwik/mqAUeYvq2BEKxIyP0f1MIU6EEeTG63
Yjt6939I946+BCETl06/6OYcKV8Qih76kfKFGMDa6MhHsQAB5rHEVJ7IFIlk
7U3cnrtQBD5DOMTs4nGp/eoA2mBpPhaq0Kgyi5ovW5KLcTgiqUlH/OEh/tKg
9RhgGFfwcNY2QPGQcw/uy89ZMwz5CpY6ZzYocY5nq0jtmGSYuTh0XGEw2qh/
fyF+2Bkc21CfCqdpvXkmtrJRDIgQx7lBSLmz2FSDKsv2cTP+MOLCBsMeaPcQ
IAC+TjuYAxhH28EgwgXB5FwMoGmebQSNf02zuJo6jb54FUJlN7pH0fBaa6NI
MEKYEbsS6s1NIcDlYTni/V3z1f2lhin1EHydDVwKNTuq8UbEBkBnhe5Mf8KP
I80gFW2x8cktd4PDvNqeW0vxBCzYIm6lu6zJli+yTHdVm7rDNOh9ntPWt40L
xXQ9OrQJMPlGOh6s4WqUHRFD4PZQANlA6kB9k0ZYFDju4ptWtm+h8viOB06t
pHqZLkB0pvsaeX5CSvO4fsU8ju80cVuzq8jo33ixxc5ZHToEsPPG44MjRMGS
exyDcqMEq+s9JEEywLM5pUf9M5iKUr6T4TAs/4RjIF6+dollbWk/ka5tSmUH
CghHvnAWswpkH3fhy5hL1xQA6QFPLanUusHmwmtOgno/0i4LnCPZ0J3EqFYR
Uj0gj6ujyLHwP3B5eI3nf+DODs5cRPcKr+WWr6dlZZd7mXYCGcltYWJJnLNj
dc+9fXMa7mdNxcj1zi+wql1UuzMvIQUBtXyEammnt9P3iuwQhh+/IueJZ8Ht
OGDDXWA7vxgPRdSlzGyBOc6NpDE6K/rauO+y3eVg/ryXS4YLjhsc+l75KWsA
8mSvuWCS9+bg0cG+OzDvxkZLsRiDphKc0aae2goIjXtYWxkdeGww1RKa8bOt
dlyucueyqlBJDpNidszf5QL4Y9g0QAQJXLimXzTbB8vcljS317csgcc2J/nR
JgNoR3crIgxn/21SAGF6pIzr/x5cRCb8FR598MjT0BPYNYaH289ss9DdT+RE
ekh/cgZ7eBMElfRS2wGQIFokUnieeGbTnX50/DL4B+vBbPC3J3H7+IQwZHi2
PkC572BW+tOmC8HAL7HpFJ/YaXY/1vp/aYe5d83VR+sq793zlfO4nleMlEv7
ddApmEesrt4el/H1r2D+o2sRdw0CI2Nvb+piJRSH3vwHznh4FC0uiToQd5lb
jzIYasvFqVR/vuZTIdvppkYvgIU0v/Qp1/8PR6q7r+voMmmo7rpiuE3i4wKZ
+wnvwtxSGTeuYNhT4pRD3dQaHhlcqGthoM2gkrCdlLD60A4MlgzR8573FdiG
ceQkeUXKFxj89QhrI4JzM8GC7QnF+cUCu/HA4d4RNVfLQsLdYNpCqwaElzpv
gTK3dyRc5jZOECycYkQaiqe3INu3X9ihHouu2fr4u5/YII8snevAhBTQ960w
E8MuNKZdUW8i90JmoRLSlfI34ewQNlcLmZg4jOWM4LPL526Q1guyrzOCTfjg
oqVJJtN3v83kX9BhfJNObJktk+/+4u5gUVYoQ3bnpZEqEDxoeaVKIHAe8Yb7
7Mc6SiZpQ4fr3PGkcI33hcJEA2XDcp/qN7ASxc6O8NLCN294tpKvj7SUXm+6
si3qUg0gT6PgeeT1CVM77Oqz32g1vyfFGox9g1fgEoAMG+wmcenzQ+G07koX
TI+mMO/xTJDSfahthdcedRprME+yfPorRHgCPVx3QIpxyEPGA8W73KMOXtMc
UXfpOVzDeadXCLodHNpSxXIYsrorpCEZ5J6yrcGU5U6RgMlO5pAHga0S4Ds8
aJp470tQopZqr8IRuZyogtstwC+4MVZsDI6c1o16Ohmwuo+tU/zruijzSByI
mJZDoatHqewIGW3wj2THJG8/ZCJ5P4riWjhf8BrnUDz6KRcQ9U8jyzgEw/T/
CDzGR0p5MComEwjgcjCg2FHka5ndf4Au+oKl1CssMw3HrdjjF60L5o3ziO7F
OzSljtaQ8stB184LIBnHTBo12lRlE+6Kdfg3vwUHdwnelN6zYJwTeuNCb9Kd
KdsrTl/iPZ1yGAj7denGaINwsv5awmD4qhpnx6mLtNZlbu9FDOk2GEfh67bD
i+rA/Q7LXaSqKg/KmneuLIRJYbkNLwi6GtEEGkD1bzk8tjddpA2ezmgAY6DJ
We8hAL9C77Zv9p0vf4NI0rsB7QUx7RrQ4Tm6WMMJLVjHWfLUTqyPArWes7Dv
UlIUDaERicNbZ03pmmL0Kq11UfMbNgIYLG0a5cJ8zI3AQi0ll0qXjezyrsRQ
PhhoHEQYw6xRhM+nQEJLhZc2CFOWz5GY31YFSCj8mwzcZQ+XiZJTqrUdz8eS
W2rvb+xCnCXnfjABgxmnJe5SxfioOrJTQ5JY8Z2jrbjqSuSZvdP2ya/s6c2L
G1eI4CowdaJRcLGn5UKwy9HKsw2tsV5BEo9MsCFmnw0Yw/m2YqQbdNN8dDjA
DvJ4WePQyd9fsNXlE1UV/KYRugkC/D440ReHdndCu+E3IeAUZFgNxqfRMltz
UlDKrsrWHNbAcoc7Fhb2Db6DiSsa09oXltgFoYSP14prbVX4Y64i4KxUzsPc
7vZr3J4h20NcakBXKaeiOL4R68Grgw7woki3GTSDuDRs0XRhuw3WRwoGI4WC
EawPbWDhyAXhGFloDq/BDJb+JtOOeSKXCCEJSjDQSpd0eXIb5Yw2veW3Q4w1
Ma2fPHdjm87F8cLwPisyUrpN7aST1vnYtPzgRXz+VkMYVrkE1beX2nI337bc
Zyh9y3K/jfNvZyM/A6Ai0aNB/VWxWODo/voj8OV4E6/4lErmvU4lvuyV6GB1
gq/44v19pwWcGEfbO74sRq8uGyv1rWxWKnqViyzhrPnWy9WoIaOLZb17H1HY
yl08P1/QN8X+5OAFpfBjljGrdwT1GnvPIwpFqoQXRvz1ZByIsvd40WOPGe5x
YUcPspI29KUt3EtC6cUYfnbal7uu8OW51nD3PORt7tMSdtwkzfu2Av0WXYsJ
x1IizNjENaQReLORmt0gEGqbrty6DMCBozfB3am6tvvuG34nEA0POBL3PAvd
zd/om27mT4X2FXg5aBy4+n6j6B057Q1gQDb6sUXBdwtnwafRqyE8N/gul1mT
PlKWhq7GZkURXD+OhPQdJH/kQhgCIohKDavWCgvI6x4UVH07nYGxmIfgcsWC
Lperghrs+CrM+av5Tsh5ORifp9lmelJm7t1Y+EZN1BUEMs+wkAU2YkUV4+Sn
J/yGbJV/PQG9MmryMwB9ffIa1rsnwYb+J92QZuA4XAAA

-->

</rfc>
