4 Security Protocols: TLS - Transport Layer Security

Security Protocols

TLS - Transport Layer Security

  • TLS (Transport Layer Security) is a security protocol. It builds upon lower-level network layers like TCP/IP.

Network Stack with HTTP

Introducing a Security Layer: HTTPS

Usage Beyond HTTP

  • TLS isn't just exclusive to HTTP. Other applications utilize it as well.

  • Example: Mail services.

SSL / TLS History and Versions

  • Originally, SSL (Secure Socket Layer) was developed by Netscape.

  • SSL Version 2.0 appeared in 1995 but was quickly succeeded by SSL 3.0 in 1996.

  • The IETF (Internet Engineering Taskforce) took over and published Transport Layer Security 1.0 as RFC 5246 in 1999. This was a successor to SSL.

  • The current version is TLS 1.3, defined in IETF RFC 8446.

  • Older versions (SSL 2.0, SSL 3.0, TLS 1.0, TLS 1.1, and TLS 1.2) should be disabled due to known security vulnerabilities.

SSL / TLS - How it Works

  • The primary objective is to establish a shared key. This ensures:

    • Confidentiality: Protecting message content from unauthorized access.

    • Integrity/Authenticity: Verifying that the message hasn't been altered and confirming the sender's identity.

  • Symmetric encryption is then used with the shared key to encrypt the messages.

  • Key sub-protocols:

    • TLS Handshake: Negotiates cryptographic parameters and (optionally) authenticates the server and/or client. It establishes the shared key.

    • TLS Record: The actual secure transport protocol used for encrypting and decrypting data.

  • Diffie-Hellman key exchange (or its variants) is often employed to create the shared secret.

TLS Phases

  • TLS Handshake:

    • Purpose: Authenticates the server (and sometimes the client). In HTTPS, mostly the server is authenticated.

    • Outcome: A shared key and a session ID (or session ticket) are established.

  • TLS Record:

    • After the ChangeCipherSpec messages are exchanged, all data transmitted is encrypted using the negotiated shared key and algorithm.

  • TLS Alert:

    • Used to signal errors or close the connection immediately.