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 key agreement inside a secure element #5491

Open
gilles-peskine-arm opened this issue Jan 31, 2022 · 0 comments
Open

Add support for key agreement inside a secure element #5491

gilles-peskine-arm opened this issue Jan 31, 2022 · 0 comments
Labels
component-psa PSA keystore/dispatch layer (storage, drivers, …) enhancement size-m Estimated task size: medium (~1w)

Comments

@gilles-peskine-arm
Copy link
Contributor

This a step of the implementation of the interface for key derivation drivers introduced in #5451. It follows #5484 and #5490. The goal of this issue is to implement the key_agreement_to_key entry point for opaque drivers.

  • If an opaque driver has a key_agreement_to_key entry point, then when performing psa_key_derivation_key_agreement, instead of calling the driver's key_agreement entry point, call its key_agreement_to_key entry point. This should leave the psa_crypto_driver_key_derivation_inputs_t in the same state as if psa_key_derivation_input_key had been called on the key created by psa_key_derivation_key_agreement. Note that this does not apply when performing psa_raw_key_agreement: this always invokes the driver's psa_key_agreement entry point.
  • If a key derivation operation successfully called key_agreement_to_key, then when aborting it, call the driver's destroy_key entry point on the key object that contains the shared secret.
  • Add unit tests to the driver dispatch tests.
@gilles-peskine-arm gilles-peskine-arm added enhancement Product Backlog component-psa PSA keystore/dispatch layer (storage, drivers, …) size-m Estimated task size: medium (~1w) labels Jan 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component-psa PSA keystore/dispatch layer (storage, drivers, …) enhancement size-m Estimated task size: medium (~1w)
Projects
None yet
Development

No branches or pull requests

3 participants