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

CDH | Support signature for sealed secrets #597

Open
Xynnn007 opened this issue Jun 24, 2024 · 3 comments
Open

CDH | Support signature for sealed secrets #597

Xynnn007 opened this issue Jun 24, 2024 · 3 comments

Comments

@Xynnn007
Copy link
Member

When sealed secret was first designed, it was declared to support integrity protection via signature. Currently, sealed secret does not support this ability, and a fakesignature is used to replace the original valid JWT signature. This issue mainly hopes to solve several issues about signatures:

  • Add support for CDH to verify the signature of a signed sealed secret. The public key can either be accessed from KBS, or be set via CDH's config file.
  • Add support for sealed secret client tool to generate a signed sealed secret.

This issue is purely from technical point view, but we can start from this point to talk more about the signed sealed secret use case.

@fitzthum
Copy link
Member

Where should we get the key to verify the secret? Can we expect the kid field to have a resource URI? Does that make sense even for secrets that point to some other HSM?

@Xynnn007
Copy link
Member Author

Resource URI should be fine. And to avoid circular dependency, HSM can play a role as a storage repository. This means the sealed secret's key cannot be wrapped in another sealed secret.

Other choices are a path inside guest image, a key from initdata. The integrity of both can be protected by RA.

@fitzthum
Copy link
Member

fitzthum commented Aug 5, 2024

Ok I think getting from the KBS is fine although initdata support would also be good.

This is going to impact the user experience a bit. Now people will have to provision more stuff. I wonder if it makes sense to support unsigned secrets as well and if there is any way to do that safely.

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

No branches or pull requests

2 participants