-
GEBIET DER ERFINDUNG
-
Allgemein betreffen Ausführungsformen der vorliegenden Erfindung Systemhardware. Insbesondere betreffen Ausführungsformen der vorliegenden Erfindung ein System und ein Verfahren zum Bereitstellen eines Echtheitsnachweisdienstes eines Chips.
-
HINTERGRUND DER ERFINDUNG
-
Unter den Bedingungen des heutigen Welthandels stellt die zunehmende Nutzung gefälschter Computer- und Hardwareausrüstungen für die Informationstechnologie (IT) ein ernsthaftes Problem dar, vor dem Unternehmen in der ganzen Welt stehen. Gefälschte Hardware lässt sich immer schwieriger erkennen, da sie mit anspruchsvollen technischen Spezifikationen und unter bekannten Markennamen auftreten kann. Durch gefälschte IT-Hardware werden die Einnahmen von Hunderten rechtmäßiger Beteiligter der Wertschöpfungskette, darunter Händler, Zulieferer und Hersteller, geschmälert. Für diese rechtmäßigen Unternehmen können die Verluste und Schäden beträchtlich sein, da gefälschte IT-Hardware eine Konkurrenz für echte Hardware darstellt. Letztlich können dadurch der Ruf und der Marktwert einer Marke betroffen sein.
-
Die
US 2009 / 0 158 445 A1 betrifft eine Sicherheit eines Chips und insbesondere die Sicherheit beim Einschalten des Chips.
-
Die
US 2010 / 0 287 374 A1 betrifft einen Entwurf integrierter Schaltungen und insbesondere einen Schutz integrierter Schaltungsentwürfe vor nicht autorisiertem Kopieren.
-
Die
US 2004 / 0 060 017 A1 betrifft ein On-Chip-Testen von integrierten Schaltungen.
-
Die
US 2008 / 0 279 373 A1 betrifft eine Technologie zum elektronischen Sichern von elektronischen Geräten unter Verwendung von Sicherheitsschlüsseln und insbesondere Systeme, Vorrichtungen und Verfahren zum Sichern von Geräten, die physikalisch nicht klonbare Funktionen (PUF) verwenden, um Sicherheitsschlüssel zu erzeugen.
-
Die
US 2009 / 0 083 833 A1 bertifft Authentifizierung mit physikalisch nicht klonbare Funktionen.
-
Die
EP 2 302 555 A2 betrifft einen Chip und ein Verfahren zum Korrigieren einer Ausgabe eines PUF Chips.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Aufgabe der Erfindung ist es, ein System sowie ein Verfahren zum Bereitstellen eines Echtheitsnachweisdienstes eines Chips bereitzustellen. Aufgabe der Erfindung ist es des Weiteren, ein Verfahren zum Einrichten eines Systems zum Bereitstellen eines Echtheitsnachweisdienstes eines Chips bereitzustellen.
-
Die der Erfindung zugrunde liegenden Aufgaben werden mit den Merkmalen der unabhängigen Patentansprüche gelöst. Ausführungsformen der Erfindung sind in den abhängigen Ansprüchen angegeben.
-
Ausführungsformen der vorliegenden Erfindung stellen einen Echtheitsnachweisdienst eines Chips unter Verwendung einer chipspezifischen Komponente (intrinsic component) bereit. Gemäß einer typischen Ausführungsform wird eine Echtheitsnachweiseinheit bereitgestellt, die ein Erkennungs- (ID-) Modul, ein Selbsttest-Modul und eine chipspezifische Komponente enthält. Die chipspezifische Komponente ist einem Chip zugehörig und enthält ein chipspezifisches Merkmal. Zum Erzeugen einer ID empfängt das Selbsttest-Modul das chipspezifische Merkmal und übermittelt dieses an das Erkennungs-Modul. Das Erkennungs-Modul empfängt das chipspezifische Merkmal, erzeugt unter Verwendung des chipspezifischen Merkmals einen ersten Echtheitsnachweiswert und speichert den Echtheitsnachweiswert im Speicher. Zur Bestätigung der Echtheit der ID erzeugt das Selbsttest-Modul unter Verwendung einer EchtheitsnachweisAbfrage einen zweiten Echtheitsnachweiswert. Das Erkennungs-Modul enthält eine Vergleichsschaltung, die den ersten Echtheitsnachweiswert mit dem zweiten Echtheitsnachweiswert vergleicht und auf der Grundlage der Ergebnisse des Vergleichs zwischen den beiden Werten einen Echtheitsnachweis-Ausgabewert erzeugt.
-
Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein System zum Bereitstellen eines Echtheitsnachweisdienstes eines Chips bereitgestellt, wobei das System aufweist: eine Echtheitsnachweiseinheit, die ein Erkennungs-Modul, ein Selbsttest-Modul und eine chipspezifische Komponente aufweist, wobei die chipspezifische Komponente einem Chip zugehörig ist und ein chipspezifisches Merkmal aufweist; das Selbsttest-Modul, das so konfiguriert ist, dass es das chipspezifische Merkmal empfängt und das chipspezifische Merkmal an das Erkennungs-Modul übermittelt; das Erkennungs-Modul, das ferner so konfiguriert ist, dass es das chipspezifische Merkmal empfängt, unter Verwendung des chipspezifischen Merkmals einen ersten Echtheitsnachweiswert erzeugt und den Echtheitsnachweiswert in einem Speicher speichert; das Selbsttest-Modul, das ferner so konfiguriert ist, dass es unter Verwendung einer Echtheitsnachweisabfrage einen zweiten Echtheitsnachweiswert erzeugt; das Nachweis-Modul, das ferner eine Vergleichsschaltung aufweist, die so konfiguriert ist, dass sie den ersten Echtheitsnachweiswert mit dem zweiten Echtheitsnachweiswert vergleicht; und die Vergleichsschaltung, die ferner so konfiguriert ist, dass sie auf der Grundlage der Ergebnisse des Vergleichs des ersten Echtheitsnachweiswertes mit dem zweiten Echtheitsnachweiswert einen Echtheitsnachweis-Ausgabewert erzeugt.
-
Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Bereitstellen eines Echtheitsnachweisdienstes eines Chips bereitgestellt, wobei das Verfahren aufweist: Abrufen eines chipspezifischen Merkmals durch ein Selbsttest-Modul, wobei das chipspezifische Merkmal von einer chipspezifischen Komponente abgeleitet ist und einem Chip zugehörig ist; Empfangen des chipspezifischen Merkmals durch das Erkennungs-Modul; Erzeugen eines ersten Echtheitsnachweiswertes unter Verwendung des chipspezifischen Merkmals durch das Erkennungs-Modul; Speichern des ersten Echtheitsnachweiswertes in einem Speicher; Erzeugen eines zweiten Echtheitsnachweiswertes unter Verwendung einer Echtheitsnachweisabfrage durch das Selbsttest-Modul; Vergleichen des ersten Echtheitsnachweiswertes mit dem zweiten Echtheitsnachweiswert durch eine Vergleichsschaltung; und Erzeugen eines Echtheitsnachweis-Ausgabewertes durch die Vergleichsschaltung auf der Grundlage der Ergebnisse des Vergleichs zwischen dem ersten Echtheitsnachweiswert und dem zweiten Echtheitsnachweiswert.
-
Gemäß einem dritten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Einrichten eines Systems zum Bereitstellen eines Echtheitsnachweisdienstes eines Chips bereitgestellt, wobei das System eine Datenbank und eine Echtheitsnachweiseinheit aufweist, die ein Erkennungs-Modul, ein Selbsttest-Modul und eine chipspezifische Komponente aufweist, wobei die chipspezifische Komponente einem Chip zugehörig ist und ein chipspezifisches Merkmal aufweist; das Selbsttest-Modul so konfiguriert ist, dass es das chipspezifische Merkmal empfängt und das chipspezifische Merkmal an das Erkennungs-Modul übermittelt; das Erkennungs-Modul ferner so konfiguriert ist, dass es das chipspezifische Merkmal empfängt, unter Verwendung des chipspezifischen Merkmals einen ersten Echtheitsnachweiswert erzeugt und den Echtheitsnachweiswert in einem Speicher speichert; das Selbsttest-Modul ferner so konfiguriert ist, dass es unter Verwendung einer durch die Datenbank erzeugten Echtheitsnachweisabfrage einen zweiten Echtheitsnachweiswert erzeugt; das Nachweis-Modul ferner eine Vergleichsschaltung aufweist, die so konfiguriert ist, dass sie den ersten Echtheitsnachweiswert mit dem zweiten Echtheitsnachweiswert vergleicht; und die Vergleichsschaltung ferner so konfiguriert ist, dass sie auf der Grundlage der Ergebnisse des Vergleichs des ersten Echtheitsnachweiswertes mit dem zweiten Echtheitsnachweiswert einen Echtheitsnachweis-Ausgabewert erzeugt, und wobei die Datenbank den Echtheitsnachweis-Ausgabewert bestätigt.
-
Figurenliste
-
Diese und weitere Merkmale dieser Erfindung werden aus der folgenden detaillierten Beschreibung der verschiedenen Aspekte der Erfindung in Verbindung mit den beiliegenden Zeichnungen verständlicher, wobei:
- 1a eine beispielhafte Umsetzung der Verfahrensweise einer chipspezifischen Kennung (ID) für den selbst durchgeführten Echtheitsnachweis zeigt.
- 1b einen beispielhaften DRAM mit 1-Transistor/1-Kondensator- (1T1C-) Zellen und einem Leseverstärker (SA) zeigt.
- 2 ein Blockschaltbild eines beispielhaften Selbsttest-Moduls zeigt.
- 3 ein Blockschaltbild eines beispielhaften ID-Funktionsgenerators zeigt.
- 4 ein Blockschaltbild einer beispielhaften Fuzzy-Vergleichsschaltung zeigt.
- 5 den Ablaufplan eines Verfahrens zum Bereitstellen eines Echtheitsnachweisdienstes eines Chips zeigt.
- 6 ein Blockschaubild des Systems zum Sicherstellen des Echtheitsnachweises unter Verwendung einer Datenbank und einer Echtheitsnachweiseinheit zeigt.
-
Die Zeichnungen sind nicht unbedingt maßstabsgerecht. Die Zeichnungen sind lediglich schematische Darstellungen und sollen keine konkreten Parameter der Erfindung wiedergeben. Die Zeichnungen sollen lediglich typische Ausführungsformen der Erfindung zeigen und sind deshalb nicht als Einschränkung des Schutzumfangs der Erfindung zu verstehen. In den Zeichnungen stellen gleiche Bezugsnummern gleiche Elemente dar.
-
DETAILLIERTE BESCHREIBUNG
-
Nunmehr werden hierin anschauliche Ausführungsformen unter Bezugnahme auf die beiliegenden Zeichnungen ausführlicher beschrieben, in denen beispielhafte Ausführungsformen dargestellt sind. Diese Offenbarung kann jedoch in vielen verschiedenen Formen umgesetzt werden und sollte nicht als Beschränkung auf die hierin dargelegten beispielhaften Ausführungsformen ausgelegt werden. Diese beispielhaften Ausführungsformen werden vielmehr bereitgestellt, damit diese Offenbarung umfassend und vollständig ist und dem Fachmann den Schutzumfang dieser Offenbarung vollständig vermittelt. In der Beschreibung werden allgemein bekannte Merkmale und Techniken weggelassen, um die dargelegten Ausführungsformen nicht unnötig zu verschleiern.
-
Die hierin gebrauchten Begriffe dienen lediglich zur Beschreibung einzelner Ausführungsformen und sind nicht als Einschränkung dieser Offenbarung zu verstehen. Die hierin gebrauchten Einzahlformen „ein“, „eine“ und „der, die, das“ sollen gleichermaßen auch die Mehrzahlformen beinhalten, sofern aus dem Zusammenhang nichts anderes hervorgeht. Darüber hinaus wird durch die Verwendung der Begriffe „ein“, „eine“ usw. keine Mengenbegrenzung, sondern vielmehr das Vorhandensein mindestens eines der angegebenen Objekte angezeigt. Der Begriff „Satz“ soll eine Menge von mindestens einem Objekt bedeuten. Ferner ist klar, dass die Begriffe „weist auf“ und/oder „aufweisend“ oder „enthält“ und/oder „enthaltend“ bei Verwendung in dieser Beschreibung das Vorhandensein angegebener Merkmale, Bereiche, Ganzzahlen, Schritte, Operationen, Elemente und/oder Komponenten bezeichnen, jedoch nicht das Vorhandensein oder Hinzukommen eines oder mehrerer weiterer Merkmale, Bereiche, Ganzzahlen, Schritte, Operationen, Elemente und/oder deren Gruppen ausschließen. Die Begriffe „erste(r)“ und „1.“ werden ebenso wie die Begriffe „zweite(r)“ und „2.“ austauschbar verwendet.
-
Zwar werden die Begriffe erste(r), zweite(r), dritte(r) usw. zur Beschreibung verschiedener Puffer, Kerne, Klassen und/oder Speicher verwendet, es ist jedoch klar, dass diese Puffer, Kerne, Klassen und/oder Speicher nicht durch diese Begriffe eingeschränkt werden sollen. Diese Begriffe werden nur zur Unterscheidung eines Puffers, eines Kerns, einer Klasse oder eines Speichers von einem anderen Puffer, einem anderen Kern, einer anderen Klasse oder einem anderen Speicher verwendet. Somit kann ein im Folgenden erörterter erster Puffer, ein erster Kern, eine erste Klasse oder ein erster Speicher als zweiter Puffer, zweiter Kern, zweite Klasse oder zweiter Speicher bezeichnet werden, ohne von den Lehren des vorliegenden vorteilhaften Konzepts abzuweichen.
-
Ausführungsformen werden hierin unter Bezugnahme auf perspektivische oder Querschnittsansichten beschrieben, bei denen es sich um schematische Darstellungen idealisierter Ausführungsformen (und Zwischenstrukturen) handelt. Insofern muss mit Abweichungen von den Formen der Darstellungen zum Beispiel als Ergebnis von Fertigungstechniken und/oder -toleranzen gerechnet werden. Somit sollten Ausführungsformen nicht so ausgelegt werden, dass sie auf die bestimmten Formen hierin dargestellter Bereiche beschränkt sind, sondern Formabweichungen beinhalten, die zum Beispiel von der Fertigung herrühren. Zum Beispiel kann ein Kanten- oder Eckenbereich, der mit scharfen Kanten dargestellt ist, leicht abgerundete oder gekrümmte Merkmale aufweisen. Desgleichen können kreisförmig oder kugelförmig dargestellte Elemente eine ovale Form oder bestimmte geradlinige oder abgeflachte Teile aufweisen. Somit sind die in den Figuren dargestellten Bereiche dem Wesen nach schematisch, und ihre Formen sollen nicht die wirkliche Form eines Bereichs oder Elements einer Einheit darstellen und nicht den Schutzumfang der offenbarten Ausführungsformen einschränken.
-
Sofern nicht anderweitig definiert weisen alle hierin gebrauchten Begriffe (darunter technische und wissenschaftliche Begriffe) dieselbe Bedeutung auf, die dem Fachmann geläufig ist, an den dieses vorteilhafte Konzept gerichtet ist. Ferner ist klar, dass Begriffe, wie sie in üblicherweise verwendeten Wörterbüchern definiert sind, so auszulegen sind, dass deren Bedeutung mit ihrer Bedeutung in Zusammenhang mit der zugrunde liegenden Technik übereinstimmt, und nicht in einem idealisierten oder übermäßig formalen Sinne ausgelegt werden, sofern hierin nicht ausdrücklich so definiert wird.
-
Ausführungsformen der vorliegenden Erfindung stellen einen Echtheitsnachweisdienst eines Chips unter Verwendung einer chipspezifischen Komponente bereit. Gemäß einer typischen Ausführungsform wird eine Echtheitsnachweiseinheit bereitgestellt, die ein Erkennungs- (ID-) Modul, ein Selbsttest-Modul und eine chipspezifische Komponente enthält. Die chipspezifische Komponente ist einem Chip zugehörig und enthält ein chipspezifisches Merkmal. Das Selbsttest-Modul empfängt das chipspezifische Merkmal und übermittelt dieses an das Erkennungs-Modul. Das Erkennungs-Modul empfängt das chipspezifische Merkmal, erzeugt unter Verwendung des chipspezifischen Merkmals einen ersten Echtheitsnachweiswert und speichert den Echtheitsnachweiswert in einem Speicher. Das Selbsttest-Modul erzeugt unter Verwendung einer Echtheitsnachweisabfrage einen zweiten Echtheitsnachweiswert. Das Erkennungs-Modul enthält eine Vergleichsschaltung, die den ersten Echtheitsnachweiswert mit dem zweiten Echtheitsnachweiswert vergleicht und auf der Grundlage der Ergebnisse des Vergleichs der beiden Werte einen Echtheitsnachweis-Ausgabewert erzeugt.
-
Um der Verbreitung von gefälschter Hardware entgegenzuwirken, müssen Verfahren zur Schaffung einer Vertrauensbasis in die Hardware entwickelt werden. Chipkennungen müssen einzigartig und schwer imitierbar sein. Der große Umfang in Chips integrierter Speicher weist einen Weg zum Erzeugen solcher Schlüssel durch Nutzung chipspezifischer Eigenschaften jeder Bitzelle, die sich aus der Schwankungsbreite ergibt, die dem Chip-Fertigungsprozess innewohnt.
-
Solche Hardwareschlüssel gehören zur Familie der physisch nicht imitierbaren Funktionen (physically unclonable functions, PUFs), die leider nicht genau reproduzierbar sind. Einige auf DRAM beruhende PUFs ändern sich von Prüfung zu Prüfung mit Sicherheit nur sehr wenig und können deshalb mittels eines Fuzzy-Echtheitsnachweis-Algorithmus praxistauglich gemacht werden. Da dieser Ansatz immer eine Musterkennung mit näherungsweisem Vergleich erfordert, ist kein sicheres Hashverfahren möglich, und der Echtheitsnachweis erfordert einen außerhalb des Chips auszuführenden Fuzzy-Vergleich der Chip-Reaktion auf die Zeichenfolge der eindeutigen Chipkennung, die in der sicheren Datenbank des Herstellers aufbewahrt wird. Hierfür sind große Datenbanken, in denen alle Musterkennungen für jeden Chip gespeichert werden können, und das Übermitteln der Kennung über ein Netzwerk erforderlich. Die hierin beschriebenen Systeme und Verfahren stellen eine Lösung dar, die mit jeder chipspezifischen Kennung angewendet werden kann, die einen Schwellenwert für die Mindestreproduzierbarkeit einhält.
-
Die Verfahrensweise mit einer chipspezifischen ID für den Selbstechtheitsnachweis verwendet ein nicht imitierbares zufälliges Bitmuster, vorzugsweise unter Verwendung eines integrierten Speichers. Zum Erzeugen eines Bitmusters wird eine Abfrage bereitgestellt. Der Chip verfügt über chipspezifische Daten, die für jeden Chip einzigartig sind und sich aus der Schwankungsbreite bei der Fertigung ergeben. Diese Daten können in zwei Teile aufgeteilt werden: eine Abfrage/Frage und eine Reaktion/Antwort. Bei der Frage handelt es sich vorzugsweise um eine Kombination aus einer Teilmenge von Bitadressen, die zu dem unter bestimmten Testbedingungen abzufragenden Speicher-Chip gehören, beispielsweise eine Chip-Spannung, eine Chip-Temperatur oder ein bestimmtes Muster wie beispielsweise eine Haltezeit (für einen DRAM). Als Antwort wird das Testergebnis wie beispielsweise bestanden/durchgefallen für jedes getestete Bit angegeben, das ein Bitmuster bildet.
-
Das Bitmuster wird in eine binäre Zeichenfolge konvertiert, die verschlüsselt und nach dem Erzeugen in einem Speicher, vorzugsweise einem eFUSE, innerhalb desselben Chips gespeichert wird. In der Datenbank des Erstherstellers (original equipment manufacturer, OEM) wird die entsprechende Abfrage aufgezeichnet, die für jeden Chip und die chipspezifische ID jedes Chips einzigartig ist. Die Abfrage kann zum Verschlüsseln und Entschlüsseln des Bitmusters verwendet werden, um die in dem Speicher gespeicherte binäre Zahlenfolge zu erzeugen, wodurch die Sicherheit weiter verbessert wird.
-
Der Grundgedanke der vorliegenden Erfindung besteht darin, einen zu 100 % sicheren Echtheitsnachweis zu ermöglichen. Die OEM-Datenbank sucht nach der ID, um die entsprechende Abfrage zu finden, und sendet diese an den entsprechenden Chip. Wenn der Chip mit der ihm entsprechenden Abfrage abgefragt wird, ermöglicht dieser eine Verschlüsselung der lokal in dem Speicher gespeicherten binären Zahlenfolge, um die ursprüngliche Bitmap zu erzeugen. Eine an einen anderen Chip gerichtete gültige Abfrage erzeugt eine andere Antwort, da die Wahrscheinlichkeit einer Kollision zwischen Antworten statistisch vernachlässigbar klein ist, denn die Abfragen sind so aufeinander abgestimmt, dass die Einzigartigkeit aller Antworten sichergestellt ist. Desgleichen kann eine in der lokalen Datenbank des Chips gespeicherte gültige Antwort für das Bitmuster nur durch den Chip mit einer gültigen Abfrage nachgebildet werden. Da in einem Speicher-Chip zu viele Bit-Teilmengen und zu viele verschiedene Abfragen vorliegen, aus denen ausgewählt werden kann, kann ein Fälscher die richtige Bit-Teilmenge oder die Abfrage nicht ohne erheblichen Ressourcenaufwand ermitteln.
-
Dann führt eine Vergleichseinheit einen ungenauen (Fuzzy) oder einen genauen Vergleich zwischen dem resultieren neuen Muster und der ursprünglichen Bitmap (im nichtflüchtigen Speicher) durch. Eine genaue Übereinstimmung führt dazu, dass der Chip seine Echtheit selbsttätig nachweist. Der Prozess wird im Folgenden unter Bezugnahme auf 1 bis 6 näher beschrieben.
-
1a zeigt eine beispielhafte Umsetzung 100 des Verfahrens für den Selbstechtheitsnachweis mit einer chipspezifischen ID. Die Umsetzung 100 beinhaltet eine Echtheitsnachweiseinheit 102. Die Einheit kann innerhalb eines Chips des Produktes integriert oder auf einer Systemplatine angeordnet sein. Die Echtheitsnachweiseinheit 102 enthält ein Erkennungs- (ID-) Modul 104, ein Selbsttest-Modul 106 und eine chipspezifische Komponente 108. Das ID-Modul 104 enthält eine ID-Abfrageschnittstelle 110, einen ID-Funktionsgenerator 112, einen Speicher 114 und eine Vergleichsschaltung (oder Vergleichseinheit) 116.
-
Das ID-Modul 104 verwendet eine Echtheitsnachweisabfrage, um die Echtheit der chipspezifischen Komponente 108 nachzuweisen. Bei der chipspezifischen Komponente 108 kann es sich um eine der für den Chip des Produkts verwendeten Komponenten handeln. Die chipspezifische Komponente ist dem Chip zugehörig und enthält ein chipspezifisches Merkmal 120. Gemäß einem Beispiel besteht das chipspezifische Merkmal 120 aus einer Matrix von Werten.
-
Die durch die OEM-Datenbank (d.h. den Server) gelieferte Echtheitsnachweisabfrage 130 stellt die Domänendaten bereit, die zum Erzeugen der chipspezifischen ID (oder des Echtheitsnachweiswertes) verwendet werden. In diesem Fall handelt es sich bei der Echtheitsnachweisabfrage um eine Adressabfrage 132. Die durch die Adressabfrage 132 bereitgestellten Domänendaten werden in das Selbsttest-Modul 106 eingegeben, um die Domänenadresse zu erzeugen und auf eine bestimmte Adressdomäne in der chipspezifischen Komponente, vorzugsweise im DRAM 108, zuzugreifen.
-
1b zeigt die Einzelheiten des DRAM 108. Das Array besteht aus einer Vielzahl von 1-Transistor/1-Kondensator- (1T1C-) Zellen 150, die durch eine Wortleitung WL und eine Bitleitung angesteuert werden. In jede 1T1C-Zelle in einem Bereich des Arrays, der durch die in den Kondensatoren gespeicherte Ladung dargestellt ist, wird eine 1 geschrieben. Nach einer Pause wird jede Zelle durch einen Leseverstärker SA 151 gelesen und der Ausgangswert des SA an das BIST 106 ausgegeben. Wenn die Ladung noch nicht bis zu einer logischen Null abgeflossen ist, ist der Ausgangswert des SA gleich 1. Wenn die Ladung bis zu einer logischen Null abgeflossen ist, ist der Ausgangswert des SA gleich 0. Anstatt die Zeit der Haltepause abzustimmen, kann die VWL als abstimmbarer Eingabeparameter für das Array verwendet werden, um die Anzahl der Nullen und Einsen vom SA zu steuern, da diese den Ladungsabfluss von der 1T1C-Zelle der Einheit steuert. Eine Erhöhung der VWL (Wortleitungsspannung) bewirkt eine erhöhte Anzahl von Bitfehlern im Speicher, ohne die Pausenzeit zu verlängern, was zu einer kürzen Zeitspanne für die ID-Erzeugung führt.
-
2 zeigt ein Blockschaltbild 200 eines beispielhaften Selbsttest-Moduls (oder BIST) 106 in 1. Das gezeigte BIST 200 (oder 106 in 1) enthält einen Adressgenerator 204, einen Datenmustergenerator 206, einen VWL-Generator 208, eine Datenvergleichsschaltung 210, einen Fehlerzähler 212 und ein Fehlerregister 214.
-
Das BIST 106 führt die Funktion des Erzeugens der Domänenadresse und des Datenmusters zum Testen der dem chipspezifischen Merkmal zugehörigen chipspezifischen Komponente aus, vorzugsweise im DRAM 108. Die Adressabfrage 132 wird dem Adressgenerator 204 zugeführt. Der Adressgenerator verwendet die Adressabfrage 132, um die Domänenadresse (oder physische Adresse) 222 des DRAM 108, oder genauer gesagt, die Adresse zum Zugreifen auf die entsprechenden 1T1C-Zellen 150 zu erzeugen.
-
Der Fehlerzähler 212 zählt die Anzahl der Fehler, um zu prüfen, ob diese gleich der angegebenen Anzahl ist. Wenn dies nicht der Fall ist, ändert der VWL-Generator 208 die VWL, um mehr Fehler zu erzeugen, bis die geforderte Anzahl von Fehlern erreicht worden ist. Gemäß einem Beispiel kann der Grenzwert der geforderten Anzahl von Fehlern auf den angeforderten Domänen eingestellt werden. Gemäß einem anderen Beispiel kann der Grenzwert für den gesamten Speicher eingestellt werden. Sobald die geforderte Anzahl von Fehlern erzeugt wird, wird ein Vektormuster in dem Fehlerregister 214 erzeugt, das den Fehlern der angeforderten Domäne entspricht, und an den ID-Funktionsgenerator 112 (1) gesendet.
-
Wiederum Bezug nehmend auf 1 erzeugt der ID-Funktionsgenerator 112 einen ersten Echtheitsnachweiswert 122 für die durch den Server in der Echtheitsnachweisabfrage 130 (d.h. der Adressabfrage 132) angegebene Funktion. Der ID-Funktionsgenerator 112 führt die angegebene Funktion aus. Zum Beispiel kann es sich bei der Funktion um ein bitweises ODER mit allen Fehlerdaten der Domäne (chipspezifisches Merkmal 120) handeln, um den ersten Echtheitsnachweiswert 122 zu erzeugen. Der erste Echtheitsnachweiswert 122 wird in dem Speicher 114 (eFUSE) gespeichert, der in der Echtheitsnachweisabfrage 130 angegeben ist. Bei eFUSE handelt es sich um eine durch International Business Machines Corporation entwickelte Datenverarbeitungstechnologie, die eine dynamische Neuprogrammierung von Computer-Chips in Echtzeit ermöglicht. Für ein und denselben Chip können mehrere solche Echtheitsnachweiswerte erzeugt und in eFUSE 114 gespeichert werden.
-
Während des Echtheitsnachweises gibt die durch die OEM-Datenbank (d.h. den Server) bereitgestellte Echtheitsnachweisabfrage 130 wie oben erwähnt die Domänenadressen an. In diesem Fall enthält die Echtheitsnachweisabfrage eine ID-Funktionsabfrage 134 oder Speicherabfrage 136. Wie oben dargestellt, wird unter Verwendung der angegebenen ID-Funktion und der durch den DRAM 108 erzeugten Bitfehler von den Domänen ein zweiter Echtheitsnachweiswert 124 erzeugt.
-
3 zeigt ein Blockschaltbild 300 eines beispielhaften ID-Funktionsgenerators 112. Der ID-Funktionsgenerator dient zum Erzeugen des (in 3 nicht gezeigten) 1. Echtheitsnachweiswertes 122 und des 2. Echtheitsnachweiswertes 124. Der ID-Funktionsgenerator 112 kann aus verschiedenen Funktionen wie beispielsweise ODER, exklusives ODER, Bit-Schiebeoperator (Shifter) und dergleichen bestehen. Diese Funktionen verarbeiten die Domänen-IDs (d.h. das chipspezifische Merkmal 120) von all den durch das BIST 106 (2) erzeugten Domänen. Die zu verwendende ID-Funktion wird durch die ID-Funktionsabfrage 134 aus der durch die OEM-Datenbank (d.h. den Server) bereitgestellten Echtheitsnachweisabfrage angegeben. Die ID ist in einem Rückmelderegister (Register 310) gespeichert, während es je nach Funktion verarbeitet wird. Wenn all die durch die Echtheitsnachweisabfrage ermittelten Domänen verarbeitet worden sind, wird die in dem Register gespeicherte ID entweder zum Speichern im Speicher 114 (1) (als 1. Echtheitsnachweiswert 122) oder zum Vergleichen (als 2. Echtheitsnachweiswert 124) mit dem 1. Echtheitsnachweiswert 122 gesendet, um die Echtheit des Chips nachzuweisen. 3 zeigt, wie der 2. Echtheitsnachweiswert 124 erzeugt wird.
-
Wiederum Bezug nehmend auf 1 wird der erste Echtheitsnachweiswert 122 mit dem zweiten Echtheitsnachweiswert 124 verglichen. Auf der Grundlage der Ergebnisse des Vergleichs kann ein Echtheitsnachweis-Ausgabewert 140 erzeugt werden. Gemäß einem Beispiel kann es sich bei der Vergleichsschaltung 116 um eine Fuzzy-Vergleichseinheit handeln.
-
4 zeigt ein Blockschaltbild 400 einer beispielhaften Fuzzy-Vergleichseinheit 402. Die Fuzzy-Vergleichseinheit kann für die Vergleichsschaltung 116 in 1 verwendet werden. Es ist bekannt, dass es einer chipspezifischen ID (d.h. einem Echtheitsnachweiswert) an einer genauen Reproduzierbarkeit mangelt. Andererseits konnte jedoch gezeigt werden, dass eine ungenaue Mustererkennung für DRAM-Chips geeignet ist. Unter Verwendung eines oberen und eines oberen Schutzstreifens für Bits mit nachgewiesener Echtheit kann die Echtheit des 1. Echtheitsnachweiswertes 122 eindeutig durch den Vergleich mit dem 2. Echtheitsnachweiswert 124 nachgewiesen werden.
-
Die Fuzzy-Vergleichseinheit 402 vergleicht den 1. Echtheitsnachweiswert 122 (d.h. die im eFUSE aufgezeichnete ID) mit dem 2. Echtheitsnachweiswert 124 (d.h. mit der erzeugten Chip-ID). Der Vergleich kann als einfaches exklusives ODER oder UND der einzelnen Bits umgesetzt werden. Ein Zähler 404 zählt die Anzahl der Übereinstimmungen. Die Fuzzy-Vergleichseinheit 402 kann eine bestimmte Anzahl von Übereinstimmungen erfassen, um die Änderung der erzeugten Echtheitsnachweiswerte nachzuweisen. Wenn die Anzahl der Übereinstimmungen kleiner als ein vordefinierter Fuzzy-Schwellenwert 406 ist, gibt die Fuzzy-Vergleichseinheit 402 eine Nichtübereinstimmung zurück, um anzuzeigen, dass der Vergleich des 1. Echtheitsnachweiswertes 122 mit dem 2. Echtheitsnachweiswert 124 fehlgeschlagen ist.
-
Ein Ansatz mit einem Abruf-Antwort-Paar stellt ein Mittel zum Selbstechtheitsnachweis bereit, jedoch ist dieser Ansatz anfällig gegenüber Angriffen durch Dritte; wenn ein Außenstehender das Ergebnis der lokalen Übereinstimmung abfängt, das vom Chip an die OEM-Datenbank (d.h. den Server) zurückgesendet wurde, kann dieser einfach zwischen Ja oder Nein unterscheiden, weil es nur zwei Ergebnisse gibt.
-
Ein sicheres Erkennen kann durch Erzeugen mehrerer Abruf-Antwort-Paare erreicht werden. Außerdem müssen bei jedem Echtheitsnachweisschritt mehrere Abfragen bereitgestellt werden, sodass aus den Übereinstimmungen der lokalen Antworten eine Zeichenfolge von Ergebnissen erzeugt wird. Um triviale Ergebniszeichenfolgen von J oder N zu vermeiden, müssen die Fragen außerdem eine Kombination von wahren und falschen Abfragen enthalten, die bei jeder Echtheitsnachweisabfrage von den Abfragen in der Datenbank nach dem Zufallsprinzip geordnet werden können, da es Schutzbänder gibt, die eine vernachlässigbar kleine Anzahl von Kollisionen von Abfragen und Antworten garantieren, die zu verschiedenen Paaren gehören. Die Zahlenfolge von Einsen (J) und Nullen (N) kann zu einer Bitzeichenfolge führen, die nach dem Vergleichen der chipspezifischen IDs erzeugt wurde. Die Bitzeichenfolge weist von Seiten des OEM einen bestimmten Erwartungswert auf und muss reproduzierbar sein. Eine solche Zeichenfolge kann zur Erhöhung der Sicherheit unter Verwendung einer unidirektionalen (irreversiblen) Funktion als Hashwert verschlüsselt werden, und wenn die Ergebnisse der Hashverschlüsselung auf Seiten des OEM und auf Seiten des Kunden übereinstimmen, hat der Chip seine Echtheit mit Sicherheit nachgewiesen. Der durch die OEM-Datenbank für jede Abfrage erzeugte erwartete Ausgabewert muss mit dem Echtheitsnachweis-Ausgabewert von der Echtheitsnachweiseinheit übereinstimmen, damit letztlich die Echtheit des Chips bestätigt wird.
-
5 zeigt den Ablaufplan 500 eines Verfahrens zum Bereitstellen eines Echtheitsnachweisdienstes eines. In Schritt S1 wird das chipspezifische Merkmal durch das Selbsttest-Modul abgerufen. In Schritt S2 wird das chipspezifische Merkmal durch das Erkennungs- (ID-) Modul empfangen. In Schritt S3 wird durch das Erkennungsmodul ein erster Echtheitsnachweiswert erzeugt. In Schritt S4 wird der erste Echtheitsnachweiswert in einem Speicher gespeichert. In Schritt S5 wird durch das Selbsttest-Modul der zweite Echtheitsnachweiswert erzeugt. In Schritt S6 werden die Werte durch eine Vergleichsschaltung miteinander verglichen.
-
Es ist einsichtig, dass der beispielhafte Ablaufplan 500 von 5 des Verfahrens eine mögliche Realisierung eines Ablaufplans zum Bereitstellen eines Echtheitsnachweisdienstes eines Chips darstellt und innerhalb des Schutzumfangs der Erfindung auch andere Ablaufpläne möglich sind. Der Ablaufplan veranschaulicht die Architektur, Funktionalität und Arbeitsweise von möglichen Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Realisierungen der vorliegenden Erfindung, wobei zu beachten ist, dass gemäß bestimmten alternativen Ausführungsarten die in den Blöcken angegebenen Funktionen in einer von in 5 abweichenden Reihenfolge vorkommen können. Zum Beispiel können zwei nacheinander gezeigte Blöcke in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden.
-
6 zeigt das System 600, das den Ablauf des Echtheitsnachweises zwischen der Datenbank 610 und der Echtheitsnachweiseinheit 102 steuert. Die Datenbank 610 fordert einen Echtheitsnachweis von der Echtheitsnachweiseinheit 102 an, die ihrerseits ein chipspezifisches Merkmal an die Datenbank zurücksendet. Dann erzeugt die Datenbank auf der Grundlage des Wertes des chipspezifischen Merkmals eine Echtheitsnachweisabfrage oder eine Zeichenfolge von Echtheitsnachweisabfragen. Die Echtheitsnachweiseinheit gibt einen Echtheitsnachweis-Ausgabewert oder eine Zeichenfolge von Echtheitsnachweis-Ausgabewerten an die Datenbank zurück. Zum Schluss bestätigt die Datenbank die Zeichenfolge von Echtheitsnachweis-Ausgabewerten von der Echtheitsnachweiseinheit 102 und erzeugt ein Echtheitsnachweis-Ausgabeergebnis. Genauer gesagt, der Bestätigungsprozess enthält mindestens einen Echtheitsnachweis-Ausgabewert von der Echtheitsnachweiseinheit, der einer Übereinstimmung zwischen dem 1. Echtheitsnachweiswert und dem 2. Echtheitsnachweiswert in 1 entspricht, und vorzugsweise entspricht mindestens ein Echtheitsnachweis-Ausgabewert einer Nichtübereinstimmung zwischen den beiden.
-
Ein sicherer Selbstechtheitsnachweis ergibt sich, indem dieser Ansatz auf eine Folge nach dem Zufallsprinzip angeordneter Abfragen erweitert wird, wobei von einigen wenigen dieser Abfragen erwartet wird, dass sie zu (mindestens) einer (um eine triviale Antwort zu vermeiden) korrekten lokalen Übereinstimmung führen. Die neue Bitzeichenfolge, die sich aus all den falschen (0) und positiven (1) Übereinstimmungen zusammensetzt, ist einzigartig und genau reproduzierbar. Dies ist analog zu einem Lügendetektortest mit einem insgeheim bekannten Satz von absoluten Wahrheiten. Die Fragen/Abfragen und Antworten/Reaktionen verfügen über eine nur dem OEM bekannte Wahrheitstabelle, und für jede Antwort gibt es nur zwei Ergebnisse (falsch-0 oder positiv-1). Der Chip selbst verfügt über keinerlei entscheidende Daten, welche die Echtheit der lokal im Speicher gespeicherten lokalen chipspezifischen Daten bestätigen. Bei diesen entscheidenden Daten, die der OEM in einer Datenbank gespeichert hat, handelt es sich vorzugsweise um die physischen Adressen der Gruppe von Bits, denen die chipspezifische Signatur eigen ist, die mit einem Satz von Testbedingungen kombiniert werden kann, beispielsweise Chip-Spannungen, zu denen gegebenenfalls die VWL gehören kann, und/oder Chip-Temperaturen, die gegebenenfalls steuerbar sein können. Ein Fälscher, der die nichtflüchtige Komponente kopiert, hat nur eine vernachlässigbar kleine Chance, einen Chip zu erzeugen, dessen Echtheit erfolgreich bestätigt werden kann, da entscheidende Daten fehlen und die chipspezifische Speichersignatur nicht imitierbar ist.
-
Insgesamt werden durch dieses Verfahren und die zugehörigen Schaltungen sichere reproduzierbare Zufallszeichenfolgen erzeugt, die für jeden Chip einzigartig sind und von einer chipspezifischen ID abgeleitet werden, die nicht unbedingt genau reproduzierbar zu sein braucht. Die resultierenden Zeichenfolgen, die bei jedem Echtheitsnachweis nach dem Zufallsprinzip geordnet sein können, sind mit Hash-Algorithmen kompatibel, was zu einer erhöhen Sicherheit führt.
-
Die obige Beschreibung verschiedener Aspekte der Erfindung ist zum Zweck der Veranschaulichung und Beschreibung dargelegt worden. Sie erhebt nicht den Anspruch auf Vollständigkeit oder auf Beschränkung der Erfindung genau auf die offenbarte Form, sodass offensichtlich viele Änderungen und Varianten möglich sind. Solche Änderungen und Varianten, die dem Fachmann offensichtlich sein können, sollen innerhalb des durch die beiliegenden Ansprüche definierten Schutzumfangs liegen.