<?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.3 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dnsop-rfc7958bis-00" category="info" consensus="true" submissionType="IETF" obsoletes="7958" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.19.0 -->
  <front>
    <title abbrev="Root Zone Trust Anchor Publication">DNSSEC Trust Anchor Publication for the Root Zone</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-rfc7958bis-00"/>
    <author initials="J." surname="Abley" fullname="Joe Abley">
      <organization>Cloudflare</organization>
      <address>
        <postal>
          <city>Amsterdam</city>
          <country>Netherlands</country>
        </postal>
        <email>jabley@cloudflare.com</email>
      </address>
    </author>
    <author initials="J." surname="Schlyter" fullname="Jakob Schlyter">
      <organization>Kirei AB</organization>
      <address>
        <email>jakob@kirei.se</email>
      </address>
    </author>
    <author initials="G." surname="Bailey" fullname="Guillaume Bailey">
      <organization>Independent</organization>
      <address>
        <email>guillaumebailey@outlook.com</email>
      </address>
    </author>
    <author initials="P." surname="Hoffman" fullname="Paul Hoffman">
      <organization>ICANN</organization>
      <address>
        <email>paul.hoffman@icann.org</email>
      </address>
    </author>
    <date year="2023" month="December" day="30"/>
    <abstract>
      <?line 68?>

<!-- Notes for co-authors

PH: There was discussion in the algorithm rollover design team about adding comments to the XML file.
We know that developers read the file, and the comments could be helpful to them to understand things like
where they can find out more information about the future rollover.

PH: I would like to re-open the discussion of whether IANA should be publishing the PKIX and CSR files,
and when. Duane Wessels has charts that show that some resolvers are using the future trust anchor
keys before they are published in the root zone. That could happen if they pull the keys from the
key ceremony records, but it could also happen if IANA publishes the keys in the PKIX and CSR files.

PH: Appendix A needs to be filled in with the actual steps that happened for KSK 2017.

PH: Maybe get rid of the two figure numbers because they aren't used everywhere and they
are not referenced except for right above the figures.

PH: Make the wording the present active tense throughout.
For example, "is cryptographically signed" instead of "has been cryptographically signed".

-->

<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 intends to use
to distribute the DNSSEC trust anchors.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-dnsop-rfc7958bis/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/paulehoffman/draft-bash-rfc7958bis"/>.</t>
    </note>
  </front>
  <middle>
    <?line 99?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Domain Name System (DNS) is described in <xref target="RFC1034"/> and <xref target="RFC1035"/>.
DNS Security Extensions (DNSSEC) are described in <xref target="RFC9364"/>.</t>
      <t>In the DNSSEC protocol, Resource Record Sets (RRSets) are signed
cryptographically.  This means that a response to a query contains
signatures that allow the integrity and authenticity of the RRSet to
be verified.  DNSSEC signatures are validated by following a chain of
signatures to a "trust anchor".  The reason for trusting a trust
anchor is outside the DNSSEC protocol, but having one or more trust
anchors is required for the DNSSEC protocol to work.</t>
      <t>The publication of trust anchors for the root zone of the DNS is an
IANA function performed by ICANN, through its affiliate Public Technical Identifiers (PTI). A detailed description of
corresponding key management practices can be found in <xref target="DPS"/>, which
can be retrieved from the IANA Repository at
&lt;https://www.iana.org/dnssec/&gt;.</t>
      <t>This document describes the formats and distribution methods of
DNSSEC trust anchors that have been used by IANA for the root zone of
the DNS since 2010.  Other organizations might have different formats
and mechanisms for distributing DNSSEC trust anchors for the root
zone; however, most operators and software vendors have chosen to
rely on the IANA trust anchors.</t>
      <t>The formats and distribution methods described in this document are a
complement to, not a substitute for, the automated DNSSEC trust
anchor update protocol described in <xref target="RFC5011"/>.  That protocol allows
for secure in-band succession of trust anchors when trust has already
been established.  This document describes one way to establish an
initial trust anchor that can be used by RFC 5011.</t>
      <section anchor="definitions">
        <name>Definitions</name>
        <t>The term "trust anchor" is used in many different contexts in the
security community.  Many of the common definitions conflict because
they are specific to a specific system, such as just for DNSSEC or
just for S/MIME messages.</t>
        <t>In cryptographic systems with hierarchical structure, a trust anchor
is an authoritative entity for which trust is assumed and not
derived.  The format of the entity differs in different systems, but
the basic idea, that trust is assumed and not derived, is common to
all the common uses of the term "trust anchor".</t>
        <t>The root zone trust anchor formats published by IANA are defined in
<xref target="ta_formats"/>.  <xref target="RFC4033"/> defines a trust anchor as "A configured DNSKEY
RR or DS RR hash of a DNSKEY RR".  Note that the formats defined here
do not match the definition of "trust anchor" from <xref target="RFC4033"/>;
however, a system that wants to convert the trusted material from
IANA into a Delegation Signer (DS) RR can do so.</t>
        <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?>

</section>
      <section anchor="changes-from-rfc-7958">
        <name>Changes from RFC 7958</name>
        <t>This version of the document includes the following changes:</t>
        <ul spacing="normal">
          <li>
            <t>There is a signficant technical change from erratum 5932 &lt;https://www.rfc-editor.org/errata/eid5932&gt;.
This is in the seventh paragraph of <xref target="xml_semantics"/>.</t>
          </li>
          <li>
            <t>Added the optional public key element</t>
          </li>
          <li>
            <t>The reference to the DNSSEC Practice Statement <xref target="DPS"/> was updated.</t>
          </li>
          <li>
            <t>Say explicitly that the XML documents might have XML comments in them.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="ta_formats">
      <name>IANA DNSSEC Root Zone Trust Anchor Formats and Semantics</name>
      <t>IANA publishes trust anchors for the root zone as an XML document that contains the hashes of the DNSKEY records.</t>
      <t>This format and the semantics associated are described in
the rest of this section.</t>
      <section anchor="hashes">
        <name>Hashes and Keys in XML</name>
        <t>Note that the XML document can have XML comments.
For example, IANA might use these comments to add pointers to important information on the IANA web site.
XML comments are only used as human-readable commentary, not extensions to the grammar.</t>
        <t>The XML document contains a set of hashes for the DNSKEY records that
can be used to validate the root zone.  The hashes are consistent
with the defined presentation format of DS resource.</t>
        <t>The XML document also can contain the keys from the DNSKEY records.
The keys are consistent with the defined presentation format of DNSKEY resource.</t>
        <t>Note that the hashes are mandatory in the syntax, but the keys are optional.</t>
        <section anchor="xml_syntax">
          <name>XML Syntax</name>
          <t>A RELAX NG Compact Schema <xref target="RELAX-NG"/> for the documents used to
publish trust anchors is given in Figure 1.</t>
          <artwork><![CDATA[
datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes"

start = element TrustAnchor {
    attribute id { xsd:string },
    attribute source { xsd:string },
    element Zone { xsd:string },

    keydigest+
}

keydigest = element KeyDigest {
    attribute id { xsd:string },
    attribute validFrom { xsd:dateTime },
    attribute validUntil { xsd:dateTime }?,

    element KeyTag {
            xsd:nonNegativeInteger { maxInclusive = "65535" } },
    element Algorithm {
            xsd:nonNegativeInteger { maxInclusive = "255" } },
    element DigestType {
            xsd:nonNegativeInteger { maxInclusive = "255" } },
    element Digest { xsd:hexBinary },
    element PublicKey { xsd:base64Binary }?
}
                           Figure 1
]]></artwork>
        </section>
        <section anchor="xml_semantics">
          <name>XML Semantics</name>
          <t>The TrustAnchor element is the container for all of the trust anchors
in the file.</t>
          <t>The id attribute in the TrustAnchor element is an opaque string that
identifies the set of trust anchors.  Its value has no particular
semantics.  Note that the id element in the TrustAnchor element is
different than the id element in the KeyDigest element, described
below.</t>
          <t>The source attribute in the TrustAnchor element gives information
about where to obtain the TrustAnchor container.  It is likely to be
a URL and is advisory only.</t>
          <t>The Zone element in the TrustAnchor element states to which DNS zone
this container applies.  The root zone is indicated by a single
period (.) character without any quotation marks.</t>
          <t>The TrustAnchor element contains one or more KeyDigest elements.
Each KeyDigest element represents the digest of a DNSKEY record in
the zone defined in the Zone element.</t>
          <t>The id attribute in the KeyDigest element is an opaque string that
identifies the hash.
Note that the id element in the KeyDigest element is different than
the id element in the TrustAnchor element described above.</t>
          <t>The validFrom and validUntil attributes in the KeyDigest element specify
the range of times that the KeyDigest element can be used as a trust anchor.
Note that the validUntil attribute of the KeyDigest element is optional.
If the relying party is using a trust anchor that has a KeyDigest element
that does not have a validUntil attribute, it can change to a trust anchor
with a KeyDigest element that does have a validUntil attribute,
as long as that trust anchor's validUntil attribute is in the future and the
DNSKEY elements of the KeyDigest are the same as the previous trust anchor.
Relying parties <bcp14>SHOULD NOT</bcp14> use a KeyDigest outside of the time range given
in the validFrom and validUntil attributes.</t>
          <t>The KeyTag element in the KeyDigest element contains the key tag for
the DNSKEY record represented in this KeyDigest.</t>
          <t>The Algorithm element in the KeyDigest element contains the signing
algorithm identifier for the DNSKEY record represented in this
KeyDigest.</t>
          <t>The DigestType element in the KeyDigest element contains the digest
algorithm identifier for the DNSKEY record represented in this
KeyDigest.</t>
          <t>The Digest element in the KeyDigest element contains the hexadecimal
representation of the hash for the DNSKEY record represented in this
KeyDigest.</t>
          <t>The PublicKey element in the KeyDigest element contains the base64
representation of the public key represented in this KeyDigest.
The PublicKey is optional and is new in this version of the specification.</t>
        </section>
        <section anchor="conversion-example">
          <name>Converting from XML to DS Records</name>
          <t>The display format for the DS record that is the equivalent of a
KeyDigest element can be constructed by marshaling the KeyTag,
Algorithm, DigestType, and Digest elements.  For example, assume that
the TrustAnchor element contains:</t>
          <artwork><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<TrustAnchor
   id="AD42165F-3B1A-4778-8F42-D34A1D41FD93"
   source="http://data.iana.org/root-anchors/root-anchors.xml">
<Zone>.</Zone>
<KeyDigest id="Kjqmt7v" validFrom="2010-07-15T00:00:00+00:00">
<KeyTag>19036</KeyTag>
<Algorithm>8</Algorithm>
<DigestType>2</DigestType>
<Digest>
49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5
</Digest>
<PublicKey>
AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF
FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX
bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD
X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz
W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS
Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq
QxA+Uk1ihz0=
</PublicKey>
</KeyDigest>
</TrustAnchor>
]]></artwork>
          <t>The DS record would be:</t>
          <artwork><![CDATA[
. IN DS 19036 8 2
   49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5
]]></artwork>
        </section>
        <section anchor="converting-from-xml-to-dnskey-records">
          <name>Converting from XML to DNSKEY Records</name>
          <t>The display format for the DNSKEY record that is the equivalent of a KeyDigest element can be constructed by marshaling the
Algorithm and PublicKey elements with some constants.
For example, assume that the TrustAnchor element is the same as in <xref target="conversion-example"/>.
The DNSKEY record would be:</t>
          <artwork><![CDATA[
. IN DNSKEY 257 3 8
   AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF
   FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX
   bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD
   X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz
   W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS
   Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq
   QxA+Uk1ihz0=   
]]></artwork>
        </section>
        <section anchor="xml-example">
          <name>XML Example</name>
          <t>Figure 2 describes two fictitious trust anchors for the root zone.</t>
          <artwork><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>

<!-- Note that these trust anchors are fictitious. -->

<TrustAnchor
    id="AD42165F-B099-4778-8F42-D34A1D41FD93"
    source="http://data.iana.org/root-anchors/root-anchors.xml">
    <Zone>.</Zone>
    <KeyDigest id="42"
               validFrom="2010-07-01T00:00:00-00:00"
               validUntil="2010-08-01T00:00:00-00:00"> <!-- This key
    is no longer valid, since validUntil is in the past -->
        <KeyTag>34291</KeyTag>
        <Algorithm>5</Algorithm>
        <DigestType>1</DigestType>
        <Digest>c8cb3d7fe518835490af8029c23efbce6b6ef3e2</Digest>
    </KeyDigest>
    <KeyDigest id="53"
               validFrom="2010-08-01T00:00:00-00:00">
        <KeyTag>12345</KeyTag>
        <Algorithm>5</Algorithm>
        <DigestType>1</DigestType>
        <Digest>a3cf809dbdbc835716ba22bdc370d2efa50f21c7</Digest>
    </KeyDigest>
</TrustAnchor>

                           Figure 2
]]></artwork>
        </section>
      </section>
    </section>
    <section anchor="retrieving">
      <name>Root Zone Trust Anchor Retrieval</name>
      <section anchor="retrieving-trust-anchors-with-https-and-http">
        <name>Retrieving Trust Anchors with HTTPS and HTTP</name>
        <t>Trust anchors are available for retrieval using HTTPS and HTTP.</t>
        <t>In this section, all URLs are given using the "https:" scheme.  If
HTTPS cannot be used, replace the "https:" scheme with "http:".</t>
        <t>The URL for retrieving the set of hashes described in <xref target="hashes"/> is
&lt;https://data.iana.org/root-anchors/root-anchors.xml&gt;.</t>
      </section>
    </section>
    <section anchor="trusting_anchors">
      <name>Accepting DNSSEC Trust Anchors</name>
      <t>A validator operator can choose whether or not to accept the trust
anchors described in this document using whatever policy they want.
In order to help validator operators verify the content and origin of
trust anchors they receive, IANA uses digital signatures that chain
to an ICANN-controlled Certificate Authority (CA) over the trust
anchor data.</t>
      <t>It is important to note that the ICANN CA is not a DNSSEC trust
anchor.  Instead, it is an optional mechanism for verifying the
content and origin of the XML and certificate trust anchors.</t>
      <t>The content and origin of the XML file can be verified using a
digital signature on the file.  IANA provides a detached
Cryptographic Message Syntax (CMS) <xref target="RFC5652"/> signature that chains to
the ICANN CA with the XML file.  The URL for a detached CMS signature
for the XML file is
&lt;https://data.iana.org/root-anchors/root-anchors.p7s&gt;.</t>
      <t>Another method IANA uses to help validator operators verify the
content and origin of trust anchors they receive is to use the
Transport Layer Security (TLS) protocol for distributing the trust
anchors.  Currently, the CA used for data.iana.org is well known,
that is, one that is a WebTrust-accredited CA.  If a system
retrieving the trust anchors trusts the CA that IANA uses for the
"data.iana.org" web server, HTTPS <bcp14>SHOULD</bcp14> be used instead of HTTP in
order to have assurance of data origin.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document describes how DNSSEC trust anchors for the root zone of
the DNS are published.  Many DNSSEC clients will only configure IANA-
issued trust anchors for the DNS root to perform validation.  As a
consequence, reliable publication of trust anchors is important.</t>
      <t>This document aims to specify carefully the means by which such trust
anchors are published, with the goal of making it easier for those
trust anchors to be integrated into user environments.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC1034">
          <front>
            <title>Domain names - concepts and facilities</title>
            <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
            <date month="November" year="1987"/>
            <abstract>
              <t>This RFC is the revised basic definition of The Domain Name System. It obsoletes RFC-882. This memo describes the domain style names and their used for host address look up and electronic mail forwarding. It discusses the clients and servers in the domain name system and the protocol used between them.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="13"/>
          <seriesInfo name="RFC" value="1034"/>
          <seriesInfo name="DOI" value="10.17487/RFC1034"/>
        </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>
        <reference anchor="RFC4033">
          <front>
            <title>DNS Security Introduction and Requirements</title>
            <author fullname="R. Arends" initials="R." surname="Arends"/>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <author fullname="M. Larson" initials="M." surname="Larson"/>
            <author fullname="D. Massey" initials="D." surname="Massey"/>
            <author fullname="S. Rose" initials="S." surname="Rose"/>
            <date month="March" year="2005"/>
            <abstract>
              <t>The Domain Name System Security Extensions (DNSSEC) add data origin authentication and data integrity to the Domain Name System. This document introduces these extensions and describes their capabilities and limitations. This document also discusses the services that the DNS security extensions do and do not provide. Last, this document describes the interrelationships between the documents that collectively describe DNSSEC. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4033"/>
          <seriesInfo name="DOI" value="10.17487/RFC4033"/>
        </reference>
        <reference anchor="RFC5011">
          <front>
            <title>Automated Updates of DNS Security (DNSSEC) Trust Anchors</title>
            <author fullname="M. StJohns" initials="M." surname="StJohns"/>
            <date month="September" year="2007"/>
            <abstract>
              <t>This document describes a means for automated, authenticated, and authorized updating of DNSSEC "trust anchors". The method provides protection against N-1 key compromises of N keys in the trust point key set. Based on the trust established by the presence of a current anchor, other anchors may be added at the same place in the hierarchy, and, ultimately, supplant the existing anchor(s).</t>
              <t>This mechanism will require changes to resolver management behavior (but not resolver resolution behavior), and the addition of a single flag bit to the DNSKEY record. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="74"/>
          <seriesInfo name="RFC" value="5011"/>
          <seriesInfo name="DOI" value="10.17487/RFC5011"/>
        </reference>
        <reference anchor="RFC5652">
          <front>
            <title>Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="September" year="2009"/>
            <abstract>
              <t>This document describes the Cryptographic Message Syntax (CMS). This syntax is used to digitally sign, digest, authenticate, or encrypt arbitrary message content. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="70"/>
          <seriesInfo name="RFC" value="5652"/>
          <seriesInfo name="DOI" value="10.17487/RFC5652"/>
        </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="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="DPS" target="https://www.iana.org/dnssec/procedures">
          <front>
            <title>DNSSEC Practice Statement for the Root Zone KSK Operator</title>
            <author>
              <organization>Root Zone KSK Operator Policy Management Authority</organization>
            </author>
            <date year="2020"/>
          </front>
        </reference>
        <reference anchor="RELAX-NG" target="https://www.oasis-open.org/committees/relax-ng/compact-20021121.html">
          <front>
            <title>RELAX NG Compact Syntax</title>
            <author initials="J." surname="Clark" fullname="James Clark">
              <organization/>
            </author>
            <date year="2002"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 445?>

<section anchor="historical-note">
      <name>Historical Note</name>
      <t>The first KSK for use in the root zone of the DNS was
generated at a key ceremony at an ICANN Key Management Facility
(KMF) in Culpeper, Virginia, USA on 2010-06-16.  This key
entered production during a second key ceremony held at an
ICANN KMF in El Segundo, California, USA on 2010-07-12.
The resulting trust anchor was first published on 2010-07-15.</t>
      <t>The second KSK for use in the root zone of the DNS was
[ MORE GOES HERE ].</t>
    </section>
    <section anchor="acknowledgemwents">
      <name>Acknowledgemwents</name>
      <t>Many pioneers paved the way for the deployment of DNSSEC in the root
zone of the DNS, and the authors hereby acknowledge their substantial
collective contribution.</t>
      <t>RFC 7958 incorporated suggestions made by Alfred Hoenes and Russ
Housley, whose contributions are appreciated.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
Z3z6eX7oNj6eNPp3cdd58+XwRe9uujEYJichjG6cj4Pxaevs6tXg+jb8wEbj
I/FWvrt8k37sTyft7fNP77uv3uy+C87eHd1ebrx7ebq5u3W28ebT7fXncWej
P06dqDURR+zD1mC41fsQhR+3dk7VzeW7z4PGp+H87q4pou7dzfmu69/1p/LD
9knv1eFhkna3XrRP30R37H1netFtTe96V2efX12+2jkdfTnectW7raPw8M3d
JPUb6sWJ8+Lio78Np3Q/jD91tiFoGbI3YiLTX7yo615dvWp1umpw1Q3T0c7F
+QvndPYl7s4Gp68PL5vueD79eLh5vn0dnAep/4W9ue3+8va66U3vGs+B8QV+
kzZkgtgoKPyBTj+vSgAwNw2Ixo7q/OQcfyXF4ju8hYr/lzUjS3sfAjNzP6YB
7XHoKvmDR+Dr4bD0UfjKYYuQasWZmGtZ6qykhcRq4baAX48l2MWwiy7318D4
V+1QyqdeKzM9otXZ5m2+g1L7acPDgsXP2h7M/Wnzg7k/bYEw96eNEOb+tB3i
3IIpwtdyjaev5ciYKQG1ig091DPqJHivm37zLqT+Q44u7+LO1FAtVYco9M/3
r3Pq2lz2kGUXedjY3X3MRf41H4kLLPlJelT2lZutynKtbY3XbDQzr1nTXnPt
JEo37KydNbMOOHGSLpGu9QscFMSFlKRB+EzLVE2fVCGFyVOySADlyFy7s/Xe
7c3WbjP33tnPuePulLx4NqDgv5tlb7405MDZcUZtd3ssO82dnXZnc7chxjuN
1q7TasvxyJFboy05bstW7rtpdtGHrBFBp/1tEaxl5goLmq32ZufvZYFoO3Dk
XXfkjhxgATiskWi1Rq7T3m64LTkWnca41XS2H2HBkhv9jlJvy8DAQ5elA90x
CFnB/RPTPQgG/JUuFgfZ99Ic43leXl1dDsk34SfwlSs2LW6E59O9HfWOZzvp
qkh5vu3GzS83q1ROfjs41YvpS5v8rYGKviyvcIVXMXgFdzJmek18oShMbOGn
iomSLxy5bpo+ikYJ28aDFdACwXbD8p3hUjucuWr9ikXh4k3+D+CO6bp8wrsO
9tsXuhLLzL9/Yvtu/zCz6bLM3EwC3bYr0VSHwhAA177sAU+RNVgsol3yWn3W
ePtIg6Hm/hxwHLt6eKRfbcJ2E2rpqZc63vHllzVUKd2pvMiuD+hyExtYYm+i
+5CXO0Yp13UkKIC5i6Z2LBeGJ9iLttRATe3M2KkOp6e+3Rrugq/JwJF6GPRR
Yivz97D40173Gae3hJbZwUmAoJsUKOX32gk1RhVCK9qJ97oakxNdAl5uqkQl
1a8wUPXOlnBNWp71p5L2aS7ZYHAto7LbfHzqFE62rrH08RXwZsaGpbaT3FYv
2Qqn7VU+3edw82JMHN54LjWoYaszWJfLeqV2wjPdamive5/2zobPTCfpVqcF
tpOvnwsSrxBYicHZ7XX2opa+O7Bmm+/PYYd8UWYjmey8P2mr0bYyttoFSaNV
6d7cgm5+n/o/JNUH1Z+C9dA2YQDiikChRvJTsQAyslchnl6dAmuzjtyVbucV
owcW9tIYS/3+QjcH97q6aj62NmAZgzTMJSAzvhoXVJnJfKp0iWLTIMHfyxHB
Vg1wJsY+JhRHl1A6awZkSwi7dHD8piwxtHLOYCNLVinRVtF9JTKmnkPtDExx
2N4CFF4hwt/xaiZHLKqGQ84EfHWoZoyrG8kQNGcc7mE3hYsitQ3C65uS8Q24
b/aWr/S6l152s33CZhn9EhD6YLxsxV6Z/FUg5E+NeXAC7IBYux8uT3vCec0r
DlZLsdQH2ZqiHvJAQRqLTV/oPn2PvPijL1gU4XHl5QHhzUhzzS0OIE0sx6nv
ay+gX5YZLcxVIXUvl31SiSHVHAImoaAb55m4RiUCTJVC5bXkEHumy0qV9VwC
KunCqTYoSIiDGy8OA3Plp19hGgnnGuX+EqwH1AAb+DCVMa36Xgwr40t5uBsa
5fJricV3TOZCsYkMpN6W3gsqvYJITWEG5TDNL7wwfCwcz8f3hZ++Pjt+hrv0
Uj+SESr5Oy8G5fRElb8ddhGXddC7VWtu2V55zBawShxTp499D4u7aawvpyDe
CgGAStQAemkiA2ZIOjvGjfs+2MAkDdywynugNnDy1c23a82WLheAU059DTnF
GzBsD9Tcy3uii7M79kJcU/YjLP7Pv/nZxaDPX1z0h/xlHz79578mqkLAghgA
mDpHGTNGZhUBLyT2rUXixvREznW1x7RIRX64mJlijrHBAhFsiYj8dWDzsjL1
2eIFdr4//uzF+p0M7EAQPhgchCf6DUmKVsxbH0C5bU3F5tMwBgMj/VHpBDMC
/eKLcCVaT9cfo4hfhjIw7YCDVCn2EnJqXy7wTaFQlZc3YXoUgX/xTLPm/wOD
ou50eEIAAA==

-->

</rfc>
