Cos'è TLS (Transport Layer Security)?

TLS è un protocollo di sicurezza che fornisce privacy e integrità dei dati per le comunicazioni Internet. L'implementazione di TLS è una pratica standard per la creazione di applicazioni Web sicure.

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Definire il concetto di Transport Layer Security (TLS)
  • Spiegare come funziona TLS
  • Differenziare tra TLS e SSL
  • Scoprire come TLS influenza le prestazioni
  • Scoprire come implementare TLS

Argomenti correlati


Vuoi saperne di più?

Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.

Fai riferimento all'Informativa sulla privacy di Cloudflare per scoprire come raccogliamo ed elaboriamo i tuoi dati personali.

Copia link dell'articolo

Cos'è Transport Layer Security (TLS)?

Transport Layer Security, o TLS, è un protocollo di sicurezza ampiamente diffuso progettato per semplificare la privacy e la sicurezza dei dati per le comunicazioni su Internet. Un caso d'uso principale di TLS è la crittografia della comunicazione tra applicazioni Web e server, come i browser Web che caricano un sito Web. TLS può essere utilizzato anche per crittografare altre comunicazioni come e-mail, messaggistica e Voice over IP (VoIP). In questo articolo ci concentreremo sul ruolo di TLS nella sicurezza delle applicazioni Web.

TLS è stato proposto dalla Internet Engineering Task Force (IETF), un'organizzazione internazionale per gli standard, e la prima versione del protocollo è stata pubblicata nel 1999. La versione più recente è TLS 1.3, pubblicata nel 2018.

Whitepaper
Aumenta al massimo la potenza di TLS

Qual è la differenza tra TLS e SSL?

TLS si è evoluto da un precedente protocollo di crittografia chiamato Secure Sockets Layer (SSL), sviluppato da Netscape. La versione 1.0 di TLS ha effettivamente iniziato lo sviluppo come SSL versione 3.1, ma il nome del protocollo è stato modificato prima della pubblicazione per indicare che non era più associato a Netscape. A causa di questa storia, i termini TLS e SSL sono talvolta usati in modo intercambiabile.

SSL sicuro
SSL gratuito compreso in qualsiasi piano Cloudflare

Qual è la differenza tra TLS ed HTTPS?

HTTPS è una implementazione della crittografia TLS in aggiunta al protocollo HTTP che viene utilizzato pressocché da tutti i siti Web. Qualsiasi sito Web che utilizza HTTPS utilizza quindi la crittografia TLS.

Perché le aziende e le applicazioni Web dovrebbero utilizzare il protocollo TLS?

La crittografia TLS può contribuire a proteggere le applicazioni Web da violazioni dei dati e altri tipi di attacchi. Oggi, il protocollo HTTPS protetto da TLS è una pratica standard per i siti Web. Il browser Google Chrome ha gradualmente inasprito i controlli sui siti non HTTPS e altri browser hanno seguito l'esempio. Ogni giorno gli utenti di Internet sono più diffidenti nei confronti dei siti Web che non presentano l'icona del lucchetto HTTPS.

Navigazione sicura con certificati SSL

Cosa fa TLS?

Ci sono tre componenti principali per ciò che il protocollo TLS realizza: crittografia, autenticazione e integrità.

  • Crittografia: nasconde i dati trasferiti da terzi.
  • Autenticazione: garantisce che le parti che si scambiano informazioni siano davvero chi affermano di essere.
  • Integrità: verifica che i dati non siano stati contraffatti o manomessi.

Cos'è un certificato TLS?

Affinché un sito Web o un'applicazione utilizzi TLS, deve disporre di un certificato TLS installato sul suo server di origine (il certificato è noto anche come "certificato SSL" a causa della confusione dei nomi sopra descritta). Un certificato TLS viene rilasciato da un'autorità di certificazione alla persona o all'azienda che possiede un dominio. Il certificato contiene informazioni importanti su chi possiede il dominio, insieme alla chiave pubblica del server, entrambe importanti per convalidare l'identità del server.

Come funziona TLS?

Una connessione TLS viene iniziata tramite una sequenza nota come handshake TLS. Quando un utente accede a un sito Web che utilizza TLS, inizia l'handshake TLS tra il dispositivo dell'utente (noto anche come dispositivo client) e il server Web.

Durante l'handshake TLS, il dispositivo dell'utente e il server Web:

  • Specifica la versione di TLS (TLS 1.0, 1.2, 1.3, ecc.) che utilizzeranno
  • Decidi quali suite di crittografia (vedi sotto) utilizzeranno
  • Autenticano l'identità del server utilizzando il certificato TLS del server
  • Generano chiavi di sessione per crittografare i messaggi tra di loro dopo il completamento dell'handshake

L'handshake TLS stabilisce una suite di crittografia per ogni sessione di comunicazione. La suite di cifratura è un insieme di algoritmi che specifica dettagli come le chiavi di crittografia, o chiavi di sessione, condivise che verranno utilizzate per quella determinata sessione. TLS è in grado di impostare le chiavi di sessione corrispondenti su un canale non crittografato grazie a una tecnologia nota come crittografia con chiave pubblica.

L'handshake gestisce anche l'autenticazione, che di solito consiste nel fatto che il server dimostri la propria identità al client. Ciò è possibile tramite le chiavi pubbliche. Le chiavi pubbliche sono chiavi di crittografia che utilizzano la crittografia unidirezionale, il che significa che chiunque disponga della chiave pubblica può decodificare i dati crittografati con la chiave privata del server per garantirne l'autenticità, ma solo il mittente originale può crittografare i dati con la chiave privata. La chiave pubblica del server fa parte del suo certificato TLS.

Una volta che i dati sono crittografati e autenticati, vengono quindi firmati con un codice di autenticazione del messaggio (MAC). Il destinatario può quindi verificare il MAC per garantire l'integrità dei dati. È un po' come la pellicola a prova di manomissione trovata su una boccetta di aspirina; il consumatore sa che nessuno ha manomesso il suo medicinale perché la pellicola è intatta al momento dell'acquisto.

L'handshake TCP

In che modo TLS influisce sulle prestazioni delle applicazioni Web?

Le ultime versioni di TLS hanno un impatto minimo sulle prestazioni delle applicazioni Web.

A causa del complesso processo coinvolto nella configurazione di una connessione TLS, è necessario spendere un po' di tempo di caricamento e potenza di calcolo. Il client e il server devono comunicare tra loro più volte prima che i dati vengano trasmessi e questo consuma preziosi millisecondi di tempo di caricamento per le applicazioni Web, oltre a un po' di memoria sia per il client che per il server.

Tuttavia, esistono tecnologie che aiutano a mitigare la latenza potenziale creata dall'handshake TLS. Uno è TLS False Start, che consente al server e al client di iniziare a trasmettere i dati prima del completamento dell'handshake TLS. Un'altra tecnologia per accelerare TLS è la ripresa della sessione TLS, che consente a client e server che hanno precedentemente comunicato di utilizzare un handshake abbreviato.

Questi miglioramenti hanno contribuito a rendere TLS un protocollo molto veloce che non dovrebbe influire notevolmente sui tempi di caricamento. Per quanto riguarda i costi computazionali associati a TLS, sono per lo più trascurabili per gli standard odierni.

TLS 1.3, rilasciato nel 2018, ha reso TLS ancora più veloce. Gli handshake TLS in TLS 1.3 richiedono solo un round trip (o comunicazione avanti e indietro) invece di due, accorciando il processo di pochi millisecondi. Quando l'utente si è già connesso a un sito Web, l'handshake TLS ha zero round trip, accelerando ulteriormente.

Come iniziare a implementare TLS su un sito Web

Cloudflare offre certificati TLS/SSL gratuiti per tutti gli utenti. Chiunque non utilizzi Cloudflare dovrà acquisire un certificato SSL da un'autorità di certificazione, spesso a pagamento, e installare il certificato sui propri server di origine.

Per ulteriori informazioni sul funzionamento dei certificati TLS/SSL, consulta Cos'è un certificato SSL?