WO2001084512A1 - Carte a puce multi-applicatives - Google Patents
Carte a puce multi-applicatives Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms 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/10—Mechanisms 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/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment 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/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment 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/355—Personalisation of cards for use
- G06Q20/3555—Personalisation of two or more cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment 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/357—Cards having a plurality of specified features
- G06Q20/3576—Multiple 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, 82ï 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).
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)
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)
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 |
-
2000
- 2000-04-28 FR FR0005539A patent/FR2808359B1/fr not_active Expired - Fee Related
-
2001
- 2001-04-20 WO PCT/FR2001/001229 patent/WO2001084512A1/fr active Application Filing
- 2001-04-20 AU AU2001254898A patent/AU2001254898A1/en not_active Abandoned
Patent Citations (6)
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)
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)
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'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'une application dans un objet electronique portable a faible capacite de memoire | |
FR2833374A1 (fr) | Procede et dispositif de controle d'acces dans un systeme embarque | |
FR2945143A1 (fr) | Procede et systeme d'activation d'applications de paiement sans contact | |
EP2912640B1 (fr) | Procédé de gestion d'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'ouverture sécurisée à des tiers d'une carte à microcircuit | |
WO2002008897A1 (fr) | Protocole d'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'un dispositif électronique | |
EP4390739A1 (fr) | Protection d'un dispositif électronique | |
EP2304559B1 (fr) | Procédé de basculement entre deux versions d'une même application au sein d'un dispositif de traitement de l'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'installation d'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'echange de blocs de donnees, procede d'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 |