Das Internet der Dinge (Internet of Things, IoT) als Kombination aus extrem Energie sparender Rechnertechnik und Konnektivität steht am Scheideweg. Einerseits versprechen IoT-Knoten eine Transformation der Designs in Kfz-, Industrie-, Smart Home-, Medizinelektronik und mehr. Andererseits kann der kontinuierliche Strom an Nachrichten über Sicherheitslecks von Malware-Injektionen über DDoS-Angriffe (Distributed Denial-of-Service) bis zu Battery-Drain Attacken das Nutzen-Versprechen des IoT gefährden. Da überrascht es kaum, dass Schwachstellen im Zusammenhang mit diesen Sicherheitslücken bei Geräten am Rande des Netzes heute zu den größten Sorgen von IoT-Entwicklern zählen.

Bild 1: Überblick der physischen und netzbezogenen Security-Risiken für einen IoT-Knnoten samt entsprechender integrierter Gegenmaßnahmen.

Bild 1: Überblick der physischen und netzbezogenen Security-Risiken für einen IoT-Knoten samt entsprechender integrierter Gegenmaßnahmen. Microchip

Ein Ereignis der letzten Monate zeigt, wie sich Hacker immer mehr auf ungeschützte IoT-Knoten konzentrieren: Hacker nutzten die Schwachstellen im vernetzten Thermometer eines Aquariums in einem Kasino, um auf die Datenbank der Spieler mit hohem Einsatzvolumen zuzugreifen. So können Schwachstellen von Thermostaten, Kühl- und Klimaanlagen sämtliche Prämissen der Heim- und Gebäude-Automatisierung in Frage stellen. Gleiches gilt für Banken und kommerzielle Unternehmen, die durch vernetzte Überwachungskameras mit schwachen Security-Funktionen angreifbar werden (Bild 1).

Auch wenn herkömmliche Security-Praktiken auf der Ebene des Servers beziehungsweise des Gateways implementiert sind, setzen Stromverbrauch und kompakter Aufbau bei Geräten am Rande des Netzes der Implementierung von Security-Funktionen in IoT-Knoten den Designs gewisse Grenzen. Die Entwicklung von Security-Anwendungen kann zudem erheblichen zusätzlichen Overhead bei Entwicklungszeit und -kosten verursachen.

Der Artikel erläutert, wie IoT-Entwickler den verschiedenen Sicherheitslücken begegnen und dabei trotzdem geringen Stromverbrauch sichern können. Er zeigt auch ein Security-Framework, das sich bereits frühzeitig im Design implementieren lässt und zeigt schließlich, wie sich Low-Cost Mikrocontroller (MCUs) mit Hardware Security-Funktionen zusammen mit dem Framework zur Vereinfachung der Implementation von Security-Funktionen nutzen lassen.

Security-Aspekte von IoT-Knoten

Eck-Daten

Der Beitrag beschreibt eine neue Generation von Mikrocontrollern, mit denen Entwickler von IoT-Knoten schnell und effizient Security-Funktionen konfigurieren und einsetzen können. Am Beispiel des SAM-L11-Mikrocontrollers zeigt der Artikel, wie sich die Implementierung der Sicherheitsfunktionen vereinfachen lässt. Mit Secure-Boot-Funktionen, einer Trusted-Execution-Umgebung, abgesicherter Schlüsel-Speicherung und einem umfassenden Framework für Security-Lösungen unterstützt der Schaltkreis Embedded-Entwickler bei ihren Designs, ohne dass hohe Overhead-Kosten entstehen. Innerhalb kürzester Zeit lassen sich so robuste Sicherheitsfunktionen in unterschiedlichsten Anwendungsfällen implementieren.

Ein robustes IoT-Knotendesign muss Sicherheit bieten gegen Kommunikationsangriffe, Malware und physische Angriffe. Um Kommunikationsangriffe oder Man-in-the-Middle-Attacken zu vermeiden, kommt meist ein Kryptographie-Modul für Verschlüsselung, Entschlüsselung und Authentifizierung zum Einsatz. Die ARM-Trustzone-Technik beschränkt den Zugriff auf bestimmte Speicher-, Peripherie- und I/O-Komponenten. Sie partitioniert die MCU in vertrauenswürdige und nicht-vertrauenswürdige Zonen und isoliert sensitive von unkritischen Daten. Eine abgesicherte Boot-Funktion gewährleistet, dass die MCU in einem als gut bekannten Zustand hochfährt. Ist in der MCU zudem die ARM-Trustzone implementiert, dann kann sie eine Umgebung mit Schutz gegen Malware bieten.

