FR2734934A1 - SECURE INTELLIGENT CHIP CARD - Google Patents

SECURE INTELLIGENT CHIP CARD Download PDF

Info

Publication number
FR2734934A1
FR2734934A1 FR9506370A FR9506370A FR2734934A1 FR 2734934 A1 FR2734934 A1 FR 2734934A1 FR 9506370 A FR9506370 A FR 9506370A FR 9506370 A FR9506370 A FR 9506370A FR 2734934 A1 FR2734934 A1 FR 2734934A1
Authority
FR
France
Prior art keywords
smart card
transaction
operating system
memory
card
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
Application number
FR9506370A
Other languages
French (fr)
Other versions
FR2734934B1 (en
Inventor
Gerard Cesaire
Francois Devaux
Yves Gerard
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales Information Systems SA
Original Assignee
Syseca SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Syseca SA filed Critical Syseca SA
Priority to FR9506370A priority Critical patent/FR2734934B1/en
Priority to PCT/FR1996/000796 priority patent/WO1996038825A1/en
Publication of FR2734934A1 publication Critical patent/FR2734934A1/en
Application granted granted Critical
Publication of FR2734934B1 publication Critical patent/FR2734934B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

Smart cards are cards which control the execution of their own transactions, so as to avoid providing specialised card readers for each type of transaction. The protected smart card system (1) of the invention is a smart card storing a transaction management programme (13) written in a high-order language requiring interpretation by a command interpreter (12) through a basic operating system (10) with systems for protecting memory access. Hence, an unauthorised user cannot interfere with the integrity of a transaction, since he can only access the smart card through the high-order language, and the high-order language commands which he might divert would necessarily be intercepted by the command interpreter (12) and by the protection systems of the basic operating system (10).

Description

On désigne par carte à puce, les cartes, en général du format d'une carte de crédit, mais également les jetons munis d'un microcircuit électronique, à base de mémoires et d'un microcontrôleur, agencé pour permettre le déroulement d'une transaction par exemple bancaire ou santé. The term “smart card” denotes cards, in general of the format of a credit card, but also tokens provided with an electronic microcircuit, based on memories and a microcontroller, arranged to allow the unfolding of a transaction for example banking or health.

Les cartes à puce communiquent avec leur environnement au moyen de lecteurs équipés d'éléments de communication suffisant pour permettre et faciliter l'exécution de leur transaction. Smart cards communicate with their environment by means of readers equipped with sufficient communication elements to allow and facilitate the execution of their transaction.

Les cartes à puce actuellement connues, dotées de mémoires et éventuellement d'un microcontrôleur, sont utilisées uniquement comme un support de données agrémenté de dispositifs de sécurisation. L'intelligence nécessaire à la conduite des transactions est reportée au niveau des lecteurs qui sont soit autonomes et pourvus d'un clavier, d'un afficheur et d'une mémoire gérés par un microcontrôleur doté d'un programme de contrôle de déroulement de transaction spécifique à la transaction envisagée, soit transparents et utilisés comme accès à un système informatique programmé spécialement pour la transaction envisagée. Currently known smart cards, equipped with memories and possibly a microcontroller, are used only as a data medium embellished with security devices. The intelligence necessary for the conduct of transactions is transferred to the level of the readers, which are either autonomous and provided with a keyboard, a display and a memory managed by a microcontroller provided with a program for controlling the transaction process. specific to the planned transaction, or transparent and used as access to a computer system programmed specially for the planned transaction.

Ce report de l'intelligence nécessaire à la conduite d'une transaction, soit au niveau du lecteur de carte, soit à icelui d'un système informatique associé au lecteur de carte, a pour inconvénient de nécessiter une spécialisation du lecteur ou du système informatique associé en fonction du type de transaction. Ainsi, si l'on veut changer de type de transaction, il ne suffit pas de changer la programmation de la carte à puce; il faut aussi changer celle du lecteur, s'il est autonome, ou du système informatique associé, si le lecteur est transparent. Cela est un obstacle au développement des applications des cartes à puce. This deferral of the intelligence necessary to conduct a transaction, either at the level of the card reader, or that of a computer system associated with the card reader, has the disadvantage of requiring a specialization of the reader or the computer system associated according to the type of transaction. So, if you want to change the type of transaction, it is not enough to change the programming of the smart card; the reader must also be changed, if it is autonomous, or the associated computer system, if the reader is transparent. This is an obstacle to the development of smart card applications.

Pour éviter cet inconvénient, il a été proposé de ramener l'intelligence, c'est à dire la gestion de la transaction, au niveau de la carte à puce elle-même. La carte à puce ne se contente plus d'effectuer les instructions qui lui parviennent de l'extérieur en les accompagnant d'éventuelles mesures de sécurité; elle prend la maîtrise du déroulement de la transaction en donnant ses instructions au lecteur qui devient un simple exécutant et qui, de ce fait, peut être banalisé et utilisé avec des cartes à puce de différentes sortes, spécialisées chacune dans des transactions très variées.  To avoid this drawback, it has been proposed to bring intelligence, that is to say the management of the transaction, to the level of the smart card itself. The smart card is no longer satisfied with carrying out the instructions which come to it from the outside, accompanying them with any security measures; it takes control of the progress of the transaction by giving its instructions to the reader who becomes a simple performer and who, therefore, can be trivialized and used with smart cards of different kinds, each specialized in very varied transactions.

li se pose cependant un problème de sécurisation, car il faut ôter à l'utilisateur non autorisé toute possibilité de modifier le programme de gestion de transaction stocké au sein de la carte à puce. However, there is a security problem, since the unauthorized user must be deprived of any possibility of modifying the transaction management program stored within the smart card.

La présente invention a pour but de résoudre ce problème d'une manière simple, tout en laissant la possibilité au promoteur d'une transaction de la modifier à loisir. The present invention aims to solve this problem in a simple manner, while leaving the possibility to the promoter of a transaction to modify it at leisure.

Elle a pour objet une carte à puce intelligente, sécurisée, équipée d'une mémoire et d'un microcontrôleur, remarquable en ce qu'elle comporte, stocké en mémoire:
- un système d'exploitation de base, en code exécutable adapté au type de microcontrôleur, gérant les accès à sa mémoire avec des clefs d'autorisation pour certaines zones,
- un interpréteur de commandes assurant l'interface entre un programme de gestion de transaction et le système d'exploitation de base, et
- au moins un fichier contenant ledit programme de gestion de transaction écrit dans un langage évolué et interprété, ineffectif sans traduction par l'interpréteur de commandes.
Its purpose is an intelligent, secure smart card, equipped with a memory and a microcontroller, remarkable in that it comprises, stored in memory:
- a basic operating system, in executable code adapted to the type of microcontroller, managing access to its memory with authorization keys for certain zones,
a command interpreter ensuring the interface between a transaction management program and the basic operating system, and
- at least one file containing said transaction management program written in an advanced and interpreted language, ineffective without translation by the command interpreter.

Avantageusement, le fichier de programme de gestion de transaction est placé dans une partie réinscriptible de la mémoire, de type
EEPROM, tandis que le système d'exploitation de base et l'interpréteur de commandes du langage interprété sont disposés dans une partie non réinscriptible de la mémoire, de type ROM.
Advantageously, the transaction management program file is placed in a rewritable part of the memory, of the type
EEPROM, while the basic operating system and the interpreter of the interpreted language are arranged in a non-rewritable part of the memory, of ROM type.

Le programme de gestion de transaction stocké dans la carte à puce communique avec le monde extérieur à la carte à puce par l'intermédiaire du système d'exploitation et peut, par conséquent, être l'objet de tentatives de corruption. Le fait qu'il soit en langage évolué et interprété permet de faire échec à de telles tentatives de corruption puisque ces instructions nécessitent, pour être exécutées par le microcontrôleur de la carte à puce, une traduction par un interpréteur de commandes s'appuyant lui-même sur un système d'exploitation de base comportant des sécurités d'accès à la mémoire. L'interpréteur de commandes et le système d'exploitation de base étant inaccessibles de l'extérieur de la carte à puce, gracie aux sécurités d'accès de la mémoire, sont eux, à l'abris des tentatives de corruption.En effet, le programme de gestion de la transaction peut accéder en lecture ou en écriture aux données stockées dans la partie
EEPROM de la mémoire mais toujours sous contrôle du système d'exploitation de base qui vérifie le respect des sécurités d'accés à la mémoire.
The transaction management program stored in the smart card communicates with the outside world of the smart card through the operating system and can therefore be subject to corruption attempts. The fact that it is in advanced and interpreted language makes it possible to thwart such attempts at corruption since these instructions require, to be executed by the microcontroller of the smart card, a translation by a command interpreter using itself even on a basic operating system with memory access security. The shell and the basic operating system being inaccessible from outside the smart card, thanks to the memory access security, they are immune to corruption attempts. the transaction management program can read or write the data stored in the part
EEPROM of the memory but always under control of the basic operating system which verifies compliance with the security of access to the memory.

Le langage évolué et interprété a également l'avantage de permettre d'écrire des programmes plus compacts qu'un langage non interprété de sorte qu'il économise de l'espace mémoire. The advanced and interpreted language also has the advantage of making it possible to write more compact programs than an uninterpreted language so that it saves memory space.

D'autres caractéristiques et avantages de l'invention ressortiront de la description ci-après d'un mode de réalisation de l'invention donné à titre d'exemple. Cette description sera faite ci-après en regard du dessin dans lequel:
- une figure 1 est un schéma de principe du microcircuit électronique équipant une carte à puce,
- une figure 2 illustre, de manière schématique, les différentes couches logiques du programme d'un microcontrôleur de carte à puce intelligente sécurisée selon l'invention, et
- une figure 3 est un schéma de principe de l'organisation de la mémoire d'une carte à puce.
Other characteristics and advantages of the invention will emerge from the description below of an embodiment of the invention given by way of example. This description will be made below with reference to the drawing in which:
FIG. 1 is a block diagram of the electronic microcircuit fitted to a smart card,
FIG. 2 schematically illustrates the different logic layers of the program of a microcontroller of a secure smart card according to the invention, and
- Figure 3 is a block diagram of the organization of the memory of a smart card.

On distingue sur la figure 1 le microcircuit électronique ou puce d'une carte à puce. Celui-ci comporte un microcontrôleur < CPU) 2 en liaison avec de la mémoire vive (RAM) 3, de la mémoire morte non réinscriptible (ROM) 4 et réinscriptible (EEPROM) 5 et un port série d'entréeslsorties 6 menant à un ensemble de six à huit contacts électriques 7 permettant d'accéder à un lecteur. A distinction is made in Figure 1 the electronic microcircuit or chip of a smart card. This comprises a microcontroller <CPU) 2 in connection with random access memory (RAM) 3, non-rewritable read-only memory (ROM) 4 and rewritable memory (EEPROM) 5 and a serial port of outputs 6 leading to a set from six to eight electrical contacts 7 allowing access to a reader.

La figure 2 montre les grandes partitions des programmes de gestion du microcontrôleur d'une carte à puce intelligente selon l'invention. FIG. 2 shows the large partitions of the programs for managing the microcontroller of an intelligent smart card according to the invention.

La couche la plus enfouie est un système d'exploitation de base 10, en code exécutable adapté au type de microcontrôleur de la carte à puce 1, qui gère sa mémoire avec les systèmes habituels de sécurisation et un protocole de communication externe 11. Ce système d'exploitation de base 10 est associé à un interpréteur de commandes 12 reconnaissant différentes instructions en langage évolué. L'ensemble du système d'exploitation de base 10 et de l'interpréteur de commande 12 réside en mémoire morte non réinscriptible ROM et est surmonté par une couche externe constituée par un programme 13, en langage évolué et interprété, de gestion de la transaction à laquelle est dédiée la carte à puce, qui est stocké en mémoire morte réinscriptible EEPROM.The most buried layer is a basic operating system 10, in executable code adapted to the type of microcontroller of the smart card 1, which manages its memory with the usual security systems and an external communication protocol 11. This system basic operating system 10 is associated with a command interpreter 12 recognizing different instructions in advanced language. The entire base operating system 10 and the command interpreter 12 resides in non-rewritable ROM read-only memory and is surmounted by an external layer constituted by a program 13, in advanced and interpreted language, for managing the transaction. to which the smart card is dedicated, which is stored in rewritable EEPROM read-only memory.

Le programme de gestion de transaction 13 communique avec l'extérieur de la carte à puce par l'intermédiaire du système d'exploitation. The transaction management program 13 communicates with the outside of the smart card via the operating system.

Par sécurité, toutes les instructions qu'il contient, notamment celles qui ont une action sur la mémoire : lecture, écriture, effaçage, sont en langage évolué. De ce fait, elles sont incomprises du microcontrôleur si elles n'ont pas été interprétées par l'interpréteur de commande 12, qui les traduit et les dirige obligatoirement vers le système d'exploitation de base 10 et ses systèmes de sécurisation. Ainsi, un utilisateur non habilité, ne peut porter atteinte à l'intégrité d'une transaction puisqu'il n'a accès dans la carte à puce qu'au niveau du langage évolué et interprété, et que les ordres de ce langage évolué et interprété qu'il pourrait détourner sont nécessairement interceptés par l'interpréteur de commande 12 et par les systèmes de sécurisation du système d'exploitation de base 10.For security, all the instructions it contains, in particular those which have an action on the memory: read, write, erase, are in advanced language. Therefore, they are misunderstood by the microcontroller if they have not been interpreted by the command interpreter 12, which translates them and obligatorily directs them to the basic operating system 10 and its security systems. Thus, an unauthorized user cannot undermine the integrity of a transaction since he has access to the smart card only at the level of the advanced and interpreted language, and that the orders of this advanced language and interpreted that it could hijack are necessarily intercepted by the command interpreter 12 and by the security systems of the basic operating system 10.

L'utilisation d'un langage évolué devant être interprété, au niveau des échanges de la carte à puce avec l'extérieur, présente, également l'avantage, outre la sécurité qu'il apporte, de permettre d'écrire des programmes plus compacts et par conséquent d'économiser de l'espace mémoire. The use of an advanced language to be interpreted, at the level of exchanges of the smart card with the outside, has also the advantage, in addition to the security which it brings, of making it possible to write more compact programs. and therefore save memory space.

La mémoire, qui est constituée des parties vive (RAM) 3, et mortes non réinscriptible (ROM) 4 et réinscriptible (EEPROM) 5, a sa partie morte réinscriptible (EEPROM) 5 organisée, comme le montre la figure 2, selon une arborescence de répertoires dont les accès sont réglementés en fonction de leurs niveaux au moyen de serrures qui doivent être ouvertes au préalable à l'aide de clefs constituées par des codes. Le répertoire racine 20 est dit maître. II donne accès à un ou plusieurs niveaux inférieurs de répertoires 21, 22 dits répertoires dédiés. Les répertoires maître et dédiés renferment des fichiers élémentaires 200, 210, 220 et 221. The memory, which is made up of living (RAM) 3, and non-rewritable (ROM) 4 and rewritable (EEPROM) 5, has its rewritable dead (EEPROM) 5 organized, as shown in Figure 2, in a tree structure of directories whose accesses are regulated according to their levels by means of locks which must be opened beforehand using keys constituted by codes. The root directory 20 is said to be master. It gives access to one or more lower levels of directories 21, 22 known as dedicated directories. The master and dedicated directories contain elementary files 200, 210, 220 and 221.

Le répertoire maître 20 est pourvu d'une protection de premier rang et renferme dans ses fichiers élémentaires un programme maître de gestion de transaction. Le gestionnaire du répertoire maître peut transmettre des droits à divers promoteurs d'application de rangs inférieurs enregistrés aux niveaux des répertoires dédiés et leur proposer en menu les applications qu'il autorise.  The master directory 20 is provided with first-class protection and contains in its elementary files a master transaction management program. The manager of the master directory can transmit rights to various application promoters of lower ranks registered at the levels of dedicated directories and offer them in the menu the applications that he authorizes.

Le répertoire dédié 21 est pourvu d'une protection de deuxième rang et destiné à un promoteur d'applications de deuxième rang qui n'a pas généralement accès au répertoire maître mais qui peut créer, dans son répertoire, des applications en langage évolué avec droits d'accès. The dedicated directory 21 is provided with second rank protection and intended for a promoter of second rank applications which does not generally have access to the master directory but which can create, in its directory, applications in advanced language with rights access.

Le répertoire dédié 22 est pourvu d'une protection de troisième rang et destiné à un promoteur d'application de troisième rang et ainsi de suite. The dedicated directory 22 is provided with third-tier protection and intended for a third-party application promoter and so on.

Chaque application ou programme de gestion de transaction qu'il soit maître ou dédié est toujours écrit en langage évolué interprété et ne prend jamais la main sur le microcontrôleur sans passer par l'interpréteur de commande et la chaîne de sécurité du système d'exploitation de base. Each transaction management application or program, whether master or dedicated, is always written in advanced interpreted language and never takes control of the microcontroller without going through the shell and the operating system security chain of based.

Pour la réalisation d'une transaction, la carte à puce intelligente sécurisée communique en langage évolué et interprété, par l'intermédiaire du système d'exploitation de base, avec un lecteur qui lui fournit les ressources nécessaires telles que clavier, afficheur, liaison avec une ou plusieurs autres carte à puce ou avec un système informatique. Cette communication se fait, à l'alternat, sur l'initiative du lecteur qui est électriquement maître des échanges mais sous le contrôle logique de la carte à puce qui définit les étapes successives d'une transaction par le déroulement de son programme de gestion de transaction. To carry out a transaction, the secure smart card communicates in advanced and interpreted language, via the basic operating system, with a reader which provides it with the necessary resources such as keyboard, display, connection with one or more other smart cards or with a computer system. This communication is done, in the work-study program, on the initiative of the reader who is electrically in charge of exchanges but under the logical control of the smart card which defines the successive stages of a transaction by the running of its management program. transaction.

Le lecteur a la maîtrise électrique des échanges grâce à deux commandes qu'il émet en alternance à destination de la carte à puce, d'une part, une requête de mise à disposition d'un paquet d'instructions et de données élaborées au sein de la carte à puce dit "message carte" et d'autre part, une déclaration de compte rendu associée à un message de compte rendu sur l'exécution d'instructions reçues précédemment dans des messages carte. Ces deux commandes sont avantageusement la commande "get response" et la commande "enveloppe" ou "execute" définies dans les normes ISO7816/prEN726.  The reader has electrical control of the exchanges thanks to two commands which it sends alternately to the smart card, on the one hand, a request for the provision of a packet of instructions and data developed within of the smart card called "card message" and on the other hand, a report declaration associated with a report message on the execution of instructions previously received in card messages. These two commands are advantageously the "get response" command and the "envelope" or "execute" command defined in the ISO7816 / prEN726 standards.

La commande "get response" est constituée par l'envoi d'un message binaire comprenant cinq champs successifs de un octet:
- un premier champ nommé "CLA" renfermant un octet identifiant la classe de l'instruction, par exemple, instructions réservées aux applications bancaires,
- un deuxième champ nommé "INS" renfermant l'octet CO en hexadécimal identifiant le type de commande, "get response",
- un troisième champ réservé nommé "P1" renfermant l'octet 00 en hexadécimal,
- un quatrième champ réservé nommé "P2" renfermant l'octet 00 en hexadécimal, et
- un cinquième champ nommé "Le field" renfermant un octet dont la valeur n correspond au nombre d'octets attendus en réponse de la carte à puce.
The "get response" command consists of sending a binary message comprising five successive one-byte fields:
- a first field named "CLA" containing a byte identifying the class of the instruction, for example, instructions reserved for banking applications,
- a second field named "INS" containing the CO byte in hexadecimal identifying the type of command, "get response",
- a third reserved field named "P1" containing byte 00 in hexadecimal,
a fourth reserved field named "P2" containing the byte 00 in hexadecimal, and
- a fifth field called "The field" containing a byte whose value n corresponds to the number of bytes expected in response to the smart card.

Cette commande "get response" entraîne une réponse de la carte à puce dite "Data field" renfermant n octets de données, n étant le nombre déclaré dans son champ "Le field", et deux octets "SW1, SW2" de compte rendu carte. This "get response" command results in a response from the smart card called "Data field" containing n bytes of data, n being the number declared in its "Le field" field, and two bytes "SW1, SW2" of card report .

La commande "execute" est constituée par l'envoi d'un message binaire constitué de cinq champs successifs de un octet et d'un champ final de données de plusieurs octets:
- un premier champ nommé "CLA" renfermant un octet identifiant la classe de l'instruction, par exemple, instructions réservées aux applications bancaires,
- un deuxième champ nommé "INS" renfermant l'octet AE en hexadécimal identifiant le type de commande "execute",
- un troisième champ réservé nommé "P1" renfermant l'octet 00 en hexadécimal,
- un quatrième champ réservé nommé "P2" renfermant l'octet 00 en hexadécimal,
- un cinquième champ nommé "Lc field" renfermant un octet dont la valeur n correspond au nombre d'octets du message accompagnant la commande "execute", et
- un sixième champ final nommé "Data field" renfermant les n octets de données annoncés dans le cinquième champ "Lc field". Cette commande "execute" entraîne une réponse de la carte à puce de deux octets "SW1, SW2" donnant un compte rendu carte.
The "execute" command consists of sending a binary message consisting of five successive one-byte fields and a final data field of several bytes:
- a first field named "CLA" containing a byte identifying the class of the instruction, for example, instructions reserved for banking applications,
- a second field named "INS" containing the AE byte in hexadecimal identifying the type of command "execute",
- a third reserved field named "P1" containing byte 00 in hexadecimal,
- a fourth reserved field named "P2" containing byte 00 in hexadecimal,
a fifth field named "Lc field" containing a byte whose value n corresponds to the number of bytes of the message accompanying the "execute" command, and
- a sixth final field named "Data field" containing the n bytes of data announced in the fifth field "Lc field". This "execute" command results in a response from the two-byte smart card "SW1, SW2" giving a card report.

La commande "enveloppe" a la même constitution que la commande "execute" et s'en différencie par la valeur de l'octet de son deuxième champ "INS" identifiant la commande qui vaut C2 en hexadécimal.  The command "envelope" has the same constitution as the command "execute" and differs from it by the value of the byte of its second field "INS" identifying the command which is worth C2 in hexadecimal.

Dans ces trois messages, les champs respectifs "Le field" et "Lc field" déclarent la longueur du message carte attendu ou celle du message compte rendu du lecteur au moyen desquels transitent les instructions à exécuter et données associées en provenance de la carte à puce ainsi qu'en retour les comptes-rendus des actions exécutées par le lecteur et données résultantes. In these three messages, the respective fields "The field" and "Lc field" declare the length of the expected card message or that of the report message from the reader by means of which pass the instructions to be executed and associated data from the smart card as well as in return the reports of the actions executed by the reader and resulting data.

A l'introduction de la carte à puce intelligente dans le lecteur, la carte à puce se trouve détectée et mise sous tension par le lecteur qui lui envoie un ordre de remise à zéro selon la norme lSO7816-3. Il en résulte un processus d'initialisation du microcontrôleur de la carte à puce intelligente qui se termine par l'envoi au lecteur, depuis la carte à puce intelligente, d'une réponse d'acquittement à l'ordre de remise à zéro et par une mise en route du programme de gestion de transaction de la carte à puce intelligente pour un premier cycle de traitement aboutissant dans cette dernière à la préparation du premier message carte qui sera communiqué au lecteur dès que celui-ci en fera la demande au travers d'une requête de mise à disposition de message sous la forme d'une commande "get response". When the smart card is inserted into the reader, the smart card is detected and powered up by the reader, which sends it a reset order according to lSO7816-3 standard. This results in an initialization process of the microcontroller of the smart card which ends by sending to the reader, from the smart card, an acknowledgment response to the reset command and by a start-up of the smart card transaction management program for a first processing cycle leading to the preparation of the first card message which will be communicated to the reader as soon as the latter requests it through 'a request to make a message available in the form of a "get response" command.

A la réception de la réponse d'acquittement à l'ordre de remise à zéro, le lecteur entame un premier cycle d'échange de données avec la carte à puce intelligente. Upon receipt of the acknowledgment response to the reset command, the reader begins a first data exchange cycle with the smart card.

Au cours de ce premier cycle d'échange, le lecteur envoie en direction de la carte à puce intelligente une requête de mise à disposition de message, sous la forme d'une commande "get response", pour demander l'envoi du message carte préparé par la carte à puce intelligente après son initialisation. During this first exchange cycle, the reader sends a request for message provision, in the form of a "get response" command, to the smart card to request the sending of the card message. prepared by the smart card after initialization.

La carte à puce intelligente, à la réception d'une telle requête par la commande "get response", envoie le message carte préparé au lecteur. The smart card, on receipt of such a request by the "get response" command, sends the prepared card message to the reader.

Le lecteur reçoit le message carte, identifie les données qu'il contient, interprète le message, exécute les commandes demandées et répond à la carte à puce intelligente par une déclaration de compte rendu sous la forme d'une commande "enveloppe" ou "execute", avec un message de compte rendu rapportant à la carte à puce intelligente la façon dont il a réalisé ce qui lui a été demandé et le résultat de ce traitement. Cela termine le premier cycle d'échange.  The reader receives the card message, identifies the data it contains, interprets the message, executes the commands requested and responds to the smart card with a report statement in the form of an "envelope" or "execute" command. ", with a report message reporting to the smart card how it has achieved what has been asked of it and the result of this processing. This completes the first exchange cycle.

A la réception de la commande "enveloppe" ou "execute" du premier cycle d'échange en provenance du lecteur, la carte à puce intelligente poursuit le déroulement de son programme de gestion de transaction au cours d'un deuxième cycle de traitement pendant lequel elle vérifie d'abord l'exécution correcte du message carte qu'elle vient d'émettre au moyen du message de compte rendu, puis prépare un autre message carte. On receipt of the "envelope" or "execute" command of the first exchange cycle from the reader, the smart card continues to run its transaction management program during a second processing cycle during which it first checks the correct execution of the card message it has just sent using the report message, then prepares another card message.

Le lecteur entame ensuite un deuxième cycle d'échange en envoyant à la carte à puce intelligente une deuxième commande "get response" pour lire le nouveau message carte. Après traitement des données de ce nouveau message carte, le lecteur rend compte de son exécution à la carte à puce intelligente, au moyen d'un message de compte rendu incorporé à une deuxième commande "enveloppe" ou "execute" qui clôt le deuxième cycle d'échange. The reader then begins a second exchange cycle by sending the smart card a second "get response" command to read the new card message. After processing the data of this new card message, the reader reports on its execution to the smart card, by means of a report message incorporated into a second "envelope" or "execute" command which closes the second cycle. exchange.

La carte à puce intelligente, à la réception de cette deuxième commande "enveloppe" ou "execute" en provenance du lecteur entame alors, toujours sous le contrôle de son programme de gestion de transaction, un troisième cycle de traitement au cours duquel elle vérifie l'exécution correcte du message carte qu'elle vient d'émettre, au moyen du message de compte rendu reçu du lecteur, puis prépare un autre message carte. The intelligent smart card, on receipt of this second "envelope" or "execute" command from the reader then begins, still under the control of its transaction management program, a third processing cycle during which it checks the correct execution of the card message which it has just sent, by means of the report message received from the reader, then prepares another card message.

Le lecteur entame alors un troisième cycle d'échange en envoyant à la carte à puce intelligente une troisième commande "get response" pour recevoir ce message carte. The reader then begins a third exchange cycle by sending the smart card a third "get response" command to receive this card message.

Les cycles de traitement, à l'initiative de la carte à puce intelligente, et d'échange, à l'initiative du lecteur, se succèdent en fonction du programme de gestion de la transaction stocké dans la carte à puce intelligente. The processing cycles, at the initiative of the smart chip card, and of exchange, at the initiative of the reader, follow one another according to the transaction management program stored in the smart chip card.

Conformément à la norme ISO7816-3 le lecteur 1 est électriquement maître des échanges, mais le déroulement de la transaction se fait à l'initiative de la carte à puce 4 qui est intelligente. In accordance with ISO7816-3, reader 1 is electrically in charge of exchanges, but the transaction takes place on the initiative of smart card 4, which is intelligent.

Le lecteur peut comporter plusieurs connecteurs de carte à puce. The reader can have several smart card connectors.

Dans ce cas, une seule carte à puce intelligente à la fois pilote la transaction. La carte à puce intelligente qui pilote la transaction est dite "active". Les autres sont dites "passives" La carte à puce intelligente déclarée active est la première qui est capable de fournir une réponse a une instruction "get response" du lecteur. In this case, only one smart card at a time controls the transaction. The smart card that controls the transaction is said to be "active". The others are said to be "passive". The smart card declared active is the first which is capable of providing a response to a "get response" instruction from the reader.

Claims (3)

REVENDICATIONS 1. Carte à puce intelligente sécurisée (1), équipée d'une mémoire (3, 4, 5) et d'un microcontrôleur (2), caractérisée en ce qu'elle comporte stocké en mémoire: 1. Secure smart card (1), equipped with a memory (3, 4, 5) and a microcontroller (2), characterized in that it includes stored in memory: - un système d'exploitation de base (10), en code exécutable adapté au type de microcontrôleur (2), gérant les accès à sa mémoire (3, 4, 5) avec des clefs d'autorisation pour certaines zones, - a basic operating system (10), in executable code adapted to the type of microcontroller (2), managing access to its memory (3, 4, 5) with authorization keys for certain zones, - un interpréteur de commandes (12) assurant l'interface entre un programme de gestion de transaction (13) et le système d'exploitation de base (10), et a command interpreter (12) providing the interface between a transaction management program (13) and the basic operating system (10), and -au moins un fichier contenant ledit programme de gestion de transaction (13) écrit dans un langage évolué et interprété, ineffectif sans traduction par l'interpréteur de commandes (12). at least one file containing said transaction management program (13) written in an advanced and interpreted language, ineffective without translation by the command interpreter (12). 2. Carte à puce intelligente sécurisée selon la revendication 1, caractérisée en ce que ledit fichier contenant un programme de gestion de transaction (13) en langage évolué et interprété est stocké en une zone de la mémoire morte et réinscriptible de type EEPROM. 2. Secure smart card according to claim 1, characterized in that said file containing a transaction management program (13) in advanced and interpreted language is stored in a read-only and rewritable EEPROM type memory area. 3. Carte à puce intelligente sécurisée selon la revendication 1, caractérisée en ce que ledit système d'exploitation de base (10) et ledit interpréteur de commandes (12) sont stockés en une zone de la mémoire morte et non réinscriptible de type ROM.  3. Secure smart card according to claim 1, characterized in that said basic operating system (10) and said command interpreter (12) are stored in an area of the ROM and not rewritable ROM type.
FR9506370A 1995-05-30 1995-05-30 SECURE INTELLIGENT CHIP CARD Expired - Lifetime FR2734934B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR9506370A FR2734934B1 (en) 1995-05-30 1995-05-30 SECURE INTELLIGENT CHIP CARD
PCT/FR1996/000796 WO1996038825A1 (en) 1995-05-30 1996-05-28 Protected smart card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9506370A FR2734934B1 (en) 1995-05-30 1995-05-30 SECURE INTELLIGENT CHIP CARD

Publications (2)

Publication Number Publication Date
FR2734934A1 true FR2734934A1 (en) 1996-12-06
FR2734934B1 FR2734934B1 (en) 1997-07-04

Family

ID=9479470

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9506370A Expired - Lifetime FR2734934B1 (en) 1995-05-30 1995-05-30 SECURE INTELLIGENT CHIP CARD

Country Status (2)

Country Link
FR (1) FR2734934B1 (en)
WO (1) WO1996038825A1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19609184A1 (en) * 1996-03-09 1997-09-11 Wolfgang Salge Smart card
US6317832B1 (en) 1997-02-21 2001-11-13 Mondex International Limited Secure multiple application card system and process
DE19714259C2 (en) * 1997-04-08 2000-08-31 Angewandte Digital Elektronik Method for using values as electronic storage units in chip cards
US6230267B1 (en) 1997-05-15 2001-05-08 Mondex International Limited IC card transportation key set
US6357665B1 (en) 1998-01-22 2002-03-19 Mondex International Limited Configuration of IC card
WO1999038131A1 (en) * 1998-01-22 1999-07-29 Mondex International Limited Codelets
FR2819909B1 (en) * 2001-01-22 2003-05-02 Gemplus Card Int METHOD FOR CREATING SECURE PRIVATE DATA FILES AND CHIP CARD COMPRISING A SECURE PRIVATE FILE

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2657445A1 (en) * 1990-01-25 1991-07-26 Gemplus Card Int METHOD FOR LOADING APPLICATION PROGRAMS IN A MICROPROCESSOR MEMORY CARD READER AND SYSTEM FOR ITS IMPLEMENTATION
FR2667171A1 (en) * 1990-09-25 1992-03-27 Gemplus Card Int Portable support with easily programmable microcircuit and method of programming this microcircuit
WO1994010657A1 (en) * 1992-10-26 1994-05-11 Intellect Australia Pty. Ltd. Host and user transaction system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2638868B1 (en) * 1988-11-09 1990-12-21 Bull Cp8 SECURE DOWNLOAD SYSTEM FOR A TERMINAL AND METHOD IMPLEMENTED

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2657445A1 (en) * 1990-01-25 1991-07-26 Gemplus Card Int METHOD FOR LOADING APPLICATION PROGRAMS IN A MICROPROCESSOR MEMORY CARD READER AND SYSTEM FOR ITS IMPLEMENTATION
FR2667171A1 (en) * 1990-09-25 1992-03-27 Gemplus Card Int Portable support with easily programmable microcircuit and method of programming this microcircuit
WO1994010657A1 (en) * 1992-10-26 1994-05-11 Intellect Australia Pty. Ltd. Host and user transaction system

Also Published As

Publication number Publication date
FR2734934B1 (en) 1997-07-04
WO1996038825A1 (en) 1996-12-05

Similar Documents

Publication Publication Date Title
FR2734937A1 (en) INTELLIGENT CHIP CARD SYSTEM
USRE39269E1 (en) Data exchange system comprising portable data processing units
EP0552079B1 (en) Mass memory card for microcomputer
US7185110B2 (en) Data exchange system comprising portable data processing units
RU2148856C1 (en) Information exchange system
CH631561A5 (en) PORTABLE INFORMATION MEDIUM FOR STORING AND PROCESSING INFORMATION.
EP0540095A1 (en) Microcircuit for an IC-card with protected programmable memory
EP0552077B1 (en) Mass memory card for microcomputer with facilities for execution of internal programs
WO1995016246A1 (en) Memory card and operation method
FR2591006A1 (en) Portable electronic device
EP0785514A1 (en) Secure programme operating method in a microprocessor card comprising a secure programme
WO2006000531A1 (en) Method of managing a multi-application smart card
CA2261620C (en) Man-machine interface for a smart card reader
FR2734934A1 (en) SECURE INTELLIGENT CHIP CARD
WO1996038804A1 (en) Smart card reader
FR2808359A1 (en) MULTI-APPLICATIVE CHIP CARD
FR2810481A1 (en) Control of access to data processing installation, uses transformation of entered code and stored access code so comparison is carried out on transformed rather than actual codes
EP1155389B1 (en) Device for secure access to a chip card applications
FR2814557A1 (en) PROTECTION AGAINST THE ABUSE OF AN INSTRUCTION IN A MEMORY
CA3143068A1 (en) Service application system for payment terminals
EP0944880A1 (en) Security module comprising means generating links between main files and auxiliary files
CA2219823C (en) Smart card system
EP1129430B2 (en) Method and device for controlling a portable object life cycle, in particular a smart card
EP0997854B1 (en) Device for controlling the access in an IC card
FR2818767A1 (en) Method for exploring electronic cards, comprises management program which contains a manager of object programs independent of smart cards and object programs which may contain code, data and a tree like structure

Legal Events

Date Code Title Description
TP Transmission of property
TP Transmission of property
GC Lien (pledge) constituted
CD Change of name or company name
RG Lien (pledge) cancelled
RG Lien (pledge) cancelled