0 risultati
video suggerito
video suggerito
7 Aprile 2023
14:30

Cos’è la crittografia, come funziona e perché serve a proteggere la “confidenzialità” dei dati

Cifrare i dati significa renderli incomprensibili ad un attaccante che li intercetta. Questa necessità è tutt'altro che moderna e veniva già usata al tempo dei romani da Giulio Cesare.

1 condivisione
Cos’è la crittografia, come funziona e perché serve a proteggere la “confidenzialità” dei dati
crittografia

La crittografia è quell'insieme di tecniche utilizzate per far sì che nessuno, al di fuori del legittimo destinatario, possa comprendere il messaggio che gli è stato inviato, garantendo quindi la confidenzialità e la riservatezza dei dati. Quando parliamo di confidenzialità facciamo riferimento alla capacità di due entità di scambiarsi messaggi su internet in modo che nessuno che intercetti i dati sia in grado di comprenderne il significato.

Ogni messaggio che viaggia sulla rete viene diviso in pacchetti cifrati, ovvero unità informative composte da una sequenza di bit che indicano, tra le altre informazioni, chi è il mittente, chi è il destinatario (entrambi sotto forma di indirizzi IP) e quale è il messaggio. Quindi, se il traffico non fosse cifrato, un attaccante in grado di intercettare uno o più pacchetti (attacco conosciuto come "Man in the middle") sarebbe in grado di comprendere le entità che stanno comunicando e cosa si stanno dicendo.
In questo articolo vedremo quindi non solo quali sono le principali tecniche ma anche cosa cambia tra crittografia simmetrica e asimmetrica.

Cifratura simmetrica

La necessità di cifrare i messaggi inviati è una necessità tutt'altro che moderna, infatti, già Giulio Cesare usava cifrare i messaggi di corrispondenza militare con il cosiddetto "Cifrario di Cesare", un algoritmo di cifratura monoalfabetico a scorrimento.  Grazie a questo metodo, un nemico che avesse intercettato un messaggero romano non sarebbe stato in grado di comprendere i messaggi che trasportava.

cifrario di cesare

L'algoritmo era semplice, ogni lettera  veniva associata a quella 3 posizioni più avanti nell'alfabeto e questo costituiva il messaggio cifrato (questo il motivo per cui questi algoritmi vengono chiamati anche "a scorrimento" o "a sostituzione"). La chiave dell'algoritmo sarà quindi il vettore che associa ogni lettera con quella corrispondente del testo cifrato.
Il testo "CIAO" diventerà quindi la stringa cifrata "FNDR" e un attaccante che intercetta il messaggio senza il vettore-chiave non sarà in grado di ricostruire il messaggio originario.

Questo metodo, seppur molto semplice, ci fa capire a cosa serve cifrare i messaggi. È bene far notare che il cifrario di Cesare non è un algoritmo cifratura sicuro infatti non viene usato in informatica in quanto presenta grosse vulnerabilità dovute all'analisi del testo cifrato (ad esempio, le lettere, in qualsiasi lingua, non sono tutte equiprobabili all'interno di una frase).

L'esempio che abbiamo visto è basato su una chiave simmetrica, cioè il mittente che deve cifrare il messaggio ed il destinatario che dovrà decifrarlo condividono infatti una stessa chiave (ovvero il vettore di associazione delle lettere). Algoritmi di questo tipo sono detti quindi a cifratura simmetrica e prevedono che le parti si scambino, in qualche modo, la chiave prima di poter iniziare a cifrare e decifrare i dati.

Come ci scambiamo la chiave?

Come fanno i nostri smartphone e PC ad accordarsi su una chiave simmetrica da utilizzare con un server che magari si trova a migliaia di km di distanza? La difficoltà, a questo punto, risiede nel capire come mittente e destinatario possano generare localmente la stessa chiave (operazione di "Key Agreement") da utilizzare come simmetrica senza scambiarla in chiaro in una comunicazione non cifrata. In questo caso, infatti, un attaccante che intercettasse il pacchetto contenente la chiave potrebbe decifrare i dati che stiamo inviando!

A capire come farlo furono Diffie e Hellman che fondarono l'omonimo protocollo crittografico basato sull'utilizzo di numeri primi molto grandi. Quando parliamo di "numeri primi molto grandi" ci riferiamo a numeri che hanno oltre 600 cifre decimali.

La differenza con la crittografia asimmetrica

Quando navighiamo in internet su siti web che implementano la cifratura dei dati, quindi, prima di iniziare a cifrare i dati, concordiamo una chiave simmetrica con il server utilizzando  degli algoritmi a chiave asimmetrica nei quali ogni entità che partecipa alla comunicazione possiede una coppia di chiavi, una per cifrare i messaggi ed una per decifrarli.

La chiave per cifrare i messaggi è detta chiave pubblica e può essere condivisa con chiunque, viceversa, la chiave privata, è segreta ed è usata per decifrare i messaggi. Il server quindi ci invierà la sua chiave che sarà calcolata a partire da quella pubblica e sarà l'unica in grado di decifrare il messaggio. Un esempio di protocollo di cifratura a chiave asimmetrica è RSA, ancora utilizzato per servizi come la firma digitale.

La crittografia nell'uso quotidiano

La crittografia rappresenta, quindi, uno strumento di sicurezza e protezione della privacy ampiamente utilizzato in moltissimi campi. Pensiamo per esempio all'invio di un messaggio WhatsApp oppure a una transazione bancaria o, ancora, all'acquisto su un e-commerce e alla memorizzazione di password.
Sarà capitato a tutti di leggere in una chat WhatsApp il messaggio che ci informa che messaggi e telefonate di quella chat sono protetti da crittografia end-to-end; messaggi che, quindi, possono essere letti solo da mittente e destinatario e non da altri soggetti o da WhatsApp stesso.

I messaggi verranno quindi cifrati prima di essere effettivamente inviati sulla rete così che chiunque intercetti il messaggio non sia in grado di comprenderne il contenuto e saranno decifrati solo una volta che avranno raggiunto il telefono del destinatario grazie ad una chiave di decrypting.
WhatsApp, come anche Telegram, propone ai suoi utenti la possibilità di verificare che la chat sia crittografata e sicura tramite il confronto di una sequenza di numeri, o emoji nel caso di Telegram, sui dispositivi dei soggetti in comunicazione: sequenze uguali confermano la sicurezza della chat.

Sfondo autopromo
Cosa stai cercando?
api url views