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

Investigate upgrade to PSA Crypto 1.1.0 #616

Open
ionut-arm opened this issue Jun 22, 2022 · 0 comments
Open

Investigate upgrade to PSA Crypto 1.1.0 #616

ionut-arm opened this issue Jun 22, 2022 · 0 comments
Labels
question Further information is requested

Comments

@ionut-arm
Copy link
Member

Our current instantiation of the Parsec API contracts is based on v1.0.0 of PSA Crypto. The spec is, however, evolving - version 1.1.0 has already been released and includes new primitives that we could integrate into Parsec.

Making any changes to the contracts to introduce new primitives raises multiple compatibility questions:

  • what happens when an old client/service attempts to communicate with a new service/client
  • what happens when a new service tries to handle old key metadata

Hugues has already investigated some of these problems in this issue, however a fresh attempt to answer these questions would be useful.

The two big avenues for solving this are:

  1. add new elements in the existing contracts and interfaces, for example by adding new key types to the KeyType variant, and/or to the rust-psa-crypto key Type.
  2. add new contracts specific to 1.1.0, essentially duplicating the existing contracts and adjusting them according to the changes in 1.1.0

Solution (1) comes with potential interoperability and backwards compatibility issues in the client-service communication. Solution (2) comes with increased complexity in both clients and service, since the cryptographic operations will have two different transport mechanisms for the same underlying operations.

The outcome of this ticket should be a detailed understanding of the tradeoffs of the two approaches. This investigation can then be used to inform the final decision and design.

@ionut-arm ionut-arm added the question Further information is requested label Jun 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

1 participant