DE102018217969A1 - Computing device and operating method therefor - Google Patents

Computing device and operating method therefor Download PDF

Info

Publication number
DE102018217969A1
DE102018217969A1 DE102018217969.7A DE102018217969A DE102018217969A1 DE 102018217969 A1 DE102018217969 A1 DE 102018217969A1 DE 102018217969 A DE102018217969 A DE 102018217969A DE 102018217969 A1 DE102018217969 A1 DE 102018217969A1
Authority
DE
Germany
Prior art keywords
computing device
check
memory area
computer program
content
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
DE102018217969.7A
Other languages
German (de)
Inventor
Frederic Stumpf
Ramona Jung
Andreas Weber
Christoph Lenz
Juergen Schramm
Alexander Meurer
Florian Ziegler
Ilias Sagar
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 DE102018217969.7A priority Critical patent/DE102018217969A1/en
Priority to CN201910992878.0A priority patent/CN111079194A/en
Publication of DE102018217969A1 publication Critical patent/DE102018217969A1/en
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/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Landscapes

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

Abstract

Recheneinrichtung, die dazu ausgebildet ist, auf wenigstens einen Speicherbereich einer der Recheneinrichtung zugeordneten Speichereinrichtung zuzugreifen, wobei die Recheneinrichtung dazu ausgebildet ist, eine erste Überprüfung wenigstens eines ersten Speicherbereichs der Speichereinrichtung zu veranlassen, der mit einem ersten Computerprogramm für die Recheneinrichtung assoziiert ist, und in Abhängigkeit der ersten Überprüfung einen Betrieb der Recheneinrichtung zu steuern.Computing device which is designed to access at least one memory area of a memory device assigned to the computing device, the computing device being designed to initiate a first check of at least one first memory area of the memory device which is associated with a first computer program for the computing device, and in To control the operation of the computing device as a function of the first check.

Description

Stand der TechnikState of the art

Die Offenbarung betrifft eine Recheneinrichtung, die dazu ausgebildet ist, auf wenigstens einen Speicherbereich einer der Recheneinrichtung zugeordneten Speichereinrichtung zuzugreifen.The disclosure relates to a computing device which is designed to access at least one memory area of a memory device assigned to the computing device.

Die Offenbarung betrifft ferner ein Verfahren zum Betreiben einer derartigen Recheneinrichtung.The disclosure further relates to a method for operating such a computing device.

Eine derartige Recheneinrichtung ist aus der DE 10 2008 041 360 A1 bekannt.Such a computing device is from the DE 10 2008 041 360 A1 known.

Offenbarung der ErfindungDisclosure of the invention

Bevorzugte Ausführungsformen beziehen sich auf eine Recheneinrichtung, die dazu ausgebildet ist, auf wenigstens einen Speicherbereich einer der Recheneinrichtung zugeordneten Speichereinrichtung zuzugreifen, wobei die Recheneinrichtung dazu ausgebildet ist, eine erste Überprüfung wenigstens eines ersten Speicherbereichs der Speichereinrichtung zu veranlassen, der mit einem ersten Computerprogramm für die Recheneinrichtung assoziiert ist, und in Abhängigkeit der ersten Überprüfung einen Betrieb der Recheneinrichtung zu steuern. Dadurch ist vorteilhaft die Möglichkeit gegeben, einen Inhalt des ersten Speicherbereichs beispielsweise auf Abweichungen gegenüber einem vorgebbaren Inhalt hin zu überprüfen. Hierdurch kann vorteilhaft beispielsweise die Ausführung von unsicheren bzw. durch einen Angreifer kompromittierten Computerprogrammen durch die Recheneinrichtung verhindert werden.Preferred embodiments relate to a computing device which is designed to access at least one memory area of a memory device assigned to the computing device, the computing device being designed to cause a first check of at least one first memory area of the memory device which is carried out using a first computer program for the Computing device is associated, and to control an operation of the computing device depending on the first check. This advantageously enables the content of the first memory area to be checked, for example, for deviations from a predefinable content. This can advantageously prevent, for example, the execution of computer programs that are insecure or compromised by an attacker.

Bei weiteren bevorzugten Ausführungsformen können in dem ersten Speicherbereich das erste Computerprogramm bzw. zumindest ein Teil hiervon und/oder Daten vorhanden sein, die zu dem ersten Computerprogramm gehören bzw. bei der Ausführung des ersten Computerprogramms verwendbar sind, beispielsweise Parameter für das erste Computerprogramm.In further preferred embodiments, the first computer program or at least a part thereof and / or data that belong to the first computer program or can be used in the execution of the first computer program, for example parameters for the first computer program, can be present in the first memory area.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die erste Überprüfung zum Gegenstand hat, zu ermitteln, ob der wenigstens eine erste Speicherbereich einen vorgebbaren ersten Inhalt aufweist.In further preferred embodiments it is provided that the object of the first check is to determine whether the at least one first memory area has a predeterminable first content.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Überprüfung des ersten Speicherbereichs unter Verwendung eines schlüsselbasierten Nachrichtenauthentifizierungscodes, CMAC (Cipher-based Message Authentication Code) ausgeführt wird. Dadurch ist eine besonders effiziente Überprüfung ermöglicht. Eine Internetpublikation, die sich auf eine beispielhafte Ausgestaltung des CMAC-Verfahrens bezieht, ist beispielsweise unter https://doi.org/10.6028%2Fnist.sp.800-38b abrufbar.In further preferred embodiments it is provided that the checking of the first memory area is carried out using a key-based message authentication code, CMAC (Cipher-based Message Authentication Code). This enables a particularly efficient check. An Internet publication that relates to an exemplary embodiment of the CMAC process can be found, for example, at https://doi.org/10.6028%2Fnist.sp.800-38b.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Recheneinrichtung dazu ausgebildet ist, die erste Überprüfung, beispielsweise mittels CMAC-Bildung, selbst auszuführen.In further preferred embodiments, it is provided that the computing device is designed to carry out the first check itself, for example by means of CMAC formation.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Recheneinrichtung dazu ausgebildet ist, die erste Überprüfung durch eine weitere Einheit, insbesondere durch ein Kryptografiemodul bzw. Hardware-Sicherheitsmodul, ausführen zu lassen. Hierzu kann die Recheneinrichtung der weiteren Einheit beispielsweise die gewünschte erste Überprüfung charakterisierende Parameter (z.B. Speicher- bzw. Adressbereich innerhalb der Speichereinrichtung) übermitteln. Sodann kann die weitere Einheit die Überprüfung gemäß den übermittelten Parametern ausführen. Daraufhin kann die weitere Einheit das Ergebnis der Überprüfung z.B. der Recheneinrichtung signalisieren.In further preferred embodiments, it is provided that the computing device is designed to have the first check carried out by a further unit, in particular by a cryptography module or hardware security module. For this purpose, the computing device can, for example, transmit the parameters characterizing the desired first check (e.g. memory or address area within the memory device) to the further unit. The further unit can then carry out the check according to the transmitted parameters. The further unit can then check the result of the check e.g. signal the computing device.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Kryptografiemodul eine, vorzugsweise in das Kryptografiemodul integrierte, Speichereinheit zur Speicherung wenigstens eines Referenzwerts und/oder eines Referenzlayouts für den wenigstens einen ersten Speicherbereich aufweist. Bei bevorzugten Ausführungsformen kann der Referenzwert beispielsweise einen CMAC-Wert für einen vorgebbaren Speicherinhalt repräsentieren, der beispielsweise mit einem CMAC-Wert vergleichbar ist, der bei der Überprüfung des wenigstens einen ersten Speicherbereichs durch das Kryptografiemodul ermittelt worden ist. Sofern der ermittelte CMAC-Wert von dem Referenzwert abweicht, kann auf eine unzulässige Veränderung des Speicherinhalts des überprüften Speicherbereichs geschlossen werden. Für weitere Speicherbereiche der Speichereinrichtung können in entsprechender Weise weitere Referenzwerte vorgesehen sein.In further preferred embodiments, it is provided that the cryptography module has a memory unit, preferably integrated in the cryptography module, for storing at least one reference value and / or a reference layout for the at least one first memory area. In preferred embodiments, the reference value can represent, for example, a CMAC value for a predeterminable memory content, which is comparable, for example, to a CMAC value that was determined when the at least one first memory area was checked by the cryptography module. If the determined CMAC value deviates from the reference value, an impermissible change in the memory content of the checked memory area can be concluded. Additional reference values can be provided in a corresponding manner for further memory areas of the memory device.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Recheneinrichtung und/oder die Speichereinrichtung und/oder das Kryptografiemodul jeweils als integrierte Schaltung ausgebildet ist, und dass die Recheneinrichtung und/oder die Speichereinrichtung und/oder das Kryptografiemodul auf einem selben Halbleitersubstrat angeordnet sind.In further preferred embodiments, it is provided that the computing device and / or the storage device and / or the cryptography module are each designed as an integrated circuit, and that the computing device and / or the storage device and / or the cryptography module are arranged on the same semiconductor substrate.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Recheneinrichtung dazu ausgebildet ist, das erste Computerprogramm auszuführen, wenn die erste Überprüfung ergeben hat, dass der wenigstens eine erste Speicherbereich den vorgebbaren ersten Inhalt aufweist, wobei insbesondere die Recheneinrichtung dazu ausgebildet ist, das erste Computerprogramm nicht auszuführen, wenn die erste Überprüfung ergeben hat, dass der wenigstens eine erste Speicherbereich nicht den vorgebbaren ersten Inhalt aufweist. Dadurch ist sichergestellt, dass im Falle einer möglichen Manipulation des ersten Speicherbereichs das erste Computerprogramm nicht ausgeführt wird, wodurch eine ggf. weitergehende Kompromittierung der Recheneinrichtung bzw. der Speichereinrichtung verhindert wird.In further preferred embodiments it is provided that the computing device is designed to execute the first computer program when the first check has shown that the at least one first memory area has the predeterminable first content, in particular the computing device being designed for this is not to execute the first computer program if the first check has shown that the at least one first memory area does not have the predefinable first content. This ensures that in the event of a possible manipulation of the first memory area, the first computer program is not executed, thereby preventing any further compromise of the computing device or the memory device.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Recheneinrichtung dazu ausgebildet ist, die folgenden Schritte auszuführen, wenn die erste Überprüfung ergeben hat, dass der wenigstens eine erste Speicherbereich nicht den vorgebbaren ersten Inhalt aufweist: Veranlassen einer zweiten Überprüfung wenigstens eines zweiten Speicherbereichs der Speichereinrichtung, der mit einem zweiten Computerprogramm für die Recheneinrichtung assoziiert ist (also beispielsweise zumindest einen Teil des zweiten Computerprogramms und/oder Parameter für das zweite Computerprogramm enthält), auf einen vorgebbaren zweiten Inhalt hin, Ausführen des zweiten Computerprogramms, wenn die zweite Überprüfung ergeben hat, dass der zweite Speicherbereich den vorgebbaren zweiten Inhalt aufweist. Dadurch kann im Falle einer möglichen Manipulation des ersten Speicherbereichs vorteilhaft ggf. das mit dem zweiten Speicherbereich assoziierte zweite Computerprogramm ausgeführt werden.In further preferred embodiments, it is provided that the computing device is designed to carry out the following steps if the first check has shown that the at least one first memory area does not have the predeterminable first content: causing a second check of at least one second memory area of the memory device, which is associated with a second computer program for the computing device (that is to say for example contains at least part of the second computer program and / or parameters for the second computer program), in response to a predeterminable second content, execution of the second computer program if the second check has shown that the second memory area has the predeterminable second content. In this way, in the event of possible manipulation of the first memory area, the second computer program associated with the second memory area can advantageously be executed.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das zweite Computerprogramm dazu ausgebildet ist, einen oder mehrere Speicherbereiche der Speichereinrichtung zu beschreiben, insbesondere neu zu programmieren. Dadurch kann im Falle einer möglichen Manipulation des ersten Speicherbereichs vorteilhaft ggf. ein (erneutes) Beschreiben des ersten Speicherbereichs mit vorgebbarem (ersten) Inhalt bzw. vorgebbaren ersten Daten erfolgen, wodurch ein ordnungsgemäßer Betrieb der zuvor - hinsichtlich des ersten Computerprogramms - manipulierten Speichereinrichtung bzw. Recheneinrichtung wiederherstellbar ist.In further preferred embodiments it is provided that the second computer program is designed to write, in particular to reprogram, one or more memory areas of the memory device. In the event of a possible manipulation of the first memory area, this can advantageously result in (re) writing to the first memory area with predeterminable (first) content or predefinable first data, as a result of which the previously manipulated - with respect to the first computer program - manipulated memory device or Computing device is recoverable.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das zweite Computerprogramm dazu ausgebildet ist, den ersten Speicherbereich mit vorgebbaren Daten, insbesondere mit dem vorgebbaren ersten Inhalt, zu beschreiben. Auf diese Weise kann z.B. ein gewünschter Ausgangszustand wiederhergestellt werden.In further preferred embodiments it is provided that the second computer program is designed to write to the first memory area with predefinable data, in particular with the predefinable first content. In this way e.g. a desired initial state can be restored.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das zweite Programm ein Bootloader ist. Bei weiteren bevorzugten Ausführungsformen kann das vorstehend beispielhaft anhand des (ggf. manipulierten) ersten Speicherbereichs beschriebene Prinzip vorteilhaft auch auf ein oder mehrere weitere Speicherbereiche der Speichereinrichtung (oder einer anderen Speichereinrichtung, die der Recheneinrichtung zuordenbar ist) angewendet werden.In further preferred embodiments, it is provided that the second program is a boot loader. In further preferred embodiments, the principle described above by way of example using the (possibly manipulated) first memory area can advantageously also be applied to one or more further memory areas of the memory device (or another memory device that can be assigned to the computing device).

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Recheneinrichtung dazu ausgebildet ist, eine Fehlerreaktion einzuleiten, wenn die zweite Überprüfung ergeben hat, dass der zweite Speicherbereich nicht den vorgebbaren zweiten Inhalt aufweist. Dadurch kann eine ggf. weitergehende Kompromittierung der Recheneinrichtung bzw. der Speichereinrichtung verhindert werden. Bei weitere Ausführungsformen kann auch vorgesehen sein, bereits nach der ersten Überprüfung des ersten Speicherbereichs eine Fehlerreaktion einzuleiten.In further preferred embodiments, it is provided that the computing device is designed to initiate an error reaction if the second check has shown that the second memory area does not have the predeterminable second content. Any further compromise of the computing device or the storage device can thereby be prevented. In further embodiments, provision can also be made to initiate an error response after the first check of the first memory area.

Weitere bevorzugte Ausführungsformen beziehen sich auf ein Verfahren zum Betreiben einer Recheneinrichtung, die dazu ausgebildet ist, auf wenigstens einen Speicherbereich einer der Recheneinrichtung zugeordneten Speichereinrichtung zuzugreifen, wobei die Recheneinrichtung eine erste Überprüfung wenigstens eines ersten Speicherbereichs der Speichereinrichtung veranlasst, der mit einem ersten Computerprogramm für die Recheneinrichtung assoziiert ist, und in Abhängigkeit der ersten Überprüfung einen Betrieb der Recheneinrichtung steuert.Further preferred embodiments relate to a method for operating a computing device which is designed to access at least one memory area of a memory device assigned to the computing device, the computing device initiating a first check of at least one first memory area of the memory device which is carried out with a first computer program for the Computing device is associated, and controls an operation of the computing device depending on the first check.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Überprüfung zum Gegenstand hat, zu ermitteln, ob der wenigstens eine erste Speicherbereich einen vorgebbaren ersten Inhalt aufweist, wobei insbesondere die Recheneinrichtung a) die erste Überprüfung selbst ausführt, und/oder b) die erste Überprüfung durch eine weitere Einheit, insbesondere durch ein Kryptografiemodul, ausführen lässt.In further preferred embodiments, it is provided that the object of the check is to determine whether the at least one first memory area has a predeterminable first content, in particular the computing device a) carrying out the first check itself and / or b) performing the first check another unit, in particular by a cryptography module.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Recheneinrichtung das erste Computerprogramm ausführt, wenn die erste Überprüfung ergeben hat, dass der wenigstens eine erste Speicherbereich einen bzw. den vorgebbaren ersten Inhalt aufweist, wobei insbesondere die Recheneinrichtung das erste Computerprogramm nicht ausführt, wenn die erste Überprüfung ergeben hat, dass der wenigstens eine erste Speicherbereich nicht den vorgebbaren ersten Inhalt aufweist.In further preferred embodiments, it is provided that the computing device executes the first computer program when the first check has shown that the at least one first memory area has or the predeterminable first content, in particular the computing device not executing the first computer program when the first Check has shown that the at least one first memory area does not have the predeterminable first content.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Recheneinrichtung die folgenden Schritte ausführt, wenn die erste Überprüfung ergeben hat, dass der wenigstens eine erste Speicherbereich nicht den vorgebbaren ersten Inhalt aufweist: Veranlassen einer zweiten Überprüfung wenigstens eines zweiten Speicherbereichs der Speichereinrichtung, der mit einem zweiten Computerprogramm für die Recheneinrichtung assoziiert ist, auf einen vorgebbaren zweiten Inhalt hin, Ausführen des zweiten Computerprogramms, wenn die zweite Überprüfung ergeben hat, dass der zweite Speicherbereich den vorgebbaren zweiten Inhalt aufweist.In further preferred embodiments, it is provided that the computing device carries out the following steps if the first check has shown that the at least one first memory area does not have the predeterminable first content: initiating a second check of at least one second memory area of the memory device which is associated with a second Computer program associated with the computing device, on a predefinable second content, executing the second computer program when the second Check has shown that the second memory area has the predetermined second content.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Recheneinrichtung, insbesondere mittels des zweiten Computerprogramms, einen oder mehrere Speicherbereiche der Speichereinrichtung beschreibt, insbesondere neu programmiert, wobei insbesondere der erste Speicherbereich mit vorgebbaren Daten, insbesondere mit dem vorgebbaren ersten Inhalt, beschrieben wird.In further preferred embodiments, it is provided that the computing device, in particular by means of the second computer program, describes, in particular reprogrammed, one or more memory areas of the memory device, in particular the first memory area being described with predefinable data, in particular with the predefinable first content.

Weitere bevorzugte Ausführungsformen beziehen sich auf eine Verwendung der Recheneinrichtung gemäß den Ausführungsformen und/oder des Verfahrens gemäß den Ausführungsformen zur Überführung einer defekten und/oder manipulierten Speichereinrichtung in einen funktionsfähigen, insbesondere integren, Zustand.Further preferred embodiments relate to the use of the computing device according to the embodiments and / or the method according to the embodiments for converting a defective and / or manipulated storage device into a functional, in particular integral, state.

Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen der Erfindung, die in den Figuren der Zeichnung dargestellt sind. Dabei bilden alle beschriebenen oder dargestellten Merkmale für sich oder in beliebiger Kombination den Gegenstand der Erfindung, 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.Further features, possible applications and advantages of the invention result from the following description of exemplary embodiments of the invention, which are shown in the figures of the drawing. All of the described or illustrated features, alone or in any combination, form the subject matter of the invention, regardless of their summary in the claims or their relationship, and regardless of their formulation or representation in the description or in the drawing.

In der Zeichnung zeigt:

  • 1 schematisch ein vereinfachtes Blockdiagramm einer Recheneinrichtung gemäß einer Ausführungsform,
  • 2 schematisch ein vereinfachtes Blockdiagramm einer Recheneinrichtung gemäß einer weiteren Ausführungsform,
  • 3 schematisch ein vereinfachtes Flussdiagramm eines Verfahrens gemäß einer Ausführungsform,
  • 4 schematisch ein vereinfachtes Flussdiagramm eines Verfahrens gemäß einer weiteren Ausführungsform, und
  • 5 schematisch ein vereinfachtes Flussdiagramm eines Verfahrens gemäß einer weiteren Ausführungsform.
The drawing shows:
  • 1 schematically a simplified block diagram of a computing device according to an embodiment,
  • 2nd schematically a simplified block diagram of a computing device according to a further embodiment,
  • 3rd schematically a simplified flow diagram of a method according to an embodiment,
  • 4th schematically shows a simplified flow diagram of a method according to a further embodiment, and
  • 5 schematically shows a simplified flow diagram of a method according to a further embodiment.

1 zeigt schematisch ein vereinfachtes Blockdiagramm einer Recheneinrichtung 100 gemäß einer Ausführungsform. Bei bevorzugten Ausführungsformen kann die Recheneinrichtung 100 wenigstens einen Rechenkern 102 aufweisen und/oder einen Mikroprozessor und/oder einen Mikrocontroller oder dergleichen. Die Recheneinrichtung 100 ist dazu ausgebildet, auf wenigstens einen Speicherbereich 210, 220, 230 einer der Recheneinrichtung 100 zugeordneten Speichereinrichtung 200 (z.B. Flash-EEPROM und/oder flüchtiger Speicher oder dergleichen) zuzugreifen, beispielsweise um durch die Recheneinrichtung 100 ausführbare Programme und/oder entsprechende Daten zu laden. 1 shows schematically a simplified block diagram of a computing device 100 according to one embodiment. In preferred embodiments, the computing device 100 at least one computing core 102 have and / or a microprocessor and / or a microcontroller or the like. The computing device 100 is designed for at least one memory area 210 , 220 , 230 one of the computing devices 100 associated storage device 200 (eg flash EEPROM and / or volatile memory or the like) to access, for example, by the computing device 100 load executable programs and / or corresponding data.

Vorliegend weist die Speichereinrichtung 200 beispielsweise einen ersten Speicherbereich 210 auf, einen zweiten Speicherbereich 220, einen dritten Speicherbereich 230, sowie einen weiteren Speicherbereich 202. In dem weiteren Speicherbereich 202 ist beispielsweise ein als Boot-Manager BM ausgebildetes Programm für die Recheneinrichtung 100 gespeichert, das z.B. den Bootvorgang (Start nach Anschalten bzw. Reset bzw. Initialisierungsphase) der Recheneinrichtung 100 steuert. Der erste Speicherbereich 210 ist mit einem ersten Computerprogramm PRG1 für die Recheneinrichtung 100 assoziiert, enthält also wenigstens einen Teil des ersten Computerprogramms PRG1 für die Recheneinrichtung 100 und/oder für die Ausführung des ersten Computerprogramms PRG1 verwendbare Daten (z.B. Parameter). Der zweite Speicherbereich 220 ist mit einem zweiten Computerprogramm PRG2 für die Recheneinrichtung 100 assoziiert, enthält also wenigstens einen Teil des zweiten Computerprogramms PRG2 für die Recheneinrichtung 100 und/oder für die Ausführung des zweiten Computerprogramms PRG2 verwendbare Daten. Für den dritten Speicherbereich 230 gilt Vergleichbares.In the present case, the storage device 200 for example a first memory area 210 on, a second memory area 220 , a third memory area 230 , as well as another memory area 202 . In the further storage area 202 is, for example, as a boot manager BM trained program for the computing device 100 stored, for example the booting process (start after switching on or reset or initialization phase) of the computing device 100 controls. The first storage area 210 is with a first computer program PRG1 for the computing device 100 associated, thus contains at least part of the first computer program PRG1 for the computing device 100 and / or for the execution of the first computer program PRG1 usable data (eg parameters). The second storage area 220 is with a second computer program PRG2 for the computing device 100 associated, thus contains at least part of the second computer program PRG2 for the computing device 100 and / or for the execution of the second computer program PRG2 usable data. For the third memory area 230 Similar things apply.

Bei weiteren bevorzugten Ausführungsformen ist eine weitere Einheit 300, insbesondere ein Kryptografiemodul 300, vorgesehen, das ebenfalls auf die Speichereinrichtung 200 zugreifen kann, und das beispielsweise einen Rechenkern 302 aufweist und/oder einen Mikroprozessor und/oder einen Mikrocontroller oder dergleichen.In further preferred embodiments there is another unit 300 , especially a cryptographic module 300 , provided that also on the storage device 200 can access, and for example a computing core 302 has and / or a microprocessor and / or a microcontroller or the like.

Bei weiteren bevorzugten Ausführungsformen, vgl. das vereinfachte Blockdiagramm von 2, ist die Recheneinheit 100a (vergleichbar zu der Recheneinheit 100 gemäß 1) und/oder die Speichereinrichtung 200a (vergleichbar zu der Speichereinrichtung 200 gemäß 1) und/oder das Kryptografiemodul 300a (vergleichbar zu dem Kryptografiemodul 300 gemäß 1) jeweils als integrierte Schaltung 100a, 200a, 300a ausgebildet, wobei die Recheneinrichtung 100a und/oder die Speichereinrichtung 200a und/oder das Kryptografiemodul 300a auf einem selben Halbleitersubstrat 1002 angeordnet sind. Die Elemente 100a, 200a, 300a bilden somit vorteilhaft ein Ein-Chip-System (englisch: SoC) 1000.In further preferred embodiments, cf. the simplified block diagram of 2nd , is the computing unit 100a (comparable to the computing unit 100 according to 1 ) and / or the storage device 200a (comparable to the storage device 200 according to 1 ) and / or the cryptography module 300a (comparable to the cryptography module 300 according to 1 ) each as an integrated circuit 100a , 200a , 300a trained, the computing device 100a and / or the storage device 200a and / or the cryptography module 300a on a same semiconductor substrate 1002 are arranged. The Elements 100a , 200a , 300a thus advantageously form a one-chip system (English: SoC) 1000.

Die Recheneinrichtung 100, 100a ist dazu ausgebildet, eine erste Überprüfung des ersten Speicherbereichs 210 der Speichereinrichtung 200, 200a zu veranlassen. Dies ist durch Schritt 400 des Flussdiagramms gemäß 3 dargestellt. Die Recheneinrichtung 100, 100a ist ferner dazu ausgebildet, in Abhängigkeit der ersten Überprüfung einen Betrieb der Recheneinrichtung 100, 100a zu steuern, vgl. Schritt 410.The computing device 100 , 100a is designed to perform a first check of the first memory area 210 the storage device 200 , 200a to cause. This is by step 400 according to the flow chart 3rd shown. The computing device 100 , 100a is also trained in Operation of the computing device as a function of the first check 100 , 100a to control, cf. step 410 .

Durch das Überprüfen 400 ist vorteilhaft die Möglichkeit gegeben, einen Inhalt des ersten Speicherbereichs 210 beispielsweise auf Abweichungen gegenüber einem vorgebbaren Inhalt hin zu überprüfen. Hierdurch kann vorteilhaft beispielsweise die Ausführung von unsicheren bzw. durch einen Angreifer kompromittierten Computerprogrammen PRG1 durch die Recheneinrichtung 100, 100a verhindert werden. Auch können geänderte bzw. manipulierte Parameter für ein durch die Recheneinrichtung 100, 100a ausführbares Computerprogramm PRG1 mittels der Überprüfung erkannt werden.By checking 400 the possibility is advantageously given of a content of the first memory area 210 For example, to check for deviations from a predefinable content. This can advantageously be used, for example, to execute computer programs that are insecure or compromised by an attacker PRG1 through the computing device 100 , 100a be prevented. Changed or manipulated parameters for a by the computing device can also 100 , 100a executable computer program PRG1 can be recognized by means of the check.

Die Steuerung 410 des Betriebs der Recheneinrichtung 100, 100a kann bei weiteren bevorzugten Ausführungsformen beispielsweise die Ausführung wenigstens eines weiteren Computerprogramms PRG2 und/oder die Veranlassung einer weiteren Überprüfung und/oder das Einleiten einer Fehlerreaktion oder dergleichen umfassen.The control 410 the operation of the computing device 100 , 100a can, for example, execute at least one further computer program in further preferred embodiments PRG2 and / or cause another check and / or initiate an error response or the like.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die erste Überprüfung zum Gegenstand hat, zu ermitteln, ob der wenigstens eine erste Speicherbereich 210 einen vorgebbaren ersten Inhalt (z.B. erstes Computerprogramm PRG1 und/oder entsprechende Parameter) aufweist.In further preferred embodiments it is provided that the object of the first check is to determine whether the at least one first memory area 210 a predefinable first content (eg first computer program PRG1 and / or corresponding parameters).

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die erste Überprüfung (sowie ggf. weitere Überprüfungen von Speicherbereichen der Speichereinrichtung 200, 200a) unter Verwendung eines schlüsselbasierten Nachrichtenauthentifizierungscodes, CMAC (Cipher-based Message Authentication Code) ausgeführt wird. Dadurch ist eine besonders effiziente Überprüfung ermöglicht. Eine Internetpublikation, die sich auf eine beispielhafte Ausgestaltung des CMAC-Verfahrens bezieht, ist beispielsweise unter https://doi.org/10.6028%2Fnist.sp.800-38b abrufbar.In further preferred embodiments, it is provided that the first check (and possibly further checks of memory areas of the memory device 200 , 200a) using a key-based message authentication code, CMAC (Cipher-based Message Authentication Code). This enables a particularly efficient check. An Internet publication that relates to an exemplary embodiment of the CMAC process can be found, for example, at https://doi.org/10.6028%2Fnist.sp.800-38b.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Recheneinrichtung 100, 100a dazu ausgebildet ist, die erste Überprüfung, beispielsweise mittels CMAC-Bildung, selbst auszuführen. Bei weiteren bevorzugten Ausführungsformen kann hierfür beispielsweise ein entsprechendes Computerprogramm z.B. in den Boot-Manager BM integriert sein.In further preferred embodiments it is provided that the computing device 100 , 100a is designed to carry out the first check itself, for example by means of CMAC formation. In further preferred embodiments, for example, a corresponding computer program, for example in the boot manager BM be integrated.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Recheneinrichtung 100, 100a dazu ausgebildet ist, die erste Überprüfung durch eine weitere Einheit 300, insbesondere durch das Kryptografiemodul 300 bzw. Hardware-Sicherheitsmodul 300, ausführen zu lassen. Hierzu kann die Recheneinrichtung 100, 100a der weiteren Einheit 300, 300a beispielsweise die gewünschte erste Überprüfung charakterisierende Parameter (z.B. Speicher- bzw. Adressbereich innerhalb der Speichereinrichtung 200, 200a) übermitteln, vgl. den Pfeil A1 aus 1. Sodann kann die weitere Einheit 300, 300a die Überprüfung gemäß den übermittelten Parametern ausführen (z.B. mittels CMAC). Daraufhin kann die weitere Einheit 300, 300a das Ergebnis der Überprüfung z.B. der Recheneinrichtung 100, 100a signalisieren, vgl. den Pfeil A1.In further preferred embodiments it is provided that the computing device 100 , 100a is designed to carry out the first check by a further unit 300 , in particular through the cryptography module 300 or hardware security module 300 to have it carried out. For this purpose, the computing device 100 , 100a the further unity 300 , 300a for example, parameters characterizing the desired first check (eg memory or address area within the memory device 200 , 200a) transmit, cf. the arrow A1 out 1 . Then the further unit 300 , 300a carry out the check according to the transmitted parameters (e.g. using CMAC). Then the other unit 300 , 300a the result of the check, for example of the computing device 100 , 100a signal, cf. the arrow A1 .

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Kryptografiemodul 300, 300a eine, vorzugsweise in das Kryptografiemodul integrierte, Speichereinheit 302 zur Speicherung wenigstens eines Referenzwerts R (1) und/oder eines Referenzlayouts für den wenigstens einen ersten Speicherbereich 210 aufweist. Bei bevorzugten Ausführungsformen kann der Referenzwert R beispielsweise einen CMAC-Wert für einen vorgebbaren ersten Speicherinhalt des ersten Speicherbereichs 210 repräsentieren, der beispielsweise mit einem CMAC-Wert vergleichbar ist, der bei der Überprüfung des wenigstens einen ersten Speicherbereichs 210 durch das Kryptografiemodul 300, 300a ermittelt worden ist. Sofern der ermittelte CMAC-Wert von dem Referenzwert R abweicht, kann auf eine unzulässige Veränderung des Speicherinhalts des überprüften Speicherbereichs 210 geschlossen werden.In further preferred embodiments, it is provided that the cryptography module 300 , 300a a storage unit, preferably integrated in the cryptography module 302 for storing at least one reference value R ( 1 ) and / or a reference layout for the at least one first memory area 210 having. In preferred embodiments, the reference value R for example a CMAC value for a predeterminable first memory content of the first memory area 210 represent, which is comparable, for example, with a CMAC value, when checking the at least one first memory area 210 through the cryptography module 300 , 300a has been determined. If the determined CMAC value from the reference value R deviates, can lead to an impermissible change in the memory content of the checked memory area 210 getting closed.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Recheneinrichtung 100, 100a dazu ausgebildet ist, das erste Computerprogramm PRG1 auszuführen, wenn die erste Überprüfung ergeben hat, dass der wenigstens eine erste Speicherbereich 210 den vorgebbaren ersten Inhalt aufweist, wobei insbesondere die Recheneinrichtung 100, 100a dazu ausgebildet ist, das erste Computerprogramm PRG1 nicht auszuführen, wenn die erste Überprüfung ergeben hat, dass der wenigstens eine erste Speicherbereich 210 nicht den vorgebbaren ersten Inhalt aufweist. Dadurch ist sichergestellt, dass im Falle einer möglichen Manipulation des ersten Speicherbereichs 210 das erste Computerprogramm PRG1 nicht ausgeführt wird, wodurch eine ggf. weitergehende Kompromittierung der Recheneinrichtung 100, 100a bzw. der Speichereinrichtung 200, 200a verhindert wird.In further preferred embodiments it is provided that the computing device 100 , 100a is designed to be the first computer program PRG1 to be executed if the first check has shown that the at least one first memory area 210 has the predeterminable first content, in particular the computing device 100 , 100a is designed to be the first computer program PRG1 not to be executed if the first check has shown that the at least one first memory area 210 does not have the predeterminable first content. This ensures that in the event of possible manipulation of the first memory area 210 the first computer program PRG1 is not executed, which may result in further compromise of the computing device 100 , 100a or the storage device 200 , 200a is prevented.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Recheneinrichtung 100, 100a dazu ausgebildet ist, die folgenden Schritte auszuführen, wenn die erste Überprüfung ergeben hat, dass der wenigstens eine erste Speicherbereich 210 nicht den vorgebbaren ersten Inhalt aufweist, also ggf. manipuliert oder in sonstiger Weise unbeabsichtigt geändert worden ist: Veranlassen 450 (vgl. das Flussdiagramm gemäß 4) einer zweiten Überprüfung wenigstens eines zweiten Speicherbereichs 220 (1) der Speichereinrichtung 200, 200a, der mit einem zweiten Computerprogramm PRG2 für die Recheneinrichtung 100, 100a assoziiert ist (also beispielsweise zumindest einen Teil des zweiten Computerprogramms PRG2 und/oder Parameter für das zweite Computerprogramm PRG2 enthält), auf einen vorgebbaren zweiten Inhalt hin, Ausführen 452 (4) des zweiten Computerprogramms PRG2 , wenn die zweite Überprüfung ergeben hat, dass der zweite Speicherbereich 220 den vorgebbaren zweiten Inhalt aufweist. Dadurch kann im Falle einer möglichen Manipulation des ersten Speicherbereichs 210 vorteilhaft ggf. das mit dem zweiten Speicherbereich 220 assoziierte zweite Computerprogramm PRG2 ausgeführt werden.In further preferred embodiments it is provided that the computing device 100 , 100a is designed to carry out the following steps if the first check has shown that the at least one first memory area 210 does not have the predeterminable first content, that is, it may have been manipulated or otherwise inadvertently changed: cause 450 (see the flow chart according to 4th ) one second check of at least one second memory area 220 ( 1 ) the storage device 200 , 200a with a second computer program PRG2 for the computing device 100 , 100a is associated (for example, at least part of the second computer program PRG2 and / or parameters for the second computer program PRG2 contains), to a predefinable second content, execute 452 ( 4th ) of the second computer program PRG2 if the second check has shown that the second memory area 220 has the predeterminable second content. This can in the event of possible manipulation of the first memory area 210 if necessary, advantageously with the second memory area 220 associated second computer program PRG2 be carried out.

Das Veranlassen 450 bzw. das darauf folgende Überprüfen gemäß 4 kann analog zu dem Schritt 400 gemäß 3 erfolgen. Somit kann auch die Überprüfung des zweiten Speicherbereichs 220 ggf. durch die Recheneinrichtung 100, 100a selbst und/oder durch die weitere Einheit 300, 300a (z.B. Kryptografiemodul) ausgeführt werden.The cause 450 or the subsequent check according to 4th can be analogous to the step 400 according to 3rd respectively. The second memory area can thus also be checked 220 possibly by the computing device 100 , 100a itself and / or through the further unit 300 , 300a (e.g. cryptography module).

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das zweite Computerprogramm PRG2 (1) dazu ausgebildet ist, einen oder mehrere Speicherbereiche 210, 230 der Speichereinrichtung 200, 200a zu beschreiben, insbesondere neu zu programmieren. Dadurch kann im Falle einer möglichen Manipulation z.B. des ersten Speicherbereichs 210 vorteilhaft ggf. ein (erneutes) Beschreiben des ersten Speicherbereichs 210 mit vorgebbarem (ersten) Inhalt bzw. vorgebbaren ersten Daten erfolgen, wodurch ein ordnungsgemäßer Betrieb der zuvor - hinsichtlich des ersten Computerprogramms PRG1 - manipulierten Speichereinrichtung 200, 200a bzw. Recheneinrichtung 100, 100a wiederherstellbar ist.In further preferred embodiments it is provided that the second computer program PRG2 ( 1 ) is designed to one or more memory areas 210 , 230 the storage device 200 , 200a to describe, in particular to reprogram. In this way, in the event of possible manipulation, for example, the first memory area 210 advantageously a (re) writing of the first memory area if necessary 210 with predeterminable (first) content or predeterminable first data, thereby ensuring correct operation of the previously - with regard to the first computer program PRG1 - manipulated storage device 200 , 200a or computing device 100 , 100a is recoverable.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das zweite Computerprogramm PRG2 dazu ausgebildet ist, den ersten Speicherbereich 210 mit vorgebbaren Daten, insbesondere mit dem vorgebbaren ersten Inhalt, zu beschreiben. Auf diese Weise kann z.B. ein gewünschter Ausgangszustand wiederhergestellt werden, also ggf. manipulierte Speicherinhalte z.B. überschrieben werden.In further preferred embodiments it is provided that the second computer program PRG2 is designed for the first memory area 210 with predefinable data, in particular with the predefinable first content. In this way, for example, a desired initial state can be restored, ie manipulated memory contents can be overwritten, for example.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das zweite Computerprogramm PRG2 ein Bootloader ist. Bei weiteren bevorzugten Ausführungsformen kann das vorstehend beispielhaft anhand des (ggf. manipulierten) ersten Speicherbereichs 210 beschriebene Prinzip vorteilhaft auch auf ein oder mehrere weitere Speicherbereiche 220, 230 der Speichereinrichtung 200, 200a (oder einer anderen Speichereinrichtung (nicht gezeigt), die der Recheneinrichtung 100, 100a zuordenbar ist) angewendet werden.In further preferred embodiments it is provided that the second computer program PRG2 is a boot loader. In further preferred embodiments, this can be done using the first (possibly manipulated) first memory area as an example 210 The principle described advantageously also applies to one or more further memory areas 220 , 230 the storage device 200 , 200a (or another storage device (not shown) that the computing device 100 , 100a assignable) can be used.

Beispielsweise kann das zweite Computerprogramm PRG2 als Bootloader ausgeführt sein, der einen oder mehrere Speicherbereiche 210, 230 der Speichereinrichtung 200, 200a (re-)programmieren kann.For example, the second computer program PRG2 be designed as a boot loader, the one or more memory areas 210 , 230 the storage device 200 , 200a can (re) program.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Recheneinrichtung 100, 100a dazu ausgebildet ist, eine Fehlerreaktion einzuleiten, wenn die zweite Überprüfung ergeben hat, dass der zweite Speicherbereich 220 (z.B. Bootloader) nicht den vorgebbaren zweiten Inhalt aufweist. Dadurch kann eine ggf. weitergehende Kompromittierung der Recheneinrichtung 100, 100a bzw. der Speichereinrichtung 200, 200a verhindert werden, insbesondere z.B. die Ausführung eines manipulierten Bootloaders verhindert werden.In further preferred embodiments it is provided that the computing device 100 , 100a is designed to initiate an error response if the second check has shown that the second memory area 220 (eg boot loader) does not have the predeterminable second content. This can result in any further compromise of the computing device 100 , 100a or the storage device 200 , 200a can be prevented, in particular, for example, the execution of a manipulated boot loader can be prevented.

Weitere bevorzugte Ausführungsformen beziehen sich auf das vorstehend unter Bezugnahme auf 3 beschriebene Verfahren sowie entsprechende Ausführungsformen, vgl. z.B. 4.Further preferred embodiments relate to the above with reference to FIG 3rd described methods and corresponding embodiments, cf. e.g. 4th .

Weitere bevorzugte Ausführungsformen beziehen sich auf eine Verwendung der Recheneinrichtung 100, 100a gemäß den Ausführungsformen und/oder des Verfahrens gemäß den Ausführungsformen zur Überführung einer defekten und/oder manipulierten Speichereinrichtung 200, 200a in einen funktionsfähigen, insbesondere integren, Zustand.Further preferred embodiments relate to the use of the computing device 100 , 100a according to the embodiments and / or the method according to the embodiments for transferring a defective and / or manipulated storage device 200 , 200a in a functional, in particular integral, condition.

5 zeigt schematisch ein vereinfachtes Flussdiagramm eines Verfahrens gemäß weiterer bevorzugter Ausführungsformen. Der Bereich 100' umfasst i.w. auf Seiten der Recheneinrichtung 100, 100a (1, 2) ausgeführte Schritte, wobei die in dem Block BM' enthaltenen Schritte beispielsweise durch den (bzw. unter Steuerung von dem) Bootmanager BM der Recheneinrichtung 100 ausgeführt werden, und der Bereich 300' umfasst i.w. auf Seiten des Kryptografiemoduls 300 ausgeführte Schritte. 5 schematically shows a simplified flow diagram of a method according to further preferred embodiments. The area 100 ' includes iw on the part of the computing device 100 , 100a ( 1 , 2nd ) steps carried out, the in block BM 'Contained steps, for example, by (or under the control of) the boot manager BM the computing device 100 run and the area 300 ' includes iw on the part of the cryptography module 300 steps performed.

In Schritt S1 startet die Recheneinrichtung 100. Bei weiteren optionalen Ausführungsformen, die weiter unten erläutert werden, kann ein Start der Recheneinrichtung 100 gegebenenfalls auch durch das Kryptografiemodul 300 freigegeben werden, vergleiche die optionalen Schritte S01 bis S05. Zunächst jedoch wird davon ausgegangen, dass die Recheneinrichtung 100 bereits gestartet ist, vergleiche Schritt S1.In step S1 starts the computing device 100 . In further optional embodiments, which are explained below, the computing device can be started 100 if necessary also by the cryptography module 300 released, compare the optional steps S01 to S05 . First, however, it is assumed that the computing device 100 has already started, compare step S1 .

In Schritt S2 veranlasst (analog zu Schritt 400 gemäß 3) die Recheneinrichtung 100 eine erste Überprüfung wenigstens des ersten Speicherbereichs 210 der Speichereinrichtung 200. Dementsprechend werden die erste Überprüfung charakterisierende Informationen an das Kryptografiemodul 300 bzw. 300' übertragen, vergleiche den Doppelpfeil A1. In Schritt S20 führt das Kryptografiemodul die erste Überprüfung C1 des ersten Speicherbereichs 210 (1) aus, beispielsweise unter Anwendung eines CMAC-Verfahrens, bei dem beispielsweise ein CMAC-Wert in Abhängigkeit des aktuellen Speicherinhalts des ersten Speicherbereichs 210 gebildet wird, der durch das Kryptografiemodul mit einem CMAC-Referenzwert R (1) für einen vorgebbaren ersten Inhalt des ersten Speicherbereichs 210 verglichen wird. Ein Vergleichsergebnis, das das Ergebnis der ersten Überprüfung charakterisiert, wird der Recheneinrichtung 100 zugeführt, vergleiche den Doppelpfeil A1.In step S2 prompted (analogous to step 400 according to 3rd ) the computing device 100 a first check of at least the first memory area 210 the storage device 200 . Accordingly, the first review characterizing information to the cryptography module 300 respectively. 300 ' transferred, compare the double arrow A1 . In step S20 the cryptography module performs the first check C1 of the first memory area 210 ( 1 ), for example using a CMAC method, in which, for example, a CMAC value depending on the current memory content of the first memory area 210 is formed by the cryptography module with a CMAC reference value R ( 1 ) for a predeterminable first content of the first memory area 210 is compared. The computing device receives a comparison result that characterizes the result of the first check 100 fed, compare the double arrow A1 .

Alternativ oder ergänzend kann die erste Überprüfung des ersten Speicherbereichs 210 auch durch die Recheneinrichtung selbst ausgeführt werden, vergleiche den optionalen Block S2' und den optionalen Doppelpfeil A1'. Der optionale Block S2' kann beispielsweise einen zu dem Block C1 vergleichbaren Inhalt (CMAC-Bildung, Vergleich mit Referenzwert R) aufweisen.As an alternative or in addition, the first check of the first memory area can 210 can also be executed by the computing device itself, compare the optional block S2 ' and the optional double arrow A1 ' . The optional block S2 ' can for example one to the block C1 comparable content (CMAC formation, comparison with reference value R ) exhibit.

In Schritt S3 überprüft die Recheneinrichtung 100, ob die erste Überprüfung C1 (bevorzugt ausgeführt durch das Kryptografiemodul 300, alternativ oder ergänzend gegebenenfalls auch mittels Block S2') ergeben hat, dass der wenigstens eine erste Speicherbereich 210 den vorgebbaren ersten Inhalt aufweist. Sofern dies der Fall ist, wird zu Schritt S4 verzweigt, der Ausführung des ersten Computerprogramms PRG1 einleitet, vergleiche die Schritte S5, S5'. Dementsprechend sind gemäß 5 die Schritte S5, S5' symbolisch in dem Block PRG1' zusammengefasst. Da die erste Überprüfung C1 ergeben hat, dass der erste Speicherbereich 210 seinen vorgebbaren ersten Inhalt aufweist, kann nämlich davon ausgegangen werden, dass der erste Speicherbereich 210 bzw. die darin vorhandenen Informationen (erstes Computerprogramm PRG1 und/oder zugehörige Daten wie beispielsweise Parameter) nicht manipuliert bzw. in sonstiger Weise unerwünscht verändert worden sind, sodass eine sichere Ausführung des ersten Computerprogramms PRG1 möglich ist.In step S3 checks the computing device 100 whether the first review C1 (preferably carried out by the cryptography module 300 , alternatively or additionally, if necessary also by means of a block S2 ' ) has shown that the at least one first memory area 210 has the predeterminable first content. If so, go to step S4 branches, the execution of the first computer program PRG1 initiates, compare the steps S5 , S5 ' . Accordingly, according to 5 the steps S5 , S5 ' symbolically in the block PRG1 ' summarized. Because the first review C1 has revealed that the first memory area 210 has its predeterminable first content, it can be assumed that the first memory area 210 or the information contained therein (first computer program PRG1 and / or associated data such as parameters) have not been manipulated or otherwise undesirably changed, so that the first computer program can be executed safely PRG1 is possible.

Sofern mittels der Überprüfung aus Schritt S3 festgestellt wird, dass die erste Überprüfung C1 des ersten Speicherbereichs 210 ergeben hat, dass der erste Speicherbereich 210 den vorgebbaren ersten Inhalt nicht aufweist, wird gemäß 5 zu Schritt S6 verzweigt. In Schritt S6 erfolgt ein Veranlassen (analog zu Schritt 450 gemäß 4) einer zweiten Überprüfung C2 wenigstens eines zweiten Speicherbereichs 220 der Speichereinrichtung 200, der mit dem zweiten Computerprogramm PRG2 assoziiert ist, auf einen vorgebbaren zweiten Inhalt hin. Entsprechende Informationen werden dem Kryptografiemodul 300, 300' mittels dem Doppelpfeil A2 zugeleitet, das in Schritt S21 die zweite Überprüfung C2 (vergleichbar zu der ersten Überprüfung C1) ausführt. Das Ergebnis der zweiten Überprüfung C2 wird der Recheneinrichtung 100, 100' mitgeteilt, vergleiche ebenfalls den Doppelpfeil A2.If using the check from step S3 it is found that the first review C1 of the first memory area 210 has revealed that the first memory area 210 does not have the predefinable first content, is according to 5 to step S6 branches. In step S6 there is an initiation (analogous to step 450 according to 4th ) a second review C2 at least one second memory area 220 the storage device 200 with the second computer program PRG2 is associated with a predefinable second content. Corresponding information is the cryptography module 300 , 300 ' by means of the double arrow A2 forwarded that in step S21 the second review C2 (comparable to the first review C1 ) executes. The result of the second review C2 becomes the computing device 100 , 100 ' communicated, also compare the double arrow A2 .

Sofern die zweite Überprüfung C2 ergibt (vergleiche Schritt S7 aus 5), dass der zweite Speicherbereich 220 den vorgebbaren zweiten Inhalt aufweist, wird zu Schritt S9 verzweigt, der die Ausführung des mit dem zweiten Speicherbereich 220 assoziierten zweiten Computerprogramms PRG2 zum Gegenstand hat, vergleiche die Schritte S10, S11. Vorliegend ist das zweite Computerprogramm PRG2 beispielsweise ein Bootloader der Recheneinrichtung 100. dementsprechend sind die Schritte S10, S11 gemäß 5 in dem Block PRG2', BL' zusammengefasst. Die Ausführung des Bootloaders BL` gemäß Schritt S9 ermöglicht dabei vorteilhaft, beispielsweise den manipulierten bzw. als fehlerhaft erkannten ersten Speicherbereich 210 neu zu beschreiben, insbesondere neu mit dem ersten Computerprogramm PRG1 bzw. mit entsprechenden Daten beschreiben, also die Wiederherstellung eines ordnungsgemäßen, nicht manipulierten Zustands. Mit anderen Worten kann unter Anwendung des Prinzips gemäß den Ausführungsformen eine sichere Re-Programmierung des ersten Speicherbereichs 210 ausgeführt werden.Unless the second review C2 results (compare step S7 out 5 ) that the second memory area 220 having the predeterminable second content becomes step S9 which branches the execution of the with the second memory area 220 associated second computer program PRG2 the subject, compare the steps S10 , S11 . The second computer program is present PRG2 for example a boot loader of the computing device 100 . the steps are accordingly S10 , S11 according to 5 in the block PRG2 ', BL ' summarized. The execution of the boot loader BL `according to step S9 advantageously enables, for example, the manipulated or incorrectly identified first memory area 210 new to describe, especially new with the first computer program PRG1 or describe it with appropriate data, i.e. the restoration of a correct, non-manipulated state. In other words, using the principle according to the embodiments, a safe re-programming of the first memory area 210 be carried out.

Sofern jedoch die zweite Überprüfung C2 ergibt, vergleiche Schritt S7, dass der zweite Speicherbereich 220 nicht den vorgebbaren zweiten Inhalt aufweist, also gegebenenfalls möglicherweise ebenfalls manipuliert bzw. in sonstiger Weise unerwünscht verändert worden ist, wird zu Schritt S8 verzweigt, der eine Fehlerreaktion zum Gegenstand hat. Bei weiteren bevorzugten Ausführungsformen kann die Fehlerreaktion S8 beispielsweise ein Deaktivieren der Recheneinrichtung 100 und/oder eine Signalisierung des Fehlerzustands an eine externe Einheit (nicht gezeigt) umfassen und/oder das Überprüfen bzw. Veranlassen einer Überprüfung eines weiteren Speicherbereichs 230.Unless, however, the second review C2 results, compare step S7 that the second storage area 220 does not have the predeterminable second content, that is, possibly also possibly manipulated or has otherwise been undesirably changed, becomes step S8 branches, which deals with an error response. In further preferred embodiments, the error response S8 for example, deactivating the computing device 100 and / or signaling the error state to an external unit (not shown) and / or checking or initiating a check of a further memory area 230 .

Bei weiteren bevorzugten Ausführungsformen kann die Recheneinrichtung 100, 100a bzw. das SoC 1000 (2) in einem Steuergerät, insbesondere für ein Fahrzeug, beispielsweise für ein Kraftfahrzeug, verwendet werden, beispielsweise zur Steuerung des Betriebs einer Brennkraftmaschine und/oder eines anderen Systems des Kraftfahrzeugs. Das Prinzip gemäß den Ausführungsformen ermöglicht vorteilhaft, dass ein Steuergerät, welches hinsichtlich seiner Software, beispielsweise hinsichtlich des ersten Computerprogramms PRG1, manipuliert worden ist, wieder in ein integres Steuergerät bzw. einen integren Zustand überführt werden kann, insbesondere wenn eine Integrität des Bootmanagers BM (1) und des Bootloaders BL, PRG2 gegeben sind.In further preferred embodiments, the computing device 100 , 100a or the SoC 1000 ( 2nd ) are used in a control device, in particular for a vehicle, for example for a motor vehicle, for example for controlling the operation of an internal combustion engine and / or another system of the motor vehicle. The principle according to the embodiments advantageously makes it possible for a control device which, with regard to its software, for example with regard to the first computer program PRG1 , has been manipulated, can be converted back to an integral control unit or an integral state, in particular if the integrity of the boot manager BM ( 1 ) and the boot loader BL , PRG2 given are.

Bei weiteren bevorzugten Ausführungsformen werden der Bootmanager BM und/oder der Bootloader BL in einen eigens gesicherten Speicherbereich 202 der Speichereinrichtung 200 (bzw. einer anderen Speichereinrichtung (nicht gezeigt), auf die die Recheneinrichtung zugreifen kann) gelegt, wodurch eine Manipulation weiter erschwert wird. Beispielsweise können der Bootmanager BM und/oder der Bootloader BL in einen OTP (one time programmable)-Speicherbereich, der nur einmalig geschrieben werden kann, oder in einen eigenen geschützten Bereich, der beispielsweise mittels eines Passworts absicherbar ist, geschrieben werden.In other preferred embodiments, the boot manager BM and / or the boot loader BL in a specially secured storage area 202 the storage device 200 (or another storage device (not shown), which the computing device can access), which makes manipulation even more difficult. For example, the boot manager BM and / or the boot loader BL in a OTP (one time programmable) memory area that can only be written once, or in a separate protected area that can be secured, for example, by means of a password.

Das Prinzip gemäß den Ausführungsformen ermöglicht vorteilhaft die Wiederherstellung eines integren Zustands der Speichereinrichtung 200, 200a bzw. der Recheneinrichtung 100, 100a bzw. eines die Recheneinrichtung 100, 100a enthaltenden Zielsystems (beispielsweise Steuergerät), wobei diese Wiederherstellung vorteilhaft im Feld angewendet werden kann, also dann, wenn die Recheneinrichtung 100, 100a in einem Zielsystem eingebaut ist. Dadurch wird vorteilhaft gegebenenfalls ein Austausch des Zielsystems bzw. Steuergeräts und/oder eine erneute Handhabung des Steuergeräts, beispielsweise im Wege einer Reparatur bzw. einer Rückläufer-Analyse, vermieden.The principle according to the embodiments advantageously enables the integrity of the memory device to be restored 200 , 200a or the computing device 100 , 100a or one the computing device 100 , 100a containing target system (for example control device), this recovery can advantageously be used in the field, that is when the computing device 100 , 100a is installed in a target system. This advantageously avoids, if necessary, an exchange of the target system or control device and / or a new handling of the control device, for example by means of a repair or a return analysis.

Bei weiteren bevorzugten Ausführungsformen kann ein Start der Recheneinrichtung 100 gegebenenfalls durch das Kryptografiemodul 300 verhindert bzw. freigegeben werden, vergleiche die optionalen Schritte S01 bis S05 gemäß 5. Dadurch kann die Sicherheit des Betriebs der Recheneinrichtung 100 weiter gesteigert werden. In Schritt S01 startet das Kryptografiemodul 300, 300'. In Schritt S02 führt das Kryptografiemodul 300, 300' eine Überprüfung des Bootmanagers BM, BM' der Recheneinrichtung 100 aus, wodurch eine gegebenenfalls vorhandene Manipulation des Bootmanagers BM, BM' feststellbar ist. Die Überprüfung gemäß Schritt S02 kann beispielsweise ebenfalls mittels eines CMAC- Verfahrens unter Vergleich mit einem vorgebbaren Referenzwert R (1) ausgeführt werden (also z.B. CMACbasierte Überprüfung des Speicherbereichs 202, der den Bootmanager BM aufweist). In Schritt S03 wird überprüft, ob die Überprüfung gemäß Schritt S02 einen Fehler ergibt (z.B. aufgrund eines manipulierten Bootmanagers BM). Ist dies der Fall, wird zu Schritt S05 verzweigt, in dem die Recheneinrichtung 100 deaktiviert wird. Ist dies nicht der Fall, wird zu Schritt S04 verzweigt, in dem das Kryptografiemodul 300 einen Start der Recheneinrichtung 100 freigibt, vergleiche Pfeil A01. Zuvor kann das Kryptografiemodul 300 die Recheneinrichtung 100 beispielsweise in einem Rücksetz (Reset)-Zustand halten, sodass die Recheneinrichtung 100 nicht starten kann, bevor die Überprüfung gemäß Schritt S03 ausgeführt ist. Dadurch ergibt sich ein besonders sicherer Betrieb der Recheneinrichtung 100. Zum einen kann die Integrität des Bootmanagers BM, BM' überprüft und ein Start der Recheneinrichtung 100, 100' erst nach erfolgreicher Überprüfung des Bootmanagers BM, BM' freigegeben werden, vergleiche die Schritte S01 bis S04. Sodann kann die Recheneinrichtung 100, 100' selbst weitere Speicherbereiche 210, 220 bzw. damit assoziierte Computerprogramme PRG1, PRG2 überprüfen bzw. durch das Kryptografiemodul 300 überprüfen lassen, vergleiche die Schritte C1, C2. Weiter ist bei bevorzugten Ausführungsformen die Möglichkeit der Re-Programmierung gegebenenfalls unerwünscht veränderter beziehungsweise manipulierter Speicherbereiche gegeben.In further preferred embodiments, the computing device can be started 100 if necessary, through the cryptography module 300 prevented or released, compare the optional steps S01 to S05 according to 5 . This can ensure the security of the operation of the computing device 100 can be further increased. In step S01 starts the cryptography module 300 , 300 ' . In step S02 leads the cryptography module 300 , 300 ' a review of the boot manager BM , BM 'of the computing device 100 , which means that the boot manager may be manipulated BM , BM 'is noticeable. The check according to step S02 can, for example, also by means of a CMAC method with comparison with a predefinable reference value R ( 1 ) are executed (e.g. CMAC-based checking of the memory area 202 who is the boot manager BM having). In step S03 it is checked whether the check according to step S02 results in an error (e.g. due to a manipulated boot manager BM ). If it does, go to step S05 branches in which the computing device 100 is deactivated. If not, go to step S04 branches in which the cryptography module 300 a start of the computing device 100 releases, compare arrow A01 . Before that, the cryptography module 300 the computing device 100 hold in a reset state, for example, so that the computing device 100 cannot start before checking according to step S03 is executed. This results in a particularly safe operation of the computing device 100 . First, the integrity of the boot manager BM , BM 'checked and a start of the computing device 100 , 100 ' only after successful verification of the boot manager BM , BM 'released, compare the steps S01 to S04 . The computing device can then 100 , 100 ' even more memory areas 210 , 220 or associated computer programs PRG1 , PRG2 check or through the cryptography module 300 have it checked, compare the steps C1 , C2 . Furthermore, in preferred embodiments, there is the possibility of reprogramming memory areas that may have been undesirably changed or manipulated.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

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.This list of documents listed by the applicant has been generated automatically and is only included for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturPatent literature cited

  • DE 102008041360 A1 [0003]DE 102008041360 A1 [0003]

Claims (14)

Recheneinrichtung (100; 100a), die dazu ausgebildet ist, auf wenigstens einen Speicherbereich (210, 220, 230) einer der Recheneinrichtung (100; 100a) zugeordneten Speichereinrichtung (200; 200a) zuzugreifen, wobei die Recheneinrichtung (100; 100a) dazu ausgebildet ist, eine erste Überprüfung (C1) wenigstens eines ersten Speicherbereichs (210) der Speichereinrichtung (200) zu veranlassen (400), der mit einem ersten Computerprogramm (PRG1; SW2) für die Recheneinrichtung (100; 100a) assoziiert ist, und in Abhängigkeit der ersten Überprüfung (C1) einen Betrieb der Recheneinrichtung (100; 100a) zu steuern (410).Computing device (100; 100a), which is designed to access at least one memory area (210, 220, 230) of a memory device (200; 200a) assigned to the computing device (100; 100a), the computing device (100; 100a) being designed to do so is to initiate (400) a first check (C1) of at least a first memory area (210) of the memory device (200) which is associated with a first computer program (PRG1; SW2) for the computing device (100; 100a), and as a function thereof the first check (C1) to control (410) an operation of the computing device (100; 100a). Recheneinrichtung (100; 100a) nach Anspruch 1, wobei die erste Überprüfung (C1) zum Gegenstand hat, zu ermitteln, ob der wenigstens eine erste Speicherbereich (210) einen vorgebbaren ersten Inhalt aufweist.Computing device (100; 100a) after Claim 1 The object of the first check (C1) is to determine whether the at least one first memory area (210) has a predefinable first content. Recheneinrichtung (100; 100a) nach wenigstens einem der vorstehenden Ansprüche, wobei die Recheneinrichtung (100; 100a) dazu ausgebildet ist, a) die erste Überprüfung (C1) selbst auszuführen, und/oder b) die erste Überprüfung (C1) durch eine weitere Einheit (300; 300a), insbesondere durch ein Kryptografiemodul (300; 300a), ausführen zu lassen.Computing device (100; 100a) according to at least one of the preceding claims, wherein the computing device (100; 100a) is designed to a) carry out the first check (C1) itself, and / or b) the first check (C1) by a further one Unit (300; 300a), in particular by a cryptography module (300; 300a). Recheneinrichtung (100; 100a) nach wenigstens einem der Ansprüche 2 bis 3, wobei die Recheneinrichtung (100; 100a) dazu ausgebildet ist, das erste Computerprogramm (PRG1; SW2) auszuführen, wenn die erste Überprüfung (C1) ergeben hat, dass der wenigstens eine erste Speicherbereich (210) den vorgebbaren ersten Inhalt aufweist, und wobei insbesondere die Recheneinrichtung (100; 100a) dazu ausgebildet ist, das erste Computerprogramm (PRG1; SW2) nicht auszuführen, wenn die erste Überprüfung (C1) ergeben hat, dass der wenigstens eine erste Speicherbereich (210) nicht den vorgebbaren ersten Inhalt aufweist.Computing device (100; 100a) according to at least one of the Claims 2 to 3rd , wherein the computing device (100; 100a) is designed to execute the first computer program (PRG1; SW2) if the first check (C1) has shown that the at least one first memory area (210) has the predefinable first content, and wherein in particular, the computing device (100; 100a) is designed not to execute the first computer program (PRG1; SW2) if the first check (C1) has shown that the at least one first memory area (210) does not have the predefinable first content. Recheneinrichtung (100; 100a) nach wenigstens einem der Ansprüche 2 bis 4, wobei die Recheneinrichtung (100; 100a) dazu ausgebildet ist, die folgenden Schritte auszuführen, wenn die erste Überprüfung (C1) ergeben hat, dass der wenigstens eine erste Speicherbereich (210) nicht den vorgebbaren ersten Inhalt aufweist: Veranlassen (450) einer zweiten Überprüfung (C2) wenigstens eines zweiten Speicherbereichs (220) der Speichereinrichtung (200), der mit einem zweiten Computerprogramm (PRG2; BL) für die Recheneinrichtung (100; 100a) assoziiert ist, auf einen vorgebbaren zweiten Inhalt hin, Ausführen (452) des zweiten Computerprogramms (PRG2; BL), wenn die zweite Überprüfung (C2) ergeben hat, dass der zweite Speicherbereich (PRG2) den vorgebbaren zweiten Inhalt aufweist.Computing device (100; 100a) according to at least one of the Claims 2 to 4th , wherein the computing device (100; 100a) is designed to carry out the following steps if the first check (C1) has shown that the at least one first memory area (210) does not have the predefinable first content: causing (450) a second Checking (C2) at least one second memory area (220) of the memory device (200), which is associated with a second computer program (PRG2; BL) for the computing device (100; 100a), for a specifiable second content, executing (452) the second computer program (PRG2; BL) if the second check (C2) has shown that the second memory area (PRG2) has the predeterminable second content. Recheneinrichtung (100; 100a) nach Anspruch 5, wobei das zweite Computerprogramm (PRG2; BL) dazu ausgebildet ist, einen oder mehrere Speicherbereiche der Speichereinrichtung (200) zu beschreiben, insbesondere neu zu programmieren.Computing device (100; 100a) after Claim 5 The second computer program (PRG2; BL) is designed to write, in particular to reprogram, one or more memory areas of the memory device (200). Recheneinrichtung (100; 100a) nach Anspruch 6, wobei das zweite Computerprogramm (PRG2; BL) dazu ausgebildet ist, den ersten Speicherbereich (210) mit vorgebbaren Daten, insbesondere mit dem vorgebbaren ersten Inhalt, zu beschreiben.Computing device (100; 100a) after Claim 6 The second computer program (PRG2; BL) is designed to write to the first memory area (210) with predefinable data, in particular with the predefinable first content. Recheneinrichtung (100; 100a) nach wenigstens einem der Ansprüche 5 bis 7, wobei die Recheneinrichtung (100; 100a) dazu ausgebildet ist, eine Fehlerreaktion (S8) einzuleiten, wenn die zweite Überprüfung (C2) ergeben hat, dass der zweite Speicherbereich (220) nicht den vorgebbaren zweiten Inhalt aufweist.Computing device (100; 100a) according to at least one of the Claims 5 to 7 , wherein the computing device (100; 100a) is designed to initiate an error response (S8) if the second check (C2) has shown that the second memory area (220) does not have the predefinable second content. Verfahren zum Betreiben einer Recheneinrichtung (100; 100a), die dazu ausgebildet ist, auf wenigstens einen Speicherbereich (210, 220, 230) einer der Recheneinrichtung (100; 100a) zugeordneten Speichereinrichtung (200; 200a) zuzugreifen, wobei die Recheneinrichtung (100; 100a) eine erste Überprüfung (C1) wenigstens eines ersten Speicherbereichs (210, 220, 230) der Speichereinrichtung (200) veranlasst (400), der mit einem ersten Computerprogramm (PRG1; SW2) für die Recheneinrichtung (100; 100a) assoziiert ist, und in Abhängigkeit der ersten Überprüfung (C1) einen Betrieb der Recheneinrichtung (100; 100a) steuert (410).Method for operating a computing device (100; 100a) which is designed to access at least one memory area (210, 220, 230) of a storage device (200; 200a) assigned to the computing device (100; 100a), the computing device (100; 100a) initiates (400) a first check (C1) of at least a first memory area (210, 220, 230) of the memory device (200) which is associated with a first computer program (PRG1; SW2) for the computing device (100; 100a), and controls (410) an operation of the computing device (100; 100a) as a function of the first check (C1). Verfahren nach Anspruch 9, wobei die erste Überprüfung (C1) zum Gegenstand hat, zu ermitteln, ob der wenigstens eine erste Speicherbereich (210) einen vorgebbaren ersten Inhalt aufweist, wobei insbesondere die Recheneinrichtung (100; 100a) a) die erste Überprüfung (C1) selbst ausführt, und/oder b) die erste Überprüfung (C1) durch eine weitere Einheit (300; 300a), insbesondere durch ein Kryptografiemodul (300; 300a), ausführen lässt.Procedure according to Claim 9 The object of the first check (C1) is to determine whether the at least one first memory area (210) has a predefinable first content, in particular the computing device (100; 100a) a) carrying out the first check (C1) itself, and / or b) the first check (C1) can be carried out by a further unit (300; 300a), in particular by a cryptography module (300; 300a). Verfahren nach wenigstens einem der Ansprüche 9 bis 10, wobei die Recheneinrichtung (100; 100a) das erste Computerprogramm (PRG1; SW2) ausführt, wenn die erste Überprüfung (C1) ergeben hat, dass der wenigstens eine erste Speicherbereich (210) einen bzw. den vorgebbaren ersten Inhalt aufweist, wobei insbesondere die Recheneinrichtung (100; 100a) das erste Computerprogramm (PRG1; SW2) nicht ausführt, wenn die erste Überprüfung (C1) ergeben hat, dass der wenigstens eine erste Speicherbereich (210) nicht den vorgebbaren ersten Inhalt aufweist.Method according to at least one of the Claims 9 to 10th , wherein the computing device (100; 100a) executes the first computer program (PRG1; SW2) when the first Check (C1) has shown that the at least one first memory area (210) has a predefinable first content, in particular the computing device (100; 100a) not executing the first computer program (PRG1; SW2) when the first check ( C1) has shown that the at least one first memory area (210) does not have the predeterminable first content. Verfahren nach wenigstens einem der Ansprüche 10 bis 11, wobei die Recheneinrichtung (100; 100a) die folgenden Schritte ausführt, wenn die erste Überprüfung (C1) ergeben hat, dass der wenigstens eine erste Speicherbereich (210) nicht den vorgebbaren ersten Inhalt aufweist: Veranlassen (450) einer zweiten Überprüfung (C2) wenigstens eines zweiten Speicherbereichs (220, 230) der Speichereinrichtung (200; 200a), der mit einem zweiten Computerprogramm (PRG2; BL) für die Recheneinrichtung (100; 100a) assoziiert ist, auf einen vorgebbaren zweiten Inhalt hin, Ausführen (452) des zweiten Computerprogramms (PRG2; BL), wenn die zweite Überprüfung (C2) ergeben hat, dass der zweite Speicherbereich (220, 230) den vorgebbaren zweiten Inhalt aufweist.Method according to at least one of the Claims 10 to 11 , wherein the computing device (100; 100a) carries out the following steps if the first check (C1) has shown that the at least one first memory area (210) does not have the predeterminable first content: causing (450) a second check (C2) at least one second memory area (220, 230) of the memory device (200; 200a), which is associated with a second computer program (PRG2; BL) for the computing device (100; 100a), in response to a specifiable second content, executing (452) the second computer program (PRG2; BL) if the second check (C2) has shown that the second memory area (220, 230) has the predeterminable second content. Verfahren nach Anspruch 12, wobei die Recheneinrichtung (100; 100a) mittels des zweiten Computerprogramms (PRG2; BL) einen oder mehrere Speicherbereiche (210, 230) der Speichereinrichtung (200) beschreibt, insbesondere neu programmiert, wobei insbesondere der erste Speicherbereich (210) mit vorgebbaren Daten, insbesondere mit dem vorgebbaren ersten Inhalt, beschrieben wird.Procedure according to Claim 12 , the computing device (100; 100a) using the second computer program (PRG2; BL) describing, in particular reprogramming, one or more storage areas (210, 230) of the storage device (200), the first storage area (210) in particular having predeterminable data, is described in particular with the predeterminable first content. Verwendung der Recheneinrichtung (100; 100a) nach wenigstens einem der Ansprüche 1 bis 8 und/oder des Verfahrens nach wenigstens einem der Ansprüche 9 bis 13 zur Überführung einer defekten und/oder manipulierten Speichereinrichtung (200) in einen funktionsfähigen, insbesondere integren, Zustand.Use of the computing device (100; 100a) according to at least one of the Claims 1 to 8th and / or the method according to at least one of the Claims 9 to 13 for converting a defective and / or manipulated storage device (200) into a functional, in particular integral, state.
DE102018217969.7A 2018-10-19 2018-10-19 Computing device and operating method therefor Pending DE102018217969A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102018217969.7A DE102018217969A1 (en) 2018-10-19 2018-10-19 Computing device and operating method therefor
CN201910992878.0A CN111079194A (en) 2018-10-19 2019-10-18 Computing device and operating method for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018217969.7A DE102018217969A1 (en) 2018-10-19 2018-10-19 Computing device and operating method therefor

Publications (1)

Publication Number Publication Date
DE102018217969A1 true DE102018217969A1 (en) 2020-04-23

Family

ID=70310446

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018217969.7A Pending DE102018217969A1 (en) 2018-10-19 2018-10-19 Computing device and operating method therefor

Country Status (2)

Country Link
CN (1) CN111079194A (en)
DE (1) DE102018217969A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020210100A1 (en) 2020-08-10 2022-02-10 Robert Bosch Gesellschaft mit beschränkter Haftung Method and apparatus for monitoring operation of a non-volatile memory device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008041360A1 (en) 2008-08-20 2010-02-25 Robert Bosch Gmbh A vehicle control unit and a data update method for a vehicle control unit

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040076043A1 (en) * 2002-10-21 2004-04-22 Phoenix Technologies Ltd. Reliable and secure updating and recovery of firmware from a mass storage device
DE102007034525B4 (en) * 2007-07-24 2010-02-11 Siemens Ag Method and system for checking the integrity of data stored in a predetermined memory area of a memory
US8839458B2 (en) * 2009-05-12 2014-09-16 Nokia Corporation Method, apparatus, and computer program for providing application security
CN104182242A (en) * 2013-05-28 2014-12-03 华为技术有限公司 System booting method and system booting device
CN103455354B (en) * 2013-09-06 2017-04-12 南京南自信息技术有限公司 Method and equipment for preventing hardware update from failing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008041360A1 (en) 2008-08-20 2010-02-25 Robert Bosch Gmbh A vehicle control unit and a data update method for a vehicle control unit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020210100A1 (en) 2020-08-10 2022-02-10 Robert Bosch Gesellschaft mit beschränkter Haftung Method and apparatus for monitoring operation of a non-volatile memory device

Also Published As

Publication number Publication date
CN111079194A (en) 2020-04-28

Similar Documents

Publication Publication Date Title
DE102018214999A1 (en) Device for securing diagnostic commands to a control unit and corresponding motor vehicle
DE102016221108A1 (en) A method for updating software of a control device of a vehicle
DE102013213314A1 (en) Deposit at least one computable integrity measure in a memory area of a memory
EP3811260B1 (en) Cryptography module and method for operating same
DE102020003072B3 (en) Procedure for the secure use of cryptographic material
DE102018217969A1 (en) Computing device and operating method therefor
DE102020207866A1 (en) Method for performing a secure start sequence of a control unit
DE102020207862A1 (en) Procedure for the secure update of control units
DE102013209264A1 (en) Method for operating a communication module and communication module
DE102018211139A1 (en) Control device and method for its operation
DE102020207863A1 (en) Process for the secure update of control units
DE102020216048A1 (en) Device with an interface and method for operating a device with an interface
DE102021125750A1 (en) Computing unit for a vehicle and method and computer program for a computing unit for a vehicle
DE102009002898A1 (en) Method for actualizing controller of vehicle, involves providing comparative results based on comparison of two conditions, and accomplishing actualization of controller based on one of comparative results
DE102023201559A1 (en) Device and method for providing protected data, microcontroller system and sensor system
DE102020207861A1 (en) Method for carrying out a secured start sequence of a control unit
DE102020216071A1 (en) Method for operating a device, a control unit of a motor vehicle, and device
DE102021130402A1 (en) Control unit and control unit system for a motor vehicle and method for operating a control unit for a motor vehicle
DE202014010619U1 (en) Update a firmware
DE102020212988A1 (en) Safe booting of a computer system
DE102020209236A1 (en) Method of operating a non-volatile memory device
WO2023083500A1 (en) Method, vehicle component, and computer program for granting authorization to run a computer program by means of a vehicle component of a vehicle
DE112021002282T5 (en) ELECTRONIC CONTROL DEVICE AND UPDATE METHOD FOR CONTROL SOFTWARE
DE102021212594A1 (en) Method for starting a memory unit of a computing unit
DE10215626B4 (en) Procedure for changing encryption algorithms for protected software or protected data