tempo di decifrare la password di crittografia dei file - più della semplice iterazione

8

Ho visto spesso che impiega x tempo per decifrare una certa lunghezza della password. Ma questo sembra essere il tempo necessario per scorrere tutte le possibilità. Che dire del tempo necessario per controllare ogni iterazione per vedere se funziona? Non renderebbe il processo molto più lungo?

Sono molto interessato a una situazione in cui è presente un file che si ritiene sia crittografato ma con un metodo sconosciuto. (Non tanto interessato ai login delle password web). Qual è la procedura per provare miliardi di password su questo file e in che modo inciderebbe sul tempo totale di decodifica?

    
posta wayne_h 02.05.2011 - 17:59
fonte

3 risposte

9

L'enumerazione di tutte le password possibili, avendo ciascuna in memoria a un certo punto, è un processo estremamente veloce. Si può presumere che un semplice PC sarà in grado di costruire una tale password per ciclo di clock e core della CPU. Quindi il PC enumera miliardi di password al secondo. Se le cifre che vedi sono sostanzialmente inferiori, includono anche il costo di verifica della password.

Il costo di verifica della password è molto variabile. Normalmente, il sistema che vuole verificare le password memorizza le password salate con hash . Se la funzione hash è SHA-1 , una CPU Intel Core2 x86, in esecuzione a 2,4 GHz, sarà in grado di per provare circa 12 milioni di password al secondo (e per core): questa è la velocità con cui il processore sarà in grado di applicare la funzione hash su ciascuna password (l'enumerazione della password stessa è inferiore all'1% di quel costo). Il mio PC è un quad core, quindi sono 48 milioni al secondo. Ho anche una scheda grafica Nvidia non troppo brutta che può fare un hashing della password, in realtà 160 milioni al secondo con un semplice SHA-1 crudo. A quella velocità, tutte le password di 8 caratteri (con lettere maiuscole e minuscole e cifre) vengono controllate in circa due settimane.

Gli schemi di archiviazione delle password validi utilizzano hash iterati o concatenati, in cui la password viene sottoposta a migliaia di volte: questo rende la verifica della password migliaia di volte più lenta, il che non implica un rallentamento sensibile all'utente, ma rende il compito molto più difficile (ovvero , migliaia di volte molto più difficile) per l'aggressore.

    
risposta data 02.05.2011 - 20:13
fonte
6

Sì, è anche un fattore importante . Rendendolo consumare risorse per verificare la correttezza della password è almeno un modo per rendere più difficile per l'utente malintenzionato . Questo è esattamente ciò che KeePass cerca di proteggere dagli attacchi del dizionario .

Ma il problema è che, basandosi esclusivamente su questa misura, stai contando sul fatto che l'attaccante non si limiterà a passare a un computer / cracker molto più veloce.

Può davvero aiutare se puoi forzare alcuni limiti esterni a questo processo. In effetti, limitare i tuoi assegni di password è una buona soluzione se è applicabile - normalmente ottieni 3 tentativi di "indovinare" la password del tuo conto bancario e sei bloccato per un po 'di tempo o indefinitamente. Prova a forzare bruto questo.

    
risposta data 02.05.2011 - 19:03
fonte
6

Se ho capito bene la tua domanda, si tratta di forzare brutemente una password utilizzata per la crittografia dei file, piuttosto che spezzare una password in una raccolta standard di password con hash. E potresti anche non conoscere il formato del file crittografato.

È quindi correlato al concetto di Distanza Unicity - Wikipedia , e strettamente correlato alla domanda precedente qui Se qualcuno interrompe la crittografia, come fanno a sapere che sono riuscito? - Sicurezza IT .

Ho il sospetto che il tempo necessario per verificare il successo di una determinata password sia in genere molto veloce per la maggior parte dei file con formati di dati comuni. Ma all'altra estremità dello spettro, se il file viene scelto con cura per sembrare molto casuale (ad esempio altamente compresso e privato delle intestazioni e dei metadati tipici), potrebbe infatti essere arbitrariamente difficile verificare ciascuna password.

    
risposta data 02.05.2011 - 21:08
fonte