5G MAC-I : Code d’authentification des messages

5G MAC-I : Code d’authentification des messages

Aujourd’hui, on va explorer en détail le fonctionnement du MAC-I (Message Authentication Code for Integrity) dans le contexte des réseaux 5G. Il s’agit d’un mécanisme fondamental utilisé pour garantir l’intégrité des messages échangés entre l’UE (User Equipment) et le réseau, en particulier dans les communications NAS (Non-Access Stratum) et RRC (Radio Resource Control). Assurer l’intégrité des messages est essentiel pour éviter les attaques de type falsification, injection ou modification des données de signalisation critiques.

Objectif du MAC-I dans les réseaux 5G

Le rôle du MAC-I est de vérifier que les messages n’ont pas été altérés pendant leur transmission et qu’ils proviennent bien d’une source authentifiée. Contrairement à la confidentialité qui protège le contenu des messages, l’intégrité garantit que les données n’ont pas été modifiées. Cette vérification est essentielle dans les couches supérieures comme NAS et RRC, où les décisions critiques de sécurité et de mobilité sont prises.

Fonctionnement général du MAC-I

Le MAC-I est une valeur calculée à partir du contenu du message, d’une clé d’intégrité partagée et d’autres paramètres comme le compteur de séquence. Cette valeur est ensuite insérée dans le message envoyé, permettant au récepteur de recalculer le MAC-I à la réception et de le comparer à celui reçu. En cas de discordance, le message est rejeté.

  • Le MAC-I est généré via une fonction cryptographique normalisée appelée f1.
  • La clé utilisée pour la génération s’appelle IK (Integrity Key).
  • Les messages protégés par le MAC-I incluent principalement ceux de la signalisation NAS et RRC.

Structure et paramètres d’entrée

La fonction f1 utilisée pour générer le MAC-I dépend des algorithmes d’intégrité supportés, tels que 128-EIA1 (basé sur SNOW 3G), 128-EIA2 (basé sur AES) ou 128-EIA3 (basé sur ZUC). Ces algorithmes prennent les paramètres suivants :

  • La clé d’intégrité IK
  • Le compteur de séquence (COUNT)
  • La direction du message (uplink ou downlink)
  • L’identifiant porteur de la radio (BEARER ID)
  • Le message lui-même

Le résultat de cette fonction est un code d’authentification de 32 bits, qui est joint au message en tant que MAC-I. Ce processus est toujours appliqué aux messages sensibles du plan de contrôle.

Utilisation du MAC-I dans le NAS

Dans le contexte NAS, le MAC-I est utilisé pour sécuriser les messages échangés entre l’UE et l’AMF (Access and Mobility Management Function). Voici les étapes classiques :

  1. L’UE génère un message NAS clair.
  2. Il calcule le MAC-I à l’aide de la clé d’intégrité IKNAS dérivée du KAMF.
  3. Le message et le MAC-I sont envoyés à l’AMF.
  4. L’AMF vérifie le MAC-I en recalculant la valeur.

En cas de non-concordance, le réseau considère le message comme non fiable et le rejette, voire déclenche des mécanismes de sécurité supplémentaires.

Utilisation du MAC-I dans le RRC

Pour les messages RRC (entre l’UE et le gNB), un mécanisme similaire est appliqué :

  • Une clé d’intégrité spécifique RRC (KRRCint) est utilisée.
  • Les messages RRC critiques comme la configuration de la connexion, les reconfigurations ou la libération de la connexion sont protégés par MAC-I.
  • Le gNB ou l’UE vérifie le MAC-I reçu en fonction de la direction du message.

Exemple simplifié de calcul du MAC-I

Supposons un message RRC envoyé en uplink :
5G MAC-I : Code d’authentification des messages
La fonction f1 (ex : EIA2) est utilisée avec ces paramètres pour produire un MAC-I de 32 bits. Cette valeur est ensuite transmise avec le message.

Différences avec la protection de confidentialité

Il est important de ne pas confondre intégrité et confidentialité. Le MAC-I assure que les messages n’ont pas été altérés, tandis que la confidentialité (protection par chiffrement via NEA – NAS Encryption Algorithm) vise à empêcher leur lecture par des tiers non autorisés. Dans une transmission sécurisée complète, les deux protections sont souvent utilisées ensemble.

Limites et gestion des erreurs

Le rejet des messages avec un MAC-I incorrect est automatique. Cependant, des attaques de rejeu ou de désynchronisation du compteur COUNT peuvent mener à des rejets légitimes. Pour cette raison, les équipements doivent synchroniser soigneusement leurs compteurs de séquence, et des mécanismes comme la resynchronisation NAS sont utilisés dans le protocole.

Intégration dans l’architecture 5G

Le MAC-I s’intègre dans l’ensemble du cadre de sécurité 5G, qui repose sur des clés dérivées depuis le KSEAF, via le KAMF, vers les clés spécifiques à chaque plan (KRRCint, KNASint, etc.). Cette hiérarchie assure une séparation forte des responsabilités et une granularité de sécurité adaptée aux différents niveaux de signalisation du réseau.

En comprenant le MAC-I, on se familiarise avec un pilier central de la sécurité 5G. Pour approfondir, vous pourriez explorer comment les clés de sécurité sont dérivées et utilisées dans les échanges NAS et RRC.