<?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.43 (Ruby 3.4.9) -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-cel-nfsv4-rpc-tls-dane-00" category="std" consensus="true" submissionType="IETF" updates="9289" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="RPC TLS with DANE">Using RPC-with-TLS with DNS-Based Authentication of Named Entities</title>
    <seriesInfo name="Internet-Draft" value="draft-cel-nfsv4-rpc-tls-dane-00"/>
    <author fullname="Charles Lever" role="editor">
      <organization/>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>cel-ietf@chucklever.net</email>
      </address>
    </author>
    <date year="2026" month="September" day="01"/>
    <area>Web and Internet Transport</area>
    <workgroup>Network File System Version 4</workgroup>
    <keyword>RPC</keyword>
    <keyword>TLS</keyword>
    <keyword>DANE</keyword>
    <keyword>TLSA</keyword>
    <keyword>DNSSEC</keyword>
    <keyword>STRIPTLS</keyword>
    <abstract>
      <?line 64?>

<t>RPC-with-TLS assumes that DNS-Based Authentication of Named Entities
(DANE) is available on platforms where it is deployed, and recommends
that a client operating under an opportunistic security policy check
for a TLSA record before initiating an association, but does not say
how.  This document specifies the missing details, so that a TLSA
record authenticates an RPC server with no certification authority
trust anchor provisioned on the client.  It updates RFC 9289.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://chucklever.github.io/i-d-rpc-tls-dane/draft-cel-nfsv4-rpc-tls-dane.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-cel-nfsv4-rpc-tls-dane/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        nfsv4 Working Group mailing list (<eref target="mailto:nfsv4@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/nfsv4/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/nfsv4/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/chucklever/i-d-rpc-tls-dane"/>.</t>
    </note>
  </front>
  <middle>
    <?line 75?>

<section anchor="intro">
      <name>Introduction</name>
      <t>RPC-with-TLS <xref target="RFC9289"/> protects Remote Procedure Call <xref target="RFC5531"/>
traffic by encapsulating it in a TLS <xref target="RFC9846"/> session.  A client
discovers whether a server supports the mechanism by sending a NULL
procedure carrying the AUTH_TLS authentication flavor, in cleartext,
before the TLS handshake begins.  A server that supports RPC-with-TLS
replies with a "STARTTLS" token, after which the client sends a
ClientHello on the same connection or to the same UDP destination
port.</t>
      <t>Section 5.2.1 of <xref target="RFC9289"/> requires every RPC-with-TLS implementation
to support authenticating server certificates by PKIX <xref target="RFC5280"/> trust
against a locally configured expected DNS-ID.  The client resolves
that name in the DNS to reach the server, but the DNS supplies nothing
that authenticates the server or that says the server is expected to
speak TLS.  Two deployment problems follow:</t>
      <ul spacing="normal">
        <li>
          <t>Trust anchor distribution.  Every client must be provisioned with
the certification authority material needed to validate the servers
it will contact, and kept current as certificates are rotated.  A
server operator without a certification authority has no way to
tell clients what key to expect other than by configuring each of
them.</t>
        </li>
        <li>
          <t>STRIPTLS.  The AUTH_TLS probe and its reply are exchanged in
cleartext.  An on-path attacker who suppresses the probe, or
rewrites the reply so that it does not carry the "STARTTLS" token,
makes a TLS-capable server appear not to support RPC-with-TLS, and
a client under an opportunistic policy proceeds in cleartext.
Nothing the client learns on the way to the server tells it that
TLS was expected.</t>
        </li>
      </ul>
      <t><xref target="RFC9289"/> anticipated these problems and pointed at the same remedy
for them, DNS-Based Authentication of Named Entities (DANE)
<xref target="RFC6698"/>, in several places:</t>
      <ul spacing="normal">
        <li>
          <t>Section 1 lists DNSSEC/DANE among the platform facilities that
RPC-with-TLS support is assumed to build on.</t>
        </li>
        <li>
          <t>Section 6.1.1 offers a TLSA record as one of two mitigations for
STRIPTLS attacks: it "can alert clients that TLS is expected to
work, and provide a binding of a hostname to the X.509 identity",
and a client under an opportunistic security policy should check
for one before initiating an association.  The other mitigation, a
policy that requires TLS on every connection, is strongly
encouraged where TLSA records are not available.</t>
        </li>
        <li>
          <t>Section 6.4 lists among its best security policy practices that,
when using AUTH_NULL or AUTH_SYS, "both peers are <bcp14>RECOMMENDED</bcp14> to
have DNSSEC TLSA records" together with "a security policy that
requires mutual peer authentication and rejection of a connection
when host authentication fails".</t>
        </li>
      </ul>
      <t>A TLSA RRset addresses both problems at once.  Published in a zone
the operator already signs, it carries the binding between a server
name and its public key in the DNS, alongside the name the client had
to resolve anyway, so no client needs certification authority
material for that server.  And because a DNSSEC-validated TLSA RRset
is an authenticated statement by the server operator that TLS is
expected to work, a client holding one can no longer treat silent
fallback to cleartext as acceptable: the STRIPTLS attack fails
closed.</t>
      <t>However, <xref target="RFC9289"/> offers a sketch rather than a specification.  It
leaves unspecified the owner names at which a client queries for the
TLSA record, whether a lookup failure is treated as an absent record,
the name the client sends in SNI and verifies in the server's
certificate when a record is found, and which outcomes of the AUTH_TLS
probe still permit cleartext.  Two independent implementations
resolving these questions differently would not interoperate: one
fails a handshake that the other completes.  A client that makes the
permissive choice at each point obtains none of the downgrade
resistance a TLSA record appears to promise.</t>
      <t>To close these gaps, this document specifies DANE
for RPC-with-TLS completely enough to implement and deploy, following
the operational specifications of <xref target="RFC7671"/> and <xref target="RFC7672"/> and
making the RPC-specific choices those documents leave to application
protocols.</t>
      <section anchor="scope">
        <name>Scope</name>
        <t>This document defines client behavior and places no requirements on
RPC servers.  Its one requirement on the server side, in
<xref target="rollover"/>, binds the publisher of the TLSA RRset; <xref target="deployment"/>
gives the operational guidance that accompanies it.  A server that
conforms to <xref target="RFC9289"/> interoperates with a client
implementing this document without modification.</t>
        <t>This document specifies the use of DANE to authenticate an RPC server
to an RPC client.  Authentication of an RPC client to an RPC server by
means of DANE is out of scope; see <xref target="client-auth"/>.</t>
        <t>This document applies where the server authenticates itself with a
certificate.  A server association that uses the pre-shared key
mechanism of Section 5.2.2 of <xref target="RFC9289"/> presents no certificate for
DANE to authenticate. The procedures in this document do not apply to
it.  The exclusion extends to downgrade resistance: such an
association does not consult TLSA records to pin a security floor
(<xref target="floor"/>).  The provisioned key is itself the operator's commitment
to TLS, and it is already in the client's possession, so local policy
can require TLS for the association without a DNS lookup.</t>
        <t>Section 5.1 of <xref target="RFC7671"/> also provides for matching a DANE-EE(3)
record against a raw public key <xref target="RFC7250"/>; <xref target="RFC9289"/> defines no
way to convey one, so that case does not arise here.</t>
        <t>TLSA owner names are defined here for the transports <xref target="RFC9289"/>
itself defines, namely TLS over TCP and DTLS over UDP.  A future
document that specifies RPC over another transport is expected to
define the corresponding owner-name convention.</t>
      </section>
    </section>
    <section anchor="updates">
      <name>Updates to RFC 9289</name>
      <t>Two requirements of <xref target="RFC9289"/> are changed here:</t>
      <ul spacing="normal">
        <li>
          <t>Section 5.2.1 of <xref target="RFC9289"/> requires PKIX path validation and a
check of the expected DNS-ID or iPAddress subjectAltName against the
presented certificate.  Those requirements continue to apply
unchanged wherever this document requires PKIX authentication, and
to the name checks performed for certificate usage DANE-TA(2).  They
do not apply to a server authenticated by a DANE-EE(3) match, for
the reasons given in Section 5.1 of <xref target="RFC7671"/> and restated in
<xref target="dane-ee"/>.</t>
        </li>
        <li>
          <t>Where <xref target="RFC9289"/> cites <xref target="RFC6125"/> for certificate name checks,
clients implementing this document perform those checks per
<xref target="RFC9525"/>, which obsoletes <xref target="RFC6125"/>.  The additional
restriction in Section 5.2.1 of <xref target="RFC9289"/>, that a DNS domain name
in an RPC-with-TLS certificate contain no wildcard character, is
retained.</t>
        </li>
      </ul>
      <t>Elsewhere <xref target="RFC9289"/> makes a recommendation or leaves a choice to
local policy.  This document replaces each of the following with a
requirement stated in the section named:</t>
      <ul spacing="normal">
        <li>
          <t>The first bullet of Section 6.1.1 of <xref target="RFC9289"/> recommends a TLSA
check before an association is initiated, and disconnection when
TLS or authentication then fails.  <xref target="lookup"/>, <xref target="behavior"/>, and
<xref target="floor"/> replace that recommendation.</t>
        </li>
        <li>
          <t>The second bullet of Section 6.1.1 of <xref target="RFC9289"/> recommends a
policy that requires TLS on every connection, and Section 6.4
recommends, for AUTH_NULL and AUTH_SYS, TLSA records for both peers
and rejection of a connection when host authentication fails.
<xref target="floor"/> and <xref target="fallback"/> require the server-authentication half
of that behavior where this document pins a security floor; the
client-authentication half is out of scope (<xref target="client-auth"/>).
Where no floor is pinned, <xref target="fallback"/> permits cleartext operation
on a well-formed decline; a deployment that adopts either
recommendation in full remains conformant.</t>
        </li>
        <li>
          <t>Section 4.1 of <xref target="RFC9289"/> leaves to local policy whether RPC
operation continues in cleartext when the AUTH_TLS probe does not
yield the "STARTTLS" indication.  <xref target="fallback"/> specifies that
policy, and it is more restrictive than what <xref target="RFC9289"/> permits.</t>
        </li>
      </ul>
      <t>This document also extends the audit log that Section 6.1 of
<xref target="RFC9289"/> requires: <xref target="audit"/> adds to the required content of that
log and permits it to be assembled from correlatable events.</t>
      <t>Nothing in this document changes the TLS version, ALPN, cipher suite,
confidentiality, or transport requirements of <xref target="RFC9289"/>, nor its
provisions for pre-shared keys or for RPCSEC_GSS.</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?>

<t>This document assumes a working knowledge of RPC version 2
<xref target="RFC5531"/>, of RPC-with-TLS <xref target="RFC9289"/>, and of DANE <xref target="RFC6698"/>
        <xref target="RFC7671"/>.  It uses the DNSSEC validation states "secure",
"insecure", "bogus", and "indeterminate" as defined in Section 5 of
<xref target="RFC4033"/>.</t>
      <t>The following terms are used as defined here.</t>
      <dl>
        <dt>Reference name:</dt>
        <dd>
          <t>The DNS domain name that identifies to the client the server it is
contacting.  For an association established by administrative
configuration, it is the name that appeared in that configuration
-- for NFS, the server component of the mount specification.  For
a derived association (<xref target="derived"/>), it is the name the upper-layer
protocol supplied.  <xref target="refname"/> states the requirements on it.</t>
        </dd>
        <dt>TLSA base domain:</dt>
        <dd>
          <t>The domain name to which the port and transport labels are
prepended to form a TLSA owner name, as in Section 3 of
<xref target="RFC6698"/>.  A client may have more than one candidate base domain
for a single reference name; see <xref target="candidates"/>.</t>
        </dd>
        <dt>Selected TLSA base domain:</dt>
        <dd>
          <t>The candidate TLSA base domain whose evaluation produced the DNS
outcome class for the association attempt.  See <xref target="selected"/>.</t>
        </dd>
        <dt>DNS outcome class:</dt>
        <dd>
          <t>One of the five results defined in <xref target="outcomes"/> that a client
assigns to a TLSA lookup for a given reference name, port, and
transport.</t>
        </dd>
        <dt>Usable record:</dt>
        <dd>
          <t>A TLSA record that the client is able to use to authenticate a
server certificate, in the sense of Section 4.1 of <xref target="RFC6698"/> and
as further constrained by <xref target="usable"/>.</t>
        </dd>
        <dt>Server association:</dt>
        <dd>
          <t>The set of transport connections a client operates toward one
server, selected by one reference name, and treated as a single
administrative and security unit; <xref target="RFC9289"/> uses "association"
informally.  It begins with the client's first association attempt
and ends when the administrative action that created it is undone.
For NFS, it is what a mount point and any additional connections
established for it are carried over, and it lasts from mount to
unmount.</t>
        </dd>
        <dt>Association attempt:</dt>
        <dd>
          <t>One attempt by a client to establish a transport connection for a
server association, from the selection of a destination through
either the completion of a TLS handshake, a decision to proceed in
cleartext, or failure.</t>
        </dd>
        <dt>Security floor:</dt>
        <dd>
          <t>The minimum acceptable security level that a client has determined
for a server association, and below which it <bcp14>MUST NOT</bcp14> operate.  See
<xref target="floor"/>.</t>
        </dd>
        <dt>DANE policy mode:</dt>
        <dd>
          <t>The client's configured disposition toward DANE for a given server
association: disabled, opportunistic, or mandatory.  See <xref target="modes"/>.</t>
        </dd>
      </dl>
    </section>
    <section anchor="overview">
      <name>Overview of Operation</name>
      <t>A client that has DANE enabled for a server association performs, in
addition to what <xref target="RFC9289"/> already specifies, the following steps.</t>
      <ol spacing="normal" type="1"><li>
          <t>It derives a reference name for the server it is about to contact,
subject to the requirements in <xref target="refname"/>.  A destination the
client cannot name in the DNS, such as one selected by IP address
literal, carries no DANE binding and is handled per <xref target="no-dane"/>.</t>
        </li>
        <li>
          <t>It looks up TLSA records at the owner names derived from that
reference name, the destination port, and the transport, and
reduces the results to a single DNS outcome class.  <xref target="lookup"/>
specifies this procedure.</t>
        </li>
        <li>
          <t>It applies the outcome class to the association attempt.  An
outcome of SECURE_USABLE or SECURE_UNUSABLE pins a security floor
for the association (<xref target="floor"/>),
which constrains whether cleartext operation remains permissible
and which failures are recoverable.</t>
        </li>
        <li>
          <t>If a TLS handshake takes place, it authenticates the server
according to the outcome class: by DANE (<xref target="authn"/>) where the
client found a usable record, and by the PKIX rules of
Section 5.2.1 of <xref target="RFC9289"/> otherwise.</t>
        </li>
        <li>
          <t>It records the policy inputs, the decision, and the authentication
result in the audit log that Section 6.1 of <xref target="RFC9289"/> already
requires (<xref target="audit"/>).</t>
        </li>
      </ol>
      <t>Steps 2 and 3 concern the association attempt as a whole and can be
performed before the AUTH_TLS probe is sent; step 4 happens during
the handshake.  How an implementation divides the work is not
specified; <xref target="coherence"/> states the two constraints a division <bcp14>MUST</bcp14>
respect.</t>
      <section anchor="modes">
        <name>DANE policy modes</name>
        <t>A client implementing this document <bcp14>MUST</bcp14> support the following three
policy modes, and <bcp14>MUST</bcp14> allow the mode to be configured independently
for each server association.</t>
        <dl>
          <dt>Disabled:</dt>
          <dd>
            <t>The client performs none of the procedures in this document.  Its
behavior is that specified by <xref target="RFC9289"/>.</t>
          </dd>
          <dt>Opportunistic:</dt>
          <dd>
            <t>The client performs the procedures in this document.  A DNS outcome
class of SECURE_USABLE or SECURE_UNUSABLE pins a security floor and
constrains the association as specified in <xref target="behavior"/> and
<xref target="floor"/>.  SECURE_ABSENT and INSECURE pin no floor; <xref target="fallback"/>
then governs whether the attempt may proceed in cleartext, and any
TLS session established is authenticated by the PKIX rules of
Section 5.2.1 of <xref target="RFC9289"/>.  ERROR fails the attempt
(<xref target="behavior"/>).  This mode is
intended for fleet-wide deployment against a server population that
has not uniformly published TLSA records; see <xref target="adaptive"/>.</t>
          </dd>
          <dt>Mandatory:</dt>
          <dd>
            <t>The client performs the procedures in this document and additionally
requires that the server be authenticated by DANE.  Any outcome
other than SECURE_USABLE followed by a successful DANE
authentication <bcp14>MUST</bcp14> fail the association attempt.  A destination
that cannot carry a DANE binding at all (<xref target="no-dane"/>) fails rather
than falling back to PKIX.</t>
          </dd>
        </dl>
        <t>Mandatory mode never silently degrades.  An implementation that lacks
some part of this specification, such as a transport for which it
defines no owner name, <bcp14>MUST</bcp14> fail an association attempt made in
mandatory mode rather than proceed without the protection the mode
was configured to obtain.</t>
      </section>
    </section>
    <section anchor="records">
      <name>TLSA Records for RPC Services</name>
      <section anchor="owner-names">
        <name>Owner names</name>
        <t>TLSA owner names for RPC services follow the convention in Section 3
of <xref target="RFC6698"/> without modification.  The owner name is formed by
prepending, to a TLSA base domain:</t>
        <ul spacing="normal">
          <li>
            <t>the second label "_tcp" for RPC-with-TLS over TCP, or "_udp" for
RPC-with-DTLS over UDP, per Sections 5.1.1 and 5.1.2 of
<xref target="RFC9289"/>; and</t>
          </li>
          <li>
            <t>the first label, consisting of an underscore followed by the decimal
representation, without leading zeros, of the port number to which
the client connects.</t>
          </li>
        </ul>
        <t>For example, an NFS server reached at "nfs.example.com" on the default
NFS port over TCP publishes its TLSA RRset at
"_2049._tcp.nfs.example.com".</t>
      </section>
      <section anchor="ports">
        <name>Alternate ports</name>
        <t>The port in the owner name is the port to which the client actually
connects, not a registered port for the RPC program in use.  RPC
services are routinely offered on other ports, by site convention or
by local configuration: a service reached on port 20490 over TCP at
"nfs.example.com" publishes its TLSA RRset at
"_20490._tcp.nfs.example.com", and a server that offers the same
service on several ports publishes one TLSA RRset per port.</t>
        <t>Because the port is part of the owner name, a TLSA RRset authenticates
the server at a known port and says nothing about the same server at
another port, in the same way that Section 4.1 of <xref target="RFC9289"/> observes
that a successful AUTH_TLS probe on one port and transport implies
nothing about any other.</t>
      </section>
      <section anchor="provenance">
        <name>Port provenance</name>
        <t>The distinction that matters for downgrade resistance is not the value
of the port but where the client obtained it.</t>
        <t>An RPC client may learn the port for a program from the server's
RPCBIND service <xref target="RFC1833"/>, whose replies are not authenticated.  An
attacker who substitutes a port in an RPCBIND reply thereby
substitutes the first label of the TLSA owner name the client will
query.  The query is made at a name for which the operator published
nothing, and the client assigns SECURE_ABSENT (<xref target="outcomes"/>) and pins
no floor.</t>
        <t>Accordingly:</t>
        <ul spacing="normal">
          <li>
            <t>DANE authentication as specified in <xref target="authn"/> applies at whatever
port the client connects to, whatever the provenance of that port.</t>
          </li>
          <li>
            <t>A client <bcp14>MUST NOT</bcp14> pin a security floor (<xref target="floor"/>) on the basis of a
DNS outcome derived from a port the client obtained from an
unauthenticated source.  Ports obtained from local configuration,
including a configured default for the RPC program, are trusted for
this purpose; ports obtained from an unauthenticated RPCBIND reply,
or from any other unauthenticated in-band source, are not.</t>
          </li>
        </ul>
        <t>A TLSA RRset can authenticate a server at a port the client already
knew.  It cannot retroactively secure the client's selection of that
port.  <xref target="sec-ports"/> describes how a client obtains ports from an
authenticated source.</t>
      </section>
      <section anchor="rollover">
        <name>Publishing and key rollover</name>
        <t>Publishers <bcp14>MUST</bcp14> observe the requirements of Section 8 of <xref target="RFC7671"/>,
in particular during key rollover: the RRset must at all times contain
a record matching the certificate that every server answering for the
name may present.  A client that has pinned a floor fails rather than
falls back when the RRset and the certificate disagree, so a rollover
performed in the wrong order takes the service down.  That is
intended, but operators should plan for it.</t>
      </section>
    </section>
    <section anchor="refname">
      <name>The Reference Name</name>
      <section anchor="requirements-on-the-reference-name">
        <name>Requirements on the reference name</name>
        <t>The TLSA base domains a client considers <bcp14>MUST</bcp14> be derived from the
association's reference name, as specified in <xref target="lookup"/>.</t>
        <t>A client <bcp14>MUST NOT</bcp14> use a name obtained by reverse resolution of the
server's network address as a reference name, or as the basis for one.
Such a name is chosen by whoever controls the reverse zone, and
accepting it would let that party select the TLSA RRset against which
the client authenticates.</t>
        <t>Before treating a configured value as a reference name, a client <bcp14>MUST</bcp14>
apply the following input contract.</t>
        <ul spacing="normal">
          <li>
            <t>If the value is an IPv4 or IPv6 address literal, including an IPv6
literal bearing a zone identifier, it is not a DNS name.  The
destination carries no DANE binding; see <xref target="no-dane"/>.</t>
          </li>
          <li>
            <t>An internationalized domain name <bcp14>MUST</bcp14> be converted to A-label form
<xref target="RFC5890"/> before it is used to construct an owner name, as
Section 3 of <xref target="RFC6698"/> requires.</t>
          </li>
          <li>
            <t>The value <bcp14>MUST</bcp14> satisfy the syntax and length limits for DNS names in
<xref target="RFC1035"/>, in both wire and presentation form.  A value with an
empty or over-long label, or one that exceeds the total name length
limit once the port and transport labels have been prepended, is not
usable as a reference name, and the association attempt is handled
as in <xref target="no-dane"/>.</t>
          </li>
          <li>
            <t>ASCII case is not significant.  A client that compares reference
names -- to decide whether two association attempts concern the same
server association, for instance -- <bcp14>MUST</bcp14> compare them
case-insensitively.</t>
          </li>
          <li>
            <t>A trailing empty label, written as a trailing dot in presentation
form, is retained when constructing DNS queries and removed when the
name is used as a Server Name Indication (SNI) value <xref target="RFC6066"/> or
as a
PKIX reference identifier.</t>
          </li>
        </ul>
      </section>
      <section anchor="no-dane">
        <name>Destinations that carry no DANE binding</name>
        <t>A destination selected by IP address literal has no DNS name from
which a TLSA base domain could be derived, and DANE does not apply to
it; this matches the treatment of address literals in Section 2.2 of
<xref target="RFC7672"/>.  The same holds for a destination whose configured name
fails the input contract above.</t>
        <t>For such a destination:</t>
        <ul spacing="normal">
          <li>
            <t>In opportunistic mode, no floor is pinned and <xref target="fallback"/> governs
whether the attempt may proceed in cleartext.  If the client
authenticates the server, it does so by the rules of Section 5.2.1
of <xref target="RFC9289"/>, which provide for matching an iPAddress
subjectAltName.</t>
          </li>
          <li>
            <t>In mandatory mode, the association attempt fails (<xref target="modes"/>).</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="lookup">
      <name>Locating the TLSA RRset</name>
      <section anchor="resolver">
        <name>Resolver trust</name>
        <t>Every guarantee in this document rests on the client obtaining DNSSEC
validation states it can trust.  A client that accepts the AD bit from
a remote validating resolver has moved its trust to that resolver and
to the path between them, which is precisely the kind of unprotected
path this document exists to defend against.</t>
        <t>Accordingly, a client implementing this document <bcp14>SHOULD</bcp14> validate
DNSSEC responses itself, or obtain them from a validating resolver it
trusts over a channel whose integrity is protected.</t>
        <t><xref target="outcomes"/> classes a failure to load, read, or parse the trust
anchors as ERROR, not INSECURE, since a client without them cannot
distinguish an unsigned zone from a signed one.  An anchor maintained
automatically <xref target="RFC5011"/> that has fallen out of date is subject to
the same rule.</t>
      </section>
      <section anchor="outcomes">
        <name>DNS outcome classes</name>
        <t>A client reduces the result of its TLSA lookups for one reference
name, port, and transport to exactly one of the following five outcome
classes.  Throughout, "usable" has the meaning given in <xref target="usable"/>.</t>
        <dl>
          <dt>SECURE_USABLE:</dt>
          <dd>
            <t>A DNSSEC-validated TLSA RRset was found, and at least one record in
it is usable.  The client authenticates the server by DANE.</t>
          </dd>
          <dt>SECURE_UNUSABLE:</dt>
          <dd>
            <t>A DNSSEC-validated TLSA RRset was found, and no record in
it is usable.  The operator has committed to TLS, but the client
cannot perform DANE authentication against what was published.</t>
          </dd>
          <dt>SECURE_ABSENT:</dt>
          <dd>
            <t>The candidate base domains were exhausted without finding a
validated TLSA RRset, and the last candidate evaluated yielded a
DNSSEC-validated denial of existence.  The operator has published no
signed TLSA RRset for this service.</t>
          </dd>
          <dt>INSECURE:</dt>
          <dd>
            <t>The search ended at a TLSA owner name that lies in a provably
unsigned span of the DNS.  DANE does not apply, and no conclusion
can be drawn from the absence or presence of records.</t>
          </dd>
          <dt>ERROR:</dt>
          <dd>
            <t>The client could not obtain a validated answer.  This class covers a
"bogus" or "indeterminate" validation result, a timeout, a SERVFAIL
or other error response, a malformed reply, a failure to load, read,
or parse the resolver's trust anchors, and any other condition that
prevents the client from assigning one of the four classes above.</t>
          </dd>
        </dl>
        <t>An ERROR outcome <bcp14>MUST NOT</bcp14> be treated as equivalent to INSECURE, and
<bcp14>MUST NOT</bcp14> authorize cleartext operation: as Sections 2.1.1 and 2.1.2
of <xref target="RFC7672"/> observe, the conditions that produce it are the ones
an attacker can produce at will.
An implementation <bcp14>MAY</bcp14> retry a lookup that produced ERROR; if no
attempt yields a validated answer, the outcome remains ERROR.</t>
      </section>
      <section anchor="candidates">
        <name>Candidate TLSA base domains</name>
        <t>RPC-with-TLS has no service location indirection of the kind that MX
or SRV records provide, so the redirection case that Section 7 of
<xref target="RFC7671"/> addresses arises for RPC through CNAME aliasing.  A client
therefore determines an ordered list of candidate base domains before
querying for TLSA records, as shown in <xref target="candidate-alg"/>.</t>
        <figure anchor="candidate-alg">
          <name>Determining the candidate base domains</name>
          <artwork><![CDATA[
CandidateBaseDomains(name):

  Resolve the address records for "name" in each address family
  the client will use for this association attempt, following
  any CNAME chain hop by hop and noting the DNSSEC validation
  state of each link.

  If any step of that resolution is bogus or indeterminate, or
  fails to complete:
      return error

  If "name" is an alias, and in every address family resolved
  the chain reaches the same canonical name, and every link of
  every such chain is secure:
      return [ canonical-name, name ]

  return [ name ]
]]></artwork>
        </figure>
        <t>The single-element result covers every case in which the client
cannot show that the redirection itself was authenticated.  A client
<bcp14>MUST NOT</bcp14> expand a chain that it has not validated end to end, because
an unvalidated CNAME lets whoever forged it choose the base domain
and therefore the TLSA RRset.</t>
        <t>A CNAME encountered at a TLSA owner name itself is followed by
ordinary DNS resolution under the same requirement; a chain with an
insecure or bogus link yields INSECURE or ERROR respectively for that
candidate.  Such a CNAME does not change which candidate is the
selected TLSA base domain, since it redirects the records, not the
identity of the service.</t>
      </section>
      <section anchor="reduction">
        <name>Evaluation and result reduction</name>
        <t>A client evaluates the candidate list in order, as shown in
<xref target="reduction-alg"/>.</t>
        <figure anchor="reduction-alg">
          <name>TLSA lookup and result reduction</name>
          <artwork><![CDATA[
Evaluate(refname, port, proto):

  name = Normalize(refname)               ; input contract
  if name is an address literal:
      return "no DANE binding"

  candidates = CandidateBaseDomains(name) ; preceding figure
  if candidates is error:
      return ERROR

  for C in candidates:                    ; in order
      owner = "_" + port + "._" + proto + "." + C
      R = Lookup(owner, TLSA)

      if R is bogus or indeterminate or failed:
          return ERROR

      if R is secure and carries a TLSA RRset:
          selected_base_domain = C
          if AnyUsable(R):                ; usability filtering
              return SECURE_USABLE
          else:
              return SECURE_UNUSABLE

      if R is secure and is a denial of existence:
          continue

      if R is insecure:
          if C is not the last candidate:
              continue
          else:
              return INSECURE

  return SECURE_ABSENT
]]></artwork>
        </figure>
        <t>The rules this encodes, stated in prose:</t>
        <ul spacing="normal">
          <li>
            <t>A validated TLSA RRset is final, whether or not the client can use
the records in it.  Finding one stops the search; the client does
not fall back to a later candidate in the hope of finding records it
likes better.  This is what makes SECURE_UNUSABLE a distinct outcome
rather than a variety of absence.</t>
          </li>
          <li>
            <t>A validated denial of existence continues the search, per Section 7
of <xref target="RFC7671"/>, which directs a client that finds no TLSA record at
the expanded name to query at the original name.  If no candidate
remains, the outcome is SECURE_ABSENT.  An insecure answer likewise
continues the search, since the operator may have published a
signed RRset at a later candidate.</t>
          </li>
        </ul>
        <t>A client <bcp14>MUST</bcp14> assign the same outcome class as this procedure would
for the same DNS data.  Implementations are not required to perform
the queries in this order, or to perform queries whose result cannot
affect the outcome.</t>
      </section>
      <section anchor="usable">
        <name>Usable records and digest algorithm agility</name>
        <t>Whether a record is usable is determined before any attempt is made to
match it against a certificate, and a record that is usable but does
not match the server's certificate is an authentication failure, never
a reason to reclassify the RRset as unusable.  Conflating the two
would let an attacker who can influence the certificate a server
presents convert a DANE mismatch into a fallback.</t>
        <t>A client determines the usable records in a validated TLSA RRset as
follows.</t>
        <ol spacing="normal" type="1"><li>
            <t>Discard any record whose RDATA is truncated, whose certificate
association data has a length inconsistent with its matching type,
or that is otherwise malformed.</t>
          </li>
          <li>
            <t>Discard any record whose certificate usage, selector, or matching
type the client has not implemented or has been configured not to
use.  Certificate usage support is specified in <xref target="usages"/>.</t>
          </li>
          <li>
            <t>Apply digest algorithm agility per Section 9 of <xref target="RFC7671"/>: for
each combination of certificate usage and selector remaining, the
client retains records with a matching type of Full(0), and records
whose matching type is the strongest the client supports among
those present for that usage and selector.  Records using a weaker
supported matching type are discarded.</t>
          </li>
        </ol>
        <t>A matching type the client does not support <bcp14>MUST NOT</bcp14> suppress the
strongest type it does support, and malformed records <bcp14>MUST</bcp14> be
discarded in step 1 so that they do not influence the strength
selection in step 3.</t>
        <t>If any record survives step 3, the RRset is usable and the outcome is
SECURE_USABLE.  If none does, the RRset is unusable and the outcome is
SECURE_UNUSABLE.</t>
      </section>
      <section anchor="selected">
        <name>The selected TLSA base domain, SNI, and reference identifiers</name>
        <t>The selected TLSA base domain is the candidate at which the evaluation
in <xref target="reduction"/> found a validated TLSA RRset.  It is defined only for
the outcome classes SECURE_USABLE and SECURE_UNUSABLE.</t>
        <t>When the outcome is SECURE_USABLE, the selected TLSA base domain <bcp14>MUST</bcp14>
