<?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.6 (Ruby 3.3.0) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dnsop-rfc7958bis-01" 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-01"/>
    <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="2024" month="March" day="04"/>
    <abstract>
      <?line 68?>

<!-- Notes for co-authors

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".

PH via Joe: Have an IANA Considerations section that specifies exactly what IANA should do
and no longer needs to do. 

PH via Joe: Be more explicit that the resulf of not doing the S/MIME and PGP signed 
files is that the distribution relies on the web PKI and gossip.

-->

<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 uses 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 93?>

<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"/>.</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>Removed the certificates and certificate signing mechanisms.</t>
          </li>
          <li>
            <t>Removed the detached OpenPGP signature mechanism.</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 Format and Semantics</name>
      <t>IANA publishes trust anchors for the root zone as an XML document that contains the hashes of the DNSKEY records
and optionally the keys from the DNSKEY records.</t>
      <t>This format and the semantics associated are described in
the rest of this section.</t>
      <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 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 in the XML file described in <xref target="ta_formats"/> is
&lt;https://data.iana.org/root-anchors/root-anchors.xml&gt;.</t>
      </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>
    <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 441?>

<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 the 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
generated at key ceremony #27 at the ICANN KMF in Culpeper, Virginia, USA on 2016-10-27.
This key entered production during key ceremony #28 held at
the ICANN KMF in El Segundo, California, USA on 2017-02-02.
The resulting trust anchor was first published on 2018-11-11.</t>
      <t>More information about the key ceremonies,
including full records of previous ceremonies and plans for future ceremonies,
can be found at &lt;https://www.iana.org/dnssec/ceremonies&gt;.</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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
bYKz5WJ/DjsUizIX3uTn/Uljjbe1NdY+SBqtyjQLV9+v+A71v0+q96o/BfDK
NWUADItIo0byE7EAMvJXKB5fnQBr8xbhlfbrFaMHFg6yBIv/4cJ0Kw/6po4+
djbgGIM0zCXA9XWk5lGd2WyoTtcqLjUS/L0cEWw1AGcSbKxCcfQJuvPuRLYE
u0sHx2/aEZPm7y8Rg60sWa1CW830mciEmiCNh7DlYncvUHr/Cn/Hy5oCsag+
DnkU8NWjKjKubiVDjUk5h6svX93fvD9V8283u68036MTzNtXXeOyXca8MoSO
Ga9fsXemeHEI+dNgAZwAWyLW7ofL055wXvtqhNNSLP5BBqepqT3SkNpiP1id
3soi1/7gixlleFx5m0EEM9Jce68DSJPIceZ6pMxLNqOFvTykduqqT6owpF5A
wEQJuoOeiWtUIsBUKXRRXVbYxF1VqrwJFFDJlFKNQUGSHN0EiYrsJaB59Wkk
vGuU+0uwHlAD7CjE/Ma+OxAksDK+KIq7oVHaSGHtuylzodlERtJsS+8TYVkX
YFvOFIi34kcw9y+9bXokvCDEl00fvz49eoLbDLIwljFq+bsgAe0MRJ2/HfYR
mE0ovNVob7nufcwhsHCcUOuPe4GL+1li7qsgClOAQBVyAL4MlRGzJJ0e4caH
IRjBJIt8VecD0Bs4+urm2412x9QQ6P1AgznlSzFsHTTsK7q0y7N77o7cUPbT
PK4c6VFne4nL5kgP8xIY2Wp0tm37J/Vr3svKpe12HBfZyp7fZiOkkx34+5Ns
3Gm02w16t+JU0SshRVue6RxwF1WW3EDqOjP9tlQnA9vM++KAwfnVXDHcvGgY
ouWiaOwFYHm5yqtOwPjlltvlN6SLuS4WhlAYvQwEbmAIczRMOA9iYQwHkdh8
GAvX7To3ZTtz7wRZgFrMbFXOAmdJcdiS4tTz3kv7djJ1a2MfQrE//hwk5s0e
bCQRIaAkxJTmnWAKMe27Q0C5a3DGFmaVACqSQupsgrmdeX1K+BIhrx+OUZde
KhlZnl5mWrOXwOxQgi+eI4hVlrcJVwwyMb2hsN//A2cXngJpQgAA

-->

</rfc>
