Passa al contenuto
Inovasense

MCUboot

MCUboot — Bootloader sicuro open-source per MCU a 32 bit con verified boot, aggiornamenti OTA cifrati e protezione dal rollback.

Definizione
MCUboot — Bootloader sicuro open-source per MCU a 32 bit con verified boot, aggiornamenti OTA cifrati e protezione dal rollback.

MCUboot — Bootloader sicuro per microcontrollori

MCUboot è un bootloader sicuro open-source e indipendente dall’hardware per microcontrollori a 32 bit. Fornisce il root of trust a livello di firmware — garantendo che solo immagini firmware autentiche e firmate crittograficamente possano essere eseguite su un dispositivo. MCUboot è il bootloader di fatto per Zephyr RTOS ed è sempre più richiesto per la conformità al CRA.

Perché MCUboot è importante

Senza un bootloader sicuro, chiunque abbia accesso fisico o remoto può scrivere firmware modificato su un dispositivo — aggirando tutta la sicurezza software. MCUboot lo impedisce mediante:

  1. Verifica delle firme prima di eseguire qualsiasi immagine firmware
  2. Gestione degli slot firmware per aggiornamenti over-the-air (OTA) sicuri
  3. Rollback a un’immagine nota e funzionante se un nuovo aggiornamento fallisce
  4. Cifratura delle immagini firmware per prevenire il reverse engineering

Funzionalità principali

FunzionalitàDescrizione
Firma dell’immagineVerifica delle firme Ed25519, ECDSA-P256, RSA-2048/3072
Immagini cifrateCifratura del firmware a riposo AES-CTR-128/256
Aggiornamento dual-slotSlot primario + secondario per swap del firmware fail-safe
Swap con scratchAggiornamenti riprendibili — sopravvivono all’interruzione di alimentazione a metà aggiornamento
Protezione dal rollbackContatori di versione monotoni impediscono attacchi di downgrade
Recupero serialeProtocollo MCUmgr per il recupero via USB/UART se l’OTA fallisce
Measured bootCatena di hash per l’attestazione hardware (TPM/TrustZone)

Modalità di aggiornamento

ModalitàMeccanismoSicura in caso di interruzione di alimentazioneUsura della Flash
Swap (scratch)Copia primario ? scratch, secondario ? primario? RiprendibileMaggiore
Swap (move)Riposizionamento dei settori in loco (nessuna area scratch)? RiprendibileMedia
OverwriteSovrascrittura diretta dello slot primario?Minima
Direct XIPEsecuzione da uno qualsiasi dei due slot (nessuna copia)?Nessuna

Piattaforme supportate

MCUboot è indipendente dal sistema operativo e dall’hardware. Supporta:

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

Collegamento con la conformità al CRA

Il Cyber Resilience Act dell’UE impone che i prodotti connessi implementino:

  • ? Aggiornamenti firmware autenticati — MCUboot li fornisce tramite la firma delle immagini
  • ? Protezione dal rollback — MCUboot impone contatori di versione monotoni
  • ? Infrastruttura di gestione delle vulnerabilità — MCUboot consente un rapido deployment di patch di sicurezza via OTA

Termini correlati

  • Secure Boot — Il concetto più ampio di catene di boot verificate; MCUboot è il livello di implementazione per i sistemi basati su MCU.
  • OTA Update — MCUboot gestisce lo swap degli slot firmware che rende possibile un OTA sicuro.
  • CRA — Legislazione dell’UE che richiede secure boot e aggiornamenti autenticati per tutti i prodotti connessi.

MCUboot è il nostro bootloader predefinito per tutti i progetti di sviluppo embedded — garantendo secure boot e OTA conformi al CRA fin dal primo giorno. Consultate le nostre competenze in materia di Embedded Security & IoT.

Riferimenti ufficiali