Sicherheit in IoT-Anwendungen Firmware-Schutz für ­Mikrocontroller

Integrierte Sicherheits-Software schützt, verwaltet und kann ferngesteuerte Funktionen erweitern.
Integrierte Sicherheits-Software schützt geistiges Eigentum und hilft Lizenzen zu verwalten.

IoT-Anwendungen erfordern ein Höchstmaß an Daten- und funktionaler Sicherheit. Firmware Updates und Funktionserweiterungen im Betrieb sind durch externe Angriffe oder Manipulationen gefährdet. Mit einer in die Entwicklungsumgebung integrierten Sicherheits-Software lassen sich geistiges Eigentum schützen, Lizenzen effizient verwalten und Funktionen ferngesteuert erweitern.

Das Internet der Dinge soll nach den Prognosen von General Electric [1] und IDC [2] in den nächsten zwanzig Jahren etwa 15 Billionen US-Dollar zum weltweiten Bruttosozialprodukt beitragen, mit einer installierten Basis von 28,1 Milliarden Einheiten bis 2020. Diese Zahlen sind nicht nur beindruckend, sondern gleichzeitig auch alarmierend, wenn man an die Sicherheitsaspekte denkt. Es geht darum, die Vorteile dieser Entwicklung zu nutzen und gleichzeitig sowohl die funktionale als auch die Datensicherheit zu gewährleisten. Die Sicherheitsaspekte umfassen alle beteiligten Systeme, von den PCs, IPCs, Embedded-Systemen, mobilen Geräten, SPS bis hin zu den eingesetzten Mikrocontrollern. Von Wibu-Systems in Zusammenarbeit mit Infineon ist jetzt mit CodeMeter μEmbedded ein effizienter Firmware-Schutz für Systeme auf Basis der XMC4000-Mikrocontroller insbesondere in Anwendungen wie IoT oder Industrie 4.0 verfügbar.

Das Internet der Dinge (IoT) mit seinen unterschiedlichen Ausprägungen wie Industrie 4.0, Informations- und Kommunikationstechnik, Smart Home oder vernetzte Automobile erfordert ein Höchstmaß an Sicherheit. Typische Anwendungsfälle sind die Authentifizierung bzw. Lizenzierung von Komponenten hinsichtlich ihrer eindeutigen Identität, die Überwachung und Sicherung der Systemintegrität, der Schutz von Daten und der Kommunikation sowie sichere Updates bzw. Upgrades. Um Vertrauen in neue Dienstleistungen und Techniken aufzubauen, ist auch der Schutz geistigen Eigentums entscheidend. Für entsprechende Konzepte benötigt man sichere Hardware, die sowohl die Infrastruktur als auch die Komponenten vor Angriffen, Betrug und Sabotage schützt. Da grundsätzlich alle Embedded-Systeme, die in IoT-Konzepte eingebunden werden, auf Mikrocontrollern basieren, ist hier die erste Ebene, auf der entsprechende Schutzfunktionen aufsetzen müssen.

Die generelle Herausforderung bei der Implementierung von maximaler Sicherheit bei Mikrocontroller-Anwendungen besteht darin, dass sie auch unter rauen Industrieumgebungen einsetzbar und einfach zu integrieren sein muss. Auf Basis des bewährten CodeMeter von Wibu-Systems für den Schutz, die Lizenzierung und die Sicherheit von Systemen wurde CodeMeter μEmbedded entwickelt, um insbesondere die Sicherheitsaspekte bei Firmware Updates und Funktionserweiterungen von Mikrocontroller-basierten Systemen zu adressieren: Code-Inte­grität, Lizenzüberwachung, Schutz vor Reverse Engineering und vor einem Kopieren von Programm-Code.

Die erste Umsetzung von CodeMeter μEmbedded erfolgte für die 32-bit-Mikrocontroller der XMC4000-Familie von Infieneon. CodeMeter μEmbedded erweitert dabei die Standard-Entwicklungs-Tools, um sichere Firmware Updates und Erweiterungen des Funktionsumfanges in Embedded-Systemen auf Basis des XMC 4000 zu gewährleisten.

Sichere Firmware Updates und ­Upgrades

Mikrocontroller werden mehr und mehr in vernetzten Applikationen wie Pumpen, Motorantrieben, Sensoren mit Feldbus-Anschluss und ähnlichen Systemen eingesetzt. In diesen Anwendungen ist das sichere Laden von Updates bzw. Upgrades ein wesentlicher Aspekt. Eine Aufgabe, für die eine besonders kompakte Version der Schutz-Software CodeMeter entwickelt wurde: CodeMeter μEmbedded. Sowohl Software Updates als auch neue Software-Funktionen lassen sich damit auf XMC-4000-Mikrocontroller übertragen – auch in nicht sicheren Umgebungen (Bild). In vernetzten Systemen wie beim Internet der Dinge müssen verschiedene Aspekte beachtet werden:

Es darf nur vertrauenswürdiger Code in den Mikrocontroller geladen werden. Dabei muss der Code während der Übertragung und des Ladens verschlüsselt werden. Dies geschieht mit Hilfe eines individuell abgelegten Schlüssels im Boot-ROM des Controllers. Eine nachvollziehbare und zuverlässige Lizenzierung beim Laden des Codes auf den Mikrocontroller muss gewährleistet sein. Dabei sollten zusätzliche Funktionen des Mikrocontrollers blockiert oder aktiviert werden können. Der Code darf nur auf einen autorisierten und lizenzierten Mikrocon­trol­ler geladen und dort entschlüsselt werden. Dabei gilt es sicherzustellen, dass die Verwendung auf einem nicht lizenzierten Mikrocontroller oder Emulator verhindert wird.