-
TECHNISCHES GEBIET
-
Die vorliegende Offenbarung bezieht sich auf ein Fahrzeugsteuergerät und insbesondere, aber nicht ausschließlich, auf ein Steuergerät, das so konfiguriert ist, dass es die Authentizität und Integrität von empfangener Software zur Installation auf einer Steuereinheit in einem Fahrzeug verifiziert. Aspekte der Erfindung beziehen sich auf ein Verifikationssteuerung für ein Fahrzeug, ein Verfahren zum Verifizieren der Authentizität und Integrität von empfangener Software zur Installation auf einer Steuereinheit in einem Fahrzeug, auf ein Fahrzeug mit einem Steuergerät, auf ein Computerprogrammprodukt und auf einen computerlesbaren Datenträger sowie auf ein nichttransitorisches computerlesbares Medium.
-
HINTERGRUND
-
Moderne Kraftfahrzeuge umfassen eine große Anzahl von eingebetteten Steuergeräten, wie z. B. elektronische Steuergeräte (ECUs), zur Steuerung einer Vielzahl von Fahrzeugfunktionen, wie z. B. Motormanagementfunktionen, Bremsfunktionen, Innenraumklimafunktionen und Lenkfunktionen. Die ECUs sind häufig durch Datenbusse verbunden, die die Übertragung von Daten zwischen verschiedenen ECUs ermöglichen. Um neue Funktionalitäten einzuführen oder mögliche Softwarefehler zu beheben, muss die auf einem ECU laufende Software oft aktualisiert werden. Da die Komplexität von Fahrzeugdatennetzen zunimmt, sind häufigere Upgrades bestehender ECUs erforderlich, um einen reibungslosen Betrieb des Fahrzeugdatennetzes zu gewährleisten.
-
Traditionell werden Software-Updates für Fahrzeug-ECUs über festverdrahtete Verbindungen von externen Geräten zum Kommunikationsnetzwerk des Fahrzeugs in das Fahrzeugdatennetz eingespielt. Dies geschieht in der Regel in einer Vertragswerkstatt oder einem Autohaus, wo das Fahrzeug von einem zertifizierten Mechaniker physisch an ein zertifiziertes Endgerät angeschlossen wird, der dann das Software-Update vom Endgerät aus initiiert. Die Verwendung eines zertifizierten Mechanikers, der ein zertifiziertes Endgerät zur Durchführung der Softwareaktualisierung verwendet, gewährleistet die Authentizität der installierten Software. Es ist jedoch wünschenswert, von dieser Abhängigkeit von einem zertifizierten Mechaniker wegzukommen und die Vielseitigkeit zu verbessern, mit der Software-Updates innerhalb eines Fahrzeugs stattfinden können, einschließlich über drahtlose Verbindungen. In einer solchen Umgebung wird die Überprüfung der Authentizität und Integrität der in das Fahrzeug heruntergeladenen Software noch wichtiger, da das Risiko steigt, dass versehentlich bösartige Software auf ein Fahrzeugsteuergerät heruntergeladen wird, z. B. über ein Mobilfunknetz, ohne dass der Fahrzeugnutzer dies bemerkt.
-
Mit der zunehmenden Verbreitung teilautonomer Fahrzeuge, in denen ECUs immer mehr Aufgaben übernehmen, die die Fahrfunktionen des Fahrzeugs unterstützen und automatisieren, steigt der potenzielle Schaden, der durch Schadsoftware verursacht werden könnte. Wenn bösartige Software auf einem ECU installiert wird, das z. B. das Bremsverhalten eines Fahrzeugs steuert, könnte dies schwerwiegende Folgen haben. Auf dem Weg zu fahrerlosen Fahrzeugen ist es klar, dass die Cybersicherheit für Fahrzeuge von größter Bedeutung ist.
-
Da immer mehr Fahrzeuge drahtlos miteinander verbunden werden, steigt auch das Potenzial für Cyberangriffe auf Fahrzeugnetze. So ist beispielsweise vorgesehen, dass die drahtlose Vernetzung von Fahrzeugen im Rahmen des Verkehrsmanagements genutzt werden kann. Die zunehmenden Kommunikationsmittel, die künftigen Fahrzeugen zur Verfügung stehen, setzen sie leider auch einem größeren Risiko aus, dass sie gehackt und ihre Funktionsweise in einer Weise verändert wird, die bisher nicht möglich war.
-
Die vorliegende Erfindung wurde entwickelt, um zumindest einige der oben genannten Probleme zu entschärfen oder zu überwinden.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Gemäß einem Aspekt der vorliegenden Erfindung wird ein Verifikationssteuerung für ein Fahrzeug bereitgestellt, wobei die Verifikationssteuerung so konfiguriert ist, dass sie die Authentizität der empfangenen Software zur Installation auf einer Steuereinheit innerhalb des Fahrzeugs verifiziert. Die Verifikationssteuerung kann einen Eingang umfassen, der im Gebrauch so angeordnet ist, dass er ein Datenpaket empfängt, das die Software und ein erstes Sicherheitsmerkmal umfasst, das mit einer authentischen Version der Software verknüpft ist.
-
Die Verifikationssteuerung kann einen Prozessor umfassen, der im Gebrauch so konfiguriert ist, dass er ein zweites Sicherheitsmerkmal in Abhängigkeit von der empfangenen Software erzeugt und feststellt, ob das zweite Sicherheitsmerkmal mit dem ersten Sicherheitsmerkmal konsistent ist. Die Verifikationssteuerung kann einen Ausgang umfassen, der im Gebrauch so eingerichtet ist, dass er ein erstes Steuersignal für die Steuereinheit ausgibt, wobei das erste Steuersignal die Installation der empfangenen Software auf der Steuereinheit in Abhängigkeit davon ermöglicht, dass das zweite Sicherheitsmerkmal mit dem ersten Sicherheitsmerkmal konsistent ist.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird eine Verifikationssteuerung für ein Fahrzeug bereitgestellt, wobei die Verifikationssteuerung konfiguriert ist, zum: Erkennen von Software-Aktualisierungsdaten, die Aktualisierungssoftware umfassen, die über den Datenbus an eine Steuereinheit innerhalb des Fahrzeugs gesendet wird; Bestimmen eines ersten Sicherheitsmerkmals, mit einer authentischen Version der Software verknüpft ist, aus den Software-Aktualisierungsdaten; Erzeugen eines zweiten Sicherheitsmerkmals in Abhängigkeit von den empfangenen Software-Aktualisierungsdaten; Bestimmen, ob das zweite Sicherheitsmerkmal mit dem ersten Sicherheitsmerkmal konsistent ist; und Ausgeben eines ersten Steuersignals für die Steuereinheit, wobei das erste Steuersignal die Installation der Software auf der Steuereinheit in Abhängigkeit davon ermöglicht, dass das zweite Sicherheitsmerkmal mit dem ersten Sicherheitsmerkmal konsistent ist.
-
Die Verifikationssteuerung kann mindestens einen elektronischen Prozessor mit einem elektrischen Eingang zum Empfangen von Daten, die über den Datenbus gesendet werden, und mindestens eine Speichervorrichtung, die elektrisch mit dem mindestens einen elektronischen Prozessor gekoppelt ist und in der Befehle gespeichert sind, umfassen; und wobei der mindestens eine elektronische Prozessor so konfiguriert sein kann, dass er auf die mindestens eine Speichervorrichtung zugreift und die Befehle darauf ausführt, um: Erkennen von Software-Aktualisierungsdaten, die Aktualisierungssoftware umfassen, die über den Datenbus an eine Steuereinheit innerhalb des Fahrzeugs gesendet wird; Bestimmen einer ersten Sicherheitscharakteristik aus den Software-Aktualisierungsdaten, die mit einer authentischen Version der Software verknüpft ist; Erzeugen einer zweiten Sicherheitscharakteristik in Abhängigkeit von der empfangenen Software; Bestimmen, ob die zweite Sicherheitscharakteristik mit der ersten Sicherheitscharakteristik konsistent ist; und Ausgeben eines ersten Steuersignals für die Steuereinheit, wobei das erste Steuersignal die Installation der Software auf der Steuereinheit in Abhängigkeit von der zweiten Sicherheitscharakteristik, die mit der ersten Sicherheitscharakteristik konsistent ist, ermöglicht.
-
In bestimmten Ausführungsformen kann die Konsistenz des zweiten Sicherheitsmerkmals mit dem ersten Sicherheitsmerkmal erfordern, dass die Sicherheitsmerkmale in einer Weise konsistent sind, die auf der Grundlage der zur Erzeugung jedes Sicherheitsmerkmals verwendeten Verfahren erwartet wird. In einigen Ausführungsformen kann dies bedeuten, dass die Sicherheitsmerkmale identisch sein müssen.
-
Vorteilhafterweise bietet die Verifikationssteuerung eine Möglichkeit, die Authentizität der empfangenen Software zur Installation auf einem Fahrzeugsteuergerät zu überprüfen, um zu verhindern, dass betrügerische oder bösartige Software auf dem Fahrzeugdatennetz installiert wird. Der Fahrzeugnutzer kann daher sicher sein, dass sein Fahrzeug vor Cyberangriffen geschützt ist. Die Verifikationssteuerung bietet außerdem den Vorteil, dass es Fahrzeuge gegen die Risiken absichert, die mit einem höheren Maß an Konnektivität verknüpft sind. Mit zunehmender Vernetzung von Fahrzeugen besteht beispielsweise die Gefahr, dass Netzwerke verbundener Fahrzeuge gehackt werden oder dass wichtige Funktionen in zunehmend autonomen Fahrzeugen ferngesteuert werden. Die vorliegende Erfindung kann dazu beitragen, diese potenziell schwerwiegenden Vorfälle abzuwenden.
-
Gemäß bestimmten Ausführungsformen kann das Steuergerät eines von mehreren Fahrzeugsteuergeräten sein, wobei jedes Fahrzeugsteuergerät operativ mit einem von mehreren Datenbussen innerhalb des Fahrzeugs verbunden ist. Die mehreren Datenbusse können operativ mit einem gemeinsam genutzten Knoten verbunden sein, und die Verifikationssteuerung kann an dem gemeinsam genutzten Knoten enthalten sein.
-
Die Verifikationssteuerung kann so konfiguriert sein, dass sie Daten empfängt, die über die mehreren Datenbusse innerhalb des Fahrzeugs gesendet werden, wobei an jeden Datenbus mindestens eine der mehreren Fahrzeugsteuereinheiten operativ angeschlossen ist.
-
Vorteilhafterweise ist die Verifikationssteuerung so positioniert, dass sie das Datenkommunikationsnetz des Fahrzeugs überwachen kann. Dies hat den Vorteil, dass die Verifikationssteuerung eingehende Software abfangen und ihre Authentizität überprüfen kann, bevor die Software auf dem Zielsteuergerät installiert wurde, was eine weitere Sicherheitsstufe darstellt.
-
In bestimmten Ausführungsformen kann die Verifikationssteuerung in einem Gateway-Steuermodul untergebracht sein. Das Gateway-Steuermodul ist ein Steuergerät, das so konfiguriert ist, dass es die Datenübertragungen zwischen den verschiedenen Fahrzeugbussen verwaltet, und es kann auch so konfiguriert sein, dass es Daten von externen Quellen des Fahrzeugs empfängt. Darüber hinaus kann das Gateway-Steuermodul so konfiguriert sein, dass es die zu den verschiedenen Fahrzeugsystemen gehörenden elektrischen Netze operativ miteinander verbindet und einen Eingang für die externen Daten in das Kommunikationsnetz bereitstellt. Die Positionierung der Verifikationssteuerung an einem Gateway-Steuermodul hat den Vorteil, dass kein neues Steuergerät in das Fahrzeugdatennetz eingefügt werden muss.
-
In bestimmten Ausführungsformen kann die Verifikationssteuerung so eingerichtet sein, dass er ein Warnsignal ausgibt, wenn das zweite Sicherheitsmerkmal nicht mit dem ersten Sicherheitsmerkmal konsistent ist. Zum Beispiel kann die Verifikationssteuerung so eingerichtet sein, dass sie das Warnsignal an eines der folgenden Geräte ausgibt
- - eine Fahrzeuganzeigeeinheit;
- - ein Audiosystem;
- - eine Telematikeinheit, die so eingerichtet ist, dass sie Warnmeldungen an ein externes Gerät oder einen externen Benutzer weiterleitet;
- - ein Gerät, das sich außerhalb des Fahrzeugs befindet;
- - ein mobiles Gerät; und
- - ein fahrzeuginternes Steuergerät.
-
Auf diese Weise kann ein Fahrzeugbetreiber oder Techniker vorteilhafterweise informiert werden, wenn ein Versuch unternommen wurde, Schadsoftware auf dem Fahrzeug zu installieren. Unter bestimmten Umständen kann dies ein Hinweis auf eine größere Sicherheitsbedrohung sein.
-
Gemäß bestimmten Ausführungsformen kann der Überprüfungscontroller so konfiguriert sein, dass er ein zweites Steuersignal ausgibt, das die Installation der Software auf dem Steuergerät verhindert, wenn das zweite Sicherheitsmerkmal nicht mit dem ersten Sicherheitsmerkmal konsistent ist. Das zweite Steuersignal kann Anweisungen an die Steuereinheit enthalten, die Software aus einem mit der Steuereinheit operativ verbundenen Speicher zu löschen. Auf diese Weise kann die bösartige Software aus dem Fahrzeugdatennetz entfernt werden.
-
In bestimmten Ausführungsformen kann das erste Steuersignal Anweisungen enthalten, die die Steuereinheit anweisen, die Software in einem nichtflüchtigen Speicher zu speichern, der operativ mit der Steuereinheit verbunden ist, und zwar in Abhängigkeit davon, dass das zweite Sicherheitsmerkmal mit dem ersten Sicherheitsmerkmal konsistent ist.
-
In Übereinstimmung mit bestimmten Ausführungsformen kann die Verifikationssteuerung so konfiguriert sein, dass sie die Software in Abhängigkeit davon, dass das zweite Sicherheitsmerkmal mit dem ersten Sicherheitsmerkmal konsistent ist, an die Steuereinheit ausgibt.
-
Auf diese Weise wird die Software vorteilhafterweise nur dann an das vorgesehene Zielsteuergerät weitergeleitet, wenn die Verifikationssteuerung die Authentizität der Software überprüft hat. Das empfangene Softwarepaket wird also von der Verifikationssteuerung im Wesentlichen unter Quarantäne gestellt, bis eine erfolgreiche Verifizierung erfolgt. Dadurch wird verhindert, dass potenziell bösartige Software verbreitet und an anderer Stelle im Datenkommunikationsnetz des Fahrzeugs gespeichert wird, und es wird eine einfache Möglichkeit geschaffen, empfangene Software zu lokalisieren und anschließend zu löschen, wenn sie sich als betrügerisch erweist.
-
In bestimmten Ausführungsformen kann die Verifikationssteuerung so eingerichtet sein, dass er das erste Steuersignal in Abhängigkeit vom Empfang einer Anforderung von der Steuereinheit ausgibt.
-
In bestimmten Ausführungsformen kann die Verifikationssteuerung so eingerichtet sein, dass er die Software in Abhängigkeit vom Empfang der Anforderung von der Steuereinheit an die Steuereinheit ausgibt.
-
In Übereinstimmung mit bestimmten Ausführungsformen kann das erste Sicherheitsmerkmal ein Hash sein, der in Abhängigkeit von mindestens einem Teil der authentischen Version der Software erzeugt wird, das zweite Sicherheitsmerkmal kann ein Hash sein, der in Abhängigkeit von mindestens einem Teil der empfangenen Software erzeugt wird, und der Prozessor kann so konfiguriert sein, dass er den Hash der empfangenen Software erzeugt.
-
In Übereinstimmung mit bestimmten Ausführungsformen kann der Eingang so eingerichtet sein, dass er das Datenpaket über einen drahtlosen Kommunikationskanal oder einen drahtgebundenen Kommunikationskanal empfängt.
-
In bestimmten Ausführungsformen kann der Prozessor so konfiguriert sein, dass er das Steuersignal erzeugt.
-
In bestimmten Ausführungsformen kann sich die empfangene Software auf mindestens einen Teil einer Softwareanwendung beziehen.
-
Gemäß einem weiteren Aspekt der Erfindung wird ein Verfahren zum Überprüfen der Authentizität von empfangener Software zur Installation auf einem Steuergerät in einem Fahrzeug bereitgestellt. Das Verfahren kann Folgendes umfassen: Empfangen eines Datenpakets, das die Software und ein erstes Sicherheitsmerkmal umfasst, das mit einer authentischen Version der Software verknüpft ist, an einer Verifikationssteuerung; Erzeugen eines zweiten Sicherheitsmerkmals in Abhängigkeit von der empfangenen Software; Bestimmen, ob das zweite Sicherheitsmerkmal mit dem ersten Sicherheitsmerkmal konsistent ist; und Ausgeben eines ersten Steuersignals für die Steuereinheit, wobei das erste Steuersignal die Installation der empfangenen Software auf der Steuereinheit in Abhängigkeit von dem zweiten Sicherheitsmerkmal, das mit dem ersten Sicherheitsmerkmal konsistent ist, ermöglicht.
-
Gemäß einem weiteren Aspekt der Erfindung wird ein Verfahren zum Überprüfen der Authentizität von empfangener Software zur Installation auf einer Steuereinheit in einem Fahrzeug bereitgestellt, wobei das Verfahren umfasst: Erkennen von Software-Aktualisierungsdaten, die Aktualisierungssoftware umfassen, die über einen Datenbus an eine Steuereinheit innerhalb des Fahrzeugs gesendet wird; Bestimmen einer ersten Sicherheitscharakteristik aus den Software-Aktualisierungsdaten, die mit einer authentischen Version der Software verknüpft ist; Erzeugen einer zweiten Sicherheitscharakteristik in Abhängigkeit von den empfangenen Software-Aktualisierungsdaten; Bestimmen, ob die zweite Sicherheitscharakteristik mit der ersten Sicherheitscharakteristik konsistent ist; und Ausgeben eines ersten Steuersignals für die Steuereinheit, wobei das erste Steuersignal die Installation der Software auf der Steuereinheit in Abhängigkeit von der zweiten Sicherheitscharakteristik ermöglicht, die mit der ersten Sicherheitscharakteristik konsistent ist.
-
Diese Verfahrensaspekte der Erfindung und ihre Ausführungsformen profitieren von denselben Vorteilen, die in Bezug auf den vorherigen Aspekt und seine Ausführungsform erwähnt wurden.
-
Gemäß einem weiteren Aspekt der Erfindung wird ein Fahrzeug bereitgestellt, das die Verifikationssteuerung nach einem der vorhergehenden Aspekte der Erfindung umfasst oder zur Durchführung des Verfahrens nach einem der vorhergehenden Aspekte der Erfindung konfiguriert ist.
-
Gemäß einem weiteren Aspekt der Erfindung wird ein Computerprogrammprodukt bereitgestellt, das Anweisungen umfasst, die, wenn sie auf einem Prozessor ausgeführt werden, den Prozessor so konfigurieren, dass er das Verfahren nach einem der vorangehenden Aspekte der Erfindung ausführt.
-
Gemäß einem weiteren Aspekt der Erfindung wird ein computerlesbarer Datenträger bereitgestellt, auf dem Anweisungen zur Durchführung des Verfahrens gemäß einem der vorhergehenden Aspekte der Erfindung gespeichert sind.
-
Gemäß einem weiteren Aspekt der Erfindung wird ein nicht-transitorischer computerlesbarer Datenträger bereitgestellt, auf dem Anweisungen zur Durchführung des Verfahrens nach einem der vorhergehenden Aspekte der Erfindung gespeichert sind.
-
Im Rahmen dieser Anmeldung ist ausdrücklich beabsichtigt, dass die verschiedenen Aspekte, Ausführungsformen, Beispiele und Alternativen, die in den vorhergehenden Absätzen, in den Ansprüchen und/oder in der folgenden Beschreibung und den Zeichnungen dargelegt sind, und insbesondere die einzelnen Merkmale davon, unabhängig oder in beliebiger Kombination verwendet werden können. Das heißt, alle Ausführungsformen und/oder Merkmale einer Ausführungsform können in beliebiger Weise und/oder Kombination miteinander kombiniert werden, sofern diese Merkmale nicht unvereinbar sind. Der Anmelder behält sich das Recht vor, jeden ursprünglich eingereichten Anspruch zu ändern oder einen neuen Anspruch entsprechend einzureichen, einschließlich des Rechts, einen ursprünglich eingereichten Anspruch dahingehend zu ändern, dass er von einem anderen Anspruch abhängt und/oder ein Merkmal eines anderen Anspruchs einbezieht, auch wenn er ursprünglich nicht auf diese Weise beansprucht wurde.
-
Figurenliste
-
Eine oder mehrere Ausführungsformen der Erfindung werden jetzt nur beispielhaft unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen:
- 1 ist eine schematische Darstellung eines Kraftfahrzeug-Kommunikationsnetzes, das sich in einem Fahrzeug befindet und operativ mit einem entfernt gelegenen Server und/oder Endgerät verbunden ist, wobei das Netz eine Verifikationssteuerung umfasst, der so konfiguriert ist, dass er die Authentizität der empfangenen Software verifiziert;
- 2 ist ein schematisches Diagramm der Verifikationssteuerung von 1;
- 3a ist ein Flussdiagramm, das ein Beispiel des Verifizierungsverfahrens skizziert, der von der Verifikationssteuerung der 1 und 2 und einer Fahrzeugsteuereinheit, auf die die Software heruntergeladen werden soll, durchgeführt werden kann;
- 3b ist ein Flussdiagramm, das ein alternatives Beispiel für das Verifizierungsverfahren darstellt, der von der Verifikationssteuerung der 1 und 2 und einem Fahrzeugsteuergerät, auf das die Software heruntergeladen werden soll, durchgeführt werden kann;
- 4 ist ein Datenflussdiagramm, das den Fluss von Datennachrichten in einer beispielhaften Implementierung der Verfahren der 3a und 3b veranschaulicht, die von dem System der 1 ausgeführt wird, und
- 5 ist eine schematische Darstellung eines Fahrzeugs, das das Kfz-Kommunikationsnetz von 1 umfasst.
-
AUSFÜHRLICHE BESCHREIBUNG
-
1 ist eine schematische Darstellung einer Ausführungsform der Erfindung, bei der ein Kfz-Kommunikationsnetz 100 in einem Fahrzeug 500 (siehe 5) so konfiguriert ist, dass es Software von einer Quelle außerhalb des Fahrzeugs 500 empfängt und die Integrität und Authentizität der empfangenen Software verifiziert.
-
Nur zur Veranschaulichung ist das Kfz-Kommunikationsnetz 100 in 1 so dargestellt, dass es ein Gateway-Steuermodul 102, einen Verifikationssteuerung 104 und mehrere Fahrzeug-Controller umfasst, die auch als elektronische Steuereinheiten (ECUs) 106 bezeichnet werden können. Ein ECU 106 ist ein eingebettetes Steuergerät, das ein oder mehrere elektrische Systeme innerhalb des Fahrzeugs 500 steuern kann. Jedes ECU 106 kann Daten von Sensoren innerhalb des Fahrzeugs 500 empfangen und mit Aktuatoren innerhalb des Fahrzeugs in Verbindung stehen. Daten können zwischen ECUs 106 über einen Datenbus ausgetauscht werden. Jedes ECU 106 kann Verarbeitungsmittel zur Ausführung von Befehlen umfassen, die in einem mit dem ECU 106 operativ verbundenen Speicher gespeichert sind.
-
Die ECUs 106 innerhalb des Kfz-Kommunikationsnetz 100 können über Datenbusse 108, 110, 112 operativ verbunden sein. Im vorliegenden Kontext ist ein Datenbus ein Kommunikationskanal, der Komponenten innerhalb eines Fahrzeugs gemäß einem Busprotokoll wie CAN, Flexray oder Ethernet operativ verbindet. Zur Veranschaulichung ist das Kfz-Kommunikationsnetz 100 mit drei Datenbussen 108, 110, 112 dargestellt, aber es ist zu verstehen, dass das Netz 100 eine beliebige Anzahl von Datenbussen umfassen kann, die verschiedene Fahrzeugkomponenten verbinden.
-
Das Kfz-Kommunikationsnetz 100 ist so eingerichtet, dass es Daten von einem Server 114 über ein drahtloses Kommunikationsnetz 116 oder über ein Endgerät 120 empfängt. Der Server 114 befindet sich außerhalb des Fahrzeugs 500 und kann einen Speicher umfassen, der ein Datenpaket enthält, das an das Kfz-Kommunikationsnetz 100 des Fahrzeugs 500 übertragen werden soll. Das Datenpaket kann Software enthalten, die auf einem Fahrzeug-ECU 106 innerhalb des Fahrzeugkommunikationsnetzes 100 zu installieren ist. Bei der Software, die auf einem Ziel-ECU 106 innerhalb des Fahrzeugs installiert werden soll, kann es sich beispielsweise um Software handeln, die neue Funktionen ermöglicht oder Fehler in früheren Versionen der auf dem Steuergerät installierten Software korrigiert. In einer Ausführungsform kann sich die Software auf eine Anwendung beziehen, die auf dem Ziel-ECU 106 installiert werden soll. In einer Ausführungsform kann die Anwendung in mehreren Stufen an das Fahrzeugkommunikationsnetz 100 übertragen werden, wobei in jeder Stufe ein Teil der Softwareanwendung übertragen wird. Auf diese Weise kann eine Softwareanwendung schrittweise heruntergeladen und/oder installiert werden. Das Datenpaket kann ein Sicherheitsmerkmal enthalten, das mit der authentischen Software verknüpft ist, die auf dem ECU 106 installiert werden soll.
-
In einer Ausführungsform kann das Sicherheitsmerkmal ein kryptographischer Hash, ein Nachrichtenauthentifizierungscode (MAC) oder eine andere derartige Einwegfunktion sein, die in Abhängigkeit von mindestens einem Teil der authentischen Software erzeugt wird, die durch Anwendung einer kryptographischen Hash-Funktion auf die authentische Software erzeugt werden kann. Das Sicherheitsmerkmal kann von einem Prozessor erzeugt werden, der operativ mit dem Server 114 verbunden ist.
-
In bestimmten Ausführungsformen können die authentische Software und das Sicherheitsmerkmal mit bekannten kryptografischen Protokollen verschlüsselt werden. Dies kann das Signieren mit einem privaten Schlüssel eines kryptografischen Schlüsselpaares umfassen. Die Verwendung von kryptografischen Schlüsselpaaren ermöglicht die Feststellung der Integrität der empfangenen Software. Der kryptografische Schlüssel kann auf dem externen Server 114 gespeichert werden, und die authentische Software und das Sicherheitsmerkmal können von einem Prozessor signiert werden, der operativ mit dem Server 114 verbunden ist, bevor sie an das Fahrzeugkommunikationsnetz 100 gesendet werden.
-
Die Software für die Installation auf dem ECU 106 des Fahrzeugs kann von dem Kfz-Kommunikationsnetz 100 am Gateway-Steuermodul 102 empfangen werden. Zusätzlich zur Überwachung und Steuerung von Daten, die zwischen den verschiedenen Fahrzeugbussen 108, 110, 112 übertragen werden, kann das Gateway-Steuermodul 102 so konfiguriert sein, dass es Daten entweder über fest verdrahtete oder drahtlose Kommunikationsmittel empfängt. Das Gateway-Steuermodul 102 kann mit allen Datenbussen 108, 110, 112 innerhalb des Kfz-Kommunikationsnetzes 100 operativ verbunden sein. In bestimmten Ausführungsformen werden alle vom Kfz-Kommunikationsnetz 100 empfangenen Daten vom Gateway-Steuermodul 102 empfangen.
-
In einigen Ausführungsformen kann das Gateway-Steuermodul so konfiguriert sein, dass es Daten über die Luft empfängt, z. B. über ein drahtloses Kommunikationsnetz 116, wie z. B. ein Mobilkommunikationsnetz oder ein Wi-Fi-Netz. Das Datenpaket kann vom Server 114 über das gemeinsame Kommunikationsnetz 116 an das Gateway-Steuermodul 102 gesendet werden. Zum Beispiel kann ein Software-Update für ein bestimmtes ECU 106 über eine Wi-Fi-Verbindung in einer Kfz-Werkstatt oder einem Vertragshändler auf das Gateway-Steuermodul 102 heruntergeladen werden. Ein Software-Download kann auch über ein mobiles Kommunikationsnetz erfolgen. Der Download kann aus der Ferne initiiert werden, zum Beispiel von einem Autohaus.
-
Das Gateway-Steuermodul 102 kann auch so konfiguriert sein, dass es das Datenpaket über eine festverdrahtete Verbindung empfängt. Der Server 114 kann mit einem Endgerät 120 verbunden sein, bei dem es sich z. B. um einen Computer handeln kann. Es kann eine festverdrahtete Verbindung, z. B. eine Ethernet-Verbindung, vom Endgerät 120 zum Fahrzeug 500 hergestellt werden, und das Herunterladen des Datenpakets kann z. B. von einem Mechaniker, der den Computer bedient, eingeleitet werden. Auf diese Weise kann das Datenpaket über die drahtgebundene Verbindung auf das Gateway-Steuermodul 102 des Fahrzeugs 500 heruntergeladen werden.
-
Sobald das Gateway-Steuermodul 102 das Datenpaket empfangen hat, kann das Modul 102 so konfiguriert werden, dass es das vorgesehene Empfänger-ECU 106 identifiziert.
-
Das Datenpaket kann dann vom Gateway-Steuermodul 102 an die Verifikationssteuerung 104 zur Verifikation weitergeleitet werden.
-
Die auf dem Ziel-ECU 106 zu installierende Software kann an das ECU 106 weitergeleitet werden, bevor der Verifizierungsverfahren stattfindet, oder nachdem der Verifizierungsverfahren stattgefunden hat. In einer Ausführungsform kann das ECU 106 operativ mit einem flüchtigen und einem nichtflüchtigen Speichermittel verbunden sein. Wenn die ECU 106 Software empfängt, die noch nicht verifiziert wurde, kann die ECU 106 die Software in der flüchtigen Speichereinrichtung speichern. Wenn das ECU 106 verifizierte Software empfängt, kann das ECU 106 die Software alternativ in der nichtflüchtigen Speichereinrichtung speichern. Verschiedene Ausführungsformen werden in der folgenden Beschreibung näher erläutert.
-
Die Verifikationssteuerung 104 kann sich auf einen eingebetteten Controller beziehen, der so konfiguriert sein kann, dass er das Verifizierungsverfahren an der empfangenen Software durchführt, um festzustellen, ob die empfangene Software authentisch ist. Die Verifikationssteuerung 104 kann sich an einem Netzknoten befinden, mit dem alle Datenbusse 108, 110, 112 innerhalb des Fahrzeugkommunikationsnetzes 100 operativ verbunden sind. Jede heruntergeladene Software, die vom Gateway-Steuermodul 102 an das Ziel-ECU 106 weitergeleitet wird, passiert daher die Verifikationssteuerung 104, bevor sie das vorgesehene Ziel-ECU 106 erreicht.
-
In einigen Ausführungsformen kann die Verifikationssteuerung 104 im Gateway-Steuermodul 102 enthalten sein. Auf diese Weise kann die vorliegende Ausführungsform mit vorhandener Fahrzeughardware implementiert werden.
-
In einer Ausführungsform kann die Verifikationssteuerung 104 in einem beliebigen bestehenden ECU 106 innerhalb des Kfz-Datenkommunikationsnetz 100 enthalten sein, vorausgesetzt, das ECU 106 ist so konfiguriert, dass die vom Gateway-Steuermodul 102 empfangenen Daten auch dem betreffenden ECU 106 vor der Installation auf dem vorgesehenen Ziel-ECU 106 zur Verfügung gestellt werden.
-
Die Verifikationssteuerung 104 kann so konfiguriert sein, dass sie ein Verifizierungsverfahren für die empfangene Software und das empfangene Verifikationsmerkmal durchführt. Der Verifizierungsverfahren kann die Durchführung einer oder mehrerer kryptographischer Prüfungen an dem empfangenen Datenpaket umfassen. In Abhängigkeit davon, dass der Verifizierungsverfahren bestätigt, dass die empfangene Software authentisch ist, kann die Verifikationssteuerung 104 ein Steuersignal ausgeben, das es dem vorgesehenen Zielsteuergerät ermöglicht, die empfangene Software zu installieren. Weitere Einzelheiten werden in der nachfolgenden Beschreibung erläutert.
-
Bestätigt der Verifizierungsverfahren hingegen, dass die empfangene Software nicht authentisch ist, kann die Verifikationssteuerung 104 stattdessen ein Steuersignal ausgeben, das die Installation der Software auf einem beliebigen Steuergerät im Fahrzeug verhindert.
-
ist eine schematische Darstellung der Funktionskomponenten der Verifikationssteuerung 104.
-
Die Verifikationssteuerung 104 kann einen Prozessor 202, einen Speicher 204 und einen Ein-/Ausgang (I/O) 206 umfassen. Der Ein-/Ausgang 206 kann so konfiguriert sein, dass er das Datenpaket über einen gemeinsamen Kommunikationskanal mit dem Gateway-Steuermodul 102 empfängt. Der I/O 206 kann auch so konfiguriert sein, dass er ein Signal an ein beliebiges Steuergerät ausgibt, das mit einem der Datenbusse 108, 110, 112 innerhalb des Fahrzeugkommunikationsnetzes 100 verbunden ist.
-
Der Prozessor 202 kann so konfiguriert sein, dass er den Verifizierungsverfahren an der empfangenen Software durchführt. Wie bereits erwähnt, kann der Verifizierungsverfahren die Durchführung einer oder mehrerer kryptographischer Prüfungen an der empfangenen Software und die Ausgabe mindestens eines Steuersignals umfassen, wobei das Steuersignal vom Ergebnis des Verifizierungsverfahrenes abhängt.
-
3a ist ein Flussdiagramm 300a, das ein Beispiel für das Verifizierungsverfahren zeigt, das von der Verifikationssteuerung 104 gemäß einer Ausführungsform der Erfindung durchgeführt wird.
-
Bei 302 empfängt die Verifikationssteuerung 104 an der I/O 206 die empfangene Software und die Sicherheitsmerkmale, die in dem empfangenen Datenpaket enthalten sind.
-
Wenn das verschlüsselte Datenpaket mit einem privaten Schlüssel in einem kryptografischen Protokoll mit öffentlichem Schlüssel signiert wurde, kann die Verifikationssteuerung 104 nach dem Empfang das Datenpaket mit dem Gegenstück des öffentlichen Schlüssels wiederherstellen. Damit wird eine zusätzliche Sicherheit geschaffen, dass die empfangene Software von einem verifizierten Absender, d. h. einem Inhaber des privaten Schlüssels des kryptografischen Schlüsselpaares, gesendet wurde.
-
Bei 304 erzeugt der Prozessor 202 ein zweites Sicherheitsmerkmal in Abhängigkeit von der empfangenen Software auf der Grundlage von im Speicher 204 gespeicherten Anweisungen. Der Klarheit halber wird das zweite Sicherheitsmerkmal in der folgenden Beschreibung als Verifikationsmerkmal bezeichnet.
-
Das Verifikationsmerkmal kann mit derselben Methode erzeugt werden, die der Server 114 zur Erzeugung des Sicherheitsmerkmals verwendet. In einer Ausführungsform kann das Verifikationsmerkmal mit Hilfe eines kryptographischen Algorithmus erzeugt werden. Beispielsweise kann das Verifizierungsmerkmal ein Hash von mindestens einem Teil der empfangenen Software sein.
-
Bei 306 bestimmt die Verifikationssteuerung 104, ob das erzeugte Verifikationsmerkmal mit dem empfangenen Sicherheitsmerkmal konsistent ist. Handelt es sich bei dem Sicherheitsmerkmal um einen Hash (oder eine andere Einwegfunktion), der in Abhängigkeit von mindestens einem Teil der authentischen Software erzeugt wurde, und handelt es sich bei dem Verifikationsmerk um einen Hash, der in Abhängigkeit von mindestens einem Teil der empfangenen Software erzeugt wurde, so bedeutet Übereinstimmung, dass die Hashes der authentischen Software und der empfangenen Software identisch sind. Die beiden Hashes sind nur dann identisch, wenn der private und der öffentliche Schlüssel zum gleichen Schlüsselpaar gehören und die Software, auf die die kryptografische Hash-Funktion angewendet wurde, identisch ist. Wenn diese beiden Kriterien erfüllt sind, besteht ein hohes Maß an Sicherheit, dass die Software von einer autorisierten Quelle gesendet wurde und dass die Software die authentische Version der Software aus der autorisierten Quelle ist. Der Verifizierungsverfahren ermöglicht somit die Überprüfung der Integrität und Authentizität der empfangenen Software.
-
In anderen Ausführungsformen kann sich die Übereinstimmung des Sicherheitsmerkmals mit dem Verifikationsmerkmal darauf beziehen, dass das Verifikationsmerkmal dem entspricht, was aufgrund des empfangenen Sicherheitsmerkmals erwartet wird. Das Sicherheitsmerkmal und das Verifikationsmerkmal müssen also nicht unbedingt identisch sein, sondern können sich in Abhängigkeit vom verwendeten kryptographischen Protokoll auf unterschiedliche, vorher festgelegte Weise aufeinander beziehen.
-
Wenn sich herausstellt, dass das Verifikationsmerkmal nicht mit dem Sicherheitsmerkmal konsistent ist, fährt der Prozess mit 308 fort, in dem die Verifikationssteuerung ein Steuersignal ausgibt, das die Installation der Software auf dem Ziel-ECU 106 verhindert.
-
In einer Ausführungsform kann die Ausgabe auch eine Warnung umfassen, die das Kfz-Kommunikationsnetz und/oder einen Benutzer darüber informiert, dass die Verifizierung fehlgeschlagen ist. Die Warnung kann an andere Geräte innerhalb oder außerhalb des Fahrzeugs gesendet werden, z. B. an ein Fahrzeugdisplay, ein Audiosystem innerhalb des Fahrzeugs, eine Telematikeinheit, die so eingerichtet ist, dass sie Warnungen an ein externes Gerät oder einen Benutzer weiterleitet, ein Fahrzeugsteuergerät oder direkt an ein Gerät außerhalb des Fahrzeugs, wie z. B. ein Mobilgerät. Vorteilhaft ist, dass die Person, die die Softwareaktualisierung vornimmt, z. B. der Mechaniker, sofort von der fehlgeschlagenen Verifizierung erfährt und Maßnahmen ergreifen kann, um die Quelle der betrügerischen Software zu ermitteln.
-
In einer Ausführungsform kann die Warnmeldung an das Endgerät 120 ausgegeben werden, um beispielsweise einen Mechaniker zu benachrichtigen, dass die Softwareaktualisierung des Fahrzeugs 500 fehlgeschlagen ist. Die Warnung kann Informationen enthalten, die den Ursprung der Software und das Ziel-ECU 106 identifizieren. In einer Ausführungsform kann die Meldung an den Server 114 gesendet werden, entweder über das Endgerät 120 oder das Kommunikationsnetzwerk 116, um gespeichert zu werden, so dass eine Aufzeichnung des Vorfalls geführt werden kann, zum Beispiel in einer Datenbank.
-
Wenn das Ziel-ECU 106 die Software bereits empfangen hat, kann die Ausgabe ein Steuersignal an das ECU 106 umfassen, das das ECU 106 anweist, die empfangene Software aus dem Speicher zu löschen. Bei 310 wird der Software-Download von der Ziel-ECU 106 gelöscht.
-
Wenn bei 306 festgestellt wird, dass das Verifizierungsmerkmal mit dem Sicherheitsmerkmal konsistent ist, fährt der Prozess mit 312 fort, bei dem die Verifikationssteuerung 104 ein Steuersignal ausgibt, das die Installation der Software auf dem Ziel-ECU 106 ermöglicht.
-
In einer Ausführungsform, in der das ECU 106 die Software bereits empfangen und gespeichert hat, kann die Ausgabe ein an das ECU 106 gesendetes Steuersignal umfassen, das das ECU 106 anweist, die Softwareinstallation zu beginnen.
-
Bei 314 kann die ECU 106 die empfangene Software installieren. In einer Ausführungsform kann die ECU 106 die Software von einem flüchtigen Speicher, der operativ mit der ECU 106 verbunden ist, in einen nichtflüchtigen Speicher, der operativ mit der ECU 106 verbunden ist, verschieben.
-
Wenn das ECU 106 die Software noch nicht empfangen hat, kann die Verifikationssteuerung 104 die empfangene Software an das ECU 106 ausgeben, wobei das Steuersignal das ECU 106 anweist, die Softwareinstallation zu beginnen.
-
ist ein Datenflussdiagramm, das den Datenfluss vom Server 114 durch das Kfz-Kommunikationsnetz 100 gemäß einer Ausführungsform weiter veranschaulicht.
-
Zunächst wird das Datenpaket 402, das die Software und die Sicherheitsmerkmale enthält, vom Server 114, der sich außerhalb des Fahrzeugs befindet, an das Fahrzeug-Gateway-Steuermodul 102 gesendet. Wie oben beschrieben, kann das Datenpaket über eine drahtgebundene oder drahtlose Verbindung gesendet werden.
-
Nach dem Empfang des Datenpakets 402 identifiziert das Fahrzeug-Gateway-Steuermodul 102 das Ziel-ECU 106, für das die Software bestimmt ist (404). Das Gateway-Steuermodul 102 kann dann das Datenpaket an die Verifikationssteuerung 104 senden.
-
Das Gateway-Steuermodul 102 kann die Software 406 auch über die entsprechenden Datenbusse 108, 110, 112 an das Ziel-ECU 106 senden. Nach dem Empfang der Software 406 kann das Ziel-ECU 106 die Software 406 bei 408 speichern. In einigen Ausführungsformen speichert das ECU 106 die empfangene Software 406 in einem flüchtigen Speicher, der operativ mit dem ECU 106 verbunden ist. Auf diese Weise wird die empfangene Software nicht dauerhaft im Speicher 204 des Steuergeräts gespeichert. Dies kann eine zusätzliche Sicherheitsebene für den Verifizierungsverfahren darstellen. Wenn beispielsweise die Stromversorgung des Steuergeräts 106 während des Verifizierungsverfahrenes abgeschaltet wird, wird die empfangene Software aus dem Speicher gelöscht. Auf diese Weise wird das Risiko verringert, dass nicht verifizierte Software dauerhaft auf einem Fahrzeug-ECU 106 gespeichert wird.
-
In der Zwischenzeit kann die Verifikationssteuerung 104 ein Verifizierungsmerkmal bei 410 generieren, das dem Merkmal 304 in entspricht, wie oben beschrieben. Bei 412 kann die Verifikationssteuerung feststellen, ob das Verifikationsmerkmal mit dem Sicherheitsmerkmal konsistent ist, entsprechend 306 von 3, wie oben beschrieben. Bei 414 sendet die Verifikationssteuerung den Verifikationsstatus an die ECU 106 über die notwendigen Datenbusse 108, 110, 112, entsprechend 308 und 312 von 3.
-
Bei 416 installiert das ECU 106 die Software, wenn der Verifikationsstatus anzeigt, dass die Verifikation erfolgreich war. Das ECU 106 kann die Software zusätzlich in einem nichtflüchtigen Speicher speichern, der operativ mit dem ECU 106 verbunden ist, so dass die Software dauerhaft in einem operativ mit dem ECU 106 verbundenen Speicher gespeichert ist.
-
In einer Ausführungsform kann das Gateway-Steuermodul 102 das Datenpaket 402 an die Verifikationssteuerung 104 senden, aber davon absehen, die Software 406 an das Ziel-ECU 106 zu senden. In dieser Ausführungsform kann die Verifikationssteuerung die Software an das Steuergerät in Abhängigkeit davon ausgeben, dass das Sicherheitsmerkmal mit dem Verifikationsmerkmal konsistent ist, d.h. dass die Verifikation erfolgreich ist.
-
In einer Ausführungsform kann die Verifikationssteuerung 104 so konfiguriert sein, dass sie die Datenbusse 108, 110, 112 überwacht, um alle Daten zu erkennen, die Software-Updates entsprechen, die über die Datenbusse 108, 110, 112 an ein beliebiges ECU 106 gesendet werden. Das Gateway-Steuermodul 102 kann so konfiguriert sein, dass es die empfangene Software direkt an das Ziel-ECU 106 sendet, ohne das Datenpaket 402 an die Verifikationssteuerung 104 zu senden.
-
Bei der Erkennung eines Datenpakets, das von der Verifikationssteuerung als ein Datenpaket identifiziert wird, das Software enthält, die auf einem Ziel-ECU 106 installiert werden soll, kann die Verifikationssteuerung 104 dieses Datenpaket abfangen.
-
Da das Sicherheitsmerkmal möglicherweise nicht an das Ziel-ECU 106 gesendet wird, kann die Verifikationssteuerung 104 eine Anfrage über den Datenbus 110 an das Gateway-Steuermodul 102 für das Sicherheitsmerkmal senden, das der abgefangenen Software 406 entspricht.
-
3b ist ein Flussdiagramm 300b, das ein alternatives Beispiel für das Verifizierungsverfahren zeigt, der von der Verifikationssteuerung 104 gemäß einer Ausführungsform der Erfindung durchgeführt wird.
-
In diesem Beispiel beginnt das Verfahren bei 301 mit der Erkennung von Software-Aktualisierungsdaten, die über einen oder mehrere der Datenbusse 108, 110, 112 gesendet werden.
-
Bei 303 wird ein erstes Sicherheitsmerkmal extrahiert oder auf andere Weise aus den Software-Aktualisierungsdaten gewonnen.
-
Bei 304 erzeugt der Prozessor 202 ein zweites Sicherheitsmerkmal in Abhängigkeit von der empfangenen Software auf der Grundlage von im Speicher 204 gespeicherten Anweisungen. Der Klarheit halber wird das zweite Sicherheitsmerkmal in der folgenden Beschreibung als Verifikationsmerkmal bezeichnet.
-
Das Verifikationsmerkmal kann mit derselben Methode erzeugt werden, die der Server 114 zur Erzeugung des Sicherheitsmerkmals verwendet. In einer Ausführungsform kann das Verifikationsmerkmal mit Hilfe eines kryptographischen Algorithmus erzeugt werden. Beispielsweise kann das Verifizierungsmerkmal ein Hash von mindestens einem Teil der empfangenen Software sein.
-
Bei 306 bestimmt die Verifikationssteuerung 104, ob das erzeugte Verifikationsmerkmal mit dem empfangenen Sicherheitsmerkmal konsistent ist. Handelt es sich bei dem Sicherheitsmerkmal um einen Hash (oder eine andere Einwegfunktion), der in Abhängigkeit von mindestens einem Teil der authentischen Software erzeugt wurde, und handelt es sich bei dem Verifikationsmerk um einen Hash, der in Abhängigkeit von mindestens einem Teil der empfangenen Software erzeugt wurde, so bedeutet Konsistenz, dass die Hashes der authentischen Software und der empfangenen Software identisch sind. Die beiden Hashes sind nur dann identisch, wenn der private und der öffentliche Schlüssel zum gleichen Schlüsselpaar gehören und die Software, auf die die kryptografische Hash-Funktion angewendet wurde, identisch ist. Wenn diese beiden Kriterien erfüllt sind, besteht ein hohes Maß an Sicherheit, dass die Software von einer autorisierten Quelle gesendet wurde und dass die Software die authentische Version der Software aus der autorisierten Quelle ist. Der Verifizierungsverfahren ermöglicht somit die Überprüfung der Integrität und Authentizität der empfangenen Software.
-
In anderen Ausführungsformen kann sich die Konsistenz des Sicherheitsmerkmals mit dem Verifikationsmerkmal darauf beziehen, dass das Verifikationsmerkmal dem entspricht, was aufgrund des empfangenen Sicherheitsmerkmals erwartet wird. Das Sicherheitsmerkmal und das Verifikationsmerkmal müssen also nicht unbedingt identisch sein, sondern können sich in Abhängigkeit vom verwendeten kryptographischen Protokoll auf unterschiedliche, vorher festgelegte Weise aufeinander beziehen.
-
Wenn sich herausstellt, dass das Verifikationsmerkmal nicht mit dem Sicherheitsmerkmal konsistent ist, fährt das Verfahren mit 308 fort, in dem die Verifikationssteuerung ein Steuersignal ausgibt, das die Installation der Software auf dem Ziel-ECU 106 verhindert.
-
In einer Ausführungsform kann die Ausgabe auch eine Warnung umfassen, die das Kfz-Kommunikationsnetz und/oder einen Benutzer darüber informiert, dass die Verifizierung fehlgeschlagen ist. Die Warnung kann an andere Geräte innerhalb oder außerhalb des Fahrzeugs gesendet werden, z. B. an ein Fahrzeugdisplay, ein Audiosystem innerhalb des Fahrzeugs, eine Telematikeinheit, die so eingerichtet ist, dass sie Warnungen an ein externes Gerät oder einen Benutzer weiterleitet, ein Fahrzeugsteuergerät oder direkt an ein Gerät außerhalb des Fahrzeugs, wie z. B. ein Mobilgerät. Vorteilhaft ist, dass die Person, die die Softwareaktualisierung vornimmt, z. B. der Mechaniker, sofort von der fehlgeschlagenen Verifizierung erfährt und Maßnahmen ergreifen kann, um die Quelle der betrügerischen Software zu ermitteln.
-
In einer Ausführungsform kann die Warnmeldung an das Endgerät 120 ausgegeben werden, um beispielsweise einen Mechaniker zu benachrichtigen, dass die Softwareaktualisierung des Fahrzeugs 500 fehlgeschlagen ist. Die Warnung kann Informationen enthalten, die den Ursprung der Software und das Ziel-ECU 106 identifizieren. In einer Ausführungsform kann die Meldung an den Server 114 gesendet werden, entweder über das Endgerät 120 oder das Kommunikationsnetzwerk 116, um gespeichert zu werden, so dass eine Aufzeichnung des Vorfalls geführt werden kann, zum Beispiel in einer Datenbank.
-
Wenn das Ziel-ECU 106 die Software bereits empfangen hat, kann die Ausgabe ein Steuersignal an das ECU 106 umfassen, das das ECU 106 anweist, die empfangene Software aus dem Speicher zu löschen. Bei 310 wird der Software-Download von der Ziel-ECU 106 gelöscht.
-
Wenn bei 306 festgestellt wird, dass das Verifizierungsmerkmal mit dem Sicherheitsmerkmal konsistent ist, fährt der Prozess mit 312 fort, bei dem die Verifikationssteuerung 104 ein Steuersignal ausgibt, das die Installation der Software auf dem Ziel-ECU 106 ermöglicht.
-
In einer Ausführungsform, in der das ECU 106 die Software bereits empfangen und gespeichert hat, kann die Ausgabe ein an das ECU 106 gesendetes Steuersignal umfassen, das das ECU 106 anweist, die Softwareinstallation zu beginnen.
-
Bei 314 kann die ECU 106 die empfangene Software installieren. In einer Ausführungsform kann die ECU 106 die Software von einem flüchtigen Speicher, der operativ mit der ECU 106 verbunden ist, in einen nichtflüchtigen Speicher, der operativ mit der ECU 106 verbunden ist, verschieben.
-
Wenn das ECU 106 die Software noch nicht empfangen hat, kann die Verifikationssteuerung 104 die empfangene Software an das ECU 106 ausgeben, wobei das Steuersignal das ECU 106 anweist, die Softwareinstallation zu beginnen.
-
In einer Ausführungsform kann das Ziel-ECU 106 eine Anfrage an die Verifikationssteuerung 104 senden, um den Verifikationsstatus 414 anzufordern. Wenn das ECU 106 die Software bereits empfangen und gespeichert hat, kann das ECU 106 auf die Bestätigung der Verifikationssteuerung warten, dass die Verifikation erfolgreich war, bevor es mit der Installation der empfangenen Software beginnt. In einer Ausführungsform kann das ECU 106 die Software zunächst aus dem flüchtigen Speicher in den nicht-flüchtigen Speicher verschieben, bevor es mit der Installation der Software beginnt.
-
Wenn das Ziel-ECU 106 die Software noch nicht erhalten hat, kann die Abfrage verlangen, dass die Software 406 vom Verifikationssteuerung 104 an das ECU 106 gesendet wird, wenn die Verifikationssteuerung feststellt, dass die Software authentisch ist, d.h. dass die Verifikation erfolgreich war.
-
5 ist eine schematische Darstellung eines Fahrzeugs 500, wobei das Fahrzeug 500 das automobile Kommunikationsnetzwerk 100 mit dem hier beschriebenen Verifikationssteuerung umfasst.
-
An den obigen Beispielen können zahlreiche Änderungen vorgenommen werden, ohne dass der Anwendungsbereich der vorliegenden Erfindung, wie er in den beigefügten Ansprüchen definiert ist, verlassen wird.