The X-CUBE-SBSFU Secure Boot (SB) and Secure Firmware Update (SFU) solution allows the update of the STM32 microcontroller built-in program with new firmware versions, adding new features and correcting potential issues. The update process is performed in a secure way to prevent unauthorized updates and access to confidential on-device data.
In addition, Secure Boot (Root of Trust services) checks and activates STM32 security mechanisms, and checks the authenticity and integrity of user application code before every execution to ensure that invalid or malicious code cannot be run.
The Secure Firmware Update application receives the encrypted firmware image, decrypts it, then checks the authenticity and integrity of the code before installing it.
X-CUBE-SBSFU is built on top of STM32Cube software technology, making the portability across different STM32 microcontrollers easy. It is provided as reference code to demonstrate the state-of-the-art usage of STM32 security protection.
The X-CUBE-SBSFU software comes with an example implementation running on NUCLEO-L476RG.
X-CUBE-SBSFU is classified ECCN 5D002.
- Secure Boot / Root of Trust: boot path cannot be modified. User application authenticity and integrity is checked before execution.
- Secure firmware loader: downloads an encrypted firmware image via UART interface / Ymodem protocol and checks its authenticity and integrity before installing it.
- Safe firmware programing: firmware update is based on the management of two firmware images with error detection and rollback capabilities.
- AES-GCM symmetric cryptography scheme for firmware decryption and verification.
- Secure Engine services: protected environment managing all critical data (such as firmware decryption key), and operations (such as cryptography operations).
- STM32 security mechanisms: combination demonstrating the state-of-the-art usage of STM32 protections.