Wired Equivalent Privacy

Z Wikipedii, wolnej encyklopedii

Wired Equivalent Privacy (WEP) – standard szyfrowania stosowany w sieciach bezprzewodowych standardu IEEE 802.11. Standard ten powstał w 1999 roku.

W związku z popularyzacją sieci bezprzewodowych, zabezpieczenie transmisji informacji stało się sprawą priorytetową. Prace nad stworzeniem zabezpieczeń w technologii 802.11 doprowadziły w krótkim czasie do stworzenia standardu WEP (Wired Equivalent Privacy). Technologia ta została opracowana i opisana w klauzuli 8.2 standardu 802.11. Szyfrowanie WEP jest wykorzystywane przez urządzenia bezprzewodowe do ochrony danych przesyłanych za pośrednictwem nośnika bezprzewodowego, lecz informacje znajdujące się poza punktem dostępowym nie są chronione. Podczas fazy projektowania nastąpiło wiele pomyłek i błędów, a końcowy gwóźdź do trumny został wbity w 2001 roku, gdy podczas testów okazało się, że klucz kryptograficzny ma swoje wady. Warto jednak zrozumieć proces tworzenia kryptografii dla standardu WEP. Do ochrony danych w standardzie WEP wykorzystuje się algorytm RC4, który jest symetrycznym szyfrem strumieniowym z kluczem poufnym. Szyfr strumieniowy korzysta z ciągu bitów zwanych strumieniem klucza, które w połączeniu z komunikatem tworzą szyfrogram. W celu odkodowania wiadomości, odbiorca musi użyć identycznego strumienia do tego, który został użyty do zaszyfrowania wiadomości. Podczas szyfrowania metodą RC4 zostaje wykorzystana operacja różnicy symetrycznej XOR.

Dane podczas szyfrowania WEP zachowują swoją poufność i integralność. Pierwszym krokiem jest sprawdzenie integralności ramki. Po wykonaniu tej operacji powstaje suma kontrolna ICV. Pozwala to na zabezpieczenie ramki przed próbami zmian bądź błędów powstałych podczas transmisji. Suma kontrolna oraz ramka są szyfrowane co zapobiega zdobyciu tych informacji. WEP precyzuje zakres sposobu użycia 40-bitowego klucza, w połączeniu z 24-bitowym wektorem inicjalizującym (IV) tworzy klucz RC4 o długości 64 bitów. Algorytm RC4 analizuje i zmienia sekwencję 64 bitów i tworzy strumień klucza o długości dokładnie 64 bitów. Następnie następuje szyfrowanie za pomocą różnicy alternatywy wykluczającej (XOR) na treści ramki i wektora IV. By odbiorca mógł odszyfrować ramkę wektor IV został wbudowany na początku czyli w nagłówku.

Większość szyfrów strumieniowych korzysta z względnie krótkiego klucza poufnego, który jest pseudolosowo generowany do długości równej długości kodowanej wiadomości. W celu odkodowania wiadomości nadawca i odbiorca muszą posługiwać się tym samym kluczem i używać dokładnie takiego samego algorytmu, który pozwoli na rozszerzenie klucza w pseudolosową sekwencję. Wykorzystanie algorytmu RC4 w protokole WEP doprowadziło do wzmożonych prac na analizą tego algorytmu. W niedługim czasie okazało się, że algorytm posiada pewną słabość. Grupa ISAAC (Internet Security, Applications, Authentication and Cryptography) z Uniwersytetu Kalifornijskiego w Berkeley w swoim raporcie opublikowanym na podstawie analizy standardu WEP opisała kilka wad jakie znalazła w tym standardzie. Oto niektóre z tych wad:

Ręczna dystrybucja klucza szyfrowania jest kłopotliwa w przypadku wielu użytkowników. Zmiana klucza powinna zostać przeprowadzona w ciągu jednego dnia i to w miarę sprawnie. W momencie gdy jakiś pracownik odchodzi z firmy powinny zostać zmienione klucze. Dystrybucja klucza powinna odbywać się dosyć często ze względu na możliwość upowszechnienia klucza.

