DE102022206998A1 - Halbleitervorrichtung und verfahren zur erzeugung von zufallszahlen - Google Patents

Halbleitervorrichtung und verfahren zur erzeugung von zufallszahlen Download PDF

Info

Publication number
DE102022206998A1
DE102022206998A1 DE102022206998.6A DE102022206998A DE102022206998A1 DE 102022206998 A1 DE102022206998 A1 DE 102022206998A1 DE 102022206998 A DE102022206998 A DE 102022206998A DE 102022206998 A1 DE102022206998 A1 DE 102022206998A1
Authority
DE
Germany
Prior art keywords
random number
number generation
control unit
memory
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102022206998.6A
Other languages
English (en)
Inventor
Yuki Mori
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Publication of DE102022206998A1 publication Critical patent/DE102022206998A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

Eine Halbleitervorrichtung umfasst eine erste Steuereinheit, eine zweite Steuereinheit, einen Zufallszahlengenerator, einen ersten Speicher, in dem von dem Zufallszahlengenerator erzeugte Zufallszahlen gespeichert sind, eine Verschlüsselungsmaschine, die konfiguriert ist, um Verschlüsselungs- und Entschlüsselungsprozesse unter Verwendung der Zufallszahlen durchzuführen, die in dem ersten Speicher gespeichert sind, und einen zweiten Speicher, in dem Information bezüglich der Zufallszahlenerzeugung gespeichert ist. Die zweite Steuereinheit ist konfiguriert, die Zufallszahlen durch den Zufallszahlengenerator basierend auf der Information bezüglich der Zufallszahlenerzeugung zu erzeugen.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Die Offenbarung der japanischen Patentanmeldung Nr. 2021-130994 , eingereicht am 10. August 2021, einschließlich der Spezifikation, der Zeichnungen und der Zusammenfassung, ist hierin durch Bezugnahme in ihrer Gesamtheit aufgenommen.
  • HINTERGRUND
  • Diese Offenbarung bezieht sich auf eine Halbleitervorrichtung und kann zum Beispiel auf eine Halbleitervorrichtung mit einer Sicherheitsfunktion angewendet werden.
  • In den letzten Jahren hat auf dem Gebiet der elektronischen Steuereinheit bzw. ECU (Electronic Control Unit), die ein Beispiel für eine Halbleitervorrichtung ist, die Bedeutung von Sicherheitsanforderungen zum Verhindern einer Bedrohung durch einen böswilligen Dritten bei der Kommunikation zwischen ECUs zugenommen.
  • Im Folgenden sind offenbarte Techniken aufgeführt.
  • [Patentdokument 1] Japanische ungeprüfte Patentanmeldung Veröffentlichungsnr. 2018-106628 .
  • Zum Beispiel offenbart Patentdokument 1 eine Halbleitervorrichtung, die als ein mit sicherem IP (Intellectual Property) ausgestatteter Mikrocontroller für eine Automobil-ECU konfiguriert ist. Die Halbleitervorrichtung hat eine zentrale Prozessoreinheit bzw. CPU (Central Processing Unit) und ein sicheres IP. Das sichere IP versieht die CPU mit einer Sicherheitsfunktion durch Verwenden der von ihr selbst verwalteten Hardwareressourcen in Reaktion auf die Verarbeitungsanforderung von der CPU. Beispiele der Hardwareressourcen umfassen eine Verschlüsselungsmaschine, einen Zufallszahlengenerator und dergleichen.
  • ZUSAMMENFASSUNG
  • Im Allgemeinen wird jedes Mal, wenn das sichere IP die Zufallszahlen verwendet, eine vorgegebene Zufallszahlenmenge verbraucht, die von einem Zufallszahlengenerator erzeugt wird, und es ist notwendig, die Zufallszahlen neu zu erzeugen, wenn die erzeugten Zufallszahlen erschöpft sind. Wenn das sichere IP den Zufallszahlengenerator auffordert, die Zufallszahl zu erzeugen, nachdem eine Anforderung für einen Verschlüsselungsprozess von der CPU erhalten wird, dauert es eine Zeit, den Verschlüsselungsprozess unter Verwendung der Zufallszahl abzuschließen.
  • Andere Probleme und neuartige Merkmale werden aus der Beschreibung dieser Spezifikation und den beigefügten Zeichnungen ersichtlich.
  • Ein Überblick des typischen Ausführungsbeispiels in dieser Offenbarung wird kurz wie folgt beschrieben. Das heißt, eine Halbleitervorrichtung umfasst eine erste Steuereinheit, eine zweite Steuereinheit, einen Zufallszahlengenerator, einen ersten Speicher, in dem von dem Zufallszahlengenerator erzeugte Zufallszahlen gespeichert sind, eine Verschlüsselungsmaschine, die konfiguriert ist, um Verschlüsselungs- und Entschlüsselungsprozesse unter Verwendung der in dem ersten Speicher gespeicherten Zufallszahlen durchzuführen, und einen zweiten Speicher, in dem Information bezüglich einer Zufallszahlenerzeugung gespeichert ist. Die zweite Steuereinheit ist konfiguriert, die Zufallszahlen durch den Zufallszahlengenerator basierend auf der Information bezüglich der Zufallszahlenerzeugung zu erzeugen.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das das Konzept der Kommunikation zwischen zwei Halbleitervorrichtungen gemäß dem Ausführungsbeispiel zeigt.
    • 2 ist ein Blockdiagramm, das die Konfiguration der Halbleitervorrichtung gemäß dem Ausführungsbeispiel zeigt.
    • 3 ist ein Blockdiagramm, das die Konfiguration des in 1 gezeigten sicheren IP zeigt.
    • 4 ist ein Funktionsblockdiagramm, das den Prozess der in 2 gezeigten sicheren CPU des sicheren IP zeigt.
    • 5 ist ein Sequenzdiagramm, das einen Ablauf zum Speichern von Information bezüglich einer Zufallszahlenerzeugung in einem Daten-Flash zeigt.
    • 6 ist ein Sequenzdiagramm, das einen Ablauf des Prozesses der Halbleitervorrichtung in dem ersten Beispiel zeigt.
    • 7 ist ein Sequenzdiagramm, das einen Ablauf des Prozesses der Halbleitervorrichtung in dem Vergleichsbeispiel zeigt.
    • 8 ist ein Sequenzdiagramm, das einen Ablauf des Prozesses der Halbleitervorrichtung in dem zweiten Beispiel zeigt.
    • 9 ist ein Sequenzdiagramm, das einen Ablauf des Prozesses der Halbleitervorrichtung in dem dritten Beispiel zeigt.
    • 10 ist ein Bilddiagramm, das ein Beispiel eines Übergangs der Zufallszahlenmenge in einen Zufallszahlenhaltebereich in dem dritten Beispiel zeigt.
    • 11 ist ein Bilddiagramm, das ein Beispiel eines Übergangs der Zufallszahlenmenge in dem ersten Fall des angenommenen Betriebs der CPU zeigt.
    • 12 ist ein Bilddiagramm, das ein Beispiel eines Übergangs der Zufallszahlenmenge in dem zweiten Fall des angenommenen Betriebs der CPU zeigt.
    • 13 ist ein Bilddiagramm, das ein Beispiel eines Übergangs der Zufallszahlenmenge in dem dritten Fall des angenommenen Betriebs der CPU zeigt.
  • DETAILLIERTE BESCHREIBUNG
  • Nachfolgend werden das Ausführungsbeispiel, die Beispiele und die Modifikationen unter Bezugnahme auf die Zeichnungen beschrieben. Jedoch werden in der folgenden Beschreibung die gleichen Komponenten durch die gleichen Bezugszeichen bezeichnet und deren wiederholte Beschreibung wird in einigen Fällen weggelassen.
  • Die Kommunikation zwischen zwei Halbleitervorrichtungen gemäß dem Ausführungsbeispiel wird unter Bezugnahme auf 1 beschrieben.
  • Eine Halbleitervorrichtung 11 und eine Halbleitervorrichtung 12 sind durch eine Signalleitung 13 verbunden und können miteinander eine Datenkommunikation durchführen. Dann sind die Halbleitervorrichtung 11 und die Halbleitervorrichtung 12 konfiguriert, in der Lage zu sein, die zu kommunizierenden Daten unter Verwendung eines gemeinsamen Schlüssels, der im Voraus von beiden gehalten wird, unter Verwendung eines vorgegebenen Verschlüsselungsverarbeitungsalgorithmus zu verschlüsseln und zu entschlüsseln. Weiter sind die Halbleitervorrichtung 11 und die Halbleitervorrichtung 12 konfiguriert, die gleiche Funktion zu haben, und die Sendeseite und die Empfangsseite können zwischen ihnen wechselseitig ausgetauscht werden.
  • Insbesondere können die Halbleitervorrichtung 11 und die Halbleitervorrichtung 12 als Mikrocontroller konfiguriert sein, die mit sicherem IP (Intellectual Property) für Automobil-ECU ausgestattet sind. Die Halbleitervorrichtung 11 und die Halbleitervorrichtung 12 können an demselben Automobil oder an unterschiedlichen Automobilen angebracht sein. Weiter kann sowohl die Halbleitervorrichtung 11 als auch die Halbleitervorrichtung 12 auch als ein Halbleiterchip bezeichnet werden.
  • Zum Beispiel erzeugt die Halbleitervorrichtung 11 einen Chiffretext durch Verschlüsseln eines zu sendenden Klartextes und einer Zufallszahl unter Verwendung des gemeinsamen Schlüssels. Danach sendet die Halbleitervorrichtung 11 den Chiffretext an die Halbleitervorrichtung 12. Die Halbleitervorrichtung 12 akquiriert den Klartext und die Zufallszahl durch Entschlüsseln des empfangenen Chiffretexts unter Verwendung des gemeinsamen Schlüssels. Wenn die Klartextposition zum gleichen Zeitpunkt wie der gemeinsame Schlüssel geteilt wird, kann die Halbleitervorrichtung 12 aus dem Entschlüsselungsergebnis nur den Klartext extrahieren, den die Halbleitervorrichtung 11 senden möchte.
  • Die Halbleitervorrichtung 11 gemäß dem Ausführungsbeispiel wird unter Bezugnahme auf 2 beschrieben.
  • Die Halbleitervorrichtung 11 umfasst eine CPU 100, ein sicheres IP 200, einen Daten-Flash 300, einen Benutzer-RAM 400 und eine Kommunikationsschnittstelle (I/F) 500. In der Halbleitervorrichtung 11 sind diese Elemente miteinander über einen Bus 600 verbunden. Die Halbleitervorrichtung 12 hat die gleiche Konfiguration wie die Halbleitervorrichtung 11.
  • Die CPU 100 führt verschiedene Prozesse gemäß dem Benutzerprogramm (Benutzeranwendung) durch. Das sichere IP 200 führt den Sicherheitsprozess, wie einen Verschlüsselungsprozess, unter Verwendung von Zufallszahlen durch. Zum Beispiel fordert (instruiert) die CPU 100 das sichere IP 200 auf, einen Sicherheitsprozess durchzuführen. Dann, wenn das sichere IP 200 die Anweisung von der CPU 100 empfängt, führt das sichere IP 200 den angewiesenen Sicherheitsprozess durch.
  • Das sichere IP 200 hat einen sicheren RAM 220, der aus einem SRAM (Static Random Access Memory) besteht, der ein flüchtiger Speicher ist. Der sichere RAM 220 als erster Speicher ist ein Speicher, auf den von dem sicheren IP 200 aus zugegriffen werden kann, auf den jedoch nicht direkt von der CPU 100 aus zugegriffen werden kann. Das sichere IP 200 speichert Zufallszahlen, die von einem später beschriebenen Zufallszahlengenerator erzeugt werden, in dem sicheren RAM 220. Der sichere RAM 220 muss nur von dem sicheren IP 200 aus zugänglich sein und muss nicht notwendigerweise in dem sicheren IP 200 eingebaut sein.
  • Der Daten-Flash (DATA FLASH) 300 besteht aus einem Flash-Speicher, der ein nichtflüchtiger Speicher ist, und hat einen logisch geteilten sicheren Bereich 310 und einen Benutzerbereich 320. Der sichere Bereich 310 des Daten-Flash 300 als der zweite Speicher ist ein Bereich, auf den von dem sicheren IP 200 aus zugegriffen werden kann, auf den aber nicht direkt von der CPU 100 aus zugegriffen werden kann. Es ist anzumerken, dass der sichere Bereich 310 in dem sicheren IP 200 eingebaut sein kann. Auf den Benutzerbereich 320 kann sowohl von der CPU 100 als auch von dem sicheren IP 200 aus zugegriffen werden. Der sichere Bereich 310 speichert Information bezüglich der Zufallszahlenerzeugung, die in dem sicheren IP 200 und anderen verwendet wird. Der Benutzerbereich 320 speichert zum Beispiel ein von der CPU 100 ausgeführtes Benutzerprogramm und von dem Benutzerprogramm verwendete Daten. Die erste Steuereinheit wird durch die CPU 100 und den Benutzerbereich 320 des Daten-Flash 300 konfiguriert.
  • Der Benutzer-RAM 400 ist ein flüchtiger Speicher, und die CPU 100 verwendet den Benutzer-RAM 400 als Arbeitsbereich, wenn verschiedene Prozesse oder dergleichen durchgeführt werden. Weiter ist der Benutzer-RAM 400 ein gemeinsam genutzter Speicher zwischen der CPU 100 und dem sicheren IP 200. Zum Beispiel speichert die CPU 100 die Zieldaten des Sicherheitsprozesses, die für das sichere IP 200 angefordert werden, in dem Benutzer-RAM 400. Weiter speichert das sichere IP 200 die dem Sicherheitsprozess unterzogenen Daten in dem Benutzer-RAM 400.
  • Die Kommunikations-I/F bzw. -Schnittstelle 500 ist eine Schnittstelle zum Kommunizieren mit einem Außenbereich der Halbleitervorrichtung 11, zum Beispiel, mit der Halbleitervorrichtung 12 über die Signalleitung 13.
  • Die Konfiguration des sicheren IP 200 gemäß dem Ausführungsbeispiel wird unter Bezugnahme auf 3 beschrieben.
  • Das sichere IP 200 umfasst zum Beispiel eine sichere CPU 210, einen sicheren RAM 220, eine Verschlüsselungsmaschine 230, einen Zufallszahlengenerator 240, eine CPU-Schnittstelle (CPU I/F) 250 und eine Flash-Schnittstelle (FLASH I/F) 260. Die CPU-Schnittstelle 250 ist eine Schnittstelle zum Verbinden des sicheren IP 200 und der CPU 100 (siehe 2). Zum Beispiel hat die CPU-Schnittstelle 250 eine Funktion zum Senden einer Unterbrechungsanforderung an die CPU 100 und eine Funktion zum Empfangen einer Unterbrechungsanforderung von der CPU 100. Weiter ist die Flash-Schnittstelle 260 eine Schnittstelle zum Verbinden des sicheren IP 200 und des Daten-Flash 300.
  • Die sichere CPU 210 steuert die Implementierung verschiedener Sicherheitsprozesse. Die Verschlüsselungsmaschine 230 führt einen Prozess durch, der die Verschlüsselung betrifft. Der Zufallszahlengenerator 240 erzeugt Zufallszahlen. Die sichere CPU 210 führt verschiedene Sicherheitsprozesse durch, einschließlich Verschlüsselungsprozess, Entschlüsselungsprozess und Zufallszahlenerzeugung unter Verwendung der Verschlüsselungsmaschine 230, des Zufallszahlengenerators 240 und anderer. Die sichere CPU 210 führt den Sicherheitsprozess zum Beispiel durch Lesen eines Programms aus dem sicheren Bereich 310 des Daten-Flash 300 und Ausführen des Programms durch.
  • Die sichere CPU 210 kommuniziert mit der CPU 100 über die CPU-Schnittstelle 250. Die CPU 100 weist die sichere CPU 210 an (fordert diese auf), Information bezüglich der Erzeugung von Zufallszahlen in dem sicheren Bereich 310 des Daten-Flash 300 zu speichern. Wenn die CPU 100 die sichere CPU 210 zum Speichern von Information bezüglich der Zufallszahlenerzeugung anweist, greift die sichere CPU 210 über die Flash-Schnittstelle 260 auf den Daten-Flash 300 zu und speichert (stores) (speichert (saves)) die bezeichnete Information bezüglich der Zufallszahlenerzeugung in dem sicheren Bereich 310.
  • Weiter weist die CPU 100 die sichere CPU 210 an, den Sicherheitsprozess durchzuführen. Wenn die CPU 100 die sichere CPU 210 anweist, den Sicherheitsprozess durchzuführen, führt die sichere CPU 210 den angewiesenen Sicherheitsprozess durch. Zu diesem Zeitpunkt führt die sichere CPU 210 die Zufallszahlenerzeugung unter Verwendung der Information bezüglich der Zufallszahlenerzeugung durch, die in dem sicheren Bereich 310 des Daten-Flash 300 gespeichert ist. Zum Beispiel wird die Anweisung zum Speichern der Information bezüglich der Zufallszahlenerzeugung in dem sicheren Bereich 310 des Daten-Flash 300 gegeben, bevor die sichere CPU 210 eine Zufallszahlenerzeugung unter Verwendung der Information bezüglich der Zufallszahlenerzeugung durchführt.
  • Eine Steuereinheit, die die Funktion des sicheren IP 200 ausführt, wird unter Bezugnahme auf 4 beschrieben.
  • Die Steuereinheit 211 umfasst eine Sende-/Empfangseinheit (S/R_U) 212, eine Verschlüsselungsverarbeitungseinheit (ENC_U) 213, eine Zufallszahlen-Verwaltungseinheit (RNM_U) 214, eine Zufallszahlenerzeugungs-Steuereinheit (RGC_U) 215, eine Zufallszahlenerzeugungs-Einstellungsverwaltungseinheit (RSM_U) 216 und eine Daten-Flash-Steuereinheit (DFC_U) 217. Hier hat die Steuereinheit 211 als die zweite Steuereinheit eine Konfiguration, die die sichere CPU 210 und den sicheren Bereich 310 umfasst, in dem das durch die sichere CPU 210 ausgeführte Programm gespeichert ist. Die Sende-/Empfangseinheit (S/R_U) 212 kommuniziert mit der CPU 100. Die Verschlüsselungsverarbeitungseinheit (ENC_U) 213 führt einen Verschlüsselungsprozess unter Verwendung von Zufallszahlen durch (im Folgenden einfach als Verschlüsselungsprozess bezeichnet). Die Zufallszahlen-Verwaltungseinheit (RNM_U) 214 verwaltet die Erzeugung von Zufallszahlen. Die Zufallszahlenerzeugungs-Steuereinheit (RGC_U) 215 steuert den Zufallszahlengenerator 240. Die Zufallszahlenerzeugungs-Einstellungsverwaltungseinheit (RSM_U) 216 verwaltet die Einstellung der Information bezüglich der Zufallszahlenerzeugung. Die Daten-Flash-Steuereinheit (DFC_U) 217 steuert den Zugriff auf den sicheren Bereich 310 des Daten-Flash 300.
  • Die Speicherung der Information bezüglich der Zufallszahlenerzeugung in dem Daten-Flash wird unter Bezugnahme auf 5 beschrieben.
  • Die CPU 100 fordert die sichere CPU 210 auf, die Information bezüglich der Zufallszahlenerzeugung (RGD - random number generation) in dem Daten-Flash 300 zu speichern (Schritt S121). Die Sende-/Empfangseinheit (S/R_U) 212 empfängt die Anforderung von der CPU 100 und fordert die Zufallszahlenerzeugungs-Einstellungsverwaltungseinheit (RSM_U) 216 auf, die Information bezüglich der Zufallszahlenerzeugung zu speichern (Schritt S122).
  • Die Zufallszahlenerzeugungs-Einstellungsverwaltungseinheit (RSM_U) 216 empfängt die Anforderung und führt eine Authentifizierung durch (Schritt S123). Die Authentifizierung wird zum Beispiel unter Verwendung eines gemeinsamen Schlüssels durchgeführt. Die Verschlüsselungsmaschine 230 und der Zufallszahlengenerator 240 können bei Bedarf für die Authentifizierung verwendet werden.
  • Wenn die Authentifizierung fehlschlägt, beendet die Zufallszahlenerzeugungs-Einstellungsverwaltungseinheit (RSM_U) 216 den Prozess an diesem Punkt und benachrichtigt die Sende-/Empfangseinheit (S/R_U) 212, dass die Authentifizierung fehlgeschlagen ist (Schritt S124). Die Sende-/Empfangseinheit (S/R_U) 212 empfängt die Benachrichtigung von der Zufallszahlenerzeugungs-Einstellungsverwaltungseinheit (RSM_U) 216 und benachrichtigt die CPU 100, dass die Authentifizierung fehlgeschlagen ist (Schritt S125).
  • Wenn die Authentifizierung erfolgreich ist, fordert die Zufallszahlenerzeugungs-Einstellungsverwaltungseinheit (RSM_U) 216 die Daten-Flash-Steuereinheit (DFC_U) 217 auf, die Information bezüglich der Zufallszahlenerzeugung (RGD) in dem sicheren Bereich 310 des Daten-Flash 300 zu speichern (Schritt S126). Die Daten-Flash-Steuereinheit (DFC_U) 217 speichert die Information bezüglich der Zufallszahlenerzeugung (RGD) in dem sicheren Bereich 310 des Daten-Flash 300 (Schritt S127).
  • Wenn die Speicherung der Information bezüglich der Zufallszahlenerzeugung (RGD) abgeschlossen ist, benachrichtigt die Daten-Flash-Steuereinheit (DFC_U) 217 die Zufallszahlenerzeugungs-Einstellungsverwaltungseinheit (RSM_U) 216 über den Abschluss der Speicherung (Schritt S128). Die Zufallszahlenerzeugungs-Einstellungsverwaltungseinheit (RSM_U) 216 empfängt die Benachrichtigung von der Daten-Flash-Steuereinheit (DFC_U) 2 17 und benachrichtigt die Sende-/Empfangseinheit (S/R_U) 212 über den Abschluss der Speicherung (Schritt S129). Die Sende-/Empfangseinheit (S/R_U) 212 empfängt die Benachrichtigung von der Zufallszahlenerzeugungs-Einstellungsverwaltungseinheit (RSM_U) 216 und benachrichtigt die CPU 100 über den Abschluss der Speicherung (Schritt S130).
  • Hinsichtlich der Information bezüglich der Zufallszahlenerzeugung (RGD) in dem Ausführungsbeispiel werden im Folgenden das erste Beispiel, das zweite Beispiel und das dritte Beispiel beschrieben.
  • Erstes Beispiel
  • Der Prozess der Halbleitervorrichtung 11 in dem ersten Beispiel wird unter Bezugnahme auf 6 beschrieben.
  • Die CPU 100 fordert die sichere CPU 210 auf, den Verschlüsselungsprozess durchzuführen (Schritt S101). Die Sende-/Empfangseinheit (S/R_U) 212 empfängt die Anforderung von der CPU 100 und fordert die Verschlüsselungsverarbeitungseinheit (ENC_U) 213 auf, den Prozess durchzuführen (Schritt S102).
  • Die Verschlüsselungsverarbeitungseinheit (ENC_U) 213 fordert die Zufallszahlen-Verwaltungseinheit (RNM_U) 214 auf, eine Zufallszahl zu akquirieren (Schritt S103). Die Zufallszahlen-Verwaltungseinheit (RNM_U) 214 akquiriert eine Zufallszahl aus dem sicheren RAM 220 (Schritt S104). Die Zufallszahlen-Verwaltungseinheit (RNM_U) 214 gibt die Zufallszahl an die Verschlüsselungsverarbeitungseinheit (ENC_U) 213 zurück (Schritt S105). Hier wird zur Vereinfachung der Beschreibung angenommen, dass die Zufallszahlenerzeugung in dem Zufallszahlengenerator 240 abgeschlossen ist und die Zufallszahl in dem sicheren RAM 220 gespeichert ist.
  • Die Verschlüsselungsverarbeitungseinheit (ENC_U) 213 führt den Verschlüsselungsprozess basierend auf der akquirierten Zufallszahl durch (Schritt S106). Die Verschlüsselungsverarbeitungseinheit (ENC_U) 213 betreibt die Verschlüsselungsmaschine 230 nach Bedarf.
  • Wenn der Verschlüsselungsprozess abgeschlossen ist, benachrichtigt die Verschlüsselungsverarbeitungseinheit (ENC_U) 213 die Sende-/Empfangseinheit (S/R_U) 212 über den Abschluss des Prozesses (Schritt S107). Die Sende-/Empfangseinheit (S/R_U) 212 empfängt die Benachrichtigung von der Verschlüsselungsverarbeitungseinheit (ENC_U) 213 und benachrichtigt die CPU 100 über den Abschluss des Prozesses (Schritt S108).
  • Wenn der Verschlüsselungsprozess abgeschlossen ist, benachrichtigt die Verschlüsselungsverarbeitungseinheit (ENC_U) 213 die Zufallszahlen-Verwaltungseinheit (RNM_U) 214 über den Abschluss des Verschlüsselungsprozesses (Schritt S109). Wenn die Verschlüsselungsverarbeitungseinheit (ENC_U) 213 die in dem sicheren RAM 220 gespeicherte Zufallszahl verwendet hat, löscht die Zufallszahlen-Verwaltungseinheit (RNM_U) 214 die Zufallszahl aus dem sicheren RAM 220.
  • Die Zufallszahlen-Verwaltungseinheit (RNM_U) 214 fordert die Zufallszahlenerzeugungs-Einstellungsverwaltungseinheit (RSM_U) 216 auf, die Information bezüglich der Zufallszahlenerzeugung (RGD) zu akquirieren (Schritt S110). Die Zufallszahlenerzeugungs-Einstellungsverwaltungseinheit (RSM_U) 216 empfängt die Anforderung von der Zufallszahlen-Verwaltungseinheit (RNM_U) 214 und fordert die Daten-Flash-Steuereinheit (DFC_U) 217 auf, die Information bezüglich der Zufallszahlenerzeugung (RGD) zu akquirieren (Schritt S111). Die Daten-Flash-Steuereinheit (DFC_U) 217 empfängt die Anforderung von der Zufallszahlenerzeugungs-Einstellungsverwaltungseinheit (RSM_U) 216 und liest die Information bezüglich der Zufallszahlenerzeugung (RGD) aus dem sicheren Bereich 310 des Daten-Flash 300 (Schritt S112). Die Daten-Flash-Steuereinheit (DFC_U) 217 gibt die Information bezüglich der Zufallszahlenerzeugung (RGD) an die Zufallszahlenerzeugungs-Einstellungsverwaltungseinheit (RSM_U) 216 (Schritt 113). Die Zufallszahlenerzeugungs-Einstellungsverwaltungseinheit (RSM_U) 216 gibt die Information bezüglich der Zufallszahlenerzeugung (RGD) an die Zufallszahlen-Verwaltungseinheit (RNM_U) 214 zurück (Schritt S114). Hier ist die Information bezüglich der Zufallszahlenerzeugung (RGD) in dem ersten Beispiel die verbleibende Zufallszahlenmenge (RNDth), bei der die Zufallszahlenerzeugung gestartet wird.
  • Die Zufallszahlen-Verwaltungseinheit (RNM_U) 214 bestimmt, ob eine Zufallszahlenerzeugung notwendig ist oder nicht (Schritt S115). Wenn die Verschlüsselungsverarbeitungseinheit (ENC_U) 213 den Verschlüsselungsprozess unter Verwendung der Zufallszahl durchführt, werden die in dem sicheren RAM 220 gespeicherten Zufallszahlen verbraucht und die Zufallszahlenmenge nimmt ab. Die Zufallszahlen-Verwaltungseinheit (RNM_U) 214 bestimmt, ob eine Zufallszahlenerzeugung notwendig ist oder nicht durch Vergleichen der in dem sicheren RAM 220 gespeicherten Zufallszahlenmenge (verbleibende Zufallszahlenmenge) mit RNDth. Wenn die verbleibende Zufallszahlenmenge gleich oder kleiner als RNDth ist und bestimmt wird, dass die Zufallszahlenerzeugung notwendig ist, fordert die Zufallszahlen-Verwaltungseinheit (RNM_U) 214 die Zufallszahlenerzeugungs-Steuereinheit (RGC_U) 215 auf, Zufallszahlen zu erzeugen (Schritt S116). Die Zufallszahlenerzeugungs-Steuereinheit (RGC_U) 215 erzeugt Zufallszahlen durch den Zufallszahlengenerator 240 (Schritt S117). Die Zufallszahlenerzeugungs-Steuereinheit (RGC_U) 215 gibt die Zufallszahlen, die durch den Zufallszahlengenerator 240 erzeugt werden, an die Zufallszahlen-Verwaltungseinheit (RNM_U) 214 (Schritt S118). Die Zufallszahlen-Verwaltungseinheit (RNM_U) 214 speichert die akquirierten Zufallszahlen in dem sicheren RAM 220 (Schritt S119).
  • Die Vorteile des ersten Beispiels werden unter Bezugnahme auf 6 und 7 beschrieben.
  • Zuerst wird ein Vergleichsbeispiel beschrieben, um das erste Beispiel zu verdeutlichen. Wie in 7 gezeigt, in dem Vergleichsbeispiel, fordert die sichere CPU 210 nach dem Empfangen der Anforderung für einen Verschlüsselungsprozess von der CPU 100 die Zufallszahlenerzeugung an.
  • Das heißt, die CPU 100 fordert die sichere CPU 210 auf, den Verschlüsselungsprozess durchzuführen (Schritt S101). Die Sende-/Empfangseinheit (S/R_U) 212 empfängt die Anforderung von der CPU 100 und fordert die Verschlüsselungsverarbeitungseinheit (ENC_U) 213 auf, den Prozess durchzuführen (Schritt S102). Die Verschlüsselungsverarbeitungseinheit (ENC_U) 213 empfängt die Anforderung von der Sende-/Empfangseinheit (S/R_U) 212 und fordert die Zufallszahlen-Verwaltungseinheit (RNM_U) 214 auf, Zufallszahlen zu erzeugen (Schritt S103). Die Zufallszahlen-Verwaltungseinheit (RNM_U) 214 empfängt die Anforderung von der Verschlüsselungsverarbeitungseinheit (ENC_U) 213 und fordert die Zufallszahlenerzeugungs-Steuereinheit (RGC_U) 215 auf, Zufallszahlen zu erzeugen (Schritt S116).
  • Die Zufallszahlenerzeugungs-Steuereinheit (RGC_U) 215 erzeugt Zufallszahlen durch den Zufallszahlengenerator 240 (Schritt S117). Die Zufallszahlenerzeugungs-Steuereinheit (RGC_U) 215 gibt die Zufallszahlen, die durch den Zufallszahlengenerator 240 erzeugt werden, an die Zufallszahlen-Verwaltungseinheit (RNM_U) 214 (Schritt S118). Die Zufallszahlen-Verwaltungseinheit (RNM_U) 214 gibt die Zufallszahl an die Verschlüsselungsverarbeitungseinheit (ENC_U) 213 zurück (Schritt S105).
  • Andererseits bestimmt in dem ersten Beispiel, wie oben beschrieben, nach dem Verschlüsselungsprozess, die sichere CPU 210, ob Zufallszahlen zu erzeugen sind, und startet die Erzeugung von Zufallszahlen bei Bedarf. Das heißt, wie in 6 gezeigt, nach dem Schritt S106 bestimmt die Zufallszahlen-Verwaltungseinheit (RNM_U) 214, ob eine Zufallszahlenerzeugung notwendig ist oder nicht (Schritt S115), und wenn bestimmt wird, dass die Zufallszahlenerzeugung notwendig ist, fordert die Zufallszahlen-Verwaltungseinheit (RNM_U) 214 die Zufallszahlenerzeugungs-Steuereinheit (RGC_U) 215 auf, Zufallszahlen zu erzeugen (Schritt S116).
  • Wenn die sichere CPU 210 den Zufallszahlengenerator 240 auffordert, Zufallszahlen zu erzeugen, ohne auf die Anforderung zur Zufallszahlenerzeugung von der CPU 100 zu warten, wird die Zufallszahlenerzeugung von der CPU 100 aus betrachtet im Voraus gestartet. Somit kann die Zeit bis zu dem Abschluss des von der CPU 100 angeforderten Verschlüsselungsprozesses (die Zeit von dem Beginn des Schritts S101 bis zu dem Ende des Schritts S108) verkürzt werden. Unter der Annahme, dass die Zeit von dem Start von Schritt S101 bis zu dem Ende von Schritt S108, in 6 gezeigt, tA ist und die Zeit von dem Start von Schritt S101 bis zu dem Ende von Schritt S107, in 7 gezeigt, tB ist, ist tA kürzer als tB (tA < tB).
  • Zweites Beispiel
  • Als nächstes wird das zweite Beispiel beschrieben. In dem zweiten Beispiel speichert das sichere IP 200 Trigger- bzw. Auslösedaten (TRG), die angeben, ob die sichere CPU 210 oder die CPU 100 den Start der Zufallszahlenerzeugung anfordert, in dem sicheren Bereich 310 des Daten-Flash 300.
  • Der Prozess der Halbleitervorrichtung in dem zweiten Beispiel wird unter Bezugnahme auf 8 beschrieben.
  • In dem sicheren IP 200 in dem zweiten Beispiel ist es möglich, auszuwählen, ob die sichere CPU 210 die Zufallszahlenerzeugung bestimmt und hinsichtlich dieser den Zufallszahlengenerator 240 auffordert oder die Zufallszahlenerzeugung nach einem Warten auf die Anforderung von der CPU 100 durchgeführt wird. Das heißt, das sichere IP 200 ist konfiguriert, in der Lage zu sein, den Prozess des ersten Beispiels und den Prozess des Vergleichsbeispiels auszuwählen. Die Auslösedaten (TRG), die angeben, ob die sichere CPU 210 oder die CPU 100 den Start der Zufallszahlenerzeugung anfordert, sind in dem sicheren Bereich 310 des Daten-Flash 300 gespeichert. Die sichere CPU 210 liest die Auslösedaten (TRG) aus dem sicheren Bereich 310 des Daten-Flash 300 und startet die Zufallszahlenerzeugung gemäß den Auslösedaten (TRG). Hier sind die Auslösedaten (TRG) die Information bezüglich der Zufallszahlenerzeugung (RGD). Die Auslösedaten (TRG) werden in dem sicheren Bereich 310 des Daten-Flash 300 durch die in 5 gezeigte Sequenz gespeichert.
  • Bezüglich des Prozesses der Halbleitervorrichtung in dem zweiten Beispiel wird im Folgenden hauptsächlich der Unterschied zu dem ersten Beispiel beschrieben. Die Schritte S101 und S102 in dem zweiten Beispiel sind die gleichen wie die Schritte S101 und S102 in dem ersten Beispiel.
  • In dem zweiten Beispiel liest zu Beginn des Verschlüsselungsprozesses die Verschlüsselungsverarbeitungseinheit (ENC_U) 213 die Auslösedaten (TRG) aus dem sicheren Bereich 310 des Daten-Flash 300 über die Zufallszahlenerzeugungs-Einstellungsverwaltungseinheit (RSM_U) 216 und die Daten-Flash-Steuereinheit (DFC_U) 217. Nachfolgend werden die Auslösedaten (TRG) gesetzt.
  • Das heißt, die Verschlüsselungsverarbeitungseinheit (ENC_U) 213 fordert die Zufallszahlenerzeugungs-Einstellungsverwaltungseinheit (RSM_U) 216 auf, die Auslösedaten (TRG) zu akquirieren (Schritt S131). Die Zufallszahlenerzeugungs-Einstellungsverwaltungseinheit (RSM_U) 216 empfängt die Anforderung von der Verschlüsselungsverarbeitungseinheit (ENC_U) 213 und fordert die Daten-Flash-Steuereinheit (DFC_U) 217 auf, die Auslösedaten (TRG) zu akquirieren (Schritt S132). Die Daten-Flash-Steuereinheit (DFC_U) 217 empfängt die Anforderung von der Zufallszahlenerzeugungs-Einstellungsverwaltungseinheit (RSM_U) 216 und liest die Auslösedaten (TRG) aus dem sicheren Bereich 310 des Daten-Flash 300 (Schritt S133). Die Daten-Flash-Steuereinheit (DFC_U) 217 gibt die Auslösedaten (TRG) an die Zufallszahlenerzeugungs-Einstellungsverwaltungseinheit (RSM_U) 216 (Schritt S134). Die Zufallszahlenerzeugungs-Einstellungsverwaltungseinheit (RSM_U) 216 empfängt die Auslösedaten (TRG) und gibt die Auslösedaten (TRG) an die Verschlüsselungsverarbeitungseinheit (ENC_U) 213 (Schritt S135).
  • Wenn die Auslösedaten (TRG) angeben, dass die CPU 100 eine Zufallszahlenerzeugung (TRG = CPU) anfordert, führt die sichere CPU 210 den Prozess gemäß der Sequenz durch, die durch die Linie B mit abwechselnd langen und kurzen Strichen in 7 gezeigt wird. Wenn die Auslösedaten (TRG) angeben, dass die sichere CPU 210 die Zufallszahlenerzeugung (TRG = SIP) anfordert, führt die sichere CPU 210 den Prozess gemäß der Sequenz durch, die durch die Linie A mit abwechselnd langen und kurzen Strichen in 6 gezeigt wird.
  • Das Vergleichsbeispiel des ersten Beispiels hat das Problem, dass Zeit erforderlich ist, um den Verschlüsselungsprozess abzuschließen. Da andererseits die Zufallszahlenerzeugung in dem Verschlüsselungsprozess gestartet wird, ist die Zeit bis zum Abschluss des Verschlüsselungsprozesses von der CPU 100 aus betrachtet konstant. Wenn die Reaktionsleistung der Funktion konstant ist, wie oben beschrieben, kann die Gestaltung der Anwendung, die die Funktion verwendet, erleichtert werden.
  • In dem ersten Beispiel bestimmt und fordert die sichere CPU 210 die Zufallszahlenerzeugung an, und somit ändert sich die Abschlusszeit des Verschlüsselungsprozesses, von der CPU 100 aus betrachtet, abhängig von dem Fortschritt der Zufallszahlenerzeugung durch den Zufallszahlengenerator 240. Das heißt, wenn die CPU 100 den Verschlüsselungsprozess während der Zufallszahlenerzeugung durch den Zufallszahlengenerator 240 anfordert, wenn die erzeugten Zufallszahlen weniger als die für den Verschlüsselungsprozess erforderlichen Zufallszahlen sind, wird der Verschlüsselungsprozess nicht gestartet, bis der Zufallszahlengenerator die Erzeugung von Zufallszahlen abschließt. Dementsprechend variiert die Verarbeitungszeit in Abhängigkeit von dem Zeitpunkt, an dem die CPU 100 den Verschlüsselungsprozess anfordert. Daher kann sich die Abschlusszeit des Verschlüsselungsprozesses unbeabsichtigt ändern, von der CPU 100 aus betrachtet. Andererseits, wenn die sichere CPU 210 den Zufallszahlengenerator 240 zum Erzeugen von Zufallszahlen auffordert, ohne auf die Anforderung zur Zufallszahlenerzeugung von der CPU 100 zu warten, kann die Zufallszahlenerzeugung im Voraus gestartet werden, von der CPU 100 aus betrachtet. Es ist möglich, die Zeit zu verkürzen, die erforderlich ist, um den von der CPU 100 angeforderten Verschlüsselungsprozess abzuschließen.
  • In dem Fall, in dem die CPU 100 annimmt, dass das System, in dem die Reaktionszeit des Verschlüsselungsprozesses nicht konstant ist, als anormal betrachtet wird, wählt der Benutzer die CPU 100 als Anforderer (Auslöser) für eine Zufallszahlenerzeugung. Weiter in dem Fall, in dem die CPU 100 annimmt, dass das System, in dem die Reaktion so schnell wie möglich ist, erwartet wird, ohne Rücksicht auf die konstante Reaktionszeit des Verschlüsselungsprozesses, wählt der Benutzer die sichere CPU 210 als Anforderer zur Zufallszahlenerzeugung. Das heißt, in dem zweiten Beispiel kann die CPU 100 den Auslöser zum Starten der Zufallszahlenerzeugung auf den Zufallszahlengenerator 240 setzen. Als Ergebnis kann der Benutzer auswählen, welcher des oben erwähnten Vorteils und Nachteils für die Abschlusszeit des Verschlüsselungsprozesses je nach Situation zulässig ist.
  • Drittes Beispiel
  • Als nächstes wird das dritte Beispiel beschrieben. In dem dritten Beispiel ist die CPU 100 konfiguriert, in der Lage zu sein, um die Größe des Bereichs, der zum Halten von Zufallszahlen in dem sicheren RAM 220 des sicheren IP 200 reserviert ist, und die verbleibende Zufallszahlenmenge einzustellen, bei der die Zufallszahlenerzeugung gestartet wird. In dem ersten Beispiel ändert sich unbeabsichtigt die Verarbeitungszeit im Verhältnis zu der Zeit bis zu der Zufallszahlenerzeugung, der Verbrauchsmenge und der Häufigkeit von Verarbeitungsanforderungen. Dies liegt daran, da der Schwellenwert (RNDth) zum Bestimmen, ob die Zufallszahlenerzeugung gestartet werden soll, allein nicht den Fall bewältigen kann, in dem Verschlüsselungsprozesse unter Verwendung von Zufallszahlen sequentiell in kurzer Zeit angefordert werden. Die Operationszeit des Zufallszahlengenerators 240 ist im Allgemeinen zehnmal oder mehr länger als die des Verschlüsselungsprozesses. Wenn die Verschlüsselungsprozesse sequentiell in kurzer Zeit angefordert werden, ist es dementsprechend notwendig, Zufallszahlen in dem sicheren RAM 220 zu halten und sie von dort zu verbrauchen. Daher ist es notwendig, zu ermöglichen, nicht nur den RNDth einzustellen, sondern auch die Größe des Bereichs, der zum Halten von Zufallszahlen in dem sicheren RAM 220 reserviert ist.
  • Der Prozess der Halbleitervorrichtung in dem dritten Beispiel wird unter Bezugnahme auf 9 und 10 beschrieben.
  • Die sichere CPU 210 ist konfiguriert, in der Lage zu sein, um die Häufigkeit eines Auslösens der Zufallszahlenerzeugung und die Operationszeit des Zufallszahlengenerators 240 für den Zufallszahlengenerator 240 einzustellen. Das heißt, die CPU 100 kann die Größe des Bereichs, der zum Halten von Zufallszahlen in dem sicheren RAM 220 (RNDmax) reserviert ist, und die verbleibende Zufallszahlenmenge (RNDth), bei der die Zufallszahlenerzeugung gestartet wird, einstellen, die in dem ersten Beispiel fest sind. Hier sind RNDmax und RNDth die Information bezüglich der Zufallszahlenerzeugung (RGD). Das Verfahren zum Speichern der Information bezüglich der Zufallszahlenerzeugung (RGD) in dem sicheren Bereich 310 des Daten-Flash 300 ist die gleiche Sequenz wie die in 5 des ersten Beispiels.
  • Bezüglich des Prozesses der Halbleitervorrichtung in dem dritten Beispiel wird im Folgenden hauptsächlich der Unterschied zu dem ersten Beispiel beschrieben. Die Schritte S101 bis S119 in dem dritten Beispiel sind dieselben wie die Schritte S101 bis S119 in dem ersten Beispiel. Es gibt jedoch einen Unterschied bei der Information bezüglich der Zufallszahlenerzeugung (RGD), die in dem sicheren Bereich 310 des Daten-Flash 300 gespeichert ist.
  • Die Zufallszahlen-Verwaltungseinheit (RNM_U) 214 bestimmt, ob eine Zufallszahlenerzeugung notwendig ist oder nicht (Schritt S115). Wenn die Zufallszahlen-Verwaltungseinheit (RNM_U) 214 bestimmt, dass die Zufallszahlenmenge (verbleibende Zufallszahlenmenge), die in dem sicheren RAM 220 gespeichert ist, gleich oder kleiner als RNDth ist und die Zufallszahlenerzeugung notwendig ist, fordert die Zufallszahlen-Verwaltungseinheit (RNM_U) 214 die Zufallszahlenerzeugungs-Steuereinheit (RGC_U) 215 auf, Zufallszahlen zu erzeugen (Schritt S116). Die Zufallszahlenerzeugungs-Steuereinheit (RGC_U) 215 erzeugt die Zufallszahlen durch den Zufallszahlengenerator 240 (Schritt S117). Die Zufallszahlenerzeugungs-Steuereinheit (RGC_U) 215 gibt die Zufallszahlen, die durch den Zufallszahlengenerator 240 erzeugt werden, an die Zufallszahlen-Verwaltungseinheit (RNM_U) 214 (Schritt S118). Die Zufallszahlen-Verwaltungseinheit (RNM_U) speichert die akquirierten Zufallszahlen in dem sicheren RAM 220 (Schritt S119).
  • Wie oben beschrieben, ist die Information bezüglich der Zufallszahlenerzeugung (RGD), die durch die CPU 100 eingestellt und geändert werden kann, RNDmax und RNDth. Dann kann die CPU 100 den Zeitpunkt, an dem die sichere CPU 210 eine Zufallszahlenerzeugung anfordert, und die Operationszeit des Zufallszahlengenerators 240 durch Ändern der eingestellten Werte von RNDmax und RNDth steuern.
  • Im Folgenden wird die Anzahl von Implementierungen des Verschlüsselungsprozesses unter Verwendung von Zufallszahlen und der Zufallszahlenmenge in dem Zufallszahlenhaltebereich dargestellt, wie in 10 gezeigt. Wie in 10 gezeigt, ist der Zustand A ein Zustand, in dem der Zufallszahlengenerator 240 die Zufallszahlenerzeugung abgeschlossen hat, und die Zufallszahlenmenge in dem Zufallszahlenhaltebereich des sicheren RAM 220 ist RNDmax. Der Zustand B ist ein Zustand, in dem Zufallszahlen durch einen Verschlüsselungsprozess akquiriert (verbraucht) werden und die Zufallszahlenmenge in dem Zufallszahlenhaltebereich des sicheren RAM 220 ist kleiner als RNDmax. Der Zustand C ist ein Zustand, in dem die Zufallszahlenmenge in dem Zufallszahlenhaltebereich des sicheren RAM 220 gleich oder kleiner als RNDth ist, und die Zufallszahlen-Verwaltungseinheit (RNM_U) 214 fordert den Zufallszahlengenerator 240 auf, Zufallszahlen zu erzeugen.
  • Das dritte Beispiel löst das Problem des ersten Beispiels, dass sich die Abschlusszeit des Verschlüsselungsprozesses unter Verwendung von Zufallszahlen unbeabsichtigt ändern kann, wenn von der CPU 100 aus betrachtet, durch das Verfahren, das sich von dem des zweiten Beispiels unterscheidet. In dem dritten Beispiel stellt die CPU 100 die Häufigkeit und den Zeitpunkt des Betriebs des Zufallszahlengenerators 240 ein und die sichere CPU 210 bestimmt basierend auf der Einstellung, ob der Zufallszahlengenerator 240 betrieben werden soll. In anderen Worten, die CPU 100 kann die Zufallszahlen bei Bedarf durch die Einstellung vorbereiten, und der Verschlüsselungsprozess kann durchgeführt werden, ohne aufgrund des Zufallszahlengenerators 240 warten zu müssen.
  • In dem dritten Beispiel kann die CPU 100 die Bedingungen einstellen, bei denen die sichere CPU 210 den Zufallszahlengenerator betreibt, so dass die sichere CPU 210 den Verschlüsselungsprozess für die CPU 100 zur optimalen Zeit für die CPU 100 vorsehen kann.
  • Das Verfahren zum Auswählen der Einstellung der Zufallszahlenerzeugung für den Benutzer der CPU 100 und die Kriterien zum Auswählen der Einstellung von RNDmax und RNDth, die in dem Prozess der CPU 100 in dem dritten Beispiel angenommen werden, werden im Folgenden beschrieben.
  • Andere in dem Prozess der CPU 100 angenommene Parameter sind wie folgt.
  • Zufallszahlenmenge, die in einem Verschlüsselungsprozess verwendet wird: RNDdelta
    Zeit des Abschnitts, in dem Verschlüsselungsprozesse sequentiell angefordert werden (RQS): Treq
    Zeit des Abschnitts, in dem kein Verschlüsselungsprozess angefordert wird (NQS): Tnreq
    Intervall von Zyklen zum Anfordern des Prozesses in dem Abschnitt, in dem Verschlüsselungsprozesse sequentiell angefordert werden: Tperi
    Zeit, in der der Zufallszahlengenerator 240 Zufallszahlen für RNDdelta erzeugt: Trnddelta
    Zu diesem Zeitpunkt wird die Bedingung zum Verhindern der Erschöpfung der Zufallszahlen in dem Abschnitt, in dem die Verschlüsselungsprozesse angefordert werden (RQS), durch die folgende Gleichung (1) ausgedrückt. Treq/Tperi RNDdelta < RNDmax
    Figure DE102022206998A1_0001
  • Die Bedingung zum Nicht-Betreiben des Zufallszahlengenerators 240 in dem Abschnitt, in dem die Verschlüsselungsprozesse angefordert werden (RQS), wird durch die folgende Gleichung (2) ausgedrückt. Treq/Tperi RNDdelta < ( RNDmax RNDth )
    Figure DE102022206998A1_0002
  • Die Werte von Treq, Tnreq und Tperi werden durch die in dem Prozess der CPU 100 angenommene Operation bestimmt. Der Wert von Trnddelta wird durch die Leistung des Zufallszahlengenerators 240 des sicheren IP 200 bestimmt. Auf diese Weise können die eingestellten Werte von RNDmax und RNDth aus der in dem Prozess der CPU 100 angenommenen Operation bestimmt werden.
  • Als nächstes werden drei Typen von Fällen für den Prozess der CPU 100 angenommen und Einstellungsbeispiele für jeden Fall werden unter Bezugnahme auf 11 bis 13 beschrieben. Die schwarzen Dreiecke (Δ), die in 11 bis 13 gezeigt werden, geben den Zeitpunkt an, an dem der Verschlüsselungsprozess unter Verwendung von Zufallszahlen durchgeführt wird.
  • (Erster Fall)
  • Wie in 11 gezeigt, nimmt der Prozess der CPU 100 in dem ersten Fall an, dass der Abschnitt, in dem die Verschlüsselungsprozesse angefordert werden (RQS), und der Abschnitt, in dem der Verschlüsselungsprozess nicht angefordert wird (NQS), abwechselnd auftreten.
  • Die Bedingung zum Nicht-Betreiben des Zufallszahlengenerators 240 und zum Verhindern der Erschöpfung der Zufallszahlen in dem Abschnitt, in dem die Verschlüsselungsprozesse angefordert werden (RQS), wird durch die oben angeführte Gleichung (2) ausgedrückt.
  • Die Bedingung zum Abschließen der Zufallszahlenerzeugung in dem Abschnitt, in dem der Verschlüsselungsprozess nicht angefordert wird (NQS), wird durch die folgende Gleichung (3) ausgedrückt. Trnddelta * ( Treq/Tperi * RNDdelta ) < Tnreq
    Figure DE102022206998A1_0003
  • Durch Anpassen von RNDmax und RNDth, um die Bedingungen der Gleichungen (2) und (3) zu erfüllen, kann die CPU 100 den Verschlüsselungsprozess durchführen, ohne auf den Zeitpunkt der Zufallszahlenerzeugung zu warten. Da die Gleichung (3) weiter ein relationaler Ausdruck zwischen der Leistung der Zufallszahlenerzeugung und der Häufigkeit von Verarbeitungsanforderungen ist, wird sie verwendet, um zu bestimmen, ob die Leistung des sicheren IP 200 die Verarbeitungsannahme der CPU 100 erfüllen kann.
  • (Zweiter Fall)
  • Als nächstes, wie in 12 gezeigt, nimmt der Prozess der CPU 100 in dem zweiten Fall an, dass der Abschnitt, in dem die Verschlüsselungsprozesse angefordert werden (RQS), für die gesamte Periode andauert. Da die Anforderungen des Verschlüsselungsprozesses endlos fortgesetzt werden, ist es notwendig, Zufallszahlen in dem Intervall zwischen den Anforderungen des Verschlüsselungsprozesses zu erzeugen (Tperi).
  • Die Bedingung zum Sicherstellen der in dem Verschlüsselungsprozess verwendeten Zufallszahlenmenge muss die folgende Gleichung (4) erfüllen. RNDmax > RNDdelta
    Figure DE102022206998A1_0004
  • Die Anzahl von Anforderungen für den Verschlüsselungsprozess, bis die Zufallszahlenerzeugung durchgeführt wird, wird durch die folgende Gleichung (5) ausgedrückt. In 12 wird die Anzahl der Anforderungen als 1 dargestellt. ( RNDmax RNDth ) / RNDdelta
    Figure DE102022206998A1_0005
  • Da es notwendig ist, Zufallszahlen in dem Intervall zwischen den Anforderungen des Verschlüsselungsprozesses zu erzeugen (Tperi), wird die Bedingung der folgenden Gleichung (6) von der Gleichung (5) abgeleitet. Trnddelta * ( RNDmax RNDth ) / RNDdelta < Tperi
    Figure DE102022206998A1_0006
  • Durch Anpassen von RNDmax und RNDth unter der Bedingung, die die Gleichungen (4) und (6) erfüllt, kann die CPU 100 den Verschlüsselungsprozess durchführen, ohne auf den Zeitpunkt der Zufallszahlenerzeugung zu warten. Da weiter die Gleichungen (4) und (6) die Leistung der Zufallszahlenerzeugung und die Häufigkeit von Verarbeitungsanforderungen enthalten, wird auch gemeinsam bestimmt, ob die Leistung des sicheren IP 200 die Verarbeitungsannahme der CPU 100 erfüllen kann oder nicht.
  • (Dritter Fall)
  • Schließlich, wie in 13 gezeigt, nimmt der Prozess der CPU 100 in dem dritten Fall an, dass der Abschnitt, in dem die Verschlüsselungsprozesse in langen Intervallen angefordert werden (RQLS), und der Abschnitt, in dem die Verschlüsselungsprozesse in kurzen Intervallen angefordert werden (RQSS), abwechselnd auftreten.
  • Die Zeit des Abschnitts, in dem die Verschlüsselungsprozesse in langen Abständen angefordert werden (RQLS), ist als Treq(long) definiert, und die Zeit des Abschnitts, in dem die Verschlüsselungsprozesse in kurzen Abständen angefordert werden (RQSS), ist als Treq(short) definiert. Die Intervalle zwischen den Anforderungen des Verschlüsselungsprozesses in diesen Abschnitten sind als Tperi(long) bzw. Tperi(short) definiert.
  • Auch wird RNDth für den Abschnitt, in dem die Verschlüsselungsprozesse in langen Intervallen angefordert werden (RQLS), und den Abschnitt, in dem die Verschlüsselungsprozesse in kurzen Intervallen angefordert werden (RQSS), eingestellt und geändert. Die verbleibende Zufallszahlenmenge, bei der die Zufallszahlenerzeugung in dem Abschnitt gestartet wird, in dem die Verschlüsselungsprozesse in langen Intervallen angefordert werden (RQLS), wird als RNDth(long) definiert. Weiter wird die verbleibende Zufallszahlenmenge, bei der die Zufallszahlenerzeugung gestartet wird in dem Abschnitt, in dem die Verschlüsselungsprozesse in kurzen Abständen angefordert werden (RQSS), als RNDth(short) definiert. Die Änderungszeit zwischen dem Abschnitt, in dem die Verschlüsselungsprozesse in langen Abständen angefordert werden (RQLS), und dem Abschnitt, in dem die Verschlüsselungsprozesse in kurzen Abständen angefordert werden (RQSS), wird als Tchange definiert. Tchange ist die Zeit von der letzten Verarbeitungsanforderung in dem Abschnitt, in dem die Verschlüsselungsprozesse in langen Abständen angefordert werden (RQLS), bis zu der ersten Verarbeitungsanforderung in dem Abschnitt, in dem die Verschlüsselungsprozesse in kurzen Abständen angefordert werden (RQSS), und die Zeit von der letzten Verarbeitungsanforderung in dem Abschnitt RQSS bis zu der ersten Verarbeitungsanforderung in dem Abschnitt RQLS.
  • Die von RNDmax und RNDth zu erfüllenden Bedingungen in dem Abschnitt, in dem die Verschlüsselungsprozesse in langen Intervallen angefordert werden (RQLS), sind dieselben wie diejenigen der Gleichungen (4) und (6) in dem oben erwähnten zweiten Fall.
  • Da weiter die Verarbeitungsanforderung in kurzer Zeit in dem Abschnitt eintrifft, in dem die Verschlüsselungsprozesse in kurzen Intervallen angefordert werden (RQSS), ist es notwendig, den Betrieb des Zufallszahlengenerators 240 durch die Zufallszahlenmenge und die Erschöpfung der Zufallszahlen zu verhindern. Außerdem müssen die Zufallszahlen, die in dem Abschnitt verbraucht werden, in dem die Verschlüsselungsprozesse in kurzen Abständen angefordert werden (RQSS), während Tchange erzeugt werden, die die Zeit bis zu der nächsten Anforderung ist.
  • Die von RNDmax und RNDth zu erfüllenden Bedingungen in dem Abschnitt, in dem die Verschlüsselungsprozesse in kurzen Intervallen angefordert werden (RQSS), sind die folgenden Gleichungen (7) und (8). Treq ( short ) / Tperi ( short ) * RNDdelta < ( RNDmax RNDth ( short ) )
    Figure DE102022206998A1_0007
    Treq ( short ) / Tperi ( short ) * Trnddelta < Tchange
    Figure DE102022206998A1_0008
  • In dem Abschnitt, in dem die Verschlüsselungsprozesse in langen Intervallen angefordert werden (RQLS), werden RNDmax und RNDth unter der Bedingung angepasst, die die Gleichungen (4) und (6) erfüllt. Dann werden in dem Abschnitt, in dem die Verschlüsselungsprozesse in kurzen Intervallen angefordert werden (RQSS), RNDmax und RNDth unter der Bedingung eingestellt, die die Gleichungen (7) und (8) erfüllt. Als Ergebnis kann die CPU 100 den Verschlüsselungsprozess durchführen, ohne auf den Zeitpunkt der Zufallszahlenerzeugung zu warten. Da weiter die Gleichungen (7) und (8) die Leistung der Zufallszahlenerzeugung und die Häufigkeit von Verarbeitungsanforderungen enthalten, wird auch gemeinsam bestimmt, ob die Leistung des sicheren IP 200 die Verarbeitungsannahme der CPU 100 erfüllen kann oder nicht.
  • Im Obigen wurde die durch den Offenleger gemachte Offenbarung insbesondere basierend auf dem Ausführungsbeispiel und den Beispielen beschrieben, aber es versteht sich von selbst, dass diese Offenbarung nicht auf das Ausführungsbeispiel und die Beispiele, die oben beschrieben werden, beschränkt ist und innerhalb des Bereichs, der nicht vom Wesentlichen abweichend ist, vielfältig modifiziert werden kann.
  • 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
    • JP 2021130994 [0001]
    • JP 2018106628 [0005]

Claims (13)

  1. Eine Halbleitervorrichtung, die aufweist: eine erste Steuereinheit; eine zweite Steuereinheit; einen Zufallszahlengenerator, auf den von der zweiten Steuereinheit aus zugegriffen werden kann und auf den von der ersten Steuereinheit aus nicht zugegriffen werden kann; einen ersten Speicher, auf den von der zweiten Steuereinheit aus zugegriffen werden kann und auf den von der ersten Steuereinheit aus nicht zugegriffen werden kann, und in dem von dem Zufallszahlengenerator erzeugte Zufallszahlen gespeichert sind; eine Verschlüsselungsmaschine, die konfiguriert ist, Verschlüsselungs- und Entschlüsselungsprozesse unter Verwendung der in dem ersten Speicher gespeicherten Zufallszahlen durchzuführen; und einen zweiten Speicher, auf den von der zweiten Steuereinheit aus zugegriffen werden kann und auf den von der ersten Steuereinheit aus nicht zugegriffen werden kann und in dem Information bezüglich der Zufallszahlenerzeugung gespeichert ist, wobei die zweite Steuereinheit konfiguriert ist, die Zufallszahlen durch den Zufallszahlengenerator basierend auf der Information bezüglich der Zufallszahlenerzeugung zu erzeugen.
  2. Die Halbleitervorrichtung gemäß Anspruch 1, wobei die zweite Steuereinheit konfiguriert ist, die Information bezüglich der Zufallszahlenerzeugung in den zweiten Speicher einzustellen, wenn es eine Einstellungsanforderung für die Information bezüglich der Zufallszahlenerzeugung von der ersten Steuereinheit in den zweiten Speicher gibt und eine Authentifizierung erfolgreich ist.
  3. Die Halbleitervorrichtung gemäß Anspruch 1 oder 2, wobei die zweite Steuereinheit konfiguriert ist, den Zufallszahlengenerator zum Erzeugen von Zufallszahlen basierend auf einer verwendbaren Zufallszahlenmenge, die in dem ersten Speicher gespeichert ist, aufzufordern.
  4. Die Halbleitervorrichtung gemäß Anspruch 3, wobei die Information bezüglich der Zufallszahlenerzeugung eine verbleibende Zufallszahlenmenge ist, bei der die Zufallszahlenerzeugung des Zufallszahlengenerators gestartet wird, und wobei die zweite Steuereinheit konfiguriert ist, den Zufallszahlengenerator zum Erzeugen von Zufallszahlen basierend auf der verwendbaren Zufallszahlenmenge, die in dem ersten Speicher gespeichert ist, und der Information bezüglich der Zufallszahlenerzeugung aufzufordern.
  5. Die Halbleitervorrichtung gemäß Anspruch 3 oder 4, wobei die zweite Steuereinheit konfiguriert ist, auszuwählen, ob der Zufallszahlengenerator zum Erzeugen von Zufallszahlen aufzufordern ist durch eine Anforderung von der ersten Steuereinheit basierend auf der Information bezüglich der Zufallszahlenerzeugung oder ob der Zufallszahlengenerator zum Erzeugen von Zufallszahlen aufzufordern ist basierend auf der in dem ersten Speicher gespeicherten verwendbaren Zufallszahlenmenge.
  6. Die Halbleitervorrichtung gemäß einem der Ansprüche 1 bis 3, wobei die zweite Steuereinheit konfiguriert ist, eine Häufigkeit eines Auslösens des Zufallszahlengenerators zum Erzeugen von Zufallszahlen und eine Betriebszeit des Zufallszahlengenerators basierend auf der Information bezüglich der Zufallszahlenerzeugung einzustellen.
  7. Die Halbleitervorrichtung gemäß Anspruch 6, wobei die Information bezüglich der Zufallszahlenerzeugung eine Größe eines Bereichs ist, der zum Halten von Zufallszahlen in dem ersten Speicher reserviert ist, und eine verbleibende Zufallszahlenmenge, bei der die Zufallszahlenerzeugung des Zufallszahlengenerators gestartet wird.
  8. Die Halbleitervorrichtung gemäß einem der Ansprüche 1 bis 7, wobei die erste Steuereinheit aus einer ersten zentralen Prozessoreinheit und einem dritten Speicher besteht, in dem ein von der ersten zentralen Prozessoreinheit ausgeführtes Programm gespeichert ist, und wobei die zweite Steuereinheit aus einer zweiten zentrale Prozessoreinheit und dem zweiten Speicher besteht, in dem ein von der zweiten zentralen Prozessoreinheit ausgeführtes Programm gespeichert ist.
  9. Ein Verfahren zum Erzeugen einer Zufallszahl, das aufweist: Durchführen eines Verschlüsselungsprozesses unter Verwendung von Zufallszahlen, die in einem ersten Speicher gespeichert sind, in Reaktion auf eine Anforderung des Verschlüsselungsprozesses; Auffordern eines Zufallszahlengenerators zum Erzeugen von Zufallszahlen basierend auf Information bezüglich der Zufallszahlenerzeugung, die in einem zweiten Speicher gespeichert ist; und Speichern der von dem Zufallszahlengenerator erzeugten Zufallszahlen in dem ersten Speicher.
  10. Das Verfahren zur Erzeugung der Zufallszahl gemäß Anspruch 9, wobei die Zufallszahlen durch den Zufallszahlengenerator basierend auf einer verwendbaren Zufallszahlenmenge, die in dem ersten Speicher gespeichert ist, und der Information bezüglich der Zufallszahlenerzeugung, die in dem zweiten Speicher gespeichert ist, erzeugt werden.
  11. Das Verfahren zur Erzeugung der Zufallszahl gemäß Anspruch 10, wobei die Information bezüglich der Zufallszahlenerzeugung eine verbleibende Zufallszahlenmenge ist, bei der die Zufallszahlenerzeugung des Zufallszahlengenerators gestartet wird.
  12. Das Verfahren zur Erzeugung der Zufallszahl gemäß Anspruch 10, wobei die Information bezüglich der Zufallszahlenerzeugung eine Größe eines Bereichs, der zum Halten von Zufallszahlen in dem ersten Speicher reserviert ist, und eine verbleibende Zufallszahlenmenge ist, bei der die Zufallszahlenerzeugung des Zufallszahlengenerators gestartet wird.
  13. Das Verfahren zur Erzeugung der Zufallszahl gemäß einem der Ansprüche 9 bis 12, wobei die Information bezüglich der Zufallszahlenerzeugung in den zweiten Speicher eingestellt wird, wenn es eine Einstellungsanforderung für die Information bezüglich der Zufallszahlenerzeugung an den zweiten Speicher gibt und eine Authentifizierung erfolgreich ist.
DE102022206998.6A 2021-08-10 2022-07-08 Halbleitervorrichtung und verfahren zur erzeugung von zufallszahlen Pending DE102022206998A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-130994 2021-08-10
JP2021130994A JP2023025621A (ja) 2021-08-10 2021-08-10 半導体装置および乱数の生成方法

Publications (1)

Publication Number Publication Date
DE102022206998A1 true DE102022206998A1 (de) 2023-02-16

Family

ID=85039936

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022206998.6A Pending DE102022206998A1 (de) 2021-08-10 2022-07-08 Halbleitervorrichtung und verfahren zur erzeugung von zufallszahlen

Country Status (5)

Country Link
US (1) US20230048922A1 (de)
JP (1) JP2023025621A (de)
KR (1) KR20230023580A (de)
CN (1) CN115705433A (de)
DE (1) DE102022206998A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018106628A (ja) 2016-12-28 2018-07-05 ルネサスエレクトロニクス株式会社 半導体装置、セキュリティ処理実行装置、及びセキュリティ処理実行方法
JP2021130994A (ja) 2020-02-21 2021-09-09 株式会社デンソーウェーブ 施解錠装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018106628A (ja) 2016-12-28 2018-07-05 ルネサスエレクトロニクス株式会社 半導体装置、セキュリティ処理実行装置、及びセキュリティ処理実行方法
JP2021130994A (ja) 2020-02-21 2021-09-09 株式会社デンソーウェーブ 施解錠装置

Also Published As

Publication number Publication date
CN115705433A (zh) 2023-02-17
US20230048922A1 (en) 2023-02-16
JP2023025621A (ja) 2023-02-22
KR20230023580A (ko) 2023-02-17

Similar Documents

Publication Publication Date Title
EP2930610B1 (de) Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen
EP2899714B1 (de) Gesichertes Bereitstellen eines Schlüssels
DE102017125826A1 (de) Nachrichtenauthentifizierung über controller area network
DE112012003795B4 (de) Verfahren und system für eine fahrzeug-information-integritätsverifikation
DE112017007755B4 (de) Schlüsselverwaltungsvorrichtung und kommunikationsgerät
DE102018125585A1 (de) Speichervorrichtung, die sicheres Debugging durchführt, und Passwort-Authentifizierungsverfahren dafür
DE102016210788A1 (de) Komponente zur Verarbeitung eines schützenswerten Datums und Verfahren zur Umsetzung einer Sicherheitsfunktion zum Schutz eines schützenswerten Datums in einer solchen Komponente
EP3811260B1 (de) Kryptografiemodul und betriebsverfahren hierfür
DE102009039441B4 (de) Verfahren und Systeme zum Bereitstellen von Kommunikationen zwischen einem Batterieladegerät und einer Batteriesteuereinheit für ein Hybridfahrzeug
DE102008054354A1 (de) Sichere Codierung von Spannungsdaten vieler Zellen bei Hybridfahrzeugen
DE102022206998A1 (de) Halbleitervorrichtung und verfahren zur erzeugung von zufallszahlen
DE102018208066A1 (de) Datenverarbeitungseinrichtung und Betriebsverfahren hierfür
DE102020117552A1 (de) Sichere hybrid-boot-systeme und sichere boot-verfahren für hybridsysteme
EP3963490B1 (de) Verfahren und vorrichtung zum übertragen eines boot-codes mit verbesserter datensicherheit
EP3819804A1 (de) Integritätsüberprüfung eines registerinhalts
DE102018221954A1 (de) Recheneinrichtung und Verfahren zum Betreiben einer Recheneinrichtung
DE102021000645B3 (de) Verfahren zur Überprüfung von kryptografischen Geheimnissen auf Gleichheit
DE102019212188A1 (de) Datenstruktur, Steuerungssystem zum Einlesen einer solchen Datenstruktur, Fahrerassistenzsystem und Verfahren
EP3439228B1 (de) Verfahren und vorrichtungen zum erreichen einer sicherheitsfunktion, insbesondere im umfeld einer geräte- und/oder anlagensteuerung
DE102021102574A1 (de) Steuerungssystem und Servervorrichtung
DE102022207910A1 (de) Verfahren und Vorrichtung zum Verarbeiten von mit einem Hardware-Sicherheitsmodul assoziierten Daten
DE102023129117A1 (de) Übertragung von authentifizierungsschlüsseln
DE102023112018A1 (de) Fahrzeugnetzwerk-hashing
DE102023109180A1 (de) Elektronische steuerungsvorrichtung
DE102022202998A1 (de) Verfahren zum abgesicherten Starten einer Recheneinheit

Legal Events

Date Code Title Description
R012 Request for examination validly filed