Protezione di ZIP crittografati AES 128 contro attacchi di forza bruta

4

Quanto tempo occorrerebbe per decodificare un file zip crittografato AES 128 se la password è lunga 8 caratteri nell'intervallo di A-Z, a-z, 1-9?

Fa alcuna differenza se l'oggetto System.Random di .NET è stato utilizzato per generare la password o se è stato utilizzato System.Security.Cryptography.RNGCryptoServiceProvider ?

Sto scrivendo un'applicazione e voglio assicurarmi di avere la sicurezza giusta. Nel peggiore dei casi, se un utente malintenzionato ha accesso al computer del cliente, avrebbe qualche dozzina di file zip da attaccare, ma tutti hanno la stessa password. Voglio assicurarmi che l'applicazione sia protetta contro questo tipo di attacco brute force offline. L'utente malintenzionato non ha accesso ad altre password generate a caso o file zip crittografati con una password diversa generata casualmente.

    
posta John 02.07.2012 - 18:30
fonte

3 risposte

4

La matematica corretta è che con 26 + 26 + 10 caratteri e una lunghezza della password di 8 hai uno spazio tasti di 62 ^ 8, che è 218.340.105.584.896 o ~ 2 ^ 48.

Rompere questo è fattibile. (Quanto tempo ci vorrà è una domanda complicata, a seconda del budget degli attaccanti, dell'implementazione. Con una buona GPU, è probabile che si crei un crack in un giorno.) Dovresti usare almeno 12 caratteri, probabilmente di più. (Dipende da chi sono i tuoi nemici, quanti soldi hanno, quanto tempo devono essere protetti i dati, ecc ...)

Inoltre, come suggerito dall'OP, l'archiviazione delle password potrebbe essere un punto debole / problema.

E usare sempre un RNG crittografico è sempre una buona idea.

P.S .: Puoi leggere ulteriori informazioni su:

risposta data 03.07.2012 - 01:17
fonte
4

System.Random non è crittograficamente casuale (vedi link ). È abbastanza prevedibile da indebolire considerevolmente la tua crittografia.

Vedi la risposta di Tie-fighter sotto per il calcolo dello spazio delle chiavi (che ho sbagliato irrimediabilmente usando 61 ^ 8 invece di 61 ^ 8)!

Sarei più interessato a come viene memorizzata quella password. Sicuramente la tua applicazione ha bisogno di decodificare i file zip sul computer (potenzialmente compromesso) per poterli utilizzare? La password è salvata sullo stesso computer?

Inoltre, per lanciare una chiave inglese nei lavori, sicuramente il tuo "caso peggiore" è che un utente malintenzionato acceda al computer del cliente e guardi lo schermo mentre l'utente legittimo lavora con dati sensibili?

    
risposta data 02.07.2012 - 19:10
fonte
0

Potresti prendere in considerazione l'utilizzo di password diverse per ogni file (sì è un problema ma più sicuro).

Oppure potresti prendere in considerazione l'utilizzo di RAR anziché di ZIP dal momento che RAR v3 impiega più tempo a craccare. Inoltre, sia il formato 7-zip che il supporto RAR AES256. Ancora una volta tutto si riduce alla preziosità dei dati.

Se sei un super paranoico criptato usando RAR e poi 7-ZIP il file con una password separata.

FYI CRARK supporta il clustering GPU quindi se hai una casa piena di laptop e desktop con GPU potresti teoricamente crackare le tue password in un tempo ragionevole (a seconda della lunghezza del PW) Se i dati super sensibili usano 2 password e 2 diversi formati con password completamente diverse.

    
risposta data 04.07.2012 - 01:12
fonte

Leggi altre domande sui tag