Gartner prognostiziert, dass es bis 2020 weltweit 20,8 Milliarden vernetzte Geräte geben wird. Die wachsende Zahl vernetzter Geräte im Internet der Dinge (IoT) bietet Dienstanbietern die Möglichkeit, neue Einnahmequellen zu erschließen. Für Endbenutzer bietet das IoT möglicherweise Lösungen, die die Produktivität und Qualität in den Bereichen Sicherheit, Gesundheit, Bildung und vielen anderen Bereichen drastisch steigern können. Um diese Chance zu nutzen, müssen Dienstanbieter ein optimales Kundenerlebnis bieten und gleichzeitig absoluten Datenschutz, Privatsphäre und Benutzersicherheit gewährleisten.
Diese Vielzahl unterschiedlicher Geräte erhöht jedoch die Sicherheitsrisiken im Netzwerk, da viele davon potenzielle Ziele für Hacker und Denial-of-Service-Angriffe darstellen. IoT-Geräte verfügen oft nur über begrenzte Speicher-, Speicherplatz- und Rechenressourcen. Diese Beschränkungen erschweren es, komplexe und sich weiterentwickelnde Sicherheitsalgorithmen zu unterstützen, da diese mehr Rechenleistung bei einem geringen Verbrauch an CPU-Zyklen verlangen. Vernetzte Geräte bleiben möglicherweise länger im Einsatz als die Verschlüsselung wirksam ist.
Jim Hodges, leitender Analyst bei Heavy Reading, wies in einer Umfrage und einem Bericht vom Februar 2016 zum Thema „Die Zukunft der mobilen Dienstbereitstellung“ darauf hin, dass die größte Sicherheitssorge der Dienstanbieter Ausfälle aufgrund von Distributed-Denial-of-Service- (DDoS-) und Botnet-Angriffen seien. Dieser Angst folgen Bedrohungen im Zusammenhang mit der Systemintegrität, bei denen externe Angreifer den Datenverkehr manipulieren und gleichzeitig die Identität eines Benutzers vortäuschen.
Drei Konzepte sind für die IoT-Sicherheit von grundlegender Bedeutung: Identität, Authentifizierung und Autorisierung. Bei der Identität geht es darum, dem Client einen Namen zu geben und ihm Autorisierung zu erteilen. Unter Authentifizierung versteht man den Nachweis der Identität des Clients und unter Autorisierung die Verwaltung der dem Client eingeräumten Rechte. Um die Erfassung von Gerätedaten für die Echtzeit-Informationsanalyse weiter zu ermöglichen, müssen auch IoT-Kommunikationsprotokolle vereinbart werden.
IoT-Nachrichtenprotokolle sollten die folgenden High-Level-Funktionen umfassen:
Heutzutage ist MQTT (Message Queue Telemetry Transport) das beliebteste IoT-Nachrichtenprotokoll. MQTT wird branchenübergreifend als primäres Transportprotokoll verwendet, darunter Fertigung, Versand-/Vermögensverfolgung, Energie und vernetzte Haushalte . Unternehmen wie IBM, Microsoft, Amazon Web Services und Facebook Messenger nutzen MQTT für die schnelle Nachrichtenübermittlung und um die Akkulaufzeit der Geräte zu verlängern.
Für eine sichere und zuverlässige Kommunikation zwischen Geräten werden IoT-Protokolle wie MQTT verwendet. MQTT basiert auf Transmission Control Protocol (TCP) und kann mit Transport Layer Security (TLS) gesichert werden. Das MQTT-Protokoll wurde mit geringem Rechen- und Speicherbedarf entwickelt und ist mit einer viel einfacheren und kleineren Paketgröße als HTTP für bestimmte IoT- Applications optimiert.
MQTT wurde ursprünglich 1999 für Fernsensoren entwickelt, hat jedoch in verschiedenen IoT- Applications, die auf einem Publish-and-Subscribe-Modell basieren, ein neues Leben gefunden. Geräte/Sensoren „veröffentlichen“ Daten auf einer IoT-Plattform (Broker) und die IoT- Application „abonniert“ dann die Daten, die für ihren Anwendungsfall relevant sind. Die veröffentlichten und abonnierten Daten werden als „Themen“ bezeichnet und können basierend auf Anwendungsfällen und Kategorie des Datentyps in einer hierarchischen Struktur organisiert werden. Konnektivität und Kommunikation zwischen den Geräten und ihrer Plattform beeinflussen die für jeden Anwendungsfall erforderliche Belastung, Kontrolle und Sicherheit.
Um das Protokoll möglichst ressourcenschonend für IoT-Geräte zu halten, bietet MQTT über TCP hinaus nur minimale Sicherheitsmaßnahmen. MQTT empfiehlt, das TLS-Protokoll für Anwendungen einzusetzen, die zusätzliche Authentifizierung erfordern. Deshalb sind MQTT-Kommunikationen, die nur TCP nutzen, unverschlüsselt und anfällig für Man-in-the-Middle-Angriffe.
Das MQTT-Protokoll birgt eine Reihe potenzieller Schwachstellen. Beispielsweise können offene Ports zum Starten von Denial-of-Service-Angriffen (DoS) sowie Pufferüberlaufangriffen über Netzwerke und Geräte hinweg verwendet werden. Abhängig von der Anzahl der angeschlossenen IoT-Geräte und der unterstützten Anwendungsfälle kann die Komplexität der „Themen“-Struktur erheblich zunehmen und Skalierbarkeitsprobleme verursachen. Die Nutzdaten von MQTT-Nachrichten werden binär codiert und die entsprechenden Application/Gerätetypen müssen interoperabel sein. Ein weiterer Problembereich sind Benutzernamen und Passwörter für MQTT-Nachrichten, die im Klartext gesendet werden.
Obwohl es nicht ausdrücklich Teil der MQTT-Spezifikation ist, ist es für IoT-Plattform-Broker üblich geworden, die Client-Authentifizierung mit clientseitigen SSL/TLS-Zertifikaten zu unterstützen. Bei richtiger Umsetzung kann die Transportverschlüsselung mit SSL und TLS Daten schützen. Zum Schutz vor Bedrohungen sollten vertrauliche Daten wie Benutzer-IDs, Passwörter und alle anderen Arten von Anmeldeinformationen immer verschlüsselt werden.
Der Nachteil bei der Verwendung von TLS, SSL und anderen Verschlüsselungsmethoden besteht darin, dass sie einen erheblichen Mehraufwand verursachen können. Allerdings können Techniken wie die Wiederaufnahme einer TLS-Sitzung einige der Verbindungskosten von TLS kompensieren. Die Hardwarebeschleunigung ist eine weitere Methode, um den Größennachteil bei der Verschlüsselung zu verringern. Für komplexe Applications auf eingeschränkten Geräten kann eine optimierte Verschlüsselungsbibliothek sehr nützlich sein. Bei großem Application kann eine Verschlüsselungsbibliothek den Verarbeitungsspeicher reduzieren und die Leistung steigern.
Die MQTT-Architektur setzt auf hochverfügbare Broker. Wenn viele Clients Broker-Dienste wie Datenbankabfragen oder Webservice-Aufrufe nutzen, spart die Nutzung von X.509-Zertifikaten zur Client-Authentifizierung Serverressourcen auf Broker-Seite. Die Kombination von MQTT mit bewährten Sicherheitsstandards wie TLS und der Einsatz von X.509-Zertifikaten steigert sowohl Sicherheit als auch Leistung.
Für Dienstanbieter stellt das IoT eine wichtige neue Geschäftsmöglichkeit dar. Obwohl die Sicherung des MQTT-Messaging-Protokolls mit TLS ein wichtiger Sicherheitsaspekt ist, können auch viele andere Angriffsmethoden ausgenutzt werden. Dienstanbieter müssen durch strenge Geräteauthentifizierung, Autorisierung und netzwerkbasierte Richtlinien für den Zugriff auf Kommunikationspfade eine End-to-End-Sicherheit gewährleisten. Die Verschlüsselung von Daten aus Sicherheits- und Datenschutzgründen ist auch für die Einnahmequellen von Dienstanbietern von entscheidender Bedeutung, wenn es darum geht, ein optimales Kundenerlebnis zu gewährleisten.