Transport Layer Security (TLS), precedentemente chiamato Secure Sockets Layer (SSL), è un protocollo crittografico. Supporta la riservatezza e l’integrità dei dati per le comunicazioni su reti aperte, come Internet. In altre parole, TLS fornisce una protezione che garantisce che i dati siano coerenti e corretti, sia nelle applicazioni client che server.
Nel mondo delle reti di computer, il Transport Layer è un gruppo di protocolli e metodi intrecciati all’interno dell’architettura della rete. La sua funzione principale è quella di scomporre i blocchi di dati in unità di dati, che possono essere trasferite più facilmente attraverso l’infrastruttura di rete. TLS crittografa queste unità, o segmenti, da un’estremità all’altra del livello di trasporto.
Molti di questi protocolli sono utilizzati in applicazioni come la messaggistica istantanea, la navigazione web e la posta elettronica. TLS è un protocollo di monitoraggio degli standard, il che significa che esistono specifiche definite della metodologia o della tecnologia applicabile a Internet. Tutti gli standard per Internet sono creati dall’Internet Engineering Task Force (IETF).
Per dirla semplicemente, il Transport Layer Security è lì per prevenire la manomissione, la falsificazione dei messaggi e le intercettazioni. Ciò include le comunicazioni all’interno di modalità di connessione unilaterali, nonché le modalità di connessione bilaterale. Il processo di Transport Layer Security può essere suddiviso in tre fasi: negoziazione peer per il supporto dell’algoritmo, scambio di chiavi e autenticazione basata su certificati e crittografia del traffico basata su cifratura simmetrica.
Queste fasi, se combinate, consentono al protocollo TLS di scambiare record, comprimerli e quindi crittografarli con un codice di autenticazione del messaggio (MAC). In alcuni casi, il server potrebbe richiedere un certificato al client per garantire che la connessione sia autenticata reciprocamente. In poche parole, un client e un server Transport Layer Security si connettono utilizzando una procedura di handshake. Questa stretta di mano diventa l’accordo reciproco per i parametri di sicurezza della connessione.
Ad esempio, una semplice connessione, o handshake, di solito implica un messaggio ClientHello iniziale, un messaggio di risposta ServerHello, un messaggio Certificate e infine un messaggio ServerHelloDone. Continuerebbe quindi con un messaggio ClientKeyExchange, un record ChangeCipherSpec e un messaggio ChangeCipherSpecFinished. Handshake più estesi possono coinvolgere messaggi come CertificateRequest e CertificateVerify.
È possibile combinare più messaggi di handshake in un record. In caso di segnali di errore fatale, la sessione verrà chiusa immediatamente. Nelle fasi iniziali, le restrizioni del governo sull’esportazione della tecnologia crittografica consentivano a SSL di utilizzare solo un massimo di chiavi simmetriche a 40 bit. Oggi, TLS utilizza chiavi a 128 bit o più per le cifre.