chevron_left
chevron_right

Einfaches und sicheres Pairing für Bluetooth Smart

Die Konfiguration von Geräten für Bluetooth Smart (auch BLE) auf eine einfache und sichere Weise ist eine anspruchsvolle Aufgabe. Ein Pairing muss durchgeführt sowie benötigte Kommunikationsparameter müssen ausgetauscht werden. Die Verwendung von NFC kann dies erleichtern, jedoch müssen die Geräte mit einem NFC-Chip ausgerüstet sein, was zusätzliche Kosten verursacht.

 

In diesem Beitrag wird eine Methode vorgestellt, welche eine Konfiguration mit fast allen Smartphones ermöglicht, indem mit dem Bildschirm des Smartphones ein optischer Code erzeugt wird (Bild 1). Dieses Signal wird von einem Bluetooth-Smart-Gerät mittels einer kostengünstigen Fotodiode erkannt (siehe auch Konfiguration von Drahtlossystemen in Polyscope 3/15).

 

Pairing mit NFC

 

Ein möglicher Weg, initiale Konfigurations- und Sicherheitsparameter sicher auszutauschen, ist die Verwendung eines Out-of-Band-Kanals. Out-of-Band (OOB) bedeutet, dass Daten ausserhalb der Hauptkommunikation übermittelt werden. Near Field Communication (NFC) ist ein geeignetes Protokoll für OOB Pairing. Ein Bluetooth-Smart-Sensor wird mit einem NFC-Tag ausgestattet. Ein Smartphone mit NFC-Funktionalität kann Information mittels NFC lesen und schreiben. Da eine Kommunikation mit NFC nur dann möglich ist, wenn die Geräte in unmittelbarer Nähe zueinander sind, ist es für Dritte schwierig, diese Information abzuhören. Auf diese Weise lassen sich mehrere Byte wichtiger Informationen austauschen, indem man das Smartphone und den Sensor physikalisch zusammenbringt (Bild 2).

 

Diese Lösung hat zwei wesentliche Nachteile. Einerseits ist die Verwendung von NFC nur möglich, wenn der Sensor eine NFC-Schnittstelle besitzt, anderseits muss auch das Smartphone NFC-fähig sein. Die meisten Blue­tooth-Smart-Lösungen haben kein NFC und viele Smartphones unterstützen NFC nicht.

 

Motivation

 

Die Motivation für das Projekt ist, eine Pairing-Methode zu entwickeln, welche mit einfachen Mitteln umgesetzt werden kann und deren Anwendung intuitiv ist. Das Pairing soll sicher sein und eine Basis legen für einen anschliessend verschlüsselten Datenaustausch. Die Anwendung dieser Methode soll universell für möglichst viele Geräte möglich sein.

 

Konzept

 

Um die vorher erwähnten Problemstellungen anzugehen, wurde nach einer Methode gesucht, welche auf möglichst vielen Smartphones umgesetzt werden kann und trotzdem einen OOB-Austausch von Daten erlaubt. Smartphones haben einen Bildschirm, welcher dazu verwendet wird, dem Benutzer Informationen mitzuteilen. Der Bildschirm kann so programmiert werden, dass er Signale anhand von unterschiedlichen Helligkeitsstufen ausgibt, um optisch Informationen vom Smartphone aus zu codieren. Diese Information wird von einem Lichtsensor empfangen, der im Bluetooth-Smart-Tag eingebaut ist. Das generierte Beleuchtungsmuster lässt sich mit einer einfachen Firmware seitens des Tags decodieren (Bild 3).

 

Resultate

 

Ein Smartphone mit Android OS und Bluetooth-Funktionalität wird dazu verwendet, einen Bluetooth-Smart-Tag zu konfigurieren. Auf dem Smartphone wird ein Schlüssel generiert, welcher optisch dem Tag übermittelt wird. Es ist einfach, den Tag mit einem Sensor auszustatten, welcher Lichtunterschiede feststellt und diese Information dem Mikrocontroller weiterleitet. Anhand der vom Lichtsensor gelesenen Daten wird der Schlüssel abgeleitet und dazu verwendet, eine Nachricht zu verschlüsseln, welche drahtlos über die Bluetooth-Smart-Advertising-Kanäle versendet wird. Die Nachricht kann nur von einem Smartphone entschlüsselt werden, welches die Kenntnis über den richtigen Schlüssel besitzt.

 

Für die Umsetzung kommt ein kurzer Verschlüsselungscode zum Einsatz. Dieser wird auf dem Tag erweitert, um auf einen 128-Bit-Schlüssel zu kommen, welcher für eine AES-Verschlüsselung benötigt wird. Mechanisch kommen der Tag und das Smartphone in Berührung. Der Benutzer legt den Tag auf den für die Übertragung des Schlüssels markierten Bereich des Bildschirms. Die Datenrate der optischen Kommunikation ist relativ gering, da sie durch die maximale Bildwiederholrate des Smartphones limitiert wird, welche gewöhnlich bei 60 Hertz liegt.

 

100 bis 200 Bit sind jedoch ausreichend, um ein erstmaliges Pairing durchzuführen. Danach kann der Prozess auf einem verschlüsselten Kanal weitergeführt werden, falls der Bedarf besteht weitere Daten auszutauschen. Zusammengefasst bedeutet dies, dass der Benutzer, nachdem er den Tag auf den Bildschirm gelegt hat und das Pairing startet, nicht mehr als einige Sekunden warten muss.

 

Fazit

 

In dieser Arbeit haben wir gezeigt, dass bedeutende Einschränkungen, auf welche man gegenwärtig beim Pairing von Geräten für drahtlose Kommunikation stösst, mit dem Einsatz von einfacher Elektronik, der dazugehörigen Firmware und einer Smartphone-App bewältig werden können. Die Lösung ist mindestens so intuitiv wie die Verwendung von NFC. Eine Implementierung ist auf den meisten Smartphones, Tablets und PCs möglich. Die benötigten Ressourcen der CPU sind minimal, was bedeutet, dass die meisten eingebetteten Systeme diese Anforderungen erfüllen können. Nachteile bezüglich der Geschwindigkeit der Kommunikation bedingt durch die Bildwiederholrate des Smartphone-Bildschirms sind vernachlässigbar, da die Menge der auszutauschenden Daten ohnehin gering ist. Der Einfluss von äusserem Licht kann mechanisch minimal gehalten werden, was das System weiter vereinfacht.

 

Bei unserem Beispiel (Bild 1) legt der Benutzer den Tag auf den markierten Bereich des Bildschirms. Mit «SEND DATA» wird die Übertragung gestartet. Hat der Tag den Schlüssel auf dem optischen Weg empfangen, sendet er über Bluetooth Smart die verschlüsselte Nachricht, die auf dem Smartphone empfangen und bei «Encrypted hex» angezeigt wird. Die Nachricht wird entschlüsselt und der Klartext (Ines Winterthur!) ist bei «Cleartext» zu sehen. Die runde schwarze Markierung auf dem Bildschirm des Smartphones entspricht der Form des Tags. 

 

Infoservice

 

Institute of Embedded Systems, InES

Technikumstrasse 9, 8401 Winterthur

Tel. 058 934 75 25, Fax 058 935 75 25

info.ines@zhaw.ch, www.zhaw.ch/ines