Una macchina a stati dell'handshake è la logica del protocollo che tiene traccia di ogni fase della configurazione della connessione e dello scambio dei messaggi. Registra ciò che è già accaduto, quale messaggio è atteso successivamente e come recuperare quando un pacchetto viene perso, ritardato o ripetuto. In TLS e DTLS, questo stato governa la negoziazione tra client e server, lo scambio delle chiavi e la configurazione della sessione.
È importante perché la sicurezza spesso dipende dalla correttezza dello stato. Se la macchina riprende dal passaggio sbagliato, riutilizza un offset obsoleto o accetta messaggi fuori ordine, il codice può leggere o scrivere nella memoria sbagliata, saltare la convalida o divulgare dati. Negli attacchi, i difetti nella gestione dello stato dell'handshake possono esporre il contenuto dell'heap, compromettere l'autenticazione o creare condizioni di denial-of-service. Nelle difese, un attento tracciamento dello stato, limiti alle ritrasmissioni e controlli rigorosi sui messaggi aiutano a mantenere sicura la logica di recupero del protocollo su reti inaffidabili.


