A che ora l'attacco del dizionario avviene con password salate?

-1

Stavo leggendo che i progettisti dell'algoritmo di password UNIX usavano un sale a 12 bit per modificare la E-table della funzione di hashing unix (il DES). Supponiamo che abbia un sistema con 2 ^ (24) utenti?

È mai possibile l'attacco del dizionario utente? e se sì, quanto tempo ci vorrà? anni ??

Sono davvero nuovo sulla sicurezza del computer

Modifica: non sono sicuro di quale unità di tempo suppongo di dover assumere i byte al minuto a seconda del mio codice?

Il motivo per cui sto chiedendo è un progetto in cui una delle domande recita: "Prendi in considerazione un sistema con 2 ^ 24 utenti Supponendo che a ogni utente venga assegnato un salt da una distribuzione casuale uniforme e che chiunque possa leggere gli hash delle password e sale per gli utenti. " Qual è il tempo previsto per trovare tutte le password degli utenti utilizzando l'attacco dizionario? "

    
posta superfloyd 25.04.2012 - 19:19
fonte

2 risposte

2

Penso che la risposta dipenda dal tipo di lezione che stai prendendo. Questo potrebbe essere un problema di complessità temporale (teorico) o più pratico.

In entrambi i casi, ecco quello che sai: hai una popolazione di utenti abbastanza grande, ogni utente ha un sale unico e chiunque può leggere l'hash di sale e password per qualsiasi utente. Puoi trovare un link a un benchmark di un ampio elenco di funzioni di crittografia e hash qui , che può essere utilizzato come guida per capire quanti dati è possibile pompare attraverso una funzione hash. Senza rivelare troppo, si può capire quale sia lo scopo dell'aggiunta di un valore di sale nel calcolare un hash.

Buona fortuna.

    
risposta data 25.04.2012 - 20:38
fonte
0

Nel peggiore dei casi (dal punto di vista della difesa di sicurezza, non dell'attaccante), i sali non aggiungono tempo.

Tutte le funzioni di hashing, in linea di principio, hanno un sale: un certo stato iniziale che viene perturbato passando la stringa attraverso l'algoritmo. È solo una questione se il sale è modificabile (è un parametro dell'hash) o risolto.

Una funzione di hashing che utilizza una tabella di stato iniziale fissa di, diciamo, 32 bit a zero zero non è più veloce di una che consente di specificare quei bit come parametro, che viene quindi mantenuto insieme all'hash come un valore.

Lo scopo di sali è quello di aumentare lo spazio (non e tempo) necessari per costruire un dizionario pre-elaborato ("tavolo arcobaleno").

Se un vettore di sale ha due miliardi di combinazioni, allora una parola di dizionario come password hash fino a due miliardi di modi diversi con la stessa funzione di hashing, per sali diversi. Se l'autore dell'attacco desidera quindi un database che fornisce una ricerca inversa istantanea da un hash alla parola password , allora ha bisogno di due miliardi di voci solo per quella parola. Si tratta di un sacco di spazio di archiviazione da dedicare al crack istantaneo di una sola parola.

In assenza di sali, approssimativamente la stessa quantità di spazio di archiviazione ti darebbe una ricerca inversa di due miliardi di parole: qualcosa che potrebbe essere molto utile nel cracking effettivo.

    
risposta data 03.05.2016 - 00:29
fonte

Leggi altre domande sui tag