WiFi Protected Access: Difference between revisions

From
Jump to navigation Jump to search
Line 122: Line 122:
== Glossary ==
== Glossary ==
* AES - Advanced Encryption Standard, Block Cipher used by WPA2
* AES - Advanced Encryption Standard, Block Cipher used by WPA2
* AES-CCMP - AES in Counter Mode with Cipher Block Chaining Protocol, Mode used by WPA2
* AES-CCMP / CCM - AES in Counter Mode with Cipher Block Chaining Protocol, Mode used by WPA2
* AP - Access Point
* AP - Access Point
* AS - Authentication Server, process or machine responsible for user identifaction
* AS - Authentication Server, process or machine responsible for user identifaction
* IV - Initialization Vector, used as variable input for encryption algorithms and as packet number in WPA
* MAC - Medium Access Control, MAC Address of network device is used to add nonce in WPA
* MAC - Message Authentication Code, used to sign messages, for clarification we use MIC instead
* MIC - Message Integrity Code
* PMK - Pairwise Master Key
* PMK - Pairwise Master Key
* PN - Packet Number
* PTK - Pairwise Transient Key
* PTK - Pairwise Transient Key
* RC4 - Stream Cipher, used by [[Wired Equivalent Privacy|WEP]] and WPA
* RC4 - Stream Cipher, used by [[Wired Equivalent Privacy|WEP]] and WPA

Revision as of 11:59, 12 July 2007

Introduction

Mängel im Design von WEP führten zur Entwicklung von 802.11i, Robust Security Network - RSN. Da einige der Änderungen neue Netzwerkhardware erfordern, wurde auch eine Übergangslösung entworfen, die als Softwareupgrade auf alter Hardware installiert werden kann, das Tempory Key Integrity Protocol - TKIP.


WPA vs WPA2

WPA basiert auf TKIP, WPA 2 vollständig auf RSN. Gemeinsamkeiten gibt es bei der Authentication und beim Key Management, Unterschiede beim verwendeten Cipher und in Folge bei der Integrity Protection und Confidentiality. An den entsprechenden Stellen sind die Unterschiede ausgewiesen.

Authentication

Grundsätzlich sollen nur autorisierte Stations Zugang zum Netzwerk und dessen Ressourcen erhalten und Access Points sollen sich gegenüber den Stations ausweisen, damit diese sich nicht bei sogenannten Rogue AP anmelden. Es wird keine spezielle Methode für die Autorisierung im Standard vorgegeben. Mögliche Varianten könnten Passwörter, Signaturen, Smart Cards und ähnliches oder Kombinationen davon sein. Um die Verbindung für die Dauer einer Sitzung zu schützen, wird im Zuge der Authentifizierung ein Session Key zwischen STA und AP ausgehandelt. Dieser soll auch verhindern, dass dritte die Identität eines der beiden Teilnehmer vortäuschen können. Das allgemeine Verfahren wurde aus dem Standard 802.1X abgeleitet.

Participating Entities

Es werden 3 Entitäten definiert, die am Authentifizierungsprozess beteiligt sind.

  1. Supplicant (hier STA), der mobile Client, der sich beim Netzwerk anmelden möchte
  2. AP, der Access Point, der den Zugang zum Netzwerk in der Form von offenen und geschlossenen Ports regelt
  3. AS, Authentication Server der sich um die eigentliche Autorisierung kümmert

STA und AP kommunizieren drahtlos und vor erfolgreicher Authentifierung nur über den uncontrolled Port des AP. Dabei leitet der Access Point die Nachrichten des Supplicants nur an den Authentication Server weiter und verpackt sie eventuell noch mit dem entsprechenden Protokoll, ohne sie zu lesen. Der Kommunikationsweg zwischen AP und AS ist im Standard nicht definiert, aber die Sicherheit dieses Übertragungsweges ist wichtig.

EAP / EAPOL & RADIUS

