Il bcrypt è adatto per un uso moderno? [duplicare]

1

Quando viene fuori il tema dell'hash delle password, molti sviluppatori si esasperano da persone che usano schemi di hashing obsoleti, corrotti o arrotolati a mano, e sento spesso "usa solo bcrypt!" ripetuto come un mantra. Ma quando ho parlato di questo a un altro sviluppatore di recente, ha detto che bcrypt è basato su Blowfish, il cui autore ha raccomandato di essere interrotto per almeno 6 anni.

Nell'articolo, sembra che stia parlando di Crittografia Blowfish , che so è una cosa completamente diversa dall'hash della password, ma d'altra parte, non puoi costruire una solida casa un fondamento traballante Quindi devo chiedere, è comunque una buona idea usare bcrypt?

    
posta Mason Wheeler 10.03.2014 - 18:26
fonte

1 risposta

4

L'idoneità di blowfish come cifrario e bcrypt come hash delle password sono per lo più non correlate. Ci sono molte migliori sostituzioni per blowfish, ma non tanto per bcrypt.

Blowfish è per lo più scoraggiato perché ha un sostituto migliore in AES, non perché è rotto. AES ha visto molte analisi, durante e dopo la competizione. Un altro problema con blowfish è il suo blockize a 64 bit, che porta a limiti relativamente piccoli sulla quantità di dati che possono essere crittografati usando una chiave, mentre AES utilizza blocchi a 128 bit e può quindi gestire in modo sicuro grandi quantità di dati. Ha anche alcune proprietà fastidiose, come un lento key-setup e l'utilizzo della memoria relativamente alto.

PBKDF2-HMAC-SHA-1/2/3 è significativamente più debole di bcrypt, quindi lo sceglierei solo se hai bisogno di conformità standard o se la tua lingua lo spedisce ma non bcrypt per impostazione predefinita. Gli hash sottostanti potrebbero essere sicuri, ma questo non lo rende un buon hash per le password.

Come moderno sostituto di bcrypt, l'unico candidato attualmente praticabile è lo scrypt. Offre una maggiore sicurezza, ma è relativamente nuovo, non molto popolare e non ha visto molte analisi. Non è ancora stato incluso in molte librerie standard. Quindi i crittografi più conservatori preferiranno bcrypt over scrypt.

Una competizione per trovare un nuovo hash per la password ha prodotto alcune alternative interessanti, come ad esempio il suo vincitore Argon. Ma non li considero adatti alla produzione per altri cinque anni circa. Forse nel 2020 potremmo avere un'opinione simile di bcrypt come abbiamo di blowfish ora, ma non siamo ancora arrivati. Per ora bcrypt è una buona scelta se sei prudente, o scrypt se sei progressista.

    
risposta data 10.03.2014 - 18:45
fonte

Leggi altre domande sui tag