SIM - odkrywamy tajemnice

Telefon po odebraniu wysłanych przez VLR parametrów RAND i AUTN wysyła do karty USIM polecenie AUTHENTICATE (w GSM było to RUN GSM ALGO). W poleceniu tym w polu danych zawarte są RAND i AUTN. Przy pomocy funkcji f5, klucza K, oraz RAND karta wylicza anonymity key (AK), przy czym należy zauważyć, że funkcja f5 może być tożsamościowo równa zero, co oznacza, że SQN będzie przesyłany w postaci nieukrytej. Po obliczeniu AK, karta jest w stanie odzyskać numer SQN z wiadomości AUTN. MAC, użyty do porównania z MAC-A odebranym z sieci, wyliczany jest w oparciu o: funkcje f1, klucz K oraz odebrane z sieci RAND i AUTN (a właściwie SQN, AMF wyodrębnione z AUTN). Gdy karta obliczy MAC następuje porównanie jego wartości z wartością MAC-A wysłanego przez sieć. Jeżeli obie wartości są takie same następuje pozytywna weryfikacja sieci. Karta USIM wie, że "rozmawia" z właściwą siecią.

Kolejnym etapem jest sprawdzenie poprawności numerów sekwencyjnych. USIM przechowuje ostatnio używane numery sekwencyjne, a dokładniej ostatnio zaakceptowane. Liczba ostatnio zaakceptowanych numerów sekwencyjnych określona jest parametrem IND, gdy IND = 5 liczba ta równa jest 2^5 = 32. Dla algorytmu Millenage numer sekwencyjny SQN jest złożeniem numeru sekwencyjnego SEQ i indeksu IND, SQN := SEQ ||(INDex = i). USIM nie powinien akceptować "skoków" w numerach sekwencyjnych. Numer ten musi spełniać kilka wymogów.

1. Ochrona przed przejściem przez zero. Różnica pomiędzy odebranym numerem sekwencyjnym a numerem znajdującym się na karcie nie może być większa niż jest to zdefiniowane parametrem D. Jest to zabezpieczeniem przed przejściem numerów sekwencyjnych przez zero po osiągnięciu maksymalnej wartości (zakres wartości 00...00 do FF...FF). Np. jeżeli odebrany numer ma wartość 00...00 a karta przechowuje ostatni numer sekwencyjny o wartości FF...FF wówczas różnica tych wartości będzie przekraczać wartość parametru D i nastąpi żądanie resynchronizacji.

2. "Świeżość" numeru sekwencyjnego. USIM sprawdza, czy odebrany numer sekwencyjny mieści się w zakresie zdefiniowanym przez umieszczony na karcie w procesie personalizacji parametr L. Parametr ten określa maksymalną różnicę pomiędzy ostatnio zachowanym na karcie numerem sekwencyjnym a odebranym numerem sekwencyjnym. Innymi słowy, numer ten nie może być mniejszy niż różnica ostatnio zaakceptowanego numeru i parametru L. Parametr L nazywany jest również "age limit". Jeżeli numer sekwencyjny jest poza tym zakresem nastąpi żądanie resynchronizacji.

Podsumowanie

Karty SIM i USIM to swego rodzaju mikrokomputery. W tym mikro świecie wiele się dzieje. Istnieją karty posiadające 1 GB pamięci, opracowywane są rozwiązania dla kart wspierających NFC (Near Field Communication), DVB-H. Jeśli są Państwo zainteresowani dogłębnym poznaniem tych zagadnień prosimy o kontakt pod adresem: [email protected].

***

Autorem tekstu jest Bartłomiej Nowiński.


TOP 200