SSL 2.0 non includeva un protocollo di terminazione verificato, quindi qualsiasi parte coinvolta in una connessione SSL 2.0 che ricevesse una chiusura a livello TCP non poteva determinare in modo affidabile se il peer volesse davvero chiudere la sessione SSL o meno. Questo è stato un grosso problema, specialmente con HTTP perché, in HTTP 1.0, è consentito non inviare un'intestazione Content-Length
, affidandosi invece alla chiusura del supporto di trasporto sottostante per contrassegnare la fine dei dati. Quindi, il troncamento silenzioso era possibile.
Questo è stato risolto in SSL 3.0 e versioni successive (ad esempio TLS, perché TLS 1.0 è SSL 3.1). Vengono scambiati un paio di messaggi SSL "Alert" di tipo close_notify
, e questi messaggi, come tutto il resto del tunnel, beneficiano della protezione della crittografia (in particolare l'integrità verificata).
Se ipotizziamo che TLS 1.2 sia solido e sicuro, allora c'è poco che un utente malintenzionato può fare se non interrompere il servizio. Può forzare una connessione chiusa (a livello TCP) ma entrambe le parti sapranno che qualcosa è successo. Più insidiosamente, un utente malintenzionato con il pieno controllo di uno dei router potrebbe rallentare la connessione, eliminando i pacchetti (forzando le implementazioni TCP ad emetterli nuovamente) e facendo altri brutti scherzi (ad esempio costringendo le parti a inviare pacchetti più piccoli inviando pacchetti ICMP falsi che affermano che non è possibile inoltrare un determinato pacchetto perché è troppo grande). L'attaccante può quindi inviare gli SSLers a caccia di oche per un lungo periodo, senza fare nulla di così grezzo e visibile come una terminazione di connessione. A causa della natura molto flessibile del TCP, l'utente malintenzionato potrebbe ridurre la larghezza di banda a, diciamo, 30 byte al secondo (emulando un modem 300 bauds ...), che è abbastanza simile alla totale interruzione nella pratica, tranne che i sistemi informatici alle due estremità crederei ancora che la connessione sia viva e vegeta, e non la lascerebbe cadere per iniziarne una nuova.