BLE Geräte mit NFC verbinden

Benjamin Eichinger

30/01/2024

Wo ist denn jetzt wieder dieses Headset?

Wer kennt es nicht, man möchte sein Smartphone mit einem Bluetooth-Gerät verbinden, startet den Suchvorgang und plötzlich sieht man den Wald vor lauter Bäumen, ähh… verfügbaren Clients, nicht mehr. Da wäre es doch schön eine einfache Möglichkeit zu haben das Smartphone mit diesem einen, bestimmten Gerät zu verbinden. Und hier kommt NFC initiated Bluetooth pairing ins Spiel, dass ich dir genauer erklären möchte:

 

Wie kann ich komfortabel eine Bluetooth-Low-Energy-Verbindung aufbauen?

Secure Simple Pairing bei Bluetooth low energy (BLE) bietet diese Möglichkeit. Hierdurch können auf einem zweiten Kommunikationsweg die nötigen Informationen übertragen werden, um eine BLE-Verbindung aufzubauen. Die Benutzung von NFC für größtmöglichen Komfort wird auch als Tap-to-pair bezeichnet.

Der prinzipielle Vorgang ist in der folgenden Darstellung zu sehen.

Abbildung 1: Tap to pair mit NFC (https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/nrf52832-and-android-nougat-simple-and-secure-touc)

Dabei liest das Smartphone die für den BLE-Verbindungsaufbau nötigen Daten per NFC von einem Tag aus. Diese Daten müssen im NFC Data Exchange Format (NDEF) vorliegen. Den Inhalt erläutere ich im Anschluss noch genauer, er beinhaltet aber zumindest die statische BLE-Geräteadresse des Clients. Mittels dieser Adresse kann das Smartphone anschließend einen Connection Request an den Client senden und somit, wenn der Client entsprechend konfiguriert ist, automatisiert die Verbindung aufbauen. Diese Funktion ist bei allen aktuellen Smartphones implementiert.

 

Wie baue ich eine Bluetooth-Low-Energy-Verbindung mit NFC auf?

Im einfachsten Fall ist die NDEF-Nachricht auf dem NFC-Chip wie folgt aufgebaut:

Der Record type spezifiziert den Inhalt der NDEF-Message. Neben den Daten für den BLE-Verbindungsaufbau kann hier beispielsweise auch eine zu startende App oder eine aufzurufende Webseite angegeben werden.

Wie diese Nachrichten auf dem NFC-Chip abzulegen und gegebenenfalls konfigurieren sind, kann in den Datenblättern oder Application Notes der verwendeten Chips im Detail nachgelesen werden.

 

Welche Möglichkeiten habe ich die BLE-Verbindung zu sichern?

Der bisher beschriebene Verbindungsaufbau wird als Just-Works bezeichnet und bietet keine Sicherung des Verbindungsaufbaus, die Datenübertragung bei aufgebauter Verbindung hingegen ist immer gesichert. Der einzige mögliche Schutz bei Just-Works ist BLE erst beim Auslesen des Clients zu aktivieren und somit einen physischen Zugriff auf das Gerät sicherzustellen.
SSP definiert drei Möglichkeiten, um eine Verbindung zu sichern. Diese Verfahren können je nach Fähigkeiten der Geräte verwendet werden.

Die Verfahren sind:
– Numeric comparison: Auf beiden Geräten werden 6-stellige Codes berechnet und angezeigt, wenn dieses Übereinstimmen muss auf beiden Geräten die Verbindung bestätigt werden.
– Passkey Entry: Auf einem der Geräte wird ein Code angezeigt, der beim Verbindungspartner eingegeben werden muss.
– Out-Of-Band (OOB): Hier werden die nötigen Schlüssel für den sicheren Verbindungsaufbau über einen alternativen Kanal übertragen, in diesem Beispiel NFC. Bedingt durch die geringe Reichweite wird die Kommunikation gegen Abhören gesichert.

Somit lässt sich durch die Verwendung eines NFC-Chips neben des Komfortgewinns auch die Sicherheit der Verbindung erhöhen. Durch die geringen Kosten der Bauteile oder bereits vorhandene Funktionalität der BLE-Module sollte bei Verwendung von Bluetooth (das beschriebene Vorgehen ist auch beim klassischen Bluetooth möglich) auch immer die Möglichkeit des NFC Pairings in Betracht gezogen werden.

Bei Fragen, Anmerkungen oder wenn Sie Hilfe beim Thema BLE und Pairing benötigen können Sie jederzeit auf mich zukommen.

Anmerkung: Die technischen Abläufe sind von der Bluetooth Special Interest Group (SIG) spezifiziert und können in den Bluetooth Core Spezifikationen ab Version 4.0 nachgelesen werden.


Geschrieben von Benjamin Eichinger

Benjamin hat einen Bachelor in Medizintechnik und einen Master in Elektrotechnik. Bei MEDtech Ingenieur arbeitet er überwiegend in der Softwareentwicklung. Neben der hardwarenahen Programmierung in C und C++ erstellt er auch grafische Oberflächen unter Verwendung der Qt-Klassenbibliothek.


Weitere Beiträge

  • 25/09/2025
  • Allgemein, Elektrodermale Aktivität, Hardware, Produktion

Darf ich vorstellen? Das ist EDA – unsere Eule für elektrodermale AktivitätDas ist EDA, unsere kleine Eule mit einem besonderen Talent. EDA kann elektrodermale Aktivität (kurz: EDA) messen – ...

Weiterlesen
  • 09/09/2025
  • Allgemein, Software

In vorangegangenen Blogbeiträgen habe ich zwei wesentliche Komponenten einer einfachen und universell einsetzbaren Software-Architektur vorgestellt: Events mit Dispatcher, Listeners und Datapool. Damit lassen sich bereits sehr viele einfache Use-Cases ...

Weiterlesen
  • 19/03/2025
  • Allgemein, Unternehmen, Veranstaltungen

Wir freuen uns, euch zu einem exklusiven VDI-Event des Netzwerk Systems Engineering einzuladen, das bei uns im Büro stattfindet!Am Freitag, den 28. März 2025, wird sich alles um die ...

Weiterlesen
Datenschutz-Übersicht

Diese Website verwendet Cookies, damit wir dir die bestmögliche Benutzererfahrung bieten können. Cookie-Informationen werden in deinem Browser gespeichert und führen Funktionen aus, wie das Wiedererkennen von dir, wenn du auf unsere Website zurückkehrst, und hilft unserem Team zu verstehen, welche Abschnitte der Website für dich am interessantesten und nützlichsten sind.

Unbedingt notwendige Cookies

Unbedingt notwendige Cookies sollten jederzeit aktiviert sein, damit wir deine Einstellungen für die Cookie-Einstellungen speichern können.