Das vom Standard vorgesehen Protokoll für den Nachrichtenaustausch bei der Authentifizierung ist EAP. Darin sind 4 Typen von Nachrichten vorgesehen. EAP Start, EAP Request, EAP Response und EAP Success. EAP kann die speziellen Nachrichten einer Vielzahl von Authentifizierungsmethoden übertragen. Die aktuelle Methode wird festgelegt, während sich ein Client mit einem Netzwerk assoziiert. Zwischen STA und AP wird EAP over LAN - EAPOL verwendet und zwischen AP und AS EAP over RADIUS. Die Verwendung von RADIUS ist bei WPA2 nicht vorgeschrieben, aber weit verbreitet.

  1. Der Supplicant kann die Authentication mit einer optionalen EAPOL Start Nachricht einleiten
  2. Der AP schickt eine EAPOL Request Nachricht
  3. Der Supplicant antwortet mit einer EAPOL Response Nachricht, die der AP als RADIUS Access Request an den AS weiterleitet
  4. Der AS schickt RADIUS Access Challenge, die vom AP als EAPOL Request weitergeleitet wird
  5. Der Supplicant antwortet mit einem EAP Response, das als RADIUS Access Request den AS erreicht
  6. Der AS schickt RADIUS Access Accept, die als EAP Success an die STA weitergeleitet wird
  7. Die STA kann sich mit einer optionalen EAPOL Logoff Nachricht abmelden

Die Schritte 4. und 5. können beliebig oft wiederholt werden, denn hier findet der eigentliche Nachrichtenaustausch statt. Die Errichtung eines TLS Tunnels könnte zum Beispiel 10 bis 20 Nachrichten erfordern. In einem solchen Fall würde sich der AS mit einem Zertifikat gegenüber der STA ausweisen und über den TLS Tunnel könnte dann mittels einer Passwortabfrage die Identität des Clients überprüft werden.

4-Way-Handshake

Nach der EAP Success Nachricht wird der 4 Way Handshake initialisiert, bei dem die aktuellen Session Keys ausgehandelt und installiert werden. An diesem Punkt hat der Authentication Server sowohl der STA als auch dem AP unabhängig voneinander einen Pairwise Master Key - PMK - zugestellt. Details zu den verschiedenen Schlüsseln im nächsten Abschnitt.

  1. Mittels einer EAPOL Key Nachricht schickt der AP eine Zufahlszahl an den Client. Aus der erhaltenen und der eigenen Zufallszahl und dem PMK erzeugt der Client seinen Pairwise Transient Key - PTK
  2. Der Client schickt seine Zufallszahl an den AP und signiert die Nachricht mit dem eben erstellten PTK. Der AP erzeugt nun ebenfalls aus beiden Zufallszahlen den PTK und überprüft damit die Signatur der letzten Nachricht, danach glaubt er, dass der Client im Besitz des PTK ist.
  3. AP schickt eine Sequenznummer an den Client, mit der nachfolgende Pakete der eigentlichen Verbindung nummeriert werden und signiert diese Nachricht ebenfalls, der Client überprüft die Signatur und glaubt danach, dass der AP im Besitz des PTK ist.
  4. Der Client schickt eine Acknowledge Nachricht an den AP, woraufhin ein kontrollierter Port für die nachfolgende Session freigegeben wird.

(Alle hierbei verwendeten Nachrichten sind vom Typ EAPOL Key)

Key Management

Nach der Authentication Phase sind sowohl AP als auch STA im Besitz ein und desselben Session Key. Dabei handelt es sich um einen Master Key, aus dem die Schlüssel generiert werden, die im Endeffekt eingesetzt werden. Diese Schlüsselgenerierung findet durch den 4-Way-Handshake statt.

Pairwise Master Key

Ein symmetrischer, daher pairwise, Schlüssel, der zur Erzeugung eines Keysets genutzt wird. Kommt selbst bei der Verschlüsselung nicht zum Einsatz, daher Master Key. Sowohl AP als auch STA erhalten den PMK unabhängig voneinander vom Authentication Server bei erfolgreichem Abschluss der Authentication. Die STA zum Beispiel über einen TLS Tunnel mit dem AS.

Pairwise Transient Key

Dabei handelt es sich genau genommen um ein Key Set aus 4 Schlüsseln. Wichtig ist, dass sowohl für die Vertraulichkeit und die Integrität von Daten, als auch die von übertragenen Schlüsselbezogenen Informationen, jeweils verschiedene Keys eingesetzt werden. Dies soll den Aufwand für Angreifer erhöhen.

  1. Key Encryption Key
  2. Key Integrity Key
    1. Diese Keys werden beim 4-way-handshake bereits zum signieren und verifizieren der Nachrichten genutzt
  3. Data Encryption Key
  4. Data Integrity Key
    1. Keys 3 & 4 sind bei AES-CCMP identisch

Group Key

Dabei handelt es sich um ein Set aus 2 Schlüsseln, die für Broadcast Nachrichten eingesetzt werden. Der Handshake kann jederzeit vom AP initiiert werden. Wird z.B. dann nötig, wenn eine abgemeldete STA keine folgenden Broadcast Nachrichten verstehen soll. Dafür gibt es 2 Schritte. Der Group Key wird vom AP übertragen und der Erhalt wird von der STA bestätigt. Diese Nachrichten werden mit Key Encryption und Integrity Key der jeweiligen Session gesichert.

  1. Group Encryption Key
  2. Group Integrity Key

Integrity Protection

TKIP with Michael

AES-CCMP

Confidentiality

TKIP with RC4

AES-CCMP

Summary

Comparison of WEP, WPA & WPA2

WEP RSN(TKIP) RSN(AES-CCMP)
used as WEP WPA WPA2
Cipher RC4 RC4 AES-CCMP
per packet key same WEP key + changing 24 bit IV TKIP mix incl. 48 bit IV none needed in CCM
key length 40 or 104 bit encryption 128 bit (encryption) 64 bit (integrity protection) 128 bit (encryption & integrity protection)
key management and distribution pre shared IEEE 802.1X or pre shared, EAP with RADIUS mandatory IEEE 802.1X or pre shared, EAP with RADIUS optional
integrity protection, header protection enciphered CRC32 Micheal CCM

Securtiy and Vulnerabilities

WEP RSN(TKIP) RSN(AES-CCMP)
AP Authentication none EAP EAP
STA Authentication fakeable EAP EAP
impersonation protection none PMK/PTK(Session Key, created with Nonce incl. MAC Address) PMK/PTK(Session Key, created with Nonce incl. MAC Address)
replay protection none enforced IV sequencing packet numbering
flipping of bits integrity protected no (combinated use of CRC and RC4) yes (Micheal MIC) yes (CBC-MAC)
small IV space yes (24 bit IV) bigger IV (48 bit IV) bigger packet number (48 bit)
weak keys (RC4) yes avoided with TKIP key mix and per packet keys no problem in AES

Glossary

  • AES - Advanced Encryption Standard, Block Cipher used by WPA2
  • AES-CCMP / CCM - AES in Counter Mode with Cipher Block Chaining Protocol, Mode used by WPA2
  • AP - Access Point
  • AS - Authentication Server, process or machine responsible for user identifaction
  • IV - Initialization Vector, used as variable input for encryption algorithms and as packet number in WPA
  • MAC - Medium Access Control, MAC Address of network device is used to add nonce in WPA
  • MAC - Message Authentication Code, used to sign messages, for clarification we use MIC instead
  • MIC - Message Integrity Code
  • PMK - Pairwise Master Key
  • PN - Packet Number
  • PTK - Pairwise Transient Key
  • RC4 - Stream Cipher, used by WEP and WPA
  • RSN - Robust Security Network, defined in 802.11i
  • STA - mobile Station (Client)
  • TKIP - Tempory Key Integrity Protocol, used by WPA
  • WPA - WiFi Protected Access
  • WPA2 - WPA based on RSN

Refernences

  1. [Breaking 104 bit WEP in less than 60 seconds]
  2. [Security and Cooperation in Wireless Networks]
  3. [NIST Special Publication 800-97]
  4. [Wikipedia]