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 große Anzahl unterschiedlicher Geräte erhöht jedoch auch die Anfälligkeit des Netzwerks, da viele Geräte möglicherweise zum Ziel von Hackerangriffen und Denial-of-Service-Angriffen werden. Bei IoT-Geräten sind die Speicher-, Speicherplatz- und Rechenressourcen häufig eingeschränkt. Diese Einschränkungen machen die Unterstützung komplexer und sich weiterentwickelnder Sicherheitsalgorithmen zu einer Herausforderung, da diese eine höhere Verarbeitungsleistung bei niedrigen CPU-Zyklen erfordern. Die Wirksamkeit der Verschlüsselung kann bei verbundenen Geräten auch länger anhalten.
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 für ressourcenbeschränkte IoT-Geräte so leicht wie möglich zu halten, bietet MQTT über TCP hinaus nur minimale Sicherheit. MQTT empfiehlt die Verwendung des TLS-Protokolls nur für Applications , die zusätzliche Authentifizierungsebenen erfordern. Daher sind MQTT-Kommunikationen, die ausschließlich auf TCP basieren, 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 Architektur von MQTT hängt von einer hohen Verfügbarkeit der Broker ab. Die Verwendung von X.509-Zertifikaten zur Client-Authentifizierung kann Ressourcen auf der Brokerseite sparen, wenn viele Clients versuchen, Brokerdienste zu verwenden – etwa Datenbanksuchen oder Webdienstaufrufe. Auch die Kombination von MQTT mit modernsten Sicherheitsstandards wie TLS und die Verwendung von X.509-Zertifikaten kann zur Verbesserung von Sicherheit und Leistung beitragen.
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.