Microsoft sta iniziando a distribuire delle patch per eliminare SHA-1 dai suoi processi di aggiornamento. Dal 18 febbraio infatti saranno distribuiti update di Windows 10 solo tramite SHA-2.
Funzioni crittografiche di hash
I Secure Hash Algorithm sono una famiglia di cinque diverse funzioni crittografiche di hash ovvero: SHA-1, SHA-224, SHA-256, SHA-384 e SHA-512.
Tali algoritmi di hash funzionano producendo un message digest (valore di hash) di lunghezza fissa partendo da stringhe di lunghezza variabile. In buona sostanza la robustezza di tali sistemi sta nel fatto che questa funzione non è reversibile, ovvero non è possibile risalire al messaggio originale conoscendo solo il valore di hash.
Attualmente l'SHA-1 è l'algoritmo più diffuso ma anche quello meno sicuro visto che produce un digest di appena 160 bit. Gli altri producono invece volori di lunghezza in bit pari al numero indicato nella loro sigla, quindi per esempio SHA-512 produce un digest di ben 512bit.
Rischi di collisioni hash e prevenzione
La scelta di Microsoft è dunque pienamente giustificata ed è solo l'ultimo tassello di una strategia che dura da anni. Infatti l'azienda di Redmond, assieme a Mozilla, Google e Apple dal 2017, non accetta più certificati SSL criptati tramite SHA-1.
Inoltre nel febbraio 2017 i ricercatori di Big g hanno reso pubblica la prima tecnica pratica per generare una collisione hash. Tale situazione si genera quando due diversi input producono lo stesso output tramite una funzione hash.
Una collisione accidentale di hash è davvero molto rara, tuttavia è possibile sfruttare delle vulnerabilità di SHA-1 per genere delle collisioni mirate.
Utilizzando SHA-1 si potrebbero quindi verificare casi in cui un utente malintenzionato potrebbe sostituire il pacchetto dell'update con uno contenente codice malevolo durante il rilascio di un aggiornamento di Windows.
Via Cs.columbia.edu