DE102020126909A1 - Sitzungsspezifischer zugriffstoken - Google Patents

Sitzungsspezifischer zugriffstoken Download PDF

Info

Publication number
DE102020126909A1
DE102020126909A1 DE102020126909.9A DE102020126909A DE102020126909A1 DE 102020126909 A1 DE102020126909 A1 DE 102020126909A1 DE 102020126909 A DE102020126909 A DE 102020126909A DE 102020126909 A1 DE102020126909 A1 DE 102020126909A1
Authority
DE
Germany
Prior art keywords
vehicle
server
digital document
access
vehicle systems
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
DE102020126909.9A
Other languages
English (en)
Inventor
Daniel Aaron Zajac
Aldi CAUSHI
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 DE102020126909A1 publication Critical patent/DE102020126909A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32128Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title attached to the image data, e.g. file header, transmitted message header, information on the same page or in the same computer file as the image
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0808Diagnosing performance data
    • 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
    • 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Power Engineering (AREA)
  • Small-Scale Networks (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)

Abstract

Diese Offenbarung stellt einen sitzungsspezifischen Zugriffstoken bereit. Ein System beinhaltet einen ersten Computer, der einen ersten Prozessor beinhaltet, der dazu programmiert ist, ein erstes digitales Dokument von einer entfernten Vorrichtung zu empfangen, das eine digitale Signatur von einem Server beinhaltet und einen Zugriff auf ein oder mehrere Fahrzeugsysteme für einen Benutzer spezifiziert. Der Prozessor ist ferner dazu programmiert, ein zweites digitales Dokument von dem Server zu empfangen, das den spezifizierten Zugriff auf das eine oder die mehreren Fahrzeugsysteme autorisiert; und der entfernten Vorrichtung den spezifizierten Zugriff auf das eine oder die mehreren Fahrzeugsysteme auf Grundlage des ersten digitalen Dokuments und des zweiten digitalen Dokuments bereitzustellen.

Description

  • GEBIET DER TECHNIK
  • Die Offenbarung betrifft im Allgemeinen Fahrzeugsicherheitssysteme.
  • ALLGEMEINER STAND DER TECHNIK
  • Sicherheitsprotokolle werden typischerweise auf verschiedene Fahrzeugsysteme angewendet, um Zugriff auf diagnose-, entwicklungs- und sicherheitsbezogene Funktionen bereitzustellen. Entsprechende Systeme können separate Authentifizierungsprozeduren erfordern, z. B. das Verwenden eines separaten Sicherheitstokens, der von einem separaten Server generiert wird.
  • KURZDARSTELLUNG
  • Ein System beinhaltet einen ersten Computer, der einen ersten Prozessor und einen ersten Speicher beinhaltet, wobei der erste Speicher Anweisungen beinhaltet, sodass der erste Prozessor dazu programmiert ist, von einer entfernten Vorrichtung ein erstes digitales Dokument zu empfangen, das eine digitale Signatur von einem Server beinhaltet und den Zugriff auf ein oder mehrere Fahrzeugsysteme für einen Benutzer spezifiziert. Der Prozessor ist ferner dazu programmiert, von dem Server ein zweites digitales Dokument zu empfangen, das den spezifizierten Zugriff auf das eine oder die mehreren Fahrzeugsysteme autorisiert; und der entfernten Vorrichtung den spezifizierten Zugriff für den Benutzer auf das eine oder die mehreren Fahrzeugsysteme auf Grundlage des ersten digitalen Dokuments und des zweiten digitalen Dokuments bereitzustellen.
  • In anderen Merkmalen beinhaltet das zweite digitale Dokument ein oder mehrere dritte digitale Dokumente, wobei das eine oder die mehreren dritten digitalen Dokumente den spezifizierten Zugriff auf Fahrzeugsysteme des einen oder der mehreren Fahrzeugsysteme autorisieren.
  • In anderen Merkmalen kann der erste Prozessor ferner dazu programmiert sein, jedes des einen oder der mehreren dritten digitalen Dokumente in einem jeweiligen Fahrzeugsystem zu installieren, für welches das jeweilige dritte digitale Dokument den spezifizierten Zugriff autorisiert.
  • In anderen Merkmalen kann das zweite digitale Dokument ein Skript beinhalten, um mindestens eines des einen oder der mehreren dritten digitalen Dokumente im jeweiligen Fahrzeugsystem zu installieren; und der erste Prozessor kann ferner dazu programmiert sein, das Skript auszuführen.
  • In anderen Merkmalen kann der spezifizierte Zugriff auf das eine oder die mehreren Fahrzeugsysteme auf Grundlage einer Benutzerkennung erfolgen.
  • In anderen Merkmalen kann das zweite digitale Dokument auf Grundlage eines privaten Serverschlüssels verschlüsselt sein; und der erste Prozessor kann ferner dazu programmiert sein, das zweite digitale Dokument auf Grundlage eines öffentlichen Serverschlüssels zu entschlüsseln.
  • In anderen Merkmalen kann der erste Prozessor ferner dazu programmiert sein, eine Anforderung an den Server zu übertragen, bevor das zweite digitale Dokument von dem Server empfangen wird, wobei die Anforderung Kennungen für das eine oder die mehreren Fahrzeugsysteme und Daten aus dem ersten digitalen Dokument beinhaltet.
  • In anderen Merkmalen kann der erste Prozessor ferner dazu programmiert sein, das zweite digitale Dokument teilweise auf der Grundlage, dass das zweite digitale Dokuments Daten aus der Anforderung an den Server beinhaltet, zu authentifizieren.
  • In anderen Merkmalen kann der Server einen zweiten Prozessor und einen zweiten Speicher beinhalten, wobei der zweite Speicher Anweisungen beinhaltet, sodass der zweite Prozessor dazu programmiert sein kann, eine Nachricht, in der Zugriff auf das eine oder die mehreren Fahrzeugsysteme angefordert wird, von der entfernten Vorrichtung zu empfangen. Der zweite Prozessor kann ferner dazu programmiert sein, das erste digitale Dokument zu generieren, das den Zugriff auf das eine oder die mehreren Fahrzeugsysteme für die entfernte Vorrichtung spezifiziert und die digitale Signatur von dem Server beinhaltet; und das erste digitale Dokument an die entfernte Vorrichtung zu übertragen.
  • In anderen Merkmalen kann der zweite Prozessor ferner dazu programmiert sein, den Zugriff auf das eine oder die mehreren Fahrzeugsysteme auf Grundlage von mindestens einem von einer Benutzerkennung und einer Kennung der entfernten Vorrichtung, die in der Nachricht beinhaltet sind, zu spezifizieren.
  • In anderen Merkmalen kann der zweite Prozessor ferner dazu programmiert sein, das erste digitale Dokument auf Grundlage von Bestimmen, dass eine Benutzerkennung in der Nachricht in einer Liste autorisierter Benutzerkennungen beinhaltet ist, zu generieren.
  • In anderen Merkmalen kann der zweite Prozessor ferner dazu programmiert sein, das erste digitale Dokument auf Grundlage von Bestimmen, dass eine Kennung der entfernten Vorrichtung in der Nachricht in einer Liste autorisierter entfernter Vorrichtungen beinhaltet ist, zu generieren.
  • In anderen Merkmalen kann der zweite Prozessor ferner dazu programmiert sein, bei Empfangen der Nachricht von dem ersten Prozessor zu bestätigen, dass die Nachricht das erste digitale Dokument beinhaltet; und auf Grundlage der Bestätigung das zweite digitale Dokument zu generieren.
  • In anderen Merkmalen kann der zweite Prozessor ferner dazu programmiert sein, eine Abfrageantwort auf eine Abfragezahl von einem des einen oder der mehreren Fahrzeugsysteme in der Nachricht zu generieren; und die Abfrageantwort in das zweite digitale Dokument aufzunehmen.
  • Ferner wird ein Verfahren offenbart, das Empfangen eines ersten digitalen Dokuments von einer entfernten Vorrichtung, das eine digitale Signatur von einem Server beinhaltet, und Spezifizieren eines Zugriffs auf ein oder mehrere Fahrzeugsysteme für die entfernte Vorrichtung beinhaltet. Das Verfahren beinhaltet ferner Empfangen eines zweiten digitalen Dokuments von dem Server, das den spezifizierten Zugriff auf das eine oder die mehreren Fahrzeugsysteme autorisiert; und Bereitstellen des spezifizierten Zugriffs auf das eine oder die mehreren Fahrzeugsysteme für die entfernte Vorrichtung auf Grundlage des ersten digitalen Dokuments und des zweiten digitalen Dokuments.
  • In anderen Merkmalen kann das zweite digitale Dokument ein oder mehrere dritte digitale Dokumente beinhalten, wobei das eine oder die mehreren dritten digitalen Dokumente den spezifizierten Zugriff auf Fahrzeugsysteme des einen oder der mehreren Fahrzeugsysteme autorisieren.
  • In anderen Merkmalen kann das Verfahren Installieren jedes des einen oder der mehreren dritten digitalen Dokumente in einem jeweiligen Fahrzeugsystem, für welches das jeweilige dritte digitale Dokument den spezifizierten Zugriff autorisiert, beinhalten.
  • In anderen Merkmalen kann das zweite digitale Dokument ein Skript beinhalten, um mindestens eines des einen oder der mehreren dritten digitalen Dokumente im jeweiligen Fahrzeugsystem zu installieren; und das Verfahren kann ferner Ausführen des Skripts beinhalten.
  • In anderen Merkmalen kann der spezifizierte Zugriff auf das eine oder die mehreren Fahrzeugsysteme auf Grundlage einer Benutzerkennung erfolgen.
  • In anderen Merkmalen kann das zweite digitale Dokument auf Grundlage eines privaten Serverschlüssels verschlüsselt sein; und das Verfahren kann ferner Entschlüsseln des zweiten digitalen Dokuments auf Grundlage eines öffentlichen Serverschlüssels beinhalten.
  • Ferner wird in dieser Schrift eine Rechenvorrichtung offenbart, die dazu programmiert ist, einen beliebigen der vorstehenden Verfahrensschritte auszuführen.
  • Darüber hinaus wird in dieser Schrift ein Computerprogrammprodukt offenbart, das ein computerlesbares Medium beinhaltet, auf dem Anweisungen gespeichert sind, die durch einen Computerprozessor ausgeführt werden können, um beliebige der vorstehenden Verfahrensschritte auszuführen.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das ein beispielhaftes System zum Bereitstellen von Sitzungszugriff auf eine Vielzahl von Fahrzeugsystemen veranschaulicht.
    • 2A und 2B sind ein Ablaufdiagramm eines beispielhaften Prozesses zum Bereitstellen von Sitzungszugriff auf eine Vielzahl von Fahrzeugsystemen.
  • DETAILLIERTE BESCHREIBUNG
  • 1 ist ein Blockdiagramm eines beispielhaften Systems 100 zum Bereitstellen von Sitzungszugriff für eine entfernte Vorrichtung 140 auf eine Vielzahl von Fahrzeugsystemen 106 in einem Fahrzeug 105. Das System 100 beinhaltet das Fahrzeug 105, eine oder mehrere entfernte Vorrichtungen 140 und einen Server 150, die durch ein Netzwerk 135 kommunikativ gekoppelt sind. Um die Veranschaulichung zu erleichtern wird das System 100 nachfolgend als ein Fahrzeug 105 beinhaltend beschrieben. Das System 100 und der durch das System 100 gewährte Sitzungszugriff können jedoch ein oder mehrere Fahrzeuge 105 beinhalten.
  • Ein Benutzer kann über eine entfernte Vorrichtung 140 eine Nachricht senden, die einen Sitzungszugriffstoken von dem Server 150 anfordert. Ein Sitzungszugriffstoken ist ein digitales Dokument, das den Zugriff auf ein oder mehrere Fahrzeugsysteme 106 für die entfernte Vorrichtung 140 spezifiziert und eine digitale Signatur von dem Server 150 beinhaltet. Der Zugriff für die entfernte Vorrichtung 140 kann auf Grundlage einer Benutzerkennung erfolgen, die in dem digitalen Dokument beinhaltet ist. Die Nachricht identifiziert Fahrzeugsysteme 106 in dem Fahrzeug 105, für die während der Sitzung Zugriff angefordert wird. Der Ausdruck „Fahrzeugsystem 106“, wie in dieser Schrift verwendet, bedeutet ein elektronisches/elektromechanisches Fahrzeugsystem, ein Teilsystem, eine Komponente 118, einen Aktor 116, einen Sensor 112, eine Schnittstelle, ein Modul usw., der/die/das eine Funktion in dem Fahrzeug 105 durchführt und einen programmierten Prozessor zum Übertragen und/oder Empfangen von Nachrichten über ein Fahrzeugkommunikationsnetzwerk 122 beinhaltet. Der Ausdruck „Token“, wie in dieser Schrift verwendet, ist ein digitales Dokument, das eine Autorisierung beinhaltet, eine oder mehrere spezifizierte Aktivitäten auszuüben. Der Ausdruck „Zugriff auf ein Fahrzeugsystem 106“, wie in dieser Schrift verwendet, bedeutet autorisierte Kommunikation mit dem Fahrzeugsystem 106. Zugriff auf das Fahrzeugsystem 106 kann voll oder eingeschränkt sein. Voller Zugriff bedeutet, dass der Benutzer über die entfernte Vorrichtung 140 autorisiert ist, alle durch das Fahrzeugsystem 106 übertragenen Daten zu empfangen und Nachrichten, z. B. Befehle, senden kann, die alle Merkmale des Fahrzeugsystems 106 steuern. Eingeschränkter Zugriff beschränkt den Benutzer darauf, einige Merkmale des Fahrzeugsystems 106 zu steuern und andere Merkmale des Fahrzeugsystems 106 nicht zu steuern oder bestimmte Merkmale nur innerhalb spezifizierter Grenzen zu steuern.
  • Der Server 150 kann die Anforderungen empfangen und den Sitzungszugriffstoken generieren. Der Sitzungszugriffstoken spezifiziert Fahrzeugsysteme 106, auf welche die entfernte Vorrichtung 140 Zugriff hat, und eine Stufe an Zugriff für jedes Fahrzeugsystem 106. Der Sitzungszugriffstoken kann ferner entfernte Vorrichtungen 140 spezifizieren, mit denen der Benutzer auf jedes der Fahrzeugsysteme 106 zugreifen kann. Der Server 150 kann den Sitzungszugriffstoken an die entfernte Vorrichtung 140 senden.
  • Die entfernte Vorrichtung 140 kann typischerweise bei Empfangen einer Benutzereingabe zum Anfordern einer Sitzung den Sitzungszugriffstoken an eine Gateway-Komponente 118_GW an dem Fahrzeug 105 senden. Zur Erleichterung der Erörterung werden Anforderungen für Sitzungszugriff für ein Fahrzeug 105 in dieser Schrift als von einem Gateway 118_GW in dem Fahrzeug 105 empfangen, verarbeitet und verteilt beschrieben. Ein oder mehrere andere Fahrzeugsysteme 106, wie zum Beispiel eine andere Komponente 118, können alternativ oder zusätzlich dazu programmiert sein, diese Funktionen durchzuführen.
  • Das Gateway 118_GW kann sich, wie nachstehend beschrieben, mit dem Server 150 und den Fahrzeugsystemen 106 austauschen, um den autorisierten Zugriff auf die Fahrzeugsysteme 106 für eine Sitzung herzustellen. Eine „Sitzung“ bedeutet im vorliegenden Kontext ein Zeitraum, in dem der Benutzer über die entfernte Vorrichtung 140 auf die Fahrzeugsysteme 106 zugreifen kann. Der Zeitraum kann als feste Zeitspanne (zum Beispiel vier Stunden), als eine Anfangszeit und eine Endzeit oder zum Beispiel bis zum Eintreten eines Ereignisses, wie etwa dem Beenden der Sitzung durch den Benutzer oder dem Beenden der Sitzung durch den Server 150, spezifiziert sein.
  • Jedes Fahrzeug 105 beinhaltet einen Fahrzeugcomputer 110, Sensoren 112, eine Mensch-Maschine-Schnittstelle (human-machine interface - HMI) 114, Aktoren 116, die Fahrzeugkomponenten 118 und ein Fahrzeugkommunikationsmodul 120, die durch ein Fahrzeugkommunikationsnetzwerk 122 kommunikativ gekoppelt sind. Die Fahrzeugkomponenten 118 können eine Gateway-Komponente 118_GW beinhalten.
  • Der Fahrzeugcomputer 110 beinhaltet einen Prozessor und einen Speicher, wie sie bekannt sind. Der Speicher beinhaltet eine oder mehrere Formen computerlesbarer Medien und speichert durch den Fahrzeugcomputer 110 ausführbare Anweisungen zum Durchführen verschiedener Vorgänge, einschliel lich der in dieser Schrift offenbarten.
  • Der Fahrzeugcomputer 110 kann das Fahrzeug 105 in einem autonomen, einem teilautonomen oder einem nicht autonomen (oder manuellen) Modus betreiben. Für die Zwecke dieser Offenbarung ist ein autonomer Modus als einer definiert, bei dem jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 105 durch den Fahrzeugcomputer 110 gesteuert wird; in einem teilautonomen Modus steuert der Fahrzeugcomputer 110 eines oder zwei von Antrieb, Bremsung und Lenkung des Fahrzeugs 105; in einem nicht autonomen Modus steuert ein menschlicher Fahrzeugführer jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 105.
  • Der Fahrzeugcomputer 110 kann Programmierung beinhalten, um eines oder mehrere von Bremsen, Antrieb (z. B. Steuerung der Beschleunigung des Fahrzeugs durch Steuern von einem oder mehreren von einer Brennkraftmaschine, einem Elektromotor, einem Hybridmotor usw.), Lenkung, Getriebe, Steuerung der Klimaanlage, Innen- und/oder Aul enbeleuchtung usw. des Fahrzeugs 105 zu betreiben, sowie um zu bestimmen, ob und wann der Fahrzeugcomputer 110 derartige Vorgänge anstelle eines menschlichen Fahrzeugführers steuern soll. Zusätzlich kann der Fahrzeugcomputer 110 dazu programmiert sein, zu bestimmen, ob und wann ein menschlicher Fahrzeugführer derartige Vorgänge steuern soll.
  • Der Fahrzeugcomputer 110 kann mehr als einen Prozessor, z.B. in elektronischen Steuereinheiten (electronic controller units - ECUs) oder dergleichen beinhaltet, die in dem Fahrzeug 105 beinhaltet sind, um verschiedene Fahrzeugkomponenten 118 zu überwachen und/oder zu steuern, z. B. eine Getriebesteuerung, eine Bremssteuerung, eine Lenksteuerung usw., beinhalten oder kommunikativ daran gekoppelt sein, z. B. über das Fahrzeugkommunikationsnetzwerk 122. Der Fahrzeugcomputer 110 ist im Allgemeinen zur Kommunikation in dem Fahrzeugkommunikationsnetzwerk 122, das einen oder mehrere Busse in dem Fahrzeug 105 beinhalten kann, wie etwa ein Controller Area Network (CAN) oder dergleichen, und/oder anderen drahtgebundenen und/oder drahtlosen Mechanismen angeordnet.
  • Über das Fahrzeugkommunikationsnetzwerk 122 kann der Fahrzeugcomputer 110 Nachrichten an verschiedene Vorrichtungen in dem Fahrzeug 105 übertragen und/oder Nachrichten (z. B. CAN-Nachrichten) von den verschiedenen Vorrichtungen, z. B. Sensoren 112, der Mensch-Maschine-Schnittstelle (HMI) 114, einem Betätigungselement 116, den Fahrzeugkomponenten 118 usw., empfangen. Alternativ oder zusätzlich dazu kann das Fahrzeugkommunikationsnetzwerk 122 in Fällen, in denen der Fahrzeugcomputer 110 tatsächlich eine Vielzahl von Vorrichtungen umfasst, zur Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als der Fahrzeugcomputer 110 dargestellt sind. Ferner können, wie nachstehend erwähnt, verschiedene Steuerungen und/oder Sensoren 112 dem Fahrzeugcomputer 110 Daten über das Fahrzeugkommunikationsnetzwerk 122 bereitstellen.
  • Des Weiteren kann der Fahrzeugcomputer 110 zum Kommunizieren über das Fahrzeugkommunikationsmodul 120 mit Vorrichtungen auberhalb des Fahrzeugs 105 konfiguriert sein, z. B. durch drahtlose Fahrzeug-zu-Fahrzeug-(V2V-) oder Fahrzeug-zu-Infrastruktur-(V2X-)Kommunikation mit einem anderen Fahrzeug 105 oder über das Netzwerk 135 mit Rechenvorrichtungen, wie etwa den entfernten Vorrichtungen 140 und dem Server 150.
  • Die Sensoren 112 können vielfältige Vorrichtungen beinhalten, wie sie bekannt sind, um dem Fahrzeugcomputer 110 Daten bereitzustellen. Zum Beispiel können die Sensoren 112 (einen) Light-Detection-and-Ranging-Sensor(en) (LIDAR-Sensoren) 112 usw. beinhalten, die oben am Fahrzeug 105, hinter einer Windschutzscheibe des Fahrzeugs 105, um das Fahrzeug 105 herum usw. angeordnet sind und relative Standorte, Gröben und Formen von Objekten bereitstellen, die das Fahrzeug 105 umgeben. Als ein anderes Beispiel können ein oder mehrere Radarsensoren 112, die an Stob fängern des Fahrzeugs 105 befestigt sind, Daten bereitstellen, um Standorte der Objekte, von zweiten Fahrzeugen 105 usw. in Bezug auf den Standort des Fahrzeugs 105 bereitzustellen. Die Sensoren 112 können ferner alternativ oder zusätzlich (einen) Kamerasensor(en) 112 und/oder andere Bildsensoren 112 beinhalten, z.B. eine Frontkamera, Seitenkamera usw., die Bilder von einem das Fahrzeug 105 umgebenden Bereich bereitstellen.
  • Die Sensoren 112 können ferner Temperatursensoren 112, Drucksensoren 112, Rotationssensoren 112, Winkelsensoren 112, Positionssensoren 112, Drehmomentsensoren 112 usw. beinhalten, um Fahrzeugbetriebszustände, wie etwa Fahrgastzellentemperatur, Fahrzeugmotortemperatur, Fahrzeuggeschwindigkeit, Fahrzeugbeschleunigung, Fahrzeugdrehwinkel, Motordrehzahl, Bremsdruck usw., zu detektieren. Die Sensoren 112 können eigenständige Einheiten sein, einschliel lich Prozessoren, und für Kommunikationen auf dem Fahrzeugkommunikationsnetzwerk 122 programmiert sein. Alternativ können die Sensoren 112 in jeweiligen Fahrzeugsystemen 106 beinhaltet und kommunikativ mit Prozessoren gekoppelt sein, die in diesen Fahrzeugsystemen 106 beinhaltet sind.
  • Das Fahrzeug 105 beinhaltet ferner eine Mensch-Maschine-Schnittstelle (HMI) 114. Die Mensch-Maschine-Schnittstelle (HMI) 114 beinhaltet Eingabevorrichtungen, wie etwa Knöpfe, Tasten, Schalter, Pedale, Hebel, Touchscreens, Mikrofone usw., die Eingaben von einem Benutzer empfangen können. Zum Beispiel kann die HMI 114 ein Bremspedal, ein Gaspedal und ein Lenkrad zum Empfangen von Eingaben von einem Benutzer zum Steuern des Fahrzeugs 105 beinhalten. Die Eingabevorrichtungen können Sensoren 112 beinhalten, um Benutzereingaben zu detektieren und dem Fahrzeugcomputer 110 Benutzereingabedaten bereitzustellen. Zum Beispiel kann das Lenkrad Sensoren 112 beinhalten, um einen Drehwinkel des Lenkrads zu detektieren und die Daten dem Fahrzeugcomputer 110 bereitzustellen.
  • Die HMI 114 beinhaltet ferner Ausgabevorrichtungen, wie etwa Anzeigen (einschliel lich Touchscreen-Anzeigen), Lautsprecher, Leuchten usw., die Signale oder Daten an den Benutzer ausgeben. Die HMI 114 ist mit dem Fahrzeugkommunikationsnetzwerk 122 gekoppelt und kann Nachrichten an den Fahrzeugcomputer 110 und andere Fahrzeugsysteme 106 senden und/oder von diesen empfangen.
  • Die Aktoren 116 sind über Schaltungen, Chips oder andere elektronische und/oder mechanische Komponenten umgesetzt, die verschiedene Fahrzeugteilsysteme gemäl zweckmäbigen Steuersignalen betätigen können, wie es bekannt ist. Die Aktoren 116 können verwendet werden, um Fahrzeugkomponenten 118, einschliel lich Bremsung, Beschleunigung und Lenkung, eines Fahrzeugs 105 zu steuern.
  • Eine Fahrzeugkomponente 118 im Kontext der Offenbarung ist eine oder mehrere Hardwarebaugruppen, die eine elektronische Steuereinheit (ECU) beinhalten, die einen oder mehrere Prozessoren und Speicher beinhaltet, der Anweisungen zum Programmieren der Prozessoren beinhaltet, die dazu ausgelegt sind, eine(n) mechanische(n) oder elektromechanische(n) Funktion oder Vorgang durchzuführen - wie etwa Bewegen des Fahrzeugs 105, Verlangsamen oder Anhalten des Fahrzeugs 105, Lenken des Fahrzeugs 105 usw. Nicht einschränkende Beispiele für Fahrzeugkomponenten 118 beinhalten eine Antriebskomponente 118 (die z.B. eine Brennkraftmaschine und/oder einen Elektromotor usw. beinhaltet), eine Getriebekomponente 118, eine Lenkkomponente 118 (die z.B. eines oder mehrere von einem Lenkrad, einer Lenkzahnstange usw. beinhalten kann), eine Bremskomponente 118, eine Parkassistenzkomponente 118, eine Komponente zur adaptiven Geschwindigkeitsregelung 118, eine Komponente zum adaptiven Lenken 118, einen bewegbaren Sitz 118, ein Gateway 118_GW usw.
  • Die Fahrzeugkomponenten 118 können das Gateway 118_GW beinhalten. Das Gateway 118_GW, wie in dieser Schrift verwendet, ist ein elektronisches Steuermodul, das Kommunikationsverkehr innerhalb des Fahrzeugs 105 leitet. Das Gateway 118_GW ist dazu programmiert, über das Fahrzeugkommunikationsmodul 120 mit den entfernten Vorrichtungen 140 und dem Server 150 zu kommunizieren. Das Gateway 118_GW ist ferner dazu programmiert, über das Fahrzeugnetzwerk 122 mit Fahrzeugsystemen 106, wie etwa dem Fahrzeugcomputer 110, den Sensoren 112, der HMI 114, den Aktoren 116, den Fahrzeugkomponenten 118 usw. zu kommunizieren.
  • Das Gateway 118_GW kann zum Beispiel einen Sitzungszugriffstoken von einer entfernten Vorrichtung 140 empfangen und den Sitzungszugriffstoken an den Server 150 übertragen. Das Gateway 118_GW kann ferner von dem Server 150 Zugriffstoken für ein oder mehrere Fahrzeugsysteme 106 und Anweisungen zum Installieren der Zugriffstoken in jeweiligen Fahrzeugsystemen 106 empfangen. Auf Grundlage der Anweisungen kann das Gateway 118_GW ferner die Zugriffstoken in den jeweiligen Fahrzeugsystemen 106 installieren, sodass ein Benutzer über die entfernte Vorrichtung 140 auf die jeweiligen Fahrzeugsysteme 106 zugreifen kann.
  • Das Gateway 118_GW kann ferner ein Ablaufen/einen Widerruf des Sitzungszugriffs verwalten. Zum Beispiel kann das Gateway 118_GW bestimmen, dass die Anforderung des Benutzers abgelaufen ist, und ein Skript ausführen, um die Verbindung zu schliel en. Vor dem Schliel en der Verbindung kann das Gateway 118_GW ferner prüfen, ob Kommunikationen zwischen dem Anforderer und dem Fahrzeugsystem 106 laufen. In dem Fall, dass die Kommunikationen laufen, kann das Gateway 118_GW zum Beispiel eine Benachrichtigung an den Anforderer senden, dass der Zugriff abgelaufen ist.
  • Das Fahrzeugkommunikationsmodul 120 beinhaltet einen oder mehrere Mechanismen, durch welche die Fahrzeugsysteme 106, wie etwa der Fahrzeugcomputer 110, das Fahrzeug-Gateway 118_GW usw., mit Rechenvorrichtungen auberhalb des Fahrzeugs 105, wie etwa den entfernten Vorrichtungen 140, dem Server 150, anderen Fahrzeugen 105, Verkehrsinfrastrukturvorrichtungen usw., kommunizieren können. Das Fahrzeugkommunikationsmodul 120 beinhaltet eine beliebige gewünschte Kombination aus drahtlosen (z. B. Mobilfunk-, Drahtlos-, Satelliten-, Mikrowellen- und Funkfrequenz-) Kommunikationsmechanismen und eine beliebige gewünschte Netzwerktopologie (oder Netzwerktopologien, wenn eine Vielzahl von Kommunikationsmechanismen verwendet wird). Beispielhafte über das Fahrzeugkommunikationsmodul 120 bereitgestellte Kommunikation beinhaltet Mobilfunk, Bluetooth, IEEE 802.11, dedizierte Nahbereichskommunikation (dedicated short range communication - DSRC) und/oder Weitverkehrsnetzwerke (wide area networks - WAN), einschliel lich des Internets, die Datenkommunikationsdienste bereitstellen.
  • Das Fahrzeugkommunikationsnetzwerk 122, wie in dieser Schrift verwendet, ist als ein oder mehrere Mechanismen für drahtgebundene oder drahtlose Kommunikationen zwischen Fahrzeugsystemen 106 des Fahrzeugs 105 definiert. Das Fahrzeugkommunikationsnetzwerk 122 kann zum Beispiel einen oder mehrere Fahrzeugkommunikationsbusse und ein oder mehrere drahtlose Kommunikationsnetzwerke beinhalten. Nicht einschränkende Beispiele für Fahrzeugkommunikationsbusse beinhalten Controller-Area-Network-(CAN-)Busse, Local-Interconnect-Network-(LIN-)Busse und Ethernet-Netzwerke. Nicht einschränkende Beispiele für drahtlose Kommunikationsnetzwerke beinhalten Bluetooth, Bluetooth Low Energy (BLE) und Wi-Fi Direct.
  • Das Netzwerk 135 stellt einen oder mehrere Mechanismen dar, durch die der Fahrzeugcomputer 110, das Gateway 118_GW und andere Fahrzeugsysteme 106 mit entfernten Vorrichtungen, wie etwa den entfernten Vorrichtungen 140 und dem Server 150, kommunizieren können. Dementsprechend kann das Netzwerk 135 einer oder mehrere von verschiedenen drahtgebundenen oder drahtlosen Kommunikationsmechanismen sein, einschliel lich einer beliebigen gewünschten Kombination aus drahtgebundenen (z. B. Kabel- und Glasfaser-) und/oder drahtlosen (z. B. Mobilfunk-, Drahtlos-, Satelliten-, Mikrowellen- und Funkfrequenz-) Kommunikationsmechanismen und einer beliebigen gewünschten Netzwerktopologie (oder Netzwerktopologien, wenn mehrere Kommunikationsmechanismen genutzt werden). Beispielhafte Kommunikationsnetzwerke beinhalten drahtlose Kommunikationsnetzwerke (z. B. unter Verwendung von Bluetooth®, Bluetooth® Low Energy (BLE), IEEE 802.11, Fahrzeug-zu-Fahrzeug (V2V), wie etwa Dedicated Short Range Communications (DSRC) usw.), lokale Netzwerke (Local Area Network - LAN) und/oder Weitverkehrsnetzwerke (Wide Area Network - WAN), einschliel lich des Internets, die Datenkommunikationsdienste bereitstellen.
  • Eine entfernte Vorrichtung 140 ist eine Rechenvorrichtung, die einen Prozessor und einen Speicher beinhaltet, wie sie bekannt sind. Eine entfernte Vorrichtung 140 ist für Kommunikationen mit Fahrzeugsystemen 106 über das Fahrzeugkommunikationsnetzwerk 122 programmiert und kann eine Mensch-Maschine-Schnittstelle beinhalten, um die Entwicklung, das Testen oder die Diagnose von Fahrzeugsystemen 106 durch den Benutzer zu unterstützen. Eine entfernte Vorrichtung 140 kann Programmierung, digitale Schlüssel usw. beinhalten, um die Vertrauenswürdigkeit gegenüber dem Server 150 herzustellen oder zu bestätigen. Vertrauenswürdigkeit bedeutet in diesem Kontext, dass die entfernte Vorrichtung 140 ein Stufe an Vertrauen herstellen kann, sodass der Server 150 autorisiert ist, der entfernten Vorrichtung 140 den Sitzungszugriffstoken bereitzustellen. Zum Beispiel kann die entfernte Vorrichtung 140 einen digitalen Schlüssel beinhalten, der zu einem digitalen Schlüssel auf dem Server 150 passt oder mit diesem gepaart ist, sodass die entfernte Vorrichtung 140 und der Server 150 verschlüsselte Kommunikationen austauschen können. Als ein anderes Beispiel kann die entfernte Vorrichtung 140 eine Kennung aufweisen, die als eine autorisierte Vorrichtung auf dem Server 150 aufgeführt ist.
  • Auf Grundlage des Empfangs des Sitzungszugriffstokens ist die entfernte Vorrichtung 140 ferner dazu programmiert, Zugriff auf Fahrzeugsysteme 106, wie etwa eine der Komponenten 118, anzufordern. Die entfernte Vorrichtung 140 kann die Anforderung an das Gateway 118_GWübertragen, das den Zugriff auf die Fahrzeugsysteme 106 wie in dieser Schrift beschrieben verwaltet.
  • In einem Beispiel könnte ein Benutzer eine Anwendung von dem Server 150 auf die entfernte Vorrichtung 140 herunterladen. Die Anwendung kann während eines durch den Sitzungszugriffstoken spezifizierten Zeitraums in Zusammenarbeit mit dem Gateway 118_GW Zugriff auf die in dem Sitzungszugriffstoken identifizierten Fahrzeugsysteme 106 herstellen.
  • Der Server 150 kann eine herkömmliche Rechenvorrichtung sein, d. h. einen oder mehrere Prozessoren und einen oder mehrere Speicher beinhalten, die dazu programmiert sind, Vorgänge bereitzustellen, wie sie etwa in dieser Schrift offenbart sind. Ferner kann auf den Server 150 über das Netzwerk 135, z. B. das Internet oder ein anderes Weitverkehrsnetz, zugegriffen werden.
  • Der Server 150 ist dazu programmiert, Anforderungen von der entfernten Vorrichtung 140 für Zugriff auf einen oder mehrere Fahrzeugsysteme 106 in dem Fahrzeug 105 zu empfangen, eine Stufe an Zugriff für die entfernte Vorrichtung 140 zu bestimmen und der entfernten Vorrichtung 140 einen Sitzungszugriffstoken bereitzustellen, der Zugriffsstufen auf ein oder mehrere Fahrzeugsysteme 106 für die entfernte Vorrichtung 140 spezifiziert. Der spezifizierte Zugriff kann für einen spezifizierten Benutzer (Benutzer mit einer spezifizierten Kennung), für eine spezifizierte entfernte Vorrichtung 140 oder für einen spezifizierten Benutzer über eine spezifizierte entfernte Vorrichtung 140 sein. Der Server 150 kann ferner dazu programmiert sein, den Sitzungszugriffstoken mit einer für den Server 150 spezifischen digitalen Signatur zu signieren. In einigen Fällen kann der Benutzer den Sitzungszugriffstoken über eine erste entfernte Vorrichtung 140 empfangen und den Sitzungszugriffstoken über eine zweite entfernte Vorrichtung 140 verwenden. In diesem Fall kann der Benutzer zum Beispiel den Sitzungszugriffstoken von der ersten entfernten Vorrichtung 140 an die zweite entfernte Vorrichtung 140 übertragen, bevor der Sitzungstoken verwendet wird.
  • Der Server 150 ist ferner dazu programmiert, Anforderungen von dem Gateway 118_GW des Fahrzeugs 105 zu empfangen, um Sitzungszugriffstoken zu authentifizieren, und dem Gateway 118_GW die notwendigen Token, Skripte und Prozeduren bereitzustellen, um den Fahrzeugsystemen 106 Zugriff der entfernten Vorrichtung 140 bereitzustellen. Ein Skript im vorliegenden Kontext ist ein Satz von Anweisungen, der durch einen Prozessor ausführbar ist, typischerweise nachdem er von einem Interpreter, wie bekannt, interpretiert wurde.
  • Der Server 150 kann öffentliche Schlüssel für eine Vielzahl von Fahrzeugen 105 (oder zum Beispiel Gateways 118_GW für die jeweiligen Fahrzeuge) in einem nichtflüchtigen Speicher beinhalten, d. h. führen, um eine sichere Kommunikation mit den Fahrzeugen 105 bereitzustellen. Der Server 150 kann ferner in dem Speicher einen privaten Schlüssel des Servers 150 führen, den der Server 150 zum digitalen Signieren des Sitzungszugriffstokens und anderer digitaler Dokumente verwenden kann.
  • Der Server 150 kann ferner in dem Speicher Sicherheitsdaten beinhalten, die das eine oder die mehreren Fahrzeugsysteme 106 betreffen. Der Ausdruck „Sicherheitsdaten“ bedeutet im vorliegenden Kontext Daten, Algorithmen, Skripte usw., die der Server 150 verwenden kann, um den Zugriff auf die Fahrzeugsysteme 106 zu bestimmen und bereitzustellen. Zum Beispiel können die Sicherheitsdaten Sicherheitstoken oder eine Programmierung zum Generieren von Sicherheitstoken für die Fahrzeugsysteme 106 beinhalten. Die Sicherheitsdaten können ferner Kriterien zum Gewähren von Zugriff auf die Fahrzeugsysteme 106 beinhalten. Zum Beispiel können die Sicherheitsdaten für jedes Fahrzeugsystem eine Liste von autorisierten Benutzern und/oder autorisierten entfernten Vorrichtungen 140 beinhalten. Als ein anderes Beispiel können die Sicherheitsdaten Mechanismen zum Empfangen und Beantworten von Abfragezahlen von Fahrzeugsystemen 106 beinhalten, für die Zugriff angefordert wird.
  • 2A und 2B sind ein Ablaufdiagramm eines beispielhaften Prozesses 200 zum Bereitstellen von Sitzungszugriff auf eine Vielzahl von Fahrzeugsystemen 106 an eine entfernte Vorrichtung 140. Der Prozess 200 beginnt bei Block 202.
  • Bei Block 202 sendet eine entfernte Vorrichtung 140 eine Nachricht an einen Server 150, die Sitzungszugriff auf ein oder mehrere Fahrzeugsysteme 106 in einem Fahrzeug 105 anfordert. Die Nachricht kann Folgendes beinhalten:
    1. 1) einen Zeitrahmen für eine angeforderte Sitzung,
    2. 2) eine Kennung des Fahrzeugs 105, auf das der Benutzer Zugriff anfordert,
    3. 3) Kennungen für ein oder mehrere Fahrzeugsysteme 106, auf die der Zugriff angefordert wird,
    4. 4) eine Stufe von Zugriff, die jeweils für jedes Fahrzeugsystem 106 angefordert wird,
    5. 5) eine Kennung des Benutzers, für den Zugriff angefordert wird, und
    6. 6) eine Kennung von entfernten Vorrichtungen 140, für die Zugriff angefordert wird.
  • Ein Zeitrahmen, wie in dieser Schrift verwendet, ist eine Beschreibung eines Zeitraums, wie etwa ein Datum, Anfangs- und Enduhrzeiten, eine Anzahl von Zündzyklen, eine Anzahl von Verwendungen des Sitzungszugriffstokens, eine Anzahl von Transaktionen usw. Eine „Kennung“ ist ein im Wesentlichen eindeutiger Datensatz, typischerweise eine alphanumerische Datenfolge, die einem spezifischen Benutzer, einer spezifischen entfernten Vorrichtung 140, einem spezifischen Fahrzeug 105, einem spezifischen Fahrzeugsystem 106 usw. entspricht. Die Kennung für das Fahrzeug 105 kann zum Beispiel die Fahrzeugidentifikationsnummer (FIN) sein. Die Benutzerkennung kann zum Beispiel eine alphanumerische Datenfolge sein, die einem bestimmten Benutzer oder einer bestimmten Gruppe von Benutzern entspricht. Die Kennung eines Fahrzeugsystems 106 kann zum Beispiel eine Seriennummer eines Moduls im Fahrzeugsystem 106, eine Kennung eines Prozessors, der Kommunikationen für das Fahrzeugsystem 106 durchführt, usw. sein. Der Prozess wird bei Block 204 fortgesetzt.
  • Bei Block 204 bestimmt der Server 150, ob der Benutzer autorisiert ist. Zum Beispiel kann der Server 150 eine Liste von Benutzerkennungen autorisierter Benutzer führen. Der Server 150 kann bestimmen, ob die in der Anforderung bereitgestellte Benutzerkennung in der Liste autorisierter Benutzer enthalten ist. Als ein anderes Beispiel kann der Server 150 eine Autorisierung für den Benutzer von einer dritten Partei anfordern und empfangen. In einem Beispiel könnte die dritte Partei Credits kaufen, die durch den Server 150 verwendet werden können, um dem Benutzer Sitzungszugriff bereitzustellen.
  • In dem Fall, dass der Server 150 bestimmt, dass der Benutzer autorisiert ist, geht der Prozess 200 zu Block 206 über. Andernfalls ist der Benutzer nicht autorisiert, woraufhin der Prozess 200 endet. Vor dem Beenden des Prozesses 200 kann der Server 150 zum Beispiel eine Nachricht an die entfernte Vorrichtung 140 senden, die angibt, dass der angeforderte Zugriff verweigert wurde.
  • Bei Block 206 generiert der Server 150 in dem Fall, dass der Benutzer autorisiert ist, und auf Grundlage der Identität des Benutzers einen Sitzungszugriffstoken. Der Sitzungszugriffstoken beinhaltet eines oder mehrere der Folgenden:
    1. 1) den Zeitraum für die Sitzung,
    2. 2) die Kennung für das Fahrzeug 105, für das der Zugriff autorisiert ist,
    3. 3) die Kennungen für die einen oder mehreren Fahrzeugsysteme 106, für die der Zugriff autorisiert ist,
    4. 4) die Kennung eines Benutzers, für den der Zugriff gewährt wird;
    5. 5) die Kennung einer oder mehrerer entfernter Vorrichtungen 140, für die der Zugriff gewährt wird;
    6. 6) die Stufe des Benutzerzugriffs jeweils für jedes des einen oder der mehreren Fahrzeugsysteme 106, und
    7. 7) eine digitale Signatur von dem Server 150.
  • Zum Beispiel kann der Server 150, wie vorstehend beschrieben, eine Tabelle von Benutzern führen, die genehmigte Zugriffe für den Benutzer beinhaltet. Die Tabelle kann die Benutzerkennungen beinhalten und kann Systeme und Stufen von Zugriff identifizieren, die der Server 150 für jeden Benutzer autorisieren kann. Tabelle 1 ist eine beispielhafte teilweise Tabelle für genehmigten Benutzerzugriff. Tabelle 1
    Tabelle für genehmigten Benutzerzugriff
    Benutzer Benutzerkennung Fahrzeugsystem 1 Fahrzeugsystem 2 Fahrzeugsystem n
    1 alphanumerische Zeichenfolge Nr. 1 Vollständiges Lesen/Schreiben Nur Lesen Lesen/begrenztes Schreiben
    2 alphanumerische Zeichenfolge Nr. 2 Nur Lesen Nur Lesen keines
    n alphanumerische Zeichenfolge n Vollständiges Lesen/Schreiben Vollständiges Lesen/Schreiben Vollständiges Lesen/Schreiben
  • In einigen Fällen kann der Server 150 ferner entfernte Vorrichtungen 140 spezifizieren, die der Benutzer verwenden kann, um auf die Fahrzeugsysteme 106 zuzugreifen. Zum Beispiel kann der Server 150 eine Liste von Kennungen autorisierter entfernter Vorrichtungen führen.
  • Zum Beispiel kann der Server 150 den Sitzungszugriffstoken generieren, um den gesamten vom Benutzer angeforderten Zugriff zu beinhalten, es sei denn, der genehmigte Zugriff des Benutzers ist auf Grundlage der Tabelle für genehmigten Benutzerzugriff beschränkt. Der Server 150 kann in diesem Fall den Sitzungszugriffstoken generieren, um den Benutzerzugriff bis zu den in der Tabelle für genehmigten Benutzerzugriff spezifizierten Grenzen einzuschlieben.
  • Der Sitzungszugriffstoken kann eine digitale Signatur von dem Server 150 beinhalten. Eine digitale Signatur ist ein Datensatz, der von einem oder mehreren Algorithmen zum Überprüfen der Authentizität von Dokumenten interpretiert werden kann. Die digitale Signatur kann auf asymmetrischer Kryptografie basieren, die es einem Ersteller einer Nachricht, in diesem Fall dem Server 150, ermöglicht, einen Code, der als eine Signatur dient, und einen privaten Schlüssel anzuhängen, wobei der Code auf der Nachricht basiert, an welche die Signatur angehängt ist. Die Nachricht kann auf Grundlage eines öffentlichen Schlüssels, der dem privaten Schlüssel zugeordnet ist, authentifiziert werden. Der von dem National Institute of Standards and Technology entwickelte Digital Signature Algorithm (DSA) ist ein Beispiel für einen digitalen Signiermechanismus. In diesem Fall kann der Server 150 einen privaten Serverschlüssel verwenden, um den Sitzungszugriffstoken digital zu signieren. Andere Rechenvorrichtungen, zum Beispiel die entfernte Vorrichtung 140 oder das Gateway 118_GW, können einen öffentlichen Serverschlüssel verwenden, um die digitale Signatur zu bestätigen.
  • Als nächstes kann der Server 150 bei Block 208 den Sitzungszugriffstoken an die entfernte Vorrichtung 140 senden. Der Prozess 200 geht zu Block 210 über.
  • Bei Block 210, der in einigen Umsetzungen weggelassen werden kann, kann die entfernte Vorrichtung 140 den Sitzungszugriffstoken an eine oder mehrere andere entfernte Vorrichtungen 140 übertragen, für die der Sitzungszugriffstoken gelten kann. Zum Beispiel können die anderen entfernten Vorrichtungen 140 ein oder mehrere Testgeräte beinhalten, die der Benutzer während der Zugriffssitzung verwenden kann und die möglicherweise auf die Fahrzeugsysteme 106 in dem Fahrzeug 105 zugreifen müssen. Die entfernte Vorrichtung 140 kann den Sitzungszugriffstoken über das Netzwerk 135 an jede der anderen entfernten Vorrichtungen 140 übertragen. Der Prozess 200 geht zu Block 212 über.
  • Bei Block 212 übermittelt eine entfernte Vorrichtung 140 den Sitzungszugriffstoken an das Gateway 118_GW in dem Fahrzeug 105. Zum Beispiel kann sich die entfernte Vorrichtung 140 mit einem CAN-Bus verbinden, der in dem Fahrzeugkommunikationsnetzwerk 122 beinhaltet ist, und den Sitzungszugriffstoken über den CAN-Bus an das Gateway 118_GW übertragen. Der Prozess 200 geht zu Block 214 über.
  • Bei Block 214 erzeugt das Gateway 118_GW ein Anforderungspaket für den Server 150. Das Anforderungspaket ist ein digitales Dokument, das durch das Gateway 118_GW auf Grundlage des von der entfernten Vorrichtung 140 empfangenen Sitzungszugriffstokens generiert wird und Folgendes beinhalten kann:
    1. 1) die Kennung für jedes der Fahrzeugsysteme 106, auf die Zugriff angefordert wird,
    2. 2) eine Abfragezahl jeweils von einem oder mehreren der Fahrzeugsysteme 106,
    3. 3) Metadaten für Fahrzeugsysteme 106, auf die Zugriff angefordert wird, und
    4. 4) den Sitzungszugriffstoken.
  • Das Gateway 118_GW kann von einem oder mehreren der Fahrzeugsysteme 106, auf die Zugriff angefordert wird, eine entsprechende Abfragezahl anfordern, um das Anforderungspaket zu generieren. Die jeweiligen Abfragezahlen können zum Beispiel durch [[a]] Pseudozufallszahlengeneratoren erzeugt werden, die in dem einen oder den mehreren Fahrzeugsystemen 106 beinhaltet sind. Das Gateway 118_GW kann die jeweiligen Abfragezahlen für das eine oder die mehreren Fahrzeugsysteme 106 in das Anforderungspaket mit einschliel en.
  • Metadaten können Seriennummern, Firmware- oder Softwareversionen, Hersteller, Teilenummern, Ausstattungsstufen, Merkmalsinhalte usw. der jeweiligen Fahrzeugsysteme 106 beinhalten.
  • Nach dem Zusammenstellen des Anforderungspakets kann das Gateway 118_GW das Anforderungspaket weiter verschlüsseln, zum Beispiel unter Verwendung des privaten Schlüssels des Gateways 118_GW. Der Prozess 200 geht zu Block 216 über.
  • Bei Block 216 überträgt das Gateway 118_GWdas Anforderungspaket über das Netzwerk 135 an den Server 150. Der Prozess 200 geht zu Block 218 über.
  • Bei Block 218 entschlüsselt der Server 150 das Anforderungspaket, in dem Fall, dass das Gateway 118_GW das Anforderungspaket verschlüsselt hat. Zum Beispiel entschlüsselt der Server 150 in einem Fall, dass das Gateway 118_GW das Anforderungspaket unter Verwendung des privaten Schlüssels des Gateways 118_GW verschlüsselt hat, das Anforderungspaket unter Verwendung des öffentlichen Schlüssels des Gateways 118_GW. Der Prozess 200 geht zu Block 220 über.
  • Bei Block 220 bestimmt der Server 150, ob das Anforderungspaket autorisiert ist. In dem Fall, dass das Anforderungspaket verschlüsselt wurde, bestätigt der Server 150, dass die Entschlüsselung mit dem öffentlichen Schlüssel des Gateways 118_GW erfolgreich war, wodurch bestätigt wird, dass die Verschlüsselung unter Verwendung des privaten Schlüssels des Gateways 118_GW durchgeführt wurde.
  • Der Server 150 kann ferner Abfrageantworten auf Abfragezahlen von den Fahrzeugsystemen 106 generieren, die in dem Anforderungspaket enthalten sind. Abfrageantworten können Zahlen (oder alphanumerische Zeichenfolgen) sein, die durch Antwortgeneratoralgorithmen generiert werden, die jeweiligen Fahrzeugsystemen 106 zugeordnet sind. Zum Beispiel kann der Server 150 bei Empfangen der in dem Anforderungspaket enthaltenen Abfragezahlen die Abfragezahlen an Antwortgeneratoralgorithmen übermitteln, die dem Fahrzeugsystem 106 zugeordnet sind, das die Abfragezahl erzeugt hat. In einigen Fällen kann der Server 150 jeweils die Antwortgeneratoralgorithmen für das eine oder die mehreren Fahrzeugsysteme 106 beinhalten, das heil t in einem Speicher speichern. In anderen Fällen können einer oder mehrere der Antwortgeneratoralgorithmen auf einem anderen Server geführt werden, mit dem der Server 150 über das Netzwerk 135 kommunizieren kann.
  • Der Server 150 kann ferner die Authentizität des Benutzers bestätigen, indem er den Sitzungszugriffstoken mit dem zuvor signierten und dem Benutzer bereitgestellten Sitzungszugriffstoken vergleicht. Der Server 150 kann ferner rückbestätigen, dass der Benutzer autorisiert ist, indem er beispielsweise bestätigt, dass das Anforderungspaket innerhalb des Zeitrahmens für die Sitzung empfangen wird. Der Server 150 kann ferner rückbestätigen, dass die Kennung des Benutzers in der Liste der genehmigten Benutzer enthalten ist. In dem Fall, dass der Server 150 bestätigt, dass das Anforderungspaket autorisiert ist, geht der Prozess 200 zu Block 222 über. Andernfalls lehnt der Server 150 das Anforderungspaket ab und der Prozess 200 endet. Der Server 150 kann eine Nachricht zum Beispiel an das Gateway 118 _GW senden, die das Gateway 118_GW benachrichtigt, dass das Anforderungspaket abgelehnt wurde.
  • Bei Block 222 erzeugt der Server 150 ein Antwortpaket. Das Antwortpaket ist ein digitales Dokument, das durch den Server 150 auf Grundlage des vom Gateway 118_GW empfangenen Anforderungspakets generiert wird. Das Antwortpaket kann ferner auf der Anforderung des Sitzungszugriffstokens basieren, die zuvor von der entfernten Vorrichtung 140 empfangen wurde. Das Antwortpaket beinhaltet:
    1. 1) das Anforderungspaket,
    2. 2) sitzungsspezifische Token für Fahrzeugsysteme 106,
    3. 3) Abfrageantworten und
    4. 4) für das Fahrzeugsystem 106 spezifische Übermittlungsskripte.
  • Ein sitzungsspezifischer Token für ein Fahrzeugsystem 106 ist eine digitale Darstellung von Rechten, mit einem spezifizierten Fahrzeugsystem 106 während einer spezifizierten Sitzung zu interagieren. Für das Fahrzeugsystem 106 spezifische Übermittlungsskripte sind Sätze von Anweisungen (digitaler Code), die beispielsweise durch das Gateway 118_GW ausgeführt werden können, um Zugriff auf ein spezifiziertes Fahrzeugsystem 106 durch die entfernte Vorrichtung 140 bereitzustellen.
  • Nach dem Erzeugen des Antwortpakets kann der Server 150 das Antwortpaket dann unter Verwendung des privaten Schlüssels des Servers 150 verschlüsseln. Der Prozess 200 geht zu Block 224 über.
  • Bei Block 224 überträgt der Server 150 das Antwortpaket an das Gateway 118_GW. Der Prozess geht zu Block 226 über.
  • Bei Block 226 entschlüsselt das Gateway 118_GW nötigenfalls das Antwortpaket. Zum Beispiel kann in einem Fall, dass der Server 150 das Antwortpaket unter Verwendung des privaten Schlüssels des Servers 150 verschlüsselt, das Gateway 118_GW das Antwortpaket unter Verwendung des öffentlichen Schlüssels des Servers 150 entschlüsseln.
  • Als nächstes authentifiziert das Gateway 118_GW das Antwortpaket bei Block 228. Zunächst bestimmt das Gateway 118_GW, ob das Gateway 118_GW in der Lage war, das Antwortpaket zu entschlüsseln, d. h., ob es ein erwartetes Ergebnis aus dem Entschlüsseln des Antwortpakets empfangen hat. Ferner bestimmt das Gateway 118_GW, ob das in dem Antwortpaket enthaltene Anforderungspaket mit dem zuvor dem Server 150 bereitgestellten Anforderungspaket übereinstimmt. In einem Fall, dass das Gateway 118_GW das Antwortpaket authentifiziert, d. h. in der Lage war, das Antwortpaket zu entschlüsseln, und/oder das zurückgegebene Anforderungspaket mit dem zuvor gesendeten Anforderungspaket übereinstimmte, geht der Prozess 200 zu Block 230 über. Andernfalls endet der Prozess 200. Vor dem Beenden des Prozesses 200 kann das Gateway 118_GW den Benutzer (über die entfernte Vorrichtung 140) und/oder den Server 150 benachrichtigen, dass die Zugriffsanforderung abgelehnt wurde.
  • Bei Block 230 entriegelt das Gateway 118_GW die in dem Anforderungspaket spezifizierten Fahrzeugsysteme 106 bis auf die spezifizierte Stufe von Zugriff für den Benutzer über die entfernte Vorrichtung 140. Das Gateway 118_GW führt die Übermittlungsskripte aus, um den sitzungsspezifischen Token für jedes jeweilige Fahrzeugsystem 106 zu installieren, das den Zugriff durch die entfernte Vorrichtung 140 ermöglicht. Das Gateway 118_GW kann ferner Abfrageantworten an die jeweiligen Fahrzeugsysteme 106 zur Verifizierung durch die jeweiligen Fahrzeugsysteme 106 übermitteln. Der Prozess 200 geht zu Block 232 über.
  • Bei Block 232 überwacht das Gateway 118_GW das Fahrzeugkommunikationsnetzwerk 122. Zum Beispiel kann das Gateway 118_GW Nachrichten auf einem CAN-Bus in dem Fahrzeugkommunikationsnetzwerk 122 überwachen, auf dem die entfernte Vorrichtung 140 kommuniziert, d. h. Nachrichten sendet. Der Prozess 200 geht zu Block 234 über.
  • Bei Block 234 bestimmt das Gateway 118_GW, ob ein Sitzungsbeendigungsereignis aufgetreten ist. Ein Sitzungsbeendigungsereignis ist eine Nachricht, ein elektrisches Signal, eine Änderung eines Systemspannungspegels usw., die/das angibt, dass die Sitzung beendet ist oder kurz davor steht, beendet zu werden. Zum Beispiel kann ein Sitzungsbeendigungsereignis eine Nachricht von der entfernten Vorrichtung 140 sein, dass sich der Benutzer abmeldet. Als ein anderes Beispiel kann eine Nachricht auf dem Fahrzeugkommunikationsnetzwerk 122 angeben, dass die Uhrzeit 19:00 Uhr ist, und die Sitzung durch den Sitzungszugriffstoken dazu geplant ist, um 19:00 Uhr zu enden. Als ein anderes Beispiel kann ein elektrisches Signal oder eine Änderung eines Spannungspegels der Versorgungsspannung angeben, dass das Fahrzeug 105 ausgeschaltet wurde oder dass die Stromversorgung zu dem Fahrzeug 105 unterbrochen wurde. Die vorstehend genannten Beispiele sind nicht einschränkend. Andere Nachrichten, Signale, Änderungen der Spannungspegel usw. können ebenfalls angeben, dass die Sitzung beendet ist. In dem Fall, dass das Gateway 118_GW bestimmt, dass das Sitzungsbeendigungsereignis aufgetreten ist, endet der Prozess 200. Andernfalls geht der Prozess 200 zu Block 232 über.
  • In der vorstehenden Beschreibung und dem beispielhaften Prozess 200 werden Anforderungen für Sitzungszugriff für ein Fahrzeug 105 als von einem Gateway 118_GW in dem Fahrzeug 105 empfangen, verarbeitet und verteilt beschrieben. Dies ist nur ein Beispiel und soll nicht einschränkend sein. Die dem Gateway 118_GW zugeschriebenen Vorgänge können ganz oder teilweise durch ein oder mehrere andere Fahrzeugsysteme 106, wie zum Beispiel eine andere Komponente 118, durchgeführt werden.
  • Im in dieser Schrift verwendeten Sinne bedeutet der Ausdruck „im Wesentlichen“, dass eine Form, eine Struktur, ein Mal, eine Menge, eine Zeit usw. aufgrund von Mängeln bei Materialien, Bearbeitung, Herstellung, Datenübertragung, Berechnungszeit usw. von einem bzw. einer genauen beschriebenen Geometrie, Abstand, Mal, Menge, Zeit usw. abweichen kann.
  • Im hierin verwendeten Sinne bedeutet der Ausdruck „auf Grundlage von“ ganz oder teilweise auf Grundlage von.
  • Im Allgemeinen können die beschriebenen Rechensysteme und/oder -vorrichtungen ein beliebiges aus einer Reihe von Computerbetriebssystemen einsetzen, einschliel lich unter anderem Versionen und/oder Varianten der Anwendung Ford Sync®, der Middleware AppLink/Smart Device Link, des Betriebssystems Microsoft Automotive®, des Betriebssystems Microsoft Windows®, des Betriebssystems Unix (z. B. des Betriebssystems Solaris®, vertrieben durch die Oracle Corporation in Redwood Shores, Kalifornien), des Betriebssystems AIX UNIX, vertrieben durch International Business Machines in Armonk, New York, des Betriebssystems Linux, der Betriebssysteme Mac OSX und iOS, vertrieben durch die Apple Inc. in Cupertino, Kalifornien, des BlackBerry OS, vertrieben durch die Blackberry, Ltd. in Waterloo, Kanada, und des Betriebssystems Android, entwickelt durch die Google, Inc. und die Open Handset Alliance, oder der QNX® CAR Platform for Infotainment, angeboten durch QNX Software Systems. Beispiele für Rechenvorrichtungen beinhalten unter anderem einen Fahrzeugbordcomputer, einen Computerarbeitsplatz, einen Server, einen Desktop-, Notebook-, Laptop- oder Handheld-Computer oder ein anderes Rechensystem und/oder eine andere Rechenvorrichtung.
  • Computer und Rechenvorrichtungen beinhalten im Allgemeinen computerausführbare Anweisungen, wobei die Anweisungen durch eine oder mehrere Rechenvorrichtungen ausgeführt werden können, wie etwa durch die vorstehend aufgeführten. Computerausführbare Anweisungen können von Computerprogrammen zusammengestellt oder ausgewertet werden, welche unter Verwendung einer Vielzahl von Programmiersprachen und/oder -technologien erstellt wurden, einschliel lich unter anderem und entweder für sich oder in Kombination Java™, C, C++, Matlab, Simulink, Stateflow, Visual Basic, Java Script, Perl, HTML usw. Einige dieser Anwendungen können auf einer virtuellen Maschine zusammengestellt und ausgeführt werden, wie beispielsweise der Java Virtual Machine, der Dalvik Virtual Machine oder dergleichen. 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, wodurch er einen oder mehrere Prozesse durchführt, einschliel lich eines oder mehrerer der in dieser Schrift beschriebenen Prozesse. Solche Anweisungen und andere Daten können unter Verwendung einer Vielfalt von computerlesbaren Medien gespeichert und übertragen werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw., gespeichert sind.
  • Ein Speicher kann ein computerlesbares Medium (auch als prozessorlesbares Medium bezeichnet) einschliel en, das ein beliebiges nichttransitorisches (z. B. materielles) Medium einschliel t, das am Bereitstellen von Daten (z. B. Anweisungen) beteiligt ist, die durch einen Computer (z. B. durch einen Prozessor eines Computers) gelesen werden können. Ein derartiges Medium kann viele Formen annehmen, einschliel lich unter anderem nichtflüchtiger Medien und flüchtiger Medien. Nichtflüchtige Medien beinhalten zum Beispiel Bild- und Magnetplatten und sonstige dauerhafte Speicher. Flüchtige Medien können zum Beispiel dynamischen Direktzugriffsspeicher (dynamic random access memory - DRAM) einschlieben, der in der Regel einen Hauptspeicher darstellt. Solche Anweisungen können durch ein oder mehrere Übertragungsmedien übertragen werden, darunter Koaxialkabel, Kupferdraht und Glasfaser, einschliel lich den Drähten, aus denen ein Systembus besteht, der an einen Prozessor einer ECU gekoppelt ist. Gängige Formen computerlesbarer Medien beinhalten zum Beispiel eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das von einem Computer gelesen werden kann.
  • Datenbanken, Datenbestände oder sonstige Datenspeicher, die in dieser Schrift beschrieben sind, können verschiedene Arten von Mechanismen zum Speichern von, Zugreifen auf und Abrufen von verschiedene(n) Arten von Daten beinhalten, einschliel lich einer hierarchischen Datenbank, eines Satzes von Dateien in einem Dateisystem, einer Anwendungsdatenbank in einem anwendereigenen Format, eines relationalen Datenbankverwaltungssystems (relational database management system - RDBMS) usw. Jeder dieser Datenspeicher ist im Allgemeinen in einer Rechenvorrichtung enthalten, die ein Computerbetriebssystem wie etwa eines der vorstehend erwähnten einsetzt, und es wird auf eine oder mehrere von einer Vielfalt von Weisen über ein Netz darauf zugegriffen. Auf ein Dateisystem kann von einem Computerbetriebssystem zugegriffen werden und es kann in verschiedenen Formaten gespeicherte Dateien beinhalten. Ein RDBMS setzt im Allgemeinen die Structured Query Language (SQL) zusätzlich zu einer Sprache zum Erzeugen, Speichern, Editieren und Ausführen gespeicherter Prozeduren ein, wie etwa die vorstehend erwähnte PL/SQL-Sprache.
  • In einigen Beispielen können Systemelemente als computerlesbare Anweisungen (z. B. Software) auf einer oder mehreren Rechenvorrichtungen (z. B. Servern, PCs usw.) umgesetzt sein, die auf computerlesbaren Medien gespeichert sind (z. B. Platten, Speicher usw.), die den Rechenvorrichtungen zugeordnet sind. Ein Computerprogrammprodukt kann solche auf computerlesbaren Medien gespeicherte Anweisungen zum Ausführen der in dieser Schrift beschriebenen Funktionen umfassen.
  • Hinsichtlich der hierin beschriebenen Medien, Prozesse, Systeme, Verfahren, Heuristiken usw. versteht es sich, dass die Schritte solcher Prozesse usw. zwar als gemäl einer bestimmten Reihenfolge erfolgend beschrieben worden sind, solche Prozesse jedoch so umgesetzt werden können, dass die beschriebenen Schritte in einer Reihenfolge durchgeführt werden, die von der hierin beschriebenen Reihenfolge abweicht. Es versteht sich ferner, dass gewisse Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder gewisse in dieser Schrift beschriebene Schritte weggelassen werden können. Anders ausgedrückt, dienen die Beschreibungen von Prozessen in dieser Schrift dem Zwecke der Veranschaulichung gewisser Ausführungsformen und sollten keinesfalls dahingehend ausgelegt werden, dass sie die Patentansprüche einschränken.
  • Dementsprechend versteht es sich, dass die vorstehende Beschreibung veranschaulichend und nicht einschränkend sein soll. Viele Ausführungsformen und Anwendungen, bei denen es sich nicht um die bereitgestellten Beispiele handelt, werden dem Fachmann beim Lesen der vorstehenden Beschreibung ersichtlich sein. Der Umfang der Erfindung sollte nicht unter Bezugnahme auf die vorstehende Beschreibung festgelegt werden, sondern stattdessen unter Bezugnahme auf die beigefügten Ansprüche in Zusammenhang mit dem vollständigen Umfang von Äquivalenten, zu denen solche Ansprüche berechtigen. Es wird vorweggenommen und ist beabsichtigt, dass es zukünftige Entwicklungen im in dieser Schrift erörterten Stand der Technik geben wird und dass die offenbarten Systeme und Verfahren in derartige zukünftige Ausführungsformen aufgenommen werden. Insgesamt versteht es sich, dass die Erfindung modifiziert und variiert werden kann und ausschliel lich durch die folgenden Patentansprüche eingeschränkt ist.
  • Allen in den Patentansprüchen verwendeten Ausdrücken soll deren allgemeine und gewöhnliche Bedeutung zukommen, wie sie vom Fachmann verstanden wird, sofern in dieser Schrift nicht ausdrücklich etwas Anderes angegeben ist. Insbesondere ist die Verwendung der Singularartikel, wie etwa „ein“, „eine“, „der“, „die“, „das“ usw., dahingehend auszulegen, dass ein oder mehrere der aufgeführten Elemente genannt werden, sofern ein Anspruch nicht eine ausdrückliche gegenteilige Einschränkung enthält.
  • Gemäl der vorliegenden Erfindung wird ein System bereitgestellt, das einen ersten Computer aufweist, der einen ersten Prozessor und einen ersten Speicher beinhaltet, wobei der erste Speicher Anweisungen beinhaltet, sodass der erste Prozessor dazu programmiert ist: ein erstes digitales Dokument von einer entfernten Vorrichtung zu empfangen, das eine digitale Signatur von einem Server beinhaltet und Zugriff auf ein oder mehrere Fahrzeugsysteme für einen Benutzer spezifiziert; ein zweites digitales Dokument von dem Server zu empfangen, das den spezifizierten Zugriff auf das eine oder die mehreren Fahrzeugsysteme autorisiert; und der entfernten Vorrichtung den spezifizierten Zugriff für den Benutzer auf das eine oder die mehreren Fahrzeugsysteme auf Grundlage des ersten digitalen Dokuments und des zweiten digitalen Dokuments bereitzustellen.
  • Gemäl einer Ausführungsform beinhaltet das zweite digitale Dokument ein oder mehrere dritte digitale Dokumente, wobei das eine oder die mehreren dritten digitalen Dokumente den spezifizierten Zugriff auf Fahrzeugsysteme des einen oder der mehreren Fahrzeugsysteme autorisieren.
  • Gemäb einer Ausführungsform ist der erste Prozessor ferner dazu programmiert, jedes des einen oder der mehreren dritten digitalen Dokumente in einem jeweiligen Fahrzeugsystem zu installieren, für welches das jeweilige dritte digitale Dokument den spezifizierten Zugriff autorisiert.
  • Gemäb einer Ausführungsform beinhaltet das zweite digitale Dokument ein Skript, um mindestens eines des einen oder der mehreren dritten digitalen Dokumente im jeweiligen Fahrzeugsystem zu installieren; und der erste Prozessor ist ferner dazu programmiert, das Skript auszuführen.
  • Gemäb einer Ausführungsform erfolgt der spezifizierte Zugriff auf das eine oder die mehreren Fahrzeugsysteme auf Grundlage einer Benutzerkennung.
  • Gemäb einer Ausführungsform ist das zweite digitale Dokument auf Grundlage eines privaten Serverschlüssels verschlüsselt; und der erste Prozessor ist ferner dazu programmiert, das zweite digitale Dokument auf Grundlage eines öffentlichen Serverschlüssels zu entschlüsseln.
  • Gemäb einer Ausführungsform ist der erste Prozessor ferner dazu programmiert, eine Anforderung an den Server zu übertragen, bevor das zweite digitale Dokument von dem Server empfangen wird, wobei die Anforderung Kennungen für das eine oder die mehreren Fahrzeugsysteme und Daten aus dem ersten digitalen Dokument beinhaltet.
  • Gemäb einer Ausführungsform ist der erste Prozessor ferner dazu programmiert, das zweite digitale Dokument teilweise auf der Grundlage, dass das zweite digitale Dokuments Daten aus der Anforderung an den Server beinhaltet, zu authentifizieren.
  • Gemäb einer Ausführungsform ist die Erfindung ferner dadurch gekennzeichnet, dass der Server einen zweiten Prozessor und einen zweiten Speicher beinhaltet, wobei der zweite Speicher Anweisungen beinhaltet, sodass der zweite Prozessor dazu programmiert ist: eine Nachricht, in der Zugriff auf das eine oder die mehreren Fahrzeugsysteme angefordert wird, von der entfernten Vorrichtung zu empfangen; das erste digitale Dokument zu generieren, das den Zugriff auf das eine oder die mehreren Fahrzeugsysteme für die entfernte Vorrichtung spezifiziert und die digitale Signatur von dem Server beinhaltet; und das erste digitale Dokument an die entfernte Vorrichtung zu übertragen.
  • Gemäb einer Ausführungsform ist der zweite Prozessor ferner dazu programmiert, den Zugriff auf das eine oder die mehreren Fahrzeugsysteme auf Grundlage von mindestens einem von einer Benutzerkennung und einer Kennung der entfernten Vorrichtung, die in der Nachricht beinhaltet sind, zu spezifizieren.
  • Gemäb einer Ausführungsform ist der zweite Prozessor ferner dazu programmiert, das erste digitale Dokument auf Grundlage von Bestimmen, dass eine Benutzerkennung in der Nachricht in einer Liste autorisierter Benutzerkennungen beinhaltet ist, zu generieren.
  • Gemäb einer Ausführungsform ist der zweite Prozessor ferner dazu programmiert, das erste digitale Dokument auf Grundlage von Bestimmen, dass eine Kennung der entfernten Vorrichtung in der Nachricht in einer Liste autorisierter entfernter Vorrichtungen beinhaltet ist, zu generieren.
  • Gemäb einer Ausführungsform ist der zweite Prozessor ferner dazu programmiert: bei Empfangen der Nachricht von dem ersten Prozessor zu bestätigen, dass die Nachricht das erste digitale Dokument beinhaltet; und auf Grundlage der Bestätigung das zweite digitale Dokument zu generieren.
  • Gemäb einer Ausführungsform ist der zweite Prozessor ferner dazu programmiert: eine Abfrageantwort auf eine Abfragezahl von einem des einen oder der mehreren Fahrzeugsysteme in der Nachricht zu generieren; und die Abfrageantwort in das zweite digitale Dokument aufzunehmen.
  • Gemäb der vorliegenden Erfindung beinhaltet ein Verfahren: Empfangen eines ersten digitalen Dokuments von einer entfernten Vorrichtung, das eine digitale Signatur von einem Server beinhaltet und Zugriff auf ein oder mehrere Fahrzeugsysteme für die entfernte Vorrichtung spezifiziert; Empfangen eines zweiten digitalen Dokuments von dem Server, das den spezifizierten Zugriff auf das eine oder die mehreren Fahrzeugsysteme autorisiert; und Bereitstellen des spezifizierten Zugriffs auf das eine oder die mehreren Fahrzeugsysteme an die entfernte Vorrichtung auf Grundlage des ersten digitalen Dokuments und des zweiten digitalen Dokuments.
  • In einem Aspekt der Erfindung beinhaltet das zweite digitale Dokument ein oder mehrere dritte digitale Dokumente, wobei das eine oder die mehreren dritten digitalen Dokumente den spezifizierten Zugriff auf Fahrzeugsysteme des einen oder der mehreren Fahrzeugsysteme autorisieren.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren Installieren jedes des einen oder der mehreren dritten digitalen Dokumente in einem jeweiligen Fahrzeugsystem, für welches das jeweilige dritte digitale Dokument den spezifizierten Zugriff autorisiert.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren, dass das zweite digitale Dokument ein Skript beinhaltet, um mindestens eines des einen oder der mehreren dritten digitalen Dokumente im jeweiligen Fahrzeugsystem zu installieren, ferner umfassend: Ausführen des Skripts.
  • In einem Aspekt der Erfindung erfolgt der spezifizierte Zugriff auf das eine oder die mehreren Fahrzeugsysteme auf Grundlage einer Benutzerkennung.
  • Gemäb einer Ausführungsform ist das zweite digitale Dokument auf Grundlage eines privaten Serverschlüssels verschlüsselt, ferner umfassend: Entschlüsseln des zweiten digitalen Dokuments auf Grundlage eines öffentlichen Serverschlüssels.

Claims (15)

  1. Verfahren, Folgendes umfassend: Empfangen eines ersten digitalen Dokuments von einer entfernten Vorrichtung durch eine erste Rechenvorrichtung, das eine digitale Signatur von einem Server beinhaltet, und Spezifizieren eines Zugriffs auf ein oder mehrere Fahrzeugsysteme für die entfernte Vorrichtung; Empfangen eines zweiten digitalen Dokuments von dem Server, das den spezifizierten Zugriff auf das eine oder die mehreren Fahrzeugsysteme autorisiert; und Bereitstellen des spezifizierten Zugriffs auf das eine oder die mehreren Fahrzeugsysteme an die entfernte Vorrichtung auf Grundlage des ersten digitalen Dokuments und des zweiten digitalen Dokuments.
  2. Verfahren nach Anspruch 1, wobei das zweite digitale Dokument ein oder mehrere dritte digitale Dokumente beinhaltet, wobei das eine oder die mehreren dritten digitalen Dokumente den spezifizierten Zugriff auf Fahrzeugsysteme des einen oder der mehreren Fahrzeugsysteme autorisieren.
  3. Verfahren nach Anspruch 2, ferner umfassend: Installieren jedes des einen oder der mehreren dritten digitalen Dokumente in einem jeweiligen Fahrzeugsystem, für welches das jeweilige dritte digitale Dokument den spezifizierten Zugriff autorisiert.
  4. Verfahren nach Anspruch 3, wobei das zweite digitale Dokument ein Skript beinhaltet, um mindestens eines des einen oder der mehreren dritten digitalen Dokumente im jeweiligen Fahrzeugsystem zu installieren, ferner umfassend: Ausführen des Skripts.
  5. Verfahren nach Anspruch 1, wobei der spezifizierte Zugriff auf das eine oder die mehreren Fahrzeugsysteme auf Grundlage einer Benutzerkennung erfolgt.
  6. Verfahren nach Anspruch 1, wobei das zweite digitale Dokument auf Grundlage eines privaten Serverschlüssels verschlüsselt ist, ferner umfassend: Entschlüsseln des zweiten digitalen Dokuments auf Grundlage eines öffentlichen Serverschlüssels.
  7. Verfahren nach Anspruch 1, ferner umfassend: Übertragen einer Anforderung an den Server vor Empfangen des zweiten digitalen Dokuments von dem Server, wobei die Anforderung Kennungen für das eine oder die mehreren Fahrzeugsysteme und Daten aus dem ersten digitalen Dokument beinhaltet.
  8. Verfahren nach Anspruch 7, ferner umfassend: Authentifizieren des zweiten digitalen Dokuments teilweise auf der Grundlage, dass das zweite digitale Dokument Daten aus der Anforderung an den Server beinhaltet.
  9. Verfahren nach Anspruch 1, ferner umfassend: Empfangen einer Nachricht von der entfernten Vorrichtung durch eine zweite Rechenvorrichtung, in der Zugriff auf das eine oder die mehreren Fahrzeugsysteme angefordert wird; Generieren des ersten digitalen Dokuments durch die zweite Rechenvorrichtung, das den Zugriff auf das eine oder die mehreren Fahrzeugsysteme für die entfernte Vorrichtung spezifiziert und die digitale Signatur von dem Server beinhaltet; und Übertragen des ersten digitalen Dokuments an die entfernte Vorrichtung durch die zweite Rechenvorrichtung.
  10. Verfahren nach Anspruch 9, ferner umfassend: Spezifizieren des Zugriffs auf das eine oder die mehreren Fahrzeugsysteme durch die zweite Rechenvorrichtung auf Grundlage von mindestens einem von einer Benutzerkennung und einer Kennung der entfernten Vorrichtung, die in der Nachricht beinhaltet sind.
  11. Verfahren nach Anspruch 9, ferner umfassend: Generieren des ersten digitalen Dokuments durch die zweite Rechenvorrichtung auf Grundlage von Bestimmen, dass eine Benutzerkennung in der Nachricht in einer Liste autorisierter Benutzerkennungen beinhaltet ist.
  12. Verfahren nach Anspruch 9, ferner umfassend: Generieren des ersten digitalen Dokuments auf Grundlage von Bestimmen, dass eine Kennung der entfernten Vorrichtung in der Nachricht in einer Liste autorisierter entfernter Vorrichtungen beinhaltet ist.
  13. Computer, der dazu programmiert ist, das Verfahren nach einem der Ansprüche 1-12 auszuführen.
  14. Fahrzeug, das einen Computer beinhaltet, der dazu programmiert ist, das Verfahren nach einem der Ansprüche 1-12 auszuführen.
  15. Computerprogrammprodukt, das ein computerlesbares Medium umfasst, auf dem Anweisungen gespeichert sind, die durch einen Computerprozessor ausführbar sind, um das Verfahren nach einem der Ansprüche 1-12 auszuführen.
DE102020126909.9A 2019-10-14 2020-10-13 Sitzungsspezifischer zugriffstoken Pending DE102020126909A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/601,076 US11488404B2 (en) 2019-10-14 2019-10-14 Session unique access token for communications with a vehicle
US16/601,076 2019-10-14

Publications (1)

Publication Number Publication Date
DE102020126909A1 true DE102020126909A1 (de) 2021-04-15

Family

ID=75155649

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020126909.9A Pending DE102020126909A1 (de) 2019-10-14 2020-10-13 Sitzungsspezifischer zugriffstoken

Country Status (3)

Country Link
US (1) US11488404B2 (de)
CN (1) CN112738012A (de)
DE (1) DE102020126909A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11844022B2 (en) * 2020-07-20 2023-12-12 Southeast Toyota Distributors, Llc. Systems for wireless personal area networks signal transmission and methods of use thereof

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102098326A (zh) 2010-12-13 2011-06-15 斯必克机电产品(苏州)有限公司 汽车网络诊断的方法及其系统
US20140067195A1 (en) * 2012-08-30 2014-03-06 Frias Transportation Infrastructure Llc On board diagnostic (obd) device system and method
US20150094903A1 (en) 2013-09-30 2015-04-02 Ford Global Technologies, Llc Vehicle diagnostic and prognostic systems and methods
FR3032546B1 (fr) 2015-02-11 2017-02-17 Peugeot Citroen Automobiles Sa Procede et systeme de realisation de telediagnostics securises d’equipements electroniques communicants de vehicules
US10728249B2 (en) * 2016-04-26 2020-07-28 Garrett Transporation I Inc. Approach for securing a vehicle access port
US11025428B2 (en) * 2016-05-05 2021-06-01 Neustar, Inc. Systems and methods for enabling trusted communications between controllers
CN108207039B (zh) 2016-12-19 2021-05-14 比亚迪股份有限公司 车载数据的安全传输方法、外置设备及车载网关
US20190250616A1 (en) * 2019-04-24 2019-08-15 Madhusoodhan Ramanujam Performing a service on an autonomous vehicle enroute to a destination

Also Published As

Publication number Publication date
US20210110148A1 (en) 2021-04-15
CN112738012A (zh) 2021-04-30
US11488404B2 (en) 2022-11-01

Similar Documents

Publication Publication Date Title
DE102020124163A1 (de) Verifizierung von fahrzeugdaten
DE102014114607B4 (de) Programmierung von Fahrzeugmodulen mit Remotevorrichtungen und zugehörige Methoden und Systeme
CN106154903B (zh) 用于整车网络与外设进行信息交互的系统和方法
DE102017102539A1 (de) Sicheres tunneln für sicherheit verbundener anwendungen
DE102012110499B9 (de) Sicherheitszugangsverfahren für elektronische Automobil-Steuergeräte
EP2689553B1 (de) Kraftwagen-steuergerät mit kryptographischer einrichtung
DE102020116438A1 (de) Nutzung von fahrzeugkomponenten
DE102018101479A1 (de) Steuerungsschnittstelle für ein autonomes fahrzeug
DE102017119373A1 (de) Aktualisierung der servers der netzwerkadresse der mobilvorrichtung
DE102020122489A1 (de) Zugriffsautorisierung für verteiltes fahrzeugnetzwerk
DE102019135012A1 (de) Auf richtlinie und token basierender autorisierungsrahmen für konnektivität
DE102019129506A1 (de) Entfernte fahrzeugsteuerung
EP3654222B1 (de) Fahrzeug, netzwerkkomponente, verfahren, computerprogramm und vorrichtung zum generieren einer kennung für einen ausrüstungszustand eines fahrzeugs
EP3498544A1 (de) Vorrichtung, verfahr, und computerprogramm zum freischalten von einer fahrzeugkomponente, fahrzeug-zu-fahrzeug-kommunikationsmodul
DE102019124914A1 (de) Cloudautorisierte fahrzeugsteuerung
DE102019004726A1 (de) Verfahren, Vorrichtung, System, elektronisches Schloss, digitaler Schlüssel und Speichermedium für die Autorisierung
DE102018112149A1 (de) Privilegierte, auf diagnoseverbindungen basierende netzwerküberwachungsfunktionen in einem fahrzeug mit einem gateway-modul zur isolierung und sicherung von fahrzeugnetzwerken
DE102020126909A1 (de) Sitzungsspezifischer zugriffstoken
DE102019100546A1 (de) Aktivieren oder Deaktivieren eines Merkmals eines Fahrzeugs
DE102020126906A1 (de) Validieren von fahrzeugen, die innerhalb bestimmter regionen fahren
DE102011002713A1 (de) Verfahren und Vorrichtung zum Bereitstellen von kyptographischen Credentials für Steuergeräte eines Fahrzeugs
EP3725055B1 (de) Vorrichtungen, verfahren und computerprogramm zum freischalten von fahrzeugkomponenten, fahrzeug-zu-fahrzeug-kommunikationsmodul
DE102023107659A1 (de) Unleugbarer verlauf von fahrzeugänderungen
DE102019105390A1 (de) Ersetzen von sicherheitsanmeldeinformationen für das fahrzeugsteuermodul
DE102012219093A1 (de) Cyber-Sicherheit in einem Kraftfahrzeugnetzwerk

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: LORENZ SEIDLER GOSSEL RECHTSANWAELTE PATENTANW, DE