Security Sichere IoT-Lösungen von der Peripherie bis zur Cloud

Autor / Redakteur: Mihai Voicu* / Dipl. -Ing. Ines Stotz

Die Vernetzung dezentraler Geräte schafft neue Geschäftsmodelle – so lautet das zentrale Versprechen des Internet of Things (IoT, Internet der Dinge). Ein grundlegendes Verständnis der wichtigsten Sicherheitsaspekte, die hier zu beachten sind, ist für den Anwender von Vorteil.

Firmen zum Thema

Um die reibungslose Implementierung von IoT-Lösungen von der Peripherie bis zur Cloud zu erleichtern, sind umfassende Sicherheitsmaßnahmen nötig.
Um die reibungslose Implementierung von IoT-Lösungen von der Peripherie bis zur Cloud zu erleichtern, sind umfassende Sicherheitsmaßnahmen nötig.
(Bild: Telit)

Eigentümer und Betreiber von Anlagen haben dank des IoT permanent Zugriff auf aktuelle Informationen über Zustand der Maschinen, Effizienz und Ergebnisqualität der Fertigungsprozesse. Genau das eröffnet Potenziale für neue wirtschaftliche Vorteile. In der Vergangenheit galten M2M-Lösungen als sicher, weil sie intransparent waren und für Hacker kein attraktives Ziel darstellten. M2M-Lösungen haben sich jedoch weiterentwickelt und sind heute in Unternehmensprozesse eingebunden. Die meisten modernen IoT-Lösungen umfassen mehrere Gerätetypen, um eine Vielzahl von Anlagen bzw. Prozessen zu überwachen; sie interagieren mit ganz unterschiedlichen Anwendungen und Drittanbieter-Lösungen. Herkömmliche Sicherheitsmaßnahmen wie Firewalls, VPNs oder private Netzwerke entsprechen daher nicht immer den Anforderungen moderner, anspruchsvoller Fertigungsumgebungen.

Bildergalerie

Kritische Sicherheitsmerkmale, die für heterogene Technologien und unterschiedliche Anwendungsbereiche gelten, sind unter anderem:

  • Vertraulichkeit der Daten und Authentifizierung,
  • Zugriffskontrolle innerhalb des IoT-Netzwerks ,
  • Datenschutz und Vertrauen zwischen Benutzern und zwischen im IoT vernetzten Gegenständen,
  • Durchsetzen von Sicherheits- und Datenschutzrichtlinien.

Die Branche muss nicht nur mit dynamischen technischen Anforderungen Schritt halten, sondern auch die damit verbundenen gesetzlichen und ethischen Fragen beantworten. Die Anwender müssen sich zwar nicht um die zugrundeliegenden Sicherheitstechniken kümmern, ein grundlegendes Verständnis der wichtigsten Sicherheitsaspekte und -lösungen in unterschiedlichen IoT-Segmenten kann jedoch bei der Bewertung von Angeboten eines Anbieters hilfreich sein.

IoT-Bereiche

IoT-Lösungen umfassen in der Regel drei Bereiche:

  • Datenbeschaffung mithilfe von vernetzten Gegenständen,
  • Datenübertragung über Netzwerke,
  • Datenverarbeitung in der Cloud.

Um die reibungslose Implementierung von IoT-Lösungen von der Peripherie bis zur Cloud zu erleichtern, sollte man umfassende Sicherheitsmaßnahmen für diese drei Bereiche realisieren.

IoT-Bereiche
IoT-Bereiche
(Bild: Telit)

Auf der nächsten Ebene stehen der Datenfluss und die an der IoT-Wertschöpfungskette beteiligten Einheiten im Fokus. Wie das aussehen kann, verdeutlicht das Beispiel des Management Portals „Device WISE“.

Datenfluss in den IoT-Lösungen von Telit
Datenfluss in den IoT-Lösungen von Telit
(Bild: Telit)

Vernetzte Gegenstände sind diesem Verständnis nach Einheiten, die Sensor- sowie Ereignisdaten überwachen und verwalten, und die mit einer Transporteinheit, etwa einem Mobilnetz, verbunden sind. In den meisten IoT-Umgebungen werden Daten, die vernetzte Gegenstände erzeugen, in der Cloud gespeichert und verarbeitet. Um die verarbeiteten Daten sinnvoll zu nutzen, rufen Anwendungen diese ab und führen sie zusammen. In der Regel verbinden sie sich dazu über eine Transporteinheit wie etwa ein LAN mit der Cloud.

Sicherheit auf Ebene der vernetzten Gegenstände

Auf Ebene der vernetzten Gegenstände, wo die Erfassung der Daten stattfindet, spielen vertrauenswürdige Partner eine wichtige Rolle. Anbieter von M2M-Modulen sollten daher Partnerschaften mit Herstellern von IoT-Geräten und IoT-Gateways vorweisen können, die in ihren Produkten das gleiche, hohe Sicherheitsniveau bieten. Für zusätzliche Sicherheit sorgen bei Telit spezialisierte, in die Module integrierte Agenten, die Daten erst nach einer entsprechenden Sicherung übertragen.

Somit können Entwickler mit dem Agenten, der etwa in die Module der Produktfamilie xE910 integriert ist, Daten mittels spezieller AT-Befehle an die Cloud übermitteln. Mit dieser Funktion lässt sich steuern, wann, wie und wohin man Daten sendet.

Beispiele hierfür sind:

  • 1. Setzen des APN für das Modem:
  • a. AT +CGDCONT=1,”IP ”,”<AP N>”
  • 2. Starten des PDP-Kontexts (IP-Verbindung):
  • a. AT #SGACT=1,1
  • 3. Konfigurieren der Verbindung zum M2M-Dienst:
  • a. AT #DW CFG=<AEP-Endpunkt>,0,<Anwendungstoken>
  • 4. Verbinden zum M2M-Dienst:
  • a. AT #DW CONN=1
  • 5. Übertragen eines Temperaturwerts von „22,5“:
  • a. AT #DWSE ND=0,property.publish,key,temperature,value,22.5

Sicherheit auf Netzwerkebene

Auf Netzwerkebene bewegen sich die Daten meist über unterschiedliche Einheiten. Durch die dort geltenden unterschiedlichen Sicherheitsstandards ist der Anwender vermehrt Bedrohungen ausgesetzt. IoT-Lösungen, die Telit-Services nutzen, können Bedrohungen in Mobilnetzen in Echtzeit erkennen.

Zusätzlich hat Telit spezielle APNs entwickelt, die eine Trennung der Anwenderdaten sicherstellt, wenn sich Gegenständer mit dem Mobilnetz verbinden. Die Verbindungen zwischen Mobilnetzanbieter und Cloud-Anbieter werden mittels VPN abgesichert.

Trotz des Einsatzes modernster Technologien eröffnen Mobilnetze Möglichkeiten für eine Reihe von Angriffen, wie etwa SMS-Spoofing, DNS-Poisoning oder Denial-of-Service. Der Dienst „Device WISE Shield“ kann zum Beispiel Angriffe blockieren und die Art der Angriffe sowie die Identität und den Standort des betroffenen Moduls melden. Daraufhin werden diese Ereignisse analysiert und als Alarm- oder Ereignismeldung angezeigt.

Sicherheit auf Cloud-Ebene

Sogenannte AEP (Application Enablement Platform) stellen den technologischen Rahmen dar, mit dessen Hilfe auf Ebene der Cloud die unterschiedlichen Daten nun zusammengeführt und verarbeitet werden. Um dafür eine sichere Umgebung bereitzustellen, arbeitet Telit mit SaaS-Anbietern wie der Google Cloud Plattform und den Amazon Web Services zusammen. Somit sind Anwenderdaten auch in gemeinsam genutzten Umgebungen geschützt. Bei der Übermittlung von Daten durch vernetzte Geräte oder Anwendungen an die Cloud, können Entwickler oder Systemintegratoren die Regeln für eine solche Datenübertragung festlegen.

Idealerweise bietet eine AEP die folgenden erweiterten Funktionen:

  • Alle eingehenden Verbindungen von Dingen oder Anwendungen werden mit TLS 1.1 oder 1.2 verschlüsselt.
  • Alle Verbindungen aus Mobilnetzen erfolgen über sichere VPN-Verbindungen, die rollierende Schlüssel nutzen.
  • Nur dem Anwender bekannte Schlüssel sichern alle Anwenderdaten in der Cloud.
  • Support-, Wartungs- und Betriebsteams nutzen rollenbasierte Sicherheitseinstellungen und Aufgabentrennung.
  • Weitere Sicherheitsfunktionen auf Basis bewährter Verfahrensweisen der CSA (Cloud Security Alliance) oder der GSMA (Groupe Speciale Mobile Association).

Während die beschriebenen Funktionen außerhalb der Plattform implementiert sind, lassen sich äußerst wirkungsvolle Sicherheitsfunktionen in der Plattform selbst realisieren. Entwickler können den Anwendungen oder den im IoT vernetzten Dingen damit flexibel Zugriff auf die Daten in der Cloud gewähren oder den Zugriff einschränken.

Sicherheitsstufen in der Plattform

Die erste Sicherheitsstufe innerhalb der Plattform bildet die Organisation. Mandantenfähige Lösungen sichern dabei die Anwenderdaten in der Cloud über die Organisations-ID ab. Das bedeutet, Benutzer, Dinge und Anwendungen beziehen sich alle auf eine Organisation. Nur wer zu dieser Organisation gehört, hat Zugriff auf die Daten.

Das „Anwendungstoken“ stellt die nächste Sicherheitsstufe dar. Einer Organisation können mehrere Anwendungstoken zugewiesen werden, wobei jedes Token nur zu einer Organisation gehören kann. Jede Einheit, die Zugriff auf die in der Cloud gespeicherte Definition eines vernetzten Gegenstands benötigt, kann diese Tokens nutzen. Anwendungsbeispiele sind etwa Gateways, IoT-Anwendungen von Drittanbietern oder einfache IoT-Geräte. Jedes Anwendungstoken kann eine oder mehrere Rollen haben. Vernetzte Gegenstände nutzen Anwendungstoken, um festzustellen, wohin Daten gesendet werden sollen und sind Teil des Authentifizierungsprozesses. Wenn sich berechtigte IoT-Anwendungen von Drittanbietern mit der Cloud verbinden, greift der gleiche Mechanismus.

Die nächste integrierte Sicherheitsstufe ist die Identität der vernetzten Gegenstände, zum Beispiel von unabhängigen IoT-Geräten oder Gateways. Dafür werden Schlüssel genutzt, die den im IoT vernetzten Dingen zugeordnet sind. Der zugewiesene Schlüssel ist eine eindeutig identifizierbare Einheit, wie etwa die Datenquelle. Da vernetzte Gegenstände Daten an mehrere Ziele senden können, sind sie nicht mit Organisationen verbunden. Die Identität der an eine oder mehrere Organisationen übermittelten Daten wird über das Anwendungstoken kontrolliert. Verwendete Schlüssel zur Absicherung der Daten von vernetzten Gegenständen sind beispielsweise IMEI, MAC-Adressen oder jeder Schlüssel, der sicher mit einem Gerät verbunden werden kann.

Plattformen nutzen Anwendungs-IDs zur Authentifizierung. Diese sind normalerweise nicht sichtbar, der Entwickler kann sie aber in der initialen Authentifizierungsanforderung integrieren, sodass alle nachfolgenden Aufrufe unter Nutzung des Ding-Schlüssels diese Anwendungs-ID enthalten müssen. Die Verwendung einer anderen Anwendungs-ID führt zu einem Authentifizierungsfehler. Die Eigenschaften der im IoT vernetzten Dinge, die diesen Mechanismus nutzen, werden daraufhin gesperrt.

Bei der Übermittlung von Daten an die Plattform kommen im Authentifizierungsprozess also drei Elemente zum Einsatz: 1.) Anwendungstoken, 2.) die Schlüssel des im IoT vernetzten Gegenstands und 3.) die Anwendungs-ID.

Zum Aufsetzen der Authentifizierung für einen vernetzten Gegenstand können Entwickler folgenden JSON-Authentifizierungsblock nutzen:

  • {
  • “auth” : {
  • “command” : “api.authenticate”,
  • “params” : {
  • “appToken”: “myapptoken”,
  • “appId”: “myappid”,
  • “thingKey”: “mykey”
  • }
  • }
  • }

Sicherheitsmarkierungen und verschlüsselte Datenübertragung

Eine weitere in die Plattform integrierte Sicherheitsfunktion verwendet Sicherheitsmarkierungen (Tags). Diese sind an benutzerdefinierten Rollen gebunden, die der Beschränkung des Lese- oder Schreibzugriffs auf die Eigenschaften eines vernetzten Gegenstands dienen. So lässt sich beispielsweise die Temperatur-Eigenschaft eines vernetzten Gegenstands nur dann aktualisieren, wenn die Sicherheitsmarkierung mit der Rolle des Anwendungstokens übereinstimmt, die für den API-Aufruf „publish.update“ definiert ist. Entwickler können den Zugriff auf Programmierschnittstellen (API) der Anwendungstoken mittels benutzerdefinierter Rollen steuern. Damit sind fein abgestufte Autorisierungsmechanismen möglich, mit denen man die Nutzung von Token abhängig von funktionalen Rollen beschränken kann. So darf zum Beispiel ein Anwendungstoken, das zur Aktualisierung der Eigenschaften eines vernetzten Gegenstands eingesetzt wird, nur eine Untermenge von API-Aufrufen nutzen. Ein Token, das hingegen zur Verwaltung von im vernetzten Gegenständen genutzt wird, erhält Zugriff auf die Management-API.

Eine weitere wichtige Funktion ist die Fähigkeit, Daten bei der Übertragung (Data-in-Transit) zu verschlüsseln. Für Lösungen, bei denen Daten an der Quelle verschlüsselt und am Ziel entschlüsselt werden müssen, sorgen Agenten in den Mobilfunkmodulen oder den IoT-Gateways für die Verschlüsselung. Für die Entschlüsselung der Daten kann man zusätzlich unternehmenseigene Programme nutzen. Alle eingesetzten Schlüssel kann der Anwender festlegen, was die übertragenen Informationen zusätzlich absichert.

* Mihai Voicu, CISO von Telit

(ID:44254259)