EP4635133A1 - Authentication device for a vehicle - Google Patents

Authentication device for a vehicle

Info

Publication number
EP4635133A1
EP4635133A1 EP23828344.4A EP23828344A EP4635133A1 EP 4635133 A1 EP4635133 A1 EP 4635133A1 EP 23828344 A EP23828344 A EP 23828344A EP 4635133 A1 EP4635133 A1 EP 4635133A1
Authority
EP
European Patent Office
Prior art keywords
network
authentication
validation value
network node
authentication device
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
EP23828344.4A
Other languages
German (de)
French (fr)
Inventor
Helge ZINNER
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.)
Aumovio Germany GmbH
Original Assignee
Continental Automotive Technologies GmbH
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 Continental Automotive Technologies GmbH filed Critical Continental Automotive Technologies GmbH
Publication of EP4635133A1 publication Critical patent/EP4635133A1/en
Pending legal-status Critical Current

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • 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

Definitions

  • the invention relates to an authentication device for a vehicle, a network node, a method for authenticating a network of network nodes for a vehicle, a program element and a storage medium.
  • An object of the invention is to provide improved authentication of a network for a vehicle.
  • an authentication device configured to authenticate a network of network nodes for a vehicle.
  • the authentication device is configured to determine a total validation value of an addable size of authentication messages across the network nodes, compare the determined total validation value with a total validation value expected by the authentication device, and authenticate the network based on the comparison of the expected total validation value with the determined total validation value.
  • the authentication messages are, for example, special messages that are generated and sent only for authentication.
  • the authentication device can be one of the network nodes that has, for example, additional or dedicated services or program elements necessary for authentication. Such authentication can be carried out, for example, during setup or starting or booting up the network or during any manipulation of the network. Manipulation is, for example, the replacement of a network node or a software update.
  • a software update can concern a configuration or an update of a program or part of a program, such as a dynamic library file.
  • the validation value is a message length or a runtime.
  • a message length can be, for example, a number of transmission units such as bits or symbols.
  • a runtime can result from the number of transmission units and the transmission speed and can be determined, for example, by measuring or determining the received bits.
  • the validation value is only a message length or only a runtime.
  • the authentication device and the network nodes are connected to one another, for example, via a network bus, also referred to as a bus in this disclosure.
  • the authentication messages can, for example, have a header with an ID to identify the message type.
  • the message body i.e. the content of the message or the so-called "payload" is irrelevant and does not have to be decoded.
  • the only important thing is the length of the message, which is defined, for example, by the number of bits in the payload or the total number of bits in the message.
  • the runtime is then determined by the number of bits and the transmission speed.
  • the authentication device is configured to send a beacon, wherein the beacon is the request to a first network node to generate and send an authentication message, and wherein the authentication device is configured to Authentication message from a second network node that is different from the first network node, and is configured to determine a total validation value, wherein the total validation value corresponds to the added validation values of the authentication messages of the first network node and the second network node.
  • the authentication device waits until it receives an authentication message from the second network node and determines an added validation value from the authentication messages of the first network node and the second network node. This implicitly means that in order to obtain an added validation value, the second network node sends the message to the second network node to enable the addition, and the authentication device can determine an added value such as a total runtime or a total length.
  • the authentication device can be set up to carry out an addition itself or to measure a time until it has received the message from the second node. This is created by sending the authentication messages serially via the first and second network nodes.
  • the determined runtime or “total runtime” can contain offsets that arise at the network nodes or through the sending of the beacon, which can be partly physical in nature and partly caused by data processing or specifications, e.g. through a standard.
  • the authentication device can send a beacon again.
  • Such an authentication process forms a cycle that is described in this disclosure referred to as such.
  • the duration or period of this cycle corresponds to the total validation value and is also referred to herein as cycle length.
  • the authentication device is a network node, a bus master and/or a gateway.
  • it can also be, for example, a control device that has the corresponding requirements.
  • a network node of a network for a vehicle wherein the network node is configured to receive a beacon or an authentication message for authentication of the network, to generate an authentication message which is defined with respect to the authentication by a validation value of an addable size of the authentication messages, and to send the generated authentication message.
  • the validation value can be a message length or a runtime, and in particular can be only one of these values.
  • the network node is, for example, set up to send the authentication message over the bus when it is its turn. This is the case, for example, after a predecessor node with an address or ID known to it has sent its message.
  • the address or ID of the predecessor node is, for example, preconfigured or can be obtained by the authentication device.
  • a chain can be formed that begins with the reception of a beacon and passes through one or more other network nodes in sequence to end again at the authentication device that has the added runtime or the added length of the Authentication messages are determined.
  • the authentication message, or its payload, of the previous network node could be appended to the authentication message generated by the current network node, or the authentication device determines the length of the authentication messages each time a node involved in the authentication sends one and gradually adds up the lengths.
  • the network node is an electronic control unit (ECU), a sensor, a display device, an actuator or another network-capable device.
  • ECU electronice control unit
  • the network node must have hardware logic and/or software logic that can generate and send the authentication messages.
  • a network comprising an authentication device as described herein and at least one network node as described herein.
  • the network may further comprise a network bus and is not limited to an authentication device.
  • the beacon is a network-wide signal or a network-wide message that can be received by all network nodes. If there is another authentication device in the network that also knows a valid overall validation size, it can also perform authentication. In this case, the starting authentication device is different from the device that performs the authentication.
  • the additional authentication device can be part of the chain, i.e. an intermediate authentication station, so to speak, which itself sends an authentication message. There can therefore be several authentication devices in the chain.
  • the authentication device e.g. a bus master, can thus be configured to receive the last authentication message of the chain and to acquire the validation value of an addable size of the authentication messages for authentication.
  • the validation value of the authentication messages is individual for each network node.
  • the network node can be configured with a validation value statically or dynamically, whereby the validation values usually differ from network node to network node.
  • the network has further network nodes, and the authentication device is configured to determine which network node is part of the chain based on a dynamically generated or stored security pattern.
  • the security pattern further contains one or more of the following values: individual validation value for each network node, ID of the previous network node.
  • the validation value for a network node and a receiving node can be preconfigured.
  • the validation value e.g. the individual length of an authentication message from a network node, can be configured before delivery, so that the individual value is only known to the respective network node.
  • each network node only knows the predecessor node, which is preconfigured or communicated to it dynamically.
  • the authentication device can thus be set up to send the validation value to the network nodes. This increases flexibility. Security is provided by the fact that as long as a malicious device does not know the total runtime or the total length, it is not possible for it to identify a single malicious network node. or to configure all network nodes with validation values that result in a valid overall validation value. It must only be ensured that the total runtime or the total length of the authentication messages remains secret and cannot be manipulated, and that the validation value of a network node cannot be read, e.g. if it is taken from the network and analyzed by an attacker. Since the network is secure after, for example, a network node has been replaced with a malicious network node, it can also be assumed that there is no malicious software in the network that can read the validation values during runtime.
  • the network could consist of the authentication device and one or more network nodes. However, several such networks or subnetworks could also exist side by side. This would allow a malicious device to be identified directly or at least isolated.
  • the network is based on a physical layer according to an Ethernet standard.
  • the Ethernet standards available for automotive applications include, for example, the 10 Mbit/s IEEEP802.3cg standard, or standards with 100 Mbit/s, 1000 Mbit/s, or 2.5, 5, 10 Gbit/s).
  • a variant of the IEEEP802.3ch standard is the MultiDrop mode based on CSMA/CD, which does not require switches (switch ICs), but is designed as a bus.
  • the IEEE P802.3cg standard uses, among other things, a mechanism (PLCA, Physical Layer Collision Avoidance) to avoid collisions during bus access and to ensure fair access. Only one PHY (transceiver) is granted access to the bus at a time. This means that collisions cannot occur. Access is designed according to a so-called round robin procedure.
  • Each control unit (ECU, electronic control unit) or each node on the bus is given the opportunity to send within a defined cycle (or sequence).
  • a so-called headnode determines the cycle and repeatedly sends "beacons" on the bus.
  • the nodes then start a timer depending on the ID of the previous node that they know, which determines the sequence in which they are allowed to send, and then send after the timer has expired and they recognize that it is their turn.
  • a method for authenticating a network of network nodes for a vehicle comprises the following steps:
  • the method thus provides a mechanism in which all control devices together form a kind of blockchain and are authenticated via it. If just one node makes a minimal change to the communication, this can classify an authentication device and the bus as insecure, for example.
  • a program element which, when executed on a processor of the authentication device, instructs the authentication device to perform the steps of the method described above.
  • the computer program element may be part of a computer program, but it may also be a whole program in itself.
  • the computer program element may be used to update an existing computer program to invention.
  • a storage medium is provided on which the program element is stored.
  • the computer-readable medium may be considered to be a storage medium, such as a USB flash drive, a CD, a DVD, a data storage device, a hard disk, or any other medium on which a program element as described above can be stored.
  • a storage medium such as a USB flash drive, a CD, a DVD, a data storage device, a hard disk, or any other medium on which a program element as described above can be stored.
  • the invention can be used to detect, for example, a change in the network, such as an attack via OBD access, an exchange or manipulation of a control unit, or access to safety-critical control units via OBD or infotainment. Furthermore, attacks such as hacker attacks on vehicle networks and theft can be detected and prevented. Furthermore, sensors and sensor data can be authenticated.
  • a computer program may be stored/distributed on a suitable medium, such as an optical storage medium or a semiconductor medium supplied together with or as part of other hardware, but may also be stored/distributed in other forms, for example via the Internet or other wired or wireless telecommunications systems.
  • a suitable medium such as an optical storage medium or a semiconductor medium supplied together with or as part of other hardware, but may also be stored/distributed in other forms, for example via the Internet or other wired or wireless telecommunications systems.
  • Fig. 1A is a diagram of a first example scenario
  • Fig. 1 B is a diagram of a second example scenario
  • Fig. 2 is a block diagram of a network according to an embodiment
  • Fig. 3 is a flow chart of a method for authenticating a network
  • Fig. 4A is a diagram of a valid bus cycle
  • Fig. 4B is a diagram of a faulty bus cycle
  • Fig. 5 a flow chart of the method with further steps
  • Fig. 6 a flow chart of the procedure with focus on security patterns
  • Fig. 7A a first security example
  • Fig. 7B a second security example
  • Fig. 8 shows a vehicle with a network according to an embodiment.
  • Fig. 1 A shows a diagram of an example scenario in which an existing communication connection 108 on a network bus is interfered with.
  • an additional data packet 106 of malware is inserted between the regular data packets 104.
  • the sender of the data stream including the additional data packet 106 is the same.
  • Such a data packet in an authentication message would change its length and thus be detected.
  • Fig. 1 B shows a diagram of a second scenario with a manipulation of control units, in which a control unit 114 is replaced.
  • the ECU A 102 communicates with the ECU B 114 via the transceivers 110 and 112.
  • the ECU B 114 could be replaced by an ECU B' 116 with transceiver 118, for example to bypass an immobilizer or to manipulate the engine control. From the application's point of view, it cannot be recognized that this is a replaced control unit ECU B' 116.
  • the control unit ECU B' 116 can, for example, take on the original name, such as an ID, an IP address or a bus system address, of the original control unit ECU B 114 and is therefore invisible to the software. This represents a potential danger and can also affect sensors and actuators.
  • a jump from, for example, an infotainment domain of an ECU server or domain controller to a driver assistance system (ADAS, Advanced Driver Assistance Systems) domain should be prevented.
  • ADAS Driver Assistance Systems
  • Fig. 2 shows a block diagram of a network comprising an authentication device 202 and several network nodes 204 and a network bus 206.
  • Fig. 3 shows a block diagram of a method 300 for authenticating a network of network nodes for a vehicle, comprising the steps:
  • Figures 4A and 4B show the effects of attacks and unauthenticated devices on the bus in a case where the network nodes NO, N1, N2, N3 know the total runtime 410.
  • the total runtime 410, 420 changes and postpones the sending of the next beacon 408, 418 by a difference 424 so that a deviation from the expected total runtime 410 can be detected. Any interested node can detect this shift.
  • Fig. 4A The secure scenario is shown in Fig. 4A.
  • Each network node e.g. a control unit, a sensor or an actuator, follows the pattern and sends exactly the message in the right size (e.g. 200 bytes).
  • the sum of all data packets or message lengths in the cycle (sent and not sent) then defines the cycle length 410, i.e. the total validation value, and thus also the time of transmission of the next beacon 408, 410, which is received by all participants NO, N1, N2, N3.
  • No synchronization is necessary here, since each network node transmits immediately when the bus is free (observing the specified order). The method therefore works without the need for precise coordination of the transmission cycle.
  • Fig. 4B shows a case in which an attack or an error has occurred.
  • One or more participants e.g. network nodes 414, 416
  • network nodes 414, 416 are affected and behave differently than defined by the security pattern. This does not initially affect the bus communication. However, the actual cycle length is affected and deviates significantly from the previously defined one. This can then be identified as a problem. In this case, no network node needs to know the overall pattern or have knowledge of the data of the other network nodes, which is a particular advantage of the method. The network nodes only have knowledge of, for example, the start of the next cycle. The method is therefore particularly suitable for a highly distributed system. At the time the new beacon 408 is sent out by the authentication device or master, each network node then knows whether the bus can be considered secure or not.
  • the method 300 presented in Fig. 3 can be part of a network procedure with further steps, which has the following steps, as shown in Fig. 5:
  • step 502 the network bus is initialized.
  • step 504 the number of bus participants capable of transmitting, i.e. the network nodes described here, is determined.
  • a security pattern is defined.
  • the security pattern contains, for example, the individual validation values such as the runtime or length of the authentication message. These can be determined using a random generator, for example.
  • the security pattern can also define the order in which the network nodes send their authentication message.
  • the network nodes thus form a chain with, for example, the authentication device as the start and end link, whereby the authentication device itself does not generate and send an authentication message.
  • there are other authentication devices in the chain that do not necessarily generate and distribute a security pattern, but receive it from the master of the bus.
  • the overall validation value is calculated based on the pattern.
  • an overall validation value can first be specified or already configured and the security pattern in step 506 is defined under the condition of this specified overall validation value.
  • the overall validation value can optionally be transmitted to all network nodes. In an alternative, the overall validation value can be transmitted to some of the network nodes, which can then also carry out authentication.
  • step 510 the security pattern is sent, for example, in individual form to the network nodes.
  • the network nodes are sent, for example, the length of the authentication message to be generated and the ID of the predecessor node.
  • steps 504 to 510 or part of these steps can be replaced by a preconfiguration.
  • the order of steps 510 and 508 can also be swapped.
  • step 512 a beacon is sent, which starts the sending of the authentication messages.
  • the authentication messages are generated and sent by the network nodes in the defined order according to the respective validation value.
  • each node on the bus sends a predefined data packet, for example after startup or initialization or after the vehicle starts. Only the size of the packet is relevant here and not the content. This implicitly maps the bus cycle. Only after a node has sent can the next node send, and so on. When all nodes have had their turn, the master can send a new beacon to start a new cycle, whereby the time of sending this new beacon depends exclusively on the sum of the nodes' delays. Each participant therefore has a direct influence on this time. The next beacon time can therefore be predicted precisely.
  • step 516 the validation of the total validation value takes place, i.e. the authentication and checking of the total validation value is carried out according to the method 300.
  • Steps 504 to 512 and 516 can, for example, be performed by the authentication device.
  • Fig. 5 therefore also shows the process of bus identification and pattern definition and transmission.
  • Terminal 30 i.e. when the power supply is connected, or a service, a plug'n'play of a new control unit, or at any other point in time, which is either permanently configured or communicated dynamically to the participants on the bus.
  • terminal 30 i.e. when the power supply is connected, or a service, a plug'n'play of a new control unit, or at any other point in time, which is either permanently configured or communicated dynamically to the participants on the bus.
  • knowledge of the number of participants is necessary - i.e. which control units are included in the security procedure, or which control units are to be tested. For example, all of them could always be included, or just a subset of the connected participants.
  • the subset can be control units that are either particularly safety-critical, devices with a monitoring function, or just devices that can technically participate in the procedure. This is shown in Fig. 6. It should also be taken into account which control units are used for monitoring,
  • Fig. 6 shows a flow chart of the method with a focus on the creation and transmission of the security pattern.
  • the reference symbols are related to Fig. 5.
  • Step 504 is divided into two sub-steps 602 and 604. Accordingly, in 602 it is determined which control units or participants should be checked by the method. These are, for example, newly connected control units, control units that have been in sleep mode, control units with an online connection, multiple interfaces, etc.
  • the control units are determined that should be informed of the security result, such as only the bus master, all control units or diagnostic devices, etc.
  • the method either dynamically determines a security pattern or uses a pattern that has already been saved and preconfigured.
  • the pattern defines which participant or network node (ECU, sensor, actuator, etc.) sends an authentication message. Furthermore, the pattern defines the message lengths that are to be sent. No time synchronization is necessary for this, because the control units send in sequence or when the previous one has sent its authentication message.
  • the cycle length or the total validation value is calculated.
  • a decision is made as to whether further control units are to be informed. If only the bus master as an authentication device, for example the gateway, monitors the bus is to be used, only the pattern is transmitted in step 616. The cycle length does not need to be transmitted in this case. Otherwise, i.e.
  • step 614 the cycle length can first be transmitted in step 614 and then step 616 can be used to transmit the pattern.
  • step 616 can be used to transmit the pattern.
  • Figures 7A and 7B show two examples of a security pattern 702.
  • nodes 0, 1, 5, 7 and 8 send (Tx) an authentication message with the specified length L in bytes, while all other nodes do not send an authentication message.
  • the nodes that do not send an authentication message are also part of the pattern 702, since not sending also influences the cycle length.
  • the advantage of this is that the pattern 702 does not have to be completely distributed or known, only the respective node has to know its own values.
  • nodes 1, 3, 5 and 8 send an authentication message.
  • the lengths L differ partially from those of the pattern 702 in Fig. 7A.
  • the security level works in combination with all participants, similar to a blockchain-based system.
  • the applied pattern then clearly determines the cycle length.
  • Various patterns are possible here.
  • the pattern is a static pattern that is encrypted and programmed.
  • the pattern is a dynamically created pattern.
  • the pattern is based on predefined parameters such as the current time.
  • the pattern is based on the MAC addresses of the participants.
  • the pattern does not directly specify the length of the authentication message, but it may contain one or more parameters from which the network node can derive the length.
  • the authentication device which is the master, sends a parameter value to the network node, e.g. a control unit, which the control unit adds to the last two digits of its MAC address and then uses as the length for the next data packet, which here is equivalent to the authentication message.
  • the pattern can also be permanently encoded in a secure memory area and then queried on request or the frame length can be determined with it.
  • Fig. 8 schematically shows a vehicle 800 with a network 200 described herein, comprising an authentication device 202, several network nodes 204, and a network bus 206.
  • the process makes it possible to block attacks in the hardware and thus prevent them from reaching the ECU software or even a possible forwarding. This relieves the burden on resources and possible firewalls. The attacker can no longer gain access to the system using the process. Furthermore, attacks can not only be fended off, but the attempt itself can also be diagnosed.
  • the process also offers another method to only allow authorized access to the vehicle's on-board network.
  • the common hardware does not have to be changed; the existing hardware can continue to be used.
  • the computing capacity required is low, so that a security procedure can be implemented and subsequently written to the flash memory without affecting the system resources (memory, computing power, real-time capability).
  • the process also has the particular advantage that there is no need to actively intervene in the communication.
  • the security procedure can be carried out and checked silently. In addition, not all control units have to participate in the process.
  • the process can also be evaluated in real time and does not require any further calculation or analysis in a cloud.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)

