WO1989003081A1 - Dispositif de protection des zones memoire d'un systeme electronique a microprocesseur - Google Patents

Dispositif de protection des zones memoire d'un systeme electronique a microprocesseur Download PDF

Info

Publication number
WO1989003081A1
WO1989003081A1 PCT/FR1988/000474 FR8800474W WO8903081A1 WO 1989003081 A1 WO1989003081 A1 WO 1989003081A1 FR 8800474 W FR8800474 W FR 8800474W WO 8903081 A1 WO8903081 A1 WO 8903081A1
Authority
WO
WIPO (PCT)
Prior art keywords
type
areas
circuit
memory
decision circuit
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.)
Ceased
Application number
PCT/FR1988/000474
Other languages
English (en)
Inventor
Laurent Sourgen
Rodolphe Uhlmann
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.)
STMicroelectronics SA
STMicroelectronics lnc USA
Original Assignee
SGS Thomson Microelectronics SA
SGS Thomson Microelectronics Inc
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 SGS Thomson Microelectronics SA, SGS Thomson Microelectronics Inc filed Critical SGS Thomson Microelectronics SA
Priority to EP88908257A priority Critical patent/EP0393050B1/fr
Priority to DE3853482T priority patent/DE3853482T2/de
Publication of WO1989003081A1 publication Critical patent/WO1989003081A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features

