Wave-LAN: Wireless Encryption Placebo

Wave-LAN ist was feines. Die Möglichkeit an einem entspannten Ort in der Sonne zu sitzten und trotzdem über akzeptable Bandbreite zu verfügen, erfüllt ohne Zweifel einen uralten Hackertraum. Und der Dilettantismus mit dem die meisten Wave-LAN Nutzer vorgehen, öffnet sogar noch weitere Spielwiesen. Bis her war ja alles ganz witzig. Clevere Junghacker kümmerten sich rührend um kommunikationsbegierige Expo-Roboter. Auf der Cebit war es ein nicht unerhebliches Problem angesichts der vielen mit großer Power sendenden unverschlüsselten Wave-LANs, die Linuxtreiber zum Einloggen in das eigene verschlüsseltes Netz zu bewegen. Und schliesslich glauben einige Universitäten , dass frei wählbare MAC Adressen eine ausreichende Authentifizierung darstellen (Thanks to SK).

Nicht mehr lustig ist die Sache natürlich, wenn Krankenhäuser aus Kostengründen auf die aufwendige Verkabelungen verzichten und ihre Patientendaten unverschlüsselt übertragen oder man hören muss, dass ein grosser EDV-Dienstleister am Potsdamer Platz die DEBIlität (Sic!) besitzt, sich von der Straße aus sich hinter die Firewall hupsen zu lassen.

Der CCC hat mit Recht unter anderem das Einschalten Wired Equivalent Privacy(WEP) Verschlüsselungs- und Authentifizierungsprotokoll angemahnt. Leider taugt WEP weder für Vertraulichkeit noch für Zugangsschutz. Wobei hier sogar das Kunststück fertig gebracht wurde, die Sicherheit von normalen 40 Bit Kryptographie nochmal zu unterbieten. Wegen der hohen Praxisrelevanz sei trotzdem zunächst nochmal auf das 40-bit Problem eingegangen werden.

40-bit Verschlüsselung: Unsicher gegen fast alle Angreifer

WAVE-LAN Systeme, welche 40-bit Karten ("Silber") einsetzten sind für praktisch alle Angreifer unsicher. Hersteller welche von 64 bit WEP sprechen, beweisen im Übrigen lediglich managend kryptographische Kompetenz. 24 bit des 64 bit RC4 Schlüssels werden der verschlüsselten Nachricht als Klartext vorangestellt, woraus sich die effektive Schlüssellänge auf 40 bit verkürzt. Da die Nutzlosigkeit derartiger schwacher Kryptographie schon unzählige Male auseiandergesetzt wurde hierzu nur ein Satz:

Ein Angriff auf 40-bit RC4 verschlüsselte Nachrichten wurde bereits mehrfach erfolgreich demonstriert, für die nötigen Anpassungen bekommt man an den meisten Unis nicht mal einen Praktikumsschein für das Informatik Grundstudium, und auch der konkrete Rechenaufwand dürfte jedes Wochenende ungenutzt in jedem mittleren Fakultäts-Rechnerpool rumidlen.

Die einzig gute Nachricht für 40-bit Kartenbesitzer ist, dass es um die Sicherheit der teureren ?128" bit Karte ("Gold") auch nicht wirklich viel besser bestellt ist. Wobei es sich übrigens eigentlich wiederum um 104 bit Karten handelt.

Solides Halbwissen reicht nicht für Protokolldesign

Das ganze Design des WEP Protokolls erinnert an einen Studienanfänger, welcher aus religiösen Gründen nur jede zweite Vorlesung der Kryptographie-Einführung besucht hat. Das ist nicht weiter verwunderlich, da viele, insbesondere auch in der deutschen Computericherheitsgemeinde der Meinung sind, Kryptographie sei ausreichend verstanden und könnte problemlos neben her laufen. Immerhin kann man einen Fortschritt attestieren, bisherige Industrieprotokolle erinnerten eher an Entwürfe von Leuten, welche nur jede 5. Kryptographievorlesung besucht haben. Was umgekehrt allerdings sehr lobenswert ist, dass die Autoren derart viele Anfängerfehler eingebaut habe, dass man die ersten 5 Vorlesungen einer Kryptographieeinführung damit problemlos bestreiten kann.

Es gibt einen gemeinsamen Schlüssel, welcher sicher an alle Teilnehmer gesendet werden muss ("Shared Secret"). An diesen Schlüssel (40 bzw. 104 bit) werden weitere 24 bit zur Erzeugung des Paketschlüssels angehängt. Dieser wird dann zu Verschlüsselung eines Datenpaketes verwendet. Die 24 bit IV werden als eine Art Initial Vektor (IV) bei jedem Paket im Klartext übertragen und sind daher allgemein lesbar. Als Prüfsumme wird CRC-32 verwendet. Diese wird ebenfalls mit verschlüsselt.

RC4 statt Selbsgestricktes

Das Leben eines Kryptoforschers ist manchmal ganz schön hart. Die fast alle akademischen Verfahren erfordern eine harte, lange Analyse, um dann - und das ist dann schon oft das höchste der Gefühle - eine wissenschaftliche Veröffentlichung zu erhalten, die meist so beginnen könnte:

"Zuerst zerstören wir all die überflüssigen Planeten der benachbarten Galaxien um Platz für Speicher zu schaffen, anschließend füttern wir und unsere Ahnen das Verfahren einige Milliarden Jahre mit fein ausgewählte Klartext/Ciphertext Kombinationen, und schon haben wir eine leichte statistische Schwäche einer reduzierten Variante des Verschlüsselungsverfahrens gefunden".

Da sind doch die handgemachte Verfahren der Industrie, die schon durch schiefes Hinschauen die Schlüssel herausrücken (DVD, GSM, ...) eine echte Erholung.

Immerhin diese Lektion hatten die Protokollentwickler gelernt. Allerdings trafen Sie zielsicher unter den wirklich zahlreichen von der Forschungsgemeinde als hinreichend sicher geltenden Algorithmen die wohl schlechtest mögliche Wahl. RC4 ist ein patentiertes Verfahren von RSA Security Inc. Es ist so elegant und schnell, dass sich absolut kein gutes kryptographisches Gefühl einstellt. Und in der Tat wurden in der letzten Zeit wiederholt statistische Probleme aufgezeigt. Ein Blick in die CCC Datenschleuder hätte übrigens genügt ((http://cryptolabs.org/arcfour/WeisDatenschleuderSummer2000arcfour.txt) um auf dem Laufenden zu bleiben.

Übrigens, wenn das Protokoll insgesamt nicht so katastrophal schwach wäre, würde es sich vielleicht auch lohenen nachzusehen, ob die ersten Bits des Ausgabestromes von RC4 in verworfen werden. Die haben nämlich einige unschöne Eigenschaften.

Das Hauptproblem ist jedoch, dass RC4 ein Stomciffrierer ist, und sowas sollte man nur verwenden, wenn man sich damit auskennt.

Problematisch Bausteine falsch kombiniert

Man kann Stromchiffrierer als Black-Box betrachten in die man einen kryptographischen Schlüssel steckt und der darauf hin einen beliebig langen Strom von Schlüsselbits erzeugt, welche mit dem Klartext zum Verschlüsselten Text XOR verknüpft werden.

Also

Ciphertext = Klartext XOR Schlüsselstrom(Key)

die Entschlüsselung ist genauso einfach:

Klartext = Ciphertext XOR Schlüsselstrom(Key)

Zwei Dinge sind recht offensichtlich. Erstens hängt der Schlüsselstrom nur vom Schlüssel und in keiner Weise vom Klartext ab. Wenn man also 2 Nachrichten mit dem selben Schlüssel verschlüsselt hat man ein Problem:

Ciphertext1 = Klartext1 XOR Schlüsselstrom(Key)

Ciphertext2 = Klartext2 XOR Schlüsselstrom(Key)

Kennt man nun den Klartext1, so kann man auch den Klartext2 lesen denn:

Ciphertext2 XOR Ciphertext1 XOR Klartext1

= (Klartext2 XOR Schlüsselstrom(Key))

(XOR Klartext1 XOR Schlüsselstrom(Key))

XOR Klartext1

= Klartext2

und es kommt sogar noch übler, es gilt nämlich

Ciphertext1 XOR Ciphertext2 = Klartext1 XOR Klartext2

Da die Klartexte meist eine erratbare Struktur haben, reicht meist also auch das passive Abhören.

Zweitens sind Stromciffrierer empfindlich gegen Manipulationen des Ciphertextes. Wenn man ein Bit im Ciphertext umkippt kippt genau das selbe Bit im Klartext nach der Entschlüsselung.

Wenn man darüberhinaus wie in WEP auch noch eine lineare Prüfsumme verwendet kann man problemlos gefälschte Pakete mit gültiger Prüfsumme erzeugen.

Eine goldene Regel ist also, dass wenn man schon Stromchiffrierer einsetzt, dringlichst für eine Vermeidung vom Schlüsselwiederholungen zu erzwingen und für die Integrität der Daten zu sorgen. In beiden Anforderungen versagt WEP kläglich.

Professorale Hacker/die üblichen Verdächtigen zertrümmern WEP

Nikita Borisov (UC Berkeley), Dr. Ian Goldberg (Zeroknowledge) und Prof. Dr. David Wagner (UC Berkeley) - keine Sorge, dass sind immer noch dieselben geschätzten Hacker und Party-Animals - warfen in Februar 2001 einen kurzen Blick auf den WEP Standard. Dieser kostet ärgerlicher Weise echt Kohle und wurde daher vorher wohl nicht ausreichend öffentlich analysiert. Und das ist auch deswegen ärgerlich, weil die ganze Konstruktion ist so grotten schlecht, dass diese Angelegenheit eine schwer entschuldbare Verschwendung von Ressourcen einer der besten Forschergruppen der Welt darstellt. Da die Gruppe die jeweiligen Angriffe ausgezeichnet dokumentiert hat (http://www.isaac.cs.berkeley.edu/isaac/wep-faq.html), gebe ich nur einen kurzen Abriss.

Implementierung: Realwelt Problem Nummer 1

WEP ist auch bei einer klugen Implementierung katastrophal unsicher. Da in der Praxis auch mit der die schnellstmöglichsten, standarkonformen Implementierung gerechnet werden muss, sollte man auch, wenn es in diesem Fall wirklich an das Erschiessen eines Fischstäbchen erinnert, dies bei der Analyse berücksichtigen. Untersuchen wir zunächst unter welchen Umständen eine gefährliche Wiederholung des IV und damit des Stromchiffriererschlüssel auftreten.

Der WEP Standard "recommends" nicht requires" den Wechsel von IV bei jedem Paket. Dies bedeutet, dass auch eine Implementierung, welche immer den selben Schlüssel verwendet vollständig standardkonform ist. Auch setzen einige Implementierungen den IV zu 0 bei jeder Initialisierung. Und dann könnten einige ganz Clevere IV auf die Idee kommen, alle IVs mit einem starken Zufallsgenerator erzeugen. Dann allerdings beginnt es wegen des Geburtstagsparadoxons schon nach 2^{12}= 4096 Paketen heftig zu kollidieren.
 

Auch die bestmögliche Implementierung ist unsicher

Aber selbst, wenn man richtigerweise den ersten IV zufällig initialisiert und bei jedem Paket den IV inkrementiert, nutz man zwar den ganzen jeweiligen Schlüsselraum, doch dieser hat lediglich die Mächtigkeit von 2^{24}. Es ist eine einfache Rechenaufgabe, dass in diesem Falle, wenn man eine Paketgrösse von 1500 byte und die verwendete Übertragungsbandbreite von 5-11 MB annimmt, nach einigen Stunden IV Wiederholungen eintreten.

Zudem gibt es auch bei einer 104-bit Karte nur 2^{24} verschiedene Schlüsselströme. Verfügt man über eine 24 GB Platte (soll ja vorkommen) kann man versuchen eine Art vollständiges Codebuch erzeugen, mit welchem man ohne Kenntnis des eigentlichen Schlüssels jedes Paket entschlüsseln kann.

Authentifizierung versagt u.a. wegen Linearität der Prüfsumme

Wer nun aber annimmt, es könnte nicht mehr schlimmer kommen, irrt leider. Die Authentifizierung ist noch weit schlechter als die Verschlüsselung.

Als Prüfsumme verwendet WEP das bekannte CRC-32 Verfahren. CRC-32 ist schnell zu implementieren, gut im zufällige Bitfehler aufdecken und beliebt als mathematische Übungsaufgabe für Informatiker. Als kryptographische Prüfsumme ist es schlicht und einfach ein Alptraum. Wie der Name sagt erzeugt das Verfahren gerade mal eine 32 bit Ausgabe. Selbst bei der Verwendung einer starken kryptographischen Hashfunktion (z.B. SHA) würden 32 bit in gar keiner Weise ausreichen. Aber es kommt noch dicker. CRC ist linear. Linearität einer Prüfsumme ist eine Eigenschaft, die jedem Kryptographen eigentlich den Schlaf rauben sollte. Scriptkiddy-einfach wird es aber wenn man CRC-32 in ?Zusammenarbeit" mit einem Stromchiffrierer verwendet. Stromchiffrierer sind auch linear, also kann man beliebig Ciphertext manipulieren und die Prüfsumme anpassen.

Sei IP-EC die IP Adresse der ReallyEvalCooperation.com und IP-NH die Adresse von PrettyNiceHackers.org

so findet ein verschlüsseltes Pakete

IP-EC XOR UnbekannteSchluesselstrombits|| ....||

CRC-32(Paket) XOR AndereUnbekannteSchluesselstrombits

nach einer leichten Anpassungen

IP-EC XOR UnbekannteSchluesselstrombits {XOR IP-ECXOR IP-NH}||...||

CRC-32(Paket) XOR AndereUnbekannteSchluesselstrombits

{XOR CRC-32(IP-EC XOR IP-NH)}

mit gültiger Prüfsumme die richtige Adresse.

Praktische Angriffe

Im Orginalpaper sind dann noch weitere praktische Angriffe aufgelistet. Das Einzige was man braucht um WEP zu überwinden, ist ein schwachbrüstiger Handheld mit Wave-LAN Karte und eine kooperative Firmware, welche sich in einen promiscuren Modus schalten lässt. Da einige Karten netterweise über updatebare Firmware verfügen, entfällt auch die lästige Rumlöterei. Die gute Nachricht ist, dass zwei Gruppen, die meines Wissen daran arbeiten, aus philantrophen Anarchisten bestehen.

Problemlösung

Kryptographie ist schwierig. Offensichtlich ist nicht einmal die IEEE in der Lage ohne Review der Wissenschaftsgemeinde ein halbwegs brauchbares Protokoll zu designen. Konsequenz sollte daher, der Einsatz von von ausführlich analysierten kryptographischen Protokollen sein. Als kurzfristige Lösung sei der Einsatz von IPSEC angeregt. Die elementaren Massnahmen das Wave-LAN zu verstecken (vielleicht sogar ohne leicht erratbarem Namen) und trotz der Unzulänglichkeit WEP einzuschalten, sind als kryptographische Notversorgung natürlich auch weiterhin zu empfehlen

Ruediger Weis, Amsterdam, <ruedi@cryptolabs.org>