<?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.19 (Ruby 3.3.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dnsop-generalized-notify-03" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.2 -->
  <front>
    <title abbrev="Generalized Notifications">Generalized DNS Notifications</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-generalized-notify-03"/>
    <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>
    <author initials="J." surname="Levine" fullname="John Levine">
      <organization>Standcore LLC</organization>
      <address>
        <email>standards@standcore.com</email>
      </address>
    </author>
    <date/>
    <area>Internet</area>
    <workgroup>DNSOP Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 37?>

<t>This document extends the use of DNS NOTIFY <xref target="RFC1996"/> beyond conventional
zone transfer hints, bringing the benefits of ad-hoc notifications to DNS
delegation maintenance in general.  Use cases include DNSSEC bootstrapping
and key rollovers hints, and quicker changes to a delegation's NS record set.</t>
      <t>To enable this functionality, a method for discovering the receiver endpoint
for such notification message is introduced, via the new DSYNC record type.</t>
      <t>TO BE REMOVED: This document is being collaborated on in Github at:
<eref target="https://github.com/peterthomassen/draft-ietf-dnsop-generalized-notify">https://github.com/peterthomassen/draft-ietf-dnsop-generalized-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>
    <?line 52?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Traditional DNS notifications <xref target="RFC1996"/>, 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 similar inefficiencies occur in new use cases, in particular delegation
maintenance (DS and NS record updates). 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. For additional context, see <xref target="context"/>.</t>
      <t>No DNS protocol changes are introduced by this document. The mechanism
instead makes use of a wider range of DNS messages allowed by the protocol.
Future extension for further use cases (such as multi-signer key exchange)
is possible.</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"/>, <xref target="RFC8078"/>, <xref target="RFC8901"/>, and <xref target="RFC9615"/>.</t>
      <section anchor="design-requirements">
        <name>Design Requirements</name>
        <t>When the parent is interested in notifications for delegation
maintenance (such as for DS or NS hints), a service will need to be
made available for accepting these notifications. Depending on the
context, this service may be run by the parent zone operator themselves,
or by a designated entity who is in charge of handling the domain's
delegation data (such as a domain registrar).</t>
        <t>It seems desirable to minimize the number of steps that the notification
sender needs to figure out where to send the NOTIFY. This suggests that
the lookup process be ignorant of the details of the parent-side
relationships (e.g., whether there is a registrar or not). This is
addressed by parameterizing the lookup with the name of the child. The
parent may then (optionally) announce the notification endpoint in a
delegation-specific way, that is, at a child-specific name. (A catch-all
endpoint may be indicated by wildcarding.)</t>
        <t>The solution proposed here is thus for the parent to publish the address
where it listens for notifications, in a child-specific way (see
<xref target="signaling"/>). Potential senders, knowing the name of the parent zone,
can then simply look up that information (see <xref target="discovery"/>).</t>
      </section>
      <section anchor="requirements-notation">
        <name>Requirements Notation</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" 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.
<?line -6?>
        </t>
      </section>
    </section>
    <section anchor="dsyncrdtype">
      <name>DSYNC RR Type</name>
      <section anchor="wire-format">
        <name>Wire Format</name>
        <t>The DSYNC RDATA wire format is encoded as follows:</t>
        <artwork><![CDATA[
                     1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RRtype                        | Scheme        | Port
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                | Target ...  /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-/
]]></artwork>
        <dl>
          <dt>RRtype</dt>
          <dd>
            <t>The type of generalized NOTIFY that this DSYNC RR defines the
desired target address for (see "Resource Record (RR) TYPEs" IANA
registry). For now, only CDS and CSYNC are supported values, with
the former indicating an updated CDS or CDNSKEY record set.</t>
          </dd>
          <dt>Scheme</dt>
          <dd>
            <t>The scheme indicates the mode used for locating the desired
notification address.  This is an 8 bit unsigned integer. Records
with value 0 (null scheme) are ignored by consumers.  Value 1 is
described in this document, and values 128-255 are reserved for
private use.  All other values are currently unspecified.</t>
          </dd>
          <dt>Port</dt>
          <dd>
            <t>The port on the target host of the notification service. This
is a 16 bit unsigned integer in network byte order.</t>
          </dd>
          <dt>Target</dt>
          <dd>
            <t>The fully-qualified, uncompressed domain name of the target host
providing the service of listening for generalized notifications of the
specified type. This name MUST resolve to one or more address records.</t>
          </dd>
        </dl>
      </section>
      <section anchor="semantics">
        <name>Semantics</name>
        <t>For now, the only scheme defined is scheme=1 with the interpretation
that when a new CDS/CDNSKEY (or CSYNC) RRset is published, a NOTIFY(CDS)
(or NOTIFY(CSYNC)) should be sent to the address and port listed in
the corresponding DSYNC record.</t>
        <t>Example (for the owner names of these records, see <xref target="signaling"/>):</t>
        <artwork><![CDATA[
IN DSYNC CDS   1 5359 cds-scanner.example.net.
IN DSYNC CSYNC 1 5360 csync-scanner.example.net.
]]></artwork>
        <t>Should a need for other mechanisms arise, other schemes may be defined
to deal with such requirements using alternative logic.</t>
      </section>
    </section>
    <section anchor="signaling">
      <name>Publication of Notification Targets</name>
      <t>To use generalized notifications, it is necessary for the sender to know
where to direct each NOTIFY message. This section describes the
procedure for discovering that notification target.</t>
      <t>Note that generalized NOTIFY messages are but one mechanism for
improving the efficiency of automated delegation maintenance. Other
alternatives, such as contacting the parent via an API or
DNS Update (<xref target="RFC2136"/>), may (or may not) be more suitable in
individual cases. Like generalized notifications, they similarly require
a means for discovering where to send the API or DNS Update requests.</t>
      <t>The scope for the publication mechanism is therefore wider than only to
support generalized notifications, and a unified approach that works
independently of the notification method is specified in this section.</t>
      <t>Parents participating in the discovery scheme for the purpose of
delegation maintenance notifications MUST publish endpoint information
using the record type defined in <xref target="dsyncrdtype"/> under the <tt>_dsync</tt>
domain as described in the following subsection.</t>
      <t>It is RECOMMENDED to secure the corresponding zone with DNSSEC.
A parent MUST NOT publish more than one DSYNC record for each
combination of rrtype and scheme.</t>
      <t>For practical purposes, the parent MAY delegate the <tt>_dsync</tt> domain as a
separate zone, and/or synthesize records under it. If child-specificity
is not needed, the parent can publish a wildcard DSYNC record.</t>
      <section anchor="wildcard-method">
        <name>Wildcard Method</name>
        <t>If the parent itself performs CDS/CDNSKEY or CSYNC processing, or if
the parent forwards the notifications internally to the designated party
(such as a registrar), the following scheme is used:</t>
        <artwork><![CDATA[
*._dsync.example.  IN DSYNC  CDS   scheme port target
*._dsync.example.  IN DSYNC  CSYNC scheme port target
]]></artwork>
        <t>To accommodate indirect delegation management models, the parent's
designated notification target may relay notifications to a third party
(such as the registrar, in ICANN's model). The details of such
arrangements are out of scope for this document.</t>
        <t>In case the parent does not need child-specificity, the wildcard label
may be dropped from the DSYNC owner name (i.e., it may be published at
the <tt>_dsync</tt> label instead). While this practice enables zone structures
without wildcards, it also requires an additional step during discovery
(see <xref target="discovery"/>), and is therefore NOT RECOMMENDED.</t>
      </section>
      <section anchor="child-specific-method">
        <name>Child-specific Method</name>
        <t>It is also possible to publish child-specific records, where the
wildcard label is replaced by the child's FQDN with the parent zone's
labels stripped.</t>
        <t>As an example, consider a registrar offering domains like
<tt>child.example</tt>, delegated from <tt>example</tt> zone. If the registrar
provides the notification endpoint, e.g., <tt>rr-endpoint.example:5300</tt>,
the parent may publish this information as follows:</t>
        <artwork><![CDATA[
child._dsync.example.  IN DSYNC  CDS  1 5300 rr-endpoint.example.
]]></artwork>
      </section>
    </section>
    <section anchor="delegation-maintenance-cdscdnskey-and-csync-notifications">
      <name>Delegation Maintenance: CDS/CDNSKEY and CSYNC Notifications</name>
      <t>Delegation maintenance notifications address the inefficiencies related
to scanning child zones for CDS/CDNSKEY records
<xref target="RFC7344"/><xref target="RFC8078"/><xref target="RFC9615"/>. (For an overview of the issues,
see <xref target="context"/>.)</t>
      <t>NOTIFY messages for delegation maintenance MUST be formatted as described in
<xref target="RFC1996"/>, with the <tt>qtype</tt> field replaced as appropriate.</t>
      <t>To address the CDS/CDNSKEY dichotomy, the NOTIFY(CDS) message (with
<tt>qtype=CDS</tt>) is defined to indicate any child-side changes pertaining
to an upcoming update of DS records.
As the child DNS operator generally is unaware of whether the
parent consumes CDS records or prefers CDNSKEY, or when that policy
changes, it seems advisable to publish both types of records,
preferably using automation features of common authoritative nameserver
software for ensuring consistency.</t>
      <t>Upon receipt of NOTIFY(CDS), the recipient (the parent registry or a
registrar) SHOULD initiate the same DNS lookups and verifications for
DNSSEC bootstrapping <xref target="RFC9615"/> or DS maintenance
<xref target="RFC7344"/><xref target="RFC8078"/> that would otherwise be triggered based on a
timer.</t>
      <t>The CSYNC <xref target="RFC7477"/> inefficiency may be similarly treated, with the
child sending a NOTIFY(CSYNC) message (with <tt>qtype=CSYNC</tt>) to an address
where the parent (or a registrar) is listening to CSYNC notifications.</t>
      <t>In both cases the notification will speed up processing times by
providing the recipient with a hint that a particular child zone has
published new CDS, CDNSKEY and/or CSYNC records.</t>
      <section anchor="discovery">
        <name>Endpoint Discovery</name>
        <t>To locate the target for outgoing delegation maintenance notifications,
the notification sender MUST perform the following procedure:</t>
        <ol spacing="normal" type="1"><li>
            <t>Construct the lookup name, by injecting the <tt>_dsync</tt> label after the
first label of the delegation owner name.</t>
          </li>
          <li>
            <t>Perform a lookup of type DSYNC for the lookup name, and validate the
response if DNSSEC is enabled. If a DSYNC RRset results, return it.</t>
          </li>
          <li>
            <t>If the query resulted in a negative response:  </t>
            <ul spacing="normal">
              <li>
                <t>If the response's SOA record indicates that the parent is more than
one label away from the <tt>_dsync</tt> label, construct a new lookup name
by inserting the <tt>_dsync</tt> label into the delegation owner name just
before the parent zone labels inferred from the negative response,
and go to step 2.      </t>
                <t>
For example, <tt>city.ise.mie.jp</tt> is delegated from <tt>jp</tt> (and not
from <tt>ise.mie.jp</tt> or <tt>mie.jp</tt>!). The initial DSYNC query relating
to it is thus directed at <tt>city._dsync.ise.mie.jp</tt>. This is
expected to result in a negative response from <tt>jp</tt>, and another
query for <tt>city.ise.mie._dsync.jp</tt> is then required;</t>
              </li>
              <li>
                <t>Otherwise, if the lookup name has any labels in front of the
<tt>_dsync</tt> label, remove them to construct a new lookup name (such
as <tt>_dsync.jp</tt>), and go to step 2.
(This is to enable zone structures without wildcards.)</t>
              </li>
              <li>
                <t>Otherwise, return null (no notification target available).</t>
              </li>
            </ul>
          </li>
        </ol>
      </section>
      <section anchor="sending-notifications">
        <name>Sending Notifications</name>
        <t>When creating or changing a CDS/CDNSKEY/CSYNC RRset in the child zone,
the DNS operator SHOULD send a suitable notification to one of the
endpoints discovered as described in the previous section.</t>
        <t>A NOTIFY message can only carry information about changes concerning one
child zone. When there are changes to several child zones, the sender
MUST send a separate notification for each one.</t>
        <t>When a primary name server publishes a new RRset in the child, there
typically is a time delay until all publicly visible copies of the zone
will have been updated. If the primary sends a notification at the exact
time of publication of the new zone, there is a potential for the
parent to attempt CDS/CDNSKEY/CSYNC processing before the updated zone
is visible. In this case the parent may draw the wrong conclusion (“the
CDS RRset has not been updated”).</t>
        <t>It is therefore RECOMMENDED that the child delays sending notifications
to the recipient until a consistent public view of the pertinent
records is ensured.</t>
        <section anchor="timeouts-and-error-handling">
          <name>Timeouts and Error Handling</name>
          <t>NOTIFY messages are expected to elicit a response from the recipient
(<xref target="RFC1996"/> Section 4.7). If no response is received, senders SHOULD
employ the same logic as for SOA notifications (<xref target="RFC1996"/> Sections
3.5 and 3.6).</t>
          <t>The parent's attempt to act upon the delegation update request may fail
for a variety of reasons (e.g., due to violation of the continuity
requirement set forth in <xref target="RFC7344"/> Section 4.1). Such failures may
occur asynchronously, even after the NOTIFY response has been sent.</t>
          <t>In order to learn about such failures, senders MAY include an
<xref target="RFC9567"/> EDNS0 Report-Channel option in the NOTIFY message to
request the receiving side to report any errors by making a report query
with an appropriate extended DNS error code as described in
<xref target="RFC8914"/>. When including this EDNS0 option, its agent domain MUST
be subordinate or equal to one of the NS hostnames, as listed in the
child's delegation in the parent zone.</t>
        </section>
        <section anchor="roles">
          <name>Roles</name>
          <t>While the CDS/CDNSKEY/CSYNC processing following the receipt of a NOTIFY
will often be performed by the registry, the protocol anticipates that
in some contexts (especially for ICANN gTLDs), registrars may take on
the task. In such cases, the parent may publish the current registrar
notification endpoint, enabling notifications to be directed to the
appropriate target. The mechanics of how this is arranged between
registry and registrar are out of scope for this document; the protocol
only offers the possibility to arrange things such that from the child
perspective, it is inconsequential how the parent-side parties are
organized: notifications are simply sent to the published address.</t>
          <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
check for the same thing), the sender's identity is not crucial.
This opens up the possibility of having an arbitrary party (e.g., a
side-car service) send the notifications, enabling this functionality
even before the emergence of native support in nameserver software.</t>
        </section>
      </section>
      <section anchor="processing-of-notify-messages">
        <name>Processing of NOTIFY Messages</name>
        <t>NOTIFY(CDS) messages carrying notification payloads (records) for
several child zones MUST be discarded, as sending them is an error.</t>
        <t>Upon receipt of a (potentially forwarded) valid NOTIFY(CDS) message for
a particular child zone at the published address for CDS notifications,
the receiving side (parent registry or registrar) has two options:</t>
        <ol spacing="normal" type="1"><li>
            <t>Acknowledge receipt by sending a NOTIFY response as described in
<xref target="RFC1996"/> Section 4.7 (identical to NOTIFY query, but with QR
bit set) and schedule an immediate check of the CDS and CDNSKEY
RRsets as published by that particular child zone.  </t>
            <t>
If the NOTIFY message contains an <xref target="RFC9567"/> EDNS0 Report-Channel
option with an agent domain subordinate or equal to one of the NS
hostnames listed in the delegation, the processing party SHOULD
report any errors occuring during CDS/CDNSKEY processing by sending
a report query with an appropriate extended DNS error code as
described in <xref target="RFC8914"/>.  </t>
            <t>
If the check finds that the CDS/CDNSKEY RRset is indeed new or has
changed, 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>
            <t>Do not act upon the notification. To prevent retries, recipients
SHOULD acknowledge the notification by sending a NOTIFY response
even when otherwise ignoring the request, combined with a report
query if feasible (see above). One reason to do this may be a rate
limit (see <xref target="security"/>), in which case "Blocked" (15) may be a
suitable extended DNS error code.</t>
          </li>
        </ol>
        <t>If the parent implements the first option, the convergence time (time
between publication of a new CDS/CDNSKEY record in the child 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 chooses 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 same options and considerations apply as for the
NOTIFY(CDS).</t>
      </section>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>The original NOTIFY specification sidesteps most security issues by not
relying on the information in the NOTIFY message in any way, and instead
only using it to "enter the state it would if the zone's refresh timer
had expired" (<xref section="4.7" sectionFormat="of" target="RFC1996"/>).</t>
      <t>This security model is reused for generalized NOTIFY messages. It
therefore seems impossible to affect the behaviour of the recipient of
the NOTIFY other than by hastening the timing for when different checks
are initiated.</t>
      <t>The receipt of a notification message will, in general, cause the
receiving party to perform one or more outbound queries for the records
of interest (for example, NOTIFY(CDS) will cause CDS/CDNSKEY
queries). When done using standard DNS, the size of these queries is
comparable to that of the NOTIFY messages themselves, rendering any
amplification attempts futile. The number of queries triggered per
notification is also limited by the requirement that a NOTIFY message
can refer to one child only.</t>
      <t>However, when the outgoing query occurs via encrypted transport, some
amplification is possible, both with respect to bandwidth and
computational burden. In this case, the usual principle of bounding the
work, even under unreasonable events, applies.</t>
      <t>Receivers therefore MUST implement rate limiting for notification
processing. It is RECOMMENDED to configure rate limiting independently
for both the notification's source IP address and the name of the zone
that is conveyed in the NOTIFY message. Rate limiting also mitigates
processing load from garbage notifications.</t>
      <t>Alternative solutions (such as signing notifications and validating
their signatures) appear significantly more expensive without tangible
benefit.</t>
      <t>In order to facilitate schemes that are authenticated outside of DNSSEC
(such as via SIG(0)), zones containing DSYNC records are not required to
be signed. Spoofed DSYNC responses would prevent notifications from
reaching their legitimate target, and a different party may receive
unsolicited notifications; both effects, however, can also be achieved
in the presence of DNSSEC. The illegitimate target is also enabled to
learn notification contents in real-time, which may be a privacy concern
for the sender. If so, the sender may choose to ignore unsigned DSYNC
records.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="dsync-rr-type">
        <name>DSYNC RR Type</name>
        <t>IANA is requested to update the "Resource Record (RR) TYPEs" registry
under the "Domain Name System (DNS) Parameters" registry group as
follows:</t>
        <dl>
          <dt>Type</dt>
          <dd>
            <t>DSYNC</t>
          </dd>
          <dt>Value</dt>
          <dd>
            <t>tbd (next available)</t>
          </dd>
          <dt>Meaning</dt>
          <dd>
            <t>Endpoint discovery for delegation synchronization</t>
          </dd>
          <dt>Reference</dt>
          <dd>
            <t>(this document)</t>
          </dd>
        </dl>
      </section>
      <section anchor="dsync-scheme-registration">
        <name>DSYNC Scheme Registration</name>
        <t>Per <xref target="RFC8552"/>, IANA is requested to create a new registry on the
"Domain Name System (DNS) Parameters" IANA web page as follows:</t>
        <dl>
          <dt>Name</dt>
          <dd>
            <t>DSYNC: Location of Synchronization Endpoints</t>
          </dd>
          <dt>Assignment Policy</dt>
          <dd>
            <t>Expert Review</t>
          </dd>
          <dt>Reference</dt>
          <dd>
            <t>(this document)</t>
          </dd>
        </dl>
        <table>
          <thead>
            <tr>
              <th align="left">RRtype</th>
              <th align="left">Scheme</th>
              <th align="left">Purpose</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left"> </td>
              <td align="left">0</td>
              <td align="left">Null scheme (no-op)</td>
              <td align="left">(this document)</td>
            </tr>
            <tr>
              <td align="left">CDS</td>
              <td align="left">1</td>
              <td align="left">Delegation management</td>
              <td align="left">(this document)</td>
            </tr>
            <tr>
              <td align="left">CSYNC</td>
              <td align="left">1</td>
              <td align="left">Delegation management</td>
              <td align="left">(this document)</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">2-127</td>
              <td align="left">Unassigned</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">128-255</td>
              <td align="left">Reserved (private use)</td>
              <td align="left">(this document)</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>In order of first contribution:
Joe Abley, Mark Andrews, Christian Elmerot, Ólafur Guðmundsson, Paul
Wouters, Brian Dickson, Warren Kumari, Patrick Mevzek, Tim Wicinski</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-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"/>
            <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"/>
            <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="RFC4034">
          <front>
            <title>Resource Records for the DNS Security Extensions</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>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"/>
            <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>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="RFC7344">
          <front>
            <title>Automating DNSSEC Delegation Trust Maintenance</title>
            <author fullname="W. Kumari" initials="W." surname="Kumari"/>
            <author fullname="O. Gudmundsson" initials="O." surname="Gudmundsson"/>
            <author fullname="G. Barwood" initials="G." surname="Barwood"/>
            <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"/>
            <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="RFC8078">
          <front>
            <title>Managing DS Records from the Parent via CDS/CDNSKEY</title>
            <author fullname="O. Gudmundsson" initials="O." surname="Gudmundsson"/>
            <author fullname="P. Wouters" initials="P." surname="Wouters"/>
            <date month="March" year="2017"/>
            <abstract>
              <t>RFC 7344 specifies how DNS trust can be maintained across key rollovers in-band between parent and child. This document elevates RFC 7344 from Informational to Standards Track. It also adds a method for initial trust setup and removal of a secure entry point.</t>
              <t>Changing a domain's DNSSEC status can be a complicated matter involving multiple unrelated parties. Some of these parties, such as the DNS operator, might not even be known by all the organizations involved. The inability to disable DNSSEC via in-band signaling is seen as a problem or liability that prevents some DNSSEC adoption at a large scale. This document adds a method for in-band signaling of these DNSSEC status changes.</t>
              <t>This document describes reasonable policies to ease deployment of the initial acceptance of new secure entry points (DS records).</t>
              <t>It is preferable that operators collaborate on the transfer or move of a domain. The best method is to perform a Key Signing Key (KSK) plus Zone Signing Key (ZSK) rollover. If that is not possible, the method using an unsigned intermediate state described in this document can be used to move the domain between two parties. This leaves the domain temporarily unsigned and vulnerable to DNS spoofing, but that is preferred over the alternative of validation failures due to a mismatched DS and DNSKEY record.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8078"/>
          <seriesInfo name="DOI" value="10.17487/RFC8078"/>
        </reference>
        <reference anchor="RFC9615">
          <front>
            <title>Automatic DNSSEC Bootstrapping Using Authenticated Signals from the Zone's Operator</title>
            <author fullname="P. Thomassen" initials="P." surname="Thomassen"/>
            <author fullname="N. Wisiol" initials="N." surname="Wisiol"/>
            <date month="July" year="2024"/>
            <abstract>
              <t>This document introduces an in-band method for DNS operators to publish arbitrary information about the zones for which they are authoritative, in an authenticated fashion and on a per-zone basis. The mechanism allows managed DNS operators to securely announce DNSSEC key parameters for zones under their management, including for zones that are not currently securely delegated.</t>
              <t>Whenever DS records are absent for a zone's delegation, this signal enables the parent's registry or registrar to cryptographically validate the CDS/CDNSKEY records found at the child's apex. The parent can then provision DS records for the delegation without resorting to out-of-band validation or weaker types of cross-checks such as "Accept after Delay".</t>
              <t>This document establishes the DS enrollment method described in Section 4 of this document as the preferred method over those from Section 3 of RFC 8078. It also updates RFC 7344.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9615"/>
          <seriesInfo name="DOI" value="10.17487/RFC9615"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC2136">
          <front>
            <title>Dynamic Updates in the Domain Name System (DNS UPDATE)</title>
            <author fullname="P. Vixie" initials="P." role="editor" surname="Vixie"/>
            <author fullname="S. Thomson" initials="S." surname="Thomson"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <author fullname="J. Bound" initials="J." surname="Bound"/>
            <date month="April" year="1997"/>
            <abstract>
              <t>Using this specification of the UPDATE opcode, it is possible to add or delete RRs or RRsets from a specified zone. Prerequisites are specified separately from update operations, and can specify a dependency upon either the previous existence or nonexistence of an RRset, or the existence of a single RR. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2136"/>
          <seriesInfo name="DOI" value="10.17487/RFC2136"/>
        </reference>
        <reference anchor="RFC9567">
          <front>
            <title>DNS Error Reporting</title>
            <author fullname="R. Arends" initials="R." surname="Arends"/>
            <author fullname="M. Larson" initials="M." surname="Larson"/>
            <date month="April" year="2024"/>
            <abstract>
              <t>DNS error reporting is a lightweight reporting mechanism that provides the operator of an authoritative server with reports on DNS resource records that fail to resolve or validate. A domain owner or DNS hosting organization can use these reports to improve domain hosting. The reports are based on extended DNS errors as described in RFC 8914.</t>
              <t>When a domain name fails to resolve or validate due to a misconfiguration or an attack, the operator of the authoritative server may be unaware of this. To mitigate this lack of feedback, this document describes a method for a validating resolver to automatically signal an error to a monitoring agent specified by the authoritative server. The error is encoded in the QNAME; thus, the very act of sending the query is to report the error.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9567"/>
          <seriesInfo name="DOI" value="10.17487/RFC9567"/>
        </reference>
        <reference anchor="RFC8914">
          <front>
            <title>Extended DNS Errors</title>
            <author fullname="W. Kumari" initials="W." surname="Kumari"/>
            <author fullname="E. Hunt" initials="E." surname="Hunt"/>
            <author fullname="R. Arends" initials="R." surname="Arends"/>
            <author fullname="W. Hardaker" initials="W." surname="Hardaker"/>
            <author fullname="D. Lawrence" initials="D." surname="Lawrence"/>
            <date month="October" year="2020"/>
            <abstract>
              <t>This document defines an extensible method to return additional information about the cause of DNS errors. Though created primarily to extend SERVFAIL to provide additional information about the cause of DNS and DNSSEC failures, the Extended DNS Errors option defined in this document allows all response types to contain extended error information. Extended DNS Error information does not change the processing of RCODEs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8914"/>
          <seriesInfo name="DOI" value="10.17487/RFC8914"/>
        </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"/>
            <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>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6781">
          <front>
            <title>DNSSEC Operational Practices, Version 2</title>
            <author fullname="O. Kolkman" initials="O." surname="Kolkman"/>
            <author fullname="W. Mekking" initials="W." surname="Mekking"/>
            <author fullname="R. Gieben" initials="R." surname="Gieben"/>
            <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="RFC7583">
          <front>
            <title>DNSSEC Key Rollover Timing Considerations</title>
            <author fullname="S. Morris" initials="S." surname="Morris"/>
            <author fullname="J. Ihren" initials="J." surname="Ihren"/>
            <author fullname="J. Dickinson" initials="J." surname="Dickinson"/>
            <author fullname="W. Mekking" initials="W." surname="Mekking"/>
            <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"/>
            <author fullname="P. Aras" initials="P." surname="Aras"/>
            <author fullname="J. Dickinson" initials="J." surname="Dickinson"/>
            <author fullname="J. Vcelak" initials="J." surname="Vcelak"/>
            <author fullname="D. Blacka" initials="D." surname="Blacka"/>
            <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="I-D.ietf-dnsop-dnssec-automation">
          <front>
            <title>DNSSEC automation</title>
            <author fullname="Ulrich Wisser" initials="U." surname="Wisser">
         </author>
            <author fullname="Shumon Huque" initials="S." surname="Huque">
              <organization>Salesforce</organization>
            </author>
            <author fullname="Johan Stenstam" initials="J." surname="Stenstam">
              <organization>The Swedish Internet Foundation</organization>
            </author>
            <date day="19" month="October" year="2024"/>
            <abstract>
              <t>   This document describes an algorithm and protocol to automate the
   setup, operations, and decomissioning of Multi-Signer DNSSEC
   [RFC8901] configurations.  It employs Model 2 of the multi-signer
   specification, where each operator has their own distinct KSK and ZSK
   sets (or CSK sets), Managing DS Records from the Parent via CDS/
   CDNSKEY [RFC8078], and Child-to-Parent Synchronization in DNS
   [RFC7477] to accomplish this.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-dnssec-automation-03"/>
        </reference>
      </references>
    </references>
    <?line 506?>

<section anchor="context">
      <name>Efficiency and Convergence Issues in DNS Scanning</name>
      <section anchor="original-notify-for-zone-transfer-nudging">
        <name>Original NOTIFY for Zone Transfer Nudging</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>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. <xref target="RFC1996"/> addressed the
optimization of the time-and-cost trade-off between a secondary checking
frequently for new versions of a zone, and infrequent checking, by
replacing scheduled scanning with the more efficient NOTIFY mechanism.</t>
      </section>
      <section anchor="similar-issues-for-ds-maintenance-and-beyond">
        <name>Similar Issues for DS Maintenance and Beyond</name>
        <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 CDS and
CSYNC scanners 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>It is only a very small number of the delegations that will have updated
CDS or CDNSKEY record in between two scanning runs. However, frequent
scanning for CDS and CDNSKEY records is costly, and infrequent scanning
causes slower convergence (i.e., delay until the DS RRset is updated).</t>
        <t>Unlike in the original case, where the primary is able to suggest the
scanning interval via the SOA Refresh parameter, an equivalent mechanism
does not exist for DS-related scanning.</t>
        <t>All of this above also applies to parents that offer automated NS and glue
record maintenance via CSYNC scanning <xref target="RFC7477"/>. Again, given that CSYNC
records change only rarely, frequent scanning of a large number of
delegations seems disproportionately costly, while infrequent scanning
causes slower convergence (delay until the delegation is updated).</t>
        <t>While use of the NOTIFY mechanism for coordinating the key exchange in
multi-signer setups <xref target="I-D.ietf-dnsop-dnssec-automation"/> is
conceivable, the detailed specification is left for future work.</t>
      </section>
    </section>
    <section anchor="change-history-to-be-removed-before-publication">
      <name>Change History (to be removed before publication)</name>
      <ul spacing="normal">
        <li>
          <t>draft-ietf-dnsop-generalized-notify-03</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Include DNSSEC bootstrapping use case</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Remove sections with approaches not pursued</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Editorial changes</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>draft-ietf-dnsop-generalized-notify-02</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Nits by Tim Wicinski</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Dnsdir feedback</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Specify timeout and error handling</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Editorial nits</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Reserve scheme value 0</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>draft-ietf-dnsop-generalized-notify-01</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Reserve scheme values 128-255</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Rename NOTIFY rrtype to DSYNC (to distinguish from NOTIFY message)</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Describe endpoint discovery</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Discussion on garbage notifications</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>More discussion on amplification risks</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Clean-up, editorial changes</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>draft-ietf-dnsop-generalized-notify-00</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Revision after adoption.</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>draft-thomassen-dnsop-generalized-dns-notify-02</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Add rationale for staying in band</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Add John as an author</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>draft-thomassen-dnsop-generalized-dns-notify-01</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Mention Ry-to-Rr forwarding to accommodate RRR model</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Add port number flexibility</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Add scheme parameter</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Drop SRV-based alternative in favour of new NOTIFY RR</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Editorial improvements</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>draft-thomassen-dnsop-generalized-dns-notify-00</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Initial public draft.</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA61ca3IjR3L+36coUz8ErAEMOaN5cW3tUiQlzXoeXHK0Ctnh
8DTQBbDFRjfU1U0Kmp0I38F/7QgfwWewb+KTOL/MrEeD5OzIthQhEUB3PfKd
X2bVdDrNurKr7KH5xta2zavyF1uYk9cX5nXTlctykXdlU7ssn89bez18avhE
0SzqfE0DFW2+7Kal7ZbTonbNZrqK70xrvLOd7j/Kiryjh9+fHL09/ZDRIHbV
tNtD47oiy8pNe2i6tnfdw/395/sPs7y1+aF5UXe2rW2X3TTt1apt+s0hlvrm
zHxPX5T1ynyDL7Mru6UnivjC9ARryjLX5XXxT3nV1DT11rpsUx6af+iaxcS4
pu1au3T013aNP/4xy/K+u2zaw8xMM0P/lLU7NH+YmYvO1jTSmr+UPf+huczr
4Q9Nu8rr8hemzqF5e2nNxY0tSncZVmW+bvq64Af4DbvOy+rQ/IixZk7H+n2p
TzsiXGcrZ+k3O1jS2YyGb9a5o9+SNZ1ZenHnF1oUMchenB5PzIVd9C2taktT
rZ05rVdlbW1LZExXs8Eovy+ss4tZ2eyS4qW9ppeGhKjTb3nCC5B90dBkL18e
p4MzP/K2cL93/pHZollnWd20ayLMtT0kYaiXyafpdGryuevafEEMfXtZOkOS
169t3Rn7MxGtcKYjYvfOmmYpkvzm7YuvfzDv3//V+dfHB8+fP/nwwczttqkL
s2jqa3qTOJBX2S8kFiR1ee2WRLhLIjxJwxwEgWhh0DlJ8rLsHEbOi+llszB1
qgSmazBjVtjKrvgrQxslBtZ5vbBENaO6MDPmO1rgInfW0deLqi8s3iTGmHnT
dNjfZgNWEFkMybNpm6pqrm3r/MLww099ubiitS5IYlaWp89NnPxzZ2j7rSW6
FsbZbkYEawwtZl7RRkG6ZV8vZPdlt6UxzdqSyBeGKG5IVheY0W+exrHEg5YG
KDYNLSLDU65fXA6IQEM4l69ot9hZ1zZFv7DFxFyXOQ9T2xtzcvHD62O/sG67
sVjZG/PVqTk/ffXmT6cnUJiUs/T33GIhCyJDPm9asheFocmIpN+U3WU/N3l3
mP3DZddt3OGDByv+DrL0gAW481rw4BOs0z+O/l+GGc8yaP26cR3TjrZxo2YK
fASpSIxAEr/NiWk2lvbkXG+Jw7ZbzIy7bPqqMHlVEQWy/Jr0RtlnSVkMGxax
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
/wFf24H4LWIAAA==

-->

</rfc>
