DE102014114607B4 - Programming vehicle modules with remote devices and associated methods and systems - Google Patents
Programming vehicle modules with remote devices and associated methods and systems Download PDFInfo
- Publication number
- DE102014114607B4 DE102014114607B4 DE102014114607.7A DE102014114607A DE102014114607B4 DE 102014114607 B4 DE102014114607 B4 DE 102014114607B4 DE 102014114607 A DE102014114607 A DE 102014114607A DE 102014114607 B4 DE102014114607 B4 DE 102014114607B4
- Authority
- DE
- Germany
- Prior art keywords
- module
- programming
- update
- vehicle
- gateway
- 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
Links
- 238000000034 method Methods 0.000 title claims description 47
- 238000013475 authorization Methods 0.000 claims abstract description 77
- 230000004044 response Effects 0.000 claims abstract description 29
- 238000004891 communication Methods 0.000 claims description 98
- 238000012795 verification Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 25
- 230000006870 function Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000000446 fuel Substances 0.000 description 2
- VNWKTOKETHGBQD-UHFFFAOYSA-N methane Chemical compound C VNWKTOKETHGBQD-UHFFFAOYSA-N 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- LFQSCWFLJHTTHZ-UHFFFAOYSA-N Ethanol Chemical compound CCO LFQSCWFLJHTTHZ-UHFFFAOYSA-N 0.000 description 1
- UFHFLCQGNIYNRP-UHFFFAOYSA-N Hydrogen Chemical compound [H][H] UFHFLCQGNIYNRP-UHFFFAOYSA-N 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000008246 gaseous mixture Substances 0.000 description 1
- 239000001257 hydrogen Substances 0.000 description 1
- 229910052739 hydrogen Inorganic materials 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000003345 natural gas Substances 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009420 retrofitting Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
Abstract
Ein Fahrzeug (102), umfassend:- ein erstes Modul,- ein Gateway-Modul (112), das kommunikativ an das erste Modul gekoppelt ist, und- ein Aktualisierungsmodul (110), das kommunikativ an das Gateway-Modul (112) gekoppelt ist, um dem Gateway-Modul (112) Autorisierungsinformationen und Programmierungsdaten bereitzustellen, wobei das Gateway-Modul (112) konfiguriert ist, um zu überprüfen, dass die Programmierung des ersten Moduls zumindest zum Teil auf den Autorisierungsinformationen basierend autorisiert ist, und dem ersten Modul nach Überprüfung, dass die Programmierung autorisiert ist, die Programmierungsdaten bereitzustellen, wobei das Gateway-Modul (112) konfiguriert ist, um:- die Autorisierungsinformationen mithilfe von Sitzungsinformationen zu entschlüsseln, um einen entschlüsselten Schlüssel zu erhalten, und- zu überprüfen, dass die Programmierung autorisiert ist, wenn der entschlüsselte Schlüssel einem gespeicherten Schlüssel entspricht, wobei das Aktualisierungsmodul (110) dem Gateway-Modul (112) eine Programmierungsanfrage bereitstellt, wobei das Gateway-Modul (112) konfiguriert ist, um die Sitzungsinformationen als Antwort auf die Programmierungsanfrage vom Aktualisierungsmodul (110) zu erzeugen, und wobei das Gateway-Modul (112) konfiguriert ist, um die Sitzungsinformationen basierend auf dem gespeicherten Schlüssel und einer Uhrzeit in Beziehung mit der Programmierungsanfrage dynamisch zu erzeugen.A vehicle (102) comprising: - a first module, - a gateway module (112) communicatively coupled to the first module, and - an update module (110) communicatively coupled to the gateway module (112). to provide authorization information and programming data to the gateway module (112), the gateway module (112) configured to verify that programming of the first module is authorized based at least in part on the authorization information, and the first module after verifying that the programming is authorized to provide the programming data, the gateway module (112) being configured to: - decrypt the authorization information using session information to obtain a decrypted key, and - verifying that the programming is authorized when the decrypted key corresponds to a stored key, the update module (110) the gate way module (112) providing a programming request, wherein the gateway module (112) is configured to generate the session information in response to the programming request from the update module (110), and wherein the gateway module (112) is configured to dynamically generate the session information based on the stored key and a time related to the programming request.
Description
TECHNISCHES GEBIETTECHNICAL AREA
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.The subject matter embodiments described herein relate generally to vehicle systems, and more particularly to systems and methods for securely programming a module within a vehicle using programming information from a remote device.
HINTERGRUND:BACKGROUND:
In den letzten Jahren haben technologische Fortschritte zu bedeutenden Änderungen des Designs von Kraftfahrzeugen geführt. Moderne Fahrzeuge umfassen eine Vielzahl von elektronischen Komponenten, wie z. B. Motorsteuerungen (ECU), Systeme zur Traktionskontrolle, Lenkhilfesysteme, Bremssysteme, Systeme zur Klimaregelung, Navigationssysteme, Infotainmentsysteme und Ähnliches. Des Weiteren sind moderne Fahrzeuge oft in der Lage, Kommunikationen von/zu externen Komponenten zu unterstützen, z. B. über externe Kommunikationsnetzwerke (z. B. Mobiltelefonnetzwerke, drahtlose Netzwerke, Personal Area Network, oder Ähnliches) oder eine physikalische Schnittstelle (z. B. eine Busschnittstelle oder Ähnliches).In recent years, advances in technology have resulted in significant changes in automotive design. Modern vehicles include a variety of electronic components such. E.g. engine control units (ECU), traction control systems, power steering systems, braking systems, climate control systems, navigation systems, infotainment systems and the like. Furthermore, modern vehicles are often able to support communications from/to external components, e.g. B. via external communication networks (e.g. cellular phone networks, wireless networks, personal area network, or the like) or a physical interface (e.g. a bus interface or the like).
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.During the lifetime of a vehicle, it may be desirable to reprogram or otherwise update one or more of a vehicle's electronic components to support or otherwise provide new features and/or functionality or to address potential issues with existing features and/or functionality . Allowing vehicles to be updated or otherwise reprogrammed by an external component poses numerous cybersecurity risks. Accordingly, it is recommended to provide systems and methods for securely programming the vehicle's electronic components to reduce vulnerability or sensitivity to cyberattacks to reduce. Further, other desirable features and characteristics of the present invention will become apparent from the following detailed description and appended claims when viewed in conjunction with the accompanying drawings and the foregoing technical field and background.
Die
Die Aufgabe die vorliegenden Erfindung könnte lauten ein verbessertes Fahrzeug, ein verbessertes Verfahren und ein verbessertes Fahrzeugsystem bereitzustellen.The object of the present invention could be to provide an improved vehicle, an improved method and an improved vehicle system.
KURZDARSTELLUNGEXECUTIVE SUMMARY
In einem oder mehreren Ausführungsbeispielen wird eine Vorrichtung für ein Fahrzeug gemäß Anspruch 1 bereitgestellt.In one or more embodiments, an apparatus for a vehicle according to claim 1 is provided.
In einer weiteren Ausführungsform wird eine Methode zur Programmierung eines Fahrzeugmoduls gemäß Anspruch 3 bereitgestellt, welches kommunikativ an das Gateway-Modul gekoppelt ist.In a further embodiment, a method for programming a vehicle module according to claim 3 is provided, which is communicatively coupled to the gateway module.
Gemäß anderer der unterschiedlichen Ausführungsbeispiele wird ein Fahrzeugsystem gemäß Anspruch 6 bereitgestellt.According to another of the different exemplary embodiments, a vehicle system according to claim 6 is provided.
Figurenlistecharacter list
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 von1 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 von1 geeignet ist, gemäß einer oder mehreren Ausführungsformen; und -
4 ein Diagramm ist, das eine Reihe von Kommunikationen innerhalb des Fahrzeugkommunikationssystem von1 abbildet gemäß einem Ausführungsbeispiel des Programmierungsprozesses von3 . 3.
-
1 Figure 12 is a block diagram of an example vehicle communication system, according to one or more embodiments; -
2 12 is a block diagram of an example of an electronic device for use in the vehicle communication system of FIG1 according to one or more embodiments; -
3 12 is a flow chart depicting an example of a programming process suitable for use by the vehicle communication system of FIG1 is suitable, according to one or more embodiments; and -
4 Fig. 12 is a diagram showing a series of communications within the vehicle communication system of Fig1 12 depicts according to one embodiment of the programming process of FIG3 . 3.
AUSFÜHRLICHE BESCHREIBUNGDETAILED DESCRIPTION
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.The following detailed description is merely exemplary in nature and is not intended to describe the subject matter embodiments or the application and uses of such limit embodiments. As used herein, the term "exemplary" means "serving as an example, exemplification, or illustration." Any implementation described herein as exemplary is not necessarily to be construed as preferred or advantageous over other implementations. Furthermore, there is no intention to be bound by any teachings expressed or implied in the aforementioned technical field, background, summary or the following detailed description.
Die Ausführungsformen des hier beschriebenen Gegenstands betreffen die Programmierung eines Moduls in einem Fahrzeug, z. B. einem Pkw, unter Verwendung von Programmierungsinformationen von einer Remotevorrichtung. Wie nachstehend genauer beschrieben, wird eine Programmierungsaktualisierung für eine Anwendung auf einem zu programmierenden Fahrzeugmodul (alternativ hier als Zielanwendung eines Zielmoduls beschrieben) durch ein anderes Modul im Fahrzeug erhalten, das über ein Gateway-Modul an das Fahrzeugmodul gekoppelt ist. In dieser Hinsicht ist das Modul, das die Programmierungsaktualisierung erhält, kommunikativ an das Gateway-Modul über ein Kommunikationsnetzwerk gekoppelt, das anders als das Kommunikationsnetzwerk ist, an dem das Zielmodul gekoppelt ist. Zwecks Erklärung, aber ohne Einschränkung, kann das Modul, das die Programmierungsaktualisierung erhält, auch als Aktualisierungsmodul bezeichnet werden. Die Programmierungsaktualisierung umfasst einen Programmierungsdatenteil, welcher eine Datei oder ein anderes logisches Datensegment sein kann, das eine Reihe ausführbare Anweisungen umfasst (z. B. Code, Skript oder Ähnliches), welche in der Lage sind, vom Zielmodul gelesen und ausgeführt zu werden, um die Zielanwendung und deren Ausführung zu ändern, modifizieren, aktualisieren oder anderweitig zu beeinflussen. In anderen Worten, die Zielanwendung wird, basierend zumindest zum Teil auf den Programmierungsdaten, als Antwort auf eine Reihe Anweisungen der Programmierungsdaten, die vom Zielmodul ausgeführt werden, aktualisiert.The embodiments of the subject matter described herein relate to programming a module in a vehicle, e.g. a car, using programming information from a remote device. As described in more detail below, a programming update for an application on a vehicle module to be programmed (alternatively described herein as a target application of a target module) is obtained by another module in the vehicle that is coupled to the vehicle module via a gateway module. In this regard, the module that receives the programming update is communicatively coupled to the gateway module over a communication network that is different than the communication network to which the target module is coupled. For purposes of explanation but without limitation, the module that receives the programming update may also be referred to as an update module. The programming update includes a programming data portion, which may be a file or other logical data segment that includes a set of executable instructions (e.g., code, script, or the like) capable of being read and executed by the target module to change, modify, update or otherwise affect the Target Application and its execution. In other words, the target application is updated based at least in part on the programming data in response to a series of instructions in the programming data being executed by the target module.
In Ausführungsbeispielen befragt das Aktualisierungsmodul, dass das Gateway-Modul eine Programmierungssitzung mit dem Zielmodul aktiviert, nachdem es die Programmierungsaktualisierung erhalten hat. Das Gateway-Modul speichert oder verwaltet anderweitig einen oder mehrere Schlüssel, die mit dem Fahrzeug in Beziehung stehen, und das Gateway-Modul erzeugt als Antwort auf die ursprüngliche Programmierungsanfrage dynamisch Sitzungsinformationen mithilfe eines oder mehreren der gespeicherten Schlüssel, und stellt die Sitzungsinformationen dem Aktualisierungsmodul bereit. Die Sitzungsinformationen werden verwendet, um zu authentifizieren, dass die Programmierungssitzung von einem zuverlässigen Gateway-Modul angefordert wird, und die Sitzungsinformationen können hier alternativ als Sitzungsauthentifizierung bezeichnet werden. Nach Erhalt der Sitzungsauthentifizierungsinformationen fordert das Aktualisierungsmodul eine Autorisierung der Programmierungssitzung von einer Remotevorrichtung an, durch Bereitstellung der Sitzungsauthentifizierungsinformationen. Die Remotevorrichtung hat Zugriff auf einen oder mehrere Schlüssel, die mit dem Fahrzeug in Beziehung stehen, und verwendet diese Schlüssel, um zu prüfen, bestätigen oder anderweitig zu authentifizieren, dass die vom Aktualisierungsmodul eines bestimmten Fahrzeugs angeforderte Programmierungssitzung ein zuverlässiges Gateway-Modul in diesem Fahrzeug umfasst. Je nach Ausführungsform kann die Remotevorrichtung kommunikativ an das Aktualisierungsmodul im Fahrzeug über das Kommunikationsnetzwerk oder über eine an das Aktualisierungsmodul gekoppelte Eingabeschnittstelle gekoppelt werden (z. B. durch Einstecken der Remotevorrichtung in die Eingabeschnittstelle).In exemplary embodiments, the update module requests that the gateway module activate a programming session with the target module after receiving the programming update. The gateway module stores or otherwise manages one or more keys associated with the vehicle, and the gateway module dynamically generates session information using one or more of the stored keys in response to the original programming request and provides the session information to the update module . The session information is used to authenticate that the programming session is requested by a trusted gateway module, and the session information may alternatively be referred to herein as session authentication. Upon receiving the session authentication information, the update module requests authorization of the programming session from a remote device by providing the session authentication information. The remote device has access to one or more keys associated with the vehicle and uses those keys to verify, confirm, or otherwise authenticate that the programming session requested by a particular vehicle's update module is a reliable gateway module in that vehicle includes. Depending on the embodiment, the remote device may be communicatively coupled to the in-vehicle update module via the communication network or via an input interface coupled to the update module (e.g., by plugging the remote device into the input interface).
Nach der Authentifizierung der Sitzungsinformationen bestimmt die Remotevorrichtung ebenfalls, ob die Programmierung eines bestimmten Zielmoduls im Fahrzeug basierend auf einem oder mehreren Kriterien autorisiert ist. Die Remotevorrichtung kann zum Beispiel Programmierungsanforderungen in Beziehung mit einem bestimmten Fahrzeug, Zielmodul und/oder Aktualisierungsmodul überwachen und die Menge oder Frequenz der Programmierungssitzungen beschränken, die für das jeweilige Fahrzeug, Zielmodul und/oder Aktualisierungsmodul zugelassen sind. Wenn in dieser Hinsicht die Anzahl der Programmierungsanforderungen einen zulässigen Grenzwert von Programmierungsanforderungen übertrifft, autorisiert die Remotevorrichtung die Programmierungssitzung nicht und stellt keine Antwort auf die Programmierungsanfrage bereit, welche anderenfalls die Programmierungssitzung zulassen würde. Wenn die Remotevorrichtung im Gegenzug bestimmt, dass die Programmierungssitzung autorisiert ist, erzeugt die Remotevorrichtung eine Autorisierungsmitteilung (oder Nachricht) und stellt die Autorisierungsmitteilung dem Aktualisierungsmodul bereit, welches wiederum die Autorisierungsmitteilung an das Gateway-Modul überträgt. Die Autorisierungsmitteilung umfasst Autorisierungsinformationen, die vom Gateway-Modul verwendet werden, um zu überprüfen, bestätigen oder anderweitig zu authentifizieren, dass die Autorisierung von einer zuverlässigen Remotevorrichtung bereitgestellt wurde und dementsprechend können die Autorisierungsinformationen alternativ hier als Autorisierungsauthentifizierungsinformationen bezeichnet werden. Nachdem das Gateway-Modul die Autorisierungsinformationen geprüft, bestätigt oder anderweitig authentifiziert hat, gestattet oder ermöglicht das Gateway-Modul anderweitig, dass die Programmierungsdaten für die Programmierungsaktualisierung vom Aktualisierungsmodul an das Zielmodul über das Gateway-Modul bereitgestellt werden, womit das Aktualisierungsmodul die Zielanwendung auf dem Zielmodul programmieren oder anderweitig aktualisieren kann. In dieser Hinsicht verhindert in Abwesenheit einer authentifizierten Autorisierung von einer zuverlässigen Remotevorrichtung das Gateway-Modul standardmäßig das Aktualisierungsmodul dabei, Programmierungsdaten an das Zielmodul zu kommunizieren oder das Zielmodul anderweitig dazu zu bringen, in einen Programmierungsmodus überzugehen.After authenticating the session information, the remote device also determines whether programming of a particular target module in the vehicle is authorized based on one or more criteria. For example, the remote device may monitor programming requests related to a particular vehicle, target module, and/or update module and limit the amount or frequency of programming sessions allowed for the particular vehicle, target module, and/or update module. In this regard, if the number of programming requests exceeds an allowable limit of programming requests, the remote device does not authorize the programming session and does not provide a response to the programming request that would otherwise allow the programming session. In turn, if the remote device determines that the programming session is authorized, the remote device generates an authorization message (or message) and provides the authorization message to the update module, which in turn transmits the authorization message to the gateway module. The authorization message includes authorization information used by the gateway module to verify, confirm, or otherwise authenticate that the authorization was provided by a trusted remote device, and accordingly the authorization information may alternatively be referred to herein as authorization authentication information. After the gateway module verifies, confirms, or otherwise authenticates the authorization information, the gateway module permits or otherwise enables the programmer Programming update data is provided from the update module to the target module via the gateway module, allowing the update module to program or otherwise update the target application on the target module. In this regard, in the absence of authenticated authorization from a trusted remote device, the gateway module by default prevents the update module from communicating programming data to the target module or otherwise causing the target module to enter a programming mode.
In einem oder mehreren Ausführungsbeispielen erzeugt die Remotevorrichtung die Autorisierungsinformationen durch Verschlüsselung von einem oder mehreren mit dem Fahrzeug in Beziehung stehenden Schlüsseln mithilfe von Sitzungsauthentifizierungsinformationen, wobei das Gateway-Modul zur Authentifizierung der Programmierungsautorisierung als von einer zuverlässigen Remotevorrichtung bereitgestellt die Sitzungsauthentifizierungsinformationen verwendet, die es zuvor erzeugt hat, um die Autorisierungsauthentifizierungsinformationen zu entschlüsseln, was zu einem oder mehreren verschlüsselten Schlüsseln führt. Wenn die verschlüsselten Schlüssel denen mit dem Fahrzeug in Beziehung stehenden gespeicherten Schlüssen entsprechen, welche vom Gateway-Modul verwaltet werden, prüft das Gateway-Modul, dass die Programmierung des Zielmoduls von einer zuverlässigen Remotevorrichtung autorisiert wurde.In one or more embodiments, the remote device generates the authorization information by encrypting one or more vehicle-related keys using session authentication information, and the gateway module uses the session authentication information it previously generated to authenticate the programming authorization as provided by a trusted remote device has to decrypt the authorization authentication information, resulting in one or more encrypted keys. If the encrypted keys match the stored keys associated with the vehicle managed by the gateway module, the gateway module verifies that the programming of the target module has been authorized by a trusted remote device.
Nun mit Bezug auf
Immer noch mit Bezug auf
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
Immer noch mit Bezug auf
In Ausführungsbeispielen ist das Aktualisierungsmodul 110 an mindestens ein Fahrzeugkommunikationsnetzwerk 111 gekoppelt und stellt eine Schnittstelle zwischen dem externen Kommunikationsnetzwerk 106 und dem Fahrzeugkommunikationsnetzwerk 111 zur Verfügung. Je nach der Ausführungsform kann das Fahrzeugkommunikationsnetzwerk 111 ein lokales Netzwerk (LAN) oder ein Ethernet-Netzwerk, ein drahtloses Netzwerk (z. B. ein Bluetooth-Netzwerk, ein IEEE 802.11-Netzwerk oder Ähnliches), ein Controller Area Network (CAN) oder Ähnliches sein. Das Gateway-Modul 112 ist im Allgemeinen das Gerät oder die Komponente innerhalb des Fahrzeugs 102, welches kommunikativ an das Aktualisierungsmodul 110 über ein erstes Fahrzeugkommunikationsnetzwerk 111 gekoppelt und konfiguriert ist, um die Programmierung des Zielmoduls 114 innerhalb des Fahrzeugs 102 durch Überprüfung oder anderweitiger Authentifizierung von Programmierungsaktualisierungen, die vom Aktualisierungsmodul 110 empfangen werden und vom Server 104 autorisiert sind, zu regulieren oder anderweitig zu kontrollieren. In dieser Hinsicht funktioniert das Gateway-Modul 112 wie ein Gateway zwischen dem ersten Fahrzeugkommunikationsnetzwerk 111, über welches das Aktualisierungsmodul 110 kommuniziert und dem zweiten Fahrzeugkommunikationsnetzwerk 113, an dem das Zielmodul 114 kommunikativ gekoppelt ist. Zum Beispiel: In einer Ausführungsform ist das erste Fahrzeugkommunikationsnetzwerk 111 ein Ethernet-Netzwerk und das zweite Fahrzeugkommunikationsnetzwerk 113 ein CAN, wobei das Gateway-Modul 112 ein Gateway zwischen dem Ethernet-Netzwerk und dem CAN bereitstellt.In exemplary embodiments, the
In der dargestellten Ausführungsform von
Immer noch mit Bezug auf
In Ausführungsbeispielen umfasst eine vom Aktualisierungsmodul 110 und/oder der Aktualisierungsmaschine 120 des Servers 104 erhaltene Programmierungsaktualisierung eine Reihe ausführbarer Anweisungen (d. h. Code, Skript oder Ähnliches), welche in der Lage sind, vom Zielmodul 114 (oder einer Komponente davon) gelesen und ausgeführt zu werden, um den Betrieb seiner Zielanwendung 124 zu ändern. Zum Beispiel kann der bestehende Code oder Anweisungen für die Implementierung der Zielanwendung 124 geändert werden (z. B. durch Hinzufügen oder Einbeziehen eines neuen Codes oder Anweisungen, Löschen oder Überschreiben von zumindest einem Teil des bestehenden Codes oder der Anweisungen und Ähnliches) und/oder die Parameter, Einstellungen und/oder anderen Konfigurationsinformationen, auf denen der Code oder die Anweisungen der jeweiligen Zielanwendung 124 Bezug haben, können geändert werden (z. B. durch Ändern oder Überschreiben von bestehenden Konfigurationsinformationen, Hinzufügen oder Einbeziehen neuer Konfigurationsinformationen, auf denen bestehender und/oder neuer Code oder Anweisungen Bezug haben, und Ähnliches). Das Ändern des zugrundeliegenden Codes und/oder der Konfigurationsinformationen, auf denen eine Anwendung 124 basiert, beeinflusst den darauffolgenden Betrieb der jeweiligen Anwendung 124, was wiederum den darauffolgenden Betrieb des zugehörigen Zielmoduls 114 beeinflusst. In dieser Weise können Programmierungsaktualisierungen vom Server 104 auf ein Zielmodul 114 angewendet werden, um bestehende Funktionen und/oder Funktionalitäten des Zielmoduls 114 zu ändern oder neue Funktionen und/oder Funktionalitäten für das Zielmodul 114 bereitzustellen.In exemplary embodiments, a programming update received from
Es versteht sich, dass
Das Steuermodul 202 verkörpert im Allgemeinen Hardware, Schaltkreis Ablauflogik und/oder andere Komponenten des Elektronikgerätes 200, konfiguriert zur Unterstützung des Betriebs des Elektronikgerätes 200 und der unterschiedlichen Aufgaben, Betriebe, Funktionen und/oder hier beschriebenen Prozesse. Je nach der Ausführungsform kann das Steuermodul 202 mit einem Allzweckprozessor, einem Mikroprozessor, einem Kontroller, einem Mikrokontroller, einer Zustandsmaschine, einem inhaltsadressierbaren Speicher, einem anwendungsspezifischen integrierten Schaltkreis, einem vor Ort programmierbaren Gate-Array, einem geeigneten programmierbaren logischen Bauteil, diskreter Gate- oder Transistor-Logik, diskreten Hardwarekomponenten oder einer beliebigen Kombination davon, die auf die hier beschriebenen Funktionen ausgerichtet ist, implementiert werden. Gleichermaßen kann der Speicher 204 je nach der Ausführungsform eine beliebige Sorte von Arbeitsspeicher (R_AM), Nurlesespeicher (ROM), Flash-Speicher, Register, Festplatten, Wechselplatten, magnetischen oder optischen Massenspeicher, kurz- oder langfristigen Speichermedien und/oder anderen nicht transitorischen rechnerlesbaren Mitteln, die in der Lage sind, Programmierungsanweisungen für die Ausführung durch das Steuermodul 202 aufzunehmen, umfassen. Die rechnerausführbaren Programmierungsanweisungen, wenn vom Steuermodul 202 gelesen und ausgeführt, sorgen dafür, dass das Steuermodul 202 die unterschiedlichen Aufgaben, Operationen, Funktionen und hier beschriebenen Prozesse ausführt oder anderweitig unterstützt.The
Zum Beispiel mit Bezug auf
Erneut mit Bezug auf
Immer noch mit Bezug auf
Bei Ausführungsbeispielen beginnt der Programmierungsprozess 300 mit dem Empfang oder dem anderweitigen Erhalt einer Programmierungsaktualisierung für ein bestimmtes Zielmodul in einem Fahrzeug bei 302. Zum Beispiel befragt das Aktualisierungsmodul 110 gemäß einer oder mehreren Ausführungsformen regelmäßig den Server 104 über das Netzwerk 106 nach Programmierungsaktualisierungen, die für eines der Zielmodule 114 im Fahrzeug 102 zutreffen. In anderen Ausführungsformen kann ein Benutzer eine Eingabeschnittstelle 208 des Aktualisierungsmoduls 110 bedienen, um nach Aktualisierungen für die Fahrzeugmodule 114, 116 zu suchen, was wiederum dazu führt, dass das Aktualisierungsmodul 110 eine Anfrage nach Programmierungsaktualisierungen an den Server 104 überträgt. In noch anderen Ausführungsformen kann ein Benutzer eine Eingabeschnittstelle 208 eines Zielmoduls 114 im Fahrzeug 102 bedienen, um nach Aktualisierungen für die Anwendung 124 auf diesem Zielmodul 114 zu suchen, was wiederum dazu führt, dass das Zielmodul 114 eine Anfrage nach Programmierungsaktualisierungen an das Aktualisierungsmodul 110 überträgt.In exemplary embodiments,
Gemäß einer oder mehreren Ausführungsformen erzeugt die Aktualisierungsmaschine 120 auf dem Aktualisierungsmodul 110 eine Befragungsanfrage, um eine Programmierungsaktualisierung vom Server 104 zu erhalten, die Identifizierungsinformationen (d. h. eine Fahrgestellnummer oder Ähnliches) umfasst, welche vom Aktualisierungsmodul 110 gespeichert oder anderweitig verwaltet werden (z. B. im Speicher 204), was wiederum vom Server 104 verwendet wird, um das jeweilige Modell für das Fahrzeug 102 und/oder aktuelle Versionierungsinformationen für die Zielanwendungen 124 der Zielmodule 114 im Fahrzeug 102 zu bestimmen. Mit Hilfe der Identifizierungsinformationen kann der Server 104 befragen oder anderweitig auf die Datenbank 105 zugreifen, um zu bestimmen, ob Programmierungsaktualisierungen vorliegen, die für das Fahrzeug 102 gelten (z. B. mit einem mit dem Zielmodul 114 an Bord des Fahrzeugs 102 in Beziehung stehenden Programmierungsaktualisierungen). Als Reaktion auf die Identifizierung einer Aktualisierung für eines der Zielmodule 114 im Fahrzeug 102 erzeugt der Server 104 eine Programmierungsaktualisierung für das Fahrzeug 102 und überträgt oder stellt diese Programmierungsaktualisierung der Aktualisierungsmaschine 120 auf dem Aktualisierungsmodul 110 über das Netzwerk 106 anderweitig zur Verfügung. Die vom Server 104 erzeugte Programmierungsaktualisierung umfasst einen Programmierungsdatenteil, und um den Programmierungsdatenteil zu erzeugen, kann der Server 104 die Identifizierungsinformationen für das Fahrzeug 102 verwenden, um zu befragen oder anderweitig auf die Datenbank 105 zuzugreifen, um eine Reihe Anweisungen in Beziehung mit der Programmaktualisierung für das Zielmodul 114 zu erhalten und diese Reihe Anweisungen im Programmierungsdatenteil einzuschließen.According to one or more embodiments,
Es ist zu beachten, dass in anderen Ausführungsformen das Aktualisierungsmodul 110 den Server 104 nicht regelmäßig nach Programmierungsaktualisierungen befragt, sondern der Server 104 automatisch Programmierungsaktualisierungen entweder regelmäßig oder, sobald neue Programmierungsaktualisierungen zur Verfügung stehen, zum Aktualisierungsmodul 110 befördert. Zum Beispiel kann der Server 104 regelmäßig auf die Datenbank 105 zugreifen, um gespeicherte Versionierungsinformationen für die Zielanwendung 124 im Fahrzeug 102 mit aktuellen Versionierungsinformationen zu vergleichen, die mit Programmaktualisierungen für diese Zielanwendung 124 in Beziehung stehen, die von der Datenbank 105 verwaltet werden. Wenn die Versionierungsinformationen andeuten, dass eine Zielanwendung 124 auf einem Zielmodul 114 aktualisiert werden sollte (z. B. weil die aktuellen, mit einer Programmaktualisierung für die Zielanwendung 124 in Beziehung stehenden Versionierungsinformationen, welche von der Datenbank 105 verwaltet werden, andeuten, dass die Programmierungsaktualisierung neuer ist), wird der Server 104 automatisch eine Programmierungsaktualisierung für das Zielmodul 114 erzeugen und die Programmierungsaktualisierung auf das Aktualisierungsmodul 110 befördern oder anderweitig übertragen.It should be noted that in other embodiments, the
In einer noch anderen Ausführungsform kann das Aktualisierungsmodul 110 und/oder die Aktualisierungsmaschine 120 die Programmierungsaktualisierung von einem externen Gerät (z. B. einem externen Laufwerk, Speicherkarte, CD oder Ähnliches), verbunden mit einer Eingabeschnittstelle 208 des Aktualisierungsmoduls 110, erhalten. Zum Beispiel kann eine vom Server 104 erzeugte Programmierungsaktualisierung gespeichert oder anderweitig auf einem externen Gerät aufgenommen werden, das an der Eingabeschnittstelle 208 des Aktualisierungsmoduls 110 anschließbar ist. Bei Anschluss eines externen Gerätes an einer Eingabeschnittstelle 208 können die Aktualisierungsmaschine 120 und/oder das Steuermodul 202 über die Eingabeschnittstelle automatisch scannen oder anderweitig Zugriff auf das externe Gerät erhalten, um Programmierungsaktualisierungen für das Zielmodule 114 im Fahrzeug 102 zu erhalten, die sich auf dem externen Gerät befinden.In yet another embodiment, the
Immer noch mit Bezug auf
Wenn der Programmierungsprozess 300 den aktuellen Status des Zielmoduls bestimmt und/oder andere Fahrzeugkomponenten den Programmierungskriterien für das Zielmodul gerecht werden, wird der Programmierungsprozess 300 durch den Erhalt von Sitzungsauthentifizierungsinformationen vom Gateway-Modul bei 306 fortfahren, bestimmen oder anderweitig identifizieren, ob die Programmierungssitzung authentifiziert und autorisiert ist bei 308, und, wenn die Programmierungssitzung authentifiziert und autorisiert ist, Autorisierungsauthentifizierungsinformationen erhalten, die mithilfe der Sitzungsauthentifizierungsinformationen bei 310 verschlüsselt sind. Wie nachstehend im Zusammenhang mit
Als Antwort auf den Empfang der Sitzungsauthentifizierungsinformationen von der Authentifizierungsmaschine 112 überträgt oder stellt die Aktualisierungsmaschine 120 anderweitig eine Autorisierungsanfragenachricht oder andere Andeutung der Absicht, das Zielmodul 114 zu programmieren, dem Server 104 über das Netzwerk 106 bereit. Die Programmierungsautorisierungsanfrage umfasst die vom Gateway-Modul 112 und/oder der Authentifizierungsmaschine 122 erzeugten Sitzungsauthentifizierungsinformationen und als Antwort auf den Empfang der Programmierungsautorisierungsanfrage bestimmt der Server 104, ob die Programmierung des Zielmoduls 114 autorisiert ist basierend zumindest zum Teil auf Sitzungsauthentifizierungsinformationen. In dieser Hinsicht entschlüsselt der Server 104 die Sitzungsauthentifizierungsinformationen, um zu bestätigen, dass das zuverlässige Gateway-Modul 112 im Fahrzeug 102 die Quelle der Sitzungsauthentifizierungsinformationen ist, zum Beispiel durch Bestätigung, dass der zur Verschlüsselung der Sitzungsauthentifizierungsinformationen verwendete private Schlüssel dem mit dem Fahrzeug 102 in Beziehung stehenden privaten Schlüssel, welcher in der Datenbank 105 gespeichert oder anderweitig verwaltet wird, entspricht.In response to receiving the session authentication information from the
Nach der Authentifizierung oder anderweitigen Prüfung der Sitzungsauthentifizierungsinformationen bestimmt der Server 104, ob die Programmierung des Zielmoduls 114 autorisiert ist basierend auf einem oder mehreren zusätzlichen Kriterien, wie z. B. eine Frequenz und/oder Anzahl von Programmierungsanfragen, die für das jeweilige Zielmodul 114 erhalten wurden, eine Frequenz und/oder Menge der Programmierungsanfragen, die für das Fahrzeug 102 erhalten wurden, eine Frequenz und/oder Menge der Programmierungsanfragen, die vom jeweiligen Aktualisierungsmodul 110 erhalten wurden, eine Frequenz und/oder Menge der Programmierungsanfragen, die von einem bestimmten Ort auf dem Netzwerk 106 erhalten wurden oder Ähnliches. In dieser Hinsicht kann die Datenbank 105 eine Reihe unterschiedlicher Grenzwerte verwalten, die vom Server 104 verwendet werden, um Programmierungsanfragen zu identifizieren, die möglicherweise bösartig sind, oder um anderweitig auf eine Cyberattacke hinweisen. Zum Beispiel könnte der Server 104 nicht die Programmierung des Zielmoduls 114 autorisieren, wenn die Anzahl der Anfragen, das Zielmodul 114 zu programmieren, über einem bestimmten Zeitraum einen Grenzwert für eine gestattete Anzahl von Programmierungssitzungen für das jeweilige Zielmodul 114 über diesen Zeitraum übertrifft oder wenn die Anzahl der vom Aktualisierungsmodul 110 über einem bestimmten Zeitraum erhaltenen Anfragen einen Grenzwert der gestatteten kumulativen Anzahl von Programmierungssitzungen für ein beliebiges Modul im Fahrzeug 102 über diesen Zeitraum übertrifft. In dieser Hinsicht kann der Server 104 und/oder die Datenbank 105 für jede vom Server 104 erhaltene Programmierungsanfrage Informationen speichern oder anderweitig verwalten, die das Fahrzeug 102 in Beziehung mit der Programmierungsanfrage, das Zielmodul 114 in Beziehung mit der Anfrage, das Aktualisierungsmodul 110 in Beziehung mit der Anfrage, einen Ort auf dem Netzwerk 106 in Beziehung mit der Quelle der Anfrage (z. B. Internetprotokoll (IP) Adresse für das Aktualisierungsmodul 110) und Ähnliches identifizieren.After authenticating or otherwise verifying the session authentication information,
Wenn der Server 104 die Sitzungsauthentifizierungsinformationen als vom Gateway-Modul 112 erhalten authentifiziert und bestimmt, dass die Programmierungsanfrage autorisiert ist (z. B. weil die Anzahl der erhaltenen Programmierungsanfragen nicht die zutreffenden Grenzwerte übertrifft), erzeugt der Server 104 Autorisierungsauthentifizierungsinformationen, die vom Gateway-Modul 112 verwendet werden, um zu authentifizieren, dass die Programmierung des Zielmoduls 114 durch die zuverlässige Remotevorrichtung 104 autorisiert ist. In Ausführungsbeispielen erzeugt der Server 104 Autorisierungsverschlüsselungsinformationen durch Verschlüsselung eines privaten Schlüssels, der mit dem Fahrzeug 102 in Beziehung steht, indem er den mit den Sitzungsauthentifizierungsinformationen und einer Hashfunktion oder einem anderen kryptografischen Algorithmus, der dem Gateway-Modul 112 bekannt ist, erhaltenen öffentlichen Schlüssel verschlüsselt. Danach überträgt oder stellt der Server 104 die Autorisierungsauthentifizierungsinformationen dem Aktualisierungsmodul 110 und/oder der Aktualisierungsmaschine 120 über das Netzwerk 106 bereit. Wenn im Gegenzug der Server 104 bestimmt, dass die Programmierungsanfrage nicht authentifiziert oder anderweitig unautorisiert ist, stellt der Server 104 dem Aktualisierungsmodul 110 und/oder der Aktualisierungsmaschine 120 keine Autorisierungsauthentifizierungsinformationen bereit, und der Programmierungsprozess 300 verhindert, dass eine unautorisierte Programmierungssitzung mit dem Zielmodul bei 318 eingeleitet wird, wie nachstehend genauer beschrieben.If the
Immer noch mit Bezug auf
Nachdem der Programmierungsprozess 300 bestimmt, dass die Programmierungsaktualisierung durch eine authentifizierte Remotevorrichtung autorisiert ist, wird der Programmierungsprozess 300 durch Übertragen oder anderweitiger Bereitstellung der Programmierungsdaten für die Programmierungsaktualisierung an das Zielmodul über das Gateway-Modul bei 314 und Programmierung des Zielmoduls mithilfe der Programmierungsdaten bei 316 abgeschlossen. In dieser Hinsicht kann die Authentifizierungsmaschine 122 eine Antwort auf die Programmierungsanfrage oder einen anderen Befehl an die Aktualisierungsmaschine 120 bereitstellen, dass die Programmierungssitzung gestattet oder anderweitig autorisiert ist. Danach funktioniert das Gateway-Modul 112 und/oder die Authentifizierungsmaschine 122 wie ein Gateway zwischen dem ersten Fahrzeugkommunikationsnetzwerk 111 und dem zweiten Fahrzeugkommunikationsnetzwerk 113 und leitet oder überträgt Daten vom Aktualisierungsmodul 110 und/oder der Aktualisierungsmaschine 120 an das Zielmodul 114 und/oder der Zielanwendung 124 weiter. In manchen Ausführungsformen kann das Gateway-Modul 112 und/oder die Authentifizierungsmaschine 122 so konfiguriert sein, dass sie einen Timer oder eine ähnliche Funktion verwendet und nur Kommunikationen vom ersten Fahrzeugkommunikationsnetzwerk 111 an das zweite Fahrzeugkommunikationsnetzwerk 113 und/oder das Zielmodul 114 für einen begrenzten Zeitraum weiterleitet. In anderen Worten, die vom Gateway-Modul 112 und/oder der Authentifizierungsmaschine 122 bereitgestellte Gateway-Funktionalität kann nicht auf unbestimmte Zeit offen bleiben.After the
Gemäß einer oder mehreren Ausführungsformen, um die Programmierungsaktualisierung zu implementieren, signalisiert oder anderweitig befiehlt die Aktualisierungsmaschine dem Zielmodul 114, in einen Programmierungsmodus überzugehen, und als Antwort auf den Empfang eines Programmierungsmodusbefehls von der Aktualisierungsmaschine 120 geht das Zielmodul 114 in den Programmierungsmodus über. In alternativen Ausführungsformen kann der Benutzer eine Eingabeschnittstelle 208 des Zielmoduls 114 bedienen, damit das Zielmodul 114 in den Programmierungsmodus übergeht (z. B. als Teil einer Prüfung auf Aktualisierungen). Nach dem Befehl an das Zielmodul 114, in den Programmierungsmodus überzugehen, überträgt oder stellt die Aktualisierungsmaschine 120 anderweitig die Programmierungsdaten für die Programmierungsaktualisierung an das Gateway-Modul 112 über das erste Fahrzeugkommunikationsnetzwerk 111 bereit und das Gateway-Modul 112 leitet die Programmierungsdaten automatisch an das Zielmodul 114 weiter über das zweite Fahrzeugkommunikationsnetzwerk 113. Wenn sich das Zielmodul 114 im Programmierungsmodus befindet, wird das Zielmodul 114 konfiguriert, um automatisch die Anweisungsreihe der Programmierungsdatendatei auszuführen oder anderweitig zu implementieren, um die jeweilige Zielanwendung 124 zu ändern, wie oben beschrieben. Zum Beispiel kann ein Zielmodul 114 als Antwort auf den Empfang eines Befehls, in den Programmierungsmodus überzugehen, von der Aktualisierungsmaschine 120 einen Bootmodus (oder Boot-Lademodus) einleiten, um das Steuermodul 202 in einen Zustand zu versetzen, in dem das Steuermodul 202 automatisch die in den Programmierungsdaten enthaltenen Anweisungen bei Empfang der Programmierungsdaten vom Aktualisierungsmodul 110 und/oder der Aktualisierungsmaschine 120 über das Gateway-Modul 112 und das zweite Kommunikationsnetzwerk 113 ausführt.According to one or more embodiments, to implement the programming update, the update engine signals or otherwise commands the
Immer noch mit Bezug auf
Nachdem die Remotevorrichtung 104 authentifiziert, dass der öffentliche Schlüssel und/oder Sitzungsauthentifizierungsinformationen vom Gateway-Modul 112 im Fahrzeug 102 erzeugt wurden und überprüft wurde, dass die Programmierungsanfrage keinen der Grenzwerte überschreitet, erzeugt die Remotevorrichtung 104 Autorisierungsauthentifizierungsinformationen mithilfe des öffentlichen Schlüssels und/oder sonstige Sitzungsauthentifizierungsinformationen durch Verschlüsseln eines privaten Schlüssel in Beziehung mit dem Fahrzeug 102 unter Verwendung des öffentlichen Schlüssels und/oder anderer Sitzungsauthentifizierungsinformationen. Danach überträgt oder stellt die Remotevorrichtung 104 anderweitig 410 die Autorisierungsauthentifizierungsinformationen dem Aktualisierungsmodul 110 und/oder der Aktualisierungsmaschine 120 bereit, welche wiederum die Autorisierungsinformationen an das Gateway-Modul 112 und/oder die Authentifizierungsmaschine 122 überträgt 412. Die Authentifizierungsmaschine 122 entschlüsselt die Autorisierungsauthentifizierungsinformationen mithilfe des öffentlichen Schlüssels und/oder anderer Sitzungsauthentifizierungsinformationen und vergleicht die entschlüsselten Autorisierungsauthentifizierungsinformationen mit gespeicherten Authentifizierungsinformationen, um zu authentifizieren, dass die Autorisierung von einer zuverlässigen Quelle stammt. In der dargestellten Ausführungsform bestimmt die Authentifizierungsmaschine 122, nachdem die Authentifizierungsmaschine 122 überprüft, dass ein entschlüsselter privater Schlüssel einem gespeicherten privaten Schlüssel in Beziehung mit dem Fahrzeug 102 entspricht, ob die Programmierungssitzung von einer authentifizierten Remotevorrichtung 104 autorisiert ist und überträgt oder stellt 414 der Aktualisierungsmaschine anderweitig eine Antwortmeldung bereit, die andeutet, dass die Anfrage für die Programmierungssitzung gestattet, autorisiert oder anderweitig erlaubt wurde. Danach überträgt 416 die Aktualisierungsmaschine 120 einen Programmierungsmodusbefehl und die Programmierungsdaten für die Programmierungsaktualisierung an das Gateway-Modul 112 über das erste Fahrzeugkommunikationsnetzwerk 111, und das Gateway-Modul 112 leitet 418 den Programmierungsmodusbefehl und die Programmierungsdaten automatisch über das zweite Fahrzeugkommunikationsnetzwerk 113 an das Zielmodul 114 weiter. Nachdem das Zielmodul 114 in den Programmierungsmodus übergeht und die Programmierungsdaten erhält, führt das Steuermodul 202 des Zielmoduls 114 den Code, Skript und/oder Anweisungen von den Programmierungsdaten aus oder implementiert sie anderweitig, um die gewünschte Aktualisierung bei der Zielanwendung 124 vorzunehmen.After the
Ein Vorteil des hier beschriebenen Gegenstands ist, dass von einer Remotevorrichtung erhaltene Programmierungsaktualisierungen nicht implementiert werden, wenn sie nicht durch eine zuverlässige Quelle als autorisiert authentifiziert werden. Demnach können Anwendungen auf Fahrzeugmodulen sicher programmiert oder anderweitig mithilfe von ausführbarem Code, Script und/oder Anweisungen, die über ein externes Netzwerk (z. B. ein Mobiltelefonnetzwerk oder Ähnliches) empfangen werden, aktualisiert werden, ohne dass das Fahrzeug manuell an einem bestimmten Ort (z. B. durch einen Techniker in einem Autohaus) gewartet werden muss.An advantage of the subject matter described herein is that programming updates received from a remote device will not be implemented unless authenticated as authorized by a reliable source. Accordingly, applications on vehicle modules may be securely programmed or otherwise using executable code, script, and/or instructions received over an external network (e.g., a cell phone network or the like). be updated without the vehicle having to be serviced manually at a specific location (e.g. by a technician at a car dealership).
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.For the sake of brevity, conventional techniques related to communication networks, authentication, software updating, vehicle electronics and/or electrical systems, and other functional aspects of the subject matter cannot be described in detail herein. Furthermore, certain terminology may also be used herein for reference only and is therefore not to be considered limiting. The terms "first," "second," and other similar numerical terms relating to structures do not imply a sequence or order, except where clearly indicated by the context. Furthermore, the preceding description also refers to elements or nodes or functions that are “connected” or “coupled” to one another. As used herein, unless expressly stated otherwise, "connected" means that one element is directly connected to (or directly communicates with) another element, but not necessarily mechanically. Also, unless expressly stated otherwise, "coupled" means that one element is directly or indirectly connected to (or directly or indirectly communicates with) another element, but not necessarily mechanically.
Beispiele.examples.
Beispiel 1. Ein Fahrzeug, umfassend:
- ein erstes Modul
- ein Gateway-Modul, das kommunikativ an das erste Modul gekoppelt ist, und
- ein Aktualisierungsmodul, das kommunikativ an das Gateway-Modul gekoppelt ist, um dem Gateway-Modul Autorisierungsinformationen und Programmierungsdaten bereitzustellen, wobei das Gateway-Modul konfiguriert ist, um zu überprüfen, dass die Programmierung des ersten Moduls zumindest zum Teil auf den Autorisierungsinformationen basierend autorisiert ist, und dem ersten Modul nach Überprüfung, dass die Programmierung autorisiert ist, die Programmierungsdaten bereitzustellen.
- a first module
- a gateway module communicatively coupled to the first module, and
- an update module communicatively coupled to the gateway module to provide authorization information and programming data to the gateway module, wherein the gateway module is configured to verify that programming of the first module is authorized based at least in part on the authorization information , and the first module after verifying that programming is authorized to provide the programming data.
Beispiel 2. Das Fahrzeug nach Beispiel 1, wobei das Gateway-Modul konfiguriert ist, um:
- die Autorisierungsinformationen mithilfe von Sitzungsinformationen zu entschlüsseln, um einen entschlüsselten Schlüssel zu erhalten, und
- zu überprüfen, dass die Programmierung autorisiert ist, wenn der entschlüsselte Schlüssel einem gespeicherten Schlüssel entspricht.
- decrypt the authorization information using session information to obtain a decrypted key, and
- verify that programming is authorized if the decrypted key matches a stored key.
Beispiel 3. Das Fahrzeug nach Beispiel 1 oder 2, wobei das Aktualisierungsmodul dem Gateway-Modul eine Programmierungsanfrage bereitstellt, wobei das Gateway-Modul konfiguriert ist, um die Sitzungsinformationen als Antwort auf die Programmierungsanfrage vom Aktualisierungsmodul zu erzeugen.Example 3. The vehicle of example 1 or 2, wherein the update module provides a programming request to the gateway module, wherein the gateway module is configured to generate the session information in response to the programming request from the update module.
Beispiel 4. Das Fahrzeug nach Beispiel 3, wobei das Gateway-Modul konfiguriert ist, um die Sitzungsinformationen basierend zumindest zum Teil auf eine Uhrzeit in Beziehung mit der Programmierungsanfrage dynamisch zu erzeugen.Example 4. The vehicle of example 3, wherein the gateway module is configured to dynamically generate the session information based at least in part on a time of day related to the programming request.
Beispiel 5. Das Fahrzeug nach Beispiel 3, wobei das Aktualisierungsmodul konfiguriert ist, um einer Remotevorrichtung die Sitzungsinformationen bereitzustellen, wobei die Remotevorrichtung die Autorisierungsinformationen durch Verschlüsselung eines Schlüssels in Beziehung mit dem Fahrzeug mithilfe der vom Aktualisierungsmodul bereitgestellten Sitzungsinformationen erzeugt, nachdem festgestellt wurde, dass die Programmierung des ersten Moduls autorisiert ist.Example 5. The vehicle of example 3, wherein the update module is configured to provide the session information to a remote device, the remote device generating the authorization information by encrypting a key associated with the vehicle using the session information provided by the update module after determining that the Programming of the first module is authorized.
Beispiel 6. Das Fahrzeug nach einem der Beispiele 1 - 5, welches ferner ein erstes Kommunikationsnetzwerk und ein zweites Kommunikationsnetzwerk umfasst, wobei das Gateway-Modul zwischen dem ersten Kommunikationsnetzwerk und dem zweiten Kommunikationsnetzwerk gekoppelt ist.Example 6. The vehicle of any of examples 1-5, further comprising a first communication network and a second communication network, wherein the gateway module is coupled between the first communication network and the second communication network.
Beispiel 7. Das Fahrzeug nach Beispiel 6, wobei das Aktualisierungsmodul an das erste Kommunikationsnetzwerk gekoppelt ist und das erste Modul an das zweite Kommunikationsnetzwerk gekoppelt ist.Example 7. The vehicle of example 6, wherein the update module is coupled to the first communication network and the first module is coupled to the second communication network.
Beispiel 8. Das Fahrzeug nach Bespiel 6 oder 7, wobei das erste Kommunikationsnetzwerk ein Ethernet-Netzwerk und das zweite Kommunikationsnetzwerk ein Controller Area Network (CAN) ist.Example 8. The vehicle of example 6 or 7, wherein the first communication network is an Ethernet network and the second communication network is a controller area network (CAN).
Beispiel 9. Das Fahrzeug nach Beispiel 7, wobei das Aktualisierungsmodul kommunikativ über ein externes Kommunikationsnetzwerk an eine Remotevorrichtung gekoppelt ist, um die Autorisierungsinformationen von der Remotevorrichtung zu erhalten, wobei die Remotevorrichtung die Autorisierungsinformationen erzeugt, nachdem festgestellt wurde, dass die Programmierung des ersten Moduls autorisiert ist.Example 9. The vehicle of example 7, wherein the update module is communicatively coupled to a remote device via an external communications network to obtain the authorization information from the remote device, the remote device generating the authorization information after determining that the programming of the first module authorizes is.
Beispiel 10. Das Fahrzeug nach einem der Beispiele 1 - 9, wobei das erste Modul konfiguriert ist, um, basierend zumindest zum Teil auf den Programmierungsdaten, eine Anwendung auf dem ersten Modul zu aktualisieren.Example 10. The vehicle of any of examples 1-9, wherein the first module is configured to update an application on the first module based at least in part on the programming data.
Beispiel 11. Das Fahrzeug nach Beispiel 10, wobei die Programmierungsdaten eine Reihe Anweisungen umfassen, wobei das erste Modul die Anwendung durch Ausführung der Reihe Anweisungen aktualisiert.Example 11. The vehicle of example 10, wherein the programming data includes a series of instructions, the first module updating the application by executing the series of instructions.
Beispiel 12. Ein Verfahren zur Programmierung eines Fahrzeugmoduls, wobei das Verfahren umfasst:
- Erzeugen, durch ein Gateway-Modul, von Sitzungsinformationen für eine Programmierungsaktualisierung für das kommunikativ an das Gateway-Modul gekoppelte Fahrzeugmodul,
- Entschlüsseln von Autorisierungsinformationen mithilfe der Sitzungsinformationen, um einen entschlüsselten Schlüssel zu erhalten,
- Authentifizieren der Programmierungsaktualisierung basierend zumindest zum Teil auf dem entschlüsselten Schlüssel, und
- Bereitstellen, über das Gateway-Modul, von Programmierungsdaten für die Programmierungsaktualisierung für das Fahrzeugmodul nach Authentifizierung der Programmierungsaktualisierung.
- generating, by a gateway module, session information for a programming update for the vehicle module communicatively coupled to the gateway module,
- decrypting authorization information using the session information to obtain a decrypted key,
- authenticating the programming update based at least in part on the decrypted key, and
- providing, via the gateway module, programming data for the programming update for the vehicle module after authentication of the programming update.
Beispiel 13. Das Verfahren nach Beispiel 12, das ferner die Aktualisierung des Fahrzeugmoduls basierend zumindest zum Teil auf den Programmierungsdaten nach Bereitstellung der Programmierungsdaten für die Programmierungsaktualisierung für das Fahrzeugmodul umfasst.Example 13. The method of example 12, further comprising updating the vehicle module based at least in part on the programming data after providing the programming data for the programming update to the vehicle module.
Beispiel 14. Das Verfahren nach Beispiel 12 oder 13, wobei die Programmierungsdaten eine Reihe Anweisungen umfassen, wobei die Aktualisierung des Fahrzeugmoduls umfasst, dass das Fahrzeugmodul die Reihe Anweisungen ausführt, um eine Anwendung auf dem Fahrzeugmodul zu aktualisieren.Example 14. The method of example 12 or 13, wherein the programming data comprises a series of instructions, wherein updating the vehicle module comprises the vehicle module executing the series of instructions to update an application on the vehicle module.
Beispiel 15. Das Verfahren nach einem der Beispiele 12 - 14, wobei die Authentifizierung der Programmierungsaktualisierung umfasst:
- Vergleichen des entschlüsselten Schlüssels mit einem gespeicherten Schlüssel, der mit einem Fahrzeug, das das Fahrzeugmodul enthält, in Beziehung steht, durch das Gateway-Modul, und
- Authentifizieren der Programmierungsaktualisierung, wenn der entschlüsselte Schlüssel dem gespeicherten Schlüssel entspricht.
- comparing, by the gateway module, the decrypted key to a stored key associated with a vehicle containing the vehicle module, and
- Authenticating the programming update if the decrypted key matches the stored key.
Beispiel 16. Das Verfahren nach Beispiel 15, wobei die Erzeugung der Sitzungsinformationen die dynamische Erzeugung eines öffentlichen Schlüssels basierend zumindest zum Teil auf dem gespeicherten Schlüssel umfasst.Example 16. The method of example 15, wherein generating the session information comprises dynamically generating a public key based at least in part on the stored key.
Beispiel 17. Das Verfahren nach Beispiel 15, welches ferner umfasst:
- Bereitstellen der Sitzungsinformationen für eine Remotevorrichtung, wobei die Remotevorrichtung die Autorisierungsinformationen durch Verschlüsselung des gespeicherten Schlüssels mithilfe der Sitzungsinformationen als Antwort auf die Feststellung, dass die Programmierungsaktualisierung basierend zumindest zum Teil auf den Sitzungsinformationen autorisiert ist, erzeugt, und
- Erhalten der Autorisierungsinformationen von der Remotevorrichtung.
- providing the session information to a remote device, wherein the remote device generates the authorization information by encrypting the stored key using the session information in response to determining that the programming update is authorized based at least in part on the session information, and
- Obtaining authorization information from the remote device.
Beispiel 18. Das Verfahren nach Beispiel 12, welches ferner umfasst:
- Bereitstellen der Sitzungsinformationen für eine Remotevorrichtung, wobei die Remotevorrichtung die Autorisierungsinformationen basierend zumindest zum Teil auf den Sitzungsinformationen als Antwort auf die Feststellung, dass die Programmierungsaktualisierung basierend zumindest zum Teil auf den Sitzungsinformationen autorisiert ist, erzeugt, und
- Erhalten der Autorisierungsinformationen von der Remotevorrichtung.
- providing the session information to a remote device, wherein the remote device generates the authorization information based at least in part on the session information in response to determining that the programming update is authorized based at least in part on the session information, and
- Obtaining authorization information from the remote device.
Beispiel 19. Ein Fahrzeugsystem, umfassend:
- ein erstes Kommunikationsnetzwerk,
- ein zweites Kommunikationsnetzwerk,
- ein an das zweite Kommunikationsnetzwerk gekoppeltes Fahrzeugmodul,
- ein an das erste Kommunikationsnetzwerk gekoppeltes Aktualisierungsmodul und
- ein an das erste Kommunikationsnetzwerk und das zweite Kommunikationsnetzwerk gekoppeltes Gateway-Modul, wobei:
- das Aktualisierungsmodul konfiguriert ist, um Programmierungsdaten für das Fahrzeugmodul zu erhalten, Autorisierungsinformationen von der Remotevorrichtung zu erhalten und die Autorisierungsinformationen und die Programmierungsdaten dem Gateway-Modul über das erste Kommunikationsnetzwerk bereitzustellen,
- das Gateway-Modul konfiguriert ist, um dem Fahrzeugmodul nach Authentifizierung der Autorisierungsinformationen Programmierungsdaten bereitzustellen, und
- das Fahrzeugmodul konfiguriert ist, um eine Anwendung am Fahrzeug zu aktualisieren, die zumindest zum Teil auf den Programmierungsdaten nach Erhalt der Programmierungsdaten vom Gateway-Modul basiert.
- a first communication network,
- a second communication network,
- a vehicle module coupled to the second communication network,
- an update module coupled to the first communication network and
- a gateway module coupled to the first communication network and the second communication network, wherein:
- the update module is configured to obtain programming data for the vehicle module, obtain authorization information from the remote device, and provide the authorization information and the programming data to the gateway module via the first communication network,
- the gateway module is configured to provide programming data to the vehicle module upon authentication of the authorization information, and
- the vehicle module is configured to update an application on the vehicle based at least in part on the programming data upon receipt of the programming data from the gateway module.
Beispiel 20. Das Fahrzeugsystem nach Beispiel 19, wobei:
- das Aktualisierungsmodul an ein externes Kommunikationsnetzwerk gekoppelt ist, um Sitzungsinformationen an die Remotevorrichtung über das externe Kommunikationsnetzwerk zu übertragen und die Autorisierungsinformationen von der Remotevorrichtung über das externe Kommunikationsnetzwerk zu erhalten, wobei die Remotevorrichtung die Autorisierungsinformationen zumindest zum Teil auf den Sitzungsinformationen basierend als Antwort auf die Feststellung, dass die Programmierung des Fahrzeugmoduls zumindest zum Teil auf den Sitzungsinformationen basiert, erzeugt, und
- das Gateway-Modul konfiguriert ist, um die Sitzungsinformationen für die Programmierungsdaten zu erzeugen, die Autorisierungsinformationen mithilfe der Sitzungsinformationen zu entschlüsseln, um einen entschlüsselten Schlüssel zu erhalten, und die Programmierungsdaten dem Fahrzeugmodul nach Feststellung, dass der entschlüsselte Schlüssel dem gespeicherten Schlüssel entspricht, bereitzustellen.
- the update module is coupled to an external communications network to transmit session information to the remote device over the external communications network and to obtain the authorization information from the remote device over the external communications network, wherein the remote device updates the authorization information based at least in part on the session information in response to the determination that the programming of the vehicle module is based at least in part on the session information, generates, and
- the gateway module is configured to generate the session information for the programming data, to decrypt the authorization information using the session information to obtain a decrypted key, and to provide the programming data to the vehicle module upon determining that the decrypted key matches the stored key.
Claims (6)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/064,425 | 2013-10-28 | ||
US14/064,425 US9374355B2 (en) | 2013-10-28 | 2013-10-28 | Programming vehicle modules from remote devices and related methods and systems |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102014114607A1 DE102014114607A1 (en) | 2015-04-30 |
DE102014114607B4 true DE102014114607B4 (en) | 2023-03-23 |
Family
ID=52811845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102014114607.7A Active DE102014114607B4 (en) | 2013-10-28 | 2014-10-08 | Programming vehicle modules with remote devices and associated methods and systems |
Country Status (3)
Country | Link |
---|---|
US (1) | US9374355B2 (en) |
CN (1) | CN104580352B (en) |
DE (1) | DE102014114607B4 (en) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9650934B2 (en) | 2011-11-04 | 2017-05-16 | Honeywell spol.s.r.o. | Engine and aftertreatment optimization system |
US20130111905A1 (en) | 2011-11-04 | 2013-05-09 | Honeywell Spol. S.R.O. | Integrated optimization and control of an engine and aftertreatment system |
US9923719B2 (en) * | 2014-12-09 | 2018-03-20 | Cryptography Research, Inc. | Location aware cryptography |
US9648023B2 (en) * | 2015-01-05 | 2017-05-09 | Movimento Group | Vehicle module update, protection and diagnostics |
EP3051367B1 (en) | 2015-01-28 | 2020-11-25 | Honeywell spol s.r.o. | An approach and system for handling constraints for measured disturbances with uncertain preview |
EP3056706A1 (en) | 2015-02-16 | 2016-08-17 | Honeywell International Inc. | An approach for aftertreatment system modeling and model identification |
JP6197000B2 (en) * | 2015-07-03 | 2017-09-13 | Kddi株式会社 | System, vehicle, and software distribution processing method |
DE102015112040A1 (en) * | 2015-07-23 | 2017-01-26 | Phoenix Contact Gmbh & Co. Kg | Method and system for firmware update of a process control device |
EP3734375B1 (en) | 2015-07-31 | 2023-04-05 | Garrett Transportation I Inc. | Quadratic program solver for mpc using variable ordering |
US10272779B2 (en) | 2015-08-05 | 2019-04-30 | Garrett Transportation I Inc. | System and approach for dynamic vehicle speed optimization |
JP6502832B2 (en) * | 2015-11-13 | 2019-04-17 | 株式会社東芝 | Inspection apparatus, communication system, mobile unit and inspection method |
WO2017099641A1 (en) * | 2015-12-07 | 2017-06-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and arrangements for authenticating a communication device |
CN105653289B (en) * | 2016-01-08 | 2020-06-23 | 上海创程车联网络科技有限公司 | Vehicle-mounted software control management device and application method thereof |
CN105480176B (en) * | 2016-01-08 | 2019-09-13 | 上海创程车联网络科技有限公司 | Automobile software management system and its operating method |
DE102016200775A1 (en) | 2016-01-21 | 2017-07-27 | Robert Bosch Gmbh | Method and device for protecting a vehicle against cyber attacks |
US10415492B2 (en) | 2016-01-29 | 2019-09-17 | Garrett Transportation I Inc. | Engine system with inferential sensor |
US10232709B2 (en) | 2016-02-19 | 2019-03-19 | Xevo Inc. | Dynamic application execution for automobile and cloud hybrid environments |
CN105978862A (en) * | 2016-04-26 | 2016-09-28 | 北京经纬恒润科技有限公司 | Data processing method and data processing system |
US10036338B2 (en) | 2016-04-26 | 2018-07-31 | Honeywell International Inc. | Condition-based powertrain control system |
US10124750B2 (en) | 2016-04-26 | 2018-11-13 | Honeywell International Inc. | Vehicle security module system |
US10126136B2 (en) | 2016-06-14 | 2018-11-13 | nuTonomy Inc. | Route planning for an autonomous vehicle |
US11092446B2 (en) | 2016-06-14 | 2021-08-17 | Motional Ad Llc | Route planning for an autonomous vehicle |
US10309792B2 (en) | 2016-06-14 | 2019-06-04 | nuTonomy Inc. | Route planning for an autonomous vehicle |
US10829116B2 (en) | 2016-07-01 | 2020-11-10 | nuTonomy Inc. | Affecting functions of a vehicle based on function-related information about its environment |
KR102598613B1 (en) * | 2016-07-21 | 2023-11-07 | 삼성전자주식회사 | System and method for providing vehicle information based on personal certification and vehicle certification |
US11212109B2 (en) * | 2016-08-10 | 2021-12-28 | Kddi Corporation | Data provision system, data security device, data provision method, and computer program |
US11146401B2 (en) * | 2016-08-10 | 2021-10-12 | Ford Global Technologies, Llc | Software authentication before software update |
US10650621B1 (en) | 2016-09-13 | 2020-05-12 | Iocurrents, Inc. | Interfacing with a vehicular controller area network |
US10491405B2 (en) * | 2016-10-04 | 2019-11-26 | Denso International America, Inc. | Cryptographic security verification of incoming messages |
US10331129B2 (en) | 2016-10-20 | 2019-06-25 | nuTonomy Inc. | Identifying a stopping place for an autonomous vehicle |
US10857994B2 (en) | 2016-10-20 | 2020-12-08 | Motional Ad Llc | Identifying a stopping place for an autonomous vehicle |
US10681513B2 (en) | 2016-10-20 | 2020-06-09 | nuTonomy Inc. | Identifying a stopping place for an autonomous vehicle |
US10473470B2 (en) | 2016-10-20 | 2019-11-12 | nuTonomy Inc. | Identifying a stopping place for an autonomous vehicle |
EP3548729B1 (en) | 2016-11-29 | 2023-02-22 | Garrett Transportation I Inc. | An inferential flow sensor |
US10705820B2 (en) * | 2017-02-02 | 2020-07-07 | Ford Global Technologies, Llc | Method and apparatus for secure multi-cycle vehicle software updates |
CN107104791B (en) * | 2017-03-29 | 2019-06-28 | 江苏大学 | A kind of in-vehicle network one-time pad communication means hidden based on ECU identity |
US10104547B1 (en) * | 2017-05-24 | 2018-10-16 | GM Global Technology Operations LLC | Automatic wireless communication authentication |
US11057213B2 (en) | 2017-10-13 | 2021-07-06 | Garrett Transportation I, Inc. | Authentication system for electronic control unit on a bus |
US10594666B2 (en) | 2017-12-19 | 2020-03-17 | Micron Technology, Inc. | Secure message including a vehicle private key |
US11178133B2 (en) * | 2017-12-19 | 2021-11-16 | Micron Technology, Inc. | Secure vehicle control unit update |
KR102540025B1 (en) * | 2018-01-25 | 2023-06-02 | 엘지전자 주식회사 | Vehicle information inquiry method |
CN109062181A (en) * | 2018-07-26 | 2018-12-21 | 北京车和家信息技术有限公司 | The update method and device of vehicle control instruction |
US10827326B2 (en) * | 2018-10-22 | 2020-11-03 | GM Global Technology Operations LLC | User-defined vehicle notification |
US11356425B2 (en) | 2018-11-30 | 2022-06-07 | Paccar Inc | Techniques for improving security of encrypted vehicle software updates |
US11449327B2 (en) | 2018-11-30 | 2022-09-20 | Paccar Inc | Error-resilient over-the-air software updates for vehicles |
JP7318230B2 (en) * | 2019-02-22 | 2023-08-01 | 株式会社デンソー | Center equipment, data distribution system and distribution control program |
CN109951367B (en) * | 2019-03-29 | 2021-06-04 | 重庆长安汽车股份有限公司 | Encryption method for vehicle control protocol of to-be-opened vehicle platform |
CN113346989B (en) * | 2020-03-02 | 2023-02-07 | 北京新能源汽车股份有限公司 | External device access authentication method and device, gateway and electric vehicle |
JP7279668B2 (en) * | 2020-03-12 | 2023-05-23 | トヨタ自動車株式会社 | Automotive controller |
CN112399379A (en) * | 2020-10-28 | 2021-02-23 | 星火科技技术(深圳)有限责任公司 | Intelligent Internet of vehicles communication protocol method, device, equipment and storage medium |
AU2022316124A1 (en) * | 2021-07-21 | 2024-01-18 | Abbott Diabetes Care Inc. | Over-the-air programming of sensing devices |
US11606446B1 (en) * | 2021-09-13 | 2023-03-14 | International Business Machines Corporation | Microapplication composition |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7418596B1 (en) | 2002-03-26 | 2008-08-26 | Cellco Partnership | Secure, efficient, and mutually authenticated cryptographic key distribution |
US7869906B2 (en) | 2007-01-08 | 2011-01-11 | Ford Global Technologies | Wireless gateway apparatus and method of bridging data between vehicle based and external data networks |
US20130079950A1 (en) | 2011-09-22 | 2013-03-28 | Kia Motors Corporation | Vehicle upgrade system and method thereof |
US8543805B2 (en) | 2010-04-21 | 2013-09-24 | Citrix Systems, Inc. | Systems and methods for split proxying of SSL via WAN appliances |
US20130318357A1 (en) | 2011-02-11 | 2013-11-28 | Siemens Health Care Diagnostics Inc. | System and Method for Secure Software Update |
Family Cites Families (25)
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 |
US7979177B2 (en) | 2007-04-30 | 2011-07-12 | Ford Motor Company | System and method for updating vehicle computing platform configuration information |
WO2009147734A1 (en) | 2008-06-04 | 2009-12-10 | 株式会社ルネサステクノロジ | Vehicle, maintenance device, maintenance service system, and maintenance service method |
US20100082559A1 (en) | 2008-09-19 | 2010-04-01 | General Motors Corporation | Method of managing a schedule-based software package update |
DE102009045711A1 (en) | 2008-10-15 | 2010-04-22 | Continental Teves Ag & Co. Ohg | Data transmission to a vehicle and loading of the vehicle |
US9304005B2 (en) * | 2009-12-04 | 2016-04-05 | GM Global Technology Operations LLC | Application programming interface (API) for navigation applications that merges incremental updates with existing map database |
KR20110092007A (en) | 2010-02-08 | 2011-08-17 | 주식회사 만도 | Software downloading system and method for a vehicle using the same |
CN201804238U (en) * | 2010-05-27 | 2011-04-20 | 金龙联合汽车工业(苏州)有限公司 | Vehicle performance remote monitoring system |
KR20120062539A (en) | 2010-12-06 | 2012-06-14 | 현대자동차주식회사 | Vehicle information update system and method using wireless access point connected to telematics server |
US8688313B2 (en) * | 2010-12-23 | 2014-04-01 | Aes Technologies, Llc. | Remote vehicle programming system and method |
JP5267598B2 (en) | 2011-02-25 | 2013-08-21 | トヨタ自動車株式会社 | Data rewrite support system and data rewrite support method for vehicle control device |
US9126545B2 (en) | 2011-02-25 | 2015-09-08 | GM Global Technology Operations LLC | Vehicle systems activation methods and applications |
JP5479408B2 (en) | 2011-07-06 | 2014-04-23 | 日立オートモティブシステムズ株式会社 | In-vehicle network system |
JP5435022B2 (en) * | 2011-12-28 | 2014-03-05 | 株式会社デンソー | In-vehicle system and communication method |
JP5950225B2 (en) | 2012-01-10 | 2016-07-13 | クラリオン株式会社 | Server device, in-vehicle terminal, information communication method, and information distribution system |
JP5664562B2 (en) | 2012-01-17 | 2015-02-04 | 株式会社デンソー | Relay device |
JP5941315B2 (en) | 2012-03-29 | 2016-06-29 | 富士通テン株式会社 | Vehicle control apparatus and vehicle control system |
US8966248B2 (en) | 2012-04-06 | 2015-02-24 | GM Global Technology Operations LLC | Secure software file transfer systems and methods for vehicle control modules |
US9209977B2 (en) | 2012-04-11 | 2015-12-08 | General Motors Llc | Processing messages received at a vehicle |
JP5958535B2 (en) | 2012-05-29 | 2016-08-02 | トヨタ自動車株式会社 | Authentication system and authentication method |
US8948934B2 (en) | 2012-09-07 | 2015-02-03 | The Boeing Company | Methods and systems for vehicle broadband connection to a data network |
KR101480605B1 (en) | 2013-04-29 | 2015-01-09 | 현대자동차주식회사 | Accessing system for vehicle network and method of the same |
CN103208312B (en) * | 2013-05-02 | 2015-09-09 | 哈尔滨工业大学 | A kind of method improving storage accuracy of automotive electronic control unit mileage data |
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 |
-
2013
- 2013-10-28 US US14/064,425 patent/US9374355B2/en active Active
-
2014
- 2014-10-08 DE DE102014114607.7A patent/DE102014114607B4/en active Active
- 2014-10-28 CN CN201410585344.3A patent/CN104580352B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7418596B1 (en) | 2002-03-26 | 2008-08-26 | Cellco Partnership | Secure, efficient, and mutually authenticated cryptographic key distribution |
US7869906B2 (en) | 2007-01-08 | 2011-01-11 | Ford Global Technologies | Wireless gateway apparatus and method of bridging data between vehicle based and external data networks |
US8543805B2 (en) | 2010-04-21 | 2013-09-24 | Citrix Systems, Inc. | Systems and methods for split proxying of SSL via WAN appliances |
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 |
---|---|
US9374355B2 (en) | 2016-06-21 |
CN104580352B (en) | 2018-04-27 |
CN104580352A (en) | 2015-04-29 |
DE102014114607A1 (en) | 2015-04-30 |
US20150121071A1 (en) | 2015-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102014114607B4 (en) | Programming vehicle modules with remote devices and associated methods and systems | |
DE102014114606B4 (en) | Programming vehicle modules with remote devices and associated methods and systems | |
DE112012002836B4 (en) | Vehicle-based network system | |
DE102017113295A1 (en) | FIREWALL REMOTE UPGRADE FOR BORENIGEN WEB SERVER TELEMATICS SYSTEM | |
DE102018101856A1 (en) | Security of updates over an air interface | |
DE102016115545A1 (en) | MULTI-STAGE SECURE VEHICLE SOFTWARE UPGRADE | |
DE102018100015A1 (en) | CHANGE VERIFICATION BEFORE SHUT-OFF | |
DE102020124163A1 (en) | VERIFICATION OF VEHICLE DATA | |
DE102017102539A1 (en) | SAFE TUNNELING FOR SAFETY OF ASSOCIATED APPLICATIONS | |
EP2689553B1 (en) | Motor vehicle control unit having a cryptographic device | |
DE102018111262A1 (en) | OPERATING A KEY PENDANT IN A CAR SHARING SYSTEM | |
DE102017102388A1 (en) | RULES OF VEHICLE ACCESS USING CRYPTOGRAPHIC PROCEDURE | |
DE102016110169A1 (en) | Theft prevention for autonomous vehicles | |
DE102018129843A1 (en) | Establishing a secure short-range wireless communication link on a vehicle | |
DE102017119373A1 (en) | UPDATING THE SERVERS OF THE NETWORK ADDRESS OF THE MOBILE DEVICE | |
DE102018104079A1 (en) | SECURE END TO END VEHICLE ECU RELEASE IN A HALF OFFLINE ENVIRONMENT | |
DE102013108020A1 (en) | Authentication scheme for activating a special privilege mode in a secure electronic control unit | |
DE102008056745A1 (en) | Device for controlling a vehicle function and method for updating a control device | |
DE102017107879A1 (en) | Message authentication library | |
DE102019124914A1 (en) | CLOUDED AUTHORIZED VEHICLE CONTROL | |
WO2019081395A1 (en) | Method and device for updating software of a motor vehicle control unit | |
DE102019100780A1 (en) | Automatic feedback system for vehicle software updates | |
DE102019121164A1 (en) | VEHICLE BASED PASSWORD | |
US11882213B2 (en) | Method for key generation upon request by a secure access device, using an electronic control unit of a vehicle | |
EP3230131B1 (en) | Method for controlling the operation of at least one functional component of a motor vehicle and motor vehicle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04L0009320000 Ipc: G06F0021100000 |
|
R016 | Response to examination communication | ||
R082 | Change of representative |
Representative=s name: SCHWEIGER, MARTIN, DIPL.-ING. UNIV., DE |
|
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |