<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.7 (Ruby 2.7.3) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC1034 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1034.xml">
<!ENTITY RFC1035 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1035.xml">
<!ENTITY RFC2181 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2181.xml">
<!ENTITY RFC8109 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8109.xml">
<!ENTITY I-D.vixie-dnsext-resimprove SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.vixie-dnsext-resimprove.xml">
<!ENTITY I-D.wijngaards-dnsext-resolver-side-mitigation SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.wijngaards-dnsext-resolver-side-mitigation.xml">
]>


<rfc ipr="trust200902" docName="draft-ietf-dnsop-ns-revalidation-06" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="DNS Delegation Revalidation">Delegation Revalidation by DNS Resolvers</title>

    <author initials="S." surname="Huque" fullname="Shumon Huque">
      <organization>Salesforce</organization>
      <address>
        <email>shuque@gmail.com</email>
      </address>
    </author>
    <author initials="P." surname="Vixie" fullname="Paul Vixie">
      <organization>SIE Europe, U.G.</organization>
      <address>
        <email>paul@redbarn.org</email>
      </address>
    </author>
    <author initials="W." surname="Toorop" fullname="Willem Toorop">
      <organization>NLnet Labs</organization>
      <address>
        <postal>
          <street>Science Park 400</street>
          <city>Amsterdam</city>
          <code>1098 XH</code>
          <country>Netherlands</country>
        </postal>
        <email>willem@nlnetlabs.nl</email>
      </address>
    </author>

    <date year="2024" month="March" day="18"/>

    <area>Operations and Management Area</area>
    <workgroup>Domain Name System Operations</workgroup>
    <keyword>Internet-Draft</keyword> <keyword>DNS</keyword> <keyword>Resolver</keyword> <keyword>Delegation</keyword> <keyword>Revalidation</keyword> <keyword>Authoritative</keyword> <keyword>Name Server Record</keyword> <keyword>NS</keyword> <keyword>Parent</keyword> <keyword>Child</keyword> <keyword>Resource Record Set</keyword>

    <abstract>


<?line 125?>

<t>This document recommends improved DNS <xref target="RFC1034"/> <xref target="RFC1035"/> resolver behavior with respect to the processing of Name Server (NS) resource record sets (RRset) during iterative resolution.
When following a referral response from an authoritative server to a child zone, DNS resolvers should explicitly query the authoritative NS RRset at the apex of the child zone and cache this in preference to the NS RRset on the parent side of the zone cut.
The (A and AAAA) address RRsets in the additional section from referral responses and authoritative NS answers for the names of the NS RRset, should similarly be re-queried and used to replace the entries with the lower trustworthiness ranking in cache.
Resolvers should also periodically revalidate the child delegation by re-querying the parent zone at the expiration of the TTL of the parent side NS RRset.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-dnsop-ns-revalidation/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        DNSOP Working Group mailing list (<eref target="mailto:dnsop@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/dnsop/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/dnsop/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/shuque/ns-revalidation"/>.</t>
    </note>


  </front>

  <middle>


<?line 132?>

<section anchor="into"><name>Introduction</name>

<t>This document recommends improved DNS resolver behavior with respect to the processing of NS record sets during iterative resolution.
The first recommendation is that resolvers, when following a referral response from an authoritative server to a child zone, should explicitly query the authoritative NS RRset at the apex of the child zone and cache this in preference to the NS RRset on the parent side of the zone cut.
The address records in the additional section from the referral response (as glue) or authoritative NS response that match the names of the NS RRset should similarly be required if they are cached non-authoritatively.
The authoritative answers from those queries should replace the cached non-authoritative A and AAAA RRsets.
The second recommendation is to revalidate the delegation by re-querying the parent zone at the expiration of the TTL of the parent side NS RRset.</t>

</section>
<section anchor="motivation"><name>Motivation</name>

<t>There is wide variability in the behavior of deployed DNS resolvers today with respect to how they process delegation records.
Some of them prefer the parent NS set, some prefer the child, and for others, what they preferentially cache depends on the dynamic state of queries and responses they have processed.
This document aims to bring more commonality and predictability by standardizing the behavior in a way that comports with the DNS protocol.
Another goal is to improve DNS security.</t>

<t>The delegation NS RRset at the bottom of the parent zone and the apex NS RRset in the child zone are unsynchronized in the DNS protocol.
<xref target="RFC1034"/> Section 4.2.2 says "The administrators of both zones should insure that the NS and glue RRs which mark both sides of the cut are consistent and remain so.".
But for a variety of reasons they could not be.
Officially, a child zone's apex NS RRset is authoritative and thus has a higher cache credibility than the parent's delegation NS RRset, which is non-authoritative glue <xref target="RFC2181"/>, Section 5.4.1. "Ranking data", and Section 6.1. "Zone authority").
Hence the NS RRset "below the zone cut" should immediately replace the parent's delegating NS RRset in cache when an iterative caching DNS resolver crosses a zone boundary.
However, this can only happen if (1) the resolver receives the authoritative NS RRset in the Authority section of a response from the child zone, which is not mandatory, or (2) if the resolver explicitly issues an NS RRset query to the child zone as part of its iterative resolution algorithm.
In the absence of this, it is possible for an iterative caching resolver to never learn the authoritative NS RRset for a zone, unless a downstream client of the resolver explicitly issues such an NS query, which is not something that normal enduser applications do, and thus cannot be relied upon to occur with any regularity.</t>

