Transport Layer Security (TLS) versions 1.0 [
RFC 2246] and 1.1 [
RFC 4346] were superseded by TLS 1.2 [
RFC 5246] in 2008, which has now itself been superseded by TLS 1.3 [
RFC 8446]. Datagram Transport Layer Security (DTLS) version 1.0 [
RFC 4347] was superseded by DTLS 1.2 [
RFC 6347] in 2012. Therefore, it is timely to further deprecate TLS 1.0, TLS 1.1, and DTLS 1.0. Accordingly, the aforementioned documents have been moved to Historic status.
Technical reasons for deprecating these versions include:
-
They require the implementation of older cipher suites that are no longer desirable for cryptographic reasons, e.g., TLS 1.0 makes TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA mandatory to implement.
-
There is a lack of support for current recommended cipher suites, especially authenticated encryption with associated data (AEAD) ciphers, which were not supported prior to TLS 1.2. Note that registry entries for no-longer-desirable ciphersuites remain in the registries, but many TLS registries were updated by [RFC 8447], which indicates that such entries are not recommended by the IETF.
-
The integrity of the handshake depends on SHA-1 hash.
-
The authentication of the peers depends on SHA-1 signatures.
-
Support for four TLS protocol versions increases the likelihood of misconfiguration.
-
At least one widely used library has plans to drop TLS 1.1 and TLS 1.0 support in upcoming releases; products using such libraries would need to use older versions of the libraries to support TLS 1.0 and TLS 1.1, which is clearly undesirable.
Deprecation of these versions is intended to assist developers as additional justification to no longer support older (D)TLS versions and to migrate to a minimum of (D)TLS 1.2. Deprecation also assists product teams with phasing out support for the older versions, to reduce the attack surface and the scope of maintenance for protocols in their offerings.
This document updates the following RFCs that normatively reference TLS 1.0, TLS 1.1, or DTLS 1.0. The update is to obsolete usage of these older versions. Fallback to these versions is prohibited through this update. Specific references to mandatory minimum protocol versions of TLS 1.0 or TLS 1.1 are replaced by TLS 1.2, and references to minimum protocol version DTLS 1.0 are replaced by DTLS 1.2. Statements that "TLS 1.0 is the most widely deployed version and will provide the broadest interoperability" are removed without replacement.
[
RFC 3261]
[
RFC 3329]
[
RFC 3436]
[
RFC 3470]
[
RFC 3501]
[
RFC 3552]
[
RFC 3568]
[
RFC 3656]
[
RFC 3749]
[
RFC 3767]
[
RFC 3856]
[
RFC 3871]
[
RFC 3887]
[
RFC 3903]
[
RFC 3943]
[
RFC 3983]
[
RFC 4097]
[
RFC 4111]
[
RFC 4162]
[
RFC 4168]
[
RFC 4217]
[
RFC 4235]
[
RFC 4261]
[
RFC 4279]
[
RFC 4497]
[
RFC 4513]
[
RFC 4531]
[
RFC 4540]
[
RFC 4582]
[
RFC 4616]
[
RFC 4642]
[
RFC 4680]
[
RFC 4681]
[
RFC 4712]
[
RFC 4732]
[
RFC 4785]
[
RFC 4791]
[
RFC 4823]
[
RFC 4851]
[
RFC 4964]
[
RFC 4975]
[
RFC 4976]
[
RFC 4992]
[
RFC 5018]
[
RFC 5019]
[
RFC 5023]
[
RFC 5024]
[
RFC 5049]
[
RFC 5054]
[
RFC 5091]
[
RFC 5158]
[
RFC 5216]
[
RFC 5238]
[
RFC 5263]
[
RFC 5281]
[
RFC 5364]
[
RFC 5415]
[
RFC 5422]
[
RFC 5456]
[
RFC 5734]
[
RFC 5878]
[
RFC 6012]
[
RFC 6042]
[
RFC 6083]
[
RFC 6084]
[
RFC 6176]
[
RFC 6353]
[
RFC 6367]
[
RFC 6739]
[
RFC 6749]
[
RFC 6750]
[
RFC 7030]
[
RFC 7465]
[
RFC 7525]
[
RFC 7562]
[
RFC 7568]
[
RFC 8261]
[
RFC 8422]
The status of [
RFC 7562], [
RFC 6042], [
RFC 5456], [
RFC 5024], [
RFC 4540], and [
RFC 3656] will be updated with permission of the Independent Submissions Editor.
In addition, these RFCs normatively refer to TLS 1.0 or TLS 1.1 and have already been obsoleted; they are still listed here and marked as updated by this document in order to reiterate that any usage of the obsolete protocol should use modern TLS: [
RFC 3316], [
RFC 3489], [
RFC 3546], [
RFC 3588], [
RFC 3734], [
RFC 3920], [
RFC 4132], [
RFC 4244], [
RFC 4347], [
RFC 4366], [
RFC 4492], [
RFC 4507], [
RFC 4572], [
RFC 4582], [
RFC 4934], [
RFC 5077], [
RFC 5081], [
RFC 5101], and [
RFC 5953].
Note that [
RFC 4642] has already been updated by [
RFC 8143], which makes an overlapping, but not quite identical, update as this document.
[
RFC 6614] has a requirement for TLS 1.1 or later, although it only makes an informative reference to [
RFC 4346]. This requirement is updated to be for TLS 1.2 or later.
[
RFC 6460], [
RFC 4744], and [
RFC 4743] are already Historic; they are still listed here and marked as updated by this document in order to reiterate that any usage of the obsolete protocol should use modern TLS.
This document updates DTLS [
RFC 6347]. [
RFC 6347] had allowed for negotiating the use of DTLS 1.0, which is now forbidden.
The DES and International Data Encryption Algorithm (IDEA) cipher suites specified in [
RFC 5469] were specifically removed from TLS 1.2 by [
RFC 5246]; since the only versions of TLS for which their usage is defined are now Historic, [
RFC 5469] has been moved to Historic as well.
The version-fallback Signaling Cipher Suite Value specified in [
RFC 7507] was defined to detect when a given client and server negotiate a lower version of (D)TLS than their highest shared version. TLS 1.3 ([
RFC 8446]) incorporates a different mechanism that achieves this purpose, via sentinel values in the ServerHello.Random field. With (D)TLS versions prior to 1.2 fully deprecated, the only way for (D)TLS implementations to negotiate a lower version than their highest shared version would be to negotiate (D)TLS 1.2 while supporting (D)TLS 1.3; supporting (D)TLS 1.3 implies support for the ServerHello.Random mechanism. Accordingly, the functionality from [
RFC 7507] has been superseded, and this document marks it as Obsolete.
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.