Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial Internet of Things >> Eingebettet

Design mit Bluetooth Mesh:Datenschutz und Sicherheit

In Teil 1 und Teil 2 dieser Artikelserie haben wir die Bluetooth-Mesh-Architektur besprochen und wie Nachrichten über das Bluetooth-Mesh-Netzwerk kommuniziert werden. In der vernetzten Welt von heute ist Sicherheit ein Schlüsselelement jedes Designs. Daher ist es wichtig, dass eine mit Bluetooth Mesh betriebene IoT-Anwendung absolut sicher ist und zuverlässige Funktionen bietet.

Die Sicherheitsimplementierung auf einem Bluetooth-Mesh-Gerät ist eine zwingende Anforderung der Bluetooth SIG und kann nicht deaktiviert werden. Beachten Sie, dass die Sicherheitsimplementierung in einer Nicht-Mesh-BLE-Punkt-zu-Punkt-Verbindung optional ist. Der Bereitstellungsprozess, durch den das Gerät zum Bluetooth Mesh-Netzwerk hinzugefügt wird und der Datenaustausch innerhalb des Bluetooth Mesh-Netzwerks ist sorgfältig mit Sicherheit als höchste Priorität konzipiert. Das Bluetooth-Mesh-Protokoll schützt das Netzwerk vor verschiedenen möglichen Bedrohungen auf mehreren Ebenen wie:

Die Bluetooth-Mesh-Topologie ist mit der Anforderung von obligatorischen Sicherheitsschlüsseln aufgebaut, die das Netzwerk auf mehreren Ebenen des Stapels sichern. Lassen Sie uns die einzelnen Sicherheits- und Datenschutzfunktionen einzeln durchgehen.

Bereitstellung:Hinzufügen eines nicht bereitgestellten Geräts zum Bluetooth-Mesh-Netzwerk

Ein Bluetooth-Mesh-Gerät wird mithilfe des Bereitstellungsprozesses zu einem Mesh-Netzwerk hinzugefügt. Das bereitgestellte Mesh-Gerät wird als Knoten bezeichnet, und das Gerät, das die Bereitstellung durchführt, wird als Bereitstellungsdienst bezeichnet. In der Regel fungiert ein Mobiltelefon als Bereitsteller. Es erstellt ein Mesh-Netzwerk, weist einen Netzwerkschlüssel und andere erforderliche Schlüssel zu. Nicht bereitgestellte Mesh-Geräte werden dem Bluetooth Mesh-Netzwerk mithilfe des Bereitstellungsprozesses hinzugefügt. Der Provisioner konfiguriert auch bereitgestellte Mesh-Knoten und steuert die Funktionalität von Bluetooth-Mesh-Knoten im Mesh-Netzwerk.

Das Bereitstellungsprotokoll kann zwei verschiedene Bereitstellungsträger verwenden:PB-ADV (ADV-Träger) oder PB-GATT (GATT-Träger). Heutige Mobilgeräte unterstützen den PB-ADV-Träger noch nicht. Aus diesem Grund erfolgt der Bereitstellungsprozess über den PB-GATT-Träger.

Ein nicht bereitgestelltes Mesh-Gerät beginnt mit der Werbung, nachdem es eingeschaltet wurde. Der Bereitstellungsdienst sucht nach nicht bereitgestellten Geräten und stellt eine Standard-BLE-Verbindung (unter der Annahme von PB-GATT) mit dem nicht bereitgestellten Gerät her. Es teilt dann Schlüssel mit dem Elliptical Curve Diffie-Hellman (ECDH)-Protokoll. Somit ist der Schlüsselaustausch mit ECDH sehr sicher.

Beide Geräte erstellen dann mit den ausgetauschten Schlüsseln einen Sitzungsschlüssel. Der Sitzungsschlüssel wird verwendet, um den Netzwerkschlüssel, den Geräteschlüssel (Schlüsseltypen werden in den folgenden Abschnitten dieses Artikels beschrieben), den IV-Index und eine Unicast-Adresse zu verschlüsseln, die alle an den bereitgestellten Bluetooth Mesh-Knoten gesendet werden. Nach erfolgreicher Bereitstellung durchläuft der Mesh-Knoten den Konfigurationsprozess, bei dem die Fähigkeiten des Mesh-Knotens mit dem Provisioner geteilt werden. Der Provisioner weist dem konfigurierten Knoten Anwendungsschlüssel zu. Jeder Mesh-Knoten kann mehrere Anwendungsschlüssel haben, daher muss jeder Anwendungsschlüssel mit einem bestimmten Mesh-Modell unter Verwendung des als Schlüsselbindung bezeichneten Prozesses gebunden werden. Auf diese Weise weiß der Mesh-Stack, welche Anwendungsschlüssel für ein bestimmtes Mesh-Modell zu verwenden sind.

Abbildung 1 zeigt die Bereitstellungssequenz, wenn ein Smartphone mit der iOS-Mesh-Hilfsanwendung versucht, eine dimmbare Glühbirne bereitzustellen, die mit dem CYBT-213043-MESH-Evaluierungskit implementiert wurde.

Klicken für größeres Bild

Abbildung 1:Der Bereitstellungsprozess für eine dimmbare Glühbirne. (Quelle:Cypress)

Wie in der Abbildung zu sehen ist, sendet die dimmbare Glühbirne Unprovisioned Device Beacons. Wenn der Anbieter versucht, ein Gerät hinzuzufügen, wird die dimmbare Glühbirne in der Liste der nicht bereitgestellten Geräte angezeigt. Wenn der Benutzer in der iOS-Mesh-App auf das Dimmable Light-Gerät klickt, beginnt der Bereitstellungsprozess.

Das Telefon sendet eine Provisioning-Einladung, und die dimmbare Glühbirne antwortet mit Funktionen wie der Anzahl der unterstützten Elemente, unterstützten Sicherheitsalgorithmen, der Verfügbarkeit des öffentlichen Schlüssels mit Out-of-Band (OOB) und der Eingabe-/Ausgabefunktion für die Eingabe/ Benutzerwert anzeigen. Basierend auf den Fähigkeiten der dimmbaren Glühbirne werden öffentliche ECDH-Schlüssel entweder über ein OOB-Verfahren oder über die Bluetooth-Verbindung ausgetauscht. Anschließend wird die Authentifizierung durchgeführt.

Sobald die dimmbare Glühbirne authentifiziert wurde, sendet der Anbieter Bereitstellungsdaten über den AES-CCM-verschlüsselten Link. Sobald die Bereitstellungsdaten (Netzwerkschlüssel, Geräteschlüssel, IV-Index, Unicast-Adresse usw.) an die dimmbare Glühbirne gesendet wurden, ist der Bereitstellungsprozess abgeschlossen. Der Anbieter kann nun die dimmbare Glühbirne konfigurieren (in diesem Sequenzdiagramm nicht gezeigt).

Netzwerkschlüssel, Anwendungsschlüssel und Geräteschlüssel

Der Besitz des Netzwerkschlüssels ermöglicht es einem Knoten, sich bis zur Netzwerkschicht zu entschlüsseln und zu authentifizieren, die es ermöglicht, Nachrichten innerhalb eines Netzwerks weiterzuleiten. Netzwerkverschlüsselungsschlüssel und private Schlüssel werden vom Netzwerkschlüssel abgeleitet. Es ist wichtig zu beachten, dass, obwohl alle Knoten im Netzwerk Mesh-Relay-Nachrichten empfangen und weiterleiten, die tatsächlichen Anwendungsdaten nicht mit den Netzwerkschlüsseln entschlüsselt werden können. Die Anwendungsdaten können nur entschlüsselt werden, wenn das Gerät über den entsprechenden Anwendungsschlüssel verfügt.

Netzwerkschlüssel :Ein Knoten kann einen oder mehrere Netzwerkschlüssel besitzen. Dies ermöglicht die Erstellung mehrerer Subnetze innerhalb eines einzigen Bluetooth-Mesh-Netzwerks. Betrachten Sie beispielsweise ein Parksystem mit mehreren Ebenen. Es kann von Vorteil sein, jede Ebene in ein eigenes Subnetz aufzuteilen. Diese Partitionierung vermeidet die Weiterleitung von Nachrichten über alle Ebenen und beschränkt die weitergeleiteten Nachrichten auf die gewünschte Ebene.

Anwendungsschlüssel :Anwendungsschlüssel werden von einer Teilmenge von Geräten innerhalb eines Mesh-Netzwerks gemeinsam genutzt. Im Allgemeinen haben diese Geräte eine ähnliche Funktionalität. Zum Beispiel können alle Glühbirnen im Wohnzimmer denselben Anwendungsschlüssel haben, während ein Bewegungssensor oder ein Schloss einen separaten Anwendungsschlüssel haben. Die Mesh-Nachricht zum Ändern des Zustands der Glühbirne kann nur von den Glühbirnen im Wohnzimmer entschlüsselt werden (d. h. dies sind die einzigen Geräte, die den erforderlichen Anwendungsschlüssel enthalten).

Geräteschlüssel: Geräteschlüssel werden jedem bereitgestellten Mesh-Knoten vom Provisioner zugewiesen. Dies ermöglicht eine eindeutige Identifizierung von Mesh-Knoten. Der Geräteschlüssel wird nur während des Knotenkonfigurationsprozesses vom Anbieter verwendet.

Knotenentfernung (Schlüsselaktualisierung, Blacklisting)

Es ist wichtig zu verhindern, dass ein Hacker einen Angriff auf ein bestimmtes Mesh-Netzwerk durchführt, indem er Sicherheitsschlüssel verwendet, die er von einem fehlerhaften oder entsorgten Mesh-Knoten erhält, der Teil des anvisierten Mesh-Netzwerks war. Diese Art von Angriff wird allgemein als Mülleimer-Angriff bezeichnet. Um solche Angriffe zu vermeiden, hat die Bluetooth SIG ein Key-Refresh-Verfahren definiert. Dieses Verfahren kann vom Provisioner initiiert werden, um einen bestimmten Knoten in die Blacklist aufzunehmen. Das Schlüsselaktualisierungsverfahren gibt neue Netzwerkschlüssel, Anwendungsschlüssel und alle erforderlichen Informationen an alle Geräte im Mesh-Netzwerk mit Ausnahme der Geräte in der Blacklist aus. Alle Schlüssel, die das Gerät auf der Blacklist hatte, können nicht mehr für den Zugriff auf das Mesh-Netzwerk verwendet werden.

