-
Notifications
You must be signed in to change notification settings - Fork 56
Can delegated targets public keys be found in the root metadata? #58
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
Comments
Only the keys for the top-level roles ( Does this answer your question, Eric? Also, what is the context here, please? |
@trishankatdatadog Thanks! This came from rust-tuf's implementation of resolving a key id to a public key structure. I wanted to see if we should be incorporating the keys listed in the |
Yeah, it definitely sounds like an error to me. Ideally, the keys used to verify a metadata file should be scoped. What I mean is that there shouldn't internally be a global map of keys. So even if the root metadata file and some other delegated targets metadata file shared the same keyids, it really shouldn't matter. All top-level role metadata should be scoped to trust only pubkeys from the root metadata, and any delegated targets role metadata should be scoped to trust only pubkeys from the originating delegation in the graph being traversed. Does this make sense? |
IMO the spec makes it quite clear that the keys in root.json are for the top-level roles. However, it never mentions explicitly where keys for delegated targets roles are defined. I have a pending PR that adopts the TAP 3 (multi-role delegation) metadata format, where I describe the keys field of a delegating targets role. @erickt do you think that is sufficient to close this issue? Alternatively/Additionally, we could add a sentence to 3.1.2.1 Metadata files for targets delegation, that makes it clear that delegated target roles are authorized by the keys listed in the directly delegating target role. |
@lukpueh Adding a sentence to 3.1.2.1 would be helpful. It might be a little redundant with your TAP 3, but I don't think it hurts to re-state how this should work. I can whip up a sentence for consideration. Thanks! |
This extends the spec to clarify that when searching for the key that signed a delegated role, that key should only be found in the delegating target, and not any other role in the delegation chain. This incorporates language suggested by lukpueh in theupdateframework#58, and the definition of the keys field from [TAP 3](theupdateframework#57). Closes theupdateframework#58
In section 4.4.5, is it allowed for TUF clients to find the public keys in the root metadata, or is it required that the keys only be found in the targets (or delegated targets) metadata?
The text was updated successfully, but these errors were encountered: