venerdì 1 luglio 2005

La firma digitale su smart card forse scelta miope

6. LA FINE DI MD 5
==================================
Nell'agosto 2004 alcuni ricercatori annunciarono la scoperta di alcune preoccupanti vulnerabilità nell'algoritmo di Hash MD5. MD5 è sicuramente l'algoritmo crittografico di Hash più in uso. Dato un documento od una qualsiasi stringa di bit, un algoritmo crittografico di Hash produce una impronta di lunghezza fissa che lo individua praticamente in maniera unica.
L'impronta di un documento prodotta da un algoritmo crittografico di Hash viene usata principalmente per identificare il documento stesso e verificare che il documento non sia stato modificato. Gli algoritmi crittografici di Hash e le impronte da loro generate sono elementi fondamentali della maggioranza dei protocolli crittografici attuali, dalle firme digitali alle VPN cifrate. In particolare, i certificati digitali, le CA, PKI ed i protocolli per le firme digitali basano molte delle loro caratteristiche sulle proprietà degli algoritmi crittografici di Hash, ed in particolare quasi tutti adottano MD5.
Purtroppo le vulnerabilità di MD5 scoperte lo scorso agosto si sono rivelate anche più severe di quanto si potesse immaginare inizialmente.
E' ora possibile, anche se non è ancora facile, costruire due documenti simili ma dal significato del tutto diverso, che hanno la stessa impronta MD5. Ad esempio sul sito http://www.cits.rub.de/MD5Collisions/ due ricercatori tedeschi mostrano due documenti in formato Postscript diversi nei contenuti ma con la stessa impronta MD5. E' facile e consigliato a tutti, scaricare i due documenti di una sola pagina e verificare di persona che hanno la stessa impronta MD5, ma che invece l'algoritmo crittografico di Hash SHA1 genera per loro impronte diverse.
Si possono facilmente immaginare le possibili conseguenze di una firma digitale che utilizzi MD5 su di un contratto elettronico.
Cosa fare ora? Ovviamente cercare di evitare di usare MD5. Di solito i certificati digitali durano un anno, e le CA dovrebbero emettere i nuovi certificati digitali utilizzando un altro algoritmo di Hash. Anche chi utilizza la firma digitale dovrebbe fare lo stesso, ovvero non usare più MD5, il che potrebbe non essere così facile se le firme sono fatte in smart-card o simili. Inoltre tutti i documenti elettronici già firmati e per i quali era stato usato MD5 come algoritmo di Hash, dovrebbero essere firmati digitalmente di nuovo con un diverso algoritmo di Hash.
Quale algoritmo di Hash usare oggi? Il sostituto naturale di MD5 è SHA1, purtroppo anche SHA1 ha delle vulnerabilità simili a quelle di MD5, anche se per il momento meno gravi. Passare oggi a SHA1 potrebbe voler dire ritrovarsi tra un anno nell'identica situazione di oggi ma per SHA1. Le alternative sono gli algoritmi SHA256, SHA512 e Whirpool che purtroppo sono molto recenti, poco studiati e poco diffusi. Quindi la strada che i più stanno adottando è quella di passare subito a SHA1 già prevedendo di doverlo sostituire a breve.
(Autore: Andrea Pasquinucci, CTS CLUSIT)

Nessun commento: