-
Gebiet der Erfindung
-
Diese Erfindung bezieht sich allgemein
auf die Sicherung von Daten, die in einer Halbleiterspeichereinrichtung
gespeichert sind. Insbesondere bezieht sich die vorliegende Erfindung
auf eine Technik, welche die physikalische Struktur und Materialcharakteristiken
der Halbleiterspeicherzellen verwendet, um Daten zu sichern, die
in einer Halbleiterspeichereinrichtung gespeichert sind.
-
Hintergrund
der Erfindung
-
Daten die in Halbleiterspeicherzellen
gespeichert sind, können
leicht gelesen und überschrieben werden,
auch können
sie von einer Halbleiterspeichereinrichtung auf eine andere kopiert
werden, falls keine Sicherheitsmaßnahmen eingebaut sind, die den
Zugriff auf die Speicherzellen einschränken.
-
Es wurden Anstregungen unternommen,
um Sicherungen für
Daten vorzusehen, die in Halbleiterspeicherzellen gespeichert sind,
die in einem Halbleiterchip eingebaut sind. Beispielsweise wurde
ein Mikroprozessor in einem Datenpfad zwischen einem Speicher-Array von Speicherzellen
und einem Eingangs-/Ausgangsanschluss auf den Chip gelegt, vgl. US-Patent
5 343 527, 8. Die gespeicherten Daten
werden dadurch gesichert, dass nur dann ein Zugriff auf die in dem
Speicher-Array gespeicherten Daten möglich ist, wenn der Mikroprozessor
ursprünglich
mit einem erkannten Sicherheitscode versehen ist. Diese Sicherheitstechnik
kann jedoch unterlaufen werden, weil integrierte Halbleiterchips
endliche Vorrichtungen sind, die anders herum ausgelegt werden können. Folglich
kann ein Datenbank-Angreifer in der Lage sein, die Eingangs-/Ausgangsanschlüsse zu umgehen
und direkten Zugriff zu dem Speicher-Array nehmen.
-
Bei einigen Speicherzellen-Anwendungen, wie
bei Integrierten-Schaltungs-Karten oder Chipkarten, die Halbleiterspeicherzellen
enthalten, ist es wichtig, sicherzustellen, dass die Daten, die
in den Speicherzellen gespeichert sind, absolut sicher bleiben.
Dies ist insbesondere bei Anwendungen wichtig, bei denen eine Datenbank
verwendet wird, die kein zentrales Datenbank-Verifikationssystem
aufweist.
-
Eine andere Anwendung betrifft die
Verwendung von Speicherzellen bei computerverbundenen oder Online-Zahlungssystemen.
Die unerlaubte Änderung
der in einer Speicherkarte gespeicherten Daten sowie das unerlaubte
Kopieren dieser Daten auf eine andere Chipkarte zu Fälschungszwecken
ist mit der derzeitigen Technologie nicht leicht zu entdecken. Beispielsweise
kann die derzeit bestehende Datensicherheitstechnik mit Holo grammen
auf Chip-Karten relativ leicht und mit geringer Wahrscheinlichkeit
zum Aufdecken gefährdet
werden.
-
Es besteht deshalb ein Bedarf nach
einer verbesserten Technik zur Sicherung von Daten, die in Speicherzellen
einer Halbleiterspeichereinrichtung gespeichert sind.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die vorliegende Erfindung sieht vor,
dass Daten, die in Speicherzellen einer Halbleiterspeichereinrichtung
gespeichert sind, dadurch gesichert werden, dass eine numerische
Datenreihe, Referenz-Fingerabdruck genannt, erzeugt wird, die repräsentativ
für die
in den Speicherzellen gespeicherten Daten sind. Der Referenz-Fingerabdruck
bezieht sich auf numerische Darstellungen der genauen Pegel von
eingefangenen Ladungen, die in den Speicherzellen zum Zeitpunkt
der Programmierung der Daten vorhanden sind.
-
Gemäß der vorliegenden Erfindung
erhält man
eine Messung der Pegel von eingefangenen Ladungen, die sich in den
Speicherzellen befinden, unmittelbar nach dem Programmieren der
Speicherzellen. Auf der Grundlage dieser Messung wird ein Referenz-Fingerabdruck
erzeugt und für
die spätere
Bearbeitung gesichert. Wenn ein anschließender Zugriff zu den in den
Speicherzellen gespeicherten Daten gewünscht ist, werden die Pegel
der eingefangenen Ladungen, die in den Speicherzellen vorhanden
sind, gemessen, um eine numerische Darstellung oder einen Authentisierungs-Fingerabdruck
zu erhalten. Der Referenz-Fingerabdruck und der Authentisierungs-Fingerabdruck
werden miteinander verglichen, und wenn Übereinstimmung herrscht, sind
die Daten authentisiert. Falls keine Übereinstimmung besteht, können die
gespeicherten Daten in unerlaubter Weise geändert worden sein.
-
Bei einer weiteren Ausführungsform
kann die Sicherheit der in den Speicherzellen gespeicherten Daten
weiter verbessert werden, indem die Daten in die Speicherzellen
in der Weise eingeschrieben werden, dass die Einführung von
bestimmten Zufallsabweichungen zu den Pegeln von eingefangenen Ladungen
in den Speicherzellen ermöglicht
wird.
-
Bei einer weiteren Ausführungsform
kann der Referenz-Fingerabdruck vor der Abspeicherung verschlüsselt werden.
-
Bei einem weiteren Aspekt der Erfindung kann,
um sicherzustellen, dass der Vergleich des Referenz-Fingerabdrucks
mit dem Authentisierungs-Fingerabdruck zuverlässig ist, Fuzzy-Logik-Technik
verwendet werden, um die Referenz- und Authentisierungs-Fingerabdrücke zu erhalten.
Der Einsatz von Fuzzy-Logik kompensiert Faktoren, die von der Umwelt
oder der Hardware herrühren,
was über
die Zeit Fluktuationen in den Werten der numerischen Darstellungen,
die bei der Messung der Pegel von eingefangenen Ladungen in den
programmierten Speicherzellen erzeugt wurden, bewirken kann.
-
Weitere Eigenschaften und Vorteile
der vorliegenden Erfindung ergeben sich leicht aus der nachfolgenden
detaillierten Beschreibung.
-
Beschreibung
der Figuren
-
1 zeigt
einen Querschnitt durch eine Halbleiterspeicherzelle;
-
2 zeigt
ein Blockdiagramm der Komponenten einer Ausführungsform einer Einrichtung
zum sicheren Speichern von Daten in Halbleiterspeicherzellen entsprechend
der Technik der vorliegenden Erfindung;
-
3 zeigt
ein Flussdiagramm eines Verfahrens zum Schreiben von Daten in Halbleiterspeicherzellen
entsprechend der vorliegenden Erfindung;
-
4 zeigt
ein Flussdiagramm eines Verfahrens zum Auslesen von Daten aus Halbleiterspeicherzellen
entsprechend der vorliegenden Erfindung;
-
5 zeigt
ein Flussdiagramm eines Verfahrens zum Erzeugen eines Referenz-Fingerabdrucks von
Daten, die in Halbleiterspeicherzellen entsprechend der vorliegenden
Erfindung gespeichert sind; und
-
6 zeigt
ein Flussdiagramm eines Verfahrens zur Authentisierung der Daten,
die in Halbleiterspeicherzellen einer Halbleitereinrichtung gespeichert
sind, indem ein Referenz-Fingerabdruck
verwendet wird, der für
die Speicherzellen gemäß der vorliegenden
Erfindung erzeugt wird.
-
Detaillierte
Beschreibung
-
Die vorliegende Erfindung betrifft
eine Technik zum Sichern von Daten, die in Speicherzellen einer
Halbleiterspeichereinrichtung gespeichert sind. Das Verfahren nutzt
die physikalischen Eigenschaften von Halbleitermaterialien sowie
die einzigartige Geometrie einer individuellen Speicherzelle, um
einen Referenz-Fingerabdruck dieser Speicherzelle zu erzeugen. Wie
weiter unten im Einzelnen beschrieben, bestehen inhärente Variationen
im Pegel von eingefangenen Ladungen, die in einer Speicherzelle nach
dem Programmieren mit Daten vorliegen. Diese Variationen in den
Pegeln werden dazu verwendet, den Referenz-Fingerabdruck zu erzeugen,
und der Referenz-Fingerabdruck wird anschließend dazu verwendet, zu bestimmen,
ob die gespeicherten Daten authentisch sind.
-
1 zeigt
einen Querschnitt durch eine herkömmliche elektrisch programmierbare
Read-Only-Memory(EPROM)-Zelle 10, die in üblicher
Weise in einer herkömmlichen
Halbleiterspeichereinrichtung zum Zweck der Datenspeicherung enthalten sein
kann. Es versteht sich, dass die Verwendung einer EPROM-Speicherzelle
für die
Beschreibung der vorliegenden Erfindung nur beispielhaft ist und
dass das vorliegende Verfahren für
die sichere Speicherung von Daten mit anderen Speicherzellen realisiert werden
kann, die eine Ladungsspeicherungsstruktur haben, die ähnlich der
eines EPROM ist. Es versteht sich außerdem, dass die nachfolgend
beschriebene erfindungsgemäße Technik
in entsprechender Weise auf Speichermedien wie Integrierte-Schaltungs-Karten
oder Chipkarten angewendet werden kann, die EPROMs oder elektrisch
löschbare,
programmierbare Read-Only-Speicher (EEPROMs) oder ähnliche Einrichtungen
aufweisen, die Halbleiterspeicher wie ein ROM verwenden, oder einen
Mikroregler mit einem EPROM oder ROM.
-
In 1 ist
die Speicherzelle 10 in einer bekannten Einrichtung dargestellt,
deren Struktur und Wirkungsweise im Detail beschrieben sind in Altera Corporation's September, 1991 "Data Book" auf den Seiten 11–14. Diese
Ausführungen
werden hier einbezogen. Zum Zwecke der Klarheit wird die Speicherzelle 10 nachfolgend
nur hinsichtlich solcher Aspekte der EPROM-Struktur und -Wirkungsweise
beschrieben, die für
die Erläuterung
der vorliegenden Erfindung notwendig sind.
-
In 1 kann
die Speicherzelle 10 einen Transistor aufweisen, der auf
einem p-Typ-Substrat 11 integriert
ist. Der Transistor weist eine Quelle (S) 12 und eine Senke
(D) 14 auf, die mit der bekannten Technik der Diffusion
von N+-Verunreinigungen in das Substrat 11 hergestellt
wurden. Der Transistor enthält eine
Feldoxidschicht 16, welche die Quelle 12 und die
Senke 14 überlagert,
sowie ein gleitendes Tor 18, das aus einer ersten Schicht
von Polysilizium hergestellt ist, welches die Oxidschicht 16 überlagert.
Der Transistor enthält
weiterhin ein Gatter 20, das aus einer zweiten Schicht
von Polysilizium hergestellt ist, welches das gleitende Tor 18 überlagert.
-
In der Speicherzelle 10 können Daten
zum Zweck der Datenspeicherung entsprechend der bekannten Technik
der Floating-Gate-Ladungsinjektion gespeichert werden. Es kann beispielsweise
ein Potential üblicherweise
größer als
12 Volt an die Senke 14 angelegt werden, um ein starkes
elektrisches Feld zu erzeugen, welches den Elektronen soviel Energie zuführt, dass
diese von der Senke 14 Region zu der gleitenden Tor 18 Region
springen. Die Elektronen, die von dem gleitenden Tor 18 angezogen
werden, werden dort eingefangen, wenn das Potential von der Senke 14 entfernt
wird.
-
Wenn die Ladungen in dem gleitenden
Tor 18 eingefangen sind, ändert sich die Schwelle der EPROM-Zelle 10 von
einem relativ niedrigen Wert, welcher der Speicherzelle 10 zugeordnet
ist, wenn keine Ladung vorhanden ist und ein gelöschter Zustand genannt wird,
auf einen höheren
Wert, der anzeigt, dass die Programmierung der Speicherzelle 10 durchgeführt wurde.
Wenn ein Niedrigvoltpotential zum Programmieren eines logischen
Pegels niedrig oder "0" in der Speicherzelle 10 auf
das Tor 20 gegeben wird, werden die Elektronen nicht von
dem gleitenden Tor 18 angezogen, sodass das gleitende Tor 18 ungeladen
bleibt. Wird andererseits ein hohes Spannungspotential zum Programmieren
eines hohen logischen Pegels oder "1" auf
das Tor 20 gegeben, werden zahlreiche Elektronen auf das
gleitende Tor 18 angezogen, wodurch sie das gleitende Tor 18 laden.
Für den
Fach mann ist es klar, dass die typischen Spannungen zum Programmieren
von hohen und niedrigen Pegeln von der Art und der Auslegung des
verwendeten Halbleiterspeichers abhängen.
-
Der Pegel der Ladungen, der in der
Speicherzelle 10 als Ergebnis der Programmierung eingefangen
wird, hängt
von den Charakteristiken des Halbleitermaterials und der Geometrie
der Struktur in der Speicherzelle 10 ab. Beispielsweise
verursachen die Variationen der Dotierungspegel und der Reinheit der
Dotierungsmittel sowie die Dicke der dotierten Gebiete eines Halbleitersubstrats
inhärente
Zufallsabweichungen im Pegel der Ladungen, die in einer Speicherzelle
eingefangen werden, wenn ein spezieller Spannungspegel für eine bestimmte
Zeit während
der Programmierung abgelegt wird. Diese inhärenten Zufallsabweichungen
machen eine Reproduktion oder Vervielfältigung des gleichen relativen
Pegels der eingefangenen Ladungen in einer zweiten Speicherzelle
zum Zwecke des Erreichens eines identischen Pegels der eingefangenen
Ladungen in der zweiten Speicherzelle sehr schwierig, wenn nicht gar
unmöglich.
Wie weiter unten noch beschrieben wird, nutzt die vorliegende Erfindung
den Umstand aus, dass der Pegel der eingefangenen Ladungen in einer
programmierten Speicherzelle unmittelbar nach dem Programmieren
exakt gemessen, dann gespeichert und später zum Authentisieren der
gespeicherten Daten in der programmierten Speicherzelle verwendet
wird.
-
Der Pegel der Ladungen, der in einer
Speicherzelle eingefangen wird, hängt auch von den Umgebungsbedingungen
ab, z. B. von der Temperatur und der Anwesenheit von statischen
Streuladungen, die zum Zeitpunkt der Programmierung vorhanden sind.
Außerdem
tragen der frühere
Pegel von eingefangenen Ladungen der Speicherzelle sowie die Gesamtzahl
der Schreibzyklen, welchen die Speicherzelle ausgesetzt war – bekannt
als die Geschichte der Speicherzelle – zu dem Pegel der in der Speicherzelle
eingefangenen Ladung bei. Deshalb ändert sich das Muster der eingefangenen
Ladungen in der Speicherzelle eines Speicher-Arrays zufällig mit
jedem Programmierereignis, selbst wenn dieselbe Speicherzelle mit
identischen Daten programmiert wird.
-
Die vorliegende Erfindung nutzt die
inhärenten,
einzigartigen und zufälligen
Abweichungen in den Pegeln der eingefangenen Ladungen jeder programmierten
Speicherzelle zum Zwecke der Sicherung von Daten, die in einer Halbleiterspeichereinrichtung
gespeichert sind. Die Daten, die in Speicherzellen eines Halbleiterspeicher-Arrays
gespeichert sind, werden analysiert, um zu gewährleisten, dass die gespeicherten
Daten nicht in unerlaubter Weise verändert wurden. Dieses Authentisierungsverfahren wird
durchgeführt,
indem eine Darstellung einer laufenden Messung von Pegeln von eingefangenen
Ladungen in den Speicherzellen mit einer Referenz-Darstellung der
eingefangenen Ladungen in den Speicherzellen, die unmittelbar nach
der Programmierung der Speicherzellen gemessen wurden, verglichen
werden.
-
Die Erfindung wird nachfolgend anhand
eines Beispiels beschrieben, und zwar unter Bezugnahme auf die Speicherung
von Daten in einer Halbleiterspeichereinrichtung 50, wie
in 2 gezeigt. Zum Zwecke
der Klarheit ist die Einrichtung 50 als EEPROM ausgebildet,
weil solche Einrichtungen typischerweise weitere Mittel enthalten,
wie analoge Eingangs- und Ausgangsleitungen zum Löschen oder
Neuschreiben von Daten in Speicherzellen von Speicher-Arrays, die
nützlich
sind für
die Erläuterung der
Technik und der Vorteile der Erfindung. Ein Speicherchip, der eine
Zellentechnologie mit nicht-flüchtigem
EE-PROM mit schwebendem
Gate verwendet, wurde durch Information Storage Device Tm entwickelt.
und eine solche Einrichtung kann verwendet werden, um die Erfindung
zu realisieren. Es versteht sich jedoch, dass die Speichereinrichtung 50 jede
beliebige Einrichtung sein kann, die Speicherzellen aufweist, die
strukturell und von der Arbeitsweise her ähnlich der oben beschriebenen
EPROM-Speicherzelle 10 in 1 sind,
und dass die meisten Halbleiterspeichereinrichtungen für die Anwendung
der Erfindung verwendet werden können.
Die Einrichtung 50 wird nachfolgend als EEPROM 50 bezeichnet.
-
Bei einer bevorzugten Ausführungsform
ist das EEPROM 50 derart ausgebildet, dass entweder der
absolute oder relative, der End- oder der Differential-Pegel der
Spannung zugeführt
wird, um eine Speicherzelle zu programmieren, wobei ein herkömmliches
Schreibverfahren in einer vorhersagbaren Relation steht, und vorzugsweise
in einer linearen Relation zu dem Pegel der Ladung, die in dem schwimmenden
Tor der Speicherzelle eingefangen ist. Auf ähnliche Weise ist der Pegel
der Ladungen, die in dem schwimmenden Tor der Speicherzelle der Speichereinrichtung 50 eingefangen
sind, in einer vorhersehbaren Relation, und zwar vorzugsweise in einer
linearen Relation zu einem Spannungspegel, der erzeugt wird, wenn
die Speicherzelle mittels eines herkömmlichen Leseprozesses gelesen
wird. Vorzugsweise stellen sowohl der Lese- als auch der Schreibprozess
dasselbe vorhersehbare Verhältnis in
Bezug auf die an den Speicherzellen des EEPROM 50 angelegten
und gemessenen Spannungspegel dar. Außerdem sollten Filter, automatische
Verstärkungsregelkomponenten
und Spannungssignal-Verzerrungs-Kompensierungs- oder Ausgleichselemente
vorzugsweise nicht für
die Signalverarbeitung weder der Eingangsnoch der Ausgangsspannungssignale
verwendet werden, die mit den Lesedaten von den Schreibdaten zu
dem EEPROM 50 verbunden sind.
-
Gemäß 2 können
die Daten in ein EEPROM 50 unter Verwendung eines Standard-Mikroreglers 42 eingeschrieben
werden, und sie können
zu dem Mikroregler über
einen Standard-Analog-Digital-Wandler 46 ausgelesen werden.
Bei einer Ausführungsform
ist das EEPROM 50 in einer einzigen Halbleitereinrichtung
oder in einer integrierten Schaltung enthalten, um gemäß der Erfindung
Daten auf kostengünstige
Weise zu sichern. Beispielsweise kann die vorliegende Erfindung
zum Einsatz kommen, indem Speicherzellen verwendet werden, die in einer
Standard ISDl000A Integrierten Schaltung enthalten sind. Allerdings
können
die meisten Halbleiterspeichereinrichtungen für den Einsatz der Erfindung angepasst
werden.
-
Typischerweise wäre es wünschenswert, wenn der Mikroregler 42 und
der Analog-Digital-Wandler 46 in
einer Einrichtung enthalten wären, die
getrennt vom EEPROM 50 ist, beispielsweise in einer Bank-Konten-Maschine
oder in einer automatisierten Schalter-Maschine. Das EEPROM 50 wäre dann
beispielsweise auf einer Chipkarte angeordnet. Alternativ können der
Mikroregler 42 und/oder der Analog-Digital-Wandler 46 mit
dem EE-PROM 50 in einer
einzigen Halbleiteranordnung enthalten sein. Zum Zweck der Veranschaulichung
werden die Komponenten in 2 im
Zusammenhang mit dem EEPROM 50 beschrieben, das in einer üblichen
integrierten Schaltung enthalten ist.
-
Gemäß 2 enthält der Mikroregler 42 einen
Prozessor 44, beispielsweise einen Standard-Mikroprozessor,
der mit einem ROM 45 und einem RAM 43 verbunden
ist, wobei alle sich auf einer integrierten Schaltung befinden.
Alternativ können der
Prozessor 44, das RAM 43 und das ROM 45 auch
diskrete Bauelemente sein. Eine Datenausgangsleitung 52,
eine Steuer-Bus-Leitung 54 und ein Adressen-Bus 56 verbinden
alle in geeigneter Weise den Prozessor 44 mit dem EEPROM 50 in
herkömmlicher
Technik. Der Mikroprozessor 44 enthält auch einen Eingangs-/Ausgangsanschluss
(E/A) 58, der eine beliebige Standard-Schnittstelle enthalten kann, einschließlich aber
nicht beschränkt
auf RS-232, I2C oder die ISO/IEC 781 S3 Standard-Chipkarten-Schnittstelle.
Der E/A-Bus-Anschluss kann jede Standard-Schnittstelle sein, die
für die
Verbindung des Mikroreglers 42 mit einer externen Einrichtung geeignet
ist, wie beispielsweise ein Lesegerät für Bankautomaten oder ein asynchroner
Kartenschlagleser. Der Steuer-Bus 54 kann in herkömmlicher
Weise Signalleitungen aufweisen, beispielsweise zum Chip aktivieren,
Lesen/Schreiben auswählen
und Ausgang aktivieren. Eine analoge Ausgangsleitung 60 vom
EEPROM ist mit dem analogen Eingangsanschluss des Analog-Digital-Wandlers 46 verbunden, und
eine Dateneingangsleitung 62 verbindet einen digitalen
Ausgangsanschluss des Analog-Digital-Wandlers 46 mit dem
Prozessor 44.
-
Energieversorgungsleitungen, Signalerdungen
und Signal-Konditionierungskomponenten, die normalerweise in einem
Entwurf des EEPROM 50 des Mikroreglers 42 und
des Analog-Digital-Wandlers 46 enthalten sind, sind in
der 2 nicht gezeigt.
-
Der Mikroprozessor 44 des
Mikroreglers 42 überträgt Steuersignale über die
Leitungen des Steuer-Busses 54, um die Ausführung von
Lese- und Schreiboperationen bezüglich
des EEPROM 50 zu steuern. Der Prozessor 44 überträgt geeignete
Daten über
den Adressen-Bus 56, um die speziellen Speicherzellen oder
Speicher-Arrays in den EEPROM 50 auszuwählen, wo ein Bit oder eine
Gruppe von Bits gelesen oder geschrieben werden sollen. Der Prozessor 44 schreibt
Daten auf das EEPROM 50, indem ein Spannungssignal auf
die Datenausgangsleitung 52 gegeben wird, dessen Größe dem logischen Pegel
des zu schreibenden Datenbits zugeordnet ist. Üblicherweise betragen die Spannungssignalpegel, die
ein Mikroprozessor auf eine Datenausgangsleitung zum Schreiben der
Darstellung der Datenbits "0" und "1" in einer Speicherzelle gibt, 0,5 Volt
+/–10% bzw.
4,5 Volt +/–10%.
-
Die erfindungsgemäße Technik der Sicherung von
Daten, die in einer Speicherzelle gespeichert sind, wird beschrieben,
indem zuerst die Prozesse des Datenschreibens zum und des Datenlesens
vom EEPROM 50, wie es in den 3 und 4 gezeigt ist, diskutiert
werden. Sodann wird ein Verfahren zum Erzeugen von Referenz-Darstellungen der
Daten, die in das EEPROM geschrieben werden, unter Bezugnahme auf
die 5 erläutert, und
ein Verfahren zum Authentisieren der Daten, die in dem EEPROM 50 gespeichert
sind, basierend auf der zuvor erzeugten Referenz-Darstellung, wird
unter Bezugnahme auf die 6 erläutert.
-
3 zeigt
ein Verfahren 100 zum Schreiben eines Datenblocks in das
EEPROM 50 vom Mikroregler 42 gemäß der Erfindung.
Insbesondere bei Schritt 102 gibt der Mikroprozessor 44 die
Adressen der Speicherzellen im EEPROM 50 auf den Adressen-Bus 56,
um ein Bit oder eine Gruppe von Bits eines Datenblocks zu schreiben.
Des besseren Verständnisses
wegen wird das Verfahren 100 für die Speicherung von einem
Datenbit in einer Speicherzelle des EEPROM 50 erläutert.
-
Bei Schritt 104 bestimmt
der Prozessor 44, ob das zu schreibende Datenbit ein logischer
Wert "1" oder "0" ist. Falls das Bit den Wert "0" hat, geht der Prozessor zu Schritt 106 über, hat
das Bit jedoch den Wert "1", geht der Prozessor 44 auf
den Schritt 108 über.
Bei Schritt 106 stellt der Prozessor 44 ein nominales "0"-Pegel-Spannungssignal bereit, beispielsweise
0,5 V, das auf die Datenausgangsleitung 52 gegeben wird.
In entsprechender Weise gibt der Prozessor 44 bei Schritt 108 einen
nominalen "1 "-Spannungssignalpegel,
z. B. 4,5 V, ab, der auf die Datenausgangsleitung 52 gelangt.
Schritt 110 wird nach Schritt 106 oder Schritt 108 ausgeführt.
-
Bei Schritt 110 gibt der
Prozessor 44 bewusst eine Zufallsspannungsabweichung auf
die Datenleitung 52. Dieser kleine, zufällig bewusste Fehler liegt
in der Größenordnung
von +/–10%
des nominalen Spannungssignals, das in Schritt 106 oder
Schritt 108 erzeugt wurde. Die Einführung eines vorsätzlichen
Abweich-Fehlers zum nominalen Spannungssignalpegel, der zum Schreiben
von Daten in das EEPROM 50 dient, gibt eine zusätzliche
Sicherheit für die
gespeicherten Daten, weil dies es damit einem Kopierer schwerer
macht, den Pegel der eingefangenen Ladungen in einer programmierten
Speicherzelle vorherzusagen. Der Schwierigkeitsgrad, eine numerische
Darstellung eines besonderen Pegels von eingefangenen Ladungen in
einer Speicherzelle zu erzeugen, wird durch die zusätzliche
Variabilität,
die durch das Hinzufügen
zu den Pegeln der Ladungen, die in den Speicherzellen beim Programmieren
eingefangen werden, erhöht.
-
Die absichtliche Zufallsfehlerspannung,
die auf die Datenausgangsleitung 52 gegeben wird, kann mittels
herkömmlicher
Techniken erzeugt werden, beispielsweise dadurch, dass ein Strom
fließt,
der den nominalen Spannungssignalpegel auf die Datenausgangsleitung 52 über eine
Rauschen erzeugende Tunneldioden-Schaltung erzeugt, die Schwankungen von
ungefähr
+/–10%
des Pegels der nominalen Spannung hervorruft. Beim vorliegenden
Beispiel kann der Spannungspegel des Signals, das auf die Datenausgangsleitung 52 für eine logische "1" gegeben wird, zuzüglich der bewussten Abweichung,
von 4,05 bis 4,95 Volt betragen. In entsprechender Weise kann das
Spannungssignal, das für
eine logische "0" steht, von 0,45
bis 0,55 Volt reichen.
-
Gemäß 3 gibt der Prozessor 44 bei Schritt 112 Steuersignale
auf die Steuer-Bus
leitung 56, um die Schreiboperation zu aktivieren. Bei
Schritt 114 wird das Datenbit in das EEPROM 50 geschrieben,
und zwar entsprechend dem Datenpegel auf der Datenausgangsleitung 52.
Der Pegel der Ladungen, die in einer programmierten Speicherzelle
eingefangen sind, steht beispielsweise in einem linearen Verhältnis zum
zugeführten
Spannungspegel. Bei Schritt 116 stellt der Prozessor 44 fest,
ob alle Bits eines zu speichernden Datenblocks in das EEPROM 50 geschrieben
wurden. Wenn alle Bits des Datenblocks vollständig in das EEPROM 50 eingeschrieben
wurden, ist das Verfahren 100 abgeschlossen. Falls nicht,
geht der Prozessor 44 auf Schritt 102 und fährt damit
fort, Daten in das EEPROM 50 zu schreiben, bis der ganze
Datenblock eingeschrieben ist.
-
4 zeigt
ein erfindungsgemäßes Verfahren 150 zum
Lesen eines Datenblocks aus dem EEPROM 50 unter Verwendung
des Mikroreglers 42, und zum Speichern von Daten, die repräsentativ
für die
gemessenen Pegel von eingefangenen Ladungen in programmierten Speicherzellen
sind. Des besseren Verständnisses
wegen wird angenommen, dass während
eines Lesevorgangs die Daten, die zuvor in das EEPROM 50 entsprechend
den Schritten des Verfahrens 100 gemäß 3 eingeschrieben wurden, zum Prozessor 44 zurückgelesen
werden und im ROM 45 gemäß Verfahren 150 für die weitere Bearbeitung
gespeichert werden. Außerdem
wird der Einfachheit halber das Verfahren 150 für das Lesen der
Daten, die in einer Speicherzelle gespeichert sind, oder für das Lesen
eines Datenbits beschrieben.
-
Im Schritt 152 gibt der
Mikroprozessor 44 Steuersignale auf die Steuer-Busleitung 54,
um eine Leseoperation einzuleiten, die das Lesen des Bits oder der
Bits eines Datenblocks umfasst, die in den Speicherzellen des EEPROM 50 gespeichert
sind. Bei Schritt 154 gibt der Prozessor 44 die
Speicherzellenadresse oder -adressen auf den Adressen-Bus 56 in
das EEPROM 50, die gelesen werden sollen. Auf der Grundlage
des Lesesignals, das sich auf dem Steuer-Bus 54 befindet,
und der Adressen auf dem Adressen-Bus 56 wird die adressierte
Speicherzelle im EEPROM 50 gelesen. Als Ergebnis des Leseprozesses
wird ein Spannungssignal, dessen Größe in linearer Relation zu
dem Pegel der eingefangenen Ladungen in einer Speicherzelle im EEPROM 50 steht,
auf die analoge Leitung 60 gegeben. Ein Spannungswert,
der dem Pegel der in einer Speicherzelle eingefangenen Ladungen
zugeordnet ist, kann indirekt durch nicht-destruktives Befragen
der programmierten Speicherzellen erhalten werden. Beispielsweise
kann man einen gemessenen Wert der Leitfähigkeit der Speicherzelle erhalten,
der zum gespeicherten Pegel der eingefangenen Ladungen korrespondiert
und der verwendet werden kann, um indirekt einen Spannungswert zu
erhalten.
-
Bei Schritt 156 erkennt
der Analog-Digital-Wandler 46 den Pegel des Spannungssignals, das
auf der analogen Ausgangsleitung 60 ansteht, und er wandelt
den analogen Wert des Spannungssignals in einen digitalisierten
numerischen Wert um. Die digitalisierte numerische Darstellung des
Spannungssignals wird dann auf die Datenleitung 62 zur Weiterleitung
auf den Mikroregler 42 gegeben und im ROM 45 durch
den Prozessor 44 gespeichert.
-
Bei Schritt 158 gewinnt
der Prozessor 44 die numerischen Darstellungen wieder,
die bei Schritt 156 im ROM 45 gespeichert wurden,
und dekodiert jede numerische Darstellung in eine Binärzahl. Mit anderen
Worten, der Prozessor 44 ermittelt aus der numerischen
Darstellung des Pegels der in einer Speicherzelle gespeicherten
Ladungen, ob das programmierte Datenbit eine logische "1" oder "0" war. Wird
mehr als eine Speicherzelle gleichzeitig im EEPROM 50 gelesen,
dekodiert der Prozessor 44 die entsprechende Sequenz der
gespeicherten numerischen Darstellungen in eine binäre Datenreihe.
Der Prozessor 44 kann zur Übertragung über die Eingangs-/Ausgangsanschlüsse 58 die
binäre
Datenreihe in Bytes formatieren, wie es bei bestimmten Anwendungen
von Halbleiterspeichereinrichtungen erwünscht sein kann.
-
Bei Schritt 160 speichert
der Prozessor 44 die numerischen Darstellungen der analogen
Pegel des Pegels der eingefangenen Ladungen im RAM 43 für die spätere Verwendung
im Authentisierungs-Prozess. Die numerische Darstellung für jede logische "0" und "1" eines
Datenbits ändert
sich in Abhängigkeit
von den Bedingungen, die zur Zeit des Programmierens bestanden,
sowie der gewollten Zufallsabweichungsspannung, die in Schritt 110 in 3 zugefügt wurde. Beispielsweise könnte für eine logische
Reihe "1010110" die entsprechende
numerische Darstellung linear auf die Spannungen von 4, 10; 0,5;
4,05; 0,45; 4,75; 4,90 und 0,55 Volt bezogen sein. Diese numerische
Darstellung ist einzigartig für jeden
Datenblock, und sie wird als Referenz-"Fingerabdruck" verwendet, um die Daten zu authentisieren, wie
weiter unten noch erläutert
wird. Der Fingerabdruck wird digital gespeichert. Der Prozessor 44 kann auch
die numerische Darstellung für
die Übertragung über den
Eingangs- und Ausgangsanschluss 58 und die Speicherung
in einer externen Datenbank formatieren.
-
Bei Schritt 162 ermittelt
der Prozessor 44, ob alle Bits eines Datenblocks, die im
EEPROM 50 gespeichert sind, gelesen wurden. Falls der Datenblock vollständig gelesen
wurde, ist der Vorgang 150 beendet. Andernfalls geht der
Prozessor 44 zu Schritt 154 und fährt damit
fort, Daten aus dem EEPROM 50 zu lesen, bis alle Datenbits
im Datenblock gelesen sind.
-
Somit zeigt der Prozess 150,
dass mehrere Speicherzellen in einer Speichereinrichtung gelesen werden
können,
sodass eine Gruppe oder Stichprobenentnahme der Pegel von eingefangenen
Ladungen in der Speicherzelle exakt gemessen werden kann, wobei
indirekt bestimmte Spannungswerte verwendet werden, wobei die numerischen
Darstellungen der jeweiligen Spannungssignalpegel erhalten werden
können.
-
5 zeigt
einen Prozess 200, der eine Technik zum Schreiben von Daten
in und dann Lesen von Daten aus dem EEPROM 50 verdeutlicht,
um eine Datenkette zu erzeugen, die numerische Darstellungen der
Pegel von eingefangenen Ladungen der programmierten Speicherzellen,
genannt Fingerabdruck, enthält.
Der Fingerabdruck, der unmittelbar nach dem Einschreiben der Daten
in das EEPROM 50 erzeugt wird, wird als Referenz verwendet,
und ein solcher Referenz-Fingerabdruck kann dazu verwendet werden,
die im EEPROM 50 gespeicherten Daten zu authentisieren.
-
Bei Schritt 202 schreibt
der Mikroregler 42 entsprechend den Schritten nach Prozess 100 in 3 einen Datenblock in das
EEPROM 50. Schritt 204 wird dann sofort ausgeführt, wobei
der Mikroregler 42 den gerade in das EEPROM 50 geschriebenen Datenblock
in Schritt 202 liest, und zwar gemäß den Schritten des Prozesses 150 in 4. Bei Schritt 206 gewinnt
der Prozessor 44 die Sequenz von numerischen Darstellungen
wieder, die im RAM 43 für
den Datenblock gespeichert war, der in Schritt 204 gelesen
wurde, und er erzeugt einen Referenz-Fingerabdruck aus dem Satz
von numerischen Darstellungen. Der Referenz-Fingerabdruck identifiziert
auf einmalige Weise diese speziellen Daten sowohl der Speichereinrichtung,
in welcher die Daten gespeichert waren, als auch der Charakteristiken
des Schreibvorgangs. Beispielsweise kann der Referenz-Fingerabdruck "0101" numerisch dargestellt
sein als 4,6; 0,5; 4,75 und 0,45 für eine bestimmte Speichereinrichtung.
Der Referenz-Fingerabdruck kann eine Datenketten-Folge aufweisen,
die repräsentativ
für die
numerische Darstellung ist, die in Schritt 204 erhalten wurde.
Alternativ kann der Referenz-Fingerabdruck eine Datenketten-Folge
enthalten, die als verdichtete Folge bekannt ist, die ausgewählte numerische
Darstellungen der gemessenen Pegel von eingefangenen Ladungen enthält, die
in Schritt 204 erhalten wurden.
-
Bei einer weiteren Alternative können die
numerischen Darstellungen der Speicherzellen, die bei Schritt 204 ausgelesen
wurden, zum Zwecke des Einschlusses in den Fingerabdruck ausgewählt werden,
indem eine Fuzzy-Logik verwendet wird. Beispielsweise können Fuzzy-Logik-Techniken
verwendet werden, um einen Fuzzy-Daten-Satz zu erzeugen, der per
Definition eine Unterseite des Satzes der numerischen Darstellungen
ist, die bei Schritt 204 erhalten wurden. Der Fuzzy-Satz
enthält
in erster Linie signifikante numerische Darstellungen, die als solche Darstellungen
definiert sind, die höchst
nützlich
für den
Fuzzy-Satz sind. Herkömmliche
mathematische Operationen bezüglich
der Verarbeitung und der Analyse eines Fuzzy-Satzes können verwendet
werden. Beispielsweise können
die Verhältnisse
der Pegel der eingefangenen Ladungen von benachbarten Speicherzellen
in einer Halbleitereinrichtung, die dasselbe programmierte Datenbit
enthalten, als die signifikanten numerischen Darstellungen, die
im Referenz-Fingerabdruck enthalten sind, verwendet werden, um die
Temperaturschwankungen zu kompensieren, welche die numerischen Darstellungen
bei Schritt 204 verfälschen
können.
Ein solches Ergebnis wäre
möglich,
weil ein Fuzzy-Satz erzeugt werden könnte, der Werte enthält, die,
aus früherer
Erfahrung, die Temperatureffekte von benachbarten Zellen kompensieren.
Andere Kompensationsformen, die Fuzzy-Logik verwenden, könnten ebenfalls
verwendet werden.
-
Bei einer weiteren Alternative könnte eine verdichtete
Sequenz von numerischen Darstellungen als Referenz-Fingerabdruck
gespeichert werden, wobei Fuzzy-Logik-Techniken zum Einsatz kommen.
-
Bei Schritt 208 speichert
der Prozessor 44 die numerischen Darstellungen, die im
Referenz-Fingerabdruck enthalten sind, um sie sodann für die Authentisierung
der im EE-PROM 50 gespeicherten
Daten zu verwenden. Der Prozessor 44 kann beispielsweise
die Daten des Referenz-Fingerabdrucks in einem gesonderten Bereich
auf dem EEPROM 50 abspeichern, wobei er die Schritte des
Verfahrens 100 von 3 verwendet.
Alternativ kann der Prozessor 44 Daten bereitstellen, die
für den
Referenz-Fingerabdruck am Eingang-/Ausgangsanschluss 58 repräsentativ
sind, um diese in einer externen Datenbank zu speichern.
-
Um die Sicherheit der in dem EEPROM 50 gespeicherten
Daten weiter zu verbessern, kann der Referenz-Fingerabdruck verschlüsselt werden,
bevor er ins EEPROM 50 geschrieben oder in einer externen
Datenbank gespeichert wird. Die Verschlüsselung wird durchgeführt, um
einen Schutz gegen nicht autorisierte Verdoppelung des Referenz-Fingerabdrucks,
wo die Einzelheiten der Schritte zum Erzeugen eines Fingerabdrucks
einem Nachahmer bekannt werden, zu erhalten. Wenn beispielsweise
die Technik für
die Herstellung eines Fingerabdrucks einer nicht autorisierten Partei
bekannt wird, können die
Daten in den Speicherzellen auf eine zweite Halbleiterspeichereinrichtung
kopiert werden und ein anderer scheinbar gültiger Referenz-Fingerabdruck kann
für die
Daten, die auf der zweiten Speichereinrichtung kopiert sind, erzeugt
werden. Eine sichere Verschlüsselung
des Referenz-Fingerabdrucks vor der Abspeicherung verhindert dieses
mögliche
Problem.
-
Die 6 zeigt
einen Prozess 250 zum Lesen eines Datenblocks aus dem EE-PROM 50,
der beispielsweise einem Kartenleser zugeführt wird. Ein Fingerabdruck,
der Authentisierungs-Fingerabdruck genannt wird, wird basierend
auf diesem Datenleser erzeugt und mit dem Referenz-Fingerabdruck
der gespeicherten Daten zum Zwecke der Authentisierung der im EEPROM 50 gespeicherten
Daten verglichen. Bei Schritt 252 liest der Mikroregler 42 einen
Datenblock vom EEPROM 50 in der oben bei Prozess 150 beschriebenen
Weise. Bei Schritt 254 erzeugt der Prozessor 44 einen
Authentisierungs-Fingerabdruck von den im RAM 43 gespeicherten
Daten, bei Schritt 252 in ähnlicher Weise wie bei der
Fingerabdruck-Erzeugung von Schritt 206 des Prozesses 200.
Es ist festzuhalten, dass die Technik zur Erzeugung des Referenz-Fingerabdrucks,
wie oben beschrieben, die Art regelt, in welcher der Authentisierungs-
Fingerabdruck erzeugt wird, um die Daten, die in den Speicherzellen
gespeichert sind, gemäß der vorliegenden Erfindung
zu authentisieren.
-
Bei Schritt 256 stellt der
Prozessor 44 den Referenz-Fingerabdruck wieder her, der
den gerade ausgelesenen Speicherzellen zugeordnet ist. Wie oben
erläutert,
kann dieser Referenz-Fingerabdruck erhalten werden, indem die Speicher-Arrays
im EEPROM 50 gelesen werden, welches den Referenz-Fingerabdruck
enthält.
Alternativ kann man den Referenz-Fingerabdruck über den Ein-/Ausgangsanschluss 58 aus
einer Datenbank erhalten. Falls der Referenz-Fingerabdruck vor der
Abspeicherung verschlüsselt
wurde, wird der Referenz-Fingerabdruck bei Schritt 256 entschlüsselt.
-
Bei Schritt 258 vergleicht
der Prozessor 44 den Referenz-Fingerabdruck mit dem Authentisierungs-Fingerabdruck.
Falls der Authentisierungs-Fingerabdruck dem Referenz-Fingerabdruck innerhalb vom
Benutzer definierten Vergleichsparametern entspricht, sind die vom
EEPROM 50 gespeicherten Daten authentisch. Ist dies nicht
der Fall, sind die im EEPROM 50 gespeicherten Daten nicht
authentisch und können
in der Tat in nicht autorisierter Weise entnommen und modifiziert
worden sein.
-
Bei einer anderen Ausführungsform
kann die erfindungsgemäße Technik
zum Zwecke des Erkennens, ob die Daten auf eine andere Speichervorrichtung
kopiert wurden, verwendet werden. Wie oben beschrieben, ist es sehr
schwierig, die identischen Pegel von eingefangenen Ladungen in einer
ersten programmierten Speicherzelle in einer zweiten Speicherzelle
zu duplizieren, sodass man eine identische numerische Darstellung
der eingefangenen Ladungen in der ersten programmierten Speicherzelle
erhält
und folglich, dass eine Kopie des Referenz-Fingerabdrucks erzeugt
werden kann. Der Fachmann kann die Lehre dieser Erfindung verwenden,
um festzustellen, ob die in programmierten Speicherzellen gespeicherten
Daten einer ersten Halbleiterspeichereinrichtung auf eine zweite
Halbleiterspeichereinrichtung kopiert wurden. Dies kann dadurch
geschehen, dass der Referenz-Fingerabdruck, der für die in
der Speicherzelle der ersten Speichereinrichtung gespeicherten Daten
erzeugt wurde, mit einem Authentisierungs-Fingerabdruck verglichen
wird, der beim Lesen der Speicherzelle der zweiten Speichereinrichtung
erzeugt wurde.
-
Ein Nachahmer, der weiß, dass
der Datenblock von Speicherzellen, die sich etwa auf einer Original-Chipkarte
befinden, "10101" lautet, wird daher versuchen,
diese Sequenz auf einer gefälschten Chipkarte
zu reproduzieren. Wird jedoch die Original-Chipkarte gemäß der Erfindung
verifiziert und kennt der Nachahmer nicht den Fingerabdruck auf der
Original-Chipkarte, wird er erfolglos bleiben. Ist der Referenz-Fingerabdruck
auf der Original-Chipkarte 4,5; 0,5; 4,75; 0,45 und 4,9 und hat
der Nachahmer die logische Folge zu 4,75; 0,45; 4,2; 0,55 und 4,15
programmiert, besteht keine Übereinstimmung, und
die gefälschte
Karte wird nicht authentisiert. Selbst wenn der Nachahmer den Fingerabdruck kennt,
ist es unmöglich,
diesen in einer anderen Halbleiterspeichereinrichtung zu replizieren,
weil in jeder solchen Einrichtung einmalige physikalische Charakteristika
herrschen. Außerdem
sind auch die Umweltbedingungen ein Faktor. So stellen sich denen,
welche die Sicherheit der in einer Halbleiterspeicherschaltung gemäß der Erfindung
gespeicherten Daten unterlaufen wollen, zahlreiche Hindernisse in den
Weg.
-
Es versteht sich, dass die Ausführungsbeispiele
und Abwandlungen, die oben beschrieben wurden, nur die Prinzipien
der Erfindung erläutern und
dass verschiedene Modifikationen durch den Fachmann realisiert werden
können,
ohne vom Umfang der Erfindung abzuweichen.