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 wird zunehmend zur Unterstützung der Konformität mit der Cyberresilienz-Verordnung (CRA) eingesetzt; 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:
- Verifikation von Signaturen vor der Ausführung eines Firmware-Images
- Verwaltung von Firmware-Slots für sichere Over-the-Air-Updates (OTA)
- Rollback auf ein bekanntes, funktionierendes Image, wenn ein neues Update fehlschlägt
- Verschlüsselung von Firmware-Images zum Schutz vor Reverse Engineering
Wesentliche Merkmale
| Merkmal | Beschreibung |
|---|---|
| Signierung von Images | Signaturverifikation mit Ed25519, ECDSA-P256, RSA-2048/3072 |
| Verschlüsselte Images | AES-CTR-128/256-Verschlüsselung der Firmware im Ruhezustand |
| Dual-Slot-Update | Primärer + sekundärer Slot für ausfallsicheren Austausch der Firmware |
| Swap mit Scratch-Bereich | Wiederaufsetzbare Updates – übersteht Stromausfall während des Updates |
| Rollback-Schutz | Monotone Versionszähler verhindern Downgrade-Angriffe |
| Serielle Wiederherstellung | MCUmgr-Protokoll zur Wiederherstellung über USB/UART bei OTA-Fehlschlag |
| Measured Boot (gemessener Systemstart) | Hash-Kette für Hardware-Attestierung (TPM/TrustZone) |
Update-Modi
| Modus | Mechanismus | Sicher bei Stromausfall | Flash-Abnutzung |
|---|---|---|---|
| Swap (mit Scratch) | Kopieren: primär → scratch, sekundär → primär | ✓ Wiederaufsetzbar | Höher |
| Swap (verschieben) | Sektorweises Verschieben (ohne Scratch-Bereich) | ✓ Wiederaufsetzbar | Mittel |
| Überschreiben | Direktes Überschreiben des primären Slots | ✗ | Am geringsten |
| Direct XIP | Ausfü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 legt ergebnisorientierte Anforderungen (Anhang I) fest, zu deren Erfüllung MCUboot beitragen kann:
- ✓ Integritätsschutz und sichere Verteilung von Updates – MCUboot unterstützt dies durch Signierung von Images
- ✓ Rollback-Schutz – in der CRA nicht genannt, aber eine gängige Maßnahme gegen das erneute Aufspielen anfälliger Firmware; MCUboot erzwingt monotone Versionszähler
- ✓ Zeitnahe Sicherheitsupdates als Teil der Behandlung von Schwachstellen – MCUboot ermöglicht die Bereitstellung von Patches ü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-Verordnung, die ergebnisorientierte Cybersicherheitsanforderungen für Produkte mit digitalen Elementen festlegt, einschließlich Integritätsschutz und sicherer Verteilung von Sicherheitsupdates.
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
- MCUboot – open-source secure bootloader – MCUboot-Projekt (offizielle Dokumentation)
- Verordnung (EU) 2024/2847 (CRA) – Anhang I, grundlegende Cybersicherheitsanforderungen – EUR-Lex