Glossary

TLS

Transport Layer Security is the protocol that turns HTTP into HTTPS. It does three things to a connection: it encrypts the traffic so an observer cannot read it, it authenticates the server so the client knows who it is talking to, and it detects tampering so altered data is rejected rather than accepted. It protects data while it moves between client and server, and nothing about how that data is handled at either end.

The versions still in use

TLS 1.2, published in 2008, remains widely deployed and is considered adequate when configured with modern cipher suites.

TLS 1.3, published in 2018, removed the legacy algorithms that made 1.2 possible to misconfigure, and reduced the handshake to a single round trip. Its weak configurations largely do not exist, because the weak options were removed rather than deprecated.

TLS 1.0 and 1.1 are formally deprecated: RFC 8996 states they must not be used, and the major browsers removed support in 2020.

SSL 2.0 and 3.0, the predecessors, have been prohibited for far longer. The name SSL survives in common usage and in certificate marketing, but no current deployment uses the protocol.

What a connection negotiates

The protocol version, chosen as the highest both sides support. A server offering only TLS 1.3 will refuse clients that cannot speak it, which is a real consideration for older devices.

The cipher suite, which determines the algorithms used for key exchange, encryption and integrity.

The server's certificate, which the client validates against its trust store and against the hostname it asked for.

In TLS 1.3 all of this completes in one round trip, against two in TLS 1.2 — a latency difference that is visible on high-latency networks.

What TLS does not do

It does not make a site secure. It secures the pipe. A site with a perfect TLS configuration can leak data through its application, expose secrets in its JavaScript, or run on an unpatched server.

It does not hide which site you are visiting. The hostname is sent in clear in the handshake unless Encrypted Client Hello is in use, and DNS lookups are visible unless encrypted separately.

It does not authenticate the visitor. Client certificates exist and are rare on the public web.

It does not protect data at rest. Once the connection ends, TLS has no further involvement in what happens to what was sent.

How to see what a server offers

`openssl s_client -connect example.com:443 -servername example.com` prints the negotiated version, the cipher suite and the certificate chain.

Add `-tls1_2` or `-tls1_3` to test a specific version, and confirm that `-tls1` and `-tls1_1` are refused.

In a browser, the security panel of the developer tools reports the negotiated protocol and cipher for the current page.

Test each hostname the site uses, not only the main one. A subdomain or an API host frequently has a different and older configuration.

Frequently asked questions

What is the difference between SSL and TLS?
TLS is the successor to SSL. Every SSL version is prohibited and no current deployment uses one; the name persists in common usage and in certificate marketing.
Do I need to support TLS 1.0 and 1.1?
No. RFC 8996 states they must not be used, and major browsers removed support in 2020. Supporting them only weakens the configuration.
Does HTTPS make my website secure?
It secures the connection. Application security, server patching and secret handling are separate concerns that TLS does not address.

Sources

Related

VeriFixScan crawls a site and applies its checks to every page it reaches, keeping the evidence behind each finding. Scanning one website is free.

Scan a website