Source: https://patents.google.com/patent/EP0626664B1/en
Timestamp: 2019-12-13 02:33:23+00:00
Document Index: 331115493

Matched Legal Cases: ['arte 3', 'arte 3', 'art 23', 'art 23', 'art 25', 'art 27', 'art 26']

EP0626664B1 - Communication system using IC cards - Google Patents
Communication system using IC cards Download PDF
EP0626664B1
EP0626664B1 EP19940400900 EP94400900A EP0626664B1 EP 0626664 B1 EP0626664 B1 EP 0626664B1 EP 19940400900 EP19940400900 EP 19940400900 EP 94400900 A EP94400900 A EP 94400900A EP 0626664 B1 EP0626664 B1 EP 0626664B1
EP19940400900
EP0626664A1 (en
EP0626664B2 (en
Philippe Cabinet Ballot-Schmit Martineau
1994-04-26 Application filed by Gemplus Card International SA filed Critical Gemplus Card International SA
1994-11-30 Publication of EP0626664A1 publication Critical patent/EP0626664A1/en
1996-09-18 Publication of EP0626664B1 publication Critical patent/EP0626664B1/en
1997-06-16 First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=9446532&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=EP0626664(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
2006-05-24 Publication of EP0626664B2 publication Critical patent/EP0626664B2/en
La présente invention a pour objet un système de communication entre un centre serveur et un utilisateur par l'intermédiaire d'une interface. The present invention relates to a communication system between a host and a user via an interface. Elle vise particulièrement les domaines où le fonctionnement de l'interface est conditionné par la présence d'un micro-circuit électronique de type jeton, support à puce, carte à puce ou autre, inséré temporairement de manière amovible ou définitivement dans l'interface. Of particular interest is the areas where the operation of the interface is determined by the presence of an electronic microcircuit chip type, smart media, smart card or other, temporarily inserted detachably or permanently in the interface. On trouve des utilisations de ce type de système avec des téléphones portables laissés à disposition et pour lesquels on veut, par exemple, empêcher l'utilisation du téléphone par quelqu'un qui n'aurait pas inséré de circuit correspondant. We find uses for this type of system with mobile phones left available and where you want, for example, prevent the use of the phone by someone who has not inserted corresponding circuit. Elle concerne également tous les terminaux de paiement direct utilisant des cartes à puce, notamment pour provoquer des retraits sur des comptes en banque. It also concerns all direct payment terminals using smart cards, especially to cause withdrawals from bank accounts.
Le problème qu'on rencontre avec ce type de systèmes est lié à la définition de l'interface. The problem we have with this type of systems is related to the definition of the interface. En effet, à un moment donné, les besoins connus de sécurité et ou de confort de transaction impliquent la mise en oeuvre de procédures par l'interface. Indeed, at some point, needs known safety and comfort or transaction involving the implementation of procedures by the interface. Ces procédures sont évolutives. These procedures are evolving. Ceci présente comme conséquence ou inconvénient que des interfaces obsolètes doivent alors être changées au fur et à mesure de cette évolution. This has the consequence or inconvenience of outdated interfaces must then be changed as and extent of this change.
Il pourrait néanmoins être envisagé de mettre à jour les systèmes d'exploitation des interfaces, d'une manière similaire à la mise à jour des systèmes d'exploitation dans les micro-ordinateurs. It could nevertheless be considered to update the operating systems interfaces, similarly to update operating systems to put in personal computers. Cependant, cette façon de faire présente l'inconvénient que beaucoup de mises à jour devraient être faites. However, this approach has the disadvantage that many updates should be made. De plus, le propriétaire, ou le gérant, de l'interface n'est pas l'utilisateur de cette interface : celui qui possède le circuit électronique d'autorisation en question. In addition, the owner or the manager, the interface is not user of this interface: the one with the electronic circuit of authorization. Par exemple, pour un terminal de paiement par carte à puce dans un restaurant, le propriétaire de l'interface est le restaurateur alors que l'utilisateur, le payeur, est le titulaire de la carte à puce. For example, for a card payment terminal to chip in a restaurant, the owner of the interface is the restaurant while the user, the payer is the holder of the smart card. Il en est de même avec les systèmes de téléphone portable, notamment dans le domaine des voitures de location où le téléphone portable (donc l'interface) appartient à la société de location de voitures (ou à une société concessionnaire d'un réseau de télécommunications) et où la carte à puce ou le circuit électronique concerné est la propriété de l'utilisateur. It is the same with mobile systems, especially in the field of car rental where the mobile phone (so the interface) belongs to the car rental company (or a concessionaire of a telecommunications network ) and where the smart card or electronic circuit in question is owned by the user. Dans ce cas, une différence de mise à jour, d'une interface à une autre peut rendre pour un utilisateur, l'utilisation très compliquée. In this case, an update difference from one interface to another can make for a user, the very complicated operation.
Il y a un nécessaire décalage entre le souci de l'utilisateur qui est intéressé à disposer avec sa carte à puce des tous derniers perfectionnements, et le souci du gestionnaire de l'interface qui, pour des raisons de coût peut être tenté de limiter le nombre de campagnes de mise à jour des interfaces qu'il gère. There is a required gap between the desire of the user who is interested in having with his chip card of the latest developments, and attention to the interface manager who, for reasons of cost may be tempted to limit the number of update campaigns interfaces it manages.
Un exemple pratique de besoin est celui ressenti dans le domaine des téléphones portatifs où le gestionnaire de l'interface, ou bien le propriétaire du serveur, voudrait pouvoir décompter des unités prépayées dans des cartes à puce d'utilisateur, un peu à la manière de ce qui se pratique dans les téléphones publics. A practical example of need is felt in the field of portable phones where the interface manager, or the owner of the server, would be able to deduct prepaid units in chip card user, somewhat in the manner of what is practiced in public telephones. Or, les appareils téléphoniques portatifs actuels, les interfaces, ne sont pas munis dans leur système d'exploitation d'un jeu d'instructions permettant ce décomptage. However, the current portable telephone devices, interfaces, are not provided in their operating system a set of instructions for the counting. Ce sera le cas plus tard. This will happen later. Le problème à résoudre dans ce cas particulier est donc de décompter dans la carte à puce, avec une interface qui n'est pas munie de moyens pour cela, des impulsions de décomptage qui seraient envoyées par un serveur téléphonique. The problem to be solved in this particular case is to count in the smart card, with an interface that is not provided with means for this, which counting pulses are sent by a telephony server. On voit bien la difficulté du problème. You can see the difficulty of the problem.
Le document EP-A-0 292 248 décrit un système pour télécharger des instructions dans une carte à puce. EP-A-0292248 describes a system for downloading instructions in a smart card. Le document, "L'écho des recherches" n° 139 1990 pages 13-20, XP 386 290, dû à P. Jolie et Al, décrit l'utilisation d'une carte à puce dans un radiotéléphone. The document, "The echo research" No. 139 1990 pages 13-20, XP 386,290, due to P. Jolie and Al describes the use of a smart card in a radiotelephone. Aucun de ces enseignements n'est toutefois utilisable pour provoquer, au cours d'une session de connexion, l'exécution d'une instruction qui n'est pas déjà disponible dans l'interface ou la carte à puce. None of these teachings is however used to cause, during a login session, the execution of an instruction that is not already available in the interface or the smart card.
L'invention a pour objet de trouver une solution à ce problème et de proposer une beaucoup plus grande souplesse d'utilisation des interfaces ou terminaux d'utilisation. The invention provides a solution to this problem and to propose a more flexible use of interfaces or terminal use. Plusieurs solutions sont envisageables, on pourrait notamment définir un mécanisme "universel" permettant de gérer les terminaux de manière transparente depuis le serveur. Several solutions are possible, one could define such a "universal" mechanism to manage terminals seamlessly from the server. Il faudrait pour cela équiper tous les terminaux existant de ce nouveau mécanisme. This would equip all existing terminals of the new mechanism. C'est donc une solution peu réaliste. It is an unrealistic solution. La solution envisagée dans l'invention ne requiert aucune modification du terminal, et ne fait qu'exploiter les ressources déjà disponibles de celui-ci. The solution envisaged in the invention requires no modification of the terminal, and is merely exploiting the resources already available to it. Ces ressources sont soit des procédures disponibles depuis le serveur, soit des instructions cartes (embarquées dans le terminal) commandées depuis le serveur, qui permettent d'acheminer des données à travers le terminal jusque dans la carte. These resources are either procedures available from the server or card statements (embedded in the terminal) controlled from the server, which are used to route data through the terminal into the card. En outre, selon l'invention, ces terminaux vont eux-mêmes avoir un système d'exploitation des plus simples et qui en définitive n'aura même pas besoin d'évoluer. In addition, according to the invention, these terminals will themselves have a simpler operating system and ultimately will not even need to evolve.
L'idée de l'invention est d'utiliser dans le système d'exploitation des interfaces, parmi le jeu d'instructions existant, un jeu minimum d'instructions ou même une procédure existante. The idea of ​​the invention is to use in the operating system interfaces, from the set of existing guidelines, a minimum set of instructions or even an existing procedure. Avec ce jeu ou cette procédure on provoque le pointage, dans une zone réservée de la mémoire de la puce, d'une instruction d'un jeu complémentaire, ou jeu étendu. With this game, or this procedure the score is caused, in a reserved area of ​​the memory of the chip, an instruction of a complementary set or extended play. Cette instruction complémentaire est alors exécutée, soit par le microprocesseur de la carte à puce, soit par le microprocesseur de l'interface, ces derniers agissant sur des périphériques désignés. This complementary instruction is then executed either by the microprocessor of the smart card, or by the microprocessor interface, the latter acting on designated devices. Ils provoquent par exemple un affichage d'informations sur un écran de l'interface, un décomptage d'unités prépayées dans une mémoire de la carte à puce, un envoi au serveur d'un bilan relatif à la carte à puce et/ou à la communication en cours (notamment dans un but d'établir des facturations de durées de transmission), ou une invalidation de la carte à puce, etc ... . They cause such a display information on a screen of the interface, a countdown of prepaid units in a memory of the smart card, a server sending to a balance sheet for the smart card and / or ongoing communication (including for the purpose of establishing transmission times of billings), or invalidation of the smart card, etc ....
Avec l'existence d'une zone réservée, dont la place et ensuite l'utilisation sont connues, on peut ainsi charger, avec le jeu minimum d'instructions du système d'exploitation de l'interface, les caractéristiques d'une instruction. With the existence of a reserved area, the place and then use are known, one can thus load with minimal instruction set of the operating system interface, the features of a statement. Les caractéristiques de cette instruction sont soit le code instruction de cette instruction elle-même, soit une adresse de cette instruction dans une mémoire de la puce. The characteristics of this statement are either the instruction code of this instruction itself, an address of the instruction in a memory chip. En plus de cette zone réservée, le microprocesseur de la carte à puce comporte un automatisme d'exécution de l'instruction dont les caractéristiques ont été chargées dans la zone réservée. In addition to the reserved area, the microprocessor of the smart card includes an automatic execution of the instruction whose characteristics have been loaded into the reserved area. Dès qu'on veut augmenter la puissance d'utilisation d'un système, on envoie à la carte à puce les caractéristiques de l'instruction à exécuter à partir du serveur. Since we want to increase the power usage of a system, is sent to the smart card features of the instruction to be executed from the server. Elles sont transmises naturellement par l'interface qui en pratique sachant sélectionner, et écrire (c'est un minimum) une zone mémoire dans la mémoire de la carte à puce, peut y inscrire les caractéristiques de cette instruction. They are naturally transmitted through the interface that in practice knowing select and write (this is a minimum) a memory area in the memory of the smart card, can register the characteristics of this instruction. Par la suite, le microprocesseur de la carte à puce prend le relais pour provoquer, avec son automatisme, l'exécution de cette instruction. Thereafter, the microprocessor of the smart card takes over to lead with its automation, the execution of this statement.
Dans un perfectionnement, plutôt que d'envoyer l'instruction à partir du serveur, on chargera des instructions supplémentaires dans des cartes à puce mises à jour, en des jeux complémentaires d'instructions. In a further development, rather than sending the instruction from the server, we charge additional instructions in smart card updates in additional instruction sets. Dans ce cas, les caractéristiques d'instruction à envoyer par le serveur ne consistent qu'en un pointeur, désignant celle de ces instructions complémentaires qu'on veut voir faire exécuter. In this case, the instruction specifications to be sent by the server consist only a pointer, pointing that these additional instructions that wants to execute.
En variante on utilise une procédure existante de gestion de la carte qui est associée à l'envoi d'une donnée. Alternatively using an existing procedure of the management board that is associated with the sending of data. On particularise une donnée, et, en réception dans la carte, on vérifie que la donnée transmise a cette forme particulière. a given one particularized, and, on reception in the card, it is checked that the data transmitted in this particular form. Le cas échéant on exécute une instruction du jeu étendu qui correspond alors à cette donnée particulière. If necessary we execute a comprehensive instruction set that corresponds to that particular data.
L'invention a donc pour objet un système de communication comportant The invention therefore relates to a communication system comprising
un centre serveur, une puce électronique portée par un support à puce, et une interface de communication entre ce centre serveur, cette puce, et, éventuellement, un utilisateur, a server center, an electronic chip supported by a chip support and a communication interface between this server center, this chip and, possibly, a user,
dans l'interface, un microprocesseur et une mémoire programme munie d'un jeu limité d'instructions ou de procédures de communication avec la puce, et, in the interface, a microprocessor and a program memory provided with a limited set of instructions or procedures for communication with the chip, and,
dans la puce, un microprocesseur et une mémoire programme munie également d'un jeu limité correspondant d'instructions ou de procédures, in the chip, a microprocessor and a program memory also provided with a corresponding limited set of instructions or procedures,
caractérisé en ce que le système de communication comporte characterized in that the communication system comprises
des moyens agencés pour, à partir d'un message émis par le centre serveur, au cours d'une session d'utilisation, sélectionner ou écrire, dans une zone mémoire réservée de la puce, avec les jeux limités d'instructions ou les procédures de la puce et ou de l'interface, les caractéristiques d'une instruction différente de celles des jeux limités ou procédures, et means arranged for, from a message sent by the host, during a user session, select or write in a memory area reserved for the chip, to the instruction of limited sets or procedures the chip and or interface, features a different instruction from those limited sets or procedures,
dans la puce un automatisme d'exécution agencé pour, au cours de cette session, exécuter cette instruction différente après sélection ou écriture de ses caractéristiques dans cette zone mémoire réservée. in a chip implementing automation arranged to, during the session, execute this different instruction after selecting or writing its characteristics in this reserved memory zone.
L'invention sera mieux comprise à la lecture de la description qui suit et à l'examen des figures qui l'accompagnent. The invention will be better understood from reading the following description and examining the accompanying figures. Celles-ci ne sont données qu'à titre indicatif et nullement limitatif de l'invention. These are indicative only and in no way limit the invention. Les figures montrent : The figures show:
Figure 1 : une représentation globale d'un système de communication conforme à l'invention ; Figure 1: an overall representation of a communication system according to the invention;
Figure 2 : une représentation schématique du fonctionnement de l'automatisme d'exécution de l'instruction du jeu complémentaire ; Figure 2: a schematic representation of operation of the automatic execution of the complementary set instruction;
Figure 3 : des microprogrammes types mis en oeuvre dans une carte à puce fonctionnant avec le système de communication de l'invention. Figure 3: types firmware implemented in a smart card operating with the communications system of the invention.
La figure 1 représente un système de communication conforme à l'invention comportant un centre serveur 1, une puce électronique 2 portée par exemple par un support à puce 3, par exemple une carte à puce, ou un jeton à puce, ou autre, notamment un support de connexion d'un circuit intégré monté dans son boîtier DIP ou CMS. 1 shows a communication system according to the invention comprising a host 1, an electronic chip 2 supported for example by a support chip 3, for example a chip card or a smart chip, or other, including an integrated circuit connection support mounted in its DIP or CMS. Ce système comporte également une interface de communication 4 entre ce centre serveur 1, cette puce 2 et, éventuellement, un utilisateur qui peut manipuler des boutons de commande 5 de l'interface 4. Le serveur 1 est le système qui héberge l'application et qui la met à la disposition des nombreuses interfaces et utilisateurs. This system also includes a communication interface 4 between this server center 1, the chip 2, and optionally, a user can manipulate the control knobs 5 the interface 4. The server 1 is the system that hosts the application and which provides numerous interfaces and users. Le serveur 1 envoie des informations aux interfaces ainsi qu'à la carte par l'intermédiaire d'une liaison de transport 6. Il peut cependant y avoir une connection directe. The server 1 sends information to the interfaces and the card via a transport link 6. However, it may be a direct connection. La liaison de transport 6 peut également être un chemin dans un réseau de transmission de données, et avoir plusieurs formes : filaires, hertziennes ou autres. The transmission link 6 may also be a path in a data transmission network, and can have several forms: wired, wireless or other. Elle utilise un protocole de transport et notamment des modems 7 et 8 pour acheminer des informations. It uses a transport protocol and including 7 and 8 modems to convey information. Ces informations représentent des données, des adresses, et/ou des instructions. This information represents data, addresses, and / or instructions.
L'interface 4 peut être dédiée à une application, par exemple du type EFTPOS (Electronic Found Transfert Point Of Sale) ou standard, par exemple du type ordinateur personnel ou Minitel. The interface 4 can be dedicated to an application, for example the type EFTPOS (Electronic Found Transfer Point Of Sale) or standard, for example of the personal computer or Minitel. Le rôle de l'interface consiste essentiellement à permettre à un utilisateur de dialoguer avec le serveur 1, ou la puce 2 et/ou à acheminer et mettre en forme des informations destinées au serveur 1, à la puce 2 ou à l'interface 4. La carte à puce 3 comporte des données propres à l'application et propres au porteur: l'utilisateur. The role of the interface is essentially to enable a user to interact with the server 1 or the chip 2 and / or to route and format information for the server 1, the chip 2 or the interface 4 . the smart card 3 includes data specific to the application and specific bearer: the user. Elle dispose d'un système d'exploitation qui offre une panoplie de fonctions grâce à un jeu d'instructions, la plupart du temps spécifiques. It has an operating system that offers a variety of functions with a set of instructions, most of the specific time.
Dans l'interface 4 est installé un microprocesseur 9 en relation par un bus 10, de commandes, de données et d'adresses, avec essentiellement une mémoire programme 11, un lecteur de support à puce 12 et un circuit d'entrée/sortie à direction du serveur 1, par exemple le modem 8. Dans cette version minimale, l'interface 4 ne sert qu'à assurer le trafic avec la carte à puce 3. Au besoin, le bus 10 est également connecté à un écran d'affichage 13 permettant de visualiser les opérations effectuées. In the interface 4 is installed a microprocessor 9 connected by a bus 10, command, data and addresses, with essentially a program memory 11, a media drive chip 12 and an input / output circuit management server 1, for example the modem 8. in this minimal version, the interface 4 serves only to traffic with the smart card 3. If necessary, the bus 10 is also connected to a display screen 13 for viewing transactions. De préférence, le bus 10 est également relié à des boutons de commande 5 permettant l'intervention d'un utilisateur. Preferably, the bus 10 is also connected to the control buttons 5 enabling the user intervention. Dans ce cas, l'interface est une interface entre l'opérateur et la carte à puce ou entre le serveur, l'opérateur et la carte à puce. In this case, the interface is an interface between the operator and the smart card or between the server, the operator and the smart card. La mémoire programme 11 comporte un jeu limité d'instructions, ici les instructions SELECT, READ, UPDATE, STATUS, qui sont peu nombreuses. The program memory 11 has a limited set of instructions here SELECT, READ, UPDATE, STATUS, which are few. En pratique, seules sont essentielles les instructions SELECT et UPDATE permettant respectivement de sélectionner une zone mémoire de la mémoire de la puce de la carte à puce et/ou d'y écrire quelque chose. In practice, only are essential SELECT and UPDATE respectively for selecting a memory storage area of ​​the chip of the smart card and / or to write something. Cependant pour des raisons de confort ce jeu limité comportera également une instruction de lecture seule, READ, d'une zone de la carte à puce et, de préférence mais éventuellement, une instruction STATUS permettant d'envoyer un état des compteurs ou registres internes de la carte à puce au serveur et/ou de les visualiser sur l'écran 13. Le contenu de cette instruction reste à définir. However, for comfort reasons this limited set will also include a read-only, READ, an area of ​​the smart card and, preferably, but possibly a STATUS instruction to send a statement of internal counters or register the smart card to the server and / or view them on the screen 13. the content of the instruction to be defined. Elle pourrait être aussi une instruction Jocker. It could also be a Joker instruction.
La puce 2 de la carte 3 comporte un microprocesseur 14 et une mémoire programme 15 comportant au moins un jeu limité d'instructions 16. Le jeu 16 correspond au jeu 11 : on y retrouve les mêmes instructions que dans ce dernier, c'est-à-dire les instructions SELECT, READ, UPDATE et STATUS. The chip 2 of the card 3 includes a microprocessor 14 and a program memory 15 comprising at least a limited instruction set 16. The set 16 corresponds to the set 11: there are the instructions as in the latter, that is ie SELECT, READ, and UPDATE STATUS. Ici également seules les instructions SELECT et UPDATE sont essentielles pour mettre en oeuvre l'invention. Here also only the SELECT and UPDATE statements are essential to implement the invention. On notera que les jeux limités 11 et 16 peuvent être un peu plus complets que ces jeux minimaux. limited games Note that 11 and 16 can be a little more comprehensive than these minimum games. La puce 2 comporte également un bus 17, du même type que le bus 10 mettant en relation le microprocesseur 14, la mémoire programme 15 et un dispositif d'entrée/sortie 18. Dans le cas des cartes à puce, ce dispositif 18 d'entrée/sortie comporte un connecteur normalisé dont les plages métalliques sont destinées à venir au contact de palpeurs 19 du lecteur 12. The chip 2 also includes a bus 17, the same type as the bus 10 linking the microprocessor 14, program memory 15 and an input / output device 18. In the case of smart cards, this device 18 of input / output comprises a standardized connector, the metal pads are intended to come into contact with probes 19 of the reader 12.
Une des caractéristiques essentielles de l'invention est que la puce 2 comporte une zone mémoire réservée 20 en relation par le bus 17 avec le microprocesseur 14. Dans cette zone réservée 20, le serveur 1 provoque l'écriture de caractéristiques d'une instruction différente de celle des jeux limités 11 et 16. Il provoque, par exemple, une écriture des caractéristiques d'une instruction de BILAN (différente de STATUS) tendant à faire envoyer par le microprocesseur 14, sur l'écran 13, un état du solde des unités prépayées et contenues dans une mémoire annexe 21 de la carte. An essential feature of the invention is that the chip 2 has a reserved memory area 20 in connection with the bus 17 with the microprocessor 14. In this reserved area 20, the server 1 causes the writing characteristics of a different instruction that of limited games 11 and 16. It causes, for example, writing characteristics of a REPORT command (different sTATUS) tending to be sent by the microprocessor 14 on the screen 13, a state of balance prepaid units and contained in Annex 21 memory card. Cette instruction différente complémentaire peut également être une instruction ALGO tendant à faire exécuter par le microprocesseur 14 un algorithme de chiffrement de message ou d'authentification de la carte 3 à puce ou du terminal 4. Cette instruction différente peut également être une instruction CHANGE de changement de valeur des unités prépayées, afin d'oblitérer certaines unités 22, au fur et à mesure de la durée de la communication. This additional different instruction may also be a ALGO instruction designed to be executed by the microprocessor 14 a message encryption algorithm or authentication of the card chip 3 or the terminal 4. This different instruction may also be a change instruction CHANGE value of the prepaid units to obliterate certain units 22, as and measuring the duration of the communication. Elle peut également être une instruction INVAL d'invalidation de la carte, ou tout autre instruction dont le besoin se fera sentir petit à petit, au fur et à mesure des évolutions des applications elles-mêmes. It can also be a INVAL instruction invalidation of the card, or any other instruction whose need will be felt gradually, as and extent of changes in the applications themselves.
Plutôt que de stocker dans la zone 20 de la mémoire réservée des caractéristiques d'une instruction différente de celle du jeu limité, on stocke dans la zone 20 une adresse relative au stockage, dans une partie complémentaire 23 de la mémoire programme 15 (ou d'une autre mémoire de la puce 2), d'une instruction d'un jeu complémentaire. Rather than store in the area 20 of the memory reserved for the characteristics of a different instruction than that of the limited set, is stored in the area 20 relative to storage address, in a complementary part 23 of the program memory 15 (or another memory of the chip 2), an instruction of a further play. Ce mode est préféré puisqu'il suffit de faire envoyer par le serveur 1 uniquement l'adresse, dans la partie complémentaire 23 de la mémoire programme 15, des instructions à exécuter différentes: BILAN, ALGO, CHANGE, INVAL, ... C'est plus court. This mode is preferred since it is sufficient to send the server 1 only the address in the complementary part 23 of the 15 program memory, instructions to perform different: REPORT, ALGO, CHANGE, INVAL ... C ' is shorter. La figure 2 montre le fonctionnement de l'automatisme préféré d'exécution de l'instruction différente à l'issue de sa sélection ou de son écriture. Figure 2 shows the operation of the preferred automatic execution of different instruction after its selection or his writing. Dans cette figure, les mêmes éléments sont désignés par les mêmes références que dans la figure 1. L'intérêt de l'invention se situe en particulier dans le cas où on veut faire exécuter par le couple interface 4 puce 2 une instruction qui ne figure pas déjà dans le jeu limité d'instructions 11 ou 16. Dans la description qui va suivre, on ne tiendra pas compte du caractère série ou parallèle de la transmission des diverses informations. In this figure, the same elements are designated by the same references as in Figure 1. The advantage of the invention is especially if we want to run by the couple interface chip 4 2 instruction that figure not already in the restricted instruction set 11 or 16. in the following description, it will not reflect the character serial or parallel transmission of various information. En effet les adaptations nécessaires sont effectuées par le MODEM 8 d'une part, et, pour les protocoles connus de gestion des mémoires de carte à puce, par les lecteurs 12, d'autre part. In effect the necessary changes are made by the MODEM 8 on the one hand, and for the known protocols for managing smart card memories, for readers 12, on the other.
Un message 24 est émis par le serveur 1. Il comporte en substance une première partie 25 relative à un code instruction, une deuxième partie 26 relative à une zone mémoire désignée (celle sur laquelle porte l'instruction), et une partie 27 relative à une donnée. A message 24 is sent by the server 1. It comprises essentially a first part 25 concerning an instruction code, a second portion 26 on a designated memory area (the one door instruction), and a portion 27 on a data. La partie 27 peut être de longueur fixe ou variable et, dans ce cas, d'une manière connue elle comporte en en-tête, en mode binaire, un octet indiquant la longueur de l'information transmise. Part 27 may be of fixed or variable length and, in this case in a known manner it comprises header, in binary mode, one byte indicating the length of the transmitted information.
Dans un premier cas 24, l'instruction sera une instruction SELECT, la zone mémoire concernée sera la mémoire réservée 20 dont l'adresse est MEM RES, et la donnée sera relative aux caractéristiques d'une instruction, par exemple ALGO. In a first case 24, the instruction is a select instruction, the data memory area will be the reserved memory 20 whose address is MEM RES, and the data will be on the features of an instruction, for example ALGO. Le microprocesseur 9 de l'interface 4 reçoit ce message 24 et transmet respectivement sur ses bus de commandes 28, d'adresses 29 et de données 30 l'instruction contenue en zone 25, l'adresse c ontenue en zone 26, et la donnée contenue en zone 27. Cette transmission est effectuée à destination du microprocesseur 14, selon des protocoles connus et par l'intermédiaire du lecteur 12 et du connecteur 18. Le microprocesseur 14 exécute alors l'instruction, SELECT pour le message 24, ou UPDATE pour un message 31, en commençant par le chargement de cette instruction dans son registre instruction 32. L'instruction concernée est ensuite effectuée par le microprocesseur 14 qui sélectionne, ou met à jour respectivement, la mémoire réservée 20. Dans ce but, l'adresse MEM RES de sélection est transmise par un bus d'adresse 33, du microprocesseur 14. Une commande résultant de l'exécution de l'instruction SELECT ou UPDATE est appliquée, par un bus de commande 34, à un circuit 35 de The microprocessor 9 of the interface 4 receives this message 24 and transmit respectively on its control bus 28, data of 29 and 30 the instruction addresses contained in area 25, address c ontenue in zone 26, and the data contained in zone 27. This transmission is performed to the microprocessor 14 according to known protocols and via the reader 12 and the connector 18. the microprocessor 14 then executes the instruction, to the SELECT message 24, or to UPDATE message 31, starting with the loading of the instruction in its instruction register 32. the instruction concerned is then performed by the microprocessor 14 which selects, or update, respectively, the reserved memory 20. for this purpose, the address MEM selection RES is transmitted through an address bus 33 of the microprocessor 14. a command resulting from the execution of the SELECT statement or UPDATE is applied, via a control bus 34, a circuit 35 gestion de la mémoire 20. Le circuit 35 est tout simplement un circuit de lecture écriture, de manière à lire ou à écrire dans la mémoire 20 à des adresses véhiculées par le bus 33 des données véhiculées par un bus 36 de données. memory management 20. The circuit 35 is simply a writing reading circuit, so as to read or write in the memory 20 at addresses carried by the bus 33 of the data conveyed by a bus 36 data. Le bus de données 36 transmet les données reçues du bus 33. Dans le cas du message 31, le microprocesseur 14 fait exécuter par le circuit 35, une inscription, une écriture dans la mémoire 20 du message ALGO reçu du serveur 1. On remarque à ce niveau que le fait d'écrire dans la mémoire réservée 20 n'a rien de différent par rapport à une écriture dans une autre partie de la mémoire de la puce 2. Ce type de commande est trivial. The data bus 36 transmits the data received from bus 33. In the case of the message 31, the microprocessor 14 is implemented by the circuit 35, a register, a write in the memory 20 of the ALGO message received from the server 1. It is noted in this level that the act of writing in the memory reserved 20 nothing different than writing in another part of the memory of the chip 2. this type of control is trivial. L'automatisme de l'invention a alors pour objet de transmettre, dans le registre d'instruction 32 du microprocesseur 14, l'instruction différente dont on vient ainsi de stocker les caractéristiques en mémoire réservée 20. The automation of the invention then is to transmit, in the instruction register 32 of the microprocessor 14, the different instruction which thus comes to store the characteristics memory 20 reserved.
En pratique, dans une version préférée, on a stocké dans la mémoire 20 non pas l'instruction elle-même mais une adresse d'instruction dans le jeu complémentaire 23. Aussi, après l'inscription des caractéristiques, de l'adresse, de l'instruction complémentaire désignée ALGO, on utilise le contenu de la mémoire 20 pour servir d'adresse et pour pointer une des instructions de la mémoire programme 23. Autrement dit, dans l'automatisme préféré, le microprocesseur 14 lit la mémoire 20 et transmet la donnée lue sur son bus d'adresse 33. Cette adresse vient pointer une zone mémoire de la mémoire programme 23. Une fois ce pointage effectué, le microprocesseur lit alors, dans la zone mémoire pointée, la donnée qui y est stockée. In practice, in a preferred version, was stored in the memory 20 not the statement itself but an instruction address in the supplementary set 23. Also, after the listing of features, the address, the supplementary instruction designated ALGO, it uses the contents of the memory 20 to serve as addresses to point a program memory instructions 23. in other words, in the preferred automated system, the microprocessor 14 reads the memory 20 and transmits the data read on the address bus 33. this address is a pointer program memory the memory area 23. After this pointing performed, then the microprocessor reads in the dotted memory area, the data stored therein. Cette donnée est en fait, l'instruction différente. This particular is actually the different instruction. Le microprocesseur la transmet alors par son bus de commande 34 à son registre d'instruction 32. Le microprogramme de l'automatisme se termine par une exécution de l'instruction différente ainsi chargée. The microprocessor then transmits the by its 34 to its instruction register control bus 32. The automation of the firmware finishes with a different execution of the instruction thus loaded.
Cette instruction différente peut avoir pour objet de modifier le contenu d'une mémoire annexe 21 de la puce 2. Elle peut également être transmise, en sens inverse, au microprocesseur 9 et être appliquée à l'interface 4, pour un affichage sur l'écran 13 ou autre. This different instruction may have to amend the contents of a bump 21 of the chip 2. It can also be transmitted in the opposite direction, the microprocessor 9 and be applied to the interface 4 for display on the screen 13 or the like. Elle peut également être mise en oeuvre directement, par le microprocesseur 14, sur le contenu de certaines mémoires ou périphériques de l'interface 4. Cependant, compte-tenu des choix préférés de protocole respectivement série et parallèle, pour une carte à puce 3 et une interface 4, on préférera déléguer au microprocesseur 9, la mise en oeuvre de l'instruction différente. It can also be implemented directly by the microprocessor 14 on the contents of certain memories or interface devices 4. However, in view of the protocol preferred choice respectively series and parallel, for a smart card and 3 an interface 4, it is preferable delegate to the microprocessor 9, the implementation of the different instruction. Celle-ci est alors chargée dans un registre d'instructions du microprocesseur 9, de la même façon que pour le microprocesseur 14. It is then loaded into an instruction register of the microprocessor 9, in the same way as the microprocessor 14.
La figure 3 montre un fonctionnement, préféré d'un microprogramme préenregistré dans une mémoire programme 16 d'une carte à puce susceptible de mettre en oeuvre le système de communication de l'invention. Figure 3 shows an operation, preferred a microprogram prestored in a program memory 16 of a smart card may implement the communication system of the invention. Au début de ce microprogramme, le microprocesseur 14 est en attente de réception d'instruction. At the beginning of this firmware, the microprocessor 14 is waiting for instruction receiving. Puis il reçoit, transmis par le bus 28 une instruction. Then he receives, via bus 28, an instruction. Dans une premier temps, il vérifie que cette instruction est une instruction de sélection au cours d'une étape 37. Si c'est le cas, il exécute la sélection de la zone mémoire, mémoire 20 ou mémoire 21 désignée. In a first time, it verifies that the instruction is a select instruction in a step 37. If this is the case, it executes the selection of the memory area, memory 20 or memory 21 designated. Si ce n'est pas le cas, au cours d'une étape 38, le microprocesseur teste si l'instruction est une instruction de lecture READ. If this is not the case, during a step 38, the microprocessor checks if the instruction is a read instruction READ. Si c'est le cas il provoque la lecture de la zone mémoire dont l'adresse est convenue dans la partie 26 du message. If this is the case it causes the reading of the memory area whose address is agreed in the portion 26 of the message. Si ce n'est pas le cas, dans une étape 39, il regarde s'il s'agit d'une instruction de mise à jour, et le cas échéant il met à jour la zone mémoire concernée. If this is not the case, in a step 39, it looks if it is an update instruction, and if so it updates the affected memory area. Enfin, normalement il n'y a plus de test à prévoir, et l'instruction restante devrait être une instruction STATUS puisque ce sont, à priori les seules instructions du jeu limité d'instructions que le microprocesseur est susceptible d'attendre. Finally, normally there is no test to predict, and the remaining instruction should be a STATUS instruction since it is a priori the only instructions the limited set of instructions that the microprocessor is likely to wait.
On remarque qu'on peut prévoir un jeu limité plus important, ou éventuellement moins important. a limited set larger, or possibly less important Note that you can predict. Seules les instructions SELECT et UPDATE, sont véritablement indispensables pour le procédé de l'invention. Only the SELECT and UPDATE statements are truly indispensable for the process of the invention. Aussi, dans une étape 40, le microprocesseur 14 va vérifier que l'instruction reçue est une demande d'établissement d'un STATUS et le cas échéant il l'exécute. Also, in a step 40, the microprocessor 14 will verify that the received instruction is a request for a STATUS and if necessary it executes. Il est à remarquer que l'instruction STATUS pourra être une instruction normalisée, et ne pas porter à priori de désignation de zone mémoire en zone 26 du message. It should be noted that the STATUS instruction could be a standardized instruction, and not to memory area designation priori field 26 of the message.
Par contre, si le microprocesseur 14 n'a pas détecté au cours des tests 37 à 40 qu'une instruction attendue était reconnue, il délivre en une opération 41, un message d'erreur (affichable par exemple sur l'écran 13, mais pas nécessairement). By cons, if the microprocessor 14 has not detected during tests 37-40 an expected instruction was recognized, it delivers an operation 41, an error message (for example displayable on the screen 13, but not necessarily). Au cours d'une opération 42 successive à l'exécution de chacune des instructions SELECT, READ, UPDATE, et éventuellement STATUS, le microprocesseur 14 cherche à savoir si l'adresse contenue dans la partie 26 du message était une adresse MEM RES de la mémoire réservée. In an operation 42 successive execution of each SELECT, READ, UPDATE and possibly STATUS, microprocessor 14 asks whether the address contained in Part 26 of the message was an address of MEM RES reserved memory. Si ce n'est pas le cas, le microprocesseur 14 considère que le traitement du message a été effectué complètement. If this is not the case, the microprocessor 14 considers that the processing of the message has been correctly. Il se remet en attente. He returns to standby. En ce qui concerne l'instruction STATUS, on pourra prévoir un retour systématique en attente d'instructions du microprocesseur 14, ou bien un passage par le test 42 si la zone 26 du message a été renseigné. As regards the STATUS instruction, one can provide a systematic return waiting for instructions from the microprocessor 14, or a passage through the test 42 if field 26 of the message has been submitted.
Dans le cas, où la zone 20 de la mémoire réservée est concernée, le microprocesseur 14 charge sur le bus d'adresse 33 le contenu de cette mémoire. In the case where the area 20 of the reserved memory is concerned, the microprocessor 14 dependent on the address bus 33 the contents of this memory. Le bus d'adresse 33 pointe alors sur une parmi plusieurs adresses de la mémoire complémentaire 23. Selon qu'il pointe sur la première, la deuxième, ou une autre adresse de la mémoire 23, avec une batterie de test 43, 44 en cascade, on peut provoquer la sélection dans la mémoire 23 d'une parmi plusieurs instructions. The address bus 33 while tip on one of several complementary memory addresses 23. According to point to the first, second, or another address of the memory 23, with a test battery 43, 44 in cascade , can cause the selection in the memory 23 of one of several instructions. Les instructions sont à stocker dans le registre de commande 32 du microprocesseur 14. De préférence, la mémoire 23 sera une mémoire de type non volatile, avec des cellules mémoires comportant des transistors à grille flottante, de préférence de type électriquement inscriptible et effaçable : EEPROM. The instructions are to be stored in the microprocessor 32 of the control register 14. Preferably, memory 23 is a nonvolatile type memory with memory cells comprising floating gate transistors, preferably of electrically writable and erasable type EEPROM . Dans ce cas, après avoir fait exécuter par le microprocesseur 14 l'instruction complémentaire, on provoque l'effacement de la mémoire réservée de manière à ce que celle-ci soit à nouveau vierge. In this case, after having executed by microprocessor 14 further instruction, it causes the erasure of the memory reserved so that it is a blank disc. L'étape d'effacement 45 est donc ainsi effectuée après l'exécution de l'instruction complémentaire. The erase step 45 is thus performed after the execution of the additional instruction.
On peut cependant agir différemment. However, we can act differently. On peut prévoir, par exemple, que l'instruction de mise à jour, UPDATE, exécutée par le microprocesseur 14 (pas par le microprocesseur 9) comporte elle-même un microprogramme consistant à effacer au préalable la mémoire réservée 20 avant l'inscription d'un nouveau pointeur en vue d'exécuter une autre instruction complémentaire. May be provided, for example, that update, UPDATE, executed by the microprocessor 14 (not by the microprocessor 9) itself comprises a microprogram of erasing previously reserved memory 20 prior to enrollment d a new pointer for executing another additional instruction. Ceci est utile lorsqu'il faut provoquer le décomptage d'unité dans la zone mémoire 21 de la carte à puce 3. En effet, dans ce cas, le serveur 1 envoie la première fois une instruction UPDATE en visant le pointage d'une instruction de décomptage des unités dans la zone complémentaire 23. Par la suite, il lui suffit de sélectionner la mémoire réservée pour faire exécuter automatiquement le décomptage d'unités. This is useful when you have cause the counting unit in the memory area 21 of the smart card 3. Indeed, in this case, the server 1 sends the first time an UPDATE statement to the score of an instruction downcounting units in the additional area 23. subsequently, it is sufficient to select the memory reserved for automatically executing the counting units. En effet l'instruction de décomptage est déjà inscrite dans la mémoire 20, il n'est pas nécessaire de la réécrire. Indeed instruction countdown is already registered in the memory 20, it is not necessary to rewrite. Il suffit de la sélectionner, de la lire, et de passer par l'étape 42. Au besoin l'instruction STATUS peut même être utilisée. Just select it, read it, and go through step 42. If necessary the STATUS command can even be used. Le message 31 comporte, à la différence du message 24, des données en zone 27 plus conséquentes. The message 31 comprises, in contrast to the message 24, data area 27 more consistent. Ces données, visent elles aussi la mémoire réservée, elles peuvent être stockées dans différentes zones mémoires 46 ou 47 de la mémoire réservée. These data, as they target the reserved memory, they can be stored in different memory areas 46 or 47 of the reserved memory. Dans ce cas, une première partie du contenu du message en zone 27 sera stockée dans une première zone 46 de la mémoire 20, une seconde partie dans une zone 47 successive et ainsi de suite. In this case, a first portion of the message content in zone 27 will be stored in a first area 46 of the memory 20, a second portion in a region 47 next and so on. Ceci signifie que plutôt que d'envoyer au fur et à mesure toutes les instructions pour les faire exécuter par le microprocesseur 14, le serveur 1 envoie un seul message comportant une suite d'instructions devant être exécutées en séquence. This means that instead of sending the As all instructions to execute by the microprocessor 14, the server 1 sends only one message comprising a series of instructions to be executed in sequence.
Dans ce cas, à titre d'exemple, la mémoire 20 comportera dans chaque zone un champ 48 où seront stockés les pointeurs ou caractéristiques des instructions à exécuter, et un champ 49 qui sera par exemple un bit, ou un autre système, dans lequel une information binaire permettra de savoir qu'après l'exécution d'une instruction du jeu complémentaire, par la présence d'un un, devra suivre l'exécution d'une autre instruction du jeu complémentaire. In this case, by way of example, the memory 20 will comprise in each zone 48 where a field pointers or characteristics of the instructions will be stored to be executed, and a field 49 which will, for example one bit, or another system, wherein binary information will know that after the execution of an additional instruction set, by the presence of one, will follow the execution of another instruction of the additional stake. Par contre, par la présence d'un zéro, on saura qu'il n'y a plus d'autres instructions à exécuter ensuite. By cons, by the presence of a zero, we know that there is no other instructions to be executed next. Dans ce but, l'exécution de chaque instruction du jeu complémentaire comportera, dans le microprogramme de la figure 4, un test 50 au cours duquel on cherchera à savoir si l'exécution d'une instruction complémentaire doit être suivie par une exécution d'une autre instruction complémentaire suivante ou non. For this purpose, the execution of each instruction from the complementary set will include, in the microprogram of Figure 4, a test 50 in which we seek to whether the execution of an additional instruction is to be followed by execution of another additional instruction following or not. Le branchement du microprogramme doit alors être immédiat. Connecting the firmware must be immediate.
En variante on utilise une procédure existante de gestion de la carte. Alternatively an existing procedure using the card management. Par exemple une procédure existante d'authentification de la carte comporte l'envoi par le serveur d'un aléa chiffré à la carte, le déchiffrement par la carte de cet aléa, le cryptage par un algorithme de type DES paramétré par l'aléa déchiffré d'un code secret de la carte, et l'envoi au lecteur pour vérification du code secret crypté. For example an existing procedure for authentication of the card includes sending by the server in an encrypted hazard map, deciphering the map of this hazard, encryption by a type of algorithm set by the decrypted random a secret code of the card, and sending the reader to check the encrypted PIN. Dans l'invention on réserve un aléa donné, par exemple 0000XXXX, pour d'une part indiquer par les 0000 qu'on n'a pas affaire vraiment à une procédure existante, et d'autre part charger la donnée XXXX dans la mémoire 20. Le reste est effectué de la façon décrite ci-dessous. In the invention, provided a given hazard, such 0000XXXX to firstly indicate by 0000 that we did not really matter to an existing procedure, and secondly load the XXXX data in the memory 20 . the rest is done as described below. L'avantage d'utiliser une procédure existante se situe dans le fait que les interfaces existantes (nombreuses) sont déjà compatibles avec cette procédure. The advantage of using an existing procedure lies in the fact that the existing interfaces (many) are already compatible with this procedure. Il suffit d'insérer le test de la présence des 0000 dans le système d'exploitation des nouvelles cartes fabriquées. Simply insert the test the presence of 0000 in the new operating system manufactured cards.
Communication system comprising :
- a server centre (1), an electronic chip (2) mounted on a chip support (3) and a communication interface (4) between this server centre, this chip and, possibly, a user,
- in the interface, a microprocessor (9) and a programme memory (11) provided with a limited set (11) of instructions or procedures for communication with the chip, and
- in the chip, a microprocessor (14) and a programme memory (15) provided with a corresponding limited set (16) of instructions or procedures,
characterised in that the communication system has
- means configured to select or write in a reserved memory zone (20) during a user session using the limited sets of instructions or procedures of the chip and or the interface the characteristics of an instruction other than those of the limited sets or procedures, and
- an automatic execute system in the chip configured to execute this different instruction during this session after selecting or writing its characteristics in this reserved memory zone.
System as claimed in claim 1, characterised in that
- the chip programme memory has a complementary set of instructions,
- the written characteristics relate to an address within this chip programme memory of an instruction in this complementary set.
System as claimed in claim 1 or claim 2, characterised in that, in the programme memory of the chip, the automatic system has,
- a microprogramme (37-40) for testing whether an instruction received from the server or the user belongs to the limited set of instructions, linked to an execution command for this tested instruction, connected in series with
- a microprogramme (42) for testing the designation of the reserved memory zone contained in the instruction executed in this manner, linked to the execution command for the different instruction.
System as claimed in claim 1 or claim 2, characterised in that, in the chip programme memory, the automatic system has
- a microprogramme (42) for testing the designation of the reserved memory zone, linked to the execution command for the different instruction.
System as claimed in claim 3 or claim 4, characterised in that, in the chip programme memory, the automatic system has
- a microprogramme for executing an instruction from the complementary set, the address of which is stored in the reserved memory zone.
System as claimed in one of claims 1 to 5, characterised in that the reserved memory zone of the chip is non-volatile, and is of the EEPROM type in particular.
System as claimed in one of claims 1 to 6, characterised in that the reserved memory zone has a field (49) for storing a piece of information which makes it possible to ascertain that, after an instruction that is different from those of the limited sets or procedures has been executed, the execution will have to be followed by another different instruction and in that the automatic execution system has a test (50) for verifying the value of this field.
System as claimed in one of claims 1 to 7, characterised in that the interface microprocessor is configured to execute the different instruction.
EP94400900A 1993-04-28 1994-04-26 Communication system using IC cards Expired - Lifetime EP0626664B2 (en)
EP05109978 Division 2005-10-25
EP0626664A1 EP0626664A1 (en) 1994-11-30
EP0626664B1 true EP0626664B1 (en) 1996-09-18
EP0626664B2 EP0626664B2 (en) 2006-05-24
EP94400900A Expired - Lifetime EP0626664B2 (en) 1993-04-28 1994-04-26 Communication system using IC cards
DE (2) DE69400549D1 (en)
DE102012000052A1 (en) 2012-01-03 2013-07-04 Giesecke & Devrient Gmbh Control unit for device control
GB2208025B (en) † 1985-04-10 1989-06-21 Gen Electric Co Plc Transaction system
JP3662604B2 (en) 2005-06-22
CA1151298A (en) 1983-08-02 Recording media recycling
EP0621569B1 (en) 1999-07-14 Device for and method of protecting the keys of a chip card
EP0349413B1 (en) 1993-09-15 Accounting system for portable data carriers
EP0096599B1 (en) 1986-10-08 Method for the authentification or certification of at least one bit of information stored in the memory of an electronic carrier, especially a replaceable and portable one such as a card
EP0829071B1 (en) 1999-09-15 Smart card system
US7287165B2 (en) 2007-10-23 IC card, portable terminal, and access control method
EP0399897B1 (en) 1994-03-23 System for individual participation in a television broadcast
Ref document number: 69400549
Ref document number: 2092867
1997-08-20 R26 Opposition filed (correction)
2000-07-19 R26 Opposition filed (correction)
Opponent name: GIESECKE & DEVRIENT GMBH * 19970618 WINCOR NIXDORF
Opponent name: WINCOR NIXDORF GMBH&CO. KG
2001-06-01 NLT2 Nl: modifications (of names), taken from the european patent patent bulletin
2006-05-24 27A Maintained as amended
2006-09-20 GBTA Gb: translation of amended ep patent filed (gb section 77(6)(b)/1977)
Date of ref document: 20060823
Free format text: FORMER OWNER: GEMPLUS, GEMENOS, FR
Free format text: FORMER OWNER: GEMALTO SA, MEUDON, FR
Payment date: 20120410
Expiry date: 20140425