<?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.38 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dnsop-dnssec-keyrestore-01" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title>DNSSEC Key Restore</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-dnssec-keyrestore-01"/>
    <author fullname="Florian Obser">
      <organization>RIPE NCC</organization>
      <address>
        <email>fobser@ripe.net</email>
      </address>
    </author>
    <author fullname="Martin Pels">
      <organization>RIPE NCC</organization>
      <address>
        <email>mpels@ripe.net</email>
      </address>
    </author>
    <date year="2026" month="May" day="13"/>
    <area>Operations and Management</area>
    <workgroup>Domain Name System Operations</workgroup>
    <keyword>DNSSEC</keyword>
    <keyword>disaster recovery</keyword>
    <keyword>backup and restore</keyword>
    <abstract>
      <?line 45?>

<t>This document describes the issues surrounding the handling of DNSSEC
private keys in a DNSSEC signer. It presents operational guidance in
case a DNSSEC private key becomes inoperable.</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/fobser/draft-fobser-dnsop-dnssec-keyrecovery"/>.</t>
    </note>
  </front>
  <middle>
    <?line 51?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>DNSSEC <xref target="RFC9364"/> uses public key cryptography to provide integrity
protection of DNS data. The private key used for DNSSEC signing could
become inoperable at any point due to hardware failure, natural disaster,
operator error, or malicious action. If no backup of the private key exist
(due to hardware limitations or operational policies) or if the backup is
unusable for some reason, a zone can no longer be changed or re-signed.</t>
      <t>This document describes procedures on how to restore the DNSSEC signing
functionality without rendering a zone temporarily insecure or bogus.
For these procedures, it is assumed a complete copy of the DNSSEC signed zone
is still available. If no (usable) backup exists, it may be possible to recover
the signed zone from one of the zone's name servers.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>This document uses DNS terminology from <xref target="RFC9499"/>.
DNSSEC key states and timeline related abbreviations are defined in
<xref target="RFC7583"/>.</t>
      <t>The following additional definitions are used within this document.</t>
      <dl>
        <dt>Inoperable (private key):</dt>
        <dd>
          <t>The private part of a DNSKEY appearing in the chain of trust of
the zone that can no longer be used for signing. Causes include
hardware failure, natural disaster, operator error, or malicious
action. A compromised key is not an inoperable private key since it
can still be used for signing.</t>
        </dd>
        <dt>Operable (private key):</dt>
        <dd>
          <t>The opposite of an inoperable private key. A key that can be used
for signing.</t>
        </dd>
      </dl>
    </section>
    <section anchor="scope">
      <name>Scope</name>
      <t>The procedures described in this document pertain to DNSSEC architectures
with pre-signed records. Online signing, such as described in <xref target="RFC9824"/>,
is out of scope since it requires that each server carrying the zone holds
a copy of the signing key(s). Thus, the operational challenges are different
than described in the introduction.</t>
      <t>The root zone is out of scope since the distribution of a new trust
anchor takes considerably longer than the RRSIG lifetime <xref target="RFC7958"/>.</t>
    </section>
    <section anchor="dnssec-key-restore">
      <name>DNSSEC Key Restore</name>
      <t>In case of a catastrophe where the DNSSEC private key becomes
inoperable and no functioning backups of the private key are
available, it is desirable to recover from this situation with DNS
resolution continuing to work for the effected zone(s) while
performing DNSSEC key restore operations.</t>
      <t>This is possible because the moment the DNSSEC private key becomes
inoperable, the zone is still correctly signed and served by the
authoritative name servers. Signatures typically have a lifetime of
many days. That means that the operator has a lot of time to recover
from this situation without the zone becoming bogus and no longer
validating. Hasty and inappropriate action on the other hand could
lead to outages.</t>
      <t>While the DNSSEC private key cannot be restored because no functioning
backups exist, the function of the zone can be restored.</t>
      <t>The restore process uses slightly modified key rollover procedures
from <xref target="RFC7583"/>.</t>
      <t>During the restore process, the signing software operates on a
pre-signed zone. That is, the zone already contains a DNSKEY RRset and
RRSIG RRsets. The signing software might try to remove these records
because the accompanying private key is no longer present. The operator
<bcp14>MUST</bcp14> prevent this, otherwise the zone will become bogus.</t>
      <t>The signing software <bcp14>MUST NOT</bcp14> remove DNSKEYs until instructed to do so
