È sicuro usare una derivata di una password come sale

0

So per certo che i sali sono una parte importante della memorizzazione sicura di una password in un database. La maggior parte delle persone memorizza l'hash della password e il sale che è stato usato per questo. Questo, ho imparato, non è sicuro come molti penserebbero, dato che un cracker dedicato potrebbe usare un attacco di dizionario per scoprire la password (a condizione che sapesse come stavi usando il sale).

Pertanto, sto chiedendo, è sicuro usare una sorta di versione trasformata della password come sale? Oppure un normale sale sta per fare esattamente lo stesso lavoro.

(Per essere chiari, io sono non che crea la mia crittografia.)

    
posta Aurora 24.12.2014 - 16:15
fonte

2 risposte

3

Lo scopo di Salt è garantire che due utenti separati che utilizzano la stessa stringa di password non generino lo stesso hash della password. Se si sta deterministicamente definendo il sale in base alla password e due utenti hanno la stessa password, quasi sicuramente si selezionerà lo stesso sale per entrambi e avrà fallito lo scopo originario di usare un salt.

(Si può immaginare uno schema mediante il quale si determina il sale calcolando un indice nella password in base al nome utente, il che significherebbe che due diversi utenti con le stesse password finirebbero con diversi sali derivati dalle loro password. continua a leggere.)

Inoltre, il mio istinto mi dice che quando si estraggono le informazioni dalla password per utilizzarle nel modo più pubblico di sale, si corre il rischio di divulgare informazioni sulla password stessa. Qualcuno dei più criptati su questo sito può probabilmente dare un capitolo e un verso se questo è un intuito corretto.

La linea di fondo è che la segretezza non è richiesta per la protezione fornita dal sale. Non è inteso a integrare la scarsa qualità della password, solo per fare in modo che due password uguali producano diversi hash, rendendo così più costosi gli attacchi di forza bruta. Dovresti considerare attentamente se ottieni veramente qualche miglioramento della sicurezza rendendolo più complesso - e penso che la risposta sia no.

    
risposta data 24.12.2014 - 16:27
fonte
0

isn't as safe as many would think, as a dedicated cracker could use a dictionary attack to find out the password

Come ha detto gownfawr, il compito di Salt è garantire che due utenti con la stessa password non abbiano lo stesso hash memorizzato nel database. È il compito dell'algoritmo di hashing e della complessità della password per proteggerlo dagli attacchi del dizionario + forza bruta. Il sale non deve essere oscurato all'interno del database. Un altro sale (chiamato in realtà un peperone) a volte viene nascosto / memorizzato altrove e utilizzato per salare ulteriormente le password con hash e fornire l'oscurità che stai suggerendo.

gownfawr ha ragione che la tua idea di ricavare il sale dalla password avrebbe vanificato lo scopo del sale.

    
risposta data 24.12.2014 - 16:46
fonte

Leggi altre domande sui tag