Il funzionamento della crittografia classica su internet è questo:
- il server genera un sua coppia di chiavi ASIMMETRICHE (RSA) certificate da una Authority;
- quando il client contatta il server, come prima cosa il server gli manda la chiave pubblica. Essendo pubblica, per definizione è una chiave che può venire in possesso di chiunque, anche ad un man-in-the-middle;
- appena il cIlent la riceve, genera una chiave SIMMETRICA (con algoritmi di tipo DES, TripleDES, Blowfish, …), la cifra con la chiave pubblica che ha ricevuto dal server e la spedisce al server;
- un man-in-the-middle non può decifrare la chiave simmetrica in transito non avendo la chiave privata;
- invece il server usando la sua chiave privata decifra il pacchetto ed estrae la chiave simmetrica e da quel momento entrambi gli endpoint cifrano e decifrano lo stream utilizzando la chiave simmetrica condivisa.
Commenti recenti