The Cable Guy – November 2004

Datenverschlüsselung und -integrität mit WPA

Veröffentlicht: 01. Nov 2004
*

Einleitung

Bei Wi-Fi Protected Access (WPA) handelt es sich um einen vorläufigen Industriestandard zur Absicherung von 802.11-WLAN-Netzwerken über ein Firmware-Upgrade von 802.11-basierten WLAN-Netzwerkadaptern und -Access Point (APs). WPA war schon einmal Thema der Cable Guy-Kolumne – im März 2003.

WPA ersetzt WEP (Wired Equivalent Privacy) durch die Kombination von TKIP (stellt die Vertraulichkeit über Verschlüsselung sicher) und Michael (stellt die Datenintegrität sicher). Dieser Artikel beschreibt TKIP (Temporal Key Integrity Protocol), Michael und die Verschlüsselungs- und Entschlüsselungsprozesse von WPA.

Zum SeitenanfangZum Seitenanfang

Die kryptografischen Features von TKIP und Michael

WEP aus dem ursprünglichen 802.11-Standard des IEEE hat die folgenden kryptografischen Schwachstellen:

Der Initialisierungsvektor (IV) ist zu kurz
WEP nutzt den IV zusammen mit dem WEP-Verschlüsselungsschlüssel als Input für den RC4 PRNG (Pseudo-Random Number Generator) - dieser produziert einen Zeichenstrom, mit dem der Datenteil des 802.11-Frames verschlüsselt wird. Mit einem 24-Bit WEP-IV ist es sehr einfach, mehrere WEP-Frames mit dem gleichen IV-Wert abzufangen. Eine Entschlüsselung in Echtzeit wird so einfacher.

Eine schwache Datenintegrität
Die WEP-Datenintegrität besteht nur aus einer Checksumme der Bytes im unverschlüsselten 802.11-Datenteil (CRC-32) und der Verschlüsselung dieses Wertes mit WEP. Obwohl verschlüsselt, ist es doch ziemlich einfach, Bits im verschlüsselten Datenteil zu ändern und dann den verschlüsselten CRC-32-Wert zu ändern. Der empfangende Knoten kann so nicht mehr erkennen, dass die Daten im Frame geändert wurden.

Verwendung eines Masterschlüssels statt eines abgeleiteten Schlüssels
Der WEP-Verschlüsselungsschlüssel ist der einzige verfügbare Schlüssel - er wird entweder manuell konfiguriert oder über die 802.1X-Authentifizierung festgelegt. Die Verschlüsselung mit dem Masterschlüssel ist weniger sicher als die Verwendung eines vom Masterschlüssel abgeleiteten Schlüssels.

Keine Schlüsselaktualisierung
WEP verfügt über keine Möglichkeit zur Aktualisierung des Verschlüsselungsschlüssels.

Kein Schutz vor Replay-Angriffen
WEP bieten keinen Schutz vor Replay-Angriffen. Bei solchen Angriffen sendet der Angreifer eine Serie von vorher abgefangenen Frames und versucht so einen Zugriff zu erlangen oder Daten zu verändern.

Die folgende Tabelle zeigt, wie TKIP und Michael die kryptografischen Schwächen von WEP beheben.

Schwachstelle in WEPBehebung der Schwachstelle in WPA

IV zu kurz

Mit TKIP wurde der IV auf 48 Bits verdoppelt.

Schwache Datenintegrität

Die WEP-verschlüsselte CRC-32-Checksumme wurde mit Michael ersetzt - einem Algorithmus, der zur Umsetzung einer starken Datenintegrität entwickelt wurde. Der Michael-Algorithmus berechnet einen 64-Bit Message-Integrity-Code (MIC). Dieser wird mit TKIP verschlüsselt.

Masterschlüssel statt abgeleitetem Schlüssel

TKIP und Michael nutzt temporäre Schlüssel, die vom Masterschlüssel und anderen Werten abgeleitet werden. Der Masterschlüssel wird über EAP-TLS (Extensible Authentication Protocol-Transport Layer Security) oder PEAP (Protected EAP) 802.1X-Authentifilzierungsprozesse ermittelt. Zusätzlich ändert sich bei jedem Frame der geheime Teil des RC4 PRNG-Inputs.

Keine Schlüsselaktualisierung

WPA führt eine automatische Schlüsselaktualisierung mit temporären Schlüsseln durch.

Kein Schutz vor Replay-Angriffen

TKIP nutzt den IV als Framezähler und schützt so vor Replay-Angriffen.

Zum SeitenanfangZum Seitenanfang

Die temporären Schlüssel von WPA

Im Gegensatz zu WEP mit seinem einen Schlüssel für die Verschlüsselung des Unicast-Datenverkehrs und jeweils einem Schlüssel für Multicast- und Broadcast-Datenverkehr nutzt WPA vier unterschiedliche Schlüssel für jedes WLAN-Client- und WLAN-AP-Paar (diese werden paarweise temporäre Schlüssel genannt). Außerdem wird ein Satz mit zwei unterschiedlichen Schlüsseln für Multicast- und Broadcastverkehr genutzt.

Die für Unicast-Daten und EAPOL-Key-Nachrichten (EAP over LAN) genutzten paarweisen Schlüssel setzten sich folgendermaßen zusammen:

Data Encryption Key Ein 128-Bit-Schlüssel zur Verschlüsselung von Unicast-Frames.

Data Integrity Key Ein 128-Bit-Schlüssel zur Berechnung des MIC für Unicast-Frames.

EAPOL-Key Encryption Key Ein 128-Bit-Schlüssel zur Verschlüsselung von EAPOL-Key-Nachrichten.

EAPOL-Key Integrity Key Ein 128-Bit-Schlüssel zur Berechnung des MIC für EAPOL-Key-Nachrichten.

Um die paarweisen temporären Schlüssel abzuleiten, nutzt WPA die folgenden Werte:

Pairwise Master Key (PMK) Ein 256-Bit-Schlüssel aus dem EAP-TLS- oder PEAP-Authentifizierungsprozess.

Nonce 1 Eine Zufallszahl, die vom WLAN-AP festgelegt wird.

MAC 1 Die MAC-Adresse des WLAN-APs.

Nonce 2 Eine Zufallszahl, die vom WLAN-Client festgelegt wird.

MAC 2 Die MAC-Adresse des WLAN-Clients.

Zur 802.1X-Authentifierung mit einem RADIUS-Server wird der PMK vom WLAN-Client und vom RADIUS-Server (der den PMK dann über die RADIUS-Access-Accept-Nachricht an den WLAN-AP weiterleitet) festgelegt. Nachdem er den PMK erhalten hat, initiiert der AP einen temporären Schlüsselaustausch. Dieser setzt sich folgendermaßen zusammen:

1.

Der AP sendet eine EAPOL-Key-Nachricht. Diese enthält Nonce 1 und MAC 1. Da die temporären Unicast-Schlüssel noch nicht festgelegt sind, wird diese Nachricht im Klartext und ohne Nachrichtenintegrität gesendet. Der WLAN-Client hat damit alle Teile, die er für die Berechnung der paarweisen temporären Schlüssel braucht.

2.

Der Client sendet eine EAPOL-Key-Nachricht mit Nonce 2, MAC 2 und einem MIC. Da der Client die paarweisen temporären Schlüssel jetzt berechnet hat, berechnet er mithilfe des abgeleiteten EAPOL-Key Integrity Key einen MIC. Der AP nutzt Nonce 2 und MAC, um den paarweisen temporären Schlüssel abzuleiten und den MIC zu überprüfen.

3.

Der AP sendet eine EAPOL-Key-Nachricht mit einem MIC und einer Start-Sequenznummer. Diese zeigt an, dass der AP zum Senden von verschlüsselten Unicast-Frames und EAPOL-Key-Frames bereit ist.

4.

Der Client sendet eine EAPOL-Key-Nachricht mit einem MIC und einer Start-Sequenznummer. Diese zeigt an, dass auch der Client zum Senden von verschlüsselten Unicast-Frames und EAPOL-Key-Frames bereit ist.

Mit den beschriebenen Nachrichten werden die zur Festlegung der paarweisen temporären Schlüssel erforderlichen Werte ausgetauscht. Gleichzeitig wird überprüft, dass jeder WLAN-Peer den PMK kennt (durch die Überprüfung des MIC). Außerdem wird festgestellt, dass jeder WLAN-Peer zum Austausch von verschlüsselten Unicast-Frames und EAPOL-Key-Nachricht mit geschützter Integrität bereit ist.

Für den Multicast- und Broadcast-Netzwerkverkehr leitet der AP einen 128-Bit-Schlüssel (Group Encryption Key) und einen 128-Bit-Integritätsschlüssel (Group Integrity key) ab und sendet diese Werte über eine EAPOL-Key-Nachricht an die Clients. Diese Nachricht ist mit dem EAPOL-Key Encryption Key verschlüsselt, und ihre Integrität wird durch den EAPOL-Key Integrity Key geschützt. Der Client bestätigt die EAPOL-Key-Nachricht mit einer weiteren EAPOL-Key-Nachricht.

