Szyfrowanie połączeń WLAN (przykład UBNT)
Podstawowe informacje - WEP, WPA, WPA2
Od końca lat 90. XXw., szyfrowanie Wifi było ulepszane lub zamieniane na nowsze algorytmy. Aby dowiedzieć się, dlaczego powinno się unikać szyfrowania starszymi algorytmami, przedstawimy je.
Wired Equivalent Privacy (WEP)
Protokół WEP został przedstawiony w 1999 roku jako część standardu 802.11. W założeniach zakładał poufność transmisji Wifi na poziomie podobnym do sieci przewodowych. Używa szyfrowania strumieniowego RC4 i sumy kontrolnej CRC-32 dla zapewnienia sprawdzania integralności. Możliwe są dwie długości klucza RC4: 64 oraz 128 bitów.
W RC4 dane są szyfrowane operacją XOR i jest podatny na ataki poprzez analizę danych szyfrowanych tym samym kluczem, dlatego strumień klucza nie może się powtarzać.
Dlatego, iż klucz RC4 jest dość krótki, zabezpieczono go kryptograficznie przy użyciu wektora inicjującego (IV).
WEP IV miał zabezpieczać przed szyfrowaniem danych tym samym kluczem RC4. Z uwagi na to, że klucz zmienia się podczas transmisji, strona, która wysyła dane i wybiera wektor inicjujący IV, musi powiadomić odbiorcę, jaki jest aktualnie IV, aby umożliwić odszyfrowanie danych.
Dlatego też IV musi być przekazywany do odbiorcy w niezaszyfrowanej formie. W praktyce w sieciach z większym ruchem 24-bitowa przestrzeń klucza IV jest zbyt mała. Prawdopodobieństwo wystąpienia kolizji - czyli powtórzenie się klucza IV - wynosi 50% już po odebraniu 5000 pakietów.
Gdy to nastąpi, dane szyfrowane są takim samym kluczem. IV przekazywane jest w niezaszyfrowanej postaci, więc łatwo można znaleźć i analizować pakiety z takim samym IV. Wykorzystując podobieństwa kluczy i matematykę można złamać zabezpieczenia WEP.
WPA i WPA2
Gdy jasne stało się, że trzeba zastąpić WEP nowym rozwiązaniem, rozpoczęto pracę nad nowym standardem 802.11i. Jednak ze względu na brak czasu, wprowadzono rozwiązanie częściowe tj. WPA (Wifi Protected Access). Pełna implementacja 802.11i to WPA2.
W WPA można uwierzytelnić się w sieci na dwa sposoby:
- wykorzystując współdzielony klucz - PSK (Pre-Shared Key), który znany jest wszystkim użytkownikom (tak jak w przypadku WEP),
- bardziej sprecyzowanych danych, np. indywidualnych par login i hasło, lub certyfikatów X.509.
Użytkownik przed podłączeniem się do sieci musi podać w/w klucz. Rozwiązanie to jest dość proste i stosowane w małych firmach i domach (SOHO), pod nazwą WPA-Personal lub WPA-PSK.
PSK podawane jest jako 64 cyfry hex lub 8–63 znaków ASCII. W tym przypadku obsługa procesu wymiany danych kryptograficznych wykonywana jest przy użyciu metody EAP-PSK.
Drugie podejście określane jest jako WPA-Enterprise. Tutaj wymagany jest dodatkowo serwer RADIUS, zapewniający funkcje uwierzytelniania, autoryzacji i księgowania (tzw. AAA: authentication, authorization, accounting).
Użycie serwera RADIUS umożliwia m.in.:
- indywidualne loginy i hasła lub inne dane dostępowe do sieci wifi dla każdego użytkownika,
- możliwość uwierzytelniania infrastruktury, do której następuje podłączenie użytkownika, co chroni przed atakiem z podstawionym AP,
- zarządzanie użytkownikiem w sieci, np. podłączenie w wybranym VLAN-ie, kontrola czasu dostępu, pory dostępu itd.
Szyfrowanie WIFI na przykładzie UBNT
W oprogramowaniu urządzeń Ubiquiti, opcje szyfrowania transmisji odnajdziemy w zakładce Wireless, na dole strony, pt. "Zabezpieczenia sieci bezprzewodowej". Zaczniemy od ustawienia szyfrowania dla Access Pointa:
W nowszych wersjach oprogramowania, zrezygnowano zupełnie z przestarzałego szyfrowania WEP, i pozostawiono jedynie WPA i WPA2:
Po wybraniu zabezpieczenia WPA, możemy jeszcze sprecyzować rodzaj autentykacji - PSK - klucz predefiniowany lub EAP:
Po wybraniu prostszej opcji PSK (bez dodatkowego serwera RADIUS) pojawia się pole "Współdzielony klucz WPA", gdzie należy wprowadzić klucz, u nas będzie to dla przykładu ciąg 16 znaków "6pOXJtoI9C9exJbB":
Jak wykryć sieci używające szyfrowania i jakiego jest ono rodzaju?
Jest to proste, z menu Narzędzia wybieramy narzędzie Skanowanie, a rodzaj szyfrowania pojawi się w tabelce:
Przejdźmy teraz do konfiguracji CPE (stacji WIFI), wstępnie ustawione mamy już domyślne SSID ("ubnt"):
Po wybraniu z menu narzędzi Skanowania, zaznaczamy odpowiedni Access Point i klikamy przycisk "Wybierz":
Zostaniemy przeniesieni przez Firmware do zakładki Wireless i poproszeni o wpisanie prawidłowego klucza WPA. Nie można pozostawić pola pustego lub z nieprawidłowo sformatowanym kluczem (np. zbyt krótkim), AirOS pokaże nam ostrzeżenie jak poniżej:
Spróbujmy jednak wpisać prawidłowo sformatowany, lecz niewłaściwy klucz WPA:
Krótko po odnalezieniu AP przez stację, możemy nawet zobaczyć chwilowo siłę sygnału, jednak połączenie nie zestawi się (proszę zwrócić uwagę na pole Prędkość TX/RX):
W sekcji Monitor odnajdziemy Log systemowy (który należy wcześniej włączyćw zakładce System), oto jego zawartość:
Po kilku chwilach, główna zakładka będzie wygląda po prostu jak w niepodłączonym do AP kliencie:
Wprowadzamy teraz do klienta prawidłowy klucz WPA, taki jak na AP:
Po kilku chwilach oba urządzenia zestawią połączenie bezprzewodowe:
A co stanie się, gdy na kliencie wybierzemy szyfrowanie WPA2, gdy na punkcie dostępowym (AP) jest ustawione szyfrowanie WPA?:
Urządzenia również nie połączą się, co więcej, żadnych śladów nie odnajdziemy już nawet w systemowym logu:
Istnieje jeszcze wspomniana na początku możliwość wykorzystania zewnętrznego serwera RADIUS, służy do tego opcja EAP w polu "Autentykacja WPA". Metoda ta została opisane we wcześniejszym artykule:
|