WO2003085881A1 - Procede de securisation d'une entite electronique a acces crypte - Google Patents

Procede de securisation d'une entite electronique a acces crypte Download PDF

Info

Publication number
WO2003085881A1
WO2003085881A1 PCT/FR2003/001032 FR0301032W WO03085881A1 WO 2003085881 A1 WO2003085881 A1 WO 2003085881A1 FR 0301032 W FR0301032 W FR 0301032W WO 03085881 A1 WO03085881 A1 WO 03085881A1
Authority
WO
WIPO (PCT)
Prior art keywords
result
key
subkey
iterative process
sub
Prior art date
Application number
PCT/FR2003/001032
Other languages
English (en)
Inventor
Christophe Giraud
Original Assignee
Oberthur Card Systems S.A.
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 Oberthur Card Systems S.A. filed Critical Oberthur Card Systems S.A.
Priority to CA2480896A priority Critical patent/CA2480896C/fr
Priority to US10/510,284 priority patent/US7796750B2/en
Priority to JP2003582947A priority patent/JP2005522912A/ja
Priority to EP03740554A priority patent/EP1493242A1/fr
Priority to AU2003260714A priority patent/AU2003260714A1/en
Publication of WO2003085881A1 publication Critical patent/WO2003085881A1/fr
Priority to US12/852,637 priority patent/US8180046B2/en

Links

Classifications

    • 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/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Definitions

  • the invention relates to a. method for securing an electronic entity with encrypted access, such as for example a microcircuit card, the improvement more particularly aimed at detecting attacks known by the abbreviation DFA (Differential Fault Analysis, in English).
  • DFA Different Fault Analysis, in English
  • the invention is particularly aimed at securing known algorithms such as AES or DES.
  • Certain electronic entities with encrypted access are vulnerable to so-called DFA attacks consisting in disturbing the progress of the cryptographic algorithm so as to change the value of an intermediate result, to process the difference obtained between the message encrypted normally and the message encrypted with error and to deduce therefrom information on the secret key of the electronic entity.
  • Errors are very easy to produce on a microcircuit card, by intervening on the external environment, for example by causing a voltage peak, by subjecting the card to a light flash (in particular using a laser beam) , by suddenly varying the frequency of the external clock, etc ...
  • the invention offers a simple and effective defense against this type of attack.
  • the invention relates to a method for securing an electronic entity with encrypted access, which comprises means for executing a cryptographic algorithm consisting in applying to a input message a succession of groups of so-called "round" operations making intervene a series of respective sub-keys, successively elaborated by an iterative process implemented from an initial key, characterized in that it consists in memorizing the result of a step of said iterative process, in redoing at least one part of the steps of said iterative process until the recalculation of a result corresponding to that which has been memorized, to compare the value of said memorized result with the value of the corresponding recalculated result and to prohibit the broadcasting of an encrypted message resulting from the setting implementation of said algorithm if these two values are different.
  • a stored result can be one of the steps in the process known as key diversification process consisting in applying a non-linear function F to the result of the previous analogous step.
  • FIG. 1 is a diagram of an electronic entity such as a microcircuit card, capable of implementing the method of the invention
  • FIG. 2 is a flowchart illustrating the so-called AES algorithm
  • FIG. 3 is a flowchart illustrating the implementation of the invention as a complement in the execution of the AES.
  • FIG. 4 is a flowchart illustrating the DES algorithm to which the invention can also be applied.
  • an electronic entity 11 is shown, here forming a microcircuit card with its essential components, namely a set of contact pads 12, metallic, making it possible to connect the microcircuit 13 contained in the card to a reader. card, server or the like with which said microcircuit card will be able to exchange information after an authentication phase implementing a known secret key algorithm, for example the AES algorithm or the DES algorithm.
  • the microcircuit 13 is broken down into a microprocessor 14, some of whose accesses are connected to the contact pads, and a memory M coupled to the microprocessor.
  • an authentication phase is implemented in the card. This process is programmed in microcircuit 13 and part of the memory
  • the authentication phase implements an AES algorithm, the operation of which will be recalled with reference to FIG. 2.
  • the AES algorithm operates on the basis of an input message ME transmitted in clear by the outdoor unit to which the electronic entity is coupled.
  • the entity 11 also has a secret key K, stored, and the algorithm consists in transforming the message ME until obtaining an encrypted message MC following a certain number of transformations performed with the intervention of a certain number of subkeys Ko, KL K 2 , ..., K n - ⁇ , K n .
  • a nonlinear function F is programmed in the electronic entity to apply successively, first to the key K, then to the result R ⁇ i the transformation of the key K by the function F, then to the result R 2 of the transformation of the result Ri by the same function F and so on.
  • the different subkeys K 0 ... K n are extracted from this process of extension of the key K by the function F. More precisely, it is known that the key K can be a word of 128 bits, 192 bits or 256 bits.
  • the ME input message is a 128 bit word. All combinations are possible and a person skilled in the art chooses the combination which represents the best compromise, taking into account the context, between the speed of execution and the level of security required.
  • each sub-key is created from one or two successive results elaborated during the process of key extension by the function F.
  • the key K is coded on 192 bits. Consequently, the subkey Ko is extracted from the first two thirds of the key K, the subkey Ki is extracted from the other third of the key K and from the first thirds of the intermediate result Ri of the first transformation of this key by the function F, the subkey K 2 is extracted from the last two thirds of the intermediate result Ri, and so on until the elaboration of the last subkey K n .
  • the key K has been coded on 192 bits and the attack which has been described in broad outline above does not make it possible to find the key since the result R m is not entirely known. We cannot therefore "go back" to the key K from this incompletely known result.
  • security has been considerably weakened since partial information on the key is available, which makes other attacks (for example of the DPA type) known per se more effective.
  • the counter to this type of attack consists in memorizing an intermediate result Rj, for example R m , or a subkey, for example here the last subkey K n , to redo at least one part of the stages of elaboration of the succession of said sub-keys, that is to say essentially the process of extension of the key by the function F, until the recalculation of a result corresponding to that which has been stored.
  • Rj intermediate result
  • K n for example here the last subkey K n
  • FIG. 3 where the AES algorithm is completed (according to one embodiment) by redoing all of the steps for developing the succession of said sub-keys and more particularly of the process of extending the key K.
  • the AES algorithm described with reference to FIG. 2 is executed for the first time, the result is an encrypted message MC.
  • the last subkey K n is stored.
  • the previously stored value and the new value are compared (equality test). If the two values are equal, the output of the message MC is authorized. If the two values do not coincide, the MC value is not retransmitted to the outside and an error message can be issued.
  • the whole process of extending the key is repeated until the new calculation of the last subkey K n is obtained.
  • the invention is not limited to securing the AES algorithm.
  • the DES algorithm also known, is described in FIG. 4. Briefly, in this algorithm, the process of extending the key K is as follows. The key K (64 bits) is subjected to a P1 permutation on the bits and reduced to 56 bits. The result is a word 20 split into two 28-bit parts. Each of them is subjected to a permutation R (circular rotation on the bits) of 1 or 2 bits depending on the case.
  • the two results are combined to form a new word 21 of 56 bits subjected to a new permutation P2 and concatenated to 48 bits to give a subkey Ki.
  • the 56-bit word 21 is processed so as to undergo two circular rotations R to result in a new word 22, again subjected to the permutation P2 to generate a subkey K2 and so on until K16.
  • the 64-bit ME input message undergoes the following transformations. It is first subjected to a P3 permutation on the bits and the result is subjected to functions constituting the ROUND 1 involving the subkey K1.
  • the invention also relates to any electronic entity, in particular any microcircuit card, comprising means for implementing the method described above.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

Protection d’une entité électronique à accès crypté, contre les attaques du type DFA. On mémorise le résultat d’une étape choisie (Rm, Kn) d’un processus itératif faisant partie de l’algorithme cryptographique et on refait au moins une partie des étapes de ce processus itératif jusqu’à recalculer un résultat correspondant à celui qui a été mémorisé, on compare les deux résultats et on interdit la diffusion d’un message crypté (MC) s’ils sont différents.

Description

Procédé de sécurisation d'une entité électronique à accès crypté
L'invention se rapporte à un. procédé de sécurisation d'une entité électronique à accès crypté, telle que par exemple une carte à microcircuit, le perfectionnement visant plus particulièrement à détecter les attaques connues sous l'abréviation DFA (Differential Fault Analysis, en anglais). L'invention vise particulièrement à sécuriser des algorithmes connus tels que l'AES ou le DES.
Certaines entités électroniques à accès crypté, notamment les cartes à microcircuit, sont vulnérables à des attaques dites DFA consistant à perturber le déroulement de l'algorithme cryptographique de façon à changer la valeur d'un résultat intermédiaire, à traiter la différence obtenue entre le message chiffré normalement et le message chiffré avec erreur et à en déduire des informations sur la clé secrète de l'entité électronique. Les erreurs sont très faciles à produire sur une carte à microcircuit, en intervenant sur l'environnement extérieur, par exemple en provoquant un pic de tension, en soumettant la carte à un éclair lumineux (notamment à l'aide d'un faisceau laser), en faisant varier brutalement la fréquence de l'horloge extérieure, etc...
Parmi les algorithmes les plus utilisés, on peut citer le DES (Data Encryption Standard, en anglais) et surtout l'AES (Advanced Encryption Standard, en anglais). On rappelle que les deux algorithmes AES et DES ont en commun d'appliquer à un message d'entrée une succession de groupes d'opérations dits "rounds" sous le contrôle d'une série de sous-clés respectives, successivement élaborées à partir d'une clé initiale secrète, spécifique de l'entité électronique considérée. C'est cette clé initiale (notée K ci-après) que le fraudeur tente de reconstituer. Une partie de l'algorithme est consacrée à l'élaboration des sous-clés en mettant en œuvre un processus d'extension de clé par une fonction F, non linéaire dans le cas de l'AES. La fonction est appliquée à ladite clé initiale, puis à nouveau au résultat de l'application de ladite fonction et ainsi de suite. Les sous-clés sont élaborées à partir de cette succession de résultats intermédiaires issus de la clé initiale K.
Jusqu'à présent, les attaques de type DFA sont considérées comme inexploitables en pratique vis-à-vis de l'algorithme de type AES. Cependant, des études à l'origine de l'invention ont permis de mettre en évidence qu'une triple attaque du type DFA, en synchronisme avec certaines applications de la fonction F et le début du dernier "round", permet de retrouver tous les octets de la dernière sous-clé dans le cas où ladite clé d'entrée K est codée sur 128 bits, ce qui est actuellement le cas pour la plupart des systèmes où l'algorithme AES est utilisé. La connaissance de ces informations permet de retrouver la clé d'entrée.
L'invention offre une parade simple et efficace à ce type d'attaque. L'invention concerne un procédé de sécurisation d'une entité électronique à accès crypté, laquelle comprend des moyens d'exécution d'un algorithme cryptographique consistant à appliquer à un message d'entrée une succession de groupes d'opérations dits "rounds" faisant intervenir une série de sous-clés respectives, successivement élaborées par un processus itératif mis en œuvre à partir d'une clé initiale, caractérisé en ce qu'il consiste à mémoriser le résultat d'une étape dudit processus itératif, à refaire au moins une partie des étapes dudit processus itératif jusqu'au recalcul d'un résultat correspondant à celui qui a été mémorisé, à comparer la valeur dudit résultat mémorisé à la valeur du résultat recalculé correspondant et à interdire la diffusion d'un message crypté résultant de la mise en œuvre dudit algorithme si ces deux valeurs sont différentes.
En effet, si une erreur, due à une attaque DFA, intervient pendant le processus itératif d'élaboration des sous-clés, alors le résultat mémorisé et le résultat recalculé correspondant sont forcément différents car il est impossible de reproduire deux fois de suite la même "erreur" dans la pratique.
Par exemple, un résultat mémorisé, dit résultat intermédiaire, peut être l'une des étapes du processus dit de diversification de clé consistant à appliquer une fonction F non linéaire au résultat de l'étape analogue précédente. On peut aussi mémoriser l'une des sous-clés et recalculer cette sous-clé à partir d'une étape antérieure dudit processus itératif. Par exemple, on mémorise la dernière sous-clé.
L'invention sera mieux comprise et d'autres avantages de celle-ci apparaîtront plus clairement à la lumière de la description qui va suivre, donnée uniquement à titre d'exemple et faite en référence aux dessins annexés dans lesquels : - la figure 1 est un schéma d'une entité électronique telle qu'une carte à microcircuit, susceptible de mettre en œuvre le procédé de l'invention ;
- la figure 2 est un organigramme illustrant l'algorithme dit AES ;
- la figure 3 est un organigramme illustrant la mise en œuvre de l'invention à titre de complément dans l'exécution de l'AES ; et
- la figure 4 est un organigramme illustrant l'algorithme DES auquel l'invention peut aussi s'appliquer.
Sur la figure 1 , on a représenté une entité électronique 11 , formant ici une carte à microcircuit avec ses composants essentiels, à savoir un ensemble de plages de contact 12, métalliques, permettant de connecter le microcircuit 13 contenu dans la carte à un lecteur de carte, serveur ou analogue avec lequel ladite carte à microcircuit va pouvoir échanger des informations après une phase d'authentification mettant en œuvre un algorithme connu à clé secrète, par exemple l'algorithme AES ou l'algorithme DES. Classiquement, le microcircuit 13 se décompose en un microprocesseur 14, dont certains accès sont connectés aux plages de contact, et une mémoire M couplée au microprocesseur. Lorsque la carte est couplée à une unité extérieure pour remplir une fonction donnée (transaction financière, accès à un service téléphonique ou télématique, contrôle d'accès, etc .), une phase d'authentification est mise en œuvre dans la carte. Ce processus est programmé dans le microcircuit 13 et une partie de la mémoire
M lui est dédiée.
Par exemple, la phase d'authentification met en œuvre un algorithme AES dont le fonctionnement va être rappelé en référence à la figure 2. L'algorithme AES s'opère à partir d'un message d'entrée ME transmis en clair par l'unité extérieure à laquelle l'entité électronique se trouve couplée. L'entité 11 possède aussi une clé secrète K, mémorisée, et l'algorithme consiste à transformer le message ME jusqu'à obtenir un message chiffré MC à la suite d'un certain nombre de transformations opérées avec intervention d'un certain nombre de sous-clés Ko, KL K2, ..., Kn-ι, Kn. D'autre part, une fonction non linéaire F est programmée dans l'entité électronique pour s'appliquer successivement, d'abord à la clé K, puis au résultat R^i la transformation de la clé K par la fonction F, puis au résultat R2 de la transformation du résultat Ri par la même fonction F et ainsi de suite. Les différentes sous-clés K0 ... Kn sont extraites de ce processus d'extension de la clé K par la fonction F. Plus précisément, on sait que la clé K peut être un mot de 128 bits, 192 bits ou 256 bits. Le message d'entrée ME est un mot de 128 bits. Toutes les combinaisons sont possibles et l'homme du métier choisit la combinaison qui représente le meilleur compromis, compte tenu du contexte, entre la rapidité d'exécution et le niveau de sécurité requis. Actuellement cependant, la plupart des algorithmes AES effectivement mis en œuvre font appel à une clé K de 128 bits. Les sous-clés Ko ... Kn doivent être au format du message d'entrée. C'est pourquoi, chaque sous-clé est créée à partir d'un ou deux résultats successifs élaborés au cours du processus d'extension de clé par la fonction F. Dans l'exemple décrit, la clé K est codée sur 192 bits. Par conséquent, la sous-clé Ko est extraite des deux premiers tiers de la clé K, la sous-clé Ki est extraite de l'autre tiers de la clé K et du premiers tiers du résultat intermédiaire Ri de la première transformation de cette clé par la fonction F, la sous-clé K2 est extraite des deux derniers tiers du résultat intermédiaire R-i, et ainsi de suite jusqu'à l'élaboration de la dernière sous-clé Kn.
Du côté du traitement du message d'entrée, les opérations sont les suivantes. Ledit message d'entrée ME est combiné à la sous-clé Ko par une fonction ou exclusif 16. Après quoi, le résultat est soumis à un groupe d'opérations (appelé ici ROUND 1 ) avec intervention de la sous-clé K-|. Puis, le résultat est soumis à nouveau à un groupe d'opérations dit ROUND 2 avec intervention de la sous-clé K2, jusqu'à ROUNDn_ι, dit dernier ROUND, avec intervention de la sous-clé Kn_ι. Tous les "ROUNDS", de 1 à n-1 , sont composés de quatre transformations. Un ROUNDn, dit ROUND final avec intervention de la sous-clé Kn comporte seulement trois transformations. Le résultat de ce round final est un message chiffré MC qui est renvoyé vers l'extérieur.
A la base de l'invention, on a mis en évidence que, si on est capable de provoquer des perturbations comme indiqué à des moments précis du déroulement de l'algorithme AES décrit ci-dessus, on peut retrouver tous les octets d'une sous-clé et plus particulièrement selon l'exemple, de la dernière sous-clé Kn de la façon suivante :
- si on provoque la perturbation au moment de l'application de la dernière fonction F, on arrive à retrouver des informations sur l'avant-dernière extension de la clé par la fonction F, à savoir les quatre derniers octets de l'avant-dernier résultat Rm.ι.
- si on parvient aussi à produire une perturbation au moment de l'exécution de l'avant-dernière extension par la fonction F, on peut retrouver les quatre octets voisins de Rm_ι.
- si on provoque une perturbation sur le début du dernier round (ROUNDn-ι), on arrive à retrouver 8 octets de la dernière extension de clé par la fonction F, c'est-à-dire Rm. Ces octets appartiennent à la sous-clé Kn.
- en traitant les résultats précédents, on arrive encore à retrouver six octets de plus répartis dans la dernière extension de clé Rm par la fonction F.
Ces octets appartiennent aussi à la sous-clé Kn.
Pour retrouver les deux derniers octets de la sous-clé Kn, il est envisageable d'étudier toutes les possibilités jusqu'à retrouver ces deux derniers octets. Par conséquent, si la clé K avait été codée sur 128 bits, elle aurait pu être retrouvée à coup sûr par la seule mise en œuvre de l'attaque décrite ci-dessus. On rappelle que dans la majorité des algorithmes AES mis en œuvre actuellement, la clé K est effectivement codée sur 128 bits et il n'y a pas de différence entre les résultats intermédiaires Ri, R2 ... Rm et les sous-clés Ki, K2 ... Kn (dans ce cas, n = m) puisque chaque sous-clé est constituée de la totalité d'un résultat intermédiaire Rj correspondant. Dans l'exemple décrit cependant, la clé K a été codée sur 192 bits et l'attaque qui a été décrite dans ses grandes lignes ci-dessus ne permet pas de retrouver la clé puisque le résultat Rm n'est pas entièrement connu. On ne peut donc pas "remonter" jusqu'à la clé K à partir de ce résultat incomplètement connu. Cependant, on a affaibli considérablement la sécurité puisqu'on dispose d'informations partielles sur la clé, ce qui rend plus efficaces d'autres attaques (par exemple du type DPA) connues en soi.
Quoi qu'il en soit, la parade à ce type d'attaque consiste à mémoriser un résultat intermédiaire Rj, par exemple Rm, ou une sous-clé, par exemple ici la dernière sous-clé Kn, à refaire au moins une partie des étapes d'élaboration de la succession desdites sous-clés, c'est-à-dire essentiellement le processus d'extension de clé par la fonction F, jusqu'au recalcul d'un résultat correspondant à celui qui a été mémorisé. A partir de ce moment, on dispose de deux valeurs (de résultat intermédiaire ou de sous-clé) qui doivent être identiques si l'entité électronique n'a été soumise à aucune attaque du type DFA. Il suffit de comparer la valeur du résultat ou sous-clé mémorisé à la valeur du résultat ou sous-clé recalculé correspondant et interdire la diffusion du message crypté MC issu du ROUND final si ces deux valeurs sont différentes. C'est ce qu'illustre la figure 3 où l'algorithme AES est complété (selon un mode de réalisation) en refaisant la totalité des étapes d'élaboration de la succession desdites sous-clés et plus particulièrement du processus d'extension de la clé K. Selon cet exemple, l'algorithme AES décrit en référence à la figure 2 est exécuté une première fois, le résultat est un message crypté MC. La dernière sous-clé Kn est mémorisée. Ensuite, on refait tout le processus d'extension de clé par la fonction F à partir de la clé K secrète de l'entité. Ceci aboutit à déterminer une nouvelle valeur de Kn. La valeur précédemment mémorisée et la nouvelle valeur sont comparées (test d'égalité). Si les deux valeurs sont égales, on autorise la sortie du message MC. Si les deux valeurs ne coïncident pas, la valeur MC n'est pas retransmise à l'extérieur et on peut émettre un message d'erreur.
Dans l'exemple qui vient d'être décrit, on refait la totalité du processus d'extension de clé jusqu'à obtenir le nouveau calcul de la dernière sous-clé Kn. Comme on l'a vu plus haut, on peut mémoriser un résultat intermédiaire Ri ou sous-clé, quelconque et refaire au moins une partie des étapes d'élaboration de la succession des sous-clés jusqu'au recalcul d'un résultat intermédiaire ou sous-clé correspondant à celui qui a été mémorisé. D'une façon générale, on a avantage, si on ne refait pas la totalité du cycle d'extension de clé par la fonction F, à refaire au moins une partie finale des étapes d'élaboration de la succession desdites sous-clés, c'est-à-dire plus particulièrement une partie finale du processus d'extension de clé par la fonction F, jusqu'à obtenir un second calcul du dernier résultat intermédiaire Rm ou de la dernière sous-clé.
Si on ne refait pas l'intégralité du processus itératif d'extension de clé (à partir de la clé K), il faut évidemment mémoriser le résultat intermédiaire (ou la sous-clé) d'où on repart. L'invention n'est pas limitée à la sécurisation de l'algorithme AES. A titre d'exemple, l'algorithme DES, également connu, est décrit à la figure 4. Brièvement, dans cet algorithme, le processus d'extension de la clé K est le suivant. La clé K (64 bits) est soumise à une permutation P1 sur les bits et réduite à 56 bits. Le résultat est un mot 20 partagé en deux parties de 28 bits. Chacune d'elles est soumise à une permutation R (rotation circulaire sur les bits) de 1 ou 2 bits selon les cas. Les deux résultats sont rassemblés pour former un nouveau mot 21 de 56 bits soumis à une nouvelle permutation P2 et concaténé à 48 bits pour donner une sous-clé Ki. Par ailleurs, le mot 21 de 56 bits est traité de façon à subir deux rotations circulaires R pour aboutir à un nouveau mot 22, à nouveau soumis à la permutation P2 pour engendrer une sous-clé K2 et ainsi de suite jusqu'à K16. Par ailleurs, le message d'entrée ME de 64 bits subit les transformations suivantes. II est d'abord soumis à une permutation P3 sur les bits et le résultat est soumis à des fonctions constituant le ROUND 1 faisant intervenir la sous-clé K1. On met ensuite en œuvre d'autres rounds successifs faisant intervenir d'autres sous-clés correspondantes (jusqu'à la sous-clé K16) et le résultat du dernier round est soumis à une permutation inverse P3". Le résultat de cette permutation inverse est le message chiffré MC destiné à être renvoyé. On conçoit que la structure générale de l'algorithme DES qui vient d'être rappelée ci-dessus se prête bien à la mise en œuvre de l'invention. Il suffit par exemple de mémoriser la sous-clé K16 et de refaire tout ou partie du processus de diversification de la clé K composé de la permutation P1 et des rotations R. Le test peut même être réalisé sur la valeur du dernier résultat intermédiaire (mot 36) avant la dernière permutation P2. Dans ce cas, c'est ce dernier résultat qui est mémorisé et non pas la sous-clé K16.
Bien entendu, l'invention concerne aussi toute entité électronique, notamment toute carte à microcircuit, comportant des moyens de mise en œuvre du procédé décrit ci-dessus.

Claims

REVENDICATIONS
1. Procédé de sécurisation d'une entité électronique à accès crypté, laquelle comprend des moyens d'exécution d'un algorithme cryptographique consistant à appliquer à un message d'entrée une succession de groupes d'opérations dits "rounds" faisant intervenir une série de sous-clés (Ko ... Kn) respectives, successivement élaborées par un processus itératif mis en œuvre à partir d'une dé initiale (K), caractérisé en ce qu'il consiste à mémoriser un résultat d'une étape intermédiaire (Rm, Kn) dudit processus itératif, à refaire au moins une partie des étapes dudit processus itératif jusqu'au recalcul d'un résultat correspondant à celui qui a été mémorisé, à comparer la valeur dudit résultat mémorisé à la valeur du résultat recalculé correspondant et à interdire la diffusion d'un message crypté (MC) résultant de la mise en œuvre dudit algorithme si ces deux valeurs sont différentes.
2. Procédé selon la revendication 1 , caractérisé en ce qu'il consiste à mémoriser la valeur d'une sous-clé (Kn) et à refaire au moins une partie des étapes dudit processus itératif jusqu'au recalcul d'une sous-clé correspondant à ladite sous-clé mémorisée.
3. Procédé selon la revendication 1 , caractérisé en ce qu'il consiste à mémoriser la valeur d'un résultat intermédiaire (Rm) dudit processus itératif et à refaire au moins une partie dudit processus itératif jusqu'au recalcul d'un résultat intermédiaire correspondant à celui qui a été mémorisé.
4. Procédé selon la revendication 2, caractérisé en ce qu'il consiste à mémoriser la valeur de la dernière sous-clé (Kn) et à refaire au moins une partie finale des étapes d'élaboration de la succession desdites sous-clés jusqu'à obtenir un second calcul de ladite dernière sous-clé.
5. Procédé selon la revendication 4, caractérisé en ce qu'il consiste à refaire la totalité des étapes d'élaboration de la succession desdites sous-clés.
6. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il s'applique à un algorithme dit AES, connu en soi.
7. Procédé selon l'une des revendications 1 à 6, caractérisé en ce qu'il s'applique à un algorithme dit DES, connu en soi.
8. Entité électronique autonome caractérisée en ce qu'elle comporte des moyens de mise en œuvre (13) du procédé selon l'une des revendications précédentes.
9. Entité électronique selon la revendication 8, caractérisée en ce qu'elle est agencée sous forme de carte à microcircuit.
PCT/FR2003/001032 2002-04-08 2003-04-02 Procede de securisation d'une entite electronique a acces crypte WO2003085881A1 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CA2480896A CA2480896C (fr) 2002-04-08 2003-04-02 Procede de securisation d'une entite electronique a acces crypte
US10/510,284 US7796750B2 (en) 2002-04-08 2003-04-02 Method for making secure an electronic entity with encrypted access
JP2003582947A JP2005522912A (ja) 2002-04-08 2003-04-02 暗号化されたアクセスを使う電子的エンティティのセキュリティ化方法
EP03740554A EP1493242A1 (fr) 2002-04-08 2003-04-02 Procede de securisation d une entite electronique a acces cr ypte
AU2003260714A AU2003260714A1 (en) 2002-04-08 2003-04-02 Method for making secure an electronic entity with encrypted access
US12/852,637 US8180046B2 (en) 2002-04-08 2010-08-09 Method for making secure an electronic entity with encrypted access

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR02/04341 2002-04-08
FR0204341A FR2838262B1 (fr) 2002-04-08 2002-04-08 Procede de securisation d'une electronique a acces crypte

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US10510284 A-371-Of-International 2003-04-02
US12/852,637 Continuation US8180046B2 (en) 2002-04-08 2010-08-09 Method for making secure an electronic entity with encrypted access

Publications (1)

Publication Number Publication Date
WO2003085881A1 true WO2003085881A1 (fr) 2003-10-16

Family

ID=28052188

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2003/001032 WO2003085881A1 (fr) 2002-04-08 2003-04-02 Procede de securisation d'une entite electronique a acces crypte

Country Status (7)

Country Link
US (2) US7796750B2 (fr)
EP (1) EP1493242A1 (fr)
JP (2) JP2005522912A (fr)
AU (1) AU2003260714A1 (fr)
CA (1) CA2480896C (fr)
FR (1) FR2838262B1 (fr)
WO (1) WO2003085881A1 (fr)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1569118A2 (fr) * 2004-02-24 2005-08-31 Giesecke & Devrient GmbH Méthode pour le calcul sécurisé de résultats dans une système à microprocesseurs
KR100817048B1 (ko) 2005-03-05 2008-03-26 삼성전자주식회사 여러 가지 포인트 표현을 기반으로 한 ecc에서 dfa대책을 위한 암호화 방법 및 장치
KR100850202B1 (ko) 2006-03-04 2008-08-04 삼성전자주식회사 Ecc 패스트 몽고매리 전력 래더 알고리즘을 이용하여dfa 에 대응하는 암호화 방법
FR2949010A1 (fr) * 2009-08-05 2011-02-11 St Microelectronics Rousset Procede de contremesure pour proteger des donnees memorisees
US8458790B2 (en) 2006-10-12 2013-06-04 International Business Machines Corporation Defending smart cards against attacks by redundant processing

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2838262B1 (fr) * 2002-04-08 2004-07-30 Oberthur Card Syst Sa Procede de securisation d'une electronique a acces crypte
DE10328860B4 (de) * 2003-06-26 2008-08-07 Infineon Technologies Ag Vorrichtung und Verfahren zum Verschlüsseln von Daten
US7937595B1 (en) * 2003-06-27 2011-05-03 Zoran Corporation Integrated encryption/decryption functionality in a digital TV/PVR system-on-chip
KR100546375B1 (ko) * 2003-08-29 2006-01-26 삼성전자주식회사 자체 오류 감지 기능을 강화한 상호 의존적 병렬 연산방식의 하드웨어 암호화 장치 및 그 하드웨어 암호화 방법
FR2867635B1 (fr) * 2004-03-11 2006-09-22 Oberthur Card Syst Sa Procede de traitement de donnees securise, base notamment sur un algorithme cryptographique
FR2875657B1 (fr) * 2004-09-22 2006-12-15 Trusted Logic Sa Procede de securisation de traitements cryptographiques par le biais de leurres.
EP1646174A1 (fr) * 2004-10-07 2006-04-12 Axalto SA Méthode et appareil pour générer un jeux d'instructions cryptographique automatiquement et génération d'un code
US20070019805A1 (en) * 2005-06-28 2007-01-25 Trustees Of Boston University System employing systematic robust error detection coding to protect system element against errors with unknown probability distributions
EP1998488A1 (fr) * 2007-05-26 2008-12-03 DSI Informationstechnik GmbH Chiffrement AES personnalisé
EP2218208B1 (fr) * 2007-12-13 2011-06-15 Oberthur Technologies Procede de traitement cryptographique de donnees, notamment a l'aide d'une boite s, dispositif et programme associes
JP5483838B2 (ja) * 2008-07-08 2014-05-07 ルネサスエレクトロニクス株式会社 データ処理装置
JP5387144B2 (ja) 2009-06-01 2014-01-15 ソニー株式会社 誤動作発生攻撃検出回路および集積回路
JP5296217B2 (ja) * 2009-09-24 2013-09-25 株式会社東芝 鍵スケジュール装置および方法
EP2367316B1 (fr) * 2010-03-12 2017-07-05 STMicroelectronics (Rousset) SAS Procédé et circuit pour détecter une attaque par injection d'une faute
JP5776927B2 (ja) * 2011-03-28 2015-09-09 ソニー株式会社 情報処理装置及び方法、並びにプログラム
US8897440B2 (en) * 2012-06-28 2014-11-25 Steven W. Cooke Cryptographic system of symmetric-key encryption using large permutation vector keys
US9152801B2 (en) 2012-06-28 2015-10-06 Steven W. Cooke Cryptographic system of symmetric-key encryption using large permutation vector keys
CN104919750B (zh) * 2012-12-21 2017-06-06 皇家飞利浦有限公司 计算关于函数‑输入值的数据函数的计算设备和方法
JP7063628B2 (ja) * 2018-01-11 2022-05-09 Necプラットフォームズ株式会社 暗号化装置、暗号化方法およびプログラム
US12034831B2 (en) * 2022-06-21 2024-07-09 Silicon Laboratories Inc. Hardware countermeasures against DFA attacks on AES operations

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998052319A1 (fr) * 1997-05-12 1998-11-19 Yeda Research And Development Co. Ltd. Procede et dispositif ameliores permettant de proteger les logiques de cles publiques contre les attaques basees sur la sequence des operations et les fautes
US6108419A (en) * 1998-01-27 2000-08-22 Motorola, Inc. Differential fault analysis hardening apparatus and evaluation method
WO2003024017A2 (fr) * 2001-09-04 2003-03-20 Stmicroelectronics S.A. Procede de securisation d'une quantite secrete

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10154976A (ja) 1996-11-22 1998-06-09 Toshiba Corp タンパーフリー装置
EP0958671A1 (fr) * 1997-02-07 1999-11-24 Telcordia Technologies, Inc. Procede d'utilisation de defauts transitoires afin de verifier la securite d'un systeme cryptographique
US6182216B1 (en) * 1997-09-17 2001-01-30 Frank C. Luyster Block cipher method
US6219420B1 (en) * 1998-09-02 2001-04-17 Motorola, Inc. High assurance encryption system and method
US6985581B1 (en) * 1999-05-06 2006-01-10 Intel Corporation Method and apparatus to verify circuit operating conditions
FR2838262B1 (fr) * 2002-04-08 2004-07-30 Oberthur Card Syst Sa Procede de securisation d'une electronique a acces crypte
TW574660B (en) * 2002-05-16 2004-02-01 Ind Tech Res Inst Method targeting at range search and for information search complying with specified rule
AU2003241594A1 (en) * 2002-05-23 2003-12-12 Atmel Corporation Advanced encryption standard (aes) hardware cryptographic engine
US7190791B2 (en) * 2002-11-20 2007-03-13 Stephen Laurence Boren Method of encryption using multi-key process to create a variable-length key
US7340053B2 (en) * 2003-07-18 2008-03-04 National Institute Of Information And Communications Technology Cipher strength estimating device
US8296577B2 (en) * 2004-06-08 2012-10-23 Hrl Laboratories, Llc Cryptographic bus architecture for the prevention of differential power analysis
DE102004062825B4 (de) * 2004-12-27 2006-11-23 Infineon Technologies Ag Kryptographische Einheit und Verfahren zum Betreiben einer kryptographischen Einheit
US20080298642A1 (en) * 2006-11-03 2008-12-04 Snowflake Technologies Corporation Method and apparatus for extraction and matching of biometric detail
CN100495961C (zh) * 2007-11-19 2009-06-03 西安西电捷通无线网络通信有限公司 一种基于分组密码算法的加密处理方法
JP4748227B2 (ja) * 2009-02-10 2011-08-17 ソニー株式会社 データ変調装置とその方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998052319A1 (fr) * 1997-05-12 1998-11-19 Yeda Research And Development Co. Ltd. Procede et dispositif ameliores permettant de proteger les logiques de cles publiques contre les attaques basees sur la sequence des operations et les fautes
US6108419A (en) * 1998-01-27 2000-08-22 Motorola, Inc. Differential fault analysis hardening apparatus and evaluation method
WO2003024017A2 (fr) * 2001-09-04 2003-03-20 Stmicroelectronics S.A. Procede de securisation d'une quantite secrete

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1569118A2 (fr) * 2004-02-24 2005-08-31 Giesecke & Devrient GmbH Méthode pour le calcul sécurisé de résultats dans une système à microprocesseurs
EP1569118A3 (fr) * 2004-02-24 2007-01-10 Giesecke & Devrient GmbH Méthode pour le calcul sécurisé de résultats dans une système à microprocesseurs
KR100817048B1 (ko) 2005-03-05 2008-03-26 삼성전자주식회사 여러 가지 포인트 표현을 기반으로 한 ecc에서 dfa대책을 위한 암호화 방법 및 장치
KR100850202B1 (ko) 2006-03-04 2008-08-04 삼성전자주식회사 Ecc 패스트 몽고매리 전력 래더 알고리즘을 이용하여dfa 에 대응하는 암호화 방법
US8458790B2 (en) 2006-10-12 2013-06-04 International Business Machines Corporation Defending smart cards against attacks by redundant processing
FR2949010A1 (fr) * 2009-08-05 2011-02-11 St Microelectronics Rousset Procede de contremesure pour proteger des donnees memorisees
EP2284748A1 (fr) * 2009-08-05 2011-02-16 STMicroelectronics Rousset SAS Procédé de contremesure pour protéger des données mémorisées
US9483663B2 (en) 2009-08-05 2016-11-01 Stmicroelectronics (Rousset) Sas Countermeasure method for protecting stored data

