Kategorien: Embedded Security
CodeMeter µEmbedded
Mikrocontroller werden immer mehr in sicherheitsrelevanten Anwendungen wie Pumpensteuerungen, Servoumrichtern, Sensoren mit Feldbusverbindung oder Smart Metern eingesetzt, so dass sicheres Firmwarehandling ein unternehmenskritischer Faktor wird. Nicht nur in der Fertigung, sondern auch bei nachträglichen Updates. Daraus ergeben sich einige Sicherheitsanforderungen, die beachtet werden müssen:
- Codeintegrität: Es darf nur Firmware in den Controller geladen werden, die aus einer vertrauenswürdigen Quelle stammt. Es muss sichergestellt sein, dass die Firmware nicht modifiziert wurde.
- Vertraulichkeit: Die Firmware darf auf dem Weg in den Controller nicht lesbar sein, um Reverse Engineering oder Kopieren zu verhindern.
- Autorisierung: Die Firmware darf nur innerhalb eines autorisierten und somit lizenzierten Controllers geladen und entschlüsselt werden.
- Lizenzierung: Über gesicherte Lizenzen sollen Funktionen aktivierbar sein.
Basierend auf der bekannten CodeMeter-Lösung für den Desktop- und Embedded-Bereich fokussiert sich CodeMeter µEmbedded speziell auf die Bedürfnisse im Umfeld von Mikrocontroller-basierten Systemen: Codeintegrität, Lizenzkontrolle, Schutz gegen Reverse Engineering und Kopierschutz. Und das bei einem minimalen Footprint von etwa 60KB.
CodeMeter μEmbedded schützt die Controller Firmware auf dem Übertragungsweg und während des Updates im Feld gegen Manipulation, Reverse Engineering und Kopieren. Außerdem ist es für den OEM (der Hersteller, dessen Software im Controller läuft) möglich, die Funktionalität seiner Software oder Hardware nachträglich über Lizenzen zu erweitern, so dass der Endkunde (der Nutzer) einen erweiterten Funktionsumfang des Gerätes nutzen kann.
Die XMC4500-Controller werden zunächst initial in einer sicheren Umgebung beim OEM programmiert. An dieser Stelle wird der sichere Boot Strap Loader (BSL) aufgespielt und eine individuelle Lizenzdatei erzeugt, mit der Chip-ID verknüpft und in den Mikrocontroller geladen. Bestandteile des BSL sind die ExEngine, die CmActLicense und CodeMeter µEmbedded, die zusammen später die Firmware entschlüsseln. Der BSL und die Lizenz können ab jetzt nur noch vom OEM selbst verändert werden, da hier die Speicherschutzmechanismen des XMC greifen, die eine nachträgliche Veränderung des Loaders zuverlässig verhindern.
Der OEM entwickelt seine Firmware in Infineon DAVETM oder einer anderen Umgebung und kann im Anschluss über ein grafisches DAVE Plug-in die Verschlüsselungsfunktion des ExProtector ansteuern. Dabei entsteht eine verschlüsselte Version der Firmware, die dann auf den Controller geladen werden kann oder als Update-Datei auch auf unsicheren Wegen wie E-Mail zum Anwender geschickt werden kann.
Um den kleinen Footprint zu erreichen, wurden die CodeMeter-Funktionen auf ein Mindestmaß beschränkt. Selbstverständlich sind dabei die verwendeten Verschlüsselungsverfahren und die Kompatibilität zu den größeren CodeMeter-Versionen und der CodeMeter License Central erhalten geblieben, ebenso die Möglichkeit, direkt aus dem eigenen Code heraus Lizenzen zu belegen.
CodeMeter µEmbedded ist verfügbar. Der Kunde erhält neben CodeMeter µEmbedded ein Plug-in für DAVE sowie die Protection Suite mit dem AxProtector. Mit diesem Paket kann der Kunde geschützte Firmware direkt erzeugen.
KEYnote 32 – Herbstausgabe 2016