Spiegazione dell'handshake TLS
In poche parole, un handshake TLS è proprio come una stretta di mano fisica, ma per i server; è una “presentazione” sicura tra due server, che permette loro di comunicare in modo sicuro. Quando navighi sul web, qualsiasi sito web che utilizza HTTPS utilizza handshake TLS per proteggere la tua connessione al sito e garantire che qualsiasi comunicazione (ad esempio la compilazione di moduli, gli accessi) sia privata e sicura.
Per comprendere meglio l'handshake TLS, esaminiamo innanzitutto il sistema in cui opera - TLS:
Cos'è TLS?
Transport Layer Security (TLS) è un protocollo standard dell'Internet Engineering Task Force (IETF) che garantisce l'autenticazione, la privacy e l'integrità dei dati per le comunicazioni su Internet.
TLS funziona crittografando le comunicazioni tra due sistemi. È fondamentale poiché valuta la validità e l'identità della parte/del sistema che si connette: garantisce che l'altra parte coinvolta nella connessione sia chi dice di essere, fornisce informazioni sull'integrità dei dati e assicura un livello di riservatezza tramite la crittografia.
TLS utilizza una serie di algoritmi e metodi diversi per raggiungere questi obiettivi. È il protocollo di sicurezza più adottato e implementato attualmente in uso. È particolarmente adatto per i browser web e altre applicazioni che richiedono lo scambio sicuro di dati sulla rete tramite il protocollo HTTPS (Hypertext Transfer Protocol Secure). TLS può anche proteggere elementi quali e-mail e altri protocolli.
Una parte fondamentale del TLS è l'handshake TLS, che comporta il processo di convalida dell'identità e della sicurezza di due "parti" (server) che comunicano attraverso Internet.
Cosa fa TLS?
Il protocollo TLS consente di raggiungere tre obiettivi principali: integrità, autenticazione e crittografia.
Integrità: TLS conferma che i dati inviati attraverso una rete non sono compromessi.
Autenticazione: TLS convalida le identità delle parti che comunicano.
Crittografia: TLS nasconde i dati trasferiti da terze parti.
Come funzionano gli handshake SSL/TLS?
Quando navighi su Internet, ti affidi inconsapevolmente agli handshake TLS. La navigazione su qualsiasi sito web HTTPS comporta il processo di handshake TLS tra il client (tu + il tuo server) e il sito web (e il suo server).
Il protocollo handshake TLS è responsabile dell'autenticazione e dello scambio di "chiavi" necessario per stabilire e proteggere le sessioni (visite a una pagina web). Si tratta di un processo in più fasi, che in genere prevede l'invio di messaggi di "saluto" da parte del client e del server, lo scambio di chiavi, messaggi cifrati e un messaggio di "conclusione".
Il protocollo di handshake TLS consente al client e al server di autenticarsi reciprocamente e negoziare le chiavi di sicurezza prima di qualsiasi scambio di dati.
Il processo sarà simile ai passaggi descritti di seguito:
Il client invia una richiesta di connessione al server. La richiesta viene confermata dal server.
Il client invia quindi il suo messaggio di "saluto" al server. Questo messaggio di "saluto" include informazioni importanti sul richiedente (client), consentendo al client di presentarsi al server.
Il server fornisce il proprio messaggio di "saluto" + certificato SSL. Questo certificato include la suite di cifratura del server e una "stringa casuale" generata dal server. Consideralo come un codice che il server fornisce al client.
Il client autentica quindi il "codice" (certificato + cifratura) inviato dal server per assicurarsi che 1) il nome di dominio corrisponda e 2) il certificato sia firmato da un'autorità di certificazione (CA) affidabile. Ciò conferma che il server è legittimo (e sicuro).
Il client condivide quindi il proprio certificato, una volta confermata la validità del server. Una volta che entrambe le parti hanno completato questi passaggi, viene generato un "segreto" condiviso (simile a una password) che consentirà in seguito la crittografia dei dati condivisi tra loro.
Il client e il server utilizzano il segreto condiviso per creare "chiavi" di sessione identiche, consentendo loro di crittografare e decrittografare i dati che vengono trasmessi tra le due parti durante la sessione.

Perché gli handshake TLS sono importanti?
Gli handshake TLS svolgono un ruolo fondamentale nel garantire la sicurezza delle comunicazioni e del flusso di dati tra due server. Agiscono come guardiani essenziali di Internet, convalidando le credenziali di tutte le parti che navigano sul web e aiutandole ad accertarsi della reciproca identità. Senza questa fondamentale funzionalità di sicurezza, la navigazione sul web sarebbe meno sicura e potrebbe comportare rischi sia personali che aziendali.