Internet der Dinge: das Internet der Dinge

(Di Giorgio Tosi)
30/08/21

der Begriff Internet der Dinge oder IoT, oft falsch übersetzt mit Internet der Dinge wenn die Übersetzung "Internet of Objects" passender wäre, ist sie mittlerweile Teil des gemeinsamen Lexikons der IKT-Techniker (Information Communication Technology, hrsg.).

In diesen Notizen habe ich mich zum Ziel gesetzt, die eingesetzten Technologien, die Komponenten und die möglichen Sicherheitsprobleme von IoT-Lösungen zu klären.

Ich möchte zunächst sagen, dass IoT-Lösungen besondere Eigenschaften haben, die sie einzigartig machen. Die hohe Anzahl von Geräten, die normalerweise Teil einer IoT-Lösung sind, erzwingt Skalierbarkeitsmerkmale, die weniger auf der Leistung als auf der Notwendigkeit beruhen, eine installierte Flotte zu verwalten und zu warten, die durch eine extrem hohe Kardinalität (extrem hohe Anzahl) gekennzeichnet ist. All dies spiegelt sich in der Menge der zu speichernden und zu analysierenden Daten wider.

Das ultimative Ziel von IoT-Lösungen in den verschiedenen Anwendungsfeldern besteht immer darin, Werkzeuge bereitzustellen, die es uns ermöglichen, angesichts eines natürlichen oder künstlichen physikalischen Phänomens zu verstehen, was passiert, warum es passiert und was möglicherweise passieren könnte. Sensoren und Aktoren sind daher die Mittel, die es Ihnen ermöglichen, mit der Umgebung und mit dem physikalischen Phänomen, das Sie kontrollieren möchten, zu interagieren. Es geht also darum, eine Vielzahl von Daten unterschiedlicher Art zu verwalten und zu analysieren, indem man sie aggregiert und aufbereitet, um daraus Informationen abzuleiten, auf deren Grundlage konkrete Aktionen durchgeführt werden können (auf Englisch Umsetzbare Informationen).

Ich fahre fort mit der Bestätigung, dass in den letzten 2-3 Jahren eine Reihe von Katalysatoren verfügbar waren, die die Entwicklung der für die Realisierung von IoT-Lösungen notwendigen Technologien und folglich die Aufmerksamkeit der Industrie auf diese Art von Technologien begünstigt haben ... es ist proportional gewachsen. Inzwischen stellt das Sprechen über IoT-Lösungen weniger ein Experimentieren an der Grenze dar, als vielmehr die Notwendigkeit, sich mit spezifischen Implementierungsproblemen zu befassen.

Unter den Katalysatoren, die zur Einführung von IoT-Lösungen beitragen, können wir erwähnen:

  • die Verfügbarkeit von Sensoren und Aktoren unterschiedlicher und unterschiedlicher Art;
  • das Angebot der wichtigsten Anbieter von Cloud-Lösungen von Plattformen, die für diese Umgebung bestimmt sind und mit Primitiven ausgestattet sind, die auf einige der spezifischen Merkmale dieser Art von Anwendungen ausgerichtet sind;
  • die Verfügbarkeit spezialisierter Kommunikationsprotokolle, die die im IoT-Bereich erforderlichen Besonderheiten (Kardinalität, Belastbarkeit, Zuverlässigkeit) unterstützen können.

Bevor auf die Analyse einer IoT-Lösung und zugehöriger technologischer Komponenten eingegangen wird, lohnt es sich, ein paar Worte zum Konzept der Sensoren und Aktoren zu verlieren, die die grundlegenden Elemente einer solchen Lösung darstellen.

Die Sensoren

Sensoren sind Hardwarekomponenten, die darauf spezialisiert sind, einen physikalischen Parameter (Temperatur, Druck, Feuchtigkeit, Lichtintensität, ...) zu lesen und die erfassten Daten in digitaler oder analoger Form durch ein Regelwerk (Protokoll) zu übertragen, das es dem Empfänger ermöglicht, sie zu interpretieren korrekt. Ein ganz einfaches Beispiel kann ein Temperaturthermometer sein: Es erzeugt einen in Grad Celsius oder Fahrenheit ausgedrückten Wert, der normalerweise durch Ablesen einer speziellen Gradskala oder einer kleinen Anzeige erfasst wird.

Wenn das Thermometer mit einem Minimum an Logik zur Übertragung dieses Wertes an eine andere Komponente ausgestattet ist, haben wir mit einem entsprechenden Protokoll einen Temperatursensor erstellt. Natürlich können die Sensoren unterschiedlicher Art und sehr komplex sein und mehrere physikalische Größen gleichzeitig erfassen.

Heute gibt es Sensoren, die den Durchgang einer Person durch ein Tor (logisches Tor) erkennen und ihre Richtung (Ein- oder Ausgang) erkennen können, Sensoren, die Barcodes oder Fingerabdrücke erkennen, Sensoren, die den relativen Abstand zwischen zwei Objekten messen können und so weiter . Alle von den Sensoren gesammelten Daten müssen für die weitere Verarbeitung entsprechend codiert werden.

Um auf das Beispiel des Temperatursensors zurückzukommen, muss noch für das Senden bzw. Signalisieren der zugehörigen Maßeinheit gesorgt werden: Celsius oder Fahrenheit. Die vom Sensor erzeugten Daten müssen daher für den Versand und die Weiterverarbeitung geeignet formatiert sein.

Die Aktoren

Während die Sensoren dafür sorgen, dass Daten erfasst und zur weiteren Verarbeitung gesendet werden, ist es auch erforderlich, die Möglichkeit zu haben, nach der durchgeführten Verarbeitung Aktionen durchzuführen, die ausgehend von den von den Sensoren oder einem Steuerungssystem bereitgestellten Daten ausgeführt werden. Dies ist die Aufgabe der Aktoren. Ein einfaches Beispiel kann nach wie vor das Schließen oder Öffnen eines Stromkreises bei Empfang eines bestimmten Befehls sein (ganz banales Beispiel: der Haustüröffner).

Ähnlich wie für Sensoren gesagt, können auch Aktoren komplex und multifunktional sein: Denken Sie beispielsweise an die Notwendigkeit, einen Motor mit einer bestimmten Geschwindigkeit zu drehen oder an die Positionierung eines mechanischen Arms, um einen Inhalt freizugeben (Stromkreisöffnung). Auch in diesem Fall müssen die Aktoren mit primitiven Kommunikationsfunktionen ausgestattet sein, die das Empfangen von Befehlen und die Interpretation ihrer Bedeutung ermöglichen.

Die Kommunikationsprotokolle

Sensoren und Aktoren müssen daher nach dem Gesagten in der Lage sein, Informationen zur Weiterverarbeitung an ein übergeordnetes System zu übertragen und zu empfangen. Beachten Sie, dass die Kommunikation sowohl für Sensoren als auch für Aktoren im Allgemeinen bidirektional sein muss und daher sowohl das Senden als auch das Empfangen von Daten und Befehlen für beide verwaltet werden muss. Beispielsweise kann in einem Sensor eine eindeutige Zeichenfolge definiert werden, die seine Positionierung identifiziert, während ein Aktor in der Lage sein muss, eine Fehleranzeige bereitzustellen, wenn die angeforderte Funktion (Position, Geschwindigkeit, Öffnen / Schließen eines Kontakts ...) ist nicht machbar.

Das Regelwerk und Format, mit dem Sensoren und Aktoren mit einem Verarbeitungssystem (SPS, Gateway, Edge Computer, ...) kommunizieren, bildet das Kommunikationsprotokoll zwischen diesen Instanzen. Das Kommunikationsprotokoll muss eine Reihe von Situationen adressieren, um effektiv zu sein und die Implementierung der beabsichtigten Lösung zu unterstützen.

Einige der Probleme, die durch das Protokoll gelöst werden müssen, sind:

  • So adressieren Sie den spezifischen Sensor / Aktor in einer Installation eindeutig
  • So priorisieren Sie den Zugriff auf das Übertragungsmedium (wer spricht zuerst)
  • Was tun, wenn das Übertragungsmedium besetzt ist (wer spricht)
  • So melden Sie Fehler
  • Formatieren der gesendeten oder empfangenen Daten (z. B. wie viele Bits einer bestimmten Menge zuzuordnen sind)
  • So stellen Sie sicher, dass die übertragenen Daten während der Übertragung nicht beschädigt werden
  • Usw.

Die Anforderungen, die diese Protokolle erfüllen müssen, umfassen sowohl die Einfachheit der Implementierung angesichts der begrenzten Verarbeitungskapazität als auch die Notwendigkeit, den Verbrauch von Batterien der Sensoren und Aktoren zu reduzieren. Die Protokolle werden dann auf unterschiedlichen Übertragungsmedien zur Verfügung gestellt: von der klassischen Kupferpaarung bis hin zu drahtlosen Verbindungen auf nicht lizenzierten Bändern (ISM-Bändern). Ein gemeinsames Merkmal dieser Protokolle ist die begrenzte Bandbreite, die für die Datenübertragung aufgrund der Einfachheit der übertragenen Daten benötigt wird.

Im IoT-Bereich gibt es verschiedene proprietäre und standardisierte Kommunikationsprotokolle, darunter erinnern wir uns an IO-Link, ModBus, LoraWAN, En-Ocean, die letzten beiden auf Funkübertragungsmedium.

Die Architektur einer IoT-Lösung

Offensichtlich endet eine IoT-Lösung nicht mit der alleinigen Verfügbarkeit von Sensoren und Aktoren, sondern erfordert das Vorhandensein und die Koordination einer Reihe von Komponenten, die es ermöglichen, aus den Daten Entscheidungsinformationen (Actionable Information) zu extrahieren.

Die Abbildung schematisiert die verschiedenen Komponenten einer IoT-Implementierung.

Von links nach rechts gehend sehen Sie die Sensoren und Aktoren, die für die Erfassung der Daten und für jede Änderung der kontrollierten Umgebung verantwortlich sind. Die Übertragungsprotokolle ermöglichen es, diese Daten in intelligenten Geräten zu konsolidieren, die sich je nach den Eigenschaften des zu erstellenden Systems erheblich in der erforderlichen Verarbeitungskapazität unterscheiden.

Sagen wir gleich, wenn in kürzester Zeit (nahezu Echtzeit) keine Antwort vom Gesamtsystem benötigt wird, werden die Daten durch ein Edge Gateway konsolidiert1 eine begrenztere Kapazität als ein Edge-Computer, der eine hochentwickelte lokale Verarbeitung bereitstellen kann.

Die so konsolidierten, normalisierten und entsprechend formatierten Daten werden dann an eine Cloud-Anwendung übertragen, die die interessierenden Informationen extrahiert. Auch in diesem weiteren Übertragungsschritt sind die Eigenschaften des Kommunikationsprotokolls, mit dem die Daten an den Anwendungsbereich in der Cloud weitergeleitet werden, grundlegend. Im Vergleich zur Übertragung vom Sensor / Aktor zum / vom Edge-Gerät gibt es hier jedoch einen wesentlichen und wichtigen Unterschied: Alle verwendeten Protokolle (MQTT, AMPQ, OPC UA, ...) basieren auf einem einzigen gemeinsamen Nenner, der durch das IP-Protokoll repräsentiert wird, auf dem die zuvor identifizierten Protokolle dann auf einer höheren Ebene unterstützt werden.

Im Anwendungsbereich stellen die Server oder die entsprechenden Cloud-Dienste die notwendigen primitiven Funktionen zur Speicherung, Verarbeitung und Darstellung der aus den erfassten Daten extrahierten Informationen bereit.

Es sollte auch berücksichtigt werden, dass die wichtigsten Cloud-Dienstleister heute spezialisierte Plattformen für den IoT-Bereich anbieten, die eine Reihe primitiver Funktionen bieten, die darauf abzielen, den Implementierungsprozess zu vereinfachen und die Installations-, Konfigurations- und Verwaltungsanforderungen von Edge- und Gateway-Geräten zu erfüllen.

Für die Realisierung von Implementierungen mit sehr hohen Zeitanforderungen ist, wie gesagt, eine notwendige Klärung der Edge-Computing-Funktionalitäten erforderlich. Dies ist bei Steuerungslösungen für kritische Systeme der Fall, bei denen die Verzögerung (und ggf. Die lokale Verarbeitung ersetzt daher die Cloud-Verarbeitung, deren Algorithmen und historische Daten genutzt werden können.

Zusammenfassend besteht die technologische Kette einer IoT-Implementierung daher aus einer sicherlich hohen Anzahl von Komponenten, die sich jedoch in drei Hauptkategorien aggregieren lassen:

  1. Die Sensoren / Aktoren, die für die Interaktion mit der zu erstellenden oder zu steuernden Umgebung verantwortlich sind
  2. Edge-Geräte, die Daten konzentrieren, normalisieren und an Anwendungsverarbeitungssysteme übertragen
  3. Anwendungen, die verwertbare Informationen aus Daten extrahieren und durch entsprechende Präsentation verfügbar machen.

Trotz der scheinbaren Einfachheit der Lösungen sind die kritischen Aspekte, die im Detail analysiert werden müssen, zahlreich: Insbesondere die Sicherheitsaspekte verdienen besondere Aufmerksamkeit.

Sicherheit in IoT-Kreationen

Wie jedes System. ICT-Sicherheit spielt auch bei IoT-Kreationen eine grundlegende Rolle. Daher gilt es, kritische Punkte und spezifische Komponenten zu identifizieren, die bei der Planung einer Sicherheitsstrategie im IoT-Bereich berücksichtigt werden müssen.

In Anlehnung an die zuvor identifizierte Technologiekette lassen sich ausgehend von Sensoren und Aktoren einige Überlegungen anstellen.

Dies sind in der Regel relativ einfache Komponenten, die sich durch eine begrenzte Verarbeitungskapazität auszeichnen, um den Verbrauch etwaiger Stromversorgungsbatterien zu reduzieren. Die Größen, auf die Sensoren / Aktoren eingreifen müssen, werden durch einen Zahlenwert (Temperatur, Druck, Drehung eines Schrittmotors ...) oder digital (ein / aus, offen / geschlossen, ...) dargestellt, der eine bestimmte Bedeutung erhält im globalen Kontext der betrachteten Lösung.

Wir können feststellen, dass der Wert der SINGLE-Daten daher begrenzt und von geringem Interesse ist: Die Perspektive ist völlig anders, wenn es um die Datenmenge geht, die dann korreliert werden kann. In jedem Fall sind die Sensoren / Aktoren mit einem Firmware relativ einfach und sehr oft nicht aufrüstbar.

Daher muss eine erste Sicherheitsbewertung der Firmware des Geräts und dann auf das Kommunikationsprotokoll, das die Weiterleitung von Daten an das Edge-Gerät ermöglicht. Beachten Sie, dass wir es in diesem Fall mit spezialisierten Protokollen zu tun haben, die in gewisser Weise proprietär sind und für die die Verfügbarkeit von Kompromittierungs- oder Abfangwerkzeugen in jedem Fall begrenzt ist. Dies bedeutet nicht, dass etwaige Gefährdungen der Kompromittierung dieser Protokolle / Übertragungsmedien bewertet werden müssen.

Anders sieht es bei Edge-Geräten aus: In diesem Fall können viele Sicherheitseinbußen möglich sein. Die Firmware des Gerätes basiert in diesem Fall oft auf oder enthält in jedem Fall Komponenten Open Source die Schwachstellen darstellen können: Es ist daher notwendig, sowohl den Verhaltensaspekt des Geräts als auch das mögliche Vorhandensein von ruhenden "Hintertüren" zu bewerten, die in einigen Softwaremodulen vorhanden sein können.

Die Verwendung von IP-basierten Kommunikationsprotokollen eröffnet dann die Möglichkeit von Schwachstellen, die für IP-basierte Umgebungen typisch sind. Glücklicherweise sind diese im Technologiebereich gut verstanden und dokumentiert, und es gibt ausgefeilte Tools, um das Risiko von Kompromissen auf dieser Ebene zu minimieren.

Die wichtigsten Cloud-Lösungen im IoT-Dress bieten heute eine ganze Reihe von Tools, um den Problemen einer sicheren Verbindung zwischen einem Edge-Gerät und der zugehörigen Cloud-Anwendung zu begegnen: Diese Tools sorgen unter anderem für die Verschlüsselung der übertragenen Daten, die gegenseitige Authentifizierung zwischen Anwendungen und Edge-Gerät, die Überprüfung der Integrität der Daten und deren Nicht-Replizierbarkeit. Um die möglichen Schwachstellen einer IoT-Lösung zu vervollständigen, seien diejenigen im Zusammenhang mit der Cloud-Umgebung und den dort installierten Anwendungen und Daten erwähnt, für die es in der Literatur detaillierte Informationen gibt.

Zusammenfassend lässt sich sagen, dass IoT-Lösungen angesichts einer konzeptionellen Einfachheit aufgrund der schematischen Natur der Netzwerkarchitektur andererseits eine Reihe von Komplexitäten aufweisen, die sich aus der hohen Anzahl der beteiligten Geräte und dem daraus resultierenden Bedarf an effektiven Management-Tools ergeben und Probleme der Sicherheit, die auf unterschiedliche Weise in mehreren Punkten der Verwirklichung realisiert werden können, die die Anwendung, Koordination und Verwaltung von Verteidigungsinstrumenten unterschiedlicher Art erfordern. Dies impliziert ein multidisziplinäres Wissen über Technologien und Produkte, das teilweise aus früheren Erfahrungen im IKT-Bereich entlehnt werden kann, wenn es mit der notwendigen Beherrschung der physischen Umgebung (der Objekte) verbunden ist, die Sie kontrollieren und / oder realisieren möchten.

1 Edge Gateway: Dieser Begriff bezeichnet ein Kommunikationsgerät, das in der Lage ist, die über ein bestimmtes Kommunikationsprotokoll empfangenen Informationen zu extrahieren und sie für die Übertragung und Weiterleitung über ein anderes Protokoll entsprechend zu formatieren. Ein Edge Gateway ist beispielsweise in der Lage, den Status eines digitalen Kontakts (EIN / AUS) zu erkennen und diese Informationen entsprechend zu formatieren, sodass sie über das TCP / IP-Protokoll an eine Anwendung auf einem Server übertragen werden können.