DE10131579A1 - Process for programming a memory of a microcomputer with data especially for a motor vehicle control program uses protective keys - Google Patents

Process for programming a memory of a microcomputer with data especially for a motor vehicle control program uses protective keys

Info

Publication number
DE10131579A1
DE10131579A1 DE2001131579 DE10131579A DE10131579A1 DE 10131579 A1 DE10131579 A1 DE 10131579A1 DE 2001131579 DE2001131579 DE 2001131579 DE 10131579 A DE10131579 A DE 10131579A DE 10131579 A1 DE10131579 A1 DE 10131579A1
Authority
DE
Germany
Prior art keywords
data
microcomputer system
memory
accessible
computing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE2001131579
Other languages
German (de)
Inventor
Werner Fischer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE2001131579 priority Critical patent/DE10131579A1/en
Publication of DE10131579A1 publication Critical patent/DE10131579A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

A process for programming a microcomputer (1) memory (3) with data (6), especially for a motor vehicle control program comprises enclosing the data outside the computer using a freely accessible key (14), transmitting the data (15) to the computer and using a private key (25) to enclose the data in the memory. An Independent claim is also included for a microcomputer system for the above process.

Description

Die vorliegende Erfindung betrifft ein Verfahren zum Programmieren einer Speicheranordnung eines Mikrorechner- Systems mit Daten, insbesondere mit einem Steuerprogramm. Die Daten werden bei Bedarf durch ein Rechengerät des Mikrorechner-Systems, insbesondere durch einen Mikroprozessor, verarbeitet. The present invention relates to a method for Programming a memory arrangement of a microcomputer Systems with data, especially with a control program. If necessary, the data is processed by a computing device Microcomputer system, in particular by a Microprocessor, processed.

Die Erfindung betrifft außerdem ein Mikrorechner-System mit einer Speicheranordnung, in der Daten, insbesondere ein Steuerprogramm, abgelegt sind, und mit einem Rechengerät, insbesondere einem Mikroprozessor. Die Daten können bei Bedarf durch das Rechengerät verarbeitet werden. The invention also relates to a microcomputer system a storage arrangement in which data, in particular a Control program, are stored and with a computing device, especially a microprocessor. The data can be at Processed by the computing device.

Stand der TechnikState of the art

Aus dem Stand der Technik sind Verfahren zum Programmieren einer Speicheranordnung eines Mikrorechner-Systems mit Daten, insbesondere mit einem Steuerprogramm, bekannt. Derartige Verfahren werden bspw. zur Programmierung eines Steuergeräts eines Kraftfahrzeugs mit einem Steuerprogramm oder zur Programmierung des Steuergeräts mit Grenzwerten oder Parametern eingesetzt. Das Steuerprogramm steuert oder regelt bestimmte Funktionen in dem Kraftfahrzeug, bspw. eine Brennkraftmaschine, eine Fahrdynamikregelung, ein Antiblockiersystem (ABS) oder ein elektronisches Lenksystem (Steer-by-Wire). Bei der Programmierung kann es sich um eine Neu- oder eine Umprogrammierung handeln. Methods for programming are from the prior art a memory arrangement of a microcomputer system with Data, especially with a control program, known. Such methods are used, for example, for programming a Control device of a motor vehicle with a control program or for programming the control unit with limit values or parameters used. The control program controls or regulates certain functions in the motor vehicle, for example an internal combustion engine, a vehicle dynamics control Anti-lock braking system (ABS) or an electronic steering system (Steer-by-Wire). Programming can be a reprogramming or reprogramming.

Bei einer Umprogrammierung einer Speicheranordnung mit Daten werden die zu programmierenden Daten von einem Hersteller generiert. Anschließend werden die Daten an ein Programmiergerät zur Übertragung in die Speicheranordnung des Mikrorechner-Systems übermittelt. Das Programmiergerät ist bspw. in einer Werkstatt angeordnet. Die Übermittlung der Daten an das Programmiergerät kann über ein Datennetzwerk (z. B. Versand einer Datei mit den Daten über das Internet) oder auf dem Postweg (Z. B. Versand eines Datenträgers, auf dem die Daten gespeichert sind) erfolgen. Beim Stand der Technik besteht bei jeder Art der Übermittlung der Daten die Gefahr, dass die Daten unbefugten Dritten in die Hände fallen. When reprogramming a memory arrangement with Data becomes the data to be programmed by a Manufacturer generated. Then the data is sent to a Programming device for transfer to the memory arrangement of the microcomputer system. The programming device is arranged in a workshop, for example. The transmission the data to the programming device can be sent via a Data network (e.g. sending a file with the data on the Internet) or by post (e.g. sending a Data carrier on which the data is stored). In the state of the art, there is a Transmission of the data the risk that the data fall into the hands of unauthorized third parties.

Dritte können Personen oder Firmen sein, die beispielsweise durch Manipulation eines Steuerprogramms für Brennkraftmaschinen von Kraftfahrzeugen oder von Daten für ein Steuerprogramm eine Leistungssteigerung erzielen (sog. Tuning). Aufgrund der Manipulation des Steuerprogramms kann es jedoch zu einem Defekt oder Schaden der gesteuerten oder geregelten Brennkraftmaschine oder damit verbundener Aggregate kommen. Deshalb sollte eine Manipulation von in der Speicheranordnung eines Mikrorechner-Systems abgelegten Daten nach Möglichkeit verhindert werden, zumindest aber sollte die Manipulation im Nachhinein erkennbar sein, damit die Ursache eines Defekts einer gesteuerten oder geregelten Einheit festgestellt werden kann bzw. damit Gewährleistungsansprüche richtig zugeordnet werden können. Third parties can be people or companies that, for example by manipulating a control program for Internal combustion engines of motor vehicles or of data for a control program achieve an increase in performance (so-called Tuning). Due to the manipulation of the control program however, it causes a defect or damage to the controlled or regulated internal combustion engine or related Aggregates are coming. Therefore a manipulation of in the storage arrangement of a microcomputer system Data should be prevented if possible, at least the manipulation should be recognizable afterwards, so the cause of a defect of a controlled or regulated Unity can be determined or so Warranty claims can be assigned correctly.

Dritte können aber auch Mitbewerber sein, die in den Besitz von Daten, insbesondere von Steuerprogrammen für Kraftfahrzeug-Steuergeräte, von Konkurrenten gelangen. Üblicherweise implementieren die Hersteller der Daten zwar bestimmte Schutzmechanismen in den Daten bzw. in dem Steuergerät, um eine Manipulation der Daten bzw. eine Verarbeitung von manipulierten Daten zu verhindern. Diese Schutzmechanismen sind jedoch üblicherweise herstellerabhängig, d. h. sie funktionieren nur dann zuverlässig, wenn Daten und Steuergerät aufeinander abgestimmt sind, bspw. von demselben Hersteller stammen. Das bedeutet, dass die Schutzmechanismen in der Regel nicht aktiv werden, wenn Mitbewerber die Daten des Herstellers auf ihren eigenen Steuergeräten zur Verarbeitung bringen. Des weiteren ermöglicht der Besitz eines Steuerprogramms einem Mitbewerber einen Einblick in die Leistungsfähigkeit des Programms sowie in die Programmstruktur, was mit einem Gewinn an Know-how für den Mitbewerber verbunden sein kann. However, third parties can also be competitors in the possession of data, in particular of control programs for Motor vehicle control units, from competitors. Usually the manufacturers of the data implement certain protective mechanisms in the data or in the Control unit to manipulate the data or a Prevent processing of manipulated data. This Protection mechanisms are common, however manufacturer-dependent, d. H. they only work reliable when data and control unit are connected are coordinated, for example from the same manufacturer. That means the protective mechanisms are usually not become active when competitors use the manufacturer's data bring to processing on their own control units. Furthermore, the possession of a control program enables a competitor an insight into the performance of the program as well as in the program structure, what with a Gain in know-how can be related to the competition.

Trotz der Gefahr einer Manipulation des Steuerprogramms oder der Daten durch unbefugte Personen, ist es nicht sinnvoll, den Zugriff auf die Speicheranordnung des Steuergeräts völlig zu verbieten. Um bspw. eine Umprogrammierung des Steuergeräts vornehmen zu können, muss es einem befugten Benutzerkreis möglich sein, auf die Speicheranordnung zuzugreifen. Es kann nämlich erforderlich sein, von Zeit zu Zeit eine neue Version eines Steuerprogramms oder neue Parameter oder Grenzwerte in dem Steuergerät abzulegen, um bspw. Fehler in der Software zu beseitigen oder neuen gesetzlichen Vorgaben Rechnung zu tragen. Despite the risk of manipulation of the control program or the data from unauthorized persons, it is not useful to access the memory array of the Prohibit control unit completely. For example To be able to reprogram the control unit an authorized user group may be able to access the Access memory array. It may be necessary be a new version of a from time to time Control program or new parameters or limit values in the Store control unit, for example, to errors in the software eliminate or account for new legal requirements wear.

Der vorliegenden Erfindung liegt die Aufgabe zugrunde, bei der Programmierung einer Speicheranordnung eines Mikrorechner-Systems zu verhindern, dass zu programmierende Daten unbefugten Dritten in die Hände gelangen bzw. dass Dritte erlangte Daten zu Manipulationszwecken (beim Tuning) oder zum Betrieb der eigenen Kraftfahrzeug-Steuergeräte (bei Mitbewerbern) nutzen. The present invention is based on the object the programming of a memory array Microcomputer system to prevent being programmed Data into the hands of unauthorized third parties or that Third-party data obtained for manipulation purposes (when tuning) or to operate your own motor vehicle control units (with competitors) use.

Zur Lösung dieser Aufgabe schlägt die Erfindung ausgehend von dem Verfahren der eingangs genannten Art die nachfolgenden Verfahrensschritte vor:

  • - die Daten werden außerhalb des Mikrorechner-Systems anhand eines frei zugänglichen ersten öffentlichen Schlüssels verschlüsselt;
  • - die verschlüsselten Daten werden an das Mikrorechner- System übertragen; und dort
  • - entweder verschlüsselt in der Speicheranordnung abgelegt und vor der Verarbeitung durch das Rechengerät anhand eines lediglich einem beschränkten Personenkreis zugänglichen ersten privaten Schlüssels entschlüsselt;
  • - oder anhand eines lediglich einem beschränkten Personenkreis zugänglichen ersten privaten Schlüssels entschlüsselt und entschlüsselt in der Speicheranordnung abgelegt.
To achieve this object, the invention proposes the following method steps based on the method of the type mentioned at the beginning:
  • - The data are encrypted outside the microcomputer system using a freely accessible first public key;
  • - The encrypted data are transmitted to the microcomputer system; and there
  • - either stored in encrypted form in the memory arrangement and decrypted before processing by the computing device using a first private key which is only accessible to a limited group of people;
  • - or decrypted and decrypted in the memory arrangement on the basis of a first private key which is only accessible to a limited group of people.

Vorteile der ErfindungAdvantages of the invention

Gemäß der vorliegenden Erfindung werden die zu programmierenden Daten also verschlüsselt bevor sie an Programmiergeräte verteilt und in die Speicheranordnung des Mikrorechner-Systems übertragen werden. Die Verschlüsselung der Daten erfolgt vorzugsweise beim Hersteller der Daten. Die Entschlüsselung der Daten erfolgt in dem Mikrorechner- System entweder vor dem Ablegen der Daten in der Speicheranordnung oder vor dem Verarbeiten der Daten, d. h. nach dem Ablegen der Daten in der Speicheranordnung. Durch die Verschlüsselung wird es für unbefugte Dritte wesentlich schwieriger, Kenntnis über die Programmstruktur oder die Daten zu erhalten und auf welchem Wege auch immer erlangte Daten auch tatsächlich zu Manipulationszwecken (beim Tuning) oder zum Betrieb der eigenen Kraftfahrzeug- Steuergeräte (bei Mitbewerbern) zu nutzen. Mit Hilfe der vorliegenden Erfindung kann wirksam verhindert werden, dass bei der Programmierung einer Speicheranordnung eines Mikrorechner-Systems zu programmierende Daten unbefugten Dritten in die Hände gelangen bzw. dass Dritte die erlangten Daten nutzen können. Es ist sogar eine freie Verfügbarkeit von zu programmierenden Daten in einem Datennetzwerk, bspw. im Internet, möglich, ohne dass unbefugte Dritte an den Inhalt der Daten gelangen könnten. According to the present invention, the programming data so encrypted before it Programmers distributed and in the memory array of Microcomputer system are transferred. The encryption the data is preferably obtained from the manufacturer of the data. The data is decrypted in the microcomputer System either before storing the data in the Storage arrangement or before processing the data, i. H. after storing the data in the memory array. By Encryption becomes essential for unauthorized third parties more difficult to know about the program structure or the To receive data and by whatever means obtained Data actually for manipulation purposes (at Tuning) or to operate your own motor vehicle To use control units (with competitors). With the help of present invention can be effectively prevented when programming a memory array Unauthorized data to be programmed by microcomputer system Get into the hands of third parties or that third parties obtained data can use. It's even a free one Availability of data to be programmed in one Data network, for example on the Internet, possible without unauthorized third parties could access the content of the data.

Zur Entschlüsselung der Daten ist in dem Mikrorechner- System ein Bootprogramm mit einer entsprechenden Entschlüsselungsfunktion vorgesehen. Im Rahmen der Entschlüsselung der Daten greift das Bootprogramm auf den ersten privaten Schlüssel zu, der in der Speicheranordnung, vorzugsweise in einem zugriffsgeschützten Speicherbereich, abgelegt ist. To decrypt the data, the microcomputer System a boot program with an appropriate Decryption function provided. As part of the Decryption of the data accesses the boot program first private key to that in the memory array, preferably in an access-protected memory area, is filed.

Gemäß einer vorteilhaften Weiterbildung der vorliegenden Erfindung wird vorgeschlagen, dass die Daten vor der Übertragung an das Mikrorechner-System anhand eines lediglich einem beschränkten Personenkreis zugänglichen und von einem Hersteller der Daten abhängigen zweiten privaten Schlüssels signiert werden und vor der Verarbeitung der Daten durch das Rechengerät die Signatur der Daten in dem Mikrorechner-System anhand eines frei zugänglichen zweiten öffentlichen Schlüssels überprüft wird. Diese Signatur der Daten anhand eines herstellerabhängigen privaten Schlüssels erlaubt eine Authentizierung des Herstellers der Daten in dem Mikrorechner-System. Dadurch ist sichergestellt, dass die zu programmierenden Daten auch tatsächlich von einem autorisierten Hersteller oder Entwicklungsbereich stammen. Gemäß dieser Weiterbildung verfügt das Bootprogramm also auch über eine Funktion zur Überprüfung der Signatur der Daten. According to an advantageous development of the present Invention is proposed that the data before Transfer to the microcomputer system using a only accessible to a limited group of people from a manufacturer of the data dependent second private Be signed and before processing the Data through the computing device the signature of the data in the Microcomputer system based on a freely accessible second public key is checked. This signature of the Data based on a manufacturer-specific private key allows authentication of the manufacturer of the data in the microcomputer system. This ensures that the data to be programmed is actually from one authorized manufacturer or development department. According to this further development, the boat program has also via a function for checking the signature of the Data.

Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung wird vorgeschlagen, dass die Signatur der Daten beim Hochfahren des Mikrorechner-Systems überprüft wird. Vorzugsweise wird die Signatur der Daten bei jedem Hochfahren überprüft. According to a preferred embodiment of the present Invention it is proposed that the signature of the data is checked when starting up the microcomputer system. The signature of the data is preferred for each Startup checked.

Des weiteren wird vorgeschlagen, dass nach einer erfolgreichen Überprüfung der Signatur der Daten eine Kennung in einem vorgebbaren Speicherbereich der Speicheranordnung abgelegt und der Inhalt dieses Speicherbereichs beim Hochfahren des Mikrorechner-Systems überprüft wird. Es wird also nicht mehr bei jedem Hochfahren des Mikrorechner-Systems die Signatur, sondern lediglich der Inhalt des Speicherbereichs überprüft. Da das Überprüfen der Signatur wesentlich mehr Rechenkapazität beansprucht als das Überprüfen des Inhalts eines Speicherbereichs, kann mit diesem Vorschlag Rechenkapazität beim Hochfahren des Mikrorechner-Systems eingespart werden. Dadurch kann das Hochfahren beschleunigt werden oder freie Rechenkapazität für andere Aufgaben während des Hochfahrens genutzt werden. Der vorgebbare Speicherbereich wird vorzugsweise bei einem Programmiervorgang der Speicheranordnung zurückgesetzt. Furthermore, it is proposed that after a successful verification of the signature of the data Identifier in a predeterminable memory area of the Storage arrangement filed and the content of this Memory area when starting up the microcomputer system is checked. So it won't be with everyone anymore Start up the microcomputer system the signature, but only the content of the memory area is checked. Since that Checking the signature significantly more computing capacity claimed as checking the content of a Memory area, with this proposal computing capacity saved when starting up the microcomputer system. This can speed up or free up Computing capacity for other tasks during startup be used. The predeterminable memory area is preferably during a programming process Memory arrangement reset.

Gemäß einer anderen vorteilhaften Weiterbildung der vorliegenden Erfindung wird vorgeschlagen, dass die Signatur und/oder die Verschlüsselung der Daten nach einem asymmetrischen Verschlüsselungsverfahren ausgeführt wird. Das asymmetrische Verschlüsselungsverfahren wird auch als Public-Key-Verschlüsselungsverfahren bezeichnet. According to another advantageous development of the The present invention proposes that the Signature and / or encryption of the data after a asymmetric encryption method is executed. The asymmetric encryption method is also called Public key encryption method.

Asymmetrische Verschlüsselungsverfahren sind bspw. RSA (benannt nach den Entwicklern dieses Verfahrens Ronald Rivest, Adi Shamir und Leonard Adleman; Verschlüsseln durch modulares Potenzieren c = me mod n), LUC (ähnlich RSA; Verschlüsseln durch Bilden der Lucas-Folge) oder MNLN (Müller, Nöbauer, Lidl, Nöbauer; wie RSA, aber Polynom xe wird durch Dickson-Polynom ersetzt) (vgl. http:/ /www.uni-mainz.de/~pommeren/DSVorlesung/KryptoBasis/asymmetrisch.html). Asymmetric encryption methods are, for example, RSA (named after the developers of this method Ronald Rivest, Adi Shamir, and Leonard Adleman; encrypting by modular exponentiation C = M e mod n)., LUC (similar to RSA; encrypting by forming the Lucas sequence) or MNLN ( Müller, Nöbauer, Lidl, Nöbauer; like RSA, but polynomial x e is replaced by Dickson polynomial) (see http: / /www.uni-mainz.de/~pommeren/DSVorlesung/KryptoBasis/asymmetrisch.html).

Bei dem asymmetrischen Verschlüsselungsverfahren wird bspw. zum Signieren eines Steuerprogramms für ein Steuergerät eines Kraftfahrzeugs aus dem zu signierenden Steuerprogramm oder aus einem Teil davon mit Hilfe einer Hash-Funktion ein Hash-Wert gebildet. Ein Hash-Wert ist eine Art Prüfsumme mit besonderen Eigenschaften, die von der verwendeten Hash- Funktion abhängig sind. Der Hash-Wert wird mit Hilfe des nicht frei zugänglichen herstellerabhängigen zweiten privaten Schlüssels verschlüsselt. Der verschlüsselte Hash- Wert wird als Signatur bezeichnet. Die Signatur wird an das zu signierende Steuerprogramm angehängt und zusammen mit diesen an das Kraftfahrzeugsteuergerät übertragen und dort in der Speicheranordnung gespeichert. In the asymmetric encryption method, for example. for signing a control program for a control device of a motor vehicle from the control program to be signed or from part of it using a hash function Hash value formed. A hash value is a kind of checksum with special properties that have been used by the hash Function depend. The hash value is determined using the not freely accessible manufacturer-dependent second private key encrypted. The encrypted hash Value is called a signature. The signature is sent to the control program to be signed appended and together with transmit this to the motor vehicle control unit and there stored in the memory array.

In dem Steuergerät wird die Signatur mit Hilfe eines frei zugänglichen zweiten öffentlichen Schlüssels wieder entschlüsselt. Dadurch erhält man den entschlüsselten Hash- Wert. Außerdem wird mit Hilfe derselben Hash-Funktion, die auch im Rahmen der Verschlüsselung zum Ermitteln des Hash- Wertes eingesetzt wurde, aus dem empfangenen Steuerprogramm und/oder den empfangenen Daten ein weiterer Hash-Wert ermittelt. Anschließend wird überprüft, ob der entschlüsselte Hash-Wert gleich dem weiteren Hash-Wert ist. Falls dem so ist, wird die Ausführung des übertragenen Steuerprogramms bzw. die Nutzung der übertragenen Daten freigegeben. Anderenfalls wird die Ausführung des Steuerprogramms bzw. die Nutzung der Daten gesperrt oder das Steuergerät in einem Notlauf betrieben. The signature is released in the control unit with the help of a accessible second public key again decrypted. This gives you the decrypted hash Value. It also uses the same hash function that also as part of the encryption to determine the hash Value was used from the received control program and / or a further hash value for the received data determined. Then it is checked whether the decrypted hash value is equal to the further hash value. If so, the execution of the transferred Control program or the use of the transmitted data Approved. Otherwise the execution of the Control program or the use of the data blocked or the control unit is operated in an emergency mode.

Die Verschlüsselung und Entschlüsselung eines Steuerprogramms erfolgt in entsprechender Weise mit Hilfe des frei zugänglichen ersten öffentlichen Schlüssels (Verschlüsseln) und des nicht frei zugänglichen ersten privaten Schlüssels (Entschlüsseln). Durch das Entschlüsseln des Steuerprogramms mit einem privaten Schlüssel wird verhindert, dass beliebige Dritte das verschlüsselte Steuerprogramm entschlüsseln und analysieren können. The encryption and decryption of a Control program takes place in a corresponding manner with the help of the freely accessible first public key (Encrypt) and the not freely accessible first private key (decrypt). By the Decrypt the control program with a private one Key prevents any third party from using it decrypt and analyze encrypted control program can.

Als eine weitere Lösung der Aufgabe der vorliegenden Erfindung wird ein Mikrorechner-System der eingangs genannten Art vorgeschlagen, das gekennzeichnet ist durch

  • - Mittel zum Empfangen von außerhalb des Mikrorechner- Systems anhand eines frei zugänglichen ersten öffentlichen Schlüssels verschlüsselten Daten; und
  • - entweder Mittel zum Ablegen der verschlüsselten Daten in der Speicheranordnung und Mittel zum Entschlüsseln der verschlüsselten Daten vor der Verarbeitung durch das Rechengerät anhand eines lediglich einem beschränkten Personenkreis zugänglichen ersten privaten Schlüssels;
  • - oder Mittel zum Entschlüsseln der verschlüsselten Daten anhand eines lediglich einem beschränkten Personenkreis zugänglichen ersten privaten Schlüssels und Mittel zum Ablegen der entschlüsselten Daten in der Speicheranordnung.
As a further solution to the object of the present invention, a microcomputer system of the type mentioned at the outset is proposed, which is characterized by
  • - Means for receiving data encrypted outside the microcomputer system using a freely accessible first public key; and
  • - either means for storing the encrypted data in the storage arrangement and means for decrypting the encrypted data prior to processing by the computing device using a first private key which is only accessible to a limited group of people;
  • - or means for decrypting the encrypted data on the basis of a first private key that is only accessible to a limited group of people and means for storing the decrypted data in the memory arrangement.

Gemäß einer vorteilhaften Weiterbildung der vorliegenden Erfindung wird vorgeschlagen, dass der erste private Schlüssel in einem Speicherbereich der Speicheranordnung abgelegt ist, der über Schutzmechanismen verfügt, die einen schreibenden oder lesenden Zugriff auf den Speicherbereich von außen verhindern. Dadurch wird verhindert, dass unbefugte Dritte Zugriff auf den ersten privaten Schlüssel erhalten und die verschlüsselten Daten entschlüsseln können. According to an advantageous development of the present Invention is proposed to be the first private Key in a memory area of the memory arrangement is stored, which has protective mechanisms that a write or read access to the memory area prevent from the outside. This prevents unauthorized third parties access the first private key received and decrypt the encrypted data can.

Vorteilhafterweise ist der zweite öffentliche Schlüssel in einem Speicherbereich der Speicheranordnung abgelegt, der über Schutzmechanismen verfügt, die einen schreibenden Zugriff auf den Speicherbereich verhindern. Dadurch wird sichergestellt, dass der öffentliche Schlüssel zur Überprüfung der Signatur nicht verfälscht wird. The second public key is advantageously in stored a memory area of the memory array, the has protective mechanisms that prevent writing Prevent access to the storage area. This will ensures that the public key to Verification of the signature is not falsified.

Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung wird vorgeschlagen, dass die entschlüsselten Daten in einem Speicherbereich der Speicheranordnung abgelegt sind, der über Schutzmechanismen verfügt, die einen schreibenden oder lesenden Zugriff auf den Speicherbereich von außen verhindern. Dadurch wird verhindert, dass unbefugte Dritte Zugriff auf die in der Speicheranordnung entschlüsselt abgelegten Daten erhalten und diese manipulieren oder anderweitig missbrauchen können. According to a preferred embodiment of the present Invention it is proposed that the decrypted Data in a memory area of the memory arrangement are stored, which has protective mechanisms that write or read access to the Prevent storage area from outside. This will prevents unauthorized third parties from accessing the in the Storage arrangement received decrypted stored data and manipulate or otherwise abuse it can.

Vorteilhafterweise ist die Speicheranordnung auf dem gleichen Halbleiterbauelement ausgebildet wie das Rechengerät. Bei einem solchen sog. On-Chip-Speicher kann der Programmspeicher bzw. können die darauf abgelegten Daten nicht von außen manipuliert werden, wodurch das Mikrorechner-System zusätzlich gegen einen Zugriff durch unbefugte Dritte auf die in der Speicheranordnung abgelegten Daten und Schlüssel geschützt ist. The storage arrangement is advantageously on the formed the same semiconductor device as that Computing device. With such a so-called on-chip memory the program memory or can be stored on it Data is not manipulated from the outside, which means that Microcomputer system also prevents access unauthorized third parties to those in the storage array stored data and keys is protected.

Vorzugsweise hat das Mikrorechner-System Mittel zur Überprüfung der Signatur von signierten Daten vor der Verarbeitung der Daten durch das Rechengerät anhand eines frei zugänglichen zweiten öffentlichen Schlüssels. Die signierten Daten wurden vor der Übertragung an das Mikrorechner-System anhand eines lediglich einem beschränkten Personenkreis zugänglichen und von einem Hersteller der Daten abhängigen zweiten privaten Schlüssels signiert. The microcomputer system preferably has means for Verification of the signature of signed data before the Processing of the data by the computing device using a freely accessible second public key. The signed data were transferred to the Microcomputer system based on just one limited group of people accessible and from one Manufacturer of the data dependent second private key signed.

Schließlich wird vorgeschlagen, dass in der Speicheranordnung ein Computerprogramm abgelegt ist, das auf dem Rechengerät ablauffähig und zur Ausführung des erfindungsgemäßen Verfahrens geeignet ist. Dieses Computerprogramm wird auch als Bootprogramm bezeichnet. Das Bootprogramm dient insbesondere zum Entschlüsseln der verschlüsselten Daten anhand des ersten privaten Schlüssels und zum Überprüfen der Signatur der signierten Daten anhand des zweiten öffentlichen Schlüssels. Finally, it is suggested that in the Storage arrangement a computer program is stored, the executable on the computing device and for executing the method according to the invention is suitable. This Computer program is also called boot program. The Boot program is used in particular to decrypt the encrypted data based on the first private key and to verify the signature of the signed data of the second public key.

Zeichnungendrawings

Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen der Erfindung, die in der Zeichnung dargestellt sind. Dabei bilden alle beschriebenen oder dargestellten Merkmale für sich oder in beliebiger Kombination den Gegenstand der Erfindung, unabhängig von ihrer Zusammenfassung in den Patentansprüchen oder deren Rückbeziehung sowie unabhängig von ihrer Formulierung bzw. Darstellung in der Beschreibung bzw. in der Zeichnung. Es zeigen: Other features, applications and advantages of Invention result from the following description of embodiments of the invention, which in the Drawing are shown. Thereby form all described or illustrated features for themselves or in any Combination the subject of the invention, regardless of their summary in the claims or their Relationship and regardless of their wording or Representation in the description or in the drawing. It demonstrate:

Fig. 1 ein erfindungsgemäßes Mikrorechner-System gemäß einer bevorzugten Ausführungsform; und Fig. 1 shows an inventive microcomputer system in accordance with a preferred embodiment; and

Fig. 2 ein Ablaufdiagramm eines erfindungsgemäßen Verfahrens gemäß einer bevorzugten Ausführungsform. Fig. 2 is a flow diagram of a method according to a preferred embodiment.

Beschreibung der AusführungsbeispieleDescription of the embodiments

Gegenstand der vorliegenden Erfindung ist ein Verfahren zum Programmieren einer Speicheranordnung eines Mikrorechner- Systems mit Daten. Das Mikrorechner-System ist in Fig. 1 dargestellt und in seiner Gesamtheit mit dem Bezugszeichen 1 bezeichnet. Das Mikrorechner-System 1 ist als ein Steuergerät eines Kraftfahrzeugs zur Steuerung und/oder Regelung bestimmter Funktionen in dem Kraftfahrzeug, beispielsweise einer Brennkraftmaschine, einer Fahrdynamikregelung, eines Antiblockiersystems (ABS) oder eines elektronischen Lenksystems (Steer-by-Wire) ausgebildet. The present invention relates to a method for programming a memory arrangement of a microcomputer system with data. The microcomputer system is shown in FIG. 1 and is designated in its entirety by reference number 1 . The microcomputer system 1 is designed as a control unit of a motor vehicle for controlling and / or regulating certain functions in the motor vehicle, for example an internal combustion engine, driving dynamics control, an anti-lock braking system (ABS) or an electronic steering system (steer-by-wire).

Das Mikrorechner-System 1 umfasst ein Rechengerät 2, insbesondere einen Mikroprozessor, und eine Speicheranordnung 3, in der Daten 6 abgelegt und die von dem Rechengerät 2 verarbeitet werden können. Die Daten 6 sind beispielsweise ein Steuerprogramm oder Grenzwerte oder Parameterwerte. Um die zu verarbeitenden Daten 6 aus der Speicheranordnung 3 an das Rechengerät 2 zu übertragen und um evtl. Ergebnisse von Berechnungen oder Messwerte von dem Rechengerät 2 in der Speicheranordnung 3 ablegen zu können, ist zwischen dem Rechengerät 2 und der Speicheranordnung 3 eine bidirektionale Datenübertragungsverbindung vorgesehen. The microcomputer system 1 comprises a computing device 2 , in particular a microprocessor, and a memory arrangement 3 in which data 6 are stored and which can be processed by the computing device 2 . The data 6 are, for example, a control program or limit values or parameter values. In order to transmit the 6 data to be processed from the storage device 3 to the arithmetic unit 2 and place to possibly results of calculations or measurements of the computing device 2 in the memory device 3, there is provided a bi-directional data transmission connection between the arithmetic unit 2 and memory array 3 ,

Zur Erfüllung seiner Steuerungs- bzw. Regelungsfunktion ist das Mikrorechner-System 1 mit Eingangssignalen 5 beaufschlagt, die dem Mikrorechner-System 1 Informationen über den Zustand der zu steuernden oder zu regelnden Funktion oder Einheit liefert. Die Eingangssignale 5 werden von Messwertaufnehmern oder Sensoren (nicht dargestellt) zur Verfügung gestellt. Durch Verarbeitung der in der Speicheranordnung 3 abgelegten Daten 6 generiert das Mikrorechner-System 1 in Abhängigkeit von den Eingangssignalen 5 Ausgangssignale 7 als Ansteuersignale für Aktoren zur Beeinflussung des Zustands der zu steuernden oder zu regelnden Funktionen oder Einheiten. In order to fulfill its control or regulation function, the microcomputer system 1 is supplied with input signals 5 , which provide the microcomputer system 1 with information about the state of the function or unit to be controlled or regulated. The input signals 5 are made available by sensors or sensors (not shown). By processing the data 6 stored in the memory arrangement 3 , the microcomputer system 1 generates output signals 7 as control signals for actuators for influencing the state of the functions or units to be controlled or regulated, depending on the input signals 5 .

Von Zeit zu Zeit kann es erforderlich sein, eine neue Version des Steuerprogramms 6 oder neue Parameter oder Grenzwerte in der Speicheranordnung 3 des Steuergeräts 1 abzulegen, um beispielsweise Fehler in der Software zu beseitigen oder neuen gesetzlichen Vorgaben Rechnung zu tragen. Zur Programmierung des Steuergeräts 1 wird dieses über eine geeignete Schnittstelle an ein Programmiergerät 8 angeschlossen. Die Verbindung zwischen dem Steuergerät 1 und dem Programmiergerät 8 erfolgt über eine bidirektionale Datenleitung 9, so dass einerseits neue Daten von dem Programmiergerät 8 auf das Steuergerät 1 übertragen werden können und andererseits aber auch Rückmeldungen des Steuergeräts 1 an das Programmiergerät 8 zur Steuerung und Überwachung des Programmiervorgangs möglich sind. Der Programmiervorgang wird durch ein Bootprogramm 10 gesteuert und überwacht, das ebenfalls in der Speicheranordnung 3 des Steuergeräts 1 abgelegt ist. From time to time, it may be necessary to store a new version of the control program 6 or new parameters or limit values in the memory arrangement 3 of the control device 1 , for example in order to eliminate errors in the software or to take account of new legal requirements. To program the control device 1 , it is connected to a programming device 8 via a suitable interface. The connection between the control device 1 and the programming device 8 is via a bidirectional data line 9, so that on the one hand new data from the programming device 8 to the control unit 1 can be transmitted and on the other hand, feedback of the control device 1 to the programming device 8 for controlling and monitoring the Programming process are possible. The programming process is controlled and monitored by a boot program 10 , which is also stored in the memory arrangement 3 of the control unit 1 .

Bei einer Umprogrammierung der Speicheranordnung 3 werden die zu programmierenden Daten 6 von einem Hersteller 11 generiert und dort signiert und verschlüsselt. Anschließend werden die signierten und verschlüsselten Daten 15 an das Programmiergerät 8 zur Übertragung in die Speicheranordnung 3 des Mikrorechner-Systems 1 übermittelt (12) Das Programmiergerät 8 ist beispielsweise in einer Kraftfahrzeugwerkstatt angeordnet. Die Übermittlung 12 der Daten 15 an das Programmiergerät 8 kann über ein Datennetzwerk (z. B. Versand einer Datei über das Internet) oder auf dem Postweg (z. B. Versand eines Datenträgers, auf dem die Daten 15 gespeichert sind) erfolgen. When the memory arrangement 3 is reprogrammed, the data 6 to be programmed are generated by a manufacturer 11 and signed and encrypted there. The signed and encrypted data 15 are then transmitted to the programming device 8 for transmission into the memory arrangement 3 of the microcomputer system 1 ( 12 ). The programming device 8 is arranged, for example, in a motor vehicle workshop. The transmission 12 of the data 15 to the programming device 8 can take place via a data network (e.g. sending a file via the Internet) or by post (e.g. sending a data carrier on which the data 15 is stored).

Mit Hilfe der vorliegenden Erfindung kann verhindert werden, dass zu programmierende Daten 6 auf dem Weg von dem Hersteller 11 der Daten über das Programmiergerät 8 bis in die Speicheranordnung 3 unbefugten Dritten in die Hände fallen und von diesen manipuliert oder anderweitig missbraucht werden können. Dritte sind beispielsweise Personen oder Firmen, die durch Manipulation von Steuerprogrammen für Brennkraftmaschinen von Kraftfahrzeugen eine Leistungssteigerung erzielen. Dritte können aber auch Mitbewerber sein, die in den Besitz von Daten 6, insbesondere von Steuerprogrammen für Kraftfahrzeugsteuergeräte, von Konkurrenten gelangen können. The present invention can be used to prevent data 6 to be programmed from falling into the hands of unauthorized third parties on the way from the manufacturer 11 of the data via the programming device 8 to the storage arrangement 3 and from being manipulated or otherwise misused. Third parties are, for example, people or companies who achieve an increase in performance by manipulating control programs for internal combustion engines of motor vehicles. However, third parties can also be competitors who can acquire data 6 , in particular control programs for motor vehicle control units, from competitors.

