GSM Security

De Wiki du LAMA (UMR 5127)
Révision datée du 18 novembre 2016 à 17:22 par Gyocc (discussion | contributions) (Ajout logo GSM)
Aller à la navigation Aller à la recherche
Auteurs : Gary Charvier et Geoffrey Yoccoz
GSM

Introduction

GSM (Global System for Mobile communications) est un standard utilisé pour la téléphonie mobile.
Cette norme de deuxième génération a été élaborée à la fin des années 1980 pour pallier à la demande croissante en communications mobiles et pour élaborer une norme unique internationale.
La première communication expérimentale est faite par le groupe GSM en 1991.

Terminologie du réseau

Le réseau est composé de plusieurs éléments, dont notamment :

- Base Station Subsystem (BSS) : Une station de base, antenne relais qui effectue la connexion entre les mobiles et le réseau de l'opérateur.
- Network and Switching Subsystem (NSS) : Le système qui s'occupe de router les communications et d'assurer la continuité de l'appel lorsque l'utilisateur change d'antenne.
- GPRS Core Network : Le système qui permet au réseau de transmettre des paquets Internet.
- Visitor Location Register (VLR) : Un annuaire regroupant les informations des abonnés.

Img architecture gsm.png

Les objectifs de sécurité de GSM

GSM a pour but d'être un réseau sans-fil sécurisé. Il assure plusieurs fonctions de sécurité :

- L'authentification : le réseau peut s’assurer de l’identité d’une carte SIM via une clé pré-enregistrée et un système de stimulation/réponse (challenge-response). Il est impossible d’usurper l'identité de quelqu’un.
- La confidentialité : GSM protège toutes les données de l'utilisateur (la voix, les numéros composés, etc) via un chiffrement des communications radio.
- L'anonymat : Un pirate écoutant le réseau ne doit pas pouvoir suivre la position d’un utilisateur ni savoir qui il contacte/qui le contacte.

La carte SIM

Les cartes SIM assurent différents rôles qui sont :

  • L’identification : Alice peut se présenter au réseau.
  • L'authentification : Bob ne peut pas de faire passer pour Alice.
  • Le chiffrement : Charlie ne peut pas écouter la conversation d'Alice et Bob.

3 algorithmes sont utilisés pour assurer ces fonctions de sécurité :

  • L’algorithme A3 sert à l’authentification.
  • L'algorithme A5 sert à chiffrer les communications de manière synchrone. On peut dénombrer deux variantes utilisées : la variante A5/1 en Europe et A5/2 en Amérique du Nord.
  • L’algorithme A8 permet de générer une clé qui sera utilisée lors du chiffrement du message, réalisé par l'algorithme A5.

Chaque carte SIM est identifiée sur le réseau par un identifiant unique, son IMSI (International Mobile Subscriber Identity).
L’opérateur y stocke également un numéro secret Ki de 128 bits, qu’il conserve également.
Celui-ci servira à authentifier la carte SIM lorsqu'elle se connectera à son réseau.

L'authentification

Pour s’identifier sur un réseau GSM, la carte SIM doit transmettre en clair son IMSI à l’antenne.
Quiconque écoute sur le réseau peut donc récupérer son IMSI et le transmettre au réseau dans le but d’usurper son identité.
Le réseau doit donc s’assurer de l'identité de la carte SIM. Pour cela, la carte SIM qui a déjà décliné son ISMI soit prouver qu’elle connaît aussi la clé secrète Ki, sans jamais la transmette.

Cette procédure d’authentification cryptographique est dite « Zero Knowledge Interactive proof » ou « Preuve à divulgation nulle de connaissance  ».

Procédure d'authentification GSM
  • La procédure est la suivante :
  1. Le mobile envoie envoie l’IMSI de la carte SIM.
  2. Le VLR renvoie une valeur aléatoire RAND (sur 128 bits).
  3. La carte SIM utilise sa clé Ki (sur 128 bits) et la valeur RAND pour générer une réponse signée SRES (sur 96 bits).
  4. Le VLR effectue le même calcul et compare les deux valeurs.
  5. Le VLR s’assure ainsi de l’identité de la carte SIM sans que celle-ci ne divulgue sa clé sur le réseau.

Le chiffrement sur le réseau GSM

La carte SIM utilise l’algorithme A8 pour générer une clé de chiffrement Kc (sur 64 bits) toujours à partir de Ki et Rand.

  • Kc = A8(Ki, Rand)

De la même manière, le VLR va calculer la même clé Kc.
Ils ont donc tous les deux la connaissance de cette clé.
La carte SIM et la BTS chiffrent et déchiffrent ensuite tous leurs échanges grâce à cette clé en utilisant l'algorithme symétrique A5.

L’anonymat

Une communication est toujours chiffrée mais le mobile doit toujours transmettre à l’antenne son identité en clair, sans quoi celle-ci ne sait pas quelle clé utiliser pour déchiffrer la communication.
En écoutant le réseau, un pirate pourrait donc connaître toutes les habitudes téléphonique d’un personne : la durée ou la fréquence de ses appels par exemple.
Afin d’empêcher cela, le VLR attribue régulièrement un nouvel identifiant temporaire (TMSI) à la carte SIM.

Les limites de la sécurité GSM

La communication est chiffrée uniquement entre le mobile et l’antenne et pas de bout en bout : les communications transitent en clair sur le réseau de l’opérateur.
Le mobile ne vérifie pas l’identité du réseau auquel il se connecte et peut donc se connecter à une fausse antenne.
Les algorithmes A3 / A5 / A8 ne sont pas imposés et il existe des variantes entre les opérateurs.
A5 utilise une clé de seulement 64 bits (voire 54 pour l'implémentation utilisée par GSM), ce qui rend le chiffrement trivial aujourd’hui.

Les ajouts de UMTS (3G)

La clé passe de 64 à 128 bits.
Ajout d’une authentification mutuelle : le mobile s’assure de l’identité du réseau.

Liens externes

Wikipédia - GSM
La sécurité des téléphones portables GSM