be sent as the Server Name Indication <xref target="RFC6066"/> value and, for
certificate usages other than DANE-EE(3), <bcp14>MUST</bcp14> be the primary
reference identifier for certificate name checks.  This is the rule of
Section 7 of <xref target="RFC7671"/>.</t>
        <t>When the outcome is SECURE_UNUSABLE, the client <bcp14>MUST</bcp14> instead send the
original reference name as the Server Name Indication value, and <bcp14>MUST</bcp14>
use the original reference name as the reference identifier for the
PKIX name checks that <xref target="behavior"/> then requires.</t>
        <t>This departs from Section 7 of <xref target="RFC7671"/> because of what
SECURE_UNUSABLE means.  A DANE client puts the expanded base domain in
SNI because it is prepared to accept a certificate issued for that
name.  A client that can use no record in the RRset is about to fall
back to PKIX authentication against the configured name; sending the
base domain in SNI would ask a server that selects its certificate by
SNI for a certificate the client must then reject, and the handshake
fails for a reason unrelated to the security of either name.</t>
        <t>The selected TLSA base domain is reported in the audit record
(<xref target="audit"/>) in both cases, so that an operator can see which name the
policy decision was derived from.</t>
      </section>
    </section>
    <section anchor="authn">
      <name>Authenticating the Server</name>
      <section anchor="usages">
        <name>Certificate usages</name>
        <t>A client implementing this document <bcp14>MUST</bcp14> support certificate usages
DANE-EE(3) and DANE-TA(2).  Both are used with the semantics given in
Sections 5.1 and 5.2 of <xref target="RFC7671"/> respectively.  Section 4 of
<xref target="RFC7671"/> recommends exactly this pair, and cautions that
simultaneous support for all four usages is not recommended.</t>
        <t>Support for certificate usages PKIX-TA(0) and PKIX-EE(1) is <bcp14>OPTIONAL</bcp14>.
A client that does not support them treats records carrying them as
unusable in step 2 of <xref target="usable"/>.  Where such records are the only
ones published, the outcome is SECURE_UNUSABLE, and <xref target="behavior"/>
requires the client to authenticate the server by the PKIX rules of
Section 5.2.1 of <xref target="RFC9289"/>.  That check is weaker than the
published records call for, but never weaker than <xref target="RFC9289"/> alone.</t>
        <t>A client <bcp14>MUST</bcp14> support the selectors Cert(0) and SPKI(1) and the
matching types Full(0) and SHA2-256(1), which is the support that
Section 6 of <xref target="RFC6698"/> lets publishers rely on.  Support for
SHA2-512(2) is <bcp14>RECOMMENDED</bcp14>.</t>
      </section>
      <section anchor="dane-ee">
        <name>DANE-EE(3)</name>
        <t>Authentication by a DANE-EE(3) record consists of matching the
server's end-entity certificate, or its SubjectPublicKeyInfo, against
the certificate association data of a usable record, per Section 5.1
of <xref target="RFC7671"/>.</t>
        <t>When such a match succeeds, the server is authenticated.  In
particular, and following Section 5.1 of <xref target="RFC7671"/>:</t>
        <ul spacing="normal">
          <li>
            <t>The client <bcp14>MUST NOT</bcp14> reject the server because no name in the
presented certificate matches the reference name or the selected
TLSA base domain.  The binding of key to name is made by the TLSA
record, not by the certificate.</t>
          </li>
          <li>
            <t>The client <bcp14>MUST NOT</bcp14> reject the server because the presented
certificate is expired or not yet valid.  The validity of the
binding is the validity of the DNSSEC signatures over the TLSA
RRset.</t>
          </li>
          <li>
            <t>The client <bcp14>MUST NOT</bcp14> require that the presented certificate chain to
a trusted certification authority.</t>
          </li>
        </ul>
        <t>Consequently a self-signed server certificate, published as a
DANE-EE(3) record with selector SPKI(1) and matching type
SHA2-256(1), is a fully conforming deployment; see
<xref target="ta-distribution"/>.</t>
      </section>
      <section anchor="dane-ta">
        <name>DANE-TA(2)</name>
        <t>Authentication by a DANE-TA(2) record consists of validating the
server's certificate chain to the trust anchor the record identifies,
per Section 5.2 of <xref target="RFC7671"/>, and then performing name checks
against the reference identifiers determined in <xref target="selected"/>.</t>
        <t>Those name checks are performed per <xref target="RFC9525"/>, retaining the
restriction in Section 5.2.1 of <xref target="RFC9289"/> that a DNS domain name in
an RPC-with-TLS certificate <bcp14>MUST NOT</bcp14> contain the wildcard character
"*".</t>
      </section>
      <section anchor="behavior">
        <name>Required client behavior by outcome class</name>
        <t><xref target="behavior-table"/> states what a client <bcp14>MUST</bcp14> do for each DNS outcome
class in each of the two active policy modes.  In every case where
authentication is required, failure of that authentication fails the
association attempt; see <xref target="no-retry"/>.</t>
        <t>The requirement that TLS be used is carried by the security floor.
Where the DNS outcome was derived from a port of untrusted provenance,
<xref target="provenance"/> withholds that floor, and <xref target="fallback"/> then governs
whether the attempt may proceed in cleartext.  The authentication
requirements in the table apply to any (D)TLS session that is
established, whatever the provenance of the port.</t>
        <table anchor="behavior-table">
          <name>Required client behavior by DNS outcome class</name>
          <thead>
            <tr>
              <th align="left">DNS outcome</th>
              <th align="left">Opportunistic mode</th>
              <th align="left">Mandatory mode</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">SECURE_USABLE</td>
              <td align="left">TLS is required, and the server <bcp14>MUST</bcp14> be authenticated by DANE per <xref target="authn"/>. PKIX authentication <bcp14>MUST NOT</bcp14> be substituted for it.</td>
              <td align="left">As for opportunistic.</td>
            </tr>
            <tr>
              <td align="left">SECURE_UNUSABLE</td>
              <td align="left">TLS is required, and the server <bcp14>MUST</bcp14> be authenticated per Section 5.2.1 of <xref target="RFC9289"/>.</td>
              <td align="left">The attempt <bcp14>MUST</bcp14> fail.</td>
            </tr>
            <tr>
              <td align="left">SECURE_ABSENT</td>
              <td align="left">No floor is pinned; <xref target="fallback"/> governs cleartext operation. A TLS session is authenticated per Section 5.2.1 of <xref target="RFC9289"/>.</td>
              <td align="left">The attempt <bcp14>MUST</bcp14> fail.</td>
            </tr>
            <tr>
              <td align="left">INSECURE</td>
              <td align="left">As for SECURE_ABSENT.</td>
              <td align="left">The attempt <bcp14>MUST</bcp14> fail.</td>
            </tr>
            <tr>
              <td align="left">ERROR</td>
              <td align="left">The attempt <bcp14>MUST</bcp14> fail.</td>
              <td align="left">The attempt <bcp14>MUST</bcp14> fail.</td>
            </tr>
          </tbody>
        </table>
        <t>The SECURE_USABLE row is the central requirement of this document.  A
client <bcp14>MUST NOT</bcp14> accept a PKIX authentication in place of the DANE
authentication the RRset calls for, however trusted the issuing
certification authority; that substitution would return control of
the association's authentication to whoever can obtain a certificate
for the name, which is what the TLSA RRset was published to prevent.</t>
        <t>The SECURE_UNUSABLE row strengthens the guidance in Section 10.3 of
<xref target="RFC7671"/> and Section 2.2 of <xref target="RFC7672"/>, which require only
unauthenticated TLS in this case; Section 10.3 of <xref target="RFC7671"/>
anticipates such a strengthening where expecting it is realistic for
the application protocol.  For RPC-with-TLS the intermediate position
is not available at all.  In both client deployment modes of
Section 4.2 of <xref target="RFC9289"/> the client authenticates the server, so
the server is never anonymous to the client, and accepting
unauthenticated TLS here would be a downgrade relative to the base
specification rather than an improvement on cleartext.</t>
      </section>
    </section>
    <section anchor="downgrade">
      <name>Downgrade Resistance</name>
      <section anchor="floor">
        <name>The security floor</name>
        <t>A DNS outcome class of SECURE_USABLE or SECURE_UNUSABLE pins a
security floor for the server association, except where
<xref target="provenance"/> withholds it: the client <bcp14>MUST NOT</bcp14> operate that
association at a security level weaker than an authenticated TLS
session, and <bcp14>MUST</bcp14> fail the association attempt rather than do so.</t>
        <t>The floor is a property of the server association, not of the
connection on which it was determined, and it persists for the
lifetime of the association.  Once pinned, it applies to every
subsequent association attempt for that association and to every
transport that joins it (<xref target="assoc-scope"/>).  A later evaluation that
pins no floor, whatever its outcome class, does not remove one
already pinned: an operator who withdraws a TLSA RRset lowers the
floor only for associations established after the withdrawal
(<xref target="ta-distribution"/>).  A client <bcp14>MUST</bcp14> retain a pinned floor, together
with the selected TLSA base domain it was derived from, until the
association ends.</t>
        <t>The floor is stated in terms of the security level reached rather than
of any particular attack.  It covers the STRIPTLS attack of
Section 6.1.1 of <xref target="RFC9289"/>, to which <xref target="probe"/> specifies the
client's response, and any mechanism by which an attacker induces a
client to select a transport or path that receives weaker protection;
a document specifying RPC over another transport can cite this
section for the latter.</t>
      </section>
      <section anchor="probe">
        <name>AUTH_TLS probe outcomes</name>
        <t>Section 4.1 of <xref target="RFC9289"/> specifies that a client that does not
receive the "STARTTLS" indication <bcp14>MUST NOT</bcp14> send a ClientHello, and
that "RPC operation may continue, depending on local policy, but
without confidentiality, integrity, or peer authentication protection
from (D)TLS".  This document specifies that local policy.</t>
        <t>A client classifies the result of the AUTH_TLS probe into exactly one
of the following outcomes.</t>
        <dl>
          <dt>ACCEPTED:</dt>
          <dd>
            <t>A Reply was received with a reply_stat of MSG_ACCEPTED and an
AUTH_NONE verifier containing the "STARTTLS" token, as specified in
Section 4.1 of <xref target="RFC9289"/>.</t>
          </dd>
          <dt>DECLINED:</dt>
          <dd>
            <t>A complete, well-formed Reply to the probe was received that
indicates the server does not support RPC-with-TLS.  This comprises
a reply_stat of MSG_ACCEPTED with an AUTH_NONE verifier that does
not carry the "STARTTLS" token, and a reply_stat of MSG_DENIED with
a reject_stat of AUTH_ERROR.  These are the responses produced by a
server that does not implement the AUTH_TLS authentication flavor;
in particular, AUTH_ERROR is how a server predating <xref target="RFC9289"/>
rejects an unrecognized flavor.</t>
          </dd>
          <dt>RPCERR:</dt>
          <dd>
            <t>A complete, well-formed Reply was received that is neither of the
