Brevet FR2837336A1 — publié le 20030919

L'invention se rapporte a un procede d'echange dtinformations d'authentification entre une entite de communication, notamment une entite de communication mobile, sans fil et un serveur-operateur correspondent, avec lequel une communication est susceptible de s'etablir, eventuellement par l'intermediaire d'un reseau tiers. L'invention s'applique particulierement a l'echange des informations entre un telephone mobile et le serveur-operateur dont il depend, notamment pour ['execution des operations d'authentification par echange de cles et mise en cauvre d'algorithmes de cryptographic permettant de verifier les droits de ladite entite avant d'etablir une communication. Dans le domaine de la telephonic mobile, un utilisateur possedant un telephone mobile doit entrer en communication avec le serveur-operateur dont il depend. Pour ce faire, une communication hertzienne s'etablit entre ltentite mobile (le telephone mobile) et le servour-operateur, generalement par l'intermediaire d'un reseau tiers (et du serveuroperateur de celui-ci) dont les moyens de telecommunication vent les plus apses a percevoir le signal emis par le telephone mobile, compte tenu de ['emplacement de celui-ci au moment ou il cherche a etablir la communication. Une fois la liaison etablie, commence une phase d'authentification qui a pour but de verifier les droits de l'entite mobile. En cas de succes du processus cryptographique d'authentification, une conversation telephonique est autorisee. Par exemple, pour realiser le processus cryptographique, le groupement GSM a defini une fonctionnalite connue sous ['appellation A3-A8 qui permet au serveur operateur concerne d'authentifier un telephone mobile qui cherche a se mettre en relation avec lui. Cette fonctionnalite est executee par une carte a microcircuit, appelee carte SIM (en anglais, Subscriber Identity Module) et placee dans le telephone mobile. Outre l'authentification de l'abonne, la fonctionnalite A3-As engendre une cle temporaire Kc assurant la securite de la communication subsequente, entre le telephone et le serveur-operateur, par cryptage d'une partie du trafic. Les algorithmes susceptibles de realiser cette fonctionnalite vent specifiques de ltoperateur. Un tel algorithme s'execute avec, en entrees, un nombre aleatoire de 16 octets et une cle de 16 octets. La sortie de A3 est une valeur d'authentification appelee SRES de 4 octets et la sortie de A,3 est une cle de 8 octets appelee Kc. La norme GSM fournit un exemple d'algorithme realisant la fonctionnalite A3-A3, appele COMP 128-1. Cependant, il a ete montre que cet algorithme peut etre facilement casse. L'invention propose une autre solution permettant de disposer d'un algorithme plus sCr et plus performant, compatible avec la norme GSM, c'est-a-dire utilisant les memes entrees et elaborant les memes sorties. L'invention vise aussi un algorithme facile a implementer, notamment du cote du serveur-operateur. Plus particulierement, I'invention concerne un procede d'echange d'informations d'authentification entre un serveur-operateur et une entite de communication, typiquement un telephone mobile, dans lequel ladite entite et ledit serveur possedent une meme premiere cle et dans lequel ledit serveur genere un nombre aleatoire et l'adresse a ladite entite pour mise en osuvre parallele d'un algorithme dans ladite entite et ledit serveur et pour comparaison des resultats elabores dans ladite entite et ledit serveur afin de valider ladite authentification, caracterise en ce que ladite entite et ledit serveur comportant au moins une seconde cle secrete, commune, ledit algorithme mis en oeuvre dans ladite entite et ledit serveur comporte: - des traitements algorithmiques utilisant comme donnees d'entree tout ou partie audit nombre aleatoire et des cles de fonctionnement issues desdites premiere et seconde cles, et - un traitement combinatoire utilisant des donnees issues desdits traitements algorithmiques pour elaborer les resultats precites correspondents. En particulier, ledit algorithme peut comporter deux traitements algorithmiques precites semblables utilisant chacun deux cles de fonctionnement. Par exemple, on peut utiliser deux parties, par exemple distinctes, audit nombre aleatoire en tent que donnees d'entree respectives des deux traitements algorithmiques semblables precites. Notamment, on peut utiliser les octets de poids falbles audit nombre aleatoire en tent que donnee d'entree de l'un des deux traitements semblables et les octets de poids forts de ce meme nombre aleatoire en tent que donnee d'entree de l'autre des deux traitements semblables. Plusieurs traitements algorithmiques connus peuvent etre utilises, par exemple un algorithme dit: "fonction de chiffrement", dont certains vent bien connus sous les abreviations DES, RSA, AES, ou encore un algorithme dit: "fonction de hachage a sens unique dependent d'une cle", plus connu dans la technique sous l'abreviation MAC (Message Authentication Code, en anglais) . Une telle fonction de hachage est decrite dans les ouvrages suivants: Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone, Handbook of Applied Cryptography, 1997, pages 325-326; - Bruce Schneier, Cryptographie Appliquee, 2e edition, John Wiley & Sons, Inc., 1996, pages 479-480. On considere comme actuellement avantageux que chacun desdits deux traitements algorithmiques semblables consiste a executer un algorithme dit triple DES (ou 3 DES), connu en soi. On peut trouver une description du triple DES a deux cles dans l'un des documents suivants: - ANSI X9.17, American National Standard - Financial institution key management (wholesale), ASC X9 Secretariat - American Bankers Association, 1985; - ISO 8732, Banking - Key management (wholesale), International Organization for Standardization, Geneva, Switzerland, 1987 (first edition, confirmed 1992); - Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone, Handbook of Applied Cryptography, 1997, page 272. La seconde cle, secrete, indiquee ci-dessus peut etre appelee cle de diversification dans la mesure ou elle est specifique a un serveuroperateur particulier et a toutes les entites de telephonic qui lui vent rattachees. Un autre serveur-operateur et ['ensemble des telephones mobiles qui lui correspondent pourront utiliser le meme type d'algorithme avec une cle secrete ou cle de diversification, differente. L'invention sera mieux comprise et d'autres avantages de celle-ci appara^'tront mieux a la lumiere de la description qui va suivre d'un reseau de telephonic mobile mettant en osuvre son principe, donnee a titre d'exemple et faite en reference aux dessins annexes dans lesquels: - la figure 1 est un schema illustrant les echanges d'informations entre un telephone mobile et un serveur-operateur, via un reseau tiers; et - la figure 2 est un schema bloc illustrant une cellule de traitement algorithmique realisant la fonctionnalite A3-A, selon ['invention. Sur la figure 1, on a represente les principales entites intervenant dans un processus d'echange d'informations entre un telephone mobile abonne a un reseau et un serveur-operateur de ce reseau. Le telephone mobile 11 comporte comme il se doit un emetteur-recepteur de falble portee et renferme une carte a microcircuit 12 dans laquelle vent memorises des donnees et algorithmes d'authentification, notamment. Le serveuroperateur 14 du reseau auquel le proprietaire du telephone mobile est abonne est generalement situe a une distance trop importante pour qutune communication hertzienne directe puisse stoperer avec le telephone mobile. C'est pourquoi, la communication s'etablit souvent avec un relais hertzien 15 d'un reseau tiers lui-meme relic a un serveur operateur 17 capable de traiter les informations et de les transmettre au serveur operateur 14 du reseau auquel appartient le telephone mobile. La carte a microcircuit comporte notamment des moyens 20a susceptibles d'executer un logiciel capable de realiser la fonctionnalite A3-Ae, c'esta-dire d'elaborer la valeur SRES et une cle Kc. Le serveur-operateur contient des moyens 20b equivalents. En outre, la carte a microcircuit renferme une cle Kj specifique au proprietaire du telephone mobile. D'un autre cote, le serveur operateur gere une base de donnees 23 contenant la liste de tous les abonnes et les cles Kj correspondantes. Lors d'une tentative de connexion, le telephone mobile 11 emet, en clair, un numero d'identification IMSI (pour International Mobile Subscriber Identity, en anglais) qui est rec,u par le reseau tiers et retransmis par celui-ci jusqu'au serveur-operateur 14. A partir de ce numero d'identification, le serveur-operateur consulte la base de donnees contenant la liste des abonnes et retrouve la cle Ki inscrite dans la memoire de la carte a microcircuit 12. En reponse, le serveur operateur genere un nombre aleatoire RAND et le retransmet vers le telephone mobile via le reseau tiers. A partir de ce moment, le telephone mobile 11 et le servour-operateur 14 vent en possession des memes donnees d'entree a partir desquelles peut s'executer le meme algorithme A3-Ae, a savoir le nombre aleatoire RAND et la cle Kj. L'algorithme d'authentification est mis en ouvre a la fois dans la carte a microcircuit du telephone mobile et dans une unite d'authentification du serveur operateur. Si l'authentification est un succes, les resultats SRES et KC vent identiques dans le telephone et dans le serveur-operateur. Plus particulierement, le resultat SRES est un mot d'authentification tandis que KC est une cle qui sera utilisee comme cle de chiffrement pour une fonctionnalite A5 qui permettra, pendant la communication telephonique, de crypter certaines donnees de trafic entre le telephone mobile et le serveur-operateur. Le mot d'authentification SRES elabore dans la carte a microcircuit est renvoye au serveuroperateur 17 du reseau tiers. Le mot d'authentification SRES elabore par le serveur-operateur 14 est lui-meme renvoye au serveur-operateur 17 du reseau tiers. C'est dans ce dernier que s'effectue la comparaison. De meme, les donnees de trafic confidentielles vent echangees entre le telephone mobile et le serveur-operateur 17 du reseau tiers qui re,coit la cle KC du serveur-operateur 14. Ce mode de fonctionnement est connu dans son ensemble et correspond a la norme GSM. La figure 2 decrit les moyens implementes a la fois dans la carte et dans ['unite d'authentification pour executer, selon ['invention, I'algorithme realisant les fonctionnalites A3-Ae definies par la norme. Le nombre aleatoire RAND, de 16 octets, est charge dans un registre 30. Une premiere cle Kj, de 16 octets est chargee dans un registre 31. Cette cle Kj est specifique de l'abonne proprietaire du telephone mobile 11 considere et peut aussi etre retrouvee dans la base de donnees du serveur-operateur 14. En outre, un registre-memoire 32 de 8 octets contient au moins une seconde cle Kd secrete, commune, representative du serveur-operateur 14. Autrement dit, cette seconde cle est memorisee dans cheque carte SIM 12 d'abonne du serveur-operateur. Ce dernier contient bien sur en memoire la meme cle Ku secrete. Un autre serveur-operateur appartenant a un autre reseau pourra mettre en couvre le meme algorithme mais il s'en differenciera par la seconde cle. De plus, les moyens mis en ceuvre comportent deux blocs de traitement algorithmique semblables 35A, 35B comprenant chacun une entree E, une sortie S et recevant deux cles de fonctionnement issues desdites premiere et seconde cles Kj et K6. Plus particulierement, on utilise deux parties distinctes (comprenant ici le meme nombre d'octets) du nombre aleatoire RAND en tent que donnees d'entree respectives de ces deux blocs de traitement algorithmique. Dans l'exemple decrit, on utilise les octets de poids faibles de ce nombre aleatoire RAND en tent que donnees d'entree de l'un des deux blocs (ici le bloc de traitement 35A) et les octets de poids forts de ce meme nombre aleatoire en tent que donnees d'entree de l'autre (ici 35B) des deux blocs. De meme, dans l'exemple, on utilise les octets de poids falbles de la cle K! en tent que premiere cle de fonctionnement KA] de l'un des deux blocs et les octets de poids forts de cette meme cle KI en tent que premiere cle de fonctionnement KA2 de l'autre des deux blocs. Les deux cles KA] et KA2 ont le meme nombre d'octets qui vent deux parties distinctes de KI. Par ailleurs, la seconde cle KU constitue la seconde cle de fonctionnement de chacun des deux blocs 35A, 35B. La sortie du bloc 35A est reliee a un registre 37 de 8 octets tandis que la sortie de l'autre bloc B est reliee a un registre 38 de 8 octets. Les resultats intermediaires stockes dans ces deux registres 37, 38 constituent les donnees d'un traitement combinatoire qui permet d'elaborer les resultats, a savoir le mot SRES et la cle KC. PIUS particulierement ici, les quatre octets de poids forts du registre 37 et les quatre octets de poids faibles du registre 38 vent regroupes dans un registre intermediaire 39 de 8 octets pour reconstituer un mot de 8 octets qui forme la cle KC. Cette cle KC est recopiee dans un registre de sortie 40. Par ailleurs, les octets de poids faibles du registre 37 et les octets de poids forts du registre 38 vent combines au niveau d'un circuit 41 realisant une fonction de type "ou exclusif" et le resultat est adresse a un registre de sortie 42 de 4 octets, ou l'on peut fire le mot d'authentification SRES. Dans l'exemple decrit, les deux blocs de traitement algorithmique semblables constituent un triple DES, connu en soi. On rappelle qu'un DES (pour Data Encryption Standard, en anglais) est une fonction de chiffrement bien connue a laquelle on peut associer sa fonction inverse DES-'. Le triple DES consiste a faire subir successivement aux donnees d'entree un algorithme DES pilote par une premiere cle K1, un algorithme DES-i pilote par une deuxieme cle K2, et a nouveau un algorithme DES pilote par la premiere cle K1. Dans l'exemple decrit, la cle K] est la cle de fonctionnement issue de K! et la cle K2 est la cle de diversification Kd. Comme mentionne precedemment, le triple DES tel que represente sur la figure 2 peut etre remplace par une autre fonction de chiffrement connue ou par une fonction de hachage a sens unique dependent d'une cle. Un tel traitement algorithmique peut etre utilise par des operateurs differents en toute securite, grace a ['introduction de la cle de diversification Kd, specifique de l'operateur. Si une autre fonction de chiffrement ou une fonction de hachage a sens unique est utilisee, il y a lieu de choisir ou elaborer une fonction necessitant l'utilisation de deux cles (KA] OU KA2 et Kd). Si la fonction ne necessite qutune cle, on peut proceder a une combinaison des cles K' et Kd. Le fait d'utiliser des "triples DES" A OU 35B est avantageux dans la mesure ou de tels blocs vent couramment utilises dans la technique et disponibles tels quels en tent que soulensembles de base. Bien entendu, I'invention concerne aussi toute carte a microcircuit utilisable dans une entite de communication comportant des traitements algorithmiques et des moyens pour recevoir des cles de fonctionnement issues desdites cles KI, Kd, I'une des cles Kj etant specifique de l'entite abritant la carte a microcircuit 12 et l'autre cle Kd etant specifique d'un serveur-operateur 14 dont depend la carte permettant l'utilisation de ladite entite (le telephone 11). Wile concerne aussi un serveur-operateur comportant des traitements algorithmiques a nalog ues a ceux d 'u ne tel le carte. En parti cu lier, I'invention concerne toute carte a microcircuit utilisable dans un telephone mobile et comportant deux blocs de traitement algorithmique semblables 35A, 35B comprenant chacun une entree E et une sortie S et des moyens pour recevoir deux cles de fonctionnement issues desdites premiere et seconde cles KI, Kd. Wile concerne enfin un serveur operateur comportant deux blocs de traitement algorithmique semblables, analogues a ceux d'une telle carte. REVENDICATIONS 1. Procede d'echange d'informations d'authentification entre un serveuroperateur et une entite de communication, typiquement un telephone mobile, dans lequel ladite entite et ledit serveur possedent une meme premiere cle (Kj) et dans lequel ledit serveur genere un nombre aleatoire (RAND) et l'adresse a ladite entite pour mise en aeuvre parallele d'un algorithme dans ladite entite et led it serveu r et pou r com pa raison des resu ltats elabores dans lad ite entite et ledit serveur afin de valider ladite authentification, caracterise en ce que ladite entite et ledit serveur comportant au moins une seconde cle (K) secrete, commune, ledit algorithme mis en ceuvre dans ladite entite et ledit serveur comporte: - des traitements algorithmiques (35A et 35B) utilisant comme donnees d'entree tout ou partie audit nombre aleatoire et des cles de fonctionnement issues desdites premiere et seconde cles, et - un traitement combinatoire utilisant des donnees issues desdits traitements algorithmiques pour elaborer les resultats precites correspondents. 2. Procede selon la revendication 1, caracterise en ce que ledit algorithme comporte deux traitements algorithmiques precites semblables (3 DES) utilisant chacun deux cles de fonctionnement (KA1, KA2 - K6). 3. Procede selon la revendication 1 ou 2, caracterise en ce qu'on utilise deux parties audit nombre aleatoire (RAND) en tent que donnees d'entree respectives desdits deux traitements algorithmiques semblables. 4. Procede selon la revendication 3, caracterise en ce qu'on utilise les octets de poids falbles audit nombre aleatoire en tent que donnee d'entree de I'un (35A) des deux traitements semblables et les octets de poids forts de ce meme nombre aleatoire en tent que donnee d'entree de l'autre (35B) des deux traitements semblables. 5. Procede selon l'une des revendications 2 a 4, caracterise en ce que chacun desdits deux traitements algorithmiques semblables consiste a executer un algorithme dit: fonction de chiffrement, connu en soi. 6. Procede selon l'une des revendications 2 a 4, caracterise en ce que chacun desdits deux traitements algorithmiques semblables consiste a executer un algorithme dit 3 DES, connu en soi. 7. Procede selon l'une des revendications 2 a 4, caracterise en ce que chacun desdits deux traitements algorithmiques semblables consiste a executer un algorithme dit: fonction de hachage a sens unique dependent d'une cle, connu en soi. 8. Procede selon l'une des revendications 2 a 7, caracterise en ce qu'il consiste a combiner au moins une partie des donnees issues de chacun desdits traitements algorithmiques par une fonction de type ou exclusif (41), pour former un mot d'authentification (SRES). 9. Procede selon l'une des revendications 2 a 8, caracterise en ce qu'il consiste a reconstituer une cle de chiffrage commune (Kc) a partir de parties des donnees issues desdits traitements algorithmiques. 10. Procede selon l'une des revendications 2 a 9, caracterise en ce qu'on utilise deux parties de ladite premibre cle (K') en tent que premibres cles de fonctionnement respectives desdits deux traitements algorithmiques 1 5 semblables. 11. Procede selon la revendication 9, caracterise en ce qu'on utilise les octets de poids faibles de ladite premiere cle en tent que premiere cle de fonctionnement de l'un (35A) des deux traitements semblables et les octets de poids forts de ladite premibre cle en tent que premibre cle de fonctionnement de