Closed brassy-endomorph closed 7 months ago
Reopening this because passlib
just wraps and uses bcrypt
. It gives us a path forward to to updating the password hashes and migrating, but it doesn't actually change the underlying hashing function.
Do you have a preference for algorithms? Initial research for Argon2, aside from them winning the 2015 password hashing comp, its newer tech and uses more memory. Scrypt is faster and stronger against brute force.
I actually noticed that you recommended Argon2i. Is a middle ground 2id?
Working in the hashing
branch: https://github.com/scidsg/hushline/blob/hashing/hushline/model.py
After our out-of-band conversation, I think we should pause this so that we can figure out what the appropriate level of compute should, pending threat modeling. If we're not terribly concerned with APT threats, we can use something less complex.
Depends on #265
Possibly argument against argon2i
in favor of yescrypt
. https://fedoraproject.org/wiki/Changes/yescrypt_as_default_hashing_method_for_shadow
We may want to use
scrypt
orargon2i
so we can control the memory hardness or number of threads to hash a password as a means to increase the difficulty of cracking passwords should the DB ever get leaked.