FR2787221A1 - Secure access processing using IC card by calculating second authentication code and comparing first and second authentication codes and ceasing command execution if codes are different - Google Patents
Secure access processing using IC card by calculating second authentication code and comparing first and second authentication codes and ceasing command execution if codes are different Download PDFInfo
- Publication number
- FR2787221A1 FR2787221A1 FR9816151A FR9816151A FR2787221A1 FR 2787221 A1 FR2787221 A1 FR 2787221A1 FR 9816151 A FR9816151 A FR 9816151A FR 9816151 A FR9816151 A FR 9816151A FR 2787221 A1 FR2787221 A1 FR 2787221A1
- Authority
- FR
- France
- Prior art keywords
- integrated circuit
- command
- authentication
- authentication code
- cryptography
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 title description 4
- 238000000034 method Methods 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000001939 inductive effect Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B5/00—Near-field transmission systems, e.g. inductive or capacitive transmission systems
- H04B5/20—Near-field transmission systems, e.g. inductive or capacitive transmission systems characterised by the transmission technique; characterised by the transmission medium
- H04B5/24—Inductive coupling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
Description
CIRCUIT INTEGRE A ACCES SECURISEINTEGRATED CIRCUIT WITH SECURE ACCESS
La présente invention concerne les circuits intégrés pour cartes à puce, étiquettes électroniques, et The present invention relates to integrated circuits for smart cards, electronic labels, and
autres objets portatifs électroniques. other portable electronic objects.
La présente invention concerne plus particulièrement un procédé pour sécuriser l'accès à un circuit intégré comprenant une mémoire, une interface de communication pour recevoir des commandes numériques, une unité centrale pour interpréter et exécuter des commandes The present invention relates more particularly to a method for securing access to an integrated circuit comprising a memory, a communication interface for receiving digital commands, a central unit for interpreting and executing commands
reçues, et des moyens de cryptographie. received, and means of cryptography.
Dans la demande WO 97/14119, la demanderesse a proposé un procédé d'authentification permettant de protéger l'accès à un circuit intégré de carte à puce. Ce procédé, bien qu'offrant un excellent degré de sécurité, peut s'avérer insuffisant lorsqu'il est appliqué à des circuits intégrés fonctionnant sans contact, pour des In application WO 97/14119, the applicant proposed an authentication method making it possible to protect access to an integrated circuit of smart card. This method, although offering an excellent degree of security, may prove to be insufficient when applied to integrated circuits operating without contact, for
raisons qui seront exposées ci-après. reasons which will be explained below.
A titre de rappel, la figure 1 représente schématiquement l'architecture classique d'un circuit intégré 10 de carte à puce sans contact, comprenant une interface de communication 11 pourvue d'une bobine d'antenne L1, une unité centrale 12, une mémoire 13, un circuit de cryptographie 14 à clé secrète Ks et un générateur 15 de codes aléatoires ALINT. En regard du circuit intégré 10 se trouve un lecteur 20 de carte à puce sans contact, comprenant une interface de communication 21 pourvue d'une bobine d'antenne L2, un microprocesseur 22 et une mémoire programme 23. Lorsque la bobine L1 du circuit intégré se trouve à proximité de la bobine L2 du lecteur, les deux dispositifs peuvent tUT -T1I As a reminder, FIG. 1 schematically represents the conventional architecture of an integrated circuit 10 of a contactless smart card, comprising a communication interface 11 provided with an antenna coil L1, a central unit 12, a memory 13, a cryptographic circuit 14 with secret key Ks and a generator 15 of random codes ALINT. Next to the integrated circuit 10 is a contactless smart card reader 20, comprising a communication interface 21 provided with an antenna coil L2, a microprocessor 22 and a program memory 23. When the coil L1 of the integrated circuit is located near the reader coil L2, both devices can tUT -T1I
2 27872212 2787221
échanger des données par couplage inductif et réaliser une transaction. Au cours d'une transaction, le lecteur envoie des commandes numériques au circuit intégré 10, par exemple des commandes de lecture ou d'écriture de la mémoire 13, et le circuit intégré 10 renvoie des messages de confirmation, accompagnés le cas échéant de données exchange data by inductive coupling and carry out a transaction. During a transaction, the reader sends digital commands to the integrated circuit 10, for example commands to read or write from the memory 13, and the integrated circuit 10 sends confirmation messages, accompanied where appropriate by data
lues dans la mémoire 13.read from memory 13.
Selon la demande WO 97/14119, et très schématiquement, une transaction ne peut se faire tant que le circuit intégré 10 n'a pas vérifié que le lecteur connaît la clé secrète Ks et la fonction de cryptographie FKS réalisée par le circuit 14. A cet effet, le circuit intégré 10 envoie au lecteur 20 un code aléatoire ALINT, fourni par le générateur 15, et le lecteur 20 renvoie au circuit intégré 10 un code d'authentification AC1 du type: According to application WO 97/14119, and very schematically, a transaction cannot be carried out until the integrated circuit 10 has not verified that the reader knows the secret key Ks and the cryptographic function FKS performed by the circuit 14. A To this end, the integrated circuit 10 sends to the reader 20 a random code ALINT, supplied by the generator 15, and the reader 20 returns to the integrated circuit 10 an authentication code AC1 of the type:
AC1 = FKS (ALINT),AC1 = FKS (ALINT),
calculé par transformation du code aléatoire ALINT au calculated by transformation of the random code ALINT at
moyen de la fonction de cryptographie FKS. using the FKS cryptography function.
De son côté, le circuit intégré 10 calcule, au moyen du circuit de cryptographie 14, un code d'authentification AC2: For its part, the integrated circuit 10 calculates, by means of the cryptography circuit 14, an authentication code AC2:
AC2 = FKS (ALINT)AC2 = FKS (ALINT)
et compare le code AC1 au code AC2 qu'il a lui-même calculé. Si les deux codes sont différents, le circuit intégré se bloque ou verrouille sa sortie. Ainsi, le circuit intégré 10 ne répond à des commandes ultérieures qu'à la condition d'avoir préalablement authentifié le and compares the code AC1 with the code AC2 which he calculated himself. If the two codes are different, the integrated circuit blocks or locks its output. Thus, the integrated circuit 10 responds to subsequent commands only on condition of having previously authenticated the
lecteur 20.reader 20.
Malgré cette précaution, le risque demeure qu'un fraudeur substitue au lecteur 20 un dispositif frauduleux NE71 T11Uw Despite this precaution, the risk remains that a fraudster will replace the reader 20 with a fraudulent device NE71 T11Uw
3 27872213,2787221
après que la procédure d'authentification du lecteur 20 est effectuée. Ce risque, bien connu dans le domaine des cartes à contacts conventionnelles, a été supprimé dans l'art antérieur par la prévision de mécanismes à insertion totale de carte, rendant inaccessible la after the authentication procedure of reader 20 is carried out. This risk, well known in the field of conventional contact cards, has been eliminated in the prior art by the provision of mechanisms with total card insertion, making inaccessible the
liaison électrique avec le circuit intégré d'une carte. electrical connection with the integrated circuit of a card.
Cette solution s'avère toutefois inapplicable aux cartes à puces sans contact, fonctionnant sans insertion à une distance de quelques centimètres d'un lecteur. Ainsi, il est techniquement envisageable qu'un fraudeur éloigne progressivement une carte à puce sans contact du champ magnétique émis par un lecteur authentique, tout en la rapprochant du champ magnétique émis par un simulateur équipé d'une bobine d'antenne. Le circuit intégré de la carte, en cours de communication, ne s'apercevrait pas de la substitution et exécuterait les commandes émises par le dispositif frauduleux. De cette manière, il serait possible d'envoyer des commandes frauduleuses à un circuit intégré, notamment des commandes d'écriture dans la mémoire de données falsifiées. Par exemple, un fraudeur pourrait recharger un compteur d'unité However, this solution does not apply to contactless smart cards, which work without insertion at a distance of a few centimeters from a reader. Thus, it is technically possible for a fraudster to gradually move a contactless smart card away from the magnetic field emitted by an authentic reader, while bringing it closer to the magnetic field emitted by a simulator equipped with an antenna coil. The integrated circuit of the card, during communication, would not notice the substitution and would execute the commands issued by the fraudulent device. In this way, it would be possible to send fraudulent commands to an integrated circuit, in particular commands to write to the memory of falsified data. For example, a fraudster could reload a unit counter
représentant une valeur monétaire. representing a monetary value.
D'autre part, certains circuits intégrés à faible coût de revient et de conception simple ne sont pas équipés d'un générateur de code aléatoire. La procédure d'authentification du lecteur 20 n'est donc pas On the other hand, some low cost integrated circuits of simple design are not equipped with a random code generator. The authentication procedure for reader 20 is therefore not
réalisable et ces circuits demeurent sans protection. feasible and these circuits remain unprotected.
La présente invention vise à pallier ces inconvénients. Plus particulièrement, un objectif de la présente invention est que des commandes adressées à un circuit intégré ne soient exécutées qu'à la condition d'être The present invention aims to overcome these drawbacks. More particularly, an objective of the present invention is that commands addressed to an integrated circuit be executed only on the condition of being
émises par un dispositif habilité. issued by an authorized device.
Cet objectif est atteint par la prévision d'un procédé pour sécuriser l'accès à un circuit intégré aun This objective is achieved by providing a method for securing access to an integrated circuit
4 27872214,2787221
comprenant une mémoire, une interface de communication pour recevoir des commandes numériques, une unité centrale pour exécuter des commandes reçues, et des moyens de cryptographie, dans lequel au moins une commande d'un certain type est envoyée au circuit intégré accompagnée d'un premier code d'authentification calculé par codage de tout ou partie de la commande au moyen d'une fonction de cryptographie, et en ce que le circuit intégré est agencé pour, sur réception d'une telle commande: calculer un second code d'authentification par codage de tout ou partie de la commande, grâce aux moyens de cryptographie; comparer le premier et le second codes d'authentification, et ne pas exécuter la commande si le comprising a memory, a communication interface for receiving digital commands, a central unit for executing received commands, and cryptography means, in which at least one command of a certain type is sent to the integrated circuit accompanied by a first authentication code calculated by coding all or part of the command by means of a cryptography function, and in that the integrated circuit is arranged for, on receipt of such a command: calculating a second authentication code by coding of all or part of the order, by means of cryptography; compare the first and second authentication codes, and do not execute the command if the
premier et le second codes sont différents. first and second codes are different.
Selon un mode de réalisation, la commande comprend According to one embodiment, the command comprises
un mot binaire aléatoire.a random binary word.
Selon un mode de réalisation, la commande est une According to one embodiment, the command is a
commande d'écriture dans la mémoire du circuit intégré. write command in the memory of the integrated circuit.
Selon un mode de réalisation, toute commande envoyée au circuit intégré est accompagnée d'un code d'authentification dont l'authenticité est vérifiée par According to one embodiment, any command sent to the integrated circuit is accompanied by an authentication code, the authenticity of which is verified by
le circuit intégré.the integrated circuit.
La présente invention concerne également un circuit intégré comprenant une mémoire, une interface de communication pour recevoir des commandes numériques, une unité centrale pour interpréter et exécuter des commandes reçues, des moyens de cryptographie agencés pour calculer un code d'authentification à partir de tout ou partie d'une commande reçue, des moyens pour comparer le code d'authentification avec une signature accompagnant la commande, et ne pas exécuter la commande si la signature The present invention also relates to an integrated circuit comprising a memory, a communication interface for receiving digital commands, a central unit for interpreting and executing received commands, cryptography means arranged to calculate an authentication code from all or part of an order received, means for comparing the authentication code with a signature accompanying the order, and not executing the order if the signature
n'est pas identique au code d'authentification. is not the same as the authentication code.
Selon un mode de réalisation, les moyens de cryptographie comprennent un circuit de cryptographie à According to one embodiment, the cryptography means comprise a cryptography circuit with
logique câblée à entrée et sortie série. wired logic with serial input and output.
27872212787221
Selon un mode de réalisation, le circuit intégré comprend une interface de communication sans contact et des moyens pour convertir une commande reçue sous forme According to one embodiment, the integrated circuit comprises a contactless communication interface and means for converting a command received in the form
série en un ou plusieurs mots binaires. series in one or more binary words.
Selon un mode de réalisation, le circuit intégré est agencé pour envoyer un message d'erreur lorsque la signature accompagnant une commande n'est pas conforme au code d'authentification calculé par les moyens de cryptographie. I0 La présente invention concerne également un objet portatif électronique, notamment une carte à puce, According to one embodiment, the integrated circuit is arranged to send an error message when the signature accompanying an order does not conform to the authentication code calculated by the cryptography means. The present invention also relates to an electronic portable object, in particular a smart card,
comprenant un circuit intégré selon l'invention. comprising an integrated circuit according to the invention.
Ces caractéristiques de la présente invention, ainsi que d'autres, seront exposées plus en détail dans These and other features of the present invention will be discussed in more detail in
la description suivante du procédé de l'invention et d'un the following description of the process of the invention and of a
exemple de réalisation d'un circuit intégré mettant en oeuvre ce procédé, en relation avec les figures jointes parmi lesquelles: - la figure 1 précédemment décrite représente schématiquement l'architecture d'un circuit intégré de carte à puce sans contact et d'un lecteur de carte sans contact, - la figure 2 représente sous forme de blocs le schéma électrique d'un circuit intégré sans contact selon l'invention, et - la figure 3 est le schéma logique d'un exemplary embodiment of an integrated circuit implementing this method, in relation to the appended figures in which: FIG. 1 previously described schematically represents the architecture of an integrated circuit of contactless smart card and of a reader of contactless card, - Figure 2 shows in the form of blocks the electrical diagram of a contactless integrated circuit according to the invention, and - Figure 3 is the logic diagram of a
comparateur représenté sous forme de bloc en figure 2. comparator shown as a block in Figure 2.
La figure 2 représente le schéma électrique d'un circuit intégré 30 selon l'invention, destiné par exemple à être agencé dans une carte plastique pour former une carte à puce. Le circuit intégré comprend de façon classique une interface de communication sans contact 31 pourvue d'une bobine d'antenne Ll, un tampon d'entrée 32, un tampon de sortie 33, un bus interne 34, ici de huit MW TïI Iun FIG. 2 represents the electrical diagram of an integrated circuit 30 according to the invention, intended for example to be arranged in a plastic card to form a smart card. The integrated circuit conventionally comprises a contactless communication interface 31 provided with an antenna coil Ll, an input buffer 32, an output buffer 33, an internal bus 34, here eight MW TïI Iun
6 27872216 2787221
bits, ainsi qu'une unité centrale 35 et une mémoire 36 bits, as well as a central unit 35 and a memory 36
connectées au bus 34.connected to bus 34.
L'interface 31 est prévue pour recevoir ou émettre des données binaires par couplage inductif, en présence d'un champ magnétique alternatif émis par la bobine d'antenne L2 d'un terminal 40 comportant une interface de communication sans contact 41. La réception de données est assurée par démodulation d'une tension induite Vac, The interface 31 is provided for receiving or transmitting binary data by inductive coupling, in the presence of an alternating magnetic field emitted by the antenna coil L2 of a terminal 40 comprising a contactless communication interface 41. The reception of data is provided by demodulation of an induced voltage Vac,
de fréquence Fo, apparaissant aux bornes de la bobine L1. of frequency Fo, appearing at the terminals of the coil L1.
L'émission de données est faite par modulation de la charge de la bobine Ll. Pour fixer les idées, on trouvera dans les demandes WO 98/02840 et WO 98/02980 une The data transmission is made by modulating the load of the coil L1. To fix the ideas, one will find in the applications WO 98/02840 and WO 98/02980 a
description détaillée du fonctionnement d'une telle detailed description of the operation of such
interface 31. L'interface 31 comporte par ailleurs des diviseurs de fréquence (non représentés) pour délivrer un interface 31. The interface 31 also includes frequency dividers (not shown) for delivering a
signal d'horloge H dont la fréquence FH est un sous- clock signal H whose frequency FH is a sub-
multiple de la fréquence Fo, ainsi qu'un signal d'horloge binaire Hb dont la fréquence Fb est un sous-multiple de multiple of the frequency Fo, as well as a binary clock signal Hb whose frequency Fb is a sub-multiple of
la fréquence FH.the frequency FH.
Le tampon 32 est un registre à décalage comportant une entrée série connectée à l'interface 31 par l'intermédiaire d'un interrupteur SWl, et une sortie parallèle connectée au bus 34. Le tampon 33 est un registre à décalage comportant une entrée parallèle connectée au bus 34 et une sortie série connectée à The buffer 32 is a shift register comprising a serial input connected to the interface 31 via a switch SW1, and a parallel output connected to the bus 34. The buffer 33 is a shift register comprising a connected parallel input to bus 34 and a serial output connected to
l'interface 31 par l'intermédiaire d'un interrupteur SW2. the interface 31 by means of a switch SW2.
L'unité centrale 35, ici un séquenceur à logique câblée d'un type connu en soi, est agencée pour décoder et exécuter des commandes de haut niveau envoyées par le terminal 40. Ces données sont reçues sous forme série par l'interface 31 et sont injectées dans le tampon d'entrée 32. Le contenu du tampon 32 est déchargé en parallèle sur le bus 34 tous les huit bits reçus, sous la forme de mots binaires BWini formant des commandes CMD exécutées par l'unité centrale 35. D'autre part, les réponses de Ad r The central unit 35, here a wired logic sequencer of a type known per se, is arranged to decode and execute high-level commands sent by the terminal 40. These data are received in serial form by the interface 31 and are injected into the input buffer 32. The content of the buffer 32 is downloaded in parallel to the bus 34 every eight bits received, in the form of binary BWini words forming CMD commands executed by the central processing unit 35. D ' on the other hand, the responses of Ad r
7 27872217 2787221
l'unité centrale 35 sont délivrées sous forme de mots binaire BWouti transformés en données série par le tampon de sortie 33, puis envoyés au terminal 40 par l'interface 31. Toujours de façon classique, le circuit intégré 30 comprend un circuit de cryptographie 37 à logique câblée, par exemple le circuit décrit dans la demande WO 97/14120, pourvu d'une mémoire secrète dans laquelle est enregistrée une clé secrète Ks. Le circuit 37 comporte une entrée série IN connectée à l'interface 31 par un interrupteur SW3, une sortie série OUT connectée à l'interface 31 par un interrupteur SW4, et est commandé par des signaux RD et WR. Lorsqu'un code CE est appliqué sur l'entrée IN et que le signal RD est à 1, les bits du code CE sont absorbés par le circuit 37 au rythme de l'horloge binaire Hb. Lorsque le signal WR est à 1, la sortie OUT délivre un code d'authentification AC synchronisé à l'horloge binaire Hb, du type AC = FKs(CE) Selon le procédé de l'invention, une commande CMD envoyée au circuit intégré 30 est accompagnée d'un code d'authentification ACs, calculé par codage de la commande CMD au moyen d'une fonction de cryptographie présumée the central unit 35 are delivered in the form of binary BWouti words transformed into serial data by the output buffer 33, then sent to the terminal 40 by the interface 31. Still conventionally, the integrated circuit 30 comprises a cryptography circuit 37 with wired logic, for example the circuit described in application WO 97/14120, provided with a secret memory in which a secret key Ks is recorded. The circuit 37 includes a serial input IN connected to the interface 31 by a switch SW3 , a serial output OUT connected to the interface 31 by a switch SW4, and is controlled by signals RD and WR. When a CE code is applied to the input IN and the signal RD is at 1, the bits of the CE code are absorbed by the circuit 37 at the rate of the binary clock Hb. When the signal WR is at 1, the output OUT delivers an authentication code AC synchronized with the binary clock Hb, of the type AC = FKs (CE) According to the method of the invention, a command CMD sent to the integrated circuit 30 is accompanied by an authentication code ACs, calculated by coding the CMD command by means of an alleged cryptography function
identique à la fonction FKS réalisée par le circuit 37. identical to the FKS function performed by circuit 37.
Une commande selon l'invention se présente ainsi sous le format suivant: CMD ACs et comprend un champ de commande formé par la commande CMD proprement dite, et un champ de signature comprenant le code d'authentification ACs. A la réception de la commande CMD, l'unité centrale 35 vérifie le code ACs en nffI 1i O A command according to the invention is thus presented in the following format: CMD ACs and comprises a command field formed by the CMD command itself, and a signature field comprising the authentication code ACs. On receipt of the CMD command, the central unit 35 checks the code ACs in nffI 1i O
8 27872218 2787221
injectant les bits de la commande CMD à l'entrée du circuit de cryptographie 37. Le circuit 37 délivre un code AC qui est comparé au code ACs. Si les deux codes ne sont pas identiques, la commande est considérée comme n'étant pas émise par un dispositif habilité et n'est pas injecting the CMD command bits at the input of the cryptography circuit 37. The circuit 37 delivers an AC code which is compared to the ACs code. If the two codes are not identical, the command is considered not to have been issued by an authorized device and is not
exécutée par l'unité centrale 35. executed by the central unit 35.
Plus particulièrement, selon le mode de réalisation représenté sur la figure 2, la sortie du circuit 37 est connectée, par l'intermédiaire d'un interrupteur SW5, à une entrée IN1 d'un comparateur logique 38 dont l'autre entrée IN2 est connectée à l'interface 31 par l'intermédiaire d'un interrupteur SW6. Le comparateur 38 est piloté par des signaux SET, COMP délivrés par l'unité centrale 35, et délivre sur sa sortie OUT un signal VAL More particularly, according to the embodiment shown in Figure 2, the output of circuit 37 is connected, via a switch SW5, to an input IN1 of a logic comparator 38 whose other input IN2 is connected at the interface 31 via a switch SW6. The comparator 38 is controlled by signals SET, COMP delivered by the central unit 35, and delivers on its output OUT a signal VAL
envoyé à l'unité centrale 35.sent to central unit 35.
La figure 3 représente schématiquement un mode de réalisation du comparateur 38. Les entrées IN1, IN2 sont appliquées à une porte OU EXCLUSIF 50. La sortie de la porte 50 est appliquée sur une première entrée d'une porte NON ET 60 dont l'autre entrée reçoit le signal COMP. La sortie de la porte 60 est appliquée sur une première entrée d'une porte NON ET 61. Le signal SET est appliqué sur une entrée d'une porte NON ET 62. Les portes 61, 62 ont leurs sorties réciproquement ramenées sur FIG. 3 schematically represents an embodiment of the comparator 38. The inputs IN1, IN2 are applied to an EXCLUSIVE OR gate 50. The output of the gate 50 is applied to a first input of a NAND gate 60, the other input receives COMP signal. The output of gate 60 is applied to a first input of a NAND gate 61. The signal SET is applied to an input of a NAND gate 62. The gates 61, 62 have their outputs reciprocally brought back to
leurs deuxièmes entrées et forment une bascule à mémoire. their second entries and form a memory seesaw.
La sortie de la porte 62 forme la sortie OUT du comparateur. Avant la comparaison de deux codes, le signal SET est mis à 0 un court instant et la sortie OUT passe à 1. Pendant la comparaison de deux codes, le The output of gate 62 forms the output OUT of the comparator. Before comparing two codes, the SET signal is set to 0 for a short time and the output OUT goes to 1. During the comparison of two codes, the
signal COMP est maintenu à 1.COMP signal is kept at 1.
Comme cela apparaît sur la figure 2, le procédé de l'invention est ici sous le contrôle de l'unité centrale qui délivre des signaux Sl à S6 de commande des interrupteurs SW1 à SW6. Lorsque la partie significative d'une commande, c'est-à-dire le champ CMD, est reçue par t'uE 1 As it appears in FIG. 2, the method of the invention is here under the control of the central unit which delivers signals S1 to S6 for controlling the switches SW1 to SW6. When the significant part of an order, i.e. the CMD field, is received by t'uE 1
9 27872219 2787221
l'interface 31, les interrupteurs SW1 et SW3 sont fermés et le signal RD est mis à 1. Le champ CMD est envoyé de façon classique dans le tampon 32 et est délivré à the interface 31, the switches SW1 and SW3 are closed and the signal RD is set to 1. The CMD field is conventionally sent to buffer 32 and is delivered to
l'unité centrale 35 sous forme de mots binaires BWini. the central processing unit 35 in the form of binary BWini words.
Simultanément, le champ CMD est injecté dans le circuit 37. Lorsque tous les bits du champ CMD sont reçus, l'unité centrale 35 ouvre les interrupteurs SW1, SW3, Simultaneously, the CMD field is injected into the circuit 37. When all the bits of the CMD field are received, the central unit 35 opens the switches SW1, SW3,
ferme les interrupteurs SW5, SW6 et met le signal WR à 1. closes switches SW5, SW6 and sets signal WR to 1.
Le circuit 37 délivre un code d'authentification AC fonction du champ CMD: The circuit 37 delivers an authentication code AC as a function of the CMD field:
AC = FKS(CMD),AC = FKS (CMD),
qui est appliqué bit à bit sur l'entrée IN1 du comparateur 38. Simultanément, l'entrée IN2 du comparateur reçoit les bits du code ACs formant le champ de signature de la commande. Les bits du code ACs et les bits du code AC sont comparés les uns après les autres, au rythme de l'horloge Hb. Si un bit du code AC est différent d'un bit de même rang du code ACs, la sortie OUT du comparateur passe à 0 et l'unité centrale 35 which is applied bit by bit to the input IN1 of the comparator 38. Simultaneously, the input IN2 of the comparator receives the bits of the code ACs forming the signature field of the command. The bits of the ACs code and the bits of the AC code are compared one after the other, at the rate of the clock Hb. If a bit of the AC code is different from a bit of the same rank of the ACs code, the OUT output of the comparator goes to 0 and the central unit 35
n'exécute pas la commande.does not execute the command.
Ainsi, la signature ACs selon l'invention permet de vérifier en temps réel l'authenticité du dispositif envoyant les commandes. Au cours d'une transaction, le remplacement du terminal 40 par un dispositif frauduleux ne connaissant pas la fonction FKs conduira immanquablement à une erreur de signature ACs, et les Thus, the signature ACs according to the invention makes it possible to verify in real time the authenticity of the device sending the commands. During a transaction, the replacement of the terminal 40 by a fraudulent device not knowing the FKs function will inevitably lead to a signature error ACs, and the
commandes reçues ne seront pas exécutées. orders received will not be executed.
Comme autre avantage, la signature ACs selon l'invention permet de détecter les erreurs de transmission et remplace les signatures classiques du type CRC (Cyclic Redundant Check). Ainsi, de préférence, l'unité centrale 35 est programmée pour envoyer un message d'erreur lorsque la signature ACs est erronée. Il niV -TuU As another advantage, the signature ACs according to the invention makes it possible to detect transmission errors and replaces the conventional signatures of the CRC (Cyclic Redundant Check) type. Thus, preferably, the central unit 35 is programmed to send an error message when the signature ACs is incorrect. He niV -You
27872212787221
n'est pas nécessaire que l'unité centrale puisse faire la distinction entre les erreurs de signature dues à une erreur de transmission et les erreurs de signature dues à it is not necessary for the central unit to be able to distinguish between signature errors due to a transmission error and signature errors due to
une tentative de fraude.an attempted fraud.
Pour fixer les idées, on décrira succinctement des exemples de commandes utilisées par la demanderesse pour la mise en ouvre de l'invention. Le format général de ces commandes est le suivant: | CODEop I ADD I DT | AC, I AC2 1 Une commande est ainsi divisée en champs de huit bits se retrouvant dans le circuit intégré sous forme de mots binaires BWini. Le champ CODEop contient le code de l'opération à exécuter et une indication codée sur le nombre d'octets présents dans la commande. Le deuxième champ, optionnel, contient une adresse ADD de lecture ou d'écriture dans la mémoire 36. Le troisième champ, optionnel, contient des données DT à écrire dans la mémoire 36. Les deux derniers champs contiennent deux octets de signature AC1, AC2 formant ensemble le code d'authentification ACs selon l'invention Ce format général permet de prévoir divers types de commandes, notamment: Commande READ (lecture de la mémoire) CODEREAD ADD | AC,1 | AC2 l Cette commande comprend le code de l'opération CODEREAD, une adresse de lecture ADD, et deux octets de signature To fix the ideas, we will briefly describe examples of commands used by the applicant for the implementation of the invention. The general format of these commands is as follows: | CODEop I ADD I DT | AC, I AC2 1 A command is thus divided into eight-bit fields found in the integrated circuit in the form of BWini binary words. The CODEop field contains the code of the operation to be executed and a coded indication of the number of bytes present in the command. The second field, optional, contains an ADD address for reading or writing to memory 36. The third field, optional, contains data DT to be written to memory 36. The last two fields contain two signature bytes AC1, AC2 together forming the authentication code ACs according to the invention This general format makes it possible to provide various types of commands, in particular: READ command (reading from memory) CODEREAD ADD | AC, 1 | AC2 l This command includes the CODEREAD operation code, an ADD read address, and two signature bytes
AC1, AC2.AC1, AC2.
Commande WRITE (écriture dans la mémoire): t l WRITE command (write to memory): t l
WRITE:WRITE:
CODEWRTE ADD W| W2 W W4 W AC1 AC2CODEWRTE ADD W | W2 W W4 W AC1 AC2
Cette commande comprend le code de l'opération CODEwRITE, une adresse d'écriture ADD, une donnée binaire à écrire dans la mémoire, comprenant ici plusieurs octets W1 à W4, This command includes the code of the CODEwRITE operation, a write address ADD, a binary data item to be written in the memory, comprising here several bytes W1 to W4,
et deux octets de signature AC1, AC2. and two signature bytes AC1, AC2.
Commande AUTHENTICATE (demande d'authentification) AUTHENTICATE command (authentication request)
AUTHENTICATEAUTHENTICATE
CODEAUTH I ALEA1 ALEA2 ALEA3 ALEA4CODEAUTH I ALEA1 ALEA2 ALEA3 ALEA4
Cette commande d'authentification du circuit intégré 30, en soi classique, comprend le code de l'opération CODEAUTH et une donnée aléatoire comprenant quatre octets ALEA, à ALEA4. En réponse à cette commande, l'unité centrale 35 applique les octets ALEAi à l'entrée du circuit 37, et This authentication command of the integrated circuit 30, in itself conventional, comprises the code of the operation CODEAUTH and a random datum comprising four bytes ALEA, at ALEA4. In response to this command, the central processing unit 35 applies the ALEAi bytes to the input of the circuit 37, and
renvoie au terminal 40 le code d'authentification obtenu. returns the authentication code obtained to terminal 40.
Commande INIT (initialisation d'une communication) INIT CODEiNIT En réponse à cette commande, si le circuit intégré 30 est équipé d'un générateur 39 de mots aléatoires ALINT comme représenté sur la figure 2, l'unité centrale 35 renvoie un message du type: INIT command (initialization of a communication) INIT CODEiNIT In response to this command, if the integrated circuit 30 is equipped with a generator 39 of random words ALINT as shown in FIG. 2, the central unit 35 returns a message of the type :
INF ALINT1 ALINT2INF ALINT1 ALINT2
1lm1lm
12 278722112 2787221
comprenant un champ d'information INF et un mot aléatoire ALINT de 16 bits. L'unité centrale 35 envoie également le mot aléatoire ALINT à l'entrée du circuit 37, attend que le terminal 40 renvoie un code d'authentification fonction du mot aléatoire ALINT, et compare le code d'authentification reçu et le code calculé par le circuit 37. On retrouve donc, ici, le procédé d'authentification comprising an information field INF and a random word ALINT of 16 bits. The central unit 35 also sends the random word ALINT to the input of the circuit 37, waits for the terminal 40 to return an authentication code based on the random word ALINT, and compares the authentication code received and the code calculated by the circuit 37. So here we find the authentication process
décrit dans la demande WO 97/14119, citée au préambule. described in application WO 97/14119, cited in the preamble.
Ainsi, la présente invention peut être combinée avec les procédés classiques d'authentification du Thus, the present invention can be combined with the conventional authentication methods of the
circuit intégré 30 ou d'authentification du terminal 40. integrated circuit 30 or terminal 40 authentication.
Les circuits intégrés pour cartes à puce étant généralement équipés d'un circuit de cryptographie, la mise en oeuvre de l'invention nécessite peu de moyens matériels et une modification de l'unité centrale 35 à la Since integrated circuits for smart cards are generally equipped with a cryptography circuit, the implementation of the invention requires few hardware means and a modification of the central unit 35 to the
portée de l'homme de l'art.scope of the skilled person.
Selon une variante de réalisation du procédé de l'invention, le terminal 40 insère dans le champ de commande CMD une donnée aléatoire ALEA, par exemple un octet. Une commande selon l'invention se présente alors, par exemple, sous le format suivant: According to an alternative embodiment of the method of the invention, the terminal 40 inserts into the command field CMD a random datum ALEA, for example a byte. An order according to the invention is then presented, for example, in the following format:
CODEO ADD DT ALEA AC1 AC2CODEO ADD DT ALEA AC1 AC2
Dans ce cas, et avantageusement, deux commandes ayant des champs CODEop, ADD et DT rigoureusement identiques ne In this case, and advantageously, two commands having strictly identical CODEop, ADD and DT fields do not
comportent pas le même code d'authentification AC1, AC2. do not have the same authentication code AC1, AC2.
Il apparaîtra clairement à l'homme de l'art que la présente invention est susceptible de nombreuses autres variantes et modes de réalisation. D'une part, au lieu d'être appliquée à toutes les commandes, l'invention peut être utilisée pour l'authentification de certaines commandes nécessitant un haut degré de sécurité, notamment des commandes d'écriture dans la mémoire. Dans ce cas, l'unité centrale 35 analyse le code opération des f-T YlVU It will be clear to those skilled in the art that the present invention is susceptible of numerous other variants and embodiments. On the one hand, instead of being applied to all commands, the invention can be used for the authentication of certain commands requiring a high degree of security, in particular commands for writing to memory. In this case, the central unit 35 analyzes the operation code of the f-T YlVU
13 278722113 2787221
commandes reçues avant de mettre en oeuvre le procédé de l'invention. D'autre part, le code d'authentification AC peut être élaboré en utilisant une partie seulement des bits du champ de commande CMD comme code d'entrée de la fonction de cryptographie FKs. Par ailleurs, certaines caractéristiques du circuit intégré décrit plus haut, comme la transformation série/parallèle des données binaires reçues par l'interface de communication, ne sont pas impératives à la mise en ouvre de l'invention. De façon générale, la présente invention s'applique à diverses architectures de circuits intégrés connues de l'homme de l'art, à bus parallèle ou à bus série, à logique câblée ou à microprocesseur. Ainsi, la fonction de cryptographie FKS peut être réalisée par un circuit à logique câblée, comme décrit plus haut, ou par un programme chargé dans la commands received before implementing the method of the invention. On the other hand, the authentication code AC can be elaborated by using only part of the bits of the control field CMD as input code of the cryptography function FKs. Furthermore, certain characteristics of the integrated circuit described above, such as the serial / parallel transformation of the binary data received by the communication interface, are not imperative to the implementation of the invention. In general, the present invention applies to various architectures of integrated circuits known to those skilled in the art, with parallel bus or with serial bus, with wired logic or with microprocessor. Thus, the FKS cryptography function can be performed by a wired logic circuit, as described above, or by a program loaded in the
mémoire d'un microprocesseur.memory of a microprocessor.
Enfin, bien que l'objectif mentionné au préambule soit d'améliorer la sécurité offerte par les circuits intégrés sans contact, il est bien évident que l'invention est applicable aux circuits intégrés à contacts. L'invention peut notamment être appliquée aux circuits intégrés à deux modes de fonctionnement, avec ou sans contact, décrits dans les demandes WO 98/06057 et Finally, although the objective mentioned in the preamble is to improve the security offered by contactless integrated circuits, it is obvious that the invention is applicable to integrated circuits with contacts. The invention can in particular be applied to integrated circuits with two operating modes, with or without contact, described in applications WO 98/06057 and
FR 9715836.FR 9715836.
14 278722114 2787221
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9816151A FR2787221B1 (en) | 1998-12-09 | 1998-12-09 | INTEGRATED CIRCUIT WITH SECURE ACCESS |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9816151A FR2787221B1 (en) | 1998-12-09 | 1998-12-09 | INTEGRATED CIRCUIT WITH SECURE ACCESS |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2787221A1 true FR2787221A1 (en) | 2000-06-16 |
FR2787221B1 FR2787221B1 (en) | 2003-12-05 |
Family
ID=9534253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9816151A Expired - Lifetime FR2787221B1 (en) | 1998-12-09 | 1998-12-09 | INTEGRATED CIRCUIT WITH SECURE ACCESS |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2787221B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008122869A2 (en) * | 2007-04-04 | 2008-10-16 | Jacek Kowalski | Nfc module, particularly for mobile telephone |
FR2917923A1 (en) * | 2007-06-20 | 2008-12-26 | Spartime Innovations Sarl | Electromagnetic signal transmitting system for controlling access to e.g. building, has transducers placed between elements, where system induces current when one transducer is placed in field to generate electromagnetic field |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2666671A1 (en) * | 1990-09-12 | 1992-03-13 | Gemplus Card Int | METHOD FOR MANAGING AN APPLICATION PROGRAM LOADED IN A MICROCIRCUIT MEDIUM. |
EP0675614A1 (en) * | 1994-03-30 | 1995-10-04 | Philips Cartes Et Systemes | Apparatus for the implementation of a system for the secure exchange of data according to the RSA method limited to digital signatures and message verification |
FR2739737A1 (en) * | 1995-10-09 | 1997-04-11 | Inside Technologies | MEMORY CARD IMPROVEMENTS |
WO1997014120A1 (en) | 1995-10-09 | 1997-04-17 | Inside Technologies | Improvements to smart cards |
EP0795844A1 (en) * | 1996-03-11 | 1997-09-17 | Koninklijke KPN N.V. | Method of securely modifying data on a smart card |
EP0798673A1 (en) * | 1996-03-29 | 1997-10-01 | Koninklijke KPN N.V. | Method of securely loading commands in a smart card |
WO1998002840A1 (en) | 1996-07-12 | 1998-01-22 | Inside Technologies S.A. | Demodulator of a signal received in a coil by electromagnetic induction |
WO1998002980A1 (en) | 1996-07-12 | 1998-01-22 | Inside Technologies | Device for transmitting and receiving digital data by electromagnetic induction and inductive coupling |
WO1998006057A1 (en) | 1996-08-05 | 1998-02-12 | Inside Technologies | Microcircuit with contact and non-contact operating modes |
EP0836780A1 (en) * | 1995-07-06 | 1998-04-22 | Novell, Inc. | Network addressing arrangement for backward compatible routing of an expanded address space |
-
1998
- 1998-12-09 FR FR9816151A patent/FR2787221B1/en not_active Expired - Lifetime
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2666671A1 (en) * | 1990-09-12 | 1992-03-13 | Gemplus Card Int | METHOD FOR MANAGING AN APPLICATION PROGRAM LOADED IN A MICROCIRCUIT MEDIUM. |
EP0675614A1 (en) * | 1994-03-30 | 1995-10-04 | Philips Cartes Et Systemes | Apparatus for the implementation of a system for the secure exchange of data according to the RSA method limited to digital signatures and message verification |
EP0836780A1 (en) * | 1995-07-06 | 1998-04-22 | Novell, Inc. | Network addressing arrangement for backward compatible routing of an expanded address space |
FR2739737A1 (en) * | 1995-10-09 | 1997-04-11 | Inside Technologies | MEMORY CARD IMPROVEMENTS |
WO1997014120A1 (en) | 1995-10-09 | 1997-04-17 | Inside Technologies | Improvements to smart cards |
WO1997014119A1 (en) | 1995-10-09 | 1997-04-17 | Inside Technologies | Authentication method for a wired-logic microcircuit |
EP0795844A1 (en) * | 1996-03-11 | 1997-09-17 | Koninklijke KPN N.V. | Method of securely modifying data on a smart card |
EP0798673A1 (en) * | 1996-03-29 | 1997-10-01 | Koninklijke KPN N.V. | Method of securely loading commands in a smart card |
WO1998002840A1 (en) | 1996-07-12 | 1998-01-22 | Inside Technologies S.A. | Demodulator of a signal received in a coil by electromagnetic induction |
WO1998002980A1 (en) | 1996-07-12 | 1998-01-22 | Inside Technologies | Device for transmitting and receiving digital data by electromagnetic induction and inductive coupling |
WO1998006057A1 (en) | 1996-08-05 | 1998-02-12 | Inside Technologies | Microcircuit with contact and non-contact operating modes |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008122869A2 (en) * | 2007-04-04 | 2008-10-16 | Jacek Kowalski | Nfc module, particularly for mobile telephone |
WO2008122869A3 (en) * | 2007-04-04 | 2009-01-29 | Jacek Kowalski | Nfc module, particularly for mobile telephone |
FR2917923A1 (en) * | 2007-06-20 | 2008-12-26 | Spartime Innovations Sarl | Electromagnetic signal transmitting system for controlling access to e.g. building, has transducers placed between elements, where system induces current when one transducer is placed in field to generate electromagnetic field |
Also Published As
Publication number | Publication date |
---|---|
FR2787221B1 (en) | 2003-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2678101C (en) | Authentication device and method | |
EP0414314B1 (en) | Single-number generation method for micro-chip card and use of same for the cooperation of the card with a host-system | |
AU2004267784B2 (en) | Generating a dynamic verification value | |
EP1791292B1 (en) | Personalisation of an electronic circuit | |
US20020043566A1 (en) | Transaction card and method for reducing frauds | |
EP1234284A1 (en) | Method for making secure the pre-initialising phase of a silicon chip integrated system, in particular a smart card and integrated system therefor | |
FR2549989A1 (en) | AUTHENTICATION SYSTEM BETWEEN A CARD READER AND A PAYMENT CARD EXCHANGING INFORMATION | |
EP0643513A2 (en) | Method for verifying signatures in a communication system | |
FR2893797A1 (en) | CUSTOMIZING A BANK CARD FOR OTHER APPLICATIONS | |
WO1982002446A1 (en) | Security method and device for three-party communication of confidential data | |
US6003764A (en) | Method of securely storing and retrieving monetary data | |
FR2641885A1 (en) | DATA VERIFICATION SYSTEM FOR A PAYMENT CARD | |
FR2680892A1 (en) | METHOD FOR AUTHENTICATING DATA. | |
EP0855072B1 (en) | Authentication method for a wired-logic microcircuit | |
FR2697929A1 (en) | Security protocol for information exchange with portable object - using exchange and updating of signatures, achieved through algorithm, certificate and random number | |
FR2787221A1 (en) | Secure access processing using IC card by calculating second authentication code and comparing first and second authentication codes and ceasing command execution if codes are different | |
EP0927974B1 (en) | Process for compressing digital certificates for use in smart card | |
EP1634220B1 (en) | Biometric identification method and device used for verification purposes on chip cards | |
Ratha et al. | Smartcard based authentication | |
EP1470663B1 (en) | Method for generating and verifying electronic signatures | |
EP0568438A1 (en) | Method for securing of executable programs against utilisation by an unauthorized person and security system for its application | |
FR2566155A1 (en) | METHOD AND SYSTEM FOR ENCRYPTING AND DESCRIBING INFORMATION TRANSMITTED BETWEEN A TRANSCEIVER DEVICE AND A RECEIVER DEVICE | |
FR2710769A1 (en) | System for processing the data from a microcircuit card, card and reader for this system and method of implementation | |
FR2780797A1 (en) | Method of user authentication for banking, payment or access control | |
EP1269431A1 (en) | Method for protecting an electronic chip against fraud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
CA | Change of address | ||
CD | Change of name or company name | ||
GC | Lien (pledge) constituted | ||
AU | Other action affecting the ownership or exploitation of an industrial property right | ||
GC | Lien (pledge) constituted | ||
RG | Lien (pledge) cancelled | ||
CA | Change of address |
Effective date: 20140129 |
|
CD | Change of name or company name |
Owner name: INSIDE SECURE, FR Effective date: 20140129 |
|
PLFP | Fee payment |
Year of fee payment: 18 |
|
PLFP | Fee payment |
Year of fee payment: 19 |
|
CD | Change of name or company name |
Owner name: WISEKEY SEMICONDUCTORS, FR Effective date: 20170727 |
|
TP | Transmission of property |
Owner name: WISEKEY SEMICONDUCTORS, FR Effective date: 20170727 |
|
GC | Lien (pledge) constituted |
Effective date: 20170926 |
|
PLFP | Fee payment |
Year of fee payment: 20 |
|
TP | Transmission of property |
Owner name: EXWORKS CAPITAL FUND I, L.P., US Effective date: 20171120 |