All'inizio degli anni settanta la crittografia ad uso privato veniva utilizzata senza che esistessero delle pubblicazioni specifiche in materia. Si sapeva, ad esempio, che i sistemi crittografici ad uso militare utilizzavano speciali apparecchiature delle quali si conosceva ben poco.
I prodotti in commercio venivano utilizzati da piccole aziende, e a causa delle conoscenze così frammentarie i sistemi venduti offrivano scarse garanzie in fatto di sicurezza ed affidabilità. Nel 1972 negli Stati Uniti il National Bureau of Standard (NBS), una parte dell'US Department of Commerce, iniziò un programma per la stesura di uno standard per la protezione dei dati.
In effetti questo atto fu la risposta ad una legge del 1969 nota come Brooks Act, che sottolineava l'esigenza di nuovi standard in materia di sicurezza dati al fine di una migliore utilizzazione dei calcolatori del governo.
L'Institute for Computer Science and Tecnology (ICST), una delle maggiori unità operative dell'NBS, produsse delle linee guida e degli standard. Le linee guida (che includevano aree come la sicurezza fisica) erano adeguate a contesti in cui non si richiedeva l'interoperabilità tra computer. Gli standard si occupavano di aree come la crittografia, l'autenticazione, il controllo degli accessi, l'immagazzinamento protetto dei dati e la trasmissione, e potevano effettivamente riguardare ambiti di interoperabilità.
Gli standard erano concepiti in differenti "sfumature":
Basic Standard: anche detto "standard di buona pratica", specificava funzioni generiche che richiedevano di raggiungere un insieme di risultati comuni.
Interoperability Standard: definiva i formati e le funzioni che permettevano ai dati di poter essere utilizzati su diversi calcolatori. A questo livello non sono prese in considerazione le implementazioni (hardware, software o firmware) né tantomeno le strutture dati.
Interface Standard: specificava non soltanto le funzioni e il formato dei dati attraverso l'interfaccia, ma includeva specificazioni fisiche, elettriche e logiche sufficienti a rimpiazzare un' implementazione (dispositivo o programma) dall'altro lato dell' interfaccia con una seconda implementazione.
Implementation Standard: specificava non soltanto i formati, le funzioni e le interfacce, ma anche le strutture e i metodi di implementazione. A questo livello potrebbe essere necessario garantire che alcune secondarie caratteristiche come la velocità, la regolarità di funzionamento e la sicurezza fisica, debbano andare incontro a particolari necessità.
Furono poi prese in considerazione le diverse "sfumature" di standard per definire l'ambiente in cui verrà sviluppato il sistema che poi diventerà il DES.
La Implementation Standard fu rigettata perché avrebbe scoraggiato i rivenditori all'utilizzo di nuove tecnologie.
Sebbene in alcune applicazioni era conveniente avere le interfacce definite, anche la Interface Standard fu rigettata perché troppo restrittiva (avrebbe lasciato fuori troppe interessanti applicazioni).
Il Basic Standard non riguardava l'interoperabilità e fu subito esclusa. Fu scelto l'Interoperability Standard per specificare il DES, richiedendo specificazioni complete di funzioni di base e suoi formati, mantenendo comunque l'indipendenza dall'implementazione fisica.
L'NBS iniziò lo sviluppo del DES quando iscrisse nel Federal Register (15 Maggio 1973) una sollecitazione a concentrarsi sugli algoritmi di crittografia per la protezione dei dati sui computer. L'eco che ebbe questo invito dimostrò che c'era molto interesse nello sviluppo di uno standard, ma fu denunciato il fatto che in materia di crittografia le tecnologie disponibili erano poche.
La pubblicazione del 15 Maggio 1973 suggeriva dei requisiti che lo standard doveva possedere:
Già alla fine degli anni '60 l'IBM iniziò un progetto di ricerca nell'ambito della crittografia applicata ai computers. Il risultato di questo lavoro fu il sistema LUCIFER (che utilizzava una chiave a 128 bit). L'attività di ricerca continuò e i risultati raggiunti apparvero in una serie di pubblicazioni e documenti ufficiali. Uno degli algoritmi prodotti stava per diventare il DES.
L'IBM sottomise il suo algoritmo all'NBS in seguito ad una seconda sollecitazione iscritta nel Federal Register il 27 Agosto 1974. L'NBS a sua volta chiese che fosse la National Security Agency (NSA) a testare l'algoritmo riguardo ad un insieme informale di requisiti. Contemporaneamente richiese che l'IBM accordasse diritti non esclusivi e senza copyright per costruire e vendere apparecchiature che implementassero l'algoritmo.
A distanza di due anni circa dalla prima sollecitazione, l'NBS iscrisse due note nel Federal Register il 17 Marzo 1975.
Nella prima venne pubblicata per intero la proposta Encryption Algorithm for Computer Data Protection. L'NBS dichiarò che questo soddisfaceva i primari requisiti per un algoritmo DES. Fece anche notare che alcuni documenti nazionali e stranieri contenevano rivendicazioni sulla paternità dell' algoritmo. Il candidato al DES rischiava di cadere sotto il controllo dello straniero.
La seconda nota conteneva una dichiarazione dell'IBM che accordava le richieste avanzate dall'NSA circa l'esclusività e il copyright, purché il Department of Commerce definisse l'algoritmo proposto come DES.
Il primo Agosto 1975, l'NBS iscrisse nel Federal Register la quarta nota riguardo lo standard. Le agenzie federali e tutto il pubblico interessato richiedevano commenti circa lo standard proposto, ma nonostante le pressioni l'NBS continuò (e continua tutt'oggi) a valutare l'algoritmo, le richieste di sicurezza nel settore pubblico e privato e le alternative allo standard.
Nell'ottobre dello stesso anno Hellman presentò le sue critiche asserendo che, a dispetto delle 256 chiavi necessarie per un attacco brutale dell'algoritmo, la metà di esse avrebbe permesso in media la violazione di DES.
Infatti, la sicurezza dipendeva fortemente dalla chiave e quindi variarne la lunghezza era di vitale importanza per assicurare un grado minimo di affidabilità.
Una seconda critica all'algoritmo venne dall'uso delle S-box nel processo di cifratura e decifratura, perché si credeva che i valori delle S-box fossero stati scelti in modo da nascondere qualche tranello. Per questo motivo l'NBS (oggi NIST) organizzò due workshop allo scopo di analizzare eventuali tranelli e punti oscuri dell'algoritmo, e per valutare la possibilità di incrementare la lunghezza della chiave. Ai workshop vennero invitati implementatori, progettisti, acquirenti e matematici affinché si potesse dar vita ad uno standard che soddisfacesse tutte le richieste da parte degli addetti ai lavori.
Il risultato fu la approvazione del DES come standard. L'NBS evidenziò, tuttavia, la necessità di rivedere il DES periodicamente.
L'NBS continuò a valutare l'algoritmo DES che venne publicato definitivamente il 15 gennaio 1977.
Ma in che termini DES venne adottato come standard?
L'ANSI lo adottò come uno standard (X3.92) nel settore privato, chiamandolo Data Encryption Algorithm e pubblicando i modi standard con cui esso poteva operare.
Altri due gruppi dell'ANSI svilupparono degli standard basati su DES per il settore bancario e delle transazioni finanziarie.
Anche la General Services of Administration (GSA) formulava i suoi standard per le telecomunicazioni con l'ausilio di DES, prima che il
Nonostante il Dipartimento del Tesoro non adottò il DES quale standard per usi crittografici, il gruppo ISO per gli standard commerciali e finanziari lo adottò per le autenticazioni.
Nel 1992 il NIST sollecitò ulteriori commenti sul DES proponendo come alternative:
Il risultato della discussione fu la certificazione del DES per ulteriori cinque anni. La successiva sessione dei lavori fu fissata per il 1998. In quest'ultimo caso i lavori della commissione durarono un'anno, portando all'ultima riaffermazione del DES l'11 Maggio 1999. Prima della scadenza dei 5 anni sono state indette da una società americana l'RSA Data Security, Inc. delle vere e proprie gare, dette challenge, per rompere il DES. Tale società offriva 10.000 dollari a chi per primo rompeva la sua challenge a patto che venisse rotta entro il 25% del miglior tempo precedente. Questa challenge è stata rotta nel 1997, nel 1998 ed anche nel 1999:
Queste challenge sono un modo spettacolare per svalutare il DES dal punto di vista della sicurezza. Intanto il NIST aveva lanciato il bando per l'identificazione del successore del DES, che si chiamerà AES (Advanced Encryption Standard) e si pensa sarà utilizzato nel 2001. Il sito internet dell'AES è: http://www.nist.gov/aes/. Tra le richieste all'AES vi sono quelle di resistere alla crittoanalisi differenziale e, di avere una chiave minima di 128 bit, in modo che resista agli attacchi di forza bruta per un lunghissimo periodo di tempo, anche tenendo in conto un incremento nella potenza di calcolo pari a quello mantenuto negli ultimi venti anni.
Pagina precedente | Torna in cima | Pagina successiva