DE102017102539A1 - Sicheres tunneln für sicherheit verbundener anwendungen - Google Patents

Sicheres tunneln für sicherheit verbundener anwendungen Download PDF

Info

Publication number
DE102017102539A1
DE102017102539A1 DE102017102539.1A DE102017102539A DE102017102539A1 DE 102017102539 A1 DE102017102539 A1 DE 102017102539A1 DE 102017102539 A DE102017102539 A DE 102017102539A DE 102017102539 A1 DE102017102539 A1 DE 102017102539A1
Authority
DE
Germany
Prior art keywords
application
computing platform
vehicle
certificate
mobile
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
DE102017102539.1A
Other languages
English (en)
Inventor
Michael Raymond Westra
David Ray ERKKILA
Elizabeth Halash
Kevin BURDETTE
Julius Marchwicki
Alan Daniel GONZALEZ
Chad Evert Esselink
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.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies 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 Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of DE102017102539A1 publication Critical patent/DE102017102539A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • 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
    • 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/44Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
    • 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

Abstract

Eine Datenverarbeitungsplattform eines Fahrzeugs kann von einer mobilen Anwendung, die auf eine sichere Fahrzeugfunktion zugreift, eine Anforderung empfangen, einen sicheren Tunnel zwischen der Datenverarbeitungsplattform und der mobilen Vorrichtung zu erzeugen; ein Anwendungszertifikat von der mobilen Anwendung abrufen; und die Erzeugung des sicheren Tunnels unter Verwendung des Anwendungszertifikats und eines Modulzertifikats aus einer lokalen Richtlinientabelle der Datenverarbeitungsplattform validieren. Eine mit einer Datenverarbeitungsplattform eines Fahrzeugs verbundene mobile Vorrichtung kann eine mobile Anwendung ausführen, die eine sichere Fahrzeugfunktion erfordert; eine Anforderung zur Erzeugung eines sicheren Tunnels mit der Datenverarbeitungsplattform als Reaktion auf Zugriff auf die sichere Fahrzeugfunktion durch die mobile Anwendung senden; und ein der mobilen Anwendung entsprechendes Anwendungszertifikat zu der Datenverarbeitungsplattform senden, um die Erzeugung des sicheren Kanals zu validieren.

Description

  • TECHNISCHES GEBIET
  • Aspekte der Offenbarung betreffen allgemein die Verwendung eines sicheren Tunnels für Sicherheit verbundener Anwendungen.
  • STAND DER TECHNIK
  • Ein Fahrzeug kann es erlauben, dass mobile Anwendungen Dritter Sprachbefehle in die Mensch-Maschine-Schnittstelle (HMI) des Fahrzeugs integrieren. Hierdurch können die Anwendungen Dritter über die HMI des Fahrzeugs steuerbar sein. Einige Anwendungen Dritter können jedoch für Verwendung, wenn sich das Fahrzeug in Bewegung befindet, nicht geeignet sein oder können gemäß behördlichen Bestimmungen eingeschränkt sein.
  • KURZFASSUNG
  • In einer ersten beispielhaften Ausführungsform umfasst ein System eine Datenverarbeitungsplattform eines Fahrzeugs, programmiert zum Empfangen einer Anforderung von einer mobilen Vorrichtung, die eine mobile Anwendung ausführt, die auf eine sichere Funktion zugreift, zum Erzeugen eines sicheren Tunnels zwischen der Datenverarbeitungsplattform und der mobilen Vorrichtung; zum Abrufen eines Anwendungszertifikats von der mobilen Anwendung; und zum Validieren der Erzeugung des sicheren Tunnels unter Verwendung des Anwendungszertifikats und eines Modulzertifikats, das in einer lokalen Richtlinientabelle der Datenverarbeitungsplattform gespeichert wird.
  • Bei einer zweiten beispielhaften Ausführungsform umfasst ein System eine mobile Vorrichtung, die mit einer Datenverarbeitungsplattform eines Fahrzeugs verbunden ist, programmiert zum Ausführen einer mobilen Anwendung, die eine sichere Funktion benötigt; zum Senden einer Anforderung zum Erzeugen eines sicheren Tunnels mit der Datenverarbeitungsplattform als Reaktion auf Zugriff auf die sichere Funktion durch die mobile Anwendung; und zum Senden eines der mobilen Anwendung entsprechenden Anwendungszertifikats zu der Datenverarbeitungsplattform, um die Erzeugung des sicheren Tunnels zu validieren.
  • Bei einer dritten beispielhaften Ausführungsform umfasst ein Verfahren das Senden einer Anforderung durch eine mit einer Datenverarbeitungsplattform verbundene mobile Vorrichtung, einen sicheren Tunnel mit der Datenverarbeitungsplattform zu erzeugen, um eine mobile Anwendung auszuführen, die eine sichere Funktion benötigt; und das Empfangen von Validierung des sicheren Tunnels mit der Datenverarbeitungsplattform, die unter Verwendung eines in mobiler Vorrichtung gespeicherten Anwendungszertifikats und eines in einer lokalen Richtlinientabelle der Datenverarbeitungsplattform gespeicherten Modulzertifikats durchgeführt wird.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt eine beispielhafte Darstellung eines Systems, das dafür ausgelegt ist, einem Fahrzeug Telematikdienste bereitzustellen;
  • 2 zeigt eine beispielhafte Darstellung einer Anwendungsrichtlinienarchitektur;
  • 3 zeigt eine beispielhafte Darstellung einer mobilen Anwendung, die durch die mobile Vorrichtung unter Verwendung eines sicheren Tunnels mit der Datenverarbeitungsplattform des Fahrzeugs ausgeführt wird;
  • 4 zeigt eine beispielhafte Darstellung einer mobilen Anwendung, die ein Anwendungszertifikat anfordert;
  • 5 zeigt einen beispielhaften Prozess zum Aktualisieren einer Master-Richtlinientabelle;
  • 6 zeigt einen beispielhaften Prozess zum Erzeugen von Zertifikaten durch das Anwendungs-Fernverwaltungssystem;
  • 7 zeigt einen beispielhaften Prozess zum Aktualisieren einer lokalen Richtlinientabelle des Fahrzeugs;
  • 8 zeigt einen beispielhaften Prozess für eine ein Anwendungszertifikat für eine mobile Anwendung anfordernde mobile Vorrichtung; und
  • 9 zeigt einen beispielhaften Prozess, um eine lokale Richtlinientabelle und Zertifikate zur Zulassungskontrolle für mobile Anwendungen zu verwenden.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Wie gefordert werden hier ausführliche Ausführungsformen der vorliegenden Erfindung offenbart; es versteht sich jedoch, dass die offenbarten Ausführungsformen lediglich beispielhaft für die Erfindung sind, die in verschiedenen und alternativen Formen realisiert werden kann. Die Figuren sind nicht unbedingt maßstabsgetreu; einige Merkmale können vergrößert oder minimiert sein, um Einzelheiten bestimmter Komponenten zu zeigen. Hier offenbarte spezifische Struktur- und Funktionsdetails sind deshalb nicht als Beschränkung aufzufassen, sondern lediglich als repräsentative Grundlage, um es Fachleuten zu lehren, die vorliegende Erfindung verschiedenartig einzusetzen.
  • Eine mobile Anwendung, die durch eine mobile Vorrichtung ausgeführt wird, die mit einem Fahrzeug verbunden ist, kann Merkmale des Fahrzeugs benutzen. In einem Beispiel kann der Benutzer eine Navigationsanwendung auf dem Mobiltelefon ausführen, wobei die Anwendung dem Benutzer in der Fahrzeug-HMI angezeigt wird. Da die mobile Anwendung Zugriff auf Fahrzeugmerkmale hat, kann das Fahrzeug die Anwendung unter Verwendung eines oder mehrerer Sicherheitsmechanismen authentifizieren. Zum Beispiel kann jede Anwendung mit einer Anwendungskennung assoziiert sein, und das Fahrzeug kann validieren, dass die Anwendungskennung auf einer Liste von Kennungen von Anwendungen steht, denen es erlaubt ist, mit dem Fahrzeug zu kommunizieren. Als eine andere Möglichkeit kann jede Anwendung mit bestimmten API-Aufrufen (API: Anwendungsprogrammierschnittstelle) assoziiert sein, für die die Anwendung autorisiert ist, und das Fahrzeug kann die Befehle, die die Anwendung zum Fahrzeug sendet, validieren, um sicherzustellen, dass die Anwendung API-Aufrufe durchführt, die als zulässig angegeben sind.
  • Wenn sich die Anwendung im Fahrzeug bei dem Fahrzeugdatenverarbeitungssystem registriert, stellt die Anwendung dem Fahrzeug die Anwendungskennung bereit. Das Fahrzeugdatenverarbeitungssystem kann dann eine Richtlinientabelle prüfen, die von einem Server in die Fahrzeugdatenverarbeitungsplattform heruntergeladen wird, um eine Anwendungsrichtlinie zu identifizieren, die mit der bereitgestellten Anwendungskennung assoziiert ist. Die Anwendungsrichtlinie kann vorschreiben, ob es der Anwendung erlaubt ist, unter Verwendung der Fahrzeug-HMI zu laufen, und wenn dem so ist, welche API-Zulassungen die Anwendung bei dem Fahrzeugdatenverarbeitungssystem gewährt bekommt. Wenn die Richtlinientabellendatei keine Richtlinienzulassungen für die Anwendungskennung enthält, kann das Fahrzeugdatenverarbeitungssystem eine Richtlinientabellen-Dateiaktualisierung von dem Server anfordern. Die aktualisierte Richtlinientabellendatei, die durch den Server bereitgestellt wird, kann aktualisierte Richtlinienzulassungen und andere Anwendungsinformationen umfassen.
  • In einigen Fällen kann die mobile Anwendung Zugriff auf eine oder mehrere sichere Fahrzeugfunktionen anfordern. Sichere Fahrzeugfunktionen wären zum Beispiel Funktionen, die auf Audio- oder Videomerkmale des Fahrzeugs zugreifen, wie etwa Anzeige von Informationen auf einem Fahrzeugbildschirm, Bereitstellen von Audio mittels eines Fahrzeugaudiosystems, Verwendung von Daten von einem fahrzeuginternen Mikrofon oder andere Medienmerkmale der Datenverarbeitungsplattform. Als einige andere Beispiele können sichere Fahrzeugfunktionen etwa Zugriff auf Fahrzeugdiagnostik wie Motordaten, Schreiben von Informationen in das Fahrzeug oder Zugriff auf Daten, die persönlich identifizierbare Informationen umfassen, wie etwa Fahrzeugort, umfassen. Als noch weitere Beispiele können die sicheren Fahrzeugfunktionen Authentifizierung für einen oder mehrere der Vorgänge mobile Bezahlung, autonomes Fahren, Entriegeln des Fahrzeugs, Starten des Fahrzeugs, Fahrgemeinschaft, Mikroverleih und Zugriff auf Personalisierungseinstellungen für einen Benutzer der mobilen Vorrichtung umfassen.
  • Die Fahrzeugdatenverarbeitungsplattform kann ferner die Verwendung der sicheren Fahrzeugfunktionen schützen, indem bidirektionale Transportschichtsicherheit bereitgestellt wird, um die Fahrzeugdatenverarbeitungsplattform bei der mobilen Anwendung zu authentifizieren. Die Transportschichtsicherheit kann ein speziell für die durch die mobile Vorrichtung ausgeführte Anwendung ausgestelltes Anwendungszertifikat und ein speziell für ein Datenverarbeitungsmodul der Fahrzeugdatenverarbeitungsplattform ausgestelltes Modulzertifikat umfassen.
  • Die Anwendung kann das Anwendungszertifikat von einem entfernten Server anfordern. In einem Beispiel kann die Anwendung ihre Anwendungskennung und ihren Namen in einer Anforderung eines Zertifikats oder Tokens zu dem Server senden. Der Server kann das Anwendungszertifikat als Reaktion auf die Anforderung senden und die Anwendung kann sie empfangen. Zum Bewahren der Sicherheit des Anwendungszertifikats kann der Server das Anwendungszertifikat unter Verwendung eines in der mobilen Anwendung und im Server gespeicherten symmetrischen Geheimschlüssels codieren, und die Anwendung kann das Anwendungszertifikat unter Verwendung des Geheimschlüssels entschlüsseln. Das Anwendungszertifikat kann mit einer vordefinierten Zeitgrenzenperiode (z. B. täglich, monatlich, wöchentlich usw.) erzeugt werden, wonach das Zertifikat abgelaufen ist und die Anwendung möglicherweise ein neues Zertifikat von dem Server anfordern muss. In einigen Fällen kann der Server aktualisierte Zertifikate im Voraus erzeugen, damit aktualisierte Zertifikate zum Herunterladen verfügbar sind, bevor das aktuelle Anwendungszertifikat abgelaufen ist.
  • In die Richtlinientabelle kann der Richtlinienserver ferner das Modulzertifikat aufnehmen, das mit der Kennung des Fahrzeugdatenverarbeitungssystems assoziiert ist. In einem Beispiel kann die Richtlinientabelle Modulzertifikate umfassen, die speziell für eine Modulseriennummer des Datenverarbeitungsmoduls oder mit der Telematiksteuereinheit ausgestellt sind. Die Modulzertifizierung kann auch mit einer vordefinierten Zeitgrenzenperiode (z. B. monatlich, wöchentlich usw.) erzeugt werden, wonach das Fahrzeug möglicherweise ein neues Modulzertifikat vom Server anfordern muss.
  • Wenn sie ausgeführt wird, kann die Anwendung die Verwendung einer sicheren Fahrzeugfunktion anfordern. Zum Beispiel kann die Anwendung die Verwendung von Audio- oder Videodiensten des Fahrzeugs anfordern. Wenn dem so ist, fordert die Anwendung die Erzeugung eines sicheren Tunnels zwischen dem Fahrzeug und der mobilen Vorrichtung an. Wenn das Anwendungszertifikat und das Modulzertifikat beide gültig und nicht abgelaufen sind, kann der sichere Tunnel durch die Datenverarbeitungsplattform validiert werden. Nach der Validierung kann der sichere Tunnel zum Transfer von Daten zwischen der mobilen Vorrichtung und dem Fahrzeug auf sichere verschlüsselte Weise verwendet werden. Der sichere Tunnel kann dementsprechend zusätzliche Mobilanwendungsauthentifizierung und Sicherheit für Kommunikation zwischen der Anwendung und dem Fahrzeug bereitstellen. Im Folgenden werden weitere Aspekte der Offenbarung ausführlich besprochen.
  • 1 zeigt eine beispielhafte Darstellung eines Systems 100, das zur Bereitstellung von Telematikdiensten für ein Fahrzeug 102 verwendet werden kann. Das Fahrzeug 102 kann eines von verschiedenen Arten von Personenfahrzeugen sein, wie etwa ein CUV (Crossover Utility Vehicle), ein SUV (Sport Utility Vehicle), ein Lastwagen, ein RV (Recreational Vehicle), ein Boot, ein Flugzeug oder eine andere mobile Maschine zum Transportieren von Personen oder Gütern. Telematikdienste können als einige nichteinschränkende Möglichkeiten Navigation, etappenweise Wegbeschreibung, Fahrzeugintegritätsberichte, lokale Unternehmenssuche, Unfallmeldung und Freisprechen beim Anrufen umfassen. In einem Beispiel kann das System 100 das von The Ford Motor Company in Dearborn, MI, hergestellte SYNC-System umfassen. Es sollte beachtet werden, dass das dargestellte System 100 lediglich ein Beispiel ist und mehr, weniger und/oder anders angeordnete Elemente verwendet werden können.
  • Die Datenverarbeitungsplattform 104 kann einen oder mehrere Prozessoren 106 umfassen, die dafür ausgelegt sind, Anweisungen, Befehle und andere Routinen zur Unterstützung der hier beschriebenen Prozesse auszuführen. Zum Beispiel kann die Datenverarbeitungsplattform 104 dafür ausgelegt sein, Anweisungen von Fahrzeuganwendungen 110 auszuführen, um Merkmale wie Navigation, Unfallmeldung, Satellitenfunkdecodierung und freihändiges Anrufen bereitzustellen. Solche Anweisungen und andere Daten können auf nichtflüchtige Weise unter Verwendung vielfältiger Arten von computerlesbarem Speichermedium 112 unterhalten werden. Das computerlesbare Medium 112 (auch als prozessorlesbares Medium oder Speicher bezeichnet) umfasst jedes nichtflüchtige Medium (z. B. ein greifbares Medium), das an der Bereitstellung von Anweisungen oder anderen Daten, die von dem Prozessor 106 der Datenverarbeitungsplattform 104 gelesen werden können, teilnimmt. Computerausführbare Anweisungen können aus Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung vielfältiger Programmiersprachen und/oder -technologien erstellt werden, darunter, ohne Einschränkung und entweder alleine oder in Kombination, Java, C, C++, C#, Objective C, Fortran, Pascal, Java Script, Python, Perl und PL/SQL.
  • Die Datenverarbeitungsplattform 104 kann mit verschiedenen Merkmalen versehen sein, die es den Fahrzeuginsassen erlauben, sich mit der Datenverarbeitungsplattform 104 anzuschalten. Zum Beispiel kann die Datenverarbeitungsplattform 104 einen Audioeingang 114, der dafür ausgelegt ist, gesprochene Befehle von Fahrzeuginsassen mittels eines verbundenen Mikrofons 116 zu empfangen, und einen Hilfsaudioeingang 118, der dafür ausgelegt ist, Audiosignale von verbundenen Vorrichtungen zu empfangen, umfassen. Der Hilfsaudioeingang 118 kann eine physische Verbindung sein, wie etwa eine elektrische Leitung oder ein faseroptisches Kabel, oder ein drahtloser Eingang, wie etwa eine Bluetooth-Audioverbindung. In einigen Beispielen kann der Audioeingang 114 dafür ausgelegt sein, Audioverarbeitungsfähigkeiten bereitzustellen, wie Vorverstärkung von niedrigpegeligen Signalen und Umsetzung von analogen Eingaben in digitale Daten zur Verarbeitung durch den Prozessor 106.
  • Die Datenverarbeitungsplattform 104 kann auch einen oder mehrere Audioausgänge 120 für einen Eingang eines Audiomoduls 122 mit Audiowiedergabefunktionalität bereitstellen. In anderen Beispielen kann die Datenverarbeitungsplattform 104 die Audioausgabe einem Insassen mittels Verwendung eines oder mehrerer eigener Lautsprecher (nicht dargestellt) bereitstellen. Das Audiomodul 122 kann einen Eingangsselektor 124 umfassen, der dafür ausgelegt ist, Audioinhalt aus einer ausgewählten Audioquelle 126 einem Audioverstärker 128 zur Wiedergabe mittels Fahrzeuglautsprechern 130 oder Kopfhörern (nicht dargestellt) bereitzustellen. Die Audioquellen 126 können als einige Beispiele decodierte amplitudenmodulierte (AM-) oder frequenzmodulierte (FM-)Funksignale und Audiosignale von Audiowiedergabe von CD (Compact Disc) oder DVD (Digital Versatile Disk) umfassen. Die Audioquellen 126 können auch Audio umfassen, das von der Datenverarbeitungsplattform 104 empfangen wird, wie etwa durch die Datenverarbeitungsplattform 104 erzeugten Audioinhalt, Audioinhalt, der aus Flash-Speicherlaufwerken decodiert wird, die mit einem USB-Subsystem 132 (Universal Serial Bus) der Datenverarbeitungsplattform 104 verbunden sind, und Audioinhalt, der von dem Hilfsaudioeingang 118 aus durch die Datenverarbeitungsplattform 104 geleitet wird.
  • Die Datenverarbeitungsplattform 104 kann eine Sprachschnittstelle 134 benutzen, um eine freihändige Schnittstelle zur Datenverarbeitungsplattform 104 bereitzustellen. Die Sprachschnittstelle 134 kann Spracherkennung aus über das Mikrofon 116 empfangenem Audio gemäß einer verfügbaren Befehlen zugeordneten Grammatik und Sprachaufforderungserzeugung zur Ausgabe über das Audiomodul 122 unterstützen. Die Sprachschnittstelle 134 kann probabilistische Spracherkennungstechniken benutzen, die die Grammatik im Vergleich zu der Eingangssprache verwenden. In vielen Fällen kann die Sprachschnittstelle 134 eine Standard-Benutzerprofilabstimmung zur Verwendung durch die Spracherkennungsfunktionen umfassen, um die Abstimmung der Spracherkennung zu erlauben, um im Mittel gute Ergebnisse bereitzustellen, wodurch für die maximale Anzahl anfänglicher Benutzer positive Erlebnisse resultieren. In einigen Fällen kann das System dafür ausgelegt sein, die durch den Eingangsselektor 124 spezifizierte Audioquelle vorübergehend stumm zu schalten oder anderweitig zu übersteuern, wenn eine Audioaufforderung bereit für Präsentation durch die Datenverarbeitungsplattform 104 ist und eine andere Audioquelle 126 für Wiedergabe ausgewählt ist.
  • Die Datenverarbeitungsplattform 104 kann auch Eingaben von Bedienelementen 136 einer Mensch-Maschine-Schnittstelle (HMI) empfangen, die dafür ausgelegt sind, Insasseninteraktion mit dem Fahrzeug 102 bereitzustellen. Zum Beispiel kann die Datenverarbeitungsplattform 104 mit einer oder mehreren Schaltflächen oder anderen HMI-Bedienelementen eine Schnittstelle aufweisen, die dafür ausgelegt sind, Funktionen in der Datenverarbeitungsplattform 104 aufzurufen (z. B. Lenkrad-Audioschaltflächen, eine Push-to-Talk-Schaltfläche, Instrumententafel-Bedienelemente usw.). Die Datenverarbeitungsplattform 104 kann auch ein oder mehrere Displays 138 ansteuern oder anderweitig mit ihnen kommunizieren, die dafür ausgelegt sind, Fahrzeuginsassen mittels einer Videosteuerung 140 visuelle Ausgaben bereitzustellen. In einigen Fällen kann das Display 138 ein Berührungsschirm sein, der ferner dafür ausgelegt ist, Benutzerberührungseingaben über die Videosteuerung 140 zu empfangen, während das Display 138 in anderen Fällen nur ein Display ohne Berührungseingabefähigkeiten sein kann.
  • Die Datenverarbeitungsplattform 104 kann ferner dafür ausgelegt sein, über ein oder mehrere fahrzeuginterne Netzwerke 142 mit anderen Komponenten des Fahrzeugs 102 zu kommunizieren. Die fahrzeuginternen Netzwerke 142 können als einige Beispiele eines oder mehrere eines Fahrzeug-CAN (Controller Area Network), eines Ethernet-Netzwerks und eines MOST (Media Oriented System Transfer) umfassen. Die fahrzeuginternen Netzwerke 142 können der Datenverarbeitungsplattform 104 erlauben, mit anderen Systemen des Fahrzeugs 102 zu kommunizieren, wie etwa einem Fahrzeugmodem 144 (das bei einigen Konfigurationen nicht anwesend zu sein braucht), einem GPS-Modul 146 (Global Positioning System), das dafür ausgelegt ist, aktuelle Orts- und Richtungsinformationen des Fahrzeugs 102 bereitzustellen, und verschiedenen Fahrzeug-ECU 148, die dafür ausgelegt sind, mit der Datenverarbeitungsplattform 104 zu kooperieren. Als einige nicht einschränkende Möglichkeiten können die Fahrzeug-ECU 148 Folgendes umfassen: ein Kraftübertragungs-Steuermodul, ausgelegt zum Bereitstellen von Steuerung von Motorbetriebskomponenten (z. B. einer Leerlaufsteuerungskomponente, Kraftstoffablieferungskomponenten, Emissionssteuerungskomponenten usw.) und zur Überwachung von Motorbetriebskomponenten (z. B. Status von Motordiagnostikcodes); ein Chassissteuermodul, ausgelegt zum Verwalten verschiedener Leistungsregelfunktionen wie Außenbeleuchtung, Innenbeleuchtung, schlüssellose Zentralverriegelung, ferngesteuertes Starten und eine Verifizierung des Zugangspunktstatus (z. B. Schließungsstatus der Haube, Türen und/oder des Kofferraums des Fahrzeugs 102); ein Funksendeempfängermodul, ausgelegt zur Kommunikation mit Schlüsselanhängern oder anderen lokalen Vorrichtungen des Fahrzeugs 102; und ein Klimaautomatik-Verwaltungsmodul, ausgelegt zur Bereitstellung von Steuerung und Überwachung von Heizungs- und Kühlsystemkomponenten (z. B. Kompressorkupplungs- und Lüftersteuerung, Temperatursensorinformationen usw.).
  • Wie gezeigt können das Audiomodul 122 und die HMI-Bedienelemente 136 über ein erstes fahrzeuginternes Netzwerk 142-A mit der Datenverarbeitungsplattform 104 kommunizieren, und das Fahrzeugmodem 144, das GPS-Modul 146 und Fahrzeug-ECU 148 können über ein zweites fahrzeuginternes Netzwerk 142-B mit der Datenverarbeitungsplattform 104 kommunizieren. In anderen Beispielen kann die Datenverarbeitungsplattform 104 mit mehr oder weniger fahrzeuginternen Netzwerken 142 verbunden sein. Als Alternative oder zusätzlich können ein oder mehrere HMI-Bedienelemente 136 oder andere Komponenten über andere fahrzeuginterne Netzwerke 142 als die gezeigten mit der Datenverarbeitungsplattform 104 verbunden werden oder direkt ohne Verbindung mit einem fahrzeuginternen Netzwerk 142.
  • Die Datenverarbeitungsplattform 104 kann auch dafür ausgelegt sein, mit mobilen Vorrichtungen 152 der Fahrzeuginsassen zu kommunizieren. Die mobilen Vorrichtungen 152 können eine beliebige von verschiedenen Arten von tragbaren Datenverarbeitungsvorrichtungen sein, wie Mobiltelefone, Tablet-Computer, intelligente Armbanduhren, Laptop-Computer, tragbare Musikplayer oder andere Vorrichtungen mit der Fähigkeit zur Kommunikation mit der Datenverarbeitungsplattform 104. In vielen Beispielen kann die Datenverarbeitungsplattform 104 einen drahtlosen Sendeempfänger 150 (z. B. ein BLUETOOTH-Modul, einen ZIGBEE-Sendeempfänger, einen WiFi-Sendeempfänger, einen IrDA-Sendeempfänger, einen RFID-Sendeempfänger usw.) umfassen, der dafür ausgelegt ist, mit einem kompatiblen drahtlosen Sendeempfänger 154 der mobilen Vorrichtung 152 zu kommunizieren. Zusätzlich oder als Alternative kann die Datenverarbeitungsplattform 104 über eine verdrahtete Verbindung mit der mobilen Vorrichtung 152 kommunizieren, wie etwa über eine USB-Verbindung zwischen der mobilen Vorrichtung 152 und dem USB-Subsystem 132. Im manchen Beispielen kann die mobile Vorrichtung 152 batteriebetrieben sein, während die mobile Vorrichtung 152 im anderen Fällen mindestens einen Teil ihrer Energie über die verdrahtete Verbindung von dem Fahrzeug 102 erhalten kann.
  • Das Kommunikationsnetzwerk 156 kann mit dem Kommunikationsnetzwerk 156 verbundenen Vorrichtungen Kommunikationsdienste bereitstellen, wie etwa paketvermittelte Netzwerkdienste (z. B. Internetzugang, VoIP-Kommunikationsdienste). Ein Beispiel für ein Kommunikationsnetzwerk 156 kann ein Mobiltelefonnetz umfassen. Die mobilen Vorrichtungen 152 können dem Kommunikationsnetzwerk 156 über ein Vorrichtungsmodem 158 der mobilen Vorrichtung 152 Netzwerkkonnektivität bereitstellen. Um die Kommunikation über das Kommunikationsnetzwerk 156 zu erleichtern, können mobilen Vorrichtungen 152 eindeutige Vorrichtungskennungen zugeordnet werden (z. B. MDN (Mobilvorrichtungsnummern), Internetprotokoll- bzw. IP-Adressen usw.), um die Kommunikation der mobilen Vorrichtungen 152 über das Kommunikationsnetzwerk 156 zu identifizieren. In einigen Fällen können Insassen des Fahrzeugs 102 oder Vorrichtungen mit Erlaubnis, sich mit der Datenverarbeitungsplattform 104 zu verbinden, gemäß in dem Speichermedium 112 unterhaltenen Daten 160 gepaarter Vorrichtungen durch die Datenverarbeitungsplattform 104 identifiziert werden. Die Daten 160 gepaarter Vorrichtungen können zum Beispiel die eindeutigen Vorrichtungskennungen von mobilen Vorrichtungen 152 angeben, die zuvor mit der Datenverarbeitungsplattform 104 des Fahrzeugs 102 gepaart waren, zwischen der gepaarten Vorrichtung und der Datenverarbeitungsplattform 104 geteilte Geheiminformationen wie Verbindungsschlüssel und/oder persönliche Identifizierungszahlen (PINs) und Zuletzt-verwendet- oder Vorrichtungsprioritätsinformationen dergestalt, dass die Datenverarbeitungsplattform 104 sich ohne Benutzerintervention automatisch wieder mit den in den Daten 160 gepaarter Vorrichtungen übereinstimmenden mobilen Vorrichtungen 152 verbinden kann.
  • Wenn eine mobile Vorrichtung 152, die Netzwerkkonnektivität unterstützt, mit der Datenverarbeitungsplattform 104 gepaart ist, kann die mobile Vorrichtung 152 der Datenverarbeitungsplattform 104 erlauben, die Netzwerkkonnektivität des Vorrichtungsmodems 158 zu verwenden, um über das Kommunikationsnetzwerk 156 mit dem entfernten Telematikserver 162 oder einer anderen entfernten Datenverarbeitungsvorrichtung zu kommunizieren. In einem Beispiel kann die Datenverarbeitungsplattform 104 einen Data-Over-Voice-Plan oder Datenplan der mobilen Vorrichtung 152 benutzen, um Informationen zwischen der Datenverarbeitungsplattform 104 und dem Kommunikationsnetzwerk 156 zu übermitteln. Zusätzlich oder als Alternative kann die Datenverarbeitungsplattform 104 unter Verwendung des Fahrzeugmodems 144 Informationen zwischen der Datenverarbeitungsplattform 104 und dem Kommunikationsnetzwerk 156 übermitteln, ohne die Kommunikationseinrichtungen der mobilen Vorrichtung 152 zu verwenden.
  • Ähnlich wie die Datenverarbeitungsplattform 104 kann die mobile Vorrichtung 152 einen oder mehrere Prozessoren 164 umfassen, die dafür ausgelegt sind, Anweisungen von Mobilanwendungen auszuführen, die aus dem Speichermedium 168 der mobilen Vorrichtung 152 in einen Speicher 166 der mobilen Vorrichtung 152 geladen werden. In einigen Beispielen können die Mobilanwendungen dafür ausgelegt sein, über den drahtlosen Sendeempfänger 154 mit der Datenverarbeitungsplattform 104 und über das Vorrichtungsmodem 158 mit dem entfernten Telematikserver 162 oder anderen Netzwerkdiensten zu kommunizieren. Die Datenverarbeitungsplattform 104 kann auch eine Vorrichtungsverbindungsschnittstelle 172 umfassen, um die Integration von Funktionalität der Mobilanwendungen in die Grammatik von über die Sprachschnittstelle 134 verfügbaren Befehlen zu erleichtern. Die Vorrichtungsverbindungsschnittstelle 172 kann außerdem den Mobilanwendungen Zugang zu Fahrzeugfunktionen und -informationen bereitstellen, die über die fahrzeuginternen Netzwerke 142 der Datenverarbeitungsplattform 104 verfügbar sind. Ein Beispiel für eine Vorrichtungsverbindungsschnittstelle 172 kann die SYNC-APPLINK-Komponente des von The Ford Motor Company in Dearborn, MI, bereitgestellten SYNC-Systems sein.
  • 2 zeigt eine beispielhafte Darstellung einer Anwendungsrichtlinienarchitektur 200. Die Architektur 200 umfasst wie dargestellt ein Fahrzeug 102 mit einem Richtlinienmanager 210 in Kommunikation mit einem Backend-Server 218 über das Kommunikationsnetzwerk 156. Der Richtlinienmanager 210 kann dafür ausgelegt sein, eine lokale Richtlinientabelle 206 und aufgezeichnete Anwendungsbenutzung 208 zu unterhalten. Die mobile Vorrichtung 152 kann eine mobile Anwendung 202 ausführen, die mit einer Anwendungskennung 204 assoziiert ist und ein Anwendungs-Proxy 212 umfasst, das die Kommunikation mit dem Backend-Server 218 mittels des Kommunikationsnetzwerks 156 ermöglicht. Der Backend-Server 218 kann dafür ausgelegt sein, Zugriff auf ein Schlüsselverwaltungssystem 220 und ein Anwendungs-Fernverwaltungssystem 222 bereitzustellen, das eine Master-Richtlinientabelle 224 unterhält. Wie nachfolgend ausführlicher erläutert wird, kann das Fernverwaltungssystem 222 dafür ausgelegt sein, dem Fahrzeug 102 über das Anwendungs-Proxy 212 der mobilen Vorrichtung 152 Richtlinientabellenaktualisierungen 214 bereitzustellen.
  • Die mobile Anwendung 202 kann eine in der mobilen Vorrichtung 152 installierte Anwendung zur Verwendung mit der Datenverarbeitungsplattform 104 des Fahrzeugs 102 sein. In einem Beispiel kann die mobile Anwendung 202 Funktionalität zu der Datenverarbeitungsplattform 104 hinzufügen, indem Sprachbefehle integriert werden, die die Funktionalität der mobilen Anwendung 202 mit der Sprachschnittstelle 134 der Datenverarbeitungsplattform 104 steuern. Die mobile Anwendung 202 kann ferner dafür ausgelegt sein, Benutzeroberflächenmerkmale der Datenverarbeitungsplattform 104, wie etwa das Display 138 oder die Fahrzeuglautsprecher 130, zu verwenden, um den Fahrzeuginsassen Informationen bereitzustellen. In einem Beispiel kann die mobile Anwendung 202 eine Navigationsanwendung oder eine Streaming-Medienwiedergabeanwendung sein. Als einige andere Möglichkeiten kann die mobile Anwendung 202 ferner Diagnostik oder Fahrzeugmeldefunktionalität bereitstellen, indem aus dem Fahrzeug 102 abgerufene Informationen zur Analyse zu einem entfernten Server transferiert werden.
  • Die Anwendungskennung 204 kann eine eindeutige Zahl oder alphanumerische Zeichenkette sein, die einer mobilen Anwendung 202 zugewiesen wird. In einigen Fällen kann die Anwendungskennung 204 ein zufällig erzeugter Wert sein. In anderen Fällen kann die Anwendungskennung 204 durch eine Behörde, die dafür ausgelegt ist, die Anwendungskennungen 204 zu verwalten, der mobilen Anwendung 202 zugewiesen werden. Der Anwendungsname 205 kann ein freundlich benutzerlesbarer Name der Anwendung 202 sein, der von der Anwendung 202 zur Identifikation in der Benutzeroberfläche oder in anderen Kontexten, in denen Identifikation der Anwendung durch die Anwendungskennung 204 unerwünscht sein kann, verwendet werden kann.
  • Die lokale Richtlinientabelle 206 kann dafür ausgelegt sein, Schlüsselinformationen zu speichern, die Anwendungsberechtigungen im Fahrzeug 202 aufführen. Somit kann die lokale Richtlinientabelle 206 die Art von Interaktion definieren, die zwischen der Datenverarbeitungsplattform 104 und einer gegebenen mobilen Anwendung 202 erlaubt ist. In einem Beispiel kann die lokale Richtlinientabelle 206 Berechtigungsinformationen für die mobilen Anwendungen 202 umfassen, die gemäß den Anwendungskennungen 204, die den mobilen Anwendungen 202 zugewiesen sind, speziell angefertigt sind.
  • Die Berechtigungsinformationen können zum Beispiel eine Auflistung von APIs und Systemen des Fahrzeugs 102, die für Benutzung durch die mobilen Anwendungen 202 als Zulässig erachtet werden, umfassen. Als einige spezifische Beispiele kann die lokale Richtlinientabelle 206 Berechtigungsinformationen mit Bezug auf Remote-Procedure-Aufrufe der Datenverarbeitungsplattform 104 umfassen, die für Zugriff durch die mobile Anwendung 202 zulässig sind, wie etwa zum Streamen von Audio unter Verwendung des Audiomoduls 122, Verwenden des Displays 138, Empfangen von Eingaben von den HMI-Bedienerelementen 136 oder zum Abrufen eines aktuellen GPS-Orts des Fahrzeugs 102. Als einige andere Beispiele kann die lokale Richtlinientabelle 206 Berechtigungsinformationen dahingehend umfassen, ob es der mobilen Anwendung 202 erlaubt ist, einen Kontextwechsel durchzuführen und den Fokus von einer anderen Anwendung zu nehmen, z. B. das Radio zu unterbrechen, um eine Nachricht bereitzustellen. Als noch ein weiteres Beispiel kann die lokale Richtlinientabelle 206 Berechtigungsinformationen dahingehend umfassen, ob die mobile Anwendung 202 Skripts auf der Datenverarbeitungsplattform 104 ausführen kann. Als noch ein weiteres Beispiel kann die lokale Richtlinientabelle 206 Berechtigungsinformationen dahingehend umfassen, welche Funktionen des Fahrzeugs 102 benutzt werden können, wenn das Fahrzeug 102 geparkt oder stationär ist, und welche benutzt werden können, wenn sich das Fahrzeug 102 in Bewegung befindet. Die lokale Richtlinientabelle 206 kann auch Informationen umfassen, um zu konfigurieren, wie und wann das Fahrzeug 102 Aktualisierungen der lokalen Richtlinientabelle 206 anfordert, sowie Informationen dahingehend, wie eine Quelle von aktualisierten lokalen Richtlinientabellen 206 (z. B. ein URL oder eine andere Adresse des Backend-Servers 218) zu kontaktieren ist.
  • Die aufgezeichnete Anwendungsbenutzung 208 kann protokollierte Benutzung der API und Benutzung des Systems des Fahrzeugs 102 und anderer Funktionen des Fahrzeugs 102, deren Berechtigung für die mobilen Anwendungen 202 kontrolliert wird, umfassen. Somit kann die aufgezeichnete Anwendungsbenutzung 208 gesammelte Benutzungsdaten darüber umfassen, wie Benutzer die mobilen Anwendungen 202 im Fahrzeug 102 benutzen. Wie bei der lokalen Richtlinientabelle 206 kann die aufgezeichnete Anwendungsbenutzung 208 gemäß den Anwendungskennungen 204, die den mobilen Anwendungen 202 zugewiesen werden, speziell angefertigt werden. In einigen Beispielen kann die aufgezeichnete Anwendungsbenutzung 208 in der lokalen Richtlinientabelle 206 enthalten sein, während die aufgezeichnete Anwendungsbenutzung 208 in anderen Beispielen getrennt von der lokalen Richtlinientabelle 206 unterhalten werden kann. Als einige spezifische Beispiele für protokollierte Informationen kann die aufgezeichnete Anwendungsbenutzung 208 Ausführversuche der mobilen Anwendung 202, von der mobilen Anwendung 202 erfahrene Fehler (z. B. Berechtigungsverweigerungsfehler, unerwartete Fehler wie etwa die aufgrund von Programmierungsfehlern usw.), protokollierte HMI-Benutzungsinformationen (z. B. Lenkradsteuerbenutzung, Sprachbefehlsbenutzung usw.) und hörbare Zeit, während der die mobile Anwendung 202 Audio mittels der HMI des Fahrzeugs 102 bereitgestellt hat, umfassen.
  • Der Richtlinienmanager 210 kann dafür ausgelegt sein, Berechtigungen der mobilen Anwendung 202 für die Datenverarbeitungsplattform 104 des Fahrzeugs 102 zu verwalten. In einem Beispiel kann der Richtlinienmanager 210 die lokale Richtlinientabelle 206 unterhalten. Wenn eine mobile Anwendung 202 eingeleitet oder aktiviert wird, kann der Richtlinienmanager 210 die mit einer mobilen Anwendung 202 assoziierten Berechtigungen auf der Basis der lokalen Richtlinientabelle 206 identifizieren. Wenn die mobile Anwendung 202 mit der Datenverarbeitungsplattform 104 in Interaktion tritt, kann der Richtlinienmanager 210 außerdem die Benutzung von Fahrzeug-APIs und Systemen des Fahrzeugs 102 durch die mobile Anwendung 202 in der aufgezeichneten Anwendungsbenutzung 208 aufzeichnen.
  • Der Richtlinienmanager 210 der Datenverarbeitungsplattform 104 kann ferner dafür ausgelegt sein, Kommunikation mit dem Backend-Server 218 zu verwalten. Im Hinblick auf Anforderungen oder Antworten zwischen dem Richtlinienmanager 210 und dem Backend-Server 218 kann der Richtlinienmanager 210 dafür ausgelegt sein, Kommunikation mit dem Backend-Server 218 einzuleiten. In einem Beispiel kann der Richtlinienmanager 210 dem Backend-Server 218 eine Nachricht zuführen, um den Backend-Server 218 zu informieren, dass das Fahrzeug 102 eingeschaltet ist und nach Informationen horcht. In einigen Fällen kann der Backend-Server 218 eine unaufgeforderte Nachricht an ein spezifisches Fahrzeug 102 adressieren und sie auf die Cloud schieben. Die Nachricht kann jedoch erst an das Fahrzeug 102 abgeliefert werden, wenn sich die Datenverarbeitungsplattform 104 verbindet und sie von dem Backend-Server 218 anfordert.
  • Der Richtlinienmanager 210 kann dafür ausgelegt sein, vom Backend-Server 218 anzufordern, dem Fahrzeug 102 Aktualisierungen der lokalen Richtlinientabelle 206 bereitzustellen. Zum Beispiel kann der Richtlinienmanager 210 eine Aktualisierung der lokalen Richtlinientabelle 206 anfordern, wenn eine mobile Anwendung 202, die eine Anwendungskennung 204 aufweist, die nicht in der lokalen Richtlinientabelle 206 steht, versucht, sich mit der Datenverarbeitungsplattform 104 des Fahrzeugs 102 zu integrieren.
  • Der Richtlinienmanager 210 kann ferner dafür ausgelegt sein, die aufgezeichnete Anwendungsbenutzung 208 dem Backend-Server 218 zur Fernbegutachtung und -verarbeitung bereitzustellen. Hierzu kann der Richtlinienmanager 210 eine Nachricht der Anwendungsbenutzungsaktualisierung 216 bereitstellen, die die durch das Fahrzeug 102 gespeicherten Informationen der aufgezeichneten Anwendungsbenutzung 208 umfasst. Dadurch kann das System verifizieren, dass die mobile Anwendung 202 die APIs und Systeme des Fahrzeugs 102 angesichts des anscheinenden Zwecks der mobilen Anwendung 202 angemessen benutzt. Zum Beispiel kann es sinnvoll sein, wenn eine Navigations-Mobilanwendung 202 periodisch Geschwindigkeitsinformationen für das Fahrzeug 102 anfordert, aber es kann für eine Internetradio-Mobilanwendung 202 nicht sinnvoll sein, dies zu tun.
  • Das Anwendungs-Proxy 212 kann dafür ausgelegt sein, die Kommunikation des Richtlinienmanagers 210 mit dem Backend-Server 218 zu ermöglichen. In einem Beispiel kann das Anwendungs-Proxy 212 eine Bibliothek oder ein anderes Codemodul umfassen, die in die mobilen Anwendungen 202 kompiliert oder gelinkt werden und Funktionalität bereitstellen, um es dem Richtlinienmanager 210 zu erlauben, mittels der mobilen Anwendungen 202 mit dem Backend-Server 218 zu kommunizieren. Der Richtlinienmanager 210 kann dementsprechend das Anwendungs-Proxy 212 zum Anfordern von Richtlinientabellenaktualisierungen 214 über den Backend-Server 218, Bereitstellen von Anwendungsbenutzungsaktualisierungen 216 für den Backend-Server 218, Empfangen von Richtlinientabellenaktualisierungen 214 von dem Backend-Server 218 und Aushandeln der Erzeugung sicherer Tunnel zwischen der mobilen Vorrichtung 152 und der Datenverarbeitungsplattform 104 benutzen. Die Richtlinientabellenaktualisierungen 214 können zum Beispiel eine neue lokale Richtlinientabelle 206 umfassen, um die derzeit durch den Richtlinienmanager 210 gespeicherte lokale Richtlinientabelle 206 zu ersetzen, oder Aktualisierungen an einer existierenden lokalen Richtlinientabelle 206 zum Ergänzen der derzeitigen Einträge der lokalen Richtlinientabelle 206. Das Anwendungs-Proxy 212 kann ferner andere Funktionalität umfassen, die zur Kommunikation mit dem Backend-Server 218 nützlich sein kann, wie etwa die Fähigkeit, verschlüsselte Nachrichten zwischen der Datenverarbeitungsplattform 104 und dem Backend-Server 218 zu leiten. In einigen Fällen können somit hier besprochene Operationen in Bezug auf die Funktionsweise der mobilen Anwendung 202 in Bezug auf Anwendungsrichtlinien allgemein durch den Code des Anwendungs-Proxy 212 der mobilen Anwendung 202 implementiert werden.
  • Der drahtlose Sendeempfänger 115 des Fahrzeugs 102 kann (z. B. über eine Bluetooth-Verbindung, über eine USB-Verbindung usw.) mit einer gepaarten mobilen Vorrichtung 152 verbunden sein, so dass die Kommunikationsmerkmale der mobilen Vorrichtung 152 benutzt werden können, um es der Datenverarbeitungsplattform 104 zu erlauben, über das Kommunikationsnetzwerk 156 mit dem Backend-Server 218 zu kommunizieren. Das Kommunikationsnetzwerk 156 kann dementsprechend von der mobilen Vorrichtung 152 über einen Mobilfunk-Datenplan der mobilen Vorrichtung 152 benutzt werden (z. B. zur Bereitstellung von Kommunikationsfunktionalität auf TCP/IP-Basis für die Datenverarbeitungsplattform 104). Zusätzlich oder als Alternative kann die Datenverarbeitungsplattform 104 das Fahrzeugmodem 144 zum Übermitteln von Daten zwischen dem Prozessor 106 und dem Kommunikationsnetzwerk 156 verwenden. Nachrichten, die über das Kommunikationsnetzwerk 156 an das Fahrzeug 102 gerichtet sind, können in der Cloud in eine Warteschlange eingereiht werden, bis eine Verbindung mit dem Fahrzeug 102 hergestellt werden kann oder bis die Nachricht abläuft. In einem Beispiel kann die Warteschlangen- und Nachrichtenablauffunktionalität über den Backend-Server 218 implementiert werden. Die Nachrichtenwarteschlangenfunktionalität des Kommunikationsnetzwerks 156 kann auch als eine erste Verteidigungslinie vor Server-Denial-of-Service-Attacken wirken.
  • Der Backend-Server 218 kann dafür ausgelegt sein, als ein Gateway zwischen dem Kommunikationsnetzwerk 156 und der internen Anwendungsverwaltungsinfrastruktur zu wirken. In einem Beispiel kann die interne Anwendungsverwaltungsinfrastruktur durch einen Hersteller der Fahrzeuge 102 verwaltet werden, während in einem anderen Beispiel die interne Anwendungsverwaltungsinfrastruktur von einem Dritten verwaltet werden kann, wie etwa einer Anwendungszertifizierungsentität. Der Backend-Server 218 kann dafür ausgelegt sein, als Firewall zu arbeiten, um Nachrichten zwischen Systemen hinter dem Backend-Server 218 (wie etwa dem Schlüsselverwaltungssystem 220 und dem Anwendungs-Fernverwaltungssystem 222) und Fahrzeugen 102 außerhalb der internen Anwendungsverwaltungsinfrastruktur zu validieren, zu transformieren und zu routen.
  • Das Schlüsselverwaltungssystem 220 kann einen oder mehrere Server oder andere Datenverarbeitungsvorrichtungen umfassen, die dafür ausgelegt sind, sichere Nachrichtenübermittlungsdienste für Nachrichten zu und von dem Backend-Server 218 bereitzustellen. Zum Beispiel kann das Schlüsselverwaltungssystem 220 ankommende Nachrichten authentifizieren, entschlüsseln und validieren, die entschlüsselte und validierte Nachricht zu dem richtigen internen Ziel weiterleiten und die Sicherheit abgehender Nachrichten bereitstellen, um abgehende Daten zu verschlüsseln und zu signieren und sicherzustellen, dass die abgehenden Nachrichten Sicherheitsüberprüfungen bestehen, wenn sie durch die Datenverarbeitungsplattform 104 des beabsichtigten Fahrzeugs 102 empfangen werden. In einem Beispiel kann das Schlüsselverwaltungssystem 220 Nachrichten gegenüber Replay-Attacken validieren, indem abgehenden Nachrichten Nachrichtenkennungen zugewiesen werden und verifiziert wird, dass entsprechende Nachrichtenkennungen in ankommenden Nachrichten enthalten sind.
  • Wenn der Backend-Server 218 eine Nachricht oder Anforderung empfängt, leitet der Backend-Server 218 die Nachricht zu dem Schlüsselverwaltungssystem 220 weiter, in dem sie authentifiziert, entschlüsselt und validiert wird. Wenn diese Operationen erfolgreich sind, kann der Backend-Server 218 die Nachrichtennutzinformationen aus der Nachricht abrufen und die Nachricht gemäß einem durch die Nachricht identifizierten Diensttyp zu einer entsprechenden Anwendung routen. In einem Beispiel können Richtlinientabellennachrichten (z. B. Anforderungen von Richtlinientabellenaktualisierungen 214 oder von Zertifikaten, wie nachfolgend besprochen) mit einem Diensttyp assoziiert werden, wodurch angegeben wird, dass die Nachrichten zu dem Anwendungs-Fernverwaltungssystem 222 zu routen sind.
  • Das Anwendungs-Fernverwaltungssystem 222 kann einen oder mehrere Server oder andere Datenverarbeitungsvorrichtungen umfassen, die dafür ausgelegt sind, Anwendungsbenutzungsaktualisierungen 216 vom dem Fahrzeug 102 zu empfangen sowie dem Fahrzeug 102 Richtlinientabellenaktualisierungen 214 bereitzustellen. In einem Beispiel kann das Anwendungs-Fernverwaltungssystem 222 einen Schnappschuss einer lokalen Richtlinientabelle 206 des Fahrzeugs 102 in einer Nachricht der Anwendungsbenutzungsaktualisierungen 216 empfangen. Die lokale Richtlinientabelle 206 kann aufgezeichnete Anwendungsbenutzung 208 für mobile Anwendungen 202 umfassen, die mit dem Fahrzeug 102 in Interaktion getreten sind. Das Anwendungs-Fernverwaltungssystem 222 kann die aufgezeichnete Anwendungsbenutzung 208 aus der empfangenen lokalen Richtlinientabelle 206 archivieren und die durch das Fahrzeug 102 gespeicherten Anwendungsberechtigungen aktualisieren, indem dem Fahrzeug 102 eine Richtlinientabellenaktualisierung 214 bereitgestellt wird. Die Richtlinientabellenaktualisierung 214 kann auf neuesten Informationen basieren, die durch das Anwendungs-Fernverwaltungssystem 222 in einer Master-Richtlinientabelle 224 der neuesten Berechtigungen der mobilen Anwendung 202 unterhalten werden. In einem Beispiel kann jede Version einer mobilen Anwendung 202 (z. B. Version 2 im Gegensatz zu Version 2.1) mit ihren eigenen Berechtigungsinformationen in der Master-Richtlinientabelle 224 assoziiert sein. Insbesondere können den in der Richtlinientabellenaktualisierung 214 für das Fahrzeug 102 bereitgestellten Informationen der Master-Richtlinientabelle 224 jegliche aufgezeichnete Daten der Anwendungsbenutzung 208 fehlen, sie können aber gemäß der empfangenen lokalen Richtlinientabelle 206 der Anwendungsbenutzungsaktualisierung 216 neueste Berechtigungen für alle mobilen Anwendungen 202 umfassen, die als durch das Fahrzeug 102 benutzt identifiziert wurden.
  • In einem System der Transportschichtsicherheit (TLS) kann ein Server einen öffentlichen Schlüssel zu einem Klient senden, und der Klient kann antworten, indem er seinen öffentlichen Schlüssel zu dem Server sendet. Öffentliche Schlüssel können in als Zertifikate bezeichneten Datenelementen gespeichert werden, während private Schlüssel als Schlüssel bezeichnet werden können. TLS verwendet Zertifikate zur Beschreibung der zu verwendenden Paare öffentlicher und privater Schlüssel. In einem nicht einschränkenden Beispiel kann TLS das durch den X.509-Standard definierte Zertifikat verwenden. Die öffentlichen und privaten Schlüssel können in Paaren erzeugt werden. Wenn der öffentliche Schlüssel zum Verschlüsseln von Daten verwendet wird, kann nur der private Schlüssel des Paars ihn entschlüsseln; ähnlich muss, wenn der private Schlüssel zum Verschlüsseln verwendet wird, der öffentliche Schlüssel zum Entschlüsseln verwendet werden.
  • Mit TLS kann Zugangskontrolle und kryptographische Sicherheit für Kommunikation zwischen der mobilen Anwendung 202, die durch die mobile Vorrichtung 152 ausgeführt wird, und der Datenverarbeitungsplattform 104 des Fahrzeugs 102 bereitgestellt werden. Die lokale Richtlinientabelle 206 kann ein speziell für die Fahrzeugdatenverarbeitungsplattform 104 ausgestelltes Modulzertifikat 226 umfassen. Das Modulzertifikat 226 kann die öffentlichen Schlüssel enthalten, die für die Seite der Datenverarbeitungsplattform 104 der TLS-Kommunikation zwischen der mobilen Anwendung 202 und der Datenverarbeitungsplattform 104 verwendet werden. Ähnlich können die in den mobilen Vorrichtungen 152 installierten mobilen Anwendungen 202 Anwendungszertifikate 228 benutzen, die speziell für die mobilen Anwendungen 202 ausgestellt sind und die öffentlichen Schlüssel enthalten, die für die Seite der mobilen Vorrichtung 152 der TLS-Kommunikation verwendet werden.
  • 3 zeigt eine beispielhafte Darstellung einer mobilen Anwendung 202, die durch die mobile Vorrichtung 152 ausgeführt wird, die einen sicheren Tunnel 302 mit der Datenverarbeitungsplattform 104 des Fahrzeugs 102 benutzt. Der sichere Tunnel 302 kann eine sichere Verbindung zwischen der mobilen Anwendung 202 und der Datenverarbeitungsplattform 104 sein, der unter Verwendung des Anwendungszertifikats 228 der mobilen Anwendung 202 und des Modulzertifikats 226 der Datenverarbeitungsplattform 104 erzeugt wird.
  • In einem Beispiel kann die mobile Vorrichtung 152 als der TLS-Server wirken und die Datenverarbeitungsplattform 104 als die TLS-Klient-Vorrichtung. In einem solchen Beispiel kann sich die Datenverarbeitungsplattform 104 mit der mobilen Vorrichtung 152 verbinden, um eine sichere Verbindung anzufordern. Zum Beispiel kann die Datenverarbeitungsplattform 104 die Erzeugung eines sicheren Tunnels 302 für eine mobile Anwendung 202 anfordern, die in der lokalen Richtlinientabelle 206 als die Verwendung von Audio/Video- oder anderen Medienmerkmalen der Datenverarbeitungsplattform 104 erfordernd angegeben ist.
  • Als Reaktion auf die Anforderung der Erzeugung eines sicheren Tunnels 302 kann die mobile Vorrichtung 152 das Anwendungszertifikat 228 der mobilen Anwendung 202 zu der Datenverarbeitungsplattform 104 senden. Die Datenverarbeitungsplattform 104 kann in einem Beispiel das Anwendungs-Fernverwaltungssystem 222 kontaktieren, um die Gültigkeit des Anwendungszertifikats 228 zu bestätigen, bevor vorangeschritten wird. In anderen Beispielen kann die Datenverarbeitungsplattform 104 Ablaufdatum und andere Aspekte des Anwendungszertifikats 228 validieren, ohne die Behörde, die das Anwendungszertifikat 228 bereitstellt, zur Bestätigung abzufragen.
  • Zur Erzeugung des sicheren Tunnels 302 können die mobile Vorrichtung 152 und die Datenverarbeitungsplattform 104 eine Handshake-Prozedur ausführen, um einen Sitzungsschlüssel zur nachfolgenden Verschlüsselung und Entschlüsselung von Daten während der Sitzung zu erzeugen. In einem Beispiel kann der Sitzungsschlüssel unter Verwendung eines Diffie-Hellman-Schlüsselaustauschs erzeugt werden. In einem anderen Beispiel kann der Sitzungsschlüssel durch Verschlüsselung einer Zufallszahl mit dem öffentlichen Schlüssel des Anwendungszertifikats 228 erzeugt werden, zur Entschlüsselung durch die mobile Vorrichtung 152 unter Verwendung des privaten Schlüssels, der mit dem Anwendungszertifikat 228 assoziiert ist. Nachdem der Sitzungsschlüssel erzeugt ist, kann der sichere Tunnel 302 hergestellt werden. Der sichere Schlüssel kann dementsprechend zur symmetrischen Verschlüsselung und Entschlüsselung von Daten verwendet werden, bis der sichere Tunnel 302 geschlossen wird.
  • 4 zeigt eine beispielhafte Darstellung einer mobilen Anwendung 202, die ein Anwendungszertifikat 228 anfordert. Das Anwendungszertifikat 228 kann mit einer vordefinierten Zeitgrenzenperiode (z. B. monatlich, wöchentlich usw.) erzeugt werden, nach der die mobile Anwendung 202 möglicherweise ein neues Zertifikat anfordern muss. Das Anwendungszertifikat 228 kann zum Beispiel eine Ablaufzeitgrenze angeben, nach der das Anwendungszertifikat 228 nicht mehr für TLS-Kommunikation zwischen der mobilen Vorrichtung 152 und dem Fahrzeug 102 verwendet werden kann.
  • Die mobile Anwendung 202 kann das Anwendungszertifikat 228 von einem entfernten Server anfordern. Zum Beispiel kann die mobile Anwendung 202 ein neues Anwendungszertifikat 228 anfordern, wenn das derzeit gespeicherte Anwendungszertifikat 228 für die mobile Anwendung 202 abgelaufen ist oder wenn derzeit kein Anwendungszertifikat 228 durch die mobile Vorrichtung 152 für die mobile Anwendung 202 gespeichert ist. In dem dargestellten Beispiel kann der entfernte Server das Anwendungs-Fernverwaltungssystem 222 sein, obwohl andere Beispiele möglich sind.
  • Die mobile Anwendung 202 kann ihren Anwendungsnamen 205 und die Anwendungskennung 204 in eine Zertifikatanforderung 404 (z. B. über das Anwendungs-Proxy 212) codieren und die Zertifikatanforderung 404 in einer Anforderung eines neuen Anwendungszertifikats 228 zu dem Anwendungs-Fernverwaltungssystem 222 senden. In einigen Fällen kann die Zertifikatanforderung 404 durch die mobile Vorrichtung 152 für den Transport verschlüsselt werden und kann durch die mobile Anwendung 202 von der mobilen Vorrichtung 152 über das Kommunikationsnetzwerk 156 zu dem Anwendungs-Fernverwaltungssystem 222 gesendet werden.
  • Das Anwendungs-Fernverwaltungssystem 222 kann die Zertifikatanforderung 404 empfangen und kann die Zertifikatanforderung 404 entschlüsseln. In einem Beispiel kann das Anwendungs-Fernverwaltungssystem 222 Dienste des Schlüsselverwaltungssystems 220 zum Entschlüsseln der Zertifikatanforderung 404 benutzen. Das Anwendungs-Fernverwaltungssystem 222 kann verifizieren, dass der Anwendungsname 205 der korrekte Anwendungsname 205 für die Anwendungskennung 204 ist, und kann, wenn dem so ist, das neue Anwendungszertifikat 228 erzeugen. Das neue Anwendungszertifikat 228 kann so erzeugt werden, dass es Schlüssel enthält, die mit dem derzeitigen Modulzertifikat 226 gepaart sind, das entsprechend der Anwendungskennung 204 in der Master-Richtlinientabelle 224 enthalten ist.
  • Um die Sicherheit des Anwendungszertifikats 228 während des Transits von dem Anwendungs-Fernverwaltungssystem 222 zu der mobilen Vorrichtung 152 sicherzustellen, kann das Anwendungs-Fernverwaltungssystem 222 das Anwendungszertifikat 228 verschlüsseln. In einem Beispiel kann das Anwendungs-Fernverwaltungssystem 222 einen Blob-Verschlüsseler 406 implementieren, der dafür ausgelegt ist, die Inhalte des Anwendungszertifikats 228 zu einem verschlüsselten Blob 410 zu verschlüsseln, um zu verhindern, dass das Anwendungszertifikat 228 im Transit erfasst wird. Die Verschlüsselung kann in einem Beispiel unter Verwendung eines symmetrischen Geheimschlüssels 402 durchgeführt werden, von dem das Anwendungs-Fernverwaltungssystem 222 weiß, dass er mit der mobilen Anwendung 202 (z. B. gemäß der Anwendungskennung 204 indiziert usw.) assoziiert ist. Der Geheimschlüssel 402 kann in dem Anwendungs-Proxy 212 der Anwendung 202 codiert sein und kann zur Entschlüsselung verwendet werden. Zum Beispiel kann jeder verschiedenen Mobile-Anwendungskennung 204 ihre eigene spezifische Objektdatei des Anwendungs-Proxy 212 bereitgestellt werden, die einen für die Mobile-Anwendungskennung 204 spezifischen symmetrischen Schlüssel 402 umfasst. Die Objektdatei kann dann in die mobile Anwendung 202 kompiliert werden. Das Anwendungs-Fernverwaltungssystem 222 kann das verschlüsselte Blob 410 in einer Zertifikatantwort 408 als Reaktion auf die Zertifikatanforderung 404 zu der mobilen Vorrichtung 152 senden.
  • Die mobile Anwendung 202 kann die Zertifikatantwort 308 empfangen und kann das verschlüsselte Blob 410 unter Verwendung einer Entschlüsselungsbibliothek des Anwendungs-Proxy 212 entschlüsseln, um das neue Anwendungszertifikat 228 abzurufen. In einem Beispiel kann die Entschlüsselungsbibliothek den in die mobile Anwendung 202 festcodierten und von dem Blob-Verschlüsseler 406 verwendeten Geheimschlüssel 402 verwenden, um das verschlüsselte Blob 410 zu erzeugen. Nach dem Empfang und der Entschlüsselung kann das neue Anwendungszertifikat 228 in Speicherung 168 der mobilen Vorrichtung 152 installiert werden und für die Verwendung durch die mobile Anwendung 202 zur Verwendung beim Erzeugen sicherer Tunnel 302 mit der Datenverarbeitungsplattform 104 zur Verfügung gestellt werden. In vielen Beispielen kann das Anwendungszertifikat 228 in verschlüsselter Form in der Speicherung 168 unterhalten werden, um die Sicherheit des Anwendungszertifikats 228 im Ruhezustand sicherzustellen.
  • 5 zeigt einen beispielhaften Prozess 500 zum Aktualisieren einer Master-Richtlinientabelle 224. Der Prozess 500 kann zum Beispiel durch das Anwendungs-Fernverwaltungssystem 222 ausgeführt werden.
  • In Operation 502 empfängt das Anwendungs-Fernverwaltungssystem 222 eine Anforderung einer Anwendungskennung 204 für eine mobile Anwendung 202. Die Anforderung kann ferner zusätzliche Informationen umfassen, wie etwa Berechtigungen, die für Verwendung durch die mobile Anwendung 202 angefordert werden, eine Kategorie, in die die mobile Anwendung 202 gelegt werden sollte, und einen Vertreiber der mobilen Anwendung 202.
  • In Operation 504 erzeugt das Anwendungs-Fernverwaltungssystem 222 als Reaktion auf die Anforderung einen Eintrag in der Master-Richtlinientabelle 224. Der erzeugte Eintrag kann die angeforderten Berechtigungen und andere Informationen angeben und kann ferner eine mit der mobilen Anwendung 202 zu assoziierende Anwendungskennung 204 spezifizieren. In einigen Beispielen kann die Anwendungskennung 204 ein zufällig oder inkrementell erzeugter Wert sein (z. B. nächste verfügbare Nummer oder Sequenzkennung).
  • In Operation 506 sendet das Anwendungs-Fernverwaltungssystem 222 die Anwendungskennung 204 zum Anforderer. Zum Beispiel kann das Anwendungs-Fernverwaltungssystem 222 eine mit den in Operation 502 empfangenen Informationen assoziierte Anwendungskennung 204 erzeugen und die erzeugte Anwendungskennung 204 dem Anwendungsentwickler zur Assoziation mit der mobilen Anwendung 202 bereitstellen. Nach Operation 506 endet der Prozess 500.
  • 6 zeigt einen beispielhaften Prozess 600 zum Erzeugen von Zertifikaten durch das Anwendungs-Fernverwaltungssystem 222. In Operation 602 erzeugt das Anwendungs-Fernverwaltungssystem 222 Modulzertifikate 226 für die Datenverarbeitungsplattformen 104 der Fahrzeuge 102. In einem Beispiel können die Modulzertifikate 226 individuell speziell pro Fahrzeug 102 auf eine eindeutige Kennung des Fahrzeugs 102 ausgestellt werden, wie etwa eine VIN des Fahrzeugs 102 und/oder eine eindeutige Kennung der Datenverarbeitungsplattform 104 des Fahrzeugs 102 (z. B. eine Seriennummer des SYNC-Moduls). In einem Beispiel enthält das Modulzertifikat 226 Schlüssel, die für die Seite der Datenverarbeitungsplattform 104 der TLS-Kommunikation zwischen der mobilen Anwendung 202 und der Datenverarbeitungsplattform 104 verwendet werden.
  • In Operation 604 bestimmt das Anwendungs-Fernverwaltungssystem 222, ob eine Modulschlüsselerzeugungszeitgrenze abgelaufen ist. In einem Beispiel kann das Anwendungs-Fernverwaltungssystem 222 dafür ausgelegt sein, die speziell auf die Fahrzeugdatenverarbeitungsplattformen 104 ausgestellten Modulzertifikate 226 periodisch neu zu erzeugen. Zum Beispiel können die Modulzertifikate 226 mit einer vordefinierten Zeitgrenzenperiode (z. B. monatlich, wöchentlich usw.) ausgegeben werden, nach der das Fahrzeug 102 möglicherweise ein neues Zertifikat von dem Anwendungs-Fernverwaltungssystem 222 anfordern muss. Dementsprechend können neue Modulzertifikate 226 durch das Anwendungs-Fernverwaltungssystem 222 im Voraus erzeugt werden, um verfügbar zu sein, wenn sie von Fahrzeugen 102 angefordert werden. (In anderen Beispielen können die Modulzertifikate 226 als Reaktion auf Anforderungen des Fahrzeugs 102 bei Bedarf erzeugt werden). Wenn die Modul-Schlüsselerzeugungszeitgrenze abgelaufen ist, wird die Steuerung an Operation 602 abgegeben. Andernfalls wird die Steuerung an Operation 606 abgegeben.
  • In Operation 606 bestimmt das Anwendungs-Fernverwaltungssystem 222, ob irgendwelche Anwendungskennungen 204 für mobile Anwendungen 202 widerrufen worden sind. Wenn zum Beispiel eine Anwendung 202 als unerwünschte Eigenschaften aufweisend identifiziert wird oder wenn eine Möglichkeit besteht, dass eine Anwendung 202 kompromittiert worden ist, kann das Anwendungs-Fernverwaltungssystem 222 die Anwendungskennung 204 der Anwendung 202 widerrufen. In einem solchen Fall kann der Anwendung 202 eine neue Anwendungskennung 204 zugewiesen werden, um das Erfordernis einer neuen Version der Anwendung 202 zu erlauben. Hierbei werden keine neuen Anwendungszertifikate 228 für die widerrufene Anwendungskennung 204 erzeugt, so dass die mobile Anwendung 202 mit der Anwendungskennung 204 nicht in der Lage sein wird, die Datenverarbeitungsplattform 104 weiter zu benutzen, nachdem ihr derzeitiges Anwendungszertifikat 228 abgelaufen ist. Wenn die Anwendungskennungen 204 widerrufen worden sind, wird die Steuerung an Operation 608 abgegeben. Andernfalls wird die Steuerung an Operation 610 abgegeben.
  • In Operation 608 erzeugt das Anwendungs-Fernverwaltungssystem 222 eine neue Anwendungskennung 204. In einem Beispiel kann das Anwendungs-Fernverwaltungssystem 222 den Eintrag in der Master-Richtlinientabelle 224, der die Anwendungskennung 204 der Anwendung 202 angibt, aktualisieren. Damit Benutzer die Anwendung 202 weiter mit dem Fahrzeug 102 benutzen können, würden die Benutzer somit eine neue Version der Anwendung 202 mit der neuen Anwendungskennung 204 herunterladen.
  • In Operation 610 bestimmt das Anwendungs-Fernverwaltungssystem 222, ob eine Anwendungs-Schlüsselerzeugungszeitgrenze abgelaufen ist. In einem Beispiel kann das Anwendungs-Fernverwaltungssystem 222 dafür ausgelegt sein, die speziell auf die Anwendungen 202 ausgestellten Anwendungszertifikate 228 periodisch neu zu erzeugen. Dies kann zum Beispiel für neue Anwendungen 202 geschehen, die zu der Master-Richtlinientabelle 224 hinzufügt werden, für Anwendungen 202 mit neuen Anwendungskennungen 204 in der Master-Richtlinientabelle 224 und/oder für Einträge existierender Anwendungen 202 in der Master-Richtlinientabelle 224. Es sollte beachtet werden, dass das Aktualisieren der Anwendungszertifikate 228 öfter als die Ablaufperiode der Anwendungszertifikate 228 geschehen kann. Zum Beispiel können die Anwendungszertifikate 228 so gesetzt werden, dass sie einen Ablauf von fünf Tagen oder sieben Tagen aufweisen, aber die Anwendungszertifikate 228 können nächtlich regeneriert werden. Somit kann die mobile Vorrichtung 152 in der Lage sein, aktualisierte Anwendungszertifikate 228 vor dem Ablauf der Anwendungszertifikate 228 anzufordern (z. B. täglich für ein nach mehreren Tagen ablaufendes Zertifikat versuchen), kann aber auch in der Lage sein, über mehr Zeit auf den Anwendungszertifikaten 228 zu verfügen, um die Anwendung 202 als über die Abfrage- und Regenerationshäufigkeit der Anwendungszertifikate 228 hinaus autorisiert weiter zu verwenden. Wenn die Anwendungs-Schlüsselerzeugungszeitgrenze abgelaufen ist, wird die Steuerung an Operation 612 abgegeben. Andernfalls wird die Steuerung an Operation 604 abgegeben.
  • 7 zeigt einen beispielhaften Prozess 700 zum Aktualisieren einer lokalen Richtlinientabelle 206 des Fahrzeugs 102. Der Prozess 700 kann zum Beispiel durch den Richtlinienmanager 210 der Datenverarbeitungsplattform 104 ausgeführt werden.
  • In Operation 702 bestimmt die Datenverarbeitungsplattform 104, ob eine Aktualisierung der lokalen Richtlinientabelle 206 angezeigt ist. In einem Beispiel kann die Datenverarbeitungsplattform 104 bestimmen, dass die lokale Richtlinientabelle 206 aktualisiert werden sollte, weil die Datenverarbeitungsplattform 104 identifiziert, dass eine Anwendungskennung 204 einer app der mobilen Anwendung 202 nicht auf der lokalen Richtlinientabelle 206 steht. In einem anderen Beispiel kann die Datenverarbeitungsplattform 104 bestimmen, dass die lokale Richtlinientabelle 206 aktualisiert werden sollte, wenn der Benutzer eine mobile Anwendung 202 startet, die eine Aktualisierung der lokalen Richtlinientabelle 206 erfordert, und der Richtlinienmanager 210 keine aktualisierte lokale Richtlinientabelle 206 über die anfängliche Anforderungssequenz empfangen hat. In weiteren Beispielen kann die Datenverarbeitungsplattform 104 bestimmen, dass die lokale Richtlinientabelle 206 nach einem oder mehreren der Folgenden aktualisiert werden sollte: ,N' Zündungszyklen (wobei z. B. ,N' in der lokalen Richtlinientabelle 206 definiert ist), nachdem ,M' Kilometer auf dem Kilometerzähler des Fahrzeugs 102 aufgezeichnet worden sind (wobei ,M' in der lokalen Richtlinientabelle 206 definiert ist), nach ,O' vergangener Zeit, wobei z. B. ,O' in der lokalen Richtlinientabelle 206 definiert ist).
  • Außerdem kann eine Aktualisierung der lokalen Richtlinientabelle 206 auf der Basis von Ablauf eines Modulzertifikats 226, das in der lokalen Richtlinientabelle 206 enthalten ist, angezeigt sein. In einem Beispiel kann, wenn die Erzeugung eines sicheren Tunnels 302 mit einem Modulzertifikat 226 versucht wird, das abgelaufen ist, der Ablauf des Modulzertifikats 226 eine Aktualisierung der lokalen Richtlinientabelle 206 auslösen.
  • Wenn die Datenverarbeitungsplattform 104 bestimmt, die lokale Richtlinientabelle 206 zu aktualisieren, wird die Steuerung an Operation 704 abgegeben. Andernfalls bleibt die Steuerung bei Operation 702.
  • In Operation 704 sendet die Datenverarbeitungsplattform 104 eine Nachricht der Anwendungsbenutzungsaktualisierung 216 zu dem Anwendungs-Fernverwaltungssystem 222. Die Anwendungsbenutzungsaktualisierung 216 kann die derzeitige lokale Richtlinientabelle 206 umfassen und kann an eine Adresse gemäß in der lokalen Richtlinientabelle 206 enthaltenen Adresseninformationen (z. B. einem Aktualisierungsserver-URL) gesendet werden. Die Anwendungsbenutzungsaktualisierung 216 oder die derzeitige lokale Richtlinientabelle 206 können ferner die aufgezeichnete Anwendungsbenutzung 208 umfassen. Die Anwendungsbenutzungsaktualisierung 216 kann über den Backend-Server 218 zu dem Anwendungs-Fernverwaltungssystem 222 gesendet werden und kann mit einem Diensttyp assoziiert sein, der angibt, dass die Nachricht zu dem Anwendungs-Fernverwaltungssystem 222 zu routen ist.
  • In Operation 706 empfängt die Datenverarbeitungsplattform 104 eine Nachricht der Richtlinientabellenaktualisierung 214 von dem Backend-Server 218. Die Richtlinientabellenaktualisierung 214 kann eine neue lokale Richtlinientabelle 206 zum Ergänzen oder Ersetzen der derzeitigen lokalen Richtlinientabelle 206 des Fahrzeugs 102 umfassen. Die aktualisierte lokale Richtlinientabelle 206 kann die neuesten Anwendungsberechtigungen für die mobilen Anwendungen 202, die in der lokalen Richtlinientabelle 206 enthalten sind, die zum Backend-Server gesendet wird, sowie das neueste Modulzertifikat 226 für die Datenverarbeitungsplattform 104 umfassen. Die neue lokale Richtlinientabelle 206 kann jedoch keinerlei aufgezeichnete Anwendungsbenutzung 208 umfassen.
  • In Operation 708 wendet die Datenverarbeitungsplattform 104 die aktualisierte lokale Richtlinientabelle 206 an. Dementsprechend kann die aktualisierte Anwendungsberechtigung zur Verwendung verfügbar gemacht werden. Nach Operation 708 kehrt der Prozess 700 zu Operation 702 zurück.
  • 8 zeigt einen beispielhaften Prozess 800 für eine mobile Vorrichtung 152, die ein Anwendungszertifikat 228 für eine mobile Anwendung 202 anfordert. In einem Beispiel kann der Prozess 800 durch die mobile Vorrichtung 152 ausgeführt werden, auf der die mobile Anwendung 202 installiert ist.
  • In Operation 802 bestimmt die mobile Vorrichtung 152, ob das Anwendungszertifikat 228 für eine mobile Anwendung 202 anzufordern ist. Zum Beispiel kann das Anwendungs-Proxy 212 der mobilen Anwendung 202 ein neues Anwendungszertifikat 228 anfordern, wenn das derzeit gespeicherte Anwendungszertifikat 228 für die mobile Anwendung 202 abgelaufen ist oder wenn derzeit kein Anwendungszertifikat 228 durch die mobile Vorrichtung 152 für die mobile Anwendung 202, das speziell auf die Anwendungskennung 204 ausgestellt ist, gespeichert ist. In einem anderen Beispiel kann das Anwendungs-Proxy 212 der mobilen Anwendung 202 periodisch, z. B. täglich, ein neues Anwendungszertifikat 228 anfordern. Wenn die mobile Vorrichtung 152 bestimmt, das Anwendungszertifikat 228 anzufordern, wird die Steuerung an Operation 804 abgegeben. Andernfalls bleibt die Steuerung bei Operation 802.
  • In Operation 804 sendet die mobile Vorrichtung 152 die Zertifikatanforderung 404. In einem Beispiel kann das Anwendungs-Proxy 212 der mobilen Anwendung 202 ihre Anwendungskennung 204 und ihren Anwendungsnamen 205 in die Zertifikatanforderung 404 codieren. Das Anwendungs-Proxy 212 kann die Zertifikatanforderung 404 für Transport über das Kommunikationsnetzwerk 156 verschlüsseln und kann die Zertifikatanforderung 404 von der mobilen Vorrichtung 152 über das Kommunikationsnetzwerk 156 zu dem Anwendungs-Fernverwaltungssystem 222 senden.
  • In Operation 806 empfängt die mobile Vorrichtung 152 die Zertifikatantwort 408. In einem Beispiel kann die mobile Vorrichtung 152 die Zertifikatantwort 408 als Reaktion auf die Anforderung von dem Anwendungs-Fernverwaltungssystem 222 empfangen und kann das verschlüsselte Blob 410 unter Verwendung des in dem Anwendungs-Proxy 212 codierten Geheimschlüssels 412 entschlüsseln, um das neue Anwendungszertifikat 228 zu erhalten. Die Zertifikatantwort 408 kann das neue Anwendungszertifikat 228 umfassen.
  • In Operation 808 installiert die mobile Vorrichtung 152 das Anwendungszertifikat 228. Nach dem Empfang kann die mobile Vorrichtung 152 das Anwendungszertifikat 228 in Speicherung 168 der mobilen Vorrichtung 152 installieren und für Verwendung durch die mobile Anwendung 202 zum Gebrauch beim Erzeugen von sicheren Tunneln 302 mit der Datenverarbeitungsplattform 104 zur Verfügung stellen. In vielen Beispielen kann das Anwendungszertifikat 228 in der Speicherung 168 in verschlüsselter Form unterhalten werden, um die Sicherheit des Anwendungszertifikats 228 sicherzustellen. Nach Operation 808 kehrt der Prozess 800 zu Operation 802 zurück.
  • 9 zeigt einen beispielhaften Prozess zur Verwendung einer lokalen Richtlinientabelle 206 und der Zertifikate für Berechtigungssteuerung für mobile Anwendungen 202. Wie bei dem Prozess 600 kann der Prozess 900 zum Beispiel durch den Richtlinienmanager 210 der Datenverarbeitungsplattform 104 ausgeführt werden.
  • In Operation 902 identifiziert die Datenverarbeitungsplattform 104 eine aufgerufene mobile Anwendung 202. Zum Beispiel kann die Datenverarbeitungsplattform 104 eine Auflistung von Anwendungskennungen 204 von mobilen Anwendungen 202, die auf der mobilen Vorrichtung 152 verfügbar sind, empfangen. Als ein anderes Beispiel kann die Datenverarbeitungsplattform 104 eine Angabe der Einleitung einer mobilen Anwendung 202 auf der mobilen Vorrichtung 152 empfangen.
  • In Operation 904 ruft die Datenverarbeitungsplattform 104 Anwendungsberechtigungen für die mobile Anwendung 202 von der lokalen Richtlinientabelle 206 ab. In einem Beispiel kann die Datenverarbeitungsplattform 104 die lokale Richtlinientabelle 206 nach Anwendungsberechtigungen abfragen, die mit der Anwendungskennung 204 der mobilen Anwendung 202 assoziiert sind. In einem anderen Beispiel kann die Datenverarbeitungsplattform 104 die lokale Richtlinientabelle 206 nach Anwendungsberechtigungen abfragen, die mit der gepaarten mobilen Vorrichtung 152, die die mobile Anwendung 202 ausführt, sowie der Anwendungskennung 204 der mobilen Anwendung 202 assoziiert sind. In einigen Fällen kann, wenn der Benutzer der Verwendung der mobilen Anwendung 202 noch nicht zugestimmt hat, die Datenverarbeitungsplattform 104 eine Benutzeroberfläche in der HMI des Fahrzeugs 102 anzeigen, von wo aus der Benutzer Berechtigung für die Verwendung der mobilen Anwendung 202 mit der Datenverarbeitungsplattform 104 gewähren kann.
  • In Operation 906 bestimmt die mobile Anwendung 202, ob die mobile Anwendung 202 einen sicheren Tunnel 302 erfordert. In einem Beispiel kann, wenn die mobile Anwendung 202 versucht, auf einen sicheren Fahrzeugfunktionsdienst zuzugreifen, der als Verschlüsselung erfordernd gekennzeichnet ist, die mobile Anwendung 202 die Erzeugung eines sicheren Tunnels 302 anfordern. Als einige Beispiele kann die mobile Anwendung 202 versuchen, auf sichere Fahrzeugfunktionsdienste, wie etwa Audio- und/oder Videofunktion oder andere Medienmerkmale der Datenverarbeitungsplattform 104, Fahrzeugdiagnostiken wie Motordaten, Schreiben von Informationen in das Fahrzeug 102, persönlich identifizierbare Informationen wie Ort, oder Zugriff auf Audiodaten von dem Mikrofon 116 zuzugreifen. Als noch weitere Beispiele kann die mobile Anwendung 202 versuchen, auf sichere Fahrzeugfunktionsdienste zur Authentifizierung für eines oder mehrere von mobiler Bezahlung, autonomem Fahren, Entriegeln des Fahrzeugs, Starten des Fahrzeugs, Fahrgemeinschaft, Mikroverleih und Zugriff auf Personalisierungseinstellungen für einen Benutzer der mobilen Vorrichtung zuzugreifen. Wenn die mobile Anwendung 202 den sicheren Tunnel 302 erfordert, wird die Steuerung an Operation 908 abgegeben. Andernfalls wird die Steuerung an Operation 918 abgegeben, um mit dem sicheren Tunnel 302 voranzuschreiten.
  • In Operation 908 fordert die mobile Anwendung 202 die mobile Vorrichtung 152 zur Erzeugung des sicheren Tunnels 302 auf. In einem Beispiel kann die Datenverarbeitungsplattform 104 als Reaktion darauf, dass die mobile Anwendung 202 den als Verschlüsselung fordernd gekennzeichneten Dienst anfordert, sich als ein TLS-Klient mit der als TLS-Server wirkenden mobilen Vorrichtung 152 verbinden. Die Datenverarbeitungsplattform 104 kann ferner das Anwendungszertifikat 228 der mobilen Anwendung 202 anfordern.
  • In Operation 910 empfängt die Datenverarbeitungsplattform 104 das Anwendungszertifikat 228. Als Reaktion auf die Anforderung der Erzeugung eines sicheren Tunnels 302 kann die mobile Vorrichtung 152 das Anwendungszertifikat 228 der mobilen Anwendung 202 zu der Datenverarbeitungsplattform 104 senden.
  • In Operation 912 bestimmt die Datenverarbeitungsplattform 104, ob das Anwendungszertifikat 228 gültig ist. In einem Beispiel kann die Datenverarbeitungsplattform 104 zum Beispiel das Anwendungs-Fernverwaltungssystem 222 kontaktieren, um die Gültigkeit des Anwendungszertifikats 228 vor dem Voranschreiten zu bestätigen. In einem anderen Beispiel kann die Datenverarbeitungsplattform 104 Ablaufdatum, Anwendungskennung 204, Anwendungsname 205 oder andere Aspekte des Anwendungszertifikats 228 validieren, ohne die Behörde, die das Anwendungszertifikat 228 bereitstellt, zur Bestätigung abzufragen. Wenn die Datenverarbeitungsplattform 104 bestimmt, dass das Anwendungszertifikat 228 gültig ist, wird die Steuerung an Operation 914 abgegeben. Andernfalls wird die Steuerung an Operation 916 abgegeben.
  • In Operation 914 erzeugt die Datenverarbeitungsplattform 104 den sicheren Tunnel 302. In einem Beispiel können die mobile Vorrichtung 152 und die Datenverarbeitungsplattform 104 eine Handshake-Prozedur ausführen, um einen Sitzungsschlüssel für nachfolgende Verschlüsselung und Entschlüsselung von Daten während der Sitzung zu erzeugen. Der Sitzungsschlüssel kann zum Beispiel unter Verwendung eines Diffie-Hellman-Schlüsselaustauschs oder durch Verschlüsselung einer Zufallszahl mit dem öffentlichen Schlüssel des Anwendungszertifikats 228 erzeugt werden, zur Entschlüsselung durch die mobile Vorrichtung 152 unter Verwendung des mit dem Anwendungszertifikat 228 assoziierten privaten Schlüssels. Ungeachtet des Ansatzes kann der sichere Schlüssel dementsprechend für symmetrische Verschlüsselung und Entschlüsselung von Daten über den sicheren Tunnel 302 verwendet werden. Nach Operation 914 wird die Steuerung an Operation 918 abgegeben, um die Verbindung der mobilen Anwendung 202 unter Verwendung des hergestellten sicheren Tunnels 302 fortzusetzen.
  • In Operation 916 weist die Datenverarbeitungsplattform 104 die Verbindung der mobilen Anwendung 202 mit der Datenverarbeitungsplattform 104 zurück. In einigen Fällen kann die Datenverarbeitungsplattform 104 eine Fehlernachricht in der HMI des Fahrzeugs anzeigen, die angibt, dass die mobile Anwendung 202 nicht dafür autorisiert ist, die Datenverarbeitungsplattform 104 zu verwenden. In einigen Beispielen kann die Datenverarbeitungsplattform 104 das Fernverwaltungssystem 222 oder einen anderen Server über den Ausfall informieren. Nach Operation 916 endet der Prozess 900.
  • In Operation 918 führt die Datenverarbeitungsplattform 104 die mobile Anwendung 202 gemäß den abgerufenen Berechtigungen aus. Die Datenverarbeitungsplattform 104 kann dementsprechend der mobilen Anwendung 202 Zugriff auf Systeme des Fahrzeugs 102, wie etwa verfügbare Merkmale und HMI, gemäß den mit der mobilen Anwendung 202 assoziierten Anwendungsberechtigungen und in einigen Beispielen ferner gemäß der mobilen Vorrichtung 152 bereitstellen.
  • In Operation 920 protokolliert die Datenverarbeitungsplattform 104 die Anwendungsbenutzung der mobilen Anwendung 202. Zum Beispiel kann die Datenverarbeitungsplattform 104 die Anwendungsbenutzung 208 aufzeichnen, darunter Benutzung von Fahrzeugfunktionen, APIs, RPCs und Systemen des Fahrzeugs 102 durch die mobilen Anwendungen 202. Nach Operation 920 endet der Prozess 900.
  • Hier beschriebene Datenverarbeitungsvorrichtungen, wie etwa die Datenverarbeitungsplattform 104, die mobilen Vorrichtungen 152 und von dem Fahrzeug 102 entfernten Server umfassen im Allgemeinen computerausführbare Anweisungen, wobei die Anweisungen durch eine oder mehrere Datenverarbeitungsvorrichtungen, wie etwa die oben aufgeführten, ausführbar sein können. Computerausführbare Anweisungen können aus Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung vielfältiger Programmiersprachen und/oder -technologien erstellt werden, darunter und ohne Einschränkung und entweder alleine oder in Kombination JavaTM, C, C++, C#, Visual Basic, Java Script, Perl usw. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen z. B. von einem Speicher, einem computerlesbaren Medium usw. und führt diese Anweisungen aus, um dadurch einen oder mehrere Prozesse auszuführen, einschließlich eines oder mehrerer der hier beschriebenen Prozesse. Solche Anweisungen und andere Daten können unter Verwendung vielfältiger computerlesbarer Medien gespeichert und übertragen werden.
  • Im Hinblick auf die hier beschriebenen Prozesse, Systeme, Verfahren, Heuristiken usw. versteht sich, dass, obwohl die Schritte solcher Prozesse usw. als gemäß einer bestimmten geordneten Sequenz auftretend beschrieben wurden, solche Prozesse mit in einer anderen Reihenfolge als der hier beschriebenen Reihenfolge ausgeführten beschriebenen Schritten ausgeübt werden könnten. Ferner versteht sich, dass bestimmte Schritte gleichzeitig ausgeführt werden könnten, dass andere Schritte hinzugefügt werden könnten oder dass bestimmte hier beschriebene Schritte weggelassen werden könnten. Anders ausgedrückt, werden die Beschreibungen von Prozessen hier zum Zwecke des Veranschaulichens bestimmter Ausführungsformen angegeben und sollten auf keinerlei Weise als Beschränkung der Ansprüche aufgefasst werden.
  • Obwohl oben beispielhafte Ausführungsformen beschrieben werden, ist nicht beabsichtigt, dass diese Ausführungsformen alle möglichen Formen der Erfindung beschreiben. Stattdessen sind die in der Beschreibung verwendeten Wörter nicht Wörter der Beschränkung, sondern der Beschreibung, und es versteht sich, dass verschiedene Änderungen vorgenommen werden können, ohne vom Wesen und Schutzumfang der Erfindung abzuweichen. Außerdem können die Merkmale verschiedener Implementierungsausführungsformen kombiniert werden, um weitere Ausführungsformen der Erfindung zu bilden.
  • Es ist ferner beschrieben:
    • A. System, umfassend: eine Datenverarbeitungsplattform eines Fahrzeugs, programmiert zum Empfangen einer Anforderung von einer mobilen Vorrichtung, die eine mobile Anwendung ausführt, die auf eine sichere Funktion zugreift, einen sicheren Tunnel zwischen der Datenverarbeitungsplattform und der mobilen Vorrichtung zu erzeugen; Abrufen eines Anwendungszertifikats von der mobilen Anwendung; und Validieren der Erzeugung des sicheren Tunnels unter Verwendung des Anwendungszertifikats und eines Modulzertifikats, das in einer lokalen Richtlinientabelle der Datenverarbeitungsplattform gespeichert ist.
    • B. System nach A, wobei die sichere Funktion Zugriff auf eine Audio- oder Videofahrzeugfunktion der Datenverarbeitungsplattform umfasst.
    • C. System nach A, wobei die sichere Funktion eines oder mehrere von Zugriff auf Fahrzeugdiagnostik, Zugriff auf Schreiben von Informationen in das Fahrzeug oder Zugriff auf persönlich identifizierbare Informationen umfasst.
    • D. System nach A, wobei die sichere Funktion Authentifizierung für eines oder mehrere von mobiler Bezahlung, autonomem Fahren, Entriegeln des Fahrzeugs, Starten des Fahrzeugs, Fahrgemeinschaft, Mikroverleih und Zugriff auf Personalisierungseinstellungen für einen Benutzer der mobilen Vorrichtung umfasst.
    • E. System nach A, wobei das Anwendungszertifikat speziell für eine Anwendungskennung der mobilen Anwendung ausgestellt ist und die Datenverarbeitungsplattform ferner programmiert ist zum Validieren, dass das Anwendungszertifikat speziell für die Anwendungskennung ausgestellt ist und nicht abgelaufen ist.
    • F. System nach A, wobei die Datenverarbeitungsplattform ferner programmiert ist zum Validieren des Modulzertifikats als speziell für die Datenverarbeitungsplattform ausgestellt und nicht abgelaufen.
    • G. System nach A, wobei die Datenverarbeitungsplattform ferner dafür programmiert ist, als Reaktion auf das Auftreten von Ablauf des der Datenverarbeitungsplattform entsprechenden Modulzertifikats eine Anwendungsbenutzungs-Aktualisierungsnachricht zu der mobilen Vorrichtung zu senden, die dafür ausgelegt ist, zu bewirken, dass die mobile Vorrichtung eine Richtlinientabellenaktualisierung von einem entfernten Server anfordert, wobei die Richtlinientabellenaktualisierung ein neues Modulzertifikat umfasst.
    • H. System nach A, wobei die Datenverarbeitungsplattform ferner dafür programmiert ist, der mobilen Anwendung Zugriff auf Fahrzeugfunktionen bereitzustellen, für die die mobile Anwendung gemäß Anwendungsberechtigungen in der lokalen Richtlinientabelle autorisiert ist.
    • I. System nach A, wobei die Datenverarbeitungsplattform ferner programmiert ist zum Beenden der mobilen Anwendung als Reaktion darauf, dass die Erzeugung des sicheren Tunnels nicht validiert wird.
    • J. System nach A, wobei die Datenverarbeitungsplattform ferner dafür programmiert ist, der mobilen Anwendung Zugriff auf die sichere Funktion zu verweigern als Reaktion darauf, dass die Erzeugung des sicheren Tunnels nicht validiert wird.
    • K. System, umfassend: eine mobile Vorrichtung, die mit einer Datenverarbeitungsplattform eines Fahrzeugs verbunden ist, programmiert zum Ausführen einer mobilen Anwendung, die eine sichere Funktion erfordert; Senden einer Anforderung, einen sicheren Tunnel mit der Datenverarbeitungsplattform zu erzeugen, als Reaktion auf Zugriff auf die sichere Funktion durch die mobile Anwendung; und Senden eines der mobilen Anwendung entsprechenden Anwendungszertifikats zu der Datenverarbeitungsplattform, um die Erzeugung des sicheren Tunnels zu validieren.
    • L. System nach K, wobei die sichere Funktion Audio- und Videomerkmale der Datenverarbeitungsplattform umfasst.
    • M. System nach K, wobei die sichere Funktion eines oder mehrere von Zugriff auf Fahrzeugdiagnostik, Zugriff auf Schreiben von Informationen in das Fahrzeug oder Zugriff auf persönlich identifizierbare Informationen umfasst.
    • N. System nach K, wobei die mobile Vorrichtung ferner programmiert ist zum: Senden einer Zertifikatanforderung des Anwendungszertifikats zu einem entfernten Server, wobei die Anforderung eine Anwendungskennung der mobilen Anwendung und einen Namen der mobilen Anwendung umfasst; Empfangen einer Zertifikatantwort von dem entfernten Server, wobei die Zertifikatantwort ein verschlüsseltes Blob umfasst, das das Anwendungszertifikat enthält; und Benutzen einer Entschlüsselungsbibliothek der mobilen Vorrichtung zum Entschlüsseln des Anwendungszertifikats unter Verwendung eines Geheimschlüssels.
    • O. System nach K, wobei die mobile Vorrichtung ferner programmiert ist zum Unterhalten des Anwendungszertifikats in einer Speicherung der mobilen Vorrichtung in verschlüsselter Form.
    • P. System nach K, wobei ein Anwendungszertifikat als nach mehreren Tagen ablaufend spezifiziert wird und die mobile Vorrichtung ferner dafür programmiert ist, täglich ein aktualisiertes Anwendungszertifikat anzufordern.
    • Q. Verfahren, umfassend: Senden einer Anforderung durch eine mit einer Datenverarbeitungsplattform verbundene mobile Vorrichtung, einen sicheren Tunnel mit der Datenverarbeitungsplattform zu erzeugen, um eine mobile Anwendung auszuführen, die eine sichere Funktion erfordert; und Empfangen von Validierung des sicheren Tunnels mit der Datenverarbeitungsplattform, die unter Verwendung eines in der mobilen Vorrichtung gespeicherten Anwendungszertifikats und eines in einer lokalen Richtlinientabelle der Datenverarbeitungsplattform gespeicherten Modulzertifikats durchgeführt wird.
    • R. Verfahren nach Q, wobei die sichere Funktion ein Audio- oder Videomerkmal der Datenverarbeitungsplattform umfasst.
    • S. Verfahren nach Q, wobei die sichere Funktion eines oder mehrere von Zugriff auf Fahrzeugdiagnostik, Zugriff auf Schreiben von Informationen in die Datenverarbeitungsplattform oder Zugriff auf persönlich identifizierbare Informationen umfasst.
    • T. Verfahren nach Q, wobei die sichere Funktion Authentifizierung für eines oder mehrere von mobiler Bezahlung, autonomem Fahren, Entriegeln des Fahrzeugs, Starten des Fahrzeugs, Fahrgemeinschaft, Mikroverleih und Zugriff auf Personalisierungseinstellungen für einen Benutzer der mobilen Vorrichtung umfasst.
    • U. Verfahren nach Q, wobei das Anwendungszertifikat speziell auf eine Anwendungskennung der mobilen Anwendung ausgestellt ist, und das ferner das Senden des Anwendungszertifikats zu der Datenverarbeitungsplattform zur Validierung der Anwendungskennung, und dass das Anwendungszertifikat nicht abgelaufen ist, umfasst.
    • V. Verfahren nach Q, ferner umfassend: Senden einer Zertifikatanforderung des Anwendungszertifikats zu einem entfernten Server, wobei die Anforderung eine Anwendungskennung der mobilen Anwendung und einen Namen der mobilen Anwendung umfasst; Empfangen einer Zertifikatantwort von dem entfernten Server, wobei die Zertifikatantwort ein verschlüsseltes Blob umfasst, das das Anwendungszertifikat enthält; und Benutzen einer Entschlüsselungsbibliothek der mobilen Vorrichtung zum Entschlüsseln des Anwendungszertifikats unter Verwendung eines Geheimschlüssels.
    • W. Verfahren nach V, das ferner das Unterhalten des Anwendungszertifikats in einer Speicherung der mobilen Vorrichtung in verschlüsselter Form umfasst.

Claims (20)

  1. System, umfassend: eine Datenverarbeitungsplattform eines Fahrzeugs, programmiert zum Empfangen einer Anforderung von einer mobilen Vorrichtung, die eine mobile Anwendung ausführt, die auf eine sichere Funktion zugreift, einen sicheren Tunnel zwischen der Datenverarbeitungsplattform und der mobilen Vorrichtung zu erzeugen; Abrufen eines Anwendungszertifikats von der mobilen Anwendung; und Validieren der Erzeugung des sicheren Tunnels unter Verwendung des Anwendungszertifikats und eines Modulzertifikats, das in einer lokalen Richtlinientabelle der Datenverarbeitungsplattform gespeichert ist.
  2. System nach Anspruch 1, wobei die sichere Funktion Zugriff auf eine Audio- oder Videofahrzeugfunktion der Datenverarbeitungsplattform umfasst.
  3. System nach Anspruch 1, wobei die sichere Funktion eines oder mehrere von Zugriff auf Fahrzeugdiagnostik, Zugriff auf Schreiben von Informationen in das Fahrzeug oder Zugriff auf persönlich identifizierbare Informationen umfasst.
  4. System nach Anspruch 1, wobei die sichere Funktion Authentifizierung für eines oder mehrere von mobiler Bezahlung, autonomem Fahren, Entriegeln des Fahrzeugs, Starten des Fahrzeugs, Fahrgemeinschaft, Mikroverleih und Zugriff auf Personalisierungseinstellungen für einen Benutzer der mobilen Vorrichtung umfasst.
  5. System nach Anspruch 1, wobei das Anwendungszertifikat speziell für eine Anwendungskennung der mobilen Anwendung ausgestellt ist und die Datenverarbeitungsplattform ferner programmiert ist zum Validieren, dass das Anwendungszertifikat speziell für die Anwendungskennung ausgestellt ist und nicht abgelaufen ist.
  6. System nach Anspruch 1, wobei die Datenverarbeitungsplattform ferner programmiert ist zum Validieren des Modulzertifikats als speziell für die Datenverarbeitungsplattform ausgestellt und nicht abgelaufen.
  7. System nach Anspruch 1, wobei die Datenverarbeitungsplattform ferner dafür programmiert ist, als Reaktion auf das Auftreten von Ablauf des der Datenverarbeitungsplattform entsprechenden Modulzertifikats eine Anwendungsbenutzungs-Aktualisierungsnachricht zu der mobilen Vorrichtung zu senden, die dafür ausgelegt ist, zu bewirken, dass die mobile Vorrichtung eine Richtlinientabellenaktualisierung von einem entfernten Server anfordert, wobei die Richtlinientabellenaktualisierung ein neues Modulzertifikat umfasst.
  8. System nach Anspruch 1, wobei die Datenverarbeitungsplattform ferner dafür programmiert ist, der mobilen Anwendung Zugriff auf Fahrzeugfunktionen bereitzustellen, für die die mobile Anwendung gemäß Anwendungsberechtigungen in der lokalen Richtlinientabelle autorisiert ist.
  9. System nach Anspruch 1, wobei die Datenverarbeitungsplattform ferner programmiert ist zum Beenden der mobilen Anwendung als Reaktion darauf, dass die Erzeugung des sicheren Tunnels nicht validiert wird.
  10. System nach Anspruch 1, wobei die Datenverarbeitungsplattform ferner dafür programmiert ist, der mobilen Anwendung Zugriff auf die sichere Funktion zu verweigern als Reaktion darauf, dass die Erzeugung des sicheren Tunnels nicht validiert wird.
  11. System, umfassend: eine mobile Vorrichtung, die mit einer Datenverarbeitungsplattform eines Fahrzeugs verbunden ist, programmiert zum Ausführen einer mobilen Anwendung, die eine sichere Funktion erfordert; Senden einer Anforderung, einen sicheren Tunnel mit der Datenverarbeitungsplattform zu erzeugen, als Reaktion auf Zugriff auf die sichere Funktion durch die mobile Anwendung; und Senden eines der mobilen Anwendung entsprechenden Anwendungszertifikats zu der Datenverarbeitungsplattform, um die Erzeugung des sicheren Tunnels zu validieren.
  12. System nach Anspruch 11, wobei die sichere Funktion Audio- und Videomerkmale der Datenverarbeitungsplattform umfasst.
  13. System nach Anspruch 11, wobei die sichere Funktion eines oder mehrere von Zugriff auf Fahrzeugdiagnostik, Zugriff auf Schreiben von Informationen in das Fahrzeug oder Zugriff auf persönlich identifizierbare Informationen umfasst.
  14. System nach Anspruch 11, wobei die mobile Vorrichtung ferner programmiert ist zum: Senden einer Zertifikatanforderung des Anwendungszertifikats zu einem entfernten Server, wobei die Anforderung eine Anwendungskennung der mobilen Anwendung und einen Namen der mobilen Anwendung umfasst; Empfangen einer Zertifikatantwort von dem entfernten Server, wobei die Zertifikatantwort ein verschlüsseltes Blob umfasst, das das Anwendungszertifikat enthält; und Benutzen einer Entschlüsselungsbibliothek der mobilen Vorrichtung zum Entschlüsseln des Anwendungszertifikats unter Verwendung eines Geheimschlüssels.
  15. System nach Anspruch 11, wobei die mobile Vorrichtung ferner programmiert ist zum Unterhalten des Anwendungszertifikats in einer Speicherung der mobilen Vorrichtung in verschlüsselter Form.
  16. System nach Anspruch 11, wobei ein Anwendungszertifikat als nach mehreren Tagen ablaufend spezifiziert wird und die mobile Vorrichtung ferner dafür programmiert ist, täglich ein aktualisiertes Anwendungszertifikat anzufordern.
  17. Verfahren, umfassend: Senden einer Anforderung durch eine mit einer Datenverarbeitungsplattform verbundene mobile Vorrichtung, einen sicheren Tunnel mit der Datenverarbeitungsplattform zu erzeugen, um eine mobile Anwendung auszuführen, die eine sichere Funktion erfordert; und Empfangen von Validierung des sicheren Tunnels mit der Datenverarbeitungsplattform, die unter Verwendung eines in der mobilen Vorrichtung gespeicherten Anwendungszertifikats und eines in einer lokalen Richtlinientabelle der Datenverarbeitungsplattform gespeicherten Modulzertifikats durchgeführt wird.
  18. Verfahren nach Anspruch 17, wobei die sichere Funktion ein Audio- oder Videomerkmal der Datenverarbeitungsplattform umfasst.
  19. Verfahren nach Anspruch 17, wobei die sichere Funktion eines oder mehrere von Zugriff auf Fahrzeugdiagnostik, Zugriff auf Schreiben von Informationen in die Datenverarbeitungsplattform oder Zugriff auf persönlich identifizierbare Informationen umfasst.
  20. Verfahren nach Anspruch 17, wobei die sichere Funktion Authentifizierung für eines oder mehrere von mobiler Bezahlung, autonomem Fahren, Entriegeln des Fahrzeugs, Starten des Fahrzeugs, Fahrgemeinschaft, Mikroverleih und Zugriff auf Personalisierungseinstellungen für einen Benutzer der mobilen Vorrichtung umfasst.
DE102017102539.1A 2016-03-01 2017-02-09 Sicheres tunneln für sicherheit verbundener anwendungen Pending DE102017102539A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/057,474 2016-03-01
US15/057,474 US11228569B2 (en) 2016-03-01 2016-03-01 Secure tunneling for connected application security

Publications (1)

Publication Number Publication Date
DE102017102539A1 true DE102017102539A1 (de) 2017-09-07

Family

ID=59651250

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017102539.1A Pending DE102017102539A1 (de) 2016-03-01 2017-02-09 Sicheres tunneln für sicherheit verbundener anwendungen

Country Status (3)

Country Link
US (1) US11228569B2 (de)
CN (1) CN107145324B (de)
DE (1) DE102017102539A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018201958A1 (de) 2018-02-08 2019-08-08 Audi Ag Verfahren zum Kontrollieren eines Zugriffs zumindest einer Anwendung auf eine digitale Dienstfunktion eines Geräts sowie Gerät und Kraftfahrzeug

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10089116B2 (en) * 2016-03-18 2018-10-02 Uber Technologies, Inc. Secure start system for an autonomous vehicle
US9946890B2 (en) 2016-03-18 2018-04-17 Uber Technologies, Inc. Secure start system for an autonomous vehicle
KR102598613B1 (ko) * 2016-07-21 2023-11-07 삼성전자주식회사 개인 인증 및 차량 인증 기반으로 차량 정보를 제공하는 시스템 및 방법
US10567387B1 (en) * 2016-09-13 2020-02-18 Symantec Corporation Systems and methods for managing computing device access to local area computer networks
CN108347331B (zh) * 2017-01-25 2021-08-03 北京百度网讯科技有限公司 车联网系统中T_Box设备与ECU设备进行安全通信的方法与设备
US20190097814A1 (en) * 2017-09-28 2019-03-28 GM Global Technology Operations LLC Method and apparatus for application authentication
JP6717793B2 (ja) * 2017-10-10 2020-07-08 株式会社東海理化電機製作所 カーシェアリングシステム及びカーシェア装置
EP3759885B1 (de) * 2018-02-27 2022-08-17 Excelfore Corporation Broker-basiertes busprotokoll und multi-client-architektur
US11917018B2 (en) 2018-02-27 2024-02-27 Excelfore Corporation Broker-based bus protocol and multi-client architecture
US10812469B2 (en) * 2018-03-29 2020-10-20 Nio Usa, Inc. Secure vehicle communication interface device
CN110875936A (zh) * 2018-08-31 2020-03-10 百度在线网络技术(北京)有限公司 智能驾驶汽车的通讯系统、方法及终端设备、存储介质
CN109495441A (zh) * 2018-09-10 2019-03-19 北京车和家信息技术有限公司 接入认证方法、装置、相关设备及计算机可读存储介质
US11032716B2 (en) * 2018-11-30 2021-06-08 Blackberry Limited Secure communication for machine to machine connections
EP3899766A1 (de) * 2018-12-21 2021-10-27 Inventio AG Aufbauen einer geschützten datenkommunikationsverbindung zwischen einer steuerung einer personentransportanlage und einem mobilgerät
CN112969999A (zh) * 2019-01-31 2021-06-15 宝马股份公司 用于在控制器上执行程序组件的方法、计算机可读存储介质、控制器和系统
US10967836B2 (en) * 2019-03-21 2021-04-06 Denso International America, Inc. Phone as a key vehicle access based on time policies, license information and validation and accuracy of a vehicle real time clock
US11893092B2 (en) * 2020-01-17 2024-02-06 Sony Group Corporation Privilege auto platform
US11341525B1 (en) 2020-01-24 2022-05-24 BlueOwl, LLC Systems and methods for telematics data marketplace
US11526595B2 (en) * 2020-02-13 2022-12-13 Citrix Systems, Inc. Optically scannable representation of a hardware secured artifact
DE102020202882A1 (de) * 2020-03-06 2021-09-09 Robert Bosch Gesellschaft mit beschränkter Haftung Gesicherter und dokumentierter Schlüsselzugriff durch eine Anwendung
US20210304202A1 (en) * 2020-03-26 2021-09-30 Honda Motor Co., Ltd. System and method for securing a vehicle transaction within blockchain
JP7380416B2 (ja) * 2020-05-18 2023-11-15 トヨタ自動車株式会社 エージェント制御装置
JP7380415B2 (ja) 2020-05-18 2023-11-15 トヨタ自動車株式会社 エージェント制御装置
WO2023036418A1 (en) 2021-09-09 2023-03-16 Volkswagen Aktiengesellschaft Apparatus, method and computer program for transferring an execution of computational function blocks from a vehicle to a personal device
US11917086B2 (en) * 2021-12-16 2024-02-27 Gm Cruise Holdings Llc Short-lived symmetric keys for autonomous vehicles
GB2614272A (en) * 2021-12-23 2023-07-05 Continental Automotive Tech Gmbh Secure automotive system
CN114339680B (zh) * 2022-03-07 2022-06-07 高新兴智联科技有限公司 一种v2x系统及安全认证方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040123117A1 (en) * 2002-12-18 2004-06-24 Symantec Corporation Validation for behavior-blocking system
ATE492085T1 (de) * 2003-01-28 2011-01-15 Cellport Systems Inc Ein system und ein verfahren zum steuern des zugriffs von anwendungen auf geschützte mittel innerhalb eines sicheren fahrzeugtelematiksystems
WO2005024567A2 (en) * 2003-08-18 2005-03-17 Spearman Anthony C Network communication security system, monitoring system and methods
EP2053531B1 (de) * 2007-10-25 2014-07-30 BlackBerry Limited Verwaltung von Authentifizierungszertifikaten für den Zugang zu einer drahtlosen Kommunikationsvorrichtung
US8499154B2 (en) * 2009-01-27 2013-07-30 GM Global Technology Operations LLC System and method for establishing a secure connection with a mobile device
US9639688B2 (en) * 2010-05-27 2017-05-02 Ford Global Technologies, Llc Methods and systems for implementing and enforcing security and resource policies for a vehicle
EP2461613A1 (de) * 2010-12-06 2012-06-06 Gemalto SA Verfahren und System zur Handhabung von UICC-Daten
US9032493B2 (en) * 2011-03-31 2015-05-12 Intel Corporation Connecting mobile devices, internet-connected vehicles, and cloud services
US10097993B2 (en) * 2011-07-25 2018-10-09 Ford Global Technologies, Llc Method and apparatus for remote authentication
US8947202B2 (en) * 2011-10-20 2015-02-03 Apple Inc. Accessing a vehicle using portable devices
WO2013126918A1 (en) * 2012-02-24 2013-08-29 Ruckus Wireless, Inc. Wireless services gateway
US9009463B2 (en) * 2012-07-09 2015-04-14 Verizon Patent And Licensing Inc. Secure delivery of trust credentials
US9276736B2 (en) * 2013-03-14 2016-03-01 General Motors Llc Connection key distribution
US20140282827A1 (en) * 2013-03-15 2014-09-18 Ford Global Technologies, Llc Method and apparatus for secure data transfer permission handling
US9237021B2 (en) * 2013-03-15 2016-01-12 Hewlett Packard Enterprise Development Lp Certificate grant list at network device
EP3072317B1 (de) * 2013-11-22 2018-05-16 Qualcomm Incorporated System und verfahren zum konfigurieren einer fahrgastzelle je nach präferenzen mit mehreren mobilen datenverarbeitungsvorrichtungen im fahrzeug
US10200201B2 (en) * 2014-04-07 2019-02-05 Samsung Electronics Co., Ltd Method for application installation, electronic device, and certificate system
US8954605B1 (en) * 2014-04-07 2015-02-10 Noson Hecht System and method for providing controlled communications
US20150372813A1 (en) * 2014-06-23 2015-12-24 Entersekt, LLC System and method for generating a random number
US20160037307A1 (en) * 2014-07-31 2016-02-04 General Motors, Llc Vehicle-related information sharing method and system
US20160164881A1 (en) * 2014-12-03 2016-06-09 Ford Global Technologies, Llc Remote vehicle application permission control and monitoring
US9701305B2 (en) * 2015-03-10 2017-07-11 GM Global Technology Operations LLC Automatic valet parking
US20160328197A1 (en) * 2015-05-04 2016-11-10 GM Global Technology Operations LLC Vehicle data enforcement and contextual interference module for in-vehicle app development
US10686892B2 (en) * 2015-05-28 2020-06-16 Airwatch Llc Remotely-hosted auto-discovery service
US10800284B2 (en) * 2016-01-20 2020-10-13 Ford Global Technologies, Llc Charging strategies to mitigate lithium plating in electrified vehicle battery

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018201958A1 (de) 2018-02-08 2019-08-08 Audi Ag Verfahren zum Kontrollieren eines Zugriffs zumindest einer Anwendung auf eine digitale Dienstfunktion eines Geräts sowie Gerät und Kraftfahrzeug

