WLAN - jetzt ganz sicher

01.06.2006
Von Eckhart Traber
Der neue Standard IEEE 802.11i bildet eine stabile Basis für die Absicherung eines Wireless LANs. Eckhart Traber zeigt die Grundlagen auf.

EAP/802.1x bietet die Möglichkeit, dem Client zu Beginn einer Sitzung die dafür gültigen Schlüssel mitzuteilen. Die Verschlüsselungs- methode WPA (Wi-Fi Protected Access) stellt dies jetzt auf eine standardisierte Grundlage, die auch für den im Juni 2004 verabschiedeten IEEE-Standard 802.11i genutzt wird. Zunächst soll auf die Details des Key Handshakes von WPA eingegangen werden.

Das Schlüsselmanagement berücksichtigt bei WPA auch die von modernen Access Points gebotene Möglichkeit, neben den vier globalen Schlüsseln auch für jeden eingebuchten Client einen Session Key auszuhandeln. Dieser wird exklusiv für Datenpakete von oder zu diesem Client benutzt.

Betrachtet man nochmals den Ablauf von EAP, so ersetzt der neu definierte Key Handshake die Phase, in welcher der Access Point nach Erhalt des Master Secret vom Radius-Server die WEP-Schlüssel (Wired Equivalent Privacy; definiert in dem IEEE-Standard 802.11) an den Client übermittelt. Der Key Handshake von WPA gliedert sich in zwei Phasen: den Pairwise Key Handshake (Phase 1) und den Group Key Handshake (Phase 2).

Pärchenweiser Key-Austausch

Wie man sieht, setzt sich der Handshake aus Paketpaaren zusammen, die jeweils aus einer Anfrage des Access Points und einer Bestätigung des Clients bestehen.

Das erste Pärchen dient im Wesentlichen dazu, dass Client und Access Point für diese Verhandlung spezifische Zufallswerte (so genannte Nonces) austauschen. Das auf beiden Seiten bereits bekannte Master Secret wird dann mit diesen Nonces gemischt. Nach einem festgelegten Hash-Verfahren werden auf diese Weise weitere Schlüssel generiert, die zum einen dem Schutz des weiteren Austauschs dienen und zum anderen als Pairwise Key für diese Station genutzt werden. Da das Master Secret nicht direkt verwendet wird, lässt es sich später für eventuell notwendige Neuverhandlungen erneut nutzen. Dazu wird es mit neuen Zufallswerten gemischt, woraus sich ein anderer Schlüssel ergibt.

Im zweiten Pärchen instruiert der Access Point den Client, den berechneten TKIP-Sitzungsschlüssel zu installieren. Das Verschlüsselungsprotokoll "Temporal Key Integrity Protocol" ist Teil des Standards IEEE 802.11i; es ersetzt das WEP-Protokoll. Das TKIP verwendet wie WEP den RC4-Algorithmus für die Verschlüsselung, doch bezieht es zusätzlich die MAC-Adresse des Senders mit ein. Infolgedessen führt ein gleicher Initialisierungsvektor bei verschiedenen Sendern zu unterschiedlichen RC4-Schlüsseln. Zusätzlich setzt das TKIP-Protokoll neben der zyklischen Redundanzprüfung CRC mit dem Message Integrity Check (MIC; auch als Michael bezeichnet) einen zusätzlichen Hash-Wert ein. Dadurch ist gewährleistet, dass Datenpakte fortlaufend durchnummeriert und im verschlüsselten Teil mit übertragen werden. Beim Empfänger wird die laufende Nummer geprüft, und es werden alle Pakete verworfen, die nicht zu dieser laufenden Nummer passen.

Sobald der Client dies bestätigt, tut dies auch der Access Point. Damit ist der Pairwise Handshake abgeschlossen. Jetzt besteht die Möglichkeit, zwischen Client und Access Point Daten per TKIP auszutauschen.

Damit kann der Client aber noch nicht ganz freigeschaltet werden. Der Access Point muss noch einen weiteren Schlüssel übermitteln: den Group Key. Diesen benutzt er, um Broadcast- und Multicast-Pakete gleichzeitig an alle Stationen zu senden. Der Access Point kann ihn einseitig festlegen. Er übermittelt ihn an die Station, die seinen Empfang bestätigt. Da jetzt schon ein Pairwise Key auf beiden Seiten installiert ist, sind diese beiden Pakete bereits verschlüsselt.

Nach erfolgreichem Group Key Handshake kann der Access Point nun den Client für den normalen Datentransfer freischalten. Während der Sitzung kann der Access Point jederzeit ein Rekeying durchführen. Prinzipiell kann auch der Client das Rekeying vom Access Point anfordern.

WPA berücksichtigt ältere Access-Point-Hardware, die keine Pairwise Keys unterstützt, sondern nur Group Keys. Die erste Phase des Handshakes läuft in diesem Fall genauso ab wie vorher. Nur führt dies nicht zur Installation eines Pairwise Keys. Der Group Key Handshake läuft weiterhin im Klartext ab, eine Verschlüsselung in den EAP-Paketen selber verhindert, dass ein Angreifer die Schlüssel mitlesen kann.

WPA mit Passphrase

Der im vorigen Abschnitt beschriebene Handshake läuft bei WPA grundsätzlich ab. Der Anwender wird niemals selbst irgendwelche TKIP- oder Michael-Schlüssel definieren müssen. In Umgebungen, in denen kein Radius-Server zur Erteilung des Master Secrets vorhanden ist (kleinere Firmen oder Heimanwender), sieht WPA deshalb neben der Authentifizierung über einen Radius-Server das PSK-Verfahren vor.

Dabei muss der Anwender sowohl auf dem Access Point als auch auf allen Stationen eine zwischen 8 und 32 Zeichen lange Passphrase eingeben. Zusammen mit der verwendeten SSID wird daraus das Master Secret über ein Hash-Verfahren berechnet. Das Master Secret ist in einem solchen PSK-Netz also konstant. Die Nonces sorgen aber dafür, dass sich trotzdem immer unterschiedliche TKIP-Schlüssel ergeben.

In einem PSK-Netz hängen wie bei WEP sowohl Zugangsschutz als auch Vertraulichkeit davon ab, dass die Passphrase nicht in unbefugte Hände gerät. Solange dies gewährleistet ist, bietet WPA-PSK eine deutlich höhere Sicherheit vor Einbrüchen und dem Abhören als jede WEP-Variante. Für größere Installationen, in denen eine solche Passphrase einem zu großen Nutzerkreis bekannt gemacht werden müsste, wird EAP/802.1x in Zusammenhang mit dem hier beschriebenen Key Handshake genutzt.

Aushandlung des Verschlüsselungsverfahrens

Die ursprüngliche WEP-Definition sah lediglich eine feste Schlüssellänge vor. In den Anmeldepaketen von Station und Access Point war lediglich ein einziges Bit erforderlich, um anzuzeigen, ob eine Verschlüsselung benutzt werden soll oder nicht. Dies war bereits in dem Augenblick nicht mehr hinreichend, als WEP mit anderen Längen als 40 Bit eingesetzt wurde. Der Anwender muss bei WEP seither aufpassen, dass neben dem gleichen Wert auch die gleiche Schlüssellänge definiert ist.

WPA stellt einen Mechanismus bereit, mit dem sich Client und Access Point über das zu verwendende Verschlüsselungs- und Authentifizierungsverfahren verständigen können. Zu diesem Zweck wurde ein neues Info-Element mit folgendem Inhalt definiert:

3 das in diesem Netz zu verwen-dende Verschlüsselungsverfahren für Broadcasts (also die Art des Group Keys). Jeder Client, der sich in ein WPA-WLAN einbuchen will, muss dieses Verfahren un- terstützen. Hier ist neben TKIP auch noch WEP zugelassen, um gemischte WEP/WPA-Netze zu unterstützen. In einem reinen WPA-Netz wird man aber TKIP wählen;

3 eine Liste von Verschlüsselungsverfahren, die der Access Point für den Pairwise Key anbietet. Hier ist WEP explizit nicht mehr erlaubt;

3 eine Liste von Authentifizierungsverfahren, über die sich ein Client gegenüber dem WLAN als zugangsberechtigt zeigen kann. Mögliche Verfahren sind im Moment EAP/802.1x oder PSK.

Der Access Point strahlt ein solches Info-Element mit seinen Beacons aus. Clients können sich so informieren, ob dieses Netz für sie geeignet ist. Bei der Anmeldung am Access Point schickt der Client wiederum ein solches Paket, in dem er den von ihm gewünschten Typ des Pairwise Keys sowie das Authentifizierungsschema angibt. Der Access Point startet daraufhin entweder die EAP/802.1x-Verhandlung oder beginnt direkt mit dem Key Handshake.

Da sowohl Beacons als auch Anmeldepakete kryptografisch noch nicht geschützt sind, ist es denkbar, dass Dritte in diesen Austausch eingreifen. Sie können Client und Access Point auf ein schwächeres als das eigentlich gewünschte Verfahren herunterdrücken. Sowohl Access Point als auch Client sind deshalb gehalten, diese Info-Elemente während des Key Handshakes nochmals auszutauschen. Wenn das dann empfangene Info-Element sich nicht mit dem aus der Anmeldung deckt, brechen sie die Verbindung sofort ab.

Wie erwähnt, sieht der ursprüngliche WPA-Standard einzig TKIP/Michael als verbessertes Verschlüsselungsverfahren vor. Mit der Weiterentwicklung des 802.11i-Standards wurde das weiter unten beschriebene AES/CCM-Verfahren hinzugenommen. So ist es heutzutage in einem WPA-Netz möglich, dass einige Clients über TKIP mit dem Access Point kommunizieren, andere Clients jedoch über AES.

AES und 802.11i

Mitte 2004 wurde der lang erwartete Standard 802.11i vom IEEE verabschiedet. Er soll das gesamte Sicherheitskonzept von WLAN auf eine neue Basis stellen. Die Chancen dafür stehen gut, denn nach den Problemen bei der Einführung von WEP ist es nicht zu erwarten, dass sich bei 802.11i ähnlich grobe Fehler finden. Wie erwähnt, hat WPA bereits eine ganze Reihe der Konzepte in 802.11i vorweggenommen. Nun sollen die Komponenten beschrieben werden, die gegenüber WPA neu sind.

Verschlüsselungsverfahren AES-CCM

Die augenfälligste Erweiterung betrifft die Einführung des neuen Verschlüsselungsverfahrens AES-CCM (der Advanced-Encryption-Standard ist ein symmetrisches Krypto-System, das den Rijndael-Algorithmus mit der Blockgröße von 128 Bit und einer variablen Schlüssellänge von 128, 192 oder 256 Bit verwendet. AES ist in den USA vom National Institute of Standards and Technology (NIST) für staatliche Dokumente mit höchster Geheimhaltungsstufe zugelassen.).

Wie der Name schon andeutet, basiert dieses Verschlüsselungsverfahren auf dem DES-Nachfolger AES. WEP und TKIP basieren beide noch auf RC4. Da nur die neueste Generation von WLAN-Chips AES-Hardware enthält, definiert 802.11i auch die Verschlüsselung mit TKIP. Während jedoch eine 802.11i-standardkonforme Hardware AES unterstützen muss, ist TKIP optional. Bei WPA war es genau umgekehrt.

Auf Grund der hohen Verbreitung von nicht AES-fähiger Hardware ist aber zu erwarten, dass jede AES-fähige WLAN-Karte auch weiterhin WEP und TKIP unterstützt. WLAN-Geräte werden voraussichtlich Einstellmöglichkeiten bieten, die den Einsatz von TKIP unterbinden. Einige Behörden in den USA betrachten TKIP nicht als sicher genug - ein Einwand, der angesichts des vergleichsweise schwachen Michael-Hashes durchaus gerechtfertigt ist.

Der Zusatz CCM (Counter with CBC-MAC) bezieht sich auf die Art und Weise, wie AES auf WLAN-Pakete angewendet wird. AES selbst ist im Gegensatz zu RC4 ein Block-Cipher. Es wird immer gleich ein ganzer Block von Daten (im Falle von AES-CCM 16 Byte) am Stück verschlüsselt. AES selber wird dabei sowohl für die Erzeugung des MIC als auch für die Verschlüsselung im Chained Mode angewendet. Für jeden AES-Datenblock werden entweder veränderte Eingangsdaten oder die Ergebnisse des letzten Schritts verwendet, sodass gleiche Klartextdaten von Schritt zu Schritt einen unterschiedlichen Schlüsseltext ergeben. Bei DES ist diese Vorgehensweise unter dem Begriff Chained Block Coding geläufig.

CCM-Schema

Das schematische Bild von CCM (unten) deutet bereits seine Komplexität an. Die XOR- und AES-Einheiten sind in Wirklichkeit natürlich nur ein Mal vorhanden. CCM kann nur in Hardware effizient implementiert werden. Softwarebasierte Implementationen sind zwar möglich, erreichen jedoch auf den üblicherweise in Access Points eingesetzten Prozessoren nicht den Durchsatz moderner WLANs.

Im Gegensatz zu TKIP benötigt AES nur noch einen 128 Bit langen Schlüssel, mit dem sowohl die Verschlüsselung als auch der Schutz gegen unerkanntes Verändern von Paketen erreicht werden. Des Weiteren ist CCM voll symmetrisch. Es wird der gleiche Schlüssel in beide Kommunikationsrichtungen angewendet. Eine konforme TKIP-Implementierung hingegen verlangt die Verwendung unterschiedlicher Michael-Schlüssel in Sende- und Empfangsrichtung, sodass CCM in seiner Anwendung deutlich unkomplizierter ist als TKIP.

