DE112020001126T5 - Fahrzeugsteuergerät - Google Patents

Fahrzeugsteuergerät Download PDF

Info

Publication number
DE112020001126T5
DE112020001126T5 DE112020001126.7T DE112020001126T DE112020001126T5 DE 112020001126 T5 DE112020001126 T5 DE 112020001126T5 DE 112020001126 T DE112020001126 T DE 112020001126T DE 112020001126 T5 DE112020001126 T5 DE 112020001126T5
Authority
DE
Germany
Prior art keywords
software
security feature
verification
vehicle
control unit
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
DE112020001126.7T
Other languages
English (en)
Inventor
Peter Barry
Javier Olarreta
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.)
Jaguar Land Rover Ltd
Original Assignee
Jaguar Land Rover Ltd
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 Jaguar Land Rover Ltd filed Critical Jaguar Land Rover Ltd
Publication of DE112020001126T5 publication Critical patent/DE112020001126T5/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L2270/00Problem solutions or means not otherwise provided for
    • B60L2270/40Problem solutions or means not otherwise provided for related to technical updates when adding new parts or software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Stored Programmes (AREA)

Abstract

Die vorliegende Offenbarung bezieht sich auf eine Verifikationssteuerung für ein Fahrzeug, das so konfiguriert ist, dass es Daten empfängt, die über einen Datenbus innerhalb des Fahrzeugs gesendet werden, Softwareaktualisierungsdaten erkennt, die über den Datenbus an eine Steuereinheit innerhalb des Fahrzeugs gesendet werden, aus den Softwareaktualisierungsdaten ein erstes Sicherheitsmerkmal bestimmt, das mit einer authentischen Version der Softwareaktualisierung verknüpft ist, 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-Aktualisierung auf der Steuereinheit in Abhängigkeit von dem zweiten Sicherheitsmerkmal, das mit dem ersten Sicherheitsmerkmal konsistent ist, ermöglicht.

Description

  • 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.

Claims (12)

  1. Eine Verifikationssteuerung für ein Fahrzeug, wobei die Verifikationssteuerung konfiguriert ist, zum: Erkennen von Software-Aktualisierungsdaten, die Aktualisierungssoftware umfassen, die über einen Datenbus an eine Steuereinheit innerhalb des Fahrzeugs gesendet wird; Bestimmen aus den Software-Aktualisierungsdaten eines ersten Sicherheitsmerkmals, das mit einer authentischen Version der Software verknüpft ist; 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 empfangenen Software auf der Steuereinheit in Abhängigkeit davon ermöglicht, dass das zweite Sicherheitsmerkmal mit dem ersten Sicherheitsmerkmal konsistent ist.
  2. Die Verifikationssteuerung nach Anspruch 1, wobei die Verifikationssteuerung umfasst mindestens einen elektronischen Prozessor mit einem elektrischen Eingang zum Empfang von Daten, die über den Datenbus gesendet werden; und mindestens eine Speichervorrichtung, die elektrisch mit dem mindestens einen elektronischen Prozessor verbunden ist und in der Anweisungen gespeichert sind; und wobei der mindestens eine elektronische Prozessor so konfiguriert ist, dass er auf die mindestens eine Speichervorrichtung zugreift und die Anweisungen darauf ausführt, um: Software-Aktualisierungsdaten zu erkennen, die Aktualisierungssoftware umfassen, die über den Datenbus an eine Steuereinheit innerhalb des Fahrzeugs gesendet wird; aus den Software-Aktualisierungsdaten ein erstes Sicherheitsmerkmal zu bestimmen, das mit einer authentischen Version der Software verknüpft ist; Erzeugen eines zweiten Sicherheitsmerkmals in Abhängigkeit von den empfangenen Software-Aktualisierungsdaten; Bestimmen, ob das zweite Sicherheitsmerkmal mit dem ersten Sicherheitsmerkmal konsistent ist; und Ausgabe 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.
  3. Die Verifikationssteuerung nach Anspruch 1 oder Anspruch 2, wobei die Steuereinheit eine von mehreren Fahrzeugsteuereinheiten ist.
  4. Verifikationssteuerung nach Anspruch 3, wobei die Verifikationssteuerung so konfiguriert ist, dass sie Daten empfängt, die über eine Vielzahl von Datenbussen innerhalb des Fahrzeugs gesendet werden, wobei jeder Datenbus mindestens eine der Vielzahl von Fahrzeugsteuereinheiten hat, die operativ damit verbunden ist.
  5. Die Verifikationssteuerung nach einem der vorhergehenden Ansprüche, wobei die Verifikationssteuerung in einem Gateway-Steuermodul enthalten ist.
  6. Die Verifikationssteuerung nach einem der vorhergehenden Ansprüche, wobei die Verifikationssteuerung so eingerichtet ist, dass sie ein Warnsignal in Abhängigkeit davon ausgibt, dass das zweite Sicherheitsmerkmal nicht mit dem ersten Sicherheitsmerkmal konsistent ist.
  7. Die Verifikationssteuerung nach einem der vorhergehenden Ansprüche, wobei die Verifikationssteuerung so konfiguriert ist, dass sie ein zweites Steuersignal ausgibt, das die Installation der Software auf der Steuereinheit in Abhängigkeit davon verhindert, dass das zweite Sicherheitsmerkmal nicht mit dem ersten Sicherheitsmerkmal konsistent ist.
  8. Verifikationssteuerung nach einem der vorhergehenden Ansprüche, wobei die Verifikationssteuerung so eingerichtet ist, dass sie das erste Steuersignal in Abhängigkeit vom Empfang einer Anforderung von der Steuereinheit ausgibt.
  9. Verfahren zum Verifizieren der Authentizität von empfangener Software zur Installation auf einer Steuereinheit in einem Fahrzeug, wobei das Verfahren umfasst: Erkennen von Software-Aktualisierungsdaten, die Aktualisierungssoftware umfassen, die über einen Datenbus an eine Steuereinheit innerhalb des Fahrzeugs gesendet wird; Bestimmen eines ersten Sicherheitsmerkmals aus den Software-Aktualisierungsdaten, das mit einer authentischen Version der Software verknüpft ist; Erzeugen eines zweiten Sicherheitsmerkmals 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 davon ermöglicht, dass das zweite Sicherheitsmerkmal mit dem ersten Sicherheitsmerkmal konsistent ist.
  10. Fahrzeug, das die Verifikationssteuerung nach einem der Ansprüche 1 bis 8 umfasst oder so konfiguriert ist, dass es das Verfahren nach Anspruch 9 durchführt.
  11. Computersoftware, die, wenn sie ausgeführt wird, so eingerichtet ist, dass sie ein Verfahren nach Anspruch 9 durchführt.
  12. Nichttransitorisches, computerlesbares Speichermedium, auf dem Befehle gespeichert sind, die, wenn sie von einem oder mehreren elektronischen Prozessoren ausgeführt werden, den einen oder die mehreren elektronischen Prozessoren veranlassen, das Verfahren nach Anspruch 9 auszuführen.
