Mittwoch, 10. November 2010


Topthema

Mittwoch, 5. September 2007 | Topthema

About Security #121: Mobile Security — Bluetooth-Schwachstellen

(Link zum Artikel: http://www.entwickler.de/entwicklerde/kolumnen/037924)

Wie sicher sind die Schutzfunktionen von Bluetooth? Bevor diese Frage beantwortet wird, muss noch kurz der Ablauf der Verschlüsselung beschrieben werden. Verschlüsselt werden die Daten mit einer Stromchiffre mit dem zwischen 1 und 16 Bytes langem Encryption Key. Dessen Aushandlung wurde bereits in About Security #120 beschrieben, nun folgt die Beschreibung der Verschlüsselung. Dazu sind im Bluetooth-Standard zwei Betriebsarten definiert: Punkt-zu-Punkt- und Punkt-zu-Mehrpunkt-Verschlüsselung.

N E U ! Security aktuell
Täglich aktuelle Security-Infos!

Der während der Authentisierung berechnete Authenticated Ciphering Offset (ACO) wird bei der Punkt-zu-Punkt-Verschlüsselung (wie in About Security #120 beschrieben) als Ciphering Offset Number (COF) für die Berechnung des Encryption Keys verwendet. Bei der Punkt-zu-Mehrpunkt-Verschlüsselung wird die BD_ADDR des Masters als COF verwendet und die jeweiligen Link Keys durch einen Master Key ersetzt.

Für die Verschlüsselung wird der bereits in About Security #119 erwähnte Verschlüsselungsalgorithmus E0 verwendet. Die damit realisierte Stromchiffre verwendet vier linear rückgekoppelte Schieberegister (Linear Feedback Shift Registers, LFSR) mit den Längen 25, 31, 33 und 39 Bit. Der 128 Bit lange Initialisierungsvektor wird aus einer 128 Bit langen Zufallszahl EN_RAND, der 48 Bit langen Geräteadresse BD_ADDR, dem Encryption Key und den 26 Bit der Masterclock berechnet. Der so erzeugte Schlüsselstrom wird mit den Nutzdaten und den daran angehängten CRC-Bits für die Fehlererkennung XOR-verknüpft.

Die Daten werden nur während der Übertragung verschlüsselt, vor und nach der Übertragung können sie in den beteiligten Geräten unverschlüsselt gespeichert sein.

Angriffe auf die Verschlüsselung

Es wurden mehrere Angriffe beschrieben, um die effektive Schlüssellänge des Verschlüsselungsalgorithmus E0 von 128 Bit auf 84 Bit zu reduzieren (Literatur siehe unten). Wird E0 außerhalb von Bluetooth eingesetzt und ein Stream mit mehreren Millionen Bits erzeugt, beträgt die effektive Schlüssellänge sogar nur 39 Bit. Bisher sind jedoch keine praktischen Angriffe bekannt. Trotzdem sollte bei Verbindungen mit hohem Schutzbedarf der Schutz nicht (nur) durch die Bluetooth-Verschlüsselung gewährleistet werden.

Außerdem wurde eine Möglichkeit gefunden, PINs, die kürzer als acht Zeichen sind, in wenigen Sekunden zu ermitteln. Daher sollte die PIN, sofern möglich, mindestens acht Zeichen lang sein, besser länger (der Standard sieht maximal 16 Zeichen vor). Da der Angriff die PIN während des Pairing-Prozesses (d.h. der Generierung des Init Keys und des Austauschs des Link Keys) ausspäht, sollte wenn möglich die Speicherung des Link Keys für eine erneute Verbindung aktiviert werden. Damit bestehen für einen Angreifer weniger Gelegenheiten, die benötigten Daten zu beobachten. Die anscheinend sicherere Methode, bei jedem Verbindungsaufbau die Eingabe der PIN zu verlangen, erzeugt in diesem Fall nicht mehr, sondern weniger Sicherheit.

About Security: Die komplette Serie

Die gesamte Sicherheit von Bluetooth beruht darauf, dass der Link Key das gemeinsame Geheimnis der beteiligten Geräte ist, während alle anderen verwendeten Parameter öffentlich sind. Dies ist in einem Fall nicht gegeben: Wird der Unit Key eines Geräts A als Link Key verwendet, ist dieser auch den anderen Geräten, die zuvor mit A kommuniziert haben, bekannt. Entsprechend kann ein Gerät B, das sich zuvor einmal mit A verbunden hat, die Kommunikation zwischen A und einem weiteren Gerät C belauschen: Es kann den verwendeten Encryption Key aus den öffentlich bekannten Parametern und dem ihm aus einer früheren Verbindung bekannten Unit Key von A berechnen.

Man-in-the-Middle-Angriffe

Ein Angreifer hat zwei Möglichkeiten, sich als Man-in-the-Middle zwischen zwei authentifizierte Geräte zu schleichen:

  • Er kann aktiv eine Verbindung mit zwei Geräten aufbauen und sich bei beiden als das jeweils andere Gerät ausgeben. Eine evtl. erforderliche Authentifizierung wird dann durchgereicht.
  • Er kann sich in einen stattfindenden Verbindungsaufbau einschalten und die Synchronisation der beteiligten Geräte verhindern.
Datenschutz

Da die Bluetooth-Geräteadresse BD_ADDR weltweit eindeutig ist, kann jedes Gerät darüber eindeutig identifiziert und damit sein Weg verfolgt werden. Entsprechend kann auch das Verhalten des Gerätebesitzers, sofern er das Gerät kommunikationsbereit bei sich trägt, verfolgt werden.

In der nächsten Folge wird das Thema "Bluetooth-Sicherheit" mit der Beschreibung einiger Angriffe abgeschlossen.

Literatur

Wenn Sie Fragen oder Themenvorschläge haben, können Sie diese gerne an die angegebene E-Mail-Adresse senden oder im Security-Forum einbringen!

Carsten Eilers

About Security – Übersicht zum aktuellen Thema "Mobile Security – Bluetooth"

Kommentare

Folgende Links könnten Sie auch interessieren