PatentDe  


Dokumentenidentifikation DE102005013830A1 28.09.2006
Titel Vorrichtung und Verfahren zum verschlüsselten Übertragen von Daten
Anmelder Infineon Technologies AG, 81669 München, DE
Erfinder Schreiblhofer, Dietmar, Kaindorf, AT;
Gammel, Berndt, 85570 Markt Schwaben, DE
Vertreter Schoppe, Zimmermann, Stöckeler & Zinkler, 82049 Pullach
DE-Anmeldedatum 24.03.2005
DE-Aktenzeichen 102005013830
Offenlegungstag 28.09.2006
Veröffentlichungstag im Patentblatt 28.09.2006
IPC-Hauptklasse H04L 9/00(2006.01)A, F, I, 20060104, B, H, DE
IPC-Nebenklasse H04L 9/32(2006.01)A, L, I, 20060104, B, H, DE   
Zusammenfassung Eine Vorrichtung zum verschlüsselten Übertragen von Daten zwischen zwei Halbleiterchips (200, 202) einer Datenverarbeitungseinrichtung, wobei ein erster Halbleiterchip (200) mit einem zweiten Halbleiterchip (202) verbunden ist, umfasst ein nicht-flüchtiges Speicherelement (110) in jedem der zwei Halbleiterchips (200, 202), wobei in dem Speicherelement (110) des ersten Halbleiterchips (200) ein Verschlüsselungsinitialwert für eine Verschlüsselungsvorschrift gespeichert ist und in dem Speicherelement (110) des zweiten Halbleiterchips (202) ein dem Verschlüsselungsinitialwert zugeordneter Entschlüsselungsinitialwert für eine der Verschlüsselungsvorschrift zugeordnete Entschlüsselungsvorschrift gespeichert ist. Ferner weist der erste Halbleiterchip (200) eine erste Datenübertragungsschnittstelle (104a) auf, die ausgebildet ist, um aus einem Eingangsdatenstrom unter Verwendung des Verschlüsselungsinitialwertes gemäß der Verschlüsselungsvorschrift einen Verschlüsselungsdatenstrom zu erzeugen. Außerdem weist der zweite Halbleiterchip (202) eine zweite Datenübertragungsschnittstelle (104b) auf, die ausgebildet ist, um den Verschlüsselungsdatenstrom zu empfangen und aus dem Verschlüsselungsdatenstrom unter Verwendung des Entschlüsselungsinitialwertes gemäß der Entschlüsselungsvorschrift einen Entschlüsselungsdatenstrom zu erzeugen und den erzeugten Entschlüsselungsdatenstrom mit einem erwarteten Datenstrom zu vergleichen, wobei die zweite Datenübertragungsschnittstelle (104b) ...

Beschreibung[de]

Die vorliegende Erfindung bezieht sich auf das technische Gebiet der Kryptographie und insbesondere bezieht sich die vorliegende Erfindung auf das technische Teilgebiet der kryptographischen Sicherung eines Datenaustausches von zwei Halbleiterchips.

Aufgrund der deutlichen Komplexitätszunahme moderner Algorithmen oder Schaltungen reicht oftmals die auf einem einzigen Halbleiterchip zur Verfügung stehende Fläche nicht mehr aus, um einen kompakten integrierten Schaltkreis und damit durch eine geringe Leitungslänge in diesem Schaltkreis eine schnelle Verarbeitung solcher komplexer Algorithmen auf dem einzelnen Halbleiterchip zu gewährleisten. Um diesem Problem entgegenzutreten werden im Stand der Technik oftmals zwei Chips miteinander verbunden, wie es beispielsweise in 2 dargestellt ist. Hierzu wird beispielsweise ein oberer Chip 200 mit einem unteren Chip 202 derart verbunden, dass eine erste Anschlussfläche 204 des oberen Chips einer zweiten Anschlussfläche 206 des unteren Chips 202 gegenüberliegt und somit eine Kontaktierung vom oberen Chip 200 zum unteren Chip 202 über entsprechende Kontaktstellen 208 möglich ist. Eine derartige Aufteilung der Verarbeitung eines Algorithmus, bzw. einer Aufteilung einer entsprechenden Sicherheitscontrollers in zwei Chips birgt allerdings zusätzliche Sicherheitsrisiken und erfordert Sicherheitsmaßnahmen gegen neu auftretende Angriffsszenarien. Werden diese beiden Chips in der sogenannten Face-to-Face-Technologie (F2F-Technologie = face-to-face-Technologie = Kontaktfläche zu Kontaktfläche-Technogie) miteinander verbunden und kann davon ausgegangen werden, dass es technisch nur unter extremem Aufwand möglich ist, die beiden Chips voneinander zu trennen ohne zumindest eine der Chips zu zerstören, dann sind einfache Sicherheitsmaßnahmen möglich, um das Ausspähen von Daten von dem einen noch funktionierenden Chip zu verhindern. Derartige einfache Sicherheitsmaßnahmen gegen das Ausspähen von Daten eines noch funktionierenden Chips sind einem einschlägigen Fachmann bekannt. Neuere Erkenntnisse haben allerdings ergeben, dass die Chips, beispielsweise durch selektives Ätzen, doch durch vertretbaren Aufwand getrennt werden können, so dass beide Chips einzeln noch funktionieren. Ein potentieller Angreifer hat damit die Möglichkeit beide Chips wieder durch Leitungen zu verbinden und die Kommunikation zwischen den beiden Chips (beispielsweise zwischen dem oberen Chip 200 und dem unteren Chip 202 über die Kontaktstellen 208

  • a) abzuhören und
  • b) die Kommunikation auch zu manipulieren (beispielsweise durch eine "man-in-the-middle"-Attacke).

Ausgehend von diesem Stand der Technik liegt der Erfindung die Aufgabe zugrunde, eine Möglichkeit zu schaffen, um Daten abhör- und manipulationssicher zwischen zwei Halbleiterchips übertragen zu können, wobei diese Sicherung gegen Abhören oder Manipulation durch einfache technische Mittel realisieren lassen soll. Ferner liegt der Erfindung die Aufgabe zugrunde, ein Verfahren zum Betreiben einer Vorrichtung zum übertragen von Daten zwischen zwei Halbleiterchips und ein Verfahren zum Personalisieren von zwei Halbleiterchips zu schaffen, um eine abhör- und manipulationssichere Datenübertragung zwischen den beiden Halbleiterchips zu ermöglichen.

Diese Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1, ein Verfahren zum Betreiben einer Vorrichtung gemäß Anspruch 22 und ein Verfahren zum Personalisieren einer Vorrichtung zum Übertragen gemäß Anspruch 23 gelöst.

Die vorliegende Erfindung schafft eine Vorrichtung zum verschlüsselten Übertragen von Daten zwischen zwei Halbleiterchips einer Datenverarbeitungseinrichtung, wobei ein erster Halbleiterchip mit einem zweiten Halbleiterchip verbunden ist und wobei die Vorrichtung folgenden Merkmale aufweist:

