-
Notifications
You must be signed in to change notification settings - Fork 687
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
Expiration date on PGP key leaks date of source's first contact #3912
Comments
Mind if I take this one? :) |
Note that GPG keys also embed a Creation Date, which defaults to the current system time at the moment the key is generated; however, like the expiration date, it is also customizable. |
Additional thought: should we be specifying an expiration date on SecureDrop's internal reply GPG keys at all? The keys are managed by the server and never made accessible to anybody else. Allowing them to expire seems like it would create problems (e.g. a long-term user returns and can no longer receive replies because their reply key has expired) without any benefit (keys are managed by the server anyway). What do you think, @heartsucker, @redshiftzero? |
One more thought: should we add some code to randomize the creation and expiration dates for reply keys that have already been created on existing deployments? |
Good point, we should just have keys not expire
Hmm so I think one needs the passphrase of the private key to modify the expiration date / created on fields (worth double checking). If that's true, then we could add a method to The nice thing about this migration being in the app code (otherwise I would wonder whether it's worth the trouble) is that writing unit tests to cover this scenario is pretty straightforward. |
Yup, I think that's the best/only option available to us given the other design constraints. Would you prefer I implement in the PR I'm about to submit for this issue, or would it be better to do it in a follow-up? |
I think it's worth getting the fix to remove the expiration date / created on fields in first (since it can cause a bug) and then we can tackle the removal of those fields after login for existing sources in a followup Smaller PRs are best PRs :) |
@redshiftzero How would you feel about the following:
|
Hmm, I suspect the diff between 1 and 2 is pretty small? Along those lines, I slightly worry about randomizing the times, e.g. for creation time it seems safest to just set the creation time to a certain date in the past (e.g. Jan 1 2010 or something equally arbitrary before the creation of SecureDrop). Agreed on a separate PR/issue for 3 |
Description
When we autogen PGP keys, the expiration is set to 1 year. This can be used to infer the date a source first used SD. We may want to remove this expiration field altogether to get around this issue.
The text was updated successfully, but these errors were encountered: