DE102021133352A1 - Authentifizierte punktwolkendaten - Google Patents

Authentifizierte punktwolkendaten Download PDF

Info

Publication number
DE102021133352A1
DE102021133352A1 DE102021133352.0A DE102021133352A DE102021133352A1 DE 102021133352 A1 DE102021133352 A1 DE 102021133352A1 DE 102021133352 A DE102021133352 A DE 102021133352A DE 102021133352 A1 DE102021133352 A1 DE 102021133352A1
Authority
DE
Germany
Prior art keywords
point cloud
procedure
data
processor
message
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
DE102021133352.0A
Other languages
English (en)
Inventor
Michael Maass
Karl Robinson
Andrew Spangler
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 DE102021133352A1 publication Critical patent/DE102021133352A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • 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
    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/46Indirect determination of position data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/06Systems determining position data of a target
    • G01S13/42Simultaneous measurement of distance and other co-ordinates
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • G01S13/931Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • G01S13/931Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • G01S2013/9323Alternative operation using light waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • G01S13/931Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • G01S2013/9324Alternative operation using ultrasonic waves
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Electromagnetism (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Traffic Control Systems (AREA)
  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)

Abstract

Es sind Ausführungsformen zum Authentifizieren von Punktwolkendaten eingeschlossen. In einer Ausführungsform umfasst ein Verfahren zum Authentifizieren von Punktwolkendaten: Erzeugen, mit mindestens einem Prozessor, eines Punktwolkenpakets, wobei das Punktwolkenpaket einen Headerteil und einen Datenabschnitt umfasst, wobei der Datenabschnitt mehrere Blöcke umfasst, wobei jeder Block Punktwolkendaten umfasst; Erzeugen, mit dem mindestens einen Prozessor, einer Nachrichtensequenznummer (MSN: Message Sequence Number); Speichern, mit dem mindestens einen Prozessor, der MSN im Datenabschnitt; Erzeugen, mit dem mindestens einen Prozessor, eines Nachrichtenauthentifizierungscodes (MAC: Message Authentication Code) auf dem Datenabschnitt; Speichern des MAC im Punktwolkenpaket; und Übertragen, mit dem mindestens einen Prozessor, des Punktwolkenpakets zu einer Empfangsvorrichtung.

Description

  • GEBIET DER ERFINDUNG
  • Die folgende Beschreibung betrifft allgemein Datenauthentifizierungssysteme und -verfahren.
  • HINTERGRUND
  • Autonome Fahrzeuge verwenden häufig einen Wahrnehmungsstapel, der an Sensordaten arbeitet, wie etwa Punktwolkendaten (z. B. LiDAR-Punktwolkendaten), um eine genaue Objektdetektion durchzuführen, die für den sicheren Betrieb der autonomen Fahrzeuge kritisch ist. Durch Tests wurde jedoch entdeckt, dass Echtzeit-Patching von Punktwolkendaten möglich ist, was Punktwolkendaten gegenüber Verfälschung anfällig macht. Außerdem ist die Lieferung von Punktwolkendaten gegenüber Replay- und Sample-and-Hold-Angriffen anfällig und solche Angriffe erfordern keine physische MITM-Vorrichtung (MITM: Man-in-the-Middle), da bösartige Software entitäten für das Ausführen des Angriffs ausreichend sind.
  • KURZDARSTELLUNG
  • Es sind Techniken zum Authentifizieren von Punktwolkendaten bereitgestellt.
  • In einer Ausführungsform umfasst ein Verfahren zum Authentifizieren von Punktwolkendaten: Erzeugen, mit mindestens einem Prozessor, eines Punktwolkenpakets, wobei das Punktwolkenpaket einen Headerteil und einen Datenabschnitt umfasst, wobei der Datenabschnitt mehrere Blöcke umfasst, wobei jeder Block Punktwolkendaten umfasst; Erzeugen, mit dem mindestens einen Prozessor, einer Nachrichtensequenznummer (MSN: Message Sequence Number); Speichern, mit dem mindestens einen Prozessor, der MSN im Datenabschnitt; Erzeugen, mit dem mindestens einen Prozessor, eines Nachrichtenauthentifizierungscodes (MAC: Message Authentication Code) auf dem Datenabschnitt; Speichern des MAC im Punktwolkenpaket; und Übertragen, mit dem mindestens einen Prozessor, des Punktwolkenpakets zu einer Empfangsvorrichtung.
  • In einer Ausführungsform umfasst der Header zumindest eine Versionsnummer, einen Lebenszeit(Time-to-Live)-Wert, eine Quelladresse und eine Zieladresse.
  • In einer Ausführungsform ist der Header ein Internetprotokoll(IP)-Header.
  • In einer Ausführungsform umfasst das Punktwolkenpaket zumindest einen Quellport, einen Zielport, eine Länge und eine Prüfsumme.
  • In einer Ausführungsform umfasst jeder Block von Punktwolkendaten einen einzelnen Azimutwinkel und mehrere Vertikalwinkel entsprechend dem Azimutwinkel für die Punkte in der Punktwolke, wobei der Azimutwinkel und die mehreren Vertikalwinkel in einem Punktwolkenreferenzkoordinatensystem gemessen werden.
  • In einer Ausführungsform umfasst jeder Block der mehreren Blöcke einen festen Header.
  • In einer Ausführungsform ist der MAC 4 bis 8 Bytes lang.
  • In einer Ausführungsform werden die Punktwolkendaten durch einen Tiefensensor eines autonomen Fahrzeugs erzeugt, und wobei das Übertragen des Punktwolkenpakets vom Tiefensensor zu der Empfangsvorrichtung ferner umfasst: Erzeugen mindestens eines Sitzungsschlüssels; Erzeugen einer Nachricht, die das Punktwolkenpaket beinhaltet; Verschlüsseln der Nachricht unter Verwendung des mindestens einen Sitzungsschlüssels; Herstellen einer Kommunikationssitzung zwischen dem Tiefensensor und der Empfangsvorrichtung; und Übertragen, während der hergestellten Kommunikationssitzung, der verschlüsselten Nachricht vom Tiefensensor zu der Empfangsvorrichtung.
  • In einer Ausführungsform umfasst das Erzeugen des mindestens einen Sitzungsschlüssels ferner: Übertragen, durch die Empfangsvorrichtung, eines ersten Salt zu dem Tiefensensor; Empfangen, durch die Empfangsvorrichtung, einer Synchronisationsnachricht vom Tiefensensor, wobei die Synchronisationsnachricht eine Menge an Entropie umfasst; Erzeugen, durch die Empfangsvorrichtung, eines zweiten Salt basierend auf dem ersten Salt und der Menge an Entropie; und Erzeugen des mindestens einen Sitzungsschlüssels basierend auf dem zweiten Salt.
  • In einer Ausführungsform ist der Tiefensensor ein LiDAR-Sensor (LiDAR: Light Detection and Ranging - Lichtdetektion und -entfernungsmessung).
  • In einer Ausführungsform ist der Tiefensensor ein TOF-Sensor (TOF: Time-of-Flight - Laufzeit).
  • In einer Ausführungsform ist der Tiefensensor ein RADAR.
  • In einer Ausführungsform ist der Tiefensensor ein SONAR (SONAR: Sound Navigation and Ranging - Schall-Navigation und -Entfernungsmessung).
  • In einer Ausführungsform umfasst das Verfahren: Empfangen, mit mindestens einem Prozessor oder einer Empfangsvorrichtung, einer verschlüsselten Nachricht, die ein Punktwolkenpaket beinhaltet, wobei das Punktwolkenpaket einen Headerteil, einen Datenabschnitt, einen Nachrichtenauthentifizierungscode (MAC) und eine Nachrichtensequenznummer (MSN) umfasst, wobei der Datenabschnitt mehrere Blöcke beinhaltet, wobei jeder Block Punktwolkendaten umfasst; Entschlüsseln, mit dem mindestens einen Prozessor, der verschlüsselten Nachricht; Parsen, mit dem mindestens einen Prozessor, der Punktwolkendaten, des MAC und der MSN aus dem Punktwolkenpaket; Authentifizieren der Punktwolkendaten basierend auf dem MAC und der MSN; und Übertragen, mit dem mindestens einen Prozessor, der Punktwolkendaten zu einer Speicherungsvorrichtung oder einer anderen Vorrichtung.
  • In einer Ausführungsform umfasst das Verfahren ferner: Senden, mit dem mindestens einen Prozessor, der Punktwolkendaten zu einer Wahrnehmungsschaltung eines autonomen Fahrzeugs, wobei die Wahrnehmungsschaltung dazu ausgelegt ist, mindestens einen physischen Zustand (z. B. Position, vektorielle Geschwindigkeit, Kurs) mindestens eines Objekts in einer Betriebsumgebung des autonomen Fahrzeugs vorherzusagen.
  • In einer Ausführungsform umfasst das Verfahren ferner: Erzeugen, mit dem mindestens einen Prozessor, einer Trajektorie für das autonome Fahrzeug in der Betriebsumgebung zumindest teilweise basierend auf dem vorhergesagten mindestens einen physischen Zustand.
  • Diese und andere Aspekte, Merkmale und Implementierungen können als Verfahren, Einrichtungen, Systeme, Komponenten, Programmprodukte, Mittel oder Schritte zum Durchführen einer Funktion oder auf andere Weisen ausgedrückt werden. Diese und andere Aspekte, Merkmale und Implementierungen werden aus den folgenden Beschreibungen, einschließlich den Ansprüchen, ersichtlich werden.
  • Figurenliste
    • 1 zeigt ein Beispiel eines autonomen Fahrzeugs (AV) mit autonomer Fähigkeit gemäß einer oder mehreren Ausführungsformen.
    • 2 veranschaulicht eine beispielhafte „Cloud“-Rechenumgebung gemäß einer oder mehreren Ausführungsformen.
    • 3 veranschaulicht ein Computersystem gemäß einer oder mehreren Ausführungsformen.
    • 4 zeigt eine beispielhafte Architektur für ein AV gemäß einer oder mehreren Ausführungsformen.
    • 5 ist ein Blockdiagramm eines paketbasierten Kommunikationssystems für ein autonomes Fahrzeug gemäß einer oder mehreren Ausführungsformen.
    • 6A veranschaulicht ein Punktwolkenpaketformat gemäß einer oder mehreren Ausführungsformen.
    • 6B veranschaulicht den Einschluss eines MAC und einer MSN und von Punktwolkendaten in dem Punktwolkenpaket von 6A gemäß einer oder mehreren Ausführungsformen.
    • 6C veranschaulicht eine Punktwolkendatenrepräsentation gemäß einer oder mehreren Ausführungsformen.
    • 6D veranschaulicht ein Koordinatenreferenzsystem zum Repräsentieren von Punktwolkendaten gemäß einer oder mehreren Ausführungsformen.
    • 6E veranschaulicht den Einschluss von Punktwolkendaten in einen Datenteil des Punktwolkendatenpakets gemäß einer oder mehreren Ausführungsformen.
    • 7 ist ein Flussdiagramm, das einen beispielhaften Prozess zur Sitzungsschlüsselerzeugung zum Authentifizieren von Punktwolkendaten veranschaulicht, gemäß einer oder mehreren Ausführungsformen.
    • 8 ist ein Flussdiagramm eines Prozesses zum Authentifizieren von Punktwolkendaten, der durch einen Sensorprozessor durchgeführt wird, gemäß einer oder mehreren Ausführungsformen.
    • 9 ist ein Flussdiagramm eines Prozesses zum Authentifizieren von Punktwolkendaten, der durch einen Hostprozessor durchgeführt wird, gemäß einer oder mehreren Ausführungsformen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden Beschreibung sind für Erläuterungszwecke zahlreiche spezifische Einzelheiten dargelegt, um ein vollständiges Verständnis der vorliegenden Erfindung bereitzustellen. Es wird jedoch ersichtlich werden, dass die vorliegende Erfindung ohne diese spezifischen Einzelheiten umgesetzt werden kann. In anderen Fällen sind wohlbekannte Strukturen und Vorrichtungen in Blockdiagrammform gezeigt, um eine unnötige Verundeutlichung der vorliegenden Erfindung zu vermeiden.
  • In den Zeichnungen sind spezifische Anordnungen oder Ordnungen schematischer Elemente, wie etwa jenen, die Vorrichtungen, Module, Anweisungsblöcke und Datenelemente repräsentieren, zur Vereinfachung der Beschreibung gezeigt. Fachleute sollten jedoch verstehen, dass die spezifische Reihenfolge oder Anordnung der schematischen Elemente in den Zeichnungen nicht andeuten soll, dass eine spezielle Verarbeitungsreihenfolge oder -sequenz oder eine Trennung von Prozessen notwendig ist. Ferner soll der Einschluss eines schematischen Elements in einer Zeichnung nicht andeuten, dass ein solches Element in allen Ausführungsformen notwendig ist oder die durch ein solches Element repräsentierten Merkmale in manchen Ausführungsformen möglicherweise nicht in anderen Elementen enthalten sind oder möglicherweise nicht mit diesen kombiniert werden.
  • In den Zeichnungen, in denen verbindende Elemente, wie etwa durchgezogene oder gestrichelte Linien oder Pfeile, zum Veranschaulichen einer Verbindung, einer Beziehung oder einer Assoziation zwischen oder unter zwei oder mehr anderen schematischen Elementen verwendet werden, soll das Nichtvorhandensein irgendwelcher solcher verbindenden Elemente ferner nicht andeuten, dass keine Verbindung, Beziehung oder Assoziation vorhanden sein kann. Mit anderen Worten sind manche Verbindungen, Beziehungen oder Assoziationen zwischen Elementen nicht in den Zeichnungen gezeigt, sodass die Offenbarung nicht verundeutlicht wird. Zusätzlich wird zur Vereinfachung der Veranschaulichung ein einzelnes verbindendes Element verwendet, um mehrere Verbindungen, Beziehungen oder Assoziationen zwischen Elementen zu repräsentieren. Wenn ein verbindendes Element beispielsweise eine Kommunikation von Signalen, Daten oder Anweisungen repräsentiert, sollten Fachleute verstehen, dass ein solches Element einen oder mehrere Signalpfade (z. B. einen Bus), wie möglicherweise benötigt, repräsentiert, um die Kommunikation zu bewirken.
  • Nun wird ein ausführlicher Bezug auf Ausführungsformen genommen, deren Beispiele in den begleitenden Zeichnungen veranschaulicht sind. In der folgenden ausführlichen Beschreibung sind zahlreiche spezifische Einzelheiten dargelegt, um ein vollständiges Verständnis der verschiedenen beschriebenen Ausführungsformen bereitzustellen. Einem Durchschnittsfachmann wird jedoch ersichtlich werden, dass die verschiedenen beschriebenen Ausführungsformen ohne diese spezifischen Einzelheiten umgesetzt werden können. In anderen Fällen wurden wohlbekannte Verfahren, Prozeduren, Komponenten, Schaltungen und Netzwerke nicht ausführlich beschrieben, sodass Aspekte der Ausführungsformen nicht unnötig verundeutlicht werden.
  • Nachfolgend sind mehrere Merkmale beschrieben, die jeweils unabhängig voneinander oder mit einer beliebigen Kombination anderer Merkmale verwendet werden können. Ein jegliches individuelles Merkmal spricht jedoch möglicherweise keine der oben besprochenen Probleme an oder könnte nur eines der oben besprochenen Probleme ansprechen. Manche der oben besprochenen Probleme könnten möglicherweise nicht vollständig durch irgendwelche der hierin beschriebenen Merkmale angesprochen werden. Obwohl Überschriften bereitgestellt sind, können Informationen bezüglich einer speziellen Überschrift, die aber nicht in dem Abschnitt mit dieser Überschrift aufgefunden werden, auch andernorts in dieser Beschreibung aufgefunden werden. Ausführungsformen sind hierin gemäß der folgenden Gliederung beschrieben:
    1. 1. Allgemeiner Überblick
    2. 2. Systemüberblick
    3. 3. Architektur eines autonomen Fahrzeugs
    4. 4. Authentifizieren von Punktwolkendaten
  • Allgemeiner Überblick
  • Es sind Techniken zum Authentifizieren von Punktwolkendaten bereitgestellt. Ein Tiefensensor (z. B. ein LiDAR-Sensor) ist dazu ausgelegt, eine Punktwolke zu erzeugen und ein Punktwolkenpaket, das die Punktwolkendaten enthält, zu einem Hostsystem, wie etwa einem Wahrnehmungssystem und/oder einem Lokalisierungssystem eines autonomen Fahrzeugs, zu übertragen. Das Punktwolkenpaket umfasst einen Headerteil und einen Datenteil. In einer Ausführungsform werden die Punktwolkenpakete durch den Tiefensensor während einer sicheren Kommunikationssitzung zwischen dem Sensor und dem Hostsystem zu dem Hostsystem übertragen. Das Punktwolkenpaket beinhaltet eine Nachrichtensequenznummer (MSN) zum Überwachen der Reihenfolge von am Hostsystem eingehenden Paketen und einen Nachrichtenauthentifizierungscode (MAC) (der z. B. auf den Punktwolkendaten und der MSN erzeugt wird), der durch das Hostsystem verwendet wird, um das Punktwolkenpaket vor der Verwendung der Punktwolkendaten zu authentifizieren.
  • Einige der Vorteile dieser Techniken beinhalten eine erhöhte Sicherheit der Punktwolkendaten. Insbesondere schützt ein Sensor (z. B. ein LiDAR-Sensor) in einem Punktwolkenpaketsystem ein Punktwolkendatenpaket, das Punktwolkendaten-Nutzdaten (z. B. LiDAR-Punktwolkendaten) enthält, indem eine Nachrichtensequenznummer (MSN) zu dem Paket hinzugefügt wird und ein Nachrichtenauthentifizierungscode (MAC) auf den Punktwolkendaten und der MSN berechnet und dem Paket hinzugefügt wird. Ein Hostsystem empfängt das Punktwolkendatenpaket und verifiziert, dass die MSN steigt, und berechnet und prüft den MAC, um zu bestimmen, ob die Nutzdaten authentisch sind (z. B. nicht beschädigt oder verfälscht oder anderweitig seit ihrer Erzeugungszeit modifiziert wurden).
  • Die offenbarten Ausführungsformen authentifizieren die Punktwolkendaten und reduzieren Verarbeitungszyklen und Bandbreitenlast im Vergleich zu anderen Authentifizierungsverfahren, wie etwa TLS-Verfahren (TLS: Transport Layer Security - Transportschichtsicherheit). Die offenbarten Ausführungsformen sind auch leicht ohne spezialisierte Hardware zu implementieren und leichter eingehend zu testen (z. B. um Sicherheit zu gewährleisten) als TLS. Da ein standardmäßiger Internetprotokoll(IP)-Header (z. B. IPv4, IPv6) und ein UDP-Datagramm (UDP: User Datagram Protocol - Benutzerdatagrammprotokoll) für das Punktwolkenpaketformat verwendet werden, ist das Punktwolkenpaketformat mit standardmäßigen TCP/IP-Stapeln (TCP: Transmission Control Protocol - Übertragungssteuerungsprotokoll) kompatibel.
  • Systemüberblick
  • 1 zeigt ein Beispiel für ein autonomes Fahrzeug 100 mit autonomer Fähigkeit.
  • Wie hierin verwendet, bezieht sich der Begriff „autonome Fähigkeit“ auf eine Funktion, ein Merkmal oder ein Hilfsmittel, die/das einem Fahrzeug ermöglicht, teilweise oder vollständig ohne menschliche Echtzeit-Eingriffe betrieben zu werden, einschließlich ohne Beschränkung vollautonome Fahrzeuge, hochautonome Fahrzeuge und bedingt autonome Fahrzeuge.
  • Wie hierin verwendet, ist ein autonomes Fahrzeug (AV: Autonomous Vehicle) ein Fahrzeug, das autonome Fähigkeit besitzt.
  • Wie hierin verwendet, beinhaltet „Fahrzeug“ Mittel für den Transport von Gütern oder Menschen. Beispielsweise Autos, Busse, Züge, Flugzeuge, Drohnen, Lastkraftwagen, Boote, Schiffe, Unterwasserfahrzeuge, Luftfahrzeuge, Motorräder, Fahrräder usw. Ein fahrerloses Auto ist ein Beispiel für ein Fahrzeug.
  • Wie hierin verwendet, bezieht sich „Trajektorie“ auf einen Pfad oder eine Route zum Betreiben eines AV von einem ersten raumzeitlichen Ort zu einem zweiten raumzeitlichen Ort. In einer Ausführungsform wird der erste raumzeitliche Ort als Anfangs- oder Startort bezeichnet und wird der zweite raumzeitliche Ort als Bestimmungsort, Endort, Ziel, Zielposition oder Zielort bezeichnet. In manchen Beispielen besteht eine Trajektorie aus einem oder mehreren Segmenten (z. B. Straßenabschnitten), und jedes Segment besteht aus einem oder mehreren Blöcken (z. B. Teilen einer Spur oder Kreuzung). In einer Ausführungsform entsprechen die raumzeitlichen Orte realen Orten. Beispielsweise sind die raumzeitlichen Orte Abhol- oder Absetzorte zum Abholen oder Absetzen von Personen oder Gütern.
  • Wie hierin verwendet, beinhaltet „Sensor(en)“ eine oder mehrere Hardwarekomponenten, die Informationen über die Umgebung im Umfeld des Sensors detektieren. Einige der Hardwarekomponenten können Erfassungskomponenten (z. B. Bildsensoren, biometrische Sensoren), Sende- und/oder Empfangskomponenten (z. B. Laser- oder Hochfrequenzwellensender und -empfänger), elektronische Komponenten wie etwa Analog-Digital-Umsetzer, eine Datenspeicherungsvorrichtung (wie etwa RAM und/oder eine nichtflüchtige Speicherung), Software- oder Firmwarekomponenten und Datenverarbeitungskomponenten wie etwa eine ASIC (anwendungsspezifische integrierte Schaltung), einen Mikroprozessor und/oder einen Mikrocontroller beinhalten.
  • Wie hierin verwendet, ist eine „Straße“ ein physisches Gebiet, auf dem sich ein Fahrzeug fortbewegen kann, und kann einer benannten Durchgangsstraße (z. B. Stadtstraße, Autobahn usw.) entsprechen oder kann einer unbenannten Durchgangsstraße (z. B. eine Zufahrt eines Hauses oder Bürogebäudes, ein Abschnitt eines Parkplatzes, ein Abschnitt eines unbebauten Grundstücks, ein Feldweg in einem ländlichen Gebiet usw.) entsprechen. Da manche Fahrzeuge (z. B. Allradantrieb-Pickups, Geländewagen usw.) in der Lage sind, sich in einer Vielfalt physischer Gebiete fortzubewegen, die nicht spezifisch für die Fahrt eines Fahrzeugs angepasst sind, kann eine „Straße“ ein physisches Gebiet sein, das nicht formell durch eine Gemeinde oder andere Regierungsstelle oder Verwaltungsbehörde als eine Durchgangsstraße definiert ist.
  • Wie hierin verwendet, ist eine „Spur“ ein Abschnitt einer Straße, der von einem Fahrzeug befahren werden kann, und kann dem Großteil oder der Gesamtheit des Raums zwischen Spurmarkierungen entsprechen oder kann nur einem Teil (z. B. weniger als 50 %) des Raums zwischen Spurmarkierungen entsprechen. Beispielsweise könnte eine Landstraße, die weit beabstandete Spurmarkierungen aufweist, zwei oder mehr Fahrzeuge zwischen den Markierungen unterbringen, sodass ein Fahrzeug das andere überholen kann, ohne die Spurmarkierungen zu überqueren, und könnte somit als eine Spur schmaler als der Raum zwischen den Spurmarkierungen aufweisend oder zwei Spuren zwischen den Spurmarkierungen aufweisend interpretiert werden. Eine Spur könnte auch bei Nichtvorhandensein von Spurmarkierungen interpretiert werden. Beispielsweise kann eine Spur basierend auf physischen Merkmalen einer Umgebung definiert werden, z. B. Gestein und Bäume entlang einer Durchgangsstraße in einem ländlichen Gebiet.
  • Wie hierin verwendet, bezieht sich „Ego-Fahrzeug“ oder „Ego“ auf ein virtuelles Fahrzeug oder AV mit virtuellen Sensoren zum Erfassen einer virtuellen Umgebung, das zum Beispiel von einem Planer genutzt wird, um die Route des virtuellen AV in der virtuellen Umgebung zu planen.
  • „Ein oder mehr“ beinhaltet, dass eine Funktion durch ein Element durchgeführt wird, dass eine Funktion durch mehr als ein Element durchgeführt wird, z. B. auf verteilte Weise, dass mehrere Funktionen durch ein Element durchgeführt werden, dass mehrere Funktionen durch mehrere Elemente durchgeführt werden, oder eine beliebige Kombination des Obenstehenden.
  • Es versteht sich auch, dass, obwohl die Begriffe erster, zweiter usw. in manchen Fällen hierin verwendet werden, um verschiedene Elemente zu beschreiben, diese Elemente nicht durch diese Begriffe beschränkt werden sollten. Diese Begriffe werden nur zur Unterscheidung eines Elements von einem anderen verwendet. Beispielsweise könnte ein erster Kontakt als ein zweiter Kontakt bezeichnet werden, und gleichermaßen könnte ein zweiter Kontakt als ein erster Kontakt bezeichnet werden, ohne vom Schutzumfang der verschiedenen beschriebenen Ausführungsformen abzuweichen. Sowohl der erste Kontakt als auch der zweite Kontakt sind Kontakte, sie sind aber nicht derselbe Kontakt.
  • Die in der Beschreibung der verschiedenen beschriebenen Ausführungsformen hierin verwendete Terminologie liegt nur zum Zweck der Beschreibung spezieller Ausführungsformen vor und soll nicht beschränkend sein. Wie in der Beschreibung der verschiedenen beschriebenen Ausführungsformen und den angehängten Ansprüchen verwendet, sollen die Singularformen „ein“, „eine“ und „der/die/das“ auch die Pluralformen beinhalten, insofern der Kontext nicht deutlich anderes angibt. Es versteht sich auch, dass sich der Begriff „und/oder“, wie hierin verwendet, auf jegliche und alle möglichen Kombinationen eines oder mehrerer der assoziierten aufgelisteten Punkte bezieht und einschließt. Es versteht sich ferner, dass die Begriffe „beinhaltet“, „einschließlich“, „enthält“ und/oder „enthaltend“, wenn in dieser Beschreibung verwendet, das Vorhandensein genannter Merkmale, Ganzzahlen, Schritte, Operationen, Elemente und/oder Komponenten spezifiziert, aber nicht das Vorhandensein oder den Zusatz eines/einer oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon ausschließt.
  • Wie hierin verwendet, wird der Begriff „falls“ optional als „wenn“ oder „bei“ oder „als Reaktion auf das Bestimmen“ oder „als Reaktion auf das Detektieren“ bedeutend, in Abhängigkeit vom Kontext, ausgelegt. Gleichermaßen wird der Ausdruck „falls bestimmt wird“ oder „falls [eine angegebene Bedingung oder ein angegebenes Ereignis] detektiert wird“ optional als „beim Bestimmen“ oder „als Reaktion auf das Bestimmen“ oder „beim Detektieren [der angegebenen Bedingung oder des angegebenen Ereignisses]“ oder „als Reaktion auf das Detektieren [der angegebenen Bedingung oder des angegebenen Ereignisses]“ bedeutend, in Abhängigkeit vom Kontext, ausgelegt.
  • Wie hierin verwendet, bezieht sich ein AV-System auf das AV zusammen mit dem Array von Hardware, Software, gespeicherten Daten und in Echtzeit erzeugten Daten, die den Betrieb des AV unterstützen. In einer Ausführungsform ist das AV-System innerhalb des AV integriert. In einer Ausführungsform ist das AV-System über mehrere Orte verteilt. Beispielsweise wird ein Teil der Software des AV-Systems in einer Cloud-Rechenumgebung ähnlich der unten mit Bezug auf 3 beschriebenen Cloud-Rechenumgebung 300 implementiert.
  • Allgemein beschreibt dieses Dokument Technologien, die bei beliebigen Fahrzeugen anwendbar sind, die eine oder mehrere autonome Fähigkeiten aufweisen, einschließlich vollautonomer Fahrzeuge, hochautonomer Fahrzeuge und bedingt autonomer Fahrzeuge, wie etwa sogenannte Stufe-5-, Stufe-4- bzw. Stufe-3-Fahrzeuge (siehe den Standard J3016 von der SAE International: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems (Klassifizierung und Definitionen für Begriffe bezüglich automatisierter Fahrsysteme für Straßenkraftfahrzeuge), der unter Bezugnahme in seiner Gesamtheit aufgenommen wird, für Einzelheiten zu der Klassifizierung von Autonomiestufen bei Fahrzeugen). Die in diesem Dokument beschriebenen Technologien sind auch bei teilautonomen Fahrzeugen und fahrergestützten Fahrzeugen anwendbar, wie etwa sogenannten Stufe-2- und Stufe-1-Fahrzeugen (siehe den Standard J3016 von der SAE International: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems). In einer Ausführungsform können ein oder mehrere der Stufe-1-, Stufe-2-, Stufe-3-, Stufe-4- und Stufe-5-Fahrzeugsysteme gewisse Fahrzeugoperationen (z. B. Lenkung, Bremsung und Verwendung von Karten) unter gewissen Betriebsbedingungen basierend auf der Verarbeitung von Sensoreingaben automatisieren. Die in diesem Dokument beschriebenen Technologien können für Fahrzeuge in allen Stufen von Vorteil sein, von vollautonomen Fahrzeugen bis hin zu menschlich betriebenen Fahrzeugen.
  • Mit Bezug auf 1 betreibt ein AV-System 120 das AV 100 entlang einer Trajektorie 198 durch eine Umgebung 190 zu einem Bestimmungsort 199 (manchmal als ein Endort bezeichnet), während es Objekte (z. B. natürliche Objekte 191, Fahrzeuge 193, Fußgänger 192, Fahrradfahrer und andere Hindernisse) vermeidet und Straßenregeln (z. B. Betriebsregeln oder Fahrpräferenzen) einhält.
  • In einer Ausführungsform beinhaltet das AV-System 120 Vorrichtungen 101, die dahingehend instrumentiert sind, Betriebsbefehle von den Computerprozessoren 146 zu empfangen und darauf zu reagieren. In einer Ausführungsform sind die Rechenprozessoren 146 dem unten mit Bezug auf 3 beschriebenen Prozessor 304 ähnlich. Beispiele für die Vorrichtungen 101 beinhalten Lenksteuerung 102, Bremsen 103, Gänge, Gaspedal oder andere Beschleunigungssteuermechanismen, Scheibenwischer, Türverriegelungen, Fenstersteuerungen und Blinker.
  • In einer Ausführungsform beinhaltet das AV-System 120 Sensoren 121 zum Messen oder Ableiten von Eigenschaften des Status oder Zustands des AV 100, wie etwa die Position, die Lineargeschwindigkeit und -beschleunigung, Winkelgeschwindigkeit und -beschleunigung und den Steuerkurs (z. B. eine Orientierung des vorderen Endes des AV 100) des AV. Beispiele für die Sensoren 121 sind ein GNSS-Empfänger (globales Satellitennavigationssystem), inertiale Messeinheiten (IMU), die sowohl Fahrzeuglinearbeschleunigungen als auch Winkelraten messen, Radgeschwindigkeitssensoren zum Messen oder Schätzen von Radschlupfverhältnissen, Radbremsdruck- oder Bremsmomentsensoren, Motordrehmoment- oder Raddrehmomentsensoren und Lenkwinkel- und Winkelratensensoren.
  • In einer Ausführungsform beinhalten die Sensoren 121 auch Sensoren zum Erfassen oder Messen von Eigenschaften der Umgebung des AV. Beispielsweise Monokular- oder Stereo-Videokameras 122 im sichtbaren Lichtspektrum, im Infrarotspektrum oder im thermischen Spektrum (oder beides), LiDAR 123, RADAR, Ultraschallsensoren, TOF-Tiefensensoren (TOF: time-of-flight - Laufzeit), Geschwindigkeitssensoren, Temperatursensoren, Feuchtigkeitssensoren und Niederschlagssensor.
  • In einer Ausführungsform beinhaltet das AV-System 120 eine Datenspeicherungseinheit 142 und einen Speicher 144 zum Speichern von Maschinenanweisungen, die mit den Computerprozessoren 146 assoziiert sind, oder von Daten, die durch die Sensoren 121 gesammelt werden. In einer Ausführungsform ähnelt die Datenspeicherungseinheit 142 dem ROM 308 oder der Speicherungsvorrichtung 310, die unten in Beziehung mit 3 beschrieben sind. In einer Ausführungsform ähnelt der Speicher 144 dem unten beschriebenen Hauptspeicher 306. In einer Ausführungsform speichern die Datenspeicherungseinheit 142 und der Speicher 144 historische, Echtzeit- und/oder prädiktive Informationen über die Umgebung 190. In einer Ausführungsform beinhalten die gespeicherten Informationen Karten, Fahrleistung, Verkehrsüberlastungsaktualisierungen oder Wetterbedingungen. In einer Ausführungsform werden Daten bezüglich der Umgebung 190 mittels eines Kommunikationskanals von einer entfernt lokalisierten Datenbank 134 zu dem AV 100 übertragen.
  • In einer Ausführungsform beinhaltet das AV-System 120 Kommunikationsvorrichtungen 140 zum Kommunizieren gemessener oder abgeleiteter Eigenschaften der Status und Zustände anderer Fahrzeuge wie etwa Positionen, Linear- und Winkelgeschwindigkeiten, Linear- und Winkelbeschleunigungen und Linear- und Winkelsteuerkurse, zu dem AV 100. Diese Vorrichtungen beinhalten Fahrzeug-zu-Fahrzeug(V2V)- und Fahrzeug-zu-Infrastruktur(V2I)-Kommunikationsvorrichtungen und Vorrichtungen für Drahtloskommunikationen über Punkt-zu-Punkt- oder Ad-hoc-Netzwerke oder beides. In einer Ausführungsform kommunizieren die Kommunikationsvorrichtungen 140 über das elektromagnetische Spektrum (einschließlich Funk- und optischer Kommunikationen) oder anderen Medien (z. B. Luft und akustische Medien). Eine Kombination aus Fahrzeug-zu-Fahrzeug(V2V)- und Fahrzeug-zu-Infrastruktur(V2I)-Kommunikation (und in manchen Ausführungsformen eine oder mehrere andere Arten von Kommunikation) wird manchmal als Fahrzeug-zu-Allem(V2X)-Kommunikation bezeichnet. Eine V2X-Kommunikation entspricht typischerweise einem oder mehreren Kommunikationsstandards zur Kommunikation mit, zwischen oder unter autonomen Fahrzeugen.
  • In einer Ausführungsform beinhalten die Kommunikationsvorrichtungen 140 Kommunikationsschnittstellen. Beispielsweise drahtgebundene, drahtlose, WiMAX-, WiFi-, Bluetooth-, Satelliten-, zellulare, optische, Nahfeld-, Infrarot- oder Funkschnittstellen. Die Kommunikationsschnittstellen übertragen Daten von einer entfernt lokalisierten Datenbank 134 zu dem AV-System 120. In einer Ausführungsform ist die entfernt lokalisierte Datenbank 134 in einer Cloud-Rechenumgebung 200, wie in 2 beschrieben, eingebettet. Die Kommunikationsschnittstellen 140 übertragen Daten, die von den Sensoren 121 gesammelt werden, oder andere Daten bezüglich des Betriebs des AV 100 zu der entfernt lokalisierten Datenbank 134. In einer Ausführungsform übertragen die Kommunikationsschnittstellen 140 Informationen, die sich auf Teleoperationen beziehen, zu dem AV 100. In manchen Ausführungsformen kommuniziert das AV 100 mit anderen entfernten (z. B. „Cloud“-) Servern 136.
  • In einer Ausführungsform speichert und überträgt die entfernt lokalisierte Datenbank 134 auch digitale Daten (z. B. speichert Daten wie etwa Landstraßen- und Straßenorte). Solche Daten werden im Speicher 144 am AV 100 gespeichert oder mittels eines Kommunikationskanals von der entfernt lokalisierten Datenbank 134 zu dem AV 100 übertragen.
  • In einer Ausführungsform speichert und überträgt die entfernt lokalisierte Datenbank 134 historische Informationen über Fahreigenschaften (z. B. Geschwindigkeits- und Beschleunigungsprofile) von Fahrzeugen, die zuvor zu ähnlichen Tageszeiten entlang der Trajektorie 198 gefahren sind. In einer Implementierung können solche Daten im Speicher 144 am AV 100 gespeichert oder mittels eines Kommunikationskanals von der entfernt lokalisierten Datenbank 134 zu dem AV 100 übertragen werden.
  • Die Rechenvorrichtungen 146, die sich am AV 100 befinden, erzeugen algorithmisch Steuerhandlungen basierend auf sowohl Echtzeit-Sensordaten als auch vorherigen Informationen, was es dem AV-System 120 ermöglicht, seine autonomen Fahrfähigkeiten auszuführen.
  • In einer Ausführungsform beinhaltet das AV-System 120 Computerperipheriegeräte 132, die mit den Rechenvorrichtungen 146 gekoppelt sind, zum Bereitstellen von Informationen und Warnungen an einen und Empfangen einer Eingabe von einem Benutzer (z. B. einem Insassen oder einem Fernbenutzer) des AV 100. In einer Ausführungsform ähneln die Peripheriegeräte 132 der Anzeige 312, der Eingabevorrichtung 314 und der Cursorsteuerung 316, die unten mit Bezug auf 3 besprochen sind. Die Kopplung ist drahtlos oder drahtgebunden. Zwei oder mehr beliebige der Schnittstellenvorrichtungen können in eine einzige Vorrichtung integriert sein.
  • Beispielhafte Cloud-Rechenumgebung
  • 2 veranschaulicht eine beispielhafte „Cloud“-Rechenumgebung. Cloud-Computing ist ein Modell zur Dienstbereitstellung zum Ermöglichen eines zweckdienlichen On-Demand-Netzwerkzugangs zu einem gemeinsam genutzten Pool von konfigurierbaren Rechenressourcen (z. B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Speicher, Speicherung, Anwendungen, virtuelle Maschinen und Dienste). In typischen Cloud-Rechensystemen sind die Maschinen, die zum Bereitstellen der durch die Cloud gelieferten Dienste verwendet werden, in einem oder mehreren großen Cloud-Datenzentren untergebracht. Jetzt mit Bezug auf 2 beinhaltet die Cloud-Rechenumgebung 200 Cloud-Datenzentren 204a, 204b und 204c, die über die Cloud 202 miteinander verbunden sind. Die Datenzentren 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 beinhaltet ein oder mehrere Cloud-Datenzentren. Allgemein bezieht sich ein Cloud-Datenzentrum, beispielsweise das in 2 gezeigte Cloud-Datenzentrum 204a, auf die physische Anordnung von Servern, aus denen eine Cloud, beispielsweise die in 2 gezeigte Cloud 202, oder ein spezieller Teil einer Cloud besteht. Beispielsweise sind Server physisch im Cloud-Datenzentrum in Räumen, Gruppen, Reihen und Racks angeordnet. Ein Cloud-Datenzentrum weist eine oder mehrere Zonen auf, die einen oder mehrere Räume von Servern beinhalten. Jeder Raum weist eine oder mehrere Reihen von Servern auf und jede Reihe beinhaltet ein oder mehrere Racks. Jedes Rack beinhaltet einen oder mehrere individuelle Serverknoten. In manchen Implementierungen sind Server in Zonen, Räumen und/oder Reihen basierend auf physischen Infrastrukturanforderungen der Datenzentrumseinrichtung, die Leistungs-, Energie-, thermische, Wärme- und/oder andere Anforderungen beinhalten, in Gruppen angeordnet. In einer Ausführungsform sind die Serverknoten dem in 3 beschriebenen Computersystem ähnlich. Das Datenzentrum 204a weist viele Rechensysteme auf, die über viele Racks verteilt sind.
  • Die Cloud 202 beinhaltet die Cloud-Datenzentren 204a, 204b und 204c zusammen mit dem Netzwerk und Networking-Ressourcen (zum Beispiel Networking-Ausrüstung, Knoten, Router, Switches und Networking-Kabel), die die Cloud-Datenzentren 204a, 204b und 204c miteinander verbinden und dabei helfen, den Rechensystemen 206a-f zu ermöglichen, auf Cloud-Rechendienste zuzugreifen. In einer Ausführungsform repräsentiert das Netzwerk eine beliebige Kombination eines oder mehrerer Lokalnetzwerke, Weitbereichsnetzwerke oder Internetzwerke, die unter Verwendung drahtgebundener oder drahtloser Links gekoppelt sind, die unter Verwendung terrestrischer oder satellitengestützter Verbindungen eingesetzt werden. Über das Netzwerk ausgetauschte Daten werden unter Verwendung einer beliebigen Anzahl von Netzwerkschichtprotokollen transferiert, wie etwa Internetprotokoll (IP), MPLS (Multiprotocol Label Switching), ATM (Asynchronous Transfer Mode), Frame Relay usw. Ferner werden in Ausführungsformen, bei denen das Netzwerk eine Kombination mehrerer Teilnetzwerke repräsentiert, unterschiedliche Netzwerkschichtprotokolle an jedem der zugrundeliegenden Teilnetzwerke verwendet. In manchen Ausführungsformen repräsentiert das Netzwerk ein oder mehrere miteinander verbundene Internetzwerke, wie etwa das öffentliche Internet.
  • Die Rechensysteme 206a-f oder Cloud-Rechendienstverbraucher sind über Netzwerklinks und Netzwerkadapter mit der Cloud 202 verbunden. In einer Ausführungsform werden die Rechensysteme 206a-f als verschiedene Rechenvorrichtungen implementiert, beispielsweise Server, Desktops, Laptops, Tablet, Smartphones, Internet-der-Dinge(IoT)-Vorrichtungen, autonome Fahrzeuge (einschließlich Autos, Drohnen, Shuttles, Zügen, Bussen usw.) und Verbraucherelektronik. In einer Ausführungsform werden die Rechensysteme 206a-f in oder als ein Teil von anderen Systemen implementiert.
  • Computersystem
  • 3 veranschaulicht ein Computersystem 300. In einer Implementierung ist das Computersystem 300 eine Spezialrechenvorrichtung. Die Spezialrechenvorrichtung ist festverdrahtet, um die Techniken durchzuführen, oder beinhaltet digitale elektronische Vorrichtungen wie etwa eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs) oder ein oder mehrere feldprogrammierbare Gate-Arrays (FPGAs), die persistent dazu programmiert sind, die Techniken durchzuführen oder kann einen oder mehrere Allzweck-Hardwareprozessoren beinhalten, die dazu programmiert sind, die Techniken entsprechend Programmanweisungen in Firmware, Speicher, anderer Speicherung oder einer Kombination durchzuführen. Solche Spezialrechenvorrichtungen können auch maßgeschneiderte festverdrahtete Logik, ASICs oder FPGAs mit maßgeschneiderter Programmierung kombinieren, um die Techniken zu vollziehen. In verschiedenen Ausführungsformen sind die Spezialrechenvorrichtungen Desktop-Computersysteme, portable Computersysteme, handgehaltene Vorrichtungen, Netzwerkvorrichtungen oder eine beliebige andere Vorrichtung, die festverdrahtete Logik und/oder Programmlogik zum Implementieren der Techniken integriert.
  • In einer Ausführungsform beinhaltet das Computersystem 300 einen Bus 302 oder einen anderen Kommunikationsmechanismus zum Kommunizieren von Informationen und einen Hardwareprozessor 304, der mit einem Bus 302 gekoppelt ist, zum Verarbeiten von Informationen. Der Hardwareprozessor 304 ist beispielsweise ein Allzweck-Mikroprozessor. Das Computersystem 300 beinhaltet auch einen Hauptspeicher 306, wie etwa einen Direktzugriffsspeicher (RAM) oder eine andere dynamische Speicherungsvorrichtung, die mit dem Bus 302 gekoppelt ist, zum Speichern von Informationen und durch den Prozessor 304 auszuführenden Anweisungen. In einer Implementierung wird der Hauptspeicher 306 zum Speichern temporärer Variablen oder anderer Zwischeninformationen während der Ausführung von durch den Prozessor 304 auszuführenden Anweisungen verwendet. Solche Anweisungen, wenn sie in nicht vorübergehenden Speicherungsmedien gespeichert sind, auf die der Prozessor 304 zugreifen kann, verwandeln das Computersystem 300 in eine Spezialmaschine, die dafür angepasst ist, die in den Anweisungen spezifizierten Operationen durchzuführen.
  • In einer Ausführungsform beinhaltet das Computersystem 300 ferner einen Nurlesespeicher (ROM) 308 oder eine andere statische Speicherungsvorrichtung, die mit dem Bus 302 gekoppelt ist, zum Speichern statischer Informationen und Anweisungen für den Prozessor 304. Eine Speicherungsvorrichtung 310, wie etwa eine Magnetplatte, eine optische Platte, ein Solid-State-Laufwerk oder dreidimensionaler Crosspoint-Speicher, ist bereitgestellt und mit dem Bus 302 gekoppelt, um Informationen und Anweisungen zu speichern.
  • In einer Ausführungsform ist das Computersystem 300 über den Bus 302 mit einer Anzeige 312 gekoppelt, wie etwa einer Kathodenstrahlröhre (CRT), einem Flüssigkristalldisplay (LCD), einer Plasma-Anzeige, einer Leuchtdioden(LED)-Anzeige oder einer organischen Leuchtdioden(OLED)-Anzeige zum Anzeigen von Informationen für einen Computerbenutzer. Eine Eingabevorrichtung 314, die alphanumerische und andere Tasten beinhaltet, ist mit dem Bus 302 gekoppelt, zum Kommunizieren von Informationen und Befehlsauswahlen zu dem Prozessor 304. Eine andere Art von Benutzereingabevorrichtung ist eine Cursorsteuerung 316 wie etwa eine Maus, ein Trackball, eine berührungsgestützte Anzeige oder Cursorrichtungstasten zum Kommunizieren von Richtungsinformationen und Befehlsauswahlen zu dem Prozessor 304 und zum Steuern der Cursorbewegung auf der Anzeige 312. Diese Eingabevorrichtung weist typischerweise zwei Freiheitsgrade in zwei Achsen auf, einer ersten Achse (z. B. x-Achse) und einer zweiten Achse (z. B. y-Achse), die der Vorrichtung ermöglicht, Positionen in einer Ebene zu spezifizieren.
  • Gemäß einer Ausführungsform werden die Techniken hierin durch das Computersystem 300 als Reaktion darauf durchgeführt, dass der Prozessor 304 eine oder mehrere Sequenzen einer oder mehrerer im Hauptspeicher 306 enthaltener Anweisungen ausführt. Solche Anweisungen werden in den Hauptspeicher 306 von einem anderen Speicherungsmedium wie etwa der Speicherungsvorrichtung 310 eingelesen. Die Ausführung der Sequenzen von im Hauptspeicher 306 enthaltenen Anweisungen bewirkt, dass der Prozessor 304 die hierin beschriebenen Prozessschritte durchführt. In alternativen Ausführungsformen wird eine festverdrahtete Schaltungsanordnung anstelle von oder in Kombination mit Softwareanweisungen verwendet.
  • Der Begriff „Speicherungsmedien“, wie hierin verwendet, bezieht sich auf beliebige nicht vorübergehende Medien, die Daten und/oder Anweisungen speichern, die bewirken, dass eine Maschine auf eine spezifische Weise arbeitet. Solche Speicherungsmedien beinhalten nichtflüchtige Medien und/oder flüchtige Medien. Nichtflüchtige Medien beinhalten zum Beispiel optische Platten, Magnetplatten, Solid-State-Laufwerke oder dreidimensionalen Crosspoint-Speicher, wie etwa die Speicherungsvorrichtung 310. Flüchtige Medien beinhalten dynamischen Speicher, wie etwa den Hauptspeicher 306. Übliche Formen von Speicherungsmedien beinhalten beispielsweise eine Diskette, eine flexible Disk, eine Festplatte, ein Solid-State-Laufwerk, ein Magnetband oder ein beliebiges anderes magnetische Datenspeicherungsmedium, eine CD-ROM, ein beliebiges anderes optisches Datenspeicherungsmedium, ein beliebiges physisches Medium mit Lochmustern, einen RAM, einen PROM und einen EPROM, einen FLASH-EPROM, einen NV-RAM oder einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette.
  • Speicherungsmedien sind von Übertragungsmedien verschieden, können aber in Verbindung mit diesen verwendet werden. Übertragungsmedien nehmen am Transfer von Informationen zwischen Speicherungsmedien teil. Beispielsweise beinhalten Übertragungsmedien Koaxialkabel, Kupferdraht und Faseroptik, einschließlich der Drähte, die den Bus 302 beinhalten. Übertragungsmedien können auch die Form von Akustik- oder Lichtwellen annehmen, wie etwa jene, die während Funkwellen- und Infrarot-Datenkommunikationen erzeugt werden.
  • In einer Ausführungsform sind verschiedene Formen von Medien beim Führen einer oder mehrerer Sequenzen einer oder mehrerer Anweisungen zu dem Prozessor 304 zur Ausführung beteiligt. Beispielsweise werden die Anweisungen anfänglich auf einer Magnetplatte oder einem Solid-State-Laufwerk eines Ferncomputers geführt. Der Ferncomputer lädt die Anweisungen in seinen dynamischen Speicher und sendet die Anweisungen über eine Telefonleitung unter Verwendung eines Modems. Ein Modem lokal zu dem Computersystem 300 empfängt die Daten auf der Telefonleitung und verwendet einen Infrarotsender, um die Daten in ein Infrarotsignal umzuwandeln. Ein Infrarotdetektor empfängt die in dem Infrarotsignal geführten Daten und eine geeignete Schaltungsanordnung platziert die Daten auf den Bus 302. Der Bus 302 führt die Daten zu dem Hauptspeicher 306, aus dem der Prozessor 304 die Anweisungen abruft und ausführt. Die durch den Hauptspeicher 306 empfangenen Anweisungen können optional in der Speicherungsvorrichtung 310 entweder bevor oder nach der Ausführung durch den Prozessor 304 gespeichert werden.
  • Das Computersystem 300 beinhaltet außerdem eine Kommunikationsschnittstelle 318, die mit dem Bus 302 gekoppelt ist. Die Kommunikationsschnittstelle 318 liefert eine Zweiwege-Datenkommunikation, die mit einem Netzwerklink 320 koppelt, der mit einem lokalen Netzwerk 322 verbunden ist. Beispielsweise ist die Kommunikationsschnittstelle 318 eine ISDN-Karte (ISDN: Integrated Services Digital Network - dienstintegrierendes Digitalnetz), ein Kabelmodem, ein Satellitenmodem oder ein Modem zum Bereitstellen einer Datenkommunikationsverbindung mit einer entsprechenden Art von Telefonleitung. Als ein anderes Beispiel ist die Kommunikationsschnittstelle 318 eine LAN-Karte (LAN: Local Area Network - Lokalnetz) zum Bereitstellen einer Datenkommunikationsverbindung mit einem kompatiblen LAN. In manchen Implementierungen werden auch drahtlose Links implementiert. In einer beliebigen solchen Implementierung sendet und empfängt die Kommunikationsschnittstelle 318 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme führen, die verschiedene Arten von Informationen repräsentieren.
  • Der Netzwerklink 320 stellt typischerweise eine Datenkommunikation über ein oder mehrere Netzwerke zu anderen Datenvorrichtungen bereit. Beispielsweise stellt der Netzwerklink 320 eine Verbindung über das lokale Netzwerk 322 zu einem Hostcomputer 324 oder zu einem Cloud-Datenzentrum oder ein Gerät bereit, das durch einen Internetdienstanbieter (ISP: Internet Service Provider) 326 betrieben wird. Der ISP 326 stellt im Gegenzug Datenkommunikationsdienste durch das weltweite Paketdatenkommunikationsnetzwerk, jetzt gewöhnlich als das „Internet“ 328 bezeichnet, bereit. Sowohl das lokale Netzwerk 322 als auch das Internet 328 verwenden elektrische, elektromagnetische oder optische Signale, die digitale Datenströme führen. Die Signale durch die verschiedenen Netzwerke und die Signale auf dem Netzwerklink 320 und durch die Kommunikationsschnittstelle 318, die die digitalen Daten zu und von dem Computersystem 300 führen, sind beispielhafte Formen von Übertragungsmedien. In einer Ausführungsform enthält das Netzwerk 320 die Cloud 202 oder einen Teil der oben beschriebenen Cloud 202.
  • Das Computersystem 300 sendet Nachrichten und empfängt Daten, einschließlich Programmcode, durch das eine oder die mehreren Netzwerke, den Netzwerklink 320 und die Kommunikationsschnittstelle 318. In einer Ausführungsform empfängt das Computersystem 300 Code zur Verarbeitung. Der empfangene Code wird durch den Prozessor 304 wie empfangen ausgeführt und/oder in der Speicherungsvorrichtung 310 oder einer anderen nichtflüchtigen Speicherung zur späteren Ausführung gespeichert.
  • Architektur eines autonomen Fahrzeugs
  • 4 zeigt eine beispielhafte Architektur 400 für ein autonomes Fahrzeug (z. B. das in 1 gezeigte AV 100). Die Architektur 400 beinhaltet ein Wahrnehmungsmodul 402 (manchmal als eine Wahrnehmungsschaltung bezeichnet), ein Planungsmodul 404 (manchmal als eine Planungsschaltung bezeichnet), ein Steuermodul 406 (manchmal als eine Steuerschaltung bezeichnet), ein Lokalisierungsmodul 408 (manchmal als eine Lokalisierungsschaltung bezeichnet) und ein Datenbankmodul 410 (manchmal als eine Datenbankschaltung bezeichnet). Jedes Modul spielt beim Betrieb des AV 100 eine Rolle. Zusammen können die Module 402, 404, 406, 408 und 410 Teil des in 1 gezeigten AV-Systems 120 sein. In manchen Ausführungsformen ist ein beliebiges der Module 402, 404, 406, 408 und 410 eine Kombination aus Computersoftware (z. B. ausführbarer Code, der auf einem computerlesbaren Medium gespeichert ist) und Computerhardware (z. B. ein(e) oder mehrere Mikroprozessoren, Mikrocontroller, anwendungsspezifische integrierte Schaltungen (ASICs)), Hardwarespeichervorrichtungen, anderen Arten von integrierten Schaltungen, anderen Arten von Computerhardware oder einer Kombination beliebiger oder aller dieser Dinge.
  • Im Gebrauch empfängt das Planungsmodul 404 Daten, die einen Bestimmungsort 412 repräsentieren, und bestimmt Daten, die eine Trajektorie 414 (manchmal als eine Route bezeichnet) repräsentieren, die von dem AV 100 gefahren werden kann, um den Bestimmungsort 412 zu erreichen (z. B. dort anzukommen). Damit das Planungsmodul 404 die Daten bestimmt, die die Trajektorie 414 repräsentieren, empfängt das Planungsmodul 404 Daten von dem Wahrnehmungsmodul 402, dem Lokalisierungsmodul 408 und dem Datenbankmodul 410.
  • Das Wahrnehmungsmodul 402 identifiziert naheliegende physische Objekte unter Verwendung eines oder mehrerer Sensoren 121, z. B. wie auch in 1 gezeigt. Die Objekte werden klassifiziert (z. B. in Arten wie etwa Fußgänger, Fahrrad, Kraftfahrzeug, Verkehrszeichen usw. gruppiert) und dem Planungsmodul 404 wird eine Szenenbeschreibung einschließlich der klassifizierten Objekte 416 bereitgestellt.
  • Das Planungsmodul 404 empfängt auch Daten, die 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 (z. B. geografische Daten), um eine Position zu berechnen. Beispielsweise verwendet das Lokalisierungsmodul 408 Daten von einem GNSS-Empfänger und geografische Daten, um einen Längengrad und Breitengrad des AV zu berechnen. In einer Ausführungsform beinhalten durch das Lokalisierungsmodul 408 verwendete Daten Hochpräzisionskarten der geometrischen Eigenschaften der Straße, Karten, die Konnektivitätseigenschaften des Straßennetzes beschreiben, Karten, die physische Eigenschaften der Straße beschreiben (wie etwa Verkehrsgeschwindigkeit, Verkehrsvolumen, die Anzahl von Fahrzeug- und Fahrradfahrer-Verkehrsspuren, Spurbreite, Spurverkehrsrichtungen oder Spurmarkierungsarten und -orte oder Kombinationen von diesen), und Karten, die die räumlichen Orte von Straßenmerkmalen wie etwa Fußgängerüberwege, Verkehrszeichen oder andere Verkehrssignale verschiedener Arten beschreiben. Typischerweise werden die hochpräzisen Karten manuell annotiert, was ein arbeitsintensiver Prozess ist. Um die Menge an Arbeit zu reduzieren, können die Karten unter Verwendung eines ML-basierten Frameworks annotiert werden, wie mit Bezug auf 5 beschrieben.
  • Das Steuermodul 406 empfängt die Daten, die die Trajektorie 414 repräsentieren, und die Daten, die die AV-Position 418 repräsentieren, und betreibt die Steuerfunktionen 420a-c (z. B. Lenkung, Gasgeben, Bremsung, Zündung) des AV auf eine Weise, die bewirken wird, dass das AV 100 auf der Trajektorie 414 zu dem Bestimmungsort 412 fährt. Falls beispielsweise die Trajektorie 414 eine Linksabbiegung beinhaltet, wird das Steuermodul 406 die Steuerfunktionen 420a-c auf eine solche Weise betreiben, dass der Lenkwinkel der Lenkfunktion bewirken wird, dass das AV 100 nach links abbiegt, und die Bremsung bewirken wird, dass das AV 100 pausiert und auf passierende Fußgänger oder Fahrzeuge wartet, bevor die Abbiegung vorgenommen wird.
  • Authentifizieren von Punktwolkendaten
  • 5 ist ein Blockdiagramm eines paketbasierten Kommunikationssystems 500 für ein autonomes Fahrzeug gemäß einer oder mehreren Ausführungsformen. Ein Sensor 501 beinhaltet einen Prozessor 502, der zum Herstellen einer Kommunikationssitzung mit einem Prozessor 504 eines Hostsystems 503 über einen oder mehrere Kommunikationskanäle 505 verwendet wird. Das Hostsystem 503 kann ein beliebiges System sein, das Punktwolkendaten verwendet oder weiterleitet. In dem gezeigten Beispiel beinhaltet das Hostsystem 503 unter anderem das Wahrnehmungsmodul 402, das Lokalisierungsmodul 408 oder ein beliebiges anderes Modul in der Architektur 400, das dazu ausgelegt ist, authentifizierte Punktwolkendaten zu empfangen. In einer Ausführungsform kann der Sensor 501 ein beliebiger Sensor sein, der dreidimensionale Daten erfasst, wie etwa LiDAR (z. B. LiDAR 123), RADAR, Ultraschallsensoren, Laufzeit(TOF)-Tiefensensoren und ein beliebiger anderer Sensor, der Distanz- oder Tiefenmessungen bereitstellt. In dem gezeigten Beispiel ist der Tiefensensor 501 ein LiDAR-Sensor, der auf dem Dach eines AV (z. B. AV 100) befestigt ist und sich dreht, um ein 360-Grad-Sichtfeld der Betriebsumgebung des Fahrzeugs abzudecken.
  • Von einer Sicherheitsperspektive aus sind die Punktwolkendaten, wenn sie auf einem oder mehreren Kommunikationskanälen 505 transportiert werden, gegenüber Verfälschung und Replay- und/oder Sample-and-Hold-Angriffen anfällig, die die Punktwolkendaten kompromittieren könnten, was einen potenziell gefährlichen Zustand im AV erzeugt. Um dieses Sicherheitsproblem anzusprechen, wurde ein Punktwolkenpaketformat mit verschiedenen Sicherheitsmerkmalen konzipiert, wie nachstehend mit Bezug auf die 6A, 6B, 6C, 6D, 6E und 7 beschrieben.
  • 6A veranschaulicht ein Punktwolkenpaketformat 600 gemäß einer oder mehreren Ausführungsformen. Das Punktwolkendatenpaketformat 600 beinhaltet einen IP-Header 601, einen UDP-Header 602 und einen Datenabschnitt 603. In einer Ausführungsform ist der IP-Header 601 ein standardmäßiger Internetprotokoll(IP)-Header (z. B. IPv4- oder IPv6-Header), der eine Versionsnummer, einen Lebenszeit(Time-to-Live)-Parameter, eine Quelladresse (z. B. Quell-IP-Adresse), eine Zieladresse (z. B. Ziel-IP-Adresse) usw. beinhaltet. Der UDP-Header 602 in Kombination mit dem Datenabschnitt 603 umfasst ein UDP-Datagramm. Der UDP-Header 602 beinhaltet Quell- und Zielportnummern, eine Paketlänge und eine Prüfsumme. Die Quellportnummer ist der Port des Senders, die Zielportnummer ist der Port, an den das Datagramm adressiert ist, die Länge ist die Länge in Bytes des UDP-Headers 602 und die Prüfsumme wird bei der Fehlerprüfung verwendet (bei IPv6 erforderlich und bei IPv4 optional). Das UDP-Paket (UDP-Header 602 plus Datenabschnitt 603) ist im IP-Paket 600 mit dem IP-Header 601 eingekapselt und wird zu dem im IP-Header 601 identifizierten IP-Ziel transportiert.
  • 6B veranschaulicht den Einschluss eines MAC 604 und einer MSN 605 in dem Punktwolkenpaket 600 von 6A gemäß einer oder mehreren Ausführungsformen. Die MSN 605 ist eine Zählung von Nachrichten, die durch den Prozessor 502 gesendet werden. In einer Ausführungsform werden der MAC 604 (z. B. 4 bis 8 Bytes) und die MSN 605 (z. B. 4 bis 6 Bytes) verwendet, um Nachrichten-Replay- oder -modifikationsangriffe zu verhindern. Ein Replay-Angriff ist eine Form von Netzwerkangriff, bei dem eine MITM-Vorrichtung oder bösartige Software die Punktwolkendaten abfängt und die Punktwolkendaten als Teil zum Beispiel eines Spoofing-Angriffs durch IP-Paketsubstitution erneut überträgt.
  • In einer Ausführungsform wird der MAC 604 unter Verwendung eines MAC-Geheimnisses, der MSN 605 und der Punktwolkendaten berechnet. In anderen Ausführungsformen wird der MAC 604 auch unter Verwendung der Datenlänge und fester Zeichenfolgen berechnet (z. B. zwei feste hexadezimale Zeichenfolgen), wie mit Bezug auf 6E beschrieben. Wenn der Prozessor 504 den MAC 604 für ein gegebenes Punktwolkendatenpaket 600 berechnet, wird, falls die MSN 605 nicht dem aktuellen Punktwolkendatenpaket entspricht, die Authentifizierung fehlschlagen und das Paket wird verworfen.
  • 6C veranschaulicht eine Punktwolkenrepräsentation gemäß einer oder mehreren Ausführungsformen. Der Sensor 501 (z. B. ein LiDAR-Sensor) durchsucht ein 360-Grad-Sichtfeld (FOV) in mehreren Ringen (als „Kanäle“ bezeichnet), die durch einen Vertikal- oder Elevationswinkel über einem Horizont definiert sind. Wie in dem beispielhaften Modell von 6C gezeigt, liegt Kanal 1 + 16 Grad über dem Horizont, Kanal 2 liegt „x“ Grad niedriger (z. B. +3,0 Grad) und so weiter bis Kanal „X“ -18 Grad unter dem Horizont liegt. Somit gibt es für einen speziellen Azimutwinkel „x“ Kanäle von Punktwolkendaten. 6D veranschaulicht ein beispielhaftes Koordinatenreferenzsystem 606 zum Repräsentieren der Punktwolkendaten unter Verwendung von Azimut- und Vertikal(Elevations)winkeln.
  • 6E veranschaulicht den Einschluss von Punktwolkendaten in einen Datenabschnitt des Punktwolkendatenpakets gemäß einer oder mehreren Ausführungsformen. In einer Ausführungsform sind die Punktwolkendaten im Datenabschnitt 603 des Punktwolkendatenpakets 600 in Blöcken organisiert, wobei jeder Block einen festen Header (z. B. 1-4 Bytes), einen Azimutwinkel (z. B. 2-3 Bytes) und x Kanäle (z. B. 64 Kanäle) beinhaltet, die mit den Azimutwinkeln abhängig vom Sensor assoziiert sind. Mit diesem Format enthält jeder Block Punktwolkendaten für ein bestimmtes „Slice“ der 3D-Punktwolke. Der feste Header wird verwendet, um das Parsen des Datenabschnitts 603 des Punktwolkenpakets 600 zu unterstützen. Für den Zweck der MAC-Erzeugung wird die interne Struktur des Datenabschnitts 603 als ein Byte-Array behandelt.
  • In einer Ausführungsform beinhaltet der MAC 604 den Datenabschnitt 603 und die MSN 605, um Replay-Angriffe und Verfälschungsangriffe zu verhindern. In einer anderen Ausführungsform kann der MAC 604 auch einige der Felder im Header 601 oder 602 beinhalten. Der MAC 604 muss jedoch nicht die Felder des Headers 601 oder des Headers 602 (z. B. Quell-IP-Adresse, Ziel-IP-Adresse) einschließen. Falls die Quell-IP-Adresse als das Nachschlagen eines speziellen kryptographischen Sensorauthentifizierungsschlüssels verwendet wird, dann würde ein Spoofing der Quell-IP-Adresse (als ein Angreifer) bei einer Authentifizierung unter diesem Schlüssel einen Fehlschlag verursachen. Falls die Ziel-IP-Adresse falsch ist, wird das Punktwolkenpaket 600 möglicherweise nicht geliefert, was einem Denial-of-Service(DoS)-Angriff ähnelt, der ungeachtet dessen möglich ist, ob die Ziel-IP im Paket enthalten ist.
  • 7 ist ein Flussdiagramm, das einen beispielhaften Prozess 700 zur Sitzungsschlüsselerzeugung veranschaulicht, gemäß mindestens einer Ausführungsform. In einer Ausführungsform wird der Prozess 700 durch den in 5 gezeigten Sensorprozessor 502 und Hostprozessor 504 durchgeführt. In anderen Ausführungsformen führen andere Entitäten, zum Beispiel ein Server (z. B. Server 136), ein Computersystem (z. B. Computersystem 300), eine mobile Vorrichtung oder ein AV-System (z. B. AV-System 120), einige oder alle der Elemente des Prozesses durch. Zusätzlich beinhalten andere Ausführungsformen der Technik mehr oder weniger Elemente, andere Elemente, Elemente, die in einer anderen als der dargestellten Reihenfolge durchgeführt werden, usw.
  • Jede Kommunikationssitzung zwischen dem Sensorprozessor 502 und dem Hostprozessor 504 ist dazu ausgelegt, Replay-Angriffe durch eine bösartige Entität zu verhindern, indem ermöglicht wird, dass der Sensorprozessor 502 eine Entropie erzeugt und zu einem Salt, das zum Erzeugen von Sitzungsschlüsseln verwendet wird, beisteuert. Ein Replay-Angriff bezieht sich auf einen Netzwerkangriff, bei dem gültige Daten durch eine bösartige Entität bösartig oder in betrügerischer Absicht wiederholt oder verzögert werden. Beispielsweise kann eine bösartige Entität, die eine Nachricht abfängt, die ein Punktwolkenpaket enthält, einen Replay-Angriff unter Verwendung der Nachricht als Teil eines Spoofing-Angriffs durch IP-Paketsubstitution starten.
  • Bei Inbetriebnahme, wenn der Sensorprozessor 502 einer Sitzung mit dem Hostprozessor 504 beitritt, wartet (701) der Hostprozessor 504 darauf, eine durch den Sensorprozessor 502 erzeugte Salt-Nachricht zu empfangen. In einer Ausführungsform sendet der Hostprozessor 504 eine Benachrichtigung zu dem Sensorprozessor 502, die einen Datentransfer anfordert. Als Reaktion auf die Anforderung empfängt der Hostprozessor 504 eine Salt-Nachricht vom Sensorprozessor 502, die ein Salt beinhaltet. In einer Ausführungsform beinhaltet das Salt Zufalls-Bits, die zu einer Instanz eines Passwortes (z. B. Sitzungsschlüsseln) hinzugefügt werden, bevor das Passwort gehasht wird. In einer Ausführungsform wählt der Hostprozessor 504 ein Salt aus einem Entropie-Pool aus. Entropie bezieht sich auf einen durchschnittlichen Informationsstand, der in möglichen Werten einer Zufallsvariable inhärent ist. Beispielsweise repräsentiert Entropie eine mathematische Grenze einer verlustfreien Komprimierung von Daten auf einen rauschfreien Kanal. Das Salt wird verwendet, um eindeutige Passwörter zu erzeugen, selbst wenn der Hostprozessor 504 und der Sensorprozessor 502 die gleichen Sitzungsschlüssel verwenden. Die hierin offenbarten Ausführungsformen verhindern somit Rainbow-Table-Angriffe, indem eine bösartige Entität gezwungen wird, die Sitzungsschlüssel unter Verwendung der Salts erneut zu berechnen. Ein Rainbow-Table-Angriff ist eine Art von Hacking-Angriff, bei dem ein Täter versucht, eine Rainbow-Hash-Tabelle zu verwenden, um in einem Datenbanksystem gespeicherter Passwörter zu knacken.
  • Das Salt wird durch den Hostprozessor 504 verwendet, um Sitzungsschlüssel (702) für die Kommunikationssitzung mit dem Sensorprozessor 502 zu berechnen und geschützte Nachrichten, die vom Sensorprozessor 502 empfangen werden, zu authentifizieren und zu decodieren (oder zu entschlüsseln). In einer Ausführungsform werden geschützte Nachrichten über eine Netzwerkverbindung übertragen, zum Beispiel ein Lokalnetzwerk 322, wie etwa ein CAN(Controller Area Network)-Bus oder Ethernet. In einer Ausführungsform übermittelt der Sensorprozessor 502 das Salt zu dem Hostprozessor 504 zur Erzeugung von Sitzungsschlüsseln für eine Kommunikationssitzung.
  • In einer Ausführungsform werden Sitzungsschlüssel durch den Hostprozessor 504 unter Verwendung einer HKDF (Hashed Key Derivation Function - gehashte Schlüsselableitungsfunktion), eines IKM (Input Key Material) und des Salt erzeugt. Beispielsweise werden die Sitzungsschlüssel unter Verwendung einer HKDF basierend auf einem HMAC (Hash-based Message Authentication Code - Hash-basierter Nachrichtenauthentifizierungscode) bestimmt. Ein Sitzungsschlüssel ist ein Verschlüsselungs- und Entschlüsselungsschlüssel, der zufällig erzeugt wird, um die Sicherheit einer Kommunikationssitzung zwischen dem Hostprozessor 504 und dem Sensorprozessor 502 zu gewährleisten. Sitzungsschlüssel werden manchmal symmetrische Schlüssel genannt, da der gleiche Schlüssel für sowohl die Verschlüsselung als auch Entschlüsselung geschützter Nachrichten verwendet wird, die vom Sensorprozessor 502 zum Hostprozessor 504 gereicht werden. Eine HKDF ist eine Schlüsselableitungsfunktion (KDF) auf Basis eines HMAC. Eine HKDF wird als ein Baustein in verschiedenen Protokollen und Anwendungen verwendet und um die Proliferation mehrerer KDF-Mechanismen zu verhindern. Ein HMAC ist eine Art von MAC, der eine kryptographische Hash-Funktion und einen geheimen kryptographischen Schlüssel (z. B. ein Salt) beinhaltet. In einer Ausführungsform wird ein IKM, das ein kryptographisch schwacher pseudozufälliger String ist, zum Extrahieren eines pseudozufälligen Schlüssels fester Länge verwendet werden. Der pseudozufällige Schlüssel fester Länge wird in mehrere zusätzliche pseudozufällige Schlüssel (die Ausgabe der HKDF) erweitert, wie folgt in Gleichung (1) repräsentiert: Sitzungsschl u ¨ ssel = [ HKDF ( IKM ,Salt ) ]
    Figure DE102021133352A1_0001
  • Der Hostprozessor 504 initialisiert (703) seinen Empfänger unter Verwendung der Sitzungsschlüssel, sodass er für den Empfang geschützter Nachrichten vom Sensorprozessor 502 für den Zweck des Empfangens von Punktwolkendaten bereit ist. Der Nachrichtenempfänger ist Teil des Hostprozessors 504 und wird unter Verwendung der Komponenten des beispielhaften Computersystems 300 implementiert, das mit Bezug auf 3 veranschaulicht und ausführlicher beschrieben ist. Der Hostprozessor 504 beginnt mit dem Empfangen geschützter Nachrichten vom Sensorprozessor 502. Periodisch wird eine Salt-Nachricht empfangen, die das bei Inbetriebnahme durch den Sensorprozessor 502 erzeugte Salt enthält.
  • In einer Ausführungsform werden die eine oder die mehreren ersten geschützten Nachrichten, die durch den Hostprozessor 504 vom Sensorprozessor 502 empfangen werden, zum Authentifizieren einer oder mehrerer anschließender geschützter Nachrichten und ihrer Sitzungsschlüssel verwendet (704). Nachdem die Sitzungsschlüssel und die eine oder die mehreren ersten geschützten Nachrichten authentifiziert sind, empfängt der Hostprozessor 504 anschließende geschützte Nachrichten, die Punktwolkendaten in dem beispielhaften Format, das mit Bezug auf die 6A-6E beschrieben ist, führen. Die Salt-Nachricht wird aktualisiert und zum Erzeugen von Sitzungsschlüsseln verwendet (702).
  • Beispielhafte Prozesse
  • 8 ist ein Flussdiagramm eines Prozesses 800 zum Authentifizieren von Punktwolkendaten, der durch einen Sensorprozessor durchgeführt wird, gemäß einer oder mehreren Ausführungsformen. Der Prozess 800 kann zum Beispiel unter Verwendung des mit Bezug auf 3 beschriebenen Computersystems 300 implementiert werden.
  • Der Prozess 800 umfasst Erzeugen eines Punktwolkenpakets (801). In einer Ausführungsform umfasst das Punktwolkenpaket einen Headerteil und einen Datenteil und der Datenteil umfasst mehrere Blöcke, wobei jeder Block Punktwolkendaten umfasst. Das Punktwolkenpaket kann durch einen Sensorprozessor (z. B. Sensorprozessor 502) oder einen oder mehrere andere Prozessoren erzeugt werden.
  • Der Prozess 800 fährt fort mit Erzeugen einer MSN (802), Speichern der MSN im Datenteil (803), Berechnen eines MAC auf dem Datenteil (804) und Speichern des MAC im Datenteil (805), wie mit Bezug auf die 6A-6E beschrieben.
  • 9 ist ein Flussdiagramm eines Prozesses 900 zum Authentifizieren von Punktwolkendaten, der durch einen Hostprozessor durchgeführt wird, gemäß einer oder mehreren Ausführungsformen. Der Prozess 900 kann zum Beispiel unter Verwendung des mit Bezug auf 3 beschriebenen Computersystems 300 implementiert werden.
  • Der Prozess 900 umfasst Empfangen einer Nachricht, die ein Punktwolkenpaket beinhaltet (901). In einer Ausführungsform umfasst das Punktwolkenpaket einen Headerteil, einen Datenabschnitt, einen MAC und eine MSN, und der Datenabschnitt beinhaltet mehrere Blöcke, wobei jeder Block Punktwolkendaten umfasst.
  • Der Prozess 900 fährt fort mit Parsen der Punktwolkendaten, des MAC und der MSN aus dem Punktwolkenpaket und Prüfen der MSN (902). Falls die MSN verifiziert wird (903), fährt der Prozess 900 mit Prüfen des MAC (904) fort. Falls der MAC verifiziert wird (905), werden die Punktwolkendaten als authentifiziert angesehen und der Prozess 900 fährt fort mit Senden der authentifizierten Punktwolkendaten zu Punktwolkenbeziehern im AV (906).
  • In manchen Ausführungsformen wird der MAC durch den Sensorprozessor unter Verwendung eines Geheimschlüsselerzeugungsalgorithmus und eines Signierungsalgorithmus berechnet und durch den Hostprozessor unter Verwendung eines Verifizierungsalgorithmus verifiziert. Der Schlüsselerzeugungsalgorithmus wählt zufällig einen Geheimschlüssel. Der Signierungsalgorithmus gibt einen MAC (auch ein „Tag“ genannt) aus, wenn ihm der Geheimschlüssel gegeben wird und der Datenabschnitt die MSN und Punktwolkendaten enthält. Der Verifizierungsalgorithmus verifiziert die Authentizität des Datenabschnitts unter Verwendung des Geheimschlüssels und des MAC und gibt eine Nachricht von Akzeptiert zurück, falls die Nachricht und der MAC authentisch und unverändert sind.
  • Beispielsweise sendet der Sensorprozessor eine Nachricht (d. h. den Datenabschnitt, der die MSN und Punktwolkendaten enthält) über den MAC-Algorithmus, was einen Schlüssel erzeugt, und hängt einen MAC an die Nachricht an. Der Hostprozessor empfängt und parst die Nachricht aus dem Punktwolkenpaket, führt den MAC-Algorithmus an der Nachricht mit dem gleichen Geheimschlüssel aus und gibt einen zweiten MAC aus. Der zweite MAC wird dann mit dem ersten MAC verglichen, der an der Nachricht angehängt wurde, als er durch den Sensorprozessor übertragen wurde. Falls der erste MAC und der zweite MAC die gleichen sind, kann der Hostprozessor sicher annehmen, dass die Datenintegrität der Nachricht intakt ist. Falls der erste MAC und der zweite MAC nicht übereinstimmen, wurde die Nachricht geändert, verfälscht oder nachgeahmt.
  • Nachdem die MSN verifiziert wird, wird sie verwendet, um zu garantieren, dass die Nachricht nur einmal gesendet wurde. Ansonsten könnte das AV gegenüber einem Replay-Angriff anfällig sein, bei dem ein Angreifer die Nachricht abfängt und sie zu einem späteren Zeitpunkt erneut überträgt, wodurch die ursprünglichen Ergebnisse repliziert werden und ein Zugriff auf die Punktwolkendaten erlangt wird.
  • Die MAC-Algorithmen können aus kryptographischen Hash-Funktionen (z. B. HMAC) oder aus Block-Cipher-Algorithmen (z. B. One-Key-MAC, Zähler mit Cipher-Block-Chaining-MAC (CBC-MAC), Galois/Counter Mode (GCM)) erstellt werden.
  • In der vorstehenden Beschreibung wurden Ausführungsformen der Erfindung mit Bezugnahme auf zahlreiche spezifische Einzelheiten beschrieben, die von Implementierung zu Implementierung variieren können. Die Beschreibung und die Zeichnungen sind dementsprechend als veranschaulichend anstatt beschränkend aufzufassen. Der alleinige und exklusive Indikator des Schutzumfangs der Erfindung, und was durch die Anmelder als der Schutzumfang der Erfindung beabsichtigt wird, ist der wörtliche und äquivalente Schutzumfang des Satzes von Ansprüchen, der sich aus dieser Anmeldung ergibt, in der spezifischen Form, in der solche Ansprüche sich ergeben, einschließlich jeglicher anschließender Korrektur. Jegliche Definitionen, die hierin für in solchen Ansprüchen enthaltenen Begriffe dargelegt sind, sollen die Bedeutung solcher Begriffe, wie in den Ansprüchen verwendet, bestimmen. Zusätzlich, wenn der Begriff „ferner einschließlich“ in der vorstehenden Beschreibung oder den folgenden Ansprüchen verwendet wird, kann, was diesem Ausdruck folgt, ein zusätzlicher Schritt oder eine zusätzliche Entität oder ein Teilschritt/eine Teilentität eines zuvor vorgetragenen Schritts oder einer zuvor vorgetragenen Entität sein.

Claims (24)

  1. Verfahren, umfassend: Erzeugen, mit mindestens einem Prozessor, eines Punktwolkenpakets, das einen Headerteil und einen Datenabschnitt umfasst, wobei der Datenabschnitt mehrere Blöcke umfasst, wobei jeder Block Punktwolkendaten umfasst; Erzeugen, mit dem mindestens einen Prozessor, einer Nachrichtensequenznummer (MSN); Speichern, mit dem mindestens einen Prozessor, der MSN im Datenabschnitt; Erzeugen, mit dem mindestens einen Prozessor, eines Nachrichtenauthentifizierungscodes (MAC) auf dem Datenabschnitt; Speichern des MAC im Punktwolkenpaket; und Übertragen, mit dem mindestens einen Prozessor, des Punktwolkenpakets zu einer Empfangsvorrichtung.
  2. Verfahren nach Anspruch 1, wobei der Header zumindest eine Versionsnummer, einen Lebenszeit(Time-to-Live)-Wert, eine Quelladresse und eine Zieladresse umfasst.
  3. Verfahren nach Anspruch 2, wobei der Header ein Internetprotokoll(IP)-Header ist und die Quelladresse eine Quell-IP-Adresse ist und die Zieladresse eine Ziel-IP-Adresse ist.
  4. Verfahren nach Anspruch 1, wobei das Punktwolkenpaket zumindest einen Quellport, einen Zielport, eine Länge und eine Prüfsumme umfasst.
  5. Verfahren nach Anspruch 1, wobei jeder Block von Punktwolkendaten einen einzelnen Azimutwinkel und mehrere Vertikalwinkel entsprechend dem Azimutwinkel für die Punkte in der Punktwolke umfasst, wobei der Azimutwinkel und die mehreren Vertikalwinkel in einem Punktwolkenreferenzkoordinatensystem gemessen werden.
  6. Verfahren nach Anspruch 1, wobei jeder Block der mehreren Blöcke einen festen Header umfasst.
  7. Verfahren nach Anspruch 1, wobei der MAC 4 bis 8 Bytes lang ist.
  8. Verfahren nach Anspruch 1, wobei die Punktwolkendaten durch einen Tiefensensor eines autonomen Fahrzeugs erzeugt werden, und wobei das Übertragen des Punktwolkenpakets vom Tiefensensor zu der Empfangsvorrichtung ferner Folgendes umfasst: Erzeugen mindestens eines Sitzungsschlüssels; Erzeugen einer Nachricht, die das Punktwolkenpaket beinhaltet; Verschlüsseln der Nachricht unter Verwendung des mindestens einen Sitzungsschlüssels; Herstellen einer Kommunikationssitzung zwischen dem Tiefensensor und der Empfangsvorrichtung; und Übertragen, während der hergestellten Kommunikationssitzung, der verschlüsselten Nachricht vom Tiefensensor zu der Empfangsvorrichtung.
  9. Verfahren nach Anspruch 8, wobei das Erzeugen des mindestens einen Sitzungsschlüssels ferner Folgendes umfasst: Übertragen, durch die Empfangsvorrichtung, eines ersten Salt zu dem Tiefensensor; Empfangen, durch die Empfangsvorrichtung, einer Synchronisationsnachricht vom Tiefensensor, wobei die Synchronisationsnachricht eine Menge an Entropie umfasst; Erzeugen, durch die Empfangsvorrichtung, eines zweiten Salt basierend auf dem ersten Salt und der Menge an Entropie; und Erzeugen des mindestens einen Sitzungsschlüssels basierend auf dem zweiten Salt.
  10. Verfahren nach Anspruch 8, wobei der Tiefensensor ein LiDAR-Sensor ist (LiDAR: Light Detection and Ranging - Lichtdetektion und -entfernungsmessung).
  11. Verfahren nach Anspruch 8, wobei der Tiefensensor ein TOF-Sensor ist (TOF: Time-of-Flight - Laufzeit).
  12. Verfahren nach Anspruch 8, wobei der Tiefensensor ein RADAR ist.
  13. Verfahren nach Anspruch 9, wobei der Tiefensensor ein SONAR ist.
  14. Verfahren, umfassend: Empfangen, mit mindestens einem Prozessor oder einer Empfangsvorrichtung, einer verschlüsselten Nachricht, die ein Punktwolkenpaket beinhaltet, wobei das Punktwolkenpaket einen Headerteil, einen Datenabschnitt, einen Nachrichtenauthentifizierungscode (MAC) und eine Nachrichtensequenznummer (MSN) umfasst, wobei der Datenabschnitt mehrere Blöcke umfasst, wobei jeder Block Punktwolkendaten umfasst; Entschlüsseln, mit dem mindestens einen Prozessor, der verschlüsselten Nachricht; Parsen, mit dem mindestens einen Prozessor, der Punktwolkendaten, des MAC und der MSN aus dem Punktwolkenpaket; Authentifizieren der Punktwolkendaten basierend auf dem MAC und der MSN; und Übertragen, mit dem mindestens einen Prozessor, der Punktwolkendaten zu einer Speicherungsvorrichtung oder einer anderen Vorrichtung.
  15. Verfahren nach Anspruch 14, wobei der Header zumindest eine Versionsnummer, einen Lebenszeit(Time-to-Live)-Wert, eine Quelladresse und eine Zieladresse beinhaltet.
  16. Verfahren nach Anspruch 15, wobei der Header ein Internetprotokoll(IP)-Header ist, die Quelladresse eine Quell-IP-Adresse ist und die Zieladresse eine Ziel-IP-Adresse ist.
  17. Verfahren nach Anspruch 14, wobei das Punktwolkenpaket zumindest einen Quellport, einen Zielport, eine Länge und eine Prüfsumme umfasst.
  18. Verfahren nach Anspruch 14, wobei jeder Block von Punktwolkendaten einen einzelnen Azimutwinkel und mehrere Elevationswinkel entsprechend dem Azimutwinkel für die Punkte in der Punktwolke umfasst, und wobei der Azimutwinkel und die mehreren Elevationswinkel in einem Punktwolkenreferenzkoordinatensystem gemessen werden.
  19. Verfahren nach Anspruch 14, wobei jeder Block der mehreren Blöcke einen festen Header umfasst.
  20. Verfahren nach Anspruch 14, wobei der MAC 4 bis 8 Bytes lang ist.
  21. Verfahren nach Anspruch 14, wobei die Punktwolkendaten durch einen Tiefensensor eines autonomen Fahrzeugs erzeugt werden, und wobei die Nachricht zu der Empfangsvorrichtung übertragen wird durch: Erzeugen mindestens eines Sitzungsschlüssels; Verschlüsseln der Nachricht unter Verwendung des mindestens einen Sitzungsschlüssels; Herstellen einer Kommunikationssitzung zwischen dem Tiefensensor und der Empfangsvorrichtung; und Übertragen, während der hergestellten Kommunikationssitzung, der verschlüsselten Nachricht vom Tiefensensor zu der Empfangsvorrichtung.
  22. Verfahren nach Anspruch 21, wobei das Erzeugen des mindestens einen Sitzungsschlüssels ferner Folgendes umfasst: Übertragen, durch die Empfangsvorrichtung, eines ersten Salt zu dem Tiefensensor; Empfangen, durch die Empfangsvorrichtung, einer Synchronisationsnachricht vom Tiefensensor, wobei die Synchronisationsnachricht eine Menge an Entropie umfasst; Erzeugen, durch die Empfangsvorrichtung, eines zweiten Salt basierend auf dem ersten Salt und der Menge an Entropie; und Erzeugen des mindestens einen Sitzungsschlüssels basierend auf dem zweiten Salt.
  23. Verfahren nach Anspruch 14, ferner umfassend: Senden, mit dem mindestens einen Prozessor, der Punktwolkendaten zu einer Wahrnehmungsschaltung eines autonomen Fahrzeugs, wobei die Wahrnehmungsschaltung dazu ausgelegt ist, mindestens einen physischen Zustand mindestens eines Objekts in einer Betriebsumgebung des autonomen Fahrzeugs vorherzusagen.
  24. Verfahren nach Anspruch 23, ferner umfassend: Erzeugen, mit dem mindestens einen Prozessor, einer Trajektorie für das autonome Fahrzeug in der Betriebsumgebung zumindest teilweise basierend auf dem vorhergesagten mindestens einen physischen Zustand.
DE102021133352.0A 2021-06-21 2021-12-15 Authentifizierte punktwolkendaten Pending DE102021133352A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/353,786 2021-06-21
US17/353,786 US20220407716A1 (en) 2021-06-21 2021-06-21 Authenticated point cloud data

Publications (1)

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

Family

ID=80121931

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021133352.0A Pending DE102021133352A1 (de) 2021-06-21 2021-12-15 Authentifizierte punktwolkendaten

Country Status (5)

Country Link
US (1) US20220407716A1 (de)
KR (1) KR20220169873A (de)
CN (1) CN115580405A (de)
DE (1) DE102021133352A1 (de)
GB (1) GB2608208A (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
US11496776B1 (en) 2021-07-19 2022-11-08 Intrado Corporation Database layer caching for video communications

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019140577A (ja) * 2018-02-13 2019-08-22 株式会社デンソー 電子制御装置及び通信システム
US11469906B2 (en) * 2018-11-20 2022-10-11 Motional Ad Llc Systems and methods for implementing data security
US10991175B2 (en) * 2018-12-27 2021-04-27 Beijing Voyager Technology Co., Ltd. Repair management system for autonomous vehicle in a trusted platform
US11348284B2 (en) * 2019-01-08 2022-05-31 Apple Inc. Auxiliary information signaling and reference management for projection-based point cloud compression
US11750399B2 (en) * 2019-12-06 2023-09-05 Motional Ad Llc Cyber-security protocol
US20220179082A1 (en) * 2020-12-08 2022-06-09 Argo AI, LLC Methods and system for analyzing dynamic lidar point cloud data
WO2022188164A1 (zh) * 2021-03-12 2022-09-15 深圳市大疆创新科技有限公司 点云属性解码方法和点云属性编码方法

Also Published As

Publication number Publication date
GB2608208A (en) 2022-12-28
CN115580405A (zh) 2023-01-06
US20220407716A1 (en) 2022-12-22
KR20220169873A (ko) 2022-12-28

Similar Documents

Publication Publication Date Title
US11469906B2 (en) Systems and methods for implementing data security
US11222121B2 (en) Secure boot of vehicular processors
DE102021133352A1 (de) Authentifizierte punktwolkendaten
DE102010046843A1 (de) Reduzieren der Rechenlast an Prozessoren durch selektives Verwerfen von Daten in Fahrzeugnetzen
US11785463B2 (en) Device provisioning and authentication
US20220201000A1 (en) Security gateway
DE102020132273A1 (de) Cybersicherheitsprotokoll
DE102021133346A1 (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
DE102021133367A1 (de) Sitzungsschlüsselerzeugung für einen betrieb autonomer fahrzeuge