Sichere und robuste Bluetooth-Kommunikation

Die meisten Endanwender der Bluetooth-Technologie sind nicht an den Abläufen der Kommunikation, des Protokolls und der Sicherheit interessiert. Stattdessen setzen sie voraus, dass die Technik und die verwendeten Sicherheitsmechanismen problemlos funktionieren. Wie es um die Sicherheit und die Robustheit bei der Kommunikation mit Hilfe der Bluetooth-Version 2.1 bestellt ist, wird in diesem Artikel näher beleuchtet.

Die meisten Endanwender der Bluetooth-Technologie sind nicht an den Abläufen der Kommunikation, des Protokolls und der Sicherheit interessiert. Stattdessen setzen sie voraus, dass die Technik und die verwendeten Sicherheitsmechanismen problemlos funktionieren. Wie es um die Sicherheit und die Robustheit bei der Kommunikation mit Hilfe der Bluetooth-Version 2.1 bestellt ist, wird in diesem Artikel näher beleuchtet.

In den meisten Fällen versteht man unter Sicherheit bei Bluetooth den Schutz der zu übertragenden Daten vor Abhören, „Man-In-the-Middle“-Angriffen (MITM) und Verletzung der Authentizität der Daten und beteiligten Geräte. Ab Bluetooth 2.1 stehen stark verbesserte Sicherheitsmechanismen zur Verfügung, die eine Verschlüsselung aller übertragenen Daten verlangen. Bei Bluetooth 2.0 ist die Verschlüsselung für viele Profile vorgeschrieben (u.a. bei SIM-, Adressbuch- oder Nachrichten-Zugriffen). In einigen Fällen aber kommt die Verschlüsselung nur abgeschwächt – anhand kurzer Schlüssellängen – oder bei einigen Profilen/ Anwendungen gar nicht zum Einsatz. Aus diesem Grund wurden bei Bluetooth 2.1 die Bluetooth-Sicherheitsmodi, die „Bluetooth Security Modes“, 1 (keine Sicherheit), 2 (servicespezifisch) und 3 (link-spezifisch) um den Modus 4 (Secure Simple Pairing) erweitert. Das Secure Simple Pairing ist ein Merkmal, welches leichte Handhabung und hohe Sicherheit vereint. Unter „Pairing“ ist der Vorgang zu verstehen, bei dem der Anwender eine persönliche Nummer (PIN) auf seinem Gerät eingibt, die wiederum mit der auf dem Server abgelegten/eingegeben Nummer übereinstimmen muss. Die für den Verbindungsaufbau notwendigen Schritte (Suchen der entsprechende Menüpunkte, Verbindungsaufbau, PIN-Eingabe usw.) können für den Anwender, der die entsprechende Beschreibung nicht liest, problematisch sein.

Im Unterschied dazu ist Secure Simple Pairing wesentlich einfacher in der Handhabung und bietet eine Sicherheit, die ein Abhören und Decodieren der Kommunikation unmöglich macht. Abhören des Pairing und Berechnung des Verbindungsschlüssels, der die Voraussetzung für die Authentifikation der Verbindung und der Verschlüsselung/ Chiffrierung der zu übertragenden Daten ist, lässt sich nach dem aktuellen Stand der Technik völlig ausschließen.

Nicht alle Geräte verfügen über ein Display oder über eine Tastatur – einige haben nur eines davon (Bluetooth Keyboard), was das Secure Simple Pairing berücksichtigt und diverse Szenarios empfiehlt, um ein Pairing, eine Authentifikation und letztendlich ein Verbinden (Bonding = Abspeichern des Verbindungsschlüssels) zu erreichen. Diese Szenarios werden Association Modes genannt und definieren die Art und Weise, mit der Geräte die PIN akzeptieren. Die Association Modes sind:

  1. Numerischer Vergleich (Numeric Comparison)
  2. Just Works
  3. Außerband-Signalisierung (Out of Band)
  4. Passkey-Eingabe

Jeder dieser Modi spezifiziert eine Methode für die PIN-Eingabe und definiert dabei auch die Länge der PIN. Aktuell (Sicherheitsmodi 2 und 3) ist die Verwendung einer vierstelligen PIN für das Pairing sehr verbreitet. Beim Secure Simple Pairing wird eine PIN mit sechs Stellen (beziehungsweise maximal 16 Stellen) verwendet. Dadurch und auch durch die Verwendung der Verschlüsselung mittels „Elliptic Curve Diffie Hellman“ lässt sich die Verbindungssicherheit stark verbessern. Untersuchungen haben gezeigt, dass die meisten Anwender sich eine sechsstellige PIN leicht merken können. Außerdem kann im Unterschied zu vorhergehenden Bluetooth-Versionen bei Bluetooth 2.1 eine alphanumerische PIN – also Zahlen und Buchstaben – verwendet werden. Zuvor wurden nur numerische PIN unterstützt.