<?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.35 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dnsop-svcb-dane-01" category="std" consensus="true" updates="rfc6698" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.3 -->
  <front>
    <title abbrev="SVCB-DANE">Using Service Bindings with DANE</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-svcb-dane-01"/>
    <author initials="B. M." surname="Schwartz" fullname="Benjamin M. Schwartz">
      <organization>Meta Platforms, Inc.</organization>
      <address>
        <email>ietf@bemasc.net</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="2023" month="June" day="21"/>
    <area>ops</area>
    <workgroup>dnsop</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 32?>

<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>
    <?line 36?>

<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>
      <?line -18?>

</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"/>
            <author fullname="W. Hardaker" initials="W." surname="Hardaker"/>
            <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="March" year="2023"/>
            <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 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 [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-12"/>
        </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="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"/>
            <author fullname="J. Schlyter" initials="J." surname="Schlyter"/>
            <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"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <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"/>
            <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"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="M. Tuexen" initials="M." surname="Tuexen"/>
            <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"/>
            <author fullname="W. Hardaker" initials="W." surname="Hardaker"/>
            <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"/>
            <author fullname="M. Miller" initials="M." surname="Miller"/>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <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>
    <?line 250?>

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

-->

</rfc>