Das erfindungsgemäße Verfahren ist anhand eines Ablaufdiagramms in Fig. 2 dargestellt. Erfindungsgemäß werden die von dem Hersteller 11 erzeugten Daten 6 beim Hersteller 11 sowohl verschlüsselt als auch signiert. Die Verschlüsselung der Daten dient dazu, einen Zugriff auf die Daten 6 und eine Nutzung der Daten 6 durch unbefugte Dritte zu unterbinden. Zusätzlich wird durch die Signatur der Daten 6 eine Authentisierung des Herstellers 11 der Daten 6 ermöglicht. The method according to the invention is illustrated in FIG. 2 using a flow chart. According to the data produced by the manufacturer 11 6 are both encrypted link 11 and signed. The encryption of the data serves to prevent access to the data 6 and use of the data 6 by unauthorized third parties. In addition, an authentication of the manufacturer 11, the data 6 is enabled by the signature of the data. 6

In einem Funktionsblock 13 werden die zu programmierenden Daten 6 mit Hilfe eines ersten, frei zugänglichen öffentlichen Schlüssels 14 verschlüsselt. Die verschlüsselten Daten sind mit dem Bezugszeichen 15 bezeichnet. In einem Funktionsblock 16 wird aus den Daten 6 bzw. aus einem Teil der Daten 6 zum Signieren mit Hilfe einer Hash-Funktion ein Hash-Wert 17 gebildet. Der Hash- Wert 17 ist eine Art Prüfsumme mit besonderen Eigenschaften, die von der verwendeten Hash-Funktion abhängig sind. Der Hash-Wert 17 wird mit Hilfe eines lediglich einem beschränkten Personenkreis zugänglichen, herstellerabhängigen zweiten privaten Schlüssels 18 in einem Funktionsblock 19 verschlüsselt. Der verschlüsselte Hash-Wert wird als Signatur 20 bezeichnet. Die Signatur 20 wird an die verschlüsselten Daten 15 angehängt und zusammen mit diesen vom Hersteller 11 über das Programmiergerät 8 an das Kraftfahrzeugsteuergerät 1 übertragen. In a function block 13 , the data 6 to be programmed are encrypted using a first, freely accessible public key 14 . The encrypted data are identified by reference number 15 . In a function block 16 , a hash value 17 is formed from the data 6 or from part of the data 6 for signing with the aid of a hash function. The hash value 17 is a type of checksum with special properties that depend on the hash function used. The hash value 17 is encrypted in a function block 19 with the aid of a manufacturer-dependent second private key 18 that is only accessible to a limited group of people. The encrypted hash value is referred to as signature 20 . The signature 20 is attached to the encrypted data 15 and, together with this, transmitted from the manufacturer 11 to the motor vehicle control unit 1 via the programming device 8 .

In dem Steuergerät 1 wird die Signatur 20 mit Hilfe eines frei zugänglichen zweiten öffentlichen Schlüssels 21 in einem Funktionsblock 22 wieder entschlüsselt. Dadurch erhält man einen entschlüsselten Hash-Wert 23. Außerdem werden in einem Funktionsblock 24 die verschlüsselten Daten 15 mit Hilfe eines lediglich einem beschränkten Personenkreis zugänglichen ersten privaten Schlüssels 25 entschlüsselt. Die entschlüsselten Daten entsprechen im Idealfall den ursprünglichen Daten 6. Falls nicht, bedeutet dies, dass wahrscheinlich ein falscher erster öffentlicher Schlüssel 14 zum Verschlüsseln der Daten 6 oder ein falscher erster privater Schlüssel 25 zum Entschlüsseln der Daten 15 eingesetzt wurde. Die Daten 6 sind wahrscheinlich manipuliert. In the control unit 1 , the signature 20 is decrypted again in a function block 22 with the aid of a freely accessible second public key 21 . This results in a decrypted hash value 23 . In addition, the encrypted data 15 are decrypted in a function block 24 with the aid of a first private key 25 which is only accessible to a limited group of people. The decrypted data ideally corresponds to the original data 6 . If not, this means that an incorrect first public key 14 for encrypting the data 6 or an incorrect first private key 25 for decrypting the data 15 has probably been used. The data 6 is probably manipulated.

In einem Funktionsblock 26 wird mit Hilfe derselben Hash- Funktion, die auch in dem Funktionsblock 16 im Rahmen der Signierung zum Ermitteln des Hash-Wertes 17 eingesetzt wurde, aus den entschlüsselten Daten 6 ein weiterer Hash- Wert 27 ermittelt. Anschließend wird in einem Abfrageblock 28 überprüft, ob der entschlüsselte Hash-Wert 23 gleich dem weiteren Hash-Wert 27 ist. In Abhängigkeit von dem Ergebnis dieser Abfrage wird ein Schaltelement 29 angesteuert. Falls die beiden Werte 23, 27 gleich sind, bedeutet dies, dass die Überprüfung der Signatur 20 erfolgreich war, und die entschlüsselten Daten 6 werden in der Speicheranordnung 3 in einem dafür vorgesehenen Speicherbereich abgelegt. Anderenfalls wird die Ausführung des Programmiervorgangs beendet (STOP). In a function block 26 , a further hash value 27 is determined from the decrypted data 6 using the same hash function that was also used in the function block 16 as part of the signing to determine the hash value 17 . A query block 28 then checks whether the decrypted hash value 23 is equal to the further hash value 27 . Depending on the result of this query, a switching element 29 is activated. If the two values 23, 27 are the same, this means that the verification of the signature 20 was successful, and the decrypted data 6 are stored in the memory arrangement 3 in a memory area provided for this purpose. Otherwise the execution of the programming process is ended (STOP).

Das in der Speicheranordnung 3 abgelegte Bootprogramm 10 ist auch zur Ausführung des in dem Steuergerät 1 ausgeführten Teils des in Fig. 2 dargestellten erfindungsgemäßen Verfahrens geeignet. Dieser Teil des Verfahrens wird durch das Bootprogramm 10 gesteuert und überwacht. Der in dem Steuergerät 1 ausgeführte Teil des Verfahrens umfasst insbesondere eine Überprüfung der Signatur 20 und eine Entschlüsselung der übertragenen verschlüsselten Daten 15. Die Signierung und die Verschlüsselung der zu programmierenden Daten 6 erfolgt dagegen beim Hersteller 11 der Daten 6. Durch das erfindungsgemäße Verfahren kann die Verteilung von zu programmierenden Daten 6 und die Übertragung der Daten 6 an das Steuergerät 1 vollkommen freizügig erfolgen, ohne dass die Gefahr besteht, dass Dritte Zugriff auf die zu programmierenden Daten 6 haben oder die Daten 6 gar nutzen oder manipulieren können. The stored in the memory device 3 boot program 10 is also suitable for execution of the portion executed in the control unit 1 of the process according to the invention shown in Fig. 2. This part of the method is controlled and monitored by the boot program 10 . The part of the method carried out in the control unit 1 includes, in particular, checking the signature 20 and decrypting the transmitted encrypted data 15 . The signing and encryption of the data 6 to be programmed takes place at the manufacturer 11 of the data 6 . By means of the method according to the invention, the distribution of data 6 to be programmed and the transmission of the data 6 to the control device 1 can take place completely freely, without the risk that third parties have access to the data 6 to be programmed or that the data 6 can even be used or manipulated can.

Claims (13)

1. Verfahren zum Programmieren einer Speicheranordnung (3) eines Mikrorechner-Systems (1) mit Daten (6), insbesondere mit einem Steuerprogramm, wobei die Daten bei Bedarf durch ein Rechengerät (2) des Mikrorechner-Systems (1), insbesondere durch einen Mikroprozessor, verarbeitet werden, gekennzeichnet durch die nachfolgenden Verfahrensschritte:
die Daten (6) werden außerhalb des Mikrorechner- Systems (1) anhand eines frei zugänglichen ersten öffentlichen Schlüssels (14) verschlüsselt;
die verschlüsselten Daten (15) werden an das Mikrorechner-System (1) übertragen; und dort
entweder verschlüsselt in der Speicheranordnung (3) abgelegt und vor der Verarbeitung durch das Rechengerät (2) anhand eines lediglich einem beschränkten Personenkreis zugänglichen ersten privaten Schlüssels (25) entschlüsselt;
oder anhand eines lediglich einem beschränkten Personenkreis zugänglichen ersten privaten Schlüssels (25) entschlüsselt und entschlüsselt in der Speicheranordnung (3) abgelegt.
1. A method for programming a memory arrangement ( 3 ) of a microcomputer system ( 1 ) with data ( 6 ), in particular with a control program, the data being required by a computing device ( 2 ) of the microcomputer system ( 1 ), in particular by a Microprocessor to be processed, characterized by the following process steps:
the data ( 6 ) are encrypted outside the microcomputer system ( 1 ) using a freely accessible first public key ( 14 );
the encrypted data ( 15 ) are transmitted to the microcomputer system ( 1 ); and there
either stored in encrypted form in the memory arrangement ( 3 ) and decrypted before processing by the computing device ( 2 ) using a first private key ( 25 ) which is only accessible to a limited group of people;
or decrypted and decrypted in the memory arrangement ( 3 ) using a first private key ( 25 ) which is only accessible to a limited group of people.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Daten vor der Übertragung an das Mikrorechner- System (1) anhand eines lediglich einem beschränkten Personenkreis zugänglichen und von einem Hersteller (11) der Daten abhängigen zweiten privaten Schlüssels (18) signiert werden und vor der Verarbeitung der Daten (6) durch das Rechengerät (2) die Signatur (20) der Daten (6) in dem Mikrorechner-System (1) anhand eines frei zugänglichen zweiten öffentlichen Schlüssels (21) überprüft wird. 2. The method according to claim 1, characterized in that the data are signed prior to the transmission to the microcomputer system ( 1 ) on the basis of a second private key ( 18 ) which is only accessible to a limited group of people and is dependent on a manufacturer ( 11 ) of the data and Before the data ( 6 ) is processed by the computing device ( 2 ), the signature ( 20 ) of the data ( 6 ) is checked in the microcomputer system ( 1 ) using a freely accessible second public key ( 21 ). 3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Signatur (20) der Daten (6) beim Hochfahren des Mikrorechner-Systems (1) überprüft wird. 3. The method according to claim 1 or 2, characterized in that the signature ( 20 ) of the data ( 6 ) is checked when starting up the microcomputer system ( 1 ). 4. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass nach einer erfolgreichen Überprüfung der Signatur (20) der Daten (6) eine Kennung in einem vorgebbaren Speicherbereich der Speicheranordnung (3) abgelegt und der Inhalt dieses Speicherbereichs beim Hochfahren des Mikrorechner-Systems (1) überprüft wird. 4. The method according to claim 1 or 2, characterized in that after a successful verification of the signature ( 20 ) of the data ( 6 ), an identifier is stored in a predeterminable memory area of the memory arrangement ( 3 ) and the content of this memory area when the microcomputer system is started up ( 1 ) is checked. 5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass der vorgebbare Speicherbereich bei einem Programmiervorgang der Speicheranordnung (3) zurückgesetzt wird. 5. The method according to claim 4, characterized in that the predeterminable memory area is reset during a programming operation of the memory arrangement ( 3 ). 6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die Signatur (20) und/oder die Verschlüsselung der Daten (6) nach einem asymmetrischen Verschlüsselungsverfahren ausgeführt wird. 6. The method according to any one of claims 1 to 5, characterized in that the signature ( 20 ) and / or the encryption of the data ( 6 ) is carried out according to an asymmetrical encryption method. 7. Mikrorechner-System (1) mit einer Speicheranordnung (3), in der Daten (6), insbesondere ein Steuerprogramm, abgelegt sind, und mit einem Rechengerät (2), insbesondere einem Mikroprozessor, von dem die Daten (6) verarbeitbar sind, gekennzeichnet durch
Mittel zum Empfangen von außerhalb des Mikrorechner- Systems (1) anhand eines frei zugänglichen ersten öffentlichen Schlüssels (14) verschlüsselten Daten (15); und
entweder Mittel zum Ablegen der verschlüsselten Daten (15) in der Speicheranordnung (3) und Mittel zum Entschlüsseln der verschlüsselten Daten (15) vor der Verarbeitung durch das Rechengerät (2) anhand eines lediglich einem beschränkten Personenkreis zugänglichen ersten privaten Schlüssels (25);
oder Mittel zum Entschlüsseln der verschlüsselten Daten (15) anhand eines lediglich einem beschränkten Personenkreis zugänglichen ersten privaten Schlüssels (25) und Mittel zum Ablegen der entschüsselten Daten (6) in der Speicheranordnung (3).
7. Microcomputer system ( 1 ) with a memory arrangement ( 3 ) in which data ( 6 ), in particular a control program, are stored, and with a computing device ( 2 ), in particular a microprocessor, from which the data ( 6 ) can be processed , marked by
Means for receiving data ( 15 ) encrypted outside the microcomputer system ( 1 ) using a freely accessible first public key ( 14 ); and
either means for storing the encrypted data ( 15 ) in the memory arrangement ( 3 ) and means for decrypting the encrypted data ( 15 ) prior to processing by the computing device ( 2 ) using a first private key ( 25 ) which is only accessible to a restricted group of people;
or means for decrypting the encrypted data ( 15 ) on the basis of a first private key ( 25 ) which is only accessible to a limited group of people and means for storing the decrypted data ( 6 ) in the storage arrangement ( 3 ).
8. Mikrorechner-System (1) nach Anspruch 7, dadurch gekennzeichnet, dass der erste private Schlüssel (25) in einem Speicherbereich der Speicheranordnung (3) abgelegt ist, der über Schutzmechanismen verfügt, die einen schreibenden oder lesenden Zugriff auf den Speicherbereich von außen verhindern. 8. Microcomputer system ( 1 ) according to claim 7, characterized in that the first private key ( 25 ) is stored in a memory area of the memory arrangement ( 3 ), which has protective mechanisms that have write or read access to the memory area from the outside prevent. 9. Mikrorechner-System (1) nach Anspruch 7 oder 8, dadurch gekennzeichnet, dass der zweite öffentliche Schlüssel (21) in einem Speicherbereich der Speicheranordnung (3) abgelegt, der über Schutzmechanismen verfügt, die einen schreibenden Zugriff auf den Speicherbereich verhindern. 9. The microcomputer system ( 1 ) according to claim 7 or 8, characterized in that the second public key ( 21 ) is stored in a memory area of the memory arrangement ( 3 ), which has protective mechanisms which prevent write access to the memory area. 10. Mikrorechner-System (1) nach einem der Ansprüche 7 bis 9, dadurch gekennzeichnet, dass die entschlüsselten Daten (6) in einem Speicherbereich der Speicheranordnung (3) abgelegt sind, der über Schutzmechanismen verfügt, die einen schreibenden oder lesenden Zugriff auf den Speicherbereich von außen verhindern. 10. Microcomputer system ( 1 ) according to one of claims 7 to 9, characterized in that the decrypted data ( 6 ) are stored in a memory area of the memory arrangement ( 3 ) which has protective mechanisms which have a write or read access to the Prevent storage area from outside. 11. Mikrorechner-System (1) nach einem der Ansprüche 8 bis 10, dadurch gekennzeichnet, dass die Speicheranordnung (3) auf dem gleichen Halbleiterbauelement ausgebildet ist wie das Rechengerät (2). 11. Microcomputer system ( 1 ) according to one of claims 8 to 10, characterized in that the memory arrangement ( 3 ) is formed on the same semiconductor component as the computing device ( 2 ). 12. Mikrorechner-System (1) nach einem der Ansprüche 7 bis 11, dadurch gekennzeichnet, dass das Mikrorechner-System (1) Mittel zur Überprüfung der Signatur (20) von vor der Übertragung an das Mikrorechner-System (1) anhand eines lediglich einem beschränkten Personkreis zugänglichen und von einem Hersteller (11) der Daten (6) abhängigen zweiten privaten Schlüssels (18) signierten Daten (20) vor der Verarbeitung der Daten (6) durch das Rechengerät (2) anhand eines frei zugänglichen zweiten öffentlichen Schlüssels (21) aufweist. 12. Microcomputer system ( 1 ) according to one of claims 7 to 11, characterized in that the microcomputer system ( 1 ) means for checking the signature ( 20 ) from before transmission to the microcomputer system ( 1 ) using one only data ( 20 ) accessible to a restricted group of people and signed by a manufacturer ( 11 ) of the data ( 6 ) of the second private key ( 18 ) prior to the processing of the data ( 6 ) by the computing device ( 2 ) using a freely accessible second public key ( 21 ). 13. Mikrorechner-System (1) nach einem der Ansprüche 7 bis 12, dadurch gekennzeichnet, dass in der Speicheranordnung (3) ein Computerprogramm (10) abgelegt ist, das auf dem Rechengerät (2) ablauffähig und zur Ausführung eines Verfahrens nach einem der Ansprüche 1 bis 6 geeignet ist. 13. Microcomputer system ( 1 ) according to one of claims 7 to 12, characterized in that in the memory arrangement ( 3 ) a computer program ( 10 ) is stored, which is executable on the computing device ( 2 ) and for executing a method according to one of the Claims 1 to 6 is suitable.
DE2001131579 2001-07-02 2001-07-02 Process for programming a memory of a microcomputer with data especially for a motor vehicle control program uses protective keys Withdrawn DE10131579A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2001131579 DE10131579A1 (en) 2001-07-02 2001-07-02 Process for programming a memory of a microcomputer with data especially for a motor vehicle control program uses protective keys

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2001131579 DE10131579A1 (en) 2001-07-02 2001-07-02 Process for programming a memory of a microcomputer with data especially for a motor vehicle control program uses protective keys

Publications (1)

Publication Number Publication Date
DE10131579A1 true DE10131579A1 (en) 2003-01-16

Family

ID=7690036

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2001131579 Withdrawn DE10131579A1 (en) 2001-07-02 2001-07-02 Process for programming a memory of a microcomputer with data especially for a motor vehicle control program uses protective keys

Country Status (1)

Country Link
DE (1) DE10131579A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007062915A1 (en) * 2007-12-21 2009-06-25 Endress + Hauser Process Solutions Ag Storage programmable control i.e. digitally operated electronic system, operating method for controlling automation system, involves switching functional block at feasible state if external information corresponds to internal information
DE102017208503A1 (en) * 2017-05-19 2018-11-22 Bayerische Motoren Werke Aktiengesellschaft A method, computer readable medium, system and vehicle comprising the system for providing a record of a vehicle to a third party

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007062915A1 (en) * 2007-12-21 2009-06-25 Endress + Hauser Process Solutions Ag Storage programmable control i.e. digitally operated electronic system, operating method for controlling automation system, involves switching functional block at feasible state if external information corresponds to internal information
DE102017208503A1 (en) * 2017-05-19 2018-11-22 Bayerische Motoren Werke Aktiengesellschaft A method, computer readable medium, system and vehicle comprising the system for providing a record of a vehicle to a third party
US11263329B2 (en) 2017-05-19 2022-03-01 Bayerische Motoren Werke Aktiengesellschaft Method, computer-readable medium, system and vehicle comprising the system for providing a data record of a vehicle to a third party

Similar Documents

Publication Publication Date Title
EP1959606B1 (en) Safety unit
DE10126451A1 (en) Method for activation or deactivation of microcomputer system storage arrangement, e.g. for motor vehicle control device, involves initially verifying identifier signature at start-up of computer
EP2981926B1 (en) Data storage device for protected data exchange between different security zones
DE112012003795B4 (en) METHOD AND SYSTEM FOR VEHICLE INFORMATION INTEGRITY VERIFICATION
EP0155399A2 (en) Protection circuit for the prevention of non-authorised execution of a programme
DE102007022100B4 (en) Motor vehicle control unit data transmission system and method
WO1998016883A1 (en) Electronic data processing circuit
DE10131575A1 (en) Method for protecting a microcomputer system against manipulation of data stored in a memory arrangement of the microcomputer system
DE102014208855A1 (en) Method for carrying out communication between control units
DE10123169A1 (en) Method for protection of a microcomputer system against manipulation of data, especially program data, stored in its memory by use of an asymmetric encryption method with the data encrypted using a card holder PIN
EP1399797A2 (en) Control unit
DE102016210788A1 (en) Component for processing a worthy of protection date and method for implementing a security function to protect a worthy of protection date in such a component
WO2004114131A1 (en) Method for booting up a software in the boot sector of a programmable read-only memory
DE10131579A1 (en) Process for programming a memory of a microcomputer with data especially for a motor vehicle control program uses protective keys
EP3078769A1 (en) Method for releasing machine functions on a spinning machine
DE10131577A1 (en) Process for protecting a microcomputer system against manipulation of its program
DE102018202626A1 (en) Method for the computer-aided parameterization of a technical system
EP1150190A2 (en) Apparatus and method for controlling and/or regulating of a technical installation
EP1293858B1 (en) Method for protecting a microcomputer system against software manipulation
EP3820081A1 (en) Method for performing an authorisation-dependent communication between at least one field device involved in automation technology and an operating device
DE102009058754B4 (en) Method for reprogramming one or more control units of a vehicle and control unit
EP3798878A1 (en) System and method for secure execution of an automation program in a cloud computation environment
EP1455312B1 (en) Method and apparatus for maintenance of security sensitive program code of a vehicle
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
DE10215626B4 (en) Procedure for changing encryption algorithms for protected software or protected data

Legal Events

Date Code Title Description
8141 Disposal/no request for examination