WO2001084512A1 - Carte a puce multi-applicatives - Google Patents

Carte a puce multi-applicatives Download PDF

Info

Publication number
WO2001084512A1
WO2001084512A1 PCT/FR2001/001229 FR0101229W WO0184512A1 WO 2001084512 A1 WO2001084512 A1 WO 2001084512A1 FR 0101229 W FR0101229 W FR 0101229W WO 0184512 A1 WO0184512 A1 WO 0184512A1
Authority
WO
WIPO (PCT)
Prior art keywords
chip
operating system
memory
card
application
Prior art date
Application number
PCT/FR2001/001229
Other languages
English (en)
Inventor
Emilien Charbonnier
Original Assignee
Gemplus
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gemplus filed Critical Gemplus
Priority to AU2001254898A priority Critical patent/AU2001254898A1/en
Publication of WO2001084512A1 publication Critical patent/WO2001084512A1/fr

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating 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/3555Personalisation of two or more cards
    • 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
    • G06Q20/3576Multiple memory zones on card

Definitions

  • the present invention relates generally to smart cards, and more particularly to multi-application smart cards. It also applies to any other portable smart medium, such as a smart keychain.
  • the present invention relates generally to smart cards, and more particularly to multi-application smart cards. It also applies to any other portable smart medium, such as a smart keychain.
  • Recommendations 7816-1 and 2 define the physical specificities of smart cards.
  • At least one memory area At least one memory area, and a processing unit supporting so-called native functions, which are integrated by masking in the chip during its manufacture.
  • the chip further includes an operating system.
  • This operating system is defined in the context of the present invention as software, or a software interface, for accessing and managing physical physical resources (memories, input / output unit, interruptions, etc.). of the chip.
  • This operating system is typically written in a part of ROM memory of the chip.
  • This operating system provides for example the management of inputs / outputs, the management of interruptions, the management of files / memory spaces. It thus makes possible the development of an application without knowledge by the developer of the physical physical resources of the chip intended to implement this application. Physical resources are somehow translated by the operating system in the form of
  • Smart card technologies have been marked in recent years by an important development, namely the arrival of so-called "open” smart cards.
  • Smart cards have in fact evolved from being initially only proprietary devices and dedicated to one or more very specific application (s) to become media specific to the development of open applications, from which all programmers can develop applications using common, standard language.
  • the JavaCard TM standard promoted and licensed by SUN, or the Smart Card for Windows TM solution licensed by MICROSOFT Corp. each offers an open interface in the form of:
  • the invention provides a smart card type support comprising a chip, the chip comprising at least one memory area and a processing unit, said at least one memory area storing a first system of 'exploitation, or the first software interface to access physical resources.
  • the medium is characterized in that said at least one memory area stores at least a second operating system, or second software interface for accessing physical resources, which is different from the first operating system.
  • the memory additionally stores a program for initializing one or the other of said first and second operating systems, as a result of an exchange of data between said chip and a unit with which said chip communicates.
  • each operating system is associated with a respective pair of memory zones, each pair of memory zones memorizing a respective operating system and data used or produced by an application program, and that the chip also stores a memory management module to deny access to one of the operating systems and to data from an associated application program, by the other of the operating systems or by any other application program defined for this other operating system.
  • a unit for communicating with a card-type support comprises means for sending to said card an operating system selection message.
  • FIG. 1 is a schematic representation of the hardware and software layers implemented in a chip of a smart card according to the prior art
  • FIG. 4 is a flow diagram of a selection program for any of the operating systems implemented in the chip of the smart card as a result of a data exchange between said card and a unit with which said card communicated.
  • the chip comprises a processing unit 1 (CPU) suitable for executing particular applications 7 ⁇ , 7 2 , 7 3 ("Applets" in English terminology).
  • Basic 2 functions that is to say implemented in software in the form of an original operating system
  • / or native functions that is to say implemented in the hardware of the chip
  • a virtual machine (Virtual Machine in Anglo-Saxon literature) 4 and application programming interfaces (APIs) 3 are stored in a memory area of the chip.
  • These machine 4 and application programming interfaces 3 each comprise a part which is implemented as a function of the chosen processing unit 1, and another independent and identical part whatever the processing unit used.
  • the chip integrates two operating systems. In practice, still according to the invention, more than two operating systems can be provided. It should be noted that the applicant has developed a 2 Mbyte smart card, making it possible to integrate two operating systems into a chip.
  • At least two operating systems 20 and 21 are implemented in the chip.
  • each of the references 20 and 21 only identifies approximately what should be called “operating system", the definition of "operating system” being clearly accepted in the technical field of smart cards.
  • Each of these two operating systems is defined as a set of software functions ensuring the management of the elementary hardware functions (processing unit and memories) in the chip.
  • Some basic functions hardware can be implemented in the hardware of the chip in the form of so-called native or wired functions, for example cryptography functions.
  • the first operating system 20 is defined by the reference 2, and by a part of the elements bearing the references 4 and 3.
  • the second operating system 21 is defined by portions of the elements bearing the references
  • the first operating system 20, already presented with reference to FIG. 1, comprises a part of the virtual machine 4 and application programming interfaces (APIs) 3 which are stored in a memory area of the chip.
  • APIs application programming interfaces
  • machine 4 and application programming interface 3 each comprise a part which is implemented as a function of the hardware used, and another independent and identical part whatever the processing unit used.
  • these machine 4 and application programming interface 3 rely on the basic operating system functions associated with the reference 2.
  • the virtual machine 4 and the APIs 3 "hide" the processing unit CPU and the original operating system whatever they are, and any person can therefore develop any application 7- ⁇ , 7 2 , 73 independently of the native functions and operating system initially included in the card.
  • These applications 7 ⁇ , 7 2 , 7 3 can, for example, be telecommunications banking applications, electronic purses, etc.
  • the second operating system for example Smart Card for Windows TM, for its part comprises an input / output management module 10, a cryptography module 11 and a file management module 12.
  • the chip also stores , application programming interfaces (APIs) 14, an order and application verification module 13 and an authentication and authorization module 15.
  • APIs application programming interfaces
  • the second operating system is used by the chip 1 to execute applications 7 ⁇ , 7 2 , 73 which are supported and executed by means of an operating system different from that used for the execution of applications 8 15 8 2j 8 3 .
  • the so-called basic functions of the operating system 21, such as those associated with references 10, 11 and 12 are either implemented in software (in the form of an original operating system) or else in native forms (it ie implemented in the hardware of the chip).
  • each operating system 20 and 21 is associated with a pair of respective memory areas (20 ⁇ , 20 2 ) and (21 ⁇ , 21 2 ) suitable for storing said operating systems and the data used or produced by each application program.
  • a given operating system and the data of an associated application program cannot be accessed by another operating system or by any other application program defined for this other operating system.
  • the processing unit 1 accesses through a data and control bus to different memory areas 20 ⁇ , 20 2 and 21 1 , 21 2 through a memory management module M.
  • the memory areas 20- ⁇ , 21 1 are memory areas, typically
  • the memory management module M is in the form of a software program which manages access and security of access to the memory areas 20 ⁇ , 20 2 and 21 1 , 21 2 .
  • This memory management module M operates as follows: when access to a given address is requested by the processing unit 1, the module verifies that the address is an address of a memory area 20- ⁇ , 20 2 or 21 ⁇ , 21 2 associated with the only operating system 20 or 21 which is active at the time of the access request. If this is the case, the access request is validated and the processing unit 1 then accesses the requested memory address. If this is not the case, the memory management module M sends an interrupt message to the processing unit 1.
  • the smart card inserted in a reader or entering an electromagnetic field, is supplied (Step 30) by an energy source.
  • the card activates a “boot” module, or boot software module (Step 31).
  • the unit sends the card an operating system selection message.
  • This message is received by the card (Step 32).
  • the boot module initializes the selected operating system (Step 33), typically by transmitting to the processing unit 1 the address of a first instruction to be executed from the selected operating system.
  • the selected operating system is thus initialized.
  • the application (electronic wallet, etc.) to be implemented is then activated according to a scheme known according to the prior art for the type of application considered (Step 34).

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Stored Programmes (AREA)

Abstract

L'invention propose un support de type carte à puce comprenant une puce, ladite puce comprenant au moins une zone de mémoire et une unité de traitement (1), ladite au moins une zone de mémoire mémorisant un premier système d'exploitation (20), ou première interface logicielle d'accès à des ressources physiques, caractérisé en ce que ladite au moins une zone de mémoire mémorise au moins un second système d'exploitation (21), ou seconde interface logicielle d'accès à des ressources physiques, qui est différent du premier système d'exploitation (20).

Description

CARTE A PUCE MULTI-APPLICATIVES.
La présente invention concerne de manière générale les cartes à puce, et plus particulièrement les cartes à puce multi-applicatives. Elle s'applique également à tout autre support portable à puce, tel que porte-clé à puce. Les
Recommandations 7816-1 et 2 définissent les spécificités physiques des cartes à puce.
Une puce d'une carte à puce est un composant électronique comprenant des ressources matérielles sous la forme de :
- au moins une zone de mémoire, et une unité de traitement supportant des fonctions dites natives, qui sont intégrées par masquage dans la puce lors de sa fabrication.
La puce comprend, en outre, un système d'exploitation. Ce système d'exploitation est défini dans le cadre de la présente invention comme un logiciel, ou une interface logicielle, d'accès aux et de gestion des ressources physiques matérielles (mémoires, unité d'entrée/sortie, interruptions, etc ..) de la puce. Ce système d'exploitation est typiquement inscrit dans une partie de mémoire ROM de la puce. Ce système d'exploitation assure par exemple la gestion des entrées/sorties, la gestion des interruptions, la gestion des fichiers/espaces mémoires. Il rend ainsi possible le développement d'une application sans une connaissance par le développeur des ressources physiques matérielles de la puce destinée à mettre en œuvre cette application. Les ressources physiques sont en quelque sorte traduites par le système d'exploitation sous la forme de
« ressources logiques », telles que des commandes élémentaires. Lorsqu'un programme applicatif déterminé est exécuté par la puce de la carte, le système d'exploitation est mis à contribution dans les fonctions de gestion précitées.
Les technologies de la carte à puce ont été marquées ces dernières années par une évolution importante, à savoir l'arrivée de cartes à puce dites "ouvertes". Les cartes à puce ont en effet évolué en n'étant au départ que des dispositifs propriétaires et dédiés à une ou des applications bien particulière(s) pour devenir des supports propres au développement d'applications ouvertes, à partir desquels tous les programmeurs peuvent développer des applications en utilisant un langage commun et standard. A titre d'exemple, le standard JavaCard ™ promu et licensié par SUN, ou la solution Smart Card for Windows™ licensiée par MICROSOFT Corp. propose chacun une interface ouverte sous la forme de :
(1) - un logiciel de type Machine Virtuelle offrant une interopérabilité de la carte indépendamment de son système d'exploitation, ce logiciel permettant notamment le développement de programmes applicatifs dans un langage donné indépendamment du système d'exploitation ; et (2) - un logiciel d'interface de programmation, formant partie du système d'exploitation et offrant une interopérabilité de la carte indépendamment du matériel, ou hardware en terminologie anglo-saxonne.
Ces logiciels (1) et (2) "masquent" l'unité de traitement et le système d'exploitation originels quels qu'ils soient, et toute personne peut donc développer une quelconque application indépendamment des fonctions natives et du système d'exploitation inclus initialement dans la carte. Il suffit à cette personne de connaître le langage informatique ouvert qui est supporté par la Machine Virtuelle de la carte. A titre d'exemple, ce langage informatique de développement d'application peut être Visual basic ™.
L'objectif initial visé par la spécification d'une interface ouverte, qui est de permettre la définition d'une « plate-forme » ouverte et commune pour le développement d'une application par un tiers quelconque, est contrecarré par les offres multiples qui existent pour de telles interfaces ouvertes.
D'une part, l'utilisateur de telles cartes devra posséder autant de cartes qu'il existent de plateformes ouvertes permettant le développement d'applications, s'il souhaite accéder à l'ensemble des applications existantes, ce qui va à rencontre de l'objectif visé par de tels systèmes ouverts. Il en résulte par ailleurs que chaque application développée pour une interface ouverte donnée devra être complètement conçue à nouveau lorsqu'elle devra être implémentée pour une autre interface ouverte. Afin de remédier aux inconvénients précités, l'invention fournit prévoit un support de type carte à puce comprenant une puce, la puce comprenant au moins une zone de mémoire et une unité de traitement, ladite au moins une zone de mémoire mémorisant un premier système d'exploitation, ou première interface logicielle d'accès à des ressources physiques. Le support se caractérise en ce que ladite au moins une zone de mémoire mémorise au moins un second système d'exploitation, ou seconde interface logicielle d'accès à des ressources physiques, qui est différent du premier système d'exploitation.
Ainsi, des applications développées pour chacun des deux systèmes d'exploitation peuvent être mises en oeuvre par une même carte.
Avantageusement, la mémoire mémorise en outre un programme pour initialiser l'un ou l'autre desdits premier et second systèmes d'exploitation, en résultat d'un échange de données entre ladite puce et une unité avec laquelle ladite puce communique.
Il peut être par ailleurs prévu qu'à chaque système d'exploitation est associé un couple de zones mémoire respectif, chaque couple de zones mémoire mémorisant un système d'exploitation respectif et des données utilisées ou produites par un programme applicatif, et que la puce mémorise, en outre, un module de gestion mémoire pour refuser tout accès à l'un des systèmes d'exploitation et à des données d'un programme applicatif associé, par l'autre des systèmes d'exploitation ou par un quelconque autre programme applicatif défini pour cet autre système d'exploitation.
Une unité pour communiquer avec un support de type carte conforme à l'invention comprend un moyen pour envoyer à ladite carte un message de sélection de système d'exploitation.
D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description qui suit, en référence aux dessins annexés correspondants dans lesquels : - la Figure 1 est une représentation schématique des couches matérielles et logicielles implémentées dans une puce d'une carte à puce selon la technique antérieure;
- la Figure 2 est une représentation schématique des couches matérielles et logicielles implémentées dans une puce d'une carte à puce selon l'invention;
- la Figure 3 est un bloc-diagramme schématique d'une implémentation matérielle, ou hardware, d'une puce de carte selon l'invention; et
- la Figure 4 est un organigramme d'un programme de sélection de l'un quelconque des systèmes d'exploitation implémentés dans la puce de la carte à puce en résultat d'un échange de données entre ladite carte et une unité avec laquelle ladite carte communique.
En référence à la Figure 1 , selon une réalisation donnée à titre d'exemple, dans une implémentation conventionnelle d'une interface ouverte par exemple de type « JavaCard™ » dans une puce de carte à puce, la puce comprend une unité de traitement 1 (CPU) propre à exécuter des applications particulières 7<ι, 72, 73 (« Applets » en terminologie anglo-saxonne). Des fonctions 2 de base (c'est à dire implémentées en software sous la forme d'un système d'exploitation originel) et/ou natives (c'est à dire implémentées dans le hardware de la puce) sont exécutées par la puce. Une machine virtuelle (Virtual Machine en littérature anglo-saxonne) 4 et des interfaces de programmation d'application (APIs) 3 sont mémorisées dans une zone mémoire de la puce. Ces machine 4 et interfaces de programmation d'application 3 comprennent chacune une partie qui est mise en œuvre en fonction de l'unité de traitement 1 choisie, et une autre partie indépendante et identique quelque soit l'unité de traitement utilisée. La machine virtuelle 4 et les
APIs 3 "masquent" l'unité de traitement CPU et le système d'exploitation originel quels qu'ils soient, et toute personne peut donc développer une quelconque application 7ι, 72, 73 indépendamment des fonctions natives et système d'exploitation inclus initialement dans la carte. Ces applications 7ι, 72, 7z peuvent, à titre d'exemple, être des applications bancaires, des applications de télécommunications, de porte-monnaie électronique, etc Un gestionnaire (non représenté) est utilisé pour sécuriser les accès aux différentes mémoires et zones de ces mémoires afin d'éviter par exemple l'accès par une application 7ι à une zone de mémoire qui ne lui est pas allouée. Le repère 5 désigne un chargeur (« Loader » en littérature anglo-saxonne). Ce chargeur 5 est un programme de software pour charger dans la puce de la carte les applications 7\, 72, 73. Il implémente un protocole d'échange avec un serveur distant ou une quelconque unité, tel que lecteur de carte, etc.. avec laquelle la carte coopère pour le chargement d'applications, il assure le stockage dans la puce de cette application dans une zone de mémoire donnée, etc ..
Dans la description qui suit d'un support de type carte à puce, il est prévu selon l'invention que la puce intègre deux systèmes d'exploitation. En pratique, toujours selon l'invention, plus de deux systèmes d'exploitation peuvent être prévus. Il est à noter que la demanderesse a mis au point une carte à puce de 2 Moctets, rendant possible l'intégration dans une puce de deux systèmes d'exploitation.
En référence à la Figure 2, une puce d'une carte à puce selon l'invention comprend une unité de traitement 1 (CPU) propre à exécuter des premières applications 71s 72, 73, par exemple écrites en langage Visual Basic™ ainsi que des secondes applications 81, 82, 83 par exemple écrite en langage Java™. En pratique, les applications 7ι, 72, 73, d'une part, et 81, 8 83 .d'autre part, peuvent être écrites dans un même langage, cela ne dépendant que des Machines Virtuelles qui sont utilisées. Néanmoins, une application donnée devra préférentiellement être exécutée par l'un particulier des deux systèmes d'exploitation pour assurer son exécution dans un environnement approprié eu égard aux critères de sécurité, de temps de traitement, etc..., chaque système d'exploitation offrant un environnement particulier plus particulièrement adapté à certaines applications et pas à d'autres.
Selon une caractéristique fondamentale de l'invention, au moins deux systèmes d'exploitation 20 et 21 sont mis en œuvre dans la puce. L'homme du métier conviendra que chacune des références 20 et 21 ne repère qu'approximativement ce qu'il convient d'appeler « Système d'exploitation », la définition de « système d'exploitation » étant clairement admise dans le domaine technique des cartes à puce. Chacun de ces deux systèmes d'exploitation est défini comme un ensemble de fonctions logicielles assurant la gestion des fonctions élémentaires matérielles (unité de traitement et mémoires) dans la puce. Certaines fonctions élémentaires matérielles peuvent être implémentées dans le hardware de la puce sous la forme de fonctions dites natives ou câblées, par exemple des fonctions de cryptographie. Dans la Figure 2, le premier système d'exploitation 20 est défini par la référence 2, et par une partie des éléments portant les références 4 et 3. Le second système d'exploitation 21 est défini par des portions des éléments portant les références
10, 11 et 12.
Le premier système d'exploitation 20, déjà présenté en référence à la Figure 1 , comprend une partie de la machine virtuelle 4 et des interfaces de programmation d'application (APIs) 3 qui sont mémorisées dans une zone de mémoire de la puce.
Ces machine 4 et interface de programmation d'application 3 comprennent chacune une partie qui est mise en œuvre en fonction du hardware utilisé, et une autre partie indépendante et identique quelque soit l'unité de traitement utilisée. En outre, ces machine 4 et interface de programmation d'application 3 s'appuient sur les fonctions de base de système d'exploitation associées au repère 2. Les machine virtuelle 4 et les APIs 3 "masquent" l'unité de traitement CPU et le système d'exploitation originel quels qu'ils soient, et toute personne peut donc développer une quelconque application 7-ι, 72, 73 indépendamment des fonctions natives et système d'exploitation inclus initialement dans la carte. Ces applications 7ι, 72, 73 peuvent, à titre d'exemple, être des applications bancaires de télécommunications, de porte-monnaie électronique, etc
Le second système d'exploitation, par exemple Smart Card for Windows™, comprend pour sa part, un module de gestion des entrées/sorties 10, un module de cryptographie 11 et un module de gestion de fichiers 12. La puce mémorise, en outre, des interfaces de programmation d'application (APIs) 14, un module de vérification des commandes et applications 13 et un module d'authentificatioπ et d'autorisation 15. Le second système d'exploitation est mis à contribution par la puce 1 pour exécuter les applications 7ι, 72, 73 qui sont supportées et exécutées au moyen d'un système d'exploitation différent de celui utilisé pour l'exécution des applications 815 82j 83. Les fonctions dites de base du système d'exploitation 21 , telles que celles associées aux références 10, 11 et 12 sont ou bien implémentées en software (sous la forme d'un système d'exploitation originel) ou bien sous formes natives (c'est à dire implémentées dans le hardware de la puce). Comme montré dans la Figure 3, à chaque système d'exploitation 20 et 21 est associé un couple de zones mémoire respectif (20ι, 202) et (21ι, 212) propre à mémoriser lesdits systèmes d'exploitation et les données utilisées ou produites par chaque programme applicatif. Un système d'exploitation donné et les données d'un programme applicatif associé ne sont pas accessibles par un autre système d'exploitation ou par un quelconque autre programme applicatif défini pour cet autre système d'exploitation. Pour cela, un mécanisme de sécurité est prévu. L'unité de traitement 1 accède à travers un bus de données et de commande à différentes zones mémoire 20ι, 202 et 211, 212 à travers un module de gestion de mémoire M. Les zones mémoire 20-ι, 211 sont des zones mémoire, typiquement
ROM, qui mémorisent respectivement les systèmes d'exploitation 20 et 21. Les zones mémoire de données 202, 212 sont des zones mémoire qui mémorisent respectivement les données propres à l'exécution d'un programme applicatif. Le module de gestion de mémoire M est sous la forme d'un programme logiciel qui gère l'accès et la sécurité des accès aux zones mémoire 20ι, 202 et 211, 212. Ce module de gestion de mémoire M opère de la manière suivante : lorsqu'un accès à une adresse donnée est demandé par l'unité de traitement 1 , le module vérifie que l'adresse est une adresse d'une zone mémoire 20-ι, 202 ou 21ι, 212 associée avec le seul des systèmes d'exploitation 20 ou 21 qui est actif au moment de la demande d'accès. Si tel est le cas, la demande d'accès est validée et l'unité de traitement 1 accède alors à l'adresse mémoire demandée. Si tel n'est pas le cas, le module de gestion de mémoire M renvoie un message d'interruption à l'unité de traitement 1.
En référence à la Figure 4, il est maintenant expliqué en détails un mécanisme d'activation de l'un ou l'autre des systèmes d'exploitation selon un mode de réalisation préférentiel. Les deux systèmes d'exploitation « cohabitant » dans la carte, il est impératif de prévoir l'activation sélective de l'un ou l'autre de ces deux systèmes d'exploitation selon le programme applicatif à activer. L'invention prévoit d'utiliser avantageusement le fait qu'une carte opère en pratique en mode esclave, c'est à dire qu'elle exécute les opérations que lui demande d'exécuter une unité (lecteur, serveur distant, etc..) avec laquelle elle communique . Ainsi, à titre d'exemple, selon la Recommandation ISO 7816-4, la sélection d'un protocole, par exemple T=1 ou T=0, de communication entre l'unité et la carte est toujours décidée par cette unité, la puce dans la carte se limitant à activer les circuits et éléments logiciels nécessaires à l'activation du protocole sélectionné par l'unité. L'invention prévoit d'utiliser avantageusement cette caractéristique pour proposer que l'activation de l'un ou l'autre des systèmes d'exploitation se fasse à la demande de l'unité avec laquelle la carte communique.
Comme montré dans la Figure 4, la carte à puce, introduite dans un lecteur ou rentrant dans un champ électromagnétique, se trouve alimentée (Etape 30) par une source d'énergie. En réponse à cette alimentation, la carte active un module de « boot », ou module logiciel de démarrage (Etape 31). Lors d'un premier échange de données entre la carte (le module de boot) et l'unité, tel que lecteur, avec laquelle la carte communique, l'unité envoie à la carte un message de sélection de système d'exploitation. Ce message est reçu par la carte (Etape 32). En réponse à ce message, le module de boot initialise le système d'exploitation sélectionné (Etape 33), typiquement en transmettant à l'unité de traitement 1 l'adresse d'une première instruction à exécuter du système d'exploitation sélectionné. Le système d'exploitation sélectionné est ainsi initialise. L'application (porte-monnaie électronique, etc..) devant être mise en œuvre est ensuite activée selon un schéma connu selon la technique antérieure pour le type d'application considéré (Etape 34).

Claims

REVENDICATIONS
1 - Support de type carte à puce comprenant une puce, ladite puce comprenant au moins une zone de mémoire et une unité de traitement (1), ladite au moins une zone de mémoire (20ι, 202, 211, 212) mémorisant un premier système d'exploitation (20), ou première interface logicielle d'accès à des ressources physiques, caractérisé en ce que ladite au moins une zone de mémoire mémorise au moins un second système d'exploitation (21), ou seconde interface logicielle d'accès à des ressources physiques, qui est différent du premier système d'exploitation (20).
2 - Support de type carte à puce conforme à la revendication 1 , caractérisé en ce que ladite mémoire mémorise, en outre, un programme pour initialiser l'un ou l'autre desdits premier et second systèmes d'exploitation (20, 21), en résultat d'un échange de données entre ladite puce et une unité avec laquelle ladite puce communique.
3 - Support de type carte à puce conforme à l'une quelconque des revendications précédentes, caractérisé en ce qu'à chaque système d'exploitation (20 ; 21) est associé un couple de zones mémoire respectif (20 ( 202 ; 211, 212), chaque couple de zones mémoire (20-ι, 202 ; 211, 212) mémorisant un système d'exploitation respectif (20, 21) et des données utilisées ou produites par un programme applicatif (7-ι, 72, 73 ; 81, 82, 83), et en ce que ladite puce mémorise, en outre, un module de gestion mémoire (M) pour refuser tout accès à l'un des systèmes d'exploitation (20 ; 21) et à des données d'un programme applicatif (7<\, 72, 73 ; 81,
82, 83) associé, par l'autre (21, 20) des systèmes d'exploitation ou par un quelconque autre programme applicatif (81, 82, 83 57-1, 72j 73 )défini pour cet autre système d'exploitation.
4 - Unité pour communiquer avec un support de type carte à puce conforme à l'une quelconque des revendications précédentes, caractérisée en ce qu'elle comprend un moyen pour envoyer à ladite puce dudit support un message de sélection de système d'exploitation (31 , 32).
PCT/FR2001/001229 2000-04-28 2001-04-20 Carte a puce multi-applicatives WO2001084512A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001254898A AU2001254898A1 (en) 2000-04-28 2001-04-20 Multiple application smart card

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0005539A FR2808359B1 (fr) 2000-04-28 2000-04-28 Carte a puce multi-applicatives
FR00/05539 2000-04-28

Publications (1)

Publication Number Publication Date
WO2001084512A1 true WO2001084512A1 (fr) 2001-11-08

Family

ID=8849765

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2001/001229 WO2001084512A1 (fr) 2000-04-28 2001-04-20 Carte a puce multi-applicatives

Country Status (3)

Country Link
AU (1) AU2001254898A1 (fr)
FR (1) FR2808359B1 (fr)
WO (1) WO2001084512A1 (fr)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2373079A (en) * 2000-12-19 2002-09-11 Smart Card Solutions Ltd Smart card with universal content manager
WO2005017748A1 (fr) * 2003-08-08 2005-02-24 Giesecke & Devrient Gmbh Systeme d'exploitation pour support de donnees portatif
FR2864294A1 (fr) * 2003-12-17 2005-06-24 Oberthur Card Syst Sa Carte a microcircuit multi-compte permettant la restriction d'une fonctionnalite a un compte et procede de communication correspondant
US7653602B2 (en) 2003-11-06 2010-01-26 Visa U.S.A. Inc. Centralized electronic commerce card transactions
US7725369B2 (en) 2003-05-02 2010-05-25 Visa U.S.A. Inc. Method and server for management of electronic receipts
US7857216B2 (en) 2003-09-12 2010-12-28 Visa U.S.A. Inc. Method and system for providing interactive cardholder rewards image replacement
US8005763B2 (en) 2003-09-30 2011-08-23 Visa U.S.A. Inc. Method and system for providing a distributed adaptive rules based dynamic pricing system
US8010405B1 (en) 2002-07-26 2011-08-30 Visa Usa Inc. Multi-application smart card device software solution for smart cardholder reward selection and redemption
US8015060B2 (en) 2002-09-13 2011-09-06 Visa Usa, Inc. Method and system for managing limited use coupon and coupon prioritization
EP2428890A1 (fr) * 2010-09-14 2012-03-14 LG Electronics Terminal mobile et son procédé de fonctionnement et carte de module d'identification
US8407083B2 (en) 2003-09-30 2013-03-26 Visa U.S.A., Inc. Method and system for managing reward reversal after posting
US8429048B2 (en) 2009-12-28 2013-04-23 Visa International Service Association System and method for processing payment transaction receipts
US8554610B1 (en) 2003-08-29 2013-10-08 Visa U.S.A. Inc. Method and system for providing reward status
US8626577B2 (en) 2002-09-13 2014-01-07 Visa U.S.A Network centric loyalty system
US9852437B2 (en) 2002-09-13 2017-12-26 Visa U.S.A. Inc. Opt-in/opt-out in loyalty system
US11132691B2 (en) 2009-12-16 2021-09-28 Visa International Service Association Merchant alerts incorporating receipt data

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0565875A2 (fr) * 1992-04-15 1993-10-20 International Business Machines Corporation Techniques permettant le support de systèmes d'exploitation pour ordinateurs portables
US5600818A (en) * 1991-05-08 1997-02-04 Gao Gesellschaft Fuer Automation Und Organisation Data protective microprocessor circuit for portable data carriers, for example credit cards
US5636357A (en) * 1994-12-21 1997-06-03 Eurotronics Company Memory card and method for operation in a plurality of systems having incompatible object code format requirements
US5822582A (en) * 1996-07-19 1998-10-13 Compaq Computer Corporation Boot drive selection and hibernation file detection
US5912453A (en) * 1995-09-29 1999-06-15 International Business Machines Corporation Multiple application chip card with decoupled programs
US6005942A (en) * 1997-03-24 1999-12-21 Visa International Service Association System and method for a multi-application smart card which can facilitate a post-issuance download of an application onto the smart card

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5600818A (en) * 1991-05-08 1997-02-04 Gao Gesellschaft Fuer Automation Und Organisation Data protective microprocessor circuit for portable data carriers, for example credit cards
EP0565875A2 (fr) * 1992-04-15 1993-10-20 International Business Machines Corporation Techniques permettant le support de systèmes d'exploitation pour ordinateurs portables
US5636357A (en) * 1994-12-21 1997-06-03 Eurotronics Company Memory card and method for operation in a plurality of systems having incompatible object code format requirements
US5912453A (en) * 1995-09-29 1999-06-15 International Business Machines Corporation Multiple application chip card with decoupled programs
US5822582A (en) * 1996-07-19 1998-10-13 Compaq Computer Corporation Boot drive selection and hibernation file detection
US6005942A (en) * 1997-03-24 1999-12-21 Visa International Service Association System and method for a multi-application smart card which can facilitate a post-issuance download of an application onto the smart card

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"AUTOMATIC INITIAL PROGRAM LOAD SELECTION", IBM TECHNICAL DISCLOSURE BULLETIN,US,IBM CORP. NEW YORK, vol. 39, no. 3, 1 March 1996 (1996-03-01), pages 61, XP000581622, ISSN: 0018-8689 *
"MULTIPLE BOOTABLE OPERATING SYSTEM", IBM TECHNICAL DISCLOSURE BULLETIN,US,IBM CORP. NEW YORK, vol. 35, no. 1A, 1 June 1992 (1992-06-01), pages 311 - 314, XP000308879, ISSN: 0018-8689 *

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2373079A (en) * 2000-12-19 2002-09-11 Smart Card Solutions Ltd Smart card with universal content manager
US8010405B1 (en) 2002-07-26 2011-08-30 Visa Usa Inc. Multi-application smart card device software solution for smart cardholder reward selection and redemption
US10460338B2 (en) 2002-09-13 2019-10-29 Visa U.S.A. Inc. Network centric loyalty system
US8015060B2 (en) 2002-09-13 2011-09-06 Visa Usa, Inc. Method and system for managing limited use coupon and coupon prioritization
US8239261B2 (en) 2002-09-13 2012-08-07 Liane Redford Method and system for managing limited use coupon and coupon prioritization
US8626577B2 (en) 2002-09-13 2014-01-07 Visa U.S.A Network centric loyalty system
US9852437B2 (en) 2002-09-13 2017-12-26 Visa U.S.A. Inc. Opt-in/opt-out in loyalty system
US7987120B2 (en) 2003-05-02 2011-07-26 Visa U.S.A. Inc. Method and portable device for management of electronic receipts
US7725369B2 (en) 2003-05-02 2010-05-25 Visa U.S.A. Inc. Method and server for management of electronic receipts
US7827077B2 (en) 2003-05-02 2010-11-02 Visa U.S.A. Inc. Method and apparatus for management of electronic receipts on portable devices
US9087426B2 (en) 2003-05-02 2015-07-21 Visa U.S.A. Inc. Method and administration system for management of electronic receipts
US8386343B2 (en) 2003-05-02 2013-02-26 Visa U.S.A. Inc. Method and user device for management of electronic receipts
WO2005017748A1 (fr) * 2003-08-08 2005-02-24 Giesecke & Devrient Gmbh Systeme d'exploitation pour support de donnees portatif
US8554610B1 (en) 2003-08-29 2013-10-08 Visa U.S.A. Inc. Method and system for providing reward status
US8793156B2 (en) 2003-08-29 2014-07-29 Visa U.S.A. Inc. Method and system for providing reward status
US7857215B2 (en) 2003-09-12 2010-12-28 Visa U.S.A. Inc. Method and system including phone with rewards image
US7857216B2 (en) 2003-09-12 2010-12-28 Visa U.S.A. Inc. Method and system for providing interactive cardholder rewards image replacement
US8407083B2 (en) 2003-09-30 2013-03-26 Visa U.S.A., Inc. Method and system for managing reward reversal after posting
US8005763B2 (en) 2003-09-30 2011-08-23 Visa U.S.A. Inc. Method and system for providing a distributed adaptive rules based dynamic pricing system
US8244648B2 (en) 2003-09-30 2012-08-14 Visa U.S.A. Inc. Method and system for providing a distributed adaptive rules based dynamic pricing system
US9141967B2 (en) 2003-09-30 2015-09-22 Visa U.S.A. Inc. Method and system for managing reward reversal after posting
US9710811B2 (en) 2003-11-06 2017-07-18 Visa U.S.A. Inc. Centralized electronic commerce card transactions
US7653602B2 (en) 2003-11-06 2010-01-26 Visa U.S.A. Inc. Centralized electronic commerce card transactions
FR2864294A1 (fr) * 2003-12-17 2005-06-24 Oberthur Card Syst Sa Carte a microcircuit multi-compte permettant la restriction d'une fonctionnalite a un compte et procede de communication correspondant
WO2005059847A1 (fr) * 2003-12-17 2005-06-30 Oberthur Card Systems Sa Carte a microcircuit multi-compte permettant la restriction d’une fonctionnalite a un compte et procede de communication correspondant
US11132691B2 (en) 2009-12-16 2021-09-28 Visa International Service Association Merchant alerts incorporating receipt data
US8650124B2 (en) 2009-12-28 2014-02-11 Visa International Service Association System and method for processing payment transaction receipts
US8429048B2 (en) 2009-12-28 2013-04-23 Visa International Service Association System and method for processing payment transaction receipts
CN102404449A (zh) * 2010-09-14 2012-04-04 Lg电子株式会社 移动终端及其操作方法和识别模块卡
US8577413B2 (en) 2010-09-14 2013-11-05 Lg Electronics Inc. Mobile terminal and method of operating the same, and identify module card
EP2428890A1 (fr) * 2010-09-14 2012-03-14 LG Electronics Terminal mobile et son procédé de fonctionnement et carte de module d'identification

Also Published As

Publication number Publication date
AU2001254898A1 (en) 2001-11-12
FR2808359B1 (fr) 2002-06-28
FR2808359A1 (fr) 2001-11-02

Similar Documents

Publication Publication Date Title
EP1004100B1 (fr) Dispositif portable electronique pour systeme de communication securisee, et procede d&#39;initialisation de ses parametres
US6233683B1 (en) System and method for a multi-application smart card which can facilitate a post-issuance download of an application onto the smart card
WO2001084512A1 (fr) Carte a puce multi-applicatives
EP2455923B1 (fr) Serveur de transaction NFC
EP1004992A2 (fr) Système et méthode pour une carte à puce multi-application permettant de télécharger une application sur la carte postérieurement à son émission
FR2897706A1 (fr) Carte a microprocesseur et syteme de carte a microprocesseur supportant de multiples interfaces.
WO2002005511A1 (fr) Module de securite
WO2002042912A1 (fr) Execution d&#39;une application dans un objet electronique portable a faible capacite de memoire
FR2833374A1 (fr) Procede et dispositif de controle d&#39;acces dans un systeme embarque
FR2945143A1 (fr) Procede et systeme d&#39;activation d&#39;applications de paiement sans contact
EP2912640B1 (fr) Procédé de gestion d&#39;identifiants dans une carte a circuit integré et carte a circuit integré correspondante
EP2058746B1 (fr) Entité électronique portable, station hôte et procédé associé
EP2053532A1 (fr) Procédé d&#39;ouverture sécurisée à des tiers d&#39;une carte à microcircuit
WO2002008897A1 (fr) Protocole d&#39;echange de messages entre applications implantees sur un systeme embarque, et systeme embarque correspondant
WO1999000774A9 (fr) Module de securite comportant des moyens de creation de liens entre des fichiers principaux et des fichiers auxiliaires
FR3144339A1 (fr) Protection d&#39;un dispositif électronique
EP4390739A1 (fr) Protection d&#39;un dispositif électronique
EP2304559B1 (fr) Procédé de basculement entre deux versions d&#39;une même application au sein d&#39;un dispositif de traitement de l&#39;information et ledit dispositif
AU770900B2 (en) A system and method for a multi-application smart card which can facilitate a post-issuance download of an application into the smart card
FR2795583A1 (fr) Module de securite
EP2302518A1 (fr) Procédé et dispositif d&#39;installation d&#39;une application MIFARE dans une mémoire MIFARE
WO2007082900A1 (fr) Dispositif electronique portable apte a fournir un contenu dynamique
FR2967514A1 (fr) Procede et systeme de transaction nfc
FR2967513A1 (fr) Serveur de transaction nfc
FR2833093A1 (fr) Procede d&#39;echange de blocs de donnees, procede d&#39;echange et de traitement de blocs de donnees, objet portatif, et automate pour la mise en oeuvre de procede

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

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

Ref country code: JP