WO2001075821A1 - Procede de protection d'une puce electronique contre la fraude - Google Patents

Procede de protection d'une puce electronique contre la fraude Download PDF

Info

Publication number
WO2001075821A1
WO2001075821A1 PCT/FR2001/000810 FR0100810W WO0175821A1 WO 2001075821 A1 WO2001075821 A1 WO 2001075821A1 FR 0100810 W FR0100810 W FR 0100810W WO 0175821 A1 WO0175821 A1 WO 0175821A1
Authority
WO
WIPO (PCT)
Prior art keywords
electronic chip
certificate
apphcation
value
chip
Prior art date
Application number
PCT/FR2001/000810
Other languages
English (en)
Inventor
Henri Gilbert
Marc Girault
Original Assignee
France Telecom
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 France Telecom filed Critical France Telecom
Priority to US10/221,693 priority Critical patent/US7165177B2/en
Priority to DE60103523T priority patent/DE60103523T2/de
Priority to EP01917175A priority patent/EP1269431B1/fr
Priority to JP2001573421A priority patent/JP4659148B2/ja
Priority to AT01917175T priority patent/ATE268035T1/de
Publication of WO2001075821A1 publication Critical patent/WO2001075821A1/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
    • 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/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • 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/0866Mechanisms 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 by active credit-cards adapted therefor
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Definitions

  • the present invention relates to a method of protecting a user's electronic chip against fraud.
  • the invention finds a very advantageous application in that it makes it possible to protect against fraud against integrated circuit chips with wired logic or with microprocessor, in particular the electronic chips which equip prepaid cards used in various transactions such as establishment of telephone communications, the payment of objects in an automatic vending machine, the rental of parking spaces from a parking meter, the payment of a service such as public transport or as the provision of infrastructure (toll, museum, library, ).
  • a first type of fraud consists in duplicating the card without authorization, the term cloning being often used to characterize this operation.
  • a second type of fraud consists in modifying the data attached to a card, in particular the amount of credit entered in the card.
  • cryptography is used, firstly to ensure authentication of the card by means of authentication and / or to ensure authentication of data by means of a digital signature and, on the other hand to ensure the confidentiality of data by means of encryption.
  • Cryptography involves two entities, a verifier and an object to be verified, and it can be either symmetrical or asymmetrical.
  • the two entities share exactly the same information, in particular a secret key
  • asymmetric cryptography is implemented with prepaid cards because asymmetric cryptography remains slow and expensive.
  • the first authentication mechanisms developed in symmetric cryptography consist in calculating once and for all a certificate, different for each card, storing it in the card memory, reading it with each transaction and verifying it by interrogating an application of the. network supporting the transaction where the certificates already allocated are stored. These mechanisms provide insufficient protection. Indeed, the certificate can be spied on, reproduced and replayed fraudulently because it is always the same for a given card.
  • the passive authentication mechanisms are replaced or supplemented by mechanisms which involve a secret key for authentication or acknowledgment of an instruction and / or for data authentication purposes.
  • the secret key different for each card and initially entered in the card or, in the case of a reloadable card, re-entered in the card during reloading, is used by the card itself to calculate a certificate during each authentication.
  • a first of these mechanisms is the subject of patent FR 89 09734.
  • the method described consists in determining a non-linear function, this function being known to the application and implemented in an electronic chip in the form of a state machine. .
  • the electronic chip and the application calculate a certificate which is the result of the function applied to a list of arguments determined at each authentication; the list of arguments can include a hazard, the hazard being a data item determined by the application at each authentication, a data item contained in the electronic chip and a secret key known to the electronic chip and the application.
  • the certificate calculated by the electronic chip is identical to the certificate calculated by the application, the electronic chip is deemed authentic and the transaction between the electronic chip and the application is authorized.
  • the second mechanism it has the advantage of benefiting from provable security as long as the number of authentications does not exceed a certain threshold, and there is therefore no risk linked to the disclosure of the linear function used but, on the other hand, the need to strictly limit the number of uses of the authentication function for the lifetime of the chip (or in the case of rechargeable cards, between two reloads) inherent in this solution can represent a constraint difficult to satisfy for certain applications.
  • attacks not on wired logic chips but on the security modules used to verify these chips and, according to which a fraudster would provide verification modules with random responses until a a sufficient number of correct answers, obtained by chance, provide him with the secret associated with a card number of his choice may be more difficult to counter in the case of the second mechanism.
  • the technical problem to be solved by the object of the present invention is to propose a method of protecting a user's electronic chip against fraud which comprises the steps consisting in: - determining a logic function g known to l application and implanted in the electronic chip, to assign to the electronic chip a first secret key K, known only to the electronic chip and to the application, and kept secret in the electronic chip, - at each authentication of the electronic chip to generate a variable input word R called random, to calculate a certificate, by the electronic chip and the application, the certificate being the result of the logic function g applied to a list of arguments comprising at least the hazard R and the secret key K and, which provides increased security.
  • a solution to the technical problem posed consists, according to the present invention, in that said method further comprises the steps consisting in: determining a non-linear function f known to the application and implanted in the electronic chip, - to be assigned to the chip electronic a second secret key K ′ known only to the electric chip and to the application, and kept secret in the electronic chip, each time the electronic chip is authenticated, a mask M is determined by means of the non-linear function f applied to a list of arguments containing at least part of the secret key K ',
  • the method according to the invention which relates to the protection of an electronic chip against fraud in transactions between the electronic chip and an application, masks the value of the certificate S calculated by the electronic chip, before the application read to verify its value and determine if the microchip is authentic; the calculation of the certificate S and the determination of the mask M involving respectively, a logical function dependent on a first key implanted in the electromechanical chip and a non-linear function dependent on a second key also implanted in the electronic chip, the functions and the keys being known to the application.
  • the method according to the invention solves the problem posed because the value of the certificate S, calculated by the electromic chip, is not available in plain text but in a masked form. Consequently, the fraudster cannot simply intercept the calculation result exchanged between the electronic chip and the application and replay it later. He must know the value of the logical function and the first key which allow the certificate to be calculated and, the value of the non-linear function and the second key which are used to determine the mask.
  • the application checks the accuracy of the masked value either, after having calculated the values of the certificate and of the mask M, to mask with the mask M the value of the certificate and to compare this masked value with that calculated by the electronic chip either , by unmasking the masked certificate calculated by the electronic chip by means of the inverse function of the mask and by comparing the unmasked value with the value of the certificate calculated by the application.
  • the electronic chip is deemed authentic and the transaction between the electronic chip and the application is authorized.
  • a particular mode of implementation makes it possible to simultaneously ensure authentication of the card and authentication of data by involving the value of certain data in the calculation of the certificate.
  • this data can be stored in the electronic chip and consist of the number of the electronic chip or by a credit associated with the electronic chip.
  • this data is written to the electronic chip by the application during the authentication operation.
  • the key K is a word of a determined number of bits grouped into sequences K [i], each sequence K [i] having a number of bits equal to the number of bits of the arguments d input other than the key K and taken as a whole and, the logical function g consists in performing scalar products modulo 2 between each of the bits of a determined sequence K [i] and the bits of the input arguments other than the key K.
  • the nonlinear function f can have as input arguments either the key K ', or the hazard R, or data D internal to the electronic chip, or data D' supplied to the electronic chip by the application, or a combination of these; each argument adding a difficulty to be overcome for the fraudster.
  • the hazard R is determined by the application from a random number generated by the application and the hazard R is transmitted to the electric chip by apphcation. According to another particular mode of implementation, the hazard R is determined from a series of consecutive integers generated by the apphcation (2) and by the electronic chip.
  • the non-linear function f also has as input arguments at least one parameter c depending on the state of the electronic chip at the time of authentication.
  • the value of the parameter c is calculated from at least the value of a counter contained in the electronic chip and incremented at each authentication.
  • the value of the parameter c is calculated from, at least the value of a counter contained in the electronic chip and incremented at each authentication and, from the hazard R.
  • the masking of the certificate by means of the mask M is calculated by means of an encryption function, in particular a bit-by-bit Exclusive OR operation.
  • the number of authentications of the electronic chip is limited to a maximum value V determined by the application and entered in the electronic chip.
  • the electronic chip contains a counter incremented at each authentication and, the electronic chip stops any authentication calculation when the value of the counter reaches the maximum value V.
  • Figure 1 is a diagram of a method according to the invention.
  • Figure 2 is a diagram of a nonlinear function f.
  • FIG. 1 schematically represents a method according to the invention, for protecting an electromechanical chip 1 of a user against fraud in transactions between an app 2 and the electronic chip 1.
  • Application 2 can be entirely or partially relocated to an unattended self-service terminal, such as a public telephone or such as a turnstile for access to public transport.
  • the user has an electronic chip 1, installed for example on a prepaid card, which must allow him to establish a transaction with F apphcation 2.
  • These transactions may consist of the establishment of telephone communications, payment for objects in a vending machine, rental of parking space from a parking meter, payment for a service such as public transport or the provision of infrastructure.
  • the method makes it possible to authenticate the electronic chip 1.
  • the electronic chip 1 is personalized at the time of its manufacture and, possibly during a reloading operation, by means of an identity number i and an initial value d 'a data item D linked to the apphcation for which it is intended; the value D generally represents the credit attached to the electronic chip 1 for a given apphcation 2.
  • the method consists, during this personalization operation or, during an operation prior to the marketing of the electronic chip 1, in determining the initial conditions necessary for authentication, either of the electronic chip 1, or of the application 2.
  • These initial conditions include the determination 3 of a logic function g, of a non-linear function f, of a first secret key K and of a second secret key K '.
  • the logic function g is known to the application 2 and is installed in the electronic chip 1 in the form of logic circuits 4 such as circuits "or", “or exclusive”, “and”, “no and”, ...
  • the nonlinear function f can be implemented in the form of a circuit 5 formed of a succession of registers forming a shift register, associated with a memory and with operators or exclusive; such a function is called “state machine” and an example is shown in FIG. 2.
  • the function f consists of a first operator or exclusive 6, a 4-bit shift register comprising four flip-flops rO to r3 and four operators or exclusive 7 to 10 and, in a memory 11 of size 16 ⁇ 4 bits.
  • Each operator or exclusive 6 to 10 has two inputs and one output.
  • Each flip-flop r0 to r3 has a data input, two data outputs and a clock input, not shown.
  • the memory 11 has four inputs and four outputs and a clock input, not shown.
  • the input arguments 65, 65 which comprise, according to this embodiment, at least part of the second secret key K 'and the hazard R are present on one of the inputs of the first operator or exclusive 6.
  • the output of the first operator or exclusive 6 is connected to the first input of the second or exclusive operator 7.
  • the input of flip-flops rO, ri, r2 and r3 is connected to the output of an operator or exclusive
  • the first output of flip-flops rO, ri and r2 is connected to a first input of an operator or exclusive 8 to 10.
  • the second output of flip-flops rO, ri, r2 and r3 is connected to an input of memory 11.
  • the second input of the operators or exclusives 7 to 10 is connected to an output of the memory 11.
  • the first output of the flip-flop r3 gives the value of the mask M calculated by the function f applied to the arguments 65, e ⁇ which include, according to this embodiment, at least part of the second secret key K 'and the hazard R.
  • Each authentication of the electronic chip 1 or, of apphcation 2 corresponds to a number of clock ticks equal to the number of bits of the input arguments; the bits of the mask M exit in series at each clock stroke on the output 12.
  • the first key K typically consists of a word of several tens to several thousand bits; this word is known to the app and is kept secret in the electronic chip 1.
  • the app does not memorize the key K itself but a so-called master secret.
  • This master secret is such that it makes it possible to reconstitute, by a method called diversification, the key K from the identity number i of the chip.
  • the key K is typically kept in the chip in a read only memory 13 such as a PROM.
  • a read only memory 13 such as a PROM.
  • the read-only memory is also accessible in writing, such as an EEPROM.
  • the second key K ' is presented as the key K, in the form of a word of a certain number of bits.
  • the keys K and K ′ are stored in the chip, typically in the same memory 13 at different addresses, but the determination of the bits of
  • K '(respectively K) can, in certain cases, depend on the key K (respectively
  • the authentication process illustrated by the diagram in FIG. 1, consists in authenticating the electronic chip 1 by apphcation 2.
  • the app In a first step of the process, the app generates a word R called random.
  • the word R includes a number of bits determined to avoid any fraudulent replay attempt; typically the number of bits is of the order of a few tens of bits.
  • the word R is generated using a random generator or a pseudo-random generator. In a particular embodiment, the words R successively generated can consist of a series of consecutive integers.
  • the word R is an input argument for the calculation of the certificate S. For the electronic chip 1 to have access to the word R, appation 2 performs a writing 14 in the chip 1 or the chip 1 comes to read the word R in apphcation 2.
  • the exchange between the chip 1 and apphcation 2 can take place following a protocol established during the personalization of the chip 1; the value R can, for example, be coded.
  • the word R is temporarily stored in a buffer memory 15 of the electronic chip 1, as well as in appation 2.
  • appcation 2 on the one hand and, chip 1 on the other hand calculate 16, 17 a certificate denoted respectively S and Sp.
  • the certificate S, respectively Sp is the result of the calculation carried out by the logic function g appered to a list of arguments e ⁇ , e2 which comprises at least the hazard R and the key K.
  • the list of arguments e ⁇ , e2 further comprises the identity number i of the electronic chip 1 or, one or more D data contained in the electronic chip 1 or, one or more D 'data generated by the app and written in the electronic chip 1 before authentication or, a combination of the previous arguments.
  • the method consists in determining 18, 19 a mask M by means of the nonlinear function f.
  • the mask M is the result of the non-linear function f appended to a list of arguments 65, eg as described above with reference to FIG. 2.
  • the mask M consists of a determined number m of bits which is typically equal to ten bits.
  • the embodiment according to which the number m is equal to the number of bits of the certificate S has the advantage that the masked certificate does not reveal strictly any information on the value of the certificate S; this is not the case when the length m of the mask M is shorter than the length of the certificate S.
  • the electronic chip 1 masks the value of the certificate Sp which it has calculated by means of the mask M.
  • the masking 20 is calculated by means of an encryption function.
  • the encryption function may consist of an exclusive operation between the certificate Sp and the mask M. The result of the masking operation gives the value of the masked certificate Spm which is temporarily stored in a buffer memory 21 of the electronic chip 1.
  • the app performs a reading 22 of the buffer memory 21 or the chip 1 comes to write the masked certificate Spm in the app 2.
  • the exchange between the chip 1 and the app 2 can be carry out according to a protocol similar to that used for the exchange of the R hazard.
  • Apphcation 2 then verifies the value Spm of the masked certificate calculated by the chip 1 by comparing it 23 to the value S of the certificate that she calculated herself.
  • app 2 masks 24 the value S of the certificate by means of the mask M to obtain the masked value Sm and compares it 23 to the value Spm.
  • app 2 excludes the value Spm by using an inverse function of the mask M to obtain the value Sp and compare it to the value S.
  • a variant of the method previously described with reference to FIGS. 1 and 2 advantageously makes it possible to remedy certain fraud attempts consisting in simulating with respect to an electronic chip the behavior of an apphcation, using an authentication of the '' apphcation by the electronic chip. According to this variant, operations previously carried out by apphcation are carried out by the electronic chip and vice versa. So :
  • variable input word R called random is generated, preferably, by the electronic chip, the app calculates a certificate and, the mask using the mask M to make available to the chip electronic only the value of the masked certificate,
  • the invention further relates to an electronic chip intended for transactions with an apphcation, the transactions implementing a method according to the invention.
  • the chip includes: a non-volatile memory such as a PROM or an EEPROM for storing the first secret key K and the second secret key K ', - a first electromic circuit such as a microprocessor, a programmable logic circuit (EPLD or PAL according to the terminologies Anglo-Saxon), to calculate the Sp certificate and to calculate the mask M, integrated circuits in which the logic function g and the nonlinear function f are installed, - a second electronic circuit such as a microprocessor, a programmable logic circuit ( EPLD or PAL according to English terminology), to mask the certificate with the mask M.
  • the invention further relates to a prepaid card comprising such an electronic chip.
  • the invention further relates to a device intended for transactions with such electromechanical chips, the transactions implementing a method according to the invention.
  • the device includes:
  • a storage means for storing the secret keys, K, K ′, electromechanical chips, the logic function g and the non-linear function f, a calculation means for calculating the certificate S and for calculating the mask M, a means for verification to verify the masked value Spm of the certificate calculated by an electronic chip.
  • the device is included in such equipment, a pubhc telephone, an access point to a pubhc service (a turnstile for access to a metro, a turnstile for access to a library, ...), a parking meter.

Abstract

La présente invention se rapporte à un procédé de protection d'une puce électronique (1) d'un utilisateur contre la fraude dans des transactions entre une application (2) et la puce électronique (2). Le procédé consiste: (a) à calculer (16, 17) un certificat (Sp, S), par la puce électronique (1) et l'application (2), le certificat (Sp, S) étant le résultat de la fonction logique g appliquée à une liste d'arguments (e1, e2) comprenant au moins l'aléa R et la clé secrète K, (b) à attribuer à la puce électronique (1) une seconde clé secrète K' connue seulement de la puce électronique (1) et de l'application (2), et gardée secrète (13) dans la puce électronique (1), (c) à chaque authentification de la puce électronique (1) à déterminer (18, 19) un masque M calculé en appliquant une fonction non linéaire f à au moins une partie de la clé secrète K', (d) à masquer (20) la valeur du certificat (Sp) au moyen du masque M pour rendre disponible à l'application (2) uniquement la valeur du certificat masquée (Spm), (d) à vérifier par l'application (2) la valeur masquée (Spm) du certificat calculée par la puce électronique (1).

Description

Titre de l'invention PROCEDE DE PROTECTION D'UNE PUCE ELECTRONIQUE CONTRE LA
FRAUDE
Domaine de l'invention
La présente invention se rapporte à un procédé de protection d'une puce électronique d'un utilisateur contre la fraude. L'invention trouve une application très avantageuse en ce qu'elle permet de protéger contre la fraude des puces à circuit intégré à logique câblée ou à microprocesseur, notamment les puces électroniques qui équipent les cartes prépayées utilisées dans des transactions diverses telles que l'établissement de communications téléphoniques, le paiement d'objets dans un distributeur automatique, la location d'emplacements de stationnement à partir d'un parcmètre, le paiement d'un service comme un transport public ou comme la mise à disposition d'infrastructures (péage, musée, bibliothèque, ...).
Description de l'art antérieur
Actuellement, les cartes prépayées sont susceptibles de subir différents types de fraudes. Un premier type de fraude consiste à dupliquer sans autorisation la carte, le terme clonage étant souvent utilisé pour caractériser cette opération. Un deuxième type de fraude consiste à modifier les données attachées à une carte, en particulier le montant du crédit inscrit dans la carte. Pour lutter contre ces fraudes il est fait appel à la cryptographie, d'une part pour assurer l'authentification de la carte au moyen d'une authentification et/ou pour assurer l'authentification des données au moyen d'une signature numérique et, d'autre part pour assurer la confidentialité des données au moyen d'un chiffrement. La cryptographie met enjeu deux entités, un vérificateur et un objet à vérifier, et elle peut être soit symétrique, soit asymétrique. Lorsqu'elle est symétrique, les deux entités partagent exactement la même information, en particulier une clé secrète, lorsqu'elle est asymétrique une des deux entités possède une paire de clés dont l'une est secrète et l'autre est publique ; il n'y a pas de clé secrète partagée. Dans de nombreux systèmes, seule la cryptographie symétrique est mise en œuvre avec des cartes prépayées car la cryptographie asymétrique reste lente et coûteuse. Les premiers mécanismes d' authentification développés en cryptographie symétrique consistent à calculer une fois pour toutes un certificat, différent pour chaque carte, à le stocker dans la mémoire de la carte, à le lire à chaque transaction et à le vérifier en interrogeant une application du réseau supportant la transaction où sont stockés les certificats déjà attribués. Ces mécanismes assurent une protection insuffisante. En effet, le certificat peut être espionné, reproduit et rejoué frauduleusement car il est toujours le même pour une carte donnée. Pour tenir compte du nombre faible d'authentification mis en jeu entre deux rechargements dans le cas d'une carte prépayée rechargeable ou, au cours de la durée de vie d'une carte prépayée non rechargeable, les mécanismes d'authentification passifs sont remplacés ou complétés par des mécanismes qui font intervenir une clé secrète à des fins d'authentification ou d'acquittement d'une instruction et/ou à des fins d'authentification de données. La clé secrète, différente pour chaque carte et inscrite initialement dans la carte ou, dans le cas d'une carte rechargeable, réinscrite dans la carte lors d'un rechargement, est utilisée par la carte elle-même pour calculer un certificat lors de chaque authentification.
Un premier de ces mécanismes fait l'objet du brevet FR 89 09734. Le procédé décrit consiste à déterminer une fonction non linéaire, cette fonction étant connue de l'application et implantée dans une puce électronique sous la forme d'un automate d'états. Lors d'une authentification, la puce électronique et l'application calculent un certificat qui est le résultat de la fonction appliquée à une liste d'arguments déterminée à chaque authentification ; la liste d'arguments pouvant comprendre un aléa, l'aléa étant une donnée déterminée par l'application à chaque authentification, une donnée contenue dans la puce électronique et une clé secrète connue de la puce électronique et de l'application. Lorsque le certificat calculé par la puce électronique est identique au certificat calculé par l'application, la puce électronique est jugée authentique et la transaction entre la puce électronique et l'application est autorisée.
Un second mécanisme de protection des cartes par authentification active, faisant appel à une fonction logique basée sur l'utilisation d'un code d'authentification assurant une sécurité inconditionnelle pour un nombre limité d'authentifications, fait l'objet du brevet FR 95 12144 et est également décrite dans l'article « Solutions for
Low Cost Authentication and Message Authentication » paru dans les actes de la conférence CARDIS'98. L'utilisation d'une telle fonction logique assure une protection contre le rejeu et une usure contrôlée de la clé secrète. Dans les applications basées sur la carte à mémoire considérées dans le présent brevet, on peut avantageusement faire appel à une fonction logique linéaire dépendant d'une clé secrète et de paramètres comme l'aléa reçu par la carte et le cas échéant des données internes à la carte ou reçues par la carte. La famille de fonctions logiques décrite dans le brevet FR 95 12144 constitue un cas particulier particulièrement adapté aux contraintes des cartes synchrones et faisant appel à des calculs de produits scalaires modulo 2 entre vecteurs binaires. Chacun des deux mécanismes précédemment cités possède des avantages et des inconvénients spécifiques. En ce qui concerne le premier mécanisme, qui repose sur l'hypothèse (non prouvable dans l'état actuel des connaissances) de la sécurité informatique de la fonction non linéaire utilisée, les très fortes contraintes imposées par les capacités de calculs réduites des puces à logique câblée n'autorisent pas une marge de sécurité aussi large que pour les algorithmes à clé secrète usuels et de ce fait la divulgation de la spécification détaillée de la fonction non linéaire utilisée peut représenter un risque. En ce qui concerne le second mécanisme, il possède l'avantage de bénéficier d'une sécurité prouvable tant que le nombre d'authentifications n'excède pas un certain seuil, et il n'y a donc pas de risque lié à la divulgation de la fonction linéaire utilisée mais, par contre la nécessité de limiter strictement le nombre d'utilisations de la fonction d'authentification pour la durée de vie de la puce (ou dans le cas de cartes rechargeables, entre deux rechargements) inhérente à cette solution peut représenter une contrainte difficile à satisfaire pour certaines applications. En outre, des attaques portant non pas sur les puces à logique câblée mais, sur les modules de sécurité utilisés pour la vérification de ces puces et, selon lesquelles un fraudeur fournirait à des modules de vérification des réponses aléatoires jusqu'à ce qu'un nombre suffisant de bonnes réponses, obtenues par hasard, lui fournisse le secret associé à un numéro de carte de son choix, peuvent être plus difficiles à contrer dans le cas du second mécanisme.
Résumé de l'invention
Aussi, le problème technique à résoudre par l'objet de la présente invention est de proposer un procédé de protection d'une puce électronique d'un utilisateur contre la fraude qui comprend les étapes consistant : - à déterminer une fonction logique g connue de l'application et implantée dans la puce électronique, à attribuer à la puce électronique une première clé secrète K, connue seulement de la puce électronique et de l'application, et gardée secrète dans la puce électromque, - à chaque authentification de la puce électronique à générer un mot d'entrée variable R appelé aléa, à calculer un certificat, par la puce électronique et l'application, le certificat étant le résultat de la fonction logique g appliquée à une liste d'arguments comprenant au moins l'aléa R et la clé secrète K et, qui assure une sécurité accrue. Une solution au problème technique posé consiste, selon la présente invention, en ce que ledit procédé comprend en outre les étapes consistant : à déterminer une fonction non linéaire f connue de l'application et implantée dans la puce électronique, - à attribuer à la puce électronique une seconde clé secrète K' connue seulement de la puce électromque et de l'application, et gardée secrète dans la puce électronique, à chaque authentification de la puce électronique à déterminer un masque M au moyen de la fonction non linéaire f appliquée à une liste d'arguments contenant au moins une partie de la clé secrète K',
- à masquer la valeur du certificat au moyen du masque M pour rendre disponible à l'application uniquement la valeur du certificat masquée, à vérifier par l'application la valeur masquée du certificat calculée par la puce électronique. Ainsi, le procédé selon l'invention, qui concerne la protection d'une puce électronique contre la fraude dans des transactions entre la puce électronique et une application, masque la valeur du certificat S calculée par la puce électronique, avant que l'application le lise pour en vérifier sa valeur et déterminer si la puce électronique est authentique ; le calcul du certificat S et la détermination du masque M faisant intervenir respectivement, une fonction logique dépendante d'une première clé implantée dans la puce électromque et une fonction non linéaire dépendante d'une seconde clé également implantée dans la puce électronique, les fonctions et les clés étant connues de l'application.
Le procédé conforme à l'invention résout le problème posé car la valeur du certificat S, calculé par la puce électromque, n'est pas disponible en clair mais sous une forme masquée. Par conséquent, le fraudeur ne peut pas simplement intercepter le résultat de calcul échangé entre la puce électronique et l'application et le rejouer ultérieurement. Il lui faut connaître la valeur de la fonction logique et de la première clé qui permettent de calculer le certificat et, la valeur de la fonction non linéaire et de la seconde clé qui interviennent pour déterminer le masque.
L'application vérifie l'exactitude de la valeur masquée soit, après avoir calculé les valeurs du certificat et du masque M, à masquer au moyen du masque M la valeur du certificat et à comparer cette valeur masquée à celle calculée par la puce électronique soit, en démasquant le certificat masqué calculé par la puce électronique au moyen de la fonction inverse du masque et en comparant la valeur démasquée à la valeur du certificat calculé par l'application. Lorsque les valeurs comparées sont identiques, la puce électronique est jugée authentique et la transaction entre la puce électronique et l'application est autorisée.
De manière avantageuse, un mode particulier de mise en œuvre permet d'assurer simultanément l'authentification de la carte et l'authentification de données en faisant intervenir la valeur de certaines données dans le calcul du certificat. Dans un premier cas, ces données peuvent être mémorisées dans la puce électronique et être constituées par le numéro de la puce électronique ou par un crédit associé à la puce électronique. Dans un second cas, ces données sont écrites dans la puce électronique par l'application lors de l'opération d'authentification.
Bien qu'il soit préférable d'utiliser des clés K et K' indépendantes, il peut exister un lien de dépendance sous la forme d'une fonction qui permet de calculer la clé K' à partir de la clé K. L'attribution des clés à une puce électronique est effectuée, soit lors de la personnalisation de la puce en fin de fabrication, soit lors d'une opération de rechargement de la puce électronique dans le cas d'une puce électronique rechargeable.
Selon un autre mode particulier de mise en œuvre, la détermination des clés K et
K' peut être effectuée par l'application d'une méthode de diversification ayant pour arguments d'entrée le numéro de la puce électronique et un code secret maître, ce qui permet avantageusement à l'application de reconstituer les clés secrètes de chaque puce électronique après lecture du numéro de la puce ; aucun stockage des clés secrètes des puces n'est alors nécessaire.
Selon un autre mode particulier de mise en œuvre, la clé K est un mot d'un nombre déterminé de bits regroupés en séquences K[i], chaque séquence K[i] ayant un nombre de bits égal au nombre de bits des arguments d'entrée autre que la clé K et pris comme un tout et, la fonction logique g consiste à effectuer des produits scalaires modulo 2 entre chacun des bits d'une séquence déterminée K[i] et les bits des arguments d'entrée autre que la clé K.
La fonction non linéaire f peut avoir comme arguments d'entrée soit la clé K', soit l'aléa R, soit des données D internes à la puce électronique, soit des données D' fournies à la puce électronique par l'application, soit une combinaison de ces derniers ; chaque argument ajoutant une difficulté à surmonter pour le fraudeur.
Selon un autre mode particulier de mise en œuvre, l'aléa R est déterminé par l'application à partir d'un nombre aléatoire généré par l'application et l'aléa R est transmis à la puce électromque par l' apphcation. Selon un autre mode particulier de mise en œuvre, l'aléa R est déterminé à partir d'une suite d'entiers consécutifs générés par l' apphcation (2) et par la puce électronique.
Selon un autre mode particulier de mise en œuvre, la fonction non linéaire f a en outre comme arguments d'entrée au moins un paramètre c dépendant de l'état de la puce électronique au moment de l'authentification. Selon une première variante à ce mode, la valeur du paramètre c est calculée à partir d'au moins la valeur d'un compteur contenu dans la puce électronique et incrémenté à chaque authentification. Selon une seconde variante à ce mode, la valeur du paramètre c est calculée à partir, d'au moins la valeur d'un compteur contenu dans la puce électronique et incrémenté à chaque authentification et, de l'aléa R.
Selon un autre mode particulier de mise en œuvre, le masquage du certificat au moyen du masque M est calculé au moyen d'une fonction de chiffrement, en particulier une opération OU Exclusif bit à bit. Selon un autre mode particulier de mise en œuvre, le nombre d'authentifications de la puce électronique est limité à une valeur maximale V déterminée par l'application et inscrite dans la puce électronique. Selon une variante à ce mode, la puce électronique contient un compteur incrémenté à chaque authentification et, la puce électronique cesse tout calcul d'authentification lorsque la valeur du compteur atteint la valeur maximale V.
Brève description des dessins
D'autres caractéristiques et avantages de l'invention apparaîtront lors de la description qui suit faite en regard de dessins annexés de modes particuliers de réalisation donnés à titre d'exemples non limitatifs. La figure 1 est un schéma d'un procédé selon l'invention.
La figure 2 est un schéma d'une fonction non linéaire f.
Description d'un mode de réalisation
La figure 1 représente schématiquement un procédé selon l'invention, de protection d'une puce électromque 1 d'un utilisateur contre la fraude dans des transactions entre une apphcation 2 et la puce électronique 1.
L'application 2 peut être entièrement ou partiellement délocalisée dans un terminal en libre service non surveillé, tel un téléphone public ou tel un tourniquet d'accès à un transport public. L'utilisateur détient une puce électronique 1, implantée par exemple sur une carte prépayée, qui doit lui permettre d'établir une transaction avec F apphcation 2. Ces transactions peuvent consister en l'étabhssement de communications téléphoniques, le paiement d'objets dans un distributeur automatique, la location d'emplacement de stationnement à partir d'un parcmètre, le paiement d'un service comme un transport public ou comme la mise à disposition d'infrastructures.
Le procédé permet d'authentifier la puce électronique 1. La puce électronique 1 est personnalisée au moment de sa fabrication et, éventuellement lors d'une opération de rechargement, au moyen d'un numéro d'identité i et d'une valeur initiale d'une donnée D liée à l' apphcation à laquelle elle est destinée ; la valeur D représente généralement le crédit attaché à la puce électronique 1 pour une apphcation 2 donnée.
Le procédé consiste, lors de cette opération de personnalisation ou, lors d'une opération préalable à la commercialisation de la puce électronique 1 , à déterminer les conditions initiales nécessaires à l'authentification, soit de la puce électronique 1, soit de l'application 2. Ces conditions initiales comprennent la détermination 3 d'une fonction logique g, d'une fonction non linéaire f, d'une première clé secrète K et d'une seconde clé secrète K'. La fonction logique g est connue de l'application 2 et est implantée dans la puce électronique 1 sous la forme de circuits logiques 4 tels des circuits « ou », « ou exclusif », « et », « non et », ...
La fonction non linéaire f peut être implantée sous la forme d'un circuit 5 formé d'une succession de registres formant un registre à décalage, associés à une mémoire et à des opérateurs ou exclusifs ; une telle fonction est dite « automate d'états » et un exemple est représenté à la figure 2. Suivant cet exemple, la fonction f consiste en un premier opérateur ou exclusif 6, un registre à décalage 4 bits comprenant quatre bascules rO à r3 et quatre opérateurs ou exclusifs 7 à 10 et, en une mémoire 11 de taille 16x4 bits. Chaque opérateur ou exclusif 6 à 10 a deux entrées et une sortie. Chaque bascule rO à r3 a une entrée de données, deux sorties de données et une entrée horloge non représentée. La mémoire 11 a quatre entrées et quatre sorties et une entrée horloge non représentée. Les arguments d'entrée 65 , 65 qui comprennent, selon ce mode de réalisation, au moins une partie de la seconde clé secrète K' et l'aléa R sont présents sur une des entrées du premier opérateur ou exclusif 6. La sortie du premier opérateur ou exclusif 6 est connectée à la première entrée du deuxième opérateur ou exclusif 7. L'entrée des bascules rO, ri, r2 et r3 est connectée à la sortie d'un opérateur ou exclusif
7 à 10. La première sortie des bascules rO, ri et r2 est connectée à une première entrée d'un opérateur ou exclusif 8 à 10. La seconde sortie des bascules rO, ri, r2 et r3 est connectée à une entrée de la mémoire 11. La seconde entrée des opérateurs ou exclusifs 7 à 10 est connectée à une sortie de la mémoire 11. La première sortie de la bascule r3 donne la valeur du masque M calculée par la fonction f appliquée aux arguments 65 , e^ qui comprennent, selon ce mode de réalisation, au moins une partie de la seconde clé secrète K' et l'aléa R. A chaque authentification de la puce électronique 1 ou, de l'apphcation 2, correspond un nombre de coups d'horloge égal au nombre de bits des arguments d'entrée ; les bits du masque M sortent en série à chaque coup d'horloge sur la sortie 12.
La première clé K, généralement attribuée de manière individuelle à une puce électronique, consiste typiquement en un mot de quelques dizaines à quelques milliers de bits ; ce mot est connu de l'apphcation et est gardé secret dans la puce électronique 1. Cependant, selon un mode particulier de réalisation du procédé, l'apphcation ne mémorise pas la clé K elle-même mais un secret dit maître. Ce secret maître est tel qu'il permet de reconstituer, par une méthode dite de diversification, la clé K à partir du numéro i d'identité de la puce.
Quel que soit le mode de réalisation du procédé, la clé K est typiquement conservée dans la puce dans une mémoire 13 morte telle une PROM. En particulier, lorsque la puce électronique 1 est de type rechargeable, c'est le cas d'une puce implantée sur une carte prépayée à rechargement, la mémoire morte est aussi accessible en écriture, telle une EEPROM.
La seconde clé K' se présente comme la clé K, sous la forme d'un mot d'un certain nombre de bits. Les clés K et K' sont mémorisées dans la puce, typiquement dans la même mémoire 13 à des adresses différentes, mais la détermination des bits de
K' (respectivement K) peut, dans certains cas, dépendre de la clé K (respectivement
K').
Après l'opération de personnalisation, la puce électronique 1 est commercialisée et l'utilisateur peut entreprendre une transaction avec une apphcation 2. Le procédé d'authentification, illustré par le schéma de la figure 1, consiste à authentifier la puce électronique 1 par l'apphcation 2.
Dans une première étape du procédé, l'apphcation génère un mot R appelé aléa. Le mot R comprend un nombre de bits déterminé pour éviter toute tentative frauduleuse de rejeu ; typiquement le nombre de bits est de l'ordre de quelques dizaines de bits. Le mot R est généré à l'aide d'un générateur aléatoire ou d'un générateur pseudo aléatoire. Dans un mode particulier de réalisation, les mots R successivement générés peuvent consister en une suite d'entiers consécutifs. Le mot R est un argument d'entrée pour le calcul du certificat S. Pour que la puce électronique 1 ait accès au mot R, l'apphcation 2 effectue une écriture 14 dans la puce 1 ou la puce 1 vient lire le mot R dans l'apphcation 2. L'échange entre la puce 1 et l'apphcation 2 peut s'effectuer suivant un protocole établi lors de la personnalisation de la puce 1 ; la valeur R peut, par exemple, être codée. Le mot R est stocké temporairement dans une mémoire tampon 15 de la puce électronique 1, ainsi que dans l'apphcation 2.
Dans une deuxième étape du procédé, l'apphcation 2 d'une part et, la puce 1 d'autre part, calculent 16, 17 un certificat noté respectivement S et Sp. Le certificat S, respectivement Sp, est le résultat du calcul effectué par la fonction logique g apphquée à une liste d'arguments eι ,e2 qui comprend au moins l'aléa R et la clé K. Dans des modes particuliers de réalisation du procédé, la liste d'arguments eι ,e2 comprend en outre, le numéro i d'identité de la puce électronique 1 ou, une ou plusieurs données D contenues dans la puce électronique 1 ou, une ou plusieurs données D' générées par l'apphcation et écrites dans la puce électronique 1 avant authentification ou, une combinaison des arguments précédents.
Dans une troisième étape, le procédé consiste à déterminer 18, 19 un masque M au moyen de la fonction non linéaire f. Le masque M est le résultat de la fonction non linéaire f apphquée à une liste d'arguments 65 , eg comme décrit ci-dessus en regard de la figure 2. Le masque M consiste en un nombre déterminé m de bits qui est typiquement égal à une dizaine de bits. Le mode de réalisation suivant lequel le nombre m est égal au nombre de bits du certificat S a pour avantage que le certificat masqué ne révèle strictement aucune information sur la valeur du certificat S ; ceci n'est pas le cas lorsque la longueur m du masque M est plus courte que la longueur du certificat S.
Dans une quatrième étape du procédé, la puce électronique 1 masque 20 la valeur du certificat Sp qu'elle a calculée au moyen du masque M. Dans un premier mode de réalisation, le masquage 20 est calculé au moyen d'une fonction de chiffrement. Une fonction de chiffrement est une fonction bijective paramétrée par une clé qui, à un ensemble de valeurs, fait correspondre un autre ensemble de valeurs ; par exemple la fonction F : x-^ x + k modulo 2, avec x=0 ou 1 et k = 0 ou 1 , peut être utilisée comme fonction de chiffrement. La fonction de chiffrement peut consister en une opération ou exclusif entre le certificat Sp et le masque M. Le résultat de l'opération de masquage donne la valeur du certificat masquée Spm qui est stockée de manière temporaire dans une mémoire 21 tampon de la puce électronique 1.
Dans une cinquième étape du procédé, l'apphcation effectue une lecture 22 de la mémoire 21 tampon ou la puce 1 vient écrire le certificat masqué Spm dans l'apphcation 2. L'échange entre la puce 1 et l'apphcation 2 peut s'effectuer suivant un protocole similaire à celui utilisé pour l'échange de l'aléa R. L'apphcation 2 vérifie alors la valeur Spm du certificat masqué calculée par la puce 1 en la comparant 23 à la valeur S du certificat qu'elle a elle-même calculée. Pour effectuer la comparaison 23, soit, comme illustré, l'apphcation 2 masque 24 la valeur S du certificat au moyen du masque M pour obtenir la valeur masquée Sm et la comparer 23 à la valeur Spm., soit l'apphcation 2 démasque la valeur Spm en faisant intervenir une fonction inverse du masque M pour obtenir la valeur Sp et la comparer à la valeur S.
Une variante du procédé précédemment décrit en regard des figures 1 et 2 permet avantageusement de remédier à certaines tentatives de fraude consistant à simuler vis à vis d'une puce électronique le comportement d'une apphcation, à l'aide d'une authentification de l'apphcation par la puce électronique. Selon cette variante, des opérations précédemment effectuées par l'apphcation sont effectuées par la puce électronique et vice versa. Ainsi :
- à chaque authentification de l'apphcation, le mot d'entrée variable R appelé aléa est généré, de préférence, par la puce électronique, l'apphcation calcule un certificat et, le masque au moyen du masque M pour rendre disponible à la puce électronique uniquement la valeur du certificat masquée,
- l'opération de comparaison des valeurs de certificat calculées d'une part par la puce électronique et, d'autre part par l'apphcation est effectuée par la puce électronique. L'invention a en outre pour objet une puce électronique destinée à des transactions avec une apphcation, les transactions mettant en œuvre un procédé selon l'invention. La puce comporte : une mémoire non volatile telle une PROM ou une EEPROM pour stocker la première clé secrète K et la seconde clé secrète K', - un premier circuit électromque tel, un microprocesseur, un circuit logique programmable (EPLD ou PAL selon les terminologies anglo-saxonnes), pour calculer le certificat Sp et pour calculer le masque M, des circuits intégrés dans lesquels sont implantées la fonction logique g et la fonction non linéaire f, - un second circuit électronique tel, un microprocesseur, un circuit logique programmable (EPLD ou PAL selon les terminologies anglo-saxonnes), pour masquer le certificat avec le masque M. L'invention a en outre pour objet une carte prépayée comportant une telle puce électronique. L'invention a en outre pour objet un dispositif destiné à des transactions avec de telles puces électromques, les transactions mettant en œuvre un procédé selon l'invention. Le dispositif comporte :
- un moyen de mémorisation pour mémoriser les clés secrètes, K, K', des puces électromques, la fonction logique g et la fonction non linéaire f, un moyen de calcul pour calculer le certificat S et pour calculer le masque M, un moyen de vérification pour vérifier la valeur masquée Spm du certificat calculé par une puce électronique. Le dispositif est compris dans un équipement tel, un téléphone pubhc, une borne d'accès à un service pubhc (un tourmquet d'accès à un métro, un tourniquet d'accès à une bibhothèque, ... ), un parcmètre.

Claims

REVENDICATIONS
Procédé de protection d'une puce électronique (1) d'un utilisateur contre la fraude dans des transactions entre une apphcation (1) et la puce électromque (2) comprenant les étapes consistant : - à déterminer (3) une fonction logique g connue de l'apphcation (2) et implantée (4) dans la puce électronique (1),
- à attribuer à la puce électronique (1) une première clé secrète K, connue seulement de la puce électronique (1) et de l'apphcation (2), et gardée secrète (13) dans la puce électronique (1), - à chaque authentification de la puce électronique (1) à générer un mot d'entrée variable R appelé aléa, à calculer (16, 17) un certificat (Sp, S), par la puce électronique (1) et l'apphcation (2), le certificat (Sp, S) étant le résultat de la fonction logique g apphquée à une liste d'arguments ( ei , e^ ) comprenant au moins l'aléa R et la clé secrète K, caractérisé en ce que ledit procédé comprend en outre les étapes consistant : à déterminer une fonction non linéaire f connue de l'apphcation (2) et implantée dans la puce électronique (1), à attribuer à la puce électronique (1) une seconde clé secrète K' connue seulement de la puce électronique (1) et de l'apphcation (2), et gardée secrète (13) dans la puce électronique (1), à chaque authentification de la puce électronique (1) à déterminer (18, 19) un masque M au moyen de la fonction non linéaire f apphquée à une liste d'arguments ( 65 , eg ) comprenant au moins une partie de la clé secrète K', - à masquer (20) la valeur du certificat (Sp) au moyen du masque M pour rendre disponible à l'apphcation (2) uniquement la valeur du certificat masquée (Spm), à vérifier par l'apphcation (2) la valeur masquée (Spm) du certificat calculée par la puce électronique (1).
Procédé selon la revendication 1, caractérisé en ce que la vérification par l'apphcation (21) de la valeur masquée (Spm) du certificat calculée par la puce électronique (1) consiste : - à démasquer au moyen du masque M la valeur masquée (Spm) du certificat calculée par la puce électronique (1) et, à comparer la valeur du certificat (Sp) calculée par la puce électronique (1) à celle (S) calculée par l'apphcation (2).
3. Procédé selon la revendication 1, caractérisé en ce que la vérification par l'apphcation (2) de la valeur masquée (Spm) du certificat calculée par la puce électromque (1) consiste :
- à masquer (24) au moyen du masque M la valeur du certificat (S) calculée par l'apphcation (2) et, à comparer (23) la valeur masquée du certificat (Spm) calculée par la puce électronique (1) à la valeur masquée du certificat (Sm) calculée par l'apphcation (2).
4. Procédé selon la revendication 1, caractérisé en ce que le masquage (20, 24) du certificat (Sp, S) au moyen du masque M est calculé au moyen d'une fonction de chiffrement.
5. Procédé selon la revendication 4, caractérisé en ce que la fonction de chiffrement est une opération OU Exclusif bit à bit.
6. Procédé selon la revendication 1, caractérisé en ce que l'aléa R est déterminé par l'apphcation (2) à partir d'un nombre aléatoire généré par l'apphcation (2) et en ce que l'aléa R est transmis à la puce électronique (1) par l'apphcation (2).
7. Procédé selon la revendication 1, caractérisé en ce que l'aléa R est déterminé à partir d'une suite d'entiers consécutifs générés par l'apphcation (2) et par la puce électronique (1).
8. Procédé selon la revendication 1, caractérisé en ce que le certificat (Sp, S) et le masque M ont le même nombre de bits.
9. Procédé selon la revendication 1, caractérisé en ce que le certificat (Sp, S) est le résultat de la fonction logique g apphquée à une liste d'arguments ( eι ,e2 ) comprenant au moins l'aléa R, la clé secrète K et des données D internes à la puce électronique (1).
10. Procédé selon la revendication 1, caractérisé en ce que le certificat (Sp, S) est le résultat de la fonction logique g apphquée à une liste d'arguments ( ej^ ) comprenant au moins l'aléa R, la clé secrète K et des données D' fournies à la puce électronique (1) par l'apphcation (2) lors de l'authentification.
11. Procédé selon la revendication 1, caractérisé en ce que la clé secrète K consiste en une séquence de valeurs K[i] et, en ce que la fonction logique g déterminant la valeur du certificat (Sp, S) consiste en un calcul de produits scalaires modulo 2 entre chacune des valeurs K[i] et les arguments d'entrée autres que la clé K de la fonction logique g.
12. Procédé selon la revendication 1, caractérisé en ce que les clés secrètes K et K' sont choisies indépendamment l'une de l'autre.
13. Procédé selon la revendication 1, caractérisé en ce que la fonction non linéaire f a en outre comme arguments d'entrée au moins l'aléa R.
14. Procédé selon la revendication 1, caractérisé en ce que la fonction non linéaire fa en outre comme arguments d'entrée ( e5 ,eg) au moins des données D internes à la puce électronique.
15. Procédé selon la revendication 1 , caractérisé en ce que la fonction non linéaire f a en outre comme arguments d'entrée (65 ,6 ) au moins des données D' fournies à la puce électronique (1) par l'apphcation (2).
16. Procédé selon la revendication 1, caractérisé en ce que la fonction non linéaire f a en outre comme arguments d'entrée (e^ ,e ) au moins un paramètre c dépendant de l'état de la puce électronique (1) au moment de l'authentification.
17. Procédé selon la revendication 16, caractérisé en ce que la valeur du paramètre c est calculée à partir d'au moins la valeur d'un compteur contenu dans la puce électronique (1) et incrémenté à chaque authentification.
18. Procédé selon la revendication 16, caractérisé en ce que la valeur du paramètre c est calculée à partir, d'au moins la valeur d'un compteur contenu dans la puce électronique (1) et incrémenté à chaque authentification et, de l'aléa R.
19. Procédé selon la revendication 1, caractérisé en ce que le nombre d'authentifications de la puce électronique (1) est limité à une valeur maximale V déterminée par l'apphcation (2) et inscrite dans la puce électromque (1).
20. Procédé selon la revendication 14, caractérisé en ce que la puce électronique (1) contient un compteur incrémenté à chaque authentification, et que la puce électronique (1) cesse tout calcul d'authentification lorsque la valeur du compteur atteint la valeur maximale V.
21. Procédé de protection d'une puce électronique (1) d'un utilisateur contre la fraude dans des transactions entre une apphcation (2) et la puce électronique (1) comprenant les étapes consistant : à déterminer une fonction logique g connue de l'apphcation (2) et implantée (4) dans la puce électronique (1), - à attribuer à la puce électronique (1) une première clé secrète K, connue seulement de la puce électronique (1) et de l'apphcation (2), et gardée secrète (13) dans la puce électronique (1), à chaque authentification de l'apphcation (2) à générer un mot d'entrée variable R appelé aléa, - à calculer un certificat (Sp, S), par la puce électronique (1) et l'apphcation (2), le certificat (Sp, S) étant le résultat de la fonction logique g apphquée à une liste d'arguments ( ei , e ) comprenant au moins l'aléa R et la clé secrète K, caractérisé en ce que ledit procédé comprend en outre les étapes consistant : - à déterminer une fonction non linéaire f connue de l'apphcation (2) et implantée dans la puce électronique (1),
- à attribuer à la puce électronique (1) une seconde clé secrète K', connue seulement de la puce électronique (1) et de l'apphcation (2), et gardée secrète (13) dans la puce électronique (1), à chaque authentification de l'apphcation (2) à déterminer (18, 19) un masque M calculé au moyen de la fonction non linéaire f apphquée à au moins une partie de la clé secrète K', à masquer la valeur du certificat (S) au moyen du masque M pour rendre disponible à la puce électronique (1) uniquement la valeur du certificat (Sm) masquée, à vérifier par la puce électronique (1) la valeur masquée du certificat (Sm) calculée par l'apphcation (2).
22. Procédé selon la revendication 21, caractérisé en ce que l'aléa R est déterminé par la puce électronique (1) à partir d'un nombre aléatoire généré par la puce électronique (1) et en ce que l'aléa R est transmis à l'apphcation (2) par la puce électromque (1).
23. Procédé selon la revendication 21, caractérisé en ce que l'aléa R est déterminé à partir d'une suite d'entiers consécutifs générés par l'apphcation (2) et par la puce électronique (1).
24. Puce électronique (1) destinée à des transactions avec une apphcation (2), les transactions mettant en œuvre un procédé selon l'une des revendications 1 à 20, caractérisée en ce qu'elle comporte :
- un moyen de mémorisation (13) pour stocker la première clé secrète K et la seconde clé secrète K', un moyen de calcul (16,18) pour calculer le certificat (Sp) et pour calculer le masque M,
- un moyen électronique (4, 5) dans lequel sont implantées la fonction logique g et la fonction non linéaire f, un moyen de masquage (20) pour masquer le certificat avec le masque M.
25. Puce électronique (1) selon la revendication 24, caractérisée en ce qu'elle comporte en outre :
- un moyen de comptage du nombre d'authentifications de la puce électronique (1) pour une apphcation donnée (2) pour contrôler la durée d'utilisation de la puce électronique ( 1 ) . Carte prépayée comportant une puce électronique (1) selon la revendication 24.
Dispositif destiné à des transactions avec des puces électroniques (1), les transactions mettant en œuvre un procédé selon l'une des revendications 1 à 20, caractérisé en ce qu'il comporte : un moyen de mémorisation pour mémoriser les clés secrètes, K, K', des puces électroniques, la fonction logique g et la fonction non linéaire f, un moyen de calcul pour calculer le certificat (S) et pour calculer le masque M,
- un moyen de vérification pour vérifier la valeur masquée (Spm) du certificat calculé par une puce électronique (1).
Téléphone pubhc comportant un dispositif selon la revendication 27.
Borne d'accès à un service pubhc comportant un dispositif selon la revendication
27.
Parcmètre comportant un dispositif selon la revendication 27.
PCT/FR2001/000810 2000-03-30 2001-03-19 Procede de protection d'une puce electronique contre la fraude WO2001075821A1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US10/221,693 US7165177B2 (en) 2000-03-30 2001-03-19 Method of protecting an electronic chip against fraud
DE60103523T DE60103523T2 (de) 2000-03-30 2001-03-19 Verfahren zum schutz eines elektronischen bausteines gegen betrug
EP01917175A EP1269431B1 (fr) 2000-03-30 2001-03-19 Procede de protection d'une puce electronique contre la fraude
JP2001573421A JP4659148B2 (ja) 2000-03-30 2001-03-19 不正行為に対する電子チップの保護の方法
AT01917175T ATE268035T1 (de) 2000-03-30 2001-03-19 Verfahren zum schutz eines elektronischen bausteines gegen betrug

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0004313A FR2807245B1 (fr) 2000-03-30 2000-03-30 Procede de protection d'une puce electronique contre la fraude
FR00/04313 2000-03-30

Publications (1)

Publication Number Publication Date
WO2001075821A1 true WO2001075821A1 (fr) 2001-10-11

Family

ID=8848867

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2001/000810 WO2001075821A1 (fr) 2000-03-30 2001-03-19 Procede de protection d'une puce electronique contre la fraude

Country Status (8)

Country Link
US (1) US7165177B2 (fr)
EP (1) EP1269431B1 (fr)
JP (1) JP4659148B2 (fr)
AT (1) ATE268035T1 (fr)
DE (1) DE60103523T2 (fr)
ES (1) ES2222354T3 (fr)
FR (1) FR2807245B1 (fr)
WO (1) WO2001075821A1 (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2826531B1 (fr) 2001-06-26 2003-10-24 France Telecom Procede cryptographique pour la protection d'une puce electronique contre la fraude
US20040225881A1 (en) 2002-12-02 2004-11-11 Walmsley Simon Robert Variant keys
WO2004063906A2 (fr) * 2003-01-13 2004-07-29 Rambus Inc. Masquage d'enregistrement code
US6826663B2 (en) * 2003-01-13 2004-11-30 Rambus Inc. Coded write masking

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4138861A1 (de) * 1991-11-26 1992-10-01 Siemens Nixdorf Inf Syst Verfahren zur gegenseitigen authentifikation eines elektronischen partners mit einem kommunikationssystem
EP0565279A2 (fr) * 1992-04-06 1993-10-13 AT&T Corp. Dispositif de preuve d'authenticité universelle utilisé sur des lignes téléphoniques
EP0621570A1 (fr) * 1993-04-16 1994-10-26 France Telecom Procédé de mise à jour d'une carte à mémoire
WO1997022093A1 (fr) * 1995-12-11 1997-06-19 Landis & Gyr Technology Innovation Ag Procede de controle de l'authenticite d'un moyen de paiement precharge utilise au cours d'une transaction

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2650097B1 (fr) 1989-07-19 1992-12-31 Pailles Jean Claude Carte a microcircuit cable et procede de transaction entre une carte a microcircuit cable correspondante et un terminal
EP0440158B1 (fr) * 1990-01-30 1997-09-10 Kabushiki Kaisha Toshiba Système d'authentification mutuel
US5201000A (en) * 1991-09-27 1993-04-06 International Business Machines Corporation Method for generating public and private key pairs without using a passphrase
WO1996007256A1 (fr) * 1994-08-30 1996-03-07 Kokusai Denshin Denwa Co., Ltd. Systeme de certification
FR2739994B1 (fr) 1995-10-17 1997-11-14 Henri Gilbert Procede cryptographique de protection contre la fraude
JPH09128507A (ja) * 1995-11-02 1997-05-16 Oki Electric Ind Co Ltd 相互認証方法
KR100473536B1 (ko) * 1996-05-22 2005-05-16 마츠시타 덴끼 산교 가부시키가이샤 기기간통신의안전성을확보하는암호화장치및통신시스템
US6073236A (en) * 1996-06-28 2000-06-06 Sony Corporation Authentication method, communication method, and information processing apparatus
NL1003939C2 (nl) * 1996-09-02 1998-03-04 Nederland Ptt Systeem, alsmede eerste inrichting, alsmede tweede inrichting, alsmede werkwijze.
JPH10222618A (ja) * 1997-01-31 1998-08-21 Toshiba Corp Icカード及びicカード処理システム
JP4268690B2 (ja) * 1997-03-26 2009-05-27 ソニー株式会社 認証システムおよび方法、並びに認証方法
JPH1168732A (ja) * 1997-08-12 1999-03-09 Iryo Joho Syst Kaihatsu Center ネットワークシステムにおける相互認証装置および相互認証方法
EP0940675B1 (fr) * 1998-03-06 2005-10-26 STMicroelectronics S.r.l. Procédé et système d'authentification et de signature électronique
SE512335C2 (sv) * 1998-05-12 2000-02-28 Sectra Communications Ab Mobil och/eller trådlös telefon
TW449991B (en) * 1999-01-12 2001-08-11 Ibm Method and system for securely handling information between two information processing devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4138861A1 (de) * 1991-11-26 1992-10-01 Siemens Nixdorf Inf Syst Verfahren zur gegenseitigen authentifikation eines elektronischen partners mit einem kommunikationssystem
EP0565279A2 (fr) * 1992-04-06 1993-10-13 AT&T Corp. Dispositif de preuve d'authenticité universelle utilisé sur des lignes téléphoniques
EP0621570A1 (fr) * 1993-04-16 1994-10-26 France Telecom Procédé de mise à jour d'une carte à mémoire
WO1997022093A1 (fr) * 1995-12-11 1997-06-19 Landis & Gyr Technology Innovation Ag Procede de controle de l'authenticite d'un moyen de paiement precharge utilise au cours d'une transaction

Also Published As

Publication number Publication date
FR2807245A1 (fr) 2001-10-05
ATE268035T1 (de) 2004-06-15
EP1269431A1 (fr) 2003-01-02
JP2003529988A (ja) 2003-10-07
US7165177B2 (en) 2007-01-16
DE60103523D1 (de) 2004-07-01
EP1269431B1 (fr) 2004-05-26
FR2807245B1 (fr) 2002-05-24
ES2222354T3 (es) 2005-02-01
US20030159039A1 (en) 2003-08-21
JP4659148B2 (ja) 2011-03-30
DE60103523T2 (de) 2005-06-30

Similar Documents

Publication Publication Date Title
EP1441313B1 (fr) Procédé cryptographique à clé publique pour la protection d' une puce électronique contre la fraude
EP0055986B1 (fr) Procédé et dispositif de sécurité pour communication tripartite de données confidentielles
WO2001095274A1 (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
WO2002073876A2 (fr) Authentification cryptographique par modules ephemeres
EP1055203B1 (fr) Protocole de controle d'acces entre une cle et une serrure electronique
EP1791291A1 (fr) Personnalisation d'une carte bancaire pour d'autres applications
EP1266364B1 (fr) Procede cryptographique de protection contre la fraude
EP1791292A1 (fr) Personnalisation d'un circuit électronique
FR3011653A1 (fr) Procedes et dispositifs de masquage et demasquage
FR2699300A1 (fr) Procédé d'authentification d'un ensemble informatique par un autre ensemble informatique.
EP1721246B1 (fr) Procede et dispositif pour accomplir une operation cryptographique
EP1399896B1 (fr) Procede cryptographique pour la protection d'une puce electronique contre la fraude
EP1269431B1 (fr) Procede de protection d'une puce electronique contre la fraude
EP0769768B1 (fr) Procédé cryptographique de protection contre la fraude
FR2566155A1 (fr) Procede et systeme pour chiffrer et dechiffrer des informations transmises entre un dispositif emetteur et un dispositif recepteur
FR2856815A1 (fr) Procede d'authentification de donnees contenues dans un objet a memoire
WO2003069841A1 (fr) Procede de detection des attaques par mise en defaut contre les algorithmes cryptographiques
WO2002019613A1 (fr) Procede de generation de signatures non-repudiables, notamment par un systeme embarque, et systeme embarque pour la mise en oeuvre du procede
WO2008001009A1 (fr) Systeme et procede cryptographique a cle publique pour l'authentification d'une premiere entite par une seconde entite
FR2930065A1 (fr) Procede de securisation de donnees d'une carte a puce
FR2753027A1 (fr) Instrument de securisation d'echanges de donnees

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

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: 2001917175

Country of ref document: EP

ENP Entry into the national phase

Ref country code: JP

Ref document number: 2001 573421

Kind code of ref document: A

Format of ref document f/p: F

WWP Wipo information: published in national office

Ref document number: 2001917175

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10221693

Country of ref document: US

WWG Wipo information: grant in national office

Ref document number: 2001917175

Country of ref document: EP