Secure Boot and Encryption in MCUs (Microcontroller Units) are critical features used to protect embedded systems from unauthorized access, tampering, and code theft. Here's a clear explanation of each:
Image Not Showing
Possible Reasons
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →
What is Secure Boot?
Definition:
Secure Boot is a security feature that verifies the authenticity and integrity of firmware before it's executed by the MCU.
How It Works:
- Boot ROM code (inaccessible and immutable) is executed first.
- The bootloader checks a digital signature on the firmware (e.g., using RSA or ECDSA).
- If the signature is valid, the firmware is loaded and executed.
- If not, the boot halts or enters a recovery mode.
Purpose:
- Prevent unauthorized firmware from running.
- Ensure system integrity and trust from the first instruction.
Implemented With:
- Public-key cryptography (asymmetric: RSA, ECC)
- Hash algorithms (SHA-256)
- Certificates or embedded public keys
What is Encryption in MCUs?
Definition:
Encryption protects data or firmware by converting it into an unreadable format unless a secret key is known.
Use Cases in MCUs:
- Firmware Encryption: Prevents reverse engineering of firmware code.
- Secure Communication: Protects data in transit (e.g., TLS, AES).
- Data Protection: Secures stored credentials, configurations, or logs.
Common Encryption Methods:
- AES (Advanced Encryption Standard) – Symmetric encryption (fast and lightweight)
- ECC (Elliptic Curve Cryptography) – For key exchange and signatures
- TLS/SSL – For encrypted internet connections
Summary Table
Image Not Showing
Possible Reasons
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →
In Practice (Examples):
- STM32 MCUs: Support Secure Boot via STM32Trust framework and firmware encryption using AES.
- ESP32: Has Secure Boot with RSA signature verification and flash encryption.
- NXP Kinetis/RT: Support HAB (High Assurance Boot) and AES-128/256 encryption.