Skip to content
Inovasense

MCUboot

MCUboot — Open-source secure bootloader for 32-bit MCUs with verified boot, encrypted OTA updates, and rollback protection.

Definition
MCUboot — Open-source secure bootloader for 32-bit MCUs with verified boot, encrypted OTA updates, and rollback protection.

MCUboot — Secure Bootloader for Microcontrollers

MCUboot is an open-source, hardware-independent secure bootloader for 32-bit microcontrollers. It provides the root of trust at the firmware level — ensuring that only cryptographically signed, authentic firmware images can execute on a device. MCUboot is the de facto bootloader for Zephyr RTOS and is increasingly used to support CRA compliance.

Why MCUboot Matters

Without a secure bootloader, anyone with physical or remote access can flash modified firmware onto a device — bypassing all software security. MCUboot prevents this by:

  1. Verifying signatures before executing any firmware image
  2. Managing firmware slots for safe over-the-air (OTA) updates
  3. Rolling back to a known-good image if a new update fails
  4. Encrypting firmware images to prevent reverse engineering

Key Features

FeatureDescription
Image signingEd25519, ECDSA-P256, RSA-2048/3072 signature verification
Encrypted imagesAES-CTR-128/256 firmware encryption at rest
Dual-slot updatePrimary + secondary slot for fail-safe firmware swaps
Swap using scratchResumable updates — survives power loss mid-update
Rollback protectionMonotonic version counters prevent downgrade attacks
Serial recoveryMCUmgr protocol for USB/UART recovery if OTA fails
Measured bootHash chain for hardware attestation (TPM/TrustZone)

Update Modes

ModeMechanismPower-Loss SafeFlash Wear
Swap (scratch)Copy primary → scratch, secondary → primary✅ ResumableHigher
Swap (move)In-place sector shuffling (no scratch area)✅ ResumableMedium
OverwriteDirect overwrite of primary slot❌Lowest
Direct XIPExecute from either slot (no copy)✅None

Supported Platforms

MCUboot is OS and hardware independent. It supports:

  • RTOS: Zephyr, FreeRTOS, Apache NuttX, Apache Mynewt, Mbed OS, RIOT
  • Vendors: Nordic (nRF52/53/91), STMicroelectronics (STM32L5, STM32U5, STM32H5), NXP (LPC, i.MX RT), Espressif (ESP32), Infineon/Cypress (PSoC 6)
  • Architectures: ARM Cortex-M, RISC-V, Xtensa

CRA Compliance Connection

The EU Cyber Resilience Act sets outcome-based requirements (Annex I) that MCUboot can help meet:

  • ✅ Integrity protection and secure distribution of updates — MCUboot supports this via image signing
  • ✅ Rollback protection — not named in the CRA, but a common control against reinstalling vulnerable firmware; MCUboot enforces monotonic version counters
  • ✅ Timely security updates as part of vulnerability handling — MCUboot enables patch deployment via OTA
  • Secure Boot — The broader concept of verified boot chains; MCUboot is the implementation layer for MCU-based systems.
  • OTA Update — MCUboot manages the firmware slot swapping that makes secure OTA possible.
  • CRA — EU regulation setting outcome-based cybersecurity requirements for products with digital elements, including integrity protection and secure distribution of security updates.

MCUboot is our default bootloader for all embedded development projects — ensuring CRA-compliant secure boot and OTA from day one. See our Embedded Security & IoT capabilities.

Official References