ISIM (ang. IP Multimedia Services Identity Module) – aplikacja działająca na karcie chipowej UICC (ang. Universal Integrated Circuit Card) używanej w telefonach komórkowych trzeciej generacji (3G). ISIM zawiera parametry pozwalające na identyfikację i uwierzytelnienie użytkownika w systemie IMS.

Struktura plikówEdytuj

 
Identyfikatory plików i struktura katalogów na ISIM.
Podwójna linią oznaczone są pliki opcjonalne

Nadrzędnym katalogiem aplikacji ISIM jest ADF ISIM (ang. Application Dedicated File), który zawiera informacje związane z usługami i siecią. ADF zawiera w sobie pliki podstawowe EF (ang. Elementary Files), które można podzielić na obowiązkowe i opcjonalne – rozmiar opcjonalnych plików powinien wynosić 0. Wszystkie zaimplementowane pliki podstawowe, których rozmiar jest większy niż zero, powinny zawierać w sobie wszystkie obowiązkowe dane. Opcjonalne dane mogą być w postaci ‘FF’ lub, jeśli położone są na końcu pliku, mogą nie istnieć.

EFKEYS – plik zawiera klucz szyfrujący (ang. Ciphering Key) CK, klucz integralności danych IK (ang. Integrity Key), a także KSI (ang. Key Set Identifier):

Bajty Opis Długość
1 Key set identifier (KSI) 1 bajt
2…17 Ciphering key (CK) 16 bajtów
18…33 Integrity key (IK) 16 bajtów
Bity b4 do b8 KSI są zerami.

EFIMPI – plik zawiera prywatny identyfikator użytkownika (IMPI, ang. IP Multimedia Private Identity), który jest używany tylko w celu uwierzytelniania.

EFDOMAIN – plik zawiera nazwę domeny wskazująca macierzystą sieć abonenta.

EFIMPU – każdy abonent IMS posiada chociaż jeden publiczny identyfikator użytkownika IMPU. W odróżnieniu od IMPI publiczny identyfikator jest znany abonentowi.

EFAD (ang. Administrative Data) – zawiera informacje dotyczące trybu pracy. Dostępne są tryby:

  • „normalny” – (używany przez abonentów w pracy w systemie IMS),
  • „zatwierdzający” – (pozwalający na użycie terminala podczas standardowych procedur zatwierdzających),
  • „producenta” – (pozwalający wytwórcy terminala na wykorzystanie specjalnych funkcji np. do przeprowadzania testów w fazie produkcji).
Bajty Opis Długość
1 tryby pracy UE 1 bajt
2…3 dodatkowe informacje 2 bajty
4…3 + X RFU X bajtów
Bajt 1 – tryby pracy może przyjmować wartości:
0x00 – tryb normalny (wykorzystywany przez abonentów)
0x80 – typ zatwierdzający
0x01 – tryb normalny + funkcje specjalne
0x81 – tryb zatwierdzający + funkcje specjalne
0x02 – tryb podtrzymania (off-line)
Jeśli bit b1 = 1 to oznacza, że tryb „funkcje specjalne” jest włączony.
Bajt 2 – dodatkowe informacje.
Bajt 3:
b1 = 0: OFM jest dezaktywowane na tym terminalu.
b1 = 1: OFM jest aktywne na tym terminalu.
Bit OFM jest używany do kontroli wskaźnika szyfrującego (ang. Ciphering Indicator). Pozostałe bity trzeciego bajta są zarezerwowane do wykorzystania w przyszłości.
Bajt 4 – RFU (ang. Reserved for Future Use) – zarezerwowany do wykorzystania w przyszłości.

EFARR – definiuje prawa dostępu do plików znajdujących się w ADF ISIM.

EFIST – opcjonalny plik wskazujący, które dodatkowe usługi są dostępne.

EFP-CSCF (ang. Proxy Call Session Control Function) – opcjonalny plik zawiera jeden (lub więcej) adresów funkcji Proxy CALL Session Control. Nie jest on używany w terminalach korzystających z sieci dostępowej 3G. Plik ten powinien być obecny kiedy usługa P-CSCF (usługa nr 1) jest dostępna w tablicy usług ISIM.

EFGBA BP (ang. Generic Bootstrapping Architecture Bootstrapping Parameters) – plik ten jest używany tylko, gdy usługa GBA (usługa nr 2) jest dostępna w tablicy usług ISIM. Zawiera losowe wyzwanie (RAND) i B-TID (ang. Bootstrapping Identifier) skojarzony z procedurą GBA.

EFGBA NL (ang. GBA Network Application Function list) – ten plik powinien istnieć jeśli usługa nr 2 jest dostępna w tablicy usług ISIM. Zawiera listę NAF_ID i B-TID skojarzonych z procedura GBA NAF.

Mechanizm uwierzytelnianiaEdytuj

 
Mechanizm uwierzytelniania AKA (ang. Authentication and Key Agreement)

Klucze i funkcje uwierzytelniające w systemie IMS są dzielone pomiędzy kartę chipową od strony użytkownika i HSS (ang. Subscriber Server) od strony sieci. Identyfikator używany do uwierzytelniania abonenta w IMS to IMPI (ang. Private Identity). Schemat uwierzytelniania w IMS bazuje na mechanizmie obustronnego uwierzytelniania w sieciach UMTS nazywanym UTMS AKA (ang. Authentication and Key Agreement).

UMTS AKAEdytuj

UMTS AKA jest protokołem typu challenge-response. Wyzwanie (ang. Challenge) pochodzi od Centrum Uwierzytelnienia (ang. Authentication Center) AuC z sieci macierzystej abonenta. Kwintet (ang. Quintet) zostaje wysłany z AuC do sieci oferującej usługę (VLR\SGSN) i zawiera:

  • losową liczbę (RAND),
  • oczekiwaną odpowiedź (XRES),
  • klucz szyfrujący CK (ang. Ciphering key),
  • klucz integralności danych IK (ang. Integrity key),
  • żeton (token) uwierzytelnienia AUTN (ang. Authentication token) wyznaczany w następujący sposób:
 
który zawiera:
  • kod uwierzytelniający wiadomości (MAC),
  • AMF,
  • klucz uwierzytelniający AK (ang. Authentication key),
  • numer sekwencji (SQN).

Sieć oferująca daną usługę przesyła RAND I AUTN do UE (ang. User Equipment), który po ich otrzymaniu generuje IK, CK, XMAC i RES oraz wydobywa MAC i SQN z otrzymanego AUTN. UE porównuje wygenerowany przez siebie XMAC z otrzymanym. Jeśli są zgodne i SQN mieści się w określonym zakresie, to UE uwierzytelnia sieć. Wtedy sieć oferująca usługę otrzymuje odpowiedź RES (ang. Response) od UE i porównuje ją z XRES. Jeśli są zgodne UE zostaje uwierzytelniony.

Celem tej procedury jest obopólne uwierzytelnienie użytkownika i sieci oferującej usługę oraz ustanowienie nowej pary kluczy: CK i IK pomiędzy siecią a aplikacją ISIM. CK jest używany w szyfrowaniu głosu, IK zabezpiecza integralność danych wiadomości sygnalizacyjnych SIP (ang. Session Initiation Protocol).

IMS AKAEdytuj

Ten sam algorytm został wykorzystany w IMS, gdzie jest nazywany IMS AKA. Parametry zabezpieczeń (np. klucze) generowane przez IMS AKA są transportowane za pomocą SIP. Chociaż metody obliczania parametrów przez UMTS AKA i IMS AKA są identyczne, parametry te są transportowane w nieco inny sposób. W UMTS AKA odpowiedź UE (czyli RES) jest wysyłana pojedynczo, podczas gdy IMS RES jest wysyłana w połączeniu z innymi parametrami, tak aby wytworzyć uwierzytelniającą odpowiedź, która jest wysyłana do sieci. Aby zabezpieczyć przesyłanie wiadomości sygnalizacyjnych (SIP) pomiędzy UE i P-CSCF (ang. Proxy Call Session Control Function) wszystkie wiadomości SIP chronione są na poziome IP przez IPsec ESP. Terminale IMS używają IK do ochrony integralności wiadomości SIP przesyłanych pomiędzy UE i P-CSCF. Również CK może być opcjonalnie użyty do kodowania wiadomości SIP.

PodsumowanieEdytuj

Odpowiedni poziom zabezpieczenia dostępu do IMS zapewniają znajdujące się na ISIM następujące dane i funkcje ochronne:

  • prywatny identyfikator użytkownika IMPI (ang. IM Private Identity),
  • przynajmniej jeden publiczny identyfikator użytkownika IMPU (ang. IM Public Identity),
  • nazwa domeny sieci macierzystej,
  • baza dla numeru sekwencji SQN,
  • klucz uwierzytelniający AK (ang. Authentication key).

Protokół uwierzytelniający AKA zawsze działa niezależnie między IMS i siecią 3G, zatem, nie istnieje niebezpieczeństwo, że złamanie zabezpieczeń i uzyskanie kluczy IK/CK w jednej domenie będzie prowadziło do powstania słabych punktów w innych domenach.

Współdzielenie funkcji i danych.Edytuj

Jako odrębna aplikacja ISIM może współdzielić dane i funkcje zabezpieczające z aplikacjami USIM na karcie chipowej.

Możliwe jest współdzielenie:

  • brak współdzielenia (ISIM i USIM mają swoje własne funkcje zabezpieczające i dane),
  • tylko mechanizmu sprawdzania SQN (ang. Sequence Number),
  • tylko algorytmu,
  • tylko algorytmu i mechanizmu sprawdzania SQN,
  • klucza uwierzytelniającego AK, funkcji uwierzytelniających i mechanizmu sprawdzania SQN.

Zobacz teżEdytuj

Linki zewnętrzneEdytuj