DE10357032A1 - Method for reloading software in the boot sector of a programmable read only memory - Google Patents

Method for reloading software in the boot sector of a programmable read only memory Download PDF

Info

Publication number
DE10357032A1
DE10357032A1 DE10357032A DE10357032A DE10357032A1 DE 10357032 A1 DE10357032 A1 DE 10357032A1 DE 10357032 A DE10357032 A DE 10357032A DE 10357032 A DE10357032 A DE 10357032A DE 10357032 A1 DE10357032 A1 DE 10357032A1
Authority
DE
Germany
Prior art keywords
software
key
signature
control unit
memory area
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.)
Ceased
Application number
DE10357032A
Other languages
German (de)
Inventor
Burkhard Kuhls
Thomas Kalverkamp
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.)
Bayerische Motoren Werke AG
Original Assignee
Bayerische Motoren Werke AG
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 Bayerische Motoren Werke AG filed Critical Bayerische Motoren Werke AG
Priority to DE10357032A priority Critical patent/DE10357032A1/en
Priority to JP2006515763A priority patent/JP2007507020A/en
Priority to EP04730255A priority patent/EP1636700A1/en
Priority to KR1020057023774A priority patent/KR20060008338A/en
Priority to PCT/EP2004/004664 priority patent/WO2004114131A1/en
Publication of DE10357032A1 publication Critical patent/DE10357032A1/en
Priority to US11/315,186 priority patent/US7584350B2/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Abstract

Die Erfindung bezieht sich auf ein Verfahren zum Nachladen einer Updatesoftware (22) in einen beschreibbaren Speicherbereich (20) eines Bootsektors eines programmierbaren Steuergerätes (1) eines Fahrzeugs, umfassend die folgenden Schritte: Bereitstellen einer in einen außerhalb des Bootsektors gelegenen, beschreibbaren Speicherbereich (10) des programmierbaren Steuergerätes (1) ladbaren Nachladesoftware (121, 122, 123), die in der Lage ist, im Steuergerät (1) die Installation der Updatesoftware (22) in den beschreibbaren Speicherbereich (20) des Bootsektors zu steuern, Laden der Nachladesoftware (121, 122, 123) und der Updatesoftware (22) in den außerhalb des Bootsektors gelegenen, beschreibbaren Speicherbereich (10), Ausführen der Nachladesoftware (121, 122, 123) im Steuergerät zur Installation der Updatesoftware (22) in den beschreibbaren Speicherbereich (20) des Bootsektors.The invention relates to a method for reloading an update software (22) in a writable memory area (20) of a boot sector of a programmable control unit (1) of a vehicle, comprising the following steps: providing a recordable memory area (10) located outside of the boot sector ) of the programmable controller (1) reload software (121, 122, 123) capable of controlling the installation of the update software (22) in the writable memory area (20) of the boot sector in the controller (1), loading the reload software (121, 122, 123) and the update software (22) in the non-boot sector writable memory area (10), executing the reload software (121, 122, 123) in the update software installation unit (22) into the recordable memory area (22) 20) of the boat sector.

Description

Die Erfindung bezieht sich auf ein Verfahren zum Nachladen einer Updatesoftware in einen beschreibbaren Speicherbereich im Bootsektor eines programmierbaren Steuergeräts eines Fahrzeugs.The The invention relates to a method for reloading an update software in a writable memory area in the boot sector of a programmable ECU of a vehicle.

Aus DE 100008974 A1 ist ein Verfahren zum Nachladen von Software in einen beschreibbaren Speicherbereich eines programmierbaren Steuergeräts eines Fahrzeugs bekannt, wobei die einzuspielende Software vor ihrer Übertragung in das Steuergerät mit Hilfe eines Public-Key-Verfahrens unter Verwendung eines ersten Schlüssels eines komplementären Schlüsselpaars gegen Verfälschung signiert wird und die signierte einzuspielende Software nach ihrer Übertragung in das Steuergerät durch dieses unter Verwendung eines zweiten Schlüssels des Schlüsselpaars auf ihre Unverfälschtheit hin überprüft wird.Out DE 100008974 A1 a method for reloading software in a writable memory area of a programmable controller of a vehicle is known, the software to be imported is signed before its transmission into the controller by means of a public-key method using a first key of a complementary key pair against corruption and the signed software to be imported after its transmission into the control unit is checked by this using a second key of the key pair on their authenticity.

Das Signaturverfahren dient dazu, zu verhindern, dass in das Steuergerät unkontrolliert Software nachgeladen werden kann. Dieses Verfahren setzt jedoch voraus, dass im Steuergerät ein Sicherheitsmechanismus vorhanden ist, der die genannte Überprüfung der signierten einzuspielenden Software durchführt. Um wirksame Sicherheit zu bieten, ist dieser Sicherheitsmechanismus selbst gegen unbefugte Eingriffe zu schützen.The Signature method serves to prevent being uncontrolled in the control unit Software can be recharged. This procedure, however, continues advance that in the control unit a security mechanism is in place, the said review of the signed software to be played. For effective safety This security mechanism is even against unauthorized interference to protect.

Hierzu wird besagter Sicherheitsmechanismus üblicherweise in den Bootsektor des Steuergeräts eingebettet und der Bootsektor generell gegen nachträgliche Software-Änderungen geschützt.For this said security mechanism is usually in the boot sector of the control unit embedded and the boot sector in general against subsequent software changes protected.

Häufig geschieht dieses dadurch, dass der Bootsektor in einem nicht beschreibbaren Speicherbereich (ROM) des Steuergeräts angesiedelt ist. Der Speicherinhalt kann nachträglich nicht mehr verändert werden und ist insoweit gegen unbefugte Eingriffe gesichert.Often happens this is because the boot sector is not writable Memory area (ROM) of the controller is settled. The memory content can be done later not changed anymore and is protected in this respect against unauthorized interference.

Dies hat den Nachteil, dass der Bootsektor auch für befugte Eingriffe unzugänglich ist. So können in einem solchen Steuergerät weder Programmierfehler behoben, noch Sicherheitsmechanismen aktualisiert oder eventuell bekannt gewordene Schlüssel ausgetauscht werden. Auch besteht keine Möglichkeit zur Wiederherstellung des Bootsektors nach Veränderungen, die durch unkontrollierte physikalische Einwirkungen oder Alterungseffekte ausgelöst wurden, so genanntes „Bit-Kippen". Somit ist zur Einspielung von Software in den Bootsektor eines solchen Steuergeräts das bekannte Verfahren nicht anwendbar.This has the disadvantage that the boot sector is also inaccessible for authorized intervention. So can in such a control device neither fixed programming errors nor updated security mechanisms or possibly known keys are exchanged. Also there is no possibility to restore the boat sector to changes caused by uncontrolled physical effects or aging effects were triggered, so-called "bit-tilting" of software in the boot sector of such a controller the well-known Procedure not applicable.

