IIoT (Industrial Internet of Things/Internet der Dinge), Cloud und Edge Computing sind aktuell die dominierenden Schlagworte der Technikbranche. Eine der wichtigsten Voraussetzungen ist dabei die sichere Datenverarbeitung im Sinne der Vermeidung der Angreifbarkeit von außen, um so Manipulationen, Reputationsverluste oder einen wirtschaftlichen Schaden vorzubeugen (Security). Dies ist somit nicht zu verwechseln mit funktionaler Sicherheit, die die Zuverlässigkeit und Ausfallsicherheit von Systemen beschreibt.
Sogenannte sichere Systeme konnten bisher nur mit viel Individualisierungsaufwand entwickelt werden. Seit mehr als einem halben Jahrzehnt beschäftigen sich Forschung und Wirtschaft mit den Themen Industrie 4.0, IIoT, Cloud und Edge Computing, die im Grunde alle auf der Notwendigkeit beruhen, dass die zunehmenden Datenmengen immer und überall zur Verfügung stehen müssen.
Dadurch rückt eine gute Mischung zwischen Cloud und Edge Computing verstärkt in den Fokus. Betroffen sind deshalb unterschiedliche Bausteine der Infrastruktur, angefangen bei kleinen Steuerungen, die Daten von Aktoren und Sensoren aufnehmen, bis hin zur Übertragung in verschiedene Cloud-Infrastrukturen. Deshalb müssen Fabrikationsanlagen durch geeignete Technologien vernetzt und vor Zugriffen von außerhalb, etwa über das World Wide Web, gesichert werden. Ebenso wichtig ist aber auch der Schutz vor inneren Angriffen.
Sicherheit als aktueller Megatrend
Der Trend ist in allen Marktsegmenten klar erkennbar: Die Anforderungen an Security und Safety sowie die Nachfrage nach entsprechenden Lösungsbausteinen steigen. Dieser Trend hat auch vor den Embedded-Technologien keinen Halt gemacht.
Bisher waren Embedded-Systeme meist Insellösungen und hatten, wenn überhaupt, nur eine eingeschränkte Verbindungsmöglichkeit. Somit war es relativ einfach, die Sicherheit eines Systems zu gewährleisten, da der Zugriff von außen nur in begrenztem Maße möglich war. Neue Produkte erfordern aber neue Kommunikationsmöglichkeiten und damit auch eine komplexere Entwicklung, um trotz allem die Sicherheit gewährleisten und das Risiko der Angreifbarkeit reduzieren zu können.
Security-Maßnahmen für Embedded-Systeme
In allen Fällen muss sichergestellt werden, dass der Nachweis der Behauptung der Eigenschaft einer Entität erbracht und damit bestätigt wird, dass der Sender, die Person oder das Gerät auch das ist, was es vorgibt, zu sein (Authentication). Außerdem muss jederzeit nachvollziehbar sein, dass genau dieser Sender die Daten beziehungsweise Nachricht übermittelt hat und damit das Kriterium der Nachweisbarkeit erfüllt (Non-Repudiation).
Die Daten dürfen während des Übertragungsweges nicht verändert werden (Validation) und sind verschlüsselt, sodass sie von anderen nicht gelesen beziehungsweise interpretiert werden (Secrecy). Ebenso kann die Hardware des Senders oder Empfängers nicht manipuliert werden (Protection).
Zusätzlich muss aber auch die funktionale Sicherheit Eingang in die vollumfängliche Betrachtung eines sicheren Systems finden. Nur ein zuverlässiges und gegen Ausfälle abgesichertes System gegen Angriffe von außen ist ein widerstandsfähiges System, das den Kriterien der Sicherheit entspricht.
Die in die CPU integrierten Hardwarebeschleuniger oder die an die CPU extern angebundene TPM oder Security-Chips unterstützen die Software und reduzieren die CPU-Last. Das hat unmittelbaren Einfluss auf die Leistungsfähigkeit des Systems (Performance) und auf den Leistungsbedarf (Power Consumption).
Diese Maßnahmen können weder einseitig durch die Hardware oder die Software realisiert werden, sodass ein koordiniertes Zusammenspiel beider Faktoren hinsichtlich Performanz und Sicherheit zwingend entwickelt werden muss.
Sicherheit in der Datenübertragung
Um eine dauerhaft sichere Datenübertragung zu realisieren, sind vielfältige Security-Maßnahmen notwendig. Die wichtigsten sind nachfolgend aufgelistet und bilden den zentralen Bestandteil eines sicheren Systems, nicht nur in Industrieumgebungen:
Ein sicherer Systemstart (Secure Boot) muss gewährleisten, dass von der CPU nur ein authentifizierter Programmcode ausgeführt werden darf. Üblicherweise ist diese Software der Bootloader – Secure Boot, auch High Assurance Boot genannt. Dieser verhindert, dass die CPU nicht vertrauenswürdigen beziehungsweise unautorisierten Code ausführt.
Die TrustZone-Technologie bietet eine systemweite Sicherheit und die Möglichkeit, eine vertrauenswürdige Plattform zu schaffen. Das System kann so gestaltet werden, dass jedes Element auch ein Teil der sicheren Umgebung ist, einschließlich Debug, Peripherie, Interrupts und Speicher. Durch die Verwendung eines Sicherheitssystems wie die TrustZone von Arm können zu schützende Teile vor Softwareangriffen und gängigen Hardwareangriffen bewahrt werden.
Per Software erfolgt ein Wechsel zwischen diesen beiden Umgebungen, die als sicherer Monitor (Cortex-A) oder als Kernlogik (Cortex-M) bezeichnet werden. Die beiden CPU-Architekturen bieten ähnliche Sicherheitskonzepte, aber mit einer völlig anderen Implementierung. Das Konzept der sicheren und nicht sicheren Umgebung geht weit über den reinen Prozessor hinaus, um Speicher, Software, Schnittstellen, Bussysteme inklusive Interrupts und Peripheriegeräte innerhalb eines Embedded-Moduls zu umfassen.
Zum Einsatz kommen bei den Mikrocontrollern der Cortex-M-Klasse meist sogenannte mm-CAU (Memory-Mapped Cryptographic Acceleration Unit). Dabei handelt es sich um einen Co-Prozessor, der mithilfe von spezialisierten Operationen den Durchsatz von softwarebasierenden Verschlüsselungsalgorithmen und kryptologischen Hashingfunktionen verbessert. Software-Bibliotheken gibt es meist von den Controller-Herstellern, die häufig auch einen zugehörigen Flashspeicherschutz anbieten. Durch das dedizierte Aktivieren diverser Sicherheitsfunktionen in den einzelnen Systemen wird der Zugriff auf die Speicherinhalte mittels hinterlegtem Schlüssel als auch der Zugriff über ein JTAG-Interface (Debug-Controller) zuverlässig verhindert.
Bei den CPUs werden je nach CPU-Hersteller und dem Zeitpunkt der CPU-Markteinführung unterschiedlichste Security-Funktionen in Form eines Hardwaremoduls wie oben beschrieben eingesetzt. Hier liefern die Hardwarehersteller innovative Funktionen, um den Marktanforderungen gerecht zu werden.
Betriebssystem als zentraler Sicherheitsfaktor
Neben der Hardware ist das zu verwendende Betriebssystem (OS) ein sehr wichtiger Faktor, der bei der Evaluierung einer CPU und letztendlich auch eines Embedded-Moduls betrachtet werden muss. Das Embedded-Modul bildet die Basis für ein vernetztes System und muss dementsprechenden der Prüfung der sicherheitskritischen Aspekten standhalten.
Insbesondere ist darauf zu achten, dass es für das ausgewählte Betriebssystem schon eine Unterstützung für die Hardware-Beschleuniger gibt. Die Auswahl der richtigen Software für das anstehende Projekt sollte nicht nur unter Berücksichtigung der Geräteanforderungen betrachtet werden.
Ein Gesamtkonzept beinhaltet, wie alle benötigten Funktionen mit den definierten Anforderungen in Einklang gebracht werden können. Unter Betracht der zu erfüllenden Aufgaben, wie und in welchen Bereichen ein System sicher gemacht werden muss, bietet das jeweilige OS unterschiedliche Treiber, die für verschiedene Marktsegmente wie Medizin, Industrie, Bahn, Automotive bis hin zu militärischen Anwendungen geeignet sind.
Steigende Konnektivität erhöht Angriffspotenzial
Wenn man frühere Anwendungen mit heutigen Anwendungen vergleicht, so stehen seitens der CPUs auch immer mehr Schnittstellen zur Verfügung. Angefangen von UART, USB, I2C, SPI, Feldbusse und Ethernet finden auch immer mehr drahtlose Schnittstellen wie WiFi, NFC, Bluetooth oder Mobilfunknetze ihren Einsatz.
Kabelgebundene Schnittstellen werden, bis auf Ethernet, nur in einem begrenzten Umfeld eingesetzt. Funklösungen und Ethernet, besonders öffentliche, können einfacher von außen angegriffen werden. Beim Einsatz von Funklösungen ist somit besonders darauf zu achten, dass der Anbieter ein entsprechendes Sicherheitskonzept vorweisen kann.
Um den Sicherheitsanforderungen von IIoT-Anwendungen gerecht zu werden, sollte ein Betriebssystem möglichst viele Angriffsvektoren berücksichtigen. Wenn man von Angriffsvektoren spricht, so sind verschiedene Angriffsmöglichkeiten gemeint, wie beispielsweise Zugriffsrechte von Daten und Benutzern als auch die Aushebelung von Verschlüsselungsmechanismen.
Kommerzielle Betriebssysteme nutzen hier meist eigene Sicherheitsmodelle, spezifische Erweiterungen und Funktionen, die als sicher angesehen werden können. Ein weiterer Vorteil liegt darin, dass ein echter Mikrokernel verwendet wird, der gegenüber monolithischen Betriebssystemen weniger Angriffsfläche bietet.
Werden zum Beispiel bei Linux neue Sicherheitslücken oder Bugs entdeckt, so ist jeder selbst dafür verantwortlich, sein System zu pflegen. Dies kann schnell zu einem erheblich Aufwand führen. Bei Systementwicklungen unter Linux wird dem Anwender somit empfohlen, auf die in der CPU integrierten Security Features zurückzugreifen, um den Angriffsszenarien verschiedenster Art (Seitenkanalattacken, Differential Power Analysis, Kryptoanalyse, physikalische Angriffe) standhalten zu können.
Sicherheit ist Trumpf
Bei allen Embedded-Modulen, etwa von TQ, werden auf Basis der in den CPUs bereitgestellten Security-Funktionen auch Kunden unterstützt, die auf umfangreiche Sicherheitskonzepte angewiesen sind. Durch die langjährigen Partnerschaften mit verschieden CPU-Herstellern profitieren vor allem Kunden, die kostengünstig auf die Lösungsbausteine bestehend aus Modul und sicherheitsrelevanter Software, inklusive erprobter Cloud- Lösungen, zurückgreifen möchten.
Ein mit dem Kunden auf Augenhöhe ausgerichteter Hard- und Softwaresupport mit Lösungskompetenzen im Bereich der sicheren Datenübertragung verspricht einen schnellen und unkomplizierten Einstieg. Auch bei anstehenden, oft komplexen Zertifizierungen bietet das Unternehmen tatkräftige Unterstützung.