Sicheres WLAN durch WPA und 802.11i

19.09.2005 von Eckhart Traber
Das im originalen WLAN-Standard vorgesehene WEP hat sich für den Schutz der Daten als unzureichend erwiesen. WPA und 802.11i sind jetzt dabei, den stark angegriffenen Ruf von WLANs bezüglich der Sicherheit wieder herzustellen.

Die Sicherheitsmängel in WEP führten zum einen zu einer Reihe von proprietären Erweiterungen des Standards wie 'CKIP' von Cisco oder 'KeyGuard' von Symbol Technologies. Zum anderen entstanden Lösungen, die auf höheren Protokollschichten mit Mitteln wie PPTP oder IPSec die benötigte Sicherheit bieten. All diese Verfahren funktionieren zwar prinzipiell, bringen auf der anderen Seite jedoch Einschränkungen bezüglich der Interoperabilität oder des Datendurchsatzes.

Mit dem inzwischen verabschiedeten Standard 802.11i hat das IEEE-Komitee das Thema 'WLAN und Sicherheit' von Grund auf neu definiert. Das Resultat sind standardisierte Methoden, die den Aufbau von sicheren und herstellerübergreifenden WLANs nach aktuellen Maßstäben ermöglichen. Auf dem Weg vom ursprünglichen WEP des 802.11-Standards bis zu 802.11i sind dabei eine ganze Reihe von Begriffen entstanden, die teilweise eher zu einer Verwirrung und Verunsicherung der Anwender geführt haben.

Dieser Artikel soll zunächst die Begriffe rund um WLAN-Sicherheit erklären und die verwendeten Verfahren in der chronologischen Reihenfolge ihrer Entwicklung erläutern. Im ersten Teil gehen wir auch auf WEP und die Fehler, die bei der Implementierung gemacht wurden, ein. Der zweite Teil, der in wenigen Tagen erscheint, erläutert auf WEP basierende Erweiterungen wie WPA und EAP. Teil drei führt dann in den neuen Standard für sichere WLANs, IEEE 802.11i, ein.

Grundbegriffe

Auch wenn immer wieder in Zusammenhang mit Computernetzen pauschal von 'Sicherheit' gesprochen wird, so ist es doch für die folgenden Ausführungen wichtig, die dabei gestellten Forderungen etwas näher zu differenzieren. Als ersten Punkt der Sicherheit betrachten wir den Zugangsschutz:

Von dem Zugangsschutz getrennt zu sehen ist die Vertraulichkeit. Unbefugte Dritte dürfen nicht in der Lage sein, den Datenverkehr mitzulesen. Dazu werden die Daten verschlüsselt. Solche Verschlüsselungsverfahren sind etwa DES, AES, RC4 oder Blowfish. Zur Verschlüsselung gehört natürlich auf der Empfängerseite eine entsprechende Entschlüsselung, üblicherweise mit dem gleichen Schlüssel (so genannte symmetrische Verschlüsselungsverfahren). Dabei ergibt sich natürlich das Problem, wie der Sender dem Empfänger den verwendeten Schlüssel erstmalig mitteilt – eine einfache Übertragung könnte von einem Dritten sehr einfach mitgelesen werden, der damit den Datenverkehr leicht entschlüsseln könnte.

Schlüsseltausch

Im einfachsten Fall überlässt man dieses Problem dem Anwender. Man setzt die Möglichkeit voraus, dass er die Schlüssel auf beiden Seiten der Verbindung bekannt machen kann. In diesem Fall spricht man von Pre-Shared-Keys oder kurz 'PSK'.

Ausgefeiltere Verfahren kommen dann zum Einsatz, wenn der Einsatz von Pre-Shared-Keys nicht praktikabel ist, etwa in einer über SSL aufgebauten HTTP-Verbindung. Hierbei kann der Anwender nicht so einfach an den Schlüssel von einem entfernten Web-Server gelangen. In diesem Falle werden so genannte asymmetrische Verschlüsselungsverfahren wie RSA eingesetzt. Zum Entschlüsseln der Daten wird ein anderer Schlüssel als zum Verschlüsseln benutzt.

Solche Verfahren sind jedoch viel langsamer als symmetrische Verschlüsselungsverfahren, was zu einer zweistufigen Lösung führt: eine Seite verfügt über ein asymmetrisches Schlüsselpaar und überträgt den Teil zum Verschlüsseln an die andere Seite, üblicherweise als Teil eines Zertifikats. Die Gegenseite wählt einen beliebigen symmetrischen Schlüssel aus und verschlüsselt diesen symmetrischen Schlüssel mit dem zuvor von der Gegenseite erhaltenen asymmetrischen Schlüssel. Den kann der Inhaber des asymmetrischen Schlüsselpaars wieder entschlüsseln, ein potentieller Mithörer aber nicht. Das Ziel des gesicherten Schlüsselaustauschs ist erreicht. In den folgenden Abschnitten werden uns solche Verfahren wieder begegnen, zum Teil auch in etwas modifizierter Form.

WEP

WEP ist eine Abkürzung für Wired Equivalent Privacy. Die primäre Zielsetzung von WEP ist die Vertraulichkeit von Daten. Im Gegensatz zu Signalen, die über Kabel übertragen werden, breiten sich Funkwellen beliebig in alle Richtungen aus – auch auf die Straße vor dem Haus und an andere Orte, wo sie gar nicht erwünscht sind. Das Problem des unerwünschten Mithörens tritt bei der drahtlosen Datenübertragung besonders augenscheinlich auf, auch wenn es prinzipiell auch bei größeren Installationen kabelgebundener Netze vorhanden ist. Allerdings kann man den Zugang zu Kabeln durch entsprechende Organisation eher begrenzen als bei Funkwellen.

Das IEEE-Komitee hat bei der Entwicklung der WLAN-Sicherheitsstandards nicht geplant, ein 'perfektes' Verschlüsselungsverfahren zu entwerfen. Solche hochsicheren Verschlüsselungsverfahren werden etwa für Electronic-Banking verlangt und auch einsetzt. In diesen Fällen bringen allerdings die Anwendungen selber entsprechend hochwertige Verschlüsselungsverfahren mit, und es wäre unnötig, diesen Aufwand nochmals auf der Ebene der Funkübertragung zu treiben.

Mit den ersten Sicherheitsstandards für 802.11-WLANs sollte lediglich solchen Anwendungen, die in kabelgebundenen LANs üblicherweise ohne Verschlüsselung arbeiten, eine ausreichende Sicherheit gegen das Mitlesen durch unbefugte Dritte ermöglicht werden.

Ablauf der WEP-Verschlüsselung

Die Abbildung zeigt den Ablauf der WEP-Verschlüsselung – die Entschlüsselung verläuft genau umgekehrt. WEP ist also ein symmetrisches Verschlüsselungsverfahren. WEP benutzt als Basistechnologie zur Verschlüsselungs den RC4-Algorithmus, ein in anderen Bereichen bereits bekanntes und durchaus als sicher eingestuftes Verfahren.

RC4 benutzt einen zwischen 8 und 2048 Bit langen Schlüssel, aus dem nach einem festgelegten Verfahren eine pseudo-zufällige Folge von Bytes erzeugt wird. Das Datenpaket wird dann sukzessive Byte für Byte mit diesem Byte-Strom XOR-verknüpft. Der Empfänger wiederholt einfach diesen Vorgang mit dem gleichen Schlüssel und damit der gleichen Folge, um wieder das ursprüngliche Datenpaket zu erhalten – eine doppelte Anwendung der XOR-Verknüpfung mit den gleichen Werten hebt sich auf. Der Vorteil von RC4 ist, dass die Operationen

auf Sender- und Empfängerseite identisch sind – man braucht die Hardware also nur einmal in die WLAN-Karte einzubauen und kann sie sowohl zum Senden als auch Empfangen benutzen. Da die Daten im WLAN ohnehin nur halbduplex übertragen werden, wird auch nie gleichzeitig gesendet und empfangen.

RC4 hat aber einen gravierenden Nachteil: man darf einen bestimmten RC4-Schlüssel nur einmal für ein einziges Paket verwenden! Verwendet man den gleichen RC4-Schlüssel für zwei verschiedene Datenpakete, so kann ein potentieller Mithörer diese beiden Pakete mitschneiden und miteinander XOR-Verknüpfen. Durch diese Operation erhält man zwar noch nicht direkt Klartext, aber die Pseudo-Zufallsfolge und damit die Verschlüsselung fällt heraus, man hat die XOR-Verknüpfung zweier Klartextpakete. Wenn man dazu den Inhalt eines der beiden Pakete kennt, kann daraus das andere Klartextpaket ermittelt werden.

WEP64 bis WEP256

WEP verwendet daher den vom Benutzer eingegebenen Schlüssel nicht direkt für den RC4-Algorithmus, sondern kombiniert diesen mit einem so genannten Initial Vector (IV) zum eigentlichen RC4-Schlüssel. Diesen IV wechselt der Sender automatisch von Paket zu Paket, üblicherweise durch einfaches Inkrementieren, und überträgt ihn zusammen mit dem verschlüsselten Paket. Der Empfänger nutzt den im Paket übertragenen IV, um den für dieses Paket verwendeten RC4-Schlüssel zu konstruieren.

Des Weiteren berechnet WEP über das unverschlüsselte Paket noch eine CRC-Prüfsumme und hängt sie an das Paket an, bevor es RC4-verschlüsselt wird. Der Empfänger kann nach der Entschlüsselung diese CRC-Prüfsumme überprüfen und feststellen, ob die Entschlüsselung fehlerhaft war – etwa durch einen falschen WEP-Schlüssel. Auf diese Weise bietet WEP übrigens einen gewissen Grad an Zugangsschutz, weil ein Eindringling ohne Kenntnis des WEP-Schlüssels nur 'defekte' Pakete erzeugt, die in der WLAN-Karte ausgefiltert werden.

Aus dem zusätzlichen IV erklärt sich die bisweilen auftretende Verwirrung um die Schlüssellänge bei WEP – da sich größere Schlüssellängen sicherer anhören, werden die 24 Bit des IV gerne zur eigentlichen Schlüssellänge hinzuaddiert, obwohl der Anwender selber natürlich nur den Rest konfigurieren kann. Der IEEE-Standard sah ursprünglich eine relativ kurze Schlüssellänge von 40 Bit vor, die sich wahrscheinlich an den damals existierenden US-Exportbeschänkungen für starke Kryptographie orientierte. Diese Variante wird in Prospekten meist als WEP64 bezeichnet.

Die meisten WLAN-Karten unterstützen heutzutage eine Variante, bei der Anwender einen 104 Bit langen Schlüssel konfigurieren kann, was einen 128 Bit langen RC4-Schlüssel ergibt – folgerichtig wird dies oft als WEP128 bezeichnet. Seltener finden sich Schlüssellängen von 128 Bit (WEP152) oder 232 Bit (WEP256).

Passphrase statt Hex-Keys

Wie oben erwähnt, kann RC4 prinzipiell mit Schlüssellängen bis zu 2048 Bit arbeiten, was WEP-Schlüsseln bis zu 2024 Bit entsprechen würde. In der Praxis stoßen die Schlüssellängen an die einfache Grenze, bis zu der ein Anwender die Zahlenkolonnen noch fehlerfrei eingeben kann. Da WEP ein reines PSK-Verfahren ist, müssen die Schlüssel auf beiden Seiten der Verbindung identisch eingetragen werden.

Der IEEE-Standard sieht keinerlei Mechanismen vor, die WEP-Schlüssel in einem WLAN automatisch zu verteilen. Einige Hersteller haben z.B. versucht, dem Anwender das Eintippen zu erleichtern, indem nicht die WEP-Schlüssel selbst eingetragen werden, sondern eine Passphrase (also eine Art überlanges Passwort), aus der die Schlüssel berechnet werden. Dieses Verfahren variiert allerdings von Hersteller zu Hersteller, so dass die gleiche Passphrase bei verschiedenen Herstellern zu unterschiedlichen WEP-Schlüsseln führen kann. Außerdem haben Anwender die Tendenz, relativ einfach zu ratende Passwörter zu verwenden, so dass die entstehenden Schlüssel meist schwächer als 40 bzw. 104 Bit sind (die aktuellen IEEE-Standards gehen davon aus, dass ein typisches Paßwort eine Stärke von etwa 2,5 Bit pro Zeichen ausweist).

Der IEEE-Standard sieht vor, dass in einem WLAN bis zu vier verschiedene WEP-Schlüssel existieren können. Der Sender kodiert in das verschlüsselte Paket neben dem IV die Nummer des verwendeten WEP-Schlüssels, so dass der Empfänger den passenden Schlüssel verwenden kann. Die Idee dahinter war, dass sich so alte Schlüssel in einem WLAN graduell gegen neue Schlüssel austauschen lassen, indem Stationen, die den neuen Schlüssel noch nicht erhalten haben, für eine Übergangszeit noch einen alten Schlüssel weiter verwenden können.

Schwere Fehler in WEP

Auf Basis von WEP definiert der 802.11-Standard auch ein Challenge-Response-Verfahren zur Authentifizierung von Clients. Dazu schickt der Access Point ein Klartextpaket, das einen 128 Byte langen Challenge enthält, den der Client per WEP verschlüsselt und zurückschickt. Wenn der Access Point diese Antwort erfolgreich entschlüsseln kann (d.h. die CRC stimmt) und wieder den ursprünglich gesendeten Challenge erhält, geht er davon aus, dass der Client über korrekte WEP-Schlüssel verfügt und daher zum Zugriff berechtigt ist.

Leider stellt dieses Verfahren einem potentiellen Angreifer 128 Byte Klartext und den zugehörigen verschlüsselten Text bereit, was Ansätze zur Krypto-Analyse bietet. Des weiteren implementieren viele Clients dieses Variante nicht, so dass dieses Shared Key genannte Verfahren selten angewendet wird. Stattdessen werden heutzutage zur Authentifizierung der WLAN-Anmeldung nachgeschaltete Verfahren wie z.B. 802.1x benutzt.

Während das WEP-Verfahren in der Theorie bisher relativ gut klingt, haben sich leider in der Praxis schwerwiegende Fehler im Verfahren gefunden, welche die Vorteile deutlich reduzieren – und zwar unabhängig von der verwendeten WEP-Schlüssellänge. Diese Schwächen hätten sich bei einer genauen Analyse eigentlich bereits bei der Definition von WEP finden müssen. Leider waren bei der WEP-Definition keine Kryptologie-Experten beteiligt, so dass diese Fehler erst offensichtlich wurden, als das WEP-Verfahren mit dem Markterfolg von 802.11b-WLAN-Karten massenweise eingesetzt wurde (frühere 2MBit-Designs enthielten oft gar keine Verschlüsselung, WEP ist nur eine optionale Funktion im 802.11-Standard).

Viel zu kurzer Initial Vector

Die Hauptschwäche von WEP ist die viel zu kurze IV-Länge. Wie bereits erwähnt, ist die Wiederverwendung eines Schlüssels bei RC4 eine große Sicherheitslücke – das passiert bei WEP aber spätestens alle 16 Millionen Pakete, wenn der IV-Zähler von 0xffffff auf Null überläuft. Ein 11Mbit-WLAN erreicht eine Nettodatenrate von circa 5MBit/s, bei einer maximalen Paketlänge von 1500 Bytes sind das also rund 400 Pakete pro Sekunde bei vollem Durchsatz. Nach etwa 11 Stunden würde der IV-Zähler theoretisch überlaufen und ein Mithörer bekommt die benötigten Informationen zum 'Knacken' des WEP-Schlüssels.

In der Praxis bekommt der Angreifer die gesuchten Informationen sogar noch viel früher. Mathematische Analysen von RC4 haben ergeben, dass man bei bestimmten Werten des RC4-Schlüssels schon Rückschlüsse auf die ersten Werte der sich ergebenden Pseudo-Zufallsfolge machen kann – also auf die Bytes, mit denen der Anfang des Paketes verschlüsselt wird.

Diese Eigenschaft von RC4 lässt sich relativ leicht umgehen, indem man etwa die ersten Bytes des pseudo-zufälligen Byte-Stroms verwirft und erst die 'späteren' Bytes zur Verschlüsselung heranzieht. Dies wird heutzutage auch häufig beim Einsatz von RC4 getan. Als diese Erkenntnisse bekannt wurden, war WEP aber in der beschriebenen Form bereits Teil des IEEE-Standards und unabänderlich in die Hardware der weit verbreiteten WLAN-Karten eingeflossen.

Dummerweise sind diese 'schwachen' Werte von RC4-Schlüsseln an bestimmten Werten in den ersten Bytes des RC4-Schlüssels zu erkennen, und das ist bei WEP der in jedem Paket im Klartext übertragene IV.

WEP - In fünf Minuten geknackt

Nachdem dieser Zusammenhang bekannt wurde, tauchten im Internet schnell spezialisierte Sniffer-Tools auf, die nur auf Pakete mit solchen 'schwachen IVs' lauschen, und die dadurch nur einen Bruchteil des gesamten Verkehrs mitschneiden müssen. Je nach Datenaufkommen in einem WLAN können solche Tools die Verschlüsselung in einem Bruchteil der oben genannten Zeit knacken. Bei längeren WEP-Schlüsseln (z.B. 104 statt 40 Bit) dauert dies zwar etwas länger, aber der Zeitaufwand zum Knacken wächst bestenfalls linear mit der Schlüssellänge, nicht exponentiell, wie man dies sonst kennt.

