Skip to content
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

Root key compromise solutions? #877

Closed
innocentme1 opened this issue Jul 27, 2016 · 3 comments
Closed

Root key compromise solutions? #877

innocentme1 opened this issue Jul 27, 2016 · 3 comments

Comments

@innocentme1
Copy link

So, I know below possibilities for surviving root key compromise

  1. Edit and sign the root.json with old, new key and distribute
  2. Threshold mechanisms

Is there anything else I am missing? I (Infact, everyone) will be concerned about this root key survival as its the root of trust. So, I do not want to miss any option available. Please let me know if there are any other options available apart from the one's mentioned.

@innocentme1
Copy link
Author

innocentme1 commented Jul 27, 2016

Also, what are all possible workarounds for not using the root key directly for signing the root.json file?

@cyli
Copy link
Contributor

cyli commented Jul 27, 2016

That is basically it - you have to rotate your old key out.

And no, the only keys that can provide valid signatures for the root.json file are root keys.

If you want to avoid having to bring your root key offline when initializing new repositories, we trying to add a tool that lets you import a cert: #821

The point of which is that you can use the notary client to initialize a repository with a throwaway root key (so it can't ever be compromised, because it will be deleted immediately after signing the root.json), but let you import the public part of the root key that you do keep can also be used to sign the root.json.

But if you need to edit the root.json, you will have to bring that key online.

@innocentme1
Copy link
Author

innocentme1 commented Jul 27, 2016

@cyli Yes, thats a nice one and it would be a feasible solution for people not using Notary at a large scale and also have no concepts of editing the root.json file. Also, threshold mechanism will be most easy way to make the attack tougher and tougher.

Thanks anyway.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants