WO2008058748A1 - Method for producing a control appliance, control appliance, and working method of the control appliance with copy protection - Google Patents

Method for producing a control appliance, control appliance, and working method of the control appliance with copy protection Download PDF

Info

Publication number
WO2008058748A1
WO2008058748A1 PCT/EP2007/009916 EP2007009916W WO2008058748A1 WO 2008058748 A1 WO2008058748 A1 WO 2008058748A1 EP 2007009916 W EP2007009916 W EP 2007009916W WO 2008058748 A1 WO2008058748 A1 WO 2008058748A1
Authority
WO
WIPO (PCT)
Prior art keywords
microcontroller
message
individual identification
private key
electrical component
Prior art date
Application number
PCT/EP2007/009916
Other languages
German (de)
French (fr)
Inventor
Thorsten Beyse
Original Assignee
Knorr-Bremse Systeme für Nutzfahrzeuge 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 Knorr-Bremse Systeme für Nutzfahrzeuge GmbH filed Critical Knorr-Bremse Systeme für Nutzfahrzeuge GmbH
Publication of WO2008058748A1 publication Critical patent/WO2008058748A1/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user

Definitions

  • the present invention relates to a method for producing a control device comprising at least one program-coded microcontroller according to claim 1, a control device manufactured according to the method according to claim 8 and a working method of a control device manufactured according to the manufacturing method according to claim 9.
  • a programmed microcontroller the focus of engineering performance often in the program code, by which, for example, microcontroller are controlled in control units.
  • Particularly complex is the development of program codes for control units of motor vehicles, especially for brake control units, which are provided with complex functions such as anti-lock braking system (ABS), Electronic Stability Program (ESP), traction control (ASR) and the like.
  • ABS anti-lock braking system
  • ESP Electronic Stability Program
  • ASR traction control
  • microcontroller program memory has been protected against read-out by enabling a controller ("security bit") register, with this protection being provided by the microcontroller manufacturer, but this protection only prevents the program memory from being accessed via freely available tools, such as debuggers
  • this protection only prevents the program memory from being accessed via freely available tools, such as debuggers
  • chemical and / or physical processes are applied to the microcontroller, it is possible to read out the logic state of the memory cells despite an activated security bit, for example by determining the amount of charge of a memory cell in the case of a flash memory.
  • the invention is based on the object to provide a manufacturing method for a control device, a control device and a working method of the control device, made difficult or impossible with the copies of program code microcontroller combinations.
  • Each microcontroller receives at least one individual identification feature during its production, by means of which this microcontroller differs from other microcontrollers.
  • This individual identifier or this individual identification feature is provided by the microcontroller manufacturer or specified during the manufacture of the control unit. Even with microcontrollers of the same type, these differ by the individual identifier.
  • a public key is generated according to the invention by a production device of the control device.
  • the public key is preferably formed on the basis of the serial number and / or production data of the microcontroller, such as production date, time, the position of the chip on the wafer, microcontroller type, etc.
  • the public key is stored in a memory of the microcontroller, which is writable only once, preferably in a register of the microcontroller.
  • a private key is generated in the production of the control unit based on a secret algorithm that runs on a production facility such as a production computer from the individual identifier or from the public key.
  • This private key is stored in a further electrical component of the control unit, preferably stored in an ASIC (Application Specific Integrated Circuit).
  • ASIC Application Specific Integrated Circuit
  • the private key is stored in an externally unreadable register of the ASIC.
  • it is checked during the course of the program code on the microcomputer, preferably in several tasks which form self-contained software parts, whether the private and public keys match. If the decryption does not generate the expected message content, this is an indication that the program code has been read out and then implemented by a control device other than that used for the program flow.
  • encryption or decryption is preferably performed at each message within a task, during program execution checked several times whether the used microcontroller has been assigned to the program code in the manufacture of the controller or not. If not, the microcontroller or the controller based thereon stops functioning and, for example, generates a signal about the compatibility problem. Otherwise, the normal course of the program code is initiated or continued.
  • the method of operation of a control device manufactured according to the described manufacturing method includes the following steps: a) sending a request from the microcontroller to the further electrical
  • Component to send a message (s) to the microcontroller b) encrypting the message (s) intended for the microcontroller with the private key stored in the further electrical component, c) transmitting the encrypted message (s) to the microcontroller, d ) Decrypting the message (s) with the public key stored in the microcontroller, e) if the content of the decrypted message (s) does not coincide with an expected message during a plausibility check, stop the program flow and / or send an error signal, otherwise f Processing of the message (s) by the microcontroller and proceeding with step h), or g) if, in the context of a plausibility check, a response generated as a result of the processing of the decrypted message (s) does not coincide with an expected response, stopping the program flow and / or Sending an error signal, otherwise h) sending a request to the next electrical device to send the next message (n + 1), and i) proceed to step b).
  • the plausibility check according to step f) can consist, for example, in the fact that, on the basis of a decrypted message, n controlled control signals cause reactions in the actuators which do not coincide with expected reactions.
  • the reactions of the actuators can, for example be continuously monitored by appropriate sensors.
  • control unit is, for example, a brake control unit of a commercial vehicle and the actuator controlled by the control unit is, for example, a pressure control module for modulating a brake pressure as a function of brake request signals of the brake control unit
  • control signals of a control unit such as the control signals of a foot brake pedal of a pedal module can be compared with the control signals corresponding reactions, for example in the form of the height of the brake pressure currently present a judgment of whether the reaction in the form of the magnitude of the brake pressure with respect to the actuating signal is plausible or not.
  • the expected messages could be stored in a memory of the microcontroller and consequently the decrypted messages sent by the further electrical component can be compared with the corresponding messages stored in the microcontroller according to step d). Once one of these messages does not match the corresponds to the corresponding expected message, this results in the consequences described above.
  • the communication between the microcontroller and the ASIC is preferably carried out via a data bus.
  • a data bus preferably not publicly available but is made exclusively for a manufacturer of the controller.
  • control unit program code combination results from the fact that arise due to different production data or serial numbers for each microcontroller or for each control unit different public and private keys.

Abstract

The invention relates to a method for producing a control appliance comprising at least one microcontroller provided with a programme code, said method comprising the following steps: a) a microcontroller comprising an individual identification characteristic and to be allocated a programme code is provided, said identification characteristic distinguishing the microcontroller in question from the other microcontrollers, b) a public key is generated on the basis of the at least one individual identification characteristic, c) the public key is stored in a memory of the microcontroller, d) a private key is generated on the basis of the at least one individual identification characteristic, and e) the private key is stored in another electrical component.

Description

Verfahren zur Herstellung eines Steuergeräts, Steuergerät und Process for the production of a control unit, control unit and
Arbeitsverfahren des Steuergeräts mit KopierschutzOperating procedure of the control unit with copy protection
Beschreibung Stand der Technik Die Erfindung betrifft ein Verfahren zur Herstellung eines Steuergeräts umfassend wenigstens einen mit einem Programmcode versehenen Mikrocontroller gemäß Anspruch 1 , ein nach dem Verfahren hergestelltes Steuergerät gemäß Anspruch 8 sowie ein Arbeitsverfahren eines nach dem Herstellverfahren hergestellten Steuergeräts nach Anspruch 9. Bei mit einem Programmcode versehenen Mikrocontroller besteht der Schwerpunkt der Ingenieurleistung oftmals in dem Programmcode, durch welchen beispielsweise Mikrocontroller in Steuergeräten gesteuert werden. Besonders aufwändig ist die Entwicklung von Programmcodes für Steuergeräte von Kraftfahrzeugen, insbesondere für Bremssteuergeräte, die mit komplexen Funktionen wie Antiblockiersystem (ABS), Elektronischem Stabilitätsprogramm (ESP), Antriebsschlupfregelung (ASR) und dergl. versehen sind.The present invention relates to a method for producing a control device comprising at least one program-coded microcontroller according to claim 1, a control device manufactured according to the method according to claim 8 and a working method of a control device manufactured according to the manufacturing method according to claim 9. In a Programmed microcontroller, the focus of engineering performance often in the program code, by which, for example, microcontroller are controlled in control units. Particularly complex is the development of program codes for control units of motor vehicles, especially for brake control units, which are provided with complex functions such as anti-lock braking system (ABS), Electronic Stability Program (ESP), traction control (ASR) and the like.
Als problematisch hat sich hierbei herausgestellt, dass die mit dem Programmcode verbundene geistige Entwicklungsleistung häufig in Ländern kopiert wird, in welchen das Recht auf geistiges Eigentum nur sehr schwer durchsetzbar ist. Denn mit geringem Aufwand kann der Programmcode aus dem Speicher des originalen Mikrocontrollers ausgelesen, ein im Vergleich zum originalen Mikrocontroller typgleicher Mikrocontroller beschafft und die ausgelesene Software auf dem typgleichen Mikrocontroller implementiert werden. Um ein solches Produkt zu kopieren, muss also lediglich eine dem Original ähnliche Hardware hergestellt werden. Wird für elektronische Steuergeräte insbesondere die Leiterplattentechnik verwendet, ist die technische Hürde zum Kopieren der Hardware relativ niedrig.It has proven to be problematic here that the intellectual development performance associated with the program code is often copied in countries in which the right to intellectual property is very difficult to enforce. Because with little effort, the program code can be read from the memory of the original microcontroller, procured a microcontroller of the same type compared to the original microcontroller, and the software read out can be implemented on the type-identical microcontroller. To copy such a product, so only a similar to the original hardware needs to be made become. If electronic control units, in particular the printed circuit board technology used, the technical hurdle to copy the hardware is relatively low.
Des weiteren muss man die bereits fertig entwickelte Software aus dem MikroController des Original-Steuergerätes auslesen. Danach speichert man die ausgelesene Software in die kopierte Hardware. Dieses Vorgehen setzt demnach lediglich voraus, dass typgleiche MikroController im Original-Gerät und im kopierten Gerät verwendet werden. Da in den meisten Fällen frei käufliche Mikrocontroller eingesetzt werden, ist diese Bedingung leicht zu erfüllen.Furthermore, you have to read the already finished developed software from the microcontroller of the original control unit. Then you save the software read in the copied hardware. This procedure therefore only requires that microcontrollers of the same type be used in the original device and in the copied device. Since freely available microcontrollers are used in most cases, this condition is easy to meet.
Bisher wird der Mikrocontroller-Programmspeicher durch Aktivierung eines Controller-Registers („Security-Bit") gegen Auslesen geschützt, wobei dieser Schutz durch den Mikrocontroller-Hersteller bereitgestellt wird. Dieser Schutz verhindert jedoch nur, dass der Programmspeicher über frei erhältliche Tools, z.B. Debugger ausgelesen werden kann. Wendet man jedoch chemische und/oder physikalische Prozesse auf den Mikrocontroller an, kann man trotz aktiviertem Security-Bit den logischen Zustand der Speicherzellen auslesen, bei einem Flash- Speicher beispielsweise über die Bestimmung der Ladungsmenge einer Speicherzelle.Up to now, microcontroller program memory has been protected against read-out by enabling a controller ("security bit") register, with this protection being provided by the microcontroller manufacturer, but this protection only prevents the program memory from being accessed via freely available tools, such as debuggers However, if chemical and / or physical processes are applied to the microcontroller, it is possible to read out the logic state of the memory cells despite an activated security bit, for example by determining the amount of charge of a memory cell in the case of a flash memory.
Der Erfindung liegt demgegenüber die Aufgabe zugrunde, ein Herstellverfahren für ein Steuergerät, ein Steuergerät sowie ein Arbeitsverfahren des Steuergeräts bereitzustellen, mit dem Kopien von Programmcode-Mikrocontroller- Kombinationen erschwert bzw. unmöglich gemacht werden.The invention is based on the object to provide a manufacturing method for a control device, a control device and a working method of the control device, made difficult or impossible with the copies of program code microcontroller combinations.
Erfindungsgemäß wird diese Aufgabe durch die Merkmale der Patentansprüche 1 , 8 und 9 gelöst.According to the invention, this object is solved by the features of claims 1, 8 and 9.
Beschreibung eines Ausführungsbeispiels Jeder Mikrocontroller erhält bei seiner Produktion wenigstens ein individuelles Identifikationsmerkmal, durch welches sich dieser Mikrocontroller von anderen MikroControllern unterscheidet. Diese individuelle Kennung bzw. dieses individuelle Identifikationsmerkmal wird durch den Mikrocontrollerhersteller bereitgestellt oder bei der Fertigung des Steuergeräts vorgegeben. Auch bei typgleichen MikroControllern unterscheiden sich diese durch die individuelle Kennung.DESCRIPTION OF AN EXEMPLARY EMBODIMENT Each microcontroller receives at least one individual identification feature during its production, by means of which this microcontroller differs from other microcontrollers. This individual identifier or this individual identification feature is provided by the microcontroller manufacturer or specified during the manufacture of the control unit. Even with microcontrollers of the same type, these differ by the individual identifier.
Aus dieser individuellen Kennung wird gemäß der Erfindung durch eine Produktionseinrichtung des Steuergeräts ein öffentlicher Schlüssel generiert. Der öffentliche Schlüssel wird vorzugsweise auf der Basis der Seriennummer und/oder von Produktionsdaten des Mikrocontrollers gebildet, wie beispielsweise Produktionsdatum, Uhrzeit, der Position des Chips auf dem Wafer, Mikrocontrollertyp, etc.. Der öffentliche Schlüssel wird in einem Speicher des Mikrocontrollers gespeichert, welcher nur einmal beschreibbar ist, vorzugsweise in einem Register des Mikrocontrollers.From this individual identifier, a public key is generated according to the invention by a production device of the control device. The public key is preferably formed on the basis of the serial number and / or production data of the microcontroller, such as production date, time, the position of the chip on the wafer, microcontroller type, etc. The public key is stored in a memory of the microcontroller, which is writable only once, preferably in a register of the microcontroller.
Gemäß eines weiteren Schritts wird bei der Produktion des Steuergeräts anhand eines geheim zu haltenden Algorithmus, der auf einer Produktionseinrichtung wie einem Produktionsrechner läuft, aus der individuellen Kennung oder auch aus dem öffentlichen Schlüssel ein privater Schlüssel generiert. Dieser private Schlüssel wird in einem weiteren elektrischen Bauelement des Steuergeräts abgespeichert, vorzugsweise in einem ASIC (Application Specific Integrated Circuit) abgelegt. Bei einem solchen ASIC handelt es sich um einen anwendungsspezifischen IC. Vorzugsweise wird der private Schlüssel in einem von außen nicht auslesbaren Register des ASIC gespeichert. Im Rahmen des Arbeitsverfahrens eines auf die beschriebene Weise hergestellten Steuergeräts wird während des Laufs des Programmcodes auf dem Mikrocomputer vorzugsweise in mehreren Tasks, welche in sich geschlossene Softwareteile bilden, überprüft, ob der private und öffentliche Schlüssel zusammenpassen. Falls die Entschlüsselung nicht den erwarteten Botschaftsinhalt generiert, ist dies ein Hinweis darauf, dass der Programmcode von einem anderen als dem gerade für den Programmablauf verwendeten Steuergerät ausgelesen und dann dort implementiert wurde.According to a further step, a private key is generated in the production of the control unit based on a secret algorithm that runs on a production facility such as a production computer from the individual identifier or from the public key. This private key is stored in a further electrical component of the control unit, preferably stored in an ASIC (Application Specific Integrated Circuit). Such an ASIC is an application specific IC. Preferably, the private key is stored in an externally unreadable register of the ASIC. In the context of the method of operation of a control device produced in the described manner, it is checked during the course of the program code on the microcomputer, preferably in several tasks which form self-contained software parts, whether the private and public keys match. If the decryption does not generate the expected message content, this is an indication that the program code has been read out and then implemented by a control device other than that used for the program flow.
Da eine Verschlüsselung bzw. Entschlüsselung vorzugsweise bei jeder Botschaft innerhalb eines Tasks durchgeführt wird, wird während des Programmlaufs mehrmals überprüft, ob der genutzte Mikrocontroller dem Programmcode bei der Herstellung des Steuergeräts zugeordnet wurde oder nicht. Falls nicht, stellt der Mikrocontroller bzw. das auf ihm basierende Steuergerät seine Funktion ein und erzeugt beispielsweise ein Signal über das Kompatibilitätsproblem. Andernfalls wird der normale Ablauf des Programmcodes eingeleitet bzw. fortgesetzt.Since encryption or decryption is preferably performed at each message within a task, during program execution checked several times whether the used microcontroller has been assigned to the program code in the manufacture of the controller or not. If not, the microcontroller or the controller based thereon stops functioning and, for example, generates a signal about the compatibility problem. Otherwise, the normal course of the program code is initiated or continued.
Im Detail beinhaltet das Arbeitsverfahren eines nach dem beschriebenen Herstellverfahren hergestellten Steuergeräts folgende Schritte : a) Senden einer Anforderung vom Mikrocontroller an das weitere elektrischeIn detail, the method of operation of a control device manufactured according to the described manufacturing method includes the following steps: a) sending a request from the microcontroller to the further electrical
Bauelement, eine Botschaft (n) an den Mikrocontroller zu senden, b) Verschlüsseln der für den Mikrocontroller bestimmten Botschaft (n) mit dem in dem weiteren elektrischen Bauelement gespeicherten privaten Schlüssel, c) Übertragen der verschlüsselten Botschaft (n) an den Mikrocontroller, d) Entschlüsseln der Botschaft (n) mit dem in dem Mikrocontroller gespeicherten öffentlichen Schlüssel, e) falls im Rahmen einer Plausibilitätsprüfung der Inhalt der entschlüsselten Botschaft (n) nicht mit einer erwarteten Botschaft übereinstimmt, Stop des Programmablaufs und/oder Senden eines Fehlersignals, andernfalls f) Verarbeitung der Botschaft (n) durch den Mikrocontroller und Fortfahren mit Schritt h), oder g) falls im Rahmen einer Plausibilitätsprüfung eine aufgrund der Verarbeitung der entschlüsselten Botschaft (n) erzeugte Reaktion nicht mit einer erwarteten Reaktion übereinstimmt, Stop des Programmablaufs und/oder Senden eines Fehlersignals, andernfalls h) Senden einer Anforderung an das weitere elektrische Bauelement, die nächste Botschaft (n+1 ) zu senden, und i) Fortfahren mit Schritt b).Component to send a message (s) to the microcontroller, b) encrypting the message (s) intended for the microcontroller with the private key stored in the further electrical component, c) transmitting the encrypted message (s) to the microcontroller, d ) Decrypting the message (s) with the public key stored in the microcontroller, e) if the content of the decrypted message (s) does not coincide with an expected message during a plausibility check, stop the program flow and / or send an error signal, otherwise f Processing of the message (s) by the microcontroller and proceeding with step h), or g) if, in the context of a plausibility check, a response generated as a result of the processing of the decrypted message (s) does not coincide with an expected response, stopping the program flow and / or Sending an error signal, otherwise h) sending a request to the next electrical device to send the next message (n + 1), and i) proceed to step b).
Die Plausibilitätsprüfung gemäß Schritt f) kann beispielsweise darin bestehen, dass vom Steuergerät aufgrund einer entschlüsselten Botschaft n ausgesteuerte Steuersignale Reaktionen in Aktoren hervorrufen, welche nicht mit erwarteten Reaktionen übereinstimmen. Die Reaktionen der Aktoren können beispielsweise durch entsprechende Sensoren laufend überwacht werden. Wenn das Steuergerät beispielsweise ein Bremssteuergerät eines Nutzfahrzeugs ist und der durch das Steuergerät angesteuerte Aktor beispielsweise ein Druckregelmodul zum Modulieren eines Bremsdrucks in Abhängigkeit von Bremsanforderungssignalen des Bremssteuergeräts, so ist durch einen Vergleich der Stellsignale einer Stelleinrichtung, wie beispielsweise der Stellsignale eines Fußbremspedals eines Pedalmoduls mit den entsprechenden Reaktionen beispielsweise in Form der Höhe des gerade vorliegenden Bremsdrucks eine Beurteilung darüber möglich, ob die Reaktion in Form der Höhe des Bremsdrucks in Bezug zu dem Stellsignal plausibel ist oder nicht.The plausibility check according to step f) can consist, for example, in the fact that, on the basis of a decrypted message, n controlled control signals cause reactions in the actuators which do not coincide with expected reactions. The reactions of the actuators can, for example be continuously monitored by appropriate sensors. If the control unit is, for example, a brake control unit of a commercial vehicle and the actuator controlled by the control unit is, for example, a pressure control module for modulating a brake pressure as a function of brake request signals of the brake control unit, the control signals of a control unit such as the control signals of a foot brake pedal of a pedal module can be compared with the control signals corresponding reactions, for example in the form of the height of the brake pressure currently present a judgment of whether the reaction in the form of the magnitude of the brake pressure with respect to the actuating signal is plausible or not.
Falls die Reaktion nicht plausibel ist, ist dies ein Hinweis auf ein kopiertes Steuergerät, d.h. dass eine von einem anderen Steuergerät ausgelesene Software auf eine fremde Hardware kopiert wurde. Das Steuergerät verarbeitet dann nicht die erwarteten „richtigen" Botschaften, sondern das erfmdungsgemäße Verschlüsselungs-Entschlüsselungsverfahren generiert „falsche" Botschaften, welche aktorseitig zu unvorhergesehenen Reaktionen führen. Deshalb muss zusätzlich dafür Sorge getragen werden, dass insbesondere im Falle von sicherheitsrelevanten Steuerfunktionen wie bei Bremssteuergeräten keine Gefahrensituationen entstehen. Dies kann beispielsweise dadurch erreicht werden, dass bei der Inbetriebnahme des Fahrzeugs vor dem Losfahren eine Testroutine automatisch abläuft, in welcher bestimmte Bremsfunktionen durchlaufen werden. Falls dann nicht plausible Reaktionen auftreten, wird der Programmablauf des Bremssteuergeräts gestoppt und das Losfahren des Fahrzeugs verhindert. Zusätzlich kann ein Fehlersignal erzeugt werden, um dem Wartungspersonal bzw. dem Fahrer das Vorliegen eines kopierten Steuergeräts anzuzeigen.If the reaction is not plausible, this is an indication of a copied controller, i. a software read by another controller has been copied to a foreign hardware. The controller then does not process the expected "right" messages, but the inventive encryption-decryption method generates "false" messages, which lead to unanticipated reactions on the actuator side. Therefore, additional care must be taken to ensure that no hazardous situations arise, in particular in the case of safety-related control functions such as brake control units. This can be achieved, for example, by automatically starting a test routine during startup of the vehicle before starting, in which specific brake functions are run. If then plausible reactions occur, the program flow of the brake control unit is stopped and prevents the vehicle from starting. In addition, an error signal may be generated to indicate to the service person or driver the presence of a copied controller.
Alternativ könnten die erwarteten Botschaften in einem Speicher des MikroControllers abgelegt sein und folglich die vom weiteren elektrischen Bauelement gesendeten, entschlüsselten Botschaften mit den jeweils korrespondierenden, im Mikrocontroller abgelegten Botschaften gemäß Schritt d) verglichen werden. Sobald eine dieser Botschaften nicht mit der korrespondierenden erwarteten Botschaft übereinstimmt, so hat dies die oben beschriebenen Konsequenzen zur Folge.Alternatively, the expected messages could be stored in a memory of the microcontroller and consequently the decrypted messages sent by the further electrical component can be compared with the corresponding messages stored in the microcontroller according to step d). Once one of these messages does not match the corresponds to the corresponding expected message, this results in the consequences described above.
Die Kommunikation zwischen dem MikroController und dem ASIC erfolgt dabei vorzugsweise über einen Datenbus. Insbesondere durch das hintereinander folgende Verschlüsseln und Entschlüsseln von Botschaften verschiedener Software-Tasks und durch das Abspeichern des privaten Schlüssels in dem weiteren elektrischen Bauelement wie beispielsweise einem ASIC, der vorzugsweise öffentlich nicht verfügbar ist sondern exklusiv für einen Hersteller des Steuergeräts hergestellt wird, steigt der Aufwand zum Kopieren des Steuergeräts erheblich.The communication between the microcontroller and the ASIC is preferably carried out via a data bus. In particular, by the successive encrypting and decrypting messages of various software tasks and by storing the private key in the other electrical component such as an ASIC, which is preferably not publicly available but is made exclusively for a manufacturer of the controller, the effort increases to copy the controller considerably.
Falls eine verschlüsselte Botschaft aus dem Steuergerät ausgelesen wird, wird eine Entschlüsselung dadurch erschwert, dass weder der Inhalt der betreffenden Botschaft noch der private Schlüssel bekannt ist, so dass auch kein Rückschluss auf die jeweils andere Größe möglich ist. Eine weitere Kopiererschwernis der erfindungsgemäßen Steuergerät-Programmcode-Kombination ergibt sich aus der Tatsache, dass sich aufgrund unterschiedlicher Produktionsdaten bzw. Seriennummern für jeden Mikrocontroller bzw. für jedes Steuergerät unterschiedliche öffentliche und private Schlüssel ergeben. If an encrypted message is read from the control unit, a decryption is made difficult by the fact that neither the content of the embassy concerned nor the private key is known, so that no conclusion on the other size is possible. Another Kopiererschwernis the control unit program code combination according to the invention results from the fact that arise due to different production data or serial numbers for each microcontroller or for each control unit different public and private keys.

Claims

Patentansprüche claims
1. Verfahren zur Herstellung eines Steuergeräts umfassend wenigstens einen mit einem Programmcode versehenen Mikrocontroller, beinhaltend folgendenA method of manufacturing a controller comprising at least one microcontroller provided with a program code, including the following
Schritt : a) Bereitstellen eines mit dem Programmcode zu versehenden MikroControllers mit einem individuellen Identifikationsmerkmal, durch welches sich dieser Mikrocontroller von anderen Mikrocontrollern unterscheidet, gekennzeichnet durch wenigstens folgende weitereStep: a) Providing a microcontroller to be provided with the program code with an individual identification feature, by means of which this microcontroller differs from other microcontrollers, characterized by at least the following additional ones
Schritte: b) Generieren eines öffentlichen Schlüssels auf der Basis des wenigstens einen individuellen Identifikationsmerkmals, c) Abspeichern des öffentlichen Schlüssels in einem Speicher des Mikrocontrollers, d) Generieren eines privaten Schlüssels auf der Basis des wenigstens eines individuellen Identifikationsmerkmals, e) Abspeichern des privaten Schlüssels in einem weiteren, vom Mikrocontroller verschiedenen elektrischen Bauelement.Steps: b) generating a public key based on the at least one individual identification feature, c) storing the public key in a memory of the microcontroller, d) generating a private key based on the at least one individual identification feature, e) storing the private key in another, different from the microcontroller electrical component.
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass der private Schlüssel in einem ASIC gespeichert wird.2. The method according to claim 1, characterized in that the private key is stored in an ASIC.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der private Schlüssel und/oder der öffentliche Schlüssel in einer dem weiteren elektrischen Bauelement zugeordneten Produktionseinrichtung und/oder in einer dem Mikrocontroller zugeordneten Produktionseinrichtung vorhandenen Zuordnungs- oder Berechnungsvorschrift aus dem wenigstens einen individuellen Identifikationsmerkmal des Mikrocontrollers erzeugt werden.3. The method of claim 1 or 2, characterized in that the private key and / or the public key in a further electrical component associated with the production device and / or in a microcontroller associated production device allocation or calculation rule from the at least one individual identification feature of the microcontroller are generated.
4. Verfahren nach wenigstens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das individuelle Identifikationsmerkmal des Mikrocontrollers in einem Register oder Speicher des Mikrocontrollers gespeichert wird.4. The method according to at least one of the preceding claims, characterized in that the individual identification feature of the microcontroller is stored in a register or memory of the microcontroller.
5. Verfahren nach wenigstens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Seriennummer und/oder Produktionsdaten des Mikrocontrollers als individuelles Identifikationsmerkmal herangezogen werden.5. The method according to at least one of the preceding claims, characterized in that the serial number and / or production data of the microcontroller are used as an individual identification feature.
6. Verfahren nach wenigstens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der private Schlüssel in einem nur einmal beschreibbaren Speicher des weiteren elektrischen Bauelements gespeichert wird, welcher von außen nicht auslesbar ist.6. The method according to at least one of the preceding claims, characterized in that the private key is stored in a write once only memory of the further electrical component, which is not readable from the outside.
7. Verfahren nach wenigstens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der öffentliche Schlüssel in einem Speicher des Mikrocontrollers gespeichert wird, welcher nur einmal beschreibbar ist.7. The method according to at least one of the preceding claims, characterized in that the public key is stored in a memory of the microcontroller, which is written only once.
8. Steuergerät, hergestellt nach einem Verfahren nach wenigstens einem der vorhergehenden Ansprüche.8. Control device, produced by a method according to at least one of the preceding claims.
9. Arbeitsverfahren eines nach einem Verfahren nach wenigstens einem der Ansprüche 1 bis 7 hergestellten Steuergeräts, gekennzeichnet durch wenigstens folgende Schritte : a) Senden einer Anforderung vom MikroController an das weitere elektrische9. Working method of a control device produced by a method according to at least one of claims 1 to 7, characterized by at least the following steps: a) sending a request from the microcontroller to the further electrical
Bauelement, eine Botschaft (n) an den Mikrocontroller zu senden, b) Verschlüsseln der für den Mikrocontroller bestimmten Botschaft (n) mit dem in dem weiteren elektrischen Bauelement gespeicherten privaten Schlüssel, c) Übertragen der verschlüsselten Botschaft (n) an den Mikrocontroller, d) Entschlüsseln der Botschaft (n) mit dem in dem Mikrocontroller gespeicherten öffentlichen Schlüssel, e) falls im Rahmen einer Plausibilitätsprüfung der Inhalt der entschlüsseltenComponent to send a message (s) to the microcontroller, b) encrypting the message (s) intended for the microcontroller with the private key stored in the further electrical component, c) transmitting the encrypted message (s) to the microcontroller, d ) Decrypt the message (s) with that in the microcontroller e) if, within the scope of a plausibility check, the content of the decrypted
Botschaft (n) nicht mit einer erwarteten Botschaft übereinstimmt, Stop desMessage (s) does not match an expected message, stop the
Programmablaufs und/oder Senden eines Fehlersignals, andernfalls f) Verarbeitung der Botschaft (n) durch den Mikrocontroller und Fortfahren mit Schritt h), oder g) falls im Rahmen einer Plausibilitätsprüfung eine aufgrund derProgram execution and / or transmission of an error signal, otherwise f) processing of the message (s) by the microcontroller and proceeding with step h), or g) if, within the scope of a plausibility check, one based on the
Verarbeitung der entschlüsselten Botschaft (n) erzeugte Reaktion nicht mit einer erwarteten Reaktion übereinstimmt, Stop des Programmablaufs und/oder Senden eines Fehlersignals, andernfalls h) Senden einer Anforderung an das weitere elektrische Bauelement, die nächste Botschaft (n+1 ) zu senden, und i) Fortfahren mit Schritt b).Processing of the decrypted message (s) does not match an expected response, stopping program execution and / or sending an error signal, otherwise h) sending a request to the further electrical device to send the next message (n + 1), and i) continue with step b).
10. Arbeitsverfahren nach Anspruch 9, dadurch gekennzeichnet, dass die10. Working method according to claim 9, characterized in that the
Kommunikation zwischen dem Mikrocontroller und dem weiteren elektrischen Bauelement durch einen Datenbus erfolgt. Communication between the microcontroller and the further electrical component is effected by a data bus.
PCT/EP2007/009916 2006-11-17 2007-11-16 Method for producing a control appliance, control appliance, and working method of the control appliance with copy protection WO2008058748A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102006054650.4 2006-11-17
DE102006054650 2006-11-17

Publications (1)

Publication Number Publication Date
WO2008058748A1 true WO2008058748A1 (en) 2008-05-22

Family

ID=39156387

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2007/009916 WO2008058748A1 (en) 2006-11-17 2007-11-16 Method for producing a control appliance, control appliance, and working method of the control appliance with copy protection

Country Status (1)

Country Link
WO (1) WO2008058748A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023083500A1 (en) * 2021-11-15 2023-05-19 Bayerische Motoren Werke Aktiengesellschaft Method, vehicle component, and computer program for granting authorization to run a computer program by means of a vehicle component of a vehicle

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5563950A (en) * 1995-03-31 1996-10-08 International Business Machines Corporation System and methods for data encryption using public key cryptography
DE19955545A1 (en) * 1999-11-18 2001-05-23 Volkswagen Ag System for controlling a motor vehicle uses control devices fitted with a cryptocontroller storing a program for encrypting and/or a secret code in memory and keeping it safe from manipulation
US20030194088A1 (en) * 2002-03-27 2003-10-16 Werner Fischer Method for transmitting data among components of the system electronics of mobile systems, and such components
US20040003230A1 (en) * 2002-06-28 2004-01-01 Puhl Larry C. Method and system for vehicle authentication of a service technician
US20040165725A1 (en) * 2003-02-20 2004-08-26 Nishit Kumar Unique identifier per chip for digital audio/video data encryption/decryption in personal video recorders
US20040170068A1 (en) * 2003-02-27 2004-09-02 Williams Emrys J. Anti-theft system and method for semiconductor devices and other electronic components

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5563950A (en) * 1995-03-31 1996-10-08 International Business Machines Corporation System and methods for data encryption using public key cryptography
DE19955545A1 (en) * 1999-11-18 2001-05-23 Volkswagen Ag System for controlling a motor vehicle uses control devices fitted with a cryptocontroller storing a program for encrypting and/or a secret code in memory and keeping it safe from manipulation
US20030194088A1 (en) * 2002-03-27 2003-10-16 Werner Fischer Method for transmitting data among components of the system electronics of mobile systems, and such components
US20040003230A1 (en) * 2002-06-28 2004-01-01 Puhl Larry C. Method and system for vehicle authentication of a service technician
US20040165725A1 (en) * 2003-02-20 2004-08-26 Nishit Kumar Unique identifier per chip for digital audio/video data encryption/decryption in personal video recorders
US20040170068A1 (en) * 2003-02-27 2004-09-02 Williams Emrys J. Anti-theft system and method for semiconductor devices and other electronic components

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023083500A1 (en) * 2021-11-15 2023-05-19 Bayerische Motoren Werke Aktiengesellschaft Method, vehicle component, and computer program for granting authorization to run a computer program by means of a vehicle component of a vehicle

Similar Documents

Publication Publication Date Title
EP3274825B1 (en) Method and execution environment for the secure execution of program instructions
DE102012110499B9 (en) Safety access procedure for electronic automotive control units
DE10008973B4 (en) Authorization procedure with certificate
DE102009041176B4 (en) A compiler system and method for compiling a source code into an encrypted machine language code
DE102009025585B4 (en) Device for the decentralized function release of a control device
WO2018137856A1 (en) Method and device for the computer-supported creation and execution of a control function
EP1421460A2 (en) Method for providing software to be used by a control unit of a vehicle
DE112016002785T5 (en) Electronic control units for vehicles
EP1164456B1 (en) Software protection mechanism
DE102016210788B4 (en) Component for processing data worthy of protection and method for implementing a security function for protecting data worthy of protection in such a component
EP1532510A2 (en) Method for protecting against manipulation of a controller for at least one motor vehicle component and controller
EP1999521B1 (en) Field device
DE102009054753A1 (en) Method for operating a safety device
EP3314339B1 (en) Method, server, firewall, control device, and system for programming a control device of a vehicle
WO2008058748A1 (en) Method for producing a control appliance, control appliance, and working method of the control appliance with copy protection
WO2019020234A1 (en) Method and device for identifying an additively manufactured workpiece
DE102020208536A1 (en) GATEWAY DEVICE, ABNORMITY MONITORING PROCEDURES AND STORAGE MEDIUM
WO2005025128A1 (en) Method for signing a dataset in a public key system and data processing system for carrying out said method
DE102008039121A1 (en) Method for encoding character string of digital signature of manufacturer of vehicle, involves determining digital signature such that preset area of character string is changed so that another digital signature is same as former signature
EP2524333A1 (en) Method for providing a secure counter on a terminal
WO2008128710A1 (en) Control device for vehicles
DE102018129354A1 (en) Process for processing application programs on a distributed automation system
EP4107592B1 (en) Method for producing software copy protection for a steering control device in a vehicle, steering control device and computer program product
EP3309698B1 (en) Method for operating a computer system
DE102004035270A1 (en) Protection method for authentication algorithm used motor vehicle control devices involves storing authentication algorithm which is independent of tester system, by manufacturer partner

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07846625

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 07846625

Country of ref document: EP

Kind code of ref document: A1