Zum Inhalt springen
Inovasense

MCUboot

MCUboot – Open-Source Secure Bootloader für 32-Bit-MCUs mit authentifiziertem Systemstart, verschlüsselten OTA-Updates und Rollback-Schutz.

Definition
MCUboot – Open-Source Secure Bootloader für 32-Bit-MCUs mit authentifiziertem Systemstart, verschlüsselten OTA-Updates und Rollback-Schutz.

MCUboot – Secure Bootloader für Mikrocontroller

MCUboot ist ein quelloffener, hardwareunabhängiger Secure Bootloader für 32-Bit-Mikrocontroller. Er stellt den Vertrauensanker (Root of Trust) auf Firmware-Ebene bereit und stellt sicher, dass nur kryptografisch signierte, authentische Firmware-Images auf einem Gerät ausgeführt werden können. MCUboot ist der De-facto-Bootloader für Zephyr RTOS und kann sichere Start- und Aktualisierungsprozesse für die Konformität mit der Cyberresilienz-Verordnung (CRA) unterstützen; die CRA schreibt MCUboot nicht als konkrete Implementierung vor.

Warum MCUboot wichtig ist

Ohne einen Secure Bootloader kann jeder mit physischem oder Fernzugriff modifizierte Firmware auf ein Gerät flashen und so alle softwareseitigen Sicherheitsmaßnahmen umgehen. MCUboot verhindert dies durch:

  1. Verifikation von Signaturen vor der Ausführung eines Firmware-Images
  2. Verwaltung von Firmware-Slots für sichere Over-the-Air-Updates (OTA)
  3. Rollback auf ein bekanntes, funktionierendes Image, wenn ein neues Update fehlschlägt
  4. Verschlüsselung von Firmware-Images zum Schutz vor Reverse Engineering

Wesentliche Merkmale

MerkmalBeschreibung
Signierung von ImagesSignaturverifikation mit Ed25519, ECDSA-P256, RSA-2048/3072
Verschlüsselte ImagesAES-CTR-128/256-Verschlüsselung der Firmware im Ruhezustand
Dual-Slot-UpdatePrimärer + sekundärer Slot für ausfallsicheren Austausch der Firmware
Swap mit Scratch-BereichWiederaufsetzbare Updates – übersteht Stromausfall während des Updates
Rollback-SchutzMonotone Versionszähler verhindern Downgrade-Angriffe
Serielle WiederherstellungMCUmgr-Protokoll zur Wiederherstellung über USB/UART bei OTA-Fehlschlag
Measured Boot (gemessener Systemstart)Hash-Kette für Hardware-Attestierung (TPM/TrustZone)

Update-Modi

ModusMechanismusSicher bei StromausfallFlash-Abnutzung
Swap (mit Scratch)Kopieren: primär → scratch, sekundär → primär✓ WiederaufsetzbarHöher
Swap (verschieben)Sektorweises Verschieben (ohne Scratch-Bereich)✓ WiederaufsetzbarMittel
ÜberschreibenDirektes Überschreiben des primären Slots✗Am geringsten
Direct XIPAusführung aus beliebigem Slot (ohne Kopieren)✓Keine

Unterstützte Plattformen

MCUboot ist betriebssystem- und hardwareunabhängig. Es unterstützt:

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

Bezug zur Konformität mit dem CRA

Die EU-Cyberresilienz-Verordnung schreibt vor, dass vernetzte Produkte Folgendes implementieren müssen:

  • ✓ Authentifizierte Firmware-Updates – MCUboot stellt dies durch Signierung von Images sicher
  • ✓ Rollback-Schutz – MCUboot erzwingt monotone Versionszähler
  • ✓ Infrastruktur für das Schwachstellenmanagement – MCUboot ermöglicht die schnelle Bereitstellung von Sicherheitspatches über OTA

Verwandte Begriffe

  • Secure Boot – Das übergeordnete Konzept verifizierter Boot-Ketten; MCUboot ist die Implementierungsebene für MCU-basierte Systeme.
  • OTA-Update – MCUboot verwaltet den Austausch von Firmware-Slots, der sichere OTA-Updates ermöglicht.
  • CRA – EU-Gesetzgebung, die Secure Boot und authentifizierte Updates für alle vernetzten Produkte vorschreibt.

MCUboot ist unser Standard-Bootloader für alle Entwicklungsprojekte für eingebettete Systeme und unterstützt authentifizierten Systemstart und sichere Firmware-Updates; die CRA-Konformität ist für das gesamte Produkt zu bewerten. Informieren Sie sich über unsere Kompetenzen im Bereich Embedded Security & IoT.

Offizielle Referenzen