above -- for example a reply_stat of MSG_DENIED with a reject_stat
of RPC_MISMATCH, or a reply_stat of MSG_ACCEPTED with a verifier
whose flavor is not AUTH_NONE.</t>
          </dd>
          <dt>MALFORMED:</dt>
          <dd>
            <t>A response was received that cannot be parsed as a well-formed RPC
Reply to the probe, or whose verifier length is inconsistent with
its declared flavor.</t>
          </dd>
          <dt>UNREACHABLE:</dt>
          <dd>
            <t>The connection was refused or reset, or was closed before a Reply
was received.</t>
          </dd>
          <dt>TIMEOUT:</dt>
          <dd>
            <t>No response was received within the client's timeout.</t>
          </dd>
          <dt>LOCAL:</dt>
          <dd>
            <t>A local resource failure prevented the probe from being sent, or its
result from being determined.</t>
          </dd>
        </dl>
      </section>
      <section anchor="fallback">
        <name>Cleartext fallback</name>
        <t><xref target="fallback-table"/> states whether the client may continue in
cleartext.</t>
        <table anchor="fallback-table">
          <name>Cleartext fallback by AUTH_TLS probe outcome</name>
          <thead>
            <tr>
              <th align="left">Probe outcome</th>
              <th align="left">Floor pinned</th>
              <th align="left">No floor pinned</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">ACCEPTED</td>
              <td align="left">Proceed to the TLS handshake.</td>
              <td align="left">Proceed to the TLS handshake.</td>
            </tr>
            <tr>
              <td align="left">DECLINED</td>
              <td align="left">The attempt <bcp14>MUST</bcp14> fail.</td>
              <td align="left">Cleartext operation is permitted, subject to local policy, per Section 4.1 of <xref target="RFC9289"/>.</td>
            </tr>
            <tr>
              <td align="left">RPCERR</td>
              <td align="left">The attempt <bcp14>MUST</bcp14> fail.</td>
              <td align="left">The attempt <bcp14>MUST</bcp14> fail.</td>
            </tr>
            <tr>
              <td align="left">MALFORMED</td>
              <td align="left">The attempt <bcp14>MUST</bcp14> fail.</td>
              <td align="left">The attempt <bcp14>MUST</bcp14> fail.</td>
            </tr>
            <tr>
              <td align="left">UNREACHABLE</td>
              <td align="left">The attempt <bcp14>MUST</bcp14> fail.</td>
              <td align="left">The attempt <bcp14>MUST</bcp14> fail.</td>
            </tr>
            <tr>
              <td align="left">TIMEOUT</td>
              <td align="left">The attempt <bcp14>MUST</bcp14> fail.</td>
              <td align="left">The attempt <bcp14>MUST</bcp14> fail.</td>
            </tr>
            <tr>
              <td align="left">LOCAL</td>
              <td align="left">The attempt <bcp14>MUST</bcp14> fail.</td>
              <td align="left">The attempt <bcp14>MUST</bcp14> fail.</td>
            </tr>
          </tbody>
        </table>
        <t>Only DECLINED permits cleartext operation, and only where no floor has
been pinned.  The other non-ACCEPTED outcomes are what an attacker
interfering with the cleartext exchange looks like; a client that
treats them as declines has no downgrade resistance even against an
attacker who cannot forge a well-formed Reply.</t>
        <t>[[TODO: Whether opportunistic mode should instead take the stricter
policy of Section 6.1.1 and Section 6.4 of <xref target="RFC9289"/>, at the cost of
reachability to servers that predate it, is open.
https://github.com/chucklever/i-d-rpc-tls-dane/issues/4 ]]</t>
      </section>
      <section anchor="no-retry">
        <name>Failure after a handshake is attempted</name>
        <t>Once the AUTH_TLS probe has been ACCEPTED and a (D)TLS handshake has
been attempted, the client <bcp14>MUST NOT</bcp14> retry the association attempt in
cleartext, whatever the DNS outcome class and whatever the reason the
handshake or the subsequent authentication failed.  This holds for
DANE mismatches, PKIX validation failures where PKIX applies, TLS
negotiation failures, and the unavailability of whatever local
component performs the handshake.</t>
        <t>Section 4.1 of <xref target="RFC9289"/> describes a client that reports a
handshake failure after a successful probe the same way it reports an
AUTH_ERROR rejection; for a client implementing this document that
is a requirement.</t>
      </section>
      <section anchor="coherence">
        <name>Coherence within an association attempt</name>
        <t>How an implementation obtains DNS data, how many times within one
association attempt it evaluates <xref target="lookup"/>, and how a policy result
reaches the point at which the handshake is authenticated are
implementation matters.  Two properties are required of any
arrangement.</t>
        <ul spacing="normal">
          <li>
            <t>A client <bcp14>MUST</bcp14> evaluate the DNS outcome class from DNS data that is
current at the time of the association attempt, and <bcp14>MUST NOT</bcp14> reuse
an outcome obtained for an earlier attempt beyond the validity of
the DNS data it was derived from.  The security floor is not such a
result: it persists across attempts (<xref target="floor"/>), and a fresh
evaluation can raise it or leave it but never lower it.</t>
          </li>
          <li>
            <t>Within one association attempt, a client <bcp14>MUST NOT</bcp14> conclude at a
security level weaker than any determination it has already made
during that attempt.  Where two evaluations during one attempt
disagree, the stronger conclusion governs.</t>
          </li>
        </ul>
        <t>The second property is what makes the mechanism resistant to an
attacker who can affect the timing of DNS answers.  A client <bcp14>MAY</bcp14> act
on a strengthened conclusion, a later evaluation that finds a usable
RRset where an earlier one did not, since doing so cannot lower the
security of the attempt.</t>
        <t>A TLSA RRset republished mid-attempt during a key rollover produces
the same disagreement.  The client cannot distinguish it from an
attack within a single attempt, and a retry evaluated wholly against
the new data succeeds.</t>
      </section>
    </section>
    <section anchor="assoc-scope">
      <name>Association Scope and Policy Granularity</name>
      <section anchor="policy-is-per-association">
        <name>Policy is per association</name>
        <t>The DANE policy mode, the reference name, and any pinned security
floor are properties of a server association.  A client <bcp14>MUST</bcp14> be able
to apply different policies concurrently to different server
associations, since the servers a host contacts differ in whether
they have deployed DANE.</t>
        <t>A client that shares underlying state between server associations --
connection caching, session reuse, or a client object shared between
two mounts of the same server -- <bcp14>MUST NOT</bcp14> share it between
associations whose DANE policy modes or reference names differ.  Two
names that resolve to the same address may have different TLSA
RRsets, and an association established under one name has not
authenticated the server for the other.</t>
      </section>
      <section anchor="add-xprt">
        <name>Transports joining an association later</name>
        <t>A client may add transports to an existing server association for
additional bandwidth or additional server network paths.</t>
        <t>While a security floor is pinned for an association, a transport <bcp14>MUST
NOT</bcp14> join that association unless it carries the association's
reference name and its own evaluation meets the association's floor.
A transport whose destination is an address literal therefore cannot
join a floor-pinned association (<xref target="no-dane"/>).  A client <bcp14>MUST</bcp14> refuse
such an addition and record the refusal (<xref target="audit"/>); the association
continues over the transports that do meet its floor.</t>
      </section>
      <section anchor="derived">
        <name>Derived associations</name>
        <t>Upper-layer protocols direct clients to establish further associations
to destinations the client did not select.  NFSv4 <xref target="RFC8881"/> does
this in at least three ways: a parallel NFS layout identifies data
servers, the file system location attributes identify referral
targets, and a migration event identifies a new location for a file
system.  A destination so identified is either an address literal or
a DNS name.  A name is the reference name of the derived association,
subject to the input contract of <xref target="refname"/>; an address literal
gives the derived association no DANE binding (<xref target="no-dane"/>).</t>
        <t>A security floor pinned for one server association does not extend to
a derived association.  A client <bcp14>MUST</bcp14> evaluate DANE policy
independently for each association it establishes, from that
association's own reference name.  In mandatory mode, a derived
association for which no DANE binding can be established fails
(<xref target="modes"/>), even though this may render some upper-layer features
unusable (<xref target="sec-derived"/>).</t>
        <t>Defining DNS-based identities for the destinations that upper-layer
protocols hand out -- so that a data server or a referral target can
be named rather than addressed -- is work for the specifications of
those protocols, and is outside the scope of this document.</t>
      </section>
    </section>
    <section anchor="audit">
      <name>Auditing</name>
      <t>A client implementing this document <bcp14>MUST</bcp14> extend the audit log that
Section 6.1 of <xref target="RFC9289"/> requires to cover the DANE policy
decision.  For each association attempt in which DANE policy applied,
the record <bcp14>MUST</bcp14> include:</t>
      <ul spacing="normal">
        <li>
          <t>the reference name, and an indication of whether it was supplied by
local configuration or derived some other way;</t>
        </li>
        <li>
          <t>the destination network address, port, and transport;</t>
        </li>
        <li>
          <t>the DANE policy mode in effect and where it came from;</t>
        </li>
        <li>
          <t>the DNS outcome class, and enough diagnostic detail to distinguish
the conditions grouped under ERROR;</t>
        </li>
        <li>
          <t>the selected TLSA base domain, where one was determined;</t>
        </li>
        <li>
          <t>the AUTH_TLS probe outcome (<xref target="probe"/>);</t>
        </li>
        <li>
          <t>the means by which the server was authenticated, if it was:
DANE-EE(3), DANE-TA(2), or PKIX;</t>
        </li>
        <li>
          <t>for a DANE authentication, the usage, selector, and matching type
of the record that matched; and</t>
        </li>
        <li>
          <t>the resulting disposition of the attempt: authenticated TLS,
cleartext operation, or failure, with the reason for a failure.</t>
        </li>
      </ul>
      <t>The record <bcp14>MAY</bcp14> consist of correlatable events emitted by more than one
component, provided that the events can be joined and that together
they cover the whole list.  A correlation identifier used to join
such events <bcp14>MUST NOT</bcp14> carry information that is not already disclosed
by the events themselves.</t>
    </section>
    <section anchor="impl-status">
      <name>Implementation Status</name>
      <t>This section is to be removed before publishing as an RFC.</t>
      <t>This section records the status of known implementations of the
protocol defined by this specification at the time of posting of this
Internet-Draft, and is based on a proposal described in <xref target="RFC7942"/>.
The description of implementations in this section is intended to
assist the IETF in its decision processes in progressing drafts to
RFCs.  Please note that the listing of any individual implementation
here does not imply endorsement by the IETF.  Furthermore, no effort
has been spent to verify the information presented here that was
supplied by IETF contributors.  This is not intended as, and must not
be construed to be, a catalog of available implementations or their
features.  Readers are advised to note that other implementations may
exist.</t>
      <section anchor="tlshd-ktls-utils">
        <name>tlshd (ktls-utils)</name>
        <dl>
          <dt>Organization:</dt>
          <dd>
            <t>The ktls-utils project.</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>tlshd is the userspace handshake agent used by the Linux kernel's
TLS handshake service.  It performs the (D)TLS handshake on behalf
of in-kernel RPC-with-TLS consumers.</t>
          </dd>
          <dt>Implementation:</dt>
          <dd>
            <t>https://github.com/oracle/ktls-utils</t>
          </dd>
          <dt>Level of maturity:</dt>
          <dd>
            <t>Prototype.  The DANE support is not part of a released version at
the time of writing, and is disabled by default.</t>
          </dd>
          <dt>Coverage:</dt>
          <dd>
            <t>The reference-name input contract (<xref target="refname"/>); the candidate
determination and result reduction of <xref target="lookup"/>, including secure
CNAME expansion; the five outcome classes of <xref target="outcomes"/>; the
usability filtering and digest algorithm agility of <xref target="usable"/>; the
reference-identity rules of <xref target="selected"/>; certificate usage
DANE-EE(3) (<xref target="dane-ee"/>); and the authentication behavior of
<xref target="behavior"/> for both the client-anonymous and the mutually
authenticated handshake path.</t>
          </dd>
          <dt/>
          <dd>
            <t>Not implemented: certificate usage DANE-TA(2), DTLS over UDP, and
the association-scope enforcement of <xref target="assoc-scope"/>, which belongs to the
RPC client rather than to the handshake agent.</t>
          </dd>
          <dt>Licensing:</dt>
          <dd>
            <t>GPLv2.</t>
          </dd>
          <dt>Contact:</dt>
          <dd>
            <t>The editor of this document.</t>
          </dd>
          <dt>Experience:</dt>
          <dd>
            <t>The implementation was exercised against publicly available DANE
test zones as well as against a locally signed test zone.  Two
findings are reflected in the text of this document.</t>
          </dd>
          <dt/>
          <dd>
            <t>First, the reference-identity rule in <xref target="selected"/> for the
SECURE_UNUSABLE class was added after the implementation hit the
handshake failure that section describes.</t>
          </dd>
          <dt/>
          <dd>
            <t>Second, the implementation performs the usability filtering of
<xref target="usable"/> in its own code rather than relying on the TLS library's
DANE support, so that the outcome classification does not depend on
library internals.  The library's raw verification interface
reports parse success in its return value and verification results
in a separate output parameter; an implementation that checks only
the return value accepts unauthenticated peers.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>The security considerations of <xref target="RFC9289"/>, <xref target="RFC6698"/>, <xref target="RFC7671"/>,
and <xref target="RFC4033"/> apply.</t>
      <section anchor="what-dane-authentication-does-and-does-not-establish">
        <name>What DANE authentication does and does not establish</name>
        <t>A successful DANE-EE(3) match establishes that the peer holds the key
that the operator of the TLSA base domain's zone published for that
service at that port and transport.  It establishes nothing about the
names in the presented certificate, its validity dates, or its issuer
(<xref target="dane-ee"/>).  A deployment that relies on certificate contents for
authorization -- an extended key usage check, a certificate policy, a
subjectAltName URI -- as Section 5.2.1 of <xref target="RFC9289"/> permits, must
continue to perform those checks independently; a DANE match does not
perform them.</t>
        <t>Control of the zone that publishes the TLSA RRset is control of the
service's authentication.  Trust moves from the certification
authorities the client would otherwise trust to the zone operator and
the DNSSEC chain above it.  For the deployments in
<xref target="ta-distribution"/> that is the point, since the party that operates
the server also operates the zone; where DNS is operated by a third
party, the concentration should be evaluated before deployment.</t>
      </section>
      <section anchor="replay">
        <name>Replay and the limits of revocation</name>
        <t>DNSSEC provides no way to revoke a signed RRset before its signatures
expire (Section 11 of <xref target="RFC7671"/>).  Two consequences follow, and both
are bounded by the signature validity period rather than by anything
the client can do.</t>
        <t>An attacker who captured a signed denial of existence for a TLSA owner
name before the operator published the RRset can replay it within that
period; the client assigns SECURE_ABSENT and pins no floor
(<xref target="adaptive"/>).</t>
        <t>An attacker who holds a key the operator has withdrawn can replay the
TLSA RRset that still names it, and a client will authenticate the
peer; since <xref target="dane-ee"/> disregards the certificate's validity dates,
the RRset's signatures are the only expiry.  The mitigation is
operational and belongs to the publisher (<xref target="ta-distribution"/>).</t>
        <t>A security floor, once pinned, persists for the lifetime of the
association (<xref target="floor"/>).  A replayed denial of existence therefore
affects only an association's first attempt: replayed at a reconnect,
it finds the floor already pinned, and the attempt fails rather than
falls back.  Conversely, this document does not require a client to
re-evaluate an association that is already established, so a
long-lived session established against an RRset that has since been
withdrawn continues under the conclusion reached when it was
established.</t>
      </section>
      <section anchor="fail-closed-behavior-is-a-denial-of-service-surface">
        <name>Fail-closed behavior is a denial-of-service surface</name>
        <t>The rules in <xref target="behavior"/>, <xref target="fallback"/>, and <xref target="coherence"/> require a
client to fail an association attempt in circumstances where an
<xref target="RFC9289"/> client would have continued.  An attacker who can disrupt
the client's DNS -- by dropping responses, by inducing SERVFAIL, or by
corrupting signatures to produce a bogus validation result -- can
therefore prevent the client from establishing associations.</t>
        <t>This is a deliberate trade: degrading when DNS is disrupted hands the
same attacker the ability to strip protection silently, and an
attacker who can disrupt DNS can usually disrupt the RPC traffic
itself.  Opportunistic
mode does not relieve this exposure, since ERROR fails the attempt in
both active modes; operators for whom availability outweighs
confidentiality express that by leaving DANE disabled for the
associations concerned.</t>
      </section>
      <section anchor="sec-ports">
        <name>Unauthenticated port selection</name>
        <t>The rule in <xref target="provenance"/>, that a floor is pinned only on a port of
trusted provenance, keeps an attacker who substitutes the port in an
RPCBIND <xref target="RFC1833"/> reply from pinning a floor the operator did not
intend.  It does not prevent the SECURE_ABSENT outcome that the
substitution produces, so a client that obtains its ports from RPCBIND
is left as exposed to cleartext fallback as an <xref target="RFC9289"/> client.</t>
        <t>An RPCBIND reply carries a universal address (Section 2.2.1 of
<xref target="RFC1833"/>), so an attacker who rewrites it can substitute the host
as readily as the port.  A substituted host alone is defended by
DANE, since it cannot present a certificate matching the TLSA RRset
for the reference name; a substituted port yields SECURE_ABSENT, and
neither the address nor the port is then protected.</t>
        <t>The remedy available today is to protect RPCBIND itself.  RPCBIND is
an RPC program, so a client can send an AUTH_TLS probe to its port,
authenticate it by the procedures in this document against the TLSA
RRset published for that port and transport, and make its lookups
over the resulting session.  The ports it learns then come from an
authenticated source.  The RPCBIND port is well known and therefore
of trusted provenance under <xref target="provenance"/>, so there is no bootstrap
problem.  This document describes the arrangement rather than
requiring it, since no RPCBIND implementation is known to support
RPC-with-TLS.</t>
        <t>A session established to the RPCBIND port authenticates the RPCBIND
service alone.  The service the client goes on to contact is
authenticated separately, against the TLSA RRset for its own port,
and a security floor determined for one is not a floor for the
other.  An operator who protects RPCBIND but publishes no TLSA RRset
for the service has secured the discovery step alone; one who
publishes for the service but leaves RPCBIND unprotected has left the
guarantees in this document resting on an unauthenticated reply.</t>
      </section>
      <section anchor="sec-derived">
        <name>Derived associations</name>
        <t>A security floor does not extend to an association whose destination
an upper-layer protocol supplied (<xref target="derived"/>).  The practical
consequence for NFSv4 <xref target="RFC8881"/> is that data-path
traffic is protected only as well as the weakest derived association
carrying it.  A client that has pinned a floor for its metadata
association, and then reads and writes file data over parallel NFS
data server connections established from address literals, has
obtained no DANE protection for the data itself.  Operators should not
infer from a floor pinned on the metadata association that the data
path is equivalently protected.  A client in mandatory mode fails such
connections rather than establishing them (<xref target="derived"/>), which makes
the limitation visible rather than silent, at the cost of the feature.</t>
      </section>
      <section anchor="privacy-considerations">
        <name>Privacy considerations</name>
        <t>TLSA queries disclose, to an observer of the client's DNS traffic,
which RPC services the client is about to contact and on which ports.
The names and addresses are already disclosed by address resolution
and by the RPC traffic itself; the port and transport labels are
additional.  This is the exposure discussed in Section 6.1.2 of
<xref target="RFC9289"/>, and the same mitigations, protecting the client's DNS
transport or resolving locally, apply.  <xref target="RFC9076"/> surveys what DNS
transactions disclose, and pervasive monitoring <xref target="RFC7258"/> of DNS is
a known concern for DANE generally.</t>
      </section>
      <section anchor="client-auth">
        <name>Client authentication</name>
        <t>This document specifies the authentication of a server to a client
only.  <xref target="RFC9289"/> also provides for mutual authentication, in which
the server validates the client's certificate by PKIX; DANE-based
authentication in that direction is not specified here.  The generic
mechanism exists in <xref target="I-D.ietf-dance-client-auth"/>, and an RPC
profile of it would need to choose the owner-name form for RPC peers,
restrict the certificate usages, and specify how a DANE-authenticated
client name maps onto RPC-layer authorization.  That is work for a
separate document.</t>
        <t>Until then, a deployment that requires mutual authentication uses the
PKIX mechanism of Section 5.2.1 of <xref target="RFC9289"/> for the client
direction and DANE for the server direction; <xref target="behavior"/> applies to
the server's certificate whether or not the client presents one.</t>
      </section>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document requests no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC1035">
          <front>
            <title>Domain names - implementation and specification</title>
            <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
            <date month="November" year="1987"/>
            <abstract>
              <t>This RFC is the revised specification of the protocol and format used in the implementation of the Domain Name System. It obsoletes RFC-883. This memo documents the details of the domain name client - server communication.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="13"/>
          <seriesInfo name="RFC" value="1035"/>
          <seriesInfo name="DOI" value="10.17487/RFC1035"/>
        </reference>
        <reference anchor="RFC4033">
          <front>
            <title>DNS Security Introduction and Requirements</title>
            <author fullname="R. Arends" initials="R." surname="Arends"/>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <author fullname="M. Larson" initials="M." surname="Larson"/>
            <author fullname="D. Massey" initials="D." surname="Massey"/>
            <author fullname="S. Rose" initials="S." surname="Rose"/>
            <date month="March" year="2005"/>
            <abstract>
              <t>The Domain Name System Security Extensions (DNSSEC) add data origin authentication and data integrity to the Domain Name System. This document introduces these extensions and describes their capabilities and limitations. This document also discusses the services that the DNS security extensions do and do not provide. Last, this document describes the interrelationships between the documents that collectively describe DNSSEC. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4033"/>
          <seriesInfo name="DOI" value="10.17487/RFC4033"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC5531">
          <front>
            <title>RPC: Remote Procedure Call Protocol Specification Version 2</title>
            <author fullname="R. Thurlow" initials="R." surname="Thurlow"/>
            <date month="May" year="2009"/>
            <abstract>
              <t>This document describes the Open Network Computing (ONC) Remote Procedure Call (RPC) version 2 protocol as it is currently deployed and accepted. This document obsoletes RFC 1831. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5531"/>
          <seriesInfo name="DOI" value="10.17487/RFC5531"/>
        </reference>
        <reference anchor="RFC5890">
          <front>
            <title>Internationalized Domain Names for Applications (IDNA): Definitions and Document Framework</title>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <date month="August" year="2010"/>
            <abstract>
              <t>This document is one of a collection that, together, describe the protocol and usage context for a revision of Internationalized Domain Names for Applications (IDNA), superseding the earlier version. It describes the document collection and provides definitions and other material that are common to the set. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5890"/>
          <seriesInfo name="DOI" value="10.17487/RFC5890"/>
        </reference>
        <reference anchor="RFC6066">
          <front>
            <title>Transport Layer Security (TLS) Extensions: Extension Definitions</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <date month="January" year="2011"/>
            <abstract>
              <t>This document provides specifications for existing TLS extensions. It is a companion document for RFC 5246, "The Transport Layer Security (TLS) Protocol Version 1.2". The extensions specified are server_name, max_fragment_length, client_certificate_url, trusted_ca_keys, truncated_hmac, and status_request. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6066"/>
          <seriesInfo name="DOI" value="10.17487/RFC6066"/>
        </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="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="RFC9289">
          <front>
            <title>Towards Remote Procedure Call Encryption by Default</title>
            <author fullname="T. Myklebust" initials="T." surname="Myklebust"/>
            <author fullname="C. Lever" initials="C." role="editor" surname="Lever"/>
            <date month="September" year="2022"/>
            <abstract>
              <t>This document describes a mechanism that, through the use of opportunistic Transport Layer Security (TLS), enables encryption of Remote Procedure Call (RPC) transactions while they are in transit. The proposed mechanism interoperates with Open Network Computing (ONC) RPC implementations that do not support it. This document updates RFC 5531.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9289"/>
          <seriesInfo name="DOI" value="10.17487/RFC9289"/>
        </reference>
        <reference anchor="RFC9525">
          <front>
            <title>Service Identity in TLS</title>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="R. Salz" initials="R." surname="Salz"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>Many application technologies enable secure communication between two entities by means of Transport Layer Security (TLS) with Internet Public Key Infrastructure using X.509 (PKIX) certificates. This document specifies procedures for representing and verifying the identity of application services in such interactions.</t>
              <t>This document obsoletes RFC 6125.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9525"/>
          <seriesInfo name="DOI" value="10.17487/RFC9525"/>
        </reference>
        <reference anchor="RFC9846">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="July" year="2026"/>
            <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 obsoletes RFC 8446, which specified TLS 1.3. This document obsoletes RFC 5246 (specifying TLS 1.2) and RFCs 5077, 6961, 7627, and 8422, all of which pertain to TLS 1.2 or earlier, and updates RFCs 5705 and 6066. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9846"/>
          <seriesInfo name="DOI" value="10.17487/RFC9846"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC1833">
          <front>
            <title>Binding Protocols for ONC RPC Version 2</title>
            <author fullname="R. Srinivasan" initials="R." surname="Srinivasan"/>
            <date month="August" year="1995"/>
            <abstract>
              <t>This document describes the binding protocols used in conjunction with the ONC Remote Procedure Call (ONC RPC Version 2) protocols. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1833"/>
          <seriesInfo name="DOI" value="10.17487/RFC1833"/>
        </reference>
        <reference anchor="RFC5011">
          <front>
            <title>Automated Updates of DNS Security (DNSSEC) Trust Anchors</title>
            <author fullname="M. StJohns" initials="M." surname="StJohns"/>
            <date month="September" year="2007"/>
            <abstract>
              <t>This document describes a means for automated, authenticated, and authorized updating of DNSSEC "trust anchors". The method provides protection against N-1 key compromises of N keys in the trust point key set. Based on the trust established by the presence of a current anchor, other anchors may be added at the same place in the hierarchy, and, ultimately, supplant the existing anchor(s).</t>
              <t>This mechanism will require changes to resolver management behavior (but not resolver resolution behavior), and the addition of a single flag bit to the DNSKEY record. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="74"/>
          <seriesInfo name="RFC" value="5011"/>
          <seriesInfo name="DOI" value="10.17487/RFC5011"/>
        </reference>
        <reference anchor="RFC6125">
          <front>
            <title>Representation and Verification of Domain-Based Application Service Identity within Internet Public Key Infrastructure Using X.509 (PKIX) Certificates in the Context of Transport Layer Security (TLS)</title>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="J. Hodges" initials="J." surname="Hodges"/>
            <date month="March" year="2011"/>
            <abstract>
              <t>Many application technologies enable secure communication between two entities by means of Internet Public Key Infrastructure Using X.509 (PKIX) certificates in the context of Transport Layer Security (TLS). This document specifies procedures for representing and verifying the identity of application services in such interactions. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6125"/>
          <seriesInfo name="DOI" value="10.17487/RFC6125"/>
        </reference>
        <reference anchor="RFC7250">
          <front>
            <title>Using Raw Public Keys in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
            <author fullname="P. Wouters" initials="P." role="editor" surname="Wouters"/>
            <author fullname="H. Tschofenig" initials="H." role="editor" surname="Tschofenig"/>
            <author fullname="J. Gilmore" initials="J." surname="Gilmore"/>
            <author fullname="S. Weiler" initials="S." surname="Weiler"/>
            <author fullname="T. Kivinen" initials="T." surname="Kivinen"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>This document specifies a new certificate type and two TLS extensions for exchanging raw public keys in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS). The new certificate type allows raw public keys to be used for authentication.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7250"/>
          <seriesInfo name="DOI" value="10.17487/RFC7250"/>
        </reference>
        <reference anchor="RFC7258">
          <front>
            <title>Pervasive Monitoring Is an Attack</title>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="May" year="2014"/>
            <abstract>
              <t>Pervasive monitoring is a technical attack that should be mitigated in the design of IETF protocols, where possible.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="188"/>
          <seriesInfo name="RFC" value="7258"/>
          <seriesInfo name="DOI" value="10.17487/RFC7258"/>
        </reference>
        <reference anchor="RFC7435">
          <front>
            <title>Opportunistic Security: Some Protection Most of the Time</title>
            <author fullname="V. Dukhovni" initials="V." surname="Dukhovni"/>
            <date month="December" year="2014"/>
            <abstract>
              <t>This document defines the concept "Opportunistic Security" in the context of communications protocols. Protocol designs based on Opportunistic Security use encryption even when authentication is not available, and use authentication when possible, thereby removing barriers to the widespread use of encryption on the Internet.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7435"/>
          <seriesInfo name="DOI" value="10.17487/RFC7435"/>
        </reference>
        <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="RFC7942">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <reference anchor="RFC8881">
          <front>
            <title>Network File System (NFS) Version 4 Minor Version 1 Protocol</title>
            <author fullname="D. Noveck" initials="D." role="editor" surname="Noveck"/>
            <author fullname="C. Lever" initials="C." surname="Lever"/>
            <date month="August" year="2020"/>
            <abstract>
              <t>This document describes the Network File System (NFS) version 4 minor version 1, including features retained from the base protocol (NFS version 4 minor version 0, which is specified in RFC 7530) and protocol extensions made subsequently. The later minor version has no dependencies on NFS version 4 minor version 0, and is considered a separate protocol.</t>
              <t>This document obsoletes RFC 5661. It substantially revises the treatment of features relating to multi-server namespace, superseding the description of those features appearing in RFC 5661.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8881"/>
          <seriesInfo name="DOI" value="10.17487/RFC8881"/>
        </reference>
        <reference anchor="RFC9076">
          <front>
            <title>DNS Privacy Considerations</title>
            <author fullname="T. Wicinski" initials="T." role="editor" surname="Wicinski"/>
            <date month="July" year="2021"/>
            <abstract>
              <t>This document describes the privacy issues associated with the use of the DNS by Internet users. It provides general observations about typical current privacy practices. It is intended to be an analysis of the present situation and does not prescribe solutions. This document obsoletes RFC 7626.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9076"/>
          <seriesInfo name="DOI" value="10.17487/RFC9076"/>
        </reference>
        <reference anchor="I-D.ietf-dance-client-auth">
          <front>
            <title>TLS Client Authentication via DANE TLSA records</title>
            <author fullname="Shumon Huque" initials="S." surname="Huque">
              <organization>Salesforce</organization>
            </author>
            <author fullname="Viktor Dukhovni" initials="V." surname="Dukhovni">
              <organization>OpenSSL Corporation</organization>
            </author>
            <date day="23" month="July" year="2026"/>
            <abstract>
              <t>   The DANE TLSA protocol describes how to publish Transport Layer
   Security (TLS) server certificates or public keys in the DNS.  This
   document updates RFC 6698 and RFC 7671.  It describes how to use the
   TLSA record to publish client certificates or public keys, and also
   the rules and considerations for using them with TLS.  In addition,
   it defines a new TLS extension, DANE Client Identity, to convey the
   client's domain name identity to the server.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-dance-client-auth-13"/>
        </reference>
      </references>
    </references>
    <?line 1340?>

<section anchor="deployment">
      <name>Deployment Considerations</name>
      <section anchor="ta-distribution">
        <name>Publishing TLSA records for RPC services</name>
        <t>The simplest conforming deployment, and the one that addresses the
operational problem described in <xref target="intro"/>, is to publish for
each service a single DANE-EE(3) record with selector SPKI(1) and
matching type SHA2-256(1), written "3 1 1", in a DNSSEC-signed zone:</t>
        <figure>
          <name>A minimal TLSA RRset for an NFS service</name>
          <artwork><![CDATA[
_2049._tcp.nfs.example.com. IN TLSA 3 1 1 (
                               2A1B4C...  )
]]></artwork>
        </figure>
        <t>Clients then need no certification authority material for those
servers, the operator maintains the binding in one place, and by
<xref target="dane-ee"/> the certificate may be self-signed with any notAfter
date.  Keeping the RRset and certificates in step, in particular
during key rollover, is specified in <xref target="rollover"/>.  Withdrawing DANE takes
the same posture: a client that has pinned a floor for an association
keeps requiring authenticated TLS until that association ends
(<xref target="floor"/>), so removing the RRset lowers what clients require only
as they remount.</t>
        <t>The signature validity period the operator chooses bounds the replay
window described in <xref target="replay"/>.  Section 11 of <xref target="RFC7671"/> suggests
a lifetime of a few days for domains publishing high-value keys.</t>
        <t>A publisher of DANE-TA(2) records has one further obligation.  A
client validates the server's chain to the trust anchor the record
identifies (<xref target="dane-ta"/>), and it has no trust store in which to
find that anchor.  Unless the record carries the full trust anchor
certificate, the server must therefore include the anchor in the
chain it presents, even a self-signed root that a TLS server would
ordinarily omit; Section 5.2.2 of <xref target="RFC7671"/> states the
requirement.</t>
        <t>The Server Name Indication value such a deployment receives is not
fixed.  <xref target="selected"/> sends the selected TLSA base domain when the
outcome is SECURE_USABLE and the original reference name when it is
SECURE_UNUSABLE, and the two differ whenever the RRset was found at
a securely CNAME-expanded name.  A server that selects its
certificate strictly by SNI, and fails a handshake carrying a name
it does not recognize, rejects clients that conform to this
document.  A server should instead present its default certificate,
the one its TLSA RRset matches, when the SNI value is absent or
unrecognized.  Section 8.1 of <xref target="RFC7672"/> gives SMTP servers the
same guidance for the same reason.</t>
      </section>
      <section anchor="unsigned">
        <name>Unsigned zones prove nothing</name>
        <t>A TLSA RRset in an unsigned zone yields the outcome INSECURE whatever
it contains, and so does a denial of existence from one.  Publishing
without signing the zone gives an attacker something to remove rather
than the client something to rely on; an operator obtains none of the
properties in this document without signing the zone.</t>
      </section>
      <section anchor="adaptive">
        <name>Downgrade resistance of opportunistic DANE</name>
        <t>Opportunistic mode (<xref target="modes"/>) adapts to what each operator has
deployed, which is what makes it usable across a mixed server
population.  This adaptivity is not itself a downgrade path.</t>
        <t>Against a client that validates DNSSEC, an attacker who wants to move
a server from SECURE_USABLE to a weaker class must either forge a
denial of existence in a signed zone, which fails NSEC or NSEC3
validation, or strip signatures, which yields ERROR and therefore
failure rather than fallback.  The remaining class, INSECURE, arises
only from a genuinely unsigned delegation, which the attacker cannot
manufacture without control of the parent zone's signing key.</t>
        <t>One path remains, and it requires neither forgery nor signature
stripping: replay of a signed denial of existence captured before
the operator published the RRset, which validates until its
signatures expire and leaves the client at SECURE_ABSENT with no
floor pinned.  <xref target="replay"/> describes that window and its bound; it
applies to an association's first attempt only, since a pinned floor
persists (<xref target="floor"/>).</t>
        <t>Apart from that window, the outcome classes an attacker can reach from
SECURE_USABLE are the ones that fail the attempt.  A deployment that
wants to close the window as well can adopt the stricter policy of
Section 6.4 of <xref target="RFC9289"/>, whatever the DNS outcome.</t>
        <t>This is the same argument that supports opportunistic DANE for SMTP
<xref target="RFC7672"/>.  On the relationship between this adaptivity and
opportunistic security in general, see <xref target="RFC7435"/>.</t>
      </section>
    </section>
    <section anchor="open-issues">
      <name>Open Issues</name>
      <t>This section is to be removed before publishing as an RFC.</t>
      <t>Each item is tracked as an issue in this document's issue tracker,
where the detail and the discussion live.</t>
      <ul spacing="normal">
        <li>
          <t><xref target="probe"/>: whether the partition of AUTH_TLS probe results, and in
particular which of them count as DECLINED, preserves reachability
to the pre-<xref target="RFC9289"/> server population.
<eref target="https://github.com/chucklever/i-d-rpc-tls-dane/issues/3">Issue 3</eref></t>
        </li>
        <li>
          <t><xref target="fallback"/>: whether cleartext operation remains permitted where no
floor has been pinned and the server declines, or opportunistic mode
takes the stricter policy of Section 6.1.1 of <xref target="RFC9289"/>.
<eref target="https://github.com/chucklever/i-d-rpc-tls-dane/issues/4">Issue 4</eref></t>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Much of the prose in this document was generated by Claude, a large
language model, working from the editor's design, outline, and
instructions, and was reviewed and revised by the editor, who is
responsible for its content.  Claude is not an author of this
document.</t>
      <t>The editor is grateful to
Bill Baker,
Greg Marsden,
and
Martin Thomson
for their input and support.</t>
      <t>Special thanks to
Area Director
Gorry Fairhurst,
NFSv4 Working Group Chair
Brian Pawlowski,
and
NFSv4 Working Group Secretary
Thomas Haynes
for their guidance and oversight.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA6V963LcVpLmfzwFlvphqbeKlijZlsnt3aUpqc0YidKK0ng6
ejocqCqQxAgEagAU6WpZ8yz7LPtkm19ezskDFOmxpyM6LJLAwbnkyXt+OZ/P
s6Ea6vIw3/vYV81l/v7dyfy2Gq7mH16f5/hH/uLsfP5D0Zer/HgzXJXNUC2L
oWqbvL3Iz4pr+v1L+t1Qlf1eViwWXXlDg9EweRzh+OzlXkZvlZdttz3M+2GV
Zat22dDbh/mqKy6G+bKs581Ff/Ns3q2X86Hu56uiKeePH2f9ZnFd9T19cdiu
6fnTlx9eZdW6O8yHbtMPB48ff//4INusVzR+f5h/f/D8+6wfimb1c1G3Db2w
LftsXR3mfxva5Szv227oyoue/rW9ln/QVK6L9ZqW//eMJv80K7qyoEX8VC5y
Gic/bYaya8oh/9AVTb+mAfay27b7dNm1m/VhflYO+Cl/VdVlfr7th/I6/+ey
w4zzZ9mnckt/XR1m+Rybi//QxuA/2Bb98Zh/Pjs/f8kPnH94f/oOT2U3ZbMp
6d1cv8VbRD/KVvxEn8Wh/QV/pN9eF1Wtz/zvqhwu9tvukn5ddMurw/xqGNb9
4ddf4yH8prop9+2hr/GLrxdde9uXX/P7X+ObdHibxWG+vNosP9XlTdl9Xc1X
yQHRUzX2fYjjx6f3ZYD9qp289/V9p75/NVzXWVYQubUdNo6+kucXm7oWijm5
Krq67PPX+Aj/rWtBwuWqGlr5xbLdNANo7WNTDUSi5wNmCZI9vi47omB+qpQN
wyywE//bTZ2OO8uatrsmWr/hE3j/6uTJ46ff6D+fPX76VP/5zcHzx/bPb54+
sX8+/95+++3jb7+1f377/XP953fffmfPgmbtn98c2Ce+f/6MXsuq5mI8jefx
24+f2CDfPglvfnfwzeP4z/DBZ2H29O0D++f3z+yfz58/DzN6/B1P+XT+gokE
57Is58u6IgYwx8nQzObzeV4s+qErlrRZCeco+n5zTRs+XBXD7+Ag2UNcikd5
1efFDeh0QVeKHlwTkWEX+vz2quzKvBrwyKpc1+22XM34lnblsr2+LptVn/FX
i1xmm7frsqPv0T3ZNKuyo4fpV7jFm6bqaS55Xy43XTVs83VbV8st0Xu5/JTR
92gMXE4eulvli5J+Rx8nkqpkQBqKVtouK17PLF9sBuImtO6mHfK+2GZX7e1+
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
rKrxD1vy1LK0L2QMVFT5VvT11olCt7/VOG9UVWOk72R+E7zvKbEz4ExNicqi
glyMlQWXnEz0puorBml344mdMK50FkNeshvkFr2jLxTLcfAhE1+O9eqz7KGZ
Xpd2YWmfF45vqi2npDvLZMaQ7MojEoes75BiXFYq5XWpLColy0ZcSMw9XQ/4
cprdxC680DvdWjAz31WFwFk+SjRHUcNJRHxOykxZ84dcycWoDZCZQjyFDae0
OoBJFKMfBFUzFJ8bNiwMv+h66meBuq2vt9vWLEHNkroYPKdh05kGfXLVlB9/
h4ZJ6KZVbrWOLwxSKPnFU2UPIZ1R0Yud1iAqHJBsvjv4Bh0RtIAPklCFtRpV
fBP5dl6WDS6vceiTCeajGFcWn6ffWzbZThCpSQKAL/YaopKYgTGGpVuLib6N
/mjMUIL/k2xHS7H1rndro9Wnx5D20ZFcSgmPceLYBPdaWYjrlq4lrgElCoqX
ygveO9jdociS/Xrq7Tmdv9ivyuFiziCmc7+DX0JiL2BwaMnMj1tJCBUWqHAm
ri06e6IlfYXDNxeCEioBzFnARB87W7XdinxRkdi0tJr3IRHW5mzir1wXa+hU
A6uAKkiTWJi1HPHp4Kj40MitC+l/NNS9RhLyxzE4Tb7eed5IixK3CyMBxM12
EBI7Y2cmbZTi4plaN54x6GZ44ijNVIkokI7iRsR1d6fh0HxTGqg8yE+Pz46n
IeaqaIrJ1cLOlKAoEqb8mjICxKvn8MCR5ctwpnFHJwPH3daCz5jl6Rrx9oGe
Auf//GDsKtfoN1sCUjQ5bYsQmWUIJEYJwCqx89WrwTLO2KwQXOQ8KjFIN1rm
1HYZ590Ho8AKaX9Hy4e0A82o6UyHZOIm33uaP8mf7M0kFUEiZdaAAhG9Q2lJ
//PB42ff7/88LNf7zUW/r8hdyI7bz0/PZHd5pPzhqJv25H8Hx09+eHayv09X
6pH10FaYm2MSOE11Tbs1MlSIfaDwSjcDCDcnVhwGpY9ZCJok7waPhmeCuFdR
6y1o+zIt1nKtjqtGHEP4dWgoItX2DHatkbxt5uM/Yz6EChluIBibeShC3RZX
5hhpORm3SM7zfyrLtYlUbSfbJMH/3lo5zVK4t0wruX0d92xHl1T7m/R+0khB
cEwOQWVjgY9UZPRYH7nL7tDHU9skE49htK2noMcGSTqqzAQmaZagJfStZGyn
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

-->

</rfc>
