Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8257122

Disable TLS 1.0 and 1.1

XMLWordPrintable

    • low
    • Hide
      According to [SSLPulse](https://www.ssllabs.com/ssl-pulse/), as of October 03, 2020, 99% of the 150,000 most popular websites support TLS 1.2, which implies that 1% *only* support a weaker protocol such as TLS 1.0 and/or 1.1.
      If necessary, and at their own risk, users can re-enable TLS 1.0 and 1.1 by adding them back to the jdk.tls.disabledAlgorithms property in the java.security file.
      Show
      According to [SSLPulse]( https://www.ssllabs.com/ssl-pulse/), as of October 03, 2020, 99% of the 150,000 most popular websites support TLS 1.2, which implies that 1% *only* support a weaker protocol such as TLS 1.0 and/or 1.1. If necessary, and at their own risk, users can re-enable TLS 1.0 and 1.1 by adding them back to the jdk.tls.disabledAlgorithms property in the java.security file.
    • System or security property

      Summary

      This is a CSR based on JDK-8254713. It's been opened for the Oracle JDK update releases: 11.0.11 8u291 7u301

      Same approach as that of JDK 16 is being taken.

      Disable the TLS 1.0 and 1.1 protocols by default.

      Problem

      TLS 1.0 and 1.1 are versions of the TLS protocol that are no longer considered secure and have been superseded by more secure and modern versions (TLS 1.2 and 1.3).

      TLS 1.0 and 1.1 require and use weak algorithms such as 3DES and SHA-1. They lack support for stronger and more modern algorithms and ciphers that are supported or required in TLS 1.2 and 1.3. They have also been vulnerable to a number of attacks over the years. The Internet Draft "Deprecating TLSv1.0 and TLSv1.1" (which is currently in Last Call for comments) provides more details on the rationale for deprecating these versions of TLS.

      The compatibility risk of this change should be low. According to SSLPulse, as of October 03, 2020, 99% of the 150,000 most popular websites support TLS 1.2, which implies that 1% only support a weaker protocol such as TLS 1.0 and/or 1.1.

      Also, Mozilla and Google have already deprecated TLS 1.0 and 1.1 in the Firefox and Chrome browsers, respectively. Other major web browsers have announced similar plans to disable TLS 1.0 and 1.1 already or in the near future. This should help further reduce the compatibility risk as servers will be forced to upgrade to TLS 1.2 or higher if they want to continue working with these web browser clients.

      Solution

      Add "TLSv1" and "TLSv1.1" to the jdk.tls.disabledAlgorithms security property in the java.security configuration file.

      Specification

      --- a/src/java.base/share/conf/security/java.security
      +++ b/src/java.base/share/conf/security/java.security
      @@ -731,8 +731,8 @@ jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, \
       # Example:
       #   jdk.tls.disabledAlgorithms=MD5, SSLv3, DSA, RSA keySize < 2048, \
       #       rsa_pkcs1_sha1, secp224r1
      -jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, DH keySize < 1024, \
      -    EC keySize < 224, 3DES_EDE_CBC, anon, NULL
      +jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
      +    DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL

            coffeys Sean Coffey
            mullan Sean Mullan
            Sean Mullan
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: