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

Implement transaction recovery for SE key creation/destruction #218

Closed
gilles-peskine-arm opened this issue Aug 13, 2019 · 3 comments
Closed

Comments

@gilles-peskine-arm
Copy link
Collaborator

gilles-peskine-arm commented Aug 13, 2019

Description

If a power failure (or more generally a reset of the cryptography subsystem) happens during the creation or destruction of a key, on the next start, a transaction file may be present in storage. Recovering the interrupted transaction (in psa_crypto_recover_transaction) is currently not implemented, which prevents psa_crypto_init from succeeding.

Issue request type

[ ] Question
[ ] Enhancement
[x] Bug
@ciarmcom
Copy link
Member

Internal Jira reference: https://jira.arm.com/browse/IOTCRYPT-862

@gilles-peskine-arm
Copy link
Collaborator Author

This only concerns keys in a secure element that has its own key storage, not transparent keys or keys in a secure element whose keys are stored in wrapped form in the internal storage.

This issue only tracks dynamically registered secure element drivers enabled with MBEDTLS_PSA_CRYPTO_SE_C, which are deprecated. We are not going to implement transaction recovery for dynamic secure element drivers.

See Mbed-TLS/mbedtls#7646 and follow-up issues for the same problem with the new kind of secure element driver (“unified driver model”).

@gilles-peskine-arm gilles-peskine-arm closed this as not planned Won't fix, can't repro, duplicate, stale May 24, 2023
@gilles-peskine-arm
Copy link
Collaborator Author

Now tracked (for new-style drivers) at Mbed-TLS/mbedtls#8431

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants