DE102021133346A1 - Sitzungsschlüsselerzeugung für einen betrieb autonomer fahrzeuge - Google Patents

Sitzungsschlüsselerzeugung für einen betrieb autonomer fahrzeuge Download PDF

Info

Publication number
DE102021133346A1
DE102021133346A1 DE102021133346.6A DE102021133346A DE102021133346A1 DE 102021133346 A1 DE102021133346 A1 DE 102021133346A1 DE 102021133346 A DE102021133346 A DE 102021133346A DE 102021133346 A1 DE102021133346 A1 DE 102021133346A1
Authority
DE
Germany
Prior art keywords
vehicle service
salt
service provider
provider system
vehicle
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
DE102021133346.6A
Other languages
English (en)
Inventor
Michael Maass
Karl Robinson
Garth Scheidemantel
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.)
Motional AD LLC
Original Assignee
Motional AD 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 Motional AD LLC filed Critical Motional AD LLC
Publication of DE102021133346A1 publication Critical patent/DE102021133346A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • 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
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1868Measures taken after transmission, e.g. acknowledgments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1895Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for short real-time information, e.g. alarms, notifications, alerts, updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • 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/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
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or 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/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/3236Cryptographic 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 cryptographic hash functions
    • 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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3242Cryptographic 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 cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0431Key distribution or pre-distribution; Key agreement
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
    • 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/0435Network 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 symmetric encryption, i.e. same key used for encryption and decryption
    • 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
    • H04L9/3273Cryptographic 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 for mutual authentication

Abstract

Es werden Verfahren, System und Vorrichtungen zur Sitzungsschlüsselberechnung für autonomen Fahrzeugbetrieb offenbart. Ein Fahrzeug-Dienstanbietersystem strahlt einen ersten Salt an mindestens ein Fahrzeug-Dienstteilnehmersystem aus. Das Fahrzeug-Dienstanbietersystem ist mindestens einem Fahrzeug zugeordnet. Das Fahrzeug-Dienstanbietersystem empfängt eine Synchronisationsnachricht von dem mindestens einen Fahrzeug-Dienstteilnehmersystem. Die Synchronisationsnachricht weist eine Entropie auf. Das Fahrzeug-Dienstanbietersystem erzeugt einen zweiten Salt auf der Basis des ersten Salt und der Entropie. Das Fahrzeug-Dienstanbietersystem berechnet Sitzungsschlüssel auf der Basis des zweiten Salt. Das Fahrzeug-Dienstanbietersystem sendet eine Aktualisierung zu mindestens einem Fahrzeug-Dienstteilnehmersystem. Die Aktualisierung weist den zweiten Salt zum Entschlüsseln geschützter Nachrichten unter Verwendung der Sitzungsschlüssel auf. Die geschützten Nachrichten werden zur Berechnung einer Fahrt verwendet, an der das mindestens eine Fahrzeug beteiligt ist. Es können andere Ausführungsformen beschrieben oder beansprucht werden.

Description

  • GEBIET DER OFFENBARUNG
  • Ausführungsformen betreffen den Betrieb von Fahrzeugen und insbesondere die Sitzungsschlüsselerzeugung für den Betrieb autonomer Fahrzeuge.
  • HINTERGRUND
  • Dienstanbieter für autonome Fahrzeuge (AV) verwenden manchmal einen Kommunikationskanal für die Kommunikation mit Teilnehmern des AV-Dienstes. Die Verwendung traditioneller Kommunikationskanäle ist jedoch für Replay-Angriffe gegen AV-Dienstteilnehmer verwundbar, beispielsweise wenn eine bösartige Entität den Kommunikationskanal verwendet, um gefälschte Nachrichten zu den AV-Dienstteilnehmern zu senden.
  • Figurenliste
  • Es zeigen:
    • 1 ein Blockdiagramm eines Beispiels eines AVs mit einer Autonomiefähigkeit gemäß wenigstens einer Ausführungsform,
    • 2 ein Blockdiagramm einer beispielhaften „Cloud“-Rechenumgebung gemäß wenigstens einer Ausführungsform,
    • 3 ein Blockdiagramm eines Computersystems gemäß wenigstens einer Ausführungsform,
    • 4 ein Blockdiagramm einer beispielhaften Architektur für ein AV gemäß wenigstens einer Ausführungsform,
    • 5 ein Flussdiagramm eines Prozesses zur Sitzungsschlüsselerzeugung für einen AV-Betrieb gemäß wenigstens einer Ausführungsform,
    • 6 ein Flussdiagramm eines Prozesses zur Sitzungsschlüsselerzeugung für einen AV-Betrieb gemäß wenigstens einer Ausführungsform,
    • 7 ein Zeitablaufdiagramm eines Prozesses zur Sitzungsschlüsselerzeugung für einen AV-Betrieb gemäß wenigstens einer Ausführungsform,
    • 8 ein Flussdiagramm eines Prozesses zur Sitzungsschlüsselerzeugung für einen AV-Betrieb gemäß wenigstens einer Ausführungsform,
    • 9 ein Zeitablaufdiagramm eines Prozesses zur Sitzungsschlüsselerzeugung für einen AV-Betrieb gemäß wenigstens einer Ausführungsform,
    • 10 ein Zeitablaufdiagramm eines Prozesses zur Sitzungsschlüsselerzeugung für einen AV-Betrieb gemäß wenigstens einer Ausführungsform,
    • 11 ein Flussdiagramm eines Prozesses zur Sitzungsschlüsselerzeugung für einen AV-Betrieb gemäß wenigstens einer Ausführungsform,
    • 12 ein Flussdiagramm eines Prozesses zur Sitzungsschlüsselerzeugung für einen AV-Betrieb gemäß wenigstens einer Ausführungsform,
    • 13 ein Flussdiagramm eines Prozesses zur Sitzungsschlüsselerzeugung für einen AV-Betrieb und
    • 14 ein Flussdiagramm eines Prozesses zur Sitzungsschlüsselerzeugung für einen AV-Betrieb gemäß wenigstens einer Ausführungsform.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden Beschreibung werden für die Zwecke der Erklärung zahlreiche spezifische Einzelheiten dargelegt, um ein gründliches Verständnis der vorliegenden Erfindung bereitzustellen. Es ist jedoch zu verstehen, dass die vorliegende Erfindung ohne diese spezifischen Einzelheiten verwirklicht werden kann. In anderen Fällen sind wohlbekannte Strukturen und Vorrichtungen in Form eines Blockdiagramms dargestellt, um es zu vermeiden, die vorliegende Erfindung unnötig unverständlich zu machen.
  • In den Zeichnungen sind im Interesse einer einfachen Beschreibung spezifische Anordnungen oder Reihenfolgen schematischer Elemente in der Art solcher, die Vorrichtungen, Module, Befehlsblöcke und Datenelemente repräsentieren, dargestellt. Fachleute sollten jedoch verstehen, dass die spezifische Reihenfolge oder Anordnung der schematischen Elemente in den Zeichnungen nicht implizieren soll, dass eine bestimmte Ordnung oder Sequenz der Verarbeitung oder Trennung von Prozessen erforderlich ist. Ferner soll die Aufnahme eines schematischen Elements in einer Zeichnung nicht implizieren, dass dieses Element in allen Ausführungsformen benötigt wird oder dass die durch dieses Element repräsentierten Merkmale nicht gemäß einer Ausführungsform in andere Elemente aufgenommen oder mit diesen kombiniert werden können.
  • Ferner soll in den Zeichnungen an Stellen, an denen verbindende Elemente, beispielsweise durchgezogene oder gestrichelte Linien oder Pfeile, verwendet werden, um eine Verbindung, Beziehung oder Assoziation zwischen oder unter zwei oder mehr anderen schematischen Elementen darzustellen, das Nichtvorhandensein solcher verbindender Elemente nicht bedeuten, dass dadurch impliziert wird, dass keine Verbindung, Beziehung oder Assoziation existieren kann. Mit anderen Worten sind in den Zeichnungen einige Verbindungen, Beziehungen oder Assoziationen zwischen Elementen nicht dargestellt, um die Offenbarung nicht unverständlich zu machen. Zusätzlich wird im Interesse einer einfachen Darstellung ein einziges verbindendes Element verwendet, um mehrere Verbindungen, Beziehungen oder Assoziationen zwischen Elementen zu repräsentieren. Beispielsweise sollten Fachleute an Stellen, an denen ein verbindendes Element eine Kommunikation von Signalen, Daten oder Befehlen repräsentiert, verstehen, dass dieses Element einen oder mehrere Signalwege (beispielsweise einen Bus) repräsentiert, wie es erforderlich sein kann, um die Kommunikation auszuführen.
  • Es wird nun detailliert auf Ausführungsformen Bezug genommen, von denen Beispiele in den anliegenden Zeichnungen dargestellt sind. In der folgenden detaillierten Beschreibung werden zahlreiche spezifische Einzelheiten dargelegt, um ein gründliches Verständnis der verschiedenen beschriebenen Ausführungsformen bereitzustellen. Durchschnittsfachleute auf dem Gebiet werden jedoch verstehen, dass die verschiedenen beschriebenen Ausführungsformen ohne diese spezifischen Einzelheiten verwirklicht werden können. In anderen Fällen wurden wohlbekannte Verfahren, Prozeduren, Komponenten, Schaltungen und Netze nicht detailliert beschrieben, um Aspekte der Ausführungsformen nicht unnötig unverständlich zu machen.
  • Nachstehend werden mehrere Merkmale beschrieben, die jeweils unabhängig voneinander oder mit einer beliebigen Kombination anderer Merkmale verwendet werden können. Ein individuelles Merkmal kann jedoch nicht jegliche der vorstehend erörterten Probleme adressieren oder könnte nur eines der vorstehend erörterten Probleme adressieren. Einige der vorstehend erörterten Probleme könnten durch eines der hier beschriebenen Merkmale nicht vollständig adressiert werden. Wenngleich Überschriften bereitgestellt sind, können Informationen, die sich auf eine bestimmte Überschrift beziehen, jedoch nicht in dem Abschnitt mit dieser Überschrift vorgefunden werden, auch anderswo in dieser Beschreibung gefunden werden. Ausführungsformen werden hier gemäß der folgenden Grobstruktur beschrieben:
    1. 1. Allgemeiner Überblick
    2. 2. Systemüberblick
    3. 3. AV-Architektur
    4. 4. Sitzungsschlüsselerzeugung für AV-Betrieb
  • Allgemeiner Überblick
  • Dieses Dokument präsentiert Verfahren, Systeme und Vorrichtungen zur Sitzungsschlüsselerzeugung für den AV-Betrieb. Sitzungsschlüssel sind von einem AV-Dienstanbieter, der AVs an Benutzer eines AV-Dienstes verleiht oder versendet, berechnete einmal verwendbare symmetrische Schlüssel. Die Sitzungsschlüssel werden zur Verschlüsselung von Nachrichten in einer Kommunikationssitzung zwischen dem AV-Dienstanbieter und AV-Dienstteilnehmern verwendet. Der AV-Dienstanbieter nimmt eine von jedem AV-Dienstteilnehmer erzeugte Entropie in einen Salt auf, den er verwendet, um Sitzungsschlüssel zu berechnen. Hier bezeichnet „Salt“ Daten in der Art zufälliger oder pseudozufälliger Daten, die als zusätzliche Eingabe in die Funktion, die für die Berechnung der Sitzungsschlüssel verwendet wird, eingesetzt werden. Jeder AV-Dienstteilnehmer verwendet eine vom AV-Dienstanbieter unabhängige Technik zur Überprüfung des vom AV-Dienstanbieter bereitgestellten Salts und zur Berechnung von Sitzungsschlüsseln.
  • Die hier offenbarten Vorteile und Nutzen der Ausführungsformen aufweisen die Verhinderung von Replay-Angriffen durch bösartige Entitäten auf die Teilnehmer eines AV-Dienstes. Die offenbarten Ausführungsformen ermöglichen ferner eine Schlüsselneuerzeugung einer AV-Dienstanbieter-Teilnehmer-Gruppe auf Anforderung, beispielsweise wenn ein bestimmter AV-Dienstanbieter eine neue Fahrt anfordert. Der AV-Dienstanbieter kann leicht einen neuen Salt (und damit einen neuen Sitzungsschlüssel) erzeugen und den AV-Dienstteilnehmern die Änderung sicher mitteilen. Die von jedem AV-Dienstteilnehmer erzeugte Entropie erhöht die Sicherheit und Robustheit des Kommunikationssystems. Überdies bestimmen Teilnehmer und der Anbieter unabhängig übereinstimmende Sitzungsschlüssel, wodurch der rechnerische Zusatzaufwand verringert wird.
  • Ein Salt ändert sich während der Lebensdauer einer Sitzung nicht. Daher kann ein AV-Dienstanbieter das Überwachen von Salt-Nachrichten nach dem erfolgreichen Authentifizieren einer geschützten Nachricht vermeiden, wodurch die Datenübertragung und der Rechenaufwand verringert werden. Die Entropie wird über die Dauer einer Sitzung weitergetragen, wodurch die Entropie schwäche am AV-Dienstanbieter verringert wird und Replay-Angriffe verhindert werden. Die Sicherheit wird weiter erhöht, weil die erzeugte Salt-Kette eine Geschichte der gesamten von AV-Dienstteilnehmern in einer Sitzung bereitgestellten Entropie repräsentiert. Die hier offenbarten Ausführungsformen verhindern auch Rainbow-Tabellen-Angriffe, indem eine bösartige Entität gezwungen wird, die Sitzungsschlüssel unter Verwendung des Salts und der Entropie erneut zu berechnen. Ein Rainbow-Tabellen-Angriff ist ein Typ eines Hacking-Angriffs, bei dem ein Täter versucht, eine Rainbow-Hash-Tabelle zu verwenden, um in einem Datenbanksystem gespeicherte Passwörter zu cracken.
  • Systemüberblick
  • 1 ist ein Blockdiagramm, das ein Beispiel eines AVs 100 mit einer Autonomiefähigkeit gemäß wenigstens einer Ausführungsform zeigt.
  • Hier bezieht sich der Begriff „Autonomiefähigkeit“ auf eine Funktion, ein Merkmal oder eine Einrichtung, die es einem Fahrzeug ermöglicht, teilweise oder vollständig ohne menschlichen Eingriff in Echtzeit betrieben zu werden, wobei dies vollständig autonome Fahrzeuge, hochgradig autonome Fahrzeuge und bedingt autonome Fahrzeuge einschließt, jedoch nicht darauf beschränkt ist.
  • Hier ist ein AV ein Fahrzeug, das eine Autonomiefähigkeit besitzt.
  • Hier schließt „Fahrzeug“ Mittel für den Transport von Waren oder Personen ein. Beispielsweise sind dies Autos, Busse, Züge, Flugzeuge, Drohnen, Lastwagen, Boote, Schiffe, Unterseeboote, Luftschiffe usw. Ein fahrerloses Auto ist ein Beispiel eines Fahrzeugs.
  • Hier bezieht sich „Fahrstrecke“ auf einen Weg oder eine Route zum Betreiben eines AVs von einem ersten räumlich-zeitlichen Ort zu einem zweiten räumlich-zeitlichen Ort. Gemäß einer Ausführungsform wird der erste räumlich-zeitliche Ort als Anfangs- oder Ausgangsort bezeichnet und wird der zweite räumlich-zeitliche Ort als Bestimmungsort, endgültiger Ort, Ziel, Zielposition oder Zielort bezeichnet. Bei einigen Beispielen besteht eine Fahrstrecke aus wenigstens einem Segment (beispielsweise Straßenabschnitten) und besteht jedes Segment aus wenigstens einem Block (beispielsweise Teilen einer Fahrspur oder einer Kreuzung). Gemäß einer Ausführungsform entsprechen die räumlich-zeitlichen Orte realen Orten. Beispielsweise sind die räumlich-zeitlichen Orte Einlade- oder Ausladeorte für das Einladen oder Ausladen von Personen oder Waren.
  • Hier schließt „Sensor(en)“ wenigstens eine Hardwarekomponente ein, die Informationen über die Umgebung um den Sensor herum erfasst. Einige der Hardwarekomponenten können Messkomponenten (beispielsweise Bildsensoren, biometrische Sensoren), sendende und/oder empfangende Komponenten (beispielsweise Laser- oder Hochfrequenzwellen-Sender und -Empfänger), elektronische Komponenten in der Art von Analog-Digital-Wandlern, eine Datenspeichervorrichtung (in der Art eines Direktzugriffsspeichers (RAMs) und/oder eines nichtflüchtigen Speichers), Software- oder Firmwarekomponenten und Datenverarbeitungskomponenten in der Art eines ASICs (anwendungsspezifische integrierte Schaltung), eines Mikroprozessors und/oder einer Mikrosteuereinrichtung einschließen.
  • Hier ist eine „Szenenbeschreibung“ eine Datenstruktur (beispielsweise Liste) oder ein Datenstrom, der wenigstens ein klassifiziertes oder gelabeltes Objekt aufweist, das durch wenigstens einen Sensor am AV-Fahrzeug erfasst oder durch eine Quelle außerhalb des AVs bereitgestellt wird.
  • Hier ist eine „Straße“ ein physischer Bereich, der von einem Fahrzeug durchfahren werden kann, und sie kann einer benannten Durchgangsroute (beispielsweise einer Stadtstraße, einer Autobahn usw.) oder einer unbenannten Durchgangsroute (beispielsweise eine Auffahrt in einem Haus oder Bürogebäude, einem Abschnitt eines Parkplatzes, einem Abschnitt einer leeren Parzelle, einem unbefestigten Weg in einem ländlichen Bereich usw.) entsprechen. Weil einige Fahrzeuge (beispielsweise Pickup-Trucks mit Vierradantrieb, SUVs usw.) in der Lage sind, eine Vielzahl physischer Bereiche zu durchqueren, die nicht spezifisch für das Durchfahren mit einem Fahrzeug angepasst sind, kann eine „Straße“ ein physischer Bereich sein, der nicht formal durch eine Gemeinde- oder andere Regierungs- oder Verwaltungsinstitution als Durchgangsroute definiert ist.
  • Hier ist eine „Fahrspur“ ein Teil einer Straße, der von einem Fahrzeug durchfahren werden kann und dem größten Teil des Raums zwischen Fahrspurmarkierungen oder dem ganzen Raum dazwischen oder nur einem Teil (beispielsweise weniger als 50 %) des Raums zwischen Fahrspurmarkierungen entsprechen kann. Eine Straße mit weit beabstandeten Fahrspurmarkierungen könnte beispielsweise zwei oder mehr Fahrzeuge zwischen den Markierungen aufnehmen, so dass ein Fahrzeug an dem anderen vorbeifahren kann, ohne die Fahrspurmarkierungen zu überqueren, so dass sie als eine Fahrspur, die schmaler ist als der Raum zwischen den Fahrspurmarkierungen, oder als zwei Fahrspuren zwischen den Fahrspurmarkierungen aufweisend interpretiert werden könnte. Eine Fahrspur könnte auch bei Nichtvorhandensein von Fahrspurmarkierungen interpretiert werden. Beispielsweise kann eine Fahrspur auf der Grundlage eines physischen Merkmals einer Umgebung, beispielsweise Felsen und Bäume entlang einer Durchgangsroute in einem ländlichen Bereich, definiert werden.
  • „Wenigstens ein/eine/eines" schließt ein, dass eine Funktion durch ein Element ausgeführt wird, eine Funktion durch mehr als ein Element ausgeführt wird, beispielsweise in verteilter Weise, dass mehrere Funktionen durch ein Element ausgeführt werden, dass mehrere Funktionen durch mehrere Elemente ausgeführt werden, oder es schließt eine Kombination von diesen ein.
  • Es wird auch verstanden werden, dass, wenngleich die Begriffe erster, zweiter usw. hier in einigen Fällen verwendet werden, um verschiedene Elemente zu beschreiben, diese Elemente nicht auf diese Begriffe beschränkt werden sollten. Diese Begriffe werden nur verwendet, um ein Element von einem anderen Element zu unterscheiden. Beispielsweise könnte ein erster Kontakt als ein zweiter Kontakt bezeichnet werden und könnte ähnlich ein zweiter Kontakt als ein erster Kontakt bezeichnet werden, ohne vom Schutzumfang der verschiedenen beschriebenen Ausführungsformen abzuweichen. Der erste und der zweite Kontakt sind beide Kontakte, sie sind jedoch nicht derselbe Kontakt.
  • Die in der Beschreibung der verschiedenen hier beschriebenen Ausführungsformen verwendete Terminologie dient nur der Beschreibung bestimmter Ausführungsformen und ist nicht als einschränkend vorgesehen. Wie in der Beschreibung der verschiedenen beschriebenen Ausführungsformen und den anliegenden Ansprüchen verwendet, sollen die Singularformen „ein/eine/eines“ und „der/die/das“ auch die Pluralformen einschließen, es sei denn, dass der Zusammenhang klar etwas anderes angibt. Es sei auch bemerkt, dass der Begriff „und/oder“, wie er hier verwendet wird, jegliche und alle möglichen Kombinationen wenigstens eines der assoziierten aufgezählten Bestandteile betrifft und diese aufweist. Es ist ferner zu verstehen, dass die Begriffe „weist auf, „aufweisend“, "weist auf und/oder „aufweisend“, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein erwähnter Merkmale, natürlicher Zahlen, Elemente, Operationen, Elemente und/oder Komponenten spezifizieren, jedoch nicht das Vorhandensein oder das Hinzufügen wenigstens eines anderen Merkmale, einer natürlichen Zahlen, eines Elemente, einer Operationen, eines Elemente, einer Komponenten und/oder einer Gruppen davon ausschließen.
  • Hier sollte der Begriff „falls“ abhängig vom Zusammenhang optional als „wenn“ oder „bei“ oder „ansprechend auf eine Feststellung“ oder „ansprechend auf eine Erkennung“ bedeutend ausgelegt werden. Ähnlich sollte der Ausdruck „falls festgestellt wird“ oder „falls [eine erwähnte Bedingung oder ein erwähntes Ereignis] erkannt wird“ abhängig vom Zusammenhang optional als „bei einer Feststellung“ oder „ansprechend auf eine Feststellung“ oder „bei einer Erkennung [der erwähnten Bedingung oder des erwähnten Ereignisses]“ oder „ansprechend auf eine Erkennung [der erwähnten Bedingung oder des erwähnten Ereignisses]“ bedeutend ausgelegt werden.
  • Hier bezeichnet ein AV-System das AV zusammen mit einer Anordnung von Hardware, Software, gespeicherten Daten und in Echtzeit erzeugten Daten, wodurch der Betrieb des AVs unterstützt wird. Gemäß einer Ausfuhrungsform ist das AV-System in ein AV aufgenommen. Gemäß einer Ausfuhrungsform ist das AV-System über mehrere Orte verteilt. Beispielsweise wird ein Teil der Software des AV-Systems auf einer Cloud-Rechenumgebung implementiert, die einer nachstehend mit Bezug auf 3 beschriebenen Cloud-Rechenumgebung 300 ähnelt.
  • Dieses Dokument beschreibt generell Technologien, die auf Fahrzeuge anwendbar sind, die wenigstens eine Autonomiefähigkeit aufweisen, einschließlich vollständiger AVs, hochgradig autonomer Fahrzeuge und bedingt autonomer Fahrzeuge, wie jeweilige so genannte Level-5-, Level-4- und Level-3-Fahrzeuge (siehe SAE International's Standard J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems, der für weitere Einzelheiten über die Klassifikation von Autonomieniveaus in Fahrzeugen durch Verweis in seiner Gesamtheit aufgenommen wird). Die in diesem Dokument beschriebenen Technologien sind auch auf teilweise autonome Fahrzeuge und fahrerunterstützte Fahrzeuge anwendbar, wie so genannte Level-2- und Level-1-Fahrzeuge (siehe SAE International's Standard J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems). Gemäß einer Ausführungsform kann wenigstens eines der Level-1-, 2-, 3-, 4- und 5-Fahrzeugsysteme bestimmte Fahrzeugoperationen (beispielsweise Lenken, Bremsen und Verwenden von Karten) auf der Grundlage der Verarbeitung von Sensoreingaben unter bestimmten Betriebsbedingungen automatisieren. Die in diesem Dokument beschriebenen Technologien können Fahrzeuge auf allen Niveaus, die von vollständig autonomen Fahrzeugen bis zu personenbetriebenen Fahrzeugen reichen, begünstigen.
  • Mit Bezug auf 1 sei bemerkt, dass ein AV-System 120 das AV 100 entlang einer Fahrstrecke 198 durch eine Umgebung 190 zu einem Bestimmungsort 199 (manchmal als endgültiger Ort bezeichnet) betreibt, während es Objekte vermeidet (beispielsweise natürliche Hindernisse 191, Fahrzeuge 193, Fußgänger 192, Radfahrer und andere Hindernisse) und Straßenregeln gehorcht (beispielsweise Regeln für den Betrieb oder Farbpräferenzen).
  • Gemäß einer Ausführungsform weist das AV-System 120 Vorrichtungen 101 auf, die dafür eingerichtet sind, Betriebsbefehle von den Computerprozessoren 146 zu empfangen und anhand dieser zu arbeiten. Gemäß einer Ausführungsform ähneln Rechenprozessoren 146 dem nachstehend mit Bezug auf 3 beschriebenen Prozessor 304. Beispiele von Vorrichtungen 101 aufweisen eine Lenksteuerung 102, Bremsen 103, Getriebe, das Beschleunigungspedal oder andere Beschleunigungssteuermechanismen, Scheibenwischer, Seitentürverriegelungen, Fenstersteuerungen und Abbiegeindikatoren.
  • Gemäß einer Ausführungsform weist das AV-System 120 Sensoren 121 zum Messen oder Ableiten von Eigenschaften des Zustands oder der Bedingung des AVs 100 in der Art der Position, der Lineargeschwindigkeit und -beschleunigung, der Winkelgeschwindigkeit und -beschleunigung und der Fahrtrichtung (beispielsweise Orientierung des vorderen Endes des AVs 100) des AVs auf. Beispiele von Sensoren 121 sind Sensoren des globalen Navigationssatellitensystems (GNSS), Trägheitsmesseinheiten (IMU), die sowohl Fahrzeuglinearbeschleunigungen als auch Winkelraten messen, Radsensoren zum Messen oder Schätzen von Radschlupfverhältnissen, Radbremsdruck- oder Bremsdrehmomentsensoren, Motordrehmoment- oder Raddrehmomentsensoren und Lenkwinkel- und Winkelratensensoren.
  • Gemäß einer Ausführungsform schließen die Sensoren 121 auch Sensoren zum Erfassen oder Messen von Eigenschaften der Umgebung des AVs ein. Beispiele sind Monokular- oder Stereovideokameras 122 im sichtbaren Licht, im Infrarot- oder im thermischen Spektrum (oder beiden), LiDAR 123, RADAR, Ultraschallsensoren, Flugzeit(TOF)-Tiefensensoren, Geschwindigkeitssensoren, Temperatursensoren, Feuchtigkeitssensoren und Niederschlagssensoren.
  • Gemäß einer Ausfuhrungsform weist das AV-System 120 eine Datenspeichereinheit 142 und einen Speicher 144 zum Speichern von Maschinenbefehlen in Zusammenhang mit Computerprozessoren 146 oder durch Sensoren 121 gesammelten Daten auf. Gemäß einer Ausführungsform ähnelt die Datenspeichereinheit 142 dem ROM 308 oder der Speichervorrichtung 310, wie nachstehend in Bezug auf 3 beschrieben. Gemäß einer Ausführungsform ähnelt der Speicher 144 dem nachstehend beschriebenen Hauptspeicher 306. Gemäß einer Ausführungsform speichern die Datenspeichereinheit 142 und der Speicher 144 historische, Echtzeit- und/oder vorhersagende Informationen über die Umgebung 190. Gemäß einer Ausführungsform aufweisen die gespeicherten Informationen Karten, Fahrleistung, Verkehrsstauaktualisierungen oder Wetterbedingungen. Gemäß einer Ausführungsform werden Daten in Bezug auf die Umgebung 190 über einen Kommunikationskanal von einer fernen Datenbank 134 zum AV 100 gesendet.
  • Gemäß einer Ausführungsform weist das AV-System 120 Kommunikationsvorrichtungen 140 zur Übermittlung gemessener oder abgeleiteter Eigenschaften anderer Fahrzeugzustände und Bedingungen in der Art von Positionen, Linear- und Winkelgeschwindigkeiten, Linear- und Winkelbeschleunigungen und Linear- und Winkelfahrtrichtungen zum AV 100 auf. Diese Vorrichtungen aufweisen Fahrzeug-zu-Fahrzeug(V2V)- und Fahrzeug-zu-Infrastruktur(V2I)-Kommunikationsvorrichtungen und Vorrichtungen zur Drahtloskommunikation über Punkt-zu-Punkt- oder Ad-hoc-Netze oder beide. Gemäß einer Ausführungsform kommunizieren die Kommunikationsvorrichtungen 140 über das elektromagnetische Spektrum (einschließlich Funk- und optischer Kommunikationen) oder andere Medien (beispielsweise Luft- und akustische Medien). Eine Kombination von Fahrzeug-zu-Fahrzeug(V2V)- und Fahrzeug-zu-Infrastruktur(V2I)-Kommunikation (und gemäß einer Ausführungsform wenigstens einem anderen Kommunikationstyp) wird manchmal als Fahrzeug-zu-alles(V2X)-Kommunikation bezeichnet. Die V2X-Kommunikation genügt typischerweise wenigstens einem Kommunikationsstandard für die Kommunikation mit, zwischen und unter autonomen Fahrzeugen.
  • Gemäß einer Ausführungsform weisen die Kommunikationsvorrichtungen 140 Kommunikationsschnittstellen auf. Beispiele sind festverdrahtete, drahtlose, WiMAX-, Wi-Fi-, Bluetooth-, Satelliten-, Mobilfunk-, optische, Nahfeld-, Infrarot- oder Funkschnittstellen. Die Kommunikationsschnittstellen senden Daten von einer fernen Datenbank 134 zum AV-System 120. Gemäß einer Ausführungsform ist die ferne Datenbank 134 in eine in 2 beschriebene Cloud-Rechenumgebung 200 eingebettet. Die Kommunikationsschnittstellen 140 senden von Sensoren 121 gesammelte oder andere Daten in Bezug auf den Betrieb des AVs 100 zur fernen Datenbank 134. Gemäß einer Ausführungsform senden Kommunikationsschnittstellen 140 Informationen, die sich auf Teleoperationen beziehen, zum AV 100. Gemäß einer Ausführungsform kommuniziert das AV 100 mit anderen fernen (beispielsweise „Cloud“-) Servern 136.
  • Gemäß einer Ausführungsform speichert und sendet die ferne Datenbank 134 auch digitale Daten (beispielsweise Daten in der Art von Straßen- und Stadtstraßenorten). Diese Daten werden im Speicher 144 am AV 100 gespeichert oder über einen Kommunikationskanal von der fernen Datenbank 134 zum AV 100 gesendet.
  • Gemäß einer Ausführungsform speichert und sendet die ferne Datenbank 134 historische Informationen über Fahreigenschaften (beispielsweise Geschwindigkeits- und Beschleunigungsprofile) von Fahrzeugen, die zuvor zu ähnlichen Tageszeiten entlang der Fahrstrecke 198 gefahren sind. Bei einer Implementation können diese Daten im Speicher 144 am AV 100 gespeichert werden oder über einen Kommunikationskanal von der fernen Datenbank 134 zum AV 100 gesendet werden.
  • Rechenvorrichtungen 146, die sich am AV 100 befinden, erzeugen algorithmisch Steueraktionen auf der Grundlage sowohl von Echtzeit-Sensordaten als auch vorhergehender Informationen, wodurch es dem AV-System 120 ermöglicht wird, seine autonomen Fahrfähigkeiten auszuführen.
  • Gemäß einer Ausführungsform weist das AV-System 120 Computerperipheriegeräte 132 auf, die mit Rechenvorrichtungen 146 gekoppelt sind, um einem Benutzer (beispielsweise einem Insassen oder einem fernen Benutzer) des AVs 100 Informationen und Warnungen bereitzustellen und eine Eingabe davon zu empfangen. Gemäß einer Ausführungsform ähneln Peripheriegeräte 132 der Anzeige 312, der Eingabevorrichtung 314 und der Cursorsteuereinrichtung 316, wie nachstehend mit Bezug auf 3 erörtert. Die Kopplung ist drahtlos oder verdrahtet. Jegliche zwei oder mehr der Schnittstellenvorrichtungen können in eine einzige Vorrichtung integriert werden.
  • Beispielhafte Cloud-Rechenumgebung
  • 2 ist ein Blockdiagramm, das eine beispielhafte „Cloud“-Rechenumgebung gemäß wenigstens einer Ausführungsform zeigt. Cloud-Computing ist ein Modell der Dienstauslieferung zum Ermöglichen eines zweckmäßigen auf Anforderung erfolgenden Netzzugriffs auf einen geteilten Pool konfigurierbarer Rechenressourcen (beispielsweise Netze, Netzbandbreite, Server, Verarbeitung, Speicher, Massenspeicher, Anwendungen, virtuelle Maschinen und Dienste). In typischen Cloud-Rechensystemen nimmt wenigstens ein großes Cloud-Rechenzentrum die Maschinen auf, die zur Auslieferung der durch die Cloud bereitgestellten Dienste verwendet werden. Mit Bezug auf 2 sei nun bemerkt, dass die Cloud-Rechenumgebung 200 Cloud-Rechenzentren 204a, 204b und 204c aufweist, die durch die Cloud 202 miteinander verbunden sind. Die Rechenzentren 204a, 204b und 204c stellen Computersystemen 206a, 206b, 206c, 206d, 206e und 206f, die mit der Cloud 202 verbunden sind, Cloud-Rechendienste bereit.
  • Die Cloud-Rechenumgebung 200 weist wenigstens ein Cloud-Rechenzentrum auf. Ein Cloud-Rechenzentrum, beispielsweise das in 2 dargestellte Cloud-Rechenzentrum 204a, bezieht sich allgemein auf die physische Anordnung der eine Cloud, beispielsweise die in 2 dargestellte Cloud 202, oder einen bestimmten Teil einer Cloud bildenden Server. Beispielsweise sind Server im Cloud-Rechenzentrum physisch in Räumen, Gruppen, Reihen und Racks angeordnet. Ein Cloud-Rechenzentrum weist wenigstens eine Zone auf, die wenigstens einen Serverraum aufweist. Jeder Raum weist wenigstens eine Serverreihe auf, und jede Reihe weist wenigstens ein Rack auf. Jedes Rack weist wenigstens einen individuellen Serverknoten auf. Gemäß einigen Implementationen sind Server in Zonen, Räumen, Racks und/oder Reihen auf der Grundlage physischer Infrastrukturanforderungen der Rechenzentrumsanlage, welche Leistungs-, Energie-, thermische, Wärme- und/oder andere Anforderungen einschließen, in Gruppen angeordnet. Gemäß einer Ausführungsform ähneln die Serverknoten dem in 3 beschriebenen Computersystem. Das Rechenzentrum 204a weist viele über viele Racks verteilte Rechensysteme auf.
  • Die Cloud 202 weist Cloud-Rechenzentren 204a, 204b und 204c zusammen mit den Netz- und Vernetzungsressourcen (beispielsweise Vernetzungsgeräte, Nodes, Router, Switches und Vernetzungskabel), welche die Cloud-Rechenzentren 204a, 204b und 204c verbinden und dabei helfen, den Zugriff der Rechensysteme 206a-f auf Cloud-Rechendienste zu ermöglichen, auf. Gemäß einer Ausführungsform repräsentiert das Netz eine Kombination wenigstens eines lokalen Netzes, Weitbereichsnetzes oder Internetsystems, die unter Verwendung festverdrahteter oder drahtloser Links, die unter Verwendung drahtgestützter oder Satellitenverbindungen erzeugt werden, gekoppelt sind. Über das Netz ausgetauschte Daten werden unter Verwendung einer Anzahl von Netzschichtprotokollen in der Art des Internetprotokolls (IP), Multiprotocol Label Switching (MPLS), asynchroner Übertragungsmodus (ATM), Frame Relay usw. übertragen. Ferner werden bei Ausführungsformen, bei denen das Netz eine Kombination mehrerer Subnetze repräsentiert, verschiedene Netzschichtprotokolle an jedem der darunter liegenden Subnetze verwendet. Gemäß einer Ausführungsform repräsentiert das Netz wenigstens ein verbundenes Internetsystem in der Art des öffentlichen Internets.
  • Die Kunden der Rechensysteme 206a-f oder Cloud-Rechendienste werden durch Netz-Links und Netzadapter mit der Cloud 202 verbunden. Gemäß einer Ausführungsform sind die Rechensysteme 206a-f als verschiedene Rechenvorrichtungen, beispielsweise Server, Desktops, Laptops, Tablets, Smartphones, Internet-der-Dinge(IoT)-Vorrichtungen, autonome Fahrzeuge (einschließlich Personenwagen, Drohnen, Shuttles, Züge, Busse usw.) und Endverbraucherelektronik implementiert. Gemäß einer Ausführungsform sind die Rechensysteme 206a-f in anderen Systemen oder als Teil davon implementiert.
  • Computersystem
  • 3 ist ein Blockdiagramm, das ein Computersystem 300 gemäß wenigstens einer Ausführungsform zeigt. Bei einer Implementation ist das Computersystem 300 eine Rechenvorrichtung für spezielle Zwecke. Die Rechenvorrichtung für spezielle Zwecke ist festverdrahtet, um die Techniken auszuführen, oder sie weist digitale elektronische Vorrichtungen in der Art wenigstens eines ASICs oder feldprogrammierbaren Gate-Arrays (FPGA) auf, die permanent programmiert sind, um die Techniken auszuführen, oder sie kann wenigstens einen Hardwareprozessor für allgemeine Zwecke aufweisen, der programmiert ist, um die Techniken gemäß Programmbefehlen in Firmware, im flüchtigen Speicher oder einem anderen Speicher oder einer Kombination davon auszuführen. Diese Rechenvorrichtungen für spezielle Zwecke können auch eine eigens eingerichtete festverdrahtete Logik, ASICs oder FPGAs mit eigens eingerichteter Programmierung kombinieren, um die Techniken auszuführen. Gemäß verschiedenen Ausführungsformen sind die Rechenvorrichtungen für spezielle Zwecke Desktopcomputersysteme, tragbare Computersysteme, handgehaltene Vorrichtungen, Netzvorrichtungen oder eine andere Vorrichtung, die eine festverdrahtete und/oder Programmlogik aufweist, um die Techniken zu implementieren.
  • Gemäß einer Ausführungsform weist das Computersystem 300 einen Bus 302 oder einen anderen Kommunikationsmechanismus zur Übermittlung von Informationen und einen mit einem Bus 302 gekoppelten Hardwareprozessor 304 zur Verarbeitung von Informationen auf. Der Hardwareprozessor 304 ist beispielsweise ein Mikroprozessor für allgemeine Zwecke. Das Computersystem 300 weist auch einen Hauptspeicher 306 in der Art eines RAMs oder einer anderen dynamischen Speichervorrichtung auf, die mit dem Bus 302 gekoppelt ist, um Informationen und Befehle, die durch den Prozessor 304 auszuführen sind, zu speichern. Bei einer Implementation wird der Hauptspeicher 306 zum Speichern temporärer Variablen oder anderer Zwischeninformationen während der Ausführung durch den Prozessor 304 auszuführender Befehle verwendet. Diese Befehle machen, wenn sie in einem für den Prozessor 304 zugänglichen nichtflüchtigen Speichermedium gespeichert werden, das Computersystem 300 zu einer Maschine für spezielle Zwecke, die eigens dafür eingerichtet ist, die in den Befehlen spezifizierten Operationen auszuführen.
  • Gemäß einer Ausführungsform weist das Computersystem 300 ferner einen Nurlesespeicher (ROM) 308 oder eine andere mit dem Bus 302 gekoppelte statische Speichervorrichtung zum Speichern statischer Informationen und Befehle für den Prozessor 304 auf. Eine Speichervorrichtung 310 in der Art einer Magnetplatte, einer optischen Scheibe, eines Halbleiterlaufwerks oder eines dreidimensionalen Cross-Point-Speichers ist für den Bus 302 für das Speichern von Informationen und Befehlen bereitgestellt und damit gekoppelt.
  • Gemäß einer Ausführungsform ist das Computersystem 300 über den Bus 302 mit einer Anzeige 312 in der Art einer Kathodenstrahlröhre (CRT), einer Flüssigkristallanzeige (LCD), einer Plasmaanzeige, einer Leuchtdioden(LED)-Anzeige oder einer Organische-Leuchtdioden(OLED)-Anzeige gekoppelt, um einem Computerbenutzer Informationen zu zeigen. Eine Eingabevorrichtung 314, die alphanumerische und andere Tasten aufweist, ist mit dem Bus 302 gekoppelt, um Informationen und Befehlsauswahlen zum Prozessor 304 zu übermitteln. Ein anderer Typ einer Benutzereingabevorrichtung ist eine Cursorsteuereinrichtung 316 in der Art einer Maus, eines Trackballs, einer berührungsfähigen Anzeige oder von Cursorrichtungstasten zur Übermittlung von Richtungsinformationen und Befehlsauswahlen zum Prozessor 304 und zum Steuern der Cursorbewegung auf der Anzeige 312. Diese Eingabevorrichtung weist typischerweise zwei Freiheitsgrade in zwei Achsen, nämlich einer ersten Achse (beispielsweise x-Achse) und einer zweiten Achse (beispielsweise y-Achse), auf, wodurch es der Vorrichtung ermöglicht wird, Positionen in einer Ebene zu spezifizieren.
  • Gemäß einer Ausführungsform werden die hier dargelegten Techniken ansprechend darauf durch das Computersystem 300 ausgeführt, dass der Prozessor 304 wenigstens eine Sequenz wenigstens eines im Hauptspeicher 306 enthaltenen Befehls ausführt. Diese Befehle werden aus einem anderen Speichermedium in der Art der Speichervorrichtung 310 in den Hauptspeicher 306 gelesen. Die Ausführung der Sequenzen der im Hauptspeicher 306 enthaltenen Befehle veranlasst den Prozessor 304, die hier beschriebenen Prozesselemente auszuführen. Gemäß alternativen Ausführungsformen wird eine festverdrahtete Schaltungsanordnung an Stelle von Softwarebefehlen oder in Kombination damit verwendet.
  • Der hier verwendete Begriff „Speichermedien“ bezeichnet nichtflüchtige Medien, die Daten und/oder Befehle speichern, welche eine Maschine veranlassen, in einer spezifischen Weise zu arbeiten. Diese Speichermedien schließen nichtflüchtige und/oder flüchtige Medien ein. Nichtflüchtige Medien schließen beispielsweise optische Scheiben, Magnetplatten, Halbleiterlaufwerke oder einen dreidimensionalen Cross-Point-Speicher in der Art der Speichervorrichtung 310 ein. Flüchtige Medien schließen einen dynamischen Speicher in der Art des Hauptspeichers 306 ein. Übliche Formen von Speichermedien schließen beispielsweise eine Diskette, eine flexible Scheibe, eine Festplatte, ein Halbleiterlaufwerk, ein Magnetband oder einen anderen Typ eines magnetischen Datenspeichermediums, eine CD-ROM, ein anderes optisches Datenspeichermedium, ein physisches Medium mit Lochmustern, einen RAM, einen PROM und einen EPROM, einen FLASH-EPROM, NV-RAM oder einen anderen Speicherchip oder einen anderen Speichereinsatz ein.
  • Speichermedien unterscheiden sich von Übertragungsmedien, können jedoch zusammen mit diesen verwendet werden. Übertragungsmedien nehmen an der Übertragung von Informationen zwischen Speichermedien teil. Beispielsweise schließen Übertragungsmedien Koaxialkabel, Kupferdraht und Faseroptiken, einschließlich der Drähte, die den Bus 302 aufweisen, ein. Übertragungsmedien können auch die Form akustischer Wellen oder von Lichtwellen in der Art jener, die während Funkwellen- und Infrarot-Datenkommunikationen erzeugt werden, annehmen.
  • Gemäß einer Ausführungsform sind verschiedene Medienformen daran beteiligt, wenigstens eine Sequenz wenigstens eines Befehls zur Ausführung zum Prozessor 304 zu übertragen. Beispielsweise werden die Befehle anfänglich auf eine Magnetplatte oder ein Halbleiterlaufwerk eines fernen Computers übertragen. Der ferne Computer lädt die Befehle in seinen dynamischen Speicher und sendet sie unter Verwendung eines Modems über eine Telefonleitung. Ein am Computersystem 300 lokales Modem empfängt die Daten auf der Telefonleitung und verwendet einen Infrarotsender, um die Daten in ein Infrarotsignal zu wandeln. Ein Infrarotdetektor empfängt die im Infrarotsignal übertragenen Daten, und eine geeignete Schaltungsanordnung gibt die Daten auf den Bus 302. Der Bus 302 überträgt die Daten zum Hauptspeicher 306, von wo aus der Prozessor 304 die Befehle abruft und ausführt. Die vom Hauptspeicher 306 empfangenen Befehle können optional entweder vor oder nach der Ausführung durch den Prozessor 304 auf der Speichervorrichtung 310 gespeichert werden.
  • Das Computersystem 300 weist auch eine mit dem Bus 302 gekoppelte Kommunikationsschnittstelle 318 auf. Die Kommunikationsschnittstelle 318 stellt eine Zweiwege-Datenkommunikation bereit, die mit einem Netz-Link 320 koppelt, der mit einem lokalen Netz 322 verbunden ist. Beispielsweise ist die Kommunikationsschnittstelle 318 eine Integrated-Service-Digital-Network(ISDN)-Karte, ein Kabelmodem, ein Satellitenmodem oder ein Modem zur Bereitstellung einer Datenkommunikationsverbindung mit einem entsprechenden Typ einer Telefonleitung. Bei einem anderen Beispiel ist die Kommunikationsschnittstelle 318 eine Lokales-Netz(LAN)-Karte zur Bereitstellung einer Datenkommunikationsverbindung zu einem kompatiblen LAN. Bei einigen Implementationen sind auch Drahtlos-Links implementiert. Bei jeglichen solchen Implementationen sendet und empfängt die Kommunikationsschnittstelle 318 elektrische, elektromagnetische oder optische Signale, die verschiedene Informationstypen repräsentierende digitale Datenströme übertragen.
  • Der Netz-Link 320 stellt typischerweise eine Datenkommunikation über wenigstens ein Netz zu anderen Datenvorrichtungen bereit. Beispielsweise stellt der Netz-Link 320 eine Verbindung durch das lokale Netz 322 zu einem Host-Computer 324 oder zu einem Cloud-Rechenzentrum oder einem durch einen Internet-Dienstanbieter (ISP) 326 betriebenen Gerät bereit. Der ISP 326 stellt wiederum Datenkommunikationsdienste durch das nun üblicherweise als „Internet“ 328 bezeichnete weltweite Paketdaten-Kommunikationsnetz bereit. Das lokale Netz 322 und das Internet 328 verwenden beide elektrische, elektromagnetische oder optische Signale, die digitale Datenströme übertragen. Die über die verschiedenen Netze übertragenen Signale und die Signale auf dem Netz-Link 320 und die durch die Kommunikationsschnittstelle 318 übertragenen Signale, wodurch die digitalen Daten zum Computersystem 300 und von diesem übertragen werden, sind beispielhafte Formen von Übertragungsmedien. Gemäß einer Ausführungsform enthält das Netz 320 die Cloud 202 oder einen Teil der Cloud 202, wie vorstehend beschrieben.
  • Das Computersystem 300 sendet Nachrichten und empfängt Daten, einschließlich Programmcode, über das Netz (die Netze), den Netz-Link 320 und die Kommunikationsschnittstelle 318. Gemäß einer Ausführungsform empfängt das Computersystem 300 Code zur Verarbeitung. Der empfangene Code wird durch den Prozessor 304 ausgeführt, wenn er empfangen wird, und/oder zur späteren Ausführung in der Speichervorrichtung 310 oder einem anderen nichtflüchtigen Speicher gespeichert.
  • Autonomes-Fahrzeug-Architektur
  • 4 ist ein Blockdiagramm, das eine beispielhafte Architektur 400 für ein AV (beispielsweise das in 1 dargestellte AV 100) gemäß wenigstens einer Ausführungsform zeigt. Die Architektur 400 weist ein Wahrnehmungsmodul 402 (manchmal als Wahrnehmungsschaltung bezeichnet), ein Planungsmodul 404 (manchmal als Planungsschaltung bezeichnet), ein Steuermodul 406 (manchmal als Steuerschaltung bezeichnet), ein Lokalisierungsmodul 408 (manchmal als Lokalisierungsschaltung bezeichnet) und ein Datenbankmodul 410 (manchmal als Datenbankschaltung bezeichnet) auf. Jedes Modul spielt eine Rolle beim Betrieb des AVs 100. Zusammen können die Module 402, 404, 406, 408 und 410 Teil des in 1 dargestellten AV-Systems 120 sein. Gemäß einer Ausführungsform ist eines der Module 402, 404, 406, 408 und 410 eine Kombination von Computersoftware (beispielsweise auf einem computerlesbaren Medium gespeicherten ausführbaren Codes) und Computerhardware (beispielsweise wenigstens einen Mikroprozessor, wenigstens eine Mikrosteuereinrichtung oder wenigstens eine anwendungsspezifische integrierte Schaltung [ASIC]), Hardwarespeichervorrichtungen, anderen Typen integrierter Schaltungen, anderen Typen von Computerhardware oder eine Kombination jeglicher oder aller dieser Dinge).
  • Bei der Verwendung empfängt das Planungsmodul 404 Daten, die einen Bestimmungsort 412 repräsentieren, und bestimmt Daten, die eine Fahrstrecke 414 (manchmal als Route bezeichnet) repräsentieren, welche vom AV 100 durchfahren werden kann, um den Bestimmungsort 412 zu erreichen (beispielsweise an diesem anzukommen). Damit das Planungsmodul 404 die Daten bestimmen kann, welche die Fahrstrecke 414 repräsentieren, empfängt das Planungsmodul 404 Daten vom Wahrnehmungsmodul 402, vom Lokalisierungsmodul 408 und vom Datenbankmodul 410.
  • Das Wahrnehmungsmodul 402 identifiziert nahe gelegene physische Objekte unter Verwendung wenigstens eines Sensors 121, wie beispielsweise auch in 1 dargestellt. Die Objekte werden klassifiziert (beispielsweise in Typen wie Fußgänger, Fahrrad, Kraftfahrzeug, Verkehrszeichen usw. gruppiert), und es wird eine die klassifizierten Objekte 416 aufweisende Szenenbeschreibung dem Planungsmodul 404 bereitgestellt.
  • Das Planungsmodul 404 empfängt auch Daten, welche die AV-Position 418 repräsentieren, vom Lokalisierungsmodul 408. Das Lokalisierungsmodul 408 bestimmt die AV-Position unter Verwendung von Daten von den Sensoren 121 und Daten vom Datenbankmodul 410 (beispielsweise geographische Daten), um eine Position zu berechnen. Beispielsweise verwendet das Lokalisierungsmodul 408 Daten von einer GNSS-Einheit und geographische Daten zur Berechnung der Länge und der Breite des AVs. Gemäß einer Ausführungsform aufweisen vom Lokalisierungsmodul 408 verwendete Daten Karten hoher Genauigkeit der geometrischen Eigenschaften entlang dem Weg, Karten, die Straßennetz-Verbindbarkeitseigenschaften beschreiben, Karten, die physische Eigenschaften des Wegs beschreiben (wie Verkehrsgeschwindigkeit, Verkehrsaufkommen, die Anzahl von Fahrzeug- und Radfahrer-Verkehrsspuren, Fahrspurbreite, Fahrspur-Verkehrsrichtungen oder Fahrspur-Markierungstypen und -orte oder Kombinationen von ihnen) und Karten, welche die räumlichen Orte von Straßenmerkmalen in der Art von Fußgängerüberwegen, Verkehrszeichen oder anderen Verkehrssignalen verschiedener Typen beschreiben.
  • Das Steuermodul 406 empfängt die Daten, welche die Fahrstrecke 414 repräsentieren, und die Daten, welche die AV-Position 418 repräsentieren, und führt die Steuerfunktionen 420a-c (beispielsweise Lenken, Drosseln, Bremsen, Zündung) des AVs derart aus, dass das AV 100 veranlasst wird, entlang der Fahrstrecke 414 zum Bestimmungsort 412 zu fahren. Falls die Fahrstrecke 414 beispielsweise eine Abbiegung nach links aufweist, führt das Steuermodul 406 die Steuerfunktionen 420a-c so aus, dass der Lenkwinkel der Lenkfunktion das AV 100 veranlasst, nach links abzubiegen, und das Drosseln und das Bremsen das AV 100 veranlassen, zu halten und auf das Passieren von Fußgängern oder Fahrzeugen zu warten, bevor die Abbiegung vorgenommen wird.
  • Sitzungsschlüsselerzeugung für AV-Betrieb
  • 5 ist ein Flussdiagramm, das einen beispielhaften Prozess zur Sitzungsschlüsselerzeugung für den Betrieb von AVs gemäß wenigstens einer Ausführungsform zeigt. Wenigstens ein unter Verwendung des Prozesses betriebenes AV gleicht oder ähnelt dem in weiteren Einzelheiten mit Bezug auf 1 dargestellten und beschriebenen AV 100. Gemäß einer Ausführungsform wird der Prozess aus 5 durch ein Fahrzeug-Dienstanbietersystem ausgeführt. Das Fahrzeug-Dienstanbietersystem gleicht oder ähnelt dem in weiteren Einzelheiten mit Bezug auf 7 dargestellten und beschriebenen AV-Dienstanbietersystem 704. Andere Entitäten, beispielsweise ein Server oder ein Computersystem, führen einige oder alle der Elemente des Prozesses gemäß anderen Ausführungsformen aus. Der Server gleicht oder ähnelt beispielsweise dem Server 136, und das Computersystem gleicht oder ähnelt beispielsweise dem Computersystem 300. Es sei bemerkt, dass die Ausführungsform aus 5 als ein beispielhafter Prozess vorgesehen ist und dass andere Ausführungsformen andere Elemente, mehr oder weniger Elemente oder in einer anderen Reihenfolge ausgeführte Elemente aufweisen.
  • Hier bezieht sich ein Fahrzeug-Dienstanbietersystem auf ein Computersystem, das ein Leih-AV bereitstellt, das von einem einzigen Fahrgast oder einer Gruppe von Fahrgästen entweder für eine nicht geteilte Fahrt oder für eine fahrgemeinschaftliche (geteilte) Fahrt zu verwenden ist. Das Fahrzeug-Dienstanbietersystem wird unter Verwendung wenigstens eines Prozessors, beispielsweise des Prozessors 304, implementiert. Das Fahrzeug-Dienstanbietersystem befördert Fahrgäste in einem AV zwischen Orten ihrer Wahl. Gemäß einer Ausführungsform verleiht ein Fahrzeug-Dienstanbietersystem AVs für kurze Zeiträume, die im Allgemeinen von einigen Stunden bis zu einigen Wochen reichen. Ein Fahrzeug-Dienstanbietersystem dient Fahrgästen, die ein temporäres Fahrzeug benötigen, beispielsweise solchen, die kein eigenes Kraftfahrzeug besitzen, Reisenden, die fern von zuhause sind, oder Eigentümern beschädigter oder zerstörter Fahrzeuge, die auf eine Reparatur oder Versicherungsentschädigung warten. Gemäß einer Ausführungsform verleiht ein Fahrzeug-Dienstanbietersystem autonome Kleinlaster oder Lieferwagen zur Bewegung von Waren. Ein Fahrzeug-Dienstanbietersystem wird unter Verwendung der Komponenten des mit Bezug auf 3 in weiteren Einzelheiten dargestellten und beschriebenen beispielhaften Computersystems 300 implementiert. Gemäß einer Ausführungsform wirkt ein Fahrzeug-Dienstanbietersystem als Fahrgemeinschaftsanbieter für AVs, beispielsweise ein System, das über Webseiten und mobile Apps Fahrgäste mit Leih-AVs abgleicht.
  • Ein hier beschriebenes Fahrzeug-Dienstteilnehmersystem bezieht sich auf ein Computersystem, das auf eine Kommunikation von einem Fahrzeug-Dienstanbietersystem für eine Fahrtanforderung oder eine Bereitstellung einer AV-Fahrt für einen Fahrzeug-Dienstteilnehmer antwortet, in einem AV, das dem Fahrzeug-Dienstanbietersystem zugeordnet ist. Gemäß einer Ausführungsform gleicht oder ähnelt das Fahrzeug-Dienstteilnehmersystem dem AV-Dienstteilnehmersystem 708. Gemäß einer Ausfuhrungsform wird eine AV-Fahrt unter Verwendung einer auf einem Fahrzeug-Dienstteilnehmersystem laufenden mobilen App angefordert. Gemäß einer Ausführungsform ist ein Fahrzeug-Dienstteilnehmersystem Teil einer mobilen Vorrichtung in der Art eines Smartphones, eines Laptops, eines Tablets oder eines persönlichen digitalen Assistenten und ist unter Verwendung der Komponenten des beispielhaften Computersystems 300 implementiert. Beispielsweise richtet ein Fahrzeug-Dienstteilnehmer (beispielsweise eine mobile App oder ein Benutzer) ein persönliches Profil mit einem Namen, einer Telefonnummer, anderen Informationen oder einer Zahlungspräferenz auf einem Fahrzeug-Dienstteilnehmersystem ein.
  • Gemäß einer alternativen oder zusätzlichen Ausführungsform ist der Fahrzeug-Dienstanbieter ein Sensor in der Art eines der Sensoren 121. Das Fahrzeug-Dienstteilnehmersystem ist ein Hochleistungs-Rechenknoten (oder eine darauf laufende Aufgabe), welcher die vom Sensor bereitgestellten Daten verwendet. Ein Beispiel eines solchen Rechenknotens ist der Prozessor 304. Gemäß dieser Ausführungsform würden die hier beschriebenen Sitzungsschlüssel verwendet werden, um zwischen dem Sensor und dem Prozessor ausgetauschte Nachrichten oder Daten zu schützen. Gemäß anderen Ausführungsformen könnten das Fahrzeug-Dienstanbietersystem und das Fahrzeug-Dienstteilnehmersystem mit Bezug auf andere hier enthaltene Figuren beschriebene andere fahrzeuginterne Systeme oder Elemente sein.
  • Gemäß einer Ausführungsform ist ein Fahrzeug-Dienstteilnehmersystem Teil eines AV-Systems, beispielsweise des AV-Systems 120, und beispielsweise unter Verwendung des Prozessors 146 implementiert. Beispielsweise ist das Fahrzeug-Dienstteilnehmersystem gemäß einer Ausführungsform ein auf dem Fahrzeug-Dienstteilnehmersystem oder AV-System laufender Software-Client. Ein Fahrzeug-Dienstanbietersystem kommuniziert demgemäß mit einem in ein AV-System eingebauten Fahrzeug-Dienstteilnehmersystem, so dass das AV unter Verwendung von Befehlen oder Nachrichten betrieben wird, die vom Fahrzeug-Dienstanbietersystem zum Fahrzeug-Dienstteilnehmersystem gesendet werden.
  • Für sichere Kommunikationen zwischen einem Fahrzeug-Dienstanbietersystem und einer Gruppe von Fahrzeug-Dienstteilnehmersystemen werden geschützte Nachrichten für den Nachrichtenaustausch verwendet. Die geschützte Nachricht kann beispielsweise eine Black-Channel-Nachricht sein. Hier vorgestellte Ausführungsformen werden mit Bezug auf das spezifische Beispiel einer Black-Channel-Nachricht beschrieben, es ist jedoch zu verstehen, dass andere Ausführungsformen einen anderen Verschlüsselungs- oder Schutzprotokolltyp aufweisen können.
  • Unter Verwendung von Black-Channel-Nachrichten werden sicherheitsrelevante Daten sowie diagnostische Informationen über existierende Netzverbindungen, beispielsweise ein lokales Netz 322 oder das Internet 328, ausgetauscht. Das Fahrzeug-Dienstanbietersystem überträgt einen Salt für die Erzeugung von Sitzungsschlüsseln für eine Kommunikationssitzung zu einem oder mehreren Fahrzeug-Dienstteilnehmersystemen. Wie vorstehend beschrieben, bezieht sich „Salt“ auf zufällige oder pseudozufällige Daten, die von einem Fahrzeug-Dienstanbietersystem erzeugt und von jedem Fahrzeug-Dienstteilnehmersystem verwendet werden, um Sitzungsschlüssel zu berechnen. Beispielsweise verwendet ein Fahrzeug-Dienstteilnehmersystem den Salt als Eingabe in eine Funktion, die vorgeteilte Daten in der Art von Schlüsseln, Daten, eines Passworts oder einer Passphrase einer Hash-Operation unterzieht.
  • Die Sitzungsschlüssel werden verwendet, um zwischen einem Fahrzeug-Dienstanbietersystem und den Fahrzeug-Dienstteilnehmersystemen übertragene Nachrichten zu authentifizieren, zu decodieren oder zu entschlüsseln (beispielsweise Black-Channel-Nachrichten). Eine Black-Channel-Nachricht dient dazu, einem Fahrgast (einem Fahrzeug-Dienstteilnehmer) in einem AV, das einem Fahrzeug-Dienstanbietersystem zugeordnet ist, eine Fahrt bereitzustellen. Beispielsweise weist eine Black-Channel-Nachricht geographische Daten in Bezug auf den Anfangspunkt einer AV-Fahrt, geographische Daten in Bezug auf den Bestimmungsort einer AV-Fahrt, die Anzahl der Passagiere einer AV-Fahrt, die Menge des von einem AV getragenen Gepäcks, Fahrgemeinschaftseinzelheiten, Routeneinzelheiten, Informationen über die Bauart und das Modell des AVs, die Identität der Fahrgäste oder Geschwindigkeitsdaten des AVs auf. Wie vorstehend beschrieben, weist eine solche Nachricht eine oder mehrere von Sensordaten, Fahrzeugdiagnostikdaten, Fahrzeugbefehlen, Fahrzeugzustandsdaten oder Daten anderen Typs auf.
  • Die hier offenbarten Ausführungsformen verhindern Replay-Angriffe durch eine bösartige Entität, indem es jedem Fahrzeug-Dienstanbietersystem ermöglicht wird, eine Entropie für den Salt zu erzeugen und beizutragen. Eine Replay-Angriff bezieht sich auf einen Netzangriff, bei dem eine gültige Datenübertragung (beispielsweise eine Black-Channel-Nachricht oder Salt-Nachricht) durch eine bösartige Entität bösartig oder betrügerisch wiederholt oder verzögert wird. Beispielsweise kann eine bösartige Entität, die eine für ein Fahrzeug-Dienstteilnehmersystem vorgesehene Black-Channel-Nachricht abfängt, einen Replay-Angriff unter Verwendung der Black-Channel-Nachricht als Teil eines Spoofing-Angriffs durch IP-Paketersetzung starten. Die hier offenbarten Ausführungsformen verhindern solche Angriffe durch die Verwendung der Entropie und ermöglichen es den Fahrzeug-Dienstteilnehmersystemen und dem Fahrzeug-Dienstanbietersystem auch, dieselben Sitzungsschlüssel für eine Kommunikationssitzung zu berechnen, wodurch eine übermäßige Rechenlast umgangen wird. Ausführungsformen können zusätzliche Vorteile in der Art eines Anti-Spoofings, einer Manipulationsverhinderung usw. bereitstellen.
  • Mit Bezug auf 5 sei bemerkt, dass ein Fahrzeug-Dienstanbietersystem einen Salt zur Verschlüsselung von Sitzungsschlüsseln für eine Kommunikationssitzung mit wenigstens einem Fahrzeug-Dienstteilnehmersystem erzeugt (500). Der Salt weist zufällige Bits auf, die zu einer Instanz eines Passworts (beispielsweise Sitzungsschlüsseln) hinzugefügt werden, bevor das Passwort einer Hash-Operation unterzogen wird. Gemäß einer zusätzlichen oder alternativen Ausführungsform weist der Salt vorgeteilte Daten auf, die sowohl dem Fahrzeug-Dienstanbietersystem als auch dem Fahrzeug-Dienstteilnehmersystem bekannt sind. Gemäß einer Ausführungsform wählt das Fahrzeug-Dienstanbietersystem einen Salt aus einem Entropie-Pool aus. Gemäß einer Ausführungsform bezieht sich Entropie auf ein durchschnittliches Informationsniveau, das inhärent in möglichen Werten einer Zufallsvariablen vorhanden ist. Gemäß einer anderen Ausführungsform bezieht sich Entropie auf einen Satz zufälliger Daten (beispielsweise eine Mischung zufälliger Daten von verschiedenen Quellen). Entropie repräsentiert beispielsweise eine mathematische Grenze für die verlustfreie Kompression von Daten auf einen rauschbehafteten Kanal. Der Salt wird verwendet, um eindeutige Passwörter zu erzeugen, selbst wenn das Fahrzeug-Dienstanbietersystem und jedes Fahrzeug-Dienstteilnehmersystem die gleichen vorgeteilten Daten verwenden.
  • Ein Vorteil hier offenbarter Ausführungsformen besteht darin, dass es Ausführungsformen getrennten Teilnehmern und Veröffentlichem ermöglichen, lediglich ausgehend von vorgeteilten Daten eine Übereinstimmung über eindeutige Schlüssel für verschiedene Sitzungen (beispielsweise Booten des Fahrzeugs oder wenn das Fahrzeug eine Fahrt für einen Insassen ausführt) zu erzielen. Ein anderer Vorteil hier offenbarter Ausführungsformen ist die Verhinderung von Rainbow-Tabellen-Angriffen, indem eine bösartige Entität gezwungen wird, die Sitzungsschlüssel unter Verwendung der Salts neu zu berechnen. Ein Rainbow-Tabellen-Angriff ist ein Typ eines Hacking-Angriffs, bei dem ein Täter versucht, eine Rainbow-Hash-Tabelle zu verwenden, um in einem Datenbanksystem gespeicherte Passwörter zu cracken.
  • Das Fahrzeug-Dienstanbietersystem berechnet Sitzungsschlüssel (504) unter Verwendung des Salts. Gemäß einer Ausführungsform werden die Sitzungsschlüssel unter Verwendung einer gehashten Schlüsselableitungsfunktion (HKDF), einem Eingangsschlüsselmaterial (IKM) und des Salts berechnet. Beispielsweise werden die Sitzungsschlüssel unter Verwendung einer HKDF auf der Grundlage eines Hash-basierten Nachrichtenauthentifizierungscodes (HMAC) bestimmt. Ein Sitzungsschlüssel ist ein Verschlüsselungs- und Entschlüsselungsschlüssel, der zufällig berechnet wird, um die Sicherheit einer Kommunikationssitzung zwischen einem Fahrzeug-Dienstanbietersystem und jedem Fahrzeug-Dienstteilnehmersystem zu gewährleisten. Sitzungsschlüssel werden manchmal als symmetrische Schlüssel bezeichnet, weil derselbe Schlüssel sowohl für die Verschlüsselung als auch die Entschlüsselung von Black-Channel-Nachrichten, die zwischen dem Fahrzeug-Dienstanbietersystem und jedem Fahrzeug-Dienstteilnehmersystem übertragen werden, verwendet wird. Eine HKDF ist eine Schlüsselableitungsfunktion (KDF) auf der Grundlage eines HMACs. Eine HKDF wird als Baublock bei verschiedenen Protokollen und Anwendungen sowie zur Verhinderung der Verbreitung mehrfacher KDF-Mechanismen verwendet. Ein HMAC ist ein Typ eines Nachrichtenauthentifizierungscodes (MAC), der eine kryptographische Hash-Funktion und einen geheimen kryptographischen Schlüssel (beispielsweise einen Salt) aufweist. Gemäß einer Ausführungsform wird ein IKM, wobei es sich um eine kryptographisch starke pseudozufällige Zeichenkette handelt, für die Extraktion eines pseudozufälligen Schlüssels fester Länge verwendet. Der pseudozufällige Schlüssel fester Länge wird in mehrere zusätzliche pseudozufällige Schlüssel (die Ausgabe der HKDF) erweitert, wie in der folgenden Gleichung (1) dargestellt: Sitzungsschlussel = [ HKDF ( IKM ,Salt ) ]
    Figure DE102021133346A1_0001
  • Das Fahrzeug-Dienstanbietersystem initialisiert (508) den Sender für seine geschützte Nachricht (beispielsweise Black-Channel-Nachricht) unter Verwendung der Sitzungsschlüssel, so dass er bereit ist, Black-Channel-Nachrichten für die Planung und Bereitstellung einer Fahrt in AVs für Benutzer der Fahrzeug-Dienstteilnehmersysteme zu den Fahrzeug-Dienstteilnehmersystemen zu senden. Der Black-Channel-Sender ist Teil des Fahrzeug-Dienstanbietersystems und unter Verwendung der Komponenten des in weiteren Einzelheiten mit Bezug auf 3 dargestellten und beschriebenen beispielhaften Computersystems 300 implementiert. Das Fahrzeug-Dienstanbietersystem beginnt mit dem Aussenden Black-Channel-geschützter Nachrichten zu den Fahrzeug-Dienstteilnehmersystemen. Periodisch wird eine den bei der Einleitung erzeugten oder ausgewählten Salt enthaltende Salt-Nachricht ausgesendet.
  • Gemäß einer Ausführungsform werden die ersten einen oder mehreren Black-Channel-geschützten Nachrichten durch ein Fahrzeug-Dienstanbietersystem zur Gruppe von Fahrzeug-Dienstteilnehmersystemen für ein oder mehrere Fahrzeug-Dienstteilnehmersysteme der Gruppe ausgesendet, um die Black-Channel-Nachricht(en) und ihre Sitzungsschlüssel zu authentifizieren. Nachdem die Sitzungsschlüssel und die ersten einen oder mehreren Black-Channel-geschützten Nachrichten authentifiziert wurden, wird jede nächste Black-Channel-Nachricht vom Fahrzeug-Dienstanbietersystem zu einem jeweiligen Fahrzeug-Dienstteilnehmersystem gesendet, für das die Black-Channel-Nachricht vorgesehen ist. Eine solche Black-Channel-Nachricht überträgt vertrauliche oder geschützte Informationen in Bezug auf eine bestimmte AV-Fahrt in Zusammenhang mit dem jeweiligen Fahrzeug-Dienstteilnehmersystem. Beispielsweise weist die Black-Channel-Nachricht Einzelheiten über den Bestimmungsort der Fahrt, die Zeit der Fahrt, die Fahrgastidentität, Routeninformationen oder die Anzahl der Fahrgäste auf.
  • Das Fahrzeug-Dienstanbietersystem überträgt (512) den Salt, den es erzeugt oder ausgewählt hat, in Element 500 zu den Fahrzeug-Dienstteilnehmersystemen, um die Fahrzeug-Dienstteilnehmersysteme über den Salt zu informieren. Beispielsweise wird der Salt innerhalb einer andere Metadaten enthaltenden Salt-Nachricht gesendet. Eine beispielhafte Salt-Nachricht ist als
           Salt-Nachricht
           {
           Salt
           }

