-
Notifications
You must be signed in to change notification settings - Fork 447
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move to stronger password hash #2353
Comments
MD5 is bad because of the speed hashes can be brute-forced by modern hardware. But currently, BOINC password security is not MD5-level; it's plaintext-level. The client sends md5(passwd+email_addr) to authenticate, and the server stores md5(passwd+email_addr) in the database. If the database is compromised, the attacker gets the hashes and can use them to authenticate directly (on any BOINC project where the user used the same email and password!). There is no need to brute-force anything. The hash is the password. If this proposal is implemented, this problem will be fixed. The client will send md5(p+e) and the database will store bcrypt(md5(p+e)) so now the attacker needs to brute-force the extremely hard bcrypt. However, that's just for the password. Overall security is still plaintext-level. The client's normal requests authenticate with the "account key" or "authenticator", which is stored directly in the database. If the database is compromised, the attacker gets the account key and can do RPC requests or login to the project website with it. To make things worse, unlike the password, there is no way for a user to change the authentication key. So I approve of this change, but it's not enough to fix BOINC auth security. |
I fully agree Nicolas. |
@nicolas17 and @brevilo - I agree completely with what you were saying. I have created issue #2371 for the issues around the "account key" or "authenticator", however, I won't be able to work on it at the moment so if someone else could take up the effort that would be great. |
Does anyone else have feedback on this item (@davidpanderson)? Otherwise I plan to start on this next week. |
I guess this can be closed, right? |
yup |
BOINC currently stores passwords using a salted md5 hash. This is no longer considered secure. Please review the design at https://boinc.berkeley.edu/trac/wiki/PasswordHash for a proposal to change this to using an updated password hash.
The text was updated successfully, but these errors were encountered: