Politechnika Warszawska. Porównanie bezpieczeństwa systemów GSM i UMTS

Wielkość: px
Rozpocząć pokaz od strony:

Download "Politechnika Warszawska. Porównanie bezpieczeństwa systemów GSM i UMTS"

Transkrypt

1 Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Dyplomowa praca inżynierska Porównanie bezpieczeństwa systemów GSM i UMTS Krzysztof Liszewski Ocena Podpis Przewodniczącego Komisji Egzaminu Dyplomowego Praca napisana w Instytucie Telekomunikacji pod kierownictwem dra inż. Andrzeja Paszkiewicza Warszawa, sierpień 2007

2 Abstract Comparison of security in GSM and UMTS systems The scope of my work encompasses the analysis of GSM and UMTS standards with emphasis placed on security. I thoroughly investigated the details of network architecture, protocols and algorithms. I also presented the most severe patterns of attacks that allow the particular security services offered by these systems to be broken. In the third part I focused my attention on describing the most common situation nowadays, when this two systems work simultaneously. The integral part of this work is as well a presentation made with Flash technology (which depicts functioning of authentication protocols and algorithms used) and a program crackcomp128 which implements the simplest attack on the authentication algorithms used in the GSM networks. Key words: GSM, UMTS, security, COMP128, A5, MILENAGE, KASUMI. 2

3 Streszczenie Zakres mojej pracy obejmuje analizę standardów systemów GSM i UMTS pod kątem bezpieczeństwa. Gruntowną analizą objąłem zarówno architekturę sieci jak i stosowane w niej protokoły i algorytmy. Przedstawiłem również przegląd najważniejszych ataków, pozwalających na złamanie konkretnych usług bezpieczeństwa oferowanych przez te systemy. W części trzeciej skoncentrowałem się na omówieniu najczęściej występującej obecnie sytuacji, w której oba te systemy działają równocześnie. Integralną częścią pracy jest prezentacja przygotowana w technologii Flash (obrazująca działanie protokołów uwierzytelnienia i wykorzystywanych algorytmów) oraz program crackcomp128, stanowiący najprostszą implementację ataku na algorytmy uwierzytelnienia stosowane w sieciach GSM. Słowa kluczowe: GSM, UMTS, bezpieczeństwo, COMP128, A5, MILENAGE, KASUMI. 3

4 ŻYCIORYS imiona: nazwisko: Krzysztof, Jerzy Liszewski data urodzenia: 13 XI 1984r. data rozpoczęcia studiów na PW: październik 2003r. Urodziłem się 13 listopada 1984 roku w Warszawie. Uczęszczałem do XIV LO im. Stanisława Staszica. W 2003 roku dostałem się na wydział Elektroniki i Technik Informacyjnych na Politechnice Warszawskiej (kierunek telekomunikacja). Po dwóch latach studiów zdecydowałem się na rozpoczęcie drugiego kierunku. Wybór padł na Szkołę Główną Handlową, w której naukę rozpocząłem w październiku 2005 roku. Moją największą pasją od zawsze był sport. Byłem aktywnym członkiem AZS-u w lekkiej atletyce, tenisie stołowym, szachach i brydżu. Brałem też udział w wielu turniejach piłkarskich i koszykarskich. Ostatnio jednak najwięcej czasu spędzam przy stole do poola i snookera. 4

5 SPIS TREŚCI Wstęp 6 1. System GSM Architektura Podstawa bezpieczeństwa systemu Usługi bezpieczeństwa Anonimowość Protokół zachowania anonimowości Ataki na usługę anonimowości Uwierzytelnienie Protokół uwierzytelnienia Algorytm A3/A8 wersja COMP Schemat działania algorytmu COMP Ataki na usługę uwierzytelnienia Poufność Schemat działania algorytmu A5/1 i A5/ Ataki na usługę poufności Integralność Bezpieczeństwo usług transmisji danych GPRS i EDGE Ocena bezpieczeństwa systemu GSM System UMTS Ewolucja od systemu GSM do UMTS Architektura Release Podstawa bezpieczeństwa systemu Usługi bezpieczeństwa Anonimowość Uwierzytelnienie Protokół uwierzytelnienia Zestaw algorytmów uwierzytelniających f1-f Zestaw algorytmów MILENAGE Poufność Schemat działania algorytmu f Integralność Schemat działania algorytmu f KASUMI Bezpieczeństwo domeny pakietowej Ocena bezpieczeństwa systemu UMTS Współistnienie systemów UMTS i GSM (system hybrydowy) Funkcje konwersji kluczy Ataki na systemy hybrydowe GSM/UMTS Propozycje zabezpieczenia systemu hybrydowego Ocena bezpieczeństwa systemu hybrydowego Opis implementacji Program crackcomp Prezentacja 75 Dodatek A Wykaz skrótów 79 Dodatek B Pojęcia kryptograficzne 83 Literatura 85 5

6 WSTĘP Na przełomie XX i XXI wieku telefonia komórkowa przestała być luksusem dostępnym jedynie dla wybranych. Wraz z rosnącą konkurencją i postępem technicznym ceny aparatów jak i rozmów spadły na tyle, że komórka przestała być wyznacznikiem statusu społecznego stała się nowym kanałem komunikacyjnym, wykorzystywanym zarówno w celach towarzyskich jak i biznesowych. Coraz większy rozmiar transmitowanych danych w sieciach komórkowych sprawia, że stały się one łakomym kąskiem dla wszelkiego typu przestępców. W swojej pracy chce porównać bezpieczeństwo oferowane nam przez sieci 2G (system GSM) i 3G (system UMTS). Pragnę skupić się na przeanalizowaniu standardów obu systemów pod kątem stosowanych protokołów, algorytmów i architektury oraz na ocenieniu, w jakim stopniu systemy te realizują narzucone im zadania. Ocenię również, czy GSM i UMTS zapewniają użytkownikom cztery podstawowe usługi bezpieczeństwa (uwierzytelnienie, anonimowość, integracja i poufność). Przedstawione zostaną również niektóre znane ataki na sieci 2G i 3G oraz kilka nowych. Pominę natomiast sprawy bezpieczeństwa związane z zakłócaniem transmisji (tzw. jamming), przeciążaniem sieci, socjotechnikami, samymi aplikacjami stosowanymi w telefonach komórkowych, czy różnymi protokołami komunikacji nieprzewidzianymi w standardach (Irda, Blootooth itd.). Zaznaczam również, iż praca ta opiera się na analizie standardów, a nie rzeczywistych systemów, które mogą znacznie odbiegać od założeń teoretycznych (czy to na skutek błędów ludzkich, czy na skutek zamierzonych działań). Na samym końcu zostanie również rozpatrzony przypadek najczęściej dzisiaj spotykany, czyli sytuacja, kiedy obydwa systemy (GSM i UMTS) pracują razem w ramach jednej sieci. Integralną częścią pracy jest również prezentacja zaimplementowana we Flashu oraz program łamiący algorytm COMP128 (w języku C++), których dokładny opis został zamieszczony w rozdziale czwartym. 6

7 1. SYSTEM GSM System GSM 1 jest nadal najpopularniejszym systemem telefonii mobilnej na świecie. Od momentu opublikowania pierwszego standardu (GSM 900 Phase 1) w roku 1988 sieci GSM powstały w 218 krajach, a ilość unikalnych numerów abonenckich przekroczyła w pierwszym kwartale 2007 roku liczbę 2,8 miliarda [41]. Skala wykorzystywania systemu jest zatem ogromna i niejednokrotnie przekazywane są przez niego informacje biznesowe, których utrata może wiązać się ze znacznymi stratami finansowymi. Na ile informacje te są bezpieczne? Dla Architektury bezpieczeństwa systemu GSM najważniejsze są trzy algorytmy odpowiedzialne za uwierzytelnienie 2 użytkownika (algorytm A3) oraz szyfrowanie danych (algorytmy A5 i A8). Ponadto bardzo istotna jest architektura funkcjonalna systemu (w której przechowywane są dane użytkownika oraz informacje niezbędne do poprawnego działania algorytmów) i protokoły komunikowania się pomiędzy telefonem komórkowym a stacją bazową. 1 Wszystkie skróty zostały wyjaśnione w Dodatku A. 2 Wszystkie pojęcia kryptograficzne zostały wyjaśnione w Dodatku B. 7

8 1.1 Architektura Strukturę sieci GSM zaprezentowaną na rys. nr 1.1 przedstawiłem zgodnie z ustaleniami norm GSM, opracowanymi przez ETSI. Rysunek nr 1.1: Architektura systemu GSM Źródło: Opracowanie własne Należy zaznaczyć, że przedstawione zostały podstawowe elementy funkcjonalne architektury, które w realizacjach praktycznych bardzo często są implementowane razem w jednym urządzeniu. Elementy te są następujące: karta SIM karta elektroniczna, która pełni funkcję modułu identyfikacji abonenta. MS aparat telefoniczny, stanowiący środowisko, w którym pracuje karta SIM i swoisty interfejs użytkownika, przy pomocy którego korzysta on z usług sieci. BTS bazowa stacja nadawcza, która emituje i odbiera sygnał od użytkowników znajdujących się w danej komórce systemu. 8

9 BSC stacja kontrolująca pracę podległych jej BTSów, odpowiadająca za komunikację pomiędzy BTSami i resztą sieci, sterowanie mocą sygnału itp. BSC i podległe jej BTSy są określane mianem BSS. MSC cyfrowa centrala telefoniczna, stanowiąca główny element systemu i nadzorująca jego pracę. HLR rejestr abonentów macierzystych zawiera dane wszystkich abonentów przypisanych do obsługiwanego przez HLR obszaru (obecnie najczęściej jest to obszar działania jednego MSC, ale może też obejmować swoim działaniem kilka central). VLR rejestr abonentów wizytujących baza danych znajdująca się przy każdej MSC, zawierająca dane wszystkich abonentów wizytujących obecnie daną MSC. EIR rejestr urządzeń abonenckich, w którym zawarte są informacje i numery seryjne wszystkich wykorzystywanych w systemie aparatów telefonicznych. Rejestr ten ściśle współpracuje z międzynarodowym rejestrem znajdującym się w Dublinie, w Irlandii (tzw. CEIR Central EIR). AuC centrum potwierdzenia identyfikacji kluczowe miejsce w architekturze bezpieczeństwa systemu, które jest odpowiedzialne za autoryzację klienta oraz za generowanie kluczy potrzebnych do szyfrowania danych. W celu zapewnienia poufności danych abonentów najczęściej stosowane jest jedno AuC dla całej sieci ogólnokrajowej. OMC centrum eksploatacji i utrzymania sieci centrum pozwalające na zdalne monitorowanie i zarządzanie siecią. Póki dostęp do niego mają jedynie osoby upoważnione (zadbanie o to leży w gestii operatora i nie jest przewidziane w żadnych normach związanych z GSM, a zatem kwestia ta nie będzie rozpatrywana w niniejszej pracy) nie wpływa ono na bezpieczeństwo sieci. Posiada ono bezpośrednie połączenia z wszystkimi MSC i BSC (nie zostały one zaznaczone na rysunku, żeby zachować jego przejrzystość). Przedstawiona architektura odnosi się do sieci oferującej jedynie podstawową usługę. Różnice występujące w przypadku poszerzenia usług sieci o transmisję pakietową GPRS i EDGE przedstawiłem w punkcie

10 1.2 Podstawa bezpieczeństwa systemu Kluczem do bezpieczeństwa systemu jest AuC (od strony systemu stacji bazowych) i karta SIM (od strony abonenta). W tych dwóch miejscach zapisany jest bowiem 128-bitowy klucz Ki. Jest to tajny klucz, przypisany każdej karcie SIM, który w centrum autoryzacji jest powiązany z konkretnym numerem IMSI, a zatem z konkretnym abonentem. Ki nigdy nie opuszcza ani AuC, ani karty SIM i nie ma, a przynajmniej nie powinno być, możliwości odczytania go. Niestety w starszych wersjach kart SIM (stosujących wersję COMP128-1 algorytmu, o czym szerzej w punkcie 1.3.2) taka możliwość istnieje (szerzej o tym w punkcie ). Klucz Ki jest wykorzystywany przez algorytmy A3 i A8 odpowiedzialne za uwierzytelnienie abonenta i wygenerowanie klucza sesyjnego, wykorzystywanego przez algorytm szyfrujący A5. Same kody algorytmów A3 i A8 są również przechowywane wewnątrz AuC i karty SIM. Kod algorytmu A5 jest natomiast zaimplementowany w telefonie komórkowym. Samo szyfrowanie odbywa się zatem poza kartą SIM, natomiast generowanie klucza w jej wnętrzu. Od strony sieci algorytm A5 działa natomiast w BTSie, który klucz sesyjny do tego algorytmu otrzymuje od VLRa (poprzez BSC). Dalej, wewnątrz szkieletu sieci, dane nie są szyfrowane. W specyfikacji GSM dopuszczono co prawda możliwość przechowywania klucza Ki i algorytmów A3/A8 w rejestrach HLR lub VLR ([11]), jednak wydaje się to w większości przypadków mało praktyczne. W przypadku sieci ogólnokrajowych bowiem rejestry HLR i VLR znajdują się z reguły przy każdej MSC, których jest klika lub nawet kilkanaście. Należałoby zatem zapewnić maksymalne możliwe bezpieczeństwo wszystkim tym rejestrom. Wydaje się, że bezpieczniej jest jednak przechowywać tak wrażliwe dane w jednym miejscu w AuC. Rozwiązanie polegające na przechowywaniu kluczy Ki i algorytmów A3/A8 w rejestrze HLR jest uzasadnione jedynie w przypadku małych sieci, posiadających tylko jeden rejestr HLR. Wtedy nie ma sensu rozdzielać obu tych baz danych, a ich połączenie pozwala zmniejszyć ruch wewnątrz sieci bez pogorszenia parametrów bezpieczeństwa. Wewnątrz karty SIM, rejestru AuC oraz rejestrów HLR i VLR zawarty jest również numer IMSI. Jest to unikalny w skali międzynarodowej numer, który identyfikuje danego abonenta. Jego posiadanie w połączeniu z kluczem Ki pozwala stworzyć kopię karty SIM. Ponieważ numer ten da się odczytać z karty SIM (czasami nawet jest on wysyłany kanałem 10

11 radiowym, o czym więcej w punkcie 1.3.1), to właśnie klucz Ki jest kamieniem węgielnym bezpieczeństwa oferowanego użytkownikom przez system GSM. Ważną rolę pełni również rejestr EIR, aczkolwiek nie jest on bezpośrednio związany z systemem GSM, ale raczej z rynkiem aparatów telefonii mobilnej. Każdy taki aparat ma bowiem swój unikalny numer (tzw. IMEI). Numery te są również przechowywane w rejestrach EIR, wewnątrz których są one podzielone na trzy listy: biała aparaty dopuszczone do użytku, posiadające pełną funkcjonalność; szara podejrzane aparaty, których funkcjonalność jest ograniczona a aktywność monitorowana; czarna aparaty niedopuszczone do użytku (np. skradzione), przy których pomocy nie da się zalogować do sieci. Wprowadzenie rejestrów EIR (oraz ogólnoświatowego rejestru centralnego CEIR) wiąże się z chęcią ograniczenia skali kradzieży telefonów komórkowych [43]. Aparaty te są stosunkowo drogie, więc są potencjalnie dobrym celem dla przestępców. Jeśli jednak fakt kradzieży zostanie zgłoszony operatorowi sieci, to przesuwa on skradziony aparat z listy białej na czarną. W tym momencie komórka staje się bezużyteczna (można przy jej pomocy dzwonić jedynie na numery alarmowe). 1.3 Usługi bezpieczeństwa W systemie GSM oferowane są trzy podstawowe usługi bezpieczeństwa [16]: uwierzytelnienie; anonimowość; poufność. Przy standaryzowaniu systemu postanowiono jednak zostawić operatorom dużą dowolność w stosowaniu algorytmów. Na początku zaprojektowano dwie wersję algorytmu szyfrującego A5: wersję A5/1 silniejszą, przeznaczoną dla krajów stabilnych politycznie oraz wersję A5/2 słabszą, dla pozostałych krajów [29]. W krajach niestabilnych politycznie postanowiono nie stosować żadnego szyfrowania (czasami nazywa się to wersją A5/0). W 11

12 Polsce stosowana jest najprawdopodobniej wersja A5/2. Algorytmy te objęto standardem, ponieważ są one implementowane wewnątrz telefonów komórkowych, a nie w samych kartach SIM. Aby więc telefony zakupione u operatora jednej sieci działały poprawnie również w innej, konieczna była standaryzacja tych algorytmów (rozwiązanie polegające na przesyłaniu zaszyfrowanego strumienia do sieci macierzystej w celu jego odszyfrowania byłoby nieopłacalne, zwiększałoby niepotrzebnie ruch w sieci i mogłoby nastręczyć wielu problemów m. in. natury politycznej). Dla algorytmów A3 i A8 natomiast standardem objęto jedynie interfejsy wejściowe i wyjściowe, a konkretną implementację pozostawiono w gestii operatorów. Działanie to nie zaburza w żaden sposób współdziałania kart SIM w różnych sieciach, ponieważ autoryzacja jest przeprowadzana i tak przez AuC należące do sieci macierzystej (szerzej o tym w dalszej części rozdziału). Okazało się to jednak kompletnym niewypałem, ponieważ prawie wszyscy operatorzy postanowili skorzystać z przykładowych algorytmów A3/A8 (zwanych COMP128). Należy zaznaczyć, że rozdzielanie algorytmów A3 i A8 ma podłoże czysto teoretyczne, ponieważ oba działają wewnątrz karty SIM (lub, w przypadku sieci bazowej, wewnątrz AuC) na tych samych danych wejściowych. Początkowo kody źródłowe tych algorytmów były utajnione, jednak dość szybko zostały one odtworzone przy pomocy analizy wstecznej i fragmentarycznych wiadomości dotyczących ich budowy, które wyciekły w roku W 1998 Marc Briceno, David Wagner i Ian Goldberg przeprowadzili pierwszy udokumentowany atak na algorytm COMP128-1 (więcej o nim w dalszej części rozdziału) [8, 85, 14, 15]. Mimo wprowadzenia kolejnych wersji algorytmu COMP128-2, COMP128-3 i COMP128-4 nie zmieniło to w praktyce sytuacji. Niewielu operatorów bowiem zdecydowało się na uaktualnienie zaimplementowanych już algorytmów. Co więcej dopiero ostatnia wersja COMP128-4 rozwiązuje wszystkie problemy pojawiające się w pierwszej wersji. Ze względu na fakt, że to właśnie algorytmy z rodziny COMP128-x są najczęściej stosowane przez operatorów telefonii mobilnej na całym świecie, to właśnie te algorytmy zaprezentowane zostaną w dalszej części pracy. Znamienną cechą systemu jest fakt, że ochroną kryptograficzną objęto jedynie część radiową systemu (łącze między stacją ruchomą a stacją bazową). Informacje sygnalizacyjne i dane transmitowane wewnątrz sieci nie są w żaden sposób zabezpieczone. Sieć GSM zatem jest podatna na każdy atak polegający na prowadzeniu nasłuchu i modyfikowaniu 12

13 danych wewnątrz sieci bazowej (np. na łączu pomiędzy BTSem i BSC lub pomiędzy BSC i MSC). Założono dodatkowo, że sieć cyfrowa nie będzie obiektem aktywnych ataków (związanych na przykład z podstawieniem fałszywej stacji bazowej) ze względu na zbyt duży koszt tego typu urządzeń [4, 15] Anonimowość Anonimowość w systemie GSM jest związana z ukrywaniem numeru IMSI abonenta. Z racji tego, że numer ten jest niepowtarzalny w skali światowej, jego znajomość pozwoliłaby na monitorowanie nie tylko aktywności danego abonenta, ale również miejsca jego pobytu. W celu zapewnienia anonimowości wprowadzono zatem numer TMSI, który jest używany przy komunikacji w kanale radiowym. Jest to czasowy identyfikator abonenta, który jest przyznawany mu przez sieć. Dość częste zmiany numeru TMSI oraz przesyłanie nowego numeru szyfrowanym kanałem stanowią na pierwszy rzut oka bardzo dobre zabezpieczenie anonimowości. Lukę w tej procedurze można jednak zauważyć, przyglądając się pierwszemu logowaniu nowego abonenta (o czym w punkcie ). Należy tutaj zaznaczyć, że anonimowość w systemie GSM nie polega na fakcie ukrycia połączenia i samego faktu transmisji danych. Nieznane za to pozostają informacje o połączeniu, a w szczególności informacje o tym kto i do kogo dzwoni (jeśli w ogóle dzwoni, a nie korzysta z jakiś innych usług, jak na przykład Internet czy SMS) Protokół zachowania anonimowości Procedura nadania nowego numeru TMSI jest uruchamiana przez sieć za każdym razem, gdy: abonent nie posiada numeru TMSI (np. pierwsze logowanie do systemu); TMSI przesłane przez abonenta nie zgadza się z zapisanym w rejestrze VLR (np. na skutek jakiegoś błędu); abonent przemieścił się i znajduje się teraz na terenie posiadającym inny numer LAI; abonent loguje się do systemu (np. przy włączaniu telefonu). 13

14 W przypadku pierwszych dwóch sytuacji sieć będzie wymagać od abonenta, aby przesłał niezabezpieczonym kanałem radiowym (przed rozpoczęciem szyfrowania) numer IMSI. Jest to niezbędne do jego poprawnego zidentyfikowania, ale jednocześnie nie zapewnia użytkownikowi anonimowości. Dopiero po przydzieleniu nowego numeru TMSI (który zostanie przesłany już po uruchomieniu szyfrowania) abonent stanie się anonimowy (przy kolejnym logowaniu). Sytuacje wymagające przesłania numeru IMSI zdarzają się w praktyce bardzo rzadko, ale dopuszczenie takiej możliwości przez projektantów systemu pozwoliło na opracowanie skutecznego ataku na usługę oferującą abonentowi anonimowość (o czym w punkcie ). Rysunek nr 1.2: Protokół przydzielania nowego TMSI Źródło: Opracowanie własne Na rys. nr 1.2 przedstawiłem schemat protokołu przydzielania nowego numeru TMSI w przypadku, gdy abonent przemieścił się z terenu obsługiwanego przez VLRo (old) na teren obsługiwany przez VLRn (new). Jak widać, w procedurze przydzielenia nowego numeru TMSI biorą udział oba rejestry VLR, pomiędzy którymi przesyłane są informacje związane z danym abonentem, m. in. numer IMSI (krok 3). Gdyby na skutek jakiegoś błędu numer TMSI nie był znany sieci, to wysłałaby ona zapytanie o numer IMSI, który pozwoli zidentyfikować 14

