DE69325072T2 - Gesicherte Speicherkarte - Google Patents
Gesicherte SpeicherkarteInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/357—Cards having a plurality of specified features
- G06Q20/3576—Multiple 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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
- 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.
- Dieser Befehl setzt das Verriegelungsspeicherfreigabe- Logikelement 36 zurück, wodurch das Laden oder Ändern des Verriegelungsspeichers 35 gesperrt wird.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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).
- 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.
- 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.
- 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.
- 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.
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)
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)
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. |
-
1992
- 1992-10-14 US US07/960,748 patent/US5293424A/en not_active Expired - Lifetime
-
1993
- 1993-10-08 ES ES93116326T patent/ES2135432T3/es not_active Expired - Lifetime
- 1993-10-08 DE DE69325072T patent/DE69325072T2/de not_active Expired - Lifetime
- 1993-10-08 AT AT93116326T patent/ATE180587T1/de not_active IP Right Cessation
- 1993-10-08 EP EP93116326A patent/EP0596276B1/de not_active Expired - Lifetime
- 1993-10-08 DK DK93116326T patent/DK0596276T3/da active
- 1993-10-08 SG SG1996006038A patent/SG48001A1/en unknown
- 1993-10-14 JP JP25678693A patent/JP3493047B2/ja not_active Expired - Fee Related
-
1995
- 1995-11-06 NO NO954438A patent/NO309887B1/no not_active IP Right Cessation
- 1995-11-06 FI FI955307A patent/FI955307A/fi not_active Application Discontinuation
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 |