La sécurité sur les réseaux de mobiles – Part 1

Merci à Tony Boucheau pour la relecture de l’article

 Introduction

A l’exception des appels d’urgence, le client mobile n’a accès à aucun des services offerts par le cœur de réseau mobile tant que celui-ci n’est pas authentifié.

Les échanges liés au processus d’authentification sont relayés par le point d’accès vers le serveur d’authentification. Le point d’accès est en général une station de base 2G/3G/4G/5G. Toutefois, le point d’accès WiFi est également vu comme une passerelle radioélectrique permettant de connecter l’utilisateur mobile au cœur de réseau 5G.

Une fois le client authentifié, le point d’accès laisse passer le trafic. Afin de garantir le secret des informations échangées, les données sont chiffrées et un contrôle d’intégrité par une signature MAC (Message Authentication Code) permet de vérifier l’authenticité de l’émetteur.

Le chiffrement est mis en place entre les acteurs de la transaction ce qui garantit que la session devient inintelligible aux autres personnes. Enfin, pour se prémunir des attaques de type Man in the Middle (IMSI Catcher), l’intégrité des données permet de vérifier que les données de signalisation échangées n’ont pas été altérées (de manière fortuite ou intentionnelle). Le chiffrement et l’intégrité sont réalisés au niveau du terminal et :

  • si le point d’accès est une station de base 4G ou 5G, celle-ci apporte un chiffrement sur le trafic de données et sur le trafic de signalisation ainsi qu’un contrôle d’intégrité sur la signalisation. Optionnellement, pour le réseau 5G, le contrôle d’intégrité peut aussi s’appliquer sur le trafic des données. Les clés de chiffrement et d’intégrité sont dérivées à partir d’une clé secrète et à partir des paramètres échangés lors du processus d’authentification ;
  • si le point d’accès est une station de base 2G, le chiffrement est réalisé au niveau de la station de base pour les communications téléphoniques et au niveau du SGSN pour les sessions IP ;
  • si le point d’accès est une station de base 3G, le chiffrement est réalisé au niveau du contrôleur RNC ;
  • si le point d’accès est un point WiFi, un tunnel est mis en œuvre entre le mobile et une entité de passerelle WAG (Wireless Access Gateway). Cette entité se nomme ePDG (evolved Packet Data Gateway) pour le réseau 4G et N3IWF pour le réseau 5G.

 

Le processus d’authentification a pour objectif de vérifier l’identité d’un client (aussi nommé pair ou supplicant). Le protocole d’authentification spécifie le format des messages échangés (requêtes/réponses) entre le client et l’authentificateur. En se basant sur l’identité présumée du client, l’authentificateur transmet au client un défi (un challenge). A partir du défi, le client calcule sa réponse qu’il transmet à l’authentificateur. Cette réponse permettra à l’authentificateur soit d’authentifier le client soit de démasquer un usurpateur d’identité.

L’architecture d’authentification est composée d’un point d’accès, d’un authentificateur et d’un serveur d’authentification. Dans le cas des réseaux de mobiles, l’authentificateur et le serveur d’authentification sont deux entités distinctes : le serveur d’authentification correspond à l’entité HSS pour les réseaux de mobiles 4G ou à l’entité UDM pour les réseaux de mobiles 5G. Le serveur d’authentification (HSS/UDM) est situé en back-end de l’authentificateur. La fonction d’authentificateur est gérée par l’entité MME en 4G ou par la fonction AMF en 5G.

Les étapes d’authentification sont les suivantes :

  • L’authentificateur reçoit une demande d’identification de la part d’un client comprenant l’identité du client. Cette requête peut être initiée par le client ou par l’authentificateur. A partir de cette demande d’identification, l’authentificateur transmet un défi au client ;
  • Le client calcule la réponse au défi et transmet la réponse à l’authentificateur ;
  • L’authentificateur contrôle la réponse en comparant la réponse du client à la réponse attendue.

L’authentificateur interroge le serveur d’authentification en lui fournissant l’identité du client. Le serveur d’authentification vérifie l’existence de l’identité du client, et le cas échéant génère un défi. Le client peut supporter plusieurs méthodes d’authentification. Le défi est choisi selon la méthode d’authentification supportée par le client. Le défi et la réponse sont transmises à l’authentificateur.

Pour les réseaux de mobiles, le client est la carte UICC et les méthodes d’authentifications sont définies dans l’application USIM (et dans l’application ISIM pour l’authentification avec le réseau IMS).

La carte UICC contient une identité IMSI unique et une clé d’authentification Ki. Ces deux informations sont stockées au niveau du serveur d’authentification.

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?