-
Diese Offenbarung bezieht sich allgemein auf Verifikation von Softwareaktualisierungen, die einem Fahrzeug unter Verwendung einer mit dem Fahrzeug assoziierten Benutzervorrichtung geliefert werden.
-
Zum Aktualisieren einer Softwareversion einer Komponente eines Fahrzeugs kann das Fahrzeug zu einem Vertragshändler gefahren und von einem Techniker gewartet werden. Der Techniker kann ein System verwenden, das die einzelnen Softwarestufen jeder Komponente im Fahrzeug sowie verfügbare Softwareaktualisierungen verfolgt. Der Techniker kann die durch das System angezeigten Softwareaktualisierungen manuell anwenden und jegliche Änderungen zurück in das System eintragen.
-
In einer ersten veranschaulichenden Ausführungsform beinhaltet ein System ein mobiles Gerät, das zur Verifikation von Softwareaktualisierungen mit einem Fahrzeug assoziiert ist, das dafür ausgelegt ist, eine Nachricht zu empfangen, die einen Verschlüsselungsschlüssel, mit dem eine Softwareaktualisierung für das Fahrzeug verschlüsselt wurde, beinhaltet, eine Benutzerschnittstelle vorzusehen, die eine Benutzerverifikation der Installation der Softwareaktualisierung anfordert, und, als Reaktion auf den Empfang der Benutzerverifikation, den Verschlüsselungsschlüssel an das Fahrzeug zu liefern, um es dem Fahrzeug zu ermöglichen, die Softwareaktualisierung zu entschlüsseln.
-
In einer zweiten veranschaulichenden Ausführungsform beinhaltet ein System ein Fahrzeugcomputersystem, das dafür ausgelegt ist, eine Softwareaktualisierung von einem Aktualisierungsserver zu erhalten, eine Anforderung an den Aktualisierungsserver zu senden, die anfordert, dass ein Verschlüsselungsschlüssel, der verwendet wurde, die Softwareaktualisierung zu verschlüsseln, zwecks Verifikation der Softwareaktualisierungen an ein mit dem Fahrzeug assoziiertes mobiles Gerät zu liefern, und als Reaktion auf den Empfang der Benutzerverifikation durch das mobile Gerät den Verschlüsselungsschlüssel von dem mobilen Gerät zu empfangen, um die Softwareaktualisierung zu entschlüsseln.
-
In einer dritten veranschaulichenden Ausführungsform beinhaltet ein System einen Aktualisierungsserver, der dafür ausgelegt ist, eine Softwareaktualisierung, die unter Verwendung eines Verschlüsselungsschlüssels verschlüsselt wurde, an ein Fahrzeug zu senden, eine Anforderung von dem Fahrzeug zu empfangen, die anfordert, den zum Verschlüsseln der Softwareaktualisierung verwendeten Verschlüsselungsschlüssel zwecks Verifikation der Softwareaktualisierungen an ein mit dem Fahrzeug assoziiertes mobiles Gerät zu liefern, und den Verschlüsselungsschlüssel als Reaktion auf die Anforderung an das mobile Gerät zu senden.
-
1 veranschaulicht eine beispielhafte Blocktopologie für ein fahrzeugbasiertes Computersystem für ein Fahrzeug;
-
2 veranschaulicht ein beispielhaftes System zum Bereitstellen einer Multifaktorverifikation einer Softwareaktualisierung an dem Fahrzeug mittels eines mobilen Geräts;
-
3 veranschaulicht eine beispielhafte Benutzerschnittstelle zum Assoziieren eines mobilen Geräts mit einem Fahrzeug zur Verifikation von Softwareaktualisierungen;
-
4 veranschaulicht eine beispielhafte Benutzerschnittstelle zum Verwenden eines mobilen Geräts, um eine Installation von Softwareaktualisierungen zu bestätigen;
-
5A veranschaulicht einen beispielhaften Datenfluss zum Bereitstellen einer Multifaktorverifikation einer Softwareaktualisierung an dem Fahrzeug mittels eines mobilen Geräts;
-
5B veranschaulicht einen alternativen beispielhaften Datenfluss zum Bereitstellen einer Multifaktorverifikation einer Softwareaktualisierung an dem Fahrzeug mittels eines mobilen Geräts;
-
5C veranschaulicht einen zusätzlichen alternativen beispielhaften Datenfluss zum Bereitstellen einer Multifaktorverifikation einer Softwareaktualisierung an dem Fahrzeug mittels eines mobilen Geräts;
-
6 veranschaulicht einen beispielhaften Prozess zum Bereitstellen von multifaktorverschlüsselten Softwareaktualisierungen an dem Fahrzeug;
-
7 veranschaulicht einen alternativen beispielhaften Prozess zum Bereitstellen von multifaktorverschlüsselten Softwareaktualisierungen an dem Fahrzeug;
-
8 veranschaulicht einen beispielhaften Prozess zum Bestätigen der Installation von Softwareaktualisierungen an dem Fahrzeug; und
-
9 veranschaulicht einen beispielhaften Prozess zum Installieren von multifaktorverschlüsselten Softwareaktualisierungen durch das Fahrzeug.
-
Wie erforderlich, werden hier detaillierte Ausführungsformen der vorliegenden Erfindung offenbart; es versteht sich jedoch, dass die offenbarten Ausführungsformen rein beispielhaft für die Erfindung sind, die in verschiedenen und alternativen Formen ausgestaltet werden kann. Die Figuren sind nicht notwendigerweise maßstabsgetreu; einige Merkmale können übertrieben oder minimiert sein, um Details von bestimmten Komponenten zu zeigen. Die speziellen strukturellen und funktionalen Details, die hier offenbart werden, sollen daher nicht als einschränkend interpretiert werden, sondern lediglich als eine repräsentative Basis, um einem Fachmann zu lehren, wie die vorliegende Erfindung auf verschiedene Weisen auszuüben ist.
-
Softwareaktualisierungen können über verschiedene Online-Mechanismen an ein Fahrzeug geliefert werden. Zum Beispiel kann ein Fahrzeug ein internes Modem oder ein verbundenes mobiles Gerät als eine Datenverbindung verwenden, um eine Softwareaktualisierung Over-the-Air abzurufen.
-
Um die Sicherheit der Softwareaktualisierung sicherzustellen sowie sicherzustellen, dass am Fahrzeug unautorisierte Aktualisierungen nicht böswillig bereitgestellt werden, kann der Aktualisierungsserver dafür ausgelegt sein, die Softwareaktualisierung zur Entschlüsselung durch das Fahrzeug zu verschlüsseln. Die Verschlüsselung kann unter Verwendung eines Verschlüsselungsfaktors, wie einem symmetrischen Schlüssel, der dem Fahrzeug und dem Aktualisierungsserver, aber keinen Drittparteien, bekannt ist, durchgeführt werden. Beim Erhalt der verschlüsselten Softwareaktualisierung kann das Fahrzeug den Verschlüsselungsfaktor verwenden, um die Softwareaktualisierung zur Installation zu entschlüsseln.
-
Um die Sicherheit der Softwareaktualisierung weiter zu verbessern, kann eine zweite Stufe oder ein zweiter Faktor der Verschlüsselung unter Verwendung eines zweiten Verschlüsselungsfaktors, der dem Fahrzeug unbekannt ist, durchgeführt werden. Zum Beispiel kann der Aktualisierungsserver, vor dem Verschlüsseln der Softwareaktualisierung unter Verwendung des ersten Faktors, die Softwareaktualisierung weiter unter Verwendung eines zweiten Faktors (zum Beispiel eines asymmetrischen Schlüssels) verschlüsseln. Das Fahrzeug kann die verschlüsselte Aktualisierung erhalten und die Aktualisierung gemäß dem ersten, dem Fahrzeug bekannten Faktor entschlüsseln. Um die Entschlüsselung der Aktualisierungsdatei abzuschließen, kann dann das Fahrzeug den zweiten Faktor von dem Aktualisierungsserver anfordern.
-
Allerdings kann der Aktualisierungsserver, anstatt dem Fahrzeug den zweiten Faktor zu liefern, durch Liefern einer Nachricht, die den zweiten Faktor an ein Telefon oder ein anderes mit dem Fahrzeug assoziiertes mobiles Gerät liefert, auf die Anforderung antworten. In einigen Beispielen kann die Nachricht dem assoziierten Gerät als eine Short-Message-Service(SMS)-Nachricht oder einem anderen Typ einer Instant-Message oder als eine Push-Notification an eine Anwendung, die von dem assoziierten Gerät ausgeführt wird, geliefert werden. Das assoziierte Gerät kann die Nachricht, die den zweiten Faktor enthält, empfangen und kann den zweiten Faktor an das Fahrzeug liefern, um den Entschlüsselungsprozess abzuschließen. In manchen Fällen kann das assoziierte Gerät dafür ausgelegt sein, den Benutzer aufzufordern, eine Bestätigung für die an dem Fahrzeug durchzuführende Softwareaktualisierung einzugeben. Als eine Möglichkeit kann das assoziierte Gerät die zweite Faktorinformation an das Fahrzeug liefern, wenn der Benutzer der Installation der Softwareaktualisierung zustimmt. Als eine weitere Möglichkeit kann das assoziierte Gerät dem Benutzer die zweite Faktorinformation anzeigen und, falls der Benutzer zustimmt, die Aktualisierung durchzuführen, kann er oder sie die zweite Faktorinfomation in das Fahrzeug eingeben.
-
Demzufolge kann das System unter Verwendung des assoziierten Geräts sicherstellen, dass nur eine Positivliste von Benutzern, wie die Fahrzeugeigner, in der Lage sind, die Fahrzeugsoftware zu aktualisieren. Falls ein anderer Benutzer versucht, die Firmwareaktualisierung durchzuführen, kann das assoziierte Telefon des Eigners den Benutzer um Erlaubnis fragen, die Softwareaktualisierung zu installieren, wodurch der Eigner über den nichtautorisierten Aktualisierungsversuch in Kenntnis gesetzt wird.
-
1 veranschaulicht eine beispielhafte Blocktopologie für ein fahrzeugbasiertes Computersystem 1 (VCS für engl. vehicle-based computing system) für ein Fahrzeug 31. Ein Beispiel für solch ein fahrzeugbasiertes Computersystem 1 ist das von der FORD MOTOR COMPANY hergestellte SYNC-System. Ein mit einem fahrzeugbasierten Computersystem ausgestattetes Fahrzeug kann eine visuelle Front-End-Schnittstelle 4 enthalten, die sich im Fahrzeug 31 befindet. Der Benutzer ist möglicherweise außerdem in der Lage, mit der Schnittstelle zu interagieren, wenn sie zum Beispiel mit einem berührungsempfindlichen Bildschirm versehen ist. In einer anderen veranschaulichenden Ausführungsform erfolgt die Interaktion durch Tastendrücke, Sprachdialogsystem mit automatischer Spracherkennung und Sprachsynthese.
-
In der in 1 dargestellten veranschaulichenden Ausführungsform 1 steuert ein Prozessor 3 oder eine zentrale Verarbeitungseinheit (CPU für engl. central processing unit) 3 wenigstens einen Teil des Betriebs des fahrzeugbasierten Computersystems. Der Prozessor 3, der innerhalb des Fahrzeugs 31 vorgesehen ist, ermöglicht Onboard-Verarbeitung von Befehlen und Routinen. Ferner ist der Prozessor 3 sowohl mit einem nicht-persistenten 5 als auch mit einem persistenten Speicher 7 verbunden. In dieser veranschaulichenden Ausführungsform ist der nicht-persistente Speicher 5 ein Direktzugriffspeicher (RAM für engl. random access memory) und der persistente Speicher 7 ein Festplattenlaufwerk (HDD für engl. hard disk drive) oder Flash-Speicher. Im Allgemeinen kann ein persistenter (nichtflüchtiger) Speicher 7 alle Arten von Speicher umfassen, welche Daten speichern, wenn ein Computer oder ein anderes Gerät ausgeschaltet wird. Diese umfassen, ohne darauf beschränkt zu sein, HDDs, CDs (compact disks), DVDs (digital versatile disks), Magnetbänder, Festkörperlaufwerke, tragbare USB(universal serial bus)-Laufwerke und andere geeignete Arten von persistentem Speicher 7.
-
Der Prozessor 3 ist außerdem mit einer Anzahl von unterschiedlichen Eingängen versehen, die es dem Benutzer ermöglichen, über eine Schnittstelle mit dem Prozessor 3 in Verbindung zu treten. In dieser veranschaulichenden Ausführungsform sind ein Mikrofon 29, ein Hilfseingang 25 (für Eingang 33), ein USB-Eingang 23, ein GPS-Eingang 24, ein Bildschirm 4, der eine berührungsempfindliche Anzeige sein kann, und ein BLUETOOTH-Eingang 15 vorgesehen. Es ist auch ein Eingangswähler 51 vorgesehen, der es einem Benutzer ermöglicht, zwischen verschiedenen Eingängen zu wechseln. Sowohl die Eingaben in das Mikrofon als auch in den Hilfsanschluss werden von einem Wandler 27 von analog in digital umgewandelt, bevor sie an den Prozessor 3 weitergeleitet werden. Obwohl nicht dargestellt, können zahlreiche der Fahrzeugkomponenten und Hilfskomponenten in Kommunikation mit dem VCS 1 ein Fahrzeugnetz (wie beispielsweise, ohne darauf beschränkt zu sein, einen CAN(car area network)-Bus) verwenden, um Daten zum und vom VCS 1 (oder Komponenten davon) weiterzuleiten.
-
Ausgaben an das VCS-System 1 können eine visuelle Anzeige 4 und einen Lautsprecher 13 oder einen Stereo-Systemausgang umfassen, ohne darauf beschränkt zu sein. Der Lautsprecher 13 ist mit einem Verstärker 11 verbunden und empfängt sein Signal vom Prozessor 3 durch einen Digital-Analog-Wandler 9. Außerdem kann entlang der bei 19 bzw. 21 dargestellten bidirektionalen Datenströme auch eine Ausgabe an ein entferntes BLUETOOTH-Gerät, wie beispielsweise ein persönliches Navigationsgerät (PND für engl. personal navigation device) 54, oder ein USB-Gerät, wie beispielsweise ein Fahrzeug-Navigationsgerät 60, erfolgen.
-
In einer beispielhaften Ausführungsform verwendet das System 1 den BLUETOOTH-Transceiver 15 zum Kommunizieren 17 mit einem mobilen Gerät (ND für engl. nomadic device) 53 (z. B. einem Mobiltelefon, Smartphone, PDA oder einem beliebigen anderen Gerät mit drahtloser Fernnetzkonnektivität). Das mobile Gerät 53 kann dann verwendet werden, um mit einem Netz 61 außerhalb des Fahrzeugs 31 zum Beispiel durch Kommunikation 55 mit einem Mobilfunkturm 57 zu kommunizieren 59. In einigen Ausführungsformen kann der Turm 57 ein WiFi-Zugangspunkt sein.
-
Eine beispielhafte Kommunikation zwischen dem mobilen Gerät 53 und dem BLUETOOTH-Transceiver ist durch Kommunikation 14 dargestellt.
-
Das Koppeln eines mobilen Geräts 53 und des BLUETOOTH-Transceivers 15 kann durch eine Taste 52 oder eine ähnliche Eingabe angewiesen werden. Dementsprechend wird die CPU davon unterrichtet, dass der Onboard-BLUETOOTH-Transceiver 15 mit einem BLUETOOTH-Transceiver in einem mobilen Gerät 53 gekoppelt werden wird.
-
Daten können zum Beispiel unter Verwendung eines Datentarifs, Data-over-Voice oder von Zweiton-Mehrfrequenz(DTMF für engl. dual-tone multiple frequency)-Tönen, die mit dem mobilen Gerät 53 assoziiert sind, zwischen der CPU 3 und dem Netz 61 kommuniziert werden. Alternativ kann es wünschenswert sein, ein Bord-Modem 63 mit einer Antenne 18 einzubauen, um Daten zwischen der CPU 3 und dem Netz 61 über das Sprachband zu kommunizieren 16. Das mobile Gerät 53 kann dann verwendet werden, um mit einem Netz 61 außerhalb des Fahrzeugs 31 zum Beispiel durch Kommunikation 55 mit einem Mobilfunkturm 57 zu kommunizieren 59. In einigen Ausführungsformen kann das Modem 63 Kommunikation 20 mit dem Turm 57 zum Kommunizieren mit dem Netz 61 aufbauen. Als ein nicht einschränkendes Beispiel kann das Modem 63 ein zellulares USB-Modem 63 sein, und die Kommunikation 20 kann zellulare Kommunikation sein.
-
In einer beispielhaften Ausführungsform ist der Prozessor 3 mit einem Betriebssystem versehen, das eine API zum Kommunizieren mit Modem-Anwendungssoftware beinhaltet. Die Modem-Anwendungssoftware kann auf ein eingebettetes Modul oder eine eingebettete Firmware auf dem BLUETOOTH-Transceiver zugreifen, um drahtlose Kommunikation mit einem entfernten BLUETOOTH-Transceiver (wie zum Beispiel einem, der in einem mobilen Gerät vorzufinden ist) herzustellen. Bluetooth ist ein Teilsatz der Kurzstreckennetz(PAN für engl. personal area network)-Protokolle gemäß IEEE (Institute of Electrical and Electronics Engineers) 802. IEEE 802 LAN(local area network)-Protokolle umfassen WiFi (wireless fidelity) und weisen erhebliche Kreuzfunktionalität mit IEEE 802 PAN auf. Beide sind zur drahtlosen Kommunikation innerhalb eines Fahrzeugs 31 geeignet. Andere Kommunikationsmittel, die auf diesem Gebiet verwendet werden können, sind optische Freiraumkommunikation (wie zum Beispiel IrDA (für engl. infrared data association)) und nicht-standardisierte IR(Infrarot)-Protokolle im Bereich der Unterhaltungselektronik.
-
In einer anderen Ausführungsform umfasst das mobile Gerät 53 ein Modem für Sprachband- oder Breitband-Datenkommunikation. In der Data-over-Voice-Ausführungsform kann eine als Frequenzmultiplex bekannte Technik implementiert sein, wenn der Besitzer des mobilen Geräts 53 über das Gerät sprechen kann, während Daten übertragen werden. Zu anderen Zeitpunkten, wenn der Besitzer das Gerät nicht verwendet, kann die Datenübertragung die gesamte Bandbreite verwenden (in einem Beispiel 300 Hz bis 3,4 kHz). Obwohl Frequenzmultiplex möglicherweise für analoge zellulare Kommunikation zwischen dem Fahrzeug 31 und dem Internet üblich ist und immer noch verwendet wird, wurde es für digitale zellulare Kommunikation weitgehend durch Mischformen aus Codemultiplexzugriff (CDMA für engl. Code Division Multiple Access), Zeitmultiplexzugriff (TDMA für engl. Time Division Multiple Access), Raummultiplexzugriff (SDMA für engl. Space Division Multiple Access) ersetzt. Diese sind allesamt ITU IMT-2000 (G3)-konforme Standards und bieten Datenraten bis zu 2 Mbit/s für stationäre oder gehende Benutzer und 385 kbit/s für Benutzer in einem fahrenden Fahrzeug 31. 3G-Standards werden jetzt durch IMT-Advanced (4G) ersetzt, der 200 Mbit/s für Benutzer in einem Fahrzeug 31 und 1 Gbit/s für stationäre Benutzer bietet. Falls der Benutzer über einen mit dem mobilen Gerät 53 assoziierten Datentarif verfügt, ist es möglich, dass der Datentarif Breitband-Übertragung ermöglicht und das System eine viel breitere Bandbreite verwenden könnte (was die Datenübertragung beschleunigt). In noch einer anderen Ausführungsform ist das mobile Gerät 53 durch ein zellulares Kommunikationsgerät (nicht dargestellt) ersetzt, das im Fahrzeug 31 installiert ist. In einer weiteren anderen Ausführungsform kann das ND 53 ein drahtloses LAN-Gerät sein, das zum Beispiel (und ohne Beschränkung) zur Kommunikation über ein 802.11g-Netz (d. h. WiFi) oder ein WiMax-Netz in der Lage ist.
-
In einer Ausführungsform können eingehende Daten durch das mobile Gerät 53 über Data-over-Voice oder Datentarif, durch den Onboard-BLUETOOTH-Transceiver und in den Prozessor 3 des Fahrzeugs 31 weitergeleitet werden. Im Falle bestimmter temporärer Daten können die Daten zum Beispiel bis zu einem Zeitpunkt, zu dem die Daten nicht mehr benötigt werden, auf dem HDD oder anderen Speichermedien 7 gespeichert werden.
-
Zusätzliche Quellen, die mit dem Fahrzeug 31 verbunden sein können, schließen eine PND 54 ein, die zum Beispiel einen USB-Anschluss 56 und/oder eine Antenne 58 aufweist, eine Fahrzeugnavigationsvorrichtung 60, die einen USB- 62 oder anderen Anschluss aufweist, eine bordseitige GPS-Vorrichtung 24 oder ein rechnerfernes Navigationssystem (nicht dargestellt) mit Konnektivität zu dem Netzwerk 61. USB ist eines aus einer Klasse von seriellen Netzwerkprotokollen. IEEE 1394 (FireWireTM (Apple), i.LINKTM (Sony) und LynxTM (Texas Instruments)), EIA (Electronics Industry Association) serielle Protokolle, IEEE 1284 (Centronics Port), S/PDIF (Sony/Philips Digital Interconnect Format) und USB-IF (USB Implementers Forum) bilden das Rückgrat der Standards für serielle Kommunikation von Gerät zu Gerät. Die meisten der Protokolle können entweder für elektrische oder optische Kommunikation implementiert werden.
-
Ferner könnte die CPU 3 mit einer Vielzahl anderer Hilfsgeräte 65 in Kommunikation sein. Diese Geräte 65 können durch eine drahtlose 67 oder eine drahtgebundene 69 Verbindung verbunden sein. Die Hilfsgeräte 65 können Personal Media Player, drahtlose medizinische Geräte, tragbare Computer und dergleichen beinhalten, ohne darauf beschränkt zu sein.
-
Außerdem oder alternativ könnte die CPU 3 zum Beispiel unter Verwendung eines WiFi-Transceivers (IEEE 803.11) 71 mit einem fahrzeugbasierten drahtlosen Router 73 verbunden sein. Dies könnte es der CPU 3 ermöglichen, sich an entfernte Netze innerhalb des Bereichs des lokalen Routers 73 anzuschließen.
-
Zusätzlich dazu, dass in bestimmten Ausführungsformen beispielhafte Prozesse von einem Fahrzeug-Computersystem ausgeführt werden, das sich in einem Fahrzeug 31 befindet, können die beispielhaften Prozesse wenigstens zum Teil von einem oder mehreren Computersystemen außerhalb eines Fahrzeug-Computersystems und in Kommunikation damit ausgeführt werden. Solch ein System kann, ohne darauf beschränkt zu sein, ein drahtloses Gerät (z. B. und ohne Beschränkung ein Mobiltelefon) oder ein entferntes Computersystem (z. B. und ohne Beschränkung einen Server) umfassen, die durch das drahtlose Gerät verbunden sind. Gemeinschaftlich können solche Systeme als fahrzeugassoziierte Computersysteme (VACS für engl. Vehicle Associated Computing Systems) bezeichnet werden. In bestimmen Ausführungsformen können bestimmte Komponenten des VACS abhängig von der jeweiligen Implementierung des Systems bestimmte Teile eines Prozesses ausführen. Falls ein Prozess als Beispiel und ohne Beschränkung einen Schritt des Sendens oder Empfangens von Informationen an ein gekoppeltes drahtloses Gerät bzw. von einem gekoppelten drahtloses Gerät umfasst, dann ist es wahrscheinlich, dass das drahtlose Gerät den Prozess nicht durchführt, weil das drahtlose Gerät keine Informationen an und von sich selbst senden und empfangen würde. Ein Durchschnittsfachmann weiß, wann es unangemessen ist, ein bestimmtes VACS auf eine gegebene Lösung anzuwenden. Bei allen Lösungen wird in Betracht gezogen, dass wenigstens das VCS 1, das sich innerhalb des Fahrzeugs 31 selbst befindet, zum Durchführen der beispielhaften Prozesse in der Lage ist.
-
2 veranschaulicht ein beispielhaftes System 200 zum Bereitstellen einer Multifaktorverifikation von Softwareaktualisierungen 206 an dem Fahrzeug 31 mittels eines mobilen Geräts 53. Das System 200 kann das VCS 1 in Kommunikation mit einem Aktualisierungsserver 210 über das Netz 61 (zum Beispiel direkt oder über das mobile Gerät 53) beinhalten. Der Aktualisierungsserver 210 kann mit einem Datenspeicher 208 kommunizieren, der dafür ausgelegt ist, Softwareaktualisierungen 206 zum Herunterladen sowie Erstfaktor-Informationen 212 und Zweitfaktor-Informationen 214 zum Verschlüsseln der Softwareaktualisierung bereitzuhalten. Das System 200 kann ferner eine Aktualisierungsverwaltungs-Anwendung 220 beinhalten, die im Fahrzeug 31 installiert und dafür ausgelegt ist, die Softwareaktualisierungen 206 in dem VCS 1 selbst oder in anderen Modulen 202 des Fahrzeugs 31 zu installieren. Das mobile Gerät 53 kann über eine Weitverkehrsdatenverbindung 218 mit dem Aktualisierungsserver 210 und über eine lokale Datenverbindung 216 mit der Aktualisierungsverwaltungs-Anwendung 220 des VCS 1 kommunizieren. Wie unten weiter im Detail erklärt wird, kann eine Aktualisierungsverifikations-Anwendung 222, die auf dem mobilen Gerät 53 installiert ist, dafür ausgelegt sein, mit dem Fahrzeug 31 zum Durchführen einer Verifikation der Softwareaktualisierungen 206 assoziiert zu sein, die Zweitfaktor-Informationen 214 von dem Aktualisierungsserver 210 zu empfangen, mit einem Benutzer des mobilen Geräts 53 zu bestätigen, dass die Softwareaktualisierung 206 installiert werden soll, und die Zweitfaktor-Informationen 214 an das Fahrzeug 31 zu liefern. Obwohl in 2 ein beispielhaftes System 200 gezeigt ist, sind die in der Figur veranschaulichten beispielhaften Komponenten nicht als einschränkend gedacht. Tatsächlich kann das System 200 mehr oder weniger Komponenten aufweisen und zusätzliche oder alternative Komponenten und/oder Implementierungen können verwendet werden.
-
Die Fahrzeugmodule 202 können verschiedene Komponenten des Fahrzeugs 31 enthalten, die dafür ausgelegt sind, Aktualisierungen assoziierter Software, Firmware oder von Konfigurationseinstellungen zu empfangen. Als einige nicht einschränkende Beispiele können die Fahrzeugmodule 202 ein Antriebsstrang-Steuermodul (PCM), ein Bremssystem-Steuermodul (BSCM), ein Karosserie-Steuermodul (BCM) und das VCS 1 selbst beinhalten.
-
Die Fahrzeuginformationen 204 können Informationen beinhalten, die dafür ausgelegt sind, das Fahrzeug 31 oder die Konfiguration des Fahrzeugs 31 zu identifizieren. Zum Beispiel können die Fahrzeuginformationen 204 eine auf dem CAN-Bus des Fahrzeugs 31 veröffentlichte Fahrzeugidentifikationsnummer (VIN) oder Teilnehmerkennungsmodul(SIM für engl. subscriber identity module)-Informationen des Modems 63, wie beispielsweise eine internationale Mobilgerätekennung (IMEI für engl. international mobile station equipment identity) beinhalten. Zusätzlich oder alternativ können die Fahrzeuginformationen 204 Versionsinformationen für mindestens einen Teil der Hardware- und Software-Komponenten der Fahrzeugmodule 202 des Fahrzeugs 31 beinhalten.
-
Die Softwareaktualisierungen 206 können Änderungen an der Software oder den Einstellungen des Fahrzeugs 31 beinhalten, um ein Problem mit der aktuellen Software oder den Einstellungen zu behandeln oder der aktuellen Software verbesserte Funktionalität bereitzustellen. Die Softwareaktualisierungen 206 können zum Beispiel aktualisierte Konfigurationseinstellungen für ein oder mehrere Fahrzeugmodule 202 und/oder aktualisierte Versionen von Software oder Firmware, die in einem oder mehreren Fahrzeugmodulen 202 installiert werden sollen, beinhalten. In einigen Fällen können die Softwareaktualisierungen 206 einen einzigen Abschnitt beinhalten, wohingegen in anderen Fällen eine Softwareaktualisierung 206 in mehreren Unterabschnitten, Teilbereichen oder Datenblöcken organisiert sein kann, wobei alle diese Unterabschnitte heruntergeladen werden, um die gesamte zu installierende Softwareaktualisierung 206 abzuschließen.
-
Der Datenspeicher 208 kann dafür ausgelegt sein, die Softwareaktualisierungen 206 zu speichern. Der Datenspeicher 208 kann ferner dafür ausgelegt sein, zusätzliche Informationen bezüglich der Softwareaktualisierungen 206 zu speichern. Zum Beispiel kann der Datenspeicher 208 dafür ausgelegt sein, Angaben darüber, welche(s) Fahrzeugsmodul(e) 202 mit welchen Softwareaktualisierungen 206 assoziiert sind, zu pflegen. Der Datenspeicher 208 kann ferner Informationen speichern, die Hinweise auf die Kompatibilität der Softwareaktualisierungen 206 mit einem Fahrzeugmodell oder einer Fahrzeugkonfiguration geben. Zum Beispiel kann ein Speichereintrag für eine Softwareaktualisierung 206 angeben, dass die Softwareaktualisierung 206 mit einer bestimmten Marke und einem bestimmten Modell eines Fahrzeugs 31 kompatibel ist oder dass es eine Abhängigkeit von einer Version eines anderen Fahrzeugmoduls 202 mit einer bestimmten Version oder Versionen, aufweist.
-
Der Datenspeicher 208 kann ferner dafür ausgelegt sein, die Erstfaktor-Informationen 212 und die Zweitfaktor-Informationen 214, die für die Verschlüsselung der Softwareaktualisierungen 206 verwendet werden, zu speichern. Die Erstfaktor-Informationen 212 können Informationen, die von dem Datenspeicher 208 und dem Fahrzeug 31 geteilt werden (wie ein symmetrischer Schlüssel, der dazu verwendet wird, die Softwareaktualisierungen 206 zum Transport zu verschlüsseln), beinhalten. In einigen Fällen können die Erstfaktor-Informationen 212 im persistenten Speicher 7 des Fahrzeugs 31 gehalten werden und können auch in dem Datenspeicher 208 gemäß der Kennung (zum Beispiel der VIN, die dem Datenspeicher 208 als Teil der Fahrzeuginformationen 204 geliefert wurde) des Fahrzeugs 31 indiziert werden. Die Zweitfaktor-Informationen 214 können zusätzliche Informationen, die dem Fahrzeug 31 unbekannt sind aber von dem Fahrzeug 31 benötigt werden, um die Softwareaktualisierungen 206 zu entschlüsseln, beinhalten. In einem Beispiel beinhalten die Zweitfaktor-Informationen 214 einen asymmetrischen Schlüssel, der dazu verwendet wird, die Softwareaktualisierungen 206 zu verschlüsseln.
-
Der Aktualisierungsserver 210 kann eine oder mehrere Vorrichtungen beinhalten, die dafür ausgelegt sind, die von dem Datenspeicher 208 gespeicherten Softwareaktualisierungen 206 dem Fahrzeug 31 anzudienen. Zum Beispiel kann der Aktualisierungsserver 210 dafür ausgelegt sein, Anforderungen für verfügbare Softwareaktualisierungen 206 von Fahrzeugen 31 zu erhalten. Die Anforderungen können die Fahrzeuginformationen 204 beinhalten, um es dem Aktualisierungsserver 210 zu ermöglichen, den Datenspeicher 208 nach Softwareaktualisierungen 206, die auf das Fahrzeug 31, wie es gerade konfiguriert ist, anwendbar sind, zu fragen. Der Aktualisierungsserver 210 kann als Reaktion auf die Anforderungen Hinweise auf Softwareaktualisierungen 206 (oder die Softwareaktualisierungen 206 selbst), die heruntergeladen und installiert werden können, um das anfordernde Fahrzeug 31 zu aktualisieren, liefern. Der Aktualisierungsserver 210 kann ferner dafür ausgelegt sein, die Softwareaktualisierungen 206 gemäß den Erstfaktor-Informationen 212 und den Zweitfaktor-Informationen 214 zu verschlüsseln, und die verschlüsselten Softwareaktualisierungen 206 an Vorrichtungen, die anfordern, die Softwareaktualisierungen 206 gemäß den gelieferten Hinweisen herunterzuladen, zu liefern.
-
Das VCS 1 kann dafür ausgelegt sein, mit dem Aktualisierungsserver 210 über das Netz 61 zu kommunizieren. In einigen Fällen kann das VCS 1 Nutzen aus integrierten Netzwerkfunktionalitäten des VCS 1, wie dem internen Modem 63, ziehen, um Kommunikation mit dem Aktualisierungsserver 210 zu erleichtern. In anderen Fällen kann das VCS 1 eine lokale Datenverbindung 216 zu dem mobilen Gerät 53 verwenden, um Kommunikation mit dem Aktualisierungsserver 210 über eine Weitverkehrsdatenverbindung 218 des mobilen Geräts 53 zu erleichtern. Für ein mobiles Gerät 53, auf dem das Android-Betriebssystem läuft, das von der Open Handset Alliance des Silicon Valley, Kalifornien gepflegt wird, kann als ein Beispiel die Datenverbindung 216 über eine drahtlose Bluetooth-Verbindung erstellt werden. Für ein mobiles Gerät 53, auf dem das iOS-Betriebssystem läuft, das von Apple, Inc. aus Cupertino, Kalifornien gepflegt wird, kann als ein weiteres Beispiel die Datenverbindung 216 zusätzlich oder alternativ über eine drahtgebundene USB-Verbindung (nicht gezeigt) erstellt werden. Das mobile Gerät 53 kann ferner dafür ausgelegt sein, eine Weitverkehrsdatenverbindung 218 (zum Beispiel eine Internet-Verbindung) zwischen dem mobilen Gerät 53 und dem Aktualisierungsserver 210, wie etwa eine Verbindung über das Netz 61, zu erstellen. In einigen Fällen kann die Weitverkehrsdatenverbindung 218 des mobilen Geräts 53 von dem VCS 1 verwendet werden, um die Softwareaktualisierungen 206 von dem Aktualisierungsserver 210 herunterzuladen.
-
Die Aktualisierungsverwaltungs-Anwendung 220 kann dafür ausgelegt sein, die Installation von Softwareaktualisierungen 206 an dem Fahrzeug 31 zu verwalten. Zum Beispiel kann die Aktualisierungsverwaltungs-Anwendung 220 des VCS 1 einen Befehl von einem Benutzer erhalten, der anfordert, auf Softwareaktualisierungen 206 zu prüfen. Als eine weitere Möglichkeit kann die Aktualisierungsverwaltungs-Anwendung 220 ein periodisches Überprüfen auf neue Softwareaktualisierungen 206 auslösen. Wenn sie ausgelöst wird, kann die Aktualisierungsverwaltungs-Anwendung 220 dafür ausgelegt sein, eine Anforderung an den Aktualisierungsserver 210 zu senden, um anzufragen, ob Softwareaktualisierungen 206 für das Fahrzeug 31 verfügbar sind. Zum Beispiel kann die Aktualisierungsverwaltungs-Anwendung 220 den Aktualisierungsserver 210 unter Verwendung der Fahrzeuginformationen 204 (oder, falls der Datenspeicher 208 aktuelle Fahrzeuginformationen 204 vorhält, einer Kennung des Fahrzeugs 31) fragen und kann eine Antwort von dem Aktualisierungsserver 210 erhalten, die darauf hinweist, ob neue Softwareaktualisierungen 206 für das Fahrzeug 31 verfügbar sind (zum Beispiel als Links oder andere Kennungen von für das Fahrzeug 31 herunterladbare Softwareaktualisierungen 206). Wenn die Antwort der Aktualisierungsverwaltungs-Anwendung 220 darauf hinweist, dass Softwareaktualisierungen 206 für das Fahrzeug 31 verfügbar sind, kann die Aktualisierungsverwaltungs-Anwendung 220 ferner dafür ausgelegt sein, jene herunterzuladende und zu installierende Softwareaktualisierungen 206 in eine Warteschlange einzureihen.
-
Die Aktualisierungsverwaltungs-Anwendung 220 kann dafür ausgelegt sein, das Herunterladen der Softwareaktualisierungen 206 zu dem Fahrzeug 31 zu erleichtern. Zum Beispiel kann die Aktualisierungsverwaltungs-Anwendung 220 dafür ausgelegt sein, eine Auflistung der von dem Aktualisierungsserver 210 als für Herunterladen und Installieren verfügbar identifizierten Softwareaktualisierungen 206 zu erhalten. Die Aktualisierungsverwaltungs-Anwendung 220 kann ferner dafür ausgelegt sein, zu detektieren, wenn das mobile Gerät 53 mit dem VCS 1 verbunden ist, und ein Herunterladen der Softwareaktualisierungen 206 durchzuführen, wenn es so verbunden ist.
-
Die Aktualisierungsverwaltungs-Anwendung 220 kann ferner dafür ausgelegt sein, die Entschlüsselung und die Installation der heruntergeladenen Softwareaktualisierungen 206 zu erleichtern. Zum Beispiel kann die Aktualisierungsverwaltungs-Anwendung 220 dafür ausgelegt sein, die heruntergeladenen Softwareaktualisierungen 206 gemäß den Erstfaktor-Informationen 212, die von dem Fahrzeug 31 gepflegt und dazu verwendet werden, Informationen für Transport zwischen dem Fahrzeug 31 und dem Aktualisierungsserver 210 zu verschlüsseln, zu entschlüsseln.
-
Um die Multifaktor-Verifikation der heruntergeladenen Softwareaktualisierungen 206 zu erleichtern, kann die Aktualisierungsverwaltungs-Anwendung 220 ferner dafür ausgelegt sein, anzufordern, dass die Zweitfaktor-Informationen 214 an das mit dem Fahrzeug 31 assoziierte mobile Gerät 53 geliefert werden. Der Aktualisierungsserver 210 kann dementsprechend dafür ausgelegt sein, als Reaktion auf eine von dem VCS 1 erhaltene Nachricht, die Zweitfaktor-Informationen 214 an das assoziierte mobile Gerät 53 zu liefern. Um das assoziierte mobile Gerät 53 zu identifizieren, kann der Datenspeicher 208 ferner dafür ausgelegt sein, die Assoziierung des mobilen Geräts 53 mit dem Fahrzeug 31 zu pflegen (zum Beispiel Nummern von mobilen Geräten mit VINs), und der Aktualisierungsserver 210 kann dafür ausgelegt sein, auf den Datenspeicher 208 zuzugreifen, um die assoziierten Geräteinformationen abzurufen. Als eine weitere Möglichkeit kann das Fahrzeug 31 die Assoziierung des mobilen Geräts 53 pflegen und kann die assoziierten Geräteinformationen in der Nachricht an den Aktualisierungsserver 210, der die Zweitfaktor-Informationen 214 anfordert, bereitstellen.
-
Die Aktualisierungsverwaltungs-Anwendung 220 kann ferner dafür ausgelegt sein, die Aktualisierungsverifikations-Anwendung 222 des assoziierten mobilen Geräts 53 dazu zu verwenden, sowohl die Softwareaktualisierungen 206 zur Installation zu verifizieren als auch die Zweitfaktor-Informationen 214 an das Fahrzeug 31 zu liefern, um der Aktualisierungsverwaltungs-Anwendung 220 zu ermöglichen, die Entschlüsselung der Softwareaktualisierungen 206 zur Installation abzuschließen. Zum Beispiel kann die Aktualisierungsverifikations-Anwendung 222 über das mobile Gerät 53 eine Benutzerschnittstelle bereitstellen und kann die Zweitfaktor-Informationen 214 für die Aktualisierungsverwaltungs-Anwendung 220 bereitstellen, wenn der Benutzer zustimmt, die Softwareaktualisierungen 206 an dem Fahrzeug 31 zu installieren. Weitere Aspekte der Verifikation sind unten mit Bezug auf 3 bis 8 ausführlich beschrieben.
-
3 veranschaulicht eine beispielhafte Benutzerschnittstelle 300 zum Assoziieren des mobilen Geräts 53 mit dem Fahrzeug 31 zur Verifikation von Softwareaktualisierungen 206. Wie veranschaulicht kann die Benutzerschnittstelle 300 dem Benutzer über eine Anzeige des mobilen Geräts 53 präsentiert werden. Als eine weitere Möglichkeit kann die Benutzerschnittstelle 300 dem Benutzer über eine Anzeige 4 des VCS 1 bereitgestellt werden. Die Benutzerschnittstelle 300 kann unter verschiedenen Bedingungen angezeigt werden, wie etwa wenn das mobile Gerät 53 zum ersten Mal mit dem Fahrzeug 31 verbunden wird, wenn das mobile Gerät 53 mit dem Fahrzeug 31 verbunden ist und das Fahrzeug 31 über keine mobilen Geräte 53 verfügt, die mit Verifikation von Softwareaktualisierungen 206 assoziiert sind, oder bei einer Benutzerauswahl einer Funktion, das mobile Gerät 53, das zur Verifikation von Softwareaktualisierungen 206 für das Fahrzeug 31 ausgelegt ist, zu aktualisieren.
-
Die Benutzerschnittstelle 300 kann eine Nachrichten-Eingabeaufforderung 302 zum Auffordern des Benutzers, zu bestätigen oder abzulehnen, dass das Fahrzeug 31 und das mobile Gerät 53 zur Verifikation von Softwareaktualisierungen 206 assoziiert sein sollten, beinhalten. Die Benutzerschnittstelle 300 kann ferner Steuerungen beinhalten, Benutzereingaben bezüglich dessen, ob die Geräte assoziiert sein sollten, wie etwa eine Ja-Steuerung 304 zum Annehmen der Assoziierung der Geräte und eine Nein-Steuerung 306 zum Zurückweisen der Assoziierung, zu erhalten. Falls der Benutzer die Ja-Steuerung 304 auswählt, kann das mobile Gerät 53 mit dem Fahrzeug 31 zum Erhalten der Zweitfaktor-Informationen 214 sowie zum Auffordern des Benutzers zur Verifikation, die erforderlich sein kann, bevor die Zweitfaktor-Informationen 214 an das Fahrzeug 31 weitergeleitet werden, assoziiert werden. Falls der Benutzer die Nein-Steuerung 306 auswählt, kann das mobile Gerät 53 nicht mit dem Fahrzeug 31 assoziiert werden und jegliche existierende Assoziierung zwischen dem Fahrzeug 31 und dem mobilen Gerät 53 kann entfernt werden.
-
4 veranschaulicht eine beispielhafte Benutzerschnittstelle 400 zum Verwenden des mobilen Geräts, um eine Installation von Softwareaktualisierungen zu bestätigen.
-
Wie veranschaulicht kann die Benutzerschnittstelle 400 dem Benutzer über eine Anzeige des mobilen Geräts 53 präsentiert werden. Die Benutzerschnittstelle 400 kann unter verschiedenen Bedingungen angezeigt werden, wie etwa beim Erhalten von Zweitfaktor-Informationen 214 von dem Aktualisierungsserver 210 oder bei Verbindung des mobilen Geräts 53 mit dem Fahrzeug 31, nachdem es Zweitfaktor-Informationen 214 von dem Aktualisierungsserver 210 erhalten hat.
-
Die Benutzerschnittstelle 400 kann eine Nachrichten-Eingabeaufforderung 402 zum Auffordern des Benutzers, zu bestätigen oder abzulehnen, dass das Fahrzeug 31 eine offene Softwareaktualisierung 206 installieren sollte, beinhalten. Die Benutzerschnittstelle 400 kann ferner Steuerungen beinhalten, Benutzereingaben bezüglich dessen, ob die Softwareaktualisierungen 206 installiert werden sollten, wie etwa eine Ja-Steuerung 404 zum Annehmen der Assoziierung der Geräte und eine Nein-Steuerung 406 zum Zurückweisen der Assoziierung, zu erhalten. (In einigen Fällen kann die Benutzerschnittstelle 400 zusätzliche Auswahlmöglichkeiten, wie etwa eine Steuerung zum Anfordern, dass die Benutzerschnittstelle 400 zu einem späteren Zeitpunkt nochmal gezeigt werden soll, beinhalten.) Wenn der Benutzer die Ja-Steuerung 404 auswählt, kann das mobile Gerät 53 die Zweitfaktor-Informationen 214 an das Fahrzeug 31 liefern (zum Beispiel als Reaktion auf die Auswahl, wenn das mobile Gerät 53 das nächste Mal mit dem Fahrzeug 31 über die Datenverbindung 216 usw. verbunden wird).
-
5A veranschaulicht einen beispielhaften Datenfluss 500-A zum Bereitstellen einer Multifaktorverifikation einer Softwareaktualisierung 206 an dem Fahrzeug 31 mittels eines mobilen Geräts 53. In dem beispielhaften Datenfluss 500-A kann das Fahrzeug 31 Softwareaktualisierungen 206, die von dem Aktualisierungsserver 210, basierend auf Erstfaktor-Informationen 212, die von dem Fahrzeug 31 gepflegt werden, und auf Zweitfaktor-Informationen 214, die von dem Fahrzeug 31 bei Entschlüsselung der Erststufen-Entschlüsselung der Softwareaktualisierung 206 angefordert wurde, entschlüsseln und installieren.
-
Insbesondere identifiziert der Aktualisierungsserver 210 zu einem Zeitindex (A) Softwareaktualisierungen 206, die im Fahrzeug 31 installiert werden sollten. Wenn zum Beispiel das Fahrzeug 31 zusammengebaut wird, kann das Fahrzeug 31 verschiedene Hardware- und Softwarekomponenten beinhalten. Das VCS 1 des Fahrzeugs 31 kann so konfiguriert sein, dass es bei oder nach dem Zusammenbau Existenz- und Versionsinformationen für mindestens einen Teil dieser Hardware- und Softwarekomponenten des Fahrzeugs 31 abfragt. Unter Verwendung der abgefragten Informationen und von zusätzlichen Informationen, die das spezifische Fahrzeug 31 identifizieren (z. B. auf dem CAN-Bus veröffentlichte VIN-Informationen, Teilnehmerkennungsmodul(SIM für engl. subscriber identity module)-Informationen des Modems 63, wie beispielsweise eine internationale Mobilgerätekennung (IMEI für engl. international mobile station equipment identity) usw.), kann das VCS 1 über das Netz 61 kommunizieren, um ein Konto beim Aktualisierungsserver 210 zu erstellen. Der Aktualisierungsserver 210 kann diese Kommunikationen von den Fahrzeugen 31 empfangen und die mit Kennungen der Fahrzeuge 31 verbundenen Hardwarekonfigurationen und Software(z. B. Firmware- usw.)-Versionen in dem Datenspeicher 208 pflegen. Basierend auf den aktuellen Fahrzeugkonfigurationsinformationen kann der Aktualisierungsserver 210 dafür ausgelegt sein, zu bestimmen, dass es Softwareaktualisierungen 206 zum Aktualisieren einer älteren Softwareversion, die in einem der Fahrzeugmodule 202 installiert ist, von der in dem Datenspeicher 208 spezifizierten Version auf eine jüngere Version gibt. Als ein weiteres Beispiel kann das Fahrzeug 31, basierend auf dem Abfragen des Aktualisierungsservers 210 oder einer anderen Quelle, bestimmen, dass Softwareaktualisierungen 206 in dem Fahrzeug 31 installiert werden sollten und kann eine Nachricht an den Aktualisierungsserver 210 liefern, die die Softwareaktualisierungen 206 anfordert.
-
Zum Zeitindex (B) verschlüsselt der Aktualisierungsserver 210 unter Verwendung der Zweitfaktor-Informationen 212 die identifizierten Softwareaktualisierungen 206. Zum Beispiel kann der Aktualisierungsserver 210 die Zweitfaktor-Informationen 214 erzeugen oder auf andere Weise identifizieren, um sie zu verwenden, die identifizierten Softwareaktualisierungen 206 zu verschlüsseln, und kann die identifizierten Softwareaktualisierungen 206 unter Verwendung der Zweitfaktor-Informationen 214 verschlüsseln. In einem Beispiel sind die Zweitfaktor-Informationen 214 ein asymmetrischer Schlüssel und die Verschlüsselung wird unter Verwendung eines asymmetrischen Verschlüsselungsschemas durchgeführt. In einem weiteren Beispiel sind die Zweitfaktor-Informationen 214 ein symmetrischer Schlüssel und die Verschlüsselung wird unter Verwendung eines symmetrischen Verschlüsselungsschemas durchgeführt.
-
Zu einem Zeitindex (C) verschlüsselt der Aktualisierungsserver 210 weiter unter Verwendung von mit dem Fahrzeug 31 assoziierten Erstfaktor-Informationen 212 die Softwareaktualisierungen 206. In einem Beispiel beinhalten die Erstfaktor-Informationen 212 einen symmetrischen Schlüssel, der dazu verwendet wird, Daten für den Transport zum Fahrzeug 31 zu verschlüsseln, wo der symmetrische Schlüssel von dem Fahrzeug 31 gespeichert wird.
-
Zu einem Zeitindex (D) liefert der Aktualisierungsserver 210 die verschlüsselten Softwareaktualisierungen 206 an das Fahrzeug 31. Das VCS 1 des Fahrzeugs 31 kann dementsprechend die Softwareaktualisierungen 206 über das Netz 61 erhalten und kann die Aktualisierung zum Verarbeiten an die Aktualisierungsverwaltungs-Anwendung 220 liefern. In einigen Fällen können die Softwareaktualisierungen 206 mittels der Datenverbindung des mobilen Geräts 53 zu dem Fahrzeug 31 heruntergeladen werden, während die Softwareaktualisierungen 206 in anderen Fällen mittels eines internen Modems des Fahrzeugs 31 zu dem Fahrzeug 31 heruntergeladen werden können.
-
Zum Zeitindex (E) führt das Fahrzeug 31 eine Erststufen-Entschlüsselung der Softwareaktualisierung 206 durch. Zum Beispiel kann die Aktualisierungsverwaltungs-Anwendung 220 die Erstfaktor-Informationen 212, die von dem Fahrzeug 31 gepflegt werden, verwenden, um die von dem Aktualisierungsserver 210 zum Zeitindex (C) durchgeführte Verschlüsselung zu entschlüsseln.
-
Zum Zeitindex (F) sendet das Fahrzeug 31 eine Anforderung an den Aktualisierungsserver 210, die die Zweitfaktor-Informationen 214 anfordert, um die Entschlüsselung der Softwareaktualisierung 206 abzuschließen. Zum Beispiel kann die Aktualisierungsverwaltungs-Anwendung 220 die Anforderung bei erfolgreicher Entschlüsselung der Softwareaktualisierung 206 unter Verwendung der Erstfaktor-Informationen 212 an den Aktualisierungsserver 210 senden. Die Anfrage kann zum Beispiel eine oder mehrere Kennungen von Fahrzeug 31 wie eine VIN beinhalten. Die Anfrage kann ferner einen Hinweis auf die Softwareaktualisierung 206, für die die Zweitfaktor-Informationen 214 angefordert werden, beinhalten.
-
Zum Zeitindex (G) identifiziert der Aktualisierungsserver 210 das mit dem Fahrzeug 31 assoziierte mobile Gerät 53, das dafür ausgelegt ist, die Zweitfaktor-Informationen 214 zu erhalten. Zum Beispiel kann der Aktualisierungsserver 210, basierend auf in der Anforderung enthaltenen Informationen, auf den Datenspeicher 208 zugreifen, um das vorher mit dem Fahrzeug 31 assoziierte mobile Gerät 53 zum Verifizieren der Softwareaktualisierung 206 zu identifizieren. (Eine beispielhafte, oben mit Bezug auf die 3 erörterte Benutzerschnittstelle 300 zur Assoziierung mobiler Geräte 53 mit dem Fahrzeug 31.)
-
Zum Zeitindex (H) liefert der Aktualisierungsserver 210 die Zweitfaktor-Informationen 214 an das mit dem Fahrzeug 31 assoziierte mobile Gerät 53. Die Aktualisierungsverifikations-Anwendung 222 des mobilen Geräts 53 kann die Zweitfaktor-Informationen 214 erhalten.
-
Zum Zeitindex (I) stellt das mobile Gerät 53 eine Benutzerschnittstelle an dem mobilen Gerät 53 bereit, um die Installation der Softwareaktualisierung 206 zu bestätigen. Zum Beispiel kann die Aktualisierungsverifikations-Anwendung 222 eine Benutzerschnittstelle auf dem mobilen Gerät 53 bereitstellen, die die Erlaubnis des Benutzers anfordert, die von dem Fahrzeug 31 heruntergeladene Softwareaktualisierung 206 zu installieren. Eine beispielhafte Benutzerschnittstelle 400 zur Verifikation der Installation von Softwareaktualisierungen 206 wird oben mit Bezug auf 4 erörtert. In anderen Beispielen kann die Benutzerschnittstelle die Zweitfaktor-Informationen 214 (z. B. als einen einzugebenden Code) anzeigen, so dass der Benutzer des mobilen Geräts 31 die Zweitfaktor-Informationen 214 manuell an das VCS 1 liefern kann.
-
Falls der Benutzer die Installation der Softwareaktualisierungen 206 genehmigt, geht der Datenfluss zum Zeitindex (J) weiter, wo die Aktualisierungsverifikations-Anwendung 222 die Zweitfaktor-Informationen 214 an das Fahrzeug 31 liefert. Falls der Benutzer keine Genehmigung erteilt, liefert die Aktualisierungsverifikations-Anwendung 222 die Zweitfaktor-Informationen 214 nicht an das VCS 1, was das Fahrzeug 31 daran hindert, in der Lage zu sein, die Softwareaktualisierung 206 zu entschlüsseln oder zu installieren. Eher kann die Aktualisierungsverifikations-Anwendung 222 stattdessen das Fahrzeug 31 benachrichtigen, dass die Softwareaktualisierung 206 von dem Benutzer des mobilen Geräts 53 zurückgewiesen wurde. In einigen Fällen kann das Fahrzeug 31 eine Benachrichtigung auf einer Anzeige des Fahrzeugs 31 bereitstellen, um die Insassen des Fahrzeugs 31 darüber zu informieren, dass die Softwareaktualisierung 206 zurückgewiesen wurde.
-
Zum Zeitindex (K) führt das Fahrzeug 31 eine Zweitstufen-Entschlüsselung der Softwareaktualisierung 206 durch. Zum Beispiel kann die Aktualisierungsverwaltungs-Anwendung 220 die Zweitfaktor-Informationen 214, die zum Zeitindex (J) erhalten wurden, verwenden, um die von dem Aktualisierungsserver 210 zum Zeitindex (B) durchgeführte Verschlüsselung zu entschlüsseln.
-
Zum Zeitindex (L) führt das Fahrzeug 31 eine Verifikation des Inhalts der entschlüsselten Softwareaktualisierung 206 durch. Dies kann zum Beispiel von der Aktualisierungsverwaltungs-Anwendung 220 gemacht werden, um sicherzustellen, dass die Zweitfaktor-Informationen 214 die Softwareaktualisierung 206 richtig entschlüsselt haben, und um die Integrität der wie entschlüsselten Softwareaktualisierung 206 zu verifizieren. Um die Verifikation durchzuführen, kann die Aktualisierungsverwaltungs-Anwendung 220 die entschlüsselte Softwareaktualisierung 206 durch Berechnen eines kryptographischen Hash-Wertes für die entschlüsselte Softwareaktualisierung 206 (z. B. MD5 verwendend) verifizieren und den berechneten Wert mit einem für die Softwareaktualisierung 206 von dem Aktualisierungsserver 210 angeforderten oder sonstwie erhaltenen Wert vergleichen. Falls die Softwareaktualisierung 206 die Verifikation verfehlt, installiert die Aktualisierungsverwaltungs-Anwendung 220 keine Softwareaktualisierung 206.
-
Zum Zeitindex (M) installiert das Fahrzeug 31 die entschlüsselte Softwareaktualisierung 206. Zum Beispiel kann die Aktualisierungsverwaltungs-Anwendung 220 von der Softwareaktualisierung 206 ein beabsichtigtes Modul 202 des Fahrzeugs 31 bestimmen, auf das die Softwareaktualisierung 206 angewandt werden soll. Als eine Möglichkeit kann die Softwareaktualisierung 206 eine Moduladresse oder eine andere Kennung beinhalten, die dafür ausgelegt ist, dem VCS 1 zu ermöglichen, zu identifizieren, welches Modul 202 des Fahrzeugs 31 die Softwareaktualisierung 206 erhalten sollte, so dass das VCS 1 die Softwareaktualisierung 206 zu dem richtigen Modul 202 leiten kann (oder die Aktualisierung selbst am VCS 1 installieren).
-
5B veranschaulicht einen alternativen, beispielhaften Datenfluss 500-B zum Bereitstellen einer Multifaktorverifikation einer Softwareaktualisierung 206 an dem Fahrzeug 31 mittels eines mobilen Geräts 53. Der beispielhafte Datenfluss 500-B beinhaltet einige Ähnlichkeiten mit dem Datenfluss 500-A. Allerdings empfängt das Fahrzeug 31 in dem Datenfluss 500-B im Vergleich mit dem Datenfluss 500-A die Zweitfaktor-Informationen 214 über das mobile Gerät 53 vor dem Empfangen der Softwareaktualisierungen 206 und liefert die Zweitfaktor-Informationen 214 an den Aktualisierungsserver 210, um die zu installierenden Softwareaktualisierungen 206 anzufordern.
-
Zum Zeitindex (A) identifiziert der Aktualisierungsserver 210 Softwareaktualisierungen 206, die im Fahrzeug 31 installiert werden sollten. Zum Zeitindex (B) bestimmt der Aktualisierungsserver 210, ob eine Zweifaktor-Authentifikation eingeschaltet ist. Zum Beispiel kann der Aktualisierungsserver 210 Datensätze des Datenspeichers 208 verwenden, um zu identifizieren, dass das mobile Gerät 53 mit dem Fahrzeug 31 assoziiert ist, zum Bestätigen der Installation der Softwareaktualisierungen 206. Falls kein mobiles Gerät 53 assoziiert oder falls die Zweifaktor-Authentifikation sonstwie blockiert ist, endet der Datenfluss 500-B (oder, nicht gezeigt, geht über zu einem Datenfluss der keine Zweifaktor-Authentifikation erfordert).
-
Zum Zeitindex (C) liefert der Aktualisierungsserver 210 die Zweitfaktor-Informationen 214 an das mit dem Fahrzeug 31 assoziierte mobile Gerät 53. Die Aktualisierungsverifikations-Anwendung 222 des mobilen Geräts 53 kann die Zweitfaktor-Informationen 214 erhalten. Zum Zeitindex (D) stellt das mobile Gerät 53 eine Benutzerschnittstelle (z. B. die Benutzerschnittstelle 400) an dem mobilen Gerät 53 bereit, um die Installation der Softwareaktualisierung 206 zu bestätigen.
-
Falls der Benutzer die Installation der Softwareaktualisierungen 206 genehmigt, geht der Datenfluss zum Zeitindex (E) weiter, wo die Aktualisierungsverifikations-Anwendung 222 die Zweitfaktor-Informationen 214 an das Fahrzeug 31 liefert. Falls der Benutzer keine Genehmigung erteilt, liefert die Aktualisierungsverifikations-Anwendung 222 die Zweitfaktor-Informationen 214 nicht an das VCS 1, was das Fahrzeug 31 daran hindert, in der Lage zu sein, die Softwareaktualisierung 206 von dem Aktualisierungsserver 210 anzufordern. Eher kann die Aktualisierungsverifikations-Anwendung 222 stattdessen das Fahrzeug 31 benachrichtigen, dass die Softwareaktualisierung 206 von dem Benutzer des mobilen Geräts 53 zurückgewiesen wurde. In einigen Fällen kann das Fahrzeug 31 eine Benachrichtigung auf einer Anzeige des Fahrzeugs 31 bereitstellen, um die Insassen des Fahrzeugs 31 darüber zu informieren, dass die Softwareaktualisierung 206 zurückgewiesen wurde.
-
Zum Zeitindex (F) liefert das Fahrzeug 31 eine Bestätigung an den Aktualisierungsserver 210, die die Zweitfaktor-Informationen 214 beinhaltet. Zum Beispiel kann die Aktualisierungsverwaltungs-Anwendung 220 die zum Zeitindex (E) erhaltenen Zweitfaktor-Informationen 214 in einer Anforderung, die Softwareaktualisierungen 206 zu erhalten, an den Aktualisierungsserver 210 liefern.
-
Zum Zeitindex (G) verschlüsselt der Aktualisierungsserver 210 unter Verwendung der Zweitfaktor-Informationen 212 die identifizierten Softwareaktualisierungen 206. Zum Zeitindex (H) verschlüsselt der Aktualisierungsserver 210 weiter unter Verwendung von mit dem Fahrzeug 31 assoziierten Erstfaktor-Informationen 212 die Softwareaktualisierung 206. Zum Zeitindex (I) liefert der Aktualisierungsserver 210 die verschlüsselte Softwareaktualisierung 206 an das Fahrzeug 31. Das VCS 1 des Fahrzeugs 31 kann dementsprechend die Softwareaktualisierung 206 über das Netz 61 erhalten und kann die Aktualisierung zum Verarbeiten an die Aktualisierungsverwaltungs-Anwendung 220 liefern.
-
Zum Zeitindex (J) führt das Fahrzeug 31 eine Erststufen-Entschlüsselung der Softwareaktualisierung 206 durch. Zum Beispiel kann die Aktualisierungsverwaltungs-Anwendung 220 die Erstfaktor-Informationen 212, die von dem Fahrzeug 31 gepflegt werden, verwenden, um die von dem Aktualisierungsserver 210 zum Zeitindex (H) durchgeführte Verschlüsselung zu entschlüsseln. Zum Zeitindex (K) führt das Fahrzeug 31 eine Zweitstufen-Entschlüsselung der Softwareaktualisierung 206 durch. Zum Beispiel kann die Aktualisierungsverwaltungs-Anwendung 220 die Zweitfaktor-Informationen 214, die zum Zeitindex (E) erhalten wurden, verwenden, um die von dem Aktualisierungsserver 210 zum Zeitindex (G) durchgeführte Verschlüsselung zu entschlüsseln. Zum Zeitindex (L) führt das Fahrzeug 31 eine Verifikation des Inhalts der entschlüsselten Softwareaktualisierung 206 durch. Zum Zeitindex (M) installiert das Fahrzeug 31 die entschlüsselte Softwareaktualisierung 206.
-
5C veranschaulicht einen zusätzlichen alternativen, beispielhaften Datenfluss 500-B zum Bereitstellen einer Multifaktorverifikation einer Softwareaktualisierung 206 an dem Fahrzeug 31 mittels eines mobilen Geräts 53. In dem beispielhaften Datenfluss 500-C kann das Fahrzeug 31 einen manuellen Eintrag der Zweitfaktor-Informationen 214 über einen Bediener des mobilen Geräts 53 und des Fahrzeugs 31 erhalten und kann die Zweitfaktor-Informationen 214 an den Aktualisierungsserver 210 liefern, um die zu installierenden Softwareaktualisierungen 206 anzufordern.
-
Ähnlich zu dem oben mit Bezug auf den Datenfluss 500-B Erörterten identifiziert der Aktualisierungsserver 210 zum Zeitindex (A) Softwareaktualisierungen 206, die im Fahrzeug 31 installiert werden sollten. Zum Zeitindex (B) bestimmt der Aktualisierungsserver 210, ob eine Zweifaktor-Authentifikation eingeschaltet ist. Zum Zeitindex (C) liefert der Aktualisierungsserver 210 die Zweitfaktor-Informationen 214 an das mit dem Fahrzeug 31 assoziierte mobile Gerät 53. Zum Zeitindex (D) stellt das mobile Gerät 53 eine Benutzerschnittstelle (z. B. die Benutzerschnittstelle 400) an dem mobilen Gerät 53 bereit, um die Installation der Softwareaktualisierung 206 zu bestätigen.
-
Allerdings zeigt das mobile Gerät 53 dem Benutzer zum Zeitindex (E) in dem beispielhaften Datenfluss 500-C die Zweitfaktor-Informationen 214, eher als Liefern der Zweitfaktor-Informationen 214 an das Fahrzeug 31, als Reaktion auf eine Bestätigung der Installation der Softwareaktualisierung 206, und der Benutzer gibt die Zweitfaktor-Informationen 214 manuell am Fahrzeug 31 ein. Zum Zeitindex (F) liefert das mobile Gerät 53 eine Bestätigung an den Aktualisierungsserver 210, dass die Zweitfaktor-Informationen 214 an das Fahrzeug 31 geliefert wurden (z. B. auf Benutzereingaben in die Benutzerschnittstelle des mobilen Geräts 53 basierend, die anzeigen, dass die Zweitfaktor-Informationen 214 an das Fahrzeug 31 geliefert wurden).
-
Ähnlich zu dem oben mit Bezug auf den Datenfluss 500-B Erörterten verschlüsselt der Aktualisierungsserver 210 zum Zeitindex (G) unter Verwendung der Zweitfaktor-Informationen 212 die identifizierten Softwareaktualisierungen 206. Zum Zeitindex (H) verschlüsselt der Aktualisierungsserver 210 weiter unter Verwendung von mit dem Fahrzeug 31 assoziierten Erstfaktor-Informationen 212 die Softwareaktualisierung 206. Zum Zeitindex (I) liefert der Aktualisierungsserver 210 die verschlüsselte Softwareaktualisierung 206 an das Fahrzeug 31. Zum Zeitindex (J) führt das Fahrzeug 31 eine Erststufen-Entschlüsselung der Softwareaktualisierung 206 durch. Zum Zeitindex (K) führt das Fahrzeug 31 eine Zweitstufen-Entschlüsselung der Softwareaktualisierung 206 durch. Zum Zeitindex (L) führt das Fahrzeug 31 eine Verifikation des Inhalts der entschlüsselten Softwareaktualisierung 206 durch. Zum Zeitindex (M) installiert das Fahrzeug 31 die entschlüsselte Softwareaktualisierung 206.
-
6 veranschaulicht einen beispielhaften Prozess 600 zum Bereitstellen von multifaktorverschlüsselten Softwareaktualisierungen 206 an dem Fahrzeug 31. Der Prozess 600 kann zum Beispiel durch den Aktualisierungsserver 210 in Kommunikation mit dem Fahrzeug 31 über ein Netz 61 durchgeführt werden.
-
Bei Betriebsablauf 602 identifiziert der Aktualisierungsserver 210 eine Softwareaktualisierung 206 für ein Fahrzeug 31. Basierend auf den aktuellen Fahrzeugkonfigurationsinformationen kann der Aktualisierungsserver 210 zum Beispiel dafür ausgelegt sein, zu bestimmen, dass es Softwareaktualisierungen 206 zum Aktualisieren einer älteren Softwareversion, die in einem der Fahrzeugmodule 202 installiert ist, von der in dem Datenspeicher 208 spezifizierten Version auf eine jüngere Version gibt. Als ein weiteres Beispiel kann das Fahrzeug 31, basierend auf dem Abfragen des Aktualisierungsservers 210 oder einer anderen Quelle, bestimmen, dass Softwareaktualisierungen 206 in dem Fahrzeug 31 installiert werden sollten und kann eine Nachricht an den Aktualisierungsserver 210 liefern, die die Softwareaktualisierungen 206 anfordert.
-
Bei Betriebsablauf 604 verschlüsselt der Aktualisierungsserver 210 die Softwareaktualisierung 206. Zum Beispiel kann der Aktualisierungsserver 210 die Zweitfaktor-Informationen 214 erzeugen oder auf andere Weise identifizieren, um sie zu verwenden, die identifizierten Softwareaktualisierungen 206 zu verschlüsseln, und kann die identifizierten Softwareaktualisierungen 206 unter Verwendung der Zweitfaktor-Informationen 214 verschlüsseln. Der Aktualisierungsserver 210 kann ferner unter Verwendung von mit dem Fahrzeug 31 assoziierten Erstfaktor-Informationen 212 die Softwareaktualisierung 206 verschlüsseln.
-
Bei Betriebsablauf 606 liefert der Aktualisierungsserver 210 die Softwareaktualisierung 206 an das Fahrzeug 31. Zum Beispiel kann der Aktualisierungsserver 210 die Softwareaktualisierung 206 über das Netz 61 an die Aktualisierungsverwaltungs-Anwendung 220 des VCS 1 des Fahrzeugs 31 liefern, für das die Softwareaktualisierung 206 angezeigt ist. In einigen Fällen kann die Softwareaktualisierung 206 mittels der Datenverbindung des Aktualisierungsservers 210 mit dem mobilen Gerät 53 vom Aktualisierungsserver 210 zu dem Fahrzeug 31 geliefert werden, während die Softwareaktualisierung 206 in anderen Fällen mittels eines internen Modems des Fahrzeugs 31 von dem Aktualisierungsserver 210 zu dem Fahrzeug 31 geliefert werden kann.
-
Bei Betriebsablauf 608 erhält der Aktualisierungsserver 210 eine Anforderung nach den Zweitfaktor-Informationen 214, die verwendet werden, um die Softwareaktualisierung 206 zu verschlüsseln. Zum Beispiel kann der Aktualisierungsserver 210 eine Anforderung nach den Zweitfaktor-Informationen 214, die verwendet werden sollen, um die Softwareaktualisierung 206 zu entschlüsseln, erhalten.
-
Bei Betriebsablauf 610 liefert der Aktualisierungsserver 210 die Zweitfaktor-Informationen 214 zum Verifizieren der Softwareaktualisierungen 206 an das mit dem Fahrzeug 31 assoziierte mobile Gerät 53. Zum Beispiel kann der Aktualisierungsserver 210, basierend auf in der Anforderung enthaltene und/oder von dem Datenspeicher 208 gepflegte Informationen, das mit dem Fahrzeug 31 assoziierte mobile Gerät 53 zum Verifizieren der Softwareaktualisierung 206 identifizieren. Der Aktualisierungsserver 210 kann dann die Zweitfaktor-Informationen 214 an das mit dem Fahrzeug 31 assoziierte mobile Gerät 53 liefern. Nach Betriebsablauf 610 endet der Prozess 600.
-
7 veranschaulicht einen alternativen beispielhaften Prozess 700 zum Bereitstellen von multifaktorverschlüsselten Softwareaktualisierungen 206 an dem Fahrzeug 31. Genau wie der Prozess 600 kann zum Beispiel der Prozess 700 durch den Aktualisierungsserver 210 in Kommunikation mit dem Fahrzeug 31 über das Netz 61 durchgeführt werden.
-
Bei Betriebsablauf 702 identifiziert der Aktualisierungsserver 210 eine Softwareaktualisierung 206 für ein Fahrzeug 31. Basierend auf den aktuellen Fahrzeugkonfigurationsinformationen kann der Aktualisierungsserver 210 zum Beispiel dafür ausgelegt sein, zu bestimmen, dass es Softwareaktualisierungen 206 zum Aktualisieren einer älteren Softwareversion, die in einem der Fahrzeugmodule 202 installiert ist, von der in dem Datenspeicher 208 spezifizierten Version auf eine jüngere Version gibt. Als ein weiteres Beispiel kann das Fahrzeug 31, basierend auf dem Abfragen des Aktualisierungsservers 210 oder einer anderen Quelle, bestimmen, dass Softwareaktualisierungen 206 in dem Fahrzeug 31 installiert werden sollten und kann eine Nachricht an den Aktualisierungsserver 210 liefern, die die Softwareaktualisierungen 206 anfordert.
-
Bei Betriebsablauf 704 liefert der Aktualisierungsserver 210 die Zweitfaktor-Informationen 214 zum Verifizieren der Softwareaktualisierungen 206 an das mit dem Fahrzeug 31 assoziierte mobile Gerät 53. Zum Beispiel kann der Aktualisierungsserver 210, basierend auf in der Anforderung enthaltene und/oder von dem Datenspeicher 208 gepflegte Informationen, das mit dem Fahrzeug 31 assoziierte mobile Gerät 53 zum Verifizieren der Softwareaktualisierung 206 identifizieren. Der Aktualisierungsserver 210 kann dann die Zweitfaktor-Informationen 214 erzeugen oder auf andere Weise identifizieren, um sie zu verwenden, die identifizierten Softwareaktualisierungen 206 zu verschlüsseln, und kann die Zweitfaktor-Informationen 214 an das mit dem Fahrzeug 31 assoziierte mobile Gerät 53 liefern.
-
Bei Betriebsablauf 706 bestimmt der Aktualisierungsserver 210, ob die Softwareaktualisierung 206 zur Installation genehmigt ist. Zum Beispiel kann die Aktualisierungsverifikations-Anwendung 222 des mobilen Geräts 53 eine Benutzerschnittstelle auf dem mobilen Gerät 53 bereitstellen, die die Erlaubnis des Benutzers anfordert, die von dem Fahrzeug 31 heruntergeladene Softwareaktualisierung 206 zu installieren. Eine beispielhafte Benutzerschnittstelle 400 zur Verifikation der Installation von Softwareaktualisierungen 206 wird oben mit Bezug auf 4 erörtert. Das mobile Gerät 53 kann das Ergebnis an den Aktualisierungsserver 210 zurückgeben. Falls der Benutzer eine Installation der Softwareaktualisierung 206 genehmigt, geht die Steuerung zum Betriebsablauf 708 weiter. Andernfalls geht die Steuerung zu Betriebsablauf 712 weiter.
-
Bei Betriebsablauf 708 verschlüsselt der Aktualisierungsserver 210 die Softwareaktualisierung 206. Zum Beispiel kann der Aktualisierungsserver 210 unter Verwendung der Zweitfaktor-Informationen 214 die identifizierten Softwareaktualisierungen 206 verschlüsseln. Der Aktualisierungsserver 210 kann ferner unter Verwendung von mit dem Fahrzeug 31 assoziierten Erstfaktor-Informationen 212 die Softwareaktualisierung 206 verschlüsseln.
-
Bei Betriebsablauf 710 liefert der Aktualisierungsserver 210 die Softwareaktualisierung 206 an das Fahrzeug 31. Zum Beispiel kann der Aktualisierungsserver 210 die Softwareaktualisierung 206 über das Netz 61 an die Aktualisierungsverwaltungs-Anwendung 220 des VCS 1 des Fahrzeugs 31 liefern, für das die Softwareaktualisierung 206 angezeigt ist. In einigen Fällen kann die Softwareaktualisierung 206 mittels der Datenverbindung des Aktualisierungsservers 210 mit dem mobilen Gerät 53 vom Aktualisierungsserver 210 zu dem Fahrzeug 31 geliefert werden, während die Softwareaktualisierung 206 in anderen Fällen mittels eines internen Modems des Fahrzeugs 31 von dem Aktualisierungsserver 210 zu dem Fahrzeug 31 geliefert werden kann. Nach Betriebsablauf 710 endet der Prozess 700.
-
Bei Betriebsablauf 712 liefert der Aktualisierungsserver 210 eine Benachrichtigung für das Fahrzeug 31, dass die Softwareaktualisierung 206 nicht zur Installation genehmigt wurde. In einigen Fällen kann das Fahrzeug 31 eine Benachrichtigung auf einer Anzeige des Fahrzeugs 31 bereitstellen, um die Insassen des Fahrzeugs 31 darüber zu informieren, dass die Softwareaktualisierung 206 zurückgewiesen wurde. Nach Betriebsablauf 712 endet der Prozess 700.
-
8 veranschaulicht einen beispielhaften Prozess 800 zum Bestätigen der Installation von Softwareaktualisierungen 206 an dem Fahrzeug 31. Der Prozess 800 kann zum Beispiel von dem mobilen Gerät 53, das die Aktualisierungsverifikations-Anwendung 222 ausführt und das für Kommunikation mit dem Fahrzeug 31 und dem Aktualisierungsserver 210 ausgelegt ist, durchgeführt werden.
-
Bei Betriebsablauf 802 assoziiert sich das mobile Gerät 53 zur Verifikation der Softwareaktualisierungen 206 mit dem Fahrzeug 31. Zum Beispiel kann die Aktualisierungsverifikations-Anwendung 222 des mobilen Geräts 53 dem Benutzer über eine Anzeige des mobilen Geräts 53 die Benutzerschnittstelle 300 bereitstellen und kann Benutzereingaben von der Ja-Steuerung 304 erhalten, die die Assoziierung des mobilen Geräts 53 mit dem Fahrzeug 31 akzeptieren. In einigen Fällen können Informationen, die auf die Assoziierung hinweisen, an den Datenspeicher 208 (z. B. über den Aktualisierungsserver 210) für spätere Verwendung geliefert werden, während in anderen Fällen Informationen, die auf die Assoziierung hinweisen, von dem Fahrzeug 31 gepflegt werden.
-
Bei Betriebsablauf 804 erhält das mobile Gerät 53 eine Nachricht, die darauf hinweist, dass eine Softwareaktualisierung 206 für das Fahrzeug 31 offen ist. Der Aktualisierungsserver 210 kann dann zum Beispiel die Zweitfaktor-Informationen 214 an die Aktualisierungsverifikations-Anwendung 222 des mit dem Fahrzeug 31 assoziierten mobilen Geräts 53 liefern.
-
Bei Betriebsablauf 806 fordert das mobile Gerät 53 eine Verifikation der Installation der Softwareaktualisierung 206 von dem Benutzer an. Zum Beispiel kann die Aktualisierungsverifikations-Anwendung 222 des mobilen Geräts 53 eine Benutzerschnittstelle auf dem mobilen Gerät 53 bereitstellen, die die Erlaubnis des Benutzers anfordert, die von dem Fahrzeug 31 heruntergeladene Softwareaktualisierung 206 zu installieren. Eine beispielhafte Benutzerschnittstelle 400 zur Verifikation der Installation von Softwareaktualisierungen 206 wird oben mit Bezug auf 4 erörtert. Falls der Benutzer eine Installation der Softwareaktualisierung 206 genehmigt, geht die Steuerung zum Betriebsablauf 808 weiter. Andernfalls endet der Prozess 800.
-
Bei Betriebsablauf 808 stellt das mobile Gerät 53 dem Fahrzeug 31 die Zweitfaktor-Informationen 214 bereit. Zum Beispiel kann die Aktualisierungsverifikations-Anwendung 222 des mobilen Geräts 53 die Zweitfaktor-Informationen 214 über die lokale Datenverbindung 216 an das Fahrzeug 31 liefern. Als ein weiteres Beispiel können die Zweitfaktor-Informationen 214 auf einer Benutzerschnittstelle des mobilen Geräts 53 (z. B. als ein einzugebender Code) angezeigt werden und manuell von dem Benutzer in das VCS 1 eingegeben werden. Nach Betriebsablauf 808 endet der Prozess 800.
-
9 veranschaulicht einen beispielhaften Prozess 900 zum Installieren von multifaktorverschlüsselten Softwareaktualisierungen 206 durch das Fahrzeug 31. Der Prozess 900 kann zum Beispiel von dem VCS 1 des Fahrzeugs 31, das die Aktualisierungsverwaltungs-Anwendung 220 ausführt und das für Kommunikation mit dem mobilen Gerät 53 und dem Aktualisierungsserver 210 ausgelegt ist, durchgeführt werden.
-
Bei Betriebsablauf 902 erhält das Fahrzeug 31 eine Softwareaktualisierung 206. Das VCS 1 des Fahrzeugs 31 kann zum Beispiel die Softwareaktualisierung 206 über das Netz 61 erhalten und kann die Aktualisierung zum Verarbeiten an die Aktualisierungsverwaltungs-Anwendung 220 liefern. In einigen Fällen kann die Softwareaktualisierung 206 mittels der Datenverbindung des mobilen Geräts 53 zu dem Fahrzeug 31 heruntergeladen werden, während die Softwareaktualisierung 206 in anderen Fällen mittels eines internen Modems des Fahrzeugs 31 zu dem Fahrzeug 31 heruntergeladen werden kann.
-
Bei Betriebsablauf 904 entschlüsselt das Fahrzeug 31 die erste Stufe der Verschlüsselung der Softwareaktualisierung 206 unter Verwendung der Erstfaktor-Informationen 212. Zum Beispiel kann die Aktualisierungsverwaltungs-Anwendung 220 die Erstfaktor-Informationen 212, die von dem Fahrzeug 31 gepflegt werden, verwenden, um die von dem Aktualisierungsserver 210 durchgeführte erste Stufe der Verschlüsselung zu entschlüsseln.
-
Bei Betriebsablauf 906 fordert das Fahrzeug 31 die Zweitfaktor-Informationen 214 von dem Aktualisierungsserver 210 an. Zum Beispiel kann die Aktualisierungsverwaltungs-Anwendung 220 die Anforderung bei erfolgreicher Entschlüsselung der Softwareaktualisierung 206 unter Verwendung der Erstfaktor-Informationen 212 an den Aktualisierungsserver 210 senden. Die Anfrage kann zum Beispiel eine oder mehrere Kennungen von Fahrzeugen 31 wie eine VIN beinhalten. Die Anfrage kann ferner einen Hinweis auf die Softwareaktualisierung 206, für die die Zweitfaktor-Informationen 214 angefordert werden, beinhalten. In einigen Fällen kann die Anforderung auch einen Hinweis auf das von dem Aktualisierungsserver 210 als Reaktion auf die Anforderung zu verwendende assoziierte, mobile Gerät 53 beinhalten, während in anderen Fällen der Aktualisierungsserver 210 das assoziierte mobile Gerät 53 unter Verwendung von anderen in der Anforderung enthaltenen Informationen (z. B. eine VIN) und von assoziierten Geräteinformationen, die von dem Datenspeicher 208 gepflegt werden, identifizieren kann.
-
Bei Betriebsablauf 908 erhält das Fahrzeug 31 die Zweitfaktor-Informationen 214 von dem assoziierten mobilen Gerät 53. Zum Beispiel kann die Aktualisierungsverwaltungs-Anwendung 220 die Zweitfaktor-Informationen 214 von der Aktualisierungsverifikations-Anwendung 222 des mobilen Geräts 53 bei Verifikation durch den Benutzer des mobilen Geräts 53 erhalten, dass die Softwareaktualisierung 206 installiert werden sollte. In einigen Fällen können die Zweitfaktor-Informationen 214 über die lokale Datenverbindung 216 an die Aktualisierungsverwaltungs-Anwendung 220 geliefert werden, während die Zweitfaktor-Informationen 214 in anderen Fällen auf einer Benutzerschnittstelle des mobilen Geräts 53 angezeigt (z. B. als einzugebender Code) und manuell von dem Benutzer in das VCS 1 eingegeben werden.
-
Bei Betriebsablauf 910 entschlüsselt das Fahrzeug 31 die zweite Stufe der Verschlüsselung der Softwareaktualisierung 206 unter Verwendung der Zweitfaktor-Informationen 214. Zum Beispiel kann die Aktualisierungsverwaltungs-Anwendung 220 die Zweitfaktor-Informationen 214, die von dem mobilen Gerät 53 empfangen werden, verwenden, um die von dem Aktualisierungsserver 210 durchgeführte Entschlüsselung der Verschlüsselung zu der Softwareaktualisierung 206 abzuschließen.
-
Bei Betriebsablauf 912 führt das Fahrzeug 31 eine Verifikation des Inhalts der entschlüsselten Softwareaktualisierung 206 durch. Zum Beispiel kann die Aktualisierungsverwaltungs-Anwendung 220 die entschlüsselte Softwareaktualisierung 206 durch Berechnen eines kryptographischen Hash-Wertes für die entschlüsselte Softwareaktualisierung 206 (z. B. MD5 verwendend) verifizieren und den berechneten Wert mit einem für die Softwareaktualisierung 206 von dem Aktualisierungsserver 210 angeforderten oder sonstwie erhaltenen Wert vergleichen. Falls die Softwareaktualisierung verifiziert ist, geht die Steuerung zu Betriebsablauf 912 weiter. Andernfalls endet der Prozess 900. In einigen Fällen kann die Aktualisierungsverwaltungs-Anwendung 220 dafür ausgelegt sein, eine Nachricht an der Benutzerschnittstelle des Fahrzeugs 31 bereitzustellen, falls die Softwareaktualisierung 206 die Verifikation nicht besteht. In einigen Fällen kann die Aktualisierungsverwaltungs-Anwendung 220 die Steuerung an den Betriebsablauf 902 weitergeben, um zu versuchen, die Softwareaktualisierung 206 für Softwareaktualisierungen 206, die die Verifikation nicht bestehen, erneut abzurufen.
-
Bei Betriebsablauf 914 installiert das Fahrzeug 31 die Softwareaktualisierung 206. Zum Beispiel kann die Aktualisierungsverwaltungs-Anwendung 220 von der Softwareaktualisierung 206 ein beabsichtigtes Modul 202 des Fahrzeugs 31 bestimmen, auf das die Softwareaktualisierung 206 angewandt werden soll. Als eine Möglichkeit kann die Softwareaktualisierung 206 eine Moduladresse oder eine andere Kennung beinhalten, die dafür ausgelegt ist, dem VCS 1 zu ermöglichen, zu identifizieren, welches Modul 202 des Fahrzeugs 31 die Softwareaktualisierung 206 erhalten sollte, so dass das VCS 1 die Softwareaktualisierung 206 zu dem richtigen Modul 202 leiten kann (oder die Aktualisierung selbst am VCS 1 installieren). Nach Betriebsablauf 912 endet der Prozess 900.
-
Obgleich oben beispielhafte Ausführungsformen beschrieben werden, ist nicht beabsichtigt, dass diese Ausführungsformen alle möglichen Formen der Erfindung beschreiben. Stattdessen dienen die in der Beschreibung verwendeten Ausdrücke der Beschreibung und nicht der Einschränkung, und es versteht sich, dass verschiedene Änderungen durchgeführt werden können, ohne vom Gedanken und Schutzbereich der Erfindung abzuweichen. Darüber hinaus können die Merkmale verschiedener Implementierungsausführungsformen kombiniert werden, um weitere Ausführungsformen der Erfindung zu bilden.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- IEEE (Institute of Electrical and Electronics Engineers) 802 [0031]
- IEEE 802 LAN(local area network)-Protokolle [0031]
- IEEE 802 PAN [0031]
- IEEE 1394 [0034]
- IEEE 1284 [0034]
- IEEE 803.11 [0036]