Attualmente mi occupo di un paio di account utente contenenti password hash MD5. Questi account sono stati migrati da un vecchio sistema nel nostro sistema attuale che utilizza PBKDF2 per l'hashing delle password. Vorrei sollevare anche i vecchi account sull'hash di password PBKDF2.
Craccare i nostri hash MD5 e rimuoverli con PBKDF2 è fuori questione.
La prima cosa che mi è venuta in mente è stata la migrazione delle password utente all'accesso, come descritto qui .
Tuttavia, non sarei mai in grado di migrare tutte le password degli utenti perché alcuni utenti potrebbero non tornare mai più e quindi non riconnetteranno mai più, lasciandomi per sempre con hash insicuri.
Quindi rimangono due opzioni:
- Reimpostazione di tutte le password e informazioni agli utenti via email
- Hash gli hash MD5 nel database di nuovo con PBKDF2 e usa questo double hashing quando un "utente legacy" effettua il login. Significato
PBKDF2(MD5(plaintext))
.
La prima soluzione sarebbe davvero spiacevole per gli utenti, perché avrebbero dovuto impostare una nuova password, quindi mi sto orientando verso la seconda soluzione. Questo sembra supportare questo approccio, sebbene parli principalmente di bcrypt e non di PBDKF2
È stato eseguito il wrapping di MD5 in PBKDF2 (o, per quello che vale, altri algoritmi di hash sicuro) qualcosa che può essere fatto in sicurezza, o ci sono approcci migliori per gestire hash MD5 vecchi e insicuri?