Gelegentlich findet man in älteren Publikationen oder Drafts des 802.11i-Standards noch eine andere AES-Variante, nämlich AES-OCB oder WRAP. Bei dieser Variante wurde AES in einer anderen Form benutzt, die aber im endgültigen Standard zu Gunsten von CCM fallen gelassen wurde. WRAP ist heute ohne Bedeutung.

Ähnlich wie TKIP verwendet CCM einen 48 Bit langen Initial Vector in jedem Paket - eine IV-Wiederholung ist damit in der Praxis ausgeschlossen. Wie bei TKIP merkt der Empfänger sich den zuletzt benutzten IV und verwirft Pakete mit einem IV, der gleich oder niedriger ist als der Vergleichswert.

Prä-Authentifizierung und PMK-Caching

Wie erwähnt, sind es oft die Details, die die Verabschiedung eines Standards verzögern. Im Falle von 802.11i waren es zwei Details, die insbesondere beim Einsatz von WLAN für Sprachverbindungen (VoIP) helfen sollen. Vor allem in Zusammenhang mit WLAN-basierten schnurlosen Telefonen kommt einem schnellen Roaming, dem Wechsel zwischen Access Points ohne längere Unterbrechungen, eine besondere Bedeutung zu. Bei Telefongesprächen sind bereits Unterbrechungen von wenigen 100 Millisekunden störend. Eine vollständige Authentifizierung über 802.1x, inklusive der folgenden Schlüsselverhandlung mit dem Access Point, kann aber deutlich länger dauern.

Als erste Maßnahme wurde deshalb das so genannte PMK-Caching eingeführt. Der 802.11i-Standard bezeichnet mit PMK (Pairwise Master Key) das nach einer 802.1x-Authentifizierung in Client und Access Point vorhandene Master Secret, das die Basis für den Schlüsselaustausch darstellt. In VoIP-Umgebungen kann sich ein Anwender zwischen einer relativ kleinen Zahl von Access Points hin- und herbewegen. Dabei kommt es vor, dass ein Client wieder zu einem Access Point wechselt, an dem er bereits früher angemeldet war. In so einem Fall wäre es unsinnig, die ganze 802.1x-Authentifizierung zu wiederholen.

Aus diesem Grund kann der Access Point das PMK mit einer Kennung, der so genannten PMKID, versehen, die er an den Client übermittelt. Bei einer Wiederanmeldung fragt der Client mittels der PMKID, ob dieses PMK noch gültig ist. Falls ja, kann die 802.1x-Phase übersprungen werden. Es ist nur der Austausch von sechs kurzen Paketen erforderlich, bis die Verbindung wieder steht. Diese Optimierung ist bei PSK-basierten WLANs nicht erforderlich, denn dort ist das PMK ja ohnehin überall gleich und bekannt.

Eine weitere Maßnahme erlaubt auch für den Fall der erstmaligen Anmeldung eine Beschleunigung. Sie erfordert aber ein wenig "vorausschauendes Verhalten" vom Client: Dieser muss bereits im Betrieb eine schlechter werdende Verbindung zum Access Point erkennen und einen neuen Access Point selektieren, während er noch Verbindung zum alten Access Point hat. In diesem Fall hat er die Möglichkeit, die 802.1x-Verhandlung über den alten Access Point mit dem neuen Access Point zu führen. Dies verkürzt die Zeit um die Dauer der 802.1x-Verhandlung.

Fazit

Nach der Veröffentlichung der Sicherheitslücken in der WEP-Verschlüsselung, den kurzfristigen Lösungsversuchen wie WEPplus und Zwischenschritten wie WPA hat das IEEE-Komitee den neuen WLAN-Sicherheitsstandard 802.11i vorgelegt. Das bei WPA verwendete TKIP-Verfahren basiert auf dem schon älteren RC4-Algorithmus, auf dem bereits WEP aufbaute. Erst mit AES wird der wichtige und endgültige Schritt zu einem wirklich sicheren Verschlüsselungsverfahren vollzogen. Die bekannten praktischen und theoretischen Sicherheitslücken der Vorgängerverfahren gehören mit 802.11i/AES der Vergangenheit an.

Das AES-Verfahren bietet genügend Sicherheit, um die notwendigen Spezifikationen des Federal Information Standards (FIPS) 140-2 einzuhalten, die von vielen staatlichen Stellen gefordert werden.

Mit dem benutzerfreundlichen Pre-Shared-Key-Verfahren (Eingabe einer Passphrase von 8-63 Zeichen Länge) ist 802.11i für jedermann schnell und einfach einzurichten. In professionellen Infrastrukturen mit einer großen Anzahl von Nutzern kann mit 802.1x und Radius-Servern gearbeitet werden.

Zur Startseite