Bezpieczeństwo telefonii komórkowej (2): Ataki na system GSM

Należy w tym miejscu wspomnieć również o jednej z najnowszych metod ataku na algorytm COMP128. W maju 2002 r. naukowcy z koncernu IBM odkryli nowy sposób uzyskania klucza Ki, przy zastosowaniu ataku poprzez tzw. kanały boczne (obserwację emisji ujawniających, zużycia mocy, przebiegów czasowych oraz błędów w trakcie przeprowadzanych w karcie SIM obliczeń). Metoda ta umożliwia odtworzenie klucza przy użyciu jedynie 1000 przypadkowo wybranych wartości parametru RAND. Stosując tę metodę, możliwe było znaczne zredukowanie ilości czasu potrzebnego do sklonowania karty SIM – był on co najwyżej rzędu minut, a w najlepszym wypadku mógł być rzędu sekund4!

Złamanie algorytmu szyfrującego (podsłuch w czasie rzeczywistym)

Algorytm szyfrujący A5 dostarczany jest w dwóch wersjach: A5/1 i A5/2. Pierwsza wersja A5/1, pochodząca z zastosowań wojskowych, uważana była początkowo za zbyt "silną", aby można ją było eksportować do niektórych państw (takich jak kraje Bliskiego Wschodu czy ówczesnej Europy Wschodniej). Zaprojektowano więc i wprowadzono do użytku "słabszą" wersję A5/2. Istnieje również wersja A5/0, która oznacza po prostu brak szyfrowania5, więc niektórzy operatorzy nie szyfrują połączeń.

Bezpieczeństwo telefonii komórkowej (2): Ataki na system GSM

Tabela 1. Porównanie aspektów bezpieczeństwa w systemach GSM i UMTS

Podsłuch w systemie GSM możliwy jest na kilka różnych sposobów. Najprostszą metodą, niewymagającą nawet złamania algorytmu szyfrującego, jest metoda wykorzystująca znaną w kryptografii zasadę "man in the middle"6. Posłużyć do tego może tzw. IMSI catcher – urządzenie diagnostyczne, służące do symulowania stacji bazowej przy testowaniu telefonów komórkowych. IMSI catcher (użyty przez włamywacza) może udawać przed telefonem stację bazową, a przed inną stacją bazową może udawać telefon (ponownie pojawia się tutaj problem braku autentykacji stacji bazowej przez telefon). Za pomocą tego urządzenia możliwe jest wyłączenie szyfrowania (poprzez ustanowienie wersji A5/0) i zastosowanie pasywnego podsłuchiwania rozmów.

Mimo że szczegóły projektowe obu algorytmów A5/1 i A5/2 były utrzymywane w ścisłej tajemnicy przez władze GSM Association, zostały one ujawnione w formie przecieków po roku 1994, a ostatecznie cały algorytm udało się odtworzyć w roku 1999 z pamięci terminala GSM metodami tzw. inżynierii odwrotnej (reverse engineering).

Siła algorytmu bezpieczeństwa określona jest przez jego tzw. złożoność czasową (ilość wszystkich możliwych kombinacji, mającą wpływ na czas ich przetestowania). Złożoność czasowa zależy w sposób wykładniczy od długości bitowej właściwych kluczy, stanowiących parametry wejściowe algorytmu. Dla standardowej długości klucza szyfrującego w GSM (64 bity) jest ona rzędu 264. Jednak biorąc pod uwagę fakt, że klucz Kc produkowany przez algorytm COMP128 ma długość realną tylko 54 bity (por. ramka na str. 28), rzeczywista złożoność czasowa obniża się już "na dzień dobry" do wartości 254 (około tysiąc razy mniejszej!). Tak jest w przypadku zastosowania metody łamania algorytmu tzw. "na siłę" (brute force), a więc polegającej na wypróbowaniu po kolei wszystkich możliwych kombinacji kluczy. Przez zastosowanie pewnych bardziej wyrafinowanych metod ataku możliwe jest dalsze obniżenie złożoności czasowej algorytmu do wartości 240 (tj. następne 500 razy) lub nawet mniejszej. W takich warunkach odtworzenie właściwej wartości klucza Kc staje się jedynie kwestią mocy obliczeniowej i czasu7.

Tak niskie wartości złożoności czasowej algorytmu A5/1 spowodowały, że od samego początku był on podatny na ataki sprzętowe możliwe do przeprowadzenia przez wielkie organizacje, ale nie na ataki programowe podejmowane przez hakerów. W późnych latach 90. podjęto kilka prób analizy i złamania algorytmów A5. Zaowocowały one lepszym zrozumieniem podstaw kryptograficznych tej grupy algorytmów i znalezieniem konkretnych słabych punktów w ich architekturze. Jednak nadal próby oszacowania czasu potrzebnego do odtworzenia klucza Kc przy użyciu zwykłego komputera PC dawały wyniki rzędu kilkuset godzin (a więc kilkunastu dni), co nie mogło zagrozić rozmowom prowadzonym w czasie rzeczywistym.

Ostatecznie w roku 1999 zademonstrowano nowy rodzaj ataku, oparty na subtelnych słabościach w strukturze i zasadzie działania tzw. rejestrów przesuwnych używanych w implementacji sprzętowej algorytmu A5/1. Zademonstrowany atak został przeprowadzony z użyciem komputera PC wyposażonego w olbrzymią (jak na owe lata) pamięć dyskową ok. 300 GB, potrzebną do zapisu opracowanej uprzednio macierzy stanów algorytmu. Rezultatem ataku było odtworzenie klucza Kc w czasie rzeczywistym na podstawie niewielkiej liczby danych uzyskanych z krótkiego fragmentu rozmowy8. Otworzyło to drogę do deszyfrowania połączeń w sieci GSM i ich podsłuchu drogą radiową.

Inne możliwe ataki

W literaturze dotyczącej systemu bezpieczeństwa GSM rozważane są także inne metody uzyskania kluczy Ki i Kc, polegające na przechwyceniu odpowiednich danych nie po stronie użytkownika (karty SIM), ale po stronie sieci (jak wiadomo z poprzedniej części cyklu, Ki rezyduje także w rekordzie abonenta zapisanym w centrum AuC, a Kc jest przekazywany na różnych interfejsach systemowych). Ataki takie dotyczą jednak bardziej operatora sieci komórkowej aniżeli jej użytkownika (chociaż użytkownik może oczywiście ponosić ich konsekwencje) i nie będą tu przedstawione. Zainteresowany Czytelnik może znaleźć te informacje w pozycji literaturowej [1].

Działania zmierzające do poprawy bezpieczeństwa w GSM

Zmiany w algorytmie A3/A8

Od początku działania systemu GSM istniała możliwość użycia algorytmów A3 i A8 opartych na innych zasadach niż COMP128. Większość operatorów zdecydowała się jednak na stosowanie COMP128, prawdopodobnie z uwagi na powszechne przekonanie, że jest on wystarczająco bezpieczny.

Po udowodnieniu słabych punktów GSM Association stworzyła jego nową wersję COMP128-2. Stara wersja nosi od tego momentu oznaczenie COMP128-1. Nowy algorytm został już zaimplementowany w nowo produkowanych kartach SIM i jest stosowany przez niektórych operatorów. Na razie wydaje się, że nie posiada on wewnętrznych wad poprzedniej wersji, a z informacji wymienianych między sobą przez hakerów na forach internetowych wynika, iż – jak do tej pory – nie został on jeszcze poznany (kart SIM opartych na COMP128-2 nie da się więc na razie klonować).

Bezpieczeństwo telefonii komórkowej (2): Ataki na system GSM

Klonowanie kart SIM

Niestety, COMP128-2 jest nadal algorytmem tajnym – jego opis nie został podany do publicznej wiadomości, co ponownie stwarza możliwość jego ujawnienia dopiero po pewnym czasie i wykrycia ewentualnych słabych punktów wówczas, gdy rozpowszechnienie kart opartych na tym algorytmie będzie już duże. Dodatkowo wersja ta (podobnie jak poprzednia) generuje praktycznie 54-bitowy klucz szyfrujący Kc (10 najmniej znaczących bitów jest bowiem nadal zerowanych). Wadę tę usunięto dopiero w wersji COMP128-3, która generuje pełny, 64-bitowy klucz Kc (poza tym używa jednak tego samego algorytm co wersja COMP128-2).


TOP 200