Penso che le vulnerabilità di SHA-1 non siano in alcun modo rilevanti qui, ciò che è rilevante è che si tratta di un'operazione semplice, veloce, imbarazzante, parallelizzabile.
Le vulnerabilità su SHA-1 sono gli attacchi di collisione, che sono dolorosi con le firme, ma privi di significato per le password. Gli attacchi di preimage sarebbero davvero spaventosi nel contesto dell'hash delle password, ma nessuno ne è a conoscenza.
Ora, perché è un problema che SHA-1 sia un'operazione semplice, veloce, imbarazzante e parallelizzabile? L'articolo a cui ti sei collegato spiega: Non c'è una finestra .
Che cosa significa, quale finestra? La conseguenza che l'hash è veloce è che praticamente tutte le password degli utenti (di cui anche i più "migliori" sono ancora un po 'di bassa entropia) sono scomposti in pochi secondi. Intere basi di dati con decine di migliaia di password sono risolvibili in un giorno e non è nemmeno necessario essere l'NSA per ottenere ciò.
In pratica, questo significa che ogni violazione della sicurezza è sempre il più grande desaster immaginabile, mentre se avessi usato solo qualcosa come bcrypt che è un'operazione deliberatamente lenta, avresti avuto un paio di giorni (o settimane) per informare i tuoi utenti e chiedere loro di cambiare le loro password. Questo trasforma "desaster totale" in "imbarazzante, ma tollerabile" . Vedi Come fare in modo sicuro le password di hash? per un approfondimento di ciò che rende un hash password adatto (al contrario di un hash crittografico "normale").
Alcuni utenti con password particolarmente stupide ("password", "fuckyou", "letmein") ovviamente avranno ancora i loro account compromessi perché anche con bcrypt puoi crackare tutte le 100 password più stupide come ... un paio di secondi. Se si dispone, ad esempio, di 10.000 password utente individualmente salate, il test delle 100 password più stupide richiede solo un milione di iterazioni. Anche con un algoritmo lento, è questione di secondi.
Ma la differenza importante è che le altre password che non nella lista dei primi 100 non saranno facilmente compromesse. Questi utenti hanno buone probabilità di cambiare la password in tempo.