<?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.6.17 (Ruby 3.1.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dnsop-svcb-dane-00" category="std" consensus="true" updates="rfc6698" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.15.3 -->
  <front>
    <title abbrev="SVCB-DANE">Using Service Bindings with DANE</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-svcb-dane-00"/>
    <author initials="B. M." surname="Schwartz" fullname="Benjamin M. Schwartz">
      <organization>Google LLC</organization>
      <address>
        <email>bemasc@google.com</email>
      </address>
    </author>
    <author initials="R." surname="Evans" fullname="Robert Evans">
      <organization>Google LLC</organization>
      <address>
        <email>evansr@google.com</email>
      </address>
    </author>
    <date year="2022" month="December" day="22"/>
    <area>ops</area>
    <workgroup>dnsop</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>Service Binding records introduce a new form of name indirection in DNS. This document specifies DNS-Based Authentication of Named Entities (DANE) interaction with Service Bindings to secure endpoints including use of ports and transports discovered via Service Parameters.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/bemasc/svcb-dane"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>The DNS-Based Authentication of Named Entities specification <xref target="RFC7671"/> explains how clients locate the TLSA record for a service of interest, starting with knowledge of the service's hostname, transport, and port number.  These are concatenated, forming a name like _8080._tcp.example.com.  It also specifies how clients should locate the TLSA record when one or more CNAME records are present, aliasing either the hostname or the TLSA record's name, and the resulting server names used in TLS.</t>
      <t>There are various DNS records other than CNAME that add indirection to the host resolution process, requiring similar specifications.  Thus, <xref target="RFC7672"/> describes how DANE interacts with MX records, and <xref target="RFC7673"/> describes its interaction with SRV records.</t>
      <t>This draft describes the interaction of DANE with indirection via Service Bindings <xref target="SVCB"/>, i.e. SVCB-compatible records such as SVCB and HTTPS.  It also explains how to use DANE with new TLS-based transports such as QUIC.</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>
    </section>
    <section anchor="using-dane-with-service-bindings">
      <name>Using DANE with Service Bindings</name>
      <t><xref section="6" sectionFormat="of" target="RFC7671"/> says:</t>
      <ul empty="true">
        <li>
          <t>With protocols that support explicit transport redirection via DNS MX records, SRV records, or other similar records, the TLSA base domain is based on the redirected transport endpoint rather than the origin domain.</t>
        </li>
      </ul>
      <t>This draft applies the same logic to SVCB-compatible records.  Specifically, if SVCB resolution was entirely secure (including any AliasMode records and/or CNAMEs), then for each connection attempt derived from a SVCB-compatible record,</t>
      <ul spacing="normal">
        <li>The initial TLSA base domain <bcp14>MUST</bcp14> be the final SVCB TargetName used for this connection attempt.  (Names appearing earlier in a resolution chain are not used.)</li>
        <li>The transport prefix <bcp14>MUST</bcp14> be the transport of this connection attempt (possibly influenced by the "alpn" SvcParam).</li>
        <li>The port prefix <bcp14>MUST</bcp14> be the port number of this connection attempt (possibly influenced by the "port" SvcParam).</li>
      </ul>
      <t>If the initial TLSA base domain is the start of a secure CNAME chain, clients <bcp14>MUST</bcp14> first try to use the end of the chain as the TLSA base domain, with fallback to the initial base domain, as described in <xref section="7" sectionFormat="of" target="RFC7671"/>.</t>
      <t>If any TLSA QNAME is aliased by a CNAME, clients <bcp14>MUST</bcp14> follow the TLSA CNAME to complete the resolution of the TLSA record.  (This does not alter the TLSA base domain.)</t>
      <t>If a TLSA RRSet is securely resolved, the client <bcp14>MUST</bcp14> set the SNI to the TLSA base domain of the RRSet.  In usage modes other than DANE-EE(3), the client <bcp14>MUST</bcp14> validate that the certificate covers this base domain, and <bcp14>MUST NOT</bcp14> require it to cover any other domain.</t>
      <t>If the client has SVCB-optional behavior (as defined in <xref section="3" sectionFormat="of" target="SVCB"/>), it <bcp14>MUST</bcp14> use the standard DANE logic described in <xref section="4.1" sectionFormat="of" target="RFC6698"/> when falling back to non-SVCB connection.</t>
    </section>
    <section anchor="protocols">
      <name>Updating the TLSA protocol prefixes</name>
      <t><xref section="3" sectionFormat="of" target="RFC6698"/> defined the protocol prefix used for constructing TLSA QNAMEs, and said:</t>
      <ul empty="true">
        <li>
          <t>The transport names defined for this protocol are "tcp", "udp", and "sctp".</t>
        </li>
      </ul>
      <t>At that time, there was exactly one TLS-based protocol defined for each of these transports.  However, with the introduction of QUIC <xref target="RFC9000"/>, there are now multiple TLS-derived protocols that can operate over UDP, even on the same port.  To distinguish the availability and configuration of DTLS and QUIC, this draft Updates the above sentence as follows:</t>
      <ul empty="true">
        <li>
          <t>The transport names defined for this protocol are "tcp" (TLS over TCP <xref target="RFC8446"/>), "udp" (DTLS <xref target="I-D.draft-ietf-tls-dtls13"/>), "sctp" (TLS over SCTP <xref target="RFC3436"/>), and "quic" (QUIC <xref target="RFC9000"/>).</t>
        </li>
      </ul>
    </section>
    <section anchor="operational-considerations">
      <name>Operational considerations</name>
      <section anchor="recommended-configurations">
        <name>Recommended configurations</name>
        <t>Service consumers are expected to use CNAME or SVCB AliasMode to point at provider-controlled records, e.g.:</t>
        <artwork><![CDATA[
alias.net.                  HTTPS 0 xyz.provider.com.
www.alias.net.              CNAME xyz.provider.com.
xyz.provider.com.           HTTPS 1 . alpn=h2 ...
xyz.provider.com.           A     192.0.2.1
_443._tcp.xyz.provider.com. TLSA  <provider keys>
]]></artwork>
        <t>For ease of management, providers may want to alias various TLSA QNAMEs to a single RRSet:</t>
        <artwork><![CDATA[
_443._tcp.xyz.provider.com. CNAME dane-central.provider.com.
dane-central.provider.com.  TLSA  <provider keys>
]]></artwork>
      </section>
      <section anchor="accidental-pinning">
        <name>Accidental pinning</name>
        <t>When a service is used by third-party consumers, DANE allows the consumer to publish records that make claims about the certificates used by the service.  When the service subsequently rotates its TLS keys, DANE authentication will fail for these consumers, resulting in an outage.  Accordingly, zone owners <bcp14>MUST NOT</bcp14> publish TLSA records for public keys that are not under their control unless they have an explicit arrangement with the key holder.</t>
        <t>To prevents the above misconfiguration and ensure that TLS keys can be rotated freely, service operators <bcp14>MAY</bcp14> reject TLS connections whose SNI does not correspond to an approved TLSA base domain.</t>
        <t>Service Bindings also enable any third party consumer to publish fixed SvcParams for the service.  This can cause an outage or service degradation if the service makes a backward-incompatible configuration change.  Accordingly, zone owners <bcp14>SHOULD NOT</bcp14> publish SvcParams for a TargetName that they do not control, and service operators should take caution when making incompatible configuration changes.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document specifies the use of TLSA as a property of each connection attempt.  In environments where DANE is optional, this means that the fallback procedure might use DANE for some conection attempts but not others.</t>
      <t>This document only specifies the use of TLSA records when the SVCB records were resolved securely.  Use of TLSA records in conjunction with insecurely resolved SVCB records is not safe in general, although there may be some configurations where it is appropriate (e.g. when only opportunistic security is available).</t>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <t>The following examples demonstrate Service Binding interaction with TLSA base domain selection.</t>
      <t>All of the RRSets below are assumed fully-secure with all related DNSSEC record types omitted for brevity.</t>
      <section anchor="https-servicemode">
        <name>HTTPS ServiceMode</name>
        <t>Given service URI <tt>https://api.example.com</tt> and record:</t>
        <artwork><![CDATA[
api.example.com. HTTPS 1 .
]]></artwork>
        <t>The TLSA QNAME is <tt>_443._tcp.api.example.com</tt>.</t>
      </section>
      <section anchor="https-aliasmode">
        <name>HTTPS AliasMode</name>
        <t>Given service URI <tt>https://api.example.com</tt> and records:</t>
        <artwork><![CDATA[
api.example.com.     HTTPS 0 svc4.example.net.
svc4.example.net.    HTTPS 0 xyz.example-cdn.com.
xyz.example-cdn.com. A     192.0.2.1
]]></artwork>
        <t>The TLSA QNAME is <tt>_443._tcp.xyz.example-cdn.com</tt>.</t>
      </section>
      <section anchor="quic-and-cname">
        <name>QUIC and CNAME</name>
        <t>Given service URI <tt>https://api.example.com</tt> and records:</t>
        <artwork><![CDATA[
www.example.com.  CNAME api.example.com.
api.example.com.  HTTPS 1 svc4.example.net alpn=h2,h3 port=8443
svc4.example.net. CNAME xyz.example-cdn.com.
]]></artwork>
        <t>If the connection attempt is using HTTP/3, the transport label is set to <tt>_quic</tt>; otherwise <tt>_tcp</tt> is used.</t>
        <t>The initial TLSA QNAME would be one of:</t>
        <ul spacing="normal">
          <li>
            <tt>_8443._quic.xyz.example-cdn.com</tt></li>
          <li>
            <tt>_8443._tcp.xyz.example-cdn.com</tt></li>
        </ul>
        <t>If no TLSA record is found, the fallback TLSA QNAME would be one of:</t>
        <ul spacing="normal">
          <li>
            <tt>_8443._quic.svc4.example.net</tt></li>
          <li>
            <tt>_8443._tcp.svc4.example.net</tt></li>
        </ul>
      </section>
      <section anchor="new-scheme-servicemode">
        <name>New scheme ServiceMode</name>
        <t>Given service URI <tt>foo://api.example.com:8443</tt> and record:</t>
        <artwork><![CDATA[
_8443._foo.api.example.com. SVCB 1 api.example.com.
]]></artwork>
        <t>The TLSA QNAME is <tt>_8443._$PROTO.api.example.com</tt>, where $PROTO is the appropriate value for the client-selected transport as discussed in <xref target="protocols"/> .</t>
      </section>
      <section anchor="new-scheme-aliasmode">
        <name>New scheme AliasMode</name>
        <t>Given service URI <tt>foo://api.example.com:8443</tt> and records:</t>
        <artwork><![CDATA[
_8443._foo.api.example.com. SVCB 0 svc4.example.net.
svc4.example.net.           SVCB 1 .
svc4.example.net.           A    192.0.2.1
]]></artwork>
        <t>The TLSA QNAME is <tt>_8443._$PROTO.svc4.example.net</tt> (with $PROTO as above).  This is the same if the ServiceMode record is absent.</t>
      </section>
      <section anchor="new-protocols">
        <name>New protocols</name>
        <t>Given service URI <tt>foo://api.example.com:8443</tt> and records:</t>
        <artwork><![CDATA[
_8443._foo.api.example.com. SVCB 0 svc4.example.net.
svc4.example.net. SVCB 3 . alpn=foo,bar port=8004
]]></artwork>
        <t>The TLSA QNAME is <tt>_8004._$PROTO1.svc4.example.net</tt> or <tt>_8004._$PROTO2.svc4.example.net</tt>, where $PROTO1 and $PROTO2 are the transport prefixes appropriate for "foo" and "bar" respectively.  (Note that SVCB requires each ALPN to unambiguously indicate a transport.)</t>
      </section>
      <section anchor="dns-servicemode">
        <name>DNS ServiceMode</name>
        <t>Given a DNS server <tt>dns.example.com</tt> and record:</t>
        <artwork><![CDATA[
_dns.dns.example.com. SVCB 1 dns.example.com. alpn=dot
]]></artwork>
        <t>The TLSA QNAME is <tt>_853._tcp.dns.example.com</tt>.  The TLSA base name is taken from the SVCB TargetName.  The port and protocol are taken from the "dot" ALPN value.</t>
      </section>
      <section anchor="dns-aliasmode">
        <name>DNS AliasMode</name>
        <t>Given a DNS server <tt>dns.example.com</tt> and records:</t>
        <artwork><![CDATA[
_dns.dns.example.com. SVCB 0 dns.my-dns-host.net.
dns.my-dns-host.net.  SVCB 1 . alpn=dot
]]></artwork>
        <t>The TLSA QNAME is <tt>_853._tcp.ns1.my-dns-host.net</tt>.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is instructed to add the following entry to the "Underscored and Globally Scoped DNS Node Names" registry:</t>
      <table>
        <thead>
          <tr>
            <th align="left">RR Type</th>
            <th align="left">_NODE NAME</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TLSA</td>
            <td align="left">_quic</td>
            <td align="left">(This document)</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC7671">
          <front>
            <title>The DNS-Based Authentication of Named Entities (DANE) Protocol: Updates and Operational Guidance</title>
            <author fullname="V. Dukhovni" initials="V." surname="Dukhovni">
              <organization/>
            </author>
            <author fullname="W. Hardaker" initials="W." surname="Hardaker">
              <organization/>
            </author>
            <date month="October" year="2015"/>
            <abstract>
              <t>This document clarifies and updates the DNS-Based Authentication of Named Entities (DANE) TLSA specification (RFC 6698), based on subsequent implementation experience.  It also contains guidance for implementers, operators, and protocol developers who want to use DANE records.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7671"/>
          <seriesInfo name="DOI" value="10.17487/RFC7671"/>
        </reference>
        <reference anchor="SVCB">
          <front>
            <title>Service binding and parameter specification via the DNS (DNS SVCB and HTTPS RRs)</title>
            <author fullname="Benjamin M. Schwartz" initials="B. M." surname="Schwartz">
              <organization>Google</organization>
            </author>
            <author fullname="Mike Bishop" initials="M." surname="Bishop">
              <organization>Akamai Technologies</organization>
            </author>
            <author fullname="Erik Nygren" initials="E." surname="Nygren">
              <organization>Akamai Technologies</organization>
            </author>
            <date day="11" month="October" year="2022"/>
            <abstract>
              <t>   This document specifies the "SVCB" 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 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 [HTTP].
   By providing more information to the client before it attempts to
   establish a connection, these records offer potential benefits to
   both performance and privacy.

   TO BE REMOVED: This document is being collaborated on in Github at:
   https://github.com/MikeBishop/dns-alt-svc
   (https://github.com/MikeBishop/dns-alt-svc).  The most recent working
   version of the document, open issues, etc. should all be available
   there.  The authors (gratefully) accept pull requests.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-svcb-https-11"/>
        </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">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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="RFC6698">
          <front>
            <title>The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman">
              <organization/>
            </author>
            <author fullname="J. Schlyter" initials="J." surname="Schlyter">
              <organization/>
            </author>
            <date month="August" year="2012"/>
            <abstract>
              <t>Encrypted communication on the Internet often uses Transport Layer Security (TLS), which depends on third parties to certify the keys used.  This document improves on that situation by enabling the administrators of domain names to specify the keys used in that domain's TLS servers.  This requires matching improvements in TLS client software, but no change in TLS server software.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6698"/>
          <seriesInfo name="DOI" value="10.17487/RFC6698"/>
        </reference>
        <reference anchor="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar">
              <organization/>
            </author>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson">
              <organization/>
            </author>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol.  QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances.  Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla">
              <organization/>
            </author>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol.  TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961.  This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="I-D.draft-ietf-tls-dtls13">
          <front>
            <title>The Datagram Transport Layer Security (DTLS) Protocol Version 1.3</title>
            <author fullname="Eric Rescorla" initials="E." surname="Rescorla">
              <organization>RTFM, Inc.</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Nagendra Modadugu" initials="N." surname="Modadugu">
              <organization>Google, Inc.</organization>
            </author>
            <date day="30" month="April" year="2021"/>
            <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.

 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.

 This document obsoletes RFC 6347.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-dtls13-43"/>
        </reference>
        <reference anchor="RFC3436">
          <front>
            <title>Transport Layer Security over Stream Control Transmission Protocol</title>
            <author fullname="A. Jungmaier" initials="A." surname="Jungmaier">
              <organization/>
            </author>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla">
              <organization/>
            </author>
            <author fullname="M. Tuexen" initials="M." surname="Tuexen">
              <organization/>
            </author>
            <date month="December" year="2002"/>
            <abstract>
              <t>This document describes the usage of the Transport Layer Security (TLS) protocol, as defined in RFC 2246, over the Stream Control Transmission Protocol (SCTP), as defined in RFC 2960 and RFC 3309. The user of TLS can take advantage of the features provided by SCTP, namely the support of multiple streams to avoid head of line blocking and the support of multi-homing to provide network level fault tolerance. Additionally, discussions of extensions of SCTP are also supported, meaning especially the support of dynamic reconfiguration of IP- addresses.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3436"/>
          <seriesInfo name="DOI" value="10.17487/RFC3436"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC7672">
          <front>
            <title>SMTP Security via Opportunistic DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS)</title>
            <author fullname="V. Dukhovni" initials="V." surname="Dukhovni">
              <organization/>
            </author>
            <author fullname="W. Hardaker" initials="W." surname="Hardaker">
              <organization/>
            </author>
            <date month="October" year="2015"/>
            <abstract>
              <t>This memo describes a downgrade-resistant protocol for SMTP transport security between Message Transfer Agents (MTAs), based on the DNS-Based Authentication of Named Entities (DANE) TLSA DNS record. Adoption of this protocol enables an incremental transition of the Internet email backbone to one using encrypted and authenticated Transport Layer Security (TLS).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7672"/>
          <seriesInfo name="DOI" value="10.17487/RFC7672"/>
        </reference>
        <reference anchor="RFC7673">
          <front>
            <title>Using DNS-Based Authentication of Named Entities (DANE) TLSA Records with SRV Records</title>
            <author fullname="T. Finch" initials="T." surname="Finch">
              <organization/>
            </author>
            <author fullname="M. Miller" initials="M." surname="Miller">
              <organization/>
            </author>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre">
              <organization/>
            </author>
            <date month="October" year="2015"/>
            <abstract>
              <t>The DNS-Based Authentication of Named Entities (DANE) specification (RFC 6698) describes how to use TLSA resource records secured by DNSSEC (RFC 4033) to associate a server's connection endpoint with its Transport Layer Security (TLS) certificate (thus enabling administrators of domain names to specify the keys used in that domain's TLS servers).  However, application protocols that use SRV records (RFC 2782) to indirectly name the target server connection endpoints for a service domain name cannot apply the rules from RFC 6698.  Therefore, this document provides guidelines that enable such protocols to locate and use TLSA records.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7673"/>
          <seriesInfo name="DOI" value="10.17487/RFC7673"/>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
FuQoAAA=

-->

</rfc>
