Bezpieczeństwo bez przewodów

Bezprzewodowa transmisja danych zdefiniowana w standardach 802.11 to komfortowy sposób wymiany informacji między urządzeniami komputerowymi, który obok licznych zalet posiada jedną zasadniczą wadę. Jest nią nieograniczony dostęp do medium transmisyjnego, co odbija się na poziomie bezpieczeństwa zarówno infrastruktury sieciowej narażonej na nieautoryzowane wykorzystanie, jak i przesyłanych danych ulegających podsłuchowi.

Bezprzewodowa transmisja danych zdefiniowana w standardach 802.11 to komfortowy sposób wymiany informacji między urządzeniami komputerowymi, który obok licznych zalet posiada jedną zasadniczą wadę. Jest nią nieograniczony dostęp do medium transmisyjnego, co odbija się na poziomie bezpieczeństwa zarówno infrastruktury sieciowej narażonej na nieautoryzowane wykorzystanie, jak i przesyłanych danych ulegających podsłuchowi.

B802.11 to jedna z wielu grup roboczych TG (Task Group), działających w amerykańskim Instytucie Inżynierów Elektryków i Elektroników (Institute of Electrical and Electronics Engineers). Zadaniem tej grupy jest standaryzacja rozwiązań technicznych z zakresu bezprzewodowych lokalnych sieci komputerowych WLAN (Wireless Local Area Network), które ochrzczone zostały mianem Wi-Fi (Wireless Fidelity).

Rzut oka na przedstawioną w ramce krótką historię technologii Wi-Fi ujawnia, że daty opracowania nowych mechanizmów bezpieczeństwa nie pokrywają się z datami publikacji nowych standardów 802.11. Oznacza to, że urządzenia zgodne z tym samym standardem mogą oferować różny poziom bezpieczeństwa.

A miało być tak pięknie

Zdefiniowany w standardzie 802.11 protokół WEP (Wired Equivalent Privacy - Odpowiednik Przewodowej Prywatności), jak sama nazwa wskazuje zapewnić miał poziom bezpieczeństwa równoważny sieciom kablowym. Niestety, tak się jednak nie stało z kilku powodów, których poznanie wymaga zgłębienia zasady działania protokołu.

Protokół WEP wykorzystuje algorytm RC4, który rozwija krótką sekwencję bitową w nieskończony pseudolosowy strumień danych, stanowiący sekwencję szyfrującą. Standard definiował 64-bitową sekwencję wejściową, składającą się z 24-bitowego pseudolosowego wektora inicjującego IV (Initialization Vector) oraz 40-bitowego statycznego klucza WEP definiowanego przez użytkownika. Wygenerowany w ten sposób strumień "XORuje" (suma modulo 2) paczkę danych wraz z sumą kontrolną CRC-32, która spełnia funkcję kontroli integralności danych. Tak przygotowana paczka zaszyfrowanych danych przesyłana jest do odbiorcy wraz z wektorem inicjującym IV, który jest transmitowany w postaci jawnej. Odbiorca dysponujący identycznym kluczem WEP oraz otrzymanym wektorem IV odtwarza strumień szyfrujący, który w wyniku ponownego "XORowania" zaszyfrowanej paczki danych odzyskuje jej postać jawną. Wraz z odszyfrowanymi danymi odzyskiwana jest suma kontrolna CRC-32, która pozwala na stwierdzenie integralności przesłanej paczki.

Protokół WEP doczekał się kilku aktualizacji, w których wydłużony został klucz WEP do 104 oraz 232 bitów, co zaowocowało powstaniem protokołu opartego na 128 oraz 256 bitowej danej wejściowej (24-bitowy wektor IV + klucz WEP). Zaznaczyć należy, że do poprawnej pracy protokołu wymagane jest, aby wszystkie urządzenia wchodzące w skład sieci posiadały klucz WEP o identycznej długości i wartości.

Konfiguracja protokołu WEP w punkcie dostępowym zgodnym z 802.11g

Konfiguracja protokołu WEP w punkcie dostępowym zgodnym z 802.11g

O ile sam algorytm RC4 ma wiele zalet, m.in. jest odporny na kryptoanalizę liniową oraz różnicową, to jego implementacja w protokole WEP nie była najszczęśliwsza. Główne błędy popełniono na etapie definiowania kluczy WEP oraz wektora IV.

Standard nie definiuje sposobu zarządzania kluczami WEP. Co prawda użytkownik ma możliwość jednoczesnego zdefiniowania czterech kluczy WEP, jednak brak jest mechanizmów ich przełączania - wymaga to ręcznej ingerencji administratora.

Wada wektora IV wynika z jego małej długości.

24-bitowy wektor może przyjąć 16 mln wartości, co oznacza, że w sieci standardu 802.11g wektor o identycznej wartości zostanie ponownie wygenerowany w ciągu 1 godziny. A więc także w ciągu godziny algorytm RC4 wygeneruje identyczną sekwencję szyfrującą, która jest wynikiem rozwijania wektora IV oraz klucza WEP, a ten drugi jest statyczny. Jeżeli intruz przychwyci dwa pakiety danych zaszyfrowane identycznym strumieniem szyfrującym, to wykonując na nich funkcję XOR uzyska jawną postać strumienia szyfrującego i będzie o krok od obliczenia wartości klucza WEP.

Konfiguracja protokołu WPA-PSK polega na zdefiniowaniu klucza o długości 8-63 znaków ASCII

Konfiguracja protokołu WPA-PSK polega na zdefiniowaniu klucza o długości 8-63 znaków ASCII

Zaimplementowana w protokole WEP suma kontrolna CRC-32, której zadaniem jest monitorowanie integralności przesyłanych danych, tak naprawdę nie spełnia swego zadania. Suma CRC (Cyclic Redundancy Check, Cyclic Redundancy Code) jest resztą z dzielenia ciągu danych przez wielomian o długości 33 bitów, dający 32-bitowy wynik. Niestety metoda ta ma zasadniczą wadę, objawiającą się tym, że zarówno oryginalny, jak i odpowiednio zmodyfikowany ciąg danych dają ten sam wynik dzielenia przez wielomian. Z tego względu suma kontrolna CRC jest dobra do wykrywania błędów przypadkowych, lecz nie nadaje się do kontroli integralności danych.

Protokół WEP obok zapewnienia poufności przesyłanych danych, co zapewnione jest poprzez ich szyfrowanie, zaprojektowany został w celu przeprowadzenia procesu uwierzytelniania użytkowników sieci bezprzewodowej, oferując dwie tego metody:

  • Open System Authentication (OSA) - otwarty proces uwierzytelniania użytkowników, podstawowy algorytm uwierzytelniania, który tak naprawdę nie sprawdza danych identyfikacyjnych użytkownika; oznacza to, że użytkownik wysyła do punktu dostępowego prośbę o przyłączenie, która zawsze rozpatrywana jest pozytywnie.
  • Shared Key Authentication (SKA) - proces uwierzytelniania oparty na współdzielonym kluczu WEP; użytkownik wysyła do punktu dostępowego prośbę o przyłączenie, w odpowiedzi na którą otrzymuje czystą (niezaszyfrowaną) wiadomość tekstową, którą szyfruje posiadanym kluczem WEP i odsyła do punktu dostępowego, punkt dostępowy odszyfrowuje wiadomość używając własnego klucza WEP, jeżeli odszyfrowana wiadomość jest identyczna z wysłaną wcześniej przez punkt dostępowy, to proces uwierzytelniania kończy się pozytywnie i klient uzyskuje dostęp do sieci.
Proces SKA ma zasadniczą wadę, która znacznie ułatwia ataki na sieci bezprzewodowe. Otóż wystarczy, że intruz przechwyci czystą wiadomość tekstową wysłaną przez punkt dostępowy oraz wiadomość zaszyfrowaną przez klienta, która jest odsyłana do punktu dostępowego, aby bez problemu poznać strumień szyfrujący wygenerowany przez protokół RC4 i na jego podstawie ustalić wartość klucza WEP.

Pomimo słabej reputacji protokołu WEP jest zalecane, zgodnie z zasadą "lepsze kiepskie zabezpieczenie, niż żadne", jego stosowanie w sieciach nie oferujących innych mechanizmów bezpieczeństwa. Należy pamiętać o kilku sprawach:

  • klucz ma ściśle określoną długość; w przypadku protokołu WEP-256 jest to 232 bitów, czyli 58 cyfr w systemie Hex lub 29 znaków ASCII, dla WEP-128 będzie to 26 cyfr Hex lub 13 znaków ASCII, a dla WEP-64 - 10 cyfr Hex lub 5 znaków ASCII;
  • klucz 104-bitowy jest dłuższy od klucza 40-bitowego, a więc jego złamanie zajmie zdecydowanie więcej czasu, zawsze należy stosować klucze najdłuższe z możliwych;
  • jeden znak ASCII zajmuje jeden bajt i może przyjąć trochę ponad sto wartości, natomiast dwie cyfry w systemie Hex, które także zajmują jeden bajt, mogą przyjąć aż 256 wartości, z tego względu należy używać cyfr Hex do tworzenia kluczy WEP,
  • im ważniejsze dane są przesyłane, tym częściej należy zmieniać klucz WEP.

Z biegiem czasu było coraz lepiej

Opracowana przez Wi-Fi Alliance specyfikacja WPA (Wi-Fi Protected Access), wykorzystuje ten sam algorytm RC4 do generowania sekwencji szyfrującej, jednak na tym podobieństwo z protokołem WEP się kończy.


TOP 200