Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR OPERATING A CONTROL DEVICE, AND CONTROL DEVICE
Document Type and Number:
WIPO Patent Application WO/2022/184407
Kind Code:
A1
Abstract:
The invention relates to a method for operating a control device (110) for a vehicle (100), in which software in a first version (142) provided for operation of the control device and control information (128) are saved, the control device being designed to receive the software, which is in a second version different from the first and is provided for operation of the control device, and to save it in a memory unit (120, 122). The second version is identifiable by an indicator identifying the software, comprising obtaining at least one indicator identifying software to be loaded, checking with reference to the indicator identifying the software to be loaded and the control information whether saving of the software to be loaded is permitted and, if saving of the software to be loaded is permitted, saving the software to be loaded in the memory unit (120, 122).

Inventors:
PEPKE JAN (DE)
Application Number:
PCT/EP2022/053469
Publication Date:
September 09, 2022
Filing Date:
February 14, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
International Classes:
G06F8/65; G07C5/00; G06F8/61
Foreign References:
US20110197187A12011-08-11
US20170060559A12017-03-02
Download PDF:
Claims:
Ansprüche

1. Verfahren zum Betreiben eines Steuergeräts (110) für ein Fahrzeug (100), in dem eine für den Betrieb des Steuergeräts vorgesehene Software (142) in einer ersten Version und eine Kontrollinformation (128) gespeichert ist, wobei das Steuergerät (110) dazu eingerichtet ist, die für den Betrieb des Steuergeräts vorgesehene Software in einer zweiten von der ersten un terschiedlichen Version (140) zu empfangen und in einer Speichereinheit (120, 122) zu speichern, wobei die zweite Version durch eine die Software identifizierende Angabe identifizierbar ist, mit den Schritten:

Erhalten zumindest einer eine aufzuspielende Software (140) identifizie renden Angabe,

Überprüfen anhand der die aufzuspielende Software identifizierenden Angabe und der Kontrollinformation (128), ob ein Speichern der aufzuspie lenden Software zugelassen ist, wenn das Speichern der aufzuspielenden Software zugelassen ist, Speichern der aufzuspielenden Software (140) in der Speichereinheit (120, 122).

2. Verfahren nach Anspruch 1, mit den Schritten:

Empfangen der aufzuspielenden Software (140) von einer steuergeräte externen Quelle (250), oder

Lesen der aufzuspielenden Software aus der Speichereinheit (120) des Steuergeräts.

3. Verfahren nach Anspruch 1 oder 2, wobei das Erhalten der zumindest einen die aufzuspielende Software (140) identifizierenden Angabe umfasst:

Empfangen der zumindest einen die aufzuspielende Software identifizie renden Angabe von einer steuergeräteexternen Quelle (250), oder Lesen der zumindest einen die aufzuspielende Software identifizierenden Angabe aus der Speichereinheit des Steuergeräts.

4. Verfahren nach einem der vorstehenden Ansprüche, wobei die Kontrollin- formation (128) identifizierende Angaben über Software, welche auf das Steuergerät aufgespielt werden darf und/oder welche nicht auf das Steuer gerät aufgespielt werden darf, enthält.

5. Verfahren nach einem der vorstehenden Ansprüche, wobei die Kontrollin- formation (128) eine Altersinformation, welche ein Alter der Kontroll Informa tion angibt, enthält.

6. Verfahren nach einem der vorstehenden Ansprüche, mit den Schritten:

Empfangen der Kontrollinformation (128) von einer steuergeräteexter nen Quelle (250) und Speichern der Kontrollinformation in der Speicherein heit.

7. Verfahren nach Anspruch 6, wobei die Kontrollinformation in kryptographisch verschlüsselter und/oder signierter Form empfangen und/oder gespeichert wird.

8. Steuergerät (110) für ein Fahrzeug (100), das dazu eingerichtet ist, alle Ver fahrensschritte eines Verfahrens nach einem der vorstehenden Ansprüche durchzuführen.

9. Computerprogramm, das ein Steuergerät (110) dazu veranlasst, alle Verfah rensschritte eines Verfahrens nach einem der Ansprüche 1 bis 7 durchzufüh ren, wenn es auf dem Steuergerät (110) ausgeführt wird.

10. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Com puterprogramm nach Anspruch 9.

Description:
Beschreibung

Titel

Verfahren zum Betreiben eines Steuergeräts und Steuergerät

Die vorliegende Erfindung betrifft ein Verfahren zum Betreiben eines Steuerge räts, insbesondere eines Fahrzeugsteuergeräts, sowie ein Steuergerät und ein Computerprogramm zu dessen Durchführung.

Hintergrund der Erfindung

In modernen Fahrzeugen werden immer mehr Steuergeräte eingesetzt, die au ßerdem auch untereinander stärker vernetzt sind. Dabei sind auch Software- o- der Firmware-Updates Over-the-Air (SOTA/ FOTA), bei denen eine neue Version einer Software eines Steuergeräts nicht mehr lokal, sondern über eine drahtlose Datenverbindung auf das Steuergerät aufgespielt wird, möglich.

Offenbarung der Erfindung

Erfindungsgemäß werden ein Verfahren zum Betreiben eines Steuergeräts sowie ein Steuergerät und ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.

Die Erfindung beschäftigt sich mit Steuergeräten für Fahrzeuge (bzw. Fahrzeug steuergeräten) bzw. deren Betrieb und etwaigen Problematiken beim Update von Software. Insbesondere bei komplexeren Steuergerätefunktionen ist eine Viel zahl an Tests nötig, um eine Software bzw. ein System aus mehreren verteilten Steuergeräten vollständig testen zu können. Insbesondere aufgrund der immer stärkeren Vernetzung gibt es nämlich immer mehr potentielle Fehlerquellen, die abgeprüft werden müssen bzw. werden müssten. Daher kann auch risikobasiert nur ein gewisser Umfang der Software getestet und sicherheitsrelevante Soft ware redundant oder in vereinfachter Form plausibilisiert werden.

Dabei gilt, dass neue Software, also eine neue Version einer Software eines Steuergeräts, in der Regel eine erhöhte Wahrscheinlichkeit für unerkanntes Fehlverhalten aufweist. Darum müssten in der Regel aufwändige und langwierige Tests gemacht werden, um eine neue Software bzw. eine neue Version einer Software mit möglichst vielfältigen Umgebungsbedingungen zu prüfen. Es ist je doch nicht auszuschließen, dass selbst dann später im Einsatz noch Fehler auf trete n.

Weitere Risiken ergeben sich durch die gegenseitige Vernetzung, da selbst Software auf anderen Recheneinheiten von einem Update eines Steuergeräts betroffen sein kann bzw. nach einem solchen Update plötzlich selbst Fehlfunktio nen zeigt. Insbesondere wenn Updates an vernetzten Funktionen vorgenommen werden sollen, muss oftmals die Software von vielen Steuergeräten im Verbund erneuert werden, um weiterhin die Kompatibilität zu gewährleisten.

Vor diesem Hintergrund wird im Rahmen der vorliegenden Erfindung nun vorge schlagen, dass ein Steuergerät für ein Fahrzeug (bzw. ein Fahrzeugsteuergerät) über eine Kontrollinformation (z.B. Datenpaket) verfügt, die beim bzw. vor dem Aufspielen einer neuen Software ausgewertet wird, um zu entscheiden, ob die Software aufgespielt werden darf. Eine solche Kontrollinformation kann insbe sondere vorteilhaft zum Ermöglichen und Kontrollieren auch eines Downgrades oder Rollbacks eingesetzt werden. Je nach Beschaffenheit der im Fahrzeug ver bauten Steuergeräte kann ein Downgrade der Software, d.h. das (externe) Auf spielen der bzw. einer Vorgänger-Software, oder ein Rollback, d.h. eine steuer- geräte-interne Wiederherstellung der bzw. einer Vorgänger-Software, eine sinn volle Maßnahme sein, bis eine fehlerfreie neue Version der Software zur Verfü gung steht. Jedoch ist üblicherweise nicht sinnvoll, beliebige frühere Versionen zuzulassen, da diese selbst fehlerbehaftet sein können oder mittlerweile Inkom patibilitäten existieren. Insbesondere ermöglicht nun das Verwenden der Kontroll- Information, die Möglichkeiten für ein Downgrade bzw. Rollback zu kontrollieren und nur bestimmte Softwareversionen zuzulassen bzw. bestimmte Softwarever sionen nicht zuzulassen. Wenn z.B. eine bestimmte Softwareversion dringend aus dem Verkehr gezogen muss, weil diese z.B. ein hohes Sicherheitsrisiko dar stellt (hinsichtlich "safety" oder "security"), wird im Rahmen der Erfindung eine Möglichkeit geschaffen, künftig ein Downgrade bzw. ein Rollback auf diese Ver sion (ebenso wie ein Upgrade darauf) zu verhindern.

Im Einzelnen betrifft die Erfindung ein Verfahren zum Betreiben eines Steuerge räts für ein Fahrzeug, in dem eine für den Betrieb des Steuergeräts vorgesehene Software in einer ersten Version und eine Kontrollinformation gespeichert ist, wobei das Steuergerät dazu eingerichtet ist, die für den Betrieb des Steuergeräts vorgesehene Software in einer zweiten von der ersten unterschiedlichen Version zu empfangen und in einer Speichereinheit zu speichern, wobei die zweite Versi on durch eine die Software identifizierende Angabe identifizierbar ist, umfassend ein Erhalten zumindest einer eine aufzuspielende Software identifizierenden An gabe, ein Überprüfen anhand der die aufzuspielende Software identifizierenden Angabe und der Kontrollinformation, ob ein Speichern der aufzuspielenden Soft ware zugelassen ist, und wenn das Speichern der aufzuspielenden Software zu gelassen ist, ein Speichern der aufzuspielenden Software in der Speichereinheit.

Vorzugsweise enthält die Kontrollinformation identifizierende Angaben, z.B. eine Informationen über Softwareversionen bzw. Revisionen, über Software, welche auf das Steuergerät aufgespielt werden darf (sog. Whitelist) und/oder welche nicht auf das Steuergerät aufgespielt werden darf (sog. Blacklist). Insbesondere können beide Arten von Angaben vorhanden sein oder nur eine der beiden zu sammen mit einer Information, um welche Art von Angabe (d.h. zugelassen oder nicht zugelassen; Whitelist oder Blacklist) es sich handelt. Dann müssen in der Kontrollinformation nicht für beide Arten von Listen Speicherbereiche verfügbar sein, so dass die Kontrollinformation in ihrem Platzbedarf beschränkt bleibt.

Vorzugsweise handelt es sich bei dem Aufspielen um ein Update oder Upgrade, d.h. die neue Software ist jünger (hat insbesondere eine höhere Versionsnummer bzw. Revisionsnummer), oder um ein Downgrade oder Rollback, d.h. die neue Software ist älter (hat insbesondere eine niedrigere Versionsnummer bzw. Revi sionsnummer). Es sei darauf hingewiesen, dass es bei der Erfindung nicht auf das konkrete Identifizierungs- bzw. Versionierungsschema ankommt. Relevant ist lediglich, dass die Software identifizierbar ist.

Insbesondere ist das Steuergerät jedoch dazu eingerichtet, Software in einer neueren Version als die aktuell vorhandene (d.h. Updates) immer zu akzeptieren und aufzuspielen, ältere Versionen (d.h. Downgrades) jedoch nur, wenn diese durch die Kontrollinformation zugelassen sind.

Vorzugsweise wird ein Aufspielen einer neuen Software nur durchgeführt, wenn die Kontrollinformation Daten enthält oder vorhanden ist, d.h. bei Fehlen von die Software identifizierenden Angaben wird durch das Steuergerät das Speichern der Software in der Speichereinheit nicht zugelassen.

Vorzugsweise enthält die Kontrollinformation auch eine Altersinformation (z.B. sog. Freshnesscounter), um Replay Attacken (das zur Verfügung stellen einer al ten, eventuell nicht mehr gültigen Kontrollinformation) zu verhindern. Die Altersin formation kann insbesondere ein Datum beinhalten.

Vorzugsweise wird die Kontrollinformation in verschlüsselter und/oder signierter Form von dem Steuergerät empfangen und/oder in dem Steuergerät gespeichert, um eine zufällige oder bewusste Manipulation zu verhindern. Geeignete Ver- schlüsselungs- und Signaturalgorithmen wie z.B. auf Basis von AES, SHA usw. sind dem Fachmann wohlbekannt.

Die Erfindung bietet eine flexible (die Kontrollinformation bzw. die darin enthalte nen Angaben können jederzeit von (autorisierten) Personen erstellt und auf die aktuellen Erkenntnisse hinsichtlich kritischer Softwareversionen angepasst wer den) sowie eine sichere (Replay-Attacken-Verhinderung, Signierung) Möglichkeit, Up- und Downgrades zu kontrollieren.

Auf diese Weise kann also ein Softwareupdate für ein Steuergerät gefahrlos, bzw. zumindest mit weniger Risiko, erfolgen. Wenn eine Fehlfunktion bei Ausfüh- ren der neuen Softwareversion auftritt oder mehrmals auftritt, kann z.B. aus Si cherheitsgründen auf die vorige bzw. alte Version der Software gewechselt wer den. Auf diese Weise kann der Betrieb zumindest noch weiter aufrechterhalten werden, wenn ggf. auch etwas eingeschränkt (wenn die alte Version z.B. weniger Funktionen aufweist oder andere Fehler, die aber möglicherweise weniger rele vant sind als die Fehler der neuen Version). Damit kann letztlich auch die Anzahl an vorab durchzuführenden Test mit der neuen Softwareversion reduziert wer den.

Die Erfindung eignet sich besonders für Softwareupdates über Funk. Software updates sollen in Zukunft möglichst nicht in einer Werkstatt durchgeführt werden. Stattdessen soll das Fahrzeug die neue Software bzw. neue Softwareversion per Funk- bzw. drahtloser Verbindung ohne nennenswerten Eingriff durch den Nutzer selbst herunterladen und installieren (das erwähnte SOTA/FOTA- Update). Hierzu wird zum Teil ohnehin schon doppelt so viel Speicherplatz im Steuergerät benö tigt, wie für den Betrieb mindestens notwendig vorhanden sein müsste, um die neue Software im Hintergrund in den unbenutzten Speicherplatz herunterzula den. Sobald die neue Software komplett heruntergeladen wurde, kann die neue Software nach einem Neustart verwendet werden. Auf diese Weise können Soft wareupdates vom Nutzer unbemerkt durchgeführt werden. Die Erfindung könnte dort ohne weitere Hardwareveränderungen implementiert werden, wenn z.B. eine frühere Version in dem Steuergerät gespeichert bleibt.

Durch die damit insgesamt weniger auftretenden Fehlfunktionen können Zeit und Aufwand für Tests reduziert werden. Neue Softwareupdates können früher und kostengünstiger in die Fahrzeuge gebracht werden. Dadurch wird es für die Her steller kostengünstiger, Fahrzeuge auch noch nachträglich mit neuen Software funktionen auszustatten. Das ist für den Hersteller vor allem dann interessant, wenn er z.B. neue Daten für Datamining-Anwendungen von möglichst vielen Fahrzeugen einsetzen will und darum auch Softwareänderungen für bereits im Verkehr befindliche Fahrzeuge notwendig werden. Ein erfindungsgemäßes Steuergerät eines Fahrzeugs, ist, insbesondere pro grammtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzu führen.

Auch die Implementierung eines erfindungsgemäßen Verfahrens in Form eines Computerprogramms oder Computerprogrammprodukts mit Programmcode zur Durchführung aller Verfahrensschritte ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Da tenträger zur Bereitstellung des Computerprogramms sind insbesondere magne tische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computer netze (Internet, Intranet usw.) ist möglich.

Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Be schreibung und der beiliegenden Zeichnung.

Die Erfindung ist anhand eines Ausführungsbeispiels in der Zeichnung schema tisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.

Kurze Beschreibung der Zeichnungen

Figur 1 zeigt schematisch erfindungsgemäße Steuergeräte in bevorzugten Aus führungsformen in einem Fahrzeug.

Figur 2 zeigt schematisch einen Ablauf eines erfindungsgemäßen Verfahrens in einer bevorzugten Ausführungsform.

Ausführungsform(en) der Erfindung

In Figur 1 sind schematisch erfindungsgemäße Steuergeräte 110, 112 und 114 in bevorzugten Ausführungsformen in einem Fahrzeug 100 dargestellt. Beispielhaft soll nachfolgend nur das Steuergerät 110 näher erläutert werden, die Steuerge räte 112, 114 können aber gleichartig ausgebildet sein.

Das Steuergerät 110 weist eine Speichereinheit mit mehreren Speicherbereichen 120, 122 auf, einen Prozessor 124 sowie eine Kommunikationsschnittstelle 126, mit der es an ein Kommunikationsmedium wie einen Bus (z.B. einen CAN-Bus) angebunden ist. Die anderen Steuergeräte sind entsprechend an das Kommuni kationsmedium 130 angebunden, sodass darüber Nachrichten ausgetauscht werden können.

Weiterhin verfügt das Fahrzeug über eine Datenschnittstelle 150, bspw. zur Funkübertragung von Daten, beispielsweise zur Kommunikation mit einer ent fernten Recheneinheit, Rechenzentrum, Cloud usw., was durch eine Wolke 250 symbolisiert ist.

Auf dem Steuergerät 110 sind nun zwei Versionen 140 und 142 einer Software, die für den Betrieb des Steuergeräts 110 vorgesehen ist, in jeweils einem der Speicherbereiche 120, 122 abspeicherbar. Die Software kann insbesondere drahtlos über die Schnittstelle 150 empfangen werden bzw. worden sein, oder auch herkömmlich z.B. über ein an den CAN-Bus angeschlossenes Program miergerät. Als Teil der jeweiligen Software oder unabhängig davon enthält das Steuergerät in der Speichereinheit auch zumindest eine Kontrollinformation 128, anhand derer das Steuergerät überprüft, ob ein Speichern von aufzuspielender Software zugelassen ist. Auch die Kontrollinformation ist beispielsweise als Teil einer Software oder unabhängig davon neu auf das Steuergerät aufspielbar.

Beispielsweise kann das Steuergerät dazu eingerichtet sein, Software in einer neueren Version (z.B. mit einer höheren Versionsnummer) als die aktuell vor handene immer zu akzeptieren und aufzuspielen, ältere Versionen jedoch nur, wenn diese durch die Kontrollinformation 128 zugelassen sind. Zum Verhindern von unzulässigen Zugriffen ist das Steuergerät zweckmäßigerweise dazu einge richtet, aufzuspielende Daten (wie z.B. die Software und die Kontrollinformatio- nen) nur in verschlüsselter und/oder signierter Form zu akzeptieren. Geeignete Mechanismen sind dem Fachmann bekannt. In Figur 2 ist schematisch ein Ablauf eines erfindungsgemäßen Verfahrens in ei ner bevorzugten Ausführungsform dargestellt.

In einem Schritt 200 wird das Steuergerät mit einer darin, beispielsweise im Speicherbereich 120 der Speichereinheit, abgespeicherten Software 140 betrie ben.

In einem Schritt 202 kann ein Aufspielen einer anderen Software 142 veranlasst werden, beispielsweise als Update zur Software 140. Dazu wird die neue Soft ware 142 beispielsweise über die Datenschnittstelle 150 in das Fahrzeugsteuer gerät eingespielt und dort beispielsweise im Speicherbereich 122 der Speicher einheit gespeichert. Zusammen mit der Software 142 wird insbesondere auch ei ne aktualisierte Kontrollinformation 128 aufgespielt, welche beispielsweise die frühere Software 140 als zulässigen Downgrade ausweist. Dazu kann die Kon trollinformation 128 beispielsweise eine Liste aller zugelassenen Downgrades (Whitelist) und/oder eine Liste aller nicht zugelassenen Downgrades (Blacklist) enthalten.

In einem Schritt 204 wird das Steuergerät mit der darin abgespeicherten Soft ware 142 betrieben. Die Software 140 kann dann gelöscht werden, wird aber zweckmäßigerweise dann aufgehoben, um notfalls darauf zurückgreifen zu kön nen, wenn sie in der Kontrollinformation als zulässiger Downgrade ausgewiesen ist.

Muss nun beispielsweise auf die frühere bzw. ältere Software 140 zurückgekehrt werden, beispielsweise weil sich im Betrieb der Software 142 gravierende Fehler gezeigt haben, wird in einem Schritt 206 ein Aufspielen der Software 140 als Downgrade zur Software 142 veranlasst. Dies erfolgt üblicherweise von extern, z.B. von Seiten des Steuergeräte- oder Fahrzeugherstellers (innerhalb 250).

Dann prüft das Steuergerät zunächst in einem Schritt 208, ob die Software 140 anhand der Kontrollinformation 128 überhaupt als Downgrade für die Software 142 zugelassen ist. Ist die Software nicht zugelassen, wird sie nicht aufgespielt, beispielsweise wird bereits der Empfang der Software abgelehnt, Schritt 210. Ist die Software jedoch - wie vorliegend 140 - zugelassen, prüft das Steuergerät insbesondere, ob sich diese Software noch in der Speichereinheit des Steuerge räts -wie vorliegend im Speicherbereich 120 - befindet, Schritt 212.

Trifft dies in Schritt 212 zu, wird diese Software, insbesondere nach einem Neu- Start des Steuergeräts, verwendet. Mit dieser Version 140 wird das Steuergerät dann - jedenfalls zunächst - weiterbetrieben, Schritt 214.

Trifft dies in Schritt 212 nicht zu, wird die Software 140 insbesondere über die Datenschnittstelle 150 empfangen und in der Speichereinheit des Steuergeräts abgespeichert, Schritt 216, und insbesondere nach einem Neustart des Steuer geräts, verwendet. Mit dieser Version 140 wird das Steuergerät dann - jedenfalls zunächst - weiterbetrieben, Schritt 214.