TLS (Transport Layer Security) è un protocollo di livello 5 (sessione) che opera quindi al di sopra del protocollo di livello trasporto. È uno standard IETF, specificato in [10], e deriva dal protocollo SSL (Secure Socket Layer). SSL è stato originariamente proposto da Netscape ma è un protocollo aperto, l'ultima versione è la 3.0 e non è mai stato standardizzato; TLS 1.0 (la versione attuale) è molto simile a SSL 3.023 tuttavia non è compatibile con questo, le implementazioni comunque supportano generalmente sia TLS 1.0 sia SSL 3.0, ed è garantita l'interoperabilità.
Lo scopo di TLS è quello di permettere una comunicazione sicura tra due applicazioni, fornendo al flusso di dati tra di esse servizi di autenticazione, integrità e riservatezza. È composto da due livelli: il TLS Record Protocol e il TLS Handshake Protocol: il primo è il livello più basso, che opera direttamente al di sopra di un protocollo di trasporto affidabile come TCP ed è usato per incapsulare (offrendo servizi di sicurezza) protocolli di livello superiore tra cui l'Handshake Protocol stesso, il quale si occupa della fase di negoziazione in cui si autentica l'interlocutore e si stabiliscono le chiavi segrete condivise. TLS è indipendente dal protocollo di livello applicazione che ne utilizza i servizi, tuttavia lo standard non specifica come l'applicazione lo debba utilizzare, ovvero come decidere di iniziare un handshake TLS e come interpretare i certificati scambiati per l'autenticazione delle parti.