Esiste un approccio raccomandato per "aggiornare" gli hash MD5 a qualcosa di sicuro? [duplicare]

8

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:

  1. Reimpostazione di tutte le password e informazioni agli utenti via email
  2. 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?

    
posta concerned citizen 17.06.2016 - 09:57
fonte

2 risposte

6

Is wrapping MD5 in PBKDF2 (or, for what it's worth, other secure hashing algorithms) something that safely can be done, or are there better approaches for dealing with old, insecure MD5 hashes?

Sì, è sicuro. Non perdi alcuna sicurezza in questo processo. Tutte queste password avrebbero la stessa protezione che le password non MD5 hanno, data da PBKDF2 - si potrebbe dire con qualche extra (debole e per lo più non rilevante) aggiunto md5 "sicurezza".

Al momento dell'accesso è possibile "rilasciare" l'hash MD5, ricalcolare PBKDF2 senza MD5 e memorizzarlo dopo il login di successo. In questo modo non avresti bisogno di mantenere il controllo MD5 "per sempre".

    
risposta data 17.06.2016 - 12:56
fonte
6

Sì, l'hashing doppio può essere eseguito in sicurezza, per dare agli hash MD5 una protezione maggiore immediatamente.

Assicurati solo di poter distinguere tali double hashes dagli hash regolari e aggiornali il prima possibile. Il processo di verifica dovrebbe essere fatto in modo diverso per i due tipi di hash, altrimenti gli hash md5 trapelati potrebbero essere usati direttamente come password, provato a spiegarlo in questo risposta .

    
risposta data 17.06.2016 - 15:02
fonte

Leggi altre domande sui tag