Rechnernetze
Home Nach oben Stichworte

Wiederverwendung des RC4-Schlüsselstroms

WEP verschlüsselt den Klartext durch Verknüpfung mittels exklusivem Oder mit einem RC4-Schlüsselstrom. Der verwendete Schlüsselstrom wird durch den RC4-Schlüssel bestimmt, welcher sich aus Initialisierungsvektor und WEP-Schlüssel zusammensetzt. Ist einem Angreifer der Klartext einer versendeten Nachricht bekannt, so kann er den RC4-Schlüsselstrom durch Verknüpfung des Chiffretext mit dem Klartext mittels exklusivem Oder erlangen. Der zugehörige Initialisierungsvektor wird bei jeder Nachricht unverschlüsselt mitgeschickt und ist dem Angreifer somit bekannt. Fängt der Angreifer nun eine Nachricht mit demselben Initialisierungsvektor ab, so kann er diese mit Hilfe des RC4-Schlüsselstroms entschlüsseln.

Als Voraussetzung hierfür gilt natürlich, dass sich der WEP-Schlüssel nicht geändert hat und der RC4-Schlüsselstrom eine ausreichende Länge besitzt. Zusätzlich kann er auch selbst Nachrichten verschicken. Dies ist möglich, da der Standard die Wiederverwendung von Initialisierungsvektoren nicht verbietet, sondern nur empfiehlt, eine Wiederverwendung solange wie möglich zu vermeiden. Aufgrund der Länge des Initialisierungsvektors von 24 Bit sind jedoch höchstens 16,8 Mio. verschiedene RC4-Schlüsselströme möglich, die bei einer durchschnittlichen Auslastung des Netzes von 2,5 MBit/s und einer durchschnittlichen Größe der Nachrichten von 1024 Byte bereits innerhalb eines Tages verbraucht werden (vgl. Tabelle 2). Es ist deshalb für einen Angreifer möglich ein Wörterbuch aus Kombinationen von Initialisierungsvektor und zugehörigem RC4-Schlüsselstrom aufzubauen, um so Nachrichten zu ver- und vor allem auch zu entschlüsseln. Abbildung 13 soll den dargestellten Zusammenhang nochmals verdeutlichen.

Zeit zum Versenden von 16.8 Mio. Nachrichten in Abhängigkeit der durchschnittlichen 
Größe der Nachrichten und der durchschnittlichen Auslastung des Netzes.

Die für den Aufbau eines solchen Wörterbuchs nötigen RC4-Schlüsselströme lassen sich wie bereits vorgestellt ermitteln, wenn der Klartext zu einer verschlüsselten Nachricht bekannt ist. Der Klartext läßt sich auf verschiedene Weise ermitteln. Zum einen kann dies erreicht werden, indem von außen eine Einspeisung von Nachrichten mit bekanntem Klartext erfolgt, beispielsweise durch ICMP Nachrichten oder E-Mails. 

Für aufeinanderfolgende Nachrichten verwendete RC4-Schlüsselstrom ändert sich aufgrund des Initialisierungsvektors. Ein Angreifer kann den Schlüsselstrom durch Erlangung des Klartextes einer Nachricht gewinnen. Auf diese Weise lässt sich ein Wörterbuch aus Kombinationen von Initialisierungsvektor und zugehörigem RC4-Schlüsselstrom aufbauen, welches zum Ver- und Entschlüsseln von Nachrichten verwendet werden kann.

Zum anderen ist es auch möglich, wenn mehrere Nachrichten abgefangen werden, die aufgrund desselben Initialisierungsvektors mit demselben RC4-Schlüsselstrom verschlüsselt sind. Durch Verknüpfung mittels exklusivem Oder zwei solcher verschlüsselten Nachrichten C1 und C2 hebt sich der RC4-Schlüsselstrom RC4KS auf und es bleibt die Verknüpfung der beiden Klartexte P1 und P2 übrig:

Durch ist hierbei das exklusive Oder dargestellt. Für die Erlangung der einzelnen Klartexte können nun Verfahren wie Häufigkeitsanalyse angewendet werden. Einfacher wird es jedoch, wenn mehr als zwei Nachrichten (n > 2) mit demselben Initialisierungsvektor und damit demselben Schlüsselstrom abgefangen werden. Hierdurch entsteht ein Problem der Tiefe n.

Auch wenn durch die hier vorgestellte Schwäche nicht der WEP-Schlüssel selbst ermittelt werden kann, so ermöglicht ein Wörterbuch aus Kombinationen von Initialisierungsvektor und zugehörigem RC4-Schlüsselstrom dennoch die nahezu uneingeschränkte Ver- und Entschlüsselung von Nachrichten. Voraussetzung hierfür ist, dass der im Wörterbuch vorhandene RC4-Schlüsselstrom eine ausreichende Länge besitzt. Als Nachteile sind jedoch der Aufwand für die Erlangung des zum Aufbau des Wörterbuches nötigen Klartextes und der verhältnismäßig große Speicherplatzaufwand für das Wörterbuch zu nennen. Die maximale Größe des Wörterbuchs berechnet sich hierbei aus der Anzahl der Einträge c, der Größe eines Initialisierungsvektors Si und der maximalen Größe eines RC4-Schlüsselstroms SRC4:

Die maximale Größe eines RC4-Schlüsselstroms wird hierbei durch die maximale Länge des Rumpfes eines IEEE 802.11 MAC-Rahmens abzüglich der 4 Byte für Schlüsselnummer und Initialisierungsvektor vorgegeben (vgl. Abbildung 1).