FR2844409A1 - Protection d'une cle secrete pour algorithme d'authentification dans un radiotelephone mobile - Google Patents

Protection d'une cle secrete pour algorithme d'authentification dans un radiotelephone mobile Download PDF

Info

Publication number
FR2844409A1
FR2844409A1 FR0211084A FR0211084A FR2844409A1 FR 2844409 A1 FR2844409 A1 FR 2844409A1 FR 0211084 A FR0211084 A FR 0211084A FR 0211084 A FR0211084 A FR 0211084A FR 2844409 A1 FR2844409 A1 FR 2844409A1
Authority
FR
France
Prior art keywords
words
substitution
loop
function
authentication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0211084A
Other languages
English (en)
Other versions
FR2844409B1 (fr
Inventor
Herve Pelletier
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sagem SA
Original Assignee
Sagem SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sagem SA filed Critical Sagem SA
Priority to FR0211084A priority Critical patent/FR2844409B1/fr
Publication of FR2844409A1 publication Critical patent/FR2844409A1/fr
Application granted granted Critical
Publication of FR2844409B1 publication Critical patent/FR2844409B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Pour protéger une clé secrète (K0 - KI-1) dans une carte SIM d'un radiotéléphone recevant un nombre aléatoire (C0 - CI-1), un algorithme d'authentification est modifié dans les deux premières de J boucles itératives. Dans la première boucle, à deux mots intermédiaires (yi, zi) sont substitués (E51) deux mots lus dans une table (T'0) déduite d'une table de substitution classique par l'application d'une fonction aléatoire (f). Dans la deuxième boucle, la fonction (f-1) réciproque de la fonction aléatoire est appliquée (E41) aux mots intermédiaires dans la deuxième boucle pour produire des mots (yi ≡ f-1 (yi) ; zi ≡ f-1 (zi)) à substituer selon une autre table de substitution classique. L'invention rend infructueuses des attaques pour découvrir la clé et conserve inchangé le résultat d'algorithme.

Description

Protection d'une clé secrète pour algorithme d'authentification dans un
radiotéléphone mobile La présente invention concerne d'une manière 5 générale l'authentification d'un premier moyen terminal par un deuxième moyen terminal à travers un réseau de télécommunications afin d'autoriser le premier moyen terminal à communiquer avec le deuxième terminal. Plus particulièrement, le premier moyen 10 terminal est un radiotéléphone mobile dans un réseau de radiotéléphonie cellulaire numérique, et le deuxième moyen terminal est un enregistreur de localisation des visiteurs associé à un enregistreur de localisation nominal et un centre d'authentification dans le réseau fixe du réseau de radiotéléphonie. Comme il est connu, un module d'identité d'usager, dit carte SIM (Subscriber Identity Module), 20 contient un algorithme d'authentification dont la clé
secrète est pré-mémorisée dans la carte SIM avant la mise en service de celle-ci. La clé est sujette à de nombreuses attaques afin qu'un imposteur se substitue à l'usager possesseur de la carte SIM pour 25 communiquer à travers le réseau de radiotéléphonie.
La clé secrète permet au réseau fixe, et plus particulièrement à l'enregistreur de localisation des visiteurs, d'identifier la carte SIM et donc l'usager
possesseur de celle-ci.
L'une des attaques connues pour récupérer la clé secrète dans la carte à puce SIM est une mesure de consommation de courant de la carte SIM par analyse DPA (Differential Power Analysis). Au cours de cette analyse en sortie de la carte à puce devant le 35 lecteur du terminal dans lequel elle est insérée, le courant consommé par la carte est observé pour de nombreux différents nombres aléatoires, en tant que clé secrète, à appliquer au début de l'algorithme d'authentification implémenté dans la carte. 5 L'observation de la consommation de courant dans la carte fait apparaître des biais lorsque l'un des nombres aléatoires est identique à la clé secrète ce qui permet à un imposteur d'utiliser la carte SIM à
la place de l'usager possesseur de celle-ci.
Pour se protéger contre une telle attaque, le déroulement du code à chaque activation de l'algorithme d'authentification peut être désynchronisé en y introduisant un code mort aléatoire. Cependant cette désynchronisation peut 15 être insuffisante si l'attaquant utilise des moyens statistiques pour inhiber les effets liés à l'aléa
ainsi introduit.
L'invention vise à modifier l'algorithme 20 d'authentification dans un premier moyen terminal du
type carte SIM de manière à supprimer les biais qui peuvent être observés par une analyse DPA, tout en garantissant que le résultat de l'algorithme d'authentification n'est pas modifié malgré les 25 adjonctions apportées par l'invention.
A cette fin, un procédé pour protéger une clé secrète pré-mémorisée dans un premier moyen terminal recevant un nombre aléatoire transmis par un deuxième 30 moyen terminal fait appel à un algorithme implémenté dans le premier moyen terminal comprenant au moins J boucles itératives, avec l'entier J au moins égal à 2, portant chacune sur deux mots numériques entrants respectifs de longueur prédéterminée et comportant 35 une combinaison linéaire des deux mots entrants respectifs en deux mots numériques intermédiaires respectifs et une substitution aux deux mots intermédiaires de deux mots de substitution qui sont lus dans une table de substitution respective pré5 mémorisée dans le premier moyen terminal et qui constituent les mots entrants dans la boucle suivante, les deux mots entrants dans la première
boucle étant le nombre aléatoire et la clé secrète.
Le procédé est caractérisé, selon l'invention, 10 en ce qu'il comprend préalablement la détermination d'une fonction aléatoire affine de la combinaison, et l'application de la fonction à la table de substitution respective de la première boucle pour établir une deuxième 15 table, une substitution dans la première boucle à la place de la substitution respective pour substituer aux deux mots intermédiaires deux mots de substitution qui sont lus dans la deuxième table, et 20 une application de la fonction réciproque de la fonction aléatoire aux mots intermédiaires respectifs, exécutée dans la deuxième boucle après la combinaison respective et avant la substitution respective, afin de produire des mots intermédiaires 25 à substituer selon la table de substitution
respective de la deuxième boucle.
Selon la technique antérieure, pour un nombre aléatoire déterminé en tant que l'un des deux mots entrants dans la première boucle, l'exécution de la 30 combinaison et de la substitution pour chaque octet de la clé secrète en un octet stocké en mémoire RAM du premier moyen terminal, tel que carte à puce, produisait un biais observable. Les biais résultaient en particulier des tables de substitution qui sont fixées une fois pour toute et mémorisées dans la carte. Selon l'invention, la table de substitution dans la première boucle n'est plus constante d'une 5 exécution à la suivante de l'algorithme grâce à la transformation de la table de substitution connue par une table de substitution aléatoire dépendant de la fonction aléatoire f qui n'est pas figée mais au contraire change en réponse à chaque nombre aléatoire 10 transmis par le deuxième moyen terminal. De cette manière, les opérations effectuées dans la première boucle sont masquées puisque le résultat produit par celle-ci est complètement aléatoire. Puis dans la deuxième boucle, l'application de la fonction 15 réciproque aux mots intermédiaires respectifs permet de retrouver le cycle normal de l'algorithme dont le résultat final n'est pas modifié et peut être comparé à celui résultant de l'exécution de l'algorithme
implémenté dans le deuxième moyen terminal.
La fonction aléatoire est affine de la combinaison, c'est-à-dire la fonction et la combinaison présentent des caractéristiques de transformation similaires appliquées aux mots traités
dans l'algorithme.
De préférence, la fonction aléatoire est
linéaire lorsque la combinaison est linéaire. La fonction linéaire peut comprendre au moins un coefficient qui est déterminé aléatoirement avant le déclenchement de l'algorithme en réponse au nombre 30 aléatoire transmis par le deuxième moyen terminal.
Toutefois, si de la place en mémoire dans le premier moyen terminal est disponible, la fonction linéaire peut comprendre un autre coefficient prédéterminé aléatoirement en réponse au nombre aléatoire transmis 35 par le deuxième moyen terminal.
Selon un autre exemple, la fonction est logarithmique ou exponentielle lorsque la combinaison
est logarithmique ou exponentielle.
D'autres caractéristiques et avantages de la
présente invention apparaîtront plus clairement à la lecture de la description suivante de plusieurs réalisations préférées de l'invention en référence
aux dessins annexés correspondants dans lesquels: - la figure 1 est un bloc-diagramme schématique d'une zone de localisation dans un réseau de radiotéléphonie cellulaire numérique o se trouve un radiotéléphone mobile à carte SIM, en tant que premier moyen terminal selon l'invention; et - la figure 2 est un algorithme d'authentification implémenté dans la carte SIM du radiotéléphone et protégeant une clé secrète
conformément à l'invention.
Selon la réalisation préférée, le premier moyen terminal est constitué par un radiotéléphone mobile MS, et plus particulièrement par une carte à microcontrôleur du type carte à puce CS, dite carte SIM (Subscriber Identity Module), contenue d'une 25 manière amovible dans le radiotéléphone MS. Comme montré à la figure 1, le radiotéléphone mobile MS est inclus dans un réseau de radiotéléphonie cellulaire numérique RR de type GSM dont la partie fixe est schématisée par la zone de localisation o le 30 radiotéléphone mobile MS se trouve momentanément. La partie fixe comprend une station de base BTS reliée par voie radio au radiotéléphone MS et un commutateur du service mobile MSC relié à la station de base BTS par un contrôleur de station de base BSC. Le 35 commutateur du service mobile MSC est associé à un enregistreur de localisation des visiteurs VLR et est relié au moins à un commutateur d'un réseau téléphonique commuté RTC. Des communications pour les radiotéléphones mobiles visiteurs, y compris le 5 radiotéléphone MS se trouvant momentanément dans la zone de localisation desservie par le commutateur
MSC, sont gérées par celui-ci.
Le réseau de radiotéléphonie RR comprend également un enregistreur de localisation nominal HLR 10 relié à des commutateurs du service mobile MSC ainsi
qu'un centre d'authentification AUC à travers le réseau de signalisation du réseau de radiotéléphonie.
L'enregistreur HLR comprend essentiellement une base de données, comme dans un enregistreur VLR, qui 15 contient diverses caractéristiques relatives à chaque usager, possesseur d'une carte SIM CS, telles qu'une identité internationale IMSI, un numéro d'annuaire, un profil d'abonnement, etc. Le centre d'authentification AUC contient un 20 algorithme d'authentification A3 et un algorithme A8 de détermination de clé de chiffrement qui sont parfois combinés en un seul algorithme A38 (COMP128) selon la norme GSM. Le centre d'authentification AUC génère plusieurs nombres aléatoires C (Challenges) et 25 détermine plusieurs réponses signées SRES résultant de l'application des nombres aléatoires successivement à l'algorithme d'authentification A3 avec une clé secrète attribuée K à l'usager de la carte SIM. Le centre d'authentification détermine 30 également plusieurs clés de chiffrement Kc résultant respectivement de l'application des nombres aléatoires choisis C et de la clé K appliquée à l'algorithme de détermination de clé A8. Des triplets comportant chacun un nombre aléatoire C, une réponse 35 signée SRES et une clé de chiffrement Kc sont -7 transmis par le centre d'authentification AUC à l'enregistreur de localisation HLR lors de la souscription de l'usager à l'abonnement au service de
radiotéléphonie mobile du réseau RR.
Dès qu'une authentification est nécessaire par exemple pour une mise à jour de la localisation du radiotéléphone mobile MS, ou pour l'établissement d'un appel sortant ou entrant avec le radiotéléphone MS, l'enregistreur de localisation des visiteurs VLR 10 auquel le radiotéléphone est rattaché momentanément, est sollicité par la carte CS dans le radiotéléphone pour une authentification de la carte par la partie fixe du réseau radiotéléphonique RR. L'enregistreur HLR fournit alors à l'enregistreur VLR un triplet de 15 nombre aléatoire C, réponse de signature SRES et clé de chiffrement Kc. Le nombre aléatoire C et la clé de chiffrement Kc dans le triplet sont transmis à travers le réseau fixe respectivement à la carte SIM CS dans le radiotéléphone mobile MS pour y déterminer 20 une réponse signée SRES à transmettre à l'enregistreur VLR et à la station de base BTS pour déchiffrer des données transmises par voie radio
depuis le terminal MS.
La carte à microcontrôleur SIM CS contient 25 essentiellement un microprocesseur PR, une mémoire Ml de type ROM dans laquelle sont implémentés un système d'exploitation de la carte, des algorithmes de communication et d'application ainsi que des algorithmes d'authentification AL de type A3 ou A8 30 selon l'invention, une mémoire non volatile M2 de type EEPROM contenant toutes les caractéristiques de l'usager, et une mémoire M3 stockant des données notamment à échanger entre le microcontrôleur inclus
dans le radiotéléphone MS et la carte CS.
Lors de la procédure d'authentification, par exemple pour un établissement d'appel sortant ou entrant, le processeur PR dans la carte CS applique le nombre aléatoire C transmis par l'enregistreur VLR 5 à travers la station de base BTS et lu dans la mémoire M3 et la clé secrète K attribuée à l'usager possesseur de la carte CS et écrite initialement dans la mémoire M2, à l'algorithme d'authentification AL=A3 implémenté également dans la carte CS. Le 10 résultat de cette application est constitué par une réponse signée SRES qui est retransmise par la carte CS à travers la radiotéléphone mobile MS et la station de base BTS à l'enregistreur VLR qui compare la réponse signée SRES à celle incluse dans le 15 triplet contenant le nombre aléatoire transmis C. Si les réponses signées sont identiques, la carte CS est authentifiée par l'enregistreur VLR du réseau RR. Le nombre aléatoire transmis C peut également servir à générer une clé de chiffrement Kc résultant de 20 l'application du nombre aléatoire C et de la clé secrète K à l'algorithme de chiffrement AL=A8 également implémenté dans la carte CS. La clé de chiffrement Kc qui est également générée de la même façon dans l'enregistreur VLR et qui est communiquée 25 à la station de base BTS, permet de chiffrer les données échangées entre le réseau de radiotéléphonie RR et le radiotéléphone mobile MS à l'interface radio
entre celui-ci et la station de base BTS.
La protection de la clé secrète K attribuée à 30 l'usager et prémémorisée dans la carte CS en tant que premier moyen terminal concerne aussi bien l'algorithme d'authentification A3 que l'algorithme de chiffrement A8. Ils seront indifféremment désignés dans la suite par l'algorithme AL dont les principales étapes connues sont illustrées par des
blocs en trait continu dans la figure 2.
Les étapes spécifiques à la protection de la clé 5 secrète K introduites selon l'invention dans l'algorithme AL sont repérées par des blocs en trait
pointillé à la figure 2.
L'algorithme AL comprend essentiellement B 10 super-boucles itératives composées chacune de J boucles itératives (rounds), les entiers B et J étant
typiquement égal 8 et 5.
Initialement, à une étape E01, la mémoire EEPROM M2 dans la carte CS a mémorisé des tables de 15 substitution connues T0 à Tj-j qui sont respectivement utilisées dans les boucles itératives successives désignées par l'indice j variant de 0 à J-1. Chaque table de substitution Ti contient 2 Nj octets, N étant un entier plus grand que J et typiquement égal à 9. 20 La mémoire M2 contient également I octets KO à KI-1 composant la clé secrète de l'usager, l'entier I
étant typiquement égal à 16.
L'algorithme AL comprend également des étapes initiales E02 à E05 avant de déclencher la première 25 super-boucle d'indice b=0, c'est-à-dire l'algorithme AL proprement dit. En réponse à un nombre aléatoire C composé de I octets C0 à CI-1 = C15 transmis par l'enregistreur de localisation des visiteurs VLR, à l'étape E02, le microprocesseur PR détermine une 30 fonction aléatoire f affine de la combinaison
d'octets à une étape intermédiaire E3 dans les boucles de l'algorithme AL. En l'occurrence, la combinaison intermédiaire E3 étant linéaire, la fonction f est linéaire du type f(TO) = cxTo + Y, a et 35 D étant des coefficients déterminés aléatoirement.
Puis à l'étape E03, le microprocesseur PR transforme tout nombre du type To(Yi), TO(z1) lu en correspondance avec un nombre entrant respectif yi, zi dans la table To, en un nombre correspondant 5 f(To(yi>) = T' (yi), f(TO(zi)) = T'o(zi) d'une table de substitution T'o qui ne sera utilisée que dans la première boucle d'indice b = 0. La table supplémentaire T'o est écrite de préférence dans la mémoire RAM M3, et non dans la mémoire EEPROM M2, 10 pour accélérer les opérations à une étape ultérieure E51 utilisant les octets dans la table T'o. De préférence, l'un des coefficients aléatoires a, a dans la fonction linéaire f est déterminé en fonction du nombre aléatoire transmis C par le processeur PR. 15 Cependant le processeur PR peut contenir sous forme logicielle ou matérielle un générateur aléatoire pour générer les coefficients a et P. Afin de réduire la taille occupé en mémoire, l'un des coefficients ax et P peut être constant. Par exemple, le coefficient a 20 est égal à 1, soit la fonction linéaire f(TO) = To + f. Egalement comme montré à l'étape E04 en réponse au nombre aléatoire transmis C, les octets C0 à CI-, du nombre aléatoire C sont écrits respectivement dans 25 un registre interne à la mémoire M2 pour constituer
des octets Ro à RI-1 qui formeront après chaque boucle les I premiers octets du résultat produit par celleci.
A la dernière étape initiale E05, l'indice de 30 super-boucle b est mis à zéro.
Après une mise à zéro de l'indice de boucle j ainsi que de variables entières de décalage dl et d2 à une étape E10, la première boucle itérative j = 0 dans la première super-boucle b=O est exécutée avec 35 les octets KO à KI-1 de la clé secrète K constituant
des octets RI à R2I-1 qui formeront les I octets restants du résultat de chaque boucle dans le registre interne, comme indiqué aux étapes Ell à E13.
Le processeur PR lit les deux mots numériques 5 entrants respectifs RO = CO à RI-1 = CI-1 et RI = Ko à
\2 I-1 = KI-1,.
A l'étape suivante E2, un indice i est mis égal à 0, cet indice variant de O à I-1, afin de déterminer des paires d'octets de résultat Ri et Ri+i 10 à chacune des I sous-boucles d'étapes E3 à E62
comprises dans une boucle d'indice j.
Comme il est connu, chaque sous-boucle d'indice i comprend essentiellement une combinaison linéaire intermédiaire E3 de deux octets Ri et RI+i ayant le 15 même rang i dans les deux mots numériques entrants
respectifs et une substitution E52 dans deux mots intermédiaires yi et zi à au plus M bits résultant de la combinaison linéaire précédente de deux octets de substitution lus dans la table de substitution 20 respective Ti.
Cependant selon l'invention, comme on le verra ci-après, la première boucle d'indice b = O comprend à la place de la substitution normale E52 une substitution particulière E51 qui dépend de la table 25 supplémentaire T'O = f(TO) établie à l'étape E03, et
la deuxième boucle d'indice b = 1 comprend une étape supplémentaire relative à l'application E41 de la fonction f 1 réciproque de la fonction linéaire f.
L'étape de substitution E51 et l'étape d'application 30 de fonction réciproque E41 particulières à l'invention sont répétées respectivement au moins dans les première et deuxième boucles d'indice j = O et j = 1 dans la première super-boucle d'indice b = O, et de préférence, respectivement dans les 35 premières et deuxièmes boucles d'indice j = O et j =
1 de toutes les super-boucles d'indice b = 0 à b = B1.
En revenant au déroulement de chaque sous-boucle 5 désignée par l'indice i qui est incrémenté d'une unité tout en étant inférieur à l'entier I, comme indiqué aux étapes E61 et E62 à la fin de la boucle d'indice j = 0, le processeur PR combine à l'étape E3 les octets Ri = Ci et RI+i = Ki en des mots 10 intermédiaires yi et zi selon les relations suivantes i= Ri+ dl + 2 Ri+d2 (modulo 2N) zi = Ri+d2 + 2 Ri+dl (modulo 2) Puisque l'indice j est égal à 0, des indices de 15 décalage dl et d2 étant respectivement égaux à 0 et I = 16 pour la première boucle, l'étape suivante E4 relie directement l'étape E3 à l'étape E50 qui est poursuivie par l'étape de substitution E51. La substitution des mots yi et zi est effectuée en 20 faisant correspondre les octets respectifs Ri = f(To(yi)) = T'o (yi) et RI+i _= f(To(zi)) = T' (zi) aux mots intermédiaires Yi et zi dans la table T'o. Après que chaque paire d'octets de même rang i ait subi la combinaison linéaire à l'étape E3 et la substitution 25 à l'étape E51, on passe comme indiqué aux étapes E61 et E62 à la deuxième boucle d'indice j = 1 dans la première super-boucle b = 0 par incrémentation de l'indice j qui est toujours inférieur à l'entier J = , comme indiqué aux étapes E71 et E72. Dans la deuxième boucle d'indice j = 1, l'étape E3 combine encore linéairement des octets de même rang dans les deux mots entrants RO à RI1 et RI à R2I-1 qui résultent respectivement des paires d'octets déterminés dans la première boucle et écrits dans le 35 registre interne à la mémoire M2, comme indiqué aux étapes E12 et E13. Toutefois, à l'étape E4 dans chacune des sous-boucles d'indice i de la boucle d'indice j = 1, l'étape E4 est suivie par l'étape supplémentaire E41. A cette étape E41, la fonction 5 réciproque f- 1 est appliquée aux mots intermédiaires déterminés à l'étape précédente E3 dans la boucle j = 1, suivant les relations suivantes: -1 Yi f (Yi) Zi M f- (zi) 1010 La fonction réciproque f 1 est déduite de la fonction f selon la relation suivante: (f(x)-P)/c = x, soit pour f(x) = yi: f-1 (yi) = (Yi -)/; ce qui permet de vérifier: 15 f -(yi) = f -(Ri+dl + 2 Ri+d2) f1 (f(T0(zi))) + 2 f (f(T0(Yi))), f -(f(T0(Ci+2Ki))) + f (f(T0(Ki+2Ci))),
T0(Ci + 2 Ki) + 2 T0(Ki + 2 Ci).
Des relations analogues peuvent être écrites 20 pour zi en remplaçant Yi par zi.
Ainsi grâce à l'étape E51 dans la première boucle j = 0 et à l'étape E41 dans la deuxième boucle j = 1, l'opération de substitution qui était normalement effectuée à l'étape E52 dans la première 25 boucle est masquée, tout en ne modifiant pas le
résultat de la deuxième boucle et des suivantes.
Ainsi, l'étape E41 est suivie par l'étape de substitution normale E52 comme indiqué à l'étape E52,
puisque l'indice j É 0.
Lorsque la clé secrète K est bien appliquée à l'étape Eli de la première boucle j = 0, les biais qui pouvaient être observés par analyse DPA après l'exécution de l'étape normale E52 dans la première boucle connue et de l'étape E3 dans la deuxième 35 boucle connue sont supprimés puisqu'ils sont masqués par un traitement aléatoire grâce à l'application de la fonction f à l'étape E51. L'étape E41 démasque les valeurs retrouvées des mots yi et zi comme si l'étape normale E52 avait été appliquée dans la première boucle. L'étape de substitution E52 consiste à faire correspondre les mots Yi et Zi résultant de l'application de la fonction réciproque f1 à des octets Rj+dl et Ri+d2 lus dans la table respective T1, 10 avec les indices de décalage i+dl et i+d2 calculés modulo I = 16 et modulo 2I = 32. Les indices dl et d2 sont modifiés à une étape E30 précédant l'étape de combinaison linéaire intermédiaire E3, à l'aide de deux fonctions gl et g2 qui ont pour entrées les 15 variables j et i; pour la première boucle j = 0 et pour tout i on a dl = 0 et d2 = I = 16. Les valeurs des indices dl et d2 sont donc modifiées à chaque boucle d'indice j et expriment un décalage sur les
octets dans les registres aux étapes E12 et E13.
Puis les boucles suivantes d'indice j = 2 à j = J = 4 sont réalisées normalement en reliant directement les étapes de combinaison E3 et de substitution E52, comme indiqué aux étapes E71 et E72. Dans chaque boucle en faisant abstraction du 25 détail des sous-boucles, deux mots entrants Ro à RI-1 et RI à R2I-1 sont combinés linéairement en deux mots intermédiaires yo à Y,-, et zo à z-1j qui subissent
une substitution dans la table respective Ti.
Après l'exécution des J = 5 boucles de la 30 première super-boucle désignée par l'indice b = 0, des bits de rang prédéterminés dans le résultat RO à R2I-1 sont permutés à l'étape E81. Puis I = 16 octets de rang prédéterminés dans le résultat avec les bits permutés sont sélectionnés à l'étape E82 pour 35 constituer des octets RO à RI-1 = R15 qui sont écrits dans le registre interne pour être lus à l'étape E12, en tant qu'octets de nombre aléatoire, dans la première boucle d'indice j = 0 de la super-boucle suivante, les octets RI à R2I-1 étant constitués par 5 les octets KO à KI-1 de la clé secrète à l'étape Ell
de la première boucle de la prochaine super-boucle.
Chacune des boucles d'indice b = 1 à b = B-1 = 7 est exécutée comme décrit précédemment et indiqué aux étapes E83 et E84. Dans le résultat à I octets Ro à 10 RI-1 = R15 de l'algorithme AL à la fin de la dernière super-boucle d'indice b = 7 sont effectués des décalages supplémentaires et un nombre d'octets inférieur à I sont sélectionnés dans les octets décalés pour constituer la réponse signée SRES qui 15 est transmise par la carte CS à l'enregistreur de localisation des visiteurs VLR. L'enregistreur VLR compare la réponse signée transmise à la réponse signée résultant de l'algorithme AL exécuté dans le centre d'authentification AUC et lue en mémoire de 20 l'enregistreur VLR, afin d'authentifier l'usager possesseur de la carte CS et de l'autoriser à accéder au réseau RR lorsque lesdits résultats sont identiques. Lorsque les résultats comparés sont différents, l'enregistreur VLR refuse toute 25 communication provenant du radiotéléphone mobile MS
incluant la carte CS de l'usager.
L'invention n'est pas limitée à la réalisation décrite ci-dessus relative à un radiotéléphone mobile 30 ou à une carte à microcontrôleur du type SIM, en tant que premier moyen terminal, et au réseau fixe du réseau de radiotéléphonie RR comportant principalement les enregistreurs VLR et HLR et le centre d'authentification AUC constituant ensemble un 35 deuxième moyen terminal. Le premier moyen terminal peut être également constitué par d'autres cartes à microcontrôleur, telle qu'une carte de crédit incluse dans un terminal bancaire, ou une carte de portemonnaie électronique incluse dans un terminal point 5 de vente, ou bien encore une carte additionnelle du type par exemple carte de crédit ou carte de portemonnaie électronique qui peut être introduite dans un radiotéléphone mobile et qui est distincte de la carte SIM dans celui-ci. Dans tous les cas, le 10 deuxième moyen terminal communiquant avec la carte à microcontrôleur contient un algorithme
d'authentification dont le résultat n'est pas modifié malgré les étapes ajoutées E51 et E41 dans l'algorithme d'authentification implémenté dans la 15 carte.
1 7

Claims (7)

REVENDICATIONS
1 - Procédé pour protéger une clé secrète (K) pré-mémorisée dans un premier moyen terminal (MS, CS) 5 recevant un nombre aléatoire (C) transmis par un deuxième moyen terminal (VLR, HLR, AUC), selon lequel un algorithme (AL) implémenté dans le premier moyen terminal comprend au moins J boucles itératives, avec J 2 2, portant chacune sur deux mots numériques 10 entrants respectifs (Ri; Ri+i) de longueur prédéterminée et comportant une combinaison (E3) des deux mots entrants respectifs en deux mots numériques intermédiaires respectifs (Yi, Zi) et une substitution (E52) aux deux mots intermédiaires de 15 deux mots de substitution qui sont lus dans une table de substitution respective (Tj) pré-mémorisée dans le premier moyen terminal et qui constituent les mots entrants dans la boucle suivante, les deux mots entrants dans la première boucle étant le nombre 20 aléatoire (C) et la clé secrète (K), caractérisé en ce qu'il comprend préalablement la détermination (E02) d'une fonction aléatoire (f) et affine de la combinaison et l'application (E03) de la fonction à la table de substitution respective (T0) de la 25 première boucle pour établir une deuxième table (T'O), une substitution (E51) dans la première boucle remplaçant la substitution respective (E52) pour substituer aux deux mots intermédiaires (yi, zi) deux mots de substitution (T'o(yi), T'o(zi)) qui sont lus 30 dans la deuxième table (TT0), et une application (E41) de la fonction (f) réciproque de la fonction aléatoire aux mots intermédiaires respectifs, exécutée dans la deuxième boucle après la combinaison respective et avant la substitution respective, afin 35 de produire des mots intermédiaires (yi f 1(Yi); zi f (Zi)) à substituer selon la table de
substitution respective de la deuxième boucle.
2 - Procédé conforme à la revendication 1, selon 5 lequel la fonction (f) est linéaire lorsque la
combinaison (E3) est linéaire.
3 - Procédé conforme à la revendication 2, selon lequel la fonction linéaire (f) comprend un 10 coefficient (a; 3) qui est déterminé aléatoirement avant le déclenchement de l'algorithme en réponse au nombre aléatoire (C) transmis par le deuxième moyen
terminal (VLR, HLR, AUC).
4 - Procédé conforme à la revendication 2 ou 3, selon lequel le coefficient (a; 3) est déterminé en
fonction du nombre aléatoire transmis (C).
- Procédé conforme à l'une quelconque des 20 revendications 2 à 4, selon lequel la fonction
linéaire prédéterminée comprend un autre coefficient
déterminé aléatoirement (a; ô).
6 - Procédé conforme à l'une quelconque des 25 revendications 1 à 5, comprenant plusieurs superboucles itératives (b) comportant chacune des boucles itératives (j), caractérisé en ce que les première et deuxième boucles (b = 0, b = 1) dans chaque superboucle comprennent respectivement une substitution 30 (E51) et une application de la fonction réciproque
(E41) selon la revendication 1.
7 - Procédé conforme à l'une quelconque des
revendications 1 à 6, selon lequel le deuxième moyen 35 terminal est un radiotéléphone mobile (MS).
8 - Procédé conforme à l'une quelconque des
revendications 1 à 6, selon lequel le deuxième moyen terminal est un module d'identité d'abonné (CS)
inclus dans un radiotéléphone mobile (MS).
FR0211084A 2002-09-05 2002-09-05 Protection d'une cle secrete pour algorithme d'authentification dans un radiotelephone mobile Expired - Fee Related FR2844409B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0211084A FR2844409B1 (fr) 2002-09-05 2002-09-05 Protection d'une cle secrete pour algorithme d'authentification dans un radiotelephone mobile

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0211084A FR2844409B1 (fr) 2002-09-05 2002-09-05 Protection d'une cle secrete pour algorithme d'authentification dans un radiotelephone mobile

Publications (2)

Publication Number Publication Date
FR2844409A1 true FR2844409A1 (fr) 2004-03-12
FR2844409B1 FR2844409B1 (fr) 2004-12-24

Family

ID=31725905

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0211084A Expired - Fee Related FR2844409B1 (fr) 2002-09-05 2002-09-05 Protection d'une cle secrete pour algorithme d'authentification dans un radiotelephone mobile

Country Status (1)

Country Link
FR (1) FR2844409B1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006032746A1 (fr) * 2004-09-22 2006-03-30 Trusted Logic Procede de securisation de traitements cryptographiques par le biais de leurres
WO2006038104A1 (fr) * 2004-10-07 2006-04-13 Axalto Sa Procede et appareil de generation automatique de jeux d'algorithmes cryptographiques et generation de noyau

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2776445A1 (fr) * 1998-03-17 1999-09-24 Schlumberger Ind Sa Procede de securisation de donnees mettant en oeuvre un algorithme cryptographique

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2776445A1 (fr) * 1998-03-17 1999-09-24 Schlumberger Ind Sa Procede de securisation de donnees mettant en oeuvre un algorithme cryptographique

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KUEHN U: "Cryptanalysis of reduced-round MISTY", ADVANCES IN CRYPTOLOGY. EUROCRYPT, XX, XX, 10 May 2001 (2001-05-10), pages 325 - 339, XP002221992 *
MESSERGES T S: "SECURING THE AES FINALISTS AGAINST POWER ANALYSIS ATTACKS", FAST SOFTWARE ENCRYPTION. INTERNATIONAL WORKSHOP, XX, XX, vol. 1978, April 2000 (2000-04-01), pages 150 - 164, XP001040960 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006032746A1 (fr) * 2004-09-22 2006-03-30 Trusted Logic Procede de securisation de traitements cryptographiques par le biais de leurres
WO2006038104A1 (fr) * 2004-10-07 2006-04-13 Axalto Sa Procede et appareil de generation automatique de jeux d'algorithmes cryptographiques et generation de noyau
US8000473B2 (en) 2004-10-07 2011-08-16 Gemalto Sa Method and apparatus for generating cryptographic sets of instructions automatically and code generator

Also Published As

Publication number Publication date
FR2844409B1 (fr) 2004-12-24

Similar Documents

Publication Publication Date Title
EP1547426B1 (fr) Identification d un terminal aupres d un serveur
EP0285520B1 (fr) Procédé pour acheminer des clés secrètes vers des modules de sécurité et des cartes utilisateurs, dans un réseau de traitement d'informations
EP1190399B1 (fr) Procede de pre-controle d'un programme contenu dans une carte a puce additionnelle d'un terminal
EP0675614B1 (fr) Dispositif pour l'échange sécurisé de données du genre RSA limité à la signature numérique et la vérification des messages et carte à microcircuit comportant un tel dispositif
EP1157575B1 (fr) Authentification dans un reseau de radiotelephonie
EP2720199B1 (fr) Procédé sécurisé de commande d'ouverture de dispositifs de serrure à partir de messages mettant en oeuvre un cryptage symétrique
JP2002537739A (ja) 安全なハンドオーバーの方法
CA2289452A1 (fr) Etablissement d'un code secret initial comprenant des dispositifs de verification d'identite
JP4536934B2 (ja) セルラー通信システム用認証方法
EP1847063A2 (fr) Secret partage a contexte limite
EP1635265A3 (fr) Système pour télécharger, chiffrer à base des données biométriques d'utilisateur et mémoriser des données contenues, procédé et terminal mobile de communications utilisé à cet effet
EP0880759B1 (fr) Procede pour faire autoriser par un serveur l'acces a un service a partir de dispositifs portatifs a microcircuits electroniques du type carte a memoire par exemple
FR2817102A1 (fr) Appel depuis un terminal radiotelephonique avec authentification biometrique
Arul et al. GENERATE A KEY FOR AES USING BIOMETRIC FOR VOIP NETWORK SECURITY.
FR2820848A1 (fr) Gestion dynamique de listes de droits d'acces dans un objet electronique portable
FR2761849A1 (fr) Systeme de telecommunications, terminal mobile et procede d'enregistrement d'un terminal aupres d'un reseau de telecommunications
FI964926A (fi) Tiedonsiirron osapuolien oikeellisuuden tarkistaminen tietoliikenneverkossa
KR20020081120A (ko) 정보보안장치, 소수생성장치 및 소수생성방법
US7804961B2 (en) Method and apparatus for fast crytographic key generation
FR2844409A1 (fr) Protection d'une cle secrete pour algorithme d'authentification dans un radiotelephone mobile
WO2001093528A2 (fr) Procede de communication securisee entre un reseau et une carte a puce d'un terminal
Abiega-L’Eglisse et al. A New Fuzzy Vault based Biometric System robust to Brute-Force Attack
EP2009837A1 (fr) Procédé de génération embarqué d'un identifiant et d'une clé associée dans un objet portable communiquant
US20050125662A1 (en) Method for exchanging authentication information between a communication entity and an operator server
EP1196001B1 (fr) Téléphone mobile avec déverrouillage sécurisé de l'accès à un réseau de télécommunication et procédé de déverrouillage associé

Legal Events

Date Code Title Description
CA Change of address
CD Change of name or company name
TP Transmission of property
TP Transmission of property
CD Change of name or company name
ST Notification of lapse

Effective date: 20120531