Avviso importante: Google e Yahoo richiederanno il DMARC a partire da aprile 2024.
PowerDMARC

Che cos'è l'handshake TLS?

Cos'è l'handshake TLS

Cos'è l'handshake TLS

Tempo di lettura: 4 min

Crittografia TLS protocollo di crittografia e autenticazione che protegge le comunicazioni via Internet. L'handshake TLS è un processo che protegge la connessione con un server utilizzando la crittografia asimmetrica. I siti web che utilizzano un certificato TLS possono sfruttare il protocollo HTTPS per connettersi in modo sicuro al server. In questo blog l'handshake TLS è spiegato in dettaglio, compresi i passaggi dell'handshake TLS, la metodologia di lavoro e altro ancora.

Che cos'è l'handshake TLS?

Come la stretta di mano che si fa nella vita reale, la stretta di mano TLS è un'introduzione. Indica una comunicazione sicura tra due server in cui vengono scambiati messaggi per riconoscersi, verificarsi, impostare codici crittografici e concordare le chiavi di sessione. 

Il processo di handshake TLS inizia con il "Ciao" iniziale e prosegue fino alla fase in cui un client e un server possono parlare attraverso una connessione protetta. 

Come funziona l'handshake TLS?

Ora che sapete cos'è un handshake TLS, vediamo come funziona.

Pertanto, il processo di handshake TLS funziona solo quando un certificato TLS è impostato sul server per un sito web o un'applicazione. Questo certificato include dettagli importanti sul proprietario del dominio e sulla chiave pubblica del server per confermare l'identità del server. Questo processo sequenziale stabilisce una connessione TLS. Quindi, ogni volta che un utente chiede di accedere a un sito web abilitato al protocollo TLS, inizia l'handshake TLS tra il dispositivo e il browser web, che scambia i seguenti dettagli: 

L'handshake TLS stabilisce una suite di cifratura per tutte le comunicazioni. La suite di cifratura è descritta come un insieme di algoritmi utilizzati per stabilire una connessione di comunicazione sicura. Un ruolo importante dell'handshake TLS è la determinazione della suite di cifratura da utilizzare. TLS imposta chiavi di sessione corrispondenti su un canale non criptato utilizzando la crittografia a chiave pubblica. 

L'handshake verifica anche l'autenticità del mittente controllando il server che utilizza le chiavi pubbliche. Le chiavi pubbliche sono chiavi di crittografia unidirezionali, il che significa che nessuno, tranne il mittente originale, può decifrare i dati crittografati. Il mittente originale utilizza la propria chiave privata per decifrare i dati. 

L'handshake TLS fallito significa che la connessione è terminata e il client vede un messaggio di errore "503 Service Unavailable". 

Scambi di mano TLS vs SSL

SSL è l'acronimo di Secure Sockets Layer, il protocollo di sicurezza originale prodotto per HTTP. SSL è stato sostituito da TLS e gli handshake SSL sono ora definiti handshake TSL.

Quando avviene un handshake TLS?

Il browser interroga il server di origine del sito web ogni volta che un utente chiede di navigare in un sito web attraverso una connessione protetta. Si verifica anche quando qualsiasi altro canale di comunicazione utilizza HTTPS. Ciò include le chiamate API e il DNS su una rete protetta.

Fasi di una stretta di mano TLS

Le fasi dell'handshake TLS consistono in una serie di datagrammi, o messaggi, trasferiti tra il client e il server. I passaggi precisi variano a seconda del tipo di algoritmo di scambio di chiavi utilizzato e delle suite di cifratura supportate da entrambe le parti. Ecco cosa ci si può aspettare.

Passo 1: il messaggio di "benvenuto al cliente

Il server del client inizia il processo di handshake TLS inviando un messaggio "hello" al server principale del sito web. Il messaggio consiste in dettagli importanti come la versione di TLS e le suite di cifratura supportate e alcuni byte casuali chiamati "client random".

Passo 2: il messaggio "Server Hello

Il server risponde al messaggio di benvenuto del client inviando una risposta contenente un certificato SSL, la suite di cifratura scelta dal server e la stringa "server random" generata dal server. 

Fase 3: Autenticazione

In questa fase di handshake TLS, il client conferma il certificato SSL del server con l'autorità emittente. Ciò serve a verificare che il server sia autentico e che il client stia comunicando con il proprietario del dominio.

Fase 4: Il segreto di Premaster

Il segreto di Premaster, un'altra stringa casuale di byte, viene inviato dal client. È crittografato con una chiave pubblica e può essere decrittografato dal server con una chiave privata. 

Passo 5: Chiave privata utilizzata

Il segreto premaster viene decifrato dal server.

Passo 6: Creazione delle chiavi di sessione

Il client e il servant creano le chiavi di sessione a partire dal client random, dal server random e dal premaster secret. Il risultato di tutte e tre le chiavi deve essere lo stesso.

Fase 7: Il cliente è pronto

Il client invia un messaggio "finito" crittografato con chiave di sessione.

Passo 8: Il server è pronto

Il server invia un messaggio "finito" crittografato con chiave di sessione. 

Fase 9: crittografia simmetrica sicura ottenuta 

Questa è l'ultima fase dell'handshake TLS. Dopo il suo completamento, la comunicazione continua utilizzando le chiavi di sessione.

TLS 1.3 Handshake: qual è la differenza?

TLS 1.3 non supporta RSA; pertanto i passaggi sono leggermente diversi.

Salve cliente

Il client invia il messaggio "Client Hello'' che include la versione del protocollo, il client random e un elenco di suite di cifratura. Il numero di suite di cifratura diminuisce in quanto nella versione TLS 1.3 non c'è supporto per le suite di cifratura. 

Questo messaggio contiene anche i parametri utilizzati per la valutazione del segreto premaster. In questo modo si riduce la lunghezza dell'handshake, che è la principale differenza tra gli handshake di TLS 1.3 e quelli di TLS 1.0, 1.1 e 1.2. 

Il server crea il segreto principale

In questa fase, il server riceve il random del client e i parametri e le suite di cifratura del client. Mentre produce il proprio random del server, genera il master secret.

Server Hello e Finished

Il server hello contiene il certificato del server, la firma crittografica, il server random e la suite di cifratura scelta. Invia anche un messaggio "finished" (finito), poiché possiede il master secret. 

Fasi finali e cliente finito

Il client verifica la firma e il certificato, genera il segreto principale e invia il messaggio "Finished".

Crittografia simmetrica sicura raggiunta

Al termine dell'handshake TLS, la comunicazione prosegue utilizzando le chiavi di sessione.

Come leggere i rapporti TLS?

I rapporti TLS possono fornire informazioni preziose su handshake TLS non allineati durante l'autenticazione MTA-STS e su problemi di deliverability. Il sistema PowerDMARC TLS-RPT offre rapporti in un formato leggibile dall'uomo, analizzato dai file JSON originali.

Per leggere i rapporti TLS a partire da oggi, iniziate la vostra prova gratuita con noi!

Perché le applicazioni aziendali e web dovrebbero utilizzare l'handshake TLS?

L'handshake TLS protegge le applicazioni web da infrazioni e altri attacchi informatici, poiché HTTPS è la versione protetta dell'estensione HTTP. I siti web dotati di certificato TLS possono sfruttare il protocollo HTTPS per connettersi in modo sicuro agli utenti. Il suo scopo è quello di proteggere i dettagli sensibili come i dati personali, i dati finanziari, le credenziali di accesso, ecc.

Uscita dalla versione mobile