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

Custom-policy-based key share derivation #5919

Open
kostko opened this issue Oct 23, 2024 · 0 comments
Open

Custom-policy-based key share derivation #5919

kostko opened this issue Oct 23, 2024 · 0 comments
Labels
c:key management Category: key management

Comments

@kostko
Copy link
Member

kostko commented Oct 23, 2024

As noted in #5715 (comment) we should add support for "arbitrary application secret storage" where anyone can request derived key shares and the hash of the policy is part of the key derivation (e.g. changing the policy changes the derived keys).

In this case, the request for a share contains two arguments, a policy and proof. Both are CBOR documents and H(policy) is used as part of the key identifier. The proof is validated against the policy and if it passes, the key share is released.

A possible policy component would be one that requires a merkle proof for a specific path under a given runtime's state or IO root, enclave identity, etc. The policy could also say that the share is released encrypted in a specific way based on the data from the proof (e.g. the structure of the key-value pair that is proven using a merkle proof contains a public key used to encrypt the share to).

One problem with this design is how to address denial of service attacks. If a policy can be validated rather quickly then this is less of an issue.

@kostko kostko added the c:key management Category: key management label Oct 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c:key management Category: key management
Projects
None yet
Development

No branches or pull requests

1 participant