Nella prima parte di questo lungo articolo abbiamo visto quali sono state le vicende che hanno portato alla nascita del DES. Abbiamo anche analizzato la struttura di questo famoso algoritmo, vedendo come le idee che furono utilizzate per realizzarlo siano poi state ampiamente riutilizzate in tutta una serie di algoritmi crittografici che dal DES hanno preso spunto e tratto origine.
In questa seconda ed ultima parte dell’analisi del DES ci occuperemo invece delle voci circa le interferenze dell’NSA sullo sviluppo dell’algoritmo e le crittoanalisi che ne hanno mostrato le vulnerabilità e ne hanno decretato l’abbandono come standard ed il definitivo appellativo di “non sicuro”.
La scomoda “presenza” dell’NSA e la robustezza del DES
La scarsa robustezza del DES deriva dalla limitata lunghezza della sua chiave. Molte illazioni sono state fatte circa la scelta eseguita dall’NSA di imporre una chiave così corta, quando già il Lucifer operava con chiavi a 256 bit. La più ricorrente di esse è la diceria secondo la quale l’NSA era all’epoca già in possesso (unica al mondo) di elaboratori elettronici talmente potenti in grado di violare un testo cifrato con una chiave a 56 bit.
Un’altra voce molto diffusa è quella secondo cui le S-Boxes contenessero una sorta di backdoor, vale a dire uno schema nascosto che poteva permettere all’NSA di decifrare qualunque messaggio protetto con il DES. Secondo i “sostenitori del complotto”, l’NSA fece pressioni affinché l’algoritmo che doveva essere utilizzato come standard fosse sicuro verso tutti gli attacchi allora noti al grande pubblico ma non verso i loro… Qui però entriamo nella trama di un film di spionaggio. La verità sembra essere che l’NSA lavorò al rafforzamento delle S-Boxes con tecniche segrete proprio perché aveva imposto una chiave molto corta. Difatti uno sviluppatore del DES, Alan Konheim, affermò che:
“spedimmo le S-Boxes a Washington. Ce le rispedirono completamente differenti.”
A sostegno di questa teoria c’è il fatto che le S-Boxes del DES sono risultate molto robuste verso la crittoanalisi differenziale**, una tecnica che è stata inventata solo agli inizi degli anni ’90. Secondo i crittoanalisti le S-Boxes mostrano una robustezza assolutamente inusuale e “studiata” verso questo tipo di attacco: esse sono nate, cioè, proprio per resistere ad un attacco che ufficialmente all’epoca nessuno conosceva!
Steven Levy, giornalista americano specializzato in informatica e crittografia, ha pubblicato nel 2001 un libro intitolato “Crypto” dove riporta le dichiarazioni di alcuni crittografi che lavorarono al progetto DES. Secondo quanto scritto in quel testo i ricercatori IBM scoprirono le tecniche di attacco mediante la crittoanalisi differenziale già nel 1974 ma le tennero segrete su ordine dell’NSA. Don Coppersmith, crittografo IBM che lavorò alle S-Boxes del DES, ha dichiarato infatti a Levy che la decisione di IBM di secretare quei documenti
“fu presa perché la [crittoanalisi differenziale] poteva essere uno strumento molto potente, usato per violare un sacco di schemi, e c’era la convinzione che quelle informazioni rilasciate al pubblico dominio potessero compromettere seriamente la sicurezza nazionale”.
Walter Tuchman, capo del progetto DES e sviluppatore del Triple-DES, ha rilasciato invece questo commento:
“Loro [l’NSA, N.d.A.] ci chiesero di marcare tutti i nostri documenti [relativi alla crittoanalisi differenziale, N.d.A.] con la dicitura ‘Confidenziale’… Apponemmo poi un numero su ognuno di essi e li chiudemmo in un luogo sicuro, perché erano considerati come ‘Classificati’ dal governo USA. Ci dissero di farlo, così noi lo facemmo.”
Attacchi al DES e sua violazione
Alla fine degli anni ’80 l’unico attacco noto al DES era quello condotto con la forza bruta (brute force): sfruttare gli elaboratori elettronici per provare tutte le possibili combinazioni di caratteri e ricostruire così la chiave di cifratura. Ma la potenza di calcolo dei computer di allora non era sufficiente per portare a termine un simile attacco al DES in un tempo ragionevole né i costi erano abbordabili.
Nel 1977, infatti, Whitfield Diffie e Martin Hellman (i “padri” della crittografia a chiave pubblica) proposero un calcolatore in grado di scovare una chiave DES in un solo giorno. Peccato che realizzarlo costasse “appena” 20 milioni di dollari! Nel 1993 la cifra era scesa ad 1 milione di dollari, stando al “preventivo” presentato dal crittoanalista canadese Michael J. Wiener per una sua macchina che sarebbe stata capace di violare il DES in 7 ore.
Contemporaneamente, agli inizi degli anni ’90 comparivano le prime crittoanalisi del DES che contemplassero anche altri tipi di attacco oltre alla forza bruta. I primi a lavorare in tal senso furono Eli Biham e Adi Shamir, due crittoanalisti israeliani che nel 1990 scoprirono (pubblicamente) l’attacco a crittoanalisi differenziale: nel 1992 in un loro documento affermavano che con tale attacco si poteva violare il DES, ma serviva conoscere però almeno 247 testi in chiaro, un valore assolutamente irrealistico. Nel 1994 il crittoanalista giapponese Mitsuru Matsui scriveva che con un attacco condotto con la crittoanalisi lineare (una tecnica da lui inventata agli inizi del 1990 e che si basa sulla ricerca di approssimazioni affini al funzionamento di un algoritmo crittografico) si poteva violare il DES, ma servivano però 243 testi in chiaro noti. Anche in questo caso l’attacco restava a livello teorico.
Il progredire della tecnica ha portato la potenza elaborativa dei calcolatori a crescere in maniera esponenziale (secondo la ben nota legge di Moore, la potenza di calcolo raddoppia ogni 18 mesi). E così gli attacchi a forza bruta si facevano negli anni sempre più efficaci, fino a quando, nel 1997, il Progetto DESCHALL riusciva a violare per la prima volta ed in circa 96 giorni di calcolo un testo cifrato con il DES (ed a portarsi a casa il premio di 10.000 dollari messo in palio da RSA Security, che aveva indetto una gara per riuscire a forzare il vecchio algoritmo) utilizzando un software che girava durante i tempi di idle su di una rete di centinaia di migliaia di computer collegati via internet. Nel 1998 la Electronic Frontier Foundation costruiva una macchina denominata EFF DES cracker (1800 CPU per un costo di 250.000 dollari), poi ribattezzata Deep Crack, che recuperava una chiave DES in poco più di 2 giorni; una seconda versione migliorata effettuava l’operazione in circa 22 ore.
Nel marzo del 2007 le Università di Bochum e Kiel, in Germania, hanno assemblato COPACABANA (vedi figura a lato), una macchina composta da 120 chip FPGA di tipo XILINX Spartan3-1000 operanti in parallelo, comunemente disponibili in commercio, assemblati su 20 DIMM da 6 chip l’una, ed appositamente programmata per lavorare sul DES. Con soli 10.000 dollari di spesa, è stato possibile recuperare una chiave DES in circa 6,4 giorni di calcolo.
Conclusioni
Il DES, come si è visto, è stato un vero pioniere della crittografia. Grazie ad esso schiere di studiosi si sono cimentati per anni nello studio della sua struttura e della sua robustezza: ed è proprio studiando il modo di violarlo che è stato dato un enorme impulso a quella scienza informatica denominata crittoanalisi che, all’epoca della pubblicazione del DES, vedeva fra le sue fila pochissimi studiosi. Il DES, nel bene o nel male, ha talmente segnato la scena crittografica che anche oggi, a più di 20 anni di distanza dalla sua comparsa sulla scena, è utilizzato come termine di paragone per qualsiasi algoritmo a blocchi di nuova concezione. Non solo, ma grazie alle debolezze scovate nel DES ed al modo per attaccarlo crittografi di tutto il mondo hanno via via perfezionato la tecnica rilasciando algoritmi di crittazione sempre più efficienti, rapidi e sicuri. E’ grazie anche al DES, insomma, se oggi la crittografia ha raggiunto i livelli che le competono.
Bruce Schneier, uno dei “guru” della crittografia mondiale, ha dichiarato:
Il DES è il più importante algoritmo mai realizzato. Dato che aveva il pedigree dell’NSA, era ritenuto universalmente “sicuro”. E’ stato anche il più studiato algoritmo di cifratura mai inventato e molti crittografi “sono andati a scuola” sul DES. In quasi tutti i nuovi algoritmi di cifratura in uso oggi è possibile trovare le loro radici che affondano nel DES, ed i documenti che analizzano differenti aspetti del DES continuano anche ai giorni nostri ad essere pubblicati.
D’altro canto, gli acciacchi della vecchiaia non si nascondono, ed il DES non è da meno. Come si è visto, la tecnologia oggi esistente permette di recuperare la chiave di cifratura del DES con hardware alla portata di tutti: pertanto, l’uso di questo algoritmo deve essere limitato al puro scopo accademico. Per la protezione “seria” dei dati è meglio affidarsi senza nessun dubbio a qualcosa d’altro e che sia, nel contempo, analizzato come e quanto il DES (leggi: AES).
*: ‘NSA è un’agenzia di intelligence americana, al pari di CIA ed FBI, che è stata fondata nel 1952 con lo scopo preciso di proteggere tutte le trasmissioni governative e militari e, contemporaneamente, di controllare tutte le trasmissioni civili. Non c’è in America una telefonata, una e-mail o qualunque altro scambio di dati effettuato con qualsiasi canale che non venga monitorato dall’NSA.
**: la crittoanalisi differenziale è lo studio di come le differenze presenti in un testo fornito in input ad un algoritmo di crittazione influenzino il suo output. Studiando i risultati ottenuti si riesce a ricostruire la struttura interna delle trasformazioni e permutazioni effettuate, scoprendo dove l’algoritmo non manifesta comportamenti casuali, e sfruttando queste proprietà per ricostruire la chiave segreta.