Secure Boot and Encryption in MCUs ([Microcontroller](https://www.ampheo.com/c/microcontrollers) Units) are critical features used to protect embedded systems from unauthorized access, tampering, and code theft. Here's a clear explanation of each: ![AdobeStock_32415709_RF_3840x2400_RGB-1](https://hackmd.io/_uploads/Bki6yTYbxg.jpg) **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:** 1. Boot ROM code (inaccessible and immutable) is executed first. 2. The bootloader checks a digital signature on the firmware (e.g., using RSA or ECDSA). 3. If the signature is valid, the firmware is loaded and executed. 4. 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:** 1. Firmware Encryption: Prevents reverse engineering of firmware code. 2. Secure Communication: Protects data in transit (e.g., TLS, AES). 3. 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** ![企业微信截图_20250520163209](https://hackmd.io/_uploads/HJaGC2Y-xg.png) **In Practice (Examples):** * [STM32](https://www.ampheo.com/search/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](https://www.ampheo.com/manufacturer/nxp-semiconductors) Kinetis/RT: Support HAB (High Assurance Boot) and AES-128/256 encryption.