Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR CONTROLLING A PORTABLE OBJECT LIFE CYCLE, IN PARTICULAR A SMART CARD
Document Type and Number:
WIPO Patent Application WO/2000/030030
Kind Code:
A1
Abstract:
The invention concerns a device and a method for controlling a portable object life cycle, in particular a smart card (1), the life cycle being determined by successive of state transitions, said states determining the services offered by the object, said object comprising a processing unit (2), programme storage units (4) and data storage units (5), each of said storage unit having a content defining a plurality of configurations. The device is characterised in that it comprises means controlling (9, 11, 12) the transition from one first state to a second state of said object and, preferably means for triggering actions when the transition crossover from one state to another occurs or when such a transition crossover request is denied. The method is characterised in that it comprises a plurality of steps dependent on the type of transitions implied in the request for state transition crossover applied to the object.

Inventors:
BIRKNER MARC (FR)
GIRAUD JEAN LUC (FR)
TALVARD LAURENT (CA)
Application Number:
PCT/FR1999/002678
Publication Date:
May 25, 2000
Filing Date:
November 03, 1999
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
GEMPLUS CARD INT (FR)
BIRKNER MARC (FR)
GIRAUD JEAN LUC (FR)
TALVARD LAURENT (CA)
International Classes:
G06K13/07; (IPC1-7): G06K19/073; G07F7/10
Domestic Patent References:
WO1998009257A11998-03-05
Foreign References:
US5473690A1995-12-05
EP0583006A21994-02-16
Other References:
See also references of EP 1129430A1
Attorney, Agent or Firm:
Nonnenmacher, Bernard (Gemplus Avenue du Pic de Bertagne Parc d'Activités de Gémenos Gémenos Cedex, FR)
Download PDF:
Claims:
REVENDICATIONS
1. Dispositif de contrôle du cycle de vie d'un objet électronique portatif, le cycle de vie étant déterminé par une succession de transitions d'états, lesdits états déterminant les services offerts par 1'objet, ledit objet comprenant une unité de traitement (2), une mémoire volatile (3), des mémoires de programmes (4) et des mémoires de données (5), chacune de ces mémoires (3,4,5) présentant un contenu définissant une pluralité de configurations, caractérisé en ce qu'il comporte des moyens de contrôle de la transition d'un premier état à un second état de 1'objet électronique portatif.
2. Dispositif selon la revendication 1, caractérisé en ce que les moyens de contrôle comportent des moyens d'autorisation et/ou interdiction de transitions d'état.
3. Dispositif selon l'une quelconque des revendications 1 ou 2, caractérisé en ce que les moyens de contrôle comprennent des moyens de vérification du contenu de la mémoire volatile (3), des mémoires de données (5) et des mémoires de programmes (4) de l'objet électronique portatif en fonction de la transition d'états à effectuer.
4. Dispositif selon l'une quelconque des revendications 1 à 3, caractérisé en ce que les moyens de contrôle comprennent : une table (11) des transitions d'état possibles ; une table (12) des vérifications à effectuer par transition d'état possible ; un moteur de vérification (9) exploitant lesdites tables.
5. Dispositif selon l'une quelconque des revendications 1 à 4, caractérisé en ce que les moyens de contrôle comprennent en outre des moyens permettant de déclencher des actions lors du traitement d'une demande de franchissement de transition d'un premier état à un second état de 1'objet électronique portatif.
6. Dispositif selon la revendication 5, caractérisé en ce que les moyens permettant de déclencher des actions lors du traitement d'une demande de franchissement de transition d'un premier état à un second état de l'objet électronique portatif, comprennent une table (13) d'actions exploitable par ledit moteur de vérification (9).
7. Dispositif selon l'une quelconque des revendications 1 à 6, caractérisé en ce que les moyens de contrôle de la transition d'un premier état à un second état de l'objet électronique portatif comprennent en outre : une extension (16) de la table (11) des transitions d'état possibles ; une extension (17) de la table (12) des vérifications à effectuer par transition d'état possible ; et en ce que le moteur de vérification (9) exploite lesdites extensions de tables (16,17).
8. Dispositif selon l'une quelconque des revendications 5 à 7, caractérisé en ce que les moyens permettant de déclencher des actions lors du traitement d'une demande de franchissement de transition d'un premier état à un second état de 1'objet électronique portatif, comprennent en outre une extension (18) de la table (13) d'actions exploitable par le moteur de vérification (9).
9. Objet électronique portatif, comportant une unité de traitement (2), une mémoire volatile (3), des mémoires de programmes (4) et des mémoires de données (5), caractérisé en ce qu'il comporte le dispositif de contrôle du cycle de vie de l'objet, selon l'une des revendications 1 à 8.
10. Carte à puce, comportant une unité de traitement (2), une mémoire volatile (3), des mémoires de programmes (4) et des mémoires de données (5), caractérisé en ce qu'elle comporte le dispositif de contrôle du cycle de vie de la carte, selon l'une des revendications 1 à 8.
11. Procédé de contrôle du cycle de vie d'un objet électronique portatif, le cycle de vie étant déterminé par une succession de transitions d'états, lesdits états déterminant les services offerts par l'objet, ledit objet comprenant une unité de traitement (2), une mémoire volatile (3), des mémoires de programmes (4) et des mémoires de données (5), chacune de ces mémoires (3,4,5) présentant un contenu définissant une pluralité de configurations, ledit procédé étant mis en oeuvre, au sein de l'objet, à la suite d'une demande de transition d'états, caractérisé en qu'il comprend : une étape (51,511,528,521) de validation de l'autorisation de ladite demande ; une étape (52,512,522) d'évaluation des vérifications associée à la transition demandée ; une étape (57,517,527) de modification de l'état courant de l'objet si et seulement si la transition demandée est autorisée (51,511,528,521) et, si les vérifications de la configuration de l'objet sont satisfaites (54,514,524).
12. Procédé selon la revendication 11, caractérisé en ce qu'il comprend en outre une étape (53, 513,523) d'exécution d'actions systématiques.
13. Procédé selon l'une quelconque des revendications 11 ou 12, caractérisé en ce qu'il comprend en outre une étape (56,516,526) d'exécution d'actions positives dans le cas où la transition demandée est autorisée (51,511,528,521) et si les vérifications associées à la transition demandée sont satisfaites (54,514,524).
14. Procédé selon l'une quelconque des revendications 11 à 13, caractérisé en ce qu'il comprend en outre une étape (55,515,525) d'exécution d'actions négatives dans le cas où les vérifications associées à la transition demandée ne sont pas satisfaites (54,514,524).
15. Procédé selon l'une quelconque des revendications 11 à 14, mis en oeuvre au sein de l'objet, à la suite d'une demande de transition d'un premier état de référence vers un second état de référence, caractérisé en qu'il comprend : une étape (51) de validation de l'autorisation de ladite demande consistant à analyser la table (11) des transitions possibles ; une étape (52) d'évaluation des vérifications associée à la transition demandée consistant à exploiter une entrée (30) d'une table (12) des vérifications ; une étape (57) de modification de l'état courant de l'objet si et seulement si la transition demandée est autorisée (51) et, si les vérifications de la configuration de l'objet sont satisfaites (54).
16. Procédé selon la revendication 15, caractérisé en ce qu'il comprend en outre une étape (53) d'exécution d'actions systématiques consistant à exploiter une entrée (400,401, 404), correspondant à la transition demandée, d'une table (13) d'actions.
17. Procédé selon l'une quelconque des revendications 15 ou 16, caractérisé en ce qu'il comprend en outre une étape (56) d'exécution d'actions positives consistant à exploiter une entrée (400,402,405), correspondant à la transition demandée, d'une table (13) d'actions, dans le cas où la transition demandée est autorisée (51) et si les vérifications associées à la transition demandée sont satisfaites (54).
18. Procédé selon l'une quelconque des revendications 15 à 17, caractérisé en ce qu'il comprend en outre une étape (55) d'exécution d'actions négatives consistant à exploiter une entrée (400,403,406), correspondant à la transition demandée, de la table (13) d'actions, dans le cas où les vérifications associées à la transition demandée ne sont pas satisfaites (54).
19. Procédé selon l'une quelconque des revendications 11 à 14, ledit procédé étant mis en oeuvre au sein de l'objet, à la suite d'une demande de transition d'un premier état additif vers un second état additif, caractérisé en ce qu'il comprend : une étape (511) de validation de l'autorisation de ladite demande consistant à analyser une extension (16) de la table (11) des transitions possibles ; une étape (512) d'évaluation des vérifications associée à la transition demandée consistant à exploiter une entrée (33) d'une extension (17) de la table (12) des vérifications ; une étape (517) de modification de l'état courant de l'objet si et seulement si la transition demandée est autorisée (511) et, si les vérifications de la configuration de 1'objet sont satisfaites (514).
20. Procédé selon la revendication 19, caractérisé en ce qu'il comprend en outre une étape (513) d'exécution d'actions systématiques en analysant une entrée (407, 408, 411), correspondant à la transition demandée, d'une extension (18) d'une table (13) d'actions.
21. Procédé selon l'une quelconque des revendications 19 ou 20, caractérisé en ce qu'il comprend en outre une étape (516) d'exécution d'actions positives en analysant une entrée (407,409,412), correspondant à la transition demandée, d'une extension (18) d'une table (13) d'actions demandée si : la transition demandée est autorisée (511) et, si les vérifications associées à la transition demandée sont satisfaites (514).
22. Procédé selon l'une quelconque des revendications 19 à 21, caractérisé en ce qu'il comprend en outre une étape (515) d'exécution d'actions négatives en analysant une entrée (407,410,413), correspondant à la transition demandée, d'une extension (18) d'une table (13) d'actions dans le cas où les vérifications associées à la transition demandée ne sont pas satisfaites (514).
23. Procédé selon l'une quelconque des revendications 11 à 14, ledit procédé étant mis en muvre, au sein de l'objet, à la suite d'une demande de transition d'un état de référence vers un état additif, caractérisé en ce qu'il comprend : une étape (528) de validation de l'autorisation de d'une transition dudit état de référence vers un état additif en analysant la table (11) des transitions possibles ; une étape (521) de validation de l'autorisation de d'une transition dudit état de référence vers ledit état additif en exploitant une extension (16) d'une table (11) des transitions possibles ; une étape (522) d'évaluation des vérifications associée à la transition demandée en exploitant une entrée (33) d'une extension (17) d'une table (12) des vérifications ; une étape (527) de modification de l'état courant de l'objet si et seulement si la transition demandée est autorisée (528,521) et, si les vérifications de la configuration de l'objet sont satisfaites (524).
24. Procédé selon la revendication 23, caractérisé en ce qu'il comprend en outre une étape (523) d'exécution d'actions systématiques en exploitant une entrée (407,408,411), correspondant à la transition demandée, d'une extension (18) d'une table (13) d'actions.
25. Procédé selon l'une quelconque des revendications 23 ou 24, caractérisé en ce qu'il comprend en outre une étape (526) d'exécution d'actions positives en exploitant une entrée (407,409,412), correspondant à la transition demandée, d'une extension (18) d'une table (13) d'actions si : la transition demandée est autorisée (528,521) et, si les vérifications associées à la transition demandée sont satisfaites (524).
26. Procédé selon l'une quelconque des revendications 23 à 25, caractérisé en ce qu'il comprend en outre une étape (525) d'exécution d'actions négatives en exploitant une entrée (407,410,413), correspondant à la transition demandée, d'une extension (18) d'une table (13) d'actions dans le cas où les vérifications associées à la transition demandée ne sont pas satisfaites (524).
27. Procédé selon l'une quelconque des revendications 11 à 26, caractérisé en ce que ledit procédé n'autorise pas le franchissement d'une transition d'état, d'un état additif vers un état de référence.
Description:
PROCEDE ET DISPOSITIF DE CONTROLE DU CYCLE DE VIE D'UN OBJET PORTATIF, NOTAMMENT D'UNE CARTE A PUCE L'invention concerne les objets électroniques portatifs tels que les cartes à microcircuits électroniques, dites cartes à puce qui, connectées à des dispositifs électroniques pour permettre à ces derniers de réaliser des fonctions particulières dans le cadre d'une ou plusieurs applications, nécessitent un contrôle de leurs étapes de vie. Lesdites cartes sont en effet généralement utilisées dans des applications (banque, communication, identité, santé...) nécessitant une grande sécurité contre les usages frauduleux. L'invention s'applique plus généralement à tout système embarqué indépendant, doté d'une unité de traitement et des mémoires de programme et de données.

Il est connu dans le monde de la carte à puce que celle-ci résulte d'un assemblage d'un composant (comprenant en général un microprocesseur en relation avec des mémoires via des bus de communication), d'un module (réalisé à l'aide d'un métal conducteur) auquel est relié ledit composant (dans le cadre d'une carte à puce dite à contact) pour permettre audit composant d'tre connecté à un dispositif électronique de lecture et/ou écriture (ou coupleur) et d'un corps de carte ou plus généralement d'un support sur lequel est intégré l'ensemble module/composant.

Dans la cadre d'une carte à puce dite sans contact, ledit module est remplacé par une antenne et l'ensemble formé par Le composant et ladite antenne est intégré au sein dudit support.

La vie d'une carte à puce se décompose généralement en deux ensembles d'étapes se succédant les unes aux autres, correspondant respectivement à la fabrication et à l'exploitation de ladite carte. La composition des deux ensembles d'étapes forme un cycle de vie de ladite carte.

La fabrication d'une carte à puce (à contact ou sans contact) est constituée de plusieurs étapes.

En effet, il est tout d'abord nécessaire de disposer d'un composant électronique qui est initialis, isolé, puis relié à un module. Ledit composant et le module, auquel il est relié, sont par la suite intégrés sur ou au sein d'un support (généralement un corps de carte plastique) lui mme imprimé à des fins d'identification ou de publicité. Par la suite la carte à puce ainsi obtenue est initialisée ou programmée pour répondre aux conditions d'utilisation dans le cadre d'applications.

Le second ensemble d'étapes de vie d'une carte à puce correspond à son exploitation. Cet ensemble peut lui-mme tre divisé en plusieurs étapes, chacune correspondant, par exemple, à l'implantation ou la suppression de services offerts par la carte à puce à l'utilisateur en fonction de son profil par exemple.

En outre différents acteurs (fabricant de composant, fabricant de cartes à puce, centre de personnalisation de cartes, émetteur de cartes, ou encore porteur de cartes) interviennent durant les différentes étapes de la fabrication et de l'exploitation d'une carte à puce. Ainsi, les composants sont fournis et parfois en partie initialisés par des fabricants de composants électroniques sur une tranche de silicium. Cette phase correspond à l'étape de fabrication du composant. L'étape suivante est a phase d'encartage réalisée par le fabricant de carte à puce. Elle inclut l'isolement d'un composant de la tranche de silicium, la connexion dudit composant à un module (ou antenne), l'intégration de l'ensemble sur leur support ou corps de carte. Suit la préparation de la structure applicative présente dans la mémoire programmable électriquement du composant. C'est l'étape de personnalisation électrique qui est réalisée par le fabricant des cartes à puce ou par un centre de

personnalisation ou un tiers spécialisé dans la personnalisation des cartes ou par l'émetteur lui-mme qui est chargé in fine de la distribution des cartes sur le marché. Cette phase de personnalisation électrique peut donc tre décomposée en autant d'étapes qu'il y a acteurs ou d'intermédiaires. Par la suite, durant l'exploitation de la carte à puce, nous avons vu précédemment qu'il peut tre intéressant de distinguer différentes étapes au gré de l'évolution du profil de l'utilisateur de la carte par exemple.

Quoi qu'il en soit, il est donc important de suivre rigoureusement les étapes de vie d'une carte pour connaître à tout moment l'étape en-cours de ladite carte au sein de son cycle de vie. De plus, il est indispensable que, d'une part, l'accès en écriture ou en lecture de la mémoire programmable électriquement du composant d'une carte soit protégé durant l'échange de ladite carte (ou du composant) entre les différents acteurs et que d'autre part l'accès à ladite mémoire soit limité au fur et à mesure que se succèdent les étapes de vie de la carte citées précédemment, en activant ou désactivant des services par exemple. Pour finir, il est également nécessaire parfois de valider le contexte applicatif de la carte à puce avant que le porteur de celle-ci l'utilise sur le marché. Par exemple, un émetteur de carte à puce de type porte-monnaie électronique, doit tre certain que la balance de ladite carte est bien nulle avant d'émettre la carte.

Pour tenter de répondre à ces exigences, différentes solutions sont utilisées à ce jour. Certaines solutions sont purement extérieures à la carte à puce (sécurisation physique des locaux où ladite carte est fabriquée, -. de moyens de transport eux-mmes sécurisés...).

D'autres solutions complémentaires aux premières, mais cette fois internes ou implantées dans la carte, sont aussi

généralement utilisées. On utilise ainsi des secrets permettant de protéger l'accès en lecture/écriture de la mémoire du composant et également des indicateurs logiques permettant de suivre de manière irréversible les différentes étapes de vie de la carte. Pour cela, des bits au sein d'une mémoire non effaçable du composant de la carte à puce sont positionnés à l'état actif à la fin des différentes étapes de vie de la carte (fabrication et initialisation du composant par le fabricant dudit composant, encartage et initialisation de la mémoire de la carte par le fabricant de carte à puce, préparation de la structure applicative de la mémoire de la carte à puce par le centre de personnalisation ou l'émetteur de la carte...). En fonction de ces indicateurs, le programme (ou système d'exploitation), exécuté par le microprocesseur du composant de la carte à puce, implanté au sein de l'une des mémoires dudit composant de ladite carte, adapte son comportement au fur et à mesure que les étapes de vie de ladite carte se succèdent. Ainsi, des fonctions peuvent tre modifiées, ajoutées ou supprimées.

Quelles que soient les solutions utilisées à ce jour, elles reposent toutes sur le fait que les différents acteurs impliqués dans la fabrication d'une carte sont des tiers de confiance. Seules des personnes, susceptibles d'intercepter des composants ou des cartes durant leur transfert entre deux des différents acteurs, sont supposées "fraudeurs potentiels"et les solutions exposées précédemment permettent de s'en affranchir. L'adaptation du système d'exploitation de la carte en-onction des indicateurs irréversibles apporte un plus non négligeable.

Ainsi, si les fabricants de composants ou de cartes inscrivent des données systèmes ou des secrets, l'émetteur de la carte ne pourra par exemple librement s'affranchir desdits secrets ou modifier lesdites données système.

Cependant, cette solution ne résout pas le problème d'une initialisation frauduleuse de la carte ou d'une erreur malencontreuse durant ladite initialisation, effectuée par l'un des acteurs.

L'invention propose de remédier aux inconvénients de l'état actuel de la technique. En particulier, l'invention consiste à doter le système d'exploitation d'une carte à puce de moyens logiciels permettant audit système d'exploitation de maîtriser un changement irréversible d'étape de vie de ladite carte en fonction d'un ensemble de vérifications du contenu des mémoires de cette mme carte à puce. En outre l'invention prévoit que lors d'un changement d'étape de vie, le système d'exploitation de la carte puisse déclencher automatiquement des actions permettant d'adapter les services offerts par ledit système d'exploitation de ladite carte.

A cet effet, l'invention concerne un dispositif de contrôle du cycle de vie d'un objet électronique portatif, le cycle de vie étant constitué par une succession de transitions d'états, lesdits états déterminant les services offerts par l'objet, lediX objet comprenant une unité de traitement, une mémoire volatile, des mémoires de programmes e des mémoires de données, chacune de ces mémoires présentant un contenu définissant une pluralité de configurations, caractérisé en ce qu'il comporte des moyens de contrôle de la transition d'un premier état à un second état de l'objet électronique portatif.

Selon d'autres caractéristiques du dispositif selon l'invention : -les moyens de contrôle comportent : -des moyens d'autorisation et/ou d'interdiction de transition d'états à effectuer ;

-des moyens de vérification du contenu de la mémoire volatile, des mémoires de données et des mémoires de programme de l'objet électronique portatif en fonction de la transition d'états à effectuer ; -des moyens permettant de déclencher des actions lors du traitement d'une demande de franchissement d'une transition d'état.

En outre, l'invention concerne un objet électronique portatif, pouvant tre notamment une carte à puce, comportant ledit dispositif de contrôle du cycle de vie.

Par ailleurs, l'invention concerne un procédé de contrôle du cycle de vie d'un objet électronique portatif, ledit procédé étant mis en oeuvre au sein de l'objet à la suite d'une demande de transition d'états, caractérisé en qu'il comprend : -une étape de validation de l'autorisation de ladite demande ; -une étape d'évaluation des vérifications associée à la transition demandée ; -une étape de modification de l'état courant de l'objet si et seulement si la transition demandée est autorisée et, si les vérifications de la configuration de l'objet sont satisfaites.

Selon d'autres caractéristiques, le procédé comprend éventuellement en outre : -une étape d'exécution d'actions systématiques ; -une étape d'exécution d'actions positives dans le cas où la transition demandée est autorisée et si les vérifications associées à la transition demandée sont satisfaites ;

-une étape d'exécution d'actions négatives dans le cas où les vérifications associées à la transition demandée ne sont pas satisfaites.

L'invention sera mieux comprise à la lecture de la description qui suit et à l'examen des figures qui l'accompagnent. Celles-ci ne sont données qu'à titre indicatif et nullement limitatif de l'invention.

Les figures montrent : -figure 1 : un composant d'une carte à puce munie d'un dispositif de vérification de transition d'état ; -figures 2a et 2b : une représentation détaillée d'une table des transitions d'état ; -figure 3 : une représentation détaillée d'une table des vérifications des transitions ; -figure 4 : une représentation détaillée d'une table des actions ; -figure 5 : une description des étapes mises en ouvre dans le procédé utilisé par le dispositif de vérification de transitions ; -figures 6a à 6d : les particularités mises en oeuvre dans le cas d'un exemple d'une carte à puce de type porte-monnaie électronique.

Dans l'invention, on appellera état de référence, un état à partir duquel il est possible de basculer vers un autre état suite au franchissement d'une transition décrite dans la table des transitions, implantée dans la mémoire de programme. Comme il est décrit plus loin, il est possible d'ajouter de nouveaux états et donc de nouvelles transitions après que l'étape de fabrication du composant aie eu lieu. Dans ce cas, on parlera d'états additifs pour caractériser ceux-ci par opposition aux états de référence.

D'autre part, on appellera état courant l'état dans lequel se trouve le système embarqué.

La figure 1 montre un composant 1, d'une carte à puce, muni d'un dispositif de vérification de transitions selon l'invention. Le composant comporte une unité de traitement 2 ou encore microprocesseur en relation avec des mémoires 3,4 et 5 via un bus de communication 6. Une mémoire de programme 4 (ou encore ROM) non effaçable comporte d'une part une zone de programmes 7, lesdits programmes (ou encore système d'exploitation du système embarqué) pouvant tre exécutés par ladite unité de traitement et d'autre part une zone de données prédéfinies 10 qui contient des constantes utilisées par ledit système d'exploitation.

Parmi lesdites constantes de la zone 10, le système d'exploitation 7, comportant un programme appelé moteur de vérification 9, exploite une table des transitions 11 qui permet de préciser les états auxquels on peut accéder à partir de l'état courant, une table des vérifications 12 qui permet d'associer à chaque transition d'état des vérifications portant sur le contenu des mémoires 3,4 et/ou 5. Dans une variante, le moteur de vérification 9 peut déclencher automatiquement des actions lors du franchissement ou du rejet du franchissement d'une transition. Pour cela la zone 10 de la mémoire de programme comporte une table des actions 13 qui permet d'associer à chaque transition d'état possible des actions à effectuer.

Une mémoire volatile 3 (ou encore RAM pour Random Access Memory en langue anglaise) permet à l'unité de traitement 2 de stocker de manière temporaire des résultats ou encore des secrets issus de calculs décrits par les programmes implantés dans la mémoire de programme 4. Le contenu de la mémoire 3 est effacé à chaque mise sous tension du composant 1 ou à chaque demande de remise à zéro de celui-ci.

Une mémoire de données 5, effaçable électriquement utilisant généralement la technologie EEPROM (pour

Electrical orasable Programmable Read Only Memory en langue anglaise) comporte une zone 14 contenant les données variables nécessaires à l'exécution des programmes 7. Cette zone 14 comporte notamment une donnée 8 appelée"Etat courant"permettant de mémoriser l'état courant de l'objet électronique portatif. La mémoire de données 5 comporte en outre une zone 15 comprenant optionnellement des extensions des tables 11 à 13 dans le cas où il est nécessaire d'ajouter des états aux états de références. La zone 15 comporte alors une extension de la table des transitions i6, une extension de la table des vérifications 17 et peut comporter une extension de la table des actions 18 si l'on souhaite associer aux nouvelles transitons d'état additif des actions, comme vu précédemment pour ce qui concerne la table 13. Dans le cas d'ajout d'états par rapport aux états de référence, il est parfois indispensable d'enrichir le système d'exploitation 7. Pour cela, la mémoire 5 peut comporter en outre une zone 19 qui contient les programmes supplémentaires qui seront exécutés à leur tour par l'unité de traitement 2.

La figure 2a montre une mise en ouvre possible de la table des transitions 11. Si l'on suppose que l'on dénombre -états de référence, on peut imaginer une table de transition comprenant i colonnes et i lignes. Les colonnes correspondent aux états de référence pouvant tre, à un instant donné, l'état courant. Les premières lignes correspondent aux états de référence auxquels on peut accéder à partir de l'état courant. Ainsi la valeur d'une case de ia table des transitions 1'correspondant à l'intersection d'une ligne et d'une colonne de ladite table permet de coder soit, l'absence de transition autorisée (valeur nulle par exemple-c'est le cas de la transition 20), soit, l'autorisation une transition (valeur non nulle -c'est le cas de la transition 21,. Dans le cas d'une

transition autorisée, le moteur de vérification de transitions recherche au sein de la table de vérification 12 les vérifications à effectuer pour accepter ou rejeter le franchissement de la transition demandée.

La figure 2b montre également une mise en ouvre possible d'une table de transition dans le cas où il est possible d'ajouter des états (états additifs) aux états de référence. La table des transitions comporte une ligne supplémentaire par rapport à la figure 2a. La (i+l) ème ligne permet de préciser si l'on autorise des transitions d'un état de référence courant à un état additif. Ainsi la valeur de la case 22 indique une transition interdite d'un état de référence vers un état additif. La case 23 indique qu'il sera possible de basculer de l'état de référence Ei vers un état additif. Une extension 16 de la table des transitions est alors nécessaire. Cette dernière comporte j lignes correspondant à j états additifs auxquels on peut accéder à partir de (i+j) états courant possibles matérialisés par les (i+j) colonnes de l'extension 16 de la table des transitions. Ainsi la combinaison de la case 23 de la table des transitions et de la case 24 de l'extension de de la table des transitions, indique au moteur de vérification qu'il est possible de basculer de l'état de référence Ei vers l'état additif E (i+1).

La figure 3 montre une mise en ouvre de la table des vérifications. La table des vérifications 12 est implantée au sein de la zone 10 des données prédéfinies de la mémoire 4. Chaque transition autorisée dispose d'une entrée dans ladite table. Une entrée comprend un champ 30 permettant d'identifier la transition et un champ 31 contenant une référence (ou adresse) vers un programme 32 du système d'exploitation 7. Le moteur de vérification 9 peut ainsi _ : ie executer a l'unité de traitement 2 les contrôles

requis pour accepter le franchissement de la transition. La figure 3 illustre également une structure d'une extension 17 de la table'des vérifications. De la mme manière que pour la table 12, l'extension de la table des vérifications 17 comporte une entrée par transition possible. Chaque entrée comprend deux champs, un champ 33 permettant d'identifier la transition et un champ 34 contenant une référence (ou adresse) d'un programme 35 du système d'exploitation ou, comme le montre la figure 3, d'un programme supplémentaire implanté dans la mémoire de données 5 (en zone 19).

La figure 4 montre une représentation de la table des actions 13 implantée dans la zone 10 des données prédéfinies de la mémoire de programmes 4. Lors d'une demande de franchissement de transition, il est possible de déclencher des actions. Celles-ci peuvent tre de trois types : action systématique, action positive (c'est à dire conditionnée au fait que les vérifications sont satisfaisantes) ou action négative (c'est à dire conditionnée au fait que les vérifications ne sont pas satisfaisantes). La figure 4 montre qu'à chaque transition autorisée, il existe une entrée dans la table des actions 13. Cette entrée comprend 4 champs. Le premier champ 400 permet d'identifier la transition. Les trois autres champs 401,402 et 403 contiennent chacun une référence ou adresse d'un programme 404,405 ou 406 du système d'exploitation.

Le champ 401 est dédié à une action systématique, le champ 402 à une action positive et le champ 403 à une action négative. La figure 4 montre également une extension 18 de la table des actions. Cette table 18 est implantée dans la zone 15 de la mémoire de données 5 du composant 1. De la mme manière que pour la table des actions 13, l'extension de la table des actions 18 comprend d une entrée par transition possible. Une entrée comprend 4 champs. Le

premier champ 407 permet d'identifier la transition. Les trois autres champs 408,409 et 410 contiennent chacun une référence ou adresse d'un programme 411,412 ou 413 du système d'exploitation ou comme le montre la figure 4, des programmes implantés dans la zone 19 de la mémoire de données 5 du composant 1. Le champ 408 est dédié à une action systématique, le champ 409 à une action positive et le champ 410 à une action négative.

La figure 5a décrit le procédé permettant de valider ou de rejeter le franchissement d'une transition d'état, d'un premier état de référence vers un autre état de référence.

La demande de franchissement d'une transition peut tre formulée suite à un ordre du fabricant de carte ou par tout autre acteur du cycle de vie de la carte à puce. Ladite demande peut également tre formulée directement par la carte-elle mme, par exemple au travers d'une action associée à une transition. Dans le cadre de la figure 5a, l'état de référence courant est l'état Ei. L'ordre 50 de basculement de l'état Ei à l'état Ej est formulé. L'étape 51 consiste à vérifier au sein de la table des transitions 11 que la transition de l'état Ei vers l'état Ej est autorisée. Dans le cas où cette transition est interdite, la demande de franchissement de transition 50 est rejetée.

L'état courant demeure l'état Ei. Par contre, si la transition est autorisée, le moteur de vérification 9 exécute les vérifications associées à ladite transition.

Pour cela le moteur de vérification évalue l'entrée de la table des vérifications 12 dédiée à la transition T (Ei- >Ej). L'exécution desdites vérifications correspond à l'étape 52 du procédé. Le moteur de vérification 9 exécute les actions systématiques associées à la transition T (Ei- >Ej) en fonction de l'entrée de la table des actions 13 dédiées à ladite transition (étape 53). Si les vérifications 54 exigées lors de la demande de

franchissement de la transition 50 sont non satisfaisantes, l'état courant demeure inchangé. En fonction de l'entrée de la table des actions 13 associée à la transition T (Ei->Ej) le moteur de vérifications exécute les actions négatives (étape 55 du procédé). Le déroulement du procédé est alors terminé. Par contre, si les vérifications 54 sont satisfaisante, alors l'état courant devient l'état Ej (étape 56 du procédé). Les actions positives sont alors exécutées (étape 57 du procédé) en fonction de l'état de l'entrée de la table des actions 13 associée à la transition T (Ei->Ej). Le déroulement du procédé est terminé.

La figure 5b décrit le procédé permettant de valider ou de rejeter le franchissement d'une transition d'état, d'un premier état additif vers un autre état additif. L'état additif courant est l'état Ei. L'ordre 510 de basculer de l'état additif Ei à l'état additif (ou de référence) Ej est formulé. L'étape 511 du procédé consiste à vérifier au sein de l'extension la table des transitions 16 que la transition de l'état Ei à l'état Ej est autorisée. Dans le cas où cette transition est interdite, la demande de franchissement de transition 510 est rejetée. L'état courant demeure l'état Ei. Par contre, si la transition est autorisée, le moteur de vérification 9 exécute les vérifications associées à ladite transition. Pour cela, le moteur de vérification évalue l'entrée de l'extension de la table des vérifications 17 dédiée à la transition T (Ei- >Ej). L'exécution desdites vérifications constitue l'étape 512 du procédé. Le moteur de vérification 9 exécute les actions systématiques associées à la transition T (Ei->Ej) en fonction de l'entrée de 1'extension de la table des actions 18 dédiées à ladite transition (étape 513 du procédé). Si la vérification 514 exigée lors de la demande de franchissement de la transition 510 est non

satisfaisante, l'état courant demeure inchangé. En fonction de l'entrée de l'extension de la table des actions 18 associée à là transition T (Ei->Ej), le moteur de vérification 9 exécute les actions négatives (étape 515 du procédé). Le déroulement du procédé est alors terminé. Par contre, si les vérifications 514 sont satisfaisantes, l'état courant devient l'état Ej (étape 516 du procédé).

Les actions positives sont alors exécutées (étape 517 du procédé) en fonction de l'état de l'entrée de l'extension de la table des actions 18 associée à la transition T (Ei- >Ej). Le déroulement du procédé est terminé.

La figure 5c décrit le procédé permettant de valider ou de rejeter le franchissement d'une transition d'état, d'un état de référence vers un état additif. L'état de référence courant est l'état Ei. L'ordre 520 de basculement de l'état de référence Ei à l'état additif Ej est formulé. L'étape 528 du procédé consiste à vérifier au sein de la table des transitions 11, qu'une transition de l'état de référence courant Ei vers un état additif est autorisée. Si une telle transition est interdite, le procédé est terminé. L'état courant demeure inchangé. Par contre, si une transition dudit état de référence vers un état additif est autorisée, le moteur de vérification déroule les étapes 521 à 527 du procédé, respectivement identiques aux étapes 511 à 517 décrites en liaison avec la figure 5b.

Un exemple d'application dans le domaine du Porte- monnaie électronique est présenté en liaison avec les figures 6a à 6d. Ladite application permet de régler des achats à l'aide"d'argent électronique"stocké dans une carte à puce, au lieu de payer en numéraire. L'emploi d'une te le technique impose une gestion des cartes aussi sécurisée que celle qu'aurait imposé l'emploi du numéraire.

Il faut par exemple éviter la création de monnaie fictive.

La sécurité d'une carte à puce porte-monnaie électronique repose généralement sur des clés stockées à l'intérieur de ladite carte à puce permettant des transactions sécurisées en utilisant la cryptographie. Une telle carte dispose d'un système d'exploitation offrant un jeu de commandes et de services permettant de créditer ou de débiter de l'argent.

Au début du cycle de vie de la carte à puce porte-monnaie électronique, ladite carte à puce n'est pas initialisée.

Elle ne contient aucune information. La figure 6a montre les états de référence prédéfinis : -Etat E1"carte vierge" (référencé 80) : seules des commandes de test permettant de valider le comportement de la mémoire de données 5 sont disponibles (vérification que les cases mémoires de technologie EEPROM peuvent tre correctement écrites et effacées) ; -Etat E2"carte testée" (référencé 82) : Les commandes de test ne sont plus disponibles. A leur tour des commandes dites généralement"commandes physiques" (permettant un accès en écriture par un adressage physique indépendamment de toute structure logique de type fichier par exemple) sont disponibles. Elles permettent d'initialiser la carte (écriture dans la zone 14 de la mémoire de données des constituants logiques nécessaires au fonctionnement de l'application c'est à dire fichiers, balances...) ; -Etat E3"carte initialisée" (référencé 84) : les commandes physiques ne sont plus disponibles. Des commandes logiques permettent de personnaliser la carte (ajout de nouvelles structures logiques et initialisation de données dans lesdiies structures) sont utilisables. En outre, un mécanisme de recouvrement est activé de sorte que la carte à puce ne perde pas la cohérence de ces données lors d'une mise hors tension de celle-ci durant l'exécution de l'une e desdites commandes logiques.

-Etat E4"carte personnalisée" (référencé 86) : les commandes logiques spécifiques à l'application Porte- monnaie électronique (débit/crédit) sont activées.

Le jeu de commandes disponibles évolue en fonction de l'étape de vie dans laquelle se trouve la carte à puce. Des informations stockées en mémoire de données permettent au système d'exploitation de connaître l'état dans lequel la carte à puce se trouve. La figure 6a montre en outre que dans le cadre d'une carte de type porte-monnaie électronique, toutes les transitions entre états de référence doivent tre franchies successivement (de l'état E1 à l'état E4) et ce de manière irréversible. Toute autre transition est interdite. Seule la possibilité d'utiliser ultérieurement des états additifs 88 est offerte. Cette transition possible est référencée 87. Le système d'exploitation en fonction de l'état courant n'autorise qu'un ensemble de commandes spécifiques à chaque état de référence.

Les vérifications et les actions à déclencher lors du franchissement d'une transition sont décrites comme suit : -Transition de l'état E1 vers l'état E2 (notée T (E1->E2) et référencée 81) : -Vérification : aucune -Action systématique : effacement de la mémoire de données pour éviter qu'un fraudeur y laisse des données interprétables par le système d'exploitation de la carte ; -Transition de l'état E2 vers l'état E3 (notée T (E2->E3) et référencée 83) : -Vérification : -intégrité des données écrites dans la mémoire de données avec les commandes physiques (validation d'un code de redondance par donnée) ;

-vérification de l'état vierge de la mémoire en dehors desdites données ; -Action positive : -activation du mécanisme de recouvrement ; -Transition de l'état E3 vers l'état E4 (notée T (E3->E4) et référencée 85) : -Vérification : -nullité de la balance du porte monnaie électronique -Action : aucune -Transition de l'état E4 vers un état additif (notée T (E4->Eadd) et référencée 87) : -Vérification : aucune -Action : aucune Les figures 6b à 6d illustrent respectivement une réalisation d'une table des transitions 11, d'une table des vérifications 12 et d'une table d'actions 13, selon l'invention. La table des transitions 11 telle que décrite en liaison avec la figure 6b permet de n'autoriser que les transitions 81,83,85 et 87. Pour cela seules les cases 60 à 63 de ladite table contiennent une valeur non nulle. Les autres cases de la table des transitions contiennent une valeur nulle pour indiquer que toute autre transition est interdite. La table des vérifications telle que présentée au travers de la figure 6c, permet d'associer les vérifications à satisfaire pour autoriser le franchissement des transitions 81,83,85 et 87, lesdites transitions autorisées par la table des transitions 11 (figure 6b).

Ainsi l'entrée 64 de la table des vérifications 12 comporte un champ 641 permettant d'identifier que ladite entrée est dédiée à la transition 81. L'entrée 64 comporte en outre un champ 642 contenant une référence nulle pour indiquer qu'aucune vérification n'est demandée pour autoriser le franchissement de la transition 81. Dans une variante, la

transition 81 ne dispose d'aucune entrée associée. Cette variante est illustrée plus loin dans le cas de la table des actions. La table des vérifications 12 comporte une entrée 65 qui comprend respectivement un champ 651 pour indiquer que l'entrée est associée à la transition 83 et un champ 652 contenant la référence d'un programme 67, implanté dans la mémoire de programmes, pour que le moteur de vérification puisse effectuer les vérifications décrites précédemment. De mme, la table des vérifications 12 comporte une entrée 66 qui comprend respectivement un champ 661 pour indiquer que l'entrée est associée à la transition 83 et un champ 662 contenant la référence d'un programme 68, implanté dans la mémoire de programmes, pour que le moteur de vérification puisse effectuer les vérifications décrites précédemment.

La figure 6d présente une réalisation de la table des actions 13. Ladite table comporte une entrée 71 qui comporte un champ 711 permettant d'indiquer que ladite entrée est associée à la transition 81. La mme entrée 71 comporte un champ 712 contenant la référence d'un programme 75, implanté dans la mémoire de programmes, afin que le moteur de vérification puisse exécuter les actions systématiques associées à la transition 81. L'entrée 71 comporte en outre un champ 713 et un champ 714 contenant une référence nulle pour indiquer au moteur de vérification qu'aucune action positive ni négative n'est associée au franchissement de la transition 81. De la mme manière, la table des actions 13 comporte une seconde entrée 72 comprenant les champs 721 à 724 pour indiquer au moteur de vérification que ladite entrée est associée à la transition 83, que le programme 74 est à exécuter comme action positive lors du franchissement de ladite transition et qu'aucune action systématique ou négative n'est à exécuter.

L'absence d'entrée, au sein de la table des actions 13,

associée à la transition 85, indique qu'aucune action (systématique, positive ou négative) n'est à exécuter lors du franchissement ou du rejet du franchissement de ladite transition.

Grâce au dispositif et au procédé tels que décrits ci- dessus, le cycle de vie d'un objet électronique portatif est maîtrisé. Chaque transition d'états est irréversible et les vérifications faites lors de chaque demande de transitions garantissent une configuration mémoire de l'objet cohérente. En outre les actions systématiques, positives ou négatives permettent d'adapter le comportement dudit objet. Enfin, dans le cas où il est prévu d'autoriser une ou plusieurs transitions d'un ou plusieurs états de référence vers un état additif, le cycle de vie de l'objet peut tre facilement enrichi, par exemple après que l'objet soit émis sur le marché, sans que le cycle de vie prédéfini (composé par une succession de transitions d'état de référence vers un autre état de référence) puisse tre détourné.

Tout risque de fraude durant l'initialisation d'un objet électronique portatif ou d'erreur malencontreuse durant ladite initialisation est écarté tout en conservant grande adaptabilité du contrôle du cycle de vie de l'objet.