The Cable Guy - August 2005

Datenverschlüsselung und -integrität mit Wi-Fi Protected Access 2

Veröffentlicht: 8. September 2005
*

Einleitung

Wi-Fi Protected Access 2 (WPA2) ist eine Produktzertifizierung der Wi-Fi-Alliance. Sie wird für Geräte vergeben, die mit dem IEEE 802.11i-Standard kompatibel sind. WPA2 wird im Artikel The Cable Guy - März 2003: Wi-Fi-geschützter Zugriff (Wi-Fi Protected Access oder WPA) - Übersicht genauer besprochen.

Der IEEE 802.11i-Standard ersetzt WEP (Wired Equivalent Privacy) aus dem ursprünglichen IEEE 802.11-Standard durch Advanced Encryption Standard (AES) - auch als "Counter Mode Cipher Block Chaining-Message Authentification Code CBC-MAC Protocol" bekannt (CCMP). CCMP garantiert sowohl die Vertraulichkeit der Daten (Verschlüsselung), als auch die Integrität der Daten. In diesem Artikel beschreiben wir die WPA2-Implementierung von AES CCMP.

Zum SeitenbeginnZum Seitenbeginn

Kryptografische Features von WPA2

Wie in Datenverschlüsselung und -integrität mit WPA - The Cable Guy - November 2004 beschrieben, hatte der ursprüngliche IEEE 802.11-Standard (WEP) kryptografische Schwächen. In der folgenden Tabelle sehen Sie, wie WPA2 diese Schwächen beseitigt.

WEP-SchwachstelleBeseitigung der Schwachstelle durch WPA2

Initialisierungsvektor (Initialization vector - IV) ist zu kurz

Bei AES CCMP wurde der IV durch ein Packet Number-Feld ersetzt. Die Größe wurde auf 48 Bit verdoppelt.

Schwache Datenintegrität

Die Checksummenberechung von WEP wurde durch den AES CBC-MAC-Algorithmus ersetzt. Dieser sorgt für eine hohe Datenintegrität. Er berechnet einen 128 Bit-Wert, und WPA2 verwendet die höchsten 64 Bit als Message Integrity Code (MIC). WPA2 verschlüsselt den MIC mit der AES-Counter Mode-Verschlüsselung.

Verwendung des Master-Schlüssels statt eines abgeleiteten Schlüssels.

Wie WPA und dessen Temporal Key Integrity Protocol (TKIP), verwendet auch AES CCMP einen Satz von temporären Schlüsseln, die von einem Master-Schlüssel und anderen Werten abgeleitet werden. Der Master-Schlüssel wird über den 802.1X-Authentifizierungsprozess über EAP-TLS (Extensible Authentification Protocol-Transport Layer Security) oder PEAP (Protected EAP) abgeleitet.

Keine Neuverschlüsselung

AES CCMP führt eine automatische Neuverschlüsselung durch.

Kein Schutz vor Replay-Angriffen

AES CCMP verwendet das Packet Number-Feld um sich vor Replay-Angriffen zu schützen.

Zum SeitenbeginnZum Seitenbeginn

Die temporären Schlüssel von WPA2

Im Gegensatz zu WEP, das einen Schlüssel für die Unicast-Verschlüsselung und normalerweise einen extra Schlüssel für die Multicast- und Broadcast-Verschlüsselung verwendet, nutzt WPA2 vier verschiedene Schlüssel für jedes Paar von WLAN-Client und -AP (auch paarweise temporäre Schlüssel genannt).

Diese paarweisen Schlüssel werden für Unicast-Daten und EAPOL (EAP over LAN) Schlüsselnachrichten verwendet. Sie setzen sich folgendermaßen zusammen:

Datenverschlüsselungsschlüssel Ein 128-Bit Schlüssel zur Verschlüsselung von Unicast-Frames.

Datenintegritätsschlüssel Ein 128-Bit Schlüssel, der zur Berechung der MIC von Unicast-Frames verwendet wird.

EAPOL-Schlüsselverschlüsselungsschlüssel Ein 128-Bit Schlüssel, der zur Verschlüsselung von EAPOL-Schlüsselnachrichten verwendet wird.

EAPOL-Schlüsselintegritätsschlüssel Ein 128-Bit Schlüssel, der zur Berechnung der MIC von EAPOL-Schlüsselnachrichten verwendet wird.

WPA2 leitet die paarweisen temporären Schlüssel mithilfe eines 4-Wege Handshakeprozesses ab, der dem von WPA entspricht. Weitere Informationen hierzu finden Sie unter "WPA Temporal Keys" im Artikel Datenverschlüsselung und -integrität mit WPA - The Cable Guy – November 2004.

Zum SeitenbeginnZum Seitenbeginn

Der Ver- und Entschlüsselungsprozess von WPA2

AES CCMP verwendet CBC-MAC zur Berechung der MIC und AES-Counter-Mode zur Verschlüsselung der 802.11 Daten und er MIC. Um einen MIC-Wert zu berechnen, verwendet AES CBC-MAC das folgende Verfahren:

1.

Ein 128-Bit Startblock wird mit AES und dem Datenintegritätsschlüssel verschlüsselt. So entsteht ein 128 Bit langes Ergebnis (Ergebnis1).

2.

Es wird ein exklusives Oder (XOR) mit Ergebnis1 und den nächsten 128 Bit der Daten für die die MIC berechnet wird durchgeführt. So entsteht ein 128 Bit langes Ergebnis (XErgebnis1).

3.

XErgebnis1 wird mit AES und den Datenintegritätsschlüssel verschlüsselt. Dies ergibt Ergebnis2.

4.

Es wird ein XOR mit Ergebnis2 und den nächsten 128 Bit der Daten durchgeführt. Dies ergibt XErgebnis2.

Die Schritte 3-4 werden für alle weiteren 128 Bit Blöcke wiederholt. Die höchsten 64 Bit des letzten Ergebnisses sind die WPA2 MIC. In der folgenden Abbildung sehen Sie ein Beispiel für den Prozess.

Abbildung1

Zur Berechnung der MIC für ein IEEE 802.11-Frame erstellt WPA2 folgendes Paket:

Abbildung2

Der Startblock ist 128 Bit lang und wird weiter unten besprochen.

Der MAC-Header ist der 802.11 MAC-Header. Die Werte der Felder, die sich während der Übermittlung ändern können, sind auf 0 gesetzt.

Der CCMP-Header ist 8 Byte lang und enthält das 48 Bit lange Packet Number-Feld und weitere Felder.

Es werden Padding-Bytes (mit dem Wert 0) hinzugefügt, damit sichergestellt ist, dass der gesamte Datenblock ein Vielfaches von 128 Bit lang ist.

Bei den Daten handelt es sich um die 802.11-Daten im Klartext (nicht verschlüsselt).

Es werden Padding-Bytes (mit dem Wert 0) hinzugefügt, damit sichergestellt ist, dass der gesamte MIC-Datenblock ein Vielfaches von 128 Bit lang ist.

Im Gegensatz zur Datenintegrität von WEP und WPA bietet WPA2 eine Datenintegrität für den 802.11-Header (außer für die Felder die sich möglicherweise ändern können) und den 802.11-Datenteil.

Der Startblock zur MIC-Berechnung setzt sich folgendermaßen zusammen:

Abbildung3

Das Flag-Feld (8 Bit) wird auf 01011001 gesetzt und enthält verschiedene Flags (zum Beispiel ein Flag, das anzeigt, dass die MIC in dem 802.11-Frame 64 Bit lang ist.

Das Priorität-Feld (8 Bit) ist für zukünftige Zwecke reserviert und auf 0 gesetzt.

Die Quelladresse (48 Bit) stammt aus dem 802.11 MAC-Header.

Die Paketnummer (48 Bit) stammt aus dem CCMP-Header.

Die Länge der Klartextdaten in Byte (16 Bit).

Der AES-Counter-Mode Verschlüsselungsalgorithmus verwendet das folgende Verfahren:

1.

Es wird ein erster 128-Bit Counter mit AES und dem Datenverschlüsselungschlüssel verschlüsselt. So entsteht ein 128 Bit langes Ergebnis (Ergebnis1).

2.

Es wird ein XOR mit Ergebnis1 und den ersten 128 Bit der Daten, die verschlüsselt werden, durchgeführt. So entsteht ein 128 Bit langes Ergebnis (XErgebnis1).

3.

Der Counter wird erhöht und mit AES und dem Datenverschlüsselungschlüssel verschlüsselt. So entsteht Ergebnis2.

4.

Es wird ein XOR mit Ergebnis2 und den nächsten 128 Bit der Daten durchgeführt. So entsteht ein weiterer 128 Bit langer verschlüsselter Block.

Die Schritte 4-4 werden so lange wiederholt, bis der letzte Block verschlüsselt ist. Beim letzten Block wird ein XOR mit dem verschlüsselten Counter und den verbleibenden Bits durchgeführt. Das Ergebnis ist so lang wie der letzte Datenblock. In der folgenden Abbildung sehen Sie ein Beispiel für das Verfahren.

Abbildung4

Der Start-Counter-Wert setzt sich folgendermaßen zusammen:

Abbildung5

Das Flag-Feld (8 Bit) wird auf 01011001 gesetzt - es entspricht dem Feld der MIC-Berechnung.

Das Priorität-Feld (8 Bit) ist für zukünftige Zwecke reserviert und auf 0 gesetzt.

Die Quelladresse (48 Bit) stammt aus dem 802.11 MAC-Header.

Die Paketnummer (48 Bit) stammt aus dem CCMP-Header.

Das Counter-Feld (16 Bit) wird auf 1 gesetzt und nur dann inkrementiert, wenn ein 802.11-Datenteil in kleine Datenteile fragmentiert wird. Beachten Sie, dass dieses Counter-Feld nicht dem 128-Bit Counter aus dem AES-Counter-Mode Verschüsselungsalgoritmus entspricht.

Um ein Unicast-Datenframe zu verschlüsseln, nutzt WPA2 das folgende Verfahren:

1.

Startblock, 802.11-MAC-Header, CCMP-Header, Datenlänge und Padding-Felder werden dem CBC-MAC-Algorithmus übergeben. Zusammen mit dem Datenintegritätsschlüssel wird die MIC erstellt.

2.

Start-Counter und kombinierte Daten mit der MIC werden dem AES-Counter-Mode-Verschüsselungsalgorithmus übergeben.

3.

Es wird ein CCMP-Header mit der Paketnummer zum verschlüsselten Teil der 802.11-Daten hinzugefügt. Das Ergebnis wird in einen 802.11-Header und Trailer gekapselt.

Abbildung6

Um ein Unicast-Datenframe zu entschlüsseln und die Datenintegrität zu überprüfen, nutzt WPA2 das folgende Verfahren:

1.

Der Start-Counter wird über die 802.11- und CCMP-Header ermittelt.

2.

Der Start-Counter und der verschlüsselte Teil der 802.11-Daten werden mit dem Datenverschlüsselungsschlüssel an den AES-Counter-Mode-Entschlüsselungsalgorithmus übergeben. Dieser erstellt die unverschlüsselten Daten und die MIC.

3.

Startblock, 802.11-MAC-Header, CCMP-Header, Datenlänge und Padding-Felder werden dem AES CBC-MAC-Algorithmus übergeben, der mit dem Datenintegritätsschlüssel eine MIC berechnet.

4.

Die berechnete MIC und die entschlüsselte MIC werden verglichen. Wenn sie nicht übereinstimmen, werden die Daten von WPA2 stillschweigend verworfen.

In der folgenden Abbildung sehen Sie ein Beispiel für das Verfahren.

Abbildung7
Zum SeitenbeginnZum Seitenbeginn

Zusätzliche Informationen

Weitere Informationen zur Sicherheit in WLANs mit WPA und 802.11 finden Sie unter den folgenden Quellen:

The Cable Guy - März 2003: Wi-Fi-geschützter Zugriff (Wi-Fi Protected Access oder WPA) - Übersicht

Datenverschlüsselung und -integrität mit WPA - The Cable Guy – November 2004

IEEE 802.11 Wireless LAN Security with Microsoft Windows XP (englischsprachig)

Microsoft Wireless Networking Web site (englischsprachig)


Zum SeitenbeginnZum Seitenbeginn