Prejsť na obsah
Inovasense

MCUboot

MCUboot — Bezpečný open source bootloader pre 32-bitové MCU s overeným zavádzaním, šifrovanými aktualizáciami OTA a ochranou proti návratu na staršiu verziu (rollback).

Definícia
MCUboot — Bezpečný open source bootloader pre 32-bitové MCU s overeným zavádzaním, šifrovanými aktualizáciami OTA a ochranou proti návratu na staršiu verziu (rollback).

MCUboot — bezpečný bootloader pre mikrokontroléry

MCUboot je bezpečný bootloader typu open source (s otvoreným zdrojovým kódom) pre 32-bitové mikrokontroléry, nezávislý od hardvéru. Poskytuje koreň dôvery (root of trust) na úrovni firmvéru — zaručuje, že na zariadení sa môžu spustiť iba kryptograficky podpísané, autentické obrazy firmvéru. MCUboot je de facto štandardným bootloaderom pre Zephyr RTOS a čoraz častejšie sa používa na podporu súladu s CRA.

Prečo je MCUboot dôležitý

Bez bezpečného bootloadera môže ktokoľvek s fyzickým alebo vzdialeným prístupom nahrať do zariadenia upravený firmvér — a obísť tak celé softvérové zabezpečenie. MCUboot tomu predchádza týmito spôsobmi:

  1. Overovanie podpisov pred spustením akéhokoľvek obrazu firmvéru
  2. Správa slotov firmvéru pre bezpečné aktualizácie over-the-air (OTA)
  3. Návrat k overenému funkčnému obrazu, ak nová aktualizácia zlyhá
  4. Šifrovanie obrazov firmvéru, ktoré bráni reverznému inžinierstvu

Kľúčové vlastnosti

VlastnosťOpis
Podpisovanie obrazovOverovanie podpisov Ed25519, ECDSA-P256, RSA-2048/3072
Šifrované obrazyŠifrovanie uloženého firmvéru pomocou AES-CTR-128/256
Dvojslotová aktualizácia (dual-slot)Primárny + sekundárny slot na výmenu firmvéru odolnú voči zlyhaniu
Swap using scratchAktualizácie s možnosťou pokračovania — prežijú výpadok napájania počas aktualizácie
Ochrana proti návratu na staršiu verziu (rollback)Monotónne počítadlá verzií bránia útokom vnútením staršej verzie (downgrade)
Sériová obnova (serial recovery)Protokol MCUmgr na obnovu cez USB/UART, ak OTA zlyhá
Merané zavádzanie (measured boot)Reťazec hašov pre hardvérovú atestáciu (TPM/TrustZone)

Režimy aktualizácie

RežimMechanizmusOdolnosť voči výpadku napájaniaOpotrebenie flash pamäte
Swap (scratch)Kopírovanie primárny → scratch, sekundárny → primárny✅ S možnosťou pokračovaniaVyššie
Swap (move)Presúvanie sektorov na mieste (bez oblasti scratch)✅ S možnosťou pokračovaniaStredné
OverwritePriame prepísanie primárneho slotu❌Najnižšie
Direct XIPSpustenie z ktoréhokoľvek slotu (bez kopírovania)✅Žiadne

Podporované platformy

MCUboot je nezávislý od operačného systému aj od hardvéru. Podporuje:

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

Väzba na súlad s CRA

Nariadenie EÚ Cyber Resilience Act stanovuje požiadavky zamerané na výsledok (príloha I), ktoré MCUboot môže pomôcť splniť:

  • ✅ Ochrana integrity a bezpečná distribúcia aktualizácií — MCUboot ich podporuje podpisovaním obrazov
  • ✅ Ochrana proti návratu na staršiu verziu — CRA ju nemenuje, ide však o bežné opatrenie proti opätovnej inštalácii zraniteľného firmvéru; MCUboot vynucuje monotónne počítadlá verzií
  • ✅ Včasné bezpečnostné aktualizácie ako súčasť riešenia zraniteľností — MCUboot umožňuje nasadenie záplat cez OTA

Súvisiace pojmy

  • Secure Boot — Širší koncept overených zavádzacích reťazcov; MCUboot je implementačnou vrstvou pre systémy založené na MCU.
  • Aktualizácia OTA — MCUboot riadi výmenu slotov firmvéru, vďaka ktorej sú bezpečné aktualizácie OTA možné.
  • CRA — Nariadenie EÚ, ktoré pre výrobky s digitálnymi prvkami stanovuje požiadavky na kybernetickú bezpečnosť zamerané na výsledok, vrátane ochrany integrity a bezpečnej distribúcie bezpečnostných aktualizácií.

MCUboot je náš predvolený bootloader pre všetky projekty vývoja embedded systémov — od prvého dňa tak zaisťuje Secure Boot a OTA v súlade s CRA. Pozrite si naše kompetencie v oblasti Embedded Security & IoT.

Oficiálne referencie