W standardzie WEP oferowane są współdzielone klucze poufne o długości 40 bitów. W momencie opracowywania standardu prawo Stanów Zjednoczonych nie pozwalało na wykorzystywanie klucza dłuższego niż 40 bitów. Długość tego klucza od dłuższego czasu wzbudzała kontrowersje. Wielu specjalistów zajmujących się bezpieczeństwem danych, a w szczególności ważnych danych, sugerowało wykorzystanie do kodowania kluczy o długości co najmniej 128 bitów.

Szyfry strumieniowe są łatwe do analizowania w przypadku gdy używa się go wielokrotnie. Wykorzystanie wektora IV w WEP pokazuje napastnikowi strumienie, które stosowane są wielokrotnie. Dwie ramki, w których IV jest identyczny, posiadają najprawdopodobniej taki sam klucz poufny i strumień klucza. W ten sposób łatwo znaleźć i przechwycić dane kodowane w ten sam sposób oraz je przeanalizować.

Do analizy poprawności przesyłanych danych zaszyfrowanych WEP wykorzystuje się CRC. Suma kontrolna jest szyfrowana przy użyciu strumienia RC4. Zgubienie przesyłanej ramki spowoduje jej nadanie po raz kolejny. W ten sposób napastnik może przechwycić ponownie nadaną ramkę i w jej miejsce nadać zmodyfikowaną z inną wiadomością. Odbiorca nie ma powodów do odrzucenia dochodzącej poprawnej ramki, mimo że jest ona zmodyfikowana.

W celu przeprowadzenia ataku wystarczy znać pierwszy bajt zaszyfrowanej treści. W standardzie 802.11 jest używane kapsułkowanie LLC, w którym treść pierwszego bajta jest jawna i jest równa 0xAA, czyli pierwszy bajt nagłówka SNAP. Za pomocą prostej operacji XOR można w banalny sposób obliczyć z pierwszego bajta zaszyfrowanej wiadomości pierwszy bajt strumienia. Istnieje klasa kluczy generowanych według schematu (B+3):FF:N. Każdy słaby wektor IV jest wykorzystywany do ataku na konkretny bajt tajnej części klucza RC4. Klucz zaczyna się od bajtów o wartości zerowej i ze względu na to słaby wektor IV odpowiadający zerowemu bajtowi poufnego klucza ma formę 3:FF:N. Drugi bajt musi się równać 0xFF. Znajomość trzeciego bajta jest wymagana, jednak nie musi mieć określonej wartości. Standardowy klucz WEP składa się z 40 bitów, czyli 5 bajtów ponumerowanych kolejno od 0 do 4. Słabe wektory IV w sieci ze standardowym WEP muszą mieć pierwszy bajt z zakresu od 3 (B=0) do 7 (B=4), a drugi bajt – 255. Trzeci bajt ma znaczenie, ale nie musi mieć konkretnej wartości. W takich sieciach istnieje 5x1x256=1280 słabych wektorów IV.

Według badań przeprowadzonych przez Fluhrera, Mantina i Shamira do złamania jednego bajta klucza niezbędne jest rozkodowanie około 60 pakietów. Wraz ze wzrostem ilości rozkodowanych bajtów wzrasta tempo rozkodowywania. Wydłużenie klucza spowoduje jedynie podwojenie czasu, jaki jest potrzebny na rozszyfrowanie klucza.

W praktycznym wykorzystaniu wyników badań przypuszczenia autorów jedynie się potwierdziły. Do złamania całego klucza WEP wystarczyło 256 pakietów. Osoby, które przeprowadziły ten atak opracowały narzędzie AirSnort, które służy do rozszyfrowywania kluczy WEP. Program ten jest dostępny łącznie z kodem źródłowym w internecie.

Zobacz też[edytuj | edytuj kod]