Bild 2: Vom Framework bereitgestellte Module für eine einfache Implementierung von Security-Funktionen.

Bild 2: Vom Framework bereitgestellte Module für eine einfache Implementierung von Security-Funktionen. Microchip

Manipulationsschutz-Pins können die physikalische Sicherheit eines IoT-Knotens verbessern; sie ermöglichen einen Manipulationsschutz auf Leiterplatten-Ebene. Bei Manipulationen an der Leiterplatte oder am Gehäuse lassen sich die Manipulationsschutz-Pins so programmieren, dass sie geheime Daten löschen. Darüber hinaus ist auch ein Manipulationsschutz auf Chip-Ebene notwendig. Dies ermöglicht einen Schutz gegen Cloning und den Diebstahl intellektuellen Eigentums. Neben diesen drei Aspekten sollte auch ein in Hardware implementierter Root-of-Trust vorgesehen sein. Dies lässt sich mit einer abgesicherten Boot-Sequenz erreichen und mit einem abgesicherten Schlüssel-Bereitstellungsprozess weiter verbessern.

Entwickler von IoT-Knoten müssen einen Kompromiss zwischen geringem Energiebedarf und Security finden. Aktuelle Anwendungen erfordern niedrigen Energieverbrauch und zugleich ein hochsicheres Design, das aber nicht zu Lasten der Leistung geht und keine zusätzlichen Zeit- oder Overhead-Kosten verursacht. Für IoT-Geräte am Rand eines Netzes ist Stromverbrauch ein entscheidender Faktor. Dafür eingesetzte MCUs müssen also ihren Stromverbrauch stark einschränken können, zugleich aber auch robuste Security-Funktionen bieten.

Nicht zuletzt aber benötigen Low-Cost-IoT-Knotendesigns einen einfachen Mechanismus für die Implementierung von Security-Funktionen. Dieser muss eine Abstraktion weg von Low-Level-Security-Details bieten, um Komplexität, aufwendige Lernkurven und teure Overhead-Kosten zu vermeiden.

Embedded Security – ganz einfach

Bild 3: Der SAM L11 im Einsatz in einem IoT-Knoten. Besonders sensible Daten sind in einem abgesicherten Speicherbereich abgelegt.

Bild 3: Der SAM L11 im Einsatz in einem IoT-Knoten. Besonders sensible Daten sind in einem abgesicherten Speicherbereich abgelegt. Microchip

Bild 4: Bei diesem Secure Remote Keypad lassen sich Passphrasen isolieren und absicher und Man-in-the-Middle-Attacken verhindern.

Bild 4: Bei diesem Secure Remote Keypad lassen sich Passphrasen isolieren und absichern und Man-in-the-Middle-Attacken verhindern. Microchip

Der SAM-L11-Mikrocontroller zeigt beispielhaft, wie sich die Implementierung solcher Security-Funktionen vereinfachen lässt: Bei ihm wurden Security-Funktionen bereits in der Chip-Design-Phase tief eingebettet. Der Mikrocontroller arbeitet mit einer Taktfrequenz von 32 MHz und ist in Speicherkonfigurationen mit bis zu 64 kByte Flash und 16 kByte SRAM erhältlich. Als Orientierung, worauf Entwickler bei der frühzeitigen Einführung von Security-Funktionen im MCU-Designzyklus achten sollten, sollen im Folgenden die vier zentralen Security-Elemente des SAM L11 vorgestellt werden.

Secure Boot und Trusted Execution

Das Boot-ROM-Design des SAM L11 ermöglicht einen manipulationssicheren Secure-Boot-Vorgang. Das Design verfügt über einen integrierten Crypto-Beschleuniger (Crypto Accelerator, CRYA), der die Berechnung der AES-, SHA- und GCM-Algorithmen für Ver- und Entschlüsselung sowie Authentifizierung und Nist-konforme TRNG (True Random Number Generator) zur Generierung von Zufallszahlen übernimmt. Im SAM L11 sorgt ARM-Trustzone-Technik für den Aufbau einer abgesicherten Zone. Zusammen mit der manipulationssicheren Secure-Boot-Funktion schafft diese Technik eine Trusted-Execution-Umgebung (TEE), die einen effizienten Schutz vor Malware bietet. Dank TEE können die IoT-Knoten beim Erkennen von Malware Schutzmaßnahmen ausführen. Dies vermeidet den Ausfall von kritischen Funktionen und bringt eine deutliche Verbesserung der Zuverlässigkeit von IoT-Knoten.

Abgesicherte Schlüsselspeicherung

Neben den Manipulationsschutz-Pins zur Vermeidung von Eingriffen auf Leiterplatten-Ebene besitzt der SAM L11 eine aktive Abschirmung für einen 256 Byte großen RAM-Bereich, der vor Chip-Level-Microprobing und Daten-Remanenz-Problemen geschützt ist und damit eine sichere Speicherung für volatile Schlüssel erlaubt. Die MCU besitzt darüber hinaus einen dedizierten, 2 kByte großen Flash-Speicherbereich, der sich zur Ablage von nichtflüchtigen Schlüsseln, Zertifikaten oder anderen sensitiven Daten verschlüsseln lässt. Die abgesicherte Schlüssel-Speicherung auf dem Baustein schützt Systeme vor Software- und Kommunikations-Angriffen und bietet Entwicklern eine Möglichkeit zum Löschen sensitiver Daten bei Erkennung eines Manipulationsereignisses.

Framework für Security-Lösungen

SAM L11 nutzt die Unterstützung eines umfassenden Frameworks für Security-Lösungen, das durchgängige Sicherheit gewährleistet. Dies reicht von der Schlüssel-Bereitstellung in einer abgesicherten Anlage in der Halbleiter-Herstellung, über die Implementierung von Security-Modulen während der Anwendungsentwicklung bis hin zu ferngesteuerten Firmware-Upgrades jederzeit im Lebenszyklus des Bausteins. Das Framework enthält die Kinibi-M-Security-Software von Trustonic. Diese bietet eine Abstraktion der Lower-Level-Details der Security-Funktionen des Bausteins und stellt dem Entwickler eine modulare GUI-gestützte Schnittstelle zur Auswahl relevanter Security-Module für seine Anwendung bereit. Ein Beispiel dafür ist der Bootloader zur Absicherung von Firmware-Upgrades. Dabei muss der Embedded-Entwickler nicht hunderte von Datenblättern durcharbeiten, um die Erstellung eines abgesicherten Bootloaders zu erlernen.

Das Security-Framework ist umfassend definiert und enthält ein Modul, mit dem Entwickler schnell einen abgesicherten Bootloader in ihrer Anwendung implementieren können. Damit entfällt die Notwendigkeit von Schulungen zur Embedded-Security, was eine erhebliche Senkung der Entwicklungszeit und -Kosten ermöglicht.

Hardware-Security-Funktionen

Bild 5: Der Mikrocontroller überwacht in dieser Druckeranwendung, ob Original-Kartuschen zum Einsatz kommen.

Bild 5: Der Mikrocontroller überwacht in dieser Druckeranwendung, ob Original-Kartuschen zum Einsatz kommen. Microchip

Bild 6: Bei Medizinelektronik-Anwendungen, wie hier bei einem Blutzuckermessgerät, ist die Verschlüsselung der privaten Patientendaten besonders wichtig.

Bild 6: Bei Medizinelektronik-Anwendungen, wie hier bei einem Blutzuckermessgerät, ist die Verschlüsselung der privaten Patientendaten besonders wichtig. Microchip

Tief im SAM-L11-Mikrocontroller eingebettete Hardware-Security-Funktionen unterstützen den Embedded-Entwickler bei der Schlüssel-Bereitstellung in abgesicherten Microchip-Fertigungsbetrieben. Dabei kommt der Root-of-Trust-Ablauf (RoT) von Trustonic zum Einsatz. Bild 2 zeigt die verschiedenen vom Framework bereitgestellten Module für eine einfachere Implementierung von Security-Funktionen.

Ein umfassendes Framework für Security-Lösungen unterstützt Embedded-Entwickler, die mit Security-Aspekten nur wenig vertraut sind, und vermeidet steile Lernkurven und Overhead-Kosten. Innerhalb kürzester Zeit können sie problemlos robuste Security-Funktionen in den unterschiedlichsten Anwendung-Einsatzfällen implementieren: in einem IoT-Knoten (Bild 3), einem Remote Keypad (Bild 4), im Druckermanagement (Bild 5) oder in einem Blutzucker-Messgerät (Bild 6).

Der Baustein nutzt Pico-Power-Technologie, die einen geringen Stromverbrauch im aktiven sowie im Sleep-Modus gewährleistet und von EEMBC zertifizierte ULP-Mark-Kennwerte bietet. Für flexiblen Einsatz verfügt der Baustein zudem über verschiedene Stromspar-Betriebsarten und Low-Power-Techniken. Somit können Entwickler problemlos Security-Funktionen implementieren, ohne dass dafür der Stromverbrauch leidet.