-
QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
-
Die Offenbarung der am 20. Oktober 2022 eingereichten japanischen Patentanmeldung Nr. 2022-168177, einschließlich der Beschreibung, Zeichnungen und Zusammenfassung, ist durch Bezugnahme in vollem Umfang hierin aufgenommen.
-
HINTERGRUND
-
Die vorliegende Erfindung betrifft ein Verfahren zum Verwalten geheimer Information und eine Halbleitervorrichtung.
-
In jüngster Zeit wurden im Automobilbereich mit der Entwicklung vernetzter und ADAS (Advanced Driver Assistance Systems) in vielen Fällen fahrzeugmontierte elektronische Vorrichtungen, wie fahrzeugmontierte Kameras, Fahrtenschreiber und Autonavigationssysteme, installiert. In fahrzeugmontierten elektronischen Vorrichtungen ist es notwendig, einen Verschlüsselungsschlüssel, der die private Information des Benutzers verschlüsselt, und den Verschlüsselungsschlüssel, der eine Kommunikation mit anderen Vorrichtungen verschlüsselt, sicher zu speichern. Geheime Daten wie Verschlüsselungsschlüssel werden im Allgemeinen in einen OTP (One Time Programmable)-Speicher geschrieben, auf den keine Software zugreifen kann und der robust geschützt ist. Eine Schlüsselverwaltung von Fahrzeugen erfordert auch eine konsequente Gewährleistung der Sicherheit während der Fahrzeuglebenszyklusphase.
-
In dem Patentdokument 1 wird beschrieben, dass ein von außen erfasstes verschlüsseltes Spieleprogramm unter Verwendung eines zuvor in einem Speicher gespeicherten Schlüssels entschlüsselt wird, nach dem Schreiben eines entschlüsselten Spieleprogramms in einen nichtflüchtigen Speicher wird der Schlüssel in einen Löschungs- oder bedeutungslosen Code geändert.
-
Offenbarte Techniken sind im Folgenden aufgeführt.
-
[Patentdokument 1] Japanische ungeprüfte Patentanmeldungsveröffentlichung Nr.
2000-137609
-
ZUSAMMENFASSUNG
-
In Patentdokument 1 wird angenommen, dass der Verschlüsselungsschlüssel nur einmal verwendet wird, um das Spieleprogramm in den sicheren ROM bei der Herstellungsphase zu schreiben. Andererseits wird bei der fahrzeugmontierten elektronischen Vorrichtung angenommen, dass der Verschlüsselungsschlüssel in der Betriebsphase wiederholt verwendet wird.
-
In anderen Worten bedeutet dies, dass der Verschlüsselungsschlüssel des Patentdokuments 1 in der Betriebsphase gelöscht wird.
-
Daher ist in der Verwerfen-Phase nach der Betriebsphase ein Ungültigmachen des Verschlüsselungsschlüssels erforderlich, so dass der Verschlüsselungsschlüssel von einem böswilligen Dritten ausgenutzt werden kann und die in dem Fahrzeug gespeicherten privaten Daten des Benutzers nicht wiederhergestellt werden. Das Ziel der vorliegenden Offenbarung ist, eine Verwerfen-Phase als den Zustand des Lebenszyklus des Fahrzeugs zu definieren und, wenn das Fahrzeug in die Verwerfen-Phase übergeht, die in dem OTP-Speicher gespeicherte geheime Information ungültig zu machen und nachfolgende Systemoperationen zu stoppen.
-
Weitere Ziele und neue Merkmale werden aus der Beschreibung dieser Spezifikation und den beigefügten Zeichnungen ersichtlich.
-
Gemäß einem Ausführungsbeispiel ist ein Verfahren zum Verwalten geheimer Information derart, dass, wenn ein Prozessor erkennt, dass der Zustand des Lebenszyklus des Fahrzeugs von der Betriebsphase in die Verwerfen-Phase geändert wird, der Prozessor ein Sicherheitsmodul auffordert, von der Betriebsphase in die Verwerfen-Phase zu wechseln. Dann macht das Sicherheitsmodul die geheime Information ungültig und stoppt den Betrieb der Halbleitervorrichtung.
-
Gemäß einem Ausführungsbeispiel ist es möglich, die Schlüsselinformation in der Verwerfen-Phase zuverlässig ungültig zu machen und es ist unmöglich, das System zu aktivieren. In anderen Worten, es wird unmöglich, dass ein böswilliger Dritter die Schlüsselinformation extrahiert, es ist möglich, das Eigentum des Benutzers sicher zu schützen.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
- 1 ist ein Blockdiagramm, das eine Konfiguration einer Halbleitervorrichtung gemäß einem ersten Ausführungsbeispiel zeigt.
- 2 ist ein Diagramm, das ein Konfigurationsbeispiel eines Lebenszyklus-Flags der Halbleitervorrichtung gemäß dem ersten Ausführungsbeispiel zeigt.
- 3 ist ein Ablaufdiagramm für den Übergang von der Betriebsphase zur Verwerfen-Phase in der Halbleitervorrichtung gemäß dem ersten Ausführungsbeispiel.
- 4 ist ein Ablaufdiagramm einer Verwerfen-Phase in der Halbleitervorrichtung gemäß dem ersten Ausführungsbeispiel.
- 5 ist ein Ablaufdiagramm einer Modifikation der Verwerfen-Phase in der Halbleitervorrichtung gemäß dem ersten Ausführungsbeispiel.
- 6 ist ein Blockdiagramm, das eine Konfiguration einer Modifikation der Halbleitervorrichtung gemäß dem ersten Ausführungsbeispiel zeigt.
- 7 ist ein Blockdiagramm, das eine Konfiguration einer Halbleitervorrichtung gemäß einem zweiten Ausführungsbeispiel zeigt.
- 8A und 8B sind ein Ablaufdiagramm für einen Übergang von der Betriebsphase zu der Verwerfen-Phase in der Halbleitervorrichtung gemäß dem zweiten Ausführungsbeispiel.
- 9 ist ein Ablaufdiagramm einer Verwerfen-Phase in der Halbleitervorrichtung gemäß dem zweiten Ausführungsbeispiel.
-
DETAILLIERTE BESCHREIBUNG
-
Zur Verdeutlichung der Erläuterung werden die folgende Beschreibung und die Zeichnungen entsprechend ausgespart und vereinfacht. Weiter können die in den Zeichnungen als Funktionsblöcke zur Durchführung verschiedener Prozesse beschriebenen Elemente als CPU (Central Processing Unit), Speicher und andere Schaltungen in Form von Hardware konfiguriert sein und werden in Form von Software durch in die Speicher geladene Programme realisiert. Daher ist für Fachleute offensichtlich, dass diese Funktionsblöcke in verschiedenen Formen allein durch Hardware oder durch eine Kombination aus Hardware und Software davon realisiert werden können und die vorliegende Erfindung nicht auf eine davon beschränkt ist. In den Zeichnungen werden dieselben Elemente mit denselben Bezugszeichen bezeichnet und deren wiederholte Beschreibung wird weggelassen, wenn erforderlich.
-
(Beschreibung der Halbleitervorrichtung gemäß dem ersten Ausführungsbeispiel)
-
1 ist ein Blockdiagramm, das eine Konfiguration einer Halbleitervorrichtung gemäß dem ersten Ausführungsbeispiel zeigt. 2 ist ein Diagramm, das ein Konfigurationsbeispiel eines Lebenszyklus-Flags der Halbleitervorrichtung gemäß dem ersten Ausführungsbeispiel zeigt. Unter Bezugnahme auf 1 und 2 wird eine Halbleitervorrichtung gemäß dem ersten Ausführungsbeispiel beschrieben.
-
Eine Halbleitervorrichtung (SoC (System on a Chip)) 10 verschlüsselt die Benutzerdaten von Webservern und speichert die Information in einem externen Speicher 20. Die Halbleitervorrichtung 10 umfasst ein OTP-Modul 100, ein HSM (Hardware Security Module) 200, eine CPU (Central Processing Unit) 300, einen ROM (Read Only Memory) 400, ein Ethernet 500, einen RAM (Random Access Memory) 600 und eine Speichersteuervorrichtung 700.
-
Das OTP-Modul 100 umfasst einen OTP-Speicher 101, einen Reset- bzw. Zurücksetzen-Sequenzer 103 und ein Register 105. Der OTP-Speicher 101 ist in einen nicht-sicheren Bereich und einen sicheren Bereich unterteilt. Der nicht-sichere Bereich speichert ein Lebenszyklus-Flag 111. Der sichere Bereich speichert einen Verschlüsselungsschlüssel (geheime Information) 113. Der nicht-sichere Bereich ist durch die CPU 300 lesbar/nicht-beschreibbar und durch das HSM 200 nicht-lesbar/beschreibbar. Der sichere Bereich ist für die CPU 300 nicht-lesbar/beschreibbar und für das HSM 200 lesbar/nicht-beschreibbar, er ist gut geschützt.
-
Der Reset-Sequenzer 103 ist ein Hardware-Sequenzer, der den OTP-Speicher 101 nur einmal aktiv liest, wenn die Leistungsversorgung eingeschaltet wird und zurückgesetzt wird.
-
Das Register 105 speichert die von dem Reset-Sequenzer 103 gelesenen Daten des OTP-Speichers 101. Das Register 105 speichert Information 115 zum nicht-sicheren Bereich und Information 117 zum sicheren Bereich. Die in dem Register 105 gespeicherte Information 115 zum nicht-sicheren Bereich kann nur von der CPU 300 und dem HSM 200 gelesen werden. Das Register 105 ist über eine dedizierte Leitung mit anderen Modulen verbunden, und die Information 117 zum sicheren Bereich wird über die dedizierte Leitung ausgetauscht. In dem ersten Ausführungsbeispiel ist die Information 117 zum sicheren Bereich der Verschlüsselungsschlüssel, und das Register 105 ist mit dem HSM 200 verbunden.
-
Das HSM 200 ist eine verbesserte manipulationssichere Hardwarevorrichtung, die den Verschlüsselungsprozess durch Schützen und Verwalten der Schlüssel zum Verschlüsseln von Daten, Entschlüsseln von Daten und Erzeugen digitaler Signaturen und Zertifikate sichert. Das HSM 200 ist mit dem Register 105 über eine dedizierte Leitung verbunden und das Geheimnis, das der Verschlüsselungsschlüssel ist, wird übertragen. Das HSM 200 nutzt die übertragene private Information, um die verschlüsselte Information in dem externen Speicher 20 zu lesen.
-
Die CPU 300 ist ein Prozessor, der das HSM 200 zur Verarbeitung benötigt und den Übergang von der Betriebsphase zu der Verwerfen-Phase erkennt. Wenn die CPU 300 erkennt, dass die Übergangsbedingung von der Betriebsphase zur Verwerfen-Phase in dem HSM 200 erfüllt ist, fordert sie das HSM 200 auf, von der Betriebsphase zur Verwerfen-Phase überzugehen. Weiter steuert die CPU 300 auch die gesamte Halbleitervorrichtung 10. Zum Beispiel erweitert die CPU 300 die in dem externen Speicher 20 gespeicherte Software auf den RAM 600, um die Information zu verarbeiten.
-
Der ROM 400 ist eine Speichervorrichtung, die die aufgezeichnete Information nur lesen kann. Der ROM 400 speichert Information, die nicht überschrieben werden soll, wie BIOS und Firmware, und Information, die nicht überschrieben werden muss. Bei der Firmware handelt es sich um eine in der Halbleitervorrichtung 10 integrierte Software, die die grundlegende Steuerung der Schaltung und der Vorrichtung in dem Hauptkörper steuert. Die Firmware wird unmittelbar nach der Aktivierung der Halbleitervorrichtung 10 eingesetzt und startet die Steuerung.
-
Ethernet 500 ist ein Kommunikationsstandard, der zum Austausch von Signalen über Computernetzwerke verwendet wird. Hier wird das Ethernet 500 von der Halbleitervorrichtung 10 verwendet, um Information mit außerhalb zu kommunizieren.
-
Der RAM 600 speichert vorübergehend die aus dem externen Speicher 20 gelesene Information/Verarbeitungsergebnisse, wenn die Halbleitervorrichtung 10 in Betrieb ist. Die im RAM 600 gespeicherte Information verschwindet, wenn die Leistungsversorgung ausgeschaltet wird. Zum Beispiel hat der RAM 600 eine Funktion, die in dem externen Speicher 20 gespeicherten verschlüsselten Daten zu entschlüsseln und vorübergehend zu speichern.
-
Die Speichersteuervorrichtung 700 ist eine Funktion oder LSI (Large Scale Integration), die die Schnittstelle des Hauptspeichers steuert, zum Beispiel das Lesen und Schreiben von Daten in den RAM 600.
-
Das System des ersten Ausführungsbeispiels umfasst eine sichere Speichervorrichtung als externen Speicher 20. Der externe Speicher 20 umfasst Programmdaten 801, die in die CPU 300 eingelesen und in dem RAM 600 eingesetzt werden, um die Verarbeitung durchzuführen. Weiter speichert der externe Speicher 20 die Benutzerdaten 1, die Benutzerdaten 2 und die Benutzerdaten 3, die mit dem Verschlüsselungsschlüssel verschlüsselt sind.
-
2 zeigt ein Beispiel der Struktur des Lebenszyklus-Flags. Das Lebenszyklus-Flag definiert die Entwicklungs-, Herstellungs-, Betriebs- und Verwerfen-Phasen wie folgt:
- Entwicklungsphase: Verschlüsselungsschlüssel in dem OTP-Speicher sind leer. Herstellungsphase: Speichern der Verschlüsselungsschlüssel in dem OTP-Speicher.
- Betriebsphase: Ein Aktualisieren von Verschlüsselungsschlüsseln in dem OTP-Speicher ist verboten.
- Verwerfen-Phase: Verschlüsselungsschlüssel in dem OTP-Speicher ungültig machen.
-
Das Lebenszyklus-Flag wechselt zur nächsten Phase, wenn 1 hinzugefügt wird. Daher kehrt der Lebenszyklus nicht zurück.
-
(Beschreibung eines Verfahrens zum Verwalten geheimer Information einer Halbleitervorrichtung gemäß dem ersten Ausführungsbeispiel)
-
3 ist ein Ablaufdiagramm für den Übergang von einer Betriebsphase zu einer Verwerfen-Phase in einer Halbleitervorrichtung gemäß dem ersten Ausführungsbeispiel. 4 ist ein Ablaufdiagramm einer Verwerfen-Phase eines Verwaltungsverfahrens für geheime Information einer Halbleitervorrichtung gemäß dem ersten Ausführungsbeispiel. 5 ist ein Ablaufdiagramm einer Modifikation der Verwerfen-Phase des Verwaltungsverfahrens für die geheime Information der Halbleitervorrichtung gemäß dem ersten Ausführungsbeispiel. Unter Bezugnahme auf 3 bis 5 wird ein Verfahren zum Verwalten geheimer Information der Halbleitervorrichtung gemäß dem ersten Ausführungsbeispiel beschrieben.
-
Wie in 3 gezeigt, wird in der Betriebsphase das Zurücksetzen durch Einschalten der Leistungsversorgung der Halbleitervorrichtung 10 aufgehoben (Schritt S301). Dann speichert der Reset-Sequenzer 103 des OTP-Moduls 100 die Information des OTP-Speichers 101 in dem Register 105 in dem OTP-Modul 100 (Schritt S302). Das Register 105 überträgt dann den Verschlüsselungsschlüssel 113 über eine dedizierte Leitung an das HSM 200 (Schritt S303). Das HSM 200 lädt den Boot-Code aus dem ROM 400, liest das Lebenszyklus-Flag 111 des OTP-Speichers 101 und erkennt, dass es sich in der Betriebsphase befindet. Anschließend führt das HSM 200 eine Initialisierung des Systems der Halbleitervorrichtung 10 durch (Schritt S304). Das HSM 200 entwickelt ein CPU-300-Programm von dem externen Speicher 20 zu dem RAM 600 in der Halbleitervorrichtung 10 und startet die CPU 300 (Schritt S305). Die CPU 300 startet den Normalbetrieb (Schritt S306).
-
Wenn die CPU 300 die vorgegebene Bedingung der Verwerfen-Phase erkennt (Schritt S307), fordert sie das HSM 200 auf, von der Betriebsphase zur Verwerfen-Phase überzugehen (Schritt S308). Das HSM 200 fügt das Lebenszyklus-Flag 111 des OTP-Speichers 101 hinzu und endet (Schritt S309).
-
Wie in 4 gezeigt, wird in der Verwerfen-Phase das Zurücksetzen durch Einschalten der Leistungsversorgung in der Halbleitervorrichtung 10 aufgehoben (Schritt S401). Dann speichert der Reset-Sequenzer 103 des OTP-Moduls 100 die Information des OTP-Speichers 101 in dem Register 105 in dem OTP-Modul 100. Das HSM 200 lädt den Boot-Code einer Firmware aus dem ROM 400 und liest das Lebenszyklus-Flag 111 in dem OTP-Speicher 101 und erkennt, dass es sich in der Verwerfen-Phase befindet (Schritt S402). Dann überschreibt das HSM 200 den Verschlüsselungsschlüssel 113 in dem OTP-Speicher 101 mit einem Zufallswert oder Nullwert (Schritt S403). Durch Stoppen des nachfolgenden Prozesses kann das HSM 200 den Betrieb der Halbleitervorrichtung 10 stoppen.
-
Somit wird in der Verwerfen-Phase bei jedem Einschalten der Verschlüsselungsschlüssel 113 des OTP-Speichers 101 mit einem Zufallswert oder einem Nullwert überschrieben. Wenn daher die Leistungsversorgung ausgeschaltet wird, während der Verschlüsselungsschlüssel 113 überschrieben wird, und ein Schreibfehler auftritt, kann der Schreibfehler behoben werden, indem der Verschlüsselungsschlüssel beim nächsten Einschalten der Leistungsversorgung überschrieben wird.
-
5 zeigt ein Ablaufdiagramm einer Modifikation der Verwerfen-Phase. Wie in 5 gezeigt, wird die Halbleitervorrichtung 10 eingeschaltet, um ein Zurücksetzen aufzuheben (Schritt S501). Dann wird bestimmt, ob es sich um die Verwerfen-Phase handelt oder nicht (Schritt S502). In der Verwerfen-Phase wird bestimmt, ob das Ungültig-Flag des Verschlüsselungsschlüssels 113 in dem OTP-Speicher 101 geschrieben wurde oder nicht (Schritt S503). Zum Beispiel kann das Ungültig-Flag des Verschlüsselungsschlüssels an das in 2 gezeigte Lebenszyklus-Flag angehängt werden. Wenn die Leistungsversorgung zum ersten Mal in der Verwerfen-Phase eingeschaltet wird oder ausgeschaltet wird während des Überschreibens des Verschlüsselungsschlüssels, wird der Verschlüsselungsschlüssel erneut ungültig gemacht, da das Ungültig-Flag des Verschlüsselungsschlüssels nicht geschrieben ist (Schritt S504).
-
Dann schreibt das HSM 200 das Ungültig-Flag des Verschlüsselungsschlüssels, wenn das Ungültig-Flag des Verschlüsselungsschlüssels nicht geschrieben wurde (Schritt S505). Anschließend stoppt das HSM 200 durch Stoppen des nachfolgenden Prozesses den Betrieb der Halbleitervorrichtung 10. Durch Setzen des Invalidierungs- bzw. Ungültig-Flags des Verschlüsselungsschlüssels kann erkannt werden, dass der Verschlüsselungsschlüssel des OTP-Speichers sicher ungültig gemacht wurde.
-
(Beschreibung einer Modifikation der Halbleitervorrichtung gemäß dem ersten Ausführungsbeispiel)
-
6 ist ein Blockdiagramm, das eine Konfiguration einer Modifikation der Halbleitervorrichtung gemäß dem ersten Ausführungsbeispiel zeigt. Unter Bezugnahme auf 6 wird eine Modifikation der Halbleitervorrichtung gemäß dem ersten Ausführungsbeispiel beschrieben.
-
In dem ersten Ausführungsbeispiel ist der sichere Bereich durch das HSM 200 beschreibbar. Wie in 6 gezeigt, umfasst die Halbleitervorrichtung 11 dieser Modifikation einen Schreibsequenzer 107. Der Schreibsequenzer 107 kann den Verschlüsselungsschlüssel des sicheren Bereichs basierend auf den Anweisungen des HSM 200 überschreiben. Wenn jedoch das Lebenszyklus-Flag die Betriebsphase ist, wird der Schreibsequenzer 107 ungültig gemacht. Dann, wenn das Lebenszyklus-Flag in der Verwerfen-Phase ist, wird der Schreibsequenzers 107 hinsichtlich Funktionalität validiert. Somit könnte das HSM 200 den Verschlüsselungsschlüssel 113 während der Betriebsphase nicht aktualisieren und die Integrität des Verschlüsselungsschlüssels könnte robuster sein.
-
(Die Halbleitervorrichtung gemäß dem zweiten Ausführungsbeispiel)
-
7 ist ein Blockdiagramm, das eine Konfiguration einer Halbleitervorrichtung gemäß dem zweiten Ausführungsbeispiel zeigt. Unter Bezugnahme auf 7 wird eine Halbleitervorrichtung gemäß einem zweiten Ausführungsbeispiel beschrieben.
-
Bei der Halbleitervorrichtung 12 gemäß dem zweiten Ausführungsbeispiel sind die Funktion der Halbleitervorrichtung 10 und der Reset-Sequenzer 103 des ersten Ausführungsbeispiels unterschiedlich. Das Halbleitervorrichtung 12 gemäß dem zweiten Ausführungsbeispiel umfasst eine Maskierungsschaltung 119 in dem Register 105.
-
Der Reset-Sequenzer 103 hat eine Funktion, den OTP-Speicher 101 nur einmal aktiv auszulesen, nachdem Leistung an die Halbleitervorrichtung 12 zugeführt wurde ((A) in 7). Der Reset-Sequenzer 103 hat eine Funktion, den Verschlüsselungsschlüssel ungültig zu machen durch Anfordern eines Ungültigmachens des Verschlüsselungsschlüssels (Verwerfen-Phase-Anforderung) des OTP-Speichers 101 von dem HSM 200 ((B) in 7). Der Reset-Sequenzer 103 hat eine Funktion, Daten zum Maskieren des Verschlüsselungsschlüssels 113 an die Maskierungsschaltung 119 in dem Register 105 zu übertragen ((C) in 7).
-
Die Maskierungsschaltung 119 in dem Register 105 speichert Daten, um die Daten der geheimen Information zu maskieren, wie den Verschlüsselungsschlüssel 113 des OTP-Speichers 101, der von dem Reset-Sequenzer 103 gelesen wird.
-
Mit einer solchen Konfiguration kann das Ungültigmachen des Verschlüsselungsschlüssels durch einen Hardware-Sequenzer durchgeführt werden und die Widerstandsfähigkeit gegen nichtinvasive Angriffe wie Fehlerangriffe kann verbessert werden. Die Maskierungsschaltung verhindert auch die Verwendung des Verschlüsselungsschlüssels nach dem Übergang zur Verwerfen-Phase, da die Verwendung des Verschlüsselungsschlüssels nicht mehr verfügbar ist, selbst während des Zeitraums von der Anforderung zum Ungültigmachen des Verschlüsselungsschlüssels bis zum Zurücksetzen.
-
(Beschreibung eines Verfahrens zum Verwalten geheimer Information einer Halbleitervorrichtung gemäß dem zweiten Ausführungsbeispiel)
-
8A und 8B sind ein Ablaufdiagramm für einen Übergang von einer Betriebsphase zu einer Verwerfen-Phase in einer Halbleitervorrichtung gemäß dem zweiten Ausführungsbeispiel. 9 ist ein Ablaufdiagramm einer Verwerfen-Phase in einer Halbleitervorrichtung gemäß dem zweiten Ausführungsbeispiel. Unter Bezugnahme auf 8A, 8B und 9 wird ein Verfahren zum Verwalten geheimer Information der Halbleitervorrichtung gemäß dem zweiten Ausführungsbeispiel beschrieben.
-
Bei der Halbleitervorrichtung gemäß dem zweiten Ausführungsbeispiel wird der Übergang von der Betriebsphase zu der Verwerfen-Phase beschrieben. Wie in 8A und 8B gezeigt, wird eine Leistungsversorgung der Halbleitervorrichtung 12 eingeschaltet, um ein Zurücksetzen aufzuheben (Schritt S801). Dann erkennt der Reset-Sequenzer 103 des OTP-Moduls 100, dass das Lebenszyklus-Flag 111 des OTP-Speichers 101 in der Betriebsphase ist. Dann liest der Reset-Sequenzer 103 die Information des OTP-Speichers 101 und speichert die Information in dem Register 105 in dem OTP-Modul 100 (Schritt S802).
-
Das Register 105 überträgt Verschlüsselungsschlüssel und Lebenszyklus-Flags an das HSM 200 über eine dedizierte Leitung (Schritt S803). Das HSM 200 lädt den Boot-Code aus dem ROM 400 und erkennt, dass das von dem Register 105 in dem OTP-Modul 100 übertragene Lebenszyklus-Flag die Betriebsphase ist. Anschließend führt das HSM 200 eine Initialisierung des Systems der Halbleitervorrichtung 12 durch (Schritt S804).
-
Das HSM 200 erweitert die Programmierung der CPU 300 von dem externen Speicher 20 zu dem RAM 600 in der Halbleitervorrichtung 12 und startet die CPU 300 (Schritt S805). Die CPU 300 startet den Normalbetrieb (Schritt S806).
-
Die CPU 300 erkennt die vorgegebene Bedingung der Verwerfen-Phase (Schritt S807) und fordert das HSM 200 auf, in die Verwerfen-Phase einzutreten (Schritt S808). Das HSM 200 überträgt eine Anforderung zur Verwerfen-Phase (Schritt S809) an den Reset-Sequenzer 103 des OTP-Moduls 100.
-
Der Reset-Sequenzer 103 fügt das Lebenszyklus-Flag 111 der Verwerfen-Phase des OTP-Speichers 101 hinzu und überschreibt den Verschlüsselungsschlüssel 113 mit einem Zufallswert oder Nullwert (Schritt S810). Dann überträgt der Reset-Sequenzer 103 Daten (Randomisierung oder Nullsetzen), um den in dem Register 105 gespeicherten Verschlüsselungsschlüssel zu maskieren, und den aktualisierten Wert des Lebenszyklus-Flags (von der Betriebsphase zu der Verwerfen-Phase) an das Register 105 (Schritt S811).
-
Das Register 105 setzt Maskendaten in der Maskierungsschaltung 119 und macht den Verschlüsselungsschlüssel ungültig (Schritt S812). Das Register 105 aktualisiert auch das Lebenszyklus-Flag. Dann erkennt das HSM 200, dass das Lebenszyklus-Flag in der Verwerfen-Phase ist, und stoppt die Dienstanforderung von der CPU 300 und endet (Schritt S813). Somit, nach dem Übergang zu der Verwerfen-Phase ist es möglich, den Betrieb der Halbleitervorrichtung 12 unmittelbar zu stoppen.
-
Der Betrieb in der Verwerfen-Phase der Halbleitervorrichtung gemäß dem zweiten Ausführungsbeispiel wird beschrieben. Wie in 9 gezeigt, in der Verwerfen-Phase, um die Leistungsversorgung der Halbleitervorrichtung 12 einzuschalten, um ein Zurücksetzen aufzuheben (Schritt S901). Dann liest der Reset-Sequenzer 103 des OTP-Moduls 100 das Lebenszyklus-Flag 111 des OTP-Speichers 101 und erkennt, dass es in der Verwerfen-Phase ist (Schritt S902). Dann speichert der Reset-Sequenzer 103 nur die Information des Lebenszyklus-Flags in dem Register 105 in dem OTP-Modul 100 (Schritt S903).
-
Hier kann der Reset-Sequenzer 103 jedes Mal, wenn er erkennt, dass er sich in der Verwerfen-Phase befindet, ein Ungültigmachen des Verschlüsselungsschlüssels durchführen. In diesem Fall ist es möglich, den Schreibfehler zu beheben, wenn die Leistungsversorgung der Halbleitervorrichtung 12 ausgeschaltet wird während des Ungültigmachen-Vorgangs des Verschlüsselungsschlüssels in der Betriebsphase.
-
Das HSM 200 lädt den Boot-Code aus dem ROM 400 und erkennt, dass das Lebenszyklus-Flag, das von dem Register 105 des OTP-Moduls 100 übertragen wird, in der Verwerfen-Phase ist. Dann beendet das HSM 200 einen Dienst von den anderen Modulen (Schritt S904).
-
Auf diese Weise kann durch ein Implementieren des Ungültigmachens des Verschlüsselungsschlüssels in dem Hardware-Sequenzer die Widerstandsfähigkeit gegen nichtinvasive Angriffe wie Fehlerangriffe verbessert werden. Die Maskierungsschaltung verhindert auch die Verwendung des Verschlüsselungsschlüssels nach dem Übergang zu der Verwerfen-Phase, da die Verwendung des Verschlüsselungsschlüssels nicht mehr verfügbar ist, selbst während des Zeitraums von der Anforderung zum Ungültigmachen des Verschlüsselungsschlüssels bis zum Zurücksetzen.
-
Außerdem können die oben beschriebenen Programme unter Verwendung verschiedener Typen nichttransitorischer computerlesbarer Medien gespeichert und an einen Computer vorgesehen werden. Nichttransitorische computerlesbare Medien umfassen verschiedene Typen materieller Speichermedien. Beispiele für nichttransitorische computerlesbare Medien umfassen magnetische Aufzeichnungsmedien (z.B. flexible Datenträger, Magnetbänder, Festplattenlaufwerke), magnetooptische Aufzeichnungsmedien (z.B. magnetooptische Platten), CD-ROM, CD-R, CD-R/W, Festkörperspeicher (z.B. maskierter ROM, PROM (Programmable ROM), EPROM (Erasable PROM, Flash-ROM, RAM). Die Programme können an den Computer auch durch verschiedene Typen von transitorischen computerlesbaren transitorischen computerlesbaren Medien vorgesehen werden. Beispiele für transitorische computerlesbare Medien umfassen elektrische Signale, optische Signale und elektromagnetische Wellen. Das transitorische computerlesbare Medium kann das Programm an den Computer vorsehen über drahtgebundene oder drahtlose Kommunikationspfade, wie elektrische Leitungen und optische Fasern.
-
Obwohl die von dem Erfinder gemachte Erfindung insbesondere basierend auf dem Ausführungsbeispiel beschrieben wurde, ist die vorliegende Erfindung nicht auf das bereits beschriebene Ausführungsbeispiel beschränkt, und es ist anzumerken, dass verschiedene Modifikationen vorgenommen werden können, ohne von dessen Kern abzuweichen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-