Schwerpunkte

Kryptographie-Controller

Kommunikation im IoT gut absichern

19. Februar 2020, 11:09 Uhr   |  Stéphane Di Vito und Michael Jackson

Kommunikation im IoT gut absichern
© elenabsl / Shutterstock

Ein spezieller Kryptographie-IC sorgt für die nötige Sicherheit bei der IoT-Kommunikation.

Für die Kommunikation von IoT-Geräten wird das Protokoll MQTT eingesetzt; TLS sorgt dabei für die gewünschte Sicherheit. Letzteres zu implementieren hat aber seine Tücken. Eine hardwarebasierte Lösung bietet einen flexiblen Weg zur Implementierung von TLS in IoT-Geräten und macht MQTT sicher.

Heutzutage gilt jedes Gerät, das über das Internet ferngesteuert wird, als smart. Dabei ist es nicht besonders intelligent, wenn diese Geräte unberechtigten Dritten ein Einfallstor bieten, um zum Beispiel ein Unternehmensnetzwerk zu hacken und eine Produktionslinie zu sabotieren. Das Internet der Dinge kann sich letztlich nur dann durchsetzen, wenn die Nutzer den vernetzten Geräten und der zugrundeliegenden Infrastruktur vertrauen können.

Maxim Integrated
© Maxim Integrated

Bild 1: Terminologie bei MQTT.

Im Folgenden geht es um eine Lösung mit einem Message-Queue-Telemetry-Transport-Protokoll (MQTT) – eine Technologie, die sich derzeit zum De-Facto-Kommunikationsprotokoll für Geräte im Internet of Things entwickelt. Dabei werden zusätzlich die Herausforderungen beleuchtet, die sich bei der Sicherung dieser Kommunikation durch Transport-Layer-Security (TLS) ergeben, und eine hardware-basierte Lösung vorgestellt, die am besten geeignet ist, diese zu bewältigen.

Maxim Integrated
© Maxim Integrated

Bild 2: Typisches MQTT-Szenario für die Fernüberwachung und -steuerung einer Klimaanlage.

Was ein MQTT ist und wie es sich absichern lässt

MQTT ist ein energiesparendes, effizientes Protokoll, das für den Betrieb von Geräten mit beschränkter Bandbreite ausgelegt ist. Es lässt sich zum Beispiel in einer Produktionsumgebung für die Kommunikation zwischen einem Sensor, einem Antrieb und einer Steuereinheit einsetzen. Geräte (clients) senden (publish) oder empfangen (subscribe to) Informationen (messages) zu einem bestimmten Thema (topic) (Bild 1). Der MQTT-Broker ist dafür zuständig, alle Informationen zu empfangen, zu filtern, zu entscheiden, welche Einheit dafür Verwendung hat, und die Informationen den entsprechenden Clients zu senden. Dieser Broker kann (muss aber nicht) in der Cloud angesiedelt sein. Bild 2 veranschaulicht ein typisches MQTT-Szenario, um eine Klimaanlage aus der Ferne zu überwachen und zu steuern.

MQTT beruht auf dem Transmission-Control-Protocol (TCP). Grundsätzlich ist eine TCP-Verbindung aber nicht sicher. Um die Kommunikation zu schützen, verwenden viele MQTT-Broker TLS anstelle des reinen TCP. Für cloud-basierte Broker ist der Einsatz von TLS verpflichtend vorgeschrieben, um Authentizität, Sicherheit und Integrität zu gewährleisten. Einer der Vorteile des TLS-Protokolls ist, dass es sich leicht in jede beliebige Anwendung mit frei verfügbaren Software-Bibliotheken integrieren lässt (Bild 3).

Maxim Integrated
© Maxim Integrated

Bild 3: Typische Implementierung von TLS.

Herausforderungen bei der TLS-Integration

Selbst bei einem fehlerfreien TLS-Stack können die Integration und die Nutzung der TLS-Bibliothek innerhalb der Software jedoch immer noch fehlerhaft sein. Zu den gängigen Schwächen einer TLS-Integration in einer Embedded-Anwendung gehören:

  • das Überspringen der Zertifikatsverifizierung,
  • die Verwendung von schwachen Verschlüsselungs-Suiten,
  • der unzureichende Schutz eines Zertifikats einer Zertifizierungsstelle,
  • die Offenlegung von Sitzungsschlüsseln,
  • kompromittierte Authentifizierungsschlüssel privater Clients und
  • die Verwendung von schlechten kryptografischen Implementierungen mit Zufallszahlen geringer Qualität.

Um ein wirklich sicheres TLS-System zu erhalten und die oben genannten Herausforderungen zu bewältigen, sollte man zumindest ein paar Regeln einhalten. Zu den wichtigsten zählen der Schutz der Sitzungsschlüssel während der Nutzung, der Einsatz sicherer kryptographischer Algorithmen mit einer robusten Implementierung und das sichere Speichern der privaten Client-Authentifizierungsschlüssel. Entscheidend ist auch, dass die TLS-Implementierung keine übermäßige Belastung für den Anwendungsprozessor mit sich bringt. Der in Bild 4 dargestellte Sicherheits-IC kann bereits von sich aus viele der Schwachstellen einer TLS-Implementierung vermeiden.

Maxim Integrated
© Maxim Integrated

Bild 4: Der Deep-Cover-Kryptographie-Controller MAXQ1061 vermeidet viele Schwachstellen der TLS-Implementierung.

Bild 5 verdeutlicht, wie dieser Sicherheits-IC zur sicheren MQTT-Kommunikation in dem zuvor gezeigten Anwendungsbeispiel für Klimaanlagen eingesetzt werden kann. Dieser hardware-basierte Ansatz hat gegenüber anderen Hardware-Lösungen mehrere Vorteile. So speichert der Sicherheits-IC Root-Zertifikate der Zertifizierungsstelle in seinem internen, nichtflüchtigen Speicher. Diese Zertifikate lassen sich nur durch eine Authentifizierung auf Basis eines starken asymmetrischen Algorithmus ersetzen. In der Regel führt ein externer Administrator diese Funktion aus; er ist damit die einzige Instanz, die den privaten Schlüssel besitzt, der für den Zugriff auf den Sicherheits-IC erforderlich ist.

Sicherheits-IC wehrt Angriffe ab

Der Sicherheits-IC verwaltet auch den TLS-Handshake und garantiert die Abwehr von Man-in-the-Middle-Angriffen. Serverzertifikate werden im Vorhinein immer verifiziert. Der IC setzt für die weitere Signaturprüfung keinen beliebigen öffentlichen Schlüssel und auch kein beliebiges Zertifikat ein. Vor der Verwendung muss das Zertifikat dieses Servers von einer gültigen Zertifizierungsstelle signiert werden, deren Zertifikat bereits im Bauteil vorhanden ist. Da sie mit modernster Kryptographie (hochwertige Zufallszahlen, keine Seitenkanalausleitung) berechnet werden, sind die Sitzungsschlüssel auch nicht verlustgefährdet. Die Client-Authentifizierung erfolgt über private Schlüssel, die sicher im Langzeitspeicher des ICs gespeichert sind, sodass sich Clients nicht imitieren lassen. Diese Schlüssel werden immer intern mit einem hochwertigen Zufallszahlengenerator erzeugt und können bauartbedingt nicht aus dem IC ausgelesen werden.

Maxim Integrated
© Maxim Integrated

Bild 5: Public-Key-Infrastruktur mit hardwarebasierter Sicherheit

Schwache Verschlüsselungssuiten kann man nicht verwenden – nur ECDHE-ECDSA mit AES-CCM oder AES-GCM und SHA-256 (oder höher) Verschlüsselungssuiten sind verfügbar. Der IC erlaubt die Client-Authentifizierung erst nach erfolgreichem und sicherem Booten. Wenn die Firmware und Konfiguration des Anwendungsprozessors nicht erfolgreich überprüft wurde, wird der private Authentifizierungsschlüssel unbrauchbar gemacht. Der IC kann auch erkennen, ob sein eigenes Gehäuse geöffnet wurde und reagiert darauf, indem er den Authentifizierungsschlüssel zerstört. Auf diese Weise kann das Client-Gerät nur dann als echt authentifiziert werden, wenn keine Manipulation stattgefunden hat.

Wichtig ist auch, dass man Geräte mit diesem sicheren IC nicht klonen kann. Sie sind nicht fälschbar, da jedes einzelne Bauteil einen eindeutigen privaten Schlüssel enthält, der nicht weitergegeben (und somit kopiert) werden kann. Da der IC alle Kryptoberechnungen durchführt, entsteht keine zusätzliche Belastung für den Anwendungsprozessor, während alle kritischen Assets physisch von der allgemeinen Anwendung isoliert bleiben. Ein großer Vorteil ist, dass benutzerdefinierte Schlüssel und Zertifikate vom Hardware Security Module (HSM) des IC-Herstellers vorprogrammiert werden können.

Maxim Integrated
© Maxim Integrated

Bild 6: Praktischer MQTT-Anwendungsfall: ein Fernüberwachungssystem, das mit dem Sicherheits-IC MAXQ1061 gesichert ist.

IoT-Integration

Die Integration dieses Sicherheits-ICs in ein Internet-of-Things-Gerät ist einfach, da es an den SPI- oder I²C-Bus eines bestehenden Systems angeschlossen wird. Die komplette Software wird vollständig bereitgestellt, die sich einfach in gängige Frameworks wie das Mbed-Betriebssystem, Arduino und Embedded Linux integrieren lässt (Bild 6). (kv)

Auf Facebook teilenAuf Twitter teilenAuf Linkedin teilenVia Mail teilen

Das könnte Sie auch interessieren

IoT Security in 2020
Das IoT auf 5G-Basis wird Realität
Industrieweit kleinste LiDAR-ICs

Verwandte Artikel

Maxim Integrated Products