DE102014114606B4 - 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
DE102014114606B4
DE102014114606B4 DE102014114606.9A DE102014114606A DE102014114606B4 DE 102014114606 B4 DE102014114606 B4 DE 102014114606B4 DE 102014114606 A DE102014114606 A DE 102014114606A DE 102014114606 B4 DE102014114606 B4 DE 102014114606B4
Authority
DE
Germany
Prior art keywords
module
authentication
programming
vehicle
update
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.)
Active
Application number
DE102014114606.9A
Other languages
English (en)
Other versions
DE102014114606A1 (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 DE102014114606A1 publication Critical patent/DE102014114606A1/de
Application granted granted Critical
Publication of DE102014114606B4 publication Critical patent/DE102014114606B4/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/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)

Abstract

Ein Fahrzeug (102), umfassend:- ein erstes Modul,- ein Authentifizierungsmodul (112), das kommunikativ an das erste Modul gekoppelt ist, und- ein Aktualisierungsmodul (110), um eine Programmierungsaktualisierung für das erste Modul zu erhalten, wobei die Programmierungsaktualisierung einen Authentifizierungsteil und einen Programmierungsdatenteil enthält, wobei das Aktualisierungsmodul (110) kommunikativ an das erste Modul und das Authentifizierungsmodul (112) gekoppelt ist, um dem ersten Modul den Programmierungsdatenteil bereitzustellen und dem Authentifizierungsmodul (112) den Authentifizierungsteil bereitzustellen, wobei das Authentifizierungsmodul (112) dem ersten Modul den Authentifizierungsteil nach Authentifizierung des Authentifizierungsteils bereitstellt, wobei:das Erhalten der Programmierungsaktualisierung den Empfang der Programmierungsaktualisierung über ein erstes Kommunikationsnetzwerk (111) umfasst,das Bereitstellen des Authentifizierungsteils für das Authentifizierungsmodul (112) die Bereitstellung des Authentifizierungsteils für das Authentifizierungsmodul (112) über ein zweites Kommunikationsnetzwerk (113) umfasst, welches sich vom ersten Kommunikationsnetzwerk (111) unterscheidet,das Bereitstellen des Authentifizierungsteils vom Authentifizierungsmodul (112) für das erste Modul nach Authentifizierung des Authentifizierungsteils die Bereitstellung des Authentifizierungsteils vom Authentifizierungsmodul (112) für das erste Modul über ein drittes Kommunikationsnetzwerk umfasst, welches sich vom zweiten Kommunikationsnetzwerk (113) unterscheidet, unddas Bereitstellen des Programmierungsdatenteils für das erste Modul die Bereitstellung des Programmierungsdatenteils für das Authentifizierungsmodul (112) über das zweite Kommunikationsnetzwerk (113) umfasst, wobei das Authentifizierungsmodul (112) den Programmierungsdatenteil dem ersten Modul über das dritte Kommunikationsnetzwerk nach Authentifizierung des Authentifizierungsteils bereitstellt.

Description

  • KREUZREFERENZ FÜR DIE ZUGEHÖRIGEN ANWENDUNGEN
  • Der hier beschriebene Gegenstand bezieht sich auf den Gegenstand beschrieben unter US-Patent-Seriennummer 14/064,386 (Aktenzeichen Nr.: P024876-GMVE-CD (003.1078)), 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, 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.
  • Die US 2013 / 0 318 357 A1 offenbart ein System und Verfahren zur sicheren Software-Aktualisierung.
  • Die US 2013 / 0 079 950 A1 offenbart ein System und Verfahren zur Nachrüstung von Fahrzeugen.
  • Die US 7 869 906 B2 offenbart ein drahtloses Gateway-Gerät und Verfahren zur Überbrückung von Daten zwischen fahrzeugbasierten und externen Datennetzen
  • KURZDARSTELLUNG
  • In einem oder mehreren Ausführungsbeispielen wird ein Gerät für ein Fahrzeug bereitgestellt. Das Fahrzeug umfasst ein erstes Modul, ein Authentifizierungsmodul, welches kommunikativ an das erste Modul gekoppelt ist, und ein Aktualisierungsmodul, welches kommunikativ an das erste Modul und das Authentifizierungsmodul gekoppelt wird. Das Aktualisierungsmodul ist konfiguriert, um eine Programmierungsaktualisierung für das erste Modul zu erhalten, welches einen Authentifizierungsteil und einen Programmierungsdatenteil umfasst. Das Aktualisierungsmodul stellt den Programmierungsdatenteil für das erste Modul und den Authentifizierungsteil für das Authentifizierungsmodul bereit. Das Authentifizierungsmodul stellt den Authentifizierungsteil für das erste Modul bereit, nachdem der Authentifizierungsteil authentifiziert wurde.
  • In einer weiteren Ausführungsform wird eine Methode zur Programmierung eines Fahrzeugmoduls bereitgestellt. Die Methode umfasst das Erhalten von einer Remotevorrichtung einer Programmierungsaktualisierung für das Fahrzeugmodul, welche einen Authentifizierungsteil und einen Programmierungsdatenteil umfasst. Die Methode fährt mit der Bereitstellung des Authentifizierungsteils für ein am Fahrzeugmodul gekoppeltes Authentifizierungsmodul und Bereitstellung des Programmierungsdatenteils für das Fahrzeugmodul fort. Nach der Authentifizierung des Authentifizierungsteils fährt die Methode mit der Bereitstellung des Authentifizierungsteils vom Authentifizierungsmodul an das Fahrzeugmodul und der Aktualisierung des Fahrzeugmoduls basierend zumindest zum Teil auf dem Programmierungsdatenteil fort, nachdem der Authentifizierungsteil dem Fahrzeugmodul bereitgestellt wurde.
  • Gemäß anderer der unterschiedlichen Ausführungsbeispiele umfasst ein anderes Gerät ein Fahrzeugkommunikationsnetzwerk, ein an das Fahrzeugkommunikationsnetzwerk gekoppeltes Fahrzeugmodul, ein an das Fahrzeugkommunikationsnetzwerk gekoppeltes Authentifizierungsmodul und ein an das Fahrzeugkommunikationsnetzwerk gekoppeltes Aktualisierungsmodul. Das Aktualisierungsmodul wird konfiguriert, um von einer Remotevorrichtung eine Programmierungsaktualisierung für das erste Modul zu erhalten, welches einen Authentifizierungsteil und einen Programmierungsdatenteil umfasst, den Programmierungsdatenteil über das Fahrzeugkommunikationsnetzwerk an das Fahrzeugmodul zu senden und den Authentifizierungsteil für das Authentifizierungsmodul über das Fahrzeugkommunikationsnetzwerk bereitzustellen. Das Authentifizierungsmodul wird konfiguriert, um den Authentifizierungsteil zu authentifizieren und dem Fahrzeugmodul den Authentifizierungsteil bereitzustellen, nachdem der Authentifizierungsteil authentifiziert wurde. Das Fahrzeugmodul wird konfiguriert, um eine Zielanwendung auf dem Fahrzeugmodul basierend zumindest zum Teil auf dem Programmierungsdatenteil zu aktualisieren, nachdem der Authentifizierungsteil vom Authentifizierungsmodul erhalten wurde.
  • Figurenliste
  • 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.
  • 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.
  • Der hier beschriebene Gegenstand betrifft die Programmierung eines Moduls in einem Fahrzeug, z. B. einem Pkw, unter Verwendung von Programmierungsinformationen von einer Remotevorrichtung. Wie nachstehend genauer beschrieben, umfasst eine Programmierungsaktualisierung für eine Anwendung auf einem zu programmierenden Fahrzeugmodul (alternativ hier als Zielanwendung eines Zielmoduls beschrieben) einen Programmierungsdatenteil und einen Authentifizierungsteil. Der Programmierungsdatenteil ist eine Datei oder ein anderes logisches Datensegment, welches eine Reihe ausführbare Anweisungen (z. B. Code, Skript oder Ähnliches) umfasst, die 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. Der Authentifizierungsteil ist eine weitere Datei oder logisches Datensegment, welches einen oder mehrere Schlüssel umfasst, die zur Authentifizierung der Programmierungsdaten als eine zuverlässige Quelle verwendet werden. Ein anderes Modul im Fahrzeug als das Zielmodul erhält die Programmierungsaktualisierung für die Anwendung auf dem Zielmodul von einer Remotevorrichtung und überträgt oder stellt anderweitig den Authentifizierungsteil für ein Authentifizierungsmodul im Fahrzeug über ein Fahrzeugkommunikationsnetzwerk bereit. Zwecks Erklärung, aber ohne Einschränkung, kann der Programmierungsdatenteil hier alternativ als eine Programmierungsdatendatei und der Authentifizierungsteil als eine Authentifizierungsdatei bezeichnet werden, und das Modul, welches die Programmierungsaktualisierung erhält, kann hier als ein Aktualisierungsmodul bezeichnet werden.
  • In Ausführungsbeispielen speichert oder verwaltet das Authentifizierungsmodul einen oder mehrere Schlüssel, die mit dem Fahrzeug in Beziehung stehen, und vergleicht den oder die vom Authentifizierungsteil erhaltenen Schlüssel mit dem oder den gespeicherten Schlüsseln, um zu überprüfen oder anderweitig zu bestätigen, dass der/die Schlüssel des Authentifizierungsteils den gespeicherten Schlüsseln des Fahrzeugs entsprechen. Wenn die Schlüssel des Authentifizierungsteils den gespeicherten Schlüsseln des Fahrzeugs entsprechen, stellt das Authentifizierungsmodul dem Zielmodul den Authentifizierungsteil bereit. Das Aktualisierungsmodul stellt dem Zielmodul auch den Programmierungsdatenteil zur Verfügung, entweder direkt über das Fahrzeugkommunikationsnetzwerk oder indirekt über das Authentifizierungsmodul. In Ausführungsbeispielen geht das Zielmodul in einen Programmierungsmodus über, nachdem es den Programmierungsdatenteil und den geprüften Authentifizierungsteil erhalten hat, und das Zielmodul führt eine Reihe Anweisungen im Programmierungsdatenteil aus, um die Zielanwendung auf dem Zielmodul zu aktualisieren. In dieser Hinsicht geht in manchen Ausführungsformen in Abwesenheit vom Empfang des geprüften Authentifizierungsteils das Zielmodul nicht in einen Programmierungsmodus über und/oder scheitert, die Anweisungen im Programmierungsdatenteil auszuführen, und hindert dadurch das Zielmodul und/oder die Zielanwendung daran, geändert, modifiziert oder anderweitig durch Anweisungen beeinflusst zu werden, die nicht von einer zuverlässigen Quelle stammen.
  • In alternativen Ausführungsformen kann das Zielmodul einen Programmierungsmodus einleiten und/oder die Anweisungen im Programmierungsdatenteil ausführen, selbst bei Abwesenheit des geprüften Authentifizierungsteils, der geprüfte Authentifizierungsteil wird jedoch so konfiguriert, dass dessen Abwesenheit verhindert, dass das Zielmodul und/oder die Zielanwendung geändert, modifiziert oder anderweitig durch Anweisungen im Programmierungsdatenteil in der beabsichtigten Weise beeinflusst wird. Zum Beispiel kann der Authentifizierungsteil als Entschlüsselungsschlüssel für den Programmierungsdatenteil verwendet werden, so dass bei Abwesenheit des Authentifizierungsteils das Zielmodul die verschlüsselten (oder unsachgemäß entschlüsselten) Anweisungen im Programmierungsdatenteil ausführt, wodurch vermieden wird, dass die Anweisungen im Programmierungsdatenteil ihren gewünschten Effekt erreichen und/oder dass das Zielmodul in einen Betriebsmodus übergeht, in dem der Betrieb beschränkt oder anderweitig gesperrt ist (z. B. Fehlermodus). In einer weiteren Ausführungsform kann der Authentifizierungsteil eine Reihe Anweisungen enthalten, die für die richtige Ausführung der übrigen Anweisungen im Programmierungsdatenteil erforderlich sind, damit der gewünschte Effekt dieser Anweisungen, wenn das Zielmodul die Anweisungen im Programmierungsdatenteil ausführt (oder versucht, diese auszuführen), nicht erreicht wird, und die Ausführung kann dazu führen, dass das Zielmodul in einen Betriebsmodus übergeht, in dem der Betrieb beschränkt oder anderweitig gesperrt ist. Demzufolge werden Anweisungen, die nicht von einer zuverlässigen Quelle stammen, daran gehindert, den Betrieb des Zielmoduls und/oder der Zielanwendung zu ändern, modifizieren oder anderweitig in der beabsichtigten Weise zu beeinflussen.
  • Nun mit Bezug auf 1 umfasst ein Fahrzeugkommunikationssystem 100 in einem oder mehreren Ausführungsbeispielen ein Fahrzeug 102, das in der Lage ist, mit einer Remotevorrichtung 104 über ein Kommunikationsnetzwerk 106 zu kommunizieren, das 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 oder mehrere zusätzliche Module 114, 116 im Fahrzeug 102 zu programmieren oder anderweitig zu aktualisieren. In Ausführungsbeispielen umfasst das Fahrzeug 102 ein Authentifizierungsmodul 112, das kommunikativ an das Aktualisierungsmodul 110 gekoppelt ist und Versuche authentifiziert, um die Zielmodule 114, 116 im Fahrzeug 102 zu programmieren. In dieser Hinsicht vermeidet oder beschränkt das Authentifizierungsmodul 102, wenn das Authentifizierungsmodul scheitert, die Programmierung eines bestimmten Zielmoduls 114, 116 zu authentifizieren, die Programmierung dieses Zielmoduls 114, 116, wie nachstehend genauer beschrieben.
  • 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- oder Allradantrieb-Fahrzeug (4WD), (AWD) sein. Das Fahrzeug 102 kann auch eine beliebige 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 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, 116 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 3-4 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, 116 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 Authentifizierungsmodul 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 der Zielmodule 114, 116 innerhalb des Fahrzeugs 102 durch Überprüfung oder anderweitiger Authentifizierung von Programmierungsaktualisierungen zu regulieren oder anderweitig zu kontrollieren. Die Authentifizierungsmaschine 122 ist im Allgemeinen ein Softwaremodul oder eine andere Komponente, die erzeugt, ausgeführt oder anderweitig vom Authentifizierungsmodul 112 implementiert wird, um von der Aktualisierungsmaschine 120 über das Netzwerk 111 eine Authentifizierungsdatei zu erhalten, die mit einer Programmierungsaktualisierung in Beziehung steht, um zu überprüfen, ob die in der Authentifizierungsdatei enthaltenen Informationen den im Authentifizierungsmodul 112 gespeicherten Authentifizierungsinformationen entsprechen und um die Programmierungsaktualisierung bei dem jeweiligen Zielmodul 114, 116 erst nach der Prüfung zuzulassen, ob die in der Authentifizierungsdatei enthaltenen Authentifizierungsinformationen den gespeicherten Authentifizierungsinformationen, wie nachstehend genauer beschrieben, entsprechen.
  • Gemäß einer oder mehreren Ausführungsformen dient das Authentifizierungsmodul 112 ebenfalls als Gateway zwischen dem ersten Fahrzeugkommunikationsnetzwerk 111, mit dem das Aktualisierungsmodul 110 kommuniziert, und einem zweiten Fahrzeugkommunikationsnetzwerk 113, an dem ein oder mehrere Zielmodule 116 kommunikativ gekoppelt sind. Zum Beispiel: In einer Ausführungsform ist das erste Fahrzeugkommunikationsnetzwerk 111 ein Ethernet-Netzwerk und das zweite Fahrzeugkommunikationsnetzwerk 113 ein CAN, wobei das Authentifizierungsmodul 112 ein Gateway zwischen dem Ethernet-Netzwerk und dem CAN bereitstellt.
  • Immer noch mit Bezug auf 1, ist ein Zielmodul 114, 116 im Allgemeinen eine Art von Hardware, Komponente(n), Gerät(en) oder Modul(en), die an ein oder mehrere Fahrzeugkommunikationsnetzwerke 111, 113 gekoppelt und in der Lage sind, 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, 126 im Allgemeinen ein Softwaremodul oder eine andere Komponente, die erzeugt, ausgeführt oder anderweitig von oder auf einem jeweiligen Zielmodul 114, 116 implementiert wird, um die Funktionen und/oder Funktionalitäten des jeweiligen Zielmoduls 114, 116 zu kontrollieren, verwalten oder anderweitig zu regulieren. Wenn das Zielmodul 114 zum Beispiel ein Infotainment-System ist, kann die Zielanwendung 124 das Betriebssystem für das Infotainment-System oder eine individuelle herunterladbare Benutzeranwendung für das Infotainment-System sein. In ähnlicher Weise, wenn das Zielmodul 116 ein Bremssystem ist, kann die Zielanwendung 126 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 beabsichtigten Zielmodul 114, 116 (oder einer Komponente davon) gelesen und ausgeführt zu werden, um den Betrieb seiner jeweiligen Zielanwendung 124, 126 zu ändern. Zum Beispiel kann der bestehende Code oder Anweisungen für die Implementierung der jeweiligen Zielanwendung 124, 126 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, 126 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 bestimmte Anwendung 124, 126 basiert, beeinflusst den darauffolgenden Betrieb der jeweiligen Anwendung 124, 126, was wiederum den darauffolgenden Betrieb des zugehörigen Zielmoduls 114, 116 beeinflusst. In dieser Weise können Programmierungsaktualisierungen vom Server 104 auf ein Zielmodul 114, 116 angewendet werden, um bestehende Funktionen und/Funktionalitäten des Zielmoduls 114, 116 zu ändern oder neue Funktionen und/oder Funktionalitäten für das Zielmodul 114, 116 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, 116 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 über eine Eingabeschnittstelle zum Aktualisierungsmodul 110 ist, 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.
  • 2 zeigt ein Ausführungsbeispiel eines Elektronikgerätes 200, das für den Gebrauch in Fahrzeugkommunikationssystemen 100 von 1 geeignet ist. Zum Beispiel kann der Server 104 und/oder eines oder mehrere Module 110, 112, 114, 116 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 eine oder mehrere Eingabeschnittstellen 208. Es versteht sich, dass 2 eine vereinfachte Darstellung eines elektronischen Gerä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 programmierbarem 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 Ausführungsform eine beliebige Sorte von Arbeitsspeicher (RAM), Nurlesespeicher (ROM), Flash-Speicher, Register, Festplatten, Wechselplatten, magnetischem oder optischem 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 Aktualisierungsmodul 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, 116 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, 116 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 jeweiligen Zielanwendung 124, 126 bezieht, um die gewünschten Funktionen und/oder Funktionalität für das Zielmodul 114, 116 bereitzustellen. Wie nachstehend im Zusammenhang mit den 3-4 genauer beschrieben, führt nach der Authentifizierung, Prüfung oder anderweitiger Genehmigung der Programmierung oder Aktualisierung eines Zielmoduls 114, 116 das Steuermodul 202 dieses Zielmoduls 114, 116 eine Reihe Anweisungen aus, die in einer Programmierungsdatendatei enthalten sind, welche vom Aktualisierungsmodul 110 und/oder der Aktualisierungsmaschine 120 empfangen wird, um den Code und/oder Konfigurationsinformationen für die jeweilige Zielanwendung 124, 126, die im Speicher 204 verwaltet wird, zu ändern, überschreiben oder anderweitig zu aktualisieren, wodurch die Zielanwendung 124, 126 des Zielmoduls 114, 116 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 2, 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 Authentifizierungsmodul 114, 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 eingesteckt wird.
  • 3 zeigt ein Ausführungsbeispiel eines Programmierungsprozesses 300 für die Programmierung oder anderweitige 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 durchgeführt werden. Zur Veranschaulichung kann die folgende Beschreibung auf Elemente Bezug nehmen, die im Zusammenhang mit 1-2 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 Authentifizierungsmodul 112, ein Zielmodul 114, 116, das Steuermodul 202, den Speicher 204, das Kommunikationsmodul 206 und/oder die 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, 116 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, 116 im Fahrzeug 102 bedienen, um nach Aktualisierungen für die Anwendung 124, 126 auf diesem Zielmodul 114, 116 zu suchen, was wiederum dazu führt, dass das Zielmodul 114, 116 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 Angaben zur Identifizierung (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, 126 der Zielmodule 114, 116 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 den Zielmodulen 114, 116 an Bord des Fahrzeugs 102 in Beziehung stehenden Programmierungsaktualisierungen). Als Reaktion auf die Identifizierung einer Aktualisierung für eines der Zielmodule 114, 116 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.
  • Wie oben beschrieben, umfasst die vom Server 104 erzeugte Programmierungsaktualisierung eine Authentifizierungsdatei und eine Programmierungsdatendatei. Um die Authentifizierungsdatei zu erzeugen, kann der Server 104 die Identifikationsinformationen für das Fahrzeug 102 verwenden, um zu befragen oder anderweitig auf die Datenbank 105 zuzugreifen, um einen oder mehrere private Schlüssel und/oder Authentifizierungsinformationen in Beziehung mit dem Fahrzeug 102 zu erhalten, die ebenfalls gespeichert oder anderweitig vom Authentifizierungsmodul 112 im Fahrzeug 102 verwaltet werden, und der Server 104 schließt oder bezieht diese erhaltenen Authentifizierungsinformationen anderweitig in die Authentifizierungsdatei ein. Ähnlicherweise, um die Programmierungsdatendatei zu erzeugen, kann der Server 104 die Identifikationsinformationen für das Fahrzeug 102 verwenden, um zu befragen oder anderweitig Zugriff auf die Datenbank 105 zu erhalten, um eine Reihe Anweisungen zu erhalten, die der Programmaktualisierung für das beabsichtigte Zielmodul 114, 116 entsprechen und diese Reihe Anweisungen in die Programmierungsdatendatei einzubeziehen.
  • 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 Zielanwendungen 124, 126 im Fahrzeug 102 mit aktuellen Versionierungsinformationen zu vergleichen, die mit Programmaktualisierungen für diejenigen Zielanwendungen 124, 126 in Beziehung stehen, die von der Datenbank 105 verwaltet werden. Wenn die Versionierungsinformationen andeuten, dass eine Zielanwendung 124, 126 auf einem Zielmodul 114, 116 aktualisiert werden sollte (z. B. weil die aktuelle, mit Programmaktualisierungen für diejenigen Zielanwendungen 124, 126 in Beziehung stehenden Versionierungsinformationen, welche von der Datenbank 105 verwaltet werden, andeuten, dass die Programmierungsaktualisierungen neuer sind), wird der Server 104 automatisch eine Programmierungsaktualisierung für das jeweilige Zielmodul 114, 116 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 eine 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 die Zielmodule 114, 116 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 Bereitstellung der Authentifizierungsdatei von der Programmierungsaktualisierung an das Authentifizierungsmodul im Fahrzeug bei 304 fort. Zum Beispiel überträgt die Aktualisierungsmaschine 120 in einer oder mehreren Ausführungsformen die Authentifizierungsdatei auf die Authentifizierungsmaschine 122 auf dem Authentifizierungsmodul 112 über das Netzwerk 111 automatisch als Antwort auf den Empfang der Programmierungsaktualisierung. Nachdem dem Authentifizierungsmodul die Authentifizierungsdatei bereitgestellt wurde, fährt der Programmierungsprozess 300 durch die Bestimmung, ob die Programmierungsaktualisierung authentifiziert, geprüft oder anderweitig erlaubt ist, basierend auf der Authentifizierungsdatei bei 306 fort, und wenn die Programmierungsaktualisierung authentifiziert ist, fährt der Programmierungsprozess 300 durch die Übertragung oder anderweitigen Bereitstellung der Authentifizierungsdatei an das Zielmodul bei 308 fort. Als Antwort auf den Empfang der Authentifizierungsdatei vergleicht die Authentifizierungsmaschine 122 die Authentifizierungsinformationen in der Authentifizierungsdatei mit im Authentifizierungsmodul 112 gespeicherten Authentifizierungsinformationen, um zu bestimmen, ob diese übereinstimmen. In dieser Hinsicht parst oder analysiert die Authentifizierungsmaschine 122 die Authentifizierungsdatei, um die Schlüssel und/oder anderen Authentifizierungsinformationen zu erhalten, die vom Server 104 oder einer anderen Einheit, die für die Erzeugung der Authentifizierungsdatei verantwortlich ist, in der Authentifizierungsdatei einbezogen werden. Wenn die Schlüssel und/oder anderen Authentifizierungsinformationen, die von der Authentifizierungsdatei erhalten werden, den Schlüsseln und/oder anderen Authentifizierungsinformationen, die im Speicher 204 des Authentifizierungsmoduls 112 gespeichert sind, entsprechen, überträgt oder übermittelt die Authentifizierungsmaschine 122 die geprüfte Authentifizierungsdatei auf das beabsichtigte Zielmodul 114, 116.
  • In der dargestellten Ausführungsform fährt der Programmierungsprozess 300 mit der Bestimmung oder anderweitigen Identifizierung, ob eine Programmierungssitzung mit dem Zielmodul eingeleitet werden kann, fort, um es bei 310 zu aktualisieren. 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 ein bestimmtes Zielmodul 114, 116 und/oder andere Komponenten des Fahrzeugs 102 befinden müssen, bevor die Programmierung dieses bestimmten Zielmoduls 114, 116 einleitbar ist. Wenn das Zielmodul 114, 116, zum Beispiel eine ESG, eine Bremskontrolle, eine Steuerkontrolle oder Ähnliches ist, können die Programmierungskriterien es erforderlich machen, dass sich das Zielmodul 114, 116 im Leerlauf befindet und dass das Getriebe im Fahrzeug 102 gesperrt oder anderweitig in der geparkten Position ist, bevor die Programmierung des Zielmoduls 114, 116 einleitbar ist. Wenn im Gegenzug das Zielmodul 114, 116 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 der Zielmodule 114, 116 und/oder sonstiger Fahrzeugkomponenten und bestimmt, ob die Programmierungssitzung einleitbar ist, basierend auf den Programmierungskriterien für das beabsichtigte Zielmodul 114, 116 und dem erhaltenen Status der Zielmodule 114, 116 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, 116 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 der Zielmodule 114, 116 und/oder anderer Fahrzeugkomponenten und des Vergleichs des erhaltenen Status mit den Programmierungskriterien, die dem beabsichtigten Zielmodul 114, 116 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 die Übertragung oder anderweitige Bereitstellung der Programmierungsdatendatei von der Programmierungsaktualisierung an das Zielmodul für die Programmierungsaktualisierung bei 312 und Programmierung des Zielmoduls mithilfe der Programmierungsdatendatei bei 314 abgeschlossen. In dieser Hinsicht, wenn sich das beabsichtigte Zielmodul 114 auf dem gleichen Kommunikationsnetzwerk 111 wie das Aktualisierungsmodul 110 befindet, überträgt das Aktualisierungsmodul 110 und/oder die Aktualisierungsmaschine 120 die Programmierungsdatendatei auf das Zielmodul 114 über das Kommunikationsnetzwerk 111. In anderen Ausführungsformen, wenn sich das beabsichtigte Zielmodul 116 auf einem anderen Kommunikationsnetzwerk 113 hinter dem Authentifizierungsmodul 112 befindet, überträgt das Aktualisierungsmodul 110 und/oder die Aktualisierungsmaschine 120 die Programmierungsdatendatei auf das Zielmodul 116 über das Authentifizierungsmodul 112, welches als ein Gateway zwischen dem ersten Kommunikationsnetzwerk 111 und dem zweiten Kommunikationsnetzwerk 113 fungiert.
  • Es ist zu beachten, dass das Aktualisierungsmodul 110 und/oder die Aktualisierungsmaschine 120 in manchen Ausführungsformen die Programmierungsdatendatei auf das Zielmodul 114 über das Kommunikationsnetzwerk 111 überträgt, bevor und/oder unabhängig davon, ob die Authentifizierungsdatei von der Authentifizierungsmaschine 122 authentifiziert ist. Anders gesagt, das Aktualisierungsmodul 110 und/oder die Aktualisierungsmaschine 120 kann die Programmierungsdatendatei auf das Zielmodul 114 über das Kommunikationsnetzwerk 111 parallel zur Authentifizierungsmaschine 122 übertragen, welche die Authentifizierungsdatei authentifiziert, und bevor die Authentifizierungsdatei geprüft wurde. Die Aktualisierungsmaschine 120 kann z. B. die Programmierungsdatendatei auf die Anwendung 124 übertragen, welche wiederum die Anweisungen der Programmierungsdatendatei im Speicher 204 des Zielmoduls 114 an einem Ort speichert, sodass die Anweisungen erst ausgeführt werden, nachdem das Zielmodul 114 die verifizierende Authentifizierungsdatei erhalten hat und einen Programmierungsmodus einleitet. In solchen Ausführungsformen, wenn die Programmierungsaktualisierung nicht authentifiziert wird, kann die Authentifizierungsmaschine 122 die Anwendung 124 informieren, dass die Programmierungsaktualisierung nicht authentifiziert ist, was wiederum bewirkt, dass die Anwendung 124 die Anweisungen von der Programmierungsdatendatei im Speicher 204 löscht oder anderweitig entfernt, um sicherzustellen, dass die Anwendung 124 auf ihrem aktuellen Stand gehalten wird. In anderen Ausführungsformen kann die Anwendung 124 automatisch den Code, Script und/oder Anweisungen von der Programmierungsdatendatei löschen oder anderweitig vom Speicher 204 entfernen, nachdem ein zeitlicher Grenzwert abgelaufen ist, ohne dass das Zielmodul 114 in einen Programmierungsmodus übergegangen ist.
  • Gemäß einer oder mehreren Ausführungsformen, um die Programmierungsaktualisierung zu implementieren, signalisiert oder befiehlt die Aktualisierungsmaschine 120 und/oder die Authentifizierungsmaschine 122 dem beabsichtigten Zielmodul 114, 116, in einen Programmierungsmodus überzugehen. In manchen Ausführungsformen kann das Zielmodul 114, 116 so konfiguriert sein, dass der Programmierungsmodus nur betreten wird, nachdem das Zielmodul 114, 116 eine authentifizierte Authentifizierungsdatei von der Authentifizierungsmaschine 122 erhalten hat. In dieser Hinsicht kann ein Zielmodul 114, 116 dabei scheitern, einen Programmierungsmodus als Antwort auf den Empfang eines Programmierungsmodusbefehls von der Aktualisierungsmaschine 120 einzuleiten, wenn die Authentifizierungsdatei dem Zielmodul 114, 116 nicht vom Authentifizierungsmodul 112 und/oder von der Authentifizierungsmaschine 122 bereitgestellt wird. In noch anderen Ausführungsformen kann der Benutzer eine Eingabeschnittstelle 208 des Zielmoduls 114, 116 bedienen, damit das Zielmodul 114, 116 in den Programmierungsmodus übergeht (z. B. als Teil einer Prüfung auf Aktualisierungen). Wenn sich das Zielmodul 114, 116 im Programmierungsmodus befindet, wird das Zielmodul 114, 116 konfiguriert, um automatisch die Anweisungsreihe der Programmierungsdatendatei auszuführen oder anderweitig zu implementieren, um die jeweilige Zielanwendung 124, 126 zu ändern, wie oben beschrieben. Zum Beispiel kann ein Zielmodul 114, 116 als Antwort auf den Empfang eines Befehls, in den Programmierungsmodus überzugehen, von der Aktualisierungsmaschine 120 nach Empfang einer authentifizierten Authentifizierungsdatei von der Authentifizierungsmaschine 122 einen Bootmodus (oder Boot-Lademodus) einleiten, um das Steuermodul 202 in einen Zustand zu versetzen, in dem das Steuermodul 202 automatisch die in der Programmierungsdatendatei enthaltenen Anweisungen bei Empfang der Programmierungsdatendatei vom Aktualisierungsmodul 110 und/oder der Aktualisierungsmaschine 120 ausführt.
  • Immer noch mit Bezug auf 3, als Antwort darauf, dass die Programmierungsaktualisierung nicht authentifiziert ist, verhindert oder beschränkt der Programmierungsprozess 300 die Programmierung des Zielmoduls bei 316. Zum Beispiel könnte die Authentifizierungsmaschine 122 in Einklang mit einer oder mehreren Ausführungsformen, wenn die Authentifizierungsinformationen in der Authentifizierungsdatei vom Aktualisierungsmodul 110 nicht den gespeicherte Authentifizierungsinformationen des Authentifizierungsmoduls 112 entsprechen, die Authentifizierungsdatei nicht dem Zielmodul 114, 116 bereitstellen und die nicht authentifizierte Authentifizierungsdatei vom Authentifizierungsmodul 122 löschen oder anderweitig entfernen. Dementsprechend kann bei Ausführungsformen, bei denen das Zielmodul 114, 116 konfiguriert ist, um erst einen Programmierungsmodus einzuleiten, nachdem es eine authentifizierte Authentifizierungsdatei vom Authentifizierungsmodul 112 erhalten hat, das Zielmodul 114, 116 als Antwort auf Signale oder Befehle vom Aktualisierungsmodul 110 und/oder der Aktualisierungsmaschine keinen Programmierungsmodus einleiten, wodurch die Programmierungsaktualisierung nicht vom Zielmodul 114, 116 implementiert wird. Wie oben beschrieben, kann in manchen Ausführungsformen die Authentifizierungsmaschine 122 die Anwendung 124 benachrichtigen, um einen Code, Script und/oder Anweisungen von der Programmierungsdatendatei im Speicher 204 des Zielmoduls 114 zu löschen oder anderweitig zu entfernen, um sicherzustellen, dass die Programmierungsaktualisierung nicht implementiert wird. In Ausführungsformen, in denen sich das beabsichtigte Zielmodul 116 für die Programmierungsaktualisierung hinter dem Authentifizierungsmodul 112 auf einem anderen Kommunikationsnetzwerk 113 als das Aktualisierungsmodul 110 befindet, kann das Authentifizierungsmodul 112 die Programmierung des Zielmoduls 116 vermeiden, indem es die Programmierungsdatendatei und/oder andere Befehle vom Aktualisierungsmodul 110 nicht an das Zielmodul 116 weiterleitet.
  • 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 1-3 beginnt die dargestellte Sequenz 400 damit, dass das Aktualisierungsmodul 110 eine Programmierungsaktualisierung vom 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 hat, überträgt das Aktualisierungsmodul 110 und/oder die Aktualisierungsmaschine 120 die Authentifizierungsdatei von der Programmierungsaktualisierung auf die Authentifizierungsmaschine 122 auf dem Authentifizierungsmodul 112 über das erste Kommunikationsnetzwerk 111. Nach Authentifizierung der Authentifizierungsdatei durch die Authentifizierungsmaschine 122 überträgt oder übermittelt 406 die Authentifizierungsmaschine 122 die Authentifizierungsdatei an das beabsichtigte Zielmodul 114, 116 über das geeignete Kommunikationsnetzwerk 111, 113.
  • Wie oben beschrieben, nachdem bestimmt wurde, dass die für die Programmierungsaktualisierung zutreffenden Programmierungskriterien erfüllt sind, wird die Implementierung der Programmierungsaktualisierung von der Aktualisierungsmaschine 120 auf dem Aktualisierungsmodul 110 durchgeführt, indem es die Programmierungsdatendatei überträgt oder anderweitig übermittelt, welche vom beabsichtigten Zielmodul 114, 116 ausgeführt wird, während das Zielmodul 114, 116 im Programmierungsmodus betrieben wird. Wenn sich das Authentifizierungsmodul 114 auf demselben Kommunikationsnetzwerk 111 wie das Aktualisierungsmodul 110 befindet, überträgt die Aktualisierungsmaschine 120 die Programmierungsdatendatei direkt auf das Zielmodul 114 über das Kommunikationsnetzwerk 111. In manchen Ausführungsformen kann die Aktualisierungsmaschine 120 dem Zielmodul 114 signalisieren oder anderweitig befehlen, in einen Programmierungsmodus überzugehen, nachdem sie bestimmt hat, dass die zutreffenden Programmierungskriterien erfüllt sind und vor Übertragung der Programmierungsdatendatei. In anderen Ausführungsformen, in denen sich das Zielmodul 116 auf einem anderen Kommunikationsnetzwerk 113 als das Aktualisierungsmodul 110 befindet, überträgt die Aktualisierungsmaschine 120 die Programmierungsdatendatei auf die Authentifizierungsmaschine 122 auf dem Authentifizierungsmodul 112 über das erste Kommunikationsnetzwerk 111, wobei die Authentifizierungsmaschine 122 die Programmierungsdatendatei an das Zielmodul 116 über das zweite Kommunikationsnetzwerk 113 weiterleitet oder anderweitig weitersendet, wenn die Programmierungsaktualisierung authentifiziert ist. Nachdem das Zielmodul 114, 116 sowohl die Authentifizierungsdatei vom Authentifizierungsmodul 112 und die Programmierungsdatendatei vom Aktualisierungsmodul 110 erhalten hat und in einen Programmierungsmodus übergegangen ist, werden der Code, Script und/oder Anweisungen der Programmierungsdatendatei ausgeführt oder anderweitig vom Steuermodul 202 des Zielmoduls 114, 116 ausgeführt, um die gewünschte Aktualisierung der Zielanwendung 124, 126 umzusetzen.
  • Ein Vorteil des hier beschriebenen Gegenstands ist, dass die Programmierungsaktualisierungen von einer Remotevorrichtung nicht implementiert werden, wenn sie nicht als normalerweise von einer zuverlässigen Quelle erzeugt 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 Authentifizierungsmodul, das kommunikativ an das erste Modul gekoppelt ist, und
    • ein Aktualisierungsmodul, um eine Programmierungsaktualisierung für das erste Modul zu erhalten, wobei die Programmierungsaktualisierung einen Authentifizierungsteil und einen Programmierungsdatenteil enthält, wobei das Aktualisierungsmodul kommunikativ an das erste Modul und das Authentifizierungsmodul gekoppelt ist, um dem ersten Modul den Programmierungsdatenteil bereitzustellen und dem Authentifizierungsmodul den Authentifizierungsteil bereitzustellen, wobei das Authentifizierungsmodul dem ersten Modul den Authentifizierungsteil nach Authentifizierung des Authentifizierungsteils bereitstellt.
  • Beispiel 2. Das Fahrzeug von Beispiel 1, wobei das erste Modul konfiguriert ist, um eine Zielanwendung auf dem ersten Modul basierend zumindest teilweise auf dem Programmierungsdatenteil nach Empfang des Authentifizierungsteils zu aktualisieren.
  • Beispiel 3. Das Fahrzeug von Beispiel 1 oder 2, wobei der Programmierungsdatenteil eine Reihe von Anweisungen enthält, wobei das erste Modul die Zielanwendung durch Ausführen der Reihe von Anweisungen aktualisiert.
  • Beispiel 4. Das Fahrzeug von Beispiel 3, wobei das erste Modul ein Datenspeicherelement enthält, um Konfigurationsinformationen für die Zielanwendung zu verwalten, wobei das erste Modul die Konfigurationsinformationen mit aktualisierten Konfigurationsinformationen als Antwort auf die Ausführung der Reihe von Anweisungen überschreibt.
  • Beispiel 5. Das Fahrzeug von Beispiel 3, wobei das erste Modul ein Datenspeicherelement enthält, um Code für die Zielanwendung zu verwalten, wobei das erste Modul den Code mit aktualisiertem Anwendungscode als Antwort auf die Ausführung einer Reihe von Anweisungen überschreibt.
  • Beispiel 6. Das Fahrzeug nach einem der Beispiele 1 - 5, wobei das Authentifizierungsmodul ein Datenspeicherelement enthält, um einen mit dem Fahrzeug in Beziehung stehenden Schlüssel zu speichern, wobei das Authentifizierungsmodul konfiguriert ist, um den Authentifizierungsteil zu authentifizieren, wenn ein vom Authentifizierungsteil erhaltener Schlüssel dem gespeicherten Schlüssel entspricht.
  • Beispiel 7. Das Fahrzeug nach einem der Beispiele 1 - 6, wobei das Aktualisierungsmodul an ein Netzwerk gekoppelt ist, um die Programmierungsaktualisierung von einer Remotevorrichtung über das Netzwerk zu erhalten.
  • Beispiel 8. Das Fahrzeug nach einem der Beispiele 1 - 7, wobei das Aktualisierungsmodul eine Eingabeschnittstelle umfasst, um eine Remotevorrichtung zu empfangen, wobei das Aktualisierungsmodul die Programmierungsaktualisierung von der Remotevorrichtung über die Eingabeschnittstelle erhält.
  • Beispiel 9. Das Fahrzeug nach einem der Beispiele 1 - 8, wobei das Aktualisierungsmodul und das Authentifizierungsmodul an ein erstes Fahrzeugkommunikationsnetzwerk und das Authentifizierungsmodul und das erste Modul an ein zweites Fahrzeugkommunikationsnetzwerk gekoppelt sind, wobei sich das zweite Fahrzeugkommunikationsnetzwerk vom ersten Fahrzeugkommunikationsnetzwerk unterscheidet, wobei das Authentifizierungsmodul dem Aktualisierungsmodul gestattet, dem ersten Modul den Programmierungsdatenteil nach Authentifizierung des Authentifizierungsteils über das Authentifizierungsmodul bereitzustellen.
  • Beispiel 10. Ein Verfahren zur Programmierung eines Fahrzeugmoduls, wobei das Verfahren umfasst:
    • Erhalten einer Programmierungsaktualisierung für das Fahrzeugmodul von einer Remotevorrichtung, wobei die Programmierungsaktualisierung einen Authentifizierungsteil und einen Programmierungsdatenteil umfasst,
    • Bereitstellen des Authentifizierungsteils für ein Authentifizierungsmodul, das an das Fahrzeugmodul gekoppelt ist,
    • Bereitstellen des Programmierungsdatenteils für das Fahrzeugmodul,
    • Bereitstellen der Authentifizierungsteil vom Authentifizierungsmodul für das Fahrzeugmodul nach Authentifizierung des Authentifizierungsteils, und
    • Aktualisieren des Fahrzeugmoduls wenigstens zum Teil auf der Basis des Programmierungsdatenteils nach Bereitstellung des Authentifizierungsteils für das Fahrzeugmodul.
  • Beispiel 11. Das Verfahren nach Beispiel 10, wobei die Aktualisierung des Fahrzeugmoduls die Aktualisierung einer Zielanwendung auf dem Fahrzeugmodul umfasst.
  • Beispiel 12. Das Verfahren nach Beispiel 10 oder 11, wobei der Programmierungsdatenteil eine Reihe von Anweisungen enthält, wobei die Aktualisierung der Zielanwendung das Fahrzeugmodul umfasst, das die Reihe von Anweisungen ausführt.
  • Beispiel 13. Das Verfahren nach einem der Beispiele 10 - 12, die ferner Authentifizierung durch das Authentifizierungsmodul des Authentifizierungsteils umfasst, wenn ein vom Authentifizierungsteil erhaltener Schlüssel einem mit einem Fahrzeug, das das Fahrzeugmodul enthält, in Beziehung stehenden gespeicherten Schlüssel entspricht.
  • Beispiel 14. Das Verfahren nach einem der Beispiele 10 - 13, wobei der Erhalt der Programmierungsaktualisierung das Herunterladen der Programmierungsaktualisierung von einem Server über ein externes Kommunikationsnetzwerk umfasst.
  • Beispiel 15. Das Verfahren nach einem der Beispiele 10 - 14, wobei die Remotevorrichtung in eine Eingabeschnittstelle gesteckt wird, wobei der Erhalt der Programmierungsaktualisierung den Erhalt der Programmierungsaktualisierung von der Remotevorrichtung über die Eingabeschnittstelle umfasst.
  • Beispiel 16. Das Verfahren nach einem der Beispiele 10 - 15, wobei:
    • das Erhalten der Programmierungsaktualisierung den Empfang der Programmierungsaktualisierung über ein erstes Kommunikationsnetzwerk umfasst,
    • das Bereitstellen des Authentifizierungsteils für das Authentifizierungsmodul die Bereitstellung des Authentifizierungsteils für das Authentifizierungsmodul über ein zweites Kommunikationsnetzwerk umfasst, welches sich vom ersten Kommunikationsnetzwerk unterscheidet,
    • das Bereitstellen des Programmierungsdatenteils für das Fahrzeugmodul die Bereitstellung des Programmierungsdatenteils für das Fahrzeugmodul über das zweite Kommunikationsnetzwerk umfasst und
    • das Bereitstellen des Authentifizierungsteils vom Authentifizierungsmodul zum Fahrzeugmodul nach Authentifizierung des Authentifizierungsteils die Bereitstellung des Authentifizierungsteils vom Authentifizierungsmodul für das Fahrzeugmodul über das zweite Kommunikationsnetzwerk umfasst.
  • Beispiel 17. Das Verfahren nach einem der Beispiele 10 - 16, wobei:
    • das Erhalten der Programmierungsaktualisierung den Empfang der Programmierungsaktualisierung über ein erstes Kommunikationsnetzwerk umfasst,
    • das Bereitstellen des Authentifizierungsteils für das Authentifizierungsmodul die Bereitstellung des Authentifizierungsteils für das Authentifizierungsmodul über ein zweites Kommunikationsnetzwerk umfasst, welches sich vom ersten Kommunikationsnetzwerk unterscheidet,
    • das Bereitstellen des Authentifizierungsteils vom Authentifizierungsmodul für das Fahrzeugmodul nach Authentifizierung des Authentifizierungsteils die Bereitstellung des Authentifizierungsteils vom Authentifizierungsmodul für das Fahrzeugmodul über ein drittes Kommunikationsnetzwerk umfasst, welches sich vom zweiten Kommunikationsnetzwerk unterscheidet, und
    • das Bereitstellen des Programmierungsdatenteils für das Fahrzeugmodul die Bereitstellung des Programmierungsdatenteils für das Authentifizierungsmodul über das zweite Kommunikationsnetzwerk umfasst, wobei das Authentifizierungsmodul den Programmierungsdatenteil dem Fahrzeugmodul über das dritte Kommunikationsnetzwerk nach Authentifizierung des Authentifizierungsteils bereitstellt.
  • Beispiel 18. Ein Fahrzeug, umfassend:
    • ein Fahrzeugkommunikationsnetzwerk,
    • ein an das Fahrzeugkommunikationsnetzwerk gekoppeltes Fahrzeugmodul,
    • ein an das Fahrzeugkommunikationsnetzwerk gekoppeltes Authentifizierungsmodul und
    • ein an das Fahrzeugkommunikationsnetzwerk gekoppeltes Aktualisierungsmodul, wobei:
      • das Aktualisierungsmodul konfiguriert ist, um:
      • eine Programmierungsaktualisierung für das Fahrzeugmodul von einer Remotevorrichtung zu erhalten, wobei die Programmierungsaktualisierung einen Authentifizierungsteil und einen Programmierungsdatenteil umfasst,
      • den Programmierungsdatenteil dem Fahrzeugmodul über das Fahrzeugkommunikationsnetzwerk bereitzustellen und
      • den Authentifizierungsteil dem Authentifizierungsmodul über das Fahrzeugkommunikationsnetzwerk bereitzustellen,
      • das Authentifizierungsmodul konfiguriert ist, um den Authentifizierungsteil zu authentifizieren und den Authentifizierungsteil dem Fahrzeugmodul nach Authentifizierung des Authentifizierungsteils bereitzustellen, und
      • das Fahrzeugmodul konfiguriert ist, um nach Erhalt des Authentifizierungsteils vom Authentifizierungsmodul eine Zielanwendung auf dem Fahrzeugmodul zu aktualisieren, die zumindest zum Teil auf dem Programmierungsdatenteil basiert.
  • Beispiel 19. Das Fahrzeug nach Beispiel 18, wobei das Aktualisierungsmodul an ein externes Kommunikationsnetzwerk gekoppelt ist, um die Programmierungsaktualisierung vom Remotegerät über das externe Kommunikationsnetzwerk zu erhalten.
  • Beispiel 20. Das Fahrzeug nach Beispiel 18 oder 19, welches ferner eine an das Aktualisierungsmodul gekoppelte Eingabeschnittstelle umfasst, wobei das Aktualisierungsmodul konfiguriert ist, um die Programmierungsaktualisierung von der Remotevorrichtung zu erhalten, wenn die Remotevorrichtung in die Eingabeschnittstelle gesteckt ist.

