-
Notifications
You must be signed in to change notification settings - Fork 49
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
Add support for DSSE #370
Add support for DSSE #370
Comments
For reference, there's currently support for DSSE in Go: https://github.com/secure-systems-lab/go-securesystemslib. The DSSE specification also includes an implementation we can likely borrow from here: https://github.com/secure-systems-lab/dsse/tree/master/implementation |
Related: #272 |
A working DSSE implementation is available in master...in-toto:securesystemslib:master courtesy of @PradyumnaKrishna! ❤️ (see GSoC blog post for context). The implementation was tailored for in-toto (in-toto/in-toto#503) but should work for python-tuf as well. The result is a ~1,4K LOC diff, which I have reviewed in the course of multiple downstream PRs. Other maintainers should still take a look before we upstream. So I suggest to either:
If we do the latter, I'm happy to coordinate the PRs and make sure that important information from the original commit history is preserved. Since the decision depends mostly on how much we can ask from potential reviewers, they should voice their preference. cc @jku, @joshuagl, @MVrachev, @adityasaky Diff overview (ordered by degree of dependence from least to most, w/o tests)
|
I feel bad about the commit history, but I think I'd prefer it to be module by module personally. |
Now that #456 is merged and we are starting to get a good feel for it (#442, #472) we should take a stab at this here too. I suggest to just start with a single draft PR after all. This should make fixing conflicts easier (see TODOs in comment above). And maybe the diff becomes small enough to review all at once. If not we can still split by modules. @PradyumnaKrishna, are you still up for the task? |
Yes, I am up for it. |
Description of issue or feature request:
Dead Simple Signing Envelope (DSSE) is the new signature wrapper recommended for use in in-toto (https://github.com/in-toto/ITE/blob/master/ITE/5/README.adoc) and TUF (pending theupdateframework/taps#138). Naturally, it makes sense for its implementation to live in securesystemslib.
With ITE-5 up for acceptance (in-toto/ITE#22), we are trying to define a transition period for in-toto during which the reference implementation supports generating and verifying metadata in both formats. This time period is dependent at least in part on the DSSE functionality being present in securesystemslib for in-toto to use. We can tentatively define a relative transition period, perhaps a year after in-toto starts supporting both wrappers.
Current behavior:
securesystemslib provides some crypto-specific primitives used by TUF and in-toto. Both projects maintain their own implementation of the current signature wrapper.
Expected behavior:
securesystemslib continues providing the functionality it currently does and adds DSSE support, allowing the python implementations of both TUF and in-toto to transition to the new wrapper.
cc @SantiagoTorres @joshuagl @mnm678 @trishankatdatadog
The text was updated successfully, but these errors were encountered: