
Von The Cable Guy
Alle auf Deutsch verfügbaren Cable Guy-Kolumnen finden Sie hier.
| Einleitung | |
| Die kryptografischen Features von TKIP und Michael | |
| Die temporären Schlüssel von WPA | |
| Der Verschüsselungs- und Entschlüsselungsprozess von WPA | |
| Zusätzliche Informationen |
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.
WEP aus dem ursprünglichen 802.11-Standard des IEEE hat die folgenden kryptografischen Schwachstellen:
| • | Der Initialisierungsvektor (IV) ist zu kurz |
| • | Eine schwache Datenintegrität |
| • | Verwendung eines Masterschlüssels statt eines abgeleiteten Schlüssels |
| • | Keine Schlüsselaktualisierung |
| • | Kein Schutz vor Replay-Angriffen |
Die folgende Tabelle zeigt, wie TKIP und Michael die kryptografischen Schwächen von WEP beheben.
| Schwachstelle in WEP | Behebung 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. |
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.
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.

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.

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. |
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 |
| • |