IMSI, TMSI, GUMMEI, GUTI

Dans l’article précédent, nous avons étudié une approche simplifiée de l’enregistrement de l’UE au niveau du MME. Lors de l’attachement, l’UE et le réseau s’authentifie mutuellement. Au cours de cette procédure, l’authentification s’appuie sur l’IMSI contenu dans l’UICC et le HSS.

Une fois l’UE authentifié, le réseau suit la mobilité du terminal en communiquant avec ce dernier par le TMSI.

Nous allons dans cet article précisé le sens et le rôle de chacun de ces termes. L’article s’appuie sur la spécification ETSI 3GPP TS 23.003 V10.1.0 (2011-03).

I – Identification du client mobile sur le réseau (GSM/GPRS/UMTS/LTE)

Un numéro d’identifiant unique (IMSI – International Mobile Subscriber Identity) est attribué à chaque mobile ayant accès au réseau cellulaire. Ce numéro est valable pour le réseau GSM/UMTS et EPS.

L’IMSI est composé de trois parties :

  1. MCC : Mobile Country Code permet de désigner le pays dans lequel est situé l’opérateur.
  2. MNC : Mobile Network Code permet de spécifier l’opérateur dans un pays
  3. MSIN : Mobile Subscriber Identification Number, identifie de manière unique un client de l’opérateur.

IMSI-cut

Figure 1 : Identification d’un utilisateur : IMSI

 Lorsque l’UE se connecte, le réseau l’identifie à partir du numéro IMSI. L’IMSI n’est enregistré qu’à deux endroits : Dans la carte SIM/USIM et au niveau du HLR/HSS. Ce dernier est donc transmis après cryptage vers la station de base. Cependant, pour éviter le décryptage de ce numéro, le réseau alloue à chaque UE un numéro temporaire : TMSI (Temporary Mobile Subscriber Identities).

II – Identification du client mobile via le Temporary IMSI

Les équipements de localisation du réseau doivent être en mesure de mettre en relation le TMSI du mobile avec l’IMSI. Le TMSI est sauvegardé au niveau des équipements réseaux  VLR, SGSN, MME et sur la carte SIM. L’échange se fait donc avec l’identifiant TMSI au lieu de l’IMSI. Le TMSI sera modifié quand l’UE ne sera plus géré par le même équipement réseau (VLR/SGSN ou MME). Mail le TMSI peut aussi être modifié de façon périodique. Le TMSI n’est donc pas sauvegardé au niveau du HLR/HSS.

La valeur du TMSI est codée sur 4 octets, seule la combinaison constituée de 32 bits à ‘1’ est interdite (cette valeur indique que le TMSI n’est pas disponible). Le rôle du TMSI est donc de contacter le mobile lors de la procédure de paging afin d’établir une signalisation NAS entre le coeur réseau et l’UE.

Avec le GSM, le MS était repéré par le TMSI pour les services de phonie, puis avec l’arrivé du GPRS, un nouvel identifiant temporaire, nommé P-TMSI était alloué aux MS. Avec la 4G, les téléphone possèdent un nouvel identifiant nommé M-TMSI (MME TMSI).

III – Globally Unique Temporary Identifier 

Le GUTI (Globally Unique Temporary Identifier) est assigné à l ‘UE par le MME lors de la première demande d’attachement de l’UE.

L’objectif du GUTI est de fournir une identité unique à l’UE sans dévoiler l’identification confidentielle, privée et unique de la carte SIM (IMSI). Le GUTI est composé de deux identifiants, le GUMMEI (Globally Unique Mobility Management Entity Identifier) qui identifie de manière unique le MME parmi tous les MME sur lequel l’UE est inscrit et le M-TMSI qui identifie de manière unique l’UE parmi tous les autres UE gérés par le MME.

Ainsi, lorsque l’UE envoie le GUTI à l’eNb, ce dernier utilise le GUTI pour identifier ver quel MME la requête doit être transmise. En effet, un eNb peut être connecté à plusieurs MME (pour faire un partage de charge).

Si l’UE était initialement enregistré sur le réseau 3G ce dernier possède un identifiant P-TMSI. Supposons qu’après une sélection de cellule l’UE s’attache au réseau 4G, alors au cours de la procédure TAU, le MME qui va dorénavant gérer l’UE contacte le SGSN pour demander le profile de l’UE (Adresse IP, PDP context). De manière identique, lorsque l’UE quitte le réseau 4G vers le 3G, le GUTI est transmis et le SGSN lors du RAU (Routing Area Update).

La figure ci-dessous décrit la manière d’écrire le GUMMEI et le GUTI : Le GUMMEI est construit à partir du code pays (MCC), du code opérateur (MNC) et du MMEI (Mobility Management Entity Identifier). Le MMEI représente une MME compris dans un groupe de MME, il est ainsi constitué du MMEGI (Mobility Management Entity Group ID) et de MMEC (MME Code).

En rajoutant le M-TMSI au GUMMEI, on obtient le GUTI.

GUTTI

 

Figure 2 : GUTI – Decomposition en plusieurs champs

Pour résumer, voici les identifiants permettant de caractériser de manière unique un mobile au niveau du MME d’un opérateur dans un pays précis.

GUTI

 

Figure 3 : Détail du GUTI

A partir des différents identifiants énumérés ci-dessus, la norme définit d’autres attributs comme :

  • MME Identifier composé du MMEGI et MMEC
  • S-TMSI composé du MMEC et du M-TMSI

MMEID

 

Figure 4 MMEI et S-TMSO

Le S-TMSI est exploité dans le cadre de la procédude de Paging. Comme le montre la figure précédente, le S-TMSI est construit à partir du MMEC et du M-TMSI. Par conséquent, lorsque l’UE est enregistré, le S-TMSI est déduit du GUTI à partir des 40 derniers bits du GUTI.

Questions : Quels sont les équipements de l’opérateur qui ont connaissance du TMSI?

22 commentaires sur “IMSI, TMSI, GUMMEI, GUTI

  1. We absolutely love your blog and find the majority of your post’s to
    be just what I’m looking for. Would you offer guest writers to write content available for you?
    I wouldn’t mind composing a post or elaborating on many of the subjects you write related to here.

    Again, awesome website!

  2. The GUTI (Globally Unique Temporary Identifier) is assigned to the EU by the MME during the first EU attachment request.
    Here EU and UE are the same?
    UE = user equipment
    EU = ?

    • Hi

      that’s exact, I wanted to say « En rajoutant le M-TMSI au GUMMEI, on obtient le GUTI. » but I wrote MMEI. Thank you very much for your remark, I modify MMEI with GUMMEI now.

      • Bonjour,
        Merci de la prise en compte. Votre blog est très bien fait, il y a un travail vraiment important derrière. Je m’y réfère régulièrement dans le cadre d’une R&D cellulaire.
        Bonne continuation.

    • Bonjour

      j’ai pris en compte votre remarque. Vous avez remarqué que ce blog sur la téléphonie mobile traite du réseau de mobile, du réseau de téléphonie à commutation de circuit, du réseau à commutation de paquets, des éléments de sécurités réseaux, de protocoles très divers et variés, …. et malgré toute l’attention portée, il m’arrive très régulièrement de mal employer un mot, de faire des fautes d’orthographes, …
      Ce travail personnel est un processus long. Je ne demande pas de remerciement, mais votre message pourrait être plus amical, ne serait ce qu’un bonjour. Vous vous cachez derrière un pseudo alors que nous pourrions entre Poitiers et Zurich travailler conjointement.
      En tout cas, je suis heureux de savoir que des personnes de l’Institut Fédérale de Technologie de Zurich me suive.

      Bien cordialement

  3. Bonjour.
    Tout d’abord bravo pour cette page.
    Je ne suis pas du tout compétent dans ce monde, et je voudrais savoir si il est possible que l’IMI sotcké dans la carte SIM soit erroné ? Je m’explique je rencontre des problèmes réseau avec mon téléphone. Le logcat indique un format invalid MNC à 1 digit au lieu de deux. J’ai beau rentrer les deux chiffres correspondant à mon opérateur, le MNC revient à 1 chiffres.
    Aussi, en début log j’ai ceci :
    5-17 21:36:09.235 E/TelephonyManager(1280): IMSI error: Subscriber Info is null.
    Avez vous une idée d’où le problème peut venir.
    Par avance merci.

    • Bonjour

      je ne vais pas pouvoir vous aider beaucoup, si on regarde le code android, il s’agit effectivement d’une erreur sur le type de chiffrement de l’identifiant IMSI, mais dans votre cas il ne récupère aucune information :

      public ImsiEncryptionInfo getCarrierInfoForImsiEncryption(int keyType) {
      try {
      IPhoneSubInfo info = getSubscriberInfo();
      if (info == null) {
      Rlog.e(TAG, »IMSI error: Subscriber Info is null »);
      return null;
      }

      Donc pour vous info=null alors que les informations attendues sont :
      private static final String LOG_TAG = « ImsiEncryptionInfo »;
      private final String mcc;
      private final String mnc;
      private final PublicKey publicKey;
      private final String keyIdentifier;
      private final int keyType;
      //Date-Time in UTC when the key will expire.
      private final Date expirationTime;

      Avez vous essayé une autre carte SIM, si l’erreur est identique je ferai dans un premier temps une mise à jour logicielle. Sinon, il ne vous reste plus qu’à retourner chez votre opérateur.
      Désolé pour mon retard de réponse

  4. merci pour vos différents articles sur la 4G.
    je suis actuellement entraîne de faire un mémoire de fin d’étude sur la migration des réseaux 3G vers la 4G pour une entreprise de la place et vos différents articles sur la 4G m’ont beaucoup aidé.
    je vous demande si vous avez d’autres document qui peuvent m’aidé de me donner les lien.
    cordialement

    • Bonjour

      j’essaye de couvrir plusieurs sujets, mais le temps me manque pour aller plus en détail. Je vous remercie pour votre message et heureux que mes articles aient pu vous aider. N’hésitez pas à votre tour à partager votre travail.

      Cordialement et bonne continuation

  5. Ping : 5G : pas encore totalement déployée, la technologie connaîtrait déjà ses premières failles (vivement la 6G…) ! | SOSordi.net

  6. Bonjour,
    Je découvre ce vieil article car je recherche à comprendre la trame TMSI, notamment le codage et l’utilisation des 4 bits dans l’uplink de la 4G. Son utilisation est – elle identique en 5G ?

Répondre à flaunay Annuler la réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *