<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.17 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-thomassen-dnsop-generalized-dns-notify-00" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.15.3 -->
  <front>
    <title abbrev="Generalized Notifications">Generalized DNS Notifications</title>
    <seriesInfo name="Internet-Draft" value="draft-thomassen-dnsop-generalized-dns-notify-00"/>
    <author initials="J." surname="Stenstam" fullname="Johan Stenstam">
      <organization>The Swedish Internet Foundation</organization>
      <address>
        <email>johan.stenstam@internetstiftelsen.se</email>
      </address>
    </author>
    <author initials="P." surname="Thomassen" fullname="Peter Thomassen">
      <organization>deSEC, Secure Systems Engineering</organization>
      <address>
        <email>peter@desec.io</email>
      </address>
    </author>
    <date/>
    <area>Internet</area>
    <workgroup>DNSOP Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>Changes in CDS/CDNSKEY, CSYNC, and other records related to delegation
maintenance are usually detected through scheduled scans run by the
consuming party (e.g. top-level domain registry), incurring an
uncomfortable trade-off between scanning cost and update latency.</t>
      <t>A similar problem exists when scheduling zone transfers, and has been
solved using the well-known DNS NOTIFY mechanism (<xref target="RFC1996"/>).
This mechanism enables a primary nameserver to proactively inform
secondaries about zone changes, allowing the secondary to initiate an
ad-hoc transfer independently of when the next SOA check would be due.</t>
      <t>This document extends the use of DNS NOTIFY beyond conventional zone
transfer hints, bringing the benefits of ad-hoc notifications to DNS
delegation maintenance in general.
Use cases include DNSSEC key rollovers hints via NOTIFY(CDS) and
NOTIFY(DNSKEY), and quicker changes to a delegation's NS record set
via NOTIFY(CSYNC).</t>
      <t>TO BE REMOVED: This document is being collaborated on in Github at:
<eref target="https://github.com/peterthomassen/draft-thomassen-dnsop-generalized-dns-notify">https://github.com/peterthomassen/draft-thomassen-dnsop-generalized-dns-notify</eref>.
The most recent working version of the document, open issues, etc. should all be
available there.  The authors (gratefully) accept pull requests.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>This document introduces a generalization of the DNS NOTIFY mechanism
described in <xref target="RFC1996"/>.</t>
      <t>Traditional DNS notifications, which are here referred to as
"NOTIFY(SOA)", are sent from a primary server to a secondary server to
minimize the latter's convergence time to a new version of the
zone. This mechanism successfully addresses a significant inefficiency
in the original protocol.</t>
      <t>Today there are several new cases where similar inefficiencies cause
significant problems. However, just as in the NOTIFY(SOA) case, a new
set of notification types will have a major positive benefit by
allowing the DNS infrastructure to completely sidestep these
inefficiencies.</t>
      <t>There are no DNS protocol changes introduced by this document.</t>
      <t>There are, however, proposals for how to interpret a wider range of
DNS messages that are already allowed (but not used) by the protocol.</t>
      <t>Readers are expected to be familiar with DNSSEC, including <xref target="RFC4033"/>,
<xref target="RFC4034"/>, <xref target="RFC4035"/>, <xref target="RFC6781"/>, <xref target="RFC7344"/>, <xref target="RFC7477"/>,
<xref target="RFC7583"/>, and <xref target="RFC8901"/>.</t>
      <section anchor="requirements-notation">
        <name>Requirements Notation</name>
        <t>The key words "<strong>MUST</strong>", "<strong>MUST NOT</strong>", "<strong>REQUIRED</strong>", "<strong>SHALL</strong>", "<strong>SHALL
NOT</strong>", "<strong>SHOULD</strong>", "<strong>SHOULD NOT</strong>", "<strong>RECOMMENDED</strong>", "<strong>NOT
RECOMMENDED</strong>", "<strong>MAY</strong>", and "<strong>OPTIONAL</strong>" in this document are to be
interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only
when, they appear in all capitals, as shown here.</t>
      </section>
    </section>
    <section anchor="costs-and-dangers-of-slow-convergence">
      <name>Costs and Dangers of Slow Convergence</name>
      <t><xref target="RFC1996"/> introduced the concept of a DNS Notify message which was used
to improve the convergence time for secondary servers when a DNS zone
had been updated in the primary. The basic idea was to augment the
traditional "pull" mechanism (a periodic SOA query) with a "push"
mechanism (a Notify) for a common case that was otherwise very
inefficient (due to either slow convergence or wasteful overly
frequent scanning of the primary for changes).</t>
      <t>Today we have similar issues with slow updates of DNS data in spite of
the data having been published. The two most obvious cases are the
scalability issues of modern CDS and CSYNC scanners that are beginning
to be deployed in a growing number of TLD registries. Because of the
large number of child delegations, scanning for CDS and CSYNC records
is rather slow (as in infrequent).</t>
      <t>Another use case is for so-called "multi-signer" setups where there
are multiple, semi-independent, "signers" that each sign the same
zone, but with individual sets of keys. One requirement for
multi-signer setups to work is the ability to insert additional
DNSKEY records in each signer's version of the zone. This is not the
only multi-signer requirement, but it is the one that matters
here. The problem here is that modern signers will commonly roll
DNSSEC Zone Signing Keys automatically and without informing anyone,
assuming a single-signer setup where ZSK rollovers are a local matter
(as opposed to KSK rollovers that involve the parent).</t>
      <t>However, when the ZSKs of one signer are rolled the other signers will
be unaware of this event. Having the individual signers sign DNSKEY
RRsets where the ZSKs are not the same create a possibly broken
signature chain and is therefore a dangerous situation. Eventually the
signers will catch up, as multi-signer operators import each other's
DNSKEY public key(s) to be able to compute the combined RRsets that
should be published, but the period between the ZSK rollover in one
signer and the other signers becoming aware constitutes a period of
potential brokenness.</t>
    </section>
    <section anchor="efficiency-issues-with-dns-scanning-vs-notification">
      <name>Efficiency Issues with DNS Scanning vs. Notification</name>
      <t>The original problem that <xref target="RFC1996"/> addressed was the problem of
optimization between frequent checking for new versions of a zone by a
secondary and infrequent checking.
While it is possible to indicate how frequently checks should occur
(via the SOA Refresh parameter), these checks did not allow catching
zone changes that fall between checkpoints.
NOTIFY replaces scheduled scanning with a more efficient mechanism.</t>
      <t>In modern DNS infrastructure there are several new scanning based
inefficiencies that did not exist at the time of the writing of
<xref target="RFC1996"/>.</t>
      <section anchor="cds-and-cdnskey-scanners">
        <name>CDS and CDNSKEY Scanners</name>
        <t>An increasing number of TLD registries are implementing periodic
scanning for CDS and CDNSKEY records in child zones. Because of the
large number of delegations this is rather costly, especially as it is
only a very small number of the signed delegations that will have
updated the CDS or CDNSKEY record between two scanning runs.</t>
        <t>Frequent scanning is costly. Infrequent scanning causes slower
convergence (i.e. delay until the DS in the parent is updated).</t>
        <t>Not every zone runs a CDS or CSYNC scanner (today). However, for those
that do, the problem is actually worse than in the traditional primary
to secondary case. The reason is that in the original case the primary
is able to indicate how frequently changes are to be expected (via the
SOA Refresh parameter). No equivalent mechanism exist for the new
scanning services.</t>
      </section>
      <section anchor="csync-scanners">
        <name>CSYNC Scanners</name>
        <t>This is basically the same problem as for the CDS / CDNSKEY scanners:
large number of delegations vs infrequent updates to the CSYNC record
in the child zones.</t>
        <t>Frequent scanning is costly. Infrequent scanning causes slower convergence
(i.e. updated delegation information in the parent).</t>
      </section>
      <section anchor="multi-signer-setups">
        <name>Multi-Signer Setups</name>
        <t><xref target="I-D.wisser-dnssec-automation"/> describes processes for managing signed
zones using multiple semi-independent "signers" (i.e. services that
take an unsigned zone, sign it using unique DNSKEYs and publish the
zone on the public Internet). The setup most commonly discussed for
multi-signer uses a "multi-signer controller", which is a separate
service responsible for keeping the signing and delegation information
in sync across multiple signers.</t>
        <t>To keep information in sync, the signers need to be scanned for
current information about the DNSKEY RRset in each signer. The problem
is that modern "signers" will typically do DNSKEY rollovers
(especially ZSK rollovers) automatically without informing anyone
else, because a single-signer setup is often assume (in which case the
ZSK rollover is a matter completely internal to the signer).</t>
        <t>In the multi-signer case, this is not a correct assumption. It is
therefore necessary to run frequent polls frequently to minimize
the time window between one signer changing its version of the DNSKEY
RRset and the controller noticing and re-synchronizing all signers.</t>
        <t>Frequent scanning: costly. Infrequent scanning: slower convergence
(i.e. longer potential inconsistency across signers).</t>
      </section>
    </section>
    <section anchor="cdscdnskey-and-csync-notifications">
      <name>CDS/CDNSKEY and CSYNC Notifications</name>
      <t>The <xref target="RFC1996"/> NOTIFY message sends a SOA record in the Query
Section. We refer to this as a NOTIFY(SOA).
By generalizing the concept of DNS NOTIFY it is possible to address
not only the original inefficiency (primary name server to secondary
nameserver convergence) but also the problems with CDS/CDNSKEY, CSYNC
and Multi-Signer scanning for zone updates.</t>
      <t>The CDS/CDNSKEY inefficiency may be addressed by the child sending a
NOTIFY(CDS) to an address where the parent listens for such notifications.
To address the CDS/CDNSKEY dichotomy, NOTIFY(CDS) is defined to indicate
any child-side changes pertaining to a upcoming update of DS records.
Upon receipt of NOTIFY(CDS), the parent SHOULD initiate the same scan
that would other be triggered based on a timer.</t>
      <t>The CSYNC inefficiency may similarly be addressed by the child sinding a
NOTIFY(CSYNC) to an address where the parent is listening to CSYNC
notifications.</t>
      <t>In both cases the notification will speed up the CDS and CSYNC
scanning by providing the parent with a hint that a particular child
zone has published new CDS, CDNSKEY and/or CSYNC records.</t>
      <t>The DNS protocol already allows these new notification types, so no
protocol change is required, the only thing needed is specification of
where to send the new types of Notifies and how to interpret them in
the receiving end.</t>
      <section anchor="where-to-send-cds-and-csync-notifications">
        <name>Where to send CDS and CSYNC Notifications</name>
        <t>In the case of NOTIFY(CDS) and NOTIFY(CSYNC) the ultimate recipient of
the notification is the parent, to improve the speed and efficiency of
the parent's CDS/CSYNC scanning. Because the name of the parent zone
is known, and because the parent obviously controls the contents of
its own zone the simplest solution is for the parent to publish the
address where it prefers to have notifications sent. To be slightly
more general than just using an address record we propose to use SRV
records, as they are well suited to this.</t>
        <t>In the zone <tt>parent.</tt>:</t>
        <artwork><![CDATA[
_cds-notifications.parent.   IN SRV n m  53 scanner.parent.
_csync-notifications.parent. IN SRV n m  53 scanner.parent.
]]></artwork>
      </section>
      <section anchor="how-to-interpret-cds-and-csync-notifications">
        <name>How to Interpret CDS and CSYNC Notifications</name>
        <t>Upon receipt of a NOTIFY(CDS) for a particular child zone at the
published address for CDS notifications, the parent has two options:</t>
        <ol spacing="normal" type="1"><li>
            <t>Schedule an immediate check of the CDS and CDNSKEY RRsets as
published by that particular child zone.  </t>
            <t>
The parent MAY reset the scanning timer for children for which
NOTIFY(CDS) is received, or reduce the periodic scanning frequency
accordingly (e.g. to every two weeks).
This will decrease the scanning effort for the parent.
If a CDS/CDNSKEY change is then detected (without having received
a notification), the parent SHOULD clear that state and revert to
the default scanning schedule.  </t>
            <t>
Parents introducing CDS/CDNSKEY scanning support at the same time
as NOTIFY(CDS) support are not in danger of breaking children's
scanning assumption, and MAY therefore use a low-frequency
scanning schedule in default mode.</t>
          </li>
          <li>Ignore the notification, in which case the system works exactly
as before.</li>
        </ol>
        <t>If the parent implements the first option, the convergence time (time
between publication of a new CDS and propagation of the resulting DS)
will decrease significantly, thereby providing improved service to the
child zone.</t>
        <t>If the parent, in addition to scheduling an immediate check for the
child zone of the notification, also choses to modify the scanning
schedule (to be less frequent), the cost of providing the scanning
service will be reduced.</t>
        <t>Upon receipt of a NOTIFY(CSYNC) to the published address for CSYNC
notifications, the parent has exactly the same options to choose among
as for the NOTIFY(CDS).</t>
      </section>
    </section>
    <section anchor="dnskey-notifications">
      <name>DNSKEY Notifications</name>
      <t>In the multi-signer case the problem is slightly different, because it
is not the parent that should be notified, but rather a third party.</t>
      <section anchor="where-to-send-dnskey-notifications">
        <name>Where to send DNSKEY Notifications</name>
        <t>The question is how the multi-signer controller should inform the
signer about where to send the notification. In the NOTIFY(CDS) and
NOTIFY(CSYNC) cases the child (the service that signs the child zone)
knows the name of the parent zone and can look up the notification
address there. In the NOTIFY(DNSKEY) case this is not
possible. However, what is possible is to look up the notification
address in the child zone itself. This works out as a requirement for
multi-signer setups to work is that at least one external party (the
multi-signer controller) has the ability to insert or modify RRsets in
the child zone. Therefore the controller should be able to insert a
record that documents the wanted address for DNSKEY notifications.</t>
        <t>In analogy with the other cases, but here in the zone <tt>child.parent.</tt>:</t>
        <artwork><![CDATA[
_dnskey-notification.child.parent. IN SRV n m 53 scanner.signerA.
_dnskey-notification.child.parent. IN SRV n m 53 scanner.signerB.
]]></artwork>
        <t>should act as a trigger for the signer that whenever there are changes
to the DNSKEY RRset it should send a corresponding NOTIFY(DNSKEY) to
all signers that have signaled interest via insertion of SRV records
in the zone.</t>
      </section>
      <section anchor="how-to-interpret-dnskey-notifications">
        <name>How to Interpret DNSKEY Notifications</name>
        <t>The receipt of a NOTIFY(DNSKEY) is a hint that the DNSKEY RRset at the
sending signer has been updated. If the child zone is not part of a
multi-signer setup this should be a no-op that does not cause any
action. In a multi-signer setup, though, this hint provides the
recipient of the notification with the same three options as in the
NOTIFY(CDS) and NOTIFY(CSYNC) cases: schedule an immediate check,
delay regular checks and ignore.</t>
      </section>
    </section>
    <section anchor="who-should-send-the-notifications">
      <name>Who Should Send the Notifications?</name>
      <t>Because of the security model where a notification by itself never
causes a change (it can only speed up the time until the next
scheduled check for the same thing) who the sender is is not crucial.</t>
      <t>This opens up the possibility of having the controller in a
multi-signer setup send the CDS and CSYNC notifications to the parent,
thereby enabling this new functionality even before the emergence of
support for generalized DNS notifications in the name servers used for
signing.</t>
      <t>However, as multi-signer is strongly dependent on DNSKEY notifications
(which, in case of an automatic ZSK rollover, can only be generated by
the signing software), this does not alleviate the need for
modifications also to signing software to support NOTIFY(DNSKEY).</t>
    </section>
    <section anchor="timing-considerations">
      <name>Timing Considerations</name>
      <t>When a primary name server publishes a new CDS RRset there will be a
