2G

Bezpieczeństwo GSM

Algorytmy szyfrowania A5, autentyfikacja SIM, generowanie klucza Kc i słabości bezpieczeństwa.

Cele bezpieczeństwa GSM i ograniczenia analogowych sieci 1G

W początkach telefonii komórkowej analogowe sieci 1G przesyłały rozmowy jako niezaszyfrowane sygnały radiowe. Prosty skaner mógł odebrać prywatną rozmowę, a oszust mógł sklonować tożsamość telefonu i obciążyć cudzy rachunek. Brak ochrony był jedną z podstawowych słabości tych systemów, ponieważ nie zapewniały poufności rozmów ani wiarygodnej identyfikacji abonenta.

Projektanci GSM przyjęli, że cyfrowy standard przeznaczony do wdrożeń międzynarodowych musi budować zaufanie użytkowników. Bezpieczeństwo stało się częścią architektury, a mechanizmy GSM miały realizować trzy główne cele:

  1. Uwierzytelnianie: Aby udowodnić, że użytkownik jest legalnym abonentem i ma prawo dostępu do sieci. Zapobiega to nieautoryzowanemu użyciu i klonowaniu telefonów.
  2. Poufność: Aby zapewnić, że rozmowy i dane przesyłane drogą radiową pozostaną prywatne i nie będą mogły być podsłuchiwane przez osoby nieupoważnione.
  3. Anonimowość: Aby chronić tożsamość użytkownika, uniemożliwiając łatwe śledzenie go poprzez monitorowanie transmisji radiowych.

Rdzeń Bezpieczeństwa GSM: Trzy Mechanizmy

Cała struktura bezpieczeństwa GSM opiera się na współdziałaniu trzech mechanizmów: tajnego klucza przechowywanego na karcie SIM, rodziny algorytmów kryptograficznych oraz procedury typu "wyzwanie-odpowiedź".

  • Tajny Klucz Abonenta (KiK_i): Jest to 128-bitowy tajny numer unikalny dla każdego abonenta. Jedna kopia KiK_i jest bezpiecznie przechowywana na abonenta, a druga kopia w silnie chronionej bazie danych po stronie sieci, zwanej Centrum Uwierzytelniania (AuC). Klucz ten jest podstawą uwierzytelniania i szyfrowania, a jego projekt zakłada, że nigdy nie będzie przesyłany przez sieć radiową.
  • Rodziny algorytmów kryptograficznych (A3, A8, A5): GSM wykorzystuje funkcje kryptograficzne o odrębnych rolach. Konkretne implementacje A3, A8 i A5 zależą od uzgodnionej wersji oraz konfiguracji operatora.
    • A3A3: funkcja uwierzytelniania abonenta.
    • A8A8: funkcja generowania sesyjnego klucza szyfrującego.
    • A5A5: rodzina algorytmów szyfrujących dane i sygnalizację radiową.
  • Mechanizm Wyzwanie-Odpowiedź: Zamiast wysyłać hasło przez sieć, co mogłoby zostać przechwycone, GSM stosuje procedurę "wyzwanie-odpowiedź". Sieć wysyła telefonowi losowe, nieprzewidywalne "wyzwanie", a telefon musi dostarczyć poprawną "odpowiedź". Tylko urządzenie posiadające tajny klucz, KiK_i, jest w stanie obliczyć poprawną odpowiedź na to wyzwanie.

Analiza 1: Uwierzytelnianie - "Czy jesteś legalnym abonentem?"

Proces uwierzytelniania to pierwsza kontrola bezpieczeństwa, którą telefon musi przejść, zanim uzyska pozwolenie na wykonywanie lub odbieranie połączeń. Jego celem jest weryfikacja, czy karta SIM jest autentyczna i należy do uprawnionego abonenta.

Procedura przebiega następująco:

  1. Wyzwanie: Centrum Uwierzytelniania (AuC) przygotowuje wektor uwierzytelniania zawierający 128-bitową liczbę losową zwaną , oczekiwaną odpowiedź SRES i klucz KcK_c. VLR lub MSC wybiera RAND z tego wektora i wysyła go drogą radiową do Stacji Ruchomej (MS).
  2. Obliczenie po obu stronach: Telefon oblicza odpowiedź na otrzymany RAND, a sieć korzysta z wartości wyznaczonej wcześniej przez AuC:
    • Po stronie telefonu (SIM): Karta SIM odbiera RAND z sieci. Pobiera ten RAND i swój własny tajny, bezpiecznie przechowywany klucz abonenta, KiK_i, i wprowadza je oba do algorytmu uwierzytelniającego, A3A3. Algorytm przetwarza te dwa wejścia i generuje 32-bitowy wynik zwany Podpisaną Odpowiedzią, czyli .
    • Po stronie sieci (AuC i VLR/MSC): AuC oblicza oczekiwany SRES z użyciem tego RANDRAND i klucza KiK_i, a następnie przekazuje parę RAND/SRES oraz klucz KcK_c do VLR lub MSC. VLR/MSC przechowuje oczekiwany SRES do porównania z odpowiedzią MS.
  3. Odpowiedź: Stacja Ruchoma odsyła swoje obliczone SRES z powrotem do sieci.
  4. Weryfikacja: VLR lub Centrala Komutacyjna (MSC) ma teraz dwie wartości SRES: tę, którą otrzymała od telefonu, oraz tę otrzymaną wcześniej z AuC. Porównuje je.
    • Jeśli obie wartości SRES idealnie się zgadzają, uwierzytelnianie kończy się sukcesem. Sieć akceptuje odpowiedź jako zgodną z abonentem, ponieważ tylko autentyczna karta SIM z prawidłowym KiK_i mogła wygenerować poprawną odpowiedź na losowe wyzwanie.
    • Jeśli wartości SRES się nie zgadzają, uwierzytelnianie kończy się niepowodzeniem, a sieć odmawia użytkownikowi dostępu, zapobiegając oszustwom.

Analiza 2: Poufność - Generowanie i Użycie Klucza Szyfrującego

Gdy tożsamość użytkownika zostanie zweryfikowana, następnym krokiem jest zabezpieczenie samej rozmowy. GSM chroni poufność głosu i danych poprzez szyfrowanie łącza radiowego między telefonem a stacją bazową. Zapobiega to podsłuchiwaniu za pomocą skanera. Kluczem do tego procesu jest utworzenie tymczasowego klucza szyfrującego dla sesji.

A. Generowanie Klucza Szyfrującego (KcK_c)

System GSM wykorzystuje wspólne dane wejściowe w obu funkcjach. Do utworzenia klucza szyfrującego nie jest potrzebny oddzielny proces "wyzwanie-odpowiedź". Podczas procedury uwierzytelniania karta SIM wyznacza KcK_c lokalnie, a AuC oblicza odpowiadającą wartość dla wektora przekazywanego do VLR lub MSC:

Oba biorą ten sam 128-bitowy RANDRAND i ten sam 128-bitowy tajny klucz KiK_i i wprowadzają je do algorytmu . Wynikiem działania A8 jest 64-bitowy klucz tymczasowy znany jako . Karta SIM wyznacza go lokalnie, a AuC umieszcza odpowiadającą wartość w wektorze przekazywanym do VLR lub MSC. Klucz KcK_c nigdy nie jest przesyłany drogą radiową. Sieć wysyła do telefonu polecenie "Rozpocznij Tryb Szyfrowania", a obie strony używają uzgodnionego klucza KcK_c.

B. Algorytm Szyfrujący A5

Mając ustanowiony wspólny tajny klucz (KcK_c), zarówno telefon, jak i stacja bazowa mogą teraz szyfrować swoją komunikację. Używają do tego algorytmu szyfrującego zwanego A5A5. GSM ma kilka wersji tego algorytmu:

  • A5/1A5/1: Oryginalny, historycznie względnie silny wariant używany w Europie i innych częściach świata.
  • A5/2A5/2: Historycznie osłabiony wariant opracowany na eksport do regionów, gdzie rządy miały obawy co do silnego szyfrowania. Późniejsza kryptanaliza wykazała jego bardzo mały margines bezpieczeństwa.
  • A5/3A5/3: Późniejszy, znacznie silniejszy wariant dla GSM i ECSD, używany także jako ulepszenie ochrony w sieciach GSM.
  • A5/0A5/0: To określenie na sytuację, gdy szyfrowanie nie jest w ogóle używane.
C. Jak Działa Szyfr Strumieniowy

Algorytm A5A5 to rodzaj . Szyfr strumieniowy przetwarza dane przy użyciu strumienia klucza.

  1. Algorytm A5A5 pobiera 64-bitowy Klucz Szyfrujący (KcK_c) oraz 22-bitowy numer ramki TDMA (który ciągle się zmienia) jako dane wejściowe.
  2. Używa tych danych do generowania bardzo długiego, pozornie losowego strumienia bitów zwanego strumieniem klucza. Ponieważ zarówno telefon, jak i stacja BTS mają ten sam klucz KcK_c i znają ten sam numer ramki, oba generują dokładnie ten sam strumień klucza w tym samym czasie.
  3. Aby zaszyfrować, dane do wysłania (np. scyfryzowana mowa) są łączone ze strumieniem klucza za pomocą operacji bitowej XOR. Tekst Jawny⊕Strumienˊ Klucza=Szyfrogram\text{Tekst Jawny} \oplus \text{Strumień Klucza} = \text{Szyfrogram}
  4. Aby odszyfrować, odebrane zaszyfrowane dane są łączone z tym samym strumieniem klucza za pomocą operacji XOR. Ponowne użycie XOR z tym samym strumieniem zwraca oryginalne dane. Szyfrogram⊕Strumienˊ Klucza=Tekst Jawny\text{Szyfrogram} \oplus \text{Strumień Klucza} = \text{Tekst Jawny}

Analiza 3: Anonimowość - Tymczasowe Identyfikatory i Ich Ograniczenia

Trzecim mechanizmem bezpieczeństwa jest ograniczenie ujawniania tożsamości użytkownika. Ciągłe rozgłaszanie stałej tożsamości użytkownika (IMSI) przez sieć radiową ułatwiłoby śledzenie jego ruchów i aktywności. GSM ogranicza to ryzyko przez użycie tymczasowych identyfikatorów.

Kiedy telefon rejestruje się w nowym obszarze położenia, VLR przydziela mu . TMSI to tymczasowy pseudonim, który ma znaczenie tylko w bieżącym obszarze położenia. Od tego momentu, we wszystkich rutynowych komunikatach, takich jak inicjowanie połączenia czy odpowiadanie na przywołanie, telefon używa TMSI do identyfikacji w sieci i zachowuje stały IMSI poza tymi komunikatami. TMSI jest okresowo zmieniany przez sieć, co bardzo utrudnia zewnętrznemu obserwatorowi powiązanie transmisji radiowych z konkretną osobą przez dłuższy czas. Prawdziwy IMSI pozostaje identyfikatorem awaryjnym, używanym na przykład podczas pierwszej rejestracji w VLR lub po utracie kontekstu TMSI, dlatego mechanizm nie zapewnia pełnej anonimowości.

Mocne i Słabe Strony Bezpieczeństwa GSM

W swoim okresie GSM zapewniało poziom ochrony znacznie przewyższający wcześniejsze analogowe systemy komórkowe. Postęp technologii i coraz bardziej zaawansowana analiza bezpieczeństwa ujawniły jednak kilka słabości.

Mocne strony:
  • Skutecznie zapobiegało przypadkowemu podsłuchiwaniu i masowemu klonowaniu telefonów.
  • Użycie karty SIM do oddzielenia tożsamości użytkownika od sprzętu było wielką innowacją.
  • Mechanizm wyzwanie-odpowiedź oznaczał, że najważniejszy tajny klucz (KiK_i) nigdy nie był ujawniany w interfejsie radiowym.
Słabe strony:
  • Jednokierunkowe uwierzytelnianie: Sieć uwierzytelnia telefon, lecz telefon nie uwierzytelnia sieci. Jest to krytyczna wada, która umożliwia ataki z użyciem . Fałszywa stacja bazowa może zmusić telefon do połączenia się z nią, a następnie potencjalnie zmusić go do wyłączenia szyfrowania lub przeprowadzenia ataku typu man-in-the-middle.
  • Słaba kryptografia: Algorytm A5/1A5/1, względnie silny w klasycznym zestawie GSM lat 90., jest możliwy do złamania przy wystarczającej mocy obliczeniowej. Algorytm A5/2A5/2 został historycznie osłabiony i stał się podatny na praktyczną kryptanalizę. Przy odpowiednim sprzęcie zdeterminowany napastnik może potencjalnie odszyfrować rozmowy GSM.
  • Szyfrowanie nie jest typu koniec-z-końcem:Jest to często mylnie rozumiany punkt. Szyfrowanie GSM chroni tylko najsłabszą część ścieżki komunikacyjnej, czyli łącze radiowe między telefonem a stacją bazową. Gdy sygnał dotrze do BTS, jest deszyfrowany i przesyłany "jawnie" (bez szyfrowania) przez sieć szkieletową operatora i szerszą publiczną sieć telefoniczną. Oznacza to, że może być przechwycony w wielu punktach wewnątrz sieci przewodowej.
  • Ograniczona anonimowość: Chociaż użycie TMSI jest znacznym ulepszeniem, stały IMSI może być wciąż zażądany przez sieć w pewnych okolicznościach, na krótko ujawniając stałą tożsamość użytkownika.

Powiązane artykuły