Procédé d'authentifîcation dans un réseau de radiotéléphonie
L'invention concerne un procédé d' authentification entre un terminal radiotélép onique mobile et un sous-système d'acheminement, appelé généralement réseau fixe, dans un réseau de radiotéléphonie cellulaire numérique. Plus particulièrement l'invention améliore l' uthentification à travers l'interface radio entre une carte ou module à microprocesseur, dite carte à puce SIM (Subscriber Identity Module) , amovible du terminal, et un centre d' uthentification du réseau de radiotéléphonie. Un réseau de radiotéléphonie cellulaire numérique de type GSM comprend principalement plusieurs terminaux radiotelephoniques mobile MS et un réseau fixe où circulent des messages de signalisation, de contrôle, de données et de voix comme le décrit la figure 1. Ainsi, dans le réseau RR sont représentées des entités principales à travers lesquelles transitent des données destinées à la carte SIM d'un terminal radiotéléphonique mobile MS situé dans une zone de localisation. Un commutateur de service mobile MSC relié à au moins un commutateur téléphonique à autonomie d' acheminement CAA du réseau commuté RTC gère des communications pour des terminaux mobiles visiteurs, parmi lesquels le terminal MS, qui se trouvent à un instant donné dans la zone de localisation desservie par le commutateur MSC. Un enregistreur de localisation des visiteurs VLR est relié au commutateur MSC et contient des caractéristiques, telles qu'identité et profil d'abonnement des terminaux mobiles situés dans la zone de localisation. Un contrôleur de station de base BSC relié au commutateur MSC gère notamment l'allocation de canaux à des terminaux mobiles. Une station de base BTS reliée au contrôleur BSC couvre la cellule radioélectrique où le terminal MS se trouve à l'instant donné.
Le réseau de radiotéléphonie RR comprend encore un enregistreur de localisation nominal HLR coopérant avec un centre d'authentifîcation AUC et relié aux commutateurs du service mobile à travers le réseau de signalisation du réseau de radiotéléphonie RR. L'enregistreur HLR, comme l'enregistreur VLR, est essentiellement une base de données, qui contient pour chaque terminal MS l'identité internationale IMSI (International Mobile Subscriber Identity) de la carte SIM insérée dans le terminal, c'est à dire de l'abonné possesseur de la carte SIM, le numéro d'annuaire, le profil d'abonnement de l'abonné, et le numéro de l'enregistreur VLR auquel est rattaché le terminal mobile à un instant donné. Ce numéro est mis à jour lors des transferts entre zones de localisation. Le centre d'authentifîcation AUC assure l' uthentification des abonnés préalablement à toute communication avec le terminal ou bien lors de la mise en fonctionnement du terminal ou lors d'un transfert intercellulaire. Il participe également à la confidentialité des données transitant dans l'interface radio IR entre le terminal MS et la station de base BTS auquel il est rattaché à un instant donné. Pour cela, le centre d'authentifîcation AUC gère un algorithme d'authentifîcation A3 et un algorithme A8 de détermination de clé du chiffrement, parfois fusionnés en un seul algorithme A3A8, selon la norme GSM. Ces algorithmes sont également présents dans la carte SIM du terminal mobile MS . Le centre d'authentifîcation AUC mémorise en outre une clé d'authentifîcation Ki attribuée uniquement à l'abonné. Cette clé correspond avec l'identité IMSI de l'abonné mémorisée dans l'enregistreur de localisation nominal HLR lors de la souscription d'abonnement par l'abonné. Pour pouvoir reconnaître l'abonné, il est nécessaire d'authentifier le terminal radiotéléphonique mobile MS . Le
centre d'authentifîcation n'authentifie pas le terminal mobile MS lui-même mais la carte SIM qu'il contient. Cette carte contient la clé Ki attribuée à l'abonné et prouve au moyen de l'algorithme d'authentifîcation A3 qu'elle connaît la clé sans la révéler. Comme le décrit la figure 2, le réseau fixe envoie un nombre aléatoire RAND à la carte et demande à celle-ci de calculer au moyen de l'algorithme d'authentifîcation un résultat fonction de la clé et du nombre aléatoire. Ce résultat est retourné au réseau sous la forme d'une réponse signée SRES (Signed RESponse) . Il est très difficile pour une personne malveillante souhaitant établir des communications radiotelephoniques débitées sur le compte du propriétaire de la carte SIM, de prévoir la valeur du nombre aléatoire. Sans la connaissance de la clé, la personne malveillante ne peut pas forger une réponse. La taille du nombre aléatoire empêche un « attaquant » de garder en mémoire toutes les valeurs du couple nombre aléatoire-réponse signée dans un dictionnaire. Toutefois les nouvelles technologies utilisées dans les générations récentes de radiotéléphones mobiles permettent de charger à travers le réseau de radiotéléphonie des programmes et de les exécuter. De la même manière que via Internet sur un ordinateur personnel, il est malheureusement possible de charger à son insu des virus ou autres chevaux de Troie. Comme le montre la figure 3, un cheval de Troie chargé dans le radiotéléphone mobile d'un abonné pourrait par exemple permettre au radiotéléphone MS de l'abonné de retourner une réponse signée SRES2 non pas au réseau de radiotéléphonie, mais à un second radiotéléphone mobile MS2 (d'une personne malveillante) en réponse à une demande d'authentifîcation émise par ce second radiotéléphone. Le second radiotéléphone retourne la réponse signée SRES2 (ainsi récupérée) au réseau de radiotéléphonie lors
d'une demande d'authentifîcation, et la personne malveillante peut utiliser le second radiotéléphone mobile pour passer des communications pour le compte de l'abonné. En outre, un abonné malveillant bénéficiant d'un abonnement lui permettant de communiquer gratuitement le week-end par exemple, pourrait être tenté suivant le même procédé de « revendre » des communications à une tierce personne complice. On peut ainsi considérer que la carte SIM d'un abonné est « virtuellement clonée ».
L'invention vise à remédier aux inconvénients de la procédure d'authentifîcation commentée ci-dessus et particulièrement à rendre l'attaque décrite inopérante sans modifier le matériel du réseau de radiotéléphonie. A cette fin, un procédé d'authentifîcation entre une première entité et une deuxième entité dans un réseau de communication, comprenant des étapes d'appliquer des clés d'authentifîcation mémorisées respectivement dans les première et deuxième entités et un nombre aléatoire produit par la deuxième entité et transmis par la deuxième entité à la première entité respectivement à des premiers algorithmes identiques mémorisés dans les première et deuxième entités, et comparer dans la deuxième entité une réponse produite par le premier algorithme mémorisé dans la première entité et transmise à la deuxième entité avec un résultat de réponse produit par le premier algorithme mémorisé dans la deuxième entité, ledit procédé est caractérisé en ce que l'étape d'appliquer au premier algorithme le nombre aléatoire est réalisée au moyen d'une étape préalable de transformation dudit nombre aléatoire pour obtenir un nombre aléatoire transformé appliqué audit premier algorithme, ladite étape préalable de transformation consistant à appliquer le nombre aléatoire et le résultat de réponse de la précédente
authentification à des deuxièmes algorithmes identiques mémorisés respectivement dans les première et deuxième entités, et en ce que ledit procédé comporte en outre l'étape de mémoriser respectivement dans les première et deuxième entités la réponse produite par le premier algorithme. Selon une réalisation préférée, les première et deuxième entités sont respectivement un terminal radiotéléphonique et un réseau fixe dans un réseau de radiotéléphonie. L'étape d'appliquer aux deuxièmes algorithmes le nombre aléatoire et le résultat de réponse de la précédente authentification permet d'annuler tout risque d'attaque de type « clonage virtuel » de la carte SIM comme décrit précédemment. Le résultat de réponse délivré par le radiotéléphone de l'abonné au radiotéléphone de la personne malveillante ne permettra pas à ce dernier d'être authentifié auprès du réseau comme étant un radiotéléphone de l'abonné. Le résultat de réponse délivré par le radiotéléphone de la personne malveillante dépend de la réponse signée correspondant à la précédente demande d'authentifîcation soumise au radiotéléphone mobile alors que le résultat de réponse calculé par le centre d'authentifîcation dépend du dernier résultat de réponse correspondant la dernière authentification de l'abonné par le réseau fixe. La demande d'authentifîcation du radiotéléphone de la personne malveillante est rejetée par le réseau.
L'invention concerne également un module d'identité, tel qu'une carte d'identité d'abonné, dans une première entité, telle qu'un terminal radiotéléphonique mobile qui est caractérisé en ce qu'il comprend des moyens pour mémoriser au moins un deuxième algorithme, des moyens pour mémoriser le résultat de réponse à la précédente authentification et des
moyens pour exécuter au moins les étapes d' appliquer au deuxième algorithme et au premier algorithme conformément à l'invention.
D'autres caractéristiques et avantages apparaîtront plus clairement à la lecture de la description qui suit et à l'examen des figures qui l'accompagnent parmi lesquelles : la figure 1 est un bloc-diagramme schématique d'un réseau de radiotéléphonie cellulaire numérique ; la figure 2 montre les étapes d'authentifîcation d'un radiotéléphone selon l'art antérieur ; la figure 3 montre les étapes permettant à un « attaquant » de cloner virtuellement la carte d' identité d' un abonné ; la figure 4 montre des étapes d'un procédé d'authentifîcation conforme à l'invention et, la figure 5 montre l'échec d'une attaque de type « clonage virtuel » par la mise en œuvre du procédé d'authentifîcation selon l'invention.
Le procédé de l'invention est décrit ci-après dans le cadre du réseau de radiotéléphonie RR de type GSM, déjà présenté en référence à la figure 1 qui ne subit que des modifications et adjonctions de logiciel essentiellement dans le centre d'authentifîcation AUC ainsi que dans les cartes SIM des terminaux radiotelephoniques mobiles. Dans la description ci-après, un réseau fixe VLR/HRL-AUC est considéré comme la chaîne d'entités rattachées au terminal radiophonique mobile MS depuis l'interface radio IR, comprenant la station de base BTS, le contrôleur de station BTS, le commutateur MSC avec l'enregistreur de la localisation des visiteurs VLR et le couple HLR-AUC. La figure 1 rappelle
également qu'un terminal radiotéléphonique mobile MS comprend un module à microprocesseur, telle qu'une carte à puce SIM. La carte à puce SIM comprend essentiellement une mémoire morte ROM, dite de programmes incluant généralement un système d'exploitation et des algorithmes d'applications, une mémoire non volatile EEPROM qui contient notamment toutes les données caractérisant l'abonnement du porteur de la carte, un répertoire de numéros de téléphone, des codes secrets ou clés d' authentification voire des programmes et algorithmes également, une mémoire RAM de traitement des données utilisées par le système d'exploitation notamment durant les échanges entre la carte et le terminal radiotéléphonique mobile qui 1' accueille . La figure 2 illustre les principales étapes du procédé d'authentifîcation entre un terminal radiotéléphonique mobile MS et un réseau fixe tel qu'il fonctionne à ce jour. Lors de la mise en service du terminal radiotéléphonique mobile ou bien préalablement à toute communication téléphonique ou encore lors d'un transfert intercellulaire, le réseau de radiotéléphonie VLR/HLR-AUC, transmet une demande d'authentifîcation E12 au terminal radiotéléphonique mobile en réponse à l'émission Eli par le radiotéléphone mobile MS de l'identité de l'abonné IMSI. La demande d'authentifîcation s'accompagne d'une transmission d'un nombre aléatoire RAND du réseau fixe au terminal radiotéléphonique mobile MS . A l'étape E13, ce dernier commande à la carte SIM de générer une réponse signée SRES à la demande d'authentifîcation du réseau fixe. A l'étape E14, cette réponse est élaborée à l'aide de l'algorithme d'authentifîcation AA auquel sont appliqués la clé d'authentifîcation Ki et le nombre aléatoire RAND, transmis par le réseau fixe. La clé Ki est préalablement mémorisée dans la carte à puce et attribuée lors de la souscription de l'abonnement. Le terminal recueille la
réponse SRES générée par la carte et la transmet en El 5 à son tour au réseau fixe. A l'étape E16, le réseau fixe VLR/HLR-AUC élabore un résultat de réponse RSRES à l'aide d'un algorithme AA, de la clé Ki, mémorisée dans le centre d'authentifîcation AUC en correspondance avec l'IMSI de l'abonné. A l'étape E17, le résultat de réponse RSRES est comparé par le centre d'authentifîcation AUC à la réponse signée SRES retournée par le terminal radiotéléphonique mobile MS. Si le résultat de réponse RSRES correspond à la réponse signée SRES, la demande d'authentifîcation de l'abonné est satisfaite et l'abonné peut utiliser son terminal pour communiquer. Dans le cas contraire la demande d'authentifîcation échoue et l'abonné ne peut utiliser son radiotéléphone mobile. La figure 3 met en scène une attaque de type « clonage virtuel » de la carte SIM d'un abonné. Comme expliqué précédemment les nouvelles technologies employées dans les radiotéléphones mobiles permettent de télécharger via le réseau de radiotéléphonie des programmes dans les radiotéléphones . Une personne malveillante ou « attaquant » veut parvenir à communiquer à l'aide d'un second radiotéléphone mobile MS2 sur le compte d'un abonné à son insu. Par l'intermédiaire d'un cheval de Troie téléchargé dans le radiotéléphone MS d'un abonné, La personne malveillante rend le radiotéléphone de l'abonné capable de répondre à une demande d'authentifîcation issue non pas du réseau mais d'un second radiotéléphone mobile. Le radiotéléphone mobile MS d'un abonné est authentifié licitement, conformément aux étapes Elll à El 1 7 Le second radiotéléphone mobile MS2 sollicite une authentification E121 auprès du réseau fixe VLR2/HLR-AUC pour le compte de l'abonné. Le second radiotéléphone mobile MS2 communique l'IMSI de l'abonné audit réseau fixe VLR2/HLR-AUC qui
lui demande en retour de s'authentifier en lui transmettant un nombre aléatoire RAND2 à l'étape E122. Le radiotéléphone MS2 de la personne malveillante soumet une demande d'authentifîcation E123 au premier radiotéléphone mobile MS, en lui communiquant le nombre aléatoire RAND2, transmis préalablement par le réseau fixe. Le radiotéléphone mobile MS de l'abonné demande à la carte SIM de générer à l'étape E124 une réponse signée SRES2 en utilisant l'algorithme d'authentifîcation AA de la carte SIM, avec en entrées la clé Ki mémorisée dans la carte SIM et le nombre aléatoire RAND2. Le radiotéléphone recueille à l'étape E125 la réponse SRES2 et la transmet à l' étape E126 à son tour au radiotéléphone mobile MS2 de la personne malveillante. Ce dernier retourne au réseau fixe VLR2/HLR-AUC la réponse signée SRES2 à l'étapeE127. Parallèlement le réseau fixe VLR2/HLR-AUC génère à l'étape E131 le résultat de réponse RSRES2 en appliquant au sein du centre d'authentifîcation AUC à l'algorithme AA d'authentifîcation le nombre aléatoire RAND2 et la clé d'authentifîcation Ki de l'abonné. Le résultat de réponse RSRES2 est équivalent à la réponse signée SRES2. Le réseau fixe authentifie donc le second radiotéléphone mobile MS2 comme étant propriété de l'abonné à l'étape E132. La personne malveillante peut utiliser ainsi son radiotéléphone et communiquer sur le compte de 1 ' abonné .
Pour remédier au problème posé par l'attaque décrite en référence à la figure 3, la présente invention adapte le procédé d'authentifîcation décrit en référence à la figure 2, en ajoutant comme le montre la figure 4, une étape E24 préalable au calcul E25 de la réponse signée SRESn par la carte SIM d'un radiotéléphone mobile MS et une étape E27 préalable au calcul E28 du résultat de réponse RSRESn par le centre
d'authentifîcation AUC. La figure 4 décrit un procédé d'authentifîcation selon l'invention dans lequel après réception E21 de l'IMSI d'un abonné par le réseau fixe VLR/HLR-AUC, ce dernier soumet une demande d'authentifîcation E22 au radiotéléphone mobile MS . Ledit radiotéléphone demande, à l'étape E23, à la carte SIM de calculer une réponse signée sur la base de la clé d'authentifîcation Ki mémorisée dans la carte SIM et du nombre aléatoire RANDn. Préalablement au calcul de la réponse signée SRESn, la carte SIM applique, à l'étape E24, à un second algorithme de transformation AT, algorithme mémorisé dans la carte SIM, le nombre aléatoire RANDn et la réponse signée SRESn-1 correspondant à la précédente demande d' authentification du radiotéléphone mobile MS . Le résultat TRANDn issu de la transformation du nombre aléatoire RANDn est appliqué, à l'étape E25, à l'algorithme d'authentifîcation AA mémorisé dans la carte SIM. La réponse ainsi calculée SRESn est mémorisée (étape non représentée dans la figure 4) dans la carte SIM pour être utilisée lors la prochaine authentification. Ladite réponse SRESn est retournée au réseau fixe VLR/HLR-AUC par le radiotéléphone mobile MS à l'étape E26. De son côté, le réseau fixe VLR/HLR-AUC calcule, à l'étape E28, un résultat de réponse RSRESn à l'aide de l'algorithme AA d'authentifîcation mémorisé dans le centre d'authentifîcation AUC auquel sont appliqués la clé Ki de l'abonné et le nombre aléatoire TRANDn résultant d'un algorithme de transformation AT, mémorisé également dans le centre d'authentifîcation AUC, auquel sont appliqués le nombre RANDn transmis au radiotéléphone mobile à l'étape E22, et le résultat de réponse RSRESn-1 correspondant à la précédente demande d'authentifîcation. Le nouveau résultat de réponse ainsi calculé est mémorisé (étape non représentée dans la figure 4) dans le centre d'authentifîcation AUC pour être utilisé lors la prochaine authentification. Le centre d'authentifîcation AUC
compare à l'étape E29, ledit résultat de réponse RSRESn à la réponse signée SRESn transmise par le radiotéléphone mobile MS à l'étape E26. Si le résultat RSRESn correspond à la réponse signée SRESn, l' authentification de l'abonné est satisfaite et l'abonné peut utiliser le radiotéléphone mobile MS pour communiquer. Dans le cas contraire l' authentification échoue et l'abonné ne peut communiquer avec son radiotéléphone mobile. Dans le cas d'une première authentification, il n'est pas possible d'utiliser respectivement la réponse et le résultat de réponse de l' authentification précédente. Un nombre dont la valeur est établie par convention, est alors appliqué à l'algorithme de transformation conjointement au nombre aléatoire. Dans une variante préférée la valeur de ce nombre est nulle. Pour détecter qu'il s'agit d'une première authentification, la carte SIM peut à titre d'exemple exploiter la valeur du nombre aléatoire qui lui est transmis via le terminal de radiotéléphonie MS par le réseau fixe VLR/HLR-AUC. Par exemple, la valeur nulle du bit de poids fort du nombre aléatoire peut indiquer qu'il s'agit d'une première authentification. Une valeur non nulle dudit bit de poids fort indique à la carte SIM qu'il s'agit au moins d'une deuxième authentification. D'autres configurations ou solutions techniques peuvent également être utilisées pour traiter le cas particulier d'une première authentification.
La nature de l'algorithme de transformation AT peut avoir une influence sur la robustesse du procédé d'authentifîcation selon l'invention. Ainsi l'algorithme de transformation sera de préférence réalisé au moyen d'une fonction dite à sens unique. Une telle fonction permet de calculer très facilement TRANDn=AT (RANDn, SRESn-1) mais rend particulièrement difficile le
calcul des nombres RANDn et SRESn-1 si l'on connaît TRANDn et l'algorithme AT. En outre, l'utilisation d'une fonction dite sans collision pour réaliser l'algorithme de transformation AT sera à envisager de préférence. Une telle fonction ne permet pas de trouver facilement des couples (RAND1, SRES1) et (RAND2, SRES2) tels que
AT (RAND1, SRES1) est égal à AT(RAND2, SRES2) . Dans une variante préférée, l'algorithme de transformation AT est réalisé à l'aide d'une fonction de hachage qui satisfait à la fois les propriétés d'une fonction à sens unique et d'une fonction sans collision. A titre d'exemple, la fonction de hachage correspond à l'algorithme SHA-1 (Secure Hash Algorithm - version 1) défini par la norme FIPS (Fédéral Information
Processing Standard) 180-1 du 17 avril 1995. Une étape de troncature du nombre aletoire transmforme sera alors envisagée.
A titre d'exemple les 128 bits de poids fort pourront être conservés pour être conforme aux spécifications de l'algorithme
AA utilisé dans le GSM. L'adaptation du procédé d'authentifîcation présenté en référence à la figure 4 rend totalement inopérante une attaque par « clonage virtuel » de la carte SIM, attaque précédemment illustrée au moyen de la figure 2. La situation à présent décrite en référence à la figure 5, met en scène un abonné s' étant authentifié licitement à l'aide des étapes E211 à E216 conformément au procédé d'authentifîcation selon l'invention et une personne malveillante munie d'un second radiotéléphone MS2 apte à émettre à l'étape E221 l'IMSI de l'abonné, à l'insu dudit abonné, au réseau fixe VLR2/HLR-AUC . Par le biais d'un cheval de Troie préalablement chargé dans le radiotéléphone mobile MS d'un
abonné, ledit radiotéléphone MS accepte une demande d'authentifîcation E223 de l'abonné issue du second radiotéléphone mobile MS2 avec comme données un nombre aléatoire RANDm transmis par le réseau fixe à l'étape E222 au radiotéléphone mobile MS2. Le radiotéléphone de l'abonné demande, à l'étape E224, à la carte SIM de l'abonné de générer une réponse signée SRESm. La carte SIM applique, à l'étape E225, le nombre aléatoire RANDm et la réponse signée SRESn correspondant à la précédente authentification à l'algorithme de transformation AT. Le nombre TRANDm ainsi obtenu et la clé Ki d'authentifîcation sont appliqués, à l'étape E226, à l'algorithme d'authentifîcation AA de la carte SIM pour élaborer la réponse signée SRESm. Le radiotéléphone mobile MS de l'abonné retourne, à l'étape E227, ladite réponse signée au second radiotéléphone mobile, laquelle est transmise, à l'étape E228, au réseau fixe VLR2/HLR-AUC . De son côté, le réseau fixe élabore par le centre d'authentifîcation AUC, à l'étape E231, le résultat de réponse RSRESm pour être comparé, à l'étape E233 avec la réponse signée SRESm. Le résultat de réponse RSRESm est obtenu à la suite de l'étape E232 consistant à appliquer à l'algorithme de transformation AT mémorisé dans le centre d'authentifîcation AUC, le nombre aléatoire RANDm et le résultat de réponse RSRESm-1 mémorisé dans ledit centre d'authentifîcation à la suite de la précédente demande d'authentifîcation licite de l'abonné. Le nombre TRANDm ainsi obtenu est appliqué, à l'étape E231, avec la clé d'authentifîcation Ki de l'abonné à l'algorithme d'authentifîcation AA mémorisé dans le centre d'authentifîcation AUC. Le résultat de réponse obtenu est comparé, à l'étape E233, à la réponse signée SRESm transmise par le second radiotéléphone mobile MS2. La comparaison échoue bien évidemment et la personne malveillante ne peut communiquer sur le compte de l'abonné.
Le procédé d'authentifîcation selon l'invention met ainsi parfaitement en échec l'attaque dite de « clonage virtuel » de la carte SIM de l'abonné.
Bien que l'invention ait été décrite selon des réalisations préférées en référence à un réseau de radiotéléphonie entre un terminal radiotéléphonique mobile et le réseau fixe du réseau de radiotéléphonie, le procédé d'authentifîcation selon l'invention peut être mis en œuvre dans un réseau de télécommunication relativement à deux entités dont l'une a besoin d'authentifier l'autre, chaque entité pouvant être un ensemble d'entités prédéterminées et reliées.