ein nicht-flüchtiges Speicherelement (in jedem der zwei Halbleiterchips, wobei in dem Speicherelement des ersten Halbleiterchips ein Verschlüsselungsinitialwert für eine Verschlüsselungsvorschrift gespeichert ist und in dem Speicherelement des zweiten Halbleiterchips ein dem Verschlüsselungsinitialwert zugeordneter Entschlüsselungsinitialwert für eine der Verschlüsselungsvorschrift zugeordneten Entschlüsselungsvorschrift gespeichert ist;

wobei der erste Halbleiterchip eine erste Datenübertragungsschnittstelle aufweist, die ausgebildet ist, um aus einem Eingangsdatenstrom unter Verwendung des Verschlüsselungsinitialwertes gemäß der Verschlüsselungsvorschrift einen Verschlüsselungsdatenstrom zu erzeugen;

wobei der zweite Halbleiterchip eine zweite Datenübertragungsschnittstelle aufweist, die ausgebildet ist, um den Verschlüsselungsdatenstrom zu empfangen und aus dem Verschlüsselungsdatenstrom unter Verwendung des Entschlüsselungsinitialwertes gemäß der Entschlüsselungsvorschrift einen Entschlüsselungsdatenstrom zu erzeugen und den erzeugten Entschlüsselungsdatenstrom mit einem erwarteten Datenstrom zu vergleichen, wobei die zweite Datenübertragungsschnittstelle ferner ausgebildet ist, um eine Abwehrmaßnahme gegen ein Übertragen von Daten aus der zweiten Datenübertragungsschnittstelle an die erste Datenübertragungsschnittstelle durchzuführen, wenn der Entschlüsselungsdatenstrom nicht dem erwarteten Datenstrom entspricht.

Ferner schafft die vorliegende Erfindung ein Verfahren zum Betreiben einer Vorrichtung zum verschlüsselten Übertragen von Daten zwischen zwei Halbleiterchips einer Datenverarbeitungseinrichtung,

wobei die Vorrichtung zum verschlüsselten Übertragen ein nicht-flüchtiges Speicherelement in jedem der zwei Halbleiterchips aufweist, wobei in dem Speicherelement des ersten Halbleiterchips ein Verschlüsselungsinitialwert für eine Verschlüsselungsvorschrift gespeichert ist und in dem Speicherelement des zweiten Halbleiterchips ein dem Verschlüsselungsinitialwert zugeordneter Entschlüsselungsinitialwert einer der Verschlüsselungsvorschrift zugeordneten Entschlüsselungsvorschrift gespeichert ist,

wobei der erste Halbleiterchip eine erste Datenübertragungsschnittstelle aufweist, die ausgebildet ist, um aus einem Eingangsdatenstrom unter Verwendung des Verschlüsselungsinitialwertes gemäß der Verschlüsselungsvorschrift einen Verschlüsselungsdatenstrom zu erzeugen und

wobei der zweite Halbleiterchip eine zweite Datenübertragungsschnittstelle aufweist, die ausgebildet ist, um den Verschlüsselungsdatenstrom zu empfangen und aus dem Verschlüsselungsdatenstrom unter Verwendung des Entschlüsselungsinitialwertes gemäß der Entschlüsselungsvorschrift einen Entschlüsselungsdatenstrom zu ermitteln und den ermittelten Entschlüsselungsdatenstrom mit einem erwarteten Datenstrom zu vergleichen, wobei die zweite Datenübertragungsschnittstelle ferner ausgebildet ist, um eine Abwehrmaßnahme gegen ein Übertragen von Daten von der zweiten Datenübertragungsschnittstelle an die erste Datenübertragungsschnittstelle zu ergreifen, wenn der Entschlüsselungsdatenstrom nicht einem erwarteten Datenstrom entspricht und

wobei das Verfahren zum Betreiben der Vorrichtung zum verschlüsselten Übertragen folgenden Schritte umfasst:

Verschlüsseln von Daten des Eingangsdatenstromes in der ersten Datenübertragungsschnittstelle unter Verwendung des Verschlüsselungsinitialwertes gemäß der Verschlüsselungsvorschrift, um den Verschlüsselungsdatenstrom zu erzeugen

Übertragen des Verschlüsselungsdatenstromes von der ersten Datenübertragungsschnittstelle zur zweiten Datenübertragungsschnittstelle;

Entschlüsseln des Verschlüsselungsdatenstromes in der zweiten Datenübertragungsschnittstelle unter Verwendung des Entschlüsselungsinitialwertes gemäß der Entschlüsselungsvorschrift, um den Entschlüsselungsdatenstrom zu ermitteln; und

Ergreifen einer Abwehrmaßnahme gegen eine Übertragung von Daten aus der zweiten Datenübertragungsschnittstelle zur ersten Datenübertragungsschnittstelle, wenn der Entschlüsselungsdatenstrom nicht einem erwarteten Datenstrom entspricht.

Ferner schafft die vorliegende Erfindung ein Verfahren zum Personalisieren einer Vorrichtung zum verschlüsselten Übertragen von Daten zwischen zwei Halbleiterchips einer Datenverarbeitungseinrichtung,

wobei die Vorrichtung zum verschlüsselten Übertragen ein nicht-flüchtiges Speicherelement in jedem der zwei Halbleiterchips aufweist, wobei in dem Speicherelement des ersten Halbleiterchips ein Verschlüsselungsinitialwert für eine Verschlüsselungsvorschrift gespeichert ist und in dem Speicherelement des zweiten Halbleiterchips ein dem Verschlüsselungsinitialwert zugeordneter Entschlüsselungsinitialwert einer der Verschlüsselungsvorschrift zugeordneten Entschlüsselungsvorschrift gespeichert ist,

wobei der erste Halbleiterchip eine erste Datenübertragungsschnittstelle aufweist, die ausgebildet ist, um aus einem Eingangsdatenstrom unter Verwendung des Verschlüsselungsinitialwertes gemäß der Verschlüsselungsvorschrift einen Verschlüsselungsdatenstrom zu erzeugen und

wobei der zweite Halbleiterchip eine zweite Datenübertragungsschnittstelle aufweist, die ausgebildet ist, um den Verschlüsselungsdatenstrom zu empfangen und aus dem Verschlüsselungsdatenstrom unter Verwendung des Entschlüsselungsinitialwertes gemäß der Entschlüsselungsvorschrift einen Entschlüsselungsdatenstrom zu ermitteln und den ermittelten Entschlüsselungsdatenstrom mit einem erwarteten Datenstrom zu vergleichen, wobei die zweite Datenübertragungsschnittstelle ferner ausgebildet ist, um eine Abwehrmaßnahme gegen ein Übertragen von Daten von der zweiten Datenübertragungsschnittstelle an die erste Datenübertragungsschnittstelle zu ergreifen, wenn der Entschlüsselungsdatenstrom nicht einem erwarteten Datenstrom entspricht und

wobei das Verfahren zum Personalisieren der Vorrichtung zum authentisierten Übertragen folgenden Schritte umfasst:

Bereitstellen des Verschlüsselungsinitialwertes und eines dem Verschlüsselungsinitialwert zugeordneten Entschlüsselungsinitialwertes;

Einspeichern des Verschlüsselungsinitialwertes in das nichtflüchtigen Speicherelement des ersten Halbleiterchips und des Entschlüsselungsinitialwertes in das nicht-flüchtigen Speicherelement des zweiten Halbleiterchips; und

Sichern des in dem nicht-flüchtigen Speicherelement des ersten Halbleiterchips gespeicherten Verschlüsselungsinitialwertes und des in dem nicht-flüchtigen Speicherelement des zweiten Halbleiterchips gespeicherten Entschlüsselungsinitialwertes gegen eine Veränderung.

Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, eine abhör- und manipulationssichere Datenübertragung zwischen zwei Halbleiterchips dadurch zu ermöglichen, dass in der ersten Datenübertragungsschnittstelle der Eingangsdatenstrom mit den zu übertragenden Daten gemäß einer Scrambler-Vorschrift gescrambelt (d.h. verwürfelt bzw. zerhackt und/oder verschlüsselt, wobei das Scrambling in einer allgemeinen Form auch als ein Verschlüsseln bezeichnet werden kann) wird, so dass die erste Datenübertragungsschnittstelle, die in dem ersten Halbleiterchip angeordnet ist, einen Scrambler-Datenstrom ausgibt. Dieser Scrambler-Datenstrom kann dann von der zweiten Datenübertragungsschnittstelle in dem zweiten Halbleiterchip empfangen und "entpackt" werden (d.h. eine in der ersten Datenübertragungsschnittstelle durchgeführte Verwürfelung und/oder Verschlüsselung wird rückgängig gemacht; entsprechend kann auch das Descrambling in einer allgemeinen Form als ein Entschlüsseln bezeichnet werden) woraus der (ursprüngliche) Eingangsdatenstrom mit den zu übertragenden Daten ermittelt werden kann. Für dieses „Entpacken" wird dabei eine zur Scrambler-Vorschrift zugeordnete Descrambler-Vorschrift verwendet. Ein wesentlicher Aspekt der Erfindung besteht bei der erfindungsgemäßen Vorrichtung zum authentisierten Übertragen von Daten darin, dass sowohl für das Scramblen in der ersten Datenübertragungsschnittstelle ein Scrambler-Initialwert verwendet wird und für das Descramblen in der zweiten Datenübertragungsschnittstelle ein Descrambler-Initialwert verwendet wird, der dem Scrambler-Initialwert zugeordnet ist, durch den beispielsweise ein Scrambler in der ersten Datenübertragungsschnittstelle und ein Descrambler in der zweiten Datenübertragungsschnittstelle initialisiert wird. Der Scrambler-Initialwert ist dabei sowohl in einem nicht-flüchtigen Speicher in dem ersten Halbleiterchip gespeichert, wobei der Descrambler-Initialwert in einem nicht-flüchtigen Speicher des zweiten Halbleiterchips gespeichert ist. Hierdurch ist es möglich, den Scrambler- und Descrambler-Initialwert bereits beim Herstellen einer solchen Zwei-Chip-Verbindung in jeden der beiden Chips einzuspeichern, so dass nur bei Kenntnis des korrekten (d.h. jeweils zugeordneten) Scrambler- bzw. Descrambler-Initialwerts eine sinnvolle Auswertung der zwischen den beiden Halbleiterchips übertragenen Daten möglich ist. Wird nun jedoch bereits beim Herstellen der beiden Halbleiterchips ein solcher zueinander passender Initialwert in jeden der beiden Halbleiterchips eingespeichert, ist es bei geschickter Wahl des Initialwertes daher möglich, dass nur die beiden mit sich jeweils zugeordneten Initialwerten ausgestatteten Halbleiterchips auf sichere Weise gegenseitig Daten austauschen können. Als Abwehrmaßnahme gegen eine Übertragung von Daten aus der zweiten Datenübertragungsschnittstelle in die erste Datenübertragungsschnittstelle kommen dabei Ansätze wie beispielsweise ein Stromlos-Schalten des zweiten Halbleiterchips, ein vollständiges Unterbinden des Datenaustausches zwischen den beiden Halbleiterchips oder auch eine Ausgabe von Zufallszahlen oder Pseudo-Zufallszahlen, um einen möglichen Angreifer zu verwirren. Diese Beispiele für durchzuführende Abwehrmaßnahmen sind jedoch lediglich exemplarisch aufgezählt und können durch beliebige weitere, einen Fachmann bekannte Ansätze zur Abwehr gegen ein unberechtigtes Abhören einer Kommunikation ersetzt und/oder ergänzt werden.

Die vorliegende Erfindung bietet den Vorteil, eine Möglichkeit für eine abhör- und manipulationssichere Datenkommunikation zwischen zwei Halbleiterchips zu schaffen, so dass ein Abhören der Kommunikation zwischen den beiden Chips sehr schwer ist und ferner auch eine Manipulation der Kommunikation, beispielsweise durch einen Man-in-the-middle-Angriff, gegenüber einer direkten, d.h. offenen Kommunikation zwischen den beiden Halbleiterchips deutlich erschwert ist. Weiterhin bietet die vorliegende Erfindung den Vorteil, dass die Verwendung eines Initialwert-basierten Scramblers bzw. Descramblers eine numerisch bzw. schaltungstechnisch einfache, zugleich aber gegenüber einer herkömmlichen "offenen" Kommunikation deutlich höhere Sicherheit des Datenaustausches möglich wird.

Günstig ist es auch, wenn die erste Datenübertragungsschnittstelle zum Erzeugen des Scrambler-Datenstroms ausgebildet ist, um Daten des Eingangsdatenstromes mit Hilfsdaten zu verknüpfen und wobei die zweite Datenübertragungsschnittstelle zum Ermitteln des Eingangsdatenstromes ausgebildet ist, um Daten des Scrambler-Datenstromes mit weiteren Hilfsdaten zu verknüpfen, wobei die Hilfsdaten und die weiteren Hilfsdaten in einer vorbestimmten Beziehung zueinander stehen. Dies bietet den Vorteil, nicht nur eine Verwürfelung. D.h. zeitliche Umsortierung der zu übertragenen Daten durchzuführen, sondern durch das Verknüpfen mit Hilfsdaten bzw. weiteren Hilfsdaten eine deutliche Erhöhung der Sicherheit der Datenübertragung zu gewährleisten.

Auch können die Hilfsdaten oder die weiteren Hilfsdaten Zufallszahlen, Pseudo-Zufallszahlen oder ein kryptographischer Schlüssel umfassen. Dies bietet die Möglichkeit, durch schaltungstechnisch oder numerisch einfache Weise derartige Hilfszahlen bereitstellen zu können. Die Verwendung eines kryptographischen Schlüssels bietet ferner die Möglichkeit, durch eine vorab berechnetet Datenfolge als kryptographischen Schlüssel eine nochmalige Reduktion des schaltungstechnischen oder numerischen Aufwandes zu ermöglichen, ohne eine Einbuße in Bezug auf die Sicherheit der Datenübertragung zu erleiden.

Ferner kann auch die erste Datenübertragungsschnittstelle einen Generator zum Erzeugen der Hilfsdaten umfassen und die zweite Datenübertragungsschnittstelle einen Generator zum Erzeugen der weiteren Hilfsdaten umfassen, wobei durch den Scrambler-Initialwert eine Starteinstellung des Generators der ersten Datenübertragungsschnittstelle und durch den Descrambler-Initialwert eine Starteinstellung des Generators der zweiten Datenübertragungsschnittstelle definiert ist. Eine derartige Ausgestaltung der erfindungsgemäßen Vorrichtung bietet den Vorteil, dass hierdurch eine einfache Implementierung der Verwendung des Scrambler-Initialwertes oder des Descrambler-Initialwertes möglichist, ohne eine numerisch oder schaltungstechnisch aufwändige Rechenoperation mit den entsprechenden Initialwerten durchführen zu müssen.

Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung können die Generatoren eine Stromverschlüsselungseinheit mit Schieberegister(n) (oder LFSRs) umfassen. Derart ausgebildete Generatoren lassen sich durch standardisierte Schaltungselemente sehr einfach umsetzen.

In einer günstigen Ausführungsform der vorliegendenden Erfindung können die erste Datenübertragungsschnittstelle und die zweite Datenübertragungsschnittstelle ausgebildet sein, um das Verknüpfen der Daten des Eingangsdatenstromes mit den Hilfsdaten und das Verknüpfen der Daten des Scrambler-Datenstromes mit den weiteren Hilfsdaten auf der Basis einer EXKLUSIV-ODER-Verknüpfungsvorschrift durchzuführen. Eine solche EXKLUSIV-ODER-Verknüpfung bietet den Vorteil einer sehr einfachen Implementierung.

Weiterhin kann auch der Scrambler-Initialwert und der Descrambler-Initialwert identisch sein. Dies bietet dann den Vorteil, dass die Vorgehensweise des Einspeicherns der Initialwerte vereinfacht werden kann. Insbesondere bei strukturgleichen Scramblern und Descramblern werden identische Scrambler-Initialwerte und Descrambler-Initialwerte verwendet, wodurch sich bei Vorliegen strukturgleicher Scrambler und Descrambler eine kostengünstige Herstellungsmöglichkeit der Vorrichtung zum authentisierten Übertragen beispielsweise durch Wiederverwendung einer Maske für Halbleiterchips ergibt.

Auch kann der erste Halbleiterchip oder der zweite Halbleiterchip eine Einrichtung zum Generieren des Scrambler-Initialwertes und des Descrambler-Initialwertes umfasst, wobei die Einrichtung zum Generieren ausgebildet ist, um in einer Personalisierungsphase den Scrambler-Initialwert in das Speicherelement des ersten Halbleiterchips einzuspeichern und den Descrambler-Initialwert in das Speicherelement des zweiten Halbleiterchips einzuspeichern. Dies bietet den Vorteil, dass der Scrambler-Initialisierungswert und der Descrambler-Initialisierungswert nicht extern durch einen Algorithmus erzeugt und in den entsprechenden Chip eingespeichert wurde, sondern die Erzeugung der entsprechenden Initialwerte direkt in der Vorrichtung zum authentisierten Übertragen selbst erfolgt. Diese bietet somit einen deutlichen gewinn an zusätzlicher Sicherheit gegen eine „Entdeckung" des Scrambler-Initialwertes und des Descrambler-Initialwertes.

In einer weiteren Ausführungsform der vorliegenden Erfindung kann die erste Datenübertragungsschnittstelle ferner ausgebildet sein, um für das Erzeugen des Scrambler-Datenstromes eine Zusatzzahl zu verwenden und bei der die zweite Datenübertragungsschnittstelle ferner ausgebildet sein kann, um für das Ermitteln des Eingangsdatenstromes auf der Basis der Zusatzzahl durchzuführen, wobei die Zusatzzahl eine Zufallszahl oder eine Pseudo-Zufallszahl ist. Durch ein Berücksichtigen einer solchen Zusatzzahl beim authentisierten Übertragen von Daten zwischen zwei Halbleiterchips lässt sich somit weiterhin die Sicherheit der Datenübertragung erhöhen, da nicht nur die Kenntnis der Scrambler- und Descrambler-Vorschrift notwendig ist, sondern zusätzlich noch die Zusatzzahl zu berücksichtigen ist.

Weiterhin kann der das nicht-flüchtige Speicherelement des ersten Halbleiterchips und das nicht-flüchtige Speicherelement des zweiten Halbleiterchips ein ROM (ROM = read-only-memory = Festwert-Speicher,. Nurlesespeicher), FROM (FROM = factory ROM = nur im Werk veränderbarer Festwertspeicher), PROM (PROM = programmable read-only-memory = programmierbarer Festwertspeicher), EPROM (EPROM = electronically PROM = elektronischer PROM) oder eine elektronisch schaltbare Sicherung umfasst. Hierdurch lassen sich auf einfach und vor allem kostengünstige Art und Weise die Initialwerte speichern.

In einem weiteren Ausführungsbeispiel kann der zweite Halbleiterchip ferner eine dritte Datenübertragungsschnittstelle mit einem flüchtigen Speicherelement sowie eine Steuereinrichtung umfassen, wobei die dritte Datenübertragungsschnittstelle ausgebildet sein kann, um den Scrambler-Datenstrom zu empfangen und aus dem Scrambler-Datenstrom unter Verwendung des Descrambler-Initialwertes gemäß der Descrambler-Vorschrift den Eingangsdatenstrom zu ermitteln und wobei die Steuereinrichtung ausgebildet sein kann, um den Descrambler-Initialwert aus dem nicht-flüchtigen Speicherelement des zweiten Halbleiterchips auszulesen und diesen an das flüchtige Speicherelement der dritten Datenübertragungsschnittstelle zu übertragen. Eine derartige Ausgestaltung bietet den Vorteil, dass weitere Funktionselemente in dem zweiten Halbleiterchip mit flüchtigen (insbesondere frei programmierbaren) Speichern verwenden lassen, die je nach Bedarf für die Funktion als Descrambler ausgestaltet werden können. Somit kann zum Beispiel eine dynamisch Konfiguration der zur Verfügung stehenden Rechenleistung erfolgen, was einen Beitrag zu einer weiteren Flexibilisierung und einer weiteren Beschleunigung der Abarbeitung eines komplexen Algorithmus leisten kann.

Weiterhin können auch die erste Datenübertragungsschnittstelle, die zweite Datenübertragungsschnittstelle, die dritte Datenübertragungsschnittstelle und die Steuereinrichtung mittels eines Datenbusses miteinander verbunden sein, wobei die Steuereinrichtung ausgebildet sein kann, um das Auslesen des Descrambler-Initialwertes aus dem nicht-flüchtigen Speicherelement des zweiten Halbleiterchips und das Einspeichern des Descrambler-Initialwertes in das flüchtige Speicherelement der dritten Datenübertragungsschnittstelle unter Verwendung des Datenbusses durchzuführen und wobei die Steuereinrichtung ferner ausgebildet sein kann, um beim Übertragen des Descrambler-Initialwertes an das flüchtige Speicherelement der dritten Datenübertragungsschnittstelle eine Übertragung des Descrambler-Initialwertes an die erste Datenübertragungsschnittstelle zu verhindern. Hierdurch kann sichergestellt werden, dass der Descrambler-Initialwert nicht aus dem zweiten Halbleiterchip ausgelesen oder auf eine sonstige Weise erkannt werden kann, wodurch sich die hohe Sicherheit der authentisierten Datenübertragung auch bei der Verwendung von frei konfigurierbaren Funktionselementen aufrechterhalten lässt.

Auch kann in dem nicht-flüchtigen Speicherelement des zweiten Halbleiterchips ferner der Scrambler-Initialwert und in dem nicht-flüchtigen Speicherelement des ersten Halbleiterchips ferner der Descrambler-Initialwert gespeichert sein, wobei die zweite Datenübertragungsschnittstelle ausgebildet sein kann, um aus einem weiteren Eingangsdatenstrom unter Verwendung des in dem nicht-flüchtigen Speicherelement des zweiten Halbleiterchips gespeicherten Scrambler-Initialwertes gemäß der Scrambler-Vorschrift einen weiteren Scrambler-Datenstrom zu erzeugen und wobei die erste Datenübertragungsschnittstelle ausgebildet sein kann, um den weiteren Scrambler-Datenstrom zu empfangen und aus dem weiteren Scrambler-Datenstrom unter Verwendung des in dem nicht-flüchtigen Speicherelementes des ersten Halbleiterchips gespeicherten Descrambler-Initialwertes gemäß der Descrambler-Vorschrift den weiteren Eingangsdatenstrom zu ermitteln. Dies bietet den Vorteil, dass eine bidirektionale authentisierte Datenübertragung möglich ist, was sich vorteilhaft auf eine flexible Aufteilung eines abzuarbeitenden Algorithmus auf die beiden Halbleiterchips auswirkt.

Ein bevorzugtes Ausführungsbeispiel wird nachfolgend anhand der beiliegenden Zeichnungen näher erläutert. Es zeigen:

1 ein Blockschaltbild eines Ausführungsbeispiels der vorliegenden Erfindung; und

2 eine Zwei-Chip-Verbindung, wie sie dem Stand der Technik entspricht.

In den Figuren werden gleiche oder ähnliche Elemente durch gleiche oder ähnliche Bezugszeichen gekennzeichnet, wobei auf eine wiederholte Beschreibung dieser Bezugszeichen verzichtet wird.

Die 1 zeigt ein Blockschaltbild eines Ausführungsbeispiels der erfindungsgemäßen Vorrichtung. Die in 1 dargestellte Vorrichtung umfasst dabei mehrere Funktionsblöcke 100a bis 100c, die in verschiedenen Halbleiterchips angeordnet sein können. Durch die gestrichelte Linie 102 wird hierbei in 1 eine Aufteilung der Zuordnung der Funktionsblöcke 100a bis 100c auf dem oberen Chip bzw. den unteren Chip gekennzeichnet, so dass der Funktionsblock 100a gemäß 1 im oberen Chip (d.h. beispielsweise in dem in 2 dargestellten Chip 200) und die Funktionsblöcke 100b und 100c im unteren Chip (d.h. in 2 im unteren Chip 202) angeordnet sind. Jede der drei Funktionseinheiten 100a bis 100c umfasst eine Datenübertragungsschnittstelle 104a bis 104c die jeweils einen Scramblers 106 mit einer Stromverschlüsselungseinheit 108 umfasst. Ferner umfasst jede der drei Funktionseinheiten 100a bis 100c einen nicht-flüchtigen Speicher 110 (NVM = Nonvolatile memory = nicht-flüchtiger Speicher), in dem entsprechend der Scrambler-Initialwert oder der Descrambler-Initialwert abgespeichert ist. Die erste Datenübertragungseinrichtung 104a ist mit der zweiten Datenübertragungseinrichtung 104b und der weiteren Datenübertragungseinrichtung 104c über einen Datenbus XBUS verbunden, wobei zwischen der ersten Datenübertragungsschnittstelle 104a und der zweiten sowie weiteren Datenübertragungsschnittstelle 104b und 104c eine Datenunterdrückungseinrichtung 112 (Datenunterdrücker) eingefügt ist. Die Datenselektionseinrichtung 112 ist über einen Schalter 114 ansteuerbar, wobei der Schalter 114 mit einem Adressdecoder 116 und einem Steuereingang 118 verbunden ist. Um Daten über den Datenbus XBUS übertragen zu können, kann die weitere Datenübertragungsschnittstelle 104c als Steuereinrichtung (oder als XBus Master XBM) wirken, während die erste Datenübertragungsschnittstelle 104a und die zweite Datenübertragungsschnittstelle 104b als von der als Steuereinrichtung wirkenden weiteren Datenübertragungsschnittstelle 104c abhängige Datenübertragungsschnittstelle (bzw. XBus Slaves XBS) wirken. Ferner kann auch ein Zufallszahlengenerator eingesetzt werden, der ein Zufallssignal (in Form einer Zufallszahl oder eines Zufallsbits) ausgibt, das jedem der LSFR 108 der einzelnen Datenübertragungsschnittstellen 104a bis 104c zugeführt wird.

Die Funktionsweise einer derartigen Vorrichtung zum Übertragen von Daten zwischen zwei Halbleiterchips, wie sie in 1 dargestellt ist, lässt sich wie folgt beschreiben. Zunächst ist bei der Herstellung einer solchen Zwei-Chip-Verbindung ein Scrambler-Initialwert in den nicht-flüchtigen Speicher 110 des ersten Halbleiterchips (d.h. beispielsweise im ersten Funktionsblock 100a) einzuschreiben, wogegen in den nichtflüchtigen Speicher 110 des zweiten Halbleiterchips 202 (d.h. beispielsweise in den zweiten Funktionsblock 100b) ein entsprechender, dem Scrambler-Initialwert zugeordneter Descrambler-Initialwert einzuspeichern ist.

Wird nun eine derart hergestellte Vorrichtung zum Übertragen von Daten zwischen zwei Halbleiterchips eingesetzt, kann beispielsweise ein im ersten Funktionsblock 100a durchgeführter Algorithmus Daten in einem Datenstrom liefern, der zur weiteren Verarbeitung an einen Algorithmus oder einen Algorithmenteil im zweiten Funktionsblock 100b zu übertragen ist. Hierzu kann dieser Datenstrom der ersten Datenübertragungsschnittstelle 104a zugeführt werden, die unter Verwendung des Scramblers als Verschlüsselungseinheit 106 und des Scrambler-Initialwertes, der im nicht-flüchtigen Speicher 110 des ersten Halbleiterchips 200 gespeichert ist, einen Scrambler-Datenstrom bzw. einen Verschlüsselungsdatenstrom generiert. Hierzu können beispielsweise die Daten des Datenstroms in ihrer zeitlichen Ab- bzw. Reihenfolge umsortiert werden oder es kann alternativ oder zusätzlich eine Verknüpfung der Daten des Datenstromes mit Hilfsdaten erfolgen (beispielsweise zur Verschlüsselung der Daten des Datenstroms). Diese Verknüpfung kann beispielsweise als eine EXCLUSIV-ODER-Verknüpfung mittels eines EXOR-Gatter (EXOR = EXKLUSIV-ODER) durchgeführt werden es kann jedoch aber auch eine andere kryptographische Verknüpfung mit einem kryptographischen Schlüssel wie beispielsweise eine kryptographische Stromchiffre oder einer Blockchiffre auf der Basis eines nicht-linearen Stromverschlüsselungseinheit bündels eingesetzt werden. Die Hilfsdaten können dabei Zufallszahlen, Pseudo-Zufallszahlen oder ein kryptographischer Schlüssel sein. Unter Pseudo-Zufallszahlen wird in diesem Zusammenhang eine Zahlenfolge verstanden, die durch einen Algorithmus generierbar ist, der einzelne Zahlen mit einer bestimmten Häufigkeit ausgibt, unabhängig davon, an welcher Stelle diese Zahlen in einem von dem Algorithmus ausgegebenen Zahlenstrom stehen. Alternativ kann für diese Hilfszahlen jedoch auch eine spezielle vordefinierte Anordnung von Zahlen oder Bits (beispielsweise ein spezieller kryptographischer Schlüssel) verwendet werden.

Die Daten des Scrambler-Datenstromes können dann von der ersten Datenübertragungsschnittstelle 104a vom oberen Chip 200 über die Kontaktanschlüsse 208 an den unteren Chip 202, insbesondere über den Datenunterdrücker 112 an die zweite Datenübertragungsschnittstelle 104 im zweiten Halbleiterchip 202 übertragen werden. Die zweite Datenübertragungsschnittstelle 104 können unter Verwendung des Scramblers 106 (der in der 1 auch die Funktion eines Descramblers oder einer Entschlüsselungseinheit wahrnehmen kann und lediglich aus darstellungstechnischen Gründen als Scrambler bezeichnet wird) und des in dem nicht-flüchtigen Speicher 110 des zweiten Halbleiterchips 202 gespeicherten Descrambler-Initialwertes aus dem Scrambler-Datenstrom den Eingangsdatenstrom bzw. die Daten des Eingangsdatenstromes rekonstruieren werden. Von zentraler Bedeutung ist hierbei, dass die im ersten Funktionsblock 100a verwendete Scrambler-Vorschrift des Scramblers 106 auch im zweiten Funktionsblock 100b bekannt ist (bzw. durch die der Scrambler-Vorschrift zugeordnete Descrambler-Vorschrift implizit bekannt ist) wodurch eine Rückermittlung des von der ersten Datenübertragungsschnittstelle 104a ausgesandten Scrambler-Datenstromes möglich ist. Hierzu ist es ebenfalls notwendig, dass der im nicht-flüchtigen Speicher 110 des ersten Halbleiterchips 200 (oberer Chip) gespeicherte Scrambler-Initialwert in einer vorbestimmten Beziehung zum Descrambler-Initialwert steht, der im nicht-flüchtigen Speicher 110 des zweiten Halbleiterchips 202 (unterer Chip) gespeichert ist. Würde nun ein potentieller Angreifer die beiden Chips trennen und über die Kontaktanschlüsse 208 Zugriff auf die Datenkommunikation zwischen den beiden Chips haben, wäre zur Auswertung der Datenübertragung zwischen den beiden Halbleiterchips die Kenntnis der Scrambler- bzw. Descrambler-Vorschrift sowie die Kenntnis des Scrambler- und Descrambler-Initialwertes notwendig. Bei geeigneter Wahl einer Scrambler- bzw. Descrambler-Vorschrift sowie eines günstigen Scrambler- und Descrambler-Initialwertes (insbesondere bei der Wahl eines Scramblers- bzw. Descrambler-Initialwertes aus einer großen Menge von möglichen Initialwerten) lässt sich somit gegenüber einer ungeschützten Übertragung zwischen den beiden Chips eine deutliche Erhöhung der Sicherheit einer solchen Datenübertragung realisieren. Wie vorstehend bereits angemerkt wurde, kann das Scrambling ganz allgemein auch als Verschlüsselung aufgefasst werden, wobei dann das entsprechenden Descrambling als Entschlüsselung aufzufassen ist.

Weiterhin kann auch eine Datenübertragung in umgekehrte Richtung erfolgen (d.h. ausgehend von der zweiten Datenübertragungsschnittstelle 104b über den Datenbus XBUS, den Datenunterdrücker 112 und die Kontaktstelle 108 zur ersten Datenübertragungsschnittstelle 104a). In diesem Fall wären die Funktionalitäten des oben beschriebenen Scramblers bzw. Descramblers genau vertauscht sein, d.h. im nicht-flüchtigen Speicher 110 des zweiten Halbleiterchips 202 wäre der Scrambler-Initialwert gespeichert, der Scrambler 106 der zweiten Funktionseinheit 104b würde die Scrambler-Vorschrift ausführen, der Scrambler 106 in der ersten Funktionseinheit 104a würde die entsprechende Descrambler-Vorschrift ausführen während im nicht-flüchtigen Speicher 110 des ersten Halbleiterchips 200 der Descrambler-Initialwert gespeichert ist. Hierzu ist sicherzustellen, dass die als Scrambler 106 bezeichneten Funktionseinheiten sowohl die Scrambler-Vorschrift als auch die Descrambler-Vorschrift ausführen können, was jedoch in heutigen Datenverarbeitungsanlagen meist kein Problem ist und eine solche Umkonfiguration einem einschlägigen Fachmann bekannt ist.

Um eine weitere Erhöhung der Sicherheit einer solchen Datenübertragung zwischen zwei Halbleiterchips zu bewirken, kann ferner auch ein Zufallszahlengenerator RNG eingesetzt werden. Dieser Zufallszahlengenerator RNG generiert Zufallszahlen Reseed (bzw. Zufallsbits), die jedem angeschlossenen LSFR zugeführt werden. Diese, vom Zufallszahlengenerator RNG generierten Zufallszahlen, dienen dann dazu, zu bestimmten Zeitpunkten die Zufallszahl oder das Zufallsbit bei der Ausführung der Scrambler- bzw. Descrambler-Vorschrift gemäß einer vordefinierten Berücksichtigungsvorschrift zu berücksichtigen. Dadurch, dass dieses Zufallsbit allen an der Datenübertragung beteiligten LSFRs 108 zugänglich ist, kann eine Wirkung der Zufallszahl oder des Zufallsbits auf den Scrambler-Datenstrom bei Kenntnis der Scrambler- bzw. Descrambler-Vorschrift und der Berücksichtigungsvorschrift in jedem Fall erkannt werden, da sowohl der Wert als auch der Zeitpunkt der berücksichtigten Zufallszahl bzw. des berücksichtigten Zufallsbits dann bekannt sind.

Soll nun chipintern (was sicherheitstechnisch unproblematisch ist) beispielsweise eine weitere Funktionseinheit zur Unterstützung oder Beschleunigung der Abarbeitung des auszuführenden Algorithmus eingesetzt werden, ist es notwendig, dass die weitere Funktionseinheit (die in 1 nicht dargestellt ist) an der sicheren Datenübertragung zwischen dem ersten Halbleiterchip 200 und dem zweiten Halbleiterchip 202 teilnehmen kann. Hierzu kann dann beispielsweise der Descrambler-Initialwert aus dem nicht-flüchtigen Speicher 110 des zweiten Halbleiterchips 202 ausgelesen werden und an den weiteren, nicht dargestellten, Funktionsblock übertragen werden. Um dies durchzuführen kann beispielsweise der dritte Funktionsblock 100c mit der weiteren Datenübertragungsschnittstelle 104c, die als XBus Master ausgebildet ist, eine Abfrage der Descrambler-Initialwerte aus dem nicht-flüchtigen Speicher 110 des zweiten Halbleiterchips 202 bewirken und den ausgelesenen Descrambler-Initialwert über den Datenbus XBus an den weiteren Funktionsblock übertragen, der die dritte Datenübertragungsschnittstelle aufweist, die analog zur ersten und zweiten Datenübertragungsschnittstelle 104a und 104b aufgebaut ist (d.h. auch als XBus Slave wirkt).

Bei einem derartigen Übertragen des Descrambler-Initialwertes ist jedoch sicherzustellen, dass der Descrambler-Initialwert nicht extern des zweiten Halbleiterchips 202 zugänglich ist, d.h. nicht über den Kontaktanschluss 208 übertragen wird. Hierzu kann der Datenunterdrücker 112 eingesetzt werden, der über den Schalter 114 steuerbar ist. Wird beispielsweise von dem Adressdecoder 116 AD das Auslesesignal der weiteren Datenübertragungsschnittstelle 104c erkannt, kann der externe Zugriff auf den XBus von den Kontaktanschlüssen 208 unterdrückt werden, so dass der Descrambler-Initialwert nicht außerhalb des zweiten Halbleiterchips 202 abgelesen werden kann. Hier kann beispielsweise auch am Anschluss 118 ein Enable-Signal angelegt werden, je nach dessen Zustand der Datenunterdrücker 112 die Datenübertragung zur ersten Datenübertragungsschnittstelle (oder umgekehrt) unterdrückt, so dass beispielsweise auch über den Anschluss 118 ein Fehlersignal ausgewertet werden kann, das anzeigt, dass die beiden Halbleiterchips voneinander getrennt sind. Ein derart ausgelegtes Fehlersignal würde noch einmal die Sicherheit der Datenübertragung erhöhen, da in diesem Fall auch das direkte Trennen der beiden Halbleiterchips zu einem Unterdrücken der Datenübertragung über die Anschlusskontakte 208 führen könnte.

Eine Übertragung des Descrambler-Initialwertes an den ersten Funktionsblock 100a im ersten Halbleiterchip 200 ist ferner auch nicht notwendig, da bereits ein entsprechender Initialwert in einer Personalisierungsphase (d.h. werkseitig) eingestellt ist und somit die Kenntnis eines für die sichere Datenübertragung notwendigen Initialwertes bereits im ersten Halbleiterchip 200 vorhanden ist.

Zusammenfassend ist anzumerken, dass der erfindungsgemäße Ansatz vorsieht, die gegenseitige Authentisierung mittels Busverschlüsselung bzw. Bus-Scrambling zu bewerkstelligen. Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung werden Daten, die über einen Datenbus transportiert werden, der die beiden Halbleiterchips verbindet, gescrambled (d.h. einige oder sämtliche Daten werden bevor sie über den Datenbus übertragen werden in ihrer zeitlichen Reihenfolge verändert und/oder mit dem Wert eines Pseudo-Zufallszahlengenerators wie beispielsweise des LFSR EXKLUSIV-ODER-verknüpft). Um die Zahlenfolge des LSFRs noch ein wenig „zufälliger" zu machen, wird dem LSFR von Zeit zu Zeit ein Zufallsbit des Zufallszahlengenerators RNG "untergeschoben".

Eine Kommunikation zwischen den beiden Halbleiterchips als Systemkomponenten ist somit insbesondere dann möglich, wenn sie einen jeweils passenden (oder denselben) Initialwert der LSFRs besitzen und in gleichem Masse getriggert und mit dem Zufallsbit des Zufallszahlengenerators RNG rückgesetzt werden.

Vorzugsweise kann der Initialwert des LSFRs chipindividuell gestaltet werden und somit implizit die gegenseitige Authentisierung möglich werden, da ein oberer Chip seinen entsprechenden unteren Chip nur dann korrekt "versteht", wenn dessen Funktionsblöcke denselben LSFR-Initialwert besitzen (d.h. mit einer entsprechenden Scrambler- und zugehörigen Descrambler-Vorschrift sowie einem Scrambler-Initialwert und einem zugehörigen Descrambler-Initialwert arbeiten).

Anders ausgedrückt kann hierzu gesagt werden, dass entsprechende Initialwerte für ein Scrambling- bzw. Descrambling zur gegenseitigen Authentisierung von zwei einander zugeordneten Halbleiterchips verwendet werden.

Ein konkretes Einsatzszenario für die vorstehend beschriebene Vorrichtung lässt sich wie folgt darstellen:

In einer ersten Personalisierungsphase, die noch werkseitig, d.h. in einer Herstellungsfabrik der Halbleiterchips, durchgeführt wird, werden zwei Halbleiterchips wie beispielsweise der in 2 dargestellte obere Chip 200 und der untere Chip 202 personalisiert, derart dass beispielsweise der untere Chip 202 eine Zufallszahl generiert (beispielsweise mittels eines Zufallszahlengenerators auf dem unteren Chip 202) und diese Zufallszahl nicht vorhersagbar und/oder von außerhalb des Chips nicht bekannt ist). Alternativ kann auch an einer externen Vorrichtung eine Zufallszahl generiert werden, und diese den beiden Chips zugeführt werden. Anschließend wird diese Zufallszahl (und gegebenenfalls ein entsprechendes Pendant) in dem nicht-flüchtigen Speicher des oberen Chips 200 und in dem nicht-flüchtigen Speicher des unteren Chips 202 jeweils entsprechend gespeichert. Sollte dabei beispielsweise der obere Chip 200 über keinen herkömmlichen nicht-flüchtigen Speicher wie ein ROM, ein PROM, ein FPROM, ein EPROM oder ein Flash verfügen, können auch stattdessen Fuses (d.h. durch elektrische Ströme irreversibel programmierbare Verdrahtungsnetzwerke) verwendet werden.

Nach einer solchen Personalisierung erfolgt dann der eigentliche bestimmungsgemäße Einsatz eines solchen 2-Chip-Verbundes wobei zunächst die Daten des Datenübertragungsbusses mit dem standardmäßig eingestellten Initialwert (der beispielsweise Masken-individuell ist) gescrambelt werden. Hieran anschließend kann dann der Core, der beispielsweise in 1 durch den dritten Funktionsblock 100c dargestellt ist, aus dem nicht-flüchtigen Speicher 110 des zweiten Halbleiterchips 202 den in der Personalisierung generierten Descrambler-Initialwert für den Scrambler 106 (bzw. der in diesem Fall als Descrambler wirkt) auslesen und diesen Descrambler-Initialwert mit Hilfe eines Sende-Kommandos (Broadcast-Kommando) an sämtliche XBus Slaves des Systems aussenden.

Der ausgelesene Initialwert darf hierbei allerdings nicht über die F2F-Schnittstelle transportiert werden. Hierzu kann ein spezieller Decoder beispielsweise der in 1 dargestellte Datenunterdrücker 112 den Broadcast-Befehl erkennen und den zugehörigen Datentransport (d.h. die Übertragung des gesendeten Initialwertes) unterdrücken. Die XBus Slaves des oberen Chips 200 enthalten somit lediglich den Broadcast-Befehl nicht jedoch den neuen Initialwert. Dies ist auch gar nicht nötig, da während der Personalisierung auch im nichtflüchtigen Speicher (beispielsweise den eFuses) des oberen Chips 200 der chip-individuelle Initialwert gespeichert wurde; es bleibt somit nur noch, diesen Wert aus dem nichtflüchtigen Speicher 110 des oberen Chips 200 in die entsprechende XBus Slaves zu laden.

Zu dem (Pseudo-)Zufallszahlengenerator ist anzumerken, dass der exemplarisch verwendete LFSR als Pseudo-Zufallszahlengenerator in Zukunft möglicherweise nicht mehr sicher genug gegen einfache kryptographische Angriffe ist. In diesem Fall kann auch der LFSR durch eine kryptographische Stromchiffre ersetzt werden, die beispielsweise auf nichtlinearen Stromverschlüsselungseinheit bündeln basieren.

Abhängig von den Gegebenheiten kann das erfindungsgemäße Verfahren zum Betreiben einer Vorrichtung zum authentisierten Übertragen von Daten und das erfindungsgemäße Verfahren zum Personalisieren einer Vorrichtung zum authentisierten Übertragen von Daten in Hardware oder in Software implementiert werden. Die Implementierung kann auf einem digitalen Speichermedium, insbesondere einer Diskette oder CD mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das entsprechende Verfahren ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Computerprogrammprodukt mit einem auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung eines der erfindungsgemäßen Verfahren, wenn das Computerprogrammprodukt auf einem Rechner abläuft. Mit anderen Worten ausgedrückt, kann die Erfindung somit als ein Computerprogramm mit einem Programmcode zur Durchführung eines der erfindungsgemäßen Verfahren realisiert werden, wenn das Computerprogramm auf einem Computer abläuft.

100aerster Funktionsblock 100bzweiter Funktionsblock 100cdritter Funktionsblock 102virtuelle Trennlinie zwischen den zwei Halbleiter chips 104aerste Datenübertragungsschnittstelle 104bzweite Datenübertragungsschnittstelle 104czentrale Datenübertragungsschnittstelle 106Scrambler 108Stromverschlüsselungseinheit 110nicht-flüchtiges Speicherelement (NVM) 112Datenunterdrücker 114Schalter 116Addressdecoder 118Kontaktanschluss XBMMasterelement XBus XBSSlave-Element XBus XBusDatenübertragungsbus RNGZufallszahlengenerator ReseedZufallszahl; Zufallsbit 200oberer Chip, erster Halbleiterchip 202unterer Chip, zweiter Halbleiterchip 204erste Anschlussfläche 206zweite Anschlussfläche 208Kontaktanschlüsse

Anspruch[de]
  1. Vorrichtung zum verschlüsselten Übertragen von Daten zwischen zwei Halbleiterchips (200, 202) einer Datenverarbeitungseinrichtung, wobei ein erster Halbleiterchip (200) mit einem zweiten Halbleiterchip (202) verbunden ist und wobei die Vorrichtung folgenden Merkmale aufweist:

    ein nicht-flüchtiges Speicherelement (110) in jedem der zwei Halbleiterchips (200, 202), wobei in dem Speicherelement (110) des ersten Halbleiterchips (200) ein Verschlüsselungsinitialwert für eine Verschlüsselungsvorschrift gespeichert ist und in dem Speicherelement (110) des zweiten Halbleiterchips (202) ein dem Verschlüsselungsinitialwert zugeordneter Entschlüsselungsinitialwert für eine der Verschlüsselungsvorschrift zugeordneten Entschlüsselungsvorschrift gespeichert ist;

    wobei der erste Halbleiterchip (200) eine erste Datenübertragungsschnittstelle (104a) aufweist, die ausgebildet ist, um aus einem Eingangsdatenstrom unter Verwendung des Verschlüsselungsinitialwertes gemäß der Verschlüsselungsvorschrift einen Verschlüsselungsdatenstrom zu erzeugen;

    wobei der zweite Halbleiterchip (202) eine zweite Datenübertragungsschnittstelle (104b) aufweist, die ausgebildet ist, um den Verschlüsselungsdatenstrom zu empfangen und aus dem Verschlüsselungsdatenstrom unter Verwendung des Entschlüsselungsinitialwertes gemäß der Entschlüsselungsvorschrift einen Entschlüsselungsdatenstrom zu erzeugen und den erzeugten Entschlüsselungsdatenstrom mit einem erwarteten Datenstrom zu vergleichen, wobei die zweite Datenübertragungsschnittstelle (104b) ferner ausgebildet ist, um eine Abwehrmaßnahme gegen ein Übertragen von Daten aus der zweiten Datenübertragungsschnittstelle (104b) an die erste Datenübertragungsschnittstelle (104a) durchzuführen, wenn der Entschlüsselungsdatenstrom nicht dem erwarteten Datenstrom entspricht.
  2. Vorrichtung gemäß Anspruch 1, bei dem die Verschlüsselungsvorschrift ein Algorithmus zur Ausgabe einer Stromchiffre oder ein Algorithmus zur Durchführung einer Blockverschlüsselung ist.
  3. Vorrichtung gemäß einen der Ansprüche 1 oder 2, bei dem die beiden Halbleiterchips (200, 202) derart angeordnet sind, dass sich eine erste Anschlussfläche (204) des ersten Halbleiterchips (200) und eine zweite Anschlussfläche des zweiten Halbleiterchips (202) gegenüberliegen.
  4. Vorrichtung zum verschlüsselten Übertragen gemäß einem der Ansprüche 1 bis 3, bei der die erste Datenübertragungsschnittstelle (104a) zum Erzeugen des Verschlüsselungsdatenstroms ausgebildet ist, um Daten des Eingangsdatenstromes mit Hilfsdaten zu verknüpfen und wobei die zweite Datenübertragungsschnittstelle (104b) zum Ermitteln des Entschlüsselungsdatenstromes ausgebildet ist, um Daten des Verschlüsselungsdatenstromes mit weiteren Hilfsdaten zu verknüpfen, wobei die Hilfsdaten und die weiteren Hilfsdaten in einer vorbestimmten Beziehung zueinander stehen.
  5. Vorrichtung zum verschlüsselten Übertragen gemäß Anspruch 4, bei der die Hilfsdaten oder die weiteren Hilfsdaten Zufallszahlen, Pseudo-Zufallszahlen oder einen kryptographischer Schlüssel umfassen.
  6. Vorrichtung zum verschlüsselten Übertragen gemäß Anspruch 5, bei der die erste Datenübertragungsschnittstelle (104a) einen Generator (108) zum Erzeugen der Hilfsdaten umfasst und die zweite Datenübertragungsschnittstelle (104b) einen Generator (108) zum Erzeugen der weiteren Hilfsdaten umfasst und wobei durch den Verschlüsselungs-initialwert eine Starteinstellung des Generators der ersten Datenübertragungsschnittstelle (104a) und durch den Entschlüsselungsinitialwert eine Starteinstellung des Generators der zweiten Datenübertragungsschnittstelle (104b) definiert ist.
  7. Vorrichtung zum verschlüsselten Übertragen gemäß Anspruch 6, bei der die Generatoren (108) eine Stromverschlüsselungseinheit umfassen.
  8. Vorrichtung zum Verschlüsselten Übertragen gemäß Anspruch 7, bei der die Generatoren eine Stromverschlüsselungseinheit umfassen, welche linear oder nicht-linear rückgekoppelte Schieberegister umfasst.
  9. Vorrichtung zum verschlüsselten Übertragen gemäß einem der Ansprüche 4 bis 7, bei der die erste Datenübertragungsschnittstelle (104a) und die zweite Datenübertragungsschnittstelle (104b) ausgebildet sind, um das Verknüpfen der Daten des Eingangsdatenstromes mit den Hilfsdaten und das Verknüpfen der Daten des Verschlüsselungsdatenstromes mit den weiteren Hilfsdaten auf der Basis einer EXKLUSIV-ODER-Verknüpfungsvorschrift durchzuführen.
  10. Vorrichtung zum verschlüsselten Übertragen gemäß einem der Ansprüche 1 bis 9, bei der der Verschlüsselungsinitialwert und der Entschlüsselungsinitialwert identisch sind.
  11. Vorrichtung zum verschlüsselten Übertragen gemäß einem der Ansprüche 1 bis 9, bei der der Verschlüsselungsinitialwert und der Entschlüsselungsinitialwert nicht identisch sind.
  12. Vorrichtung zum verschlüsselten Übertragen gemäß einem der Ansprüche 1 bis 11, bei der der erste Halbleiterchip (200) oder der zweite Halbleiterchip (202) eine Einrichtung zum Generieren des Verschlüsselungsinitialwertes und des Entschlüsselungsinitialwertes umfasst, wobei die Einrichtung zum Generieren ausgebildet ist, um in einer Personalisierungsphase den Verschlüsselungsinitialwert in das Speicherelement (110) des ersten Halbleiterchips (200) einzuspeichern und den Entschlüsselungsinitialwert in das Speicherelement (110) des zweiten Halbleiterchips (202) einzuspeichern.
  13. Vorrichtung zum verschlüsselten Übertragen gemäß einem der Ansprüche 1 bis 12, bei der die erste Datenübertragungsschnittstelle (104a) ferner ausgebildet ist, um für das Erzeugen des Verschlüsselungsdatenstromes eine Zusatzzahl zu verwenden und bei der die zweite Datenübertragungsschnittstelle (104b) ferner ausgebildet ist, um das Ermitteln des Entschlüsselungsdatenstroms auf der Basis der Zusatzzahl durchzuführen, wobei die Zusatzzahl eine Zufallszahl oder eine Pseudo-Zufallszahl ist.
  14. Vorrichtung zum verschlüsselten Übertragen gemäß einem der Ansprüche 1 bis 13, bei der das nicht-flüchtige Speicherelement (110) des ersten Halbleiterchips (200) und das nicht-flüchtige Speicherelement (110) des zweiten Halbleiterchips (202) ein ROM, FROM, PROM, EPROM oder eine elektronisch schaltbare Sicherung umfasst.
  15. Vorrichtung zum verschlüsselten Übertragen gemäß einem der Ansprüche 1 bis 14, bei der der zweite Halbleiterchip (202) ferner eine Steuereinrichtung (104c, 112, 114, 116, 118) umfasst, wobei die erste und zweite Datenübertragungsschnittstelle (104b) eine Stromverschlüsselungseinheit (108) zum Durchführen der Entschlüsselung aufweisen, das ausgebildet ist, um entsprechend aus dem Eingangsdatenstrom unter Verwendung des Verschlüsselungsinitialwertes gemäß der Verschlüsselungsvorschrift den Verschlüsselungsdatenstrom zu ermitteln und aus dem Verschlüsselungsdatenstrom unter Verwendung des Entschlüsselungsinitialwertes gemäß der Entschlüsselungsvorschrift den Entschlüsselungsdatenstrom zu ermitteln, wobei die Schieberegister ausgebildet sind, um zum Verschlüsseln und Entschlüsseln eine Mehrzahl von Zuständen zu durchlaufen und wobei die Steuereinrichtung (104c, 112, 114, 116, 118) ausgebildet ist, um die Schieberegister der ersten Datenübertragungsschnittstelle (104a) und der zweiten Datenübertragungsschnittstelle (104b) auf einen definierten Zustand zu setzen.
  16. Vorrichtung zum verschlüsselten Übertragen gemäß Anspruch 15, bei der der zweite Halbleiterchip (202) ferner eine dritte Datenübertragungsschnittstelle umfasst, wobei die dritte Datenübertragungsschnittstelle eine Stromverschlüsselungseinheit zum Durchführen der Entschlüsselung aufweist, das ausgebildet ist, um aus dem Verschlüsselungsdatenstrom unter Verwendung des Entschlüsselungsinitialwertes gemäß der Entschlüsselungsvorschrift den Entschlüsselungsdatenstrom zu ermitteln, wobei die Stromverschlüsselungseinheit der dritten Datenübertragungsschnittstelle ausgebildet ist, um zum Entschlüsseln eine Mehrzahl von Zuständen zu durchlaufen und wobei die Steuereinrichtung (104c, 112, 114, 116, 118) ausgebildet ist, um einen Zustand der Stromverschlüsselungseinheit der zweiten Datenübertragungsschnittstelle (104b) auszulesen und die Stromverschlüsselungseinheit der dritten Datenübertragungsschnittstelle auf den ausgelesenen Zustand der Stromverschlüsselungseinheit (108) der zweiten Datenübertragungsschnittstelle (104b) zu setzen.
  17. Vorrichtung zum verschlüsselten Übertragen gemäß Anspruch 15 oder 16, bei der ferner die erste Datenübertragungsschnittstelle (104a), die zweite Datenübertragungsschnittstelle (104b) und die Steuereinrichtung (104c, 112, 114, 118, 116) mittels eines Datenbusses (XBus) miteinander verbunden sind, wobei die Steuereinrichtung (104c, 112, 114, 116, 118) ausgebildet ist, um das Setzen der Stromverschlüsselungseinheit der ersten und zweiten Datenübertragungsschnittstelle unter Verwendung des Datenbusses (XBus) durchzuführen und wobei die Steuereinrichtung ferner ausgebildet ist, um das Setzen der Stromverschlüsselungseinheit derart durchzuführen, dass beim Setzen der Stromverschlüsselungseinheit der zweiten Datenübertragungsschnittstelle mittels des Datenbusses ein Zuweisungssignal an die erste Datenübertragungsschnittstelle (104) übertragen wird, welches eine Information über den Zustand enthält, auf den die zweite Datenübertragungsschnittstelle gesetzt wird.
  18. Vorrichtung zum verschlüsselten Übertragen gemäß einem der Ansprüche 15 bis 17, bei dem die Steuereinrichtung ausgebildet ist, um die Stromverschlüsselungseinheit der ersten und zweiten Datenübertragungsschnittstelle (104a, 104b) auf denjenigen Zustand zu setzen, der dem durch den Verschlüsselungsinitialwert und den Entschlüsselungsinitialwert entsprechenden Zustand entspricht.
  19. Vorrichtung zum verschlüsselten Übertragen gemäß einem der Ansprüche 1 bis 16, bei der in dem nicht-flüchtigen Speicherelement (110) des zweiten Halbleiterchips (202) ferner der Verschlüsselungsinitialwert und in dem nichtflüchtigen Speicherelement (110) des ersten Halbleiterchips (200) ferner der Entschlüsselungsinitialwert gespeichert ist, wobei die zweite Datenübertragungsschnittstelle (104b) ausgebildet ist, um aus einem weiteren Eingangsdatenstrom unter Verwendung des in dem nicht-flüchtigen Speicherelementes (110) des zweiten Halbleiterchips (202) gespeicherten Verschlüsselungsinitialwertes gemäß der Verschlüsselungsvorschrift einen weiteren Verschlüsselungsdatenstrom zu erzeugen und wobei die erste Datenübertragungsschnittstelle (104a) ausgebildet ist, um den weiteren Verschlüsselungsdatenstrom zu empfangen und aus dem weiteren Verschlüsselungsdatenstrom unter Verwendung des in dem nicht-flüchtigen Speicherelement (110) des ersten Halbleiterchips (200) gespeicherten Entschlüsselungsinitialwertes gemäß der Entschlüsselungsvorschrift den weiteren Eingangsdatenstrom zu ermitteln.
  20. Vorrichtung gemäß einem der Ansprüche 1 bis 19, bei der der zweite Halbleiterchip (202) ausgebildet ist, um eine aus dem erwarteten Datenstrom ermittelbare vordefinierten Folge von maschinell ausführbaren Anweisungen auszuführen, wobei die zweite Datenübertragungsschnittstelle (104b) ausgebildet ist, um aus dem Entschlüsselungsdatenstrom eine maschinell ausführbare Anweisung zu ermitteln und wobei die zweite Datenübertragungsschnittstelle (104b) ferner ausgebildet ist, um dann die Abwehrmaßnahme gegen das Übertragen von Daten aus der zweiten Datenübertragungsschnittstelle (104b) an die erste Datenübertragungsschnittstelle (104a) durchzuführen, wenn die aus dem Entschlüsselungsdatenstrom ermittelte maschinell ausführbare Anweisung keiner maschinell ausführbaren Anweisung gemäß der vordefinierten Folge von maschinell ausführbaren Anweisungen entspricht.
  21. Vorrichtung gemäß einem der Ansprüche 1 bis 20, bei der die erste Datenübertragungsschnittstelle (104a) ausgebildet ist, um eine Scrambling-Vorschrift als Verschlüsselungsvorschrift zu verwenden und bei der die zweite Datenübertragungsschnittstelle (104b) ausgebildet ist, um eine Descrambling-Vorschrift als Entschlüsselungsvorschrift zu verwenden.
  22. Verfahren zum Betreiben einer Vorrichtung zum verschlüsselten Übertragen von Daten zwischen zwei Halbleiterchips (200, 202) einer Datenverarbeitungseinrichtung,

    wobei die Vorrichtung zum verschlüsselten Übertragen ein nicht-flüchtiges Speicherelement (100) in jedem der zwei Halbleiterchips (200, 202) aufweist, wobei in dem Speicherelement (110) des ersten Halbleiterchips (200) ein Verschlüsselungsinitialwert für eine Verschlüsselungsvorschrift gespeichert ist und in dem Speicherelement (110) des zweiten Halbleiterchips (202) ein dem Verschlüsselungsinitialwert zugeordneter Entschlüsselungsinitialwert einer der Verschlüsselungsvorschrift zugeordneten Entschlüsselungsvorschrift gespeichert ist,

    wobei der erste Halbleiterchip (200) eine erste Datenübertragungsschnittstelle (104a) aufweist, die ausgebildet ist, um aus einem Eingangsdatenstrom unter Verwendung des Verschlüsselungsinitialwertes gemäß der Verschlüsselungsvorschrift einen Verschlüsselungsdatenstrom zu erzeugen und

    wobei der zweite Halbleiterchip (202) eine zweite Datenübertragungsschnittstelle (104b) aufweist, die ausgebildet ist, um den Verschlüsselungsdatenstrom zu empfangen und aus dem Verschlüsselungsdatenstrom unter Verwendung des Entschlüsselungsinitialwertes gemäß der Entschlüsselungsvorschrift einen Entschlüsselungsdatenstrom zu ermitteln und den ermittelten Entschlüsselungsdatenstrom mit einem erwarteten Datenstrom zu vergleichen, wobei die zweite Datenübertragungsschnittstelle ferner ausgebildet ist, um eine Abwehrmaßnahme gegen ein Übertragen von Daten von der zweiten Datenübertragungsschnittstelle (104b) an die erste Datenübertragungsschnittstelle (104a) zu ergreifen, wenn der Entschlüsselungsdatenstrom nicht einem erwarteten Datenstrom entspricht und

    wobei das Verfahren zum Betreiben der Vorrichtung zum verschlüsselten Übertragen folgenden Schritte umfasst:

    Verschlüsseln von Daten des Eingangsdatenstromes in der ersten Datenübertragungsschnittstelle (104a) unter Verwendung des Verschlüsselungsinitialwertes gemäß der Verschlüsselungsvorschrift, um den Verschlüsselungsdatenstrom zu erzeugen;

    Übertragen des Verschlüsselungsdatenstromes von der ersten Datenübertragungsschnittstelle (104a) zur zweiten Datenübertragungsschnittstelle (104b);

    Entschlüsseln des Verschlüsselungsdatenstromes in der zweiten Datenübertragungsschnittstelle (104b) unter Verwendung des Entschlüsselungsinitialwertes gemäß der Entschlüsselungsvorschrift, um den Entschlüsselungsdatenstrom zu ermitteln; und

    Ergreifen einer Abwehrmaßnahme gegen eine Übertragung von Daten aus der zweiten Datenübertragungsschnittstelle (104b) zur ersten Datenübertragungsschnittstelle (104a), wenn der Entschlüsselungsdatenstrom nicht einem erwarteten Datenstrom entspricht.
  23. Verfahren zum Personalisieren einer Vorrichtung zum verschlüsselten Übertragen von Daten zwischen zwei Halbleiterchips (200, 202) einer Datenverarbeitungseinrichtung,

    wobei die Vorrichtung zum verschlüsselten Übertragen ein nicht-flüchtiges Speicherelement (100) in jedem der zwei Halbleiterchips (200, 202) aufweist, wobei in dem Speicherelement (110) des ersten Halbleiterchips (200) ein Verschlüsselungsinitialwert für eine Verschlüsselungsvorschrift gespeichert ist und in dem Speicherelement (110) des zweiten Halbleiterchips (202) ein dem Verschlüsselungsinitialwert zugeordneter Entschlüsselungsinitialwert einer der Verschlüsselungsvorschrift zugeordneten Entschlüsselungsvorschrift gespeichert ist,

    wobei der erste Halbleiterchip (200) eine erste Datenübertragungsschnittstelle (104a) aufweist, die ausgebildet ist, um aus einem Eingangsdatenstrom unter Verwendung des Verschlüsselungsinitialwertes gemäß der Verschlüsselungsvorschrift einen Verschlüsselungsdatenstrom zu erzeugen und

    wobei der zweite Halbleiterchip (202) eine zweite Datenübertragungsschnittstelle (104b) aufweist, die ausgebildet ist, um den Verschlüsselungsdatenstrom zu empfangen und aus dem Verschlüsselungsdatenstrom unter Verwendung des Entschlüsselungsinitialwertes gemäß der Entschlüsselungsvorschrift einen Entschlüsselungsdatenstrom zu ermitteln und den ermittelten Entschlüsselungsdatenstrom mit einem erwarteten Datenstrom zu vergleichen, wobei die zweite Datenübertragungsschnittstelle ferner ausgebildet ist, um eine Abwehrmaßnahme gegen ein Übertragen von Daten von der zweiten Datenübertragungsschnittstelle (104b) an die erste Datenübertragungsschnittstelle (104a) zu ergreifen, wenn der Entschlüsselungsdatenstrom nicht einem erwarteten Datenstrom entspricht und

    wobei das Verfahren zum Personalisieren der Vorrichtung zum authentisierten Übertragen folgenden Schritte umfasst:

    Bereitstellen des Verschlüsselungsinitialwertes und eines dem Verschlüsselungsinitialwert zugeordneten Entschlüsselungsinitialwertes;

    Einspeichern des Verschlüsselungsinitialwertes in das nicht-flüchtigen Speicherelement (110) des ersten Halbleiterchips (200) und des Entschlüsselungsinitialwertes in das nicht-flüchtigen Speicherelement (110) des zweiten Halbleiterchips (202); und

    Sichern des in dem nicht-flüchtigen Speicherelement (110) des ersten Halbleiterchips (200) gespeicherten Verschlüsselungsinitialwertes und des in dem nichtflüchtigen Speicherelement (110) des zweiten Halbleiterchips (202) gespeicherten Entschlüsselungsinitialwertes gegen eine Veränderung.
  24. Computerprogramm mit Programmcode zur Durchführung des Verfahrens gemäß Anspruch 22 oder 23, wenn das Computerprogramm auf einem Computer abläuft.
Es folgt ein Blatt Zeichnungen






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

  Patente PDF

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com