Eine sichere IoT-Cloud-Anwendung realisieren

Dienstqualität (Quality of Service – QoS)

MQTT bietet drei QoS-Levels, die einen Kompromiss bieten zwischen dem Kommunikationsaufwand und der Sicherheit, dass eine Nachricht ankommt. Level 0 bietet nach dem Prinzip ‚Fire and Forget‘ keinerlei Gewähr, dass die gesendete Nachricht zugestellt wird. Level 1 garantiert, dass die Nachricht mindestens einmal ankommt, eventuell aber auch mehr als einmal. Level 2 garantiert, dass die Nachricht genau einmal empfangen wird. Die Entscheidung für eine MQTT-Implementierung mit Unterstützung für alle drei Levels verleiht dem Entwickler die Flexibilität zur Verbesserung gemäß seinen individuellen Datenanforderungen.

End-to-End Security mit TLS

Das MQTT-Protokoll enthält kein Security-Konzept, sondern stützt sich zum Garantieren der Verbindungssicherheit allein auf die Transportschicht. Das TLS-Protokoll richtet zwischen Client und Broker eine abgesicherte Verbindung ein, die anschließend von MQTT genutzt wird. Die Verwendung von TLS ist für den Benutzer des MQTT-API vollkommen transparent, wenn man von der Wahl des zu benutzenden Transportprotokolls (TCP-Portnummer) absieht. Das TLS-Protokoll ist weitreichend konfigurierbar: Client und Broker handeln beim Aufbau der Verbindung ein für beide Seiten akzeptables Security-Level aus. Client und Server können bestimmen, welches Security-Level sie für ihren Datenaustausch minimal akzeptieren. In der Regel authentisiert sich der Server beim Client mithilfe von Zertifikaten, woraufhin beide wichtige Informationen austauschen. Sie einigen sich für die Konversation auf einen geeigneten Verschlüsselungs-Algorithmus (zum Verschleiern der Daten) und einen Hash-Algorithmus (um sicherzustellen, dass die Daten nicht verändert werden). Das tatsächliche Maß an Schutz, das dem Benutzer geboten wird, hängt von den jeweils ausgehandelten Algorithmen ab.

Eine gravierende Schwachstelle der IoT-Sicherheit

Eine bei den Security-Strategien häufig übersehene Schwachstelle ist die Qualität der MQTT-Messaging-Software selbst. Die seit einiger Zeit zu beobachtende Flut gravierender Sicherheitsverletzungen hat ihre Ursache nicht etwa in gehackten Algorithmen, sondern in der unzureichenden Qualität des Quellcodes (meist geht es um die Implementierung des TLS-Protokolls). Vorfälle wie der Heartbleed-Hack zeigen, dass Code von mäßiger Qualität etwaigen Hackern Schlupflöcher öffnen kann. Aus diesen Gründen ist es vorteilhaft, sich für einen Anbieter zu entscheiden, der qualitativ hochwertige Softwareentwicklungs-Prozesse anwendet und dies auch nachweisen kann. HCC Embedded hat ein MQTT-Protokoll implementiert, das auf seinem TLS-Stack und seinem vertrauenswürdigen, MISRA-konformen TCP/IP-Stack aufbaut, und bietet über den gesamten Lebenszyklus Nachweise zur Validierung seiner Qualitätszusagen. HCC kann außerdem basierend auf der MQTT-Spezifikation 3.1.1 ein MQTT-Konformitäts-Statement für jede in Anhang B spezifizierte Anforderung vorlegen. MQTT ist ein kompaktes, vielseitiges Kommunikations-Protokoll, das im Verbund mit einem Security-Mechanismus wie TLS effiziente, zuverlässige und sichere Konnektivität für zahllose kleine Geräte bereitstellen kann. Allerdings sind nicht alle MQTT-Implementierungen gleich. Eine Applikation muss sich auf einer Plattform aus qualitativ hochwertiger, zuverlässiger Software stützen, damit Sicherheit und Zuverlässigkeit gewährleistet sind.

Autor: David Brooks,
Director Sales & Marketing,
HCC Embedded
www.hcc-embedded.com

Seiten: 1 2Auf einer Seite lesen

HCC-Embedded
www.hcc-embedded.com

Das könnte Sie auch Interessieren