WPA

Aus Debian-Linux - FAQ

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

[bearbeiten] WPA - WiFi Protected Access

WPA ist eine Verschlüsselungsmethode für ein WLan, die sicherer als WEP (Wired Equivalent Privacy) ist. Die erhöhte Sicherheit gegenüber WEP besteht darin, daß der Schlüssel nur bei der Initialisierung verwendet wird und anschließend ein Session-Key zum Einsatz kommt.

Der Standard sieht zwei Möglichkeiten der Schlüsselverwaltung vor:

  1. Die Zugangskennungen werden auf einem zentralen Server verwaltet (Managed Key)
  2. "Pre-Shared-Keys" (WPA-PSK)

Bei der "Pre-Shared-Keys"-Methode melden sich alle Nutzer eines Netzes mit demselben Kennwort an. Falls zu kurze und leicht zu erratende Passwörter verwendet werden, liegt hier ein Angriffspunkt für Hacker (z.B. Brute Force). Das ist jedoch keine Sicherheitslücke des WPA-Standards. In diesem Fall hängt die Sicherheit des Systems von der Qualität des Passworts ab. Seit November 2004 existiert das Programm "WPA Cracker", um genau diese Schwachstelle auszunutzen.

Am 3. Februar 2004 kündigte die Wi-Fi Alliance die Erweiterung von WPA (WPA2) an. WPA2 setzt anstatt der RC4-Verschlüsselung den Advanced Encryption Standard (AES) ein.

(teilweise aus http://de.wikipedia.org/wiki/Wi-Fi_Protected_Access übernommen)


Im Rahmen dieser Anleitung wird WPA-PSK mit der AES- bzw. TKIP-Verschlüsselung beschrieben. Vorausgesetzt wird, daß die eingesetzte WLan-Karte läuft. Eine Anleitung für Centrino/Sonoma-Laptops ist hier zu finden.

[bearbeiten] Benötigte Pakete

Alle Pakete gibt es in Debian.

  1. wpasupplicant (URL: http://hostap.epitest.fi/wpa_supplicant/)
  2. wireless-tools

Anmerkung: Im Debian-Paket wpasupplicant 0.4.6 wurde die Unterstützung für WE 18 eingeführt (siehe /usr/share/doc/wpasupplicant/README.Debian). Man sollte statt des ipw-Treibers den wext-Treiber nutzen (Parameter -wext, s.u.).

[bearbeiten] Kernel

Da hier die AES-Verschlüsselung verwendet werden soll, muß diese im Kernel aktiviert werden:

Cryptographic options --->
AES cipher algorithms (i586)

[bearbeiten] Konfiguration

[bearbeiten] wpa_supplicant.conf

Konfiguriert wird der wpa_supplicant in der Datei /etc/wpa_supplicant.conf. Als Beispiel ist hier momentan nur eine kleine, nicht weiter kommentierte Datei. Aber alle möglichen Konfigurationsmöglichkeiten sind in einem Beispiel auf der Website von wpa_supplicant beschrieben.

ctrl_interface=/var/run/wpa_supplicant
eapol_version=1
ap_scan=2

network={
        ssid="ESSID"
        id_str="network"
        priority=5
        proto=WPA
        key_mgmt=WPA-PSK
        pairwise=CCMP
        group=CCMP
        #psk="ganzGeheimerKey"
        psk=9eaaf1cb6996e6902536849694a92c6d63266b4d06fc1920e7dd95dff1b714d8
}

Für die TKIP-Verschlüsselung wird lediglich CCMP bei pairwise und group durch TKIP ersetzt.

id_str ist ein Name für das WLAN, der dann in der /etc/network/interfaces verwendet wird

[bearbeiten] wpa_passphrase

Der psk (Pre Shared Key) wird in der Datei bereits verschlüsselt gepeichert. Um den Key, der in der Konfiguration des Routers eingestellt ist, zu verschlüsseln, wird beim wpa_supplicant ein eigenes Programm, wpa_passphrase mitgeliefert:

user@host:~$ wpa_passphrase ESSID "gansGeheimerKey"
network={
        ssid="ESSID"
        #psk="gansGeheimerKey"
        psk=9eaaf1cb6996e6902536849694a92c6d63266b4d06fc1920e7dd95dff1b714d8
}

[bearbeiten] Starten

[bearbeiten] Manuelles Starten

Nachdem nun der wpa_supplicant konfiguriert wurde, kann er mit

user@host:~$ wpa_supplicant -d -i eth1 -D wext -c /etc/wpa_supplicant.conf

gestartet werden.

  • -d - erhöht den Debuggin-Level, also mehr Ausgaben auf der Console
  • -i eth1 - legt die zu verwendende Netzwerkkarte fest (hier eth1)
  • -D wext - legt den Treiber für die Netzwerkkarte (hier Wireless Extension)

Es wird nun versucht, sich mit dem AP zu verbinden. Wenn das geklappt hat, kann man die Netzwerkkarte einrichten. Entweder mit einer statischen IP oder über DHCP, je nachdem wie das auf dem Router eingerichtet worden ist.

Achtung: In den älteren Kerneln (<2.6.14) war die WPA/WPA2-Unterstützung im Rahmen der Wireless Extension 18 (bzw. 19) noch nicht im Kernel aufgenommen. In diesem Fall muss man den Parameter "-D [id]" nutzen (z.B. "ipw", wenn man z.B. eine ipw2200-Karte hat).

[bearbeiten] Automatisches Starten

Der wpa_supplicant wird bei Debian automatisch gestartet, wenn die WLAN-NIC aktiviert wird (Das früher beschriebene Vorgehen mit der /etc/default/wpasupplicant entfällt damit).

In der /etc/network/interfaces müssen die verwendeten Netze eingetragen werden. Hier kommt die oben erwähnten id_str zum Einsatz:

auto eth0
iface eth0 inet manual
        wpa-driver wext
        wpa-roam /etc/wpa_supplicant.conf

#id_str="network"
iface network inet dhcp

Hier werden die notwendigen Parameter für den wpa_supplicant und die NIC gesetzt. Im Beispiel wird die Netzwerkkarte manuell initialisiert, der wpa_supplicant wird den Treiber "wext" verwenden und die Konfiguration aus /etc/wpa_supplicant.conf laden.

Das mit dem id_str "network" angegebene WLan wird die IP über DHCP beziehen.

[bearbeiten] Unterstützte Netzwerkkarten

Abkürzung Treiber
hostap Host AP driver (Intersil Prism2/2.5/3)
prism54 Prism54.org driver (Intersil Prism GT/Duette/Indigo)
madwifi MADWIFI 802.11 support (Atheros, etc.)
atmel ATMEL AT76C5XXx (USB, PCMCIA)
wext Linux wireless extensions (generic)
ndiswrapper Linux ndiswrapper
ipw Intel ipw2100/2200 driver
wext Wireless Extension 18 (or more correctly, WE 19) for 2.6.14+ kernel

[bearbeiten] Links

Persönliche Werkzeuge