Medical Grade Bootloader für ARM Mikrokontroller
Firmware-Updates im Feld sind eine Herausforderung für Produkte, insbesondere für Medizingeräte. Durch den Einsatz unseres CSA Bootloaders kann in einem Embedded Projekt viel Entwicklungszeit gespart und damit ein Mehrwert im Bereich von sicheren (Remote-) Updates im Feld geschaffen werden.
Der CSA Bootloader implementiert die Funktionalität für die Installation, die Aktualisierung sowie den Schutz der Firmware gegen Veränderung und Reverse Engineering. Mit entsprechend konzipierter Hardware lässt sich somit das Risiko für Patienten durch alterungs-, umweltbedingter sowie böswilliger Modifikation der Firmware eines Medizingerätes minimieren. Der Bootloader wird vorrangig in Systemen eingesetzt, welche aus einem Host-Rechner (PC) und einem oder mehreren Mikrokontrollern bestehen. Der Bootloader und die jeweilige Applikationsfirmware implementieren eine proprietäre RPC-Schnittstelle, über welche sie von einer Applikationssoftware auf dem Host-Rechner gesteuert werden können.
Folgende Anforderungen erfüllt der CSA Bootloader (die technischen Details finden Sie im nächsten Kapitel):
- Installation der Firmware während der Produktion
- Update der Firmware und des Bootloaders im Feld (In-Application Programming)
- Resistenz gegen Fehler sowie Verhinderung des Unbrauchbarwerdens oder zumindest Sicherstellung der Wiederherstellbarkeit des Geräts bei fehlgeschlagenen Updates (z.B. bei Stromausfall)
- Resistenz gegenüber Angriffen
- Begrenzung des Schadens eines erfolgreichen Angriffs (z.B. Auslesen von Schlüsseln aus dem Mikrokontroller)
Optional:
- Downgrade Prevention: Verhindern der Installation von älteren Firmware-Versionen
- Gerätespezifische Firmware: Die Firmware ist an die Hardware eines Geräts gebunden (z.B. via Unique Identifier des Mikrokontrollers)
In Entwicklung:
- Integritäts- und Authentizitätsprüfung der Firmware beim Start
- Schutz des Gerätes gegen die Installation von unautorisierter Firmware
- Schutz gegen die Installation der Firmware auf unautorisierten Geräten
- Schutz gegen Modifikation der Firmware oder des Firmware-Updates
- Schutz gegen Reverse-Engineering der Firmware oder des Firmware-Updates
- Production Keys – Sicherstellen, dass Geräte oder Komponenten, welche z.B. auf dem Weg vom Elektronikhersteller zur Montagefirma "vom Laster fallen", nicht verwendet werden können
Weitere Details finden Sie im Kapitel Asymmetrische Kryptographie.
Der Bootloader wird mit ARM Compiler Version 5 gebaut. Die Umstellung zu GCC ist in Planung und wurde im Rahmen des CSA Boostcamp 2022 initialisiert. Weiter wurde im Boostcamp auch die Grundlage für eine automatische Generierung des Codes für die RPC-Kommandos aus übersichtlichen JSON-Dateien gelegt.
Die CSA bietet eine fertige, lizenzierbare Bootloader-Lösung sowie kundenspezifische Anpassungen und Entwicklungen als Dienstleistung an. Der Bootloader wurde gemäss der Norm IEC 62304 entwickelt, dokumentiert und verifiziert.
Für die Integration in ein Kundenprodukt werden die Integrationspläne und Protokolle mitgeliefert, die durch den Kunden oder die CSA an das jeweilige Produkt adaptiert werden. Gerne demonstrieren wir Ihnen den gesamten Funktionsumfang des Bootloaders. Bei Interesse wenden Sie sich an unseren Verkauf, der ein Treffen mit einem Experten vereinbart.
Nachfolgend finden Sie weitere spannende Details zur Implementation, den Hardwareanforderungen und Informationen zum Aufbau der Kommunikation.
Abbildung 1: Übersicht STM32L4 Regionen im Flash
Beide Bootloader und die Firmware haben in der aktuellen Implementation eine Check-Summe zur Überprüfung. In der Option mit asymmetrischer Kryptographie wird die Checksumme mit einer kryptographischen Signatur ersetzt.
Bootloader Update
Nebst der Applikationsfirmware kann auch der Bootloader sicher im Feld aktualisiert werden. Damit das Gerät selbst bei einem fehlgeschlagenen Update weiterhin verwendbar oder immerhin wiederherstellbar ist, existieren auf dem Target-System zwei Kopien des Bootloaders. Ein Bootloader kann immer nur die andere Kopie überschreiben, womit im Fehlerfall ein Fallback garantiert ist.
Asymmetrische Kryptographie (in Entwicklung)
Durch die Verwendung von asymmetrischer Kryptographie für die Ver- und Entschlüsselung der Firmware sowie Generierung und Verifikation der digitalen Signaturen können Schlüssel, welche von einem Angreifer aus einem Gerät extrahiert wurden, nicht direkt für weitere Angriffe auf andere Geräte oder das Gesamtsystem verwendet werden. Ein Schlüssel, der z.B. für die Verifikation einer Signatur im Speicher des Gerätes liegt, kann nicht zur Generierung von gültigen Signaturen verwendet werden.
Abbildung 2: Typische Anwendung mit Daisy Chain
Einschränkungen
Da der Bootloader in den meisten Fällen, gleich wie die Applikationsfirmware selbst, im normalen Programmspeicher abgelegt wird, empfehlen wir, ihn zusätzlich durch Hardware-Massnahmen gegen böswillige Modifikation (z.B. über JTAG) zu schützen. Die meisten Mikrokontroller enthalten bereits von Haus aus verschiedene Möglichkeiten dazu.