<?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-02" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.0 -->
  <front>
    <title abbrev="DS Automation">Operational Recommendations for DS Automation</title>
    <seriesInfo name="Internet-Draft" value="draft-shetho-dnsop-ds-automation-02"/>
    <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 60?>

<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 64?>

<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.draft-ietf-dnsop-generalized-notify-09"/>. 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="RFC9803"/>.</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.draft-ietf-dnsop-generalized-notify-09"/>). The same condition SHOULD NOT be reported unnecessarily frequently to the same recipient.</t>
          </li>
          <li>
            <t>In the RRR model, registries performing DS automation 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.draft-ietf-dnsop-generalized-notify-09"/>), 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);</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 registration locks?</t>
        </li>
      </ul>
      <section anchor="recommendations-2">
        <name>Recommendations</name>
        <ol spacing="normal" type="1"><li>
            <t>To secure ongoing operations, automated DS maintenance SHOULD NOT be suspended based on a registrar update lock alone (such as EPP status clientUpdateProhibited).</t>
          </li>
          <li>
            <t>When performed by the registry, automated DS maintenance SHOULD NOT be suspended based on a registry update lock alone (such as EPP status serverUpdateProhibited).</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 transfer or deletion locks), other types of locks, in particular "update locks", deserve a closer analysis.</t>
        <section anchor="registrar-vs-registry-lock">
          <name>Registrar vs. Registry Lock</name>
          <t>A registrar-side update lock (such as clientUpdateProhibited in EPP) protects against various types of accidental or malicious change (like unintended changes through the registrar's customer portal). Its security model does not prevent the registrar's (nor the registry's) actions. This is because a registrar-side 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 registrar 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>
          <t>When a registry-side update lock is in place, the registrar cannot apply any changes (for security or delinquency or other reasons). However, it does not protect against changes made by the registry itself. This is exemplified by the serverUpdateProhibited EPP status, which demands only that the registrar's "[r]equests to update the object [...] MUST be rejected" (<xref section="2.3" sectionFormat="comma" target="RFC5731"/>). This type of lock therefore precludes DS automation by the registrar, while registry-side automation may continue.</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 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.</t>
          <t>If authenticated, these operations do not qualify as accidental or malicious change, but as legitimate and normal activity for securing ongoing operation. The CDS/CDNSKEY method provides an automatic, authenticated means to convey DS update requests. The resulting DS update is subject to the parent's acceptance checks; in particular, it is not applied when it would break the delegation (see <xref target="validity"/>).</t>
          <t>Given that registrar locks protect against unintended changes (such as through the customer portal) while not preventing actions done by the registrar (or the registry) themself, such a 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.</t>
          <t>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. Suspending automated DS maintenance therefore does not seem justified.</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; however, authenticated DNSSEC bootstrapping <xref target="RFC9615"/> might be requested. Besides being in the interest of security, the fact that a Child is requesting DS initialization through an authenticated method expresses the registrant's intent to have the delegation secured.</t>
          <t>Further, some domains are equipped with an update lock by default. Not honoring DNSSEC bootstrapping requests then 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, as the registrant already has arranged for the necessary CDS/CDNSKEY records to be published. It therefore appears that DS initialization and rollovers should be treated the same way with respect to locks.</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>DS update requests SHOULD be executed immediately after verification of their authenticity, regardless of whether they are received in-band or via an out-of-band channel.</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 through whichever channel, DS automation SHOULD NOT (or no longer) be suspended (including after an earlier removal).</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.draft-ietf-dnsop-generalized-notify-09"/>, 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.draft-ietf-dnsop-generalized-notify-09">
          <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="1" month="August" 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-08"/>
        </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="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="RFC9803">
          <front>
            <title>Extensible Provisioning Protocol (EPP) Mapping for DNS Time-to-Live (TTL) Values</title>
            <author fullname="G. Brown" initials="G." surname="Brown"/>
            <date month="June" 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.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9803"/>
          <seriesInfo name="DOI" value="10.17487/RFC9803"/>
        </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 383?>

<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-02</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Allow DS automation during registry update lock</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Editorial changes</t>
        </li>
      </ul>
      <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:
H4sIAAAAAAAAA8V923LbSJrmPZ8CK8dGkbskdbBdB9V0e1SSq9vTZVsruaqm
o7tjBwSSJEogwEYColkKRcwL7NXMzd7Ns2zsvMg8yf7HPICk7Zqpie2OcEkU
AWT++R++/4jJZDJoi7Y058nbtWnStqirtExuTFavVqbK6QObzOsmubpNLrq2
XtFHg3Q2a8z9ee/TvM6qdAU3y5t03k7s0rTLepJXtl5PcjtJ3TcnJ2cDuDl8
8+Hq4t3Lx4FtG5OuzpNXL999O8jgL4u62Z4nRTWvB4Ni3ZwnbdPZ9uzk5Cu4
NIUvw3er1jSVaQeburlbNHW3hvW8uX17nfwIHxTVIvkdfji4M1v4Ru4vmFzh
8gYDWP/Twbo4T/7U1tk4sXUDq5hb+Gm7wh/+MhjAkpd1cz5IJoME/ldU9jy5
nSa3S1Mt6BPe721r7k3wqVmlRXmeWPx4avHjv13gR1Oga3Sv62nybglEsdZU
wf2uDay095e6WQBhze3Ly/ARa/zm3+bGmmxaAK2qukES3xtYM1LjDy//OHl1
8ebinC5q02Zh2vPkaNm2a3t+fLzZbKZFWqVTuPsxPKtYVHDurT2GQ5vAPSdp
uZhU3Wpmmr2fTd+vyid7Pp+cHvEDmblgIcmtybqmaLfJRQmHW7TLVfKGv0zf
dJROPBlw4biN20Nb+OAO7KRpJu12bWy8FlOaBXFhcgtfBjoPr25HwPO27prM
EPM3eTK8uRkl7+Dq5KpYGNv6ZX9kvQNk2uAQvqs37959Fy9eyV9UeZHVUyRg
nTbZFJjzGFimao+ffXGc1VXbFLOOZPD49OT05Dht2zRb8v6+ev7l8emXp6fH
V7f/9ewkrXL4lw8cfoAnwr/mPQh1gV+frvN5SIQjEFy4RDgkKetNApck/gKh
WbzLifw3YNMm+dd/Waf/93+ZO/c3YtRXt8ymLOVnJ2dPJydfTU4+pw8tPMRY
pJPeOW2ZSd5e3Fwmz07h09uLy9Ozzw+QrV1Ps7yaFllaVXTwpjqeF6Wxx1a4
bAK7m9g2nRUl/ZbfFyDf2wkqtqJtjZlYm2aTxqxB6uEy+BkeNzn9fHLy5QSW
+2xiqh2iyZpwpSCGhzmJGMjrxU8h5avLizdvvIzg2dzq6pMLWX1yqatPhrew
mFFM4me49tOzwWAwmUySdAZKNc1Az72s0lmJ+tB2a9wu6XNVxlmSZplZt2kF
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
Ga2bT0aNAA0Xb348k05Vc65IF8mJyWumZly+7K/QMT0mop39upeid6XloptB
RPgF4m4WBRysVhx7pvOjC8jaY7dSVIvwmb7cGKdtxjO2CYho24j0mvNjrTsR
FA1dC0JUM3OK0L8YyE+ow1diU2zID7R0C3Rrp8bD3vAi92Btkyb27r3Vxt3K
r16SkjEpVRH5s9r2OF9fL+gVtF9m2qZo2LnkO1LbETHm8euw9YxpyBgzfCA0
fATRyB0c4d17eXkyBBkZBQe11ZoV1zUYMHbly0/9m3dwDIUbDHGCURYKMwXt
QuQypjm9qXwso3dJ5VN13XafOLshUZXU9WAQUMkmvZEOasZNuH16es2iWhwP
CaT8NU1fkFPyLDXxQ10CTnfDWWB3sE6uTuDUbCh38WStUBMQEUQocV1cXRyd
6DhOkPfvFkmYW5rKhKuuCe6ub/2M2GbfNCd8LbgbQuK038defK/DzOIc61uZ
BiUpqevUUt1euZOMReIRnhY3RRNVXWM7HPb85JPepHzojXgulBqX4GOhNOMZ
95a88J1CkhSfuX7Hcsv+FvMaqBuJk+OrxqkpXvSEK53n6dcbPwKKg365xML9
9J8t3j6VsA35gzI/BO+3qKmkMsgz8Ox9vDxv0g3/NUX7kckrD+UVmEGFjmzV
txN4XpE65KHqLSmbllHe3DqPpYHUHkUuv7zajxQuv1WJYRSQUTGgEFKrCgha
5FqvhEPZSfFTLz3H53fetBdtSAuI3bgp9a7CMqHOHngrbzzDq6BIoL5kzOmV
ZNbUmNLjKzJ1WZXK/jUGPGdailPIh5ciZDo1bAJwD9Z5qUsj1aaLJs3dSaA0
y27GWBKEkUy6j9TE81uzpMiBS3d/L7MQh3wubrCUzNbxqGw0GPw3eYmkxUxi
Leni3E582mZycjYY/FbeTBmXNUgB3L6ZdXjJyxxLZHxNsf20x53ita8qOAxg
Q9LDOgyMXdRkbkxO74ocGveE/05d27AY1CH2Ezd2wk+i8k6hC181Hfw/h/RN
JpuMAAA=

-->

</rfc>
