Ciao a tutti e benvenuti in questo nuovo post dove andremo ad analizzare uno dei concetti più importanti al giorno d’oggi per la comunicazione online sicura. Questo concetto è quello della Crittografia.
Molti di voi saranno a conoscenza del funzionamento della crittografia classica, dove si ha una “chiave” segreta che viene utilizzata per codificare delle informazioni, convertendole in una serie di caratteri illeggibili. Questa chiave viene condivisa con il destinatario del messaggio, e viene utilizzata per decifrare il messaggio. In questo modo, qualsiasi persona non autorizzata a leggere il messaggio, non riesce a spiare il contenuto del testo inviato.
Il problema principale con questo metodo si presenta nel condividere la chiave con il destinatario in modo segreto e sicuro. Infatti la confidenzialità del messaggio viene immediatamente smontata quando la chiave viene resa pubblica. E come sappiamo al giorno d’oggi e molto difficile inviare un messaggio in rete senza che questo venga intercettato.
Come facciamo quindi ad inviare questa chiave al destinatario, senza mostrare la chiave a tutti? Per inviare la chiave in modo sicuro sarebbe necessaria una connessione codificata, ma per creare una connessione codificata servirebbe una chiave :/
La soluzione a questo paradosso è la crittografia asimmetrica o Public Key Encryption.
Come funziona la crittografia asimmetrica
Con la crittografia asimmetrica invece di generare una sola chiave, vengono generate due chiavi. In questo caso il messaggio può essere codificato usando la prima chiave e decodificato usando la seconda chiave (e viceversa).
Queste due chiavi vengono generate in modo da funzionare insieme, e la codifica del messaggio rimane uguale al vecchio metodo. La differenza sta però nella pubblicazione delle chiavi. Infatti dove nel primo metodo la chiave doveva rimanere segreta, nella crittografia asimmetrica una chiave viene resa visibile a tutti (public key), e l’altra chiave non viene condivisa con nessuno (private key).
Perché la crittografia asimmetrica è più sicura?
Mentre prima dovevamo inviare la chiave segreta al destinatario e sperare che nessuno la scoprisse, adesso mittente e destinatario possono entrambi generare un paio di chiavi (4 chiavi) e condividere tra loro solamente le loro chiavi pubbliche.
Per esempio se Luca invia in messaggio a Francesco, avrà bisogno di codificare ed inviare il messaggio utilizzando la chiave pubblica di Francesco. Francesco poi decodificherà il messaggio utilizzando la sua chiave privata. In questo modo non c’è rischio che qualcuno possa intercettare la chiave privata di Francesco.
Vediamo un altro vantaggio della crittografia asimmetrica:
Immaginiamo che Luca vuole inviare un messaggio a Francesco. La prima cosa che Luca fa è codificare il messaggio con la sua chiave privata. Quindi il messaggio potrà essere decifrato con la chiave pubblica di Luca.
Ora Luca codifica di nuovo lo stesso messaggio con la chiave pubblica di Francesco e invia il messaggio. Francesco nel ricevere il messaggio, utilizza la sua chiave privata per decifrare il messaggio, in seguito utilizza la chiave pubblica di Luca per decifrarlo ulteriormente.
Con questo metodo vi sono alcuni fattori che garantiscono una maggiore sicurezza come:
- Sappiamo che nessuno tranne Francesco può leggere il messaggio
- Sappiamo che Luca è il vero mittente e non un impostore
- Sappiamo che il messaggio non è stato modificato
Come possiamo vedere questo metodo è molto più sicuro rispetto all’utilizzo di una sola chiave segreta.
Ora sapete come funziona la crittografia asimmetrica o Public Key Encryption.
Spero questo post vi sia piaciuto e vi sia stato di aiuto. Condividete questo post con i vostri amici se pensate che ne possano trarre beneficio. Grazie a tutti e ci vediamo al prossimo post