Medio Oriente:il giorno dopo Stuxnet – Crittografia, l’arte del segreto

di Elisa Bertacin

“Crittografia” è un concetto che affascina da sempre l’uomo, posto di fronte alla “sfida” di trasmettere messaggi o comunicazioni accessibili solo da pochi e selezionati destinatari. La crittografia è quella scienza in grado di fornire uno strumento atto a mantenere segrete tutte quelle informazioni che non si vogliono divulgare pubblicamente.

L’operazione tramite la quale le informazioni vengono nascoste è detta cifratura o crittazione, e si effettua tramite un algoritmo chiamato cifrario. Il messaggio da cifrare è detto testo chiaro (plaintext), il quale, tramite la chiave del cifrario, viene convertito nel testo cifrato o crittogramma (ciphertext).

La decrittazione indica il procedimento inverso, nel quale si converte un crittogramma in testo chiaro, attraverso la chiave del cifrario.

Nel corso della storia, le tecniche di crittografia sono state utilizzate prevalentemente da quattro categorie di persone: i militari, i corpi diplomatici, i diaristi e gli amanti. È ovvio che, considerato il contesto del giornale, sono i primi due ambiti quelli che più ci interessano, soprattutto quello militare.

Già Plutarco racconta dei generali spartani, i quali inviavano e ricevevano messaggi sensibili usando la scitala, una piccola bacchetta di legno. Il messaggio veniva scritto su una striscia di pelle arrotolata attorno alla scitala. La decifrazione del messaggio era possibile, dunque, solo utilizzando una bacchetta delle stesse dimensioni, su cui arrotolare la striscia con il messaggio.

Anche tra gli imperatori romani la crittografia era una tecnica molto utilizzata nelle comunicazioni di importanza strategica; uno dei più antichi cifrari conosciuti è il c.d. “Cesareo”: Cesare Augusto, ad esempio, era solito scrivere i propri messaggi, sostituendo ogni lettera con quella successiva, mentre Giulio Cesare sostituiva ogni lettera con quella successiva di tre posti. Si tratta di tecniche molto semplici, che rientrano nella categoria dei cifrari di sostituzione. Essi sono facilmente attaccabili, dal momento che basta conoscere le statistiche del linguaggio con cui il testo chiaro è stato scritto (ad esempio, le lettere, i digrammi, ecc. più ricorrenti) e sostituire tali lettere a quelle più ricorrenti nel testo cifrato.

Se i cifrari di sostituzione conservano comunque l’ordine originale dei simboli del testo in chiaro, i c.d. cifrari di trasposizione, invece, riordinano le lettere, ma senza alterarle (come nel caso della scitala spartana). In sintesi: la chiave deve essere una parola o una frase che non contengano alcuna lettera ripetuta; il testo chiaro viene disposto su righe sovrapposte, della stessa lunghezza della chiave. Le colonne così ottenute vengono quindi numerate, partendo da quella sotto la lettera della chiave più vicina all’inizio dell’alfabeto, e così via per le altre lettere della chiave. Il testo cifrato sarà letto dalle colonne, partendo da quella con il numero più basso. Sebbene sia una tecnica di crittografia più complessa rispetto a quella di sostituzione, anche questa può comunque essere svelata: infatti, basta indovinare la lunghezza della chiave, intuibile soprattutto nel caso in cui si sospetti la presenza di determinate parole nel testo chiaro, e tentare di ordinare poi le colonne.

La più famosa macchina di codifica dei messaggi inventata è Enigma, usata nel corso della Seconda Guerra Mondiale dalle forze armate tedesche. Nonostante fosse costantemente modificata e potenziata, un gruppo di esperti, tra cui Marian Rajewski ed Alan Turing, riuscirono a violarla e a velocizzare il processo di decrittazione, garantendo notizie strategicamente vitali alle Forze Alleate.

Con l’avvento dei computer, la crittoanalisi ha assunto un’importanza ancora più elevata. Le tecniche si basano essenzialmente sulle stesse idee della crittografia tradizionale, ossia sostituzione e trasposizione, sebbene la complessità sia notevolmente superiore, soprattutto perché, a differenza del passato, oggi la tendenza è di utilizzare algoritmi di cifratura così complicati che, se anche il crittoanalista avesse a disposizione enormi quantità di testo cifrato, non sarebbe comunque in grado di comprenderlo.

Infatti, in un’epoca in cui la vita quotidiana, pubblica e privata, è sempre più computerizzata, la difesa della privacy e di dati sensibili è un problema sempre più rilevante: si pensi alle transizioni effettuate tramite carte di credito, che rimangono impresse in un database, o alle telefonate, registrate dalle compagnie telefoniche per i loro scopi di mercato, o alle e-mail che riceviamo ed inviamo ogni giorno. Al di là dei provvedimenti legislativi a tutela della privacy (con tutti i limiti e le criticità connesse), la crittografia rappresenta un validissimo strumento per la protezione dei propri dati, sebbene questa scienza (o arte) sia ancora vista come un qualcosa di inaccessibile ad uso esclusivo del mondo militare.

Due sono le principali casistiche di necessità di crittazione nella vita quotidiana:

  1. Caso in cui l’informazione, una volta crittata, debba semplicemente essere conservata sul posto. In questo caso, il problema principale è quello di renderla invulnerabile da accessi non autorizzati.
  2. Caso in cui l’informazione debba essere trasmessa in qualche luogo. Il problema, dunque, consiste nell’evitare che qualcuno la capisca, qualora venisse intercettata (l’esempio tipico è lo scambio di e-mail). È questo il caso più problematico al giorno d’oggi, che richiama quotidianamente l’attenzione delle compagnie produttrici di software di crittazione. Pensiamo, per l’appunto, alla posta elettronica: essa circola su scala mondiale tramite Internet, il quale di per sé costituisce un canale di comunicazione che non garantisce la segretezza dei dati che vi circolano: prima di giungere a destinazione, infatti, un messaggio passa attraverso diversi nodi e maggiore è il loro numero, maggiori sono le possibilità che il messaggio venga intercettato e/o manomesso. La potenza dei moderni calcolatori, infatti, è in grado di utilizzare filtri che trattengano solo i dati che interessano ed eventualmente di modificarli senza che nessuno lo percepisca, nel passaggio tra mittente e destinatario.

Una regola fondamentale della crittografia moderna è la supposizione che il crittoanalista conosca il metodo generale di cifratura utilizzato. L’elemento principale, dunque, diventa la chiave di cifratura. Per alcuni algoritmi, le chiavi di cifratura e decifratura sono uguali, per altri diverse. Si distinguono tra:

–          algoritmi simmetrici (detti anche a chiave simmetrica o a chiave segreta): essi permettono a mittente e destinatario di usare la medesima chiave per crittare e decrittare un messaggio. Tale chiave viene utilizzata come parametro di una funzione unidirezionale ed invertibile: in tal modo, il destinatario potrà rielaborare il crittogramma, usando la funzione inversa e la stessa chiave utilizzata dal mittente.

Questa tecnica si basa sulla capacità del mittente e del destinatario di mantenere segreto il codice di cifratura.

Il primo maggiore algoritmo simmetrico usato nella crittazione computerizzata fu il Data Encryption Standard (DES), che fece la sua comparsa negli Stati Uniti negli anni Settanta ed utilizzava una chiave da 56-bit (circa 70 quadrilioni di possibili combinazioni). Con lo sviluppo continuo del mondo dell’informatica, il DES è stato ritenuto non più sicuro e sostituito dall’Advanced Encrytion Standard (AES), che usa chiavi da 128-, 192- o 256-bit.

I sistemi a chiave simmetrica possono essere utilizzati per aumentare la riservatezza (ossia, protegge l’informazione da visualizzazioni non autorizzate) e l’integrità (impedisce l’alterazione e la manipolazione dell’informazione) dell’informazione, nonché l’autenticazione dell’utente. Non mancano comunque i problemi legati a questa tecnica di crittografia, dal momento la comunicazione della chiave ai due utenti viene comunque comunicata per via telematica, con tutti i rischi connessi. Inoltre, non è possibile il c.d. “Non-Disconoscimento” del messaggio, cioè, né il mittente né il destinatario possono provare ad un terzo che un messaggio sia stato effettivamente generato da uno dei due.

–          algoritmi asimmetrici (detti anche a chiave asimmetrica o a chiave pubblica): il concetto di crittografia asimmetrica è stato introdotto nel 1976 da Whitfield Diffie e Martin Hellman, i quali pensarono di sfruttare due diverse chiavi, creando un metodo basato essenzialmente su due concetti: da un lato, il messaggio codificato con una delle due chiavi può essere decodificato solamente con l’altra; dall’altro, non è matematicamente possibile ricavare una chiave dall’altra. Ogni utente della rete diffonde la propria chiave pubblica, mentre mantiene segreta l’altra. La coppia di chiavi si basa su un sistema di numeri primi, il che le rende potenzialmente molto sicure, data l’infinita disponibilità di numeri primi e, dunque, di possibili combinazioni. Piuttosto noto è il programma di crittografia Pretty Good Privacy (PGP), che permette di crittare praticamente ogni tipologia di messaggio e dati, ed è utilizzato soprattutto nei sistemi di posta elettronica. Una volta cifrato il messaggio dal mittente, nessuno oltre al destinatario potrà leggerlo, nemmeno lo stesso mittente.

Oltre al mittente, è possibile autenticare anche il contenuto stesso del messaggio, tramite un hashing del testo: una funzione one-way hash trasforma un testo normale di lunghezza arbitraria in una stringa di lunghezza limitata. Essa rappresenta un’“impronta digitale” unica del messaggio, detta valore di hash o checksum crittografico. Se il messaggio viene alterato, anche questo valore cambierà.

Di sicuro, gli algoritmi asimmetrici risolvono il problema dell’intercettazione dell’eventuale scambio di chiavi segrete, dato che è sufficiente inviare all’utente corrispondente la chiave pubblica. Tuttavia, nemmeno questa tecnica di crittografia è immune da debolezze e criticità. Ecco perché oggi c’è la tendenza ad utilizzare in maniera ibrida le due tipologie di algoritmi di crittazione. I sistemi asimmetrici sono molto lenti, quindi, nel caso di crittazione di grandi volumi di dati, la chiave unica simmetrica è da preferirsi.