DE69508207T2 - Speicherwörterzugangsschutzvorrichtung - Google Patents

Speicherwörterzugangsschutzvorrichtung

Info

Publication number
DE69508207T2
DE69508207T2 DE69508207T DE69508207T DE69508207T2 DE 69508207 T2 DE69508207 T2 DE 69508207T2 DE 69508207 T DE69508207 T DE 69508207T DE 69508207 T DE69508207 T DE 69508207T DE 69508207 T2 DE69508207 T2 DE 69508207T2
Authority
DE
Germany
Prior art keywords
word
memory
words
bits
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69508207T
Other languages
English (en)
Other versions
DE69508207D1 (de
Inventor
Mathieu Lisart
Laurent Sourgen
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
Original Assignee
STMicroelectronics SA
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 STMicroelectronics SA filed Critical STMicroelectronics SA
Publication of DE69508207D1 publication Critical patent/DE69508207D1/de
Application granted granted Critical
Publication of DE69508207T2 publication Critical patent/DE69508207T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Description

  • Die Erfindung betrifft eine Vorrichtung zum Schutz vor Zugriffen auf Speicherwörter eines Mikroprozessorsystems, insbesondere eines integrierten Schaltkreises mit Mikroprozessor. Die Erfindung betrifft vor allem den Bereich der IC-Karten - Chipkarten genannt -, die bei Banken, im Kommunikationsbereich sowie zunehmend auch in vielen anderen Bereichen zum Einsatz kommen.
  • Die Mikroprozessorsysteme auf ICs durchlaufen mehrere Herstellungsschritte. Während eines ersten Herstellungsschritts speichert der IC-Hersteller in Programmspeichern des ICs ein Betriebssystem. Damit sind einige Operationen ausführbar (im wesentlichen das Schreiben, Lesen oder Löschen von Speicherbereichen) sowie bestimmte andere Operationen einschränkbar (insbesondere bei Bankkarten, bei denen von vornherein bekannt ist, daß bestimmte Anwendungen verweigert werden sollen). Nach ihrer Herstellung werden die ICs an Anbieter geliefert. Diese installieren sie bei ihren Abnehmern - im Fall von Banken bei den Kunden - nachdem sie einen Programmspeicher programmiert haben. Vorzugsweise befindet sich der IC auf einer Karte. Das Programm in diesem Programmspeicher ermöglicht nach Aufruf von entsprechenden Befehlen eine bestimmte Kartenanwendung, wie beispielsweise das Abheben von Banknoten an einem Geldautomaten. Andere Dienste können in der automatischen Kreditgewährung für bestimmte privilegierte Karteninhaber oder in der Verwendung der Karte als elektronische Geldbörse bestehen.
  • Die Vielfalt dieser Dienste und ihre schrittweise Einführung erfordern eine strenge Verwaltung der mit der Karte möglichen Anwendungen. Die schrittweise Einführung bezieht sich darauf, daß der Anbieter - die Bank - sich dazu ent schließt, einem zuverlässigen Kunden eine neue Befugnis einzuräumen, die darin besteht, einen neuen Dienst in Anspruch zu nehmen. Die schrittweise Einführung kann auch die Koexistenz von verschiedenen Anwendungen auf ein- und derselben Chipkarte betreffen. Denn es ist bekannt, daß die Verwendung einer Karte für eine einzige Art von Dienst (Bank) kostspielig und darüber hinaus unpraktisch ist; statt dessen sollte eine Karte mehrere Anwendungen ermöglichen, z. B. das Speichern der medizinischen Unterlagen des Karteninhabers, damit diese verfügbar sind, sollte er ins Krankenhaus kommen.
  • Aus der Koexistenz verschiedener Dienste ergeben sich zusätzliche Risiken. Es ist wichtig zu verhindern, daß durch ein späteres Ereignis, durch das eine neue Anwendung ausgeführt wird, unberechtigte Änderungen alter Anwendungen oder gar das Lesen eines eine andere Anwendung regelnden Operationscodes erfolgen. Beispielsweise müssen bestimmte Informationen im Speicher der Karte unbedingt geschützt werden. Zu diesen Informationen gehört selbstverständlich der Geheimcode der Karte, der nicht oder nur unter bestimmten, genau festgelegten Bedingungen verändert werden darf. Darunter fallen auch die Angaben zur Kartenidentifikation: Seriennummer und Zugehörigkeitsklasse zu einem Chiffriersystem. Aber die Informationen, die nicht verändert, gestört oder gelesen werden dürfen, können auch die Programmspeicher betreffen, insbesondere solche, die das Betriebssystem der Karte enthalten. Während bestimmte Informationen im Speicher der Karte von Anfang an zu schützen sind, werden andere erst später bei Verwendung der Karte für eine andere Anwendung, und andere wiederum nur teilweise schützenswert: Die Veränderung dieser Informationen ist von gewissen restriktiven Bedingungen abhängig.
  • Zur Lösung der mit dieser Entwicklung verbundenen Sicherheitsprobleme ist es bekannt, jedem zu schützenden Speicherwort in Abhängigkeit von seinen Möglichkeiten, gelesen, beschrieben oder gelöscht zu werden, einen Sicherheitscode zuzuweisen. Im Augenblick des Zugriffs auf ein solches Speicherwort wird gleichzeitig dessen Sicherheitscode gelesen. Abhängig von diesem Code wird die betreffende Handlung zugelassen oder nicht. Diese Lösung hat folgende Nachteile:
  • Zum einen ist sie nicht flexibel. Denn es kann sein, daß eine bestimmte Handlung wie das Lesen unter bestimmten Bedingungen erlaubt werden soll und in anderen nicht. Wenn nur die Möglichkeit besteht, das Lesen entweder zu erlauben oder zu verweigern, läßt sich der Code nicht zu diesem Zweck nutzen. Zum anderen ist es unter dem Gesichtspunkt der Speicherbelegung nachteilig, jedem Speicherwort ein Prüfwort zuzuweisen. Das Prüfwort umfaßt mindestens 1 Byte, also 8 Bit. Die Speicherkapazität wird proportional verringert. Und schließlich hat dieses System vor allem den Nachteil, daß es von einer Software ausgeführt wird.
  • Der Mikroprozessor erhält die Bits des Prüfworts und muß sie im Normalfall berücksichtigen, um die Handlung zuzulassen oder zu verweigern. Diese Funktionsweise hängt jedoch sehr stark davon ab, wie zuverlässig die Prüfwörter berücksichtigt werden. Wenn sie irrtümlich oder durch Betrug nicht berücksichtigt werden, büßt das System seine gesamte Sicherheit ein.
  • Zur Lösung dieser Probleme hat der Anwender am 2. Oktober 1987 die französische Patentanmeldung Nr. 87 13936 mit der Veröffentlichungsnummer 2 621 409 eingereicht (Thomson Semiconductors), die eine andere Funktionsweise empfiehlt. Bei der Erhöhung der Flexibilität wurde festgestellt, daß die Verwendbarkeit oder Nicht-Verwendbarkeit bestimmter Speicherwörter mit der Verarbeitungsanweisung verknüpft ist, die auf dieses Wort angewendet werden soll. Beispielsweise müssen das Lesen des Geheimcodes der Karte und dessen Übertragung unter der einen oder anderen Form an ein Register des Mikroprozessors erlaubt werden. Zum Vergleich eines vom Anwender über die Tastatur eingegebenen Geheimcodes mit dem Geheimcode der Karte muß letzterer verfügbar sein. Dagegen müssen auf dem Bildschirm eines Terminals das Lesen und das Editieren dieses Geheimcodes verboten sein. Somit ist das Lesen des Codes in bestimmten Fällen (für den Vergleich) erlaubt und in anderen (für das Editieren) nicht.
  • Das in der genannten Anmeldung beschriebene System macht sich die Tatsache zunutze, daß ein Mikroprozessor im wesentlichen so funktioniert, daß er einen Befehl (Befehlscode) auf Daten anwendet. Es wird eine Matrix oder Entscheidungstabelle vorgeschlagen, die am ersten Eingang eine Befehlsadresse oder Befehlcodeadresse erhält und am zweiten Eingang eine Adresse eines Datums, das durch diesen Befehl verarbeitet werden soll. Unter Berücksichtigung der Tatsache, daß nicht alle Adressen gleichzeitig ausgegeben werden können, mußte außerdem die Adresse des Befehls (oder des Datums), genauer gesagt des Operationscodes des Befehls (oder des Operanden des Datums), temporär gespeichert werden, um sie zu gegebener Zeit der Entscheidungstabelle vorzulegen. Dabei gibt die Tabelle, die am Eingang zwei Adreßsignale erhält, ein Signal der Erlaubnis oder der Verweigerung der Ausführung des Befehls an das Datum ab. Das Besondere an der Entscheidungstabelle dieser Patentanmeldung ist, daß sie als Schaltung ausgeführt ist, insbesondere als nicht veränderbare Schaltung, zumindest nach den ersten Herstellungsschritten. Dadurch sind die drei vorher erwähnten Probleme gelöst.
  • Diese Lösung ist zwar sehr effektiv, jedoch in der Anwendung nocht nicht flexibel genug. Die starre Entscheidungstabelle (insbesondere wegen der Maske) birgt zugleich ihre Sicherheit und die Unmöglichkeit der Veränderung in sich. In der vorliegenden Erfindung wird die Flexibilität verbessert, und zwar unter Beibehaltung der guten Sicherheit. Diese ergibt sich daraus, daß die Tabelle als verkabelte, bei der Herstellung programmierbare Schaltung verwirklicht ist, deren Funktionsweise besonders sicher ist, da sie nicht mehr veränderbar ist.
  • Erfindungsgemäß wurde die Adressierung der Tabelle mit Adressen um eine Adressierung mit in den Prüfwörtern enthaltenen Informationen ergänzt, wobei die Prüfwörter zu schützenden Wörtern zugeordnet sind. Diese parametrisieren die verwendete Tabelle. Ein in der Tabelle ausgewählter Term (und damit das Signal, das er erzeugt) ist einerseits von der Adresse (oder den Adressen) des Befehls und/oder des zu schützenden Wortes und andererseits von Prüfbits abhängig, die in einem Prüfwort enthalten sind, das dem zu schützenden Wort zugewiesen wurde. Je nach dem Wert dieser Bits kann aus mehreren Untertabellen eine ausgesucht werden, wodurch mehrere mögliche Schutzabläufe definiert werden. Vorzugsweise werden die Schutzabläufe in einer Rangordnung organisiert. Der Ausgangsablauf entspricht dem weitesten Prüfwort, das mehr Operationen auf den verschiedenen Wörtern erlaubt als ein späterer Ablauf. Das Prüfwort umfaßt folglich vorzugsweise Mittel, die die Möglichkeiten des Prüfworts einzig in einer immer weiter einschränkenden Weise verändern können. Die gewünschte Flexibilität wird also dadurch gewonnen, daß neuen, im System erzeugten Daten Prüfwörter zugeordnet werden. Mit den alten Prüfwörtern wird so verfahren, daß sie nur noch einschränkbar sind.
  • Die Druckschrift EP-A-2 661 532 (SGS-Thomson) beschreibt ein System, in dem Prüfbits auf zu schützende Wörter angewendet werden, um aus mehreren möglichen Schutzabläufen zu wählen. Diese Abläufe sind jedoch für Systeme mit Zugriffscodefreigabe und nicht mit Entscheidungstabellen, die von Speicheradressen adressiert werden, vorgesehen.
  • Gegenstand der Erfindung ist also eine Vorrichtung zum Schutz vor Zugriffen auf Speicherwörter einer integrierten Schaltung eines Mikroprozessors, die folgendes umfaßt:
  • - einen Mikroprozessor,
  • - eine diese Wörter enthaltende Speichereinheit,
  • - einen Daten-, Adressen- und Befehlsübertragungsbus zwischen dem Mikroprozessor und den Speichern,
  • - eine Schaltung zum Schutz vor Zugriffen auf diese Speicherwörter mit einer Entscheidungstabelle, Schaltungen zum Adressieren dieser Tabelle mit Adressen der Speicherwörter und einer Zugangsschaltung zur Erzeugung eines Schutzsignals in Abhängigkeit vom Lesen der Tabelle,
  • gekennzeichnet durch
  • - einen Satz an Prüfbits, die bestimmten, zu schützenden Wörtern zugewiesen sind,
  • - eine Schaltung zum Lesen dieser Prüfbits im Moment des Lesens dieser Wörter und
  • - eine Schaltung zum Adressieren der Entscheidungstabelle in Abhängigkeit von den Adressen von Speicherwörtern und in Abhängigkeit des Wertes der gelesenen Bits, die die Wahl verschiedener Schutzmodi in der Tabelle ermöglichen.
  • Die Erfindung wird durch die nachfolgende Beschreibung anhand der beigefügten Zeichnung besser verständlich. Diese dient lediglich als Beispiel und schränkt die Erfindung in keiner Weise ein. Es zeigen:
  • Fig. 1 eine erfindungsgemäße Schutzvorrichtung;
  • Fig. 2a bis 2c eine schematische Darstellung der verschiedenen Arten von möglichen, erfindungsgemäßen Abläufen;
  • Fig. 3 eine bevorzugte Darstellung eines Prüfworts in Bit-Schreibweise;
  • Fig. 4a bis 4c detaillierte Darstellungen von Beispielen verwendbarer Abläufe;
  • Fig. 5a bis 5c zweckmäßige Ausführungsformen der erfindungsgemäßen Entscheidungstabelle.
  • Fig. 1 zeigt eine Vorrichtung zum Schutz vor Zugriffen auf Speicherwörter einer integrierten Schaltung eines Mikroprozessors. Der IC umfaßt vorzugsweise alle in Fig. 1 dargestellten Elemente. Dieser IC umfaßt im wesentlichen einen Mikroprozessor 1 und Speicher 2 bis 9. Speicher 2 und Speicher 3 sind beispielsweise nur-lesbare Speicher mit zufallsbedingtem Zugriff. Sie speichern beispielsweise jeweils die Befehle des Betriebssystems des Mikroprozessors und Befehle einer Hauptanwendung, etwa einer Bankanwendung. Sie sind im Prinzip nicht flüchtig. Sie können zu Beginn durch eine Maske oder durch einen einmalig anwendbaren speziellen Vorgang programmiert werden.
  • Die Speicher 4 und 5 sind flüchtige, schnelle Speicher, die insbesondere zum temporären Ablegen von Befehlen oder Daten dienen. Sie sind die Arbeitsspeicher des Mikroprozessors und mit zufallsbedingtem Zugriff. Der Speicher 4 kann Systembefehle aufnehmen, während der Speicher 5 Befehle oder Daten der Anwendung aufnehmen kann. Die Speicher 6 bis 8 sind nicht-flüchtige Speicher mit zufallsbedingtem Zugriff, die elektrisch schreib- und löschbar sind. Der Speicher 9 des gleichen Typs ist beispielsweise nicht löschbar. Im Ausführungsbeispiel sind die Speicher 6 bis 9 in der klassischen EEPROM- oder EEPROM-Flash- Technologie ausgeführt, d. h. die Speicherzellen weisen einen Transistor mit offenem Gitter auf. Sie können indessen als einmal beschreibbarer Speicher vom EPROM-Typ ausgeführt sein.
  • In einem Beispiel enthalten die Speicher 6 bis 8 Befehlssätze für verschiedene Anwendungen: Geldautomaten, automatische Kreditgewährungen oder Berechnung der Einheiten in einer elektronischen Geldbörse. Der Speicher 9 kann für Daten verwendet werden. Zweckmäßig können die Speicher 6 bis 9 unterschiedliche Technologien, Topographien und Größen aufweisen. Indes können sie auch auf der gleichen Speicherebene angeordnet und durch eine Teilung voneinander getrennt sein, insbesondere aber nicht allein durch eine Teilung der Adressierung. Beispielsweise geben zwei Bits des Prüfworts dieses Speichers - jedoch nicht zwingend - aufgrund ihres Wertes von 0 bis 3 Auskunft über die Speicherbereiche E2D und E2A bis E2C, zu den sie gehören. In diesem Fall ist die Größe eben dieser Speicherbereiche durch eine Anzahl von Wortzeilen bestimmt, denen die gleichen Prüfbits zugewiesen sind. Ferner liegen die Wortzeilen eines Bereichs nicht notwendigerweise nebeneinander. Innerhalb der Bereiche E2A bis E2D gibt es Untergruppen, in denen alle Prüfbytes der Untergruppe gemeinsam einen gleichen Verwaltungsmodus von Speicherwörtern der Untergruppe definieren, was ihren Lese-, Schreib- und Löschzugriff anbelangt.
  • Jeder der oben beschriebenen Speicher umfaßt, wie nur für den Speicher 6 E2A dargestellt, einen Signaladressen empfangenden Zugriffsdekoder 10 und Lese-, Schreib- und Löschschaltungen 11. Die Speicherzellen 12 des Speichers sind im Schnittpunkt der Bitspalten 13 und der Wortzeilen 14 angeordnet, die mit dem Dekoder und der Schaltung 11 verbunden sind.
  • Die erfindungsgemäße Vorrichtung umfaßt außerdem einen Bus 15 zur Übertragung von Daten-, Adressen- und Befehlen zwischen dem Mikroprozessor 1 und seinen Speichern 2 bis 9. Der Übertragungsbus kann auch an einer E/A-Peripherie 16 angeschlossen sein, die durch den Mikroprozessor 1 oder einen externen Mikroprozessor gesteuert wird.
  • Entsprechend der oben erwähnten französischen Patentanmeldung umfaßt die Schaltung zum Schutz vor Zugriffen auf Speicherwörter 17 des ICs eine Entscheidungstabelle 18 sowie Adressierungsschaltungen 19 zum Adressieren dieser Tabelle mit Adressen dieser Speicherwörter. Diese Adressen werden über den Adressenbus 151 zur Tabelle 18 übertragen. In Abhängigkeit der durchgeführten Adressierung erzeugt die Entscheidungstabelle 18 Signale, die in einer Schutzschaltung 20 zur Erzeugung eines Schutzsignals zusammengefaßt werden.
  • Erfindungsgemäß werden bestimmte zu schützende Wörter, beispielsweise das Wort 17 im Speicher 6, einem Satz 21 von Prüfbits zugewiesen. Eine Leseschaltung 22 erlaubt das Lesen dieser Prüfbits beim Zugriff (kurz davor, kurz danach oder üblicherweise währenddessen) auf das Wort 17. Die Leseschaltung liefert Lesesignale an eine Adressierungsschaltung 23 zum Adressieren der Entscheidungstabelle 18 in Abhängigkeit des Wertes der gelesenen Bits, wobei die Lesesignale einem Schutzmodus dieser Wörter entsprechen. Letztlich ist das durch die Entscheidungsschaltung 18 erzeugte Schutzsignal nicht nur von den Adressen der Operationscodes abhängig, sondern auch vom Schutzmodus, der durch das Prüf wort 21 dargestellt wird, das den zu schützenden Wörtern zugewiesen ist.
  • Zur Vereinfachung der Operationen wird folgender Aufbau für die Architektur der Speicher 6 bis 9 gewählt (auch bei den Speichern 2 und 3 und sogar bei den Speichern 4 und 5 möglich). Auf die zu schützenden Wörter 17 kann durch Bitspalten 13 und Wortzeilen 14 zugegriffen werden. Vorzugsweise wird ein Wort 17 durch ein Wort 21 geschützt, das sich einerseits im selben Speicher und andererseits auf derselben Wortzeile des zu schützenden Wortes befindet. Man hätte auch alle Wörter 21 in verschiedenen Speichern anordnen können. So wird jedoch von der Dekodierung der Wortzeilen profitiert, die dem zu schützenden Wort anhaften, um gleichzeitig auf das Prüfwort zuzugreifen. Die Leseschaltung 22 läßt sich auch mit der Lese-, Schreib- und Löschschaltung 11 des Hauptbereichs des Speichers kombinieren.
  • Beispielsweise gibt es in einem Speicher 16 Wörter à 8 Bit pro Wortzeile; 15 Wörter werden dazu verwendet, um zu schützende Informationen aufzunehmen, ein sechzehntes Wort nimmt die Prüfbits auf. In einem solchen Speicher gibt es am Ende jeder Bitzeile einen Lese-, Schreib- und Löschverstärker. Während des Dekodierens sind einzig die Leseverstärker der acht zum Lesen ausgewählten Zellen an den Datenbus 24 angeschlossen. Beim Schreiben oder Löschen verhält es sich genauso. Erfindungsgemäß gibt es einen zusätzlichen Datenbus 25, der die Prüfbits systematisch an die Entscheidungstabelle 18 weiterleitet. Hier hat der Bus 25 acht Drähte. Die Leseverstärker der acht Bitzeilen, die mit diesem Prüfwort verknüpft sind, werden bei jedem Zugriff in Betrieb genommen, unabhängig vom Informationswort, auf das in der gleichen Wortzeile zugegriffen wird.
  • So werden mehrere Wörter, nämlich diejenigen, die in der Wortzeile 14 angeordnet sind, einem gleichen Schutzmodus zugewiesen: dem Wort 21. Auf diese Weise ergibt sich ein guter Kompromiß zwischen der größtmöglichen Flexibilität und der kleinstmöglichen Speicherbelegung durch die Prüfwörter. Das Gruppieren der zu derselben Zeile 14 gehörigen Wörter mit einem gleichen Schutzmodus führt zusammen mit der Tatsache, daß das Prüfwort selbst auf dieser Wortzeile angeordnet ist, beispielsweise am Ende - wobei dies nicht obligatorisch ist -, zu einer besonders geschickten Lösung. Wie im folgenden zu sehen ist, kann der Speicher 6 Schaltungen 26 zum Schreiben des Prüfworts 21 unter bestimmten Bedingungen aufweisen (vorzugsweise wird dem Endanwender das Löschen nicht erlaubt).
  • In einer Variante und entsprechend der erforderlichen Komplexität oder der Beschaffenheit der Tabelle 18 kann entsprechend dem in der vorher erwähnten Patentanmeldung beschriebenen System auf diese Tabelle 18 zugegriffen werden. In diesem Fall ist die zuvor verschickte und im Dekoder 19 dekodierte Adresse des Befehlscodes in einem Satz von Flip- Flops 27 abgelegt, der am Eingang der Tabelle 18 angeschlossen ist. Zum Dekodieren der Adresse des zu schützenden Wortes ist der Adreßbus durch den Dekoder 23 an einem anderen Adresseneingang der Tabelle 18 angeschlossen. Die gestrichelte Verbindung des Busses 151 zeigt diese Möglichkeit. In diesem Fall werden die Bits des Prüfworts, die auf dem Bus 25 verfügbar sind, an einen zusätzlichen Dekoder 28 verschickt, mit dem aus der Tabelle 18 unter möglichen Untertabellen 29 bis 30 eine Untertabelle ausgewählt werden kann. Mit diesen Untertabellen werden verschiedene Schutzmodi definiert. In der Praxis können alle Untertabellen in einer einzigen Tabelle 18 integriert sein, die in diesem Fall eine größere Anzahl von Auswahleingängen aufweist.
  • Fig. 3 zeigt eine bevorzugte Ausführungsform eines erfindungsgemäßen Prüfwortes. Dieses Prüfwort umfaßt ein Byte. Zwei seiner Bits, beispielsweise die beiden ersten, die als EX1 und EX0 bezeichnet sind, können vier Zustände definieren. Wenn sie den Wert 00 aufweisen, bedeutet dies, daß die Informationen, die in den Wörtern enthalten sind, welche durch dieses Prüfwort kontrolliert werden, Datenwerte sind. Ist ihr Wert 01, 10 oder 11, bedeutet dies, daß das durch das Prüfwort kontrollierte Wort ein zu den jeweiligen Speichern 6 bis 8 gehöriger Befehl ist. Zweckmäßigerweise können diese zwei Bits ganz oder teilweise die allgemeine Adresse der Befehle in den jeweiligen Speichern 6 bis 9 darstellen. Im letztgenannten Fall können mit den Bits ferner in einem einzigen Speicher 6-9 Bereiche verschiedener Größen angelegt werden, wie oben erwähnt. Diese Größen können sich mit der Zeit ändern. Es reicht aus, die Bits EX1 und EX0 zu gegebener Zeit mit den gewünschten Werten zu versehen.
  • Zwei aufeinanderfolgende Bits, beispielsweise die Bits RD1 und RD0, können vier Leseabläufe festlegen. Zwei weitere Bits WR1 und WR0 können vier Schreibabläufe festlegen. Ein Bit ER kann schließlich zwei Löschabläufe festlegen.
  • Fig. 2a bis 2c zeigen in schematischer Weise, daß Entscheidungs-Untertabellen, die den vier Lese-, den vier Schreib- oder den zwei Löschabläufen entsprechen, Signale an ODER- Gatter 31 bis 33 senden. Diese Gatter können mit einem einzigen Signal die geplante Handlung erlauben oder nicht verweigern. Vorzugsweise erzeugt der erfindungsgemäße IC, siehe Fig. 1, drei Signale, die je nach ihrem Abschnitt der Freigabe oder den Verboten entsprechen: die Signale INIBRD, INIBWR und INIBER. Um jeden Verlust zu vermeiden, werden die Signale INIBRD, INIBWR und INIBER über direkte Verbindungen zu den Einrichtungen des ICs weitergeleitet, die die Signale kontrollieren. Sie werden nicht vom Mikroprozessor 1 verarbeitet oder interpretiert.
  • Fig. 4a bis 4c zeigen schematisch in Matrix-Form Schreib-, Lese- und Löschabläufe.
  • Fig. 4a zeigt den Schreibablauf 1. In der obersten Zeile ist als Quelle die mögliche Herkunft der Befehlscodes angegeben. In vertikaler Richtung sind als Ziel die Speicher angegeben, in denen die Daten abgelegt sind und die der Handlung unterworfen sein können, die von einer Quelle stammt (des Schreibens durch den Ablauf beeinflußt). Die Zeilen und Spalten der Matrices schneiden sich dort, wo die gewünschten Wirkungen abgebildet sind. Das Vorhandensein von Kreuzen in den Schnittpunkten bedeutet, daß die Handlung erlaubt ist. Die Abwesenheit von Kreuzen bedeutet, daß sie verweigert wird. So kann ein Lesebefehl (da es sich um einen Leseablauf handelt), der aus dem Speicher ROM1 stammt, auf den Inhalt des Speichers ROM1 selbst angewendet werden. Dies ist verständlich, damit das System funktionieren kann. Ebenso sind die Lesebefehle aus dem ROM1, Systembefehle, auf alle Speicher ROM2, RAM1, RAM2 bis E2D anwendbar.
  • Was dagegen den Speicher ROM2, 2. Spalte, betrifft, kann es sein, daß die Lesebefehle nicht auf den Inhalt des Speichers ROM1 anwendbar sind: Es ist nicht möglich, mit einer Anwendung das Betriebssystem des ICs zu lesen usw. Besonders hervorgehoben sind die aus dem Lesespeicher E2B stammenden Befehle, die unter anderem das Lesen der Speicher E2B, E2C und E2D, nicht jedoch des Speichers E2A gestatten. So sieht ein Schutzablauf aus. Gemäß dem vorher Gesagten können drei weitere Schutzabläufe festgelegt werden, die entsprechend ihrem Rang in bezug auf den vorliegenden Ablauf mehr oder weniger Möglichkeiten besitzen können.
  • Fig. 4b zeigt bezüglich des Schreibens die gleichen Elemente. Selbstverständlich können die ROM-Speicher nicht beschrieben werden. Die Bedeutung der Spalte E2A besteht darin, daß mit einem Befehl aus dem Bereich E2A zum einen der Arbeitsspeicher RAM1 oder der Hauptarbeitsspeicher RAM2 mit dem Ziel beschrieben werden kann, daß der Mikroprozessor die in diesen Hauptspeichern abgelegten Befehle in einem folgenden Zyklus abarbeitet. Es kann auch sein, daß der Speicher E2A selbst oder der Speicher E2D programmiert, also beschrieben werden soll, weil eine neue Anwendung in den Programmspeicher des IC geladen wird. Soll der Speicher E2A beschrieben werden, ist man gezwungen, aus dem Speicher die Speicherwörter zu wählen, die im zugeordneten Prüfwort die passenden Bits EX1 und EX0 und WR1 und WR0 aufweisen. Auch hier gibt es wieder vier mögliche Schreibabläufe.
  • Fig. 4c stellt einen Löschablauf dar, in dem zweckmäßig jeder Speicher 6 bis 8 nur seine eigenen Wörter löschen kann. Die Speicherwörter des Speichers E2D sind einzig mit von den Speichern ROM1, ROM2 oder RAM2 stammenden Befehlen löschbar.
  • Fig. 5a zeigt eine Ausführungsform der Entscheidungstabelle 18, insbesondere für den Teil, der den in Fig. 4a eingerahmten Bereich betrifft. Der Arbeitsablauf ist wie folgt: Die Adresse eines Befehls, der aus einem der Speicher 2 bis 9 abgerufen wurde, wird durch den Dekoder 19 auf den Satz von Flip-Flops 27 am Eingang der Schaltung 18 angelegt. Der Einfachheit halber sei angenommen, daß es eine einzige mögliche Adresse pro Ursprungsspeicher gibt. Im Dekoder 19 können genauso viele Zeilen wie Adreßbits vorgesehen sein. Der Dekoder 19 und folglich der Satz von Flip-Flops 27 erzeugen am Eingang der Tabelle 18 einen Satz von Quellsignalen, die für die Herkunft des betreffenden Befehls reprä sentativ sind. Praktisch ist nur einer der Ausgänge des Flip-Flop-Satzes 27 im aktiven Zustand in positiver Logik beispielsweise 5 V, die anderen befinden sich dagegen im Zustand 0.
  • In einem nachfolgenden, vorherigen oder zeitgleichen Zyklus wählt der Adressenbus mit Hilfe eines Dekoders 10 aus einem der Speicher 2 bis 9 ein Wort 17 aus. Der Einfachheit halber sei angenommen, daß dieses Wort von einem Lesebefehl LEC ausgelesen wird, der über den mit dem Mikroprozessor 1 verbundenen Befehlsbus empfangen wurde. Die Lesesperre besteht darin, zu verhindern, daß das gelesene Wort über den Datenbus 24 übertragen wird. Der Lesebefehl LEC wendet gleichzeitig die Leseschaltung 22 zum Lesen des Prüfwortes 21 an, das dem Speicherwort 17 zugeordnet ist. Die Leseschaltung 22 erzeugt zusammen mit dem Dekoder 23 die gelesenen Signale RD1 und RD0. Im Dekoder 23 können mit Invertern die Signale RD1 und RD0 in RD1 und NRD1 und RD0 und NRD0 umgewandelt werden. Folglich verfügt man am Eingang der Entscheidungstabelle 18, der dem Dekoder 23 entspricht, über diese vier Signale. Sie sind in Fig. 5a als Zielsignale angegeben.
  • Die in Fig. 5a dargestellte Schaltung umfaßt einen Satz von Spaltenanschlüssen, die einen Satz von Zeilenanschlüssen kreuzen. An den Schnittpunkten dieser Zeilen und Spalten sind jeweils Kreuze oder Ringe dargestellt. Die Kreuze stellen Transistoren dar, die in Fig. 5b zum einen theoretisch und zum anderen real mit Diffusionszonen in einem Substrat dargestellt sind. Der Drain 34 und die Source 35 dieser Transistoren gewährleisten mit dem Leitungskanal 36 die kontinuierliche elektrische Spaltenverbindung. Beispielsweise ist eine aufwärts verlaufende Verbindung 37 an eine Verbindung angeschlossen, die in der Spalte nach oben führt, während die andere Verbindung 38 an eine nach unten gerichtete Verbindung angeschlossen ist. Wo Ringe abgebildet sind, ist ein fester Anschluß vorhanden. Es gibt keinen Leitungskanal des Transistors; der Drain und die Source des Transistors sind vermischt. Eine Struktur, wie sie in Fig. 5c dargestellt ist, ist im Bereich dieser Ringe vorhanden. Sie wird beim Implantieren der Source- und Drainbereiche des ICs in Bereichen erhalten, wo nicht zuvor ein obenliegendes Steuergitter 39 verwirklicht wurde. Die bestehenden Gitter 39 sind mit den Zeilenanschlüssen verbunden, die über ihnen auf dem IC verlaufen. Der vertikale Anschluß 40, in Fig. 5a gezeigt, verbindet auf diese Weise einen Knoten A mit der Masse VSS. Der Anschluß geht durch einen Transistor 48 wie in Fig. 5b, der durch ein Signal betätigt wird, das vom Aufruf einer Adresse E2A kommt, sowie durch Transistoren, die die aktiven Signale NRD1 bzw. NRD0 empfangen.
  • Diese beiden aktiven Signale bedeuten, daß die Bits RD1 und RD0 Null und Null sind: Sie definieren den ersten Ablauf. Anders ausgedrückt hat das durch das Prüfwort geschützte Wort als Leseschutzmodus den ersten Ablauf ausgesucht.
  • Die Spalte 41, die unter den gleichen Bedingungen zwischen dem Knoten A und der Masse VSS angeschlossen ist, besitzt gegenüber der Speicheradresse E2B einen Transistor. Ebenso weist die Spalte 42 gegenüber der Adresse E2C einen Transistor auf. Dies bedeutet, daß die durch den Ablauf 1 schützbaren Wörter nur durch einen Befehl ausgelesen werden können, der aus den entsprechenden Speichern E2A, E2B oder E2C stammt. Der Ablauf ist jedoch vollständiger. Es werden vor allem im selben Ablauf mehrere Spaltenanschlüsse desselben Typs mit einem Transistor gegenüber der betroffenen Quelle angeschlossen. Es gibt genauso viele hinzugefügte Spaltenanschlüsse wie mögliche Quellen.
  • Die Leseschaltung 20 der Entscheidungstabelle 18 umfaßt in einem Beispiel einen p-Tansistor 43, der über Drain und Source zwischen der Versorgungsspannung VCC des ICs und dem Knoten A angeschlossen ist. Dieser Transistor 43 wird von Zeit zu Zeit durch ein Synchronisationssignal SYN aufgefrischt, um einen permanenten Verbrauch zu vermeiden. Der Knoten A ist außerdem am Eingang eines Inverters 44 angeschlossen, dessen Ausgang einerseits das Invertersignal INIBRD liefert und andererseits an das Steuergitter eines p-Transistors 45 angeschlossen ist. Der Transistor 45 ist über Drain und Source zwischen VCC und dem Eingang des Inverters 44 angeschlossen.
  • Die Funktionsweise der Tabelle 18 ist wie folgt: Wenn die Signale NRD1 und NRD0 1 sind und eine der Speicheradressen E2A bis E2C dekodiert wurde, schließt einer der Wege 40 bis 42 den Knoten A mit der Masse kurz. Unter diesen Umständen leitet der einen hohen Widerstand aufweisende Transistor 43, und das Potential des Knotens A sinkt. Das Signal INIBRD steigt auf 1: Das Lesen ist erlaubt. Wenn dagegen keine der Verbindungen 40 bis 42 einen Weg zwischen A und Masse kurzschließt, ist der Knoten auf einem hohen Potential, und das Signal INIBRD hat den Wert 0. Das Lesen ist dann verboten.
  • Der Ablauf 1 kann durch eine komplementäre Anschlußeinheit mit angemessener Verwirklichung von Transistoren an gewünschten Stellen ergänzt werden. Die dem Leseablauf 2 entsprechende Schaltung, die für die Signale RD1, RD0 mit dem Wert 0 bzw. 1 definiert ist, ist vom selben Typ. Ihre Beschränkung im Vergleich zum Ablauf 1 ist dadurch verwirklicht, daß sie einen Verbindungsweg 46 zwischen dem Punkt A und der Masse aufweist, der dem Weg 41 für den Teil der Source entspricht, sowie einen Weg 47, der unter denselben Bedingungen dem Weg 42 entspricht. Im Gegensatz dazu umfaßt sie keinen Weg, der dem Weg 40 entspricht. Die Beschränkung ist also durch eine verringerte Anzahl von Verbindungen verwirklicht und für die vorhandenen Verbindungen durch einen Aufbau, der dem eines ranghöheren Ablaufs entspricht. Ein solcher hierarchischer Modus ist natürlich nicht obligatorisch, jedoch aus Sicherheitsgründen zweckmäßig. Was die Abläufe 3 und 4 anbelangt, die durch die Signale RD1 und RD0 mit dem Wert 10 bzw. 11 aufgerufen werden, so folgen sie ähnlichen Überlegungen. Das ODER-Gatter 31 ist einfach dadurch verwirklicht, daß für alle Abläufe ein einzelner Knoten A vorhanden ist.
  • Der für das Lesen gezeigte Ablauf 1 ist auf das Schreiben und sogar auf das Löschen übertragbar. Es reicht aus, die Signaleingänge RD durch die Signaleingänge WR bzw. ER zu ersetzen. Wenn das Lesen verweigert werden soll, wird das Signal INIBRD ganz einfach direkt an einen Freigabeeingang der Verbindung von der Leseschaltung 11 zum Datenbus 24 angelegt.
  • Im Falle der Variante ist die Funktionsweise der Entscheidungstabelle 18 verändert, um in dieser Entscheidungstabelle, beispielsweise in mittlerer Lage zwischen den Quell- und Zielinformationen, Zeilenverbindungen einzuführen, die sich auf Adressen beziehen, die in den Speichern 2 bis 9 der Speicherwörter abgelegt sind, auf die man zugreifen möchte. In den Schnittpunkten dieser horizontalen und vertikalen Verbindungen, wie beispielsweise 40 bis 41 und 46 und 47, werden Transistoren wie der von Fig. 5b angeordnet oder nicht.
  • In der beschriebenen Version indessen empfangen die Zeilen E2A bis E2C der Entscheidungstabelle 18 der Fig. 5a Signale, die der Dekodierung der Bits EX0 und EX1 des Prüfworts entsprechen. Die Dekodierung der Bits EX0 und EX1 wird wie folgt durchgeführt: Es wird ein Wort in einem Speicher 6 bis 9 adressiert. Sind beide Bits EX0 und EX1 seines Prüfworts 00, so ist ein Datum vorhanden, und an den Dekoder 23 werden die anderen Bits RD1, RD0, WR1, WR0 und ER zur Bestimmung des Schutzmodus übertragen. Sind diese beiden Bits EX0 und EX1 01, 10 oder 11, werden sie an den Dekoder 19 übertragen. In einem darauffolgenden Zyklus wird in den Satz von Flip-Flops 27 die Übersetzung der beiden Bits eingeleitet, wobei gleichzeitig auf dem Dekoder 23 die Prüfbits eines nächsten, zu schützenden Wortes (das normalerweise ein Datum ist) ankommen, auf das in jedem Fall der im vorhergehenden Zyklus gelesene Befehl angewendet werden muß. Fig. 5a zeigt die Verbindung 48 zwischen dem Bus 25 und dem Dekoder 19, die in diesem Fall dazu dient, die zwei Bits EX0 und EX1 weiterzuleiten. Ist das Wort, auf das der in einem vorherigen Zyklus gelesene Befehlscode angewendet werden muß, ein Wort aus einem Speicher E2A bis E2C (dies bedeutet, daß das Wort im Prinzip selber ein Operationscode von Befehlen ist), so könnte dieses Wort in Abhängigkeit des Schutzmodus gelesen, geschrieben oder gelöscht werden, dem es durch das zugehörige Prüfwort untergeordnet ist.
  • Damit das Prüfwort sich selbst verändern kann, wird die Schreibschaltung 26 durch ein Schreibsperrsignal INIBWR gesteuert, das durch die Entscheidungstabelle 18 erzeugt wurde. Damit läßt sich ein Prüfwort einfach verändern. Da ein Prüfwort nicht gelöscht werden kann, führt dies dazu, daß seine Bits nur in einen Zustand veränderbar sind: in den programmierten Zustand. Auf diese Weise wird die oben beschriebene irreversible Veränderung durchgeführt. Man kann aber auch auf diese Fähigkeit verzichten, insbesondere was die vom Anbieter vorgenommenen Programmierungen betrifft. In diesem Fall weist die Schaltung 26 eine Löschschaltung auf.

Claims (9)

1. Vorrichtung zum Schutz vor Zugriffen auf Speicherwörter einer integrierten Schaltung mit Mikroprozessor, die folgendes umfaßt:
- einen Mikroprozessor (1),
- eine Speichereinheit (2-9), die diese Wörter (17) enthält,
- einen Bus (15) zum Übertragen von Daten, Adressen und Befehlen zwischen dem Mikroprozessor und den Speichern,
- eine Schaltung (18) zum Schutz vor Zugriffen auf die Speicherwörter mit einer Entscheidungstabelle (18), Schaltungen (19, 23) zum Adressieren dieser Tabelle mit Adressen der Speicherwörter und einer Schutzschaltung (31-33) zur Erzeugung eines Schutzsignals in Abhängigkeit vom Lesen der Entscheidungstabelle,
gekennzeichnet durch
- einen Satz (21) an Prüfbits, die bestimmten, zu schützenden Wörtern (17) zugewiesen sind,
- eine Schaltung (22) zum Lesen der Prüfbits im Moment (LEC) des Lesens der Wörter und
- eine Schaltung (19, 23, 27, 28) zum Adressieren der Entscheidungstabelle in Abhängigkeit von den Adressen von Speicherwörtern und in Abhängigkeit des Wertes der gelesenen Bits, die die Wahl verschiedener Schutzmodi in der Tabelle ermöglichen.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Speicher Bitzeilen (13) und Wortzeilen (14) aufweisen und daß die einem Wort (17) zugewiesenen Prüfbits (21) in den Speicherzellen (12) gespeichert sind, die auf derselben Wortzeile abgelegt sind wie die Speicherzellen des zu schützenden Wortes.
3. Vorrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß
- die Speicher Bitzeilen (13) und Wortzeilen (14) umfassen und daß
- mehrere Wörter, die in derselben Wortzeile (14) abgelegt sind, nach einem Modus gegen den Zugriff geschützt sind, der von einem gleichen Satz (21) an Prüfbits definiert ist.
4. Vorrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Entscheidungstabelle (18) drei Untertabellen (29-30) umfaßt, um jeweils Lese-, Schreib- und Löschschutzsignale zu erzeugen.
5. Vorrichtung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Schaltung zur Adressierung der Tabelle Schaltungen (27, 23, 28) umfaßt, um eine Adresse eines ersten Wortes, eine Adresse eines zweiten Wortes und die Prüfbits zu empfangen.
6. Vorrichtung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß
- die Speichereinheit, die die zu schützenden Wörter enthält, in einem Block von Speicherwörtern gleicher Technologie ausgeführt ist und daß
- die Adresse eines zum Adressieren der Entscheidungstabelle (18) verwendeten Wortes Bits des Prüfwortes umfaßt, das einem zu schützenden Wort zugewiesen wurde und auf welches man zugreifen möchte.
7. Vorrichtung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß
- die Speichereinheit in physikalisch unterschiedliche Speicherblöcken auf der integrierten Schaltung geteilt ist und daß
- die Adresse eines zum Adressieren der Entscheidungstabelle verwendeten Wortes durch die Adreßbits dieser Speicherblöcke gebildet wird.
8. Vorrichtung nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß die Prüfbits Bits umfassen, die sich auf die Befehlseigenschaft des zu schützenden Wortes, auf die Lese-, Schreib- oder Löschfähigkeit des zu schützenden Wortes oder auf die Änderungsmöglichkeit der Prüfbits selbst beziehen.
9. Vorrichtung nach Anspruch 8, dadurch gekennzeichnet, daß die Speicher eine Schaltung zur Veränderung der Prüfbits umfassen, deren Funktion durch das Schutzsignal bestimmt wird.
DE69508207T 1994-12-20 1995-12-14 Speicherwörterzugangsschutzvorrichtung Expired - Lifetime DE69508207T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9415347A FR2728363A1 (fr) 1994-12-20 1994-12-20 Dispositif de protection de l'acces a des mots memoires

Publications (2)

Publication Number Publication Date
DE69508207D1 DE69508207D1 (de) 1999-04-15
DE69508207T2 true DE69508207T2 (de) 1999-10-14

Family

ID=9470007

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69508207T Expired - Lifetime DE69508207T2 (de) 1994-12-20 1995-12-14 Speicherwörterzugangsschutzvorrichtung

Country Status (5)

Country Link
US (1) US5978915A (de)
EP (1) EP0718769B1 (de)
JP (1) JP3073920B2 (de)
DE (1) DE69508207T2 (de)
FR (1) FR2728363A1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19701166A1 (de) * 1997-01-15 1998-07-23 Siemens Ag Verfahren zur Überwachung der bestimmungsgemäßen Ausführung von Softwareprogrammen
EP0926601A1 (de) * 1997-12-24 1999-06-30 STMicroelectronics S.r.l. Verfahren zur Datensicherung einer Halbleiterspeicheranordnung und entsprechende geschützte Speicheranordnung
JP2001014871A (ja) * 1999-06-29 2001-01-19 Toshiba Corp 不揮発性半導体記憶装置
US7277972B2 (en) * 2002-03-08 2007-10-02 Freescale Semiconductor, Inc. Data processing system with peripheral access protection and method therefor
US20030221030A1 (en) * 2002-05-24 2003-11-27 Timothy A. Pontius Access control bus system
EP1631910B1 (de) * 2003-05-27 2007-11-07 Nxp B.V. Zugriffsgeschütztes bussystem
US7164611B2 (en) * 2004-10-26 2007-01-16 Micron Technology, Inc. Data retention kill function
US7822911B2 (en) 2007-08-15 2010-10-26 Micron Technology, Inc. Memory device and method with on-board cache system for facilitating interface with multiple processors, and computer system using same
US8291174B2 (en) 2007-08-15 2012-10-16 Micron Technology, Inc. Memory device and method having on-board address protection system for facilitating interface with multiple processors, and computer system using same
US8055852B2 (en) 2007-08-15 2011-11-08 Micron Technology, Inc. Memory device and method having on-board processing logic for facilitating interface with multiple processors, and computer system using same
JP2010198625A (ja) * 2010-04-05 2010-09-09 Nxp Bv アクセス制御バス・システム
US8504893B1 (en) * 2010-09-30 2013-08-06 Micron Technology, Inc. Error detection or correction of a portion of a codeword in a memory device
US10026458B2 (en) 2010-10-21 2018-07-17 Micron Technology, Inc. Memories and methods for performing vector atomic memory operations with mask control and variable data length and data unit size

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4037214A (en) * 1976-04-30 1977-07-19 International Business Machines Corporation Key register controlled accessing system
US4038645A (en) * 1976-04-30 1977-07-26 International Business Machines Corporation Non-translatable storage protection control system
US4099256A (en) * 1976-11-16 1978-07-04 Bell Telephone Laboratories, Incorporated Method and apparatus for establishing, reading, and rapidly clearing a translation table memory
US4442484A (en) * 1980-10-14 1984-04-10 Intel Corporation Microprocessor memory management and protection mechanism
US4390968A (en) * 1980-12-30 1983-06-28 Honeywell Information Systems Inc. Automated bank transaction security system
US4513389A (en) * 1981-11-12 1985-04-23 Ncr Corporation ROM security circuit
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
US4521853A (en) * 1982-06-30 1985-06-04 Texas Instruments Incorporated Secure microprocessor/microcomputer with secured memory
US4665506A (en) * 1983-01-03 1987-05-12 Texas Instruments Incorporated Memory system with write protection
DE3318123A1 (de) * 1983-05-18 1984-11-22 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung mit einem datenspeicher und einer ansteuereinheit zum auslesen, schreiben und loeschen des speichers
US4744062A (en) * 1985-04-23 1988-05-10 Hitachi, Ltd. Semiconductor integrated circuit with nonvolatile memory
US5361341A (en) * 1987-10-02 1994-11-01 Sgs-Thomson Microelectronics, S.A. Device for enabling the use of the contents of memory areas of an electronic microprocessor system
FR2621409A1 (fr) * 1987-10-02 1989-04-07 Thomson Semiconducteurs Dispositif de protection des zones memoires d'un systeme electronique a microprocesseur
EP0416211A3 (en) * 1989-09-08 1992-07-22 International Business Machines Corporation Access authorization table for multi-processor caches
FR2661532A1 (fr) * 1990-04-26 1991-10-31 Sgs Thomson Microelectronics Memoire a acces protege mot par mot.
US5226006A (en) * 1991-05-15 1993-07-06 Silicon Storage Technology, Inc. Write protection circuit for use with an electrically alterable non-volatile memory card
FR2694120B1 (fr) * 1992-07-24 1994-09-23 Sgs Thomson Microelectronics Circuit de gestion de mots mémoires.
FR2710445B1 (fr) * 1993-09-20 1995-11-03 Sgs Thomson Microelectronics Circuit de redondance dynamique pour mémoire en circuit intégré.
US5513337A (en) * 1994-05-25 1996-04-30 Intel Corporation System for protecting unauthorized memory accesses by comparing base memory address with mask bits and having attribute bits for identifying access operational mode and type

Also Published As

Publication number Publication date
JPH08249236A (ja) 1996-09-27
JP3073920B2 (ja) 2000-08-07
EP0718769B1 (de) 1999-03-10
FR2728363B1 (de) 1997-02-07
EP0718769A1 (de) 1996-06-26
FR2728363A1 (fr) 1996-06-21
DE69508207D1 (de) 1999-04-15
US5978915A (en) 1999-11-02

Similar Documents

Publication Publication Date Title
DE69404674T2 (de) Speicherkarte und verfahren zum betrieb
DE3852833T2 (de) Nichtflüchtiger Speicher.
DE69815258T2 (de) Elektrisch programmier- und löschbarer nichtflüchtiger Speicher mit einem lese- und/oder schreibgeschützen Bereich einschliesslich zugehöriger elektronischer Schaltung
DE3318123A1 (de) Schaltungsanordnung mit einem datenspeicher und einer ansteuereinheit zum auslesen, schreiben und loeschen des speichers
DE2954731C2 (de) Monolithischer Mikroprozessor
DE69433320T2 (de) Ferngesteuerter rreprogrammierbarer programmspeicher fuer einen mikrokontroller
DE19681704B4 (de) Verfahren zum Ausführen eines Programms aus einem nichtflüchtigen Speicher heraus
DE69508207T2 (de) Speicherwörterzugangsschutzvorrichtung
DE69419967T2 (de) Chip von IC Karte mit Mitteln zur Begrenzung der Anzahl von Authentifizierungen
EP0268106B1 (de) System zur bargeldlosen Durchführung von Transaktionen
EP0321727B1 (de) Verfahren und Schaltung zum manipuliergeschützten Entwerten von EE-PROM-Speichern
DE69230773T2 (de) Datenverarbeitungseinrichtung mit fortschreitend programmierbarem nichtflüchtigen Speicher und Verfahren dazu
DE19536169A1 (de) Multifunktionale Chipkarte
EP0128362B1 (de) Schaltungsanordnung mit einem Speicher und einer Zugriffskontrolleinheit
EP1358558B1 (de) Mikroprozessorschaltung für datenträger und verfahren zum organisieren des zugriffs auf in einem speicher abgelegten daten
DE102009033961A1 (de) Emulation eines einmal programmierbaren Speichers
DE10324337B4 (de) Rechnersystem und zugehöriges Verfahren zum Durchführen eines Sicherheitsprogramms
DE69602984T2 (de) Verfahren zum Schützen nichtflüchtiger Speicherbereiche
EP1468362A2 (de) Verfahren und anordnung zum beschreiben von nv-memories in einer controller-architektur sowie ein entsprechendes computerprogrammprodukt und ein entsprechendes computerlesbares speichermedium
EP0935214B1 (de) Chipkarte mit integrierter Schaltung
EP1352318B1 (de) Mikroprozessorschaltung für tragbare datenträger
DE68926158T2 (de) Einchip-Mikrorechner mit EPROM
EP1338970B1 (de) Verfahren und Anordnung zur Zugriffssteuerung auf EEPROMs sowie ein entsprechendes Computerprogrammprodukt und ein entsprechendes computerlesbares Speichermedium
DE3853482T2 (de) Einrichtung zum schützen von speicherzonen eines elektronischen systems mit mikroprozessor.
EP1022659A2 (de) Schaltungsanordnung zur elektonischen Datenverarbeitung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition