łatwa i szybka autoryzacja klientów Wi-Fi
Ostatnia zmiana: 2015-06-12 06:51

WPS jest standardem umożliwiającym łatwe i szybkie połączenie do sieci bezprzewodowej. Wyróżnia się cztery metody (z czego dwie są wymagane do implementacji) uzyskania połączenia:
- wprowadzenie kodu PIN
- PBC, poprzez naciskanie przycisków na routerze i karcie sieciowej
oraz opcjonalnie
- NFC, wykorzystując specjalnie układy do komunikacji bezprzewodowej lub tagi RFID
- USB, przenosząc odpowiednie kody na pendrive.

Więcej informacji można znaleźć w Wikipedii. Należy też pamiętać o możliwych słabościach i atakach tego mechanizmu, który został niedawno wykryty.

O ile wprowadzanie kodu pin technicznie niczym nie różni się od po prostu podania hasła do sieci Wi-Fi, o tyle metoda z przyciskami, PBC (Push-button Configuration) jest już ciekawa bo nie trzeba tych haseł pamiętać. W praktyce oznacza to, że jeżeli chcemy uzyskać połączenie należy nacisnąć przycisk oznaczony WPS na karcie WiFi, odpowiedni przycisk na routerze i po chwili połączenie zostanie automatycznie zestawione. Bardzo proste, chociaż wymaga fizycznego dostępu do routera.

Większość routerów ma taki przycisk dostępny - nazwany WPS, QSS czy w inny sposób zależny od producenta sprzętu. W OpenWrt można uruchomić bezproblemowo tą metodę autoryzacji.

Instalacja

Wymagana jest pełna wersja programu wpad oraz dodatkowy pakiet hostapd-utils. W systemie może być już zainstalowana uproszczona wersja wpad-mini, która nie wspiera tej metody konfiguracji, należy więc ją odinstalować i zainstalować w/w pakiet (o ile jeszcze nie ma go systemie)


    # opkg remove wpad-mini
    # opkg update
    # opkg install wpad

a potem koniecznie wymagany hostapd-utils


    # opkg install hostapd-utils

Konfiguracja

Najważniejsza sprawa to włączenie tej metody konfiguracji w pliku /etc/config/wireless. Wykonuje się to ustawiając odpowiednią opcję wps_pushbutton


    # uci set wireless.@wifi-iface[0].wps_pushbutton=1
    # uci commit wireless
    # wifi

Jeżeli router posiada przycisk rozpoznawany przez OpenWrt jako WPS, to jest to cała konfiguracja. Teraz wystarczy nacisnąć przycisk wps na karcie sieciowej, przycisk wps czy qss na routerze i połączenie powinno zostać automatycznie zestawione.

Jeżeli przycisk nazywa się inaczej lub chcemy to uzyskać pod innym przyciskiem - zgodnie ze sposobem obsługi przycisków w wydaniu BB do zmiany jest:
- nazwa skryptu /etc/rc.button/wps
- nazwa wps wewnątrz tego skryptu

Uwagi

Pakiet hostapd-utils (a właściwie zawarty w nim program hostapd_cli) musi zawierać obsługę metody wps_pbc. Aby się upewnić czy używamy właściwej wersji pakietu można wydać polecenie:


    # hostapd_cli -h

powinny znaleźć się tam linie, m.in:


    wps_pin <uuid> <pin> [timeout] [addr]  add WPS Enrollee PIN
    wps_check_pin <PIN>  verify PIN checksum
    wps_pbc              indicate button pushed to initiate PBC
    wps_ap_pin <cmd> [params..]  enable/disable AP PIN