L'algoritmo di hashing SHA-1 non è più sicuro: Google spiega perché

Dopo due anni di lavoro i tecnici di Google trovano una collisione e presentano due documenti PDF completamente diversi con la stessa firma SHA-1.

Gli algoritmi di hashing giocano un ruolo fondamentale nella protezione dei dati sensibili. Esse permettono di generare una stringa univoca identificativa a partire da un qualunque testo. La trasformazione operata funziona in un solo senso: non è quindi possibile, dalla stringa generata, risalire al testo iniziale. . O, almeno, non dovrebbe esserlo.

Molti sistemi operativi e applicazioni web ricorrono alle funzioni di hashing per memorizzare in modo sicuro elenchi di password od altre informazioni importanti che non devono essere leggibili anche se il database fosse malauguratamente letto da parte di terzi non autorizzati.

Quando due messaggi producono un identico hash, si parla di “collisione”. La qualità di una funzione di hash è misurata in base alla difficoltà nell’individuazione di due testi in grado di generare una collisione.


Affinché una funziona di hashing “cada in disgrazia” è sufficiente che un gruppo di crittografi o di esperti informatici riesca a generare una collisione. È quanto accaduto nel caso del popolarissimo algoritmo SHA-1.

Google dichiara decaduto l’algoritmo di hashing SHA-1

Mentre l’algoritmo MD5 è ormai, da tempo, considerato assolutamente inaffidabile, i ricercatori di Google hanno annunciato di essere riusciti a trovare una collisione nel caso di SHA-1.

Dopo due anni di lavoro e 9 x 1018 calcoli, Google – in collaborazione con gli accademici del CWI Institute di Amsterdam – ha pubblicato due PDF, completamente diversi, che presentano la stessa firma SHA-1.

Affinché tutti possano svolgere le verifiche del caso, i due documenti sono stati pubblicati sul sito Shattered.it (la traduzione è l’abbiamo frantumato, riferito all’algoritmo SHA-1).

Per l’industria IT, le conclusioni alle quali sono pervenuti i tecnici di Google hanno un’evidente conseguenza: la sempre più pressante esigenza di abbandonare SHA-1 come algoritmo di hashing e passare ad alternative più sicure come SHA-256.

SHA-1 produce un valore di hash di 160 bit mentre le varianti SHA-256, SHA-384 e SHA-512, rispettivamente, generano un message digest ovvero un’impronta digitale da 224, 256, 384 e 512 bit di lunghezza.

Da anni“, scrive Google, “consigliamo di abbandonare SHA-1, soprattutto per ciò che riguarda la firma dei certificati TLS“.

Mentre un attacco nei confronti di MD5 può essere sferrato usando un semplice smartphone in appena 30 secondi, una tradizionale aggressione a SHA-1 di tipo brute force richiederebbe l’utilizzo di 12 milioni di GPU e un anno di lavoro.
I tecnici di Google, invece, sono riusciti a generare una collisione su SHA-1 usando appena 110 GPU in un anno di tempo.

In accordo con il modus operandi dell’azienda, Google attenderà almeno 90 giorni prima di rilasciare il codice utilizzato per generare due PDF con stesso hash SHA-1 (e che tutti, evidentemente, potranno adoperare…).

Un’infografica riassuntiva è disponibile a questo indirizzo.

Ti consigliamo anche

Link copiato negli appunti