-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Add Yubikey Challenge-Request as 2FA #26
Comments
Is YubiKey popular with KeePass users? I would much rather add something like Google Authenticator 2FA. Perhaps this can be modularized such that multiple 2FA services can be incorporated into the interface. |
Yubikey also works as OTP (TOTP as GoogleAuthenticator). |
yubikey supports challenge/response, so 2fa would even work offline in opposite to Google Authenticator. |
Google Authenticator works also offline because it's Time-based OTP (after the first sync online). |
The YubiKey challenge response works completely offline. Google Authenticator and all TOTP mechanisms don't make any sense as they don't enhance the crypto key. They are usually used by a remote "trusted" third party (i.e. Google, Lastpass, etc) to control access to actual encrypted payload. My implementation of the YubiKey challenge-response optionally adds strength to standalone key files and static passwords by hashing all the combinations together to generate a stronger key. This process occurs completely offline with just the YubiKey, supporting host libraries and KeePassX with this pull request. |
To restate this: TOTP controls access to the encrypted payload in the case of services like lastpass. Challenge-Response makes the encrypted payload key stronger. If done right, challenge-reponse would force someone to attack the crypto cipher instead of brute forcing or guessing passwords that in standalone implementations are the basis for the key. |
Can you rebase your PR on the KeePassX Reboot code? (On the develop branch, or in a feature/* branch) Thanks 👍 |
Honestly, I don't have the time in the near term. The most time consuming part is verifying that all the edge cases (that I can remember) work so that people don't lose their databases due to something silly like corruption since it does manipulate the way the crypto key is derived. Let's revisit it sometime down the road. |
I will try to rebase your changes, If I need help I will ask you 😅 |
@kylemanna great explanation and that makes perfect sense, thank you! |
@TheZ3ro Have you been able to rebase? Can I help? |
My bad, I now see that #127 is that rebased version. |
All the details in this PR keepassx/keepassx#52
Maybe @kylemanna can help
The text was updated successfully, but these errors were encountered: