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.

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 |
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:
| Bajty | Opis | Długość |
|---|---|---|
| 1 | tryby pracy UE | 1 bajt |
| 2…3 | dodatkowe informacje | 2 bajty |
| 4…3 + X | RFU | X bajtów |
| 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) |
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.
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 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:
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).
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.
Odpowiedni poziom zabezpieczenia dostępu do IMS zapewniają znajdujące się na ISIM następujące dane i funkcje ochronne:
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.
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: