Secure Sockets Layer (SSL) è un protocollo sviluppato da Netscape per fornire una connessione sicura tra due o più dispositivi tramite Internet. SSL utilizza un sistema crittografico che utilizza due chiavi per crittografare i dati, una chiave pubblica nota a tutti e una chiave privata o segreta nota solo al destinatario del messaggio. La maggior parte dei browser Web supporta SSL e molti siti Web utilizzano il protocollo per ottenere informazioni riservate sugli utenti, inclusi i numeri di carta di credito. Per convenzione, gli URL che richiedono una connessione SSL iniziano con https anziché con http.
Ciò non significa che SSL e S-HTTP siano protocolli identici, ma solo che i due sono strettamente correlati e facilmente riconoscibili dall'etichetta https. Mentre SSL crea una connessione sicura tra un client e un server su cui è possibile inviare qualsiasi quantità di dati in modo sicuro, S-HTTP è progettato per trasmettere i singoli messaggi in modo sicuro. SSL e S-HTTP, quindi, possono essere visti come tecnologie complementari piuttosto che concorrenti. Entrambi i protocolli sono stati approvati dall'Internet Engineering Task Force (IETF) come standard.
Come funziona SSL?
SSL opera implementando un handshake in tre fasi che si sovrappone a una connessione TCP:
- Quando un browser Web tenta di connettersi a un sito Web utilizzando SSL, il browser richiede prima al server Web di identificarsi. Ciò richiede al server Web di inviare al browser una copia del certificato SSL.
- Il browser verifica se il certificato SSL è attendibile e, in tal caso, invia un messaggio di verifica al server web.
- Il server risponde quindi al browser con un riconoscimento firmato digitalmente per avviare una sessione crittografata SSL. Ciò consente la condivisione dei dati crittografati tra il browser e il server, come identificato dall'etichetta https invece che da http.
SSL contro TSL
Secure Sockets Layer (SSL) è il predecessore di Transport Layer Security (TLS). Nel 2014, la versione 3.0 di SSL era considerata vulnerabile a causa degli attacchi POODLE (Padding Oracle On Downgraded Legacy Encryption), che consentivano il furto di cookie HTTP protetti o contenuti dell'intestazione di autorizzazione HTTP dalle comunicazioni sottoposte a downgrade. Oggi, SSL 3.0 è considerato obsoleto ed è stato sostituito da Transport Layer Security (TLS), ma è ancora ampiamente distribuito. TLS perfeziona il processo di handshake di SSL e migliora alcune delle vulnerabilità di sicurezza per creare un protocollo più affidabile. I certificati TSL sono talvolta falsamente indicati come certificati SSL, ma il protocollo SSL è stato utilizzato raramente da quando è stato ufficialmente deprecato nel 2015.