W sieciach bezprzewodowych komunikacja między komputerami do niej podłączonymi przebiega drogą radiową. Stąd wyniknąć może główny problem tej technologii – każdy kto znajduje się w zasięgu nadajnika może odebrać wysyłane dane, co umożliwia mu ich podsłuch. Brak zaimplementowanych mechanizmów bezpieczeństwa wyklucza wykorzystanie tej technologii w praktyce. Aby połączenie bezprzewodowe było bezpieczne należy zapewnić sygnałom poufność przy pomocy algorytmów szyfrujących oraz zastosować kontrolę dostępu do sieci WiFi poprzez użycie mechanizmów uwierzytelniania. Szyfrowanie zapewni, że odebrany przez osobę niepowołaną pakiet będzie dla niej niezrozumiały. Uwierzytelnianie to proces identyfikacji klienta (komputera, laptopa). Po ukończeniu uwierzytelniania klient uzyskuje dostęp do sieci. Pierwszą próbą rozwiązania problemu bezpieczeństwa sieci WiFi był algorytm WEP. Niestety z powodu wielu słabych punktów, szybko okazało się, że sieci radiowe wykorzystujące algorytm WEP nie są bezpieczne.
Gdy ujawniły się słabości algorytmu WEP zaczęto opracowywać nowy standard. Musiał on jednak spełniać dwa, pozornie wykluczające się wymagania: z jednej strony miał usuwać problemy związane z WEP, a z drugiej musiał być na tyle z nim kompatybilny, aby możliwa była współpraca ze starymi urządzeniami sieciowymi WiFi, w których zaimplementowano jedynie algorytm WEP (oczywiście w tych urządzeniach była konieczna wymiana oprogramowania – firmware). W ten sposób opracowano algorytm WPA. WPA został wprowadzony jako standard przejściowy pomiędzy WEP a znacznie mocniejszym WPA2. Podniesienie poziomu bezpieczeństwa osiągnięto w WPA poprzez cykliczną zmianę klucza szyfrującego. Dzięki częstym zmianą klucza „naturalna” podatność algorytmu WEP na złamanie została wyeliminowana.
W standardzie WPA zdefiniowane zostały dwa tryby uwierzytelniania.
- Personal – opiera się na kluczu PSK (Pre-Shared Key) o długości od 8 do 63 znaków. Autoryzacja przez PSK w założeniu przeznaczona jest do sieci domowych lub małych biur, gdzie użytkownicy nie dysponują serwerem uwierzytelniania. W tym trybie cała sieć (wszyscy użytkownicy) mają ten sam klucz dostępu. Wymagane jest ręczne skonfigurowanie klucza wstępnego (PSK) we wszystkich urządzeniach sieciowych podłączonych do danej sieci bezprzewodowej. W odróżnieniu jednak od standardu WEP, wpisany kod dostępu nie jest kluczem sam w sobie, ale służy do generowania kluczy szyfrujących PSK ,
- WPA Enterprise – każdy użytkownik ma swój własny klucz, który jest mu przydzielany przez serwer uwierzytelniania RADIUS. Aby uzyskać dostęp do sieci, klient wysyła do AccessPoint-a żądania NAS podając swój adres MAC. Żądanie jest dalej przesłane do serwera RADIUS. Serwer ten posiada bazę danych wszystkich autoryzowanych użytkowników (login, hasło, adres MAC). Jeżeli dany adres MAC znajdował się na liście serwera, zostaje wysłana prośba o podanie loginu i hasła. Po otrzymaniu tych danych serwer RASIUS weryfikuje je i jeśli są poprawne klient uzyska dostęp do sieci. Ze względu na to, że do tego trybu uwierzytelnianie potrzebny jest dodatkowy serwer stosuje się go w dużych firmach.
Szyfrowanie TKIP (Temporal Key Integrity Protocol)
Szyfrowanie TKIP podobnie jak w standardzie WEP wykorzystuje algorytm RC4 ale otrzymało ono nowe mechanizmy, które chronią je przed atakami, na jakie narażony był WEP. TKIP używa dłuższego 128-bitowego klucza. Zatem liczba dostępnych kluczy jest równa 2^128 czyli ok. 3,4 E38 (3,4 … i 38 zer). Ponadto klucze TKIP są generowane dla każdego pakietu, a nie są stałe dla wszystkich jak w WEP. Szyfrowanie wiadomości przebiega tak, że tworzy się najpierw klucz, który posłuży do szyfrowania wiadomości. W odróżnieniu od WEP klucz RC4 jest robiony nie poprzez fizyczne sklejanie wektora IV z kluczem tajnym, lecz przy wykorzystaniu specjalnych algorytmów matematycznych. Ten klucz otrzymuje się za pomocą funkcji, których argumentami są tajny TK (Temporal Key) (dynamicznie generowany na podstawie klucza użytkownika), źródłowy i docelowy adres MAC kart WiFi oraz wektor IV. W odróżnieniu od WEP, w standardzie WPA dogłębnie przemyślano sposób generacji wektora IV, dzięki czemu zapobiega się jego powtórzeniom i uodparnia szyfr na ataki z wykorzystaniem kolizji wektora inicjalizacji.
W standardzie WEP zastosowana funkcja kontrolującą poprawność pakietów – CRC (Cyclic Redundancy Check) nie w pełni się sprawdziła. CRC niewystarczająco zabezpieczało pakiet, umożliwiając zmianę przez hakera jego zawartości: zarówno danych, jak i samej wartości CRC. Dlatego w architekturze WPA wprowadzono MIC (Message Integrity Check) o nazwie Michael. Została ona zaprojektowana tak, by zapobiec hakerowi przechwyceniu pakietu, zmianie i ponownemu wysłaniu pakietu. Tak „podstawiony” pakiet zostanie natychmiast wychwycony i odrzucony przez mechanizm MIC.
Podsumowanie
Obecnie standard WPA całkowicie wyparł mechanizm WEP. Jedynym minusem tego zabezpieczenia jest dosyć spore obciążanie sieci. Praktycznie każde urządzenie sieciowe obsługuje standardy WPA i WPA2. WPA2 różni się od WPA jedynie sposobem szyfrowania –WPA stosuje szyfrowanie RC4/TKIP oraz Michael (MIC), WPA2 natomiast bazuje na bardzo silnym mechanizmie szyfrowania AES/CCMP.