WO2001099335A1 - Traitement de donnees avec une cle - Google Patents

Traitement de donnees avec une cle Download PDF

Info

Publication number
WO2001099335A1
WO2001099335A1 PCT/FR2001/001942 FR0101942W WO0199335A1 WO 2001099335 A1 WO2001099335 A1 WO 2001099335A1 FR 0101942 W FR0101942 W FR 0101942W WO 0199335 A1 WO0199335 A1 WO 0199335A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
data
data processing
random number
function
Prior art date
Application number
PCT/FR2001/001942
Other languages
English (en)
Inventor
Pascal Guterman
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 DE60140671T priority Critical patent/DE60140671D1/de
Priority to AT01947556T priority patent/ATE450948T1/de
Priority to AU2001269215A priority patent/AU2001269215A1/en
Priority to EP01947556A priority patent/EP1297653B1/fr
Priority to US10/311,693 priority patent/US7529369B2/en
Priority to DK01947556.5T priority patent/DK1297653T3/da
Publication of WO2001099335A1 publication Critical patent/WO2001099335A1/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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Definitions

  • the present invention relates generally to any electronic data processing means in which data is to be processed by means of a secret key.
  • data processing concerns an encryption of the data according to a predetermined encryption algorithm.
  • the data is encrypted block by block.
  • the secret key constitutes the encryption key and is applied with the data block to the algorithm to produce encrypted data.
  • the data processing means in general a microcontroller, for example included in a terminal or in a smart card, contains a read-only memory in which the encryption key is pre-stored during the manufacture of the processing means.
  • an attacker, a malicious person seeks to read the encryption key in the processing means, or else to perform an analysis of the electrical consumption by connecting a voltage measurement at the electrical interface between the processing means and the outside world, or at an internal bus to the processing means when it is accessible.
  • the objective of the invention is to remedy the vulnerability of the secret key in the data processing means in order to make it inaccessible.
  • a method for processing data with a first key in a data processing means comprises beforehand and once for all data processing, an application of a secret key and a first random number with a first function for producing the first key in the processing means, and a pre-storage of the first key and the first random number in the processing means.
  • the secret key is not stored in the processing means, and the first key produced is stored beforehand. Each time the data is processed, the secret key is not used in this way or converted to clear.
  • the first and second functions are OU-Exclusive functions, and the data processing is data encryption.
  • the method comprises for each data processing, a generation of a second random number, an application of the first key and of the second random number generated to a second function to produce a second key, and applying the second key and the first pre-stored random number to a function inverse to the first function to produce a third key used for data processing.
  • the method is particularly advantageous for the verification of a confidential code, constituting the data to be processed, presented by means of data processing, such as a smart card.
  • the confidential code presented and • the second random number generated are then applied to the second function to produce a transformed presented code, in parallel with the
  • FIG. 1 is an algorithm of the main steps of the data processing method according to the invention
  • FIG. 2 is a block diagram similar to FIG. 1, detailing a data processing for encryption according to the first embodiment of the invention
  • - Figure 3 is a block diagram similar to Figure 1, detailing a data processing for confidential code in the context of a smart card as an electronic data processing means, according to the second embodiment of the invention ;
  • FIG. 4 is a schematic block diagram showing a system for the implementation of the data processing method according to the invention in the context of a smart card.
  • the data processing method previously comprises initialization steps II to 13 to determine, as a function of a secret key K a first key K1, called the key of processing, to be stored in an electronic device for processing data DTD, and a cyclic step of processing • of data AND each time that data is to be processed in the device DTD, as indicated in an initial step E0 in FIG. 1.
  • the data processing device is a smart card
  • the supplier of the data processing device can itself perform the initial steps II to 13 in a card marketing office, during the acquisition of each card, for example when subscribing to a service accessible by the functionalities of the card, or alternatively during the manufacture of the card itself.
  • a secret key K is determined and written in random access memory RAM in the data processing device DTD, for example as a function of data formed by the manufacturer of the device. Then immediately in the next step 12, a first random number RI is generated and is applied with the • secret key determined K to the
  • the processing key K1 and the first random number RI are stored in a non-volatile memory of the data processing device DTD, for example an EEPROM memory.
  • DTD non-volatile memory of the data processing device
  • the processing key K1 and the secret key K which was constantly contained in memory in the data processing devices according to the prior art, is kept in memory . in the DTD device.
  • the processing of data at later stages ET never uses the secret key K in clear which is not stored in the device DTD.
  • the processing step ET relates to encryption or encryption of the data, or other similar processing.
  • Step ET includes the cycle of data processing steps E1 to E4 which is executed as indicated in the initial step E0 each time that data is to be processed according to a ALI processing algorithm in step E4 in the DTD device.
  • steps E1 to E4 are carried out each time the DTD device must transmit a data block BD processed to the outside world, for example to a reception terminal when the DTD device is a smart card, or else each time that an operation must be performed on a data block.
  • step E0 When the processor constituting the central processing unit of the data processing device decides to process data in step E0, a second random number R2 is generated and the first key K1 which had been pre-stored in step 13 is read in the non-volatile memory, in step El.
  • the second function F2 was implemented with the first function FI in memory of the device DTD in the initial step 10.
  • K2 of this application constitutes a second key K2 registered in a register internal to the DTD device.
  • K3 F1 _1 (K2, RI) which is equal to
  • step E4 the data block BD to be processed is read and is applied with the third key
  • the ALI data processing algorithm is a data encryption algorithm, such as the known algorithm DES (Data Encryption Standard) or RSA (Rivest, Shamir, Adleman), or a compression algorithm, or a DTD device authentication algorithm.
  • the data block BD is processed by the algorithm AL in dependence on a key K3 which is a function only of the secret key K and of the second random number R2 generated in the processing device and therefore different from a processing BD data to the next, so that this third key used for the actual processing of the data cannot be deduced directly from the first key K1 which is the only one permanently stored in the device DTD.
  • the data block BD to be processed and a third random number R3, which is generated by the processor and is a priori different from the second number random R2, are applied to a third function F3 which is also previously implemented in the device DTD in step 10.
  • the first, second and third functions FI, F2 and F3 are simple logical functions, such as the OU-
  • the functions FI and F2 are ddeess aaddddiittiioonnss ,, llaa ffoonnccttiioonn: inverse Fl of the function Fl being a subtraction.
  • the method of using a processing key serves to increase the security of the control of the confidential code, as a secret key, associated with a smart card CA, also called -controller card or integrated circuit card (Smart Card), as a data processing device, in order to avoid any manipulation of the secret key in the smart card.
  • a smart card CA also called -controller card or integrated circuit card (Smart Card)
  • Smart Card integrated circuit card
  • a smart card CA is composed of a microcontroller comprising a central processing unit CPU formed by a microprocessor PR, a memory.
  • MO type ROM including OS card operating system . including application algorithms. specific communication and authentication methods and in this case the data processing algorithm AL and the functions F1 and F2 according to the data processing method of the invention, a non-volatile memory MNV of programmable and erasable type, such as an EEPROM memory, which contains data in particular linked to the owner of the card and to the supplier of the card, and a RAM type memory MA intended in particular to receive data from a reception terminal TE of the card. All the components PR, MO, MNV and MA are linked together by an internal bus BU.
  • a TE reception terminal such as a bank terminal or a telephone terminal, is equipped with a keyboard CL in particular for dialing a code confidential CP, also called subject code, to be presented à la carte.
  • a reader LE of the terminal TE is introduced a part of the card CA containing the microcontroller and typically supporting eight electrical contacts of an electrical connection LI between the reader LE and the bus BU internal to the card CA when the card is of the type to contact.
  • steps E1 to E3 are executed after an initial step E01 following the introduction of the card CA into the reader LE of the reception terminal TE which is thus connected by the electrical link LI of the internal bus BU to the microcontroller of the CA card.
  • a confidential code presented CP which must normally be identical to the secret key K never kept in clear in the card is composed on the keyboard CL of the terminal TE in step E0 in order to verify the code presented in the card CA, followed by the request of a validation key. Either as the digits of the code presented are composed, by
  • the terminal TE transmits the confidential code presented CP, constituting a data block BD according to FIG. 2, to the card CA through the link LI and the bus BU so that it is written 'in RAM MA, in step E0 .
  • the validation of the writing in RAM memory MA of the confidential code presented CP triggers the following steps El to E3.
  • the number R2 is generated by the pseudo-random generator associated with the processor PR.
  • the secret key K is not stored in the smart card and is therefore not manipulated in the card for each verification of the confidential code presented CP.
  • the secret key K is combined initially with the first random number RI constant throughout the use of the card in association with the secret key, the key K3 used for the comparison is different at each verification for which a random number R2 is generated. This guarantees that the verification of the code presented CP is never executed in the same way in the smart card.
  • two smart cards or more generally two data processing devices associated with identical secret keys are associated with different first random numbers Ri.
  • the random numbers RI being a priori different for the two cards, the effects of the manipulation of these random numbers cannot be used for the characterization of the cards.
  • each secret key K corresponds to a respective first random number RI.
  • the first random number RI is also modified. For example if two digits of a secret key are reversed, the first two random numbers corresponding to these two versions of secret key are different. This variant makes it possible to avoid recognizing a first random number in a first card by manipulating the random number in another card associated with a secret key common with the first card.
  • the smart card covers all known types of smart card, also called microcontroller cards, such as contact or contactless cards set out below by way of nonlimiting example. : credit cards (Carte Bleue), credit cards payment, phone cards, SIM (Subscriber Identity Mobile) cards, "additional" cards, central purchasing cards, game cards, etc. More generally, the invention relates not only to smart cards but also to other portable electronic objects designated either by electronic data processing means or devices, such as electronic assistants or organizers, electronic purses, tokens, calculators, etc. .
  • the reception terminal of the electronic data processing means may for example be of the computer terminal, personal computer, in particular portable computer, banking terminal, point of sale terminal, radiotelephone terminal, device for controlling access to a room or to a strong cabinet, etc.
  • the reception means can be distant from the data processing means, the latter being connected by any data transmission means.
  • the secret key within the meaning of the invention is also designated in certain contexts as confidential code, password (password), or secret code, or else personal identification number PIN (Personal Identification Number) or CHV (Card Holder Verification) or PTI (Personal Telecommunication Identifier), in particular for radiotelephone terminal SIM cards.
  • the confidential code presented is generally an alphanumeric code. It can be applied by means of data processing, smart card or portable electronic object, by any known code entry means, other than a keypad, for example by voice and voice recognition, or by recognition of '' a biometric signature, for example at least one fingerprint.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Credit Cards Or The Like (AREA)
  • Lock And Its Accessories (AREA)
  • Auxiliary Devices For Music (AREA)

