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.

Authentifizierungsschritte: Über den Initialisierungsschlüssel erfolgt die erstmalige Authentifizierung. Anschließend schützt er die Übertragung des Verbindungsschlüssels für spätere Verbindungen. Nach erfolgreicher Übertragung verwerfen die Geräte den Initialisierungsschlüssel und arbeiten nur noch mit dem Verbindungsschlüssel.

Verschlüsselungsvorgang

War die Authentifizierung erfolgreich, kann die Verbindung verschlüsselt werden. Die Verschlüsselung kann sowohl vom Master als auch vom Slave beantragt werden, gestartet wird sie immer vom Master. Der Master generiert dazu aus dem Verbindungsschlüssel einen geheimen Sitzungsschlüssel. Die Länge des Schlüssels ist variabel und liegt zwischen 8 und 128 Bit. Benutzt wird der Schlüssel mit der höchsten von beiden Geräten akzeptierten Schlüssellänge. Anschließend beginnt der Master die Verschlüsselung, indem er eine Zufallszahl an den Slave verschickt. Der Chiffrierschlüssel wird dabei aus dem Verbindungsschlüssel, einem Cipher-Offset und der Zufallszahl berechnet.

Dass die Länge des Sitzungsschlüssels nicht fest vorgegeben ist hat zwei Gründe. Zum einen werden in verschiedenen Ländern die Bestimmungen für den Export von kryptografischen Produkten unterschiedlich gehandhabt. Zum anderen ist dies ein einfacher Weg, zu einem späteren Zeitpunkt die Stärke der Verschlüsselung ohne großen Aufwand - also ohne Austausch von Hard- oder Software - allein durch die Verlängerung des Schlüssels zu realisieren.

Als Verschlüsselungsalgorithmus kommt der Stromchiffrierer zum Einsatz. Für jedes Datenpaket wird dabei ein neuer Initialisierungsvektor aus der Geräteadresse und dem Zeittakt des Masters berechnet. Die Lebensdauer dieser Schlüssel ist nicht zu vergleichen mit der eines Verbindungsschlüssels. Wann immer der Master Verschlüsselung für eine Verbindung zwischen zwei Bluetooth-Einheiten aktiviert, werden aus dem Verbindungsschlüssel neue Schlüssel generiert. Verschlüsselt sind die Daten also nur während des Transports per Funk, vor und nach der Aussendung liegen die Daten unverschlüsselt vor.

Da der Master nicht gleichzeitig zu mehreren Slaves verschlüsselte Verbindungen aufbauen kann, ist er in der Lage entweder mit jedem Slave einen separaten Sitzungsschlüssel zu generieren oder aber, wenn der Master zu allen Slaves gleichzeitig die gleichen Daten senden will, einen einzigen. Dazu erzeugt der Master einen temporären Verbindungsschlüssel, den Master Key, und sendet ihn an alle Slaves, die an der Verbindung teilnehmen sollen. Diese wechseln den erhaltenen Schlüssel ad hoc mit dem bisherigen aus. Der Master kann nun verschlüsselte Pakete in das gesamte Piconetz broadcasten. Jeder Slave erkennt die Broadcast-Adresse im Paketkopf, nimmt das Paket auf und kann es mit dem neuen Schlüssel lesen. Zusammenfassend durchläuft die Bluetooth-Kryptografie folgende Schritte: