Donnerstag, 6. September 2012


Topthema

Donnerstag, 7. Juni 2007 | Topthema

About Security #108: Mobile Security — Wi-Fi Protected Access (WPA)

(Link zum Artikel: http://www.entwickler.de/php/kolumnen/036164)
  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share

Das von WPA genutzte Temporal Key Integrity Protocol (TKIP) nutzt verschiedene, aus einem Master Secret abgeleitete Schl�ssel zur Verschl�sselung und Integrit�tssicherung. Die f�r die RC4-Verschl�sselung verwendeten Schl�ssel werden f�r jedes zu sendende Paket neu berechnet, sodass die gegen WEP m�glichen Angriffe fehlschlagen.

Die Initialisierungsvektoren (IV) von TKIP sind 56 Bit lang. Davon werden allerdings 8 Bit verworfen, um die in WEP zutage getretenen schwachen Schl�ssel zu vermeiden. Der IV wird zur Optimierung der Rechenzeit in einen 16 Bit langen Lo-Teil und einem 32 Bit langen Hi-Teil aufgeteilt. Die Berechnung der f�r die RC4-Verschl�sselung verwendeten Schl�ssel erfolgt in zwei Schritten. Der erste, rechenintensive Schritt berechnet aus dem Hi-Teil und dem Master Secret ein Zwischenergebnis. Der zweite Schritt berechnet daraus und aus den Lo-Teil des IV dann den RC4-Schl�ssel. Der erste Schritt muss dadurch nur einmal f�r 65536 Pakete durchgef�hrt werden, erst danach ist eine Neuberechnung n�tig.
Der Lo-Teil beginnt mit 0 und wird mit jedem gesendeten Datenpaket um 1 Bit erh�ht. Der Empf�nger verwirft alle Pakete mit einem bereits empfangenen IV, wodurch Replay-Angriffe effektiv verhindert werden.

N E U ! Security aktuell
T�glich aktuelle Security-Infos!

Integrit�tspr�fung

Anstelle (bzw. zus�tzlich zu) der einfachen Pr�fsumme des Integrity Check Value (ICV) von WEP wird ein 'Michael' genannter Message Integrity Check (MIC) verwendet. Dabei handelt es sich um einen 64 Bit langen Hashwert, in den au�er den Daten auch die Quell- und Zieladresse einflie�en. Er wird mit einem aus dem Master Secret abgeleiteten geheimen Schl�ssel berechnet. Da die verwendete Hashfunktion relativ schwach ist, wurde eine Schutzfunktion in den Access Points implementiert: Beim Empfang von 2 Paketen mit falschem MIC-Wert innerhalb einer Sekunde werden alle Schl�ssel f�r ung�ltig erkl�rt und die Verbindung f�r eine Minute gesperrt.

Authentifizierung

F�r die Authentifizierung und die Verteilung des Master Secrets stehen zwei Verfahren zur Verf�gung:

  • Enterprise Mode, WPA-Enterprise
    Ist ein Authentifizierungsserver, z.B. ein RADIUS-Server, vorhanden, wird der Client �ber das Extensible Authentication Protocol (EAP, RFC 3748) authentifiziert und anschlie�end ein individuelles, tempor�res Secret verteilt.
  • Customer Mode, WPA-Personal, WPA-PSK
    Steht kein Authentifizierungsserver zur Verf�gung, wird das Pre-Shared-Key-Verfahren (PSK, vorab getauschte Schl�ssel) f�r die Authentifizierung verwendet. Der PSK ist 256 Bit lang und wird aus einer auf dem Access Point und allen Clients gespeicherten, zwischen 8 und 64 Zeichen langen Passphrase und dem SSID (Service Set Identifier) berechnet. Alternativ kann auch direkt ein 256-Bit-Wert als PSK eingegeben werden. Der PSK dient gleichzeitig als Master Secret.
    Die Sicherheit h�ngt entscheidend von Qualit�t und Geheimhaltung der Passphrase ab. Kann sie �ber einen W�rterbuchangriff ermittelt oder vom Angreifer auf andere Weise ausgesp�ht werden, hat dieser danach ungehinderten Zugriff auf das WLAN. Programme, die �ber einen W�rterbuchangriff auf die beim Schl�sselaustausch ausgetauschten Pakete offline das Master Secret ermitteln, existieren bereits. Zu kurze oder zu einfache Passphrasen k�nnen damit ermittelt werden.
Schl�sselaustausch

Nach erfolgreicher Authentifikation wird der Schl�sselaustausch zur Bildung der notwendigen Schl�ssel gestartet.

About Security: Die komplette Serie

Sowohl Access Point als auch Client kennen bereits den so genannten 'Pairwise Master Key' (PMK) � entweder das individuelle tempor�re Secret aus der EAP-Authentifizierung oder das aus dem PSK berechnete allgemeine Master Secret.

Beide erzeugen nun Zufallsdaten (Nonces). Der Access Point sendet seinen Nonce-Wert an den Client. Der berechnet aus dem PMK, seiner und der MAC-Adresse des Access Points sowie den beiden Nonces den 'Pairwise Transient Key' (PTK), aus dem die ben�tigten Schl�ssel f�r RC4-Verschl�sselung und MIC-Berechnung abgeleitet werden. Der Client sendet dann seinen Nonce und dessen MIC-Wert an den Access Point.

Der Access Point berechnet nun analog zum Client ebenfalls den 'Pairwise Transient Key' (PTK). Dieser wurde daher niemals �bertragen. Damit ist der 'Pairwise Key Handshake' abgeschlossen, es folgt der 'Group Key Handshake'.

Der Access Point �bertr�gt nun den f�r die Verschl�sselung von Broadcast- und Multicast-Paketen verwendeten 'Group Transient Key' (GTK). Die �bertragung erfolgt durch den PTK gesch�tzt, au�erdem wird der MIC-Wert des GTK �bertragen. Der Client antwortet mit dem mit dem PTK verschl�sselten empfangenen MIC. Stimmt der mit dem �bertragenen Wert �berein, wurde der GTK nicht manipuliert, und die verschl�sselte Kommunikation kann beginnen.

Client Access-Point

Kennt 'Pairwise Master Key' (PMK)
Erzeugt NonceC
Kennt 'Pairwise Master Key' (PMK)
Erzeugt NonceA
<------ NonceA -----------
Berechnet 'Pairwise Transient Key' (PTK)
-- NonceC, MIC(NonceC) -->
Berechnet 'Pairwise Transient Key' (PTK)
Stellt 'Group Transient Key' (GTK) bereit
Verwendet PTK
<-- PTK( GTK, MIC(GTK) ) --
Verwendet PTK und GTP
----- PTK( MIC(GTK) ) ---->
 
Sichere Kommunikation m�glich

In der n�chsten Folge geht es um den aktuellen Sicherheitsstandard 802.11i, auch WPA2 genannt.

Wenn Sie Fragen oder Themenvorschl�ge haben, k�nnen Sie diese gerne an die angegebene E-Mail-Adresse senden oder im Security-Forum einbringen!

Carsten Eilers

About Security � �bersicht zum aktuellen Thema "Mobile Security � WPA, WPA2 und IEEE 802.11i"

Kommentare

Folgende Links könnten Sie auch interessieren