ABC della sicurezza: crittografia

La storia

La crittografia (dal greco kryptòs=nascosto graphè=scrittura) è un insieme di procedure atte a nascondere il significato di un messaggio tranne che al mittente e al destinatario. Sin dal V secolo a.C. si hanno indicazioni sull’utilizzo della crittografia per lo scambio di messaggi importanti soprattutto durante conflitti militari, nei quali, grazie all’ausilio di questo espediente, era possibile avere un effetto sorpresa con la sicurezza di non essere scoperti, quantomeno non così facilmente.

enigma
Macchina Enigma

Il primo strumento di cui si ha sicura traccia è la scitala lacedemonica, presente negli scritti di Plutarco nel 400 a.C. la cui chiave consisteva nel diametro del cilindro attorno al quale veniva girata una striscia di cuoio, che invece rappresentava l’algoritmo.  Successivamente i metodi e lo studio che seguì l’evoluzione della crittografia portò a nuovi algoritmi come il Codice di Cesare, che consisteva nello spostare le lettere dell’alfabeto di alcune posizioni per cifrare una comunicazione, il disco di Enea, l’Atbash ebraico, la tavola di Vigenère, che fu un evoluzione del Codice di Cesare. Non si può parlare di crittografia senza citare un esempio nella storia recente: la macchina Enigma. Usata dal terzo Reich durante la seconda guerra mondiale questa macchina si basava su tre scambiatori che si occupavano della sostituzione delle lettere secondo il settaggio giornaliero che veniva impostato. Il totale di combinazioni possibili, considerati gli scambiatori e il settaggio, risultava essere vicino ai 10 miliardi. Molti messaggi di Enigma furono decrittati dalla macchina di Turing. Nome derivante dal suo inventore, famoso matematico inglese, padre dell’informatica teorica.
Chi vuole può divertirsi a verificare il funzionamento della macchina Enigma scaricando il software a questo link.

Nonostante alcuni di questi oggetti e sistemi di crittaggio rimasero inviolati per anni, ognuno di essi aveva lo stesso punto critico: una volta che l’algoritmo veniva scoperto i messaggi potevano essere decifrati. Di contro la crittografia moderna si basa sul fatto che: anche se l’algoritmo viene scoperto i messaggi non possono essere comunque decifrati. Proprio su questo concetto si basa il principio di Kerckhoffs, individuato nel 1883 nel celebre articolo “La cryptographie militaire”:

“La sicurezza di un sistema crittografico è basata esclusivamente sulla conoscenza della chiave, in pratica si pressupone noto a priori l’algoritmo di cifratura e decifrazione. “

Questo perché il nodo del problema risultava essere lo scambio della chiave. Ovvero per scambiarsi un messaggio segreto era necessario che sia il mittente che il destinatario conoscessero la chiave di cifratura, ovvero quell’elemento con il quale viene decodificato l’algoritmo. A questo proposito è possibile citare ciò che affermò Simon Singh, fisico ed esperto matematico:

 “Per poter condividere un segreto (tramite un messaggio crittato), due persone dovrebbero già condividere un segreto (la chiave)”

Nel 1976 i ricercatori Diffie, Hellman e Merkle dimostrarono pubblicamente, alla National Computer Conference negli USA, un sistema di crittazione che voleva risolvere il problema della chiave privata. Questo sistema consisteva in uno scambio di “lucchetti” tra mittente e destinatario che permetteva ai due l’invio di messaggi cifrati senza prima dover condividere una chiave per l’algoritmo. L’unico impedimento era dovuto dal fatto che, applicando questo metodo a due persone che vivono rispettivamente nella parte opposta del globo, lo scambio della chiave sarebbe stato possibile solo dopo la ricezione dei lucchetti da parte del mittente e del destinatario e ritorno,  avendo così un ritardo eccessivo dato il fuso orario. Applicare questo metodo a servizi come la posta elettronica sarebbe stato fallimentare.

Il problema fu superato con l’introduzione del metodo RSA. Il nome deriva dai suoi creatori: Rivest, Shamir,Adleman, i quali svilupparono il sistema utilizzando una chiave privata e una chiave pubblica. In questo caso il metodo di cifratura è detto asimmetrico, ovvero la chiave per cifrare e per decifrare non coincidono. Per cui è possibile rendere pubblica la chiave di cifratura e mantenere privata la chiave utile per decifrare i messaggi ricevuti.

A seguito del lancio del sistema RSA, Martin Gardner pubblicò su Scientific American un piccolo messaggio cifrato. La chiave era costituita da un numero n a 129 cifre, prodotto di due numeri primi elevati. Il messaggio e la chiave erano stati forniti da alcuni ricercatori del MIT, che offrivano una ricompensa a chiunque fosse riuscito a decifrarne il contenuto. Data la potenza computazionale dell’epoca si pensò che ci sarebbero voluti c.a. 20.000 anni per decifrarlo. La storia insegna all’uomo che ogni scoperta è irrisoria e che il progresso annulla sempre le distanze che prima potevano sembrare infinite. Fu così che grazie a nuovi metodi matematici di fattorizzazione dei numeri primi e grazie all’aumento delle capacità computazionali dei calcolatori, appena 17 anni dopo fu decrittato il messaggio. Ci vollero però 600 volontari per trovare i due numeri da 64 e 65 cifre.

Questa a grandi linee è la storia in bignami della crittografia e dei suoi metodi cardine che si dividono in crittografia simmetrica o asimmetrica. Oltre i sistemi indicati, per crittare un messaggio, è possibile inserire una funzione di hash, che permette di trasformare una stringa di lunghezza arbitraria in una nuova stringa di lunghezza fissa, conosciuto anche come firma digitale o più tecnicamente message digest. I più conosciuti sono l’MD5 e lo SHA-1. La combinazione di più metodi di crittografia rende sicuramente più complessa la possibilità di risalire al messaggio originario. A questo punto non vi annoierò con calcoli matematici o funzioni unidirezionali, ma sembra chiaro che l’evoluzione della crittografia è, ed è stata, parallela alle scoperte matematiche ed al progresso tecnologico. Con l’avvento di Internet e l’aumento esponenziale di calcolatori elettronici il processo ha subito un accelerazione elevata, come del resto tutte le tecnologie annesse all’informatica. La crittografia infatti viene utilizzata in molti contensti: dallo scambio di messaggi elettronici, a file contenuti su sopporti digitali, dalle connessioni WiFi (WEP/WPA) a tutti quei protocolli di comunicazione che necessitano di cifratura (SSH, IPSec, SSL, TLS, HTTPS, etc) che sono alla base di molti servizi che usiamo quotidianamente come l’home banking o Google.

La violazione è possibile? Cosa può fare l’impresa?

Come si può quindi riuscire a violare questo tipo di metodi e sistemi apparentemente inattaccabili? Uno degli attacchi più utilizzati per decifrare questo tipo di messaggi è del tipo man in the middle, ossia una terza parte che si finge rivecente e destinatario ed “ascolta” la comunicazione. Recentemente il problema è stato affrontato con HTTP Strict Transport Security, per quanto riguarda le connessioni web. Il sistema adottato anche dai maggiori vendor di browser web (Google Chrome, Firefox, etc) auspica l’eliminazione del man in the middle durante una comunicazione HTTPS, non considerando però che molti dei maggiori costruttori di Firewall utilizza questa funzione per offrire ai loro acquirenti la possibilità di effettuare verifiche sui pacchetti cifrati.

Cosa deve fare un azienda per gestire in maniera completa la sicurezza dei propri messaggi e informazioni? Quali sono i rischi connessi? Se consideriamo che PGP, un sistema di crittografia asimmetrica tra i più utilizzati, suggerisce di chiamarsi e leggersi il fingerprint per assicurarsi che la persona che lo riceve sia veramente chi vogliate, abbiamo la percezione di quanto sia complesso difendersi da un attaccante che vuole raggiungere il vostro messaggio. Un metodo semplice di “decrittazione”, soprattutto per la versione simmetrica, è un semplice keylogger, ossia un software che permette di registrare tutto ciò che digitiamo su una tastiera. Molti di essi possono essere portati da un maleware, o iniettati da una innocua pennetta USB.  Occorre quindi rendere il perimetro più intelligente sfruttando funzionalità di IPS (Intrusion Prevention System), coadiuvati da sistemi ATP che controllino non solo il traffico da e verso internet, ma anche quello laterale che nasconde spesso la diffusione di alcuni virus in grado di infettare la nostra rete. Sicuramente l’uso della crittografia rende più difficile il raggiungimento di alcune informazioni ma la sfida è ancora aperta. La crittografia quantica ed alcuni altri metodi innovativi stanno passando dal futuro al presente. La prossima soluzione sarà definitiva? Non a caso ho scelto di raccontarvi la storia della crittografia, nell’esperienza c’è la risposta. Nel progresso la soluzione.

Facebook Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here