Punti deboli della sicurezza nell'utilizzo dell'hash MD5 crittografato RSA del contenuto del certificato

0

Supponiamo di disporre di un sito Internet banking basato su un server Web sicuro che esegue il protocollo HTTPS tramite la porta 443.

Il server si autentica sui client tramite un certificato X.509 firmato da una CA. La firma viene costruita utilizzando la crittografia RSA dell'hash MD5 del contenuto del certificato. La chiave utilizzata per la crittografia è una chiave privata a 512 bit della CA.

Quali sono le debolezze più ovvie in un simile "setup"? Pensavo che l'uso di MD5 per l'integrità sarebbe stato un punto debole in quanto MD5 è stato rotto. Ma siccome è crittografato con RSA usando una chiave privata a 512 bit, suppongo che MD5 non possa essere manipolato veramente?

    
posta DSF 26.05.2014 - 19:28
fonte

2 risposte

3

Ci sono due grandi punti deboli in ciò che descrivi - e una fonte di confusione.

La fonte di confusione è che si sta parlando di "crittografia con la chiave privata" che è un'analogia imperfetta. In realtà, questa è una firma digitale . Storicamente, le firme digitali con RSA sono state dapprima spiegate come "crittografia con la chiave privata", ma ciò dimostra solo confusione perché una tale spiegazione evoca immagini di dati riservati, che non si applicano a questo caso. Inoltre, è sbagliato: le firme RSA conformi allo standard (come per PKCS # 1 ) sono non "crittografia con la chiave privata".

Nella situazione che descrivi, la debolezza che l'esaminatore si aspetta (presumo che questo sia compito a casa) è che MD5 è debole contro le collisioni; ciò consentirebbe a un utente malintenzionato di creare una coppia di contenuti del certificato, uno con il suo nome, l'altro con il nome del sito bancario, in modo tale che entrambi abbiano lo stesso valore. Otterrebbe quindi un certificato per il primo caso (legittimamente) e quindi utilizzerà la firma risultante sul secondo certificato. Vedi questa pagina per una dimostrazione e molte spiegazioni (leggilo!). L'importante punto concettuale qui è che il valore hash MD5 può essere predetto dall'attaccante poiché tutto ciò che entra nell'MD5 è noto - quindi, ripensarci in termini di "valore MD5 crittografato" fa scattare esattamente le idee sbagliate.

L'altra debolezza evidente è che RSA a 512 bit è debole. Una chiave RSA a 512 bit è stata interrotta nel 1999 . Diverse altre chiavi di dimensioni simili sono state interrotte da allora; in un caso (nel 2012), questo è stato fatto con software open source e 75 $ di CPU noleggiata basata sul cloud.

    
risposta data 26.05.2014 - 19:47
fonte
0

La chiave RSA a 512 bit è di gran lunga la debolezza più facile da sfruttare in questa configurazione.

Sì MD5 è rotto nel senso che non fornisce resistenza alle collisioni ma in realtà trasformarlo in un attacco pratico non è banale. Tale operazione richiede il calcolo di collisioni prefissate distinte e che individuano una CA che non randomizzi in modo casuale i numeri seriali dei certificati. Questo attacco è stato dimostrato in pratica, ma non appena è stato pubblicato, la CA di destinazione ha modificato le proprie pratiche, quindi ripetere l'exploit significherebbe trovare un'altra CA con pratiche altrettanto scorrette.

OTOH 512 bit RSA può essere preso in considerazione con risorse a livello hobbista e questo processo non richiede alcuna interazione con una CA.

    
risposta data 05.06.2017 - 14:21
fonte

Leggi altre domande sui tag