and <bcp14>SHOULD NOT</bcp14> remove old RRSIGs. If a signer implementation does
not support keeping the old RRSIG records in place these records,
excluding the RRSIG for the old DNSKEY RRset, <bcp14>MUST</bcp14> be manually added back
to the zone before publication.</t>
      <t>The exact process depends on which key(s) are inoperable and if the
zone is signed with a split KSK / ZSK key pair or a Combined Signing
Key (CSK).</t>
      <t>Performing an Algorithm Rollover as described in <xref target="RFC6781"/> using the
procedures defined in this document is <bcp14>NOT RECOMMENDED</bcp14>. If an
algorithm rollover is not already in progress, signing using the
currently used algorithm should be restored first using the procedures
defined in this document. Once this has been completed a regular
algorithm rollover can be performed.</t>
      <section anchor="key-rollover-considerations">
        <name>Key Rollover Considerations</name>
        <t>If a regular key rollover is in progress, the procedures described in
this document can be followed. They effectively cancel the ongoing key
rollover and perform a new one.</t>
        <t>If an algorithm rollover is in progress the procedures described in
this document can be followed, with the exception that a new key <bcp14>MUST</bcp14>
be added to the zone per algorithm for which there is an inoperable
key.</t>
      </section>
      <section anchor="soa-considerations">
        <name>SOA considerations</name>
        <t>When restoring an inoperable ZSK or CSK, the SOA record of the zone <bcp14>SHOULD NOT</bcp14>
be changed when introducing a new key in the DNSKEY RRset, because the SOA
cannot be re-signed with the inoperable key. In case the SOA is changed, signed
responses for existing records will remain valid, but denial of existence
proofs for non-existent record types will become bogus.</t>
        <t>To ensure the zone is still propagated, any secondary name servers relying on
IXFR/AXFR need to be manually forced to load the new version of the zone.</t>
      </section>
      <section anchor="cdscdnskey-considerations">
        <name>CDS/CDNSKEY considerations</name>
        <t>For restoring an inoperable KSK or CSK, a new DS record needs to be added
to the parent zone. For child zones where this update process is ordinarily
handled using CDS/DNSKEY records (see <xref target="RFC8078"/>) the DS update needs to
be performed manually if the ZSK or CSK is inoperable. This is because
CDS/DNSKEY records added to the child zone cannot be signed with the inoperable
key, and thus cannot be cryptographically validated. Additionally, introducing
CDS/CDNSKEY records in the zone would change the type bitmap of the NSEC or
NSEC3 record in the zone apex, which also cannot be re-signed with the
inoperable key.</t>
      </section>
      <section anchor="ksk-zsk-split-ksk-operable-zsk-inoperable">
        <name>KSK / ZSK split, KSK operable, ZSK inoperable</name>
        <t>Since the old ZSK is inoperable, it cannot be used to create new
RRSIGs. Therefore the zone cannot be changed and only the Pre-Publication
method can be used. See <xref target="RFC7583"/> section 2.1.</t>
        <t>Section 3.2.1 of <xref target="RFC7583"/> documents the timeline for this
method.</t>
        <t>The following diagram shows the timeline of the restoration.
Time increases along the horizontal scale from left to right and the vertical
lines indicate events in the process. Significant times and time intervals
are marked.</t>
        <artwork><![CDATA[
              |1|      |2|   |3|      |4|
               |        |     |        |
Key N         - - ----------->|<-Iret->|
               |        |     |        |
Key N+1        |<-Ipub->|<--->|<----- - -
               |        |     |        |
Key N                                 Trem
Key N+1        Tpub    Trdy  Tact

                  ---- Time ---->
]]></artwork>
        <t>Event 1: The new ZSK is added to the DNSKEY RRset at its publication time
(Tpub).</t>
        <t>The inoperable ZSK and all RRSIGs it created <bcp14>MUST</bcp14> remain in the zone.</t>
        <t>The SOA record of the zone <bcp14>SHOULD NOT</bcp14> be changed at this point in time,
because it cannot be re-signed with the inoperable key. Any secondary
name servers relying on IXFR/AXFR need to be manually forced to load
the new version of the zone.</t>
        <t>The new ZSK must be published long enough to guarantee that any cached
DNSKEY RRset contains the new ZSK. This interval is the publication
interval (Ipub), given by</t>
        <artwork><![CDATA[
Ipub = Dprp + TTLkey
]]></artwork>
        <t>Dprp is the propagation delay, the time it takes for changes to
propagate to all authoritative nameserver instances. TTLkey is the TTL
of the DNSKEY RRset.</t>
        <t>Event 2: The new ZSK can be used when it becomes ready at Trdy.</t>
        <artwork><![CDATA[
Trdy = Tpub + Ipub.
]]></artwork>
        <t>At this point the zone can be changed again.</t>
        <t>Event 3: At some later time, the zone is signed with the new ZSK. At this
point RRSIGs from the inoperable ZSK can be removed. The inoperable ZSK
<bcp14>MUST</bcp14> be retained in the DNSKEY RRset.</t>
        <t>Event 4: The inoperable ZSK can be removed after the retire interval (Iret).</t>
        <artwork><![CDATA[
Iret = Dsgn + Dprp + TTLsig
]]></artwork>
        <t>Dsgn is the delay needed to ensure that all existing RRsets are signed
with the new ZSK, Dprp is the propagation delay and TTLsig is the
maximum TTL of all RRSIG records.</t>
        <t>Theoretically the Double-Signature method could be used as well. In this case
records in the zone can only be changed after the retire interval, which is at
least as long as the publication interval of the Pre-Publication
method. The Double-Signature retire interval is given by:</t>
        <artwork><![CDATA[
Iret = Dsgn + Dprp + max(TTLkey, TTLsig)
]]></artwork>
      </section>
      <section anchor="ksk-zsk-split-ksk-inoperable">
        <name>KSK / ZSK split, KSK inoperable</name>
        <t>Since the old KSK is inoperable, the DNSKEY RRset cannot be
changed. Therefore, only the Double-DS method can be used. See
<xref target="RFC7583"/> section 2.2.</t>
        <t>If the ZSK is inoperable as well, it <bcp14>MUST NOT</bcp14> be restored yet.</t>
        <t>Section 3.3.2 of <xref target="RFC7583"/> documents the timeline for this
method.</t>
        <t>The following diagram shows the timeline of the restoration.
The diagram follows the convention described in Section 4.1.</t>
        <artwork><![CDATA[
            |1|      |2|       |3|  |4|      |5|
             |        |         |    |        |
Key N       - ---------------------->|<-Iret->|
             |        |         |    |        |
Key N+1      |<-Dreg->|<-IpubP->|<-->|<------- -
             |        |         |    |        |
Key N                                        Trem
Key N+1     Tsbm     Tpub      Trdy Tact

                 ---- Time ---->
]]></artwork>
        <t>Event 1: A new DS record is added to the DS RRset in the parent
zone, this is the submission time, Tsbm.</t>
        <t>Event 2: After the registration delay, Dreg, the DS record is
published in the parent zone. This is the publication time (Tpub).</t>
        <artwork><![CDATA[
Tpub = Tsbm + Dreg.
]]></artwork>
        <t>The DS record must be published long enough to guarantee that any
cached DS RRset contains the new DS record. This is the parent
publication interval (IpubP).</t>
        <artwork><![CDATA[
IpubP = DprpP + TTLds
]]></artwork>
        <t>DprpP is the propagation delay of the parent zone, i.e. the time it
takes for changes to propagate to all authoritative servers of the
parent zone. TTLds is the TTL of the DS RRset at the parent.</t>
        <t>Event 3: The new KSK can be used when it becomes ready at Trdy.</t>
        <artwork><![CDATA[
Trdy = Tpub + IpubP
]]></artwork>
        <t>Event 4: At this point, Tact, the new KSK is added to the DNSKEY
RRset and used to generate the DNSKEY RRSIG. The old, inoperable
KSK can be removed. The ZSK <bcp14>MUST</bcp14> remain in the DNSKEY RRset.</t>
        <t>If the ZSK is inoperable, the SOA record of the zone <bcp14>SHOULD NOT</bcp14> be
changed at this point in time, because it cannot be re-signed with
the inoperable key. Any secondary name servers relying on IXFR/AXFR
need to be manually forced to load the new version of the zone.
The ZSK signing function can be restored using the procedure in
the previous section.</t>
        <t>To ensure that no caches have DNSKEY RRset with the old KSK, the old
DS record <bcp14>MUST</bcp14> remain in the parent zone for the duration of the
retire interval (Iret), given by:</t>
        <artwork><![CDATA[
Iret = DprpC + TTLkey
]]></artwork>
        <t>DprpC is the child propagation delay, the time it takes for changes to
