Lizenz- & Berechtigungsmanagement auf kleinsten IoT-Devices

Autor / Redakteur: Martin Liepert* / Sebastian Gerstl

IoT Devices sind mittlerweile nicht mehr nur einfache Sensoren und Aktoren, sondern es wandert auch immer mehr Datenverarbeitung und Logik in diese IoT-Knoten auf unterster Ebene. Dieser Ansatz hat viele Vorteile, aber er bedeutet auch mehr Investition in die Device Firmware und damit einem höheren Schutzbedarf des geistigen Eigentums. Darüber hinaus besteht auch die Notwendigkeit, einzelne Funktionen der Firmware zu lizensieren und freizuschalten.

Anbieter zum Thema

Im Zeitalter des Internet of Things erhalten Dinge wie Lizenz- oder Berechtigungsfreigaben eine neue Bedeutung - was nicht nur Cybersecurity, sondern auch die Absicherung des eigenen geistigen Eigentums angeht.
Im Zeitalter des Internet of Things erhalten Dinge wie Lizenz- oder Berechtigungsfreigaben eine neue Bedeutung - was nicht nur Cybersecurity, sondern auch die Absicherung des eigenen geistigen Eigentums angeht.
(Bild: Clipdealer)

Im Internet of Things war der ursprüngliche Ansatz, Daten von relativ simplen Devices an die zentrale Cloud zu liefern und dort zentral zu verarbeiten. Es hat sich aber gezeigt, dass es durchaus Sinn macht, die IoT Devices mit mehr Intelligenz und Entscheidungslogik auszustatten. Damit kann das Datenvolumen wesentlich reduziert werden, die Latenzzeit wird verkürzt und die Cloud-Infrastruktur wird erheblich entlastet. Dadurch entsteht aber auch die Notwendigkeit, die Firmware dieser Devices vor Reverse Engineering zu schützen und Firmware-Funktionen individuell zu lizensieren.

Schutz der Firmware vor Diebstahl

Für den Schutz des geistigen Eigentums der Firmware gibt es mehrere Ansätze. Viele Mikrocontroller bieten mittlerweile die Möglichkeit, die Firmware über einen Secure-Boot-Prozess zu starten. Damit ist gewährleistet, dass die Firmware nur auf der Ziel-Hardware entschlüsselt und gestartet werden kann. Darüber hinaus kann die Firmware obfuskiert und mit Anti-Debugging-Maßnahmen versehen werden, um die dynamische und statische Analyse zu erschweren. Schließlich besteht auch noch die Möglichkeit, einen zusätzlichen Sicherheitschip (z.B. Sentinel HL Chip) zu integrieren. Dadurch wird es möglich, einzelne Teile der Applikation bei der Entwicklung zu extrahieren, zu konvertieren und erst zur Laufzeit im externen Sicherheitschip auszuführen.

Lizenzmanagement für IoT Devices

Solange es Software gibt, besteht der Bedarf, Software-Funktionen sicher lizensieren zu können. Allerdings haben Mikrocontroller komplett andere Anforderungen als übliche PC- oder Mobil-Plattformen.

Zum einen sind die Ressourcen erheblich limitiert: Mikrocontroller wie AVR oder Cortex-M haben nur begrenzte RAM, ROM und CPU Ressourcen. Und selbst wenn die Chips im Laufe der Zeit immer größer und leistungsfähiger werden, so sind die Hersteller dennoch bestrebt, möglichst viele dieser Ressourcen für Firmware-Funktionalität zu verwenden.

Darüber hinaus sind Mikrocontroller-Projekte tendenziell sehr divers, teilweise laufen sie direkt auf der Hardware (bare-metal), oder sie haben mehr oder weniger komplexe Embedded-Betriebssysteme.

Das bedeutet, eine Lizenzierungslösung für kleine IoT Device muss möglichst im Quellcode vorliegen, um sich optimal an die Umgebung des Host-Devices anpassen zu lassen. Gerade weil Embedded-Projekte so verschieden sind, sollte es auch möglich sein, bestehende Module der Applikations-Firmware (wie z.B. Crypto-Bibliotheken, File Systeme, usw.) mit zu benutzen.

Darüber hinaus sollte der Ressourcen-Verbrauch, also der Bedarf an ROM, RAM, Rechenleistung und NVM-Speicher möglichst sparsam ausfallen. Der übliche Ansatz, einen möglichst universellen Lizenz-Manager zu implementieren, ist also nicht passend.

Oft sind auch nicht alle Optionen notwendig, beispielsweise werden u.U. nur bestimmte Lizenzmodelle wie z.B. ein unbefristetes Lizenzmodell oder ein Ablaufdatum benötigt.

Entitlement-Management in der Cloud

Viele Hersteller spielen mit dem Gedanken, eine eigene Schutz- und Lizenzierungslösung in ihren IoT Devices zu implementieren. Auf den ersten Blick erscheint der Aufwand dafür auch nicht sonderlich hoch. Allerdings wird oft vergessen, dass es nicht nur der Lizenz-Management-Code im Embedded Device selbst ist: Das Entitlement-Management stellt oft die viel größere Herausforderung dar.

Ein solches System ist idealerweise in der Cloud gehostet, sodass der Hersteller keine eigene Infrastruktur vorhalten muss. Eine nahtlose Integration in das Backend-System des Herstellers stellt sicher, dass Bestell-, Update- und Abrechnungs-Prozesse automatisiert werden können. Web-Portale für den Hersteller, Distributor und Endkunden vereinfachen die Administration des Systems. Ein umfangreiches Set an Web-APIs ermöglicht die Nutzung aus eigenen Anwendungen heraus.

Lizenz-Lebenszyklus

Bei Embedded Devices beginnt der Lebenszyklus meist schon in der Produktion: Neben dem Aufspielen der Firmware sollen auch gleich schon entsprechende Lizenzen erzeugt und im Device abgelegt werden. Hier besteht die Herausforderung darin, diese Lizenzgenerierung auch in einer abgeschirmten, nicht vertrauenswürdigen Produktionsumgebung zu ermöglichen und die Datensätze anschließend zurück in das zentrale Entitlement-Management-System zu importieren.

Soll nun die Lizenz eines Embedded Devices im Feld verändert werden, so ist es zunächst erforderlich, ein sog. Entitlement anzulegen. Dieses Entitlement entspricht dem Kaufprozess durch den Kunden, und es berechtigt, eine bestimmte Lizenz auf eine bestimmte Anzahl von Devices zu installieren.

Nun können die Devices anhand des Entitlements aktiviert werden, d.h. es wird eine kryptographisch signierte Lizenz für jedes einzelne Device erzeugt. Ein HSM (Hardware-Security-Module) sorgt dabei für den Schutz des privaten Signatur-Schlüssels in der Cloud.

Die erzeugte Lizenz lässt sich nun direkt auf das Device laden, oder die Lizenz wird in einer weiteren Datenbank in der Cloud gespeichert. Das Embedded Device kann nun selbstständig in regelmäßigen Abständen nach neuen Lizenzen prüfen und sie etwa über einen simplen Web-Service herunterladen und installieren.

Weist ein Device einen Defekt auf, oder soll ein Lizenz-Downgrade erfolgen, so besteht die Möglichkeit, eine Lizenz zu widerrufen und an das Entitlement-Management-System zurückzugeben.

Lösungsansätze

Gemalto bietet erprobte Lösungen für den Einsatz auf Embedded Devices an.

„Sentinel Fit“ ist eine Lizenzierungslösung speziell für Ressourcen-kritische Plattformen, die im Quellcode verfügbar ist und sich an alle Arten von Betriebssystem und Prozessoren anpassen lässt. Dieses Lizenzmanagement-System erlaubt auch komplexere Lizenzmodelle und verwendet kryptographisch sichere Verfahren, um die Lizenz zu überprüfen und Updates abzusichern.

Auf der Backend-Seite bietet „Sentinel EMS“ eine vielseitige und mächtige Lösung für das zentrale Management von Entitlements und Erzeugen von Lizenzen. Dieses System wird von Gemalto gehostet und lässt sich mit kundenspezifischen Interfaces problemlos in das Backend-System des IDVs einbinden. Die sichere Signierung der Lizenzen wird durch HSMs sichergestellt. Darüber hinaus existieren weitere Lösungen, wie z.B. „Sentinel Up“ für das bequeme Verwalten und Verteilen von Firmware-Updates sowie weiterer Tools zum Verschlüsselung und Absichern von Software.

(Dieser Beitrag wurde mit freundlicher Genehmigung des Autors dem Tagungsband Embedded Software Engineering Kongress 2018 entnommen.)

* Martin Liepert ist Senior System Architect bei Gemalto im Bereich Software Monetization.

Artikelfiles und Artikellinks

(ID:46350544)