15 abonenta bezpośrednio w rejestrze HLR. Po poprawnym zidentyfikowaniu abonenta ustawiane jest połączenie szyfrowane (o tym w punkcie 1.3.2) i sieć przesyła do karty SIM nowy numer TMSI (krok 6). Wysyłana jest również informacja o nowej lokalizacja abonenta do macierzystego rejestru HLR (krok nr 7). Kolejność kroków nr 6 i 7 nie ma znaczenia i nie została sprecyzowana w specyfikacji systemu GSM [20]. Numer TMSI jest zapisywany w rejestrze VLR i obowiązuje jedynie na jednym obszarze LAI (jednemu rejestrowi VLR może podlegać wiele obszarów LAI). Obszar LAI, to tzw. obszar przywołań, który z reguły pokrywa się z zasięgiem działania jednego BSSa. Dopóki zatem abonent znajduje się w zasięgu jednego BSSa jego numer TMSI nie ulegnie zmianie. W rejestrze VLR numer TMSI jest indeksem pozwalającym odszukać dane konkretnego abonenta (a w szczególności jego numer IMSI). Sam identyfikator LAI, wskazujący na obszar, w którym się znajduje abonent, jest również wysyłany do macierzystego rejestru HLR użytkownika. Numer TMSI natomiast nie jest znany ani w rejestrze HLR ani w AuC (wszelka komunikacji na linii VLR-HLR oraz VLR-AuC odbywa się bowiem przy pomocy numerów IMSI) Ataki na usługę anonimowości Ataki na anonimowość w GSM są związane z jednym z największych braków w całej polityce bezpieczeństwa systemu. Opierają się one na tym, że w systemie GSM sieć jest anonimowa, tzn. stacja mobilna w żaden sposób nie uwierzytelnia sieci. W związku z tym możliwe są wszelkiego ataki typu man-in-the-middle, polegające na podstawieniu fałszywej stacji bazowej (rys. nr 1.3). Ponieważ projektanci sieci dopuścili możliwość przesyłania numeru IMSI niezabezpieczonym kanałem radiowym, więc wystarczy, że napastnik podstawi fałszywą stację bazową i wyśle do aparatu użytkownika takie polecenie (krok 1). Karta SIM odbierze to jako zwykłe polecenie systemowe i wyśle napastnikowi swój numer IMSI (krok 2). 15

16 Rysunek nr 1.3: Atak typu man-in-the-middle Źródło: Opracowanie własne Choć bardzo prosty, atak ten wymaga specjalistycznej aparatury umożliwiającej podszycie się pod stację bazową. Nie są to jednak koszty zbyt wygórowane (obecnie już poniżej dolarów) i wystarczająco zdeterminowany napastnik jest w stanie taki sprzęt zakupić. Nie powinno się zatem zbytnio polegać na usłudze anonimowości oferowanej nam przez sieć GSM. Podsłuchanie numeru TMSI wiąże się ze złamaniem algorytmu szyfrującego. Jak jednak wykażę w dalszej części pracy (punkt ) nie sprawia to obecnie większego problemu. W takim wypadku możliwe jest również monitorowanie położenia i aktywności abonenta. Jeśli bowiem algorytm szyfrujący zostanie złamany, to wystarczy podsłuchiwać transmisję danych między abonentem i stacją oraz śledzić zmiany numeru TMSI (które w rzeczywistości nie są aż tak częste jak powinny być). Do tego celu nie potrzeba już sprzętu imitującego stację bazową, ale wystarczy jedynie sprzęt pozwalający na podsłuchanie transmisji, a zatem koszty, jakie musi ponieść napastnik, są jeszcze mniejsze. Zauważyć możemy tutaj pewną zależność anonimowości od poufności. Nie jest to dobre dla systemu, ponieważ słabe punkty w algorytmie szyfrującym wpływają w tym wypadku również na inne usługi bezpieczeństwa Uwierzytelnienie Uwierzytelnienie w sieci GSM jest najważniejszym elementem bezpieczeństwa systemu. Z racji jego charakterystyki, polegającej na tym, że użytkownicy mogą bardzo szybko zmieniać swoje położenie, bezbłędna identyfikacja jest niezbędna. Usługa ta ma zapobiegać podszywaniu się pod innego abonenta oraz korzystaniu z usług na cudzy koszt. 16

17 Uwierzytelnienie w systemie GSM jest realizowane na zasadzie challenge and response (wyzwanie i odpowiedź). Decyzja o uwierzytelnieniu jest podejmowana w centrali MSC i uczestniczy w nim sieć oraz karta SIM. Należy zauważyć, że aparat telefoniczny dostarcza tutaj jedynie energii potrzebnej do wykonania obliczeń, a sam w procesie nie uczestniczy. Oprócz uwierzytelnienia w sieci (opierającego się na zasadzie mam kartę SIM ) sama karta SIM przeprowadza również autoryzację (opierającą się na zasadzie wiem jaki jest PIN ). Można zatem stwierdzić, że w systemie GSM stosowane jest silne uwierzytelnienie, aczkolwiek jest ono podzielone na dwa kroki: jeden bez udziału sieci a drugi już z siecią. Zaraz po włączeniu telefonu abonent musi podać PIN, przypisany do karty SIM znajdującej się wewnątrz aparatu. Trzykrotne błędne podanie wartości PIN powoduje zablokowanie się karty, która nie reaguje na kolejne próby wprowadzenia kodu. Jedynym sposobem uruchomienia karty pozostaje wtedy wprowadzenie ośmiocyfrowego kodu PUK. Po dziesięciu błędnych próbach karta ulega całkowitemu zablokowaniu lub nawet mechanicznemu zniszczeniu i nie nadaje się do użytku. W specyfikacji systemu [17, 18] zaznaczono, że istnieje możliwość wyłączenia autoryzacji kodem PIN. Wybór należy do operatora sieci. Programując odpowiednio moduł SIM może on umożliwić abonentom dezaktywację kodu PIN. Jest to być może wygodne rozwiązanie, ale znacznie osłabia ono zabezpieczenia systemu. Uwierzytelnienie staje się bowiem w tym momencie słabe (opiera się jedynie na zasadzie mam ) i wystarczy, że ktoś ukradnie nam telefon a już będzie mógł wykonywać połączenia na nasz koszt (dopóki nie zorientujemy się i nie zgłosimy kradzieży) Protokół uwierzytelnienia Na rys. nr 1.4 przedstawiłem protokół uwierzytelnienia realizowany w sieci GSM. Abonent, który wcześniej wysłał swój numer TMSI (kanałem nieszyfrowanym), teraz musi potwierdzić swoją tożsamość. 17

18 Rysunek nr 1.4: Protokół uwierzytelnienia Źródło: [11] ze zmianami Proces uwierzytelnienia polega na tym, że sieć (a konkretnie AuC) generuje liczbę losową RAND (128 bitową) (1), którą następnie wysyła do abonenta chcącego zalogować się do sieci (2). Na tej liczbie działa algorytm A3 (operacje przeprowadzane są wewnątrz karty SIM), który wykorzystuje również tajny klucz Ki (3). 32-bitowa liczba SRES, która jest generowana przez algorytm A3, jest odsyłana przez stację mobilną z powrotem do sieci (4). Na podstawie przedstawionego numeru TMSI sieć mogła również skorzystać z klucza Ki (który dla każdego abonenta jest zapisany w AuC) i wygenerować swoją liczbę SRES (5). Jeśli obie te wartości zgadzają się (6), to znaczy że proces uwierzytelnienia został przeprowadzony pomyślnie i użytkownik otrzymuje dostęp do sieci (jest w niej autoryzowany). Generowany jest wtedy również klucz szyfrujący Kc (7) oraz uruchamiane jest szyfrowanie w kanale radiowym (8). W przypadku różnych wartości SRES, karta SIM nie może uzyskać dostępu do sieci, a abonent zostaje poinformowany o posiadaniu niewłaściwej karty SIM (przeważnie jest to komunikat wyświetlany na ekranie aparatu). Zależnie od operatora sieć może podjąć jeszcze jedną próbę autoryzacji na podstawie numeru IMSI (w tym wypadku jest on przesyłany niezaszyfrowanym kanałem). Należy zwrócić uwagę, że zarówno algorytm A3 jak i A8 działają wewnątrz karty SIM [30]. Do karty zostaje przesłana z aparatu jedynie liczba RAND i polecenie uruchomienia obu algorytmów. Oba algorytmy działają na tych samych danych, więc, jak już było zaznaczone, ich rozdzielanie ma podłoże czysto logiczne. W rzeczywistości jest to jeden 18

19 algorytm, którego czas działania nie może przekroczyć 500ms [19]. Stacja mobilna od karty SIM otrzymuje zatem po upływie niecałej sekundy liczbę SRES oraz klucz Kc używany przy szyfrowaniu (patrz też punkt 1.3.3). Żadne inne informacje (w szczególności związane z kluczem Ki) nie wydostają się na zewnątrz karty. Decyzję o przeprowadzeniu procesu uwierzytelnia podejmuje rejestr VLR za każdym razem, gdy w zasięgu jego działania pojawia się nowy abonent. Jeśli zatem użytkownik nie zmienia swojego położenia i nie wyłącza telefonu to okres, w jakim obowiązuje jedno uwierzytelnienie może być dość długi. Ze względu na oszczędność pasma radiowego i minimalizację transmisji wiadomości sygnalizacyjnych większość operatorów nie przewidziała terminu czasowego dla jednego uwierzytelnienia. Liczba RAND, jak już zaznaczyłem, jest generowana w AuC na żądanie VLR (zawierające numer IMSI abonenta). Wraz z nią jest generowana odpowiadająca mu liczba SRES (dla konkretnego abonenta, a ściślej rzecz ujmując konkretnego numeru IMSI) oraz klucz Kc. Na jedno żądanie VLR generowanych jest 5 takich trójek. Ma to ograniczyć liczbę zapytań wysyłanych do AuC, które z reguły jest jedno na całą sieć. Wygenerowane trójki (tzw. tryplety [34]) są przesyłane do rejestru VLR, który wykorzystuje je po kolei. Jeśli wszystkie tryplety zostaną już wykorzystane (każdy może zostać użyty tylko raz), to wysyłane jest kolejne zapytanie do AuC. Jeśli abonent zmieni swoje położenie i przeniesie się na teren podległy innemu VLR, to przy procesie identyfikacji wraz z danymi abonenta (m. in. numerem IMSI) przesyłane są niewykorzystane tryplety (ze starego VLR do nowego) Algorytm A3/A8 wersja COMP128-1 Jak przedstawiłem na rys. nr 1.5 algorytm A3/A8 ma dwa wejścia (128-bitowy klucz Ki i 128-bitowa liczba RAND) oraz dwa wyjścia (32-bitowy SRES i 64-bitowy klucz Kc). To są jedyne wymagania (poza czasem działania poniżej 500ms) stawiane przez specyfikację standardu GSM [19]. Jak już zostało wspomniane jako algorytm A3/A8 najczęściej stosowany jest algorytm COMP

20 Rysunek nr 1.5: Wejścia i wyjścia algorytmu A3/A8 Źródło: [31] Istnieją cztery wersje algorytmu COMP128: COMP128-1 pierwsza wersja, która zawiera kilka błędów (korzysta ze słabej kryptograficznie kompresji motyla oraz generuje klucz Kc o efektywnej długości 54 bitów 10 ostatnich bitów klucza ma zawsze wartość 0 [13]). COMP128-2 druga wersja, opublikowana niedługo po przeprowadzeniu pierwszego udanego ataku na algorytm COMP Likwiduje niektóre błędy w pierwszej wersji algorytmu, ale dalej efektywna długość klucza to 54 bity. COMP128-3 trzecia wersja, która generuje klucz Kc o efektywnej długości 64 bitów. Zwiększyło to bezpieczeństwo algorytmu szyfrującego około 1000 krotnie (do poziomu przewidzianego w specyfikacji GSM). COMP128-4 czwarta wersja algorytmu, która jest oparta na algorytmie 3GPP (Kasumi), takim samym jaki jest stosowany w systemie UMTS. Jedyna wersja, która nie została jeszcze prawdopodobnie złamana. Niewielu jednak operatorów zdecydowało się na jej wprowadzenie, ze względu na znaczne zmiany i spore koszty takiej transformacji Schemat działania algorytmu COMP128-1 Algorytm COMP128 jest algorytmem rundowym, wykonującym na zmianę permutację i podstawienia. Działa on na tablicach bajtowych i tylko w celu dokonania permutacji (krok nr 2.4) bajty zamieniane są na bity. Algorytm składa się z ośmiu rund, przy 20

21 czym w ostatniej rundzie permutacja nie jest wykonywana. Do podstawień wykorzystywanych jest pięć stałych bloków podstawieniowych (o wymiarach 512, 256, 128, 64, 32). Blokowy schemat działania algorytmu COMP128-1 przedstawiłem na rys. nr 1.6. Rysunek nr 1.6: Schemat blokowy algorytmu COMP128-1 Źródło: Opracowanie własne Kolejność kroków działania algorytmu jest następująca [2, 9]: 1. Wczytanie wartości RAND do bufora roboczego (o rozmiarze 32 batów) na pozycje ostatnich 16 bajtów. 2. Uruchomienie ośmiu rund, z których każda (poza ostatnią, jak już wspomniałem) składa się z następujących kroków: 2.1 Wczytanie klucza Ki na miejsce pierwszych 16 bajtów bufora roboczego. 2.2 Podstawienia wykonywane z wykorzystaniem pięciu bloków podstawieniowych o malejącej wielkości. Podstawienia te są wykonywane zgodnie ze strukturą motyla (rys. nr 1.7), która, jak się później okazało, stanowi największą słabość algorytmu. Wykorzystanie bloków podstawieniowych o malejącej wielkości pozwala na końcu tego kroku na uzyskanie czterech bitów zerowych na początku każdego bajtu (ponieważ w ostatniej tablicy podstawieniowej są wartości z zakresu 0-15, które można zapisać przy pomocy czterech bitów). 21

22 Rysunek nr 1.7: Schemat kompresji motyla Źródło: Opracowanie własne na podstawie [12] 2.3 Przepisanie bajtów do pomocniczej tablicy bitowej o rozmiarze 128 (pomijane są cztery bity zerowe z każdego bajta rys. nr 1.8). Rysunek nr 1.8: Przepisywanie bajtów do tablicy bitowej Źródło: Opracowanie własne na podstawie [35] 2.4 Permutacja (w ostatniej rundzie tego kroku nie ma) pomocniczej tablicy bitowej, a następnie zainicjowanie na nowo bufora roboczego. Bity z 22

23 otrzymanej tablicy są wykorzystywane do stworzenia bajtów (np. bity znajdujące się na pozycjach 1-8 tworzą bajt; jedynie starszeństwo bitów jest ustalane odwrotnie, tzn. najstarszy jest w tym wypadku bit nr 8) i zapisania tak otrzymanych bajtów na 16 ostatnich pozycji bufora roboczego. 3. Po ostatniej rundzie w pomocniczej tablicy bitowej znajduje się 128 bitów (krok 2.4 nie jest wykonywany w ostatniej rundzie), z których 32 pierwsze stanowią SRES, a 54 ostatnie (bity numer ) stanowią klucz Kc. Ponieważ algorytm A5 wymaga 64 bitowego klucza, na miejsce brakujących 10 bitów dopisywane są bity zerowe (w wersjach COMP128-1 i COMP128-2) Ataki na usługę uwierzytelnienia Ataki na algorytmy uwierzytelniające abonenta w sieci GSM są najniebezpieczniejsze, ponieważ poznanie przez napastnika klucza Ki jednego z abonentów daje mu taki sam dostęp do usług jak pełnoprawnemu abonentowi. Co więcej, po sklonowaniu karty SIM, sieć nie będzie w stanie odróżnić uczciwego abonenta (prawdziwej karty SIM) od oszusta (podrobionej karty SIM). Wobec udanego ataku na uwierzytelnienie wszelkie inne zabezpieczenia i usługi nie mają znaczenia. Najczęściej ataki na uwierzytelnienie sprowadzają się do złamania algorytmu COMP128. Jak już zostało wspomniane, operatorzy mieli możliwość wyboru algorytmu realizującego usługę uwierzytelnienia. Możliwe było nawet rozdzielnie realizacji algorytmu A3 i A8 na dwa odrębne procesy. Liczba SRES bowiem potrzebna jest dużo wcześniej niż klucz Kc, który jest wykorzystywany dopiero po otrzymaniu odpowiedzi od sieci o poprawnej (lub niepoprawnej) autoryzacji. Ogromna większość operatorów wybrała jednak przykładowy algorytm COMP128-1, a obecnie mało który z nich zdecydował się chociaż na zmianę stosowanej wersji. Ciągle najbardziej popularną jest wersja COMP128-1, a z wersją COMP128-3 nie spotykamy się w praktyce. Podstawowym błędem popełnionym przez ETSI była realizacja bezpieczeństwa poprzez tajność stosowanych algorytmów (tzw. security through obscurity). Z pozoru rozwiązanie takie wydaje się dobre. I jest ono rzeczywiście dobre aż do momentu, kiedy kod algorytmu zostanie wykradziony lub odtworzony. Niemożliwe bowiem jest utrzymywanie go w tajemnicy w nieskończoność. 23

24 Pierwszy atak na algorytm COMP128-1 opracował Marc Briceno, David Wagner i Ian Goldberg w kwietniu 1998 roku w ciągu zaledwie kilku godzin od poznania jego kodu. Świadczy to o wyjątkowo kiepskiej jakości tego algorytmu. Gdyby implementacja algorytmu COMP128 była od samego początku jawna (tak jak DESa, czy AESa), to umożliwiłoby to jego gruntowne zbadanie przez środowisko kryptografów, a jego wady zostałyby prawdopodobnie natychmiast wykryte. Umożliwiłoby to poprawę algorytmu i wyeliminowanie błędów jeszcze przed jego wykorzystaniem. W momencie natomiast, gdy kod algorytmu ujrzał światło dzienne w 10 lat po uruchomieniu pierwszych sieci, kiedy kilkaset milionów abonentów posiada już karty SIM, zmiana algorytmu stała się nieopłacalna. ETSI co prawda wiedziało o słabościach algorytmów ([67]) i opracowało dość szybko dwie kolejne wersje algorytmu (nie brakowało też inicjatyw prywatnych, mających zwiększyć bezpieczeństwo COMP128 np. [24]), mało który operator z już działających na rynku zdecydował się na zmianę stosowanej wersji. Większość ataków na algorytm COMP128 polega na poznaniu tajnego klucza Ki. Pozwala to nie tylko na sklonowanie karty SIM, ale również na podsłuchiwanie transmisji danych (m. in. rozmów) przeprowadzanych przy wykorzystaniu tej karty. Nie opłaca się przeprowadzać ataków, mających za zadanie poznanie klucza Kc, ponieważ jest to klucz sesyjny i dość często ulega on zmianie. Z kolei poznanie klucza Ki oraz numeru IMSI (o czym było w punkcie 1.3.1) pozwala generować samemu klucze sesyjne Kc na podstawie podsłuchanych wyzwań (liczba RAND) wysyłanych przez stację bazową tekstem jawnym. W tabeli nr 1 przedstawiłem wybrane rodzaje ataków na algorytm COMP128-1 wraz z ich krótkich opisem. Wszystkie one pozwalają na poznanie kamienia węgielnego bezpieczeństwa GSM, czyli klucza Ki abonenta. Szczegóły konkretnych schematów ataku znaleźć można w podanej bibliografii. 24

25 Tabela nr 1: Wybrane rodzaje ataków na algorytm COMP128-1 Autorzy Data opublikowania Opis ataku Czas trwania Uwagi szczególne D. Wagner, I. Goldberg, M. Briceno IV 1998 Atak polega na wykorzystaniu słabości kompresji motyla, którą jest tzw. wąskie gardło ( narrow pipe ). Polega to na tym, że po drugim kroku kompresji cztery bajty wyjściowe zależą tylko od odpowiadających im czterech wejściowych (z których dwa należą do Ki, a dwa do RAND). Sama budowa algorytmu kompresji motyla powoduje natomiast, że kolizja w drugiej rundzie propaguje się dalej. Wystarczy zatem zmieniać dwa bajty wejściowe, aby znaleźć kolizję. Następnie dwa bajty klucza znajdujemy metodą prób i błędów. Powtórzenie schematu 8 razy daje nam pełen, 16-bajtowy klucz Ki. Około zapytań RAND do karty SIM, czyli około 6 godzin. * Atak można przeprowadzić bez fizycznego dostępu do karty SIM (wykorzystując fałszywą stację bazową). Szczegółowy opis w: [7] Dejan Kaljevic nieznana D. Kaljevic ulepszył atak bazujący na wąskim gardle poprzez generowanie kolizji także w innych krokach kompresji motyla (a nie tylko w drugim kroku). Co więcej Kaljevic udostępnił w sieci program pozwalający na odczytanie numeru IMSI i klucza Ki z karty SIM ([26]). Należy wykonać około zapytań, czyli około godziny. Atak nie wymaga fizycznego dostępu do karty. Więcej szczegółów w: [31] J.R. Rao, P. Rohatgi, H. Scherzer z IBM V 2002 Atak polega na wykorzystaniu faktu, że karty SIM mają bardzo małą wydajność i czasy działania algorytmu COMP128 różnią się znacznie w zależności od danych wejściowych. Procesory kart ponadto mogą adresować jedynie na 8 bitach. Tymczasem pierwsza tablica w kompresji motyla wymaga adresowania na 9 bitach. Dokładne mierzenie czasu działania algorytmu pozwoliło na opracowanie ataku wykorzystującego 1000 dowolnych wyzwań RAND lub 8 wybranych! Należy wykonać 8 zapytań, a więc około 2 sekund. Atak wymaga fizycznego dostępu do karty SIM. Szczegółowy opis w: [32] * Ograniczenia w czasie realizacji wprowadza wydajność karty SIM (która jest w stanie odpowiedzieć na około 6 zapytań na sekundę) Poufność Poufność danych abonenta i informacji sygnalizacyjnych jest usługą wzbudzającą zawsze największe emocje (przynajmniej pośród użytkowników sieci). W sieci GSM za realizację tej usługi w przypadku zwykłej transmisji danych (rozmowa, SMS, informacje sygnalizacyjne; GPRS i EDGE opisałem w punkcie 1.4) odpowiadają symetryczne algorytmy strumieniowe z rodziny A5/x. Istnieją cztery wersje tego algorytmu [25]: 25

26 A5/0 najsłabsza wersja algorytmu, polegająca na transmisji wszystkich danych tekstem otwartym (bez szyfrowania); A5/2 słabsza wersja algorytmu, zbudowana przy użyciu czterech rejestrów typu LFSR; A5/1 silniejsza wersja algorytmu, zbudowana przy użyciu trzech rejestrów typu LFSR; A5/3 najsilniejsza wersja algorytmu; zbudowana jest na bazie algorytmu Kasumi ([1, 31]), co upodabnia ją do zabezpieczeń stosowanych w systemie UMTS (patrz punkt 2.4.3). Obecnie powszechnie stosowane są jedynie wersję A5/1 i A5/2 i to one zostaną omówione w dalszej części pracy. Po poprawnym przeprowadzeniu procedury uwierzytelnienia szyfrowane są wszystkie dane abonenta transmitowane w łączu radiowym (zarówno dane generowane przez użytkownika, jak i sieciowe informacje sygnalizacyjne przeznaczone bezpośrednio dla tego abonenta). Rysunek nr 1.9: Schemat pracy algorytmu A5 Źródło: [31] Algorytm A5 korzysta z 64-bitowego klucza Kc oraz z 22-bitowego numeru ramki COUNT (rys. nr 1.9). Korzystanie z numeru ramki jest tutaj bardzo istotne, ponieważ umożliwia synchronizację między stacją bazową i aparatem mobilnym. Chociaż algorytm A5 jest strumieniowy, to dane są szyfrowane blokami po 114 bitów [23]. Wiążę się to ze specyficznymi właściwościami interfejsu radiowego i transmitowania danych w ramkach, właśnie po 114 bitów. Za każdym razem zatem, gdy chcemy wysłać ramkę danych, to 26

27 algorytm A5 jest inicjowany kluczem Kc i numerem ramki COUNT. Pozwala to wygenerować 228-bitowy strumień (114 bitów do szyfrowania i 114 do deszyfrowania), który następnie jest xorowany z danymi. Wykorzystanie zmieniającego się numeru ramki pozwala na generowanie różnych strumieni szyfrujących mimo tego samego klucza Kc (który jest zmieniany przy każdym procesie uwierzytelnienia patrz punkt ). Przy tym samym kluczu Kc strumień szyfrujący powtórzy się dopiero wtedy, gdy powtórzy się numer ramki, czyli po około 3,5 godzinie. Zastosowanie szyfru strumieniowego inicjowanego co ramkę i używanego do szyfrowania bloków danych było wymuszone niezbyt dużymi mocami obliczeniowymi aparatów mobilnych. Taki system ma bowiem bardzo dobrą wydajność. Niestety ułatwiło to również jego złamanie (o czym będzie dalej). Procedura generowania 64-bitowego klucza Kc, używanego przez symetryczny algorytm szyfrujący A5, została przedstawiona w punkcie ; działanie najczęściej stosowanego algorytmu COMP128-1 (który zawiera w sobie algorytm A8 odpowiedzialny za generowania klucza Kc) przedstawiłem w punktach i Schemat działania algorytmu A5/1 i A5/2 Algorytmy A5/1 i A5/2 to algorytmy strumieniowe zbudowane przy użyciu rejestrów przesuwnych LFSR. Algorytm A5/1 (silniejszy) zbudowany jest z trzech rejestrów maksymalnej długości, natomiast A5/2 (słabszy) z czterech. Rejestry mają postać przedstawioną w tabeli nr 2. Tabela nr 2: Rejestry LFSR w algorytmie A5/2 Rejestr Długość w bitach Postać wielomianowa (arytmetyka modulo 2) R1 19 x 19 +x 5 +x 2 +x+1 R2 22 x 22 +x+1 R3 23 x 23 +x 15 +x 2 +x+1 R4 17 x 17 +x

28 Numerację bitów przyjąłem za [3], a zatem bity w rejestrze dane są w kolejności odwrotnej, tj. x i odpowiada odczepowi o indeksie długość_rejestru - i - 1. Algorytm A5/1 korzysta z rejestrów R1, R2, R3, które same się taktują. W algorytmie A5/2 do taktowania wykorzystywany jest rejestr R4. Za każdym taktem jeden bit wyjściowy jest gotowy, a rejestry R1, R2, R3 są taktowane zgodne z mechanizmem przedstawionym dalej. Rejestr R4 w A5/2 jest taktowany za każdym razem. Wprowadzone oznaczenia: Kc[i] i-ty bit klucza Kc; Rj[i] i-ty bit rejestru o numerze j; f[i] i-ty bit numeru ramki (ramka na początku działania algorytmu podlega ustalonej permutacji, ale nie wpływa to w żaden sposób na bezpieczeństwo algorytmu, więc ten element został pominięty); wszystkie operacje odnoszą się do działań na bitach, czyli arytmetyki modulo 2. Przebieg działania algorytmu A5/2 jest następujący [19, 28]: 1. Inicjowanie stanu wewnętrznego kluczem Kc i numerem ramki COUNT. Proces ten zawiera w sobie cztery kroki: 1.1 Wszystkie rejestry są zerowane (R1=R2=R3=R4=0). 1.2 Wykonywane są 64 przebiegi pętli: od i=0 do i-63: Taktowane są wszystkie rejestry R1[0] = R1[0] + Kc[i] R2[0] = R2[0] + Kc[i] R3[0] = R3[0] + Kc[i] R4[0] = R4[0] + Kc[i]. 1.3 Wykonywane są 22 przebiegi pętli: od i=0 do i=21: Taktowane są wszystkie rejestry. 28

29 1.3.2 R1[0] = R1[0] + f[i] R2[0] = R2[0] + f[i] R3[0] = R3[0] + f[i] R4[0] = R4[0] + f[i]. 1.4 Wymuszane są wartości 4 bitów: R1[15]=R2[16]=R3[18]=R4[10]=1. 2. Za taktowanie rejestrów R1, R2, R3 odpowiedzialne są trzy bity z rejestru R4. Na początku każdego cyklu (również pierwszego) do modułu taktującego wchodzą bity R4[3], R4[7], R4[10]. W module taktującym obliczana jest wartość funkcji większości tych bitów (tzn. funkcja postaci majority(a, b, c) = ab+bc+ca, zwana inaczej funkcją dwa z trzech ). Jej wyniki porównywane są z konkretnymi bitami i: R1 jest taktowany, gdy wyjście funkcji większości zgadza się z bitem R4[10]; R2 jest taktowany, gdy wyjście funkcji większości zgadza się z bitem R4[3]; R3 jest taktowany, gdy wyjście funkcji większości zgadza się z bitem R4[7]. Po tym procesie taktowany jest (zawsze) rejestr R4. Zastosowanie takiego mechanizmu taktowania zapewnia, że za każdym cyklem co najmniej dwa rejestry (spośród R1, R2, R3) będą taktowane (prawdopodobieństwo taktowania dla każdego z nich natomiast wynosi ¾). 3. Obliczanie bitu wejściowego (tylko jeden na jeden takt) następuje poprzez xorowanie trzech skrajnych bitów rejestrów R1, R2, R3 oraz wyników trzech funkcji większości dla trzech wybranych bitów z każdego rejestru (z czego jeden jest negowany). Odpowiednie bity to: dla rejestru R1 R1[12], R1[15] i ~R1[14], gdzie ~ oznacza symbol negacji zmiennej logicznej; dla rejestru R2 R2[9], R2[13] i ~R2[16]; dla rejestru R3 R3[15], R3[18] i ~R3[12]. Na rys. nr 1.10 została przedstawiona wewnętrzna struktura algorytmu A5/2. 29

30 Rysunek nr 1.10: Struktura wewnętrzna algorytmu A5/2 Źródło: [3] 4. Generowanie strumienia klucza wymaga 327 taktów wewnętrznych algorytmu. Pierwszych 99 bitów jest odrzucanych, natomiast kolejnych 228 jest dzielonych na dwie grupy po 114 bitów, które służą do zaszyfrowania i odszyfrowania jednej ramki danych. Jak już wspominałem szyfrowanie lub deszyfrowanie polega na xorowaniu 114- bitowych bloków danych z wygenerowanym strumieniem szyfrującym lub deszyfrującym. Stacja mobilna wykorzystuje pierwsze 114 bitów wygenerowanych przez A5/2 do szyfrowania, a pozostałe do deszyfrowania, natomiast stacja bazowa na odwrót pierwsze 114 bitów służy do deszyfrowania, a pozostałe do szyfrowania. Algorytm A5/1 (rys. nr 11) jest zbudowany na podobnej zasadzie, co zaprezentowany powyżej A5/2. Cechują go następujące różnice: Nie posiada rejestru R4, a zatem rejestr ten nie jest inicjowany (patrz krok 1. działania algorytmu A5/2). 30

31 Nie wymusza wartości żadnych bitów (A5/2 wymuszał cztery wartości patrz krok 1.4). Taktowanie jest sterowane bezpośrednio z rejestrów R1, R2 i R3 (zamiast odpowiednich bitów z rejestru nr 4 brane są bity R1[8], R2[10], R3[10]; jeśli bit wzięty z konkretnego rejestru zgadza się z wyjściem funkcji większości, to rejestr ten jest taktowany). Odrzucane jest 100 pierwszych bitów, a zatem wymagany jest jeszcze jeden takt w porównaniu do wersji A5/2. Rysunek nr 1.11: Struktura wewnętrzna algorytmu A5/1 Źródło: opracowanie własne na podstawie [3] Podstawową różnicą wzmacniającą siłę algorytmu A5/1 w stosunku do A5/2 jest rezygnacja z rejestru sterującego. Dzięki temu związki zachodzące między rejestrami są dużo bardziej skomplikowane. Spore znaczenie ma również brak wymuszania jakichkolwiek wartości. Wymuszenie czterech bitów w wersji A5/2 stanowi bowiem świetny punkt zaczepienia przy kryptoanalizie. 31

32 Ataki na usługę poufności Kody algorytmów z rodziny A5/x znalazły się co prawda w specyfikacji GSM, ale zostały objęte klauzulą tajności. Ich kody są udostępniane jedynie operatorom komórkowym należącym do GSM Association [41]. Konsekwentnie popełniono tutaj zatem ten sam błąd, co przy algorytmie COMP128 i nie dopuszczono niezależnych kryptoanalityków do kodów źródłowych. Zostały one odtworzone dopiero w 1999 roku przez Marca Briceno przy pomocy inżynierii wstecznej z rzeczywistego telefonu [8]. Ataki na poufność w systemie GSM nie są jednak tylko atakami związanymi ze złamaniem algorytmu szyfrującego. Dużo skuteczniejsze bowiem bywają ataki na same protokoły stosowane w systemie. Jak już wspomniałem w sieci GSM stacja bazowa nie identyfikuje się w żaden sposób w stosunku do karty SIM. Tymczasem to stacja bazowa decyduje o tym, który algorytm szyfrowania jest stosowany silniejszy czy słabszy (aparaty mają z reguły zaimplementowane obie wersję). Chociaż obecnie oba te algorytmy można złamać, to ataki na wersję A5/2 są zdecydowanie szybsze i wymagają mniejszych nakładów obliczeniowych. Korzystając z fałszywej stacji bazowej możemy zatem skonstruować następujące trzy scenariusze ataków [3]: 1. Napastnik pośredniczy przy wymianie informacji uwierzytelniających między stacją bazową a stacją mobilną. Otrzymuje on polecenie rozpoczęcia szyfrowania przy wykorzystaniu algorytmu A5/1 (patrz rys. nr 1.12, krok 1), ale do abonenta wysyła polecenie rozpoczęcia szyfrowania algorytmem A5/2 (krok 2). Następnie przechwytuje wiadomości szyfrowane słabszym algorytmem (krok 3) i odnajduje klucz Kc (krok 4). Teraz napastnik może już bez problemu uczestniczyć w wymianie informacji (odgrywa niejako dwie role: stacja mobilna odbiera go jako sieć i szyfruje algorytmem A5/2, natomiast stacja bazowa odbiera go jako stacje mobilną i szyfruje algorytmem A5/1). 32

33 Rysunek nr 1.12: Atak typu man-in-the-middle na usługę poufności Źródło: Opracowanie własne Atak ten jest możliwy dzięki temu, że zarówno A5/1 jak i A5/2 (jak również GEA1 i GEA2 o czym w punkcie 1.4) stosują ten sam klucz szyfrujący Kc. Jest to duże zaniedbanie ze strony projektantów systemu. Co więcej atak ten jest niemożliwy do wykrycia przez żadną ze stron, ponieważ po wysłaniu żądania szyfrowania algorytmem A5/1 sieć czeka 12 sekund ([19]) na odpowiedź stacji mobilnej, a napastnikowi odkrycie klucza Kc zajmuje około sekundy (o czym w dalszej części podpunktu). A zatem opóźnienie wprowadzane przez napastnika jest niezauważalne. 2. Ten atak bazuje na fakcie, że w trakcie procedury uwierzytelniania aparat telefoniczny wysyła do sieci tzw. class-mark, w którym zawarta jest informacja o posiadanych algorytmach szyfrowania. Niestety wiadomość ta jest przesyłana tekstem jawnym. Napastnik zatem, wykorzystując fałszywą stację bazową, może podmienić bity tej informacji w taki sposób, aby sieć myślała, że ma do wyboru jedynie wersję A5/0 i A5/2 (lub nawet jedynie A5/0, czyli połączenie bez szyfrowania). Jest to możliwe, ponieważ w systemie GSM nie przewidziano żadnych mechanizmów kontroli integralności danych (patrz też punkt 1.3.4). Mając do wyboru A5/0 i A5/2 sieć wybierze oczywiście algorytm A5/2, który napastnik może błyskawicznie złamać. 33

34 3. Ostatni atak bazuje na fakcie, że w praktyce proces uwierzytelniania jest przeprowadzany dość rzadko, a zatem klucz Kc jest równie rzadko zmieniany. Wystarczy zatem, że napastnik na chwile nawiąże łączność z telefonem komórkowym ofiary i, imitując stację bazową, wyśle żądanie rozpoczęcia szyfrowania algorytmem A5/2. Po uzyskaniu niewielkiej ilości danych napastnik rozłącza się i znajduje klucz Kc. Może on teraz podsłuchiwać transmisję pomiędzy abonentem i stacją bazową niezależnie od zastosowanego algorytmu aż do momentu kolejnego uwierzytelnienia. Jeśli abonent nie przemieszcza się i nie wyłącza komórki, to okres ten może być bardzo długi. Wszystkie opisane ataki bazują na dwóch wielkich błędach projektantów systemu braku autoryzacji stacji bazowej u użytkownika oraz stosowaniu tych samych kluczy szyfrujących do wszystkich algorytmów. Wobec zaprezentowanych ataków stosowanie algorytmu A5/3 (bazującego na mechanizmach używanych w UMTSie) nie ma sensu, ponieważ i tak korzysta on z klucza Kc, wspólnego z wersjami A5/1 i A5/2. Zastosowanie powyższych ataków opiera się wciąż na złamaniu algorytmu A5/2 (poza atakiem drugim, który umożliwia wymuszenie transmisji bez szyfrowania). Nie sprawia to jednak większego problemu. Oprócz wewnętrznych słabości algorytmów bowiem, projektanci popełnili kolejny duży błąd. Ze względu na charakter łącza radiowego w systemie GSM jest stosowane kodowanie nadmiarowe (np. w kanale sygnalizacyjnym stosowanym przy inicjowaniu rozmowy 184 bitów informacyjnych kodowanych jest na 456 bitach). Nie miałoby to żadnego wpływy na bezpieczeństwo, gdyby nie fakt, że kodowanie to jest stosowane przed szyfrowaniem. Przy takim rozwiązaniu niezależnie od zastosowanego algorytmu nie da się wyeliminować zależności występujących pomiędzy bitami informacyjnymi i bitami nadmiarowymi. W konsekwencji ułatwia to pracę kryptoanalitykowi, który zależności pomiędzy bitami może wykorzystać jako substytut teksty jawnego [42]. W tabeli nr 3 przedstawiłem najciekawsze i najlepsze metody ataków na algorytmy z rodziny A5/x (pominięte ataki można znaleźć w bibliografii: [4, 15, 21, 22]). 34

35 Autorzy Wersja algorytmu Tabela nr 3: Wybrane ataki na algorytmy z rodziny A5/x Data opublikowania Opis ataku Czas trwania Uwagi szczególne A5/1, A5/2, A5/ Atak typu brute force, polegający na sprawdzeniu wszystkich możliwości. Ataki te w praktyce stosuje się jedynie przy algorytmach z krótkimi kluczami. Ponieważ w najczęściej spotykanych wersjach algorytmu COMP128-1 i COMP128-2 klucz Kc ma efektywną długość 54 bitów, atak ten jest jak najbardziej realny. Konieczne jednak jest zastosowanie specjalistycznego sprzętu (w przypadku zwykłego PC * dalej jest to nierealne). Atak ten można też na wiele sposobów ulepszyć (np. korzystając z paradoksu dnia urodzin lub metody dziel i zwyciężaj), a wtedy złożoność obliczeniowa spada z 2 54 nawet do W zależności od sprzętu, może to być niemalże na bieżąco (rzędu kilku minut) I. Goldberg, D. Wagner, L. Green A5/ Atak ze znanym tekstem jawnym, który wykorzystuje zależności wynikające z kodowania nadmiarowego. Potrzebne są jedynie cztery ramki szyfrogramu (456 bitów) i odpowiadającego im tekstu jawnego aby znaleźć klucz sesyjny. Poniżej 1 sekundy na zwykłym PC. Więcej szczegółów w: [42], [3] E. Barkan, E. Biham, N. Keller A5/2 VIII 2003 Atak ze znanym tekstem jawnym (kilkadziesiąt milisekund), opierający się na kiepskich właściwościach algebraicznych algorytmu (funkcja wynikowa jest zaledwie kwadratowa). Polega on na ułożeniu układu równań i rozwiązaniu go przy pomocy metody eliminacji Gaussa. Optymalizując atak można przeprowadzić jednokrotne wstępne obliczenia (czas około 40 minut na PC; wymagana pojemność około 250MB). Około 10 minut lub poniżej 1 sekundy przy optymalizacji na zwykłym PC. Atak opatentowano: [38]. Szczegółowy opis w: [3] E. Barkan, E. Biham, N. Keller A5/2 VIII 2003 Atak ze znanym szyfrogramem wymagający jedynie 8 ramek danych i jednokrotnych wstępnych obliczeń zajmujących około półtorej godziny oraz wymagających 500MB miejsca. Atak ten wykorzystuję również kodowanie nadmiarowe. Poniżej 1 sekundy na zwykłym PC. Szczegółowy opis w: [3] A. Biryukov, A. Shamir, D. Wagner A5/1 IV 2000 Atak ze znanym szyfrogramem, którego parametry (czas działania/czas obliczeń wstępnych/ilość dostępnych danych) można w prosty sposób dostosować. Najbardziej praktyczny wydaje się atak wymagający około 300GB na wstępne obliczenia i około 2 sekund szyfrogramu. Atak ten nie korzysta z faktu, że efektywna długość klucza Kc wynosi 54 bity (a więc będzie skuteczny również przy COMP128-3 i COMP128-4). Około 1 minuty na zwykłym PC. * Jako zwykłego PC przyjąłem tutaj została maszynę z procesorem PIV 3000GHz, 1GB RAM i dyskiem o pojemności 200GB. Szczegółowy opis w: [5] 35

36 Z tabeli nr 3 jasno wynika, że algorytm A5/1 jest znacznie mocniejszy od A5/2. Dalej jednak pozostaje on słaby (do złamania w czasie poniżej 1 minuty). Co więcej wystarczy skorzystać ze słabości w protokołach i do złamania A5/1 wystarczy złamanie A5/2 (korzystając z któregoś ze schematów ataku zaprezentowanych na początku rozdziału). Jak już zostało wspomniane ataki te nie są do wykrycia w sieciach zgodnych ze standardem GSM. Jeśliby jednak wprowadzić w BTSie dokładne monitorowanie czasu odpowiedzi stacji mobilnej na wezwanie ([39]), to być może udałoby się te ataki wykluczyć. Wiązałoby się to niestety równocześnie z wzrostem ilości przypadków odmowy logowania uczciwym abonentom systemu, a zatem nie jest to najlepszym wyjściem. Nie dość, że algorytmy szyfrujące dają się złamać, a protokoły komunikacji między stacją mobilną a stacją bazową są wadliwe, to klucz Kc można zdobyć w jeszcze inny sposób. Jak już było wspomniane wiadomości przesyłane wewnątrz sieci nie są szyfrowane. Umożliwia to zatem po prostu podsłuchanie transmitowanych trójek (RAND, SRES, Kc), na przykład na drodze między BSC i BTS, która często jest realizowana jako kanał radiowy. W tym wypadku niepotrzebny jest zarówno stosunkowo drogi sprzęt do imitowania stacji bazowej, jak i znajomość metod łamania algorytmu A5/2. Należy też zwrócić szczególną uwagę na bezpieczeństwo usługi SMS. Co prawda wiadomości te są zabezpieczone przed podsłuchem na drodze radiowej, ale dalej już wędrują tekstem otwartym. Bardzo często są one również przechowywane w sieć przez pewien czas (z reguły dlatego, że adresat jest chwilowo niedostępny), a wtedy dostęp mają do nich pracownicy operatora odpowiedzialni za zarządzanie transmisją SMSów w sieci. Sama baza danych służąca za repozytorium SMSów także może być narażona na ataki z zewnątrz Integralność W systemie GSM nie zastosowano żadnego systemu kontroli integralności danych. Jest to ogromnym zaniedbaniem ze strony projektantów i umożliwia przeprowadzenie wielu ataków polegających na modyfikacji danych. Napastnik może nie tylko ingerować w treść przesyłanych łączem radiowym danych abonenta (po złamaniu algorytmu szyfrującego zamiana np. tekstu SMSa nie nastręcza żadnych trudności), ale również w informacje sygnalizacyjne. Pozwala to między innymi na podmienienie numeru docelowego, na który abonent chce się dodzwonić. Zamiast połączyć się z lokalnym numer abonent może przez to 36

37 nawiązać połączenie z wysokopłatnym numerem zagranicznym. Co więcej informacja o tym, że abonent rzeczywiście nie wybrał tego numeru, będzie zapisana jedynie w jego aparacie mobilnym (na liście połączeń wychodzących będzie bowiem widniał numer wybrany z klawiatury telefonu). Od strony sieci natomiast nie da się tego w żaden sposób zauważyć. Jedynym zabezpieczeniem może być w tym wypadku stosowanie skomplikowanych metod analizujących profile użytkowników (ich zachowanie i nawyki), co pozwoli wykryć na przykład nagły wzrost połączeń międzynarodowych. Ten sam system można zastosować do wykrywania sklonowanych kart SIM. Użytkownik może się bowiem wydać podejrzany, gdy w przeciągu 10 minut przemieści się z jednego końca kraju (rzeczywista karta SIM działająca w sieci) na drugi jego koniec (karta sklonowana). Stosowanie tak skomplikowanych dodatkowych (nie objętych standardem GSM) systemów nie ukryje jednak faktu, że w samym standardzie o integralności po prostu zapomniano. Ponadto nawet wprowadzenie tych systemów nie uchroni sieci przed wszystkimi typami modyfikacji (np. wspomniana zmiana treści SMSa jest niezauważalna w żaden sposób od strony sieci). 1.4 Bezpieczeństwo usług transmisji danych GPRS i EDGE W przypadku, gdy sieć jest poszerzona o usługi transmisji danych (GPRS, EDGE), architektura sieci zawiera dodatkowe elementy. Nie ma to jednak większego znaczenia dla bezpieczeństwa sieci. Anonimowość i uwierzytelnienie są realizowane w ten sam sposób, tylko że steruje nimi nie MSC, ale centrala odpowiadająca za sterowanie ruchem pakietowym w GPRSie i EDGEu, czyli SGSN [10]. GPRS i EDGE są zatem podatne na te same ataki (patrz punkty i ). Kiedy abonent chce skorzystać z usługi GPRS musi on przejść uwierzytelnienie w SGSN niezależnie od logowania w sieci GSM. Szyfrowanie natomiast jest realizowane przy pomocy algorytmów bliźniaczo podobnych do A5/1, A5/2 i A5/3 odpowiednio GEA1, GEA2, GEA3. Podobnie jak w przypadku rodziny A5/x kody GEA1 i GEA2 są utajnione (dotychczas nikt nie opublikował ich konkretnego opisu). Spekuluje się natomiast, że są one identyczne jak A5/x, jedynie dostosowano je do charakteru transmisji danych w GPRSie. Znajomość ich kodów źródłowych nie jest jednak konieczna do ich złamania, ponieważ i bez tego można odkryć klucz szyfrujący. Wystarczy skorzystać z ataków typu man-in-the-middle (patrz punkt ) i faktu stosowania tego samego klucza do wszystkich algorytmów szyfrujących (tzn. klucz do GEA1 czy GEA2 jest taki sam jak do A5/2). 37

38 Podstawowa różnica polega na tym, że dane są szyfrowane nie tylko w łączu radiowym (od MS do BTSa), ale aż do SGSN. Zapewnia to nieco większe bezpieczeństwo, ponieważ nie da się informacji podsłuchać w kanale między BTS a BSC. Co ciekawe taka zmiana w porównaniu do GSM nie została podyktowana względami bezpieczeństwa, ale potrzebą uproszczenia elementów sieci [28]. W GPRSie dane mogą być bowiem transmitowane w kilku szczelinach czasowych. Każda szczelina jest przez BTS odbierana jako oddzielne połączenie i nie jest on w stanie poprawnie poskładać odebranych danych. Zadanie to realizowane jest dopiero w SGSN i wtedy możliwa jest też deszyfracja. Dalej jednak (po przejściu przez SGSN) dane wędrują już tekstem otwartym, co naraża je na normalne ataki stosowane w sieciach IP. Należy również zwrócić uwagę, że korzystając z usług transmisji danych (GPRS, EDGE), użytkownik jest narażony nie tylko na niebezpieczeństwa związane z systemem GSM. Podłączając się bowiem do Internetu jest on podatny także na wszystkie ataki związane z działalnością w sieci (wirusy, robaki, phishing itd.). Łączenie się z Internetem przez sieć GSM w żaden sposób nie uchroni przed jego niebezpieczeństwami. Więcej na ten temat można znaleźć w [27, 33, 37]. 1.5 Ocena bezpieczeństwa systemu GSM Nie ma co ukrywać, że przy projektowaniu systemu GSM nie poświęcono dostatecznej uwagi bezpieczeństwu systemu. Popełnionych zostało kilka karygodnych błędów i zaniedbań, na skutek których system GSM nie jest bezpieczny. Podstawowe z nich to: brak uwierzytelnienia stacji bazowej wobec stacji mobilnej; zastosowanie słabych kryptograficznie algorytmów (zarówno uwierzytelniających jak i szyfrujących), które na dodatek były tajne (co nie pozwoliło na ich rzetelną analizę jeszcze przed ich wprowadzeniem); brak kontroli integralności danych; stosowanie tych samych kluczy do wszystkich algorytmów szyfrujących. ETSI starało się jeszcze poprawić bezpieczeństwo systemu, wprowadzając kolejne poprawki, ale w praktyce bardzo niewielu operatorów przywiązało do tego jakąkolwiek wagę. 38

39 Koszty modyfikacji działającego już systemu okazały się po prostu zbyt duże. Tym bardziej, że dotychczas nie odnotowano jeszcze żadnego poważnego skandalu związanego ściśle z przełamaniem zabezpieczeń systemu GSM. Jest to jednak tylko kwestią czasu, kiedy ktoś skorzysta ze słabości systemu 39

40 2. UMTS Zmierzch GSMu rozpoczął się w momencie, w którym okazało się, że technologia 2G nie jest w stanie zaspokoić rosnącego zapotrzebowania na pasmo. Coraz to nowsze usługi (nie tylko Internet, ale również chociażby mobile TV) wymagają bowiem dużo większych przepływności niż te, które był w stanie zaoferować GSM. Podstawowe założenie, jakie zatem postawiono siecią trzeciej generacji, była wysoka przepływność (obecnie teoretyczna przepływność to 14.4MB w technologii HSDPA). Drugim kluczowym zagadnieniem była natomiast poprawa bezpieczeństwa [54]. Architektura bezpieczeństwa systemu UMTS opiera się na podobnych zasadach, co GSM. Wzbogacono ją jednak o nowe usługi oraz załatano większość luk, jakie występowały w sieciach 2G. Spowodowało to, że architektura systemu oraz protokoły w nim stosowane stały się dużo bardziej skomplikowane (wystarczy wspomnieć, że w GSMie używane były trzy podstawowe algorytmy, natomiast w UMTSie mamy ich aż dziewięć). Największym problemem, przed jakim stanęli projektanci, była jednak integracja tych dwóch sieci. 40

41 2.1 Ewolucja od systemu GSM do UMTS Pierwsza wersja systemu UMTS (tzw. Release 99 ) została zamrożona w marcu 2000 roku [92]. Stworzony system miał umożliwić realizację postulatów o zwiększeniu przepustowości i bezpieczeństwa, przy minimalnej ingerencji w infrastrukturę sieci. Umożliwiło to operatorom stopniowe przechodzenie na sieci 3G, pozwalające wykorzystać większość z istniejącej już infrastruktury (zmiany wymagały jedynie stacje BSS i oprogramowanie BSC). Organizacja 3GPP, zajmująca się standaryzowaniem UMTSa, prowadziła pracę dalej. Powstawały następne specyfikacje (kolejno Release 4, 5, 6, 7), które coraz bardziej zmieniały architekturę sieci, dążąc do stworzenia jednolitej sieci pakietowej opartej na protokole IP [77]. Działania te mają za zadanie obniżyć koszty realizacji i utrzymania sieci oraz zapewnić jej większą skalowalność [69]. Więcej szczegółów o ewaluacji systemu można znaleźć w [70]. Architektura systemu i zabezpieczenia zostaną omówione na podstawie systemu zgodnego z powszechnie stosowanym Releasem 99. Zabezpieczenia opisane w tym standardzie są podstawą bezpieczeństwa w UMTSie i nie podlegały znaczącym modyfikacją w późniejszych wersjach systemu. Należy zwrócić uwagę, że omawiany jest tutaj czysty UMTS. Wpływ współistnienia obu systemów w jednej architekturze (czyli najczęściej spotykany obecnie przypadek) omówiłem oddzielnie w części III. 2.2 Architektura Release 99 Elementy funkcjonalne architektury są bliźniaczo podobne do tych stosowanych w GSM (patrz punkt 1.1). Chociaż elementy Node B i RNC (patrz rys. nr 2.1), które obsługują interfejs radiowy, mają inne nazwy, to pełniona przez nie funkcja nie uległa zmianie. Jedynie ich budowa (co nie ma żadnego wpływu na bezpieczeństwo sieci) jest inna, co zostało spowodowane stosowaniem innej techniki modulacji w kanale radiowym. Dodatkowe elementy związane z domeną pakietową przedstawię w punkcie

42 Rysunek nr 2.1: Architektura systemu w wersji Release 99 Źródło: [87] 2.3 Podstawa bezpieczeństwa systemu Bezpieczeństwo systemu UMTS ma te same korzenie co systemu GSM (porównaj z punktem 1.2). Podstawę stanowi klucz K, przechowywany jedynie w karcie USIM i w centrum autoryzacji AuC. To on jest wykorzystywany do obliczania kluczy sesyjnych oraz przy uwierzytelnieniu. Dostęp do niego powinien więc być maksymalnie zabezpieczony. Nie powinien on również nigdy opuszczać bezpiecznego środowiska USIM czy AuC. W UMTSie stosowane jest dziewięć różnych algorytmów [71]. Pięć z nich jest wykorzystywanych przy procesie uwierzytelnienia i generowania kluczy sesyjnych (więcej o tym w punkcie 2.4.2) dla usług integracji i szyfrowania. Są to algorytmy od f1 do f5. Za szyfrowanie odpowiada algorytm f8 (punkt ), natomiast za integralność f9 (punkt ). Dwa pozostałe algorytmy są wykorzystywane w procesie synchronizacji (jedynie w przypadku, gdy zostanie ona zgubiona). Często jest wyróżniany również dziesiąty algorytm f0, odpowiedzialny za generowanie liczb losowych RAND. Jego implementacja nie jest jednak zawarta w standardach UMTS i każdy z operatorów ma możliwość korzystania z dowolnego generatora. Już teraz można zaobserwować kilka pozytywnych zmian w stosunku do systemu GSM. Po pierwsze zastosowana została kontrola integralności przesyłanych danych. Po drugie algorytm szyfrowania f8 jest zaimplementowany w RNC (odpowiedniku BSC w GSMie), a nie w Node B (odpowiedniku BTS w GSMie). Dzięki temu dane są szyfrowane nie tylko w łączu radiowym pomiędzy stacją mobilną, a stacją bazową, ale również na trasie 42

43 Node B RNC. Utrudnia to znacznie potencjalnemu napastnikowi podpięcie się do sieci. O ile bowiem łącze pomiędzy stacja bazową a jej kontrolerem jest bardzo często łączem radiowym (prostym do podsłuchu), o tyle dalej dane transmitowane są najczęściej drogą kablową i światłowodową (dostęp do której jest fizycznie zabezpieczony). Tak samo jak w GSMie abonent (a raczej konkretna karta USIM) jest identyfikowany na podstawie numeru IMSI. Rejestr EIR również pozostał niezmieniony i jest stosowany dokładnie w takim samym zakresie jak w GSMie (patrz punkt 1.2). 2.4 Usługi bezpieczeństwa System UMTS oferuje cztery podstawowe usługi bezpieczeństwa [45]: uwierzytelnienie; anonimowość; poufność; integralność. Przy uwierzytelnianiu w UMTSie wykorzystywanych jest pięć algorytmów: f1, f2, f3, f4, f5. Opis każdego z nich został zawarty w standardzie ([50, 51]), chociaż pozostawiono operatorom możliwość wyboru zestawu stosowanych algorytmów. Wydaje się to lepszym rozwiązaniem niż w przypadku GSM. Tym bardziej, że konstrukcja algorytmów od samego początku była jawna, co pozwoliło na ich gruntowne przebadanie nie tylko przez członków 3GPP, ale również przez niezależnych kryptoanalityków. Do szyfrowania wykorzystywany jest algorytm f8, natomiast do kontroli integralności danych f9 [52, 53]. Tak samo jak w przypadku algorytmów f1-f5, tak i tutaj kody algorytmów są ogólnie dostępne. Należy zauważyć, że trzy pierwsze usługi bezpieczeństwa występowały również w systemie GSM, a jedynie ostania jest nowa. Nie zmienia to jednak faktu, że jakość usług (poza usługą anonimowości) uległa znacznej poprawie (co udowodnię w dalszej części tego punktu). 43

44 Ochroną kryptograficzną objęto również większą część systemu niż w przypadku GSM. Nie chodzi tu tylko o to, że szyfrowanie jest używane pomiędzy MS i RNC, ale również starano się zadbać o transport danych sygnalizacyjnych wewnątrz sieci szkieletowej. Release 99 nie wprowadza tutaj jeszcze żadnych zmian, ale już wersję R4 i R5 zalecają stosowanie MAPsec i IPsec, czyli sprawdzonych i bezpiecznych standardów sygnalizacyjnych [64] Anonimowość Usługa anonimowości w systemie UMTS działa w identyczny sposób co w GSMie (patrz punkt 1.3.1). Co za tym idzie jest ona również podatna na ataki zaprezentowane w punkcie Fakt, że w UMTSie stacja bazowa uwierzytelnia się wobec stacji mobilnej nie zmienia w żaden sposób sytuacji. Jest to związane z tym, iż aby proces uwierzytelnienia został przeprowadzony poprawnie najpierw abonent musi zostać wstępnie zidentyfikowany (na podstawie numeru TMSI lub IMSI). Dopiero wtedy proces uwierzytelnienia jest uruchamiany. Należy się zastanowić, czy przeprowadzanie uwierzytelnienia sieci wobec abonenta musi następować dopiero po poznaniu jego tożsamości (po wysłaniu numeru TMSI lub IMSI). Gdyby bowiem istniała możliwość upewnienia się wcześniej o tożsamości sieci, z którą abonent się komunikuje, to można by uniknąć wysyłania numeru IMSI osobom nieupoważnionym. Problemem jest w tym wypadku fakt, że komunikacja odbywa się poprzez niezabezpieczony kanał radiowy. Wszystkie informacje są przesyłane w postaci jawnej i mogą być w łatwy sposób przechwycone przez napastnika i później wykorzystane. Nie jest możliwa zatem identyfikacja sieci na podstawie jakiegoś ustalonego kodu, czy hasła. Niezbędne jest skorzystanie ze schematu challenge and response (wyzwanie odpowiedź) i generowania losowych wyzwań (co zapobiega atakowi polegającemu na powtarzaniu przechwyconych wiadomości). Na rys. nr 2.2 przedstawiłem przykładową realizację takiego protokołu. 44

45 Rysunek nr 2.2: Protokół dodatkowego uwierzytelnienia sieci Źródło: opracowanie własne Skorzystanie z przedstawionego schematu nie jest jednak możliwe w obecnym systemie. W UMTSie bowiem sieć potwierdza swoją tożsamość poprzez udowodnienie, że zna klucz K abonenta (o czym więcej w punkcie 2.4.2). Jest zatem niezbędne, aby wcześniej wiedziała o którego abonenta chodzi. W celu zaimplementowania protokołu przedstawionego na rys. nr 2.2 należałoby umieścić w karcie USIM jeszcze jeden klucz (poza kluczem K abonenta) związany z siecią macierzystą. Stosowany by on był do szyfrowania (algorytmem asymetrycznym) wysyłanego numeru IMSI. Schemat ten wydaje się poprawny, ponieważ ukrycie kolejnego klucza w pamięci karty USIM nie powinno nastręczyć trudności [91]. Pewne wątpliwości może budzić fakt, że wszyscy abonenci jednej sieci będą korzystali z tego samego klucza. Nie wydaję się jednak, żeby był to rzeczywisty problem. Jeśli bowiem dodatkowo zostanie przyjęte założenie, że uwierzytelnienie sieci wg tego protokołu jest stosowane jedynie w przypadku zagrożenia anonimowości (czyli w przypadku, gdy sieć żąda od abonenta przesłania numeru IMSI zamiast numeru TMSI), to okaże się, że procedura ta będzie przeprowadzana niezwykle rzadko. W przypadku zastosowania liczby losowej o długości 128 bitów (lub nawet 256) nierealne stanie się również zebranie wszystkich możliwych odpowiedzi (co pozwoliłoby na podszycie się pod stację bazową bez znajomości jej klucza, a jedynie ze znajomością odpowiedzi na każde wyzwanie). Dodatkowo możliwe jest wygenerowanie kilku kluczy dla abonentów jednego HLR (dzieląc ich na grupy na przykład po tysiąc użytkowników). Dzięki 45

46 temu skompromitowanie jednego z kluczy (np. poprzez odczytanie go z karty USIM) będzie zagrożeniem jedynie dla anonimowości stosunkowo małej grupy użytkowników. W przypadku zastosowania tego schematu uwierzytelnienia stacji bazowej u użytkownika wszystkie ataki na usługę anonimowości zaprezentowane w punkcie przestają mieć rację bytu. Pojawia się jednak problem routingu, tzn. sytuacja, gdy użytkownik chce uwierzytelnić stację bazową nie należącą do jego sieci macierzystej. Problem ten można rozwiązać w podobny sposób w jaki obca sieć dostaje dane abonenta wykorzystywane przy zwykłym uwierzytelnieniu [63]. Mianowicie z karty USIM wyciągana jest część numeru IMSI identyfikująca sieć macierzystą abonenta (pierwsze 5 cyfr numeru), na podstawie których sieć obsługująca dowiaduje się, do kogo przekazać odebrane wyzwanie. W tym wypadku ujawniana jest co prawda część numeru IMSI, ale jest to jedynie część identyfikująca sieć, do której należy użytkownik. Nie wydaje się jednak, żeby tą informację dało się ukryć bez zbytniego zwiększania ruchu wewnątrz sieci (np. poprzez odpytywanie wszystkich możliwych sieci). Podsumowując, zaproponowany schemat pozwala uniknąć przesyłania numeru IMSI do nieuwierzytelnionych sieci. Przysyłana jest jedynie jego część, która pozwala przypisać abonenta do konkretnej sieci, ale nie ujawnia jego tożsamości. Niemożliwe stają się również pasywne ataki polegające na nasłuchiwaniu i oczekiwaniu na transmisję numeru IMSI (nawet jeśli się taka zdarzy, to numer IMSI będzie zaszyfrowany) Uwierzytelnienie Funkcja uwierzytelnienia w sieci UMTS działa na podobnej zasadzie co w sieci GSM [44]. Tutaj również wykorzystywany jest schemat challenge and response ([82]), a uwierzytelnienie jest silne (zasad wiem i mam patrz punkt 1.3.2). Sam proces jest jednak bardziej skomplikowany oraz bierze w nim udział pięć (a nie jak w GSMie dwa) algorytmów. Wykorzystanie większej ilości algorytmów i dodatkowych parametrów pozwoliło na znaczna poprawę poziomu bezpieczeństwa w stosunku do sieci 2G. Pierwszy etap uwierzytelnienia, polegający na posiadaniu karty USIM ( mam ) i znajomości kodu PIN ( wiem ) jest identyczny jak w przypadku GSM (opisany w punkcie 1.3.2). 46

47 Protokół uwierzytelnienia Rys. nr 2.3 obrazuje protokół wzajemnego uwierzytelnienia. Jest to kluczowy proces w całym systemie zabezpieczeń systemu UMTS [72, 79]. Rysunek nr 2.3: Protokół uwierzytelnienia Źródło: opracowanie własne Zaraz po przedstawieniu się sieci numerem TMSI (opcjonalnie IMSI) do abonenta wysyłane jest żądanie autentykacji (krok 2). Zawiera ono losową liczbą RAND (128 bitów) oraz tzw. token AUTN (128 bitów). Korzystając z tych parametrów algorytmy uwierzytelniające zapisane wewnątrz karty USIM obliczają odpowiedź RES (od 32 do 128 bitów) oraz klucze konieczne do szyfrowania i kontroli integralności danych (krok 3). Przeprowadzane jest również uwierzytelnienie sieci, kontrola integralności otrzymanych danych oraz sprawdzany jest wiek otrzymanego wyzwania. Jeśli wszystkie te działania dadzą pozytywny wynik (krok 4), to do sieci odsyłana jest liczba SRES (krok 5). Jeśli zgadza się ona z odpowiedzią obliczoną po stronie sieci (krok 6), to proces autoryzacji użytkownika jest 47

48 zakończony pomyślnie i zostaje mu przydzielony dostęp do sieci. Uruchomione zostają również procedury kontroli integralności danych i szyfrowania transmisji. Jeśli obliczona przez stację mobilną odpowiedź nie będzie się zgadzać z wartością dostarczoną przez sieć, to procedura uwierzytelnienia kończy się niepomyślnie. Sam protokół jest uruchamiany w takich samych przypadkach, co w systemie GSM (patrz punkt ). Dystrybucja danych koniecznych do uwierzytelnienia (które są wysyłane z AuC do VLR) przebiega również w identyczny sposób. Same dane nazywane są natomiast wektorami autentykacyjnymi AV. Należy zwrócić uwagę, że zarówno w systemach 2G jak i 3G algorytmy uwierzytelniające działają wewnątrz karty SIM/USIM, a na zewnątrz wydostają się gotowe już wartości [90]. Ochrona kodów tych algorytmów jest zatem rzeczą kluczową zarówno dla ich poprawnego działania, jak i bezpieczeństwa samych danych. Jeśli by się bowiem udało te kody zmienić, to można by w nich zaszyć instrukcję, które mogły by ujawnić wartość klucza K (co prowadzi oczywiście do całkowitego załamania się systemu) Zestaw algorytmów uwierzytelniających f1-f5 W standardzie systemu UMTS zaproponowane jest zastosowanie grupy algorytmów f1-f5. Ich strukturę blokową przedstawiłem na rys. nr 2.4, a konkretne wejścia i wyjścia opisałem w tabeli nr 4. Rysunek nr 2.4: Schemat blokowy funkcji f1-f5 Źródło: [87] 48

49 Tabela nr 4: Wejścia i wyjścia funkcji f1-f5 parametr Rozmiar [bit] algorytm wejście/wyjście Opis RAND 128 f1-f5 - wejście losowa liczba wysyłana przez sieć (tzw. wyzwanie) K 128 f1-f5 - wejście tajny klucz abonenta SQN 48 f1 - wejście numer sekwencyjny AMF 16 f1 - wejście parametr przeznaczony do dyspozycji operatorów MAC-A 64 f1 - wyjście skrót zapewniający integralność SRES (RES, XRES) f2 - wyjście odpowiedź CK 128 f3 - wyjście klucz szyfrujący IK 128 f4 - wyjście klucz integralności AK 48 f5 - wyjście klucz służący do utajnienia wartości SQN W praktyce jest to jedyny stosowany zestaw algorytmów. Jak już wspomniałem, standard UMTS daje operatorom możliwości wyboru konkretnych algorytmów. Wobec jednak tego, że implementacje zawarte w specyfikacji zdają się być dobrze zaprojektowane i przebadane, ni ma to większego znaczenia. Wszystkie algorytmy z rodziny fx zostały zaprojektowane na bazie szyfru blokowego. Wahano się czy jako jądro algorytmów wykorzystać szyfr blokowy, czy funkcję skrótu ([48]), ostatecznie jednak wybrano pierwsze rozwiązanie. Przemawiała za nim głównie wydajność w implementacjach na 8-bitowych procesorach (takie są przeważnie wewnątrz kart SIM/USIM), dostępność oraz lepsza skalowalność. W samym standardzie jednak nie zaznaczono o jaki konkretnie algorytm chodzi. Podano jedynie wytyczne z nim związane: działanie na 128- bitowych blokach pod kontrolą 128-bitowego klucza, łatwość implementacji, szybkość działania. Dopiero później organizacja 3GPP zaleciła stosowanie algorytmu Rijndael (powszechniej znanego jako AES). W MILENAGE (punkt ) działa on jedynie w funkcji szyfrowania z wykorzystaniem 128-bitowego klucza [78]. Dokładny opis tego algorytmu AES można znaleźć w [55, 56]. Warto zwrócić uwagę na fakt, że zestaw funkcji uwierzytelniających posiada więcej wyjść niż jego odpowiednik w sieci GSM A3/A8. Dodatkowe dwa wejścia to SQN i AMF. 49

50 Zastosowanie obu tych pól ma zapobiec kilku specyficznym rodzajom ataków oraz zwiększyć elastyczność stosowanych rozwiązań [46, 47]. Argument SQN określa wiek wektora, co pozwala (po porównaniu go z wielkością przechowywaną w karcie USIM) stwierdzić, czy wektor AV jest nowy. Dzięki temu możliwe jest wyeliminowanie ataków polegających na wykorzystaniu przechwyconych starych wektorów. Istnieje kilka możliwych sposobów na weryfikację wartości SQN (zostały one opisane w dokumencie [59, 60]). Rola argumentu AMF natomiast nie jest jasno określona. Pozostawia to dość szerokie pole manewru operatorom. Można na przykład korzystać z kilku zestawów funkcji uwierzytelniających. Parametr AMF wykorzystywany by był w takiej sytuacji do wyboru odpowiedniej funkcji. Nie istnieje tutaj obawa przed modyfikacją zawartości tego pola, ponieważ zabezpiecza to kontrola integralności tokena AUTN (a ściślej mówiąc pozwala wykryć jego modyfikację) Zestaw algorytmów MILENAGE 3GPP zaproponowało opracowany przez siebie zestaw funkcji f1-f5, który otrzymał nazwę MILENAGE [61, 62]. Na rys. nr 2.5 przedstawiłem schemat działania tego zestawu algorytmów. Rysunek nr 2.5: Schemat działania MILENAGE Źródło: [87 ze zmianami] 50

51 Oznaczenia na schemacie oraz wartości konkretnych parametrów (zgodne z zawartymi w standardzie [61, 62]) są następujące: c 1 = (wartości c x są długości 128 bitów); c 2 = ; c 3 = ; c 4 = ; c 5 = ; r 1 =64; r 2 =0; r 3 =32; r 4 =64; r 5 =96; wartość OP c jest obliczana zgodnie ze schematem przedstawionym na rys. nr 2.6; Rysunek nr 2.6: Obliczanie OP c Źródło: [87] wybór wartości OP został pozostawiony w gestii operatora; blok E k oznacza wywołanie szyfru blokowego (polecanym przez 3GPP algorytmem jest AES) przy kontroli klucza K abonenta; blok rotate by r x oznacza rotację o r x bitów. Jak widać na rys. nr 2.5 wszystkie funkcje od f2 do f5 są obliczane na tej samej zasadzie. Różnią się jedynie wartością rotacji i wartością dodawaną modulo zaraz po rotacji (wartość c x ). Najpierw liczba RAND jest xorowana z wartością OP c (krok 1). Wynik jest 51

52 szyfrowany algorytmem blokowym pod kontrolą klucza K (krok 2), a następnie następuje rozdział na konkretne funkcję. Wszystkie one jednak wykonują takie same operacje, czyli kolejno: ponowne xorowanie z OP c (krok 3), rotacja o r x bitów (krok 4), xorowanie z wartością c x (krok 5), ponowne szyfrowanie algorytmem blokowym pod kontrolą klucza K (krok 6) i jeszcze jeden xor z wartością OP c (krok 7). Po wykonaniu tych wszystkich operacji otrzymywane są dane wyjściowe. Zaznaczona na rysunku gałąź odpowiada za stworzenie dwóch parametrów wyjściowych (zarówno odpowiedzi RES jak i klucza zaciemniającego AK), które odpowiadają wyjściom dwóch funkcji logicznych f2 i f5. Funkcja f1 jest realizowana w trochę inny sposób niż pozostałe funkcje. Jest to związane z jej innym charakterem. Pozostałe funkcje bowiem dostarczają jedynie parametry i klucze wykorzystywane przy kolejnych operacjach, natomiast f1 ma umożliwić kontrolę integralności otrzymanych danych. W tym celu na wejściu podawana jest podwojona konkatenacja wartości SQN i AMF (krok A). Następne operacje to: xor z wartością OP c (krok B), rotacja o 64 bity (krok C), xor z wartością c 1 oraz wartością obliczoną w kroku 2 (krok D), szyfrowanie algorytmem blokowym przy kontroli kluczem K (krok E) oraz jeszcze jeden xor z OP c (krok F). Uwzględnienie przy obliczaniu wyjścia funkcji f1 wartości SQN i AMF pozwala zabezpieczyć je przed modyfikacjami. Xor z wartością obliczoną w kroku 2 natomiast pozwala zabezpieczyć w ten sam sposób wartość RAND. Dzięki temu ochroną integralności objęte są wszystkie wartości potrzebne do uwierzytelnienia, które są transmitowane tekstem jawnym. Istotną cechą, jaką powinien posiadać zestaw MILENAGE powinno być to, że wyjście którejkolwiek z funkcji jest niezależne od pozostałych wyjść. W ten sposób uniemożliwia się oparcie ataku na zależnościach pomiędzy znanymi i nieznanymi parametrami. Algorytm MILENAGE osiąga ten cel poprzez skorzystanie z dobrych właściwości kryptograficznych zastosowanego szyfru blokowego. Zakładając, że jest nim polecany AES wydaje się, że niewielka zmiana na wejściu różnych funkcji (powodowana poprzez operacje rotacji i xora wartości c x (kroki 4 i 5)) jest wystarczająca do uzyskania niezależności wszystkich otrzymanych wartości. W celu uzyskania jakichkolwiek informacji o jednym z wyjść na podstawie innego, należałoby bowiem odkryć wpływ, jaki wywiera konkretna modyfikacja danych wejściowych na dane wyjściowe algorytmu. To z kolei mogłoby doprowadzić do całkowitego złamania algorytmu AES. Wobec jednak gruntownej analizy Rijndaela wydaje się, że taka konstrukcja funkcji f1-f5 zapewnia niezależność ich wyjść i na razie jest bezpieczna. 52

53 Należy jednak zauważyć, że dwie gałęzie MILENEGE a są odpowiedzialne za generację wyjść dwóch logicznych funkcji (rys. nr 2.5 gałąź lewa generuje wyjście f1 i f1 *, natomiast zaznaczona gałąź generuje wyjścia funkcji f2 i f5). Budzi to pewne obawy, ponieważ w przypadku, gdy wartość SRES ma długość 128 bitów, to jej część (pierwsze 48 bitów) stanowi jednocześnie klucz AK. Jest to w sprzeczności z przyjętym wcześniej założeniem o braku zależności pomiędzy wyjściami wszystkich funkcji fx. Ponadto przechwycenie przez napastnika wyzwania generowanego przez sieć i odpowiedzi stacji mobilnej pozwala mu na znalezienie wartości AK i SQN. Chociaż nie narusza to podstaw bezpieczeństwa systemu (nie daje żadnych informacji o kluczu K abonenta ani nawet o kluczach sesyjnych CK i IK), to samo szyfrowanie wartości SQN traci w tym momencie sens i jedynie pozornie zapewnia dodatkowe bezpieczeństwo. W przypadku funkcji f1 i f1 * ten problem nie występuje, ponieważ f1 i f1 * zwracają parametry 48-bitowe, a więc ich wartości nie będą się pokrywać. Funkcję f1 * i f5 * nie są wykorzystywane przy standardowej procedurze uwierzytelnienia. Uruchamiane one są dopiero w przypadku, gdy proces uwierzytelnienia nie może zostać zakończony pozytywnie ze względu na zbyt dużą rozbieżność pomiędzy otrzymaną z sieci wartością SQN a wartością SQN przechowywaną na karcie USIM. Protokół resynchronizacji polega na wygenerowaniu przez USIM odpowiedzi składającej się z parametru RAND i tokena AUTS (na który składa się wartość SQN przechowywana na karcie USIM zaszyfrowana przy pomocy klucza AK (f5 * ) i skrót MAC-S zapewniający integralność przesłanych informacji (f1 * )) [88]. Sieć sprawdza poprawność otrzymanych danych i jeśli są one prawidłowe, to parametr SQN, który jest przechowywany w sieci dla tego konkretnego abonenta, jest ustawiany na wartość otrzymaną od użytkownika. Następnie generowany jest dodatkowy wektor AV (już z poprawną wartości SQN) i cała procedura uwierzytelnienia zaczyna jest od nowa Poufność Algorytmem realizującym usługę poufności w sieci UMTS jest funkcja f8, której działanie przedstawiłem na rys. nr

54 Rysunek nr 2.7: Schemat wejść i wyjść f8 Źródło: [87] Algorytm ten jest strumieniowy, aczkolwiek do generacji strumienia wykorzystuje szyfr blokowy w trybie pracy OFB. Algorytm ten posiada dużo więcej wejść niż jego odpowiednik w sieci GSM (A5 posiadał jedynie dwa wejścia klucz Kc i numer ramki COUNT). Rolę klucza szyfrującego pełni 128-bitowy parametr CK, natomiast zmienna COUNT-C odpowiada za zmianę funkcji w czasie (pełni ta samą funkcję, co COUNT w GSMie). COUNT-C składa się z dwóch części [52, 53]: zwykłego licznika oraz numeru ramki. Licznik jest zerowany przy każdym procesie uwierzytelnienia, i zwiększany za każdym razem, gdy uruchamiany jest algorytm f8. Numer ramki natomiast jest zgodny z numerem ramki transmitowanej aktualnie w łączu radiowym. Gdy COUNT-C osiągnie odpowiednio dużą wartość, sieć może zadecydować o ponownym przeprowadzeniu procesu uwierzytelnienia (ponieważ duża wartość COUNT-C oznacza, że klucz szyfrujący jest już stosowany od dłuższego czasu i może wymagać zmiany). Pozostałe zmienne są nowe w porównaniu do GSMa. 5-bitowa zmienna BEARER jest związana z kanałem radiowym, którym transmitowane są dane. Ma to zapobiec szyfrowaniu danych w wielu kanałach przy wykorzystaniu tego samego strumienia. Gdyby zmienna ta nie była wykorzystywana, to dodanie modulo 2 (xor) danych transmitowanych dwoma kanałami (dla których wykorzystywany byłby ten sam strumień szyfrujący) zaowocowałoby wyeliminowaniem klucza. Napastnik otrzymałby sumę modulo 2 dwóch tekstów jawnych. Druga dodatkowa zmienna DIRECTION określa z kolei kierunek 54

55 transmisji. Może ona przyjmować tylko dwie wartości (0 i 1). Parametr LENGTH, chociaż jest jednym z wejść funkcji f8, to nie wpływa na generowane przez nią wartości. Określa jedynie jaka długość strumienia jest potrzebna (czyli jakiej długości jest tekst jawny, który chcemy zaszyfrować) Schemat działania algorytmu f8 Na rys. nr 2.8 przedstawiony został wewnętrzny schemat działania algorytmu f8. Rysunek nr 2.8: Wewnętrzna struktura f8 Źródło: [87 ze zmianami] Głównym elementem składowym algorytmu f8 jest szyfr blokowy KASUMI (omówiony dokładniej w punkcie 2.5). Inicjalizacja algorytmu, która polega na zaszyfrowaniu algorytmem KASUMI konkatenacji parametrów COUNT, BEARER i DIRECTION uzupełnionej zerami (krok 1). Przy szyfrowaniu jako klucz wykorzystywany jest xor CK i stałej wartości KM (zgodnie ze specyfikacją KM = i ma długość taką samą jak CK, czyli 128 bitów [55, 56]). Wynik tej operacji zapisywany jest do rejestru A (krok 2). Teraz następuje uruchomienia właściwego procesu generacji strumienia szyfrującego. W każdej rundzie generowane są 64 bity strumienia. Na początku rundy wykonywany jest xor wartości rejestru A i licznika BLKCNT (krok 3). Otrzymana w ten sposób wartość jest 55

56 następnie szyfrowana algorytmem KASUMI z kluczem CK (krok 4). Otrzymany blok 64 bitów jest strumieniem szyfrującym wygenerowanym przez pierwsza rundę. Każda następna przebiega w identyczny sposób z tym, że wartość otrzymana w poprzedniej rundzie jest dodatkowo xorowana (krok 5) z wartością otrzymaną w kroku 3 (jest to typowe dla trybu OFB przeniesienie wyjścia na wejście kolejnej rundy). Zastosowanie rejestru A i wstępnego szyfrowania algorytmem KASUMI przy użyciu zmodyfikowanego klucza CK (krok 1) spełnia dwie funkcje [87]. Po pierwsze zabezpiecza przed atakami z tekstem jawnym, a po drugie przed atakami kolizji. Gdyby rejestr A nie był wykorzystywany, to napastnik znałby zarówno wejście jak i wyjście do każdego bloku KASUMI. Mógłby zatem przeprowadzić ataki oparte na znajomości par tekst jawny tekst tajny, które są dużo mniej złożone niż ataki oparte jedynie na znajomości tekstu tajnego Integralność Usługa integralności nie istniała w systemie GSM. Umożliwiało to przeprowadzenie wielu ataków typu man-in-the-middle opartych na podmienianiu treści wiadomości. Aby tego uniknąć w UMTSie taką usługę uruchomiono. Bazuje ona na generowanie skrótów MAC wszystkich przesyłanych informacji sygnalizacyjnych (w szczególności w trakcie procesu uwierzytelnienia) i dołączaniu ich do treści wiadomości. Pozwala to drugiej stronie na wygenerowanie własnego skrótu z otrzymanej wiadomości i porównanie go z przysłaną wersją. W przypadku pozytywnej weryfikacji wiadomość jest uznawana za integralną i nienaruszoną żadnymi zmianami w trakcie transmisji. Należy zwrócić uwagę na fakt, że ochroną integralności objęte są tylko informacje sygnalizacyjne [89]. Dane użytkownika nie są chronione. Zostało to podyktowane prawdopodobnie faktem, że modyfikacja danych użytkownika przez napastnika sprawi, iż po ich odszyfrowaniu uzyska się losowe bity (zmiana nawet jednego bitu na wejściu f8 skutkuje bowiem zmianą około 50% bitów na wyjściu). Odbiorca informacji będzie więc odczytywał lub słyszał jedynie szum. Napastnik może zatem jedynie uniemożliwić nawiązani połączenia (czego może dokonać również na wiele innych sposobów, których ta praca nie dotyczy). Nie jest jednak w stanie wpłynąć na nic innego. Modyfikacja wiadomości sygnalizacyjnych mogłaby natomiast spowodować nieprzewidziane zachowanie sieci i być w konsekwencji dużo groźniejsza. 56

57 Integralność jest realizowana przy wykorzystaniu funkcji f9, której konstrukcja jest bardzo podobna do budowy funkcji szyfrującej. Co ciekawe w systemie UMTS dopuszczona jest możliwość nawiązywania połączeń bez usługi szyfrowania, natomiast usługa integralności jest obowiązkowa [81]. W przypadku, gdy nie można jej włączyć, połączenie jest odrzucane. Świadczy to o bardzo ważnej roli, jaką ta usługa pełni w całym systemie zabezpieczeń. Pozwala to również uniknąć ataków polegających na modyfikacji class-marku (opisanych w punkcie ). Sama modyfikacja co prawda jest możliwa, ale nie da się przy jej pomocy wyłączyć kontroli integralności danych. Co więcej w systemie UMTS wprowadzono dodatkowe potwierdzenie wynegocjowanych na początku algorytmów. Jest ono wykonywane zaraz po całym procesie uwierzytelnienia i pozwala potwierdzić początkowy wybór (który jest dokonywany na podstawi class-marku nie objętego kontrolą integralności danych). Dzięki takiemu rozwiązaniu, nawet jeśli napastnik zmodyfikuje classmark, to jeszcze przed nawiązaniem jakiegokolwiek połączenia związanego z transmisją danych użytkownika, zostanie to wykryte i proces uwierzytelnienia będzie powtórzony. Na rys. nr 2.9 przedstawiłem schemat działania funkcji f9. Rysunek nr 2.9: Schemat blokowy f9 Źródło: [87] Funkcja posiada pięć wejść. Podobnie jak w przypadku algorytmu f8 wykorzystywany jest 128-bitowy klucz IK, oraz licznik COUNT-I (32 bity). COUNT-I ma taką samą strukturę jak COUNT-C, jest jednak fizycznie oddzielnym licznikiem, który działa niezależnie od COUNT-C. COUNT-I ma zapewnić generowanie innych skrótów dla tych samych wiadomości, które są wysyłane jedna po drugiej lub nawet w trakcie kilku różnych sesji. Parametr DIRECTION (1 bit) określa kierunek, w którym transmitowana jest 57

58 wiadomość (a raczej, czy skrót jest dla wiadomości wysyłanej, czy ma służyć do porównania z otrzymanym skrótem). Dodatkowe zabezpieczenie stanowi losowy parametr FRESH (32 bity), który jest zmieniany za każdym razem, gdy inicjowany jest proces uwierzytelnienia. Ma on za zadanie zabezpieczyć użytkownika i sieć przed powtarzaniem starych wiadomości. Wartość COUNT-I zabezpiecza przed powtarzaniem wiadomości użytkownika (licznik jest inicjowany w stacji mobilnej), natomiast FRESH zabezpiecza sieć (inicjowany jest przed sieć) [68]. Ostatnim parametrem jest MESSAGE, czyli wiadomość, której skrót chcemy obliczyć Schemat działania algorytmu f9 Na rys. nr 2.10 przedstawiłem wewnętrzny schemat działania funkcji f9. Rysunek nr 2.10: Wewnętrzna struktura f9 Źródło: [87] Jak widać jest on bardzo zbliżony do działania funkcji f8. Tutaj też trzonem jest szyfr blokowy KASUMI, ale tym razem w trybie pracy CBC-MAC. Nie jest to jednak typowa implementacja tego trybu. Dodano dodatkową operację (zaznaczona na rys. nr 2.10) w celu uniknięcia ataków polegających na poszukiwaniu kolizji. Ponieważ KASUMI operuje na 58

59 stosunkowo niewielkich blokach danych (64 bity), to atak wykorzystujący paradoks dnia urodzin ma złożoność jedynie Zaznaczona operacja pozwala na zwiększenie poziomu bezpieczeństwa do złożoności rzędu [87]. Dodatkowo dodano ostatnią rundę, w której KASUMI korzysta ze zmodyfikowanego klucza IK (IK jest xorowany ze stałą wartością KM, która zgodnie ze standardem wynosi (128 bitów)). Wyjście KASUMI generuje 64 bity, natomiast wartość MAC jest długości 32 bitów. Jest to osiągnięte poprzez odrzucenie 32 ostatnich bitów. Mogło by się wydawać, że lepszym wyjściem było by xorowanie pierwszych 32 bitów z ostatnimi. Nie wprowadzałoby jednak to dodatkowego zabezpieczenia, ponieważ sam algorytm KASUMI likwiduje wszelkie zależności między bitami i branie ich większej ilości nie ma żadnego rzeczywistego uzasadnienia. 2.5 KASUMI Algorytm blokowy KASUMI jest kluczowym elementem w architekturze algorytmów systemu UMTS. Jest on szyfrem blokowym, który jest wykorzystywany przez algorytmy f8 i f9. Nowa wersja algorytmu szyfrowania dla sieci GSM A5/3 również jest oparta na KASUMI. Algorytm KASUMI ([57, 58])został stworzony specjalnie na potrzeby systemu UMTS. Tak naprawdę jest to nieznacznie przerobiona wersja algorytmu MISTY1 (dokładnie przebadanego i opisanego w [83]). KASUMI jest wykorzystywany jedynie w funkcji szyfrowania. Działa on na blokach 64-bitowych i wykorzystuje 128-bitowy klucz. Jego wewnętrzną strukturę przedstawiłem na rys. nr

60 Rysunek nr 2.11: Wewnętrzna budowa KASUMI Źródło: [87] 60

61 KASUMI jest skonstruowany na bazie ośmiorundowej struktury Feistela [80]. Wejściowy blok 64 bitów danych jest dzielony na dwie 32-bitowe części L i R. W każdej rundzie lewa część jest poddawana działaniu funkcji rundowej f. Po jej zakończeniu dwie połówki zamieniane są miejscami. Matematyczny zapis i-tej rundy wygląda następująco (znak + w tym punkcie odnośni się zawsze do operacji na bitach, czyli dodawania modulo 2 (lub inaczej xorowania)): INPUT = L 0 P 0 R i =L i-1 L i =R i-1 +f i-1 (L i-1, RK i ), gdzie RK i, to klucz i-tej rundy Każda funkcja rundowa f składa się z dwóch następujących po sobie funkcji FL i FO. W rundach nieparzystych pierwsza jest realizowana funkcja FL, natomiast w rundach parzystych funkcja FO. Klucze KL, KO i KI, które są wykorzystywane przez funkcję FL i FO są generowane z kluczy rundowych RK (schemat generacji kluczy przedstawiłem w dalszej części tego punktu). Funkcja FL (schemat d na rys. nr 2.10) dzieli 32 bitowy blok na dwie części po 16 bitów, na których następnie wykonywane są operacje przesunięcia bitowego oraz bitowe operacje AND, OR i XOR. Matematyczny zapis funkcji FL wygląda następująco: KL i = KL i1 KL i2 (KL ma 32 bity i jest dzielony na dwie równe części po 16 bitów każda) L =L+ROL(R ukl i2 ) R =R+ROL(LnKL i1 ), gdzie ROL, to bitowe przesunięcie o jeden bit w lewo Funkcja FO (schemat b na rys. nr 2.10) dzieli 32 bity wejściowe na dwie równe części po 16 bitów każda. Następnie wykonywane są trzy analogiczne rundy, pomiędzy którymi 16- bitowe połówki zamieniają się miejscami. KO i =KO i1 KO i2 KO i3 (KO ma 48 bitów i jest dzielony na trzy równe części po 16 bitów każda) KI i =KI i1 KI i2 KI i3 (KI ma 48 bitów i jest dzielony na trzy równe części po 16 bitów każda) R j =FI ij (L j-1 +KO ij, KI ij )+R j-1 L j =R j-1 Funkcja FI (schemat c ma rys. nr 2.10) jest integralną częścią funkcji FO. Jako wejście przyjmuje ona 16 bitów, pochodzących z lewej części jednej z rund funkcji FO. Bity te są dzielone na dwie części lewa 9-bitowa i prawa 7-bitowa. Następnie wykonywane są 61

62 cztery rundy w trakcie których wykorzystywane są S-boxy i xorowanie. Aby obie części, które są różnej długości, można ze sobą dodać modulo 2 zdefiniowano dwie funkcje: ZE zero-extend; funkcja zwiększająca rozmiar wektora o dwa bity zerowe (w tym wypadku 7-bitowa wartość z prawej strony (rundy 1 i 3) jest zwiększana do 9-bitowej, gdzie dwa najbardziej znaczące bity są zerami); TR truncate; funkcja zmniejszająca rozmiar wektora o dwa bity (w tym przypadku 9- bitowa wartość z prawej strony (rundy 2 i 4) jest zmniejszana do 7-bitowej w ten sposób, że dwa najbardziej znaczące bity są obcinane). Przy wykorzystaniu tych funkcji opis matematyczny kolejnych rund funkcji FI wygląda następująco: KI ij =KI ij1 KI ij2 (gdzie KI ij1 ma 7 bitów, a KI ij2 ma 9 bitów) L 1 =R 0 R 1 =S9[L 0 ]+ZE(R 0 ) L 2 =R 1 +K i2 R 2 =S7[L 1 ]+TR(R 1 )+K ij1 L 3 =R 2 R 3 =S9[L 2 ]+ZE(R 2 ) L 4 =S7[L 3 ]+TR(R 3 ) R 4 =R 3 S-boxy są dostosowane oczywiście do wartości wejściowych, a zatem S7 jest S-boxem dla 7-bitowych danych wejściowych, natomiast S9 dla 9-bitowych danych. Działają one tutaj jako zwykłe tablice podstawieniowe. Klucze rundowe dla algorytmu KASUMI są wyliczane w następujący sposób: 128-bitowy klucz K algorytmu jest dzielony na 8 kluczy rundowych RK K = RK 1 RK 2 RK 3 RK 4 RK 5 RK 6 RK 7 RK 8 Obliczane są klucze dodatkowe RK i poprzez dodanie do każdego z kluczy RK i stałej wartości C i. Klucze dla konkretnych funkcji wewnątrz każdej rundy obliczane są wg tablicy nr 5, gdzie K<<<n oznacza rotację bitową o wartość n. 62

63 Tablica nr 5: Generowanie kluczy dla funkcji wewnętrznych KASUMI Bezpieczeństwo algorytmu KASUMI było wielokrotnie badane i chociaż udało się znaleźć skuteczne ataki na algorytm zredukowany do mniejszej ilości rund ([73] 5 i 6 rund), to pełna wersja algorytmu wydaje się bezpieczna. Dodatkowo należy zaznaczyć, że zastosowanie algorytmu KASUMI wewnątrz funkcji f8 i f9 powoduje, że złamanie samego KASUMI nie jest jednoznaczne ze złamaniem któregoś z algorytmów stosowanych w UMTSie. f8 i f9 zaprojektowane są w ten sposób, że każde dane przechodzą przez KASUMI dwukrotnie i to przy wykorzystaniu dwóch różnych kluczy. Takie rozwiązanie gwarantuje większe bezpieczeństwo niż przy jednokrotnym, czy nawet dwukrotnym szyfrowaniu z użyciem jednego klucza (zwiększa się złożoność obliczeniowa ataku). 2.6 Bezpieczeństwo domeny pakietowej Domena pakietowa w systemie UMTS, to nie jest już oddzielny podsystem (jak to wyglądało w przypadku GPRSa w GSMie). W UMTSie jest to integralna część systemu. Organizacja 3GPP w kolejnych standardach coraz bardziej stara się ujednolicić wewnątrz architekturę systemu w duchu technologii IP. W bezpieczeństwie coraz większą rolę odgrywają zatem protokoły bezpieczeństwa spotykane w sieciach IP, takie jak IPsec i MAPsec. Podstawowe usługi bezpieczeństwa, jakie sieć oferuje użytkownikowi pozostają jednak wciąż te same i są realizowane przy wykorzystaniu tego samego zestawu funkcji (MILENAGE, f8 i f9). Zmianie ulega jedynie komunikacja w sieci szkieletowej i pomiędzy siecią macierzystą a innymi sieciami (szczególnie tymi o charakterze pakietowym). Należy jednak zwrócić uwagę, że wraz z postępującą integracja z sieciami pakietowymi wzrasta 63

64 również podatność sieci na wszelkie ataki, związane właśnie z architekturami IP (np. [86]). Organizacja 3GPP w kolejnych Releasach zwraca na to szczególna uwagę. Należy zaznaczyć jednak, że wszystkie ataki skierowane przeciwko uwierzytelnieniu, anonimowości czy poufności polegają na komunikowaniu się z siecią i/lub terminalem użytkownika przy pomocy kanału radiowego. W nim bowiem działają wszystkie protokoły i mechanizmy bezpieczeństwa związane z abonentem. Procedury bezpieczeństwa stosowane wewnątrz sieci szkieletowej bardzo często są związane z polityką konkretnego operatora. System UMTS co prawda w Releasie 5 i kolejnych zaleca stosowanie niektórych rozwiązań (MAPsec, IPsec), ale nie są one ściśle związane z samą siecią telefonii mobilnej, ale raczej z siecią pakietową w której kierunku UMTS ewoluuje (więcej szczegółów można znaleźć w [74]). 2.7 Ocena bezpieczeństwa systemu UMTS System UMTS oferuje abonentowi dużo większe bezpieczeństwo niż GSM. Poprawiono kilka poważnych błędów, jakie występowały w sieciach 2G ([49]), a w szczególności: wprowadzona została kontrola integralności danych; wprowadzono uwierzytelnienie sieci wobec abonenta; zastosowane algorytmy kryptograficzne zostały gruntownie przebadane i dotychczas nie znaleziono w nich żadnych słabych punktów, które by pozwoliły na ich złamanie w rozsądnym przedziale czasowym. Najważniejsze z punktu widzenia bezpieczeństwa było wprowadzenie kontroli integralności i dwustronnego uwierzytelnienia. Pozwoliło to wyeliminować duża grupę ataków, które bazowały na tych właśnie słabościach systemu GSM. Zastosowanie lepszych kryptograficznie algorytmów do procesu szyfrowania zapobiega natomiast atakom kryptoanalitycznym, których przeprowadzenie w przypadku A5/2 było dość proste i przede wszystkim bardzo szybkie nawet na zwykłym PC. Pewnym zawodem jest jednak fakt, że nie zrobiono nic w celu poprawy anonimowości abonenta. Dalej bowiem istnieją dość proste sposoby, aby uzyskać numer IMSI. Tymczasem zaprezentowane w punkcie rozwiązania nie wymagają żadnych większych zmian w systemie, a rozwiązują ten problem. 64

65 3. WSPÓŁISTNIENIE SYSTEMÓW UMTS I GSM (system hybrydowy) Ogromna popularność systemów 2G sprawiła, że sieci te objęły zasięgiem niemalże cały teren Unii Europejskiej, Ameryki Północnej, Japonii i wiele innych terenów [6]. Wprowadzenie nowego systemu 3G, który wymaga oddzielnej infrastruktury radiowej (droższej kilkukrotnie od tej stosowanej w GSMie) sprawiło, że co najmniej przez najbliższe kilkanaście lat oba te systemy będą koegzystować. Na terenach słabo zaludnionych króluje GSM, natomiast w miastach coraz częściej palmę pierwszeństwa przejmuje UMTS. Takie połączenie obu systemów sprawia problemy współpracy, a szczególności wymaga specjalistycznego routingu, aby przy przechodzeniu pomiędzy obiema strefami połączenie abonenta nie było przerywane. 65

66 3.1 Funkcję konwersji kluczy W celu zminimalizowania ruchu wewnątrz sieci postanowiono, że uwierzytelnienie ważne w jednej sieci, będzie również obowiązywało w drugiej [84]. Przekazywane są również wszelkie ustawienia związane z bezpieczeństwem, a w szczególności jeśli połączenie nie było szyfrowane w sieci GSM, to w UMTSie również nie będzie szyfrowane. W takim wypadku atak polegający na modyfikacji class-marku (opisany w punkcie ) zostaje niejako przekazany do sieci UMTS. Specjalnie na potrzebę integracji obu systemów opracowano funkcje umożliwiające przeliczanie kluczy pomiędzy oboma systemami. Jest to konieczne, ponieważ w GSMie dane generowane przy uwierzytelnieniu, to liczba RAND (128 bitów), SRES (32 bity) i Kc (64 bity). W UMTSie natomiast wymagane są RAND(128 bitów), SRES ( bitów), CK (128 bitów) i IK (128 bitów). Opracowano zatem następujące formuły: c1: RAND GSM = RAND UMTS c2: SRES GSM = (XRES[0] XRES[31]) + (XRES[32] XRES[63]) + (XRES[64] XRES[95]) + (XRES[96] XRES[127]), gdzie XRES, to wektor utworzony z odpowiedzi SRES UMTS poprzez dopełnienie jej bitami zerowymi do długości 128 bitów, a operacja + odnosi się oczywiście do dodawania modulo 2; konwersja w drugą stronę zachodzi na zasadzie zwykłego przyrównania: XRES UMTS =SRES c3: Kc GSM = (CK[0] CK[63]) + (CK[64] CK[127]) + (IK[0] IK[63]) + (IK[64] IK[127]) c4: CK UMTS = Kc[0] Kc[63] Kc[0] Kc[63], gdzie oznacza konkatenację wektorów; c5: IK UMTS = ((Kc[0] Kc[31]) + (Kc[32] Kc[63])) (Kc[0] Kc[63]) ((Kc[0] Kc[31]) + (Kc[32] Kc[63])) Zastosowanie powyższych formuł pozwala na włączenie wszystkich usług ochrony informacji dostępnych dla danego systemu, ale znacznie obniża ich jakość. Przy przejściu z systemu UMTS do systemu GSM zmiany związane z bezpieczeństwem dotyczą jedynie zmian związanych z innymi algorytmami. Sama translacja parametrów nie wpływa ujemnie na własności kryptograficzne mechanizmów stosowanych w GSMie. Przejście jednak z 66

67 systemu GSM do UMTS sprawia, że rzeczywista siła algorytmów f8 i f9 znacznie spada. Do wygenerowania 128-bitowych kluczy CK i IK jest bowiem wykorzystywany jedynie 64- bitowy klucz Kc. Zamiast więc dwóch niezależnych od siebie kluczy (które razem mają 256 niezależnych bitów) otrzymujemy dwa klucze, które zależą jedynie od 64 bitów. Realna długość kluczy spada zatem do 64 bitów, a na dodatek odkrycie jednego z nich prowadzi do ujawnienia również drugiego [85]. Nie wydaje się jednak, żeby możliwe było lepsze rozwiązanie, które nie wymagało by powtórnego uwierzytelnienia. Należy jednak rozważyć, czy nie warto przeprowadzić tego dodatkowego uwierzytelnienia przy przechodzeniu z sieci GSM do UMTS. Uwierzytelnienie takie mogłoby występować albo natychmiast po handoverze, albo, w przypadku gdy abonent jest aktywny (prowadzi rozmowę, jest połączony z Internetem itp.), zaraz po zakończeniu połączenia. Dzięki temu abonent może być pewny, że już przy następnym połączeniu jego dane będą w pełni chronione. Można również proces ten przeprowadzić niejako w tle (jeszcze przed uruchomieniem procedury handoveru). Oprócz konwersji wprowadzone zostały również nowe wersje algorytmów A3, A5 i A8. Algorytm A5/3 został zbudowany na bazie algorytmu f8, natomiast algorytmy A3 i A8 są realizowane przy pomocy funkcji f2, f3 i f4 (więcej na ten temat w [65, 66]). Dzięki temu możliwe jest uaktualnienie oprogramowania BTSów w taki sposób, aby telefony dwusystemowe korzystały zawsze z bezpiecznych algorytmów. Dalej jednak pozostały sieci GSM, w których nowe algorytmy nie zostały zaimplementowane. 3.2 Ataki na systemy hybrydowe GSM/UMTS Zastosowanie funkcji konwersji niesie ze sobą jeszcze jedno bardzo poważne zagrożenie. Otóż napastnik może wymusić na użytkowniku handover w celu uzyskania jego kluczy szyfrowania i ochrony integralności w UMTSie. Wystarczy, ze podstawi fałszywą stację nadawczą (udającą BTSa z GSMu, który nie posiada nowych wersji algorytmów A5, A3, A8), której sygnał będzie na tyle silniejszy od sygnału UMTS, że stacja mobilna zdecyduje się przełączyć. W większości sieci na terenach pokrytych przez UMTS istnieje też starsze (wciąż działające) pokrycie GSM, a zatem sytuacja taka nie będzie podejrzana dla stacji mobilnej. 67

68 Rysunek nr 3.1: Protokół ataku man-in-the-middle na system hybrydowy Źródło: opracowanie własne Protokół ataku (przedstawiony na rys. nr 3.1) jest następujący: 1. Napastnik podstawia fałszywego BTSa, którego sygnał jest na tyle silny, że stacja mobilna decyduje się na handover. 2. Stacja mobilna wysyła wiadomości zarówno do Node B w sieci UMTS (z którym była dotychczas połączona) jak i do nowego BTSa. Ma to na celu przeprowadzenie procedury handoveru i przekazania parametrów uwierzytelnienia z Node B do BTSa. 3. Napastnik podszywa się pod użytkownika i podrabia wiadomości wysyłane do prawdziwego BTSa w taki sposób, żeby sieć myślała, że abonent rzeczywiście musi zrealizować handover (konieczne jest w tym wypadku precyzyjne sterowanie mocą przez napastnika). Ponieważ w GSMie nie zastosowano kontroli integralności danych, a procedura uwierzytelnienia nie jest powtórnie realizowana, to sieć nie zauważa żadnych nieprawidłowości. W class-marku natomiast napastnik podaje oczywiście, że 68

69 dysponuje najnowszą wersją algorytmu A5/3 (brak tej implementacji w telefonie dwusystemowym (GSM/UMTS) mógłby wzbudzić podejrzenia sieci). 4. Z sieci kontrolera Node B do kontrolera BSC (w prawdziwych sieciach) przesyłane są parametry uwierzytelniające użytkownika. Po drodze są one konwertowane zgodnie z zaprezentowanymi wyżej funkcjami (c1, c2 i c3). 5. Node B wysyła do abonenta wiadomość informującą o powodzeniu procedury handoveru, natomiast prawdziwy BTS wysyła do napastnika (który od strony sieci jest widziany jako pełnoprawny abonent) wiadomość o przełączeniu połączenia. Nakazuje również włączenie szyfrowania w łączu radiowym (algorytmem A5/3). 6. Napastnik wysyła do abonenta polecenie włączenia szyfrowania słabym algorytmem A5/2. Od strony aparatu mobilnego nie jest to podejrzane, ponieważ na większości terenów, gdzie występuje jedynie sieć GSM, wykorzystywane są właśnie słabe implementacje A5/2 i A5/1. 7. Napastnik szybko odkrywa klucz Kc (korzystając z jednego z ataków opisanych w punkcie ). Ponieważ w sieci GSM wszystkie algorytmy używają tego samego klucza, więc napastnik może pełnić rolę pośrednika pomiędzy prawdziwą stacją bazową a abonentem (z jednej strony szyfrując słabym A5/2, a z drugiej silnym A5/3 porównaj rys. nr 1.12). 8. Posiadając klucz Kc napastnik może teraz powoli osłabiać sygnał, aż stacja mobilna zdecyduje się ponownie na handover do sieci UMTS. 9. Pośrednicząc w wymianie danych (analogicznie jak w krokach 2-5) napastnik realizuję wraz z abonentem procedurę handoveru w sposób niezauważalny dla sieci. Jest to możliwe, ponieważ napastnik komunikuje się jedynie z częścią GSMową sieci (gdzie nie ma kontroli integralności, a parametry uwierzytelnienia zostały przekazane z sieci UMTS), natomiast z siecią UMTS komunikuje się sam użytkownik. 10. Posiadając klucz Kc napastnik może teraz sobie bez problemu obliczyć wykorzystywane przez użytkownika klucze IK i CK (korzystając z funkcji konwersji c4 i c5). Od tego momentu może bezkarnie podsłuchiwać i modyfikować wszystkie dane i informacje sygnalizacyjne transmitowane do i od tego użytkownika aż do następnego procesu uwierzytelnienia. Jeśli abonent nie będzie wyłączał telefonu ani 69

70 nie przemieści się poza zasięg obecnej sieci, to okres ten może być bardzo długi (zależnie od operatora, który może wymusić realizację procedury uwierzytelnienia dowolnie często). Zaprezentowany atak jest bardzo niebezpieczny, ponieważ doprowadza do kompromitacji obu kluczy (IK i CK jednocześnie). Nie jest on też możliwy do wykrycia ani od strony sieci ani od strony abonenta. Jedynie bardzo dokładna analiza czasów nadejścia wiadomości mogłaby wykazać niepokojące opóźnienia (zaproponowana w [39]). Wartości dopuszczalne jednak w standardzie (12s na odpowiedź w GSMie) sprawiają, że taka analiza jest raczej nierealna. Co więcej atak ten pozwala na korzystanie ze wszystkich usług, jakie posiadała ofiara. Dopóki bowiem napastnik pozostanie na terenie należącym do tego samego VLR, dopóty nie będzie wymagane ponowne uwierzytelnienie. Jeśli zatem jest on w stanie zagłuszyć telefon ofiary (lub jeśli ofiara go po prostu wyłączy), to może on korzystać z sieci podszywając się pod ofiarę ataku. Dopiero po przeniesieniu się do innego VLR (lub uruchomieniu procedury uwierzytelnienia w jakiś inny sposób) napastnik traci możliwość monitorowania ofiary i występowania jako ona w sieci. Jeśli dodatkowo wcześniej napastnik poznał numer IMSI (patrz punkt 2.4.1), to może ten atak stosować nie na losowego użytkownika, ale na dokładnie wybraną osobę. Atak ten w porównaniu do ataków w sieci GSM nie pozwala jedynie na sklonowanie karty. Dalej bowiem tajny klucz K abonenta jest bezpieczny. Aby go skompromitować należałoby złamać któryś z algorytmów f1-f5. Ponieważ ich główną częścią operacyjna jest AES, to na razie wydaje się to niemożliwe. Nie zmienia to jednak faktu, że pozwolenie na koegzystencję obu sieci w obecnej formie stwarza ogromne niebezpieczeństwo. 3.3 Propozycje zabezpieczenia systemu hybrydowego Pragnę zaproponować trzy rozwiązania, które pozwolą zabezpieczyć się przed atakiem zaprezentowanym przeze mnie w punkcie 3.2: 1. Uwierzytelnienie będzie przeprowadzane przy każdym handoverze. Niestety skutkować to będzie zauważalnym opóźnieniem w transmisji. Można by jednak wykorzystać w takiej sytuacji kanały stowarzyszone (kanały sygnalizacyjne, które nie przenoszą danych użytkownika, ale dodatkowe informacje) zamiast głównego kanału transmisji danych. Procedura nie powinna trwać dłużej niż zwykle, ponieważ rozmiar 70

71 danych przesyłanych w trakcie uwierzytelnienia nie jest zbyt duży. Same obliczenia konieczne przy procedurze również nie powinny stanowić problemu przy obecnych parametrach aparatów mobilnych. Byłaby ona także niezauważalna dla abonenta, ponieważ działałaby równolegle z transmisją użytkownika. W przypadku niepowodzenia handover nie powinien być dopuszczony. 2. Realizowane jest powtórne uwierzytelnienie z wykorzystaniem tego samego numeru RAND (przesyłanego pomiędzy RNC i BSC). To rozwiązanie nie jest jednak dobre, ponieważ napastnik mógłby przechwycić transmitowane wiadomości i następnie zainicjować kolejny handover podając się za użytkownika. Sieć wysłałaby mu znany już RAND, na który napastnik miałby przygotowane gotowe odpowiedzi. I tak jednak jest to rozwiązanie poprawiające bezpieczeństwo, bo napastnik potrafi się uwierzytelnić w sieci, ale nie potrafi wyliczyć kluczy CK i IK (do tego potrzebna jest znajomość klucza K), a zatem już po chwili sieć zerwie połączenie, ponieważ nie otrzyma wiadomości potwierdzającej załączenie szyfrowania (wiadomość ta jest bowiem szyfrowana f8 przy użyciu CK). 3. Pomiędzy RNS i BSC przesyłana jest wartość RAND, ale uwierzytelnienie nie jest powtórnie realizowane. Stacja mobilna i sieć bazowa same dokonują wyliczenia potrzebnych kluczy szyfrujących i ochrony integralności. Skoro poprzednie uwierzytelnienie zakończyło się powodzeniem, to można przyjąć, że obliczone klucze będą identyczne i można zmienić algorytm szyfrowania bez wymieniania dodatkowych danych łączem radiowym. To rozwiązanie wydaje się również dobre i nie wymaga transmisji żadnych dodatkowych danych. Napastnik podsłuchujący łącze radiowe nie jest w tym wypadku w stanie nic z niego wywnioskować. Nie transmitowane bowiem są żadne dane uwierzytelniające i dalej dysponować on może jedynie podsłuchanym numerem RAND, który sam w sobie nic mu nie daje. Rozwiązania nr 1 i 3 wydają się zatem zapobiegać przedstawionemu powyżej atakowi. Oba one są poprawne i wymagają jedynie niewielkich zmian w oprogramowaniu stacji nadawczej (która musiałaby mieć możliwość przeprowadzenie uwierzytelnienia poprzez kanały sygnalizacyjne) lub w karcie SIM (która musiałaby mieć możliwość przechowywania ostatnio odebranego numeru RAND). Zamiast więc wykonywać konwersję kluczy wystarczyłoby wywołać konkretne funkcje dla tego samego numeru RAND. W przypadku pierwszego rozwiązania można by jeszcze dołożyć dodatkowe warunki zakładające, że 71

72 uwierzytelnienie jest przeprowadzane jedynie, gdy abonent przemieszcza się z sieci GSM posiadającej stare algorytmy. Nie wydaje się jednak, żeby taka minimalizacja wywołań procedury uwierzytelnienia była w ogóle konieczna. Konwersja jest więc rozwiązaniem dobrym, ale jedynie w przypadku, gdy wszystkie sieci stosują najnowsze wersje algorytmów oparte na KASUMI. Wtedy powyższy atak jest niemożliwy, ponieważ dotychczas nie znaleziono żadnego skutecznego ataku na A5/3, który prowadziłby do odkrycia klucza Kc. 3.4 Ocena bezpieczeństwa systemu hybrydowego Konkluzja zatem jest tak, że nawet dobrze zaprojektowany pod względem bezpieczeństwa system UMTS dalej płaci za błędy popełnione przez projektantów systemu GSM. Nie tłumaczy to jednak faktu, że można było zapewnić pełne bezpieczeństwo wewnątrz sieci UMTS (niezależnie od sieci GSM). Nie zrobiono jednak tego i w obecnej sytuacji współistnienia sieci GSM i UMTS oba te systemy nie zapewniają należytego bezpieczeństwa. Dla napastnika dysponującego zasobami finansowymi, pozwalającymi na zakup sprzętu imitującego BTSa, podsłuchiwanie i rozmowy na koszt wybranego użytkownika nie stanowią problemu. Jedynym (trzeba przyznać, że sporym) plusem jest fakt, że w UMTSie niemożliwe jest dotychczas odkrycie tajnego klucza K abonenta, a co za tym idzie niemożliwe jest sklonowanie karty USIM. Trzeba jeszcze zaznaczyć, że dążenie projektantów w kierunku integracji z siecią IP stwarza nowe niebezpieczeństwa związane bezpośrednio z tego typu sieciami. Problemy te będą nowością w porównaniu do GSM (w której problem ten nie istniał). Ochrona sieci UMTS przed wirusami i robakami tak popularnymi w Internecie będzie w najbliższym czasie jednym z większych wyzwań dla członków grupy 3GPP. 72

73 4. OPIS IMPLEMENTACJI 4.1 Program crackcomp128 Atak zaimplementowany w programie crackcomp128 pozwala na złamanie algorytmu COMP128 w wersjach 1. Opiera się on na znanej słabości w algorytmie kompresji motyla, która powoduje, że kolizja generowana w drugiej rundzie jest przenoszona na wyjście algorytmu. Pozwala to na manipulowanie jedynie 2 bajtami na wejściu (dwa pozostałe zaznaczone na rys. nr 4.1, to bajty klucza) w celu znalezienia kolizji. Rysunek nr 4.1: Narrow pipe w kompresji motyla Źródło: [12] Po znalezieniu kolizji dwa bajty klucza są wyszukiwane metodą brute force. Złożoność tego ataku (przy zastosowaniu paradoksu dnia urodzin i biorąc pod uwagę, że w drugiej rundzie wartości na wyjściu są 7-bitowe) wynosi zatem: 2 4*7/2 = Dodatkowo schemat trzeba powtórzyć 8 razy (klucz ma 128 bitów, a w jednym przebiegu odnajdujemy 16). Ostatecznie zatem złożoność wynosi: 2 14 *8 = Wymagane jest zatem nieco ponad zapytań do karty SIM, aby uzyskać klucz. Oczywiście nie jest to optymalny atak (porównaj tabelka nr 1), ale wydatnie obrazuje słabość algorytmu COMP128. Przy pisaniu programu skorzystałem z implementacji algorytmu COMP128 ze źródeł [9, 36]. Program składa się z następujących funkcji: 73

74 A3A8 (rand, simoutput) implementacja A3A8 zaczęrpnięta z [9]; implementacja korzysta z umieszczonego wewnątrz klucza Ki abonenta (który z zewnątrz jest niewidoczny). Jej zadaniem jest symulowanie karty SIM (przekazywany do niej jest tylko RAND, natomiast wynik funkcja zapisuje do tablicy simoutput). A3A8 (rand, simoutput, key) działa podobnie do funkcji A3A8(rand, simoutput), z tym że pozwala na podanie wartości klucza Ki jako parametru wejściowego. Jest wykorzystywana do poszukiwania klucza, kiedy już zostały znalezione dwa zapytania RAND generujące kolizję. doplik(skrot) zapisuje obliczoną odpowiedź do pliku (w formie binarnej). szukaj(skrot) szuka danej odpowiedzi w pliku (poszukiwanie kolizji metodą dnia urodzin). Funkcja ta zwraca: 0, gdy nie została znaleziona kolizja; x, gdy kolizje znaleziono (a x to numer wektora zapisanego w pliku który tą kolizje generuje). main() Głowna funkcja, w której zawarte są pętle szukające kolizji i następnie szukające bitów klucza Ki. Program nie jest on zoptymalizowany pod kątem prędkości działania, ale taka optymalizacja nie ma większego sensu. W realnym ataku bowiem wąskim gardłem pozostaje karta SIM/USIM, która średnio potrafi obsłużyć około 6 zapytań na sekundę. Optymalizacją zatem (zgodnie z tablicą nr 1) należałoby objąć liczbę wysyłanych zapytań. Program jest w dwóch wersjach: crackcomp128 wersja pozwalająca na przeprowadzenie rzeczywistego ataku (aczkolwiek w programie nie jest zoptymalizowana prędkość pracy z plikami i może działać stosunkowo długo), crackcompshow wersja pokazowa, która korzysta ze znalezionych wcześniej kolizji (w celu przyspieszenia prezentacji ataku). Na rys. nr 4.2 zamieściłem zrzut z ekranu w trakcie działania programu crackcompshow. 74

75 Rys. nr 4.2: Zrzut z ekranu z programu łamiącego COMP128-1 Źródło: zrzut ekranu z własnej aplikacji 4.2 Prezentacja Integralną częścią pracy jest również prezentacja stworzona w technologii Flash. Obrazuje ona działanie protokołów uwierzytelnienia w obu sieciach (na tle wewnętrznej struktury sieci) oraz działanie algorytmów szyfrujących A5/1 i f8. Na rysunkach zamieszczam zrzuty z ekranu w trakcie działania aplikacji. 75

76 Rysunek nr 4.2: Proces uwierzytelnienia w sieci GSM. Źródło: zrzut ekranu z własnej aplikacji Rysunek nr 4.3: Proces uwierzytelnienia w sieci UMTS. Źródło: zrzut ekranu z własnej aplikacji 76

77 Rysunek nr 4.4: Schemat wejść i wyjść algorytmu A5/1. Źródło: zrzut ekranu z własnej aplikacji Rysunek nr 4.5: Wewnętrzna struktura algorytmu A5/1. Źródło: zrzut ekranu z własnej aplikacji 77

78 Rysunek nr 4.6: Schemat wejść i wyjść algorytmu f8. Źródło: zrzut ekranu z własnej aplikacji Rysunek nr 4.7: Wewnętrzna struktura algorytmu f8. Źródło: zrzut ekranu z własnej aplikacji 78

Sieci GSM - działanie i systemy zabezpieczeń

Sieci GSM - działanie i systemy zabezpieczeń Sieci GSM - działanie i systemy zabezpieczeń Seminarium z kryptologii i ochrony informacji Łukasz Kucharzewski Politechnika Warszawska 2009 Historia Groupe Spécial Mobile Global System for Mobile Communications

Bardziej szczegółowo

2 Kryptografia: algorytmy symetryczne

2 Kryptografia: algorytmy symetryczne 1 Kryptografia: wstęp Wyróżniamy algorytmy: Kodowanie i kompresja Streszczenie Wieczorowe Studia Licencjackie Wykład 14, 12.06.2007 symetryczne: ten sam klucz jest stosowany do szyfrowania i deszyfrowania;

Bardziej szczegółowo

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Wprowadzenie Problemy bezpieczeństwa transmisji Rozwiązania stosowane dla

Bardziej szczegółowo

ARCHITEKTURA GSM. Wykonali: Alan Zieliński, Maciej Żulewski, Alex Hoddle- Wojnarowski.

ARCHITEKTURA GSM. Wykonali: Alan Zieliński, Maciej Żulewski, Alex Hoddle- Wojnarowski. 1 ARCHITEKTURA GSM Wykonali: Alan Zieliński, Maciej Żulewski, Alex Hoddle- Wojnarowski. SIEĆ KOMÓRKOWA Sieć komórkowa to sieć radiokomunikacyjna składająca się z wielu obszarów (komórek), z których każdy

Bardziej szczegółowo

Bezpieczeństwo kart elektronicznych

Bezpieczeństwo kart elektronicznych Bezpieczeństwo kart elektronicznych Krzysztof Maćkowiak Karty elektroniczne wprowadzane od drugiej połowy lat 70-tych znalazły szerokie zastosowanie w wielu dziedzinach naszego życia: bankowości, telekomunikacji,

Bardziej szczegółowo

Projektowanie Sieci Lokalnych i Rozległych wykład 4: GSM (2)

Projektowanie Sieci Lokalnych i Rozległych wykład 4: GSM (2) Projektowanie Sieci Lokalnych i Rozległych wykład 4: GSM (2) Dr inż. Jacek Mazurkiewicz Instytut Informatyki, Automatyki i Robotyki e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Uwierzytelnienie Szyfrowanie komunikatów

Bardziej szczegółowo

(12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) PL/EP (96) Data i numer zgłoszenia patentu europejskiego:

(12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) PL/EP (96) Data i numer zgłoszenia patentu europejskiego: RZECZPOSPOLITA POLSKA (12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) PL/EP 2003466 (96) Data i numer zgłoszenia patentu europejskiego: 12.06.2008 08460024.6 (13) (51) T3 Int.Cl. G01S 5/02 (2010.01)

Bardziej szczegółowo

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna 1. Wstęp Wprowadzenie do PKI Infrastruktura klucza publicznego (ang. PKI - Public Key Infrastructure) to termin dzisiaj powszechnie spotykany. Pod tym pojęciem kryje się standard X.509 opracowany przez

Bardziej szczegółowo

Uproszczony opis obsługi ruchu w węźle IP. Trasa routingu. Warunek:

Uproszczony opis obsługi ruchu w węźle IP. Trasa routingu. Warunek: Uproszczony opis obsługi ruchu w węźle IP Poniższa procedura jest dokonywana dla każdego pakietu IP pojawiającego się w węźle z osobna. W routingu IP nie wyróżniamy połączeń. Te pojawiają się warstwę wyżej

Bardziej szczegółowo

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Wprowadzenie Problemy bezpieczeństwa transmisji Rozwiązania stosowane dla

Bardziej szczegółowo

Systemy Mobilne i Bezprzewodowe laboratorium 12. Bezpieczeństwo i prywatność

Systemy Mobilne i Bezprzewodowe laboratorium 12. Bezpieczeństwo i prywatność Systemy Mobilne i Bezprzewodowe laboratorium 12 Bezpieczeństwo i prywatność Plan laboratorium Szyfrowanie, Uwierzytelnianie, Bezpieczeństwo systemów bezprzewodowych. na podstawie : D. P. Agrawal, Q.-A.

Bardziej szczegółowo

Protokoły zdalnego logowania Telnet i SSH

Protokoły zdalnego logowania Telnet i SSH Protokoły zdalnego logowania Telnet i SSH Krzysztof Maćkowiak Wprowadzenie Wykorzystując Internet mamy możliwość uzyskania dostępu do komputera w odległej sieci z wykorzystaniem swojego komputera, który

Bardziej szczegółowo

Szczegółowy opis przedmiotu zamówienia:

Szczegółowy opis przedmiotu zamówienia: Załącznik nr 1 do SIWZ Szczegółowy opis przedmiotu zamówienia: I. Opracowanie polityki i procedur bezpieczeństwa danych medycznych. Zamawiający oczekuje opracowania Systemu zarządzania bezpieczeństwem

Bardziej szczegółowo

7.2 Sieci GSM. Podstawy GSM. Budowa sieci GSM. Rozdział II Sieci GSM

7.2 Sieci GSM. Podstawy GSM. Budowa sieci GSM. Rozdział II Sieci GSM 7.2 Sieci GSM W 1982 roku powstał instytut o nazwie Groupe Spécial Mobile (GSM). Jego głównym zadaniem było unowocześnienie dotychczasowej i już technologicznie ograniczonej komunikacji analogowej. Po

Bardziej szczegółowo

2.1. System kryptograficzny symetryczny (z kluczem tajnym) 2.2. System kryptograficzny asymetryczny (z kluczem publicznym)

2.1. System kryptograficzny symetryczny (z kluczem tajnym) 2.2. System kryptograficzny asymetryczny (z kluczem publicznym) Dr inż. Robert Wójcik, p. 313, C-3, tel. 320-27-40 Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska E-mail: Strona internetowa: robert.wojcik@pwr.edu.pl google: Wójcik

Bardziej szczegółowo

Authenticated Encryption

Authenticated Encryption Authenticated Inż. Kamil Zarychta Opiekun: dr Ryszard Kossowski 1 Plan prezentacji Wprowadzenie Wymagania Opis wybranych algorytmów Porównanie mechanizmów Implementacja systemu Plany na przyszłość 2 Plan

Bardziej szczegółowo

Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi.

Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi. Spis treści: Czym jest szyfrowanie Po co nam szyfrowanie Szyfrowanie symetryczne Szyfrowanie asymetryczne Szyfrowanie DES Szyfrowanie 3DES Szyfrowanie IDEA Szyfrowanie RSA Podpis cyfrowy Szyfrowanie MD5

Bardziej szczegółowo

WLAN bezpieczne sieci radiowe 01

WLAN bezpieczne sieci radiowe 01 WLAN bezpieczne sieci radiowe 01 ostatnim czasie ogromną popularność zdobywają sieci bezprzewodowe. Zapewniają dużą wygodę w dostępie użytkowników do zasobów W informatycznych. Jednak implementacja sieci

Bardziej szczegółowo

Bezpieczeństwo aplikacji typu software token. Mariusz Burdach, Prevenity. Agenda

Bezpieczeństwo aplikacji typu software token. Mariusz Burdach, Prevenity. Agenda Bezpieczeństwo aplikacji typu software token Mariusz Burdach, Prevenity Agenda 1. Bezpieczeństwo bankowości internetowej w Polsce 2. Główne funkcje aplikacji typu software token 3. Na co zwrócić uwagę

Bardziej szczegółowo

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 8

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś  Wykład 8 Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wykład 8 Spis treści 13 Szyfrowanie strumieniowe i generatory ciągów pseudolosowych 3 13.1 Synchroniczne

Bardziej szczegółowo

WSIZ Copernicus we Wrocławiu

WSIZ Copernicus we Wrocławiu Bezpieczeństwo sieci komputerowych Wykład 4. Robert Wójcik Wyższa Szkoła Informatyki i Zarządzania Copernicus we Wrocławiu Plan wykładu Sylabus - punkty: 4. Usługi ochrony: poufność, integralność, dostępność,

Bardziej szczegółowo

Bezpieczeństwo usług oraz informacje o certyfikatach

Bezpieczeństwo usług oraz informacje o certyfikatach Bezpieczeństwo usług oraz informacje o certyfikatach Klienci banku powinni stosować się do poniższych zaleceń: nie przechowywać danych dotyczących swojego konta w jawnej postaci w miejscu, z którego mogą

Bardziej szczegółowo

Przewodnik użytkownika

Przewodnik użytkownika STOWARZYSZENIE PEMI Przewodnik użytkownika wstęp do podpisu elektronicznego kryptografia asymetryczna Stowarzyszenie PEMI Podpis elektroniczny Mobile Internet 2005 1. Dlaczego podpis elektroniczny? Podpis

Bardziej szczegółowo

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami Serwer SSH Serwer SSH Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami Serwer SSH - Wprowadzenie do serwera SSH Praca na odległość potrzeby w zakresie bezpieczeństwa Identyfikacja

Bardziej szczegółowo

Wymagania bezpieczeństwa wobec statycznych bezpośrednich 1-fazowych i 3-fazowych liczników energii elektrycznej. Wymaganie techniczne

Wymagania bezpieczeństwa wobec statycznych bezpośrednich 1-fazowych i 3-fazowych liczników energii elektrycznej. Wymaganie techniczne Wymagania bezpieczeństwa wobec statycznych bezpośrednich 1-fazowych i 3-fazowych liczników energii elektrycznej Lp. 1. Wymagania ogólne Wymaganie techniczne 1.1 Licznik musi posiadać aktywną funkcję Watchdog

Bardziej szczegółowo

Błyskawiczna kryptoanaliza z samym szyfrogramem komunikacji szyfrowanej w systemie GSM Elad Barkan Eli Biham Nathan Keller

Błyskawiczna kryptoanaliza z samym szyfrogramem komunikacji szyfrowanej w systemie GSM Elad Barkan Eli Biham Nathan Keller Błyskawiczna kryptoanaliza z samym szyfrogramem komunikacji szyfrowanej w systemie GSM Elad Barkan Eli Biham Nathan Keller Streszczenie. Zaprezentowano bardzo praktyczny atak z samym szyfrogramem na komunikację

Bardziej szczegółowo

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

Laboratorium nr 5 Podpis elektroniczny i certyfikaty Laboratorium nr 5 Podpis elektroniczny i certyfikaty Wprowadzenie W roku 2001 Prezydent RP podpisał ustawę o podpisie elektronicznym, w która stanowi że podpis elektroniczny jest równoprawny podpisowi

Bardziej szczegółowo

(86) Data i numer zgłoszenia międzynarodowego: 09.08.2001, PCT/DE01/02954 (87) Data i numer publikacji zgłoszenia międzynarodowego:

(86) Data i numer zgłoszenia międzynarodowego: 09.08.2001, PCT/DE01/02954 (87) Data i numer publikacji zgłoszenia międzynarodowego: RZECZPOSPOLITA POLSKA (12) OPIS PATENTOWY (19) PL (11) 199888 (21) Numer zgłoszenia: 360082 (13) B1 Urząd Patentowy Rzeczypospolitej Polskiej (22) Data zgłoszenia: 09.08.2001 (86) Data i numer zgłoszenia

Bardziej szczegółowo

II klasa informatyka rozszerzona SZYFROWANIE INFORMACJI

II klasa informatyka rozszerzona SZYFROWANIE INFORMACJI II klasa informatyka rozszerzona SZYFROWANIE INFORMACJI STEGANOGRAFIA Steganografia jest nauką o komunikacji w taki sposób by obecność komunikatu nie mogła zostać wykryta. W odróżnieniu od kryptografii

Bardziej szczegółowo

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Podstawy systemów kryptograficznych z kluczem jawnym RSA Podstawy systemów kryptograficznych z kluczem jawnym RSA RSA nazwa pochodząca od nazwisk twórców systemu (Rivest, Shamir, Adleman) Systemów z kluczem jawnym można używać do szyfrowania operacji przesyłanych

Bardziej szczegółowo

Konfiguracja WDS na module SCALANCE W Wstęp

Konfiguracja WDS na module SCALANCE W Wstęp Konfiguracja WDS na module SCALANCE W788-2 1. Wstęp WDS (Wireless Distribution System), to tryb pracy urządzeń bezprzewodowych w którym nadrzędny punkt dostępowy przekazuje pakiety do klientów WDS, które

Bardziej szczegółowo

Instrukcja zarządzania systemem informatycznym służącym do przetwarzania danych osobowych w Urzędzie Miasta Lublin

Instrukcja zarządzania systemem informatycznym służącym do przetwarzania danych osobowych w Urzędzie Miasta Lublin w sprawie wprowadzenia Polityki bezpieczeństwa danych osobowych i Instrukcji zarządzania systemem informatycznym służącym do przetwarzania danych osobowych w Urzędzie Miasta Lublin Instrukcja zarządzania

Bardziej szczegółowo

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA VPN Virtual Private Network Użycie certyfikatów niekwalifikowanych w sieciach VPN wersja 1.1 Spis treści 1. CO TO JEST VPN I DO CZEGO SŁUŻY... 3 2. RODZAJE SIECI VPN... 3 3. ZALETY STOSOWANIA SIECI IPSEC

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki

Bardziej szczegółowo

(12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) (96) Data i numer zgłoszenia patentu europejskiego: 26.04.2006 06724572.0

(12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) (96) Data i numer zgłoszenia patentu europejskiego: 26.04.2006 06724572.0 RZECZPOSPOLITA POLSKA (12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) PL/EP 1878193 (96) Data i numer zgłoszenia patentu europejskiego: 26.04.2006 06724572.0 (13) T3 (51) Int. Cl. H04L29/06 H04Q7/22

Bardziej szczegółowo

Regulamin korzystania z usługi Play24

Regulamin korzystania z usługi Play24 Regulamin korzystania z usługi Play24 Definicje 1 Wyrazy pisane wielką literą oznaczają: 1. Abonent osoba fizyczna, osoba prawna lub jednostka organizacyjna nieposiadająca osobowości prawnej, która zawarła

Bardziej szczegółowo

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas. Wykład 11

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas. Wykład 11 Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wykład 11 Spis treści 16 Zarządzanie kluczami 3 16.1 Generowanie kluczy................. 3 16.2 Przesyłanie

Bardziej szczegółowo

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji Robert Hryniewicz Promotor: dr inż. Krzysztof Różanowski Cele pracy Opracowanie protokołu komunikacyjnego służącego do

Bardziej szczegółowo

Jak działa telefonia komórkowa

Jak działa telefonia komórkowa Jak działa telefonia komórkowa Tomasz Kawalec 28 stycznia 2013 Zakład Optyki Atomowej, Instytut Fizyki UJ www.coldatoms.com Tomasz Kawalec ZOA, IF UJ 28 stycznia 2013 1 / 25 Jak przesłać głos i dane przy

Bardziej szczegółowo

Implementacja algorytmu szyfrującego

Implementacja algorytmu szyfrującego Warszawa 25.01.2008 Piotr Bratkowski 4T2 Przemysław Tytro 4T2 Dokumentacja projektu Układy Cyfrowe Implementacja algorytmu szyfrującego serpent w układzie FPGA 1. Cele projektu Celem projektu jest implementacja

Bardziej szczegółowo

INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR

INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR 1. Algorytm XOR Operacja XOR to inaczej alternatywa wykluczająca, oznaczona symbolem ^ w języku C i symbolem w matematyce.

Bardziej szczegółowo

GSM architecture. GSM - establishing communication. GSM security. GSM - establishing communication

GSM architecture. GSM - establishing communication. GSM security. GSM - establishing communication Bezpieczeństwo w GSM Dla systemu GSM odpowiednie długości parametrów stosowanych w procedurach bezpieczeństwa wynoszą: klucz identyfikacyjny abonenta Ki: 128 bitów; zapytanie autentykacyjne RAND: 128 bitów;

Bardziej szczegółowo

Poufność (słaba) Integralność (niekryptograficzna) Uwierzytelnienie (słabe) Brak kontroli dostępu Brak zarządzania kluczami

Poufność (słaba) Integralność (niekryptograficzna) Uwierzytelnienie (słabe) Brak kontroli dostępu Brak zarządzania kluczami Bezpieczeństwo w sieciach WLAN 802.11 1 2 Aspekty bezpieczeństwa Poufność (słaba) Integralność (niekryptograficzna) Uwierzytelnienie (słabe) Brak kontroli dostępu Brak zarządzania kluczami wszystkie usługi

Bardziej szczegółowo

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1 Ataki na RSA Andrzej Chmielowiec andrzej.chmielowiec@cmmsigma.eu Centrum Modelowania Matematycznego Sigma Ataki na RSA p. 1 Plan prezentacji Wprowadzenie Ataki algebraiczne Ataki z kanałem pobocznym Podsumowanie

Bardziej szczegółowo

Seminarium Katedry Radiokomunikacji, 8 lutego 2007r.

Seminarium Katedry Radiokomunikacji, 8 lutego 2007r. Bezpieczeństwo w sieciach WLAN 802.11 1 2 3 Aspekty bezpieczeństwa Poufność (słaba) Integralność (niekryptograficzna) Uwierzytelnienie (słabe) Brak kontroli dostępu Brak zarządzania kluczami wszystkie

Bardziej szczegółowo

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października 2011. Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października 2011. Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński Wykład 4 Protokoły SSL i TLS główne slajdy 26 października 2011 Instytut Informatyki Uniwersytet Jagielloński 4.1 Secure Sockets Layer i Transport Layer Security SSL zaproponowany przez Netscape w 1994

Bardziej szczegółowo

Rozproszony system zbierania danych.

Rozproszony system zbierania danych. Rozproszony system zbierania danych. Zawartość 1. Charakterystyka rozproszonego systemu.... 2 1.1. Idea działania systemu.... 2 1.2. Master systemu radiowego (koordynator PAN).... 3 1.3. Slave systemu

Bardziej szczegółowo

Klient-Serwer Komunikacja przy pomocy gniazd

Klient-Serwer Komunikacja przy pomocy gniazd II Klient-Serwer Komunikacja przy pomocy gniazd Gniazda pozwalają na efektywną wymianę danych pomiędzy procesami w systemie rozproszonym. Proces klienta Proces serwera gniazdko gniazdko protokół transportu

Bardziej szczegółowo

Procedura zgłaszania problemów z obsługą oraz nieprawidłowości w funkcjonowaniu systemu PEFS 2007 w zakresie Programu Operacyjnego Kapitał Ludzki

Procedura zgłaszania problemów z obsługą oraz nieprawidłowości w funkcjonowaniu systemu PEFS 2007 w zakresie Programu Operacyjnego Kapitał Ludzki Procedura zgłaszania problemów z obsługą oraz nieprawidłowości w funkcjonowaniu systemu PEFS 2007 w zakresie Programu Operacyjnego Kapitał Ludzki (Wsparcie techniczne dla użytkowników Help Desk) Wersja

Bardziej szczegółowo

Bezpieczeństwo systemów komputerowych. Metody łamania szyfrów. Kryptoanaliza. Badane własności. Cel. Kryptoanaliza - szyfry przestawieniowe.

Bezpieczeństwo systemów komputerowych. Metody łamania szyfrów. Kryptoanaliza. Badane własności. Cel. Kryptoanaliza - szyfry przestawieniowe. Bezpieczeństwo systemów komputerowych Metody łamania szyfrów Łamanie z szyfrogramem Łamanie ze znanym tekstem jawnym Łamanie z wybranym tekstem jawnym Łamanie z adaptacyjnie wybranym tekstem jawnym Łamanie

Bardziej szczegółowo

Bezpieczeństwo systemów komputerowych. Kryptoanaliza. Metody łamania szyfrów. Cel BSK_2003. Copyright by K.Trybicka-Francik 1

Bezpieczeństwo systemów komputerowych. Kryptoanaliza. Metody łamania szyfrów. Cel BSK_2003. Copyright by K.Trybicka-Francik 1 Bezpieczeństwo systemów komputerowych mgr Katarzyna Trybicka-Francik kasiat@zeus.polsl.gliwice.pl pok. 503 Metody łamania szyfrów Łamanie z szyfrogramem Łamanie ze znanym tekstem jawnym Łamanie z wybranym

Bardziej szczegółowo

Zabezpieczanie danych użytkownika przed szkodliwym oprogramowaniem szyfrującym

Zabezpieczanie danych użytkownika przed szkodliwym oprogramowaniem szyfrującym Zabezpieczanie danych użytkownika przed szkodliwym oprogramowaniem szyfrującym Cyberprzestępcy szybko przyswajają techniki rozwijane przez przestępców w świecie fizycznym, łącznie z tymi służącymi do wyłudzania

Bardziej szczegółowo

Czym jest EDGE? Opracowanie: Paweł Rabinek Bydgoszcz, styczeń 2007 http://blog.xradar.net

Czym jest EDGE? Opracowanie: Paweł Rabinek Bydgoszcz, styczeń 2007 http://blog.xradar.net Czym jest EDGE? Opracowanie: Paweł Rabinek Bydgoszcz, styczeń 2007 http://blog.xradar.net Wstęp. Aby zrozumieć istotę EDGE, niezbędne jest zapoznanie się z technologią GPRS. General Packet Radio Service

Bardziej szczegółowo

Szyfry Strumieniowe. Zastosowanie wybranych rozwiąza. zań ECRYPT do zabezpieczenia komunikacji w sieci Ethernet. Opiekun: prof.

Szyfry Strumieniowe. Zastosowanie wybranych rozwiąza. zań ECRYPT do zabezpieczenia komunikacji w sieci Ethernet. Opiekun: prof. Szyfry Strumieniowe Zastosowanie wybranych rozwiąza zań ECRYPT do zabezpieczenia komunikacji w sieci Ethernet Arkadiusz PłoskiP Opiekun: prof. Zbigniew Kotulski Plan prezentacji Inspiracje Krótkie wprowadzenie

Bardziej szczegółowo

elektroniczna Platforma Usług Administracji Publicznej

elektroniczna Platforma Usług Administracji Publicznej elektroniczna Platforma Usług Administracji Publicznej Instrukcja użytkownika Profil Zaufany wersja 02-02. Ministerstwo Spraw Wewnętrznych i Administracji ul. Batorego 5, 02-591 Warszawa www.epuap.gov.pl

Bardziej szczegółowo

UNIFON podręcznik użytkownika

UNIFON podręcznik użytkownika UNIFON podręcznik użytkownika Spis treści: Instrukcja obsługi programu Unifon...2 Instalacja aplikacji Unifon...3 Korzystanie z aplikacji Unifon...6 Test zakończony sukcesem...9 Test zakończony niepowodzeniem...14

Bardziej szczegółowo

sieci mobilne 2 sieci mobilne 2

sieci mobilne 2 sieci mobilne 2 sieci mobilne 2 sieci mobilne 2 Poziom trudności: Bardzo trudny 1. 39. Jaka technika wielodostępu jest wykorzystywana w sieci GSM? (dwie odpowiedzi) A - TDMA B - FDMA C - CDMA D - SDMA 2. 40. W jaki sposób

Bardziej szczegółowo

Kryptografia i ochrona informacji

Kryptografia i ochrona informacji Protokoły kryptograficzne: projektowanie, analiza i zastosowanie w bezpiecznej komunikacji i usługach realizowanych drogą elektroniczną na przykładzie e-health. Opiekun: prof. dr hab. inż. Zbigniew Kotulski

Bardziej szczegółowo

KAMELEON.CRT OPIS. Funkcjonalność szyfrowanie bazy danych. Wtyczka kryptograficzna do KAMELEON.ERP. Wymagania : KAMELEON.ERP wersja

KAMELEON.CRT OPIS. Funkcjonalność szyfrowanie bazy danych. Wtyczka kryptograficzna do KAMELEON.ERP. Wymagania : KAMELEON.ERP wersja KAMELEON.CRT Funkcjonalność szyfrowanie bazy danych 42-200 Częstochowa ul. Kiepury 24A 034-3620925 www.wilksoft..pl Wtyczka kryptograficzna do KAMELEON.ERP Wymagania : KAMELEON.ERP wersja 10.10.0 lub wyższa

Bardziej szczegółowo

WEP: przykład statystycznego ataku na źle zaprojektowany algorytm szyfrowania

WEP: przykład statystycznego ataku na źle zaprojektowany algorytm szyfrowania WEP: przykład statystycznego ataku na źle zaprojektowany algorytm szyfrowania Mateusz Kwaśnicki Politechnika Wrocławska Wykład habilitacyjny Warszawa, 25 października 2012 Plan wykładu: Słabości standardu

Bardziej szczegółowo

Bringing privacy back

Bringing privacy back Bringing privacy back SZCZEGÓŁY TECHNICZNE Jak działa Usecrypt? DEDYKOWANA APLIKACJA DESKTOPOWA 3 W przeciwieństwie do wielu innych produktów typu Dropbox, Usecrypt to autorska aplikacja, która pozwoliła

Bardziej szczegółowo

Projekt wymagań bezpieczeństwa wobec statycznych bezpośrednich 1-fazowych i 3- fazowych liczników energii elektrycznej:

Projekt wymagań bezpieczeństwa wobec statycznych bezpośrednich 1-fazowych i 3- fazowych liczników energii elektrycznej: Projekt wymagań bezpieczeństwa wobec statycznych bezpośrednich 1-fazowych i 3- fazowych liczników energii elektrycznej: Lp. 1. Wymagania ogólne Wymaganie techniczne 1.1 Licznik musi posiadać aktywną funkcję

Bardziej szczegółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 007 Tryb rzeczywisty i chroniony procesora 2 SO i SK/WIN Wszystkie 32-bitowe procesory (386 i nowsze) mogą pracować w kilku trybach. Tryby pracy

Bardziej szczegółowo

Zarys algorytmów kryptograficznych

Zarys algorytmów kryptograficznych Zarys algorytmów kryptograficznych Laboratorium: Algorytmy i struktury danych Spis treści 1 Wstęp 1 2 Szyfry 2 2.1 Algorytmy i szyfry........................ 2 2.2 Prosty algorytm XOR......................

Bardziej szczegółowo

zmianie ulegają postanowienia:

zmianie ulegają postanowienia: Informujemy, że w związku z obowiązkami wynikającymi z Rozporządzenia Parlamentu Europejskiego i Rady (UE) nr 2015/2120 z dnia 25 listopada 2015 r. ustanawiającego środki dotyczące dostępu do otwartego

Bardziej szczegółowo

Bezpieczeństwo bezprzewodowych sieci LAN 802.11

Bezpieczeństwo bezprzewodowych sieci LAN 802.11 Bezpieczeństwo bezprzewodowych sieci LAN 802.11 Maciej Smoleński smolen@students.mimuw.edu.pl Wydział Matematyki Informatyki i Mechaniki Uniwersytetu Warszawskiego 16 stycznia 2007 Spis treści Sieci bezprzewodowe

Bardziej szczegółowo

(11) 173692 (13) B1 PL 173692 B1 (12) OPIS PATENTOWY (19) PL RZECZPOSPOLITA POLSKA. (21) Numer zgłoszenia: 311466. (22) Data zgłoszenia: 23.03.

(11) 173692 (13) B1 PL 173692 B1 (12) OPIS PATENTOWY (19) PL RZECZPOSPOLITA POLSKA. (21) Numer zgłoszenia: 311466. (22) Data zgłoszenia: 23.03. RZECZPOSPOLITA POLSKA Urząd Patentowy Rzeczypospolitej Polskiej (12) OPIS PATENTOWY (19) PL (21) Numer zgłoszenia: 311466 (22) Data zgłoszenia: 23.03.1994 (86) Data i numer zgłoszenia międzynarodowego:

Bardziej szczegółowo

Zastosowania informatyki w gospodarce Wykład 5

Zastosowania informatyki w gospodarce Wykład 5 Instytut Informatyki, Automatyki i Robotyki Zastosowania informatyki w gospodarce Wykład 5 Podstawowe mechanizmy bezpieczeństwa transakcji dr inż. Dariusz Caban dr inż. Jacek Jarnicki dr inż. Tomasz Walkowiak

Bardziej szczegółowo

Aplikacja Roger Mobile Key

Aplikacja Roger Mobile Key Roger Access Control System Aplikacja Roger Mobile Key Wersja oprogramowania : 1.0.2.xx Wersja dokumentu: Rev. A Spis treści Spis treści... 2 1. Wstęp... 3 1.1 Przeznaczenie i główne cechy aplikacji...

Bardziej szczegółowo

Maciej Piotr Jankowski

Maciej Piotr Jankowski Reduced Adder Graph Implementacja algorytmu RAG Maciej Piotr Jankowski 2005.12.22 Maciej Piotr Jankowski 1 Plan prezentacji 1. Wstęp 2. Implementacja 3. Usprawnienia optymalizacyjne 3.1. Tablica ekspansji

Bardziej szczegółowo

Laboratorium nr 1 Szyfrowanie i kontrola integralności

Laboratorium nr 1 Szyfrowanie i kontrola integralności Laboratorium nr 1 Szyfrowanie i kontrola integralności Wprowadzenie Jedną z podstawowych metod bezpieczeństwa stosowaną we współczesnych systemach teleinformatycznych jest poufność danych. Poufność danych

Bardziej szczegółowo

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ WYMAGANIA BEZPIECZEŃSTWA DLA SYSTEMÓW IT Wyciąg z Polityki Bezpieczeństwa Informacji dotyczący wymagań dla systemów informatycznych. 1 Załącznik Nr 3 do Część II SIWZ Wymagania

Bardziej szczegółowo

Nota aplikacyjna. Automatyczne powtarzanie powiadomienia SMS/CALL przy ciągłym naruszeniu wejścia.

Nota aplikacyjna. Automatyczne powtarzanie powiadomienia SMS/CALL przy ciągłym naruszeniu wejścia. Nota aplikacyjna. Automatyczne powtarzanie powiadomienia SMS/CALL przy ciągłym naruszeniu wejścia. Wymagania. aplikacja zgodna z BasicGSM/MultiGSM/NeoGSM/OptimaGSM(-PS), wymagane zasoby: dwa wejścia, jedno

Bardziej szczegółowo

Bezpieczeństwo w sieciach bezprzewodowych WiFi. Krystian Baniak Seminarium Doktoranckie Październik 2006

Bezpieczeństwo w sieciach bezprzewodowych WiFi. Krystian Baniak Seminarium Doktoranckie Październik 2006 Bezpieczeństwo w sieciach bezprzewodowych WiFi Krystian Baniak Seminarium Doktoranckie Październik 2006 Wprowadzenie Agenda Problemy sieci bezprzewodowych WiFi Architektura rozwiązań WiFi Mechanizmy bezpieczeństwa

Bardziej szczegółowo

Pomoc dla użytkowników systemu asix 6. www.asix.com.pl. Strategia buforowa

Pomoc dla użytkowników systemu asix 6. www.asix.com.pl. Strategia buforowa Pomoc dla użytkowników systemu asix 6 www.asix.com.pl Strategia buforowa Dok. Nr PLP6024 Wersja: 29-01-2010 ASKOM i asix to zastrzeżone znaki firmy ASKOM Sp. z o. o., Gliwice. Inne występujące w tekście

Bardziej szczegółowo

Praktyczne aspekty stosowania kryptografii w systemach komputerowych

Praktyczne aspekty stosowania kryptografii w systemach komputerowych Kod szkolenia: Tytuł szkolenia: KRYPT/F Praktyczne aspekty stosowania kryptografii w systemach komputerowych Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do osób pragnących poznać zagadnienia

Bardziej szczegółowo

Bezpieczeństwo systemów komputerowych.

Bezpieczeństwo systemów komputerowych. Bezpieczeństwo systemów komputerowych. Temat seminarium: cos o dnsie, Selinuxie i itd. Autor: Jan Kowalski 1 Czym jest Kerberos? Kerberos jest usług ą uwierzytelniania i autoryzacji urzytkoweników w sieciach

Bardziej szczegółowo

Propozycja nowej usługi w sieci ISDN kierowanie połączeń do abonenta o zmiennej lokalizacji

Propozycja nowej usługi w sieci ISDN kierowanie połączeń do abonenta o zmiennej lokalizacji Paweł Kaniewski Miłosz Śliwka Propozycja nowej usługi w sieci ISDN kierowanie połączeń do abonenta o zmiennej lokalizacji 1 Wstęp ISDN jest powszechnie wykorzystywanym standardem zarówno w systemach telefonii

Bardziej szczegółowo

5. Model komunikujących się procesów, komunikaty

5. Model komunikujących się procesów, komunikaty Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć

Bardziej szczegółowo

Księgarnia PWN: Kevin Kenan - Kryptografia w bazach danych. Spis treści. Podziękowania O autorze Wprowadzenie... 15

Księgarnia PWN: Kevin Kenan - Kryptografia w bazach danych. Spis treści. Podziękowania O autorze Wprowadzenie... 15 Księgarnia PWN: Kevin Kenan - Kryptografia w bazach danych Spis treści Podziękowania... 11 O autorze... 13 Wprowadzenie... 15 CZĘŚĆ I. Bezpieczeństwo baz danych... 19 Rozdział 1. Problematyka bezpieczeństwa

Bardziej szczegółowo

łączności radiowej TETRA mgr. inż. Quang Anh Tran

łączności radiowej TETRA mgr. inż. Quang Anh Tran Bezpieczeństwo w systemie łączności radiowej TETRA mgr. inż. Quang Anh Tran Instytut t t Telekomunikacji, PW Plan wykładu Wprowadzenie Opis, architektura i parametry systemu TETRA Środki bezpieczeństwa

Bardziej szczegółowo

Spis treści. 1 Moduł RFID (APA) 3

Spis treści. 1 Moduł RFID (APA) 3 Spis treści 1 Moduł RFID (APA) 3 1.1 Konfigurowanie Modułu RFID..................... 3 1.1.1 Lista elementów Modułu RFID................. 3 1.1.2 Konfiguracja Modułu RFID (APA)............... 4 1.1.2.1

Bardziej szczegółowo

Przesyłania danych przez protokół TCP/IP

Przesyłania danych przez protokół TCP/IP Przesyłania danych przez protokół TCP/IP PAKIETY Protokół TCP/IP transmituje dane przez sieć, dzieląc je na mniejsze porcje, zwane pakietami. Pakiety są często określane różnymi terminami, w zależności

Bardziej szczegółowo

INSTRUKCJA OBSŁUGI PEKAOTOKENA DLA UŻYTKOWNIKÓW PEKAO24

INSTRUKCJA OBSŁUGI PEKAOTOKENA DLA UŻYTKOWNIKÓW PEKAO24 INSTRUKCJA OBSŁUGI PEKAOTOKENA DLA UŻYTKOWNIKÓW PEKAO24 2 SPIS TREŚCI WYMAGANE USTAWIENIA TELEFONÓW... 3 ZMIANA METODY AUTORYZACJI NA PEKAOTOKEN... 3 INSTALACJA ORAZ URUCHOMIENIE APLIKACJI KROK PO KROKU...

Bardziej szczegółowo

INFORMACJE OGÓLNE. Użytkownik aplikacji otrzymuje dostęp do aktualnych informacji dotyczących obiektu

INFORMACJE OGÓLNE. Użytkownik aplikacji otrzymuje dostęp do aktualnych informacji dotyczących obiektu SPIS TREŚCI Informacje ogólne 3 1. Pobieranie aplikacji 3 2. Rejestracja i logowanie 4 3. Menu aplikacji 6 4. Zgłaszanie alarmu 7 5. Aktywne alarmy 8 6. Odwoływanie alarmów 8 7. Chronione obiekty 9 8.

Bardziej szczegółowo

ActiveXperts SMS Messaging Server

ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server to oprogramowanie typu framework dedykowane wysyłaniu, odbieraniu oraz przetwarzaniu wiadomości SMS i e-mail, a także tworzeniu własnych

Bardziej szczegółowo

Szyfrowanie informacji

Szyfrowanie informacji Szyfrowanie informacji Szyfrowanie jest sposobem ochrony informacji przed zinterpretowaniem ich przez osoby niepowołane, lecz nie chroni przed ich odczytaniem lub skasowaniem. Informacje niezaszyfrowane

Bardziej szczegółowo

ZAŁĄCZNIK Nr 1 do CZĘŚCI II SIWZ

ZAŁĄCZNIK Nr 1 do CZĘŚCI II SIWZ ZAŁĄCZNIK Nr 1 do CZĘŚCI II SIWZ WYMAGANIA BEZPIECZEŃSTWA DLA SYSTEMÓW IT Wyciąg z Polityki Bezpieczeństwa Informacji dotyczący wymagań dla systemów informatycznych. 1 Załącznik Nr 1 do Część II SIWZ SPIS

Bardziej szczegółowo

Bezpieczeństwo technologii Bluetooth

Bezpieczeństwo technologii Bluetooth Bezpieczeństwo technologii Bluetooth Leszek Wawrzonkowski lwawrzon@elka.pw.edu.pl Leszek Wawrzonkowski Bezpieczeństwo technologii Bluetooth 1 z 22 Plan prezentacji Opis standardu Bluetooth Bezpieczeństwo

Bardziej szczegółowo

Bezpieczeństwo Systemów Komputerowych. Wirtualne Sieci Prywatne (VPN)

Bezpieczeństwo Systemów Komputerowych. Wirtualne Sieci Prywatne (VPN) Bezpieczeństwo Systemów Komputerowych Wirtualne Sieci Prywatne (VPN) Czym jest VPN? VPN(Virtual Private Network) jest siecią, która w sposób bezpieczny łączy ze sobą komputery i sieci poprzez wirtualne

Bardziej szczegółowo

asix5 Podręcznik użytkownika Strategia buforowa

asix5 Podręcznik użytkownika Strategia buforowa asix5 Podręcznik użytkownika Podręcznik użytkownika Dok. Nr PLP5024 Wersja: 29-07-2007 Podręcznik użytkownika asix5 ASKOM i asix to zastrzeżone znaki firmy ASKOM Sp. z o. o., Gliwice. Inne występujące

Bardziej szczegółowo

Korzystanie z Certyfikatów CC Signet w programie MS Outlook 98

Korzystanie z Certyfikatów CC Signet w programie MS Outlook 98 Korzystanie z Certyfikatów CC Signet w programie MS Outlook 98 1. Wprowadzenie... 2 2. Podpisywanie i szyfrowanie wiadomości pocztowych... 2 2.1. Wysyłanie wiadomości z podpisem cyfrowym... 3 2.2. Odbieranie

Bardziej szczegółowo

Instrukcja aktywacji tokena w usłudze BPTP

Instrukcja aktywacji tokena w usłudze BPTP Instrukcja aktywacji tokena w usłudze BPTP Użytkownicy usługi BPTP, którzy otrzymali przesyłki pocztowe zawierające token USB wraz z listem informującym o potrzebie aktywacji urządzenia powinni wykonać

Bardziej szczegółowo

Ćwiczenie numer 4 JESS PRZYKŁADOWY SYSTEM EKSPERTOWY.

Ćwiczenie numer 4 JESS PRZYKŁADOWY SYSTEM EKSPERTOWY. Ćwiczenie numer 4 JESS PRZYKŁADOWY SYSTEM EKSPERTOWY. 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z przykładowym systemem ekspertowym napisanym w JESS. Studenci poznają strukturę systemu ekspertowego,

Bardziej szczegółowo

Sesje i logowanie. 1. Wprowadzenie

Sesje i logowanie. 1. Wprowadzenie Sesje i logowanie 1. Wprowadzenie Żądania od nawet tego samego użytkownika na serwerze nie są domyślnie w żaden sposób łączone ze sobą. Każde jest w pewnym sensie nowe i serwer nie jest w stanie stwierdzić,

Bardziej szczegółowo

PRACA INŻYNIERSKA IMPLEMENTACJA MOBILNEGO KLIENTA BANKU ZABEZPIECZONEGO TOKENEM

PRACA INŻYNIERSKA IMPLEMENTACJA MOBILNEGO KLIENTA BANKU ZABEZPIECZONEGO TOKENEM PRACA INŻYNIERSKA IMPLEMENTACJA MOBILNEGO KLIENTA BANKU ZABEZPIECZONEGO TOKENEM Autor: Piotr Marek Ciecierski Kierujący pracą: prof. dr hab. inż. Zbigniew Kotulski Plan prezentacja Spis treści: 1) Wprowadzenie

Bardziej szczegółowo

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3 Currenda EPO Instrukcja Konfiguracji Wersja dokumentu: 1.3 Currenda EPO Instrukcja Konfiguracji - wersja dokumentu 1.3-19.08.2014 Spis treści 1 Wstęp... 4 1.1 Cel dokumentu... 4 1.2 Powiązane dokumenty...

Bardziej szczegółowo

Zestaw ten opiera się na pakietach co oznacza, że dane podczas wysyłania są dzielone na niewielkie porcje. Wojciech Śleziak

Zestaw ten opiera się na pakietach co oznacza, że dane podczas wysyłania są dzielone na niewielkie porcje. Wojciech Śleziak Protokół TCP/IP Protokół TCP/IP (Transmission Control Protokol/Internet Protokol) to zestaw trzech protokołów: IP (Internet Protokol), TCP (Transmission Control Protokol), UDP (Universal Datagram Protokol).

Bardziej szczegółowo

WLAN 2: tryb infrastruktury

WLAN 2: tryb infrastruktury WLAN 2: tryb infrastruktury Plan 1. Terminologia 2. Kolizje pakietów w sieciach WLAN - CSMA/CA 3. Bezpieczeństwo - WEP/WPA/WPA2 Terminologia Tryb infrastruktury / tryb ad-hoc Tryb infrastruktury - (lub

Bardziej szczegółowo

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych. w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych. w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA Użycie certyfikatów niekwalifikowanych w sieciach VPN wersja 1.1 Spis treści 1. CO TO JEST VPN I DO CZEGO SŁUŻY... 3 2. RODZAJE SIECI VPN... 3 3. ZALETY STOSOWANIA SIECI IPSEC VPN... 3 4. METODY UWIERZYTELNIANIA...

Bardziej szczegółowo