Sicherheit von drahtlosen lokalen Netzen
BIN
Assets/NetworkSecurity-802.11-ad-hoc-architecture.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
Assets/NetworkSecurity-802.11-network-architecture.png
Normal file
After Width: | Height: | Size: 51 KiB |
BIN
Assets/NetworkSecurity-802.11-wep-decryption.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
Assets/NetworkSecurity-802.11-wep-encryption.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
Assets/NetworkSecurity-aes-ccmp-frame-format.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
Assets/NetworkSecurity-tkip-mpdu-data-format.png
Normal file
After Width: | Height: | Size: 61 KiB |
BIN
Assets/NetworkSecurity-tkip-processing.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
Assets/NetworkSecurity-tkip-receiver.png
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
Assets/NetworkSecurity-tkip-rekey.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
Assets/NetworkSecurity-tkip-replay-protection.png
Normal file
After Width: | Height: | Size: 44 KiB |
@ -235,6 +235,23 @@
|
||||
- [Sicherheitsaspekte der mobilen Kommunikation](#sicherheitsaspekte-der-mobilen-kommunikation)
|
||||
- [Standortdatenschutz in Mobilfunknetzen](#standortdatenschutz-in-mobilfunknetzen)
|
||||
- [Sicherheit von drahtlosen lokalen Netzen](#sicherheit-von-drahtlosen-lokalen-netzen)
|
||||
- [IEEE 802.11](#ieee-80211)
|
||||
- [Der zyklische Redundanzcode](#der-zyklische-redundanzcode)
|
||||
- [IEEE 802.11 Entity-Authentifizierung](#ieee-80211-entity-authentifizierung)
|
||||
- [IEEE 802.11's Wired Equivalence Privacy](#ieee-80211s-wired-equivalence-privacy)
|
||||
- [Die Sicherheitsansprüche von IEEE 802.11](#die-sicherheitsansprüche-von-ieee-80211)
|
||||
- [Schwachstelle #1: Die Schlüssel](#schwachstelle-1-die-schlüssel)
|
||||
- [Schwachstelle #2: WEP-Vertraulichkeit ist unsicher](#schwachstelle-2-wep-vertraulichkeit-ist-unsicher)
|
||||
- [Schwachstelle #3: WEP-Datenintegrität ist unsicher](#schwachstelle-3-wep-datenintegrität-ist-unsicher)
|
||||
- [Schwachstelle #4: WEP-Zugangskontrolle ist unsicher](#schwachstelle-4-wep-zugangskontrolle-ist-unsicher)
|
||||
- [Schwachstelle Nr. 5: Schwachstelle in der RC4-Schlüsselberechnung](#schwachstelle-nr-5-schwachstelle-in-der-rc4-schlüsselberechnung)
|
||||
- [Schlussfolgerungen zu den Unzulänglichkeiten von IEEE 802.11](#schlussfolgerungen-zu-den-unzulänglichkeiten-von-ieee-80211)
|
||||
- [Interlude: Sicherheit in öffentlichen WLAN-Hotspots](#interlude-sicherheit-in-öffentlichen-wlan-hotspots)
|
||||
- [Fixing WLAN Security: IEEE 802.11i, WPA und WPA](#fixing-wlan-security-ieee-80211i-wpa-und-wpa)
|
||||
- [WPA-Schlüsselverwaltung](#wpa-schlüsselverwaltung)
|
||||
- [Eine Zwischenlösung: Temporal Key Integrity Protokoll](#eine-zwischenlösung-temporal-key-integrity-protokoll)
|
||||
- [Die langfristige Lösung: AES-basierter WLAN-Schutz](#die-langfristige-lösung-aes-basierter-wlan-schutz)
|
||||
- [Comparison of WEP, TKIP, and CCMP](#comparison-of-wep-tkip-and-ccmp)
|
||||
- [Sicherheit von GSM- und UMTS-Netzen](#sicherheit-von-gsm--und-umts-netzen)
|
||||
- [References](#references)
|
||||
|
||||
@ -4421,6 +4438,309 @@ Zusätzliche Designziele zu IKEv1
|
||||
- Dieses Konzept lässt sich auf die mobile Kommunikation übertragen [Müller99a]
|
||||
|
||||
# Sicherheit von drahtlosen lokalen Netzen
|
||||
## IEEE 802.11
|
||||
- IEEE 802.11 [IEEE12] standardisiert die Medienzugriffskontrolle (MAC) und die physikalischen Eigenschaften eines drahtlosen lokalen Netzwerks (LAN).
|
||||
- Der Standard umfasst mehrere physikalische Schichteinheiten:
|
||||
- Derzeit zwischen 1-300 Mbit/s
|
||||
- 2,4-GHz-Band und 5-GHz-Band
|
||||
- Viele verschiedene Modulationsverfahren
|
||||
- Die Übertragung im lizenzfreien 2,4-GHz-Band impliziert:
|
||||
- Medium-Sharing mit unfreiwilligen 802.11-Geräten
|
||||
- Überlappung von logisch getrennten Wireless LANs
|
||||
- Überlappung mit Nicht-802.11-Geräten
|
||||
- Die Medienzugriffskontrolle (MAC) unterstützt sowohl den Betrieb unter Kontrolle eines Access Points als auch zwischen unabhängigen Stationen.
|
||||
- In diesem Kurs werden wir uns hauptsächlich auf die (Un-)Sicherheitsaspekte des Standards konzentrieren!
|
||||
|
||||
802.11 - Architektur eines Infrastrukturnetzes
|
||||
- 
|
||||
- Station (STA): Endgerät mit Zugriffsmechanismen auf das drahtlose Medium und Funkkontakt zum Access Point
|
||||
- Basic Service Set (BSS): Gruppe von Stationen, die dieselbe Funkfrequenz verwenden
|
||||
- Zugangspunkt: Station, die in das drahtlose LAN und das Verteilungssystem integriert ist
|
||||
- Portal: Brücke zu anderen (kabelgebundenen) Netzwerken
|
||||
- Verteilungssystem: Verbindungsnetz zur Bildung eines logischen Netzes (Extended Service Set, ESS), das auf mehreren BSS basiert
|
||||
|
||||
802.11 - Architektur eines Ad-Hoc-Netzes
|
||||
- 
|
||||
- Station (STA): Endgerät mit Zugriffsmechanismen auf das drahtlose Medium
|
||||
- Basic Service Set (BSS): Gruppe von Stationen, die dieselbe Funkfrequenz verwenden
|
||||
- Ad-Hoc-Netze ermöglichen die direkte Kommunikation zwischen Endsystemen innerhalb einer begrenzten Reichweite
|
||||
- Da es keine Infrastruktur gibt, ist keine Kommunikation zwischen verschiedenen BSSs möglich
|
||||
|
||||
Sicherheitsdienste von IEEE 802.11
|
||||
- Die Sicherheitsdienste von IEEE 802.11 wurden ursprünglich wie folgt realisiert:
|
||||
- Authentifizierungsdienst für Entitäten
|
||||
- Wired Equivalent Privacy (WEP) Mechanismus
|
||||
- WEP soll die folgenden Sicherheitsdienste bieten
|
||||
- Vertraulichkeit
|
||||
- Authentifizierung der Datenherkunft / Datenintegrität
|
||||
- Zugangskontrolle in Verbindung mit Schichtenmanagement
|
||||
- WEP verwendet die folgenden Algorithmen:
|
||||
- Die RC4-Stromchiffre (siehe Kapitel 3)
|
||||
- Die CRC-Prüfsumme (Cyclic Redundancy Code) zur Fehlererkennung
|
||||
|
||||
## Der zyklische Redundanzcode
|
||||
- Der zyklische Redundanzcode (CRC) ist ein Fehlererkennungscode
|
||||
- Mathematische Grundlage:
|
||||
- Bitstrings werden als Darstellungen von Polynomen mit den Koeffizienten 0 und 1 behandelt $\Rightarrow$ Ein Bitstring, der eine Nachricht M darstellt, wird als M(x) interpretiert
|
||||
- Polynomarithmetik wird modulo 2 durchgeführt $\Rightarrow$ Addition und Subtraktion sind identisch mit XOR
|
||||
- CRC-Berechnung für eine Nachricht $M(x)$:
|
||||
- A und B einigen sich auf ein Polynom $G(x)$; üblicherweise ist $G(x)$ standardisiert
|
||||
- Sei $n$ der Grad von $G(x)$, d.h. die Länge von $G(x)$ sei $n+1$
|
||||
- Wenn dann $\frac{M(x)\times 2^n}{G(x)}=Q(x)+\frac{R(x)}{G(x)}$ gilt $\frac{M(x)\times 2^n +R(x)}{G(x)}$ wobei $R(x)$ der Rest von $M(x)$ geteilt durch $G(x)$ ist
|
||||
- Normalerweise wird $R(x)$ vor der Übertragung an $M(x)$ angehängt, und $Q(x)$ ist nicht von Interesse, da es nur geprüft wird, wenn $\frac{M(x)\times 2^n+R(x)}{G(x)}$ mit Rest $0$ dividiert
|
||||
- Betrachten wir nun zwei Nachrichten $M_1$ und $M_2$ mit CRCs $R_1$ und $R_2$:
|
||||
- Da $\frac{M_1(x)\times 2^n+R_1(x)}{G(x)}$ und $\frac{M_2(x)\times 2^n+R_2(x)}{G(x)}$ mit dem Rest $0$ teilen, teilt sich auch $\frac{M_1(x)\times 2^n +R_1(x)+M_2(x)\times 2^n +R_2(x)}{G(x)} =\frac{(M_1(x)+M_2(x))\times 2^n +(R_1(x)+R_2(x))}{G(x)}$ teilt mit Rest $0$
|
||||
- $\Rightarrow$ CRC ist linear, d.h. $CRC(M_1 + M_2) = CRC(M_1) + CRC(M_2)$
|
||||
- Diese Eigenschaft macht CRC schwach für kryptographische Zwecke!
|
||||
|
||||
## IEEE 802.11 Entity-Authentifizierung
|
||||
- Ursprünglich gibt es die IEEE 802.11-Authentifizierung in zwei ,,Geschmacksrichtungen'':
|
||||
- Offene System-Authentifizierung: ,,Im Wesentlichen handelt es sich um einen Null-Authentifizierungsalgorithmus.'' (IEEE 802.11)
|
||||
- Shared-Key-Authentifizierung:
|
||||
- Die ,,Shared-Key-Authentifizierung unterstützt die Authentifizierung von STAs entweder als Mitglied derer, die einen gemeinsamen geheimen Schlüssel kennen, oder als Mitglied derer, die ihn nicht kennen.'' (IEEE 802.11, Abschnitt 8.1.2)
|
||||
- Es wird davon ausgegangen, dass der erforderliche geheime, gemeinsam genutzte Schlüssel den teilnehmenden STAs über einen sicheren, von IEEE 802.11 unabhängigen Kanal übermittelt wurde.
|
||||
|
||||
IEEE 802.11's Shared Key Authentication Dialog:
|
||||
- Die Authentifizierung sollte zwischen Stationen und Zugangspunkten erfolgen und könnte auch zwischen beliebigen Stationen durchgeführt werden.
|
||||
- Bei der Authentifizierung fungiert eine Station als Requestor (A) und die andere als Responder (B)
|
||||
- Der Authentifizierungsdialog:
|
||||
1. $A \rightarrow B: (Authentifizierung, 1, ID_A)$
|
||||
2. $B \rightarrow A: (Authentifizierung, 2, r_B)$
|
||||
3. $A \rightarrow B: \{Authentifizierung, 3, r_B\}_{K_{A,B}}$
|
||||
4. $B \rightarrow A: (Authentifizierung, 4, erfolgreich)$
|
||||
- Die gegenseitige Authentifizierung erfordert zwei unabhängige Protokolldurchläufe, einen in jeder Richtung
|
||||
- Aber: ein Angreifer kann sich nach dem Abhören eines Protokolldurchlaufs ausgeben, da er einen gültigen Schlüsselstrom aus den Nachrichten 2 und 3 erhalten kann!
|
||||
|
||||
## IEEE 802.11's Wired Equivalence Privacy
|
||||
- IEEE 802.11's WEP verwendet RC4 als Pseudo-Zufallsbit-Generator (PRNG):
|
||||
- Für jede zu schützende Nachricht M wird ein 24-Bit-Initialisierungsvektor (IV) mit dem gemeinsamen Schlüssel $K_{BSS}$ verkettet, um den Seed des PRNG zu bilden.
|
||||
- Der Integritätsprüfwert (ICV) von M wird mit CRC berechnet und an die Nachricht angehängt (,,||'')
|
||||
- Die resultierende Nachricht $(M || ICV)$ wird mit dem von $RC4(IV || K_{BSS})$ erzeugten Schlüsselstrom XOR-verknüpft (,,$\oplus$'')
|
||||
- 
|
||||
- Da die IV mit jeder Nachricht im Klartext gesendet wird, kann jeder Empfänger, der $K_{BSS}$ kennt, den entsprechenden Schlüsselstrom zur Entschlüsselung einer Nachricht erzeugen.
|
||||
- Dadurch wird die wichtige Eigenschaft der Selbstsynchronisation von WEP gewährleistet
|
||||
- Der Entschlüsselungsprozess ist im Grunde die Umkehrung der Verschlüsselung:
|
||||
- 
|
||||
|
||||
## Die Sicherheitsansprüche von IEEE 802.11
|
||||
- WEP wurde entwickelt, um die folgenden Sicherheitseigenschaften zu gewährleisten:
|
||||
- Vertraulichkeit:
|
||||
- Nur Stationen, die über $K_{BSS}$ verfügen, können mit WEP geschützte Nachrichten lesen
|
||||
- Authentifizierung der Datenherkunft / Datenintegrität:
|
||||
- Böswillige Veränderungen von WEP-geschützten Nachrichten können erkannt werden
|
||||
- Zugriffskontrolle in Verbindung mit Schichtenmanagement:
|
||||
- Wenn in der Schichtenverwaltung so eingestellt, werden nur WEP-geschützte Nachrichten von Empfängern akzeptiert
|
||||
- Somit können Stationen, die $K_{BSS}$ nicht kennen, nicht an solche Empfänger senden
|
||||
- Leider trifft keine der obigen Behauptungen zu...
|
||||
|
||||
### Schwachstelle #1: Die Schlüssel
|
||||
- IEEE 802.11 sieht keine Schlüsselverwaltung vor:
|
||||
- Manuelle Verwaltung ist fehleranfällig und unsicher
|
||||
- Die gemeinsame Verwendung eines Schlüssels für alle Stationen eines BSS führt zu zusätzlichen Sicherheitsproblemen
|
||||
- Als Folge der manuellen Schlüsselverwaltung werden die Schlüssel selten geändert.
|
||||
- Eine weitere Folge ist, dass die ,,Sicherheit'' oft sogar ausgeschaltet ist!
|
||||
- Schlüssellänge:
|
||||
- Die im ursprünglichen Standard festgelegte Schlüssellänge von 40 Bit bietet nur geringe Sicherheit
|
||||
- Der Grund dafür war die Exportierbarkeit
|
||||
- Wireless LAN-Karten erlauben oft auch Schlüssel der Länge 104 Bit, aber das macht die Situation nicht besser, wie wir später sehen werden
|
||||
|
||||
### Schwachstelle #2: WEP-Vertraulichkeit ist unsicher
|
||||
- Selbst mit gut verteilten und langen Schlüsseln ist WEP unsicher
|
||||
- Der Grund dafür ist die Wiederverwendung des Schlüsselstroms:
|
||||
- Erinnern Sie sich, dass die Verschlüsselung mit jeder Nachricht neu synchronisiert wird, indem eine IV der Länge 24 Bit an $K_{BSS}$ angehängt und der PRNG neu initialisiert wird
|
||||
- Betrachten wir zwei Klartexte M 1 und M 2, die mit demselben IV 1 verschlüsselt wurden:
|
||||
- $C_1 = P_1 \oplus RC4 (IV_1 , K_{BSS})$
|
||||
- $C_2 = P_2 \oplus RC4 (IV_1 , K_{BSS})$ dann:
|
||||
- $C_1 \oplus C_2 = (P_1 \oplus RC4 (IV_1, K_{BSS})) \oplus (P_2\oplus RC4 (IV_1 , K_{BSS})) = P_1 \oplus P_2$
|
||||
- Wenn also ein Angreifer z.B. $P_1$ und $C_1$ kennt, kann er $P_2$ aus $C_2$ wiederherstellen, ohne den Schlüssel $K_{BSS}$ zu kennen.
|
||||
- Kryptographen nennen dies einen Angriff mit bekanntem Klartext
|
||||
- Wie oft kommt die Wiederverwendung des Schlüsselstroms vor?
|
||||
- In der Praxis recht häufig, da viele Implementierungen die IV schlecht wählen
|
||||
- Selbst bei optimaler Wahl, da die IV-Länge 24 Bit beträgt, wird eine stark ausgelastete Basisstation eines 11-Mbit/s-WLAN den verfügbaren Speicherplatz in einem halben Tag erschöpfen
|
||||
|
||||
### Schwachstelle #3: WEP-Datenintegrität ist unsicher
|
||||
- Erinnern Sie sich, dass CRC eine lineare Funktion ist und RC4 ebenfalls linear ist
|
||||
- Nehmen wir an, A sendet eine verschlüsselte Nachricht an B, die von einem Angreifer E abgefangen wird:
|
||||
- $A \rightarrow B: (IV, C) mit C = RC4(IV, K_{BSS}) \oplus (M, CRC(M))$
|
||||
- Der Angreifer E kann einen neuen Chiffretext $C'$ konstruieren, der zu einer Nachricht $M'$ mit einer gültigen Prüfsumme $CRC(M')$ entschlüsselt wird:
|
||||
- E wählt eine beliebige Nachricht $\delta$ mit der gleichen Länge
|
||||
- $C' = C \oplus (\delta, CRC(\delta)) = RC4(IV, K_{BSS}) \oplus (M, CRC(M)) \oplus (\delta, CRC(\delta))$
|
||||
- $= RC4(IV, K_{BSS}) \oplus (M \oplus \delta, CRC(M) \oplus CRC(\delta))$
|
||||
- $= RC4(IV, K_{BSS}) \oplus (M \oplus \delta, CRC(M \oplus \delta))$
|
||||
- $= RC4(IV, K_{BSS}) \oplus (M', CRC(M'))$
|
||||
- Man beachte, dass $E$ $M'$ nicht kennt, da es $M$ nicht kennt.
|
||||
- Dennoch führt ein ,,1'' an Position $n$ in $\delta$ zu einem umgedrehten Bit an Position n in $M'$, so dass E kontrollierte Änderungen an $M$ vornehmen kann
|
||||
- $\Rightarrow$ Datenherkunftsauthentifizierung / Datenintegrität von WEP ist unsicher!
|
||||
|
||||
### Schwachstelle #4: WEP-Zugangskontrolle ist unsicher
|
||||
- Erinnern Sie sich, dass die Integritätsfunktion ohne einen Schlüssel berechnet wird
|
||||
- Betrachten wir einen Angreifer, der ein Klartext-Chiffretext-Paar in Erfahrung bringt:
|
||||
- Da der Angreifer $M$ und $C=RC4(IV, K_{BSS})\oplus (M, CRC(M))$ kennt, kann er den zur Erzeugung von $C$ verwendeten Schlüsselstrom berechnen
|
||||
- Wenn $E$ später eine Nachricht $M'$ senden will, kann er $C' = RC4(IV, K_{BSS})\oplus (M', CRC(M'))$ berechnen und die Nachricht $(IV, C')$ senden.
|
||||
- Da die Wiederverwendung alter IV-Werte möglich ist, ohne beim Empfänger einen Alarm auszulösen, handelt es sich um eine gültige Nachricht
|
||||
- Eine ,,Anwendung'' für diesen Angriff ist die unbefugte Nutzung von Netzwerkressourcen:
|
||||
- Der Angreifer sendet IP-Pakete, die für das Internet bestimmt sind, an den Zugangspunkt, der sie entsprechend weiterleitet und dem Angreifer freien Zugang zum Internet gewährt
|
||||
- $\Rightarrow$ WEP Access Control kann mit bekanntem Klartext umgangen werden
|
||||
|
||||
### Schwachstelle Nr. 5: Schwachstelle in der RC4-Schlüsselberechnung
|
||||
- Anfang August 2001 wurde ein weiterer Angriff auf WEP entdeckt:
|
||||
- Der gemeinsame Schlüssel kann in weniger als 15 Minuten wiederhergestellt werden, vorausgesetzt, dass etwa 4 bis 6 Millionen Pakete wiederhergestellt wurden.
|
||||
- Bei dem Angriff handelt es sich um einen Angriff mit verwandten Schlüsseln, bei dem die Verwendung von RC4 durch WEP ausgenutzt wird:
|
||||
- RC4 ist anfällig für die Ableitung von Bits eines Schlüssels, wenn:
|
||||
- viele Nachrichten mit einem Schlüsselstrom verschlüsselt werden, der aus einem variablen Initialisierungsvektor und einem festen Schlüssel erzeugt wird, und
|
||||
- die Initialisierungsvektoren und der Klartext der ersten beiden Oktette für die verschlüsselten Nachrichten bekannt sind
|
||||
- Die IV für den Schlüsselstrom wird mit jedem Paket im Klartext übertragen.
|
||||
- Die ersten beiden Oktette eines verschlüsselten Datenpakets können erraten werden
|
||||
- Der Angriff ist in [SMF01a] und [SIR01a] beschrieben und wurde später so verfeinert, dass er noch schneller funktioniert [TWP07].
|
||||
- R. Rivest kommentiert dies [Riv01a]: ,,Diejenigen, die die RC4-basierten WEP- oder WEP2-Protokolle verwenden, um die Vertraulichkeit ihrer 802.11-Kommunikation zu gewährleisten, sollten diese Protokolle als gebrochen betrachten [...]''
|
||||
|
||||
## Schlussfolgerungen zu den Unzulänglichkeiten von IEEE 802.11
|
||||
- Das ursprüngliche IEEE 802.11 bietet keine ausreichende Sicherheit:
|
||||
- Fehlende Schlüsselverwaltung macht die Nutzung der Sicherheitsmechanismen mühsam und führt dazu, dass die Schlüssel selten gewechselt werden oder sogar die Sicherheit ausgeschaltet ist
|
||||
- Sowohl die Entity-Authentifizierung als auch die Verschlüsselung beruhen auf einem Schlüssel, der von allen Stationen eines Basisdienstes gemeinsam genutzt wird
|
||||
- Unsicheres Protokoll zur Entitätsauthentifizierung
|
||||
- Wiederverwendung des Schlüsselstroms ermöglicht Angriffe mit bekanntem Klartext
|
||||
- Lineare Integritätsfunktion ermöglicht die Fälschung von ICVs
|
||||
- Unverschlüsselte Integritätsfunktion ermöglicht die Umgehung der Zugangskontrolle durch Erstellung gültiger Nachrichten aus einem bekannten Klartext-Chiffretext-Paar
|
||||
- Schwachstelle in der RC4-Schlüsselplanung ermöglicht die Kryptoanalyse von Schlüsseln
|
||||
- Selbst mit IEEE 802.1X und individuellen Schlüsseln bleibt das Protokoll schwach
|
||||
- Einige vorgeschlagene Gegenmaßnahmen:
|
||||
- Platzieren Sie Ihr IEEE 802.11 Netzwerk außerhalb Ihrer Internet Firewall
|
||||
- Vertrauen Sie keinem Host, der über IEEE 802.11 verbunden ist.
|
||||
- Verwenden Sie zusätzlich andere Sicherheitsprotokolle, z. B. PPTP, L2TP, IPSec, SSH, ...
|
||||
|
||||
## Interlude: Sicherheit in öffentlichen WLAN-Hotspots
|
||||
Welche Sicherheit können Sie in einem öffentlichen WLAN-Hotspot erwarten?
|
||||
- Bei den meisten Hotspots: Leider fast keine!
|
||||
- Wenn Sie außer der Eingabe eines Benutzernamens und eines Passworts auf einer Webseite keine weiteren Sicherheitsparameter konfigurieren müssen, können Sie Folgendes erwarten:
|
||||
- Der Hotspot-Betreiber prüft Ihre Authentizität bei der Anmeldung (oft mit SSL geschützt, um das Abhören Ihres Passworts zu verhindern)
|
||||
- Nur authentifizierte Clients erhalten den Dienst, da die Paketfilterung den Zugriff auf die Anmeldeseite nur bei erfolgreicher Authentifizierung zulässt.
|
||||
- Nach Überprüfung der Anmeldeauthentifizierung: keine weiteren Sicherheitsmaßnahmen
|
||||
- Kein Schutz für Ihre Benutzerdaten:
|
||||
- Alles kann abgefangen und manipuliert werden
|
||||
- Sie können zwar eigene Maßnahmen ergreifen, z.B. VPN oder SSL, aber die Konfiguration ist oft mühsam oder wird vom Kommunikationspartner gar nicht unterstützt und die Leistung wird durch zusätzlichen (pro-Paket-) Overhead beeinträchtigt
|
||||
- Plus: Ihre Sitzung kann durch die Verwendung Ihrer MAC- und IP-Adressen gestohlen werden!
|
||||
- Konsequenz: bessere WLAN-Sicherheit ist dringend erforderlich
|
||||
|
||||
## Fixing WLAN Security: IEEE 802.11i, WPA und WPA
|
||||
- Umfang: Definition der Interaktion zwischen 802.1X und 802.11 Standards
|
||||
- TGi definiert zwei Klassen von Sicherheitsalgorithmen für 802.11:
|
||||
- Pre-RSN Sicherheitsnetzwerk (\rightarrow WEP)
|
||||
- Robustes Sicherheitsnetzwerk (RSN)
|
||||
- Die RSN-Sicherheit besteht aus zwei grundlegenden Teilsystemen:
|
||||
- Mechanismen zum Schutz der Daten:
|
||||
- TKIP - schnelles Re-Keying, um WEP für ein Minimum an Datenschutz zu verbessern (Marketingname WPA)
|
||||
- AES-Verschlüsselung - robuster Datenschutz für lange Zeit (Marketingname WPA2)
|
||||
- Verwaltung von Sicherheitsvereinbarungen:
|
||||
- Unternehmensmodus - basierend auf 802.1X
|
||||
- Persönlicher Modus - basierend auf Pre-Shared Keys
|
||||
|
||||
(das meiste Material über 802.11i ist aus [WM02a] entnommen)
|
||||
|
||||
## WPA-Schlüsselverwaltung
|
||||
- Im Gegensatz zum ursprünglichen 802.11: paarweise Schlüssel zwischen STA und BS, zusätzliche Gruppenschlüssel für Multi- und Broadcast-Pakete sowie Station-to-Station-Link (STSL)-Schlüssel
|
||||
- Das erste Geheimnis: der 256 Bit Pairwise Master Key (PMK)
|
||||
- Unternehmensmodus: Verwendet 802.1X-Authentifizierung und installiert einen neuen Schlüssel, der BS und Client bekannt ist, z. B. durch EAP-TTLS
|
||||
- Persönlicher Modus: Verwendet einen Pre-Shared Key (PSK), der dem BS und vielen STAs bekannt ist.
|
||||
- Explizit durch 64 zufällige Hex-Zeichen oder implizit durch ein Passwort gegeben
|
||||
- Wenn Passwort: PMK = PBKDF2(Passwort, SSID, 4096, 256)
|
||||
- Wobei PBKDF2 die passwortbasierte Schlüsselableitungsfunktion 2 aus [RFC2898] mit einer Salz-SSID und einer Ausgangslänge von 256 Bit ist
|
||||
- impliziert 2 * 4096 Berechnungen von HMAC-SHA1, um Brute-Force zu verlangsamen
|
||||
- PMK ist ein Vertrauensanker für die Authentifizierung per EAPOL (EAP over LAN) Handshake, wird aber nie direkt verwendet...
|
||||
- Für aktuelle kryptographische Protokolle wird ein kurzzeitiger 512 Bit Pairwise Transient Key (PTK) wie folgt generiert
|
||||
- $PTK = PRF(PMK, ,,Paarweise Schlüsselerweiterung'', min(Addr_{BS}, Addr_{STA}) || max(Addr_{BS}, Addr_{STA}) || min(r_{BS}, r_{STA}) || max(r_{BS}, r_{STA}))$
|
||||
- Dabei ist $PRF(K, A, B)$ die verkettete Ausgabe von $HMAC-SHA1(K, A || '0' || B || i)$ über einen laufenden Index i
|
||||
- Der PTK wird aufgeteilt in:
|
||||
- EAPOL-Schlüssel-Bestätigungsschlüssel (KCK, erste 128 Bits),
|
||||
- Wird zum Schutz der Integrität von EAPOL-Nachrichten verwendet
|
||||
- Durch HMAC-MD5 (veraltet), HMAC-SHA1-128, AES-128-CMAC
|
||||
- EAPOL Key Encryption Key (KEK, zweite 128 Bits),
|
||||
- Wird zur Verschlüsselung neuer Schlüssel in EAPOL-Nachrichten verwendet
|
||||
- Mit RC4 (veraltet), AES im Key Wrap Mode [RFC3394]
|
||||
- Ein Temporal Key (TK) zum Schutz des Datenverkehrs (ab Bit 256)!
|
||||
- Initialer Dialog mit BS:
|
||||
- EAPOL (EAP over LAN) 4-Wege-Handshake wird verwendet, um
|
||||
- Überprüfung der gegenseitigen Kenntnis des PMK
|
||||
- Initiiert durch BS, um Schlüssel zu installieren (gruppenweise und paarweise)
|
||||
- Vereinfachter Handshake funktioniert wie folgt:
|
||||
1. $BS\rightarrow STA: (1, r_{BS} , PMKID, install\ new\ PTK)$
|
||||
2. $STA BS: (2, r_{STA}, MAC_{KCK})$
|
||||
3. $BS STA: (3, r_{BS}, MAC_{KCK}, \{TK\}_{KEK})$
|
||||
4. $STA BS: (4, r_{STA}, MAC_{KCK})$
|
||||
- Wobei PMKID den PMK identifiziert: obere 128 Bit von $HMAC-SHA-256(PMK, "PMK Name" || Addr_{BS} || Addr_{STA} )$
|
||||
|
||||
## Eine Zwischenlösung: Temporal Key Integrity Protokoll
|
||||
- Ziele des Entwurfs:
|
||||
- Schnelle Lösung für das bestehende WEP-Problem, betreibt WEP als Unterkomponente
|
||||
- Kann in Software implementiert werden, nutzt vorhandene WEP-Hardware wieder
|
||||
- Anforderungen an vorhandene AP-Hardware:
|
||||
- 33 oder 25 MHz ARM7 oder i486, die bereits vor TKIP mit 90% CPU-Auslastung laufen
|
||||
- Nur als Software/Firmware-Upgrade gedacht
|
||||
- Keine unangemessene Beeinträchtigung der Leistung
|
||||
- Wichtigste Konzepte:
|
||||
- Nachrichtenintegritätscode (MIC)
|
||||
- Gegenmaßnahmen im Falle von MIC-Fehlern
|
||||
- Sequenzzähler
|
||||
- Dynamische Schlüsselverwaltung (Re-Keying)
|
||||
- Schlüsselmischung
|
||||
- TKIP erfüllt die Kriterien für einen guten Standard: alle sind damit unzufrieden...
|
||||
- 
|
||||
|
||||
Message Integrity Code Funktion Michael
|
||||
- Schützt vor Fälschungen:
|
||||
- Muss billig sein: CPU-Budget 5 Anweisungen / Byte
|
||||
- Leider schwach: ein $2^{29}$ Nachrichtenangriff existiert
|
||||
- Wird über MSDUs berechnet, während WEP über MPDUs läuft
|
||||
- Verwendet zwei 64-Bit-Schlüssel, einen in jeder Verbindungsrichtung
|
||||
- Erfordert Gegenmaßnahmen:
|
||||
- Rekey on active attack (nur wenige Fehlalarme, da CRC zuerst geprüft wird)
|
||||
- Ratenbegrenzung auf eine Neuverschlüsselung pro Minute
|
||||
- 
|
||||
|
||||
Wiederholungsschutz und RC4-Schlüsselplanung
|
||||
- Replay-Schutz:
|
||||
- Zurücksetzen der Paket-Sequenz # auf 0 bei Wiederholung
|
||||
- Erhöhen der Sequenz # um 1 bei jedem Paket
|
||||
- Verwerfen aller Pakete, die außerhalb der Sequenz empfangen werden
|
||||
- Umgehen Sie die Schwächen der WEP-Verschlüsselung:
|
||||
- Erstellen Sie einen besseren paketweisen Verschlüsselungsschlüssel, indem Sie Angriffe mit schwachen Schlüsseln verhindern und WEP IV und paketweisen Schlüssel dekorrelieren
|
||||
- muss auf vorhandener Hardware effizient sein
|
||||
- 
|
||||
|
||||
TKIP-Verarbeitung beim Sender
|
||||
- 
|
||||
|
||||
TKIP-Verarbeitung auf der Empfängerseite
|
||||
- 
|
||||
|
||||
## Die langfristige Lösung: AES-basierter WLAN-Schutz
|
||||
- Zählermodus mit CBC-MAC (CCMP):
|
||||
- Obligatorisch zu implementieren: die langfristige Lösung
|
||||
- Ein völlig neues Protokoll mit wenigen Zugeständnissen an WEP
|
||||
- Bietet: Datenvertraulichkeit, Authentifizierung der Datenherkunft, Schutz vor Wiederholungen
|
||||
- Basiert auf AES in Counter Mode Encryption mit CBC-MAC (CCM)
|
||||
- Verwendung von CBC-MAC zur Berechnung einer MIC für den Klartext-Header, die Länge des Klartext-Headers und die Nutzdaten
|
||||
- Verwenden Sie den CTR-Modus, um die Payload mit den Zählerwerten 1, 2, 3, ... zu verschlüsseln.
|
||||
- Verwenden Sie den CTR-Modus, um die MIC mit dem Zählerwert 0 zu verschlüsseln.
|
||||
- AES-Overhead erfordert neue AP-Hardware
|
||||
- Der AES-Overhead erfordert möglicherweise neue STA-Hardware für Handheld-Geräte, aber theoretisch nicht für PCs (dies erhöht jedoch die CPU-Last und den Energieverbrauch), praktisch aufgrund fehlender Treiber für beide
|
||||
- 
|
||||
|
||||
## Comparison of WEP, TKIP, and CCMP
|
||||
| | WEP | TKIP | CCMP |
|
||||
| ---------- | --------------- | ----------- | ------------------------------ |
|
||||
| Cipher | RC4 | RC4 | AES |
|
||||
| Key Size | 40 or 104 bits | 104 bits | 128 bits encrypt, 64 bit auth. |
|
||||
| Key Life | 24-bit IV, wrap | 48-bit IV | 48-bit IV |
|
||||
| Packet Key | Concat. | Mixing Fnc. | Not Needed |
|
||||
| Integrity | | | |
|
||||
| Data | CRC-32 | Michael | CCM |
|
||||
| Header | None | Michael | CCM |
|
||||
| Replay | None | Use IV | Use IV |
|
||||
| Key Mgmt. | None | EAP-based | EAP-based |
|
||||
|
||||
TKIP ist derzeit veraltet, AES wird empfohlen.
|
||||
|
||||
# Sicherheit von GSM- und UMTS-Netzen
|
||||
|
||||
# References
|
||||
@ -4556,4 +4876,13 @@ Zusätzliche Designziele zu IKEv1
|
||||
-[YL06d] T. Ylonen, C. Lonvick. _The Secure Shell (SSH) Connection Protocol._ RFC 4254, 2006
|
||||
-[SG09] D. Stebila, J. Green. _Elliptic Curve Algorithm Integration in the Secure Shell Transport Layer_ , RFC 5656. 2009
|
||||
-[IS09] K. Igoe, J. Solinas. _AES Galois Counter Mode for the Secure Shell Transport Layer Protocol._ RFC 5647. 2009
|
||||
- [Müller99a] G. Müller, K. Rannenberg (Ed.). _Multilateral Security in Communications._ Addison-Wesley-Longman, 1999
|
||||
- [Müller99a] G. Müller, K. Rannenberg (Ed.). _Multilateral Security in Communications._ Addison-Wesley-Longman, 1999
|
||||
- [BGW01a] N. Borisov, I. Goldberg, D. Wagner. Intercepting Mobile Communications: The Insecurity of 802.11. 7th ACM SIGMOBILE Annual International Conference on Mobile Computing and Networking (MOBICOM), Rome, Italy, July 2001
|
||||
- [FMS01a] S. Fluhrer, I. Mantin, A. Shamir. Weaknesses in the Key Scheduling Algorithm of RC4. Eighth Annual Workshop on Selected Areas in Cryptography, August 2001
|
||||
[IEEE12] IEEE. Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications. IEEE Std 802.11-2012, The Institute of Electrical and Electronics Engineers (IEEE), 2012
|
||||
- [Riv01a] R. Rivest. RSA Security Response to Weaknesses in Key Scheduling Algorithm of RC4. http://www.rsa.com/rsalabs/technotes/wep.html, 2001
|
||||
- [SIR01a] A. Stubblefield, J. Ioannidis, A. D. Rubin. Using the Fluhrer, Mantin, and Shamir Attack to Break WEP. AT&T Labs Technical Report TD-4ZCPZZ, August 2001
|
||||
- [TWP07] E. Tews, R. P. Weinmann, A. Pyshkin. Breaking 104 bit WEP in less than 60 seconds. Information Security Applications, 188-202, 2007
|
||||
- [WM02a] N. C. Winget, T. Moore, D. Stanley, J. Walker. IEEE 802.11i Overview. NIST 802.11 Wireless LAN Security Workshop, Falls Church, Virginia, December 4-5, 2002
|
||||
- [RFC2898]B. Kaliski. PKCS #5: Password-Based Cryptography Specification Version 2.0. IETF Request for Comments 2898, 2000
|
||||
- [RFC3394]J. Schaad, R. Housley. Advanced Encryption Standard (AES) Key Wrap Algorithm. IETF Request for Comments 3394, 2002
|