Ci sono alcuni modi in cui questo può funzionare. Ma questo è il succo che le tue chiavi asimmetriche sono utilizzate più per la convalida dell'identità piuttosto che per la crittografia. Mentre in genere solo il server deve verificare la propria identità, a volte il server può richiedere di ripristinare l'identità del browser utilizzando un certificato client. Provalo qui se ti piace . †
†: Startcom è un'autorità di certificazione famosa per fornire certificati gratuiti, ma anche per avere un sito Web totalmente inutilizzabile che le persone effettivamente pagano per i certificati comunque, solo così non devono usare il sito di startcom.
Una volta eliminate le identità, il client e il server stabiliscono una chiave di sessione per la crittografia effettiva. Pertanto, mentre le informazioni sull'identità del certificato utilizzano RSA, la crittografia della sessione effettiva generalmente utilizza AES o RC4 o Blowfish - crittografie simmetriche in cui la stessa chiave viene utilizzata per crittografare e decrittografare. Questi sono drammaticamente più veloci.
Ci sono un paio di modi per generare una chiave di sessione. Il modo in cui viene eseguito dipende da quali funzionalità sono supportate dal server e dal browser. Il vecchio approccio più ingenuo è semplicemente generare un numero casuale e inviarlo crittografato usando la chiave pubblica. Il problema è che se la sessione viene catturata da un utente malintenzionato che in seguito acquisisce la chiave privata, sarà in grado di decrittografare le sessioni precedenti.
Una soluzione migliore che sta ottenendo la trazione utilizza la negoziazione di chiavi Diffie-Helman per generare un segreto condiviso che non viene mai comunicato. La negoziazione utilizza ancora le chiavi asimmetriche per garantire che la chiave negoziata non sia corrotta da un man-in-the-middle, ma il punto importante è che la chiave non transita mai sul filo, non può essere derivata da qualcosa che viene comunicata . Ciò significa che quando la connessione si chiude e il client e il server dimenticano entrambi la chiave, i dati, se acquisiti, non possono mai essere nuovamente decrittografati. Questo argomento riceve molta attenzione qui su questo sito sotto il moniker Perfect Forward Secrecy .