WO2002045035A2 - Procede de verification de l'integrite des donnees dans le traitement des donnees de dispositifs electroniques - Google Patents

Procede de verification de l'integrite des donnees dans le traitement des donnees de dispositifs electroniques Download PDF

Info

Publication number
WO2002045035A2
WO2002045035A2 PCT/FR2001/003581 FR0103581W WO0245035A2 WO 2002045035 A2 WO2002045035 A2 WO 2002045035A2 FR 0103581 W FR0103581 W FR 0103581W WO 0245035 A2 WO0245035 A2 WO 0245035A2
Authority
WO
WIPO (PCT)
Prior art keywords
byte
value
checksum
integrity
integrity value
Prior art date
Application number
PCT/FR2001/003581
Other languages
English (en)
Other versions
WO2002045035A3 (fr
Inventor
Olivier Benoit
Original Assignee
Gemplus
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 Gemplus filed Critical Gemplus
Priority to AU2002220785A priority Critical patent/AU2002220785A1/en
Publication of WO2002045035A2 publication Critical patent/WO2002045035A2/fr
Publication of WO2002045035A3 publication Critical patent/WO2002045035A3/fr

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card

Definitions

  • the present invention relates to data processing of electronic devices. More specifically, the present invention relates to a method for verifying the integrity of the data stored in an electronic device.
  • BACKGROUND OF THE INVENTION Electronic devices used to process data conventionally include different types of memory. Data is usually transferred from a first "storage” memory to a second "processing" memory.
  • Chip cards as a particular embodiment of electronic devices, were originally designed to improve the security of distributed systems.
  • Smart card applications include, for example, calling cards, identification cards, medical cards, transaction cards (credit / debit bank cards, store, restaurant loyalty cards) and security cards . All of these applications require that certain sensitive and confidential data be managed inside the smart card.
  • an electronic device 10 conventionally comprises a Central Processing Unit (CPU) 12, which is the main controller / processor of the electronic device 10.
  • the CPU 12 can optionally include a large number of internal registers 13 such as for example in RISC processors (computer with reduced instruction set).
  • the electronic device 10 also includes a volatile memory in the form of a random access memory
  • RAM random access memory
  • ROM read only memory
  • cache memory electrically erasable programmable read only memory
  • volatile memory refer in particular but not exclusively to such RAM, internal registers and / or caches.
  • An input / output (I / O) device such as a terminal 20, allows the smart card 10 to share data with a distributed system (not shown) by controlling the inputs / outputs to and from the electronic device 10 , via the CPU 12.
  • the smart card 10 includes an I / O port (not shown) for transferring data to and from the input / output device 20.
  • the CPU 12 processes instructions for managing data stored in the electronic device, and it includes a program which provides protection against access to sensitive and / or confidential data which is contained and processed in the smart card 10, by unauthorized entities, such as hackers.
  • the sensitive and / or confidential information contained or processed in the system represents significant value (financial or other) for its holder.
  • Means of maintaining the secrecy and confidentiality of data are required to guarantee adequate security of smart cards. In fact, these cards face different types of external fraudulent attempts to access the data stored there.
  • Cryptography the art and science of maintaining secret data, has become one of the main tools for maintaining secrecy, trust, access control and corporate security, among other things.
  • the cryptographic transformation of confidential data is usually called encryption. This transformation includes coding the data contained in the card in such a way that their clear meaning is hidden from outsiders.
  • decryption the process of recovering clear data from the encrypted text (the encrypted data) is usually called decryption.
  • cryptographic systems i.e. systems using cryptographic technology
  • Cryptographic systems are exposed to different types of outside attempts to gain access to the encrypted data contained therein.
  • Fraudulent attempts at external access generally known as attacks, form the cryptoanalysis, which is the art of decrypting encrypted data, i.e. decrypting data without knowing the appropriate keys.
  • a fault induction attack assumes that, by exposing a sealed electronic device, such as a smart card, to certain physical effects
  • lateral attacks include, for example, “power analysis” and “radio frequency (RF) analysis”.
  • RF radio frequency
  • the power analysis is based on the measurement of the power consumption during the processing of confidential information encoded in binary in a smart card.
  • RF analysis consists of intercepting and analyzing the radio frequency emitted during the transfer of confidential data. These two types of attack use either the variation in energy consumption or the variation in RF radiation emitted during the processing of confidential data. Knowing one of these variations allows mathematically to recover confidential data.
  • FIG. 2 which is also entitled “prior art", illustrates the classic form of digital data which is processed by electronic devices such as smart cards.
  • the digital data 22 includes confidential data 24 and a checksum 26.
  • the confidential data 24 includes information to be processed by the CPU 12, such as a secret key, secret code, etc. This information is naturally in digital form and has a variable length in bytes.
  • the checksum 26 is a check value which is calculated when the confidential data 24 is recorded and which is placed in annex to the confidential data 24 to verify their integrity.
  • FIG. 3 also entitled “prior art”, illustrates a conventional method 30 intended to verify that the confidential data 24 to be processed in the smart card 10 are not corrupted.
  • the digital data to be processed in a smart card is initially stored in the EEPROM 18 before being transferred to the volatile memory 14 for processing by the CPU 12.
  • step 32 a checksum is calculated by the CPU 12 using a predetermined checksum function stored inside the smart card 10 and confidential data 24.
  • step 34 the calculated checksum is compared to the checksum 26 stored in the EEPROM 18.
  • a method of verifying the integrity of confidential data during their processing, a checksum being appended to the confidential data comprising: providing a checksum function predetermined; initialization of an integrity value; dividing confidential data into a set of bytes; processing a first byte of the set; calculating a new integrity value using the checksum function, the first byte and the initial integrity value; for each other byte in the set: processing of the other byte; and calculating a new integrity value using the checksum function of the other byte and the integrity value calculated using the previous byte; comparing the new integrity value calculated last with the value of the checksum; and detection of a fault when the new integrity value calculated last is different from the value of the checksum.
  • a method of verifying the integrity of confidential data during their transfer from a first memory to a second memory, a value of the checksum being appended to the confidential data comprising providing a predetermined checksum function; initialization of an integrity value; dividing confidential data into a set of bytes; transferring a first byte of the set from the first memory to the second memory; calculating a new integrity value using the checksum function, the first byte and the initial integrity value; for each other byte of the set: the transfer of the other byte from the first memory to the second memory; and calculating a new integrity value using the checksum function of the other byte and the integrity value calculated using the previous byte; comparing the new integrity value last calculated with the value of the checksum; and detection of a fault when the new integrity value calculated last is different from the value of the checksum.
  • a method of verifying the integrity of a secret code during its comparison with a validation code, a value of the checksum being appended to the secret code comprising: providing a secret code in the electronic device; the provision of a validation code; providing a predetermined checksum function; initialization of an integrity value; dividing the validation code into a first set of bytes; dividing the secret code into a second set of bytes; comparing a first byte of the first set with a first byte of the second set; detecting an incorrect validation code and stopping the verification when the first bytes compared are different; calculating a new integrity value using the checksum function, the first byte of the second set, and the integrity value; for each other byte of the first set and other corresponding byte of the second set: comparing the other byte of the first set with the other corresponding byte of the second set; detecting an incorrect validation code and stopping the verification if the other bytes are different; calculating a new integrity value using
  • an electronic device for processing confidential data received from an input / output device, a value of the checksum being appended to the confidential data
  • the device comprising: a first memory for receiving the confidential data and the value of the checksum from the input / output device; an input / output port for transferring data from the input / output device to the first memory; a second memory for storing confidential data during processing; and a CPU for simultaneously processing the confidential data and verifying their integrity; the CPU having a checksum function programmed therein; the CPU being configured to divide the confidential data into a set of bytes, to iterate an integrity value using the checksum function and the set of bytes and to compare the value d integrity at the checksum value.
  • FIG. 1, which is entitled “prior art”, is a functional diagram of the main elements of an electronic device
  • Figure 2, which is entitled “prior art” is a block diagram illustrating the conventional structure of digital data to be processed by the electronic device of Figure 1
  • Figure 3, which is entitled “prior art” is a flowchart of a conventional method of verifying the integrity of digital data to be processed by the electronic device of Figure 1
  • FIG. 4 is a flowchart of a method for verifying the integrity of the digital data to be processed in the electronic device of FIG. 1, according to a first embodiment of the present invention
  • FIG. 5 is a flowchart of a method for verifying the integrity of the digital data to be processed in the electronic device of FIG. 1, according to a second embodiment of the present invention.
  • the method 100 allows the verification of the integrity of the digital data while they are transferred from a first memory to a second memory.
  • the first memory is the EEPROM, where the digital data 22 are stored after having been transferred from another electronic device (not shown), and the second memory is the RAM 14, the CPU 12 being intended to access confidential data 24.
  • the first memory can be in the form of a flash memory or another non-volatile memory.
  • the first step 102 consists in dividing the confidential data (CD) 24 which is stored in the EEPROM 18 into a set of bytes.
  • an integrity value and a byte position are initialized.
  • the initialization advantageously consists in setting the integrity value and the byte position to zero.
  • the integrity value rCHK is the checksum which will be calculated using a predetermined checksum function G which is programmed in the smart card 10, which will be used by the CPU 12 to check the integrity confidential data 24.
  • the checksum function G is naturally predetermined. In fact, this function is stored and programmed in the smart card 10 before to process any data contained therein. As is conventionally known, this procedure is carried out only once, at the time when the chip card is initialized. Any digital data 22 to be processed includes a checksum 26 which is calculated using confidential data 24 and the checksum function G.
  • the checksum function G can take any form, from a simple sum of each byte forming the confidential data 24 or a logical OR to more complex mathematical functions performed on the confidential data 24.
  • step 106 the first byte of the confidential data 24 is transferred from the EEPROM 18 to the RAM 14.
  • step 108 a new integrity value rCHK is then calculated using the checksum function G, the value of the first byte CD [0] and the initial integrity value rCHK pre vious •
  • rCHK G (CD [i], rCHK prev iou S ), where i is the position of the byte which is processed at this time, which goes from 0 to the length of confidential data minus 1.
  • step 110 the verification is carried out to determine whether the byte which has just been processed is the last byte of the confidential data 24. If this is not the case, the steps 106 to 112 are repeated for each remaining byte CD [i] of the confidential data 24.
  • a new integrity value rCHK is calculated using the current byte CD [il and the previous integrity value rCHK previous , calculated during the previous iteration.
  • step 114 the new integrity value calculated last and the value of the checksum stored in the EEPROM 18 are compared. If the two values are identical, the integrity of the confidential data 24 in the RAM 14 is assumed and the confidential data can be processed by the CPU 12 (step 116). If the integrity value rCHK and the checksum are different, a default error is detected (step 118).
  • the method 100 is advantageous insofar as the integrity check is carried out while the confidential data 24 are transferred to the RAM 14, which guarantees that the data processed in the RAM 14 by the CPU 12 are the same as those initially transferred to the electronic device 10.
  • the CPU 12 can, alternatively, start processing the bytes of confidential data 24 which are already in RAM, even if the verification integrity of non-transferred bytes is being executed.
  • the method 100 has been described with reference to the transfer of confidential data from the EEPROM of a smart card to its RAM, it can be used to verify the integrity of confidential data transferred from any first memory to any second memory.
  • each of the two memory locations can be part of a different electronic device.
  • the method 200 allows validation and verification of the integrity of a secret code required, for example, to access an electronic device.
  • PIN personal identification number
  • restricted users known to one or more restricted users, and which gives access to a smart card.
  • PIN personal identification number
  • the PIN must be entered and stored by the user in the smart card during an initial validation process.
  • the smart card is programmed to require such a code before processing any information.
  • the method of FIG. 5 allows the simultaneous verification of the integrity of the secret code and its comparison with a rival code supplied by the user (and which is designated below by the terms of validation code).
  • the first step 202 consists in dividing into a set of bytes the secret code which has been stored in the EEPROM 18 and the validation code entered.
  • an integrity value rCHK and a byte position i are initialized. For example, the initialization of the integrity value rCHK consists in setting this integrity value to 0.
  • step 206 the first byte rVC [i] of the validation code is compared with the first byte SC [i] of the secret code. If the two values are different, the verification code is wrong and the verification stops
  • step 212 the byte position is incremented.
  • Step 214 performs a check to determine whether the byte which has just been processed is the last byte of the validation code. If not, steps 206-214 are repeated for each remaining byte i. For each of the other bytes, the new integrity value rCHK is calculated using the current byte SC [i] and the previous integrity value rCHK pr evious calculated during the previous iteration using from the previous byte (SC [il]).
  • the new integrity value rCHK and the value of the checksum stored in the EEPROM 18 are then compared (step 216). If the two values are identical, the integrity of the secret code is assumed. If the integrity value rCHK and the checksum are different, a fault is detected (step 218).
  • the method 200 simultaneously allows verification of the integrity and validation of the secret code.
  • Method 200 is advantageous since the verification process is stopped each time a difference is detected between a byte from the validation code and the corresponding byte from the secret code, as it is written in the card smart, thanks to which no superfluous calculation is performed by the CPU 12.
  • the nature of the electronic device is not limited to smart cards as described above.
  • the method of the present invention could be advantageous in other types of electronic devices such as, for example, personal digital assistants (PDAs) and cell phones.
  • PDAs personal digital assistants
  • a method according to the present invention makes it possible to verify the integrity of confidential data while this data is subjected to a variety of processes and it is not limited to the verification of a secret code and the transfer of data from memory locations.

Abstract

L'invention concerne un procédé de vérification de l'intégrité de données confidentielles dans un traitement de données de dispositif électronique. Le procédé consiste simultanément à calculer une valeur de la somme de contrôle pendant que les données confidentielles sont traitées. Les données confidentielles sont divisées en un ensemble d'octets et sont traitées et vérifiées octet par octet. Un exemple d'applications du procédé comprend le transfert de données depuis l'EEPROM d'une carte à puce vers sa RAM et la validation d'un code secret dans une telle carte.

Description

PROCEDE DE VERIFICATION DE L'INTEGRITE DES DONNEES DANS LE TRAITEMENT DES DONNEES DE DISPOSITIFS ELECTRONIQUES
Domaine de l'invention
La présente invention concerne le traitement de données de dispositifs électroniques. Plus précisément, la présente invention concerne un procédé de vérification de l'intégrité des données stockées dans un dispositif électronique. Arrière-plan technologique de l'invention Les dispositifs électroniques utilisés pour traiter des données comprennent classiquement différents types de mémoire. Les données sont habituellement transférées depuis une première mémoire de "stockage" vers une deuxième mémoire de "traitement" .
Les cartes à puce, en tant que mode de réalisation particulier de dispositifs électroniques, ont été conçues initialement pour améliorer la sécurité de systèmes répartis. Les applications de cartes à puce englobent par exemple les cartes d'appel, les cartes d'identification, les cartes médicales, les cartes de transaction (cartes bancaires de crédit/débit, cartes de fidélité de magasin, restaurant) et les cartes de sécurité. La totalité de ces applications exige que certaines données sensibles et confidentielles soient gérées à l'intérieur de la carte à puce.
Comme le montre la figure 1, qui porte le titre "Technique antérieure", un dispositif électronique 10 comprend classiquement une Unité Central de Traitement (CPU) 12, qui est le contrôleur/processeur principal du dispositif électronique 10. La CPU 12 peut, de façon optionnelle, comprendre un grand nombre de registres internes 13 comme par exemple dans les processeurs RISC (ordinateur à jeu d'instructions réduit).
Le dispositif électronique 10 comprend également une mémoire volatile sous la forme d'une mémoire vive
(RAM) 14, d'une mémoire morte (ROM) 16, d'une mémoire morte programmable effaçable électriquement 18 et, de façon optionnelle, une antémémoire 15, toutes couplées à la CPU 12. Pour une meilleure compréhension de la description suivante, les termes de "mémoire volatile" renvoient en particulier mais de façon non exclusive à de telles RAM, registres internes et/ou antémémoires.
Un dispositif entrée/sortie (E/S) , tel qu'un terminal 20, permet à la carte à puce 10 de partager des données avec un système réparti (non représenté) en contrôlant les entrées/sorties vers et depuis le dispositif électronique 10, par l'intermédiaire de la CPU 12. La carte à puce 10 comprend un port E/S (non représenté) pour transférer des données vers et depuis le dispositif entrée/sortie 20.
La CPU 12 traite des instructions pour gérer des données stockées dans le dispositif électronique, et elle comprend un programme qui assure la protection contre l'accès aux données sensibles et/ou confidentielles qui sont contenues et traitées dans la carte à puce 10, par des entités non autorisées, telles que des hackers (pirates informatiques) . En fait, dans de nombreux cas, les information sensibles et/ou confidentielles contenues ou traitées dans le dispositif représentent une valeur importante (financière ou autre) pour leur détenteur. Des moyens de maintenir le secret et la confidentialité des données sont requis pour garantir la sécurité adéquate de cartes à puce. En fait, ces cartes sont confrontées à différents types de tentatives frauduleuses externes d'accéder aux données qui y sont stockées.
La cryptographie, l'art et la science de maintenir des données secrètes, est devenue l'un des principaux outils pour maintenir le secret, la confiance, le contrôle d'accès et la sécurité des entreprises, entre autres choses. La transformation cryptographique de données confidentielles est habituellement appelée chiffrement. Cette transformation comprend le codage des données contenues dans la carte de telle façon que leur signification claire est cachée pour les personnes extérieures. D'autre part, le processus consistant à récupérer les données claires à partir du texte chiffré (les données cryptées) est habituellement appelé déchiffrement.
Comme indiqué précédemment, les systèmes cryptographiques, c'est-à-dire les systèmes utilisant la technologie cryptographique, sont exposés à différents types de tentatives extérieures visant à accéder aux données cryptées qui y sont contenues . Les tentatives frauduleuses d'accès externes, généralement désignées sous le terme d'attaques, forment la cryptoanalyse, qui est l'art de déchiffrer des données cryptées, c'est-à-dire le décryptage des données sans connaître les clés appropriées.
Il existe de nombreuses techniques cryptoanalytiques connues ou attaques qui peuvent être lancées contre des algorithmes cryptographiques. Au cours de ces dernières années, de nouveaux types d'attaque ont eu lieu pour casser la mise en œuvre de dispositifs cryptographiques au niveau matériel plutôt qu'au niveau des algorithmes. Les "attaques par induction de défaut" et les "attaques par voie latérale" constituent des exemples de telles attaques portant sur le matériel .
Une attaque par induction de défaut suppose que, en exposant un dispositif électronique scellé, par exemple une carte à puce, à certains effets physiques
(par ex. ionisation ou rayonnement hyperfréquence) , on peut, avec une probabilité raisonnable, induire un défaut à un emplacement de bit aléatoire, par exemple dans la RAM 14 ou dans un des registres 13 à l'un certain étage intermédiaire aléatoire dans l'algorithme cryptographique .
Ce qu'on appelle les "attaques par voie latérale" comprennent par exemple "l'analyse de puissance" et "l'analyse radiofréquence (RF) " .
L'analyse de puissance est basée sur la mesure de la consommation de puissance pendant le traitement d'informations confidentielles codées en binaire dans une carte à puce. L'analyse RF consiste à intercepter et analyser la fréquence radio émise pendant le transfert de données confidentielles. Ces deux types d'attaques utilisent soit la variation de la consommation d'énergie soit la variation de rayonnements RF émis pendant le traitement des données confidentielles. La connaissance d'une de ces variations permet mathématiquement de récupérer les données confidentielles.
Par conséquent, des moyens de vérification de l'intégrité et de maintien de la confidentialité des données sont requis et sont importants pour garantir une sécurité adéquate des cartes à puce.
La figure 2, qui est également intitulée "technique antérieure", illustre la forme classique de données numériques qui sont traitées par des dispositifs électroniques tels que des cartes à puce.
Les données numériques 22 comprennent des données confidentielles 24 et une somme de contrôle 26. Les données confidentielles 24 comprennent des informations devant être traitées par la CPU 12, telles qu'une clé secrète, un code secret, etc. Ces informations sont naturellement sous forme numérique et ont une longueur variable en octets. La somme de contrôle 26 est une valeur de contrôle qui est calculée quand les données confidentielles 24 sont enregistrées et qui sont placées en annexe aux données confidentielles 24 pour vérifier leur intégrité.
Il convient de noter que l'expression "octet" n'a pas pour objet de viser ici uniquement les mots ayant une longueur de 8 bits mais ont pour but d' inclure des mots ayant n'importe quelle longueur en bits. La figure 3, également intitulée "technique antérieure", illustre un procédé classique 30 destiné à vérifier que les données confidentielles 24 devant être traitées dans la carte à puce 10 ne sont pas corrompues .
Classiquement, les données numériques devant être traitées dans une carte à puce sont initialement stockées dans 1 ' EEPROM 18 avant d'être transférées vers la mémoire volatile 14 pour un traitement par la CPU 12.
À l'étape 32, une somme de contrôle est calculée par la CPU 12 à l'aide d'une fonction de somme de contrôle prédéterminée stockée à l'intérieur de la carte à puce 10 et des données confidentielles 24. À l'étape 34, la somme de contrôle calculée est comparée à la somme de contrôle 26 stockée dans l'EEPROM 18.
Si les deux valeurs ne sont pas identiques, une erreur par défaut est détectée et le traitement des données confidentielles 24 est arrêté (étape 36) .
Si les deux valeurs sont identiques, les données confidentielles 24 sont transférées à la RAM (étape 38) en vue de leur accès et de leur traitement par la CPU 12 (étape 40) . Un important inconvénient de ce procédé de vérification 30 est qu'il ne permet pas la détection d'un défaut qui pourrait être survenu pendant le transfert depuis l'EEPROM 18 vers la RAM 14.
Le procédé classique de vérification de l'intégrité de données confidentielles devant être traitées dans une carte à puce n'est pas suffisamment sûr pour respecter les exigences de protection attendues de la part d'une carte à puce.
Un procédé de vérification de l'intégrité de données numériques transférées vers un emplacement de mémoire pour être traitées est donc souhaitable. Résumé de l'invention
Plus précisément, selon la présente invention, il est proposé un procédé de vérification de l'intégrité de données confidentielles pendant leur traitement, une somme de contrôle étant annexée aux données confidentielles, le procédé comprenant : la fourniture d'une fonction de somme de contrôle prédéterminée ; l'initialisation d'une valeur d'intégrité ; la division des données confidentielles en un ensemble d'octets ; le traitement d'un premier octet de l'ensemble ; le calcul d'une nouvelle valeur d'intégrité à l'aide de la fonction de somme de contrôle, du premier octet et de la valeur d'intégrité initiale ; pour chaque autre octet de l'ensemble : traitement de l'autre octet ; et calcul d'une nouvelle valeur d'intégrité à l'aide de la fonction de somme de contrôle, de l'autre octet et de la valeur d'intégrité calculée à l'aide de l'octet précédent; comparaison de la nouvelle valeur d'intégrité calculée en dernier avec la valeur de la somme de contrôle ; et détection d'un défaut quand la nouvelle valeur d'intégrité calculée en dernier est différente de la valeur de la somme de contrôle.
Selon un autre aspect de la présente invention, il est proposé un procédé de vérification de l'intégrité de données confidentielles pendant leur transfert depuis une première mémoire vers une deuxième mémoire, une valeur de la somme de contrôle étant annexée aux données confidentielles, le procédé comprenant la fourniture d'une fonction de somme de contrôle prédéterminée ; l'initialisation d'une valeur d'intégrité ; la division des données confidentielles en un ensemble d'octets ; le transfert d'un premier octet de l'ensemble depuis la première mémoire vers la deuxième mémoire ; le calcul d'une nouvelle valeur d'intégrité à l'aide de la fonction de somme de contrôle, du premier octet et de la valeur d'intégrité initiale ; pour chaque autre octet de l'ensemble : le transfert de l'autre octet depuis la première mémoire vers la deuxième mémoire ; et le calcul d'une nouvelle valeur d'intégrité à l'aide de la fonction de somme de contrôle, de l'autre octet et de la valeur d'intégrité calculée à l'aide de l'octet précédent ; comparaison de la nouvelle valeur d' intégrité calculée en dernier avec la valeur de la somme de contrôle ; et la détection d'un défaut quand la nouvelle valeur d'intégrité calculée en dernier est différente de la valeur de la somme de contrôle.
Selon encore un autre aspect de la présente invention, il est proposé un procédé de vérification de l'intégrité d'un code secret pendant sa comparaison avec un code de validation, une valeur de la somme de contrôle étant annexée au code secret, le procédé comprenant : la fourniture d'un code secret dans le dispositif électronique ; la fourniture d'un code de validation ; la fourniture d'une fonction de somme de contrôle prédéterminée ; l'initialisation d'une valeur d'intégrité ; la division du code de validation en un premier ensemble d'octets ; la division du code secret en un deuxième ensemble d'octets ; la comparaison d'un premier octet du premier ensemble avec un premier octet du deuxième ensemble ; la détection d'un code de validation erroné et l'arrêt de la vérification quand les premiers octets comparés sont différents ; le calcul d'une nouvelle valeur d'intégrité à l'aide de la fonction de somme de contrôle, du premier octet du deuxième ensemble et de la valeur d' intégrité ; pour chaque autre octet du premier ensemble et autre octet correspondant du deuxième ensemble : la comparaison de l'autre octet du premier ensemble avec l'autre octet correspondant du deuxième ensemble ; la détection d'un code de validation erroné et l'arrêt de la vérification si les autres octets sont différents ; le calcul d'une nouvelle valeur d'intégrité à l'aide de la fonction de somme de contrôle, de l'autre octet du deuxième ensemble et de la valeur d'intégrité calculée à l'aide de l'octet précédent du deuxième ensemble ; la comparaison de la nouvelle valeur d' intégrité calculée en dernier avec la valeur de la somme de contrôle ; et la détection d'un défaut quand la nouvelle valeur d'intégrité calculée en dernier est différente de la valeur de la somme de contrôle.
Selon un aspect final de la présente invention, il est également proposé un dispositif électronique pour traiter des données confidentielles reçues depuis un dispositif entrée/sortie, une valeur de la somme de contrôle étant annexée aux données confidentielles, le dispositif comprenant : une première mémoire pour recevoir les données confidentielles et la valeur de la somme de contrôle depuis le dispositif entrée/sortie ; un port entrée/sortie pour transférer les données depuis le dispositif entrée/sortie vers la première mémoire ; une deuxième mémoire pour stocker les données confidentielles pendant le traitement ; et une CPU pour traiter simultanément les données confidentielles et vérifier leur intégrité ; la CPU ayant une fonction de somme de contrôle qui y est programmée ; la CPU étant configurée pour diviser les données confidentielles en un ensemble d'octets, pour calculer par itération une valeur d'intégrité à l'aide de la fonction de somme de contrôle et de l'ensemble d'octets et pour comparer la valeur d'intégrité à la valeur de la somme de contrôle.
D'autres objets, avantages et caractéristiques de la présente invention deviendront plus apparents à la lecture de la description suivante, non restrictive, de ses modes de réalisation préférés, donnée en guise d'exemple uniquement, en référence aux dessins d' accompagnement .
Brève description des dessins
Sur les dessins en annexe : la figure 1, qui est intitulée "technique antérieure", est un schéma fonctionnel des principaux éléments d'un dispositif électronique ; la figure 2, qui est intitulée "technique antérieure", est un schéma fonctionnel illustrant la structure classique de données numériques devant être traitées par le dispositif électronique de la figure 1 ; la figure 3, qui est intitulée "technique antérieure", est un ordinogramme d'un procédé classique de vérification de l'intégrité des données numériques devant être traitées par le dispositif électronique de la figure 1 ; la figure 4 est un ordinogramme d'un procédé de vérification de l'intégrité des données numériques devant être traitées dans le dispositif électronique de la figure 1, selon un premier mode de réalisation de la présente invention ; et la figure 5 est un ordinogramme d'un procédé de vérification de l'intégrité des données numériques devant être traitées dans le dispositif électronique de la figure 1, selon un deuxième mode de réalisation de la présente invention.
Description du mode de réalisation préféré
En référence maintenant à la figure 4 des dessins en annexe, un procédé 100 pour vérifier l'intégrité de données numériques devant être traitées dans une carte à puce, selon un premier mode de réalisation de la présente invention, va être décrite.
D'une façon générale, le procédé 100 permet la vérification de l'intégrité des données numériques pendant qu'elles sont transférées depuis une première mémoire vers une deuxième mémoire. Dans le cas d'une carte à puce 10, la première mémoire est l'EEPROM, où sont stockées les données numériques 22 après avoir été transférées depuis un autre dispositif électronique (non représenté), et la deuxième mémoire est la RAM 14, la CPU 12 étant destinée à accéder aux données confidentielles 24. Dans une autre solution, la première mémoire peut se présenter sous la forme d'une mémoire flash ou d'une autre mémoire non volatile. La première étape 102 consiste à diviser les données confidentielles (CD) 24 qui sont stockées dans l'EEPROM 18 en un ensemble d'octets.
À l'étape 104, une valeur d'intégrité et une position d'octet sont initialisées . Selon ce mode de réalisation préféré, l'initialisation consiste de façon avantageuse à régler la valeur d' intégrité et la position d'octet sur zéro. La valeur d'intégrité rCHK est la somme de contrôle qui sera calculée à l'aide d'une fonction de somme de contrôle prédéterminée G qui est programmée dans la carte à puce 10, qui sera utilisée par la CPU 12 pour vérifier l'intégrité des données confidentielles 24.
La fonction de somme de contrôle G est naturellement prédéterminée. En fait, cette fonction est stockée et programmée dans la carte à puce 10 avant de traiter toute donnée qui y est contenue. Comme cela est connu de façon classique, cette procédure n'est effectuée qu'une fois, au moment où la carte à puce est initialisée. Toute donnée numérique 22 devant être traitée comprend une somme de contrôle 26 qui est calculée à l'aide des données confidentielles 24 et de la fonction de somme de contrôle G.
La fonction de somme de contrôle G peut prendre n'importe quelle forme, depuis une simple somme de chaque octet formant les données confidentielles 24 ou bien un OU logique jusqu'à des fonctions mathématiques plus complexes effectuées sur les données confidentielles 24.
À l'étape 106, le premier octet des données confidentielles 24 est transféré depuis l'EEPROM 18 vers la RAM 14.
À l'étape 108, une nouvelle valeur d'intégrité rCHK est ensuite calculée à l'aide de la fonction de somme de contrôle G, de la valeur du premier octet CD[0] et de la valeur d'intégrité initiale rCHKprevious •
Par conséquent, rCHK=G (CD [i] , rCHKpreviouS) , où i est la position de l'octet qui est traité à ce moment -là, qui va depuis 0 à la longueur des données confidentielles moins 1.
La position d'octet des données confidentielles
24 est incrémentêe (étape 110). À l'étape 112, la vérification est effectuée pour déterminer si l'octet qui vient d'être traité est le dernier octet des données confidentielles 24. Si ce n'est pas le cas, les étapes 106 à 112 sont répétées pour chaque octet restant CD[i] des données confidentielles 24.
Pour chacun des autres octets, une nouvelle valeur d'intégrité rCHK est calculée à l'aide de l'octet actuel CD [il et de la valeur d'intégrité précédente rCHKprevious, calculée lors de l'itération précédente .
À l'étape 114, la nouvelle valeur d'intégrité calculée en dernier et la valeur de la somme de contrôle stockée dans l'EEPROM 18 sont comparées. Si les deux valeurs sont identiques, l'intégrité des données confidentielles 24 dans la RAM 14 est supposée et les données confidentielles peuvent être traitées par la CPU 12 (étape 116). Si la valeur d'intégrité rCHK et la somme de contrôle sont différentes, une erreur par défaut est détectée (étape 118) .
Le procédé 100 est avantageux dans la mesure où la vérification de l'intégrité est effectuée pendant que les données confidentielles 24 sont transférées dans la RAM 14, ce qui garantit que les données traitées dans la RAM 14 par la CPU 12 sont les mêmes que celles initialement transférées dans le dispositif électronique 10.
Etant donné que l'intégrité des données confidentielles 24 est vérifiée octet par octet pendant leur transfert vers la RAM 14, la CPU 12 peut, alternativement, commencer le traitement des octets des données confidentielles 24 qui sont déjà dans la RAM, même si la vérification de l'intégrité des octets non transférés est en cours d'exécution. Bien que le procédé 100 ait été décrit en référence au transfert de données confidentielles depuis l'EEPROM d'une carte à puce vers sa RAM, il peut être utilisé pour vérifier l'intégrité de données confidentielles transférées depuis n'importe quelle première mémoire vers n' importe quelle deuxième mémoire. Par exemple, chacun des deux emplacements de mémoire peut faire partie d'un dispositif électronique différent . En considérant maintenant la figure 5, un procédé
200, selon un deuxième mode de réalisation de la présente invention, va être décrit.
D'une façon générale, le procédé 200 permet la validation et la vérification de l'intégrité d'un code secret requis, par exemple, pour accéder à un dispositif électronique.
Un exemple d'un tel code secret est un numéro d'identification personnel (PIN), connu d'un ou de plusieurs utilisateurs restreints, et qui donne accès à une carte à puce. Comme cela est connu communément, le PIN doit être entré et mis en mémoire par l'utilisateur dans la carte à puce au cours d'un processus de validation initial. La carte à puce est programmée pour requérir un tel code avant de traiter toute information.
Le procédé de la figure 5 permet la vérification simultanée de l'intégrité du code secret et sa comparaison avec un code rival fourni par l'utilisateur (et qui est désigné plus bas par les termes de code de validation) . La première étape 202 consiste à diviser en un ensemble d'octets le code secret qui a été mis en mémoire dans l'EEPROM 18 et le code de validation entré . À l'étape 204, une valeur d'intégrité rCHK et une position d'octet i sont initialisées . Par exemple, l'initialisation de la valeur d'intégrité rCHK consiste à régler cette valeur d' intégrité sur 0.
À l'étape 206, le premier octet rVC [i] du code de validation est comparé au premier octet SC[i] du code secret. Si les deux valeurs sont différentes, le code de vérification est erroné et la vérification cesse
(étape 208) .
Si les deux valeurs sont identiques, une nouvelle valeur d'intégrité rCHK est calculée (étape 210) à l'aide de la fonction de somme de contrôle G (telle qu'elle a été décrite plus haut), de la valeur du premier octet SC[i] et de la valeur d'intégrité initiale rCHKprevious • Par conséquent, rCHK=G(SC[i] , rCHKpreVιous) , où i est la position de l'octet qui est en cours de traitement, qui va depuis 0 à la longueur des données confidentielles moins 1.
À l'étape 212, la position d'octet est incrémentée. L'étape 214 effectue une vérification pour déterminer si l'octet qui vient d'être traité est le dernier octet du code de validation. Si ce n'est pas le cas, les étapes 206 à 214 sont répétées pour chaque octet restant i . Pour chacun des autres octets, la nouvelle valeur d'intégrité rCHK est calculée à l'aide de l'octet actuel SC[i] et de la valeur d'intégrité précédente rCHKprevious calculée lors de l'itération précédente à l'aide de l'octet précédent (SC[i-l]).
La nouvelle valeur d'intégrité rCHK et la valeur de la somme de contrôle stockée dans l'EEPROM 18 sont ensuite comparées (étape 216) . Si les deux valeurs sont identiques, l'intégrité du code secret est supposée. Si la valeur d' intégrité rCHK et la somme de contrôle sont différentes, un défaut est détecté (étape 218) .
Le procédé 200 permet simultanément la vérification de l'intégrité et la validation du code secret . Le procédé 200 est avantageux étant donné que le processus de vérification est arrêté à chaque fois qu'une différence est détectée entre un octet provenant du code de validation et l'octet correspondant provenant du code secret, tel qu'il est écrit dans la carte à puce, grâce à quoi aucun calcul superflu n'est effectué par la CPU 12.
Comme cela paraîtra évident au spécialiste, la nature du dispositif électronique ne se limite pas aux cartes à puce comme décrit plus haut. En fait, le procédé de la présente invention pourrait être avantageux dans d'autres types de dispositifs électroniques tels que par exemple les assistants numériques personnels (PDA) et les téléphones cellulaires . En outre, un procédé selon la présente invention permet de vérifier l'intégrité de données confidentielles pendant que ces données sont soumises à une variété de processus et il ne se limite pas à la vérification d'un code secret et au transfert de données depuis des emplacements de mémoire.
Bien que la présente invention ait été décrite ci-dessus en guise de ses modes de réalisation préférés, elle peut être modifiée sans quitter l'esprit et la nature de l'invention en question, telle qu'elle est définie dans les revendications jointes.

Claims

REVENDICATIONS
1. Procédé de vérification de l'intégrité de données confidentielles pendant leur traitement, une valeur de somme de contrôle étant annexée aux dites données confidentielles, ledit procédé comprenant : la fourniture d'une fonction de somme de contrôle ; l'initialisation d'une valeur d'intégrité ; la division desdites données confidentielles en un ensemble d'octets ; le traitement d'un premier octet dudit ensemble ; le calcul d'une nouvelle valeur d'intégrité à l'aide de ladite fonction de somme de contrôle, dudit premier octet et de ladite valeur d'intégrité initiale ; pour chaque autre octet dudit ensemble : le traitement dudit autre octet ; et le calcul d'une nouvelle valeur d'intégrité à l'aide de la dite fonction de somme de contrôle, dudit autre octet et de la valeur d'intégrité calculée à l'aide de l'octet précédent ; la comparaison de la nouvelle valeur d' intégrité calculée en dernier avec ladite valeur de la somme de contrôle ; et la détection d'un défaut quand la nouvelle valeur d'intégrité calculée en dernier est différente de la valeur de la somme de contrôle.
2. Procédé selon la revendication 1, dans lequel ladite fonction de somme de contrôle est sélectionnée dans le groupe consistant en une somme et un OU logique.
3. Procédé de vérification de l'intégrité de données confidentielles pendant leur transfert depuis une première mémoire vers une deuxième mémoire, une valeur de la somme de contrôle étant annexée aux dites données confidentielles, ledit procédé comprenant : la fourniture d'une fonction de somme de contrôle prédéterminée ; l'initialisation d'une valeur d'intégrité ; la division desdites données confidentielles en un ensemble d'octets ; le transfert d'un premier octet dudit ensemble depuis la première mémoire vers la deuxième mémoire; le calcul d'une nouvelle valeur d'intégrité à l'aide de ladite fonction de somme de contrôle, dudit premier octet et de ladite valeur d' intégrité initiale ; pour chaque autre octet dudit ensemble : le transfert dudit autre octet depuis la première mémoire vers la deuxième mémoire ; et le calcul d'une nouvelle valeur d'intégrité à l'aide de ladite fonction de somme de contrôle, dudit autre octet et de la valeur d' intégrité calculée à l'aide de l'octet précédent ; la comparaison de la nouvelle valeur d' intégrité calculée en dernier avec la valeur de la somme de contrôle ; et la détection d'un défaut quand la nouvelle valeur d'intégrité calculée en dernier est différente de la valeur de la somme de contrôle.
4. Procédé de vérification de l'intégrité d'un code secret pendant sa comparaison avec un code de validation, une valeur de somme de contrôle étant annexée audit code secret, ledit procédé comprenant : la fourniture d'un code secret dans le dispositif électronique ; la fourniture d'un code de validation ; la fourniture d'une fonction de somme de contrôle prédéterminée ; l'initialisation d'une valeur d'intégrité ; la division dudit code de validation en un premier ensemble d'octets ; la division dudit code secret en un deuxième ensemble d'octets ; la comparaison d'un premier octet dudit premier ensemble avec un premier octet dudit deuxième ensemble ; la détection d'un code de validation erroné et l'arrêt de la vérification quand les premiers octets comparés sont différents ; le calcul d'une nouvelle valeur d'intégrité à l'aide de ladite fonction de somme de contrôle, dudit premier octet dudit deuxième ensemble et de ladite valeur d'intégrité ; pour chaque autre octet du premier ensemble et l'autre octet correspondant du deuxième ensemble ; la comparaison dudit autre octet dudit premier ensemble avec ledit autre octet correspondant dudit deuxième ensemble ; la détection d'un code de validation erroné et l'arrêt de la vérification si lesdits autres octets sont différents : le calcul d'une nouvelle valeur d'intégrité à l'aide de ladite fonction de somme de contrôle, dudit autre octet dudit deuxième ensemble et de la valeur d'intégrité calculée à l'aide de l'octet précédent du deuxième ensemble ; la comparaison de la nouvelle valeur d' intégrité calculée en dernier avec la valeur de la somme de contrôle ; et la détection d'un défaut quand la nouvelle valeur d'intégrité calculée en dernier diffère de la valeur de la somme de contrôle.
5. Procédé selon la revendication 4, où ledit code secret est un numéro d'identification personnel (PIN) .
6. Dispositif électronique pour traiter des données confidentielles reçues depuis un dispositif entrée/sortie, une valeur de somme de contrôle étant annexée aux dites données confidentielles, ledit dispositif comprenant : une première mémoire pour recevoir les données confidentielles et la valeur de la somme de contrôle depuis le dispositif entrée/sortie ; un port entrée/sortie pour transférer les données depuis le dispositif entrée/sortie vers ladite première mémoire ; une deuxième mémoire pour stocker lesdites données confidentielles pendant le traitement ; et une CPU pour traiter simultanément lesdites données confidentielles et vérifier leur intégrité ; ladite CPU ayant une fonction de somme de contrôle qui y est programmée ; ladite CPU étant configurée pour diviser lesdites données confidentielles en un ensemble d'octets, pour calculer par itération une valeur d'intégrité à l'aide de ladite fonction de somme de contrôle et dudit ensemble d'octets et pour comparer ladite valeur d' intégrité avec ladite valeur de la somme de contrôle.
7. Dispositif électronique selon la revendication 6, dans lequel ladite première mémoire est sélectionnée dans le groupe constitué d'une mémoire morte programmable effaçable électriquement (EEPROM) et d'une mémoire flash.
8. Dispositif électronique selon la revendication 6, dans lequel ladite deuxième mémoire est une mémoire volatile .
9. Dispositif électronique selon la revendication 6, dans lequel ledit dispositif est sélectionné dans le groupe constitué d'une carte à puce, d'un téléphone cellulaire et d'un assistant personnel numérique (PDA).
10. Dispositif de vérification de l'intégrité de données confidentielles pendant leur traitement, une valeur de somme de contrôle étant annexée aux dites données confidentielles, ledit dispositif comprenant : des moyens pour fournir une fonction de somme de contrôle prédéterminée ; des moyens pour initialiser une valeur d'intégrité ; des moyens pour diviser lesdites données confidentielles en un ensemble d'octets ; des moyens pour traiter un premier octet dudit ensemble : des moyens pour calculer une nouvelle valeur d'intégrité à l'aide de ladite fonction de somme de contrôle, dudit premier octet et de ladite valeur d'intégrité initiale ; pour chaque autre octet dudit ensemble : des moyens pour traiter ledit autre octet ; et des moyens pour calculer une nouvelle valeur d'intégrité à l'aide de ladite fonction de somme de contrôle, dudit autre octet et de la valeur d'intégrité calculée à l'aide de l'octet précédent ; des moyens pour comparer la nouvelle valeur d'intégrité calculée en dernier avec la valeur de la somme de contrôle ; et des moyens pour détecter un défaut quand la nouvelle valeur d'intégrité calculée en dernier diffère de la valeur de la somme de contrôle.
PCT/FR2001/003581 2000-11-28 2001-11-15 Procede de verification de l'integrite des donnees dans le traitement des donnees de dispositifs electroniques WO2002045035A2 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2002220785A AU2002220785A1 (en) 2000-11-28 2001-11-15 Method for verifying data integrity in data processing of electronic devices

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CA 2327048 CA2327048A1 (fr) 2000-11-28 2000-11-28 Methode de verification de l'integrite des donnees durant leur traitement par des dispositifs electroniques
CA2,327,048 2000-11-28

Publications (2)

Publication Number Publication Date
WO2002045035A2 true WO2002045035A2 (fr) 2002-06-06
WO2002045035A3 WO2002045035A3 (fr) 2004-02-12

Family

ID=4167765

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2001/003581 WO2002045035A2 (fr) 2000-11-28 2001-11-15 Procede de verification de l'integrite des donnees dans le traitement des donnees de dispositifs electroniques

Country Status (3)

Country Link
AU (1) AU2002220785A1 (fr)
CA (1) CA2327048A1 (fr)
WO (1) WO2002045035A2 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1566776A1 (fr) * 2004-02-19 2005-08-24 Giesecke & Devrient GmbH Procédé d'exploitation sécurisée d'un support de données portable
WO2012172245A1 (fr) 2011-06-17 2012-12-20 Morpho Transfert securise entre memoire non-volatile et memoire volatile

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4841131A (en) * 1986-02-18 1989-06-20 Kabushiki Kaisha Toshiba Portable electronic device with means for checking data validity during read-out
FR2754926A1 (fr) * 1996-10-23 1998-04-24 Schlumberger Ind Sa Procede de gestion de defauts d'integrite de donnees dans une memoire reinscriptible
DE19918620A1 (de) * 1999-04-23 2000-10-26 Giesecke & Devrient Gmbh Sicherung eines Rechnerkerns gegen äußere Manipulationen

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4841131A (en) * 1986-02-18 1989-06-20 Kabushiki Kaisha Toshiba Portable electronic device with means for checking data validity during read-out
FR2754926A1 (fr) * 1996-10-23 1998-04-24 Schlumberger Ind Sa Procede de gestion de defauts d'integrite de donnees dans une memoire reinscriptible
DE19918620A1 (de) * 1999-04-23 2000-10-26 Giesecke & Devrient Gmbh Sicherung eines Rechnerkerns gegen äußere Manipulationen

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1566776A1 (fr) * 2004-02-19 2005-08-24 Giesecke & Devrient GmbH Procédé d'exploitation sécurisée d'un support de données portable
WO2012172245A1 (fr) 2011-06-17 2012-12-20 Morpho Transfert securise entre memoire non-volatile et memoire volatile

Also Published As

Publication number Publication date
CA2327048A1 (fr) 2002-05-28
AU2002220785A1 (en) 2002-06-11
WO2002045035A3 (fr) 2004-02-12

Similar Documents

Publication Publication Date Title
CA2121410C (fr) Dispositif de protection des cles d'une carte a puce
EP1234284A1 (fr) Procede de securisation de la phase de pre-initialisation d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede
EP1774484B1 (fr) Enregistrement d'une cle dans un circuit integre
EP1247263A1 (fr) Procede de stockage securise d'une donnee sensible dans une memoire d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede
EP1297501B1 (fr) Controle d'acces a un moyen de traitement de donnees
FR2879320A1 (fr) Carte a puce a circuit integre et procede pour detecter si des donnees en memoire dans une telle carte ont ete compromises
FR2922669A1 (fr) Dispositif electronique portable pour l'echange de valeurs et procede de mise en oeuvre d'un tel dispositif
EP1728354A1 (fr) Procede d'authentification dynamique de programmes par un objet portable electronique
EP1266364B1 (fr) Procede cryptographique de protection contre la fraude
WO2002045035A2 (fr) Procede de verification de l'integrite des donnees dans le traitement des donnees de dispositifs electroniques
CA2451034C (fr) Procede cryptographique pour la protection d'une puce electronique contre la fraude
FR2788649A1 (fr) Procede de chargement securise de donnees entre des modules de securite
FR2808145A1 (fr) Procede de calcul d'une donnee de controle
EP2813962A1 (fr) Méthode de contrôle d'accès à un type de services spécifique et dispositif d'authentification pour le contrôle de l'accès à un tel type de services.
EP1316077B1 (fr) Securite d'acces par code secret a un moyen de traitement de donnees
EP1269431B1 (fr) Procede de protection d'une puce electronique contre la fraude
WO2003069841A1 (fr) Procede de detection des attaques par mise en defaut contre les algorithmes cryptographiques
FR2710769A1 (fr) Système de traitement des données d'une carte à microcircuit, carte et lecteur pour ce système et procédé de mise en Óoeuvre.
EP3340098A1 (fr) Procédé pour la sécurité d'une opération électronique avec une carte à puce
WO2003056524A1 (fr) Carte a puce autoverrouillable et dispositif de securisation d'une telle carte
WO2009068760A1 (fr) Carte a circuit integre a tampon d'entree/sortie securise
FR2789774A1 (fr) Procede de comparaison securise de deux registres memoire, et module de securite mettant en oeuvre ce procede
FR2856815A1 (fr) Procede d'authentification de donnees contenues dans un objet a memoire
WO2012172245A1 (fr) Transfert securise entre memoire non-volatile et memoire volatile
FR2853785A1 (fr) Entite electronique securisee avec compteur modifiable d'utilisations d'une donnee secrete

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

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 NO NZ PH PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE 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
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP