WO2007090712A1 - Method for protecting a control device against tampering and control device which has been protected against tampering - Google Patents

Method for protecting a control device against tampering and control device which has been protected against tampering Download PDF

Info

Publication number
WO2007090712A1
WO2007090712A1 PCT/EP2007/050384 EP2007050384W WO2007090712A1 WO 2007090712 A1 WO2007090712 A1 WO 2007090712A1 EP 2007050384 W EP2007050384 W EP 2007050384W WO 2007090712 A1 WO2007090712 A1 WO 2007090712A1
Authority
WO
WIPO (PCT)
Prior art keywords
microcontroller
memory
data
stored
characteristic information
Prior art date
Application number
PCT/EP2007/050384
Other languages
German (de)
French (fr)
Inventor
Klaus Schneider
Axel Aue
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
Publication of WO2007090712A1 publication Critical patent/WO2007090712A1/en

Links

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Definitions

  • the present invention relates to a protected against manipulation control unit with a microcontroller and an external flash memory, and a method for manipulation protection of such a control device.
  • Engine control units control the functions of a motor vehicle, such as fuel injection, ignition timing, immobilizer, etc.
  • the engine control unit has a microcontroller, which executes a predetermined program, and a memory in which, for example, certain vehicle parameters used in this program or the like are stored.
  • a microcontroller which executes a predetermined program
  • a memory in which, for example, certain vehicle parameters used in this program or the like are stored.
  • Another potential attack is to change the data stored in the external flash memory by direct access.
  • Modern flash modules can usually be programmed in the installed state (ie without desoldering), which simplifies the possibilities of attack.
  • a possible protection against such an attack would be to completely ban access to the flash memory when installed.
  • a PROM memory for initializing a computer system, wherein the PROM memory comprises a programmable data area and an authentication area with a hash generator.
  • the hash generator generates a hash value of the code present in the programmable data area, and the authentication area authenticates the code by means of this hash value.
  • the first-mentioned attack namely replacement of the entire PROM memory, so that comprehensive protection without further protection measures can not be guaranteed.
  • a method for manipulation protection of a control device in particular a motor control device, with a microcontroller and a non-volatile memory provided separately from the microcontroller, which is designed in particular as a flash memory, with the following steps:
  • unencrypted information is meant information that is not yet encrypted with the asymmetric encryption method, so the unencrypted information may be information that is otherwise encoded.
  • a control device protected against manipulation according to the invention comprises:
  • non-volatile memory comprising a memory area in which characteristic information relating to the non-volatile memory is encrypted with a private key of a key pair for asymmetric encryption
  • a microcontroller which is connected to the nonvolatile memory via a data line, and a ROM memory in which the public key of the asymmetric encryption key pair and a program for decrypting data encrypted with the asymmetric encryption are stored.
  • the idea underlying the invention is to encrypt characteristic information relating to the nonvolatile memory (typically a flash memory) and store it in the nonvolatile memory. During operation, this information is then read out by the microcontroller, decrypted and compared with the unencrypted information. If there is a difference, this is a strong indication that one of the building blocks or the information stored in it has been manipulated.
  • nonvolatile memory typically a flash memory
  • the characteristic information may be, for example, the serial number of the nonvolatile memory. Thus, protection against replacement of the nonvolatile memory can be achieved. It is advantageous that the characteristic information further comprises the serial number of the microcontroller. As a result, the nonvolatile memory and the microcontroller can be paired with one another, so that protection against the replacement of one of these two components is achieved.
  • the characteristic information may also be a hash of data stored in nonvolatile memory. Thus, protection against manipulation of the data stored in the non-volatile memory is achieved.
  • an error response in particular a reset, may be performed.
  • the key for decrypting the information is stored by the microcontroller in a ROM memory of the microcontroller, as this protects the key from tampering.
  • the following steps are further provided: Encrypting data by the microcontroller;
  • the key for encrypting and decrypting data is stored by the microcontroller as a combination of programmable bits and hardwired bits in the microcontroller.
  • Fig. 1 is a schematic diagram of a control device according to an embodiment of the present invention.
  • FIG. 2 is a flowchart of a first method according to an embodiment of the present invention.
  • FIG. 3 is a flowchart of a second method according to an embodiment of the present invention.
  • Fig. 1 shows a schematic diagram of a control unit 1 according to an embodiment of the present invention.
  • the control unit 1 is configured as an engine control unit, which controls the functions of a motor vehicle, such as fuel injection, ignition timing, immobilizer, and so on.
  • the engine control unit 1 has a microcontroller 2 as well as a non-volatile memory provided separately from the microcontroller 2, which memory is designed in particular as a flash memory 3.
  • the microcontroller 2 is connected to the flash memory 3 via a data line 4.
  • the microcontroller 2 is further connected via a not-shown interface and a data bus (for example, a CAN bus) to various sensors and actuators of the vehicle (e.g.
  • the microcontroller 2 has a non-changeable serial number 5 and the flash memory 3 has a non-changeable serial number 6. These can be realized for example by a fixed wiring in the respective blocks, so that a manipulation of these serial numbers is not possible.
  • the serial numbers are typically 128 bits long and are not freely programmable or changeable. Furthermore, they are uniquely assigned to the blocks, that is, there are not several blocks with the same serial numbers. This is achieved, for example, by the serial numbers containing information about the production number, the production date, the wafer number and / or the position of the chip of the respective component on the wafer.
  • the microcontroller 2 includes a ROM storage area 10, a RAM storage area 11, and a central processing unit (CPU) 12 which executes a program stored in the ROM 10.
  • the ROM 10 also has a key 9 for decrypting it by means of an asymmetric method
  • a program for decrypting data with the key 9 is also stored in the ROM 10.
  • an asymmetric encryption / decryption method for example, an implementation of the RSA algorithm is suitable.
  • the flash memory 3 includes a memory area 20 in which various data is stored, such as a boot code 21, a program code 22, and a data set 23 (including, for example, vehicle or engine parameters).
  • the boot code 21, the program code 22 and the data record 23 are secured by respective signatures SIG21, SIG22 and SIG23, as explained below.
  • Flash memory 3 stored data are transmitted during operation via the data line 4 to the microcontroller 2 and used by this for controlling the motor vehicle.
  • the data stored in the flash memory 3 can be updated relatively easily by an authorized party (e.g., the manufacturer) without requiring replacement of the entire controller 1.
  • FIG. 2 shows a flowchart of a first method according to an embodiment of the present invention.
  • This first method prevents the data in the flash memory 3 from being manipulated by the fact that the flash memory 3 is completely replaced (ie, soldered out and replaced by another flash memory). This is achieved by a pairing of microcontroller 2 and flash memory 3 via their serial numbers 5, 6.
  • the respective serial numbers 5 and 6 are factory read out of the microcontroller 2 and the flash memory 3 and stored in a memory of a (not shown) data terminal or programming station.
  • the serial numbers 5 and 6 are concatenated together (ie, hung on each other) and encrypted with an encryption key 8.
  • the encryption key 8 is part of a key pair 8, 9 for an asymmetric encryption method.
  • the encryption key 8 is a secret key, which is therefore known only at the factory, while the decryption key 9 stored in the ROM 10 of the microcontroller 2 is a public key which need not be kept secret.
  • the serial numbers 5 and 6 are unencrypted information regarding the flash memory 3:
  • the serial number 6 is the serial number of the flash memory 3, while the serial number 5 is the serial number of the component with which the flash memory 3 is uniquely associated.
  • the encrypted characteristic information obtained by the encryption with the key 8 will be referred to as certificate 7 hereinafter.
  • step S3 the certificate 7 is factory-set in the memory area 20 of the flash memory.
  • Memory 3 stored, which completes the factory-executed part of the process.
  • step S4 the certificate 7 is read from the flash memory 3 via the data line 4 into the RAM memory area 11 of the microcontroller 2. This step S4 may be performed, for example, every time the vehicle is started.
  • step S5 the certificate 7 is decrypted with the decryption key 9 of the key pair 8, 9 and separated into two serial numbers.
  • step S6 it is checked whether the serial numbers obtained by the decryption with the key 9 are identical to the serial numbers 5 and 6, which are in fact directly accessible to the microcontroller 2.
  • step S7 in which parameters and other data are loaded from the flash memory 3 for further processing in the RAM memory of the microcontroller.
  • step S8 the procedure jumps to step S8 in which an error reaction (reset) is performed and, for example, in
  • ROM memory of the microcontroller 2 stored instead of the parameters and data in the flash memory 3 are loaded into the RAM memory of the microcontroller 2.
  • a warning signal may be output, indicating that the flash memory 3 has been manipulated.
  • This warning signal can then, for example, be further processed in a step, not shown, in such a way that an immobilizer is activated, which means that the motor vehicle can no longer be started if the flash memory 3 has been manipulated.
  • the method steps S4 to S7 are implemented by a program stored in the microcontroller 2. It is advantageous if this program is stored in the ROM of the microcontroller 2. Thus it can be ensured that the program itself is not manipulated. For the same reason, it is also advantageous, although the decryption key 9 in the ROM memory of
  • Microcontroller 2 is stored. Since no complex manufacturing steps are necessary for a ROM, this solution is also cost-effective. It should be noted that in the embodiment described above, both the serial number 6 of the flash memory 3 and the serial number 5 of the microcontroller 2 were used for mating flash memory and microcontroller. However, it is also possible that only the serial number of the flash
  • Serial number of the flash memory and the serial number of the microcontroller are stored encrypted as a certificate 7, since then a clear match between flash memory and microcontroller is given, so that also protects against the replacement of the microcontroller is.
  • FIG 3 shows a flowchart of a second method according to an embodiment of the present invention.
  • This second method prevents the data stored in the flash memory 3 from being manipulated. This is achieved by backing up the data in the flash memory 3 by means of signatures.
  • the data to be stored in the flash memory are factory-set with a
  • a hash value of the data to be stored in the flash memory is calculated in step S1 using a hash function.
  • Hash function here is an irreversible function (an algorithm) that uniquely reduces a large amount of data to a much smaller one
  • Target quantity maps are examples of such hashing functions.
  • hashing functions are the Message Digest MD4 or the Secure Hash Algorithms SHA family, details of which have been found in Bruce Schneier's Applied Cryptography, John Wiley & Sons, 1996.
  • step S2 the hash value obtained in step S1 is encrypted with the encryption key 8, whereby a signature SIG21, SIG22 and / or SIG23 is obtained.
  • step S3 the signature determined in step S2 is stored in the flash memory 3 at the factory. It is advantageous if these steps S 1 to S 3 are carried out for all sensitive data stored in the flash memory 3 and, as in FIG. 1 shown, both the boot code 21, the program code 22 and the record 23 are each provided with a signature SIG21, SIG22 and SIG23.
  • step S4 the signature SIG21, SIG22 and / or SIG23 to be checked is transferred from the flash memory 3 via the data line 4 into the RAM.
  • Memory area 11 of the microcontroller 2 read. For example, this step S4 may be performed each time the motor vehicle is started.
  • step S5 the signature to be checked is decrypted with the decryption key 9 of the key pair 8, 9, and thus an unencrypted hash value is determined.
  • step S6 the microcontroller 2 determines the hash value of the data to be verified in the flash memory 3, with the same hash function that was used in step S1. For this purpose, the microcontroller 2 reads the data to be verified from the flash memory 3 via the data line 4 into the RAM memory 11 and applies the hash function to this data, whereby hash values of these data are obtained.
  • step S7 it is checked whether the hash values obtained by the decryption with the key 9 in step S5 are identical with the hash values obtained in step S6.
  • step S5 If the hash values obtained by the decryption with the key 9 in step S5 are identical to the hash values obtained in step S6, it means that the flash memory 3 has not been manipulated and thus the data stored therein can be trusted. In this case, the procedure jumps to step S8 in which parameters and other data are loaded from the flash memory 3 for further processing in the RAM memory of the microcontroller.
  • step S5 if the hash values obtained by the decryption with the key 9 in step S5 are not identical with the hash values obtained in step S6, it means that the flash memory 3 has been manipulated and can not trust the data stored therein.
  • the procedure jumps to step S9, in which an error response (reset) is performed and, for example, in the ROM memory of the microcontroller 2 stored default instead of the parameters and data in the flash memory 3 in the RAM memory of Microcontroller 2 will be charged.
  • a warning signal may be output, indicating that the flash memory 3 has been manipulated. This warning signal can then, for example, be further processed in a step not shown in more detail so that an immobilizer is activated, which means that the motor vehicle can no longer be started if the flash
  • Memory 3 was manipulated.
  • the method described above ensures that the data stored in the flash memory 3 are verified during the program runtime or when the control unit 1 is started.
  • the use of an asymmetric encryption / decryption method ensures that information stored with the control unit 1 can only be used to decrypt the characteristic information, but not an encryption which could produce a pairing of components.
  • the key 9 used for decryption does not need to be kept secret.
  • control unit 1 Another possible attack on the control unit 1 may be that the attacker tries to read out the data stored in the flash memory 3, and to copy or clone. This is simplified by the fact that the data in the flash
  • Memory 3 are easy to read.
  • Data are stored in encrypted form and this encrypted data is decrypted by the microcontroller 2.
  • the microcontroller 2 accesses the flash memory 3 in order to store data there, then the microcontroller 2 encrypts this data before storing it.
  • the algorithm and the key for this data encryption are in turn stored in the ROM 10 so that they are protected against manipulation.
  • a symmetric encryption / decryption method is preferably used, since such a method is faster than an asymmetric method.
  • the key used for encryption is identical to the key used for decrypting, so that it is advantageous to store this key in a memory area of the microcontroller 2 which is not accessible from the outside, in other words this key is read-protected save.
  • the key for symmetric encryption have a high key length because a short key length is prone to so-called "brute-force” attacks in which the attacker advises the key by repeated trial and error, and it is desirable in that individual keys can be generated and project- or customer-specific variation possibilities are possible
  • the key in the form of programmable bits, for example as so-called “semiconductor backups" (OTP bits - “one-time programmable bits”). ) or hard-wired bits.
  • programmable bits offer a great deal of variation. Variation options are particularly important when keys are corrupted, so have become known.
  • programmable bits are relatively expensive and only partially suitable for long keys.
  • hardwired bits are inexpensive and thus suitable for long key lengths. However, they offer no variation possibilities due to the fixed wiring.

Landscapes

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

Abstract

A method for protecting a control device, in particular an engine control device, against tampering, said control device having a microcontroller and a non-volatile memory which is provided separately from the microcontroller and is in the form of a flash memory in particular, involves: encrypting unencrypted characteristic information of the non-volatile memory using an asymmetrical encryption method and storing the encrypted characteristic information in the non-volatile memory; transmitting information, which has been stored in the non-volatile memory, to the microcontroller; decrypting the transmitted information using the microcontroller; and comparing the decrypted information with the unencrypted characteristic information. A control device which has been protected against tampering is also provided.

Description

Beschreibungdescription
Titeltitle
Verfahren zum Manipulationsschutz eines Steuergeräts sowie gegen Manipulationen geschütztes SteuergerätMethod for tamper protection of a control device and protected against tampering control device
STAND DER TECHNIKSTATE OF THE ART
Die vorliegende Erfindung betrifft ein gegen Manipulationen geschütztes Steuergerät mit einem Mikrocontroller und einem externem Flash-Speicher, sowie ein Verfahren zum Manipulationsschutz eines solchen Steuergerätes.The present invention relates to a protected against manipulation control unit with a microcontroller and an external flash memory, and a method for manipulation protection of such a control device.
Motorsteuergeräte steuern die Funktionen eines Kraftfahrzeugs, wie zum Beispiel Kraftstoffeinspritzung, Zündzeitpunkt, Wegfahrsperre, usw. Das Motorsteuergerät verfügt dabei über einen Mikrocontroller, welcher ein vorbestimmtes Programm aus- führt, sowie einen Speicher, in dem beispielsweise bestimmte, in diesem Programm verwendete Fahrzeugparameter oder dergl. gespeichert sind. Durch Manipulation der in diesem Speicher gespeicherten Daten ist es beispielsweise möglich, die Per- formanz des Kraftfahrzeugs zu steigern (so genanntes Tuning), was allerdings gleichzeitig zu erhöhten Sicherheitsrisiken im Straßenverkehr führt und daher vom Hersteller, auch im Hinblick auf klare Haftungsverhältnisse, unerwünscht ist. Es besteht daher ein Bedarf an einem Schutz vor solcher Manipulation.Engine control units control the functions of a motor vehicle, such as fuel injection, ignition timing, immobilizer, etc. The engine control unit has a microcontroller, which executes a predetermined program, and a memory in which, for example, certain vehicle parameters used in this program or the like are stored. By manipulating the data stored in this memory, it is possible, for example, to increase the performance of the motor vehicle (so-called tuning), which at the same time leads to increased safety risks in road traffic and is therefore undesirable by the manufacturer, even with regard to clear liability conditions , There is therefore a need for protection against such manipulation.
Ein bekannter Schutz gegen Manipulation kann dadurch erzielt werden, dass der Mikrocontroller mit einem internen Flash-Speicher ausgestattet ist, und weitere Schutzmaßnahmen, wie z.B. die Verwendung von Passwörtern zum Lesen, Löschen oder Programmieren, verwendet werden. Allerdings ist dies aufgrund der nötigen Flash-Technologie mit erhöhten Kosten verbunden, so dass eine Lösung ohne internem Flash zu bevorzugen ist.Known protection against tampering can be achieved by providing the microcontroller with an internal flash memory, and other protection measures such as protection. the use of passwords for reading, deleting or programming. However, due to the necessary flash technology, this is associated with increased costs, so that a solution without internal flash is preferable.
Im Falle eines externen (also nicht im Mikrocontroller integrierten) Flash-Speichers sind jedoch verschiedene Angriffe denkbar. Beispielsweise kann ein Angreifer einen externen Flash-Speicher gegen einen manipulierten Flash-Speicher austauschen. In der Praxis gestaltet sich dies als relativ einfach, da die Pinanzahl des externen Flash-Speichers relativ gering ist und somit auch das Gehäuse relativ klein ist, so dass ein Herauslöten vergleichsweise unproblematisch ist.In the case of an external (ie not integrated in the microcontroller) flash memory, however, various attacks are conceivable. For example, an attacker may exchange an external flash memory for a manipulated flash memory. In In practice this turns out to be relatively simple, since the number of pins of the external flash memory is relatively small and thus the housing is relatively small, so that a desoldering is relatively unproblematic.
Ein weiterer möglicher Angriff besteht darin, die im externen Flash-Speicher abgelegten Daten durch direkten Zugriff zu verändern. Moderne Flash- Bausteine können in der Regel im eingebauten Zustand (also ohne Auslöten) programmiert werden, was die Angriffsmöglichkeiten vereinfacht. Ein möglicher Schutz gegen einen solchen Angriff wäre es, den Zugriff auf den Flash-Speicher im eingebauten Zustand komplett zu verbieten. Allerdings ist es vorteilhaft, einem befugten Benutzerkreis zu ermöglichen, auf den Flash-Speicher zuzugreifen, um beispielsweise eine Neuprogrammierung des Steuergerätes beziehungsweise eine Aktualisierung der im Flash- Speicher gespeicherten Daten vornehmen zu können.Another potential attack is to change the data stored in the external flash memory by direct access. Modern flash modules can usually be programmed in the installed state (ie without desoldering), which simplifies the possibilities of attack. A possible protection against such an attack would be to completely ban access to the flash memory when installed. However, it is advantageous to allow an authorized group of users to access the flash memory in order, for example, to be able to re-program the control unit or update the data stored in the flash memory.
Als möglichen Schutz vor einem solchen Angriff offenbart die US-PatentschriftAs a possible protection against such attack, the US patent publication
6,138,236 einen PROM-Speicher zur Initialisierung eines Computer-Systems, wobei der PROM-Speicher einen programmierbaren Datenbereich und einen Authentisie- rungsbereich mit einem Hash-Generator umfasst. Der Hash-Generator erzeugt einen Hash-Wert des im programmierbaren Datenbereich vorliegenden Codes, und der Authentisierungsbereich authentisiert den Code mittels dieses Hash-Wertes. Allerdings besteht auch hier die Möglichkeit des erstgenannten Angriffes, nämlich Austausch des gesamten PROM-Speichers, so dass ein umfassender Schutz ohne weitere Schutzmaßnahmen nicht gewährleistet werden kann.6,138,236 a PROM memory for initializing a computer system, wherein the PROM memory comprises a programmable data area and an authentication area with a hash generator. The hash generator generates a hash value of the code present in the programmable data area, and the authentication area authenticates the code by means of this hash value. However, there is also the possibility of the first-mentioned attack, namely replacement of the entire PROM memory, so that comprehensive protection without further protection measures can not be guaranteed.
VORTEILE DER ERFINDUNGADVANTAGES OF THE INVENTION
Demgemäß vorgesehen ist ein Verfahren zum Manipulationsschutz eines Steuergeräts, insbesondere eines Motorsteuergeräts, mit einem Mikrocontroller und einem separat vom Mikrocontroller vorgesehenen nichtflüchtigen Speicher, welcher insbe- sondere als Flash-Speicher ausgebildet ist, mit den folgenden Schritten:Accordingly provided is a method for manipulation protection of a control device, in particular a motor control device, with a microcontroller and a non-volatile memory provided separately from the microcontroller, which is designed in particular as a flash memory, with the following steps:
Verschlüsseln von unverschlüsselten charakteristischen Informationen bezüglich des nichtflüchtigen Speichers mittels eines asymmetrischen Verschlüsselungsverfahren und Speichern der verschlüsselten charakteristischen Informationen im nichtflüchtigen Speichers; - Übermitteln der im nichtflüchtigen Speicher gespeicherten Informationen an den Mikrocontroller; Entschlüsseln der übermittelten Informationen durch den Mikrocontroller; und Vergleichen der entschlüsselten Informationen mit den unverschlüsselten charakteristischen Informationen.Encrypting non-encrypted characteristic information relating to the nonvolatile memory by an asymmetric encryption method and storing the encrypted characteristic information in the nonvolatile memory; Transmitting the information stored in the non-volatile memory to the microcontroller; Decrypting the transmitted information by the microcontroller; and Comparing the decrypted information with the unencrypted characteristic information.
Unter „unverschlüsselten Informationen" werden hierbei Informationen verstanden, die noch nicht mit dem asymmetrischen Verschlüsselungsverfahren verschlüsselt sind; es kann sich bei den unverschlüsselten Informationen also um Informationen handeln, die anderweitig kodiert sind.By "unencrypted information" is meant information that is not yet encrypted with the asymmetric encryption method, so the unencrypted information may be information that is otherwise encoded.
Ein erfindungsgemäß gegen Manipulationen geschütztes Steuergerät umfasst:A control device protected against manipulation according to the invention comprises:
einen nichtflüchtigen Speicher umfassend einen Speicherbereich, in welchem charakteristische Informationen bezüglich des nichtflüchtigen Speichers mit einem privaten Schlüssel eines Schlüsselpaars zur asymmetrischen Verschlüsselung verschlüsselt gespeichert sind; unda non-volatile memory comprising a memory area in which characteristic information relating to the non-volatile memory is encrypted with a private key of a key pair for asymmetric encryption; and
einen Mikrocontroller, der über eine Datenleitung mit dem nichtflüchtigen Speicher verbunden ist, und einen ROM-Speicher aufweist, in welchem der öffentliche Schlüssel des Schlüsselpaars zur asymmetrischen Verschlüsselung, sowie ein Programm zur Entschlüsselung von mit der asymmetrischen Verschlüsse- lung verschlüsselten Daten gespeichert sind.a microcontroller which is connected to the nonvolatile memory via a data line, and a ROM memory in which the public key of the asymmetric encryption key pair and a program for decrypting data encrypted with the asymmetric encryption are stored.
Der der Erfindung zugrunde liegende Gedanke ist es, charakteristische Informationen bezüglich des nichtflüchtigen Speichers (typischerweise ein Flash-Speicher) zu verschlüsseln und im nichtflüchtigen Speicher abzulegen. Während des Betriebs werden diese Informationen dann vom Mikrocontroller ausgelesen, entschlüsselt und mit den unverschlüsselten Informationen verglichen. Liegt ein Unterschied vor, dann ist das ein starkes Indiz dafür, dass einer der Bausteine oder die darin gespeicherten Informationen manipuliert wurden.The idea underlying the invention is to encrypt characteristic information relating to the nonvolatile memory (typically a flash memory) and store it in the nonvolatile memory. During operation, this information is then read out by the microcontroller, decrypted and compared with the unencrypted information. If there is a difference, this is a strong indication that one of the building blocks or the information stored in it has been manipulated.
Die charakteristischen Informationen können beispielsweise die Seriennummer des nichtflüchtigen Speichers sein. Somit kann ein Schutz gegen das Austauschen des nichtflüchtigen Speichers erzielt werden. Es ist vorteilhaft, dass die charakteristischen Informationen ferner die Seriennummer des Mikrocontrollers umfassen. Dadurch können der nichtflüchtige Speicher und der Mikrocontroller miteinander ge- paart werden, so dass ein Schutz gegen den Austausch eines dieser beiden Bausteine erzielt wird. Die charakteristischen Informationen können aber auch ein Hashwert von im nichtflüchtigen Speicher gespeicherten Daten sein. Somit wird ein Schutz gegen Manipulation der im nichtflüchtigen Speicher gespeicherten Daten erreicht.The characteristic information may be, for example, the serial number of the nonvolatile memory. Thus, protection against replacement of the nonvolatile memory can be achieved. It is advantageous that the characteristic information further comprises the serial number of the microcontroller. As a result, the nonvolatile memory and the microcontroller can be paired with one another, so that protection against the replacement of one of these two components is achieved. However, the characteristic information may also be a hash of data stored in nonvolatile memory. Thus, protection against manipulation of the data stored in the non-volatile memory is achieved.
Bei Feststellen von Ungleichheit der entschlüsselten Informationen und der unverschlüsselten charakteristischen Informationen kann eine Fehlerreaktion, insbesondere ein Reset, ausgeführt werden.Upon detection of inequality of the decrypted information and the unencrypted characteristic information, an error response, in particular a reset, may be performed.
Es ist vorteilhaft, wenn der Schlüssel zum Entschlüsseln der Informationen durch den Mikrocontroller in einem ROM-Speicher des Mikrocontrollers gespeichert ist, da dies den Schlüssel vor Manipulationen schützt.It is advantageous if the key for decrypting the information is stored by the microcontroller in a ROM memory of the microcontroller, as this protects the key from tampering.
In einer vorteilhaften Weiterbildung der Erfindung sind ferner folgende Schritte vorgesehen: - Verschlüsseln von Daten durch den Mikrocontroller;In an advantageous embodiment of the invention, the following steps are further provided: Encrypting data by the microcontroller;
Speichern der verschlüsselten Daten im nichtflüchtigen Speicher; Auslesen der im nichtflüchtigen Speicher gespeicherten Daten durch den Mikrocontroller; undStoring the encrypted data in the non-volatile memory; Reading the data stored in the nonvolatile memory by the microcontroller; and
Entschlüsseln der ausgelesenen verschlüsselten Daten durch den Mikrocont- roller.Decrypt the encrypted data read out by the microcontroller.
Dadurch wird ein Schutz gegen das Kopieren bzw. Klonen von sicherheitsrelevanten oder sensitiven Daten im nichtflüchtigen Speicher erreicht. Hierbei ist es vorteilhaft, dass das Verschlüsseln und Entschlüsseln von Daten durch den Mikrocontroller mit einem symmetrischen Verschlüsselungsverfahren durchgeführt wird, da ein sym- metrisches Verschlüsselungsverfahren nicht nur schneller sondern auch einfacher zu implementieren ist als ein asymmetrisches Verschlüsselungsverfahren.This provides protection against the copying or cloning of sensitive or sensitive data in the non-volatile memory. In this case, it is advantageous that the encrypting and decrypting of data by the microcontroller is carried out with a symmetrical encryption method, since a symmetric encryption method is not only faster but also easier to implement than an asymmetric encryption method.
In einer vorteilhaften Weiterbildung der Erfindung ist der Schlüssel zum Verschlüsseln und Entschlüsseln von Daten durch den Mikrocontroller als Kombination von programmierbaren Bits und fest verdrahteten Bits im Mikrocontroller gespeichert.In an advantageous development of the invention, the key for encrypting and decrypting data is stored by the microcontroller as a combination of programmable bits and hardwired bits in the microcontroller.
Dies macht es möglich, eine hohe Schlüssellänge mit hoher Variationsmöglichkeit kostengünstig zu realisieren.This makes it possible to inexpensively realize a high key length with high variability.
ZEICHNUNGENDRAWINGS
Die Erfindung wird nachfolgend anhand der in den schematischen Figuren der Zeichnung angegebenen Ausführungsbeispiele näher erläutert. Es zeigt dabei: Fig. 1 ein schematisches Diagramm eines Steuergerätes nach einer Ausführungsform der vorliegenden Erfindung.The invention will be explained in more detail with reference to the exemplary embodiments indicated in the schematic figures of the drawing. It shows: Fig. 1 is a schematic diagram of a control device according to an embodiment of the present invention.
Fig. 2 ein Flussdiagramm eines ersten Verfahrens nach einer Ausführungsform der vorliegenden Erfindung.2 is a flowchart of a first method according to an embodiment of the present invention.
Fig. 3 ein Flussdiagramm eines zweiten Verfahrens nach einer Ausführungsform der vorliegenden Erfindung.3 is a flowchart of a second method according to an embodiment of the present invention.
BESCHREIBUNG DER AUSFÜHRUNGSBEISPIELEDESCRIPTION OF THE EMBODIMENTS
In allen Figuren der Zeichnung sind gleiche bzw. funktionsgleiche Elemente - sofern nichts Anderes angegeben ist - mit gleichen Bezugszeichen versehen worden.In all figures of the drawing, identical or functionally identical elements - unless otherwise stated - have been provided with the same reference numerals.
Fig. 1 zeigt ein schematisches Diagramm eines Steuergerätes 1 nach einer Ausführungsform der vorliegenden Erfindung. In der vorliegenden Ausführungsform ist das Steuergerät 1 als Motorsteuergerät ausgebildet, welches die Funktionen eines Kraftfahrzeugs, wie zum Beispiel Kraftstoffeinspritzung, Zündzeitpunkt, Wegfahrsperre, usw., steuert. Das Motorsteuergerät 1 verfügt dabei über einen Mikrocontroller 2 sowie einen separat vom Mikrocontroller 2 vorgesehenen nichtflüchtigen Speicher, der insbesondere als Flash-Speicher 3 ausgebildet ist. Der Mikrocontroller 2 ist über eine Datenleitung 4 mit dem Flash-Speicher 3 verbunden. Der Mikrocontroller 2 ist ferner über ein nicht näher dargestelltes Interface und einen Datenbus (beispiels- weise ein CAN-Bus) an diverse Sensoren und Aktuatoren des Fahrzeuges (z.B.Fig. 1 shows a schematic diagram of a control unit 1 according to an embodiment of the present invention. In the present embodiment, the control unit 1 is configured as an engine control unit, which controls the functions of a motor vehicle, such as fuel injection, ignition timing, immobilizer, and so on. In this case, the engine control unit 1 has a microcontroller 2 as well as a non-volatile memory provided separately from the microcontroller 2, which memory is designed in particular as a flash memory 3. The microcontroller 2 is connected to the flash memory 3 via a data line 4. The microcontroller 2 is further connected via a not-shown interface and a data bus (for example, a CAN bus) to various sensors and actuators of the vehicle (e.g.
Drehzahlmesser, Kraftstoffeinspritzung usw.) verbunden.Tachometer, fuel injection, etc.).
Der Mikrocontroller 2 verfügt über eine nicht änderbare Seriennummer 5 und der Flash-Speicher 3 verfügt über eine nicht änderbare Seriennummer 6. Diese können beispielsweise durch eine feste Verdrahtung in den jeweiligen Bausteinen realisiert werden, so dass eine Manipulation dieser Seriennummern nicht möglich ist. Die Seriennummern sind typischerweise 128 Bits lang und sind nicht frei programmierbar oder änderbar. Ferner sind sie den Bausteinen eindeutig zugeordnet, das heißt, es gibt nicht mehrere Bausteine mit denselben Seriennummern. Dies wird beispiels- weise dadurch erreicht, dass die Seriennummern Informationen über die Fertigungsnummer, das Fertigungsdatum, die Wafernummer und/oder die Position des Chips des jeweiligen Bausteins auf dem Wafer enthalten. Der Mikrocontroller 2 enthält einen ROM-Speicherbereich 10, einen RAM- Speicherbereich 11 sowie eine zentrale Prozessoreinrichtung (CPU) 12, welche ein im ROM 10 gespeichertes Programm ausführt. Im ROM 10 ist ferner ein Schlüssel 9 zum Entschlüsseln von mittels eines asymmetrischen Verfahrens verschlüsseltenThe microcontroller 2 has a non-changeable serial number 5 and the flash memory 3 has a non-changeable serial number 6. These can be realized for example by a fixed wiring in the respective blocks, so that a manipulation of these serial numbers is not possible. The serial numbers are typically 128 bits long and are not freely programmable or changeable. Furthermore, they are uniquely assigned to the blocks, that is, there are not several blocks with the same serial numbers. This is achieved, for example, by the serial numbers containing information about the production number, the production date, the wafer number and / or the position of the chip of the respective component on the wafer. The microcontroller 2 includes a ROM storage area 10, a RAM storage area 11, and a central processing unit (CPU) 12 which executes a program stored in the ROM 10. The ROM 10 also has a key 9 for decrypting it by means of an asymmetric method
Daten gespeichert. Ein Programm zum Entschlüsseln von Daten mit dem Schlüssel 9 ist ebenfalls im ROM 10 abgespeichert. Als asymmetrisches Ver-/ Entschlüsselungsverfahren ist beispielsweise eine Implementierung des RSA-Algorithmuses geeignet.Data saved. A program for decrypting data with the key 9 is also stored in the ROM 10. As an asymmetric encryption / decryption method, for example, an implementation of the RSA algorithm is suitable.
Der Flash-Speicher 3 enthält einen Speicherbereich 20, in welchem verschiedene Daten gespeichert sind, so zum Beispiel ein Bootcode 21, ein Programmcode 22 und ein Datensatz 23 (der beispielsweise Fahrzeug- oder Motorparameter enthält). Der Bootcode 21, der Programmcode 22 und der Datensatz 23 sind wie weiter un- ten erläutert durch jeweilige Signaturen SIG21, SIG22 und SIG23 gesichert. Die imThe flash memory 3 includes a memory area 20 in which various data is stored, such as a boot code 21, a program code 22, and a data set 23 (including, for example, vehicle or engine parameters). The boot code 21, the program code 22 and the data record 23 are secured by respective signatures SIG21, SIG22 and SIG23, as explained below. The im
Flash-Speicher 3 gespeicherten Daten werden im Betrieb über die Datenleitung 4 an den Mikrocontroller 2 übermittelt und von diesem zur Steuerung des Kraftfahrzeugs verwendet. Die Daten, die im Flash-Speicher 3 abgespeichert sind, können auf relativ einfache Weise von autorisierter Seite (z.B. vom Hersteller) aktualisiert werden, ohne dass ein Austausch des gesamten Steuergerätes 1 notwendig ist.Flash memory 3 stored data are transmitted during operation via the data line 4 to the microcontroller 2 and used by this for controlling the motor vehicle. The data stored in the flash memory 3 can be updated relatively easily by an authorized party (e.g., the manufacturer) without requiring replacement of the entire controller 1.
Bei der in Fig. 1 gezeigten Anordnung sind verschiedene Arten von Angriffen denkbar, mit denen eine unautorisierte Partei versuchen könnte, die Daten im Flash- Speicher 3 zu ändern, beispielsweise durch Austausch des Flash-Speichers 3 oder durch Umprogrammieren des Flash-Speichers 3 im eingebauten Zustand. Ein Angreifer könnte ferner versuchen, im Flash-Speicher 3 gespeicherte sicherheitsrelevante bzw. sensitive Daten auszulesen. Diese Angriffe werden erfindungsgemäß durch die im Folgenden beschriebenen Verfahren verhindert.In the arrangement shown in FIG. 1, various types of attacks are conceivable that could allow an unauthorized party to attempt to change the data in the flash memory 3, for example, by replacing the flash memory 3 or by reprogramming the flash memory 3 in FIG built-in condition. An attacker could also try to read stored in the flash memory 3 security-sensitive or sensitive data. These attacks are prevented according to the invention by the methods described below.
Fig. 2 zeigt ein Flussdiagramm eines ersten Verfahrens nach einer Ausführungsform der vorliegenden Erfindung. Mit diesem ersten Verfahren wird verhindert, dass die Daten im Flash-Speicher 3 dadurch manipuliert werden, dass der Flash-Speicher 3 komplett ausgetauscht (also ausgelötet und durch einen anderen Flash-Speicher ersetzt) wird. Dies wird durch eine Paarung von Mikrocontroller 2 und Flash-Speicher 3 über deren Seriennummern 5, 6 erreicht. In einem Schritt Sl werden werkseitig die jeweiligen Seriennummern 5 und 6 aus dem Mikrocontroller 2 und dem Flash-Speicher 3 ausgelesen und in einem Speicher einer (nicht näher dargestellten) Datenstation oder Programmierstation gespeichert.FIG. 2 shows a flowchart of a first method according to an embodiment of the present invention. This first method prevents the data in the flash memory 3 from being manipulated by the fact that the flash memory 3 is completely replaced (ie, soldered out and replaced by another flash memory). This is achieved by a pairing of microcontroller 2 and flash memory 3 via their serial numbers 5, 6. In a step Sl, the respective serial numbers 5 and 6 are factory read out of the microcontroller 2 and the flash memory 3 and stored in a memory of a (not shown) data terminal or programming station.
Im nachfolgenden Schritt S2 werden die Seriennummern 5 und 6 miteinander verkettet (also aneinander gehängt) und mit einem Verschlüsselungsschlüssel 8 verschlüsselt. Dabei ist der Verschlüsselungsschlüssel 8 Teil eines Schlüsselpaars 8, 9 für ein asymmetrisches Verschlüsselungsverfahren. Der Verschlüsselungsschlüssel 8 ist dabei ein geheimer Schlüssel, der also nur werkseitig bekannt ist, während der im ROM 10 des Mikrocontrollers 2 gespeicherte Entschlüsselungsschlüssel 9 ein öffentlicher Schlüssel ist, der nicht geheim gehalten zu werden braucht.In the following step S2, the serial numbers 5 and 6 are concatenated together (ie, hung on each other) and encrypted with an encryption key 8. In this case, the encryption key 8 is part of a key pair 8, 9 for an asymmetric encryption method. The encryption key 8 is a secret key, which is therefore known only at the factory, while the decryption key 9 stored in the ROM 10 of the microcontroller 2 is a public key which need not be kept secret.
Es handelt sich bei den Seriennummern 5 und 6 um unverschlüsselte Informationen bezüglich des Flash-Speichers 3: Die Seriennummer 6 ist die Seriennummer des Flashspeichers 3, während die Seriennummer 5 die Seriennummer des Bausteines ist, mit dem der Flashspeicher 3 eindeutig assoziiert wird. Die durch die Verschlüsselung mit dem Schlüssel 8 erhaltenen verschlüsselten charakteristischen Informationen werden im Folgenden als Zertifikat 7 bezeichnet.The serial numbers 5 and 6 are unencrypted information regarding the flash memory 3: The serial number 6 is the serial number of the flash memory 3, while the serial number 5 is the serial number of the component with which the flash memory 3 is uniquely associated. The encrypted characteristic information obtained by the encryption with the key 8 will be referred to as certificate 7 hereinafter.
In Schritt S3 wird das Zertifikat 7 werkseitig im Speicherbereich 20 des Flash-In step S3, the certificate 7 is factory-set in the memory area 20 of the flash memory.
Speichers 3 gespeichert, was den werkseitig ausgeführten Teil des Verfahrens abschließt.Memory 3 stored, which completes the factory-executed part of the process.
In Schritt S4 wird das Zertifikat 7 vom Flash-Speicher 3 über die Datenleitung 4 in den RAM-Speicherbereich 11 des Mikrocontrollers 2 gelesen. Dieser Schritt S4 kann beispielsweise jedes Mal wenn das Kraftfahrzeug gestartet wird durchgeführt werden.In step S4, the certificate 7 is read from the flash memory 3 via the data line 4 into the RAM memory area 11 of the microcontroller 2. This step S4 may be performed, for example, every time the vehicle is started.
In Schritt S5 wird das Zertifikat 7 mit dem Entschlüsselungsschlüssel 9 des Schlüs- selpaars 8, 9 entschlüsselt und in zwei Seriennummern getrennt.In step S5, the certificate 7 is decrypted with the decryption key 9 of the key pair 8, 9 and separated into two serial numbers.
In Schritt S6 wird schließlich geprüft, ob die durch die Entschlüsselung mit dem Schlüssel 9 erhaltenen Seriennummern identisch sind mit den Seriennummern 5 und 6, welche ja dem Mikrocontroller 2 unmittelbar zugänglich sind.Finally, in step S6 it is checked whether the serial numbers obtained by the decryption with the key 9 are identical to the serial numbers 5 and 6, which are in fact directly accessible to the microcontroller 2.
Sind die durch die Entschlüsselung mit dem Schlüssel 9 erhaltenen Seriennummern identisch mit den Seriennummern 5 und 6, dann bedeutet dies, dass der Flash- Speicher 3 nicht ausgetauscht wurde und den darin gespeicherten Daten somit vertraut werden kann. In diesem Falle springt die Prozedur zu Schritt S7, in welchem Parameter und andere Daten aus dem Flash-Speicher 3 zur Weiterverarbeitung in den RAM-Speicher des Mikrocontrollers geladen werden.If the serial numbers obtained by the decryption with the key 9 are identical to the serial numbers 5 and 6, then this means that the flash Memory 3 has not been replaced and thus the data stored therein can be trusted. In this case, the procedure jumps to step S7, in which parameters and other data are loaded from the flash memory 3 for further processing in the RAM memory of the microcontroller.
Sind die durch die Entschlüsselung mit dem Schlüssel 9 erhaltenen Seriennummern nicht identisch sind mit den Seriennummern 5 und 6, dann bedeutet dies, dass der Flash-Speicher 3 ausgetauscht wurde und die darin gespeicherten Daten somit möglicherweise manipuliert wurden. In diesem Falle springt die Prozedur zu Schritt S8, in welchem eine Fehlerreaktion (Reset) durchgeführt wird und beispielsweise imIf the serial numbers obtained by the decryption with the key 9 are not identical with the serial numbers 5 and 6, then this means that the flash memory 3 has been exchanged and thus the data stored therein may have been manipulated. In this case, the procedure jumps to step S8 in which an error reaction (reset) is performed and, for example, in
ROM-Speicher des Mikrocontrollers 2 gespeicherte Grundeinstellung anstelle der Parameter und Daten im Flash-Speicher 3 in den RAM-Speicher des Mikrocontrollers 2 geladen werden. Alternativ dazu kann auch ein Warnsignal ausgegeben werden, welches anzeigt, dass der Flash-Speicher 3 manipuliert wurde. Dieses Warn- signal kann beispielsweise dann in einem nicht näher dargestellten Schritt so weiterverarbeitet werden, dass eine Wegfahrsperre aktiviert wird, was bewirkt, dass das Kraftfahrzeug nicht mehr gestartet werden kann, falls der Flash-Speicher 3 manipuliert wurde.ROM memory of the microcontroller 2 stored instead of the parameters and data in the flash memory 3 are loaded into the RAM memory of the microcontroller 2. Alternatively, a warning signal may be output, indicating that the flash memory 3 has been manipulated. This warning signal can then, for example, be further processed in a step, not shown, in such a way that an immobilizer is activated, which means that the motor vehicle can no longer be started if the flash memory 3 has been manipulated.
Durch das oben beschriebene Verfahren wird erreicht, dass während der Programmlaufzeit oder beim Starten des Steuergeräts 1 die verschlüsselten Seriennummern (charakteristischen Informationen) mit dem Schlüssel 9 (Public-Key) entschlüsselt und mit den Seriennummern der tatsächlich im Steuergerät 1 verbauten Bauteilen verifiziert werden. Durch die Verwendung eines asymmetrischen Ver- /Entschlüsselungsverfahren wird sichergestellt, dass mit den Steuergerät 1 gespeicherten Informationen lediglich die Entschlüsselung der charakteristischen Informationen durchgeführt werden kann, nicht jedoch eine Verschlüsselung, die eine Paarung von Bauteilen herstellen könnte. Somit braucht der zur Entschlüsselung verwendete Schlüssel 9 nicht geheim gehalten zu werden.By the method described above it is achieved that during the program runtime or when starting the control unit 1, the encrypted serial numbers (characteristic information) with the key 9 (public key) decrypted and verified with the serial numbers of the actually built in the control unit 1 components. The use of an asymmetric encryption / decryption method ensures that information stored with the control unit 1 can only be used to decrypt the characteristic information, but not encryption that could produce a pairing of components. Thus, the key 9 used for decryption does not need to be kept secret.
Die Verfahrensschritte S4 bis S7 werden durch ein im Mikrocontroller 2 gespeichertes Programm realisiert. Dabei ist es vorteilhaft, wenn dieses Programm im ROM- Speicher des Mikrocontrollers 2 gespeichert ist. Somit kann sichergestellt werden, dass das Programm selbst nicht manipuliert wird. Aus demselben Grunde ist es auch vorteilhaft, wenn auch der Entschlüsselungsschlüssel 9 im ROM-Speicher desThe method steps S4 to S7 are implemented by a program stored in the microcontroller 2. It is advantageous if this program is stored in the ROM of the microcontroller 2. Thus it can be ensured that the program itself is not manipulated. For the same reason, it is also advantageous, although the decryption key 9 in the ROM memory of
Mikrocontrollers 2 gespeichert ist. Da für ein ROM keine aufwändigen Fertigungsschritte notwendig sind, ist diese Lösung auch kostengünstig. Es sollte beachtet werden, dass im oben beschriebenen Ausführungsbeispiel sowohl die Seriennummer 6 des Flash-Speichers 3 als auch die Seriennummer 5 des Mikrocontrollers 2 zur Paarung von Flash-Speicher und Mikrocontroller verwendet wurden. Es ist jedoch auch möglich, dass lediglich die Seriennummer des Flash-Microcontroller 2 is stored. Since no complex manufacturing steps are necessary for a ROM, this solution is also cost-effective. It should be noted that in the embodiment described above, both the serial number 6 of the flash memory 3 and the serial number 5 of the microcontroller 2 were used for mating flash memory and microcontroller. However, it is also possible that only the serial number of the flash
Speichers als Zertifikat 7 verschlüsselt abgespeichert wird. In diesem Falle wird ein Schutz gegen einen Austausch des Flash-Speichers realisiert. Es ist jedoch vorzuziehen, dass sowohl die Seriennummer des Flash-Speichers als auch die Seriennummer des Mikrocontrollers als Zertifikat 7 verschlüsselt abgespeichert werden, da dann eine eindeutige Paarung zwischen Flash-Speicher und Mikrocontroller gegeben ist, so dass auch Schutz gegen den Austausch des Mikrocontrollers gewährleistet ist.Memory is stored encrypted as a certificate 7. In this case, protection against replacement of the flash memory is realized. However, it is preferable that both the serial number of the flash memory and the serial number of the microcontroller are stored encrypted as a certificate 7, since then a clear match between flash memory and microcontroller is given, so that also protects against the replacement of the microcontroller is.
Fig. 3 zeigt ein Flussdiagramm eines zweiten Verfahrens nach einer Ausführungs- form der vorliegenden Erfindung. Mit diesem zweiten Verfahren wird verhindert, dass die im Flash-Speicher 3 gespeicherten Daten manipuliert werden können. Dies wird dadurch erreicht, dass, die Daten im Flash-Speicher 3 mittels Signaturen gesichert werden.3 shows a flowchart of a second method according to an embodiment of the present invention. This second method prevents the data stored in the flash memory 3 from being manipulated. This is achieved by backing up the data in the flash memory 3 by means of signatures.
Zunächst werden werkseitig die im Flash-Speicher zu speichernden Daten mit einerFirst, the data to be stored in the flash memory are factory-set with a
Signatur versehen. Dazu wird in Schritt Sl unter Anwendung einer Hashfunktion ein Hashwert der im Flash-Speicher zu speichernden Daten, also beispielsweise des Bootcodes 21, des Programmcodes 22 und/oder des Datensatzes 23 berechnet. Hierbei bezeichnet „Hashfunktion" eine nicht umkehrbare Funktion (einen Algorith- mus), die eine umfangreiche Datenmenge eindeutig auf eine wesentlich kleinereSignature provided. For this purpose, a hash value of the data to be stored in the flash memory, that is to say for example the boot code 21, the program code 22 and / or the data record 23, is calculated in step S1 using a hash function. Hash function here is an irreversible function (an algorithm) that uniquely reduces a large amount of data to a much smaller one
Zielmenge abbildet. Beispiele für solche Hashfunktionen sind der Message Digest MD4 oder die Familie der „Secure Hash Algorithms" SHA. Details zu diesen Hashfunktionen finden sich beispielsweise in Bruce Schneier „Applied Cryptography", John Wiley & Sons, 1996.Target quantity maps. Examples of such hashing functions are the Message Digest MD4 or the Secure Hash Algorithms SHA family, details of which have been found in Bruce Schneier's Applied Cryptography, John Wiley & Sons, 1996.
In Schritt S2 wird der in Schritt Sl ermittelte Hashwert mit dem Verschlüsselungsschlüssel 8 verschlüsselt, wodurch eine Signatur SIG21, SIG22 und/oder SIG23 erhalten wird.In step S2, the hash value obtained in step S1 is encrypted with the encryption key 8, whereby a signature SIG21, SIG22 and / or SIG23 is obtained.
In Schritt S3 wird die in Schritt S2 ermittelt Signatur werkseitig im Flash-Speicher 3 gespeichert. Es ist vorteilhaft, wenn diese Schritte Sl bis S3 für alle im Flash- Speicher 3 gespeicherten sensitiven Daten durchgeführt werden und, wie in Fig. 1 dargestellt, sowohl der Bootcode 21, der Programmcode 22 als auch der Datensatz 23 jeweils mit einer Signatur SIG21, SIG22 bzw. SIG23 versehen werden.In step S3, the signature determined in step S2 is stored in the flash memory 3 at the factory. It is advantageous if these steps S 1 to S 3 are carried out for all sensitive data stored in the flash memory 3 and, as in FIG. 1 shown, both the boot code 21, the program code 22 and the record 23 are each provided with a signature SIG21, SIG22 and SIG23.
Während der Laufzeit wird in Schritt S4 die zu überprüfende Signatur SIG21, SIG22 und/oder SIG23 vom Flash-Speicher 3 über die Datenleitung 4 in den RAM-During runtime, in step S4, the signature SIG21, SIG22 and / or SIG23 to be checked is transferred from the flash memory 3 via the data line 4 into the RAM.
Speicherbereich 11 des Mikrocontrollers 2 gelesen. Dieser Schritt S4 kann beispielsweise jedes Mal durchgeführt werden wenn das Kraftfahrzeug gestartet wird.Memory area 11 of the microcontroller 2 read. For example, this step S4 may be performed each time the motor vehicle is started.
In Schritt S5 wird die zu überprüfende Signatur mit dem Entschlüsselungsschlüssel 9 des Schlüsselpaars 8, 9 entschlüsselt, und somit ein unverschlüsselter Hashwert ermittelt.In step S5, the signature to be checked is decrypted with the decryption key 9 of the key pair 8, 9, and thus an unencrypted hash value is determined.
In Schritt S6 ermittelt der Mikrocontroller 2 den Hashwert der zu verifizierenden Daten im Flash-Speicher 3, und zwar mit derselben Hash-Funktion, die auch in Schritt Sl verwendet wurde. Dazu liest der Mikrocontroller 2 die zu verifizierenden Daten aus dem Flash-Speicher 3 über die Datenleitung 4 in den RAM-Speicher 11 und wendet die Hash-Funktion auf diese Daten an, wodurch Hashwerte dieser Daten erhalten werden.In step S6, the microcontroller 2 determines the hash value of the data to be verified in the flash memory 3, with the same hash function that was used in step S1. For this purpose, the microcontroller 2 reads the data to be verified from the flash memory 3 via the data line 4 into the RAM memory 11 and applies the hash function to this data, whereby hash values of these data are obtained.
In Schritt S7 wird schließlich geprüft, ob die in Schritt S5 durch die Entschlüsselung mit dem Schlüssel 9 erhaltenen Hashwerte identisch sind mit den in Schritt S6 erhaltenen Hashwerte.Finally, in step S7, it is checked whether the hash values obtained by the decryption with the key 9 in step S5 are identical with the hash values obtained in step S6.
Sind die durch die Entschlüsselung mit dem Schlüssel 9 in Schritt S5 erhaltenen Hashwerte identisch mit den in Schritt S6 ermittelten Hashwerten, dann bedeutet dies, dass der Flash-Speicher 3 nicht manipuliert wurde und den darin gespeicherten Daten somit vertraut werden kann. In diesem Falle springt die Prozedur zu Schritt S8, in welchem Parameter und andere Daten aus dem Flash-Speicher 3 zur Weiterverarbeitung in den RAM-Speicher des Mikrocontrollers geladen werden.If the hash values obtained by the decryption with the key 9 in step S5 are identical to the hash values obtained in step S6, it means that the flash memory 3 has not been manipulated and thus the data stored therein can be trusted. In this case, the procedure jumps to step S8 in which parameters and other data are loaded from the flash memory 3 for further processing in the RAM memory of the microcontroller.
Sind die durch die Entschlüsselung mit dem Schlüssel 9 in Schritt S5 erhaltenen Hashwerte dagegen nicht identisch mit den in Schritt S6 ermittelten Hashwerten, dann bedeutet dies, dass der Flash-Speicher 3 manipuliert wurde und den darin gespeicherten Daten nicht vertraut werden kann. In diesem Falle springt die Prozedur zu Schritt S9, in welchem eine Fehlerreaktion (Reset) durchgeführt wird und beispielsweise im ROM-Speicher des Mikrocontrollers 2 gespeicherte Grundeinstellung anstelle der Parameter und Daten im Flash-Speicher 3 in den RAM-Speicher des Mikrocontrollers 2 geladen werden. Alternativ dazu kann auch ein Warnsignal ausgegeben werden, welches anzeigt, dass der Flash-Speicher 3 manipuliert wurde. Dieses Warnsignal kann beispielsweise dann in einem nicht näher dargestellten Schritt so weiterverarbeitet werden, dass eine Wegfahrsperre aktiviert wird, was be- wirkt, dass das Kraftfahrzeug nicht mehr gestartet werden kann, falls der Flash-On the other hand, if the hash values obtained by the decryption with the key 9 in step S5 are not identical with the hash values obtained in step S6, it means that the flash memory 3 has been manipulated and can not trust the data stored therein. In this case, the procedure jumps to step S9, in which an error response (reset) is performed and, for example, in the ROM memory of the microcontroller 2 stored default instead of the parameters and data in the flash memory 3 in the RAM memory of Microcontroller 2 will be charged. Alternatively, a warning signal may be output, indicating that the flash memory 3 has been manipulated. This warning signal can then, for example, be further processed in a step not shown in more detail so that an immobilizer is activated, which means that the motor vehicle can no longer be started if the flash
Speicher 3 manipuliert wurde.Memory 3 was manipulated.
Durch das oben beschriebene Verfahren wird erreicht, dass während der Programmlaufzeit oder beim Starten des Steuergeräts 1 die im Flash-Speicher 3 ge- speicherten Daten verifiziert werden. Auch in diesem zweiten Verfahren wird durch die Verwendung eines asymmetrischen Ver-/ Entschlüsselungsverfahren wird sichergestellt, dass mit den Steuergerät 1 gespeicherten Informationen lediglich die Entschlüsselung der charakteristischen Informationen durchgeführt werden kann, nicht jedoch eine Verschlüsselung, die eine Paarung von Bauteilen herstellen könn- te. Somit braucht der zur Entschlüsselung verwendete Schlüssel 9 nicht geheim gehalten zu werden.The method described above ensures that the data stored in the flash memory 3 are verified during the program runtime or when the control unit 1 is started. In this second method as well, the use of an asymmetric encryption / decryption method ensures that information stored with the control unit 1 can only be used to decrypt the characteristic information, but not an encryption which could produce a pairing of components. Thus, the key 9 used for decryption does not need to be kept secret.
Ein weiterer möglicher Angriff auf das Steuergerät 1 kann darin bestehen, dass der Angreifer versucht, die im Flash-Speicher 3 abgespeicherten Daten auszulesen, und zu kopieren bzw. zu klonen. Dies wird dadurch vereinfacht, dass die Daten im Flash-Another possible attack on the control unit 1 may be that the attacker tries to read out the data stored in the flash memory 3, and to copy or clone. This is simplified by the fact that the data in the flash
Speicher 3 leicht auszulesen sind.Memory 3 are easy to read.
In einer vorteilhaften Weiterbildung der oben erläuterten Ausführungsformen sind daher Maßnahmen vorgesehen, die ein Erkennen von Geheimnissen unterbinden. Konkret kann dies dadurch geschehen, dass die im Flash-Speicher 3 gespeichertenIn an advantageous development of the embodiments explained above, therefore, measures are provided which prevent the detection of secrets. Specifically, this can be done by storing the ones stored in the flash memory 3
Daten verschlüsselt abgespeichert werden und diese verschlüsselten Daten vom Mikrocontroller 2 entschlüsselt werden.Data are stored in encrypted form and this encrypted data is decrypted by the microcontroller 2.
Wenn also der Mikrocontroller 2 auf den Flash-Speicher 3 zugreift, um dort Daten abzuspeichern, dann verschlüsselt der Mikrocontroller 2 diese Daten vor dem Abspeichern. Der Algorithmus und der Schlüssel für diese Datenverschlüsselung sind wiederum im ROM 10 abgelegt, so dass sie gegen Manipulation geschützt sind. Wenn auf diese Weise verschlüsselte Daten vom Flash-Speicher 3 in den Mikrocontroller ausgelesen werden, dann werden sie wiederum zunächst entschlüsselt, bevor sie weiterverarbeitet werden. Für die Ver-/Entschlüsselung wird bevorzugt ein symmetrisches Ver-/ Entschlüsselungsverfahren verwendet wird, da ein solches Verfahren schneller ist als ein a- symmetrisches Verfahren. Bei symmetrischen Verfahren ist der zum Verschlüsseln verwendete Schlüssel identisch mit dem zum Entschlüsseln verwendete Schlüssel, so dass es vorteilhaft ist, diesen Schlüssel in einem Speicherbereich des Mikrocont- rollers 2 zu speichern, der von außen nicht zugänglich ist, also mit anderen Worten diesen Schlüssel auslesegeschützt zu speichern.Thus, if the microcontroller 2 accesses the flash memory 3 in order to store data there, then the microcontroller 2 encrypts this data before storing it. The algorithm and the key for this data encryption are in turn stored in the ROM 10 so that they are protected against manipulation. In this way, if encrypted data is read from the flash memory 3 into the microcontroller, then in turn they are first decrypted before being processed further. For the encryption / decryption, a symmetric encryption / decryption method is preferably used, since such a method is faster than an asymmetric method. In symmetric methods, the key used for encryption is identical to the key used for decrypting, so that it is advantageous to store this key in a memory area of the microcontroller 2 which is not accessible from the outside, in other words this key is read-protected save.
Es ist wünschenswert, dass der Schlüssel für die symmetrische Verschlüsselung ei- ne hohe Schlüssellänge hat, da eine kurze Schlüssellänge anfällig ist für so genannte „Brüte- Force"- Angriffe, in denen der Angreifer den Schlüssel durch wiederholtes Ausprobieren rät. Ferner ist es wünschenswert, dass individuelle Schlüssel erzeugt werden können und projekt- bzw. kundenspezifische Variationsmöglichkeiten möglich sind. Generell gibt es die Möglichkeit, den Schlüssel in Form von programmier- baren Bits, beispielsweise als so genannte „Halbleitersicherungen" (OTP bits - „one time programmable bits") oder als fest verdrahtete Bits vorzusehen.It is desirable that the key for symmetric encryption have a high key length because a short key length is prone to so-called "brute-force" attacks in which the attacker advises the key by repeated trial and error, and it is desirable in that individual keys can be generated and project- or customer-specific variation possibilities are possible In general there is the possibility to use the key in the form of programmable bits, for example as so-called "semiconductor backups" (OTP bits - "one-time programmable bits"). ) or hard-wired bits.
Der Vorteil von programmierbaren Bits ist, dass sie eine hohe Variationsmöglichkeit bieten. Variationsmöglichkeiten sind insbesondere dann wichtig, wenn Schlüssel korrumpiert, also bekannt geworden sind. Programmierbare Bits sind jedoch relativ teuer und für lange Schlüssel nur bedingt geeignet. Der Vorteil von fest verdrahteten Bits ist, dass sie kostengünstig sind und somit für lange Schlüssellängen geeignet sind. Allerdings bieten sie aufgrund der festen Verdrahtung keine Variationsmöglichkeiten.The advantage of programmable bits is that they offer a great deal of variation. Variation options are particularly important when keys are corrupted, so have become known. However, programmable bits are relatively expensive and only partially suitable for long keys. The advantage of hardwired bits is that they are inexpensive and thus suitable for long key lengths. However, they offer no variation possibilities due to the fixed wiring.
Erfindungsgemäß wird nun vorgeschlagen, den Schlüssel durch eine Kombination von programmierbaren Bits und fest verdrahteten Bits zu realisieren. Somit ist es möglich, kostengünstig für das jeweilige Steuergerät individualisierte Schlüssel mit hoher Schlüssellänge zu erzeugen.According to the invention, it is now proposed to realize the key by a combination of programmable bits and hardwired bits. Thus, it is possible to produce cost-effective for the respective control unit individualized key with a high key length.
Dabei ist es günstig, wenn beispielsweise bei einer Schlüssellänge von 16 Bytes etwa 10% der Bits als OTP-Bits C,one time programmable bits") und der Rest als fest verdrahtete Bits vorgesehen werden. Auf diese Weise kann eine ausreichende Variationsmöglichkeit bei großer Schlüssellänge kostengünstig realisiert werden. Wer- den beispielsweise 10 Bits des Schlüssels als OTP-Bits vorgesehen, so sind dadurch 2Λ10=1024 Variationsmöglichkeiten gegeben. Es ist vorteilhaft, wenn die oben beschriebenen verschiedenen Maßnahmen zum Schutz gegen Angriffe miteinander kombiniert werden. Auf diese Weise kann ein vollständigerer Schutz gegen die verschiedenen Arten von Angriffen (also beispielsweise Austausch des Flash-Speichers 3 bzw. des Mikrocontrollers 2, Manipulation der Daten im Flash-Speicher 3 sowie Kopieren oder Klonen von sensitiven Daten im Flash-Speicher 3) erzielt werden. It is advantageous if, for example, with a key length of 16 bytes, approximately 10% of the bits are provided as OTP bits C, one time programmable bits ") and the remainder as hard-wired bits If, for example, 10 bits of the key are provided as OTP bits, this gives 2 × 10 = 1024 possible variations. It is advantageous if the various measures described above for protection against attacks are combined with one another. In this way, more complete protection against the various types of attacks (ie, for example, replacement of the flash memory 3 or the microcontroller 2, manipulation of the data in the flash memory 3 and copying or cloning of sensitive data in the flash memory 3) is achieved become.

Claims

Ansprüche claims
1. Verfahren zum Manipulationsschutz eines Steuergeräts (1), insbesondere eines Motorsteuergeräts, mit einem Mikrocontroller (2) und einem separat vom Mikro- controller (2) vorgesehenen nichtflüchtigen Speicher (3), welcher insbesondere als Flash-Speicher (3) ausgebildet ist, mit den folgenden Schritten:1. A method for manipulation protection of a control device (1), in particular an engine control unit, with a microcontroller (2) and a separate from the microcontroller (2) provided non-volatile memory (3), which is designed in particular as a flash memory (3), with the following steps:
Verschlüsseln von unverschlüsselten charakteristischen Informationen bezüglich des nichtflüchtigen Speichers (2) mittels eines asymmetrischen Verschlüsselungsverfahren und Speichern der verschlüsselten charakteristischen Informationen (7, SIG21, SIG22, SIG23) im nichtflüchtigen Speicher (3); - Übermitteln der im nichtflüchtigen Speicher gespeicherten Informationen (7,Encrypting unencrypted characteristic information regarding the nonvolatile memory (2) by an asymmetric encryption method and storing the encrypted characteristic information (7, SIG21, SIG22, SIG23) in the nonvolatile memory (3); Transmitting the information stored in the non-volatile memory (7,
SIG21, SIG22, SIG23) an den Mikrocontroller (2);SIG21, SIG22, SIG23) to the microcontroller (2);
- Entschlüsseln der übermittelten Informationen (7, SIG21, SIG22, SIG23) durch den Mikrocontroller (2); und Vergleichen der entschlüsselten Informationen mit den unverschlüsselten cha- rakteristischen Informationen durch den Mikrocontroller (2).- decrypting the transmitted information (7, SIG21, SIG22, SIG23) by the microcontroller (2); and comparing the decrypted information with the unencrypted characteristic information by the microcontroller (2).
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die charakteristischen Informationen eine Seriennummer (6) des nichtflüchtigen Speichers (3) umfassen.2. The method according to claim 1, characterized in that the characteristic information comprises a serial number (6) of the non-volatile memory (3).
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die charakteristischen Informationen eine Seriennummer (5) des Mikrocontrol- lers (2) umfassen.3. The method according to claim 1 or 2, characterized in that the characteristic information comprises a serial number (5) of the microcontroller (2).
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die charakteristischen Informationen einen Hash- wert von im nichtflüchtigen Speicher (3) gespeicherten Daten umfassen.4. Method according to one of the preceding claims, characterized in that the characteristic information comprises a hash value of data stored in the nonvolatile memory (3).
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass bei Feststellen von Ungleichheit der entschlüsselten Informationen und der unverschlüsselten charakteristischen Informationen eine Fehlerreaktion, insbesondere ein Reset, ausgeführt wird. 5. The method according to any one of the preceding claims, characterized in that upon detection of inequality of the decrypted information and the unencrypted characteristic information, an error response, in particular a reset, is executed.
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein weiterer Schritt zum Speichern des Schlüssels (9) zum Entschlüsseln der Informationen durch den Mikrocontroller (2) in einem ROM-Speicher (10) des Mikrocontrollers (2) vorgesehen ist.6. The method according to any one of the preceding claims, characterized in that a further step for storing the key (9) for decrypting the information by the microcontroller (2) in a ROM memory (10) of the microcontroller (2) is provided.
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass weiterhin folgende Schritte vorgesehen sind: Verschlüsseln von Daten durch den Mikrocontroller (2); - Speichern der verschlüsselten Daten im nichtflüchtigen Speicher (3);7. The method according to any one of the preceding claims, characterized in that the following further steps are provided: encrypting data by the microcontroller (2); - storing the encrypted data in the non-volatile memory (3);
- Auslesen der im nichtflüchtigen Speicher (3) gespeicherten Daten durch den Mikrocontroller (2); und- Reading the data stored in the non-volatile memory (3) by the microcontroller (2); and
Entschlüsseln der ausgelesenen verschlüsselten Daten durch den Mikrocontrol- ler (2).Decrypt the encrypted data read out by the microcontroller (2).
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass das Verschlüsseln und Entschlüsseln von Daten durch den Mikrocontroller (2) mit einem symmetrischen Verschlüsselungsverfahren durchgeführt wird.8. The method according to claim 7, characterized in that the encryption and decryption of data by the microcontroller (2) is carried out with a symmetric encryption method.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass der9. The method according to claim 8, characterized in that the
Schlüssel zum Verschlüsseln und Entschlüsseln von Daten durch den Mikrocontroller (2) als Kombination von programmierbaren Bits und fest verdrahteten Bits im Mikrocontroller (2) gespeichert ist.Key for encrypting and decrypting data stored by the microcontroller (2) as a combination of programmable bits and hardwired bits in the microcontroller (2).
10. Gegen Manipulationen geschütztes Steuergerät (1) mit: einem nichtflüchtigen Speicher (3) umfassend einen Speicherbereich (20), in welchem charakteristische Informationen bezüglich des nichtflüchtigen Speichers (3) mit einem privaten Schlüssel (8) eines Schlüsselpaars (8, 9) zur a- symmetrischen Verschlüsselung verschlüsselt gespeichert sind; und einem Mikrocontroller (2), der über eine Datenleitung (4) mit dem nichtflüchtigenA tamper resistant control apparatus (1) comprising: a nonvolatile memory (3) comprising a memory area (20) in which characteristic information relating to the nonvolatile memory (3) is stored with a private key (8) of a key pair (8, 9) a- symmetric encryption is stored encrypted; and a microcontroller (2) connected to the nonvolatile via a data line (4)
Speicher (3) verbunden ist, und einen ROM-Speicher (10) aufweist, in welchem der öffentliche Schlüssel (9) des Schlüsselpaars (8, 9) zur asymmetrischen Verschlüsselung, sowie ein Programm zur Entschlüsselung von mit der asymmetrischen Verschlüsselung verschlüsselten Daten gespeichert sind. Memory (3) is connected, and a ROM memory (10), in which the public key (9) of the key pair (8, 9) for asymmetric encryption, and a program for decrypting encrypted with asymmetric encryption data are stored ,
11. Steuergerät nach Anspruch 10, dadurch gekennzeichnet, dass die charakteristischen Informationen eine Seriennummer (6) des nichtflüchtigen Speichers (3) umfassen.11. Control device according to claim 10, characterized in that the characteristic information comprises a serial number (6) of the non-volatile memory (3).
12. Steuergerät nach Anspruch 10 oder 11, dad urch gekennzeichnet, dass die charakteristischen Informationen ferner eine Seriennummer (5) des Mikrocontrollers (2) umfassen.12. Control unit according to claim 10 or 11, dad urch in that the characteristic information further comprises a serial number (5) of the microcontroller (2).
13. Steuergerät nach einem der Ansprüche 10 bis 12, dadurch gekennzeichnet, dass die charakteristischen Informationen einen Hash- wertvon im nichtflüchtigen Speicher (3) gespeicherten Daten umfassen.13. Control device according to one of claims 10 to 12, characterized in that the characteristic information comprises a hash value of data stored in the non-volatile memory (3).
14. Steuergerät nach einem der Ansprüche 10 bis 13, dadurch gekennzeichnet, dass im ROM-Speicher (11) des Mikrocontrollers (2) ferner ein symmetrischer Schlüssel zum symmetrischen Verschlüsseln von im nichtflüchtigen Speicher zu speichernden Daten gespeichert ist.14. Control device according to one of claims 10 to 13, characterized in that in the ROM memory (11) of the microcontroller (2) is further stored a symmetric key for symmetrically encrypting data to be stored in the nonvolatile memory.
15. Steuergerät nach Anspruch 14, dadurch gekennzeichnet, dass der symmetrische Schlüssel programmierbare Bits und fest verdrahtete Bits enthält. 15. Control unit according to claim 14, characterized in that the symmetric key contains programmable bits and hardwired bits.
PCT/EP2007/050384 2006-02-10 2007-01-16 Method for protecting a control device against tampering and control device which has been protected against tampering WO2007090712A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE200610006109 DE102006006109A1 (en) 2006-02-10 2006-02-10 Method for tamper protection of a control device and protected against tampering control device
DE102006006109.8 2006-02-10

Publications (1)

Publication Number Publication Date
WO2007090712A1 true WO2007090712A1 (en) 2007-08-16

Family

ID=37877022

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2007/050384 WO2007090712A1 (en) 2006-02-10 2007-01-16 Method for protecting a control device against tampering and control device which has been protected against tampering

Country Status (2)

Country Link
DE (1) DE102006006109A1 (en)
WO (1) WO2007090712A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9471770B2 (en) 2011-05-24 2016-10-18 Siemens Aktiengesellschaft Method and control unit for recognizing manipulations on a vehicle network
CN111767553A (en) * 2020-05-29 2020-10-13 上海橙群微电子有限公司 Data encryption and decryption method, MCU, electronic equipment and readable storage medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011014688B3 (en) 2011-03-22 2012-03-22 Audi Ag Car control unit with cryptographic device
DE102011109426A1 (en) 2011-08-04 2012-12-27 Daimler Ag Method for identifying data changes in controller for controlling functional component of vehicle, involves saving data from controls of functional component in storage device of controller

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138236A (en) 1996-07-01 2000-10-24 Sun Microsystems, Inc. Method and apparatus for firmware authentication
WO2003058409A2 (en) * 2002-01-07 2003-07-17 Scm Microsystems Gmbh Protecting a device against unintended use in a secure environment
DE10311249A1 (en) * 2003-03-14 2004-09-23 Robert Bosch Gmbh Protection of road vehicle electronic controllers against change of units unless identification code is produced
WO2005029402A2 (en) * 2003-09-04 2005-03-31 Infineon Technologies Ag Processor circuit and method for allocating a logic chip to a memory chip

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138236A (en) 1996-07-01 2000-10-24 Sun Microsystems, Inc. Method and apparatus for firmware authentication
WO2003058409A2 (en) * 2002-01-07 2003-07-17 Scm Microsystems Gmbh Protecting a device against unintended use in a secure environment
DE10311249A1 (en) * 2003-03-14 2004-09-23 Robert Bosch Gmbh Protection of road vehicle electronic controllers against change of units unless identification code is produced
WO2005029402A2 (en) * 2003-09-04 2005-03-31 Infineon Technologies Ag Processor circuit and method for allocating a logic chip to a memory chip

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BRUCE SCHNEIER.: ""Applied Cryptography"", 1996, JOHN WILEY & SONS.

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9471770B2 (en) 2011-05-24 2016-10-18 Siemens Aktiengesellschaft Method and control unit for recognizing manipulations on a vehicle network
CN111767553A (en) * 2020-05-29 2020-10-13 上海橙群微电子有限公司 Data encryption and decryption method, MCU, electronic equipment and readable storage medium
CN111767553B (en) * 2020-05-29 2024-04-12 上海橙群微电子有限公司 Data encryption and decryption method, MCU, electronic equipment and readable storage medium

Also Published As

Publication number Publication date
DE102006006109A1 (en) 2007-08-16

Similar Documents

Publication Publication Date Title
DE60202605T2 (en) METHOD FOR PROTECTING AN ELECTRONIC DEVICE, SAFETY SYSTEM AND ELECTRONIC DEVICE
EP1128242B1 (en) Process of signature
EP1127756B1 (en) Authorisation method with certificate
DE60126968T2 (en) SYSTEM FOR THE PROTECTION OF DYNAMIC AND STATIC DATA AGAINST UNMATCHED MANIPULATIONS
EP1184771B1 (en) Method and device for protection of computer software and/or computer-readable data
EP2727277B1 (en) System and method for the secure transmission of data
EP2899714A1 (en) Secure provision of a key
DE10392528T5 (en) Microcode patch authentication
EP1532510B1 (en) Method for protecting against manipulation of a controller for at least one motor vehicle component
EP3422628B1 (en) Method, safety device and safety system
EP1399797B1 (en) Control unit
EP3337085B1 (en) Reloading cryptographic program instructions
DE102012224194B4 (en) Control system for a motor vehicle
EP1273994A2 (en) Method for securing a microporcessor system against manipulation of memory contents stored in the microprocessor
WO2007090712A1 (en) Method for protecting a control device against tampering and control device which has been protected against tampering
EP1532511B1 (en) Vehicle controller for a vehicle component having protection against manipulations
EP2434424B1 (en) Method for increasing the security of security-relevant online services
EP1661069B1 (en) Processor circuit and method for allocating a logic chip to a memory chip
DE102013202322A1 (en) Method for encrypted transmission of data between two components of control unit, involves transferring encrypted data from first component of control unit to second component of control unit, where encrypted data is decrypted
EP1801724B1 (en) Method and apparatus providing security relevant services by a security module of a franking machine
DE102020206561A1 (en) DEVICES AND METHODS FOR AUTHENTICATION
DE102021126509B4 (en) Portable chip device and method for performing a software module update in a portable chip device
DE102015207765A1 (en) Method and security module for generating at least one security key
DE102020202532A1 (en) DEVICES AND METHODS FOR AUTHENTICATION
EP4141722A1 (en) Safe operation of an industrial controller together with an ai module

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase

Ref document number: 07703899

Country of ref document: EP

Kind code of ref document: A1