Also Published As

Publication number Publication date
US20170257345A1 (en) 2017-09-07
CN107145324B (zh) 2022-04-08
US11228569B2 (en) 2022-01-18
CN107145324A (zh) 2017-09-08

Similar Documents

Publication Publication Date Title
DE102017102539A1 (de) Sicheres tunneln für sicherheit verbundener anwendungen
DE102015103020B4 (de) Verfahren zum bereitstellen einer benutzerinformation in einem fahrzeug unter verwendung eines kryptografischen schlüssels
DE102017113295A1 (de) Firewall-fernaktualisierung für bordeigenes webserver-telematiksystem
DE102017119373A1 (de) Aktualisierung der servers der netzwerkadresse der mobilvorrichtung
DE102017102388A1 (de) Regeln des fahrzeugzugangs unter verwendung kryptografischer verfahren
DE102017117294A1 (de) Verfahren und vorrichtung zur verwendung eines digitalen temporären fahrzeugschlüssels
DE102016115669A1 (de) Boardseitige Webserver-Telematiksysteme und Verfahren
DE102015120902A1 (de) Fernerlaubnissteuerung und -überwachung von Fahrzeuganwendungen
EP2689553B1 (de) Kraftwagen-steuergerät mit kryptographischer einrichtung
DE102016217504A1 (de) Fahrzeug-Management-System und Verfahren
DE102018111262A1 (de) Bedienung eines schlüsselanhängers in einem carsharing-system
DE102014114607A1 (de) Programmierung von Fahrzeugmodulen mit Remotevorrichtungen und zugehörige Methoden und Systeme
DE102021120066A1 (de) Passthrough-richtlinie für mobile anwendungen
DE102018119245A1 (de) Fahrzeugschlüsselverwaltung
DE102012224421A1 (de) Fahrzeuggebundenes system und kommunikationsverfahren
DE102018101479A1 (de) Steuerungsschnittstelle für ein autonomes fahrzeug
DE102016212049A1 (de) Überwachungsvorrichtung für Fahrzeuginformationen
DE102019135012A1 (de) Auf richtlinie und token basierender autorisierungsrahmen für konnektivität
DE102019101548A1 (de) Erweiterung von apis zwischen mobilvorrichtungen und einem fahrzeug auf die cloud
DE102019108641A1 (de) Vereinfachte authentifizierung einer mobilen vorrichtung durch ein fahrzeug für gemeinsam genutzte oder autonome fahrzeuge
CN112104603A (zh) 车辆接口的访问权限控制方法、装置及系统
DE102016222100A1 (de) Verfahren und System zum Nachweis eines Besitzes eines Fahrzeugs
DE102014204589A1 (de) Verfahren und vorrichtung zur einwilligungsabwicklung für einen transfer sicherer daten
DE102017115063A1 (de) Zugriff auf infotainmentsystem unter verwendung nichtverknüpfter vorrichtungen
DE102017205993A1 (de) System und Verfahren zur selektiven Freischaltung von Fahrzeugfunktionen

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: ETL IP PATENTANWALTSGESELLSCHAFT MBH, DE

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

Representative=s name: ETL WABLAT & KOLLEGEN PATENT- UND RECHTSANWALT, DE

R082 Change of representative

Representative=s name: ETL IP PATENTANWALTSGESELLSCHAFT MBH, DE

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

R084 Declaration of willingness to licence
R012 Request for examination validly filed