Abstract

The invention relates to an authentication device (202) designed to authenticate a network of network nodes for a vehicle (800). To this end, the authentication device (202) is designed to determine an overall validation value of an addable size of authentication messages about the network nodes (204), to compare the determined overall validation value with an overall validation value expected by the authentication device (202), and to authenticate the network (200) on the basis of the comparison of the expected overall validation value with the determined overall validation value.

Description

Authentifizierungsgerät für ein Fahrzeug Authentication device for a vehicle

BESCHREIBUNG DESCRIPTION

Technisches Gebiet Technical area

Die Erfindung betrifft ein Authentifizierungsgerät für ein Fahrzeug, ein Netzwerkknoten, ein Verfahren zum Authentifizieren eines Netzwerks aus Netzwerkknoten für ein Fahrzeug, ein Programmelement und ein Speichermedium. The invention relates to an authentication device for a vehicle, a network node, a method for authenticating a network of network nodes for a vehicle, a program element and a storage medium.

Stand der Technik State of the art

Mit dem teilautomatisierten und hochautomatisierten Fahren kommen zunehmend Anforderungen ins Fahrzeug, die vom Übertragungsnetzwerk und den Protokollen harte Echtzeitunterstützung verlangen. Den Datenmengen muss schnell vertraut werden können und die Integrität der Daten muss sichergestellt sein. Weiterhin wird ein Bordnetz in Zukunft viel flexibler als heute sein. Knoten werden während des Betriebes abgeschaltet, wenn sie nicht benötigt werden. Das wiederum bedeutet, dass sich das Bordnetz dynamisch zur Laufzeit sehr stark ändern wird. Hardware Plug'n’Play von Sensoren wird ein immer wichtigeres Thema. In Fahrzeugen kann daher eine Veränderung in der Kommunikation, ein Angriff über den Diagnosezugang, ein manipuliertes Steuergerät sowie auch ausgetauschte Steuergeräte immer schwerer erkannt werden. With partially automated and highly automated driving, there are increasing demands on the vehicle that require hard real-time support from the transmission network and protocols. The volume of data must be able to be trusted quickly and the integrity of the data must be ensured. Furthermore, an on-board network will be much more flexible in the future than it is today. Nodes will be switched off during operation if they are not needed. This in turn means that the on-board network will change dynamically during runtime. Hardware plug'n'play of sensors is becoming an increasingly important topic. In vehicles, it is therefore becoming increasingly difficult to detect a change in communication, an attack via the diagnostic access, a manipulated control unit and even replaced control units.

Eine Aufgabe der Erfindung ist es, eine verbesserte Authentifizierung eines Netzwerks für ein Fahrzeug bereitzustellen. An object of the invention is to provide improved authentication of a network for a vehicle.

Die Aufgabe wird durch die Gegenstände der unabhängigen Patentansprüche gelöst. Vorteilhafte Ausführungsformen sind Gegenstand der abhängigen Ansprüche, der folgenden Beschreibung, sowie der Figuren. Die beschriebenen Ausführungsformen betreffen in ähnlicher Weise das Authentifizierungsgerät für ein Fahrzeug, den Netzwerkknoten, das Verfahren zum Authentifizieren eines Netzwerks aus Netzwerkknoten für ein Fahrzeug, das Programmelement und das Speichermedium. Synergieeffekte können sich aus verschiedenen Kombinationen der Ausführungsformen ergeben, obwohl sie möglicherweise nicht im Detail beschrieben werden. The object is achieved by the subject matter of the independent patent claims. Advantageous embodiments are the subject matter of the dependent claims, the following description and the figures. The described embodiments similarly relate to the authentication device for a vehicle, the network node, the method for authenticating a network of network nodes for a vehicle, the program element and the storage medium. Synergy effects may result from various combinations of the embodiments, although they may not be described in detail.

Ferner ist zu beachten, dass alle Ausführungsformen der vorliegenden Erfindung, die ein Verfahren betreffen, in der beschriebenen Reihenfolge der Schritte ausgeführt werden können, jedoch muss dies nicht die einzige und wesentliche Reihenfolge der Schritte des Verfahrens sein. Die hier vorgestellten Verfahren können mit einer anderen Reihenfolge der offenbarten Schritte ausgeführt werden, ohne von der jeweiligen Verfahrensausführungsform abzuweichen, sofern im Folgenden nicht ausdrücklich etwas Anderes angegeben ist. It should also be noted that all embodiments of the present invention relating to a method may be carried out in the described order of steps, but this need not be the only and essential order of steps of the method. The methods presented here may be carried out with a different order of the steps disclosed without deviating from the respective method embodiment, unless expressly stated otherwise below.

Gemäß einem ersten Aspekt wird ein Authentifizierungsgerät bereitgestellt, das zum Authentifizieren eines Netzwerks aus Netzwerkknoten für ein Fahrzeug eingerichtet ist. Das Authentifizierungsgerät ist eingerichtet, einen Gesamtvalidierungswert einer addierbaren Größe von Authentifizierungsnachrichten über die Netzwerkknoten zu ermitteln, den ermittelten Gesamtvalidierungswert mit einem von dem Authentifizierungsgerät erwarteten Gesamtvalidierungswert zu vergleichen, und das Netzwerk anhand des Vergleiches des erwarteten Gesamtvalidierungswertes mit dem ermittelten Gesamtvalidierungswert zu authentifizieren. According to a first aspect, an authentication device is provided which is configured to authenticate a network of network nodes for a vehicle. The authentication device is configured to determine a total validation value of an addable size of authentication messages across the network nodes, compare the determined total validation value with a total validation value expected by the authentication device, and authenticate the network based on the comparison of the expected total validation value with the determined total validation value.

Die Authentifizierungsnachrichten sind hierbei beispielsweise spezielle Nachrichten, die nur zur Authentifizierung erzeugt und gesendet werden. Das Authentifizierungsgerät kann einer der Netzwerkknoten sein, das, z.B. zusätzlich oder dediziert, besondere für die Authentifizierung notwendige Dienste oder Programmelemente aufweist. Eine solche Authentifizierung kann beispielsweise bei einem Setup oder Starten bzw. Hochfahren des Netzwerkes oder bei jeglicher Manipulation des Netzwerkes durchgeführt werden. Eine Manipulation ist z.B. der Austausch eines Netzwerkknotens oder ein Software-Update. Ein Software-Update kann hierbei eine Konfiguration betreffen oder eine Aktualisierung eines Programms oder eines Programmteils, wie zum Beispiel einer dynamischen Bibliotheksdatei. The authentication messages are, for example, special messages that are generated and sent only for authentication. The authentication device can be one of the network nodes that has, for example, additional or dedicated services or program elements necessary for authentication. Such authentication can be carried out, for example, during setup or starting or booting up the network or during any manipulation of the network. Manipulation is, for example, the replacement of a network node or a software update. A software update can concern a configuration or an update of a program or part of a program, such as a dynamic library file.

Gemäß einer Ausführungsform ist der Validierungswert eine Nachrichtenlänge oder eine Laufzeit. Eine Nachrichtenlänge kann beispielsweise eine Anzahl an Übertragungseinheiten wie z.B. Bits oder Symbole sein. Eine Laufzeit kann aus der Anzahl an Übertragungseinheiten und der Übertragungsgeschwindigkeit ergeben und z.B. durch eine Messung oder Bestimmung der empfangenen Bits ermittelt werden. According to one embodiment, the validation value is a message length or a runtime. A message length can be, for example, a number of transmission units such as bits or symbols. A runtime can result from the number of transmission units and the transmission speed and can be determined, for example, by measuring or determining the received bits.

In einem Beispiel ist der Validierungswert ausschließlich eine Nachrichtenlänge oder ausschließlich eine Laufzeit. In one example, the validation value is only a message length or only a runtime.

Das Authentifizierungsgerät und die Netzwerkknoten sind beispielsweise über einen Netzwerkbus, hierin, das heißt, in dieser Offenbarung, auch kurz als Bus bezeichnet, miteinander verbunden. Die Authentifizierungsnachrichten können zum Beispiel einen Header mit einer ID zur Identifizierung des Nachrichtentyps aufweisen. Der Nachrichtenkörper, also der Inhalt der Nachricht bzw. die sog. „Payload“ ist belanglos und muss nicht dekodiert werden. Maßgeblich ist lediglich die Länge der Nachricht, die sich beispielweise durch die Anzahl der Bits der Payload oder die Gesamtzahl der Bits der Nachricht definiert. Die Laufzeit ergibt sich dann aus der Anzahl der Bits und der Übertragungsgeschwindigkeit. The authentication device and the network nodes are connected to one another, for example, via a network bus, also referred to as a bus in this disclosure. The authentication messages can, for example, have a header with an ID to identify the message type. The message body, i.e. the content of the message or the so-called "payload", is irrelevant and does not have to be decoded. The only important thing is the length of the message, which is defined, for example, by the number of bits in the payload or the total number of bits in the message. The runtime is then determined by the number of bits and the transmission speed.

Gemäß einer Ausführungsform ist das Authentifizierungsgerät eingerichtet, ein Beacon zu senden, wobei das Beacon die Aufforderung an einen ersten Netzwerkknoten ist, eine Authentifizierungsnachricht zu generieren und zu senden, und wobei das Authentifizierungsgerät eingerichtet ist, eine Authentifizierungsnachricht von einem zweiten Netzwerkknoten, der unterschiedlich zum ersten Netzwerkknoten ist, zu empfangen, und eingerichtet ist, einen Gesamtvalidierungswert zu ermitteln, wobei der Gesamtvalidierungswert den addierten Validierungswerten der Authentifizierungsnachrichten des ersten Netzwerkknotens und des zweiten Netzwerkknotens entspricht. According to one embodiment, the authentication device is configured to send a beacon, wherein the beacon is the request to a first network node to generate and send an authentication message, and wherein the authentication device is configured to Authentication message from a second network node that is different from the first network node, and is configured to determine a total validation value, wherein the total validation value corresponds to the added validation values of the authentication messages of the first network node and the second network node.

Das heißt, dass das Senden des Beacons zur Folge hat, dass der erste Netzwerkknoten eine Authentifizierungsnachricht sendet. Das Authentifizierungsgerät wartet, bis es eine Authentifizierungsnachricht von dem zweiten Netzwerkknoten empfängt und ermittelt einen addierten Validierungswert aus den Authentifizierungsnachrichten des ersten Netzwerkknotens und des zweiten Netzwerkknotens. Daraus folgt implizit, dass, um einen addierten Validierungswert zu erhalten, der zweite Netzwerkknoten die Nachricht nach dem zweiten Netzwerkknoten schickt, um die Addition zu ermöglichen, und das Authentifizierungsgerät eine addierte Größe wie eine Gesamtlaufzeit oder eine Gesamtlänge ermitteln kann. Das Authentifizierungsgerät kann hierbei eingerichtet sein, selbst eine Addition vorzunehmen oder eine Zeit zu messen, bis es die Nachricht des zweiten Knotens empfangen hat. Diese entsteht durch das serielle Senden der Authentifizierungsnachrichten über den ersten und den zweiten Netzwerkknoten. Es sei angemerkt, dass zwischen dem ersten und dem zweiten Netzwerkknoten noch weitere Netzwerkknoten liegen können, deren Validierungswerte sich dann zu denen des ersten und des zweiten Netzwerkknotens hinzuaddieren können. Die ermittelte Laufzeit oder „Gesamtlaufzeit“ kann hierbei Offsets enthalten, die an den Netzwerkknoten oder durch das Senden des Beacons entstehen, die teils physikalischer Natur sein können sowie teils durch die Datenprozessierung oder Vorgaben z.B. durch einen Standard entstehen. This means that sending the beacon results in the first network node sending an authentication message. The authentication device waits until it receives an authentication message from the second network node and determines an added validation value from the authentication messages of the first network node and the second network node. This implicitly means that in order to obtain an added validation value, the second network node sends the message to the second network node to enable the addition, and the authentication device can determine an added value such as a total runtime or a total length. The authentication device can be set up to carry out an addition itself or to measure a time until it has received the message from the second node. This is created by sending the authentication messages serially via the first and second network nodes. It should be noted that there can be further network nodes between the first and second network nodes, whose validation values can then be added to those of the first and second network nodes. The determined runtime or “total runtime” can contain offsets that arise at the network nodes or through the sending of the beacon, which can be partly physical in nature and partly caused by data processing or specifications, e.g. through a standard.

Sobald das Authentifizierungsgerät eine Authentifizierungsnachricht empfangen hat, kann es erneut ein Beacon senden. Ein solcher Authentifizierungsvorgang bildet einen Zyklus ab, der in dieser Offenbarung als solcher bezeichnet wird. Die Dauer bzw. der Zeitraum dieses Zyklus entspricht als Größe dem Gesamtvalidierungswert und wird hierin auch als Zykluslänge bezeichnet. Once the authentication device has received an authentication message, it can send a beacon again. Such an authentication process forms a cycle that is described in this disclosure referred to as such. The duration or period of this cycle corresponds to the total validation value and is also referred to herein as cycle length.

Gemäß einer Ausführungsform ist das Authentifizierungsgerät ein Netzwerkknoten, ein Busmaster und/oder ein Gateway. Es kann aber auch z.B. ein Steuergerät sein, das die entsprechenden Voraussetzungen aufweist. According to one embodiment, the authentication device is a network node, a bus master and/or a gateway. However, it can also be, for example, a control device that has the corresponding requirements.

Gemäß einem zweiten Aspekt wird ein Netzwerkknoten eines Netzwerkes für ein Fahrzeug bereitgestellt, wobei der Netzwerkknoten eingerichtet ist, für eine Authentifizierung des Netzwerkes ein Beacon oder eine Authentifizierungsnachricht zu empfangen, eine Authentifizierungsnachricht zu generieren, die bezüglich der Authentifizierung durch einen Validierungswert einer addierbaren Größe der Authentifizierungsnachrichten definiert ist, und die erzeugte Authentifizierungsnachricht zu senden. According to a second aspect, a network node of a network for a vehicle is provided, wherein the network node is configured to receive a beacon or an authentication message for authentication of the network, to generate an authentication message which is defined with respect to the authentication by a validation value of an addable size of the authentication messages, and to send the generated authentication message.

Wie bereits erwähnt, kann der Validierungswert eine Nachrichtenlänge oder eine Laufzeit sein, und insbesondere ausschließlich eine dieser Größen sein. As already mentioned, the validation value can be a message length or a runtime, and in particular can be only one of these values.

Hier wird in erster Linie ein Netzwerk betrachtet, das einen Netzwerkbus aufweist, auf dem nur immer ein Knoten senden darf. Der Netzwerkknoten ist beispielsweise weiterhin eingerichtet, die Authentifizierungsnachricht dann über den Bus zu senden, wenn er an der Reihe ist. Dies ist z.B. dann der Fall, nachdem ein Vorgänger-Knoten mit einer ihm bekannten Adresse oder ID seine Nachricht gesendet hat. Die Adresse oder ID des Vorgänger- Knotens ist beispielsweise vorkonfiguriert, oder kann durch das Authentifizierungsgerät erhalten werden. Here we primarily consider a network that has a network bus on which only one node is allowed to send at a time. The network node is, for example, set up to send the authentication message over the bus when it is its turn. This is the case, for example, after a predecessor node with an address or ID known to it has sent its message. The address or ID of the predecessor node is, for example, preconfigured or can be obtained by the authentication device.

Auf diese Weise kann eine Kette gebildet werden, die mit dem Empfang eines Beacons beginnt und der Reihe nach über einen oder mehrere weitere Netzwerkknoten geht, um wieder bei dem Authentifizierungsgerät zu enden, welches die addierte Laufzeit oder die addierte Länge der Authentifizierungsnachrichten ermittelt. Im letzteren Fall könnte beispielsweise die Authentifizierungsnachricht, bzw. deren Payload, des vorhergehenden Netzwerkknotens an die vom aktuellen Netzwerkknoten generierte Authentifizierungsnachricht angehängt werden oder das Authentifizierungsgerät ermittelt die Länge der Authentifizierungsnachrichten bei jedem Senden eines an der Authentifizierung beteiligten Knotens und addiert die Längen nach und nach auf. In this way, a chain can be formed that begins with the reception of a beacon and passes through one or more other network nodes in sequence to end again at the authentication device that has the added runtime or the added length of the Authentication messages are determined. In the latter case, for example, the authentication message, or its payload, of the previous network node could be appended to the authentication message generated by the current network node, or the authentication device determines the length of the authentication messages each time a node involved in the authentication sends one and gradually adds up the lengths.

Gemäß einer Ausführungsform ist der Netzwerkknoten ein Steuergerät (ECU, electronic control unit), ein Sensor, ein Anzeigegerät, ein Aktuator oder ein anderes netzwerkfähiges Gerät. In allen Fällen muss der Netzwerkknoten eine Hardwarelogik und/oder eine Softwarelogik aufweisen, die die Authentifizierungsnachrichten generieren und senden kann. According to one embodiment, the network node is an electronic control unit (ECU), a sensor, a display device, an actuator or another network-capable device. In all cases, the network node must have hardware logic and/or software logic that can generate and send the authentication messages.

Gemäß einem dritten Aspekt wird ein Netzwerk bereitgestellt, das ein hierin beschriebenes Authentifizierungsgerät und mindestens einen hierin beschriebenen Netzwerkknoten aufweist. Das Netzwerk kann weiterhin einen Netzwerkbus aufweisen und ist nicht beschränkt auf ein Authentifizierungsgerät. According to a third aspect, a network is provided comprising an authentication device as described herein and at least one network node as described herein. The network may further comprise a network bus and is not limited to an authentication device.

In einer Variante kann in dem Netzwerk ein oder können mehrere weitere Authentifizierungsgeräte vorhanden sein. Das Beacon ist ein netzwerkweites Signal oder eine netzwerkweite Nachricht, die von allen Netzwerkknoten empfangen werden kann. Ist ein weiteres Authentifizierungsgerät in dem Netzwerk vorhanden, das auch eine für sich gültige Gesamtvalidierungsgröße kennt, kann es ebenfalls eine Authentifizierung vornehmen. In diesem Fall ist das Start-Authentifizierungsgerät von dem die Authentifizierung vornehmenden Gerät unterschiedlich. In einer weiteren Variante kann das weitere Authentifizierungsgerät Teil der Kette sein, also sozusagen eine Zwischenauthentifizierungsstation, die selbst wieder eine Authentifizierungsnachricht sendet. So können in der Kette mehrere Authentifizierungsgeräte vorhanden sein. Das Authentifizierungsgerät, z.B. ein Bus-Master, kann somit eingerichtet sein, die letzte Authentifizierungsnachricht der Kette zu empfangen, und für die Authentifizierung den Validierungswert einer addierbaren Größe der Authentifizierungsnachrichten zu erfassen. In one variant, there can be one or more additional authentication devices in the network. The beacon is a network-wide signal or a network-wide message that can be received by all network nodes. If there is another authentication device in the network that also knows a valid overall validation size, it can also perform authentication. In this case, the starting authentication device is different from the device that performs the authentication. In another variant, the additional authentication device can be part of the chain, i.e. an intermediate authentication station, so to speak, which itself sends an authentication message. There can therefore be several authentication devices in the chain. The authentication device, e.g. a bus master, can thus be configured to receive the last authentication message of the chain and to acquire the validation value of an addable size of the authentication messages for authentication.

Gemäß einer Ausführungsform ist der Validierungswert der Authentifizierungsnachrichten für jeden Netzwerkknoten individuell. Der Netzwerkknoten kann mit einem Validierungswert statisch oder dynamisch konfiguriert werden, wobei die Validierungswerte in der Regel von Netzwerkknoten zu Netzwerkknoten unterschiedlich sind. According to one embodiment, the validation value of the authentication messages is individual for each network node. The network node can be configured with a validation value statically or dynamically, whereby the validation values usually differ from network node to network node.

Gemäß einer Ausführungsform weist das Netzwerk weitere Netzwerkknoten auf, und das Authentifizierungsgerät ist eingerichtet, nach einem dynamisch generierten oder einem abgespeicherten Sicherheits-Muster zu bestimmen, welcher Netzwerkknoten Teil der Kette ist. According to one embodiment, the network has further network nodes, and the authentication device is configured to determine which network node is part of the chain based on a dynamically generated or stored security pattern.

Gemäß einer Ausführungsform enthält das Sicherheits-Muster weiterhin einen oder mehrere der folgenden Werte: individueller Validierungswert für jeden Netzwerkknoten, ID des vorhergehenden Netzwerkknotens. According to one embodiment, the security pattern further contains one or more of the following values: individual validation value for each network node, ID of the previous network node.

Das heißt, dass der Validierungswert für einen Netzwerkknoten und ein Empfängerknoten vorkonfiguriert sein können. Der Validierungswert, z.B. die individuelle Länge einer Authentifizierungsnachricht eines Netzwerkknotens, kann beispielsweise vor der Auslieferung konfiguriert werden, so dass der individuelle Wert nur den jeweils betreffenden Netzwerkknoten bekannt ist. Weiterhin kennt jeder Netzwerkknoten nur den Vorgängerknoten, welcher vorkonfiguriert ist oder ihm dynamisch mitgeteilt wird. This means that the validation value for a network node and a receiving node can be preconfigured. The validation value, e.g. the individual length of an authentication message from a network node, can be configured before delivery, so that the individual value is only known to the respective network node. Furthermore, each network node only knows the predecessor node, which is preconfigured or communicated to it dynamically.

Das Authentifizierungsgerät kann somit eingerichtet sein, den Validierungswert an die Netzwerkknoten zu senden. Dies erhöht die Flexibilität. Eine Sicherheit ist dadurch geboten, dass, solange eine schädliche Einrichtung nicht die Gesamtlaufzeit oder die Gesamtlänge kennt, diesem nicht möglich ist, einen einzelnen z.B. schädlichen Netzwerkknoten oder alle Netzwerkknoten mit Validierungswerten zu konfigurieren, die einen validen Gesamtvalidierungswert ergeben. Es muss lediglich sichergestellt sein, dass die Gesamtlaufzeit oder die Gesamtlänge der Authentifizierungsnachrichten geheim bleibt und nicht manipuliert werden kann, und dass der Validierungswert eines Netzwerkknotens nicht, z. B., wenn dieser dem Netzwerk entnommen und von einem Angreifer analysiert wird, ausgelesen werden kann. Da das Netzwerk nach vor z.B. einem Austausch eines Netzwerkknotens mit einem schädlichen Netzwerkknoten sicher ist, kann auch davon ausgegangen werden, dass keine schädliche Software in dem Netzwerk vorhanden ist, die während der Laufzeit die Validierungswerte auslesen kann. The authentication device can thus be set up to send the validation value to the network nodes. This increases flexibility. Security is provided by the fact that as long as a malicious device does not know the total runtime or the total length, it is not possible for it to identify a single malicious network node. or to configure all network nodes with validation values that result in a valid overall validation value. It must only be ensured that the total runtime or the total length of the authentication messages remains secret and cannot be manipulated, and that the validation value of a network node cannot be read, e.g. if it is taken from the network and analyzed by an attacker. Since the network is secure after, for example, a network node has been replaced with a malicious network node, it can also be assumed that there is no malicious software in the network that can read the validation values during runtime.

Prinzipiell könnte das Netzwerk aus dem Authentifizierungsgerät und einem oder mehreren Netzwerkknoten bestehen. Es könnten aber auch mehrere solche Netzwerke oder Subnetzwerke nebeneinander bestehen. Hierdurch könnte ein schädliches Gerät direkt identifiziert werden oder zumindest eingegrenzt werden. In principle, the network could consist of the authentication device and one or more network nodes. However, several such networks or subnetworks could also exist side by side. This would allow a malicious device to be identified directly or at least isolated.

Gemäß einer Ausführungsform basiert das Netzwerk auf einer physikalischen Schicht nach einem Ethernet-Standard. According to one embodiment, the network is based on a physical layer according to an Ethernet standard.

Zu den Ethernet-Standardisierungen, die für Automotive-Anwendungen zur Verfügung stehen gehören beispielsweise der 10 Mbit/s- IEEEP802.3cg Standard, oder Standardisierungen mit 100 Mbit/s, 1000 Mbit/s, oder auch 2.5, 5, 10 Gbit/s). Eine Variante des IEEEP802.3ch-Standards ist der auf CSMA/CD basierende MultiDrop-Modus, bei dem keine Switches (Switch ICs) benötigt werden, sondern der als Bus ausgelegt wird. Der Standard IEEE P802.3cg verwendet unter anderem einen Mechanismus (PLCA, Physical Layer Collision Avoidance) um Kollisionen beim Buszugriff zu vermeiden und einen fairen Zugriff zu bekommen. Dabei erhält immer nur genau ein PHY (Transceiver) zu genau einem Zeitpunkt Zugriff auf den Bus. Hierdurch kann es nicht zu Kollisionen kommen. Der Zugriff wird nach einem sog. Round Robin Verfahren gestaltet. Jedes Steuergerät (ECU, electronic control unit) bzw. jeder Knoten am Bus bekommt die Möglichkeit, innerhalb eines definierten Zyklus (bzw. Reihenfolge) zu senden. Ein sog. Headnode bestimmt dabei den Zyklus und sendet wiederkehrend „Beacons“ auf dem Bus. Damit starten die Knoten in Abhängigkeit der ihnen bekannten ID des Vorgängerknotens, die die Reihenfolgen bestimmt, wann sie senden dürfen, einen Timer und senden ihrerseits nach Ablauf des Timers sowie der Erkennung, dass sie an der Reihe sind. The Ethernet standards available for automotive applications include, for example, the 10 Mbit/s IEEEP802.3cg standard, or standards with 100 Mbit/s, 1000 Mbit/s, or 2.5, 5, 10 Gbit/s). A variant of the IEEEP802.3ch standard is the MultiDrop mode based on CSMA/CD, which does not require switches (switch ICs), but is designed as a bus. The IEEE P802.3cg standard uses, among other things, a mechanism (PLCA, Physical Layer Collision Avoidance) to avoid collisions during bus access and to ensure fair access. Only one PHY (transceiver) is granted access to the bus at a time. This means that collisions cannot occur. Access is designed according to a so-called round robin procedure. Each control unit (ECU, electronic control unit) or each node on the bus is given the opportunity to send within a defined cycle (or sequence). A so-called headnode determines the cycle and repeatedly sends "beacons" on the bus. The nodes then start a timer depending on the ID of the previous node that they know, which determines the sequence in which they are allowed to send, and then send after the timer has expired and they recognize that it is their turn.

Gemäß einem Aspekt wird ein Verfahren zum Authentifizieren eines Netzwerks aus Netzwerkknoten für ein Fahrzeug bereitgestellt. Das Verfahren weist folgende Schritte auf: According to one aspect, a method for authenticating a network of network nodes for a vehicle is provided. The method comprises the following steps:

Ermitteln eines Gesamtvalidierungswertes einer addierbaren Größe von Authentifizierungsnachrichten über die Netzwerkknoten; Determining a total validation value of an addable size of authentication messages across the network nodes;

Vergleichen des Gesamtvalidierungswertes mit einer erwarteten Gesamtvalidierungswert; Comparing the total validation value with an expected total validation value;

Authentifizieren des Netzwerkes anhand des Vergleiches der erwarteten Laufzeit mit der ermittelten Laufzeit. Authenticate the network by comparing the expected runtime with the determined runtime.

Das Verfahren stellt somit einen Mechanismus bereit, bei dem alle Steuergeräte zusammen eine Art Blockchain bilden und darüber authentifiziert werden. Sollte nur ein Knoten eine minimale Änderung an der Kommunikation vornehmen, so kann das ein Authentifizierungsgerät und den Bus beispielsweise als unsicher klassifizieren. The method thus provides a mechanism in which all control devices together form a kind of blockchain and are authenticated via it. If just one node makes a minimal change to the communication, this can classify an authentication device and the bus as insecure, for example.

Gemäß einem weiteren Aspekt wird ein Programmelement bereitgestellt, das, wenn es auf einem Prozessor des Authentifizierungsgeräts ausgeführt wird, das Authentifizierungsgerät anweist, die Schritte des oben beschriebenen Verfahrens durchzuführen. According to a further aspect, a program element is provided which, when executed on a processor of the authentication device, instructs the authentication device to perform the steps of the method described above.

Das Computerprogrammelement kann Teil eines Computerprogramms sein, es kann jedoch auch ein ganzes Programm für sich sein. Beispielsweise kann das Computerprogrammelement verwendet werden, um ein bereits vorhandenes Computerprogramm zu aktualisieren, um zur vorliegenden Erfindung zu gelangen. The computer program element may be part of a computer program, but it may also be a whole program in itself. For example, the computer program element may be used to update an existing computer program to invention.

Gemäß einem weiteren Aspekt wird ein Speichermedium bereitgestellt, auf dem das Programmelement gespeichert ist. According to a further aspect, a storage medium is provided on which the program element is stored.

Das computerlesbare Medium kann als ein Speichermedium angesehen werden, wie beispielsweise ein USB-Stick, eine CD, eine DVD, ein Datenspeichergerät, eine Festplatte oder ein beliebiges anderes Medium, auf dem sich ein Programmelement wie oben beschrieben befinden kann gelagert. The computer-readable medium may be considered to be a storage medium, such as a USB flash drive, a CD, a DVD, a data storage device, a hard disk, or any other medium on which a program element as described above can be stored.

Durch die Erfindung kann beispielsweise eine Veränderung des Netzwerks, wie z.B. ein Angriff über den OBD-Zugang, ein Austausch oder eine Manipulation eines Steuergerätes oder ein Zugriff auf sicherheitskritische Steuergeräte über OBD oder Infotainment erkannt werden. Weiterhin können Angriffe wie zum Beispiel Hackerangriffe auf Fahrzeugnetze und Diebstahl erkannt und verhindert werden. Ferner können Sensoren und Sensordaten authentifiziert werden. The invention can be used to detect, for example, a change in the network, such as an attack via OBD access, an exchange or manipulation of a control unit, or access to safety-critical control units via OBD or infotainment. Furthermore, attacks such as hacker attacks on vehicle networks and theft can be detected and prevented. Furthermore, sensors and sensor data can be authenticated.

Andere Variationen der offenbarten Ausführungsformen können vom Fachmann bei der Durchführung der beanspruchten Erfindung durch das Studium der Zeichnungen, der Offenbarung und der beigefügten Ansprüche verstanden und ausgeführt werden. In den Ansprüchen schließt das Wort "umfassend" andere Elemente oder Schritte nicht aus, und der unbestimmte Artikel "ein" oder "eine" schließt eine Vielzahl nicht aus. Ein einzelner Prozessor oder eine andere Einheit kann die Funktionen mehrerer Gegenstände oder Schritte erfüllen, die in den Ansprüchen aufgeführt sind. Die bloße Tatsache, dass bestimmte Maßnahmen in voneinander abhängigen Ansprüchen angegeben sind, bedeutet nicht, dass eine Kombination dieser Maßnahmen nicht vorteilhaft genutzt werden kann. Ein Computerprogramm kann auf einem geeigneten Medium wie einem optischen Speichermedium oder einem Halbleitermedium, das zusammen mit oder als Teil einer anderen Hardware geliefert wird, gespeichert / verteilt werden, kann aber auch in anderen Formen, beispielsweise über das Internet oder andere drahtgebundene oder drahtlose Telekommunikationssysteme verteilt sein. Bezugszeichen in den Ansprüchen sollten nicht so ausgelegt werden, dass sie den Umfang der Ansprüche begrenzen. Other variations of the disclosed embodiments may be understood and practiced by those skilled in the art in practicing the claimed invention by studying the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other items or steps, and the indefinite article "a" or "an" does not exclude a plurality. A single processor or other unit may perform the functions of several items or steps listed in the claims. The mere fact that certain measures are specified in mutually dependent claims does not mean that a combination of those measures cannot be advantageously used. A computer program may be stored/distributed on a suitable medium, such as an optical storage medium or a semiconductor medium supplied together with or as part of other hardware, but may also be stored/distributed in other forms, for example via the Internet or other wired or wireless telecommunications systems. Reference signs in the claims should not be construed to limit the scope of the claims.

Kurze Beschreibung der Zeichnungen Short description of the drawings

Im Folgenden werden Ausführungsbeispiele der Erfindung anhand der schematischen Zeichnungen näher erläutert. Hierbei zeigt In the following, embodiments of the invention are explained in more detail with reference to the schematic drawings.

Fig. 1A ein Diagramm eines ersten Beispielszenarios, Fig. 1A is a diagram of a first example scenario,

Fig. 1 B ein Diagramm eines zweiten Beispielszenarios, Fig. 1 B is a diagram of a second example scenario,

Fig. 2 ein Blockdiagramm eines Netzwerks gemäß einem Ausführungsbeispiel, Fig. 2 is a block diagram of a network according to an embodiment,

Fig. 3 ein Ablaufdiagramm eines Verfahrens zum Authentifizieren eines Netzwerks, Fig. 3 is a flow chart of a method for authenticating a network,

Fig. 4A ein Diagramm eines validen Bus-Zyklus, Fig. 4A is a diagram of a valid bus cycle,

Fig. 4B ein Diagramm eines fehlerhaften Bus-Zyklus, Fig. 4B is a diagram of a faulty bus cycle,

Fig. 5 ein Ablaufdiagramm des Verfahrens mit weiteren Schritten, Fig. 5 a flow chart of the method with further steps,

Fig. 6 ein Ablaufdiagramm des Verfahrens mit Fokus Sicherheitsmuster,Fig. 6 a flow chart of the procedure with focus on security patterns,

Fig. 7A ein erstes Sicherheitsmusterbeispiel, Fig. 7A a first security example,

Fig. 7B ein zweites Sicherheitsmusterbeispiel, Fig. 7B a second security example,

Fig. 8 ein Fahrzeug mit einem Netzwerk gemäß einem Ausführungsbeispiel. Fig. 8 shows a vehicle with a network according to an embodiment.

Einander entsprechende Teile sind in allen Figuren mit den gleichen Bezugszeichen versehen. Corresponding parts are provided with the same reference numerals in all figures.

Ausführungsformen Embodiments

Fig. 1 A zeigt in ein Diagramm eines Beispielszenarios, bei dem in eine bestehende Kommunikationsverbindung 108 auf einem Netzwerkbus eingegriffen wird. In den Datenstrom zu einer ECU 102 wird zwischen den regulären Datenpaketen 104 ein zusätzliches Datenpaket 106 einer Schadsoftware eingefügt. Der Absender des Datenstroms einschließlich des zusätzlichen Datenpakets 106 ist derselbe. Ein solches Datenpaket in einer Authentifizierungsnachricht würde deren Länge verändern und damit erkannt werden. Fig. 1 A shows a diagram of an example scenario in which an existing communication connection 108 on a network bus is interfered with. In the data stream to an ECU 102, an additional data packet 106 of malware is inserted between the regular data packets 104. The sender of the data stream including the additional data packet 106 is the same. Such a data packet in an authentication message would change its length and thus be detected.

Fig. 1 B zeigt ein Diagramm eines zweiten Szenarios mit einer Manipulation von Steuergeräten, bei der ein Steuergerät 114 ausgetauscht wird. Im regulären Fall kommuniziert die ECU A 102 über die Transceiver 110 und 112 mit der ECU B 114. Die ECU B 114 könnte in einem Angriffsszenario durch eine ECU B‘ 116 mit Transceiver 118 ausgetauscht werden, um beispielsweise eine Wegfahrsperre zu umgehen oder die Motorsteuerung zu manipulieren. Aus Sicht der Anwendung kann nicht erkannt werden, dass es sich um ein ausgetauschtes Steuergerät ECU B‘ 116 handelt. Das Steuergerät ECU B‘ 116 kann beispielsweise den ursprünglichen Namen wie zum Beispiel eine ID, eine IP-Adresse oder eine Bussystemadresse, des ursprünglichen Steuergerätes ECU B 114 annehmen und ist dadurch für die Software unsichtbar. Dies stellt eine potentielle Gefahr dar und kann auch Sensoren und Aktuatoren betreffen. Fig. 1 B shows a diagram of a second scenario with a manipulation of control units, in which a control unit 114 is replaced. In the normal case, the ECU A 102 communicates with the ECU B 114 via the transceivers 110 and 112. In an attack scenario, the ECU B 114 could be replaced by an ECU B' 116 with transceiver 118, for example to bypass an immobilizer or to manipulate the engine control. From the application's point of view, it cannot be recognized that this is a replaced control unit ECU B' 116. The control unit ECU B' 116 can, for example, take on the original name, such as an ID, an IP address or a bus system address, of the original control unit ECU B 114 and is therefore invisible to the software. This represents a potential danger and can also affect sensors and actuators.

In einem weiteren Beispielszenario soll ein Übersprung von zum Beispiel einer Infotainment Domain eines-ECU Servers bzw. Domain Controllers in eine Fahrerassistenzsystem- (ADAS, Advanced Driver Assistance Systems) Domain verhindert werden. In another example scenario, a jump from, for example, an infotainment domain of an ECU server or domain controller to a driver assistance system (ADAS, Advanced Driver Assistance Systems) domain should be prevented.

Fig. 2 zeigt ein Blockdiagramm eines Netzwerks, aufweisend ein Authentifizierungsgerät 202 und mehrere Netzwerkknoten 204 sowie einen Netzwerkbus 206. Fig. 2 shows a block diagram of a network comprising an authentication device 202 and several network nodes 204 and a network bus 206.

Fig. 3 zeigt ein Blockdiagramm eines Verfahrens 300 zum Authentifizieren eines Netzwerks aus Netzwerkknoten für ein Fahrzeug, aufweisend die Schritte: Fig. 3 shows a block diagram of a method 300 for authenticating a network of network nodes for a vehicle, comprising the steps:

Ermitteln 302 eines Gesamtvalidierungswerts einer addierbaren Größe von Authentifizierungsnachrichten über die Netzwerkknoten, Vergleichen 304 des ermittelten Gesamtvalidierungswerts mit einem erwarteten Gesamtvalidierungswert, und Authentifizieren 306 des Netzwerkes anhand des Vergleiches des erwarteten Gesamtvalidierungswerts mit dem ermittelten Gesamtvalidierungswert. Determining 302 a total validation value of an addable size of authentication messages across the network nodes, comparing 304 the determined total validation value with an expected Total validation value, and authenticating 306 the network by comparing the expected total validation value with the determined total validation value.

Figuren 4A und 4B zeigen in einem Fall, in welchem den Netzwerkknoten NO, N1 , N2, N3 die Gesamtlaufzeit 410 bekannt ist, die Auswirkungen von Angriffen und nicht authentifizierten Geräten auf den Bus. Wenn ein Knoten 414, 416 neu oder zusätzlich hinzukommt, verändert sich die Gesamtlaufzeit 410, 420 und verschiebt das Senden des nächsten Beacons 408, 418 um eine Differenz 424, so dass eine Abweichung zur erwarteten Gesamtlaufzeit 410 erkannt werden kann. Jeder interessierte Knoten kann diese Verschiebung erkennen. Figures 4A and 4B show the effects of attacks and unauthenticated devices on the bus in a case where the network nodes NO, N1, N2, N3 know the total runtime 410. When a new or additional node 414, 416 is added, the total runtime 410, 420 changes and postpones the sending of the next beacon 408, 418 by a difference 424 so that a deviation from the expected total runtime 410 can be detected. Any interested node can detect this shift.

In Fig. 4A ist das sichere Szenario dargestellt. Jeder Netzwerkknoten, z.B. ein Steuergerät, ein Sensor oder ein Aktuator, folgt dem Muster und schickt genau die Nachricht in der richtigen Größe (z. B. 200 Byte). Die Summe aller Datenpakete bzw. Nachrichtenlängen in dem Zyklus (gesendet und auch nicht gesendet) definiert dann die Zykluslänge 410, d.h. den Gesamtvalidierungswert, und damit auch den Zeitpunkt der Aussendung des nächsten Beacons 408, 410, welcher von allen Teilnehmern NO, N1 , N2, N3 empfangen wird. Hierbei ist keine Synchronisation notwendig, da jeder Netzwerkknoten sofort sendet, wenn der Bus frei ist (unter Beachtung der vorgegebenen Reihenfolge). Somit funktioniert das Verfahren ohne dass eine präzise Abstimmung über den Sendezyklus vorhanden sein muss. In Fig. 4B ist ein Fall abgebildet, bei dem ein Angriff oder ein Fehler vorliegt. Ein oder mehrere Teilnehmer, d.h. Netzwerkknoten 414, 416, sind betroffen und verhalten sich anders als durch das Sicherheits-Muster definiert. Dadurch ist zwar zunächst die Buskommunikation nicht betroffen. Jedoch wird die eigentlich Zykluslänge beeinflusst und weicht deutlich von der vorher definierten ab. Dies kann dann als Problem identifiziert werden. Hierbei muss kein Netzwerkknoten das übergreifende Muster kennen, bzw. Kenntnis über die Daten der anderen Netzwerkknoten haben, was ein besonderer Vorteil des Verfahrens ist. Die Netzwerkknoten haben z.B. lediglich Kenntnis über den Beginn des nächsten Zyklus. Das Verfahren ist somit auch insbesondere für ein stark verteiltes System geeignet. Zum Zeitpunkt der Aussendung des neuen Beacons 408, der vom Authentifizierungsgerät bzw. Master ausgesendet wird, weiß dann jeder Netzwerkknoten, ob der Bus als sicher angesehen werden kann oder nicht. The secure scenario is shown in Fig. 4A. Each network node, e.g. a control unit, a sensor or an actuator, follows the pattern and sends exactly the message in the right size (e.g. 200 bytes). The sum of all data packets or message lengths in the cycle (sent and not sent) then defines the cycle length 410, i.e. the total validation value, and thus also the time of transmission of the next beacon 408, 410, which is received by all participants NO, N1, N2, N3. No synchronization is necessary here, since each network node transmits immediately when the bus is free (observing the specified order). The method therefore works without the need for precise coordination of the transmission cycle. Fig. 4B shows a case in which an attack or an error has occurred. One or more participants, e.g. network nodes 414, 416, are affected and behave differently than defined by the security pattern. This does not initially affect the bus communication. However, the actual cycle length is affected and deviates significantly from the previously defined one. This can then be identified as a problem. In this case, no network node needs to know the overall pattern or have knowledge of the data of the other network nodes, which is a particular advantage of the method. The network nodes only have knowledge of, for example, the start of the next cycle. The method is therefore particularly suitable for a highly distributed system. At the time the new beacon 408 is sent out by the authentication device or master, each network node then knows whether the bus can be considered secure or not.

Das in Fig. 3 vorgestellte Verfahren 300 kann Teil einer Netzwerkprozedur mit weiteren Schritten sein, die folgende Schritte aufweist, wie in Fig. 5 gezeigt: The method 300 presented in Fig. 3 can be part of a network procedure with further steps, which has the following steps, as shown in Fig. 5:

In Schritt 502 wird der Netzwerkbus initialisiert. In step 502, the network bus is initialized.

In Schritt 504 wir der Anzahl der sendefähigen Busteilnehmer, d.h. die hier beschriebenen Netzwerkknoten bestimmt. In step 504, the number of bus participants capable of transmitting, i.e. the network nodes described here, is determined.

In Schritt 506 wird ein Sicherheits-Muster definiert. Das Sicherheitsmuster enthält zum Beispiel die individuellen Validierungswerte wie zum Beispiel die Laufzeit oder Länge der Authentifizierungsnachricht. Diese können beispielsweise mittels eines Zufallsgenerators festgelegt werden. Das Sicherheits-Muster kann weiterhin definieren, in welcher Reihenfolge die Netzwerkknoten ihre Authentifizierungsnachricht senden. Die Netzwerkknoten bilden somit eine Kette mit beispielsweise dem Authentifizierungsgerät als Anfangs- und Endglied, wobei das Authentifizierungsgerät selbst keine Authentifizierungsnachricht generiert und sendet. Alternativ gibt es weitere Authentifizierungsgeräte in der Kette, die nicht notwendigerweise ein Sicherheitsmuster generieren und verteilen, sondern dieses von dem Master des Busses erhalten. In step 506, a security pattern is defined. The security pattern contains, for example, the individual validation values such as the runtime or length of the authentication message. These can be determined using a random generator, for example. The security pattern can also define the order in which the network nodes send their authentication message. The network nodes thus form a chain with, for example, the authentication device as the start and end link, whereby the authentication device itself does not generate and send an authentication message. Alternatively, there are other authentication devices in the chain that do not necessarily generate and distribute a security pattern, but receive it from the master of the bus.

In Schritt 508 wird der Gesamtvalidierungswert anhand des Musters berechnet. Alternativ kann z.B. auch erst ein Gesamtvalidierungswert festgelegt werden oder bereits konfiguriert sein und das Sicherheitsmuster in Schritt 506 wird unter der Bedingung dieses festgelegten Gesamtvalidierungswerts definiert. Der Gesamtvalidierungswert kann optional an alle Netzwerkknoten übermittelt werden. In einer Alternative kann der Gesamtvalidierungswert einem Teil der Netzwerkknoten übermittelt werden, die dann auch eine Authentifizierung vornehmen können. In step 508, the overall validation value is calculated based on the pattern. Alternatively, for example, an overall validation value can first be specified or already configured and the security pattern in step 506 is defined under the condition of this specified overall validation value. The overall validation value can optionally be transmitted to all network nodes. In an alternative, the overall validation value can be transmitted to some of the network nodes, which can then also carry out authentication.

In Schritt 510 wird das Sicherheits-Muster z.B. in individueller Form an die Netzwerkknoten gesendet. Das heißt, den Netzwerkknoten wird z.B. jeweils die Länge der zu generierenden Authentifizierungsnachricht und die ID des Vorgängerknotens gesendet. Alternativ können die Schritte 504 bis 510 oder ein Teil dieser Schritte durch eine Vorkonfiguration ersetzt werden. Die Reihenfolge der Schritte 510 und 508 können auch vertauscht sein. In step 510, the security pattern is sent, for example, in individual form to the network nodes. This means that the network nodes are sent, for example, the length of the authentication message to be generated and the ID of the predecessor node. Alternatively, steps 504 to 510 or part of these steps can be replaced by a preconfiguration. The order of steps 510 and 508 can also be swapped.

In Schritt 512 wird ein Beacon gesendet, durch welches das Senden der Authentifizierungsnachrichten gestartet wird. In step 512, a beacon is sent, which starts the sending of the authentication messages.

In Schritt 514 werden die von Authentifizierungsnachrichten durch die Netzwerkknoten in der definierten Reihenfolge gemäß dem jeweiligen Validierungswert generiert und gesendet. Das heißt, jeder Knoten am Bus sendet beispielsweise nach dem Aufstart bzw. Initialisierung oder nach dem Fahrzeugstart ein vordefiniertes Datenpaket. Hierbei ist nur die Größe des Paketes relevant und nicht der Inhalt. Hierdurch lässt sich implizit der Buszyklus abbilden. Erst nachdem ein Knoten gesendet hat, darf der nächste Knoten senden usw. Wenn alle Knoten an der Reihe waren, kann der Master einen neuen Beacon zum Start eines neuen Zyklus aussenden wobei der Zeitpunkt des Versandes dieses neuen Beacons somit ausschließlich von der Summe der Verzögerungen der Knoten abhängt. Somit hat jeder Teilnehmer einen direkten Einfluss auf diesen Zeitpunkt. Der nächste Beacon-Zeitpunkt kann daher genau vorhergesagt werden. In step 514, the authentication messages are generated and sent by the network nodes in the defined order according to the respective validation value. This means that each node on the bus sends a predefined data packet, for example after startup or initialization or after the vehicle starts. Only the size of the packet is relevant here and not the content. This implicitly maps the bus cycle. Only after a node has sent can the next node send, and so on. When all nodes have had their turn, the master can send a new beacon to start a new cycle, whereby the time of sending this new beacon depends exclusively on the sum of the nodes' delays. Each participant therefore has a direct influence on this time. The next beacon time can therefore be predicted precisely.

In Schritt 516 erfolgt die Validierung des Gesamtvalidierungswerts, d.h. die Durchführung der Authentifizierung und Prüfung des Gesamtvalidierungswerts gemäß dem Verfahren 300. In step 516, the validation of the total validation value takes place, i.e. the authentication and checking of the total validation value is carried out according to the method 300.

Die Schritte 504 bis 512 sowie 516 können zum Beispiel durch das Authentifizierungsgerät ausgeführt werden. Steps 504 to 512 and 516 can, for example, be performed by the authentication device.

Fig. 5 stellt somit auch den Vorgang der Busidentifikation und der Musterdefinition und Übermittlung dar. Es kann verschiedene Zeitpunkte zur Prüfung der Authentifizierung geben. Hierbei kann es sich um eine sog. „Klemme 30“ handeln, also wenn die Stromversorgung verbunden wird, oder einen Service, ein Plug'n'Play eines neuen Steuergerätes, oder zu jedem beliebigen anderen Zeitpunkt handeln, welcher entweder fest konfiguriert ist oder den Teilnehmern dynamisch am Bus mitgeteilt wird. Um die Zykluslänge zu definieren, ist Kenntnis über die Anzahl der Teilnehmer notwendig - also welche Steuergeräte in das Sicherheitsverfahren miteinbezogen werden, resp. welche Steuergeräte geprüft werden sollen. Beispielsweise könnten immer alle einbezogen werden oder auch nur ein Subset der angeschlossenen Teilnehmer. Beim Subset kann es sich um Steuergeräte handeln, die entweder besonders sicherheitskritisch sind, um Geräte mit Überwachungsfunktion oder auch nur um Geräte, die an dem Verfahren technisch teilnehmen können. Dies ist in Fig. 6 dargestellt. Weiterhin soll auch mit einbezogen werden, welche Steuergeräte zur Überwachung, d.h. als Authentifizierungsgerät dienen. Fig. 5 therefore also shows the process of bus identification and pattern definition and transmission. There can be different points in time for checking authentication. This can be a so-called "terminal 30", i.e. when the power supply is connected, or a service, a plug'n'play of a new control unit, or at any other point in time, which is either permanently configured or communicated dynamically to the participants on the bus. In order to define the cycle length, knowledge of the number of participants is necessary - i.e. which control units are included in the security procedure, or which control units are to be tested. For example, all of them could always be included, or just a subset of the connected participants. The subset can be control units that are either particularly safety-critical, devices with a monitoring function, or just devices that can technically participate in the procedure. This is shown in Fig. 6. It should also be taken into account which control units are used for monitoring, ie as authentication devices.

Fig. 6 zeigt ein Ablaufdiagramm des Verfahrens mit Fokus auf die Erstellung und Übermittlung des Sicherheitsmusters. Die Referenzzeichen sind zu Fig. 5 in Bezug gesetzt. Der Schritt 504 ist aufgeteilt in zwei Teilschritte 602 und 604. Demgemäß wird in 602 bestimmt, welche Steuergeräte bzw. Teilnehmer durch das Verfahren überprüft werden sollen. Dies sind beispielsweise neu verbundene Steuergeräte, Steuergeräte, die sich im Schlafmodus befunden haben, Steuergerät mit online-Verbindung, mehreren Schnittstellen, etc. In Schritt 604 werden die Steuergeräte bestimmt, die über das Sicherheitsergebnis in Kenntnis gesetzt werden sollen, wie zum Beispiel nur der Busmaster, alle Steuergeräte oder Diagnosegeräte, etc. In Schritt 508 bestimmt das Verfahren entweder dynamisch ein Sicherheits-Muster oder benutzt ein bereits abgespeichertes und vorkonfiguriertes Muster. Das Muster definiert, welcher Teilnehmer bzw. Netzwerkknoten (ECU, Sensor, Aktuator, etc.) eine Authentifizierungsnachricht sendet. Weiterhin definiert das Muster die Nachrichtenlängen, welche zu senden sind. Hierzu ist keine Zeitsynchronisation notwendig, denn die Steuergeräte senden der Reihe nach bzw. wenn der vorherige seine Authentifizierungsnachricht gesendet hat. In Schritt 510 wird die Zykluslänge bzw. der Gesamtvalidierungswert berechnet. In Schritt 612 wird entschieden, ob weitere Steuergeräte in Kenntnis gesetzt werden. Falls nur der Busmaster als Authentifizierungsgerät, beispielsweise das Gateway, den Bus überwachen soll, wird in Schritt 616 nur das Muster übermittelt. Die Zykluslänge muss in diesem Fall nicht übermittelt werden. Andernfalls, d.h., sollten weitere Steuergeräte zur Überprüfung hinzugezogen werden, kann in Schritt 614 erst die Zykluslänge übermittelt werden und anschließend zu Schritt 616 gegangen werden, um das Muster zu übermitteln. Dies ist selbst keine vertrauliche Information, da ein Angreifer mit der eigentlichen Zahl bzw. dem Wert nichts anfangen kann. Erst wenn die Kombination aller Steuergeräte bekannt ist, kann der Gesamtvalidierungswert erreicht werden. Fig. 6 shows a flow chart of the method with a focus on the creation and transmission of the security pattern. The reference symbols are related to Fig. 5. Step 504 is divided into two sub-steps 602 and 604. Accordingly, in 602 it is determined which control units or participants should be checked by the method. These are, for example, newly connected control units, control units that have been in sleep mode, control units with an online connection, multiple interfaces, etc. In step 604 the control units are determined that should be informed of the security result, such as only the bus master, all control units or diagnostic devices, etc. In step 508 the method either dynamically determines a security pattern or uses a pattern that has already been saved and preconfigured. The pattern defines which participant or network node (ECU, sensor, actuator, etc.) sends an authentication message. Furthermore, the pattern defines the message lengths that are to be sent. No time synchronization is necessary for this, because the control units send in sequence or when the previous one has sent its authentication message. In step 510, the cycle length or the total validation value is calculated. In step 612, a decision is made as to whether further control units are to be informed. If only the bus master as an authentication device, for example the gateway, monitors the bus is to be used, only the pattern is transmitted in step 616. The cycle length does not need to be transmitted in this case. Otherwise, i.e. if additional control units are to be used for checking, the cycle length can first be transmitted in step 614 and then step 616 can be used to transmit the pattern. This is not confidential information itself, since an attacker cannot do anything with the actual number or value. The total validation value can only be achieved when the combination of all control units is known.

Figuren 7A und 7B zeigen zwei Beispiele für ein Sicherheits-Muster 702. In dem in Fig. 7A gezeigten Muster 702 senden (Tx) die Knoten 0,1 ,5,7 und 8 eine Authentifizierungsnachricht mit der angegebenen Länge L in Byte, während alle anderen Knoten keine Authentifizierungsnachricht senden. Die Knoten, die keine Authentifizierungsnachricht senden, sind hierbei auch Teil des Musters 702, da auch das Nichtsenden die Zykluslänge beeinflusst. Der Vorteil daran ist, dass das Muster 702 nicht vollständig verteilt bzw. bekannt sein muss, sondern nur der jeweilige Knoten muss seine eigenen Werte kennen. In Fig. 7B senden die Knoten 1 ,3,5 und 8 eine Authentifizierungsnachricht. Die Längen L unterscheiden sich hierbei teilweise von denen des Musters 702 in Fig. 7A. Figures 7A and 7B show two examples of a security pattern 702. In the pattern 702 shown in Fig. 7A, nodes 0, 1, 5, 7 and 8 send (Tx) an authentication message with the specified length L in bytes, while all other nodes do not send an authentication message. The nodes that do not send an authentication message are also part of the pattern 702, since not sending also influences the cycle length. The advantage of this is that the pattern 702 does not have to be completely distributed or known, only the respective node has to know its own values. In Fig. 7B, nodes 1, 3, 5 and 8 send an authentication message. The lengths L differ partially from those of the pattern 702 in Fig. 7A.

Die Sicherheitsstufe funktioniert in Kombination aller Teilnehmer, ähnlich zu einem auf Blockchain basierten System. Das applizierte Muster bestimmt dann eindeutig die Zykluslänge. Hier sind verschiedene Muster möglich. In einem ersten Beispiel ist das Muster ein statisches Muster, das verschlüsselt und programmiert vorliegt. In einem zweiten Beispiel ist das Muster ein dynamisch erstelltes Muster. In einem dritten Beispiel basiert das Muster auf vordefinierten Parametern wie beispielsweise der aktuellen Uhrzeit. In einem vierten Beispiel basiert das Muster auf den MAC-Adressen der Teilnehmer. The security level works in combination with all participants, similar to a blockchain-based system. The applied pattern then clearly determines the cycle length. Various patterns are possible here. In a first example, the pattern is a static pattern that is encrypted and programmed. In a second example, the pattern is a dynamically created pattern. In a third example, the pattern is based on predefined parameters such as the current time. In a fourth example, the pattern is based on the MAC addresses of the participants.

In einem Ausführungsbeispiel gibt das Muster nicht direkt die Länge der Authentifizierungsnachricht an, sondern es kann einen oder mehrere Parameter enthalten, aus der der Netzwerkknoten die Länge abgeleitet werden kann. Beispielsweise sendet das Authentifizierungsgerät, das Master, ist, einen Parameter-Wert an den Netzwerkknoten, z.B. ein Steuergerät, den das Steuergerät zu den letzten beiden Ziffern seiner Mac- Adresse aufaddiert und dann als Länge für das nächste Datenpaket, hier gleichbedeutend mit der Authentifizierungsnachricht, verwendet. Das Muster kann auch in einem sicheren Speicherbereich fix kodiert sein und dann auf Anfrage hin abgefragt werden bzw. die Framelänge damit bestimmt werden. In one embodiment, the pattern does not directly specify the length of the authentication message, but it may contain one or more parameters from which the network node can derive the length. For example, the authentication device, which is the master, sends a parameter value to the network node, e.g. a control unit, which the control unit adds to the last two digits of its MAC address and then uses as the length for the next data packet, which here is equivalent to the authentication message. The pattern can also be permanently encoded in a secure memory area and then queried on request or the frame length can be determined with it.

Fig. 8 zeigt schematisch ein Fahrzeug 800 mit einem hierin beschriebenen Netzwerk 200, aufweisend ein Authentifizierungsgerät 202, mehrere Netzwerkknoten 204, sowie einen Netzwerkbus 206. Fig. 8 schematically shows a vehicle 800 with a network 200 described herein, comprising an authentication device 202, several network nodes 204, and a network bus 206.

Durch das Verfahren wird es möglich, Angriffe schon in der Hardware zu blocken und damit gar nicht erst bis zur Software der ECU oder gar einer möglichen Weiterleitung gelangen zu lassen. Hierdurch werden Ressourcen wie auch mögliche Firewalls entlastet. Der Angreifer kann mit dem Verfahren nicht mehr ins System gelangen. Weiterhin können Angriffe nicht nur abgewehrt werden, sondern es kann auch schon der alleinige Versuch diagnostiziert werden. Das Verfahren bietet ferner eine weitere Methode, um nur autorisierten Zugang zum Fahrzeugbordnetz zu erlauben. Die gängige Hardware muss hierbei nicht verändert werden, sondern die bestehende kann weiterverwendet werden. Die benötigten Rechenkapazitäten sind gering, so dass ein Sicherheitsverfahren implementiert und auch nachträglich in den Flashspeicher geschrieben werden kann, ohne dabei die System ressourcen (Speicher, Rechenleistung, Echtzeitfähigkeit) zu beeinflussen. Das Verfahren hat weiterhin den besonderen Vorteil, dass nicht aktiv in die Kommunikation eingegriffen werden muss. Das Sicherheitsverfahren kann still ausgeführt und überprüft werden. Zudem müssen auch nicht alle Steuergeräte am Verfahren teilnehmen. Das Verfahren kann zudem ich Echtzeit ausgewertet werden und bedarf keiner weiteren Berechnung oder Analyse in einer Cloud. The process makes it possible to block attacks in the hardware and thus prevent them from reaching the ECU software or even a possible forwarding. This relieves the burden on resources and possible firewalls. The attacker can no longer gain access to the system using the process. Furthermore, attacks can not only be fended off, but the attempt itself can also be diagnosed. The process also offers another method to only allow authorized access to the vehicle's on-board network. The common hardware does not have to be changed; the existing hardware can continue to be used. The computing capacity required is low, so that a security procedure can be implemented and subsequently written to the flash memory without affecting the system resources (memory, computing power, real-time capability). The process also has the particular advantage that there is no need to actively intervene in the communication. The security procedure can be carried out and checked silently. In addition, not all control units have to participate in the process. The process can also be evaluated in real time and does not require any further calculation or analysis in a cloud.

Claims

PATENTANSPRÜCHE PATENT CLAIMS 1. Authentifizierungsgerät (202), eingerichtet zum Authentifizieren eines Netzwerks (200) aus Netzwerkknoten (204) für ein Fahrzeug (800); wobei das Authentifizierungsgerät (202) eingerichtet ist, einen Gesamtvalidierungswert einer addierbaren Größe von Authentifizierungsnachrichten über die Netzwerkknoten (202) zu ermitteln, den ermittelten Gesamtvalidierungswert mit einem von dem Authentifizierungsgerät (202) erwarteten Gesamtvalidierungswert zu vergleichen, und das Netzwerk anhand des Vergleiches des erwarteten Gesamtvalidierungswertes mit dem ermittelten Gesamtvalidierungswert zu authentifizieren. 1. Authentication device (202) configured to authenticate a network (200) of network nodes (204) for a vehicle (800); wherein the authentication device (202) is configured to determine a total validation value of an addable size of authentication messages via the network nodes (202), compare the determined total validation value with a total validation value expected by the authentication device (202), and authenticate the network based on the comparison of the expected total validation value with the determined total validation value. 2. Authentifizierungsgerät (202) nach Anspruch 1 , wobei der Validierungswert eine Nachrichtenlänge oder eine Laufzeit ist. 2. Authentication device (202) according to claim 1, wherein the validation value is a message length or a runtime. 3. Authentifizierungsgerät (202) nach Anspruch 1 oder 2, wobei das Authentifizierungsgerät (202) eingerichtet ist, ein Beacon (402) zu senden, wobei das Beacon (402) die Aufforderung an einen ersten Netzwerkknoten ist, eine Authentifizierungsnachricht zu generieren und zu senden; eine Authentifizierungsnachricht von einem zweiten Netzwerkknoten (204), der unterschiedlich zum ersten Netzwerkknoten (204) ist, zu empfangen; und einen Gesamtvalidierungswert zu ermitteln, wobei der Gesamtvalidierungswert den addierten Validierungswerten der Authentifizierungsnachrichten des ersten Netzwerkknotens (204) und des zweiten Netzwerkknotens (204) entspricht. 3. Authentication device (202) according to claim 1 or 2, wherein the authentication device (202) is configured to send a beacon (402), wherein the beacon (402) is the request to a first network node to generate and send an authentication message; to receive an authentication message from a second network node (204) that is different from the first network node (204); and to determine a total validation value, wherein the total validation value corresponds to the added validation values of the authentication messages of the first network node (204) and the second network node (204). 4. Authentifizierungsgerät (202) nach einem der Ansprüche 1 bis 3, wobei das Authentifizierungsgerät (202) ein Busmaster und/oder ein Gateway ist. 4. Authentication device (202) according to one of claims 1 to 3, wherein the authentication device (202) is a bus master and/or a gateway. 5. Netzwerkknoten eines Netzwerkes für ein Fahrzeug (800), wobei der Netzwerkknoten eingerichtet ist, für eine Authentifizierung des Netzwerkes ein Beacon (402) oder eine Authentifizierungsnachricht zu empfangen; daraufhin eine eigene Authentifizierungsnachricht zu erzeugen, die bezüglich der Authentifizierung durch einen Validierungswert einer addierbaren Größe der Authentifizierungsnachrichten definiert ist; und die erzeugte Authentifizierungsnachricht zu senden. 5. Network node of a network for a vehicle (800), wherein the network node is configured to receive a beacon (402) or an authentication message for authentication of the network; then to generate its own authentication message, which is defined with respect to the authentication by a validation value of an addable size of the authentication messages; and to send the generated authentication message. 6. Netzwerkknoten nach Anspruch 5, wobei der Netzwerkknoten ein Steuergerät (ECU, electronic control unit), ein Sensor, oder ein Aktuator ist. 6. Network node according to claim 5, wherein the network node is a control unit (ECU, electronic control unit), a sensor, or an actuator. 7. Netzwerk (200), aufweisend ein Authentifizierungsgerät (202) nach einem der Ansprüche 1 bis 4; und mindestens einen Netzwerkknoten (204) nach Anspruch 5 oder 6. 7. A network (200) comprising an authentication device (202) according to one of claims 1 to 4; and at least one network node (204) according to claim 5 or 6. 8. Netzwerk (200) nach Anspruch 7, wobei der Validierungswert der Authentifizierungsnachrichten für jeden Netzwerkknoten (204) individuell ist. 8. The network (200) of claim 7, wherein the validation value of the authentication messages is individual for each network node (204). 9. Netzwerk (200) nach einem der Ansprüche 7 oder 8, wobei das Netzwerk (200) weitere Netzwerkknoten (204) aufweist, und wobei das Authentifizierungsgerät (202) eingerichtet ist, nach einem dynamisch generierten oder einem abgespeicherten Sicherheits-Muster (702) zu bestimmen, welcher Netzwerkknoten (204) Teil der Kette ist. 9. Network (200) according to one of claims 7 or 8, wherein the network (200) has further network nodes (204), and wherein the authentication device (202) is configured to determine which network node (204) is part of the chain according to a dynamically generated or a stored security pattern (702). 10. Netzwerk (200) nach einem der Ansprüche 8 oder 9, wobei das Sicherheits-Muster weiterhin einen oder mehrere der folgenden Werte enthält: individueller Validierungswert für jeden Netzwerkknoten (202), ID des vorhergehenden Netzwerkknotens (202). 10. Network (200) according to one of claims 8 or 9, wherein the security pattern further contains one or more of the following values: individual validation value for each network node (202), ID of the previous network node (202). 11 . Netzwerk (200) nach einem der Ansprüche 7 bis 10, wobei das Netzwerk (200) auf einer physikalischen Schicht nach einem Ethernet- Standard basiert. 11. Network (200) according to one of claims 7 to 10, wherein the network (200) is based on a physical layer according to an Ethernet standard. 12. Verfahren (300) zum Authentifizieren eines Netzwerks (200) aus Netzwerkknoten für ein Fahrzeug (800), aufweisend die Schritte: 12. A method (300) for authenticating a network (200) of network nodes for a vehicle (800), comprising the steps: Ermitteln (302) eines Gesamtvalidierungswerts einer addierbaren Größe von Authentifizierungsnachrichten über die Netzwerkknoten (204); Determining (302) a total validation value of an addable size of authentication messages across the network nodes (204); Vergleichen (304) des ermittelten Gesamtvalidierungswerts mit einem erwarteten Gesamtvalidierungswert; Comparing (304) the determined total validation value with an expected total validation value; Authentifizieren (306) des Netzwerkes anhand des Vergleiches des erwarteten Gesamtvalidierungswerts mit dem ermittelten Gesamtvalidierungswert. Authenticating (306) the network by comparing the expected total validation value with the determined total validation value. 13. Programmelement, das, wenn es auf einem Prozessor des Authentifizierungsgeräts (202) nach einem der Ansprüche 1 bis 4 anweist, die Schritte des Verfahrens nach Anspruch 12 durchzuführen. 13. A program element which, when executed on a processor of the authentication device (202) according to any one of claims 1 to 4, instructs the steps of the method according to claim 12 to be carried out. 14. Speichermedium, auf dem das Programmelement nach Anspruch 13 gespeichert ist. 14. Storage medium on which the program element according to claim 13 is stored. 15. Fahrzeug, aufweisend ein Authentifizierungsgerät (202) nach einem der Ansprüche 1 bis 4. 15. Vehicle comprising an authentication device (202) according to one of claims 1 to 4.
EP23828344.4A 2022-12-13 2023-12-01 Authentication device for a vehicle Pending EP4635133A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102022213582.2A DE102022213582A1 (en) 2022-12-13 2022-12-13 Authentication device for a vehicle
PCT/DE2023/200241 WO2024125732A1 (en) 2022-12-13 2023-12-01 Authentication device for a vehicle

Publications (1)

Publication Number Publication Date
EP4635133A1 true EP4635133A1 (en) 2025-10-22

Family

ID=89322083

Family Applications (1)

Application Number Title Priority Date Filing Date
EP23828344.4A Pending EP4635133A1 (en) 2022-12-13 2023-12-01 Authentication device for a vehicle

Country Status (4)

Country Link
EP (1) EP4635133A1 (en)
CN (1) CN120303904A (en)
DE (1) DE102022213582A1 (en)
WO (1) WO2024125732A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102024209355A1 (en) * 2024-09-26 2026-03-26 Infineon Technologies Ag DEVICE FOR SECURE COMMUNICATION IN AN ETHERNET-BASED BUS SYSTEM AND METHOD FOR AUTHENTICATING ETHERNET FRAMES

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012216689B4 (en) * 2012-09-18 2017-05-04 Continental Automotive Gmbh Method for monitoring an Ethernet-based communication network in a motor vehicle
KR101371902B1 (en) * 2012-12-12 2014-03-10 현대자동차주식회사 Apparatus for detecting vehicle network attcak and method thereof
KR101472896B1 (en) * 2013-12-13 2014-12-16 현대자동차주식회사 Method and apparatus for enhancing security in in-vehicle communication network
DE102018213198A1 (en) * 2018-08-07 2020-02-13 Continental Teves Ag & Co. Ohg Method for monitoring the communication of a bus system in a vehicle
DE102018213898B4 (en) * 2018-08-17 2020-03-19 Continental Automotive Gmbh Monitoring a network connection for eavesdropping
DE102019220096B4 (en) * 2019-12-18 2021-09-16 Continental Automotive Gmbh Method for safeguarding the time synchronization of an Ethernet on-board network
DE102021202075A1 (en) * 2020-07-23 2022-01-27 Robert Bosch Gesellschaft mit beschränkter Haftung Procedures for validating messages

Also Published As

Publication number Publication date
DE102022213582A1 (en) 2024-06-13
CN120303904A (en) 2025-07-11
WO2024125732A1 (en) 2024-06-20

Similar Documents

Publication Publication Date Title
DE102013202064B4 (en) Method and device for connecting a diagnostic device to a control unit in a motor vehicle
EP3278529B1 (en) Attack detection method, attack detection device and bus system for a motor vehicle
DE102019130502A1 (en) Vehicle and method for in-vehicle message transmission
EP3501154A1 (en) Provision of secure communication in a communications network capable of operating in real time
DE112016003907T5 (en) Forwarding device
EP2842291B1 (en) Authentication of a first device by a switching centre
DE102019220096B4 (en) Method for safeguarding the time synchronization of an Ethernet on-board network
DE102016222740A1 (en) Method for a communication network and electronic control unit
WO2018077528A1 (en) Detection of manipulations in a can network by checking can identifiers
DE102020125262A1 (en) Warning system for controller area networks
DE102016222741A1 (en) Method for a communication network and electronic control unit
DE102017203185B4 (en) Motor vehicle with a divided into several separate domains data network and method for operating the data network
EP3641231A1 (en) Method and device for monitoring data communication
EP4635133A1 (en) Authentication device for a vehicle
DE102012210327A1 (en) Method for transferring e.g. motor rotation speeds in communication system of motor car, involves containing signature in useful information field of signature-messages, where field includes size preset according to preset specification
DE102016210625B4 (en) Methods and apparatus for testing accessibility of Ethernet network nodes in heterogeneous networks
DE10331307A1 (en) Device and method and security module for securing a data access of a communication subscriber to at least one automation component of an automation system
EP3688951A1 (en) Method for detecting an attack on a control device of a vehicle
EP3560153B1 (en) Method for operating a data processing system, and data processing system
DE102016212755B3 (en) Ethernet vehicle electrical system with protected configurability
DE102010028225A1 (en) Method for providing a communication for at least one device
DE102019125493A1 (en) Slave device, bus system and method
WO2018184786A1 (en) Method for configuring at least one device in a network, computer program and computer-readable storage medium
DE102022214195A1 (en) Method and computing unit for detecting unauthorized physical access to a bus system
DE102023123232A1 (en) VEHICLE NETWORK SECURITY

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20250714

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR

RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: AUMOVIO GERMANY GMBH

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)