Im IoT entwickeln sich die Sicherheitsanforderungen, Standards und Trends so rasant weiter, dass sie für Gerätehersteller immer schwieriger umzusetzen sind. Mit Over-the-Air-Updates (OTA) ist es möglich, Geräte im Feld immer wieder zu aktualisieren – zur Freude der Nutzer und zum Schutz deren Daten.
Intelligente Geräte werden immer komplexer, softwareorientierter und vernetzter – sie wachsen über die traditionellen Produktgrenzen hinaus. Das bedeutet auch, dass die Geräte regelmäßig weiterentwickelt und an neue Trends, Standards und Sicherheitsanforderungen angepasst werden müssen. Um einen reibungslosen und gesicherten Betrieb zu ermöglichen, ist daher ein strategischer Ansatz für OTA-Updates sinnvoll. Die OTA-Update-Technologie ermöglicht die Aktualisierung von Firmware aus der Ferne, was jedoch mit einer Reihe von Herausforderungen verbunden ist (Bild 1).
Embedded-Geräte sind bevorzugte Ziele für Cyberangriffe, denn mit einem erfolgreichen Angriff können sich Eindringlinge Zugang zu den erzeugten, empfangenen und verarbeiteten Daten verschaffen. Häufig kann das schwerwiegende Folgen für das übergeordnete System haben, zu dem das Embedded-Gerät gehört. So könnte beispielsweise das gesamte vernetzte Haus abgeschaltet und die Steuerung des Autos übernommen werden, oder Angreifer bekommen Zugriff auf in den Geräten gespeicherte persönliche Daten. Ein kompromittiertes System – sowohl im privaten als auch im Unternehmensumfeld – stellt eine große Bedrohung für die Sicherheit und das Wohlbefinden der Nutzer dar und kann den Ruf und den Erfolg des Herstellers gefährden. Die Liste der potenziellen Schwachstellen von OTA-Systemen ist lang, dazu gehören Man-in-the-Middle-Angriffe (MITM), Einschleusen von Malware, veraltete Software, fehlende Verschlüsselung oder der physische Zugang zu den Geräten. Angreifer könnten durch diese Schwachstellen ein legitimes Update verändern, schädlichen Code einschleusen, die Kontrolle über ein Gerät übernehmen und wichtige Embedded-Systemkomponenten umprogrammieren.
Zudem kann es aus verschiedenen Gründen vorkommen, dass das zu aktualisierende Gerät während des OTA-Prozesses neu gestartet wird, etwa wenn der Nutzer das Herunterfahren des Geräts erzwingt oder der Akku zu schwach oder leer ist. Es gibt bereits einfache Maßnahmen wie Warnhinweise, das Gerät nicht abzuschalten und den Ladezustand des Akkus vor dem Start der Aktualisierung zu überprüfen, doch diese reichen häufig nicht aus. Außerdem können auch andere Faktoren zu einem plötzlichen Stromausfall während der Aktualisierung führen.
Für die Zufriedenheit der Nutzer sind noch weitere Aspekte zu beachten. Beispielsweise sollte die Aktualisierungsdauer so kurz wie möglich sein, zudem können häufige Aktualisierungen störend sein, während zu wenige Aktualisierungen zu Sicherheitsrisiken führen. Automatische Updates sind zwar eine gute Idee, aber sie funktionieren nicht immer, besonders wenn Nutzer ältere Benutzeroberflächen und Funktionen bevorzugen.
Die Zahl der vernetzten Geräte steigt, daher müssen OTA-Systeme in der Lage sein, sich an veränderte Anforderungen anzupassen. Sie müssen weltweit alle – egal ob ein paar wenige oder einige Millionen – Geräte informieren können. Das führt zu zusätzlichen Problemen, weil die Geräte nicht immer mit dem Netz verbunden sind.
Mit der wachsenden Anzahl der Komponenten und der steigenden Rechenleistung der Edge-Geräte wächst auch die Größe der Firmware. Der programmierbare Speicher in modernen Mikrocontrollern reicht von einigen hundert kB bis zu mehreren MB. Die Aktualisierung der gesamten Firmware in einem Schritt kann sich deshalb als schwierig erweisen, da mehrere MB des Firmware-Images heruntergeladen, gespeichert, verifiziert und installiert werden müssen. Der Prozess kann sich auf die Betriebszeit des Geräts, die Batterielebensdauer und vor allem auf die Nutzerfreundlichkeit auswirken.
Darüber hinaus ist die Verwaltung der Firmware-Version – die möglicherweise an Millionen von Geräten gesendet wird – eine gewaltige Aufgabe. Anstelle eines einzigen umfassenden Firmware-Updates veröffentlichen die Hersteller ihre Systemverbesserungen und Korrekturen meist eher schrittweise. Zudem sind in den verschiedenen Endgeräten oft unterschiedliche Hardwareversionen und möglicherweise auch unterschiedliche Softwareversionen installiert. Hier den Überblick zu behalten und eine reibungslose Verteilung der Firmware zu ermöglichen, ohne die Funktionalität des Geräts zu beeinträchtigen, kann also mitunter schwierig sein.
Die Aktualisierung der Firmware ist für die Sicherheit und Zufriedenheit der Nutzer wichtig. Doch dabei muss der richtige Zeitpunkt für das Update gewählt werden. Ist das IoT-Gerät gerade in Gebrauch und mit einer kritischen Aufgabe beschäftigt, können für den Nutzer selbst oder für die Sicherheit der Daten diverse Risiken entstehen.
Das Update der Firmware läuft nach einem bestimmten Schema ab (Bild 2): Die zu aktualisierende Firmware wird signiert und im Host oder in der Cloud gespeichert. Der Host oder die Cloud lädt das Firmware-Image in das zu aktualisierende Gerät; anschließend autorisiert und validiert die Firmware mithilfe vordefinierter Mechanismen.
Sicherheit ist der Schlüssel zum Produkterfolg, darum beginnt Sicherheit bereits bei der Konzeption und dem frühen Design des Produkts. Um Sicherheit eingebetteter Systeme zu ermöglichen, müssen Hardware-, Software- und Cloud-Anbieter zusammenarbeiten. Allein die Integritätsprüfung beim Booten des Geräts, der Chain-of-Trust und die starke Schlüsselverwaltung und -verschlüsselung für Embedded-Software sind sehr rechenintensiv. Hardware- und Softwareentwickler müssen hier zusammenarbeiten, um eine optimale Lösung mit angemessener Leistung zu bieten. Das Betriebssystem oder die Middleware kann Funktionen wie Zugriffskontrollrichtlinien, verschlüsselte Dateisysteme, Rootless Execution, Path Space Control und die Erkennung von Anomalien auf Thread-Ebene bereitstellen, indem sie sich auf die Fähigkeiten der Hardware stützt. Das PSoC-64-Bausteinportfolio für PSA-zertifizierte Sicherheits-MCUs mit TF-M-Unterstützung und gesicherten OTA-Updates ist ein Beispiel dafür. Die folgenden Sicherheitsmaßnahmen sollten bei der Umsetzung gesicherter OTA-Updates berücksichtigt werden:
Schutz der Daten im Ruhezustand und bei der Übertragung
Alle sensiblen Informationen, Konfigurationsdaten, Sicherheitsschlüssel und Passwörter, die in einem Embedded-Gerät gespeichert sind, müssen geschützt werden. Üblicherweise wird das durch die Datenverschlüsselung erreicht. Die dafür erforderlichen privaten Schlüssel sind in spezieller Sicherheitshardware aufzubewahren, etwa in einem Secure Element.
Krypto- grafische Prozesse wie Signaturprüfung und Authentifizierung werden innerhalb des Secure Elements durchgeführt, und nur die Ergebnisse dieser Vorgänge sind für andere Komponenten und Anwendungen zugänglich. Zudem sind geheime Schlüssel gegen das Auslesen aus dem Secure Element geschützt. Entwicklern stehen zahlreiche Sicherheitslösungen zur Verfügung, um ihre Anwendungen durchgängig zu sichern. Der »Optiga-Trust-M«-Chip von Infineon (Bild 3) beispielsweise bietet End-to-End-Sicherheitslösungen für die Entwicklung sicherer IoT-Anwendungen. Da- rüber hinaus sollten die von externen Quellen empfangenen Daten validiert werden, bevor sie an kritische Komponenten weitergeleitet werden.
Digitales Signieren
Digitale Signaturen prüfen die Authentizität des Images und sichern die Integrität der Daten im Image. Eine Signatur bietet die Möglichkeit, zu überprüfen, ob das Image von einer authentifizierten Quelle oder einem böswilligen Dritten stammt. Zur Wahrung der Integrität prüft eine digitale Signatur außerdem, ob die Daten im Image verändert wurden oder ob sie intakt sind, so wie sie von der Quelle oder dem Autor erzeugt wurden. Der Hersteller muss jedes Firmware-Update digital signieren, und das IoT-Gerät muss die Signatur überprüfen, bevor das Update gestartet wird. Zur Bewältigung der Sicherheitsherausforderungen für das IoT sollten vollständige, kryptografiefähige Hardware-Mikrocontroller bereitgestellt werden.