[go: up one dir, main page]

DE69325072T2 - Gesicherte Speicherkarte - Google Patents

Gesicherte Speicherkarte

Info

Publication number
DE69325072T2
DE69325072T2 DE69325072T DE69325072T DE69325072T2 DE 69325072 T2 DE69325072 T2 DE 69325072T2 DE 69325072 T DE69325072 T DE 69325072T DE 69325072 T DE69325072 T DE 69325072T DE 69325072 T2 DE69325072 T2 DE 69325072T2
Authority
DE
Germany
Prior art keywords
memory
microprocessor
volatile
lock
predetermined
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
DE69325072T
Other languages
English (en)
Other versions
DE69325072D1 (de
Inventor
Thomas O Holtey
Peter J Wilson
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.)
CP8 Technologies SA
Original Assignee
Bull HN Information Systems 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25503564&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69325072(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Bull HN Information Systems Inc filed Critical Bull HN Information Systems Inc
Application granted granted Critical
Publication of DE69325072D1 publication Critical patent/DE69325072D1/de
Publication of DE69325072T2 publication Critical patent/DE69325072T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Credit Cards Or The Like (AREA)
  • Devices For Executing Special Programs (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Storage Device Security (AREA)
  • Optical Record Carriers And Manufacture Thereof (AREA)

Description

    Technisches Gebiet
  • Diese Erfindung bezieht sich auf das Gebiet tragbarer Personalcomputer und insbesondere auf das Betreiben von Systemen für die Datensicherheit in einer tragbaren digitalen Datenumgebung.
  • Beschreibung des Standes der Technik
  • Die Sicherheit persönlicher Daten ist stets ein Anliegen gewesen. Sie wurde durch Schlösser, Codes und Geheimfächer garantiert. Als die Daten neue Formen annahmen, waren neue Verfahren vonnöten, um den veränderten Situationen Rechnung zu tragen.
  • Historisch wurde die Datensicherheit durch Verwendung von Unterschriften, Ausweispapieren und Photographien adressiert. Elektronische Geräte wie etwa Bankautomaten fügten dem Repertoire der Sicherheitswerkzeuge codierte Karten und Personenidentifikationsnummern (PINs) hinzu. Computersysteme fahren fort, indem sie Paßworte verwenden.
  • In jüngster Zeit ist die "Chipkarte" als Sicherheitswerkzeug verwendet worden. Die "Chipkarte" ist ein kleiner Mikrocomputer mit einem beschreibbaren, nichtflüchtigen Speicher und einer einfachen Ein-/Ausgabe-Schnittstelle, der als einzelner Chip gefertigt und in eine Kunststoff-"Kreditkarte" eingebettet ist. Sie besitzt externe Unterbauten, so daß sie an eine speziell entworfene Einrichtung angeschlossen werden kann. Das im Mikrocomputer der Karte enthaltene Programm arbeitet mit dieser Einrichtung zusammen und läßt zu, daß die Daten seines nichtflüchtigen Speichers in Übereinstimmung mit dem gewünschten Algorithmus, der optional einen Paßwortaustausch mit einschließen kann, gelesen oder modifiziert werden. Es sind spezielle Techniken implementiert worden, um die Speicherdaten zu schützen und der Situation entsprechend verschiedene Berechtigungen zu ermöglichen.
  • Z. B. offenbart das US-Patent Nr. 4.382.279 mit dem Titel "Single Chip Microprocessor with On-Chip Modifiable Memory" eine Architektur, die das automatische Programmieren eines nichtflüchtigen Speichers ermöglicht, der als Verarbeitungs- und Steuereinheit in demselben Chip enthalten ist. Wie in anderen Systemen schützt der Mikroprozessor nur den Speicher auf demselben Chip.
  • Die "Chipkarte" ist sowohl zur Ermöglichung des Identifikationsprozesses als auch als momentaner Ort für die gültigen Daten verwendet worden. In diesem Fall wie in den meisten Fällen zuvor ist die physische Präsenz eines Schlüssels sowie ein bestimmtes Wissen als Teil des Verifizierungs- oder Authentifizierungsprozesses verwendet worden. In den obigen Fällen war die Identifizierung ein Dialog zwischen der Person, die einen Zugriff erlangen wollte, und einer festen Einrichtung wie etwa einer Sicherheitswache oder einem Bankautomaten.
  • Der momentane Stand tragbarer, unabhängiger Rechengeräte macht es möglich, daß sowohl der physische Schlüssel als auch die Authentifizierungseinrichtung klein und tragbar sind und deshalb vermehrt einem Verlorengehen oder einem Diebstahl ausgesetzt sind. Ferner können mit Rechengeräten wiederholte Versuche unternommen werden, um das mit dem Identifizierungsprozeß verbundene spezielle Wissen oder das Paßwort zu erraten oder abzuleiten. Dies trifft insbesondere dann zu, wenn die Authentifizierungseinrichtung ebenfalls unter der Kontrolle des Diebs oder Betrügers steht. Um die Sache noch schlimmer zu machen, ermöglicht und ermutigt die Technik heute, große Mengen sensibler Daten in einer Tasche oder Handtasche mit sich zu tragen, wo sie einen Zwischenfall erleiden können.
  • Heute schaffen Computer in Notebook- und Kleinst-Notebook- Größe eine geeignete unabhängige Umgebung, die eine hohe Rechenleistung ermöglichen und dadurch den Bedarf an zusätzli cher Datenspeichermöglichkeit hervorrufen. Dem wurde anfänglich durch Miniatur-Festplatteneinrichtungen begegnet, die sowohl Programme als auch Daten enthielten. Auch wenn in diesen Systemen häufig ein Paßwortschutz verwendet wird, schützt dies sensible Daten nicht völlig, da zum ersten die Authentifizierungseinrichtung selbst anfällig ist. Bedeutender jedoch ist, daß das Plattenlaufwerk, das die Daten enthält, physisch entfernt werden kann und in einer für die Datenanalyse dienlicheren Einstellung auf dieses zugegriffen werden kann. In diesem Fall ist nur eine Art Verschlüsselung zum Schutz der Daten geeignet. Die Art und Weise des Datenzugriffs macht dies ohne übermäßige Leistungs- oder Kostenschranken möglich. Ein Beispiel dieses Systemtyps ist im US-Patent Nr. 4.985.920 mit dem Titel "Integrated Circuit Card" beschrieben.
  • Das kürzliche Aufkommen des Flash-Speichers und der steckbaren Speicherkarten hat wesentliche Reduzierungen in der Größe und in der Leistungsaufnahme der tragbaren Computer ermöglicht. Der Flash-Speicher kombiniert die Flexibilität des Direktzugriffsspeichers (RAM) mit der magnetischen Permanenz von Platten. Heute ermöglicht es die Verknüpfung dieser Technologien, daß bis zu 20 Millionen Bytes ohne Leistungsbedarf in einem steckbaren Paket im Kreditkartenformat gespeichert werden können. Diese Daten können auf einem Host-System wiedergegeben werden, als wären sie auf einem herkömmlichen Plattenlaufwerk gespeichert oder als wären sie eine Erweiterung des Host-Speichers. Die technologischen Entwicklungen haben eine weitere Reduzierung der Größe des Systems ermöglicht, in dem Maße, daß es in sogar im Geldbeutel statt in der Handtasche oder in der Aktentasche getragen werden kann.
  • Somit sind die Daten und deren Host-System anfälliger für ein Verlorengehen oder einen Diebstahl geworden, während es gleichzeitig schwerer geworden ist, Speicherdaten durch Verschlüsselung zu schützen, da dies die hauptsächlichen Kosten- und Leistungsschranken darstellt.
  • Das Dokument EP-A-0 212 615 betrifft eine Speicherkarte mit einer Entschlüsselungseinrichtung 57. Ferner enthält sie eine Einrichtung zum Sichern des Speichers 65 (Systemcontroller 56, Codekomparator 63, Adressenkomparator 68), jedoch befindet sich diese Einrichtung außerhalb des Speichers 65, so daß der Speicher 65 dem Dokument nicht als Speicherchip zu entnehmen ist, der durch eine interne Sicherungseinrichtung gesichert wird, wenn er aus der Karte entfernt wird.
  • Demgemäß ist es eine Hauptaufgabe der Erfindung, ein tragbares digitales System mit einem sicheren Speicheruntersystem zu schaffen.
  • Es ist eine weitere Aufgabe der Erfindung, eine Speicherkarte zu schaffen, die geschützt werden kann, wenn sie aus einem tragbaren digitalen System herausgenommen wird.
  • Es ist eine nochmals weitere Aufgabe der vorliegenden Erfindung, eine Speicherkarte zu schaffen, in der die Chips der Karte geschützt sind, wenn sie aus einer solchen Karte entfernt werden.
  • Zusammenfassung der Erfindung
  • Die obigen Aufgaben werden durch eine sichere Speicherkarte nach Anspruch 1 gelöst. Die sichere Speicherkarte enthält einen Mikroprozessor auf einem Einzelhalbleiterchip und einen oder mehrere nichtflüchtige, adressierbare Speicherchips. Der Mikroprozessorchip und die nichtflüchtigen Speicherchips sind gemeinsam an einen internen Kartenbus zur Übertragung von Adressen-, Daten- und Steuerinformationen an diese nichtflüchtigen Speicherchips angeschlossen. Der Mikroprozessor enthält einen adressierbaren, nichtflüchtigen Speicher zum Speichern von Informationen einschließlich einer Anzahl von Schlüsselwerten, Konfigurationsinformationen und Programmbefehlsinformationen zur Steuerung der Übertragung der Adressen-, Daten- und Steuerinformationen über den internen Bus. Der Chipspeicher ist in eine Anzahl von Blöcken oder Bänken organisiert, wovon jeder Block mehrere adressierbare Plätze hat.
  • Gemäß der vorliegenden Erfindung ist jeder Speicherchip so beschaffen, daß er Sicherheitssteuerlogikschaltungen enthält. Bei der bevorzugten Ausführung enthalten diese Schaltungen einen nichtflüchtigen Verriegelungsspeicher, ein nichtflüchtiges Verriegelungsspeicher-Freigabeelement und einen flüchtigen Zugriffssteuerspeicher, wovon jeder unter der Steuerung des Mikroprozessors ladbar ist. Im einzelnen lädt der Mikroprozessor zuerst einen Verriegelungswert in den nichtflüchtigen Verriegelungsspeicher und setzt das Verriegelungsspeicher- Freigabeelement zurück, wodurch der Zugriff verweigert wird. Danach lädt der Mikroprozessor den Zugriffssteuerspeicher wie durch die Konfigurationsinformationen spezifiziert. Diese Informationen werden erst geladen, nachdem der Mikroprozessor festgestellt hat, daß der Anwender mit dem Host-Computer eine vorgegebene Authentifizierungsprozedur erfolgreich ausgeführt hat. Die Sicherheitslogikschaltungen aller Speicher geben das Lesen von Informationen, die in gewählten, adressierten Blöcken des Flash-Speichers gespeichert sind, in Abhängigkeit von den in den Zugriffssteuerspeicher des Speicherchips geladenen Konfigurationsinformationen frei. Der Anwender wird periodisch aufgefordert, mit dem Host-Computer erfolgreich eine Authentifizierungsprozedur auszuführen, und der Anwender kann das Lesen von Informationen nur fortsetzen, wenn dies durch den Zugriffssteuerspeicher zugelassen wird. Bei der bevorzugten Ausführung ist der Host-Computer mit der Speicherkarte über eine Standardschnittstelle wie etwa die Schnittstelle, die den Vorgaben der Personal Computer Memory Card International Association (PCMCIA) entspricht, verbunden.
  • Die vorliegende Erfindung verbindet die "Chipkarten"- und die "Speicherkarten"-Techniken, die der Schlüssel dafür sind, große Datenmengen, die durch die Flash-Speicher-Technik möglich geworden sind, in sicherheitsbezogen "rauhen" Umgebungen, die die elektronische Miniaturisierung hervorgerufen hat, schützen zu können. Ferner ist die vorliegende Erfindung geeignet, aus den Weiterentwicklungen und Verbesserungen beider Techniken Vorteile zu ziehen.
  • Zusätzlich sind die Sicherheitslogikschaltungen der vorliegenden Erfindung in den Flash-Speicher eingebaut und arbeiten in Verbindung mit diesem auf eine Weise zusammen, daß das Ausmaß der erforderlichen, an den Grundverknüpfungsschaltungen des Flash-Speichers auszuführenden Änderungen minimiert wird. Insbesondere kann der Flash-Speicher in einem sicheren Modus und in einem nicht sicheren Modus betrieben werden, in welchem die Sicherheitslogikschaltungen umgangen werden, wodurch der Flash-Speicher so betrieben werden kann, als wären diese Schaltungen nicht installiert. Der Nicht-Sicherheitsmodus wird gewöhnlich dann eingenommen, wenn die Inhalte des nichtflüchtigen Verriegelungsspeichers des Flash-Speichers gelöscht sind. Dies zeigt im allgemeinen einen nicht programmierten und vollständig gelöschten Flash-Speicher an, der natürlich in einen vorgegebenen Zustand (d. h. einen Nur-Einsen-Zustand) gelöscht wird.
  • Mit einer geringen zusätzlichen Logik für den Flash-Speicher und einem "Zugriffssteuerprozessor" (ACP) werden die Inhalte des Flash-Speichers sicher gemacht, ohne eine Datenverschlüsselung zu erfordern. Somit erübrigt die Erfindung den Zusatzaufwand des Verschlüsselns und Entschlüsselns von Daten, der für große Datenblöcke sehr zeitaufwendig sein kann.
  • Während des Betriebs fordert der ACP den Systemanwender periodisch auf, eine bestimmte Form von Authentifizierung einzugeben. Dies kann ein Paßwort sein, eine PIN, ein spezifisches Computer"zeichen" per Stift, das in einem spezifischen Punkt auf der Schreibfläche aufgebracht wird, ein gesprochener Befehl oder ein "Sprachabdruck" des Anwenders. Das Verfahren ist je nach System unterschiedlich. Der programmierbare ACP ermöglicht dem Anwender, den spezifischen Inhalt der Authentifizierung und die Häufigkeit der Aufforderung zu ändern. Der Code für die Authentifizierung und die durch die Verriegelungs- und Zugriffssteuerspeicher erforderlichen Daten werden in dem nichtflüchtigen Speicher des ACP gespeichert, der sich auf demselben Chip wie der ACP befindet, und sind somit geschützt.
  • Wie erwähnt bewirkt eine erfolgreiche Authentifizierung, daß der ACP alle oder ausgewählte Blöcke des Flash-Speichers für den Zugriff freigibt oder weiterhin freigibt. Ein Fehlschlagen bewirkt, daß der Flash-Speicher gesperrt wird. Somit ähnelt die Operation darin einer "Totmann-Drossel", daß jedes Fehlschlagen, die Authentifizierung erfolgreich abzuschließen, dazu führt, daß die Daten des Flash-Speichers geschützt werden. Zusätzlich kann ein durch den Anwender abgeschickter Befehl ebenfalls dazu führen, daß der Zugriff gesperrt wird. Ferner wird mit der ersten Energiezufuhr nach einem Ausschaltzustand der Zugriff gesperrt, um die Speicherinhalte zu schützen, bis die erste Authentifizierung erfolgreich ausgeführt ist.
  • Somit sind, wenn entweder die Speicherkarte oder ihr Host- Prozessor verloren gegangen oder gestohlen worden ist, energielos oder unbeaufsichtigt hinterlassen wird, die Daten im Speicher vor dem Zugriff geschützt, entweder unmittelbar oder sobald die momentane periodische Authentifizierung abläuft. Im Fall eines Diebstahls sind die Speicherdaten vor dem Zugriff selbst dann geschützt, wenn die Speicherkarte geöffnet und elektronisch ergründet wird oder die Speicherchips entfernt und in ein anderes Gerät eingesetzt werden.
  • Die obigen Aufgaben und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung verständlicher, wenn sie in Verbindung mit der beigefügten Zeichnung durchgesehen wird.
  • Kurzbeschreibung der Zeichnung
  • Fig. 1 zeigt ein Übersichtsblockschaltbild eines Systems, das die gemäß der vorliegenden Erfindung aufgebaute Speicherkarte enthält.
  • Fig. 2 zeigt den Zugriffssteuerprozessor (ACP) aus Fig. 1 mit einem Layout seines nichtflüchtigen Speichers genauer.
  • Fig. 3 zeigt ein detailliertes Blockschaltbild eines gemäß der vorliegenden Erfindung modifizierten Standard-Flash-Speichers aus Fig. 1.
  • Die Fig. 4 und 5 sind Ablaufdiagramme, die zur Erläuterung des Betriebs der Speicherkarte der vorliegenden Erfindung beim Ausführen verschiedener Authentifizierungsprozeduren dienen.
  • Beschreibung der bevorzugten Ausführung
  • Fig. 1 ist ein Blockschaltbild eines sicheren, tragbaren Datenverarbeitungssystems, das als Personalcomputer oder Transaktionsprozessor verwendbar ist. Das System enthält eine erfindungsgemäß aufbaute Speicherkarte 3, die über einen Bus 102 an einen Host-Prozessor 5 angeschlossen ist. Der Host- Prozessor 5 kann als Slate-PC (palm top) wie etwa den durch Hewlett-Packard hergestellten HP 95LX ausgeführt sein. Der Host-Prozessor 5 enthält eine Flüssigkristallanzeige (LCD) 5-2, eine Tastatur 5-4, einen Mikroprozessor 5-6, einen Speicher 5-8 und eine serielle Schnittstelle 5-10, die gemeinsam an einen Bus 106 angeschlossen sind. Der Speicher 5-8 enthält einen 1-Mbyte-Nur-Lese-Speicher (ROM) und einen 512-kbyte- Direktzugriffsspeicher (RAM).
  • Die Verbindung zwischen der Speicherkarte 3 und dem Host- Prozessor 5 ist durch eine Standard-Busschnittstelle eingerichtet. In der bevorzugten Ausführung entspricht der Bus 102 dem Standard der Personal Computer Memory Card International Association (PCMCIA). Die Schnittstelle 102 schafft einen Pfad für die Übertragung der Adressen-, Steuer- und Dateninformationen zwischen dem Host-Prozessor 5 und dem Speicherkartensystem 3 über einen Standardschnittstellenchip 104 und einen Speicherkartenbus 105. Jeder der Busse 102, 105 und 106 umfaßt einen Datenbus, einen Steuerbus und einen Adressenbus und schafft kontinuierliche Signalpfade über die sich gleichenden Busse. Z. B. umfaßt der Bus 105 den Adressenbus 105a, den Datenbus 105b und den Steuerbus 105c.
  • Der PCMCIA-Busstandard hat sich aus einem Standard, der die Plattenemulation auf Speicherkarten unterstützt, zu einem sich wesentlich davon unterscheidenden Standard entwickelt, der einen Direktzugriff auf Speicherdaten zuläßt. Die Speicherkarte der vorliegenden Erfindung schafft eine Schutztechnik, die diesen neuen Standard unterstützt, indem sie ohne den Umweg über Verschlüsselungstechniken einen schnellen Zugriff auf zufällige Speicherstellen schafft. Durch Steuern der Datenpfade, die die Daten von der Speichermatrix zum Host übertragen, schützt die Speicherkarte der vorliegenden Erfindung die Daten, ohne irgendein zeitaufwendiges Zwischenspeichern, Verschlüsseln oder anderes serielles Verarbeiten auf diesem Pfad aufzuerlegen.
  • Gewöhnlich bedient ein Anwender das System von der Tastatur 5-4 aus, um die typischen Operationen wie etwa Tabellenkalkulations- oder Datenbankfunktionen auszuführen, die Informationen auf der Anzeige 5-2 anzeigen und in den Dateien auf der Speicherkarte 3 gespeicherte Informationen aktualisieren. Der Host-Prozessor 5 sendet Adresseninformationen über den Bus 102, um Informationen aufzufinden und, falls gewünscht, die Informationen zu aktualisieren und mit den erforderlichen Adressen- und Steuerinformationen zur Speicherkarte 3 zurückzusenden.
  • Wie in Fig. 1 gezeigt ist, enthält die Speicherkarte 3 der vorliegenden Erfindung einen Zugriffssteuerprozessor (ACP) 10, der mit dem Bus 105 gekoppelt ist, und eine Anzahl (n) von CMOS-Flash-Speicherchips 103a bis 103n, wovon jeder an den Bus 105 angeschlossen ist. Der ACP 10 ist gewöhnlich derselbe Verarbeitungselementtyp, wie er in der Chipkarte verwendet wird. Die CMOS-Flash-Speicher 103a bis 103n können als Flash- Speicherchips ausgeführt sein, die von der Firma Intel Corporation hergestellt werden. Z. B. können sie als Intel-Flash- Speicherchips mit der Bezeichnung Intel 28FOOIBX 1M ausgeführt sein, die acht 128-kbyte-x-8-CMOS-Flash-Speicher enthalten. Somit kann eine 4-Mbyte-Flash-Speicherkarte 32 CMOS-Flash- Speicher enthalten, d. h., daß n gleich 32 ist.
  • Zugriffssteuergrozessor 10
  • Fig. 2 zeigt den Zugriffssteuerprozessor (ACP) 10 der bevorzugten Ausführung in Form eines Blockschaltbilds. Wie gezeigt enthält der ACP 10 einen geschützten nichtflüchtigen Speicher 10-2, einen Direktzugriffsspeicher (RAM) 10-4, einen Mikroprozessor 10-6, einen Intervallzähler 10-8 und einen Schnittstellenblock 10-10, der an den Bus 105 angeschlossen ist. Der nichtflüchtige Speicher 10-2 reserviert eine Anzahl adressierter Stellen, in denen Authentifizierungsinformationen und -programme gespeichert werden. Im einzelnen speichern die Speicherstellen 10-2a eine oder mehrere Personenidentifikationsnummern (PINs), Protokollsequenzen oder andere Identifizierungsinformationen, um zu überprüfen, ob der Anwender Zugang zum System hat, und um die Blöcke in den Flash-Speichern 103a bis 103n zu identifizieren, auf die der Anwender zusätzlich zu einem für die Wiederauthentifizierung verwendeten Zeitintervallwert zugreifen kann.
  • Die Speicherstellen 10-2b speichern die Schlüsselwerte, die zum Schützen jedes Flash-Speichers 103a bis 103n verwendet werden, oder die Codes, die zum Schützen der einzelnen Blöcke jedes Flash-Speichers 103a bis 103n verwendet werden.
  • Die Speicherstellen 10-2c speichern die Programmbefehlssequenzen zum Ausführen der erforderlichen Authentifizierungsoperationen und zum Löschen des Systems, falls die vorgegebenen Bedingungen für ein Fehlschlagen erfüllt sind. Bestimmte Programmbefehle ermöglichen es dem Anwender, die Einstellung des Intervallzählers 10-8 zu steuern, der bestimmt, wann die Anwender-Wiederauthentifizierung stattfindet. Das Wiederauthentifizierungsintervall definiert die Zeit zwischen den Unterbrechungen (interrupts) und für das Senden einer Unterbrechung an den Host-Prozessor 5, die die Verifizierung der Identität des Anwenders anfordert, worauf der Anwender die PIN oder ein anderes Paßwort erneut eingeben muß. Der Intervallzähler 10-8 empfängt vom Host-Prozessor 5 über den Bus 102 Taktimpulse und kann durch den Anwender der Arbeitsumgebung entsprechend eingestellt werden. Z. B. kann der Anwender zuhause den Zeitgeber ausschalten (d. h. diesen auf den Maximalwert einstellen) oder das Zeitintervall auf eine Stunde einstellen. In einem Flugzeug kann der Anwender zu erhöhtem Schutz diesen auf 10 Minuten einstellen. Wie oben beschrieben worden ist, wird der Anwender aufgefordert, die Einstellung dieses Intervalls bei jedem Einschalten zu überprüfen, wodurch zur Durchsetzung der Sicherheit die periodische Wiederauthentifizierung erzwungen wird.
  • Flash-Speicher 103a bis 103n
  • Fig. 3 ist ein detailliertes Blockschaltbild der Flash-Speicher 103a bis 103n. Nur die detaillierten Logikschaltungen des Speichers 103a sind gezeigt, da die Speicher 103b bis 103n zum Speicher 103a identisch aufgebaut sind.
  • Der Flash-Speicher 103a enthält hauptsächlich zwei Abschnitte, wobei ein Abschnitt die Sicherheitszugriffssteuerschaltungen der vorliegenden Erfindung enthält, und der andere Abschnitt die Grund- oder Standard-Verknüpfungsschaltungen des Flash- Speichers enthält.
  • Sicherheitszugriffssteuerabschnitt
  • Wie aus Fig. 3 zu ersehen ist, enthalten die Sicherheitssteuerschaltungen der vorliegenden Erfindung ein 32-bit- Schlüsselregister, ein flüchtiges 32-bit-Verriegelungsregister 33, einen 12-bit-Verzögerungszähler 32, eine Komparatorschaltung 39, eine Nur-Einsen-Erfassungsschaltung 38, einen nicht- flüchtigen Verriegelungsspeicher 35, ein nichtflüchtiges 1-bit-Verriegelungsspeicher-Freigabeelement 36, einen flüchtigen Zugriffssteuerspeicher 43, ein Zugriffsmodifikations- Zulassungs-UND-Glied 34 und ein Ausgangs-ODER-Glied 45, die wie gezeigt angeordnet sind. Es soll hervorgehoben werden, daß dieser Abschnitt von einem in dem Grundverknüpfungsabschnitt enthaltenen Befehlsregister 50 Befehlssteuersignale empfängt, die durch verschiedene hexadezimale Werte (z. B. 31H bis 38H) gekennzeichnet sind. Diese Signale geben die verschiedenen Datenwerte des durch das Befehlsregister 50 vom ACP 10 über den Datenbus 105b empfangenen Befehlssatzes an. Diese Befehle sind eine wichtige Erweiterung der Befehlssätze, die normalerweise durch den Flash-Speicher verwendet werden. Die Standard- Flash-Speicherbefehle nehmen die Form der durch den 28F001BX- Flash-Speicher verwendeten Befehle an. Jene Befehle sind in der Veröffentlichung mit dem Titel "Memory Products" beschrieben, die von Intel Corporation veröffentlicht worden ist, auf die hier verwiesen worden ist. Die durch die vorliegende Erfindung verwendeten Befehle sind in der Tabelle 1 beschrieben.
  • In der Tabelle 1 ist der erste gezeigte Befehl ein Verriegelungsspeicher-laden-Befehl, der zum anfänglichen Laden eines als Zufallszahl erzeugten Verriegelungswerts in den nichtflüchtigen Verriegelungsspeicher (LM) 35 jedes Speichers 103a bis 103n verwendet wird. Jeder Speicher 103a bis 103n kann je nach den Sicherheitserfordernissen der Anwender einen anderen Verriegelungswert oder denselben Verriegelungswert haben. Der Verriegelungswert wird in den LM 35 über das Schlüsselregister (K) 31 unter der Steuerung des nichtflüchtigen 1-bit-Speicherelements 36 geladen. Der Verriegelungsspeicherfreigabe-rücksetzen-Befehl aus der Tabelle 1 wird verwendet, um das Speicherelement 36 zurückzusetzen. Dies verhindert, daß der im LM 35 gespeicherte Verriegelungswert verändert wird, da das Speicherelement 36, sobald es durch den Verriegelungsspeicherfreigabe-rücksetzen-Befehl zurückgesetzt ist, nicht gesetzt werden kann. Die nichtflüchtigen Inhalte des LM 35 werden mit dem Einschalten zum L-Register 33 übertragen. Es soll angemerkt werden, daß die Stelle oder der Ort des Verriegelungsspeichers 35 vom Entwurf abhängig ist. Z. B. könnte der Speicher 35 als Erweiterung der Speichermatrix 54 implementiert werden.
  • Der Schlüsselregister-laden-Befehl aus der Tabelle 1 wird verwendet, um das Schlüsselregister 31 zu laden und den Verzögerungszähler 32 einzustellen. Der Verzögerungszählerdekrementieren-Befehl wird durch den ACP 10 verwendet, um die Inhalte des Verzögerungszählers 32 um 1 zu dekrementieren. Die Lesen-der-Speicherbank-zulassen- und Lesen-der-Speicherbank- sperren-Befehle werden durch den ACP 10 verwendet, um während des Ladens des Zugriffssteuerspeichers 43 den Zugriff auf die verschiedenen Speicherblöcke der Speichermatrix 54 freizugeben oder zu sperren. Tabelle 1
  • Verriegelungsspeicher laden (31H)
  • Dieser Befehl kopiert die Inhalte des Schlüsselregisters 31 in den nichtflüchtigen Verriegelungsspeicher 35, wenn und nur dann wenn das Ausgangssignal der Verriegelungsspeicherfreigabe 36 WAHR ist.
  • Verriegelungsspeicherfreigabe rücksetzen (33H)
  • Dieser Befehl setzt das Verriegelungsspeicherfreigabe- Logikelement 36 zurück, wodurch das Laden oder Ändern des Verriegelungsspeichers 35 gesperrt wird.
  • Schlüsselregister laden (32H)
  • Dieser Befehl verschiebt die vorherigen Inhalte des Schlüsselregisters 31 um ein Byte (LSB in Richtung MSB) und lädt den "Schlüsselwert" von dem ACP 10 in das Schlüsselregister LSB. Ferner stellt er den Verzögerungszähler 32 auf seinen maximalen Wert, z. B. Nur-Einsen, ein.
  • Verzögerungszähler dekrementieren (35H)
  • Dieser Befehl dekrementiert den Verzögerungszähler 32 um eins. Der Verzögerungszähler muß gleich null sein, um ein nachträgliches Lesen der Speichermatrix 54 zuzulassen.
  • Lesen der Speicherbank zulassen (34H)
  • Dieser Befehl setzt das Bit, das der Speicherbankadresse (MBA) im Zugriffssteuerspeicher 43 entspricht, wenn und nur dann wenn das Zugriffsmodifikations-Zulassungssignal 37 WAHR ist. Dies läßt den Lesezugriff auf die gewählte Bank zu.
  • Lesen der Speicherbank sperren (38H)
  • Dieser Befehl setzt das Bit, das der Speicherbankadresse im Zugriffssteuerspeicher 43 entspricht, zurück.
  • Wird die Tabelle 1 genauer betrachtet, ist zu sehen, daß die Tabelle 1 auch die Buszyklusoperationen für jeden der hinzugefügten Befehle zeigt. Für jeden Befehl, der zwei Buszyklen erfordert, empfängt das Befehlsregister 50 im ersten Buszyklus einen durch den ACP 10 erzeugten und über den Datenbus 105a des Busses 105 und einen Eingabepuffer 51 gesendeten 8-bit- Befehl. Bedingt durch das Befehlsregister 50 empfängt das gewählte Logikelement über den Datenbus 105b die Informationen, die für das Ausführen des Befehls in einem zweiten Buszyklus erforderlich sind. Wo angegeben ist der zweite Buszyklus mit "nicht anwendbar" (entfällt) bezeichnet, da die Verriegelungsspeicherfreigabe-rücksetzen- und Verzögerungszähler dekrementieren-Befehle nur einen Zyklus für die Ausführung benötigen.
  • Während des normalen Betriebs wird das K-Register 31 mit dem durch einen Schlüsselregister-laden-Befehl aus den Speicherstellen 10-2b empfangenen Schlüsselwert geladen, während der Verzögerungszähler 32 auf seinen Maximalwert eingestellt wird. Der Verzögerungszähler 32 wird als Antwort auf aufeinanderfolgende, von dem ACP empfangene Verzögerungszähler-dekrementieren-Befehle auf Nur-Nullen dekrementiert und erzeugt ein Zählwert-Null-Ausgangssignal 41, das als Eingang an das UND 34 gelegt wird.
  • Jeder Verzögerungszähler 32 begrenzt die Anzahl der Versuche, die unternommen werden können, um auf die Flash-Speicher 103a bis 103n zuzugreifen, falls der Dieb die Chips entfernt und diese in die "ungesetzliche Karte" einsetzt und einen Prozessor oder eine Einrichtung programmiert, um wiederholt den Schlüssel eines jeden Speicherchips abzufragen versucht. Anders ausgedrückt garantiert der Zähler 32, daß eine große Anzahl von Versuchen unternommen werden muß, um einen illegalen Zugriff auf die Flash-Speicher zu gewinnen. Die Schlüssel- und Verzögerungszählergrößen sind so gewählt, daß ein solches Probieren einen unverhältnismäßigen Zeitaufwand beansprucht.
  • Genauer gesagt speichert das Schlüsselregister 31 annähernd 4 Milliarden (232) verschiedene Kombinationen. Bei der bevorzugten Ausführung ist der Verzögerungszähler 32 ein 12-bit-Zähler. Wenn angenommen wird, daß der Verzögerungszähler 32 einmal pro Mikrosekunde dekrementiert wird, erfordert dies 212 Mikrosekunden oder 4 Millisekunden pro Versuch, den Schlüsselwert zu erraten. Der ACP 10, der den korrekten Schlüsselwert kennt, erfährt beim anfänglichen Einschalten nur eine Verzögerung von 4 Millisekunden. Zufällige Versuche, den Schlüsselwert zu erraten, erfordern 231 Versuche für eine 50-prozentige Erfolgschance. Dies würde 231 · 212 Mikrosekunden oder 102 Tage erfordern, um den Schlüsselwert zu erraten. Diese Zeit reicht aus, um die meisten Diebe abzuschrecken. Natürlich könnte eine längere oder kürzere Zeit durch Modifikation der Größen des Schlüssels und des Verzögerungszählers 32 eingerichtet werden.
  • Falls eine Speicherkarte der vorliegenden Erfindung gestohlen und in einen "ungesetzlichen Host" gesteckt wird, begrenzt der ACP 10 die Anzahl der Versuche des Diebs zum Erraten der PIN durch bekannte Techniken. Solche Techniken schließen das Verriegeln des Zugriffs oder das Zerstören der Daten, wenn eine Schwelle unkorrekter Abfragen überschritten wird, mit ein.
  • Während einer anfänglichen Authentifizierungsoperation für den Flash-Speicher 103a wird als Antwort auf vier aufeinanderfolgende Schlüsselregister-laden-Befehle ein Schlüsselwert in das 32-bit-K-Register 31 geladen (d. h., daß der Datenbus 105b ein Bus mit einer Breite von 1 byte ist). Der Verzögerungszähler 32 wird auf seinen maximalen Zählwert von Nur-Einsen gebracht und durch den ACP 10 durch Senden von Verzögerungszählerdekrementieren-Befehlen in aufeinanderfolgenden ersten Buszyklen dekrementiert. Wenn der Verzögerungszähler 32 bis auf null dekrementiert worden ist, erzeugt dieser das Zählwert- Null-Signal 41, das an einen Eingang des UND-Glieds 34 angelegt wird.
  • Wenn der in dem K-Register 31 gespeicherte Schlüsselwert gleich dem in dem entsprechenden L-Register 33 gespeicherten Verriegelungswert ist, der angibt, daß der Anwender die richtige Identifizierung in den Host-Prozessor 5 eingegeben hat, legt die Vergleichslogik 39 ein Gleichheit-Signal 42 an einen anderen Eingang des UND-Glieds 34. Dies bewirkt, daß das UND- Glied 34 an seinem Ausgang ein Zugriffsmodifikations-Zulassungssignal 37 erzeugt, das das Beschreiben des Zugriffssteuerspeichers 43 unter der Steuerung des ACP 10 freigibt. Dies ermöglicht wiederum das Lesen der Speichermatrix 54.
  • Der Zugriffssteuerspeicher 43 enthält für jeden Block/jede Bank der Speichermatrix 54 einen flüchtigen 1-bit-Speicher. Diese Bits werden als Teil der Einschaltsequenz des Flash- Speichers auf null gelöscht. Um Daten aus dem Speicher 103a zu lesen, muß das dem adressierten Speicherblock entsprechende Bit auf logisch eins sein. Diese Bits werden durch den ACP 10 durch Ausgeben von Lesen-der-Speicherbank-zulassen-Befehle gesetzt, wenn und nur dann wenn das Zugriffsmodifikations- Zulassungssignal 37 WAHR ist.
  • Wie in Tabelle 1 gezeigt ist, werden im zweiten Buszyklus des Lesen-der-Speicherbank-zulassen-Befehls sowohl die drei (3) höherwertigen Adressenbits der gewählten Speicherbank der Speichermatrix 54 über den Adressenbus 105c gesendet, als auch eine Wiederholung des hexadezimalen Befehlsidentifizierers über den Datenbus 105a zum Befehlsregister 50 gesendet. Dies führt dazu, daß in die adressierte Speicherstelle im Zugriffssteuerspeicher 43 eine Eins geschrieben wird. Bei der bevorzugten Ausführung wird die Lesen-der-Speicherbank-zulassen- Befehlssequenz achtmal wiederholt, da die Speichermatrix 54 in acht Bänke von jeweils 16 kbytes organisiert ist. Der ACP 10 kann auf ähnliche Weise den Zugriff auf gewählte Bänke durch Ausgeben einer Sequenz von Lesen-der-Speicherbank-sperren- Befehlen zurückweisen.
  • Das Ausgangssignal des Zugriffssteuerspeichers 43 der vorliegenden Erfindung wird in jedem Flash-Speicher-Lesezyklus als Freigabe-Eingangssignal an den Ausgabepuffer 52 angelegt, wenn die Inhalte einer Stelle irgendeiner Bank der Speichermatrix 54 ausgelesen werden. D. h., daß ein Lesezyklus erfolgen kann, jedoch die ausgelesenen Daten daran gehindert werden, den Ausgabepuffer 52 zu durchlaufen, wenn das passende Zugriffssteuerspeicher-Torsteuersignal der Bank fehlt. Genauer enthält im Fall der bevorzugten Ausführung der Zugriffssteuerspeicher 43 acht einzeln adressierbare Bitspeicherelemente, einen mit dem Eingang jedes Speicherelements verbundenen 3-zu-8-Bit- Eingangsadressendecodierer und eine mit dem Ausgang jedes Speicherelements verbundene 1-zu-8-Bit-Ausgangsmultiplexerschaltung. Die drei höherwertigen Adressenbits jeder Adresse werden decodiert und zur Wahl des Speicherelements für den Block, dessen Inhalte zu ändern sind, verwendet. Ähnlich werden dieselben drei Bits dazu verwendet, den Ausgang des Speicherelements für den Block zu wählen, der die zu lesende Flash-Speicherstelle enthält.
  • Wenn der Verriegelungsspeicher 35 vollständig gelöscht ist, d. h., wenn an Nur-Einsen, die durch die Inhalte des L-Registers 33 angegeben sind, lauter Einsen sind, ist der Ausgabepuffer 52 stets freigegeben. D. h., wenn das Verriegelungsregister 33 "Nur-Einsen" enthält, wird ein Signal von dem Nur-Einsen-Erfassungselement 38 für das ODER-Glied 45 erzeugt, um den Ausgabepuffer 52 freizugeben. Dies versetzt den Flash- Speicher 103a effektiv in einen nicht sicheren Modus. Dies ermöglicht das Umgehen aller Sicherheitslogikschaltungen der vorliegenden Erfindung. Folglich kann derselbe Flash-Speicherchip sowohl für sichere als auch für nicht sichere Anwendungen verwendet werden, was zu einer wirtschaftlichen Herstellung führt.
  • Flash-Speicher-Grundverknüpfungsschaltungen
  • Wie in Fig. 3 gezeigt ist, enthalten diese Schaltungen eine Speichermatrix 54, ein Befehlsregister 50, Ein-/Ausgabe-Logikschaltungen 60, einen Adressen-Zwischenspeicher 56, eine Schreib-Zustandsmaschine 61, ein Löschspannungssystem 62, einen Ausgangsmultiplexer 53, ein Datenregister 55, einen Eingabepuffer 51, einen Ausgabepuffer 52 und ein Zustandsregister 58. Die Grundverknüpfungsschaltungen des Flash-Speichers 103a sind wie oben besprochen als Schaltungstypen ausgeführt, die in dem mit 28F001BX bezeichneten, von der Firma Intel Corporation hergestellten Flash-Speicher enthalten sind. Da diese Schaltungen herkömmlicher Art sind, werden sie nur soweit wie erforderlich beschrieben. Für weitere Informationen hinsichtlich dieser Schaltungen sei auf die Seiten 3-109 bis 3-134 der Veröffentlichung mit dem Titel "Memory Products" verwiesen, Bestellnummer 210830, 1992 herausgegeben von Intel Corporation. Wie in Fig. 3 gezeigt ist, empfangen die Flash- Speicher-Grundverknüpfungsschaltungen eine Anzahl von Eingangssignalen, (A0-A16) für die Adresse, Datensignale (D00- D07) und Steuersignale (CE, WE, OE, PWD und VPP). Diese Signale sind im folgenden in der Tabelle 2 beschrieben.
  • Tabelle 2. Signalbeschreibungen
  • Symbol Name und Funktion
  • AO-A16 ADRESSEN-EINGÄNGE für Speicheradressen. Adressen werden während eines Schreibzyklus intern zwischengespeichert.
  • D00-D07 DATEN-EINGÄNGE/AUSGÄNGE: Daten- und Befehlseingang während der Speicher-Schreibzyklen; Datenausgang während der Speicher- und Zustandslesezyklen. Die Datenanschlüsse sind bei Hochpegel aktiv und gehen in den Tristate "aus", wenn der Chip nicht ausgewählt ist oder die Ausgänge gesperrt sind. Die Daten werden während eines Schreibzyklus intern zwischengespeichert.
  • CE CHIP-FREIGABE: Aktiviert die Steuerlogik der Einrichtung, Eingabepuffer, Decodierer und Richtungsverstärker. CE ist aktiv bei Tiefpegel; CE auf Hochpegel gibt die Speichereinrichtung frei und reduziert die Leistungsaufnahme auf Schlummer-Pegel.
  • PWD ABGESCHALTET: Versetzt die Einrichtung in den Abschaltmodus. PWD ist aktiv bei Tiefpegel; PWD auf Hochpegel schaltet auf Normalbetrieb. PWD = VHH ermöglicht das Programmieren der Speicherblöcke. PWD sperrt außerdem die Lösch- oder Schreiboperationen, wenn es auf Tiefpegel aktiv ist, wodurch während der Leistungsübergänge ein Datenschutz geschaffen wird.
  • OE AUSGABE-FREIGABE: Schaltet während eines Lesezyklus die Ausgänge der Einrichtung über die Datenpuffer durch. OE ist aktiv bei Tiefpegel.
  • WE SCHREIB-FREIGABE: Steuert das Schreiben in das Befehlsregister und die Matrixblöcke. WE ist aktiv bei Tiefpegel. Adressen und Daten werden mit der steigenden Flanke des WE-Impulses zwischengespeichert.
  • VPP LÖSCH/PROGRAMM-LEISTUNGSVERSORGUNG zum Löschen von Blöcken der Matrix oder der Programmierbytes jedes Blocks: Wenn VPP < VPP1 Max, können die Speicherinhalte nicht verändert werden.
  • Wie in Tabelle 2 gezeigt ist, werden das Chip-Freigabesignal (CE), das Schreibfreigabesignal (WE) für den Prozessor und das Ausgabefreigabesignal (OE) von dem Host-Prozessor 5 über den Bus 102 und den Steuerbus 105b an das Befehlsregister 50 und die Ein-/Ausgabe-Logik 60 angelegt und an die durch die Steuerung spezifizierten Logikblöcken verteilt. Ein Abschaltsignal (PWD) wird ebenfalls an das Befehlsregister 50 zur Freigabe des Flash-Speichers angelegt, um die in der Tabelle 2 spezifizierten Operationen auszuführen. Dieses Signal kann, falls gewünscht, zum Löschen der flüchtigen Speicherelemente des Sicherheitssteuerabschnitts des Flash-Speichers verwendet werden, wodurch die Wiederauthentifizierung des Anwenders erzwungen wird, wenn der Normalbetrieb wiederaufgenommen wird.
  • Grundlegend arbeiten die Grundverknüpfungselemente des Flash- Speichers auf folgende Weise. Die Informationen werden in der Speichermatrix 54 über den Datenbus 105a, den Eingabepuffer 51 und das Datenregister 55 an einer adressierten Stelle eines der durch die durch eine Adressenlogik 56 von dem Adressenbus 105c empfangene Adresse spezifizierten Speicherblöcke gespeichert. Die Informationen werden aus einer spezifizierten Adressenstelle einer Bank der Speichermatrix 54 ausgelesen und über einen Ausgangsmultiplexer 53, den Ausgabepuffer 52, den Datenbus 105a und den Bus 102 zum Host-Prozessor 5 gesendet. Das Zustandsregister 58 wird zum Speichern des Zustands der Schreib-Zustandsmaschine, des Fehler-Haltezustands, des Löschzustands, des Programmzustands und des VPP-Zustands verwendet.
  • Die Schreib-Zustandsmaschine 61 steuert das Block-Löschen und steuert Programmalgorithmen. Das Programm/Lösch-Spannungssy stem 62 wird zum Löschen von Blöcken der Speichermatrix 54 oder der Programmierbytes jedes Blocks in Abhängigkeit des Pegels von VPP verwendet (d. h., wenn VPP auf Hochpegel ist, kann das Programmieren stattfinden; wenn VPP auf Tiefpegel liegt, fungiert die Speichermatrix 54 wie ein Nur-Lese-Speicher).
  • Beschreibung des Betriebs
  • Im folgenden wird der Betrieb der sicheren Speicherkarte der vorliegenden Erfindung unter speziellem Bezug auf das Ablaufdiagramm der Fig. 4 und 5 beschrieben. Vor dem genauen Beschreiben der Operationen werden zuerst die Schritte beschrieben, die mit der Herstellung, der kundenspezifischen Anpassung und dem Betrieb der Speicherkarte zu tun haben.
  • Im ersten Schritt stellt der ACP 10 bei der Kartenherstellung den Verriegelungswert für jeden Speicherchip auf der Speicherkarte ein. Er führt dies aus durch Laden des Schlüsselwerts in den Verriegelungsspeicher aus Fig. 3. Diese Werte werden in dem geschützten nichtflüchtigen Speicher 10-2 des ACP gespeichert (d. h. die Schlüssel 1-n in Fig. 2). Die Verriegelungsspeicher-Freigabeelemente 36 werden dann auf null gesetzt, um ein weiteres Ändern oder Lesen der Verriegelungsspeicherinhalte zu verhindern. Da diese Elemente nichtflüchtig sind, können sie nur verändert werden, wenn der gesamte Flash-Speicherchip gelöscht wird.
  • Im zweiten Schritt kann dann bei der kundenspezifischen Anpassung die Speicherkarte mit ihren Daten oder ihrer Softwareanwendung geladen werden, da das Schreiben durch die Schutzfunktionalität nicht berührt wird. Der ACP 10 wird dann mit Informationen geladen, die die Struktur der Bank des Speichers und den Grad des Schutzes, der für jede Speicherbank angewandt werden soll, betreffen.
  • Im dritten Schritt richtet bei der kundenspezifischen Anpassung der Anwender die Parameter für Frequenz und Authentifizierungsmodus und die notwendigen spezifischen Daten (d. h. Personenidentifizierungsnummern (PINs)) ein. Diese Informationen werden im Speicher des ACP gespeichert.
  • Im vierten Schritt werden mit dem Einschalten das Schlüsselregister, das Zugriffsmodifikations-Zulassungssignal und der Zugriffssteuerspeicher initialisiert, um den Zugriff auf Daten oder das Schreiben in den Zugriffssteuerspeicher 43 zu verhindern. Der erste Authentifizierungsdialog wird initiiert.
  • Im ersten Authentifizierungsdialog fordert und empfängt der ACP 10 mit Hilfe der Dienste seines Host-Prozessors 5 vom Anwender Authentifizierungsinformationen. Wenn die Authentifizierung nicht erfolgreich ist, wird keine Operation ausgeführt; wenn sie erfolgreich ist, wird das Schlüsselregister jedes Speicherchips mit dem in dem Speicher des ACP gespeicherten Wert geladen. Während dieser Operation wird der Verzögerungszähler 32 dazu verwendet, die Chipoperation für eine auf das Laden folgende Zeitperiode zu verhindern, um zufällige Versuche zu einem nutzlosen Prozeß zu machen. Das Laden der Schlüsselregister bewirkt, daß das Zugriffsmodifikations- Zulassungssignal in jedem Chip WAHR ist. Der ACP 10 richtet dann den Zugriff ein durch Laden des Zugriffssteuerspeichers gemäß der gespeicherten Konfiguration von Informationen.
  • Im sechsten Schritt fordert der ACP 10 in einem anschließenden Authentifizierungsdialog periodisch, der Konfiguration des Anwenders entsprechend, eine zusätzliche Anwenderauthentifizierung (Wiederauthentifizierung) an. Im Falle eines Fehlschlagens versetzt der ACP 10 alle Speicherchips in ihre Einschaltzustände, wodurch durch das Löschen des Zugriffssteuerspeichers 43 und das Löschen der Inhalte des Schlüsselregisters 31 jeglicher Zugriff auf die Daten der Speicher gesperrt wird. Im folgenden wird mit Bezug auf die Fig. 4 und 5 der Betrieb des Systems aus Fig. 1 beschrieben.
  • Erste Operationen des Tages
  • Fig. 4 zeigt in Form eines Blockdiagramms die verschiedenen Betriebsmodi. Die Blöcke 402 und 401 zeigen die zwei Bedingun gen des Hochfahrens. Im Block 402 setzt der Anwender die Speicherkarte 3 in den zuvor eingeschalteten Host-Prozessor 5 ein. Im Block 401 schaltet der Anwender den Host-Prozessor 5 mit der bereits installierten Speicherkarte 3 ein.
  • Bei beiden obigen Hochfahrvorgängen werden im Block 402b der ACP 10 und seine Schnittstellen auf herkömmliche Weise initialisiert, während der Block 403 alle n K-Register 31 und die n Zugriffssteuerspeicher 43 als Teil der internen Initialisierungssequenzen der Flash-Speicher 103a bis 103n löscht. Dies verhindert, daß Daten aus den Speichern 103a bis 103n ausgelesen werden können, da der Ausgabepuffer 52 in jedem Speicher gesperrt ist. Die Verriegelungswerte werden infolge des Einschaltens aus den jeweiligen LM 35 in die n L-Register 33 geladen.
  • Nun sendet im Block 404 der ACP 10 ein Unterbrechungssignal zum Host-Prozessor 5, der durch Anfordern der PIN oder anderer identifizierender Informationen vom Anwender antwortet. Im Block 405 prüft der ACP 10 mit Hilfe des in den Speicherstellen 10-2a gespeicherten Programms, ob die PIN oder andere identifizierende Informationen mit den in den Speicherstellen 10-2a gespeicherten Informationen übereinstimmt. Bei Nichtübereinstimmung zählt der Entscheidungsblock 406 einen Fehler, und der ACP 10 verzweigt auf den Block 404, um die Prüfung zu wiederholen. Wenn die Prüfung für eine vorgegebene Anzahl fehlschlägt, verzweigt der Entscheidungsblock 406 zum Block 407, um zu bewirken, daß der ACP 10 die Inhalte der Speicher 103a bis 103n entweder total sperrt oder vernichtet.
  • Erste Anwenderauthentifizierung erfolgreich
  • Wenn es im Entscheidungsblock 405 eine Übereinstimmung gibt, die eine erfolgreiche Authentifizierung anzeigt, lädt der ACP 10 im Block 408 über einen Schlüsselregister-laden-Befehl in jedes K-Register 31 den passenden Schlüsselwert aus den Speicherstellen 10-2b. Außerdem dekrementiert der Block 409 wiederholt die Inhalte des Verzögerungszählers 32 durch aufeinanderfolgendes Ausgeben des Verzögerungszähler-dekremen tieren-Befehls bis auf einen Zählwert gleich binär null, der das Erzeugen des Zählwert-Null-Signals bewirkt.
  • Im Block 410 wird jede Stelle eines Zugriffssteuerspeichers 43 über den Lesen-der-Speicherbank-zulassen-Befehl mit Informationen geladen, um den Zugriff auf die gewählten Bänke des entsprechenden Flash-Speichers 103a bis 103n zuzulassen.
  • Sporadische Wiederauthentifizierung
  • Im Block 411 wartet der ACP 10 auf das Ende des vorgegebenen, durch die in den Speicherstellen 10-2a gespeicherten Informationen eingerichteten Zeitintervalls, das vor der Anforderung einer Wiederauthentifizierung durch den Intervallzähler 10-8 signalisiert wird. Daraufhin unterbricht im Block 412 der ACP 10 den Host-Prozessor 5, um den Anwender aufzufordern, die PIN oder eine andere geforderte Identifizierung neu einzugeben.
  • Der Entscheidungsblock 413 prüft die PIN oder die anderen Informationen, die von dem Host-Prozessor 5 empfangen worden sind, gegen die in den Speicherstellen 10-2a gespeicherten Informationen, wobei der Ausgang des Intervallzeitgebers 10-8 aufgezeichnet wird. Dem Anwender steht ein vorgegebenes Zeitintervall von üblicherweise 30 Sekunden zur Verfügung, innerhalb dessen er die Authentifizierungsinformationen in den Host-Prozessor 5 eingeben muß. Während die Uhr läuft, zeichnet der Block 414 die Prüfung als Fehler auf, wenn die Prüfung des Entscheidungsblocks 413 fehlschlägt. Zu diesem Zeitpunkt prüft er, ob eine maximale Anzahl von Fehlern erreicht worden ist, und verzweigt zur Wiederholung der Blöcke 412 und 413. Wenn die Anzahl der Fehler gleich der maximalen Anzahl ist, löscht der ACP 10 im Block 415 das Flash-Speicher-K-Register 31 über aufeinanderfolgende Schlüsselregister-laden-Befehle und die Zugriffssteuerspeicher 43 über aufeinanderfolgende Lesen-des- Speichers-sperren-Befehle. Der Block 415 verzweigt dann zum Block 404, um zu ermöglichen, daß eine neue "Erste Authentifizierungsoperation" stattfindet.
  • Wenn die Prüfung in Entscheidungsblock 413 erfolgreich ist, bleibt das K-Register 31 unverändert (d. h., es enthält den zuvor durch den ACP geladenen Schlüsselwert), wodurch der Anwender in die Lage versetzt wird, das System weiterhin zu bedienen. Falls die 30 Sekunden vergehen, ohne daß der Entscheidungsblock 413 die PIN oder andere Informationen empfangen hat, löscht der ACP 10 das K-Register 31 und den Zugriffssteuerspeicher 43 wie zuvor.
  • Fig. 5 ist ein Ablaufdiagramm, das zeigt, wie der Host-Prozessor 5 auf eine Unterbrechungsanforderung von dem ACP 10 für eine Authentifizierung als Antwort auf die Blöcke 404 und 412 in Fig. 4 reagiert. Wie gezeigt wartet der Entscheidungsblock 501 auf eine Unterbrechung von dem ACP 10, die anfordert, daß der Anwender die PIN oder andere Informationen erneut einzugeben hat. Der Entscheidungsblock 501 verzweigt auf den Block 502, wenn er von den Blöcken 404 oder 412 die Unterbrechung empfängt. Der Block 502 zeigt die Anforderung der PIN oder anderen Informationen auf der Host-Anzeige 5-2 an. Der Block 503 nimmt die Informationen von der Tastatur an, während der Block 504 den ACP 10 durch eine Unterbrechung anhält. Der Block 5 sendet die PIN zum ACP 10.
  • Fachleuten wird klar sein, daß viele Änderungen an der bevorzugten Ausführung der vorliegenden Erfindung vorgenommen werden können, ohne von ihren Lehren abzuweichen. Z. B. kann die Erfindung mit verschiedenen Typen nichtflüchtiger Speicher und verschiedenen Schnittstellen usw. angewandt werden.
  • Auch wenn die zweckmäßigste Form der Erfindung vorschrifts- und gesetzmäßig veranschaulicht und beschrieben worden ist, können bestimmte Änderungen ausgeführt werden, ohne von der Erfindung, die in den beigefügten Ansprüchen angegeben ist, abzuweichen.

Claims (20)

1. Sichere Speicherkarte für die Verwendung mit einem tragbaren Host-Computer, wobei die Speicherkarte enthält:
einen Mikroprozessor (10-6), der so angeschlossen ist, daß er Adressen-, Daten- und Steuerinformationen an den Host-Computer (5) senden und von diesem empfangen kann, und einen ersten adressierbaren, nichtflüchtigen Speicher (10-2) zum Speichern von Informationen einschließlich einer Anzahl von Schlüsselwerten und Konfigurationsinformationen enthält;
einen internen Bus (105), der an den Mikroprozessor angeschlossen ist, um Adressen-, Daten- und Steuerinformationen, die die von der Karte auszuführenden Speicheroperationen definieren, zu übertragen; und
eine Gruppe zweiter adressierbarer, nichtflüchtiger Speicher, die wenigstens einen zweiten nichtflüchtigen Speicher (103a) enthält, der zusammen mit dem Mikroprozessor an den internen Bus angeschlossen ist, um die Adressen-, Daten- und Steuerinformationen zu empfangen, wobei der Speicher einen nichtflüchtigen Speicherabschnitt und einen Sicherheitssteuerabschnitt enthält, wobei der Speicherabschnitt einerseits eine Speichermatrix (54), die in einer Anzahl von Blöcken organisiert ist, wovon jeder mehrere adressierbare Plätze besitzt, und andererseits eine Steuerlogikeinrichtung (50) zum Ausführen der Speicheroperationen enthält und der Sicherheitssteuerabschnitt an den internen Bus, an die Steuerlogikeinrichtung und an die Speichermatrix angeschlossen ist und enthält:
eine Anzahl nichtflüchtiger (31, 35) und flüchtiger (33, 43) Speichervorrichtungen zum Speichern wenigstens eines der Schlüsselwerte und der Konfigurationsinformationen, die den Blöcken zugeordnet sind; und
eine Zugriffssteuerlogikeinrichtung (32, 34, 39), die an die Steuerlogikeinrichtung (50) und an die Speichervorrichtungen angeschlossen ist und das Lesen von Informationen, die in adressierten Blöcken der Speichermatrix (54), wie sie durch die Konfigurationsinformationen spezifiziert sind, gespeichert sind, nur dann freigibt, wenn der Mikroprozessor bestimmt hat, daß eine vorgegebene Authentifizierungsprozedur mit dem Host- Computer ausgeführt worden ist, und die Zugriffssteuerlogikeinrichtung freigegeben hat, um das Lesen der Informationen aus der Speichermatrix in Übereinstimmung mit den Konfigurationsinformationen zuzulassen.
2. Speicherkarte nach Anspruch 1, wobei der Mikroprozessor (10-6) und der zweite nichtflüchtige Speicher (103a) auf getrennten Halbleiterchips enthalten sind.
3. Speicherkarte nach Anspruch 1, wobei die Karte ferner eine Schnittstellenschaltungseinrichtung (104) enthält, die die Karte (3) mit dem Host-Computer (5) koppelt, und wobei die Schnittstellenschaltungseinrichtung und der Mikroprozessor im selben Halbleiterchip enthalten sind.
4. Speicherkarte nach Anspruch 1, wobei der zweite nicht- flüchtige Speicher (103a) und die nichtflüchtigen Speichervorrichtungen (31, 35) Flash-Speicher sind.
5. Speicherkarte nach Anspruch 1, wobei eine der nichtflüchtigen Speichervorrichtungen ein Verriegelungsspeicher (35) zum Speichern eines dem einen Schlüsselwert entsprechenden Verriegelungswerts ist und eine zweite der nichtflüchtigen Vorrichtungen ein Verriegelungsspeicher-Freigabeelement (36) ist, das den Verriegelungsspeicher (35) anschließt, wobei der Verriegelungsspeicher anfangs mit dem Verriegelungswert geladen wird und das Verriegelungsspeicher-Freigabeelement in einen Zustand geschaltet wird, der die Abwandlung des Verriegelungswerts unter der Steuerung des Mikroprozessors verhindert.
6. Speicherkarte nach Anspruch 2, wobei die Speicherung des Verriegelungswerts und das Schalten des Verriegelungsspeicher- Freigabeelements (36) während der anfänglichen Herstellung der Speicherkarte erfolgen.
7. Speicherkarte nach Anspruch 5, wobei eine der flüchtigen Speichervorrichtungen ein adressierbarer Zugriffssteuerspeicher (43) mit mehreren Plätzen, deren Anzahl der Anzahl von Blöcken der Speichermatrix (54) entspricht, ist und die Konfigurationsinformationen speichert, wobei der Zugriffssteuerspeicher an den internen Bus (105) und an die Zugriffssteuerlogikeinrichtung (32, 34, 39) angeschlossen ist, wobei der Zugriffssteuerspeicher unter der Steuerung des Mikroprozessors (10-6) nur geladen wird, nachdem der Mikroprozessor bestimmt hat, daß die vorgegebene Authentifizierungsprozedur anfangs mit dem Host-Computer (5) erfolgreich ausgeführt worden ist, wodurch die Freigabe des Zugriffssteuerspeichers (43) durch die Zugriffssteuerlogikeinrichtung bewirkt wird.
8. Speicherkarte nach Anspruch 7, wobei der Verriegelungswert, der in den Verriegelungsspeicher (35) geladen wird, nur aus Einsen besteht und wobei der Sicherheitssteuerabschnitt ferner eine Schaltung (38) zur Erfassung von Nur-Einsen enthält, die an den Verriegelungsspeicher angeschlossen ist, wobei die Erfassungsschaltung als Antwort auf den Verriegelungswert nur aus Einsen ein Signal erzeugt, das den Sicherheitssteuerabschnitt effektiv umgeht, um den zweiten nicht- flüchtigen Speicher (103a) freizugeben, damit er so arbeitet, als ob der Sicherheitssteuerabschnitt nicht enthalten wäre.
9. Speicherkarte nach Anspruch 7, wobei die Ausführung der vorgegebenen Authentifizierungsprozedur anfangs erfolgt, wenn die Speicherkarte (3) zum erstenmal angeschlossen wird, um mit dem Host-Computer (5) zu kommunizieren.
10. Speicherkarte nach Anspruch 9, wobei die Zugriffssteuereinrichtung ein Verriegelungsregister (33), das so angeschlossen ist, daß es den Verriegelungswert vom Verriegelungsspei cher (35) empfängt, eine Komparatorschaltung (39), ein Schlüsselregister (31) zum Speichern eines Schlüsselwerts, der vom Mikroprozessor an das Schlüsselregister übertragen wird, einen Verzögerungszähler (32) zum Speichern eines Zählstandes, der ein vorgegebenes Zeitintervall definiert, und eine Torschaltungseinrichtung (34) enthält, die an den Zugriffssteuerspeicher (43), an den Komparator und an den Verzögerungszähler angeschlossen ist, wobei die Komparatorschaltung an die Verriegelungs- und Schlüsselregister sowie an die Torschaltungseinrichtung angeschlossen ist und die Torschaltungseinrichtung an den Verzögerungszähler angeschlossen ist, um als Antwort auf die Meldung eines übereinstimmenden Vergleichs mit dem in das Verriegelungsregister (33) geladenen Verriegelungscodewert durch die Komparatorschaltung ein Zugriffsmodifikations-Zulassungssignal zu erzeugen, wenn der Verzögerungszähler (32) ein Ende des vorgegebenen Zeitintervalls meldet, wobei das Zugriffsmodifikations-Zulassungssignal den Zugriffssteuerspeicher (43) so konditioniert, daß er die Konfigurationsinformationen lädt.
11. Speicherkarte nach Anspruch 10, wobei die Steuerlogikeinrichtung (50) Schaltungen zum Erzeugen von Befehlssignalen als Antwort auf eine vorgegebene Gruppe von Befehlen, die vom Mikroprozessor bei der Steuerung des Betriebs des Sicherheitssteuerabschnitts jedes Speicherchips verwendet werden, enthält.
12. Speicherkarte nach Anspruch 11, wobei die Steuerlogikeinrichtung (50) als Antwort auf einen ersten der vorgegebenen Gruppe von Befehlen, die vom Mikroprozessor erzeugt werden, ein erstes Signal zum Laden des Verriegelungscodewerts in den Verriegelungsspeicher (35) erzeugt, wobei der erste der vorgegebenen Befehle während der anfänglichen Herstellung der Karte erzeugt wird.
13. Speicherkarte nach Anspruch 12, wobei die Steuerlogikeinrichtung (50) als Antwort auf einen zweiten der vorgegebenen Gruppe von Befehlen, die vom Mikroprozessor erzeugt werden, ein zweites Signal zum Schalten des Verriegelungsspeicher- Freigabeelements (36) in einen vorgegebenen Zustand, der das Lesen oder die Modifikation des im Verriegelungsspeicher (35) gespeicherten Verriegelungswerts verhindert, erzeugt.
14. Speicherkarte nach Anspruch 12, wobei die Steuerlogikeinrichtung (50) als Antwort auf einen dritten der vorgegebenen Gruppe von Befehlen, die vom Mikroprozessor erzeugt werden, ein drittes Signal zum Laden des Schlüsselregisters (31) mit einem vorgegebenen der Schlüsselwerte erzeugt, wobei der dritte der vorgegebenen Gruppe von Befehlen vom Mikroprozessor nur dann erzeugt wird, wenn der Mikroprozessor bestimmt hat, daß die vorgegebene Authentifizierungsprozedur erfolgreich ausgeführt worden ist.
15. Speicherkarte nach Anspruch 14, wobei das von der Steuerlogikeinrichtung (50) erzeugte dritte Signal gleichzeitig den Verzögerungszähler (32) auf einen vorgegebenen Zählstand zwingt, um den Beginn eines vorgegebenen Zeitintervalls zu schaffen, und wobei die Steuerlogikeinrichtung als Antwort auf jeden vierten der vorgegebenen Gruppe von Befehlen, die vom Mikroprozessor erzeugt werden, den vorgegebenen Zählstand um eins dekrementiert, wobei der Verzögerungszähler das Ende des Zeitintervalls, das der Ausführung einer vorgegebenen Anzahl vierter Befehle der Gruppe vorgegebener Befehle folgt, meldet.
16. Speicherkarte nach Anspruch 11, wobei die Steuerlogikeinrichtung (50) als Antwort auf eine Anzahl fünfter und sechster der vorgegebenen Gruppe von vom Mikroprozessor erzeugten Befehlen fünfte bzw. sechste Signale zum Setzen und Zurücksetzen von Plätzen im Zugriffssteuerspeicher (43) entsprechend den Konfigurationsinformationen erzeugt, um zu definieren, von welchen der Blöcke das Auslesen von Informationen zugelassen ist.
17. Speicherkarte nach Anspruch 1, wobei
- die Speichervorrichtungen einen nichtflüchtigen Verriegelungsspeicher (35) zum anfänglichen Empfangen und permanenten Speichern eines vorgegebenen Verriegelungswerts, der mit einem der Schlüsselwerte übereinstimmt, enthalten;
- der Mikroprozessor (10-6) so beschaffen ist, daß er an den zweiten nichtflüchtigen Speicher (103a) über den internen Bus den einen der Schlüsselwerte sendet, falls die Authentifizierungsprozedur mit dem Host-Computer (5) erfolgreich ausgeführt worden ist;
- die Zugriffssteuerlogikeinrichtung (32, 34, 39) so beschaffen ist, daß sie erfaßt, wann der eine gesendete der Schlüsselwerte mit dem Verriegelungswert übereinstimmt, und daß sie das Lesen der Speichermatrix (54) freigibt, falls eine Übereinstimmung bestätigt wird.
18. Verfahren zum Konstruieren einer sicheren Speicherkarte, die in einem Host-Computer (5) installierbar ist und eine Anzahl nichtflüchtiger Speicherchips (103a, 103b, ... 103n) enthält, wobei jeder Speicherchip eine in Blöcken aus adressierbaren Plätzen organisierte Speichermatrix (54) und Steuerlogikschaltungen (50) zum Erzeugen von Befehlssignalen zum Ausführen von Speicheroperationen enthält, wobei das Verfahren die folgenden Schritte enthält:
(a) Einbauen eines Mikroprozessors (10) in die Karte, die so angeschlossen ist, daß sie mit dem Host-Computer kommuniziert, wenn sie darin installiert ist, wobei der Mikroprozessor einen adressierbaren nichtflüchtigen Speicher (10-2) zum Speichern von Informationen einschließlich einer Anzahl von Schlüsselwerten, die die Fähigkeit des Zugriffs von Anwendern auf Speicherbereiche definieren, sowie von Speicherkonfigurationsinformationen, die die Fähigkeit zum Zugreifen auf die Speicherbereiche definieren, enthält;
(b) Einbauen von Sicherheitslogikschaltungen in jeden nichtflüchtigen Speicherchip, wobei die Sicherheitslogikschaltungen einen nichtflüchtigen Verriegelungsspeicher (35) zum Speichern eines vorgegebenen Verriegelungswerts, der mit einem der Schlüsselwerte übereinstimmt, eine Zugriffssteuerlogikeinrichtung (32, 34, 39), die an den Verriegelungsspeicher angeschlossen ist, sowie einen adressierbaren, flüchtigen 2u griffssteuerspeicher (43) mit mehreren Plätzen, deren Anzahl der Anzahl von Blöcken zum Speichern der Fähigkeit zum Zugreifen auf Bitinformationen entsprechend den Konfigurationsinformationen entspricht, enthalten;
(c) Verbinden des Mikroprozessors mit jedem Speicherchip, um Adressen-, Daten- und Steuerinformationen an jeden Speicherchip zu übertragen;
(d) Modifizieren der Steuerlogikschaltungen (50), so daß sie auf mehrere Befehle zum Betreiben der Sicherheitslogikschaltungen ansprechen;
(e) Anordnen des Mikroprozessors (10-6) in der Weise, daß er eine im voraus geschaffene anfängliche Anwenderauthentifizierungsoperation mit dem Host-Computer (5) ausführt, wenn von einem Anwender ein Zugriff auf die Blöcke angefordert wird; und
(f) Anordnen des Mikroprozessors (10-6) in der Weise, daß er die Sicherheitslogikschaltungen durch Übertragen spezifischer der mehreren Befehle an jeden Chip nur dann freigibt, wenn die Authentifizierungsoperation im Schritt (e) erfolgreich ausgeführt worden ist, um das Auslesen der in verschiedenen der Blöcke gespeicherten Informationen entsprechend den im Zugriffssteuerspeicher gespeicherten Zugriffsfähigkeit- Bitinformationen zuzulassen.
19. Verfahren nach Anspruch 23, wobei der nichtflüchtige Speicher (10-2) des Mikroprozessors eine Anzahl von Abschnitten besitzt und wobei der Schritt (a) ferner die folgenden Schritte enthält: Veranlassen des Mikroprozessors, daß er Zufallswerte für die Schlüsselwerte erzeugt, und Laden der Schlüsselwerte in einen ersten (10-2b) der mehreren Abschnitte.
20. Verfahren nach Anspruch 24, wobei der Mikroprozessor ferner einen Intervallzähler (10-8) enthält, der an den nicht- flüchtigen Speicher (10-2) des Mikroprozessors angeschlossen ist, und wobei der Schritt (a) ferner die folgenden Schritte enthält: Veranlassen des Mikroprozessors, daß er ein vom Anwender gewähltes Zeitintervall erzeugt, und Laden eines Wertes, der dem vom Anwender gewählten Zeitintervall ent spricht, in den Intervallzähler, und wobei das Verfahren ferner die folgenden Schritte enthält:
(g) Veranlassen des Mikroprozessors, daß er periodisch die Anwenderauthentifizierungsoperation des Schrittes (e) in dem vom Anwender gewählten Zeitintervall beginnt; und
(h) fortgesetztes Zulassen des Auslesens der in den Blöcken gespeicherten Informationen in Übereinstimmung mit den Zugriffsfähigkeit-Bitinformationen, solange die Authentifizierungsoperation des Schrittes (e) erfolgreich ausgeführt wird.
DE69325072T 1992-10-14 1993-10-08 Gesicherte Speicherkarte Expired - Lifetime DE69325072T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/960,748 US5293424A (en) 1992-10-14 1992-10-14 Secure memory card

Publications (2)

Publication Number Publication Date
DE69325072D1 DE69325072D1 (de) 1999-07-01
DE69325072T2 true DE69325072T2 (de) 1999-10-28

Family

ID=25503564

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69325072T Expired - Lifetime DE69325072T2 (de) 1992-10-14 1993-10-08 Gesicherte Speicherkarte

Country Status (10)

Country Link
US (1) US5293424A (de)
EP (1) EP0596276B1 (de)
JP (1) JP3493047B2 (de)
AT (1) ATE180587T1 (de)
DE (1) DE69325072T2 (de)
DK (1) DK0596276T3 (de)
ES (1) ES2135432T3 (de)
FI (1) FI955307A (de)
NO (1) NO309887B1 (de)
SG (1) SG48001A1 (de)

Families Citing this family (254)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2686171B1 (fr) * 1992-01-14 1996-09-06 Gemplus Card Int Carte a memoire de masse pour microordinateur avec facilites d'execution de programmes internes.
WO2004077300A1 (ja) * 1992-01-22 2004-09-10 Yoshimasa Kadooka Icメモリカード及びそのデータ保護方法
DE4205567A1 (de) * 1992-02-22 1993-08-26 Philips Patentverwaltung Verfahren zum steuern des zugriffs auf einen speicher sowie anordnung zur durchfuehrung des verfahrens
WO1995024698A1 (en) * 1992-10-14 1995-09-14 Cp8 Transac A secure memory card
FR2697357B1 (fr) * 1992-10-23 1994-12-23 Gemplus Card Int Procédé d'acquisition de logiciels et système informatique pour mettre en Óoeuvre le procédé.
JP3471842B2 (ja) * 1993-03-29 2003-12-02 株式会社東芝 データ管理装置、データ記憶装置およびデータ管理方法
US5696993A (en) * 1993-12-03 1997-12-09 Intel Corporation Apparatus for decoding and providing the decoded addresses to industry standard PCMCIA card through the data lines of the parallel port
AU1265195A (en) * 1993-12-06 1995-06-27 Telequip Corporation Secure computer memory card
US5491827A (en) * 1994-01-14 1996-02-13 Bull Hn Information Systems Inc. Secure application card for sharing application data and procedures among a plurality of microprocessors
US5442704A (en) * 1994-01-14 1995-08-15 Bull Nh Information Systems Inc. Secure memory card with programmed controlled security access control
US5594493A (en) * 1994-01-19 1997-01-14 Nemirofsky; Frank R. Television signal activated interactive smart card system
US5880769A (en) * 1994-01-19 1999-03-09 Smarttv Co. Interactive smart card system for integrating the provision of remote and local services
US5715422A (en) * 1994-03-01 1998-02-03 New Media Corp. Data-storage and processing card having on-board data, processing instructions, and processing memory
US5600802A (en) * 1994-03-14 1997-02-04 Apple Computer, Inc. Methods and apparatus for translating incompatible bus transactions
WO1995025308A1 (en) * 1994-03-17 1995-09-21 M-Systems Ltd. Combined personal data manager and computer storage device
US6325291B1 (en) * 1994-04-19 2001-12-04 Smarrt Diskette Gmbh Apparatus and method for transferring information between a smart diskette device and a computer
JPH07302492A (ja) * 1994-05-04 1995-11-14 Internatl Business Mach Corp <Ibm> 再プログラム可能プラグ・イン・カートリッジ
US5630048A (en) * 1994-05-19 1997-05-13 La Joie; Leslie T. Diagnostic system for run-time monitoring of computer operations
US5530753A (en) * 1994-08-15 1996-06-25 International Business Machines Corporation Methods and apparatus for secure hardware configuration
US5564055A (en) * 1994-08-30 1996-10-08 Lucent Technologies Inc. PCMCIA slot expander and method
US6058478A (en) * 1994-09-30 2000-05-02 Intel Corporation Apparatus and method for a vetted field upgrade
US5802558A (en) * 1994-09-30 1998-09-01 Intel Corporation Method and apparatus for upgrading reprogrammable memory contents in a PCMCIA card
US5848298A (en) * 1995-02-21 1998-12-08 Intel Corporation System having two PC cards in a hinged carrying case with battery compartment within in the hinge section
US5731629A (en) * 1995-03-10 1998-03-24 Data-Disk Technology, Inc. Personal memory devices carried by an individual which can be read and written to
US5892975A (en) * 1995-05-31 1999-04-06 Intel Corporation System for wake-up module on PC card detecting switches had actuated and causing image to display to appear that was displayed when turned off
DE19522029A1 (de) * 1995-06-17 1996-12-19 Uestra Hannoversche Verkehrsbe Vorrichtung zum Lesen und/oder Schreiben von Speicherkarten
US5640002A (en) * 1995-08-15 1997-06-17 Ruppert; Jonathan Paul Portable RF ID tag and barcode reader
JPH0962583A (ja) * 1995-08-24 1997-03-07 Mitsubishi Electric Corp データ処理装置
US7822989B2 (en) * 1995-10-02 2010-10-26 Corestreet, Ltd. Controlling access to an area
US6075858A (en) * 1995-10-27 2000-06-13 Scm Microsystems (U.S.) Inc. Encryption key system and method
SE505353C2 (sv) * 1995-10-31 1997-08-11 Nordbanken Ab Förfarande och anordning vid datakommunikation
US5835689A (en) * 1995-12-19 1998-11-10 Pitney Bowes Inc. Transaction evidencing system and method including post printing and batch processing
US6157919A (en) 1995-12-19 2000-12-05 Pitney Bowes Inc. PC-based open metering system and method
US5805929A (en) * 1996-01-29 1998-09-08 International Business Machines Corporation Multiple independent I/O functions on a PCMCIA card share a single interrupt request signal using an AND gate for triggering a delayed RESET signal
US5835594A (en) * 1996-02-09 1998-11-10 Intel Corporation Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
JPH1083363A (ja) * 1996-03-28 1998-03-31 Mega Chips:Kk ゲームプログラム供給システムおよびプログラム書き換えシステム
US6088450A (en) * 1996-04-17 2000-07-11 Intel Corporation Authentication system based on periodic challenge/response protocol
US5938750A (en) * 1996-06-28 1999-08-17 Intel Corporation Method and apparatus for a memory card bus design
US5854891A (en) * 1996-08-09 1998-12-29 Tritheim Technologies, Inc. Smart card reader having multiple data enabling storage compartments
US5923884A (en) * 1996-08-30 1999-07-13 Gemplus S.C.A. System and method for loading applications onto a smart card
JPH10124399A (ja) * 1996-10-22 1998-05-15 Mitsubishi Electric Corp Icメモリカード
FR2758430B1 (fr) * 1997-01-10 2000-08-18 Television Par Satellite Tps Procede et systeme de telechargement de donnees numeriques par satellite
US6073243A (en) * 1997-02-03 2000-06-06 Intel Corporation Block locking and passcode scheme for flash memory
US5954818A (en) * 1997-02-03 1999-09-21 Intel Corporation Method of programming, erasing, and reading block lock-bits and a master lock-bit in a flash memory device
US6035401A (en) * 1997-02-03 2000-03-07 Intel Corporation Block locking apparatus for flash memory
US6247129B1 (en) 1997-03-12 2001-06-12 Visa International Service Association Secure electronic commerce employing integrated circuit cards
US6557104B2 (en) * 1997-05-02 2003-04-29 Phoenix Technologies Ltd. Method and apparatus for secure processing of cryptographic keys
US6370517B2 (en) * 1997-05-13 2002-04-09 Hitachi, Ltd. Electronic money card, electronic money receiving/paying machine, and electronic money card editing device
US5953700A (en) * 1997-06-11 1999-09-14 International Business Machines Corporation Portable acoustic interface for remote access to automatic speech/speaker recognition server
US6039645A (en) 1997-06-24 2000-03-21 Cummins-Allison Corp. Software loading system for a coin sorter
US6074312A (en) * 1997-07-28 2000-06-13 Dynamic Solutions International Golf handicap system and methods
US5928363A (en) * 1997-08-27 1999-07-27 International Business Machines Corporation Method and means for preventing unauthorized resumption of suspended authenticated internet sessions using locking and trapping measures
JPH11175402A (ja) * 1997-12-10 1999-07-02 Fujitsu Ltd カード型記憶媒体及びカード型記憶媒体のアクセス制御方法並びにカード型記憶媒体用アクセス制御プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH11191149A (ja) * 1997-12-26 1999-07-13 Oki Electric Ind Co Ltd Icカード用lsiおよびその使用方法
US6422462B1 (en) * 1998-03-30 2002-07-23 Morris E. Cohen Apparatus and methods for improved credit cards and credit card transactions
JP2000003424A (ja) * 1998-04-17 2000-01-07 Hitachi Ltd メモリ内容移行制御部を備えたicカ―ド及びicカ―ドのデ―タ記憶方法
US6209069B1 (en) 1998-05-11 2001-03-27 Intel Corporation Method and apparatus using volatile lock architecture for individual block locking on flash memory
US6154819A (en) * 1998-05-11 2000-11-28 Intel Corporation Apparatus and method using volatile lock and lock-down registers and for protecting memory blocks
FR2778998B1 (fr) * 1998-05-20 2000-06-30 Schlumberger Ind Sa Procede d'authentification d'un code personnel d'un utilisateur d'une carte a circuit integre
IL124594A0 (en) * 1998-05-21 1998-12-06 Nds Ltd Context saving system
US6297789B2 (en) * 1998-07-09 2001-10-02 Tyco Electronics Corporation Integrated circuit card with liquid crystal display for viewing at least a portion of the information stored in the card
US6460138B1 (en) * 1998-10-05 2002-10-01 Flashpoint Technology, Inc. User authentication for portable electronic devices using asymmetrical cryptography
US6901457B1 (en) 1998-11-04 2005-05-31 Sandisk Corporation Multiple mode communications system
US6279114B1 (en) 1998-11-04 2001-08-21 Sandisk Corporation Voltage negotiation in a single host multiple cards system
JP2000181898A (ja) * 1998-12-14 2000-06-30 Nec Corp フラッシュメモリ搭載型シングルチップマイクロコンピュータ
US6618789B1 (en) * 1999-04-07 2003-09-09 Sony Corporation Security memory card compatible with secure and non-secure data processing systems
JP3389186B2 (ja) 1999-04-27 2003-03-24 松下電器産業株式会社 半導体メモリカード及び読み出し装置
EP1058216B1 (de) 1999-06-04 2002-12-11 D'Udekem D'Acoz, Xavier Guy Bernard Speicherkarte
DE19929164A1 (de) * 1999-06-25 2001-01-11 Giesecke & Devrient Gmbh Verfahren zum Betreiben eines zur Ausführung von nachladbaren Funktionsprogrammen ausgebildeten Datenträgers
FR2795835B1 (fr) * 1999-07-01 2001-10-05 Bull Cp8 Procede de verification de transformateurs de codes pour un systeme embarque, notamment sur une carte a puce
US6289455B1 (en) * 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
GB9925227D0 (en) 1999-10-25 1999-12-22 Internet Limited Data storage retrieval and access system
US6577733B1 (en) * 1999-12-03 2003-06-10 Smart Card Integrators, Inc. Method and system for secure cashless gaming
US7032240B1 (en) 1999-12-07 2006-04-18 Pace Anti-Piracy, Inc. Portable authorization device for authorizing use of protected information and associated method
JP2001250092A (ja) * 2000-03-03 2001-09-14 Toshiba Corp カード型電子機器、及びカード型電子機器に適用されるコンテンツ管理方法
US6507904B1 (en) 2000-03-31 2003-01-14 Intel Corporation Executing isolated mode instructions in a secure system running in privilege rings
US6934817B2 (en) * 2000-03-31 2005-08-23 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US7111176B1 (en) 2000-03-31 2006-09-19 Intel Corporation Generating isolated bus cycles for isolated execution
US7013484B1 (en) 2000-03-31 2006-03-14 Intel Corporation Managing a secure environment using a chipset in isolated execution mode
US7089418B1 (en) 2000-03-31 2006-08-08 Intel Corporation Managing accesses in a processor for isolated execution
US7356817B1 (en) 2000-03-31 2008-04-08 Intel Corporation Real-time scheduling of virtual machines
US6795905B1 (en) 2000-03-31 2004-09-21 Intel Corporation Controlling accesses to isolated memory using a memory controller for isolated execution
US6957332B1 (en) * 2000-03-31 2005-10-18 Intel Corporation Managing a secure platform using a hierarchical executive architecture in isolated execution mode
US6633963B1 (en) 2000-03-31 2003-10-14 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US6996710B1 (en) 2000-03-31 2006-02-07 Intel Corporation Platform and method for issuing and certifying a hardware-protected attestation key
US6990579B1 (en) 2000-03-31 2006-01-24 Intel Corporation Platform and method for remote attestation of a platform
US7194634B2 (en) 2000-03-31 2007-03-20 Intel Corporation Attestation key memory device and bus
US7013481B1 (en) 2000-03-31 2006-03-14 Intel Corporation Attestation key memory device and bus
US6678825B1 (en) 2000-03-31 2004-01-13 Intel Corporation Controlling access to multiple isolated memories in an isolated execution environment
US7073071B1 (en) 2000-03-31 2006-07-04 Intel Corporation Platform and method for generating and utilizing a protected audit log
US7082615B1 (en) 2000-03-31 2006-07-25 Intel Corporation Protecting software environment in isolated execution
US6760441B1 (en) 2000-03-31 2004-07-06 Intel Corporation Generating a key hieararchy for use in an isolated execution environment
US6754815B1 (en) 2000-03-31 2004-06-22 Intel Corporation Method and system for scrubbing an isolated area of memory after reset of a processor operating in isolated execution mode if a cleanup flag is set
US6769058B1 (en) 2000-03-31 2004-07-27 Intel Corporation Resetting a processor in an isolated execution environment
WO2001095115A1 (fr) * 2000-06-02 2001-12-13 Hitachi, Ltd. Memoire permanente a semi-conducteur et procede de gestion de l'information dans un systeme de distribution de l'information
FR2810139B1 (fr) * 2000-06-08 2002-08-23 Bull Cp8 Procede de securisation de la phase de pre-initialisation d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede
US6976162B1 (en) * 2000-06-28 2005-12-13 Intel Corporation Platform and method for establishing provable identities while maintaining privacy
US6681304B1 (en) * 2000-06-30 2004-01-20 Intel Corporation Method and device for providing hidden storage in non-volatile memory
US7069452B1 (en) * 2000-07-12 2006-06-27 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
US6976163B1 (en) 2000-07-12 2005-12-13 International Business Machines Corporation Methods, systems and computer program products for rule based firmware updates utilizing certificate extensions and certificates for use therein
US7793111B1 (en) 2000-09-28 2010-09-07 Intel Corporation Mechanism to handle events in a machine with isolated execution
US7389427B1 (en) 2000-09-28 2008-06-17 Intel Corporation Mechanism to secure computer output from software attack using isolated execution
JP4439711B2 (ja) * 2000-10-19 2010-03-24 Necエレクトロニクス株式会社 データ処理装置およびシステム
JP2002132583A (ja) * 2000-10-20 2002-05-10 Sony Corp データ処理装置、データ記憶装置、およびデータ処理方法、並びにプログラム提供媒体
US6820179B2 (en) * 2000-12-04 2004-11-16 Hitachi Hokkai Semiconductor, Ltd. Semiconductor device and data processing system
US20080214300A1 (en) * 2000-12-07 2008-09-04 Igt Methods for electronic data security and program authentication
US7215781B2 (en) * 2000-12-22 2007-05-08 Intel Corporation Creation and distribution of a secret value between two devices
US7818808B1 (en) 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
US7225441B2 (en) * 2000-12-27 2007-05-29 Intel Corporation Mechanism for providing power management through virtualization
US7035963B2 (en) * 2000-12-27 2006-04-25 Intel Corporation Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
US6907600B2 (en) * 2000-12-27 2005-06-14 Intel Corporation Virtual translation lookaside buffer
US7117376B2 (en) * 2000-12-28 2006-10-03 Intel Corporation Platform and method of creating a secure boot that enforces proper user authentication and enforces hardware configurations
US6990444B2 (en) 2001-01-17 2006-01-24 International Business Machines Corporation Methods, systems, and computer program products for securely transforming an audio stream to encoded text
US7028184B2 (en) * 2001-01-17 2006-04-11 International Business Machines Corporation Technique for digitally notarizing a collection of data streams
DE10102202A1 (de) * 2001-01-18 2002-08-08 Infineon Technologies Ag Mikroprozessorschaltung für tragbare Datenträger
DE10105987A1 (de) * 2001-02-09 2002-08-29 Infineon Technologies Ag Datenverarbeitungsvorrichtung
DE10113531A1 (de) * 2001-03-20 2002-10-17 Infineon Technologies Ag Datenträger
US20020144121A1 (en) * 2001-03-30 2002-10-03 Ellison Carl M. Checking file integrity using signature generated in isolated execution
US7272831B2 (en) * 2001-03-30 2007-09-18 Intel Corporation Method and apparatus for constructing host processor soft devices independent of the host processor operating system
US7096497B2 (en) * 2001-03-30 2006-08-22 Intel Corporation File checking using remote signing authority via a network
US6941456B2 (en) * 2001-05-02 2005-09-06 Sun Microsystems, Inc. Method, system, and program for encrypting files in a computer system
JP4009437B2 (ja) * 2001-05-09 2007-11-14 株式会社ルネサステクノロジ 情報処理装置
US9619742B2 (en) * 2001-05-18 2017-04-11 Nxp B.V. Self-descriptive data tag
US6772307B1 (en) 2001-06-11 2004-08-03 Intel Corporation Firmware memory having multiple protected blocks
US20030009686A1 (en) * 2001-07-03 2003-01-09 Yu-Te Wu Computer-implemented method for denying unauthorized access to data in a computer data storage medium
US7908472B2 (en) * 2001-07-06 2011-03-15 Juniper Networks, Inc. Secure sockets layer cut through architecture
US7853781B2 (en) * 2001-07-06 2010-12-14 Juniper Networks, Inc. Load balancing secure sockets layer accelerator
US7149892B2 (en) 2001-07-06 2006-12-12 Juniper Networks, Inc. Secure sockets layer proxy architecture
US7228412B2 (en) * 2001-07-06 2007-06-05 Juniper Networks, Inc. Bufferless secure sockets layer architecture
US7444476B2 (en) * 2001-07-24 2008-10-28 Texas Instruments Incorporated System and method for code and data security in a semiconductor device
US7024532B2 (en) * 2001-08-09 2006-04-04 Matsushita Electric Industrial Co., Ltd. File management method, and memory card and terminal apparatus that make use of the method
US7191440B2 (en) 2001-08-15 2007-03-13 Intel Corporation Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
US7024555B2 (en) 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US7783901B2 (en) * 2001-12-05 2010-08-24 At&T Intellectual Property Ii, L.P. Network security device and method
US7103771B2 (en) * 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US20030126454A1 (en) * 2001-12-28 2003-07-03 Glew Andrew F. Authenticated code method and apparatus
US7308576B2 (en) * 2001-12-31 2007-12-11 Intel Corporation Authenticated code module
US20030126453A1 (en) * 2001-12-31 2003-07-03 Glew Andrew F. Processor supporting execution of an authenticated code instruction
US7480806B2 (en) * 2002-02-22 2009-01-20 Intel Corporation Multi-token seal and unseal
US7124273B2 (en) * 2002-02-25 2006-10-17 Intel Corporation Method and apparatus for translating guest physical addresses in a virtual machine environment
US7631196B2 (en) * 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
AU2003206042A1 (en) * 2002-03-05 2003-09-16 Koninklijke Philips Electronics N.V. Product and method for preventing incorrect storage of data
US6845908B2 (en) * 2002-03-18 2005-01-25 Hitachi Semiconductor (America) Inc. Storage card with integral file system, access control and cryptographic support
US7028149B2 (en) * 2002-03-29 2006-04-11 Intel Corporation System and method for resetting a platform configuration register
US7069442B2 (en) * 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US7162644B1 (en) 2002-03-29 2007-01-09 Xilinx, Inc. Methods and circuits for protecting proprietary configuration data for programmable logic devices
US20030191943A1 (en) * 2002-04-05 2003-10-09 Poisner David I. Methods and arrangements to register code
US20030196096A1 (en) * 2002-04-12 2003-10-16 Sutton James A. Microcode patch authentication
US7058807B2 (en) * 2002-04-15 2006-06-06 Intel Corporation Validation of inclusion of a platform within a data center
US20030196100A1 (en) * 2002-04-15 2003-10-16 Grawrock David W. Protection against memory attacks following reset
US7076669B2 (en) * 2002-04-15 2006-07-11 Intel Corporation Method and apparatus for communicating securely with a token
US7127548B2 (en) * 2002-04-16 2006-10-24 Intel Corporation Control register access virtualization performance improvement in the virtual-machine architecture
US7139890B2 (en) * 2002-04-30 2006-11-21 Intel Corporation Methods and arrangements to interface memory
KR20030091040A (ko) * 2002-05-22 2003-12-01 톰슨 라이센싱 소시에떼 아노님 비디오 신호의 수신 및/또는 처리를 위한 디바이스,메모리 카드, 디바이스와 카드로 구성되는 어셈블리 및디바이스를 제어하기 위한 방법
US20030229794A1 (en) * 2002-06-07 2003-12-11 Sutton James A. System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container
US6820177B2 (en) * 2002-06-12 2004-11-16 Intel Corporation Protected configuration space in a protected environment
US7142674B2 (en) * 2002-06-18 2006-11-28 Intel Corporation Method of confirming a secure key exchange
JP4016741B2 (ja) * 2002-06-25 2007-12-05 ソニー株式会社 情報記憶装置、メモリアクセス制御システム、および方法、並びにコンピュータ・プログラム
JP3979194B2 (ja) * 2002-06-25 2007-09-19 ソニー株式会社 情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム
JP3979195B2 (ja) * 2002-06-25 2007-09-19 ソニー株式会社 情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム
US7392415B2 (en) * 2002-06-26 2008-06-24 Intel Corporation Sleep protection
US20040003321A1 (en) * 2002-06-27 2004-01-01 Glew Andrew F. Initialization of protected system
US7124327B2 (en) 2002-06-29 2006-10-17 Intel Corporation Control over faults occurring during the operation of guest software in the virtual-machine architecture
US6996748B2 (en) 2002-06-29 2006-02-07 Intel Corporation Handling faults associated with operation of guest software in the virtual-machine architecture
JP2004038569A (ja) * 2002-07-03 2004-02-05 Toshiba Lsi System Support Kk 不揮発性メモリのデータ保護システム
US6755345B2 (en) * 2002-07-10 2004-06-29 Golf Reporting Solutions, Llc Golf handicap smart card system
US7296267B2 (en) * 2002-07-12 2007-11-13 Intel Corporation System and method for binding virtual machines to hardware contexts
JP4563662B2 (ja) * 2002-07-17 2010-10-13 パナソニック株式会社 記録媒体不正使用防止システム
KR100440972B1 (ko) * 2002-07-27 2004-07-21 삼성전자주식회사 카드 삽입 인식에 의한 데이터 전송 상태 자동 설정 장치및 방법
US8083585B2 (en) 2002-09-10 2011-12-27 Igt Apparatus and method for copying gaming machine configuration settings
JP2004104539A (ja) * 2002-09-11 2004-04-02 Renesas Technology Corp メモリカード
DE10254320A1 (de) * 2002-11-21 2004-06-03 Philips Intellectual Property & Standards Gmbh Schaltungsanordnung mit nicht-flüchtigem Speichermodul und Verfahren zum Ver-/Entschlüsseln von Daten des nicht-flüchtigen Speichermoduls
US7165181B2 (en) * 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity
US7073042B2 (en) 2002-12-12 2006-07-04 Intel Corporation Reclaiming existing fields in address translation data structures to extend control over memory accesses
US7318235B2 (en) * 2002-12-16 2008-01-08 Intel Corporation Attestation using both fixed token and portable token
US20040117318A1 (en) * 2002-12-16 2004-06-17 Grawrock David W. Portable token controlling trusted environment launch
US7318141B2 (en) 2002-12-17 2008-01-08 Intel Corporation Methods and systems to control virtual machines
US7793286B2 (en) * 2002-12-19 2010-09-07 Intel Corporation Methods and systems to manage machine state in virtual machine operations
US20040128345A1 (en) * 2002-12-27 2004-07-01 Robinson Scott H. Dynamic service registry
US7900017B2 (en) * 2002-12-27 2011-03-01 Intel Corporation Mechanism for remapping post virtual machine memory pages
US20040128465A1 (en) * 2002-12-30 2004-07-01 Lee Micheil J. Configurable memory bus width
US7076802B2 (en) * 2002-12-31 2006-07-11 Intel Corporation Trusted system clock
US7587051B2 (en) * 2003-01-13 2009-09-08 Denis Bisson System and method for securing information, including a system and method for setting up a correspondent pairing
GB0301726D0 (en) * 2003-01-24 2003-02-26 Ecebs Ltd Improved smartcard
US7415708B2 (en) * 2003-06-26 2008-08-19 Intel Corporation Virtual machine management using processor state information
US20050044292A1 (en) * 2003-08-19 2005-02-24 Mckeen Francis X. Method and apparatus to retain system control when a buffer overflow attack occurs
US7287197B2 (en) * 2003-09-15 2007-10-23 Intel Corporation Vectoring an interrupt or exception upon resuming operation of a virtual machine
US7424709B2 (en) * 2003-09-15 2008-09-09 Intel Corporation Use of multiple virtual machine monitors to handle privileged events
US7739521B2 (en) * 2003-09-18 2010-06-15 Intel Corporation Method of obscuring cryptographic computations
US7610611B2 (en) * 2003-09-19 2009-10-27 Moran Douglas R Prioritized address decoder
US20050071656A1 (en) * 2003-09-25 2005-03-31 Klein Dean A. Secure processor-based system and method
US7366305B2 (en) * 2003-09-30 2008-04-29 Intel Corporation Platform and method for establishing trust without revealing identity
US7177967B2 (en) * 2003-09-30 2007-02-13 Intel Corporation Chipset support for managing hardware interrupts in a virtual machine system
US7237051B2 (en) * 2003-09-30 2007-06-26 Intel Corporation Mechanism to control hardware interrupt acknowledgement in a virtual machine system
US20050080934A1 (en) * 2003-09-30 2005-04-14 Cota-Robles Erik C. Invalidating translation lookaside buffer entries in a virtual machine (VM) system
US20050076182A1 (en) * 2003-10-03 2005-04-07 Minne Mark W. Memory module
US7636844B2 (en) * 2003-11-17 2009-12-22 Intel Corporation Method and system to provide a trusted channel within a computer system for a SIM device
US20050108534A1 (en) * 2003-11-19 2005-05-19 Bajikar Sundeep M. Providing services to an open platform implementing subscriber identity module (SIM) capabilities
US8156343B2 (en) 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
US8037314B2 (en) * 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US20050144372A1 (en) * 2003-12-31 2005-06-30 Robert Walker Memory device controlled with user-defined commands
US20050152539A1 (en) * 2004-01-12 2005-07-14 Brickell Ernie F. Method of protecting cryptographic operations from side channel attacks
US20050216685A1 (en) * 2004-02-03 2005-09-29 Heden Donald G Intelligent media storage system
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US20050216920A1 (en) * 2004-03-24 2005-09-29 Vijay Tewari Use of a virtual machine to emulate a hardware device
US7356735B2 (en) * 2004-03-30 2008-04-08 Intel Corporation Providing support for single stepping a virtual machine in a virtual machine environment
US7620949B2 (en) * 2004-03-31 2009-11-17 Intel Corporation Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment
US7490070B2 (en) 2004-06-10 2009-02-10 Intel Corporation Apparatus and method for proving the denial of a direct proof signature
US20050288056A1 (en) * 2004-06-29 2005-12-29 Bajikar Sundeep M System including a wireless wide area network (WWAN) module with an external identity module reader and approach for certifying the WWAN module
US7305592B2 (en) * 2004-06-30 2007-12-04 Intel Corporation Support for nested fault in a virtual machine environment
US7840962B2 (en) * 2004-09-30 2010-11-23 Intel Corporation System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time
US8146078B2 (en) 2004-10-29 2012-03-27 Intel Corporation Timer offsetting mechanism in a virtual machine environment
US8924728B2 (en) * 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US8789195B2 (en) 2004-12-22 2014-07-22 Telecom Italia S.P.A. Method and system for access control and data protection in digital memories, related digital memory and computer program product therefor
US8533777B2 (en) * 2004-12-29 2013-09-10 Intel Corporation Mechanism to determine trust of out-of-band management agents
US7395405B2 (en) 2005-01-28 2008-07-01 Intel Corporation Method and apparatus for supporting address translation in a virtual machine environment
US8321686B2 (en) * 2005-02-07 2012-11-27 Sandisk Technologies Inc. Secure memory card with life cycle phases
US8108691B2 (en) * 2005-02-07 2012-01-31 Sandisk Technologies Inc. Methods used in a secure memory card with life cycle phases
US8423788B2 (en) * 2005-02-07 2013-04-16 Sandisk Technologies Inc. Secure memory card with life cycle phases
US20060194603A1 (en) * 2005-02-28 2006-08-31 Rudelic John C Architecture partitioning of a nonvolatile memory
US8245000B2 (en) * 2005-05-20 2012-08-14 Stec, Inc. System and method for managing security of a memory device
US7743409B2 (en) * 2005-07-08 2010-06-22 Sandisk Corporation Methods used in a mass storage device with automated credentials loading
US8966284B2 (en) * 2005-09-14 2015-02-24 Sandisk Technologies Inc. Hardware driver integrity check of memory card controller firmware
US7934049B2 (en) * 2005-09-14 2011-04-26 Sandisk Corporation Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
WO2007074431A2 (en) * 2005-12-27 2007-07-05 Atomynet Inc. Method and apparatus for securing access to applications
WO2007082900A1 (fr) * 2006-01-19 2007-07-26 Gemplus Dispositif electronique portable apte a fournir un contenu dynamique
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
KR101006410B1 (ko) * 2006-03-31 2011-01-10 후지쯔 가부시끼가이샤 메모리 장치, 메모리 카드, 회로 기판 및 전자 기기
CN101401077A (zh) * 2006-03-31 2009-04-01 富士通株式会社 存储装置及其控制方法和其控制程序、存储卡、电路基板及电子设备
KR101019443B1 (ko) * 2006-03-31 2011-03-07 후지쯔 가부시끼가이샤 메모리 장치, 그 에러 정정의 지원 방법, 그 지원 프로그램을 저장한 컴퓨터로 판독가능한 기록매체, 메모리 카드, 회로 기판 및 전자 기기
US20080052524A1 (en) * 2006-08-24 2008-02-28 Yoram Cedar Reader for one time password generating device
US20080072058A1 (en) * 2006-08-24 2008-03-20 Yoram Cedar Methods in a reader for one time password generating device
US8190919B2 (en) * 2006-11-07 2012-05-29 Spansion Llc Multiple stakeholder secure memory partitioning and access control
DE102007050463A1 (de) 2006-11-16 2008-05-21 Giesecke & Devrient Gmbh Verfahren zum Zugriff auf einen tragbaren Speicherdatenträger mit Zusatzmodul und tragbarer Speicherdatenträger
US8423794B2 (en) * 2006-12-28 2013-04-16 Sandisk Technologies Inc. Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications
US9027119B2 (en) * 2007-11-19 2015-05-05 Avaya Inc. Authentication frequency and challenge type based on application usage
US20090159710A1 (en) * 2007-12-24 2009-06-25 Dynamics Inc. Cards and devices with magnetic emulators and magnetic reader read-head detectors
US8745346B2 (en) * 2008-03-18 2014-06-03 Microsoft Corporation Time managed read and write access to a data storage device
US8793803B2 (en) * 2008-05-24 2014-07-29 Via Technologies, Inc. Termination of secure execution mode in a microprocessor providing for execution of secure code
US8819839B2 (en) * 2008-05-24 2014-08-26 Via Technologies, Inc. Microprocessor having a secure execution mode with provisions for monitoring, indicating, and managing security levels
US20100011427A1 (en) * 2008-07-10 2010-01-14 Zayas Fernando A Information Storage Device Having Auto-Lock Feature
US8052052B1 (en) * 2008-12-04 2011-11-08 Intuit Inc. User-activated payment card
WO2011062994A2 (en) * 2009-11-18 2011-05-26 Icelero Llc Method and system for cloud computing services for use with client devices having memory cards
US8925070B2 (en) * 2009-12-17 2014-12-30 Verizon Patent And Licensing Inc. Method and apparatus for providing user authentication based on user actions
US8844025B2 (en) 2010-03-26 2014-09-23 Hewlett-Packard Development Company, L.P. Storage device access authentication upon resuming from a standby mode of a computing device
DE102010028231A1 (de) * 2010-04-27 2011-10-27 Robert Bosch Gmbh Speichermodul zur gleichzeitigen Bereitstellung wenigstens eines sicheren und wenigstens eines unsicheren Speicherbereichs
US8670946B2 (en) * 2010-09-28 2014-03-11 Landis+Gyr Innovations, Inc. Utility device management
KR101498193B1 (ko) * 2014-10-22 2015-03-12 (주)지란지교시큐리티 메모리카드를 이용한 데이터 관리 방법
CN104571948A (zh) * 2014-12-11 2015-04-29 乐视致新电子科技(天津)有限公司 一种兼容多种ddr的方法及系统
CN104636275B (zh) * 2014-12-30 2018-02-23 北京兆易创新科技股份有限公司 一种mcu芯片的信息保护方法和装置
US20160330201A1 (en) * 2015-05-08 2016-11-10 Thi Chau Nguyen-Huu Systems and Methods for Controlling Access to a Computer Device
PT3682359T (pt) * 2018-12-03 2021-02-04 Hewlett Packard Development Co Circuitos lógicos
EP3695334A1 (de) 2018-12-03 2020-08-19 Hewlett Packard Enterprise Development Company LP Logische schaltung

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2461301A1 (fr) * 1978-04-25 1981-01-30 Cii Honeywell Bull Microprocesseur autoprogrammable
US4449182A (en) * 1981-10-05 1984-05-15 Digital Equipment Corporation Interface between a pair of processors, such as host and peripheral-controlling processors in data processing systems
JPS59138151A (ja) * 1983-01-28 1984-08-08 Nec Corp ロ−カルエリアネツトワ−クにおける初期化方式
US4650975A (en) * 1984-08-30 1987-03-17 Casio Computer Co., Ltd. IC card and an identification system thereof
US4907273A (en) * 1984-10-12 1990-03-06 Wiedemer John D High security pay television system
JPH0632102B2 (ja) * 1985-08-22 1994-04-27 カシオ計算機株式会社 Icカ−ドの照合方式
US4742215A (en) * 1986-05-07 1988-05-03 Personal Computer Card Corporation IC card system
JPH087720B2 (ja) * 1986-09-16 1996-01-29 富士通株式会社 複数サービス用icカードの領域アクセス方法
JPS63253493A (ja) * 1987-04-09 1988-10-20 Mitsubishi Electric Corp 情報記録システム
EP0330404B1 (de) * 1988-02-20 1994-11-30 Fujitsu Limited Chipkarten
EP0416211A3 (en) * 1989-09-08 1992-07-22 International Business Machines Corporation Access authorization table for multi-processor caches
US5048085A (en) * 1989-10-06 1991-09-10 International Business Machines Corporation Transaction system security method and apparatus
US5148481A (en) * 1989-10-06 1992-09-15 International Business Machines Corporation Transaction system security method and apparatus
FR2656939B1 (fr) * 1990-01-09 1992-04-03 Sgs Thomson Microelectronics Verrous de securite pour circuit integre.
FR2667417B1 (fr) * 1990-10-02 1992-11-27 Gemplus Card Int Carte a microprocesseur concue pour recevoir des programmes multiples en memoire programmable.

Also Published As

Publication number Publication date
EP0596276A3 (de) 1995-05-24
US5293424A (en) 1994-03-08
EP0596276A2 (de) 1994-05-11
JP3493047B2 (ja) 2004-02-03
EP0596276B1 (de) 1999-05-26
FI955307A0 (fi) 1995-11-06
SG48001A1 (en) 1998-04-17
ATE180587T1 (de) 1999-06-15
FI955307A (fi) 1995-11-06
ES2135432T3 (es) 1999-11-01
JPH06208515A (ja) 1994-07-26
NO309887B1 (no) 2001-04-09
DK0596276T3 (da) 2000-02-21
NO954438L (no) 1996-01-05
DE69325072D1 (de) 1999-07-01
NO954438D0 (no) 1995-11-06

Similar Documents

Publication Publication Date Title
DE69325072T2 (de) Gesicherte Speicherkarte
DE69524482T2 (de) Gesicherte speicherkarte mit programmierter gesteuerter sicherheits-zugriffs-kontrolle
DE69522998T2 (de) Gesicherte anwendungskarte zur aufteilung von anwendungsdaten und prozeduren zwischen mehreren mikroprozessoren
DE60224060T2 (de) Verwendung von daten gespeichert in einem lese-zerstörenden speicher
DE69404674T2 (de) Speicherkarte und verfahren zum betrieb
DE69507129T2 (de) Vorurladungsschutz für eine datensicherheitseinrichtung
DE69524031T2 (de) Verfahren und Einrichtung zur Prüfung der Gültigkeit des Betriebs eines Systems
DE3407642C2 (de)
DE69529103T2 (de) Verfahren zum Handhaben der Sicherheit einer Speicherkarte, und Speicherkarte und geeignete Transaktionsvorrichtung
DE69527773T2 (de) Schaltungsanordnung zur Überwachung der Benutzung von Funktionen in einem integrierten Schaltungkreis
DE69729557T2 (de) Verfahren und gerät zum softwarezugriff auf eine mikroprozessorseriennummer
DE69012692T2 (de) Karte mit festverdrahteter Mikroschaltung und Verfahren zur Durchführung einer Transaktion zwischen einer solchen Karte und einem Endgerät.
DE69528663T2 (de) Verfahren zum überprüfen der betriebsanordnung eines rechnersystems
EP0965076B1 (de) Elektronische datenverarbeitungseinrichtung und -system
EP0766211A2 (de) Multifunktionale Chipkarte
DE69326264T2 (de) Massenspeicherkarte für einen Mikrocomputer mit der Möglichkeit, interne Programme auszuführen
DE112009004491T5 (de) System und Verfahren zum sicheren Speichern von Daten in einem elektronischen Gerät
EP1326256A2 (de) Verfahren und Anordnung zur Programmierung und Verifizierung von EEPROM-Pages sowie ein entsprechendes Computerprogrammprodukt und ein entsprechendes computerlesbares Speichermedium
DE20314722U1 (de) Vorrichtung für sicheren Zugriff auf Digitalmedien-Inhalte, virtueller Multischnittstellen-Treiber und System für sicheren Zugriff auf Digitalmedien-Inhalte
DE69904446T2 (de) Speicherkarte
DE112019007230T5 (de) Multimodus-Geschützter-Speicher
DE60101758T2 (de) Entschlüsselungsvorrichtung
DE112008001833B4 (de) Fingerabdruckleserrücksetzsystem und -Verfahren
EP1338970B1 (de) Verfahren und Anordnung zur Zugriffssteuerung auf EEPROMs sowie ein entsprechendes Computerprogrammprodukt und ein entsprechendes computerlesbares Speichermedium
DE69323730T2 (de) Verfahren und einrichtung zur verhinderung des unberechtigten zugriffs auf ein rechnersystem.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: CP8 TECHNOLOGIES, LOUVECIENNES, FR