Sicherheit in IoT-Anwendungen

Firmware-Schutz für ­Mikrocontroller

25. Februar 2016, 13:58 Uhr | Marco Blume und Dirk Heinen
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Integriert in die Entwicklungsumgebung

CodeMeter μEmbedded schützt die Firmware des Mikrocontrollers beim Update gegen Manipulation, Reverse Engineering und Kopieren. Außerdem können Unternehmen, die Software für die Mikrocontroller entwickeln, die Funktionen ihres Systems erweitern. Der Anwender kann eine neue verschlüsselte Firmware-Version in den Mikrocontroller laden. Dabei wird die Verschlüsselung über die Entwicklungsumgebung gestartet – z.B. per DAVE 4.0 von Infineon. Um dies zu ermöglichen, wurde ein entsprechendes Plug-in in die Entwicklungsumgebung DAVE in­stalliert. Nach dem Transfer des Firmware-Codes in den XMC4000-Mikrocon­troller wird sie vom XMC4000 entschlüsselt und im Flash-Speicher abgelegt. Für eventuelle spätere Upgrades kann der Mikrocontroller eine Anforderung mit seinem individuellen Fingerabdruck erzeugen. Diese Anforderung wird dann verschlüsselt an den Hersteller des jeweiligen Systems übertragen, der daraufhin die entsprechend lizenzierte neue Firmware-Version erzeugt und zum anfordernden System zurück überträgt. Das an den Mikrocontroller übertragene Lizenzierungs-Update kann auch dafür genutzt werden, um neue Lizenzen zur Verfügung zu stellen oder aber neue Funktionen zu aktivieren. Funktionserweiterungen (Upgrade) können ohne Änderung der Firmware durchgeführt werden und sichere Firmware Updates sind selbst in unsicheren Umgebungen möglich.

Schutz von Anwendungscode in Mikrocontrollern

CodeMeter µEmbedded ist eine Variante der Sicherheits-Software, die speziell für FPGAs (Field Programmable Gate Arrays) und Mikrocontroller entwickelt wurde (siehe Kasten). Die Software zeichnet sich durch einen extrem kleinen Speicherplatzbedarf von weniger als 60 kB aus. Dies wurde erreicht, indem die Sicherheits-Software auf den minimal notwendigen Funktionsumfang reduziert wurde. Die erzeugten Lizenzen sind kompatibel zwischen allen CodeMeter-Varianten und an eine eindeutige ID des FPGA oder Mikrocontrollers gebunden. Lizenzen können während der Herstellung von Geräten und Systemen direkt bei deren Produktion aktiviert werden oder lassen sich nachträglich freischalten – per Dateiaustausch als „Features On Demand“.

 

Flexibler Schutz

Die CodeMeter-Technik gibt es in verschiedenen Ausprägungen: CmDongle speichert die komplette Lizenz sicher in einem Dongle auf Basis eines Smart Card Chip. CmDongles gibt es in vielfältigen Bauformen wie USB, SD-Karte, microSD-Karte, CF-Karte, CFast-Karte und ASIC. Bei CmActlicense befindet sich die Lizenz in einer Lizenzdatei, die an die Hardware eines Rechners gebunden ist. Darüber hinaus kann die Lizenz auch in einer Cloud oder auf einem Lizenz-Server abgelegt sein.

Die hier vorgestellte Variante CodeMeter µEmbedded wurde speziell für FPGAs und Mikrokontroller entwickelt und erstmals für die XMC4000-Mikrocontroller implementiert. Für größere Systeme wie z.B. speicherprogrammierbare Steuerungen (SPS) oder einen PC stehen mit CodeMeter Embedded und CodeMeter Runtime zwei lizenzkompatible Varianten zur Verfügung. CodeMeter Embedded ist eine modulare Laufzeitumgebung für Embedded-Systeme wie Linux Embedded, VxWorks, QNX und Android und bietet eine Teilmenge der Funktionen von CodeMeter Runtime. 

 

CodeMeter µEmbedded kann zusätzlich zum sicheren Speichern von symmetrischen und asymmetrischen Schlüsseln eingesetzt werden. Der Schlüssel liegt in einem geschützten Speicher und kann nur auf dem Gerät mit der passenden ID verwendet werden. Typische Anwendungsfälle sind: Lizenzkontrolle von Geräten (Mikrocontroller und ­FPGA), Überwachung der Produktionsmenge durch Lizenzierung der einzelnen Geräte sowie die sichere verschlüsselte Übertragung des Anwendungscodes in das Gerät.

Die XMC4000-Familie

Die Mikrocontroller der XMC4000-Familie für Industrieanwendungen eignen sich besonders für die digital gesteuerte Leistungswandlung, für elektrische Antriebe und Sensoranwendungen; sie unterstützen eine Vielzahl von industriellen Kommunikationsstandards. Alle XMC4000-Mikrocontroller sind für Temperaturen bis 125 °C qualifiziert. Sie verwenden den Prozessor Cortex-M4 von ARM mit eingebautem DSP, Fließkomma-Arithmetik (FPU: Floating Point Unit), DMA (Direct Memory Access) und Memory Protection Unit (MPU). Zur umfangreichen Peripherie gehören Analog/Digital-Umsetzer, Timer, PWM-Kanäle und Schnittstellen für alle gängigen Indus­trie-Kommunikationsstandards. In den ICs integriert ist eine Schnittstelle für EtherCAT (Ethernet for Control Automation Technology). Sie ermöglicht eine einfache und kosteneffektive Umsetzung von Echtzeit-Ethernet-Kommunikation und ist damit prädestiniert für Indus­trie-4.0-Applikationen. Die XMC4000-Mikrocontroller-Familie besteht heute aus den sechs Reihen XMC4100, XMC4200, XMC4400, XMC4500, XMC4700 und XMC4800 mit insgesamt mehr als 75 ICs in den Gehäusen VQFN (very thin quad flat no leads), LQFN (laminated quad flat no leads) und LFBGA (low profile fine pitch ball grid array), die zwischen 48 und 196 Pins haben.

Funktionale Sicherheit

Neben der Datensicherheit muss auch die funktionale Sicherheit gewährleistet werden – dies ist umso wichtiger in komplexen IoT-Anwendungen und vernetzten Systemen. Allerdings ist die Realisierung oftmals aufwändig. Für Industrie-Anwendungen, die den funktionalen Sicherheitsvorgaben entsprechen müssen, steht für die XMC4000-Familie ein „Safety Package“ zur Verfügung. Es hilft bei der Entwicklung von zertifizierten Automatisierungssystemen, die den Safety Integrity Levels SIL 2 und SIL 3 entsprechen müssen. Außerdem lässt sich damit die Entwicklungszeit von Testbibliotheken für Funktionale-Sicherheits-Software bis auf ein Jahr verkürzen. Das Safety Package wurde für Fabrikautomation, Industrieantriebe und Roboteranwendungen auch im Hinblick auf Industrie 4.0 bzw. IoT entwickelt und umfasst neben XMC4000-Mikrocontrollern eine detaillierte Dokumentation und eine TÜV-zertifizierte Bibliothek für den Software-Test. Die Dokumentation liefert einen Fehler-Mode-Bericht und eine Information zur Failure Mode Effects and Diagnostic Analysis (FMEDA) sowie die Safety Application Note. Die FMEDA nutzt verlässliche FIT- (Failure in Time) Raten der XMC4000-Mikrocontroller.

 

Literatur

[1] Evans, P. C.; Annunziata, M.: Industrial Internet: Pushing the Boundaries of Minds and Machines. General Electric, 26.11.2012, www.ge.com/docs/chapters/Industrial_Internet.pdf.
[2] MacGillivray, C.; Turner, V.: Worldwide Internet of Things Forecast, 2015–2020. IDC, Marktprognose Nr. 256397, Mai 2015.

 

 

Die Autoren

Marco Blume
arbeitet seit 2013 als Product/R&D Manager Embedded bei der Wibu-Systems AG. Er befasst sich mit den unterschiedlichen Schutzaspekten der Embedded-Systeme, entwickelt geeignete Konzepte für Hersteller und betreut auch verschiedene Forschungsprojekte.

 

arbeitet seit 2013 als Product/R&D Manager Embedded bei der Wibu-Systems AG. Er befasst sich mit den unterschiedlichen Schutzaspekten der Embedded-Systeme, entwickelt geeignete Konzepte für Hersteller und betreut auch verschiedene Forschungsprojekte.
marco.blume@wibu.com

marco.blume@wibu.com


Dirk Heinen
ist Product Marketing Manager Industrie-Mikrocontroller bei Infineon Technologies. Er verfügt über einen Abschluss als Wirtschaftsingenieur von der Universität München und hatte vorher verschiedene Produktmarketing-Funktionen bei Qimonda inne.

dirk.heinen@infineon.com



  1. Firmware-Schutz für ­Mikrocontroller
  2. Integriert in die Entwicklungsumgebung

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu WIBU-SYSTEMS AG

Weitere Artikel zu INFINEON Technologies AG Neubiberg

Weitere Artikel zu Cyber-Security

Weitere Artikel zu Mikrocontroller

Weitere Artikel zu IoT / IIoT / Industrie 4.0