Claims (8)

  1. Ein Fahrzeug (102), umfassend: - ein erstes Modul, - ein Authentifizierungsmodul (112), das kommunikativ an das erste Modul gekoppelt ist, und - ein Aktualisierungsmodul (110), um eine Programmierungsaktualisierung für das erste Modul zu erhalten, wobei die Programmierungsaktualisierung einen Authentifizierungsteil und einen Programmierungsdatenteil enthält, wobei das Aktualisierungsmodul (110) kommunikativ an das erste Modul und das Authentifizierungsmodul (112) gekoppelt ist, um dem ersten Modul den Programmierungsdatenteil bereitzustellen und dem Authentifizierungsmodul (112) den Authentifizierungsteil bereitzustellen, wobei das Authentifizierungsmodul (112) dem ersten Modul den Authentifizierungsteil nach Authentifizierung des Authentifizierungsteils bereitstellt, wobei: das Erhalten der Programmierungsaktualisierung den Empfang der Programmierungsaktualisierung über ein erstes Kommunikationsnetzwerk (111) umfasst, das Bereitstellen des Authentifizierungsteils für das Authentifizierungsmodul (112) die Bereitstellung des Authentifizierungsteils für das Authentifizierungsmodul (112) über ein zweites Kommunikationsnetzwerk (113) umfasst, welches sich vom ersten Kommunikationsnetzwerk (111) unterscheidet, das Bereitstellen des Authentifizierungsteils vom Authentifizierungsmodul (112) für das erste Modul nach Authentifizierung des Authentifizierungsteils die Bereitstellung des Authentifizierungsteils vom Authentifizierungsmodul (112) für das erste Modul über ein drittes Kommunikationsnetzwerk umfasst, welches sich vom zweiten Kommunikationsnetzwerk (113) unterscheidet, und das Bereitstellen des Programmierungsdatenteils für das erste Modul die Bereitstellung des Programmierungsdatenteils für das Authentifizierungsmodul (112) über das zweite Kommunikationsnetzwerk (113) umfasst, wobei das Authentifizierungsmodul (112) den Programmierungsdatenteil dem ersten Modul über das dritte Kommunikationsnetzwerk nach Authentifizierung des Authentifizierungsteils bereitstellt.
  2. Fahrzeug (102) nach Anspruch 1, wobei das erste Modul konfiguriert ist, um eine Zielanwendung auf dem ersten Modul basierend zumindest teilweise auf dem Programmierungsdatenteil nach Empfang des Authentifizierungsteils zu aktualisieren.
  3. Fahrzeug (102) nach Anspruch 1 oder 2, wobei der Programmierungsdatenteil eine Reihe von Anweisungen enthält, wobei das erste Modul die Zielanwendung durch Ausführung der Reihe von Anweisungen aktualisiert.
  4. Fahrzeug (102) nach einem der Ansprüche 1-3, wobei das erste Modul ein Datenspeicherelement (204) enthält, um Konfigurationsinformationen für die Zielanwendung zu verwalten, wobei das erste Modul die Konfigurationsinformationen mit aktualisierten Konfigurationsinformationen als Antwort auf die Ausführung der Reihe von Anweisungen überschreibt.
  5. Fahrzeug (102) nach einem der Ansprüche 1-4, wobei das erste Modul ein Datenspeicherelement (204) enthält, um Code für die Zielanwendung zu verwalten, wobei das erste Modul den Code mit aktualisiertem Anwendungscode als Antwort auf die Ausführung einer Reihe von Anweisungen überschreibt.
  6. Fahrzeug (102) nach einem der Ansprüche 1-5, wobei das Authentifizierungsmodul ein Datenspeicherelement (204) enthält, um einen mit dem Fahrzeug (102) in Beziehung stehenden Schlüssel zu verwalten, wobei das Authentifizierungsmodul (112) konfiguriert ist, um den Authentifizierungsteil zu authentifizieren, wenn ein vom Authentifizierungsteil erhaltener Schlüssel dem gespeicherten Schlüssel entspricht.
  7. Verfahren zur Programmierung eines Fahrzeugmoduls, wobei das Verfahren umfasst: - Erhalten einer Programmierungsaktualisierung für das Fahrzeugmodul von einer Remotevorrichtung, wobei die Programmierungsaktualisierung einen Authentifizierungsteil und einen Programmierungsdatenteil umfasst, - Bereitstellen des Authentifizierungsteils für ein Authentifizierungsmodul, das an das Fahrzeugmodul gekoppelt ist, - Bereitstellen des Programmierungsdatenteils an das Fahrzeugmodul, - die Bereitstellen des Authentifizierungsteils vom Authentifizierungsmodul (112) zum Fahrzeugmodul nach Authentifizierung des Authentifizierungsteils, und - Aktualisieren des Fahrzeugmoduls wenigstens zum Teil auf der Basis des Programmierungsdatenteils nach Bereitstellung des Authentifizierungsteils für das Fahrzeugmodul, wobei: das Erhalten der Programmierungsaktualisierung den Empfang der Programmierungsaktualisierung über ein erstes Kommunikationsnetzwerk (111) umfasst, das Bereitstellen des Authentifizierungsteils für das Authentifizierungsmodul (112) die Bereitstellung des Authentifizierungsteils für das Authentifizierungsmodul (112) über ein zweites Kommunikationsnetzwerk (113) umfasst, welches sich vom ersten Kommunikationsnetzwerk (111) unterscheidet, das Bereitstellen des Authentifizierungsteils vom Authentifizierungsmodul (112) für das Fahrzeugmodul nach Authentifizierung des Authentifizierungsteils die Bereitstellung des Authentifizierungsteils vom Authentifizierungsmodul für das Fahrzeugmodul über ein drittes Kommunikationsnetzwerk umfasst, welches sich vom zweiten Kommunikationsnetzwerk (113) unterscheidet, und das Bereitstellen des Programmierungsdatenteils für das Fahrzeugmodul die Bereitstellung des Programmierungsdatenteils für das Authentifizierungsmodul (112) über das zweite Kommunikationsnetzwerk (113) umfasst, wobei das Authentifizierungsmodul (112) den Programmierungsdatenteil dem Fahrzeugmodul über das dritte Kommunikationsnetzwerk nach Authentifizierung des Authentifizierungsteils bereitstellt.
  8. Verfahren nach Anspruch 7, das ferner die Authentifizierung durch das Authentifizierungsmodul (112) des Authentifizierungsteils umfasst, wenn ein vom Authentifizierungsteil erhaltener Schlüssel einem mit einem Fahrzeug (102), das das Fahrzeugmodul enthält, in Beziehung stehenden Schlüssel entspricht.
DE102014114606.9A 2013-10-28 2014-10-08 Programmierung von Fahrzeugmodulen mit Remotevorrichtungen und zugehörige Methoden und Systeme Active DE102014114606B4 (de)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
DE102014114606A1 DE102014114606A1 (de) 2015-04-30
DE102014114606B4 true DE102014114606B4 (de) 2023-03-16

Family

ID=52811844

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014114606.9A Active DE102014114606B4 (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) US9253200B2 (de)
CN (1) CN104580351B (de)
DE (1) DE102014114606B4 (de)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130111905A1 (en) 2011-11-04 2013-05-09 Honeywell Spol. S.R.O. Integrated optimization and control of an engine and aftertreatment system
US9650934B2 (en) 2011-11-04 2017-05-16 Honeywell spol.s.r.o. Engine and aftertreatment optimization system
CN104144420B (zh) * 2014-02-26 2015-11-25 腾讯科技(深圳)有限公司 一种无线接入方法及相关设备、系统
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
US9619647B2 (en) * 2015-05-07 2017-04-11 Nxp Usa, Inc. Integrated circuit access
US9779247B2 (en) * 2015-05-29 2017-10-03 GM Global Technology Operations LLC Boot control systems and methods for vehicles
JP6197000B2 (ja) * 2015-07-03 2017-09-13 Kddi株式会社 システム、車両及びソフトウェア配布処理方法
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
US10223294B2 (en) 2015-09-01 2019-03-05 Nxp Usa, Inc. Fast secure boot from embedded flash memory
DE102015220489B4 (de) 2015-10-21 2024-05-29 Ford Global Technologies, Llc Verfahren zur Autorisierung einer Softwareaktualisierung in einem Kraftfahrzeug
US11831654B2 (en) * 2015-12-22 2023-11-28 Mcafee, Llc Secure over-the-air updates
JP6260066B2 (ja) 2016-01-18 2018-01-17 Kddi株式会社 車載コンピュータシステム及び車両
US10415492B2 (en) 2016-01-29 2019-09-17 Garrett Transportation I Inc. Engine system with inferential sensor
JP2017146802A (ja) * 2016-02-17 2017-08-24 日立建機株式会社 作業車両のソフトウェア書換えシステム、作業車両のソフトウェア書換え方法
US10235154B2 (en) 2016-03-09 2019-03-19 Ford Global Technologies, Llc Over-the-air trigger to vehicle interrogator updates
US10124750B2 (en) 2016-04-26 2018-11-13 Honeywell International Inc. Vehicle security module system
US10036338B2 (en) 2016-04-26 2018-07-31 Honeywell International Inc. Condition-based powertrain control system
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
US10353691B2 (en) * 2016-09-30 2019-07-16 Cummins Inc. Updating electronic controller through telematics
WO2018101918A1 (en) 2016-11-29 2018-06-07 Honeywell International Inc. An inferential flow sensor
US10430603B2 (en) * 2017-02-28 2019-10-01 GM Global Technology Operations LLC Systems and processes for managing access to vehicle data
CN107450518A (zh) * 2017-08-16 2017-12-08 北京车和家信息技术有限责任公司 一种基于车载以太网构架的程序升级装置及其控制方法
US11057213B2 (en) 2017-10-13 2021-07-06 Garrett Transportation I, Inc. Authentication system for electronic control unit on a bus
US10809741B2 (en) 2017-11-17 2020-10-20 Polaris Industries Inc. Method and system for controlling the speed of a vehicle
DE102017222387A1 (de) * 2017-12-11 2019-06-13 Bayerische Motoren Werke Aktiengesellschaft Verfahren und System zum Autorisieren einer älteren Applikation eines Steuergeräts eines Fahrzeugs
US11178133B2 (en) * 2017-12-19 2021-11-16 Micron Technology, Inc. Secure vehicle control unit update
US10594666B2 (en) 2017-12-19 2020-03-17 Micron Technology, Inc. Secure message including a vehicle private key
US20200057630A1 (en) * 2018-08-14 2020-02-20 Hyundai Motor Company Method and Apparatus for Wirelessly Updating Software for Vehicle
US11449327B2 (en) 2018-11-30 2022-09-20 Paccar Inc Error-resilient over-the-air software updates for vehicles
US11356425B2 (en) 2018-11-30 2022-06-07 Paccar Inc Techniques for improving security of encrypted vehicle software updates
JP7318230B2 (ja) * 2019-02-22 2023-08-01 株式会社デンソー センター装置、データ配信システム及び配信制御プログラム
CN116866088B (zh) * 2023-09-05 2023-11-28 中汽智联技术有限公司 一种车联网外部设备认证方法、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US20130079950A1 (en) 2011-09-22 2013-03-28 Kia Motors Corporation Vehicle upgrade system and method thereof
US20130318357A1 (en) 2011-02-11 2013-11-28 Siemens Health Care Diagnostics Inc. System and Method for Secure Software Update

Family Cites Families (27)

* 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
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
US8729857B2 (en) * 2008-10-15 2014-05-20 Continental Teves Ag & Co. Ohg System, device and method for data transfer to a vehicle and for charging said vehicle
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
US9126545B2 (en) * 2011-02-25 2015-09-08 GM Global Technology Operations LLC Vehicle systems activation methods and applications
JP5267598B2 (ja) * 2011-02-25 2013-08-21 トヨタ自動車株式会社 車両制御装置のデータ書き換え支援システム及びデータ書き換え支援方法
JP5479408B2 (ja) * 2011-07-06 2014-04-23 日立オートモティブシステムズ株式会社 車載ネットワークシステム
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
WO2013179392A1 (ja) * 2012-05-29 2013-12-05 トヨタ自動車 株式会社 認証システム及び認証方法
US8948934B2 (en) * 2012-09-07 2015-02-03 The Boeing Company Methods and systems for vehicle broadband connection to a data network
US9237133B2 (en) 2012-12-12 2016-01-12 Empire Technology Development Llc. Detecting matched cloud infrastructure connections for secure off-channel secret generation
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US20130318357A1 (en) 2011-02-11 2013-11-28 Siemens Health Care Diagnostics Inc. System and Method for Secure Software Update
US20130079950A1 (en) 2011-09-22 2013-03-28 Kia Motors Corporation Vehicle upgrade system and method thereof

