Transport Layer Security (TLS) is the IETF protocol that protects communication between a client and a server, such as a web browser and a web server, against eavesdropping, tampering, and message forgery. It supersedes the Secure Sockets Layer (SSL) protocol it was based on.
In the McCumber Cube, TLS is a technology measure for information in the transmission state, what is now usually called data in transit. It protects the confidentiality and integrity of that data, and RFC 8446 adds authentication: “The server side of the channel is always authenticated; the client side is optionally authenticated.” TLS does not protect the data once it is stored or processed at either end; those states need their own measures.
TLS is sometimes informally called HTTPS, but HTTPS is a specific use of it: HTTP carried over TLS. RFC 2818 describes how “to use TLS to secure HTTP connections,” and RFC 9110 defines the https URI scheme in terms of a server “capable of establishing a TLS” connection secured for HTTP.
TLS supersedes SSL
TLS 1.0 was published in 1999 as RFC 2246, which says it is “based on the SSL 3.0 Protocol Specification as published by Netscape,” with differences “significant enough that TLS 1.0 and SSL 3.0 do not interoperate.” The IETF has since retired every SSL version and the early TLS versions: RFC 6176 prohibits SSL 2.0 (2011), RFC 7568 requires that SSL 3.0 “not be used” (2015), and RFC 8996 deprecates TLS 1.0 and 1.1 (2021). TLS 1.2 and TLS 1.3 (RFC 8446, 2018) remain. The older name persists in everyday use, as in “SSL certificate” and the OpenSSL library, for what is in practice TLS.
Which versions to accept
RFC 8996 gives the technical reasons TLS 1.0 and 1.1 were deprecated. The integrity of their handshake “depends on a running SHA-1 hash,” which makes a downgrade attack possible “by an attacker able to perform 277 operations, well below the acceptable modern security margin.” Authentication of the peers depends on SHA-1 signatures as well, and neither version supports authenticated encryption (AEAD) cipher suites, “which were not supported prior to TLS 1.2.”
TLS 1.2 is therefore the minimum in current standards. RFC 8996 directs implementers to “migrate to a minimum of (D)TLS 1.2.” NIST SP 800-52 Rev. 2 requires TLS 1.2 on all government TLS servers and clients, and support for TLS 1.3 by January 1, 2024. For payment card data, the PCI Security Standards Council states that after June 30, 2018, “SSL and Early TLS may no longer be used as a security control for PCI DSS,” with a narrow exception for some point-of-sale terminals. TLS 1.3 is preferable wherever both ends support it; among other changes, it removes static RSA and Diffie-Hellman key exchange, so that “all public-key based key exchange mechanisms now provide forward secrecy.”
The minimum is enforced by the server’s configuration. The client offers the versions it supports, and RFC 8446 says “Servers MUST only select a version of TLS present in” that offer, so a server configured to refuse anything below TLS 1.2 refuses an older client rather than falling back to a weaker version. The cost is compatibility: a client that cannot be upgraded, such as an embedded device built on an older TLS library, cannot connect until it is.
Sources
- RFC 8446: The Transport Layer Security (TLS) Protocol Version 1.3, abstract and section 1, IETF, August 2018. Retrieved October 16, 2026.
- RFC 8446, section 4.2.1: Supported Versions, IETF, August 2018. Retrieved October 16, 2026.
- RFC 2818: HTTP Over TLS, IETF, May 2000. Retrieved October 16, 2026.
- RFC 9110: HTTP Semantics, section 4.2.2, https URI Scheme, IETF, June 2022. Retrieved October 16, 2026.
- RFC 2246: The TLS Protocol Version 1.0, section 3, IETF, January 1999. Retrieved October 16, 2026.
- RFC 6176: Prohibiting Secure Sockets Layer (SSL) Version 2.0, IETF, March 2011. Retrieved October 16, 2026.
- RFC 7568: Deprecating Secure Sockets Layer Version 3.0, IETF, June 2015. Retrieved October 16, 2026.
- RFC 8996: Deprecating TLS 1.0 and TLS 1.1, sections 1 and 3, IETF, March 2021. Retrieved October 16, 2026.
- NIST SP 800-52 Rev. 2, Guidelines for the Selection, Configuration, and Use of Transport Layer Security (TLS) Implementations, NIST, August 2019. Retrieved October 16, 2026.
- What Happens After 30 June 2018? New Guidance on Use of SSL/Early TLS, PCI Security Standards Council, June 15, 2018. Retrieved October 16, 2026.
See also
Go deeper
Articles
- Generate OpenSSL Elliptic Curve Key Pair from the Command Line August 18, 2026
- Shorter SSL/TLS Lifetimes: Business Impact of Monthly Certificate Renewals April 22, 2025
- Xfinity is Man-in-the-Middle (MITM) Attacking my Internet October 29, 2019
- Security Quick-Wins: Use DNS CAA records to avoid fraudulent certificates July 24, 2018
- Migrate Away from SSL/Early TLS for PCI Compliance June 30, 2018
- Equifax Missed Defense in Depth, Allowing a Massive Data Breach September 18, 2017
- How To Protect Against the POODLE SSLv3 Vulnerability October 16, 2014
- Raspberry Pi crypto key management project! October 2, 2014
- Free, Universal SSL with Cloudflare September 29, 2014
- Retake the Net for Privacy! June 5, 2014
- OpenSSL Vulnerability, Patch 1.0.1 Immediately April 7, 2014
- Conditionally Including Resources on SSL or non-SSL to Avoid Mixed Content Security Warnings in Ruby on Rails December 21, 2011
- Authentication Without Encryption for Ham Radio August 17, 2009