-
Notifications
You must be signed in to change notification settings - Fork 275
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
Use asymmetric cryptography for authentication #93
Comments
(copying a comment I made in #88, a huge security risk to keep in mind prior to thinking about implementing this feature) Possibly, yes. But, there's at least one more consideration: an attacker may be able alter the keepass config to put their own key there. No knowledge of the database password, but now have access to the database |
This is not directly related to implementing asymmetric cryptography, but rather to the request in issue #88. This kind of attack (and worse) would be possible even with the current symmetric solution. I'd like to keep this issue focused on just the cryptography. (Even though it's probable that nobody's gonna work on this unless the concerns in #88 are addressed.) |
Actually, against firefox, with a master password set, this kind of attack Pairing keys are stored within the database, so they are both secure and On Mon, Mar 25, 2013 at 12:32 AM, elieux notifications@github.com wrote:
|
I know. I wanted to separate the two issues. #88: Use a global key. This would be currently dangerous with both symmetric or asymmetric cryptography. You mentioned that there are no good asymmetric cryptography JS libraries. Can you assess the libraries I linked to? |
Actually, jsbn looks pretty good, I will consider its inclusion in the On Mon, Mar 25, 2013 at 12:55 PM, elieux notifications@github.com wrote:
|
In doing a little research on this issue, I came across this library: https://www.pidder.com/pidcrypt/?page=rsa. It may be a good idea to evaluate it as well. |
I think that RSA is not needed here - you only need suitable key exchange algo. For example, Diffie-Hellman (JS example) or SRP (bouncy castle, JS crypro library). With DH, you have MITM problem, but it can be easily mitigated if you show key, generated on association in browser, to user. This key also should be shown in keepass confirmation window. If user sees mismatching keys, he denies association. NB: only browser-side pubkey needs to be verified. |
It was mentioned during the discussion on #88. Goal: If an attacker steals a key, he/she can impersonate only one side of the communication. Requires: a good JS library for asymmetric crypthography.
A quick search showed some candidates:
The text was updated successfully, but these errors were encountered: