Stateful secure element drivers are not resilient #739

Open
opened 2023-10-26 11:33:10 -05:00 by gilles-peskine-arm · 0 comments
gilles-peskine-arm commented 2023-10-26 11:33:10 -05:00 (Migrated from github.com)

Consider an integration of PSA crypto with a driver for a secure element that has its own storage for keys. If a power failure (or more generally a reset of the cryptography subsystem) happens during the creation or destruction of a key, the state of the secure element storage (containing the key material) and the state of the core storage (containing metadata) may be inconsistent.

This can lead to storage leakage (if a key is present in the secure element but the core does not know about it) or to invalid or corrupted key objects (if the core believes that a key exists, but there is in fact no such key in the secure element).

Planned fix: as specified in https://github.com/Mbed-TLS/mbedtls/blob/mbedtls-3.5.0/docs/architecture/psa-storage-resilience.md

Consider an integration of PSA crypto with a driver for a secure element that has its own storage for keys. If a power failure (or more generally a reset of the cryptography subsystem) happens during the creation or destruction of a key, the state of the secure element storage (containing the key material) and the state of the core storage (containing metadata) may be inconsistent. This can lead to storage leakage (if a key is present in the secure element but the core does not know about it) or to invalid or corrupted key objects (if the core believes that a key exists, but there is in fact no such key in the secure element). Planned fix: as specified in https://github.com/Mbed-TLS/mbedtls/blob/mbedtls-3.5.0/docs/architecture/psa-storage-resilience.md
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
gh-Mbed-TLS/TF-PSA-Crypto#739
No description provided.