DE102018200318A1 - Absicherung eines Softwareupdates eines Steuergerätes eines Fortbewegungsmittels - Google Patents

Absicherung eines Softwareupdates eines Steuergerätes eines Fortbewegungsmittels Download PDF

Info

Publication number
DE102018200318A1
DE102018200318A1 DE102018200318.1A DE102018200318A DE102018200318A1 DE 102018200318 A1 DE102018200318 A1 DE 102018200318A1 DE 102018200318 A DE102018200318 A DE 102018200318A DE 102018200318 A1 DE102018200318 A1 DE 102018200318A1
Authority
DE
Germany
Prior art keywords
data set
control unit
record
server
software
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.)
Pending
Application number
DE102018200318.1A
Other languages
English (en)
Inventor
Marion Feldl
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 DE102018200318.1A priority Critical patent/DE102018200318A1/de
Priority to PCT/EP2018/085915 priority patent/WO2019137773A1/de
Priority to US16/762,968 priority patent/US11327842B2/en
Publication of DE102018200318A1 publication Critical patent/DE102018200318A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Abstract

Es werden ein Fortbewegungsmittel (10), ein Server (20) und ein Verfahren zur Absicherung eines Softwareupdates eines Steuergerätes (1) eines Fortbewegungsmittels (10) vorgeschlagen. Das Verfahren umfasst die Schritte:
• Senden (100) eines einen aktuellen Software -Stand des Steuergerätes (1) repräsentierenden ersten Datensatzes durch das Fortbewegungsmittel (10) an einen Server (20),
• Speichern (200) des ersten Datensatzes im Server (20),
• Ermitteln (300), dass ein Softwareupdate des Steuergerätes (1) zu erfolgen hat,
• Erstellen (400) eines einen Soll- Software-Stand des Steuergerätes (1) repräsentierenden zweiten Datensatzes in Abhängigkeit des ersten Datensatzes durch den Server (20), und
• Senden (600) des ersten Datensatzes und des zweiten Datensatzes und eines Softwarepaketes zur Aktualisierung des Steuergerätes (1) entsprechend dem zweiten Datensatz von dem Server (20) an das Fortbewegungsmittel (10).

Description

  • Die vorliegende Erfindung betrifft ein Verfahren, ein Fortbewegungsmittel sowie einen Server zur Absicherung eines Softwareupdates eines Steuergerätes eines Fortbewegungsmittels. Insbesondere betrifft die vorliegende Erfindung eine in Anbetracht einer Hardwarekonfiguration größtmögliche Sicherheit beim Aktualisieren von Softwarebestandteilen von Steuergeräten.
  • Moderne Fortbewegungsmittel weisen erhebliche Datenmengen auf, welche mitunter zu verändern bzw. zu ergänzen sind, wenn Komponenten zu Sicherheitszwecken oder funktionalen Ergänzungen sowie für Bugfixes zu aktualisieren sind. Heutzutage ist es nur möglich/erlaubt, in kontrollierten Umgebungen (z.B. autorisierte Fachwerkstatt) eine Fahrzeugprogrammierung von sicherheitsrelevanten (ASIL-relevanten) Umfängen durchzuführen. Nur nichtsicherheitskritische Umfänge können derzeit über ein entsprechendes Back-End in einem auf der Straße befindlichen Fahrzeug programmiert/geupdatet werden. Ein Nachteil des oben genannten Standes der Technik besteht darin, dass Updates der Software bei sicherheitsrelevanten-ASIL-relevanten Umfängen nur unter kontrollierten Bedingungen durchgeführt werden dürfen. Insbesondere sind hierzu dezidierte Rechenmaschinen/Laptops zu verwenden und eine Kabelverbindung (z.B. über eine OBD-Buchse) muss zur Datenübertragung hergestellt werden. Somit sind keine Funktionsverbesserungen von ASIL-relevanten Funktionen über ein zur Verfügung stehendes Back-End möglich. Sind Sicherheitslücken in bestehenden Fahrzeugen bekannt geworden, müssen Rückrufe organisiert werden, was aufwendig und teuer ist. Außerdem ist es nicht möglich, neue Funktionalitäten, welche ASIL-relevant sind, in ein Fahrzeug zu laden, welches sich auf der Straße/„im Feld“ befindet. Somit ist es auch nicht möglich, dass der Kunde im Nachgang den Sonderausstattungsumfang bei sicherheitsrelevanten/ASIL-relevanten Funktionen (z.B. Fahrerassistenzsysteme) erhöht. Sofern sicherheitsrelevante Umfänge in auf der Straße befindliche Fahrzeuge über ein Back-End geladen werden sollen, müsste die E/E-Infrastruktur des gesamten Fahrzeugs ASIL-befähigt sein, was sehr aufwendig und teuer ist. Dies ist insbesondere der Tatsache geschuldet, dass zur Absicherung der Softwarestände auf verschiedenen Steuergeräten eine komplette Überprüfung der tatsächlich installierten Daten erforderlich ist. Zudem ist für ASIL-relevante Hardware eine abgesicherte Kommunikation und zur redundanten Sicherung von Daten die doppelte Speicherkapazität erforderlich. Insbesondere für komplexe Head Unit-Steuergeräte ist eine derartige Architektur derzeit nicht wirtschaftlich. Es ist eine Aufgabe der vorliegenden Erfindung, den vorstehend genannten Bedarf zu stillen.
  • Die vorstehend genannte Aufgabe wird erfindungsgemäß durch ein Verfahren zur Absicherung eines Softwareupdates eines Steuergerätes eines Fortbewegungsmittels gelöst. Das Softwareupdate kann als Aktualisierung eines Betriebssystems des Steuergerätes erfolgen. Alternativ oder zusätzlich können einzelne Funktionen oder eine Funktionsvielzahl durch das Softwareupdate geändert/aktualisiert werden. Das Steuergerät befindet sich während der Aktualisierung seiner Software in das Bordnetz des Fortbewegungsmittels eingebunden. Zur Absicherung des Softwareupdates wird in einem ersten Schritt ein einen aktuellen Softwarestand des Steuergerätes repräsentierender erster Datensatz durch das Fortbewegungsmittel an einen Server (auch „Back-End“) gesendet. Das Senden kann drahtgebunden und/oder drahtlos erfolgen. Der erste Datensatz kann beispielsweise eine Steuergeräte-Verbau-Tabelle (SVT) umfassen, welche die Softwarestände mehrerer Steuergeräte des Fahrzeugbordnetzes zumindest jedoch des oben genannten Steuergerätes kennzeichnet. Der Server kann insbesondere ein stationärer Server sein, welcher durch einen Hersteller des Fortbewegungsmittels und/oder durch ihn beauftragte Servicegesellschaften betrieben wird. Insbesondere kann eine Autorisierung des Fortbewegungsmittels zur Kommunikation mit dem Server im Fortbewegungsmittel vordefiniert sein. Mit anderen Worten kann eine Kennung des Fortbewegungsmittels durch den Server automatisch abgefragt werden, bevor der Server in einem nächsten Schritt den ersten Datensatz empfängt und speichert. Hierdurch wird dem Server mitgeteilt, welche Daten im Bordnetz des Fortbewegungsmittels vorliegen. Insbesondere wird dem Server mitgeteilt, welche Stände die Datenpakete des Bordnetzes des Fortbewegungsmittels aufweisen. Zumindest jedoch erhält der Server Informationen, welche ihn in die Lage versetzen, zu erkennen, ob eine Aktualisierung zumindest eines Steuergerätes des Bordnetzes des Fortbewegungsmittels möglich und/oder sinnvoll erscheint. Dies kann der Server anhand des ersten Datensatzes ermitteln, in welchen beispielsweise die oben genannte SVT repräsentiert, insbesondere enthalten, ist. In Abhängigkeit des ersten Datensatzes kann der Server nun einen zweiten Datensatz erstellen, welcher einen Soll-Software-Stand des Steuergerätes repräsentiert. Insbesondere kann die Software im zweiten Datensatz enthalten sein. Alternativ oder zusätzlich kann die Art und Weise, in welcher ein Softwaredatensatz durch das Steuergerät oder durch die Steuergeräte zur Aktualisierung zu verwenden ist, durch den zweiten Datensatz gekennzeichnet werden. Der zweite Datensatz kann daher eine Soll-SVT umfassen, zumindest jedoch einen Hash-Wert für die aktualisierte SVT umfassen. Anschließend wird der zweite Datensatz an das Fortbewegungsmittel gesendet, um die Aktualisierung des Steuergerätes entsprechend dem zweiten Datensatz vorzunehmen. Der zweite Datensatz kann durch den Server an das Fortbewegungsmittel gesendet werden. Insbesondere können auch der erste Datensatz und/oder ein Softwarepaket zur Aktualisierung des Steuergerätes an das Fortbewegungsmittel gesendet werden. Mittels des ersten Datensatzes kann das Fortbewegungsmittel überprüfen, ob der zunächst an den Server gesandte erste Datensatz mit dem empfangenen ersten Datensatz übereinstimmt. Auf diese Weise kann die Kommunikation zwischen dem Fortbewegungsmittel und dem Server auf eine einfache Art und Weise überprüft werden. Wird beim Abgleich des gesendeten ersten Datensatzes mit dem empfangenen Datensatz im Steuergerät festgestellt, dass keine Unterschiede bestehen, kann von einer hinreichend sicheren Übertragung auch des zweiten Datensatzes und/oder des Softwarepaketes ausgegangen werden. Ergeben sich Unterschiede zwischen dem vom Steuergerät gesendeten ersten Datensatz und dem vom Steuergerät empfangenen ersten Datensatz, kann das oben genannte Verfahren wiederholt werden, um sicherzugehen, dass der vom Server empfangene erste Datensatz keine Übertragungsfehler aufweist und auch der vom Steuergerät empfangene erste Datensatz keinen Übertragungsfehler aufweist.
  • Anders ausgedrückt besteht ein Kerngedanke der vorliegenden Erfindung darin, dass zunächst aus den einzelnen Steuergeräte-Verbau-Kennungen (SVK) durch das erste Steuergerät (z.B. die Media Graphic Unit, MGU) eine tatsächliche SVT (SVT_Ist) gebildet wird, die an das Back-End/den Server gesendet wird. Das Back-End überprüft nun, ob für die bestehende Hardware-Konfiguration ein Softwareupdate vorhanden ist. Der aktualisierte Softwarestand wird als SVT Soll zurück an das Steuergerät gesendet. Zusätzlich können die Soll- und Ist-Datensätze/Hash-Werte mit jeweils eindeutigen Kennzeichnungen versehen und an das Steuergerät geschickt werden. Hierbei können zyklische Redundanzprüfungen (CRC) über die Datensätze gebildet werden. Die Kennzeichnungen und die CRCs dienen dazu, das Zwischenspeichern der sicherheitsrelevanten Daten auf einem Steuergerät zu ermöglichen, welches nicht ASIL-konform ist. Derartige Steuergeräte werden auch als QM (Qualitätsmanagement)- abgesicherte Steuergeräte bezeichnet. Dadurch können durch ein Steuergerät, welches beispielsweise als Body Domain Controller ausgestaltet ist, alle sicherheitsrelevanten Fehler des nicht-ASIL-konformen Steuergerätes erkannt werden. Letzteres kann beispielsweise Hashwerte als Ist- und Soll-Datensätze speichern, die Steuergeräte des Fahrzeuginformationsbordnetzes flashen und optional anschließend die Soll-SVT löschen. Anschließend wird eine aktuelle SVT (SVT nach RSU) erstellt und auch ihr Hash-Wert gebildet. Dies erfolgt beispielsweise ohne Kennzeichnung der nach dem Remote Software Update erstellten SVT. Jedoch kann hierbei erneut ein CRC erstellt werden, um auch die Übertragung vom ersten Steuergerät (ASIL-non-konform) zum dritten Steuergerät (ASIL-konform) abzusichern. Die ermittelten Hash-Werte können nun vom ersten Steuergerät (z.B. MGU) an das dritte Steuergerät (z. B. BDC) geschickt werden und das BDC kann einen Vergleich der Hash-Werte durchführen und überprüfen, ob die Kennzeichnungen und CRCs in Ordnung sind. Auf diese Weise kann sichergestellt werden, dass alle Steuergeräte des Fahrzeugbordnetzes auf dem richtigen Stand sind, ohne dass die geflashten Daten selbst überprüft werden müssen. Da im Stand der Technik stets eine kabelgebundene Überprüfung der geflashten Daten selbst erforderlich war, konnte eine Aktualisierung der ASIL-relevanten Hardware nicht als Remote Software Update (RSU) erfolgen. Auf diese Weise trägt die vorliegende Erfindung zur Flexibilität einer Funktionsmehrung und/oder Softwareaktualisierung der Hardware eines Steuergerätebordnetzes bei. Daher wird eine Absicherung der Datenversion ohne konkrete Überprüfung der geflashten Daten ermöglicht. Zusätzlich wird ein nicht-ASIL-konformes Steuergerät in einer sicherheitsrelevanten Übertragungskette benutzt und dennoch können alle sicherheitsrelevanten Fehler im dritten Steuergerät erkannt werden.
  • Die im Back-End-Server erstellten Datenpakete können in einem gemeinsamen Datenpaket zusammengefasst werden, über welches eine gemeinsame Checksumme gebildet und diese an das Fortbewegungsmittel gesendet wird. Auf diese Weise können sowohl die vom ersten Steuergerät gesendeten und empfangenen ersten Datensätze als auch der korrekte Empfang des zweiten Datensatzes vom Steuergerät verifiziert werden.
  • Um den Aufwand für die Datenkommunikation/den Datenverkehr möglichst gering zu halten, kann der erste Datensatz einen Hash-Wert für eine Steuergeräte-Verbau-Tabelle darstellen. Die Übertragung eines Hash-Wertes ist mit einem geringeren zu transferierenden Datenvolumen verbunden und kann daher den erfindungsgemäßen Prozess beschleunigen.
  • Der vom Server an das Fortbewegungsmittel gesandte erste Datensatz sowie der zweite Datensatz und insbesondere auch das Softwarepaket können in vordefinierter Weise gekennzeichnet werden, um dem Fortbewegungsmittel ihre jeweilige Identifikation zu ermöglichen. Mit anderen Worten werden der erste Datensatz, der zweite Datensatz und das Softwarepaket vom Server in einer Art und Weise gekennzeichnet, welche dem Bordnetz des Fortbewegungsmittels, insbesondere dem Steuergerät bekannt ist.
  • Sämtliche zwischen dem Steuergerät und dem Server bzw. zwischen dem Server und dem Steuergerät auszutauschende Datensätze können einer zyklischen Redundanzprüfung (CRC) unterzogen werden, um auf diese Weise eine bestmögliche Erkennung von Übertragungsfehlern sicherzustellen.
  • Um eine weitreichende Aktualisierung der Software innerhalb des Fahrzeugbordnetzes mittels des ersten Steuergerätes vornehmen zu können, kann der erste Datensatz neben dem zweiten Datensatz durch das Steuergerät gespeichert werden. Anschließend können einzelne (insbesondere sämtliche) Steuergeräte des Fortbewegungsmittels durch das erste Steuergerät geflasht werden. Auf diese Weise kann die hohe Rechenleistung des ersten Steuergerätes verwendet werden, während im Stand der Technik stets ein externes Datenverarbeitungsgerät zum Flashen der Steuergeräte des Fortbewegungsmittels erforderlich war. Erfindungsgemäß kann dieser Prozess sogar von einem nicht-ASIL-konformen ersten Steuergerät durchgeführt werden, wodurch eine vereinfachte Hardwarearchitektur und eine kostengünstigere Hardware verwendet werden können.
  • Anschließend kann durch das Steuergerät die Software der geflashten weiteren Steuergeräte abgefragt werden. Mit anderen Worten kann eine Kennung der aktualisierten Softwarestände der geflashten weiteren Steuergeräte abgefragt und in Abhängigkeit von Antworten der weiteren Steuergeräte ein dritter Datensatz erstellt werden. Der dritte Datensatz repräsentiert einen tatsächlichen (neuen) Software-Stand des Steuergerätes. Dieser kann beispielsweise mit dem zweiten Datensatz verglichen werden, welcher den Soll-Software-Stand des Steuergerätes repräsentiert. Ergibt der Abgleich des zweiten Datensatzes mit dem dritten Datensatz einen Unterschied, ist ein ordnungsgemäßer Aktualisierungsvorgang der Software des Steuergerätes fehlgeschlagen. Ergibt der Abgleich eine Übereinstimmung des zweiten Datensatzes mit dem dritten Datensatz, ist die Software erfolgreich aktualisiert worden.
  • Weiter bevorzugt kann ein Hashwert für den dritten Datensatz erstellt werden. Anschließend kann ein jeweiliger Hashwert für den ersten Datensatz, den zweiten Datensatz und den dritten Datensatz an ein zweites Steuergerät (z.B. Body Domain Controller, BDC) des Fortbewegungsmittels gesendet werden. Die Hashwerte repräsentieren einen Prüfwert, mittels dessen die Datensätze miteinander verglichen und auf Integrität geprüft werden können. Insbesondere kann in einem ersten Schritt geprüft werden, ob der erste Datensatz als „bisheriger Datensatz“ und/oder der zweite Datensatz als „Soll-Datensatz“ und/oder der dritte Datensatz als „unbestimmt“ klassifiziert/benannt ist. Der dritte Datensatz kann insbesondere deshalb als „unbestimmt“ verstanden werden, da er vom nicht-ASIL-konformen ersten Steuergerät kein entsprechender Hash-Wert zugeordnet werden kann. Sofern die obige Klassifizierung des ersten, des zweiten und des dritten Datensatzes erfolgreich ist, kann in einem nächsten Schritt festgestellt werden, dass das Softwarepaket erfolgreich empfangen und/oder installiert wurde. Ist dies hingegen nicht der Fall, kann in einem weiteren Schritt verhindert werden, dass das Fortbewegungsmittel in Betrieb genommen bzw. für eine Weiterfahrt verwendet werden kann.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird ein Fortbewegungsmittel vorgeschlagen, welches gemäß dem oben genannten Verfahren hinsichtlich einer Softwareaktualisierung abgesichert werden kann. Das Fortbewegungsmittel umfasst ein Steuergerät und eine Sendeempfangseinrichtung. Das Steuergerät kann das zu aktualisierende Steuergerät sein. Die Sendeempfangseinrichtung kann für die Kommunikation mit dem Server verwendet werden. Sie ist eingerichtet, einen ersten Datensatz an einen Server zu senden, welcher einen aktuellen Software-Stand des Steuergerätes des Fortbewegungsmittels repräsentiert. Nachdem der Server entsprechend dem oben genannten Verfahren den ersten Datensatz empfangen hat, kann er den ersten Datensatz speichern, die Notwendigkeit eines Softwareupdates des Steuergerätes des Fortbewegungsmittels ermitteln und einen zweiten Datensatz erstellen, welcher einen Soll-Softwarestand des Steuergerätes repräsentiert. Dies erfolgt in Abhängigkeit des ersten Datensatzes. Insbesondere kann der Server einen Hash-Wert für die durch den ersten Datensatz repräsentierte aktualisierte SVT erstellen. Anschließend sendet der Server einen zweiten Datensatz und ein Softwarepaket zur Aktualisierung des Steuergerätes entsprechend dem zweiten Datensatz an das Fortbewegungsmittel. Die Sendeempfangseinheit empfängt den zweiten Datensatz, das Softwarepaket und insbesondere auch den ersten Datensatz, wodurch das Fortbewegungsmittel in die Lage versetzt wird, die Merkmale, Merkmalskombinationen und Vorteile des oben genannten Verfahrens (anteilig) zu verwirklichen. Mit anderen Worten ist das Fortbewegungsmittel eingerichtet, als Fortbewegungsmittel in einem erfindungsgemäßen Verfahren verwendet zu werden.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung wird ein Server zur Absicherung eines Softwareupdates eines Steuergerätes eines Fortbewegungsmittels vorgeschlagen. Der Server umfasst eine Auswerteeinheit, ein Speichermittel und eine Sendeempfangseinrichtung. Die Auswerteeinheit kann als programmierbarer Prozessor, als Mikrocontroller o.ä. ausgestaltet sein. Die Sendeempfangseinrichtung kann eine drahtlos und/oder drahtgebunden operierende Kommunikationseinrichtung umfassen. Sie ist eingerichtet, einen ersten Datensatz vom Fortbewegungsmittel zu empfangen, welcher einen aktuellen Softwarestand des Steuergerätes bzw. des Bordnetzes des Fortbewegungsmittels repräsentiert. Die Auswerteeinheit des Servers ist eingerichtet, den ersten Datensatz im Speichermittel zu speichern, zu ermitteln, dass ein Softwareupdate des Steuergerätes des Fortbewegungsmittels zu erfolgen hat und einen zweiten Datensatz in Abhängigkeit des ersten Datensatzes zu erstellen, welcher einen Soll-Software-Stand des Steuergerätes des Fortbewegungsmittels repräsentiert. Der zweite Datensatz kann auch als Soll-SVT bzw. als deren Hash-Wert verstanden werden. Die Sendempfangseinrichtung ist weiter eingerichtet, den zweiten Datensatz und ein Softwarepaket zur Aktualisierung des Steuergerätes entsprechend dem zweiten Datensatz an das Fortbewegungsmittel zu senden. Hierbei kann auch der erste Datensatz bzw. eine Kopie desselben an das Fortbewegungsmittel gesendet werden, damit die ordnungsgemäße Kommunikation durch einen Vergleich des gesendeten ersten Datensatzes und des empfangenen ersten Datensatzes durch das Fortbewegungsmittel geprüft werden kann.
  • Weitere Einzelheiten, Merkmale und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung und den Figuren. Es zeigen:
    • 1 eine schematische Darstellung eines Ausführungsbeispiels eines erfindungsgemäßen Fortbewegungsmittels in der Kommunikation mit einem Ausführungsbeispiel eines erfindungsgemäßen Servers bei der Ausführung eines Ausführungsbeispiels eines erfindungsgemäßen Verfahrens zur Absicherung eines Softwareupdates und
    • 2 ein Flussdiagramm veranschaulichend Schritte eines Ausführungsbeispiels eines erfindungsgemäßen Verfahrens zur Absicherung eines Softwareupdates.
  • 1 zeigt einen PKW 10 als Ausführungsbeispiel eines erfindungsgemäßen Fortbewegungsmittels, welcher über eine mit einer Antenne 6 verbundene Sendeempfangseinrichtung 4 mit einem Funkturm 7 zu kommunizieren im Stande ist. Die Sendeempfangseinrichtung 4 ist mit einem ersten Steuergerät in Form einer Media-Graphic-Unit (MGU) 1 informationstechnisch verbunden, welche ihrerseits mit einem Datenspeicher 5 verbunden ist. Zusätzlich verfügt die MGU 1 über leitungsgebundene Informationskanäle zu ASIL-konformen zweiten Steuergeräten in Form eines Body Domain Controllers 2 bzw. eines weiteren Steuergerätes 3. Die nicht ASIL-konforme MGU 1 kann zur Aktualisierung der Steuergeräte 2, 3 entsprechend dem erfindungsgemäßen Verfahren eine aktuelle SVT mit Hilfe der Steuergeräte 2, 3 erstellen und als ersten Datensatz an den Server 20 senden. Der erste Datensatz kann alternativ oder zusätzlich auch als Hash-Wert der aktuellen SVT ausgestaltet sein. Anhand des mittels des Funkturms 7 und der Sendeempfangseinrichtung 8 empfangenen ersten Datensatzes kann die Auswerteeinheit 9 des Servers 20 ermitteln, ob im Speichermittel 11 ein aktuellerer Softwarestand für den PKW 10 verfügbar ist. Sofern dies der Fall ist, ist die Auswerteeinheit 9 des Servers 20 eingerichtet, die oben bereits beschriebenen Schritte auszuführen, auf welche in Verbindung mit 2 genauer eingegangen wird.
  • 2 zeigt Schritte eines Ausführungsbeispiels eines erfindungsgemäßen Verfahrens zur Absicherung einer Softwareaktualisierung eines Steuergerätes eines Fortbewegungsmittels. In Schritt 100 wird ein erster Datensatz durch ein Fortbewegungsmittel an einen Server gesandt, welcher einen aktuellen Software-Stand des Steuergerätes bzw. sämtlicher Steuergeräte des Fortbewegungsmittels repräsentiert. Mit anderen Worten kann der erste Datensatz als Steuergeräte-Verbau-Tabelle der erfindungsgemäß potenziell zu aktualisierenden Steuergeräte des Informationsbordnetzes des Fortbewegungsmittels verstanden werden. Anschließend wird in Schritt 200 der erste Datensatz vom Server empfangen und in einem Speichermittel desselben gespeichert. In Schritt 300 ermittelt der Server anhand des ersten Datensatzes, dass ein Softwareupdate des Steuergerätes des Fortbewegungsmittels zu erfolgen hat. Anschließend wird in Schritt 400 ein zweiter Datensatz erstellt, welcher in Abhängigkeit des ersten Datensatzes einen Soll-Software-Stand des Steuergerätes repräsentiert. Der zweite Datensatz kann auch als Soll-SVT bzw. als deren Hash-Wert verstanden werden. In Schritt 500 wird anschließend eine zyklische Redundanzprüfung bezüglich des ersten und des zweiten Datensatzes ausgeführt. In Schritt 600 werden der erste Datensatz, der zweite Datensatz und ein Softwarepaket zur Aktualisierung des Steuergerätes, bezüglich dessen ebenfalls eine CRC ausgeführt worden sein kann, von dem Server an das Fortbewegungsmittel gesendet. In Schritt 700 werden der erste Datensatz und der zweite Datensatz durch das Steuergerät des Fortbewegungsmittels gespeichert. In Schritt 800 werden die durch den zweiten Datensatz adressierten Steuergeräte des Fortbewegungsmittels durch das Steuergerät geflasht. Zur Überprüfung, ob die Aktualisierung erfolgreich war, wird anschließend in Schritt 900 von den geflashten weiteren Steuergeräten abgefragt, welche Softwarestände diese nun aufweisen. In Abhängigkeit der Antworten der weiteren Steuergeräte wird in Schritt 1000 ein dritter Datensatz erstellt, welcher einen tatsächlichen Software-Stand des Steuergerätes und der sämtlichen Steuergeräte repräsentiert. Mit anderen Worten wird ein Datensatz erstellt, welcher im Falle eines erfolgreichen Softwareupdates identisch dem zweiten Datensatz ist. Durch einen einfachen Vergleich des dritten Datensatzes mit dem zweiten Datensatz kann auf diese Weise ermittelt werden, ob der Soll-Software-Stand des Fortbewegungsmittels erfolgreich hergestellt wurde. In Schritt 1100 wird ein Hash-Wert für den dritten Datensatz ermittelt und in Schritt 1200 jeweilige Hash-Werte für den ersten, den zweiten und den dritten Datensatz an ein zweites Steuergerät des Fortbewegungsmittels gesendet. Das zweite Steuergerät kann insbesondere ein ASIL-konformes Steuergerät (z.B. ein Body Domain Controller, BDC) sein. In Schritt 1300 wird durch das ASIL-konforme zweite Steuergerät jeder empfangene Datensatz daraufhin geprüft, ob zumindest einer als „alt“ und/oder einer als „soll“ und/oder einer als „unbestimmt“ klassifiziert ist. Wie oben beschrieben kann die vorgenannte Klassifikation für jeweilige Hash-Werte oder jeweilige SVTs entsprechend gelten und in diesem Schritt überprüft werden. Sofern die Prüfung der Datensätze bzw. die Klassifikation der Datensätze erfolgreich vorgenommen wurde, wird in Schritt 1400 festgestellt, dass das Softwarepaket erfolgreich empfangen und installiert wurde. Andernfalls wird in Schritt 1500 das Gegenteil festgestellt und eine Weiterfahrt des Fortbewegungsmittels unterbunden. Zumindest kann ein Funktionsumfang des Fortbewegungsmittels, welcher aufgrund der fehlerhaften Softwareaktualisierung nachteilige Auswirkungen haben könnte, eingeschränkt oder deaktiviert.
  • Auf diese Weise kann trotz der Tatsache, dass an der Aktualisierung eines ASIL-konformen Steuergerätes ein ASIL-non-konformes Steuergerät beteiligt war, eine den Sicherheitserfordernissen ASIL-konformer Steuergeräte gerecht werdendes Absichern von Softwareaktualisierungen vorgenommen werden.
  • Bezugszeichenliste
  • 1
    (QM- bzw.- ASIL-non-konformes) Steuergerät
    2
    zweites Steuergerät/BDC
    3
    weiteres Steuergerät
    4
    Sendeempfangseinrichtung
    5
    Datenspeicher
    6
    Antenne
    7
    Funkturm
    8
    Sendeempfangseinrichtung
    9
    Auswerteeinheit
    10
    PKW
    11
    Datenspeicher
    20
    Server
    100-1500
    Verfahrensschritte

Claims (11)

  1. Verfahren zur Absicherung eines Softwareupdates eines Steuergerätes (1) eines Fortbewegungsmittels (10) umfassend die Schritte: • Senden (100) eines einen aktuellen Software -Stand des Steuergerätes (1) repräsentierenden ersten Datensatzes durch das Fortbewegungsmittel (10) an einen Server (20), • Speichern (200) des ersten Datensatzes im Server (20), • Ermitteln (300), dass ein Softwareupdate des Steuergerätes (1) zu erfolgen hat, • Erstellen (400) eines einen Soll-Software -Stand des Steuergerätes (1) repräsentierenden zweiten Datensatzes in Abhängigkeit des ersten Datensatzes durch den Server (20), und • Senden (600) des ersten Datensatzes, des zweiten Datensatzes und eines Softwarepaketes zur Aktualisierung des Steuergerätes (1) entsprechend dem zweiten Datensatz von dem Server (20) an das Fortbewegungsmittel (10).
  2. Verfahren nach Anspruch 1, wobei der erste Datensatz einen Hash-Wert für eine Steuergeräte-Verbau-Tabelle, nachfolgend auch „SVT“ genannt, im Server (20) umfasst, insbesondere darstellt.
  3. Verfahren nach Anspruch 1 oder 2, wobei das Ermitteln (300), dass ein Softwareupdate des Steuergerätes (1) zu erfolgen hat, anhand einer SVT und/oder im Server (20) erfolgt.
  4. Verfahren nach einem der vorstehenden Ansprüche weiter umfassend den Schritt • Ausführen (500) einer zyklischen Redundanzprüfung (CRC) bezüglich des i. ersten Datensatzes und/oder ii. zweiten Datensatzes und/oder iii. Softwarepaketes.
  5. Verfahren nach einem der vorstehenden Ansprüche weiter umfassend die Schritte • Speichern (700) des ersten Datensatzes und des zweiten Datensatzes durch das Steuergerät (1) und • Flashen (800) mehrerer weiterer Steuergeräte (2, 3) des Fortbewegungsmittels (10) durch das Steuergerät (1).
  6. Verfahren nach Anspruch 5 weiter umfassend • Abfragen (900) aktueller Softwarestände der durch das Steuergerät (1) geflashten weiteren Steuergeräte (2, 3) und in Abhängigkeit von Antworten der weiteren Steuergeräte (3) • Erstellen (1000) eines einen tatsächlichen Software -Stand des Steuergerätes (1) repräsentierenden dritten Datensatzes.
  7. Verfahren nach Anspruch 6 weiter umfassend die Schritte • Erstellen (1100) eines Hash-Wertes für den dritten Datensatz und • Senden (1200) eines jeweiligen Hash-Wertes für ◯ den ersten Datensatz, ◯ den zweiten Datensatz und ◯ den dritten Datensatz an ein zweites Steuergerät (2), insbesondere einen Body Domain Controller, des Fortbewegungsmittels (10).
  8. Verfahren nach Anspruch 7 weiter umfassend den Schritt - Prüfen (1300) durch das zweite Steuergerät (2) der empfangenen Datensätze daraufhin, ob einer als „alt“, und/oder einer als „soll“ und/oder einer als „unbestimmt“ klassifiziert ist.
  9. Verfahren nach Anspruch 8 weiter umfassend die Schritte • sofern die Prüfung der Datensätze erfolgreich ist, Feststellen (1400), dass das Softwarepaket erfolgreich empfangen wurde, und • andernfalls Verhindern (1500) einer Weiterfahrt des Fortbewegungsmittels (10).
  10. Fortbewegungsmittel umfassend - ein Steuergerät (1), und - eine Sendeempfangseinrichtung (4), wobei - die Sendeempfangseinrichtung (4) eingerichtet ist, - einen einen aktuellen Software -Stand des Steuergerätes (1) repräsentierenden ersten Datensatz an einen Server (20) zu senden, und - den ersten Datensatz, einen zweiten Datensatz und ein Softwarepaket zur Aktualisierung des Steuergerätes (1) entsprechend dem zweiten Datensatz vom Server (20) zu empfangen.
  11. Server zur Absicherung eines Softwareupdates eines Steuergerätes (1) eines Fortbewegungsmittels (10) umfassend: - eine Auswerteeinheit (9), - ein Speichermittel (11) und - eine Sendeempfangseinrichtung (8), wobei die Sendeempfangseinrichtung (8) eingerichtet ist • einen einen aktuellen Software -Stand des Steuergerätes (1) repräsentierenden ersten Datensatz vom Fortbewegungsmittel (10) zu empfangen, • die Auswerteeinheit (9) eingerichtet ist, - den ersten Datensatz im Speichermittel (11) zu speichern, - zu ermitteln, dass ein Softwareupdate des Steuergerätes (1) zu erfolgen hat, und - einen einen Soll- Software -Stand des Steuergerätes (1) repräsentierenden zweiten Datensatz in Abhängigkeit des ersten Datensatzes zu erstellen, und • die Sendeempfangseinrichtung (8) eingerichtet ist, den ersten Datensatz, den zweiten Datensatz und ein Softwarepaket zur Aktualisierung des Steuergerätes (1) entsprechend dem zweiten Datensatz an das Fortbewegungsmittel (10) zu senden.
DE102018200318.1A 2018-01-11 2018-01-11 Absicherung eines Softwareupdates eines Steuergerätes eines Fortbewegungsmittels Pending DE102018200318A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102018200318.1A DE102018200318A1 (de) 2018-01-11 2018-01-11 Absicherung eines Softwareupdates eines Steuergerätes eines Fortbewegungsmittels
PCT/EP2018/085915 WO2019137773A1 (de) 2018-01-11 2018-12-19 Absicherung eines softwareupdates eines steuergerätes eines fortbewegungsmittels
US16/762,968 US11327842B2 (en) 2018-01-11 2018-12-19 Backing up a software update of a control device of transport vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018200318.1A DE102018200318A1 (de) 2018-01-11 2018-01-11 Absicherung eines Softwareupdates eines Steuergerätes eines Fortbewegungsmittels

Publications (1)

Publication Number Publication Date
DE102018200318A1 true DE102018200318A1 (de) 2019-07-11

Family

ID=64870490

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018200318.1A Pending DE102018200318A1 (de) 2018-01-11 2018-01-11 Absicherung eines Softwareupdates eines Steuergerätes eines Fortbewegungsmittels

Country Status (3)

Country Link
US (1) US11327842B2 (de)
DE (1) DE102018200318A1 (de)
WO (1) WO2019137773A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022198527A1 (zh) * 2021-03-24 2022-09-29 华为技术有限公司 终端升级的方法及装置
DE102022123487A1 (de) 2022-09-14 2024-03-14 Dr. Ing. H.C. F. Porsche Aktiengesellschaft System, Verfahren und Computerprogrammprodukt zum kontrollierten Updaten einer Software für eine Steuerungseinrichtung

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022128804A1 (de) 2022-10-31 2024-05-02 Audi Aktiengesellschaft Verfahren und System zum Aktualisieren einer Betriebssoftware von Teilkomponenten eines Kraftfahrzeugs

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69833992T2 (de) * 1997-07-09 2007-04-05 Vitatron Medical B.V. Herzschrittmachersystem mit verbesserter Programmodifizierungsfähigkeit
DE102008021030A1 (de) * 2008-04-24 2009-10-29 Volkswagen Ag Verfahren zum Betreiben eines Fahrzeugs sowie entsprechende Vorrichtung und entsprechendes Fahrzeug
DE102008056745A1 (de) * 2008-11-11 2010-05-12 Continental Automotive Gmbh Vorrichtung zum Steuern einer Fahrzeugfunktion und Verfahren zum Aktualisieren eines Steuergerätes
DE102012205709A1 (de) * 2012-04-05 2013-10-10 Lenze Automation Gmbh Verfahren zum Betreiben eines elektrischen Antriebssystems und Antriebssystem
DE102017209468A1 (de) * 2017-06-06 2018-12-06 Robert Bosch Gmbh Verfahren zum Zurücksetzen einer Software eines Fahrzeugsteuergeräts eines Fahrzeugs in einen ursprünglichen Zustand

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814478B2 (en) * 2005-11-09 2010-10-12 Texas Instruments Norway As Methods and apparatus for use in updating application programs in memory of a network device
US20080046879A1 (en) * 2006-08-15 2008-02-21 Michael Hostetler Network device having selected functionality
US20090300595A1 (en) * 2008-05-30 2009-12-03 Ise Corporation System and Method for Remotely Updating Control Software in a Vehicle With an Electric Drive System
EP2930622A4 (de) * 2012-12-05 2016-01-06 Panasonic Ip Man Co Ltd Kommunikationsvorrichtung, elektronische vorrichtung, kommunikationsverfahren und fahrzeugschlüssel
KR101463604B1 (ko) * 2013-04-24 2014-11-20 주식회사 오비고 전자제어장치의 업데이트를 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
JP5864510B2 (ja) * 2013-10-18 2016-02-17 富士通株式会社 修正プログラム確認方法、修正プログラム確認プログラム、及び情報処理装置
CN104765591A (zh) * 2014-01-02 2015-07-08 腾讯科技(深圳)有限公司 一种软件配置参数更新的方法、终端服务器及系统
US9436456B2 (en) * 2014-04-17 2016-09-06 Myine Electronics, Inc. System and method for management of software updates at a vehicle computing system
US10146521B2 (en) * 2014-09-09 2018-12-04 Airpro Diagnostics, Llc Device, system and method for updating the software modules of a vehicle
JP2016218932A (ja) * 2015-05-26 2016-12-22 京セラ株式会社 ソフトウェア更新装置およびソフトウェア更新システム
US11782691B2 (en) 2016-02-19 2023-10-10 Ford Global Technologies, Llc Method and apparatus for over the air updates
US11048668B2 (en) * 2016-09-09 2021-06-29 Paypal, Inc. Sensitive data management
KR102249599B1 (ko) * 2017-03-21 2021-05-07 현대자동차 주식회사 차량 모듈의 소프트웨어 업데이트 정보 제공 서버 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69833992T2 (de) * 1997-07-09 2007-04-05 Vitatron Medical B.V. Herzschrittmachersystem mit verbesserter Programmodifizierungsfähigkeit
DE102008021030A1 (de) * 2008-04-24 2009-10-29 Volkswagen Ag Verfahren zum Betreiben eines Fahrzeugs sowie entsprechende Vorrichtung und entsprechendes Fahrzeug
DE102008056745A1 (de) * 2008-11-11 2010-05-12 Continental Automotive Gmbh Vorrichtung zum Steuern einer Fahrzeugfunktion und Verfahren zum Aktualisieren eines Steuergerätes
DE102012205709A1 (de) * 2012-04-05 2013-10-10 Lenze Automation Gmbh Verfahren zum Betreiben eines elektrischen Antriebssystems und Antriebssystem
DE102017209468A1 (de) * 2017-06-06 2018-12-06 Robert Bosch Gmbh Verfahren zum Zurücksetzen einer Software eines Fahrzeugsteuergeräts eines Fahrzeugs in einen ursprünglichen Zustand

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
md5sum. In: Wiki Ubuntuusers.de, Bearbeitungsstand: 27.10.2018 URL: https://wi ki.ubuntuusers.de/md5sum/ [abgerufen am 18.12.2018] *
Zyklische Redundanzprüfung. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungs stand: 15.10.2017. URL: https://de.wikipedia.org/w/index.php?title=Zyklische_Redun danzpr%C3%BCfung&oldid=169993527 [abgerufen am 18.12.2018] *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022198527A1 (zh) * 2021-03-24 2022-09-29 华为技术有限公司 终端升级的方法及装置
DE102022123487A1 (de) 2022-09-14 2024-03-14 Dr. Ing. H.C. F. Porsche Aktiengesellschaft System, Verfahren und Computerprogrammprodukt zum kontrollierten Updaten einer Software für eine Steuerungseinrichtung

Also Published As

Publication number Publication date
US11327842B2 (en) 2022-05-10
US20200401484A1 (en) 2020-12-24
WO2019137773A1 (de) 2019-07-18

Similar Documents

Publication Publication Date Title
DE10131395B4 (de) Verfahren zum Übertragen von Software- Modulen
DE112012003795B4 (de) Verfahren und system für eine fahrzeug-information-integritätsverifikation
WO2019137773A1 (de) Absicherung eines softwareupdates eines steuergerätes eines fortbewegungsmittels
WO2017190868A1 (de) Verfahren und system zum aktualisieren der software eines kraftfahrzeug-sensors
DE112018001894T5 (de) Steuervorrichtung, Übertragungsverfahren und Computerprogramm
DE102017209557A1 (de) Verfahren zum Schutz eines Fahrzeugnetzwerks gegen manipulierte Datenübertragung
DE102017217807A1 (de) Verfahren und vorrichtung zum verarbeiten einer software-aktualisierung
WO2019096840A1 (de) Verfahren und system zum aktualisieren einer fahrzeugsoftware
EP2109041A1 (de) Verfahren zur automatischen Aktualisierung von Software
WO2019096549A1 (de) Verfahren und vorrichtung zur aktualisierung von software
EP3741094A1 (de) Steuerungssystem für ein kraftfahrzeug, verfahren zum betreiben des steuerungssystems sowie kraftfahrzeug mit einem derartigen steuerungssystem
DE102020208536A1 (de) Gateway-vorrichtung, abnormitätsüberwachungsverfahren und speichermedium
DE112020001126T5 (de) Fahrzeugsteuergerät
EP3384411B1 (de) Verfahren zum übertragen eines funktionsbefehls zwischen einem kraftfahrzeug und einer fahrzeugexternen einrichtung sowie schnittstellenvorrichtung und system
DE102019004612A1 (de) Verfahren zum Betreiben eines Fahrzeugs mit einem Steuergerät
DE102014221977A1 (de) Verfahren und Vorrichtung zum Speichern von Daten in einem Kraftfahrzeug
DE102017209556A1 (de) Verfahren zum Schutz eines Fahrzeugnetzwerks gegen manipulierte Datenübertragung
EP3797352B1 (de) Verfahren zum austauschen eines ersten ausführbaren programm-codes und eines zweiten ausführbaren programm-codes und steuergerät
EP4018300A1 (de) Konfigurationsverfahren für eine eisenbahnsignalanlage und aktualisierungssystem
EP3811203A1 (de) Verfahren zum aktualisieren von software auf einem zielgerät
DE102016116168A1 (de) Fahrzeug, System und Verfahren zur Aktualisierung der Firmware einer Fahrzeugkomponente
DE102015015628B4 (de) Verfahren zum Übertragen von Daten zwischen einem Speichermedium und einem Kraftfahrzeug mittels eines Zwischenpeichermediums sowie Zwischenspeichermedium und Applikationsprogrammprodukt
DE102017216849A1 (de) Softwareverteilungsverfahren und Softwareverteilungssystem für ein spurgebundenes Fahrzeug, Konfigurationsserver-Einheit und spurgebundenes Fahrzeug
WO2023213512A1 (de) Verfahren zum zumindest teilweisen verarbeiten eines datensatzes, computerprogrammprodukt, empfängerfahrzeug, sowie system
DE102021202015A1 (de) Verfahren zum Betreiben eines Steuergeräts und Steuergerät

Legal Events

Date Code Title Description
R163 Identified publications notified
R012 Request for examination validly filed
R016 Response to examination communication