TLS (Transport Layer Security) is a cryptographic protocol that provides secure and confidential data transmission between two endpoints. It was introduced in 1999 as the successor to SSL.

TLS is widely used by applications that communicate over the Internet, including web browsers, email clients, messaging apps, and VoIP services. It is also used in some VPN technologies and remains one of the most widely deployed security protocols on the Internet.

Technical Characteristics of TLS

Modern versions of TLS use a combination of cryptographic algorithms to perform different security functions:

  • key exchange and authentication can use mechanisms based on RSA, Diffie-Hellman, and elliptic-curve cryptography such as ECDHE and ECDSA, depending on the TLS version and cipher suite;
  • symmetric encryption can use algorithms such as AES or ChaCha20. Older algorithms including RC4, DES, 3DES, IDEA, and SEED have been deprecated or removed from modern TLS implementations because of security weaknesses;
  • hash functions include SHA-256 and SHA-384 in modern TLS deployments. MD5 and SHA-1 are obsolete for security-sensitive purposes.

The set of cryptographic algorithms supported by TLS has changed over time. For example, older TLS versions supported algorithms such as RC2, IDEA, DES, and RC4, but these have since been deprecated because they no longer provide an adequate level of security. Consequently, individual algorithms currently considered secure may also become obsolete as cryptographic standards evolve.

TLS protection is established through several mechanisms:

  • Handshake: the client and server negotiate the TLS version, cryptographic parameters, and other connection settings. The server also proves its identity using a digital certificate. Modern TLS versions generally use ephemeral Diffie-Hellman mechanisms such as ECDHE for establishing shared session keys rather than RSA key exchange;
  • TLS False Start: an optimization that allows the client to begin sending application data before the complete handshake has finished under certain conditions. It is not a separate session-resumption mechanism and is not required for a normal TLS connection;
  • Certificate chain of trust: the client verifies the server's certificate against a trusted certificate authority (CA) and checks that the certificate is valid for the requested domain. This establishes the server's authenticated identity during the handshake rather than through continuous certificate checks throughout the session.

Advantages of TLS

  • does not require separate encryption software for the application: encryption can be built directly into a web browser, email client, or messaging application. The application should be kept up to date to benefit from current TLS security features;
  • commonly uses TCP port 443 for HTTPS: this port is widely permitted by firewalls and network filters, although TLS itself is not tied exclusively to port 443 and can operate over other transport configurations.

Disadvantages of TLS

  • protects only the traffic of applications that use TLS: TLS is normally implemented at the application or transport layer, so enabling TLS in one application does not automatically protect traffic generated by other programs on the device. A dedicated VPN client or system-wide VPN mechanism is required to route and protect other traffic;
  • traditional TLS operates over a reliable transport such as TCP: TLS itself does not directly provide protection for arbitrary UDP or ICMP traffic. DTLS (Datagram Transport Layer Security) was developed specifically to provide TLS-like security for datagram-based protocols such as UDP.
Back to the section