-
Notifications
You must be signed in to change notification settings - Fork 20
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
Discussion of Fulcio TAP (TAP 18) #169
Comments
FYI: A fully working sigstore signer is available in the securesystemslib v0.27.0. It can already be used in the python-tuf reference implementation via the new signer API. The API is still experimental and development continues in: securesystemslib/signer/_sigstore_signer.py. NOTEs to TAP editors: The following two decisions are currently hard-coded:
I think we should configure the latter via the public key? It should always remain the same for a given public key. Also, "offline" verification is not really offline. IIUC it skips talking to rekor, but still does a TUF client update with Fulcio. Last but not least, I opted for storing the sigstore bundle in a separate field, and additionally copying the signature from the bundle into the "sig" field, to remain compatible with the current TUF specification (following discussion in: #168 (comment)). The signature on the wire now looks something like: {
"keyid": KEYID,
"sig": SIGNATURE, # bundle.message_signature.signature.hex()
"bundle": BUNDLE # bundle.to_dict()
} |
Nice to see an implementation of this TAP, thanks @lukpueh! I agree with the assertion that the Sigstore instance should not be hard-coded. Private deployments seem likely and we want TUF to remain flexible. What would you recommend wrt the "offline" is not really offline observation? Should this be a note in the TAP (do we need a TAP to describe truly offline/airgapped TUF repositories?)
|
For reference secure-systems-lab/dsse#61 is adityas signature extension proposal for DSSE |
After that's merged, the TAP should be updated in the signature format section: https://github.com/theupdateframework/taps/blob/master/tap18.md#signature-format. Specifically, |
TAP18 and the experimental implementation in securesystemslib should definitely be updated if there's a direct way to be consistent with planned DSSE formats.
If you are talking about e.g. using the VerificationMaterial proto instead of Bundle within the signature, then that sounds fine to me (although I notice VerificationMaterial does not have a |
We actually discussed using a subset of VerificationMaterials to omit the key ID as the signature has its own key ID field (sigstore/sig-clients#9). Once that PR is merged, for DSSE, the TAP may be updated to use the extension I think?
The proposed message also omits this, but that's because the |
There are some remaining issues on the Fulcio TAP:
The text was updated successfully, but these errors were encountered: