Bluetooth® Mesh Zertifikatsbasierte Bereitstellung

Technischer Überblick

Freigabe : 1.0.0
Dokument Version :   1.0
Zuletzt aktualisiert : 19. September 2023
Die Autoren :   

Martin Woolley, Bluetooth SIG
Erik Anderlind, KiteSpring Inc.
Hannu Mallat, Silicon Laboratories
Omkar Kulkarni, Nordischer Halbleiter

Geschichte der Revision

Version

Date

Author

Changes

1.0.0

September 19, 2023

Martin Woolley, Bluetooth SIG
Erik Anderlind, KiteSpring Inc.
Hannu Mallat, Silicon Laboratories
Omkar Kulkarni, Nordic Semiconductor

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

Bluetooth Mesh Certificate-based Provisioning wurde in Version 1.1 der Bluetooth® Mesh Protokollspezifikation eingeführt. Um die Fähigkeiten und Vorteile von Bluetooth Mesh Certificate-based Provisioning vollständig zu verstehen, ist es notwendig, einige Aspekte von Bluetooth Mesh Version 1.0 zu kennen. Dieser Abschnitt liefert Kontext und Hintergrundinformationen, die die Untersuchung von Bluetooth Mesh Certificate-based Provisioning unterstützen.

1.1 Bereitstellung

Die Bereitstellung ist das Verfahren, durch das ein Gerät Teil eines Bluetooth Mesh Netzwerks wird. Die Bereitstellung erfolgt durch einen Benutzer bei der Inbetriebnahme des Netzes oder beim Hinzufügen neuer Geräte zum Netz. Sie erfolgt häufig in geschäftigen Arbeitsumgebungen und in der Regel, nachdem die Geräte physisch installiert wurden.

1.2 Geräteidentifikation und Berechtigungsnachweise

Unprovisionierte Geräte identifizieren sich selbst mit einer eindeutigen Geräte-UUID. Sie können auch einen eindeutigen, werkseitig zugewiesenen Bereitstellungscode oder ein statisches öffentlich-privates Schlüsselpaar haben. Falls vorhanden, ist der (rohe) öffentliche Schlüssel nicht vertrauenswürdig mit der Geräteidentität verbunden. Ein Gerätehersteller kann, sofern er dies unterstützt, einen Code in einem für Menschen lesbaren Format bereitstellen, das Scannen des Codes oder des öffentlichen Schlüssels über NFC oder als QR-Code, der mit der Kamera des Provisioners gelesen wird, unterstützen.

1.3 Authentifizierung

Das Bereitstellungsverfahren umfasst einen Authentifizierungsschritt, der es dem Benutzer des Bereitstellungsprogramms ermöglichen soll, zu überprüfen, ob das bereitzustellende Gerät (der Bereitstellungsempfänger) das physische Gerät ist, das er bereitstellen möchte. Dies bietet Schutz vor menschlichen Fehlern und der Möglichkeit von Man-in-the-Middle-Angriffen.

In der Version 1.0 der Bluetooth® Mesh Profile Specification wurden mehrere Formen der Authentifizierung definiert. Alternativ zur Verwendung der oben genannten Anmeldeinformationen kann eine zufällige Zahlen- oder Buchstabenfolge generiert werden, die der Endbenutzer dann eingeben muss. Beispielsweise erfordert die Output-OOB-Authentifizierung, dass der Provisionee eine zufällig ausgewählte Zahl einer bestimmten Größe mit Hilfe einer vom Gerät unterstützten Aktion ausgibt. Alternativ könnte der Gerätehersteller einen von Menschen oder Maschinen lesbaren Static OOB-Authentifizierungscode mit dem Gerät bereitstellen. So könnte beispielsweise ein mit einer Kamera ausgestatteter Provisioner einen auf dem Gerät aufgedruckten QR-Code scannen. Ein Provisioner kann sich auch dafür entscheiden, die Authentifizierung mit einem All-Zero-Authentifizierungswert zu akzeptieren. Ein Bestätigungsaustausch, der den Authentifizierungswert beinhaltet, findet dann über den Provisioning Bearer statt, und wenn er erfolgreich ist, wird der Provisionee authentifiziert, und das weitere Verfahren kann fortgesetzt werden.

1.4 Praktische Fragen

Bei der Verwendung der Authentifizierungsoptionen, die in Bluetooth® Mesh 1.0 unterstützt werden, kann es bestimmte praktische Probleme geben. Ein Provisionee-Gerät kann sich außer Sichtweite befinden oder schwer zu sehen sein, und die Optionen erfordern eine direkte Interaktion des Endbenutzers für jedes einzelne Gerät. Außerdem sind Aktionen wie das Blinken einer LED zur Anzeige des Authentifizierungswerts in der Praxis nur für kleine Zahlen geeignet. Kleine Authentifizierungswerte bieten eine geringe Entropie und sind nicht besonders sicher. Lange Zahlenfolgen können aufgrund der erforderlichen Dateneingabe eine Belastung darstellen und die Produkte teurer machen, wenn eine geeignete Anzeige hinzugefügt wird.

Um diese Probleme zu lösen, wird die Verwendung von digitalen Zertifikaten als Teil des Bereitstellungsverfahrens in Bluetooth® Mesh v1.1 eingeführt. Der nächste Abschnitt bietet einen allgemeinen Überblick über digitale Zertifikate, gefolgt von einem Abschnitt, in dem beschrieben wird, wie sie für die Gerätebereitstellung verwendet werden.

1.5 Digitale Bescheinigungen

Digitale Zertifikate( kurz:Zertifikate ) werden verwendet, um die behauptete Identität einer Einheit zu überprüfen. Zusätzlich zur Identität besitzt jede Einheit ein Paar mathematisch zusammengehöriger Schlüssel. Der öffentliche Schlüssel kann frei an jedermann weitergegeben werden, ohne die Sicherheit zu beeinträchtigen. Der zugehörige private Schlüssel wird niemals weitergegeben und ist nur der besitzenden Entität bekannt. Die Überprüfung einer Identität wird als Authentifizierung bezeichnet, und in der Welt des Internets sind Zertifikate das wichtigste Mittel zur Authentifizierung von Servern auf der Grundlage von Domänennamen oder host . Gerätezertifikate werden in ähnlicher Weise verwendet, um ein bestimmtes Gerät zu identifizieren. So wird beispielsweise bei der Bluetooth® Mesh die Kombination aus einer Geräte-UUID und einem Firmennamen (Hersteller) als Identität verwendet.

Ein Zertifikat ist ein digitales Dokument, das verschiedene Felder und Werte enthält. Der X.509-Standard definiert ein Format für Zertifikatsdokumente und wird üblicherweise verwendet. Zertifikate verbinden eine Identität mit dem Wert des öffentlichen Schlüssels der Entität und bieten einen Mechanismus, mit dem eine dritte Partei diese Verbindung überprüfen und dadurch feststellen kann, dass die Entität, mit der sie kommuniziert, diejenige ist, die sie vorgibt zu sein.  

Ein Zertifikat kann von jedem erstellt werden, aber diejenigen, für die eine zuverlässige Vertrauensbasis besteht, werden von einer vertrauenswürdigen Organisation ausgestellt, die als Zertifizierungsstelle (CA) bekannt ist. Die CA bestätigt, dass eine Entität mit einer bestimmten Identität mit einem bestimmten öffentlichen Schlüsselwert verbunden(gebunden) ist und dass keine andere Identität an denselben Schlüssel gebunden ist. Im Wesentlichen verifiziert die CA, dass die Entität diejenige ist, die sie vorgibt zu sein. Wenn wir der CA vertrauen, können wir auch auf die Richtigkeit aller von ihr ausgestellten Zertifikate vertrauen.

Der Inhalt des Zertifikats, die sicheren Verfahren, mit denen es erstellt wird, und die Sicherheitspraktiken der ausstellenden Organisation tragen alle zu dem Vertrauen bei, das der CA und damit den von ihr ausgestellten Zertifikaten entgegengebracht wird.

Bei der Erstellung des Zertifikats erzeugt die Zertifizierungsstelle mit ihrem privaten Schlüssel eine digitale Signatur des Zertifikatstextes und fügt die Signatur dem Zertifikat bei. Das Vorhandensein dieser Ausstellersignatur bedeutet, dass die Zertifizierungsstelle die Verbindung zwischen dem Namen des Unternehmens und dem öffentlichen Schlüssel im Zertifikat bestätigt. Aus betrieblichen und sicherheitstechnischen Gründen erstellt eine CA in der Regel eine Kette von einem oder mehreren Zwischenzertifikaten und verwendet ein Zwischenzertifikat am Ende der Kette, um das Endzertifikat zu signieren.

Um ein Zertifikat zur Authentifizierung zu validieren, muss die Stelle, die das Authentifizierungsverfahren durchführt, im Besitz des Stammzertifikats der CA sein und alle Zwischenzertifikate erhalten, die sie dann zur rekursiven Validierung der digitalen Signatur der CA im Zertifikat verwendet. Die authentifizierende Instanz vertraut der CA und kann bei der Validierung der Signatur zu dem Schluss kommen, dass den Identitätsinformationen und dem öffentlichen Schlüssel im Zertifikat vertraut werden kann, da die vertrauenswürdige CA dies durch ihre Signatur angezeigt hat.

2. Über Bluetooth Mesh Zertifikatsbasiertes Provisioning

2.1 Fähigkeiten und Vorteile

Die zertifikatsbasierte Bereitstellungsfunktion ermöglicht die Verwendung digitaler Zertifikate als Grundlage für die Geräteauthentifizierung während der Bereitstellung und verifiziert auf sichere Weise die Zuordnung einer Geräte-UUID zu einem bestimmten öffentlichen Schlüsselwert.

Die Verwendung von Zertifikaten zur Authentifizierung eines Geräts erfordert nicht, dass der Benutzer das Gerät während der Bereitstellung physisch sehen oder hören kann. Da eine direkte Interaktion des Benutzers mit einem bestimmten Gerät während der Authentifizierung bei der Bereitstellung nicht erforderlich ist, muss es eine andere Methode zur Autorisierung von Geräten geben, die dem Netzwerk beitreten dürfen, z. B. die Zusammenstellung einer Liste autorisierter UUIDs, Hashes von Gerätezertifikaten oder die weitere Verwendung statischer OOB-Geheimnisse. Zertifikate bieten in vielerlei Hinsicht eine bessere Sicherheit und leiden nicht unter der geringen Entropie, die mit Methoden wie Output OOB verbunden ist. Die praktischen und potenziellen Sicherheitsprobleme bei der Verwendung anderer Authentifizierungsmethoden und -aktionen für die Bereitstellung werden durch diese Funktion gemildert.

2.2 Technische Highlights

2.2.1 Gerätezertifikate

Um die zertifikatsbasierte Authentifizierung während der Bereitstellung zu verwenden, müssen mesh über ein zugehöriges digitales Zertifikat verfügen, das als Gerätezertifikat bezeichnet wird. Dabei handelt es sich um ein Zertifikat im X.509-Format, das den UUID-Wert des mesh im Feld X.509 Subject Name enthält. Der statische öffentliche Schlüssel des Geräts ist ebenfalls in dem Zertifikat enthalten. Das Zertifikat kann auch Kennungen für den Gerätehersteller und das product enthalten.

Gerätezertifikate werden entweder von einer Drittanbieter-Zertifizierungsstelle oder der internen Zertifizierungsstelle des Geräteherstellers ausgestellt und unterzeichnet. Die Zertifikate sollten ein Feld enthalten, in dem die CA-Richtlinien angegeben sind, die sie einhalten.

2.2.2 Verfügbarkeit von Gerätezertifikaten

Unprovisioned Device Beacons werden von Geräten gesendet, um ihre Verfügbarkeit für die Bereitstellung anzuzeigen. Diese Art von Baken enthält ein Feld mit der Bezeichnung OOB-Informationen, das die Verfügbarkeit von OOB-Bereitstellungsinformationen und die Quelle angibt, von der sie bezogen werden können. Wenn Bit 7 gesetzt ist, bedeutet dies, dass das Gerät die zertifikatsbasierte Bereitstellung unterstützt.

2.2.3 Abruf von Gerätezertifikaten

Das entsprechende Gerätezertifikat muss dem Provisioner zur Verfügung stehen, bevor dieser eine Provisioning Invite PDU sendet . Gerätezertifikate können aus verschiedenen Quellen stammen.

Ein Gerät kann das Zertifikat selbst und optional Zwischenzertifikate unter Verwendung eines neuen Speichermechanismus namens Bereitstellungsdatensätze speichern (siehe 2.2.4). Bereitstellungsdatensätze enthalten ansonsten einen URI, der ein Internetprotokoll und eine Adresse angibt, von der die Zertifikate bei Bedarf heruntergeladen werden können. In der Spezifikation wird auch erläutert, wie andere Quellen wie NFC-Etiketten und Strichcodes verwendet werden können, um den Download-URI bereitzustellen.

Das Herunterladen und die Validierung von Zertifikaten wird vom Provisioner durchgeführt. Die Zertifikatsvalidierung erfolgt nach den Standardverfahren der Internet Engineering Task Force (IETF) gemäß RFC5280. Zwischenzertifikate, die Teil der vollständigen Zertifikatskette sind, können ebenfalls in Bereitstellungsdatensätzen gespeichert werden. Der Bereitsteller muss direkt oder über sein host einen Mechanismus zum Laden und Abrufen von CA-Root-Zertifikaten für jeden Gerätehersteller bereitstellen, damit die Zertifikatsignaturkette überprüft werden kann.

Unter bestimmten Umständen, z. B. bei der Installation eines mesh Netzwerks in einem neuen Gebäude, ist möglicherweise kein Internetzugang verfügbar. Um dieser Situation Rechnung zu tragen, kann ein Bereitsteller die Gerätezertifikate vorladen, bevor er sich vor Ort begibt, um die Geräte im neuen Netzwerk bereitzustellen. Verfahren für eine solche Zwischenspeicherung von Zertifikaten sind nicht Teil der aktuellen Funktionsdefinition.

2.2.4 Bereitstellungsdatensätze

Bereitstellungsdatensätze bieten einen Nur-Lese-Mechanismus für den Zugriff auf gespeicherte Informationen, die während der Bereitstellung verwendet werden. Es gibt eine Reihe von definierten Datensatztypen, die jeweils durch eine numerische 16-Bit-Datensatz-ID gekennzeichnet sind. Ein Datensatz mit dem ID-Wert 0x0000 enthält beispielsweise einen zertifikatsbasierten Bereitstellungs-URI, während ein Datensatz mit dem ID-Wert 0x0001 ein Gerätezertifikat enthält.

Es wurden neue Bereitstellungsprotokoll-PDUs definiert, mit denen Bereitstellungsdatensätze aufgelistet oder abgerufen werden können. Lange Datensätze werden als eine Reihe von Fragmenten unter Verwendung der Parameter Offset und Fragmentgröße in der PDU abgerufen.

2.2.5 Bluetooth Mesh Fernbereitstellung und Zertifikate

Die Funktion Bluetooth® Mesh Remote Provisioning ermöglicht es, Geräte auch dann zu provisionieren, wenn sie sich nicht in direkter Funkreichweite des Provisioners befinden. Dies hat praktische Vorteile, insbesondere bei der Inbetriebnahme eines neuen Netzwerks. Es bedeutet aber auch, dass sich die zu versorgenden Geräte manchmal nicht in Sichtweite des Benutzers befinden. Sie können sich sogar zehn Stockwerke höher befinden!

Bluetooth Mesh Das zertifikatsbasierte Provisioning kann mit Bluetooth Mesh Remote Provisioning verwendet werden und löst dieses Problem.

3. Schließen Sie

Bluetooth Mesh Die zertifikatsbasierte Bereitstellung bietet einen branchenüblichen Ansatz für die Authentifizierung von Geräten über eine Public-Key-Infrastruktur. Zertifikate verringern den Aufwand für den Endbenutzer bei der Autorisierung von Geräten für den Netzwerkzugang und verringern die Wahrscheinlichkeit, dass unberechtigte Geräte dem Netzwerk hinzugefügt werden. Es ergänzt die Funktion Bluetooth Mesh Remote Provisioning, mit der nicht bereitgestellte Geräte bereitgestellt werden können, ohne dass sie sich in direkter Funkreichweite der Provisioner-Anwendung befinden müssen und daher möglicherweise außer Sicht- und Hörweite sind.

Hilfe erhalten