<?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.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-shetho-dnsop-ds-automation-01" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.29.0 -->
  <front>
    <title abbrev="DS Automation">Operational Recommendations for DS Automation</title>
    <seriesInfo name="Internet-Draft" value="draft-shetho-dnsop-ds-automation-01"/>
    <author initials="S." surname="Sheng" fullname="Steve Sheng">
      <organization/>
      <address>
        <email>steve.sheng@gmail.com</email>
      </address>
    </author>
    <author initials="P." surname="Thomassen" fullname="Peter Thomassen">
      <organization>deSEC</organization>
      <address>
        <email>peter@desec.io</email>
      </address>
    </author>
    <date/>
    <area>Internet</area>
    <workgroup>DNSOP Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 68?>

<t>Enabling support for automatic acceptance of DS parameters from the Child DNS operator (via RFCs 7344, 8078, 9615) requires the parent operator, often a registry or registrar, to make a number of technical decisions. This document describes recommendations for new deployments of such DS automation.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Domain Name System Operations Working Group mailing list (dnsop@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/dnsop/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/peterthomassen/draft-shetho-dnsop-ds-automation"/>.</t>
    </note>
  </front>
  <middle>
    <?line 72?>

<section anchor="introduction">
      <name>Introduction</name>
      <t><xref target="RFC7344"/>, <xref target="RFC8078"/>, <xref target="RFC9615"/> automate DNSSEC delegation trust maintenance by having the child publish CDS and/or CDNSKEY records which indicate the delegation's desired DNSSEC parameters ("DS automation").</t>
      <t>Parental Agents using these protocols have to make a number of technical decisions relating to issues of validity checks, timing, error reporting, locks, etc. Additionally, when using the RRR model (as is common amongst top-level domains), both the registrar and the registry can effect parent-side changes to the delare reviewers not egation. In such a situation, additional questions arise.</t>
      <t>Not all existing DS automation deployments have made the same choices with respect to these questions, leading to somewhat inconsistent behavior. From the perspective of a domain holder with domain names under various TLDs, this may be unexpected and confusing.</t>
      <t>New deployments of DS automation therefore SHOULD follow the recommendations set out in this document, to achieve a more uniform treatment across suffixes and to minimize user surprise. The recommendations are intended to provide baseline safety and uniformity of behavior across parents. Registries with additional requirements on DS update checks MAY implement any additional checks in line with local policy.</t>
      <t>In the following sections, operational questions are first raised and answered with the corresponding recommendations. Each section is concluded with an analysis of its recommendations, and related considerations.</t>
      <t>Readers are expected to be familiar with DNSSEC <xref target="RFC9364"/><xref target="RFC9615"/><xref target="I-D.ietf-dnsop-generalized-notify"/>. For terminology, see <xref target="terminology"/>.</t>
      <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="validity">
      <name>Validity Checks and Safety Measures</name>
      <t>This section provides recommendations to address the following questions:</t>
      <ul spacing="normal">
        <li>
          <t>What kind of validity checks should be performed on DS parameters?</t>
        </li>
        <li>
          <t>Should these checks be performed upon acceptance, or also continually when in place?</t>
        </li>
        <li>
          <t>How do TTLs and caching impact DS provisioning? How important is timing in a child key change?</t>
        </li>
      </ul>
      <section anchor="recommendations">
        <name>Recommendations</name>
        <ol spacing="normal" type="1"><li>
            <t>Entities performing automated DS maintenance SHOULD verify  </t>
            <ol spacing="normal" type="a"><li>
                <t>the consistency of DS update requests across all authoritative nameservers in the delegation <xref target="I-D.ietf-dnsop-cds-consistency"/>, and</t>
              </li>
              <li>
                <t>that the resulting DS record set would not break DNSSEC validation if deployed,</t>
              </li>
            </ol>
            <t>
and cancel the update if the verifications do not succeed.</t>
          </li>
          <li>
            <t>Parent operators (such as registries) SHOULD reduce a DS record set's TTL to a value between 5–15 minutes when the set of records is changed, and restore the normal TTL value at a later occasion (but not before the previous DS RRset's TTL has expired).</t>
          </li>
        </ol>
      </section>
      <section anchor="analysis_validity">
        <name>Analysis</name>
        <section anchor="continuity-of-resolution">
          <name>Continuity of Resolution</name>
          <t>To maintain the basic resolution function, it is important to avoid the deployment of flawed DS record sets in the parent zone. It is therefore desirable for the Parent to verify that the DS record set resulting from an automated (or even manual) update does not break DNSSEC validation if deployed, and otherwise cancel the update.</t>
          <t>This is best done by</t>
          <ol spacing="normal" type="1"><li>
              <t>verifying that consistent CDS/CDNSKEY responses are served by all of the delegation's nameservers <xref target="I-D.ietf-dnsop-cds-consistency"/>;</t>
            </li>
            <li>
              <t>verifying that the resulting DS RRset does not break the delegation if applied (<xref section="4.1" sectionFormat="comma" target="RFC7344"/>), i.e., that it provides at least one valid path for validators to use (<xref section="5.11" sectionFormat="comma" target="RFC6840"/>). This is the case if there is at least one DS record referencing a key that actually signs the child's DNSKEY RRset, where the digest type and signing algorithm are listed as mandatory ("MUST") in the "Implement for DNSSEC Validation" columns of the relevant IANA registries <xref target="DS-IANA"/> and <xref target="DNSKEY-IANA"/>.</t>
            </li>
          </ol>
          <t>TODO Should checks be done continually? (Why is that the parent's task?) Or on demand, e.g., on a no-op NOTIFY?
Even when no update was requested, it may be worthwhile to occasionally check whether the current DS contents would be accepted today (see <xref target="validity"/>), and communicate any failures without changing the published DS record set.</t>
          <t>TODO Maybe RECOMMEND periodical rechecks and allow requesting recheck in case of operational difficulties (large parent). Allow the parent to communicate interval? See draft-berra-dnsop-announce-scanner.</t>
        </section>
        <section anchor="ttls-and-caching">
          <name>TTLs and Caching</name>
          <t>To further reduce the impact of any misconfigured DS record set — be it from automated or from manual provisioning — the option to quickly roll back the delegation's DNSSEC parameters is of great importance. This is achieved by setting a comparatively low TTL on the DS record set in the parent domain, at the cost of reduced resiliency against nameserver unreachability due to the earlier expiration of cached records. The availability risk can be mitigated by limiting such TTLs to a brief time period after a change to the DS configuration, during which rollbacks are most likely to occur.</t>
          <t>Registries therefore should significantly lower the DS RRset's TTL for some time following an update. Pragmatic values for the reduced TTL value range between 5–15 minutes.  Such low TTLs might be expected to cause increased load on the corresponding authoritative nameservers; however, recent research has demonstrated them to have negligible impact on the overall load of a registry's authoritative nameserver infrastructure <xref target="LowTTL"/>.</t>
          <t>The reduction should be in effect at least until the previous DS record set has expired from caches, that is, the period during which the low-TTL is applied should exceed the normal TTL value. The routine re-signing of the DS RRset (usually after a few days) provides a convenient opportunity for resetting the TTL. When using EPP, the server MAY advertise its TTL policy via the domain <tt>&lt;info&gt;</tt> command described in <xref section="2.1.1.2" sectionFormat="comma" target="I-D.ietf-regext-epp-ttl"/>.</t>
          <t>While this approach enables quick rollbacks, timing of the desired DS update process itself is largely governed by the previous DS RRset's TTL, and therefore does not generally benefit from an overall speed-up. Note also that nothing is gained from first lowering the TTL of the old DS RRset: such an additional step would, in fact, require another wait period while resolver caches adjust. For the sake of completeless, there likewise is no point to increasing any DS TTL values beyond their normal value.</t>
        </section>
      </section>
    </section>
    <section anchor="reporting">
      <name>Reporting and Transparency</name>
      <t>This section provides recommendations to address the following question:</t>
      <ul spacing="normal">
        <li>
          <t>Should a failed (or even successful) DS update trigger a notification to anyone?</t>
        </li>
      </ul>
      <section anchor="recommendations-1">
        <name>Recommendations</name>
        <t>TODO consider practicality of email notifications, or what else to do, see https://mailarchive.ietf.org/arch/msg/dnsop/aXGm1FuEPF5TV1PsVD2zK2fMBvY/</t>
        <t>TODO "in accordance with the communication preferences established by the child zone operator"? Should there be an ability for the zone operator to establish their communication (who and how) preferences? How would that be signaled?</t>
        <ol spacing="normal" type="1"><li>
            <t>For certain DS updates (see <xref target="analysis_reporting">analysis</xref>) and for DS deactivation, relevant points of contact known to the zone operator SHOULD be notified.</t>
          </li>
          <li>
            <t>For error conditions, the domain's technical contact and the DNS operator serving the affected Child zone SHOULD be first notified. The registrant SHOULD NOT be notified unless the problem persists for a prolonged amount of time (e.g., three days).</t>
          </li>
          <li>
            <t>Notifications to humans SHOULD be done via email. Child DNS operators SHOULD be notified using a report query <xref target="RFC9567"/> to the agent domain as described in (<xref section="4" sectionFormat="comma" target="I-D.ietf-dnsop-generalized-notify"/>). The same condition SHOULD NOT be reported unnecessarily frequently to the same recipient.</t>
          </li>
          <li>
            <t>In the RRR model, if the registry performs DS automation, the registry SHOULD inform the registrar of any DS record changes via the EPP Change Poll Extension <xref target="RFC8590"/> or a similar channel.</t>
          </li>
          <li>
            <t>The currently active DS configuration as well as the history of DS updates SHOULD be made accessible to the registrant (or their designated party) through the customer portal available for domain management.</t>
          </li>
        </ol>
      </section>
      <section anchor="analysis_reporting">
        <name>Analysis</name>
        <t>When accepting or rejecting a DS update, it cannot be assumed that relevant parties are aware of what's happening. For example, a registrar may not know when an automatic DS update is performed by the registry. Similarly, a Child DNS operator may not be aware when their CDS/CDNSKEY RRsets are out of sync across nameservers, thus being ignored. Early reporting of such conditions helps involved parties to act appropriately and in a timely manner.</t>
        <t>A delegation can break even without an update request to the DS record set. This may occur during key rollovers (<xref section="4.1" sectionFormat="comma" target="RFC6781"/>) when the Child DNS operator proceeds to the next step early, without verifying that the delegation's DS RRset is in the expected state. For example, when an algorithm rollover is performed and the old signing algorithm is removed from the Child zone before the new DS record is added, validation errors may result.
TODO Reduce fearmongering: find numbers, better example, or loosen up wording.</t>
        <t>Entities performing automated DS maintenance should report on conditions they encounter. The following success situations may be of particular interest:</t>
        <ol spacing="normal" type="1"><li anchor="reporting-1">
            <t>A DS RRset has been provisioned  </t>
            <ol spacing="normal" type="a"><li anchor="reporting-1a">
                <t>manually;</t>
              </li>
              <li anchor="reporting-1b">
                <t>due to commencing DS automation (either via DNSSEC bootstrapping, or for the first time after a manual change; see <xref target="multiple"/>);</t>
              </li>
              <li anchor="reporting-1c">
                <t>automatically, as an update to an existing DS RRset that had itself been automatically provisioned.</t>
              </li>
            </ol>
          </li>
          <li anchor="reporting-2">
            <t>The DS RRset has been removed  </t>
            <ol spacing="normal" type="a"><li>
                <t>manually;</t>
              </li>
              <li>
                <t>automatically, using a delete signal (<xref section="4" sectionFormat="comma" target="RFC8078"/>).</t>
              </li>
            </ol>
          </li>
        </ol>
        <t>In addition, there are error conditions worthy of being reported:</t>
        <ol spacing="normal" type="1" start="3"><li anchor="reporting-3">
            <t>A pending DS update cannot be applied due to an error condition. There are various scenarios where an automated DS update might have been requested, but can't be fulfilled. These include:  </t>
            <ol spacing="normal" type="a"><li>
                <t>The new DS record set would break validation/resolution or is not acceptable to the Parent for some other reason (see <xref target="validity"/>).</t>
              </li>
              <li>
                <t>A lock prevents DS automation (see <xref target="locks"/>).</t>
              </li>
            </ol>
          </li>
          <li anchor="reporting-4">
            <t>No DS update is due, but it was determined that the Child zone is no longer compatible with the existing DS record set (e.g., DS RRset only references non-existing keys).</t>
          </li>
        </ol>
        <t>For these reportworthy cases, the entity performing DS automation would be justified to attempt communicating the situation. Potential recipients are:</t>
        <ul spacing="normal">
          <li>
            <t>Child DNS operator, preferably by making a report query <xref target="RFC9567"/> to the agent domain listed in the EDNS0 Report-Channel option of the DS update notification that triggered the DS update (<xref section="4" sectionFormat="comma" target="I-D.ietf-dnsop-generalized-notify"/>), or alternatively via email to the address contained in the child zone's SOA RNAME field (see Sections <xref target="RFC1035" section="3.3.13" sectionFormat="bare"/> and <xref target="RFC1035" section="8" sectionFormat="bare"/> of <xref target="RFC1035"/>);</t>
          </li>
          <li>
            <t>Registrar (if DS automation is performed by the registry), via EPP (or similar channel);</t>
          </li>
          <li>
            <t>Registrant (domain holder, in non-technical language, such as "DNSSEC security for your domain has been enabled and will be maintained automatically") or technical contact, via email.</t>
          </li>
        </ul>
        <t>For manual updates (<xref target="reporting-1a" format="none">case 1a</xref>), commencing DS automation (<xref target="reporting-1b" format="none">case 1b</xref>), and deactivating DNSSEC (<xref target="reporting-2" format="none">case 2</xref>), it seems worthwhile to notify both the domain's technical contact and the registrant. This will typically lead to one notification during normal operation of a domain. (<xref target="reporting-1c" format="none">Case 1c</xref>, the regular operation of automation, is not an interesting condition to report to a human.)</t>
        <t>For error conditions (cases <xref target="reporting-3" format="none">3</xref> and <xref target="reporting-4" format="none">4</xref>), the registrant need not always be involved. It seems advisable to first notify the domain's technical contact and the DNS operator serving the affected Child zone, and only if the problem persists for a prolonged amount of time (e.g., three days), notify the registrant.</t>
        <t>When the RRR model is used and the registry performs DS automation, the registrar should always stay informed of any DS record changes, e.g., via the EPP Change Poll Extension <xref target="RFC8590"/>.</t>
        <t>The same condition SHOULD NOT be reported unnecessarily frequently to the same recipient (e.g., no more than twice in a row). For example, when CDS and CDNSKEY records are inconsistent and prevent DS initialization, the registrant may be notified twice. Additional notifications may be sent with some back-off mechanism (in increasing intervals).</t>
        <t>The history of DS updates SHOULD be kept and, together with the currently active configuration, be made accessible to the registrant (or their designated party) through the customer portal available for domain management.</t>
      </section>
    </section>
    <section anchor="locks">
      <name>Registration Locks</name>
      <t>This section provides recommendations to address the following question:</t>
      <ul spacing="normal">
        <li>
          <t>How does DS automation interact with other registration state parameters, such as EPP locks?</t>
        </li>
      </ul>
      <section anchor="recommendations-2">
        <name>Recommendations</name>
        <ol spacing="normal" type="1"><li>
            <t>Automated DS maintenance SHOULD be suspended when a registry lock is set (in particular, EPP lock serverUpdateProhibited).</t>
          </li>
          <li>
            <t>To secure ongoing operations, automated DS maintenance SHOULD NOT be suspended based on a registrar lock alone (in particular, EPP lock clientUpdateProhibited).</t>
          </li>
        </ol>
      </section>
      <section anchor="analysis_locks">
        <name>Analysis</name>
        <t>Registries and registrars can set various types of locks for domain registrations, usually upon the registrant's request. An overview of standardized locks using EPP, for example, is given in <xref section="2.3" sectionFormat="of" target="RFC5731"/>. Some registries may offer additional (or other) types of locks whose meaning and set/unset mechanisms are defined according to a proprietary policy.</t>
        <t>While some locks clearly should have no impact on DS automation (such as EPP locks clientDeleteProhibited / serverDeleteProhibited), other types of locks, in particular "update locks", may be recognized as having an impact on DS automation.</t>
        <section anchor="registry-vs-registrar-lock">
          <name>Registry vs. Registrar Lock</name>
          <t>In EPP, when a serverUpdateProhibited lock ("registry lock") is in place, there exists an expectation that this lock renders all otherwise updateable registration data immutable. It seems logical to extend this lock to DS updates as well.</t>
          <t>The situation is different when a clientUpdateProhibited lock ("registrar lock") is in place. While protecting against various types of accidental or malicious change (such as unintended changes through the registrar's customer portal), this lock is much weaker than the registry lock, as its security model does not prevent the registrar's (nor the registry's) actions. This is because the clientUpdateProhibited EPP lock can be removed by the registrar without an out-of-band interaction.</t>
          <t>Under such a security model, no tangible security benefit is gained by preventing automated DS maintenance based on a clientUpdateProhibited lock alone, while preventing it would make maintenance needlessly difficult. It therefore seems reasonable not to suspend automation when such a lock is present.</t>
        </section>
        <section anchor="detailed-rationale">
          <name>Detailed Rationale</name>
          <t>Pre-DNSSEC, it was possible for a registration to be set up once, then locked and left alone (no maintenance required). With DNSSEC comes a change to this operational model: the DNSSEC configuration may have to be maintained in order to remain secure and operational. For example, the Child DNS operator may switch to another signing algorithm if the previous one is no longer deemed appropriate, or roll its SEP key for other reasons. Such changes entail updating the delegation's DS records. If authenticated, these operations do not qualify as accidental or malicious change, but as normal and appropriate activity for securing ongoing operation.</t>
          <t>To accommodate key or algorithm rollovers performed by the Child DNS operator, a means for maintaining DS records is needed. It is worth recalling that any properly authenticated DS update request constitutes a legitimate request in the name of the registrant. Further, the resulting DS update is subject to the parent's acceptance checks, and not applied when incompatible with the DNSSEC keys published in the child zone (see <xref target="validity"/>).</t>
          <t>Given that a clientUpdateProhibited lock protects against unintended changes (such as through the customer portal) while not preventing actions done by the registrar (or the registry) themself, the lock is not suitable for defending against actions performed illegitimately by the registrar or registry (e.g., due to compromise). Any attack on the registration data that is feasible in the presence of a registrar lock is also feasible regardless of whether DS maintenance is done automatically; in other words, DS automation is orthogonal to the attack vector that a registrar lock protects against. Considering that automated DS updates are required to be authenticated and validated for correctness, it thus appears that honoring such requests, while in the registrant's interest, comes with no additional associated risk. (Automated DS maintenance may be disabled by requesting a registry lock, if so desired.)</t>
          <t>Suspending automated DS maintenance therefore does not seem justified unless the registration data is locked at the registry level (e.g. when the registrant has explicitly requested a serverUpdateProhibited lock to be set). A registrar lock alone provides insufficient grounds for suspending DS maintenance.</t>
          <t>Following this line of thought, some registries (e.g., .ch/.cz/.li) today perform automated DS maintenance even when an "update lock" is in place. Registries offering proprietary locks should carefully consider for each lock whether its scope warrants suspension.</t>
          <t>In case of a domain not yet secured with DNSSEC, automatic DS initialization is not required to maintain ongoing operation; it might, however, request DNSSEC bootstrapping. In the absence of a registry lock, it is then in the interest of security to enable DNSSEC as requested. The fact that a Child is requesting DS initialization through an authenticated, automated method <xref target="RFC9615"/> expresses the registrant's intent to have the delegation secured. There would be little reason for the registrant to have the corresponding CDS/CDNSKEY records published if not for their request to be acted upon.</t>
          <t>Further, some domains are put into clientUpdateProhibited lock by default. In such cases, not honoring authenticated DS initialization requests imposes an additional burden on the registrant, who has to unlock and relock the domain in order to facilitate DS provisioning after registration. This is a needless cost especially for large domain portfolios. It is also unexpected, given that the registrant already has expressed their intent to have the domain secured to their DNS operator who in turn has published CDS/CDNSKEY records. It therefore appears that DS initialization and rollovers should be treated the same way with respect to locks, and only be suspended while in serverUpdateProhibited lock status.</t>
        </section>
      </section>
    </section>
    <section anchor="multiple">
      <name>Multiple Submitting Parties</name>
      <t>This section provides recommendations to address the following questions:</t>
      <ul spacing="normal">
        <li>
          <t>How are conflicts resolved when DS parameters are accepted through multiple channels (e.g. via a conventional channel and via automation)?</t>
        </li>
        <li>
          <t>In case both the registry and the registrar are automating DS updates, how to resolve potential collisions?</t>
        </li>
      </ul>
      <section anchor="recommendations-3">
        <name>Recommendations</name>
        <ol spacing="normal" type="1"><li>
            <t>Registries and registrars SHOULD provide a another (e.g., manual) channel for DS maintenance in order to enable recovery when the Child has lost access to its signing key(s). This out-of-band channel is also needed when a DNS operator does not support DS automation or refuses to cooperate.</t>
          </li>
          <li>
            <t>When DS update requests SHOULD be executed immediately, whether they are received through EPP or another interface interface.</t>
          </li>
          <li>
            <t>Only when the entire DS record set has been removed, SHOULD DS automation be suspended, in order to prevent accidental re-initialization of the DS record set when the registrant intended to disable DNSSEC.</t>
          </li>
          <li>
            <t>In all other cases where a non-empty DS record set is provisioned out-of-band (e.g., manually) or via EPP (including after an earlier removal), DS automation SHOULD NOT (or no longer) be suspended.</t>
          </li>
          <li>
            <t>In the RRR model, if the registry performs DS automation, the registry SHOULD notify the registrar of all DS updates (see also Recommendation 4 under <xref target="reporting"/>).</t>
          </li>
          <li>
            <t>In the RRR model, registries SHOULD NOT perform automated DS maintenance if it is known that the registrar does not support DNSSEC.</t>
          </li>
        </ol>
      </section>
      <section anchor="analysis_multiple">
        <name>Analysis</name>
        <t>In the RRR model, there are multiple channels through which DS parameters can be accepted:</t>
        <ul spacing="normal">
          <li>
            <t>The registry can retrieve information about an intended DS update automatically from the Child DNS Operator and apply the update directly;</t>
          </li>
          <li>
            <t>The registrar can retrieve the same and relay it to the registry;</t>
          </li>
          <li>
            <t>Registrars or (less commonly) registries can obtain the information from the registrant through another channel (such as a non-automated "manual update" via webform submission), and relay it to the registry.</t>
          </li>
        </ul>
        <t>There are several considerations in this context, as follows.</t>
        <section anchor="necessity-of-non-automatic-updates">
          <name>Necessity of Non-automatic Updates</name>
          <t>Under special circumstances, it may be necessary to perform a non-automatic DS update. One important example is when the key used by for authentication of DS updates is destroyed: in this case, an automatic key rollover is impossible as the Child DNS operator can no longer authenticate the associated information. Another example is when several providers are involved, but one no longer cooperates (e.g., when removing a provider from a multi-provider setup). Disabling manual DS management interfaces is therefore strongly discouraged.</t>
          <t>Similarly, when the registrar is known to not support DNSSEC (or to lack a DS provisioning interface), it seems adequate for registries to not perform automated DS maintenance, in order to prevent situations in which a misconfigured delegation cannot be repaired by the registrant.</t>
        </section>
        <section anchor="impact-of-non-automatic-updates-when-to-suspend-automation">
          <name>Impact of Non-automatic Updates: When to Suspend Automation</name>
          <t>When an out-of-band (e.g., manual) DS update is performed while CDS/CDNSKEY records referencing the previous DS RRset's keys are present, the delegation's DS records may be reset to their previous state at the next run of the automation process. This section discusses in which situations it is appropriate to suspend DS automation after such a non-automatic update.</t>
          <t>One option is to suspend DS automation after a manual DS update, but only until a resumption signal is observed. In the past, it was proposed that seeing an updated SOA serial in the child zone may serve as a resumption signal. However, as any arbitrary modification of zone contents — including the regular updating of DNSSEC signature validity timestamps  — typically causes a change in SOA serial, resumption of DS automation after a serial change comes with a high risk of surprise. Additional issues arise if nameservers have different serial offsets (e.g., in a multi-provider setup). It is therefore advised to not follow this practice.</t>
          <t>Note also that "automatic rollback" due to old CDS/CDNSKEY RRsets can only occur if they are signed with a key authorized by one of new DS records. Validity checks described in <xref target="validity"/> further ensure that updates do not break validation.</t>
          <t>All in all:</t>
          <ul spacing="normal">
            <li>
              <t>It appears advisable to generally not suspend in-band DS automation when an out-of-band DS update has occurred.</t>
            </li>
            <li>
              <t>An exception from this rule is when the entire DS record set was removed, in which case the registrant likely wants to disable DNSSEC for the domain. DS automation should then be suspended so that automatic re-initialization (bootstrapping) does not occur.</t>
            </li>
            <li>
              <t>In all other cases, any properly authenticated DS updates received, including through an automated method, are to be considered as the current intent of the domain holder.</t>
            </li>
          </ul>
        </section>
        <section anchor="concurrent-automatic-updates">
          <name>Concurrent Automatic Updates</name>
          <t>When the RRR model is used, there is a potential for collision if both the registry and the registrar are automating DS provisioning by scanning the child for CDS/CDNSKEY records. No disruptive consequences are expected if both parties perform DS automation. An exception is when during a key rollover, registry and registrar see different versions of the Child's DS update requests, such as when CDS/CDNSKEY records are retrieved from different vantage points. Although unlikely due to Recommendation 1a of <xref target="validity"/>, this may lead to flapping of DS updates; however, it is not expected to be harmful as either DS RRset will allow for the validation function to continue to work, as ensured by Recommendation 1b of <xref target="validity"/>. The effect subsides as the Child's state eventually becomes consistent (roughly, within the child's replication delay); any flapping until then will be a minor nuisance only.</t>
          <t>The issue disappears entirely when scanning is replaced by notifications that trigger DS maintenance through one party's designated endpoint <xref target="I-D.ietf-dnsop-generalized-notify"/>, and can otherwise be mitigated if the registry and registrar agree that only one of them will perform scanning.</t>
          <t>As a standard aspect of key rollovers (RFC 6781), the Child DNS operator is expected to monitor propagation of Child zone updates to all authoritative nameserver instances, and only proceed to the next step once replication has succeeded everywhere and the DS record set was subsequently updated (and in no case before the DS RRset's TTL has passed). Any breakage resulting from improper timing on the Child side is outside of the Parent's sphere of influence, and thus out of scope of DS automation considerations.</t>
        </section>
      </section>
    </section>
    <section anchor="cds-vs-cdnskey">
      <name>CDS vs. CDNSKEY</name>
      <t>This section provides recommendations to address the following question:</t>
      <ul spacing="normal">
        <li>
          <t>Are parameters for DS automation best conveyed as CDNSKEY or CDS records, or both?</t>
        </li>
      </ul>
      <section anchor="recommendations-4">
        <name>Recommendations</name>
        <ol spacing="normal" type="1"><li>
            <t>DNS operators SHOULD publish both CDNSKEY records as well as CDS records, and follow best practice for the choice of hash digest type <xref target="DS-IANA"/>.</t>
          </li>
          <li>
            <t>Parents, independently of their preference for CDS or CDNSKEY, SHOULD require publication of both RRsets, and SHOULD NOT proceed with updating the DS RRset if one is found missing or inconsistent with the other.</t>
          </li>
          <li>
            <t>Registries (or registrars) scanning for CDS/CDNSKEY records SHOULD verify that any published CDS and CDNSKEY records are consistent with each other, and otherwise cancel the update <xref target="I-D.ietf-dnsop-cds-consistency"/>.</t>
          </li>
        </ol>
        <t>TODO clarify that this does not prevent parent from chosing a digest type that's not in CDS (separate recommendation?)</t>
      </section>
      <section anchor="analysis_dichotomy">
        <name>Analysis</name>
        <t>DS records can be generated from information provided either in DS format (CDS) or in DNSKEY format (CDNSKEY). While the format of CDS records is identical to that of DS records (so the record data be taken verbatim), generation of a DS record from CDNSKEY information involves computing a hash.</t>
        <t>Whether a Parent processes CDS or CDNSKEY records depends on their preference:</t>
        <ul spacing="normal">
          <li>
            <t>Conveying (and storing) CDNSKEY information allows the Parent to control the choice of hash algorithms. The Parent may then unilaterally regenerate DS records with a different choice of hash algorithm(s) whenever deemed appropriate.</t>
          </li>
          <li>
            <t>Conveying CDS information allows the Child DNS operator to control the hash digest type used in DS records, enabling the Child DNS operator to deploy (for example) experimental hash digests and removing the need for registry-side changes when new digest types become available.</t>
          </li>
        </ul>
        <t>The need to make a choice in the face of this dichotomy is not specific to DS automation: even when DNSSEC parameters are relayed to the Parent through conventional channels, the Parent has to make some choice about which format(s) to accept.</t>
        <t>Some registries have chosen to prefer DNSKEY-style input which seemingly comes with greater influence on the delegation's security properties (in particular, the DS hash digest type). It is noted that regardless of the choice of input format, the Parent cannot prevent the Child from following insecure cryptographic practices (such as insecure key storage, or using a key with insufficient entropy). Besides, as the DS format contains a field indicating the hash digest type, objectionable ones (such as those outlawed by <xref target="DS-IANA"/>) can still be rejected even when ingesting CDS records, by inspecting that field.</t>
        <t>The fact that more than one input type needs to be considered burdens both Child DNS operators and Parents with the need to consider how to handle this dichotomy. Until this is addressed in an industry-wide manner and one of these mechanisms is deprecated in favor of the other, both Child DNS operators and Parents implementing automated DS maintenance should act as to maximize interoperability:</t>
        <ul spacing="normal">
          <li>
            <t>As there exists no protocol for Child DNS Operators to discover a Parent's input format preference, it seems best to publish both CDNSKEY as well as CDS records, in line with <xref section="5" sectionFormat="comma" target="RFC7344"/>. The choice of hash digest type should follow current best practice <xref target="DS-IANA"/>.</t>
          </li>
          <li>
            <t>Parents, independently of their input format preference, are advised to require publication of both CDS and CDNSKEY records, and to enforce consistency between them, as determined by matching CDS and CDNSKEY records using hash digest algorithms whose support is mandatory <xref target="DS-IANA"/>. (Consistency of CDS records with optional or unsupported hash digest types is not required.)</t>
          </li>
        </ul>
        <t>Publishing the same information in two different formats is not ideal. Still, it is much less complex and costly than burdening the Child DNS operator with discovering each Parent's policy; also, it is very easily automated. Operators should ensure that published RRsets are consistent with each other.</t>
        <t>By rejecting the DS update if either RRset is found missing or inconsistent with the other, Child DNS operators are held responsible when publishing contradictory information. At the same time, Parents can retain whatever benefit their policy choice carries for them, while facilitating a later revision of that choice. This approach also simplifies possible future deprecation of one of the two formats, as no coordination or implementation changes would be needed on the child side.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document considers security aspects throughout, and has not separate considerations.</t>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank the SSAC members who wrote the <xref target="SAC126"/> report on which this document is based.</t>
      <t>In order of first contribution or review: Barbara Jantzen, Matt Pounsett, Matthijs Mekking, Ondřej Caletka, Oli Schacher, Kim Davies</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="DNSKEY-IANA" target="https://www.iana.org/assignments/dns-sec-alg-numbers/dns-sec-alg-numbers.xml#dns-sec-alg-numbers-1">
          <front>
            <title>DNS Security Algorithm Numbers</title>
            <author initials="" surname="IANA" fullname="IANA">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="DS-IANA" target="http://www.iana.org/assignments/ds-rr-types">
          <front>
            <title>Delegation Signer (DS) Resource Record (RR) Type Digest Algorithms</title>
            <author initials="" surname="IANA" fullname="IANA">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </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="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="RFC9364">
          <front>
            <title>DNS Security Extensions (DNSSEC)</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="February" year="2023"/>
            <abstract>
              <t>This document describes the DNS Security Extensions (commonly called "DNSSEC") that are specified in RFCs 4033, 4034, and 4035, as well as a handful of others. One purpose is to introduce all of the RFCs in one place so that the reader can understand the many aspects of DNSSEC. This document does not update any of those RFCs. A second purpose is to state that using DNSSEC for origin authentication of DNS data is the best current practice. A third purpose is to provide a single reference for other documents that want to refer to DNSSEC.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="237"/>
          <seriesInfo name="RFC" value="9364"/>
          <seriesInfo name="DOI" value="10.17487/RFC9364"/>
        </reference>
        <reference anchor="I-D.ietf-dnsop-generalized-notify">
          <front>
            <title>Generalized DNS Notifications</title>
            <author fullname="Johan Stenstam" initials="J." surname="Stenstam">
              <organization>The Swedish Internet Foundation</organization>
            </author>
            <author fullname="Peter Thomassen" initials="P." surname="Thomassen">
              <organization>deSEC, Secure Systems Engineering</organization>
            </author>
            <author fullname="John R. Levine" initials="J. R." surname="Levine">
              <organization>Standcore LLC</organization>
            </author>
            <date day="19" month="March" year="2025"/>
            <abstract>
              <t>   This document generalizes and extends the use of DNS NOTIFY (RFC
   1996) beyond conventional zone transfer hints, to allow triggering
   other types of actions via the DNS that were previously lacking a
   trigger mechanism.  Notifications merely nudge the receiver to
   initiate a predefined action promptly (instead of on a schedule);
   they do not alter the action itself (including any security checks it
   might employ).

   To enable this functionality, a method for discovering the receiver
   endpoint for such notification messages is introduced, via the new
   DSYNC record type.  Notification types are recorded in a new
   registry, with initial support for parental NS and DS record updates
   including DNSSEC bootstrapping.

   TO BE REMOVED: This document is being collaborated on in Github at:
   https://github.com/peterthomassen/draft-ietf-dnsop-generalized-notify
   (https://github.com/peterthomassen/draft-ietf-dnsop-generalized-
   notify).  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>
          <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-generalized-notify-09"/>
        </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="I-D.ietf-dnsop-cds-consistency">
          <front>
            <title>Clarifications on CDS/CDNSKEY and CSYNC Consistency</title>
            <author fullname="Peter Thomassen" initials="P." surname="Thomassen">
              <organization>SSE - Secure Systems Engineering GmbH</organization>
            </author>
            <date day="9" month="April" year="2025"/>
            <abstract>
              <t>   Maintenance of DNS delegations requires occasional changes of the DS
   and NS record sets on the parent side of the delegation.  For the
   case of DS records, RFC 7344 provides automation by allowing the
   child to publish CDS and/or CDNSKEY records holding the prospective
   DS parameters which the parent can ingest.  Similarly, RFC 7477
   specifies CSYNC records to indicate a desired update of the
   delegation's NS (and glue) records.  Parent-side entities (e.g.
   Registries, Registrars) can query these records from the child and,
   after validation, use them to update the parent-side RRsets of the
   delegation.

   This document specifies that when performing such queries, parent-
   side entities MUST ensure that updates triggered via CDS/CDNSKEY and
   CSYNC records are consistent across the child's authoritative
   nameservers, before taking any action based on these records.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-cds-consistency-06"/>
        </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="RFC8590">
          <front>
            <title>Change Poll Extension for the Extensible Provisioning Protocol (EPP)</title>
            <author fullname="J. Gould" initials="J." surname="Gould"/>
            <author fullname="K. Feher" initials="K." surname="Feher"/>
            <date month="May" year="2019"/>
            <abstract>
              <t>This document describes an Extensible Provisioning Protocol (EPP) extension for notifying clients of operations on client-sponsored objects that were not initiated by the client through EPP. These operations may include contractual or policy requirements including, but not limited to, regular batch processes, customer support actions, Uniform Domain-Name Dispute-Resolution Policy (UDRP) or Uniform Rapid Suspension (URS) actions, court-directed actions, and bulk updates based on customer requests. Since the client is not directly involved or knowledgable of these operations, the extension is used along with an EPP object mapping to provide the resulting state of the postoperation object, and optionally a preoperation object, with the operation metadata of what, when, who, and why.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8590"/>
          <seriesInfo name="DOI" value="10.17487/RFC8590"/>
        </reference>
        <reference anchor="RFC1035">
          <front>
            <title>Domain names - implementation and specification</title>
            <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
            <date month="November" year="1987"/>
            <abstract>
              <t>This RFC is the revised specification of the protocol and format used in the implementation of the Domain Name System. It obsoletes RFC-883. This memo documents the details of the domain name client - server communication.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="13"/>
          <seriesInfo name="RFC" value="1035"/>
          <seriesInfo name="DOI" value="10.17487/RFC1035"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="LowTTL" target="https://indico.dns-oarc.net/event/47/contributions/1010/attachments/958/1811/DS%20and%20DNSKEY%20TTL%20experiment.pdf">
          <front>
            <title>DS and DNSKEY low TTL experiments</title>
            <author initials="P." surname="Špaček" fullname="Petr Špaček">
              <organization>ISC</organization>
            </author>
            <date year="2023" month="September" day="06"/>
          </front>
          <seriesInfo name="at" value="DNS OARC 41"/>
        </reference>
        <reference anchor="EPPstatuscodes" target="https://www.icann.org/resources/pages/epp-status-codes-2014-06-16-en">
          <front>
            <title>EPP Status Codes | What Do They Mean, and Why Should I Know?</title>
            <author initials="P." surname="Špaček" fullname="Petr Špaček">
              <organization>ISC</organization>
            </author>
            <date year="2023" month="September" day="06"/>
          </front>
        </reference>
        <reference anchor="SAC126" target="https://itp.cdn.icann.org/en/files/security-and-stability-advisory-committee-ssac-reports/sac-126-16-08-2024-en.pdf">
          <front>
            <title>SAC126: DNSSEC Delegation Signer (DS) Record Automation</title>
            <author initials="I. S. and S. A. C." surname="(SSAC)" fullname="ICANN Security and Stability Advisory Committee (SSAC)">
              <organization/>
            </author>
            <date year="2024" month="August" day="12"/>
          </front>
        </reference>
        <reference anchor="RFC6840">
          <front>
            <title>Clarifications and Implementation Notes for DNS Security (DNSSEC)</title>
            <author fullname="S. Weiler" initials="S." role="editor" surname="Weiler"/>
            <author fullname="D. Blacka" initials="D." role="editor" surname="Blacka"/>
            <date month="February" year="2013"/>
            <abstract>
              <t>This document is a collection of technical clarifications to the DNS Security (DNSSEC) document set. It is meant to serve as a resource to implementors as well as a collection of DNSSEC errata that existed at the time of writing.</t>
              <t>This document updates the core DNSSEC documents (RFC 4033, RFC 4034, and RFC 4035) as well as the NSEC3 specification (RFC 5155). It also defines NSEC3 and SHA-2 (RFC 4509 and RFC 5702) as core parts of the DNSSEC specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6840"/>
          <seriesInfo name="DOI" value="10.17487/RFC6840"/>
        </reference>
        <reference anchor="I-D.ietf-regext-epp-ttl">
          <front>
            <title>Extensible Provisioning Protocol (EPP) mapping for DNS Time-To-Live (TTL) values</title>
            <author fullname="Gavin Brown" initials="G." surname="Brown">
              <organization>ICANN</organization>
            </author>
            <date day="7" month="January" year="2025"/>
            <abstract>
              <t>   This document describes an extension to the Extensible Provisioning
   Protocol (EPP) that allows EPP clients to manage the Time-To-Live
   (TTL) value for domain name delegation records.

About this draft

   This note is to be removed before publishing as an RFC.

   The source for this draft, and an issue tracker, may can be found at
   https://github.com/gbxyz/epp-ttl-extension.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-regext-epp-ttl-18"/>
        </reference>
        <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="RFC5731">
          <front>
            <title>Extensible Provisioning Protocol (EPP) Domain Name Mapping</title>
            <author fullname="S. Hollenbeck" initials="S." surname="Hollenbeck"/>
            <date month="August" year="2009"/>
            <abstract>
              <t>This document describes an Extensible Provisioning Protocol (EPP) mapping for the provisioning and management of Internet domain names stored in a shared central repository. Specified in XML, the mapping defines EPP command syntax and semantics as applied to domain names. This document obsoletes RFC 4931. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="69"/>
          <seriesInfo name="RFC" value="5731"/>
          <seriesInfo name="DOI" value="10.17487/RFC5731"/>
        </reference>
        <reference anchor="RFC5730">
          <front>
            <title>Extensible Provisioning Protocol (EPP)</title>
            <author fullname="S. Hollenbeck" initials="S." surname="Hollenbeck"/>
            <date month="August" year="2009"/>
            <abstract>
              <t>This document describes an application-layer client-server protocol for the provisioning and management of objects stored in a shared central repository. Specified in XML, the protocol defines generic object management operations and an extensible framework that maps protocol operations to objects. This document includes a protocol specification, an object mapping template, and an XML media type registration. This document obsoletes RFC 4930. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="69"/>
          <seriesInfo name="RFC" value="5730"/>
          <seriesInfo name="DOI" value="10.17487/RFC5730"/>
        </reference>
      </references>
    </references>
    <?line 390?>

<section anchor="terminology">
      <name>Terminology</name>
      <t>Unless defined in this section, the terminology in this document is as defined in <xref target="RFC7344"/>.</t>
      <dl>
        <dt>Child zone:</dt>
        <dd>
          <t>DNS zone whose delegation is in the Parent zone.</t>
        </dd>
        <dt>Child (DNS operator):</dt>
        <dd>
          <t>DNS operator responsible for a Child zone.</t>
        </dd>
        <dt>DNS operator:</dt>
        <dd>
          <t>The entity holding the zone's primary copy before it is signed. Typically a DNS hosting provider in the domain holder's name, it controls the authoritative contents and delegations in the zone, and is thus operationally responsible for maintaining the "purposeful" records in the zone file (such as IP address, MX, or CDS/CDNSKEY records).
The parties involved in other functions for the zone, like signing and serving, are not relevant for this definition.</t>
        </dd>
        <dt>Parent zone:</dt>
        <dd>
          <t>DNS zone that holds a delegation for a Child zone.</t>
        </dd>
        <dt>Parent (DNS operator):</dt>
        <dd>
          <t>The DNS operator responsible for a Parent zone, and thus involved with the maintenance of the delegation's DNSSEC parameters (in particular, the acceptance of these parameters and the publication of corresponding DS records).</t>
        </dd>
        <dt>Registrant:</dt>
        <dd>
          <t>The entity responsible for records associated with a particular domain name in a domain name registry (typically under a TLD such as .com or an SLD such as co.uk). When the RRR model is used, the registrant maintains these records through a registrar who acts as an intermediary for both the registry and the registrant.</t>
        </dd>
        <dt>Registrar:</dt>
        <dd>
          <t>An entity through which registrants register domain names; the registrar performs this service by interacting directly with the registry in charge of the domain's suffix. A registrar may also provide other services such as DNS service or web hosting for the registrant. In some cases, the registry directly offers registration services to the public, that is, the registry may also perform the registrar function.</t>
        </dd>
        <dt>Registry:</dt>
        <dd>
          <t>The entity that controls the registry database and authoritative DNS service of domain names registered under a particular suffix, for example a top-level domain (TLD). A registry receives requests through an interface (usually EPP <xref target="RFC5730"/>) from registrars to read, add, delete, or modify domain name registrations, and then makes the requested changes in the registry database and associated DNS zone.</t>
        </dd>
        <dt>RRR Model:</dt>
        <dd>
          <t>The registrant-registrar-registry interaction framework, where registrants interact with a registrar to register and manage domain names, and registrars interact with the domain's registry for the provision and management of domain names on the registrant's behalf. This model is common amongst top-level domains.</t>
        </dd>
      </dl>
    </section>
    <section anchor="recommendations-overview">
      <name>Recommendations Overview</name>
      <t>TODO Paste all recommendations here</t>
    </section>
    <section anchor="approaches-not-pursued">
      <name>Approaches not pursued</name>
      <section anchor="validity-checks-and-safety-measures">
        <name>Validity Checks and Safety Measures</name>
        <section anchor="ttls-and-caching-1">
          <name>TTLs and Caching</name>
          <t>It is not necessary to equally reduce the old DS RRset's TTL before applying a change. If this were done, the rollover itself would have to be delayed without any apparent benefit. With the goal of enabling timely withdrawal of a botched DS RRset, it is not equally important for the previous (functional) DS RRset to be abandoned very quickly. In fact, not reducing the old DS TTL has the advantage of providing some resiliency against a botched DS update, as clients would continue to use the previous DS RRset according to its normal TTL, and the broken RRset could be withdrawn without some of them ever seeing it. Wrong DS RRsets will then only gradually impact clients, minimizing impact overall.</t>
        </section>
      </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-shetho-dnsop-ds-automation-01</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Incorporated various review feedback (editorial + adding TODOs)</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>draft-shetho-dnsop-ds-automation-00</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Initial public draft.</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
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
ofVZfy47hr100nHEeXN9MWKc6ZOXq/H0Z3ZjnVaPRBFqX6rA49KUPp46YYYV
ZeT7pAec/PeUFHFbL15/tOlbrMxY9NVRiLSEe2f42viA099cKRAFDvzHSXY4
5nY8I9nSHJ6fwuxbIDVnFF6Rw/sg+fOd4TTnhKZ3MZRh4ywTsfnCUnitlHx7
xCwJf0l3YoVhvZjNDnCH3GKfxXBLn2Gz6PFRmNzv31u0GCcfeu3egXeSH/BF
0xfTM+CPXXlJPQzgXtqjFNDScXhPEtB3IBfDrYaotq8QlJhQNLYletU1l5PE
H4TG3lA0w8XLBl+E7ZOsMwBJXCWf3UQf582svz2W6vzHc+FxiYKyvhNS6R58
Pj/KcdE7KKir1vkJe1Tb33LN5ucT6FQs52tzkZyYs2ZqplXL4Qp9pahNaOe+
G2TmfUW56GYQkdyysyvzPuBgtdA4MJ1faknWHvugkhKEX+grvNM+UYwLEhDR
dhCZ38CPdf5EUDR0LQhR7dwrwv2uOe5Do9hQmNPqF+jXTs2b/kWr2qgnD9Ze
fmLvwUuc/K3C6iUpmZJSFVE4q92A8/VtmkFBh2WazqBh50rvRG0nxFikL33X
M6ZOYWb4SGj4CJJBUziZvtlMuT9YbjUGGYkbendaquL7KiPGrqPeEv+iKeyO
4HnzL79+/hSjLBRmitqAyGU0WNRSwH94ojSpfCqq2x0SZz9wrJZyHgwCKtm0
X1mhZtoPPqRn0CyqxfGQQMrf0mATOaXAUlO/8mnE6X4ADuwO1slFCZyajeUu
nQ0XawIiggglrouLipMTnaQJ8uHdEgnzS1OZ8EU10d31JbcJ2xyaYTa3K1Mt
9OUCqv24+h/nVNZLinOkvON0HF+aY30vM9AkJXVlHJXrVXvJWCQe4WlxUzRR
1beuxxnmT77oxeGPvQDSh1LTynusj2Y8418KGb8yS5Lic98KWe3Y32JeozEu
pC23tuVXzIie8BXzPNR9GwafcdCvkFh4mLC0w9sbCduQPyijefB+y4YqKaM8
A79SAi8vWrPlbw3aj1ze8ClvfI0Kc2SroYsg8IqUH49Vb0m1tEyo58ZhrAik
Hily+eVNlqRw+aVhDKOAjIoBhZBaVUDQotAyJXzXACl+GuvA8fm9F0smG9K6
YaPj4NS7iquDdPLVXqV2Ormu7PyUnPhtbdm8bTClx1fk6rIqlcPbOXh8uhSn
kA8vtcd0alj77x+sE39XVopMl60p/EmgNMtuJlgJhJFMuo+UwvNL4aTIgSt2
fyvTPMd8Ln54F/NohMqOR6P/IO9MdZhJbCRdXLhpSNtMn56ORr+CUwTqAF+Q
YtQxauwzZgvw2OldpWNAKpgxBKr9R2rQhoWiULsvfNJTfhKVWcpC+arZ6P8C
07qYORWQAAA=

-->

</rfc>