Also Published As

Publication number Publication date
US20150121457A1 (en) 2015-04-30
DE102014114606A1 (de) 2015-04-30
CN104580351A (zh) 2015-04-29
US9253200B2 (en) 2016-02-02
CN104580351B (zh) 2018-06-12

Similar Documents

Publication Publication Date Title
DE102014114606B4 (de) Programmierung von Fahrzeugmodulen mit Remotevorrichtungen und zugehörige Methoden und Systeme
DE102014114607B4 (de) Programmierung von Fahrzeugmodulen mit Remotevorrichtungen und zugehörige Methoden und Systeme
DE102016115545A1 (de) Mehrstufige sichere fahrzeug-softwareaktualisierung
DE102017128922A1 (de) Authentifizierung von mobilen Vorrichtungen zur Fahrzeugkommunikation
DE102014111820B4 (de) Verfahren und Systeme zum Kommunizieren zwischen einem Fahrzeug und einem fernen Gerät
DE102020124163A1 (de) Verifizierung von fahrzeugdaten
DE102017113295A1 (de) Firewall-fernaktualisierung für bordeigenes webserver-telematiksystem
DE102015220489B4 (de) Verfahren zur Autorisierung einer Softwareaktualisierung in einem Kraftfahrzeug
DE102017113435A1 (de) Fahrzeug-Gateway-Netzwerkschutz
DE112019001514T5 (de) Programmaktualisierungssystem, Programmaktualisierungsverfahren und Computerprogramm
DE102015201448A1 (de) Verfahren und Gerät für bleibende übertragbare persönlich anpassbare Fahrzeugeinstellungen
DE102015014049A1 (de) Steuergeräte-Update im Kraftfahrzeug
DE102013108022A1 (de) Verfahren zum Aktivieren des Entwicklungsmodus eines gesicherten elektronischen Steuergeräts
DE102013108020A1 (de) Authentifizierungsschema zum Aktivieren eines Spezial-Privileg-Modus in einem gesicherten elektronischen Steuergerät
DE102019124914A1 (de) Cloudautorisierte fahrzeugsteuerung
DE102019135012A1 (de) Auf richtlinie und token basierender autorisierungsrahmen für konnektivität
DE112018005274T5 (de) Programmaktualisierungseinrichtung, Programmaktualisierungssystem undProgrammaktualisierungsverfahren
DE102019100780A1 (de) Automatisches Feedbacksystem für Updates von Fahrzeugsoftware
EP3230131B1 (de) Verfahren zur steuerung des betriebs wenigstens einer funktionskomponente eines kraftfahrzeugs und kraftfahrzeug
DE112018001985T5 (de) Relais-Einrichtung, Transferverfahren und Computerprogramm
DE102021116640A1 (de) Erfassen und beheben der desynchronisation von fahrtenzählerwerten in authentifizierten nachrichten
DE102017100749A1 (de) Verfahren und vorrichtung für zyklischen dateienaustauschbei abgeschaltetem fahrzeug
DE112020001126T5 (de) Fahrzeugsteuergerät
DE102023107659A1 (de) Unleugbarer verlauf von fahrzeugänderungen
DE102022105476A1 (de) System und Verfahren zum Aufbauen eines fahrzeugintegrierten Kryptografiemanagers

Legal Events

Date Code Title Description
R012 Request for examination validly filed
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