Die Vernetzung von Geräten innerhalb einer Mesh-Topologie erfordert ein neues Verständnis in der Arbeit mit Bluetooth. Das wird besonders in puncto Sicherheit offensichtlich, denn alle Sicherheitsfunktionen innerhalb der Mesh-Vernetzung sind obligatorisch. So werden sämtliche Nachrichten stets verschlüsselt und authentifiziert; Netzwerk-, Anwendungs- und Gerätesicherheit unabhängig voneinander behandelt; Sicherheitsschlüssel bei Bedarf per Key-Refresh-Verfahren geändert; Nachrichten verschleiert, um deren Nachverfolgung zu erschweren; Replay-Attacken abgewehrt; Geräte über ein sicheres Verfahren als Knoten zum Mesh-Netzwerk hinzugefügt; Knoten sollen bei Bedarf sicher aus dem Netzwerk entfernt werden.
Diese Sicherheitsarchitektur beginnt schon in einem mehrstufigen Prozess, mit dem ein Gerät in das Netzwerk eingebunden wird. Bei diesem Vorgang weist der „Provisioner“ (Mittler) – meist ein Smartphone oder Tablet – einem neuen Gerät einen Sicherheitsschlüssel zu. Alle Knoten besitzen damit mindestens diesen Netzwerkschlüssel (NetKey), der sie als Mitglied des Netzwerks ausweist. Um mögliche Gefahrenpotenziale voneinander zu trennen, gibt es bei der Bluetooth-Mesh-Vernetzung drei Arten von Sicherheitsschlüsseln. Dient zum Beispiel eine Leuchte als Relay-Knoten, könnte sie Nachrichten weiterleiten, die das Sicherheitssystem für die Türen beeinträchtigen. Mit dem Netzwerkschlüssel kann sie bis zur Netzwerkschicht sämtliche Daten entschlüsseln und authentifizieren, um die Nachricht korrekt weiterzuleiten. Anwendungsdaten kann sie dagegen nicht einsehen. Das können nur Knoten, die über den entsprechenden Anwendungsschlüssel (AppKey) verfügen. In der Regel besitzen nur diejenigen Knoten, die an einer bestimmten Anwendung teilnehmen, einen gemeinsamen AppKey. Zusätzlich besitzt jeder Knoten einen individuellen Device Key (DevKey), der ansonsten nur dem Provisioner-Gerät bekannt ist. Damit wird die Kommunikation zwischen Provisioner und Knoten geschützt.
Spezielle Funktionen wurden implementiert, um auch ungewöhnliche Angriffsszenarien abzuwehren. Wenn zum Beispiel ein Gerät aufgrund einer Fehlfunktion entfernt wurde, könnten sich die darin enthaltenen Schlüssel auslesen und für einen Angriff auf das Netzwerk verwenden lassen. Daher fügt die Provisioner-Anwendung im Bluetooth-Mesh-Netzwerk den entfernten Knoten zu einer Blacklist hinzu. Anschließend werden alle Schlüssel im Netzwerk erneuert, wodurch das ausgemusterte Gerät nicht mehr länger Teil des Mesh-Netzes ist. Bei einem Replay-Angriff werden Nachrichten abgefangen und später erneut gesendet, um eine nicht erlaubte Aktion durchzuführen. Zum Beispiel könnte ein Angreifer versuchen, die Nachrichten zu scannen, um eine gesicherte Tür zu öffnen. Um dies zu verhindern, nutzt die Bluetooth-Mesh-Vernetzung variable Paketinhalte unter Verwendung von Sequenznummern. Zudem wird ein vom NetKey abgeleiteter Datenschutzschlüssel eingesetzt, um sensible Daten zu verschleiern. Damit lassen sich Geräte und Nutzer nicht über Lauschangriffe ausspionieren. Dies soll auch Angriffe auf Basis einer Traffic-Analyse erschweren.
Kommunikation im Mesh-Netz
In einem Mesh-Netzwerk läuft die gesamte Kommunikation „nachrichtenorientiert“ ab. Dabei sind die einzelnen Nachrichtentypen durch einen eigenen Befehlscode definiert. Geräte können Nachrichten „veröffentlichen“, also an andere Knoten versenden oder „abonnieren“, also empfangen. Im Gegensatz zu einem WLAN-Netzwerk mit einem zentralen Router verwendet Bluetooth Mesh für den Versand von Nachrichten eine Technik, die „Managed Flooding“ genannt wird. Dabei werden Nachrichten, die von einem Knoten veröffentlicht werden, nicht direkt zu einem oder mehreren spezifizierten Knoten geleitet. Vielmehr empfangen alle Knoten alle Nachrichten von Knoten, die sich im direkten Funkbereich befinden, und leiten diese weiter, falls sie entsprechend konfiguriert sind. So empfangen auch andere Knoten, die weiter weg sind, die Nachricht des Ursprungknotens.
Eine wichtige Konsequenz des Managed Floodings ist, dass Nachrichten im Netzwerk ihre Ziele über mehrere Pfade erreichen. Dies steigert die Zuverlässigkeit der Vernetzung deutlich und ist der Hauptgrund für die Entscheidung, bei der Entwicklung der Bluetooth-Mesh-Vernetzung auf den Flooding-Ansatz statt auf Routing zu setzen.