Montag, 10. September 2012


Topthema

Donnerstag, 17. Mai 2007 | Topthema

About Security #105: Mobile Security – WEP-Algorithmus

(Link zum Artikel: http://www.entwickler.de/php/kolumnen/035787)
  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share

Ab dieser Folge soll es um das Thema 'Mobile Security' gehen. Zuerst wird die Sicherheit drahtloser Kommunikation, insbesondere für WLAN und Bluetooth, betrachtet. Später wird auch auf die Sicherheit der mobilen Geräte an sich eingegangen. Denn was nutzt es, wenn zwar niemand die von einem Notebook über WLAN gesendeten Daten ausspionieren kann, aber bei einem Diebstahl des Notebooks die Daten ungeschützt sind? Den Anfang aber macht die Absicherung von WLAN-Verbindungen. Die dafür maßgeblichen Algorithmen sind WEP und WPA(2).

WEP
WEP (Wired Equivalent Privacy) ist der ursprüngliche Standard-Verschlüsselungsalgorithmus für drahtlose Netze nach dem IEEE 802.11 Standard (WLAN). Der Algorithmus enthält mehrere Schwachstellen und sollte, wenn es irgendwie vermeidbar ist, nicht mehr eingesetzt werden. Beschrieben wird er hier aus zwei Gründen: Zum einen, um zu zeigen, wieso er unsicher ist. Zum anderen, damit man einschätzen kann, wie gefährlich seine Verwendung ist, wenn sie sich mal nicht vermeiden lässt.

WEP-Verschlüsselung
Für die Verschlüsselung wird der symmetrische RC4-Algorithmus verwendet, bei dem der Klartext bitweise XOR mit einer Folge von (Pseudo-)Zufallszahlen verknüpft wird. Als Schlüssel wird der so genannte WEP- oder Root-Key verwendet, der zusammen mit einem 24-Bit-langen zufälligen Initialisierungsvektor IV den Startwert des (Pseudo-)Zufallszahlengenerators bildet. Der IV soll dafür sorgen, dass sich bei zwei identischen Klartexten keine identischen Schlüsseltexte ergeben. Der WEP-Key, der allen Kommunikationsteilnehmern bekannt sein muss, kann 40 oder 104 Bit lang sein. Manchmal werden auch Schlüssel- und IV-Länge zusammengerechnet, sodass eine Schlüssellänge von 64 bzw. 128 Bit angegeben werden kann.

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

Da während der Übertragung Pakete verloren gehen können, muss der Zufallszahlengenerator für jedes Paket neu initialisiert werden. Ansonsten würden Sender und Empfänger nach dem Verlust eines Pakets unterschiedliche Sequenzen des Zufallszahlenstroms für Ver- bzw. Entschlüsselung verwenden. Damit nicht für jedes Paket die gleichen Zufallszahlen für die Verschlüsselung verwendet werden, wird für jedes Paket ein eigener IV verwendet. Zusammen mit den Daten wird eine 32-Bit-lange Integritäts-Prüfsumme (Integrity Check Value, ICV) verschlüsselt, um Übertragungsfehler oder Manipulationen zu erkennen.

WEP-Verschlüsselung

Übertragen werden an den Empfänger der unverschlüsselte IV sowie die verschlüsselte Kombination aus Klartext und ICV. Bei der Entschlüsselung werden WEP-Key und übertragener IV als Startwert für den Zufallszahlengenerator verwendet und der Schlüsseltext mit dem erzeugten Zufallszahlenstrom XOR verknüpft. Das Ergebnis wird in Klartext und ICV aufgespalten, die Prüfsumme über den entschlüsselten Klartext erneut berechnet und mit dem übertragenen ICV verglichen. Stimmen beide überein, wurde die Nachricht nicht verändert.

Der ICV ist jedoch gegen gezielte Angriffe wirkungslos: Durch die XOR-Struktur der Verschlüsselung führt die Änderung eines Schlüsseltext-Bits zur Änderung des entsprechenden Klartext-Bits. Da die Berechnung der Prüfsumme linear ist, kann sie ebenfalls passend manipuliert werden.

WEP-Entschlüsselung

WEP-Authentifizierung
Bei der 'Open System Authentication' dürfen sich alle Clients mit dem WLAN verbinden, eine Authentifizierung findet de facto nicht statt.

About Security: Die komplette Serie

Bei der 'Shared Key Authentication' wird im Rahmen eines Challenge-Response-Verfahrens die Kenntnis eines geheimen Schlüssels geprüft. Dabei wird auf WEP zurückgegriffen, wodurch das Verfahren im Prinzip nutzlos ist:

  • Der Access-Point sendet dem Client die Challenge.
  • Der Client verschlüsselt die Challenge mittels WEP und antwortet mit (IV, Schlüsseltext).
  • Ein Angreifer, der die Kommunikation belauscht, kann nun den aktuellen Schlüssel berechnen:
    Challenge XOR Schlüsseltext = Challenge XOR (Challenge XOR Schlüssel) = Schlüssel
    Danach kann er sich selbst authentifizieren, indem er auf die vom Access-Point gesendete Challenge' mit (IV, (Challenge' XOR Schlüssel)) antwortet.

Die Authentifizierung ist in dieser Form unnötig, da sich sowieso nur die Clients mit dem Access-Point verbinden können, die den passenden WEP-Key kennen. Dessen Kenntnis zusätzlich über ein Challenge-Response-Verfahren abzufragen, ist daher überflüssig.

WEP-Schwachstellen
WEP enthält eine ganze Reihe von Schwachstellen:

  • Fehlendes Schlüsselmanagement: Der WEP-Key muss manuell verteilt werden. Dies führt dazu, dass er meist nur selten ausgetauscht wird. Dadurch hat ein Angreifer mehr Zeit für einen Angriff. Außerdem ist ein Austausch bei einer Kompromittierung, z.B. weil ein Angreifer den Schlüssel auf einem Client lesen konnte, nicht ohne weiteres möglich.
  • Der Initialisierungsvektor ist zu kurz und wird sowohl als Teil des Schlüssels benutzt als auch in Klartext übertragen. Sammelt ein Angreifer genug Pakete, die mit demselben Schlüssel, aber unterschiedlichen 'schwachen' Initialisierungsvektoren verschlüsselt wurden, kann er den WEP-Schlüssel berechnen.

Mehr dazu und zu weiteren Schwachstellen in der nächsten Folge.

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

Kommentare

Folgende Links könnten Sie auch interessieren