-
Notifications
You must be signed in to change notification settings - Fork 41
Revise checkpoint key ID comment, deprecate log ID #629
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense to me, left one improvement suggestion but it works as is
protos/sigstore_trustroot.proto
Outdated
// extract the key name (i.e. log origin, base_url) and 4-byte key ID, | ||
// and compare the key name and key ID against each log instance. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe avoid saying that key name is compared since it seems only the keyid is compared:
// extract the key name (i.e. log origin, base_url) and 4-byte key ID, | |
// and compare the key name and key ID against each log instance. | |
// use the key name (i.e. log origin, base_url) and public key to calculate | |
// key ID which can then be compared against the TrustedRoot log instances |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, incorporated!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually sorry, I need to revert this partially. The client wouldn't know the log public key yet. The client only has what the checkpoint provides, which is the origin and key ID in the checkpoint signature line. The client can verify that the key ID is properly computed if it wants to after it retrieves the public key from the TrustedRoot, but I don't think that's strictly necessary.
Our use of log ID assumes that each deployment has a unique key. Additionally, its calculation was based on RFC6962 for CT. For Rekor v2, we will now follow the C2SP spec to compute key IDs. For ECDSA keys, the log_id value will match. Ed25519 and RSA won't however. Rather than continue to set both of these values, I'd like to deprecate log_id and replace it with checkpoint_key_id for future log deployments. Also update the base_url comment to state that it should match the log checkpoint origin, which will be true for Rekor v2. Rekor v1 has its own computation for an origin that isn't a valid URL. Signed-off-by: Hayden B <[email protected]>
Our use of log ID assumes that each deployment has a unique key. Additionally, its calculation was based on RFC6962 for CT.
For Rekor v2, we will now follow the C2SP spec to compute key IDs. For ECDSA keys, the log_id value will match. Ed25519 and RSA won't however. Rather than continue to set both of these values, I'd like to deprecate log_id and replace it with checkpoint_key_id for future log deployments.
Also update the base_url comment to state that it should match the log checkpoint origin, which will be true for Rekor v2. Rekor v1 has its own computation for an origin that isn't a valid URL.
Summary
Release Note
Documentation