Crittografia a chiave pubblica (quasi) tutto quello che avreste voluto sapere…

web text
Photo by Miguel Á. Padriñán on Pexels.com

Esaminiamo il problema più da vicino: come fa il mittente a inviare la chiave di decrittazione simmetrica al destinatario senza che qualcuno spii anche quella conversazione?
In particolare, cosa succede se il mittente e il destinatario sono fisicamente lontani l’uno dall’altro, ma vogliono poter conversare senza occhi indiscreti?

La crittografia a chiave pubblica (nota anche come crittografia asimmetrica) ha una buona soluzione per questo.
Consente a ogni persona in una conversazione di creare due chiavi: una chiave pubblica e una chiave privata.

Le due chiavi sono collegate e in realtà sono numeri molto grandi con determinate proprietà matematiche.
Se codifichi un messaggio utilizzando la chiave pubblica di una persona, questa può decodificarlo utilizzando la chiave privata corrispondente.

Esempio:

Giulia e Cesare stanno utilizzando i loro due computer per inviare messaggi crittografati utilizzando la crittografia a chiave pubblica.
Esistono intermediari tra Giulia e Cesare: i rispettivi punti Wi-Fi, i provider di servizi Internet e i loro server di posta elettronica. In realtà, potrebbero esserci centinaia di computer tra Giulia e Cesare.
Questi intermediari creano e archiviano copie dei messaggi di Giulia e Cesare ogni volta che vengono trasmessi.

A loro non importa che gli intermediari possano vederli comunicare, ma vogliono che i contenuti dei loro messaggi rimangano privati.

Innanzitutto, Giulia ha bisogno della chiave pubblica di Cesare. Cesare invia la sua chiave pubblica (un file) su un canale non sicuro, come un messaggio di posta elettronica non crittografato.
Non gli importa se gli intermediari possano accedervi perché la chiave pubblica è qualcosa che può condividere liberamente; la metafora chiave qui non regge; non è del tutto corretto pensare alla chiave pubblica come a una chiave letterale.
Cesare invia la chiave pubblica su più canali, in modo che gli intermediari non possano invece inviare una delle proprie chiavi pubbliche a Giulia.

Giulia riceve il file della chiave pubblica di Cesare. Ora Giulia può crittografare un messaggio per lui!
Scrive il suo messaggio: “Incontriamoci in giardino”.

Invia il messaggio crittografato. È crittografato solo per Cesare.

Sia Giulia che Cesare possono capire il messaggio, ma a chiunque altro cerchi di leggerlo sembrerà incomprensibile. Gli intermediari sono in grado di vedere i metadati, come la riga dell’oggetto, le date, il mittente e il destinatario, niente altro.

Poiché il messaggio è crittografato sulla chiave pubblica di Cesare, è destinato solo a Cesare e al mittente (Giulia).

Cesare può leggere il messaggio utilizzando la sua chiave privata.

Ricapitolando:

  • La crittografia a chiave pubblica consente a qualcuno di inviare la propria chiave pubblica in un canale aperto e non sicuro.
  • Avere la chiave pubblica di un amico ti consente di crittografare i suoi messaggi.
  • La tua chiave privata viene utilizzata per de crittografare i messaggi crittografati.
  • Gli intermediari, come i provider di servizi di posta elettronica, i provider di servizi Internet e tutti gli altri nelle reti, sono in grado di vedere i metadati: chi sta inviando cosa a chi, quando, a che ora viene ricevuto, qual è l’oggetto, che il il messaggio è crittografato e così via.

Segno dei tempi

La crittografia a chiave pubblica consente di non dover trasferire di nascosto la chiave di decrittazione al destinatario del messaggio perché quella persona ha già la chiave di decrittazione.
La chiave di decrittazione è la chiave privata.
Pertanto, tutto ciò di cui hai bisogno per inviare un messaggio è la chiave pubblica di crittografia corrispondente del tuo destinatario.
E si può ottenerlo facilmente perché il destinatario può condividere la sua chiave pubblica con chiunque, poiché le chiavi pubbliche vengono utilizzate solo per crittografare i messaggi, non per de crittografarli.

Ma c’è di più
Sappiamo che se si crittografa un messaggio con una determinata chiave pubblica, può essere de crittografato solo dalla chiave privata corrispondente.
Ma è vero anche il contrario; se si crittografa un messaggio con una determinata chiave privata, può essere de crittografato solo dalla chiave pubblica corrispondente. Questo non lo sapevate eh?

Perché sarebbe utile?
A prima vista, non sembra esserci alcun vantaggio nell’inviare un messaggio segreto con la tua chiave privata che chiunque abbia la tua chiave pubblica possa decifrare. Ma supponiamo di aver scritto un messaggio che dice “Prometto di pagare a Claudio 100 Euro” e poi di averlo trasformato in un messaggio segreto utilizzando la chiave privata.
Chiunque potrebbe de crittografare quel messaggio, ma solo una persona potrebbe averlo scritto: la persona che ha la tua chiave privata, cioè TU.
In effetti, crittografando il messaggio con la tua chiave privata, ti sei assicurato che potesse provenire solo da te.

In altre parole, con questo messaggio digitale hai fatto la stessa cosa che facciamo noi quando firmiamo un messaggio nel mondo reale.

La firma rende anche i messaggi a prova di manomissione. Se qualcuno provasse a cambiare il tuo messaggio da “Prometto di pagare a Claudio 100 Euro” a “Prometto di pagare a Fabrizio 100 Euro“, non sarebbe in grado di firmarlo nuovamente utilizzando la tua chiave privata.
Quindi, un messaggio firmato garantisce che provenga da una certa fonte e non sia stato alterato durante il transito.

Se ci pensate bene questa è la firma digitale

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.