BLE Geräte mit NFC verbinden

Benjamin Eichinger

01/30/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

  • 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 ...

Weiterlesen
  • 13/03/2025
  • Allgemein, Unternehmen

MEDtech Ingenieur verstärkt sein Führungsteam: Seit März 2025 übernimmt Daniel Saffer die Rolle des Chief Technical Officers (CTO). Mit seiner langjährigen Erfahrung in der Entwicklung sicherheitskritischer Embedded-Softwarelösungen für die ...

Weiterlesen
  • 29/01/2025
  • Allgemein, Hardware, Testen

Einleitung Um bei der EMV Prüfung für die Zulassung neuer medizintechnischer Geräte das Risiko zu reduzieren machen wir gerne Vortests mit den Geräten in der Prototypen Phase. Aktuell unterstützen ...

Weiterlesen
Cookie-Übersicht

Die Internetseiten der MEDtech Ingenieur GmbH verwenden Cookies. Cookies sind Textdateien, welche über einen Internetbrowser auf einem Computersystem abgelegt und gespeichert werden.

Zahlreiche Internetseiten und Server verwenden Cookies. Viele Cookies enthalten eine sogenannte Cookie-ID. Eine Cookie-ID ist eine eindeutige Kennung des Cookies. Sie besteht aus einer Zeichenfolge, durch welche Internetseiten und Server dem konkreten Internetbrowser zugeordnet werden können, in dem das Cookie gespeichert wurde. Dies ermöglicht es den besuchten Internetseiten und Servern, den individuellen Browser der betroffenen Person von anderen Internetbrowsern, die andere Cookies enthalten, zu unterscheiden. Ein bestimmter Internetbrowser kann über die eindeutige Cookie-ID wiedererkannt und identifiziert werden.

Durch den Einsatz von Cookies kann die MEDtech Ingenieur GmbH den Nutzern dieser Internetseite nutzerfreundlichere Services bereitstellen, die ohne die Cookie-Setzung nicht möglich wären.

Mittels eines Cookies können die Informationen und Angebote auf unserer Internetseite im Sinne des Benutzers optimiert werden. Cookies ermöglichen uns, wie bereits erwähnt, die Benutzer unserer Internetseite wiederzuerkennen. Zweck dieser Wiedererkennung ist es, den Nutzern die Verwendung unserer Internetseite zu erleichtern. Der Benutzer einer Internetseite, die Cookies verwendet, muss beispielsweise nicht bei jedem Besuch der Internetseite erneut seine Zugangsdaten eingeben, weil dies von der Internetseite und dem auf dem Computersystem des Benutzers abgelegten Cookie übernommen wird.

Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Ferner können bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden. Dies ist in allen gängigen Internetbrowsern möglich. Deaktiviert die betroffene Person die Setzung von Cookies in dem genutzten Internetbrowser, sind unter Umständen nicht alle Funktionen unserer Internetseite vollumfänglich nutzbar.

Weitere Informationen erhalten Sie in unserer Datenschutzerklärung.

Unbedingt notwendige Cookies

Dieses Cookie wird benötigt, um Ihre Cookie-Einstellungen zu merken und weitere Hauptfunktionen zur Verfügung zu stellen

Um Ihnen eine Auskunft über Ihre gespeicherten personenbezogenen Daten hier (https://medtech-ingenieur.de/gespeicherte-daten-2/) geben zu können, benötigen wir einen Cookie, um Sie bei der Datenabfrage identifizieren zu können. Dieser Cookie muss aus Sicherheitsgründen deshalb aktiviert sein. Ein weiterer Cookie wird gesetzt, um diesen Banner nicht erneut anzeigen zu müssen.

Cookie-Name Beschreibung
PHPSESSID Name: PHP session
Anbieter:
Eigentümer der Webseite (MEDtech Ingenieur)
Zweck:
Wir benötigt, um Sie bei der Anfrage von personenbezogenen Daten identifizieren zu können. Das Cookie wird nur gesetzt, wenn Sie eine Anfrage hier (https://medtech-ingenieur.de/gespeicherte-daten-2/) stellen.
Laufzeit: Sitzungsende
Kategorie: Unbedingt notwendige Cookies
moove_gdpr_popup Name: Cookie-Box Einstellungen
Anbieter:
Eigentümer der Webseite (MEDtech Ingenieur)
Zweck:
Wird benötigt, um Ihre Cookie-Einstellungen zu speichern, um den Cookie-Banner nicht erneut anzeigen zu müssen.
Laufzeit: 1 Jahr
Kategorie: Unbedingt notwendige Cookies
comment_author_9c90e388e3e1be4a6c594fa6ac8a3eec
comment_author_email_9c90e388e3e1be4a6c594fa6ac8a3eec
comment_author_url_9c90e388e3e1be4a6c594fa6ac8a3eec
Name: Kommentar Einstellungen
Anbieter:
Eigentümer der Webseite (MEDtech Ingenieur)
Zweck:
Cookie wird angelegt, wenn Sie ein Kommentar auf MEDtech Ingenieur veröffentlichen wollen, um Sie als Autor identifizieren und den aktuellen Status Ihres Kommentars anzeigen zu können. Das Cookie enthält den angegebenen Namen. Das Cookie wird erst gesetzt, wenn Sie der Speicherung Ihrer personenbezogenen Daten zustimmen.
Laufzeit: 1 Jahr
Kategorie: Unbedingt notwendige Cookies
rmp-rate Name: RMP Rate
Anbieter: Eigentümer der Webseite (MEDtech Ingenieur)
Zweck: Cookie wird angelegt, wenn Sie eine Bewertung eines Blogbeitrags mithilfe des Sternebewertungssystems abgeben. Ihnen wird eine anonymisierte ID zugewiesen, um zu erkennen, ob Sie einen Artikel bereits bewertet haben oder nicht. Das Cookie wird nur verwendet, um zu verhindern, dass mehrfache Bewertung abgegeben werden und erst gesetzt, wenn Sie auf einen Stern klicken.
Laufzeit: 1 Jahr
Kategorie: Unbedingt notwendige Cookies
medtech-download-page Name: Download Page
Anbieter: Eigentümer der Webseite (MEDtech Ingenieur)
Zweck: Cookie wird angelegt, wenn Sie den Landing-Page Prozess erfolgreich durchlaufen haben. Dies geschieht nur, wenn Sie einen Content-Download von unserer Website anstreben.
Laufzeit: 1/2 Jahr
Kategorie: Unbedingt notwendige Cookies