Over-the-Air-Updates

Frischer Wind für IoT-Geräte

6. Dezember 2022, 10:55 Uhr | Jaya Bindra, Ravikiran HV
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Auswahl einer Sicherheits-MCU

Es sollte eine MCU gewählt werden, die umfangreiche Sicherheitsfunktionen, Kryptografie und abgesicherte Gerätebereitstellungsdienste unterstützt. Mit isolierten gesicherten Verarbeitungsumgebungen (Secure Processing Environments, SPE) und nicht-abgesicherten Verarbeitungsumgebungen (Non-Secure Processing Environment, NSPE) lässt sich die Angriffsfläche verringern, indem der nicht vertrauenswürdige oder nicht verifizierte Teil der Firmware minimiert wird. Eine Lösung besteht darin, die Ausführung und die Ressourcen der verschiedenen Prozesse zu isolieren, indem entweder Prozessoren mit eingebauter Hardwareisolierung, wie beispielsweise der M33, oder Dual-Core-CPUs mit einer dedizierten CPU für die Sicherheit ausgewählt werden. Durch die Verwendung einer vertrauenswürdigen Ausführungsumgebung (Trusted Execution Environment, TEE) lassen sich sicherheitskritische Vorgänge auf Hardwareebene isolieren, wie es beispielsweise beim Sicherheits-Mikrocontroller PSoC 64 der Fall ist, der einen dedizierten Sicherheitskern für die Ressourcenisolierung implementiert.

Aufbau einer Chain-of-Trust für gesichertes Booten
Eine Chain-of-Trust ist eine Reihe von Aktionen, die beim Booten des Geräts ablaufen, um zu prüfen, ob jede Komponente ab dem Einschalten des Geräts vertrauenswürdig ist. Beispielsweise werden die Bauteile für die PSoC-64-Sicherheits-MCU ab Werk mit einem hardwarebasierten Root-of-Trust (RoT) ausgeliefert, um zu überprüfen, ob die MCU aus einer geschützten Quelle stammt. Der RoT wird an einen Entwickler weitergegeben, der einen gesicherten Bootloader sowie Sicherheitsrichtlinien im Gerät installiert. Der RoT überprüft während der Bootphase die Integrität und Gültigkeit des Bootloaders, der wiederum die Integrität und Authentizität eines etwaigen Bootloaders oder einer Software der zweiten Stufe überprüft. Diese überprüfen anschließend die Authentizität und Integrität der Anwendung. Zu guter Letzt validiert die Anwendung unter anderem die Gültigkeit und Integrität ihrer Daten, Schlüssel und Betriebseinstellungen.

Verschlüsselung der Firmware-Updates
Die Verschlüsselung der Firmware verringert das Risiko eines Reverse Engineering oder einer einfachen Analyse durch einen Angreifer. Das Gerät kann Aktualisierungen von einer vertrauenswürdigen Quelle annehmen, das Image entschlüsseln und ein Update bereitstellen. Das ist eine entscheidende Sicherheitsanforderung bei OTA-Updates, weil die Daten für das Abhören der drahtlosen Kommunikation anfällig sind. Neben den Sicherheitsmaßnahmen zum Schutz der Daten sollte also auch der Kommunikationskanal durch geeignete und umsetzbare Technologien geschützt werden.

Für den reibungslosen Ablauf eines Firmware-Updates spielen neben den technischen Aspekten noch weitere Faktoren eine wichtige Rolle, etwa der Zeitpunkt, Vorlieben und das Verhalten der Nutzer oder der Umfang des Updates. Auch hier gibt es verschiedene Stellschrauben, die bei der Entwicklung berücksichtigt werden sollten.

Intelligente und kontextbezogene Updates

OTA-Systeme müssen in der Lage sein, das Nutzerverhalten zu überwachen und den Kontext zu verstehen, in dem sich die Nutzer befinden, bevor sie eine Aktualisierung durchführen. Typischerweise hat jeder Nutzer seine eigene Routine, die die Systemsoftware erkennen sollte, damit die Aktualisierung zu einem Zeitpunkt eingeleitet werden kann, an dem der Nutzer wenig aktiv ist. Automatische Aktualisierungen sind zwar eine gute Idee, funktionieren aber nicht in allen Situationen. Zwangsaktualisierungen sollten nur dann durchgeführt werden, wenn es sich um ein kritisches Sicherheitsupdate handelt. Ein Update kann außerdem eine größere Änderung der Benutzeroberfläche umfassen, die von den Nutzern nicht gewünscht ist. Aus diesem Grund sollte immer über die Art des Updates informiert werden, bevor es bereitgestellt wird, damit die Nutzer die Möglichkeit haben, die Aktualisierung zu akzeptieren, zu verschieben oder abzulehnen.

Ausfallsicheres Booten

Im IoT ist es wichtiger denn je, dass die Geräte schnell und fehlerfrei auf den neuesten Stand gebracht werden. Darum ist bei der Aktualisierung der Firmware darauf zu achten, dass die Funktionalität des Geräts nicht beeinträchtigt wird. Ebenso ist es wichtig, dass die Strategie für die Firmware-Aktualisierung gut geplant ist, um Fehler und versehentliche Stromausfälle auszugleichen. Auch wenn Geräte wie Fitness-Tracker batteriebetrieben sind, verläuft die Entladungskurve der Batterie nicht immer linear, sodass eine Überprüfung des Batteriestatus vor der Aktualisierung allein oft nicht ausreicht. Um eine ausfallsichere Lösung für den Einsatz vor Ort zu ermöglichen, muss ein Fehlerbehebungsmechanismus in den Bootloader eingebaut werden. Eine fehlerhafte Aktualisierung, die durch einen Strom- oder Netzausfall ausgelöst wird, kann ein Gerät lahmlegen und eine vollständige Wiederherstellung erforderlich machen. Wenn das jedoch automatisch mit einem Rollback auf die letzte funktionierende Version geschieht, führt ein unvorhergesehenes Ereignis nicht zu einem Ausfall des Geräts.

Zufriedenheit der Nutzer

Ein wichtiger Faktor für ein positives Nutzererlebnis ist die Zeit, die für ein OTA-Update erforderlich ist. Sie hängt von der Größe der Firmware, der Geschwindigkeit der zum Herunterladen der Firmware verwendeten Schnittstellen, der verwendeten Speichertechnologie und den implementierten Sicherheitsmaßnahmen ab. Um die Aktualisierungszeit der Firmware zu verkürzen, sollten geeignete Sicherheitsmaßnahmen gewählt und die Größe der Firmware optimiert werden. Möglicherweise sollte die Firmware sogar in logische Teile aufgeteilt werden, die bei Bedarf separat aktualisiert werden. Je schneller die Firmware aktualisiert wird, desto besser. Zudem könnte es wichtig sein, die Benutzerkonfigurationen nach der Firmware-Aktualisierung auf den Stand vor der Aktualisierung zurückzusetzen. Die Software sollte daher die Gerätekonfigurationen und Nutzerdaten, etwa die Netzwerkkonfiguration und die Konfiguration von Schlüsselfunktionen, so speichern, dass sie von einer zukünftigen Version eines kommenden Updates gelesen werden können.

Umfang der Aktualisierung

Das Cloud-unabhängige OTA-Framework von Infineon erlaubt zahlreiche Anwendungsmöglichkeiten
Bild 4. Das Cloud-unabhängige OTA-Framework von Infineon erlaubt zahlreiche Anwendungsmöglichkeiten.
© Infineon

Anstatt die gesamte Firmware auf einmal zu aktualisieren, muss die Lösung so konzipiert sein, dass jede Komponente des Systems unabhängig aktualisiert werden kann. Unter Umständen ist es nicht unbedingt nötig, alle Komponenten des Systems zu aktualisieren. So kann es beispielsweise sinnvoll sein, die WLAN-Firmware, den Bluetooth-Stack und ähnliche Komponenten von der Hauptfirmware zu trennen und nur bei Bedarf unabhängig voneinander zu aktualisieren. Weil es sich bei OTA um eine kritische Komponente handelt, sollte sie ausführlich getestet werden, um alle möglichen Anwendungsszenarien abzudecken und Ausfälle im Feld zu vermeiden. Alternativ lässt sich auch ein leicht verfügbares, vom Hersteller bereitgestelltes OTA-Framework wie das Cloud-agnostic OTA-Framework von Infineon auf GitHub (Bild 4) verwenden. Zu beachten ist auch: IoT-Produkte verwenden unterschiedliche Mikrocontroller und Sensoren verschiedener Anbieter. Jeder dieser Anbieter veröffentlicht Fehlerbehebungen oder Updates für die jeweilige Software, um sein Produkt bei Bedarf zu verbessern. Eine gut durchdachte OTA-Architektur muss darum in der Lage sein, jede Firmware unabhängig voneinander zu aktualisieren.

Versionsverwaltung

Eine der wichtigsten Sicherheitsmaßnahmen ist ein Versionsverwaltungssystem, um OTA-fähige IoT-Geräte vor Firmware-Downgrades zu schützen. Darüber hinaus kann es zahlreiche Hardwaremodelle geben, die alle die gleiche Firmware oder eine Variante der Firmware aus einer gemeinsamen Quelle verwenden. Das OTA-System muss diese Komplexität bewältigen und alle potenziellen Hardware- und Softwarekombinationen im Feld beobachten können. Zusätzlich muss das Versionsverwaltungssystem die Geräte, die eine Aktualisierung benötigen, von den Geräten unterscheiden, die keine Aktualisierung benötigen, und sie entsprechend verwalten.

OTA-Updates als Methode der Wahl

OTA-Updates sind eine wichtige Infrastrukturkomponente für fast jedes Embedded-IoT-Gerät. Es gibt zwar Systeme, die nach der Bereitstellung überhaupt nicht aktualisiert werden, aber das ist nur ein kleiner Bruchteil. OTA-Updates sind das beste Mittel, um die Firmware im Feld zu aktualisieren. Allerdings sollten entsprechende OTA-Update-Technologien schon bei der Entwicklung eines IoT-Geräts berücksichtigt werden. Andernfalls könnte sich der nachträgliche Aufbau der Chain-of-Trust, die bei den heutigen Implementierungen erforderlich ist, als sehr viel teurer und zeitaufwendiger erweisen. Außerdem ist die OTA-Lösung regressiv für alle möglichen Kombinationen in der Praxis zu testen.

 

Die Autoren

 

Jaya Bindra von Infineon-Technologies
Jaya Bindra von Infineon-Technologies
© Infineon

Jaya Kathuria Bindra

arbeitet als Director Applications Engineering bei Infineon Technologies, wo sie die Entwicklungsgruppe für Embedded-Anwendungen und -Lösungen unter Verwendung der PSoC- und WiFi/BT- Plattform leitet. Sie verfügt über mehr als 18 Jahre Erfahrung in der Halbleiterindustrie. Sie erwarb ihren MBA-Abschluss am IIM in Bangalore und hat einen Bachelor-Abschluss in Elektrotechnik von der Kurukshetra University.

Ravikiran HV von Infineon-Technologies
Ravikiran HV von Infineon-Technologies
© Infineon

Ravikiran HV

ist Senior Staff Applications Engineer bei Infineon Technologies, wo er in der Embedded Applications Group arbeitet. Er verfügt über mehr als elf Jahre Erfahrung in diesem Bereich. Er hat einen Bachelor-Abschluss in Elektronik und Kommunikationstechnik von der Visvesvaraya Technological University.


  1. Frischer Wind für IoT-Geräte
  2. Auswahl einer Sicherheits-MCU

Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Infineon Technologies AG

Weitere Artikel zu INFINEON Technologies AG Neubiberg

Weitere Artikel zu IoT / IIoT / Industrie 4.0

Weitere Artikel zu IIoT-Protokolle (OPCUA, MQTT, ...)