Leider hat auch die in den Paketen enthaltene CRC-Prüfsumme nicht das gehalten, was man sich von ihr versprach. Es wurden Wege gefunden, mit denen man unter bestimmten Bedingungen verschlüsselte Pakete auch ohne Kenntnis des WEP-Schlüssels so verändern kann, dass nach der Entschlüsselung auf Empfängerseite die CRC immer noch stimmt. WEP kann daher also nicht garantieren, dass ein Paket auf dem Weg vom Sender zum Empfänger nicht verändert wurde.

Diese Schwachstellen degradierten WEP leider zu einem Verschlüsselungsverfahren, das bestenfalls zum Schutz eines Heimnetzwerkes gegen zufällige Lauscher taugt. Diese Erkenntnisse haben für einigen Aufruhr gesorgt, WLAN den Ruf einer unsicheren Technologie eingetragen und die Hersteller zum Handeln gezwungen. WLAN ist aber eine standardisierte Technologie, und bessere Standards entstehen nicht von heute auf morgen. Deshalb gab es bis zu einer wirklich sicheren Lösung einige Zwischenschritte, welche die schlimmsten Design-Fehler von WEP zumindest abmildern.

WEPplus

Wie im vorangegangenen Abschnitt ausgeführt, ist die Verwendung schwacher IV-Werte das Problem gewesen, welches das WEP-Verfahren am stärksten schwächt. Nur wenige Wochen nach der Veröffentlichung tauchten Tools wie WEP-Crack oder AirSnort im Internet auf, die automatisiert eine beliebige WLAN-Verbindung innerhalb weniger Stunden knacken konnten. WEP war damit faktisch wertlos geworden.

Ein erster Schnellschuss, um WLANs gegen solche Programme zu sichern, war die einfache Überlegung, dass die schwachen IV-Werte bekannt sind und man sie beim Verschlüsseln einfach überspringen kann. Da der verwendete IV ja im Paket mit übertragen wird, ist so eine Vorgehensweise voll kompatibel gegenüber WLAN-Karten, die diese WEPplus getaufte Erweiterung nicht kennen. Eine echte Verbesserung der Sicherheit erhält man natürlich erst dann, wenn alle Partner in einem WLAN diese Methode benutzen.

Ein potentieller Angreifer ist in einem mit WEPplus ausgestatteten Netzwerk wieder darauf angewiesen, den ganzen Datenverkehr mitzuschneiden und auf IV-Wiederholungen zu warten. Es reicht nicht mehr aus, nur auf die wenigen Pakete mit schwachen IVs zu warten. Das legte die Latte für einen Angreifer schon wieder höher, insbesondere wenn man beim Initialisieren einer WLAN-Karte den IV-Zähler nicht einfach auf Null, sondern einen zufälligen Wert initialisiert: der IV-Zähler in einem Access Point beginnt ja erst dann zu zählen, wenn sich die erste Station einbucht und mit der Datenübertragung beginnt.

Wenn Access Point und Station ihre IV-Zähler jeweils einfach auf Null initialisieren, erhält man damit praktisch sofort nach dem Start der Verbindung Pakete mit identischen IV-Werten. Durch die Initialisierung auf einen zufälligen Wert kann man die Kollision so wenigstens um durchschnittlich 223 Pakete verzögern, also den halben Raum möglicher IVs. Bei mehr als einer Station in einem WLAN reduziert sich dieser Wert natürlich.

Ausblick

WEPplus ist bei sachlicher Betrachtung nur eine leichte Verbesserung. Aber es war geeignet, die Anwender wieder so weit zu beruhigen, dass sie WEP wenigstens für den Heimgebrauch wieder akzeptierten. Dennoch ist auch dort ein häufiger Schlüsselwechsel nötig.

Für den Einsatz im professionellen Umfeld reicht die Sicherheit von WEPplus natürlich nicht aus. Welche standardisierten Lösungen dort zum Einsatz kommen, lesen Sie in wenigen Tagen im zweiten Teil unserer Mini-Serie. (ala)

Dieser Beitrag basiert auf einem Techpaper der Firma LANCOM. Das in Würselen ansässige deutsche Unternehmen ist Hersteller innovativer und sicherer Kommunikationslösungen in den Bereichen Secure Internet Access, VPN Network Connectivity und Wireless LAN.