Comment peut-on identifier un UE sans transmettre en clair sur la voie radio son identité permanente? Telle est la question à laquelle nous allons répondre dans cette vidéo, qui est un peu longue et complexe. Le SUPI, Subscription Permanent Identifier, est l'identité permanente unique au monde d'un UE dans un réseau 5G. Assez souvent, le SUPI est un IMSI, International Mobile Subscriber Identifier, qui a été défini dans les générations précédentes tout simplement pour permettre un interfonctionnement, par exemple avec les réseaux 4G, mais aussi les réseaux 3G, 2G. L'IMSI est formé par une identité de réseau, identité de PLMN, elle-même constituée à partir d'un code pays, Mobile Country Code, MCC et d'un code opérateur, Mobile Network Code, MNC. Chaque opérateur attribue à chaque abonné un numéro de série, Mobile Subscriber Identification Number ou MSIN, qui est unique dans son réseau. Lorsqu'un UE se déplace à l'étranger, c'est-à -dire dans le cas de l'itinérance internationale, l'UE va indiquer, parce que le réseau lui en fait la demande, son identité permanente, l'IMSI. Pourquoi? Parce qu'à partir de l'identité temporaire, le GUTI, il n'est pas possible de router correctement la demande d'attachement. Qu'est-ce qui est fait à partir de l'IMSI? Dans le réseau visité, il y a analyse du code pays et du code opérateur de façon à router vers le bon réseau nominal. Mais dans le réseau nominal, il se peut qu'il y ait plusieurs bases de données HSS, Home Subscriber Server dans le cas de la 4G, dans le cas de la 5G plusieurs instances d'UDM, chaque HSS gère une plage de numéros de MSIN. Il faut donc, dans le réseau nominal, analyser les premiers digits du MSIN pour router vers le bon HSS, celui qui gère l'abonné. Il faut camoufler le SUPI en créant un SUCI, SUbscription Concealed Identifier, et il faut être capable de continuer à router dans le cas de l'itinérance internationale. C'est-à -dire qu'on va garder de toute façon le MNC et le MCC en clair, et on ne va chiffrer que le MSIN. Les procédures de sécurité depuis la 2G sont basées sur une clé symétrique. Cela signifie que la même clé spécifique à l'abonné est stockée dans la carte SIM et dans la base de données de sécurité, l'ARPF en 5G. Chaque abonné a sa propre clé. Lorsqu'il y a une demande d'attachement, l'AMF, par exemple, va faire une demande de vecteur de sécurité pour l'IMSI1. À partir de la connaissance de l'IMSI, on en déduit le MSIN, et on peut créer un vecteur de sécurité qui est bâti à partir de K1, qui est donc spécifique à l'UE qui a fait la demande. Le chiffrement dépend de la clé K1. Si on chiffrait à partir de la clé K1 l'IMSI, on aurait une version du MSIN chiffré, et on ne peut pas connaître la clé de chiffrement puisque le MSIN est chiffré. Il y a donc un problème de poule et d'œuf à résoudre. L'objectif, il est de disposer d'une clé secrète qui soit partagée entre l'UE et le SIDF, et pour laquelle on peut se mettre d'accord avec des messages échangés en clair. Ça, c'est possible grâce à un échange de clé de type Diffie-Helmann, qui repose sur la cryptographie asymétrique. Une vidéo spécifique est proposée pour les personnes qui ne connaissent pas ce genre d'échange de clé. Comment cela fonctionne-t-il? On utilise le principe de la clé asymétrique. Il y a une première paire de clés avec une clé privée stockée dans le SIDF et la clé publique correspondante qui est stockée dans la carte SIM. Pour tous les abonnés, c'est la même clé publique. Il y a une deuxième paire de clés qui, elle, va changer au cours du temps. Cette clé est créée par l'UE à partir d'un nombre aléatoire, une clé secrète qui est calculée par l'UE, et la clé publique correspondante qui va être transmise à l'extérieur. À partir de la transmission de la clé publique engendrée par le mobile et de la clé privée stockée dans le SIDF, on crée une clé, et la même clé est obtenue en prenant cette fois-ci la clé publique stockée par l'opérateur dans la carte SIM, et la clé secrète engendrée par l'UE. Tout ceci permet d'avoir la même clé partagée, éphémère, car à chaque nouvelle création de clé, l'UE tire une nouvelle clé secrète, ce qui était notre objectif. Pour construire le SUCI, l'UE va donc, comme nous l'avons vu, prendre sa clé secrète, la clé publique, et calculer une clé secrète partagée éphémère. Cette clé secrète sert à calculer une séquence de chiffrements. On applique un OU exclusif avec le MSIN, le numéro de série, et on crée une version chiffrée du MSIN. L'UE transmet cette version chiffrée du MSIN avec la clé publique qu'il a créée. Le SIDF de son côté prend la clé privée, avec la clé publique qui est reçue calcule la clé éphémère partagée. Il en déduit donc la même séquence de chiffrement que l'UE, et en appliquant à nouveau un OU exclusif à la version chiffrée, il est capable d'en déduire le MSIN en clair. Il se pourrait qu'un attaquant décide de modifier le SUCI qui est transmis. On va donc protéger ce SUCI par un Message Authentication Code. Ce Message Authentication Code est calculé à partir de la clé secrète partagée, et il est ajouté à ce que nous avons vu pour créer le SUCI. Lorsque le SIDF reçoit un SUCI, il va tout d'abord vérifier qu'il n'y a pas eu de modification en cours de route. Il va donc s'assurer, à partir de la clé secrète partagée, que le MAC est valide. Si le MAC n'est pas valide, on arrête. Si le MAC est valide, alors on déchiffre le MSIN. Notons que ça évite d'avoir une modification du SUCI en cours de route, mais qu'il est très facile pour un attaquant de créer un SUCI valide à partir de n'importe quel IMSI. Ce n'est donc pas une authentification du SUPI qui est fournie par la vérification de ce MAC. D'autre part, il se peut que la clé privée soit cassée. À ce moment-là , on va chercher à utiliser une nouvelle clé et il ne faut pas avoir à modifier les cartes SIM. Donc, on ne veut pas forcément préparer une seule clé privée et sa clé publique correspondante, on va en préparer un ensemble, ce qui veut dire qu'il faut indiquer le numéro de la clé qui est utilisée dans le SUCI ; on l'intègre donc au SUCI. Nous avons donc un SUCI qui est relativement complexe. Dans ce SUCI, il faut d'abord indiquer le type de SUPI, c'est-à -dire 0 quand c'est un IMSI qui a été utilisé. L'identité du réseau nominal, le MCC, code pays, et le MNC, code opérateur. On rajoute les indications de routage, qui sont l'équivalent des bits de poids fort du MSIN. On rajoute un indicateur, car le SUCI peut évoluer dans le futur et on peut utiliser d'autres algorithmes, et on va intégrer le numéro de clé publique. La clé publique est elle-même transmise, notons qu'elle fait entre 256 et 264 bits, et on va rajouter ensuite le MSIN chiffré, ainsi que le MAC pour vérifier l'intégrité. Cela nous fournit un SUCI qui fait typiquement 400 bits, qu'on peut comparer aux 60 bits de SUPI lorsque c'est un IMSI. Le SUCI est donc relativement long. Le terminal avec la carte SIM crée le SUCI. Il va le transmettre à l'AMF. L'AMF, comme nous l'avons vu, va analyser les codes du PLMN pour router vers le bon réseau nominal. Dans le réseau nominal, il va y avoir analyse de l'indication de routage, afin de router vers la bonne instance d'UDM. Le SUCI est envoyé à l'UDM, c'est la fonction SIDF à ce moment-là qui va agir et qui va fournir le SUPI, SUPI qui va pouvoir être transmis jusqu'à l'AMF du réseau visité. En conclusion, en 5G nous avons le SUPI, l'identité permanente qui, en pratique, est l'équivalent de l'IMSI qu'on connaît dans les réseaux 4G ou 3G. Normalement, le SUPI n'est jamais transmis et on crée une version camouflée appelée SUCI, Subscription Concealed Identifier. Le chiffrement d'une partie du SUPI est obtenu par cryptographie asymétrique, et on utilise aussi une protection par une redondance de contrôle, un code d'authentification, MAC. Le dévoilement du SUPI à partir du SUCI est fourni par le SIDF du réseau nominal. Notons que le GUTI, l'identité temporaire, Globally Unique Temporary Identifier, reste utilisé la plupart du temps. Le principal objectif du SUCI c'est, lorsqu'on ne peut pas utiliser le GUTI ou qu'il n'y en a pas parce que c'est la première mise en service de l'UE, on évite, en utilisant le SUCI, de transmettre le SUPI en clair. Les limitations du SUCI sont que c'est un mécanisme optionnel. Il ne peut pas y avoir donc garantie absolue de sécurité puisqu'il peut ne pas être utilisé. D'autre part, il y a un certain coût opérationnel pour l'opérateur à mettre en œuvre le SUCI : il faut créer les paires de bi-clés privées/publiques, il faut mettre à jour les cartes SIM, et il faut mettre en œuvre le SIDF. Cela dit, si on utilise le SUCI, pas de souci, le SUPI est camouflé ! [MUSIQUE]