Domanda

Continuo a leggere su SO che MD5 è rotto, rovinato, obsoleto e mai usato. Questo mi fa arrabbiare.

Il fatto è che attacchi di collisione su MD5 sono ora abbastanza facili. Alcune persone hanno attacchi di collisione fino a un'arte e possono persino usarli per prevedere le elezioni .

Trovo la maggior parte degli esempi MD5 "rotto" " meno interessante. Anche il famoso hack certificato CA è stato un attacco di collisione nel senso che è dimostrabile che la parte abbia generato i certificati BUONO ed EVENTO contemporaneamente. Ciò significa che se la CA EVIL si è fatta strada nella natura, è dimostrabile che trapelasse dalla persona che aveva la buona CA e quindi si fidava comunque.

Quello che sarebbe molto più preoccupante è un preimage o un secondo attacco preimage.

Quanto è probabile un attacco preimage su MD5? Esistono ricerche in corso per indicare che è imminente? Il fatto che MD5 sia vulnerabile agli attacchi di collisione aumenta le probabilità di subire un attacco preimage?

È stato utile?

Soluzione

Nella crittografia le raccomandazioni non sono generalmente formulate prevedendo il futuro, poiché ciò è impossibile da fare. Piuttosto i crittografi cercano di valutare ciò che è già noto e pubblicato. Per adattarsi a potenziali attacchi futuri, i cryptosystems sono generalmente progettati in modo da avere un certo margine di sicurezza. Per esempio. le chiavi crittografiche sono generalmente scelte un po 'più a lungo del necessario. Per lo stesso motivo gli algoritmi vengono evitati una volta rilevati i punti deboli, anche se questi punti deboli sono solo di certificazione.

In particolare, i RSA Labs hanno raccomandato di abbandonare MD5 per le firme già nel 1996 dopo che Dobbertin aveva trovato delle collisioni nella funzione di compressione. Le collisioni nella funzione di compressione non implicano l'esistenza di collisioni nella funzione hash, ma non possiamo trovare collisioni per MD5 a meno che non possiamo trovare collisioni per la sua funzione di compressione. Pertanto, i laboratori RSA hanno deciso di non avere più fiducia nella resistenza alle collisioni degli MD5.

Oggi ci troviamo in una situazione simile. Se siamo sicuri che una funzione hash sia resistente alle collisioni, possiamo anche essere sicuri che la funzione hash sia preimage. Ma MD5 ha notevoli debolezze. Quindi molti crittografi (comprese persone come Arjen Lenstra) pensano che MD5 non abbia più il margine di sicurezza necessario per essere utilizzato anche in applicazioni che si basano solo sulla resistenza pre-immagine e quindi raccomandano di non usarlo più. I crittografi non possono prevedere il futuro (quindi non cercare documenti che facciano proprio questo), ma possono raccomandare ragionevoli precauzioni contro potenziali attacchi. Raccomandare di non usare più MD5 è una di queste precauzioni ragionevoli.

Altri suggerimenti

Non lo sappiamo.

Questo tipo di anticipo tende a venire "all'improvviso": qualcuno fa una svolta teorica e trova un metodo che è 2 ^ 10 (o qualunque cosa) volte migliore del precedente.

Sembra che gli attacchi preimage possano essere ancora un po 'lontani; un documento recente rivendica una complessità di 2 ^ 96 per un preventivo su una riduzione , Versione 44-round di MD5. Tuttavia, questa non è una questione di probabilità, ma piuttosto se qualcuno è abbastanza intelligente da fare l'ultimo passo e portare la complessità del vero affare in un margine realistico.

Detto questo, poiché gli attacchi di collisione sono già molto reali ( un minuto su un tipico laptop ) e gli attacchi pre-immagine potrebbero (o non potrebbero) essere proprio dietro l'angolo, è generalmente considerato prudente passare a qualcosa di più forte ora, prima che sia troppo tardi.

Se le collisioni non sono un problema per te, potresti avere il tempo di aspettare concorso NIST SHA-3 per inventare qualcosa di nuovo. Ma se hai la potenza di elaborazione e i pezzi da risparmiare, usare SHA-256 o simili è probabilmente una precauzione prudente.

La resistenza pre-immagine di MD5, dal punto di vista crittografico, è già rotta, vedere questo documento di Eurocrypt 2009 . In questo contesto formale "rotto" significa più veloce degli attacchi di forza bruta, vale a dire attacchi con una complessità inferiore a (2 ^ 128) / 2 in media. Sasaki e Aoki hanno presentato un attacco con una complessità di 2 ^ 123,4 che è di gran lunga solo teorico, ma ogni attacco pratico si basa su un attacco teorico meno potente, quindi anche una rottura teorica getta gravi dubbi sul suo mezzo sicurezza a lungo termine. Ciò che è anche interessante è che riutilizzano molte ricerche che hanno subito attacchi di collisione su MD5. Ciò dimostra bene il punto di vista di Accipitridae secondo cui il margine di sicurezza di MD5 sulla resistenza pre-immagine è sparito con gli attacchi di collisione.

Un altro motivo per cui l'uso di MD5 nel 2009 è stato e ora l'uso di SHA1 è fortemente sconsigliato per qualsiasi applicazione è che la maggior parte delle persone non capisce in quale esatta proprietà si basa la sicurezza del proprio caso d'uso sopra. Sfortunatamente hai dimostrato il mio punto nella tua domanda affermando che l'attacco della CA del 2008 non si è basato su un fallimento della resistenza alle collisioni, come ha sottolineato Caf.

Per elaborare un po ', ogni volta che una CA (attendibile) firma un certificato, firma anche i dati potenzialmente dannosi che provengono da un cliente sotto forma di una richiesta di firma del certificato (CSR). Ora nella maggior parte dei casi tutti i dati che verranno firmati possono essere pre-calcolati dal CSR e da alcune condizioni esterne. Questo ha il fatale effetto collaterale dello stato in cui si troverà la funzione hash, quando sta per eseguire l'hash i dati non attendibili che escono dal CSR sono completamente noti all'attaccante, il che facilita un attacco di collisione. Pertanto, un utente malintenzionato può pre-calcolare un CSR che costringerà la CA a eseguire l'hash e firmare i dati che hanno una collisione con un certificato ombra noto solo all'attaccante. L'autorità di certificazione non può verificare le condizioni preliminari del certificato ombra che verificherebbe in genere prima di firmarlo (ad esempio, se il nuovo certificato non afferma di essere un certificato radice), poiché ha accesso solo al CSR legittimo fornito dagli aggressori. In generale, una volta che hai attacchi di collisione e una parte dei tuoi dati è controllata da un utente malintenzionato, non sai più cos'altro potresti firmare accanto ai dati che vedi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top