The usage of MD5 and SHA-1 for signature hashing in (D)TLS 1.2 is specified in [
RFC 5246]. MD5 and SHA-1 have been proven to be insecure, subject to collision attacks [
Wang]. In 2011, [
RFC 6151] detailed the security considerations, including collision attacks for MD5. NIST formally deprecated use of SHA-1 in 2011 [
NISTSP800-131A-R2] and disallowed its use for digital signatures at the end of 2013, based on both the attack described in [
Wang] and the potential for brute-force attack. In 2016, researchers from the National Institute for Research in Digital Science and Technology (INRIA) identified a new class of transcript collision attacks on TLS (and other protocols) that relies on efficient collision-finding algorithms on the underlying hash constructions [
Transcript-Collision]. Further, in 2017, researchers from Google and Centrum Wiskunde & Informatica (CWI) Amsterdam [
SHA-1-Collision] proved SHA-1 collision attacks were practical. This document updates [
RFC 5246] in such a way that MD5 and SHA-1
MUST NOT be used for digital signatures. However, this document does not deprecate SHA-1 with HMAC, as used in record protection. Note that the CA/Browser Forum (CABF) has also deprecated use of SHA-1 for use in certificate signatures [
CABF].
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 [
RFC 2119] [
RFC 8174] when, and only when, they appear in all capitals, as shown here.