<t>Increasingly, there is a trend towards minimizing unnecessary data in DNS responses.
Several popular DNS implementations default to such a configuration (see "minimal-responses" in BIND and NSD).
So, they may never include the authoritative NS RRset in the Authority section of their responses.</t>

<t>A common reason that zone owners want to ensure that resolvers place the authoritative NS RRset preferentially in their cache is that the TTLs may differ between the parent and child side of the zone cut.
Some DNS Top Level Domains (TLDs) only support long fixed TTLs in their delegation NS sets.
This inhibits a child zone owner's ability to make more rapid changes to their nameserver configuration using a shorter TTL, if resolvers have no systematic mechanism to observe and cache the child NS RRset.</t>

<t>Similarly, a child zone owner may also choose to have longer TTLs in their delegation NS sets and address records to decrease the attack window for cache poisoning attacks.
For example, at the time of writing, root-servers.net has a TTL of 6 weeks for the root server identifier address records, where the TTL in the priming response is 6 days.</t>

<t>A child zone's delegation still needs to be periodically revalidated at the parent to make sure that the parent zone has not legitimately re-delegated the zone to a different set of nameservers, or even removed the delegation.
Otherwise, resolvers that refresh the TTL of a child NS RRset on subsequent queries or due to pre-fetching, may cling to those nameservers long after they have been re-delegated elsewhere.
This leads to the second recommendation in this document, "Delegation Revalidation" - Resolvers should record the TTL of the parent's delegating NS RRset, and use it to trigger a revalidation action.
Attacks exploiting lack of this revalidation have been described in <xref target="GHOST1"/>, <xref target="GHOST2"/>.</t>

</section>
<section anchor="upgrade-ns"><name>Upgrading NS RRset Credibility</name>

<t><list style="symbols">
  <t>When a referral response is received during iteration, a validation query should be sent in parallel with the resolution of the triggering query, to the delegated nameservers for the newly discovered zone cut.
Note that validating resolvers today, when following a secure referral, already need to dispatch a query to the delegated nameservers for the DNSKEY RRset, so this validation query could be sent in parallel with that DNSKEY query.</t>
  <t>A validation query consists of a query for the child's apex NS RRset, sent to the newly discovered delegation's nameservers.
Normal iterative logic applies to the processing of responses to validation queries, including storing the results in cache, trying the next server on SERVFAIL or timeout, and so on.
Positive responses to this validation query will be cached with an authoritative data ranking.
Successive queries directed to the same zone will be directed to the nameservers listed in the child's apex, due to the ranking of this answer.
If the validation query fails, the parent NS RRset will remain the one with the highest ranking and will be used for successive queries.</t>
  <t>Additional validation queries for the "glue" resource records of referral responses (if not already authoritatively present in cache) may be sent with the validation query for the NS RRset as well.
Positive responses will be cached authoritatively and replace the non authoritative "glue" entries.
Successive queries directed to the same zone will be directed to the authoritative values for the names of the NS RRset in the referral response.</t>
  <t>The names from the NS RRset from a validating NS query may differ from the names in NS RRset in the referral response.
Outstanding validation queries for "glue" that do not match names in the authoritative NS RRset be discarded, or they may be left running to completion.
Their result will no longer be used in queries for the zone.
Outstanding validation queries for "glue" that do match names in the authoritative NS RRset must be left running to completion.
They do not need to be re-queried after reception of the authoritative NS RRset (see <xref target="upgrade-addresses"></xref>).</t>
  <t>Resolvers may choose to delay the response to the triggering query until both the triggering query and the validation query have been answered.
In practice, we expect many implementations may answer the triggering query in advance of the validation query for performance reasons.
An additional reason is that there are unfortunately a number of nameservers in the field that (incorrectly) fail to properly answer explicit queries for zone apex NS records, and thus the revalidation logic may need to be applied lazily and opportunistically to deal with them.
In cases where the delegated nameservers respond incorrectly to an NS query, the resolver should abandon this algorithm for the zone in question and fall back to using only the information from the parent's referral response.</t>
  <t>If the resolver chooses to delay the response, and there are no nameserver names in common between the child's apex NS RRset and the parent's delegation NS RRset, then the responses received from forwarding the triggering query to the parent's delegated nameservers should be discarded after validation, and this query should be forwarded again to the child's apex nameservers.</t>
</list></t>

</section>
<section anchor="upgrade-addresses"><name>Upgrading A and AAAA RRset Credibility</name>
<t>Authoritative responses for a zone's NS RRset at the apex can contain additional addresses.
A NS RRset validation response is such an example of such responses.
A priming response is another example of an authoritative zone's NS RRset response <xref target="RFC8109"/>.</t>

<t>Additional addresses in authoritative NS RRset responses SHOULD be validated if they are not already authoritatively in cache.
Only when such additional addresses are DNSSEC verifiable, (because the complete RRset is included, including a verifiable signature for the RRset), such additional addresses can be cached authoritatively immediately without additional validation queries.
DNSSEC validation is enough validation in those cases.
Otherwise, the addresses cannot be assumed to be complete or even authoritatively present in the same zone, and additional validation queries SHOULD be made for these addresses.</t>

<t>Note that there may be outstanding address validation queries for the names of the authoritative NS RRset (from referral address validation queries).
In those cases no new validation queries need to be made.</t>

<t>Resolvers may choose to delay the response to a triggering query until it can be verified that the answer came from a name server listening on an authoritatively acquired address for an authoritatively acquired name.
This would offer the most trustworthy responses with the least risk for forgery or eavesdropping.</t>

</section>
<section anchor="revalidation"><name>Delegation Revalidation</name>

<t>The essence of this mechanism is re-validation of all delegation metadata that directly or indirectly supports an owner name in cache.
This requires a cache to remember the delegated name server names for each zone cut as received from the parent (delegating) zone's name servers, and also the TTL of that NS RRset, and the TTL of the associated DS RRset (if seen).</t>

<t>A delegation under re-validation is called a "re-validation point" and is "still valid" if its parent zone's servers still respond to an in-zone question with a referral to the re-validation point, and if that referral overlaps with the previously cached referral by at least one name server name, and the DS RRset (if seen) overlaps the previously cached DS RRset (if also seen) by at least one delegated signer.</t>

<t>If the response is not a referral or refers to a different zone than before, then the shape of the delegation hierarchy has changed.
If the response is a referral to the re-validation point but to a wholly novel NS RRset or a wholly novel DS RRset, then the authority for that zone has changed.
For clarity, this includes transitions between empty and non-empty DS RRsets.</t>

<t>If the shape of the delegation hierarchy or the authority for a zone has been found to change, then no currently cached data whose owner names are at or below that re-validation point can be used.
Such non-use can be by directed garbage collection or lazy generational garbage collection or some other method befitting the architecture of the cache.
What matters is that the cache behave as though this data was removed.</t>

<t>Since re-validation can discover changes in the shape of the delegation hierarchy it is more efficient to re-validate from the top (root) downward (to the owner name) since an upper level re-validation may obviate lower level re-validations.
What matters is that the supporting chain of delegations from the root to the owner name be demonstrably valid; further specifics are implementation details.</t>

<t>Re-validation is triggered when delegation meta-data has been cached for a period at most exceeding the delegating NS or DS (if seen) RRset TTL.
If the corresponding child zone's apex NS RRset TTL is smaller than the delegating NS RRset TTL, revalidation should happen at that interval instead.
However, resolvers should impose a sensitive minimum TTL floor they are willing to endure to avoid potential computational DoS attacks inflicted by zones with very short TTLs.</t>

<t>In normal operations this meta-data can be quickly re-validated with no further work.
However, when re-delegation or take-down occurs, a re-validating cache will discover this within one delegation TTL period, allowing the rapid expulsion of old data from the cache.</t>

</section>
<section anchor="IANA"><name>IANA Considerations</name>

<t>This document includes no request to IANA.</t>

</section>
<section anchor="Security"><name>Security Considerations</name>
<t>In <xref target="DNS-CACHE-INJECTIONS"/> an overview is given of 18 cache poisoning attacks from which 13 can be remedied with delegation revalidation.
The paper provides recommendations for handling records in DNS response with respect to an earlier version of the idea presented in this document<xref target="I-D.wijngaards-dnsext-resolver-side-mitigation"/>.</t>

<t>Referral response NS RRsets and glue, and the additional addresses from authoritative NS RRset responses (such as the root priming response), are not protected with DNSSEC signatures.
An attacker that is able to alter the unsigned A and AAAA RRsets in the additional section of referral and authoritative NS RRset responses, can fool a resolver into taking addresses under the control of the attacker to be authoritative for the zone.
Such an attacker can redirect all traffic to the zone (of the referral or authoritative NS RRset response) to a rogue name server.</t>

<t>A rogue name server can view all queries from the resolver to that zone and alter all unsigned parts of responses, such as the parent side NS RRsets and glue of further referral responses.
Resolvers following referrals from a rogue name server, that do not revalidate those referral responses, can subsequently be fooled into taking addresses under the control of the attacker to be authoritative for those delegations as well.
The higher up the DNS tree, the more impact such an attack has.
In case of non DNSSEC validating resolvers, an attacker controlling a rogue name server for the root has potentially complete control over the entire domain name space and can alter all unsigned parts undetected.</t>

<t>Revalidating referral and authoritative NS RRsets responses enables to defend against the above described attack with DNSSEC signed infrastructure RRsets.
Unlike cache poisoning defences that leverage increase entropy to protect the transaction, revalidation of NS RRsets and addresses also provides protection against on-path attacks.</t>

<t><xref target="upgrade-ns">Upgrading NS RRset Credibility</xref> allows resolvers to cache and utilize the authoritative child apex NS RRset in preference to the non-authoritative parent NS RRset.
However, it is important to implement the steps described in <xref target="revalidation">Delegation Revalidation</xref> at the expiration of the parent's delegating TTL.
Otherwise, the operator of a malicious child zone, originally delegated to, but subsequently delegated away from, can cause resolvers that refresh TTLs on subsequent NS set queries, or that pre-fetch NS queries, to never learn of the redelegated zone.</t>

</section>


  </middle>

  <back>


    <references title='Normative References' anchor="sec-normative-references">

&RFC1034;
&RFC1035;
&RFC2181;
&RFC8109;


    </references>

    <references title='Informative References' anchor="sec-informative-references">

&I-D.vixie-dnsext-resimprove;
&I-D.wijngaards-dnsext-resolver-side-mitigation;
<reference anchor="GHOST1" target="https://www.ndss-symposium.org/ndss2012/">
  <front>
    <title>Ghost Domain Names: Revoked Yet Still Resolvable</title>
    <author initials="J." surname="Jiang" fullname="J Jiang">
      <organization></organization>
    </author>
    <author initials="J." surname="Liang" fullname="J Liang">
      <organization></organization>
    </author>
    <author initials="K." surname="Li" fullname="K Li">
      <organization></organization>
    </author>
    <author initials="J." surname="Li" fullname="J Li">
      <organization></organization>
    </author>
    <author initials="H." surname="Duan" fullname="H Duan">
      <organization></organization>
    </author>
    <author initials="J." surname="Wu" fullname="J Wu">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="GHOST2" target="https://www.ndss-symposium.org/ndss-paper/ghost-domain-reloaded-vulnerable-links-in-domain-name-delegation-and-revocation/">
  <front>
    <title>Ghost Domain Reloaded: Vulnerable Links in Domain Name Delegation and Revocation</title>
    <author initials="X." surname="Li" fullname="Xiang Li">
      <organization></organization>
    </author>
    <author initials="B." surname="Liu" fullname="Baojun Liu">
      <organization></organization>
    </author>
    <author initials="X." surname="Bai" fullname="Xuesong Bai">
      <organization></organization>
    </author>
    <author initials="M." surname="Zhang" fullname="Mingming Zhang">
      <organization></organization>
    </author>
    <author initials="Q." surname="Zhang" fullname="Qifan Zhang">
      <organization></organization>
    </author>
    <author initials="Z." surname="Li" fullname="Zhou Li">
      <organization></organization>
    </author>
    <author initials="H." surname="Duan" fullname="Haixin Duan">
      <organization></organization>
    </author>
    <author initials="Q." surname="Li" fullname="Qi Li">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="DNS-CACHE-INJECTIONS" target="https://ieeexplore.ieee.org/abstract/document/8057202">
  <front>
    <title>Internet-Wide Study of DNS Cache Injections</title>
    <author initials="A." surname="Klein" fullname="Amit Klein">
      <organization></organization>
    </author>
    <author initials="H." surname="Shulman" fullname="Haya Shulman">
      <organization></organization>
    </author>
    <author initials="M." surname="Waidner" fullname="Michael Waidner">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>


    </references>


<?line 273?>

<section anchor="Acknowledgements"><name>Acknowledgements</name>

<t>Wouter Wijngaards proposed explicitly obtaining authoritative child NS data in <xref target="I-D.wijngaards-dnsext-resolver-side-mitigation"/>.
This behavior has been implemented in the Unbound DNS resolver via the "harden-referral-path" option.
The combination of child NS fetch and revalidating the child delegation was originally proposed in <xref target="I-D.vixie-dnsext-resimprove"/>, by Paul Vixie, Rodney Joffe, and Frederico Neves.</t>

<t>The authors would like to thank Ralph Dolmans who was an early collaborator on this work, as well as the many members of the IETF DNS Operations Working Group for helpful comments and discussion.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA9Vc628bN7b/rr+C8H5YC5AUx027WV9coG6cNm5Tp7Xdptti
P1AzlMR6htQOZ6woQf73ex4kh/OQnfYWF7gBitrzIA/P83ce4/l8Pql1Xagz
caEKtZa1tkZcq3tZ6Jx/We7FxdUNXHO2uFeVm8jlslL3Z3T1wEuT3GZGlrBq
XslVPdeqXs1z4+x2bty8Sp6cn3wxgZ/gydOT02fzk8/mT59PJnpbnYm6alx9
enLyz5PTiWuWpXYOXqj3W3j48uXt1xNZKXkm3mxVRUs5IU0uvpdGrlWpTC3O
4f5ktwZKbSm1EVdAkbjZu1qVyVuTu93ZRIi5uDS1qoyq5xdIM12CI9L/w+H5
Yjyzv5ecGy+cN/XGVrqGK/eKrvDGqoIV4PHMVjlf5sV/gHMY3u/FRhd53LGp
MuWfh7frSSbrM+HqfHKvTKOQ6HVlmy1J4s0P8CucsgCWI5+/RJYvbLXGp3S9
aZbw6qb5T6Oe9CQwmWz1mfitttlMOFvVlVo5+Glf4g//nkwkHYdYBP8JoY07
EzcL8QoXoyss6ZtNU4IatJdhc2n0e9oEbstCuZWFI9FNxbQySV+u8bdFZsvu
Lj8sxM/6nU53+UE2RXKxt8flS/GyqexWzcRPi28W6U5bePHLSuVLWRnPl2Sn
twtxay28mWz1VhcFaEpyvbvb1WtQFvFaLh3ddMA5BQK6ybQyIDgQ6514dnJC
NzNd78/EeQm6V+Wy5Gs2h12envzzufjllb/SmLqCB69UvVFVAfrs0jPsiKIv
TQEbF7DvwhSTibFVSap2Ro9ef/3i6clnz9JfPo+/nD59/jT+8hy2PgNbM6vu
Cpfzi8U9chgtVr2rQVucLreVTR/Y6d/NWsoqd8lTZCNzp3M1L3Wt2Uj4nW9e
vbm59Xvjv1pWa+TWpq637uzJk91ut4DTujko3tY63ZQopCd46fTk6emT9kX2
VkffbKyrU8sGKYIp2juVi3+BXG5qYJY3XLks1FFcoVXo8G+e/Byk/634Vkuz
7twhVfl2Mbgz/v7rg+/374y9/x08NXz5u0X38qGdD2z7yJuvxEUjzfDdV4v+
jfF93zaj+/rLpAKnf0oF5lsJ/vrJGmU+z0nmoG+FlbnK5/cN2EOFMp4X2ty5
Odz0zyBh8zz66zkYFPo+m9GvjyjVtd/gTPwcdwAewg5wsk5MSaIghqDruMMf
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
AMWEEx2STAAA

-->

</rfc>