propagate to all authoritative nameserver instances of the child
zone. TTLkey is the TTL of the DNSKEY RRset.</t>
        <t>Event 5: The old DS record can be removed from the parent zone at Trem.</t>
        <artwork><![CDATA[
Trem = Tact + Iret
]]></artwork>
      </section>
      <section anchor="csk-inoperable">
        <name>CSK inoperable</name>
        <t>Since the old CSK is inoperable, the DNSKEY RRset cannot be
changed. Therefore, only the Double-DS method can be used. See
<xref target="RFC7583"/> section 2.2.</t>
        <t>Section 3.3.2 of <xref target="RFC7583"/> documents the timeline for this method.</t>
        <t>Since the CSK is also used to sign the zone, the timing of the
Double-DS method needs to be adjusted.</t>
        <t>The inoperable CSK and all RRSIGs it created <bcp14>MUST</bcp14> remain in the zone.</t>
        <t>The following diagram shows the timeline of the restoration.
The diagram follows the convention described in Section 4.1.</t>
        <artwork><![CDATA[
            |1|      |2|       |3|  |4|      |5|
             |        |         |    |        |
Key N       - ---------------------->|<-Iret->|
             |        |         |    |        |
Key N+1      |<-Dreg->|<-IpubP->|<-->|<------- -
             |        |         |    |        |
Key N                                        Trem
Key N+1     Tsbm     Tpub      Trdy Tact

                 ---- Time ---->
]]></artwork>
        <t>Event 1: A new DS record is added to the DS RRset in the parent zone,
this is the submission time, Tsbm.</t>
        <t>Event 2: After the registration delay, Dreg, the DS record is published
in the parent zone. This is the publication time (Tpub).</t>
        <artwork><![CDATA[
Tpub = Tsbm + Dreg.
]]></artwork>
        <t>The DS record must be published long enough to guarantee that any
cached DS RRset contains the new DS record. This is the parent
publication interval (IpubP) given by</t>
        <artwork><![CDATA[
IpubP = DprpP + TTLds
]]></artwork>
        <t>DprpP is the propagation delay of the parent zone, i.e. the time it
takes for changes to propagate to all authoritative servers of the
parent zone. TTLds is the TTL of the DS RRset at the parent.</t>
        <t>Event 3: The new CSK can be used when it becomes ready at Trdy.</t>
        <artwork><![CDATA[
Trdy = Tpub + IpubP
]]></artwork>
        <t>Event 4: At this point the new CSK is added to the DNSKEY RRset and
used to generate the DNSKEY RRSIG.</t>
        <t>The old, inoperable CSK <bcp14>MUST</bcp14> remain in the DNSKEY RRset. The RRSIGs
generated by the inoperable CSK <bcp14>MUST</bcp14> remain in the zone.</t>
        <t>The SOA record of the zone <bcp14>SHOULD NOT</bcp14> be changed at this point in time,
because it cannot be re-signed with the inoperable key. Any secondary
name servers relying on IXFR/AXFR need to be manually forced to load
the new version of the zone.</t>
        <t>To ensure that no caches have DNSKEY RRset with the old CSK, the old
DS record <bcp14>MUST</bcp14> remain in the parent zone for the duration of the
retire interval (Iret), given by:</t>
        <artwork><![CDATA[
Iret = Dsgn + DprpC + max(TTLkey, TTLsig)
]]></artwork>
        <t>Dsgn is the delay needed to ensure that all existing RRsets are signed
with the new CSK. DprpC is the child propagation delay, the time it
takes for changes to propagate to all authoritative nameserver
instances of the child zone. TTLkey is the TTL of the DNSKEY RRset and
TTLsig is the maximum TTL of all RRSIG records.</t>
        <t>Event 5: The old DS record can be removed from the parent zone at Trem.</t>
        <artwork><![CDATA[
Trem = Tact + Iret
]]></artwork>
        <t>At the same time the old, inoperable CSK and all its signatures can be
removed as well.</t>
        <t>At this point the zone can be changed again.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>All security considerations of <xref target="RFC9364"/> apply to this document.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6781">
          <front>
            <title>DNSSEC Operational Practices, Version 2</title>
            <author fullname="O. Kolkman" initials="O." surname="Kolkman"/>
            <author fullname="W. Mekking" initials="W." surname="Mekking"/>
            <author fullname="R. Gieben" initials="R." surname="Gieben"/>
            <date month="December" year="2012"/>
            <abstract>
              <t>This document describes a set of practices for operating the DNS with security extensions (DNSSEC). The target audience is zone administrators deploying DNSSEC.</t>
              <t>The document discusses operational aspects of using keys and signatures in the DNS. It discusses issues of key generation, key storage, signature generation, key rollover, and related policies.</t>
              <t>This document obsoletes RFC 4641, as it covers more operational ground and gives more up-to-date requirements with respect to key sizes and the DNSSEC operations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6781"/>
          <seriesInfo name="DOI" value="10.17487/RFC6781"/>
        </reference>
        <reference anchor="RFC7583">
          <front>
            <title>DNSSEC Key Rollover Timing Considerations</title>
            <author fullname="S. Morris" initials="S." surname="Morris"/>
            <author fullname="J. Ihren" initials="J." surname="Ihren"/>
            <author fullname="J. Dickinson" initials="J." surname="Dickinson"/>
            <author fullname="W. Mekking" initials="W." surname="Mekking"/>
            <date month="October" year="2015"/>
            <abstract>
              <t>This document describes the issues surrounding the timing of events in the rolling of a key in a DNSSEC-secured zone. It presents timelines for the key rollover and explicitly identifies the relationships between the various parameters affecting the process.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7583"/>
          <seriesInfo name="DOI" value="10.17487/RFC7583"/>
        </reference>
        <reference anchor="RFC7958">
          <front>
            <title>DNSSEC Trust Anchor Publication for the Root Zone</title>
            <author fullname="J. Abley" initials="J." surname="Abley"/>
            <author fullname="J. Schlyter" initials="J." surname="Schlyter"/>
            <author fullname="G. Bailey" initials="G." surname="Bailey"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>The root zone of the Domain Name System (DNS) has been cryptographically signed using DNS Security Extensions (DNSSEC).</t>
              <t>In order to obtain secure answers from the root zone of the DNS using DNSSEC, a client must configure a suitable trust anchor. This document describes the format and publication mechanisms IANA has used to distribute the DNSSEC trust anchors.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7958"/>
          <seriesInfo name="DOI" value="10.17487/RFC7958"/>
        </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="RFC9499">
          <front>
            <title>DNS Terminology</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
            <date month="March" year="2024"/>
            <abstract>
              <t>The Domain Name System (DNS) is defined in literally dozens of different RFCs. The terminology used by implementers and developers of DNS protocols, and by operators of DNS systems, has changed in the decades since the DNS was first defined. This document gives current definitions for many of the terms used in the DNS in a single document.</t>
              <t>This document updates RFC 2308 by clarifying the definitions of "forwarder" and "QNAME". It obsoletes RFC 8499 by adding multiple terms and clarifications. Comprehensive lists of changed and new definitions can be found in Appendices A and B.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="219"/>
          <seriesInfo name="RFC" value="9499"/>
          <seriesInfo name="DOI" value="10.17487/RFC9499"/>
        </reference>
        <reference anchor="RFC9824">
          <front>
            <title>Compact Denial of Existence in DNSSEC</title>
            <author fullname="S. Huque" initials="S." surname="Huque"/>
            <author fullname="C. Elmerot" initials="C." surname="Elmerot"/>
            <author fullname="O. Gudmundsson" initials="O." surname="Gudmundsson"/>
            <date month="September" year="2025"/>
            <abstract>
              <t>This document describes a technique to generate a signed DNS response on demand for a nonexistent name by claiming that the name exists but doesn't have any data for the queried record type. Such responses require only one minimally covering NSEC or NSEC3 record, allow online signing servers to minimize signing operations and response sizes, and prevent zone content disclosure.</t>
              <t>This document updates RFCs 4034 and 4035.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9824"/>
          <seriesInfo name="DOI" value="10.17487/RFC9824"/>
        </reference>
      </references>
    </references>
    <?line 428?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The document draws heavily from the work in <xref target="RFC7583"/> and we thank
the authors for their work:</t>
      <ul spacing="normal">
        <li>
          <t>Stephen Morris</t>
        </li>
        <li>
          <t>Johan Ihren</t>
        </li>
        <li>
          <t>John Dickinson</t>
        </li>
        <li>
          <t>W. (Matthijs) Mekking</t>
        </li>
      </ul>
      <t>Additionally, we thank the following people for contributing ideas and feedback:</t>
      <ul spacing="normal">
        <li>
          <t>Libor Peltan</t>
        </li>
        <li>
          <t>Peter Thomassen</t>
        </li>
        <li>
          <t>Anand Buddhdev</t>
        </li>
        <li>
          <t>Wes Hardaker</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
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
vq2TZJHoOxIObvS9KhNEaCn+DxfTON1tPgAA

-->

</rfc>