DE112020001126.7T 2019-03-08 2020-03-06 Fahrzeugsteuergerät Pending DE112020001126T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1903114.5 2019-03-08
GB1903114.5A GB2582006A (en) 2019-03-08 2019-03-08 Vehicle controller
PCT/EP2020/056097 WO2020182685A1 (en) 2019-03-08 2020-03-06 Vehicle controller

Publications (1)

Publication Number Publication Date
DE112020001126T5 true DE112020001126T5 (de) 2021-12-09

Family

ID=66380482

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020001126.7T Pending DE112020001126T5 (de) 2019-03-08 2020-03-06 Fahrzeugsteuergerät

Country Status (4)

Country Link
US (1) US20220179636A1 (de)
DE (1) DE112020001126T5 (de)
GB (2) GB2582006A (de)
WO (1) WO2020182685A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022154558A (ja) * 2021-03-30 2022-10-13 本田技研工業株式会社 車載電子システム、車両、制御方法、及びプログラム
US11409866B1 (en) 2021-06-25 2022-08-09 Northrop Grumman Systems Corporation Adaptive cybersecurity for vehicles
US11681811B1 (en) * 2021-06-25 2023-06-20 Northrop Grumman Systems Corporation Cybersecurity for configuration and software updates of vehicle hardware and software based on fleet level information

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4677477A (en) * 1985-08-08 1987-06-30 Picker International, Inc. Television camera control in radiation imaging
US6779636B2 (en) * 2002-10-15 2004-08-24 International Truck Intellectual Property Company, Llc Park-brake monitoring-system for a vehicle
EP1903537A3 (de) * 2005-07-20 2008-06-11 Richstone Consulting LLC System und Verfahren zur Simulation eines manuellen Eingriffs in ein medizinisches Verfahren durch einen Benutzer
US8898477B2 (en) * 2007-11-12 2014-11-25 Gemalto Inc. System and method for secure firmware update of a secure token having a flash memory controller and a smart card
US20140164789A1 (en) * 2012-12-07 2014-06-12 Advanced Micro Devices, Inc. Authenticating microcode patches with external encryption engine
JP6024564B2 (ja) * 2013-03-28 2016-11-16 株式会社オートネットワーク技術研究所 車載通信システム
US20160196131A1 (en) * 2014-07-07 2016-07-07 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems
EP3318448B1 (de) * 2015-06-30 2023-12-06 Hitachi Astemo, Ltd. Fahrzeugdatenumschreibungssteuerungsvorrichtung und fahrzeugdatenumschreibungsauthentifizierungssystem
US10025576B2 (en) * 2015-07-10 2018-07-17 Dell Products, Lp Method for deploying BIOS integrity measurement via BIOS update package and system therefor
US10958435B2 (en) * 2015-12-21 2021-03-23 Electro Industries/ Gauge Tech Providing security in an intelligent electronic device
EP3214567B1 (de) * 2016-03-01 2020-02-19 Siemens Aktiengesellschaft Sichere externe aktualisierung von speicherinhalt für ein bestimmtes system auf einem chip
FR3053864B1 (fr) * 2016-07-05 2018-08-17 Alstom Transport Technologies Procede de mise a jour d'une pluralite de vehicules et ensemble forme d'une pluralite de vehicules ferroviaires et d'un systeme de gestion associe
US11146401B2 (en) * 2016-08-10 2021-10-12 Ford Global Technologies, Llc Software authentication before software update
US11295017B2 (en) * 2017-01-31 2022-04-05 Ford Global Technologies, Llc Over-the-air updates security
US10269192B2 (en) * 2017-04-07 2019-04-23 Airbiquity Inc. Technologies for verifying control system operation
US10360020B2 (en) * 2017-04-11 2019-07-23 Nio Usa, Inc. Virtual machine (VM) approach to embedded system hot update
EP3399410A1 (de) * 2017-05-04 2018-11-07 Volvo Car Corporation Verfahren und system zur software-installation in einem fahrzeug
WO2018208777A1 (en) * 2017-05-08 2018-11-15 Bae Systems Information And Electronic Systems Integration Inc. System and method for cryptographic verification of vehicle authenticity

Also Published As

Publication number Publication date
GB2584532B (en) 2023-05-10
GB2584532A (en) 2020-12-09
GB2582006A (en) 2020-09-09
GB201903114D0 (en) 2019-04-24
US20220179636A1 (en) 2022-06-09
GB202003313D0 (en) 2020-04-22
WO2020182685A1 (en) 2020-09-17

Similar Documents

Publication Publication Date Title
DE112014005412B4 (de) Programmaktualisierungssystem und Programmaktualisierungsverfahren
DE102016115545A1 (de) Mehrstufige sichere fahrzeug-softwareaktualisierung
DE102014114606B4 (de) Programmierung von Fahrzeugmodulen mit Remotevorrichtungen und zugehörige Methoden und Systeme
DE102014114607B4 (de) Programmierung von Fahrzeugmodulen mit Remotevorrichtungen und zugehörige Methoden und Systeme
DE102018100015A1 (de) Wechselverifizierung vor abschaltung
DE102020124163A1 (de) Verifizierung von fahrzeugdaten
US20170245151A1 (en) Vehicle module update, protection and diagnostics
DE102017125826A1 (de) Nachrichtenauthentifizierung über controller area network
DE102018101856A1 (de) Sicherheit von Aktualisierungen über eine Luftschnittstelle
DE112020001126T5 (de) Fahrzeugsteuergerät
DE102016110169A1 (de) Diebstahlverhinderung für autonome Fahrzeuge
DE102015220489B4 (de) Verfahren zur Autorisierung einer Softwareaktualisierung in einem Kraftfahrzeug
DE112011103745T5 (de) Fahrzeugmontiertes Netzwerksystem
DE102013108022A1 (de) Verfahren zum Aktivieren des Entwicklungsmodus eines gesicherten elektronischen Steuergeräts
DE102013108021A1 (de) Verfahren zum selektiven Software-Rollback
DE102012106791A1 (de) Verfahren und vorrichtung zur automatischen modulaufrüstung
DE102017218872A1 (de) Verfahren und Vorrichtung zum Aktualisieren von Software eines Kfz-Steuergerätes
DE102013108020A1 (de) Authentifizierungsschema zum Aktivieren eines Spezial-Privileg-Modus in einem gesicherten elektronischen Steuergerät
DE102016207836A1 (de) Verfahren und System zum Aktualisieren der Software eines Kraftfahrzeug-Sensors
DE102018109080A1 (de) Systeme und verfahren zum verwenden mechanischer schwingung für ausserbandkommunikationen an bord eines fahrzeugs
DE102014018460A1 (de) Verfahren zur Steuerung des Betriebs wenigstens einer Funktionskomponente eines Kraftfahrzeugs und Kraftfahrzeug
DE102018200318A1 (de) Absicherung eines Softwareupdates eines Steuergerätes eines Fortbewegungsmittels
DE102011117006A1 (de) Sichere Verbindungssysteme und -verfahren für Fahrzeuge
DE102023107659A1 (de) Unleugbarer verlauf von fahrzeugänderungen
DE102014018110A1 (de) Verfahren und System zur Fernsteuerung eines Fahrzeuges oder einer Fahrzeugfunktion