Joanna Chmiel - Poznańskie Warsztaty Telekomunikacyjne
Transkrypt
Joanna Chmiel - Poznańskie Warsztaty Telekomunikacyjne
Joanna Chmiel Studentka, Koło Naukowe „IEEE Amperek” Politechnika Poznańska Wydział Elektroniki i Telekomunikacji 60-965 Poznań, ul. Piotrowo 3A [email protected] 2006 Poznańskie Warsztaty Telekomunikacyjne Poznań 7 - 8 grudnia 2006 PORÓWNANIE ZABEZPIECZEŃ W WYBRANYCH STANDARDACH SYSTEMÓW BEZPRZEWODOWYCH Streszczenie: W referacie opisano metody zabezpieczenia dostępu do trzech systemów bezprzewodowych: GSM (Global system for Mobile Communications), IEEE 802.11b znanego pod nazwą Wi-Fi oraz do stosunkowo nowego standardu IEEE 802.16 (WiMax). Porównano jakość tych systemów pod względem poufności jaką zapewniają, przedstawiono ich podstawowe wady i zalety. Opisano również sposoby uwierzytelniania oraz metody szyfrowania charakterystyczne dla danego sytemu. 1. WSTĘP Wraz z rozwojem sieci i systemów bezprzewodowych oraz upowszechnianiem urządzeń pracujących w tych systemach powstaje pytanie o stworzenie zabezpieczeń umożliwiających rzetelną oraz poufną transmisję danych. Zainteresowanie systemami bezprzewodowymi jest niewątpliwie związane z mobilnością, jaką zapewniają oraz często z niskimi kosztami ich budowy. Problem stanowi jednak zapewnienie bezpieczeństwa procesowi komunikacji za pośrednictwem fal radiowych, ponieważ jego kontrolowanie jest znacznie trudniejsze niż w przypadku konwencjonalnych systemów przewodowych. Media bezprzewodowe cechuje mniejsza odporność na podsłuchiwanie, ponieważ znacznie łatwiej uzyskać dostęp do nich – wystarczy znajdować się w posiadaniu odbiornika nastrojonego na odpowiednią częstotliwość. Trudniej też kontrolować wiadomości przesyłane drogą radiową, ponieważ osoba dokonująca ataku nie musi być fizycznie podłączona do sieci. Już samo to umożliwia skuteczne nasłuchiwanie ruchu w sieci. Z tego względu kluczowa okazuje się kwestia udostępnienia medium wyłącznie użytkownikom pożądanym, skutecznej identyfikacji zarówno użytkowników jak i stacji bazowych czy punktów dostępowych, zapewniając przy tym możliwie największy stopień poufności przesyłanych danych. Powyższe kryteria są możliwe do spełnienia dzięki procesowi szyfrowania. Szyfrowanie wiadomości polega na zastosowaniu odpowiedniego algorytmu oraz tajnego klucza, którego zadaniem jest zapewnienie bezpieczeństwa i tajności wiadomości. Oznacza to, że dzięki zastosowaniu szyfrów możemy potwierdzić bądź sprawdzić tożsamość osoby, która chce się połączyć z siecią, jak i pochodzenie wiadomości, która została wysłana do użytkownika – mówimy wtedy o procesie uwierzytelniania. Proces ten powinien zapobiegać włamaniom osoby nieupoważnio- nej do sieci. Z kolei o poufności mówimy, gdy strony komunikujące się mają pewność, że dane są zabezpieczone w sposób uniemożliwiający ich podsłuchanie oraz zmianę ich treści. Proces szyfrowania obejmuje wygenerowanie sekwencji szyfrującej zwanej kluczem, którą mnoży się operacją XOR z tekstem jawnym. Tak zaszyfrowaną wiadomość zaopatruje się dodatkowo w sumę kontrolną i wysyła do odbiorcy. Pierwszym warunkiem skutecznego zabezpieczenia jest zatem zastosowanie generatora o możliwie jak największym okresie, czyli generującego klucze o jak największej długości. Powoduje to, że taki sam klucz zostanie użyty po odpowiednio długim czasie. Szyfrowanie powinno zapewnić ochronę zarówno przed odczytem tekstu jawnego jak i przed jego zmianą przez osobę niepożądaną. W rzeczywistości okazuje się, że pomimo ciągłego rozwoju sieci i systemów bezprzewodowych kwestia bezpieczeństwa jest nadal otwarta. Istnieją jednak nieraz bardzo proste sposoby włamania się do sieci WLAN, a programy to umożliwiające można znaleźć w Internecie. Stosowane dziś algorytmy szyfrowania przestają być skuteczne przy oferowanej mocy obliczeniowej komputerów. Ze względu na znaczenie omawianych systemów nie tylko dla użytkowników prywatnych, lecz przede wszystkim dla przedsiębiorstw oraz rządu kluczowa wydaje się kwestia kontrolowania dostępu do sieci. Dobrze zaprojektowany system powinien dopuszczać do medium jedynie znanych sobie użytkowników. W praktyce jednak stosowane metody nadal nie zapewniają wystarczająco bezpiecznej transmisji. Wynika to między innymi z faktu, iż pomimo skutecznego sposobu uwierzytelniania użytkowników nie istnieją mechanizmy pozwalające na zidentyfikowanie stacji bazowych. To umożliwia tworzenie fikcyjnych stacji bazowych i podsłuchiwanie ruchu w sieci tym bardziej, że proces uwierzytelniania odbywa się na podstawie znanych mechanizmów. Same algorytmy szyfrowania są powszechnie znane, a tajność przekazu ma zapewniać klucz szyfrujący, który można przechwycić. Dodatkowo wszystkie opisane w artykule szyfry są symetryczne, co oznacza, że zarówno nadawca i odbiorca posługują się tym samym tajnym kluczem. Dlatego tak ważne jest użycie szerokiej gamy kluczy z możliwie jak największego zbioru, wybieranych z jak największą losowością. Niniejszy artykuł przedstawia zabezpieczenia wybranych trzech systemów bezprzewodowych. Opisuje w szczególności stosowane w nich szyfry oraz bezpieczeństwo jakie zapewniają, a także wskazuje kierunek rozwoju standardów bezprzewodowych oraz zestawia ze sobą rozwiązania mające na celu zwiększenie bezpieczeństwa w wymienionych systemach. 2. UWIERZYTELNIANIE O kwestii dostępu do medium zarówno w systemach przewodowych jak i bezprzewodowych decyduje podwarstwa MAC (Media Access Control) warstwy łącza danych. Znajdują się w niej informacje, w jaki sposób odbywa się uwierzytelnianie użytkownika i jakich szyfrów używa się w tym celu. Dodatkowo każdy z omawianych standardów dysponuje dodatkowymi mechanizmami identyfikacji. W systemie GSM każdy użytkownik ma sobie tylko przypisany kod, który służy do jego identyfikacji jedynie podczas włączania telefonu. Następnie kod zastępuje wartość losowa przypisywana do telefonu tymczasowo. Pozwala to na zapobieganie podsłuchiwaniu konkretnego telefonu. Wywoływanie stacji ruchomej odbywa się na zasadzie „wyzwanie- odpowiedź”, czyli stacja bazowa wysyła wezwanie w postaci losowego ciągu liczb i czeka na zgłoszenie wywoływanej stacji. Stacja ruchoma tworzy na podstawie wezwania szyfr korzystając z tajnego klucza i algorytmu A3 lub A8. Algorytm ten jest opcjonalnie wbudowany w kartę SIM (Subscriber Identity Module) telefonu. Opcjonalnie, czyli może się zdarzyć, że niektóre stacje ruchome wysyłają dane w postaci jawnej. Jakkolwiek stacja ruchoma może zostać w ten sposób zidentyfikowana, nie umożliwia to sprawdzenia, czy stacja wzywająca nie jest fałszywa. W przypadku nawiązywania połączenia przez stację ruchomą telefon wysyła do stacji bazowej swój numer seryjny, natomiast stacja bazowa oblicza na podstawie tego numeru oraz tajnego klucza liczbę RAND i wysyła do stacji ruchomej. W karcie SIM na podstawie klucza następuje obliczanie elektronicznego podpisu SRES (Signed Response), który jest odsyłany do stacji bazowej. Zalogowanie telefonu następuje w momencie wykrycia w stacji bazowej oraz na karcie SIM tej samej sekwencji. Proces logowania do systemu GSM przedstawia Rys. 1. SN- serial number (numer seryjny stacji ruchomej) Rys.1 Proces uwierzytelniania w GSM Sytuacja przedstawia się podobnie w standardzie IEEE 802.11, który oferuje dwie metody uwierzytelnia- nia: open authentication oraz shared key authentication. Pierwsza z metod jest bardzo prymitywna i w rzeczywistości nie spełnia kryteriów bezpiecznego uwierzytelniania. Drugi z algorytmów jest podobny do tego wykorzystywanego w GSM i to on jest w praktyce stosowany. Uwierzytelnienie polega na wykazaniu się stacji posiadaniem tajnego klucza dzielonego przez punkt dostępowy (odpowiednik stacji bazowej) oraz stację ruchomą. Słabością tego rozwiązania jest dzielenie jednego klucza przez proces uwierzytelniania oraz szyfrowania danych. Przy założeniu wykrycia tego klucza możliwe jest dokonanie podwójnego ataku. Istotny jest również fakt, iż standard Wi-Fi nie określa jednoznacznie sposobu tworzenia klucza, czego konsekwencją w większości urządzeń jest używanie pojedynczego klucza ustawianego ręcznie. Lepszym i bezpieczniejszym rozwiązaniem byłoby użycie nowego, wybieranego automatycznie klucza dla każdej próby połączenia. W IEEE 802.16 znanym pod nazwą WiMax kontrola dostępu przebiega w podobny sposób jak w przypadku Wi- Fi, przy czym punkt dostępowy wysyła do urządzeń stały sygnał dostępności. Dodatkowo zakłada się, że decyzja wydawana na podstawie protokołu autoryzacji jest zawsze poprawna, co oznacza, że nie jest weryfikowana. Główną słabością wszystkich opisywanych systemów jest brak algorytmu pozwalającego na identyfikację stacji bazowej (punktu dostępowego) przez stacje ruchome. Stwarza to niebezpieczeństwo, że serwer, z którym następuje połączenie jest fałszywy i dokonujący ataku może podsłuchiwać ruch w sieci. 3. SZYFROWANIE Jakość przedstawianych systemów w kwestii bezpieczeństwa jest wynikiem zastosowania w standardach różnych algorytmów szyfrowania. Proces szyfrowania jest przedstawiony na rysunku (Rys.2) . Klucz1 szyfrowanie Tekst jawny Klucz2 deszyfrowanie szyfrogram Tekst jawny Rys.2 Proces szyfrowania Omawiane standardy wykorzystują szyfry symetryczne, czyli takie, dla których klucz jest identyczny dla nadawcy i odbiorcy. Standard GSM przewiduje dwa rodzaje transmisji: wysyłanie tekstu jawnego oraz zaszyfrowanego. Bezpieczniejsza jest druga opcja, jednak często ze względu na oszczędności nie wprowadza się szyfrowania, jeśli nie wymaga tego standard. System GSM wykorzystuje do szyfrowania mowy szyfry z rodziny A5. W tym celu zarówno na karcie SIM jak i w stacji bazowej obliczana jest wartość klucza szyfrującego. Następnie stacja bazowa otrzymuje od użytkownika klucz szyfrujący oraz liczbę SRAND służącą wcześniej do uwierzytelnienia stacji ruchomej. Szyfr A5 należy do grupy szyfrów strumieniowych, co oznacza, że proces szyfrowania polega na wygenerowaniu strumienia szyfrującego o nieskończonej długości (w praktyce bardzo długiego) i dokonaniu operacji XOR (dodawanie modulo 2) bit po bicie z szyfrowanymi danymi. (1) C =S ⊕D i i i C – ciąg zaszyfrowany S – strumień szyfrujący D – szyfrowane dane ⊕ - operacja dodawania modulo 2 Proces odzyskiwania tekstu jawnego jest analogiczny i polega na ponownym wykonaniu operacji XOR strumienia szyfrującego z tekstem zaszyfrowanym. (2) Di = C i ⊕ S i = S i ⊕ Di ⊕ S i = Di Wykazano, że szyfr A5 zawiera szereg błędów, w związku z czym nie jest bezpieczny. Przede wszystkim niebezpieczeństwo wynika z faktu, że szyfr ten należy do grupy symetrycznych. Dlatego w systemie GSM do uwierzytelniania stacji i szyfrowania wiadomości stosuje się różne szyfry. Problem stanowi również nieodporna na zmiany pakietów suma kontrolna CRC dołączana do szyfrogramu podczas przesyłania. Jej podstawową wadą jest niedostateczna wrażliwość na zmianę przesyłanej informacji. Zabezpieczenia wiadomości przesyłanych w sieci Wi-Fi również zawierają wiele luk wpływających na poufność systemów działających w tym standardzie. W przeciwieństwie do systemu GSM standard WiFi stosuje inny algorytm szyfrowania, choć również z rodziny szyfrów symetrycznych. Bezpieczeństwo bezprzewodowych sieci komputerowych jest oparte na algorytmie szyfrującym RC4 (Rivest Cipher 4) wykorzystywanym przez protokół WEP (Wired Equivalent Privacy). Ze względu na słabości protokołu WEP grupa Wi-Fi Alliance zaproponowała dwa „tymczasowe” rozwiązania zastępując WEP protokołami WPA (Wi-Fi Protected Access) i WPA2. Algorytm RC4 jest bezpieczniejszy od A5, powinien być odporny na kryptoanalizę liniową oraz różnicową. Sposób tworzenia szyfru wygląda następująco: i = (i+1) mod 256 j = (j+Si) mod 256 zamień miejscami Si i Sj t = (Si+Sj) mod 256 K = St Ct = Pt XOR K Ct - tekst zaszyfrowany Pt - tekst do zaszyfrowania S jest tabelą o wymiarach 8x8 zapełnianą na początku S0=0, S=1, S2=2 ... Algorytm RC4 wykorzystuje wektor początkowy (Initializing Vector) określany dalej skrótem IV w postaci jawnej, co w żaden sposób nie wpływa na łatwość rozszyfrowania wiadomości osobie niepożądanej. Często przy przesyłaniu długiej wiadomości dołącza się IV na końcu kryptogramu w celu poprawnego rozszyfrowania wiadomości przez odbiorcę. Aby szyfr był bezpieczny pożądane jest losowe generowanie wartości IV w celu zapewnienia jego nieprzewidywalności i niepowtarzalności. szyfrogram CRC IV Rys.3 Budowa zaszyfrowanego pakietu Standard IEEE 802.11 oferuje szyfrowanie RC4 dwoma długościami klucza: 40 oraz 104 bity. W połączeniu z wektorem początkowym o długości 24 bitów daje to odpowiednio długość 64 i 128 bitów. Warto nadmienić, że złamanie klucza o długości 104 bitów wymagałoby zgromadzenia około 350 tysięcy pakietów. Po tym czasie znalezienie użytego ciągu jest kwestią sekund. Dodatkowo istnieją tzw. słabe klucze, dla których prawdopodobieństwo naprowadzenia na bity klucza wynosi 5%. Słabe klucze stanowią kolejne zagrożenie dla poufności. Protokół WPA używa kluczy 40 oraz 104 bitowych, z tym, że umożliwia (opcjonalnie) wykorzystanie nowego klucza dla każdego pakietu. Przy założeniu, że nie wiadomo czy wykorzystuje się zmianę kluczy, wystarczyłoby przechwycić dwa pakiety z tym samym kluczem, aby rozszyfrować całą wiadomość. Gdyby operacja wymiany klucza dla każdego pakietu była obowiązkowa, system zapewniałby większy stopień bezpieczeństwa wysyłanych wiadomości. Rozwinięcie algorytmu szyfrowania stosowanego w WAP zostało przewidziane w nowym protokole WAP2 i opracowane w ramach standardu IEEE 802.11i. Standard ten obejmuje automatyczne zarządzanie kluczami, wymaga stosowania kluczy sesyjnych. Również w kwestii integralności, czyli zgodności danych ze standardem oraz ich poprawności systemy oparte na IEEE 802.11 posiadają pewne wady. Wady te są przede wszystkim związane z wprowadzeniem liniowej sumy kontrolnej CRC32. Oznacza to, że po obliczeniu bitowej różnicy między kolejnymi sumami CRC można podjąć decyzję, który pakiet należy poddać korekcji, aby wydawał się prawidłowy. Zatem w standardzie IEEE 802.11 nie ma mechanizmów zabezpieczenia przed zmianą przesyłanej wiadomości. Głównymi niebezpieczeństwami wynikającymi z niedoskonałości sieci bezprzewodowych są ataki związane z wykorzystaniem tego samego wektora początkowego, deszyfrowanie wiadomości wybranym kluczem czy atak związany ze znajomością pierwszego bajtu strumienia klucza. Wypływają z tego następujące wnioski: należy zastosować generator IV o jak największym okresie i losowości, wykorzystywać klucze sesyjne bądź pomijać pierwsze bajty strumienia klucza RC4. W związku ze znanymi już projektantom niedoskonałościami Wi-Fi mogłoby się wydawać, że nowy standard przeznaczony do szerszego zastosowania niż tworzenie sieci komputerowych, będzie zabezpieczony przed wszelkimi atakami. W rzeczywistości niestety problemy IEEE 802.16 w kwestii bezpieczeństwa są podobne do problemów Wi-Fi. Standard WiMax wykorzystuje do szyfrowania danych jeszcze inny algorytm. Jest nim 3DES (Data Encryption Standard). DES został stworzony przez IBM na podstawie szyfru Lucifer i zatwierdzony w 1977 r. DES należy do iterowanych szyfrów blokowych, czyli dzieli wiadomość na bloki o ustalonej długości (w tym przypadku po 8 bajtów każdy) i szyfruje oddzielnie każdy z bloków. Cały proces wykonywany jest w 16 iteracjach, przy czym przed pierwszą iteracją i po ostatniej następuje permutacja bitów w bloku. Schemat właściwy dla DES jest przedstawiony na rysunku (Rys.4). Deszyfrowanie polega na powtórzeniu operacji szyfrowania w odwrotnej kolejności; klucze również wykorzystuje się w odwrotnej kolejności. Tekst jawny podzielony na bloki o długości 8B każdy Zaszyfrowany blok Algorytm iteracyjny Rys.4 Schemat szyfrowania z użyciem DES DES opiera się na prostych operacjach arytmetycznych i logicznych, zatem jest łatwy do realizacji sprzętowej Może pracować w wielu trybach, spośród których popularne są: ECB (Electronic Code Book), CBC (Cipher Block Chaining) oraz CFB (Cipher Feedback). Standard WiMax korzysta z trybu CBC, co wydaje się bezpieczne, ponieważ zawartość bloków zależy wzajemnie od siebie. Z tego względu można uniknąć błędów związanych z podmienieniem bitów w bloku, jak to może mieć miejsce w IEEE 802.11. Każda tego typu operacja zostanie zauważona przez CBC. W przypadku powstania błędów jest jednak pewne, że przepropagują się one do pozostałych bloków. Tryb CBC wymaga użycia odpowiedniego wektora początkowego, niestety standard nie określa jednoznacznie sposobu generowania wektora ani klucza. Mimo iż IV jest generowany losowo użycie trybu CBC szyfrowania DES nie zabezpiecza przed użyciem przewidywalnych wektorów. Algorytm 3DES jest ulepszoną i bezpieczniejszą wersją DES i wprowadza potrójne zabezpieczenie wiadomości tym szyfrem. Schemat tworzenia szyfru 3DES jest przedstawiony na rysunku (Rys.5). Klucz1 DES szyfrowanie Tekst jawny Klucz2 DES deszyfrowanie Klucz1 DES szyfrowanie szyfrogram Rys.5 Schemat blokowy algorytmu 3DES Tekst jawny jest szyfrowany DES przy użyciu klucza1. W kolejnym kroku następuje deszyfracja z innym kluczem, w wyniku czego otrzymuje się kolejny szyfrogram. Dalej szyfrogram podlega kolejnemu szyfrowaniu DES. Algorytm 3DES może w każdym kroku użyć innego klucza. Klucz ma długość 64 bitów, przy czym co ósmy pełni rolę bitu parzystości. Efektywnie więc dłu112 gość klucza wynosi 56. Przestrzeń kluczy wynosi 2 , co pozwala na efektywne zabezpieczenie przed ponownym użyciem tego samego klucza. Niestety standard nie przewiduje, podobnie jak w przypadku Wi-Fi ochrony przed zapisem danych, co umożliwia zmianę przesyłanych danych. Problem z algorytmem DES powstał w momencie, gdy komputery zaczęły zyskiwać coraz większe moce obliczeniowe oraz opracowano nowe metody kryptoanalizy. Począwszy od roku 1997 ogłaszano konkursy na złamanie szyfru. Zaczęły powstawać maszyny łamiące szyfr w ciągu kilku dni, później kilku godzin. Dziś na pewno można złamać ten szyfr szybciej. Opracowano więc rozszerzoną wersję algorytmu pod nazwą AES (Advanced Encryption Standard). AES jest określony przez standard WiMax jako narzędzie opcjonalne, choć wkrótce na dobre zastąpi DES. Niewątpliwą zaletą AES jest zastosowanie długich kluczy 128, 192 oraz 256-bitowych pracujących na blokach tej samej długości. W procesie szyfrowania rozróżnia się trzy etapy: zerowy, standardowy oraz końcowy. Liczba rund standardowych ulega zmianie w zależności od długości klucza oraz bloku. W każdej rundzie powstaje odrębny klucz na bazie klucza szyfrującego. Runda standardowa składa się z kilku kolejnych transformacji: podstawienie bajtów z tablicy podstawień (SubBytes), cyklicznego przesuwania bajtów w trzech dolnych wierszach (ShiftRows), odpowiednie przemieszanie kolumn (MixColumns) oraz wygenerowanie klucza dla danej rundy i wykonanie operacji XOR macierzy stanu z kluczem rundy (AddRoundKey). Algorytm AES jest odporny na kryptoanalizę różnicową i liniową, na atak interpolacyjny, nie generuje słabych kluczy. Szyfr AES zapewnia więc znacznie większy stopień bezpieczeństwa od swojego poprzednika i służy do szyfrowania wiadomości rządowych w wielu krajach. 4. PORÓWNANIE I PODSUMOWANIE Na podstawie przedstawionych systemów łatwo dostrzec, iż wraz z ich rozwojem dokonuje się rozwój zarówno kryptografii jak i kryptologii. W ramach porównania zestawiono w tabeli (Tabela 1) własności systemów GSM, Wi-Fi oraz WiMax pod względem bezpieczeństwa. Z przedstawionych w artykule faktów wynika, że wraz z wykorzystaniem nowych systemów bezprzewodowych stosuje się coraz odporniejsze na ataki szyfry oraz doskonalsze metody uwierzytelniania. Ponieważ ani jedne, ani drugie nie zapewniają jeszcze stuprocentowej ochrony jest wysoce prawdopodobne, że już za kilka lat standardy będą określały nowe algorytmy szyfrowania danych. Można również przypuszczać, że dalszy wzrost mocy obliczeniowej komputerów będzie umożliwiał szybsze łamanie szyfrów. Istnieją jednak sposoby umożliwiające skuteczniejszą niż dotychczas ochronę przed atakami, ich wprowadzenie mogłoby jednak być trudne sprzętowo, a na pewno bardzo kosztowne. Tabela 1 Porównanie bezpieczeństwa w omawianych systemach Uwierzytelnienie stacji ruchomej Uwierzytelnienie stacji bazowej Wykorzystywane szyfry GSM Tak Nie A5 strumieniowy Wi-Fi Tak Nie RC4 strumieniowy WiMax Tak Nie 3DES / AES blokowy Długość klucza [bit] Generowanie słabych kluczy Określony wektor początkowy 64 Tak ------ 40, 128 Tak Nie 56 / 128, 192, 256 Tak/ Nie Nie BIBLIOGRAFIA [1] IEEE Std 802.11,Wireless LAN Medium Access Control (MAC) Layer Specifications, 1999 [2] K.Szczypiorski, (Nie)bezpieczeństwo bezprzewodowych sieci lokalnych (WLAN). Konferencja IT.FORUM-SECURE 2002 [3] D.Johnston, J.Walker Overview of IEEE 802.16 Security, IEEE Security&Privacy, May/June 2004 [4] T. Zatoka, Global System for Mobile Communications. Bezpieczeństwo informacji. Politechnika Poznańska, Katedra Automatyki, Robotyki i Informatyki, 2004