Schlecht abgesicherte IoT-Geräte haben sich leider als attraktives Ziel für Cyberangriffe erwiesen. Einmal manipuliert, können Geräte vertrauliche Benutzerdaten wie auch wertvolle Informationen liefern, die zum Erstellen von gefälschten Kopien der Geräte erforderlich sind. Hacker können diese ungeschützten Geräte auch nutzen, um größere Schäden anzurichten, indem sie tiefer in Netzwerke eindringen und so andere vernetzte Geräte, Systeme und Unternehmensressourcen erreichen. Dies hat zur Folge, dass die Auswirkungen kompromittierter IoT-Geräte sich durch die verschiedenen Ebenen der IoT-Hierarchie ziehen und sogar die öffentliche Sicherheit bei neu entstehenden IoT-Anwendungen wie Gebäudeautomation, Industriesysteme, Transport und Medizinprodukte gefährden.

Eck-Daten

Schlecht gesicherte IoT-Geräte laufen Gefahr, große Mengen an vertraulichen Daten preiszugeben, und können zu Einstiegspunkten zu anderen vernetzten Ressourcen werden. Entwickler müssen IoT-Designs auf einer sicheren Basis entwickeln, die sich vom Gerät bis in die Cloud erstreckt und den gesamten Lebenszyklus von IoT-Geräten unterstützt. Mit dem Edgelock SE050 von NXP können Entwickler neue Anforderungen an eine effektivere Sicherheit erfüllen, die sich vom Randknoten bis zur Cloud erstreckt.

Für Entwickler können Sicherheitsaspekte eine unliebsame Erweiterung einer wachsenden Liste von Anforderungen sein, die bereits von der Forderung nach höherer Leistung und geringerem Stromverbrauch geprägt ist. In der Tat hängt eine effektive Sicherheit von einer wachsenden Anzahl von Anforderungen ab, die zur Abwehr von Bedrohungen vom Randknoten bis zur Cloud erforderlich sind.

Isoliert angewendet sind vertraute Techniken wie Verschlüsselung und Authentifizierung allein nicht ausreichend. Die IoT-Sicherheit muss auf einem Vertrauensanker aufbauen, der sicherstellen soll, dass Sicherheitsmechanismen und -protokolle vor Gefahren geschützt sind. Gleichzeitig müssen Sicherheitsmethoden zunehmend mit höherer Granularität angewendet werden, um nicht nur Verbindungen zwischen IoT-Geräten, sondern auch Verbindungen zwischen Komponenten eines bestimmten IoT-Designs zu schützen. Das Sicherheitselement Edgelock SE050 entwickelte NXP speziell, um die Bandbreite an Sicherheitsmechanismen und -protokollen bereitzustellen, die erforderlich sind, um Edge-to-Cloud-Sicherheit in IoT-Geräten zu integrieren.

Robuste Sicherheitslösung gegen Cyberangriffe

Das SE050 ist als betriebsfertige Lösung für die Sicherheit von IoT-Geräten konzipiert und baut auf der umfangreichen Erfahrung von NXP im Bereich der Smartcard-Sicherheit auf, um einen Hardware-Vertrauensanker für IoT-Designs zu bieten. Das Gerät kombiniert einen eigenen Mikrocontroller und einen sicheren Berechtigungsspeicher mit einem Software-Stack, der auf dem Smartcard-Betriebssystem Java Card Open Platform (JCOP) basiert. Die SE050-Betriebsplattform ist von unabhängiger Stelle bis auf Betriebssystemebene nach den Common Criteria (CC) Evaluation Assurance Level Stufe 6 Augmented (EAL 6+) zertifiziert und bietet Sicherheit für den Betrieb in Umgebungen mit hoher Bedrohung (Bild 1).

Ein spezielles IoT-Sicherheits-Applet, das NXP für den Betrieb auf dieser robusten Sicherheitsplattform optimierte, verwendet eine integrierte Kryptobibliothek, um einen umfassenden Satz von Kryptografiealgorithmen zu unterstützen. Darunter sind folgende Funktionen und Algorithmen enthalten:

  • Symmetrische Kryptografie mit den Algorithmen Advanced Encryption Standard (AES) und Data Encryption Standard (DES).
  • Asymmetrische Kryptografie unter Verwendung der Algorithmen Rivest-Shamir-Adleman (RSA) und Elliptic-Curve Cryptography (ECC) mit Unterstützung für eine Reihe von ECC-Kurven, einschließlich der vom National Institute of Standards and Technology (NIST) festgelegten Standardkurven.
  • Mehrere Hash-Funktionen, die zum Erstellen von Message Authentication Codes (MACs) verwendet werden.
  • Mehrere KDF-Algorithmen (Multiple Key Derivation Function), die unter anderem für das Hashing von Passwörtern, die Schlüsselvereinbarung und die Schlüsselverstärkung verwendet werden.
Zertifizierung nach CC EAL Level

Bild 1: Unter den zertifizierten Produkten bietet die SE050-Plattform mit ihrer Zertifizierung bis auf Betriebssystemebene nach CC EAL 6+ ein sehr hohes Maß an Sicherheit Common Criteria

Zur Leistungssteigerung sind in das SE050 Hardwarebeschleuniger für die Kryptografiestandards Advanced Encryption Standard (AES), Data Encryption Standard (DES) und Fast Attribute-based Message Encryption (FAME) integriert.

Um die bei kryptografischen Operationen verwendeten Berechtigungsdaten zu schützen, stellt das Gerät bis zu 50 kByte an sicherem Benutzer-Flash-Speicher zur Verfügung und ist mit Stammschlüsseln ausgestattet, die zur Unterstützung typischer IoT-Transaktionen entwickelt wurden. Entwickler, die großvolumige Designs entwerfen, können auch die Vorteile benutzerdefinierter Schlüssel und Berechtigungen nutzen, die NXP oder autorisierte Drittanbieter bereitstellen.

Neben dem eingebetteten Flash-Speicher unterstützt die Komponente den Zugriff auf den RAM (Random Access Memory), um beispielsweise öffentliche Zertifikate zu speichern, während die zugehörigen privaten Schlüssel im sicheren Flash-Speicher verbleiben. Darüber hinaus verfügt das IoT-Applet SE050 über eine sichere Import-/Exportfunktion, mit der Entwickler Schlüssel oder beliebige Daten sicher im externen Speicher ablegen können. Dessen ungeachtet verwendet die Komponente eine Speicherverwaltungseinheit, die den Zugriff auf verschiedene Speicherbereiche auf das IoT-Applet beschränkt und so einen unbefugten Zugriff über den Mikrocontroller verhindert. Zum weiteren Schutz vor Manipulationen und vor ausgeklügelten Seitenkanalangriffen verfügt das Gerät zudem über mehrere logische und physische Barrieren gegen unbefugten Zugriff. Bei der Sicherheit geht es jedoch ebenso sehr darum, autorisierten Geräten den Zugriff zu ermöglichen, wie darum, Barrieren gegen unbefugten Zugriff zu errichten.

Gegenseitige Authentifizierung

Die Kryptografiemechanismen und sicheren Speicherfunktionen des SE050 dienen als Vertrauensanker für IoT-Geräte und unterstützen direkt sichere Verbindungen, die für die Kommunikation mit autorisierten Remote-Hosts wie Cloud-Servern erforderlich sind. Mit den gleichen Funktionen können Entwickler die Authentizität von Verbindungen auf den untersten Ebenen der IoT-Hierarchie zwischen separaten IoT-Geräten mit den Sicherheitselementen SE050 sicherstellen.

Mit einem Verfahren, ähnlich der herkömmlichen Authentifizierung im Internet, kann sich ein intelligenter IoT-Sensor beispielsweise gegenüber einem IoT-Steuergerät authentifizieren. Dieser Prozess beginnt damit, dass die Sensoreinheit das im sicheren Speicher des SE050 gespeicherte Zertifikat an das Steuergerät sendet. Das Steuergerät wiederum validiert das empfangene Zertifikat mithilfe von SE050-Kryptofunktionen. Nach erfolgreicher Validierung sendet das Steuergerät einen Zufallswert, die sogenannte Challenge, an die Sensoreinheit zurück. Die Sensoreinheit wiederum verwendet das eigene SE050-Sicherheitselement, um die Challenge mit dem privaten Schlüssel zu signieren, der dem gleichen Zertifikat zugeordnet ist, das sie zuvor an das Steuergerät gesendet hat. Da diese signierte Challenge nur mit dem zugehörigen öffentlichen Schlüssel validiert werden kann, kann das Steuergerät sicher sein, dass das ursprünglich von der Sensoreinheit gesendete Zertifikat wirklich im Besitz dieser Komponente ist. Somit kann das Steuergerät die Sensoreinheit zuverlässig authentifizieren. Durch den Wechsel von Rollen im gleichen Prozess kann sich das Steuergerät umgekehrt gegenüber dem Sensor authentifizieren.

Schnittstellen des SE050

Bild 2: Das SE050 SE bietet mehrere Schnittstellen, sodass es als I2C-Slave für Verbindungen zu Host-Mikrocontrollern, als I2C-Master für ISO7816-basierte Verbindungen zu digitalen Sensoren und als kontaktlose Schnittstelle nach ISO 14443 Near Field Communication (NFC) verwendet werden kann. NXP

