„Wired Equivalent Privacy“ – Versionsunterschied
[ungesichtete Version] | [gesichtete Version] |
K wikifiziert |
Aka (Diskussion | Beiträge) |
||
(389 dazwischenliegende Versionen von mehr als 100 Benutzern, die nicht angezeigt werden) | |||
Zeile 1: | Zeile 1: | ||
'''Wired Equivalent Privacy''' ('''WEP''', engl. „''Verdrahteten'' (Systemen) ''entsprechende Privatsphäre''“) ist das ehemalige Standard-[[Verschlüsselung]]sprotokoll für [[Wireless LAN|WLAN]]. Es sollte sowohl den Zugang zum Netz regeln als auch die Vertraulichkeit und [[Integrität (Informationssicherheit)|Integrität]] der [[Daten]] sicherstellen. Aufgrund verschiedener Schwachstellen gilt das Verfahren grundlegend als unsicher. Die Berechnung des Schlüssels aus einigen Minuten an aufgezeichneten Daten dauert normalerweise nur wenige Sekunden. Daher bieten moderne Geräte WEP gar nicht mehr als Verschlüsselungsoption an und es sollte auch in keinem Fall mehr verwendet werden. |
|||
== Definition == |
|||
Aufgrund der akuten Sicherheitslücken wurde als Übergangslösung der Nachfolger [[Wi-Fi Protected Access|WPA]] im Jahr 2003 veröffentlicht. Dieser basierte jedoch auf noch alten Sicherheitstechnologien, sodass erst das im Jahr 2004 veröffentlichte [[Wi-Fi Protected Access 2|WPA2]] ein vollwertiger Nachfolger für WEP ist. All diese Standards werden von der [[Wi-Fi|Wi-Fi Alliance]] mittlerweile als veraltet bezeichnet, da [[WPA3]] das aktuellste (Stand: 2022) Verschlüsselungsprotokoll ist.<ref>{{Internetquelle |url=https://www.wi-fi.org/knowledge-center/faq/what-are-legacy-protocols |titel=What are “legacy protocols”? |hrsg=Wi-Fi Alliance |abruf=2022-11-01}}</ref> |
|||
'''Wired-Equivalent-Privacy (WEP)''' ist der Standard [[Verschlüsselung]]s-Algorithmus für [[WLAN]]s. WEP soll sowohl den Zugang zum Netz regeln, als auch die Geheimhaltung und [[Integrität]] der Daten sicherstellen. |
|||
== Funktionsweise == |
== Funktionsweise == |
||
Generell handelt es sich um eine einfache [[XOR-Verknüpfung]] des Bitstroms der Nutzdaten mit einem aus dem [[RC4]]-[[Algorithmus]] generierten, [[pseudozufällig]]en Bitstrom. |
|||
[[Datei:Ciphertext transmission.svg|gerahmt|zentriert|Ein Ciphertext wird übertragen]] |
|||
Die Verschlüsselung per WEP wird mit dem [[RC4]]-Algorithmus erzeugt, dessen effektiv eingesetzter Schlüssel aus einem konstanten WEP-Schlüssel und einem Initialisierungsvektor generiert wird. Als Checksummenalogrithmus wird [[Cyclic Redundancy Check|CRC32]] verwendet. |
|||
Das WEP-Protokoll verwendet den [[RC4]]-[[Algorithmus]] als [[Pseudozufallszahlengenerator]] (PRNG) bei der Erzeugung eines Keystreams, der einen [[Schlüssel (Kryptologie)|Schlüssel]] und einen [[Initialisierungsvektor]] als Eingabe erhält. Für jede zu schützende Nachricht M wird ein neuer 24 Bit langer Initialisierungsvektor IV gebildet und mit einem Schlüssel K verknüpft, der allen Stationen im [[Wireless Access Point#802.11-Accesspoints|Basic Service Set]] bekannt ist. Das Ergebnis dient als Eingabe für den RC4-Algorithmus, welcher daraus einen Keystream erzeugt. Zusätzlich wird mittels [[Zyklische Redundanzprüfung|Zyklischer Redundanzprüfung]] (ZRP, engl. CRC) ein vermeintlich sicherer „Integritätsprüfwert“ (Integrity Check Value – ICV) berechnet und an die Nachricht M angehängt (||). |
|||
Die resultierende Nachricht (M||ICV) wird mit dem Keystream (RC4(IV||K)) des RC4-Algorithmus XOR-verknüpft und der Initialisierungsvektor IV wird dem resultierenden Ciphertext vorangestellt. |
|||
Die unteren Abbildungen verdeutlichen Verschlüsselung und Entschlüsselung.<ref>[http://userpages.uni-koblenz.de/~steigner/seminar-net-sec/sem8.pdf Seminar Net Security – Sicherheit im WLAN von Jörg Hedrich]{{Toter Link|date=2018-03 |archivebot=2018-03-24 23:38:07 InternetArchiveBot |url=http://userpages.uni-koblenz.de/~steigner/seminar-net-sec/sem8.pdf }} ([[Portable Document Format|PDF]]; 831 kB)</ref> |
|||
[[Datei:WEP Kodierung.JPG|700x700px|zentriert|WEP-Verschlüsselung]] |
|||
[[Datei:WEP Dekodierung.JPG|gerahmt|zentriert|WEP-Entschlüsselung]] |
|||
Bei der Authentifizierung unterscheidet man zwei Verfahren: |
|||
=== Open System Authentication === |
|||
Die Open System Authentication ist die Standard-Authentifizierung. |
|||
* Ist der Accesspoint für keine Verschlüsselung konfiguriert, findet praktisch keine Authentifizierung statt und jeder Client kann sich mit dem WLAN verbinden. |
|||
* Ist der Accesspoint für Verschlüsselung konfiguriert (in diesem Fall WEP): |
|||
** ''logisch:'' Der WEP-Schlüssel dient gleichzeitig zur Authentifizierung: Jeder Client mit korrektem WEP-Schlüssel bekommt Zugang zum Netz. |
|||
** ''technisch:'' Es findet ein Austausch von Authentifizierungsnachrichten statt und der Client wird authentifiziert. Stimmen WEP-Key auf Accesspoint und Client überein, ist Kommunikation möglich. Stimmen diese nicht überein, ist der Client zwar authentifiziert, kann jedoch keine Daten mit dem Netz austauschen. |
|||
Die Implementation der Authentifizierung mittels Schlüssel ist ein Herstellerfeature und ist nicht im Standard beschrieben. |
|||
=== Shared Key Authentication === |
|||
Die ''Shared Key Authentication'' ist die vermeintlich sichere Variante. Die Authentifizierung erfolgt dabei über die [[Challenge-Response-Authentifizierung]] mit einem geheimen Schlüssel. |
|||
[[Datei:WEP.svg|400px|mini|Authentifizierungsverfahren]] |
|||
Allerdings basiert das Challenge-Response-Verfahren auch auf WEP und weist dieselbe Schwäche auf. Durch den Einsatz von ''Shared-Key Authentication'' wird der geheime Schlüssel entblößt, wie im nächsten Abschnitt gezeigt wird. Höchst ratsam ist es daher, auf die ''Shared-Key-Authentication'' zu verzichten und die ''Open Authentication'' einzusetzen. Auf Verschlüsselung sollte dennoch nie verzichtet werden. Auch mit ''Open Authentication'' kann ein verbundener Netzwerkteilnehmer nur mit Kenntnis des WEP-Schlüssels eine Kommunikation mit dem [[Wireless Access Point|Access Point]] aufbauen. |
|||
Die vier Nachrichten der WEP-Authentifizierung stellen die Zugriffsberechtigung des Client sicher. |
|||
=== Angriff auf die Authentifikation === |
|||
Wie schon erwähnt, trägt die Shared-Key-Authentifikation nicht zum Schutz bei, sondern gibt im Gegenteil ungewollt Informationen preis. Da wir es hier mit einer [[Challenge-Response-Authentifizierung]] zu tun haben, spielt sich das ganze folgendermaßen ab: |
|||
* Der Server schickt dem Client die ''Challenge1'', bspw. eine Zufallszahl. |
|||
* Der Client verschlüsselt diese Zahl wie oben angegeben und schickt das WEP-Paket (''IV1'' + ''Ciphertext1'') zurück an den Server |
|||
* Trudy, die Angreiferin (von engl. ''intruder''), kann also die drei Informationen (''Challenge1'', ''IV1'' und ''Ciphertext1'') erlauschen. Sie errechnet nun mittels [[XOR]] Challenge1 <math>\oplus</math> Ciphertext1 = Challenge1 <math>\oplus</math> (Challenge1 <math>\oplus</math> Keystream1) = Keystream1 |
|||
Trudy hat nun ''Keystream1'' und ''IV1'', was sich als gültige Kombination erweist. Sie kann nun selbst versuchen, sich authentifizieren zu lassen. Eine ''Challenge2'' vom Server beantwortet sie nun einfach mit dem WEP-Paket, bestehend aus ''IV1'' + ''Ciphertext2'', wobei sich Letzterer ergibt aus ''Challenge2'' <math>\oplus</math> ''Keystream1''. Dies schickt sie an den Server und wird erfolgreich authentifiziert. |
|||
== Das WEP-Datenpaket == |
|||
[[Datei:WEP-DPaket.PNG|mini|WEP-Datenpaket]] |
|||
Ein WEP-Datenpaket besteht aus: |
|||
* einem unverschlüsselten 24-Bit-Initialisierungsvektor (IV), der den WEP-Schlüssel zum Gesamtschlüssel mit 64 Bit, 128 Bit oder 256 Bit macht |
|||
* den eigentlichen Nutzdaten |
|||
* einer 32-Bit-Prüfsumme dieser Nutzdaten (Integrity Check Value, ICV, mittels [[Zyklische Redundanzprüfung|Zyklischer Redundanzprüfung]]). |
|||
[[Datei:WEP-Paket.PNG|mini|WEP-Gesamtpaket]] |
|||
Das eigentliche WEP-Datenpaket besteht aus den Daten und der 32 Bit langen Prüfbitfolge. Dieses wird mit der IV-WEP-Schlüsselkombination verschlüsselt, und dem Ganzen wird der Initialisierungsvektor vorangestellt. |
|||
Aus dem IV kann der Empfänger schließlich zusammen mit dem RC4-Schlüssel wieder den Klartext der Nachricht berechnen. |
|||
== Schwachstellen == |
== Schwachstellen == |
||
Es existieren viele gut funktionierende Angriffe auf WEP-gesicherte Netze. Wenn ein WEP-gesichertes WLAN jedoch keine Teilnehmer hat, das heißt, wenn sich niemals jemand an diesem Netzwerk angemeldet hat, dann ist die Wahrscheinlichkeit sehr gering, den Schlüssel schnell zu berechnen bzw. ihn überhaupt zu berechnen. Die meisten Angriffe nutzen die Schwachstelle des mit 24 Bit sehr kurzen Initialisierungsvektor IV bei der RC4-Verschlüsselung aus.<ref>Scott Fluhrer, Itsik Mantin, [[Adi Shamir]]: {{Webarchiv |url=http://www.drizzle.com/~aboba/IEEE/rc4_ksaproc.pdf |text=''Weaknesses in the Key Scheduling Algorithm of RC4'' |wayback=20030317002453}} ([[Portable Document Format|PDF]]; 297 kB)</ref> Diese Angriffsmethode wird in allgemeinen Bezug auch als [[Related-Key-Attack]] bezeichnet. |
|||
Viele aktive Angriffe setzen seitens des Angreifers modifizierte Treiber voraus, da diese ''Reinjection'' beherrschen müssen. Anfangs unterstützten viele Treiber nicht einmal das passive Lauschen auf einem oder gar mehreren Kanälen (Monitor Mode). Jedoch ist passives Lauschen eine Grundvoraussetzung. Angenommen, ein Access Point hat viele Clients, die viele Daten produzieren; dann könnte man alles aufzeichnen und versuchen, mit den gewonnenen Daten den WEP-Schlüssel zu berechnen. Falls die Datenmenge noch nicht ausreicht, so kann man oft diesen Datenstrom verwenden, um daraus ''[[Address Resolution Protocol|ARP]] Requests'' zu extrahieren, die man für die ''Reinjection'' benötigt. Das Flooding seitens des Angreifers mittels ''ARP Requests'' führt – richtig durchgeführt – zu vielen ''ARP Replies'', die dann zum Brechen des WEP-Schlüssels verwendet werden können. ''Reinjection'' ist treiberseitig recht kompliziert, da die Frames, die man in das WLAN bringt, im richtigen Timing gesendet werden müssen. Weiter ist zu beachten, dass ein Access Point nach einer gewissen Zeit eine erneute Authentifikation seitens des Clients voraussetzt. Wenn der Client sich nicht wieder am Netz anmeldet, dann werden alle gesendeten Daten am Access Point verworfen und in [[Kismet (Sniffer)|Kismet]] ist beispielsweise ''suspicious client'' zu lesen. |
|||
=== CRC32 als Message Authentication Code (MAC) === |
|||
Die [[CRC32]]-Funktion ist streng linear, denn ''CRC32(A XOR B)=CRC32(A) XOR CRC32(B)''.<ref>{{Webarchiv |url=http://www.ece.mtu.edu/ee/faculty/mishra/Research/Security/NOTES/WEP_Flaws.htm |text=Flaws in WEP |wayback=20070318010843}}</ref> Daher ist diese Funktion als [[Message Authentication Code]] ungeeignet, denn es ist auch ohne den eigentlich dafür benötigten geheimen Schlüssels möglich, die Bits zu berechnen, die sich in der [[Prüfsumme]] ändern müssen, wenn man den [[Geheimtext]] ändern will. Durch diese Schwäche kann man den Payload des Paketes nach Belieben modifizieren, da man nach der Modifikation nur noch den MAC, also den neuen CRC32 Wert, berechnen muss. |
|||
Der obige Modifikationsschritt sieht in etwa so aus: |
|||
Verschlüsselte Nachricht m c=CRC32(m) |
|||
00100101001110010100101010101010100101... 10101010 10111101 10101101 10100000 |
|||
Modifikationsvektor m' c'=CRC32(m') |
|||
00000000000000000000000000000000001000... 00000001 10101010 10100000 10100100 |
|||
Im letzten Schritt berechnet man die neue Nachricht m_neu und den dazugehörigen MAC c_neu: |
|||
m_neu = m XOR m' |
|||
c_neu = CRC32(m) XOR CRC32(m') |
|||
Um eine gefälschte Nachricht zu erstellen und um diese dann zu versenden, müssen nun die Datenfelder m und CRC32(m) im original Datenpaket (engl. ''Frame'') durch die neu errechneten Werte m_neu und c_neu ersetzt werden. Nach dem Ersetzen kann das modifizierte Paket dann erneut versendet werden. |
|||
Auf diese Art kann man alle Pakete ändern. Wenn man jedoch wissen will, ob die Modifikation erfolgreich war, sollte man ein Paket wählen, das bei der Gegenstelle dann wieder zu einer Antwort führt. |
|||
Wenn das Quellpaket z. B. ein [[Ping (Datenübertragung)|Ping]]-Request war, so könnte man z. B. testen, auf welche Modifikationen im Paket man eine Antwort bekommt. Interessante zustandslose Pakete wären: ARP-Request sowie Ping. |
|||
=== Brechen des Schlüssels === |
|||
Es ist möglich, einen genutzten WEP-Schlüssel und damit die gesamte WEP-Verschlüsselung zu brechen. Es gibt für verschiedene Systeme Zubehör, das durch Mithören einer ausreichenden Menge des Datenverkehrs den verwendeten WEP-Schlüssel berechnen kann, zum Beispiel [[Aircrack]] oder [[Airsnort]]. Dieser Angriff basiert darauf, möglichst viele Pakete mit gleichem, schwachem Initialisierungsvektor zu haben. So ist es heute bereits möglich, eine WEP-Verschlüsselung in unter einer Minute zu knacken.<ref>heise Online [https://www.heise.de/newsticker/meldung/WEP-Verschluesselung-von-WLANs-in-unter-einer-Minute-geknackt-164971.html WEP-Verschlüsselung von WLANs in unter einer Minute geknackt]</ref> |
|||
In den letzten Jahren wurden die Angriffsmöglichkeiten immer weiter verbessert und ausgeweitet. So ist es beispielsweise möglich, wenn auch nur eine der übermittelten Nachrichten auch im [[Klartext (Kryptographie)|Klartext]] bekannt ist, beliebige Inhalte (korrekt verschlüsselt) in das [[Wireless LAN|WLAN]] einzuspeisen. Des Weiteren gibt es eine Technik, einzelne, mitgehörte Datenpakete zu entschlüsseln, indem sie mehrmals leicht modifiziert wieder in das WLAN eingespielt werden. Dieser so genannte [[KoreK-Angriff]] verwendet nicht wie bisher Datenpakete mit ''gleichem'' Initialisierungsvektor, sondern mit ''unterschiedlichen'', wodurch der Angriff viel effektiver wird.<ref>{{Literatur |Autor=Rafik Chaabouni |Titel=Break WEP Faster with Statistical Analysis |Datum=2006-06 |Kapitel=Kapitel 4 |Kommentar=Semesterarbeit an der [[École polytechnique fédérale de Lausanne|EPFL]] |Online=http://lasecwww.epfl.ch/pub/lasec/doc/cha06.pdf}}</ref> |
|||
Außerdem kommen neben den passiven Angriffen auch aktive Angriffe zum Einsatz. |
|||
So kann man Antworten des Access-Points forcieren, um innerhalb kürzester Zeit (~1 min) ausreichend Daten für einen erfolgreichen passiven Angriff zu sammeln. Dazu werden [[Address Resolution Protocol|ARP]]-Pakete anhand bestimmter Signaturen gezielt abgefangen und – ohne ihren entschlüsselten Inhalt zu kennen – wieder verschlüsselt in das WLAN eingespeist.<ref>[http://www.schnatterente.net/technik/wlan-sicherheit WLAN Sicherheit] – Schnatterente.net, 24. August 2015.</ref> |
|||
== Verwendung == |
|||
=== Sicherheitsmaßnahmen === |
|||
Aufgrund der vielfältigen Schwachstellen ist es nicht möglich, WEP mit zusätzlichen Maßnahmen so zu schützen, dass eine sichere Kommunikation möglich ist. Nur die Abschaltung und der Wechsel auf ein aktuelles und als sicher anerkanntes Verfahren wie [[WPA3]] ist sinnvoll. |
|||
=== Hardware === |
|||
[[Cyclic Redundancy Check|CRC32]] ist ebenso wie [[RC4]] linear, was mathematisch unsicher ist. So ist es möglich die Bits zu berechnen, die sich in der [[Checksumme]] ändern müssen, wenn man den [[Ciphertext]] ändert. |
|||
Bei alter Hardware, welche nur WEP unterstützt, ist es oft möglich durch Software- und Firmwareupdates eine Verwendung von sichereren Verschlüsselungen wie WPA oder WPA2 zu ermöglichen. Bei Geräten, wo das WLAN-Modul nicht fest verbaut ist, kann dies auch durch den Austausch gegen ein neueres WLAN-Modul geschehen. |
|||
Neue Hardware wie Router bieten WEP mittlerweile nicht mehr als Verschlüsselung an oder warnen eindringlich vor der Verwendung. |
|||
Verschiedene Gruppierungen konnten jedoch die Initialisierungsvektoren und damit die gesamte WEP-Verschlüsselung knacken. Mittlerweile gibt es für verschiedene Systeme Utilities, welche durch Mithören einer ausreichenden Menge Datenverkehrs den verwendeten WEP Schlüssel berechnen können. Außerdem sind mittlerweile noch weitere Angriffsmöglichkeiten bekannt geworden. So ist es z.B. möglich, wenn nur eine, der übermittelten Nachrichten auch im Klartext bekannt ist, beliebige Inhalte (korrekt verschlüsselt) in das WLAN einzuspeisen. Einen guten Überblick über die Schwachstellen von WEP bietet das folgende [http://www.isaac.cs.berkeley.edu/isaac/mobicom.pdf Paper], das an der Universität von Berkeley entstanden ist. |
|||
=== Betriebssysteme === |
|||
In der Folge kann WEP nicht mehr als ausreichend sicher angesehen werden. Es ist es nicht schwierig, manipulierte Daten in [[WLAN]]-Netze einzuspeisen, oder aber eine direkte Verbindung mit einem [[Wireless Access Point|Access Point]] herzustellen, um dann Zugang zum verkabelten Netz zu erhalten. |
|||
Auch Betriebssysteme wie Windows 10 haben WEP mittlerweile als veraltet und unsicher gekennzeichnet.<ref>[https://docs.microsoft.com/de-de/windows/deployment/planning/windows-10-deprecated-features In Windows 10 entfernte Features und Funktionen] - docs.microsoft.com, 19. April 2021.</ref> Die Unterstützung von WEP und [[Wi-Fi Protected Access|WPA (TKIP)]] wurde in Windows 10 und 11 zwischenzeitlich gänzlich entfernt.<ref>{{Internetquelle |autor=arminSt |url=https://windowsunited.de/microsoft-streicht-die-unsicheren-wlan-protokolle-wep-und-tkip/ |titel=Microsoft streicht die unsicheren WLAN-Protokolle WEP und TKIP |werk=WindowsUnited |datum=2022-02-18 |sprache=de |abruf=2024-12-10}}</ref> |
|||
Daher empfiehlt es sich, den Verkehr über den Access-Point über eine zusätzliche Verschlüsselung abzusichern. In der Praxis wird dies häufig durch ein [[VPN]] gelöst. |
|||
== Weblinks == |
|||
Hierbei wird wahlweise nur die Nutzlast oder das gesamte Datenpaket verschlüsselt. Da WEP dann keinerlei zusätzlichen Sicherheitsgewinn mehr bringt, sollte es nach dem [[KISS-Prinzip]] abgeschaltet werden um mögliche Fehlerquellen zu minimieren. Eine andere Meinung ist, dass man WEP nutzen sollte um [[OSI Modell|OSI Schicht]] 2 wenigsten minimal abzusichern. |
|||
* [https://www.heise.de/security/artikel/WLAN-Hacking-en-passant-270208.html WLAN-Hacking en passant] |
|||
* [https://www.heise.de/security/artikel/Dammbruch-bei-WEP-270672.html Dammbruch bei WEP] |
|||
* [http://www.microsoft.com/germany/technet/datenbank/articles/471600.mspx Vorbereiten des Einsatzes von IEEE 802.11-Netzwerken in Unternehmen] |
|||
* [http://chaosradio.ccc.de/cre044.html ''WEP is dead'', Podcast mit Erik Tews] |
|||
== Einzelnachweise == |
|||
==Externe Links== |
|||
<references /> |
|||
* [http://www.drizzle.com/~aboba/IEEE/rc4_ksaproc.pdf Weaknesses in the Key Scheduling Algorithm of RC4] von [[Scott Fluhrer]], [[Itsik Mantin]], und [[Adi Shamir]] |
|||
* [http://airsnort.shmoo.com/ Airsnort] - Programm zum Brechen der WEP Verschlüsselung |
|||
[[Kategorie:Kryptologischer Standard]] |
|||
[[en:Wired Equivalent Privacy]] |
|||
[[ |
[[Kategorie:WLAN]] |
||
[[Kategorie:Verschlüsselungsprotokoll]] |
Aktuelle Version vom 14. März 2025, 17:32 Uhr
Wired Equivalent Privacy (WEP, engl. „Verdrahteten (Systemen) entsprechende Privatsphäre“) ist das ehemalige Standard-Verschlüsselungsprotokoll für WLAN. Es sollte sowohl den Zugang zum Netz regeln als auch die Vertraulichkeit und Integrität der Daten sicherstellen. Aufgrund verschiedener Schwachstellen gilt das Verfahren grundlegend als unsicher. Die Berechnung des Schlüssels aus einigen Minuten an aufgezeichneten Daten dauert normalerweise nur wenige Sekunden. Daher bieten moderne Geräte WEP gar nicht mehr als Verschlüsselungsoption an und es sollte auch in keinem Fall mehr verwendet werden.
Aufgrund der akuten Sicherheitslücken wurde als Übergangslösung der Nachfolger WPA im Jahr 2003 veröffentlicht. Dieser basierte jedoch auf noch alten Sicherheitstechnologien, sodass erst das im Jahr 2004 veröffentlichte WPA2 ein vollwertiger Nachfolger für WEP ist. All diese Standards werden von der Wi-Fi Alliance mittlerweile als veraltet bezeichnet, da WPA3 das aktuellste (Stand: 2022) Verschlüsselungsprotokoll ist.[1]
Funktionsweise
[Bearbeiten | Quelltext bearbeiten]Generell handelt es sich um eine einfache XOR-Verknüpfung des Bitstroms der Nutzdaten mit einem aus dem RC4-Algorithmus generierten, pseudozufälligen Bitstrom.

Das WEP-Protokoll verwendet den RC4-Algorithmus als Pseudozufallszahlengenerator (PRNG) bei der Erzeugung eines Keystreams, der einen Schlüssel und einen Initialisierungsvektor als Eingabe erhält. Für jede zu schützende Nachricht M wird ein neuer 24 Bit langer Initialisierungsvektor IV gebildet und mit einem Schlüssel K verknüpft, der allen Stationen im Basic Service Set bekannt ist. Das Ergebnis dient als Eingabe für den RC4-Algorithmus, welcher daraus einen Keystream erzeugt. Zusätzlich wird mittels Zyklischer Redundanzprüfung (ZRP, engl. CRC) ein vermeintlich sicherer „Integritätsprüfwert“ (Integrity Check Value – ICV) berechnet und an die Nachricht M angehängt (||). Die resultierende Nachricht (M||ICV) wird mit dem Keystream (RC4(IV||K)) des RC4-Algorithmus XOR-verknüpft und der Initialisierungsvektor IV wird dem resultierenden Ciphertext vorangestellt. Die unteren Abbildungen verdeutlichen Verschlüsselung und Entschlüsselung.[2]
Bei der Authentifizierung unterscheidet man zwei Verfahren:
Open System Authentication
[Bearbeiten | Quelltext bearbeiten]Die Open System Authentication ist die Standard-Authentifizierung.
- Ist der Accesspoint für keine Verschlüsselung konfiguriert, findet praktisch keine Authentifizierung statt und jeder Client kann sich mit dem WLAN verbinden.
- Ist der Accesspoint für Verschlüsselung konfiguriert (in diesem Fall WEP):
- logisch: Der WEP-Schlüssel dient gleichzeitig zur Authentifizierung: Jeder Client mit korrektem WEP-Schlüssel bekommt Zugang zum Netz.
- technisch: Es findet ein Austausch von Authentifizierungsnachrichten statt und der Client wird authentifiziert. Stimmen WEP-Key auf Accesspoint und Client überein, ist Kommunikation möglich. Stimmen diese nicht überein, ist der Client zwar authentifiziert, kann jedoch keine Daten mit dem Netz austauschen.
Die Implementation der Authentifizierung mittels Schlüssel ist ein Herstellerfeature und ist nicht im Standard beschrieben.
Shared Key Authentication
[Bearbeiten | Quelltext bearbeiten]Die Shared Key Authentication ist die vermeintlich sichere Variante. Die Authentifizierung erfolgt dabei über die Challenge-Response-Authentifizierung mit einem geheimen Schlüssel.

Allerdings basiert das Challenge-Response-Verfahren auch auf WEP und weist dieselbe Schwäche auf. Durch den Einsatz von Shared-Key Authentication wird der geheime Schlüssel entblößt, wie im nächsten Abschnitt gezeigt wird. Höchst ratsam ist es daher, auf die Shared-Key-Authentication zu verzichten und die Open Authentication einzusetzen. Auf Verschlüsselung sollte dennoch nie verzichtet werden. Auch mit Open Authentication kann ein verbundener Netzwerkteilnehmer nur mit Kenntnis des WEP-Schlüssels eine Kommunikation mit dem Access Point aufbauen.
Die vier Nachrichten der WEP-Authentifizierung stellen die Zugriffsberechtigung des Client sicher.
Angriff auf die Authentifikation
[Bearbeiten | Quelltext bearbeiten]Wie schon erwähnt, trägt die Shared-Key-Authentifikation nicht zum Schutz bei, sondern gibt im Gegenteil ungewollt Informationen preis. Da wir es hier mit einer Challenge-Response-Authentifizierung zu tun haben, spielt sich das ganze folgendermaßen ab:
- Der Server schickt dem Client die Challenge1, bspw. eine Zufallszahl.
- Der Client verschlüsselt diese Zahl wie oben angegeben und schickt das WEP-Paket (IV1 + Ciphertext1) zurück an den Server
- Trudy, die Angreiferin (von engl. intruder), kann also die drei Informationen (Challenge1, IV1 und Ciphertext1) erlauschen. Sie errechnet nun mittels XOR Challenge1 Ciphertext1 = Challenge1 (Challenge1 Keystream1) = Keystream1
Trudy hat nun Keystream1 und IV1, was sich als gültige Kombination erweist. Sie kann nun selbst versuchen, sich authentifizieren zu lassen. Eine Challenge2 vom Server beantwortet sie nun einfach mit dem WEP-Paket, bestehend aus IV1 + Ciphertext2, wobei sich Letzterer ergibt aus Challenge2 Keystream1. Dies schickt sie an den Server und wird erfolgreich authentifiziert.
Das WEP-Datenpaket
[Bearbeiten | Quelltext bearbeiten]Ein WEP-Datenpaket besteht aus:
- einem unverschlüsselten 24-Bit-Initialisierungsvektor (IV), der den WEP-Schlüssel zum Gesamtschlüssel mit 64 Bit, 128 Bit oder 256 Bit macht
- den eigentlichen Nutzdaten
- einer 32-Bit-Prüfsumme dieser Nutzdaten (Integrity Check Value, ICV, mittels Zyklischer Redundanzprüfung).
Das eigentliche WEP-Datenpaket besteht aus den Daten und der 32 Bit langen Prüfbitfolge. Dieses wird mit der IV-WEP-Schlüsselkombination verschlüsselt, und dem Ganzen wird der Initialisierungsvektor vorangestellt.
Aus dem IV kann der Empfänger schließlich zusammen mit dem RC4-Schlüssel wieder den Klartext der Nachricht berechnen.
Schwachstellen
[Bearbeiten | Quelltext bearbeiten]Es existieren viele gut funktionierende Angriffe auf WEP-gesicherte Netze. Wenn ein WEP-gesichertes WLAN jedoch keine Teilnehmer hat, das heißt, wenn sich niemals jemand an diesem Netzwerk angemeldet hat, dann ist die Wahrscheinlichkeit sehr gering, den Schlüssel schnell zu berechnen bzw. ihn überhaupt zu berechnen. Die meisten Angriffe nutzen die Schwachstelle des mit 24 Bit sehr kurzen Initialisierungsvektor IV bei der RC4-Verschlüsselung aus.[3] Diese Angriffsmethode wird in allgemeinen Bezug auch als Related-Key-Attack bezeichnet.
Viele aktive Angriffe setzen seitens des Angreifers modifizierte Treiber voraus, da diese Reinjection beherrschen müssen. Anfangs unterstützten viele Treiber nicht einmal das passive Lauschen auf einem oder gar mehreren Kanälen (Monitor Mode). Jedoch ist passives Lauschen eine Grundvoraussetzung. Angenommen, ein Access Point hat viele Clients, die viele Daten produzieren; dann könnte man alles aufzeichnen und versuchen, mit den gewonnenen Daten den WEP-Schlüssel zu berechnen. Falls die Datenmenge noch nicht ausreicht, so kann man oft diesen Datenstrom verwenden, um daraus ARP Requests zu extrahieren, die man für die Reinjection benötigt. Das Flooding seitens des Angreifers mittels ARP Requests führt – richtig durchgeführt – zu vielen ARP Replies, die dann zum Brechen des WEP-Schlüssels verwendet werden können. Reinjection ist treiberseitig recht kompliziert, da die Frames, die man in das WLAN bringt, im richtigen Timing gesendet werden müssen. Weiter ist zu beachten, dass ein Access Point nach einer gewissen Zeit eine erneute Authentifikation seitens des Clients voraussetzt. Wenn der Client sich nicht wieder am Netz anmeldet, dann werden alle gesendeten Daten am Access Point verworfen und in Kismet ist beispielsweise suspicious client zu lesen.
CRC32 als Message Authentication Code (MAC)
[Bearbeiten | Quelltext bearbeiten]Die CRC32-Funktion ist streng linear, denn CRC32(A XOR B)=CRC32(A) XOR CRC32(B).[4] Daher ist diese Funktion als Message Authentication Code ungeeignet, denn es ist auch ohne den eigentlich dafür benötigten geheimen Schlüssels möglich, die Bits zu berechnen, die sich in der Prüfsumme ändern müssen, wenn man den Geheimtext ändern will. Durch diese Schwäche kann man den Payload des Paketes nach Belieben modifizieren, da man nach der Modifikation nur noch den MAC, also den neuen CRC32 Wert, berechnen muss.
Der obige Modifikationsschritt sieht in etwa so aus:
Verschlüsselte Nachricht m c=CRC32(m) 00100101001110010100101010101010100101... 10101010 10111101 10101101 10100000
Modifikationsvektor m' c'=CRC32(m') 00000000000000000000000000000000001000... 00000001 10101010 10100000 10100100
Im letzten Schritt berechnet man die neue Nachricht m_neu und den dazugehörigen MAC c_neu:
m_neu = m XOR m' c_neu = CRC32(m) XOR CRC32(m')
Um eine gefälschte Nachricht zu erstellen und um diese dann zu versenden, müssen nun die Datenfelder m und CRC32(m) im original Datenpaket (engl. Frame) durch die neu errechneten Werte m_neu und c_neu ersetzt werden. Nach dem Ersetzen kann das modifizierte Paket dann erneut versendet werden.
Auf diese Art kann man alle Pakete ändern. Wenn man jedoch wissen will, ob die Modifikation erfolgreich war, sollte man ein Paket wählen, das bei der Gegenstelle dann wieder zu einer Antwort führt.
Wenn das Quellpaket z. B. ein Ping-Request war, so könnte man z. B. testen, auf welche Modifikationen im Paket man eine Antwort bekommt. Interessante zustandslose Pakete wären: ARP-Request sowie Ping.
Brechen des Schlüssels
[Bearbeiten | Quelltext bearbeiten]Es ist möglich, einen genutzten WEP-Schlüssel und damit die gesamte WEP-Verschlüsselung zu brechen. Es gibt für verschiedene Systeme Zubehör, das durch Mithören einer ausreichenden Menge des Datenverkehrs den verwendeten WEP-Schlüssel berechnen kann, zum Beispiel Aircrack oder Airsnort. Dieser Angriff basiert darauf, möglichst viele Pakete mit gleichem, schwachem Initialisierungsvektor zu haben. So ist es heute bereits möglich, eine WEP-Verschlüsselung in unter einer Minute zu knacken.[5]
In den letzten Jahren wurden die Angriffsmöglichkeiten immer weiter verbessert und ausgeweitet. So ist es beispielsweise möglich, wenn auch nur eine der übermittelten Nachrichten auch im Klartext bekannt ist, beliebige Inhalte (korrekt verschlüsselt) in das WLAN einzuspeisen. Des Weiteren gibt es eine Technik, einzelne, mitgehörte Datenpakete zu entschlüsseln, indem sie mehrmals leicht modifiziert wieder in das WLAN eingespielt werden. Dieser so genannte KoreK-Angriff verwendet nicht wie bisher Datenpakete mit gleichem Initialisierungsvektor, sondern mit unterschiedlichen, wodurch der Angriff viel effektiver wird.[6]
Außerdem kommen neben den passiven Angriffen auch aktive Angriffe zum Einsatz. So kann man Antworten des Access-Points forcieren, um innerhalb kürzester Zeit (~1 min) ausreichend Daten für einen erfolgreichen passiven Angriff zu sammeln. Dazu werden ARP-Pakete anhand bestimmter Signaturen gezielt abgefangen und – ohne ihren entschlüsselten Inhalt zu kennen – wieder verschlüsselt in das WLAN eingespeist.[7]
Verwendung
[Bearbeiten | Quelltext bearbeiten]Sicherheitsmaßnahmen
[Bearbeiten | Quelltext bearbeiten]Aufgrund der vielfältigen Schwachstellen ist es nicht möglich, WEP mit zusätzlichen Maßnahmen so zu schützen, dass eine sichere Kommunikation möglich ist. Nur die Abschaltung und der Wechsel auf ein aktuelles und als sicher anerkanntes Verfahren wie WPA3 ist sinnvoll.
Hardware
[Bearbeiten | Quelltext bearbeiten]Bei alter Hardware, welche nur WEP unterstützt, ist es oft möglich durch Software- und Firmwareupdates eine Verwendung von sichereren Verschlüsselungen wie WPA oder WPA2 zu ermöglichen. Bei Geräten, wo das WLAN-Modul nicht fest verbaut ist, kann dies auch durch den Austausch gegen ein neueres WLAN-Modul geschehen.
Neue Hardware wie Router bieten WEP mittlerweile nicht mehr als Verschlüsselung an oder warnen eindringlich vor der Verwendung.
Betriebssysteme
[Bearbeiten | Quelltext bearbeiten]Auch Betriebssysteme wie Windows 10 haben WEP mittlerweile als veraltet und unsicher gekennzeichnet.[8] Die Unterstützung von WEP und WPA (TKIP) wurde in Windows 10 und 11 zwischenzeitlich gänzlich entfernt.[9]
Weblinks
[Bearbeiten | Quelltext bearbeiten]- WLAN-Hacking en passant
- Dammbruch bei WEP
- Vorbereiten des Einsatzes von IEEE 802.11-Netzwerken in Unternehmen
- WEP is dead, Podcast mit Erik Tews
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ What are “legacy protocols”? Wi-Fi Alliance, abgerufen am 1. November 2022.
- ↑ Seminar Net Security – Sicherheit im WLAN von Jörg Hedrich (Seite nicht mehr abrufbar, festgestellt im März 2018. Suche in Webarchiven) Info: Der Link wurde automatisch als defekt markiert. Bitte prüfe den Link gemäß Anleitung und entferne dann diesen Hinweis. (PDF; 831 kB)
- ↑ Scott Fluhrer, Itsik Mantin, Adi Shamir: Weaknesses in the Key Scheduling Algorithm of RC4 ( vom 17. März 2003 im Internet Archive) (PDF; 297 kB)
- ↑ Flaws in WEP ( vom 18. März 2007 im Internet Archive)
- ↑ heise Online WEP-Verschlüsselung von WLANs in unter einer Minute geknackt
- ↑ Rafik Chaabouni: Break WEP Faster with Statistical Analysis. Juni 2006, Kapitel 4 (epfl.ch [PDF] Semesterarbeit an der EPFL).
- ↑ WLAN Sicherheit – Schnatterente.net, 24. August 2015.
- ↑ In Windows 10 entfernte Features und Funktionen - docs.microsoft.com, 19. April 2021.
- ↑ arminSt: Microsoft streicht die unsicheren WLAN-Protokolle WEP und TKIP. In: WindowsUnited. 18. Februar 2022, abgerufen am 10. Dezember 2024.