Quando si visita un sito web protetto da SSL, il browser stabilisce una connessione sicura con il server del sito web utilizzando un certificato SSL. Questo certificato contiene informazioni su: identità del sito web, come il nome e l'indirizzo, e una chiave pubblica utilizzata per iniziare il processo di crittografia delle informazioni.
La crittografia utilizzata dal protocollo SSL è basata sulla tecnologia a chiave pubblica/privata, che utilizza due chiavi diverse per crittografare e decrittografare i dati. La chiave pubblica viene utilizzata per crittografare i dati, mentre la chiave privata viene utilizzata per decrittografare i dati.
Quando un browser stabilisce una connessione sicura con un sito web protetto da SSL, genera innanzitutto una chiave simmetrica, o chiave di sessione, per la sessione corrente e la invia al server cifrata con la chiave pubblica del certificato SSL. Il server, a sua volta, utilizza la corrispondente chiave privata per decrittografare la chiave di sessione. Ciò garantisce che solo il server, oltre al browser, possa averne accesso.
In questo modo, il browser e il server possono utilizzare questa chiave simmetrica per crittografare e decrittografare i dati scambiati durante la sessione, in entrambe le direzioni, senza la necessità di utilizzare chiavi private uniche per ogni parte. Ciò rende il processo di crittografia più efficiente e veloce.
Pertanto, anche se un'entità malintenzionata riuscisse ad intercettare i dati in transito, non sarebbe in grado di leggerli poiché non dispone della chiave di sessione.
In sintesi, il protocollo SSL garantisce che le informazioni scambiate tra un browser web e un sito web siano protette da crittografia, rendendo le transazioni sicure e garantendo che i dati sensibili non possano essere intercettati o modificati da terze parti.