Cryptographic hash (like md5) with salt are bad.
Non ho letto l'articolo, ma questo potrebbe essere letto in due modi:
- MD5, anche se salato è cattivo.
- Gli hash salati sono pessimi.
In risposta al primo, sì, questo è vero. MD5 è stato dimostrato insicuro, ed è troppo veloce per essere comunque una funzione di hashing sicura. Non utilizzare MD5.
Per quanto riguarda il secondo, è completamente sbagliato. Salate sempre i vostri hash. Questo aiuta a prevenire gli attacchi della tabella arcobaleno .
It isn't uncommon to break/crack unix shadow files.
Questo è vero, molte persone scelgono password insicure che sono abbastanza facili da violare. Fine della storia. Il classico strumento di sicurezza per farlo è John the Ripper . Persino i file shadow che usano gli hash moderni spesso usano algoritmi troppo veloci per fornire davvero molta protezione (vedi sotto).
To make a password hash I should run it over md5 or whatever hundreds or thousands of times.
Questo era vero La ragione per fare questo è di rendere molto più lento il tentativo di password (dato che devi eseguire molto spesso l'algoritmo di hashing). Anche con un moderno hash come SHA2, è ancora spesso così veloce che forzare brutalmente una password scelta male può richiedere una questione di giorni o addirittura di ore.
Gli algoritmi di digest moderni tengono conto di ciò e sono progettati per essere computazionalmente o intensivi della memoria. Esempi comuni includono bcrypt che include un sale ed è progettato per essere costoso dal punto di vista computazionale. Un nuovo algoritmo, scrypt, ha ricevuto recentemente un po 'di attenzione anche per l'utilizzo intensivo della memoria (rendendo il cracking della GPU molto più difficile).