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

Add support for ECDH key agreement in Transit Secret Engine #655

Open
DanGhita opened this issue Oct 24, 2024 · 0 comments · May be fixed by #811
Open

Add support for ECDH key agreement in Transit Secret Engine #655

DanGhita opened this issue Oct 24, 2024 · 0 comments · May be fixed by #811
Assignees
Labels
rfc RFC design document included roadmap:community Roadmap item; community category roadmap:safer Roadmap item; safer category

Comments

@DanGhita
Copy link
Contributor

DanGhita commented Oct 24, 2024

Summary

Transit Secret Engine currently supports ECC keys for signature purpose, but it does not support ECDH key agreement allowing Alice and Bob to derive a shared secret.

Problem Statement

This feature would allow different OpenBao instances to exchange data protected with keys derived from a shared secret. The security of the exchanged data would not rely solely on the TLS security.

User-facing description

When deploying a hierarchical structure of OpenBao instances, this feature allows to setup a secure channel between two OpenBao instances (Alice = instance 1, Bob = instance 2, for example).

Technical Description

The Transit API should support new ECC key types for ECDH: ecdh-p256, ecdh-p384, ecdh-p521.

When creating a ECDH key, the API should support an attribute for specifying whether the new key is ephemeral or not (i.e. persistent, if not ephemeral).

The Transit API should support a new path ("derive") to be used with the new key type ECDH for deriving a shared secret.
The derivation endpoint should support the creation of a symmetric key.
A specific attribute of the API should indicate whether this derived key is ephemeral or not.

Rationale and alternatives

This is a new feature that should not break the compatibility with the existing Transit features.

Downsides

No response

Security Implications

No response

User/Developer Experience

No response

Unresolved Questions

No response

Related Issues

The initial discussion around supporting ECDH is here: #556

Proof of Concept

No response

@DanGhita DanGhita added the rfc RFC design document included label Oct 24, 2024
@DanGhita DanGhita self-assigned this Oct 25, 2024
@cipherboy cipherboy added roadmap:community Roadmap item; community category roadmap:safer Roadmap item; safer category labels Dec 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rfc RFC design document included roadmap:community Roadmap item; community category roadmap:safer Roadmap item; safer category
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants