Bluetooth: Sicherheitslücken schließen

10.05.2004
Von 
Dr. Klaus Manhart hat an der LMU München Logik/Wissenschaftstheorie studiert. Seit 1999 ist er freier Fachautor für IT und Wissenschaft und seit 2005 Lehrbeauftragter an der Uni München für Computersimulation. Schwerpunkte im Bereich IT-Journalismus sind Internet, Business-Computing, Linux und Mobilanwendungen.

Es gibt mehrere verschiedene Verbindungsschlüsseltypen, die sich in ihrer Entstehung unterscheiden, nicht aber in ihrem eigentlichen Verwendungszweck.

Normalerweise wird als Verbindungsschlüssel der Kombinationsschlüssel (Combination Key) verwendet, der nur für die Verbindung der beiden Geräte genutzt wird und in jedem Gerät für die spätere Nutzung gespeichert wird.

Im Gegensatz dazu wird der Geräteschlüssel (Unit Key) als Verbindungsschlüssel verwendet, wenn das Gerät zu wenig Speicher besitzt, um für alle Geräte, mit denen es Verbindungen unterhält, separate Schlüssel zu speichern. In diesem Fall übernimmt für den Zeitraum der Verbindung einer der Partner den Geräteschlüssel des anderen.

Schließlich existiert noch die Möglichkeit, einen temporären Master Key als Verbindungsschlüssel einzusetzen. Der Schlüssel wird für die Dauer einer Bluetooth-Sitzung zwischen mehreren Geräten temporär vereinbart.

Authentifizierung setzt das Wissen um einen gemeinsamen Verbindungsschlüssel voraus. Doch bei der ersten Kontaktaufnahme, auch Pairing genannt, ist dieser gemeinsame Schlüssel noch nicht bekannt. In diesem Fall wird ein vorläufiger Verbindungsschlüssel verwendet, der so genannte Initialisierungsschlüssel. Beide Seiten erzeugen diesen Initialisierungsschlüssel, in den die jeweilige Geräteadresse BD ADDR, eine Zufallszahl RAND und die PIN des Geräts eingehen. Die maximal 16 Byte lange PIN kann entweder fest in einer Bluetooth-Einheit gespeichert sein oder frei vom Benutzer eingegeben werden. Für eine erfolgreiche Initialisierung muss in beiden Geräten die gleiche PIN eingegeben werden. Die Eingabe der PIN in beiden Geräten einzugeben ist dabei sicherer, als auf eine feste einprogrammierte zurückzugreifen.