PL

Bezpieczeństwo w WiMax

Wprowadzone do standardu mechanizmy odpowiadające za bezpieczeństwo mają ponoć zapewnić tej sieci ochronę nie spotykaną dotąd w żadnej innej sieci bezprzewodowej. Postaram sie poniżej przedstawić w przybliżeniu te mechanizmy, aby każdy mógł się im przyjrzeć i ocenić sam na ile komplikacja zastosowana w systemie może się przyczynić do faktycznego zapewnienia jego bezpieczeństwa.

Specyfikacja systemu obejmuje dwie pierwsze warstwy modelu ISO/OSI czyli warstwę fizyczną określaną jako PHY i warstwę łącza danych określaną jako MAC. Wewnątrz warstwy MAC znajduje się osobna podwarstwa bezpieczeństwa (ang. Security Sublayer) odpowiedzialna za bezpieczne uwierzytelnienie, autoryzację i szyfrowanie danych pomiędzy terminalem abonenckim a stacją bazową. Zasadniczo za bezpieczeństwo odpowiedzialne są dwa protokoły a mianowicie protokół kapsułkujący, którego zadaniem jest szyfrowanie ruchu w sieci oraz protokół zarządzania kluczami PKM, który odpowiada za wymianę kluczy między stacją bazową a terminalem. O ile rola pierwszego z nich wydaje się być oczywista o tyle protokół PKM wymaga zdecydowanie dokładniejszego opisu.

Protokół PKM działa na zasadzie klient/serwer, gdzie terminal abonenta będący klientem wysyła prośby o przydział, lub o aktualizację kluczy do stacji bazowej będącej serwerem. Warto na początku bliżej przyjrzeć się kluczom wykorzystywanym przez protokół ponieważ jest ich dość sporo a zrozumienie ich przeznaczenia jest niezbędne do zrozumienia działania samego protokołu. I tak kolejno mamy:

Publiczny klucz terminala: Jest to klucz terminala abonenta używany podczas wstępnego procesu autoryzacji. Stacja bazowa używa go do szyfrowania klucza autoryzacyjnego AK. Klucze publiczne generowane są za pomocą algorytmu RSA.

Klucz autoryzacyjny AK: Jest to klucz używany do autoryzacji. Stacja bazowa aktywuje go dla każdego uwierzytelnionego terminala i odsyła temu terminalowi szyfrując go uprzednio kluczem RSA.

Klucz szyfrujący klucz KEK: Klucz ten jest otrzymywany z klucza AK i służy do szyfrowania kluczy szyfrujących ruch TEK.

Klucze HMAC_KEY_U i HMAC_KEY_D: Klucze te są otrzymywane z klucza AK i służą do sprawdzenia autentyczności wiadomości systemowych w ruchu w dół(od stacji bazowej do terminala) i w ruchu w górę (od terminala do stacji bazowej).

Klucz szyfrujący ruch TEK: Jak sama nazwa wskazuje jest to klucz używany do szyfrowania danych w sieci.

Cała procedura autoryzacyjna rozpoczynana jest przez terminal. Każdy terminal posiada swój unikatowy certyfikat cyfrowy X.509, w skład którego wchodzą między innymi wspomniany już wcześniej klucz publiczny oraz adres MAC postaci "xx:xx:xx:xx:xx:xx". Po znalezieniu sieci i dokonaniu wstępnych procedur terminal rozpoczyna proces autoryzacji. Autoryzacja polega na uwierzytelnieniu terminala czyli poświadczeniu przez stację bazową jego autentyczności i wyposażeniu go w klucz autoryzacyjny AK. Rozpoczynając autoryzację terminal wysyła kolejno po sobie dwie wiadomości do stacji bazowej:

Autenthication Information: Jest to wiadomość czysto informacyjna zawierająca jedynie certyfikat cyfrowy X.509 terminala

Authorization Request: Jest to prośba do stacji bazowej o dokonanie autoryzacji terminala. Wiadomość ta zawiera oprócz certyfikatu cyfrowego także informacje na temat algorytmów kryptograficznych jakie może obsługiwać terminal.

Po odebraniu drugiej wiadomości stacja bazowa sprawdza czy terminal ma prawo korzystać z sieci używając do tego certyfikatu X.509 zaprezentowanego w wiadomości Authorization Request. Jeśli terminal jest upoważniony wówczas stacja bazowa ustala jakich algorytmów będzie używać do szyfrowania ruchu wraz z terminalem, aktywuje dla niego klucz AK i wysyła te dane do terminala w wiadomości Authorization Request. Po odebraniu tej wiadomości terminal zostaje autoryzowany. Autoryzacja jednak nie jest stała więc co jakiś czas musi zostać odnawiana. Proces reautoryzacji jest podobny do procesu autoryzacji z wyjątkiem tego, że terminal nie wysyła już wiadomości Autenthication Information. Opisane powyżej procesy nie pozwalają jeszcze terminalowi korzystać z sieci. Po tym bowiem jak terminal osiągnie stan autoryzacji, czyli ma ważny klucz AK musi wystąpić do stacji bazowej o aktywowanie dla niego klucza szyfrującego ruch TEK. Dokonuje tego poprzez wysłanie do stacji bazowej wiadomości Key Request. Stacja bazowa po otrzymaniu tej wiadomości oczywiście najpierw sprawdza czy terminal jest autoryzowany a jeśli tak to aktywuje dla niego klucz TEK, szyfruje go za pomocą klucza KEK pochodzącego od klucza AK i wysyła klucz TEK do terminala w wiadomości Key Reply. Dopiero po otrzymaniu tej wiadomości i uzyskaniu klucza TEK terminal ma prawo korzystać z zasobów sieci. Podobnie jak w przypadku klucza AK klucz TEK również musi być odświeżany z tą różnicą że w ramach jednego cyklu autoryzacyjnego następuje wiele odświeżeń TEK. Całą tą zawiłą procedurę dokładniej wyjaśnia poniższy rysunek:
 

wimax bezpieczenstwo


Proces uwierzytelniania

* ETAP 1: Terminal żąda autoryzacji w sieci, czyli przydzielenia klucza AK. Wysyła więc do stacji bazowej dwie wiadomości z czego pierwsza ma charakter czysto informacyjny.

* ETAP 2: Po otrzymaniu wiadomości od terminala stacja powinna go uwierzytelnić na podstawie certyfikatu X.509 przesłanego w wiadomości Authorization Request. Po uwierzytelnieniu stacja aktywuje klucz AK, szyfruje go kluczem publicznym terminala i odsyła klucz AK terminalowi w wiadomości Authorization Reply.

* ETAP 3: Autoryzowany terminal musi następnie zażądać od stacji bazowej klucza TEK do szyfrowania danych. Wysyła więc wiadomość Key Request i czeka na odpowiedź.

* ETAP 4: Stacja bazowa po otrzymaniu wiadomości Key Request sprawdza czy terminal jest autoryzowany. Jeśli jest to aktywuje dla niego klucz TEK, szyfruje go za pomocą KEK i odsyła terminalowi w wiadomości Key Reply.

* ETAP 5: W tym etapie terminal okresowo dokonuje odświeżania klucza TEK, czyli wysyła do stacji bazowej wiadomości Key Request zaś stacja odpowiada na nie wiadomościami Key Reply, w których wysyła aktualny klucz TEK, jaki będzie używała razem z terminalem do szyfrowania danych.

* ETAP 6: Klucz AK posiada limitowany czas życia wobec tego terminal musi dokonać jego odświeżenia co nazywamy reautoryzacją. Następuje tutaj powrót do etapu pierwszego z tą różnicą że wiadomość Autenthication Information nie jest już wysyłana.

Przedstawiony powyżej mechanizm został ujęty w uproszczeniu co tylko dowodzi faktu komplikacji całej procedury. Warto jeszcze wspomnieć o metodach szyfrowania danych przez system. Jak już wcześniej wspomniałem do szyfrowania używa się klucza TEK, zaś algorytmem szyfrującym w podstawowej wersji systemu jest algorytm DES w trybie CBC. Istnieje też możliwość używania algorytmu AES w trybie CCM, jednakże nie jest on obowiązkowo implementowany w urządzeniach. Szyfrowane są jedynie dane znajdujące się w części ładunkowej MAC PDU (ang. Packet Data Unit) zaś ich nagłówki nie są szyfrowane.

Podsumowując należy przede wszystkim zwrócić uwagę na to jak skomplikowany jest cały mechanizm. Ciekawym wydaje się fakt, iż sam certyfikat cyfrowy X.509 rzekomo zapewni użytkownikom zabezpieczenie przed podszywaniem się pod ich terminale. Częste odświeżanie kluczy również wydaje się być ciekawym mechanizmem zniechęcającym potencjalnych hackerów. Czy wszystkie te rozwiązania zapewnią faktyczne bezpieczeństwo w sieci okaże się dopiero po jakimś czasie. Dla każdego kto pragnie poszerzyć swoją wiedzę na ten temat polecam przestudiowanie standardu 802.16-2004.