DE102022105457A1 - System und verfahren für ein fahrzeugnetzwerk - Google Patents

System und verfahren für ein fahrzeugnetzwerk Download PDF

Info

Publication number
DE102022105457A1
DE102022105457A1 DE102022105457.8A DE102022105457A DE102022105457A1 DE 102022105457 A1 DE102022105457 A1 DE 102022105457A1 DE 102022105457 A DE102022105457 A DE 102022105457A DE 102022105457 A1 DE102022105457 A1 DE 102022105457A1
Authority
DE
Germany
Prior art keywords
message
vehicle
cmac
random number
messages
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
DE102022105457.8A
Other languages
English (en)
Inventor
Venkata Kishore Kajuluri
Xin Ye
Bradley Warren Smith
Jacob David Nelson
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 DE102022105457A1 publication Critical patent/DE102022105457A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • 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]
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • 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/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • 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)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Small-Scale Networks (AREA)
  • Traffic Control Systems (AREA)

Abstract

Ein bordeigenes Kommunikationsnetzwerk eines Fahrzeugs wird überwacht, um eine Vielzahl verfügbarer Nachrichten zu detektieren, die jeweils verschlüsselungsbasierte Nachrichtenauthentifizierungscodes (CMAC) beinhalten und auf Grundlage dessen, dass sie eine Informationsentropie über einem vorgegebenen Schwellenwert aufweisen, als infrage kommende Nachrichten identifiziert wurden. Eine erste Nachricht wird aus der Vielzahl verfügbarer Nachrichten ausgewählt. Der CMAC der ausgewählten Nachricht wird in einen Zufallszahlengenerator eingegeben, der eine Zufallszahl mit dem CMAC der ausgewählten Nachricht als Ausgangswert ausgibt. Anschließend wird die Zufallszahl bereitgestellt.

Description

  • GEBIET DER TECHNIK
  • Die Offenbarung betrifft im Allgemeinen Fahrzeugkommunikationsnetzwerke.
  • ALLGEMEINER STAND DER TECHNIK
  • Fahrzeuge können mit Computern, Netzwerken, Sensoren und Steuerungen ausgestattet sein, um Daten bezüglich der Umgebung des Fahrzeugs zu erheben und/oder Fahrzeugkomponenten zu betreiben. Fahrzeugsensoren können Daten zu einer Umgebung eines Fahrzeugs bereitstellen, z. B. bezüglich zurückzulegenden Routen und zu umfahrenden Objekten in der Umgebung des Fahrzeugs. Verschiedene Rechenvorrichtungen, wie etwa elektronische Steuereinheiten (electronic control units - ECUs), können in einem Fahrzeug bereitgestellt sein und über ein Fahrzeugnetzwerk kommunizieren. Nachrichten, die über das Fahrzeugnetzwerk gesendet und empfangen werden, können den Betrieb des Fahrzeugs betreffen und können Sensordaten, Betätigungsbefehle, Fehlerberichte usw. beinhalten. Eine Fahrzeugrechenvorrichtung kann ein Fahrzeug betreiben und Echtzeitentscheidungen auf Grundlage von Daten treffen, die von Sensoren und/oder Rechenvorrichtungen empfangen werden. Dies bedeutet, dass die Integrität und Authentizität der Kommunikation zwischen der Fahrzeugrechenvorrichtung und den Sensoren und/oder Rechenvorrichtungen, z. B. über ein Fahrzeugkommunikationsnetzwerk, sichergestellt werden sollten.
  • Verschiedene Steuerungen und dergleichen (z. B. ECUs) in einem Fahrzeugnetzwerk können eine Zufallszahl für verschiedene Sicherheitsanwendungen erfordern, die z. B. als Nonce- oder Salt-Wert verwendet wird. In der Regel wird der Ausgangswert anhand einer Rauschquelle in dem System, z. B. Analog-Digital-Wandlern, so ausgewählt, dass eine Wahrscheinlichkeit, dass eine nicht autorisierte Quelle den Ausgangswert errät, reduziert ist. Das Auswählen des Ausgangswerts anhand der Rauschquelle kann jedoch zu sich wiederholenden Werten und/oder zu vorhersagbaren Änderungen zwischen aufeinanderfolgenden Ausgangswerten führen, was dazu führen kann, dass die nicht autorisierte Quelle in der Lage ist, den Ausgangswert vorherzusagen und dadurch die Zufallszahl zu erraten oder vorherzusagen.
  • KURZDARSTELLUNG
  • Ein System beinhaltet einen Computer, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen speichert, die durch den Prozessor ausgeführt werden können, um ein bordeigenes Kommunikationsnetzwerk eines Fahrzeugs zu überwachen, um eine Vielzahl verfügbarer Nachrichten zu detektieren, die jeweils verschlüsselungsbasierte Nachrichtenauthentifizierungscodes (cipher-based message authentication code - CMAC) beinhalten und auf Grundlage dessen, dass sie eine Informationsentropie über einem vorgegebenen Schwellenwert aufweisen, als infrage kommende Nachrichten identifiziert wurden. Die Anweisungen beinhalten ferner Anweisungen zum Auswählen einer ersten Nachricht aus der Vielzahl verfügbarer Nachrichten. Die Anweisungen beinhalten ferner Anweisungen zum Eingeben des CMAC der ausgewählten Nachricht in einen Zufallszahlengenerator, der eine Zufallszahl mit dem CMAC der ausgewählten Nachricht als Ausgangswert ausgibt. Die Anweisungen beinhalten ferner Anweisungen zum anschließenden Ausgaben der Zufallszahl.
  • Die Anweisungen können ferner Anweisungen zum Auswählen einer zweiten Nachricht aus der Vielzahl verfügbarer Nachrichten, wenn bestimmt wird, dass eine Länge des CMAC der ausgewählten Nachricht kürzer ist als eine Länge eines durch den Zufallszahlengenerator vorgegebenen Ausgangswerts, beinhalten. Die Anweisungen können ferner Anweisungen zum Generieren eines aktualisierten CMAC durch Kombinieren des CMAC der zweiten Nachricht und des CMAC der ersten Nachricht beinhalten. Die Anweisungen können ferner Anweisungen zum Eingeben des aktualisierten CMAC in den Zufallszahlengenerator auf Grundlage dessen, dass bestimmt wird, dass eine Länge des aktualisierten CMAC gleich der Länge des Ausgangswerts ist, beinhalten.
  • Die Anweisungen können ferner Anweisungen zum Führen einer Liste der infrage kommenden Nachrichten in dem Fahrzeugkommunikationsnetzwerk und zum schrittweisen Auswählen der ersten Nachricht aus der Liste beinhalten.
  • Die Anweisungen können ferner Anweisungen zum Entfernen von Nachrichten von der Liste nach einem vorher festgelegten Zeitraum beinhalten.
  • Die Anweisungen können ferner Anweisungen zum Führen einer Liste der infrage kommenden Nachrichten in dem Fahrzeugkommunikationsnetzwerk und zum Auswählen der ersten Nachricht aus der Liste auf Grundlage einer vorherigen Zufallszahl beinhalten.
  • Die Anweisungen können ferner Anweisungen zum Entfernen von Nachrichten von der Liste nach einem vorher festgelegten Zeitraum beinhalten.
  • Die Zufallszahl kann in eine Anwendung für eine Sicherheitsfunktion eingegeben werden.
  • Die Anweisungen können ferner Anweisungen zum Auswählen der ersten Nachricht auf Grundlage dessen, dass eine Anforderung für eine Zufallszahl empfangen wird, beinhalten.
  • Die Anweisungen können ferner Anweisungen zum Auswählen einer zuletzt nach Empfang der Anforderung in dem bordeigenen Kommunikationsnetzwerk detektierten verfügbaren Nachricht als die erste Nachricht beinhalten.
  • Die Anweisungen können ferner Anweisungen zum Auswählen einer als Nächstes nach Empfang der Anforderung in dem bordeigenen Kommunikationsnetzwerk detektierten verfügbaren Nachricht als die erste Nachricht beinhalten.
  • Ein Verfahren beinhaltet ein Überwachen eines bordeigenen Kommunikationsnetzwerks eines Fahrzeugs zum Detektieren einer Vielzahl verfügbarer Nachrichten, die jeweils verschlüsselungsbasierte Nachrichtenauthentifizierungscodes (CMAC) beinhalten und auf Grundlage dessen, dass sie eine Informationsentropie über einem vorgegebenen Schwellenwert aufweisen, als infrage kommende Nachrichten identifiziert wurden. Das Verfahren beinhaltet ferner ein Auswählen einer ersten Nachricht aus der Vielzahl verfügbarer Nachrichten. Das Verfahren beinhaltet ferner ein Eingeben des CMAC der ausgewählten Nachricht in einen Zufallszahlengenerator, der eine Zufallszahl mit dem CMAC der ausgewählten Nachricht als Ausgangswert ausgibt. Das Verfahren beinhaltet ferner ein anschließendes Ausgeben der Zufallszahl.
  • Das Verfahren kann ferner ein Auswählen einer zweiten Nachricht aus der Vielzahl verfügbarer Nachrichten, wenn bestimmt wird, dass eine Länge des CMAC der ausgewählten Nachricht kürzer ist als eine Länge eines durch den Zufallszahlengenerator vorgegebenen Ausgangswerts, beinhalten. Das Verfahren kann ferner ein Generieren eines aktualisierten CMAC durch Kombinieren des CMAC der zweiten Nachricht und des CMAC der ersten Nachricht beinhalten. Das Verfahren kann ferner ein Eingeben des aktualisierten CMAC in den Zufallszahlengenerator auf Grundlage dessen, dass bestimmt wird, dass eine Länge des aktualisierten CMAC gleich der Länge des Ausgangswerts ist, beinhalten.
  • Das Verfahren kann ferner ein Führen einer Liste der infrage kommenden Nachrichten in dem Fahrzeugkommunikationsnetzwerk und ein schrittweises Auswählen der ersten Nachricht aus der Liste beinhalten.
  • Das Verfahren kann ferner ein Entfernen von Nachrichten von der Liste nach einem vorher festgelegten Zeitraum beinhalten.
  • Das Verfahren kann ferner ein Führen einer Liste der infrage kommenden Nachrichten in dem Fahrzeugkommunikationsnetzwerk und ein Auswählen der infrage kommenden Nachricht aus der Liste auf Grundlage einer vorherigen Zufallszahl beinhalten.
  • Das Verfahren kann ferner ein Entfernen von Nachrichten von der Liste nach einem vorher festgelegten Zeitraum beinhalten.
  • Die Zufallszahl kann in eine Anwendung für eine Sicherheitsfunktion eingegeben werden.
  • Das Verfahren kann ferner ein Auswählen der Nachricht auf Grundlage dessen, dass eine Anforderung für eine Zufallszahl empfangen wird, beinhalten.
  • Das Verfahren kann ferner ein Auswählen einer zuletzt nach Empfang der Anforderung in dem bordeigenen Kommunikationsnetzwerk detektierten verfügbaren Nachricht als die erste Nachricht beinhalten.
  • Das Verfahren kann ferner ein Auswählen einer als Nächstes nach Empfang der Anforderung in dem bordeigenen Kommunikationsnetzwerk detektierten verfügbaren Nachricht als die erste Nachricht beinhalten.
  • Ferner wird in dieser Schrift eine Rechenvorrichtung offenbart, die dazu programmiert ist, beliebige 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 Fahrzeugsteuersystem für ein Fahrzeug veranschaulicht.
    • 2 ist ein Blockdiagramm, das eine beispielhafte Nachricht veranschaulicht.
    • 3 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Eingeben eines Ausgangswerts für eine Zufallszahl und Generieren derselben.
  • DETAILLIERTE BESCHREIBUNG
  • Wie in dieser Schrift offenbart, ist es möglich, die Wahrscheinlichkeit zu reduzieren, dass eine nicht autorisierte Quelle (d. h. eine Quelle, bei der es sich nicht um einen der Fahrzeugsensoren oder eine der anderen autorisierten Rechenvorrichtungen in einem Fahrzeugkommunikationsnetzwerk handelt) die Sicherheit eines Fahrzeugnetzwerks, wie etwa eines Controller-Area-Network(CAN)-Busses beeinträchtigen kann. Vorteilhafterweise kann, wie in dieser Schrift offenbart, eine Fahrzeugrechenvorrichtung eine Zufallszahl generieren, indem sie einen Ausgangswert aus einer oder mehreren in einem Fahrzeugkommunikationsnetzwerk verfügbaren Nachrichten auswählt und diesen in einen Zufallszahlengenerator eingibt.
  • Der Zufallszahlengenerator kann die Zufallszahl auf Grundlage des Ausgangswerts aus der Netzwerknachricht ausgeben, z. B. für eine Anwendung auf der Fahrzeugrechenvorrichtung, die eine Zufallszahl erfordert. Bei einer „Anwendung“ handelt es sich um in einem Speicher der Fahrzeugrechenvorrichtung gespeicherte und/oder in deren Firmware beinhaltete Programmierung, die Anweisungen beinhaltet, die ein Prozessor der Fahrzeugrechenvorrichtung ausführt, um einen Vorgang durchzuführen. Die Anwendung kann die Eingabe einer Zufallszahl erfordern. Um die Zufallszahl zu generieren, kann die Fahrzeugrechenvorrichtung eine in dem Fahrzeugkommunikationsnetzwerk verfügbare Nachricht auswählen; zum Beispiel können Nachrichten auf Grundlage dessen, dass bekannt ist, dass sie authentifiziert wurden, und auf Grundlage dessen, dass bestimmt wurde, dass eine Entropie einer Nachricht über einem Schwellenwert liegt, für die Auswahl infrage kommen, wie nachstehend ausführlicher erläutert. Die ausgewählte Nachricht beinhaltet einen verschlüsselungsbasierten Nachrichtenauthentifizierungscode (CMAC), der für die Nachricht eindeutig ist. Die Fahrzeugrechenvorrichtung kann anschließend die Zufallszahl als Ausgabe eines Zufallszahlengenerators mit dem CMAC der ausgewählten Nachricht als Ausgangswert erhalten. Somit werden auf Grundlage unterschiedlicher Ausgangswerte, die ausgewählt werden, unterschiedliche Zufallszahlen generiert. Da der CMAC einer Nachricht, die in einem Fahrzeugnetzwerk, z. B. dem CAN-Bus, übertragen und authentifiziert wurde, für diese Nachricht eindeutig ist, verhindert das Auswählen einer verfügbaren und infrage kommenden Nachricht und das Eingeben des CMAC der ausgewählten Nachricht als Ausgangswert in den Zufallszahlengenerator, dass sich wiederholende oder erratbare Werte als Ausgangswerte in den Zufallszahlengenerator eingegeben werden, wodurch verhindert werden kann, dass nicht autorisierte Quellen die Zufallszahl vorausberechnen, da es rechnerisch unmöglich ist, im Voraus alle Permutationen des der ausgewählten Nachricht zugeordneten CMAC zu berechnen. Ferner ist es, da die Vielzahl infrage kommender Nachrichten in dem Fahrzeugkommunikationsnetzwerk zu verschiedenen Zeitpunkten aktualisiert wird, z. B. wenn dem Fahrzeugkommunikationsnetzwerk spätere authentifizierte und infrage kommende Nachrichten bereitgestellt werden und daher für die Auswahl verfügbar werden, für eine nicht autorisierte Quelle rechnerisch unmöglich, die Vielzahl von Nachrichten zu bestimmen, die sich in dem Fahrzeugkommunikationsnetzwerk befand, als die Fahrzeugrechenvorrichtung eine verfügbare Nachricht ausgewählt hat. Somit kann die vorliegende Technik ein Risiko, dass die nicht autorisierte Quelle die ausgewählte Nachricht erraten und dadurch die durch die Fahrzeugrechenvorrichtung ausgegebene Zufallszahl generieren kann, reduzieren oder nahezu beseitigen.
  • Unter Bezugnahme auf die 1-2 beinhaltet ein beispielhaftes Fahrzeugsteuersystem 100 ein Fahrzeug 105. Eine Vielzahl von Fahrzeugrechenvorrichtungen 110 in dem Fahrzeug 105 empfängt Daten von Sensoren 115. Jede Fahrzeugrechenvorrichtung 110 ist dazu programmiert, ein bordeigenes Kommunikationsnetzwerk des Fahrzeugs 105 zu überwachen, um eine Vielzahl verfügbarer Nachrichten zu detektieren, die als zum Bereitstellen eines Ausgangswerts, z. B. eines verschlüsselungsbasierten Nachrichtenauthentifizierungscodes (CMAC) zur Zufallszahlengenerierung, infrage kommend ausgewiesen sind. In einem Beispiel können Nachrichten, die authentifiziert sind und für die bestimmt wurde, dass sie einen Entropieschwellenwert überschreiten, als infrage kommend ausgewiesen sein. Jede Fahrzeugrechenvorrichtung 110 ist ferner dazu programmiert, eine erste Nachricht aus einer Vielzahl verfügbarer Nachrichten auszuwählen. Verfügbare Nachrichten sind diejenigen, die infrage kommen und aktuell von einem Fahrzeugnetzwerk und/oder einer Liste, Warteschlange oder dergleichen, in der verfügbare Nachrichten gespeichert sind, erhalten werden können. Ein Satz infrage kommender Nachrichten kann auf Grundlage dessen, dass eine Informationsentropie der Nachrichten über einem Schwellenwert liegt, vordefiniert werden. Informationsentropie weist im Kontext dieser Offenbarung die herkömmliche Bedeutung dieses Ausdrucks in der Informationstheorie auf, z. B. kann im vorliegenden Kontext eine Informationsentropie einer Nachricht eine Anzahl von Bits in der Nachricht sein, die nicht bestimmt werden können, bevor die Nachricht gesendet wird. Das heißt, Nachrichten, die verwendet werden, um Daten, z. B. einen CMAC, zum Eingeben als Ausgangswert in einen Zufallszahlengenerator bereitzustellen, können Nachrichten sein, deren Grad an Entropie ausreichend ist, um Versuche eines Hackers oder dergleichen, den Inhalt der Nachricht vorherzusagen oder zu erraten, um z. B. die Nachricht zu fälschen oder abzufangen, rechnerisch unmöglich zu machen. Jede Fahrzeugrechenvorrichtung 110 ist ferner dazu programmiert, einen Ausgangswert, z. B. den CMAC der ausgewählten Nachricht 200, in einen Zufallszahlengenerator einzugeben, der eine durch den Ausgangswert festgelegte Zufallszahl ausgibt. Jede Fahrzeugrechenvorrichtung 110 ist ferner dazu programmiert, anschließend die Zufallszahl auszugeben.
  • Nun unter Bezugnahme auf 1 beinhaltet das Fahrzeug 105 die Fahrzeugrechenvorrichtungen 110, die Sensoren 115, Aktoren 120 zum Betätigen verschiedener Fahrzeugkomponenten 125 und ein Fahrzeugkommunikationsmodul 130. Das Kommunikationsmodul 130 ermöglicht es den Fahrzeugrechenvorrichtungen 110, mit einem entfernten Servercomputer 140 und/oder anderen Fahrzeugen zu kommunizieren, z. B. über ein Nachrichten- oder Rundfunkprotokoll, wie etwa dedizierte Nahbereichskommunikation (Dedicated Short Range Communications - DSRC), Mobilfunk, und/oder ein anderes Protokoll, das die Kommunikation von Fahrzeug zu Fahrzeug, von Fahrzeug zu Infrastruktur, von Fahrzeug zur Cloud oder dergleichen unterstützt, und/oder über ein Paketnetzwerk 135.
  • Jede Fahrzeugrechenvorrichtung 110 beinhaltet einen Prozessor und einen Speicher, wie sie bekannt sind. Der Speicher beinhaltet eine oder mehrere Formen computerlesbarer Medien und speichert durch die Fahrzeugrechenvorrichtung 110 ausführbare Anweisungen zum Durchführen verschiedener Vorgänge, einschließlich der in dieser Schrift offenbarten. Ferner kann jede Fahrzeugrechenvorrichtung 110 ein Universalcomputer mit einem Prozessor und einem Speicher sein, wie vorstehend beschrieben, und/oder eine dedizierte elektronische Schaltung beinhalten, die eine ASIC beinhaltet, die für einen bestimmten Vorgang hergestellt ist, z. B. eine ASIC zum Verarbeiten von Sensordaten und/oder zum Kommunizieren der Sensordaten. In einem anderen Beispiel kann jede Fahrzeugrechenvorrichtung 110 ein FPGA (Field-Programmable Gate Array - feldprogrammierbares Gate-Array) beinhalten, bei dem es sich um eine integrierte Schaltung handelt, die so hergestellt ist, dass sie durch einen Benutzer konfiguriert werden kann. In der Regel wird eine Hardware-Beschreibungssprache, wie etwa VHDL (Very High Speed Integrated Circuit Hardware Description Language - Hardware-Beschreibungssprache für integrierte Schaltungen mit sehr hoher Geschwindigkeit), in der elektronischen Ausgestaltungsautomatisierung verwendet, um digitale und Mischsignal-Systeme, wie etwa FPGA und ASIC, zu beschreiben. Zum Beispiel wird eine ASIC auf Grundlage von VHDL-Programmierung hergestellt, die vor der Herstellung bereitgestellt wird, wohingegen logische Komponenten innerhalb eines FPGA auf Grundlage von VHDL-Programmierung konfiguriert werden können, die z. B. in einem Speicher gespeichert ist, der elektrisch mit der FPGA-Schaltung verbunden ist. In einigen Beispielen kann eine Kombination aus Prozessor(en), ASIC(s) und/oder FPGA-Schaltungen in jeder Fahrzeugrechenvorrichtung 110 beinhaltet sein.
  • Die Fahrzeugrechenvorrichtungen 110 können das Fahrzeug 105 in einem autonomen Modus, einem halbautonomen Modus oder einem nichtautonomen (oder manuellen) Modus betreiben und/oder überwachen, d. h. sie können den Betrieb des Fahrzeugs 105 steuern und/oder überwachen, einschließlich eines Steuerns und/oder Überwachens der Komponenten 125. Für die Zwecke dieser Offenbarung ist ein autonomer Modus als ein Modus definiert, bei dem jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 105 durch die Fahrzeugrechenvorrichtungen 110 gesteuert wird; in einem halbautonomen Modus steuern die Fahrzeugrechenvorrichtungen 110 eines oder zwei von Antrieb, Bremsung und Lenkung des Fahrzeugs 105; in einem nichtautonomen Modus steuert ein menschlicher Bediener jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 105.
  • Die Fahrzeugrechenvorrichtungen 110 können Programmierung zum Betreiben eines oder mehrerer von den Bremsen, dem Antrieb (z. B. Steuern der Beschleunigung in dem Fahrzeug 105 durch Steuern eines oder mehrerer von einer Brennkraftmaschine, einem Elektromotor, einem Hybridmotor usw.), der Lenkung, dem Getriebe, der Klimasteuerung, der Innen- und/oder Außenbeleuchtung, der Hupe, der Türen usw. des Fahrzeugs 105 sowie zum Bestimmen, ob und wann die Fahrzeugrechenvorrichtungen 110 anstelle eines menschlichen Bedieners derartige Vorgänge steuern sollen, beinhalten.
  • Die Fahrzeugrechenvorrichtungen 110 können mehr als einen Prozessor beinhalten oder kommunikativ mit einem solchen gekoppelt sein, z. B. über ein Fahrzeugkommunikationsnetzwerk, wie etwa einen Kommunikationsbus, wie nachstehend ausführlicher beschrieben, z.B. kann eine Rechenvorrichtung 110 eine elektronische Steuereinheit (ECU) oder dergleichen sein, die in dem Fahrzeug 105 beinhaltet ist, um verschiedene Fahrzeugkomponenten 125 zu überwachen und/oder zu steuern, z. B. eine Getriebesteuerung, eine Bremssteuerung, eine Lenksteuerung usw. Die Fahrzeugrechenvorrichtungen 110 sind im Allgemeinen zur Kommunikation über ein Fahrzeugkommunikationsnetzwerk angeordnet, das einen Bus in dem Fahrzeug 105, wie etwa ein Controller Area Network (CAN) oder dergleichen, und/oder andere drahtgebundene und/oder drahtlose Mechanismen beinhalten kann.
  • Über das Netzwerk des Fahrzeugs 105 kann jede Fahrzeugrechenvorrichtung 110 Nachrichten an verschiedene Vorrichtungen in dem Fahrzeug 105 übertragen und/oder Nachrichten (z. B. CAN-Nachrichten) von den verschiedenen Vorrichtungen, z. B. Sensoren 115, einem Aktor 120, anderen Fahrzeugrechenvorrichtungen 110 usw., empfangen. Ferner können, wie nachstehend erwähnt, verschiedene Steuerungen und/oder Sensoren 115 den Fahrzeugrechenvorrichtungen 110 über das Fahrzeugkommunikationsnetzwerk Daten bereitstellen.
  • Die Sensoren 115 des Fahrzeugs 105 können eine Vielfalt an Vorrichtungen beinhalten, die bekanntermaßen den Fahrzeugrechenvorrichtungen 110 Daten bereitstellen. Beispielsweise können die Sensoren 115 einen oder mehrere Light-Detection-and-Ranging-Sensoren (LIDAR-Sensoren) 115 usw. beinhalten, die oben auf dem Fahrzeug 105, hinter einer Windschutzscheibe des Fahrzeugs 105, um das Fahrzeug 105 herum usw. angeordnet sind und relative Standorte, Größen und Formen von Objekten um das Fahrzeug 105 bereitstellen. Als ein weiteres Beispiel können ein oder mehrere Radarsensoren 115, die an Stoßfängern des Fahrzeugs 105 befestigt sind, Daten bereitstellen, um Standorte der Objekte, zweiter Fahrzeuge usw. relativ zu dem Standort des Fahrzeugs 105 bereitzustellen. Die Sensoren 115 können ferner alternativ oder zusätzlich zum Beispiel einen oder mehrere Kamerasensoren 115 beinhalten, z. B. eine Frontkamera, Seitenkamera usw., die Bilder von einem Bereich um das Fahrzeug 105 bereitstellen. Im Kontext dieser Offenbarung ist ein Objekt ein physischer, d. h. materieller, Gegenstand, der eine Masse aufweist und durch physikalische Phänomene (z. B. Licht oder andere elektromagnetische Wellen oder Schall usw.), die durch Sensoren 115 detektierbar sind, dargestellt werden kann. Somit fallen das Fahrzeug 105 und andere Gegenstände, einschließlich der nachstehend erörterten, unter die Definition von „Objekt“ in dieser Schrift.
  • Jede Fahrzeugrechenvorrichtung 110 ist dazu programmiert, Daten von einem oder mehreren Sensoren 115 im Wesentlichen kontinuierlich, periodisch und/oder auf Anweisung durch einen entfernten Servercomputer 140 usw. zu empfangen. Die Daten können zum Beispiel einen Standort des Fahrzeugs 105 beinhalten. Standortdaten geben einen Punkt oder Punkte auf einer Bodenfläche vor und können in einer bekannten Form vorliegen, z. B. als Geokoordinaten, wie etwa Längengrad- und Breitengradkoordinaten, die über ein Navigationssystem, wie bekannt, erhalten werden, welches das globale Positionierungsbestimmungssystem (GPS) verwendet. Zusätzlich oder alternativ können die Daten einen Standort eines Objekts, z. B. eines Fahrzeugs, eines Verkehrszeichens, eines Baums usw., relativ zu dem Fahrzeug 105 beinhalten. Als ein Beispiel können die Daten Bilddaten der Umgebung um das Fahrzeugs 105 herum sein. In einem derartigen Beispiel können die Bilddaten ein oder mehrere Objekte und/oder Markierungen, z. B. Spurmarkierungen, auf oder entlang einer Straße beinhalten. Mit Bilddaten sind hierin digitale Bilddaten gemeint, die z. B. Pixel mit Intensitäts- und Farbwerten umfassen und durch Kamerasensoren 115 aufgenommen werden können. Die Sensoren 115 können an einer beliebigen geeigneten Stelle in oder an dem Fahrzeug 105 montiert sein, z. B. an einem Stoßfänger des Fahrzeugs 105, an einem Dach des Fahrzeugs 105 usw., um Daten über die Umgebung um das Fahrzeug 105 herum zu sammeln.
  • Die Aktoren 120 des Fahrzeugs 105 sind über Schaltungen, Chips oder andere elektronische und/oder mechanische Komponenten umgesetzt, die verschiedene Fahrzeugteilsysteme gemäß zweckmäßigen Steuersignalen betätigen können, wie es bekannt ist. Die Aktoren 120 können verwendet werden, um Komponenten 125 zu steuern, einschließlich Bremsung, Beschleunigung und Lenkung eines Fahrzeugs 105.
  • Im Kontext der vorliegenden Offenbarung handelt es sich bei einer Fahrzeugkomponente 125 um eine oder mehrere Hardwarekomponenten, die dazu ausgelegt sind, eine(n) mechanische(n) oder elektromechanische(n) Funktion oder Vorgang durchzuführen - wie etwa Bewegen des Fahrzeugs 105, Abbremsen oder Anhalten des Fahrzeugs 105, Lenken des Fahrzeugs 105 usw. Nicht einschränkende Beispiele für die Komponenten 125 beinhalten eine Antriebskomponente (die z. B. eine Brennkraftmaschine und/oder einen Elektromotor usw. beinhaltet), eine Getriebekomponente, eine Lenkkomponente (die z. B. eines oder mehrere von einem Lenkrad, einer Lenkzahnstange usw. beinhalten kann), eine Aufhängungskomponente (die z. B. eines oder mehrere von einem Dämpfer, z. B einem Stoßdämpfer oder einem Federbein, einer Buchse, einer Feder, einem Querlenker, einem Kugelgelenk, einem Gestänge usw. beinhalten kann), eine Bremskomponente, eine Einparkhilfekomponente, eine Komponente zur adaptiven Geschwindigkeitsregelung, eine Komponente für adaptives Lenken, ein oder mehrere passive Rückhaltesysteme (z. B. Airbags), einen bewegbaren Sitz usw.
  • Des Weiteren können die Fahrzeugrechenvorrichtungen 110 dazu konfiguriert sein, über ein Fahrzeug-zu-Fahrzeug-Kommunikationsmodul 130 oder eine Schnittstelle mit Vorrichtungen außerhalb des Fahrzeugs 105, z. B. über eine drahtlose Kommunikation von Fahrzeug zu Fahrzeug (Vehicle-to-Vehicle - V2V) oder von Fahrzeug zu Infrastruktur (Vehicle-to-Infrastructure - V2X) (Mobilfunk und/oder DSRC usw.), mit einem anderen Fahrzeug und/oder mit einem entfernten Servercomputer 140 (in der Regel über direkte Hochfrequenzkommunikation) zu kommunizieren. Das Kommunikationsmodul 130 könnte einen oder mehrere Mechanismen, wie etwa einen Sendeempfänger, beinhalten, durch welche die Computer von Fahrzeugen kommunizieren können, einschließlich einer beliebigen gewünschten Kombination aus drahtlosen Kommunikationsmechanismen (z. B. Mobilfunk, drahtlos, Satellit, Mikrowellen und Hochfrequenz) und einer beliebigen gewünschten Netzwerktopologie (oder -topologien, wenn eine Vielzahl von Kommunikationsmechanismen genutzt wird). Beispielhafte über das Kommunikationsmodul 130 bereitgestellte Kommunikation beinhaltet Mobilfunk, Bluetooth, IEEE 802.11, dedizierte Nahbereichskommunikation (DSRC), Mobilfunk-V2X (cellular V2X - CV2X) und/oder Weitverkehrsnetzwerke (wide area networks - WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen. Der Einfachheit halber wird die Bezeichnung „V2X“ in dieser Schrift für Kommunikationen verwendet, die von Fahrzeug zu Fahrzeug (V2V) und/oder von Fahrzeug zu Infrastruktur (V2I) erfolgen können und die gemäß einem beliebigen geeigneten Nahbereichskommunikationsmechanismus, z. B. DSRC, Mobilfunk oder dergleichen, durch das Kommunikationsmodul 130 bereitgestellt werden können.
  • Das Netzwerk 135 stellt einen oder mehrere Mechanismen dar, durch die eine Fahrzeugrechenvorrichtung 110 mit entfernten Rechenvorrichtungen, z. B. dem entfernten Servercomputer 140, einer entfernten Fahrzeugrechenvorrichtung usw., kommunizieren kann. Demnach kann es sich bei dem Netzwerk 135 um einen oder mehrere von verschiedenen drahtgebundenen oder drahtlosen Kommunikationsmechanismen handeln, einschließlich einer beliebigen gewünschten Kombination aus drahtgebundenen (z. B. Kabel und Glasfaser) und/oder drahtlosen (z. B. Mobilfunk, drahtlos, Satellit, Mikrowellen und Hochfrequenz) Kommunikationsmechanismen und einer beliebigen gewünschten Netzwerktopologie (oder - topologien, 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 dedizierte Nahbereichskommunikation (DSRC) usw.), lokale Netzwerke (local area network - LAN) und/oder Weitverkehrsnetzwerke (WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
  • Der entfernte Servercomputer 140 kann eine herkömmliche Rechenvorrichtung sein, d. h. er kann einen oder mehrere Prozessoren und einen oder mehrere Speicher beinhalten, die dazu programmiert sind, Vorgänge bereitzustellen, wie etwa die in dieser Schrift offenbarten. Ferner kann auf den entfernten Servercomputer 140 über das Netzwerk 135, z. B. das Internet, ein Mobilfunknetzwerk und/oder ein anderes Weitverkehrsnetzwerk, zugegriffen werden.
  • Jede Rechenvorrichtung 110 ist dazu programmiert, den anderen Fahrzeugrechenvorrichtungen 110 Nachrichten 200 bereitzustellen. Zum Beispiel kann jede Fahrzeugrechenvorrichtung 110 eine Nachricht 200 generieren und die Nachricht 200 an die anderen Fahrzeugrechenvorrichtungen 110 übertragen, z.B. über das Fahrzeugkommunikationsnetzwerk. Eine Nachricht 200 beinhaltet in der Regel Kopfdaten 205 und Nutzdaten 210 (siehe 2). Die Kopfdaten 205 beinhalten einen Zähler. Ein Zähler ist eine eindeutige Kennung für die Nachricht 200. Der Zähler kann zum Beispiel eine Anzahl der Nachrichten 200 angeben, die über das Fahrzeugkommunikationsnetzwerk übertragen wurden. Der Zähler kann z.B. in jeweiligen Speichern der Fahrzeugrechenvorrichtungen 110 gespeichert sein. Wenn eine Nachricht 200 in dem Fahrzeugkommunikationsnetzwerk detektiert wird, kann jede Rechenvorrichtung 110 den in dem jeweiligen Speicher gespeicherten Zähler heraufsetzen. Zusätzlich können die Kopfdaten 205 eine Quellenkennung beinhalten, z. B. eine alphanumerische Zeichenfolge, welche die Fahrzeugrechenvorrichtung 110, welche die Nachricht 200 generiert hat, eine Art der Nachricht, eine Größe der Nachricht usw. identifiziert.
  • Die Nutzdaten 210 können verschiedene Daten, z. B. einen Inhalt der Nachricht, beinhalten. Die Rechenvorrichtungen 110 können die Nutzdaten auf Grundlage von Daten von Sensoren 115 generieren. Zum Beispiel können die Rechenvorrichtungen 110 Daten von einem oder mehreren Sensoren 115 empfangen, die mindestens eine Fahrzeugkomponente 125 überwachen. Wie bekannt ist, können die Rechenvorrichtungen 110, wenn sie die Daten von den Sensoren 115 erhalten, dazu programmiert sein, Daten, wie etwa Daten, die Objekte beschreiben, Daten, die Betriebsbedingungen des Fahrzeugs 105, wie etwa Geschwindigkeit, Fahrtrichtung usw., beschreiben, Daten über eine geplante Route des Fahrzeugs 105 usw., zu codieren und zu serialisieren, d. h. sie in Bitfolgen umzuwandeln, damit die Daten als die Nutzdaten in die Nachricht 200 einbezogen werden können. Die Nutzdaten können Teilnutzdaten oder Nutzdatensegmente 215-1, 215-2, 215-3 (gemeinsam als Nutzdatensegmente 215 bezeichnet) beinhalten. Jedes Nutzdatensegment 215 kann Daten über ein detektiertes Objekt aus den Daten der Sensoren 115 beinhalten, z. B. eine Objektkennung, Objektabmessungen, einen Objektstandort, eine Objektgeschwindigkeit usw. Die jeweiligen Nutzdatensegmente 215 in 2 weisen der Darstellung nach unterschiedliche Längen auf, um widerzuspiegeln, dass eine Rechenvorrichtung 110 variierende Datenmengen für unterschiedliche Objekte generieren kann und daher unterschiedliche Nutzdatensegmente 215 unterschiedliche Größen aufweisen können.
  • Die Fahrzeugrechenvorrichtungen 110 können dazu programmiert sein, ein Fahrzeugkommunikationsnetzwerk zu überwachen, um einen vordefinierten Satz infrage kommender Nachrichten 200 zu detektieren. Der vordefinierte Satz infrage kommender Nachrichten 200 kann ein Teilsatz, d. h. einige, aber weniger als alle, einer Vielzahl von Nachrichten 200 sein, die in dem Fahrzeugkommunikationsnetzwerk bereitgestellt werden könnten. Das heißt, dass zumindest einige der Nachrichten 200 in dem Fahrzeugkommunikationsnetzwerk unter Umständen nicht die Kriterien erfüllen (z. B. keine ausreichende Entropie aufweisen), um als infrage kommende Nachricht 200 vordefiniert zu werden, d h. unter Umständen nicht infrage kommende Nachrichten 200 sind. Jede Fahrzeugrechenvorrichtung 110 ist dazu programmiert, unter Verwendung einer verfügbaren infrage kommenden Nachricht 200 eine Zufallszahl zu generieren. Wenn eine Fahrzeugrechenvorrichtung 110 keine infrage kommenden Nachrichten 200 detektiert (z. B. wenn die Fahrzeugrechenvorrichtung 110 mit einem Prüfstand verbunden ist), kann die Fahrzeugrechenvorrichtung 110 das Generieren der Zufallszahl verhindern.
  • Der Satz von infrage kommenden Nachrichten 200 kann zusätzlich zur Berücksichtigung der Informationsentropie, wie vorstehend angemerkt und nachstehend ausführlicher erörtert, auf Grundlage dessen vordefiniert werden, dass bestimmt wurde, dass die Nachrichten 200 authentifiziert wurden. Eine Nachricht 200 wird in der Regel durch die Fahrzeugrechenvorrichtung 110 authentifiziert, welche die Nachricht 200 generiert hat, bevor sie über das Fahrzeugkommunikationsnetzwerk bereitgestellt wird. Eine authentifizierte Nachricht 200 beinhaltet einen CMAC in den Nutzdaten 210, z. B. als ein Nutzdatensegment 215, der Nachricht 200. Das heißt, eine Nachricht 200 kann auf Grundlage dessen als authentifiziert betrachtet werden, dass die Nachricht 200 in dem Fahrzeugkommunikationsnetzwerk detektiert wird und ein in der Nachricht 200 beinhalteter CMAC identifiziert wird. Zum Beispiel kann der CMAC in einem Nutzdatensegment 215 beinhaltet sein, das z. B. durch einen Hersteller des Fahrzeugs 105 und/oder der Komponente 125 vorgegeben ist. Das vorgegebene Nutzdatensegment 215 kann z. B. in Speichern der jeweiligen Fahrzeugrechenvorrichtungen 110 gespeichert sein. Zumindest einige der Fahrzeugrechenvorrichtungen 110 können authentifizierte Nachrichten 200 an andere Fahrzeugrechenvorrichtungen 110 übertragen, z.B. über das Fahrzeugkommunikationsnetzwerk.
  • Ein CMAC kann auf Grundlage der Nachricht 200, z. B. der Kopfdaten 205 und der Nutzdaten 210, generiert werden, wie nachstehend erörtert. Der CMAC ist für jede Nachricht 200 eindeutig, da jede Nachricht 200 eindeutig ist. Das heißt, für unterschiedliche Nachrichten 200 werden unterschiedliche CMACs generiert. Insbesondere weist jede Nachricht 200 eindeutige Kopfdaten 205 auf, da die Fahrzeugrechenvorrichtungen 110 den Zähler heraufsetzen, wenn eine Nachricht 200 in dem Fahrzeugkommunikationsnetzwerk detektiert wird. Dementsprechend können keine zwei Nachrichten 200 die gleichen Daten in den jeweiligen Kopfdaten 205 und Nutzdaten 210 beinhalten. Daher unterscheiden sich die CMACs, die anhand einander entsprechender Nachrichten 200 generiert werden.
  • Um den CMAC zu generieren, kann die Fahrzeugrechenvorrichtung 110, welche die Nachricht 200 generiert hat, die Nachricht 200 und einen Authentifizierungsschlüssel in ein Permutationsprogramm eingeben. Das Permutationsprogramm (mitunter als Permutationsgenerator bezeichnet) kann ein herkömmliches kryptographisches Programm sein, z. B. ein AES-Algorithmus (Advanced Encryption Standard). Das heißt, das Permutationsprogramm ordnet die Daten in der Nachricht 200 in einer Reihenfolge neu an, die durch den Authentifizierungsschlüssel vorgegeben wird. Das heißt, das Permutationsprogramm führt für jeden Teil der Nachricht 200 (z. B. die Kopfdaten 205 und die Nutzdaten 210) eines oder mehrere von einer Substitution, einer Neuanordnung oder einer mathematischen Operation gemäß Blockchiffren aus, die anhand des Authentifizierungsschlüssels generiert werden. Zum Beispiel kann die Rechenvorrichtung 110, wenn das Permutationsprogramm ein AES-Algorithmus ist, einen 16-Bit-Teil der Nachricht 200 identifizieren, eine „Exklusiv-Oder“-Funktion (d. h. eine XOR-Funktion) zwischen dem 16-Bit-Teil und einem Teil des Authentifizierungsschlüssels anwenden, um eine Abfolge einer ersten Runde zu generieren, und die Abfolge der ersten Runde in einem 4x4-Raster neu anordnen. Anschließend kann die Fahrzeugrechenvorrichtung 110 eines von (1) einem Verschieben jeweiliger Positionen von Bits in den Zeilen des 4x4-Rasters, (2) einem Substituieren eines der Bits in dem 4x4-Raster durch ein bekanntes Substitutionsbit, (3) einem Verschieben jeweiliger Positionen von Bits in den Spalten des 4x4-Rasters oder (4) einem Skalieren von Werten der Bits durch vorher festgelegte ganze Zahlen durchführen. Die Verschiebungs-, Skalierungs- und Substitutionsalgorithmen werden gemäß dem vorgegebenen Permutationsprogramm bestimmt. Die Fahrzeugrechenvorrichtung 110 kann das Permutationsprogramm für die Nachricht 200 durchführen, um den CMAC zu generieren.
  • Die Fahrzeugrechenvorrichtung 110 kann den Authentifizierungsschlüssel z.B. aus dem Speicher der Fahrzeugrechenvorrichtung 110 abrufen. Bei dem Authentifizierungsschlüssel handelt es sich um einen vorher festgelegten Satz alphanumerischer Zeichen. Zum Beispiel kann der Authentifizierungsschlüssel ein kryptographischer Schlüssel sein, der in einem herkömmlichen kryptographischen Programm verwendet wird, z. B. einem Diffie-Hillman-Austausch, einer RSA-Verschlüsselung, AES usw. Der Authentifizierungsschlüssel kann z. B. durch einen Hersteller des Fahrzeugs 105 und/oder eine Rechenvorrichtung 110 vorgegeben werden. Jede Fahrzeugrechenvorrichtung 110 kann den Authentifizierungsschlüssel von dem entfernten Servercomputer 140 empfangen, z. B. über das Netzwerk 135, und kann den Authentifizierungsschlüssel z. B. in einem jeweiligen Speicher speichern.
  • Zusätzlich wird der Satz infrage kommender Nachrichten 200 auf Grundlage dessen vordefiniert, dass eine Informationsentropie der Nachrichten 200 über einem Schwellenwert liegt. Das heißt, die infrage kommenden Nachrichten 200 können authentifizierte Nachrichten 200 sein, die den Schwellenwert für die Informationsentropie erfüllen. Wie dargelegt, weist die Informationsentropie im Kontext dieser Offenbarung die herkömmliche Bedeutung dieses Ausdrucks in der Informationstheorie auf, z. B. kann im vorliegenden Kontext eine Informationsentropie einer Nachricht eine Anzahl von Bits in der Nachricht sein, die nicht bestimmt werden können, bevor die Nachricht gesendet wird. Der Schwellenwert kann derart bestimmt werden, dass es für eine nicht autorisierte Quelle rechnerisch unmöglich ist, die infrage kommende Nachricht 200 oder den Inhalt der infrage kommenden Nachricht 200 zu erraten. Im hierin verwendeten Sinne ist eine „nicht autorisierte Quelle“ eine Rechenvorrichtung, die nicht dafür autorisiert ist, auf das Fahrzeugkommunikationsnetzwerk zuzugreifen, um z. B. Daten über das Fahrzeugkommunikationsnetzwerk mit den Fahrzeugrechenvorrichtungen 110, den Sensoren 115 usw. zu teilen.
  • Wenn die infrage kommende Nachricht 200 detektiert wurde, kann die Fahrzeugrechenvorrichtung 110 die infrage kommende Nachricht 200 z. B. in einer Liste, einer Tabelle, einer Warteschlange oder dergleichen mit verfügbaren Nachrichten 200 beinhalten. Die Liste kann in einem Speicher der Fahrzeugrechenvorrichtung 110 gespeichert sein und kann aktive Nachrichten 200 (d. h. aktuell in dem Fahrzeugkommunikationsnetzwerk) oder jüngste Nachrichten 200 (d. h. innerhalb eines vorher festgelegten Zeitraums von dem Fahrzeugkommunikationsnetzwerk entfernt) als verfügbare Nachrichten 200 führen. Zum Beispiel kann die Fahrzeugrechenvorrichtung 110 Nachrichten 200 von der Liste entfernen, die sich nicht mehr in dem Fahrzeugkommunikationsnetzwerk befinden. Als ein anderes Beispiel kann die Fahrzeugrechenvorrichtung 110 Nachrichten 200 nach einem vorher festgelegten Zeitraum von der Liste entfernen, z. B. 10 Millisekunden, 100 Millisekunden, 1 Sekunde usw. Als ein weiteres Beispiel kann die Fahrzeugrechenvorrichtung 110 verfügbare Nachrichten 200 auf der Liste führen, bis eine vorher festgelegte maximale Anzahl verfügbarer Nachrichten 200 auf der Liste geführt wird. In einem derartigen Beispiel kann die Fahrzeugrechenvorrichtung 110 eine älteste, d. h. zeitlich erste, Nachricht 200 entfernen, wenn eine neueste, d. h. zeitlich letzte, Nachricht 200 in dem Fahrzeugkommunikationsnetzwerk detektiert wird. Die Liste kann einen Index, z. B. einen numerischen Wert, beinhalten, der j eder verfügbaren Nachricht 200 zugeordnet ist. Die Liste kann z. B. in dem Speicher der Fahrzeugrechenvorrichtung 110 gespeichert sein.
  • Jede Fahrzeugrechenvorrichtung 110 ist dazu programmiert, eine Anforderung für eine Zufallszahl zu empfangen, z. B. von einer Anwendung oder möglicherweise einer zweiten Rechenvorrichtung. Zum Beispiel kann eine Fahrzeugrechenvorrichtung 110 eine oder mehrere Anforderungen von einer oder mehreren Anwendungen der Fahrzeugrechenvorrichtung 110 empfangen. Als ein anderes Beispiel kann die Fahrzeugrechenvorrichtung 110 über das Fahrzeugkommunikationsnetzwerk eine oder mehrere Anforderungen von einer oder mehreren anfordernden Rechenvorrichtungen empfangen. Die Anforderung kann die Quellenkennung (wie vorstehend erörtert) der anfordernden Rechenvorrichtung beinhalten. In einem derartigen Beispiel kann die Fahrzeugrechenvorrichtung 110 die anfordernde Rechenvorrichtung auf Grundlage der in der Anforderung beinhalteten Quellenkennung identifizieren.
  • Wenn sie eine Anforderung für eine Zufallszahl empfängt, wählt die Fahrzeugrechenvorrichtung 110 eine erste verfügbare Nachricht 200 aus der Liste oder Warteschlange aus. Alternativ führt die Fahrzeugrechenvorrichtung 110 unter Umständen keine Warteschlange oder Liste verfügbarer Nachrichten, sondern könnte eine zuletzt (oder als Nächstes) nach Empfang der Anforderung in dem Fahrzeugkommunikationsnetzwerk detektierte verfügbare Nachricht 200 auswählen.
  • In einem Beispiel kann die Fahrzeugrechenvorrichtung 110 die erste verfügbare Nachricht 200 einer Liste auswählen. In einem derartigen Beispiel kann die Fahrzeugrechenvorrichtung 110 zum Beispiel schrittweise die erste verfügbare Nachricht 200 der Liste auswählen. Als ein anderes Beispiel kann die Fahrzeugrechenvorrichtung 110 die erste verfügbare Nachricht 200 auf Grundlage einer zuvor generierten Zufallszahl auswählen. In einem derartigen Beispiel kann die Fahrzeugrechenvorrichtung 110 Zahlen aus einer oder mehreren Positionen (z. B. durch einen Hersteller des Fahrzeugs 105 und/oder der Komponente vorgegeben) der vorherigen Zufallszahl auswählen und die verfügbare Nachricht 200 auswählen, die einem Index zugeordnet ist, der mit der einen oder die mehreren ausgewählten Zahlen übereinstimmt.
  • Nachdem sie eine erste verfügbare infrage kommende Nachricht 200 ausgewählt hat, identifiziert die Fahrzeugrechenvorrichtung 110 anschließend den CMAC der ausgewählten Nachricht 200, z. B. auf Grundlage des vorgegebenen Nutzdatensegments 215. Zum Beispiel kann die Fahrzeugrechenvorrichtung 110 auf das vorgegebene Nutzdatensegment 215 zugreifen und den CMAC abrufen. Die Fahrzeugrechenvorrichtung 110 gibt den identifizierten CMAC in einen Zufallszahlengenerator ein, um eine Vielzahl von Zahlen zu generieren. Ein „Zufallszahlengenerator“ ist ein Algorithmus, der eine Zahlenfolge generiert, wenn ein Anfangswert, d. h. der identifizierte CMAC der ausgewählten authentifizierten Nachricht, eingegeben wurde. Das heißt, der Zufallszahlengenerator (random number generator - RNG) ist ein deterministischer Algorithmus, der eine vorgegebene Folge für jeden identifizierten CMAC generiert; im Kontext der vorliegenden Schrift beziehen sich Bezugnahmen auf einen Zufallszahlengenerator auf das, was in der Computertechnik als ein „Pseudozufallszahlengenerator“ verstanden wird, d. h. einen Zahlengenerator, der eine Zahlenfolge auf Grundlage einer anfänglichen Ausgangszahl generiert. Anders ausgedrückt kann die Fahrzeugrechenvorrichtung 110 unter Verwendung des RNG eine Folge von Zufallszahlen (oder Pseudozufallszahlen) auf Grundlage des identifizierten CMAC generieren. Der RNG kann ein herkömmlicher Algorithmus sein, z. B. ein Lehmer-Generator, ein Mersenne-Twister, ein Advanced Randomization System, Philox usw. In dieser Schrift weist „einen Ausgangswert eingeben“ seine herkömmliche Bedeutung in der Computertechnik auf, d. h. im vorliegenden Kontext bedeutet „einen Ausgangswert eingeben“, das eine Anfangsbedingung des RNG-Algorithmus vorgegeben wird, wodurch der Zufallszahlengenerator initialisiert wird, damit er eine vorgegebene Zahlenfolge auf Grundlage der vorgegebenen Anfangsbedingung, d. h. des Ausgangswerts, generiert.
  • Der RNG gibt eine Länge, z. B. eine Anzahl von Bits, eines Ausgangswerts, d. h. eines Anfangswerts vor. Jede Fahrzeugrechenvorrichtung 110 kann die Länge des Ausgangswerts speichern, z.B. in einem Speicher der jeweiligen Fahrzeugrechenvorrichtung 110. Die Fahrzeugrechenvorrichtung 110 bestimmt auf Grundlage der Länge des Ausgangswerts und einer Länge, z. B. einer Anzahl von Bits, des CMAC der ausgewählten Nachricht 200 eine Anzahl verfügbarer infrage kommender Nachrichten 200, die benötigt wird, um den Ausgangswert in den RNG einzugeben.
  • Nachdem sie den CMAC der ausgewählten Nachricht 200 identifiziert hat, kann die Fahrzeugrechenvorrichtung 110 die Länge des identifizierten CMAC mit der Länge des Ausgangswerts vergleichen. Wenn die Länge des identifizierten CMAC gleich der Länge des Ausgangswerts ist, gibt die Fahrzeugrechenvorrichtung 110 den identifizierten CMAC in den RNG ein, d. h. sie gibt den identifizierten CMAC als den Ausgangswert in den RNG ein.
  • Wenn die Länge des identifizierten CMAC größer als die Länge des Ausgangswerts ist, kann die Fahrzeugrechenvorrichtung 110 einen aktualisierten CMAC generieren, indem sie eine Anzahl von Bits, die einer Differenz zwischen der Länge des identifizierten CMAC und der Länge des Ausgangswerts entspricht, aus dem identifizierten CMAC entfernt. In dieser Situation kann die Fahrzeugrechenvorrichtung 110 zum Beispiel die Anzahl der Bits, die der Differenz entspricht, zufällig aus dem identifizierten CMAC entfernen, d. h. zufällige Bits aus dem identifizierten CMAC entfernen. Als ein anderes Beispiel kann die Fahrzeugrechenvorrichtung 110 aufeinanderfolgende Bits entsprechend der Differenz entfernen, z. B. beginnend mit einem ersten Bit oder endend mit einem letzten Bit des identifizierten CMAC. Die Fahrzeugrechenvorrichtung 110 kann anschließend den aktualisierten CMAC in den RNG eingeben, d. h. den aktualisierten CMAC als den Ausgangswert in den RNG eingeben.
  • Wenn die Länge des identifizierten CMAC kleiner als die Länge des Ausgangswerts ist, kann die Fahrzeugrechenvorrichtung 110 eine zweite verfügbare Nachricht 200 aus dem vordefinierten Satz verfügbarer infrage kommender Nachrichten 200 auswählen, z. B. im Wesentlichen auf die gleiche Weise wie vorstehend in Bezug auf das Auswählen der verfügbaren Nachricht 200 erörtert. Die Fahrzeugrechenvorrichtung 110 kann anschließend einen zweiten CMAC der zweiten ausgewählten Nachricht 200 identifizieren, z. B. im Wesentlichen auf die gleiche Weise wie vorstehend in Bezug auf das Identifizieren des CMAC beschrieben. Wenn sie den zweiten CMAC identifiziert hat, kann die Fahrzeugrechenvorrichtung 110 einen aktualisierten CMAC generieren, indem sie den identifizierten CMAC und den zweiten identifizierten CMAC kombiniert. Zum Beispiel kann die Fahrzeugrechenvorrichtung 110 den identifizierten CMAC und den zweiten identifizierten CMAC verketten.
  • Als ein anderes Beispiel kann die Fahrzeugrechenvorrichtung 110 eine Anzahl von Bits aus dem zweiten identifizierten CMAC auswählen, die einer Differenz zwischen der Länge des identifizierten CMAC und der Länge des Ausgangswerts entspricht. In dieser Situation kann die Fahrzeugrechenvorrichtung 110 zum Beispiel die Anzahl von Bits, die der Differenz entspricht, zufällig aus dem zweiten identifizierten CMAC auswählen, d. h. zufällige Bits aus dem zweiten identifizierten CMAC auswählen.
  • Als ein weiteres Beispiel kann die Fahrzeugrechenvorrichtung 110 die Anzahl aufeinanderfolgender Bits entsprechend der Differenz auswählen, z. B. beginnend mit einem ersten Bit oder endend mit einem letzten Bit des zweiten identifizierten CMAC. Die Fahrzeugrechenvorrichtung 110 kann anschließend die auswählen Bits aus dem zweiten identifizierten CMAC und den identifizierten CMAC verketten. Die Fahrzeugrechenvorrichtung 110 kann aufeinanderfolgend identifizierte CMACs kombinieren, bis die Länge des aktualisierten CMAC der Länge des Ausgangswerts entspricht. Die Fahrzeugrechenvorrichtung 110 gibt anschließend den aktualisierten CMAC in den RNG ein, d. h. sie gibt den aktualisierten CMAC als den Ausgangswert in den RNG ein.
  • Wenn die Zufallszahl generiert wurde, ist die Fahrzeugrechenvorrichtung 110 dazu programmiert, die Zufallszahl auszugeben, z. B. an eine Anwendung oder möglicherweise an eine zweite Rechenvorrichtung, die eine Zufallszahl und/oder einen Ausgangswert über das Fahrzeugnetzwerk anfordert. Die anfordernde Rechenvorrichtung oder Anwendung kann die Zufallszahl zum Beispiel für eine kryptographische und/oder eine Sicherheitsfunktion verwenden. Zum Beispiel kann die Zufallszahl als Nonce-Wert verwendet werden, der an Daten in einer Nachricht angehängt wird, bevor die Nachricht verschlüsselt und übertragen wird. Die Verwendung einer Nonce kann eine eindeutige Nachricht erzeugen und stellt eine Technik zum Verhindern, dass ein Hacker eine verschlüsselte Kommunikation kopiert und verwendet (oder erneut verwendet), dar. Das heißt, da eine Nonce für die Nachricht, in der sie beinhaltet ist, einzigartig ist, kann das Kombinieren von Nachrichtendaten mit der Nonce ermöglichen, dass gefälschte Nachrichten auf Grundlage dessen, dass eine Nachricht empfangen wird, die eine vorherige kryptographische Nonce beinhaltet, identifiziert werden.
  • Als ein anderes Beispiel kann die Zufallszahl als Salt-Wert verwendet werden. In einem derartigen Beispiel können die Zufallszahl und die Daten unter Verwendung des kryptographischen Programms kombiniert werden, das die Zufallszahl und die Daten in eine kryptographische Hashfunktion, wie etwa Secure Hash Algorithm 1 (SHA-1), eingibt, um einen Hashwert (d. h. eine verschlüsselte Bitfolge mit fester Größe) zu generieren. Da jeder Salt-Wert für die Nachricht, in der er beinhaltet ist, eindeutig ist, kann das Kombinieren der Daten mit dem Salt-Wert verhindern, dass nicht autorisierte Quellen den Hashwert vorausberechnen, da es rechnerisch unmöglich ist, alle Permutationen des Salt-Werts im Voraus zu berechnen.
  • 3 ist ein Diagramm eines beispielhaften Prozesses 300 zum Eingeben eines Ausgangswerts für eine Zufallszahl und Generieren derselben. Der Prozess 300 beginnt in einem Block 305. Der Prozess 300 kann durch eine in einem Fahrzeug 105 beinhaltete Fahrzeugrechenvorrichtung 110 durchgeführt werden, die in einem Speicher davon gespeicherte Programmanweisungen ausführt.
  • In dem Block 305 bestimmt eine Fahrzeugrechenvorrichtung 110, ob eine Anforderung für eine Zufallszahl (wie vorstehend erörtert) empfangen wurde, z. B. von einer Anwendung oder einer zweiten Rechenvorrichtung. Zum Beispiel kann die Fahrzeugrechenvorrichtung 110 das Fahrzeugkommunikationsnetzwerk überwachen, um die Anforderung zu detektieren. Wenn die Fahrzeugrechenvorrichtung 110 eine Anforderung für eine Zufallszahl empfängt, geht der Prozess 300 zu einem Block 310 über. Andernfalls verbleibt der Prozess 300 in dem Block 305.
  • In dem Block 310 überwacht die Fahrzeugrechenvorrichtung 110 das Fahrzeugkommunikationsnetzwerk, um eine Vielzahl infrage kommender Nachrichten 200 zu detektieren. Zum Beispiel können die infrage kommenden Nachrichten 200 durch eine oder mehrere Rechenvorrichtungen 110 bereitgestellt werden, wie vorstehend erörtert. Die Fahrzeugrechenvorrichtung 110 kann eine erste infrage kommende Nachricht 200 in dem Fahrzeugkommunikationsnetzwerk oder aus einer gespeicherten Warteschlange oder Liste verfügbarer infrage kommender Nachrichten 200 auswählen, wie vorstehend erörtert. Der Prozess 300 geht zu einem Block 315 über.
  • In dem Block 315 identifiziert die Fahrzeugrechenvorrichtung 110 einen verschlüsselungsbasierten Nachrichtenauthentifizierungscode (CMAC) der ausgewählten verfügbaren infrage kommenden Nachricht 200. Die verfügbare infrage kommende Nachricht 200 beinhaltet den CMAC in einem vorgegebenen Nutzdatensegment 215, wie vorstehend erörtert. Die Fahrzeugrechenvorrichtung 110 kann auf das vorgegebene Nutzdatensegment 215 zugreifen und den CMAC abrufen, wie vorstehend erörtert. Der Prozess 300 geht zu einem Block 320 über.
  • In dem Block 320 vergleicht die Fahrzeugrechenvorrichtung 110 eine Länge des identifizierten CMAC mit einer Länge eines Ausgangswerts für einen Zufallszahlengenerator (RNG), wie vorstehend erörtert. Die Länge des Ausgangswerts kann z. B. in einem Speicher der Fahrzeugrechenvorrichtung 110 gespeichert sein. Wenn die Länge des identifizierten CMAC gleich der Länge des Ausgangswerts ist, geht der Prozess 300 zu einem Block 330 über. Anderenfalls geht der Prozess 300 zu einem Block 325 über.
  • In dem Block 325 generiert die Fahrzeugrechenvorrichtung 110 einen aktualisierten CMAC. Zum Beispiel kann die Fahrzeugrechenvorrichtung 110, wenn die Länge des identifizierten CMAC größer als die Länge des Ausgangswerts ist, den identifizierten CMAC aktualisieren, indem sie eine Anzahl an Bits aus dem CMAC entfernt, die einer Differenz zwischen der Länge des identifizierten CMAC und der Länge des Ausgangswerts entspricht, wie vorstehend erörtert.
  • Als ein anderes Beispiel kann die Fahrzeugrechenvorrichtung 110, wenn die Länge des identifizierten CMAC kleiner als die Länge des Ausgangswerts ist, eine zweite verfügbare Nachricht 200 auswählen und anhand der zweiten ausgewählten Nachricht 200 einen zweiten CMAC identifizieren, wie vorstehend erörtert. Die Fahrzeugrechenvorrichtung 110 kann anschließend einen aktualisierten CMAC generieren, indem sie den zweiten identifizierten CMAC und den identifizierten CMAC kombiniert, wie vorstehend erörtert. Alternativ oder zusätzlich könnte die Rechenvorrichtung 110, wenn die Länge des identifizierten CMAC kleiner als die Länge des Ausgangswerts ist, zusätzliche Bits bereitstellen, z. B. ein vorher festgelegtes Muster von Nullen und/oder Einsen, um die gewünschte Länge zu erhalten. Der Prozess 300 geht zu dem Block 330 über.
  • In dem Block 330 gibt die Fahrzeugrechenvorrichtung 110 den identifizierten (oder aktualisierten) CMAC und einen Authentifizierungsschlüssel, der z. B. in einem Speicher der Fahrzeugrechenvorrichtung 110 gespeichert ist, in den RNG ein, um eine Zahlenfolge zu generieren, wie vorstehend erörtert. Anders ausgedrückt gibt die Fahrzeugrechenvorrichtung 110 den identifizierten (oder aktualisierten) CMAC als Ausgangswert in den RNG ein. Wie vorstehend dargelegt, ist der RNG ein deterministischer Algorithmus, der eine vorgegebene Folge für jeden identifizierten (oder aktualisierten) CMAC generiert. Das heißt, der RNG gibt eine Zufallszahl (oder Pseudozufallszahl) auf Grundlage des identifizierten (oder aktualisierten) CMAC aus. Der Prozess 300 geht zu einem Block 335 über.
  • In dem Block 335 gibt die Fahrzeugrechenvorrichtung 110 die Zufallszahl aus, z. B. an die anfordernde Rechenvorrichtung oder Anwendung. Die Fahrzeugrechenvorrichtung 110 kann die Zufallszahl z. B. über das Fahrzeugkommunikationsnetzwerk oder das Netzwerk 135 übertragen. Der Prozess 300 geht zu einem Block 340 über.
  • In einem Block 340 verwendet die Rechenvorrichtung 110, welche die Zufallszahl anfordert, die Zufallszahl in einer Anwendung, z. B. für eine Sicherheitsfunktion, wie etwa Einbeziehen eines Nonce-Werts in eine verschlüsselte Kommunikation, Anhängen eines Salt-Werts an eine Hashfunktion usw. Der Prozess 300 endet im Anschluss an den Block 340.
  • Im in dieser Schrift verwendeten Sinne bedeutet der Ausdruck „im Wesentlichen“, dass eine Form, eine Struktur, ein Maß, eine Menge, eine Zeit usw. aufgrund von Mängeln bei Materialien, Bearbeitung, Herstellung, Datenübertragung, Berechnungszeit usw. von einer/einem genauen beschriebenen Geometrie, Entfernung, Maß, Menge, Zeit usw. abweichen kann.
  • Im Allgemeinen können die beschriebenen Rechensysteme und/oder -vorrichtungen ein beliebiges aus einer Reihe von Computerbetriebssystemen einsetzen, einschließ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 QNX® CAR Platform for Infotainment, angeboten durch QNX Software Systems. Beispiele für Rechenvorrichtungen schließen unter anderem einen ersten Bordcomputer, einen Computerarbeitsplatz, einen Server, einen Desktop-, Notebook-, Laptop- oder Handheld-Computer oder ein anderes Rechensystem und/oder eine andere Rechenvorrichtung ein.
  • 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, die unter Verwendung einer Vielfalt von Programmiersprachen und/oder -technologien erstellt werden, einschließ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 etwa 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, einschließlich eines oder mehrerer der in dieser Schrift beschriebenen Prozesse. Derartige Anweisungen und andere Daten können unter Verwendung vielfältiger computerlesbarer 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 (RAM) usw., gespeichert ist.
  • Ein Speicher kann ein computerlesbares Medium (auch als prozessorlesbares Medium bezeichnet) beinhalten, das ein beliebiges nicht transitorisches (z. B. materielles) Medium beinhaltet, das am Bereitstellen von Daten (z. B. Anweisungen) beteiligt ist, die durch einen Computer (z. B. durch einen Prozessor eines Computers) ausgelesen werden können. Ein derartiges Medium kann viele Formen annehmen, die unter anderem nichtflüchtige Medien und flüchtige Medien beinhalten. Nicht flüchtige Medien können zum Beispiel Bild- und Magnetplatten und sonstige dauerhafte Speicher beinhalten. Zu flüchtigen Medien kann zum Beispiel ein dynamischer Direktzugriffsspeicher (Dynamic Random-Access Memory - DRAM) gehören, der üblicherweise einen Hauptspeicher darstellt. Derartige Anweisungen können durch ein oder mehrere Übertragungsmedien übertragen werden, einschließlich Koaxialkabeln, Kupferdraht und Glasfaser, einschließlich der Drähte, aus denen ein Systembus besteht, der mit einem Prozessor einer ECU gekoppelt ist. Gängige Formen computerlesbarer Medien beinhalten zum Beispiel Folgendes: 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 ausgelesen werden kann.
  • Datenbanken, Datendepots oder andere 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, einschließ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 derartige Datenspeicher ist im Allgemeinen in einer Rechenvorrichtung enthalten, die ein Computerbetriebssystem einsetzt, wie etwa eines der vorstehend erwähnten, und es wird auf eine oder mehrere von vielfältigen Weisen über ein Netzwerk darauf zugegriffen. Auf ein Dateisystem kann von einem Computerbetriebssystem zugegriffen werden und es kann Dateien beinhalten, die in verschiedenen Formaten gespeichert sind. 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 vorangehend 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, Personal Computern usw.) umgesetzt sein, die auf damit assoziierten computerlesbaren Medien (z. B. Platten, Speichern usw.) gespeichert sind. Ein Computerprogrammprodukt kann derartige auf computerlesbaren Medien gespeicherte Anweisungen zum Ausführen der in dieser Schrift beschriebenen Funktionen umfassen.
  • Hinsichtlich der in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren, Heuristiken usw. versteht es sich, dass, auch wenn die Schritte derartiger Prozesse usw. als gemäß einer bestimmten Reihenfolge erfolgend beschrieben worden sind, derartige Prozesse jedoch so umgesetzt werden können, dass die beschriebenen Schritte in einer Reihenfolge durchgeführt werden, die von der in dieser Schrift beschriebenen Reihenfolge verschieden ist. 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. 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 erwartet 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 ausschließ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 Patentanspruch nicht eine ausdrückliche gegenteilige Einschränkung nennt.
  • Gemäß der vorliegenden Erfindung wird ein System bereitgestellt das einen Computer aufweist, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen speichert, die durch den Prozessor für Folgendes ausgeführt werden können: Überwachen eines bordeigenen Kommunikationsnetzwerks eines Fahrzeugs zum Detektieren einer Vielzahl verfügbarer Nachrichten, die jeweils verschlüsselungsbasierte Nachrichtenauthentifizierungscodes (CMAC) beinhalten und auf Grundlage dessen, dass sie eine Informationsentropie über einem vorgegebenen Schwellenwert aufweisen, als infrage kommende Nachrichten identifiziert wurden; Auswählen einer ersten Nachricht aus der Vielzahl verfügbarer Nachrichten; Eingeben des CMAC der ausgewählten Nachricht in einen Zufallszahlengenerator, der eine Zufallszahl mit dem CMAC der ausgewählten Nachricht als Ausgangswert ausgibt; und anschließendes Ausgeben der Zufallszahl.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen für Folgendes: wenn bestimmt wird, dass eine Länge des CMAC der ausgewählten Nachricht kleiner als eine Länge eines durch den Zufallszahlengenerator vorgegebenen Ausgangswerts ist, Auswählen einer zweiten Nachricht aus der Vielzahl verfügbarer Nachrichten; Generieren eines aktualisierten CMAC durch Kombinieren des CMAC der zweiten Nachricht und des CMAC der ersten Nachricht; und Eingeben des aktualisierten CMAC in den Zufallszahlengenerator auf Grundlage dessen, dass bestimmt wird, dass eine Länge des aktualisierten CMAC gleich der Länge des Ausgangswerts ist.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Führen einer Liste der infrage kommenden Nachrichten in dem Fahrzeugkommunikationsnetzwerk und zum schrittweisen Auswählen der ersten Nachricht aus der Liste.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Entfernen von Nachrichten von der Liste nach einem vorher festgelegten Zeitraum.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Führen einer Liste der infrage kommenden Nachrichten in dem Fahrzeugkommunikationsnetzwerk und zum Auswählen der ersten Nachricht aus der Liste auf Grundlage einer vorherigen Zufallszahl.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Entfernen von Nachrichten von der Liste nach einem vorher festgelegten Zeitraum.
  • Gemäß einer Ausführungsform wird die Zufallszahl in eine Anwendung für eine Sicherheitsfunktion eingegeben.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Auswählen der ersten Nachricht auf Grundlage dessen, dass eine Anforderung für eine Zufallszahl empfangen wird.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Auswählen einer zuletzt nach Empfang der Anforderung in dem bordeigenen Kommunikationsnetzwerk detektierten verfügbaren Nachricht als die erste Nachricht.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Auswählen einer als Nächstes nach Empfang der Anforderung in dem bordeigenen Kommunikationsnetzwerk detektierten verfügbaren Nachricht als die erste Nachricht.
  • Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren Folgendes: Überwachen eines bordeigenen Kommunikationsnetzwerks eines Fahrzeugs zum Detektieren einer Vielzahl verfügbarer Nachrichten, die jeweils verschlüsselungsbasierte Nachrichtenauthentifizierungscodes (CMAC) beinhalten und auf Grundlage dessen, dass sie eine Informationsentropie über einem vorgegebenen Schwellenwert aufweisen, als infrage kommende Nachrichten identifiziert wurden; Auswählen einer ersten Nachricht aus der Vielzahl verfügbarer Nachrichten; Eingeben des CMAC der ausgewählten Nachricht in einen Zufallszahlengenerator, der eine Zufallszahl mit dem CMAC der ausgewählten Nachricht als Ausgangswert ausgibt; und anschließendes Ausgeben der Zufallszahl.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren Folgendes: wenn bestimmt wird, dass eine Länge des CMAC der ausgewählten Nachricht kleiner als eine Länge eines durch den Zufallszahlengenerator vorgegebenen Ausgangswerts ist, Auswählen einer zweiten Nachricht aus der Vielzahl verfügbarer Nachrichten; Generieren eines aktualisierten CMAC durch Kombinieren des CMAC der zweiten Nachricht und des CMAC der ersten Nachricht; und Eingeben des aktualisierten CMAC in den Zufallszahlengenerator auf Grundlage dessen, dass bestimmt wird, dass eine Länge des aktualisierten CMAC gleich der Länge des Ausgangswerts ist.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren ein Führen einer Liste der infrage kommenden Nachrichten in dem Fahrzeugkommunikationsnetzwerk und ein schrittweises Auswählen der ersten Nachricht aus der Liste.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren ein Entfernen von Nachrichten von der Liste nach einem vorher festgelegten Zeitraum.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren ein Führen einer Liste der infrage kommenden Nachrichten in dem Fahrzeugkommunikationsnetzwerk und ein Auswählen der infrage kommenden Nachrichten aus der Liste auf Grundlage einer vorherigen Zufallszahl.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren ein Entfernen von Nachrichten von der Liste nach einem vorher festgelegten Zeitraum.
  • In einem Aspekt der Erfindung wird die Zufallszahl in eine Anwendung für eine Sicherheitsfunktion eingegeben.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren ein Auswählen der Nachricht auf Grundlage dessen, dass eine Anforderung für eine Zufallszahl empfangen wird.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren ein Auswählen einer zuletzt nach Empfang der Anforderung in dem bordeigenen Kommunikationsnetzwerk detektierten verfügbaren Nachricht als die erste Nachricht.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren ein Auswählen einer als Nächstes nach Empfang der Anforderung in dem bordeigenen Kommunikationsnetzwerk detektierten verfügbaren Nachricht als die erste Nachricht.

Claims (13)

  1. Verfahren, das Folgendes umfasst: Überwachen eines bordeigenen Kommunikationsnetzwerks eines Fahrzeugs zum Detektieren einer Vielzahl verfügbarer Nachrichten, die jeweils verschlüsselungsbasierte Nachrichtenauthentifizierungscodes (CMAC) beinhalten und auf Grundlage dessen, dass sie eine Informationsentropie über einem vorgegebenen Schwellenwert aufweisen, als infrage kommende Nachrichten identifiziert wurden; Auswählen einer ersten Nachricht aus der Vielzahl verfügbarer Nachrichten; Eingeben des CMAC der ausgewählten Nachricht in einen Zufallszahlengenerator, der eine Zufallszahl mit dem CMAC der ausgewählten Nachricht als Ausgangswert ausgibt; und anschließendes Ausgeben der Zufallszahl.
  2. Verfahren nach Anspruch 1, das ferner Folgendes umfasst: Auswählen einer zweiten Nachricht aus der Vielzahl verfügbarer Nachrichten, wenn bestimmt wird, dass eine Länge des CMAC der ausgewählten Nachricht kürzer ist als eine Länge eines durch den Zufallszahlengenerator vorgegebenen Ausgangswerts; Generieren eines aktualisierten CMAC durch Kombinieren des CMAC der zweiten Nachricht und des CMAC der ersten Nachricht; und Eingeben des aktualisierten CMAC in den Zufallszahlengenerator auf Grundlage dessen, dass bestimmt wird, dass eine Länge des aktualisierten CMAC gleich der Länge des Ausgangswerts ist.
  3. Verfahren nach Anspruch 1, das ferner ein Führen einer Liste der infrage kommenden Nachrichten in dem Fahrzeugkommunikationsnetzwerk und ein schrittweises Auswählen der ersten Nachricht aus der Liste umfasst.
  4. Verfahren nach Anspruch 3, das ferner ein Entfernen von Nachrichten von der Liste nach einem vorher festgelegten Zeitraum umfasst.
  5. Verfahren nach Anspruch 1, das ferner ein Führen einer Liste der infrage kommenden Nachrichten in dem Fahrzeugkommunikationsnetzwerk und ein Auswählen der infrage kommenden Nachricht aus der Liste auf Grundlage einer vorherigen Zufallszahl umfasst.
  6. Verfahren nach Anspruch 5, das ferner ein Entfernen von Nachrichten von der Liste nach einem vorher festgelegten Zeitraum umfasst.
  7. Verfahren nach Anspruch 1, wobei die Zufallszahl in eine Anwendung für eine Sicherheitsfunktion eingegeben wird.
  8. Verfahren nach Anspruch 1, das ferner ein Auswählen der Nachricht auf Grundlage dessen, dass eine Anforderung für eine Zufallszahl empfangen wird, umfasst.
  9. Verfahren nach Anspruch 8, das ferner ein Auswählen einer zuletzt nach Empfang der Anforderung in dem bordeigenen Kommunikationsnetzwerk detektierten verfügbaren Nachricht als die erste Nachricht umfasst.
  10. Verfahren nach Anspruch 8, das ferner ein Auswählen einer als Nächstes nach Empfang der Anforderung in dem bordeigenen Kommunikationsnetzwerk detektierten verfügbaren Nachricht als die erste Nachricht umfasst.
  11. Computer, der dazu programmiert ist, das Verfahren nach einem der Ansprüche 1-10 auszuführen.
  12. Computerprogrammprodukt, das Anweisungen zum Ausführen des Verfahrens nach einem der Ansprüche 1-10 umfasst.
  13. Fahrzeug, das einen Computer umfasst, der dazu programmiert ist, das Verfahren nach einem der Ansprüche 1-10 auszuführen.
DE102022105457.8A 2021-03-17 2022-03-08 System und verfahren für ein fahrzeugnetzwerk Pending DE102022105457A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/203,775 US11792007B2 (en) 2021-03-17 2021-03-17 System and method for a vehicle network
US17/203,775 2021-03-17

Publications (1)

Publication Number Publication Date
DE102022105457A1 true DE102022105457A1 (de) 2022-09-22

Family

ID=83115222

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022105457.8A Pending DE102022105457A1 (de) 2021-03-17 2022-03-08 System und verfahren für ein fahrzeugnetzwerk

Country Status (3)

Country Link
US (1) US11792007B2 (de)
CN (1) CN115150774A (de)
DE (1) DE102022105457A1 (de)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10419907B2 (en) 2012-02-22 2019-09-17 Qualcomm Incorporated Proximity application discovery and provisioning
JP6420176B2 (ja) 2015-02-26 2018-11-07 ルネサスエレクトロニクス株式会社 通信システムおよび通信装置
US10348704B2 (en) * 2015-07-30 2019-07-09 Helder Silvestre Paiva Figueira Method for a dynamic perpetual encryption cryptosystem
JP6409849B2 (ja) * 2016-10-31 2018-10-24 トヨタ自動車株式会社 通信システム及び通信方法
US10630481B2 (en) 2016-11-07 2020-04-21 Ford Global Technologies, Llc Controller area network message authentication
US11522696B2 (en) * 2020-03-13 2022-12-06 Dearborn Group, Inc. Intrusion defense system for a vehicle

Also Published As

Publication number Publication date
CN115150774A (zh) 2022-10-04
US11792007B2 (en) 2023-10-17
US20220303134A1 (en) 2022-09-22

Similar Documents

Publication Publication Date Title
DE102020124163A1 (de) Verifizierung von fahrzeugdaten
DE102012204880B4 (de) Verfahren und Fahrzeug-zu-X-Kommunikationssystem zur selektiven Prüfung von Datensicherheitssequenzen empfangener Fahrzeug-zu-X-Botschaften
DE102018104274A1 (de) Verfahren zum adaptiven Einstellen einer Sicherheitsstufe einer V2X-Kommunikation- Nachricht und Vorrichtung dafür
DE102017116579A1 (de) Private fahrzeug-zu-fahrzeug-kommunikation
DE102016110169A1 (de) Diebstahlverhinderung für autonome Fahrzeuge
DE102014205664A1 (de) Fahrzeugeigene Vermittlungsvorrichtung und Datenübertragungssystem
DE102013214383A1 (de) Verfahren und Vorrichtung zum Bereitstellen eines Kollisionsignals hinsichtlich einer Fahrzeugkollision, Verfahren und Vorrichtung zum Verwalten von Kollisionsdaten hinsichtlich Fahrzeugkollisionen sowie Verfahren und Vorrichtung zum Steuern zumindest einer Kollisionsschutzeinrichtung eines Fahrzeugs
DE102019127363A1 (de) Lichtbasierte spurwechselsteuerung
DE102017221629A1 (de) Verfahren und Vorrichtung zum Überprüfen eines Fahrzeugs in einem Kommunikationsumfeld zwischen Fahrzeugen
DE102014113763B4 (de) Angriffsresistentes Diebstahlabwehrsystem
DE112018001985T5 (de) Relais-Einrichtung, Transferverfahren und Computerprogramm
DE102018109080A1 (de) Systeme und verfahren zum verwenden mechanischer schwingung für ausserbandkommunikationen an bord eines fahrzeugs
DE102019212958B3 (de) Verfahren und Vorrichtung zur Erzeugung von kryptographischen Schlüsseln nach einem Schlüsselableitungsmodell sowie Fahrzeug
DE102019124913A1 (de) Adaptive fahrzeug-zu-infrastruktur-kommunikation
DE102018222864B3 (de) Verfahren zum Deaktivieren eines Kraftfahrzeugs, Deaktivierungssystem für ein Kraftfahrzeug und Kraftfahrzeug
DE102021124026A1 (de) Verwendung von signalbewertung zum identifizieren von sicherheitskritischen can-nachrichten und -knoten zur effizienten implementierung von sicherheitsmerkmalen verteilter netzwerke
DE102020114379A1 (de) Speichern von fahrzeugdaten
DE102022103553A1 (de) Authentifizierung einer fahrzeugrechenvorrichtung
DE102020122086A1 (de) Messen von vertrauen in tiefen neuronalen netzwerken
DE102020112009A1 (de) Synchronisierung von sensorsystemen
DE102022105457A1 (de) System und verfahren für ein fahrzeugnetzwerk
DE102023100447A1 (de) Fahrzeugbetrieb zum bereitstellen von attributdaten
DE102021129043A1 (de) Diagnoseanforderung über fahrzeugbus-authentifizierung
DE102022102448A1 (de) Authentifizierung einer fahrzeugrechenvorrichtung
DE102022102092A1 (de) Sicheres übertragen von befehlen an ein fahrzeug während der montage

Legal Events

Date Code Title Description
R081 Change of applicant/patentee

Owner name: FORD GLOBAL TECHNOLOGIES, LLC, DEARBORN, US

Free format text: FORMER OWNER: FORD GLOBAL TECHNOLOGIES, LLC, DEARBORN, US

R082 Change of representative

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