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

Build-time requirement of preinstalled full set of metadata #220

Closed
pattivacek opened this issue Nov 3, 2021 · 2 comments
Closed

Build-time requirement of preinstalled full set of metadata #220

pattivacek opened this issue Nov 3, 2021 · 2 comments

Comments

@pattivacek
Copy link
Collaborator

Section 5.4.1 says "Full verification ECUs MUST have a complete set of metadata (Root, Targets, Snapshot, and Timestamp) from both repositories". It points to the Deployment Best Practices for more information, but that mostly just repeats the same information. I'm wondering why we need anything more than the Root. The purpose of the Root is to provide the keys necessary to verify everything else. If the Root has been rotated on the server in the meantime, that will invalidate the other metadata roles anyway and require redownloading fresh versions that might also be signed with new keys. What do we gain by requiring that full set? I can't see the benefit if you have the Roots.

@joshuagl
Copy link

joshuagl commented Nov 3, 2021

Drive by TUF comment, apologies if I am missing context.

In short – you need a prior version of the metadata to do rollback protection. We have a proposed TAP for formalising so-called backstop metadata, and bootstrapping from a known set of trusted metadata, here: theupdateframework/taps#128

@pattivacek
Copy link
Collaborator Author

Thanks, that does explain it pretty well! I was thinking of a case where you'd trust anything signed by the right keys, but I like this idea of the backstop metadata. That does sound like the right thing to do.

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