Also Published As

Publication number Publication date
CA2480896C (fr) 2012-10-30
US20060104438A1 (en) 2006-05-18
JP2005522912A (ja) 2005-07-28
CA2480896A1 (fr) 2003-10-16
US20100322421A1 (en) 2010-12-23
JP2011103686A (ja) 2011-05-26
EP1493242A1 (fr) 2005-01-05
US8180046B2 (en) 2012-05-15
AU2003260714A1 (en) 2003-10-20
FR2838262A1 (fr) 2003-10-10
FR2838262B1 (fr) 2004-07-30
US7796750B2 (en) 2010-09-14

Similar Documents

Publication Publication Date Title
CA2480896C (fr) Procede de securisation d'une entite electronique a acces crypte
EP1064752B1 (fr) Procede de securisation de donnees mettant en oeuvre un algorithme cryptographique
EP1638245B2 (fr) Protection d'un algorithme DES
EP1358733A1 (fr) Procede securise de calcul cryptographique a cle secrete et composant mettant en oeuvre un tel procede
WO2003024017A2 (fr) Procede de securisation d'une quantite secrete
EP0346180B1 (fr) Dispositif de communication sécurisée de données
EP3300293A1 (fr) Procédé de chiffrement ou de déchiffrement symétrique par bloc
EP2166696A1 (fr) Protection de l'intégrité de données chiffrées en utilisant un état intermédiare de chiffrement pour générer une signature
EP1122909B1 (fr) Procédé d'exécution d'un protocole cryptographique entre deux entités électroniques.
EP1159797A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
EP1198921B1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
EP1119940B1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
EP1387519A2 (fr) Procédé de sécurisation d'un ensemble électronique contre des attaques par introduction d'erreurs
EP1119939A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
EP1180260B1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete et dynamique
EP1591866B1 (fr) Contrôle de l'exécution d'un algorithme par un circuit intégré
FR2690258A1 (fr) Procédé de contrôle d'accès du type autorisant l'accès à une fonction d'exploitation d'un module d'exploitation à l'aide d'un mot de contrôle.
FR2566155A1 (fr) Procede et systeme pour chiffrer et dechiffrer des informations transmises entre un dispositif emetteur et un dispositif recepteur
FR2807245A1 (fr) Procede de protection d'une puce electronique contre la fraude
FR3133251A1 (fr) Procédé de signature cryptographique d’une donnée, dispositif électronique et programme d’ordinateur associés
EP1199628A1 (fr) Unité de calcul dans laquelle on détermine l'inverse d'un entier modulo un grand nombre
WO2001039466A1 (fr) Dispositif informatique pour securiser des messages au niveau d'une couche reseau
FR2984646A1 (fr) Procede de traitement de donnees et dispositif associe

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2480896

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2003582947

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2003740554

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2003740554

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2006104438

Country of ref document: US

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 10510284

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 10510284

Country of ref document: US