DE102019219667B3 - Computer program product for a peer-to-peer computer network - Google Patents
Computer program product for a peer-to-peer computer network Download PDFInfo
- Publication number
- DE102019219667B3 DE102019219667B3 DE102019219667.5A DE102019219667A DE102019219667B3 DE 102019219667 B3 DE102019219667 B3 DE 102019219667B3 DE 102019219667 A DE102019219667 A DE 102019219667A DE 102019219667 B3 DE102019219667 B3 DE 102019219667B3
- Authority
- DE
- Germany
- Prior art keywords
- action
- peer
- intended
- decentralized
- motor vehicle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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 non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0015—Planning or execution of driving tasks specially adapted for safety
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0002—Automatic control, details of type of controller or control system architecture
- B60W2050/0004—In digital systems, e.g. discrete-time systems involving sampling
- B60W2050/0005—Processor details or data handling, e.g. memory registers or chip architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0002—Automatic control, details of type of controller or control system architecture
- B60W2050/0004—In digital systems, e.g. discrete-time systems involving sampling
- B60W2050/0006—Digital architecture hierarchy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Mechanical Engineering (AREA)
- Computing Systems (AREA)
- Transportation (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
Die Erfindung betrifft ein Computerprogrammprodukt für ein Peer-to-Peer Computernetzwerk (24), wobei das Computerprogrammprodukt, wenn es auf in einem Kraftfahrzeug angeordneten dezentralen Prozessoreinheiten (8, 25) eines Peer-to-Peer Computernetzwerkes (24) ausgeführt wird, die dezentralen Prozessoreinheiten (8, 25) anleitet, auf einen Aktionsdatensatz (27.2, 28.2, 29.2) zuzugreifen, der von einer zentralen Prozessoreinheit (3) des Kraftfahrzeugs generiert worden ist, wobei der Aktionsdatensatz (27.2, 28.2, 29.2) Informationen darüber enthält, dass die zentrale Prozessoreinheit (3) beabsichtigt, eine Aktion des Kraftfahrzeugs anzuweisen. Weiterhin werden die dezentralen Prozessoreinheiten (8, 25) angeleitet, die beabsichtigte Aktion zu validieren, bevor sie durch die zentrale Prozessoreinheit (3) angewiesen wird, und der zentralen Prozessoreinheit (3) zu erlauben, die beabsichtigte Aktion anzuweisen, wenn die Aktion erfolgreich validiert worden ist, sowie der zentralen Prozessoreinheit (3) zu verbieten, die beabsichtigte Aktion anzuweisen, wenn die Aktion nicht erfolgreich validiert worden ist.The invention relates to a computer program product for a peer-to-peer computer network (24), the computer program product, when it is executed on decentralized processor units (8, 25) of a peer-to-peer computer network (24) arranged in a motor vehicle, the decentralized Instructs processor units (8, 25) to access an action data set (27.2, 28.2, 29.2) that has been generated by a central processor unit (3) of the motor vehicle, the action data set (27.2, 28.2, 29.2) containing information that the central processor unit (3) intends to instruct an action of the motor vehicle. Furthermore, the decentralized processing units (8, 25) are instructed to validate the intended action before it is instructed by the central processing unit (3), and to allow the central processing unit (3) to instruct the intended action if the action is successfully validated and to forbid the central processing unit (3) from instructing the intended action if the action has not been successfully validated.
Description
Die Erfindung betrifft ein Computerprogrammprodukt für ein Peer-to-Peer Computernetzwerk. Insbesondere betrifft die Erfindung ein Verfahren zur Validierung und Steuerung einer Aktion eines Kraftfahrzeugs mittels eines Peer-to-Peer Computernetzwerks. Beansprucht werden in diesem Zusammenhang insbesondere ein entsprechendes Peer-to-Peer Computernetzwerk sowie ein Kraftfahrzeug mit dem Peer-to-Peer Computernetzwerk.
Im Stand der Technik wird z.B. in der
In the prior art, for example, in the
Eine Aufgabe der vorliegenden Erfindung kann darin gesehen werden, sicherzustellen, dass eine Aktion eines Kraftfahrzeugs, insbesondere eine kritische Funktion im Kontext des Autonomen Fahrens genau unter den richtigen Sicherheitsbedingungen und in einer klar definierten Reihenfolge ausgeführt wird. Die Aufgabe wird gelöst durch die Gegenstände der unabhängigen Patentansprüche. Vorteilhafte Ausführungsformen sind Gegenstand der Unteransprüche, der folgenden Beschreibung sowie der Figuren.One object of the present invention can be seen in ensuring that an action of a motor vehicle, in particular a critical function in the context of autonomous driving, is carried out precisely under the correct safety conditions and in a clearly defined sequence. The object is achieved by the subjects of the independent claims. Advantageous embodiments are the subject matter of the subclaims, the following description and the figures.
Vorgeschlagen werden ein Computerprogrammprodukt, ein Verfahren und ein Peer-to-Peer Computernetzwerk zur Validierung und Steuerung bzw. Ausführung einer Aktion eines Kraftfahrzeugs sowie ein Kraftfahrzeug mit dem Peer-to-Peer Computernetzwerk. Dezentrale Prozessoreinheiten, die zu dem Peer-to-Peer Computernetzwerks gehören, können dabei auf das Computerprogrammprodukt zugreifen, wozu das Computerprogrammprodukt beispielsweise auf einer computerlesbaren Speichereinheit, z.B. einem Speicherchip oder auf einer Festplatte oder Server, einer insbesondere jeden dezentralen Prozessoreinheit des Peer-to-Peer Computernetzwerks gespeichert sein kann.A computer program product, a method and a peer-to-peer computer network for validating and controlling or executing an action of a motor vehicle and a motor vehicle with the peer-to-peer computer network are proposed. Decentralized processor units belonging to the peer-to-peer computer network can access the computer program product, for which purpose the computer program product is stored, for example, on a computer-readable memory unit, e.g. a memory chip or on a hard drive or server, in particular each decentralized processor unit of the peer-to-peer. Peer computer network can be stored.
Im Rahmen der vorliegenden Erfindung wird insbesondere vorgeschlagen, Blockchain-Technologie nicht außerhalb sondern innerhalb einer einzigen Einheit zu nutzen, in diesem Fall innerhalb eines autonomen Kraftfahrzeugs, um Funktionen zu validieren, die ein hohes Sicherheitsniveau erfordern (z.B. ASIL D). Dies erfolgt durch verschiedene zu diesem Zweck entwickelte Hardwareblöcke. Gemäß der vorliegenden Erfindung sind insbesondere mehrere solcher Hardwareblöcke vorgesehen, um eine interne Blockchain innerhalb des autonomen Kraftfahrzeugs zu lösen. Mit anderen Worten stellt die vorliegende Erfindung eine Technologie insbesondere für Sicherheitsfunktionen in einem autonomen Fahrkontext bereit, wobei die Sicherheitsfunktionen mittels eines Kraftfahrzeug-internen Peer-to-Peer Computernetzwerks überprüft bzw. validiert und bei erfolgreicher Validierung in einer internen Blockchain gespeichert werden. Der vorgeschlagene Ansatz stellt sicher, dass die kritischen Funktionen in dem Kontext des Autonomen Fahrens unter den richtigen Sicherheitsbedingungen ausgeführt werden, nachdem die Validierung Kraftfahrzeug-intern erfolgt ist.In the context of the present invention, it is proposed in particular to use blockchain technology not outside but within a single unit, in this case inside an autonomous motor vehicle, in order to validate functions that require a high level of security (e.g. ASIL D). This is done using various hardware blocks developed for this purpose. According to the present invention, in particular, several such hardware blocks are provided in order to solve an internal blockchain within the autonomous motor vehicle. In other words, the present invention provides a technology in particular for safety functions in an autonomous driving context, the safety functions being checked or validated by means of a vehicle-internal peer-to-peer computer network and, if validation is successful, stored in an internal blockchain. The proposed approach ensures that the critical functions in the context of autonomous driving are carried out under the correct safety conditions after the validation has been carried out internally in the vehicle.
In diesem Sinne wird gemäß einem ersten Aspekt der Erfindung ein Computerprogrammprodukt für ein Peer-to-Peer Computernetzwerk bereitgestellt. Das Computerprogrammprodukt leitet, wenn es auf in einem Kraftfahrzeug angeordneten dezentralen Prozessoreinheiten eines Peer-to-Peer Computernetzwerkes ausgeführt wird, die dezentralen Prozessoreinheiten an, auf einen Aktionsdatensatz zuzugreifen, der von einer zentralen Prozessoreinheit des Kraftfahrzeugs generiert worden ist, wobei der Aktionsdatensatz Informationen darüber enthält, dass die zentrale Prozessoreinheit beabsichtigt, eine Aktion des Kraftfahrzeugs anzuweisen.In this sense, according to a first aspect of the invention, a computer program product for a peer-to-peer computer network is provided. When executed on decentralized processor units of a peer-to-peer computer network arranged in a motor vehicle, the computer program product instructs the decentralized processor units to access an action data set that has been generated by a central processor unit of the motor vehicle, the action data set containing information about it that the central processor unit intends to instruct an action of the motor vehicle.
Die zentrale Prozessoreinheit und die dezentralen Prozessoreinheiten können jeweils einen Prozessor und einen Speicher umfassen. Die im Rahmen der vorliegenden Erfindung beschriebenen Prozessoreinheiten können auch als Computer bezeichnet werden. Auf dem jeweiligen Speicher der Prozessoreinheiten bzw. Computern kann das Computerprogrammprodukt gemäß dem ersten Aspekt der Erfindung gespeichert sein, wobei der jeweilige Prozessor beispielsweise jeweils mittels einer Kommunikationsschnittstelle auf die jeweilige Speichereinheit zugreifen kann, um das darauf gespeicherte Computerprogrammprodukt auszuführen. Die an das Peer-to-Peer Computernetzwerk angeschlossene zentrale Prozessoreinheit kann einen Computer des Peer-to-Peer Computernetzwerks bilden. Mit anderen Worten kann das Peer-to-Peer Computernetzwerk die zentrale Prozessoreinheit umfassen.The central processor unit and the decentralized processor units can each comprise a processor and a memory. The processor units described in the context of the present invention can also be referred to as computers. The computer program product according to the first aspect of the invention can be stored on the respective memory of the processor units or computers, the respective processor being able to access the respective memory unit by means of a communication interface in order to execute the computer program product stored thereon. The central processor unit connected to the peer-to-peer computer network can form a computer of the peer-to-peer computer network. In other words, the peer-to-peer computer network can include the central processor unit.
Das Merkmal „Aktion“ umfasst automatisierte Funktionen des Kraftfahrzeugs. Die automatisierten Funktionen müssen nicht durch einen Fahrzeuginsassen angewiesen und ausgeführt, insbesondere gesteuert werden. Darunter fallen beispielsweise Fahrfunktionen wie Bremsen, Beschleunigen oder Lenken des Kraftfahrzeugs sowie damit verknüpfter Funktionen in einem autonomen oder teilautonomen Fahrmodus. Weiterhin stellen auch beispielsweise die automatische Steuerung des äußeren Lichtsystems einschließlich Blinkern eine Aktion dar. Auch das automatische Management der Software bzw. Firmware zum Steuern des Kraftfahrzeugs und dessen Fahrerassistenzsysteme stellt eine Aktion dar, z.B. die Installation bzw. Aktualisierung einer Firmware. All diese Aktionen stellen ein Ereignis dar, wenn sie durchgeführt werden. Diese Aktionen bzw. Ereignisse werden durch die dezentralen Prozessoreinheiten des Peer-to-Peer Computernetzwerks validiert, bevor die zentrale Prozessoreinheit sie anweisen darf und bevor die Aktion ausgeführt werden darf.The “action” feature includes automated functions of the motor vehicle. The automated functions do not have to be instructed and executed, in particular controlled, by a vehicle occupant. This includes, for example, driving functions such as braking, accelerating or steering the motor vehicle and related functions in an autonomous or semi-autonomous driving mode. Furthermore, for example, the automatic control of the external light system, including indicators, also represent an action. The automatic management of the software or firmware for controlling the motor vehicle and its driver assistance systems also represent an action, for example installing or updating firmware. All of these actions constitute an event when they are performed. These actions or events are carried out by the decentralized Processor units of the peer-to-peer computer network validated before the central processor unit may instruct them and before the action may be carried out.
Die zentrale Prozessoreinheit kann insbesondere in einem zentralen Steuergerät (Central Electronic Control Unit oder abgekürzt: Central ECU) des Kraftfahrzeugs angeordnet sein. Das Steuergerät kann mittels der zentralen Prozessoreinheit eine Aktion des Kraftfahrzeugs ausführen, insbesondere steuern, beispielsweise eine Fahrfunktion, sodass das Kraftfahrzeug autonom oder zumindest teilautonom fahren kann.The central processor unit can in particular be arranged in a central control unit (Central Electronic Control Unit or, for short: Central ECU) of the motor vehicle. The control device can execute an action of the motor vehicle by means of the central processor unit, in particular control it, for example a driving function, so that the motor vehicle can drive autonomously or at least partially autonomously.
Die „beabsichtigte“ Aktion ist diejenige Aktion, welche die zentrale Prozessoreinheit anzuweisen beabsichtigt. Unter „anweisen“ ist insbesondere zu verstehen, dass die zentrale Prozessoreinheit die Aktion initiiert, beispielsweise eine autonome Fahrfunktion des Kraftfahrzeugs. Dazu kann die zentrale Prozessoreinheit eine entsprechende Anweisung an eine betreffende Funktionseinheit übermitteln, beispielsweise an ein Fahrerassistenzsystem. Es ist möglich, nicht jedoch notwendig, dass die zentrale Prozessoreinheit die Aktion auch selbst ausführt, insbesondere steuert. Die Steuerung der Aktion an sich kann beispielsweise mittels einer Prozessoreinheit (ECU) eines Fahrerassistenzsystems erfolgen, welches weiterhin insbesondere wenigstens einen Sensor und wenigstens einen Aktuator umfassen kann. Unter einem „Aktuator“ (von dem englischen Ausdruck „actuator“ herrührend) kann ein Element verstanden werden, das dazu eingerichtet ist, elektrische Signale in eine mechanische Bewegung oder in eine andere physikalische Größe umzusetzen. Die elektrischen Signale können beispielsweise von einem Steuerungscomputer ausgehende Befehle umfassen. Bei den anderen physikalischen Größen kann es sich beispielsweise um einen Druck oder um eine Temperatur handeln. Bei dem Aktuator kann es sich beispielsweise um einen Hydraulikzylinder oder um einen elektrischen Motor handeln. Mittels des Aktuators kann beispielsweise eine Bremse, eine Antriebseinheit oder ein Lenksystem des Kraftfahrzeugs betätigt werden.The “intended” action is that action which the central processing unit intends to instruct. “Instruct” is to be understood in particular to mean that the central processor unit initiates the action, for example an autonomous driving function of the motor vehicle. For this purpose, the central processor unit can transmit a corresponding instruction to a relevant functional unit, for example to a driver assistance system. It is possible, but not necessary, for the central processor unit to also carry out the action itself, in particular to control it. The action itself can be controlled, for example, by means of a processor unit (ECU) of a driver assistance system, which can furthermore include in particular at least one sensor and at least one actuator. An “actuator” (derived from the English expression “actuator”) can be understood to mean an element that is set up to convert electrical signals into a mechanical movement or into another physical quantity. The electrical signals can include commands emanating from a control computer, for example. The other physical quantities can be a pressure or a temperature, for example. The actuator can be, for example, a hydraulic cylinder or an electric motor. For example, a brake, a drive unit or a steering system of the motor vehicle can be actuated by means of the actuator.
Die dezentralen Prozessoreinheiten stellen Blockchain-Hardwareblöcke innerhalb des Kraftfahrzeugs dar. Die Anzahl der Blockchain-Hardwareblöcke kann durch Projektanforderungen wie Strombudget und Zeitbudget definiert werden. Die dezentralen Prozessoreinheiten können beispielsweise auf den Aktionsdatensatz zugreifen, indem die zentrale Prozessoreinheit den Aktionsdatensatz an die dezentralen Prozessoreinheiten übermittelt. Dazu kann das Computerprogrammprodukt entsprechenden Programmcode mit Anweisungen für die zentrale Prozessoreinheit umfassen. Alternativ kann die dezentrale Prozessoreinheit auch auf einer Speichereinheit hinterlegen, auf welche die dezentralen Prozessoreinheiten zugreifen können.The decentralized processor units represent blockchain hardware blocks within the motor vehicle. The number of blockchain hardware blocks can be defined by project requirements such as power budget and time budget. The decentralized processor units can, for example, access the action data record in that the central processor unit transmits the action data record to the decentralized processor units. For this purpose, the computer program product can comprise corresponding program code with instructions for the central processor unit. Alternatively, the decentralized processor unit can also be stored in a memory unit which the decentralized processor units can access.
Weiterhin leitet das Computerprogrammprodukt, wenn es auf den dezentralen Prozessoreinheiten ausgeführt wird, die dezentralen Prozessoreinheiten an, die beabsichtigte Aktion zu validieren, bevor sie durch die zentrale Prozessoreinheit angewiesen wird. Wenn die Aktion erfolgreich validiert worden ist, weist das Computerprogramm, wenn es auf den dezentralen Prozessoreinheiten ausgeführt wird, die dezentralen Prozessoreinheiten an, der zentralen Prozessoreinheit zu erlauben, die beabsichtigte Aktion anzuweisen. Wenn die Aktion jedoch nicht erfolgreich validiert worden ist, weist das Computerprogramm, wenn es auf den dezentralen Prozessoreinheiten ausgeführt wird, die dezentralen Prozessoreinheiten an, der zentralen Prozessoreinheit zu verbieten, die beabsichtigte Aktion anzuweisen.Furthermore, when the computer program product is executed on the decentralized processor units, it instructs the decentralized processor units to validate the intended action before it is instructed by the central processor unit. If the action has been successfully validated, the computer program, when it is executed on the decentralized processing units, instructs the decentralized processing units to allow the central processing unit to instruct the intended action. If, however, the action has not been successfully validated, the computer program, when it is executed on the decentralized processor units, instructs the decentralized processor units to forbid the central processor unit from instructing the intended action.
Das „Erlauben“ kann beispielsweise umgesetzt werden, indem das Peer-to-Peer Computernetzwerk die zentrale Prozessoreinheit anweist, die von der zentralen Prozessoreinheit beabsichtigte und durch das Peer-to-Peer Computernetzwerk erfolgreich validierte Aktion des Kraftfahrzeugs anzuweisen. Weiterhin kann das Peer-to-Peer Computernetzwerk die zentrale Prozessoreinheit darüber benachrichtigen, dass die von der zentralen Prozessoreinheit beabsichtigte Aktion durch das Peer-to-Peer Computernetzwerk erfolgreich validiert worden ist. In diesem Fall kann die zentrale Prozessoreinheit entscheiden, ob sie die beabsichtigte und validierte Aktion anweist oder nicht.The “allowing” can be implemented, for example, in that the peer-to-peer computer network instructs the central processor unit to instruct the motor vehicle action intended by the central processor unit and successfully validated by the peer-to-peer computer network. Furthermore, the peer-to-peer computer network can notify the central processor unit that the action intended by the central processor unit has been successfully validated by the peer-to-peer computer network. In this case, the central processing unit can decide whether it instructs the intended and validated action or not.
Das „Verbieten“ kann beispielsweise umgesetzt werden, indem das Peer-to-Peer Computernetzwerk die zentrale Prozessoreinheit anweist, die von der zentralen Prozessoreinheit beabsichtigte und durch das Peer-to-Peer Computernetzwerk erfolgreich validierte Aktion des Kraftfahrzeugs nicht anzuweisen. Weiterhin kann das Peer-to-Peer Computernetzwerk dazu eingerichtet sein, die Aktion zu blockieren, wenn die von der zentralen Prozessoreinheit beabsichtigte Aktion durch das Peer-to-Peer Computernetzwerk nicht erfolgreich validiert worden ist. In diesem Fall kann beispielsweise ein Zugriff der zentralen Prozessoreinheit auf die nicht validierte Aktion verweigert werden.The “prohibition” can be implemented, for example, in that the peer-to-peer computer network instructs the central processor unit not to instruct the motor vehicle's action intended by the central processor unit and successfully validated by the peer-to-peer computer network. Furthermore, the peer-to-peer computer network can be set up to block the action if the action intended by the central processing unit has not been successfully validated by the peer-to-peer computer network. In this case, for example, access by the central processor unit to the non-validated action can be denied.
Gemäß der vorliegenden Erfindung soll jede Aktion, die das autonome Fahrzeug ausführt, als ein bestimmtes Ereignis betrachtet und insbesondere über das gesamte Peer-to-Peer Computernetzwerk validiert werden. Dadurch, dass die beabsichtigte Aktion zunächst durch die dezentralen Prozessoreinheiten des Peer-to-Peer Computernetzwerks validiert wird, bevor die geplante Aktion durch die zentrale Prozessoreinheit angewiesen und anschließend ausgeführt wird, kann sichergestellt werden, dass die beabsichtigte Aktion unter den richtigen Voraussetzungen und in der richtigen Reihenfolge durchgeführt wird.According to the present invention, every action carried out by the autonomous vehicle should be viewed as a specific event and, in particular, should be validated over the entire peer-to-peer computer network. Because the intended action is first validated by the decentralized processor units of the peer-to-peer computer network before the planned action is instructed by the central processor unit and then carried out, it can be ensured that the intended action is performed under the correct conditions and in the correct order.
Weiterhin wird gemäß einem zweiten Aspekt der Erfindung ein Verfahren zur Validierung und Steuerung einer Aktion eines Kraftfahrzeugs mittels eines Peer-to-Peer Computernetzwerks vorgeschlagen, wobei das Peer-to-Peer Computernetzwerk mehrere dezentrale Prozessoreinheiten umfasst, die in einem Kraftfahrzeug angeordnet sind. Das Verfahren umfasst die Schritte
- - Zugreifen auf einen Aktionsdatensatz mittels der dezentralen Prozessoreinheiten, wobei der Aktionsdatensatz von einer zentralen Prozessoreinheit des Kraftfahrzeugs generiert worden ist, und wobei der Aktionsdatensatz Informationen darüber enthält, dass die zentrale Prozessoreinheit beabsichtigt, eine Aktion des Kraftfahrzeugs anzuweisen,
- - Validieren der beabsichtigten Aktion mittels der dezentralen Prozessoreinheiten, bevor die beabsichtigte Aktion durch die zentrale Prozessoreinheit angewiesen wird,
- - Erlauben, dass die zentrale Prozessoreinheit die beabsichtigte Aktion anweist, wenn die Aktion erfolgreich validiert worden ist, und
- - Verbieten, dass die zentrale Prozessoreinheit die beabsichtigte Aktion anweist, wenn die Aktion nicht erfolgreich validiert worden ist.
- - Access to an action data record by means of the decentralized processor units, the action data record having been generated by a central processor unit of the motor vehicle, and the action data record containing information about the fact that the central processor unit intends to instruct the motor vehicle to take an action,
- - Validation of the intended action by means of the decentralized processor units before the intended action is instructed by the central processor unit,
- Allowing the central processing unit to instruct the intended action if the action has been successfully validated, and
- Prohibiting the central processing unit from instructing the intended action if the action has not been successfully validated.
Ferner wird gemäß einem dritten Aspekt der Erfindung ein Peer-to-Peer Computernetzwerk zur Validierung und Steuerung einer Aktion eines Kraftfahrzeugs bereitgestellt, wobei das Peer-to-Peer Computernetzwerk mehrere dezentrale Prozessoreinheiten umfasst, wobei die dezentralen Prozessoreinheiten dazu eingerichtet sind,
- - auf einen Aktionsdatensatz zuzugreifen, der von einer zentralen Prozessoreinheit des Kraftfahrzeugs generiert worden ist, wobei der Aktionsdatensatz Informationen darüber enthält, dass die zentrale Prozessoreinheit beabsichtigt, eine Aktion des Kraftfahrzeugs anzuweisen,
- - die beabsichtigte Aktion zu validieren, bevor sie durch die zentrale Prozessoreinheit angewiesen wird,
- - der zentralen Prozessoreinheit zu erlauben, die beabsichtigte Aktion anzuweisen, wenn die Aktion erfolgreich validiert worden ist, und
- - der zentralen Prozessoreinheit zu verbieten, die beabsichtigte Aktion anzuweisen, wenn Aktion nicht erfolgreich validiert worden ist.
- - to access an action data record that has been generated by a central processor unit of the motor vehicle, the action data record containing information about the fact that the central processor unit intends to instruct an action of the motor vehicle,
- - to validate the intended action before it is instructed by the central processing unit,
- allowing the central processing unit to instruct the intended action if the action has been successfully validated, and
- to forbid the central processing unit from instructing the intended action if action has not been successfully validated.
Außerdem wird gemäß einem vierten Aspekt der Erfindung ein autonom fahrendes Kraftfahrzeug vorgeschlagen, das ein Peer-to-Peer Computernetzwerk gemäß dem dritten Aspekt der Erfindung und eine zentrale Prozessoreinheit umfasst, wobei die zentrale Prozessoreinheit dazu eingerichtet ist, den Aktionsdatensatz zu generieren, auf den die dezentralen Prozessoreinheiten des Peer-to-Peer Computernetzwerks zugreifen können. Bei dem autonom fahrenden Kraftfahrzeug handelt es sich beispielsweise um ein Automobil (z.B. um einen Personenkraftfahrwagen mit einem Gewicht von weniger als 3,5 t), Motorrad, Motorroller, Moped, Fahrrad, E-Bike, Bus, Nutzfahrzeug oder Lastkraftwagen (Bus und Lastkraftwagen z.B. mit einem Gewicht von über 3,5 t), oder aber auch um ein Schienenfahrzeug, ein Schiff, ein Luftfahrzeug wie Helikopter oder Flugzeug. Mit anderen Worten ist die Erfindung in allen Bereichen des Transportwesens wie Automotive, Aviation, Nautik, Astronautik etc. einsetzbar. Das Kraftfahrzeug kann beispielsweise zu einer Fahrzeugflotte gehören.In addition, according to a fourth aspect of the invention, an autonomously driving motor vehicle is proposed which comprises a peer-to-peer computer network according to the third aspect of the invention and a central processor unit, wherein the central processor unit is set up to generate the action data set to which the decentralized processor units of the peer-to-peer computer network can access. The autonomously driving motor vehicle is, for example, an automobile (e.g. a passenger vehicle weighing less than 3.5 t), motorcycle, scooter, moped, bicycle, e-bike, bus, utility vehicle or truck (bus and truck e.g. with a weight of over 3.5 t), but also around a rail vehicle, a ship, an aircraft such as a helicopter or an airplane. In other words, the invention can be used in all areas of transport such as automotive, aviation, nautical, astronautical, etc. The motor vehicle can, for example, belong to a vehicle fleet.
Die folgenden Ausführungen im Zusammenhang mit Ausführungsformen der vorliegenden Erfindung gelten - wenn auch oftmals im Zusammenhang mit dem Computerprogrammprodukt gemäß dem ersten Aspekt der Erfindung beschrieben, gleichermaßen für das Verfahren gemäß dem zweiten Aspekt der Erfindung, für das Peer-to-Peer Computernetzwerk gemäß dem dritten Aspekt der Erfindung und für das autonom fahrende Kraftfahrzeug gemäß dem vierten Aspekt der Erfindung.The following statements in connection with embodiments of the present invention apply - albeit often described in connection with the computer program product according to the first aspect of the invention, equally to the method according to the second aspect of the invention, to the peer-to-peer computer network according to the third Aspect of the invention and for the autonomously driving motor vehicle according to the fourth aspect of the invention.
In einem Computernetzwerk können mehrere Computer bzw. Prozessoreinheiten miteinander kommunizieren. Das Computernetzwerk kann auf dem Internet realisiert werden. Unter einem „Peer-to-Peer Computernetzwerk“ kann eine Computer-Computer-Verbindung bzw. eine Prozessoreinheit-Prozessoreinheit-Verbindung verstanden werden, bei der alle Computer bzw. Prozessoreinheiten untereinander verbunden und insbesondere gleichberechtigt sind. Der Gegensatz zu einer Peer-to-Peer Verbindung ist das Client-Server-Modell, bei dem ein zentraler Server einen Dienst anbietet und ein Client diesen Dienst nutzt.Several computers or processor units can communicate with one another in a computer network. The computer network can be implemented on the Internet. A “peer-to-peer computer network” can be understood to mean a computer-computer connection or a processor unit-processor unit connection in which all computers or processor units are connected to one another and, in particular, have equal rights. The contrast to a peer-to-peer connection is the client-server model, in which a central server offers a service and a client uses this service.
In einer Ausführungsform weist das Computer-Programmprodukt, wenn es auf den dezentralen Prozessoreinheiten ausgeführt wird, die dezentralen Prozessoreinheiten an, die von der zentralen Prozessoreinheit beabsichtigte Aktion in einer Blockchain zu speichern, wenn die Aktion erfolgreich validiert worden ist.In one embodiment, the computer program product, when it is executed on the decentralized processor units, instructs the decentralized processor units to store the action intended by the central processor unit in a blockchain if the action has been successfully validated.
Eine Blockchain kann in dem Peer-to-Peer Computernetzwerk realisiert werden, in dem alle Computer sowohl Dienste in Anspruch nehmen als auch zur Verfügung stellen. Die Netzwerkteilnehmer, d.h. die Computer bzw. Prozessoreinheiten, die das Peer-to-Peer Computernetzwerk bilden, können in verschiedene Gruppen, zum Beispiel in erste Netzwerkteilnehmer und zweite Netzwerkteilnehmer eingeteilt werden. Erste Netzwerkteilnehmer, z.B. die zentrale Prozessoreinheit, senden Aktionsdatensätze und empfangen Anweisungen. Zweite Netzwerkteilnehmer, z.B. die dezentralen Prozessoreinheiten, können im Vergleich zu den ersten Netzwerkteilnehmern Transaktionen validieren, insbesondere die von der zentralen Prozessoreinheit beabsichtigten Aktionen, das heißt auf Gültigkeit oder Legitimität hin überprüfen. Dazu sind die zweiten Netzwerkteilnehmer dazu eingerichtet, in einem Konsensverfahren spezielle Validierungsprozesse durchzuführen.A blockchain can be implemented in the peer-to-peer computer network in which all computers both use and provide services. The network participants, ie the computers or processor units that form the peer-to-peer computer network, can be in different groups, for example in the first Network participants and second network participants are divided. The first network participants, for example the central processing unit, send action data records and receive instructions. Second network participants, for example the decentralized processor units, can validate transactions in comparison to the first network participants, in particular check the actions intended by the central processor unit, that is to say check for validity or legitimacy. For this purpose, the second network participants are set up to carry out special validation processes in a consensus procedure.
Mit anderen Worten können die Aktionsdatensätze durch die zweiten Netzwerkteilnehmer auf Gültigkeit überprüft und insbesondere ein „digitaler Fingerabdruck“ der erfolgreich validierten Aktionsdatensätze in einem neuen Block an die Blockchain angehängt werden. Zur Validierung der Transaktionen führen die zweiten Netzwerkteilnehmer (Berechtigungsknoten) einen Übereinstimmungsalgorithmus, auch Konsensus Algorithmus bezeichnet, aus. Dieser Übereinstimmungsalgorithmus stellt sicher, dass der nächste Block einer Blockchain der einzig wahre Block ist. Außerdem wird mit dem Übereinstimmungsalgorithmus sichergestellt, dass die Blockchain nicht von Dritten geändert wird. Beispiele für Übereinstimmungsalgorithmen sind der Proof of Work, Proof of Authority, Proof of Stake, Proof of Activity, Proof of Burn, Proof of Capacity und der Proof of Elapsed Time Algorithmus.In other words, the action data records can be checked for validity by the second network participants and, in particular, a “digital fingerprint” of the successfully validated action data records can be attached to the blockchain in a new block. To validate the transactions, the second network participants (authorization nodes) execute a match algorithm, also known as a consensus algorithm. This matching algorithm ensures that the next block in a blockchain is the only true block. In addition, the matching algorithm ensures that the blockchain is not changed by third parties. Examples of match algorithms are the Proof of Work, Proof of Authority, Proof of Stake, Proof of Activity, Proof of Burn, Proof of Capacity and the Proof of Elapsed Time Algorithm.
Die Blockchain-Technologie wird insbesondere im Finanzdienstleistungssektor auch als Distributed Ledger Technology bezeichnet, das heißt eine Technologie für ein dezentrales Hauptbuch. Das dezentrale Hauptbuch ist nicht zentral abgelegt, sondern auf vielen verschiedenen Computern gespeichert, auf denen es aktualisiert wird. Das dezentrale Hauptbuch entsteht durch die Blockchain bzw. das dezentrale Ablegen der Aktionsdatensätze auf verschiedenen Computern automatisch. Merkmale dieser Technologie sind ihre Dezentralität, Unveränderlichkeit und Transparenz. Blockchain technology is also known as Distributed Ledger Technology, especially in the financial services sector, i.e. a technology for a decentralized general ledger. The decentralized ledger is not stored centrally but is stored on many different computers on which it is updated. The decentralized general ledger is created automatically by the blockchain or the decentralized storage of the action data records on different computers. Characteristics of this technology are its decentralization, immutability and transparency.
Vereinfacht ausgedrückt ist eine Blockchain eine Kette von Blöcken, in denen jeweils Transaktionen, im Kontext der vorliegenden Erfindung sind dies die vorstehend beschriebenen Aktionen des Kraftfahrzeugs, miteinander verknüpft werden. Die Transaktionen bzw. Transaktionsdatensätze werden zu Blöcken zusammengefasst, auf Gültigkeit überprüft und in einem Konsensprozess an die bisherige Kette von Blöcken angefügt. Diese Kette von Blöcken bildet das dezentrale Hauptbuch. Ein Kunde führt also eine Transaktion in der Blockchain aus. Jeder Teilnehmer weiß, dass diese Transaktion stattgefunden hat.In simple terms, a blockchain is a chain of blocks in which transactions, in the context of the present invention these are the actions of the motor vehicle described above, are linked to one another. The transactions or transaction data records are combined into blocks, checked for validity and added to the previous chain of blocks in a consensus process. This chain of blocks forms the decentralized general ledger. So a customer carries out a transaction in the blockchain. Every participant knows that this transaction took place.
Erfindungsgemäß wird die von der zentralen Prozessoreinheit beabsichtigte Aktion validiert, indem geprüft wird, ob sicherheitsrelevante Voraussetzungen zum Ausführen der beabsichtigten Aktion erfüllt sind. Eine sicherheitsrelevante Voraussetzung umfasst Zustände des Fahrzeugs, z.B. Fahrzustände, Zustände des Antriebsstrangs, der Sensorik oder Zustände elektronischer Elemente des Interieurs oder Exterieurs wie beispielsweise Beleuchtung. Auch eine Aktion kann eine sicherheitsrelevante Voraussetzung darstellen, z.B. dass das Kraftfahrzeug zum Stillstand gebracht wird oder gesteuert durch Sensorik gelenkt wird.According to the invention, the action intended by the central processor unit is validated by checking whether safety-relevant prerequisites for carrying out the intended action are met. A safety-relevant prerequisite includes the states of the vehicle, e.g. driving states, states of the drive train, the sensors or the states of electronic elements of the interior or exterior such as lighting. An action can also represent a safety-relevant prerequisite, e.g. that the motor vehicle is brought to a standstill or steered by sensors.
Die dezentralen Prozessoreinheiten können beispielsweise auf eine Datenbank zugreifen, in welcher alle sicherheitsrelevanten Voraussetzungen zum Ausführen der beabsichtigten Aktion hinterlegt sind. In der Datenbank können insbesondere sicherheitsrelevante Voraussetzungen für eine Vielzahl von Aktionen hinterlegt sein, die von der zentralen Prozessoreinheit angewiesen werden können. Auch die zentrale Prozessoreinheit kann dazu eingerichtet sein, auf die Datenbank zuzugreifen. Wenn beispielsweise die zentrale Prozessoreinheit beabsichtigt, die Aktion anzuweisen, dass eine Firmware aktualisiert wird, dann sollte dies erfolgen, wenn sich das Kraftfahrzeug im Stillstand befindet (sicherheitsrelevante Voraussetzung). Diese sicherheitsrelevante Voraussetzung kann in der Datenbank hinterlegt sein. Im Zuge der Validierung prüfen die dezentralen Prozessoreinheiten, ob diese sicherheitsrelevante Voraussetzung erfüllt ist, z.B. indem auf entsprechende Sensordaten zugegriffen wird, und erlauben (wenn die sicherheitsrelevante Voraussetzung erfüllt ist) bzw. verbieten (wenn die sicherheitsrelevante Voraussetzung nicht erfüllt ist) der zentralen Prozessoreinheit, die beabsichtigte Aktion anzuweisen.The decentralized processor units can, for example, access a database in which all security-relevant requirements for carrying out the intended action are stored. In particular, safety-relevant prerequisites for a large number of actions that can be instructed by the central processor unit can be stored in the database. The central processor unit can also be set up to access the database. If, for example, the central processor unit intends to instruct the action that firmware is updated, then this should take place when the motor vehicle is at a standstill (safety-relevant requirement). This safety-relevant requirement can be stored in the database. In the course of the validation, the decentralized processor units check whether this safety-relevant requirement is met, e.g. by accessing corresponding sensor data, and allow (if the safety-relevant requirement is met) or prohibit (if the security-relevant requirement is not met) the central processor unit, to instruct the intended action.
Erfindungsgemäß ist ein die beabsichtigte Aktion repräsentierender Aktionsdatensatz in einer hierarchischen Liste mit sicherheitsrelevanten Voraussetzungen des Fahrzeugs hinterlegt. Im Zuge der Validierung kann durch die dezentralen Prozessoreinheiten geprüft werden, ob alle sicherheitsrelevanten Voraussetzungen erfüllt sind, die in der hierarchischen Liste oberhalb des die beabsichtigte Aktion repräsentierenden Datensatzes eingestuft sind. Wenn diese Prüfung positiv ausfällt, d.h. dass die dezentralen Prozessoreinheiten feststellen, dass alle sicherheitsrelevanten Voraussetzungen erfüllt sind, die in der hierarchischen Liste oberhalb des die beabsichtigte Aktion repräsentierenden Datensatzes eingestuft sind, dann können die dezentralen Prozessoreinheiten der zentralen Prozessoreinheit erlauben, die beabsichtigte Aktion anzuweisen. Wenn die Prüfung jedoch negativ ausfällt, d.h. dass die dezentralen Prozessoreinheiten feststellen, dass nicht alle sicherheitsrelevanten Voraussetzungen erfüllt sind, die in der hierarchischen Liste oberhalb des die beabsichtigte Aktion repräsentierenden Datensatzes eingestuft sind, dann können die dezentralen Prozessoreinheiten der zentralen Prozessoreinheit verbieten, die beabsichtigte Aktion anzuweisen.According to the invention, an action data record representing the intended action is stored in a hierarchical list with safety-relevant requirements of the vehicle. In the course of the validation, the decentralized processor units can check whether all the safety-relevant requirements that are classified in the hierarchical list above the data record representing the intended action are met. If this check turns out positive, ie that the decentralized processor units determine that all security-relevant requirements are met, which are classified in the hierarchical list above the data record representing the intended action, then the decentralized processor units can allow the central processor unit to instruct the intended action. However, if the check turns out negative, that is to say that the decentralized processor units determine that not all security-relevant prerequisites are met, which are classified in the hierarchical list above the data record representing the intended action, then the decentralized Processor units prohibit the central processing unit from instructing the intended action.
Beispielsweise kann die Aktualisierung der Firmware die beabsichtigte Aktion sein. In der hierarchischen Liste kann die Aktion, das Fahrzeug zum Stillstand zu bringen, als eine sicherheitsrelevante Aktion oberhalb der beabsichtigten Aktion, die Firmware zu aktualisieren, eingestuft sein. Die dezentralen Prozessoreinheiten können prüfen, ob der Fahrzustand vorliegt, dass sich das Fahrzeug im Stillstand befindet. Wenn dies der Fall ist, werden die dezentralen Prozessoreinheiten der zentralen Prozessoreinheit erlauben, anzuweisen, die Firmware zu aktualisieren. Wenn die dezentralen Prozessoreinheiten jedoch feststellen, dass das Kraftfahrzeug noch nicht zum Stillstand gebracht worden ist, so werden die dezentralen Prozessoreinheiten der zentralen Prozessoreinheit verbieten, die beabsichtigte Funktion auszuführen.For example, updating the firmware may be the intended action. In the hierarchical list, the action to bring the vehicle to a standstill can be classified as a safety-relevant action above the intended action to update the firmware. The decentralized processor units can check whether the driving condition is present, that the vehicle is at a standstill. If this is the case, the decentralized processing units will allow the central processing unit to instruct to update the firmware. However, if the decentralized processor units determine that the motor vehicle has not yet been brought to a standstill, the decentralized processor units will forbid the central processor unit from performing the intended function.
Um die Validierung durchzuführen, sollte insbesondere die gesamte Blockchain gelöst und berechnete Hash-Werte bzw. Hash-Schlüssel korrekt sein, ansonsten wird das Ereignis verworfen. In diesem Sinne prüfen die dezentralen Prozessoreinheiten in einer weiteren Ausführungsform berechnete Hash-Schlüssel. Wenn die Prüfung ergibt, dass die berechneten Hash-Schlüssel korrekt sind, erlauben die dezentralen Prozessoreinheiten der zentralen Prozessoreinheit, die Aktion anzuweisen, insbesondere das Fahrerassistenzsystem anzuweisen, die beabsichtigte autonome Fahrfunktion auszuführen. Wenn die Prüfung jedoch ergibt, dass die berechneten Hash-Schlüssel nicht korrekt sind, verbieten die dezentralen Prozessoreinheiten der zentralen Prozessoreinheit, die Aktion anzuweisen, insbesondere das Fahrerassistenzsystem anzuweisen, die beabsichtigte autonome Fahrfunktion auszuführen.In order to carry out the validation, the entire blockchain in particular should be solved and the calculated hash values or hash keys should be correct, otherwise the event will be discarded. In this sense, the decentralized processor units check calculated hash keys in a further embodiment. If the check shows that the calculated hash keys are correct, the decentralized processor units allow the central processor unit to instruct the action, in particular to instruct the driver assistance system to carry out the intended autonomous driving function. However, if the check reveals that the calculated hash keys are incorrect, the decentralized processor units prohibit the central processor unit from instructing the action, in particular instructing the driver assistance system to carry out the intended autonomous driving function.
Sofern die beabsichtigte Aktion gültig ist, das heißt im Zuge der Validierung durch den Konsensprozess als gültig betrachtet wurde, kann kein Teilnehmer die Legitimität dieser Transaktion ändern. Dazu können durch den Einsatz kryptographischer Verfahren zwei aufeinanderfolgende Blöcke der Blockchain miteinander verkettet werden. Insbesondere kann ein Hash-Schlüssel zwei aufeinanderfolgende Blöcke miteinander verknüpfen, indem der Hash-Schlüssel die Blöcke mathematisch miteinander „verkettet“. Jeder Block enthält typischerweise den Hash-Schlüssel des vorherigen Blocks. Der Hash-Schlüssel kann dabei aus den Daten des jeweils vorhergehenden Blocks erzeugt werden. Der Hash-Schlüssel kann als „digitaler Fingerabdruck“ des betreffenden Blocks bzw. dessen Transaktionsdaten angesehen werden. Der Hash-Schlüssel kann insbesondere die Reihenfolge und die Uhrzeit der Transaktionen unveränderbar festschreiben. Das hinter dem Hash-Schlüssel stehende Hashing kann eine nicht entschlüsselbare Einwegfunktion schaffen. Eine Hash-Funktion kann einen mathematischen Algorithmus erzeugen, der Transaktionsdaten beliebiger Größe auf einen Bit-String fester Größe abbildet. Typischerweise ist ein solcher Bit-String 32 Zeichen lang und repräsentiert die Transaktionsdaten, für welche die Hash-Verschlüsselung durchgeführt wurde. Der sogenannte Secure Hash Algorithm (SHA) wird häufig in Blockchains eingesetzt, insbesondere der SHA-256, welcher die Generierung eines nahezu eindeutigen Hash-Schlüssels als digitalen Fingerabdruck erzeugt.If the intended action is valid, i.e. it was considered valid in the course of the validation by the consensus process, no participant can change the legitimacy of this transaction. For this purpose, two successive blocks of the blockchain can be linked with one another through the use of cryptographic procedures. In particular, a hash key can link two consecutive blocks with one another by mathematically “chaining” the blocks with one another. Each block typically contains the hash key of the previous block. The hash key can be generated from the data of the previous block. The hash key can be viewed as a “digital fingerprint” of the relevant block or its transaction data. In particular, the hash key can fix the sequence and time of the transactions in such a way that they cannot be changed. The hashing behind the hash key can create a non-decryptable one-way function. A hash function can generate a mathematical algorithm that maps transaction data of any size to a bit string of a fixed size. Such a bit string is typically 32 characters long and represents the transaction data for which the hash encryption was carried out. The so-called Secure Hash Algorithm (SHA) is often used in blockchains, especially the SHA-256, which generates a nearly unique hash key as a digital fingerprint.
Das dezentrale Hauptbuch bzw. die Blockchain ist somit derart gestaltet, dass es insbesondere ein nachträgliches Ändern eines eingetragenen Transaktionsdatensatzes verhindert. Auf diese Weise können die validierten Aktionen des Kraftfahrzeugs in einem unveränderbaren Hauptbuch aufgezeichnet werden. Dadurch werden die Transaktionen besonders sicher gegen nachträgliche Manipulationen gespeichert.The decentralized general ledger or the blockchain is thus designed in such a way that it prevents, in particular, a subsequent change to an entered transaction data record. In this way, the validated actions of the motor vehicle can be recorded in an unchangeable ledger. As a result, the transactions are saved particularly securely against subsequent manipulation.
Die Blockchain-Technologie basiert darauf, ein Ereignis auf verschiedene Knoten zu verteilen und nur dann als validiert zu bewerten, wenn mehr als 50% der Knoten zugestimmt haben, dass das Ereignis gültig ist. In diesem Sinne erlauben die dezentralen Prozessoreinheiten in einer Ausführungsform der zentralen Prozessoreinheit, die beabsichtigte Aktion anzuweisen, wenn die Aktion von mehr als 50% der dezentralen Prozessoreinheiten erfolgreich validiert worden ist. Wenn die Aktion jedoch von weniger als 50% der dezentralen Prozessoreinheiten erfolgreich validiert worden ist, dann verbieten die dezentralen Prozessoreinheiten in dieser Ausführungsform der zentralen Prozessoreinheit, die beabsichtigte Aktion anzuweisen.Blockchain technology is based on distributing an event to different nodes and only evaluating it as validated if more than 50% of the nodes have agreed that the event is valid. In this sense, in one embodiment, the decentralized processor units allow the central processor unit to instruct the intended action if the action has been successfully validated by more than 50% of the decentralized processor units. If, however, the action has been successfully validated by less than 50% of the decentralized processor units, then the decentralized processor units in this embodiment forbid the central processor unit from instructing the intended action.
In einer Ausführungsform ist die Aktion eine autonome Fahrfunktion des Kraftfahrzeugs. Die autonome Fahrfunktion ermöglicht, dass das Kraftfahrzeug selbstständig fährt, d.h. ohne, dass ein Fahrzeuginsasse das Kraftfahrzeug steuert. So umfasst die autonome Fahrfunktion, dass das Kraftfahrzeug - insbesondere mittels der zentralen Prozessoreinheit - dazu eingerichtet ist, beispielsweise Lenk-, Blink-, Beschleunigungs- und Bremsmanöver ohne menschliches Eingreifen durchzuführen. Insbesondere soll die autonome Fahrfunktion dabei die Anforderungen von ASIL D erfüllen („ASIL D Funktion“). ASIL D ist eine Abkürzung für Automotive Safety Integrity Level D und bezieht sich auf die höchste Einstufung der anfänglichen Gefahr (Verletzungsrisiko) gemäß
Wenn die zentrale Prozessoreinheit im Kontext des autonomen Fahrens beabsichtigt, eine kritische Aktion bzw. Operation anzuweisen oder auszuführen, muss es diese Operation zunächst in dem Kraftfahrzeug-internen Peer-to-Peer Computernetzwerk registrieren, und die Operation sollte insbesondere durch alle im Kraftfahrzeug verteilten Blockchain-Hardwareblöcke (dezentralen Prozessoreinheiten) validiert werden. Durch die Validierung der autonomen Fahrfunktion mittels der dezentralen Prozessoreinheiten, bevor die autonome Fahrfunktion durch die zentrale Prozessoreinheit angewiesen und bevor die autonome Fahrfunktion durch das Kraftfahrzeug ausgeführt wird, ermöglicht, dass eine ASIL D Funktion genau unter den richtigen Bedingungen und in der richtigen Reihenfolge ausgeführt wird, denn zum Zeitpunkt der Ausführung der ASIL D Funktion müssen alle bisherigen Anforderungen bereits validiert und bevorzugt in der internen Blockchain aufgezeichnet worden sein.If the central processing unit intends in the context of autonomous driving, a To instruct or carry out a critical action or operation, it must first register this operation in the vehicle-internal peer-to-peer computer network, and the operation should in particular be validated by all blockchain hardware blocks (decentralized processor units) distributed in the vehicle. By validating the autonomous driving function by means of the decentralized processor units, before the autonomous driving function is instructed by the central processor unit and before the autonomous driving function is carried out by the motor vehicle, it enables an ASIL D function to be carried out under the correct conditions and in the correct sequence , because at the time the ASIL D function is executed, all previous requirements must have already been validated and preferably recorded in the internal blockchain.
Im Zusammenhang mit der autonomen Fahrfunktion des Kraftfahrzeugs kann der der Aktionsdatensatz Informationen darüber beinhalten, dass die zentrale Prozessoreinheit beabsichtigt, ein Fahrerassistenzsystem des Kraftfahrzeugs anzuweisen, eine autonome Fahrfunktion des Kraftfahrzeugs auszuführen.In connection with the autonomous driving function of the motor vehicle, the action data record can contain information about the fact that the central processor unit intends to instruct a driver assistance system of the motor vehicle to carry out an autonomous driving function of the motor vehicle.
Das Fahrerassistenzsystem ist mittels einer elektronischen Steuerungseinheit (ECU) dazu eingerichtet, autonom insbesondere in einen Antrieb (insbesondere durch Bremsen und Beschleunigen), in eine Lenkung oder in eine Signalisierungseinrichtung (z.B. Licht und Blinker) des Kraftfahrzeugs einzugreifen. Dazu kann das Fahrerassistenzsystem auf Daten von Sensoren des Kraftfahrzeugs (z.B. Radar-, LIDAR-, Kamera- oder Ultraschall-Sensoren) zurückgreifen und insbesondere Aktuatoren des Kraftfahrzeugs basierend auf den Sensordaten steuern. Der Aktuator ist insbesondere dazu eingerichtet, ein von der ECU empfangenes elektrisches Signal (Steuerungsbefehl) in mechanische Bewegungen bzw. Veränderungen physikalischer Größen wie Druck oder Temperatur umsetzen und damit aktiv in die Steuerung des Kraftfahrzeugs einzugreifen.The driver assistance system is set up by means of an electronic control unit (ECU) to autonomously intervene, in particular in a drive (in particular by braking and accelerating), in a steering system or in a signaling device (e.g. lights and indicators) of the motor vehicle. For this purpose, the driver assistance system can access data from sensors of the motor vehicle (e.g. radar, LIDAR, camera or ultrasonic sensors) and in particular control actuators of the motor vehicle based on the sensor data. The actuator is set up in particular to convert an electrical signal (control command) received by the ECU into mechanical movements or changes in physical variables such as pressure or temperature and thus to actively intervene in the control of the motor vehicle.
Die beabsichtigte autonome Fahrfunktion wird durch die dezentralen Prozessoreinheiten des Peer-to-Peer Computernetzwerks validiert, bevor sie durch die zentrale Prozessoreinheit angewiesen wird. Wenn die beabsichtigte autonome Fahrfunktion erfolgreich validiert worden ist, erlauben die dezentralen Prozessoreinheiten der zentralen Prozessoreinheit, das Fahrerassistenzsystem anzuweisen, die beabsichtigte autonome Fahrfunktion auszuführen. Wenn die beabsichtigte autonome Fahrfunktion erfolgreich validiert worden ist, wird sie weiterhin bevorzugt in der Blockchain gespeichert. Wenn jedoch die beabsichtigte autonome Fahrfunktion nicht erfolgreich validiert worden ist, verbieten die dezentralen Prozessoreinheiten der zentralen Prozessoreinheit, das Fahrerassistenzsystem anzuweisen, die beabsichtigte autonome Fahrfunktion auszuführen.The intended autonomous driving function is validated by the decentralized processor units of the peer-to-peer computer network before it is instructed by the central processor unit. If the intended autonomous driving function has been successfully validated, the decentralized processor units allow the central processor unit to instruct the driver assistance system to carry out the intended autonomous driving function. If the intended autonomous driving function has been successfully validated, it will continue to be preferably stored in the blockchain. However, if the intended autonomous driving function has not been successfully validated, the decentralized processor units forbid the central processor unit from instructing the driver assistance system to carry out the intended autonomous driving function.
Im Folgenden werden Ausführungsbeispiele der Erfindung anhand der schematischen Zeichnung näher erläutert, wobei gleiche oder ähnliche Elemente mit dem gleichen Bezugszeichen versehen sind. Hierbei zeigt
-
1 ein autonom fahrendes Kraftfahrzeug mit mehreren Computern eines Peer-to-Peer Computernetzwerks und -
2 Details eines Peer-to-Peer Computernetzwerks fürdas Kraftfahrzeug nach 1 .
-
1 an autonomously driving motor vehicle with several computers in a peer-to-peer computer network and -
2 Details of a peer-to-peer computer network for the motor vehicle according to1 .
Die erste hierarchische Liste
satz
sentence
Beispielsweise kann der zentrale Computer
Bei der ersten Aktion, die durch den ersten Aktionsdatensatz
Beispielsweise kann gemäß ASIL D gefordert sein, dass eine Firmware in einem Kraftfahrzeug
Im Zuge einer Validierung können dezentrale Prozessoreinheiten prüfen, z.B. der durch
Bei den vorstehend genannten Computerprogrammen
Der zentrale Computer
Die Blöcke
Im Rahmen der Validierung kann geprüft werden, ob diese Übereinstimmung der Hash-Schlüssel
Wenn beispielsweise der erste dezentrale Computer
Die Überprüfung, ob der erste Hash-Schlüssel
BezugszeichenlisteList of reference symbols
- 11
- KraftfahrzeugMotor vehicle
- 22
- FahrzeuginsasseVehicle occupant
- 33
- zentrale Prozessoreinheitcentral processing unit
- 44th
- Prozessorprocessor
- 55
- SpeicherStorage
- 66th
- NetzwerkeinrichtungNetwork setup
- 77th
- ComputerprogrammproduktComputer program product
- 88th
- erste dezentrale Prozessoreinheitfirst decentralized processor unit
- 99
- Prozessorprocessor
- 1010
- SpeicherStorage
- 1111
- NetzwerkeinrichtungNetwork setup
- 1212th
- ComputerprogrammproduktComputer program product
- 1313th
- SicherheitsdatenbankSecurity database
- 14.114.1
- erste hierarchische Listefirst hierarchical list
- 14.214.2
- zweite hierarchische Listesecond hierarchical list
- 14.314.3
- dritte hierarchische Listethird hierarchical list
- 15.115.1
- erster Aktionsdatensatz erste hierarchische Listefirst action record first hierarchical list
- 15.215.2
- zweiter Aktionsdatensatz erste hierarchische Listesecond action record, first hierarchical list
- 15.315.3
- dritter Aktionsdatensatz erste hierarchische Listethird action record, first hierarchical list
- 15.415.4
- vierter Aktionsdatensatz erste hierarchische Listefourth action record, first hierarchical list
- 15.515.5
- fünfter Aktionsdatensatz erste hierarchische Listefifth action record, first hierarchical list
- 15.615.6
- sechster Aktionsdatensatz erste hierarchische Listesixth action data record, first hierarchical list
- 1616
- Fahrerassistenzsystem zum autonomen Fahren des KraftfahrzeugsDriver assistance system for autonomous driving of the motor vehicle
- 1717th
- Prozessorprocessor
- 1818th
- SpeicherStorage
- 1919th
- NetzwerkeinrichtungNetwork setup
- 2020th
- Sensorsensor
- 2121st
- AktuatorActuator
- 2222nd
- ComputerprogrammproduktComputer program product
- 2323
- Prozessoreinheit zur Firmware-AktualisierungProcessor unit for firmware updates
- 2424
- Peer-to-Peer ComputernetzwerkPeer-to-peer computer network
- 2525th
- weitere dezentrale Computerfurther decentralized computers
- 2626th
- BlockchainBlockchain
- 2727
- erster Block der Blockchainfirst block of the blockchain
- 27.127.1
- erster Hash-Schlüssel des ersten Blocks der Blockchainfirst hash key of the first block of the blockchain
- 27.227.2
- erster Aktionsdatensatz des ersten Blocks der Blockchainfirst action record of the first block of the blockchain
- 27.327.3
- zweiter Hash-Schlüssel des ersten Blocks der Blockchainsecond hash key of the first block of the blockchain
- 2828
- zweiter Block der Blockchainsecond block of the blockchain
- 28.128.1
- erster Hash-Schlüssel des zweiten Blocks der Blockchainfirst hash key of the second block of the blockchain
- 28.228.2
- erster Aktionsdatensatz des zweiten Blocks der Blockchainfirst action record of the second block of the blockchain
- 28.328.3
- zweiter Hash-Schlüssel des dritten Blocks der Blockchainsecond hash key of the third block of the blockchain
- 2929
- dritter Block der Blockchainthird block of the blockchain
- 29.129.1
- erster Hash-Schlüssel des dritten Blocks der Blockchainfirst hash key of the third block of the blockchain
- 29.229.2
- erster Aktionsdatensatz des dritten Blocks der Blockchainfirst action record of the third block of the blockchain
- 29.329.3
- zweiter Hash-Schlüssel des dritten Blocks der Blockchainsecond hash key of the third block of the blockchain
Claims (9)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102019219667.5A DE102019219667B3 (en) | 2019-12-16 | 2019-12-16 | Computer program product for a peer-to-peer computer network |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102019219667.5A DE102019219667B3 (en) | 2019-12-16 | 2019-12-16 | Computer program product for a peer-to-peer computer network |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE102019219667B3 true DE102019219667B3 (en) | 2021-05-12 |
Family
ID=75584287
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE102019219667.5A Active DE102019219667B3 (en) | 2019-12-16 | 2019-12-16 | Computer program product for a peer-to-peer computer network |
Country Status (1)
| Country | Link |
|---|---|
| DE (1) | DE102019219667B3 (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20180374283A1 (en) * | 2017-06-23 | 2018-12-27 | International Business Machines Corporation | Vehicle transaction validation |
| WO2019056916A1 (en) * | 2017-09-21 | 2019-03-28 | 烽火通信科技股份有限公司 | Method for calculating allocation of relay resources in optical transmission network planning |
| WO2019156916A1 (en) * | 2018-02-07 | 2019-08-15 | 3M Innovative Properties Company | Validating vehicle operation using pathway articles and blockchain |
-
2019
- 2019-12-16 DE DE102019219667.5A patent/DE102019219667B3/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20180374283A1 (en) * | 2017-06-23 | 2018-12-27 | International Business Machines Corporation | Vehicle transaction validation |
| WO2019056916A1 (en) * | 2017-09-21 | 2019-03-28 | 烽火通信科技股份有限公司 | Method for calculating allocation of relay resources in optical transmission network planning |
| WO2019156916A1 (en) * | 2018-02-07 | 2019-08-15 | 3M Innovative Properties Company | Validating vehicle operation using pathway articles and blockchain |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE102020124163A1 (en) | VERIFICATION OF VEHICLE DATA | |
| DE102008021030B4 (en) | Method for operating a vehicle and corresponding device and corresponding vehicle | |
| DE112012003795T5 (en) | Vehicle network system and vehicle information processing method | |
| DE102013105042A1 (en) | Safe flash programming of a secondary processor | |
| WO2019242975A1 (en) | Method and device for agreeing cooperation between a first system and a second system | |
| DE102015010203A1 (en) | Method for operating a motor vehicle and system for operating a motor vehicle | |
| EP3654222A1 (en) | Vehicle, network component, method, computer program, and device for generating a identifier for an equipment state of a vehicle | |
| DE102022105476A1 (en) | System and method for building an in-vehicle cryptographic manager | |
| DE102017209557A1 (en) | Method for protecting a vehicle network against manipulated data transmission | |
| DE102018200820A1 (en) | Control system for a motor vehicle, method for operating the control system and motor vehicle with such a control system | |
| DE102014018460A1 (en) | Method for controlling the operation of at least one functional component of a motor vehicle and motor vehicle | |
| DE102019215709A1 (en) | Storage of rental vehicle insurance data using blockchain technology | |
| DE102019219667B3 (en) | Computer program product for a peer-to-peer computer network | |
| DE102020132827A1 (en) | controlling a vehicle | |
| DE102023005085A1 (en) | Method for activating a vehicle function and information technology system | |
| DE69912494T2 (en) | Method for checking the coherence of information downloaded to a computer | |
| WO2023222794A1 (en) | Update of software of a vehicle on the basis of vehicle field data | |
| DE102021208459A1 (en) | Method for authentic data transmission between control units in a vehicle, arrangement with control units, computer program and vehicle | |
| EP1455312B1 (en) | Method and apparatus for maintenance of security sensitive program code of a vehicle | |
| DE102020124046A1 (en) | DECENTRALIZED VEHICLE PROCESSES | |
| DE102022205672B3 (en) | Protection against cybersecurity attacks on transmission control units | |
| DE102023211581A1 (en) | Checking sensor data from a driver assistance system | |
| DE102024124868B3 (en) | System and method for protecting at least one on-board plug-in module from theft | |
| DE102019201953A1 (en) | Method and detection device for detecting an intervention in a motor vehicle and motor vehicle with a detection device | |
| DE102019218590B4 (en) | Method and device for object recognition |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R012 | Request for examination validly filed | ||
| R016 | Response to examination communication | ||
| R018 | Grant decision by examination section/examining division | ||
| R020 | Patent grant now final |