WPS - WiFi Protected Setup

WPS ist eine Spezifikation des Industriekonsortiums WiFi Alliance (WFA) hinter der sich eine Konfigurationsautomatik verbirgt. WPS erleichtert die WLAN-Konfiguration von WLAN-Clients. Die Konfiguration erfolgt entweder per Knopfdruck (WPS-PBC) oder Pin-Eingabe (WPS-PIN).
Die Hauptschwierigkeit bei der Konfiguration eines WLAN-Clients ist die Eingabe des WLAN-Passworts (Pre-Shared-Key), welches im Access Point hinterlegt ist. WPS vereinfacht und automatisiert diese Umständlichkeit.

Eigenschaften von WPS

  • Authentifizierung des WLAN-Clients gegenüber dem WLAN-AP
  • Authentifizierung des WLAN-AP gegenüber dem WLAN-Client
  • Automatische Konfiguration des WLAN-Clients mit dem WLAN-Passwort

Authentifizierung nach Knopfdruck (WPS-PBC)

Beim WPS-PBC-Verfahren drückt man einen Knopf am WLAN-Router oder aktiviert den WPS-Authentifizierungsmechanismus in der Administrations-Oberfläche des WLAN-Routers. Dabei wird die WPS-Anmeldephase gestartet. Der erste WLAN-Client, der sich daraufhin per WPS anmeldet, bekommt das Passwort für die WLAN-PSK-Authentifizierung.
Das bedeutet, dass für einen kurzen Moment das WLAN für eine WPS-Authentifizierung und Passwort-Übergabe offen ist. Das mag unsicher erscheinen. Allerdings ist die WPS-PBC-Methode praktisch nicht angreifbar. Der Angreifer hat dabei das Problem, dass er nicht weiß, ab wann das Zeitfenster gilt. Er müsste also dauernd eine WPS-Authentifizierung vornehmen. Da man als WLAN-Nutzer nicht ständig neue WLAN-Clients authentifiziert, ist ein solcher Angriff eher unwahrscheinlich. Der Angreifer wird eher eine andere Angriffsmethode wählen.
Allein dadurch, dass WPS-PBC nur bei Bedarf aktiviert ist, ist es sicherer als die WPS-Pin-Methode, die immer aktiv und deshalb auch immer angreifbar ist.

Authentifizierung per Zahleneingabe (WPS-Pin)

Die Authentifizierung per WPS-Pin sieht die Eingabe einer achtstelligen Zahlenfolge auf dem WLAN-Client vor. Gerade bei Smartphones ist das eine echte Erleichterung, weil man hier eine kleine Tastatur hat, bei der die Passwort-Eingabe ziemlich fummelig sein kann. Vor allem, wenn man ein kompliziertes WLAN-Passwort mit Buchstaben, Zahlen und Sonderzeichen hat.
Die WPS-Pin-Methode sieht vor, dass das WLAN-Passwort dem WLAN-Client mitgeteilt wird, wenn eine korrekte WPS-Pin eingegeben wurde. Dabei übermittelt der WLAN-Router dem Client ein Einrichtungspaket mit dem WLAN-Passwort.

Ablauf der Authentifizierung per WPS-Pin

  1. Der WLAN-Client bittet den WLAN-AP um eine WPS-Pin-Authentifizierung.
  2. Anschließend tauschen beide den Schlüssel für die Transport-Verschlüsselung per Diffie-Hellman aus.
  3. Die Authentizität des WLAN-APs muss vom Client geprüft werden, weil sich ein fremder AP die Pin abgreifen könnte. Das heißt, der Client muss sicherstellen, dass er mit dem richtigen AP die WPS-Authentifizierung durchläuft und nicht mit einem AP, der zufällig den gleichen Namen hat.
  4. Der AP packt je eine vierstellige Pin-Hälfte (mit Zufallszahl gehasht), der insgesamt achtstelligen Pin, in einen verschlüsselten Container und schickt sie an den WLAN-Client. Der kann damit allerdings noch nichts anfangen.
  5. Der Client schickt jetzt die erste Hälfte seiner Pin transportverschlüsselt an den AP.
  6. Wenn dieser erste Teil der Pin korrekt ist, dann schickt der AP die Zufallszahl für die erste Pin an den Client.
  7. Der Client kann daraufhin die erste Pin (mit Zufallszahl gehasht) verifizieren. Er weiß dann, ob er mit dem richtigen AP verbunden ist.
  8. Dann schickt der Client die zweite Hälfte seiner Pin transportverschlüsselt an den AP.
  9. Wenn auch der zweite Teil der Pin korrekt ist, dann bekommt der WLAN-Client vom AP die zweite Zufallszahl und das WLAN-Passwort.
  10. Mit der zweiten Zufallszahl verifiziert der Client auch den zweiten Teil der Pin, die er vom AP bekommen hat.
  11. Wenn diese korrekt ist erfolgt die Anmeldung mit dem WLAN-Passwort per WPA/WPA2.

Wie sicher ist WPS?

Die WPS-Pin-Methode könnte sicher sein, wenn die WLAN-Router-Hersteller die WPS-Spezifikation richtig und vollständig implementieren würden.
Die Spezifikation fordert unter anderem ein kleines Display am WLAN-Router, dass eine einmal gültige WPS-Pin anzeigt. Und das auch nur bei Bedarf. In der Praxis haben WLAN-Router kein solches Display, sondern eine statische WPS-Pin, die im schlechtesten Fall auf der Rückseite des Geräts im Typenschild zu finden ist. In der WPS-Spezifikation wird jedoch von einer statischen WPS-Pin explizit abgeraten. Nur halten sich die wenigsten Hersteller daran und das widerspricht sogar anerkannten Sicherheitsstandards.

In der Regel hat jedes Gerät zumindest eine eigene Pin. Mehr oder weniger intelligente Algorithmen sorgen dafür, dass die statische WPS-Pin bei jedem Gerät anders aussieht. In einfachen Fällen wird die Pin aus der MAC-Adresse der WLAN-Schnittstelle (BSSID) abgeleitet. Da die Verfahren meist bekannt sind, ist es für einen Angreifer ein Leichtes die WPS-Pin zu ermitteln. Und die MAC-Adresse des Access Points (BSSID) lässt sich durch Abhören ermitteln.

Ein weitere Schwäche des WPS-Pin-Verfahrens offenbart sich bei Access Points, die die Pin selber erzeugen. Die Sicherheitslücke kann dadurch entstehen, wenn der Zufallsgenerator im Rahmen des Diffie-Hellman-Schlüsselaustauschs, der die Pin erzeugt, nicht ausreichend zufällige Zufallszahlen (Nonces) erzeugt. Zufall ist nur dann zufällig genug, wenn er sich nicht wiederholt. Wenn doch, dann ist der Umfang der möglichen Pins kleiner und somit lässt sich die achtstellige WPS-Pin leichter errechnen.
Gerade in Geräten mit wenig Rechenleistung, was bei den üblichen WLAN-Routern der Fall ist, gestaltet sich die Generierung von Zufallszahlen für Schlüssel, Passwörter usw. schwierig, weshalb manche Hersteller keinen echten Zufall, sondern vorhersagbare Zahlen verwenden müssen. Vielleicht sogar den Wert "0".

Doch selbst dann, wenn die WPS-Pin nicht aus bekannten Werten abgeleitet werden kann, ist die Sicherheit des WPS-Pin-Verfahrens in Frage zu stellen.
Geht man von einer achtstelligen Pin aus, dann wären 10 Millionen unterschiedliche Pins möglich (10 hoch 8). Doch leider ist das nur die halbe Wahrheit. Denn die achtstellige WPS-Pin ist zweigeteilt. In Wahrheit handelt es sich um zwei vierstellige Pins, die jeweils 10.000 unterschiedliche Pins ermöglichen. Also zusammen 20.000 Pins. Und auch das stimmt nur zur Hälfte. Denn nur ein Teil ist vierstellig. Der andere Teil ist dreistellig. Die vierte Stelle dieses Teils der Pin ist ein Prüfsumme.
Das bedeutet, dass wir einmal 10.000 (10 hoch 4) und einmal 1.000 (10 hoch 3) haben, die zusammen 11.000 unterschiedliche Pins ergeben. Das statistische Mittel würde bei 5.500 Versuchen liegen, die ein Angreifer anwenden muss, um die richtige WPS-Pin herauszubekommen.
Dadurch ist ein Brute-Force-Angriff auf eine WPS-Pin in annehmbarer Zeit realistisch. Man spricht von 3 bis 10 Stunden. Wenn man Glück oder Pech hat, auch weniger.

Das wäre nicht so schlimm, denn eine gute WPS-Implementierung würde die Anzahl der möglichen Authentifizierungsversuche pro Gerät begrenzen. Damit könnte man die Zeit, die ein Angreifer aufwenden muss, um die Pin herauszubekommen, verlängern. Nur sparen sich viele Hersteller solche Mechanismen. Selbst wenn sie eine solche Funktion nachrüsten, dann wären alle alten und anfälligen Firmware-Versionen immer noch jahrelang im Umlauf.
Das heißt, ein ständig aktiviertes WPS-Pin-Verfahren macht ein WLAN generell unsicherer. Das gilt zwar nicht bei allen WLAN-Routern mit WPS. Aber die wenigsten Betreiber eines WLAN-Routers können die Sicherheit der WPS-Implementierung beurteilen.

Einschränkend muss man sagen, dass die hier genannten Problem nicht alle WLAN-Access-Points und -Router betrifft. Denn es ist kein generelles Problem von WPS, sondern steht im Zusammenhang mit einer schlechten WPS-Implementierung und der Generierung von Zufallszahlen. Bei anderen, sicheren Implementierungen, müssen die Nutzer die WPS-Pin selber vergeben. Und die Funktion ist ab Werk deaktiviert.

Wenn man nicht weiß, ob das WPS-Verfahren des eigenen WLAN-Routers gegen irgendeinen Angriff anfällig ist, sollte man WPS generell im Router deaktivieren. Allein schon deshalb, weil man nicht weiß, ob es in Zukunft nicht noch weitere Verfahren und Angriffe gibt, um WPS auszuhebeln.
Die beschriebenen Probleme kann man vermeiden, wenn man WPS-PBC einsetzt. Bei dieser Methoden wird eine entsprechende WPS-Taste am WLAN-Router vorausgesetzt.

WLAN-Hacking und -Pentesting

Übersicht: WLAN-Sicherheit

Weitere verwandte Themen:

Teilen:

Netzwerktechnik-Fibel

Netzwerktechnik-Fibel

Das will ich haben!