time delay until all copies of the zone world-wide will have been
updated. Usually this delay is short (on the order of seconds), but it
is larger than zero. If the primary sends a NOTIFY(CDS) at the exact
time of publication of the new zone there is a potential for the
parent to schedule the CDS check that the notification triggers faster
than the zone propagates to all secondaries. In this case the parent
may draw the wrong conclusion ("the CDS RRset has not been updated").</t>
      <t>Having a delay between the publication of the new data and the check
for the new data would alleviate this issue. However, as the parent
has no way of knowing how quickly the child zone propagates, any such
intentional delay should be implemented in the sending end, i.e. at
the server generating the NOTIFY(CDS), not in the receiving end.</t>
      <t>NOTIFY(CSYNC) has the same timing consideration as NOTIFY(CDS) while
NOTIFY(DNSKEY) does not.</t>
    </section>
    <section anchor="open-questions">
      <name>Open Questions</name>
      <section anchor="srv-vs-new-record-type">
        <name>SRV vs new record type</name>
        <t>In the case of the "vertical" Notify(CDS) and NOTIFY(CSYNC) nothing
needs to be done by the nameservers serving the parent zone. So
therefore the SRV records appear to be a near perfect match. In the
case of the more "horizontal" NOTIFY(DNSKEY), however, the nameserver
will have to act on the insertion of a NOTIFY(DNSKEY) instruction.</t>
        <t>It may therefore be preferable to use a new record type, to make it
possible to more easily associate the special processing needed with
the new type rather than the standard SRV RRtype that occurs in
completely other scenarios than are described here. If that is the
case it could be that a new record type would provide a cleaner
solution to all the new types of notification signaling. Eg.:</t>
        <artwork><![CDATA[
parent.         IN NOTIFY  CDS     53   scanner.parent.
parent.         IN NOTIFY  CSYNC   53   scanner.parent.
child.parent.   IN NOTIFY  DNSKEY  5300 music.service.provider.
]]></artwork>
      </section>
      <section anchor="open-question-for-dnskey-notifications">
        <name>Open Question For DNSKEY Notifications</name>
        <t>In a multi-signer setup there are multiple signers. How will the
multi-signer controller know which signer sent the notification? As
the number of signers for a particular zone is low (typically 2 or
possibly 3), there is no major problem caused by not knowing which
signer sent the notification and instead always check all the signers
for updates to the DNSKEY RRset.</t>
      </section>
    </section>
    <section anchor="out-of-scope">
      <name>Out of Scope</name>
      <t>In the multi-signer case, where the same zone is signed by multiple
semi-independent "signers" it is obviously necessary to devise means
of keeping the non-DNSSEC contents of the zone in sync. That is out of
scope of the multi-signer work and also out of scope of this document.</t>
      <t>A corner case of this scoping regards making changes to the NS
RRset. Individual signers (as in DNS service providers) may want to be
able to make such changes independently of the other contents of the
zone. See previous section.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The original NOTIFY specification (<xref target="RFC1996"/>) sidesteps most security
issues by not relying on the information in the NOTIFY message in any
way but instead only use it to set the timer until the next scheduled
check (for the SOA record) to zero. Therefore it is impossible to
affect the behaviour of the recipient of the NOTIFY other than by
changing the timing for when different checks are initiated.</t>
      <t>This mechanism and security model is reused for all the generalized
NOTIFY messages.</t>
      <t>Another consideration is whether generalized DNS
Notifications can be used as an amplification attack. The answer seems
to be "NO", because the size of the generalized NOTIFY messages is
mostly equal to the size of the response and it is also mostly equal
to the size of the resulting outbound query (for the child zone's CDS,
CSYNC or DNSKEY RRset).</t>
      <t>Hence the amplification attack potential of generalized Notifications
is the same as for the original NOTIFY(SOA), which has never been
found to be useful for amplification attacks.</t>
      <t>In any case, NOTIFY consumers MAY configure rate limits to address
