L'hashing hash è considerato un ulteriore livello di sicurezza [duplicato]

2

Come in md5 (md5 (md5 (x))) ...

Posso ricordare di averlo trovato in qualche pezzo di codice. Se l'attaccante può in qualche modo rovesciare md5 (md5 (md5 (x))) in md5 (md5 (x)), allora certamente può invertire md5 (md5 (x)) in md5 (x) e la x. Tuttavia, se impiega un po 'di tempo per invertire il primo hash, l'hashing può rallentarlo. Non posso decidermi su questo argomento quindi la domanda

    
posta Ulkoma 27.08.2014 - 21:36
fonte

4 risposte

3

Supponendo che l'hash sia stato violato usando le tecniche di forza bruta, l'hashing dell'hash significherebbe che in teoria occorreranno più tempo e risorse per violare tale hash a causa del fatto che è necessario eseguire più iterazioni dell'algoritmo.

Tuttavia, detto questo, se è il momento che stai cercando MD5 non è certamente la strada da percorrere. Per rendere l'hash il più difficile possibile, consiglio un "algoritmo lento" come PBKDF2 .

Effettuando più iterazioni di PBKDF2, il processo di cracking dell'hash sarà così lento (rispetto ad altri algoritmi) che diventerà praticamente impossibile decifrare l'hash in un ragionevole lasso di tempo.

Modifica: quando dico iterazioni multiple non intendo 2 o 10, intendo migliaia o centinaia di migliaia a seconda della quantità accettabile di tempo che si è disposti ad attendere per generare o confrontare un hash legittimo.

    
risposta data 27.08.2014 - 21:59
fonte
2

Questa particolare implementazione è ingenua e non aiuta. Un PC azionario può calcolare miliardi di hash MD5 al secondo, quindi dover calcolare più semplicemente non è rilevante.

Il concetto di hashing iterato è valido, però. Se si osservano algoritmi professionali come bcrypt, in realtà essi ripetono la loro procedura hash interna al fine di rendere l'algoritmo più costoso. Ma questo da solo non è abbastanza:

  • L'intero algoritmo deve essere attentamente progettato dagli esperti per assicurarsi che sia crittograficamente valido. Gli schemi fatti in casa non sono mai una buona idea.
  • Il numero di iterazioni deve essere variabile in modo che l'algoritmo possa essere adattato al nuovo hardware. Ciò che potrebbe essere abbastanza buono oggi non sarà certamente abbastanza buono in pochi anni.
  • Tutti i moderni algoritmi di hash delle password hanno un parametro aggiuntivo per una stringa casuale ("salt") che viene mescolata nell'input. Il problema del tuo schema è che lo stesso input porta sempre allo stesso hash, quindi un utente malintenzionato può riutilizzare i risultati calcolati attraverso più account utente, possono precalcolare gli hash e persino riconoscere password identiche. I sali lo impediscono, perché costringono l'attaccante a rompere ogni hash individualmente.

Questi principi portano a moderni algoritmi di hash come bcrypt, scrypt o PBKDF2.

    
risposta data 27.08.2014 - 22:27
fonte
0

Sì, è un ulteriore livello di sicurezza. Per lo standard md5 (oltre al fatto che può essere rotto rapidamente) ci sono enormi liste di hash MD5 già fessurati. Tuttavia, se riutilizzi l'hashing un paio di volte, sarà più difficile decifrare gli hash. Questo è chiamato "rounds".

Alcuni algoritmi hanno una quantità predefinita di round per rallentare il cracker. Se hai una funzione n round, l'hacker impiega n tempo più lungo per rompere l'hash del normale.

Un altro modo per aumentare la sicurezza sarebbe implementare un salt negli hash.

Infine, accertarsi di utilizzare un algoritmo sicuro (ad esempio Whirlpool) contribuirà anche a migliorare la sicurezza.

    
risposta data 27.08.2014 - 21:48
fonte
0

Gli MD5 sono fantastici, ma non per sicurezza. Sì, in teoria, aggiungerà un ulteriore livello di sicurezza, che dipenda o meno dalla tua applicazione. Devi guardare oltre la sicurezza aggiunta. Quanto costa hash hash piuttosto che iniziare con un algoritmo di gran lunga superiore. Nonostante una sicurezza aggiunta teorica, se hai bisogno di hash un MD5, stai usando lo strumento sbagliato per il lavoro.

Gli MD5 vanno bene per la maggior parte delle applicazioni di confronto dei file.

    
risposta data 28.08.2014 - 00:10
fonte

Leggi altre domande sui tag