repräsentiert.
  • Ein neues Fahrzeug-Dienstteilnehmersystem, das sich der Sitzung anschließt, empfängt den Salt auf diese Weise. Das Fahrzeug-Dienstanbietersystem verwendet einen Zeitgeber zur periodischen Neuaussendung (516) des Salts, so dass die neuen Fahrzeug-Dienstteilnehmersysteme, die sich anschließen, den Salt empfangen. Gemäß einer Ausführungsform ist der Zeitgeber ein elektronischer Zeitgeber in der Art eines Quarzzeitgebers mit Digitalelektronik, ein Integrierte-Schaltung-Zeitgeber, ein Softwarezeitgeber oder eine programmierbare Logiksteuereinrichtung (PLC) mit Leiterlogik. Jedes Fahrzeug-Dienstteilnehmersystem verwendet den Salt zur Berechnung der Sitzungsschlüssel in der gleichen Weise wie für das Fahrzeug-Dienstanbietersystem beschrieben in Element 504. Die Sitzungsschlüssel werden zum Decodieren oder Entschlüsseln der Black-Channel-Nachrichten von den Fahrzeug-Dienstanbietersystemen zur Bereitstellung von Fahrten in einem oder mehreren AVs in Zusammenhang mit dem Fahrzeug-Dienstanbietersystem verwendet.
  • 6 ist ein Flussdiagramm, das einen beispielhaften Prozess zur Sitzungsschlüsselerzeugung für einen AV-Betrieb gemäß wenigstens einer Ausführungsform zeigt. Wenigstens ein unter Verwendung des Prozesses betriebenes AV gleicht oder ähnelt dem in weiteren Einzelheiten mit Bezug auf 1 dargestellten und beschriebenen AV 100. Gemäß einer Ausführungsform wird der Prozess aus 6 durch ein Fahrzeug-Dienstteilnehmersystem in einer Gruppe von Fahrzeug-Dienstteilnehmersystemen ausgeführt. Das Fahrzeug-Dienstteilnehmersystem gleicht oder ähnelt dem AV-Dienstteilnehmersystem 708. Das Fahrzeug-Dienstteilnehmersystem wird unter Verwendung wenigstens eines Prozessors (beispielsweise des Prozessors 304) implementiert.
  • Andere Entitäten, beispielsweise ein Server (beispielsweise Server 136), ein Computersystem (beispielsweise Computersystem 300), eine mobile Vorrichtung oder ein AV-System (beispielsweise AV-System 120), führen einige oder alle der Elemente des Prozesses gemäß anderen Ausführungsformen aus. Es wird erkannt werden, dass die Technik aus 6 als beispielhafte Technik vorgesehen ist und dass andere Ausführungsformen mehr oder weniger Elemente, Elemente in einer anderen Reihenfolge als dargestellt usw. aufweisen.
  • Einer Ausführungsform ist die maximale Anzahl der Fahrzeug-Dienstteilnehmersysteme, die einer von einem Fahrzeug-Dienstanbietersystem verwalteten Dienstsitzung beitreten dürfen, auf eine vom Fahrzeug-Dienstanbietersystem spezifizierte Schwellenanzahl von Fahrzeug-Dienstteilnehmersystemen beschränkt. Beispielsweise ist die Größe einer Gruppe von Fahrzeug-Dienstteilnehmersystemen in einer Dienstsitzung mit einem Fahrzeug-Dienstanbietersystem auf 10, 25, 50, 100 usw. beschränkt. Die durch das Fahrzeug-Dienstanbietersystem spezifizierte Schwellenanzahl von Fahrzeug-Dienstteilnehmersystemen stellt verbesserte Kommunikationslatenzen, verringerte Mengen übertragener Daten und eine verringerte Rechenlast bereit, insbesondere wenn ein Fahrzeug-Dienstanbietersystem neue Salts von Entropien berechnet, die von mehreren verschiedenen Fahrzeug-Dienstteilnehmersystemen in der Gruppe von Fahrzeug-Dienstteilnehmersystemen beigetragen wurden.
  • Beim Einleiten, wenn ein Fahrzeug-Dienstteilnehmersystem einer Sitzung mit einem Fahrzeug-Dienstanbietersystem beitritt, wartet (604) das Fahrzeug-Dienstteilnehmersystem auf den Empfang einer Salt-Nachricht und eines Salts vom Fahrzeug-Dienstanbietersystem. Das Fahrzeug-Dienstanbietersystem gleicht oder ähnelt dem AV-Dienstanbietersystem 704 und ist unter Verwendung wenigstens eines Prozessors in der Art des Prozessors 304 implementiert.
  • Der Salt wird schließlich für die Berechnung von Sitzungsschlüsseln für die Sitzung durch das Fahrzeug-Dienstteilnehmersystem verwendet, so dass das Fahrzeug-Dienstteilnehmersystem Black-Channel-Nachrichten vom Fahrzeug-Dienstanbietersystem zur Bereitstellung einer Fahrt für einen Fahrgast in einem vom Fahrzeug-Dienstanbietersystem bereitgestellten AV authentifizieren und decodieren (oder entschlüsseln) kann. Das Fahrzeug-Dienstanbietersystem sendet die nächste einen Salt enthaltende Salt-Nachricht aus, wie in weiteren Einzelheiten mit Bezug auf Element 500 in 5 dargestellt und beschrieben. Das Fahrzeug-Dienstteilnehmersystem empfängt (608) den ausgesendeten Salt in der Salt-Nachricht vom Fahrzeug-Dienstanbietersystem.
  • Das Fahrzeug-Dienstteilnehmersystem berechnet (612) die Sitzungsschlüssel für die Sitzung unter Verwendung des IKMs und des Salts ähnlich dem Element 504, wie durch das in weiteren Einzelheiten mit Bezug auf 5 dargestellte und beschriebene Fahrzeug-Dienstanbietersystem ausgeführt. Das Fahrzeug-Dienstteilnehmersystem verwendet die Sitzungsschlüssel zur Initialisierung seines Geschützte-Nachricht(beispielsweise Black-Channel)-Empfängers. Ein Black-Channel-Empfänger ist Teil eines Fahrzeug-Dienstteilnehmersystems und unter Verwendung der Komponenten des beispielhaften Computersystems 300 implementiert. Der Black-Channel-Empfänger wird zum Empfang von Black-Channel-Nachrichten vom Fahrzeug-Dienstanbietersystem zum Einrichten einer Fahrt in einem vom Fahrzeug-Dienstanbietersystem angelieferten AV verwendet. Das Fahrzeug-Dienstanbietersystem sendet wenigstens eine Black-Channel-Nachricht zur Gruppe von Fahrzeug-Dienstteilnehmersystemen.
  • Um zu überprüfen, dass der Salt und die Sitzungsschlüssel korrekt sind und korrekt empfangen und erzeugt/berechnet wurden, versucht das Fahrzeug-Dienstteilnehmersystem, die Black-Channel-Nachricht unter Verwendung der Sitzungsschlüssel zu authentifizieren. Falls die Authentifizierung der Black-Channel-Nachricht unter Verwendung der Sitzungsschlüssel gelingt, hat das Fahrzeug-Dienstteilnehmersystem die korrekten Sitzungsschlüssel. Das Fahrzeug-Dienstteilnehmersystem verbraucht die Black-Channel-Nachricht und ignoriert künftige Salt-Nachrichten, die es während der Sitzung empfängt. Das Fahrzeug-Dienstteilnehmersystem beendet (616) demgemäß die Überwachung von Salt-Nachrichten. Andererseits lässt das Fahrzeug-Dienstteilnehmersystem, falls die Authentifizierung der Black-Channel-Nachricht unter Verwendung der Sitzungsschlüssel fehlschlägt, die Black-Channel-Nachricht fallen.
  • Zur Authentifizierung einer Black-Channel-Nachricht verifiziert ein Fahrzeug-Dienstteilnehmersystem einen Datenursprung der Black-Channel-Nachricht, und dass die Black-Channel-Nachricht während der Übertragung nicht modifiziert wurde. Gemäß einer Ausführungsform verwendet ein Fahrzeug-Dienstteilnehmersystem MACs, eine authentifizierte Verschlüsselung (AE) oder digitale Signaturen zur Ausführung der Authentifizierung. Ein MAC oder ein digitaler Authentifizierer wird für die Integritätsprüfung auf der Grundlage des Salts verwendet. Der MAC beruht auf der Verwendung eines kryptographischen Hashes oder einer symmetrischen Verschlüsselung.
  • Beim Empfang einer neuen Black-Channel-Nachricht überprüft das Fahrzeug-Dienstteilnehmersystem durch Versuchen, die neue Black-Channel-Nachricht unter Verwendung der Sitzungsschlüssel zu authentifizieren, wiederum, dass der Salt und die Sitzungsschlüssel korrekt sind. Falls die Authentifizierung der Black-Channel-Nachricht fehlschlägt, das Fahrzeug-Dienstteilnehmersystem jedoch eine neue Salt-Nachricht mit einem anderen Salt empfängt, berechnet (612) das Fahrzeug-Dienstteilnehmersystem neue Sitzungsschlüssel für die Sitzung unter Verwendung des IKMs und des neuen Salts ähnlich dem vom Fahrzeug-Dienstanbietersystem verwendeten Element 504, wie in weiteren Einzelheiten mit Bezug auf 5 dargestellt und beschrieben. Zur Überprüfung, dass der neue Salt und die neuen Sitzungsschlüssel korrekt sind, versucht das Fahrzeug-Dienstteilnehmersystem, wenigstens eine Black-Channel-Nachricht unter Verwendung der neuen Sitzungsschlüssel zu authentifizieren.
  • Falls die Authentifizierung der Black-Channel-Nachricht unter Verwendung der neuen Sitzungsschlüssel gelingt, hat das Fahrzeug-Dienstteilnehmersystem die korrekten Sitzungsschlüssel für die Sitzung. Das Fahrzeug-Dienstteilnehmersystem verbraucht die Black-Channel-Nachricht und ignoriert künftige Salt-Nachrichten, die es während der Sitzung empfängt. Das Fahrzeug-Dienstteilnehmersystem beendet (616) demgemäß die Überwachung weiterer Salt-Nachrichten. Der Salt bleibt während der Lebensdauer der Sitzung ungeändert, weshalb das Fahrzeug-Dienstteilnehmersystem die Überwachung von Salt-Nachrichten beendet, nachdem eine Black-Channel-geschützte Nachricht erfolgreich authentifiziert wurde. Das Fahrzeug-Dienstteilnehmersystem wird nicht vom Fahrzeug-Dienstanbietersystem desynchronisiert und authentifiziert Black-Channel-Nachrichten vom Fahrzeug-Dienstanbietersystem unter Verwendung derselben Sitzungsschlüssel für die Dauer der Sitzung.
  • 7 ist ein Zeitablaufdiagramm, das einen beispielhaften Prozess zur Sitzungsschlüsselerzeugung und Authentifizierung für einen AV-Betrieb gemäß wenigstens einer Ausführungsform zeigt. Wenigstens ein unter Verwendung des Prozesses betriebenes AV gleicht oder ähnelt dem AV. Gemäß einer Ausführungsform wird der Prozess aus 7 durch ein AV-Dienstanbietersystem 704 und ein AV-Dienstteilnehmersystem 708 ausgeführt. Das AV-Dienstanbietersystem 704 wird in weiteren Einzelheiten mit Bezug auf 5 beschrieben. Das AV-Dienstanbietersystem 704 ist unter Verwendung wenigstens eines Prozessors, beispielsweise des beispielhaften Prozessors 304, implementiert.
  • Das AV-Dienstteilnehmersystem 708 ist eines von einer Gruppe von Fahrzeug-Dienstteilnehmersystemen und wird mit Bezug auf 5 in weiteren Einzelheiten beschrieben. Das AV-Dienstteilnehmersystem 708 ist unter Verwendung wenigstens eines Prozessors implementiert. Der Prozessor gleicht oder ähnelt dem in weiteren Einzelheiten mit Bezug auf 3 dargestellten und beschriebenen Prozessor 304. Andere Entitäten, beispielsweise ein Server (beispielsweise Server 136), ein Computersystem (beispielsweise Computersystem 300), eine mobile Vorrichtung oder ein AV-System (beispielsweise AV-System 120), führen einige oder alle der Elemente des Prozesses gemäß anderen Ausführungsformen aus. Wie vorstehend beschrieben, weisen andere Ausführungsformen mehr, weniger oder andere Elemente oder in einer anderen Reihenfolge als dargestellt ausgeführte Elemente auf.
  • In Element 712 erzeugt das AV-Dienstanbietersystem 704 einen Salt. Beispielsweise wählt das AV-Dienstanbietersystem 704 den Salt aus einem Pool von Entropiewerten aus, wie in weiteren Einzelheiten mit Bezug auf 5 dargestellt und beschrieben. Das AV-Dienstanbietersystem 704 berechnet Sitzungsschlüssel durch eine HKDF unter Verwendung eines IKMs und des Salts, wie in weiteren Einzelheiten mit Bezug auf 5 dargestellt und beschrieben. Die Sitzungsschlüssel können auf der Grundlage der verwendeten Hashing-Algorithmen und der Implementation der Hashing-Algorithmen angepasst werden. Das AV-Dienstanbietersystem 704 initialisiert seinen Black-Channel-Sender unter Verwendung der Sitzungsschlüssel und sendet (716) wenigstens eine Black-Channel-Nachricht zur Gruppe von Fahrzeug-Dienstteilnehmersystemen.
  • In Element 720 empfängt das AV-Dienstteilnehmersystem 708 die Black-Channel-Nachricht, stellt jedoch fest, dass es noch keinen Salt oder berechnete Sitzungsschlüssel für die Sitzung empfangen hat. Das AV-Dienstteilnehmersystem 708 lässt die Black-Channel-Nachricht fallen und versucht nicht, die Black-Channel-Nachricht zu authentifizieren. Das AV-Dienstteilnehmersystem 708 wartet weiter auf eine Salt-Nachricht vom Fahrzeug-Dienstanbietersystem, wie in weiteren Einzelheiten mit Bezug auf Element 604 in 6 dargestellt und beschrieben. In Element 724 sendet das AV-Dienstanbietersystem 704 eine Salt-Nachricht zur Gruppe von Fahrzeug-Dienstteilnehmersystemen, welche den Salt enthält, der zuvor in Element 712 erzeugt wurde. Das AV-Dienstteilnehmersystem 708 empfängt den Salt. Salt-Nachrichten werden vom AV-Dienstanbietersystem 704 periodisch ausgesendet, um es späten und neu hervorgebrachten Fahrzeug -Dienstteilnehmersystemen zu ermöglichen, sich mit dem AV-Dienstanbietersystem 704 zu synchronisieren.
  • In Element 728 berechnet das AV-Dienstteilnehmersystem 708 die Sitzungsschlüssel ähnlich wie beim durch das AV-Dienstanbietersystem 704 in Element 712 ausgeführten Prozess unter Verwendung des Salts und des IKMs. Das AV-Dienstanbietersystem 704 sendet (732) eine neue Black-Channel-Nachricht zur Gruppe von Fahrzeug-Dienstteilnehmersystemen, welche vom AV-Dienstteilnehmersystem 708 empfangen wird. Das AV-Dienstteilnehmersystem 708 verwendet die berechneten Sitzungsschlüssel zum Authentifizieren (736) der neuen Black-Channel-Nachricht und beendet die Überwachung weiterer Salt-Nachrichten. Nachfolgende Black-Channel-Nachrichten werden vom AV-Dienstteilnehmersystem 708 unter Verwendung der Sitzungsschlüssel decodiert oder entschlüsselt, um einem Fahrgast in einem vom AV-Dienstanbietersystem 704 bereitgestellten AV eine Fahrt bereitzustellen.
  • Die Frequenz des Aussendens von Salt-Nachrichten wird gemäß wenigstens einer Überlegung angepasst. Gemäß einer Ausführungsform ist eine erste Frequenz der Übertragung der Black-Channel-Nachrichten durch das AV-Dienstanbietersystem 704 größer oder gleich einer zweiten Frequenz der Übertragung der Salt-Nachrichten. Die Frequenz, mit der Salt-Nachrichten ausgesendet werden, bestimmt die Verzögerung, die ein Fahrzeug-Dienstteilnehmersystem beim Einleiten erfährt. Daher ist eine höhere Frequenz des Aussendens von Salt-Nachrichten wünschenswert und wird mit dem Netz-Overhead ausgeglichen. Überdies treten bei einer ersten Implementation mehr Black-Channel-geschützte Nachrichten als Salt-Nachrichten auf. Bei einer zweiten Implementation könnten jedoch mehr Salt-Nachrichten als Black-Channel-Nachrichten auftreten. Ein Fahrzeug-Dienstteilnehmersystem authentifiziert erfolgreich wenigstens eine Black-Channel-geschützte Nachricht, um zu bestätigen, dass es die Sitzungsschlüssel korrekt berechnet hat. Daher sollte ein minimales Verhältnis zwischen Black-Channel-geschützten Nachrichten und Salt-Nachrichten wenigstens 1: 1 betragen, um zu ermöglichen, dass die Authentifizierungsprüfung sofort geschieht.
  • 8 ist ein Flussdiagramm, das einen beispielhaften Prozess zur Sitzungsschlüsselerzeugung für einen AV-Betrieb gemäß wenigstens einer Ausführungsform zeigt. Wenigstens ein unter Verwendung des Prozesses betriebenes AV gleicht oder ähnelt dem in weiteren Einzelheiten mit Bezug auf 1 dargestellten und beschriebenen AV 100. Gemäß einer Ausführungsform wird der Prozess aus 8 durch ein Fahrzeug-Dienstanbietersystem ausgeführt. Das Fahrzeug-Dienstanbietersystem gleicht oder ähnelt dem AV-Dienstanbietersystem 704. Andere Entitäten, beispielsweise ein Server (beispielsweise Server 136) oder ein Computersystem (beispielsweise Computersystem 300), führen einige oder alle der Elemente des Prozesses gemäß anderen Ausführungsformen aus. Ebenso können Ausführungsformen andere, weniger oder zusätzliche Elemente aufweisen oder die Elemente in anderen Reihenfolgen ausführen.
  • In Element 804 erzeugt ein Fahrzeug-Dienstanbietersystem einen ersten Salt zur Verschlüsselung von Sitzungsschlüsseln für eine Kommunikationssitzung mit wenigstens einem Fahrzeug-Dienstteilnehmersystem. Gemäß einer Ausführungsform gleicht oder ähnelt das Fahrzeug-Dienstteilnehmersystem dem AV-Dienstteilnehmersystem 708. Das Fahrzeug-Dienstteilnehmersystem ist unter Verwendung wenigstens eines Prozessors, beispielsweise des beispielhaften Prozessors 304, implementiert. Andere Entitäten, beispielsweise eine mobile Vorrichtung oder ein AV-System, führen einige oder alle der Elemente des Prozesses gemäß anderen Ausführungsformen aus. Das AV-System gleicht oder ähnelt dem AV-System 120. Ebenso können Ausführungsformen andere und/oder zusätzliche Elemente aufweisen oder die Elemente in anderen Reihenfolgen ausführen.
  • Gemäß einer Ausführungsform wählt das Fahrzeug-Dienstanbietersystem den ersten Salt aus einem Entropie-Pool aus und berechnet einen oder mehrere Sitzungsschlüssel unter Verwendung des ersten Salts. Das Fahrzeug-Dienstanbietersystem initialisiert seinen Black-Channel-Sender unter Verwendung der Sitzungsschlüssel, so dass er bereit ist, Black-Channel-Nachrichten zur Planung und Bereitstellung einer Fahrt in AVs für Benutzer der Fahrzeug-Dienstteilnehmersysteme zu einer Gruppe von Fahrzeug-Dienstteilnehmersystemen zu senden. Das Fahrzeug-Dienstanbietersystem sendet dann Black-Channel-geschützte Nachrichten zu den Fahrzeug-Dienstteilnehmersystemen.
  • Periodisch wird eine Salt-Nachricht, die den beim Einleiten erzeugten oder ausgewählten ersten Salt enthält, ausgesendet (808). Beispielsweise verwendet das Fahrzeug-Dienstanbietersystem einen Zeitgeber zum periodischen Neuaussenden (812) des ersten Salts. Gemäß einer Ausführungsform ist der Zeitgeber ein elektronischer Zeitgeber in der Art eines Quarzzeitgebers mit Digitalelektronik, ein Integrierte-Schaltung-Zeitgeber, ein Softwarezeitgeber oder eine PLC mit Leiterlogik. Das Fahrzeug-Dienstanbietersystem kann, beispielsweise ähnlich wie vorstehend mit Bezug auf Element 504 beschrieben, zusätzlich Sitzungsschlüssel berechnen (814).
  • Gemäß einer Ausführungsform wird eine Schlüsselneuerzeugung des Satzes des Fahrzeug-Dienstanbietersystems und der Gruppe von Fahrzeug-Dienstteilnehmersystemen ausgelöst. Beispielsweise wird eine Schlüsselneuerzeugung periodisch oder ansprechend auf ein Ereignis innerhalb des Systems, beispielsweise eine Anforderung einer neuen Fahrt in einem AV, das vom Fahrzeug-Dienstanbietersystem zugeführt wird, durch ein Fahrzeug-Dienstteilnehmersystem oder einen Beginn einer neuen Fahrt in einem AV, ausgelöst. Wenn eine Schlüsselneuerzeugung erforderlich ist, erzeugt (816) ein Fahrzeug-Dienstteilnehmersystem einen neuen (zweiten) Salt und demgemäß entsprechende zweite Sitzungsschlüssel und benachrichtigt (820) die Gruppe von Fahrzeug-Dienstteilnehmersystemen über die Änderung. Wenn eine Schlüsselneuerzeugung ausgeführt wird, werden die Black-Channel-Empfänger der Gruppe von Fahrzeug-Dienstteilnehmersystemen und der Black-Channel-Sender des Fahrzeug-Dienstanbietersystems mit den zweiten Sitzungsschlüsseln neu initialisiert und wird ein Black-Channel-Nachrichtensequenzzähler auf 0 zurückgesetzt. Die Black-Channel-Empfänger und der Black-Channel-Sender bleiben synchronisiert, so dass während des Sitzungsschlüsselübergangs keine Black-Channel-Nachrichten verloren gehen.
  • Gemäß einer Ausführungsform initialisiert ein Fahrzeug-Dienstanbietersystem eine Schlüsselneuerzeugung der Sitzung durch Senden einer Salt-Aktualisierungsnachricht, die eine vom Fahrzeug-Dienstanbietersystem erzeugte Entropie aufweist. Falls ein Fahrzeug-Dienstteilnehmersystem beispielsweise innerhalb eines Schwellenzeitraums keine Schlüsselneuerzeugung initialisiert hat oder Entropie beigetragen hat, initialisiert das Fahrzeug-Dienstanbietersystem die Schlüsselneuerzeugung. Der Schwellenzeitraum beträgt einige Sekunden bis einige Minuten. Gemäß einer Ausführungsform initialisiert das Fahrzeug-Dienstanbietersystem periodisch die Schlüsselneuerzeugung. Das Intervall der periodischen Schlüsselneuerzeugung ist länger als das Intervall der periodischen Salt-Nachrichtenaussendung, um zu verhindern, dass die Gruppe von Fahrzeug-Dienstteilnehmersystemen von Möglichkeiten zum Senden von Synchronisationsnachrichten beraubt wird. Beispielsweise initialisiert das Fahrzeug-Dienstanbietersystem die Schlüsselneuerzeugung periodisch unter Verwendung eines Zeitgebers in der Art eines Quarzzeitgebers mit Digitalelektronik, eines Integrierte-Schaltung-Zeitgebers, eines Softwarezeitgebers oder einer PLC mit Leiterlogik.
  • Falls eine bösartige Entität versucht, eine Schlüsselneuerzeugung durch Einreichen von Synchronisationsanforderungen zu erzwingen, verhindern die hier offenbarten Ausführungsformen diese Situation unter Verwendung eines Zeitintervalls zwischen Salt-Nachrichten und Salt-Aktualisierungsnachrichten, welches eingestellt werden kann. Beispielsweise erhöht das Fahrzeug-Dienstanbietersystem nach dem Aussenden einer Salt-Aktualisierung die Frequenz von Salt-Nachrichten für einen Schwellenzeitraum. Die Erhöhung der Frequenz von Salt-Nachrichten bietet der Gruppe von Fahrzeug-Dienstteilnehmersystemen Gelegenheit, sich neu mit dem Fahrzeug-Dienstanbietersystem zu synchronisieren. Gemäß einer Ausführungsform beträgt der Schwellenzeitraum einige Sekunden bis einige Minuten. Gemäß einer Ausführungsform sendet das Fahrzeug-Dienstanbietersystem Salt-Aktualisierungsnachrichten mit einer höheren Frequenz als Salt-Nachrichten aus. Die erhöhte Frequenz der Aktualisierungen erhöht die Anzahl der Neuübertragungen der Salt-Aktualisierungsnachrichten und verringert die Anzahl der Fahrzeug-Dienstteilnehmersysteme, die wenigstens eine Aktualisierung nicht empfangen, wodurch die Sicherheit des Systems erhöht wird.
  • In Element 820 sendet das Fahrzeug-Dienstanbietersystem eine Salt-Aktualisierungsnachricht, die einen zweiten Salt aufweist, zur Gruppe von Fahrzeug-Dienstteilnehmersystemen. Die Salt-Aktualisierungsnachricht wird manchmal als „Aktualisierung“ bezeichnet. Beispielsweise ist die Salt-Aktualisierungsnachricht als
  •            Salt-Aktualisierungsnachricht
               {
               gültig bis zum
               zweiten Salt
               }

    repräsentiert.
  • Gemäß einer Ausführungsform überwacht das Fahrzeug-Dienstanbietersystem einen Zeitgeber in Zusammenhang mit der Dauer des Aussendens des ersten Salts. Beispielsweise liegt die Dauer des Aussendens des ersten Salts in einem Bereich von einigen Millisekunden bis zu einigen Sekunden. Gemäß einer Ausführungsform ist der Zeitgeber ein elektronischer Zeitgeber in der Art eines Quarzzeitgebers mit Digitalelektronik, ein Integrierte-Schaltung-Zeitgeber, ein Softwarezeitgeber oder eine PLC mit Leiterlogik. Die Aktualisierung wird ansprechend darauf, dass der Zeitgeber abläuft, zur Gruppe von Fahrzeug-Dienstteilnehmersystemen gesendet.
  • Die Salt-Aktualisierungsnachricht weist wenigstens zwei Felder auf. Gemäß einer Ausführungsform ist der Wert von „gültig bis“ eine Sequenznummer der letzten Black-Channel-geschützten Nachricht, die durch die aktuellen Sitzungsschlüssel (vom ersten Salt abgeleitet) geschützt ist. Der Wert des „zweiten Salts“ ist der als nächstes verwendete neue Salt. Der Wert des zweiten Salts kann unter Verwendung verschiedener Hashing-Algorithmen oder einer anderen Implementation der Hashing-Funktion angepasst werden. Gemäß einer Ausführungsform ist der Wert von „gültig bis“ eine bestimmte Zeit bis zu dem Zeitpunkt, zu dem eingehende Black-Channel-geschützte Nachrichten durch die aktuellen Sitzungsschlüssel (vom ersten Salt abgeleitet) geschützt sind.
  • In Element 824 sendet das Fahrzeug-Dienstanbietersystem die Salt-Aktualisierung wieder aus. Wenn eine Salt-Aktualisierung zu planen ist, wählt (820) das Fahrzeug-Dienstanbietersystem einen geeigneten Wert für „gültig bis“ und zieht (816) einen neuen Salt aus seinem Entropie-Pool. Das Fahrzeug-Dienstanbietersystem leitet das periodische Wiederaussenden (824) der Salt-Aktualisierungsnachrichten anstelle von Salt-Nachrichten. Beispielsweise wird ein Zeitgeber zum periodischen Wiederaussenden der Salt-Aktualisierungsnachrichten verwendet, wie in 8 dargestellt ist. Gemäß einer Ausführungsform ist der Zeitgeber ein elektronischer Zeitgeber in der Art eines Quarzzeitgebers mit Digitalelektronik, ein Integrierte-Schaltung-Zeitgeber, ein Softwarezeitgeber oder eine PLC mit Leiterlogik.
  • Zur ausgewählten Zeit, wenn „gültig bis“ abläuft, berechnet (828) das Fahrzeug-Dienstanbietersystem zweite (neue) Sitzungsschlüssel und kehrt zu 816 zurück. Auf diese Weise wird ein nahtloser Übergang zu neuen Sitzungsschlüsseln, ohne Nachrichten fallen zu lassen, ermöglicht.
  • Gemäß einer Ausführungsform, bei der sich ein neues Fahrzeug-Dienstteilnehmersystem einer Gruppe von Fahrzeug-Dienstteilnehmersystemen anschließt, beispielsweise um eine neue Fahrt anzufordern, wartet das neue Fahrzeug-Dienstteilnehmersystem, falls das Aussenden (820) einer Aktualisierung geplant wurde. Beispielsweise wartet das neue Fahrzeug-Dienstteilnehmersystem bei 820 oder 824 auf den Abschluss der Aktualisierung, und dass der neue Salt gültig wird. Dann verwendet das neue Fahrzeug-Dienstteilnehmersystem den neuen Salt zur Berechnung (828) von Sitzungsschlüsseln und versucht, eine Black-Channel-geschützte Nachricht zu authentifizieren, um zu bestätigen, dass die berechneten Sitzungsschlüssel korrekt sind. Gemäß einer Ausführungsform wird der Wert von „gültig bis“ eingestellt, so dass ein langsamer reagierendes Fahrzeug-Dienstteilnehmersystem genügend Zeit hat, um die Salt-Aktualisierungsnachricht zu verarbeiten und neue Sitzungsschlüssel zu berechnen, bevor die Aktualisierung geschieht.
  • 9 ist ein Zeitablaufdiagramm, das einen beispielhaften Prozess zur Sitzungsschlüsselerzeugung für einen AV-Betrieb gemäß wenigstens einer Ausführungsform zeigt. Wenigstens ein unter Verwendung des Prozesses betriebenes AV gleicht oder ähnelt dem AV 100. Gemäß einer Ausführungsform wird der Prozess aus 9 durch ein unter Verwendung wenigstens eines Prozessors, beispielsweise des Prozessors 304, implementiertes AV-Dienstanbietersystem 704 ausgeführt.
  • Das AV-Dienstteilnehmersystem 708 ist eines aus einer Gruppe hier beschriebener Fahrzeug-Dienstteilnehmersysteme und unter Verwendung wenigstens eines Prozessors in der Art des Prozessors 304 implementiert. Andere Entitäten, beispielsweise ein Server (beispielsweise Server 136), ein Computersystem (beispielsweise Computersystem 300), eine mobile Vorrichtung oder ein AV-System (beispielsweise AV-System 120) führen einige oder alle der Elemente des Prozesses gemäß anderen Ausführungsformen aus. Zusätzlich können Ausführungsformen andere, mehr oder weniger Elemente als dargestellt oder Elemente, die in anderen Reihenfolgen als dargestellt auftreten, aufweisen.
  • Das AV-Dienstanbietersystem 704 erzeugt einen ersten Salt S. Das AV-Dienstanbietersystem 704 erzeugt den ersten Salt S beispielsweise als Vektor pseudozufälliger Werte oder wählt den ersten Salt S aus einem Pool von Entropiewerten aus, wie in weiteren Einzelheiten mit Bezug auf 5 dargestellt und beschrieben. Das AV-Dienstanbietersystem 704 berechnet Sitzungsschlüssel durch eine HKDF unter Verwendung eines IKMs und des ersten Salts S, wie in weiteren Einzelheiten mit Bezug auf 5 dargestellt und beschrieben. Das AV-Dienstanbietersystem 704 initialisiert seinen Black-Channel-Sender unter Verwendung der Sitzungsschlüssel und sendet den ersten Salt S in einer Salt-Nachricht zur Gruppe von Fahrzeug-Dienstteilnehmersystemen. Das AV-Dienstteilnehmersystem 708 empfängt den ersten Salt S und berechnet in ähnlicher Weise wie das AV-Dienstanbietersystem 704 Sitzungsschlüssel anhand des ersten Salts S. Das AV-Dienstteilnehmersystem 708 initialisiert seinen Black-Channel-Empfänger unter Verwendung der Sitzungsschlüssel.
  • Das AV-Dienstanbietersystem 704 sendet eine Black-Channel-Nachricht X unter Verwendung seines Black-Channel-Senders zur Gruppe von Fahrzeug-Dienstteilnehmersystemen. Das AV-Dienstteilnehmersystem 708 empfängt die Black-Channel-Nachricht X unter Verwendung seines Black-Channel-Empfängers. Um festzustellen, ob es den korrekten Salt und die korrekten Sitzungsschlüssel hat, versucht das AV-Dienstteilnehmersystem 708, die Black-Channel-Nachricht X in Element 904 unter Verwendung der Sitzungsschlüssel zu authentifizieren. Die Black-Channel-Nachricht X wird korrekt authentifiziert. Um zusätzliche Sicherheit bereitzustellen, sind die hier offenbarten Ausführungsformen so ausgelegt, dass wenigstens eine Salt-Aktualisierungsnachricht durch das AV-Dienstanbietersystem 704 zwischen Änderungen des Salts ausgesendet wird. Um einen möglichen Cyberangriff zu signalisieren, wird eine Fehlerbedingung ausgelöst, wenn ein Fahrzeug-Dienstteilnehmersystem zwei aufeinander folgende Salt-Nachrichten mit unterschiedlichen Inhalten ohne eine dazwischen auftretende Salt-Aktualisierungsnachricht empfängt. Beispielsweise empfängt das AV-Dienstteilnehmersystem 708 in Element 908 eine Salt-Nachricht mit einem zweiten Salt S' vom AV-Dienstanbietersystem 704. Weil es keine Aktualisierung zwischen dem Element 904 und dem Element 908 gab, wird ein Fehler signalisiert und wird der zweite Salt S' ignoriert.
  • Um die Ursache der Fehlerbedingung festzustellen, prüft das AV-Dienstteilnehmersystem 708 weitere vom AV-Dienstanbietersystem 704 empfangene Black-Channel-geschützte Nachrichten in Element 912. Das AV-Dienstanbietersystem 704 sendet die Black-Channel-Nachricht X + 1 aus, die vom AV-Dienstteilnehmersystem 708 empfangen wird. In Element 912 wird die Black-Channel-Nachricht X+1 unter Verwendung der vom ersten Salt S abgeleiteten Sitzungsschlüssel korrekt vom AV-Dienstteilnehmersystem 708 authentifiziert. Als nächstes sendet das AV-Dienstanbietersystem 704 die Black-Channel-Nachricht X+2 aus, die vom AV-Dienstteilnehmersystem 708 empfangen wird. In Element 916 wird die Black-Channel-Nachricht X+2 unter Verwendung der vom ersten Salt S abgeleiteten Sitzungsschlüssel korrekt vom AV-Dienstteilnehmersystem 708 authentifiziert. Weil die Black-Channel-Nachrichten X + 1 und X+2 weiter korrekt authentifiziert werden, wird der fehlerhafte zweite Salt S' verworfen. Das AV-Dienstteilnehmersystem 708 sendet eine Nachricht oder Warnung zum AV-Dienstanbietersystem 704 oder zu einem zentralen Server, welche das AV-Dienstanbietersystem 704 oder den zentralen Server über den fehlerhaften zweiten Salt S' informiert, und wodurch vor einem möglicherweise manipulierten Salt oder einem möglichen Replay-Angriff durch eine bösartige Entität gewarnt wird.
  • 10 ist ein Zeitablaufdiagramm, das einen beispielhaften Prozess zur Sitzungsschlüsselerzeugung für einen AV-Betrieb gemäß wenigstens einer Ausführungsform zeigt. Wenigstens ein unter Verwendung des Prozesses betriebenes AV gleicht oder ähnelt dem AV 100. Gemäß einer Ausführungsform wird der Prozess aus 10 durch ein AV-Dienstanbietersystem 704 und ein AV-Dienstteilnehmersystem 708, wie vorstehend beschrieben, ausgeführt. Gemäß einer Ausführungsform ist das AV-Dienstanbietersystem 704 unter Verwendung wenigstens eines Prozessors, beispielsweise des beispielhaften Prozessors 304, implementiert.
  • Das AV-Dienstteilnehmersystem 708 ist eines von einer Gruppe von Fahrzeug-Dienstteilnehmersystemen, wie vorstehend beschrieben, und unter Verwendung wenigstens eines Prozessors in der Art des Prozessors 304 implementiert. Andere Entitäten, beispielsweise ein Server (beispielsweise Server 136), ein Computersystem (beispielsweise Computersystem 300), eine mobile Vorrichtung oder ein AV-System (beispielsweise AV-System 120), führen einige oder alle der Elemente des Prozesses gemäß anderen Ausführungsformen aus. Zusätzlich weisen andere Ausführungsformen mehr, weniger oder andere Elemente, in einer anderen Reihenfolge als dargestellt ausgeführte Elemente usw. auf.
  • Das AV-Dienstanbietersystem 704 erzeugt einen ersten Salt S. Beispielsweise wählt das AV-Dienstanbietersystem 704 den ersten Salt S aus einem Pool von Entropiewerten aus, wie in weiteren Einzelheiten mit Bezug auf 5 dargestellt und beschrieben. Das AV-Dienstanbietersystem 704 berechnet Sitzungsschlüssel durch eine HKDF unter Verwendung eines IKMs und des ersten Salts S, wie in weiteren Einzelheiten mit Bezug auf 5 dargestellt und beschrieben. Das AV-Dienstanbietersystem 704 initialisiert seinen Black-Channel-Sender unter Verwendung der Sitzungsschlüssel und sendet den ersten Salt S in einer Salt-Nachricht zur Gruppe von Fahrzeug-Dienstteilnehmersystemen. Das AV-Dienstteilnehmersystem 708 empfängt den ersten Salt S und berechnet in ähnlicher Weise wie das AV-Dienstanbietersystem 704 Sitzungsschlüssel anhand des ersten Salts S. Das AV-Dienstteilnehmersystem 708 initialisiert seinen Black-Channel-Empfänger unter Verwendung der Sitzungsschlüssel.
  • Das AV-Dienstanbietersystem 704 sendet eine erste Black-Channel-Nachricht X unter Verwendung seines Black-Channel-Senders zur Gruppe von Fahrzeug-Dienstteilnehmersystemen. Das AV-Dienstteilnehmersystem 708 empfängt die erste Black-Channel-Nachricht X unter Verwendung seines Black-Channel-Empfängers. Um festzustellen, ob es den korrekten Salt und die korrekten Sitzungsschlüssel hat, versucht das AV-Dienstteilnehmersystem 708, die erste Black-Channel-Nachricht X in Element 1004 unter Verwendung der Sitzungsschlüssel zu authentifizieren. Die erste Black-Channel-Nachricht X wird korrekt authentifiziert.
  • Gemäß einer Ausführungsform empfängt das AV-Dienstteilnehmersystem 708 einen zweiten Salt S' vom AV-Dienstanbietersystem 704. Die den zweiten Salt S' aufweisende Salt-Nachricht gibt das Nichtvorhandensein einer geplanten Salt-Aktualisierung in Zusammenhang mit dem zweiten Salt S' an. Das AV-Dienstteilnehmersystem 708 sendet eine Replay-Warnnachricht zum AV-Dienstanbietersystem 704, wodurch ein möglicher Replay-Angriff angegeben wird. Beispielsweise sendet das AV-Dienstanbietersystem 704 eine Aktualisierung mit dem zweiten Salt S' zur Gruppe von Fahrzeug-Dienstteilnehmersystemen. In Element 1008 empfängt das AV-Dienstteilnehmersystem 708 jedoch die Aktualisierung entweder infolge einer Fehlfunktion im Netz, eines Stromausfalls, eines anderen Grunds, aus dem die Pakete verloren gegangen sind, oder einer Kombination davon nicht.
  • Das AV-Dienstanbietersystem 704 verwendet seinen Black-Channel-Sender zum Senden einer zweiten Black-Channel-Nachricht X+1 zur Gruppe von Fahrzeug-Dienstteilnehmersystemen. Das AV-Dienstteilnehmersystem 708 empfängt die zweite Black-Channel-Nachricht X+1 unter Verwendung seines Black-Channel-Empfängers. Das AV-Dienstteilnehmersystem 708 authentifiziert die zweite Black-Channel-Nachricht X + 1 erfolgreich in Element 1012 unter Verwendung der Sitzungsschlüssel auf der Grundlage des erstens Salts S (weil das AV-Dienstteilnehmersystem 708 nicht weiß, dass es eine Salt-Aktualisierung gab). Gemäß einer Ausführungsform überwacht das AV-Dienstanbietersystem 704 einen Zeitgeber in Zusammenhang mit der Dauer des Aussendens der Aktualisierung. Nachdem der Zeitgeber abgelaufen ist, wird der Black-Channel-Nachrichtensequenzzähler auf 0 gesetzt und sendet das AV-Dienstanbietersystem 704 die nächste Black-Channel-Nachricht 0 aus. Zur Entschlüsselung der Black-Channel-Nachricht 0 werden neue unter Verwendung des zweiten Salts S' erzeugte Sitzungsschlüssel benötigt. Das AV-Dienstteilnehmersystem 708 verwendet jedoch noch den vorhergehenden Satz unter Verwendung des erstens Salts S berechneter Sitzungsschlüssel.
  • Das AV-Dienstteilnehmersystem 708 empfängt die Black-Channel-Nachricht 0 unter Verwendung seines Black-Channel-Empfängers. In Element 1016 versucht das AV-Dienstteilnehmersystem 708, die Black-Channel-Nachricht 0 unter Verwendung anhand des ersten Salts S' berechneter Sitzungsschlüssel zu authentifizieren. Die Authentifizierung schlägt fehl. Gemäß einer Ausführungsform überwacht das AV-Dienstanbietersystem 704 einen Zeitgeber in Zusammenhang mit der Dauer des Aussendens der Aktualisierung. Eine Salt-Nachricht mit dem zweiten Salt S wird ansprechend auf das Ablaufen des Zeitgebers vom AV-Dienstanbietersystem 704 ausgesendet. Weil das AV-Dienstteilnehmersystem 708 den zweiten Salt S' nach dem Empfang des erstens Salts S empfängt, ohne eine dazwischen auftretende Aktualisierung zu empfangen, wird das AV-Dienstteilnehmersystem 708 bei 1020 vom AV-Dienstanbietersystem 704 desynchronisiert. Das AV-Dienstanbietersystem 704 sendet eine Replay-Warnnachricht zum AV-Dienstanbietersystem 704, wodurch ein möglicher Replay-Angriff angegeben wird. Wenn daher wie in Element 1008 eine fallen gelassene oder verloren gegangene Salt-Aktualisierungsnachricht auftritt, authentifizieren die Black-Channel-geschützten Nachrichten nicht mehr korrekt (Element 1016). Das AV-Dienstteilnehmersystem 708 muss sich wieder mit dem AV-Dienstanbietersystem 704 synchronisieren.
  • 11 ist ein Flussdiagramm, das einen beispielhaften Prozess zur Sitzungsschlüsselerzeugung für einen AV-Betrieb gemäß wenigstens einer Ausführungsform zeigt. Wenigstens ein unter Verwendung des Prozesses betriebenes AV gleicht oder ähnelt dem AV 100. Gemäß einer Ausführungsform wird der Prozess aus 11 durch ein Fahrzeug-Dienstanbietersystem ausgeführt, das dem AV-Dienstanbietersystem 704 gleicht oder ähnelt. Andere Entitäten, beispielsweise ein Server (beispielsweise Server 136) oder ein Computersystem (beispielsweise Computersystem 300), führen einige oder alle der Elemente des Prozesses gemäß anderen Ausführungsformen aus. Es ist zu verstehen, dass andere Ausführungsformen mehr, weniger oder andere Elemente oder Elemente in einer anderen Reihenfolge als hier dargestellt aufweisen.
  • In Element 1100 erzeugt ein Fahrzeug-Dienstanbietersystem (beispielsweise das AV-Dienstteilnehmersystem 708, das unter Verwendung wenigstens eines Prozessors in der Art des Prozessors 304 implementiert ist) einen ersten Salt zur Verschlüsselung von Sitzungsschlüsseln für eine Kommunikationssitzung mit wenigstens einem Fahrzeug-Dienstteilnehmersystem. Das Fahrzeug-Dienstteilnehmersystem ist eines aus einer Gruppe von Fahrzeug-Dienstteilnehmersystemen. Andere Entitäten, beispielsweise eine mobile Vorrichtung oder ein AV-System (beispielsweise AV-System 120), führen einige oder alle der Elemente des Prozesses gemäß anderen Ausführungsformen aus.
  • Gemäß einer Ausführungsform wählt das Fahrzeug-Dienstanbietersystem den ersten Salt aus einem Entropie-Pool aus. Das Fahrzeug-Dienstanbietersystem berechnet Sitzungsschlüssel unter Verwendung des ersten Salts. Das Fahrzeug-Dienstanbietersystem initialisiert seinen Black-Channel-Sender unter Verwendung der Sitzungsschlüssel, so dass er bereit ist, Black-Channel-Nachrichten zur Planung und Bereitstellung von Fahrten in AVs für Benutzer der Fahrzeug-Dienstteilnehmersysteme zu einer Gruppe von Fahrzeug-Dienstteilnehmersystemen zu senden.
  • Gemäß einer Ausführungsform sendet das Fahrzeug-Dienstanbietersystem den ersten Salt zu wenigstens einem Fahrzeug-Dienstteilnehmersystem in Zusammenhang mit einem Fahrzeug-Dienstteilnehmer. Der Fahrzeug-Dienstteilnehmer ist ein Benutzer des Fahrzeug-Dienstteilnehmersystems oder ein auf dem Fahrzeug-Dienstteilnehmersystem laufender Software-Client. Das Fahrzeug-Dienstanbietersystem ist mit wenigstens einem Fahrzeug, beispielsweise dem AV 100, assoziiert. Das Fahrzeug-Dienstanbietersystem startet einen Zeitgeber in Zusammenhang mit der Dauer des Sendens des ersten Salts innerhalb einer Salt-Nachricht zur Gruppe von Fahrzeug-Dienstteilnehmersystemen. Ansprechend darauf, dass der Zeitgeber abläuft, sendet (1104) das Fahrzeug-Dienstanbietersystem eine den beim Einleiten erzeugten oder ausgewählten ersten Salt enthaltende Salt-Nachricht aus. Der Zeitgeber in Zusammenhang mit der Dauer des Aussendens des ersten Salts wird zurückgesetzt, und das Fahrzeug-Dienstanbietersystem sendet erneut (1104) eine Salt-Nachricht, die den ersten Salt enthält, periodisch, wenn der Zeitgeber abläuft. Beispielsweise ist der Zeitgeber ein elektronischer Zeitgeber in der Art eines Quarzzeitgebers mit Digitalelektronik, ein Integrierte-Schaltung-Zeitgeber, ein Softwarezeitgeber oder eine PLC mit Leiterlogik.
  • Die hier beschriebenen Ausführungsformen verwenden von jedem Fahrzeug-Dienstteilnehmersystem in der Gruppe von Fahrzeug-Dienstteilnehmersystemen erzeugte Entropie zur Aktualisierung des Salts, um die Sicherheitsvorteile der HKDF zu erhöhen. Daher wird die Empfindlichkeit des Systems für Entropieschwächen am Fahrzeug-Dienstanbietersystem umgangen. Die Gruppe von Fahrzeug-Dienstteilnehmersystemen wird auch vor einer Verwundbarkeit durch Replay-Angriffe geschützt. Die Ausführungsformen verhindern auch die Verwundbarkeit eines Fahrzeug-Dienstteilnehmersystems, bevor es seine erste Black-Channel-geschützte Nachricht authentifiziert und die Sitzungsschlüssel „verriegelt“ werden, und auch dann, wenn eine Schüsselneuerzeugung auftritt. Die von einem Fahrzeug-Dienstteilnehmersystem beigetragene Entropie wird für den Rest der Sitzung weitergetragen.
  • Gemäß einer Ausführungsform empfängt das Fahrzeug-Dienstanbietersystem eine Synchronisationsnachricht von einem Fahrzeug-Dienstteilnehmersystem in der Gruppe von Fahrzeug-Dienstteilnehmersystemen. Die Synchronisationsnachricht weist eine vom Fahrzeug-Dienstteilnehmersystem erzeugte Entropie auf. Die Entropie wird vom Fahrzeug-Dienstteilnehmersystem unabhängig vom Fahrzeug-Dienstanbietersystem und unabhängig vom anderen Entropie-Pool des Fahrzeug-Dienstanbietersystems erzeugt. Die Entropie ist ein zufälliger Wert (ganzzahliger oder Gleitkommawert), ein pseudozufälliger Wert, ein Digitalvektor zufällig erzeugter Bits oder eine Kombination davon. Die Synchronisationsnachricht wird vom Fahrzeug-Dienstteilnehmersystem erzeugt, um Entropie zur nächsten Salt-Aktualisierung beizutragen. Die Synchronisationsnachricht ist folgendermaßen repräsentiert:
  •            Synchronisationsnachricht
               {
               Entropie
               letzter Salt
               }
  • Der Entropiewert wird unter Verwendung verschiedener Hashing-Algorithmen und Hashing-Implementationen durch das Fahrzeug-Dienstteilnehmersystem angepasst. Gemäß einer Ausführungsform ist das „Entropie“-Feld in der Synchronisationsnachricht eine von einem Fahrzeug-Dienstteilnehmersystem aus seinem eigenen Entropie-Pool gezogene Zufallszahl. Der „letzte Salt“ bezieht sich auf den Salt-Wert aus der letzten Salt-Nachricht, die das Fahrzeug-Dienstteilnehmersystem empfangen hat. Beispielsweise ist der „letzte Salt“ der erste vom Fahrzeug-Dienstanbietersystem in Element 1100 erzeugte Salt. Gemäß einer Ausführungsform erhöht das Fahrzeug-Dienstanbietersystem die Sicherheit durch Verifizieren, dass das „Letzter Salt“-Feld der Synchronisationsnachricht gültig ist. Damit er gültig ist, sollte der „Letzter Salt“-Feldwert der Synchronisationsnachricht mit dem aktuellen Salt (beispielsweise dem ersten Salt) des Fahrzeug-Dienstanbietersystems übereinstimmen. Falls die Überprüfung erfolgreich ist, bearbeitet das Fahrzeug-Dienstanbietersystem die Synchronisationsnachricht.
  • Gemäß einer Ausführungsform stellt das Fahrzeug-Dienstanbietersystem fest, dass ein Ergebnis der am ersten Salt ausgeführten Hash-basierten Nachrichtenauthentifizierung nicht mit dem vom Fahrzeug-Dienstteilnehmersystem in der Synchronisationsnachricht empfangenen „letzten Salt“ übereinstimmt. Ansprechend auf die Feststellung, dass das Ergebnis nicht mit dem „letzten Salt“ übereinstimmt, stellt das Fahrzeug-Dienstanbietersystem einen Hinweis auf einen möglichen Denial-of-Service(DoS)-Angriff fest. Um beispielsweise zu verhindern, dass eine bösartige Entität die Gruppe von Fahrzeug-Dienstteilnehmersystemen mit Synchronisationsnachrichten flutet und eine große Anzahl von Sitzungsschlüssel-Neuberechnungen auslöst, was zu einem DoS-Angriff gegen die Verfügbarkeit der Zentralverarbeitungseinheit (CPU) am Fahrzeug-Dienstanbietersystem und an der Gruppe von Fahrzeug-Dienstteilnehmersystemen führen würde, werden die Inhalte des „Letzter Salt“-Felds wie in Gleichung (2) angepasst: letzer Salt = HMACK [ Kss ,aktueller Salt  Entropie ]
    Figure DE102021133346A1_0002
  • Hier bezeichnet Kss einen kryptographischen Sitzungsschlüssel, der vom Fahrzeug-Dienstanbietersystem (unter Verwendung einer optimistischen Vorschauheuristik) so bestimmt wird, als ob dem aktuellen Salt (beispielsweise dem ersten vom Fahrzeug-Dienstanbietersystem erzeugten Salt) getraut würde. Daher wird der Schlüssel Kss unter Verwendung von Gleichung (3) bestimmt: Kss = HKDF ( Salt ,IKM ) *
    Figure DE102021133346A1_0003
  • Wenn das Fahrzeug-Dienstanbietersystem die Synchronisationsnachricht empfängt, verwendet es die vom Fahrzeug-Dienstteilnehmersystem zugeführte Entropie und die Kopie des aktuellen Salts (beispielsweise des ersten Salts) des Fahrzeug-Dienstanbietersystems, um die gleiche HMAC-Bestimmung wie das Fahrzeug-Dienstteilnehmersystem auszuführen. Das Fahrzeug-Dienstanbietersystem vergleicht die Ergebnisse des HMACs mit dem vom Fahrzeug-Dienstteilnehmersystem empfangenen „letzten Salt“. Falls die Verifikationsprüfung erfolgreich ist, geht das Fahrzeug-Dienstanbietersystem zu Element 1108 über. Falls die Verifikationsprüfung fehlschlägt, lässt das Fahrzeug-Dienstanbietersystem die Synchronisationsnachricht fallen und signalisiert einen möglichen DoS-Angriff oder eine mögliche Irregularität. Gemäß einer Ausführungsform wird, falls sich ein Schlüsselwiederverwendungsproblem ergibt, ein anderes IKM verwendet, um eine Schlüsselduplikation zu vermeiden.
  • Gemäß einer Ausführungsform erzeugt das Fahrzeug-Dienstanbietersystem einen zweiten Salt auf der Grundlage des ersten Salts und der vom Fahrzeug-Dienstteilnehmersystem empfangenen Entropie. Beispielsweise erweitert (1108) das Fahrzeug-Dienstanbietersystem den ersten Salt durch Verketten des aktuellen Salts (beispielsweise des ersten Salts) und der Entropie aus der empfangenen Synchronisationsnachricht. Gemäß einer Ausführungsform weist die Erzeugung des zweiten Salts die Ausführung eines HMACs auf eine Verkettung des ersten Salts und der Entropie durch das Fahrzeug-Dienstanbietersystem auf. Beispielsweise werden die verketteten Daten durch einen Hashing-Algorithmus geleitet, um den Wert des zweiten Salts zu erzeugen. Beispielsweise wird der zweite Salt wie in Gleichung (4) erzeugt: letzer Salt = Hash [ aktueller Salt  Entropie ]
    Figure DE102021133346A1_0004
    Gemäß einer Ausführungsform werden das Fahrzeug-Dienstanbietersystem identifizierende Informationen in der Art eines Namens, einer Identifikationsnummer oder einer IP-Adresse in die verketteten Daten aufgenommen, um die Datensicherheit zu erhöhen.
  • Das Fahrzeug-Dienstanbietersystem berechnet (1112) Sitzungsschlüssel auf der Grundlage des zweiten Salts. Gemäß einer Ausführungsform werden die Sitzungsschlüssel unter Verwendung einer HKDF, eines IKMs und des zweiten Salts berechnet, wie in weiteren Einzelheiten mit Bezug auf 5 dargestellt und beschrieben. Beispielsweise werden die Sitzungsschlüssel unter Verwendung einer HKDF auf der Grundlage eines HMACs bestimmt. Gemäß einer Ausführungsform setzt das Fahrzeug-Dienstanbietersystem nach dem Empfang der Synchronisationsnachricht einen Zeitgeber und wird der zweite Salt durch das Fahrzeug-Dienstanbietersystem erzeugt, wenn der Zeitgeber abläuft. Wenn der zweite Salt erzeugt wird, reinitialisiert das Fahrzeug-Dienstanbietersystem seinen Black-Channel-Senderkontext mit den vom zweiten Salt abgeleiteten Sitzungsschlüsseln. Gemäß einer Ausführungsform verifiziert das Fahrzeug-Dienstanbietersystem zur weiteren Verbesserung der Sicherheit vor der Erzeugung der Sitzungsschlüssel die an einer Verkettung des „letzten Salts“ vom Fahrzeug-Dienstteilnehmersystem und der Entropieabgleiche des zweiten Salts ausgeführte Hash-basierte Nachrichtenauthentifizierung. Ansprechend darauf, dass die Verifikation fehlschlägt, signalisiert das Fahrzeug-Dienstanbietersystem einen möglichen DoS-Angriff oder eine mögliche Irregularität.
  • Das Fahrzeug-Dienstanbietersystem sendet (1116) eine Aktualisierung zur Gruppe von Fahrzeug-Dienstteilnehmersystemen. Die Aktualisierung weist den zweiten Salt zur Entschlüsselung von Black-Channel-Nachrichten unter Verwendung der Sitzungsschlüssel auf. Die Black-Channel-Nachrichten dienen dem Bereitstellen einer Fahrt in wenigstens einem Fahrzeug in Zusammenhang mit dem Fahrzeug-Dienstanbietersystem. Gemäß einer Ausführungsform sendet das Fahrzeug-Dienstanbietersystem eine erweiterte Salt-Aktualisierungsnachricht aus. Die Salt-Aktualisierungsnachricht wird erweitert, um wenigstens einen als Teil der Synchronisationsnachrichten von der Gruppe von Fahrzeug-Dienstteilnehmersystemen empfangenen Entropiebeitrag aufzunehmen. Beispielsweise wird die erweiterte Aktualisierung folgendermaßen repräsentiert:
  •            Salt-Aktualisierungsnachricht
               {
               zweiter Salt
               Entropie
               }
  • Das „Entropie“-Feld in der erweiterten Aktualisierung bezeichnet die von wenigstens einem Fahrzeug-Dienstteilnehmersystem beigetrage Entropie. Gemäß einer Ausführungsform wird die Sicherheit durch Erweitern der Salt-Erzeugung weiter verbessert, um zu verhindern, dass ein Angreifer eine Salt-Aktualisierungsnachricht erzeugt und möglicherweise einen DoS-Angriff gegen die Gruppe von Fahrzeug-Dienstteilnehmersystemen hervorruft. Die Salt-Erzeugung wird durch Ersetzen des kryptographischen Hashes mit einem HMAC erweitert, um zu verhindern, dass Angreifer Salt-Aktualisierungsnachrichten fälschen. Die Erzeugung des erweiterten Salts wird wie in Gleichung (5) ausgeführt: zweiter Salt = HMAC [ Kns ,aktueller Salt  Entropie ]
    Figure DE102021133346A1_0005
    Der Schlüssel Kns wird so bestimmt, als ob dem aktuellen Salt (beispielsweise dem ersten Salt) getraut werden würde. Daher wird der Schlüssel Kns unter Verwendung von Gleichung (6) bestimmt: Kns = HKDF ( Salt ,IKM )
    Figure DE102021133346A1_0006
    Gemäß einer Ausführungsform werden Schlüsselwiederverwendungsprobleme durch die Verwendung verschiedener IKMs vermieden.
  • Das Fahrzeug-Dienstanbietersystem sendet die Salt-Aktualisierungsnachricht periodisch wieder aus (1116). Beispielsweise wird ein Zeitgeber zum periodischen Wiederaussenden der Salt-Aktualisierungsnachricht verwendet, wie in weiteren Einzelheiten mit Bezug auf 8 dargestellt und beschrieben. Gemäß einer Ausführungsform wird die Salt-Aktualisierungsnachricht ausgesendet (1116) und in vom Zeitgeber gesteuerten Intervallen mit einer maximalen Anzahl N wiederholt. Gemäß einer Ausfuhrungsform ist der Zeitgeber ein elektronischer Zeitgeber in der Art eines Quarzzeitgebers mit Digitalelektronik, ein Integrierte-Schaltung-Zeitgeber, ein Softwarezeitgeber oder eine PLC mit Leiterlogik. Das Fahrzeug-Dienstanbietersystem kehrt zu Element 1104 zurück, um den zweiten Salt zur Gruppe von Fahrzeug-Dienstteilnehmersystemen zu senden, um eine Fahrt in wenigstens einem Fahrzeug in Zusammenhang mit dem Fahrzeug-Dienstanbietersystem bereitzustellen.
  • Gemäß einer Ausführungsform verschlüsselt das Fahrzeug-Dienstanbietersystem Black-Channel-Nachrichten unter Verwendung der Sitzungsschlüssel, die es berechnet hat. Das Fahrzeug-Dienstanbietersystem sendet die Black-Channel-Nachrichten zu wenigstens einem Fahrzeug-Dienstteilnehmersystem in der Gruppe von Fahrzeug-Dienstteilnehmersystemen, wie in weiteren Einzelheiten mit Bezug auf 7 dargestellt und beschrieben. Gemäß einer Ausführungsform schützt der Black Channel jegliche Black-Channel-Nachrichten, die ausgesendet werden, nachdem der zweite Salt unter Verwendung der neuen Sitzungsschlüssel erzeugt wurde (1108).
  • Gemäß einer Ausführungsform ist die beschriebene Entropie eine von einem ersten Fahrzeug-Dienstteilnehmersystem aus der Gruppe von Fahrzeug-Dienstteilnehmersystemen erzeugte erste Entropie. Das erste Fahrzeug-Dienstteilnehmersystem steht in Zusammenhang mit einer ersten Fahrt in einem ersten Fahrzeug in Zusammenhang mit dem Fahrzeug-Dienstanbietersystem. Die vom Fahrzeug-Dienstanbietersystem ausgesendete (1116) Aktualisierung ist eine erste Aktualisierung des ersten Salts, die zum zweiten Salt führt. Das Fahrzeug-Dienstanbietersystem empfängt eine Anforderung einer zweiten Fahrt von einem zweiten Fahrzeug-Dienstteilnehmersystem (oder der Gruppe von Fahrzeug-Dienstteilnehmersystemen). Gemäß einer Ausführungsform ist das zweite Fahrzeug-Dienstteilnehmersystem ein Neueintretender in die Gruppe von Fahrzeug-Dienstteilnehmersystemen. Das Fahrzeug-Dienstanbietersystem erzeugt (1108) einen dritten Salt auf der Grundlage des zweiten Salts und einer vom zweiten Fahrzeug-Dienstteilnehmersystem erzeugten zweiten Entropie. Das Fahrzeug-Dienstanbietersystem sendet (1116) eine zweite Aktualisierung zur Gruppe von Fahrzeug-Dienstteilnehmersystemen, so dass die zweite Aktualisierung den dritten Salt aufweist.
  • Gemäß einer Ausführungsform weist der zweite Salt einen Hash mehrerer Entropiewerte auf. Jeder Entropiewert wird durch das Fahrzeug-Dienstanbietersystem von einem jeweiligen Fahrzeug-Dienstteilnehmersystem empfangen. Beispielsweise veranlasst die erste gültige Synchronisationsnachricht, welche die hier beschriebenen Verifikationsprüfungen besteht, das Fahrzeug-Dienstanbietersystem, eine Salt-Aktualisierung zu planen. Die Entropie jeglicher von der Gruppe der Fahrzeug-Dienstteilnehmersysteme vor der Salt-Aktualisierung empfangener Synchronisationsnachrichten wird in die Erzeugung des neuen Salts aufgenommen.
  • Gemäß einer Ausführungsform wird die Synchronisationsnachricht verworfen, wenn ein Fahrzeug-Dienstanbietersystem eine Synchronisationsnachricht empfängt und eine Salt-Aktualisierungsnachricht bereits ausgesendet worden ist. Beispielsweise ist die vom Fahrzeug-Dienstanbietersystem empfangene Synchronisationsnachricht eine erste Synchronisationsnachricht. Das Fahrzeug-Dienstanbietersystem empfängt eine zweite Synchronisationsnachricht nach dem Aussenden (1116) der Aktualisierung, jedoch vor dem Aussenden (1104) des neuen Salts. Ansprechend darauf verwirft das Fahrzeug-Dienstanbietersystem die gleich nach dem Aussenden (1116) der Aktualisierung empfangene zweite Synchronisationsnachricht.
  • 12 ist ein Flussdiagramm, das einen beispielhaften Prozess zur Sitzungsschlüsselerzeugung für einen AV-Betrieb gemäß wenigstens einer Ausführungsform zeigt. Wenigstens ein unter Verwendung des Prozesses betriebenes AV gleicht oder ähnelt dem in weiteren Einzelheiten mit Bezug auf 1 dargestellten und beschriebenen AV 100. Gemäß einer Ausführungsform wird der Prozess aus 12 durch ein Fahrzeug-Dienstteilnehmersystem (beispielsweise AV-Dienstteilnehmersystem 708, das unter Verwendung wenigstens eines Prozessors in der Art des Prozesses 304 implementiert ist) in einer Gruppe von Fahrzeug-Dienstteilnehmersystemen ausgeführt. Andere Entitäten, beispielsweise ein Server (beispielsweise Server 136), ein Computersystem (beispielsweise Computersystem 300), eine mobile Vorrichtung oder ein AV-System (beispielsweise AV-System 120), führen einige oder alle der Elemente des Prozesses gemäß anderen Ausführungsformen aus. Zusätzlich weisen andere Ausführungsformen der Technik mehr oder weniger Elemente, andere Elemente, in einer anderen Reihenfolge als dargestellt ausgeführte Elemente usw. auf.
  • Beim Einleiten, wenn ein Fahrzeug-Dienstteilnehmersystem einer Sitzung mit einem Fahrzeug-Dienstanbietersystem (beispielsweise dem AV-Dienstanbietersystem 704, das unter Verwendung wenigstens eines Prozessors in der Art des Prozessors 304 implementiert ist) beitritt, wartet (1204) das Fahrzeug-Dienstteilnehmersystem auf den Empfang einer Salt-Nachricht und eines Salts vom Fahrzeug-Dienstanbietersystem.
  • Gemäß einer Ausführungsform sendet beim Einleiten, wenn ein Fahrzeug-Dienstteilnehmersystem versucht, sich mit dem Fahrzeug-Dienstanbietersystem zu koordinieren, um einem Benutzer oder Fahrgast in Zusammenhang mit dem Fahrzeug-Dienstteilnehmersystem eine Fahrt bereitzustellen, das Fahrzeug-Dienstteilnehmersystem eine Benachrichtigung zum Fahrzeug-Dienstanbietersystem, wodurch eine neue Fahrt angefordert wird. Das Fahrzeug-Dienstteilnehmersystem tritt der Sitzung mit der Gruppe von Fahrzeug-Dienstteilnehmersystemen und dem Fahrzeug-Dienstanbietersystem bei. Das Fahrzeug-Dienstteilnehmersystem empfängt den Salt vom Fahrzeug-Dienstanbietersystem ansprechend auf das Senden einer Anforderung der Fahrt in einem Fahrzeug in Zusammenhang mit dem Fahrzeug-Dienstanbietersystem zum Fahrzeug-Dienstanbietersystem. Gemäß einer Ausführungsform weist der vom Fahrzeug-Dienstanbietersystem empfangene Salt vom Fahrzeug-Dienstanbietersystem erzeugte pseudozufällige Daten auf oder besteht aus diesen. Die pseudozufälligen Daten werden beispielsweise vom Fahrzeug-Dienstanbietersystem aus einem Entropie-Pool des Fahrzeug-Dienstanbietersystems ausgewählt. Der Entropie-Pool des Fahrzeug-Dienstanbietersystems ist unabhängig von der vom Fahrzeug-Dienstteilnehmersystem erzeugten Entropie.
  • Der Salt wird schließlich für die Berechnung von Sitzungsschlüsseln für die Sitzung durch das Fahrzeug-Dienstteilnehmersystem verwendet, so dass das Fahrzeug-Dienstteilnehmersystem Black-Channel-Nachrichten vom Fahrzeug-Dienstanbietersystem zur Bereitstellung einer Fahrt für einen Fahrgast in einem AV, das dem Fahrzeug-Dienstanbietersystem zugeordnet oder von diesem bereitgestellt wird, authentifizieren und decodieren (oder entschlüsseln) kann. Das Fahrzeug-Dienstanbietersystem sendet eine einen Salt enthaltende Salt-Nachricht aus, wie in weiteren Einzelheiten mit Bezug auf Element 500 in 5 dargestellt und beschrieben. Das Fahrzeug-Dienstteilnehmersystem empfängt den ausgesendeten Salt in der Salt-Nachricht vom Fahrzeug-Dienstanbietersystem.
  • Das Fahrzeug-Dienstteilnehmersystem ist einem Fahrzeug-Dienstteilnehmer zugeordnet, wobei es sich um einen Benutzer einer mobilen Vorrichtung, an der sich das Fahrzeug-Dienstteilnehmersystem befindet, einen Software-Client des Fahrzeug-Dienstteilnehmersystems, eine auf der mobilen Vorrichtung ausgeführte App oder einen auf einem AV-System, von dem das Fahrzeug-Dienstteilnehmersystem ein Teil ist, laufenden Software-Client handeln kann. Das Fahrzeug-Dienstteilnehmersystem erzeugt eine Entropie. Die Entropie wird vom Fahrzeug-Dienstteilnehmersystem unabhängig vom Fahrzeug-Dienstanbietersystem und unabhängig vom anderen Entropie-Pool des Fahrzeug-Dienstanbietersystems erzeugt, wie in weiteren Einzelheiten mit Bezug auf 11 dargestellt und beschrieben ist. Die Entropie ist ein zufälliger Wert (ganzzahliger oder Gleitkommawert), ein pseudozufälliger Wert, ein Digitalvektor zufällig erzeugter Bits oder eine Kombination davon. Gemäß einer Ausführungsform wählt das Fahrzeug-Dienstteilnehmersystem die Entropie aus einem Entropie-Pool, der vom verschiedenen Entropie-Pool des Fahrzeug-Dienstanbietersystems unabhängig ist, aus.
  • Das Fahrzeug-Dienstteilnehmersystem sendet (1208) eine Synchronisationsnachricht zum Fahrzeug-Dienstanbietersystem, das mit wenigstens einem Fahrzeug assoziiert ist. Die Synchronisationsnachricht weist die Entropie auf. Gemäß einer Ausführungsform empfängt das Fahrzeug-Dienstteilnehmersystem eine Salt-Nachricht, die ein Fehlen einer geplanten Salt-Aktualisierung angibt. Bevor das Fahrzeug-Dienstteilnehmersystem eine Synchronisationsnachricht zum Fahrzeug-Dienstanbietersystem sendet, wartet das Fahrzeug-Dienstteilnehmersystem in Element 1204 darauf, dass wenigstens eine Salt-Nachricht vom Fahrzeug-Dienstanbietersystem ausgesendet wird. Die Salt-Nachricht gibt an, dass gegenwärtig keine Salt-Aktualisierung geplant ist. Das Fahrzeug-Dienstanbietersystem verwirft jegliche Synchronisationsnachrichten, die empfangen werden, nachdem mit dem Aussenden einer Salt-Aktualisierung begonnen wurde. Das Fahrzeug-Dienstanbietersystem sendet einen Salt periodisch in regelmäßigen Intervallen unter Verwendung eines Zeitgebers zum Fahrzeug-Dienstteilnehmersystem. Die Salt-Nachricht unterscheidet sich von einer Aktualisierung, die angibt, dass eine Salt-Aktualisierung vom Fahrzeug-Dienstanbietersystem ausgeführt wird. Gemäß einer Ausführungsform ist der Zeitgeber ein elektronischer Zeitgeber in der Art eines Quarzzeitgebers mit Digitalelektronik, ein Integrierte-Schaltung-Zeitgeber, ein Softwarezeitgeber oder eine PLC mit Leiterlogik. Das Fahrzeug-Dienstteilnehmersystem sendet (1208) die Synchronisationsnachricht ansprechend auf den Empfang der Salt-Nachricht vom Fahrzeug-Dienstanbietersystem.
  • Ansprechend auf den Empfang einer einen Salt enthaltenden Aktualisierung (einer Salt-Aktualisierungsnachricht) vom Fahrzeug-Dienstanbietersystem verifiziert das Fahrzeug-Dienstteilnehmersystem, dass der Salt unter Verwendung der Entropie, die das Fahrzeug-Dienstteilnehmersystem zum Fahrzeug-Dienstanbietersystem beigetragen hat, erzeugt wurde. Gemäß einer Ausführungsform wird der Salt unter Verwendung eines HMACs vom Fahrzeug-Dienstanbietersystem auf der Grundlage der Entropie erzeugt. Das Fahrzeug-Dienstteilnehmersystem verifiziert, dass der Salt unter Verwendung eines HMACs und der Entropie, die das Fahrzeug-Dienstteilnehmersystem erzeugt und übertragen hat, erzeugt wurde. Beispielsweise wartet das Fahrzeug-Dienstteilnehmersystem, sobald die Synchronisationsnachricht in Element 1208 gesendet wurde, darauf, dass eine Salt-Aktualisierungsnachricht vom Fahrzeug-Dienstanbietersystem ausgesendet wird. Falls der Entropiebeitrag des Fahrzeug-Dienstteilnehmersystems aufgelistet, dargestellt oder in das Entropiefeld der Salt-Aktualisierungsnachricht aufgenommen ist und das Fahrzeug-Dienstteilnehmersystem die Bestimmung des neuen Salts verifiziert, hat das Fahrzeug-Dienstteilnehmersystem seine Entropie erfolgreich zum Salt beigetragen. Das Fahrzeug-Dienstteilnehmersystem berechnet dann Sitzungsschlüssel in Element 1212 und beginnt mit dem Authentifizieren Black-Channel-geschützter Nachrichten.
  • Gemäß einer Ausführungsform wird der Salt unter Verwendung der Entropie durch einen an einem vorhergehenden Salt (vom Fahrzeug-Dienstteilnehmersystem an Element 1204 empfangen) ausgeführten kryptographischen Hash erzeugt. Beispielsweise verwendet das Fahrzeug-Dienstanbietersystem eine Hash-Funktion, um die Entropie zu nehmen und den Salt einer festen Größe einschließlich verschlüsselten Textes zu erzeugen. Gemäß einer Ausführungsform versucht das Fahrzeug-Dienstteilnehmersystem, falls es feststellt, dass sein Entropiebeitrag nicht aufgelistet oder in die Salt-Aktualisierungsnachricht aufgenommen ist oder falls die Salt-Verifizierung fehlschlägt, das Synchronisationsnachrichtenelement von Element 1208 erneut. Gemäß einer Ausführungsform sendet das Fahrzeug-Dienstteilnehmersystem eine Warnnachricht zum Fahrzeug-Dienstanbietersystem, wodurch ein möglicher Replay-Angriff angegeben wird. Das Fahrzeug-Dienstteilnehmersystem traut einem ausgesendeten Salt erst, wenn der Entropiebeitrag des Fahrzeug-Dienstteilnehmersystems durch das Fahrzeug-Dienstanbietersystem in den Salt aufgenommen wurde. Das Fahrzeug-Dienstteilnehmersystem versucht diese Aufnahme zu verifizieren, und falls die Verifizierung erfolgreich ist, wird der Salt als vom Fahrzeug-Dienstteilnehmersystem vertraut angesehen. Nur ein Salt, dem vertraut wird, wird vom Fahrzeug-Dienstteilnehmersystem zur Berechnung von Sitzungsschlüsseln zur Authentifizierung von Black-Channel-geschützten Nachrichten vom Fahrzeug-Dienstanbietersystem verwendet.
  • Gemäß einer Ausführungsform empfängt das Fahrzeug-Dienstteilnehmersystem den Salt innerhalb einer Aktualisierung vom Fahrzeug-Dienstanbietersystem. Eine erste Frequenz der Übertragung der Salt-Nachricht ist größer als eine zweite Frequenz der Übertragung der Aktualisierung. Beispielsweise werden Salt-Nachrichten (von Aktualisierungsnachrichten verschieden) häufiger als Aktualisierungsnachrichten gesendet. Gemäß einer Ausführungsform verifiziert, sobald ein Fahrzeug-Dienstteilnehmersystem, das die Synchronisationsnachrichtenprozedur in Element 1208 erfolgreich abgeschlossen hat, eine Salt-Aktualisierungsnachricht empfängt, die angibt, dass eine Salt-Aktualisierung geplant ist, das Fahrzeug-Dienstteilnehmersystem die Salt-Bestimmung. Falls die Salt-Bestimmung erfolgreich verifiziert wird, berechnet (1212) das Fahrzeug-Dienstteilnehmersystem die neuen Sitzungsschlüssel und verwendet sie. Falls die Verifizierung fehlschlägt, versucht das Fahrzeug-Dienstteilnehmersystem die Synchronisationsnachrichtenprozedur von Element 1208 erneut.
  • Gemäß einer Ausführungsform stellt das Fahrzeug-Dienstteilnehmersystem fest, dass der in der Aktualisierungsnachricht empfangene Salt die Entropie nicht aufweist. Das Fahrzeug-Dienstteilnehmersystem wartet (1204) auf eine Salt-Nachricht vom Fahrzeug-Dienstanbietersystem, durch welche das Fehlen einer geplanten Salt-Aktualisierung angegeben wird. Ansprechend auf den Empfang einer Salt-Nachricht vom Fahrzeug-Dienstanbietersystem, wodurch das Fehlen einer geplanten Salt-Aktualisierung angegeben wird, sendet das Fahrzeug-Dienstteilnehmersystem die Synchronisationsnachricht erneut (1208). Gemäß einer Ausführungsform stellt das Fahrzeug-Dienstteilnehmersystem fest, dass der Salt die Entropie nicht aufweist. Ansprechend darauf sendet das Fahrzeug-Dienstteilnehmersystem eine Nachricht zum Fahrzeug-Dienstanbietersystem, wodurch ein möglicher Replay-Angriff angegeben wird. Gemäß einer Ausführungsform versucht, sobald ein Fahrzeug-Dienstteilnehmersystem, das die Synchronisationsnachrichtenprozedur von Element 1208 erfolgreich abgeschlossen hat, eine Salt-Nachricht empfängt, wobei der Salt-Wert nicht mit den eigenen Datensätzen des Fahrzeug-Dienstteilnehmersystems übereinstimmt, das Fahrzeug-Dienstteilnehmersystem die Synchronisationsnachrichtenprozedur von Element 1208 erneut.
  • Die hier offenbarten Ausführungsformen erkennen und verhindern daher zwei Angriffstypen. Es werden Replay-Angriffe verhindert, wobei eine bösartige Entität eine Salt-Nachricht oder eine Aktualisierung abfängt, das Fahrzeug-Dienstanbietersystem imitiert und Nachrichten zum Fahrzeug-Dienstteilnehmersystem sendet, wodurch sie vorgibt, das Fahrzeug-Dienstanbietersystem zu sein. Beispielsweise kann eine bösartige Entität Replay-Angriffe versuchen, um persönliche, finanzielle oder vertrauliche Informationen oder Zahlungen vom Fahrzeug-Dienstteilnehmersystem zu extrahieren. Es werden DoS-Angriffe verhindert, wobei eine bösartige Entität eine Salt-Nachricht oder eine Aktualisierung abfängt, das Fahrzeug-Dienstteilnehmersystem imitiert und Nachrichten zum Fahrzeug-Dienstanbietersystem sendet, wodurch sie vorgibt, das Fahrzeug-Dienstteilnehmersystem zu sein. Eine bösartige Entität kann einen DoS-Angriff versuchen, um persönliche, finanzielle oder vertrauliche Informationen vom Fahrzeug-Dienstanbietersystem zu extrahieren, Denial-of-Service zu implementieren oder zu versuchen, das Fahrzeug-Dienstanbietersystem zu erpressen.
  • In Element 1212 berechnet das Fahrzeug-Dienstteilnehmersystem Sitzungsschlüssel unter Verwendung des Salts. Die Sitzungsschlüssel werden ähnlich oder gleich erzeugt wie hier an anderer Stelle in weiteren Einzelheiten beschrieben. Gemäß einer Ausführungsform ist der durch das Fahrzeug-Dienstteilnehmersystem vom Fahrzeug-Dienstanbietersystem in Element 1208 empfangene Salt ein erster Salt und ist die vom Fahrzeug-Dienstteilnehmersystem erzeugte und in Element 1208 übertragene Entropie eine erste Entropie. Das Fahrzeug-Dienstteilnehmersystem, das die erste Entropie erzeugt, ist ein erstes Fahrzeug-Dienstteilnehmersystem der Gruppe von Fahrzeug-Dienstteilnehmersystemen. Die vom ersten Fahrzeug-Dienstteilnehmersystem in Element 1212 berechneten Sitzungsschlüssel sind erste Sitzungsschlüssel. Das erste Fahrzeug-Dienstteilnehmersystem empfängt in Element 1216 eine Aktualisierung vom Fahrzeug-Dienstanbietersystem. Die Aktualisierung weist einen unter Verwendung einer von einem zweiten Fahrzeug-Dienstteilnehmersystem der Gruppe von Fahrzeug-Dienstteilnehmersystemen erzeugten zweiten Entropie erzeugten zweiten Salt auf. Beispielsweise fordert das Fahrzeug-Dienstteilnehmersystem eine AV-Fahrt für einen Fahrgast in einem anderen Fahrzeug in Zusammenhang mit dem Fahrzeug-Dienstanbietersystem an. Das erste Fahrzeug-Dienstteilnehmersystem bewegt sich zu Element 1212 und berechnet zweite Sitzungsschlüssel unter Verwendung des zweiten Salts. Die zweiten Sitzungsschlüssel werden unter Verwendung eines Prozesses berechnet, der dem in weiteren Einzelheiten mit Bezug auf 11 beschriebenen Prozess gleicht oder ähnelt.
  • Gemäß einer Ausführungsform ist eine von einem Fahrzeug-Dienstteilnehmersystem in Element 1212 empfangene Black-Channel-Nachricht eine erste Black-Channel-Nachricht. Das Fahrzeug-Dienstteilnehmersystem stellt fest, dass Sitzungsschlüssel, die auf der Grundlage eines Salts berechnet wurden, der Entropie von einem anderen Fahrzeug-Dienstteilnehmersystem aufweist, nicht in der Lage sind, eine vom Fahrzeug-Dienstanbietersystem empfangene zweite Black-Channel-Nachricht zu authentifizieren. Beispielsweise gibt es ein Risiko, dass das zweite Fahrzeug-Dienstteilnehmersystem eine bösartige Entität ist. Das Fahrzeug-Dienstteilnehmersystem erzeugt eine Replay-Warnnachricht für das Fahrzeug-Dienstanbietersystem, wodurch ein möglicher Replay-Angriff angegeben wird.
  • Gemäß einer Ausführungsform ist das Fahrzeug-Dienstteilnehmersystem eines von einer Gruppe von Fahrzeug-Dienstteilnehmersystemen. Der Salt weist einen verketteten Satz von Elementen auf. Jedes Element des verketteten Satzes wird unter Verwendung einer anderen von einem jeweiligen Fahrzeug-Dienstteilnehmersystem der Gruppe von Fahrzeug-Dienstteilnehmersystemen erzeugten Entropie erzeugt. Dadurch verbessert jedes Fahrzeug-Dienstteilnehmersystem in der Gruppe von Fahrzeug-Dienstteilnehmersystemen die Sicherheit für jedes andere Fahrzeug-Dienstteilnehmersystem sowie für das Fahrzeug-Dienstanbietersystem. Beispielsweise können weitere Salt-Aktualisierungen in Element 1208 auftreten, wozu ein bestimmtes Fahrzeug-Dienstteilnehmersystem nicht direkt beigetragen hat. Durch Verifizieren jedes Glieds in der „Salt-Kette“ verifiziert das bestimmte Fahrzeug-Dienstteilnehmersystem, dass sein Entropiebeitrag noch vorhanden ist. Die „Salt-Kette“ wird unter Verwendung einer Reihe kryptographischer Hashes gebildet. Demgemäß repräsentiert der Salt-Wert die Geschichte der von Fahrzeug-Dienstteilnehmersystemen in der Sitzung beigetragenen Entropie. Selbst eine große Anzahl neuer Fahrzeug-Dienstteilnehmersysteme, die der Sitzung mit dem Fahrzeug-Dienstanbietersystem beitreten, „spült“ existierende Entropiebeiträge nicht aus. Falls ein Fahrzeug-Dienstteilnehmersystem erkennt, dass die „Salt-Kette“ unterbrochen wurde, berücksichtigt das Fahrzeug-Dienstteilnehmersystem jeden neuen Salt, dem nicht vertraut wird, bis das Fahrzeug-Dienstteilnehmersystem mehr Entropie beigetragen hat und verifiziert, dass die Entropie vom Fahrzeug-Dienstanbietersystem in einen Salt aufgenommen wurde.
  • Das Fahrzeug-Dienstteilnehmersystem empfängt eine Black-Channel-Nachricht vom Fahrzeug-Dienstanbietersystem. Das Fahrzeug-Dienstteilnehmersystem authentifiziert die Black-Channel-Nachricht unter Verwendung der Sitzungsschlüssel zur Bereitstellung einer Fahrt in wenigstens einem Fahrzeug in Zusammenhang mit dem Fahrzeug-Dienstanbietersystem. Falls die Authentifizierung der Black-Channel-Nachricht fehlschlägt, bewegt sich das Fahrzeug-Dienstteilnehmersystem zu Element 1204 im Prozess und wartet auf die nächste Salt-Nachricht. Gemäß einer Ausführungsform initialisiert das Fahrzeug-Dienstteilnehmersystem einen Black-Channel-Empfänger zum Empfang von Black-Channel-Nachrichten vom Fahrzeug-Dienstanbietersystem ansprechend auf die Verifikation, dass der Salt unter Verwendung der Entropie erzeugt wurde. In Element 1216 initialisiert das Fahrzeug-Dienstteilnehmersystem, sobald die Black-Channel-Nachricht authentifiziert wurde und dem Salt vertraut wird, seinen Black-Channel-Empfänger, um weitere Black-Channel-Nachrichten in Zusammenhang mit der Bereitstellung einer AV-Fahrt zu empfangen und zu entschlüsseln.
  • Gemäß einer Ausführungsform empfängt das Fahrzeug-Dienstteilnehmersystem in Element 1216 eine nächste Aktualisierung. Das Fahrzeug-Dienstteilnehmersystem bewegt sich zu Element 1212 im Prozess und berechnet Sitzungsschlüssel auf der Grundlage des nächsten Salts. Das Fahrzeug-Dienstteilnehmersystem stellt fest, dass die nächste Aktualisierung angibt, dass der aktuelle Salt bis zu einer bestimmten Zeit gültig ist. Beispielsweise wird der „Gültig bis“-Wert als Indikator verwendet. Der „Gültig bis“-Indikator wird in weiteren Einzelheiten mit Bezug auf 8 beschrieben. Das Fahrzeug-Dienstteilnehmersystem empfängt innerhalb der nächsten Aktualisierung einen nächsten Salt vom Fahrzeug-Dienstanbietersystem. Das Fahrzeug-Dienstteilnehmersystem entschlüsselt Black-Channel-Nachrichten auf der Grundlage des aktuellen Salts. Die Black-Channel-Nachrichten dienen der Bereitstellung der Fahrt in einem Fahrzeug in Zusammenhang mit dem Fahrzeug-Dienstanbietersystem.
  • In Element 1216 empfängt das Fahrzeug-Dienstteilnehmersystem periodisch Salt-Nachrichten, die den aktuellen Salt enthalten, vom Fahrzeug-Dienstanbietersystem. Falls einer dieser empfangenen Salt-Werte nicht mit dem aktuellen Salt übereinstimmt, bewegt sich das Fahrzeug-Dienstteilnehmersystem zu Element 1204 im Prozess, wo es auf die nächste Salt-Nachricht vom Fahrzeug-Dienstanbietersystem wartet. Beispielsweise verwendet das Fahrzeug-Dienstanbietersystem einen Zeitgeber zur periodischen Wiederaussendung der Salt-Nachrichten, wie in weiteren Einzelheiten mit Bezug auf 8 dargestellt und beschrieben. Gemäß einer Ausführungsform wird die Salt-Nachricht in vom Zeitgeber gesteuerten Intervallen mit einer maximalen Anzahl M ausgesendet und wiederholt. Gemäß einer Ausführungsform ist der Zeitgeber ein elektronischer Zeitgeber in der Art eines Quarzzeitgebers mit Digitalelektronik, ein Integrierte-Schaltung-Zeitgeber, ein Softwarezeitgeber oder eine PLC mit Leiterlogik.
  • 13 ist ein Flussdiagramm, das einen beispielhaften Prozess zur Sitzungsschlüsselerzeugung für einen AV-Betrieb gemäß wenigstens einer Ausführungsform zeigt. Wenigstens ein unter Verwendung des Prozesses betriebenes AV gleicht oder ähnelt dem AV 100. Gemäß einer Ausführungsform wird der Prozess aus 13 durch ein Fahrzeug-Dienstanbietersystem (beispielsweise AV-Dienstanbietersystem 704) ausgeführt. Andere Entitäten, beispielsweise ein Server (beispielsweise Server 136) oder ein Computersystem (beispielsweise Computersystem 300), führen einige oder alle der Elemente des Prozesses gemäß anderen Ausführungsformen aus. Zusätzlich weisen andere Ausführungsformen des dargestellten Prozesses mehr, weniger oder andere Elemente oder in einer von der dargestellten Reihenfolge verschiedenen Reihenfolge angeordnete Elemente auf.
  • Das Fahrzeug-Dienstanbietersystem sendet (1304) einen ersten Salt zu wenigstens einem Fahrzeug-Dienstteilnehmersystem (beispielsweise dem unter Verwendung wenigstens eines Prozessors in der Art des Prozessors 304 implementierten AV-Dienstteilnehmersystem 708) in Zusammenhang mit einem Fahrzeug-Dienstteilnehmer. Das Fahrzeug-Dienstanbietersystem ist mit wenigstens einem Fahrzeug assoziiert.
  • Das Fahrzeug-Dienstanbietersystem startet einen Zeitgeber in Zusammenhang mit der Dauer des Sendens des ersten Salts innerhalb einer Salt-Nachricht zur Gruppe von Fahrzeug-Dienstteilnehmersystemen. Ansprechend darauf, dass der Zeitgeber abläuft, sendet (1304) das Fahrzeug-Dienstanbietersystem eine den beim Einleiten erzeugten oder ausgewählten ersten Salt enthaltende Salt-Nachricht aus. Der Zeitgeber in Zusammenhang mit der Dauer des Aussendens des ersten Salts wird zurückgesetzt, und das Fahrzeug-Dienstanbietersystem sendet erneut (1304) eine Salt-Nachricht, die den ersten Salt enthält, periodisch, wenn der Zeitgeber abläuft. Beispielsweise ist der Zeitgeber ein elektronischer Zeitgeber in der Art eines Quarzzeitgebers mit Digitalelektronik, ein Integrierte-Schaltung-Zeitgeber, ein Softwarezeitgeber oder eine PLC mit Leiterlogik.
  • Das Fahrzeug-Dienstanbietersystem empfängt (1308) eine Synchronisationsnachricht vom Fahrzeug-Dienstteilnehmersystem. Die Synchronisationsnachricht weist eine vom Fahrzeug-Dienstteilnehmersystem erzeugte Entropie auf. Die Entropie wird vom Fahrzeug-Dienstteilnehmersystem unabhängig vom Fahrzeug-Dienstanbietersystem und unabhängig vom anderen Entropie-Pool des Fahrzeug-Dienstanbietersystems erzeugt. Die Entropie ist ein zufälliger Wert (ganzzahliger oder Gleitkommawert), ein pseudozufälliger Wert, ein Digitalvektor zufällig erzeugter Bits oder eine Kombination davon. Die Synchronisationsnachricht wird vom Fahrzeug-Dienstteilnehmersystem erzeugt, um Entropie zur nächsten Salt-Aktualisierung beizutragen.
  • Der Entropiewert wird unter Verwendung verschiedener Hashing-Algorithmen und Hashing-Implementationen durch das Fahrzeug-Dienstteilnehmersystem angepasst. Gemäß einer Ausführungsform ist ein „Entropie“-Feld in der Synchronisationsnachricht eine von einem Fahrzeug-Dienstteilnehmersystem aus seinem eigenen Entropie-Pool gezogene Zufallszahl. Ein „Letzte Salt“-Feld bezieht sich auf den Salt-Wert aus der letzten Salt-Nachricht, die das Fahrzeug-Dienstteilnehmersystem empfangen hat. Beispielsweise ist der „letzte Salt“ der erste vom Fahrzeug-Dienstanbietersystem in Element 1304 erzeugte Salt. Gemäß einer Ausführungsform erhöht das Fahrzeug-Dienstanbietersystem die Sicherheit durch Verifizieren, dass das „Letzter Salt“-Feld der Synchronisationsnachricht gültig ist. Damit er gültig ist, sollte der „Letzter Salt“-Feldwert der Synchronisationsnachricht mit dem aktuellen Salt (beispielsweise dem ersten Salt) des Fahrzeug-Dienstanbietersystems übereinstimmen. Falls die Überprüfung erfolgreich ist, bearbeitet das Fahrzeug-Dienstanbietersystem die Synchronisationsnachricht.
  • Das Fahrzeug-Dienstanbietersystem erzeugt (1312) einen zweiten Salt auf der Grundlage des ersten Salts und der Entropie. Beispielsweise aktualisiert (1308) das Fahrzeug-Dienstanbietersystem den ersten Salt durch Verketten des aktuellen Salts (beispielsweise des ersten Salts) und der Entropie aus der empfangenen Synchronisationsnachricht. Gemäß einer Ausführungsform weist die Erzeugung des zweiten Salts die Ausführung eines HMACs auf eine Verkettung des ersten Salts und der Entropie durch das Fahrzeug-Dienstanbietersystem auf. Beispielsweise werden die verketteten Daten durch einen Hashing-Algorithmus geleitet, um den Wert des zweiten Salts zu erzeugen. Gemäß einer Ausführungsform werden das Fahrzeug-Dienstanbietersystem identifizierende Informationen in der Art eines Namens, einer Identifikationsnummer oder einer IP-Adresse in die verketteten Daten aufgenommen, um die Datensicherheit zu erhöhen.
  • Das Fahrzeug-Dienstanbietersystem berechnet (1316) Sitzungsschlüssel auf der Grundlage des zweiten Salts. Gemäß einer Ausführungsform werden die Sitzungsschlüssel unter Verwendung einer HKDF, eines IKMs und des zweiten Salts berechnet, wie in weiteren Einzelheiten mit Bezug auf 5 dargestellt und beschrieben. Beispielsweise werden die Sitzungsschlüssel unter Verwendung einer HKDF auf der Grundlage eines HMACs bestimmt. Gemäß einer Ausführungsform setzt das Fahrzeug-Dienstanbietersystem nach dem Empfang der Synchronisationsnachricht einen Zeitgeber und wird der zweite Salt durch das Fahrzeug-Dienstanbietersystem erzeugt, wenn der Zeitgeber abläuft. Wenn der zweite Salt erzeugt wird, reinitialisiert das Fahrzeug-Dienstanbietersystem seinen Geschützte-Nachricht(beispielsweise Black-Channel-Nachricht)-Senderkontext mit den vom zweiten Salt abgeleiteten Sitzungsschlüsseln. Gemäß einer Ausführungsform verifiziert das Fahrzeug-Dienstanbietersystem zur weiteren Verbesserung der Sicherheit vor der Erzeugung der Sitzungsschlüssel die an einer Verkettung des „letzten Salts“ vom Fahrzeug-Dienstteilnehmersystem und der Entropieabgleiche des zweiten Salts ausgeführte Hash-basierte Nachrichtenauthentifizierung. Ansprechend darauf, dass die Verifikation fehlschlägt, signalisiert das Fahrzeug-Dienstanbietersystem einen möglichen DoS-Angriff oder eine mögliche Irregularität.
  • Das Fahrzeug-Dienstanbietersystem sendet (1320) eine Aktualisierung zum Fahrzeug-Dienstteilnehmersystem. Die Aktualisierung weist den zweiten Salt zur Entschlüsselung geschützter Nachrichten unter Verwendung der Sitzungsschlüssel auf. Die geschützten Nachrichten werden zur Bereitstellung einer Fahrt, die das wenigstens eine Fahrzeug betrifft, verwendet. Gemäß einer Ausführungsform sendet das Fahrzeug-Dienstanbietersystem eine erweiterte Salt-Aktualisierungsnachricht aus. Die Salt-Aktualisierungsnachricht wird erweitert, um wenigstens einen als Teil der Synchronisationsnachrichten von der Gruppe von Fahrzeug-Dienstteilnehmersystemen empfangenen Entropiebeitrag aufzunehmen.
  • Ein „Entropie“-Feld in der erweiterten Aktualisierung bezeichnet die von wenigstens einem Fahrzeug-Dienstteilnehmersystem beigetrage Entropie. Gemäß einer Ausführungsform wird die Sicherheit durch Erweitern der Salt-Erzeugung weiter verbessert, um zu verhindern, dass ein Angreifer eine Salt-Aktualisierungsnachricht erzeugt und möglicherweise einen DoS-Angriff gegen die Gruppe von Fahrzeug-Dienstteilnehmersystemen hervorruft. Die Salt-Erzeugung wird durch Ersetzen des kryptographischen Hashes mit einem HMAC erweitert, um zu verhindern, dass Angreifer Salt-Aktualisierungsnachrichten fälschen.
  • 14 ist ein Flussdiagramm, das einen beispielhaften Prozess zur Sitzungsschlüsselerzeugung für einen Betrieb eines AVs (beispielsweise des AVs 100) gemäß wenigstens einer Ausführungsform zeigt. Gemäß einer Ausführungsform wird der Prozess aus 14 durch ein Fahrzeug-Dienstteilnehmersystem (beispielsweise AV-Dienstteilnehmersystem 708, das unter Verwendung wenigstens eines Prozessors in der Art des Prozesses 304 implementiert ist) in einer Gruppe von Fahrzeug-Dienstteilnehmersystemen ausgeführt. Andere Entitäten, beispielsweise ein Server (beispielsweise Server 136), ein Computersystem (beispielsweise Computersystem 300), eine mobile Vorrichtung oder ein AV-System (beispielsweise AV-System 120), führen einige oder alle der Elemente des Prozesses gemäß anderen Ausführungsformen aus. Es sei bemerkt, dass andere Ausführungsformen des Prozesses mehr oder weniger Elemente, andere Elemente, in einer anderen Reihenfolge angeordnete Elemente usw. aufweisen.
  • Das Fahrzeug-Dienstteilnehmersystem erzeugt (1404) eine Entropie. Das Fahrzeug-Dienstteilnehmersystem ist mit einem Fahrzeug-Dienstteilnehmer assoziiert, wobei es sich um einen auf dem Fahrzeug-Dienstteilnehmersystem laufenden Software-Client oder einen Benutzer des Fahrzeug-Dienstteilnehmersystems handelt. Die Entropie wird vom Fahrzeug-Dienstteilnehmersystem unabhängig vom Fahrzeug-Dienstanbietersystem und unabhängig vom anderen Entropie-Pool des Fahrzeug-Dienstanbietersystems erzeugt, wie in weiteren Einzelheiten mit Bezug auf 11 dargestellt und beschrieben ist. Die Entropie ist ein zufälliger Wert (ganzzahliger oder Gleitkommawert), ein pseudozufälliger Wert, ein Digitalvektor zufällig erzeugter Bits oder eine Kombination davon. Gemäß einer Ausführungsform wählt das Fahrzeug-Dienstteilnehmersystem die Entropie aus einem Entropie-Pool, der vom verschiedenen Entropie-Pool des Fahrzeug-Dienstanbietersystems unabhängig ist, aus.
  • Das Fahrzeug-Dienstteilnehmersystem sendet (1408) eine Synchronisationsnachricht zu einem Fahrzeug-Dienstanbietersystem, das mit wenigstens einem Fahrzeug assoziiert ist. Die Synchronisationsnachricht weist die Entropie auf. Gemäß einer Ausführungsform empfängt das Fahrzeug-Dienstteilnehmersystem eine Salt-Nachricht, die ein Fehlen einer geplanten Salt-Aktualisierung angibt. Bevor das Fahrzeug-Dienstteilnehmersystem eine Synchronisationsnachricht zum Fahrzeug-Dienstanbietersystem sendet, wartet das Fahrzeug-Dienstteilnehmersystem darauf, dass wenigstens eine Salt-Nachricht vom Fahrzeug-Dienstanbietersystem ausgesendet wird. Die Salt-Nachricht gibt an, dass gegenwärtig keine Salt-Aktualisierung geplant ist. Das Fahrzeug-Dienstanbietersystem verwirft jegliche Synchronisationsnachrichten, die empfangen werden, nachdem mit dem Aussenden einer Salt-Aktualisierung begonnen wurde. Das Fahrzeug-Dienstanbietersystem sendet einen Salt periodisch in regelmäßigen Intervallen unter Verwendung eines Zeitgebers zum Fahrzeug-Dienstteilnehmersystem. Die Salt-Nachricht unterscheidet sich von einer Aktualisierung, die angibt, dass eine Salt-Aktualisierung vom Fahrzeug-Dienstanbietersystem ausgeführt wird. Gemäß einer Ausführungsform ist der Zeitgeber ein elektronischer Zeitgeber in der Art eines Quarzzeitgebers mit Digitalelektronik, ein Integrierte-Schaltung-Zeitgeber, ein Softwarezeitgeber oder eine PLC mit Leiterlogik.
  • Das Fahrzeug-Dienstteilnehmersystem empfängt (1412) einen Salt vom Fahrzeug-Dienstanbietersystem. Der Salt wird innerhalb einer Aktualisierung vom Fahrzeug-Dienstanbietersystem empfangen. Das Fahrzeug-Dienstteilnehmersystem verifiziert, dass der Salt unter Verwendung der Entropie, die das Fahrzeug-Dienstteilnehmersystem zum Fahrzeug-Dienstanbietersystem beigetragen hat, erzeugt wurde. Gemäß einer Ausführungsform wird der Salt unter Verwendung eines HMACs vom Fahrzeug-Dienstanbietersystem auf der Grundlage der Entropie erzeugt. Das Fahrzeug-Dienstteilnehmersystem verifiziert, dass der Salt unter Verwendung eines HMACs und der Entropie, die das Fahrzeug-Dienstteilnehmersystem erzeugt und übertragen hat, erzeugt wurde. Beispielsweise wartet das Fahrzeug-Dienstteilnehmersystem, sobald die Synchronisationsnachricht gesendet wurde, darauf, dass eine Salt-Aktualisierungsnachricht vom Fahrzeug-Dienstanbietersystem ausgesendet wird.
  • Falls der Entropiebeitrag des Fahrzeug-Dienstteilnehmersystems aufgelistet, dargestellt oder in das Entropiefeld der Salt-Aktualisierungsnachricht aufgenommen ist und das Fahrzeug-Dienstteilnehmersystem die Bestimmung des neuen Salts verifiziert, hat das Fahrzeug-Dienstteilnehmersystem seine Entropie erfolgreich zum Salt beigetragen. Das Fahrzeug-Dienstteilnehmersystem berechnet dann Sitzungsschlüssel und beginnt mit dem Authentifizieren geschützter Nachrichten. Gemäß einer Ausführungsform wird der Salt unter Verwendung der Entropie durch einen an einem vorhergehenden Salt (vom Fahrzeug-Dienstteilnehmersystem empfangen) ausgeführten kryptographischen Hash erzeugt. Beispielsweise verwendet das Fahrzeug-Dienstanbietersystem eine Hash-Funktion, um die Entropie zu nehmen und den Salt einer festen Größe einschließlich verschlüsselten Textes zu erzeugen.
  • Das Fahrzeug-Dienstteilnehmersystem verifiziert (1416), dass der Salt unter Verwendung der Entropie erzeugt wurde. Gemäß einer Ausführungsform versucht das Fahrzeug-Dienstteilnehmersystem, falls es feststellt, dass sein Entropiebeitrag nicht aufgelistet oder in die Salt-Aktualisierungsnachricht aufgenommen ist oder falls die Salt-Verifizierung fehlschlägt, das Synchronisationsnachrichtenelement erneut. Gemäß einer Ausführungsform sendet das Fahrzeug-Dienstteilnehmersystem eine Warnnachricht zum Fahrzeug-Dienstanbietersystem, wodurch ein möglicher Replay-Angriff angegeben wird. Das Fahrzeug-Dienstteilnehmersystem traut einem ausgesendeten Salt erst, wenn der Entropiebeitrag des Fahrzeug-Dienstteilnehmersystems durch das Fahrzeug-Dienstanbietersystem in den Salt aufgenommen wurde. Der Teilnehmer versucht, diese Aufnahme zu verifizieren, und falls die Verifizierung erfolgreich ist, wird der Salt als vom Fahrzeug-Dienstteilnehmersystem vertraut angesehen. Nur ein Salt, dem vertraut wird, wird vom Fahrzeug-Dienstteilnehmersystem zur Berechnung von Sitzungsschlüsseln zur Authentifizierung von geschützten Nachrichten vom Fahrzeug-Dienstanbietersystem verwendet.
  • Das Fahrzeug-Dienstteilnehmersystem berechnet (1420) Sitzungsschlüssel unter Verwendung des Salts. Die Sitzungsschlüssel sind für die Kommunikationssitzung mit dem Fahrzeug-Dienstanbietersystem vorgesehen. Die Sitzungsschlüssel werden ähnlich oder gleich erzeugt wie hier an anderer Stelle in weiteren Einzelheiten beschrieben. Gemäß einer Ausführungsform ist der durch das Fahrzeug-Dienstteilnehmersystem vom Fahrzeug-Dienstanbietersystem empfangene Salt ein erster Salt und ist die vom Fahrzeug-Dienstteilnehmersystem erzeugte und übertragene Entropie eine erste Entropie. Das Fahrzeug-Dienstteilnehmersystem, das die erste Entropie erzeugt, ist ein erstes Fahrzeug-Dienstteilnehmersystem der Gruppe von Fahrzeug-Dienstteilnehmersystemen. Die vom ersten Fahrzeug-Dienstteilnehmersystem berechneten Sitzungsschlüssel sind erste Sitzungsschlüssel. Das erste Fahrzeug-Dienstteilnehmersystem empfängt eine Aktualisierung vom Fahrzeug-Dienstanbietersystem. Die Aktualisierung weist einen unter Verwendung einer von einem zweiten Fahrzeug-Dienstteilnehmersystem der Gruppe von Fahrzeug-Dienstteilnehmersystemen erzeugten zweiten Entropie erzeugten zweiten Salt auf. Beispielsweise fordert das Fahrzeug-Dienstteilnehmersystem eine AV-Fahrt für einen Fahrgast in einem anderen Fahrzeug in Zusammenhang mit dem Fahrzeug-Dienstanbietersystem an. Das erste Fahrzeug-Dienstteilnehmersystem berechnet zweite Sitzungsschlüssel unter Verwendung des zweiten Salts. Die zweiten Sitzungsschlüssel werden unter Verwendung eines Prozesses berechnet, der dem in weiteren Einzelheiten mit Bezug auf 11 beschriebenen Prozess gleicht oder ähnelt.
  • Das Fahrzeug-Dienstteilnehmersystem empfängt (1424) eine geschützte Nachricht vom Fahrzeug-Dienstanbietersystem. Das Fahrzeug-Dienstteilnehmersystem authentifiziert die geschützte Nachricht unter Verwendung der Sitzungsschlüssel zur Bereitstellung einer Fahrt in wenigstens einem Fahrzeug in Zusammenhang mit dem Fahrzeug-Dienstanbietersystem. Falls die Authentifizierung der geschützten Nachricht fehlschlägt, wartet das Fahrzeug-Dienstteilnehmersystem auf die nächste Salt-Nachricht. Gemäß einer Ausführungsform initialisiert das Fahrzeug-Dienstteilnehmersystem einen Geschützte-Nachricht-Empfänger zum Empfang geschützter Nachrichten vom Fahrzeug-Dienstanbietersystem ansprechend auf die Verifikation, dass der Salt unter Verwendung der Entropie erzeugt wurde. Sobald die geschützte Nachricht authentifiziert wurde und dem Salt vertraut wird, initialisiert das Fahrzeug-Dienstteilnehmersystem seinen Geschützte-Nachricht-Empfänger, um weitere Black-Channel-Nachrichten in Zusammenhang mit der Bereitstellung einer AV-Fahrt zu empfangen und zu entschlüsseln.
  • Das Fahrzeug-Dienstteilnehmersystem authentifiziert (1428) die geschützte Nachricht unter Verwendung der Sitzungsschlüssel. Die geschützte Nachricht wird verwendet, um eine Fahrt bereitzustellen, die das wenigstens eine Fahrzeug in Zusammenhang mit dem Fahrzeug-Dienstanbietersystem betrifft. Falls die Authentifizierung der geschützten Nachricht unter Verwendung der Sitzungsschlüssel gelingt, hat das Fahrzeug-Dienstteilnehmersystem die korrekten Sitzungsschlüssel für die Sitzung. Das Fahrzeug-Dienstteilnehmersystem verbraucht die geschützte Nachricht und ignoriert künftige Salt-Nachrichten, die es während der Sitzung empfängt. Das Fahrzeug-Dienstteilnehmersystem wird nicht vom Fahrzeug-Dienstanbietersystem desynchronisiert und authentifiziert geschützte Nachrichten vom Fahrzeug-Dienstanbietersystem unter Verwendung derselben Sitzungsschlüssel für die Dauer der Sitzung.
  • In der vorhergehenden Beschreibung wurden Ausführungsformen der Erfindung mit Bezug auf zahlreiche spezifische Einzelheiten, die von Implementation zu Implementation variieren können, beschrieben. Die Beschreibung und die Zeichnungen sind demgemäß als erläuternd statt als einschränkend anzusehen. Der einzige und ausschließliche Indikator des Schutzumfangs der Erfindung und dessen, was von den Anmeldern als der Schutzumfang der Erfindung vorgesehen ist, ist der buchstäbliche und gleichwertige Schutzumfang des Anspruchssatzes, der sich aus dieser Anmeldung ergibt, in der spezifischen Form, in der diese Ansprüche erteilt werden, einschließlich jeder späteren Korrektur. Jegliche Definitionen, die hier ausdrücklich für in diesen Ansprüchen enthaltene Begriffe dargelegt sind, sollen die Bedeutung dieser Begriffe, wie in den Ansprüchen verwendet, bestimmen. Zusätzlich kann, wenn wir den Begriff „ferner aufweisend“ in der folgenden Beschreibung oder den folgenden Ansprüchen verwenden, das, was diesem Ausdruck folgt, ein zusätzliches Element oder eine zusätzliche Entität oder ein Unterelement/eine Unterentität eines zuvor erwähnten Elements oder einer zuvor erwähnten Entität sein.
  • Claims (21)

    1. Verfahren, aufweisend: Aussenden eines ersten Salt durch ein Fahrzeug-Dienstanbietersystem, das mindestens einen Prozessor aufweist, an mindestens ein Fahrzeug-Dienstteilnehmersystem, das einem Fahrzeug-Dienstteilnehmer zugeordnet ist, wobei das Fahrzeug-Dienstanbietersystem mindestens einem Fahrzeug zugeordnet ist; Empfangen einer Synchronisationsnachricht von dem mindestens einen Fahrzeug-Dienstteilnehmersystem durch das Fahrzeug-Dienstanbietersystem mit dem mindestens einen Prozessor, wobei die Synchronisationsnachricht eine Entropie aufweist; Erzeugen eines zweiten Salt auf der Basis des ersten Salt und der Entropie durch das Fahrzeug-Dienstanbietersystem mit dem mindestens einen Prozessor; Berechnen von Sitzungsschlüsseln auf der Basis des zweiten Salt durch das Fahrzeug-Dienstanbietersystem mit dem mindestens einen Prozessor; und Aussenden einer Aktualisierung durch das Fahrzeug-Dienstanbietersystem mit dem mindestens einen Prozessor an das mindestens eine Fahrzeug-Dienstteilnehmersystem, wobei die Aktualisierung den zweiten Salt zum Entschlüsseln geschützter Nachrichten unter Verwendung der Sitzungsschlüssel aufweist, wobei die geschützten Nachrichten zur Bereitstellung einer Fahrt verwendet werden, an der mindestens ein Fahrzeug beteiligt ist.
    2. Verfahren nach Anspruch 1, wobei das Fahrzeug-Dienstteilnehmersystem ein autonomes Fahrzeugsystem aufweist, das dem mindestens einen Fahrzeug zugeordnet ist, und das Fahrzeug-Dienstteilnehmersystem einen Software-Klienten aufweist, der auf dem autonomen Fahrzeugsystem ausgeführt wird.
    3. Verfahren nach Anspruch 1 oder 2, wobei der Fahrzeug-Dienstteilnehmer einem Benutzer zugeordnet ist und das Fahrzeug-Dienstteilnehmersystem eine Benutzervorrichtung aufweist.
    4. Verfahren nach einem der Ansprüche 1-3, wobei die Sitzungsschlüssel unter Verwendung einer gehashten Schlüsselableitungsfunktion, eines Eingangsschlüsselmaterials und des zweiten Salt berechnet werden.
    5. Verfahren nach einem der Ansprüche 1-4, wobei die Entropie durch das Fahrzeug-Dienstteilnehmersystem unabhängig von dem Fahrzeug-Dienstanbietersystem erzeugt wird.
    6. Verfahren nach einem der Ansprüche 1-5, ferner aufweisend: Initialisieren eines geschützten Nachrichtensenders durch das Fahrzeug-Dienstanbietersystem mit dem mindestens einen Prozessor unter Verwendung der Sitzungsschlüssel zum Senden der geschützten Nachrichten zu dem mindestens einen Fahrzeug-Dienstteilnehmersystem.
    7. Verfahren nach einem der Ansprüche 1-6, ferner aufweisend: Überwachen eines einer Dauer des Aussendens des ersten Salt zugeordneten Timers durch das Fahrzeug-Dienstanbietersystem mit dem mindestens einen Prozessors, wobei die Aktualisierung als Reaktion auf Ablauf des Timers an das mindestens eine Fahrzeug-Dienstteilnehmersystem ausgestrahlt wird.
    8. Verfahren nach einem der Ansprüche 1-7, wobei die Entropie eine erste Entropie ist, das mindestens eine Fahrzeug-Dienstteilnehmersystem ein erstes Fahrzeug-Dienstteilnehmersystem ist, die Fahrt eine erste Fahrt ist und die Aktualisierung eine erste Aktualisierung ist, wobei das Verfahren ferner Folgendes aufweist: Empfangen einer Anforderung von einem zweiten Fahrzeug-Dienstteilnehmersystem einer zweiten Fahrt durch das Fahrzeug-Dienstanbietersystem mit dem mindestens einen Prozessors; Erzeugen eines dritten Salt auf der Basis des zweiten Salt und einer durch das zweite Fahrzeug-Dienstteilnehmersystem erzeugten zweiten Entropie durch das Fahrzeug-Dienstanbietersystem mit dem mindestens eines Prozessor; und Aussenden einer zweiten Aktualisierung an das mindestens eine Fahrzeug-Dienstteilnehmersystem und das zweite Fahrzeug-Dienstteilnehmersystem durch das Fahrzeug-Dienstanbietersystem mit dem mindestens einen Prozessor, wobei die zweite Aktualisierung den dritten Salt aufweist.
    9. Verfahren nach einem der Ansprüche 1-8, wobei Erzeugen des zweiten Salt Durchführen einer auf Hash basierenden Nachrichtenauthentifizierung an einer Verkettung des ersten Salt und der Entropie durch das Fahrzeug-Dienstanbietersystem mit dem mindestens einen Prozessor aufweist.
    10. Verfahren nach einem der Ansprüche 1-9, wobei der zweite Salt ein Hash mehrerer Entropiewerte aufweist, wobei jeder Entropiewert durch das Fahrzeug-Dienstanbietersystem von einem jeweiligen Fahrzeug-Dienstteilnehmersystem empfangen wird.
    11. Verfahren nach einem der Ansprüche 1-10, wobei die Synchronisationsnachricht eine erste Synchronisationsnachricht ist, wobei das Verfahren ferner Folgendes aufweist: Empfangen einer zweiten Synchronisationsnachricht durch das Fahrzeug-Dienstanbietersystem mit dem mindestens einen Prozessor nach dem Aussenden der Aktualisierung; und Verwerfen der zweiten Synchronisationsnachricht durch das Fahrzeug-Dienstanbietersystem mit dem mindestens einen Prozessor als Reaktion auf Ausstrahlung der Aktualisierung.
    12. Verfahren nach einem der Ansprüche 1-11, wobei die Synchronisationsnachricht einen vorherigen Salt aufweist, wobei das Verfahren ferner Folgendes aufweist: Verifizieren, dass eine an einer Verkettung des vorherigen Salt und der Entropie ausgeführte auf Hash basierende Nachrichtenauthentifizierung mit dem zweiten Salt übereinstimmt, durch das Fahrzeug-Dienstanbietersystem mit dem mindestens einen Prozessor vor dem Berechnen der Sitzungsschlüssel.
    13. Verfahren nach einem der Ansprüche 1-12, ferner aufweisend: Verschlüsseln der geschützten Nachrichten unter Verwendung der Sitzungsschlüssel durch das Fahrzeug-Dienstanbietersystem mit dem mindestens einen Prozessor; und Senden der geschützten Nachrichten zu dem mindestens einen Fahrzeug-Dienstteilnehmersystem durch das Fahrzeug-Dienstanbietersystem mit dem mindestens einen Prozessor.
    14. Verfahren nach einem der Ansprüche 1-13, wobei eine erste Häufigkeit der Übertragung der geschützten Nachrichten durch das Fahrzeug-Dienstanbietersystem größer oder gleich einer zweiten Häufigkeit der Übertragung des ersten Salt ist.
    15. Verfahren nach einem der Ansprüche 1-14, ferner aufweisend: Aussenden des zweiten Salt an das mindestens eine Fahrzeug-Dienstteilnehmersystem zur Bereitstellung der Fahrt in dem mindestens einen Fahrzeug durch das Fahrzeug-Dienstanbietersystem mit dem mindestens einen Prozessor.
    16. Verfahren nach Anspruch 15, ferner aufweisend: Überwachen eines einer Dauer des Aussendens der Aktualisierung zugeordneten Timers durch das Fahrzeug-Dienstanbietersystem, wobei der zweite Salt als Reaktion auf Ablauf des Timers ausgestrahlt wird.
    17. Verfahren nach einem der Ansprüche 1-16, ferner aufweisend: Bestimmen, dass ein Ergebnis der an dem ersten Salt ausgeführten auf Hash basierenden Nachrichtenauthentifizierung nicht mit einem vorherigen Salt übereinstimmt, durch das Fahrzeug-Dienstanbietersystem mit dem mindestens einen Prozessor, wobei die Synchronisationsnachricht ferner den vorherigen Salt aufweist; und Bestimmen einer Angabe einer möglichen Denial-of-Service-Attacke durch das Fahrzeug-Dienstanbietersystem mit dem mindestens einen Prozessor als Reaktion auf Bestimmen, dass das Ergebnis nicht mit dem vorherigen Salt übereinstimmt.
    18. Verfahren nach einem der Ansprüche 1-17, wobei die geschützten Nachrichten Black-Channel-Nachrichten sind.
    19. Fahrzeug-Dienstanbietersystem, aufweisend: wenigstens einen Computerprozessor und wenigstens ein nichtflüchtiges Speichermedium, das Befehle speichert, die, wenn sie von wenigstens einem Computerprozessor ausgeführt werden, das Fahrzeug-Dienstanbietersystem veranlassen sollen, das Verfahren nach einem der Ansprüche 1-18 auszuführen.
    20. Fahrzeug-Dienstanbietersystem nach Anspruch 19, wobei das Fahrzeug-Dienstanbietersystem ein autonomes Fahrzeugsystem des mindestens einen Fahrzeugs aufweist und der Fahrzeug-Dienstteilnehmer einen auf dem autonomen Fahrzeugsystem ausgeführten Software-Client aufweist.
    21. Wenigstens ein nichtflüchtiges Speichermedium, das Befehle speichert, die, wenn sie von wenigstens einem Computerprozessor eines Fahrzeug-Dienstanbietersystems ausgeführt werden, das Fahrzeug-Dienstanbietersystem veranlassen sollen, das Verfahren nach einem der Ansprüche 1-18 auszuführen.
    DE102021133346.6A 2021-06-21 2021-12-15 Sitzungsschlüsselerzeugung für einen betrieb autonomer fahrzeuge Pending DE102021133346A1 (de)

    Applications Claiming Priority (2)

    Application Number Priority Date Filing Date Title
    US17/353,772 2021-06-21
    US17/353,772 US20220408245A1 (en) 2021-06-21 2021-06-21 Session key generation for autonomous vehicle operation

    Publications (1)

    Publication Number Publication Date
    DE102021133346A1 true DE102021133346A1 (de) 2022-12-22

    Family

    ID=80080220

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    DE102021133346.6A Pending DE102021133346A1 (de) 2021-06-21 2021-12-15 Sitzungsschlüsselerzeugung für einen betrieb autonomer fahrzeuge

    Country Status (5)

    Country Link
    US (1) US20220408245A1 (de)
    KR (1) KR20220169872A (de)
    CN (1) CN115580419A (de)
    DE (1) DE102021133346A1 (de)
    GB (2) GB202312891D0 (de)

    Families Citing this family (2)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US11792644B2 (en) 2021-06-21 2023-10-17 Motional Ad Llc Session key generation for autonomous vehicle operation
    US20230017962A1 (en) * 2021-07-15 2023-01-19 Waymo Llc Denial of service response to the detection of illicit signals on the in-vehicle communication network

    Family Cites Families (17)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US8539233B2 (en) * 2007-05-24 2013-09-17 Microsoft Corporation Binding content licenses to portable storage devices
    US8353019B2 (en) * 2010-03-26 2013-01-08 Canon Kabushiki Kaisha Security token destined for multiple or group of service providers
    DE102012217743B4 (de) * 2012-09-28 2018-10-31 Siemens Ag Überprüfung einer Integrität von Eigenschaftsdaten eines Gerätes durch ein Prüfgerät
    KR102100159B1 (ko) * 2014-01-13 2020-04-13 삼성전자 주식회사 이동 통신 시스템에서 서비스 발견 및 그룹 통신을 위한 보안 지원 방법 및 시스템
    US9628273B2 (en) * 2014-04-30 2017-04-18 Thamir Alshammari Cryptographic method and system for secure authentication and key exchange
    US9875589B1 (en) * 2016-09-28 2018-01-23 Ford Global Technologies, Llc Vehicle access authentication
    GB201707168D0 (en) * 2017-05-05 2017-06-21 Nchain Holdings Ltd Computer-implemented system and method
    US11623342B2 (en) * 2017-12-12 2023-04-11 Walmart Apollo, Llc Configurable service isolation zones for service of equipment employing mobile robots
    US20200228311A1 (en) * 2019-01-10 2020-07-16 Syccure Inc. Lightweight encryption, authentication, and verification of data moving to and from intelligent devices
    US11503465B2 (en) * 2019-02-20 2022-11-15 Coretigo Ltd. Secure pairing mechanism in a wireless communication system
    KR102164187B1 (ko) * 2019-08-20 2020-10-13 엘지전자 주식회사 블록체인 기반의 군집주행 차량 제어 방법 및 블록체인을 구성하는 군집주행 차량
    US11314893B2 (en) * 2019-08-27 2022-04-26 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for securing personally identifiable information within telematics data
    US11681788B2 (en) * 2019-09-10 2023-06-20 Ford Global Technologies, Llc Autonomous vehicle authentication key delivery
    US11477233B2 (en) * 2019-10-18 2022-10-18 Juniper Networks, Inc. Deploying secure neighbor discovery in EVPN
    US11249924B2 (en) * 2019-11-25 2022-02-15 Micron Technology, Inc. Secure data communication with memory sub-system
    US11750399B2 (en) * 2019-12-06 2023-09-05 Motional Ad Llc Cyber-security protocol
    WO2021127666A1 (en) * 2019-12-17 2021-06-24 Microchip Technology Incorporated Mutual authentication protocol for systems with low-throughput communication links, and devices for performing the same

    Also Published As

    Publication number Publication date
    GB2608207B (en) 2023-10-18
    CN115580419A (zh) 2023-01-06
    GB202118187D0 (en) 2022-01-26
    KR20220169872A (ko) 2022-12-28
    GB202312891D0 (en) 2023-10-04
    US20220408245A1 (en) 2022-12-22
    GB2608207A (en) 2022-12-28

    Similar Documents

    Publication Publication Date Title
    US11500974B2 (en) Method for user authentication of vehicle in autonomous driving system and apparatus thereof
    CN113031626B (zh) 基于自动驾驶的安全认证方法、装置、设备及存储介质
    US11469906B2 (en) Systems and methods for implementing data security
    US10390221B2 (en) Private vehicle-to-vehicle communication
    DE102020102426A1 (de) Fehlverhaltensdetektion in autonomen Fahrkommunikationen
    US20220237299A1 (en) Secure boot of vehicular processors
    DE102021133346A1 (de) Sitzungsschlüsselerzeugung für einen betrieb autonomer fahrzeuge
    CN114513543B (zh) 运载工具中的装置所进行的方法、系统和运载工具
    US20220201000A1 (en) Security gateway
    DE102020132273A1 (de) Cybersicherheitsprotokoll
    DE102020121805A1 (de) Sichern der fahrzeugprivatsphäre in einer fahrinfrastruktur
    DE102021133352A1 (de) Authentifizierte punktwolkendaten
    DE102021133367A1 (de) Sitzungsschlüsselerzeugung für einen betrieb autonomer fahrzeuge
    DE102021120814A1 (de) Sicheres protokoll für sicherheitskritische systeme
    US20230180011A1 (en) Secure vehicle communications architecture for improved blind spot and driving distance detection
    WO2022218205A1 (zh) 数据传输方法及数据处理装置