<?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.11 (Ruby 3.1.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-rebs-dnsop-svcb-dane-01" category="std" consensus="true" updates="rfc6698" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.10 -->
  <front>
    <title abbrev="SVCB-DANE">Using Service Bindings with DANE</title>
    <seriesInfo name="Internet-Draft" value="draft-rebs-dnsop-svcb-dane-01"/>
    <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="June" 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 Serving 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="Ben Schwartz">
              <organization>Google</organization>
            </author>
            <author fullname="Mike Bishop">
              <organization>Akamai Technologies</organization>
            </author>
            <author fullname="Erik Nygren">
              <organization>Akamai Technologies</organization>
            </author>
            <date day="24" month="May" 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-10"/>
        </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">
              <organization>RTFM, Inc.</organization>
            </author>
            <author fullname="Hannes Tschofenig">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Nagendra 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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
NROu8j+hrmuq5CgAAA==

-->

</rfc>