Definitions

  • the present invention relates to a device for protecting the memory areas of an electronic microprocessor system. It relates generally to the field of computers, and more particularly to the field of memory cards, the memory member of which, inserted in a card, comprises an electronic integrated circuit managed by a microprocessor.
  • the device of the invention could also be used in the field of software protection where, by clever programming, it can easily prevent the duplication or editing of programs that we want to keep secret. It can also aim to avoid the unfortunate consequences of certain false maneuvers.
  • the object of the invention is to remedy these drawbacks and to propose a simple device, which does not borrow from the software, but rather from the material, and the addition of which in the systems does not constitute any complication of the use of this system. nor slowdown in his working speed.
  • the principle of the invention resides in the construction of a decision matrix which receives, for example, in real time, the instructions to be executed and the data on which these instructions must be executed. The decision matrix generates a signal for validation of the operation of the system when the application of the instructions to the data in question can be authorized.
  • the decision matrix is likely to work on the addresses of the instructions and of the data concerned.
  • This has the advantage, when secret codes are produced subsequently to the manufacture of the integrated circuit, that the decision matrix can remain unchanged provided that these secret codes are stored at a predetermined address, but whatever their content. Under these conditions the decision matrix can be manufactured at the same time as the integrated circuit.
  • This has two advantages firstly, there is no need to program this matrix later. Second, having been defined from the at the start of manufacturing, it can benefit from all the technological protections that we are able to grant to other parts of the circuit.
  • the subject of the invention is therefore a device for protecting memory areas of an electronic microprocessor system, the memory areas being shared between areas of a first type and areas of a second type, characterized in that it comprises :
  • a decision circuit receiving address signals relating to information stored in areas of the first and second type
  • FIG. 1 an electronic microprocessor system to protect
  • FIG. 2a to 2d time diagrams of logic signals useful for operating the protection device of the invention
  • FIG. 3 a schematic representation of a protection device according to the invention.
  • FIG. 1 represents an electronic microprocessor system 1 provided with a memory 2 having memory areas of a first type: 1T, 1T ... and memory areas of a second type 2T, 2T '... These memory areas can belong to a single memory, or to different memories. They can also belong to memories of different technologies, for example memories of static type, memories of dynamic type, or non-volatile memories (EPROM or EEPRO). They can also be memories of different functionalities, for example random access or read-only memories.
  • the areas of a first type can be areas where instructions are stored, and the areas of a second type can be areas where data are stored. More generally, the zones of a first or of a second type may even be zones in which addresses of instructions or data are in fact stored.
  • the microprocessor of system 1 operates as follows: during a cycle 3 of an instruction execution sequence the microprocessor takes an instruction from a zone of a first type 1T or 1T ', During the following cycle 4, it takes from the 2T or 2T 'data areas the data on which the previously extracted instruction must be applied. Possibly the succession of these cycles could be reversed without resulting in a profound modification of the invention.
  • the transport of information between the memory and the microprocessor is made by a single bus whose allocation to the reading of the zones of the different types of memory is imposed by a LI signal for reading instructions
  • a PHI signal constitutes the system clock: it synchronizes the various operations.
  • ADD is applied to the memory, and the data contained at this address are transferred to the microprocessor at a date 6 for an inverse state of the signal LI.
  • a decision circuit 7 also receives, via a decoder 10, the address signals relating to the information stored in the memory areas.
  • the device of the invention comprises a circuit 8 for validating the operation of the system as a function of a signal delivered by the decision circuit 7 in response to the address signals that the latter has received.
  • orientation signals access to information stored at addresses of different types of area is controlled by orientation signals.
  • the orientation signal which has been described is the instruction read signal LI.
  • a buffer register 9 is then preferably used to receive, depending on the state of the orientation signal, address signals relating to the information stored in the areas of the first type, in the areas of instruction.
  • the buffer register receives address signals II to 14. It keeps them until it receives a reset command.
  • the existence of this buffer register makes it possible to use only a single decoder 10 to decode all the addresses of the information to be extracted at different periods during the sequence: during cycle 3 or cycle 4.
  • the register 9 When the cycle 4 s 'executes, the register 9 outputs the signals of address II to 14 while the decoder 10 supplies signals of address D1 to D4.
  • the validation circuit 8 can deliver an error signal ERR before the end of the execution by the microprocessor of the instruction that he was given to execute.
  • the memory is divided into four zones: zones 1T, 1T ', 2T and 2T'.
  • zones 1T, 1T ', 2T and 2T' We can then use for addresses coded on a certain number of bits, for example on sixteen bits, the two most significant bits A14 and A15 to determine which areas of the memory we are dealing with. For example, for the pair A15-A14 worth 0-0, we may be dealing with zone 1T. for 0-1 in zone 1T ', for 1-0 in zone 2T, and for 1-1 in zone 2T'.
  • the decoder 10 which receives the address signals can transform these address bits, depending on the area concerned, into signals Z1, Z2, Z3 and Z4.
  • the decoder 10 is of conventional type: it notably includes for each input address bits taken into account, an inverter 11 or 12, and a set of four AND gates
  • the buffer register 9 comprises four flip-flops B1 to B4 respectively receiving the signals Z1 to Z4 on the one hand, and a blocking and reset signal on the other hand.
  • the blocking and reset signals are delivered by a circuit 17 called introduction. Circuit 17 allows the introduction into circuit 7, during the course of cycle 4, of address signals II â
  • the operation of this circuit is as follows: the addresses A14-A15 are decoded and produce the signals Z1 to 24. At each cycle only one of these signals Z1 to Z4 is at a level one, the other lines are â zero. For example if the decoded address corresponds to the area 1T then 21 will be one. During the cycle 4 the data signals D1 to D4 are transmitted to the decision circuit 7 by an adaptation circuit 18.
  • the adaptation circuit 18 is presented here for information. I1 could have a completely different appearance, or even be absent in another embodiment of the device of the invention.
  • the validation circuit 8 includes a resistor 19 connected to the general power supply of the electronic microprocessor system on the one hand, and to the adaptation circuit 18 on the other hand. This resistance can be achieved in various technologies; it can be a diffuse resistance, be a p ⁇ lysilicon resistance, or even a transistor mounted in resistance at the limit of conduction.
  • an inverter 20 takes an available voltage and outputs the validation signal ERR sought.
  • the adaptation circuit 18 comprises a set of four transistors 21 to 24 connected on the one hand in common to the resistor 19 and on the other hand, by four connections 29 to 32, to each of the address inputs of the decision circuit 7.
  • the transistors 21 to 24 respectively receive on their control gate the signals Z1 to Z4 decoded by the decoder 10.
  • a set of four AND gates 25 to 28 makes it possible to transmit these addresses to the decision circuit 7 when a signal PHI of synchronization of data reading authorizes it.
  • the decision circuit comprises, at the intersection of connections 29 to 32 and 33 to 36, transistors T1 to T16 connected to the following way.
  • the drains of these transistors are connected to the connections 29 to 32 respectively, the grids of these transistors are connected to the connections 33 to 36.
  • the transistors have not been produced: they appear in parentheses in Figure 3: il these are for example transistors T1, T6, P7, T11, T15 and T16.
  • the operation of the device of the invention is as follows.
  • PHI equals zero
  • the transistors 21 to 24 are blocked, no current flows through the resistor 19, the output ERR equals one.
  • the flip-flops B1 to B4 are open.
  • One of the signals Z1 to 24 passes through these flip-flops and is positioned one by one in a signal II to 14 depending on the area of the memory, to the decoding of which it corresponded. This corresponds to the area of instruction to be executed.
  • the PHI signal returns to zero, the flip-flops lock and I1 to 14 keep their value until a next cycle where LI and PHI are again one.
  • the address signals Z1 to 24 are transformed into corresponding address signals D1 to D4.
  • the transistors T1 to T16 indicate by their presence or absence a prohibition of access to an affected area of the memory in combination with Lin access to another affected area of the memory.
  • the classification into zones of first type and into zones of second type of the memory is therefore essentially linked to the nature of instructions, of data, or even of address that these zones are likely to contain. They can of course be located geographically in mixed places in the memory.
  • the coding is carried out in the example described by the physical presence of a transistor.
  • the making of the decision circuit 7 can therefore be obtained by masking: at the time of manufacture of the integrated circuit, a set of masks is used such that at the location of this circuit the necessary transistors are put in place. For some applications nevertheless these transistors can be replaced by EPROM or EEPROM type memory cells which have the advantage of being programmable and non-volatile.
  • the decision circuit 7 is thus a programmed read only memory. This arrangement may be necessary when the integrated circuits manufactured must be able to be checked and / or programmed beforehand. It may then be necessary to have, for the verification operation and for the programming executed by the manufacturer, to access memory areas which will later be "prohibited.
  • the programmable transistors are, for example, transistors with an intermediate floating gate of EPROM or EEPROM type, or else random access memory cells loaded at system initialization.
  • the preliminary operations have been carried out on the circuit, it is ultimately possible to program the decision circuit whose effect may be to irrevocably prohibit the execution of certain instructions, including the subsequent programming of certain particular zones memory and especially including its own programming.
  • This device described simply can of course be â stretched a higher number of areas whose sizes are equal or not.

Landscapes

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

Abstract

On réalise un circuit (7) de décision recevant en entrées des adresses (I1 - I4) d'instructions à exécuter, et des adresses (D1 - D4) de données sur lesquelles ces instructions doivent être appliquées. Le circuit de décision permet de valider (8) ou d'invalider l'exécution de l'instruction si l'exécution de cette instruction doit conduire à une fausse manoeuvre, ou à une tentative frauduleuse de divulgation du contenu du système. Un registre tampon (9) permet de mémoriser les adresses des instructions et de les présenter ultérieurement au circuit de décision en même temps que les adresses des données. Ce dispositif s'applique plus particulièrement à la protection des cartes à mémoire en circuit intégré électronique.

Description

DISPOSITIF DE PROTECTION DES ZONES MEMOIRE D'UN SYSTEME ELECTRONIQUE A MICROPROCESSEUR
La présente invention a pour objet un dispositif de protection des zones mémoire d'un système électronique à microprocesseur. Elle concerne d'une manière générale le domaine des ordinateurs, et plus particulièrement le domaine des cartes à mémoire dont l'organe de mémorisation, inséré dans une carte, comporte un circuit intégré électronique géré par un microprocesseur. Le dispositif de l'invention pourrait en outre être utilisé dans le domaine de la protection des logiciels où, par une programmation astucieuse, il peut facilement empêcher la duplication ou l'édition de programmes qu'on tient à garder secrets. Il peut aussi avoir pour but d'éviter les conséquences fâcheuses de certaines fausses manoeuvres.
Dans les systèmes électroniques à microprocesseurs, notamment dans les applications de type monëtique des cartes â mémoire, il est nécessaire de réserver les conditions d'accès à certaines zones mémoire du système. En particulier on cherche à empêcher toute tentative de fraude par la lecture de zones théoriquement interdites dans ces cartes. Il s'agit par exemple des zones contenant le code secret d'utilisation de la carte. Par contre les mémoires des cartes â mémoire comportent d'autres zones, en particulier celles qui représentent un solde, dont la signification des informations enregistrées doit pouvoir être modifiée. On est alors confronté â une situation dans laquelle des zones mémoire différentes doivent pouvoir ou non être lues. Par ailleurs dans des zones d'un autre type de la mémoire, des instructions â exécuter par le microprocesseur peuvent être également stockées. Dans ces zones d'un autre type on rencontre la même dualité, certaines instructions peuvent être laissées à la disposition de l'utilisateur, l'usage d'autres instructions doit lui être par contre interdit. Dans une situation plus complexe, et plus réaliste, certaines instructions sont en elles-mêmes banales, mais ne deviennent critiques pour la confidentialité du système que si elles sont appliquées â certains types de données. Par exemple, une instruction d'édition ne présente aucun caractère dangereux si avec certaines précautions, elle est appliquée à l'édition du solde d'un compte. Par contre, elle devient beaucoup plus critique si elle est appliquée à l'édition du code secret de transaction avec la carte à mémoire en question. On connaît des solutions de l'état de la technique oû l'empêchement d'exécution de ces actions interdites est obtenu par des instructions supplémentaires que l'on peut introduire dans le système. En définitive un tel système fonctionne avec un logiciel dont certaines instructions sont destinées â empêcher l'exécution des actions interdites. Cependant, autant il a été possible d'introduire ces instructions, autant il peut être possible, avec un logiciel supplémentaire, de neutraliser ces instructions d'interdiction. De plus ces instructions d'interdiction compliquent le système et peuvent ralentir l'exécution des instructions autorisées.
L'invention a pour objet de remédier â ces inconvénients et de proposer un dispositif simple, qui n'emprunte pas au logiciel, mais plutôt au matërel, et dont l'adjonction dans les systèmes ne constitue aucune complication de l'utilisation de ce système, ni non plus de ralentissement de sa vitesse de travail. Le principe de l'invention réside dans la construction d'une matrice de décision qui reçoit par exemple, en temps réel, les instructions â exécuter et les données sur lesquelles doivent s'exécuter ces instructions. La matrice de décision élabore un signal de validation du fonctionnement du système lorsque l'application des instructions aux données en question peut être autorisée.
D'une manière préférée, plutôt que de prendre en compte les instructions et les données elles-mêmes, la matrice de décision est susceptible de travailler sur les adresses des instructions et des données concernées. Ceci présente l'avantage, lorsque des codes secrets sont produits ultérieurement â la fabrication du circuit intégré, que la matrice de décision peut rester inchangée sous réserve que ces codes secrets soient rangés à une adresse déterminée â l'avance, mais quel que soit leur contenu. Dans ces conditions la matrice de décision peut être fabriquée en même temps que le circuit intégré. Ceci a deux avantages premièrement il n'est pas nécessaire de programmer ultérieurement cette matrice. Deuxièmement, ayant êtë définie dès le début de la fabrication elle peut bénéficier de toutes les protections technologiques que l'on est en mesure d'accorder aux autres parties du circuit. L'invention a en conséquence pour objet un dispositif de protection de zones mémoires d'un système électronique à microprocesseur, les zones mémoire étant partagées entre des zones d'un premier type et des zones d'un deuxième type, caractérisé en ce qu'il comporte :
- un circuit de décision recevant des signaux d'adresse relatifs à des informations stockées dans des zones du premier et du deuxième type,
- et un circuit pour valider le fonctionnement du système en fonction d'un signal délivré par le circuit de décision en réponse aux signaux d'adresse qu'il reçoit.
L'invention sera mieux comprise â la lecture de la description qui suit et à l'examen des figures qui l'accompagnent. Celles-ci ne sont données qu'à titre indicatif et nullement limitatif de l'invention. Les figures montrent :
- figure 1 : un système électronique â microprocesseur â protéger ; - figures 2a â 2d : des diagrammes temporels de signaux logiques utiles â faire fonctionner le dispositif de protection de l'invention ;
- figure 3 : une représentation schématique d'un dispositif de protection conforme â l'invention.
La figure 1 représente un système électronique à microprocesseur 1 muni d'une mémoire 2 possédant des zones mémoire d'un premier type : 1T, 1T ... et des zones mémoire d'un deuxième type 2T , 2T' ... Ces zones mémoire peuvent appartenir â une seule mémoire, ou â des mémoires différentes. Elles peuvent aussi appartenir à des mémoires de technologies différentes, par exemple des mémoires de type statique, des mémoires de type dynamique, ou des mémoires non volatiles (EPROM ou EEPRO ). Elles peuvent aussi être des mémoires de fonctionnalités différentes, par exemple â accès aléatoire ou bien des mémoires mortes. En pratique les zones d'un premier type peuvent être des zones où sont rangées des instructions, et les zones d'un deuxième type peuvent être des zones où sont rangées des données. D'une manière plus générale les zones d'un premier ou d'un deuxième type peuvent même être des zones où sont en fait rangées des adresses d'instructions ou de données.
Le microprocesseur du système 1 fonctionne de la manière suivante : pendant un cycle 3 d'une séquence d'exécution d'instructions le microprocesseur prélève une instruction dans una zone d'un premier type 1T ou 1T', Pendant le cycle 4 suivant, il prélève dans les zones de données 2T ou 2T' les données sur lesquelles l'instruction préalablement extraite doit être appliquée. Eventuellement la succession ces cycle pourrait être inversée sans qu'il en résulte une modification profonde de l'invention. Dans un exemple préféré de réalisation, les transports des informations entre la mémoire et le microprocesseur sont faits par un bus unique dont l'affectation â la lecture des zones des différents types de la mémoire est imposée par un signal LI de lecture d'instructions Un signal PHI constitue l'horloge du système : il synchronise les différentes opérations.
Le fonctionnement typique d'un tel microprocesseur est le suivant Cfigures Ea à
2d) : pendant le premier cycle 3 une adresse ADI d'une instruction décodée par le décodeur de la mémoire est appliquée â la mémoire. A une date S dans le cycle 3, le contenu de cette instruction est envoyé au microprocesseur. Cet envoi est validé par l'ardre LI de lecture d'instructions.
Pendant, le cycle 4 suivant, une adresse de données
ADD est appliquée à la mémoire, et les données contenues à cette adresse sont transférées au microprocesseur à une date 6 pour un état inverse du signal LI.
Sur la figure 3 on a représenté un dispositif conforme à l'invention. Un circuit de décision 7 reçoit, lui aussi par l'intermédiaire d'un décodeur 10, les signaux d'adresses relatifs aux informations stockées dans les zones mémoire.
Pour les adresses d'un premier type de zone dans la mémoire, celles des instructions, il reçoit les signaux II à 14. Il reçoit également les signaux d'adresse relatifs aux informations stockées dans les zones mémoire de deuxième type, celles des données : les signaux D1 â D4. Le dispositif de l'invention comporte un circuit 8 pour valider le fonctionnement du système en fonction d'un signal délivré par le circuit de décision 7 en réponse aux signaux d'adresse que celui-ci a reçus.
D'une manière préférée, comme on l'a vu précédemment, l'accès aux informations stockées â des adresses de différents types de zone est commandé par des signaux d'orientation. Ici le signal d'orientation qui a été décrit est le signal de lecture d'instructions LI. Dans l'invention on utilise alors de préférence un registre-tampon 9 pour recevoir, en fonction de l'état du signal d'orientation, des signaux d'adresse relatifs aux informations stockées dans les zones du premier type, dans les zones d'instruction. Pendant le cycle 3, le registre tampon reçoit des signaux d'adresse II à 14. Il les garde Jusqu'à ce qu'il reçoive un ordre de remise à zéro. L'existence de ce registre-tampon permet de n'utiliser qu'un seul décodeur 10 pour décoder toutes les adresses des informations è extraire à des périodes différentes pendant la séquence : pendant le cycle 3 ou le cycle 4. Lorsque le cycle 4 s'exécute, le registre 9 délivre en sortie les signaux d'adresse II à 14 tandis que le décodeur 10 fournit des signaux d'adresse D1 à D4. Au temps de cycle suivant, qui peut être équivalent à un cycle de l'horloge intrinsèque du microprocesseur, le circuit de validation 8 peut délivrer un signal d'erreur ERR avant la fin de l'exécution par le microprocesseur de l'instruction qu'on lui a donnée â exécuter.
Dans un exemple simple de réalisation on considérera que la mémoire est répartie en quatre zones : des zones 1T, 1T', 2T et 2T', On peut alors utiliser pour des adresses codées sur un certain nombre de bits, par exemple sur seize bits, les deux bits de poids fort A14 et A15 pour déterminer â quelles zones de la mémoire on a affaire. Par exemple, pour le couple A15-A14 valant 0-0 on peut avoir affaire a la zone 1T. pour 0-1 â la zone 1T', pour 1-0 â la zone 2T, et pour 1 -1 â la zone 2T' . Le décodeur 10 qui reçoit les signaux d'adresse peut transformer ces bits d'adresse, selon la zone concernée, en des signaux Z1 , Z2, Z3 et Z4. Selon le cycle pendant lequel ces signaux sont élaborés on peut admettre qu'ils représentent les signaux d'adresse I1 â I4 des instructions ou les signaux d'adresse D1 â D4 des données. Le décodeur 10 est de type classique : il comporte notamment pour chaque entrée des bits d'adresse pris en compte, un inverseur 11 ou 12, et un jeu de quatre portes ET
13 â 16' pour produire les signaux Z1 à Z4 à partir du couple des bits d'adresse A14-A15. Le registre-tampon 9 comporte quatre bascules B1 â B4 recevant respectivement les signaux Z1 â Z4 d'une part, et un signal de blocage et de remise à zéro d'autre part. Les signaux de blocage et de remise à zéro sont délivrés par un circuit 17 dit d'introduction. Le circuit 17 permet l'introduction dans le circuit 7, pendant le déroulement du cycle 4, des signaux d'adresse II â
14 qui ont été appliqués pendant le cycle 3 sur les ba-scules B1 â B4 du registre-tampon 9. Les sorties des bascules B1 â B4 sont reliées â quatre connexions respectivement 33 â 36.
Dans une première variante le fonctionnement de ce circuit est le suivant : les adresses A14-A15 sont décodées et produisent les signaux Z1 à 24. A chaque cycle un seul de ces signaux Z1 à Z4 est à un niveau un, les trais autres sont â zéro. Par exemple si l'adresse décodée correspond â la zone 1T alors 21 sera â un. Pendant le cycle 4 les signaux de données D1 à D4 sont transmis au circuit de décision 7 par un circuit d'adaptation 18.
Le circuit d'adaptation 18 est présenté ici à titre indicatif. I1 pourrait avoir une toute autre allure, ou bien même être absent dans une autre réalisation du dispositif de L'invention. Dans l'exemple, le circuit de validation 8 comporte une résistance 19 reliée à l'alimentation générale du système électronique s microprocesseur d'une part, et au circuit d'adaptation 18 d'autre part. Cette résistance peut être réalisée dans des technologies diverses elle peut être une résistance diffusée, être une résistance en pαlysilicium, ou encore un transistor monté en résistance à la limite de la conduction. A l'endroit où la résistance 19 est reliée au circuit 18, un inverseur 20 prélève une tension disponible et délivre en sortie le signal de validation ERR recherché. Le circuit d'adaptation 18 comporte un jeu de quatre transistors 21 à 24 reliés d'une part en commun à la résistance 19 et d'autre part, par quatre connexions 29 à 32, â chacune des entrées d'adresse du circuit de décision 7. Les transistors 21 â 24 reçoivent respectivement sur leur grille de commande les signaux Z1 â Z4 décodés par le décodeur 10. Un jeu de quatre portes ET 25 à 28 permet de transmettre ces adresses au circuit de décision 7 lorsqu'un signal PHI de sychronisat ion de la lecture de données l'autorise.
Dans un example le circuit de décision comporte, â l'intersection des connexions 29 à 32 et 33 â 36, des transistors T1 à T16 connectés de la manière suivante. Les drains de ces transistors sont connectés aux connexions respectivement 29 â 32, les grilles de ces transistors sont connectées aux connexions 33 à 36. A certaines intersections, les transistors n'ont pas été réalisés : ils apparaissent entre parenthèses sur la figure 3 : il s'agit par exemple des transistors T1 , T6, P7, T11, T15 et T16.
Le fonctionnement du dispositif de l'invention est le suivant. Lorsque PHI vaut zéro, les transistors 21 à 24 sont bloqués, aucun courant ne passe dans la résistance 19, la sortie ERR vaut un. Durant le premier cycle 3 lorsque le signal de lecture d'instructions LI et le signal d'horloge PHI valent un tous les deux, les bascules B1 à B4 sont ouvertes. Un des signaux Z1 â 24 traverse ces bascules et se positionne à un en un signal II à 14 selon la zone de la mémoire, au décodage de laquelle il a correspondu. Ceci correspond â la zone d'instruction qui doit être exécutée. Lorsque le signal PHI revient à zéro, les bascules se bloquent et I1 à 14 gardent leur valeur Jusqu'à un prochain cycle où LI et PHI valent â nouveau un. Pendant le deuxième cycle 4, lorsque PHI redevient égal â un, avec LI â zéro, les signaux d'adresse Z1 â 24 sont transformés en signaux d'adresse correspondants D1 â D4.
En fait un seul de ces signaux Z1 â Z4 vaut un, de sorte qu'un seul des transistors 21 â 24 devient conducteur. SLjpposons par exemple que le transistor 23 devienne conducteur parce que le signal 23 valait un : la donnée à prélever se situait dans la zone mémoire 2T . Si la zone 1T avait été décodée comme zone d'origine de l'instruction pendant le cycle 3, le transistor T3 deviendrait conducteur pendant le cycle 4 et du courant électrique passerait au travers de la résistance 19, du transistor 23 et du transistor T3. Dans ces conditions la tension à l'entrée de l'inverseur 20 chuterait et le signal ERR monterait à un, indiquant une erreur. Cette erreur peut être exploitée pour interdire le fonctionnement du système. Par contre si la zone 1T' avait été décodée comme zone d'origine de l'instruction pendant le cycle 3 précédent, l'absence du transistor T7 n'aurait pas permis le passage de ce courant à travers la résistance 19 ; le signal ERR serait resté à zéro, le fonctionnement du système aurait été autorisé. En définitive les transistors T1 â T16 indiquent par leur présence ou leur absence une interdiction d'un accès â une zone concernée de la .mémoire en combinaison avec Lin accès â une autre zona concernée de la mémoire. La classification en zones de premier type et en zones de deuxième type de la mémoire est donc essentiellement liée â la nature d'instructions , de données , ou même d'adresse que ces zones sont susceptibles de contenir. Elles peuvent bien entendu se situer gëographiquement à des endroits mêlés dans la mémoire.
Le codage est réalisé dans l'exemple décrit par la présence physique d'un transistor. La réalisation du circuit 7 de décision peut donc être obtenue par masquage : au moment de la fabrication du circuit intégré , on utilise un jeu de masques tel qu'à l'endroit de ce circuit les transistors nécessaires soient mis en place. Pour certaines applications néanmoins ces transistors peuvent être remplacés par des cellules mémoire de type EPROM ou EEPROM qui ont le mérite d'être programmables et non volatiles. Le circuit de décision 7 est ainsi une mémoire morte programmée. Cette disposition peut être nécessaire lorsque les circuits intégrés fabriqués doivent pouvoir être préalablement vérifiés et/ou programmés. Il peut alors s'avérer nécessaire d'avoir, pour l'opération de vérification et pour des programmations exécutées par le fabricant, d'accéder à des zones mémoire qui ultérieurement seront "interdites. Dans ce cas on peut décider de réaliser des transistors programmables à tous les points d'intersection de la matrice de décision. Les, transistors programmables sont par exemple des transistors à grille flottante intermédiaire de type EPROM ou EEPROM, ou bien des cellules de mémoire à accès aléatoire chargées à l'initialisation du système. Lorsque les opérations préliminaires ont été effectuées sur le circuit, on peut en dernier ressort programmer le circuit de décision dont l'effet peut être d'interdire d'une manière irrévocable l'exécution de certaines instructions, y compris la programmation ultérieure de certaines zones particulières de la mémoire et surtout y compris sa propre programmation. Ce dispositif décrit simplement peut bien entendu être étendu â un nombre de zones plus élevé dont les tailles seraient égales ou non.
On a vu qu'on pouvait avec le signal LI interdire l'exécution de certaines instructions qui nécessitent de lire le contenu des mémoires. On a vu qu'on pouvait aussi désirer interdire l'écriture de certaines zones mémoire. Ceci peut être obtenu en utilisant un signal SU correspondant selon son niveau à l'écriture ou à la lecture des zones mémoire. On peut par exemple introduire ce signal SU en commun avec le signal d'horlαge PHI dans une porte ET 37 pour valider selon les cas la transmission des informations d'adresse au circuit de décision en permettant ainsi d'obtenir un circuit de décision différent selon que l'instruction lit au écrit une donnée.

Claims

REUENDICATIONS
1 - dispositif de protection des zones mémoire (1T, 2T) d'un système (1, 2) électronique à microprocesseur, les zones mémoire étant partagées entre des zones d'un premier type (1T) et des zones d'un deuxième type (2T) , caractérisé en ce qu'il comporte :
- un circuit (7) de décision recevant des signaux d'adresse relatifs à des informations stockées dans les zones du premier (I1 - I4) et du deuxième (D1 - D4) type,
- un circuit (B) pour valider la fonctionnement du système en fonction d'un signal délivré par le circuit de décision en réponse aux signaux d'adresse qu'il reçoit. 2 - Dispositif selon la revendication 1 caractérisé en ce qu'il comporte :
- des moyens (figure 2) pour que l'accès à des informations stockées à des adresses dans ces différents types de zone soit commandé par des signaux d'orientation (LI),
- un registre-tampon (9) pour recevoir en fonction du signal d'orientation des signaux d'adresse relatifs â des informations stockées dans les zones du premier type, - et un circuit (17) pour introduire, dans le circuit de décision, et par l'intermédiaire du registre-tampon, les signaux d'adresse relatifs aux informations stockées dans les zones du premier type. 3 - Dispositif selon l'une quelconque des revendications 1 ou 2 caractérisé en ce que les zones du premier type correspondent â des zones où sont stockées des instructions, les zones du deuxième type correspondent à des zones où sont stockées des données, ou vice versa.
4 - Dispositif selon L'une quelconque des revendications 1 à 3 caractérisé en ce qu'il comporte des moyens pour programmer (T1 - T 16) le circuit de décision.
5 - Dispositif selon la revendication 4 caractérisé en ce qu'il comporte des moyens pour programmer (EPROM, EEPROM) le circuit de décision après des opérations de vérification et/ou de programmation du système. 6 - Dispositif selon la revendication 5 caractérisé en ce qu'il comporte des moyens (7) pour interdire la programmation du circuit de décision après que ce circuit ait été programmé.
7 - Dispositif selon l'une quelconque des revendications 1 â 6 caractérisé en ce qu'il comporte des moyens (SU, 37) pour empêcher l'exécution d'instructions de lecture ou d'écriture.
PCT/FR1988/000474 1987-10-02 1988-09-27 Dispositif de protection des zones memoire d'un systeme electronique a microprocesseur Ceased WO1989003081A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP88908257A EP0393050B1 (fr) 1987-10-02 1988-09-27 Dispositif de protection des zones memoire d'un systeme electronique a microprocesseur
DE3853482T DE3853482T2 (de) 1987-10-02 1988-09-27 Einrichtung zum schützen von speicherzonen eines elektronischen systems mit mikroprozessor.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR8713936A FR2621409A1 (fr) 1987-10-02 1987-10-02 Dispositif de protection des zones memoires d'un systeme electronique a microprocesseur
FR87/13936 1987-10-02

Publications (1)

Publication Number Publication Date
WO1989003081A1 true WO1989003081A1 (fr) 1989-04-06

Family

ID=9355647

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR1988/000474 Ceased WO1989003081A1 (fr) 1987-10-02 1988-09-27 Dispositif de protection des zones memoire d'un systeme electronique a microprocesseur

Country Status (5)

Country Link
EP (1) EP0393050B1 (fr)
JP (1) JP3025842B2 (fr)
DE (1) DE3853482T2 (fr)
FR (1) FR2621409A1 (fr)
WO (1) WO1989003081A1 (fr)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2635598A1 (fr) * 1988-08-19 1990-02-23 Toshiba Kk Appareil et procede de transmission de donnees pour support d'emmagasinage de donnees portatif
US5101121A (en) * 1990-01-09 1992-03-31 Sgs Thomson Microelectronics S.A. Security locks for integrated circuit
US5258947A (en) * 1989-12-07 1993-11-02 Sgs-Thomson Microelectronics, S.A. MOS fuse with programmable tunnel oxide breakdown
FR2694120A1 (fr) * 1992-07-24 1994-01-28 Sgs Thomson Microelectronics Circuit de gestion de mots mémoires.
US5666077A (en) * 1993-06-11 1997-09-09 Sgs-Thomson Microelectronics S.A. Method and apparatus for detecting an operating voltage level in an integrated circuit
EP0661642A3 (fr) * 1993-12-28 1998-04-15 Kabushiki Kaisha Toshiba Microordinateur avec protection de lecture de mémoire

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2683357A1 (fr) * 1991-10-30 1993-05-07 Philips Composants Microcircuit pour carte a puce a memoire programmable protegee.
FR2728363A1 (fr) 1994-12-20 1996-06-21 Sgs Thomson Microelectronics Dispositif de protection de l'acces a des mots memoires
EP2243079A2 (fr) * 2007-12-13 2010-10-27 Thomson Licensing Cartouche logicielle interdite à la copie

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US4665506A (en) * 1983-01-03 1987-05-12 Texas Instruments Incorporated Memory system with write protection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US4665506A (en) * 1983-01-03 1987-05-12 Texas Instruments Incorporated Memory system with write protection

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2635598A1 (fr) * 1988-08-19 1990-02-23 Toshiba Kk Appareil et procede de transmission de donnees pour support d'emmagasinage de donnees portatif
US5258947A (en) * 1989-12-07 1993-11-02 Sgs-Thomson Microelectronics, S.A. MOS fuse with programmable tunnel oxide breakdown
US5101121A (en) * 1990-01-09 1992-03-31 Sgs Thomson Microelectronics S.A. Security locks for integrated circuit
FR2694120A1 (fr) * 1992-07-24 1994-01-28 Sgs Thomson Microelectronics Circuit de gestion de mots mémoires.
EP0585149A1 (fr) * 1992-07-24 1994-03-02 STMicroelectronics S.A. Circuit de gestion de mots mémoires
US5384749A (en) * 1992-07-24 1995-01-24 Sgs-Thomson Microelectronics S.A. Circuit for the management of memory words
US5666077A (en) * 1993-06-11 1997-09-09 Sgs-Thomson Microelectronics S.A. Method and apparatus for detecting an operating voltage level in an integrated circuit
EP0661642A3 (fr) * 1993-12-28 1998-04-15 Kabushiki Kaisha Toshiba Microordinateur avec protection de lecture de mémoire

Also Published As

Publication number Publication date
FR2621409A1 (fr) 1989-04-07
DE3853482D1 (de) 1995-05-04
JP3025842B2 (ja) 2000-03-27
EP0393050A1 (fr) 1990-10-24
EP0393050B1 (fr) 1995-03-29
FR2621409B1 (fr) 1994-04-22
DE3853482T2 (de) 1995-11-09
JPH02502949A (ja) 1990-09-13

Similar Documents

Publication Publication Date Title
EP0552079B2 (fr) Carte à mémoire de masse pour microordinateur
EP1062633B1 (fr) Dispositifs pour masquer les operations effectuees dans une carte a microprocesseur
EP0552077B1 (fr) Carte à mémoire de masse pour microordinateur avec facilités d'exécution de programmes internes
EP0651394B1 (fr) Circuit intégré contenant une mémoire protégée et système sécurisé utilisant ledit circuit intégré
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é
EP0733245A1 (fr) Carte a memoire et procede de fonctionnement
JPS6325393B2 (fr)
FR2666671A1 (fr) Procede de gestion d'un programme d'application charge dans un support a microcircuit.
FR2647924A1 (fr) Procede pour verifier l'integrite d'un logiciel ou de donnees, et systeme pour la mise en oeuvre de ce procede
EP0393050B1 (fr) Dispositif de protection des zones memoire d'un systeme electronique a microprocesseur
EP0735489B1 (fr) Procédé de protection de zones de mémoires non volatiles
FR2979442A1 (fr) Microprocesseur protege contre le vidage de memoire
EP1108249B1 (fr) Procede de securisation du traitement d'une information sensible dans un module de securite monolithique, et module de securite associe
FR2801751A1 (fr) Composant electronique de securite
EP0572515A1 (fr) Procede de protection d'un circuit integre contre les utilisations frauduleuses
EP0884704B1 (fr) Procédé d'authentification de circuit intégré
EP0718769A1 (fr) Dispositif de protection de l'accès à des mots mémoires
FR2605785A1 (fr) Dispositif a circuits integres a semiconducteurs comportant un microprocesseur et une memoire rom programmable
EP1020800B1 (fr) Microprocesseur avec circuits de protection pour sécuriser l'accès à ses registres
EP0957461B1 (fr) Procédé de personnalisation d'une carte à puce
FR2834366A1 (fr) Carte a puce autoverrouillable, dispositif de securisation d'une telle carte et procedes associes
EP0081873A1 (fr) Système de traitement de données permettant d'utiliser la même mémoire effaçable et programmable, pour les instructions et les données tant en lecture qu'en écriture
EP1202181A1 (fr) Contrôle d'accès à une mémoire intégrée avec un microprocesseur
EP1129430B2 (fr) Procede et dispositif de controle du cycle de vie d'un objet portatif, notamment d'une carte a puce
FR2661532A1 (fr) Memoire a acces protege mot par mot.

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE FR GB IT LU NL SE

WWE Wipo information: entry into national phase

Ref document number: 1988908257

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1988908257

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1988908257

Country of ref document: EP