DE102015211904A1 - Fahrzeugsoftware-Aktualisierungsverifikation - Google Patents

Fahrzeugsoftware-Aktualisierungsverifikation Download PDF

Info

Publication number
DE102015211904A1
DE102015211904A1 DE102015211904.1A DE102015211904A DE102015211904A1 DE 102015211904 A1 DE102015211904 A1 DE 102015211904A1 DE 102015211904 A DE102015211904 A DE 102015211904A DE 102015211904 A1 DE102015211904 A1 DE 102015211904A1
Authority
DE
Germany
Prior art keywords
vehicle
update
mobile device
software
encryption key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102015211904.1A
Other languages
English (en)
Inventor
Scott Smereka
Justin Dickow
Joel J. Fischer
Jacob R. Sigal
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Livio Inc
Original Assignee
Myine Electronics LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Myine Electronics LLC filed Critical Myine Electronics LLC
Publication of DE102015211904A1 publication Critical patent/DE102015211904A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K35/00Arrangement of adaptations of instruments
    • B60K35/29
    • B60K35/80
    • B60K35/85
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
    • B60K2360/182
    • B60K2360/573
    • B60K2360/5899
    • B60K2360/592
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2111Location-sensitive, e.g. geographical location, GPS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Abstract

Ein mobiles Gerät kann zur Verifikation von Softwareaktualisierungen mit einem Fahrzeug assoziiert sein. Das mobile Gerät kann dafür ausgelegt sein, 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. Ein Aktualisierungsserver kann dafür ausgelegt sein, 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.

Description

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

Claims (19)

  1. System, umfassend: ein mobiles Gerät, das zur Verifikation von Softwareaktualisierungen mit einem Fahrzeug assoziiert ist und das ausgelegt ist zum Erhalten einer Nachricht, die einen Verschlüsselungsschlüssel, mit dem eine Softwareaktualisierung für ein Fahrzeug verschlüsselt ist, beinhaltet, Bereitstellen einer Benutzerschnittstelle, die eine Benutzerverifikation einer Installation der Softwareaktualisierung anfordert, und Bereitstellen, als Reaktion auf den Erhalt der Benutzerverifikation, des Verschlüsselungsschlüssels an dem Fahrzeug, um dem Fahrzeug zu ermöglichen, die Softwareaktualisierung zu entschlüsseln.
  2. System nach Anspruch 1, wobei das mobile Gerät ferner konfiguriert ist zum Präsentieren einer Benutzerschnittstelle, die den Benutzer auffordert, zu bestätigen, dass das Fahrzeug und das mobile Gerät zur Verifikation von Softwareaktualisierungen assoziiert sein sollten, und Bereitstellen, als Reaktion auf den Erhalt einer Bestätigung der Assoziierung von dem Benutzer, eines Hinweises an dem Fahrzeug, dass das mobile Gerät zur Verifikation von Softwareaktualisierungen mit dem Fahrzeug assoziiert ist.
  3. System nach Anspruch 1 oder 2, wobei die Softwareaktualisierung durch das Fahrzeug von einem Aktualisierungsserver erhalten wird und der Verschlüsselungsschlüssel ein asymmetrischer Schlüssel ist, mit dem der Aktualisierungsserver die Softwareaktualisierung verschlüsselt.
  4. System nach Anspruch 3, wobei die Nachricht, die den Verschlüsselungsschlüssel beinhaltet, von dem Aktualisierungsserver erhalten wird.
  5. System nach Anspruch 3 oder 4, wobei die Softwareaktualisierung ferner mit einem zusätzlichen Verschlüsselungsschlüssel, der von dem Aktualisierungsserver und dem Fahrzeug gespeichert wird, verschlüsselt wird und das Fahrzeug ferner ausgelegt ist zum: Entschlüsseln der Softwareaktualisierung unter Verwendung des zusätzlichen Verschlüsselungsschlüssels; und Senden einer Anforderung an den Aktualisierungsserver, die anfordert, dass die Nachricht, die den Verschlüsselungsschlüssel beinhaltet, an dem mobilen Gerät bereitgestellt wird.
  6. System nach Anspruch 5, wobei der zusätzliche Verschlüsselungsschlüssel ein symmetrischer Schlüssel ist.
  7. System, insbesondere zum Zusammenwirken mit einem System nach einem der vorhergehenden Ansprüche, umfassend: ein Fahrzeug-Computersystem, das ausgelegt ist zum: Erhalten einer Softwareaktualisierung von einem Aktualisierungsserver, Senden einer Anforderung an den Aktualisierungsserver, die anfordert, dass ein Verschlüsselungsschlüssel, der zum Verschlüsseln der Softwareaktualisierung verwendet wird, zur Verifikation von Softwareaktualisierungen an einem mobilen Gerät, das mit dem Fahrzeug assoziiert ist, bereitgestellt wird, und Erhalten, als Reaktion auf den Erhalt einer Benutzerverifikation durch das mobile Gerät, des Verschlüsselungsschlüssels von dem mobilen Gerät, um die Softwareaktualisierung zu entschlüsseln.
  8. System nach Anspruch 7, wobei das Fahrzeug-Computersystem ferner ausgelegt ist zum: Pflegen von Informationen, die auf das mobile Gerät hinweisen, das mit dem Fahrzeug assoziiert ist, und Bereitstellen der Informationen, die auf das mobile Gerät hinweisen, das mit dem Fahrzeug assoziiert ist, an den Aktualisierungsserver, um es dem Aktualisierungsserver zu ermöglichen, den Verschlüsselungsschlüssel an das mobile Gerät zu senden.
  9. System nach Anspruch 7 oder 8, wobei der Verschlüsselungsschlüssel ein asymmetrischer Schlüssel ist, mit dem der Aktualisierungsserver die Softwareaktualisierung verschlüsselt.
  10. System nach einem der Ansprüche 7 bis 9, wobei der Verschlüsselungsschlüssel von dem mobilen Gerät als Reaktion auf die Anforderung an den Aktualisierungsserver erhalten wird.
  11. System nach einem der Ansprüche 7 bis 10, wobei die Softwareaktualisierung ferner mit einem zusätzlichen Verschlüsselungsschlüssel, der von dem Aktualisierungsserver und dem Fahrzeug gespeichert wird, verschlüsselt wird und das Fahrzeug-Computersystem ferner ausgelegt ist, zum: Entschlüsseln der Softwareaktualisierung unter Verwendung des zusätzlichen Verschlüsselungsschlüssels; und Senden der Anforderung an den Aktualisierungsserver als Reaktion auf das Abschließen der Entschlüsselung der Softwareaktualisierung unter Verwendung des zusätzlichen Verschlüsselungsschlüssels.
  12. System nach Anspruch 11, wobei der zusätzliche Verschlüsselungsschlüssel ein symmetrischer Schlüssel ist.
  13. System, insbesondere zum Zusammenwirken mit einem System nach einem der vorhergehenden Ansprüche, umfassend: einen Aktualisierungsserver, der ausgelegt ist zum Senden einer Softwareaktualisierung, die unter Verwendung eines Verschlüsselungsschlüssels verschlüsselt wird, an ein Fahrzeug, Erhalten einer Anforderung von dem Fahrzeug, die anfordert, dass der Verschlüsselungsschlüssel, der zum Verschlüsseln der Softwareaktualisierung verwendet wird, zur Verifikation von Softwareaktualisierungen an einem mobilen Gerät, das mit dem Fahrzeug assoziiert ist, bereitgestellt wird, und Senden des Verschlüsselungsschlüssels an das mobile Gerät als Reaktion auf die Anforderung.
  14. System nach Anspruch 13, wobei der Aktualisierungsserver ferner dafür ausgelegt ist, die Softwareaktualisierung unter Verwendung des Verschlüsselungsschlüssels zu verschlüsseln.
  15. System nach Anspruch 13 oder 14, wobei der Aktualisierungsserver ferner ausgelegt ist zum: Pflegen des Zugriffs auf Informationen, die auf das mobile Gerät hinweisen, das mit dem Fahrzeug assoziiert ist, und Senden des Verschlüsselungsschlüssels an das mobile Gerät, basierend auf den Informationen, die auf das mit dem Fahrzeug assoziierte mobile Gerät hinweisen.
  16. System nach einem der Ansprüche 13 bis 15, wobei der Aktualisierungsserver ferner ausgelegt ist zum: Erhalten von Informationen, die auf das mobile Gerät, das mit dem Fahrzeug assoziiert ist, hinweisen von dem Fahrzeug an den Aktualisierungsserver, und Senden des Verschlüsselungsschlüssels an das mobile Gerät, basierend auf den Informationen, die auf das mit dem Fahrzeug assoziierte mobile Gerät hinweisen.
  17. System nach einem der Ansprüche 13 bis 16, wobei der Verschlüsselungsschlüssel ein asymmetrischer Schlüssel ist.
  18. System nach einem der Ansprüche 13 bis 17, wobei der Aktualisierungsserver ferner dafür ausgelegt ist, die Softwareaktualisierung gemäß einem zusätzlichen Verschlüsselungsschlüssel, der von dem Fahrzeug gepflegt wird, zu verschlüsseln.
  19. System nach Anspruch 18, wobei der zusätzliche Verschlüsselungsschlüssel ein symmetrischer Schlüssel ist.
DE102015211904.1A 2014-07-09 2015-06-26 Fahrzeugsoftware-Aktualisierungsverifikation Pending DE102015211904A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/326,713 2014-07-09
US14/326,713 US9722781B2 (en) 2014-07-09 2014-07-09 Vehicle software update verification

Publications (1)

Publication Number Publication Date
DE102015211904A1 true DE102015211904A1 (de) 2016-01-14

Family

ID=54867135

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015211904.1A Pending DE102015211904A1 (de) 2014-07-09 2015-06-26 Fahrzeugsoftware-Aktualisierungsverifikation

Country Status (3)

Country Link
US (1) US9722781B2 (de)
CN (1) CN105260198B (de)
DE (1) DE102015211904A1 (de)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150363210A1 (en) * 2014-06-12 2015-12-17 Ford Global Technologies, Llc Vehicle download by remote mobile device
US9894066B2 (en) * 2014-07-30 2018-02-13 Master Lock Company Llc Wireless firmware updates
US9600949B2 (en) 2014-07-30 2017-03-21 Master Lock Company Llc Wireless key management for authentication
US20160098259A1 (en) * 2014-10-02 2016-04-07 The Boeing Company Software Aircraft Part Installation System
US9648023B2 (en) * 2015-01-05 2017-05-09 Movimento Group Vehicle module update, protection and diagnostics
US20160266886A1 (en) * 2015-03-10 2016-09-15 GM Global Technology Operations LLC Performing a vehicle update
DE102015204362A1 (de) * 2015-03-11 2016-09-15 Robert Bosch Gmbh Stromtankstelle und Elektrofahrzeug
US10162625B2 (en) * 2015-04-14 2018-12-25 Ford Global Technologies, Llc Vehicle control storage methods and systems
DE102015211540A1 (de) * 2015-06-23 2016-12-29 Bayerische Motoren Werke Aktiengesellschaft Verfahren, Server, Firewall, Steuergerät, und System zur Programmierung eines Steuergeräts eines Fahrzeugs
DE102015219365B4 (de) * 2015-10-07 2019-06-19 Volkswagen Aktiengesellschaft Erstellen einer Kommunikationsverbindung zwischen Mobilgerät und Fahrzeug
EP3363175A1 (de) * 2015-10-15 2018-08-22 Otis Elevator Company Software-aktualisierungsvorrichtung
US10277597B2 (en) 2015-11-09 2019-04-30 Silvercar, Inc. Vehicle access systems and methods
US11831654B2 (en) * 2015-12-22 2023-11-28 Mcafee, Llc Secure over-the-air updates
JP6390644B2 (ja) * 2016-03-02 2018-09-19 住友電気工業株式会社 プログラム更新システム、プログラム更新方法及びコンピュータプログラム
US10235154B2 (en) * 2016-03-09 2019-03-19 Ford Global Technologies, Llc Over-the-air trigger to vehicle interrogator updates
US10706140B2 (en) * 2016-03-30 2020-07-07 Ford Global Technologies, Llc Vehicle computer update authentication
US11321072B2 (en) 2016-03-30 2022-05-03 Ford Global Technologies, Llc Vehicle computer update authentication
US20170331795A1 (en) * 2016-05-13 2017-11-16 Ford Global Technologies, Llc Vehicle data encryption
WO2017209310A1 (ja) * 2016-06-03 2017-12-07 株式会社ミックウェア 情報処理システム、情報処理端末、情報処理方法、情報処理プログラム
US20170357494A1 (en) * 2016-06-08 2017-12-14 International Business Machines Corporation Code-level module verification
US10309792B2 (en) 2016-06-14 2019-06-04 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
US10126136B2 (en) 2016-06-14 2018-11-13 nuTonomy Inc. Route planning for an autonomous vehicle
CN106227079A (zh) * 2016-06-30 2016-12-14 大连楼兰科技股份有限公司 车联网嵌入式系统中使用dtmf技术控制车辆的方法、平台及应用
US10829116B2 (en) 2016-07-01 2020-11-10 nuTonomy Inc. Affecting functions of a vehicle based on function-related information about its environment
US11146401B2 (en) * 2016-08-10 2021-10-12 Ford Global Technologies, Llc Software authentication before software update
EP3291087A1 (de) * 2016-09-01 2018-03-07 Nxp B.V. Vorrichtung und zugehöriges verfahren zur authentifizierung von firmware
CN107819794A (zh) * 2016-09-12 2018-03-20 厦门雅迅网络股份有限公司 车载终端程序升级方法及其系统
US10140116B2 (en) * 2016-09-26 2018-11-27 Ford Global Technologies, Llc In-vehicle auxiliary memory storage
US9913081B1 (en) * 2016-10-13 2018-03-06 GM Global Technology Operations LLC Method and device for communicating with a vehicle system module while conserving power by using two different short range wireless communication (SRWC) protocols
US10473470B2 (en) 2016-10-20 2019-11-12 nuTonomy Inc. Identifying a stopping place for an autonomous vehicle
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
WO2018094677A1 (zh) * 2016-11-25 2018-05-31 深圳市汇顶科技股份有限公司 低功耗蓝牙ble设备、数据更新系统及方法
US11295017B2 (en) * 2017-01-31 2022-04-05 Ford Global Technologies, Llc Over-the-air updates security
US10705820B2 (en) * 2017-02-02 2020-07-07 Ford Global Technologies, Llc Method and apparatus for secure multi-cycle vehicle software updates
JP6747339B2 (ja) * 2017-02-27 2020-08-26 株式会社オートネットワーク技術研究所 プログラム更新方法
DE112018001985T5 (de) * 2017-04-12 2019-12-19 Sumitomo Electric Industries, Ltd. Relais-Einrichtung, Transferverfahren und Computerprogramm
KR102368606B1 (ko) * 2017-07-31 2022-03-02 현대자동차주식회사 효율적인 차량용 리프로그래밍 장치 및 그 제어방법
CN107992321B (zh) * 2017-12-28 2021-04-27 国机智骏汽车有限公司 Ecu软件更新方法、装置、车载t-box及车辆
US11003441B2 (en) 2018-01-09 2021-05-11 Justdo, Inc. Scripting language computer program modification methodology, system and software
US11349669B1 (en) * 2018-01-30 2022-05-31 State Farm Mutual Automobile Insurance Company Cryptographic hash chain for vehicle configuration verification
US10789364B2 (en) * 2018-05-02 2020-09-29 Nxp B.V. Method for providing an authenticated update in a distributed network
US11245583B2 (en) 2018-05-03 2022-02-08 Micron Technology, Inc. Determining whether a vehicle should be configured for a different region
JP7379892B2 (ja) * 2018-07-25 2023-11-15 株式会社デンソー 車両用電子制御システム、車両側システム及び携帯端末
WO2020022265A1 (ja) 2018-07-25 2020-01-30 株式会社デンソー 車両用電子制御システム、プログラム更新の承諾判定方法及びプログラム更新の承諾判定プログラム
US10498727B1 (en) 2018-08-29 2019-12-03 Capital One Services, Llc Systems and methods of authentication using vehicle data
US11144296B2 (en) * 2018-09-05 2021-10-12 International Business Machines Corporation Multi-variable based secure download of vehicle updates
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
US20200174771A1 (en) * 2018-12-03 2020-06-04 GM Global Technology Operations LLC Method and system for over the air updates in a vehicle
FR3096160B1 (fr) * 2019-05-16 2021-09-10 Renault Sas Procédé d’installation d’un composant informatique et équipement électronique associé
WO2020239499A1 (en) * 2019-05-24 2020-12-03 Assa Abloy Ab Enabling upgrading firmware of a target device
US11294662B2 (en) 2019-10-09 2022-04-05 Toyota Motor North America, Inc. Management of transport software updates
US11169795B2 (en) * 2019-10-09 2021-11-09 Toyota Motor North America, Inc. Management of transport software updates
US11422792B2 (en) 2019-10-09 2022-08-23 Toyota Motor North America, Inc. Management of transport software updates
JP7283359B2 (ja) * 2019-11-19 2023-05-30 株式会社オートネットワーク技術研究所 車載更新装置、及び更新処理プログラム
CN113010893A (zh) * 2019-12-19 2021-06-22 华为技术有限公司 一种软件管理方法、装置及系统
US11893092B2 (en) * 2020-01-17 2024-02-06 Sony Group Corporation Privilege auto platform
CN113162959B (zh) * 2020-01-23 2023-06-30 华为技术有限公司 车载设备的升级方法和装置
JP7421387B2 (ja) * 2020-03-19 2024-01-24 本田技研工業株式会社 ソフトウェア書換装置
US11281450B2 (en) 2020-06-23 2022-03-22 Toyota Motor North America, Inc. Secure transport software update
US11880670B2 (en) 2020-06-23 2024-01-23 Toyota Motor North America, Inc. Execution of transport software update
JP7419992B2 (ja) * 2020-07-02 2024-01-23 トヨタ自動車株式会社 ソフトウェア更新装置、方法、プログラムおよび車両
US11868755B2 (en) 2021-07-30 2024-01-09 Toyota Motor Engineering & Manufacturing North America, Inc. Updating software installed on an electronic unit on a vehicle
US20230112219A1 (en) * 2021-10-07 2023-04-13 Dell Products L.P. Notification based software management via connected devices

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001050312A1 (en) * 2000-01-05 2001-07-12 Pintsov Leon A System and method for trusted self-billing for utilities
GB2367933B (en) * 2000-10-10 2002-10-23 F Secure Oyj Encryption
US20050021968A1 (en) 2003-06-25 2005-01-27 Zimmer Vincent J. Method for performing a trusted firmware/bios update
US20050232422A1 (en) * 2004-04-19 2005-10-20 Jingdong Lin GSM (Global System for Mobile communication) handset with carrier independent personal encryption
US7366589B2 (en) * 2004-05-13 2008-04-29 General Motors Corporation Method and system for remote reflash
US20060056605A1 (en) * 2004-09-13 2006-03-16 Andrew Whitfield Telemetry using "always-on" communication connection system and method
KR100641218B1 (ko) * 2004-11-19 2006-11-02 엘지전자 주식회사 지상파 디지털 멀티미디어 방송을 위한 수신제한 방송시스템 및 방법
SG143084A1 (en) * 2006-11-17 2008-06-27 Nanyang Polytechnic Software copyright protection and licensing system using rfid
US20090300365A1 (en) * 2008-05-30 2009-12-03 Robert Karmes Vehicle Diagnostic System Security with Memory Card
US8214653B1 (en) 2009-09-04 2012-07-03 Amazon Technologies, Inc. Secured firmware updates
US11042816B2 (en) * 2009-10-30 2021-06-22 Getaround, Inc. Vehicle access control services and platform
WO2011109460A2 (en) * 2010-03-02 2011-09-09 Liberty Plug-Ins, Inc. Method and system for using a smart phone for electrical vehicle charging
US9464905B2 (en) * 2010-06-25 2016-10-11 Toyota Motor Engineering & Manufacturing North America, Inc. Over-the-air vehicle systems updating and associate security protocols
US8856536B2 (en) 2011-12-15 2014-10-07 GM Global Technology Operations LLC Method and apparatus for secure firmware download using diagnostic link connector (DLC) and OnStar system
CN202424739U (zh) * 2012-01-06 2012-09-05 北京汽车股份有限公司 加密模块、服务平台及车载通信系统
JP5950225B2 (ja) * 2012-01-10 2016-07-13 クラリオン株式会社 サーバ装置、車載端末、情報通信方法および情報配信システム
CN102833250B (zh) * 2012-08-28 2016-04-13 华南理工大学 一种用于车载移动互联的安全管理方法和系统
US8972736B2 (en) 2012-09-12 2015-03-03 General Motors Llc Fully authenticated content transmission from a provider to a recipient device via an intermediary device

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
IEEE (Institute of Electrical and Electronics Engineers) 802
IEEE 1284
IEEE 1394
IEEE 802 LAN(local area network)-Protokolle
IEEE 802 PAN
IEEE 803.11

Also Published As

Publication number Publication date
CN105260198A (zh) 2016-01-20
CN105260198B (zh) 2020-04-17
US20160013934A1 (en) 2016-01-14
US9722781B2 (en) 2017-08-01

Similar Documents

Publication Publication Date Title
DE102015211904A1 (de) Fahrzeugsoftware-Aktualisierungsverifikation
DE102014119653A1 (de) Sichere Bearbeitung von Verbindungseinstellungen eines eingebetteten Modems durch Kommunikation über Kurznachrichtenübermittlungsdienst
DE102016100430A1 (de) Verfahren und Systeme zur Aktualisierung von Fahrzeugsteuerungen
DE102019115869A1 (de) Benutzer-aktivierter/-deaktivierter schlüsselanhänger
DE102017117294A1 (de) Verfahren und vorrichtung zur verwendung eines digitalen temporären fahrzeugschlüssels
DE102015103974A1 (de) Fahrzeugtelematik-Datenaustausch
DE102015120902A1 (de) Fernerlaubnissteuerung und -überwachung von Fahrzeuganwendungen
DE102014204222A1 (de) Verfahren und vorrichtung für die umprogrammierung mehrerer fahrzeugsoftwaremodule
DE102015108793A1 (de) Fahrzeugdownload mittels entfernter Mobilvorrichtung
DE102018129843A1 (de) Einrichten einer sicheren drahtlosen Nahbereichs-Kommunikationsverbindung an einem Fahrzeug
DE102015206639A1 (de) Fahrzeuginterne Wohnhaus-Automation-Integration
DE102016100203A1 (de) Verfahren und Systeme zur Aktualisierung von Fahrzeugsteuerungen
DE102019115699A1 (de) Benutzeraktivierter/-deaktivierter drahtloser nahbereichskommunikations-zusatzschlüsselanhänger (srwc-zusatzschlüsselanhänger)
DE102018111262A1 (de) Bedienung eines schlüsselanhängers in einem carsharing-system
DE102015119826A1 (de) Verfahren und Systeme für ein Fahrzeugcomputersystem zur Kommunikation mit einem Gerät
DE102016106057A1 (de) Systeme und verfahren für mobiltelefon-schlüsselanhängermanagement
DE102014118910A1 (de) Autonome globale Softwareaktualisierung
DE102014119366A1 (de) Flexible merkmalsbereitstellungsstrategie
DE102015203151A1 (de) Stille Softwareaktualisierungen innerhalb eines Fahrzeugs
DE102015116703A1 (de) Verfahren und Systeme zur Aktualisierung eines Fahrzeugdatenverarbeitungssystems
DE102015104271A1 (de) Zielgerichtete Fernaktualisierung von Fahrzeugfunktionen
DE102015104651A1 (de) Fernfahrzeugkonnektivitätsstatus
DE102015206764A1 (de) System und Verfahren zum Verwalten von Softwareaktualisierungen an einem Fahrzeugrechensystem
DE102015107189A1 (de) Modulschnittstelle für Fahrzeugaktualisierungen
DE102013216055A1 (de) Verfahren und Vorrichtungen für Fahrzeugrechensystem-Softwareaktualisierungen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: ETL IP PATENTANWALTSGESELLSCHAFT MBH, DE

Representative=s name: ETL IP PATENT- UND RECHTSANWALTSGESELLSCHAFT M, DE