Skip to content

WLAN-Sicherheit 9 - Die Schlüssel von WPA2, Teil 1

Wi-Fi Protected Access 2 (WPA2) implementiert die grundlegenden Funktionen des aktuellen Sicherheitsstandards IEEE 802.11i für drahtlose Netze nach dem IEEE 802.11 Standard (WLAN). Der allgemeine Aufbau, Schlüsselmanagement und Schlüsselhierarchie wurden bereits vorgestellt. Ab dieser Folge geht es um die von WPA2 verwendeten Schlüssel. Den Anfang macht der

Pairwise Master Key PMK

Für die Verteilung des Pairwise Master Key gibt es wie bereits beschrieben zwei Möglichkeiten: Entweder in Form eines vorher verteilten Preshared Keys (PSK) oder temporär im Rahmen eines Zugriffskontroll-Protokolls.

Wenn ein Authentifizierungsserver zu Verfügung steht sollte er auch genutzt werden. Die Verwendung eines PSK ist dann ein unnötiger möglicher Schwachpunkt. Denn ein unsicherer PSK ist genau wie schon bei WPA die größte Gefahr für WPA2. Wenn der Angreifer den PSK über einen Wörterbuch- bzw. Brute-Force-Angriff ermitteln kann erhält er Zugriff auf das WLAN.

IEEE 802.11i beschreibt im Anhang eine Möglichkeit, um mithilfe der im Public Key Cryptography Standard #5 (PKCS #5, RFC 8018) definierten Password Based Key Derivation Function 2 (PBKDF2) aus einer als PSK verteilten Passphrase, der SSID und der SSID-Länge einen 256 Bit langen PMK zu berechnen.

Temporärer Schlüssel als PMK

Beim Einsatz eines Authentifizierungsservers werden als PMK statt des dauerhaften PSK während der Authentifizierung erzeugte temporäre Schlüssel, auch als serverbasierter Schlüssel bezeichnet, verwendet.

An der Authentifizierung sind im Rahmen von IEEE 802.11i drei Parteien beteiligt:

  1. Der Client,
  2. der Authentifizierer (der in diesem Fall eher eine Zugangskontroll-Funktion besitzt, i.A. ein Access-Point) und
  3. ein Authentifizierungsserver, der die eigentliche Authentifizierung des Clients übernimmt.

Der Authentifizierungs-Request des Clients wird vom Authentifizierer an den Authentifizierungsserver weitergereicht. Client und Authentifizierungsserver wickeln dann die eigentliche Authentifizierung untereinander ab. Entsprechend der Antwort des Authentifizierungsservers lässt dann der Authentifizierer den Zugang zu oder verbietet ihn.

Auf dem Authentifizierungsserver können verschiedene sog. Upper-Layer-Authentifizierungsprotokolle eingesetzt werden, von denen einige im Zuge der Authentifizierung über das Extensible Authentication Protocol (EAP, RFC 3748) einen zufälligen PMK erzeugen können. Der dabei erzeugte PMK muss abschließend noch vom Authentifizierungsserver an den Authentifizierer übertragen werden.

Client               Authentifizierer               Authentifizierungs-
server

    <-- 802.1x EAP Request --
 
    -- 802.1x EAP Request -->
 
-- Access Request (EAP Request) -->    
 
    <-------------- EAP Authentication Protocol Exchange -------------->    
 
<-- OK / EAP Success / Schlüssel --    
 
    <-- 802.1x EAP Success --

Der Pairwise Transient Key

Nachdem auf beiden Kommunikationsteilnehmern der PMK gespeichert wurde, kann daraus der Pairwise Transient Key (PTK) erzeugt werden, aus dem dann schließlich die temporären Schlüssel für die eigentliche Kommunikation gebildet werden.

Der PTK wird in einem 4-Wege-Handshake ausgehandelt. Sowohl Client als auch Authentifizierer (in der Regel ein Access-Point) erzeugen zuerst Zufallsdaten (Nonces). Die des Clients wird als SNonce (S für Supplicant), die des Authentifizierer als ANonce bezeichnet.

  • Schritt 1:
    Der Authentifizierer sendet seinen Nonce-Wert an den Client. Der berechnet aus dem PMK, seiner und der MAC-Adresse des Authentifizierers sowie den beiden Nonces den PTK, aus dem die benötigten temporären Schlüssel abgeleitet werden.
  • Schritt 2:
    Der Client sendet seinen Nonce und dessen EAPOL-MIC-Wert an den Authentifizierer. Der Authentifizierer berechnet nun analog zum Client ebenfalls den PTK. Dieser wurde daher niemals übertragen. Aus dem PTK werden dann die temporären Schlüssel abgeleitet und damit der übertragene EAPOL-MIC-Wert geprüft.
  • Schritt 3:
    Der Authentifizierer überträgt den für die Verschlüsselung von Multicast-Paketen verwendeten GTK. Die Übertragung erfolgt durch den EAPOL-Schlüssel geschützt, außerdem wird der EAPOL-MIC-Wert des GTK übertragen.
  • Schritt 4:
    Der Client antwortet mit dem empfangenen, durch den EAPOL-Schlüssel verschlüsselten, EAPOL-MIC. Stimmt der mit dem übertragenen Wert überein, wurde der GTK nicht manipuliert und die verschlüsselte Kommunikation kann beginnen.
Client Authentifizierer

  • Kennt PMK
  • Erzeugt SNonce
  • Kennt PMK
  • Erzeugt ANonce
<----------- ANonce ------------
  • Berechnet PTK
-- SNonce, EAPOL-MIC(SNonce) -->
  • Berechnet PTK
  • Stellt GTK bereit
  • Verwendet PTK
<- EAPOL(GTK, EAPOL-MIC(GTK)) --
  • Verwendet PTK
    und GTP
---- EAPOL(EAPOL-MIC(GTK)) ---->
 
Sichere Kommunikation möglich

Wird kein GTK benötigt, vereinfacht dies Schritt 3 und 4 des Handshakes:

  • Schritt 3 ohne Group Temporary Key (GTK):
    Der Authentifizierer teilt dem Client mit, dass der ausgehandelte PTK aktiviert werden kann. Diese Nachricht wird mit ihrem EAPOL-MIC-Wert geschützt.
  • Schritt 4 ohne Group Temporary Key (GTK):
    Der Client bestätigt dem Authentifizierer, dass der ausgehandelte PTK aktiviert werden kann. Diese Nachricht wird ebenfalls mit ihrem EAPOL-MIC-Wert geschützt.
    Anschließend aktivieren beide den PTK.

In der nächsten Folge wird die Beschreibung von WPA2 mit der Beschreibung der Gruppenschlüssel fortgesetzt.

Carsten Eilers

Trackbacks

Dipl.-Inform. Carsten Eilers am : WLAN-Sicherheit 10 - Die Schlüssel von WPA2, Teil 2

Vorschau anzeigen
Wi-Fi Protected Access 2 (WPA2) implementiert die grundlegenden Funktionen des aktuellen Sicherheitsstandards IEEE 802.11i für drahtlose Netze nach dem IEEE 802.11 Standard (WLAN). Der allgemeine Aufbau, Schlüsselmanagement und Schl&amp;uu

Dipl.-Inform. Carsten Eilers am : WLAN-Sicherheit 11 - Der Counter-Mode/CBC-MAC von WPA2

Vorschau anzeigen
Wi-Fi Protected Access 2 (WPA2) implementiert die grundlegenden Funktionen des aktuellen Sicherheitsstandards IEEE 802.11i für drahtlose Netze nach dem IEEE 802.11 Standard (WLAN). Der allgemeine Aufbau, Schlüsselmanagement und Schl&amp;uu

entwickler.de am : PingBack

Die Anzeige des Inhaltes dieses Trackbacks ist leider nicht möglich.

Dipl.-Inform. Carsten Eilers am : WLAN-Sicherheit 12 - Authentifizierung in WPA2

Vorschau anzeigen
Wi-Fi Protected Access 2 (WPA2) implementiert die grundlegenden Funktionen des aktuellen Sicherheitsstandards IEEE 802.11i für drahtlose Netze nach dem IEEE 802.11 Standard (WLAN). Der allgemeine Aufbau, Schlüsselmanagement und Schl&amp;uu

Dipl.-Inform. Carsten Eilers am : WLAN-Sicherheit 13 - Authentifizierung in WPA2, Teil 2

Vorschau anzeigen
Wi-Fi Protected Access 2 (WPA2) implementiert die grundlegenden Funktionen des aktuellen Sicherheitsstandards IEEE 802.11i für drahtlose Netze nach dem IEEE 802.11 Standard (WLAN). Der allgemeine Aufbau, Schlüsselmanagement und Schl&amp;uu