Abstract

Dans un dispositif de traitement de données (DTD), une première clé (K1) est produite en fonction d'une clé secrète (K) afin que celle-ci ne soit jamais utilisée en clair. Préalablement, la clé secrète (K) et un nombre aléatoire (R1) sont appliqués (I2) à une fonction (F1) produisant la première clé (K1). La première clé et le nombre sont pré-mémorisés (I3) dans le dispositif. Par exemple, pour chaque traitement (ET) de données (BD), la première clé et un autre nombre aléatoire (R2) sont appliqués (E2) à une autre fonction (F2) pour produire une deuxième clé (K2), et la deuxième clé et le nombre mémorisé (R1) sont appliqués (E3) à l'inverse (F1<-1>) de la fonction (F1) pour produire une troisième clé (K3) servant au traitement des données proprement dit. Le dispositif peut être une carte à puce et les données le code confidentiel présenté à la carte.

Description

Traitement de données avec une clé
La présente invention concerne de manière générale tout moyen électronique de traitement de données dans lequel des données doivent être traitées au moyen d'une clé secrète.
Par exemple, le traitement de données concerne un chiffrement des données selon un algorithme de chiffrement prédéterminé. Les données sont chiffrées bloc par bloc. Pour chaque bloc de- données, la clé secrète constitue la clé de chiffrement et est appliquée avec le bloc de données à l'algorithme pour produire des données chiffrées. Le moyen de traitement de données, en général un microcontrôleur, par exemple inclus dans un terminal ou dans une carte à puce, contient une mémoire morte dans laquelle la clé du chiffrement est pré-mémorisée lors de la fabrication du moyen de traitement. Pour prendre connaissance des données qui sont chiffrées, il est connu, qu'un attaquant, une personne malintentionnée, cherche à lire la clé de chiffrement dans le moyen de traitement, ou bien à effectuer une analyse de la consommation électrique en connectant un appareil de mesure de tension à l'interface électrique entre le moyen de traitement et le monde extérieur, ou bien au niveau d'un bus interne au moyen de traitement lorsqu'il est accessible . De manière à se préserver contre une telle attaque, il est connu d'appliquer un premier nombre aléatoire et la clé de chiffrement à une fonction logique prédéterminée pour produire une clé de traitement afin d'exécuter l'algorithme de chiffrement avec cette clé de traitement. Ainsi, chaque fois qu'un bloc de données est à chiffrer, un premier nombre aléatoire est généré et une clé de chiffrement est produite différente des clés de chiffrement pour les chiffrements précédents. Ce procédé de chiffrement rend beaucoup plus difficile la recherche de la clé de chiffrement par un attaquant, puisque la clé de traitement utilisée à chaque chiffrement est par nature aléatoire.
Toutefois, ce procédé connu maintient ou manipule en clair la clé de chiffrement dans la mémoire du moyen de traitement.
L'objectif de l'invention est de remédier à la vulnérabilité de la clé secrète dans le moyen de traitement de données afin de la rendre inaccessible.
A cette fin, un procédé pour traiter des données avec une première clé dans un moyen de traitement de données est caractérisé en ce qu'il comprend préalablement et une fois pour tous les traitements de données, une application d'une clé secrète et d'un premier nombre aléatoire à une première fonction pour produire la première clé dans le moyen de traitement, et une pré-mémorisation de la première clé et du premier nombre aléatoire dans le moyen de traitement.
Bien que la première clé servant au traitement des données dépende de la clé secrète et du premier nombre aléatoire, la clé secrète n'est pas mémorisée dans le moyen de traitement, et la première clé produite est mémorisée préalablement. A chaque traitement de données, la clé secrète n'est pas ainsi utilisée ou convertie en clair. Par exemple, les première et deuxième fonctions sont des fonctions OU-Exclusif, et le traitement de données est un chiffrement de données.
Selon une première réalisation préférée de l'invention, le procédé comprend pour chaque traitement de données, une génération d'un deuxième nombre aléatoire, une application de la première clé et du deuxième nombre aléatoire généré à une deuxième fonction pour produire une deuxième clé, et une application de la deuxième clé et du premier nombre aléatoire pré-mémorisé à une fonction inverse de la première fonction pour produire une troisième clé utilisée pour le traitement de données.
Selon une deuxième réalisation préférée de l'invention, le procédé est particulièrement avantageux pour la vérification d'un code confidentiel, constituant les données à traiter, présenté au moyen de traitement de données, tel qu'une carte à puce. Le code confidentiel présenté et • le deuxième nombre aléatoire généré sont alors appliqués à la deuxième fonction pour produire un code présenté transformé, en parallèle aux
applications relatives à la première clé, et le traitement de données comprend une comparaison de la • troisième clé et du code présenté transformé.
D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description suivante de plusieurs réalisations préférées de l'invention en référence aux dessins annexés correspondants dans lesquels :
- la figure 1 est un algorithme des étapes principales du procédé de traitement de données selon 1 ' invention ; - la figure 2 est un bloc-diagra me analogue à, la figure 1, détaillant un- traitement de données pour chiffrement selon la première réalisation de l'invention ; - la figure 3 est un bloc-diagramme analogue à la figure 1, détaillant un traitement de données pour code confidentiel dans le contexte d'une carte à puce en tant que moyen électronique de traitement de données, selon la deuxième réalisation de l'invention ; et
- la figure 4 est un bloc-diagramme schématique montrant un système pour la mise en oeuvre du procédé de traitement de données selon l'invention dans le contexte d'une carte à puce.
Comme cela apparaît à la figure 1, le procédé de traitement de données selon la réalisation préférée de l'invention comprend préalablement des étapes d'initialisation II à 13 pour déterminer .en fonction d'une clé secrète K une première clé Kl, dite clé de traitement, à mémoriser dans un dispositif électronique de traitement de données DTD, et une étape cyclique de traitement • de données ET chaque fois que des données sont à traiter dans le dispositif DTD, comme indiqué à une étape initiale E0 dans la figure 1. Par exemple, lorsque le dispositif de traitement de données est une carte à puce, le fournisseur de dispositif de traitement de données peut exécuter lui-même les étapes initiales II à 13 dans un bureau de commercialisation de cartes, lors de l'acquisition de chaque carte, par exemple lors de l'abonnement à un service accessible par les- fonctionnalités de la carte, ou bien en variante lors de la fabrication de la carte elle-même. Au préalable, on a pris soin qu'à une première étape 10 un algorithme de traitement AL et une fonction FI caractéristique de l'invention soient implémentés en mémoire du dispositif de traitement.
A l'étape initiale II, une clé secrète K est déterminée et écrite en mémoire vive RAM dans le dispositif de traitement de données DTD, par exemple en fonction de données formées par le fabricant du dispositif. Puis aussitôt à l'étape suivante 12, un premier nombre aléatoire RI est généré et est appliqué avec la • clé secrète déterminée K à la
' première fonction FI pour produire la clé de traitement Kl . A la fin de l'initialisation à l'étape 13, la clé de traitement Kl et le premier nombre aléatoire RI sont mémorisés dans une mémoire non volatile du dispositif de traitement de données DTD, par exemple une mémoire EEPROM. Ainsi, seule la clé de traitement Kl, et non la clé secrète K, laquelle était constamment contenue en mémoire dans les dispositifs de traitement de données selon la technique antérieure, est conservée en mémoire . dans le dispositif DTD. Le traitement de données à des étapes ultérieures ET n'utilise jamais la clé secrète K en clair qui n'est pas mémorisée dans le dispositif DTD.
Selon la première réalisation montrée à la figure 2, l'étape de traitement ET concerne un chiffrement ou un cryptage des données, ou autre traitement analogue. L'étape ET comprend le cycle des étapes de traitement de données El à E4 qui est exécuté comme indiqué à l'étape initiale E0 chaque fois que des données sont à traiter suivant un algorithme de traitement ALI à l'étape E4 dans le dispositif DTD. Par exemple, les étapes El à E4 sont effectuées chaque fois que le dispositif DTD doit transmettre un bloc de données BD traité au monde extérieur, par exemple à un terminal d'accueil lorsque le dispositif DTD est une carte à puce, ou bien chaque fois qu'une opération doit être effectuée sur un bloc de données.
Lorsque le processeur constituant l'unité centrale de traitement du dispositif de traitement de données décide de traiter des données à l'étape E0, un deuxième nombre aléatoire R2 est généré et la première clé Kl qui avait été pré-mémorisée à l'étape 13 est lue dans la mémoire non volatile, à l'étape El. La première clé lue Kl et le premier nombre aléatoire généré RI sont appliqués à une deuxième fonction F2 pour produire un résultat K2 = F2 (Kl, RI) à l'étape suivante E2. La deuxième fonction F2 a été implémentée avec la première fonction FI en mémoire du dispositif DTD à l'étape initiale 10. Le résultat
K2 de cette application constitue une deuxième clé K2 inscrite dans un registre interne au dispositif DTD.
Puis, la deuxième clé K2 et le premier nombre aléatoire pré-mémorisé RI sont lus pour les appliquer
-1 à une fonction inverse FI de la première fonction
FI de manière à produire une troisième clé
K3 = F1_1(K2, RI) qui est égal à
F1-1(F2(K1, R2), Rl)= Fl""1 (F2 (FI (K, RI), R2), RI) soit K3 = F2 (K, R2) . Finalement à l'étape E4, le bloc de données BD à traiter est lu et est appliqué avec la troisième clé
K3 précédemment produite à 1 ' algorithme de traitement de données ALI. Par exemple, l'algorithme de traitement de données ALI est un algorithme de chiffrement de données, tel que l'algorithme connu DES (Data Encryption Standard) ou RSA (Rivest, Shamir, Adleman) , ou un algorithme de compression, ou un algorithme d' authentification du dispositif DTD.
Ainsi, le bloc de données BD est traité par l'algorithme AL en dépendance d'une clé K3 qui est fonction uniquement de la clé secrète K et du deuxième nombre- aléatoire R2 généré dans le dispositif de traitement et donc différent d'un traitement de données BD au suivant, si bien que cette troisième clé servant au traitement proprement dit des données ne peut être déduite directement de la première clé Kl qui est la seule mémorisée en permanence dans le dispositif DTD.
En variante, comme montré à une étape E5 exécutée en parallèle avec l'étape E3 dans la figure 2, le bloc de données BD à traiter et un troisième nombre aléatoire R3, qui est généré par le processeur et est a priori différent du deuxième nombre aléatoire R2, sont appliqués à une troisième fonction F3 qui est également implémentée préalablement dans le dispositif DTD à l'étape 10. La fonction F3 produit des données modifiées DM = F3 (BD, R3) qui sont traitées selon l'algorithme de traitement ALI en fonction de la troisième clé produite K3 à l'étape E4 selon la figure 2, ou plus généralement en fonction d'un traitement de la clé de traitement Kl à l'étape ET selon la figure 1.
A titre d'exemple simple, les première, deuxième et troisième fonctions FI, F2 et F3 sont des fonctions logiques simples, telles que le OU-
Exclusif, pour lequel la fonction inverse
-1 correspondant a la fonction FI , est également un
OU-Exclusif. Ainsi, au terme de l'étape E3, on a :
K3 = ( (KΘR1)ΘR2)ΘR1, soit K3 = KθR2. Selon un autre exemple, les fonctions FI et F2 sont ddeess aaddddiittiioonnss,, llaa ffoonnccttiioonn :inverse Fl de la fonction Fl étant une soustraction.
Selon la deuxième réalisation de l'invention montrée à la figure 3, le procédé d'utilisation de clé de traitement sert à accroître la sécurité du contrôle du code confidentiel, en tant que clé secrète, associée à une carte à puce CA, dite également carte à -microcontroleur ou carte à circuit intégré (Smart Card) , en tant que dispositif de traitement de données, afin d'éviter toute manipulation de la clé secrète dans la carte à puce.
II est rappelé schématiquement en référence à la figure 4 qu'une carte à puce CA est composée d'un microcontrôleur comportant une unité de traitement centrale CPU formée par un microprocesseur PR, une mémoire . MO de type ROM incluant un système d'exploitation OS de la carte .et notamment des algorithmes d'application . de communication et d' authentification spécifiques et en l'occurrence l'algorithme de traitement de données AL et les fonctions Fl et F2 selon le procédé de traitement de données de l'invention, une mémoire non volatile MNV de type programmable et effaçable, comme une mémoire EEPROM, qui contient des données notamment liées au possesseur de la carte et au fournisseur de la carte, et une mémoire MA de type RAM destinée à recevoir notamment des données d'un terminal d'accueil TE de la carte. Tous les composants PR, MO, MNV et MA sont reliés entre eux par un bus interne BU.
Un terminal d'accueil TE, tel qu'un terminal bancaire ou un terminal téléphonique, est équipé d'un clavier CL pour notamment composer un code confidentiel CP, dit également code soumis, à présenter à la carte. Dans un lecteur LE du terminal TE est introduite une partie de la carte CA contenant le microcontrôleur et supportant typiquement- huit contacts électriques d'une liaison électrique LI entre le lecteur LE et le bus BU interne à la carte CA lorsque la carte est du type à contact.
En se référant à la figure 3, on y retrouve les étapes de traitement de données El à E3 déjà décrites, précédées par les étapes initiales 10, à 13 selon la figure 1.
Ces étapes El- à E3 sont exécutées après une étape initiale E01 faisant suite à l'introduction de ' la carte CA dans le lecteur LE du terminal d'accueil TE qui est ainsi relié par la liaison électrique LI du bus interne BU au microcontrôleur de la carte CA.
Lors de chaque traitement de données au sens de l'invention, correspondant à chaque utilisation de la carte dans ce contexte de carte à puce, un code confidentiel présenté CP qui doit être normalement identique à la clé secrète K jamais conservée en clair dans la carte est composé sur le clavier CL du terminai TE à l'étape E0 afin de vérifier le code présenté dans la carte CA, suivi de la sollicitation d'une touche de validation. Soit au fur et à mesure de la composition des chiffres du code présenté, par
. exemple au nombre de quatre, soit en bloc, le terminal TE transmet le- code confidentiel présenté CP, constituant un bloc de données BD selon la figure 2, à la carte CA à travers la liaison LI et le bus BU afin qu'il soit écrit' dans la mémoire RAM MA, à l'étape E0.. La validation de l'écriture en mémoire RAM MA du code confidentiel présenté CP déclenche les étapes suivantes El à E3.
En parallèle notamment à l'étape E2 au cours de laquelle la première clé Kl et le deuxième nombre aléatoire généré R2 sont appliqués à la deuxième fonction F2, le processeur PR applique le code confidentiel présenté CP contenu dans la mémoire MA et le deuxième nombre aléatoire généré R2 à la deuxième fonction F2 afin de produire et mémoriser un code présenté transformé CPT = Fl (CP, R2) à une étape E51. Le nombre R2 est généré par le générateur pseudo-aléatoire associé au processeur PR.
Finalement à l'étape E4, le processeur applique la troisième clé K3 = F2 (K, R2) venant d'être déterminée à l'étape E3 et le code présenté transformé CPT = F2 (CP, R2) lu en mémoire, à l'algorithme de traitement ALI qui comprend, selon cette deuxième réalisation, une comparaison de la troisième clé K3 et du code présenté transformé CPT. Si la clé K3 est identique au code présenté transformé CPT, des fonctionnalités de la carte CA sont accessibles à travers le terminal TE, par exemple pour accéder à un service tel qu'un service de paiement ou un service téléphonique. Sinon, lorsque la clé K3 est différente du code CPT, d'autres tentatives de composition d'un autre code présenté en nombre limité peuvent être effectuées sur le clavier CL. Ainsi, selon l'invention, la clé secrète K n'est pas mémorisée dans la carte à puce et n'est donc pas manipulée dans la carte pour chaque vérification du code confidentiel présenté CP. En outre,' bien que la clé secrète K soit combinée initialement avec le premier nombre aléatoire RI constant pendant toute l'utilisation de la carte en association avec la clé secrète, la clé K3 servant à la comparaison est différente à chaque vérification pour laquelle un nombre aléatoire R2 est généré. Ceci garantit que la vérification du code présenté CP ne s'exécute jamais de la même manière dans la carte à puce.
De préférence, deux cartes à puce, ou plus généralement deux dispositifs de traitement de données associés à des clés secrètes identiques sont associés à des premiers nombres aléatoires Ri différents. Les nombres aléatoires RI étant a priori différents pour les deux cartes, les effets de la manipulation de ces nombres aléatoires ne peuvent servir à la caractérisation des cartes.
De préférence, à chaque clé secrète K correspond un premier nombre aléatoire respectif RI. Ainsi avantageusement, lorsque la clé secrète associée à une carte est modifiée, le premier nombre aléatoire RI est également modifié. Par exemple si deux chiffres d'une clé secrète sont inversés, les deux premiers nombres aléatoires correspondant à ces deux versions de clé secrète sont différents. Cette variante permet d'éviter de reconnaître un premier nombre aléatoire dans une première carte grâce à la manipulation du nombre aléatoire dans une autre carte associée à une clé secrète commune avec la première carte.
Dans la description ci-dessus, il sera compris que la carte à puce recouvre tous les types connus de carte à puce, dites également cartes à microcontrôleur, comme les cartes à contact ou sans contact énoncées ci-après à titre d'exemple non limitatif : cartes de crédit (Carte Bleue) , cartes de paiement, cartes téléphoniques, cartes SIM (Subscriber Identity Mobile) , cartes "additionnelles", cartes de centrale d'achat, cartes de jeu, etc. Plus généralement, l'invention concerne non seulement des cartes à puce mais également d'autres objets électroniques portables désignés indifféremment par moyens ou dispositifs de traitement de données électroniques, tels que assistants ou organiseurs électroniques, porte- monnaie électroniques, jetons, calculettes, etc.
Le terminal d'accueil du moyen de traitement de données électronique peut être par exemple du type terminal informatique, ordinateur personnel notamment portable, terminal bancaire, terminal de point de vente, terminal radiotéléphonique, dispositif de contrôle d'accès à un local ou à une armoire forte, etc. Le moyen d'accueil peut être éloigné du moyen de traitement de données, ceux-ci étant reliés par tout moyen de transmission de données. Le clé secrète au sens de l'invention est également désignée dans certains contextes comme code confidentiel, mot de passe (password) , ou code secret, ou bien numéro d'identité personnel PIN (Personal Identification Number) ou CHV (Card Holder Vérification) ou identificateur PTI (Personal Télécommunication Identifier) notamment pour des cartes SIM de terminal radiotéléphonique.
Le code confidentiel présenté est en général un code alphanumérique. Il peut être appliqué au moyen de traitement de données, carte à puce ou objet électronique portable, par tout moyen de saisie de code connu, autre qu'un clavier à touches, par exemple par la voix et reconnaissance vocale, ou bien par reconnaissance d'une signature biométrique, par exemple au moins une empreinte digitale.

Claims

REVENDICATIONS
1 - Procédé pour traiter des données (BD) avec une première clé de traitement (Kl) dans un moyen de traitement de données (DTD), caractérisé en ce qu'il comprend préalablement et une fois pour tous les traitements de données, une application (12) d'une clé secrète (K) et d'un premier nombre aléatoire (RI) à une première fonction (Fl) pour produire la première clé (Kl) dans le moyen de traitement (DTD) , et une pré-mémorisation (13) de la première clé et du premier nombre aléatoire dans le moyen de traitement.
2 - Procédé conforme à la revendication 1, selon lequel deux moyens de traitement de données (DTD) associés à des clés secrètes (K) identiques sont associés à des premiers nombres aléatoires différents (RI).
3 - Procédé conforme à la revendication 1 ou 2, selon lequel le premier nombre aléatoire (RI) est modifié lorsque la clé secrète (K) associée au moyen de traitement (DTD) est modifiée.
4 - Procédé conforme à l'une quelconque des revendications 1 à 3, comprenant pour chaque traitement de données (E4), une génération (El) d'un deuxième nombre aléatoire (R2) , une application (E2) de la première clé (Kl) et du deuxième nombre aléatoire généré (R2) à une deuxième fonction (F2) pour produire une deuxième clé (K2), et une application (E3) de la deuxième clé (K2) et du premier nombre aléatoire pré-mémorisé (RI) à une
-1 fonction (Fl ) inverse de la première fonction pour produire une troisième' clé (K3) utilisée pour le traitement des données (E4).
5 - Procédé conforme à la revendication 4, selon lequel . les première et deuxième fonctions (Fl, F2) sont des fonctions OU-Exclusif.
6 - Procédé conforme à .la revendication 4 ou 5, selon lequel le traitement de données (E4) est un chiffrement de données.
7 - Procédé conforme à l'une quelconque des revendications 4 à 6, selon lequel les données (BD) à traiter et un troisième nombre aléatoire (R3) sont appliqués à une troisième fonction (F3) pour produire des données modifiées (DM) traitées (E4) en fonction de la troisième clé (K3) ou d'un traitement (ET) de la première clé (Kl) .
8 - Procédé conforme à la revendication 4, selon lequel les données à traiter sont constituées par- un code confidentiel (CP) présenté (E01) au moyen de traitement de données (DTD) , le code confidentiel présenté (CP) et le deuxième nombre aléatoire généré (R2) sont appliqués (E51) à la deuxième fonction (F2) pour produire un code - présenté transformé (CPT) , et le traitement de données comprend une comparaison (E4) de la troisième clé (K3) et du code présenté transformé (CPT) .
PCT/FR2001/001942 2000-06-20 2001-06-20 Traitement de donnees avec une cle WO2001099335A1 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE60140671T DE60140671D1 (de) 2000-06-20 2001-06-20 Datenverarbeitung mittels schlüssel
AT01947556T ATE450948T1 (de) 2000-06-20 2001-06-20 Datenverarbeitung mittels schlüssel
AU2001269215A AU2001269215A1 (en) 2000-06-20 2001-06-20 Data processing with a key
EP01947556A EP1297653B1 (fr) 2000-06-20 2001-06-20 Traitement de donnees avec une cle
US10/311,693 US7529369B2 (en) 2000-06-20 2001-06-20 Data processing with a key
DK01947556.5T DK1297653T3 (da) 2000-06-20 2001-06-20 Behandling af data med en nøgle

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0007887A FR2810480B1 (fr) 2000-06-20 2000-06-20 Traitement de donnees avec une cle
FR00/07887 2000-06-20

Publications (1)

Publication Number Publication Date
WO2001099335A1 true WO2001099335A1 (fr) 2001-12-27

Family

ID=8851470

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2001/001942 WO2001099335A1 (fr) 2000-06-20 2001-06-20 Traitement de donnees avec une cle

Country Status (10)

Country Link
US (1) US7529369B2 (fr)
EP (1) EP1297653B1 (fr)
CN (1) CN100399738C (fr)
AT (1) ATE450948T1 (fr)
AU (1) AU2001269215A1 (fr)
DE (1) DE60140671D1 (fr)
DK (1) DK1297653T3 (fr)
ES (1) ES2336543T3 (fr)
FR (1) FR2810480B1 (fr)
WO (1) WO2001099335A1 (fr)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667308B (zh) * 2008-09-04 2013-02-27 日电(中国)有限公司 访问控制系统、访问控制设备、访问卡和访问控制方法
CN101739756B (zh) * 2008-11-10 2012-01-11 中兴通讯股份有限公司 一种智能卡密钥的生成方法
DE102009043090A1 (de) * 2009-09-25 2011-03-31 Wincor Nixdorf International Gmbh Vorrichtung zur Handhabung von Wertscheinen
DE102010055699A1 (de) * 2010-12-22 2012-06-28 Giesecke & Devrient Gmbh Kryptographisches Verfahren
JP2014224879A (ja) * 2013-05-16 2014-12-04 株式会社メガチップス 乱数生成装置、暗号処理装置、記憶装置及び情報処理システム
DK2821970T4 (da) 2013-07-05 2019-09-16 Assa Abloy Ab Kommunikationsapparat til access-styring, fremgangsmåde, computerprogram og computerprogram-produkt
EP2821972B1 (fr) * 2013-07-05 2020-04-08 Assa Abloy Ab Dispositif à clé et procédé associé, programme informatique et produit de programme informatique
WO2017132693A2 (fr) * 2016-01-28 2017-08-03 Tfor Llc Élimination d'informations présentes dans des données
EP3282638A1 (fr) * 2016-08-11 2018-02-14 Gemalto Sa Procédé d'approvisionnement d'un premier dispositif de communication au moyen d'un second dispositif de communication
US10615971B2 (en) * 2017-05-22 2020-04-07 Microsoft Technology Licensing, Llc High integrity logs for distributed software services

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4757534A (en) * 1984-12-18 1988-07-12 International Business Machines Corporation Code protection using cryptography
US5644638A (en) * 1994-02-11 1997-07-01 Solaic (Societe Anonyme) Process for protecting components of smart or chip cards from fraudulent use
WO2000016272A1 (fr) * 1998-09-11 2000-03-23 Giesecke & Devrient Gmbh Support de donnees d'acces protege

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5412723A (en) * 1994-03-01 1995-05-02 International Business Machines Corporation Mechanism for keeping a key secret from mobile eavesdroppers
JPH09238132A (ja) * 1996-02-29 1997-09-09 Oki Electric Ind Co Ltd 携帯用端末通信システム及びその通信方法
JPH1020778A (ja) * 1996-07-08 1998-01-23 Harumi Takeda 暗号化装置および復号化装置、並びにicカード
JP4317607B2 (ja) * 1998-12-14 2009-08-19 株式会社日立製作所 情報処理装置、耐タンパ処理装置
US6715078B1 (en) * 2000-03-28 2004-03-30 Ncr Corporation Methods and apparatus for secure personal identification number and data encryption

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4757534A (en) * 1984-12-18 1988-07-12 International Business Machines Corporation Code protection using cryptography
US5644638A (en) * 1994-02-11 1997-07-01 Solaic (Societe Anonyme) Process for protecting components of smart or chip cards from fraudulent use
WO2000016272A1 (fr) * 1998-09-11 2000-03-23 Giesecke & Devrient Gmbh Support de donnees d'acces protege

Also Published As

Publication number Publication date
FR2810480A1 (fr) 2001-12-21
FR2810480B1 (fr) 2002-11-15
DK1297653T3 (da) 2010-04-12
US20030179884A1 (en) 2003-09-25
DE60140671D1 (de) 2010-01-14
EP1297653B1 (fr) 2009-12-02
US7529369B2 (en) 2009-05-05
AU2001269215A1 (en) 2002-01-02
ATE450948T1 (de) 2009-12-15
CN100399738C (zh) 2008-07-02
EP1297653A1 (fr) 2003-04-02
ES2336543T3 (es) 2010-04-14
CN1437808A (zh) 2003-08-20

Similar Documents

Publication Publication Date Title
EP1454450B1 (fr) Systeme, dispositif portable et procede d&#39;authentification numerique, codage et signature par generation de cles de chiffrement de courte duree
CN104933342B (zh) 一种图片查看方法及移动终端
US7797549B2 (en) Secure method and system for biometric verification
US6328217B1 (en) Integrated circuit card with application history list
US6990586B1 (en) Secure data transmission from unsecured input environments
US20110161232A1 (en) Virtualization of authentication token for secure applications
US20120278241A1 (en) Traceable and non-reputable transaction devices and methods
EP1297653B1 (fr) Traitement de donnees avec une cle
EP1297501B1 (fr) Controle d&#39;acces a un moyen de traitement de donnees
Avdić Use of biometrics in mobile banking security: case study of Croatian banks
JP4868676B2 (ja) 携帯端末装置及びセルフ・サービス端末装置と携帯端末装置間における暗号化情報の通信方法
EP1316077B1 (fr) Securite d&#39;acces par code secret a un moyen de traitement de donnees
WO2008029059A2 (fr) Sécurisation de code pour entité personnelle
EP3684004A1 (fr) Interaction hors ligne sans interception avec un réseau de cryptomonnaie à l&#39;aide d&#39;un dispositif désactivé par réseau
AU762165B2 (en) Methods and apparatus for authenticating the download of information onto a smart card
EP2426652A1 (fr) Procédé simplifié de personnalisation de carte à puce et dispositif associé
CN109872148B (zh) 基于tui的可信数据处理方法、装置以及移动终端
EP3358493A1 (fr) Procédé pour la sécurité d&#39;une opération électronique
EP2188762A1 (fr) Carte a circuit integre a tampon d&#39;entree/sortie securise
WO2019211533A1 (fr) Authentification mutuelle d&#39;un dispositif ou d&#39;un système contenant des données sensibles ou confidentielles commandable par un utilisateur
EP2992640B1 (fr) Procédé pour générer au moins une identité dérivée
CN115567281A (zh) 数据处理方法、装置和服务器
FR2789774A1 (fr) Procede de comparaison securise de deux registres memoire, et module de securite mettant en oeuvre ce procede
FR3068497A1 (fr) Systeme et procede de definition d&#39;un code personnel associe a un micro­circuit
WO2016062749A1 (fr) Evaluation d&#39;un niveau de confiance dans la recolte d&#39;informations par un terminal de communication par rapport des empreintes

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 CR CU CZ DE DK DM DZ 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 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: A1

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 GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2001947556

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 01811332X

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 10311693

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2001947556

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

NENP Non-entry into the national phase

Ref country code: JP