CA2051365C - Procede de gestion d'un programme d'application charge dans un support a microcircuit - Google Patents
Procede de gestion d'un programme d'application charge dans un support a microcircuitInfo
- Publication number
- CA2051365C CA2051365C CA002051365A CA2051365A CA2051365C CA 2051365 C CA2051365 C CA 2051365C CA 002051365 A CA002051365 A CA 002051365A CA 2051365 A CA2051365 A CA 2051365A CA 2051365 C CA2051365 C CA 2051365C
- Authority
- CA
- Canada
- Prior art keywords
- signature
- program
- microcircuit
- memory
- card
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/77—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart 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/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/3552—Downloading or loading of personalisation data
-
- 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
-
- 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/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3672—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes initialising or reloading thereof
-
- 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/0806—Details of the card
- G07F7/0813—Specific details related to card security
- G07F7/082—Features insuring the integrity of the data on or in the card
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2129—Authenticate client device independently of the user
Abstract
Pour sécuriser l'utilisation des cartes à puce, on provoque l'exécution par le microprocesseur (3) de ces cartes, au moment de l'utilisation, du calcul (11) d'une signature selon un algorithme de chiffrement complexe prenant en compte d'une part un code secret (10) propre à la carte et d'autre part des instructions (12) propres au programme. On compare la signature ainsi calculée à une signature (14) préenregistrée dans la carte dans les mêmes conditions au moment de sa livraison par l'émetteur de la carte. On montre qu'il est possible d'autoriser plusieurs utilisations sans porter atteinte à la sécurité de celles-ci.
Description
PROCEDE DE GESTION D'UN PROGRAMME D'APPLICATION
CHARGE DANS UN SUPPORT A MICROCIRCUIT
La présente invention a pour objet un procédé de gestion d'un programme d'application chargé dans un support à microcircuit. Dans une utilisation préférée, le support à microcircuit est une carte dite à puce électronique utilisable dans le domaine bancaire ainsi que pour de nombreuses autres transactions. L'invention vise à mettre à la disposition de nombreux services dits émetteurs, de tels supports à microcircuit parce qu'ils permettent, avec l'intelligence électronique qu'ils emportent, de simplifier la gestion de ces services.
Un support à microcircuit comporte d'une part un support, souvent constitué sous la forme d'une carte comme les cartes de crédit, et d'autre part un circuit électronique muni, à la surface du support, de moyens de communiquer avec le monde extérieur. Souvent ces moyens de communication sont de simples surfaces métallisées reliées par ailleurs au microcircuit et autorisant des contacts électriques. Cependant, il est possible d'organiser une relation entre le monde extérieur et le microcircuit électronique qui soit sans contact électrique : par exemple, par l'intermédiaire d'émission électromagnétiques.
Dans sa définition la plus générale un microcircuit du type de celui utilisé dans les cartes à puces comporte d'une part un microprocesseur qui est le véritable moteur de la carte, et d'autre part un ensemble de mémoires ayant des fonctions différentes. On peut admettre qu'un tel microcircuit comporte ainsi trois types de mémoire, encore que les fonctionnalités et les technologies de ces mémoires puissent être mêlées au point que la distinction de ces mémoires puisse être difficile. Cependant, on peut noter l'existence d'une mémoire vive de travail, dite RAM, dont la technologie est souvent de type statique ou dynamique. Un microcircuit comporte également une mémoire morte, dite ROM ou encore mémoire programme, contenant le programme d'application. Normalement cette mémoire ROM ne peut être programmable extérieurement par l'utilisateur et doit avoir été programmée, soit par masque par le fabricant du microcircuit soit par l'émetteur de la carte avant que cet émetteur n'empêche ulterieurement (en genéral par rupture d'un fusible) l'accès en écriture à cette mémoire morte ROM. Comme troisième type de mémoire, on conna~t l'existence de mémoire programmable et effaçable électriquement, par exemple du type EEPROM ou du type FLASH EPROM. Ces dernières mémoires inscriptibles permettent d'entrer des données relatives à l'application : nombres, dates et heures des utilisations de la carte pour l'application concernée, dates et montants prélevés sur le compte en banque, plus généralement données relatives à la transaction. Les mémoires ROM et EPROM sont normalement non volatiles.
Normalement le microprocesseur est apte à exécuter les programmes d'applications contenus dans la mémoire ROM, soit en allant directement lire les instructions à
exécuter dans cette mémoire, soit en ayant provoqué au préalable le transfert de ces instructions dans la mémoire RAM et en les exécutant depuis cette mémoire RAM
elle même. On conna~t ainsi deux types de microprocesseur. Le premier type possède une instruction susceptible d'aller initialiser l'exécution du programme sur la première instruction contenue dans la mémoire ROM. Le second possède une instruction susceptible de provoquer ce transfert. Les deux types peuvent coexister
CHARGE DANS UN SUPPORT A MICROCIRCUIT
La présente invention a pour objet un procédé de gestion d'un programme d'application chargé dans un support à microcircuit. Dans une utilisation préférée, le support à microcircuit est une carte dite à puce électronique utilisable dans le domaine bancaire ainsi que pour de nombreuses autres transactions. L'invention vise à mettre à la disposition de nombreux services dits émetteurs, de tels supports à microcircuit parce qu'ils permettent, avec l'intelligence électronique qu'ils emportent, de simplifier la gestion de ces services.
Un support à microcircuit comporte d'une part un support, souvent constitué sous la forme d'une carte comme les cartes de crédit, et d'autre part un circuit électronique muni, à la surface du support, de moyens de communiquer avec le monde extérieur. Souvent ces moyens de communication sont de simples surfaces métallisées reliées par ailleurs au microcircuit et autorisant des contacts électriques. Cependant, il est possible d'organiser une relation entre le monde extérieur et le microcircuit électronique qui soit sans contact électrique : par exemple, par l'intermédiaire d'émission électromagnétiques.
Dans sa définition la plus générale un microcircuit du type de celui utilisé dans les cartes à puces comporte d'une part un microprocesseur qui est le véritable moteur de la carte, et d'autre part un ensemble de mémoires ayant des fonctions différentes. On peut admettre qu'un tel microcircuit comporte ainsi trois types de mémoire, encore que les fonctionnalités et les technologies de ces mémoires puissent être mêlées au point que la distinction de ces mémoires puisse être difficile. Cependant, on peut noter l'existence d'une mémoire vive de travail, dite RAM, dont la technologie est souvent de type statique ou dynamique. Un microcircuit comporte également une mémoire morte, dite ROM ou encore mémoire programme, contenant le programme d'application. Normalement cette mémoire ROM ne peut être programmable extérieurement par l'utilisateur et doit avoir été programmée, soit par masque par le fabricant du microcircuit soit par l'émetteur de la carte avant que cet émetteur n'empêche ulterieurement (en genéral par rupture d'un fusible) l'accès en écriture à cette mémoire morte ROM. Comme troisième type de mémoire, on conna~t l'existence de mémoire programmable et effaçable électriquement, par exemple du type EEPROM ou du type FLASH EPROM. Ces dernières mémoires inscriptibles permettent d'entrer des données relatives à l'application : nombres, dates et heures des utilisations de la carte pour l'application concernée, dates et montants prélevés sur le compte en banque, plus généralement données relatives à la transaction. Les mémoires ROM et EPROM sont normalement non volatiles.
Normalement le microprocesseur est apte à exécuter les programmes d'applications contenus dans la mémoire ROM, soit en allant directement lire les instructions à
exécuter dans cette mémoire, soit en ayant provoqué au préalable le transfert de ces instructions dans la mémoire RAM et en les exécutant depuis cette mémoire RAM
elle même. On conna~t ainsi deux types de microprocesseur. Le premier type possède une instruction susceptible d'aller initialiser l'exécution du programme sur la première instruction contenue dans la mémoire ROM. Le second possède une instruction susceptible de provoquer ce transfert. Les deux types peuvent coexister
2~513~
sur un microcircuit. Dans ce cas une de ces fonctionnalités peut éventuellement être neutralisée.
On distingue plusieurs intervenants dans le phénomène d'utilisation des cartes à microcircuit. D'une part il existe des fabricants de microcircuits. D'autre part, il existe des émetteurs de carte, et enfin il existe des utilisateurs de carte. Les fonctionnalités des cartes sont réduites au fur et à mesure qu'elles s'adressent à des intervenants situés de plus en plus en aval dans cette chafne. Ceci signifie que chez le fabricant du microcircuit, le microcircuit électronique possède, potentiellement, toute la puissance possible de programmation interne. on peut résumer l'existence de cette puissance en disant qu'aucun des fusibles de limitation d'accès n'est encore rompu. Cependant, dans le cas o~ il ne s'agira pas de fusible, on admettra que chez le fabricant cette puissance potentielle n'est pas non plus limitée par un jeu d'instructions de programmation, propre au microprocesseur.
Les émetteurs des cartes, par exemple les banques, demandent en général au fabricant du microcircuit de programmer d'une manière indélébile, soit par masque dans une mémoire morte ROM, soit par programmation logicielle et par rupture ultérieure du fusible d'accès en écriture dans une mémoire de type EPROM, les applications dont elles ont besoin, et dont elles veulent que leurs clients soient en possession. Ceci a comme première conséquence que la fonctionnalité du microcircuit est figée, son utilisation est limitée à
l'application envisagée. Cependant, la banque peut imaginer pour développer sa relation avec sa clientele de donner d'autres fonctionnalités a la carte. Elle ne peut alors le faire, si ce n'est en se tournant vers le fabricant, et en lui demandant de réaliser d'autres 2~513~
cartes avec d'autres masques. Ce processus est long et peu souple.
Ce mode de fabrication a un autre inconvénient lié
au fait que des autres services, par exemple des S organismes sociaux de santé, des sociétés de gestion d'un parc de stationnement, doivent adopter un même mode de programmation. Ce même mode de programmation revenant à faire porter la charge de la programmation des applications dans les microcircuits sur le fabricant du microcircuit.
Si on procédait autrement il y aurait un risque. Ce premier risque serait de voir un marchand de service simuler, avec ses outils de programmation des microcircuits, des services d'un autre marchand. Par exemple, une société de gestion de parking pourrait, frauduleusement, tenter de simuler une application bancaire. Ce risque se situerait aussi chez les fabricants. Des négligences au moment de la fabrication ou de la livraison des microcircuits vierges aux emetteurs pourrait conduire à mettre à la disposition d'acteurs mal intentionnes des microcircuits programmables auxquels il serait possible de faire adopter, en partie seulement, des fonctionnalites d'une carte particulière, et de lui attribuer en plus des fonctionnalités qui normalement lui seraient interdites.
Pour remédier à ces inconvénients, il est déjà
connu d'une part, comme évoque ci-dessus, de faire charger par le fabricant l'application dans une mémoire ROM. L'application est figée dès l' origine et ne peut plus être modifiée par un quelconque moyen. Il est connu aussi la possibilité de charger des programmes d'applications dans des mémoires programmables et de limiter ultérieurement l'accès en programmation à ces mémoires programmables par rupture d'un fusible. On ;
. _ comprend que les deuxième type de programmation reçoive un accueil favorable de la part des émetteurs parce qu'il est plus souple d'utilisation. On comprend également que cette manière de faire est cependant plus dangereuse pour les autres émetteurs. En effet, bien que le fabricant a pu limiter la potentialité du circuit cette limitation peut d'une manière perverse être contournée.
Dans l'invention, on propose de résoudre ce probleme en demandant à l'application de se protéger elle même. Pour ce faire on inclut en plus dans cette application un programme de chiffrement chargé d'établir une signature sur la base, d'une part, d'un code secret propre à la carte, et d'autre part, des instructions du programme d'utilisation lui même. Si ce programme de chiffrement n'est pas inclus dans l'application elle même il existe néanmoins, et doit être lancé, périodiquement, par le microprocesseur. Son action porte sur les instructions de l'application. Cette signature est alors elle même chargée dans la mémoire de données de la carte. Cette signature est donc tout à fait lisible dans cette mémoire. La carte comporte ainsi, dans sa mémoire de donnée le code secret et la signature. La carte comporte dans sa mémoire programme, d'une part le programme d'application (toutes les instructions de ce programme), et d'autre part un algorithme de chiffrement identique à celui avec lequel a été élaboré la signature. L'application peut être stockée dans une mémoire programmable et effaçable.
L'algorithme de chiffrement n'est stocké qu'en mémoire morte non programmable. La fonctionnalité de cet algorithme est limitée au calcul de la signature, il ne peut pas provoquer l'écriture de cette signature dans la mémoire de données.
205136~
Quand on veut utiliser la carte il suffit alors, à
chaque utilisation de vérifier que le calcul à nouveau de la signature, sur la base des instructions du programme et du code secret, est bien égal à la signature déjà enregistrée. Dans ces conditions il est possible de mettre à la disposition de tous les émetteurs toute la potentialité des cartes aucun de ceux-ci ne peut par négligence ou part mauvaise intention simuler partiellement l'application d'un autre : il est obligé de la simuler au moins en totalité. Quand elle est simulée en totalité, elle présente moins de risque puisque l'utilisation doit être conforme à celle qui a été attribuée par l'émetteur.
Pour rendre le système encore plus performant il peut être envisagé de faire intervenir, dans le processus de vérification le lecteur avec lequel la carte est en relation de communication. En effet l'algorithme de chiffrement prend en compte les unes après les autres les informations binaires contenues dans les instructions du programme d'application. Avec cette suite d'instruction et avec le code secret il calcule la signature. Il est cependant possible d'introduire, de la part du lecteur, au cours de ce chiffrement, une autre s~ite binaire tendant à modifier la signature. Sous réserve que cette suite binaire ait été également entrée au moment de l'insertion de la signature dans la carte. On constate qu'on sécurise complètement l'application d'une part par le code secret de la carte, d'autre part par la limitation des instructions du programme d'application strictement respecté et enfin par l'intervention de l'émetteur de la carte.
Dans ce dernier cas, il est même possible de modifier la signature. Cette modification est à
`_ 20~13~5 l'initiative de l'émetteur. Il peut décider par exemple, qu'à compter d'une certaine date la suite binaire introduite par les lecteurs sera différente. Lors de la première insertion d'une carte dans un lecteur, suite à
cette décision de modification, le lecteur reconna~t l'existence de l'ancienne signature et, après validation de la carte, et selon un protocole sécurisé, ce lecteur reprogramme dans la carte une nouvelle signature, qui servira pour les vérifications ultérieures.
L'invention a donc pour objet un procédé de gestion d'un programme d'application dans un support à
microcircuit comportant les étapes suivantes :
- on élabore une signature chiffrée fonction d'un code secret du microcircuit et de certaines instructions du programme ;
- on charge cette signature dans une mémoire programmable du microcircuit ;
- on charge le programme dans une mémoire programme du microcircuit ;
- on fait élaborer par le microprocesseur du microcircuit, au moment de l'exécution du programme d'application, une autre signature chiffrée ;
- on compare la signature chiffrée élaborée et celle qui a été enregistrée ; et - on autorise le déroulement du programme en fonction du résultat de cette comparaison.
L'invention sera mieux comprise à la lecture de la description qui suit et à l'examen des figures qui 1~ accompagnent . Celles-ci ne sont données qu ' à titre indicatif et nullement limitatif de l'invention.
Les figurent montrent :
- Figure 1, un schéma fonctionnel du système de gestion de la carte selon l'invention ;
- Figure 2 : la suite logique des phases du procédé
-20~136~
de gestion de l'invention.
La figure 1 montre schématiquement le système de gestion utilisable pour mettre en oeuvre le procédé de l'invention. Elle montre un support 1 contenant un microcircuit 2. Dans une application courante le support 1 est une carte à puce en plastique, le microcircuit 2 est un circuit électronique. Le microcircuit 2 comporte des moyens non représentés de communication avec le monde extérieur, et un microprocesseur 3 apte à
travailler sous le contrôle d'un programme 4 chargé dans une mémoire vive S à accès aléatoire, dans une mémoire morte 6 préprogrammée, ou dans une mémoire inscriptible 7 (dans une partie 9 qui ne peut plus être écrite de cette mémoire 7, ou au contraire dans une partie 8 dans laquelle on peut écrire et effacer en permanence). On va décrire le cas où l'application est stockée dans une mémoire morte 6 puis chargée dans une mémoire vive 5 pour son exécution. Cependant, l'invention est tout à
fait applicable, lorsque le programme exécutable est exécuté directement à partir de la mémoire où il est stocké, mémoire 6 ou mémoire 7, sans être transféré à la mémoire vive 5. Dans ce cas, le microprocesseur 3, par son fonctionnement interne, sait qu'il lui est possible d'aller chercher les instructions dans de telles mémoires. Dans le cas présent, au moment du démarrage, le microprocesseur, charge tout ou partie du programme exécutable dans la mémoire RAM 5.
En plus de la fonction "chargement RAM" de chargement du programme d'application, le programme principal du microprocesseur comporte une autre fonction de type algorithmique (de type RSA ou DES) obligatoire tendant à lui faire mettre en oeuvre la vérification de l'invention. Il n'est donc pas possible d'y échapper.
Dans les parties enregistrables 9 de la mémoire 7, -2051~6~
a été enregistré un code secret de la carte. Ce code secret est enregistré dans la carte par l'émetteur du programme d'application. Il n'est pas accessible en lecture pour être visualisé ou transféré sur un bus d'entrée-sortie de la carte. Il est seulement accessible d'une manière interne : le microprocesseur peut faire des calculs avec ce code secret. Le code secret est stocké dans une région 10 complètement inaccessible par des voies extérieures de la mémoire 7 (ou éventuellement de la mémoire 6).
Au moment o~ l'emetteur veut mettre en service les cartes, il charge dans la carte le code secret.
L'emetteur conna~t d'autre part l'identification de la carte : il s'agit de son numéro de fabrication ou de son numéro de série. Enfin l'émetteur connait également le programme 4 qu'il veut introduire dans le microcircuit 2. Ce programme, dans l'exemple décrit, est stocké dans une région 12 de la mémoire 6. Dans une région 11 de cette mémoire 6 est stocké un algorithme de chiffrement du type RSA. L'algorithme de chiffrement de type RSA est connu et est publié dans Communication of the ACM, Vol 21, 1978, pp 120-126 dans un article intitulé "A method for obtaining digital signatures and Public-key cryptosystems" dû à MM RIVEST R.L., SHAMIR A and ADLEMAN
L.M.
L'invention peut, bien entendu, être mise en oeuvre avec d'autres algorithmes de chiffrement que cet algorithme 1~. En particulier, dans un même but on connaSt un autre algorithme dit DES.
Ces algorithmes consistent pour l'essentiel à
calculer une signature à partir d'un certain nombre de données qui leurs sont communiquées. Dans l'invention, les données qui sont communiquées sont le code secret de la carte, éventuellement l'identification, mais surtout _ 20~1365 les n instructions du programme 4. Ces instructions peuvent être considérées comme des données puisque pour le calcul de la signature seule leur allure de suites binaires est prise en compte. Il est à noter cependant qu'il n'est pas nécessaire d'introduire au moment de l'opération de chiffrement toutes les instructions du programme 4 dans cet algorithme. On peut par exemple décider d'en prendre une sur deux seulement, ou bien une seulement, ou encore tout autre combinaison que l'on voudra. Ceci doit être prévu pour l'exécution de l'algorithme RSA qui va chercher des données, au fur et à mesure de son déroulement là où on lui a indiqué de les prendre. Lorsqu'il est question de changer la signature, plutôt que d'entrer une donnée extérieure à
la carte par un lecteur 13 qui est destiné à la recevoir, il peut être décidé d'élaborer une nouvelle signature sur la base d'autres instructions contenues dans les n instructions du programme 4, ou bien sur les mêmes instructions mais prises selon un ordre différent que l'ordre dans lequel elles avaient été rangées.
La figure 2 permet de bien comprendre le fonctionnement de l'invention. Au moment du conditionnement de la carte, nanti de toutes les informations utiles, notamment les instructions 1 à n du programme 4, on calcule la signature en exécutant, extérieurement à la carte, l'algorithme RSA. La signature ainsi calculée est chargée dans une région 14 située de préférence dans la mémoire 7. La région 14 peut être accessible en permanence en lecture : elle n'a pas besoin d'être particulièrement protégée. Elle peut même être accessible en écriture : toute modification injustifiée se son contenu amenant l'échec de l'utilisation envisagee de l'application. On peut aussi utiliser pour elaborer la signature un code secret dedie à cet usage dans la carte. Ce code pourrait être chargé
dans la carte au moment de ce conditionnement.
Lors de l'utilisation, lors de l'insertion de la carte 1 dans la fente 15 du lecteur 13, la mise en marche du circuit provoque, comme première instruction, le cas échéant le chargement du programme de l'application dans la mémoire de travail 5. Une fois que ce programme a été chargé dans la mémoire 5, le microprocesseur 3 met irrémédiablement en oeuvre, au moyen de l'algorithme de chiffrement RSA stocké dans la région 11, d'une manière interne cette fois, l'élaboration de la signature. L'élaboration en interne par le microprocesseur 3 de la signature consiste à
aller chercher d'une part le code secret stocké dans la région 10, éventuellement aussi l'identification située dans une région 16, et les instructions du programme soit stockees dans la region 12 de la memoire 6 soit stockées dans la mémoire 5 et à faire les calculs de chiffrement sur ces données. Une fois que le microprocesseur 3 a terminé son élaboration, il provoque aussi irrémédiablement par l'instruction 17 la lecture de la signature stockée dans la région 14 de la mémoire 9. Cette signature lue dans la région 14 est ensuite comparée, au cours d'une instruction de comparaison stockée dans une région 18 de la mémoire 6, à la signature élaborée. Cette comparaison est faite bit à
bit. Selon le succès ou l'échec de cette comparaison, il sera édité un signal de validation du fonctionnement du microprocesseur, ou au contraire d'invalidation.
En définitive, la mise en oeuvre de l'invention nécessite, de préférence au préalable c'est-à-dire au démarrage du microcircuit, l'exécution du calcul de l'algorithme selon des instructions contenues dans la région 11, puis la lecture de la signature et enfin " ~513G~
l'exécution de la comparaison situé dans la région 16.
Le chargement du programme dans la mémoire de travail 5 peut être effectuée après ces trois opérations, en cas de succès seulement bien entendu. Il suffit donc dans ce cas de réaliser, en fabrication, des microprocesseurs tels qu'au démarrage ils aillent pointer directement sur la première instruction située dans la région 11. Sinon il faut que leur première instruction soit le chargement en mémoire RAM au moins des instructions 11, 17 et 18.
Plutôt qu'une vérification unique faite en début de programme, on peut prévoir des vérifications plus régulières au cours du déroulement de ce programme, par exemple après l'exécution à chaque fois de dix instructions, ou même sous l'autorité du lecteur qui provoque l'utilisation du programme.
On constate donc que la vérification de la cohérence du programme avec la carte s'effectue d'une manière interne, sans intervention quelconque de l'opérateur.
On a dit que la carte était destinée à permettre les relations avec le monde extérieur quel qu'il soit.
Il serait donc possible à un fraudeur de créer son propre programme (qui serait évidemment un programme nuisible à un émetteur que ce fraudeur voudrait voler).
on peut même admettre qu'il serait possible à ce fraudeur de connaitre le code secret ainsi que l'identification de la carte, et par ailleurs, les algorithmes RSA étant connus et accessibles au public, de charger lui même une signature dans la mémoire 7 et de tenter de rendre ainsi cette vérification et cette validation illusoires. Pour éviter cette situation, on peut prévoir, lorsque la carte 1 est en relation avec le monde extérieur que ce monde extérieur substitue ses instructions, cohérentes, à celles du microcircuit 2 2~51365 pour calculer la signature.
L'invention peut trouver une application dans le domaine des télévisions à péage. Dans une télévision a péage, le signal de base de temps du signal vidéo peut etre considéré comme avancé ou retardé dans le temps, pour chacune des lignes d'image, en fonction d'un codage particulier. Sans intervention sur le signal vidéo montré sur le poste de télévision, les lignes sont décalées les unes des autres et l'image brouillée. Il est possible de resynchroniser l'instant du départ du balayage de chaque ligne au moyen d'un automate qui en affecte le retard ou l'avance de facon inverse au brouillage.
Cet automate exécute un algorithme de calcul sur un mot code. Le résultat de ce calcul constitue la séquence des retards et avances sur une trame du mode télévision.
On peut admettre que tous les mois le mode de brouillage change et que par conséquent pour débrouiller son image chaque abonné doit rentrer un nouveau mot code dans l'automate. Ce nouveau mot code est transmis à l'abonné
par la chaine de télévision à péage, sous réserve, qu'il soit à jour de son abonnement. Le problème à résoudre est le problème résultant de la divulgation de l'algorithme de l'automate. La société de gestion des décodeurs de télévision à péage peut alors vouloir périodiquement changer le mode de fonctionnement de ses automates : changer cet algorithme. Plutôt que d'avoir a changer les décodeurs eux-mêmes, qui sont des pièces chères, il est envisagé de mettre l'intelligence des automates dans des cartes à microcircuits. Donc le changement du mode de fonctionnement de l'automate reviendrait à changer ces cartes. Cependant, cette solution étant elle même trop chère, il est prévu avec l'invention de recharger un autre algorithme dans les -cartes par les émissions hertziennes elles mêmes. On se trouve donc, dans ce cas, dans la situation où le programme exécutable doit être chargé non plus dans une mémoire qui ne pourrait être accessible qu'en lecture, telle que la mémoire 6, mais dans une mémoire telle que la mémoire 8 qui doit même être accessible en écriture.
Le programme chargé est donc public.
Ainsi, de préférence, le programme est donc chargé
dans une mémoire programmable et effaçable 8. De préférence, le code secret utilisé pour la signature est un code secret spécifique à l'élaboration de cette signature, ce code secret pouvant être différent du code secret qu'utilise le porteur pour valider l'utilisation de sa carte. Il est par ailleurs possible de rendre spécifique chaque programme pour chaque carte (ou pour des groupes de cartes possédant une même identification).
La mise en oeuvre de l'invention est la suivante dans le cas de l'application de télévision. L'émetteur émet, par voie hertzienne, un message spécifique à
destination de chaque carte. Ce message comporte d'une part une identification IN de la carte et d'autre part les nouvelles instructions NL de l'algorithme et la nouvelle signature SN. Cette nouvelle signature SN
comporte alors nécessairement une participation de l'identification IN de la carte à son élaboration. Ou bien cette signature SN comporte une participation du code secret CS de la carte à son élaboration. Voire les deux. Chez le client N, le programme principal du microprocesseur de la carte ou du décodeur comporte alors une option pour se mettre en acceptation de modification. Dans cet état, le décodeur se met en modification dès qu'il reconnaît dans les ondes émises son identification IN. Lorsque l'identification IN d'une carte est reconnue, le microprocesseur accepte le nouveau programme NL et la nouvelle signature SN. La reconnaissance de l'identification se fait par comparaison d'une identification émise sur les ondes hertziennes avec l'identification présente dans la carte. Le protocole de modification est lui aussi un protocole figé : le microprocesseur ne rend la main que lorsque toute la modification est terminée. Une fois cette modification effectuée, la carte contient le nouveau programme de l'algorithme NL et la nouvelle signature SN. Le nouveau programme peut avoir été
remplacé en tout ou partie. Pour valider le fonctionnement, lors de la mise en service du décodeur, le microprocesseur de la carte calcule une nouvelle signature S'N sur la base des nouvelles instructions NL, de son identification IN, et, éventuellement, du code secret CS. Si S'N est le même que SN la validation se produit. Elle ne se produit plus dans le cas contraire.
Bien entendu, la chaine de télévision n'émet pas de message spécifique pour les abonnés qui ne sont pas à
jour du règlement de leur facture.
Pour assurer la transmission du nouvel algorithme, un temps de 0,1 seconde par abonné est suffisant. Cinq millions d'abonnés peuvent être desservis en cinq jours.
ceci peut même être plus rapide si on utilise des réémetteurs distribués sur le territoire pour partager le travail. Afin d'assurer une permanence d'écoute, on peut prévoir que chaque carte comporte deux algorithmes et que le décodeur est capable de choisir seul celui des deux qui est le bon. Ainsi, chaque abonné peut avoir l'algorithme An et An+1. Pendant que la chaîne émet avec un codage correspondant à An+1 on remplace, par voie hertzienne, An par An+2-
sur un microcircuit. Dans ce cas une de ces fonctionnalités peut éventuellement être neutralisée.
On distingue plusieurs intervenants dans le phénomène d'utilisation des cartes à microcircuit. D'une part il existe des fabricants de microcircuits. D'autre part, il existe des émetteurs de carte, et enfin il existe des utilisateurs de carte. Les fonctionnalités des cartes sont réduites au fur et à mesure qu'elles s'adressent à des intervenants situés de plus en plus en aval dans cette chafne. Ceci signifie que chez le fabricant du microcircuit, le microcircuit électronique possède, potentiellement, toute la puissance possible de programmation interne. on peut résumer l'existence de cette puissance en disant qu'aucun des fusibles de limitation d'accès n'est encore rompu. Cependant, dans le cas o~ il ne s'agira pas de fusible, on admettra que chez le fabricant cette puissance potentielle n'est pas non plus limitée par un jeu d'instructions de programmation, propre au microprocesseur.
Les émetteurs des cartes, par exemple les banques, demandent en général au fabricant du microcircuit de programmer d'une manière indélébile, soit par masque dans une mémoire morte ROM, soit par programmation logicielle et par rupture ultérieure du fusible d'accès en écriture dans une mémoire de type EPROM, les applications dont elles ont besoin, et dont elles veulent que leurs clients soient en possession. Ceci a comme première conséquence que la fonctionnalité du microcircuit est figée, son utilisation est limitée à
l'application envisagée. Cependant, la banque peut imaginer pour développer sa relation avec sa clientele de donner d'autres fonctionnalités a la carte. Elle ne peut alors le faire, si ce n'est en se tournant vers le fabricant, et en lui demandant de réaliser d'autres 2~513~
cartes avec d'autres masques. Ce processus est long et peu souple.
Ce mode de fabrication a un autre inconvénient lié
au fait que des autres services, par exemple des S organismes sociaux de santé, des sociétés de gestion d'un parc de stationnement, doivent adopter un même mode de programmation. Ce même mode de programmation revenant à faire porter la charge de la programmation des applications dans les microcircuits sur le fabricant du microcircuit.
Si on procédait autrement il y aurait un risque. Ce premier risque serait de voir un marchand de service simuler, avec ses outils de programmation des microcircuits, des services d'un autre marchand. Par exemple, une société de gestion de parking pourrait, frauduleusement, tenter de simuler une application bancaire. Ce risque se situerait aussi chez les fabricants. Des négligences au moment de la fabrication ou de la livraison des microcircuits vierges aux emetteurs pourrait conduire à mettre à la disposition d'acteurs mal intentionnes des microcircuits programmables auxquels il serait possible de faire adopter, en partie seulement, des fonctionnalites d'une carte particulière, et de lui attribuer en plus des fonctionnalités qui normalement lui seraient interdites.
Pour remédier à ces inconvénients, il est déjà
connu d'une part, comme évoque ci-dessus, de faire charger par le fabricant l'application dans une mémoire ROM. L'application est figée dès l' origine et ne peut plus être modifiée par un quelconque moyen. Il est connu aussi la possibilité de charger des programmes d'applications dans des mémoires programmables et de limiter ultérieurement l'accès en programmation à ces mémoires programmables par rupture d'un fusible. On ;
. _ comprend que les deuxième type de programmation reçoive un accueil favorable de la part des émetteurs parce qu'il est plus souple d'utilisation. On comprend également que cette manière de faire est cependant plus dangereuse pour les autres émetteurs. En effet, bien que le fabricant a pu limiter la potentialité du circuit cette limitation peut d'une manière perverse être contournée.
Dans l'invention, on propose de résoudre ce probleme en demandant à l'application de se protéger elle même. Pour ce faire on inclut en plus dans cette application un programme de chiffrement chargé d'établir une signature sur la base, d'une part, d'un code secret propre à la carte, et d'autre part, des instructions du programme d'utilisation lui même. Si ce programme de chiffrement n'est pas inclus dans l'application elle même il existe néanmoins, et doit être lancé, périodiquement, par le microprocesseur. Son action porte sur les instructions de l'application. Cette signature est alors elle même chargée dans la mémoire de données de la carte. Cette signature est donc tout à fait lisible dans cette mémoire. La carte comporte ainsi, dans sa mémoire de donnée le code secret et la signature. La carte comporte dans sa mémoire programme, d'une part le programme d'application (toutes les instructions de ce programme), et d'autre part un algorithme de chiffrement identique à celui avec lequel a été élaboré la signature. L'application peut être stockée dans une mémoire programmable et effaçable.
L'algorithme de chiffrement n'est stocké qu'en mémoire morte non programmable. La fonctionnalité de cet algorithme est limitée au calcul de la signature, il ne peut pas provoquer l'écriture de cette signature dans la mémoire de données.
205136~
Quand on veut utiliser la carte il suffit alors, à
chaque utilisation de vérifier que le calcul à nouveau de la signature, sur la base des instructions du programme et du code secret, est bien égal à la signature déjà enregistrée. Dans ces conditions il est possible de mettre à la disposition de tous les émetteurs toute la potentialité des cartes aucun de ceux-ci ne peut par négligence ou part mauvaise intention simuler partiellement l'application d'un autre : il est obligé de la simuler au moins en totalité. Quand elle est simulée en totalité, elle présente moins de risque puisque l'utilisation doit être conforme à celle qui a été attribuée par l'émetteur.
Pour rendre le système encore plus performant il peut être envisagé de faire intervenir, dans le processus de vérification le lecteur avec lequel la carte est en relation de communication. En effet l'algorithme de chiffrement prend en compte les unes après les autres les informations binaires contenues dans les instructions du programme d'application. Avec cette suite d'instruction et avec le code secret il calcule la signature. Il est cependant possible d'introduire, de la part du lecteur, au cours de ce chiffrement, une autre s~ite binaire tendant à modifier la signature. Sous réserve que cette suite binaire ait été également entrée au moment de l'insertion de la signature dans la carte. On constate qu'on sécurise complètement l'application d'une part par le code secret de la carte, d'autre part par la limitation des instructions du programme d'application strictement respecté et enfin par l'intervention de l'émetteur de la carte.
Dans ce dernier cas, il est même possible de modifier la signature. Cette modification est à
`_ 20~13~5 l'initiative de l'émetteur. Il peut décider par exemple, qu'à compter d'une certaine date la suite binaire introduite par les lecteurs sera différente. Lors de la première insertion d'une carte dans un lecteur, suite à
cette décision de modification, le lecteur reconna~t l'existence de l'ancienne signature et, après validation de la carte, et selon un protocole sécurisé, ce lecteur reprogramme dans la carte une nouvelle signature, qui servira pour les vérifications ultérieures.
L'invention a donc pour objet un procédé de gestion d'un programme d'application dans un support à
microcircuit comportant les étapes suivantes :
- on élabore une signature chiffrée fonction d'un code secret du microcircuit et de certaines instructions du programme ;
- on charge cette signature dans une mémoire programmable du microcircuit ;
- on charge le programme dans une mémoire programme du microcircuit ;
- on fait élaborer par le microprocesseur du microcircuit, au moment de l'exécution du programme d'application, une autre signature chiffrée ;
- on compare la signature chiffrée élaborée et celle qui a été enregistrée ; et - on autorise le déroulement du programme en fonction du résultat de cette comparaison.
L'invention sera mieux comprise à la lecture de la description qui suit et à l'examen des figures qui 1~ accompagnent . Celles-ci ne sont données qu ' à titre indicatif et nullement limitatif de l'invention.
Les figurent montrent :
- Figure 1, un schéma fonctionnel du système de gestion de la carte selon l'invention ;
- Figure 2 : la suite logique des phases du procédé
-20~136~
de gestion de l'invention.
La figure 1 montre schématiquement le système de gestion utilisable pour mettre en oeuvre le procédé de l'invention. Elle montre un support 1 contenant un microcircuit 2. Dans une application courante le support 1 est une carte à puce en plastique, le microcircuit 2 est un circuit électronique. Le microcircuit 2 comporte des moyens non représentés de communication avec le monde extérieur, et un microprocesseur 3 apte à
travailler sous le contrôle d'un programme 4 chargé dans une mémoire vive S à accès aléatoire, dans une mémoire morte 6 préprogrammée, ou dans une mémoire inscriptible 7 (dans une partie 9 qui ne peut plus être écrite de cette mémoire 7, ou au contraire dans une partie 8 dans laquelle on peut écrire et effacer en permanence). On va décrire le cas où l'application est stockée dans une mémoire morte 6 puis chargée dans une mémoire vive 5 pour son exécution. Cependant, l'invention est tout à
fait applicable, lorsque le programme exécutable est exécuté directement à partir de la mémoire où il est stocké, mémoire 6 ou mémoire 7, sans être transféré à la mémoire vive 5. Dans ce cas, le microprocesseur 3, par son fonctionnement interne, sait qu'il lui est possible d'aller chercher les instructions dans de telles mémoires. Dans le cas présent, au moment du démarrage, le microprocesseur, charge tout ou partie du programme exécutable dans la mémoire RAM 5.
En plus de la fonction "chargement RAM" de chargement du programme d'application, le programme principal du microprocesseur comporte une autre fonction de type algorithmique (de type RSA ou DES) obligatoire tendant à lui faire mettre en oeuvre la vérification de l'invention. Il n'est donc pas possible d'y échapper.
Dans les parties enregistrables 9 de la mémoire 7, -2051~6~
a été enregistré un code secret de la carte. Ce code secret est enregistré dans la carte par l'émetteur du programme d'application. Il n'est pas accessible en lecture pour être visualisé ou transféré sur un bus d'entrée-sortie de la carte. Il est seulement accessible d'une manière interne : le microprocesseur peut faire des calculs avec ce code secret. Le code secret est stocké dans une région 10 complètement inaccessible par des voies extérieures de la mémoire 7 (ou éventuellement de la mémoire 6).
Au moment o~ l'emetteur veut mettre en service les cartes, il charge dans la carte le code secret.
L'emetteur conna~t d'autre part l'identification de la carte : il s'agit de son numéro de fabrication ou de son numéro de série. Enfin l'émetteur connait également le programme 4 qu'il veut introduire dans le microcircuit 2. Ce programme, dans l'exemple décrit, est stocké dans une région 12 de la mémoire 6. Dans une région 11 de cette mémoire 6 est stocké un algorithme de chiffrement du type RSA. L'algorithme de chiffrement de type RSA est connu et est publié dans Communication of the ACM, Vol 21, 1978, pp 120-126 dans un article intitulé "A method for obtaining digital signatures and Public-key cryptosystems" dû à MM RIVEST R.L., SHAMIR A and ADLEMAN
L.M.
L'invention peut, bien entendu, être mise en oeuvre avec d'autres algorithmes de chiffrement que cet algorithme 1~. En particulier, dans un même but on connaSt un autre algorithme dit DES.
Ces algorithmes consistent pour l'essentiel à
calculer une signature à partir d'un certain nombre de données qui leurs sont communiquées. Dans l'invention, les données qui sont communiquées sont le code secret de la carte, éventuellement l'identification, mais surtout _ 20~1365 les n instructions du programme 4. Ces instructions peuvent être considérées comme des données puisque pour le calcul de la signature seule leur allure de suites binaires est prise en compte. Il est à noter cependant qu'il n'est pas nécessaire d'introduire au moment de l'opération de chiffrement toutes les instructions du programme 4 dans cet algorithme. On peut par exemple décider d'en prendre une sur deux seulement, ou bien une seulement, ou encore tout autre combinaison que l'on voudra. Ceci doit être prévu pour l'exécution de l'algorithme RSA qui va chercher des données, au fur et à mesure de son déroulement là où on lui a indiqué de les prendre. Lorsqu'il est question de changer la signature, plutôt que d'entrer une donnée extérieure à
la carte par un lecteur 13 qui est destiné à la recevoir, il peut être décidé d'élaborer une nouvelle signature sur la base d'autres instructions contenues dans les n instructions du programme 4, ou bien sur les mêmes instructions mais prises selon un ordre différent que l'ordre dans lequel elles avaient été rangées.
La figure 2 permet de bien comprendre le fonctionnement de l'invention. Au moment du conditionnement de la carte, nanti de toutes les informations utiles, notamment les instructions 1 à n du programme 4, on calcule la signature en exécutant, extérieurement à la carte, l'algorithme RSA. La signature ainsi calculée est chargée dans une région 14 située de préférence dans la mémoire 7. La région 14 peut être accessible en permanence en lecture : elle n'a pas besoin d'être particulièrement protégée. Elle peut même être accessible en écriture : toute modification injustifiée se son contenu amenant l'échec de l'utilisation envisagee de l'application. On peut aussi utiliser pour elaborer la signature un code secret dedie à cet usage dans la carte. Ce code pourrait être chargé
dans la carte au moment de ce conditionnement.
Lors de l'utilisation, lors de l'insertion de la carte 1 dans la fente 15 du lecteur 13, la mise en marche du circuit provoque, comme première instruction, le cas échéant le chargement du programme de l'application dans la mémoire de travail 5. Une fois que ce programme a été chargé dans la mémoire 5, le microprocesseur 3 met irrémédiablement en oeuvre, au moyen de l'algorithme de chiffrement RSA stocké dans la région 11, d'une manière interne cette fois, l'élaboration de la signature. L'élaboration en interne par le microprocesseur 3 de la signature consiste à
aller chercher d'une part le code secret stocké dans la région 10, éventuellement aussi l'identification située dans une région 16, et les instructions du programme soit stockees dans la region 12 de la memoire 6 soit stockées dans la mémoire 5 et à faire les calculs de chiffrement sur ces données. Une fois que le microprocesseur 3 a terminé son élaboration, il provoque aussi irrémédiablement par l'instruction 17 la lecture de la signature stockée dans la région 14 de la mémoire 9. Cette signature lue dans la région 14 est ensuite comparée, au cours d'une instruction de comparaison stockée dans une région 18 de la mémoire 6, à la signature élaborée. Cette comparaison est faite bit à
bit. Selon le succès ou l'échec de cette comparaison, il sera édité un signal de validation du fonctionnement du microprocesseur, ou au contraire d'invalidation.
En définitive, la mise en oeuvre de l'invention nécessite, de préférence au préalable c'est-à-dire au démarrage du microcircuit, l'exécution du calcul de l'algorithme selon des instructions contenues dans la région 11, puis la lecture de la signature et enfin " ~513G~
l'exécution de la comparaison situé dans la région 16.
Le chargement du programme dans la mémoire de travail 5 peut être effectuée après ces trois opérations, en cas de succès seulement bien entendu. Il suffit donc dans ce cas de réaliser, en fabrication, des microprocesseurs tels qu'au démarrage ils aillent pointer directement sur la première instruction située dans la région 11. Sinon il faut que leur première instruction soit le chargement en mémoire RAM au moins des instructions 11, 17 et 18.
Plutôt qu'une vérification unique faite en début de programme, on peut prévoir des vérifications plus régulières au cours du déroulement de ce programme, par exemple après l'exécution à chaque fois de dix instructions, ou même sous l'autorité du lecteur qui provoque l'utilisation du programme.
On constate donc que la vérification de la cohérence du programme avec la carte s'effectue d'une manière interne, sans intervention quelconque de l'opérateur.
On a dit que la carte était destinée à permettre les relations avec le monde extérieur quel qu'il soit.
Il serait donc possible à un fraudeur de créer son propre programme (qui serait évidemment un programme nuisible à un émetteur que ce fraudeur voudrait voler).
on peut même admettre qu'il serait possible à ce fraudeur de connaitre le code secret ainsi que l'identification de la carte, et par ailleurs, les algorithmes RSA étant connus et accessibles au public, de charger lui même une signature dans la mémoire 7 et de tenter de rendre ainsi cette vérification et cette validation illusoires. Pour éviter cette situation, on peut prévoir, lorsque la carte 1 est en relation avec le monde extérieur que ce monde extérieur substitue ses instructions, cohérentes, à celles du microcircuit 2 2~51365 pour calculer la signature.
L'invention peut trouver une application dans le domaine des télévisions à péage. Dans une télévision a péage, le signal de base de temps du signal vidéo peut etre considéré comme avancé ou retardé dans le temps, pour chacune des lignes d'image, en fonction d'un codage particulier. Sans intervention sur le signal vidéo montré sur le poste de télévision, les lignes sont décalées les unes des autres et l'image brouillée. Il est possible de resynchroniser l'instant du départ du balayage de chaque ligne au moyen d'un automate qui en affecte le retard ou l'avance de facon inverse au brouillage.
Cet automate exécute un algorithme de calcul sur un mot code. Le résultat de ce calcul constitue la séquence des retards et avances sur une trame du mode télévision.
On peut admettre que tous les mois le mode de brouillage change et que par conséquent pour débrouiller son image chaque abonné doit rentrer un nouveau mot code dans l'automate. Ce nouveau mot code est transmis à l'abonné
par la chaine de télévision à péage, sous réserve, qu'il soit à jour de son abonnement. Le problème à résoudre est le problème résultant de la divulgation de l'algorithme de l'automate. La société de gestion des décodeurs de télévision à péage peut alors vouloir périodiquement changer le mode de fonctionnement de ses automates : changer cet algorithme. Plutôt que d'avoir a changer les décodeurs eux-mêmes, qui sont des pièces chères, il est envisagé de mettre l'intelligence des automates dans des cartes à microcircuits. Donc le changement du mode de fonctionnement de l'automate reviendrait à changer ces cartes. Cependant, cette solution étant elle même trop chère, il est prévu avec l'invention de recharger un autre algorithme dans les -cartes par les émissions hertziennes elles mêmes. On se trouve donc, dans ce cas, dans la situation où le programme exécutable doit être chargé non plus dans une mémoire qui ne pourrait être accessible qu'en lecture, telle que la mémoire 6, mais dans une mémoire telle que la mémoire 8 qui doit même être accessible en écriture.
Le programme chargé est donc public.
Ainsi, de préférence, le programme est donc chargé
dans une mémoire programmable et effaçable 8. De préférence, le code secret utilisé pour la signature est un code secret spécifique à l'élaboration de cette signature, ce code secret pouvant être différent du code secret qu'utilise le porteur pour valider l'utilisation de sa carte. Il est par ailleurs possible de rendre spécifique chaque programme pour chaque carte (ou pour des groupes de cartes possédant une même identification).
La mise en oeuvre de l'invention est la suivante dans le cas de l'application de télévision. L'émetteur émet, par voie hertzienne, un message spécifique à
destination de chaque carte. Ce message comporte d'une part une identification IN de la carte et d'autre part les nouvelles instructions NL de l'algorithme et la nouvelle signature SN. Cette nouvelle signature SN
comporte alors nécessairement une participation de l'identification IN de la carte à son élaboration. Ou bien cette signature SN comporte une participation du code secret CS de la carte à son élaboration. Voire les deux. Chez le client N, le programme principal du microprocesseur de la carte ou du décodeur comporte alors une option pour se mettre en acceptation de modification. Dans cet état, le décodeur se met en modification dès qu'il reconnaît dans les ondes émises son identification IN. Lorsque l'identification IN d'une carte est reconnue, le microprocesseur accepte le nouveau programme NL et la nouvelle signature SN. La reconnaissance de l'identification se fait par comparaison d'une identification émise sur les ondes hertziennes avec l'identification présente dans la carte. Le protocole de modification est lui aussi un protocole figé : le microprocesseur ne rend la main que lorsque toute la modification est terminée. Une fois cette modification effectuée, la carte contient le nouveau programme de l'algorithme NL et la nouvelle signature SN. Le nouveau programme peut avoir été
remplacé en tout ou partie. Pour valider le fonctionnement, lors de la mise en service du décodeur, le microprocesseur de la carte calcule une nouvelle signature S'N sur la base des nouvelles instructions NL, de son identification IN, et, éventuellement, du code secret CS. Si S'N est le même que SN la validation se produit. Elle ne se produit plus dans le cas contraire.
Bien entendu, la chaine de télévision n'émet pas de message spécifique pour les abonnés qui ne sont pas à
jour du règlement de leur facture.
Pour assurer la transmission du nouvel algorithme, un temps de 0,1 seconde par abonné est suffisant. Cinq millions d'abonnés peuvent être desservis en cinq jours.
ceci peut même être plus rapide si on utilise des réémetteurs distribués sur le territoire pour partager le travail. Afin d'assurer une permanence d'écoute, on peut prévoir que chaque carte comporte deux algorithmes et que le décodeur est capable de choisir seul celui des deux qui est le bon. Ainsi, chaque abonné peut avoir l'algorithme An et An+1. Pendant que la chaîne émet avec un codage correspondant à An+1 on remplace, par voie hertzienne, An par An+2-
Claims (7)
1. Procédé de gestion d'un programme d'application dans un support à microcircuit comportant les étapes suivantes:
- on élabore une signature chiffrée fonction d'un code secret du microcircuit et de certaines instructions du programme, - on charge cette signature dans une mémoire programmable du microcircuit, - on charge le programme dans une mémoire programme du microcircuit, - on fait élaborer par le microprocesseur du microcircuit, au cours de l'exécution du programme d'application, une autre signature chiffrée, - on compare cette signature, et - on autorise le déroulement du programme en fonction du résultat de cette comparaison.
- on élabore une signature chiffrée fonction d'un code secret du microcircuit et de certaines instructions du programme, - on charge cette signature dans une mémoire programmable du microcircuit, - on charge le programme dans une mémoire programme du microcircuit, - on fait élaborer par le microprocesseur du microcircuit, au cours de l'exécution du programme d'application, une autre signature chiffrée, - on compare cette signature, et - on autorise le déroulement du programme en fonction du résultat de cette comparaison.
2. Procédé selon la revendication 1 caractérisé en ce qu'on stocke le programme dans une mémoire programmable et effaçable.
3. Procédé selon l'une quelconque des revendications 1 ou 2 caractérisé en ce qu'on charge un code secret dans le microcircuit, ce code étant dédié à
l'élaboration de cette signature.
l'élaboration de cette signature.
4. Procédé selon la revendication 2, caractérisé en ce qu'on élabore l'autre signature et en ce qu'on compare cette signature seulement au moment du chargement du programme d'application de la mémoire de travail.
5. Procédé selon l'une quelconque des revendications 1, 2 ou 4 caractérisé en ce qu'on élabore d'abord l'autre signature et en ce qu'on compare une signature plusieurs fois pendant l'exécution du programme.
6. Procédé selon l'une quelconque des revendications 1, 2 ou 4 caractérisé en ce qu'on charge la signature élaborée dans une zone mémoire du microcircuit qui ne peut qu'être lue d'une manière interne.
7 . Procédé selon l'une quelconque des revendications 1, 2 ou 4 caractérisé en ce qu'on élabore les signatures également en fonction d'un code d'identification contenu dans la carte.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR909011293A FR2666671B1 (fr) | 1990-09-12 | 1990-09-12 | Procede de gestion d'un programme d'application charge dans un support a microcircuit. |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2051365A1 CA2051365A1 (fr) | 1992-03-13 |
CA2051365C true CA2051365C (fr) | 1993-03-14 |
Family
ID=9400274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002051365A Expired - Lifetime CA2051365C (fr) | 1990-09-12 | 1991-09-13 | Procede de gestion d'un programme d'application charge dans un support a microcircuit |
Country Status (6)
Country | Link |
---|---|
US (1) | US5191608A (fr) |
EP (1) | EP0475837B1 (fr) |
JP (1) | JPH0756629B2 (fr) |
CA (1) | CA2051365C (fr) |
DE (1) | DE69100256T2 (fr) |
FR (1) | FR2666671B1 (fr) |
Families Citing this family (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5396558A (en) * | 1992-09-18 | 1995-03-07 | Nippon Telegraph And Telephone Corporation | Method and apparatus for settlement of accounts by IC cards |
FR2702857B1 (fr) * | 1993-03-18 | 1995-06-02 | Pierre Antonini | Procédé et dispositif d'autorisation d'accès à un appareil comportant un système informatique d'exploitation. |
US5349249A (en) * | 1993-04-07 | 1994-09-20 | Xilinx, Inc. | Programmable logic device having security elements located amongst configuration bit location to prevent unauthorized reading |
US5860099A (en) * | 1993-05-12 | 1999-01-12 | Usar Systems, Inc. | Stored program system with protected memory and secure signature extraction |
WO1996021225A1 (fr) * | 1995-01-06 | 1996-07-11 | Vlsi Technology, Inc. | Architecture de memoire remanente auto-programmable de maniere aleatoire sur puce |
GB9523922D0 (en) | 1995-11-23 | 1996-01-24 | At & T Global Inf Solution | Method of authenticating an application program and a system therefor |
DE19617943C2 (de) * | 1996-04-29 | 1998-12-17 | Mannesmann Ag | Verfahren zum Zugänglichmachen von Mikroprozessorkarten |
JPH1079000A (ja) * | 1996-09-03 | 1998-03-24 | Hitachi Ltd | プログラム書き込み可能なicカード |
US5815020A (en) * | 1996-09-24 | 1998-09-29 | Motorola, Inc. | Balance differential receiver |
US5812942A (en) * | 1996-09-24 | 1998-09-22 | Motorola, Inc. | Balanced differential radio receiver and method of operation |
US6101254A (en) * | 1996-10-31 | 2000-08-08 | Schlumberger Systemes | Security method for making secure an authentication method that uses a secret key algorithm |
FR2755267B1 (fr) * | 1996-10-31 | 1998-12-24 | Solaic Sa | Procede de securisation d'un procede d'authentification utilisant un algorithme a cle secrete |
FR2757979B1 (fr) * | 1996-12-27 | 1999-01-29 | Gemplus Card Int | Procede d'interpretation dynamique de donnees pour une carte a puce |
JP3689213B2 (ja) | 1997-01-21 | 2005-08-31 | ローム株式会社 | 非接触型icカード |
US6575372B1 (en) | 1997-02-21 | 2003-06-10 | Mondex International Limited | Secure multi-application IC card system having selective loading and deleting capability |
US6317832B1 (en) | 1997-02-21 | 2001-11-13 | Mondex International Limited | Secure multiple application card system and process |
DE19716015A1 (de) | 1997-04-17 | 1998-10-29 | Ibm | Einbringen von Information auf einer Chipkarte |
US6328217B1 (en) * | 1997-05-15 | 2001-12-11 | Mondex International Limited | Integrated circuit card with application history list |
US6385723B1 (en) * | 1997-05-15 | 2002-05-07 | Mondex International Limited | Key transformation unit for an IC card |
US6220510B1 (en) | 1997-05-15 | 2001-04-24 | Mondex International Limited | Multi-application IC card with delegation feature |
US6164549A (en) | 1997-05-15 | 2000-12-26 | Mondex International Limited | IC card with shell feature |
US6488211B1 (en) | 1997-05-15 | 2002-12-03 | Mondex International Limited | System and method for flexibly loading in IC card |
US6230267B1 (en) | 1997-05-15 | 2001-05-08 | Mondex International Limited | IC card transportation key set |
ES2133100B1 (es) * | 1997-05-28 | 2000-05-01 | Univ Madrid Politecnica | Sistema seguro de gestion de transacciones en redes abiertas mediante el uso de tarjeta con circuito (s) integrado(s) |
FR2773426B1 (fr) * | 1998-01-08 | 2000-03-03 | France Telecom | Procede d'auto-controle d'une cle electronique dans un systeme de controle d'acces a une ressource et cle electronique mettant en oeuvre un tel procede |
US6357665B1 (en) | 1998-01-22 | 2002-03-19 | Mondex International Limited | Configuration of IC card |
US6736325B1 (en) | 1998-01-22 | 2004-05-18 | Mondex International Limited | Codelets |
US6742120B1 (en) | 1998-02-03 | 2004-05-25 | Mondex International Limited | System and method for controlling access to computer code in an IC card |
US6293465B1 (en) * | 1998-02-27 | 2001-09-25 | Intel Corporation | CMOS imaging device with integrated identification circuitry |
DE19834486A1 (de) * | 1998-07-31 | 2000-02-03 | Philips Corp Intellectual Pty | Verfahren und Datenverarbeitungsanordnung zum gesicherten Ausführen von Befehlen |
DE19834515C1 (de) * | 1998-07-31 | 2000-03-16 | Deutsche Telekom Ag | Elektronische Erkennungsmarke |
FR2787221B1 (fr) * | 1998-12-09 | 2003-12-05 | Inside Technologies | Circuit integre a acces securise |
JP3545627B2 (ja) * | 1999-02-08 | 2004-07-21 | 株式会社東芝 | 携帯可能電子装置 |
EP1280089A4 (fr) * | 2000-03-31 | 2004-10-27 | Hitachi Capital Corp | Procede de gestion de la distribution de bons-cadeaux et bon-cadeau |
FR2808947B1 (fr) | 2000-05-09 | 2002-10-18 | Bull Cp8 | Procede pour authentifier un objet portatif, objet portatif correspondant, et appareil pour mettre en oeuvre le procede |
US6700076B2 (en) * | 2000-09-28 | 2004-03-02 | Eic Corporation | Multi-layer interconnect module and method of interconnection |
DE10131577A1 (de) * | 2001-07-02 | 2003-01-16 | Bosch Gmbh Robert | Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation seines Programms |
DE10131576A1 (de) * | 2001-07-02 | 2003-01-16 | Bosch Gmbh Robert | Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation seines Programms |
JP4793673B2 (ja) * | 2001-07-24 | 2011-10-12 | 大日本印刷株式会社 | マルチアプリケーションicカード |
FR2829645A1 (fr) * | 2001-09-10 | 2003-03-14 | St Microelectronics Sa | Protocole d'authentification a verification d'integrite de memoire |
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 |
US9852437B2 (en) | 2002-09-13 | 2017-12-26 | Visa U.S.A. Inc. | Opt-in/opt-out in loyalty system |
US7121456B2 (en) | 2002-09-13 | 2006-10-17 | Visa U.S.A. Inc. | Method and system for managing token image replacement |
US8626577B2 (en) | 2002-09-13 | 2014-01-07 | Visa U.S.A | Network centric loyalty system |
DE602004020414D1 (de) | 2003-02-24 | 2009-05-20 | St Microelectronics Sa | Verfahren und Vorrichtung zur Auswahl der Betriebsart einer Integrierten Schaltung |
US7827077B2 (en) | 2003-05-02 | 2010-11-02 | Visa U.S.A. Inc. | Method and apparatus for management of electronic receipts on portable devices |
KR20060009311A (ko) * | 2003-05-08 | 2006-01-31 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 거래 카드, 인증 시스템 및 거래 방법 |
US7725740B2 (en) * | 2003-05-23 | 2010-05-25 | Nagravision S.A. | Generating a root key for decryption of a transmission key allowing secure communications |
US8554610B1 (en) | 2003-08-29 | 2013-10-08 | Visa U.S.A. Inc. | Method and system for providing reward status |
US7104446B2 (en) | 2003-09-03 | 2006-09-12 | Visa U.S.A., Inc. | Method, system and portable consumer device using wildcard values |
US7051923B2 (en) | 2003-09-12 | 2006-05-30 | 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 |
US7653602B2 (en) | 2003-11-06 | 2010-01-26 | Visa U.S.A. Inc. | Centralized electronic commerce card transactions |
WO2005052795A1 (fr) * | 2003-11-28 | 2005-06-09 | Koninklijke Philips Electronics N.V. | Procede et moyens permettant respectivement de securiser ou de verifier un programme pouvant etre execute dans une unite de calcul |
FR2875949A1 (fr) * | 2004-09-28 | 2006-03-31 | St Microelectronics Sa | Verrouillage d'un circuit integre |
DE112006001793T5 (de) * | 2005-06-22 | 2008-05-08 | Discretix Technologies Ltd. | System, Gerät und Verfahren des selektiven Erlaubens des Zugriffs durch einen Host-Prozessor auf von einem Host ausführbaren Code |
EP2016535A4 (fr) * | 2006-04-19 | 2010-06-23 | Stepnexus Holdings | Procédés et systèmes pour un chargement d'application de carte à circuits intégrés (ic) |
US8117461B2 (en) | 2006-09-13 | 2012-02-14 | Igt | Method of randomly and dynamically checking configuration integrity of a gaming system |
DE102006055830A1 (de) * | 2006-11-27 | 2008-05-29 | Robert Bosch Gmbh | Verfahren zum Schutz eines Steuergeräts vor Manipulation |
ITMI20070996A1 (it) * | 2007-05-17 | 2008-11-18 | Incard Sa | Metodo per il controllo di esecuzione di un'applet per una ic card |
FR2928754B1 (fr) * | 2008-03-13 | 2012-05-18 | Sagem Securite | Carte a circuit integre ayant un programme d'exploitation modifiable et procede de modification correspondant |
JP4656458B1 (ja) | 2009-11-09 | 2011-03-23 | Necインフロンティア株式会社 | ハンディターミナル、及びハンディターミナルによる決済方法 |
US20110145082A1 (en) | 2009-12-16 | 2011-06-16 | Ayman Hammad | Merchant alerts incorporating receipt data |
US8429048B2 (en) | 2009-12-28 | 2013-04-23 | Visa International Service Association | System and method for processing payment transaction receipts |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2949351C2 (de) * | 1979-12-07 | 1982-04-15 | The Grey Lab. Establishment, 9490 Vaduz | Verfahren und Vorrichtung zur Erzeugung sowie Kontrolle von Dokumenten sowie dabei verwendetes Dokument |
FR2503423A1 (fr) * | 1981-03-31 | 1982-10-08 | Flonic Sa | Systeme de cartes a memoire electronique pouvant etre rechargees a des valeurs fiduciaires |
FR2514593B1 (fr) * | 1981-10-09 | 1986-12-26 | Bull Sa | Procede et dispositif pour authentifier la signature d'un message signe |
FR2536880B1 (fr) * | 1982-11-30 | 1987-05-07 | Bull Sa | Microprocesseur concu notamment pour executer les algorithmes de calcul d'un systeme de chiffrement a cle publique |
US4926480A (en) * | 1983-08-22 | 1990-05-15 | David Chaum | Card-computer moderated systems |
FR2601476B1 (fr) * | 1986-07-11 | 1988-10-21 | Bull Cp8 | Procede pour authentifier une donnee d'habilitation externe par un objet portatif tel qu'une carte a memoire |
FR2613565B1 (fr) * | 1987-04-03 | 1989-06-23 | Bull Cps | Procede pour acheminer des cles secretes vers des modules de securite et des cartes utilisateurs, dans un reseau de traitement d'informations |
FR2618002B1 (fr) * | 1987-07-10 | 1991-07-05 | Schlumberger Ind Sa | Procede et systeme d'authentification de cartes a memoire electronique |
FR2651347A1 (fr) * | 1989-08-22 | 1991-03-01 | Trt Telecom Radio Electr | Procede de generation de nombre unique pour carte a microcircuit et application a la cooperation de la carte avec un systeme hote. |
FR2654851B1 (fr) * | 1989-11-23 | 1992-03-27 | Schlumberger Ind Sa | Procede et systeme d'exploitation securisee d'un logiciel. |
-
1990
- 1990-09-12 FR FR909011293A patent/FR2666671B1/fr not_active Expired - Fee Related
-
1991
- 1991-09-10 DE DE91402408T patent/DE69100256T2/de not_active Expired - Lifetime
- 1991-09-10 EP EP91402408A patent/EP0475837B1/fr not_active Expired - Lifetime
- 1991-09-11 US US07/757,726 patent/US5191608A/en not_active Expired - Lifetime
- 1991-09-11 JP JP3259584A patent/JPH0756629B2/ja not_active Expired - Fee Related
- 1991-09-13 CA CA002051365A patent/CA2051365C/fr not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
FR2666671A1 (fr) | 1992-03-13 |
DE69100256T2 (de) | 1994-02-17 |
FR2666671B1 (fr) | 1994-08-05 |
EP0475837B1 (fr) | 1993-08-11 |
US5191608A (en) | 1993-03-02 |
JPH0756629B2 (ja) | 1995-06-14 |
CA2051365A1 (fr) | 1992-03-13 |
JPH04257031A (ja) | 1992-09-11 |
DE69100256D1 (de) | 1993-09-16 |
EP0475837A1 (fr) | 1992-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2051365C (fr) | Procede de gestion d'un programme d'application charge dans un support a microcircuit | |
EP0414314B1 (fr) | Procédé de génération de nombre unique pour carte à micro-circuit et application à la coopération de la carte avec un système hÔte | |
EP0707290B1 (fr) | Procédé de chargement d'une zone mémoire protégée d'un dispositif de traitement de l'information et dispositif associé | |
EP0496656B1 (fr) | Procédé d'échange de droits entre cartes à microprocesseur | |
EP0626662B1 (fr) | Puce de carte à puce munie d'un moyen de limitation du nombre d'authentifications | |
EP1412926B1 (fr) | Procede de gestion d'achat de contenus numeriques diffuses et moyens de telechargement de tels contenus | |
EP0434551B1 (fr) | Procédé de génération d'un nombre aléatoire dans un système de traitement de données, et système mettant en oeuvre un tel procédé | |
FR2618002A1 (fr) | Procede et systeme d'authentification de cartes a memoire electronique | |
FR2681165A1 (fr) | Procede de transmission d'information confidentielle entre deux cartes a puces. | |
EP0990204A2 (fr) | Carte a puce comprenant des moyens pour gerer une memoire virtuelle, procede et protocole de communication associes | |
EP1055203B1 (fr) | Protocole de controle d'acces entre une cle et une serrure electronique | |
FR2654236A1 (fr) | Procede de protection contre l'utilisation frauduleuse de cartes a microprocesseur, et dispositif de mise en óoeuvre. | |
EP1627362A1 (fr) | Methode de generation d'une cle de securite | |
EP1791292A1 (fr) | Personnalisation d'un circuit électronique | |
EP1603088A1 (fr) | Composant pour module de sécurité | |
EP1240630A1 (fr) | Procede pour authentifier un objet portatif, objet portatif correspondant, et appareil pour mettre en oeuvre le procede | |
EP0957461B1 (fr) | Procédé de personnalisation d'une carte à puce | |
FR2757979A1 (fr) | Procede d'interpretation dynamique de donnees pour une carte a puce | |
EP0979495B1 (fr) | Procede de certification d'un cumul dans un lecteur | |
EP0910839B1 (fr) | Procede de stockage des unites de valeur dans une carte a puce de facon securisee et systeme de transaction monetaire avec de telles cartes | |
FR3062501A1 (fr) | Procede pour la securite d'une operation electronique | |
FR2856815A1 (fr) | Procede d'authentification de donnees contenues dans un objet a memoire | |
FR2703488A1 (fr) | Procédé de cryptage d'informations dans une carte à microprocesseur, procédés de génération de clés, de calcul de certificats et d'authentification le mettant en jeu, et carte à microprocesseur mettant en Óoeuvre ces procédés. | |
FR2892875A1 (fr) | Procede de securisation des paiements par decoupage des montants | |
EP1269427A1 (fr) | Procede d'authentification de cartes a puces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKEX | Expiry |