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

Driver interface stability promise in Mbed TLS 4.0 #99

Open
gilles-peskine-arm opened this issue Mar 21, 2024 · 1 comment
Open

Driver interface stability promise in Mbed TLS 4.0 #99

gilles-peskine-arm opened this issue Mar 21, 2024 · 1 comment
Labels
needs-design-approval Needs design discussion / approval size-l Estimated task size: large (2w+)

Comments

@gilles-peskine-arm
Copy link

What promises do we make in Mbed TLS 4.0 regarding the stability of driver interfaces? This covers:

  • Prototype of the C functions that drivers implement.
  • Provided tooling for generating driver wrappers.
  • Support of handwritten driver wrappers.

Definition of done: a design decision (the hard part), and document it (the easy part).

@gilles-peskine-arm
Copy link
Author

We're strongly considering officializing standardize the driver interface as a PSA interface. If this happens, the PSA Crypto working group will own the interface, not Mbed TLS/TF-PSA-Crypto. This is an argument against promising full backward compatibility of the current interface.

With my Mbed TLS/TF-PSA-Crypto hat, I am uncomfortable promising backward compatibility until we have done three things:

  • Document the interfaces more precisely. In particular, make sure that it's clear whose responsibility it is to validate what.
  • Test that the library is validating what the specification says it must validate.
  • Implement the tooling for generating driver wrappers from JSON.

Given the high bar, I am revising my previous opinion: I don't think we'll have time to do it before the TF-PSA-Crypto 1.0 release. So I'm revising the priority as a COULD, but in all likelihood, this won't happen in time, and we'll have to live with unclear promises for some time longer.

@gilles-peskine-arm gilles-peskine-arm added size-l Estimated task size: large (2w+) and removed size-s Estimated task size: small (~2d) labels Aug 8, 2024
@gilles-peskine-arm gilles-peskine-arm moved this to Design needed in Mbed TLS 4.0 planning Aug 8, 2024
@github-project-automation github-project-automation bot moved this to Mbed TLS 4.0 MUST in Backlog for Mbed TLS Aug 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-design-approval Needs design discussion / approval size-l Estimated task size: large (2w+)
Projects
Status: Mbed TLS 4.0 MUST
Status: Design needed
Development

No branches or pull requests

1 participant