DE102020207614A1 - Recheneinrichtung und Betriebsverfahren hierfür - Google Patents

Recheneinrichtung und Betriebsverfahren hierfür Download PDF

Info

Publication number
DE102020207614A1
DE102020207614A1 DE102020207614.6A DE102020207614A DE102020207614A1 DE 102020207614 A1 DE102020207614 A1 DE 102020207614A1 DE 102020207614 A DE102020207614 A DE 102020207614A DE 102020207614 A1 DE102020207614 A1 DE 102020207614A1
Authority
DE
Germany
Prior art keywords
computing device
hsm
memory
computing
exemplary embodiments
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
DE102020207614.6A
Other languages
English (en)
Inventor
Stefan Heinrich
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102020207614.6A priority Critical patent/DE102020207614A1/de
Publication of DE102020207614A1 publication Critical patent/DE102020207614A1/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/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

Verfahren zum Betreiben einer wenigstens einen Rechenkern aufweisenden Recheneinrichtung, aufweisend: Ermitteln von ersten Informationen, die wenigstens einen zu überprüfenden Speicherbereich einer Speichereinrichtung charakterisieren, auf die die Recheneinrichtung zugreifen kann, Überprüfen des wenigstens einen zu überprüfenden Speicherbereichs basierend auf den ersten Informationen unter Verwendung des wenigstens einen Rechenkerns.

Description

  • Stand der Technik
  • Beispielhafte Ausführungsformen beziehen sich auf ein Verfahren zum Betreiben einer wenigstens einen Rechenkern aufweisenden Recheneinrichtung.
  • Weitere beispielhafte Ausführungsformen beziehen sich auf eine wenigstens einen Rechenkern aufweisende Recheneinrichtung.
  • Offenbarung der Erfindung
  • Beispielhafte Ausführungsformen beziehen sich auf ein Verfahren zum Betreiben einer wenigstens einen Rechenkern aufweisenden Recheneinrichtung, aufweisend: Ermitteln von ersten Informationen, die wenigstens einen zu überprüfenden Speicherbereich einer Speichereinrichtung charakterisieren, auf die die Recheneinrichtung zugreifen kann, Überprüfen des wenigstens eines zu überprüfenden Speicherbereichs basierend auf den ersten Informationen unter Verwendung des wenigstens einen Rechenkerns. Dies ermöglicht eine effiziente Überprüfung des Speicherbereichs, z.B. um Manipulationen oder sonstige an sich unerwünschte Änderungen (z.B. Bitfehler) ermitteln zu können.
  • Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass die Recheneinrichtung mehrere Rechenkerne aufweist, wobei das Verfahren weiter aufweist: zumindest zeitweises Verwenden von wenigstens zwei, insbesondere allen, der mehreren Rechenkerne der Recheneinrichtung für das Überprüfen. Dadurch kann das Überprüfen weiter beschleunigt werden.
  • Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass der wenigstens eine zu überprüfende Speicherbereich zeitlich überlappend und/oder gleichzeitig mittels der mehreren, insbesondere mittels aller, Rechenkerne der Recheneinrichtung überprüft wird. Dadurch kann sich bei beispielhaften Ausführungsformen zumindest zeitweise eine Parallelisierung ergeben, die das Überprüfen weiter beschleunigt.
  • Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass die Recheneinrichtung ein, vorzugsweise integriertes, Hardware-Sicherheitsmodul aufweist, wobei das Hardware-Sicherheitsmodul zumindest zeitweise auch für das Überprüfen verwendet wird. Das Hardware-Sicherheitsmodul ist bei weiteren beispielhaften Ausführungsformen z.B. vorgesehen zur Ausführung von kryptografischen Verfahren wie z.B. einer Verschlüsselung und/oder Entschlüsselung und/oder Bildung von Signaturen und/oder Hashwerten und/oder zur Speicherung von Daten, die z.B. zur Ausführung kryptografischer Verfahren nutzbar sind, z.B. zur Speicherung privater Schlüssel.
  • Das Hardware-Sicherheitsmodul ist bei weiteren beispielhaften Ausführungsformen in die Recheneinrichtung integriert, also z.B. auf einem selben Substrat angeordnet wie der bzw. die Rechenkerne der Recheneinrichtung. Bei weiteren beispielhaften Ausführungsformen ist auch ein nicht in die Recheneinrichtung integriertes Hardware-Sicherheitsmodul denkbar.
  • Bei weiteren beispielhaften Ausführungsformen ist der Recheneinrichtung eine Speichereinrichtung zugeordnet, auf die der wenigstens eine Rechenkern zugreifen kann (z.B. lesend und/oder schreibend).
  • Bei weiteren beispielhaften Ausführungsformen weist die Speichereinrichtung einen flüchtigen Speicher, z.B. Arbeitsspeicher (RAM), auf.
  • Bei weiteren beispielhaften Ausführungsformen weist die Speichereinrichtung einen nichtflüchtigen Speicher, z.B. Flash-EEPROM, auf.
  • Bei weiteren beispielhaften Ausführungsformen weist die Speichereinrichtung einen flüchtigen Speicher und einen nichtflüchtigen Speicher auf.
  • Bei weiteren beispielhaften Ausführungsformen können in dem flüchtigen Speicher z.B. Daten gespeichert sein, die während eines Betriebs der Vorrichtung verarbeitet werden. Bei weiteren beispielhaften Ausführungsformen können in dem nichtflüchtigen Speicher z.B. ein oder mehrere Computerprogramme PRG gespeichert sein, die durch den wenigstens einen Rechenkern ausführbar sind.
  • Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Überprüfen wenigstens eines der folgenden Elemente aufweist: a) Verwenden einer Hashfunktion, insbesondere einer kryptografisch sicheren (also insbesondere kollisionsresistenten) Hashfunktion, z.B. vom Typ SHA-256, b) Verwenden einer Blockchiffre, insbesondere einer Blockchiffre vom AES (Advanced Encryption Standard)-Typ.
  • Bei weiteren beispielhaften Ausführungsformen kann z.B. für den zu überprüfenden Speicherbereich wenigstens ein Hashwert mittels der Hashfunktion gebildet werden, der z.B. mit einem Referenz-Hashwert vergleichbar ist. Bei weiteren beispielhaften Ausführungsformen kann z.B. der Referenz-Hashwert in einer gesicherten Umgebung, z.B. bei der Fertigung der Recheneinrichtung bzw. des Hardware-Sicherheitsmoduls, erzeugt und bevorzugt nichtflüchtig gespeichert werden, z.B. für einen zukünftigen Vergleich mit wenigstens einem aktuell für den zu überprüfenden Speicherbereich gebildeten Hashwert. Sofern die beiden Hashwerte übereinstimmen, kann bei weiteren beispielhaften Ausführungsformen darauf geschlossen werden, dass der zu überprüfende Speicherbereich bzw. sein Dateninhalt nicht verändert worden ist. Sofern die beiden Hashwerte nicht übereinstimmen, kann bei weiteren beispielhaften Ausführungsformen darauf geschlossen werden, dass der zu überprüfende Speicherbereich bzw. sein Dateninhalt verändert worden ist.
  • Bei weiteren beispielhaften Ausführungsformen können ein oder mehrere Referenz-Hashwerte in einem optional vorhandenen Hardware-Sicherheitsmodul gespeichert sein und/oder durch das optionale Hardware-Sicherheitsmodul z.B. wenigstens einem Rechenkern der Recheneinrichtung zur Verfügung gestellt werden, z.B. durch Schreiben des bzw. der betreffenden Daten in einen Speicherbereich, auf den (auch) der Rechenkern zugreifen kann.
  • Bei weiteren beispielhaften Ausführungsformen können ein oder mehrere Referenz-Hashwerte auch einen Teil der ersten Informationen bilden.
  • Bei weiteren beispielhaften Ausführungsformen können die ersten Informationen einen oder mehrere zu überprüfende Speicherbereiche charakterisieren, beispielweise durch Angabe wenigstens einer Startadresse und einer Endadresse oder einer Bereichsgröße.
  • Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Ermitteln und/oder das Überprüfen durch einen Bootloader und/oder einen Bootmanager für die Recheneinrichtung ausgeführt wird. Der Bootloader bzw. Bootmanager ist bei weiteren beispielhaften Ausführungsformen z.B. dazu ausgebildet, ein Betriebssystem und/oder Anwendungsprogramm für die Recheneinrichtung zu laden bzw. zu starten und kann, bei weiteren beispielhaften Ausführungsformen, z.B. das Verfahren gemäß beispielhaften Ausführungsformen bzw. wenigstens ein oder mehrere Schritte hiervon ausführen. Bei weiteren beispielhaften Ausführungsformen wird zunächst eine Überprüfung des wenigstens einen Speicherbereichs, vorzugsweise mehrerer oder aller Speicherbereiche, der Speichereinrichtung, vorgenommen, und erst nach erfolgreicher Prüfung (keine Manipulation bzw. Änderung ermittelt) wird das Betriebssystem und/oder wenigstens ein Anwendungsprogramm für die Recheneinrichtung mittels des Bootloaders geladen.
  • Dadurch kann bei weiteren beispielhaften Ausführungsformen z.B. ein sog. Secure-Boot Prinzip umgesetzt werden. Insbesondere ist die Überprüfung gemäß beispielhaften Ausführungsformen durch mehrere Rechenkerne parallel ausführbar und damit gegenüber konventionellen Ansätzen beschleunigbar.
  • Bei weiteren beispielhaften Ausführungsformen repräsentiert der Bootmanager einen ausführbaren Programmcode, der dazu ausgebildet ist, andere ausführbare Programme wie z.B. Anwendungsprogramme zu starten bzw. zur Ausführung zu bringen.
  • Bei weiteren beispielhaften Ausführungsformen repräsentiert der Bootloader einen ausführbaren Programmcode, der dazu ausgebildet ist, Updates zu ermöglichen, insbesondere z.B. ein (erneutes) Programmieren eines wiederbeschreibbaren Speicherbereichs zu ermöglichen bzw. auszuführen.
  • Bei weiteren beispielhaften Ausführungsformen kann auch ein ausführbarer Programmcode vorgesehen sein, der die beiden vorstehend genannten Funktionalitäten in sich vereint, mithin dazu ausgebildet ist, andere ausführbare Programme wie z.B. Anwendungsprogramme zu starten bzw. zur Ausführung zu bringen und Updates zu ermöglichen, insbesondere z.B. ein (erneutes) Programmieren eines wiederbeschreibbaren Speicherbereichs zu ermöglichen bzw. auszuführen.
  • Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Ermitteln der ersten Informationen wenigstens eines der folgenden Elemente aufweist: a) Empfangen der ersten Informationen, insbesondere von einem Rechenkern und/oder einem Hardware-Sicherheitsmodul, b) Lesen der ersten Informationen aus einem Speicher, insbesondere einem optionalen einmalig programmierbaren (OTP, one time programmable) Speicher oder einem Arbeitsspeicher, c) Ermitteln der ersten Informationen basierend auf dem Bootloader.
  • Bei weiteren beispielhaften Ausführungsformen kann beispielsweise ein bzw. das Hardware-Sicherheitsmodul die ersten Informationen in den Arbeitsspeicher schreiben und damit dem wenigstens einen Rechenkern der Recheneinrichtung zur Verfügung stellen.
  • Bei weiteren beispielhaften Ausführungsformen kann beispielsweise zumindest ein Teil der ersten Informationen in dem Bootloader enthalten sein, d.h. z.B. einen Teil des Programmcodes des Bootloaders bzw. seiner Daten bilden.
  • Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass ein Ergebnis bzw. Ergebnisse der Überprüfung einem oder dem Hardware-Sicherheitsmodul übermittelt werden. Beispielsweise kann das Hardware-Sicherheitsmodul bei weiteren beispielhaften Ausführungsformen dazu ausgebildet sein, einzelne Prüfergebnisse von z.B. parallel oder zumindest teilweise zeitlich überlappenden Prüfungen durch mehrere Rechenkerne (und/oder das Hardware-Sicherheitsmodul selbst) zu sammeln und basierend darauf ein Gesamtergebnis zu ermitteln. Alternativ oder ergänzend kann bei weiteren beispielhaften Ausführungsformen die Recheneinrichtung bzw. ein Rechenkern einzelne Prüfergebnisse von z.B. parallel oder zumindest teilweise zeitlich überlappenden Prüfungen durch mehrere Rechenkerne (und/oder das Hardware-Sicherheitsmodul selbst) sammeln und basierend darauf ein Gesamtergebnis ermitteln.
  • Weitere beispielhafte Ausführungsformen beziehen sich auf eine Recheneinrichtung mit wenigstens einem Rechenkern, wobei die Recheneinrichtung zur Ausführung des Verfahrens gemäß den Ausführungsformen ausgebildet ist.
  • Weitere beispielhafte Ausführungsformen beziehen sich auf ein Verfahren zum Betreiben eines Hardware-Sicherheitsmoduls für eine Recheneinrichtung insbesondere für eine Recheneinrichtung gemäß den Ausführungsformen, aufweisend die folgenden Schritte: Bereitstellen von ersten Informationen, die wenigstens einen zu überprüfenden Speicherbereich einer Speichereinrichtung charakterisieren, auf die die Recheneinrichtung zugreifen kann.
  • Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Bereitstellen aufweist: Schreiben der ersten Informationen in einen Speicher, insbesondere einen flüchtigen Speicher, insbesondere Arbeitsspeicher, der Recheneinrichtung.
  • Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren weiter aufweist: Überprüfen wenigstens eines Speicherbereichs der Speichereinrichtung, insbesondere zumindest zeitweise überlappend oder gleichzeitig zu einer Überprüfung des wenigstens einen zu überprüfenden Speicherbereichs der Speichereinrichtung durch wenigstens einen Rechenkern der Recheneinrichtung. Dadurch kann das Hardware-Sicherheitsmodul optional ebenfalls für die Überprüfung herangezogen werden, wodurch die Leistung weiter gesteigert wird. Insbesondere sind bei weiteren bevorzugten Ausführungsformen somit alle Rechenkerne bzw. Hardware-Sicherheitsmodule, vorzugsweise gleichzeitig oder zumindest zeitlich überlappend, für die Überprüfung nutzbar.
  • Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren weiter aufweist: Empfangen eines Ergebnisses bzw. von Ergebnissen der Überprüfung des wenigstens einen zu überprüfenden Speicherbereichs der Speichereinrichtung durch wenigstens einen Rechenkern der Recheneinrichtung.
  • Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren weiter aufweist: Ermitteln, basierend auf dem Überprüfen bzw. den dabei erhaltenen Ergebnissen, ob ein Computerprogramm, insbesondere ein Betriebssystem und/oder ein Anwendungsprogramm, durch die Recheneinrichtung ausgeführt werden soll. Dies kann z.B. dann der Fall sein, wenn die Überprüfung ergeben hat, dass keine Manipulation des Speicherbereichs, in dem das Computerprogramm gespeichert ist, vorliegt, wohingegen optional dann, wenn eine Manipulation des Speicherbereichs, in dem das Computerprogramm gespeichert ist, vorliegt, eine Fehlerreaktion eingeleitet werden kann.
  • Bei weiteren beispielhaften Ausführungsformen kann die Fehlerreaktion z.B. ein Deaktivieren der Recheneinrichtung bzw. der Vorrichtung aufweisen, oder das Vorsehen bzw. verwenden eines Backup-Bootloaders, oder das Neuprogrammieren des Computerprogramms bzw. das Beschreiben des Speicherbereichs mit neuen, nicht manipulierten Daten bzw. Programmen.
  • Weitere beispielhafte Ausführungsformen beziehen sich auf ein Hardware-Sicherheitsmodul für eine Recheneinrichtung, insbesondere für eine Recheneinrichtung gemäß den Ausführungsformen, wobei das Hardware-Sicherheitsmodul zur Ausführung des Verfahrens gemäß den Ausführungsformen ausgebildet ist.
  • Weitere beispielhafte Ausführungsformen beziehen sich auf eine Vorrichtung, insbesondere Steuergerät, insbesondere für ein Fahrzeug, insbesondere Kraftfahrzeug, mit wenigstens einer Recheneinrichtung gemäß den Ausführungsformen und/oder mit wenigstens einem Hardware-Sicherheitsmodul gemäß den Ausführungsformen.
  • Weitere beispielhafte Ausführungsformen beziehen sich auf ein computerlesbares Speichermedium, umfassend Befehle, die bei der Ausführung durch einen Computer diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.
  • Weitere beispielhafte Ausführungsformen beziehen sich auf ein Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.
  • Weitere beispielhafte Ausführungsformen beziehen sich auf ein Datenträgersignal, das das Computerprogramm gemäß den Ausführungsformen überträgt und/oder charakterisiert. Das Datenträgersignal kann der Recheneinrichtung bzw. der Vorrichtung über eine, z.B. bidirektionale, Datenschnittstelle übermittelt werden.
  • Weitere beispielhafte Ausführungsformen beziehen sich auf eine Verwendung des Verfahrens gemäß den Ausführungsformen und/oder der Recheneinrichtung gemäß den Ausführungsformen und/oder des Hardware-Sicherheitsmoduls gemäß den Ausführungsformen und/oder der Vorrichtung gemäß den Ausführungsformen und/oder des computerlesbaren Speichermediums gemäß den Ausführungsformen und/oder des Computerprogramms gemäß den Ausführungsformen und/oder des Datenträgersignals gemäß den Ausführungsformen für wenigstens eines der folgenden Elemente: a) Überprüfen wenigstens eines Speicherbereichs einer Speichereinrichtung, auf die die Recheneinrichtung zugreifen kann, b) Beschleunigen und/oder Parallelisieren des Überprüfens des wenigstens eines Speicherbereichs der Speichereinrichtung, c) Ermitteln einer Manipulation des wenigstens eines Speicherbereichs.
  • Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile beispielhafter Ausführungsformen ergeben sich aus der nachfolgenden Beschreibung unter Bezugnahme auf die Figuren der Zeichnung. Dabei bilden alle beschriebenen oder dargestellten Merkmale für sich oder in beliebiger Kombination den Gegenstand beispielhafter Ausführungsformen, unabhängig von ihrer Zusammenfassung in den Ansprüchen oder deren Rückbeziehung sowie unabhängig von ihrer Formulierung bzw. Darstellung in der Beschreibung bzw. in der Zeichnung.
  • In der Zeichnung zeigt:
    • 1 schematisch ein vereinfachtes Blockdiagramm einer Recheneinrichtung gemäß beispielhaften Ausführungsformen,
    • 2 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen,
    • 3A schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen,
    • 3B schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen,
    • 3C schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen,
    • 4 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen,
    • 5 schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen, und
    • 6 schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen.
  • 1 zeigt schematisch ein vereinfachtes Blockdiagramm einer Recheneinrichtung 102 gemäß beispielhaften Ausführungsformen. Die Recheneinrichtung 102 weist wenigstens einen Rechenkern 102a, vorliegend beispielhaft vier Rechenkerne 102a, 102b, 102c, 102d, auf. Beispielsweise ist wenigstens einer der Rechenkerne 102a, 102b, 102c, 102d zur Ausführung wenigstens eines Computerprogramms PRG ausgebildet.
  • Bei weiteren beispielhaften Ausführungsformen kann die Recheneinrichtung 102 z.B. in einem Zielsystem 100 verwendet werden, vgl. auch 2, bei dem es sich z.B. um ein Steuergerät 100, z.B. für eine Brennkraftmaschine 10 eines Kraftfahrzeugs 1 handelt. Bei weiteren beispielhaften Ausführungsformen ist das wenigstens eine Computerprogramm PRG dazu ausgebildet, einen Betrieb der Brennkraftmaschine 10 zu steuern und/oder zu regeln.
  • Bei weiteren beispielhaften Ausführungsformen kann die Recheneinrichtung 102 (1) auch ein, vorzugsweise integriertes, Hardware-Sicherheitsmodul HSM' aufweisen, das z.B. auf einem selben Substrat (nicht gezeigt) angeordnet ist wie die Rechenkerne 102a, 102b, 102c, 102d.
  • Weitere beispielhafte Ausführungsformen, vgl. das Flussdiagramm gemäß 3A, beziehen sich auf ein Verfahren zum Betreiben einer wenigstens einen Rechenkern 102a aufweisenden Recheneinrichtung 102, aufweisend: Ermitteln 200 von ersten Informationen 11, die wenigstens einen zu überprüfenden Speicherbereich SB1, SB2, SB3 (1) einer Speichereinrichtung 104 charakterisieren, auf die die Recheneinrichtung 102 zugreifen kann, Überprüfen 202 (3A) des wenigstens einen zu überprüfenden Speicherbereichs SB1, SB2, SB3 basierend auf den ersten Informationen I1 unter Verwendung des wenigstens einen Rechenkerns 102a. Dies ermöglicht eine effiziente Überprüfung des wenigstens einen Speicherbereichs SB1, SB2, SB3, z.B. um Manipulationen oder sonstige an sich unerwünschte Änderungen (z.B. Bitfehler) ermitteln zu können. Ein Ergebnis R der Überprüfung 202 kann bei weiteren beispielhaften Ausführungsformen z.B. dazu verwendet werden, einen Betrieb der Recheneinrichtung 102 zu steuern.
  • Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass die Recheneinrichtung 102 mehrere Rechenkerne 102a, 102b, 102c, 102d aufweist, wobei das Verfahren weiter aufweist: zumindest zeitweises Verwenden 202a von wenigstens zwei, insbesondere allen, der mehreren Rechenkerne 102a, .., 102d der Recheneinrichtung 102 für das Überprüfen 202. Dadurch kann das Überprüfen 202 weiter beschleunigt werden.
  • Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass der wenigstens eine zu überprüfende Speicherbereich SB1 zeitlich überlappend und/oder gleichzeitig mittels der mehreren, insbesondere mittels aller, Rechenkerne 102a, .., 102d der Recheneinrichtung 102 überprüft wird. Dadurch kann sich bei beispielhaften Ausführungsformen zumindest zeitweise eine Parallelisierung ergeben, die das Überprüfen 202 weiter beschleunigt.
  • Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass die Recheneinrichtung 102 (1) ein, vorzugsweise integriertes, Hardware-Sicherheitsmodul HSM' aufweist, wobei das Hardware-Sicherheitsmodul HSM' zumindest zeitweise auch für das Überprüfen 202 verwendet wird. Das Hardware-Sicherheitsmodul HSM' ist bei weiteren beispielhaften Ausführungsformen z.B. vorgesehen zur Ausführung von kryptografischen Verfahren wie z.B. einer Verschlüsselung und/oder Entschlüsselung und/oder Bildung von Signaturen und/oder Hashwerten und/oder zur Speicherung von Daten, die z.B. zur Ausführung kryptografischer Verfahren nutzbar sind, z.B. zur Speicherung privater Schlüssel.
  • Das Hardware-Sicherheitsmodul HSM' ist bei weiteren beispielhaften Ausführungsformen in die Recheneinrichtung 102 integriert, also z.B. auf einem selben Substrat (nicht gezeigt) angeordnet wie der bzw. die Rechenkerne 102a, .., 102d der Recheneinrichtung 102. Bei weiteren beispielhaften Ausführungsformen ist auch ein nicht in die Recheneinrichtung 102 integriertes Hardware-Sicherheitsmodul HSM denkbar.
  • Bei weiteren beispielhaften Ausführungsformen ist der Recheneinrichtung 102 eine Speichereinrichtung 104 zugeordnet, auf die der wenigstens eine Rechenkern 102a zugreifen kann (z.B. lesend und/oder schreibend).
  • Bei weiteren beispielhaften Ausführungsformen weist die Speichereinrichtung 104 einen flüchtigen Speicher 104a, z.B. Arbeitsspeicher (RAM), auf.
  • Bei weiteren beispielhaften Ausführungsformen weist die Speichereinrichtung 104 einen nichtflüchtigen Speicher 104b, z.B. Flash-EEPROM, auf.
  • Bei weiteren beispielhaften Ausführungsformen weist die Speichereinrichtung 104 einen flüchtigen Speicher 104a und einen nichtflüchtigen Speicher 104b auf.
  • Bei weiteren beispielhaften Ausführungsformen können in dem flüchtigen Speicher 104a z.B. Daten DAT gespeichert sein, die während eines Betriebs der Vorrichtung 100 verarbeitet werden. Bei weiteren beispielhaften Ausführungsformen können in dem nichtflüchtigen Speicher 104b z.B. ein oder mehrere Computerprogramme PRG gespeichert sein, die durch den wenigstens einen Rechenkern 102a ausführbar sind.
  • Vorliegend charakterisieren die drei beispielhaft in 1 angegebenen Speicherbereiche SB1, SB2, SB3 unterschiedliche Bereiche des nichtflüchtigen Speichers 104b, die gemäß beispielhaften Ausführungsformen effizient z.B. auf Manipulationen hin bzw. auf ihre Authentizität überprüfbar sind.
  • Bei weiteren beispielhaften Ausführungsformen können die drei beispielhaft in 1 angegebenen Speicherbereiche SB1, SB2, SB3 auch andere Bereiche z.B. auch des flüchtigen Speichers 104a oder dergleichen charakterisieren.
  • Bei weiteren beispielhaften Ausführungsformen, vgl. 3B, ist vorgesehen, dass das Überprüfen 202 (3A) wenigstens eines der folgenden Elemente aufweist: a) Verwenden 202-1 einer Hashfunktion, insbesondere einer kryptografisch sicheren (also kollisionsresistenten) Hashfunktion, z.B. vom Typ SHA-256, b) Verwenden einer Blockchiffre, insbesondere einer Blockchiffre vom AES (Advanced Encryption Standard)-Typ.
  • Bei weiteren beispielhaften Ausführungsformen kann z.B. für den zu überprüfenden Speicherbereich SB1 (1) wenigstens ein Hashwert mittels der Hashfunktion gebildet werden, der z.B. mit einem Referenz-Hashwert vergleichbar ist. Bei weiteren beispielhaften Ausführungsformen kann z.B. der Referenz-Hashwert in einer gesicherten Umgebung, z.B. bei der Fertigung der Recheneinrichtung 102 bzw. des Hardware-Sicherheitsmoduls HSM, HSM', erzeugt und bevorzugt nichtflüchtig gespeichert werden, z.B. für einen zukünftigen Vergleich mit wenigstens einem aktuell für den zu überprüfenden Speicherbereich SB1 gebildeten Hashwert. Sofern die beiden Hashwerte übereinstimmen, kann bei weiteren beispielhaften Ausführungsformen darauf geschlossen werden, dass der zu überprüfende Speicherbereich SB1 bzw. sein Dateninhalt nicht verändert worden ist. Sofern die beiden Hashwerte nicht übereinstimmen, kann bei weiteren beispielhaften Ausführungsformen darauf geschlossen werden, dass der zu überprüfende Speicherbereich SB1 bzw. sein Dateninhalt verändert worden ist.
  • Bei weiteren beispielhaften Ausführungsformen können ein oder mehrere Referenz-Hashwerte in einem optional vorhandenen Hardware-Sicherheitsmodul HSM, HSM' gespeichert sein und/oder durch das optionale Hardware-Sicherheitsmodul HSM, HSM' z.B. wenigstens einem Rechenkern 102a der Recheneinrichtung 102 zur Verfügung gestellt werden, z.B. durch Schreiben des bzw. der betreffenden Daten in einen Speicherbereich 104a, auf den (auch) der Rechenkern 102a zugreifen kann.
  • Bei weiteren beispielhaften Ausführungsformen können ein oder mehrere Referenz-Hashwerte auch einen Teil der ersten Informationen I1 bilden.
  • Bei weiteren beispielhaften Ausführungsformen können die ersten Informationen I1 einen oder mehrere zu überprüfende Speicherbereiche SB1, SB2, SB3 charakterisieren, beispielweise durch Angabe wenigstens einer Startadresse und einer Endadresse oder einer Bereichsgröße.
  • Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Ermitteln 200 (3A) und/oder das Überprüfen 202 durch einen Bootloader BL (1) und/oder Bootmanager (nicht gezeigt) für die Recheneinrichtung 102 ausgeführt wird. Der Bootloader BL kann z.B. zumindest zeitweise in der Speichereinrichtung 104 gespeichert sein und ist bei weiteren beispielhaften Ausführungsformen z.B. dazu ausgebildet, ein Betriebssystem und/oder Anwendungsprogramm PRG für die Recheneinrichtung 102 zu laden bzw. zu starten und kann, bei weiteren beispielhaften Ausführungsformen, z.B. das Verfahren gemäß beispielhaften Ausführungsformen bzw. wenigstens ein oder mehrere Schritte hiervon ausführen. Bei weiteren beispielhaften Ausführungsformen wird zunächst eine Überprüfung des wenigstens einen Speicherbereichs SB1, vorzugsweise mehrerer oder aller Speicherbereiche SB1, SB2, SB3, der Speichereinrichtung 104, vorgenommen, und erst nach erfolgreicher Prüfung (keine Manipulation bzw. Änderung ermittelt) wird das Betriebssystem und/oder wenigstens ein Anwendungsprogramm PRG für die Recheneinrichtung 102 mittels des Bootloaders BL geladen.
  • Dadurch kann bei weiteren beispielhaften Ausführungsformen ein sog. Secure-Boot Prinzip umgesetzt werden. Insbesondere ist die Überprüfung 202 (3A) gemäß beispielhaften Ausführungsformen durch mehrere Rechenkerne 102a, 102b, 102c, 102d parallel ausführbar und damit gegenüber konventionellen Ansätzen beschleunigbar.
  • Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Ermitteln 200 (3A) der ersten Informationen I1 wenigstens eines der folgenden Elemente aufweist: a) Empfangen der ersten Informationen 11, insbesondere von einem Rechenkern und/oder einem Hardware-Sicherheitsmodul HSM, HSM', b) Lesen der ersten Informationen I1 aus einem Speicher, insbesondere einem optionalen einmalig programmierbaren (OTP, one time programmable) Speicher OTP oder einem Arbeitsspeicher 104a, c) Ermitteln der ersten Informationen I1 basierend auf dem Bootloader BL.
  • Bei weiteren beispielhaften Ausführungsformen kann beispielsweise ein bzw. das Hardware-Sicherheitsmodul HSM, HSM' die ersten Informationen I1 in den Arbeitsspeicher 104a schreiben und damit dem wenigstens einen Rechenkern 102a der Recheneinrichtung 102 zur Verfügung stellen.
  • Bei weiteren beispielhaften Ausführungsformen kann beispielsweise zumindest ein Teil der ersten Informationen I1 in dem Bootloader BL enthalten sein, d.h. z.B. einen Teil des Programmcodes des Bootloaders BL bzw. seiner Daten bilden.
  • Bei weiteren beispielhaften Ausführungsformen, vgl. 3A, ist vorgesehen, dass ein Ergebnis R bzw. Ergebnisse R der Überprüfung 202 einem oder dem Hardware-Sicherheitsmodul HSM, HSM' übermittelt werden, vgl. den optionalen Schritt 204. Beispielsweise kann das Hardware-Sicherheitsmodul HSM, HSM' bei weiteren beispielhaften Ausführungsformen dazu ausgebildet sein, einzelne Prüfergebnisse von z.B. parallel oder zumindest teilweise zeitlich überlappenden Prüfungen durch mehrere Rechenkerne 102a, 102b, 102c, 102d (und/oder das Hardware-Sicherheitsmodul HSM, HSM' selbst) zu sammeln und basierend darauf ein Gesamtergebnis zu ermitteln. Alternativ oder ergänzend kann bei weiteren beispielhaften Ausführungsformen die Recheneinrichtung 102 bzw. ein Rechenkern 102a einzelne Prüfergebnisse von z.B. parallel oder zumindest teilweise zeitlich überlappenden Prüfungen durch mehrere Rechenkerne 102a, 102b, 102c, 102d (und/oder das Hardware-Sicherheitsmodul HSM, HSM' selbst) sammeln und basierend darauf ein Gesamtergebnis ermitteln, vgl. den optionalen Schritt 206 aus 3A.
  • Weitere beispielhafte Ausführungsformen beziehen sich auf eine Recheneinrichtung 102 (1) mit wenigstens einem Rechenkern 102a, wobei die Recheneinrichtung 102 zur Ausführung des Verfahrens gemäß den Ausführungsformen ausgebildet ist.
  • Weitere beispielhafte Ausführungsformen, vgl. 3C, beziehen sich auf ein Verfahren zum Betreiben eines Hardware-Sicherheitsmoduls HSM, HSM' für eine Recheneinrichtung 102, insbesondere für eine Recheneinrichtung 102 gemäß den Ausführungsformen, aufweisend die folgenden Schritte: Bereitstellen 250 von ersten Informationen 11, die wenigstens einen zu überprüfenden Speicherbereich SB1, SB2, SB3 einer Speichereinrichtung 104 charakterisieren, auf die die Recheneinrichtung 102 zugreifen kann.
  • Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Bereitstellen 250 aufweist: Schreiben der ersten Informationen I1 in einen Speicher 104, insbesondere einen flüchtigen Speicher 104a, insbesondere Arbeitsspeicher, der Recheneinrichtung 102.
  • Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren weiter aufweist: Überprüfen 252 wenigstens eines Speicherbereichs SB2, der Speichereinrichtung 104, insbesondere zumindest zeitweise überlappend oder gleichzeitig zu einer Überprüfung 202 des wenigstens einen zu überprüfenden Speicherbereichs SB1 der Speichereinrichtung 104 durch wenigstens einen Rechenkern 102a der Recheneinrichtung 102. Dadurch kann das Hardware-Sicherheitsmodul HSM, HSM' optional ebenfalls für die Überprüfung herangezogen werden, wodurch die Leistung weiter gesteigert wird. Insbesondere sind bei weiteren bevorzugten Ausführungsformen somit alle Rechenkerne 102a, ., 102d bzw. Hardware-Sicherheitsmodule HSM, HSM', vorzugsweise gleichzeitig oder zumindest zeitlich überlappend, für die Überprüfung 202, 252 nutzbar.
  • Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren weiter aufweist: Empfangen 254 eines Ergebnisses R bzw. von Ergebnissen R der Überprüfung 202 des wenigstens einen zu überprüfenden Speicherbereichs SB1 der Speichereinrichtung 104 durch wenigstens einen Rechenkern 102a der Recheneinrichtung 102.
  • Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren weiter aufweist: Ermitteln 256, basierend auf dem Überprüfen 202, 252 bzw. den dabei erhaltenen Ergebnissen R, ob ein Computerprogramm PRG, insbesondere ein Betriebssystem und/oder ein Anwendungsprogramm, durch die Recheneinrichtung 102 ausgeführt werden soll, was z.B. dem Ermitteln eines Gesamtergebnisses entspricht. Dies kann z.B. dann der Fall sein, wenn die Überprüfung 202, 252 ergeben hat, dass keine Manipulation des Speicherbereichs SB1, in dem das Computerprogramm PRG gespeichert ist, vorliegt, wohingegen optional dann, wenn eine Manipulation des Speicherbereichs SB1, in dem das Computerprogramm PRG gespeichert ist, vorliegt, eine Fehlerreaktion eingeleitet werden kann.
  • Bei weiteren beispielhaften Ausführungsformen kann die Fehlerreaktion z.B. ein Deaktivieren der Recheneinrichtung 102 bzw. der Vorrichtung 100 aufweisen, oder das Vorsehen bzw. verwenden eines Backup-Bootloaders, oder das Neuprogrammieren des Computerprogramms PRG bzw. das Beschreiben des Speicherbereichs SB1 mit neuen, nicht manipulierten Daten bzw. Programmen.
  • Weitere beispielhafte Ausführungsformen beziehen sich auf ein Hardware-Sicherheitsmodul HSM, HSM' für eine Recheneinrichtung 102, insbesondere für eine Recheneinrichtung 102 gemäß den Ausführungsformen, wobei das Hardware-Sicherheitsmodul HSM, HSM' zur Ausführung des Verfahrens gemäß den Ausführungsformen ausgebildet ist.
  • Weitere beispielhafte Ausführungsformen beziehen sich auf eine Vorrichtung 100 (1, 2), insbesondere Steuergerät, insbesondere für ein Fahrzeug 1, insbesondere Kraftfahrzeug 1, mit wenigstens einer Recheneinrichtung 102 gemäß den Ausführungsformen und/oder mit wenigstens einem Hardware-Sicherheitsmodul HSM, HSM' gemäß den Ausführungsformen.
  • Weitere beispielhafte Ausführungsformen beziehen sich auf ein computerlesbares Speichermedium SM (1), umfassend Befehle PRG, die bei der Ausführung durch einen Computer 102 diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.
  • Weitere beispielhafte Ausführungsformen beziehen sich auf ein Computerprogramm PRG, umfassend Befehle, die bei der Ausführung des Programms PRG durch einen Computer 102 diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.
  • Weitere beispielhafte Ausführungsformen beziehen sich auf ein Datenträgersignal DCS, das das Computerprogramm PRG gemäß den Ausführungsformen überträgt und/oder charakterisiert. Das Datenträgersignal DCS kann der Recheneinrichtung 102 bzw. der Vorrichtung 100 über eine, z.B. bidirektionale, Datenschnittstelle 106 übermittelt werden.
  • Weitere beispielhafte Ausführungsformen, vgl. 4, beziehen sich auf eine Verwendung des Verfahrens gemäß den Ausführungsformen und/oder der Recheneinrichtung gemäß den Ausführungsformen und/oder des Hardware-Sicherheitsmoduls gemäß den Ausführungsformen und/oder der Vorrichtung gemäß den Ausführungsformen und/oder des computerlesbaren Speichermediums gemäß den Ausführungsformen und/oder des Computerprogramms gemäß den Ausführungsformen und/oder des Datenträgersignals gemäß den Ausführungsformen für wenigstens eines der folgenden Elemente: a) Überprüfen 260 wenigstens eines Speicherbereichs SB1 einer Speichereinrichtung 104, auf die die Recheneinrichtung 102 zugreifen kann, b) Beschleunigen und/oder Parallelisieren 262 des Überprüfens 202 des wenigstens eines Speicherbereichs SB1 der Speichereinrichtung 104, c) Ermitteln 264 einer Manipulation des wenigstens eines Speicherbereichs.
  • 5 zeigt schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen. Block B1 symbolisiert einen Start der Vorrichtung 100, Block B2 einen Start des Hardware-Sicherheitsmoduls HSM'. Die optionalen Blöcke B3, B4 symbolisieren eine optionale Überprüfung des Vertrauensstatus des Bootloaders BL. Bei weiteren beispielhaften Ausführungsformen kann die optionale Überprüfung B3, B4 des Vertrauensstatus des Bootloaders BL z.B. durch das Hardware-Sicherheitsmodul HSM, HSM' ausgeführt werden, z.B. analog zu dem Überprüfen 202 der Speicherbereiche SB1, SB2, SB3, s. 3A.
  • Bei weiteren beispielhaften Ausführungsformen kann in Block B3, insbesondere bei einem kombinierten Bootmanager bzw. Bootloader, auch, insbesondere nur, derjenige Teil des ausführbaren Codes überprüft werden, der der Bootmanager-Funktionalität entspricht (und nicht z.B. eine einem Bootloader entsprechende Funktionalität, die bei weiteren beispielhaften Ausführungsformen z.B. später geprüft werden kann).
  • Sofern die Überprüfung B3, B4 ergibt, dass der Bootloader BL vertrauenswürdig ist, wird zu Block B5 verzweigt, der ein Ausführen des Bootloaders BL symbolisiert.
  • Bei weiteren beispielhaften Ausführungsformen kann das Ausführen B5 des Bootloaders BL einen oder mehrere der folgenden Schritte aufweisen:
    1. A) Empfangen von Programmcode (z.B. „Secure Boot Code“) und/oder Daten („Secure Boot Data“), z.B. von einem bzw. dem Hardware-Sicherheitsmodul HSM, HSM'. Bei weiteren beispielhaften Ausführungsformen kann das Hardware-Sicherheitsmodul HSM, HSM' z.B. den genannten Programmcode und/oder die genannten Daten z.B. in den Arbeitsspeicher 104a der Recheneinrichtung 102 schreiben, damit der Programmcode und/oder die genannten Daten von dem wenigstens einen Rechenkern 102a für die Überprüfung 202 nutzbar sind. Beispielsweise können der Programmcode und/oder die Daten die vorstehend bereits beispielhaft beschriebenen ersten Informationen I1 oder wenigstens einen Teil hiervon bilden, z.B. auch zu überprüfende Speicherbereiche SB1, SB2, SB3 charakterisieren und/oder Referenz-Hashwerte oder kryptografische Schlüssel für die Überprüfung oder dergleichen aufweisen.
    2. B) Empfangen von Speicherzuordnungsdaten, die z.B. eine Zuordnung von Speicherbereichen SB1, SB2, SB3 zu den verschiedenen Rechenkerne 102a, 102b, 102c, 102d charakterisieren. Bei weiteren beispielhaften Ausführungsformen kann das Hardware-Sicherheitsmodul HSM, HSM' z.B. die Speicherzuordnungsdaten in den Arbeitsspeicher 104a der Recheneinrichtung 102 schreiben, damit die Speicherzuordnungsdaten von dem wenigstens einen Rechenkern 102a für die Überprüfung 202 nutzbar sind. Beispielsweise können die Speicherzuordnungsdaten die vorstehend bereits beispielhaft beschriebenen ersten Informationen I1 oder wenigstens einen Teil hiervon bilden.
    3. C) Warten auf das Ergebnis bzw. Gesamtergebnis der Überprüfung, z.B. in solchen Fällen, in denen das Ergebnis bzw. Gesamtergebnis der Überprüfung durch das Hardware-Sicherheitsmodul HSM, HSM' gebildet wird, vgl. z.B. auch Schritt 256 gemäß 3C, und insbesondere Starten bzw. Ausführen eines Betriebssystems bzw. Anwendungsprogramms dann, wenn das Ergebnis bzw. Gesamtergebnis der Überprüfung ergibt, dass keine Manipulation oder sonstige Veränderung der überprüften Speicherbereiche vorliegt.
    4. D) Einleiten einer Fehlerreaktion, z.B. dann, wenn das Ergebnis bzw. Gesamtergebnis der Überprüfung ergibt, dass eine Manipulation oder sonstige Veränderung der überprüften Speicherbereiche vorliegt.
    5. E) Koordinieren der Speicherzugriffe der mehreren Rechenkerne 102a, .., 102d, insbesondere z.B. für das zumindest teilweise zeitlich überlappende und/oder gleichzeitige Überprüfen 202. Mit anderen Worten kann der Bootloader BL bei weiteren beispielhaften Ausführungsformen auch einen Programmcode aufweisen, der die Überprüfung 202 steuert, z.B. auch einen hierfür erforderlichen (wenigstens lesenden) Zugriff auf die verschiedenen Speicherbereiche SB1, SB2, SB3 durch die mehreren Rechenkerne 102a, 102b, 102c, 102d.
  • Bei weiteren beispielhaften Ausführungsformen symbolisiert der optionale Block B6 das Schreiben von Programmcode und/oder Daten, insbesondere für die Überprüfung 202 (3A), z.B. in den Arbeitsspeicher 104a.
  • Bei weiteren beispielhaften Ausführungsformen können der Programmcode und/oder die Daten, insbesondere für die Überprüfung 202, alternativ oder ergänzend in dem Bootloader BL vorgesehen sein, wobei insbesondere der Vertrauensstatus bzw. die Integrität des Programmcodes und/oder der Daten, insbesondere für die Überprüfung 202, z.B. in Block B3 überprüfbar sind.
  • Block B7 von 7 bezeichnet kollektiv das z.B. parallele Überprüfen 202 der mehreren Speicherbereiche SB1, SB2, SB3 (1) durch mehrere Rechenkerne 102a, .. (s. Block B7-1) und optional auch durch das Hardware-Sicherheitsmodul HSM, HSM' (s. Block B7-2).
  • Block B8 symbolisiert eine Bildung des Gesamtergebnisses der Überprüfung 202, 252 der verschiedenen zu überprüfenden Speicherbereiche der Speichereinrichtung 104 mittels der Rechenkerne und optional dem Hardware-Sicherheitsmodul HSM, HSM'. Beispielsweise bildet das Hardware-Sicherheitsmodul HSM, HSM' das Gesamtergebnis. Sofern eine Auswertung B9 des Gesamtergebnisses ergibt, dass die überprüften Speicherbereiche in Ordnung (also z.B. nicht manipuliert oder in sonstiger Weise unerwünscht (z.B. durch Bitfehler) verändert) sind, wird zu Block B10 verzweigt, der ein Starten eines Betriebssystems bzw. wenigstens eines Anwendungsprogramms zum Gegenstand hat. Block B11 symbolisiert die weitere Ausführung dieses Startprozesses.
  • Sofern jedoch die Auswertung B9 des Gesamtergebnisses ergibt, dass die überprüften Speicherbereiche nicht in Ordnung (also z.B. manipuliert oder in sonstiger Weise unerwünscht (z.B. durch Bitfehler) verändert) sind, wird zu Block B12 verzweigt, der z.B. eine Überprüfung des Bootloaders BL zum Gegenstand hat. Die Überprüfung B12 des Bootloaders BL kann bei weiteren beispielhaften Ausführungsformen z.B. durch das Hardware-Sicherheitsmodul HSM, HSM' ausgeführt werden.
  • Block B13 symbolisiert eine Auswertung der Überprüfung B12 des Bootloaders BL gemäß weiteren beispielhaften Ausführungsformen. Sofern die Auswertung B13 ergibt, dass der Bootloader BL in Ordnung (also z.B. nicht manipuliert oder in sonstiger Weise unerwünscht (z.B. durch Bitfehler) verändert) ist, wird in Block B14 der Bootloader gestartet. Der optionale Block B15 symbolisiert ein optionales Warten auf ein, insbesondere erneutes, Programmieren („reflash“) wenigstens eines Teils der Speichereinrichtung 104, z.B. zum Überschreiben eines als nicht in Ordnung ermittelten Speicherbereichs mit unmanipulierten bzw. unverfälschten Daten.
  • Sofern die Auswertung B13 ergibt, dass der Bootloader BL nicht in Ordnung (also z.B. manipuliert oder in sonstiger Weise unerwünscht (z.B. durch Bitfehler) verändert) ist, wird in Block B16 ein weiterer, insbesondere unmanipulierter, Bootloader („backup bootloader“) BL z.B. in den Arbeitsspeicher 104a geschrieben, z.B. mittels des Hardware-Sicherheitsmoduls HSM, HSM'. Sodann kann in Block B17 der unmanipulierte Bootloader ausgeführt werden.
  • Der optionale Block B18 symbolisiert, ähnlich zu Block B15, ein optionales Warten auf ein, insbesondere erneutes, Programmieren („reflash“) wenigstens eines Teils der Speichereinrichtung 104, z.B. zum Überschreiben des manipulierten Bootloaders BL mit einem unmanipulierten Bootloader BL.
  • Sofern die Überprüfung B3, B4 ergibt, dass der Bootloader BL nicht vertrauenswürdig ist, wird zu Block B4-1 verzweigt, der ein Schreiben eines (nicht manipulierten) Ersatz-Bootloaders z.B. in den Arbeitsspeicher 104a, z.B. mittels des Hardware-Sicherheitsmoduls HSM, HSM', symbolisiert. Block B4-2 symbolisiert einen Start des Ersatz-Bootloaders, und Block B4-3 ein optionales Warten auf ein, insbesondere erneutes, Programmieren („reflash“) wenigstens eines Teils der Speichereinrichtung 104, z.B. zum Überschreiben des manipulierten Bootloaders BL mit einem unmanipulierten Bootloader BL.
  • Bei weiteren beispielhaften Ausführungsformen kann ein unmanipulierter Bootloader („Ersatz-Bootloader“ bzw. „backup bootloader“) z.B. in dem Hardware-Sicherheitsmodul HSM, HSM' und/oder in einem vor Veränderungen geschützten Speicherbereich, z.B. in dem einmalig programmierbaren Speicher OTP, gespeichert sein.
  • Bei weiteren beispielhaften Ausführungsformen kann ein für die Überprüfung 202, 252 verwendbares Computerprogramm (das ggf. parallel durch die mehreren Rechenkerne ausführbar ist) und/oder Daten hierfür, insbesondere z.B. die ersten Informationen 11, z.B. in dem Hardware-Sicherheitsmodul HSM, HSM' und/oder in einem bzw. dem vor Veränderungen geschützten Speicherbereich, z.B. in dem einmalig programmierbaren Speicher OTP, und/oder in dem Bootloader BL, gespeichert sein.
  • Bei weiteren beispielhaften Ausführungsformen kann, sofern das für die Überprüfung 202, 252 verwendbare Computerprogramm in dem Bootloader BL gespeichert ist, das Computerprogramm, insbesondere vor seiner Ausführung, also z.B. vor dem Überprüfen 202, z.B. mittels des Hardware-Sicherheitsmoduls HSM, HSM' überprüft werden.
  • 6 zeigt schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen. Block B20 symbolisiert eine Anfrage, den Bootloader BL zu überprüfen. Block B21 symbolisiert eine Überprüfung des Bootloaders BL, Block B22 symbolisiert eine Auswertung der Überprüfung des Bootloaders BL. Sofern die Auswertung B22 ergibt, dass der Bootloader BL in Ordnung (also z.B. nicht manipuliert oder in sonstiger Weise unerwünscht (z.B. durch Bitfehler) verändert) ist, wird in Block B26 der Bootloader BL ausgeführt. Sofern die Auswertung B22 ergibt, dass der Bootloader BL nicht in Ordnung (also z.B. manipuliert oder in sonstiger Weise unerwünscht (z.B. durch Bitfehler) verändert) ist, wird in Block B23 ein Ersatz-Bootloader z.B. durch das Hardware-Sicherheitsmodul HSM, HSM' bereitgestellt, z.B. in den Arbeitsspeicher 104a geschrieben und in Block B24 ausgeführt. Block B25 symbolisiert eine optionale (Neu-)Programmierung z.B. des Bootloaders BL in einem nichtflüchtigen Speicher 104b.
  • Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass, sofern bestimmte Daten wie z.B. kryptografische Schlüssel, zeitweise in den Arbeitsspeicher 104a geschrieben werden, diese Daten nach der Verwendung (z.B. für das Überprüfen 202 durch die Rechenkerne) wieder aus dem Arbeitsspeicher 104a gelöscht werden.
  • Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass die Recheneinrichtung 102 wenigstens einen individuellen kryptografischen Schlüssel erhält, der bevorzugt in keiner anderen Recheneinrichtung 102 verwendet wird. Dies kann die Sicherheit gegen Angreifer weiter steigern.

Claims (20)

  1. Verfahren zum Betreiben einer wenigstens einen Rechenkern (102a; 102a, 102b, 102c, 102d) aufweisenden Recheneinrichtung (102), aufweisend: Ermitteln (200) von ersten Informationen (11), die wenigstens einen zu überprüfenden Speicherbereich (SB1; SB1, SB2, SB3) einer Speichereinrichtung (104) charakterisieren, auf die die Recheneinrichtung (102) zugreifen kann, Überprüfen (202) des wenigstens einen zu überprüfenden Speicherbereichs (SB1; SB1, SB2, SB3) basierend auf den ersten Informationen (11) unter Verwendung des wenigstens einen Rechenkerns (102a; 102a, 102b, 102c, 102d).
  2. Verfahren nach Anspruch 1, wobei die Recheneinrichtung (102) mehrere Rechenkerne (102a, 102b, 102c, 102d) aufweist, wobei das Verfahren weiter aufweist: zumindest zeitweises Verwenden (202a) von wenigstens zwei, insbesondere allen, der mehreren Rechenkerne der Recheneinrichtung (102) für das Überprüfen (202).
  3. Verfahren nach Anspruch 2, wobei der wenigstens eine zu überprüfende Speicherbereich (SB1; SB1, SB2, SB3) zeitlich überlappend und/oder gleichzeitig mittels der mehreren, insbesondere mittels aller, Rechenkerne der Recheneinrichtung (102) überprüft wird.
  4. Verfahren nach wenigstens einem der vorstehenden Ansprüche, wobei die Recheneinrichtung (100) ein, vorzugsweise integriertes, Hardware-Sicherheitsmodul (HSM, HSM') aufweist, und wobei das Hardware-Sicherheitsmodul (HSM, HSM') zumindest zeitweise auch für das Überprüfen (202) verwendet wird.
  5. Verfahren nach wenigstens einem der vorstehenden Ansprüche, wobei das Überprüfen (202) wenigstens eines der folgenden Elemente aufweist: a) Verwenden (202-1) einer Hashfunktion, insbesondere einer kryptografisch sicheren Hashfunktion, b) Verwenden (202-2) einer Blockchiffre, insbesondere einer Blockchiffre vom AES-Typ.
  6. Verfahren nach wenigstens einem der vorstehenden Ansprüche, wobei das Ermitteln (200) und/oder das Überprüfen (202) durch einen Bootloader (BL) für die Recheneinrichtung (200) ausgeführt wird.
  7. Verfahren nach wenigstens einem der vorstehenden Ansprüche, wobei das Ermitteln (200) der ersten Informationen (11) wenigstens eines der folgenden Elemente aufweist: a) Empfangen (200-1) der ersten Informationen (11), insbesondere von einem Rechenkern und/oder einem Hardware-Sicherheitsmodul (HSM, HSM'), b) Lesen (200-2) der ersten Informationen (11) aus einem Speicher, insbesondere einem einmalig programmierbaren Speicher (OTP) und/oder einem Arbeitsspeicher (104a), c) Ermitteln der ersten Informationen (11) basierend auf dem Bootloader (BL).
  8. Verfahren nach wenigstens einem der vorstehenden Ansprüche, wobei ein Ergebnis (R) bzw. Ergebnisse der Überprüfung (202) einem oder dem Hardware-Sicherheitsmodul (HSM, HSM') übermittelt (204) werden.
  9. Recheneinrichtung (102) mit wenigstens einem Rechenkern (102a; 102a, 102b, 102c, 102d), wobei die Recheneinrichtung (102) zur Ausführung des Verfahrens nach wenigstens einem der vorstehenden Ansprüche ausgebildet ist.
  10. Verfahren zum Betreiben eines Hardware-Sicherheitsmoduls (HSM, HSM') für eine Recheneinrichtung (102), insbesondere für eine Recheneinrichtung (102) gemäß Anspruch 9, aufweisend die folgenden Schritte: Bereitstellen (250) von ersten Informationen (11), die wenigstens einen zu überprüfenden Speicherbereich (SB1; SB1, SB2, SB3) einer Speichereinrichtung (104) charakterisieren, auf die die Recheneinrichtung (102) zugreifen kann.
  11. Verfahren nach Anspruch 10, wobei das Bereitstellen (250) aufweist: Schreiben der ersten Informationen (11) in einen Speicher, insbesondere einen flüchtigen Speicher, insbesondere Arbeitsspeicher (104a), der Recheneinrichtung (102).
  12. Verfahren nach wenigstens einem der Ansprüche 10 bis 11, weiter aufweisend: Überprüfen (252) wenigstens eines Speicherbereichs (SB1; SB1, SB2, SB3), der Speichereinrichtung (104), insbesondere zumindest zeitweise überlappend oder gleichzeitig zu einer Überprüfung (202) des wenigstens einen zu überprüfenden Speicherbereichs (SB1; SB1, SB2, SB3) der Speichereinrichtung (104) durch wenigstens einen Rechenkern (102a) der Recheneinrichtung (102).
  13. Verfahren nach wenigstens einem der Ansprüche 10 bis 12, weiter aufweisend: Empfangen (254) eines Ergebnisses (R) bzw. von Ergebnissen der Überprüfung (202) des wenigstens einen zu überprüfenden Speicherbereichs (SB1; SB1, SB2, SB3) der Speichereinrichtung (104) durch wenigstens einen Rechenkern (102a) der Recheneinrichtung (102).
  14. Verfahren nach wenigstens einem der Ansprüche 10 bis 13, weiter aufweisend: Ermitteln (256), basierend auf dem Überprüfen (202, 252), ob ein Computerprogramm (PRG), insbesondere ein Betriebssystem und/oder ein Anwendungsprogramm, durch die Recheneinrichtung (102) ausgeführt werden soll.
  15. Hardware-Sicherheitsmodul (HSM, HSM') für eine Recheneinrichtung (102), insbesondere für eine Recheneinrichtung (102) gemäß Anspruch 9, wobei das Hardware-Sicherheitsmodul (HSM, HSM') zur Ausführung des Verfahrens nach wenigstens einem der Ansprüche 10 bis 14 ausgebildet ist.
  16. Vorrichtung (100), insbesondere Steuergerät, insbesondere für ein Fahrzeug (1), insbesondere Kraftfahrzeug, mit wenigstens einer Recheneinrichtung (102) nach Anspruch 9 und/oder mit wenigstens einem Hardware-Sicherheitsmodul (HSM, HSM') nach Anspruch 15.
  17. Computerlesbares Speichermedium (SM), umfassend Befehle (PRG), die bei der Ausführung durch einen Computer (102) diesen veranlassen, das Verfahren nach wenigstens einem der Ansprüche 1 bis 8 und/oder 10 bis 14 auszuführen.
  18. Computerprogramm (PRG), umfassend Befehle, die bei der Ausführung des Programms (PRG) durch einen Computer (102) diesen veranlassen, das Verfahren nach wenigstens einem der Ansprüche 1 bis 8 und/oder 10 bis 14 auszuführen.
  19. Datenträgersignal (DCS), das das Computerprogramm (PRG) nach Anspruch 18 überträgt und/oder charakterisiert.
  20. Verwendung des Verfahrens nach wenigstens einem der Ansprüche 1 bis 8 und/oder 10 bis 14 und/oder der Recheneinrichtung (100) nach Anspruch 9 und/oder des Hardware-Sicherheitsmoduls (HSM, HSM') nach Anspruch 15 und/oder der Vorrichtung (100) nach Anspruch 16 und/oder des computerlesbaren Speichermediums (SM) nach Anspruch 17 und/oder des Computerprogramms (PRG) nach Anspruch 18 und/oder des Datenträgersignals (DCS) nach Anspruch 19 für wenigstens eines der folgenden Elemente: a) Überprüfen (260) wenigstens eines Speicherbereichs (SB1; SB1, SB2, SB3) einer Speichereinrichtung (104), auf die die Recheneinrichtung (102) zugreifen kann, b) Beschleunigen und/oder Parallelisieren (262) des Überprüfens des wenigstens eines Speicherbereichs (SB1; SB1, SB2, SB3) der Speichereinrichtung (104), c) Ermitteln (264) einer Manipulation des wenigstens eines Speicherbereichs (SB1; SB1, SB2, SB3).
DE102020207614.6A 2020-06-19 2020-06-19 Recheneinrichtung und Betriebsverfahren hierfür Pending DE102020207614A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102020207614.6A DE102020207614A1 (de) 2020-06-19 2020-06-19 Recheneinrichtung und Betriebsverfahren hierfür

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020207614.6A DE102020207614A1 (de) 2020-06-19 2020-06-19 Recheneinrichtung und Betriebsverfahren hierfür

Publications (1)

Publication Number Publication Date
DE102020207614A1 true DE102020207614A1 (de) 2021-12-23

Family

ID=78822916

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020207614.6A Pending DE102020207614A1 (de) 2020-06-19 2020-06-19 Recheneinrichtung und Betriebsverfahren hierfür

Country Status (1)

Country Link
DE (1) DE102020207614A1 (de)

Similar Documents

Publication Publication Date Title
US11664972B2 (en) Method for linking a first data block to a second data block, method for checking the integrity of a blockchain structure, device and computer program product
DE102012109615B4 (de) Verwendung eines Manifests zur Präsenzaufzeichnung von gültiger Software und Kalibrierung
DE102022105069A1 (de) Systeme, verfahren und vorrichtungen für gesicherte nichtflüchtige speicher
DE102012109617A1 (de) Verfahren zum Ersetzen eines öffentlichen Schlüssels eines Bootloaders
EP3811261B1 (de) Kryptografiemodul und betriebsverfahren hierfür
DE102013213314A1 (de) Hinterlegen mindestens eines berechenbaren Integritätsmesswertes in einem Speicherbereich eines Speichers
DE102013225445A1 (de) Verfahren und System zum Umgehen von Authentizitätsüberprüfungen für geschützte Steuermodule
WO2017102295A1 (de) Verfahren und sicherheitsmodul zum bereitstellen einer sicherheitsfunktion für ein gerät
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
DE102020207866A1 (de) Verfahren zum Durchführen einer abgesicherten Startsequenz eines Steuergeräts
WO2020164921A1 (de) Verfahren und vorrichtung zum verarbeiten von in einer speichereinrichtung gespeicherten daten
DE102020207614A1 (de) Recheneinrichtung und Betriebsverfahren hierfür
EP1614012A1 (de) Verfahren zur überprüfung der datenintegrität von software in steuergeräten
DE102020216030A1 (de) Verfahren zum abgesicherten Start einer Recheneinheit
DE102020207863A1 (de) Verfahren zur sicheren Aktualisierung von Steuergeräten
DE102021212994B3 (de) Verfahren zur Erkennung von auf eine Manipulation hindeutenden Anomalien während eines sicheren Startvorgangs einer softwaregesteuerten Vorrichtung
DE102018217969A1 (de) Recheneinrichtung und Betriebsverfahren hierfür
DE102022202691A1 (de) Verfahren zur Durchführung einer abgesicherten Startsequenz einer Recheneinheit
DE102020207861A1 (de) Verfahren zur Durchführung einer abgesicherten Startsequenz eines Steuergeräts
DE102020212988A1 (de) Sicheres Hochfahren eines Computersystems
DE102014113441A1 (de) Schutz vor Software-Komponenten mittels Verschlüsselung
EP4275138A1 (de) Verfahren zur überprüfung digitaler signaturen, fahrzeug-recheneinheit und fahrzeug
DE102019220450A1 (de) Vorrichtung mit einer Schnittstelle und Verfahren zum Betreiben einer Vorrichtung mit einer Schnittstelle
DE102021211591A1 (de) Verfahren und Vorrichtung zum Verarbeiten von Daten
DE102022203327A1 (de) Verfahren und Vorrichtung zum Verarbeiten von mit einem Sicherheitsmodul assoziierten Daten

Legal Events

Date Code Title Description
R012 Request for examination validly filed