Um diesen Nachteil zu überwinden, kann der Bootsektor in einem veränderbaren nicht-flüchtigen, beispielsweise flashbaren, Speicherbaustein eingebettet werden. Dann muss der Bootsektor jedoch auf andere Weise gegen unbefugte Eingriffe gesichert werden.Around overcome this disadvantage The boat sector can be changed in a changeable way non-volatile, for example flashable, memory module to be embedded. Then the boat sector needs However, be secured in other ways against unauthorized interference.

Hierfür bekannte Schutzmechanismen sind jedoch unbefriedigend. Beispielsweise ist aus US 005937063A ein Verfahren bekannt, bei dem eine Boot-Up-Firmware, beispielsweise RIOS, gegen unautorisierten Eingriff dadurch geschützt wird, dass sie in einer gesicherten Boot-Vorrichtung eingebettet ist. Diese interagiert während des Bootens mit einem Host-Prozessor, wobei Boot-Up-Instruktionen ver- und entschlüsselt werden unter Verwendung eines geheimen Schlüssels, den die gesicherte Boot-Vorrichtung und der Host-Prozessor gemeinsam nutzen. Jenes sehr komplexe Verfahren ist für Steuergeräte in einem Fahrzeug zu langwierig, kostenaufwendig und insgesamt ungeeignet. Außerdem bleibt die Aufgabenstellung ungelöst, den steuergeräteseitigen Sicherheitsmechanismus, etwa besagten geheimen Schlüssel, aktualisieren zu können.However, known protective mechanisms are unsatisfactory. For example, it is off US 005937063A a method is known in which a boot-up firmware, for example RIOS, is protected against unauthorized intervention by being embedded in a secure boot device. This interacts with a host processor during booting, encrypting and decrypting boot-up instructions using a secret key that the trusted boot device and the host processor share. This very complex method is too lengthy, costly and generally inappropriate for ECUs in a vehicle. In addition, the task remains unresolved to be able to update the ECU-side security mechanism, such as said secret key.

Aus US 005825878A ist ein anderes Verfahren bekannt, bei dem die Übertragung von Instruktionen und Daten in ein Steuergerät in verschlüsselter Form erfolgt und hierfür verwendete Sicherheitsmechanismen steuergeräteseitig wenigstens teilweise in einer physikalisch gesicherten Einheit eingebettet sind. Auch dort bleibt die Aufgabenstellung ungelöst, den steuergeräteseitigen Sicherheitsmechanismus, etwa einen geheimen Schlüssel, aktualisieren zu können.Out US 005825878A Another method is known, in which the transmission of instructions and data in a control unit in encrypted form and used security mechanisms for the control unit side, at least partially embedded in a physically secured unit. Even there, the task remains unresolved to be able to update the ECU-side security mechanism, such as a secret key.

Die Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren zum Nachladen einer Updatesoftware in einen beschreibbaren Speicherbereich eines Bootsektor eines programmierbaren Steuergeräts eines Fahrzeugs bereitzustellen, das die genannten Nachteile überwindet, es insbesondere ermöglicht, auch steuergeräteseitige Sicherheitsmechanismen im Bootbereich auf gesicherte Weise aktualisieren zu können.The The object of the present invention is a method to load an update software into a writable memory area a boot sector of a programmable controller of a To provide a vehicle that overcomes the aforesaid drawbacks, it allows in particular also control unit side Update security mechanisms in the boot area in a secure way to be able to.

Diese Aufgabe wird gemäß Anspruch 1 durch ein Verfahren gelöst, welches die folgenden Schritte umfasst: Bereitstellen einer in einen außerhalb des Bootsektors gelegenen, beschreibbaren Speicherbereich des programmierbaren Steuergerätes ladbaren Nachladesoftware, die in der Lage ist, im Steuergerät die Installation der Updatesoftware in den beschreibbaren Speicherbereich des Bootsektor zu steuern, Laden der Nachladesoftware und der Updatesoftware in den außerhalb des Bootsektors gelegenen, beschreibbaren Speicherbereich, Ausführen der Nachladesoftware im Steuergerät zur Installation der Update-Software in den beschreibbaren Speicherbereich des Bootsektors.These Task becomes according to claim 1 solved by a method which includes the following steps: providing one in one outside programmable memory area located in the boot sector control unit loadable recharge software that is capable of installing in the control unit the update software into the writable memory area of the boot sector control, loading the recharge software and the update software in the outside The boot sector is located in the writable memory area, executing the Recharging software in the control unit to install the update software in the writable memory area of the boat sector.

Die Grundidee der vorliegenden Erfindung besteht darin, den Bootbereich durch bekannte Mechanismen so zu gestalten, dass auf ihn nicht direkt, sondern nur mittels einer eigens hierfür vorgesehenen Nachladesoftware zugegriffen werden kann. Die Ausführung der Nachladesoftware, durch welche die eigentliche Installation der Updatesoftware im Bootbereich gesteuert wird, kann dann von geeigneten Sicherheitskriterien abhängig gemacht werden, von denen besonders bevorzugte Gegenstand der abhängigen Ansprüche sind.The basic idea of the present invention is to protect the boat area by known Me so that it can not be accessed directly, but only by means of a specially designed reloading software. The execution of the reload software, by which the actual installation of the update software is controlled in the boot area, can then be made dependent on suitable security criteria, of which particularly preferred subject matter of the dependent claims.

Beispielsweise kann vorgesehen sein, dass die Ausführung der Nachladesoftware nur unter Beachtung bereits im Steuergerät vorhandener Sicherheitsmechanismen für das Nachladen von Applikationen in das Steuergerät ermöglicht wird. Andererseits können auch mit der Nachladesoftware neue Sicherheitsmechanismen in das Steuergerät eingebracht werden, die die im Steuergerät vorhandenen Sicherheitsmechanismen aktualisieren oder ergänzen. Damit kann das Nachladen der Updatesoftware durch neu eingeführte Sicherheitsmechanismen abgesichert werden.For example can be provided that the execution of the reloading software only in compliance with already existing security mechanisms in the control unit for the Reloading applications in the control unit is enabled. On the other hand, too introduced new safety mechanisms into the ECU with the reload software which are in the control unit update or supplement existing security mechanisms. In order to can reload the update software through newly introduced security mechanisms be secured.

Nachlade- und Updatesoftware könne grundsätzlich zwar getrennt voneinander in das Steuergerät geladen werden; meist ist es jedoch günstiger, wenn die Updatesoftware in der Nachladesoftware enthalten ist, da dies die Komplexität im Vorfeld des Nachladevorgangs erhöht ohne den eigentlichen Nachladevorgang zu erschweren und somit den Sicherheitsgrad des Gesamtkonzeptes steigert ohne die Anwenderfreundlichkeit zu reduzieren.reloading and update software could basically be loaded separately from each other in the control unit; usually is but it is cheaper, if the update software is included in the reload software, there this the complexity in advance of the reloading increased without the actual reload To complicate and thus the degree of security of the overall concept increases without reducing the user-friendliness.

Eine besonders günstige Variante des erfindungsgemäßen Verfahrens zeichnet sich dadurch aus, dass wenigstens auf einen Teil der Nachladesoftware und/oder der Updatesoftware ein Signaturverfahren angewendet wird, wobei die Software vor ihrer Übertragung in das Steuergerät mittels eines ersten Signaturschlüssels signiert und nach ihrer Übertragung in das Steuergerät mittels eines zweiten, im Steuergerät abgelegten Signaturschlüssels, auf ihre Unverfälschtheit hin überprüft wird. Damit kann sichergestellt werden, dass nur vom Inhaber des ersten Signaturschlüssels genehmigte und nach Signierung nicht weiter modifizierte Nachladesoftware im Steuergerät ausgeführt werden kann. Bei Scheitern der Signaturprüfung kann beispielsweise die konkrete Ausführung der Nachladesoftware unterbunden werden; alternativ ist es jedoch auch möglich bereits das Laden der Nachladesoftware in das Steuergerät von einer erfolgreichen Signaturprüfung abhängig zu machen.A especially cheap Variant of the method according to the invention is characterized by the fact that at least part of the reloading software and / or the update software uses a signature process, being the software before its transmission in the control unit Signed by a first signature key and after its transmission in the control unit by means of a second, stored in the control unit signature key on their authenticity is checked. This can be ensured that only from the owner of the first signature key approved and after signing not further modified reloading software in the control unit accomplished can be. If the signature check fails, for example, the concrete execution the reloading software are stopped; alternatively, it is also possible already loading the recharge software into the control unit of one successful signature verification do.

Vorzugsweise ist der zweite Signaturschlüssel in dem beschreibbaren Speicherbereich des Bootsektors abgelegt. Damit wird eine gesicherte und Steuergeräte-interne Prüfung ermöglicht. Nach erfolgreicher Signaturprüfung kann der Signaturschlüssel auch selbst Gegenstand der Aktualisierung des Bootbereichs sein.Preferably is the second signature key stored in the writable memory area of the boot sector. This enables a secure and ECU-internal check. After successful signature verification can the signature key itself also be subject to the updating of the boat area.

Zur Signierung und Signaturprüfung kann ein asymmetrisches Signaturverfahren angewendet werden, wobei der erste und der zweite Signaturschlüssel ein komplementäres Schlüsselpaar bilden. Ein derartiges asymmetrisches Verfahren ist beispielsweise das sog. Public-Key-Verfahren. Bei einer alternativen Variante des erfindungsgemäßen Verfahrens wird ein symmetrisches Signaturverfahren angewendet, wobei der erste und der zweite Signaturschlüssel identisch sind.to Signing and signature verification For example, an asymmetric signature method can be used the first and second signature keys are a complementary key pair form. Such asymmetric method is, for example the so-called public-key method. In an alternative variant of the inventive method is applied a symmetric signature method, wherein the first and the second signature key identically are.

Zusätzlich oder alternativ zu dem oben erläuterten Signaturverfahren kann bei einer besonders vorteilhaften Weiterbildung des erfindungsgemäßen Verfahrensvorgesehen sein, dass wenigstens ein Teil der Nachladesoftware und/oder der Updatesoftware vor der Übertragung in das Steuergerät mittels eines Verschlüsselungsschlüssels verschlüsselt und nach der Übertragung in das Steuergerät von einer Entschlüsselungssoftware mittels eines in dem Steuergerät abgelegten Entschlüsselungsschlüssels entschlüsselt wird. Dies ist insbesondere günstig, wenn die eigentlichen, im Bootbereich einzusetzenden Informationen, d.h. die Updatesoftware bzw. deren wesentliche Anteile zu dem verschlüsselten Softwareteil gehören. Dadurch kann nämlich sichergestellt werden, dass Unbefugte keine Kenntnis von den neuen Daten erhalten können, was insbesondere Wichtig ist, wenn beispielsweise ein im Bootbereich abgelegter Schlüssel ausgetauscht oder aktualisiert werden soll.Additionally or alternatively to the one explained above Signature method can in a particularly advantageous development of the method according to the invention be that at least part of the Nachladesoftware and / or the Update software before transfer in the control unit encrypted using an encryption key and after the transfer in the control unit from a decryption software by means of one in the control unit decrypted decryption key is decrypted. This is especially favorable if the actual information to be used in the boat area, i.e. the update software or its major parts to the encrypted Software part belong. This can namely ensure that unauthorized persons are not aware of the new data can receive which is especially important if, for example, one in the boat area discarded key exchanged or updated.

Vergleichbar dem oben erläuterten Signaturverfahren wird bevorzugt, dass der Entschlüsselungsschlüssel in dem beschreibbaren Speicherbereich des Bootsektors abgelegt ist. Damit wird eine gesicherte und Steuergeräte-interne Prüfung ermöglicht. Nach erfolgreicher Entschlüsselung kann der Entschlüsselungsschlüssel auch selbst Gegenstand der Aktualisierung des Bootbereichs sein.Comparable the above explained Signature method is preferred that the decryption key in is stored in the writable memory area of the boot sector. This enables a secure and ECU-internal check. After successful decryption can the decryption key too itself subject to the updating of the boat area.

Ebenfalls vergleichbar dem oben erläuterten Signaturverfahren kann ein asymmetrisches Verschlüsselungsverfahren angewendet werden, wobei der Verschlüsselungsschlüssel und der Entschlüsselungsschlüssel ein komplementäres Schlüsselpaar bilden. Alternativ kann auch vorgesehen sein, dass ein symmetrisches Verschlüsselungsverfahren angewendet wird, wobei der Verschlüsselungsschlüssel und der Entschlüsselungsschlüssel identisch sind.Also comparable to the signature method explained above can be an asymmetric encryption method be applied, the encryption key and the decryption key complementary Make key pair. Alternatively, it can also be provided that a symmetric encryption method is applied, the encryption key and the decryption key is identical are.

Vorteilhafterweise ist die Entschlüsselungssoftware in der Nachladesoftware enthalten und wird gemeinsam mit dieser und ggf. der Updatesoftware in das Steuergerät geladen. Der Vorteil liegt in der Erhöhung des Komplexitätsgrades des Gesamtsystems und somit in der Steigerung der Sicherheit, ohne dass die Benutzerfreundlichkeit litte oder die Gerätekomplexität erhöht werden müsste.Advantageously, the decryption software is included in the recharge software and is loaded together with this and possibly the update software in the controller. The advantage lies in the increase of the complexity level of the whole system and thus in the increase of safety, without the ease of use or the devices complexity would have to be increased.

Bei Systemen mit Signatur und Verschlüsselung wenigstens von Teilen der Nachlade- und/oder der Updatesoftware ist wird im einfachsten Fall für Signierung und Verschlüsselung bzw. für Signaturprüfung und Entschlüsselung derselbe Schlüssel verwendet, d.h. im symmetrischen Fall insgesamt nur ein Schlüssel und im asymmetrischen Fall nur ein komplementäres Schlüsselpaar. Alternativ kann jedoch auch vorgesehen sein, dass für das Signaturverfahren und für die Ver- und Entschlüsselung unterschiedliche Schlüsselpaare von identischen oder komplementären Schlüsseln verwendet werden.at Systems with signature and encryption of at least parts The recharge and / or update software is going to be the easiest Case for Signing and encryption or for signature verification and decryption the same key used, i. in the symmetrical case a total of only one key and in the asymmetric case, only one complementary key pair. Alternatively, however, can also be provided for that the signature method and for the encryption and decryption different key pairs of identical or complementary keys be used.

Durch das erfindungsgemäße Verfahren wird es möglich, Daten im Bootbereich, die z.B. auch dort hinterlegte Schlüssel für spezielle Sicherheitsmechanismen umfassen können, auf gesicherte Weise zu aktualisieren. Auch durch „Bit-Kippen" im Bootsektor beeinträchtigte Steuergeräte können durch Nachladen verloren gegangener Speicherinhalte wieder aufgefrischt werden.By the inventive method will it be possible Data in the boat area, e.g. there also deposited keys for special Security mechanisms may include, in a secure manner to update. Also affected by "bit-tilting" in the boot sector ECUs can refreshed by reloading lost memory contents become.

Weitere Vorteile der Erfindung ergeben sich aus der nachfolgenden, speziellen Beschreibung sowie den Zeichnungen. Es zeigen:Further Advantages of the invention will become apparent from the following specific Description as well as the drawings. Show it:

1: eine schematische Darstellung eines programmierbares Steuergerät mit seinen Speicherbelegungen

  • a) vor Durchführung des erfindungsgemäßen Verfahrens,
  • b) nach Durchführung des erfindungsgemäßen Verfahrens,
1 : A schematic representation of a programmable controller with its memory allocations
  • a) before carrying out the process according to the invention,
  • b) after carrying out the process according to the invention,

2: eine schematische Darstellung der Verfahrensschritte eines Ausführungsbeispiels des erfindungsgemäßen Verfahrens, 2 : a schematic representation of the method steps of an embodiment of the method according to the invention,

3: eine schematische Darstellung von sich an die Verfahrensschritte von 2 anschließenden Verfahrensschritten. 3 : a schematic representation of the process steps of 2 subsequent process steps.

Beispielhaft wird nachstehend der Austausch eines im Bootsektor vorhandenen Kryptoschlüssels dargelegt. Die Bezeichnung Kryptoschlüssel bezieht sich hier sowohl auf zur Signierung/Signaturprüfung als auch zur Ver-/Entschlüsselung verwendete, digitale Schlüssel. In dem gewählten Ausführungsbeispiel soll der neue Schlüssel nicht im Klartext, sondern nur verschlüsselt in das Steuergerät übertragen und die Nachladesoftware außerdem mittels eines Signaturverfahrens gegen Verfälschungen geschützt werden. In beiden Fällen wird im gezeigten Ausführungsbeispiel ein symmetrisches Verfahren angewendet. Insbesondere wird in dem gezeigten Ausführungsbeispiel für die Signierung/Signaturprüfung und die Ver-/Entschlüsselung derselbe symmetrische Schlüssel verwendet.exemplary the exchange of a cryptokey present in the boot sector is set out below. The term crypto key here refers both to the signature / signature verification as also for encryption / decryption used, digital keys. In the chosen embodiment should the new key not in plain text, but only encrypted transferred to the control unit and the recharge software as well be protected against adulteration by means of a signature procedure. In both cases is in the illustrated embodiment applied a symmetric method. In particular, in the shown embodiment for the Signing / signature verification and the encryption / decryption the same symmetric key uses.

1 zeigt in einer Schemazeichnung ein programmierbares Steuergerät 1 mit Speicherbelegungen entsprechend dem Ausführungsbeispiel. 1a bezieht sich auf den Zustand vor Durchführung des erfindungsgemäßen Verfahrens: Das Steuergerät umfasst einen beschreibbaren Speicherbereich 10 und einen beschreibbaren Bootsektorbereich 20. Im Speicherbereich 10 ist ein Steuerprogramm 11 gespeichert, das die bei Betrieb des Fahrzeugs die originären Funktionen des Steuergerätes steuert. Im Bootsektorbereich 20 befindet sich ein Kryptoschlüssel 21. Dieser soll durch einen Kryptoschlüssels 22 ersetzt werden, wobei nach Abschluss des Verfahrens (1b) der Speicherbereich 10 wiederum das Steuerprogramm 11 enthalten soll. 1 shows a schematic drawing of a programmable controller 1 with memory allocations according to the embodiment. 1a refers to the state before carrying out the method according to the invention: The control device comprises a writable memory area 10 and a writable boot sector area 20 , In the storage area 10 is a control program 11 stored, which controls the operation of the vehicle, the original functions of the control unit. In the boat sector area 20 there is a crypto key 21 , This should be done by a crypto key 22 after completion of the procedure ( 1b ) the memory area 10 turn the control program 11 should contain.

2 zeigt in einer Schemazeichnung Verfahrensschritte zum gesicherten Einbringen des neuen Kryptoschlüssels 22. 2 shows in a schematic drawing process steps for secure introduction of the new crypto key 22 ,

In einem ersten Hauptschritt 100 wird eine signierte Nachladesoftware 123 durch zusammenstellen der Komponenten und anschließendes Signieren erzeugt. Hierzu wird in einem ersten Teilschritt 110 der Kryptoschlüssel 22 (d.h. der wesentliche Teil der Updatesoftware) verschlüsselt. Der hierbei verwendete Schlüssel ist so zu wählen, dass ein zur Entschlüsselung geeigneter Schlüssel 21 in dem Steuergerät 1 vorhanden ist. Im gezeigten Beispiel wird hierzu ebenfalls der Kryptoschlüssel 21 verwendet und damit die verschlüsselte Updatesoftware 111 erzeugt. Alternativ könnte zur asymmetrischen Verschlüsselung anstelle des Schlüssels 21 auch ein anderer Schlüssel verwendet werden, zu dem im Steuergerät ein geeigneter Komplementärschlüssel vorhanden ist. Die Verschlüsselung der Updatesoftware dient dazu, den Nachladevorgang gegen unbefugte lesende Zugriffe abzusichern und insoweit auch künftige unbefugte schreibende Eingriffe abzuwehren. Sie ist jedoch kein zwingendes Merkmal der vorliegenden Erfindung.In a first main step 100 becomes a signed reloading software 123 generated by assembling the components and then signing. This is done in a first step 110 the crypto key 22 (ie the essential part of the update software) is encrypted. The key used here must be chosen such that a key suitable for decryption 21 in the control unit 1 is available. In the example shown, this is also the crypto key 21 used and thus the encrypted update software 111 generated. Alternatively, asymmetric encryption could be used instead of the key 21 another key may be used for which there is a suitable complementary key in the control unit. The encryption of the update software serves to safeguard the reloading process against unauthorized reading access and to ward off future unauthorized writing interventions. However, it is not a mandatory feature of the present invention.

Im anschließenden Teilschritt 120 wird die verschlüsselte Updatesoftware 111 zur Absicherung gegen Verfälschung signiert. Dies geschieht im gezeigten Ausführungsbeispiel zusammen mit einer Applikation 121. Die Applikation 121 enthält eine zur Entschlüsselung der Updatesoftware 111 geeignete Entschlüsselungssoftware 122, um eine Entschlüsselung im Steuergerät zu ermöglichen. Liegt im Steuergerät bereits eine Entschlüsselungssoftware vor, so kann diese verwendet und auf das Nachladen einer Entschlüsselungssoftware verzichtet werden.In the subsequent sub-step 120 becomes the encrypted update software 111 signed for protection against falsification. This is done in the embodiment shown together with an application 121 , The application 121 contains one for decrypting the update software 111 suitable decryption software 122 to enable decryption in the controller. If a decryption software already exists in the control unit, then this can be used and the reloading of a decryption software can be dispensed with.

Der zur Signaturberechnung verwendete Schlüssel ist wiederum so gewählt, dass ein zur Signaturprüfung geeigneter Schlüssel im Steuergerät vorhanden ist. Im gezeigten Ausführungsbeispiel, in dem ein symmetrisches Verfahren gewählt ist, werden Signaturberechnung und Signaturprüfung werden mit dem gleichen Schlüssel 21 durchgeführt. Der Sicherheitsschutz eines symmetrischen Verfahrens ist nur wirksam, wenn es gelingt, den dafür verwendeten Schlüssel geheimzuhalten. Anstelle eines symmetrischen Verfahrens kann auch ein asymmetrisches Verfahren, z.B. ein Public-Key-Verfahren, verwendet werden. Auch in einem asymmetrischen Verfahren ist der zur Signaturberechnung verwendete Schlüssel so zu wählen, dass ein zur Signaturprüfung geeigneter Schlüssel im Steuergerät vorhanden ist. Sollte beispielsweise Schlüssel 21 zur Signaturprüfung eines asymmetrischen Verfahrens verwendet werden, so wäre die Signaturberechnung in Verfahrensschritt 120 mit einem zu Schlüssel 21 komplementären Schlüssel durchzuführen.The key used for the signature calculation is in turn selected such that a key suitable for signature verification is present in the control unit. In the embodiment shown, in which a symmetrical method is selected, who the signature calculation and signature verification will be done using the same key 21 carried out. The security protection of a symmetric method is only effective if it succeeds to keep the key used secret. Instead of a symmetric method, an asymmetric method, for example a public-key method, can also be used. Even in an asymmetrical method, the key used for the signature calculation must be selected such that a key suitable for signature verification is present in the control unit. For example, should be key 21 For signature verification of an asymmetric method, the signature calculation would be in method step 120 with a to key 21 complementary key.

In einem zweiten Hauptschritt 200 wird das Steuergerät mit der Nachladesoftware 123 beladen. Hierzu wird sie zunächst im Speicherbereich 10 gespeichert, wobei sie im gezeigten Beispiel an die Stelle des Steuerprogramms 11 tritt. Das Überschreiben bereits zuvor vorhandener Daten ist zur Durchführung des erfindungsgemäßen Verfahrens nicht zwingend erforderlich, stellt in der Praxis jedoch eine häufig auftretende Notwendigkeit dar: Programmierbare Steuergeräte werden hinsichtlich der verfügbaren Speichergröße in der Regel aus Kostengründen auf die betriebsnotwendigen Applikationen ausgelegt, eine Speichervorhaltung für Nachladesoftware 123 erfolgt nicht. Um diese zur Durchführung des erfindungsgemäßen Verfahrens laden zu können, müssen daher in der Praxis aufgrund begrenzt verfügbaren Speicherplatzes meist bereits vorhandene Daten überschrieben werden.In a second main step 200 becomes the controller with the reload software 123 loaded. For this purpose, it is initially in the memory area 10 stored in the example shown in the place of the control program 11 occurs. The overwriting of previously existing data is not absolutely necessary for carrying out the method according to the invention, but in practice represents a frequently occurring need: programmable control devices are usually designed for cost reasons on the operationally necessary applications in terms of the available memory size, a memory provision for reloading software 123 not done. In order to be able to load these in order to carry out the method according to the invention, data already existing in most cases must therefore be overwritten in practice due to the limited available memory space.

Im Anschluss hieran erfolgt in Schritt 220 eine Signaturprüfung, im gezeigten Beispiel unter Verwendung des Schlüssels 21. Auf mögliche Alternativen wurde bereits in der Kommentierung zu Schritt 120 hingewiesen.This is followed in step 220 a signature check, in the example shown using the key 21 , Possible alternatives have already been commented on in the comments 120 pointed.

Wird bei der Signaturprüfung nicht der erforderliche Gutbefund erzielt, d.h. eine unerwünschte Datenveränderung festgestellt, so wird eine vorher einstellbare Folge ausgelöst. Beispielsweise weist das Steuergerät die nachgeladene Software zurück, so dass diese nicht im Steuergerät betrieben werden kann. Insbesondere wird dann auch keine Veränderung im Bootsektor vorgenommen, und insoweit ist das Steuergerät gegen unbefugte Eingriffe geschützt. Alternativ könnte auch nur eine Nutzerwarnung ausgelöst werden. Verläuft dagegen die Signaturprüfung positiv, so liegen im Speicherbereich 10 des Steuergeräts die verschlüsselte Updatesoftware 111 sowie die Nachladesoftware 121 ausführbar vor.If the required good result is not achieved during the signature check, ie an undesired data change is detected, then a sequence that can be set beforehand is triggered. For example, the control unit rejects the downloaded software so that it can not be operated in the control unit. In particular, then no change in the boot sector is made, and so far, the controller is protected against unauthorized interference. Alternatively, only one user warning could be triggered. If, on the other hand, the signature check is positive, this is in the memory area 10 the controller the encrypted update software 111 as well as the reloading software 121 executable before.

Zur Absicherung des zweiten Hauptschritt 200 kann auch ein anderer Sicherheitsmechanismus als eine Signaturprüfung verwendet werden, beispielsweise ein Zertifikat-basiertes Verfahren oder ein Verschlüsselungsverfahren. In einfachster Form kann auf eine Absicherung auch völlig verzichtet werden. In diesem Fall ist allerdings die nachzuladene Software nicht gegen unauthorisierte Eingriffe geschützt.To secure the second main step 200 For example, a security mechanism other than a signature check may be used, such as a certificate-based method or an encryption method. In the simplest form can be completely dispensed with a hedge. In this case, however, the software to be reloaded is not protected against unauthorized interference.

Auch können in einer anderen Ausführungsform die Übertragung von Nachladesoftware und Updatesoftware in das Steuergerät separate Schritte umfassen. Dies ist insbesondere dann sinnvoll, wenn in einem zunächst auszuführenden Installationsschritt ein Sicherheitsmechanismus in das Steuergerät eingebracht und aktiviert wird, der der Absicherung eines später auszuführenden Schrittes dient.Also can in another embodiment the transfer separate from recharging software and update software in the control unit Steps include. This is particularly useful if in one at first be executed Installation step introduced a safety mechanism in the control unit and activated, which serves to hedge a step to be executed later.

In einem weiteren Hauptschritt 300 wird durch Ausführen der Nachladesoftware 121, 122 der neue Schlüssel 22 an die Stelle des alten Schlüssels 21 abgelegt.In another main step 300 is done by running the reload software 121 . 122 the new key 22 in the place of the old key 21 stored.

Hierzu wird zunächst in einem Teilschritt 310 durch Ausführen der in der Nachladesoftware 121 enthaltenen Entschlüsselungssoftware 122 der bisher nur in verschlüsselter Form 111 übertragene neue Schlüssel in Klartextform 22 wiederhergestellt und im anschließenden Teilschritt 320 im Bootsektor 20 an die Stelle des vorherigen Schlüssels 21 abgelegt.This is done first in a sub-step 310 by running the in the recharge software 121 included decryption software 122 the previously only in encrypted form 111 transferred new keys in plain text form 22 restored and in the subsequent sub-step 320 in the boat sector 20 in place of the previous key 21 stored.

Hiermit ist das hauptsächliche Ziel des gezeigten Beispiels, nämlich der Austausch der Schlüssel im Bootsektor bereits erreicht. Die anschließenden Verfahrensschritte betreffen die Wiederherstellung des Steuerprogramms 11 im Speicher 10 des Steuergeräts.This is the main goal of the example shown, namely the exchange of keys in the boot sector already reached. The subsequent process steps relate to the restoration of the control program 11 In the storage room 10 of the control unit.

Im Hauptschritt 400 wird hierzu die nachzuladende Software einschließlich des Steuerprogramms 11 vorbereitet. Im vorliegenden Beispiel besteht Schritt 400 im wesentlichen in der Signierung des Steuerprogramms 11. Hierbei sind in den bisherigen Verfahrensschritten vorgenommene Veränderungen der Sicherheitsmechanismen im Bootsektor zu berücksichtigen. Erfolgte etwa zusätzlich oder anstelle des Tauschs der Schlüssel 21, 22 eine Veränderung des Sicherheitsmechanismus, beispielsweise Veränderungen der Schlüssellänge oder der Ersatz eines symmetrischen Signaturverfahrens durch ein asymmetrisches Signaturverfahren oder ein Zertifikat-basiertes Verfahren, so wäre die nachzuladende Software auf diesen neuen Sicherheitsmechanismus auszurichten.In the main step 400 this will be the software to be reloaded including the control program 11 prepared. In the present example, there is a step 400 essentially in the signing of the control program 11 , In doing so, changes in the safety mechanisms in the boat sector have to be taken into account in the previous procedural steps. For example, in addition to or instead of exchanging the keys 21 . 22 a change in the security mechanism, such as changes in the key length or the replacement of a symmetric signature method by an asymmetric signature method or a certificate-based method, the software to be reloaded would have to be aligned with this new security mechanism.

Im gezeigten Beispiel wird ein symmetrisches Verfahren beibehalten und zur Signaturberechnung in Schritt 400 Schlüssel 22 verwendet. Alternativ kann wie bereits zuvor auch ein weiterer im Steuergerät vorhandener Schlüssel verwendet werden.In the example shown, a symmetric procedure is retained and the signature calculation in step 400 key 22 used. Alternatively, as before, another key present in the control unit can be used.

In einem weiteren Hauptschritt 500 wird das Steuergerät mit der Steuersoftware 11 beladen, und zwar unter Berücksichtung der vorgenommenen Aktualisierung der Sicherheitsmechanismen im Bootsektor des Steuergeräts. Im vorliegenden Beispiel wird sie signiert übertragen und in Schritt 510 in Speicherbereich 10 gespeichert, und zwar an die Stelle der Nachladesoftware 121. In einem späteren Schritt 520 erfolgt eine Verifikation der eingespielten Software, im gezeigten Beispiel eine Signaturprüfung, nun unter Verwendung des Schlüssels 22. Auf mögliche Alternativen wurde bereits in der Kommentierung zu Schritt 400 hingewiesen.In another main step 500 becomes the control unit with the control software 11 in consideration of the updating of the security mechanisms in the boot sector of the ECU. In this example, it will be signed and transferred in step 510 in storage area 10 stored, in the place of the Nachladesoftware 121 , In a later step 520 a verification of the imported software, in the example shown a signature verification, now using the key 22 , Possible alternatives have already been commented on in the comments 400 pointed.

Verläuft die Signaturprüfung positiv, so liegt im Speicherbereich 10 des Steuergeräts nun die Steuersoftware 11 ausführbar vor, Insgesamt ist der in 1b dargestellte Zielzustand erreicht. Würde bei der Signaturprüfung der erforderliche Gutbefund nicht erzielt, so wäre dieses ein Hinweis darauf, dass der in 1b dargestellte Zielzustand verfehlt wurde, d.h. entweder die Aktualisierung des Bootsektors nicht gelungen ist oder bei der Wiedereinbringung der Steuersoftware 11 eine unerwünschte Datenveränderung erfolgte.If the signature check is positive, then it is in the memory area 10 the control unit now the control software 11 executable before, overall, the in 1b reached shown target state. If the required good finding was not achieved during the signature check, this would be an indication that the in 1b Target state has been missed, ie either the update of the boot sector was not successful or in the reintroduction of the control software 11 an unwanted change of data took place.

Claims (15)

Verfahren zum Nachladen einer Updatesoftware (22) in einen beschreibbaren Speicherbereich (20) eines Bootsektor eines programmierbaren Steuergerätes (1) eines Fahrzeugs, umfassend die folgenden Schritte: • Bereitstellen einer in einen außerhalb des Bootsektors gelegenen, beschreibbaren Speicherbereich (10) des programmierbaren Steuergerätes (1) ladbaren Nachladesoftware (121, 122, 123), die in der Lage ist, im Steuergerät (1) die Installation der Updatesoftware (22) in den beschreibbaren Speicherbereich (20) des Bootsektor zu steuern, • Laden der Nachladesoftware (121, 122, 123) und der Updatesoftware (22) in den außerhalb des Bootsektors gelegenen, beschreibbaren Speicherbereich (10), • Ausführen der Nachladesoftware (121, 122, 123) im Steuergerät zur Installation der Update-Software (22) in den beschreibbaren Speicherbereich (20) des Bootsektors.Procedure for reloading an update software ( 22 ) into a writable memory area ( 20 ) a boot sector of a programmable controller ( 1 ) of a vehicle, comprising the following steps: providing a recordable memory area located outside of the boot sector ( 10 ) of the programmable controller ( 1 ) loadable reloading software ( 121 . 122 . 123 ), which is capable in the control unit ( 1 ) the installation of the update software ( 22 ) in the writable memory area ( 20 ) of the boot sector, • Loading the reloading software ( 121 . 122 . 123 ) and the update software ( 22 ) in the non-bootable writeable memory area ( 10 ), • Running the reload software ( 121 . 122 . 123 ) in the control unit for installing the update software ( 22 ) in the writable memory area ( 20 ) of the boat sector. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Updatesoftware (22) in der Nachladesoftware (123) enthalten ist.Method according to claim 1, characterized in that the update software ( 22 ) in the reload software ( 123 ) is included. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass wenigstens auf einen Teil der Nachladesoftware (121, 122, 123) und/oder der Updatesoftware (22) ein Signaturverfahren angewendet wird, wobei die Software (121, 122, 123; 22) vor ihrer Übertragung in das Steuergerät (1) mittels eines ersten Signaturschlüssels (21) signiert und nach ihrer Übertragung in das Steuergerät (1) mittels eines zweiten, im Steuergerät (1) abgelegten Signaturschlüssels (21), auf ihre Unverfälschtheit hin überprüft wird.Method according to one of the preceding claims, characterized in that at least part of the reloading software ( 121 . 122 . 123 ) and / or the update software ( 22 ) a signature method is used, the software ( 121 . 122 . 123 ; 22 ) before being transferred to the control unit ( 1 ) by means of a first signature key ( 21 ) and after their transfer into the control unit ( 1 ) by means of a second, in the control unit ( 1 ) stored signature key ( 21 ), checked for their authenticity. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass der zweite Signaturschlüssel (21) in dem beschreibbaren Speicherbereich des Bootsektors abgelegt ist.Method according to Claim 3, characterized in that the second signature key ( 21 ) is stored in the writable memory area of the boot sector. Verfahren nach einem der Ansprüche 3 oder 4, dadurch gekennzeichnet, dass ein asymmetrisches Signaturverfahren angewendet wird, wobei der erste und der zweite Signaturschlüssel ein komplementäres Schlüsselpaar bilden.Method according to one of claims 3 or 4, characterized that an asymmetric signature method is used, wherein the first and second signature keys are a complementary key pair form. Verfahren nach einem der Ansprüche 3 oder 4, dadurch gekennzeichnet, dass ein symmetrisches Signaturverfahren angewendet wird, wobei der erste und der zweite Signaturschlüssel (21) identisch sind.Method according to one of claims 3 or 4, characterized in that a symmetrical signature method is used, wherein the first and the second signature key ( 21 ) are identical. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass wenigstens ein Teil der Nachladesoftware (121, 122, 123) und/oder der Updatesoftware (22) vor der Übertragung in das Steuergerät mittels eines Verschlüsselungsschlüssels verschlüsselt und nach der Übertragung in das Steuergerät von einer Entschlüsselungssoftware (122) mittels eines in dem Steuergerät abgelegten Entschlüsselungsschlüssels entschlüsselt wird.Method according to one of the preceding claims, characterized in that at least part of the reloading software ( 121 . 122 . 123 ) and / or the update software ( 22 ) are encrypted before being transmitted to the control unit by means of an encryption key and after being transferred to the control unit by a decryption software ( 122 ) is decrypted by means of a decryption key stored in the controller. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass der Entschlüsselungsschlüssel (21) in dem beschreibbaren Speicherbereich (20) des Bootsektors abgelegt ist.Method according to claim 7, characterized in that the decryption key ( 21 ) in the writable memory area ( 20 ) of the boot sector is stored. Verfahren nach einem der Ansprüche 7 oder 8, dadurch gekennzeichnet, dass ein asymmetrisches Verschlüsselungsverfahren angewendet wird, wobei der Verschlüsselungsschlüssel und der Entschlüsselungsschlüssel ein komplementäres Schlüsselpaar bilden.Method according to one of claims 7 or 8, characterized that an asymmetric encryption method is applied, the encryption key and the decryption key complementary Make key pair. Verfahren nach einem der Ansprüche 7 oder 8, dadurch gekennzeichnet, dass ein symmetrisches Verschlüsselungsverfahren angewendet wird, wobei der Verschlüsselungsschlüssel (21) und der Entschlüsselungsschlüssel (21) identisch sind.Method according to one of claims 7 or 8, characterized in that a symmetric encryption method is used, wherein the encryption key ( 21 ) and the decryption key ( 21 ) are identical. Verfahren nach einem der Ansprüche 7 bis 10, dadurch gekennzeichnet, dass die Entschlüsselungssoftware (122) in der Nachladesoftware (123) enthalten ist.Method according to one of Claims 7 to 10, characterized in that the decryption software ( 122 ) in the reload software ( 123 ) is included. Verfahren nach einem der Ansprüche 7 bis 11, soweit rückbezogen auf einen der Ansprüche 3 bis 6, dadurch gekennzeichnet, dass der erste Signaturschlüssel und der Verschlüsselungsschlüssel identisch sind und dass der zweite Signaturschlüssel und der Entschlüsselungsschlüssel identisch sind.Method according to one of claims 7 to 11, when dependent on one of claims 3 to 6, characterized in that the first signature key and the encryption key are identical and that the second signature key and the decryption key are identical. Verfahren nach einem der Ansprüche 7 bis 11, soweit rückbezogen auf einen der Ansprüche 3 bis 6, dadurch gekennzeichnet, dass für das Signaturverfahren und für die Ver- und Entschlüsselung unterschiedliche Schlüsselpaare von identischen oder komplementären Schlüsseln verwendet werden.Method according to one of claims 7 to 11, as far as related to one of the claims 3 to 6, characterized in that for the signature method and for the Encryption and decryption different key pairs of identical or complementary keys be used. Verwendung des Verfahrens nach einem der vorangehenden Ansprüche zum Austausch eines im Bootsektor (20) des Steuergerätes (1) abgelegten Schlüssels (21) durch einen neuen Schlüssel (22).Use of the method according to one of the preceding claims for exchanging a in the boot sector ( 20 ) of the control unit ( 1 ) stored key ( 21 ) by a new key ( 22 ). Verwendung des Verfahrens nach einem der vorangehenden Ansprüche zum Wiederherstellen von Speicherinhalten des Bootsektors (20) des Steuergerätes nach unkontrollierter physikalischer Veränderung („Bit-Kippen") oder zur nachträglichen Einführung, Erweiterung oder Aktualisieren von Software-basierten SicherheitsmechanismenUse of the method according to one of the preceding claims for restoring memory contents of the boot sector ( 20 ) of the control unit after uncontrolled physical change ("bit-tilting") or for the subsequent introduction, expansion or updating of software-based security mechanisms
DE10357032A 2003-06-24 2003-12-03 Method for reloading software in the boot sector of a programmable read only memory Ceased DE10357032A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE10357032A DE10357032A1 (en) 2003-06-24 2003-12-03 Method for reloading software in the boot sector of a programmable read only memory
JP2006515763A JP2007507020A (en) 2003-06-24 2004-04-29 Method for reloading software into the boot sector of a programmable read-only memory
EP04730255A EP1636700A1 (en) 2003-06-24 2004-04-29 Method for booting up a software in the boot sector of a programmable read-only memory
KR1020057023774A KR20060008338A (en) 2003-06-24 2004-04-29 Method for booting up a software in the boot sector of a programmable read-only memory
PCT/EP2004/004664 WO2004114131A1 (en) 2003-06-24 2004-04-29 Method for booting up a software in the boot sector of a programmable read-only memory
US11/315,186 US7584350B2 (en) 2003-06-24 2005-12-23 Method for booting up software in the boot sector of a programmable read-only memory

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE10328529 2003-06-24
DE10328529.6 2003-06-24
DE10357032A DE10357032A1 (en) 2003-06-24 2003-12-03 Method for reloading software in the boot sector of a programmable read only memory

Publications (1)

Publication Number Publication Date
DE10357032A1 true DE10357032A1 (en) 2005-01-13

Family

ID=33520947

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10357032A Ceased DE10357032A1 (en) 2003-06-24 2003-12-03 Method for reloading software in the boot sector of a programmable read only memory

Country Status (2)

Country Link
CN (1) CN100422930C (en)
DE (1) DE10357032A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016206977A1 (en) * 2015-06-23 2016-12-29 Bayerische Motoren Werke Aktiengesellschaft Method, server, firewall, control device, and system for programming a control device of a vehicle

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102105883A (en) * 2008-06-23 2011-06-22 Nxp股份有限公司 Electronic device and method of software or firmware updating of an electronic device
DE102010040115A1 (en) * 2010-09-01 2012-03-01 Robert Bosch Gmbh Method for providing information to a controller
EP3683784A1 (en) * 2019-01-21 2020-07-22 Ngrave bvba Long-term offline management of cryptographic parameters
CN114442958B (en) * 2022-01-28 2023-08-11 苏州浪潮智能科技有限公司 Storage optimization method and device for distributed storage system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0816970A2 (en) * 1996-07-01 1998-01-07 Sun Microsystems, Inc. Method and apparatus for firmware authentication
US6009524A (en) * 1997-08-29 1999-12-28 Compact Computer Corp Method for the secure remote flashing of a BIOS memory
US6266809B1 (en) * 1997-08-15 2001-07-24 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
US20020073316A1 (en) * 1998-02-03 2002-06-13 Thomas Collins Cryptographic system enabling ownership of a secure process
DE10141737C1 (en) * 2001-08-25 2003-04-03 Daimler Chrysler Ag Secure communication method for use in vehicle has new or updated programs provided with digital signature allowing checking by external trust centre for detection of false programs
US6581159B1 (en) * 1999-12-23 2003-06-17 Intel Corporation Secure method of updating bios by using a simply authenticated external module to further validate new firmware code

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1083589C (en) * 1996-05-24 2002-04-24 明碁电脑股份有限公司 Method of loading software program into EEPROM
DE10008974B4 (en) * 2000-02-25 2005-12-29 Bayerische Motoren Werke Ag signature methods
DE10112056A1 (en) * 2001-03-14 2002-09-26 Jungheinrich Ag Data modification method for nonvolatile electrically erasable memory by receiving modification routines via bus and storing in volatile memory

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0816970A2 (en) * 1996-07-01 1998-01-07 Sun Microsystems, Inc. Method and apparatus for firmware authentication
US6266809B1 (en) * 1997-08-15 2001-07-24 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
US6009524A (en) * 1997-08-29 1999-12-28 Compact Computer Corp Method for the secure remote flashing of a BIOS memory
US20020073316A1 (en) * 1998-02-03 2002-06-13 Thomas Collins Cryptographic system enabling ownership of a secure process
US6581159B1 (en) * 1999-12-23 2003-06-17 Intel Corporation Secure method of updating bios by using a simply authenticated external module to further validate new firmware code
DE10141737C1 (en) * 2001-08-25 2003-04-03 Daimler Chrysler Ag Secure communication method for use in vehicle has new or updated programs provided with digital signature allowing checking by external trust centre for detection of false programs

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016206977A1 (en) * 2015-06-23 2016-12-29 Bayerische Motoren Werke Aktiengesellschaft Method, server, firewall, control device, and system for programming a control device of a vehicle
US10650137B2 (en) 2015-06-23 2020-05-12 Bayerische Motoren Werke Aktiengesellschaft Method, server, firewall, control device, and system for programming a control device of a vehicle

Also Published As

Publication number Publication date
CN1809814A (en) 2006-07-26
CN100422930C (en) 2008-10-01

Similar Documents

Publication Publication Date Title
EP2899714B1 (en) Secure provision of a key
DE10318031A1 (en) Method to ensure the integrity and authenticity of Flashware for ECUs
WO1998016883A1 (en) Electronic data processing circuit
DE102009041176A1 (en) A compiler system and method for compiling a source code into an encrypted machine language code
DE19839680B4 (en) Method and device for modifying the memory contents of control units
WO2004114131A1 (en) Method for booting up a software in the boot sector of a programmable read-only memory
DE10131575A1 (en) Method for protecting a microcomputer system against manipulation of data stored in a memory arrangement of the microcomputer system
EP3811260B1 (en) Cryptography module and method for operating same
DE10357032A1 (en) Method for reloading software in the boot sector of a programmable read only memory
EP2394232B1 (en) Device and method for preventing unauthorized use and/or manipulation of software
DE10002203B4 (en) Method for protecting a microcomputer system against manipulation of data stored in a memory arrangement of the microcomputer system
DE102005046696B4 (en) A method for generating protected program code and method for executing program code of a protected computer program and computer program product
DE10131577A1 (en) Process for protecting a microcomputer system against manipulation of its program
DE19716015A1 (en) Introducing information on a chip card
DE102014213454A1 (en) Method and system for detecting a manipulation of data records
EP3752911B1 (en) Method for installing a program code packet onto a device, device, and motor vehicle
WO2011085960A1 (en) Method for providing a secure counter on a terminal
EP1577734A2 (en) Procédé pour le fonctionnement sûr d'un support de données portable
EP1318451B1 (en) Method to execute a program on a computer
DE102014113441A1 (en) Protection against software components by means of encryption
EP1904980A1 (en) Method for operating a portable data carrier
DE10123170A1 (en) Operating controller, especially for motor vehicle, involves running changed program and/or using changed data only if changed program and/or data has or have been successfully verified
DE102004047191A1 (en) Tamper-proof microprocessor system and operating method therefor
DE10131579A1 (en) Process for programming a memory of a microcomputer with data especially for a motor vehicle control program uses protective keys
DE10215626B4 (en) Procedure for changing encryption algorithms for protected software or protected data

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8110 Request for examination paragraph 44
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20140318