-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Handle cross-signing key changes when old key is cached #12904
Comments
we do this already for
however, it doesn't happen for key sharing. for that we just hand over whatever we have in the cache. |
and then for requests, it looks like this:
which is to say, the requesting side validates that it didn't get a bad key. the responding side, however, does happily send a bad key. So I think there's no case where you might end up getting your keys poisoned: all the paths in question do check. However, there's still one edge-case we should probably consider: if a bad key is sent as a response, pre-empting a correct response, then key sharing won't work properly |
OK yeah - as long as we then fall back to getting the keys out of SSSS if our cached key is wrong then we are probably fine here, as even in the worst case if we do get stale keys from a keyshare request, it will just mean the user has to enter their passphrase. We can maybe worry about validating keys either before sharing or upon receiving at a later date if we want to. |
should we close this? |
Sounds like we can at the very least defer, I'll leave to @dbkr on whether to close or not. |
Rename prettier config file to .cjs (staging version)
Ensure we handle the user resetting their cross-signing keys and notice that the ones we have cached are no longer useful. We can do this by ensuring that we always revalidate the that the private key we use matches the public key stored on the account.
Presumably if we don't have the key cached, we should prompt for the SSSS (secure secret storage and sharing) passphrase?
The text was updated successfully, but these errors were encountered: