TLS è l'acronimo di Transport Layer Security. È un protocollo crittografico utilizzato per proteggere i dati inviati su una rete, come il traffico Internet. I casi d'uso generali includono la protezione di e-mail, VOIP, transazioni online, trasferimenti di file e messaggi istantanei. TLS è progettato per impedire che i dati vengano intercettati o manomessi. IT protegge l'integrità delle comunicazioni private e delle informazioni sensibili, tra cui le abitudini di navigazione, la corrispondenza personale, le chat online, le chiamate in conferenza, le password, i numeri di conto e altri dati finanziari e i numeri di previdenza sociale.
TLS protegge la trasmissione e la consegna dei dati. IT non protegge i dati negli endpoint e non li cripta. È un protocollo di sicurezza per le connessioni HTTPS e non per le connessioni HTTP non sicure.
Gli avvisi personalizzati e la visualizzazione dei dati consentono di identificare e prevenire rapidamente i problemi di salute e di prestazioni della rete.
TLS è il successore del protocollo Secure Sockets Layer (SSL). Netscape ha originariamente sviluppato SSL nel 1994 per proteggere il suo browser, Netscape Navigator. L'ultima versione di SSL era SSL 3.0. La prima versione di TLS, rilasciata nel 1999, si basa su SSL 3.0.
I termini SSL e TLS sono spesso usati in modo intercambiabile. Questo perché la prima versione di TLS, la 1.0, è stata inizialmente sviluppata come versione 3.1 di SSL. Ciò significa che, a meno che non sia specificamente indicato diversamente, ciò che oggi viene commercializzato come certificato SSL di solito utilizza il protocollo TLS. Il termine SSL viene ancora utilizzato perché è più familiare. Il termine SSL/TLS viene spesso utilizzato per descrivere il protocollo.
L'ultima versione di TLS è TLS 1.3, pubblicata nel 2018 dalla Internet Engineering Task Force (IETF). L'IETF è un'organizzazione internazionale di standard originariamente incaricata di orchestrare lo sviluppo del nuovo protocollo.
SSL 3.0 è stato ufficialmente deprecato nel 2015. Tuttavia, TLS offre la retrocompatibilità per alcuni vecchi dispositivi che utilizzano SSL.
Apple, Microsoft e Google smetteranno di supportare TLS 1.0 e TLS 1.1 nel 2020. Ciò è dovuto in parte al fatto che queste versioni di TLS utilizzano tecnologie obsolete, tra cui algoritmi come SHA-1 e MD5. Inizialmente, i siti web che utilizzano le vecchie versioni di TLS visualizzeranno un messaggio di errore. Alla fine, tutti gli accessi ai siti web che utilizzano versioni deprecate di TLS saranno bloccati.
La maggior parte delle applicazioni web odierne utilizza TLS 1.2. L'adozione di TLS 1.3 richiederà del tempo. Google ha stimato che meno dell'uno percento dei siti web si affida a TLS 1.0 o 1.1. Esistono soluzioni, ad esempio l'estensione LS_FALLBACK_SCSV, per le applicazioni legacy che non sono compatibili con la tecnologia TLS.
TLS ha tre funzionalità principali e una funzionalità di fatto:
Notifiche in tempo reale significano una risoluzione più rapida dei problemi, in modo da poter intervenire prima che si verifichino problemi più gravi.
TLS viene utilizzato per proteggere i protocolli di livello applicazione come FTP, HTTP e SMTP, ad esempio. Questi protocolli forniscono la maggior parte delle funzioni utilizzate per comunicare su Internet, come inviare e-mail, chattare o scaricare dati.
TLS consente l'autenticazione delle identità digitali. I casi d'uso tipici delle aziende includono il Single sign-on (SSO), la verifica dei dispositivi in una rete IoT, i documenti firmati digitalmente, la crittografia delle e-mail per proteggere le informazioni aziendali sensibili e l'autenticazione dell'accesso alla rete.
La crittografia TLS aiuta a proteggere le applicazioni Internet da attacchi informatici e violazioni dei dati. Il protocollo è lo standard di connessione sicura della maggior parte dei browser più diffusi.
Recentemente Google Chrome ha iniziato ad avvisare gli utenti che accedono alle pagine HTTP che queste non sono sicure. Per le aziende, la preoccupazione è che ciò possa comportare una riduzione della fiducia dei clienti. Per questo motivo, Google, Apple e Microsoft incoraggiano l'uso di almeno TLS 1.2.
TLS 1.0 e 1.1 sono vulnerabili agli attacchi CRIME, BEAST, FREAK, LogJam e POODLE, ma TLS 1.2 e TLS 1.3 offrono una maggiore protezione durante il trasferimento dei dati. Inoltre, il Payment Card Industry Data Security Standard (PCI-DSS) richiede almeno TLS 1.2 per la conformità.
TLS 1.2 e 1.3 supportano le suite e gli algoritmi di cifratura più recenti e hanno eliminato le funzioni di hash non sicure, come SHA-1 e MD5.
L'handshake TLS avvia una sessione TLS. Non è l'evento stesso della sessione sicura. L'handshake TLS non cripta i dati, ma determina il metodo di crittografia. La crittografia dei dati avviene in una sessione, utilizzando il segreto condiviso generato durante l'handshake TLS.
L'handshake TLS inizia con la negoziazione di una versione TLS e la selezione di una suite di cifratura appropriata. Una suite di cifratura è una combinazione di algoritmi. Ogni algoritmo ha un compito, ad esempio la crittografia, l'autenticazione e lo scambio di chiavi. Il server seleziona in anticipo l'algoritmo di scambio di chiavi da utilizzare.
L'handshake utilizza la crittografia asimmetrica per avviare una connessione. Questo metodo di crittografia ha un certo overhead in termini di risorse. Per la crittografia viene utilizzata una chiave pubblica e per la decrittografia una chiave privata. In TLS, la coppia di chiavi viene utilizzata per creare una chiave condivisa, talvolta chiamata segreto condiviso, chiave pre-master o chiave master. Una volta completato con successo l'handshake, la sessione utilizza la chiave condivisa, o chiave di sessione, per crittografare i dati nei messaggi successivi tra il client e il server. La sessione utilizza quindi la crittografia simmetrica. Questa ha un overhead molto più basso rispetto alla crittografia asimmetrica ed è più efficiente.
Un handshake SSL consiste nei seguenti messaggi e passaggi: ClientHello, ServerHello, Certificate (opzionale), ServerKeyExchange, ServerHelloDone, ClientKeyExchange, ChangeCipherSpec, ChangeCipherSpec e Finished. Prima di TLS 1.3, l'handshake si svolge come segue.
A partire da TLS 1.3, il protocollo è più efficiente. Il client fa un'ipotesi sul miglior protocollo crittografico per la connessione e condivide la sua chiave nel primo messaggio che invia al server. TLS 1.3 utilizza il protocollo Diffie-Hellman a curva ellittica (ECDH). ECDH è un protocollo di accordo di chiave che permette a un client e a un server di condividere una chiave segreta o di creare una nuova chiave segreta su un canale non sicuro.
TLS 1.3 è stato introdotto per ridurre l'uso di tecnologie non sicure come gli algoritmi obsoleti, per consentire la retrocompatibilità con le versioni precedenti del protocollo, per velocizzare le connessioni, per migliorare la sicurezza e per utilizzare tecniche più recenti come la possibilità di utilizzare un numero minore di opzioni di cifratura più affidabili.
TLS 1.3 ha eliminato il supporto di alcuni algoritmi e cifrari obsoleti, come l'algoritmo DES, il cifrario RC4, l'hashing SHA-1, il cifrario CBC, l'algoritmo MD5, lo scambio di chiavi RSA e alcuni (ma non tutti) metodi di crittografia Diffie-Hellman. TLS 1.2 supporta 37 suite di cifratura. TLS 1.3 supporta solo cinque suite di cifratura.
Tradizionalmente, uno dei modi più popolari per scambiare chiavi di sessione sicure era l'algoritmo di crittografia RSA. RSA è stato in qualche modo screditato perché non fornisce una modalità di chiave effimera (temporanea o specifica per la sessione), necessaria per la Perfect Forward Secrecy (PFS). La PFS garantisce che se un aggressore salva le informazioni crittografate e riesce in qualche modo a rubare la chiave privata associata, non sarà comunque in grado di decifrare le informazioni.
Quattro nuove funzionalità di TLS 1.3 contribuiscono a velocizzare l'handshake di TLS. TLS Session Resumption controlla se un server e un client hanno già comunicato in precedenza e, in caso affermativo, alcuni controlli di sicurezza vengono saltati. TLS False Start permette a un server e a un client di iniziare a trasmettere dati prima che l'handshake TLS sia completato. L'handshake di TLS 1.3 richiede un solo round trip, anziché i due utilizzati in TLS 1.2. In TLS 1.2 e nelle versioni precedenti, il primo round trip comprende le fasi di incontro e saluto. Il secondo round trip comprende l'Exchange delle chiavi e la modifica del tipo di crittografia da asimmetrica a simmetrica. Infine, la funzione Zero Round Trip Time Resumption (0-RTT) consente di generare una chiave master di ripresa.
PRTG Network Monitor è un software di monitoraggio di rete completo e tiene traccia dell'intera infrastruttura IT.
Per i proprietari di siti web, TLS può sembrare influire negativamente sulle prestazioni del sito. Ad esempio, in caso di traffico elevato o di risorse di calcolo ridotte, TLS può contribuire ad allungare i tempi di caricamento del sito. Una potenziale vulnerabilità è rappresentata dal fatto che TLS può talvolta consentire a un server mal configurato di scegliere un metodo di crittografia debole. Le prime implementazioni di TLS potrebbero causare un calo temporaneo del traffico, in quanto il sito web potrebbe dover essere reindicizzato. Inoltre, i vecchi componenti aggiuntivi e plugin potrebbero non essere compatibili con HTTPS.
Per gli utenti di Internet in generale, l'incomprensione del funzionamento dei certificati può avere un ruolo nei fallimenti di TLS percepiti. Ad esempio, gli aggressori possono sfruttare certificati scaduti o non attendibili. Sebbene un browser visualizzi l'avviso che un certificato è scaduto o non attendibile, alcuni utenti possono ignorarlo.
TLS può confondere un firewall con un attacco man-in-the-middle. Progettato per fornire una crittografia e una sicurezza end-to-end complete, TLS impedisce agli strumenti di sicurezza di rete di ispezionare il traffico per rilevare potenziali malware. Per evitare un attacco man-in-the-middle, al client viene impedito di ispezionare i propri dati e di assicurarsi che siano privi di malware. Il mezzo per effettuare questa ispezione è una middlebox, ma la middlebox può essere erroneamente identificata da TLS come un man in the middle e talvolta può impedire l'accesso legittimo al server. Il settore finanziario ha fatto pressione per modificare il funzionamento delle middlebox.
TLS è anche vulnerabile agli attacchi di downgrade. RSA è un algoritmo di Exchange utilizzato da tutte le versioni di TLS, tranne la versione 1.3. RSA determina il modo in cui un client e un server autenticano le proprie credenziali durante l'handshake TLS, con l'obiettivo di negoziare un segreto condiviso. Tuttavia, RSA è vulnerabile agli attacchi ai canali laterali. Questi tipi di attacchi sono indiretti e non intenzionali. Di solito sono il risultato di un'implementazione difettosa di un sistema di crittografia, che permette involontariamente la fuoriuscita di informazioni che un attaccante può utilizzare per scoprire la chiave privata di una conversazione. Questo può essere paragonato a un ladro sfidato dal sistema di sicurezza della vostra auto. Invece di tentare di scassinare l'auto sul posto, dove l'allarme vi avvertirebbe, il ladro si limita a caricare il veicolo su un camioncino, a portarlo altrove e a scassinarlo lì.
Nonostante queste debolezze, TLS è indispensabile nella comunicazione online. Gli aggiornamenti regolari del protocollo garantiscono ulteriori miglioramenti in termini di sicurezza e prestazioni.