Cosa compie un attacco di collisione per un utente malintenzionato? [duplicare]

0

Stavo installando una CA su una macchina Windows Server 2012, e mi ha chiesto quale algoritmo hash voglio firmare con i certificati (MD5, SHA1, SHA256, ecc.). Ho letto che SHA256 è immune agli attacchi di collisione mentre i metodi meno recenti non lo sono.

Da quanto ho capito, la CA utilizza questo algoritmo di hashing per creare firme digitali. Come quando un server chiede alla CA una firma digitale in modo che la gente possa fidarsi di essa, la CA hash il certificato del server quindi la crittografa con la chiave privata della CA. Quindi il server invierà questa firma digitale ai propri client in modo che possano fidarsi di esso.

Quindi quello che mi chiedo è che differenza fa se si sceglie un metodo di hashing più sicuro rispetto ad un altro nella configurazione della CA? Come che differenza fa se un attaccante trova qualcosa che produce lo stesso hash di quello nella firma? Non ha la chiave privata della CA né la chiave privata del server, quindi cosa farebbe compiendo un attacco di collisione?

Modifica: i link non rispondono alla domanda.

    
posta Zouzou Ibba 01.07.2017 - 19:33
fonte

1 risposta

2

Potresti mescolare un attacco di collisione con un attacco di seconda preimage. La differenza tra i due è in ciò che controlla l'attaccante: in un attacco di collisione, l'attaccante deve trovare due stringhe che generano lo stesso hash, e l'attaccante può scegliere entrambe le stringhe . In un attacco di second preimage, l'attaccante deve trovare una stringa che generi lo stesso hash di una determinata stringa che l'utente malintenzionato non può controllare . Vedi le risposte a questa domanda per ulteriori informazioni sulla differenza.

Hai chiesto "Che differenza fa se un attaccante trova qualcosa che produce lo stesso hash di quello nella firma?" - qui, stai descrivendo un attacco di seconda preimage. Se ciò fosse possibile, un utente malintenzionato potrebbe utilizzarlo per generare un certificato contraffatto con lo stesso hash del certificato valido, quindi copiare semplicemente la firma dal certificato valido a quello contraffatto; poiché i loro hash corrispondono, anche la firma corrisponderà. Ciò comporterebbe un completo fallimento della sicurezza del certificato. Ma (almeno per quanto ne so) non c'è traccia di un pratico attacco di seconda preimage contro SHA-1 (o anche MD5), quindi questo è piuttosto ipotetico.

Il rischio di attacchi di collisione (che sono possibili contro MD5 e SHA-1) è meno diretto. Il problema qui non è con il tuo attuale certificato del server; si potrebbe effettivamente utilizzare MD5 per questo, e le connessioni protette con esso sarebbero completamente sicure. Il problema è che un utente malintenzionato può generare due certificati con hash corrispondenti, uno dei quali sarà OK per un'autorità di certificazione e uno dei quali è completamente non valido. Invia l'OK a una CA attendibile, la firma, quindi trasferisce la firma (valida) della CA al certificato non valido, quindi utilizza il certificato non valido (con firma valida) per tutto ciò che desidera. Compreso semplicemente la sostituzione del certificato (valido) dal tuo server.

Questo è non ipotetico. Nel 2008, un gruppo di ricercatori del Chaos Computer Club ha utilizzato questo processo per creare un certificato CA intermedio con una firma CA valida (MD5); poiché il certificato forged era un certificato CA stesso, potevano quindi utilizzarlo per firmare qualsiasi cosa volessero (anche se l'avevano intenzionalmente creata prima della scadenza, quindi non poteva essere effettivamente utilizzata). Vedi questo articolo CNET .

Per evitare di essere ingannati da certificati falsi come quello, i clienti devono rifiutare i certificati firmati MD5 (e probabilmente presto firmati da SHA-1). E che è il motivo per cui dovresti firmare i tuoi certificati con SHA256 - non è che i certificati MD5 e SHA-1 siano insicuri, è che i client non possono dire che sono sicuri e quindi non hanno altra scelta che rifiutarli. Vedi la mia risposta a una domanda simile qui per ulteriori dettagli.

    
risposta data 01.07.2017 - 23:20
fonte

Leggi altre domande sui tag