concerns about the impact of unsolicited NOTIFY messages.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>Per <xref target="RFC8552"/>, IANA is requested to create the "Generalized DNS
Notifications" registry with the following columns and initial
entries:</t>
      <table>
        <thead>
          <tr>
            <th align="left">NOTIFY type</th>
            <th align="left">Location</th>
            <th align="left">relative to</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">CDS</td>
            <td align="left">_cds-notifications</td>
            <td align="left">parent</td>
            <td align="left">[this document]</td>
          </tr>
          <tr>
            <td align="left">CSYNC</td>
            <td align="left">_csync-notifications</td>
            <td align="left">parent</td>
            <td align="left">[this document]</td>
          </tr>
          <tr>
            <td align="left">DNSKEY</td>
            <td align="left">TODO</td>
            <td align="left">TODO</td>
            <td align="left">[this document]</td>
          </tr>
        </tbody>
      </table>
      <t>[TODO: (1) Detail out use cases? (2) Add entries via RFC or web form?]</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Christian Elmerot</t>
    </section>
  </middle>
  <back>
    <references>
      <name>Normative References</name>
      <reference anchor="RFC1996">
        <front>
          <title>A Mechanism for Prompt Notification of Zone Changes (DNS NOTIFY)</title>
          <author fullname="P. Vixie" initials="P." surname="Vixie">
            <organization/>
          </author>
          <date month="August" year="1996"/>
          <abstract>
            <t>This memo describes the NOTIFY opcode for DNS, by which a master server advises a set of slave servers that the master's data has been changed and that a query should be initiated to discover the new data. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="1996"/>
        <seriesInfo name="DOI" value="10.17487/RFC1996"/>
      </reference>
      <reference anchor="RFC4033">
        <front>
          <title>DNS Security Introduction and Requirements</title>
          <author fullname="R. Arends" initials="R." surname="Arends">
            <organization/>
          </author>
          <author fullname="R. Austein" initials="R." surname="Austein">
            <organization/>
          </author>
          <author fullname="M. Larson" initials="M." surname="Larson">
            <organization/>
          </author>
          <author fullname="D. Massey" initials="D." surname="Massey">
            <organization/>
          </author>
          <author fullname="S. Rose" initials="S." surname="Rose">
            <organization/>
          </author>
          <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="RFC4034">
        <front>
          <title>Resource Records for the DNS Security Extensions</title>
          <author fullname="R. Arends" initials="R." surname="Arends">
            <organization/>
          </author>
          <author fullname="R. Austein" initials="R." surname="Austein">
            <organization/>
          </author>
          <author fullname="M. Larson" initials="M." surname="Larson">
            <organization/>
          </author>
          <author fullname="D. Massey" initials="D." surname="Massey">
            <organization/>
          </author>
          <author fullname="S. Rose" initials="S." surname="Rose">
            <organization/>
          </author>
          <date month="March" year="2005"/>
          <abstract>
            <t>This document is part of a family of documents that describe the DNS Security Extensions (DNSSEC).  The DNS Security Extensions are a collection of resource records and protocol modifications that provide source authentication for the DNS.  This document defines the public key (DNSKEY), delegation signer (DS), resource record digital signature (RRSIG), and authenticated denial of existence (NSEC) resource records.  The purpose and format of each resource record is described in detail, and an example of each resource record is given. </t>
            <t> This document obsoletes RFC 2535 and incorporates changes from all updates to RFC 2535.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4034"/>
        <seriesInfo name="DOI" value="10.17487/RFC4034"/>
      </reference>
      <reference anchor="RFC4035">
        <front>
          <title>Protocol Modifications for the DNS Security Extensions</title>
          <author fullname="R. Arends" initials="R." surname="Arends">
            <organization/>
          </author>
          <author fullname="R. Austein" initials="R." surname="Austein">
            <organization/>
          </author>
          <author fullname="M. Larson" initials="M." surname="Larson">
            <organization/>
          </author>
          <author fullname="D. Massey" initials="D." surname="Massey">
            <organization/>
          </author>
          <author fullname="S. Rose" initials="S." surname="Rose">
            <organization/>
          </author>
          <date month="March" year="2005"/>
          <abstract>
            <t>This document is part of a family of documents that describe the DNS Security Extensions (DNSSEC).  The DNS Security Extensions are a collection of new resource records and protocol modifications that add data origin authentication and data integrity to the DNS.  This document describes the DNSSEC protocol modifications.  This document defines the concept of a signed zone, along with the requirements for serving and resolving by using DNSSEC.  These techniques allow a security-aware resolver to authenticate both DNS resource records and authoritative DNS error indications. </t>
            <t> This document obsoletes RFC 2535 and incorporates changes from all updates to RFC 2535.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4035"/>
        <seriesInfo name="DOI" value="10.17487/RFC4035"/>
      </reference>
      <reference anchor="RFC6781">
        <front>
          <title>DNSSEC Operational Practices, Version 2</title>
          <author fullname="O. Kolkman" initials="O." surname="Kolkman">
            <organization/>
          </author>
          <author fullname="W. Mekking" initials="W." surname="Mekking">
            <organization/>
          </author>
          <author fullname="R. Gieben" initials="R." surname="Gieben">
            <organization/>
          </author>
          <date month="December" year="2012"/>
          <abstract>
            <t>This document describes a set of practices for operating the DNS with security extensions (DNSSEC).  The target audience is zone administrators deploying DNSSEC.</t>
            <t>The document discusses operational aspects of using keys and signatures in the DNS.  It discusses issues of key generation, key storage, signature generation, key rollover, and related policies.</t>
            <t>This document obsoletes RFC 4641, as it covers more operational ground and gives more up-to-date requirements with respect to key sizes and the DNSSEC operations.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6781"/>
        <seriesInfo name="DOI" value="10.17487/RFC6781"/>
      </reference>
      <reference anchor="RFC7344">
        <front>
          <title>Automating DNSSEC Delegation Trust Maintenance</title>
          <author fullname="W. Kumari" initials="W." surname="Kumari">
            <organization/>
          </author>
          <author fullname="O. Gudmundsson" initials="O." surname="Gudmundsson">
            <organization/>
          </author>
          <author fullname="G. Barwood" initials="G." surname="Barwood">
            <organization/>
          </author>
          <date month="September" year="2014"/>
          <abstract>
            <t>This document describes a method to allow DNS Operators to more easily update DNSSEC Key Signing Keys using the DNS as a communication channel.  The technique described is aimed at delegations in which it is currently hard to move information from the Child to Parent.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7344"/>
        <seriesInfo name="DOI" value="10.17487/RFC7344"/>
      </reference>
      <reference anchor="RFC7477">
        <front>
          <title>Child-to-Parent Synchronization in DNS</title>
          <author fullname="W. Hardaker" initials="W." surname="Hardaker">
            <organization/>
          </author>
          <date month="March" year="2015"/>
          <abstract>
            <t>This document specifies how a child zone in the DNS can publish a record to indicate to a parental agent that the parental agent may copy and process certain records from the child zone.  The existence of the record and any change in its value can be monitored by a parental agent and acted on depending on local policy.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7477"/>
        <seriesInfo name="DOI" value="10.17487/RFC7477"/>
      </reference>
      <reference anchor="RFC7583">
        <front>
          <title>DNSSEC Key Rollover Timing Considerations</title>
          <author fullname="S. Morris" initials="S." surname="Morris">
            <organization/>
          </author>
          <author fullname="J. Ihren" initials="J." surname="Ihren">
            <organization/>
          </author>
          <author fullname="J. Dickinson" initials="J." surname="Dickinson">
            <organization/>
          </author>
          <author fullname="W. Mekking" initials="W." surname="Mekking">
            <organization/>
          </author>
          <date month="October" year="2015"/>
          <abstract>
            <t>This document describes the issues surrounding the timing of events in the rolling of a key in a DNSSEC-secured zone.  It presents timelines for the key rollover and explicitly identifies the relationships between the various parameters affecting the process.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7583"/>
        <seriesInfo name="DOI" value="10.17487/RFC7583"/>
      </reference>
      <reference anchor="RFC8901">
        <front>
          <title>Multi-Signer DNSSEC Models</title>
          <author fullname="S. Huque" initials="S." surname="Huque">
            <organization/>
          </author>
          <author fullname="P. Aras" initials="P." surname="Aras">
            <organization/>
          </author>
          <author fullname="J. Dickinson" initials="J." surname="Dickinson">
            <organization/>
          </author>
          <author fullname="J. Vcelak" initials="J." surname="Vcelak">
            <organization/>
          </author>
          <author fullname="D. Blacka" initials="D." surname="Blacka">
            <organization/>
          </author>
          <date month="September" year="2020"/>
          <abstract>
            <t>Many enterprises today employ the service of multiple DNS providers to distribute their authoritative DNS service. Deploying DNSSEC in such an environment may present some challenges, depending on the configuration and feature set in use. In particular, when each DNS provider independently signs zone data with their own keys, additional key-management mechanisms are necessary. This document presents deployment models that accommodate this scenario and describes these key-management requirements. These models do not require any changes to the behavior of validating resolvers, nor do they impose the new key-management requirements on authoritative servers not involved in multi-signer configurations.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8901"/>
        <seriesInfo name="DOI" value="10.17487/RFC8901"/>
      </reference>
      <reference anchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner">
            <organization/>
          </author>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba">
            <organization/>
          </author>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
      <reference anchor="I-D.wisser-dnssec-automation">
        <front>
          <title>DNSSEC automation</title>
          <author fullname="Ulrich Wisser" initials="U." surname="Wisser">
            <organization>The Swedish Internet Foundation</organization>
          </author>
          <author fullname="Shumon Huque" initials="S." surname="Huque">
            <organization>Salesforce</organization>
          </author>
          <date day="6" month="March" year="2022"/>
          <abstract>
            <t>   This document describes an algorithm and a protocol to automate
   DNSSEC Multi-Signer [RFC8901] "Multi-Signer DNSSEC Models" setup,
   operations and decomissioning.  Using Model 2 of the Multi-Signer
   specification, where each operator has their own distinct KSK and ZSK
   sets (or CSK sets), [RFC8078] "Managing DS Records from the Parent
   via CDS/CDNSKEY" and [RFC7477] "Child-to-Parent Synchronization in
   DNS" to accomplish this.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-wisser-dnssec-automation-03"/>
      </reference>
      <reference anchor="RFC8552">
        <front>
          <title>Scoped Interpretation of DNS Resource Records through "Underscored" Naming of Attribute Leaves</title>
          <author fullname="D. Crocker" initials="D." surname="Crocker">
            <organization/>
          </author>
          <date month="March" year="2019"/>
          <abstract>
            <t>Formally, any DNS Resource Record (RR) may occur under any domain name.  However, some services use an operational convention for defining specific interpretations of an RRset by locating the records in a DNS branch under the parent domain to which the RRset actually applies.  The top of this subordinate branch is defined by a naming convention that uses a reserved node name, which begins with the underscore character (e.g., "_name").  The underscored naming construct defines a semantic scope for DNS record types that are associated with the parent domain above the underscored branch.  This specification explores the nature of this DNS usage and defines the "Underscored and Globally Scoped DNS Node Names" registry with IANA. The purpose of this registry is to avoid collisions resulting from the use of the same underscored name for different services.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="222"/>
        <seriesInfo name="RFC" value="8552"/>
        <seriesInfo name="DOI" value="10.17487/RFC8552"/>
      </reference>
    </references>
    <section anchor="change-history-to-be-removed-before-publication">
      <name>Change History (to be removed before publication)</name>
      <ul spacing="normal">
        <li>draft-thomassen-dnsop-generalized-dns-notify-00</li>
      </ul>
      <ul empty="true">
        <li>
          <t>Initial public draft.</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
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
oAtsWOHlAF5hbv4XHtNpk6FNAAA=

-->

</rfc>
