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

update Sigstore community roadmap #315

Merged
merged 3 commits into from
Sep 15, 2023

Conversation

bobcallaway
Copy link
Member

Hi everyone!

The @sigstore/core-team has been working on updating the community's roadmap through conversations with our maintainers, users, and others in the wider OSS ecosystem. Our draft is now at a point where we'd like to solicit broader community feedback.

We are targeting to merge this by September 15th, 2023; however, our intent is that this is a living document, so PRs are always welcome :)

Signed-off-by: Bob Callaway <bcallaway@google.com>
@oej
Copy link

oej commented Sep 4, 2023

The time stamp server seems missing in this document.

@haydentherapper
Copy link
Contributor

@oej, under the transparency log roadmap, we mention "Timestamp at Entry Upload", so that TSA timestamps are included in the log and become immutable, and "Roughtime for distributed trusted timestamps", which is a long-term vision for distributed trusted timestamping. The timestamp server at https://github.com/sigstore/timestamp-authority is feature complete at this point. Was there anything you thought we needed to call out?

@oej
Copy link

oej commented Sep 5, 2023

@haydentherapper I just noted that it was missing and wondered if it was a mistake. Obviously not. Maybe add a comment that the time stamp server is feature complete if others wonder too :-)

Thank you for the feedback!


### Short Term (< 6 mo)

* Releases:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

anything for sigstore-js here?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bdehamer Anything you wanted to call out? Any major releases in the next year?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No major releases planned. I've got a long list of small features/improvements I'll be working on but nothing worth calling-out here.


* ACME for code-signing certificates (ongoing RFC)
* Native SPIFFE support with X509-SVIDs as authenticators, rather than supporting only OIDC
* Support revocation for private deployments
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is revocation for the public deployment intentionally omitted? This could be useful for key or account compromise (discussed in #sigstore/cosign#677)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a hard problem on a large scale - How do we authenticate requests to revoke content? How do we maintain an indefinitely growing list? WebPKI doesn't deal with revocation well, and I worry we'd run into the same issues.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that this is challenging, and should be part of the 12 months+ roadmap. But if Rekor is used to discover a mis-behaving key/identity, Sigstore should do something about this. Whether this is a revocation list, TUF delegations to trusted identities, or some other mechanism.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this revoking specific entries in the log by UUID, revoking everything signed with public key X, revoking everything signed by x509 cert with serial Y, or revoking everything signed by foo@bar.com between a date range?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like to see ecosystems making decisions on how to handle revocation, possibly along with per-ecosystem log deployments, rather than the central log. Possibly one thing we could explore is delegated or namespaced revocation lists.

@jalseth, all of those imo. The flexibility is why I think this should be handled by consumers and ecosystems rather than by a central log.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that fits under the client roadmap with "Policy: sophisticated verification policies, or deeper integration with a policy evaluation service".

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest we don't use the word "revocation" until we had a discussion about it. Avoiding any "revocation" solution is generally a good thing, since most of them has not worked very well. So Hayden's suggestion seems good.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right, that makes sense: each, say, package registry may wish to handle revocation separately from Sigstore. Sigstore should ideally "just" be a (but not the only) source of truth.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have a resolution about this? @mnm678 @haydentherapper

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hayden's interpretation of it fitting under the policy item works for me

ROADMAP.md Outdated Show resolved Hide resolved
* New releases should go to staging automatically
* Releases should seamlessly move from staging to production with automated testing
* New bleeding-edge environment
* Hourly/nightly releases should automatically deploy to this env
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should there be a point here about monitoring metrics and filing issues (preferably automatically) for errors in this env?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a good callout, we have an issue in the private infra repo for tracking automatically filing issues on GH, but this has not been completed.


### Long Term (12+ mo)

* Public root of trust trusted by private ecosystems (Apple App Store, Google Play Store, Windows)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume this includes some collaboration on a default policy for each (operating on some sort of SBOM), as trusting any plain Sigstore signature would be risky. If my assumption is correct, should that be called out here?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Policy would need to be a part of this, yes.

Sigstore is inherently flexible and can natively support a variety of:

* deployment scenarios (e.g. public-facing VS private enterprise deployments), 
* key management approaches (e.g. hardware-backed keys stored in HSMs or Yubikeys or ephemeral scenarios where a private key can be deleted immediately after use),
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Ephemeral keys should not be persisted to disk, so no delete operation needed. This doc may be the first time a user encounters the idea of ephemeral keys, so I think this is worth clarifying.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deleted could also be cleared from memory.

@znewman01
Copy link
Contributor

Discussed in SIG-clients meeting today. Overall looks good to us + compatible with our roadmap, we'll leave specific comments as warranted.

ROADMAP.md Outdated Show resolved Hide resolved
ROADMAP.md Outdated Show resolved Hide resolved

### Short Term (< 6 mo)

* Add 2 independent log monitors
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we call out what we want to use to monitor the logs? I know we have a monitoring project here in the Sigstore org that I believe powers the Purdue monitor. Should there be a roadmap for that kind of functionality?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good suggestion, I’ll add a section on that. I have a roadmap for what’s needed to enable witnessing and identity monitoring.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added roadmap, PTAL!

ROADMAP.md Outdated Show resolved Hide resolved
ROADMAP.md Outdated Show resolved Hide resolved
Co-authored-by: Hayden B <hblauzvern@google.com>
Signed-off-by: Bob Callaway <bobcallaway@users.noreply.github.com>
ROADMAP.md Outdated Show resolved Hide resolved
Co-authored-by: Zach Steindler <steiza@github.com>
Signed-off-by: Bob Callaway <bobcallaway@users.noreply.github.com>
@bobcallaway
Copy link
Member Author

Thanks to everyone for their feedback - again the intent is for this to be a living document, so please feel free to submit a PR to update this at anytime.

@bobcallaway bobcallaway merged commit 5cfa430 into sigstore:main Sep 15, 2023
2 checks passed
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

Successfully merging this pull request may close these issues.

None yet