Mit MQQ und TLS in die Cloud

Eine sichere IoT-Cloud-Anwendung realisieren

Wie auch immer das IoT konfiguriert sein wird – es wird Mengen mit Mikrocontrollern bestückter Geräte geben, die über große Bereiche verteilt und mit Cloud-basierten Daten-Hubs verbunden sind. Hierfür benötigen die Ingenieure ein Verbindungs-Protokoll, das kompakt, einfach, robust und sicher ist. 

. Ablauf einer einfachen Publish/Subscribe-Operation (Bild: HCC-Embedded)

Ablauf einer einfachen Publish/Subscribe-Operation (Bild: HCC Embedded)

Ein erstklassiger Kandidat, der diese Eigenschaften mitbringt, ist MQTT (Message Queue Telemetry Transport). Dieses einfache Protokoll erlaubt es eingebetteten Geräten, Nachrichten in der Cloud zu publizieren und zu empfangen. Es zeichnet sich gegenüber anderen Protokollen wie etwa HTTP durch einen geringen Paket-Overhead aus, wodurch es sehr effizient ist und sich für die Verwendung in stromsparenden Umgebungen anbietet. Um die Übertragung von MQTT-Nachrichten sicher zu machen, wird TLS (Transport Layer Security) benutzt. TLS ist der Standard für die sichere Kommunikation per Internet und kommt beim Surfen im Internet ebenso zum Einsatz wie bei Email und anderen Anwendungen. TLS sorgt auf folgende Weise für eine sichere Kommunikation:

• Authentisierung der an der Kommunikation beteiligten Parteien, um die Identität der Beteiligten zu verifizieren

• Verschlüsselung der Kommunikation, um sicherzustellen, dass die Nachrichten von keinem Dritten verstanden werden können

• Garantie der Verbindungssicherheit zwischen zwei Knoten, wodurch es sich für den Einsatz mit einer Client-Server-Technologie wie MQTT eignet.

MQTT im Überblick

Das Publish/Subscribe-System von MQTT besteht aus vielen Clients, die mit einem als Broker (Makler) fungierenden Server verbunden sind. Ein Client ist sowohl Produzent als auch Konsument von MQTT-Daten. Bild 1 zeigt den Ablauf einer einfachen MQTT-Publish/Subscribe-Transaktion. Das MQTT-Messaging-Protokoll wurde auf der Basis einiger Grundprinzipien gestaltet:

• Ein Message Broker fungiert als Mittler zwischen einem Publisher (Veröffentlicher) eines Topics und einem Subscriber (Abonnent) dieses Topics. Er ist ein Server und bildet das zentralisierte System, über das die Client-Daten übertragen werden.

• Ein Subscriber kann ein oder mehrere Topics ‚abonnieren‘.

• Eine veröffentlichte Nachricht kann an mehrere Subscriber versendet werden, die am Empfang von Informationen zu einem Topic interessiert sind.

• Ein Subscriber kann Nachrichten von mehreren Publishern empfangen.

• Ein Subscriber kann das Abonnement eines Topics jederzeit aufheben.

Die MQTT-Version 3.1 erlaubt die Verwendung eines Benutzernamens und eines Passworts in einem Paket, um einem Client die Möglichkeit zu geben, sich beim Broker zu authentisieren. Ein Client veröffentlicht mit einem von der Applikation definierten ‚Topic‘ frei formatierte Daten an einen Broker, und der Broker überträgt diese Daten anschließend an all jene Clients, die dieses Topic abonniert haben. Die Verwendung von Wildcards macht es möglich, mit einer einzigen Subskription Daten von mehreren Clients zu empfangen. Ebenso können Daten aus einer Publish-Aktion an mehrere Clients weitergeleitet werden. Bild 2 zeigt exemplarisch, wie ein Mobiltelefon mit einem entfernten Auto kommunizieren könnte, um eine Fahrzeugtür zu verriegeln.

• Die auf dem Smartphone des Anwenders laufende App fordert das Auto auf, die Türverriegelung das Topic ‚Message_Car001‘ abonnieren zu lassen.

• Der Broker erhält eine Anfrage.

• Car001 erhält durch Subskription die Nachricht.

• Das Auto verriegelt die Tür und sendet eine Bestätigungsmeldung.

• Die App erhält die Bestätigung.

Die Nutzdaten der Nachricht enthalten die Anweisung zum Verriegeln der Tür. Über dasselbe Publish/Subscribe-System kann außerdem eine ganze Reihe weiterer Befehle versendet werden.

Verwendung von MQTT zum Steuern und Überwachen eines Kfz-Türverriegelungssystems (Bild: HCC-Embedded)

Verwendung von MQTT zum Steuern und Überwachen eines Kfz-Türverriegelungssystems (Bild HCC Embedded)

Eine sichere IoT-Cloud-Anwendung realisieren
Bild: HCC-Embedded


Das könnte Sie auch interessieren

Deutsche Autobranche meidet Start-ups

Fahrassistenzsysteme, Elektromobilität oder autonome Fahrzeuge: In kaum einer Branche prägen digitale Innovationen bereits heute so stark den Markt und werden für so gravierende Veränderungen in der Zukunft sorgen wie in der Automobilbranche. Dennoch macht derzeit mehr als jeder zweite Automobilhersteller bzw.

Schulkinder programmieren spielerisch

Ein spielerischer Zugang zur digitalen Welt für Schulkinder ab der 3. Klasse – das ist die Mission des vom Bundesministerium für Wirtschaft und Energie geförderten Projekts Calliope. Konkret erhalten Schulklassen in bundesweiten Pilotprojekten kostenlos die sternförmige Platine Calliope mini.

LTE Cat. NB1 eignet sich für viele IoT-Anwendungen, die nur hin und wieder kleine Datenmengen verschicken. SE Spezial-Electronic, u-blox und die Deutsche Telekom laden Interessenten zu einem Workshop ein, um sich auf unterschiedlichen Ebenen über den aktuellen Stand von NB-IoT zu informieren.

Anzeige
Samsung vereint IoT Services

Unter dem Namen ‚Smartthings Cloud‘ will Samsung zukünftig all seine IoT-Produkte bündeln. Das Unternehmen betreibt derzeit mit Samsung Connect, Artik, Smartthings und Harman Ignite vier verschiedene IoT-Plattformen.

Microsoft und AWS stellen Deep-Learning API vor

Amazon Web Services (AWS) und Microsoft haben Gluon, eine Deep-Learning-Bibliothek vorgestellt, die den Zugang von Entwicklern zu Machine Learning vereinfachen soll.‣ weiterlesen

Das IIC und EdgeXFoundry haben eine Zusammenarbeit angekündigt.‣ weiterlesen