mirror of
https://github.com/lldap/lldap.git
synced 2026-04-25 08:15:52 +03:00
[GH-ISSUE #60] Proper password salting #29
Labels
No labels
backend
blocked
bug
cleanup
dependencies
docker
documentation
duplicate
enhancement
enhancement
frontend
github_actions
good first issue
help wanted
help wanted
integration
invalid
ldap
pull-request
question
rust
rust
tests
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/lldap-lldap#29
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ColonelThirtyTwo on GitHub (Oct 19, 2021).
Original GitHub issue: https://github.com/lldap/lldap/issues/60
The password hashing code uses a static salt. This defeats the point of having a salt - two users with the same password will have the same hash. The comment that it "doesn't affect the security" is incorrect and demonstrates a big misunderstanding about the purpose of the salt.
Please randomly generate the salt using a secure random generator, and use the
hash_encodedandverify_encodedto store the salt along with the hash.@nitnelave commented on GitHub (Oct 19, 2021):
Thanks for the review! However, I'm not using plain Argon as a hashing mechanism: I'm using the full OPAQUE protocol, and argon is only used as additional hashing to make it computationally intensive for an attacker to bruteforce a database dump.
The OPAQUE protocol doesn't actually send the password to the server (it uses a zero-knowledge proof with a password-base assymetric key exchange), and it includes (among many other security practices) per-user hashing. See https://blog.cloudflare.com/opaque-oblivious-passwords/ for more info.