DE102014114607A1 - Programmierung von Fahrzeugmodulen mit Remotevorrichtungen und zugehörige Methoden und Systeme - Google Patents

Programmierung von Fahrzeugmodulen mit Remotevorrichtungen und zugehörige Methoden und Systeme Download PDF

Info

Publication number
DE102014114607A1
DE102014114607A1 DE201410114607 DE102014114607A DE102014114607A1 DE 102014114607 A1 DE102014114607 A1 DE 102014114607A1 DE 201410114607 DE201410114607 DE 201410114607 DE 102014114607 A DE102014114607 A DE 102014114607A DE 102014114607 A1 DE102014114607 A1 DE 102014114607A1
Authority
DE
Germany
Prior art keywords
module
programming
vehicle
update
communication network
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.)
Granted
Application number
DE201410114607
Other languages
English (en)
Other versions
DE102014114607B4 (de
Inventor
Jonathan Schwarz
Douglas Martin
William Mazzara
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.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
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 GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102014114607A1 publication Critical patent/DE102014114607A1/de
Application granted granted Critical
Publication of DE102014114607B4 publication Critical patent/DE102014114607B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information

Abstract

Es werden Verfahren, Geräte und Systeme für die Programmierung eines Fahrzeugmoduls bereitgestellt. Das beispielhafte Fahrzeug umfasst ein erstes Modul, ein Gateway-Modul, welches kommunikativ an das erste Modul gekoppelt ist, und ein Aktualisierungsmodul, welches kommunikativ an das Gateway-Modul gekoppelt ist. Das Aktualisierungsmodul ist konfiguriert, um dem Gateway-Modul Autorisierungsinformationen und Programmierungsdaten bereitzustellen. Das Gateway-Modul ist konfiguriert, um zu überprüfen, dass die Programmierung des ersten Moduls, zumindest zum Teil auf den Autorisierungsinformationen basierend autorisiert ist und um dem ersten Modul die Programmierungsdaten nach Überprüfung, dass die Programmierung des ersten Moduls autorisiert ist, bereitzustellen.

Description

  • KREUZREFERENZ FÜR DIE ZUGEHÖRIGEN ANWENDUNGEN
  • Der hier beschriebene Gegenstand bezieht sich auf den Gegenstand beschrieben unter US Patent-Seriennummer XX/XXX,XXX (Aktenzeichen Nr.: P024876-GMVE-CD (003.1077)), gleichzeitig hiermit eingereicht.
  • TECHNISCHES GEBIET
  • Die hier beschriebenen Ausführungsformen des Gegenstands betreffen im Allgemeinen Fahrzeugsysteme und genauer gesagt Systeme und Methoden zur sicheren Programmierung eines Moduls innerhalb eines Fahrzeugs mithilfe von Programmierungsinformationen von einer Remotevorrichtung aus.
  • HINTERGRUND:
  • In den letzten Jahren haben technologische Fortschritte zu bedeutenden Änderungen des Designs von Kraftfahrzeugen geführt. Moderne Fahrzeuge umfassen eine Vielzahl von elektronischen Komponenten, wie z. B. Motorsteuerungen (ECU), Systeme zur Traktionskontrolle, Lenkhilfesysteme, Bremssysteme, Systeme zur Klimaregelung, Navigationssysteme, Infotainmentsysteme und Ähnliches. Des Weiteren sind moderne Fahrzeuge oft in der Lage, Kommunikationen von/zu externen Komponenten zu unterstützen, z. B. über externe Kommunikationsnetzwerke (z. B. Mobiltelefonnetzwerke, drahtlose Netzwerke, Personal Area Network, oder Ähnliches) oder eine physikalische Schnittstelle (z. B. eine Busschnittstelle oder Ähnliches).
  • Während der Lebenszeit eines Fahrzeugs könnte es wünschenswert sein, eine oder mehrere der Elektronikkomponenten eines Fahrzeugs neu zu programmieren oder anderweitig zu aktualisieren, um neue Funktionen und/oder Funktionalitäten zu unterstützen oder anderweitig bereitzustellen oder um mögliche Probleme mit bestehenden Funktionen und/oder Funktionalitäten zu beheben. Es zu gestatten, dass Fahrzeuge aktualisiert oder anderweitig neu programmiert werden durch eine externe Komponente, stellt zahlreiche Risiken für die Internetsicherheit dar. Demzufolge wird empfohlen, Systeme und Methoden für die sichere Programmierung der Elektronikkomponenten des Fahrzeugs bereitzustellen, um die Anfälligkeit oder Empfindlichkeit gegenüber Cyberangriffen zu reduzieren. Ferner werden andere wünschenswerte Merkmale und Kennzeichen der vorliegenden Erfindung aus der nachstehenden ausführlichen Beschreibung und den beiliegenden Ansprüchen hervorgehen, wenn sie in Verbindung mit den beiliegenden Zeichnungen und dem vorstehenden technischen Gebiet und dem Hintergrund gesehen werden.
  • KURZDARSTELLUNG
  • In einem oder mehreren Ausführungsbeispielen wird eine Vorrichtung für ein Fahrzeug bereitgestellt. Das Fahrzeug umfasst ein erstes Modul, ein Gateway-Modul, welches kommunikativ an das erste Modul gekoppelt ist, und ein Aktualisierungsmodul, welches kommunikativ an das Gateway-Modul gekoppelt ist. Das Aktualisierungsmodul ist konfiguriert, um Autorisierungsinformationen und Programmierungsdaten für das Gateway-Modul bereitzustellen. Das Gateway-Modul ist konfiguriert, um zu überprüfen, dass die Programmierung des ersten Moduls autorisiert ist, basierend zumindest zum Teil auf den Autorisierungsinformationen, und um dem ersten Modul die Programmierungsdaten bereitzustellen, nachdem überprüft wurde, dass die Programmierung des ersten Moduls autorisiert ist.
  • In einer weiteren Ausführungsform wird eine Methode zur Programmierung eines Fahrzeugmoduls bereitgestellt, welches kommunikativ an das Gateway-Modul gekoppelt ist. Das Gateway-Modul erzeugt Sitzungsinformationen für eine Programmierungsaktualisierung für das Fahrzeugmodul. Die Methode fährt mit der Entschlüsselung der Authentifizierungsinformationen mithilfe der Sitzungsinformationen fort, um einen entschlüsselten Schlüssel zu erhalten, wobei die Programmierungsaktualisierung zumindest zum Teil auf dem entschlüsselten Schlüssel basiert, und der Bereitstellung über das Gateway-Modul von Programmierungsdaten für die Programmierungsaktualisierung an das Fahrzeugmodul nach der Authentifizierung der Programmierungsaktualisierung.
  • Gemäß anderer der unterschiedlichen Ausführungsbeispiele wird ein Fahrzeugsystem bereitgestellt. Das Fahrzeugsystem umfasst ein erstes Kommunikationsnetzwerk, ein zweites Kommunikationsnetzwerk, ein an das zweite Kommunikationsnetzwerk gekoppeltes Fahrzeugmodul, ein an das erste Kommunikationsnetzwerk gekoppeltes Aktualisierungsmodul und ein an das erste Kommunikationsnetzwerk und das zweite Kommunikationsnetzwerk gekoppeltes Gateway-Modul. Das Aktualisierungsmodul ist konfiguriert, um Programmierungsdaten für das Fahrzeugmodul zu erhalten, Autorisierungsinformationen von der Remotevorrichtung zu erhalten und die Autorisierungsinformationen und Programmierungsdaten dem Gateway-Modul über das erste Kommunikationsnetzwerk bereitzustellen. Das Gateway-Modul ist konfiguriert, um dem Fahrzeugmodul Programmierungsdaten bereitzustellen, nachdem die Autorisierungsinformationen authentifiziert wurden. Das Fahrzeugmodul ist konfiguriert, um eine Anwendung am Fahrzeug zu aktualisieren, basierend zumindest zum Teil auf den Programmierungsdaten nach dem Erhalt der Programmierungsdaten vom Gateway-Modul.
  • BESCHREIBUNG DER ZEICHNUNGEN
  • Die Ausführungsbeispiele werden nachstehend in Verbindung mit den folgenden Zeichnungsfiguren beschrieben, wobei die gleichen Zahlen die gleichen Elemente bezeichnen, und wobei:
  • 1 ein Blockdiagramm eines Beispiel-Fahrzeugkommunikationssystems ist, gemäß einer oder mehreren Ausführungsformen;
  • 2 ein Blockdiagramm eines Beispiels eines Elektronikgerätes für den Gebrauch im Fahrzeugkommunikationssystem von 1 gemäß einer oder mehreren Ausführungsformen ist;
  • 3 ein Flussdiagramm ist, das ein Beispiel eines Programmierungsprozesses abbildet, der für die Anwendung durch das Fahrzeugkommunikationssystem von 1 geeignet ist, gemäß einer oder mehreren Ausführungsformen; und
  • 4 ein Diagramm ist, das eine Reihe von Kommunikationen innerhalb des Fahrzeugkommunikationssystem von 1 abbildet gemäß einem Ausführungsbeispiel des Programmierungsprozesses von 3. 3.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die nachstehende ausführliche Beschreibung ist rein beispielhafter Art und nicht dazu gedacht, die Ausführungsformen des Gegenstandes oder die Anwendung und Verwendungen solcher Ausführungsformen einzuschränken. Der hier verwendete Begriff „beispielhaft” bedeutet „als Beispiel, als Exempel oder zur Veranschaulichung dienend”. Eine hier als beispielhaft beschriebene Implementierung ist anderen Implementierungen gegenüber nicht notwendigerweise als bevorzugt oder vorteilhafter zu betrachten. Außerdem ist keine Einschränkung auf irgendeine der in dem zuvor erwähnten technischen Gebiet, dem Hintergrund, der Kurzfassung oder der folgenden detaillierten Beschreibung ausgedrückten oder implizierten Lehre beabsichtigt.
  • Die Ausführungsformen des hier beschriebenen Gegenstands betreffen die Programmierung eines Moduls in einem Fahrzeug, z. B. einem Pkw, unter Verwendung von Programmierungsinformationen von einer Remotevorrichtung. Wie nachstehend genauer beschrieben, wird eine Programmierungsaktualisierung für eine Anwendung auf einem zu programmierenden Fahrzeugmodul (alternativ hier als Zielanwendung eines Zielmoduls beschrieben) durch ein anderes Modul im Fahrzeug erhalten, das über ein Gateway-Modul an das Fahrzeugmodul gekoppelt ist. In dieser Hinsicht ist das Modul, das die Programmierungsaktualisierung erhält, kommunikativ an das Gateway-Modul über ein Kommunikationsnetzwerk gekoppelt, das anders als das Kommunikationsnetzwerk ist, an dem das Zielmodul gekoppelt ist. Zwecks Erklärung, aber ohne Einschränkung, kann das Modul, das die Programmierungsaktualisierung erhält, auch als Aktualisierungsmodul bezeichnet werden. Die Programmierungsaktualisierung umfasst einen Programmierungsdatenteil, welcher eine Datei oder ein anderes logisches Datensegment sein kann, das eine Reihe ausführbare Anweisungen umfasst (z. B. Code, Skript oder Ähnliches), welche in der Lage sind, vom Zielmodul gelesen und ausgeführt zu werden, um die Zielanwendung und deren Ausführung zu ändern, modifizieren, aktualisieren oder anderweitig zu beeinflussen. In anderen Worten, die Zielanwendung wird, basierend zumindest zum Teil auf den Programmierungsdaten, als Antwort auf eine Reihe Anweisungen der Programmierungsdaten, die vom Zielmodul ausgeführt werden, aktualisiert.
  • In Ausführungsbeispielen befragt das Aktualisierungsmodul, dass das Gateway-Modul eine Programmierungssitzung mit dem Zielmodul aktiviert, nachdem es die Programmierungsaktualisierung erhalten hat. Das Gateway-Modul speichert oder verwaltet anderweitig einen oder mehrere Schlüssel, die mit dem Fahrzeug in Beziehung stehen, und das Gateway-Modul erzeugt als Antwort auf die ursprüngliche Programmierungsanfrage dynamisch Sitzungsinformationen mithilfe eines oder mehreren der gespeicherten Schlüssel, und stellt die Sitzungsinformationen dem Aktualisierungsmodul bereit. Die Sitzungsinformationen werden verwendet, um zu authentifizieren, dass die Programmierungssitzung von einem zuverlässigen Gateway-Modul angefordert wird, und die Sitzungsinformationen können hier alternativ als Sitzungsauthentifizierung bezeichnet werden. Nach Erhalt der Sitzungsauthentifizierungsinformationen fordert das Aktualisierungsmodul eine Autorisierung der Programmierungssitzung von einer Remotevorrichtung an, durch Bereitstellung der Sitzungsauthentifizierungsinformationen. Die Remotevorrichtung hat Zugriff auf einen oder mehrere Schlüssel, die mit dem Fahrzeug in Beziehung stehen, und verwendet diese Schlüssel, um zu prüfen, bestätigen oder anderweitig zu authentifizieren, dass die vom Aktualisierungsmodul eines bestimmten Fahrzeugs angeforderte Programmierungssitzung ein zuverlässiges Gateway-Modul in diesem Fahrzeug umfasst. Je nach Ausführungsform kann die Remotevorrichtung kommunikativ an das Aktualisierungsmodul im Fahrzeug über das Kommunikationsnetzwerk oder über eine an das Aktualisierungsmodul gekoppelte Eingabeschnittstelle gekoppelt werden (z. B. durch Einstecken der Remotevorrichtung in die Eingabeschnittstelle).
  • Nach der Authentifizierung der Sitzungsinformationen bestimmt die Remotevorrichtung ebenfalls, ob die Programmierung eines bestimmten Zielmoduls im Fahrzeug basierend auf einem oder mehreren Kriterien autorisiert ist. Die Remotevorrichtung kann zum Beispiel Programmierungsanforderungen in Beziehung mit einem bestimmten Fahrzeug, Zielmodul und/oder Aktualisierungsmodul überwachen und die Menge oder Frequenz der Programmierungssitzungen beschränken, die für das jeweilige Fahrzeug, Zielmodul und/oder Aktualisierungsmodul zugelassen sind. Wenn in dieser Hinsicht die Anzahl der Programmierungsanforderungen einen zulässigen Grenzwert von Programmierungsanforderungen übertrifft, autorisiert die Remotevorrichtung die Programmierungssitzung nicht und stellt keine Antwort auf die Programmierungsanfrage bereit, welche anderenfalls die Programmierungssitzung zulassen würde. Wenn die Remotevorrichtung im Gegenzug bestimmt, dass die Programmierungssitzung autorisiert ist, erzeugt die Remotevorrichtung eine Autorisierungsmitteilung (oder Nachricht) und stellt die Autorisierungsmitteilung dem Aktualisierungsmodul bereit, welches wiederum die Autorisierungsmitteilung an das Gateway-Modul überträgt. Die Autorisierungsmitteilung umfasst Autorisierungsinformationen, die vom Gateway-Modul verwendet werden, um zu überprüfen, bestätigen oder anderweitig zu authentifizieren, dass die Autorisierung von einer zuverlässigen Remotevorrichtung bereitgestellt wurde und dementsprechend können die Autorisierungsinformationen alternativ hier als Autorisierungsauthentifizierungsinformationen bezeichnet werden. Nachdem das Gateway-Modul die Autorisierungsinformationen geprüft, bestätigt oder anderweitig authentifiziert hat, gestattet oder ermöglicht das Gateway-Modul anderweitig, dass die Programmierungsdaten für die Programmierungsaktualisierung vom Aktualisierungsmodul an das Zielmodul über das Gateway-Modul bereitgestellt werden, womit das Aktualisierungsmodul die Zielanwendung auf dem Zielmodul programmieren oder anderweitig aktualisieren kann. In dieser Hinsicht verhindert in Abwesenheit einer authentifizierten Autorisierung von einer zuverlässigen Remotevorrichtung das Gateway-Modul standardmäßig das Aktualisierungsmodul dabei, Programmierungsdaten an das Zielmodul zu kommunizieren oder das Zielmodul anderweitig dazu zu bringen, in einen Programmierungsmodus überzugehen.
  • In einem oder mehreren Ausführungsbeispielen erzeugt die Remotevorrichtung die Autorisierungsinformationen durch Verschlüsselung von einem oder mehreren mit dem Fahrzeug in Beziehung stehenden Schlüsseln mithilfe von Sitzungsauthentifizierungsinformationen, wobei das Gateway-Modul zur Authentifizierung der Programmierungsautorisierung als von einer zuverlässigen Remotevorrichtung bereitgestellt die Sitzungsauthentifizierungsinformationen verwendet, die es zuvor erzeugt hat, um die Autorisierungsauthentifizierungsinformationen zu entschlüsseln, was zu einem oder mehreren verschlüsselten Schlüsseln führt. Wenn die verschlüsselten Schlüssel denen mit dem Fahrzeug in Beziehung stehenden gespeicherten Schlüssen entsprechen, welche vom Gateway-Modul verwaltet werden, prüft das Gateway-Modul, dass die Programmierung des Zielmoduls von einer zuverlässigen Remotevorrichtung autorisiert wurde.
  • Nun mit Bezug auf 1, in einem oder mehreren Ausführungsbeispielen umfasst ein Fahrzeugkommunikationssystem 100 ein Fahrzeug 102, das in der Lage ist, mit einer Remotevorrichtung 104 über ein Kommunikationsnetzwerk 106 zu kommunizieren, welches extern zum Fahrzeug 102 ist, z. B. einem Mobiltelefonnetzwerk, einem Satellitennetzwerk, einem drahtlosen Netzwerk, einem Weitverkehrsnetzwerk oder Ähnliches. In der abgebildeten Ausführungsform umfasst das Fahrzeug 102 ein Aktualisierungsmodul 110, welches zur Kommunikation über das Netzwerk 106 und zum Download oder anderweitigen Empfang von der Remotevorrichtung 104 über das Netzwerk 106 programmiert ist und Aktualisierungen programmiert, die anschließend verwendet werden, um ein anderes Modul 114 im Fahrzeug 102 zu aktualisieren. In Ausführungsbeispielen umfasst das Fahrzeug 102 ein Gateway-Modul 112, das kommunikativ an das Aktualisierungsmodul 110 gekoppelt ist und authentifiziert, dass Versuche, das Zielmodule 114 im Fahrzeug 102 zu programmieren, von der Remotevorrichtung 104 autorisiert sind. In dieser Hinsicht vermeidet oder beschränkt das Gateway-Modul 112, wenn das Gateway-Modul scheitert, die Programmierung des Zielmoduls 114 als durch die Remotevorrichtung autorisiert zu authentifizieren, die Programmierung dieses Zielmoduls 114. Wie nachstehend im Zusammenhang mit 3 genauer beschrieben, werden die vom Gateway-Modul 112 verwendeten Informationen zur Authentifizierung, dass die zu autorisierende Programmierungsaktualisierung selektiv von der Remotevorrichtung 104 basierend auf der Menge oder Frequenz (oder Rate) der Programmierungsversuche für das Zielmodul 114 und/oder anderen Faktoren, die auf einer potentiellen Cyberattacke oder sonstiger Anfälligkeit hinweisen, bereitgestellt. Demnach ist die Remotevorrichtung 104 auch in der Lage, die Programmierung des Zielmoduls 114 zu vermeiden oder anderweitig zu beschränken.
  • Immer noch mit Bezug auf 1, in einem oder mehreren Ausführungsbeispielen ist das Fahrzeug 102 ein Kraftfahrzeug und kann je nach Ausführungsform ein beliebiges einer Vielfalt von unterschiedlichen Kraftfahrzeugen sein, z. B. eine Limousine, ein Kombi, ein LKW oder ein Geländewagen und kann ein Zweiradantrieb-(2WD) (z. B. Hinterachsantrieb oder Vorderachsantrieb), Vierradantrieb-(4WD) oder Allradantrieb-Fahrzeug (AWD) sein. Das Fahrzeug 102 kann auch einen beliebigen oder eine Kombination von unterschiedlichen Motoren umfassen, darunter einen mit Benzin oder Diesel angetriebenen Verbrennungsmotor, einen FFV-Motor (z. B. mit einer Mischung von Benzin und Alkohol), einen mit Gasmischung (z. B. Wasserstoff und Erdgas) angetriebenen Motor, einen Verbrennungs-/elektrischen Hybridmotor und einen elektrischen Motor. In alternativen Ausführungsformen kann das Fahrzeug 102 ein Plug-in-Hybridfahrzeug, ein vollständig elektrisches Fahrzeug, ein Brennstoffzellenfahrzeug (FCV) oder ein anderes geeignetes Fahrzeug mit alternativem Treibstoff sein.
  • Die Remotevorrichtung 104 ist im Allgemeinen ein Computersystem oder eine andere Kombination von Ablauflogik, Schaltkreis, Hardware und/oder sonstigen Komponenten, die an das Netzwerk 106 gekoppelt und in der Lage sind, Programmierungsaktualisierungen an das Fahrzeug 102 zu senden und die Prozesse, Aufgaben, Operationen und/oder hier beschriebenen Funktionen zu unterstützen. Zum Beispiel kann in der abgebildeten Ausführungsform der 1 das ferne Gerät 104 ein Computerserver sein, der ein Verarbeitungssystem und ein Datenspeicherelement (oder Speicher) umfasst, das in der Lage ist, Programmierungsanweisungen zu speichern, die, wenn vom Verarbeitungssystem gelesen und ausgeführt, bewirken, dass der Server eine Programmierungsaktualisierung für ein Zielmodul 114 im Fahrzeug 102 erzeugt und die Programmierungsaktualisierung auf das Aktualisierungsmodul 110 überträgt. Dementsprechend wird die Remotevorrichtung 104 hier zur Erklärung alternativ als ein Server bezeichnet. In manchen Ausführungsformen kann der Server 104 an eine Datenbank 105 gekoppelt sein, die ausführbaren Code oder Anweisungen speichert oder verwaltet, die unterschiedlichen Programmierungsaktualisierungen entsprechen, die zusammen mit Authentifizierungsinformationen vom Server 104 erzeugbar sind, die die nachstehend im Zusammenhang mit den 34 genauer beschriebenen Programmierungsprozesse unterstützen.
  • Immer noch mit Bezug auf 1, verkörpert das Aktualisierungsmodul 110 im Allgemeinen das Gerät oder die Komponente innerhalb des Fahrzeugs 102, die kommunikativ an das externe Kommunikationsnetzwerk 106 gekoppelt ist und für die Unterstützung von Kommunikationen mit dem Server 104 zwecks des Empfangs von Programmierungsaktualisierungen für ein oder mehrere Zielmodule 114 innerhalb des Fahrzeugs 102 konfiguriert ist. Gemäß einer oder mehreren Ausführungsformen ist das Aktualisierungsmodul 110 eine Haupteinheit, die im Armaturenbrett, Instrumententafel, Mittelkonsole oder einer weiteren geeigneten Position innerhalb des Fahrzeugs 102 integriert ist. In der dargestellten Ausführungsform ist die Aktualisierungsmaschine 120 im Allgemeinen ein Softwaremodul oder eine andere Komponente, die vom Aktualisierungsmodul 110 erzeugt, ausgeführt oder anderweitig implementiert wird, um die hier beschriebenen Programmierungsprozesse zu erleichtern.
  • In Ausführungsbeispielen ist das Aktualisierungsmodul 110 an mindestens ein Fahrzeugkommunikationsnetzwerk 111 gekoppelt und stellt eine Schnittstelle zwischen dem externen Kommunikationsnetzwerk 106 und dem Fahrzeugkommunikationsnetzwerk 111 zur Verfügung. Je nach der Ausführungsform kann das Fahrzeugkommunikationsnetzwerk 111 ein lokales Netzwerk (LAN) oder ein Ethernet-Netzwerk, ein drahtloses Netzwerk (z. B. ein Bluetooth-Netzwerk, ein IEEE 802.11-Netzwerk oder Ähnliches), ein Controller Area Network (CAN) oder Ähnliches sein. Das Gateway-Modul 112 ist im Allgemeinen das Gerät oder die Komponente innerhalb des Fahrzeugs 102, welches kommunikativ an das Aktualisierungsmodul 110 über ein erstes Fahrzeugkommunikationsnetzwerk 111 gekoppelt und konfiguriert ist, um die Programmierung des Zielmoduls 114 innerhalb des Fahrzeugs 102 durch Überprüfung oder anderweitiger Authentifizierung von Programmierungsaktualisierungen, die vom Aktualisierungsmodul 110 empfangen werden und vom Server 104 autorisiert sind, zu regulieren oder anderweitig zu kontrollieren. In dieser Hinsicht funktioniert das Gateway-Modul 112 wie ein Gateway zwischen dem ersten Fahrzeugkommunikationsnetzwerk 111, über welches das Aktualisierungsmodul 110 kommuniziert und dem zweiten Fahrzeugkommunikationsnetzwerk 113, an dem das Zielmodul 114 kommunikativ gekoppelt ist. Zum Beispiel: In einer Ausführungsform ist das erste Fahrzeugkommunikationsnetzwerk 111 ein Ethernet-Netzwerk und das zweite Fahrzeugkommunikationsnetzwerk 113 ein CAN, wobei das Gateway-Modul 112 ein Gateway zwischen dem Ethernet-Netzwerk und dem CAN bereitstellt.
  • In der dargestellten Ausführungsform von 1 Die Authentifizierungsmaschine 122 ist im Allgemeinen ein Softwaremodul oder eine andere Komponente, die erzeugt, ausgeführt oder anderweitig vom Gateway-Modul 112 implementiert wird, um von der Aktualisierungsmaschine 120 eine Anfrage für eine Programmierungssitzung zu erhalten, dynamische Sitzungsauthentifizierungsinformationen zu erzeugen und Sitzungsauthentifizierungsinformationen für die Aktualisierungsmaschine 120 bereitzustellen, in Antwort auf die Anfrage, und zu prüfen, dass die Autorisierungsauthentifizierungsinformationen vom Aktualisierungsmodul 110 den vom Gateway-Modul 112 gespeicherten Authentifizierungsinformationen entsprechen, basierend zumindest zum Teil auf den Sitzungsauthentifizierungsinformationen. Nach der Prüfung oder anderweitigen Authentifizierung, dass die Autorisierungsinformationen von einer zuverlässigen Remotevorrichtung 104 stammen, gestattet es die Authentifizierungsmaschine 122 der Programmierungsaktualisierung, bei dem Zielmodul 114 durchgeführt zu werden, zum Beispiel durch Weiterleiten von Befehlen, um einen Programmierungsmodus einzuleiten, und Weiterleiten von entsprechenden Programmierungsdaten vom Aktualisierungsmodul 110 an das Zielmodul 114.
  • Immer noch mit Bezug auf 1, ist ein Zielmodul 114 im Allgemeinen eine Art von Hardware, Komponente, Gerät oder Modul, die an das Fahrzeugkommunikationsnetzwerk 113 gekoppelt und in der Lage ist, vom Aktualisierungsmodul 110, z. B. einer Motorsteuerung, einem Traktionskontrollsystem (oder Traktionskontrolle), einer Servolenkung (oder Servolenkungskontrolle), einem Bremssystem (oder Bremskontrolle), einem Klimaregelungssystem (oder Klimakontrolle), einem Navigationssystem (oder Navigationskontrolle) einem Infotainment-System oder Ähnliches programmiert zu werden. In der dargestellten Ausführungsform von 1 ist die Zielanwendung 124 im Allgemeinen ein Softwaremodul oder eine andere Komponente, die erzeugt, ausgeführt oder anderweitig von oder auf einem jeweiligen Zielmodul 114 implementiert wird, um die Funktionen und/oder Funktionalitäten des jeweiligen Zielmoduls 114 zu kontrollieren, verwalten oder anderweitig zu regulieren. Wenn das Zielmodul 114 zum Beispiel ein Bremssystem ist, kann die Zielanwendung 124 die Anwendung sein, die die Antiblockierfunktionalität des Bremssystems steuert.
  • In Ausführungsbeispielen umfasst eine vom Aktualisierungsmodul 110 und/oder der Aktualisierungsmaschine 120 des Servers 104 erhaltene Programmierungsaktualisierung eine Reihe ausführbarer Anweisungen (d. h. Code, Skript oder Ähnliches), welche in der Lage sind, vom Zielmodul 114 (oder einer Komponente davon) gelesen und ausgeführt zu werden, um den Betrieb seiner Zielanwendung 124 zu ändern. Zum Beispiel kann der bestehende Code oder Anweisungen für die Implementierung der Zielanwendung 124 geändert werden (z. B. durch Hinzufügen oder Einbeziehen eines neuen Codes oder Anweisungen, Löschen oder Überschreiben von zumindest einem Teil des bestehenden Codes oder der Anweisungen und Ähnliches) und/oder die Parameter, Einstellungen und/oder anderen Konfigurationsinformationen, auf denen der Code oder die Anweisungen der jeweiligen Zielanwendung 124 Bezug haben, können geändert werden (z. B. durch Ändern oder Überschreiben von bestehenden Konfigurationsinformationen, Hinzufügen oder Einbeziehen neuer Konfigurationsinformationen, auf denen bestehender und/oder neuer Code oder Anweisungen Bezug haben, und Ähnliches). Das Ändern des zugrundeliegenden Codes und/oder der Konfigurationsinformationen, auf denen eine Anwendung 124 basiert, beeinflusst den darauffolgenden Betrieb der jeweiligen Anwendung 124, was wiederum den darauffolgenden Betrieb des zugehörigen Zielmoduls 114 beeinflusst. In dieser Weise können Programmierungsaktualisierungen vom Server 104 auf ein Zielmodul 114 angewendet werden, um bestehende Funktionen und/oder Funktionalitäten des Zielmoduls 114 zu ändern oder neue Funktionen und/oder Funktionalitäten für das Zielmodul 114 bereitzustellen.
  • Es versteht sich, dass 1 zwecks der Erklärung eine vereinfachte Darstellung eines Fahrzeugkommunikationssystems 100 ist und nicht die Absicht hat, den Umfang oder die Anwendbarkeit des hier beschriebenen Gegenstandes in irgendeiner Weise zu beschränken. In dieser Hinsicht können praktische Ausführungsformen des Fahrzeugs 102 eine Vielfalt von potentiellen Zielmodulen 114 und/oder eine Vielfalt von Fahrzeugkommunikationsnetzwerken 111, 113 umfassen, um eine Vielfalt von Funktionen und/oder Funktionalitäten für das Fahrzeug 102 zu unterstützen oder anderweitig bereitzustellen. Des Weiteren kann in alternativen Ausführungsformen die Remotevorrichtung 104 ein externes Gerät sein, das kommunikativ an das Aktualisierungsmodul 110 gekoppelt ist, über eine Eingabeschnittstelle zum Aktualisierungsmodul 110, wie genauer im Kontext von 2 beschrieben, und in solchen Ausführungsformen des Fahrzeugkommunikationssystems 100 könnte das externe Kommunikationsnetzwerk 106 und/oder die Datenbank 105 nicht vorhanden sein. Des Weiteren können, auch wenn 1 das Aktualisierungsmodul 110 und das Gateway-Modul 112 als separat und verschieden darstellt, manche alternative Ausführungsformen, Funktionen und/oder Funktionalitäten des Aktualisierungsmoduls 110 in das Gateway-Modul 112 integriert oder anderweitig davon implementiert werden.
  • 2 ein Blockdiagramm eines Beispiels eines Elektronikgerätes 200, das für den Gebrauch im Fahrzeugkommunikationssystem 100 von 1 geeignet ist. Zum Beispiel kann der Server 104 und/oder eines oder mehrere Module 110, 112, 114 eine Instanz des Elektronikgerätes 200 sein. Das dargestellte Elektronikgerät 200 umfasst, ohne Einschränkung, ein Steuermodul 202, ein Datenspeicherelement (oder Speicher) 204, ein oder mehrere Kommunikationsmodule 206 und eines oder mehrere Eingabeschnittstellen 208. Es versteht sich, dass 2 eine vereinfachte Darstellung eines Elektronikgerätes 200 zwecks der Erklärung ist und nicht die Absicht hat, den Umfang oder die Anwendbarkeit des hier beschriebenen Gegenstandes in irgendeiner Weise zu beschränken.
  • Das Steuermodul 202 verkörpert im Allgemeinen Hardware, Schaltkreis Ablauflogik und/oder andere Komponenten des Elektronikgerätes 200, konfiguriert zur Unterstützung des Betriebs des Elektronikgerätes 200 und der unterschiedlichen Aufgaben, Betriebe, Funktionen und/oder hier beschriebenen Prozesse. Je nach der Ausführungsform kann das Steuermodul 202 mit einem Allzweckprozessor, einem Mikroprozessor, einem Kontroller, einem Mikrokontroller, einer Zustandsmaschine, einem inhaltsadressierbaren Speicher, einem anwendungsspezifischen integrierten Schaltkreis, einem vor Ort programmierbaren Gate-Array, einem geeigneten programmierbaren logischen Bauteil, diskreter Gate- oder Transistor-Logik, diskreten Hardwarekomponenten oder einer beliebigen Kombination davon, die auf die hier beschriebenen Funktionen ausgerichtet ist, implementiert werden. Gleichermaßen kann der Speicher 204 je nach der Ausführungsform eine beliebige Sorte von Arbeitsspeicher (RAM), Nurlesespeicher (ROM), Flash-Speicher, Register, Festplatten, Wechselplatten, magnetischen oder optischen Massenspeicher, kurz- oder langfristigen Speichermedien und/oder anderen nicht transitorischen rechnerlesbaren Mitteln, die in der Lage sind, Programmierungsanweisungen für die Ausführung durch das Steuermodul 202 aufzunehmen, umfassen. Die rechnerausführbaren Programmierungsanweisungen, wenn vom Steuermodul 202 gelesen und ausgeführt, sorgen dafür, dass das Steuermodul 202 die unterschiedlichen Aufgaben, Operationen, Funktionen und hier beschriebenen Prozesse ausführt oder anderweitig unterstützt.
  • Zum Beispiel mit Bezug auf 1 und immer noch mit Bezug auf 2, wenn das Aktualisierungsmodul 110 ein Beispiel des Elektronikgerätes 200 ist, kann der Speicher 204 ausführbaren Code, Skript und/oder Anweisungen für die Aktualisierungsmaschine 120 speichern, wenn vom Steuermodul 202 gelesen und ausgeführt, was dazu führt, dass das Steuermodul 202 die konfigurierte Aktualisierungsmaschine 120 erzeugt, um die unterschiedlichen Aufgaben, Operationen, Funktionen und hier beschriebenen Prozesse auszuführen. In ähnlicher Weise, wenn das Gateway-Modul 112 eine Instanz des Elektronikgerätes 200 ist, kann der Speicher 204 ausführbaren Code, Skript und/oder Anweisungen speichern, die, wenn vom Steuermodul 202 gelesen und ausgeführt, dazu führen, dass das Steuermodul 202 die Authentifizierungsmaschine 122 generiert. In ähnlicher Weise, wenn ein Zielmodul 114 als Beispiel des Elektronikgerätes 200 verwendet wird, speichert der Speicher 204 ausführbaren Code, Skript und/oder Anweisungen für die jeweilige Anwendung 124, 126, die generiert, ausgeführt oder anderweitig vom jeweiligen Zielmodul 114 implementiert wird. Des Weiteren kann der Speicher 204 verschiedene Parameter, Einstellungen und/oder andere Konfigurationsinformationen speichern, auf die sich der Code oder die Anweisungen der Zielanwendung 124 bezieht, um die gewünschten Funktionen und/oder Funktionalität für das Zielmodul 114 bereitzustellen. Wie nachstehend im Zusammenhang mit den 34 genauer beschrieben, führt nach der Authentifizierung, Prüfung oder anderweitiger Genehmigung der Programmierung oder Aktualisierung eines Zielmoduls 114 das Steuermodul 202 dieses Zielmoduls 114 eine Reihe Anweisungen aus, die in den Programmierungsdaten enthalten sind, welche vom Aktualisierungsmodul 110 und/oder der Aktualisierungsmaschine 120 empfangen wurden, um den Code und/oder Konfigurationsinformationen für die jeweilige Zielanwendung 124, die im Speicher 204 verwaltet werden, zu ändern, überschreiben oder anderweitig zu aktualisieren, wodurch die Zielanwendung 124 des Zielmoduls 114 aktualisiert wird.
  • Erneut mit Bezug auf 2, verkörpert/n das/die Kommunikationsmodul(e) 206 im Allgemeinen Hardware, Schaltkreis, Logik, Firmware und/oder andere Komponenten des Elektronikgerätes 200, die zur Unterstützung von Kommunikationen zu/vom Elektronikgerät 200 über ein oder mehrere Kommunikationsnetzwerke konfiguriert ist. Zum Beispiel, erneut mit Bezug auf 1 und immer noch mit Bezug auf FIG. wenn das Aktualisierungsmodul 110 eine Instanz des Elektronikgerätes 200 ist, kann das Elektronikgerät 200 eine erste Instanz eines Kommunikationsmoduls 206 umfassen, die Kommunikationen über das externe Kommunikationsnetzwerk 106, wie z. B. ein oder mehrere Sendeempfängermodule (d. h. ein Mobiltelefon-Sendeempfänger) unterstützt, und eine zweite Instanz eines Kommunikationsmoduls 206, die Kommunikationen über das erste Fahrzeugkommunikationsnetzwerk 111, wie z. B. einen Netzwerkadapter (d. h. einen Ethernet-Adapter, einen 802.11-Adapter, einen Bluetooth-Adapter oder Ähnliches) unterstützt. In ähnlicher Weise, wenn das Gateway-Modul 112 als Instanz des Elektronikgerätes 200 eingesetzt wird, kann eine erste Instanz eines Kommunikationsmoduls 206 innerhalb des Elektronikgerätes 200 als erster Netzwerkadapter eingesetzt werden (d. h. ein Ethernet-Adapter, ein 802.11-Adapter, ein Bluetooth-Adapter oder Ähnliches), der Kommunikationen über das erste Fahrzeugkommunikationsnetzwerk 111 unterstützt, und eine zweite Instanz eines Kommunikationsmoduls 206 innerhalb des Elektronikgerätes 200 kann als zweiter Netzwerkadapter (z. B. eine CAN-Schnittstelle, oder Ähnliches) eingesetzt werden, welcher Kommunikationen über das zweite Fahrzeugkommunikationsnetzwerk 113 unterstützt.
  • Immer noch mit Bezug auf 2 verkörpern die Eingangsschnittstellen 208 im Allgemeinen Hardware, Schaltkreis und/oder andere Komponenten, die eine physikalische Schnittstelle zu/vom Elektronikgerät 200 bereitstellen, um Eingabe und/oder Ausgabe von einem Benutzer oder einer anderen externen Hardwarekomponente zu erhalten. Zum Beispiel kann die Eingabeschnittstelle 208 einen oder mehrere Knöpfe, Tasten, Bedienfelder (oder Touchscreens), Computermäuse, Sensoren, Wandler oder andere geeignete Vorrichtungen umfassen, die für die Eingabe durch den Benutzer geeignet sind. In manchen Ausführungsformen kann die Eingabeschnittstelle 208 auch einen oder mehrere Anschlüsse oder Schlitze umfassen, z. B. einen universellen seriellen Bus (USB)-Anschluss, einen Speicherkartenschlitz oder Ähnliches. In dieser Hinsicht, auch wenn der Gegenstand hier im Kontext des Aktualisierungsmoduls 110, welches Programmierungsaktualisierungen vom Server 104 über das Netzwerk 106 erhält, beschreibbar ist, kann in alternativen Ausführungsformen das Aktualisierungsmodul 110 Programmierungsaktualisierungen von einer externen Remotevorrichtung erhalten, die in eine an das Aktualisierungsmodul 110 gekoppelte Eingabeschnittstelle eingesteckt wird. Zum Beispiel, erneut mit Bezug auf 1, wenn das Aktualisierungsmodul 110 als eine Instanz des Elektronikgerätes 200 eingesetzt wird, kann das Aktualisierungsmodul 110 Programmierungsaktualisierungen von einer externen Festplatte, einer externen Speicherkarte oder einem anderen externen Gerät erhalten, das in eine an das Aktualisierungsmodul 110 gekoppelte Eingabeschnittstelle 208 einsteckt wird.
  • 3 zeigt ein Ausführungsbeispiel eines Programmierungsprozesses 300 für die Programmierung oder anderweitiger Aktualisierung eines Zielmoduls in einem Fahrzeug. Die unterschiedlichen Aufgaben, die im Zusammenhang mit dem dargestellten Prozess 300 durchgeführt werden, können von Hardware, entsprechend konfiguriertem analogem Schaltkreis, von vom Verarbeitungsschaltkreis ausgeführter Software, von vom Verarbeitungsschaltkreis ausgeführter Firmware oder einer Kombination davon durchgeführt werden. Zur Veranschaulichung kann die folgende Beschreibung auf Elemente Bezug nehmen, die in Zusammenhang mit 12 erwähnt wurden. In der Praxis können Teile des Programmierungsprozesses 300 durch unterschiedliche Elemente des Fahrzeugkommunikationssystems 100 durchgeführt werden, z. B. durch den Server 104, das Aktualisierungsmodul 110, das Gateway-Modul 112, das Zielmodul 114, 116, das Steuermodul 202, dem Speicher 204, das Kommunikationsmodul 206 und/oder der Eingabeschnittstelle 208. Es ist darauf hinzuweisen, dass praktische Ausführungsformen des Programmierungsprozesses 300 eine Vielzahl von zusätzlichen oder alternativen Aufgaben umfassen können, wobei die Aufgaben nicht in der dargestellten Reihenfolge und/oder die Aufgaben nicht gleichzeitig durchgeführt werden müssen und/oder der Programmierungsprozess 300 in ein umfangreicheres Verfahren oder Prozess einbeziehbar ist, wobei zusätzliche Funktionalitäten hier nicht detailgetreu beschrieben werden. Des Weiteren werden eine oder mehrere der dargestellten Aufgaben, beschrieben im Kontext von 3, bei einer praktischen Ausführungsform des Programmierungsprozesses 300 ausgelassen, sofern die beabsichtigte allgemeine Funktionalität intakt bleibt.
  • Bei Ausführungsbeispielen beginnt der Programmierungsprozess 300 mit dem Empfang oder dem anderweitigen Erhalt einer Programmierungsaktualisierung für ein bestimmtes Zielmodul in einem Fahrzeug bei 302. Zum Beispiel befragt das Aktualisierungsmodul 110 gemäß einer oder mehreren Ausführungsformen regelmäßig den Server 104 über das Netzwerk 106 nach Programmierungsaktualisierungen, die für eines der Zielmodule 114 im Fahrzeug 102 zutreffen. In anderen Ausführungsformen kann ein Benutzer eine Eingabeschnittstelle 208 des Aktualisierungsmoduls 110 bedienen, um nach Aktualisierungen für die Fahrzeugmodule 114, 116 zu suchen, was wiederum dazu führt, dass das Aktualisierungsmodul 110 eine Anfrage nach Programmierungsaktualisierungen an den Server 104 überträgt. In noch anderen Ausführungsformen kann ein Benutzer eine Eingabeschnittstelle 208 eines Zielmoduls 114 im Fahrzeug 102 bedienen, um nach Aktualisierungen für die Anwendung 124 auf diesem Zielmodul 114 zu suchen, was wiederum dazu führt, dass das Zielmodul 114 eine Anfrage nach Programmierungsaktualisierungen an das Aktualisierungsmodul 110 überträgt.
  • Gemäß einer oder mehreren Ausführungsformen erzeugt die Aktualisierungsmaschine 120 auf dem Aktualisierungsmodul 110 eine Befragungsanfrage, um eine Programmierungsaktualisierung vom Server 104 zu erhalten, die Identifizierungsinformationen (d. h. eine Fahrgestellnummer oder Ähnliches) umfasst, welche vom Aktualisierungsmodul 110 gespeichert oder anderweitig verwaltet werden (z. B. im Speicher 204), was wiederum vom Server 104 verwendet wird, um das jeweilige Modell für das Fahrzeug 102 und/oder aktuelle Versionierungsinformationen für die Zielanwendungen 124 der Zielmodule 114 im Fahrzeug 102 zu bestimmen. Mit Hilfe der Identifizierungsinformationen kann der Server 104 befragen oder anderweitig auf die Datenbank 105 zugreifen, um zu bestimmen, ob Programmierungsaktualisierungen vorliegen, die für das Fahrzeug 102 gelten (z. B. mit einem mit dem Zielmodul 114 an Bord des Fahrzeugs 102 in Beziehung stehenden Programmierungsaktualisierungen). Als Reaktion auf die Identifizierung einer Aktualisierung für eines der Zielmodule 114 im Fahrzeug 102 erzeugt der Server 104 eine Programmierungsaktualisierung für das Fahrzeug 102 und überträgt oder stellt diese Programmierungsaktualisierung der Aktualisierungsmaschine 120 auf dem Aktualisierungsmodul 110 über das Netzwerk 106 anderweitig zur Verfügung. Die vom Server 104 erzeugte Programmierungsaktualisierung umfasst einen Programmierungsdatenteil, und um den Programmierungsdatenteil zu erzeugen, kann der Server 104 die Identifizierungsinformationen für das Fahrzeug 102 verwenden, um zu befragen oder anderweitig auf die Datenbank 105 zuzugreifen, um eine Reihe Anweisungen in Beziehung mit der Programmaktualisierung für das Zielmodul 114 zu erhalten und diese Reihe Anweisungen im Programmierungsdatenteil einzuschließen.
  • Es ist zu beachten, dass in anderen Ausführungsformen das Aktualisierungsmodul 110 den Server 104 nicht regelmäßig nach Programmierungsaktualisierungen befragt, sondern der Server 104 automatisch Programmierungsaktualisierungen entweder regelmäßig oder, sobald neue Programmierungsaktualisierungen zur Verfügung stehen, zum Aktualisierungsmodul 110 befördert. Zum Beispiel kann der Server 104 regelmäßig auf die Datenbank 105 zugreifen, um gespeicherte Versionierungsinformationen für die Zielanwendung 124 im Fahrzeug 102 mit aktuellen Versionierungsinformationen zu vergleichen, die mit Programmaktualisierungen für diese Zielanwendung 124 in Beziehung stehen, die von der Datenbank 105 verwaltet werden. Wenn die Versionierungsinformationen andeuten, dass eine Zielanwendung 124 auf einem Zielmodul 114 aktualisiert werden sollte (z. B. weil die aktuellen, mit einer Programmaktualisierung für die Zielanwendung 124 in Beziehung stehenden Versionierungsinformationen, welche von der Datenbank 105 verwaltet werden, andeuten, dass die Programmierungsaktualisierung neuer ist), wird der Server 104 automatisch eine Programmierungsaktualisierung für das Zielmodul 114 erzeugen und die Programmierungsaktualisierung auf das Aktualisierungsmodul 110 befördern oder anderweitig übertragen.
  • In einer noch anderen Ausführungsform kann das Aktualisierungsmodul 110 und/oder die Aktualisierungsmaschine 120 die Programmierungsaktualisierung von einem externen Gerät (z. B. einem externen Laufwerk, Speicherkarte, CD oder Ähnliches), verbunden mit einer Eingabeschnittstelle 208 des Aktualisierungsmoduls 110, erhalten. Zum Beispiel kann eine vom Server 104 erzeugte Programmierungsaktualisierung gespeichert oder anderweitig auf einem externen Gerät aufgenommen werden, das an der Eingabeschnittstelle 208 des Aktualisierungsmoduls 110 anschließbar ist. Bei Anschluss eines externen Gerätes an einer Eingabeschnittstelle 208 können die Aktualisierungsmaschine 120 und/oder das Steuermodul 202 über die Eingabeschnittstelle automatisch scannen oder anderweitig Zugriff auf das externe Gerät erhalten, um Programmierungsaktualisierungen für das Zielmodule 114 im Fahrzeug 102 zu erhalten, die sich auf dem externen Gerät befinden.
  • Immer noch mit Bezug auf 3, fährt nach Erhalt der Programmierungsaktualisierung der Programmierungsprozess 300 durch Bestimmung, ob Programmierungskriterien für das Zielmodul bei 304 erfüllt wurden, fort. In dieser Hinsicht kann das Aktualisierungsmodul 110 und/oder die Aktualisierungsmaschine 120 Programmierungskriterien speichern (z. B. im Speicher 204), die begrenzen, in welchen Betriebsmodi sich das Zielmodul 114 und/oder andere Komponenten des Fahrzeugs 102 befinden müssen, bevor die Programmierung des Zielmoduls 114 einleitbar ist. Wenn das Zielmodul 114 zum Beispiel eine ESG, eine Bremskontrolle, eine Steuerkontrolle oder Ähnliches ist, können die Programmierungskriterien es erforderlich machen, dass sich das Zielmodul 114 im Leerlauf befindet und dass das Getriebe im Fahrzeug 102 gesperrt oder anderweitig in der geparkten Position ist, bevor die Programmierung des Zielmoduls 114 einleitbar ist. Wenn im Gegenzug das Zielmodul 114 eine Klimakontrolle (oder Klimakontrollsystem) ist, könnten die Programmierungskriterien es erforderlich machen, dass nur das Klimakontrollsystem im Leerlauf oder deaktivierten Zustand ist (d. h. ausgeschaltet). In dieser Hinsicht erhält oder identifiziert das Aktualisierungsmodul 110 und/oder die Aktualisierungsmaschine 120 den aktuellen Status des Zielmoduls 114 und/oder sonstiger Fahrzeugkomponenten und bestimmt, ob die Programmierungssitzung einleitbar ist, basierend auf den Programmierungskriterien für das beabsichtigte Zielmodul 114 und dem erhaltenen Status des Zielmoduls 114 und/oder anderen Fahrzeugkomponenten. In Ausführungsbeispielen, wenn das Aktualisierungsmodul 110 und/oder die Aktualisierungsmaschine 120 bestimmt, dass die Programmierungssitzung nicht einleitbar ist (z. B. weil der aktuelle Status des Zielmoduls 114 den geltenden Programmierungskriterien nicht gerecht wird), speichert oder verwaltet das Aktualisierungsmodul 110 und/oder die Aktualisierungsmaschine 120 die Programmierungsaktualisierung im Speicher 204 und wiederholt die Schritte des Erhalts des aktuellen Status des Zielmoduls 114 und/oder anderer Fahrzeugkomponenten und des Vergleichs des erhaltenen Status mit den Programmierungskriterien, die dem beabsichtigten Zielmodul 114 zugeordnet sind.
  • Wenn der Programmierungsprozess 300 den aktuellen Status des Zielmoduls bestimmt und/oder andere Fahrzeugkomponenten den Programmierungskriterien für das Zielmodul gerecht werden, wird der Programmierungsprozess 300 durch den Erhalt von Sitzungsauthentifizierungsinformationen vom Gateway-Modul bei 306 fortfahren, bestimmen oder anderweitig identifizieren, ob die Programmierungssitzung authentifiziert und autorisiert ist bei 308, und, wenn die Programmierungssitzung authentifiziert und autorisiert ist, Autorisierungsauthentifizierungsinformationen erhalten, die mithilfe der Sitzungsauthentifizierungsinformationen bei 310 verschlüsselt sind. Wie nachstehend im Zusammenhang mit 4 genauer beschrieben, überträgt oder stellt die Aktualisierungsmaschine 120 anderweitig eine Anfragenachricht oder andere Andeutung der Absicht, das Zielmodul 114 zu programmieren, der Authentifizierungsmaschine 122 über das Netzwerk 111 bereit. Als Antwort auf den Empfang der Anfrage einer Programmierungssitzung erzeugt die Authentifizierungsmaschine 122 dynamisch Sitzungsauthentifizierungsinformationen und überträgt oder stellt die Sitzungsauthentifizierungsinformationen anderweitig der Aktualisierungsmaschine 120 über das Netzwerk 111 bereit. In Ausführungsbeispielen umfassen die Sitzungsauthentifizierungsinformationen einen öffentlichen Schlüssel, der durch die Authentifizierungsmaschine 122 erzeugt wird, basierend zumindest zum Teil auf einem privaten Schlüssel in Beziehung mit dem Fahrzeug 102, welcher vom Gateway-Modul 112 und einer Laufzeit (oder Zeitstempel) in Beziehung mit der Programmierungsanforderung unter Verwendung einer Hashfunktion oder einem anderen kryptografischen Algorithmus, der dem Server 104 bekannt ist, verwaltet wird. In Ausführungsbeispielen speichert oder verwaltet das Gateway-Modul 112 anderweitig (z. B. im Speicher 204) die Sitzungsauthentifizierungsinformationen in Beziehung mit einer Programmierungsanfrage für den Gebrauch bei der Verschlüsselung von Autorisierungsauthentifizierungsinformationen, die nachfolgend vom Aktualisierungsmodul 110 bereitgestellt werden, wie nachstehend genauer beschrieben.
  • Als Antwort auf den Empfang der Sitzungsauthentifizierungsinformationen von der Authentifizierungsmaschine 112 überträgt oder stellt die Aktualisierungsmaschine 120 anderweitig eine Autorisierungsanfragenachricht oder andere Andeutung der Absicht, das Zielmodul 114 zu programmieren, dem Server 104 über das Netzwerk 106 bereit. Die Programmierungsautorisierungsanfrage umfasst die vom Gateway-Modul 112 und/oder der Authentifizierungsmaschine 122 erzeugten Sitzungsauthentifizierungsinformationen und als Antwort auf den Empfang der Programmierungsautorisierungsanfrage bestimmt der Server 104, ob die Programmierung des Zielmoduls 114 autorisiert ist basierend zumindest zum Teil auf Sitzungsauthentifizierungsinformationen. In dieser Hinsicht entschlüsselt der Server 104 die Sitzungsauthentifizierungsinformationen, um zu bestätigen, dass das zuverlässige Gateway-Modul 112 im Fahrzeug 102 die Quelle der Sitzungsauthentifizierungsinformationen ist, zum Beispiel durch Bestätigung, dass der zur Verschlüsselung der Sitzungsauthentifizierungsinformationen verwendete private Schlüssel dem mit dem Fahrzeug 102 in Beziehung stehenden privaten Schlüssel, welcher in der Datenbank 105 gespeichert oder anderweitig verwaltet wird, entspricht.
  • Nach der Authentifizierung oder anderweitigen Prüfung der Sitzungsauthentifizierungsinformationen bestimmt der Server 104, ob die Programmierung des Zielmoduls 114 autorisiert ist basierend auf einem oder mehreren zusätzlichen Kriterien, wie z. B. eine Frequenz und/oder Anzahl von Programmierungsanfragen, die für das jeweilige Zielmodul 114 erhalten wurden, eine Frequenz und/oder Menge der Programmierungsanfragen, die für das Fahrzeug 102 erhalten wurden, eine Frequenz und/oder Menge der Programmierungsanfragen, die vom jeweiligen Aktualisierungsmodul 110 erhalten wurden, eine Frequenz und/oder Menge der Programmierungsanfragen, die von einem bestimmten Ort auf dem Netzwerk 106 erhalten wurden oder Ähnliches. In dieser Hinsicht kann die Datenbank 105 eine Reihe unterschiedlicher Grenzwerte verwalten, die vom Server 104 verwendet werden, um Programmierungsanfragen zu identifizieren, die möglicherweise bösartig sind, oder um anderweitig auf eine Cyberattacke hinweisen. Zum Beispiel könnte der Server 104 nicht die Programmierung des Zielmoduls 114 autorisieren, wenn die Anzahl der Anfragen, das Zielmodul 114 zu programmieren, über einem bestimmten Zeitraum einen Grenzwert für eine gestattete Anzahl von Programmierungssitzungen für das jeweilige Zielmodul 114 über diesen Zeitraum übertrifft oder wenn die Anzahl der vom Aktualisierungsmodul 110 über einem bestimmten Zeitraum erhaltenen Anfragen einen Grenzwert der gestatteten kumulativen Anzahl von Programmierungssitzungen für ein beliebiges Modul im Fahrzeug 102 über diesen Zeitraum übertrifft. In dieser Hinsicht kann der Server 104 und/oder die Datenbank 105 für jede vom Server 104 erhaltene Programmierungsanfrage Informationen speichern oder anderweitig verwalten, die das Fahrzeug 102 in Beziehung mit der Programmierungsanfrage, das Zielmodul 114 in Beziehung mit der Anfrage, das Aktualisierungsmodul 110 in Beziehung mit der Anfrage, einen Ort auf dem Netzwerk 106 in Beziehung mit der Quelle der Anfrage (z. B. Internetprotokoll (IP) Adresse für das Aktualisierungsmodul 110) und Ähnliches identifizieren.
  • Wenn der Server 104 die Sitzungsauthentifizierungsinformationen als vom Gateway-Modul 112 erhalten authentifiziert und bestimmt, dass die Programmierungsanfrage autorisiert ist (z. B. weil die Anzahl der erhaltenen Programmierungsanfragen nicht die zutreffenden Grenzwerte übertrifft), erzeugt der Server 104 Autorisierungsauthentifizierungsinformationen, die vom Gateway-Modul 112 verwendet werden, um zu authentifizieren, dass die Programmierung des Zielmoduls 114 durch die zuverlässige Remotevorrichtung 104 autorisiert ist. In Ausführungsbeispielen erzeugt der Server 104 Autorisierungsverschlüsselungsinformationen durch Verschlüsselung eines privaten Schlüssels, der mit dem Fahrzeug 102 in Beziehung steht, indem er den mit den Sitzungsauthentifizierungsinformationen und einer Hashfunktion oder einem anderen kryptografischen Algorithmus, der dem Gateway-Modul 112 bekannt ist, erhaltenen öffentlichen Schlüssel verschlüsselt. Danach überträgt oder stellt der Server 104 die Autorisierungsauthentifizierungsinformationen dem Aktualisierungsmodul 110 und/oder der Aktualisierungsmaschine 120 über das Netzwerk 106 bereit. Wenn im Gegenzug der Server 104 bestimmt, dass die Programmierungsanfrage nicht authentifiziert oder anderweitig unautorisiert ist, stellt der Server 104 dem Aktualisierungsmodul 110 und/oder der Aktualisierungsmaschine 120 keine Autorisierungsauthentifizierungsinformationen bereit, und der Programmierungsprozess 300 verhindert, dass eine unautorisierte Programmierungssitzung mit dem Zielmodul bei 318 eingeleitet wird, wie nachstehend genauer beschrieben.
  • Immer noch mit Bezug auf 3, nach Erhalt von Autorisierungsinformationen, fährt der Programmierungsprozess 300 mit der Prüfung oder anderweitigen Authentifizierung fort, dass die Quelle der Autorisierung eine zuverlässige Remotevorrichtung ist, mithilfe der Autorisierungsauthentifizierungsinformationen bei 312. In diese Hinsicht, als Antwort auf den Erhalt der Autorisierungsauthentifizierungsinformationen von der Remotevorrichtung 104 überträgt die Aktualisierungsmaschine 120 die Autorisierungsauthentifizierungsinformationen an die Authentifizierungsmaschine 122 über das Fahrzeugkommunikationsnetzwerk 111. Als Antwort auf den Empfang der Autorisierungsauthentifizierungsinformationen entschlüsselt die Authentifizierungsmaschine 122 die Autorisierungsauthentifizierungsinformationen mithilfe des gespeicherten öffentlichen Schlüssels und/oder anderen Sitzungsauthentifizierungsinformationen, die vorher von der Authentifizierungsmaschine 122 in Beziehung mit der Programmierungsanfrage erzeugt wurden. Wenn ein von den entschlüsselten Autorisierungsauthentifizierungsinformationen erhaltener entschlüsselter privater Schlüssel dem mit dem Fahrzeug 102 in Beziehung stehenden gespeicherten privaten Schlüssel entspricht, bestimmt die Authentifizierungsmaschine 122, dass die Quelle der Programmierungsaktualisierungsautorisierung zuverlässig, geprüft oder anderweitig authentifiziert ist und dass die Programmierungssitzung gestattet oder anderweitig autorisiert ist.
  • Nachdem der Programmierungsprozess 300 bestimmt, dass die Programmierungsaktualisierung durch eine authentifizierte Remotevorrichtung autorisiert ist, wird der Programmierungsprozess 300 durch Übertragen oder anderweitiger Bereitstellung der Programmierungsdaten für die Programmierungsaktualisierung an das Zielmodul über das Gateway-Modul bei 314 und Programmierung des Zielmoduls mithilfe der Programmierungsdaten bei 316 abgeschlossen. In dieser Hinsicht kann die Authentifizierungsmaschine 122 eine Antwort auf die Programmierungsanfrage oder einen anderen Befehl an die Aktualisierungsmaschine 120 bereitstellen, dass die Programmierungssitzung gestattet oder anderweitig autorisiert ist. Danach funktioniert das Gateway-Modul 112 und/oder die Authentifizierungsmaschine 122 wie ein Gateway zwischen dem ersten Fahrzeugkommunikationsnetzwerk 111 und dem zweiten Fahrzeugkommunikationsnetzwerk 113 und leitet oder überträgt Daten vom Aktualisierungsmodul 110 und/oder der Aktualisierungsmaschine 120 an das Zielmodul 114 und/oder der Zielanwendung 124 weiter. In manchen Ausführungsformen kann das Gateway-Modul 112 und/oder die Authentifizierungsmaschine 122 so konfiguriert sein, dass sie einen Timer oder eine ähnliche Funktion verwendet und nur Kommunikationen vom ersten Fahrzeugkommunikationsnetzwerk 111 an das zweite Fahrzeugkommunikationsnetzwerk 113 und/oder das Zielmodul 114 für einen begrenzten Zeitraum weiterleitet. In anderen Worten, die vom Gateway-Modul 112 und/oder der Authentifizierungsmaschine 122 bereitgestellte Gateway-Funktionalität kann nicht auf unbestimmte Zeit offen bleiben.
  • Gemäß einer oder mehreren Ausführungsformen, um die Programmierungsaktualisierung zu implementieren, signalisiert oder anderweitig befiehlt die Aktualisierungsmaschine dem Zielmodul 114, in einen Programmierungsmodus überzugehen, und als Antwort auf den Empfang eines Programmierungsmodusbefehls von der Aktualisierungsmaschine 120 geht das Zielmodul 114 in den Programmierungsmodus über. In alternativen Ausführungsformen kann der Benutzer eine Eingabeschnittstelle 208 des Zielmoduls 114 bedienen, damit das Zielmodul 114 in den Programmierungsmodus übergeht (z. B. als Teil einer Prüfung auf Aktualisierungen). Nach dem Befehl an das Zielmodul 114, in den Programmierungsmodus überzugehen, überträgt oder stellt die Aktualisierungsmaschine 120 anderweitig die Programmierungsdaten für die Programmierungsaktualisierung an das Gateway-Modul 112 über das erste Fahrzeugkommunikationsnetzwerk 111 bereit und das Gateway-Modul 112 leitet die Programmierungsdaten automatisch an das Zielmodul 114 weiter über das zweite Fahrzeugkommunikationsnetzwerk 113. Wenn sich das Zielmodul 114 im Programmierungsmodus befindet, wird das Zielmodul 114 konfiguriert, um automatisch die Anweisungsreihe der Programmierungsdatendatei auszuführen oder anderweitig zu implementieren, um die jeweilige Zielanwendung 124 zu ändern, wie oben beschrieben. Zum Beispiel kann ein Zielmodul 114 als Antwort auf den Empfang eines Befehls, in den Programmierungsmodus überzugehen, von der Aktualisierungsmaschine 120 einen Bootmodus (oder Boot-Lademodus) einleiten, um das Steuermodul 202 in einen Zustand zu versetzen, in dem das Steuermodul 202 automatisch die in den Programmierungsdaten enthaltenen Anweisungen bei Empfang der Programmierungsdaten vom Aktualisierungsmodul 110 und/oder der Aktualisierungsmaschine 120 über das Gateway-Modul 112 und das zweite Kommunikationsnetzwerk 113 ausführt.
  • Immer noch mit Bezug auf 3, als Antwort darauf, dass die Programmierungsaktualisierung nicht authentifiziert ist oder dass die Quelle der Autorisierung nicht authentifiziert ist, verhindert oder beschränkt der Programmierungsprozess 300 die Programmierung des Zielmoduls bei 318. Wenn zum Beispiel der Server 104 bestimmt, dass der private Schlüssel der entschlüsselten Sitzungsauthentifizierungsinformationen nicht dem privaten Schlüssel in Beziehung mit dem Fahrzeug 102 entspricht und/oder dass die Anzahl der Programmierungsanfragen einen zulässigen Grenzwert überschreitet, bestimmt der Server 104, dass die Programmierungssitzung nicht autorisiert ist, und stellt dem Aktualisierungsmodul 110 und/oder der Aktualisierungsmaschine 120 als Antwort auf einer Programmierungsautorisierungsanfrage keine Autorisierungsauthentifizierungsinformationen bereit. In Ausführungsbeispielen bietet das Gateway-Modul 112 standardmäßig keine Gateway-Funktionalität vom ersten Fahrzeugkommunikationsnetzwerk 111 zum zweiten Fahrzeugkommunikationsnetzwerk 113. Demzufolge hindert die fehlende Bereitstellung von Autorisierungsauthentifizierungsinformationen an das Aktualisierungsmodul 110 das Gateway-Modul 112 dabei, die Programmierungsaktualisierung als autorisiert zu authentifizieren und die Gateway-Funktionalität vom ersten Fahrzeugkommunikationsnetzwerk 111 zum zweiten Fahrzeugkommunikationsnetzwerk 113 zu aktivieren, was wiederum verhindert, dass die unautorisierte Programmierungssitzung mit dem Zielmodul 114 eingeleitet wird. In ähnlicher Weise, wenn der von den entschlüsselten Autorisierungsauthentifizierungsinformationen erhaltene private Schlüssel nicht dem gespeicherten privaten Schlüssel in Beziehung mit dem Fahrzeug 102 entspricht, bestimmt das Gateway-Modul 112, dass die Programmierungsautorisierung nicht authentifiziert ist und bietet keine Gateway-Funktionalität vom ersten Fahrzeugkommunikationsnetzwerk 111 zum zweiten Fahrzeugkommunikationsnetzwerk 113 und vermeidet damit, dass unauthentifizierte Programmierungssitzungen und/oder Aktualisierungen mit dem Zielmodul 114 eingeleitet werden.
  • 4 zeigt eine Beispielsequenz 400 von Kommunikationen zwischen den Fahrzeugkommunikationssystemen 100 gemäß einer beispielhaften Ausführungsform des Programmierungsprozesses 300 von 3. Mit Bezug auf 4 und immer noch mit Bezug auf 13 beginnt die dargestellte Sequenz 400 damit, dass das Aktualisierungsmodul 110 eine Programmierungsaktualisierung von einer Remotevorrichtung 104, z. B. einem Server oder einer externen Festplatte (oder CD oder Karte) herunterlädt, empfängt oder anderweitig erhält 402. Nachdem es die Programmierungsaktualisierung erhalten und bestimmt hat, dass die für die Programmierungsaktualisierung zutreffenden Programmierungskriterien erfüllt sind, überträgt 404 das Aktualisierungsmodul 110 und/oder die Aktualisierungsmaschine 120 eine Erstanfrage für eine Programmierungssitzung an die Authentifizierungsmaschine 122 auf dem Gateway-Modul 112 über das erste Kommunikationsnetzwerk 111. Als Antwort darauf erzeugt die Authentifizierungsmaschine 122 dynamisch einen öffentlichen Schlüssel und/oder sonstige Sitzungsauthentifizierungsinformationen basierend zumindest zum Teil auf einem privaten Schlüssel in Beziehung mit dem Fahrzeug 102, welcher vom Gateway-Modul 112 gespeichert wird. Die Authentifizierungsmaschine 122 überträgt 406 die Sitzungsauthentifizierungsinformationen an die Aktualisierungsmaschine 120 als Antwort auf die ursprüngliche Programmierungsanfrage und, als Antwort auf den Empfang der Sitzungsauthentifizierungsinformationen, überträgt die Aktualisierungsmaschine 120 oder stellt anderweitig 408 eine Programmierungsautorisierungsanfrage bereit, die den öffentlichen Schlüssel und/oder Sitzungsauthentifizierungsinformationen für die Remotevorrichtung 104 umfasst.
  • Nachdem die Remotevorrichtung 104 authentifiziert, dass der öffentliche Schlüssel und/oder Sitzungsauthentifizierungsinformationen vom Gateway-Modul 112 im Fahrzeug 102 erzeugt wurden und überprüft wurde, dass die Programmierungsanfrage keinen der Grenzwerte überschreitet, erzeugt die Remotevorrichtung 104 Autorisierungsauthentifizierungsinformationen mithilfe des öffentlichen Schlüssels und/oder sonstige Sitzungsauthentifizierungsinformationen durch Verschlüsseln eines privaten Schlüssel in Beziehung mit dem Fahrzeug 102 unter Verwendung des öffentlichen Schlüssels und/oder anderer Sitzungsauthentifizierungsinformationen. Danach überträgt oder stellt die Remotevorrichtung 104 anderweitig 410 die Autorisierungsauthentifizierungsinformationen dem Aktualisierungsmodul 110 und/oder der Aktualisierungsmaschine 120 bereit, welche wiederum die Autorisierungsinformationen an das Gateway-Modul 112 und/oder die Authentifizierungsmaschine 122 überträgt 412. Die Authentifizierungsmaschine 122 entschlüsselt die Autorisierungsauthentifizierungsinformationen mithilfe des öffentlichen Schlüssels und/oder anderer Sitzungsauthentifizierungsinformationen und vergleicht die entschlüsselten Autorisierungsauthentifizierungsinformationen mit gespeicherten Authentifizierungsinformationen, um zu authentifizieren, dass die Autorisierung von einer zuverlässigen Quelle stammt. In der dargestellten Ausführungsform bestimmt die Authentifizierungsmaschine 122, nachdem die Authentifizierungsmaschine 122 überprüft, dass ein entschlüsselter privater Schlüssel einem gespeicherten privaten Schlüssel in Beziehung mit dem Fahrzeug 102 entspricht, ob die Programmierungssitzung von einer authentifizierten Remotevorrichtung 104 autorisiert ist und überträgt oder stellt 414 der Aktualisierungsmaschine anderweitig eine Antwortmeldung bereit, die andeutet, dass die Anfrage für die Programmierungssitzung gestattet, autorisiert oder anderweitig erlaubt wurde. Danach überträgt 416 die Aktualisierungsmaschine 120 einen Programmierungsmodusbefehl und die Programmierungsdaten für die Programmierungsaktualisierung an das Gateway-Modul 112 über das erste Fahrzeugkommunikationsnetzwerk 111, und das Gateway-Modul 112 leitet 418 den Programmierungsmodusbefehl und die Programmierungsdaten automatisch über das zweite Fahrzeugkommunikationsnetzwerk 113 an das Zielmodul 114 weiter. Nachdem das Zielmodul 114 in den Programmierungsmodus übergeht und die Programmierungsdaten erhält, führt das Steuermodul 202 des Zielmoduls 114 den Code, Skript und/oder Anweisungen von den Programmierungsdaten aus oder implementiert sie anderweitig, um die gewünschte Aktualisierung bei der Zielanwendung 124 vorzunehmen.
  • Ein Vorteil des hier beschriebenen Gegenstands ist, dass von einer Remotevorrichtung erhaltene Programmierungsaktualisierungen nicht implementiert werden, wenn sie nicht durch eine zuverlässige Quelle als autorisiert authentifiziert werden. Demnach können Anwendungen auf Fahrzeugmodulen sicher programmiert oder anderweitig mithilfe von ausführbarem Code, Script und/oder Anweisungen, die über ein externes Netzwerk (z. B. ein Mobiltelefonnetzwerk oder Ähnliches) empfangen werden, aktualisiert werden, ohne dass das Fahrzeug manuell an einem bestimmten Ort (z. B. durch einen Techniker in einem Autohaus) gewartet werden muss.
  • Der Kürze halber können herkömmliche Techniken bezüglich Kommunikationsnetzwerken, Authentifizierung, Softwareaktualisierung, Fahrzeugelektronik und/oder elektrische Systeme und andere funktionelle Aspekte des Gegenstands hier nicht ausführlich beschrieben werden. Des Weiteren kann bestimmte Terminologie hier auch nur als Referenz verwendet werden, und ist daher nicht als einschränkend zu betrachten. Die Begriffe „erstes", „zweites" und andere ähnliche numerische Begriffe in Bezug auf Strukturen deuten keine Sequenz oder Reihenfolge an, ausgenommen wenn klar durch den Kontext darauf hingewiesen wird. Des Weiteren bezieht sich die vorangehende Beschreibung ebenfalls auf Elemente oder Knoten oder Funktionen, die miteinander „verbunden“ oder „verkoppelt“ werden. Wie hier verwendet, wenn nicht ausdrücklich anders angegeben, bedeutet „verbunden“, dass ein Element direkt mit einem anderen Element verbunden ist (oder direkt damit kommuniziert), aber nicht unbedingt mechanisch. Ebenfalls, wenn nicht ausdrücklich anders angegeben, bedeutet „gekoppelt“, dass ein Element direkt oder indirekt mit einem anderen Element verbunden ist (oder direkt oder indirekt damit kommuniziert), aber nicht unbedingt mechanisch.
  • Beispiele.
    • Beispiel 1. Ein Fahrzeug, umfassend: ein erstes Modul ein Gateway-Modul, das kommunikativ an das erste Modul gekoppelt ist, und ein Aktualisierungsmodul, das kommunikativ an das Gateway-Modul gekoppelt ist, um dem Gateway-Modul Autorisierungsinformationen und Programmierungsdaten bereitzustellen, wobei das Gateway-Modul konfiguriert ist, um zu überprüfen, dass die Programmierung des ersten Moduls zumindest zum Teil auf den Autorisierungsinformationen basierend autorisiert ist, und dem ersten Modul nach Überprüfung, dass die Programmierung autorisiert ist, die Programmierungsdaten bereitzustellen.
    • Beispiel 2. Das Fahrzeug nach Beispiel 1, wobei das Gateway-Modul konfiguriert ist, um: die Autorisierungsinformationen mithilfe von Sitzungsinformationen zu entschlüsseln, um einen entschlüsselten Schlüssel zu erhalten, und zu überprüfen, dass die Programmierung autorisiert ist, wenn der entschlüsselte Schlüssel einem gespeicherten Schlüssel entspricht.
    • Beispiel 3. Das Fahrzeug nach Beispiel 1 oder 2, wobei das Aktualisierungsmodul dem Gateway-Modul eine Programmierungsanfrage bereitstellt, wobei das Gateway-Modul konfiguriert ist, um die Sitzungsinformationen als Antwort auf die Programmierungsanfrage vom Aktualisierungsmodul zu erzeugen.
    • Beispiel 4. Das Fahrzeug nach Beispiel 3, wobei das Gateway-Modul konfiguriert ist, um die Sitzungsinformationen basierend zumindest zum Teil auf eine Uhrzeit in Beziehung mit der Programmierungsanfrage dynamisch zu erzeugen.
    • Beispiel 5. Das Fahrzeug nach Beispiel 3, wobei das Aktualisierungsmodul konfiguriert ist, um einer Remotevorrichtung die Sitzungsinformationen bereitzustellen, wobei die Remotevorrichtung die Autorisierungsinformationen durch Verschlüsselung eines Schlüssels in Beziehung mit dem Fahrzeug mithilfe der vom Aktualisierungsmodul bereitgestellten Sitzungsinformationen erzeugt, nachdem festgestellt wurde, dass die Programmierung des ersten Moduls autorisiert ist.
    • Beispiel 6. Das Fahrzeug nach einem der Beispiele 1–5, welches ferner ein erstes Kommunikationsnetzwerk und ein zweites Kommunikationsnetzwerk umfasst, wobei das Gateway-Modul zwischen dem ersten Kommunikationsnetzwerk und dem zweiten Kommunikationsnetzwerk gekoppelt ist.
    • Beispiel 7. Das Fahrzeug nach Beispiel 6, wobei das Aktualisierungsmodul an das erste Kommunikationsnetzwerk gekoppelt ist und das erste Modul an das zweite Kommunikationsnetzwerk gekoppelt ist.
    • Beispiel 8. Das Fahrzeug nach Bespiel 6 oder 7, wobei das erste Kommunikationsnetzwerk ein Ethernet-Netzwerk und das zweite Kommunikationsnetzwerk ein Controller Area Network (CAN) ist.
    • Beispiel 9. Das Fahrzeug nach Beispiel 7, wobei das Aktualisierungsmodul kommunikativ über ein externes Kommunikationsnetzwerk an eine Remotevorrichtung gekoppelt ist, um die Autorisierungsinformationen von der Remotevorrichtung zu erhalten, wobei die Remotevorrichtung die Autorisierungsinformationen erzeugt, nachdem festgestellt wurde, dass die Programmierung des ersten Moduls autorisiert ist.
    • Beispiel 10. Das Fahrzeug nach einem der Beispiele 1–9, wobei das erste Modul konfiguriert ist, um, basierend zumindest zum Teil auf den Programmierungsdaten, eine Anwendung auf dem ersten Modul zu aktualisieren.
    • Beispiel 11. Das Fahrzeug nach Beispiel 10, wobei die Programmierungsdaten eine Reihe Anweisungen umfassen, wobei das erste Modul die Anwendung durch Ausführung der Reihe Anweisungen aktualisiert.
    • Beispiel 12. Ein Verfahren zur Programmierung eines Fahrzeugmoduls, wobei das Verfahren umfasst: Erzeugen, durch ein Gateway-Modul, von Sitzungsinformationen für eine Programmierungsaktualisierung für das kommunikativ an das Gateway-Modul gekoppelte Fahrzeugmodul, Entschlüsseln von Autorisierungsinformationen mithilfe der Sitzungsinformationen, um einen entschlüsselten Schlüssel zu erhalten, Authentifizieren der Programmierungsaktualisierung basierend zumindest zum Teil auf dem entschlüsselten Schlüssel, und Bereitstellen, über das Gateway-Modul, von Programmierungsdaten für die Programmierungsaktualisierung für das Fahrzeugmodul nach Authentifizierung der Programmierungsaktualisierung.
    • Beispiel 13. Das Verfahren nach Beispiel 12, das ferner die Aktualisierung des Fahrzeugmoduls basierend zumindest zum Teil auf den Programmierungsdaten nach Bereitstellung der Programmierungsdaten für die Programmierungsaktualisierung für das Fahrzeugmodul umfasst.
    • Beispiel 14. Das Verfahren nach Beispiel 12 oder 13, wobei die Programmierungsdaten eine Reihe Anweisungen umfassen, wobei die Aktualisierung des Fahrzeugmoduls umfasst, dass das Fahrzeugmodul die Reihe Anweisungen ausführt, um eine Anwendung auf dem Fahrzeugmodul zu aktualisieren.
    • Beispiel 15. Das Verfahren nach einem der Beispiele 12–14, wobei die Authentifizierung der Programmierungsaktualisierung umfasst: Vergleichen des entschlüsselten Schlüssels mit einem gespeicherten Schlüssel, der mit einem Fahrzeug, das das Fahrzeugmodul enthält, in Beziehung steht, durch das Gateway-Modul, und Authentifizieren der Programmierungsaktualisierung, wenn der entschlüsselte Schlüssel dem gespeicherten Schlüssel entspricht.
    • Beispiel 16. Das Verfahren nach Beispiel 15, wobei die Erzeugung der Sitzungsinformationen die dynamische Erzeugung eines öffentlichen Schlüssels basierend zumindest zum Teil auf dem gespeicherten Schlüssel umfasst.
    • Beispiel 17. Das Verfahren nach Beispiel 15, welches ferner umfasst: Bereitstellen der Sitzungsinformationen für eine Remotevorrichtung, wobei die Remotevorrichtung die Autorisierungsinformationen durch Verschlüsselung des gespeicherten Schlüssels mithilfe der Sitzungsinformationen als Antwort auf die Feststellung, dass die Programmierungsaktualisierung basierend zumindest zum Teil auf den Sitzungsinformationen autorisiert ist, erzeugt, und Erhalten der Autorisierungsinformationen von der Remotevorrichtung.
    • Beispiel 18. Das Verfahren nach Beispiel 12, welches ferner umfasst: Bereitstellen der Sitzungsinformationen für eine Remotevorrichtung, wobei die Remotevorrichtung die Autorisierungsinformationen basierend zumindest zum Teil auf den Sitzungsinformationen als Antwort auf die Feststellung, dass die Programmierungsaktualisierung basierend zumindest zum Teil auf den Sitzungsinformationen autorisiert ist, erzeugt, und Erhalten der Autorisierungsinformationen von der Remotevorrichtung.
    • Beispiel 19. Ein Fahrzeugsystem, umfassend: ein erstes Kommunikationsnetzwerk, ein zweites Kommunikationsnetzwerk, ein an das zweite Kommunikationsnetzwerk gekoppeltes Fahrzeugmodul, ein an das erste Kommunikationsnetzwerk gekoppeltes Aktualisierungsmodul und ein an das erste Kommunikationsnetzwerk und das zweite Kommunikationsnetzwerk gekoppeltes Gateway-Modul, wobei: das Aktualisierungsmodul konfiguriert ist, um Programmierungsdaten für das Fahrzeugmodul zu erhalten, Autorisierungsinformationen von der Remotevorrichtung zu erhalten und die Autorisierungsinformationen und die Programmierungsdaten dem Gateway-Modul über das erste Kommunikationsnetzwerk bereitzustellen, das Gateway-Modul konfiguriert ist, um dem Fahrzeugmodul nach Authentifizierung der Autorisierungsinformationen Programmierungsdaten bereitzustellen, und das Fahrzeugmodul konfiguriert ist, um eine Anwendung am Fahrzeug zu aktualisieren, die zumindest zum Teil auf den Programmierungsdaten nach Erhalt der Programmierungsdaten vom Gateway-Modul basiert.
    • Beispiel 20. Das Fahrzeugsystem nach Beispiel 19, wobei: das Aktualisierungsmodul an ein externes Kommunikationsnetzwerk gekoppelt ist, um Sitzungsinformationen an die Remotevorrichtung über das externe Kommunikationsnetzwerk zu übertragen und die Autorisierungsinformationen von der Remotevorrichtung über das externe Kommunikationsnetzwerk zu erhalten, wobei die Remotevorrichtung die Autorisierungsinformationen zumindest zum Teil auf den Sitzungsinformationen basierend als Antwort auf die Feststellung, dass die Programmierung des Fahrzeugmoduls zumindest zum Teil auf den Sitzungsinformationen basiert, erzeugt, und das Gateway-Modul konfiguriert ist, um die Sitzungsinformationen für die Programmierungsdaten zu erzeugen, die Autorisierungsinformationen mithilfe der Sitzungsinformationen zu entschlüsseln, um einen entschlüsselten Schlüssel zu erhalten, und die Programmierungsdaten dem Fahrzeugmodul nach Feststellung, dass der entschlüsselte Schlüssel dem gespeicherten Schlüssel entspricht, bereitzustellen.
  • Obwohl mindestens ein Ausführungsbeispiel in der vorstehenden ausführlichen Beschreibung vorgelegt wurde, versteht es sich, dass es zahlreiche Variationen gibt. Es versteht sich ebenfalls, dass das Ausführungsbeispiel oder die Ausführungsbeispiele rein erläuternd und nicht dazu gedacht sind, den Umfang, die Anwendbarkeit oder die Konfiguration der Offenbarung auf irgendeine Weise einzuschränken. Stattdessen stellt die vorstehende ausführliche Beschreibung dem Fachmann eine praktische Anleitung bereit, um das Ausführungsbeispiel oder die Ausführungsbeispiele umzusetzen. Es versteht sich, dass diverse Änderungen an der Funktion und Anordnung von Elementen vorgenommen werden können, ohne den Umfang der beiliegenden Ansprüche und ihre rechtsgültigen Äquivalente zu verlassen. Dementsprechend sollten Einzelheiten der Ausführungsbeispiele oder sonstige oben beschriebene Beschränkungen bei Abwesenheit einer gegenteiligen Absicht nicht in Ansprüche hineininterpretiert werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • IEEE 802.11-Netzwerk [0022]

Claims (10)

  1. Ein Fahrzeug, umfassend: – ein erstes Modul, – ein Gateway-Modul, das kommunikativ an das erste Modul gekoppelt ist, und – ein Aktualisierungsmodul, das kommunikativ an das Gateway-Modul gekoppelt ist, um dem Gateway-Modul Autorisierungsinformationen und Programmierungsdaten bereitzustellen, wobei das Gateway-Modul konfiguriert ist, um zu überprüfen, dass die Programmierung des ersten Moduls zumindest zum Teil auf den Autorisierungsinformationen basierend autorisiert ist, und dem ersten Modul nach Überprüfung, dass die Programmierung autorisiert ist, die Programmierungsdaten bereitzustellen.
  2. Fahrzeug nach Anspruch 1, wobei das Gateway-Modul konfiguriert ist, um: – die Autorisierungsinformationen mithilfe von Sitzungsinformationen zu entschlüsseln, um einen entschlüsselten Schlüssel zu erhalten, und – zu überprüfen, dass die Programmierung autorisiert ist, wenn der entschlüsselte Schlüssel einem gespeicherten Schlüssel entspricht.
  3. Fahrzeug nach Anspruch 1 oder 2, wobei das Aktualisierungsmodul dem Gateway-Modul eine Programmierungsanfrage bereitstellt, wobei das Gateway-Modul konfiguriert ist, um die Sitzungsinformationen als Antwort auf die Programmierungsanfrage vom Aktualisierungsmodul zu erzeugen.
  4. Fahrzeug nach einem der Ansprüche 1–3, welches ferner ein erstes Kommunikationsnetzwerk und ein zweites Kommunikationsnetzwerk umfasst, wobei das Gateway-Modul zwischen dem ersten Kommunikationsnetzwerk und dem zweiten Kommunikationsnetzwerk gekoppelt ist.
  5. Ein Verfahren zur Programmierung eines Fahrzeugmoduls, wobei das Verfahren umfasst: – Erzeugen, durch ein Gateway-Modul, von Sitzungsinformationen für eine Programmierungsaktualisierung für das kommunikativ an das Gateway-Modul gekoppelte Fahrzeugmodul, – Entschlüsseln von Autorisierungsinformationen mithilfe von Sitzungsinformationen, um einen entschlüsselten Schlüssel zu erhalten, – Authentifizieren der Programmierungsaktualisierung basierend zumindest zum Teil auf dem entschlüsselten Schlüssel, und – Bereitstellen, über das Gateway-Modul, von Programmierungsdaten für die Programmierungsaktualisierung an das Fahrzeugmodul nach Authentifizierung der Programmierungsaktualisierung.
  6. Verfahren nach Anspruch 5, das ferner die Aktualisierung des Fahrzeugmoduls basierend zumindest zum Teil auf den Programmierungsdaten nach Bereitstellung der Programmierungsdaten für die Programmierungsaktualisierung für das Fahrzeugmodul umfasst.
  7. Verfahren nach Anspruch 5 oder 6, wobei die Authentifizierung der Programmierungsaktualisierung umfasst: – Vergleichen des entschlüsselten Schlüssels mit einem gespeicherten Schlüssel, der mit einem Fahrzeug, das das Fahrzeugmodul enthält, in Beziehung steht, durch das Gateway-Modul, und – Authentifizieren der Programmierungsaktualisierung, wenn der entschlüsselte Schlüssel dem gespeicherten Schlüssel entspricht.
  8. Verfahren nach einem der Beispiele 5–7, welches ferner umfasst: – Bereitstellen der Sitzungsinformationen für eine Remotevorrichtung, wobei die Remotevorrichtung die Autorisierungsinformationen zumindest zum Teil auf den Sitzungsinformationen basierend als Antwort auf die Feststellung, dass die Programmierungsaktualisierung zumindest zum Teil auf den Sitzungsinformationen basierend autorisiert ist, erzeugt, und – Erhalten der Autorisierungsinformationen von der Remotevorrichtung.
  9. Ein Fahrzeugsystem, umfassend: – ein erstes Kommunikationsnetzwerk, – ein zweites Kommunikationsnetzwerk, – ein an das zweite Kommunikationsnetzwerk gekoppeltes Fahrzeugmodul, – ein an das erste Kommunikationsnetzwerk gekoppeltes Aktualisierungsmodul und – ein an das erste Kommunikationsnetzwerk und das zweite Kommunikationsnetzwerk gekoppeltes Gateway-Modul, wobei: – das Aktualisierungsmodul konfiguriert ist, um Programmierungsdaten für das Fahrzeugmodul zu erhalten, Autorisierungsinformationen von der Remotevorrichtung zu erhalten und die Autorisierungsinformationen und die Programmierungsdaten dem Gateway-Modul über das erste Kommunikationsnetzwerk bereitzustellen, – das Gateway-Modul konfiguriert ist, um dem Fahrzeugmodul nach Authentifizierung der Autorisierungsinformationen Programmierungsdaten bereitzustellen, und – das Fahrzeugmodul konfiguriert ist, um eine Anwendung am Fahrzeug zu aktualisieren, die zumindest zum Teil auf den Programmierungsdaten nach Erhalt der Programmierungsdaten vom Gateway-Modul basiert.
  10. Fahrzeugsystem nach Anspruch 9, wobei: – das Aktualisierungsmodul an ein externes Kommunikationsnetzwerk gekoppelt ist, um Sitzungsinformationen an die Remotevorrichtung über das externe Kommunikationsnetzwerk zu übertragen und die Autorisierungsinformationen von der Remotevorrichtung über das externe Kommunikationsnetzwerk zu erhalten, wobei die Remotevorrichtung die Autorisierungsinformationen zumindest zum Teil auf den Sitzungsinformationen basierend als Antwort auf die Feststellung, dass die Programmierung des Fahrzeugmoduls zumindest zum Teil auf den Sitzungsinformationen basiert, erzeugt, und – das Gateway-Modul konfiguriert ist, um die Sitzungsinformationen für die Programmierungsdaten zu erzeugen, die Autorisierungsinformationen mithilfe der Sitzungsinformationen zu entschlüsseln, um einen entschlüsselten Schlüssel zu erhalten und die Programmierungsdaten dem Fahrzeugmodul nach Feststellung, dass der entschlüsselte Schlüssel dem gespeicherten Schlüssel entspricht, bereitzustellen.
DE102014114607.7A 2013-10-28 2014-10-08 Programmierung von Fahrzeugmodulen mit Remotevorrichtungen und zugehörige Methoden und Systeme Active DE102014114607B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/064,425 2013-10-28
US14/064,425 US9374355B2 (en) 2013-10-28 2013-10-28 Programming vehicle modules from remote devices and related methods and systems

Publications (2)

Publication Number Publication Date
DE102014114607A1 true DE102014114607A1 (de) 2015-04-30
DE102014114607B4 DE102014114607B4 (de) 2023-03-23

Family

ID=52811845

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014114607.7A Active DE102014114607B4 (de) 2013-10-28 2014-10-08 Programmierung von Fahrzeugmodulen mit Remotevorrichtungen und zugehörige Methoden und Systeme

Country Status (3)

Country Link
US (1) US9374355B2 (de)
CN (1) CN104580352B (de)
DE (1) DE102014114607B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016200775A1 (de) 2016-01-21 2017-07-27 Robert Bosch Gmbh Verfahren und Vorrichtung zum Schutz eines Fahrzeuges vor Cyberangriffen

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9650934B2 (en) 2011-11-04 2017-05-16 Honeywell spol.s.r.o. Engine and aftertreatment optimization system
US20130111905A1 (en) 2011-11-04 2013-05-09 Honeywell Spol. S.R.O. Integrated optimization and control of an engine and aftertreatment system
US9923719B2 (en) * 2014-12-09 2018-03-20 Cryptography Research, Inc. Location aware cryptography
US9648023B2 (en) * 2015-01-05 2017-05-09 Movimento Group Vehicle module update, protection and diagnostics
EP3051367B1 (de) 2015-01-28 2020-11-25 Honeywell spol s.r.o. Ansatz und system zur handhabung von einschränkungen für gemessene störungen mit unsicherer vorschau
EP3056706A1 (de) 2015-02-16 2016-08-17 Honeywell International Inc. Ansatz zur nachbehandlungssystemmodellierung und modellidentifizierung
JP6197000B2 (ja) * 2015-07-03 2017-09-13 Kddi株式会社 システム、車両及びソフトウェア配布処理方法
DE102015112040A1 (de) * 2015-07-23 2017-01-26 Phoenix Contact Gmbh & Co. Kg Verfahren und System zur Firmware-Aktualisierung einer Steuereinrichtung zur Prozesssteuerung
EP3734375B1 (de) 2015-07-31 2023-04-05 Garrett Transportation I Inc. Quadratischer programmlöser für mpc mit variabler anordnung
US10272779B2 (en) 2015-08-05 2019-04-30 Garrett Transportation I Inc. System and approach for dynamic vehicle speed optimization
JP6502832B2 (ja) * 2015-11-13 2019-04-17 株式会社東芝 検査装置、通信システム、移動体および検査方法
WO2017099641A1 (en) * 2015-12-07 2017-06-15 Telefonaktiebolaget Lm Ericsson (Publ) Methods and arrangements for authenticating a communication device
CN105653289B (zh) * 2016-01-08 2020-06-23 上海创程车联网络科技有限公司 车载软件控制管理装置及其应用方法
CN105480176B (zh) * 2016-01-08 2019-09-13 上海创程车联网络科技有限公司 汽车软件管理系统及其操作方法
US10415492B2 (en) 2016-01-29 2019-09-17 Garrett Transportation I Inc. Engine system with inferential sensor
US10232709B2 (en) 2016-02-19 2019-03-19 Xevo Inc. Dynamic application execution for automobile and cloud hybrid environments
CN105978862A (zh) * 2016-04-26 2016-09-28 北京经纬恒润科技有限公司 一种数据处理方法及系统
US10036338B2 (en) 2016-04-26 2018-07-31 Honeywell International Inc. Condition-based powertrain control system
US10124750B2 (en) 2016-04-26 2018-11-13 Honeywell International Inc. Vehicle security module system
US10126136B2 (en) 2016-06-14 2018-11-13 nuTonomy Inc. Route planning for an autonomous vehicle
US11092446B2 (en) 2016-06-14 2021-08-17 Motional Ad Llc Route planning for an autonomous vehicle
US10309792B2 (en) 2016-06-14 2019-06-04 nuTonomy Inc. Route planning for an autonomous vehicle
US10829116B2 (en) 2016-07-01 2020-11-10 nuTonomy Inc. Affecting functions of a vehicle based on function-related information about its environment
KR102598613B1 (ko) * 2016-07-21 2023-11-07 삼성전자주식회사 개인 인증 및 차량 인증 기반으로 차량 정보를 제공하는 시스템 및 방법
US11212109B2 (en) * 2016-08-10 2021-12-28 Kddi Corporation Data provision system, data security device, data provision method, and computer program
US11146401B2 (en) * 2016-08-10 2021-10-12 Ford Global Technologies, Llc Software authentication before software update
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
US10491405B2 (en) * 2016-10-04 2019-11-26 Denso International America, Inc. Cryptographic security verification of incoming messages
US10331129B2 (en) 2016-10-20 2019-06-25 nuTonomy Inc. Identifying a stopping place for an autonomous vehicle
US10857994B2 (en) 2016-10-20 2020-12-08 Motional Ad Llc Identifying a stopping place for an autonomous vehicle
US10681513B2 (en) 2016-10-20 2020-06-09 nuTonomy Inc. Identifying a stopping place for an autonomous vehicle
US10473470B2 (en) 2016-10-20 2019-11-12 nuTonomy Inc. Identifying a stopping place for an autonomous vehicle
EP3548729B1 (de) 2016-11-29 2023-02-22 Garrett Transportation I Inc. Inferenzflusssensor
US10705820B2 (en) * 2017-02-02 2020-07-07 Ford Global Technologies, Llc Method and apparatus for secure multi-cycle vehicle software updates
CN107104791B (zh) * 2017-03-29 2019-06-28 江苏大学 一种基于ecu身份隐藏的车内网络一次一密通信方法
US10104547B1 (en) * 2017-05-24 2018-10-16 GM Global Technology Operations LLC Automatic wireless communication authentication
US11057213B2 (en) 2017-10-13 2021-07-06 Garrett Transportation I, Inc. Authentication system for electronic control unit on a bus
US10594666B2 (en) 2017-12-19 2020-03-17 Micron Technology, Inc. Secure message including a vehicle private key
US11178133B2 (en) * 2017-12-19 2021-11-16 Micron Technology, Inc. Secure vehicle control unit update
KR102540025B1 (ko) * 2018-01-25 2023-06-02 엘지전자 주식회사 차량용 정보 조회 방법
CN109062181A (zh) * 2018-07-26 2018-12-21 北京车和家信息技术有限公司 车控指令的更新方法及装置
US10827326B2 (en) * 2018-10-22 2020-11-03 GM Global Technology Operations LLC User-defined vehicle notification
US11356425B2 (en) 2018-11-30 2022-06-07 Paccar Inc Techniques for improving security of encrypted vehicle software updates
US11449327B2 (en) 2018-11-30 2022-09-20 Paccar Inc Error-resilient over-the-air software updates for vehicles
JP7318230B2 (ja) * 2019-02-22 2023-08-01 株式会社デンソー センター装置、データ配信システム及び配信制御プログラム
CN109951367B (zh) * 2019-03-29 2021-06-04 重庆长安汽车股份有限公司 一种待开源车辆平台的整车控制协议的加密方法
CN113346989B (zh) * 2020-03-02 2023-02-07 北京新能源汽车股份有限公司 一种外部设备接入认证方法、装置、网关及电动汽车
JP7279668B2 (ja) * 2020-03-12 2023-05-23 トヨタ自動車株式会社 車載用制御装置
CN112399379A (zh) * 2020-10-28 2021-02-23 星火科技技术(深圳)有限责任公司 智能车联网通讯协议方法、装置、设备及存储介质
AU2022316124A1 (en) * 2021-07-21 2024-01-18 Abbott Diabetes Care Inc. Over-the-air programming of sensing devices
US11606446B1 (en) * 2021-09-13 2023-03-14 International Business Machines Corporation Microapplication composition

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438468B1 (en) 2000-11-28 2002-08-20 Honeywell International Inc. Systems and methods for delivering data updates to an aircraft
US6976167B2 (en) * 2001-06-26 2005-12-13 Intel Corporation Cryptography-based tamper-resistant software design mechanism
US7418596B1 (en) * 2002-03-26 2008-08-26 Cellco Partnership Secure, efficient, and mutually authenticated cryptographic key distribution
US7869906B2 (en) * 2007-01-08 2011-01-11 Ford Global Technologies Wireless gateway apparatus and method of bridging data between vehicle based and external data networks
US7979177B2 (en) 2007-04-30 2011-07-12 Ford Motor Company System and method for updating vehicle computing platform configuration information
WO2009147734A1 (ja) 2008-06-04 2009-12-10 株式会社ルネサステクノロジ 車両、メンテナンス装置、メンテナンスサービスシステム及びメンテナンスサービス方法
US20100082559A1 (en) 2008-09-19 2010-04-01 General Motors Corporation Method of managing a schedule-based software package update
DE102009045711A1 (de) 2008-10-15 2010-04-22 Continental Teves Ag & Co. Ohg Datenübertragung an ein Fahrzeug und Laden des Fahrzeuges
US9304005B2 (en) * 2009-12-04 2016-04-05 GM Global Technology Operations LLC Application programming interface (API) for navigation applications that merges incremental updates with existing map database
KR20110092007A (ko) 2010-02-08 2011-08-17 주식회사 만도 차량의 소프트웨어 다운로드 시스템 및 방법
US8543805B2 (en) * 2010-04-21 2013-09-24 Citrix Systems, Inc. Systems and methods for split proxying of SSL via WAN appliances
CN201804238U (zh) * 2010-05-27 2011-04-20 金龙联合汽车工业(苏州)有限公司 车辆性能远程监控系统
KR20120062539A (ko) 2010-12-06 2012-06-14 현대자동차주식회사 텔레매틱스 서버와 연결된 무선인터넷 공유기를 이용하는 차량정보 업데이트 시스템 및 그 방법
US8688313B2 (en) * 2010-12-23 2014-04-01 Aes Technologies, Llc. Remote vehicle programming system and method
ES2902644T3 (es) 2011-02-11 2022-03-29 Siemens Healthcare Diagnostics Inc Sistema y método para actualización segura de software
JP5267598B2 (ja) 2011-02-25 2013-08-21 トヨタ自動車株式会社 車両制御装置のデータ書き換え支援システム及びデータ書き換え支援方法
US9126545B2 (en) 2011-02-25 2015-09-08 GM Global Technology Operations LLC Vehicle systems activation methods and applications
JP5479408B2 (ja) 2011-07-06 2014-04-23 日立オートモティブシステムズ株式会社 車載ネットワークシステム
KR101360705B1 (ko) * 2011-09-22 2014-02-07 기아자동차주식회사 차량 업그레이드 시스템 및 그 방법
JP5435022B2 (ja) * 2011-12-28 2014-03-05 株式会社デンソー 車載システム及び通信方法
JP5950225B2 (ja) 2012-01-10 2016-07-13 クラリオン株式会社 サーバ装置、車載端末、情報通信方法および情報配信システム
JP5664562B2 (ja) 2012-01-17 2015-02-04 株式会社デンソー 中継装置
JP5941315B2 (ja) 2012-03-29 2016-06-29 富士通テン株式会社 車両制御装置、及び、車両制御システム
US8966248B2 (en) 2012-04-06 2015-02-24 GM Global Technology Operations LLC Secure software file transfer systems and methods for vehicle control modules
US9209977B2 (en) 2012-04-11 2015-12-08 General Motors Llc Processing messages received at a vehicle
JP5958535B2 (ja) 2012-05-29 2016-08-02 トヨタ自動車株式会社 認証システム及び認証方法
US8948934B2 (en) 2012-09-07 2015-02-03 The Boeing Company Methods and systems for vehicle broadband connection to a data network
KR101480605B1 (ko) 2013-04-29 2015-01-09 현대자동차주식회사 차량 네트워크 접속 장치 및 그 접속 제어 방법
CN103208312B (zh) * 2013-05-02 2015-09-09 哈尔滨工业大学 一种提高车辆电子控制单元里程数据存储精度的方法
US9135756B2 (en) 2013-08-14 2015-09-15 Hti Ip, L.L.C. Providing communications between a vehicle control device and a user device via a head unit

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEEE 802.11-Netzwerk

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016200775A1 (de) 2016-01-21 2017-07-27 Robert Bosch Gmbh Verfahren und Vorrichtung zum Schutz eines Fahrzeuges vor Cyberangriffen

Also Published As

Publication number Publication date
US9374355B2 (en) 2016-06-21
DE102014114607B4 (de) 2023-03-23
CN104580352B (zh) 2018-04-27
CN104580352A (zh) 2015-04-29
US20150121071A1 (en) 2015-04-30

Similar Documents

Publication Publication Date Title
DE102014114607B4 (de) Programmierung von Fahrzeugmodulen mit Remotevorrichtungen und zugehörige Methoden und Systeme
DE102014114606B4 (de) Programmierung von Fahrzeugmodulen mit Remotevorrichtungen und zugehörige Methoden und Systeme
DE112012002836B4 (de) Fahrzeugbasiertes Netzwerksystem
DE102017113295A1 (de) Firewall-fernaktualisierung für bordeigenes webserver-telematiksystem
DE102016115545A1 (de) Mehrstufige sichere fahrzeug-softwareaktualisierung
DE102017102539A1 (de) Sicheres tunneln für sicherheit verbundener anwendungen
DE102017102388A1 (de) Regeln des fahrzeugzugangs unter verwendung kryptografischer verfahren
DE102017125826A1 (de) Nachrichtenauthentifizierung über controller area network
DE102018111262A1 (de) Bedienung eines schlüsselanhängers in einem carsharing-system
EP2689553B1 (de) Kraftwagen-steuergerät mit kryptographischer einrichtung
DE102017124399A1 (de) Hardware-sicherheit für eine elektronische steuereinheit
DE102020124163A1 (de) Verifizierung von fahrzeugdaten
DE102013108020A1 (de) Authentifizierungsschema zum Aktivieren eines Spezial-Privileg-Modus in einem gesicherten elektronischen Steuergerät
DE102018104079A1 (de) Sichere end-to-end-fahrzeug-ecu-freischaltung in einer halb-offline-umgebung
DE102016115669A1 (de) Boardseitige Webserver-Telematiksysteme und Verfahren
DE102017119373A1 (de) Aktualisierung der servers der netzwerkadresse der mobilvorrichtung
DE102013108022A1 (de) Verfahren zum Aktivieren des Entwicklungsmodus eines gesicherten elektronischen Steuergeräts
DE102017107879A1 (de) Nachrichten-Authentifizierungsbibliothek
DE102012224421A1 (de) Fahrzeuggebundenes system und kommunikationsverfahren
DE102007022100B4 (de) Kraftfahrzeugsteuergerätedatenübertragungssystem und -verfahren
DE102008056745A1 (de) Vorrichtung zum Steuern einer Fahrzeugfunktion und Verfahren zum Aktualisieren eines Steuergerätes
DE102018101479A1 (de) Steuerungsschnittstelle für ein autonomes fahrzeug
DE102015209108A1 (de) Verfahren und Entscheidungsgateway zum Autorisieren einer Funktion eines eingebetteten Steuergerätes
DE102019124914A1 (de) Cloudautorisierte fahrzeugsteuerung
DE102017218872A1 (de) Verfahren und Vorrichtung zum Aktualisieren von Software eines Kfz-Steuergerätes

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0009320000

Ipc: G06F0021100000

R016 Response to examination communication
R082 Change of representative

Representative=s name: SCHWEIGER, MARTIN, DIPL.-ING. UNIV., DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final