Questo è il fondamento di Crittografia chiave asimmetrica (o crittografia a chiave pubblica). Ogni parte ha una coppia di chiavi, una chiave pubblica e una chiave privata.
È possibile crittografare i dati con la chiave pubblica, ma è possibile decrittografarli solo con la chiave privata. Ora, quando si utilizzano le chiavi pubbliche si verifica un calo di prestazioni, quindi di solito viene impostata una chiave simmetrica. Il problema è che abbiamo bisogno di un modo sicuro per distribuire la nostra chiave. La crittografia a chiave pubblica viene utilizzata per scambiare in modo sicuro quella chiave.
Nella sua forma più semplificata, un client crea una chiave segreta K e la crittografa utilizzando la chiave pubblica del server. Ora, solo il server può decrittografarlo e K viene utilizzato per crittografare tutto il traffico successivo.
K non viene mai trasferito in chiaro, quindi anche se un ISP raccoglie tutto il traffico tra client e server, non sapranno mai cosa sia K. (Cioè, a meno che non ci siano vulnerabilità).
Come detto, c'è molto altro da vedere (negoziazione SSL, ecc ...) quando si imposta un tunnel SSL, ma questa è l'idea generale.