<?xml version="1.0" encoding="utf-8"?>
<!-- name="GENERATOR" content="github.com/mmarkdown/mmark Mmark Markdown Processor - mmark.miek.nl" -->
<rfc version="3" ipr="trust200902" docName="draft-dsawp-notify-00" submissionType="IETF" category="std" xml:lang="en" xmlns:xi="http://www.w3.org/2001/XInclude" updates="1996" indexInclude="true" consensus="true">

<front>
<title abbrev="DNSSEC NOTIFY">NOTIFY for DNSSEC updates</title><seriesInfo value="draft-dsawp-notify-00" stream="IETF" status="standard" name="Internet-Draft"></seriesInfo>
<author initials="J." surname="Levine" fullname="John Levine"><organization>Standcore LLC</organization><address><postal><street></street>
</postal><email>standards@standcore.com</email>
</address></author><date/>
<area>Application</area>
<workgroup></workgroup>
<keyword>DNS</keyword>
<keyword>DNSSEC</keyword>

<abstract>
<t>This document specifes a new usage of DNS NOTIFY to install and update DNSSEC key information.</t>
</abstract>

</front>

<middle>

<section anchor="introduction"><name>Introduction</name>
<t><xref target="RFC1996"></xref> defines the NOTIFY opcode for DNS and its use to alert secondary name servers
that the contents of a zone has changed.</t>
<t><xref target="RFC7344"></xref> specifies the method to pass DNSSEC key changes from child to parent
zones using CDS and CDNSKEY records.
<xref target="RFC8078"></xref> describes a method to pass initial DNSSEC key records from child
to parent using CDS and CDNSKEY records,
while <xref target="I-D.ietf-dnsop-dnssec-bootstrapping"></xref> describes a more secure alternative.</t>
<t>All three of these methods currently depend on a parent zone periodically scanning child
zones to check for updates, which limits the speed of DNSSEC updates and potentially
puts a large load on parent zones with many child zones.
A new usage of DNS NOTIFY allows a child zone to tell the parent zone that DNSSEC key information
has changed, so the parent can promptly scan the child zone and perform updates.</t>
<t>The key words &quot;MUST&quot;, &quot;MUST NOT&quot;, &quot;REQUIRED&quot;, &quot;SHALL&quot;, &quot;SHALL NOT&quot;,
&quot;SHOULD&quot;, &quot;SHOULD NOT&quot;, &quot;RECOMMENDED&quot;, &quot;NOT RECOMMENDED&quot;, &quot;MAY&quot;, and
&quot;OPTIONAL&quot; in this document are to be interpreted as described in BCP
14 <xref target="RFC2119"></xref> <xref target="RFC8174"></xref> when, and only when, they appear in all
capitals, as shown here.</t>
</section>

<section anchor="usage"><name>NOTIFY usage for key updates</name>
<t>In <xref target="RFC1996" sectionFormat="of" relative="#" section="2"></xref>, the server sending the NOTIFY queries is called the Master and the one
receiving and answering them is called the Slave.
In this application, a server for a child zone sends the queries, and a server
for the parent zone receives and answers them.</t>
<t>The format of a NOTIFY query and answer is unchanged from that in <xref target="RFC1996" sectionFormat="of" relative="#" section="3"></xref>.
The QTYPE of the request MUST be CDS or CDNSKEY, to indicate that CDS or CDNSKEY
records in the child zone have been added or updated.
The answer section SHOULD contain copies of the new CDS or CDNSKEY records, which
the parent can use to disregard duplicate requests, as in <xref target="RFC1996" sectionFormat="of" relative="#" section="3.7"></xref>.</t>
<t>When the parent receives a non-duplicate request, if it already has DNSSEC key
records for the child zone, it scans for updates as in <xref target="RFC7344"></xref>.
If it does not, it uses the process from <xref target="RFC8078"></xref> or
<xref target="I-D.ietf-dnsop-dnssec-bootstrapping"></xref> to possibly install new key records.</t>
<t>A parent MUST ignore DNSSEC NOTIFY messages that are not for zones that are immediate
children of the parent, other than optionally logging an error message.</t>
<t>In some cases a zone may have multiple signers.
The multiple signers have to coordinate CDS and CDNSKEY updates as described in <xref target="RFC8901" sectionFormat="of" relative="#" section="8"></xref>
and it is up to them to coordinate which of them sends NOTIFY queries,
or whether they both can do so.</t>
</section>

<section anchor="where"><name>Identifying the parent to notify</name>
<t>In some cases, NOTIFY messages are sent to one of the DNS servers for the parent zone,
but in other cases they may be sent to a different host that manages the parent
zone, analogous to Stealth servers in <xref target="RFC1996" sectionFormat="of" relative="#" section="2.1"></xref>.</t>
<t>This specification does not describe how to select or find the correct target of the NOTIFY.</t>
</section>

<section anchor="security"><name>Security considerations</name>
<t>The NOTIFY messages are only a hint to do a scan that the parent would eventually have done
anyway, so they introduce no new DNSSEC security issues.</t>
<t>Large numbers of NOTIFY messages could cause a denial of service attack, just like any
other unwanted traffic.
Child servers MUST limit the number of NOTIFY queries they send and parents MUST limit
the number of answers they send to avoid direct or reflection DoS attacks.</t>
</section>

</middle>

<back>
<references><name>Normative References</name>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.1996.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
</references>
<references><name>Informative References</name>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml-ids/reference.I-D.ietf-dnsop-dnssec-bootstrapping.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7344.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8078.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8901.xml"/>
</references>

</back>

</rfc>
