Bluetooth Mesh Teilnetz-Überbrückung
Technischer Überblick
1.2.1 Bereichsabgrenzung und Sicherheit
1.2.2 Flächenisolierung und Netzeffizienz
1.3 Replay-Angriffe und fortlaufende Nummern
1.4 Eine Bewertung der Teilnetze in Bluetooth® Mesh 1.0
2.1.1 Aktivieren der Subnetzüberbrückung
2.1.2 Der Zustand der Brückentabelle
2.1.3 Teilnetzüberbrückung und Sicherheit
2.1.4 Subnet Bridging in Aktion
2.1.5 Teilnetzüberbrückung und gerichtete Weiterleitung
Freigabe : | 1.0.0 |
Dokument Version : | 1.0 |
Zuletzt aktualisiert : | 19. September 2023 |
Die Autoren : |
Martin Woolley, Bluetooth SIG |
Version |
Date |
Author |
Changes |
1.0.0 |
September 19, 2023 |
Martin Woolley, Bluetooth SIG |
Initial version |
Hinweis Die Bluetooth Mesh Profilspezifikation wurde umbenannt und heißt jetzt Bluetooth Mesh Protokoll Spezifikation. Referenzen in diesem und verwandten Papieren werden diesen Namen verwenden, wenn sie sich auf die Spezifikation der Version 1.1 beziehen, aber weiterhin die Spezifikation der Version 1.0 als Bluetooth Mesh Profil Spezifikation. |
1. Hintergrund
Subnet Bridging wurde in Version 1.1 der Bluetooth® Mesh Protokollspezifikation eingeführt. Um die Möglichkeiten und Vorteile von Bluetooth Mesh Subnet Bridging vollständig zu verstehen, ist es notwendig, bestimmte Aspekte von Bluetooth Mesh Version 1.0 zu kennen. Dieser Abschnitt liefert Kontext und Hintergrundinformationen, die die Untersuchung der Bluetooth Mesh Subnet Bridging-Funktion unterstützen.
1.1 Teilnetze
Ein Bluetooth® Mesh Netz bildet den Adressraum aller Unicast-Adressen. Ein Bluetooth Mesh Netz kann aus einem oder mehreren Teilnetzen bestehen, die sich diesen gemeinsamen Adressraum teilen. Jedes Subnetz hat einen eindeutigen Netzwerkschlüssel (NetKey), und wenn ein Knoten bei der Bereitstellung mit diesem NetKey versehen wird, ist er Mitglied dieses Subnetzes.
Ein Knoten kann mehr als einen NetKey besitzen und somit Mitglied in mehr als einem Subnetz sein, aber in Version 1.0 der Bluetooth Mesh Profilspezifikation gab es keine Möglichkeit, Nachrichten von einem Subnetz zu einem anderen zu übertragen. Die Subnetze waren vollständig voneinander isoliert.
1.2 Flächenisolierung
Die Möglichkeit, einen Teil eines Netzes von einem anderen zu isolieren, indem das Netz in verschiedene Teilnetze aufgeteilt wird, bietet eine Reihe von Vorteilen.
1.2.1 Bereichsabgrenzung und Sicherheit
Zu verhindern, dass Geräte in einem Teilnetz mit Geräten in anderen Teilnetzen interagieren können, kann aus Sicherheitsgründen nützlich oder vielleicht sogar unerlässlich sein. Denken Sie an Hotelzimmer, in denen die intelligenten Geräte in einem Zimmer mit anderen Geräten im selben Zimmer, aber nicht außerhalb des Zimmers kommunizieren können. Durch die Unterbringung der Geräte in jedem Hotelzimmer in einem eigenen Subnetz werden die Geräte in jedem Zimmer von denen in anderen Zimmern isoliert und die Sicherheitsanforderungen des Hotels für Gästezimmer erfüllt.
Abbildung 1 - Hotelzimmer und Isolierung von Teilnetzbereichen
1.2.2 Flächenisolierung und Netzeffizienz
Subnetze können auch verwendet werden, um den Netzwerkverkehr auf einen Bereich eines Gebäudes zu beschränken. Dies kann besonders nützlich sein, wenn die Weiterleitung von Nachrichten erforderlich ist, damit sie alle vorgesehenen Zielknoten erreichen, und Bluetooth Mesh Managed Flooding verwendet wird. Subnetze können als Begrenzung von Gerätegruppen betrachtet werden, so dass Nachrichten diese Grenzen nicht überschreiten können, selbst wenn sie weitergeleitet werden, so dass die Weiterleitung irrelevanter Nachrichten an Teile des Netzes, in denen sich keines der Zielgeräte befindet, vermieden wird.
Diese Technik wird häufig verwendet, um in Büros eine Etage von einer anderen zu isolieren, wie in Abbildung 2 dargestellt. Eine Nachricht, die vom Lichtschalter im dritten Stock gesendet wird, wird von den Relaisknoten in der Decke dieses Stockwerks weitergeleitet, da sie Teil desselben Subnetzes sind, aber die Relais in den Stockwerken darüber und darunter, die die Übertragung vom Schalter empfangen können, werden sie sofort verwerfen, so dass sich die Nachricht nicht über die Stockwerke hinweg verbreitet.
Abbildung 2 - Subnetze in einem Büro
1.3 Replay-Angriffe und fortlaufende Nummern
Ein böswilliges Gerät könnte eine Nachricht passiv empfangen und sie zu einem späteren Zeitpunkt erneut senden, wodurch möglicherweise eine nicht autorisierte Änderung im Netz verursacht wird. Ein solcher Angriff wird als Replay-Angriff bezeichnet. Bluetooth® Mesh definiert einen Replay-Schutzmechanismus, der Replay-Angriffe verhindert.
Zum Wiederholungsschutz gehört, dass alle Nachrichten einen zugehörigen Nonce-Wert haben, der eine 24-Bit-Sequenznummer (SEQ) enthält, die von einem Quellknoten für jede neue Nachricht, die er sendet, inkrementiert werden muss. Wenn ein Knoten alle fünf Sekunden eine Nachricht sendet, würde der SEQ-Wert mehr als zwei Jahre benötigen, bevor er umgeschlagen werden muss. Um dies zu verhindern, wird der SEQ-Wert um einen 32-Bit-Initialisierungsvektor (IV) erweitert, der im gesamten Netz gemeinsam genutzt wird. Der IV wird automatisch durch ein Verfahren namens IV-Update aktualisiert, wenn die Gefahr besteht, dass die SEQ-Werte erschöpft sind.
Die 32-Bit-IV-Werte selbst sind nicht in den Nachrichten enthalten. Stattdessen zeigt ein einzelnes Bitfeld namens IVI an, welcher von zwei möglichen IV-Werten, die ein Netz zu einem bestimmten Zeitpunkt verwenden kann, sich auf die Nachricht bezieht.
Die empfangenden Geräte behalten die IV- und SEQ-Werte der letzten erfolgreich verarbeiteten Nachricht von jeder Quelladresse im Auge. Wird eine Nachricht empfangen, die keine numerisch höhere IV- und SEQ-Wertekombination aufweist als die letzte von derselben Unicast-Quelladresse empfangene Nachricht, wird sie als wahrscheinlicher Replay-Angriff verworfen.
1.4 Eine Bewertung der Subnetze in Bluetooth® Mesh 1.0
Subnetze, wie sie in Version 1.0 der Bluetooth Mesh Profilspezifikation definiert sind, bieten einige hervorragende Vorteile in Bezug auf Sicherheit und Effizienz der Netznutzung. Es gibt jedoch einige Anforderungen, die aufgrund der absoluten Natur der Bereichsisolierung, die Subnetze auferlegen, schwer zu erfüllen sind. Wenn Subnetze aus Gründen der Auslastungseffizienz zur Begrenzung des Nachrichtenverkehrs in nicht miteinander verbundenen Teilen des Netzes eingesetzt werden sollen, müssen die Netzplaner sorgfältig überlegen, wie sie sie einsetzen wollen. Die Installateure müssen die erforderlichen Subnetze bei der ersten Einrichtung des Netzes einrichten.
Bluetooth Mesh Directed Forwarding (siehe Bluetooth Mesh Directed Forwarding Technical Overview) bietet einen überlegenen Ansatz, um den Verkehrsfluss zwischen Knoten auf die relevanten Teile des Netzes zu beschränken. Mit Subnetzen lassen sich manchmal ähnliche Ergebnisse erzielen, aber die Isolierung von Subnetzbereichen kann nicht so zielgerichtet eingesetzt werden wie Bluetooth Mesh Directed Forwarding, um nur ausgewählte Geräte auf die Bearbeitung von Nachrichten zu beschränken. Bluetooth Mesh Directed Forwarding wird heute als Mittel zur Erfüllung der Anforderungen an die Effizienz der Netznutzung empfohlen.
Die Bereichsisolierung unter Verwendung von Subnetzen als Netzsicherheitsmechanismus ist eine leistungsfähige Fähigkeit. Aber stellen Sie sich vor, ein Hotel hat für jedes seiner Zimmer eine Subnetzbereichsisolierung verwendet. Die Gäste sind begeistert, dass ihre technologisch intelligenten Hotelzimmer eine manuelle und automatische Steuerung der Geräte und Systeme ermöglichen. Die Hotelleitung ist zufrieden, dass Geräte in einem Zimmer nicht dazu verwendet werden können, Geräte in anderen Zimmern zu stören. Die Hotelleitung möchte jedoch ein Gateway installieren, an das die Sensoren in jedem Hotelzimmer Belegungsdaten melden können, die ein TCP/IP-basiertes GUI-System speisen, das eine unauffällige Planung der Zimmerreinigung und des Wäscheservices ermöglicht. Dies kann nicht erreicht werden, ohne einen Gateway-Knoten in jedem Hotelzimmer zu haben, wenn Bluetooth® Mesh 1.0 Subnetze verwendet werden.
2. Über Subnet Bridging
Manchmal gibt es Anwendungsfälle, in denen eine Kommunikation zwischen Geräten in verschiedenen Subnetzen erforderlich ist, ohne dass die Bereichsisolierung, die das Subnetz bietet, beeinträchtigt wird. Die Bluetooth Mesh Subnet Bridging-Funktion macht dies möglich.
2.1 Fähigkeiten und Vorteile
Die Funktion Bluetooth Mesh Subnet Bridging ermöglicht es Netzwerken, Subnetze zur Bereichsisolierung zu verwenden, aber auch selektiv die Kommunikation zwischen bestimmten Geräten in verschiedenen, benachbarten Subnetzen zuzulassen.
2.1.1 Aktivieren der Subnetzüberbrückung
Netzplaner müssen entscheiden, welche Knoten im Netz als Subnetz-Brücken fungieren sollen, um eine kontrollierte Kommunikation zwischen bestimmten Knoten in zwei benachbarten Subnetzen zu ermöglichen. Das Vorhandensein des Bridge Configuration Server-Modells zeigt an, dass Bluetooth Mesh Subnet Bridging von einem Knoten unterstützt wird.
Um einen Knoten zu einer Subnet-Bridge zu machen, muss ein Status namens Subnet-Bridge auf aktiviert gesetzt werden. Ein weiterer Status namens " Bridging Table" (Brückentabelle ) muss dann mit Einträgen gefüllt werden, die die Bluetooth Mesh Subnet-Bridging-Funktionalität des Knotens konfigurieren.
2.1.2 Der Zustand der Brückentabelle
Die Bridging-Tabelle ist ein Status, der Einträge enthält, die Quell- und Zieladressen definieren, für die Bluetooth Mesh Subnetz-Bridging durchgeführt wird. Ein Eintrag definiert, ob Bridging von einer Adresse zur anderen nur in eine Richtung oder in beide Richtungen möglich ist. In beiden Fällen sind die Indexwerte für die Netzwerkschlüssel der beiden Subnetze ebenfalls in jedem Bridging-Tabelleneintrag enthalten. Abschnitt 4.2.42 der Bluetooth® Mesh Protokollspezifikation enthält das vollständige Format eines Bridging-Tabelleneintrags und wird hier in Abbildung 3 wiederholt.
Feld |
Größe (Bits) |
Beschreibung |
Wegbeschreibung |
8 |
Erlaubte Richtungen für den überbrückten Verkehr |
NetKeyIndex1 |
12 |
NetKey-Index des ersten Teilnetzes |
NetKeyIndex2 |
12 |
NetKey-Index des zweiten Teilnetzes |
Adresse1 |
16 |
Adresse des Knotens im ersten Teilnetz |
Adresse2 |
16 |
Adresse des Knotens im zweiten Teilnetz |
Abbildung 3 - Das Format des Eintrags in der Brückentabelle
Das Feld Wegbeschreibung nimmt den Wert 0x01 oder 0x02 an.
0x01 bedeutet, dass nur eine Richtung der Überbrückung zulässig ist, und zwar für Nachrichten, deren Quelladresse (SRC) gleich dem Eintrag in der Überbrückungstabelle Adresse1 und deren Zieladresse (DST) gleich Adresse2 ist, so dass Nachrichten vom ersten Teilnetz an das zweite weitergeleitet werden können.
0x02 bedeutet, dass die Überbrückung in beide Richtungen erfolgen kann, also auch vom zweiten Teilnetz zum ersten, wenn die Quelladresse (SRC) gleich Adresse2 und die Zieladresse (DST) gleich Adresse1 ist.
2.1.3 Teilnetzüberbrückung und Sicherheit
Subnetze ermöglichen es, verschiedene Teile des Netzes voneinander zu isolieren, was in einigen Szenarien einen Sicherheitsvorteil hat, da Knoten in einem Subnetz daran gehindert werden, mit Knoten in einem anderen zu kommunizieren.
Bluetooth Mesh Subnet Bridging ermöglicht die Kommunikation über Subnetze hinweg. Die Bridging-Tabelle stellt jedoch sicher, dass dies nur zwischen bestimmten Quell- und Zieladressenpaaren und bestimmten Subnetzpaaren möglich ist. In einem Hotel könnte beispielsweise ein Gast dem Zimmerreinigungsteam signalisieren, dass er sein Zimmer gereinigt haben möchte, indem er eine Taste drückt, die eine Nachricht von dem Subnetz, zu dem sein Zimmer gehört, über Bluetooth Mesh Subnet Bridging und Bluetooth Mesh Directed Forwarding an das Zimmerreinigungsteam sendet. Die anderen Geräte im Zimmer des Gastes sind jedoch nicht in der Lage, mit anderen Knoten außerhalb dieses Subnetzes zu kommunizieren. Bluetooth Mesh Subnet Bridging ermöglicht eine selektive und kontrollierte Kommunikation über Subnetze hinweg, behält aber ansonsten die Sicherheitsvorteile der Bereichsisolierung bei.
Subnet-Bridges führen den Wiedergabeschutz auf die gleiche Weise durch wie Zielknoten, indem sie IV- und SEQ-Werte mit der Quelladresse in den von der Subnet-Bridge bearbeiteten Nachrichten abgleichen. Wenn die Kombination aus IV- und SEQ-Werten nicht numerisch höher ist als die zuletzt für die Überbrückung von einer bestimmten Quelladresse empfangene, wird sie verworfen. Auf diese Weise führen Subnet-Bridges einen Wiederholungsschutz vor Zielknoten im nächsten Subnetz durch, indem sie das nächste Subnetz vor Denial-of-Service-Angriffen schützen.
2.1.4 Subnet Bridging in Aktion
Bluetooth Mesh Das Subnet Bridging wird auf der Netzwerkebene innerhalb der Subnet-Bridge-Knoten durchgeführt. Beim Empfang einer Nachricht wird die Bridging-Tabelle auf einen Eintrag überprüft, dessen Felder Adresse1 und Adresse2 mit der Quell- und Zieladresse der Nachricht übereinstimmen, oder auf einen Eintrag, bei dem Adresse2 die SRC-Adresse der Nachricht und Adresse1 die DST-Adresse der Nachricht enthält und bei dem das Feld "Richtung" angibt, dass bidirektionales Bridging unterstützt wird. Ferner wird geprüft, ob die Netzwerk-PDU der Nachricht mit dem NetKey für das Quell-Subnetz verschlüsselt wurde. Wenn diese Bedingungen erfüllt sind, wird die Nachricht mit dem NetKey des Quellsubnetzes entschlüsselt, mit dem NetKey des Zielsubnetzes neu verschlüsselt und dann erneut übertragen. Eine Nachricht kann mehr als einmal weitergesendet werden und mehrere Subnetze durchlaufen, wenn die entsprechende Konfiguration von Subnet-Bridge-Knoten vorbereitet ist.
Eine Nachricht, deren Quell- und Zieladresse nicht in der Bridging-Tabelle in einem der möglichen unidirektionalen oder bidirektionalen Bridging-Eintragsformate enthalten sind, wird nicht an andere Subnetze weitergesendet. Durch Relaying oder Bluetooth Mesh Directed Forwarding wird die Nachricht ggf. dennoch innerhalb des aktuellen Subnetzes weitergesendet.
2.1.5 Teilnetzüberbrückung und gerichtete Weiterleitung
Bluetooth Mesh Directed Forwarding (siehe Bluetooth Mesh Directed Forwarding Technical Overview Paper) kann mit Bluetooth Mesh Subnet Bridging verwendet werden und beinhaltet zwei Knotenabhängigkeitsbeziehungen.
Die erste Abhängigkeit besteht zwischen dem Quellknoten im ersten Teilnetz und der Subnet-Bridge als Mitglied des zweiten Teilnetzes. Die zweite besteht zwischen der Subnet-Bridge als Mitglied des ersten Subnetzes und dem Zielknoten im zweiten Subnetz.
Teilnetz-Brücken fungieren als unterstützende Knoten in beiden Knoten-Abhängigkeitsbeziehungen und führen Pfadfindungs- und Wartungsprozeduren sowie die Nachrichtenweiterleitung im Namen ihrer abhängigen Knoten durch.
3. Schließen Sie
Bluetooth Mesh Subnet Bridging macht die Nutzung von Subnetzen, die subnetzübergreifend sein müssen, viel flexibler und einfacher einzurichten, ohne die Sicherheit zu beeinträchtigen.