Datenschutz (Nachrichtenverschleierung):

Privatsphäre ist ein wichtiger Aspekt für alle. Der Datenschutz in Bluetooth Mesh wird über den Datenschutzschlüssel angesprochen. Wie bereits erwähnt, wird der Datenschutzschlüssel vom Netzwerkschlüssel abgeleitet. Bluetooth Mesh verwendet diesen Datenschutzschlüssel, um die Headerwerte der Nachricht wie die Quelladresse zu verschleiern. Wenn die Quelladresse verschleiert ist, verhindert dies, dass ein Angreifer Nachrichten anhand ihrer Quelladresse verfolgt.

Angriffe wiederholen

Ein Angreifer kann sich dafür entscheiden, ein Mesh-Netzwerk zu unterbrechen, indem er Over-the-Air-Nachrichten erfasst und dasselbe Paket mehrmals erneut sendet. Stellen Sie sich einen Angreifer vor, der Nachrichten abfängt, um das Türschloss zu entriegeln. Wenn ein Angreifer erfolgreich Over-the-Air-Nachrichten zum Entriegeln der Tür erfassen kann, würde dies den Zugang zur Tür ermöglichen. Dies wäre natürlich eine große Bedrohung für Menschen und ihr Eigentum. Um dieses Problem zu beheben, hat die Bluetooth SIG zwei Felder als Teil jeder Netzwerknachricht bereitgestellt:den Initialisierungsvektorindex (IV-Index) und die Sequenznummer (SEQ).

Die Sequenznummer wird jedes Mal erhöht, wenn ein Knoten eine Nachricht veröffentlicht. Mesh-Knoten verwerfen die Mesh-Nachrichten mit einer Sequenznummer, die gleich oder kleiner als die letzte verarbeitete gültige Mesh-Nachricht ist. Um die Sequenznummer zu ändern, muss ein Angreifer alle erforderlichen Schlüssel besitzen, um die Nachricht zu entschlüsseln und anschließend zu verschlüsseln. Diese Schlüssel sind nur für das vorgesehene Gerät verfügbar. Selbst wenn ein Angreifer versucht, die Nachricht zu beantworten, wird sie daher vom Zielknoten verworfen. Der IV-Index ist ein separates Feld in der Mesh-Netzwerknachricht. Der Wert des IV-Index in Nachrichten muss gleich oder größer als die letzte verarbeitete gültige Mesh-Nachricht sein, andernfalls wird die Nachricht verworfen.

Kurz gesagt ermöglicht der Provisioning-Prozess in Bluetooth Mesh nur das Hinzufügen vertrauenswürdiger Geräte zum Netzwerk und vermeidet Man-in-the-Middle-Angriffe. Sicherheitsschlüssel wie der Netzwerkschlüssel ermöglichen die Erstellung von Subnetzen, während Anwendungsschlüssel ermöglichen, dass Mesh-Nachrichten nur von einer bestimmten Anwendung entschlüsselt werden. Schlüsselaktualisierungsverfahren implementieren eine sichere Entfernung von Knoten und schützen vor Trashcan-Angriffen. Replay-Angriffe werden vermieden, indem jeder Nachricht eine Sequenznummer hinzugefügt wird. Die Verschleierung von Nachrichten schützt die Identität des Absenders. All diese Funktionen machen Bluetooth Mesh sehr sicher und privat.

Im nächsten Teil dieser Artikelserie gehen wir auf die Punkte ein, die bei der Auswahl eines Bluetooth Mesh-Geräts für Ihre Anwendung zu beachten sind.


Eingebettet

  1. Synopsys ermöglicht Multi-Die-Designs mit HBM3-IP und Verifizierung
  2. Entwerfen mit Bluetooth Mesh:Chip oder Modul?
  3. Cypress:Bluetooth-MCUs bieten Mesh-Netzwerke mit allgegenwärtiger Smartphone-Konnektivität
  4. Future Electronics unterzeichnet neue globale Partnerschaftsvereinbarung mit Silvair
  5. Contrinex:Cloud-fähige intelligente Sensoren und Sicherheits-Lichtvorhänge mit Bluetooth-Schnittstelle
  6. Swissbit:hardwarebasierte Sicherheitslösungen zum Schutz von Daten und Geräten
  7. Bluetooth-MCU verbessert die IoT-Sicherheit
  8. Raspberry Pi Home Security System mit Kamera und PIR-Sensor
  9. Führen mit Beharrlichkeit und Beharrlichkeit
  10. Hemmen Sicherheit und Datenschutz das IoT?