|
luecken-WEP-Protokoll
Um die Vertraulichkeit der übertragenen Daten zu gewährleisten,
verwendet das WEP-Protokoll den Verschlüsselungs-Algorithmus RC4. Dieser Algorithmus
ist ein so genannter Stromchiffre, d.h. jedes Zeichen wird einzeln verschlüsselt,
und er wurde 1987 von Ron Rivest der RSA Data Security entwickelt.
1994 wurde der bis dato geheim gehaltene
Algorithmus im Internet veröffentlicht und wird
seitdem in vielen kommerziellen (z.B. Lotus Notus,
Oracle Secure SQL) sowie freien Softwareprodukten
(z.B. OpenSSL) verwendet. Er verwendet Schlüssel
mit variabler Länge zwischen 1 und 2048 Bit und
gilt, wie jeder Stromchiffre, als unsicher, wenn ein
Schlüssel mehrfach zur Verschlüsselung eingesetzt
wird.
Wie bereits vorgestellt werden im
WEP-Verfahren die Daten paketweise und in Abhängigkeit
von einem Schlüssel und einem Initialisierungsvektor
(IV) in Chiffratdaten umgewandelt. Der Schlüssel
ist dabei eine Zeichenkette von wahlweise 40 oder
104 Bit und muss den am Funknetz beteiligten Clients
sowie dem Access Point vorab zur Verfügung gestellt
werden, wobei für das gesamte Netzwerk ein gemeinsamer
Schlüssel verwendet wird. Aufgrund der Tatsache,
dass innerhalb des gesamten Netzwerkes nur ein
gemeinsamer Schlüssel verwendet wird und nur
ein allgemeiner Aufbau des WEP-Verfahrens vorherrscht,
ergeben sich konkret die folgenden Schwachstellen:
-
Eine Schlüssellänge
von 40 Bit ist viel zu kurz. Mit nur einem mitgeschnittenen
Teil der Chiffrats kann das gesamte Chiffrat mit
einem handelsüblichen Computer innerhalb weniger
Tage mit sämtlichen infrage kommenden Schlüsseln
verglichen werden, um den korrekten Schlüssel
zu errechnen (Brute Force-Attacke).
Sobald ein Angreifer den korrekten Schlüssel
gefunden hat, ist dieser in der Lage, den gesamten
Netzwerkverkehr des drahtlosen Netzwerkes mitzulesen,
bis der Schlüssel durch den Betreiber des Funknetzes
gewechselt wird, sofern dies überhaupt geschieht.
-
Die Gesamtlänge des im
Klartext übertragenen Initialisierungsvektors
(IV) ist mit 24 Bit zu kurz. Da im WEP-Verfahren
mit RC4 ein Stromchiffrier-Algorithmus zum Einsatz
kommt, kann die Datenübertragung nur dann sicher
sein, wenn der generierte Bitstrom für je zwei
Datenpakete unterschiedlich ist. Sobald zwei Mal
mit demselben Bitstrom verschlüsselt wurde,
lassen sich sowohl die beiden Datenpakete als auch
der Bitstrom in vielen Fällen rekonstruieren.
Da sich der Bitstrom aus dem Schlüssel und
Dem Initialisierungsvektor berechnet und der Schlüssel
für längere Zeit als konstant angenommen
werden kann, kann es ausreichend sein, zwei verschlüsselte
Datenpakete mit demselben Initialisierungsvektor
abzufangen, um diese zu entziffern. Aufgrund der
Tatsache, dass der Initialisierungsvektor nach einem
fest stehenden Algorithmus nach jedem neuen Paket
verändert wird, bedeutet dies, dass spätestens
nach 2^24, d.h. nach ca. 16,7 Millionen Datenpaketen
wieder mit der gleichen Abfolge von Initialisierungsvektoren
begonnen wird und der Verschlüsselung der folgenden
Pakete die gleichen Zeichenfolgen zugrunde liegen.
Ein Angreifer kann also ab diesem Zeitpunkt mit
einer hohen Wahrscheinlichkeit den gesamten Netzwerkverkehr
mitlesen. Die Problematik der zu kurzen Initialisierungsvektoren
betrifft Schlüssellängen von 40 und 104
Bit gleichermaßen.
[ Zurück zum Anfang ] |
|
|