WLAN-Sicherheit 1 - Der unsichere WEP-Algorithmus
Ab dieser Folge geht es um das Thema "WLAN-Sicherheit". Die dafür maßgeblichen Algorithmen sind das extrem unsichere WEP und sein relativ sicherer Nachfolger WPA(2).
WEP - Da kommt jeder rein!
WEP (Wired Equivalent Privacy) ist der ursprüngliche Standard-Verschlüsselungsalgorithmus für drahtlose Netze nach dem Standard IEEE 802.11 (WLAN).
Falls Ihr WLAN noch WEP verwendet, hören Sie jetzt bitte kurz mit dem Lesen auf und ändern die Konfiguration. Jedenfalls dann, wenn Sie nur erwünschte Nutzer in Ihren WLAN haben möchten. Schalten Sie WEP aus und WPA2 ein und verwenden Sie dafür einen sichere Schüssel. Ein "Sicherer Schlüssel" in in diesem Fall z.B. vergleichbar mit einem sicheren Passwort. Mehr dazu und weiteren Möglichkeiten zur Konfiguration von WPA2 schreibe ich in zukünftigen Folgen. Jetzt geht es erst mal um WEP und warum Sie das nicht mehr verwenden dürfen.
Die Kurzfassung ist ganz einfach: Der Algorithmus enthält mehrere Schwachstellen und sollte deshalb nicht mehr eingesetzt werden. Für die Langfassung muss ich etwas ausholen und erst mal erklären, wie WEP funktioniert.
WEP-Verschlüsselung
Für die Verschlüsselung wird der symmetrische RC4-Algorithmus verwendet, bei dem der Klartext bitweise XOR mit einer Folge von Pseudozufallszahlen verknüpft wird. RC4 gilt seit einiger Zeit als gebrochen, aber das ist in diesem Zusammenhang nicht das einzige Problem. Denn WEP war schon völlig unsicher, als RC4 noch als halbwegs sicher galt.
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 Pseudozufallszahlengenerators 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.
Da während der Übertragung Pakete verloren gehen können, muss der Pseudozufallszahlengenerator 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.
Den Ablauf der WEP-Verschlüsselung zeigt Abbildung 1.
Abb. 1: Die WEP-Verschlüsselung
An den Empfänger übertragen werden 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 Pseudozufallszahlengenerator 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.
Den Ablauf der WEP-Entschlüsselung zeigt Abbildung 2.
Abb. 2: Die WEP-Entschlüsselung
Der ICV ist 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-Authentifizierung
Eine Authentifizierung ist eigentlich unnötig, da sich sowieso nur die Clients mit dem Access Point (AP) verbinden können, die den passenden WEP-Key kennen. Trotzdem wurde im WEP-Standard eine zusätzliche Authentifizierung vorgesehen. Ebenso wie die Möglichkeit, darauf zu verzichten: Bei der "Open System Authentication" dürfen sich alle Clients mit dem WLAN verbinden, eine Authentifizierung findet also de facto nicht statt.
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 nächste vom Access-Point gesendeteChallenge'
mit(IV, (Challenge' XOR Schlüssel))
antwortet.
Wie schon erwähnt können sich nur die Clients mit dem AP verbinden, die den gültigen WEP-Schlüssel kennen. Dessen Kenntnis zusätzlich über ein Challenge-Response-Verfahren abzufragen, ist daher überflüssig. Und sogar gefährlich, da dabei der Schlüssel verraten wird. Aber das ist nicht die einzige Schwachstelle in WEP, außerdem lässt sie sich leicht umgehen, indem auf die überflüssige Authentifizierung verzichtet wird.
In der nächsten Folge werden die weiteren Schwachstellen in WEP sowie die Angriffe darauf beschrieben.
Trackbacks
Dipl.-Inform. Carsten Eilers am : WLAN-Sicherheit 2 - Schwachstellen in und Angriffe auf WEP
Vorschau anzeigen
Dipl.-Inform. Carsten Eilers am : WLAN-Sicherheit 3 - Tools für WEP-Angriffe
Vorschau anzeigen
Dipl.-Inform. Carsten Eilers am : WLAN-Sicherheit 4 - Ein Protokoll für den Übergang: Wi-Fi Protected Access (WPA)
Vorschau anzeigen
Dipl.-Inform. Carsten Eilers am : WLAN-Sicherheit 5 - WPA-Schlüsselaustausch und DoS-Angriffe
Vorschau anzeigen
Dipl.-Inform. Carsten Eilers am : WLAN-Sicherheit 6 - Angriffe auf die WPA-Verschlüsselung, Teil 1
Vorschau anzeigen
Dipl.-Inform. Carsten Eilers am : WLAN-Sicherheit 7 - Angriffe auf die WPA-Verschlüsselung, Teil 2
Vorschau anzeigen
Dipl.-Inform. Carsten Eilers am : WLAN-Sicherheit 8 - Der aktuelle Standard-Verschlüsselungsalgorithmus: WPA2
Vorschau anzeigen