WO2024074402A1 - Verfahren zum aktualisieren eines steuergeräts eines fahrzeugs - Google Patents
Verfahren zum aktualisieren eines steuergeräts eines fahrzeugs Download PDFInfo
- Publication number
- WO2024074402A1 WO2024074402A1 PCT/EP2023/076945 EP2023076945W WO2024074402A1 WO 2024074402 A1 WO2024074402 A1 WO 2024074402A1 EP 2023076945 W EP2023076945 W EP 2023076945W WO 2024074402 A1 WO2024074402 A1 WO 2024074402A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- execution environment
- control unit
- software
- oem
- free
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000012546 transfer Methods 0.000 claims description 14
- 238000005192 partition Methods 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 230000001771 impaired effect Effects 0.000 description 2
- 238000011017 operating method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
Definitions
- the invention relates to a method for updating a control unit of a vehicle, in which software that updates the control unit is loaded into an execution environment of the control unit.
- the invention also relates to a control unit for a vehicle.
- Methods of the type mentioned at the beginning are part of the state of the art in various designs and are used to put a control unit of a vehicle into a new state using new software.
- the new software is loaded into an execution environment of the control unit and updates the control unit.
- the execution environment comprises a memory area and a processor of the control unit assigned to the memory area or a core of a processor of the control unit assigned to the memory area.
- DE 10 2012 21 1 591 A1 discloses an updating method for a control unit of a vehicle, in which an engine control unit of the vehicle is updated. Updating the engine control unit includes enabling or activating the engine control unit for a different engine performance, wherein enabling or activating includes loading a new control unit code or loading new application data into a special memory area of the control unit.
- the engine control unit is updated by a manufacturer of the control unit or by a software developer other than the manufacturer of the control unit.
- the company "BDperformance" offers an update process called ECUflash® for a motorcycle control unit, in which the control unit is updated by saving an optimized configuration file in the control unit using a flash tool. Switching between an original configuration file and the optimized configuration file is possible at any time (see https://ecuflash.de).
- a vehicle control unit provided by a vehicle manufacturer can also be updated by replacing it with a replacement control unit provided by a third-party manufacturer.
- An example replacement control unit is provided by the rusEFI group as part of an open source project (see https://rusefi.com).
- EP 3 333 748 A1 discloses an updating method for a control unit of a vehicle, in which the control unit is started up in a neutral operating state in order to set one of two configured operating states. A subsequent start-up of the control unit in a first configured operating state allows a one-time change to the second configured operating state. A subsequent start-up of the control unit in a second configured operating state does not allow a change to the first configured operating state.
- control unit provides several functions, in particular functions of different safety levels (ASIL), for the vehicle, it must be ensured that a first function is not impaired by a fault in a second function.
- ASIL safety levels
- each core of a processor of the control unit is assigned its own separate memory area with software installed therein.
- Each core of the processor executes exclusively the software installed in the assigned memory area. Updating software of a memory area or running Timing errors of the software in the memory area do not affect the execution of software from other memory areas.
- DE 10 2019 200 812 A1 also discloses an operating method for a control unit of a vehicle, in which a first software module implementing a main function of the control unit and a second software module implementing a secondary function of the control unit are executed in different hardware partitions that are separate from one another. An error in the secondary function does not affect the main function.
- a further object of the invention is to provide a control unit for a vehicle.
- One subject of the invention is a method for updating a control unit of a vehicle, in which software updating the control unit is loaded into an execution environment of the control unit.
- the control unit is updated by loading a new software into an updated, ie new, state.
- the new software can be loaded into the control unit in any known way.
- the vehicle can in particular be designed as a passenger car (car).
- a configuration of the control unit is transferred from a closed configuration to an open configuration and free software is loaded as the software updating the control unit into a free execution environment of the open configuration.
- the update process changes the configuration of the control unit.
- the closed configuration corresponds to a delivery state of the control unit. It only allows a manufacturer of the control unit (original equipment manufacturer, OEM) to update the control unit using OEM software provided by the manufacturer.
- control unit maintains the closed configuration during a warranty period of the control unit or the vehicle.
- the open configuration allows free software to be loaded into the control unit, specifically into a free execution environment of the open configuration of the control unit.
- the closed configuration can already include the free execution environment.
- the transfer from the closed configuration to the open configuration may require a corresponding application from the owner of the vehicle. If the manufacturer of the control unit agrees to the application, successful authentication of the owner in a conventional manner, for example by means of an identity card and/or a vehicle registration document, may also be required.
- the transfer comprises generating the free execution environment and/or maintaining an OEM execution environment of the closed configuration and/or a security execution environment (11 ) of the closed configuration.
- the control unit only includes the free execution environment after the closed configuration has been converted to the open configuration. In this way, the memory space available in the closed configuration of the control unit is not restricted by the free execution environment.
- the OEM execution environment and/or the security execution environment belong to both the closed configuration and the open configuration. Maintaining may include changing the OEM execution environment and/or the security execution environment, for example, a size of the respective execution environment and/or software stored in the respective execution environment.
- the free execution environment is advantageously created in a hardware partition of the control unit that includes the OEM execution environment.
- the free execution environment and the O-EM execution environment belong to the same hardware partition. Both execution environments share the same microprocessor or microcontroller. In this way, software modules of both execution environments can interact particularly easily.
- the transfer involves loading OEM software with a legally required minimum functionality into the OEM execution environment and/or moving OEM software with a legally required minimum functionality from the OEM execution environment to the security execution environment.
- the OEM software is loaded into the OEM execution environment of the open configuration.
- the OEM software stored in the OEM execution environment of the closed configuration is moved, in particular partially, to the security execution environment during the transfer.
- the OEM software ensures that the control unit has the minimum functionality required, regardless of any free software loaded into the free execution environment. Without the free software, the control unit may have restricted, ie reduced, functionality after being transferred to the open configuration compared to the closed configuration.
- the OEM execution environment protects the loaded OEM software from unauthorized modification or the security execution environment protects the moved OEM software from unauthorized modification.
- Protection of the OEM execution environment or the security execution environment can include any known means suitable for preventing unauthorized modification of the OEM software.
- the known means include, for example, keys and certificates. Thanks to the protection, a software developer other than the manufacturer of the control unit cannot change the OEM software. As a result, the legally required minimum functionality of the control unit is guaranteed.
- the protection of the OEM execution environment or the security execution environment protects, in particular, safety-relevant functions of the vehicle.
- the loaded OEM software can provide an interface for the free software loaded into the free execution environment.
- the interface allows the free software to interact with the OEM software in a read-only manner.
- the free software can use the interface to query and use a vehicle mileage managed by the OEM software.
- the free software cannot manipulate the mileage. In this way, the authenticity of the vehicle's mileage is ensured.
- a specification, i.e. definition, of the interface is published by the manufacturer of the control unit. The same can also apply to a control unit's firmware.
- the security execution environment provides at least one key and/or one certificate for accessing the OEM execution environment or the free execution environment.
- the security execution environment (Hardware Security Execution Environment, HSEE) can be designed, for example, as a Hardware Security Module (HSM) or a Trusted Execution Environment (TEE).
- HSM Hardware Security Module
- TEE Trusted Execution Environment
- the security execution environment issues the keys and/or certificates required for access.
- a bootloader loaded into the free execution environment can load the free software.
- the bootloader loads the free software when the control unit is restarted, making it easier to update the control unit.
- the transfer of the configuration is preferably logged in an OEM database external to the vehicle. Logging can be done automatically and includes, for example, saving the time of the transfer and a list of free software loaded into the free execution environment. In this way, the OEM database can be queried at any time to determine the current configuration of the control unit.
- the proposed method can be applied simultaneously to a plurality of control units of the vehicle, in particular to a network of interacting control units of the vehicle.
- Another subject of the invention is a control unit for a vehicle which has a closed configuration.
- the closed configuration of the control unit corresponds to a delivery state of the control unit.
- control device is designed to be updated by executing a method according to an embodiment of the invention.
- the updating method changes the configuration of the control device and converts the originally closed configuration into an open configuration.
- the open configuration enables free software to be loaded into the control unit. OEM software that is also loaded into the control unit during the transfer can ensure a legally required minimum functionality of the control unit.
- a significant advantage of the method according to the invention is that a control unit of a vehicle can be updated using free software and at the same time a legally prescribed functionality is ensured.
- the control unit can be programmed by software developers who are different from a manufacturer of the control unit.
- Figure 1 is a block diagram of a control device according to an embodiment of the invention for a vehicle in a closed configuration
- FIG 2 is a block diagram of the control unit shown in Figure 1 in an open configuration.
- FIG. 1 shows a block diagram of a control unit 1 according to an embodiment of the invention for a vehicle (not shown) in a closed configuration 2.
- the control unit 1 comprises a hardware partition 10 with an OEM execution environment 31 and a security execution environment 11.
- the security execution environment 11 is designed to provide at least one key 110 and/or one certificate 111, in particular a plurality of keys 110 and/or certificates 111.
- the control unit 1 has the closed configuration 2 and is configured to be updated by executing a method described below according to an embodiment of the invention.
- software that updates the control unit 1 is loaded into an execution environment of the control unit 1.
- the closed configuration 2 of the control unit 1 is converted into an open configuration 3 of the control unit 1.
- Figure 2 shows a block diagram of the control unit 1 shown in Fig. 1 in the open configuration 3.
- the transfer advantageously comprises generating a free execution environment 30 and/or maintaining an OEM execution environment 31 of the closed configuration (2) and/or a safety execution environment (11) of the closed configuration 2.
- the open configuration 3 comprises the safety execution environment 11, the OEM execution environment 31 and the free execution environment 30 after the transfer.
- the OEM execution environment 31 can comprise a coordination module 310.
- the free execution environment 30 is preferably created in the hardware partition 10 of the control unit 1 comprising the OEM execution environment 31.
- a free software 5 is loaded into the free execution environment 30 of the open configuration 3 as the software updating the control unit 1.
- a bootloader 300 loaded into the free execution environment 30 conveniently loads the free software 5.
- the transfer includes in particular loading an OEM software 6 with a legally prescribed minimum functionality into the OEM execution environment 31 and/or moving an OEM software 6 with a legally prescribed minimum functionality from the OEM execution environment 30 into the security execution environment 11.
- the loaded OEM software 6 advantageously provides an interface 60 for the free software 5 loaded into the free execution environment 30.
- the OEM execution environment 31 can The security execution environment can protect the moved OEM software 6 from unauthorized changes.
- the security execution environment 11 belonging to the closed configuration 2 and the open configuration 3 can each provide at least one key 110 and/or one certificate 111 for accessing the OEM execution environment 31 or the free execution environment 30.
- a release 112 for the free execution environment is shown, ie a subset of keys 110 and/or certificates 111 to which the open execution environment 30 can access. It is understood that the number and distribution of the keys 110 and certificates 111 shown are merely exemplary and not restrictive.
- the transfer can be logged in an OEM database 4 external to the vehicle.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Verfahren zum Aktualisieren eines Steuergeräts eines Fahrzeugs, bei dem eine das Steuergerät aktualisierende Software in eine Ausführungsumgebung des Steuergeräts geladen wird, und Steuergerät für ein Fahrzeug.
Description
Verfahren zum Aktualisieren eines Steuergeräts eines Fahrzeugs
BESCHREIBUNG:
Die Erfindung betrifft ein Verfahren zum Aktualisieren eines Steuergeräts eines Fahrzeugs, bei dem eine das Steuergerät aktualisierende Software in eine Ausführungsumgebung des Steuergeräts geladen wird. Ferner betrifft die Erfindung ein Steuergerät für ein Fahrzeug.
Verfahren der eingangs genannten Art gehören in unterschiedlichen Ausgestaltungen zum Stand der Technik und dienen dazu, ein Steuergerät eines Fahrzeugs mittels einer neuen Software in einen neuen Zustand zu versetzen. Die neue Software wird in eine Ausführungsumgebung des Steuergeräts geladen und aktualisiert das Steuergerät. Die Ausführungsumgebung umfasst einen Speicherbereich und einen dem Speicherbereich zugeordneten Prozessor des Steuergeräts oder einen dem Speicherbereich zugeordneten Kern eines Prozessors des Steuergeräts.
Beispielsweise offenbart DE 10 2012 21 1 591 A1 ein Aktualisierungsverfahren für ein Steuergerät eines Fahrzeugs, bei dem ein Motorsteuergerät des Fahrzeugs aktualisiert wird. Das Aktualisieren des Motorsteuergeräts umfasst ein Freischalten bzw. Aktivieren des Motorsteuergeräts für eine andere Motorleistung, wobei das Freischalten bzw. Aktivieren ein Laden eines neuen Steuergerätecodes oder ein Laden neuer Applikationsdaten in einen speziellen Speicherbereich des Steuergeräts umfasst. Das Motorsteuergerät wird von einem Hersteller des Steuergeräts oder von einem von dem Hersteller des Steuergeräts verschiedenen Softwareentwickler aktualisiert.
Beispielsweise bietet das Unternehmen „BDperformance“ ein Aktualisierungsverfahren namens ECUflash® für ein Steuergerät eines Motorrads an, bei dem das Steuergerät durch Speichern einer optimierten Konfigurationsdatei in dem Steuergerät mittels eines Flashtools aktualisiert wird. Ein Wechseln zwischen einer originalen Konfigurationsdatei und der optimierten Konfigurationsdatei ist jederzeit möglich (s. https://ecuflash.de).
Selbstverständlich kann ein von einem Hersteller eines Fahrzeug bereitgestelltes Steuergerät des Fahrzeugs auch dadurch aktualisiert werden, dass es durch ein von einem Fremdhersteller bereitgestelltes Ersatzsteuergerät ersetzt wird. Ein beispielhaftes Ersatzsteuergerät wird von der rusEFI- Gruppe im Rahmen eines Open-Source-Projekts bereitgestellt (s. https://rusefi.com).
Aus EP 3 333 748 A1 ist ein Aktualisierungsverfahren für ein Steuergerät eines Fahrzeugs bekannt, bei dem das Steuergerät in einem neutralen Betriebszustand hochgefahren wird, um einen von zwei konfigurierten Betriebszuständen einzustellen. Ein anschließendes Hochfahren des Steuergeräts in einem ersten konfigurierten Betriebszustand erlaubt einmalig ein Wechseln in den zweiten konfigurierten Betriebszustand. Ein anschließendes Hochfahren des Steuergeräts in einem zweiten konfigurierten Betriebszustand erlaubt kein Wechseln in den ersten konfigurierten Betriebszustand.
Wenn das Steuergerät mehrere Funktionen, insbesondere Funktionen verschiedener Sicherheitsstufen (ASIL), für das Fahrzeug bereitstellt, muss gewährleistet sein, dass eine erste Funktion nicht durch einen Fehler einer zweiten Funktion beeinträchtigt wird.
DE 10 2014 201 682 A1 offenbart ein solches Betriebsverfahren für ein Steuergerät eines Fahrzeugs. Bei dem Verfahren ist jedem Kern eines Prozessors des Steuergeräts ein eigener separater Speicherbereich mit darin installierter Software zugeordnet. Jeder Kern des Prozessors führt ausschließlich die in dem zugeordneten Speicherbereich installierte Software aus. Ein Aktualisieren einer Software eines Speicherbereichs oder ein Lauf-
zeitfehler der Software des Speicherbereichs beeinträchtigt nicht ein Ausführen von Software anderer Speicherbereiche.
Auch DE 10 2019 200 812 A1 offenbart ein Betriebsverfahren für ein Steuergerät eines Fahrzeugs, bei dem ein eine Hauptfunktion des Steuergeräts implementierendes erstes Softwaremodul und ein eine Nebenfunktion des Steuergeräts implementierendes zweites Softwaremodul in verschiedenen voneinander separaten Hardwarepartitionen ausgeführt wird. Ein Fehler der Nebenfunktion beeinträchtigt nicht die Hauptfunktion.
Gewöhnlich ist das Aktualisieren eines Steuergeräts einem Hersteller des Steuergeräts (Original Equipment Manufacturer, OEM) vorbehalten. Auf diese Weise wird ein Risiko minimiert, dass eine Funktion des Steuergeräts durch eine fehlerhafte Software oder durch eine inkompatible Software beeinträchtigt wird. Jedoch werden auf diese Weise von dem Hersteller des Steuergeräts verschiedene Softwareentwickler von einem Aktualisieren des Steuergeräts ausgeschlossen.
Eine von einem solchen Softwareentwickler bereitgestellte Software wird nachfolgend eine freie Software genannt, während eine von dem Hersteller des Steuergeräts bereitgestellte Software als eine OEM-Software bezeichnet wird.
Es ist daher eine Aufgabe der Erfindung, ein Verfahren zum Aktualisieren eines Steuergeräts eines Fahrzeugs vorzuschlagen, welches ein Laden einer freien Software in das Steuergerät ermöglicht und eine gesetzlich vorgeschriebene minimale Funktionalität des Steuergeräts sicherstellt. Eine weitere Aufgabe der Erfindung ist, ein Steuergerät für ein Fahrzeug bereitzustellen.
Ein Gegenstand der Erfindung ist ein Verfahren zum Aktualisieren eines Steuergeräts eines Fahrzeugs, bei dem eine das Steuergerät aktualisierende Software in eine Ausführungsumgebung des Steuergeräts geladen wird. Bei dem Aktualisierungsverfahren wird das Steuergerät durch ein Laden einer
neuen Software in einen aktualisierten, d. h. neuen Zustand überführt. Das Laden der neuen Software in das Steuergerät kann in jeder bekannten Weise erfolgen. Das Fahrzeug kann insbesondere als ein Personenkraftwagen (Pkw) ausgebildet sein.
Erfindungsgemäß wird eine Konfiguration des Steuergeräts von einer geschlossenen Konfiguration in eine offene Konfiguration überführt und wird eine freie Software als die das Steuergerät aktualisierende Software in eine freie Ausführungsumgebung der offenen Konfiguration geladen. Das Aktualisierungsverfahren ändert die Konfiguration des Steuergeräts. Die geschlossene Konfiguration entspricht einem Auslieferungszustand des Steuergeräts. Sie ermöglicht ausschließlich einem Hersteller des Steuergeräts (Original Equipment Manufacturer, OEM) ein Aktualisieren des Steuergeräts mittels einer von dem Hersteller bereitgestellten OEM-Software.
Üblicherweise behält das Steuergerät die geschlossene Konfiguration während eines Gewährleistungszeitraums des Steuergeräts bzw. des Fahrzeugs bei.
Die offene Konfiguration ermöglicht dagegen das Laden einer freien Software in das Steuergerät, konkret in eine freie Ausführungsumgebung der offenen Konfiguration des Steuergeräts. Die geschlossene Konfiguration kann bereits die freie Ausführungsumgebung umfassen.
Es wird angemerkt, dass das Überführen von der geschlossenen Konfiguration in die offene Konfiguration einen entsprechenden Antrag eines Halters des Fahrzeugs voraussetzen kann. Wenn der Hersteller des Steuergeräts dem Antrag zustimmt, kann weiterhin ein erfolgreiches Authentifizieren des Halters in an sich bekannter Weise, beispielsweise mittels eines Personalausweises und/oder eines Fahrzeugbriefs, vorausgesetzt werden.
Bevorzugt umfasst das Überführen ein Erzeugen der freien Ausführungsumgebung und/oder ein Beibehalten einer OEM-Ausführungsumgebung der geschlossenen Konfiguration und/oder einer Sicherheitsausführungsumgebung
(11 ) der geschlossenen Konfiguration. Mit anderen Worten umfasst das Steuergerät die freie Ausführungsumgebung erst nach dem Überführen der geschlossenen Konfiguration in die offene Konfiguration. Auf diese Weise wird ein in der geschlossenen Konfiguration verfügbarer Speicherplatz des Steuergeräts nicht durch die freie Ausführungsumgebung eingeschränkt.
Dagegen gehören die OEM-Ausführungsumgebung und/oder die Sicherheitsausführungsumgebung sowohl zu der geschlossenen Konfiguration als auch zu der offenen Konfiguration. Das Beibehalten kann ein Ändern der OEM-Ausführungsumgebung und/oder der Sicherheitsausführungsumgebung umfassen, beispielsweise einer Größe der jeweiligen Ausführungsumgebung und/oder einer in der jeweiligen Ausführungsumgebung gespeicherten Software.
Vorteilhaft wird die freie Ausführungsumgebung in einer die OEM- Ausführungsumgebung umfassenden Hardwarepartition des Steuergeräts erzeugt. Kurz gesagt, gehören die freie Ausführungsumgebung und die O- EM-Ausführungsumgebung zu derselben Hardwarepartition. Beide Ausführungsumgebungen teilen sich denselben Mikroprozessor bzw. Mikrocontroller. Auf diese Weise können Softwaremodule beider Ausführungsumgebungen besonders einfach interagieren.
Idealerweise umfasst das Überführen ein Laden einer OEM-Software mit einer gesetzlich vorgeschriebenen minimalen Funktionalität in die OEM- Ausführungsumgebung und/oder ein Verschieben einer OEM-Software mit einer gesetzlich vorgeschriebenen minimalen Funktionalität aus der OEM- Ausführungsumgebung in die Sicherheitsausführungsumgebung. Bei dem Überführen der geschlossenen Konfiguration in die offene Konfiguration wird die OEM-Software in die OEM-Ausführungsumgebung der offenen Konfiguration geladen. Alternativ oder zusätzlich wird bei dem Überführen die in der OEM-Ausführungsumgebung der geschlossenen Konfiguration gespeicherte OEM-Software insbesondere teilweise in die Sicherheitsausführungsumgebung verschoben.
Die OEM-Software stellt eine vorschriftsgemäße minimale Funktionalität des Steuergeräts unabhängig von einer in die freie Ausführungsumgebung geladenen freien Software sicher. Ohne die freie Software kann das Steuergerät nach dem Überführen in die offene Konfiguration eine gegenüber der geschlossenen Konfiguration eingeschränkte, d. h. reduzierte, Funktionalität aufweisen.
In einer Ausführungsform schützt die OEM-Ausführungsumgebung die geladene OEM-Software vor einem unbefugten Ändern oder schützt die Sicherheitsausführungsumgebung die verschobene OEM-Software vor einem unbefugten Ändern. Ein Schutz der OEM-Ausführungsumgebung oder der Sicherheitsausführungsumgebung kann jedes bekannte Mittel umfassen, welches geeignet ist, das unbefugte Ändern der OEM-Software zu verhindern. Zu den bekannten Mitteln gehören beispielsweise Schlüssel und Zertifikate. Dank dem Schutz kann ein von dem Hersteller des Steuergeräts verschiedener Softwareentwickler die OEM-Software nicht ändern. Infolgedessen bleibt die gesetzlich vorgeschriebene minimale Funktion des Steuergeräts gewährleistet. Der Schutz der OEM-Ausführungsumgebung oder der Sicherheitsausführungsumgebung schützt insbesondere sicherheitsrelevante Funktionen des Fahrzeugs.
Die geladene OEM-Software kann eine Schnittstelle für die in die freie Ausführungsumgebung geladene freie Software bereitstellen. Die Schnittstelle ermöglicht der freien Software ein lediglich lesendes Interagieren mit der OEM-Software. Beispielsweise kann die freie Software über die Schnittstelle eine von der OEM-Software verwaltete Wegstrecke, d. h. einen Kilometerstand, des Fahrzeugs abfragen und verwenden. Jedoch kann die freie Software die Wegstrecke nicht manipulieren. Auf diese Weise bleibt eine Authentizität der Wegstrecke des Fahrzeugs gesichert. Eine Spezifikation, d. h. Definition, der Schnittstelle wird von dem Hersteller des Steuergeräts veröffentlicht. Dasselbe kann auch für eine Firmware des Steuergeräts gelten.
In einer Ausführungsform stellt die Sicherheitsausführungsumgebung jeweils zumindest einen Schlüssel und/oder ein Zertifikat für ein Zugreifen auf die
OEM-Ausführungsumgebung oder die freie Ausführungsumgebung bereit. Die Sicherheitsausführungsumgebung (Hardware Security Execution Environment, HSEE) kann beispielsweise als ein Hardware-Security-Modul (HSM) oder ein Trusted Execution Environment (TEE) ausgebildet sein. Die Sicherheitsausführungsumgebung gibt die für das Zugreifen erforderlichen Schlüssel und/oder Zertifikate heraus.
Ein in die freie Ausführungsumgebung geladener Bootloader kann die freie Software laden. Der Bootloader lädt die freie Software bei einem Neustart des Steuergeräts, wodurch ein Aktualisieren des Steuergeräts erleichtert ist.
Das Überführen der Konfiguration wird günstigerweise in einer bezogen auf das Fahrzeug externen OEM-Datenbank protokolliert. Das Protokollieren kann automatisch erfolgen und umfasst beispielsweise ein Speichern eines Zeitpunkts des Überführens, eine Liste von in die freie Ausführungsumgebung geladener freier Software. Auf diese Weise ermöglicht die OEM- Datenbank jederzeit eine Abfrage zum Ermitteln einer aktuellen Konfiguration des Steuergeräts.
Es versteht sich, dass das vorgeschlagene Verfahren gleichzeitig auf eine Mehrzahl von Steuergeräten des Fahrzeugs, insbesondere auf einen Verbund von interagierenden Steuergeräten des Fahrzeugs, angewendet werden kann.
Ein weiterer Gegenstand der Erfindung ist ein Steuergerät für ein Fahrzeug, welches eine geschlossene Konfiguration aufweist. Die geschlossene Konfiguration des Steuergeräts entspricht einem Auslieferungszustand des Steuergeräts.
Erfindungsgemäß ist das Steuergerät ausgebildet, durch Ausführen eines Verfahrens nach einer Ausführungsform der Erfindung aktualisiert zu werden. Das Aktualisierungsverfahren ändert die Konfiguration des Steuergeräts und überführt die ursprünglich geschlossene Konfiguration in eine offene Konfiguration. Die offene Konfiguration ermöglicht ein Laden von freier Software in
das Steuergerät. Eine bei dem Überführen ebenfalls in das Steuergerät geladene OEM-Software kann eine gesetzlich vorgeschriebene minimale Funktionalität des Steuergeräts sicherstellen.
Ein wesentlicher Vorteil des erfindungsgemäßen Verfahrens besteht darin, dass ein Steuergerät eines Fahrzeugs mittels einer freien Software aktualisiert werden kann und gleichzeitig eine gesetzlich vorgeschriebene Funktionalität sichergestellt ist. Auf diese Weise wird das Steuergerät für Softwareentwickler programmierbar, welche von einem Hersteller des Steuergeräts verschieden sind.
Die Erfindung ist anhand einer Ausführungsform in den Zeichnungen schematisch dargestellt und wird unter Bezugnahme auf die Zeichnungen weiter beschrieben. Es zeigt:
Figur 1 in einem Blockdiagramm ein Steuergerät nach einer Ausführungsform der Erfindung für ein Fahrzeug in einer geschlossenen Konfiguration;
Figur 2 in einem Blockdiagramm das in Fig. 1 gezeigte Steuergerät in einer offenen Konfiguration.
Figur 1 zeigt in einem Blockdiagramm ein Steuergerät 1 nach einer Ausführungsform der Erfindung für ein (nicht dargestelltes) Fahrzeug in einer geschlossenen Konfiguration 2. Das Steuergerät 1 umfasst eine Hardwarepartition 10 mit einer OEM-Ausführungsumgebung 31 und einer Sicherheitsausführungsumgebung 1 1 . Die Sicherheitsausführungsumgebung 11 ist ausgebildet, zumindest einen Schlüssel 1 10 und/oder ein Zertifikat 11 1 , insbesondere eine Mehrzahl von Schlüsseln 110 und/oder Zertifikaten 111 , bereitzustellen.
Das Steuergerät 1 weist die geschlossene Konfiguration 2 auf und ist konfiguriert, durch Ausführen eines im Folgenden beschriebenen Verfahrens nach einer Ausführungsform der Erfindung aktualisiert zu werden.
Bei dem Verfahren zum Aktualisieren des Steuergeräts 1 des Fahrzeugs wird eine das Steuergerät 1 aktualisierende Software in eine Ausführungsumgebung des Steuergeräts 1 geladen. Dabei wird die geschlossene Konfiguration 2 des Steuergeräts 1 in eine offene Konfiguration 3 des Steuergeräts 1 überführt.
Figur 2 zeigt in einem Blockdiagramm das in Fig. 1 gezeigte Steuergerät 1 in der offenen Konfiguration 3. Das Überführen umfasst vorteilhaft ein Erzeugen einer freien Ausführungsumgebung 30 und/oder ein Beibehalten einer OEM- Ausführungsumgebung 31 der geschlossenen Konfiguration (2) und/oder einer Sicherheitsausführungsumgebung (11 ) der geschlossenen Konfiguration 2. Die offene Konfiguration 3 umfasst nach dem Überführen die Sicherheitsausführungsumgebung 11 , die OEM-Ausführungsumgebung 31 und die freie Ausführungsumgebung 30.
Die OEM-Ausführungsumgebung 31 kann ein Koordinationsmodul 310 umfassen. Die freie Ausführungsumgebung 30 wird bevorzugt in der die OEM- Ausführungsumgebung 31 umfassenden Hardwarepartition 10 des Steuergeräts 1 erzeugt.
Eine freie Software 5 wird als die das Steuergerät 1 aktualisierende Software in die freie Ausführungsumgebung 30 der offenen Konfiguration 3 geladen. Ein in die freie Ausführungsumgebung 30 geladener Bootloader 300 lädt günstigerweise die freie Software 5.
Das Überführen umfasst insbesondere ein Laden einer OEM-Software 6 mit einer gesetzlich vorgeschriebenen minimalen Funktionalität in die OEM- Ausführungsumgebung 31 und/oder ein Verschieben einer OEM-Software 6 mit einer gesetzlich vorgeschriebenen minimalen Funktionalität aus der O- EM-Ausführungsumgebung 30 in die Sicherheitsausführungsumgebung 11 . Die geladene OEM-Software 6 stellt vorteilhaft eine Schnittstelle 60 für die in die freie Ausführungsumgebung 30 geladene freie Software 5 bereit. Die OEM-Ausführungsumgebung 31 kann die geladene OEM-Software 6 vor ei-
nem unbefugten Ändern schützen. Die Sicherheitsausführungsumgebung kann die verschobene OEM-Software 6 vor einem unbefugten Ändern schützen. Die zu der geschlossenen Konfiguration 2 und der offenen Konfiguration 3 gehörende Sicherheitsausführungsumgebung 11 kann jeweils zumindest einen Schlüssel 110 und/oder ein Zertifikat 111 für ein Zugreifen auf die OEM- Ausführungsumgebung 31 oder die freie Ausführungsumgebung 30 bereitstellen. Abgebildet ist eine Freigabe 112 für die freie Ausführungsumgebung, d. h. eine Teilmenge von Schlüsseln 1 10 und/oder Zertifikaten 111 , auf welche die offene Ausführungsumgebung 30 zugreifen kann. Es versteht sich, dass die Anzahl und die Aufteilung der abgebildeten Schlüssel 110 und Zertifikate 111 lediglich beispielhaft und nicht einschränkend sind. Das Überführen kann in einer bezogen auf das Fahrzeug externen OEM- Datenbank 4 protokolliert werden.
BEZUGSZEICHENLISTE:
1 Steuergerät
10 Hardwarepartition 11 Sicherheitsausführungsumgebung
110 Schlüssel
11 1 Zertifikat
112 Freigabe für die freie Ausführungsumgebung
2 geschlossene Konfiguration 3 offene Konfiguration
30 freie Ausführungsumgebung
300 Bootloader
31 OEM-Ausführungsumgebung
310 Koordinationsmodul 4 OEM-Datenbank
5 freie Software
6 OEM-Software
60 Schnittstelle
Claims
PATENTANSPRÜCHE:
1 . Verfahren zum Aktualisieren eines Steuergeräts (1 ) eines Fahrzeugs, bei dem eine das Steuergerät (1 ) aktualisierende Software in eine Ausführungsumgebung des Steuergeräts (1 ) geladen wird, wobei eine geschlossene Konfiguration (2) des Steuergeräts (1 ) in eine offene Konfiguration (3) des Steuergeräts (1 ) überführt wird und eine freie Software (5) als die das Steuergerät (1) aktualisierende Software in eine freie Ausführungsumgebung (30) der offenen Konfiguration (3) geladen wird.
2. Verfahren nach Anspruch 1 , bei dem das Überführen ein Erzeugen der freien Ausführungsumgebung (30) und/oder ein Beibehalten einer O- EM-Ausführungsumgebung (31 ) der geschlossenen Konfiguration (2) und/oder einer Sicherheitsausführungsumgebung (11 ) der geschlossenen Konfiguration (2) umfasst.
3. Verfahren nach Anspruch 2, bei dem die freie Ausführungsumgebung (30) in einer die OEM-Ausführungsumgebung (31 ) umfassenden Hardwarepartition (10) des Steuergeräts (1 ) erzeugt wird.
4. Verfahren nach Anspruch 3, bei dem das Überführen ein Laden einer OEM-Software (6) mit einer gesetzlich vorgeschriebenen minimalen Funktionalität in die OEM-Ausführungsumgebung (31 ) und/oder ein Verschieben einer OEM-Software (6) mit einer gesetzlich vorgeschriebenen minimalen Funktionalität aus der OEM-Ausführungsumgebung
(30) in die Sicherheitsausführungsumgebung (1 1 ) umfasst.
5. Verfahren nach Anspruch 4, bei dem die OEM-Ausführungsumgebung
(31 ) die geladene OEM-Software (6) vor einem unbefugten Ändern schützt oder die Sicherheitsausführungsumgebung (11 ) die verschobene OEM-Software (6) vor einem unbefugten Ändern schützt.
6. Verfahren nach Anspruch 4 oder 5, bei dem die geladene OEM- Software (6) eine Schnittstelle (60) für die in die freie Ausführungsumgebung (30) geladene freie Software (5) bereitstellt.
7. Verfahren nach einem der Ansprüche 2 bis 6, bei dem die Sicherheitsausführungsumgebung (11 ) jeweils zumindest einen Schlüssel (110) und/oder ein Zertifikat (111 ) für ein Zugreifen auf die OEM- Ausführungsumgebung (31 ) oder die freie Ausführungsumgebung (30) bereitstellt.
8. Verfahren nach einem der Ansprüche 1 bis 7, bei dem ein in die freie Ausführungsumgebung (30) geladener Bootloader (300) die freie Software (5) lädt.
9. Verfahren nach einem der Ansprüche 1 bis 8, bei dem das Überführen in einer bezogen auf das Fahrzeug externen OEM-Datenbank (4) protokolliert wird.
10. Steuergerät (1 ) für ein Fahrzeug, welches eine geschlossene Konfiguration (2) aufweist und konfiguriert ist, durch Ausführen eines Verfahrens nach einem der Ansprüche 1 bis 9 aktualisiert zu werden.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022125711.8 | 2022-10-05 | ||
DE102022125711.8A DE102022125711A1 (de) | 2022-10-05 | 2022-10-05 | Verfahren zum Aktualisieren eines Steuergeräts eines Fahrzeugs |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024074402A1 true WO2024074402A1 (de) | 2024-04-11 |
Family
ID=88287455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2023/076945 WO2024074402A1 (de) | 2022-10-05 | 2023-09-28 | Verfahren zum aktualisieren eines steuergeräts eines fahrzeugs |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102022125711A1 (de) |
WO (1) | WO2024074402A1 (de) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102012211591A1 (de) | 2012-07-04 | 2014-01-09 | Robert Bosch Gmbh | Verfahren zum Einstellen einer Leistungsklasse |
DE102014201682A1 (de) | 2014-01-30 | 2015-07-30 | Robert Bosch Gmbh | Verfahren zur Koexistenz von Software mit verschiedenen Sicherheitsstufen in einem Multicore-Prozessorsystem |
EP3333748A1 (de) | 2016-12-08 | 2018-06-13 | Siemens Aktiengesellschaft | Geräteeinheit geeignet für den betrieb im geschützten und/oder offenen betriebszustand sowie zugehöriges verfahren |
US20180293067A1 (en) * | 2017-04-11 | 2018-10-11 | Nio Usa, Inc. | Virtual machine (vm) approach to embedded system hot update |
DE102019200812A1 (de) | 2019-01-23 | 2020-07-23 | Audi Ag | Verfahren zum Schützen einer Hauptfunktion eines Steuergeräts vor einer Behinderung ihres Betriebs durch einen Laufzeitfehler einer Nebenfunktion des Steuergeräts sowie Steuergerät, Kraftfahrzeug und Fahrzeugbatterie |
DE102021130896A1 (de) * | 2020-11-27 | 2022-06-02 | Denso Corporation | Elektronische steuerungseinheit, zeitinformationsbereitstellungsverfahren, zeitinformationsbereitstellungsprogramm und elektronisches steuerungssystem |
-
2022
- 2022-10-05 DE DE102022125711.8A patent/DE102022125711A1/de active Pending
-
2023
- 2023-09-28 WO PCT/EP2023/076945 patent/WO2024074402A1/de unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102012211591A1 (de) | 2012-07-04 | 2014-01-09 | Robert Bosch Gmbh | Verfahren zum Einstellen einer Leistungsklasse |
DE102014201682A1 (de) | 2014-01-30 | 2015-07-30 | Robert Bosch Gmbh | Verfahren zur Koexistenz von Software mit verschiedenen Sicherheitsstufen in einem Multicore-Prozessorsystem |
EP3333748A1 (de) | 2016-12-08 | 2018-06-13 | Siemens Aktiengesellschaft | Geräteeinheit geeignet für den betrieb im geschützten und/oder offenen betriebszustand sowie zugehöriges verfahren |
US20180293067A1 (en) * | 2017-04-11 | 2018-10-11 | Nio Usa, Inc. | Virtual machine (vm) approach to embedded system hot update |
DE102019200812A1 (de) | 2019-01-23 | 2020-07-23 | Audi Ag | Verfahren zum Schützen einer Hauptfunktion eines Steuergeräts vor einer Behinderung ihres Betriebs durch einen Laufzeitfehler einer Nebenfunktion des Steuergeräts sowie Steuergerät, Kraftfahrzeug und Fahrzeugbatterie |
DE102021130896A1 (de) * | 2020-11-27 | 2022-06-02 | Denso Corporation | Elektronische steuerungseinheit, zeitinformationsbereitstellungsverfahren, zeitinformationsbereitstellungsprogramm und elektronisches steuerungssystem |
Also Published As
Publication number | Publication date |
---|---|
DE102022125711A1 (de) | 2024-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102014201682A1 (de) | Verfahren zur Koexistenz von Software mit verschiedenen Sicherheitsstufen in einem Multicore-Prozessorsystem | |
DE102012009482A1 (de) | Funktional erweiterbares Fahrzeugsteuergerät und Verfahren zum Ergänzen der Funktionalität eines Fahrzeugsteuergeräts | |
WO2005004160A2 (de) | Verfahren zur durchführung eines software-updates eines elektronischen steuergerätes durch eine flash-programmierung über eine serielle schnittstelle und ein entsprechender zustandsautomat | |
DE102017218643A1 (de) | Funktionsmodul, Steuereinheit für ein Betriebsassistenzsystem und Arbeitsvorrichtung | |
EP1804144A1 (de) | Überprüfung des Steuerprogramms eines Steuergerätes für eine Maschine | |
WO2001073279A2 (de) | Verfahren und vorrichtung zur modellierung eines mechatronischen systems in einem kraftfarhzeug | |
WO2008095518A1 (de) | Anwendung einer verteilten diagnosearchitektur in autosar | |
DE102012010723A1 (de) | Diagnoseverfahren und Diagnoseeinrichtung für ein Kraftfahrzeug | |
EP3811261A1 (de) | Kryptografiemodul und betriebsverfahren hierfür | |
WO2024074402A1 (de) | Verfahren zum aktualisieren eines steuergeräts eines fahrzeugs | |
WO2005022382A2 (de) | Verfahren zur installation einer programmkomponente | |
WO2020099023A2 (de) | Steuergerät für eine fahrzeugkomponente, kit umfassend ein steuergerät und eine testereinrichtung, fahrzeug, verfahren zum aktualisieren eines steuergeräts und computerlesbares speichermedium | |
DE102019004612A1 (de) | Verfahren zum Betreiben eines Fahrzeugs mit einem Steuergerät | |
EP4160390B1 (de) | Verfahren und anordnung zur inbetriebnahme einer aktualisierten anwendung für eine industrielle automatisierungsanordnung | |
EP4309033A1 (de) | Computerimplementiertes verfahren und vorrichtung zur automatisierten aktualisierung einer kommunikationseinheit einer steuereinheit eines fahrzeugs | |
DE4401891A1 (de) | Verfahren zum Ändern der Arbeitsweise eines Steuergeräts von Kraftfahrzeugen | |
WO2013152826A1 (de) | Verfahren zum betreiben eines diagnosesystems und diagnosesystem | |
DE102019005545A1 (de) | Verfahren zum Betreiben eines Maschinendatenkommunikationsnetzwerks, sowie Maschinendatenkommunikationsnetzwerk | |
DE102019200812A1 (de) | Verfahren zum Schützen einer Hauptfunktion eines Steuergeräts vor einer Behinderung ihres Betriebs durch einen Laufzeitfehler einer Nebenfunktion des Steuergeräts sowie Steuergerät, Kraftfahrzeug und Fahrzeugbatterie | |
DE102017222267A1 (de) | System und Verfahren zum Aktualisieren von Softwaremodulen mindestens eines Schienenfahrzeugs | |
DE102010053488A1 (de) | Verfahren zum reversiblen, manipulationssicheren Codieren eines Motorsteuergeräts für ein Kraftfahrzeug und Motorsteuergerät | |
DE102021211353A1 (de) | Verfahren zur Inbetriebnahme von Programmpaketen in Fahrzeugen | |
DE102022201857A1 (de) | Verfahren zum Steuern einer Robotervorrichtung | |
DE102022003679A1 (de) | Elektronische Wegfahrsperre für ein Fahrzeug und Verfahren zur Herstellung einer elektronischen Wegfahrsperre | |
DE10354107A1 (de) | Verfahren zur Authentifikation von insbesondere in ein Steuergerät eines Kraftfahrzeugs ladbaren Softwarekomponenten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23783745 Country of ref document: EP Kind code of ref document: A1 |