MQTT-Sicherheit

Zero Trust IoT: Zero-Trust-Prinzipien auf MQTT-Messaging anwenden

Zero Trust im IoT bedeutet: Kein Gerät und kein Netzwerk gilt standardmäßig als vertrauenswürdig. So wenden Sie Identität, Least Privilege, Verschlüsselung und kontinuierliche Verifizierung auf MQTT-Messaging an.

Zero-Trust-IoT-Diagramm, in dem jedes Gerät seine Identität über TLS nachweist, bevor ein MQTT-Broker minimal berechtigten Zugriff gewährt
Probieren Sie es auf Ihrem eigenen MQTT-Broker ausHolen Sie sich im Free-Tarif einen privaten, verwalteten MQTT-Broker und starten Sie mit fertigen Codebeispielen.
Kostenlos testen Codebeispiele Keine Kreditkarte erforderlich

Zero Trust IoT wendet eine einfache Regel auf vernetzte Geräte an: Kein Gerät, kein Netzwerk und keine Nachricht gilt allein aufgrund seines Standorts als vertrauenswürdig. Dieser Artikel übersetzt Zero-Trust-Prinzipien in konkrete MQTT-Designentscheidungen zu Geräteidentität, Least Privilege, verschlüsseltem Transport und kontinuierlicher Verifizierung und zeigt, wo ein verwalteter MQTT-Broker als eine Schicht ins Bild passt. Am Ende haben Sie eine gestufte Checkliste, die Sie auf eine bestehende Geräteflotte anwenden können.

Was Zero Trust für das IoT bedeutet

Zero Trust ist ein Architekturansatz, der zum Beispiel in NIST SP 800-207 beschrieben wird. Er ersetzt das Denken in „vertrauenswürdigen internen Netzwerken“ durch Entscheidungen pro Anfrage auf Basis von Identität und Kontext. Die Kernideen:

  • Niemals aufgrund des Netzwerkstandorts vertrauen. Wer im Fabrik-LAN oder im VPN ist, ist dadurch noch kein vertrauenswürdiger Client.
  • Explizit verifizieren. Jede Verbindung authentifiziert sich mit einer starken, eindeutigen Identität.
  • Least Privilege. Jede Identität erhält nur den Zugriff, den sie braucht, und nur so lange, wie sie ihn braucht.
  • Von einer Kompromittierung ausgehen. Das Design sorgt dafür, dass ein kompromittiertes Gerät oder Konto nur begrenzten Schaden anrichtet.
  • Kontinuierliche Verifizierung. Das Verhalten nach dem Login wird beobachtet, auf Anomalien wird reagiert.

Im IoT werden diese Prinzipien gleichzeitig schwieriger und wichtiger. Geräte sind zahlreich, physisch zugänglich, bei CPU und Speicher eingeschränkt und können oft keine Agents ausführen oder häufige Updates erhalten. Dafür kommunizieren sie in engen, vorhersehbaren Mustern, wodurch Anomalien leichter auffallen.

Warum MQTT gut zu Zero Trust passt

MQTT bringt mehrere Eigenschaften mit, die zum Zero-Trust-Design passen:

  • Jeder Client authentifiziert sich an einem Punkt, dem Broker, der als natürlicher Policy Enforcement Point dient.
  • Clients bauen ausgehende Verbindungen auf, sodass Geräte keine lauschenden Ports brauchen, die aus dem Netzwerk erreichbar wären.
  • Topics bilden eine Hierarchie, die Zuständigkeiten und Berechtigungen abbilden kann.
  • Der Verbindungsstatus ist beobachtbar, einschließlich Last-Will-Nachrichten, wenn Geräte die Verbindung verlieren.

Der Broker ist nicht die gesamte Architektur. Er ist ein Durchsetzungspunkt unter mehreren, neben Gerätehärtung, Netzwerkkontrollen und Prüfungen auf Anwendungsebene. Zur Rolle des Brokers lesen Sie, was ein MQTT-Broker leistet.

Zero-Trust-Prinzipien auf MQTT-Kontrollen abbilden

Prinzip MQTT-Kontrolle Hinweise
Starke Identität Eindeutige Zugangsdaten oder Client-Zertifikate pro Gerät Keine geteilten Konten; Client ID an die Identität gebunden
Explizit verifizieren Authentifizierung bei jeder Verbindung; TLS mit Serverprüfung Auch Clients müssen den Broker verifizieren
Least Privilege Identitäten auf eigene Topics beschränkt; getrennte Tenants für getrennte Vertrauensdomänen Publish- und Befehlsidentitäten trennen
Alles verschlüsseln TLS 1.2/1.3 auf 8883 oder WSS auf 8084 Payload-Verschlüsselung für Ende-zu-Ende-Anforderungen
Von Kompromittierung ausgehen Widerrufbare Zugangsdaten, Rate Limits, begrenzter Schadensradius Die Kompromittierung eines Geräts bleibt lokal
Kontinuierliche Verifizierung Überwachung des Verbindungsstatus, Erfassung fehlgeschlagener Logins, Raten-Anomalien Alarme führen zu Maßnahmen
Mikrosegmentierung Getrennte Broker oder Tenants pro Umgebung und Vertrauenszone Produktion wird nie mit Test geteilt

Geräteidentität: das Fundament

Bei Zero Trust ersetzt die Identität den Netzwerkstandort als Grundlage für Zugriffsentscheidungen. Für MQTT-Geräte bedeutet das:

  1. Eine Identität pro Gerät. Mit geteilten Zugangsdaten lässt sich weder ein einzelnes Gerät widerrufen noch Verhalten zuordnen.
  2. Gebundene Kennungen. Eine Client ID sollte an ihre Zugangsdaten gebunden sein, damit die Kenntnis einer ID nicht ausreicht, um ein Gerät zu imitieren. Bei ConnectMQ sind Client IDs an die ausgestellten Zugangsdaten gebunden.
  3. Geschützte Geheimnisse. Speichern Sie Zugangsdaten in Secure Elements, verschlüsseltem Flash oder Secret Stores des Betriebssystems, sofern verfügbar; siehe MQTT-Zugangsdaten auf Geräten sicher speichern.
  4. Sicheres Provisioning. Bringen Sie Identitäten auf Geräte, ohne sie bei der Übertragung oder in der Versionskontrolle preiszugeben; sicheres Provisioning von IoT-Geräten beschreibt passende Muster.
  5. Rotation und Widerruf. Planen Sie, wie Sie Zugangsdaten in der gesamten Flotte austauschen, bevor Sie es müssen.

Client-Zertifikate (Mutual TLS) bieten eine starke, hardwarefreundliche Identität, sofern der Broker sie unterstützt. Benutzername und Passwort sind eine praxistaugliche Basis, wenn sie pro Gerät eindeutig sind und nur über TLS übertragen werden.

Least Privilege auf dem Message-Bus

Least Privilege stellt die Frage: Was könnte dieses Gerät tun, wenn es von einem Angreifer kontrolliert würde?

  • Ein Temperatursensor sollte nur auf sein eigenes Telemetrie-Topic publizieren können und sonst nichts.
  • Ein Dashboard sollte nur die Daten lesen, die es anzeigt.
  • Ein Befehlsdienst sollte nur auf Befehls-Topics schreiben, und Geräte sollten prüfen, was sie empfangen.
  • Test- und Entwicklungs-Clients sollten sich nie mit der Produktion verbinden.

In Industrie-4.0-Umgebungen hilft hier ein Unified Namespace (UNS), dessen Topic-Struktur der ISA-95-Hierarchie folgt (Enterprise → Site → Area → Line → Cell), etwa acme/werk-stuttgart/montage/linie-1/zelle-3/temperatur. Weil Werk, Bereich und Linie im Topic-Pfad stehen, lassen sich Berechtigungen und Vertrauenszonen entlang derselben Grenzen schneiden, die auch die OT-Organisation kennt. Mehr zur Struktur lesen Sie im Beitrag zu Sparkplug B und Unified Namespace.

Selbst gehostete Broker können das mit ACLs pro Topic ausdrücken. Wo ein Broker keine Regeln pro Topic anbietet, erreicht Segmentierung dasselbe Ziel auf gröberer Ebene: getrennte Broker oder Tenants für Produktion, Staging und jede Vertrauensdomäne. ConnectMQ erzwingt Mandantenisolation, und Dedicated- und BYOC-Deployments fügen eine Trennung auf Infrastrukturebene hinzu. Kombinieren Sie das mit Validierung auf Anwendungsseite, damit einer Nachricht nie nur deshalb vertraut wird, weil sie auf dem richtigen Topic eingetroffen ist.

Den Kanal verschlüsseln und authentifizieren

Zero Trust geht davon aus, dass das Netzwerk feindlich ist. Jede MQTT-Verbindung sollte TLS verwenden, und jeder Client sollte Serverzertifikat und Hostnamen prüfen. Eine Verbindung, die zwar verschlüsselt, aber nicht verifiziert, kann abgefangen werden. Ein minimales MQTT.js-Beispiel über Secure WebSockets:

import mqtt from "mqtt";

const client = mqtt.connect("wss://YOUR_BROKER_HOST:8084/mqtt", {
  clientId: "YOUR_CLIENT_ID",
  username: "YOUR_USERNAME",
  password: "YOUR_PASSWORD",
  protocolVersion: 5,
  rejectUnauthorized: true, // Zertifikatsprüfung niemals deaktivieren
  reconnectPeriod: 5000,
});

client.on("connect", () => {
  client.subscribe("connectmq/site1/dashboard/#", { qos: 1 });
});

client.on("message", (topic, payload) => {
  // Jeden Payload als nicht vertrauenswürdige Eingabe behandeln
  try {
    const data = JSON.parse(payload.toString());
    if (typeof data.value !== "number") return;
    console.log(topic, data.value);
  } catch {
    console.warn("rejected malformed payload on", topic);
  }
});

ConnectMQ stellt TLS auf 8883 und Secure WebSockets auf 8084 mit einem Let's-Encrypt-Zertifikat bereit, sodass Standard-Clients es ohne eigene CA-Dateien verifizieren. Details zu Client-Optionen finden Sie unter MQTT-TLS-Konfiguration. Wenn Daten selbst gegenüber Zwischenstationen vertraulich bleiben müssen, ergänzen Sie MQTT-Payload-Verschlüsselung.

Kontinuierliche Verifizierung

Die Authentifizierung beim Verbindungsaufbau ist eine Momentaufnahme. Kontinuierliche Verifizierung prüft fortlaufend, ob das Verhalten den Erwartungen entspricht:

  • Verbindungsstatus: Abonnieren Sie $SYS/broker/connection/{clientId}/state auf dem Broker oder nutzen Sie Last-Will-Nachrichten, um zu sehen, wann Geräte kommen und gehen.
  • Fehlgeschlagene Logins: Wiederholte Fehlversuche deuten auf Raten oder Fehlkonfiguration hin. ConnectMQ blockiert IPs nach wiederholten fehlgeschlagenen Logins.
  • Raten-Anomalien: Ein Sensor, der jede Minute meldet und plötzlich alle 100 ms publiziert, ist entweder defekt oder kompromittiert. Quotas mit Reason Code 0x97 und Flood Protection begrenzen den Schaden.
  • Payload-Anomalien: Werte außerhalb physikalischer Grenzen verdienen einen Alarm. Die Schwellenwert-Alarmregeln und das Alarmprotokoll von ConnectMQ helfen dabei.
  • Reaktion: Legen Sie im Voraus fest, wer Zugangsdaten widerruft und wie schnell.

Von Kompromittierung ausgehen: den Schadensradius begrenzen

Gestalten Sie das System so, als würde ein Gerät kompromittiert:

  • Eindeutige Zugangsdaten, damit Sie genau dieses Gerät widerrufen können.
  • Enger Topic-Umfang, damit es die Daten der Flotte nicht lesen kann.
  • Befehle werden auf der Empfängerseite validiert, damit ein gefälschter Befehl kein unsicheres Verhalten auslöst.
  • Rate Limits, damit es den Broker nicht fluten kann.
  • Getrennte Tenants, damit ein Einbruch in einer Umgebung keine andere erreicht.

Eine gestufte Zero-Trust-IoT-Checkliste

Sie müssen nicht alles auf einmal umsetzen. Arbeiten Sie diese Stufen ab:

  1. Transparenz: Inventarisieren Sie jedes Gerät, seine Client ID und was es publiziert und abonniert.
  2. Verschlüsselung: Stellen Sie den gesamten internetseitigen Verkehr auf TLS mit Zertifikatsprüfung um.
  3. Identität: Ersetzen Sie geteilte Konten durch eindeutige, widerrufbare Zugangsdaten pro Gerät.
  4. Segmentierung: Trennen Sie Broker oder Tenants für Produktion, Staging und Test.
  5. Least Privilege: Schränken Sie die Topics jeder Identität ein; trennen Sie Befehlsidentitäten.
  6. Validierung: Validieren Sie jeden Payload bei den Subscribern.
  7. Monitoring: Überwachen Sie Verbindungsstatus, fehlgeschlagene Logins und Raten-Anomalien mit Alarmen.
  8. Reaktion: Dokumentieren und üben Sie den Widerruf von Zugangsdaten.

Diese Stufen unterstützen auch verwandte Frameworks wie IEC 62443 für MQTT. Für Unternehmen in der EU sind sie zudem eine solide Grundlage für die Anforderungen aus NIS2 und dem EU Cyber Resilience Act, ersetzen aber keine Prüfung, welche Pflichten im Einzelfall gelten. Zur allgemeinen Härtung lesen Sie die Best Practices für MQTT-Sicherheit.

Ein Zero-Trust-Fundament mit ConnectMQ aufbauen

Ein verwalteter MQTT-Broker liefert Ihnen mehrere Zero-Trust-Bausteine, ohne dass Sie Infrastruktur betreiben müssen: authentifizierte private Broker, TLS als Standard, Mandantenisolation, Quotas, Flood Protection und IP-Blocking. Erstellen Sie einen Broker im kostenlosen Serverless-Plan unter app.connectmq.com, ganz ohne Kreditkarte, und beginnen Sie mit Stufe zwei der Checkliste. Um Deployment-Modelle für eine stärkere Isolation zu vergleichen, lesen Sie den Leitfaden zum Cloud-MQTT-Broker.

Häufig gestellte Fragen

Können ressourcenarme IoT-Geräte wirklich Zero Trust umsetzen?

Ja, in Grenzen. Eindeutige Zugangsdaten, TLS und ein enger Topic-Umfang sind auf Mikrocontrollern wie dem ESP32 machbar, während aufwendigere Kontrollen wie kontinuierliche Verhaltensanalyse auf Broker- und Backend-Seite laufen.

Ist ein VPN mit Zero Trust IoT vereinbar?

Ein VPN kann eine zusätzliche Netzwerkschicht bieten, aber Zero Trust wertet die VPN-Zugehörigkeit nicht als Vertrauensbeweis. Geräte sollten sich trotzdem einzeln authentifizieren und TLS zum Broker nutzen.

Was ist der erste Schritt zu Zero Trust für MQTT?

Alle Verbindungen mit verifiziertem TLS zu verschlüsseln und jedem Gerät eindeutige Zugangsdaten zu geben. Diese beiden Änderungen beseitigen die größten Risiken und ermöglichen die späteren Stufen.

Ersetzt Mandantenisolation Berechtigungen pro Gerät?

Nein. Mandantenisolation trennt Kunden oder Umgebungen, während die Beschränkung pro Gerät festlegt, was jede Identität innerhalb einer Umgebung tun darf. Nutzen Sie beide Ebenen, sofern Ihr Broker sie unterstützt.

Verwandte Artikel

MQTT-Zugangsdaten ohne Ausfallzeit rotieren

Eine Schritt-für-Schritt-Strategie mit zwei parallelen Zugangsdaten, um MQTT-Benutzernamen und -Passwörter in einer Geräteflotte zu rotieren: neue Zugangsdaten bereitstellen, mit Fallback umschalten, prüfen und erst dann die alten widerrufen.

7 Min. Lesezeit

MQTT-Zugangsdaten sicher auf Embedded-Geräten speichern

Ein praxisnaher Vergleich der Möglichkeiten, MQTT-Benutzernamen und -Passwörter auf ESP32- und Linux-Geräten zu schützen, von verschlüsseltem NVS und Flash-Verschlüsselung bis zu Secure Elements und TPM-gestützten systemd-Credentials.

8 Min. Lesezeit

Alle Artikel →

Ihr privater MQTT-Broker ist nur wenige Klicks entfernt

Konto anlegen, Broker-Zugangsdaten erhalten und das erste Gerät verbinden — ohne Server, die installiert, gepatcht oder skaliert werden müssen.