Zum SeitenanfangZum Seitenanfang

Der Verschüsselungs- und Entschlüsselungsprozess von WPA

WPA benötigt zur Verschlüsselung und zum Schutz der Integrität von WLAN-Frames die folgenden Werte:

Den IV, der bei 0 beginnt und mit jedem Frame um eins erhöht wird.

Den Data Encryption Key (bei Unicast-Verkehr) oder den Group Encryption Key (bei Multicast- oder Broadcast-Verkehr).

Die Zieladresse (ZA) und die Quelladresse (QA) des Frames.

Den Wert eines Prioritätsfelds, das auf 0 gesetzt wird und für eine spätere Verwendung vorgesehen ist.

Den Data Integrity Key (bei Unicast-Verkehr) oder den Group Integrity Key (bei Multicast- oder Broadcast-Verkehr).

Die folgende Abbildung zeigt den WPA-Verschlüsselungsprozess für Unicast-Frames.

WPA Encryption process

1.

Der IV, die QA und der Data Encryption Key werden einer WPA-Funktion zur Schlüsselerstellung übergeben. Diese berechnet den Pro-Paket-Verschlüsselungsschlüssel.

2.

Aus der ZA, der QA, der Priority, den Daten (der unverschlüsselte 802.11-Datenteil) und dem Data Integrity Key wird mithilfe des Michael-Algorithmus’ der MIC erstellt.

3.

Aus der CRC-32-Checksumme wird der ICV berechnet.

4.

IV und Pro-Paket-Verschlüsselungsschlüssel dienen als Input für die RC4 PRNG-Funktion. Diese erstellt einen Schlüsselstrom mit der gleichen Größe wie die Daten, dem MIC und dem ICV.

5.

Der Schlüsselstrom wird durch ein XOR in Kombination mit den Daten, dem MIC und dem ICV bearbeitet. So entsteht der Verschlüsselte Teil des 802.11-Datenteils.

6.

Der IV wird über die Felder IV und Extended IV zum verschlüsselten Teil des 802.11-Datenteils hinzugefügt. Das Ergebnis wird mit dem 802.11-Header und -Tailer gekapselt.

Die folgende Abbildung zeigt den WPA-Entschlüsselungsprozess für Unicast-Frames.

WPA decryption process for a unicast data frame

1.

Der IV wird aus den Feldern IV und Extended IV im Datenteil des 802.11-Frames extrahiert und zusammen mit der ZA und dem Data Encryption Key als Input der Schlüsselerstellungsfunktion übergeben. Diese erzeugt den Pro-Paket-Verschlüsselungsschlüssel.

2.

Der IV und der Pro-Paket-Verschlüsselungsschlüssel werden als Input der RC4 PRNG-Funktion übergeben. Diese erzeugt einen Schlüsselstrom, der die gleiche Größe wie die verschlüsselten Daten, MIC und ICV hat.

3.

Mit dem Schlüsselstrom und den verschlüsselten Daten wird ein XOR durchgeführt. So entstehen die unverschlüsselten Daten, der MIC und der ICV.

4.

Der ICV wird berechnet und mit dem unverschlüsselten ICV verglichen. Wenn diese nicht übereinstimmen, werden die Daten stillschweigend verworfen.

5.

ZA, QA, Daten und Data Integrity Key werden dem Michael-Algorithmus übergeben. Dieser erstellt den MIC.

6.

Der MIC wird mit dem unverschlüsselten MIC verglichen. Wenn diese nicht übereinstimmen, werden die Daten stillschweigend verworfen. Wenn beide übereinstimmen, werden die Daten zur weiteren Verarbeitung an die nächste übergeordnete Netzwerkschicht übergeben.

Zum SeitenanfangZum Seitenanfang

Zusätzliche Informationen

Weitere Informationen zu WPA und der Sicherheit von 802.11-WLANs erhalten Sie unter:

Wi-Fi-geschützter Zugriff (Wi-Fi Protected Access oder WPA) - Übersicht - Der Cable Guy-Artikel aus März 2003.

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

Microsoft Wi-Fi-Website (englischsprachig)

Alle in deutscher Sprache verfügbaren Beträge der Cable Guy-Kolumne

Die englische Cable Guy-Kolumne


Zum SeitenanfangZum Seitenanfang