Voyons à nouveau, mais de manière plus détaillée, comment la toute première procédure d'attachement en réseau fonctionne. Tout d'abord, le terminal envoie une demande d'attachement au réseau, dans laquelle il inclut l'IMSI de l'abonné et ses capacités en termes de sécurité. Si le réseau peut identifier l'abonné, elle peut connaître les algorithmes de chiffrement et d'intégrité supportés par le terminal. Après réception de cette demande, le MME a besoin d'un vecteur d'authentification afin de pouvoir authentifier le terminal. Il envoie une demande de vecteur d'authentification au HSS en indiquant l'IMSI de l'abonné et le réseau auquel l'abonné veut s'attacher. Le réseau est identifié par le code du pays et le code d'opérateur au sein du pays. Si l'abonné est dans son réseau, les codes pays opérateurs sont les mêmes que ceux de l'IMSI. Si l'abonné est à l'étranger, le MCC et le MNC envoyés au HSS sont ceux du réseau visité. Le HSS génère plusieurs vecteurs d'authentification et les envoie au MME. Le MME, il utilise un de ces vecteurs. Il commence la procédure d'authentification du terminal. Le terminal authentifie le réseau grâce aux jetons d'authentification, et renvoie la réponse RES. Le MME vérifie que le réseau envoyé correspond au XRES qu'il a dans son vecteur d'authentification. Une fois l'authentification finalisée, le réseau et le terminal mobile vont échanger quelques messages pour activer le chiffrement et l'intégrité correctement. Les procédures sont définies pour éviter de se retrouver dans des situations problématiques où l'un d'entre eux chiffre les messages avec un algorithme, et l'autre essaie de les déchiffrer avec un autre. Le MME active le chiffrement du terminal avec la commande Security Mode. Il indique les algorithmes de chiffrement et d'intégrité à utiliser pour la suite des communications avec le MME. Cette commande n'est pas chiffrée, mais elle est signée avec la clé d'intégrité du MME, et donc le terminal peut vérifier qu'elle n'a pas été émise par un attaquant potentiel. Suite à cette commande, le terminal active le chiffrement et l'intégrité des données avec les algorithmes indiqués. Il répond au MME pour indiquer le succès de cette opération et cette fois-ci, la réponse est chiffrée et signée. Le MME alloue les ressources nécessaires entre le PGateway et le SGateway pour qu'il puisse relayer les données de l'utilisateur. Nous verrons ces aspects en semaine quatre. Ensuite, le MME envoie un message à l'eNodeB pour lui indiquer que l'utilisateur a été authentifié, et pour donner entre autres la clé K eNodeB. L'eNodeB active le chiffrement du canal radio, de la même manière que le MME avait activé le chiffrement entre lui et le terminal. Le eNodeB envoie la commande Security Mode avec les algorithmes de chiffrement et d'intégrité à utiliser sur le canal radio, qui peuvent être différents des algorithmes choisis par le MME. Encore une fois, ce premier message est signé, mais il n'est pas chiffré. La confirmation de la commande est, quant à elle, chiffrée et signée. Finalement, le MME envoie les paramètres de connectivité au terminal mobile en toute sécurité. Ces paramètres contiennent, entre autres, son adresse IP et son GUTI. Comment est attribuée l'adresse IP du terminal mobile, elle-même ? Après la réponse du terminal, qui active le chiffrement entre lui et le MME, ce dernier se charge de retrouver par où vont passer les données d'utilisateurs. Quel sera son SGateway et son PGateway ? Le MME interroge le HSS de la donnée, qui retourne les paramètres de connectivité pour cet abonné. Ces paramètres peuvent varier, et par exemple peuvent indiquer une adresse IP statiquement allouée par l'opérateur. Dans la plupart des cas, il s'agit d'une simple confirmation par rapport au PGateway demandé par le terminal mobile, et le type de paquets que le terminal demandait à utiliser. Le MME se base sur deux paramètres fournis par le terminal mobile et/ou le HSS lors des échanges précédents. Il s'agit du APN - Access Point Name -, qui indique quel PGateway il faut utiliser, et du PDN Type, Packet Data Network Type, qui indique le type de paquet à utiliser. Typiquement, l'APN indique le nom DNS du PGateway et le PDN Type indique la connectivité demandée IPV4, IPV6 ou les deux. À la base de ces paramètres, le MME identifie quel SGateway sera attribué au terminal mobile et lui envoie un message. Le SGateway, de son côté, contacte le PGateway identifié. C'est le PGateway qui réserve des ressources pour les communications du terminal mobile et répond avec les paramètres de communication à fournir au terminal. Comme par exemple son adresse IP et son serveur DNS. La réponse est propagée du SGateway, qui lui aussi alloue des ressources pour le terminal, vers le MME, qui envoie ces informations vers le terminal mobile à travers de l'eNodeB. À partir de ce moment, le terminal mobile peut communiquer avec le reste du monde. Maintenant, si on visualise l'enchaînement de messages entre les différentes entités, on obtient le schéma suivant. Le terminal mobile envoie une demande d'attachement au réseau, au MME. Le MME contacte le HSS pour établir le profil de communication à utiliser pour cet abonné. Le MME obtient ainsi le SGateway à utiliser, il contacte le SGateway en lui indiquant les paramètres de communications. Le SGateway, de son côté, contacte le PGateway identifié par l'APN. Finalement, le PGateway alloue les ressources nécessaires, comme l'adresse IP et l'utilisateur, et renvoie au SGateway une confirmation avec les paramètres à fournir au terminal mobile. À la réception de cette confirmation, le SGateway alloue de son côté aussi les ressources nécessaires pour les communications entre lui et le PGateway. À partir de ce moment, les paquets IP de cet utilisateur peuvent transiter entre le PGateway et le SGateway. Ensuite, le SGateway confirme le succès de cette opération au MME, qui de son côté transmet le contexte de sécurité à l'eNodeB. Le contexte contient des paramètres de sécurité, mais également les ressources allouées à l'eNodeB pour établir le canal de communication entre lui et le SGateway. Nous verrons ces points en semaine quatre et cinq. Les paquets IP peuvent transiter maintenant entre le SGateway et l'eNodeB. Finalement, le MME envoie au terminal les paramètres de connexion, tels que son adresse IP, qui vont permettre à l'utilisateur d'effectuer ses communications.