<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.6 (Ruby 3.2.4) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc docmapping="yes"?>

<rfc ipr="trust200902" docName="draft-hardaker-dnsop-must-not-sha1-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="MUST NOT DNSSEC with SHA-1">Remove SHA-1 from active use within DNSSEC</title>

    <author initials="W." surname="Hardaker" fullname="Wes Hardaker">
      <organization>USC/ISI</organization>
      <address>
        <email>ietf@hardakers.net</email>
      </address>
    </author>
    <author initials="W." surname="Kumari" fullname="Warren Kumari">
      <organization>Google</organization>
      <address>
        <email>warren@kumari.net</email>
      </address>
    </author>

    <date year="2024" month="May" day="14"/>

    
    
    

    <abstract>


<?line 51?>

<t>This document retires the use of SHA-1 within DNSSEC.</t>



    </abstract>



  </front>

  <middle>


<?line 55?>

<section anchor="introduction"><name>Introduction</name>

<t>The security of the SHA-1 algorithm <xref target="RFC3174"/> has been slowly
diminishing over time as various forms of attacks have weakened its
cryptographic underpinning.  DNSSEC <xref target="RFC4033"/> <xref target="RFC4034"/>
<xref target="RFC4035"/> originally made extensive use of SHA-1 as a cryptographic
verification algorithm in RRSIG and Delegation Signer (DS) records,
for example.  Since then, multiple other signing algorithms with
stronger cryptographic strength are now widely available for DS
records (such as SHA-256 <xref target="RFC4509"/>, SHA-384 (<xref target="RFC6605"/>)) and for
DNSKEY and RRSIG records (such as RSASHA256 (<xref target="RFC5702"/>), RSASHA512
(<xref target="RFC5702"/>), ECDSAP256SHA256 <xref target="RFC6605"/>, ECDSAP384SHA384
<xref target="RFC6605"/>, ED25519 <xref target="RFC8080"/>, and ED448 <xref target="RFC8080"/>). Further,
support for validating SHA-1 based signatures has been removed from
some systems. As a result, SHA-1 is no longer fully interoperable in
the context of DNSSEC. As adequate alternatives exist, its use is no
longer advisable.</t>

<t>This document thus deprecates the use of RSASHA1 and RSASHA1-NSEC3-SHA1
for DNS Security Algorithms.</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.</t>

</section>
</section>
<section anchor="deprecating-sha-1-algorithms-in-dnssec"><name>Deprecating SHA-1 algorithms in DNSSEC</name>

<t>The RSASHA1 <xref target="RFC4034"/>, DSA-NSEC3-SHA1 <xref target="RFC5155"/>, and
RSASHA1-NSEC3-SHA1 <xref target="RFC5155"/> algorithms MUST NOT be used when
creating DNSKEY and RRSIG records.</t>

<t>Validating resolvers SHOULD support validation using these algorithms
but MAY treat RRSIG records created from DNSKEY records using these
algorithms as an unsupported algorithm.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>This document reduces the risk that a zone cannot be validated due
to lack of SHA-1 support in a validator, by guiding signers to choose
a more interoperable signing algorithm.</t>

</section>
<section anchor="operational-considerations"><name>Operational Considerations</name>

<t>Zone owners currently making use of SHA-1 based algorithms should
immediately switch to algorithms with stronger cryptographic strengths,
such as those listed in the introduction.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>IANA is requested to set the "Status" field of the "Digest
Algorithms" registry <xref target="DS-IANA"/> for SHA-1 (1) to OPTIONAL.</t>

<t>IANA is requested to set the "Recommended for DNSSEC Signing"
column of the DNS Security Algorithm Numbers registry <xref target="DNSKEY-IANA"/>
to MUST NOT:</t>

<t><list style="symbols">
  <t>RSASHA1 (5)</t>
  <t>RSASHA1-NSEC3-SHA1 (7)</t>
</list></t>

<t>IANA is requested to set the "Recommended for DNSSEC Validation"
column of the DNS Security Algorithm Numbers registry <xref target="DNSKEY-IANA"/>
to SHOULD:</t>

<t><list style="symbols">
  <t>RSASHA1 (5)</t>
  <t>RSASHA1-NSEC3-SHA1 (7)</t>
</list></t>

</section>


  </middle>

  <back>


    <references title='Normative References' anchor="sec-normative-references">



<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="RFC3174">
  <front>
    <title>US Secure Hash Algorithm 1 (SHA1)</title>
    <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
    <author fullname="P. Jones" initials="P." surname="Jones"/>
    <date month="September" year="2001"/>
    <abstract>
      <t>The purpose of this document is to make the SHA-1 (Secure Hash Algorithm 1) hash algorithm conveniently available to the Internet community. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3174"/>
  <seriesInfo name="DOI" value="10.17487/RFC3174"/>
</reference>

<reference anchor="RFC3685">
  <front>
    <title>SIEVE Email Filtering: Spamtest and VirusTest Extensions</title>
    <author fullname="C. Daboo" initials="C." surname="Daboo"/>
    <date month="February" year="2004"/>
    <abstract>
      <t>The SIEVE mail filtering language "spamtest" and "virustest" extensions permit users to use simple, portable commands for spam and virus tests on email messages. Each extension provides a new test using matches against numeric 'scores'. It is the responsibility of the underlying SIEVE implementation to do the actual checks that result in values returned by the tests. [PROPOSED STANDARD]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3685"/>
  <seriesInfo name="DOI" value="10.17487/RFC3685"/>
</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="RFC4034">
  <front>
    <title>Resource Records for the DNS Security Extensions</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>This document is part of a family of documents that describe the DNS Security Extensions (DNSSEC). The DNS Security Extensions are a collection of resource records and protocol modifications that provide source authentication for the DNS. This document defines the public key (DNSKEY), delegation signer (DS), resource record digital signature (RRSIG), and authenticated denial of existence (NSEC) resource records. The purpose and format of each resource record is described in detail, and an example of each resource record is given.</t>
      <t>This document obsoletes RFC 2535 and incorporates changes from all updates to RFC 2535. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4034"/>
  <seriesInfo name="DOI" value="10.17487/RFC4034"/>
</reference>



<reference anchor="RFC4035">
<front>
<title>Protocol Modifications for the DNS Security Extensions</title>
<author fullname="R. Arends" initials="R." surname="Arends"><organization/></author>
<author fullname="R. Austein" initials="R." surname="Austein"><organization/></author>
<author fullname="M. Larson" initials="M." surname="Larson"><organization/></author>
<author fullname="D. Massey" initials="D." surname="Massey"><organization/></author>
<author fullname="S. Rose" initials="S." surname="Rose"><organization/></author>
<date month="March" year="2005"/>
<abstract><t>This document is part of a family of documents that describe the DNS Security Extensions (DNSSEC).  The DNS Security Extensions are a collection of new resource records and protocol modifications that add data origin authentication and data integrity to the DNS.  This document describes the DNSSEC protocol modifications.  This document defines the concept of a signed zone, along with the requirements for serving and resolving by using DNSSEC.  These techniques allow a security-aware resolver to authenticate both DNS resource records and authoritative DNS error indications. </t><t> This document obsoletes RFC 2535 and incorporates changes from all updates to RFC 2535.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name="RFC" value="4035"/>
<seriesInfo name="DOI" value="10.17487/RFC4035"/>
</reference>

<reference anchor="RFC4509">
  <front>
    <title>Use of SHA-256 in DNSSEC Delegation Signer (DS) Resource Records (RRs)</title>
    <author fullname="W. Hardaker" initials="W." surname="Hardaker"/>
    <date month="May" year="2006"/>
    <abstract>
      <t>This document specifies how to use the SHA-256 digest type in DNS Delegation Signer (DS) Resource Records (RRs). DS records, when stored in a parent zone, point to DNSKEYs in a child zone. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4509"/>
  <seriesInfo name="DOI" value="10.17487/RFC4509"/>
</reference>

<reference anchor="RFC5155">
  <front>
    <title>DNS Security (DNSSEC) Hashed Authenticated Denial of Existence</title>
    <author fullname="B. Laurie" initials="B." surname="Laurie"/>
    <author fullname="G. Sisson" initials="G." surname="Sisson"/>
    <author fullname="R. Arends" initials="R." surname="Arends"/>
    <author fullname="D. Blacka" initials="D." surname="Blacka"/>
    <date month="March" year="2008"/>
    <abstract>
      <t>The Domain Name System Security (DNSSEC) Extensions introduced the NSEC resource record (RR) for authenticated denial of existence. This document introduces an alternative resource record, NSEC3, which similarly provides authenticated denial of existence. However, it also provides measures against zone enumeration and permits gradual expansion of delegation-centric zones. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5155"/>
  <seriesInfo name="DOI" value="10.17487/RFC5155"/>
</reference>

<reference anchor="RFC5702">
  <front>
    <title>Use of SHA-2 Algorithms with RSA in DNSKEY and RRSIG Resource Records for DNSSEC</title>
    <author fullname="J. Jansen" initials="J." surname="Jansen"/>
    <date month="October" year="2009"/>
    <abstract>
      <t>This document describes how to produce RSA/SHA-256 and RSA/SHA-512 DNSKEY and RRSIG resource records for use in the Domain Name System Security Extensions (RFC 4033, RFC 4034, and RFC 4035). [STANDARDS TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5702"/>
  <seriesInfo name="DOI" value="10.17487/RFC5702"/>
</reference>

<reference anchor="RFC6605">
  <front>
    <title>Elliptic Curve Digital Signature Algorithm (DSA) for DNSSEC</title>
    <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
    <author fullname="W.C.A. Wijngaards" initials="W.C.A." surname="Wijngaards"/>
    <date month="April" year="2012"/>
    <abstract>
      <t>This document describes how to specify Elliptic Curve Digital Signature Algorithm (DSA) keys and signatures in DNS Security (DNSSEC). It lists curves of different sizes and uses the SHA-2 family of hashes for signatures. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6605"/>
  <seriesInfo name="DOI" value="10.17487/RFC6605"/>
</reference>

<reference anchor="RFC8080">
  <front>
    <title>Edwards-Curve Digital Security Algorithm (EdDSA) for DNSSEC</title>
    <author fullname="O. Sury" initials="O." surname="Sury"/>
    <author fullname="R. Edmonds" initials="R." surname="Edmonds"/>
    <date month="February" year="2017"/>
    <abstract>
      <t>This document describes how to specify Edwards-curve Digital Security Algorithm (EdDSA) keys and signatures in DNS Security (DNSSEC). It uses EdDSA with the choice of two curves: Ed25519 and Ed448.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8080"/>
  <seriesInfo name="DOI" value="10.17487/RFC8080"/>
</reference>


<reference anchor="DNSKEY-IANA" target="https://www.iana.org/assignments/dns-sec-alg-numbers/dns-sec-alg-numbers.xhtml">
  <front>
    <title>Domain Name System Security (DNSSEC) Algorithm Numbers</title>
    <author initials="" surname="IANA" fullname="IANA">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </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></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>


    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC8499">
  <front>
    <title>DNS Terminology</title>
    <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
    <author fullname="A. Sullivan" initials="A." surname="Sullivan"/>
    <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
    <date month="January" year="2019"/>
    <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 sometimes 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 obsoletes RFC 7719 and updates RFC 2308.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8499"/>
  <seriesInfo name="DOI" value="10.17487/RFC8499"/>
</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>


<?line 128?>

<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>TBD</t>

</section>
<section anchor="current-algorithm-usage-levels"><name>Current algorithm usage levels</name>

<t>The DNSSEC scanning project by Viktor Dukhovni and Wes Hardaker
highlights the current deployment of various algorithms on the
https://stats.dnssec-tools.org/ website.</t>

<t>[RFC Editor: please delete this section upon publication]</t>

</section>
<section anchor="github-version-of-this-document"><name>Github Version of this document</name>

<t>While this document is under development, it can be viewed, tracked,
fill here:</t>

<t>https://github.com/hardaker/draft-hardaker-dnsop-must-not-sha1</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA61YXXPbthJ9x6/AKC/2jChbtpU4erlVLSf1NLFzJSeZttPp
QCREoSIBFgCtqB3/954FSImy22Zu5z7YBkFgP8+eXTpJEuaVL+SY92ayNA+S
z7+bJEO+tKbkIvUKO7WTfKP8Smk+vZ3Pr696TCwWVj6M+fuP83t+e3ffvAjH
ogSWmVSLEoIzK5Y+WQmbibW0SaadqZKydj7RxiduJYbJ6RlLhZe5sdsxdz5j
qrJj7i0OnZ2evsZr560U5ZjfXN+/YXgSOvtFFEZD/lY6Vqkx/8mbtM+dsTi6
dFhty7iAJaWoKqXznxkTtV8ZO2acJ/jhXGk35p8H/LvGvrAZDf8s3eG2sfmY
f5xfndzMb8KGLIUqxlxJv/ymddANtPTPxH9fl8KqrnBhrdTd/SD9rTF5IbvC
N+HgN+twMMhm2thSUGrIjdmbq7Ph8HWzPB++umiXLy9HzfLi9Px8v7zYL3cH
RqethNFw1O6OXp2eNcuXL0/b3cvTy1NaIuXfX/+Q3ExuJ+Ng8D60ezfpbdjw
wubSA2Yr7ys3PjnZbDYDJbQYwO8T4ZzKdSm1dycASOJkmogiT3RdLhDSv9ob
fFn5suhF4RHCU4OQaX4LzXy+dV6WfC7T2iq/5UcRocd8UgBmgGnJb6MgcmX+
r9z4Ry9cYm3it5V0hzbKQuZIntF8jsPSwrL5MZ9JZ2qbSixSYzN+NJsd83vc
5lOVS+f3ZjvGlF4+QcDlxWvkj7EkSbhYoFhQuozdr5Qj9NdkErfSKwtI+1Us
abNsav2gtgdRSKmyDDhkL/iN9tZkdUomk0jJXRtTSCBhUYrYxfWPPxogPj7y
lXB8IQF0V5hNsWWZKpVWDvpyDraxCAuShUMPQLepHSfPHEkW3ot07SABFLSR
KC0tM668Y6ndVt7kVlQrlfJaZ9KiuDVEDnhLRMEGgj1saNewh7XrEfZhbq60
KIotL0UmufzipXYt4+3CA+MEP9DJYLhaqjSmce84gjibzW/ecrDT3yXahvy6
PoOj0CjKqpAwe640ko9o6j4v68IrbHODZ8sJUxSunR4XMkaUaHSOA4fxIKbU
OWhYWMm12eBwJuGieACdiAXEkubpnDWW8CNXpyvyktw9G71s4gVGeHzsh83z
ywt+FHaJBh4fj4+Dh5DDIgmEx+j6M6mz+QQySG4UQaQCEf3mxWh4xp68uL6a
zicfcKO519HcvoRFeInf7PDl9Gw0Gr6ON4inaJNsu55eXFx2t48H/E1tKb59
5uqqQtcIcXkQhcqQNcQ7Zn8hHGBHORC+pvLZIdqGfpmFVsmcAYxd4Bw34BOC
DA4jkf1GDipRG17EjC1rAp3SXlpTSRuyojSjYkoNdr94gl9TkEFaJn+r0SEB
AtzRofQd4KMcFKAmAmKDCtaoENmDciR48JQH/ApllskKmYLEAz6IKRnGdMZ1
cgsbzhNaBsjCqD2p7kkJWl68AHn9VoNjAgPCFi8iaYD9iDfWcss3ARw9mht6
/fiX5gdaz67/+/Fmdj2lNdS9e7dbxBMkBs93H981R2i1v3x19/799e003qeR
5MnW+8kPUQY517v7cH9zdzt516Oi9QfxobrxBjmOCUKcPLIsKGYutWohMxYa
O//26gMfXkRUUQsOVPMfgljkvk2oZlJnNNIdHxFt1GJVSWEbMSAgnopKeVFg
WIEetzIbzQFNyt0LEElM1R6THSbY8Xak5jaBHcrro9YnnSzGd9Tlm+JgzzPd
PdPVthv3FgEyWfAJfCyjdX9HBnDj076uUBemAIMS4YQUtvXX1h4Ys3Z0ErFy
sqOfLWrPkUdOw6B/QjjBiqYcW0vadx1xrOMOMTt06cYAynL7EiYj9DugXxk0
BvSZYJ173lnRH5tKssqtsYB5gv+O+RSp1agEiljjH9RktWSAWIEGt+8zbRgI
Eu1ZY/t8seV5rTLywIVG4gie6coY8oaXxsonVPKsYwQc3VWN/aJ45s+PZClQ
R8LhMjqID11xTWIOumHkw04Qgda6wMReljJT8A73HPoTyB9WPulZ/Cs9yxEZ
x7aBGQxqCxAcdX0dYqs6o0hwicayZ76ETaTHgoxkuA5DnPRBRG8OUqpdjy+V
LLJ2gunFIYvt+ayH6zmU2y1qoRkPUQvEgDEOR8NjktvyyOBremmuQ4gwrGS8
4VGaU+YxVT2WmqIudWvQX7NsO7Ee2LafwjHeQGNboxgHkx0fHI2O90/dQj96
dfwvLf+0q9b/o/GREf4H02lWXaCMCA2TdI15p5BZHhoQqvTbKe1fRUB3BrXa
iRzgkg+ycJE4G6ccVSthvrLmV5l6Kr5Pau3J7Xq9Mg9aBXo7+DRcqXxV4MdH
Bmjqh1psYbaBIBCYdr7tVIQJqGbtBxE+ar0b4EuHPnS8MYULHxWYfRdOeeoF
P4GU+XWmYM6YY0BEKUJLgf4UWxguRvas8KuqF0Uzov5MUXgLpfWCf0IK6EzI
VYfEGPu8UoV80guxDvM11CBWpqJNGjiI1QKlKbmRGboaPjjWWLClQjej1oUc
to7lQfMAKDppP5JPvv5PAcb+BARyhB+dEAAA

-->

</rfc>

