Deprecating the Use of SHA-1 in DNSSEC Signature Algorithms
RFC 9905
Wes Hardaker
USC/ISI
ietf@hardakers.net
Warren Kumari
Google
warren@kumari.net
November 2025
OPS
dnsop
This document deprecates the use of the RSASHA1 and RSASHA1-NSEC3-SHA1 algorithms for the creation of DNS Public Key (DNSKEY) and Resource Record Signature (RRSIG) records.
It updates RFCs 4034 and 5155 as it deprecates the use of these algorithms.
Introduction
The security of the protection provided by the SHA-1 algorithm [RFC3174] has been slowly diminishing over time as various forms of attacks have weakened its cryptographic underpinning. DNSSEC [RFC9364] (originally defined in [RFC3110]) made extensive use of SHA-1, for example, as a cryptographic hash algorithm in Resource Record Signature (RRSIG) and Delegation Signer (DS) records. Since then, multiple other algorithms with stronger cryptographic strength have become widely available for DS records and for RRSIG and DNS Public Key (DNSKEY) records [RFC4034]. Operators are encouraged to consider switching to one of the recommended algorithms listed in the "DNS Security Algorithm Numbers" [DNSKEY-IANA] and "DNS Security Algorithm Numbers" [DS-IANA] registries, respectively. Further, support for validating SHA-1-based signatures has been removed from some systems. As a result, SHA-1 as part of a signature algorithm is no longer fully interoperable in the context of DNSSEC. As adequate alternatives exist, the use of SHA-1 is no longer advisable.
This document thus deprecates the use of RSASHA1 and RSASHA1-NSEC3-SHA1 for DNS Security Algorithms.
Requirements Notation
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 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
Deprecating SHA-1 from DNSSEC Signatures and Delegation RRs
The RSASHA1 [RFC4034] and RSASHA1-NSEC3-SHA1 [RFC5155] algorithms MUST NOT be used when creating DS records. Operators of validating resolvers MUST treat RSASHA1 and RSASHA1-NSEC3-SHA1 DS records as insecure. If no other DS records of accepted cryptographic algorithms are available, the DNS records below the delegation point MUST be treated as insecure.
The RSASHA1 [RFC4034] and RSASHA1-NSEC3-SHA1 [RFC5155] algorithms MUST NOT be used when creating DNSKEY and RRSIG records. Validating resolver implementations ([RFC9499], Section 10) MUST continue to support validation using these algorithms as they are diminishing in use but still actively in use for some domains as of this publication. Operators of validating resolvers MUST treat DNSSEC signing algorithms RSASHA1 and RSASHA1-NSEC3-SHA1 as unsupported, rendering responses insecure if they cannot be validated by other supported signing algorithms.
Security Considerations
This document deprecates the use of RSASHA1 and RSASHA1-NSEC3-SHA1 for DNSSEC delegation and DNSSEC signing since these algorithms are no longer considered to be secure.
Operational Considerations
Zone owners currently making use of SHA-1-based algorithms should immediately switch to algorithms with stronger cryptographic algorithms, such as the recommended algorithms in the IANA registries [DNSKEY-IANA] [DS-IANA].
Operators should take care when deploying software packages and operating systems that may have already removed support for the SHA-1 algorithm. In these situations, software may need to be manually built and deployed by an operator to continue supporting the required levels indicated by the "Use for DNSSEC Validation" and "Implement for DNSSEC Validation" columns, which this document is not changing.
IANA Considerations
IANA has updated the SHA-1 (1) entry in the "Digest Algorithms" registry [DS-IANA] [RFC9904] as follows and has added this document as a reference for the entry:
Value:
1
Description:
SHA-1
Use for DNSSEC Delegation:
MUST NOT
Use for DNSSEC Validation:
RECOMMENDED
Implement for DNSSEC Delegation:
MUST NOT
Implement for DNSSEC Validation:
MUST
IANA has updated the RSASHA1 (5) and RSASHA1-NSEC3-SHA1 (7) algorithm entries in the "DNS Security Algorithm Numbers" registry [DNSKEY-IANA] [RFC9904] as follows and has added this document as a reference for the entries:
Number:
5
Description:
RSA/SHA-1
Mnemonic:
RSASHA1
Zone Signing:
Y
Trans. Sec.:
Y
Use for DNSSEC Signing:
MUST NOT
Use for DNSSEC Validation:
RECOMMENDED
Implement for DNSSEC Signing:
NOT RECOMMENDED
Implement for DNSSEC Validation:
MUST
Number:
7
Description:
RSASHA1-NSEC3-SHA1
Mnemonic:
RSASHA1-NSEC3-SHA1
Zone Signing:
Y
Trans. Sec.:
Y
Use for DNSSEC Signing:
MUST NOT
Use for DNSSEC Validation:
RECOMMENDED
Implement for DNSSEC Signing:
NOT RECOMMENDED
Implement for DNSSEC Validation:
MUST
Normative References
[DNSKEY-IANA]

DNS Security Algorithm Numbers
IANA
[DS-IANA]

Digest Algorithms
IANA
[RFC9904]

DNSSEC Cryptographic Algorithm Recommendation Update Process
Wes Hardaker
USC/ISI
Warren Kumari
Google
November 2025
RFC 9904
DOI 10.17487/RFC9904
[RFC3174]
[RFC9364]
[RFC3110]
[RFC4034]
[RFC2119]
[RFC8174]
[RFC5155]
[RFC9499]
Acknowledgments
The authors appreciate the comments and suggestions from the following IETF participants in helping produce this document: Mark Andrews, Steve Crocker, Peter Dickson, Thomas Graf, Paul Hoffman, Russ Housley, Shumon Huque, Barry Leiba, S. Moonesamy, Yoav Nir, Florian Obser, Peter Thomassen, Stefan Ubbink, Paul Wouters, Tim Wicinski, and the many members of the DNSOP Working Group that discussed this specification.