-
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 211591 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.
-
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 201682 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 Laufzeitfehler der Software des Speicherbereichs beeinträchtigt nicht ein Ausführen von Software anderer Speicherbereiche.
-
Auch
DE 10 2019 200812 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. Eine 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:
- 1 in einem Blockdiagramm ein Steuergerät nach einer Ausführungsform der Erfindung für ein Fahrzeug in einer geschlossenen Konfiguration;
- 2 in einem Blockdiagramm das in 1 gezeigte Steuergerät in einer offenen Konfiguration.
-
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 11. Die Sicherheitsausführungsumgebung 11 ist ausgebildet, zumindest einen Schlüssel 110 und/oder ein Zertifikat 111, 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.
-
2 zeigt in einem Blockdiagramm das in 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 einem 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 110 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
- 111
- 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
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- DE 102012211591 A1 [0003]
- DE 102014201682 A1 [0005]
- DE 102019200812 A1 [0006]