FR2642544A1 - Systeme de traitement de donnees a programme de securite - Google Patents

Systeme de traitement de donnees a programme de securite Download PDF

Info

Publication number
FR2642544A1
FR2642544A1 FR9001194A FR9001194A FR2642544A1 FR 2642544 A1 FR2642544 A1 FR 2642544A1 FR 9001194 A FR9001194 A FR 9001194A FR 9001194 A FR9001194 A FR 9001194A FR 2642544 A1 FR2642544 A1 FR 2642544A1
Authority
FR
France
Prior art keywords
signal
program
address
data
instructions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9001194A
Other languages
English (en)
Other versions
FR2642544B1 (fr
Inventor
Yasuo Iijima
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Publication of FR2642544A1 publication Critical patent/FR2642544A1/fr
Application granted granted Critical
Publication of FR2642544B1 publication Critical patent/FR2642544B1/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • G06Q20/3558Preliminary personalisation for transfer to user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment 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/3672Payment 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Carte personnelle CP (carte de crédit, d'identification, etc.) comportant une unité de traitement centrale UTC et une mémoire pour conserver un premier et un second programmes. L'UTC exécute un certain nombre d'instructions conformément à ces deux programmes. Un émetteur de cartes, qui pour être un établissement bancaire, produit un premier programme qui opère sur le second programme. La CP comporte un dispositif de surveillance ou de contrôle pour déterminer si les instructions du premier programme concernent des adresses d'instructions du second. Quand l'adresse du second programme est émise pendant le déroulement du premier, l'UTC est interrompue.

Description

La présente invention se rapporte, d'une manière générale, aux systèmes de traitement de données, et concerne plus particulièrement un tel système possédant un premier programme d'instructions d'ordinateur et un second programme d'instructions d'ordinateur conçu pour interdire au premier programme d'utiliser ce second progamme.
Plus précisément, l'invention se propose de réaliser une carte personnelle (CP) comportant une unité de traitement centrale (UTC) qui opère selon un premier programme écrit par l'utilisateur, et selon un Second programme rédigé par celui qui a fait ou confectionné la carte en question, qui permet de neutraliser ou d'inhiber l'exécution des instructions du premier programme en interdisant à ce dernier d'utiliser directement le programme d'instructions du second programme.
Une carte personnelle (en abrégé : CP) renfermant un microprocesseur est connue par le brevet US 4 211 919. t'avantage d'une telle carte est qu'elle peut conserver des informations confidentielles. C'est ainsi, par exemple, que nul ne peut accéder aux informations conservées dans la carte sans connaître son code ou "numéro" d'identification.
Or, l'émetteur de la carte, qui peut être une banque, par exemple, n aimerait pas que le fabricant connaisse les programmes d'application particuliers utilisés par la banque. En conséquence, celui qui fabrique la carte produit simplement un programme d'opérations de base qui est enregistré dans la carte au moment de la livraison. L'émetteur de la carte produit ensuite le programme d'application qui lui convient. Dans ces conditions, le fabricant qui produit la carte peut fournir la même CP avec le même programme d'application à tous ses clients. Il est important que le fabricant puisse conserver le même programme opératoire de base et que #les informations qui sty rapportent ne soient pas connues de l'émetteur de la car te.En effet, Si ce dernier pouvait déterminer la structure et la nature du programme opératoire de base, il n'aurait plus besoin du producteur de la carte et pourrait, éventuellement, s'en passer
En conséquence, l'un des buts de la présente invention est d'apporter un système de traitement de données possédant un premier et un second programmes pour exécuter des instructions conformément à ceux-ci sans sauter du premier programme au second.
L'invention a également pour buts
de fournir un système de traitement de données visant l'objectif principal ci-dessus, tout en étant peu coûteux et facile à fabriquer;
de réaliser un système de traitement de données pouvant être utilisé à plusieurs fins;
de produire un système de traitement de données dans lequel certaines données ou informations peuvent être maintenues confidentielles ou secrètes;
d'apporter un système de traitement de données comportant deux sections séparées et distinctes contenant des programmes d'instructions d'ordinateur; et
de réaliser un système de traitement de données qui est facile à employer et à programmer.
Selon la présente invention, un système de traitement de données comprend une première mémoire pour conserver un premier programme d'ordinateur et une seconde mémoire pour conserver un second programme d'ordinateur. Des moyens de traitement sont prévus pour lire et exécuter les programmes contenus dans la première et dans la seconde mémoires. Des circuits sont aussi prévus pour déterminer si les instructions d'ordinateur lues dans le premier ou dans le second programme par le processeur se rapportent à l'autre de ces deux programmes et pour produire un signal d'interruption en réponse à une telle détermination. Quand le signal d'interruption est engendré, le processeur est arrêté par ce signal et est empêché de continuer le traitement des signaux.
D'autres buts et avantages de l'invention ressortiront de la description qui va suivre, en référence atordessins annexés, dont
la figure 1 est une vue à plat d'une carte personnelle (ou CP) et, notamment, d'une carte de crédit, conforme à la présente invention;
la figure 2 est un schéma par blocs de la CP représentée sur la figure 1;
la figure 3 est un schéma par blocs d'un processeur utilisé dans la CP représentée sur la figure 2;
la figure 4 illustre la structure ou la configuration de la mémoire utilisée dans le processeur représenté sur la figure 3;
la figure 5 est un schéma par blocs d'un circuit de supervision ou de contrôle utilisé dans le processeur de la figure 3;
la figure 6 est un schéma par blocs du générateur de signaux d'accès utilisé dans le circuit de contrôle représenté sur la figure 5;;
la figure 7 représente un exemple d'un programme d'instructions d'ordinateur utilisé dans la CP que montre la figure 1;
les figures 8 et 9 sont des graphiques illustrant la forme des tensions produite par l'unité centrale représentée sur la figure 3 en opérant avec le programme de la figure 7;
la figure 10 est un organigramme illustrant le fonctionnement de l'unité de traitement centrale de la figure 3 après une interruption du processeur;
la figure Il représente un second exemple du programme d'instructions utilisé dans la CP que l'on voit sur la figure 1;
la figure 12 est un graphique représentant la forme des tensions générées par l'unité de traitement centrale de la figure 3 en conformité au programme de la figure 11;;
la figure 13-illustre un troisième exemple d'instructions d'ordinateur utilisé dans la CP représentée sur la figure 1;
la figure 14 -est un graphique montrant la forme des tensions engendrées par l'unité de traitement centrale représentée sur la figure 8 en opérant selon le programme de la figure 13;
la figure 15 illustre un quatrième exemple du programme d'instructions d'ordinateur utilisé dans la CP représentée sur la figure 1; et
la figure 16 est un graphique représentant la orme des tensions engendrées par l'unité de traitement centrale de la figure 3 en opérant selon le programme de la figure 15.
On va décrire maintenant un dispositif électro iaue conforme à I1 invention en se référant au dessin annexé.
En se reportant à la figure 1, on voit un dispositif électronique, notamment une carte personnelle CP-, qui peut être une carte de crédit, par exemple, portant la référence 11, conforme à la présente invention, qui comrend une base ou un substrat 13 de forme rectangulaire et qui peut être mise dans la poche. Une piste mangétique 15, destinée à recevoir des données ou des informations, s'étend sur la base 13. La carte personnelle ll peut être utilisée dans un lecteur de carter magnétique classique ou ordinaire, du type de ceux utilisés dans les distributeurs de billets de banque, capable de lire les informations de la piste magnétique 15. La CP Il comporte des contacts 17 permettant de la connecter à un dispositif externe (non représenté), tel qu'un lecteur/enregistreur utilisé dans les réseaux de traitement de données. Les informations relatives au prossesseur et à l'émetteur de la CP peuvent être imprimées ou estampées sur la base 13, de la manière universellement connue par les cartes magnétiques classiques.
La figure 2 représente la structure interne de la carte CP Il. La carte CP ll contient un processeur 21 qui exécute certaines opérations prédéterminées en réponse aux signaux d'entrée qu'il reçoit par la borne d'entrée 17. Le processeur 21 est relié à la borne d'entrée 17 à travers un circuit d'interface série/parallèle (désignée par la suite : interface S/P) 23 et un circuit entrée/ sortie (désigné par la suite : borne E/S) 25. La. borne E/S 25 est reliée à la borne d'entrée 17.
En se référant à la figure 3 r on voit que le processeur 21 comprend une unité de traitement centrale
UTC 31 qui effectue certaines opérations conformément au programme contenu dans une première mémoire, notamment dans une mémoire morte effaçable et programmable (qualifiée par la suite : EPROM) (Erasable and programmable read only memory) 33. Une seconde mémoire (telle qu'une mémoire morte effaçable et électriquement programmable (Erasable and electrically programmable read only memory (désignée par la suite : E2PROM) 35 contient un progamme établi par l'émet teur ou l'entité qui a délivré la carte, par exemple, par une banque. Les données qui sont engendrées au cours d'une opération sont temporairement conservées dans une mémoire à accès aléatoire (Random access memory) désignée par la suite : RAM 37.L'UTC 31 accède au EPROM 33, au E2PROM 35 et au RAM 37 par un bus d'adresse 39, qui peut être un bus (d'adresse) de 16 bits transmettant les adresses, et par un bus de données 41, de 8 bits, qui véhicule les données.
Lorsque l'unité centrale 31 accède à EPROM 33, à E2PROM 35 ou à RAM, l'unité centrale 31 applique les données d'adresses sur le bus d'adresse 39. Le décodeur 43, qui est relié à la borne de sortie du bus d'adresse 39, reçoit ces données. Le décodeur 43 transforme les données d'adresses en un signal de préparation qui est dirigé vers
EPROM 33, ELPROM 35 ou RAM 37, selon l'information d'adresse. EPROM 33, E2PROM 35 ou RAM 37 reçoit ce signal de préparation et devient accessible à UCT 31. L'accès de l'unité centrale 31 à EPROM 33, E2 35 ou RAM 37 peut être interdite si le dispositif de contrôle ou de surveillance 45 constate que UCT 31 tente d'accéder à une aire prédéterminée de EPROM 33, de E2PROM ou de RAM 37.
Dans certains modes de réalisation, l'unité centrale UCT 31 peut être un microprocesseur Z80 fabriqué par la Sté Zilog, Inc. (Zilog est une marque déposée de cette Société), comportant six broches destinées à des signaux qui seront indiqués plus loin, et un certain nombre de broches véhiculant les signaux de sortie pour les bus d'adresses 39 et de données 41.
L'une des six broches est une broche 51 qui délivre un signal Ml. Quand son niveau est bas, le signal Ml indique que l'actuel cycle de machine est le cycle de recherche (fetch cycle) du code d'opération (désigné par la suite : opcode) d'une exécution d'instructions. Le cycle de recherche d'opcode est le premier cycle de machine pour exécuter une instruction.
La broche 53 délivre un signal de demande ou de requête de mémoire (désigné par la suite : signal MROQ).
Quand son niveau est bas, le signal MROQ indique que le bus d'adresse 39 a des données d'adresses valides, c'est à-dsre, convenant pour une opération de lecture ou d'écriture d'une mémoire.
La broche IORQ 55 délivre un signal de requête ou de demande entrée/sortie désigné par la suite signal
IORQ. Quand son niveau est bas, le signal IORQ indique que la moitié intérieur du bus d'adresse 39 comporte une adresse IZO (entrée/sortie) valable pour une opération de lecture ou d'écriture entrée/sortie (opération 1/0). Le signal
IORQ est aussi à son niveau bas conjointement avec le signal M1 durant le cycle d'interruption de confirmation, qui commence quand 1'UCT 31 échantillonne un signal d'interruption pendant le bord ascendant du dernier cycle d'horloge de la fin d'une instruction quelconque.
La broche 57 est un signal de lecture (désigné ci-après singal RD). Quand son niveau est bas, le signal
RB indique que l'unité centrale UCT 31 désire lire des don nées provenant de EPROM 33, de E2PROM 35 et ou du dispositif d'entrée/sortie 1/0 25 (voir figure 1).
La broche 59 délivre un signal d'écriture (désigné par la suite : signal WR). Quand son niveau est bas, le signal WR indique que le bus de données 41 comporte des données valides devant être conservées dans la mémoire désignée par l'adresse ou dans l'emplacement I/O.
La broche 61 reçoit une demande d'interruption (désignée par la suite : signal INT). Le signal INT est produit par d'autres dispositifs que l'unité de traitement centrale 31. Dans le présent mode de réalisation, le signal
INT est engendré par le dispositif de 'contrôle ou de surveillance 45.
L'EPROM 33 comporte une broche 63 qui reçoit du décodeur 43 un signal de validation ou de conditionnement CE (chip enable signal). Quand son niveau est bas, ce signal CE autorise 1'EPROM 33 à accepter les ordres ou les cannées d'entrée venant de l'unité centrale 31. L'EPROM 33 a aussi une broche 65 qui reçoit un signal d'autorisation de délivrance OE de signal de sortie de la broche RB 57 de l'unité centrale 31. Quand son niveau est bas, le signal OE autorise 1'EPROM 33 à délivrer les données de sortie qui y sont mémorisées.
L'EZPROM 35 a aussi une broche CE 67, une broche OE 69 et une broche WE 71.
La broche 67 reçoit le signal CE du décodeur 43. Quand son niveau est bas, le signal CE autorise le E2PROM 35 à accepter les commandes ou les données arrivant de l'unité centrale 31. La broche 69 reçoit le signal OE de la broche RD 57 de l'unité centrale 31. Quand son niveau est bas, le signal OE autorise le ELPROM 35 à de livrer les données qui y sont mémorisées. La broche 71 reçoit un signal d'autorisation d'écriture WE du circuit ET-NON 97. Le signal WE, lorsque son niveau est bas, permet à d'autres dispositifs, tels que l'unité centrale d'écrire des données dans le E2PROM 35.
La RAM 37 a une broche 73, une broche 75 et une broche 77. La broche 73 reçoit le signal CE du décodeur 43. Quand son niveau est bas, ce signal CE autorise la RAM 37 à accepter les commandes ou les données d'entrée de l'unité centrale 31. La broche 75 reçoit le signal OE de la broche 57 de l'unité centrale 31. Quand son niveau est bas, le signal OE autorise la RAM 37 à délivrer les données qui y sont mémorisées. La broche 77 reçoit le signal WE du premier circuit ET négatif 97. Quand son niveau est bas, le signal WE permet à l'unité centrale 31 d'inscrire des données ou des informations dans la RAM 37.
Le dispositif de contrôle ou de surveillance 45 a une première, une seconde, une troisième, une quatrième et une cir.cuième broches d'entrée 79, 81, 83, 85 et 87 et une première, une seconde et une troisième broches de sortie 89, 91 et 93. Le processeur 21 comporte, en outre, un premier et un second circuits ET négatifs 95 et 97.
e bus d'adresse 39 de l'unité centrale de traitement 31 est ocrinecte au EPROM 33, au E2PROM 35 et à la
RAM 37, au décodeur 43 et au dispositif de contrôle ou de surveillance 45. Le bus de données 41 de L'UCT 31 est relié au EPROM 35r au r2PROM 35 et au dispositif de contrôle 45.
La broche M1 est connectée à la première broche 79 d'entrée du dispositif de ccntrôle 45. La broche MREQ 53 est connectée à la broche d'entrée du décodeur 43 et à la cinquième broche d'entrée 87 du dispositif de surveillance 45. La broche IORQ 55 est reliée à la quatrième broche d'entrée 85 du dispositif de contrôle ou de surveillance 45 et à la première entrée 99 du circuit ET négatif 95. Un circuit
ET négatif est un circuit logique qui produit un signal de bas niveau quand deux signaux de bas niveau lui sont appliqués et qui produit un signal de haut niveau quand, au moins, un signal de haut niveau lui est appliqué et est équivalent, du point de vue du fonctionnement, à un circuit OU.
La broche RD 57 est connectée à la troisième broche d'entrée 83 du dispositif de contrôle 45 et aux broches OE 65, 69 et 75 des EPROM 33, E2PROM 35 et de la RAM 37, respectivement. La broche WR 59 est connectée à l'entrée 81 du dispositif de surveillance 45 et à l'entrée 101 du second circuit ET négatif 97.
La première broche de sortie 89 du dispositif de contrôle ou de surveillance 45 est connectée à la broche INT 61. La seconde broche de sortie 91 du dispositif de contrôle 45 est reliée à la seconde broche d'entrée 103.
La troisième broche de sortie 93 du dispositif de contrôle 45 est connectée à la première broche d'entrée 105 du second circuit ET négatif 97. La broche de sortie 107 du premier circuit ET négatif 95 est connectée au dispositif entrée/sortie I/O 25. La broche de sortie 109 aboutit aux broches WE 71 et 77 du E2PROM 35 et de la RAM 37.
Les trois sorties du décodeur 43 sont connectées respectivement aux broches 63, 67 et 73 du EPROM 33, du E2PRCM 35 et de la RAM 37.
L'unité centrale de traitement 31 place les données d'adresse sur le bus d'adresse 39. L'unité centrale 31 sélectionne la mémoire correspondant à la donnée d'adresse fournie, puis délivre ou charge un opcode provenant de la mémoire. L'unité centrale 31 décode cet opcode, puis exécute l'opération conforme à ltopcode ainsi décodé.
Au cours de ces opérations, le décodeur 43 sélectionne une mémoire parmi 1'EPROM 33, l'E2PROM 35 et la
RAM 37 conformément aux données d'adresse fournies par l'unité centrale 31. En même temps, le dispositif de surveillance 45 reçoit les données d'adresse et détermine s'il est permis à l'unité centrale de traitement 31 d'accéder à l'adresse de mémoire spécifiée par les données d'adresse fournies par l'unité centrale 31.
La figure 4 dépeint le fonctionnement du dispositif de contrôle ou de surveillance 45 et montre comment une adresse est assignée à plusieurs mémoires, telles que
EPROM 33, E2 35 et RAM 37.
La CP 11 possède deux sortes de programmes.
Le premier est produit par le fabricant. Ce programme, (qualifié par la suite : "programme de base"), définit le mode de fonctionnement de base de la carte CP 11, par exemple, la procédure de confirmation du numéro d'identification personnel (NIP).
Un second programme est produit par le propriétaire ou l'émetteur de la carte (qualifié par la suite "utilisateur"), qui est généralement un organisme financier ou bancaire. La plupart des émetteurs de CP désirent utiliser la carte 21 à des fins spécifiques, sans intervention du fabricant de celle-ci. Pour satisfaire ce désir, l'utilisateur créé un programme, laualifié par la suite : "programme de l'usager") qui peut Être conservé aux fins d'utilisation dans la CP 211.
Selon la présente invention, le programme systématique est inscrit dans une aire de programmation 201 prévue dans un espace de mémoire. L'aire de programmation 201 com merci à une adresse 0000 (en hexadécimal, ou en abrégé
HEX) et s'étend Jusqutà une adresse RIFFE (HEX). L'aire 201 du programme de base est située dans 1' EPROM 33.
Le programme de l'usager est conservé dans l'aire 203 de l'espace de mémoire. Cette aire 203 commence à l'adresse 2000 (Hex) et s'étend à l'adresse 27FF (Hex) dans l'E2
PROM 35.
Les informations nécessaires pour utiliser le programme d'usager sont conservées dans l'aire 205 lisible par l'utilisateur commençant à l'adresse 2000 (HEX) et s'éten dant jusqu'à l'adresse 27FF(Hex) qui inclut l'aire (203) contenant le programme enregistré par l'utilisateur. L'unité de traitement centrale 31 ne peut lire que les informations contenues dans l'aire 205.
Les données qui sont engendrées pendant le déroulement du programme systématique et celui de l'utilisateurpeuvent être enregistrées et lues dans une aire de lecture et d'écriture 207 commençant à l'adresse 5000 (Hex) et- finissant à l'adresse 60FF (Hex). Les adresses comprises entre 5000 (Hex) et 5FFF(Hex) correspondent à E2PROM 35. Les adresses entre 6000 (Hex) et 60FF (Hex) correspondent à la RAM 37. L'aire de lecture et d'écriture 207 est réservée pour la mémoire de travail d'UTC 31.
Comme il a été indiqué plus haut, la CP 21 possède deux sortes de programmes dont l'unI le programme d'utilisateur ou d'usager est créé par le détenteur de la carte ou par celui qui le délivre. Si le programme enregistré par l'utilisateur comporte des étapes qui se branchent sur certaines étapes faisant partie du programme de base, il devient possible à celui-ci d'accéder à ce dernier programme. Dans le pire des cas, l'usager peut voler ou altérer les informations servant à faire fonctionner le programme de base.
Comme il a été indiqué plus haut, le programme de base comprend l'opération de base de la CP 21 incluant les étapes de vérification du numéro d'identification personnel PIN. Orr la sécurité du déroulement du programme de base doit être garantie par l'émetteur ou le fabricant de la carte. Aucune autre personne que le fabricant ne doit avoir accès au programme de base.
Conformément à la présente invention le dispositif de contrôle ou de surveillance 45 empêche l'unité centrale 31 d'accéder au programme de base pendant l'exécution du programme de l'utilisateur.
La figure 5 montre les détails du dispositif de contrôle ou de surveillance 45. Le bus d'adresse 39 est relié au décodeur d'adresse 121 qui délivre un signal A, lequel devient bas quand le décodeur d'adresse 121 détecte une adresse comprise entre 2000 (Hex) et 2FFF(Hex). L'aire d'adresse comprise entre 2000 (Hex) et 2FFF (Hex) est l'aire lisible par l'utilisateur (voir figure 4).
Le bus d'adresse 39 est aussi relié à un décodeur 123 lequel émet un signal B qui devient bas quand le décodeur 123 détecte une adresse comprise entre 5000 (Hex) et 60FF(Hex). L'aire comprise entre 5000 (Hex) et 60FF (Hex) est l'aire de lecture et d'écriture de l'utilisateur (voir figure 4).
Le bus d'adresse 39 est relié à un décodeur d'adresse d'opcode 125 qui délivre un signal C devenant bas quand le décodeur 125 détecte une adresse comprise entre 2000 (Hex) et 27FF(Hex). L'aire d'adresse comprise entre 2000(Hex) et 27FF(Hex) est l'aire contenant le programme enregistré par l'utilisateur (voir figure 4).- C'est ainsi, par exemple, que lorsque la donnée d'adresse circulant sur le bus 39 est 200Ô(Hex)r le signal A et le signal C sont bas et le dispositif de surveillance 45 distingue les données d'adresse distinguant l'aire contenant le programme enregistré par l'usager des autres aires.
Le bus d'adresse est aussi relié à un circuit 127 qui, en réponse à certains signaux de l'unité de trai tement centrale 31, tels que le signal MREQ, en engendrant un signal d'accès à l'une des trcis mémoires, telle 1'EPROM 33, et la nature de l'autorisation d'accès délivrée par 1'JCT 31; opcode, lecture ou écriture. L'accès par opcode signifie que 11 UCT 31 peut accéder à l'une des trois mémoires afin d'extraire un opcode contenu dans celle-ci. L'accès de lecture signifie que llUCT 31 peut accéder à l'une des trois mémoires afin de lire les données qui sont inscrites.
L'accès d'écriture signifie que I'UCT 31 a accès à l'une des trois mémoires pour y inscrire des données ou des informations.
Quand 1'UCT 31 est en mode opcode, un circuit de signal d'accès 127 délivre un signal D de bas niveau.
Lorsque 1'UCT 31 est en mode d'accès de lecture, le circuit 127 délivre un signal F de bas niveau. Quand 1'UCT 31 est en mode d'accès d'écriture, le circuit 127 engendre un signal F de bas niveau. Le circuit 127 produisant ces signaux d'accès sera décrit plus en détail par la suite.
La borne de sortie du décodeur d'adresse de lecture 121, qui délivre le signal A, est reliée à la borne d'entrée d'un premier inverseur 129 dont la fonction est d'inverser le niveau du signal A. La borne de sortie du premier inverseur 129 est reliée à la première borne d'entrée d'un troisième circuit ET négatif 131. La borne de sortie du troisième circuit ET négatif 131 est reliée à la borne de rétablissement d'une première bascule 133.
La seconde borne d'entrée d'un troisième circuit ET négatif 131 est reliée à la borne délivrant le signal E.
La borne de sortie du décodeur d'adresse d'écriture 123, qui délivre le signal B, est couplée à la borne d'entrée d'un second inverseur 135 inversant le niveau du signal B. La borne de sortie du second inverseur 135 est reliée à la première borne d'entrée d'un quatrième circuit
ET négatif 137.
La borne de sortie du quatrième circuit ET négatif 137 est reliée à la borne de rétablissement d'une seconne bascule 139. La seconde borne d'entrée d'un quatrième circuit ET négatif 137 est reliée à la borne délivrant le signal d'accès F du circuit 127.
La borne de sortie du décodeur d'adresse d'opcode, qui délivre le signal C, est couplée à la borne d'entrée d'un troisième inverseur 141 qui inverse le niveau du signal C. La borne de sortie du troisième inverseur 141 est couplée à la première borne d'entrée d'un cinquième circuit ET négatif 143. La borne de sortie du cinquième circuit ET négatif 143 est couplée à la borne de rétablissement d'une troisième bascule 145.
Les bornes de sortie des trois bascules 133, 139 et 145 sont reliées à un circuit OU négatif 147 qui délivre un signal bas quand l'une, au moins, de ses trois entrées est à un niveau bas. Le circuit OU négatif 147 envoie un signal L à la broche INT 61 de l'unité de traitement centrale 31.
La borne de sortie du décodeur d'adresse d'opcode 141, qui délivre le signal C, est aussi reliée à la première borne d'entrée d'un sixième circuit ET négatif 149. La seconde borne d'entrée du sixième circuit ET négatif 149 est reliée à une borne délivrant un signal D. La borne de sortie du sixième circuit ET négatif 149 est reliée à la borne d'activation (set) d'ure circuit de verrouillage des données d'adresse du bus d'adresse 39 en réponse au signal de sortie du sixième circuit ET négatif 149. Les bornes délivrant les signaux D, E et F sont respectivement connectées à trois bornes d'entrée d'un circuit OU négatif 153. La borne de sortie du circuit OU négatif 153 est connectée à la borne d'activation (set) du circuit de verrouillage de l'adresse courante 155.
On va expliquer maintenant l'action des signaux de sortie des circuIts décrits ci-dessus et notamment du circuit OU négatif 153. La borne de sortie du circuit' OU négatif 153 délivre un signal G qui est bas quand, au moins, un des signaux de sortie D, E ou F est bas. Comme il a été indiqué plus haut, deux signaux D, E ou F bas indiquent que l'unité centrale 31 accède à l'une des mémoires, par exemple au EPROM 33. Plus précisément, quand le signal
G est bas, ceci indique que l'unité centrale de traitement 31 a accès à l'une des mémoires. Le signal D fait fonction de signal de verrouillage pour le verrou de données d'adresse courante 155. Quand 1'UTC 31 accède à l'une des mémoires, les données d'adresse du bus 39 sont bloquées dans le verrou de données d'adresse courante 155.
Le signal H délivré par le sixième circuit ET négatif 147 est bas quand les signaux C et D sont bas. Comme il a été expliqué, le signal C, lorsqu'il est bas, indique les présentes données d'adresses circulant sur le bus de données situées entre les adresses 2000(Hex) et 27FF(Hex) qui est l'aire d'enregistrement du programme d'utilisateur.
Le signal D, quand il est bas, indique que l'unité centrale de traitement 31 est dans le mode d'accès opcode. Le si gnal H, quand il est bas, indique que les données d'adresses sont dans l'aire de programme enregistré par l'utilisateur quand 1' UCT 31 est dans lé mode d'accès opcode. Quand le signal H est utilisé comme signal de verrouillage pour le verrou des données d'adresses opcode 151, ces données d'adresses sont bloquées dans ce dernier quand l'unité centrale 31 est dans le mode d'accès opcode.
Le cinquième circuit ET négatif 143 délivre un signal I qui est bas quand le signal C est haut et que le signal D est bas. Le' signal C est haut quand les données d'adresses circulant sur le bus de données 39 sont en dehors de l'aire d'enregistrement de programme de l'utilisateur. Le signal D est bas lorsque l'unité de traitement centrale 31 est en mode d'accès opcode. Le signal I est bas lorsque l'unité centrale 31 est en mode d'accès opcode à une aire autre que l'aire d'enregistrement de programme de l'utilisateur, par exemple, à l'aire de programme du système dans le présent mode de réalisation.Quand on utilise le signal I comme signal de rétablissement du troisième circuit de verrouillage 145, ce dernier est rétabli à son état normal quand l'unité de traitement centrale 31 est dans le mode d'accès opcode vers une aire autre que l'aire des programmes enregistrés par l'utilisateur.
Le quatrième circuit ET négatif 137 émet un signal J qui est bas quand le signal B est haut et que le signal F est bas. Quand le signal B est haut, ceci indique que les données d'adresse circulant sur le bus de données 39 sont présentes.
Le troisième circuit ET négatif 131 émet un signal K qui est bas quand le signal A est haut et que le signal E est bas Le signal A est haut quand les données d'adresse arrivant par le bus de données 39 sont en dehors de l'aire d'enregistrement de l'utilisateur et de l'aire de lecture et d'écriture de l'utilisateur. Le signal E est bas quand 11 unité centrale 31 est en mode d'accès de lecture. Le signal x est bas quand l'unité de traitement cen trale 31 est dans le mode d'accès de lecture d'une aire extérieure à l'aire d'enregistrement et de lecture de l'utilisateur comprise entre 5000 et 60FF. Le signal F est bas quand 1'UCT 31 est dans le mode d'accès d'écriture. Le signal
J est bas quand 1'UCT 31 est en mode d'accès d'écriture d'une aire extérieure à l'aire de lecture et d'écriture de l'utilisateur.Le signal J est utilisé comme signal de remise ou de rétablissement pour le second circuit de verrouillage 139. Le second circuit de verrouillage 139 est rétabli ou remis (reset) quand 1'UTC 31 est dans le mode d'accès vers une aire en dehors de l'aire de lecture et d'écriture de l'utilisateur. Quand le 'signal K est appliqué à la borne de rétablissement ou de remise du premier circuit de verrouillage 133, celui-ci est rétabli (reset) quand l'unité centrale 31 est dans le mode d'accès de lecture d'une aire de mémoire située en dehors de l'aire de lecture et d'enregistrement de l'utilisateur.
En se référant maintenant à la figure 6, con #oIntement avec la figure 5, on voit que le bus d'adresse 39 est couplé à un décodeur d'adresse 201 qui engendre un signal 203 qui, bas, indique que la donnée d'adresse fournie est A000(Hex). La présente invention prévoit une instruction pour lire les données de l'adresse A000(Hex) dans le programme de base. Le programme de l'utilisateur fait suite au programme de base, c'est-à-are que l'instruction ordonnant de lire les données présentes à l'adresse A000(Hex) est, exécutée le programme de l'utilisateur
Les signaux 203, MREQ et RD sont appliqués à un générateur 205 qui produit un signal de départ 207 quand tous ses signaux d'entrée sont bas. Quand les données d'adresse reçues par le bus d'adresse sont AOOO(Hex), le bus d'adresse 39 considère que les données d'adresse sont valides ce qui établit l'unité de traitement centrale 31 dans le mode d'accès à la lecture, tandis que le signal de départ 207 est bas.
La borne de sortie du générateur de signaux de départ 205 est reliée aux trois bornes de positionnement de la première, de la seconde et de la troisième bascules 133, 139 et 145.
Les bascules 133t 139 et 145 sont positionnées quand l'adresse A000(Hex) est détectée et que l'unité centrale est en état d'accéder à l'une des mémoires.
Les bornes de sortie du générateur de signaux de départ 205 et le signal RD sont respectivement couplés aux bornes d'entrée d'un générateur d'impulsions 209 produisant un signal E qui est bas quand le signal de départ 207 et le signal RD sont bas.
Les bornes de sortie du générateur de signaux de départ 205 et le signal WR sont respectivement appliqués aux bornes d'entrée d'un générateur d'impulsions 211 qui engendre un signal F dont le niveau est bas quand le niveau du signal de départ 207 et celui du signal WR sont bas.
Les bornes de sortie auxquelles apparaissent le signal de départ 207, le signal RD et le signal M1 sont respectivement couplées à un générateur d'impulsions d'échantillonnage d'adresse 213 engendrant un signal Y qui est bas quand le signal de départ 207, le signal. RD et le signal M1 sont bas.
Les figures 7 et 8 montrent un exemple de codage du programme de base. Cet exemple illustre un cas où le programme de l'utilisateur comporte une étape de branchement avec le programme de base. Les instructions comprises entre 1034 (Hex) et 103A (Hex) se rapportent au programme de base. Celles comprises entre 2000(Hex) et 2013 (Hex) font partie du programme de l'utilisateur qui est contrôlé par le dispositif de surveillance 45.
Uniquement aux fins de l'exposer le codage des programmes de base et d'utilisateur commencent avec une instruction "LD Ar (A000)". Pour commencer, I'UTC 31 effectue un cycle de recherche de opcode ou un cycle M1. Plus précisément, l'unité centrale 31 envoie les données d'adres se 1034 (Hex) sur le bus d'adresse. En même temps 1'UTC 31 fait le signal M1 bas afin d'indiquer qu'il est dans le cycle de recherche du opcode. L'UTC 31 donne alors les signaux MRQ et, RD une valeur basse.Le signal RD, lorsqu'il est bas, indique que les données contenues dans les mémoires peuvent être transférées sur le bus de données 41. L'unité centrale 31 accède ensuite-à la mémoire correspondant aux données d'adresse et prélève l'opcode LD sur le bus de données.
Après l'acquisition de ltopcode LD, la donnée
A000(Hex) est fournie au bus de données 41. Sur la figure 7, la référence "A" comprise entre LD et AOOO(Hex), désigne un registre interne de l'unité de traitement centrale 31 qui reçoit ces données. A l'impulsion d'horloge suivante, l'UCT 31 envoie les données d'adresse A000 (Hex) sur le bus d'adresse 39. Ces données A000 (HEX) sont appliquées à un décodeur d'adresse 201 faisant partie du dispositif de surveillance 45. Comme il a été expliqué, le décodeur 201 fait le signal 203 bas. Après l'envoi des données d'adresse AC00(Hex), l'unité centrale de traitement fait devenir bas les signaux MREQ et RD. En réponse aux signaux 203, aux signaux MREQ et RD, le générateur 205 produit le signal de départ 207.Le signal 205 positionne les trois bascules 133, 139 et 145. A partir de cet instant, le dispositif de surveillance 45 peut contrôler le programme d'utilisateur.
La donnée d'adresse A000(Hex) est fournie au décodeur 43 du processeur de données (voir figure 3). Le décodeur 43 ne produit pas de signal CE parce qu'aucune mémoire n'a été assignée aux données d'adresse A000(Hex).
Par conséquent, le bus de données 41 est flottant.
L'étape dans laquelle les données d'adresse
A000(Hex) sont appliquées sur le bus d'adresse 39, tandis que les signaux MREQ et RD sont bas, est désignée comme étant l'étape I (voir figure 8). Les cycles de la machine seront qualifiés ci-après : "étapes". L'étape 1 est le cy cle de machine qui établit les bascules 133, 137 et 145 dans le dispositif de surveillance ou de contrôle 45, comme il a été décrit plus haut
Dans l'étape 2, l'unité de traitement centrale 31 exécute l'opération d'acquisition de I'opcode et envoie les données d'adresse 1037 (Hex) d'un pointeur de programme (non représenté) au bus d'adresse 39 L'UCT donne ensuite aux signaux Ml, MREQ et RD un niveau bas. Le décodeur 43 du processeur 21 engendre un signal de sélection conforme aux données d'adresse 1037 (Hex).Le décodeur 43 sélectionne 1'EPRGM 33 en appliquant ce signal de sélection à 1'EPROM 33.
Si le niveau du signal de rétablissement et le signal L sont hauts, l'étape 2 n'est pas interrompue.
Ceci est dû au fait que le signal L est haut et que le signal bas ne sera pas appliqué à la broche INT 61 de 1'UCT 31.
Dans l'étape 3, 1'UTC 31 lit les données faisant suite à ltopcode "CALL" conservé dans 1'EPROM 33, c'està-dire que 1'UCT 31 envoie les données d'adresse 1038 (Hex) du compteur de programme qui incrémente automatiquement les données d'adresse qui y sont contenues.
Quand les signaux MREQ et RD sont bas, le circuit de signaux d'accès 127 fait les signaux ~D et E bas.
Pour les signaux d'adresse 1038 (Hex), le décodeur de signaux de lecture, d'écriture et d'adresse opcode 12, 123 et 125 font les signaux D et E bas. Pour les données d'adresse 1038 (Hex) les décodeurs de signaux de lecture, d'écriture et d'adresse opcode 12, 123 et 125 font le niveau des signaux A, B et C hauts. Les signaux H, I, J et K sont hauts
En réponse à un signal G bas, le verrou de données d'adresse courante 155 bloque les données d'adresse 1037 sur le bus d'adresse 39 Par les signaux I, J et K, les bascules 133, 139 et 165 ne sont pas affectées.
En réponse aux données d'adresse 1038 (Hex), le décodeur 43 (voir figure 3) sélectionne 1'EPROM 33 en fournissant le signal CE. L'EPROM 33 envoie les 8 bits inférieurs des données, OO(Hex) sur le bus 41. Comme dans le cycle de machine précédent, le dispositif de surveillance 45 ne fait pas le signal L bas et 1'UTC n'est pas interrompue. L'UTC 31 range ces 8 bits inférieurs dans son registre.
Dans l'étape 4, 1'UTC 31 lit les bits supérieurs 20 (Hex) à la suite de l'opcode "CALS" Les procédures sont les mêmes que dans l'étape 3. L'UTC 31 obtient les données d'adresse indiquant l'adresse de destination pour le branchement.
Après l'étape 4, 1'UTC 31 conserve les données de l'adresse à laquelle elle doit retourner.
A l'étape 4-1, 1'UTC 31 écrit les 8 bits supérieurs des dcnnées qui sont contenues dans le compteur de programme à l'adresse SP-1. SP désigne les données contenues dans le pointeur de pile. A l'étape 4-1, SP indique 60FF (Hex). En conséquence, 1'UTC 31 inscrit 10 (Hex) à l'adresse 6OFE (Hex). Il est à noter que les données contenues dans le compteur de programme sont incrémentées après que ce dernier a transmis les données au commencement de l'étape 4.
A l'étape 4-2, l'JTC 31 écrit les 8 bits inférieurs des données qui sont conservées dans le compteur de programme à l'adresse SP-2. L'UTC 31 inscrit les données 3A (Hex) à l'adresse 60FD (Hex). Ensuite, I'UTC 31 change le contenu du pointeur de pile, c'est-à-dire, qu il remplace les données (60FF) (Hex) par (60FF-2) (Hex).
Maintenant, 1'UTC 31 exécute les instruction# des étapes 5 et 6. A l'étape 5, 1'UTC 31 effectue le cycle d'acquisition d'opcode. Plus précisément, 1'UTC 31 fait bas les signaux Ml, MREQ et RD. En réponse aux signaux M1 et RD les signaux D et E deviennent bas.
L'UTC 31 envoie les données d'adresse 2000 (Hex) sur le bus d'adresse 39 avant d'émettre les signaux Ml, MREX et RD. En réponse aux données d'adresse 2000(Hex), les décodeurs d'adresse de lecture et d'opcode 121 et 125 rendent bas le niveau des signaux A et C. En réponse aux signaux bas A, C, D et E, les signaux G et H deviennent bas. En réponse au signal G bas, le verrou 155 bloque les données d'adresse sur le bus 39. En réponse au signal H bas, le verrou 151 bloque les données d'adresse sur le bus d'adresse 39.
A A l'étape 6, 1'UTC 31 lit les 8 bits inférieurs des données suivant ltopcode "JP" contenu dans 1'E2PROM.
L'UTC 31 rend bas le signal RD. En réponse au signal RD bas, le signal E devient bas. Le signal E bas fait seulement le signal G bas. Le signal H est haut. Ainsi, le verrou des données de l'adresse courante 155 bloque les données 2001 (Hex) sur le bus d'adresse 39. Etant donné que le signal H est haut, le verrou des données d'adresse d'opcode 151 ne bloque pas les nouvelles données et tient les anciennes données 2000 (Hex).
A A l'étape 7, 1'UTC 31 lit les 8 bits supérieurs des données faisant suite à I'opcode "JP", 20 (Hex). Comme à l'étape 6, le verrou 155 bloque les nouvelles données 2002 (Hex) sur le bus d'adresse. Le verrou de données d'adresse d'opcode 151 contient les anciennes données 2000(Hex).
Les données d'adresse 2010 (Hex) sont conservées dans le compteur de programme.
A l'étape 8, 1'UTC 31 saute à l'adresse 2010 (Hex). L'instruction correspondant à l'adresse 2010 (Hex) est "LD (5000), A"r qui indique que les données contenues dans un registre (non représenté) de 1'UTC 31 sont envoyées à la mémoire en conformité avec l'adresse 5000(Hex). Pour exécuter l'instruction ci-dessus, les données contenues dans le compteur de programme sont envoyées sur le bus d'adresse 39. L'étape 8 est le commencement du cyle de machine.
En conséquence, 1'UTC 31 produit une valeur basse aux signaux Ml, MREQ et RD. Les étapes suivantes s'effectuent comme l'étape 5. Aux étapes 9 et 10, les données faisant suite à 1 t opcode "LD" sont lues de la même façon qu'aux étapes 6 et 7. 1'UTC 31 acquiert l'information concernant la destination à laquelle 1'UTC 31 envoie les données conservées dans le registre.
A l'étape 11, 1'UTC 31 envoie les données conservées dans le registre à l'adresse 5000 (Hex). Cette opération est l'opération d'écriture. L'UTC rend le signal WR bas près de l'envoie des données 5000 (Hex) sur le bus d'adresse 39. L'UTC 31 rend le signal MREQ bas et envoie les données devant être écrites sur le bus de données 41. Après que le bus de données 41 a été établi,#l'UTC rend le signal
WR bas. En réponse au signal WR et au signal CE du décodeur 43, les données B de 1'UTC 31 sont écrites dans l'E2PROM 35.
A l'étape 12, 1'UTC 31 envoie les données 2013 (Hex), qui sont engendrées par le compteur de programme, sur le bus d'adresse 39. L'UTC 31 opère ensuite conformément ax données d'adresse 2013 (Hex). A l'étape 5, 1'UTC 3 re-.s le signal M1 bas afin de commencer un nouveau cycle de machine. Du E2PROM 35, 1'UTC 31 obtient ltopcode #RETU, qui désigne une instruction de retour. L'UTC retourne à l'opératIon conformément aux données d'adresse contenues dans le pointeur de pile. Afin de retourner, 1'UTC 31 lit l'adresse du pointeur de pile et acquiert les données contenues dans la pile conformément à l'adresse conservée dans le pointeur de pile.
Le pointeur de pile tient présentement les données 60FD (Hex) de l'étape 4-2. Les données 60FD(Hex) du pointez de pile sont envoyées dans le compteur de programme. L'JTC 31 envoie les données 60FD(Hex) sur le bus d'adresse 39. L'UTC 31 rend le signal RD bas. En réponse au signal RD et aux données d'adresse 60FD (Hex), 1'UTC 31 obtient les 8 bits bas de l'adresse de retour 3A (Hex) conservée à l'adresse 60FD (Hex) à l'étape 12-1. A l'étape 12-2, 1'UTC 31 obtient les 8 bits supérieurs de l'adresse de retour 10 (HEX) conservée à l'adresse 60FE (Hex). L'UTC 31 reçoit donc toutes les données concernant l'adresse de retour 103A (Hex). Le contenu du pointeur de pile se place sur 60FF (Hex).
A l'étape 13, 1'UTC 31 opère conformément aux données d'adresse 103A (Hex) et va au cycle d'acquisition de l'opcode. Pour commencer, 1'UTC 31 envoie les données d'adresse 103A (Hex) qui sont conservées dans le compteur de programme et qui ont été envoyées de la pile à l'étape précédente. L'UTC 31 rend bas les signaux Ml, MREQ et RD.
En réponse aux signaux Ml, MREQ et RD et aux données d'adresse 103A (Hex), 1'UTC 31 tente d'accéder la mémoire.
A ce stade, le générateur de signal d'accès 127 du dispositif de surveillance 45 rend les signaux D et E bas. En réponse aux données d'adresse 103A (Hex) les décodeurs de lecture, d'écriture et d'adresse d'opcode 121, 123 et 125 laissent les signaux A, B et C inchangés, c'està-dire, à leur niveau haut. En réponse aux signaux C et
D, le circuit ET négatif 143 rend le niveau du signal I bas. En réponse aux signaux A et C, le circuit ET négatif 131 rend le signal K bas. En réponse aux signaux I et K, la première et la troisième bascules 133 et 145 sont rétablies (reset) de sorte que leurs contenus sont bas. En réponse au contenu des bascules 133 et 145, le circuit OU négatif 147 rend le signal L bas. Le signal L est appliqué sur la broche INT 61 de 1'UTC 31,qui est ainsi interrompu
Au stade ci-dessus, le signal G est rendu bas en réponse aux signaux bas D e#t E. Le verrou des données de l'adresse courante 155 bloque les données d'adresse sur le bus d'adresse 39 en réponse au signal bas G. Le signal
H reste haut en réponse au signal haut C et au signal bas
D. Ainsi le verrou de données d'adresse opcode 151 ne bloque pas les données d'adresse du bus d'adresse 39 et maintient les données.
En se reportant maintenant à la figure 10, on va décrire maintenant la routine d'interruption. En réponse à un signal L bas, 1'UTC 31 opère conformément au programme d'interruption. A l'étape P-i, 1'UTC 31 détecte si elle opère ou non dans le mode d'acquisition d'opcode- interrompu.
Afin de le détecter, 1'UTC 31 vérifie le contenu des bascules 133, 139 et 145. Comme il a été décrit plus haut, un signal I bas rétablit (reset ) la bascule 145 et est engendré quand 1'UTC 31 tente d'accéder à une aire d'adresse autre que celle dont l'adresse est comprise entre 2000 (Hex) et 27FF (Hex) pendant l'acquisition de l'opcode. Le signal J bas rétablit la bascule 139 et est engendré quand 1'UTC 31 tente d'accéder à une aire autre que celle dont l'adresse est comprise entre 5000 (Hex) et .60FF (Hex) en mode d'écriture. Un signal K bas rétablit la bascule 133 et est produit quand llUTC 31 essaie d'accéder à une aire dont l'adresse n'est pas comprise entre 2000 (Hex) et 2FFF (Hex) ou entre 5005 (Hex) et 60FF (Hex) en mode de lecture.
Lorsque llUTC 31 est en mode d'acquisition d'opcode, elle détecte si le pointeur de pile contient ou non les données d'adresse 60FF (Hex) pendant l'étape P-2. Si le pointeur ce pile contient les données 60FD, llUTC 31 retourne au programme d'application comme représenté sur la firme 7 à l'étape P-3.
Lorsqu'il se trouve que 1' UTC 31 n'est pas dans le mode d'acquisItion d'opcode à l'étape P-1, ou si le pointeur de pile ne contient pas l'adresse 60FD à l'étape P2, 1'UTC 31 détermine#que le programme d'application a raté.
L'UTC arrête alors l'opération conformément au programme d'application, après quoi 1'UTC 31 lit et conserve les données des bascules 133, 139 et 145 et des verrous de données d'adresse d'opcode 151 et 155 à l'étape P-4. Ces données servent à analyser la cause de l'interruption.
Selon le programme représenté sur la figure 7, quand 1'UTC est interrompue, c'est-à-dire, à l'étape 13 représentée sur la figure 9, le signal M1 est bas. Ceci indique que I'UTC 31 est dans le mode d'acquisition d'opcode.
Le pointeur de pile conserve les données 60FD (Hex) quand une interruption se produit. Ceci est dû au fait que l'opération d'interruption décrémente le contenu du-pointeur de pile de deux unités (Hex). Comme il a été indiqué plus haut, à l'étape 12-2 effectué avant l'interruption, le pointeur de pile conserve les données 60FF (Hex).
Ainsi, le pointeur de pile conserve les données 60FD (Hex).
En se référant maintenant aux figures 11 et 12, on voit un second exemple de codage d'un programme d'utilisateur. Dans ce second programme, 1'UTC 31 tente d'exécuter une instruction d'écriture dans une adresse située en dehors de l'aire d'écriture et de lecteure de l'utilisateur.
LUTC 31- exécute les mêmes instructions que celles du code du premier exemple du programme d'utilisateur représenté sur la figure 7. Dans l'étape B-l qui suit l'étape 7, 1'UTC 31 entre dans le cycle d'acquisition d'opcode et fait les signaux Ml, MREQ et RD bas afin de prélever 1'opcode contenu dans la mémoire Conformément aux données d'adresse 2010 (Hex). En réponse à ces signaux M1,
MREQ et RD bas et aux données d'adresse 2010 (Hex), 1'UTC 31 acquiert l'opcode LD.
A l'étape B-2 qui suit l'étape 2-1, 1'UTC 31 lit les 8 bits inférieurs des données d'adresse suivant l'opcode "LD". A l'étape B-3, 1'UTC 31 lit les 8 bits supérieurs 709 (Hex) des données d'adresse faisant suite à l'opcode "LD". A ce stade, 1'UTC ~ 31 obtient les informations indiquant ou les données sont conservées.
A l'étape B-4, 1'UTC 31 entre dans le mode d'écriture et envoie l'adresse 7000(Hex) sur le bus d'adresse 39. L'UTC fait aussi les signaux MREQ et WR bas.
En réponse au signal d'écriture WR, le générateur d'impulsions d'échantillonnage d'adresse 211 rend le signal F bas. Les signaux D et E restent hauts.
En réponse aux données d'adresse 7000 (Hex), les décodeurs de lecture, d'écriture et d'adresse d'opcode 121, 123 et 125 font les signaux A, B et C hauts.
En réponse à un signal B haut et à un signal
F bas, le circuit ET négatif 137 fait le signal J bas. Les signaux I et K restent hauts. En réponse au signal J, la bascule 139 est rétablie (reset) et le contenu de la bascule 139 (haut) entre dans le circuit OU négatif 147. En réponse au signal de sortie de la bascule 139, le circuit
OU négatif i47 rend le signal L bas de sorte que 1'UTC est interrompue.
Après l'interruption de 1'UTC 31, celle-ci opère sous la routine d'interruption représentée sur la figure 10. Selon le présent programme, l'UTC 31 opère dans le mode d'écriture quand l'interruption se produit. En conséquence, 1'UTC 31 exécute l'étape P-4 représentée sur la figure 10.
En se référant aux figures 13 et 14, on va dé crire maintenant un troisième exemple de programme d'utilisateur. Ce programtte comprend des étapes d'écriture de données dans une dresse située à l'extérieur de l'aire de lecture et d'écriture de l'utilisateur.
La différence entre le premier et le troisième codes de programme réside dans l'étape 2010. Dans le troisième prcgramme, l'étape 2010 est "LDA, (7000 (Hex))" et correspond à l'opération de lecture. Ainsi, 1'UTC 31 lit ltopcode "LD" et les 8 bits inférieurs des données d'adresse "70" aux étapes C-l, C-2 et C-3, qui sont, grosso modo, équi7alentes aux étapes B-1, B-2 et B-3.
Dans l'étape 2-4, 1'UTC 31 passe à l'exécution de la lecture. Plus précisément, 1'UTC 31 envoie les données d'adresse 7000 (Hex)" et rend les signaux MREQ et
RD bas. En réponse aux signaux MREQ et RD, le signal E devient bas. En réponse aux données d'adresse "7000", les décodeurs d'adresse de lecture, d'écriture et d'opcode 121, 123 et 125 font hauts les signaux A, B et C.
En réponse au signal E bas et au signal A haut, le circuit ET négatif 131 fait le signal K bas. Les signaux
I et J restent hauts. En réponse au signal C bas, et aux signaux A et C hauts, le circuit OU négatif 153 rend le signal G bas, tandis que le signal H reste haut.
En réponse à un signal G bas, le verrou des données de l'adresse courante, bloque les données d'adresse sur le bus d'adresse 39. Par contre, le verrou de données d'adresse d'opcode 151, ne bloque pas les données et maintient celles-ci en réponse au signal H haut.
En réponse au signal K, la bascule 133 est rétablie ou débasculée (reset) de sorte que le circuit OU négatif 147 rend le signal L bas. L'UTC 31 est interrompue par le signal L bas. Quand 1 r UTC 31 est interrompue, elle opère selon la routine d'interruption représentée sur la figure 10. Conformément au présent code de programme, 1'UTC opère en mode de lecture quand les interruptions se produisent. Ainsi, 1'UTC 31 lit et conserve les données décrites plus haut.
En se référant maintenant aux figures 15 et 16, on va décrire un quatrième exemple d'un code de programme. La différence entre le premier et le quatrième exemples de codes de programmes d'utilisateur réside dans l'étape de retour å l'étape source.
Dans l'étape D-l, après les étapes 5, 6 et 7, 1'UTC 31 entre dans l'étape indiquée par adresse 2010 (Hex).
L'UTC exécute d'abord le cycle d'acquisition de ltopcode, puis envoie les données d'adresse 2010 (Hex) et rend les signaux Ml, MREQ et RD bas. En réponse aux signaux Ml, MREQ et RD bas, 1'UTC 31 conserve intérieurement lopcode "JP".
Aux étapes D-2 et D-3 faisant suite à l'étape
D-l, 1'UTC 31 lit les 8 bits inférieurs et supérieurs des données d'adresse faisant suite à L'opcode "JP" conservé dans 1'EPROM 33.
A l'étape D-4 faisant suite à l'étape D-3, 1'
UTC 31 exécute le cycle d'acquisition de ltopcode indiqué par les données d'adresse 103A (Hex).
Tout dtabord, 1'UCT 31 envoie les données d'adresse 103A sur le bus d'adresse 39. Ensuite, 1'UTC 31 ac quiert 1'opcode "JP". Toutefois, 1'UCT 31 est interrompue, comme il est expliqué ci-dessous.
En réponse aux données d'adresse 103A (Hex), les décodeurs d'adresse de lecture, d'écriture et d'opcode 121, 123 et 125 du dispositif de contrôle ou de surveillance 45 fait les signaux A, B et C hauts. Pendant le cycle d'acquisition d'opcode, 1'UTC 31 rend les signaux Ml,
MREQ et RD bas. En réponse aux signaux Ml, MREQ et RD, le circuit de signaux d'accès 127 rend les signaux D et E bas et le signal F haut. En réponse au signal haut A et au signal bas E, le circuit ET négatif 131 rend le signal K bas. En réponse au signal B haut et au signal F haut, le circuit
ET négatif 137 maintient le signal J haut. -En réponse au signal C haut et au signal B bas, le circuit ET négatif 143 rend le signal I bas, tandis que le circuit ET négatif 147 fait le signal H haut.En réponse aux signaux A,
B et C, le circuit OU négatif 153 rend le signal G bas.
En réponse aux signaux bas I et K, les bascules 133 et 145 sont rétablies ou débasculées (reset) et délivrent un signal bas. En réponse aux signaux des bascules 133 et 145, le circuit Ot: négatif 147 rend le signal L bas et 1'UCT 31 est interrompue.
En réponse au signal G bas, le verrou des données de l'adresse courante 155 bloque les données sur le bus d'adresse 39. En réponse au signal H haut, le verrou de données d'adresse opcode 151 ne bloque pas les données et conserve les anciennes données.
Quand 1'UTC 31 est interrompue, elle opère se
Ion la routine d'interruption représentée sur la figure 10. Conformément au codage du présent programme, 1'UTC 31 opère dans le mode d'acquisition d'opcode quand l'interruption se produit. Toutefois, 1'UTC 31 retourne au programme de base sous ltopcode "JP", et. non sous l'opcode "RET".
L'UTC 31 ne change pas les données conservées dans le pointeur de pile quand il retourne au programme de base. Autrement dit, le pointeur de pile retient les données "60FD" quand 1 t UTC 31 revient au programme de base. Quand se produit l'interruption de 1'UTC 31, celle-ci doit diminuer le contenu du pointeur de pile, c'est-à-dire, "60-FB". Ainsi, 1'UTC 31 va à l'étape P-4 représentée sur la figure 10.
Il va de soi que de nombreuses modifications peuvent être apportées aux exemples de réalisation repré- sentés et décrits, qui n'ont, bien entendu, aucun caractère limitatif, sans sortir pour autant du cadre de l'invention.

Claims (2)

REVENDICATIONS des moyens de surveillance ou de contrôle pour déterminer si lesdites premières ou secondes instructions lues dans lesdits premier ou second programmes par lesdits moyens de traitement se rapportent à l'autre d'entre eux et pour générer un signal dtinterrup.~on en réponse à une telle détermination r dans lequel lesdits moyens de traitement sont interrompus par le signal d'interruption généré par lesdits moyens de contrôle ou de surveillance. des moyens de traitement pour lire et exécuter lesdits premières et secondes instructions desdits premier et second programmes conservés par lesdits premiers et seconds moyens de conservation dans lesdits moyens de mémorisation;; des seconds moyens pour conserver un second programme, lequel comporte un certain nombre de secondes instructions; des premiers moyens pour conserver un premier programme, lequel comporte un certain nombre de premières instructions;
1 - Système de traitement de données qui comprend des moyens de mémorisation, lesdits moyens de mémorisation comprenant, en outre
2 - Système de traitement de données selon la revendication 1, caractérisé en ce que lesdits moyens de traitement comprennent des moyens pour émettre des données d'adresse indiquant l'emplacement de mémoire où lesdits moyens de traitement peuvent accéder aux données.
30 Système de traitement de données selon la revendication 2, caractérisé en ce que lesdits moyens de traitement exécutent une opération de lecture pour lire, une opération d'écriture pour écrire et une opération d'acquisition de code pour acquérir un code indiquant l'une desdites premières ou secondes instructions.
des moyens pour engendrer un signal de code en réponse afin de distinguer ladite opération d'acquisition de code desdites opérations de lecture et d'écriture.
des moyens pour distinguer ladite opération d'acquisition de code desdites opérations de lecture et d'écriture; et
40 Système de traitement de données selon la revendication 3, caractérisé en ce que lesdits moyens de surveillance ou de contrôle comprennent, en outre
des moyens pour générer un signal de distinction d'adresse en réponse à une telle détermination.
des moyens pour déterminer si les données d'adresse émises par lesdits moyens de traitement sont adressées à une partie de ladite mémoire contenant un autre desdits premier et second programmes qui est en cours d'utilisation à l'instant de la détermination, et
5 - Système de traitement de données selon la revendication , caractérisé en ce que lesdits moyens de surveIllance ou de contrôle comprennent, en outre
des moyens pour générer un signal d'interruption en réponse audit signal de code et dudit signal de distinction d'adresse.
60 Système de traitement de données selon la revendication 5, caractérisé en ce que lesdits moyens de surveillance ou de contrôle comprennent aussi
des moyens de surveillance ou de contrôle pour déterminer si lesdites premières ou secondes instructions lues dans lesdits premier ou second programmes par lesdites puces se rapporte à l'autre desdits premier ou second programmes et pour générer un signal d'interruption en réponse à une telle détermination, dans laquelle ladite puce est interrompue par le signal d'interruption généré par lesdits moyens de surveillance ou de contrôle.
des puces montées sur ledit corps de carte pour lire et exécuter lesdites premières et secondes instructions desdits premier et second programmes conservés par lesdits premiers et seconds moyens de conservation contenus dans lesdits moyens de mémorisation;;
des seconds moyens pour conserver un second programme, ledit second programme comprenant un certain nombre de secondes instructions;
des premiers moyens pour conserver un premier programme, ledit premier programme comprenant un certain nombre de premières instructions;
des moyens de mémoire, lesdits moyens de mémoire comprenant notamment
un corps ou un substrat;
70- Une carte qui comprend
8 - Carte selon la revendication 7, caractérisée en ce que ladite puce comporte des moyens pour émettre des données d'adresse indiquant un emplacement de ladite mémoire où ladite puce peut accéder à des données.
9 - Carte selon la revendication 8, caractérisée en ce que ladite puce exécute une opération de lecture afin de lire une opération d'écriture pour écrire et une opération d'acquisition de code pour obtenir un code indiquant ladite première ou ladite seconde instructions.
des moyens pour générer un signal de code en réponse à la distinction de ladite opération d'acquisition de code desdites opérations de lecture et d'écriture.
des moyens pour distinguer ladite opération d'acquisition de code desdites opérations de lecture et d'écriture; et
10 - Carte selon la revendication 9, caractérisée en ce que lesdits moyens de surveillance ou de contrôle comprennent
des moyens pour générer un signal de distinction d'adresse en réponse à une telle détermination.
des moyens pour déterminer si les données d'adresse émises par ladite puce se rapportent à une partie de ladite mémoire contenant un autre desdits premier et second programmes que celui qui est utilisé à l'instant de la détermination et,
11 - Carte selon la revendication 10, caractérisée en ce qu'elle comprend aussi
12C Carte selon la revendication 11, caractérisée en ce que lesdits moyens de surveillance ou de con trôle comprennent aussi des moyens pour engendrer un signal d'interruption en réponse audit signal de code et dudit signal de distinction d'adresse.
130 Carte selon la revendication 7, caractérisée en ce que ledit premier programme est un programme d'application pour une application particulière de ladite carte, tandis que ledit second programme est un programme de système pour des fonctions communes à plusieurs applications.
à interrompre ladite étape d'exécution en accord avec ledit signal d'interruption.
à générer un signal d'interruption conformément au résultat de ladite détermination; et
à déterminer si les instructions lues dans ledit premier programme ou dans ledit second programme pendant ladite étape de lecture se rapportent à l'autre desdits premier ou second programmes;
à exécuter lesdites instructions de programmes;
à lire les instructions incluses dans le premier et dans le second programmes;
14 - Procédé pour exécuter des instructions d'un programme conformément à un premier programme conservé dans une première mémoire et qui inclut un certain nombre d'instructions, et d'un second programme contenu dans une mémoire et qui inclut un certain nombre d'instructions, qui consite
15 - Procédé selon la revendication 14, caractérisé en ce que ladite étape d'exécution inclut une étape d'émission de données d'adresse indiquant l'adresse de l'emplacement de la mémoire contenant l'instruction de programme concernée par ledit signal d'interruption.
16 - Procédé selon la revendication 15, caractérisé en ce que ladite étape d'exécution comprend une phase consistant à lire/écrire des données; et, une phase pour acquérir un code indiquant lesdites instructions.
une phase de génération d'un signal de code en réponse au résultat de la distinction.
17 - Procédé selon la revendication 16, caractérisé en ce que ladite étape de détermination comporte une phase pour distinguer ladite étape d'acquisition des autres étapes; et
une phase de génération d'un signal de distinction d'adresse en réponse au résultat de la détermination.
18"- Procédé selon la revendication 17, caractérisé en ce que ladite étape de détermination comprend une phase pour déterminer si les données d'adresse émises indicent celui des deux programmes qui est différent de celui utilisé à l'instant considéré; et
19 - Procédé selon la revendication 18, caractérisé en ce que ladite phase de génération dudit signal d'interruption comprend une phase consistant à générer le signal d'Interruption en réponse au signal de code et au signal de distinction d'adresse.
FR909001194A 1989-02-01 1990-02-01 Systeme de traitement de donnees a programme de securite Expired - Lifetime FR2642544B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1022967A JPH02202642A (ja) 1989-02-01 1989-02-01 プログラム動作監視装置

Publications (2)

Publication Number Publication Date
FR2642544A1 true FR2642544A1 (fr) 1990-08-03
FR2642544B1 FR2642544B1 (fr) 1994-11-18

Family

ID=12097351

Family Applications (1)

Application Number Title Priority Date Filing Date
FR909001194A Expired - Lifetime FR2642544B1 (fr) 1989-02-01 1990-02-01 Systeme de traitement de donnees a programme de securite

Country Status (4)

Country Link
US (1) US5615381A (fr)
JP (1) JPH02202642A (fr)
KR (1) KR100197761B1 (fr)
FR (1) FR2642544B1 (fr)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2704704B1 (fr) * 1993-04-28 1995-09-01 Gemplus Card Int Systeme de communication.
US5710814A (en) * 1996-07-23 1998-01-20 Cheyenne Property Trust Cryptographic unit touch point logic
US5724422A (en) * 1996-08-05 1998-03-03 Industrial Technology Research Institute Encrypting and decrypting instruction boundaries of instructions in a superscalar data processing system
US5841870A (en) * 1996-11-12 1998-11-24 Cheyenne Property Trust Dynamic classes of service for an international cryptography framework
US5754762A (en) * 1997-01-13 1998-05-19 Kuo; Chih-Cheng Secure multiple application IC card using interrupt instruction issued by operating system or application program to control operation flag that determines the operational mode of bi-modal CPU
US6484946B2 (en) * 1997-12-22 2002-11-26 Hitachi, Ltd. IC card information display device and IC card for use therewith
US6615324B1 (en) 2000-01-07 2003-09-02 Cygnal Integrated Products, Inc. Embedded microprocessor multi-level security system in flash memory
US7588180B1 (en) * 2000-01-28 2009-09-15 International Apparel Group, Llc Multi-application smart card with currency exchange, location tracking, and personal identification capabilities
JP3997052B2 (ja) * 2000-12-13 2007-10-24 株式会社エヌ・ティ・ティ・ドコモ Icカード及びicカードの情報保護方法並びにicカード発行装置
US7051340B2 (en) * 2001-11-29 2006-05-23 Hewlett-Packard Development Company, L.P. System and method for isolating applications from each other
US20030101381A1 (en) * 2001-11-29 2003-05-29 Nikolay Mateev System and method for virus checking software
US20030182653A1 (en) * 2002-03-22 2003-09-25 Giuseppe Desoli Systems and methods for verifying correct execution of emulated code via dynamic state verification
DE102004008180A1 (de) * 2004-02-19 2005-09-01 Giesecke & Devrient Gmbh Verfahren zum sicheren Betrieb eines tragbaren Datenträgers
JP5259541B2 (ja) * 2009-09-17 2013-08-07 株式会社東芝 携帯可能電子装置、携帯可能電子装置の制御方法及びicカード
KR101783558B1 (ko) 2016-10-07 2017-10-23 주식회사 엘지유플러스 멀티 카드 시스템
KR20170001680A (ko) 2016-12-16 2017-01-04 주식회사 엘지유플러스 멀티 카드 및 그 제어방법
KR20170003134U (ko) 2017-08-24 2017-09-05 주식회사 엘지유플러스 멀티 카드

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3803559A (en) * 1971-07-26 1974-04-09 Hitachi Ltd Memory protection system
FR2471004A1 (fr) * 1979-11-30 1981-06-12 Dassault Electronique Installation et dispositif de controle de l'acces a une memoire electronique
EP0109504A2 (fr) * 1982-11-18 1984-05-30 International Business Machines Corporation Système de protection pour dispositifs de mémoire, d'entrée-sortie et équivalents
FR2595485A1 (fr) * 1986-03-05 1987-09-11 Oki Electric Ind Co Ltd Ordinateur, notamment micro-ordinateur a circuit integre
EP0331202A1 (fr) * 1988-03-04 1989-09-06 Siemens Aktiengesellschaft Méthode à utiliser suivant les besoins de la mémoire de données d'un micro-ordinateur en tant que mémoire de programme
EP0331407A2 (fr) * 1988-02-29 1989-09-06 Hitachi Maxell Ltd. Carte à circuit intégré

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2401459A1 (fr) * 1977-08-26 1979-03-23 Cii Honeywell Bull Support d'information portatif muni d'un microprocesseur et d'une memoire morte programmable
JPS5880755A (ja) * 1981-11-09 1983-05-14 Sharp Corp 電子式計算機
NL8201847A (nl) * 1982-05-06 1983-12-01 Philips Nv Inrichting voor het beschermen tegen onbevoegd uitlezen van in een geheugen te memoriseren programmawoorden.
US4590552A (en) * 1982-06-30 1986-05-20 Texas Instruments Incorporated Security bit for designating the security status of information stored in a nonvolatile memory
JPS6068441A (ja) * 1983-09-22 1985-04-19 Fujitsu Ltd ワンチツプ・マイクロ・コンピユ−タ
US4575621A (en) * 1984-03-07 1986-03-11 Corpra Research, Inc. Portable electronic transaction device and system therefor
JPS60233743A (ja) * 1984-05-04 1985-11-20 Fuji Electric Co Ltd 計算機システムの異常検出回路
US4713753A (en) * 1985-02-21 1987-12-15 Honeywell Inc. Secure data processing system architecture with format control
US4845351A (en) * 1985-09-30 1989-07-04 Casio Computer Co., Ltd. IC card
JPS62105293A (ja) * 1985-10-31 1987-05-15 Toshiba Corp 携帯可能記録媒体の読取・書込装置
JPS6382534A (ja) * 1986-09-26 1988-04-13 Matsushita Electric Ind Co Ltd メモリ保護装置
US5047928A (en) * 1986-10-24 1991-09-10 Wiedemer John D Billing system for computer software
GB2206431B (en) * 1987-06-30 1991-05-29 Motorola Inc Data card circuits
US5014191A (en) * 1988-05-02 1991-05-07 Padgaonkar Ajay J Security for digital signal processor program memory
US4961142A (en) * 1988-06-29 1990-10-02 Mastercard International, Inc. Multi-issuer transaction device with individual identification verification plug-in application modules for each issuer

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3803559A (en) * 1971-07-26 1974-04-09 Hitachi Ltd Memory protection system
FR2471004A1 (fr) * 1979-11-30 1981-06-12 Dassault Electronique Installation et dispositif de controle de l'acces a une memoire electronique
EP0109504A2 (fr) * 1982-11-18 1984-05-30 International Business Machines Corporation Système de protection pour dispositifs de mémoire, d'entrée-sortie et équivalents
FR2595485A1 (fr) * 1986-03-05 1987-09-11 Oki Electric Ind Co Ltd Ordinateur, notamment micro-ordinateur a circuit integre
EP0331407A2 (fr) * 1988-02-29 1989-09-06 Hitachi Maxell Ltd. Carte à circuit intégré
EP0331202A1 (fr) * 1988-03-04 1989-09-06 Siemens Aktiengesellschaft Méthode à utiliser suivant les besoins de la mémoire de données d'un micro-ordinateur en tant que mémoire de programme

Also Published As

Publication number Publication date
US5615381A (en) 1997-03-25
JPH02202642A (ja) 1990-08-10
FR2642544B1 (fr) 1994-11-18
KR900013389A (ko) 1990-09-05
KR100197761B1 (ko) 1999-06-15

Similar Documents

Publication Publication Date Title
FR2642544A1 (fr) Systeme de traitement de donnees a programme de securite
EP1062633B1 (fr) Dispositifs pour masquer les operations effectuees dans une carte a microprocesseur
CA2035161C (fr) Procede et dispositif de gestion de transactions utilisant des cartes a microcircuit
FR2612316A1 (fr) Carte a circuits integres ayant une capacite de verification d'erreur interne
FR2681165A1 (fr) Procede de transmission d'information confidentielle entre deux cartes a puces.
EP0430734A1 (fr) Procédé et système d'exploitation sécurisée d'un logiciel
FR2685520A1 (fr) Carte a memoire rechargeable, procede de securisation et terminal d'utilisation.
FR2972830A1 (fr) Systeme de controle de validation de titres de transport
EP0277440B1 (fr) Système de fourniture de prestations à revalidation
EP0735489A1 (fr) Procédé de protection de zones de mémoires non volatiles
EP1793322A1 (fr) Module de sécurité évolutif
EP1388134A1 (fr) Procede et systeme de gestion de donnes destinees a etre stockees dans une carte a puce programmable
FR2473755A1 (fr) Procede et dispositif electronique de memorisation et de traitement confidentiel de donnees
EP3343487A1 (fr) Procédé de contrôle d'habitudes d'utilisation et dispositif électronique apte à mettre en uvre un tel procédé
WO2014063940A1 (fr) Procede de gestion d'identifiants dans une carte a circuit integre et carte a circuit integre correspondante
EP0829831B1 (fr) Méthode d'authentification de cartes
EP1634220B1 (fr) Procede et dispositif d'identification biometrique adaptes a la verification sur carte a puce
EP1058917B1 (fr) Chargement de programmes informatiques en blocs
EP1912182A1 (fr) Autorisation d'une transaction entre un circuit électronique et un terminal
FR3090959A1 (fr) Traitement d’un service de tickets électroniques
FR2710769A1 (fr) Système de traitement des données d'une carte à microcircuit, carte et lecteur pour ce système et procédé de mise en Óoeuvre.
EP2280380B1 (fr) Procédé de personnalisation d'une entité électronique, et entité électronique mettant en oeuvre ce procédé
EP3208731B1 (fr) Procede et dispositif de parametrage d'un dispositif pour effectuer des operations bancaires
CA2275940A1 (fr) Procede d'interpretation dynamique de donnees pour une carte a puce
FR2789774A1 (fr) Procede de comparaison securise de deux registres memoire, et module de securite mettant en oeuvre ce procede