Diese Art der gegenseitigen Authentifizierung ist für den Aufbau vertrauenswürdiger IoT-Netzwerke unerlässlich, insbesondere mit dem Aufkommen von mehr Zwischenschichten einschließlich Edge-Computing-Geräten. Obwohl der Prozess der gegenseitigen Authentifizierung unkompliziert ist, können selbst einfache Implementierungsfehler oder unterschiedliche Interpretationen des Protokolls zu schwerwiegenden Sicherheitslücken führen. Insbesondere bei ressourcenbeschränkten IoT-Designs kann die Notwendigkeit einer sicheren Speicherung und schnellen Ausführung komplexer Kryptoalgorithmen eine zuverlässige Implementierung zusätzlich erschweren. Durch das Hinzufügen des SE050 zu einem beliebigen IoT-Design können Entwickler kritische Sicherheitsfunktionen wie die gegenseitige Authentifizierung implementieren, ohne die Gesamtleistung oder Sicherheit des Designs zu beeinträchtigen.

Eine Ergänzung zu den erweiterten Möglichkeiten der SE050 ist die direkte Integration in das Design. Entwickler können die Komponente in ihr IoT-Hardware-Design integrieren, ohne die Komplexität oder den Platzbedarf des Designs zu beeinträchtigen. Die 3 × 3 mm² große Komponente wurde als Add-on-Komponente konzipiert und bietet eine Reihe einfacher serieller Schnittstellen (Bild 2).

Zur Kommunikation mit dem Host-Mikrocontroller fungiert das Gerät als I2C-Slave. Das SE050 kann auch als I2C-Master für ISO7816-basierte Verbindungen zu einem anderen seriellen Gerät dienen. Das Gerät unterstützt auch eine dritte Schnittstelle für die kontaktlose Konnektivität nach ISO 14443 NFC. Das IoT-Applet des SE050 koordiniert für die verschiedenen Verbindungen sichere Schlüssel und Zugriffskontrollregeln, um für jede Verbindung Sitzungen einzurichten und zu verwalten.

Für die Kommunikation mit dem Host bietet das SE050 eine sitzungsbasierte Authentifizierung, die das Abfangen von I2C-Befehlen und -Daten sowie die Verwendung von Man-in-the-Middle-Angriffen verhindert. Um eine Sitzung über eine serielle Verbindung einzuleiten, können sich Entwickler mit einer Benutzer-ID authentifizieren, die genauso wie ein Passwort oder eine persönliche Identifikationsnummer (PIN) verwendet wird.

Die passwortbasierte Authentifizierung zwischen dem Mikrocontroller und dem SE050 ist für bestimmte Anwendungen möglicherweise nicht immer ausreichend. Bei kritischen Anwendungen müssen Entwickler eventuell sicherstellen, dass die Kommunikation zwischen dem Host-Mikrocontroller und dem SE050 vertraulich bleibt, um Angriffe zu verhindern, die Sitzungen reproduzieren, Out-of-Order-Fragmente senden oder kryptografische Algorithmen durch gehackte Versionen ersetzen mit dem Ziel, vertrauliche Daten zu gewinnen.

Sichere Bus-Transaktionen

Mit dem SE050-Sicherheitselement können Entwickler Authentifizierungsmethoden verwenden, um einen sicheren Kommunikationskanal zwischen dem SE050 und dem Host-Mikrocontroller aufzubauen. Hierbei können Entwickler die Unterstützung des SE050-Schaltkreises für den SCP03-Standard (Secure Channel Protocol) nutzen, der allgemein zur sicheren bidirektionalen Kommunikation zwischen einem Java-Card-Gerät und einem Host verwendet wird.

Kommunikation zwischen SE050 und HD

Bild 3: Die Kommunikation zwischen einem NXP SE050 SE und einem HD erfolgt über einen ISO 7816 Smartcard-Standardstack, der Anfragen und Antworten auf Anwendungsebene unter Verwendung des APDU-Standards ISO 7816 umfasst, die von einer Datenverbindungsschicht unter Verwendung des Halbduplexprotokolls ISO 7816-3 T=1 über I²C übertragen werden. Digi-Key

Das SE050 ergänzt auch die Sensordaten um einen besonderen Schutz. Hierzu können Entwickler das SE050 anweisen, die Antworten auf Hostbefehle um Metadaten zur Attestierung zu ergänzen, die einen eindeutigen Identifikator, Aktualitätsdaten in Form eines Zufallswerts für jede Instanz, einen Zeitstempel und eine Signatur enthalten. Innerhalb des Hosts kann die Software die von der SE050 empfangenen Attestierungsdaten untersuchen, um die Quelle und Aktualität der Daten der an die SE050-I2C-Masterschnittstelle angeschlossenen Sensoren zu überprüfen.

Da die Daten einzelner Sensoren in Strömen zusammengeführt werden, die innerhalb der IoT-Hierarchie nach oben fließen, können Anwendungen diese Attestierungsdaten verwenden, um die Quelle ungewöhnlicher Datenmuster zu identifizieren, die auf beeinträchtigte, ausgefallene oder gefährdete Sensoren hinweisen könnten. Mit SCP03-Host-Sitzungen und Sensordatenattestierung können Entwickler zuverlässig und sicher wichtige Sensordaten für kritische Anwendungen erfassen.