<?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.23 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-tls-svcb-ech-07" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.26.0 -->
  <front>
    <title abbrev="ECH in SVCB">Bootstrapping TLS Encrypted ClientHello with DNS Service Bindings</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-tls-svcb-ech-07"/>
    <author initials="B." surname="Schwartz" fullname="Ben Schwartz">
      <organization>Meta Platforms, Inc.</organization>
      <address>
        <email>ietf@bemasc.net</email>
      </address>
    </author>
    <author initials="M." surname="Bishop" fullname="Mike Bishop">
      <organization>Akamai Technologies</organization>
      <address>
        <email>mbishop@evequefou.be</email>
      </address>
    </author>
    <author initials="E." surname="Nygren" fullname="Erik Nygren">
      <organization>Akamai Technologies</organization>
      <address>
        <email>erik+ietf@nygren.org</email>
      </address>
    </author>
    <date/>
    <area>Security</area>
    <workgroup>TLS Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 36?>

<t>To use TLS Encrypted ClientHello (ECH) the client needs to learn the ECH configuration for a server before it attempts a connection to the server.  This specification provides a mechanism for conveying the ECH configuration information via DNS, using a SVCB or HTTPS record.</t>
    </abstract>
  </front>
  <middle>
    <?line 40?>

<section anchor="overview">
      <name>Overview</name>
      <t>The Service Bindings framework <xref target="SVCB"/> allows server operators to publish a detailed description of their service in the Domain Name System (see <xref target="RFC1034"/>, <xref target="BCP219"/>) using SVCB or HTTPS records.  Each SVCB record describes a single "alternative endpoint", and contains a collection of "SvcParams" that can be extended with new kinds of information that may be of interest to a client.  Clients can use the SvcParams to improve the privacy, security, and performance of their connection to this endpoint.</t>
      <t>This specification defines a new SvcParam to enable the use of TLS Encrypted ClientHello <xref target="ECH"/> in TLS-based protocols.  This SvcParam can be used in SVCB, HTTPS or any future SVCB-compatible DNS records, and is intended to serve as the primary bootstrap mechanism for ECH.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="ech-param">
      <name>SvcParam for ECH configuration</name>
      <t>The "ech" SvcParamKey is defined for conveying the ECH configuration of an alternative endpoint.  It is applicable to all schemes that use TLS-based protocols (including DTLS <xref target="RFC9147"/> and QUIC version 1 <xref target="RFC9001"/>) unless otherwise specified.</t>
      <t>In wire format, the value of the parameter is an ECHConfigList (<xref section="4" sectionFormat="of" target="ECH"/>), including the redundant length prefix.  In presentation format, the value is the ECHConfigList in Base 64 Encoding (<xref section="4" sectionFormat="of" target="RFC4648"/>).  Base 64 is used here to simplify integration with TLS server software.  To enable simpler parsing, this SvcParam <bcp14>MUST NOT</bcp14> contain escape sequences.</t>
      <figure>
        <name>ECH SvcParam with a public_name of "ech-sites.example.net".</name>
        <artwork><![CDATA[
ech="AEj+DQBEAQAgACAdd+scUi0IYFsXnUIU7ko2Nd9+F8M26pAGZVpz/KrWPgAEAAEAAWQ
VZWNoLXNpdGVzLmV4YW1wbGUubmV0AAA="
]]></artwork>
      </figure>
    </section>
    <section anchor="server-behavior">
      <name>Server behavior</name>
      <t>When publishing a record containing an "ech" parameter, the publisher <bcp14>MUST</bcp14> ensure that all IP addresses of TargetName correspond to servers that have access to the corresponding private key or are authoritative for the public name. (See Sections <xref target="ECH" section="6.1.7" sectionFormat="bare"/> and <xref target="ECH" section="8.1.1" sectionFormat="bare"/> of <xref target="ECH"/> for requirements related to the public name.)  Otherwise, connections will fail entirely.</t>
      <t>These servers <bcp14>SHOULD</bcp14> support a protocol version that is compatible with ECH.  At the time of writing, the compatible versions are TLS 1.3, DTLS 1.3, and QUIC version 1.  If the server does not support a compatible version, each connection attempt will have to be retried, delaying the connection and wasting resources.</t>
    </section>
    <section anchor="ech-client-behavior">
      <name>Client behavior</name>
      <t>This section describes client behavior in using ECH configurations provided in SVCB or HTTPS records.</t>
      <section anchor="disabling-fallback">
        <name>Disabling fallback</name>
        <t>The SVCB-optional client behavior specified in (<xref section="3" sectionFormat="of" target="SVCB"/>) permits clients to fall back to a direct connection if all SVCB options fail.  This behavior is not suitable for ECH, because fallback would negate the privacy benefits of ECH.  Accordingly, ECH-capable SVCB-optional clients <bcp14>MUST</bcp14> switch to SVCB-reliant connection establishment if SVCB resolution succeeded (as defined in <xref section="3" sectionFormat="of" target="SVCB"/>) and all alternative endpoints have an "ech" SvcParam.</t>
      </section>
      <section anchor="clienthello-construction">
        <name>ClientHello construction</name>
        <t>When ECH is in use, the TLS ClientHello is divided into an unencrypted "outer" and an encrypted "inner" ClientHello.  The outer ClientHello is an implementation detail of ECH, and its contents are controlled by the ECHConfig in accordance with <xref target="ECH"/>.  The inner ClientHello is used for establishing a connection to the service, so its contents may be influenced by other SVCB parameters.  For example, the requirements related to ALPN protocol identifiers in <xref section="7.1.2" sectionFormat="of" target="SVCB"/> apply only to the inner ClientHello.  Similarly, it is the inner ClientHello whose Server Name Indication (SNI) identifies the desired service.</t>
      </section>
      <section anchor="performance-optimizations">
        <name>Performance optimizations</name>
        <t>Prior to retrieving the SVCB records, the client does not know whether they contain an "ech" parameter.  As a latency optimization, clients <bcp14>MAY</bcp14> prefetch DNS records that will only be used if this parameter is not present (i.e. only in SVCB-optional mode).</t>
        <t>The "ech" SvcParam alters the contents of the TLS ClientHello if it is present.  Therefore, clients that support ECH <bcp14>MUST NOT</bcp14> issue any TLS ClientHello until after SVCB resolution has completed.  (See <xref section="5.1" sectionFormat="of" target="SVCB"/>).</t>
      </section>
    </section>
    <section anchor="interaction-with-http-alt-svc">
      <name>Interaction with HTTP Alt-Svc</name>
      <t>HTTP clients that implement both HTTP Alt-Svc <xref target="RFC7838"/> and the HTTPS record type <xref target="SVCB"/> can use them together, provided that they only perform connection attempts that are "consistent" with both sets of parameters (<xref section="9.3" sectionFormat="of" target="SVCB"/>).  At the time of writing, there is no defined parameter related to ECH for Alt-Svc.  Accordingly, a connection attempt that uses ECH is considered "consistent" with an Alt-Svc Field Value that does not mention ECH.</t>
      <t>Origins that publish an "ech" SvcParam in their HTTPS record <bcp14>SHOULD</bcp14> also publish an HTTPS record with the "ech" SvcParam for every alt-authority offered in its Alt-Svc Field Values.  Otherwise, clients might reveal the name of the server in an unencrypted ClientHello to an alt-authority.</t>
      <t>If all HTTPS records for an alt-authority contain "ech" SvcParams, the client <bcp14>MUST</bcp14> adopt SVCB-reliant behavior (as in <xref target="disabling-fallback"/>) for that RRSet.  This precludes the use of certain connections that Alt-Svc would otherwise allow, as discussed in <xref section="9.3" sectionFormat="of" target="SVCB"/>.</t>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <figure>
        <name>Simple example zone with the same configuration on the apex and web domain.  It is compatible with clients that do or do not support HTTPS records.</name>
        <artwork><![CDATA[
$ORIGIN simple.example. ; Simple example zone
@ 300 IN A     192.0.2.1
         AAAA  2001:db8::1
         HTTPS 1 . ech=ABC...
www 300 IN A 192.0.2.1
           AAAA 2001:db8::1
           HTTPS 1 . ech=ABC...
]]></artwork>
      </figure>
      <figure>
        <name>Service that allows clients to choose between two server pools with different ECH configurations.</name>
        <artwork><![CDATA[
$ORIGIN heterogeneous.example. ; Example zone with two pools of servers
pool1 300 IN    A    192.0.2.1
                AAAA 2001:db8:1::a
pool2 300 IN    A    192.0.2.2
                AAAA 2001:db8:2::a
service 300 IN SVCB 1 pool1 ech=ABC...
               SVCB 1 pool2 ech=DEF...
               A 192.0.2.1
               A 192.0.2.2
               AAAA 2001:db8:1::a
               AAAA 2001:db8:2::a
]]></artwork>
      </figure>
      <figure>
        <name>ECH usage pattern for an aliasing-based CDN.</name>
        <artwork><![CDATA[
$ORIGIN cdn.example. ; CDN operator zone
pool 300 IN A 192.0.2.1
            AAAA 2001:db8::1
            HTTPS 1 . ech=ABC...

$ORIGIN customer.example. ; CDN customer's zone
@   3600 IN HTTPS 0 pool.cdn.example.
; Apex IP records for compatibility with clients that do not support
; HTTPS records.
@   300  IN A    192.0.2.1
            AAAA 2001:db8::1

www 300  IN CNAME pool.cdn.example.
]]></artwork>
      </figure>
      <figure>
        <name>A domain that is only reachable using ECH.</name>
        <artwork><![CDATA[
$ORIGIN secret.example. ; High confidentiality zone
www     3600 IN HTTPS 1 backend ech=ABC... mandatory=ech
backend 300  IN A     192.0.2.1
                AAAA  2001:db8::1
]]></artwork>
      </figure>
      <figure>
        <name>Multi-CDN configuration using server-side selection.</name>
        <artwork><![CDATA[
$ORIGIN cdn1.example. ; First CDN operator zone
pool 300 IN A     192.0.2.1
            AAAA  2001:db8::1
            HTTPS 1 . ech=ABC...

$ORIGIN cdn2.example. ; Second CDN operator zone
pool 300 IN A     192.0.2.2
            AAAA  2001:db8::2
            HTTPS 1 . ech=DEF...

;; Multi-CDN customer zone (version 1)
$ORIGIN customer.example.
@   3600 IN HTTPS 0 pool.cdn1.example.
; Apex IP records for compatibility with clients that do not support
; HTTPS records.
@   300  IN A    192.0.2.1
            AAAA 2001:db8::1
www 3600  IN CNAME pool.cdn1.example.

;; Multi-CDN customer zone (version 2)
@   3600 IN HTTPS 0 pool.cdn2.example.
@   300  IN A    192.0.2.2
            AAAA 2001:db8::2
www 3600  IN CNAME pool.cdn2.example.
]]></artwork>
      </figure>
      <figure>
        <name>Example of a DNS server that supports ECH.</name>
        <artwork><![CDATA[
$ORIGIN dns.example. ; DNS server example.
@    3600 IN A     192.0.2.1
             AAAA  2001:db8::1
             HTTPS 1 . ech=ABC... alpn=h3 dohpath=/q{?dns}

_dns 3600 IN SVCB  1 @ ech=ABC... alpn=dot,doq,h3 dohpath=/q{?dns}
]]></artwork>
      </figure>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>A SVCB RRSet containing some RRs with "ech" and some without is vulnerable to a downgrade attack: a network intermediary can block connections to the endpoints that support ECH, causing the client to fall back to a non-ECH endpoint.  This configuration is <bcp14>NOT RECOMMENDED</bcp14>, but it may be unavoidable when combining endpoints from different providers or conducting a staged rollout. Zone owners who do use such a mixed configuration <bcp14>SHOULD</bcp14> mark the RRs with "ech" as more preferred (i.e. lower SvcPriority value) than those without, in order to maximize the likelihood that ECH will be used in the absence of an active adversary.</t>
      <t>When Encrypted ClientHello is deployed, the inner TLS SNI is protected from disclosure to attackers. However, there are still many ways that an attacker might infer the SNI. Even in an idealized deployment, ECH's protection is limited to an anonymity set consisting of all the ECH-enabled server domains supported by a given client-facing server that share an ECH configuration. An attacker who can enumerate this set can always guess the encrypted SNI with probability at least 1/K, where K is the number of domains in the set. Some attackers may achieve much greater accuracy using traffic analysis, popularity weighting, and other mechanisms (see e.g., <xref target="CLINIC"/>).</t>
      <t>ECH ensures that TLS does not disclose the SNI, but the same information is also present in the DNS queries used to resolve the server's hostname.  This specification does not conceal the server name from the DNS resolver.  If DNS messages are sent between the client and resolver without authenticated encryption, an attacker on this path can also learn the destination server name.  A similar attack applies if the client can be linked to a request from the resolver to a DNS authority.</t>
      <t>An attacker who can prevent SVCB resolution can deny clients any associated security benefits. A hostile recursive resolver can always deny service to SVCB queries, but network intermediaries can often prevent resolution as well, even when the client and recursive resolver validate DNSSEC <xref target="RFC9364"/> and use a secure transport. These downgrade attacks can prevent a client from being aware that "ech" is configured which could result in the client sending the ClientHello in cleartext. To prevent downgrades, <xref section="3.1" sectionFormat="of" target="SVCB"/> recommends that clients abandon the connection attempt when such an attack is detected.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is instructed to modify the Service Parameter Keys Registry entry for "ech" as follows:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Number</th>
            <th align="left">Name</th>
            <th align="left">Meaning</th>
            <th align="left">Format Reference</th>
            <th align="left">Change Controller</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">5</td>
            <td align="left">ech</td>
            <td align="left">TLS Encrypted ClientHello Config</td>
            <td align="left">(This document)</td>
            <td align="left">IETF</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="SVCB">
          <front>
            <title>Service Binding and Parameter Specification via the DNS (SVCB and HTTPS Resource Records)</title>
            <author fullname="B. Schwartz" initials="B." surname="Schwartz"/>
            <author fullname="M. Bishop" initials="M." surname="Bishop"/>
            <author fullname="E. Nygren" initials="E." surname="Nygren"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>This document specifies the "SVCB" ("Service Binding") and "HTTPS" DNS resource record (RR) types to facilitate the lookup of information needed to make connections to network services, such as for HTTP origins. SVCB records allow a service to be provided from multiple alternative endpoints, each with associated parameters (such as transport protocol configuration), and are extensible to support future uses (such as keys for encrypting the TLS ClientHello). They also enable aliasing of apex domains, which is not possible with CNAME. The HTTPS RR is a variation of SVCB for use with HTTP (see RFC 9110, "HTTP Semantics"). By providing more information to the client before it attempts to establish a connection, these records offer potential benefits to both performance and privacy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9460"/>
          <seriesInfo name="DOI" value="10.17487/RFC9460"/>
        </reference>
        <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="ECH">
          <front>
            <title>TLS Encrypted Client Hello</title>
            <author fullname="Eric Rescorla" initials="E." surname="Rescorla">
              <organization>Independent</organization>
            </author>
            <author fullname="Kazuho Oku" initials="K." surname="Oku">
              <organization>Fastly</organization>
            </author>
            <author fullname="Nick Sullivan" initials="N." surname="Sullivan">
              <organization>Cryptography Consulting LLC</organization>
            </author>
            <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
              <organization>Cloudflare</organization>
            </author>
            <date day="15" month="September" year="2024"/>
            <abstract>
              <t>   This document describes a mechanism in Transport Layer Security (TLS)
   for encrypting a ClientHello message under a server public key.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Source for this draft and an issue tracker can be found at
   https://github.com/tlswg/draft-ietf-tls-esni
   (https://github.com/tlswg/draft-ietf-tls-esni).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-esni-22"/>
        </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="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="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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="CLINIC">
          <front>
            <title>I Know Why You Went to the Clinic: Risks and Realization of HTTPS Traffic Analysis</title>
            <author fullname="Brad Miller" initials="B." surname="Miller">
              <organization/>
            </author>
            <author fullname="Ling Huang" initials="L." surname="Huang">
              <organization/>
            </author>
            <author fullname="A. D. Joseph" initials="A." surname="Joseph">
              <organization/>
            </author>
            <author fullname="J. D. Tygar" initials="J." surname="Tygar">
              <organization/>
            </author>
            <date year="2014"/>
          </front>
          <seriesInfo name="Lecture Notes in Computer Science" value="pp. 143-163"/>
          <seriesInfo name="DOI" value="10.1007/978-3-319-08506-7_8"/>
          <seriesInfo name="ISBN" value="[&quot;9783319085050&quot;, &quot;9783319085067&quot;]"/>
          <refcontent>Springer International Publishing</refcontent>
        </reference>
        <referencegroup anchor="BCP219" target="https://www.rfc-editor.org/info/bcp219">
          <reference anchor="RFC9499" target="https://www.rfc-editor.org/info/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>
        </referencegroup>
        <reference anchor="RFC9147">
          <front>
            <title>The Datagram Transport Layer Security (DTLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="N. Modadugu" initials="N." surname="Modadugu"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>This document specifies version 1.3 of the Datagram Transport Layer Security (DTLS) protocol. DTLS 1.3 allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>The DTLS 1.3 protocol is based on the Transport Layer Security (TLS) 1.3 protocol and provides equivalent security guarantees with the exception of order protection / non-replayability. Datagram semantics of the underlying transport are preserved by the DTLS protocol.</t>
              <t>This document obsoletes RFC 6347.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9147"/>
          <seriesInfo name="DOI" value="10.17487/RFC9147"/>
        </reference>
        <reference anchor="RFC9001">
          <front>
            <title>Using TLS to Secure QUIC</title>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <author fullname="S. Turner" initials="S." role="editor" surname="Turner"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document describes how Transport Layer Security (TLS) is used to secure QUIC.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9001"/>
          <seriesInfo name="DOI" value="10.17487/RFC9001"/>
        </reference>
        <reference anchor="RFC7838">
          <front>
            <title>HTTP Alternative Services</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="P. McManus" initials="P." surname="McManus"/>
            <author fullname="J. Reschke" initials="J." surname="Reschke"/>
            <date month="April" year="2016"/>
            <abstract>
              <t>This document specifies "Alternative Services" for HTTP, which allow an origin's resources to be authoritatively available at a separate network location, possibly accessed with a different protocol configuration.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7838"/>
          <seriesInfo name="DOI" value="10.17487/RFC7838"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA81a63LbRpb+j6fopbdq7A3JkJRiycx4ElqSbZZ1iyXb40xN
pZpAk+wV0GDQgGhaVp5lnmWebL9zugECJC1n99eyfCGBvpzrdy7dnU4nyHUe
q6F4kaa5zTO5WGgzE9enV+LEhNlqkatIHMVamfy1iuNULHU+F8fnV+JKZbc6
VOKFNhGm2EBOJpm6HYqTo9dCG3H1/uhFEKWhkQmWjzI5zTta5dNOHtuOvQ0n
HRXOO72DIJI5Btwdj65P7oMQP2ZpthoKm0dBoBfZUORZYfNBr/esNwhkpuQQ
e4dFpvNVsEyzm1mWFoshk/wBP4n8V/QouFErvI+GYmxylRmVd46JiiCwuTTR
bzJODTZeKRss9FD8I0/DtrBplmdqavFtldCXfwaBLPJ5mg0D0QkEPtpYiKsr
rsL5Umb5Z37ouHyhTPNxms2k0Z9lrlMzFGcql+Iylvk0zRJsMTZhl4epROp4
KEg8P0/ww4ZdkNvY8KwLSdt5uqhtd6ZvVP0pdhuK0Y3EauIa0jVpnM40+Kvt
kUx4/M/qVv1eqGladCeqsdFJV5yvZpkytY1OMn1Tf/pnNlKY8x1zZHhiF5Og
UEO8Qx63akijj07H5+OjoTi+GHf7PfzpHXz/7OCws9fZ6z/r9A5/6D3tHPx2
GASdTkfICVloCA1ep6Kw6gEzfQwrfCLyuRIhPxVGqciKPBWxkpnhN2SoYWqm
elZkrCEB2oQUFpatMjGBdDIldC5knqtkkVu8w3ijQh6MtWgVN7orxPVcW2EX
KtRTHbr1Fll6qyNFExOICaZgE94Ey9yqFZnqbkIqMeH7rZbkcG1wTBMkexZU
IF5fX19eiUyFMPKuk1CioyhWQfBIXNySf6olZIUdNp1VTDMolrxH3N39By34
/O3Lo2f7T3v390JCgEtbiiFdKBCVZiy8RTGJYT8gIoIt6xhSB3thphdMajol
fnTGc2k/7SR9nMImjDjHnuJqZSFN8dgqRXtj235vb//+vo1fP704uhz0n93f
P/HM7mLVQtYnMpy7l+6Zp2LCoqaZsRItGZPbs60JZaJFqk3eagv4Pkkb5Bun
0Tj2GgX5ravb8FJCOLYFymUuQmlgCUJ9yrEE2GX8M2opADQwKEyp64qnJHJF
U/gVKFA2J9FJb4mg3hmq5bXJjElE1b40VidkOe7FItO3MlwBkDzoOQ6gFd7W
hGot9k3rhEGWjHfJELYMNFJTbVhoxFJJA01WRk5iRwGRiC2+7mxQI0z4+bhz
3K0QXlmjYUvQOuZ1JtJiDpgCyKaxLb2l2tBLuaBRPna0vdLJJc1KTIu8gDfS
m06YJgvQT/RRJPJm4eSCVUnqrCuwwUYspC1FmcgMyilj3YZXgoku+c61yhLN
mLZy7oNIIiiUWNE6e3d1DSPi/8X5BX9/e/LLu/Hbk2P6fvV6dHpafQn8iKvX
F+9Oj9ff1jOPLs7OTs6P3WQ8FY1HQets9NHbbOvi8np8cT46bTm3AqcIr0VC
6IawSNxOlDO5RaZIR9IGpV+wWOFd//5Xf9+73aBPnuZ/HPYP4INiOVfG7Zaa
eOV/QnSrAIkBgJNWATxAXwudy5hkDpOap0sj5rB0SO+//kGS+edQ/HUSLvr7
f/MPiOHGw1JmjYcss+0nW5OdEHc82rFNJc3G8w1JN+kdfWz8LuVee/jXn2L4
jej0D3/6W0AmU1myt6MNPL97RMnOgkbcO5Nq4UGrmvYGBkb6ZHeM/lSIgEdK
UsY2xsG7xjktB53F8HT245T1ZsO5SpR1OOUj6KZzisfahHFBcUIck9MDlyk4
9PcPKDjANqC5I4HYYImOfvm+1+szcJtYWQAjqM6WGlt4xFEUo8YGAApbdYjJ
piVuZVyUGCZYRDDejOk3xPcRs32qAaOP7+6uPL7t0wyCHezZFmuKaZFMRYWJ
JPwiVmYGvIY/TPUnkgvFZGXhMlXA36BD21LetX3JdyAk8XSfEDDljbZogQz2
n+4fgh5sVA7Hcgxq5B2MR4D2WE9X7Kczr0qOKSRpH3JtOs2RQyqCyQqJeSZe
QkIU4NoOASq7K52sDG0Cji8XlJ4gzUOQsJD+H3/8EcDsnrdGJ//93fEvL05G
v4xmo6NRFH1nw3e6N/740v7dvBu/O7hJB+fRs+9eHp4Nni5Gr359v/j8/Zvs
w+VsdDKiPx9+Cd7/+uE8Pf37+SJ69f7zafJ+/+OH/nLy6l0xSd73RqPR8xbv
d4f8nSqM5y0y4YpcZlm6fCL8jbJMjr7kJVbnoFZ9ksQv5cGtbuuefazMy+by
VqdZEHwAPJUpiUuNfDbgZcDPjHe1yrKctv00rMeSU8ZSeGG/IEcZXwoZRTAV
qzjIX8tspnJOYLADni9Ssw4wmfcoEIZgE4bkAD49XI8majiY5y6gUGDDlq66
0LnzYfL8iryQ0++ueHzFuZI3NyuedvvdA/bEQ3zrrz2Bp2fQOHws4RQjUyg3
XCjcXPaJEBelk7ZrqYOFciCBKdI7iCXHUvGKswdlVcWuh1tbLBaomEiTHj4q
XGCBwEJrwZqVTkFWiFHO9OTaKX4JAXijVvUZfjHLkiIP6Xf32g6V+Ns2GpGT
T2uJOWIkNGjSvEbr9gZtoSijrOVPPud3smC9uviKyJoBy9rA6lhW8FyfCJKW
0hI7GGzTInPO98inTJX9+qDgssJO+fS+zNP8cuvENtyYro1Pkrdigy0LjyqZ
2s6hQdAjcawtsIXWmMLoJzK88eUCZVkp5/Qy3tq4AnRavQaDe2yINJfiwIKS
qLwkm/2BNhG0i8uHI5hWmNdlp6fsfI7ihWOF7LDMF9e8lyqF35AafdRtY0Qo
Ka6V/CBtK+II2e2M3K6WT2OkQVDI2bu9TYYkGioekGPjUQcAyqvvEod1uGFh
0zAc8MOD4Cua4k6NJ6T/kqGGEzVw6MsWm8YFD7AFAEORsh7LdQoA0X5NsmRh
JKZdsd96DDIbCYbTdz1pB4nIgQvewEMpd26sMyzlfJE8rT6LkhRdmhZpEWON
qqqCVlqAppYjEbyvX2gIBC9qa7FS4f00Y3MPzOVwl1SR2tWbXlk+1SfrSinZ
zx1A0I+MyrlITFbNMM6JK+uXKyZGors7Bk1PBxO4SQfHbjKuSosuzuxuA6Di
pQ5SkzBfDaJKjDkQM22cHTlLqOISVUUvaSsX+do+ldkN5qPTy/M15kIfAGq4
ZGabhnOA+DAgoTnb4Yxw5XJ7T/cW26DiSic6lhm5gc7LjGhbPst5alUZlTk0
jhHlfGX5+Op8/GRNmFsDYAZmolJYzigv65UsnCzx/TIbBJcZOTsodah7W8Jt
rfK37XqXpwL7G5MuqXxhOVMBU+VF2wkBuT6VwCRcA2SoE9Feu/voI+eRivy9
Vna6QMdhguValbFTl6E1MloizSegSLO7iO08x6P0GmOSNFJPursqBef1tow6
zsZ88rzlrFOvP7+ls/SM+1prxpj+MjgSBFSppLa2UFx9b65cQKsAoGleWnEN
z+bSBf2YalBs2cxexA8+YfFoxpGRG7QyXCfDFKvEKM47YDsI+FeD3AocUMtv
DPflyMHh3qEvV0g09eAn8tVClX0vjKm1Yaj1MWOjaa9jKO/INsTK8p2XHcmC
J46gqEXwitIBJLYcS0yoVU5ba6evB9Bn3QbQP5wmZcoZVBUx1oZWwwnSJ+GX
F85mlJO7Up6yOLRlQGBeIkWeu80XhFdK/qVWiLXvuY7iRSp3JFXRFq7DcpHp
GTXfeEzVUtwMWb55qJuZS5l5ytim9bmNMUxYvu07jORAqxV5UafMvKHX6ZS5
w46E3Tv4IXCuZ8veGBM9m+fY9VbBaWnDspKpJaAOc+pRsu5JLoY2yKE62SVC
jZTNdac3xlaw1uS0iYrs0DICujSzlCqdosSD40ZUJoSdMoGihMMVJdDV27dX
Ki+TMYAKFd0e2n2TMFQZk1MvJ3hqKVOXj627A9xs5jYS9g4Lazdzn6ZTMFyc
uAhpXUX7nxdvx6/G575ArgpH8SPFMXwrA6r4nBoV/Cz2ej2B4SM6qxD9Z4Nu
rzvo9vnogj+oXfFu0Ov1h9HkcDisvXL66IuuoDJ69OKo2+0Gy+VyveaO9fyK
Oxf8ypLNwnkHG2sLt64kbXSGXNMd1f8nV42oCTyROvBVZ2izKGuAa5RSuYB/
61VTs3qggrwu+znhDpDTqLSwdRWcbBO9hN+m1GeCVn05GdCDfilFkthXdLNT
oP3hUPIKg6+tMPjGCgNaoTyz8GtwWOsLR1lNNxsL1YYNeNjxycsdw75iGc1X
W2Tu4PPbfGwYj+eq7GzQyU6tJAvnKSVxE5UvFSoAUo6HLacjVlmkGR9NvqPU
3DKFMDJ1Azg6Pq+OkJwH0sLfcJgHPWa3y6z3L2yeJsjqNogon//FlkAgxN5T
R4Zbscc8d+sMBD+KEbnR+LKBwqX76JggeKcH1XwHi2zU3rw3tq5w6E9KocIa
mnh0Pjo72UHydtetsHJGrdWc6sV1GNGS2ge+/QsRbanSqhCJd12QrxHvnAFw
Yi+ZfxYnUSa2RNrnch/FaU1VqIhMROaweo6HQTmgIY9v+X5DKk2GRx7rqgYU
J20Z9Xe4mK96Jrsst19n9qXObP5NA/6G+v6vVhyZQSOUwXRM9L8iZvAgMYMH
iPEQFvz4ozgr4lx36v7joPxx1XB78nXPe9DH+v9fnYx97OlOJ6vR/KeEM3jy
oAgGG5LaRewOLdaV+ACxg69BQo3sRt7gPMPBf4cSfnz3R+NbvhKZRpinetjH
jQZLFesPevXDjrLTUwBfC/N8vgcrmMNK5s+///3uJxAFMn/Df9W+HJ4x9+et
uVGat6P09/auNTYg1OcwdOJW57ReONsKUR5Vt5PEka+bynbGyJHDWXT9jMLC
dPDUR1uXyVPixs/pWVowkt0WscFq5Xke6F6aWSahKEA7YHTI5/g5X+vgc+BE
RZoOvPl4PU7Dm2Ze7jpA69bhZicAdY50RlErJrb7uCY1HQoztfNHLhA2rrRY
sXHo2hYT4qu6MFEYeZvqiPmjk2dCgImT0JrGaZYmtYTEF+moo92RaUQNTW7R
2RxBLxLUD4T4uuJX8kwIjMYu5ynBB9UstgjpICrRn1S0QbGvNBMJcZIANjWE
8o8uCHFTKKPy0XV0kGJRVwSVGHWvyA74ZJFuI0mKSpRveaXSwSUIjxQ3uRL5
ifpOrk0d6xtUacjOfP+BBMxNpto1Cc7yJ1b5OyAU1EPuBsuIEAia75ad3Z21
J584L+J0RecZ6x4fNXuuzseucZTmMBdqgjq52zBO3UlZ6o2OG5evwfOtP1qj
My38tTlRm1D3aClXZWvEVLN87azN1HXoaMuuOLlVxlfMUCvyi898xYiIpB4C
9+X/UtHl7SqG2Hy/gzaAPa4Skrt1bkb9CrKJ1BXVvi/cceeq0fqcKOEbQd7+
XZ9WipkmivwhzVSGa4j07jLnQzyznRp3xajGLZlcyC3xIiFEUK47yCRyNsZC
mhV8dMheWWqMVMFmB6Yn0odDSWfbEulJ//s3bfIWEPGmbNViiwnd3JpWTHlj
sVS9XxGqVLpj50NupKE/kZAzzJArURdJhoAxOinxEJDJ6VSHYFXGK4i0jUCz
KGLJFr5UpExuTfHlEW67VpdrrLvtpbqzLt3ycnf+XO/P4QZZlLcQMr6qbeTt
TZX24RCjKnvrN6/o0IBbQr67Wt48A1z/XqiMOtDsNtxMtmnsb1c5VcKi4Ja5
O23ddZGvoggaDstejzcDbvmwe5Qb+g0ydxZJTxKoFXDkjimsO03zFdcaWUly
5dQK9qnTQ6l2yB09bxXcmK77UmrKZjNlSWxPtn7VMVLkAo6XGtnUDqS+CXX7
/WLu0ggo1dM6bf6CVqzNjXc0Ppqgu20V6xXt/JrYrre0djnDgjpnJt9qIdM7
FBirKuEjFJHWpqFmMZRX4apDPPgaa1DHRAZeWoLBiqCah/GyZanvj+1KC3Hm
tSOCkjxojXSaqzXVNYIRC5aA1DZ1F40LXluK3aIKYUHT5WcS1dXJkb+J9Wzv
6b5vXFN8ko5ZRf5nLCFTV7ij+M3obxsiLa8bOvVMFAfFpSzvOLgQVgvSdLVx
rvkMnBp0IBJZYulFfikYbnXHphFHCCBha7n6RNSlFREVibZdP81snABwwp4A
3MujlErnE8jA97J2HcyTkF30Li3LBTQXsNy5wuh8tJWF8UM+5nTnn86ekzSi
azl57bLsZdVQf6NgOW/VDIEE2RSow79UolSJwDTlzsowCL6Ic4e+/PnizsVq
ny/iTEnOaR76fKGTwIQ6rooTnVA9MPQIKIv6/qg8/czEF5DRWX9E+as+q7Pz
s7n27lE75u0YymT80FgO8trY4Ou3Sv3BLY96fF2/7vjkIcGNT65fbjwL/ge2
eDOP6DAAAA==

-->

</rfc>
