DEFEATING DELAY ATTACKS IN A COMMUNICATION NETWORK

A communication network with challenge and function messages using freshness values and authentication codes addresses delay attacks, ensuring only fresh messages are accepted, enhancing security and reliability in vehicles and industrial applications.

DE102025109954B3Active Publication Date: 2026-05-28GM GLOBAL TECHNOLOGY OPERATIONS LLC
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
DE102025109954
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Filing Date
2025-03-14
Publication Date
2026-05-28
Estimated Expiration
2045-03-14

AI Technical Summary

Technical Problem

Existing communication networks are vulnerable to delay attacks, where unauthorized parties intercept and delay messages, making it difficult to detect when messages were delayed, especially in critical applications like automotive and aerospace, where even short delays can be harmful.

Method used

Implementing a communication network with sending and receiving nodes that periodically exchange challenge messages and function messages, using freshness values and message authentication codes to verify message integrity and freshness, ensuring that only up-to-date messages are accepted.

Benefits of technology

Effectively mitigates delay attacks by ensuring that only fresh messages are accepted, enhancing security and reliability in communication networks, particularly in vehicles and industrial applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A communication network for mitigating delay attacks comprises one or more sender nodes that communicate electronically with one or more receiver nodes. The one or more receiver nodes execute instructions to periodically send a challenge message to a sender node. In response to the acceptance of the challenge message and the determination that data is to be sent to the receiver node, the sender node sends a function message to the receiver node.In response to the finding that an updated freshness value is more recent than a current freshness value associated with the sender node, that a sender message authentication code is correct and consistent across at least one previous challenge message, and that the response to the challenge message from the receiver node is correct, the receiver node updates the current freshness value to match the updated freshness value and accepts the function message.
Need to check novelty before this filing date? Find Prior Art

Description

INTRODUCTION

[0001] The present disclosure relates to a communication network for mitigating delay attacks between a sender node and one or more receiver nodes, by having the one or more receiver nodes verify a freshness value and a message authentication code associated with the sender node.

[0002] A communication network comprises multiple computer devices, also called nodes, that send and receive information over a communication link. This link can be wired or wireless and implemented in either hardware or software. The communication link can be a point-to-point connection, where each pair of devices is directly connected and only transmits data to each other, or a bus connection, where multiple devices share the same communication link, with all devices on the bus receiving the same information from a single source. When the communication network is implemented in a vehicle, the nodes can be, but are not limited to, devices such as electronic control units (ECUs), smart sensors, and smart actuators.

[0003] A man-in-the-middle (MitM) attack occurs when an unauthorized party intercepts communication between two nodes in a network. In one instance, the unauthorized party might eavesdrop on one of the nodes or impersonate one. In another, the unauthorized party might perform a delay attack. In a delay attack, an unauthorized party withholds one of the messages transmitted by a sending node for a certain period of time. After this period, the unauthorized party can then forward the message received from the sending node to a receiving node. The receiving node, however, only checks whether the freshness value contained in the message is newer or more recent than a threshold or minimum freshness value. As long as the freshness value in the message is more recent than the minimum freshness value, the receiving node accepts the message.Therefore, there is currently no way to determine when a message was delayed for a certain period of time before being delivered to the receiving node. Furthermore, it should be noted that some systems in applications such as those in the automotive, aerospace, and manufacturing industries can be particularly vulnerable to delay attacks lasting even just a few milliseconds.

[0004] Even if communication networks fulfill their purpose, modern technologies necessitate a concept for containing or mitigating delay attacks. SUMMARY

[0005] A communication network for mitigating delay attacks is disclosed according to several aspects. The communication network comprises one or more sending nodes, one or more receiving nodes, and a communication link, wherein the one or more sending nodes communicate electronically with the one or more receiving nodes via the communication link. The one or more sending nodes and the one or more receiving nodes execute instructions for the periodic transmission, by a receiving node that is part of the one or more receiving nodes, of a challenge message to a sending node at a heartbeat time interval. The sending node accepts the challenge message.In response to the acceptance of the challenge message and the determination that data is to be transferred to the receiver node, the sender node sends a function message to the receiver node containing a sender message authentication code. This code is calculated based on a concatenation of an updated freshness value associated with the sender node, a payload, and the challenge message. Determining that the updated freshness value is more recent than a current freshness value associated with the sender node, that the sender message authentication code is correct and consistent across at least one previous challenge message from the receiver node, and that the challenge message from the receiver node is correct, the receiver node updates its current freshness value to match the updated freshness value and accepts the function message.

[0006] In another aspect, the challenge message contains a recipient nonce.

[0007] In another aspect, the challenge message contains a recipient message authentication code, which is generated based on the recipient nonce.

[0008] In one aspect, the challenge message is a challenge response to the challenge message, confirming that the receiver nonce contained in the challenge message is correct.

[0009] In another aspect, the updated freshness value is created by the sender node at the time the function message is generated.

[0010] In another aspect, the current freshness value represents a freshness value that is assigned to the sending node, as understood by the receiving node.

[0011] In one aspect, the receiver node confirms that the sender message authentication code is correct and consistent across a predefined number of previous challenge messages from the receiver node, where the predefined number is equal to or greater than 2.

[0012] In another aspect, the challenge message is implicitly included by the receiver node as part of the function message.

[0013] In another aspect, the one or more transmitter nodes and the one or more receiver nodes are one of the following components: an electronic control module (ECU) that controls one or more systems that are part of a vehicle, a smart sensor, and a smart actuator.

[0014] In one aspect, a communication network for mitigating delay attacks is disclosed. The communication network comprises one or more sending nodes, a plurality of receiving nodes, and a communication link, wherein the one or more sending nodes are in electronic communication with the plurality of receiving nodes via the communication link. The one or more sending nodes and the plurality of receiving nodes execute instructions to: periodically transmit a unique challenge message to a sending node through the plurality of receiving nodes at a heartbeat time interval, each unique challenge message corresponding to one of the plurality of receiving nodes. The sending node accepts the unique challenge messages.In response to the acceptance of unique challenge messages from the multitude of receiver nodes and the determination that data is to be transferred to two or more receiver nodes, the sender node sends a function message to the two or more receiver nodes, which contains an updated freshness value associated with the sender node, a payload containing unique challenge messages from the two or more receiver nodes, and a sender message authentication code calculated based on a concatenation of the freshness value, the payload, and the unique challenge messages from the two or more receiver nodes.In response to the finding that the updated freshness value is more recent than a current freshness value associated with the sender node, that the sender message authentication code is correct and consistent with at least one previous challenge message from a specific receiver node, and that the unique challenge message from the specific receiver node is correct, the respective receiver node updates its current freshness value to match the updated freshness value and accepts the function message.

[0015] In another aspect, the unique challenge message contains a receiver nonce.

[0016] In another aspect, the unique challenge message contains a recipient message authentication code, which is generated based on the recipient nonce.

[0017] In one aspect, the updated freshness value is created by the sender node at the time the function message is created.

[0018] In another aspect, the current freshness value represents a freshness value that is assigned to the sending node, as it is understood by the specific receiving node.

[0019] In another aspect, the unique challenge message of the receiver node is explicitly included as part of the function message.

[0020] In one aspect, a communication network for mitigating delay attacks in a vehicle is disclosed. The communication network comprises one or more transmitter nodes, one or more receiver nodes, wherein the one or more transmitter nodes and the one or more receiver nodes are an electronic control module (ECU) that controls one or more systems that are part of the vehicle, and a communication link. The one or more transmitter nodes are in electronic communication with the one or more receiver nodes via the communication link, and the one or more nodes execute instructions to initialize a transmitter node's state as unresponsive upon boot, with the one or more receiver nodes storing the transmitter node's state in a memory.The one or more receiver nodes start a heartbeat timer based on a heartbeat time interval and a liveliness timer based on a liveliness time interval, where the liveliness time interval is shorter than the heartbeat time interval. The one or more receiver nodes monitor the heartbeat timer until they detect that the heartbeat time interval has elapsed. In response to the detection that the heartbeat time interval has elapsed, the one or more receiver nodes transmit a challenge message to a transmitter node, resetting both the heartbeat timer and the liveliness timer. The challenge message contains a receiver nonce.One or more receiver nodes receive a response message from the sender node before the liveliness interval expires. This response message contains a sender message authentication code calculated by concatenating an updated freshness value associated with the sender node and the receiver nonce from the challenge message. Upon determining that the updated freshness value is more recent than the current freshness value, that the sender message authentication code is correct and matches the receiver nonce, and that the receiver nonce is correct, the current freshness value is updated to match the updated freshness value, the response message is accepted, and the sender node's status is set to responsive.

[0021] In another aspect, one or more receiver nodes accept function messages from the sender node when the sender node's status is determined to be responsive.

[0022] In another aspect, one or more receiver nodes accept reply messages from the sender node when the status of the sender node is determined to be either responsive or unresponsive.

[0023] In one aspect, the one or more receiver nodes execute instructions to receive a function message from the sender node, wherein the function message contains a secondary sender message authentication code calculated based on a concatenation of a secondary updated freshness value and a payload, and to compare the secondary updated freshness value with the current freshness value associated with the sender node to confirm that the secondary sender message authentication code is correct and consistent with at least one previous challenge message, and to confirm that the sender node's state is set to responsive.

[0024] In another aspect, one or more receiver nodes execute instructions to update the current freshness value to match the secondary updated freshness value and accept the function message from the sender node in response to the finding that the secondary updated freshness value is more recent than the current freshness value, that the secondary sender message authentication code is correct and consistent with at least one previous challenge message, and that the sender node's status is set to responsive.

[0025] Further areas of application will become apparent from the description given here. It is understood that the description and the specific examples serve only for illustration and are not intended to limit the scope of this disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] The drawings described here are for illustrative purposes only and are not intended to limit the scope of the present disclosure in any way. Fig. Figure 1 is a schematic diagram of a vehicle containing the disclosed communication network, wherein the communication network contains one or more transmitting nodes and one or more receiving nodes that communicate electronically with each other via a communication link, according to an exemplary embodiment; Fig. Figure 2 shows a unicast transmission through the in Fig. 1 Communication network shown with a single transmitter node and a single receiver node, according to an exemplary embodiment; Fig. 3 is a data flow diagram of the in Fig. 2 Unicast transmission shown, according to an exemplary embodiment; Fig. Figure 4A shows a multicast transmission through the device in Fig. 1 Communication network shown with a single transmitter node and a plurality of receiver nodes, according to an exemplary embodiment; Fig. 4B shows a further embodiment of the Fig. 4A Multicast transmission shown, according to an exemplary embodiment; Fig. Figure 5 shows another embodiment of the communication network, according to an exemplary embodiment; Fig. 6 is a process flow diagram that shows a procedure for receiving a response message from the sender node through the in Fig. 5 represents the receiver node shown, according to an exemplary embodiment; and Fig. 7 is a process flow diagram that shows a procedure for receiving a message by the receiver nodes from the in Fig. The transmitter node shown in section 5 represents an exemplary embodiment. DETAILED DESCRIPTION

[0027] The following description is for illustrative purposes only and is not intended to limit the present disclosure, its application or uses.

[0028] Fig. Figure 1 shows a schematic representation of an exemplary communication network 10, which is part of a vehicle 12. The communication network 10 comprises one or more transmitter nodes 20 and one or more receiver nodes 22, which communicate electronically with each other via a communication link 24. As can be seen in the figures, the transmitter nodes 20 are designated by the letter 'S' and the receiver nodes 22 by the letter 'R'. The communication link 24 is implemented either in hardware, such as a bus communication system, or wirelessly. In the Fig. In the embodiment shown in Figure 1, the communication network 10 is implemented as part of a vehicle, such as a sedan, truck, SUV, van, or motorhome, but not limited to these. However, it should be noted that Fig. Figure 1 is only an example, and the disclosed communication network 10 is not limited to a single vehicle. The communication network 10 can be implemented in a variety of other applications, such as control systems for industrial automation, in aerospace, and in autonomous mobile robots (AMRs).

[0029] In a non-restrictive embodiment, the communication link 24 is a bus based on a protocol such as the Switched Ethernet or the Controller Area Network (CAN) protocol. In another embodiment, the communication link 24 is implemented wirelessly based on a protocol such as the IEEE (Institute of Electrical and Electronics Engineers) 802.11 or IEEE 802.15 family of standards.

[0030] The one or more transmitter nodes 20 and the one or more receiver nodes 22 each represent computer devices containing one or more processors and memory. In a non-restrictive embodiment, the nodes 20, 22 represent electronic control modules (ECUs) that control one or more systems that are part of the vehicle 12. In another embodiment, the nodes 20, 22 can represent devices with at least one processor, such as intelligent sensors and intelligent actuators. In the Fig. In the embodiment shown in Figure 1, two transmitter nodes 20 and four receiver nodes 22 are depicted; however, it should be noted that Fig. 1 is merely exemplary and the communication network 10 is not limited to a specific number of sender and receiver nodes 20, 22.

[0031] As explained below, the communication network 10 mitigates delay attacks based on challenge messages and function messages exchanged between a sending node 20 and one or more receiving nodes 22. In the configuration described below and in Fig. In the embodiment shown in Figure 2, the communication network 10 is based on unicast transmission, in which a sender node 20 exchanges messages with a single receiver node 22. In another embodiment, which is shown in Figure 2, the communication network 10 is based on unicast transmission, in which a sender node 20 exchanges messages with a single receiver node 22. Fig. As shown in 4A-4B and described below, the communication network 10 is based on a multicast transmission.

[0032] As in Fig. As shown in 2, the receiver node 22 starts a timer based on a heartbeat time interval T when booting or starting up. h The heartbeat time interval T hspecifies the frequency with which the receiver node 22 checks the functionality of the transmitter node 20. In a non-restrictive embodiment, the value of the heartbeat time interval T can be h The intervals range from approximately ten milliseconds to approximately ten seconds. It becomes clear that a shorter heartbeat time interval T h This leads to a higher speed at which the receiver node 22 detects that the transmitter node 20 is not operational or unresponsive, while an extension of the heartbeat time interval T h leading to an improvement in the bandwidth of the communication network 10.

[0033] The receiver node 22 transmits periodically at the heartbeat time interval T h a challenge message 42 to the transmitter node 20. In one embodiment, the challenge message 42 contains a receiver nonce (N i ) and a recipient message authentication code ((MAC) (N i)), which is based on the receiver nonce N i is generated. It should be noted that in embodiments in which the receiver nonce N i It is difficult to predict that the challenge message 42 may omit the recipient message authentication code and only the recipient nonce N. i contains. For example, the receiver nonce N i due to the type of nonce used to generate the receiver N i The algorithm used may be difficult to predict. If the algorithm is simple, the receiver nonce N can be i be easy to predict. For example, if the algorithm generates a new receiver nonce by adding a fixed number to the previous receiver nonce N. i If added, then the receiver nonce is N. i easy to predict. As another example, the receiver nonce N itheir bit length makes them difficult to predict. In some implementations, where the heartbeat time interval T h is relatively long and the transmitter node 20 is instructed to send only one or a small number of challenge messages 42 in each heartbeat time interval T h To reply, the recipient nonce N i only 48 bits long to be difficult to predict, whereas in other implementations where the heartbeat time interval T h relatively short, the receiver nonce N i It can be 64 bits long, making it difficult to predict.

[0034] In response to receiving challenge message 42, sender node 20 either accepts or rejects challenge message 42. Specifically, sender node 20 can accept challenge message 42 by confirming that the receiver message authentication code is correct and that it matches the receiver nonce N. imatches. In an embodiment where the receiver message authentication code is omitted, the sender node 20 can validate the challenge message 42 by confirming the bit length of the receiver nonce N. i accept.

[0035] It should be noted that if sender node 20 accepts the challenge message 42, it implicitly recognizes receiver node 22 as alive or operational. Once sender node 20 has data to transmit to receiver node 22, it creates a function message 44, as described below. In response to sender node 20 rejecting the challenge message 42, it takes no action and implicitly considers receiver node 22 to be potentially unhealthy or unresponsive.

[0036] In one embodiment, if the receiver node 22 does not receive a function message 44 from the sender node 20 after transmitting a threshold of challenge messages 42, it can set a diagnostic trouble code (DTC) or a flag indicating that the sender node 20 is in a state of permanent unresponsiveness. The receiver node 22 can then stop querying the sender node 20 for operational readiness. The threshold for the number of challenge messages 42 can be a system parameter that depends on the specific application.

[0037] In response to the acceptance of challenge message 42 and the determination that data needs to be transferred to receiver node 22, sender node 20 creates function message 44 and sends it to receiver node 22. As can be seen from Table 1, function message 44 contains an updated freshness value (FV). Snew , which is assigned to sender node 20, a payload and the challenge message 42 from receiver node 22 (challenge). In particular, the function message 44 contains a sender message authentication code (sender MAC) which is based on a concatenation of the updated freshness value FV. Snew , the payload and the challenge message 42 from receiver node 22 (i.e., FV) Snew || Payload || Challenge). The challenge message 42 (Challenge), which is in the message authentication code (sender MAC) as a concatenation of the updated freshness value FV. SnewThe receiver nonce N, which is contained in the payload and the challenge message 42 from receiver node 22, is sent by receiver node 22. i . Table 1: Function message 44 updated Freshness value (FV) Snew ) Payload Sender-MAC (FV Snew || Payload || Challenge)

[0038] Thus, function message 44 serves as a response to challenge message 42 to confirm that the receiver nonce N contained in the last challenge message 42 has been accepted. i is correct. The updated Freshness value FV Snewis assigned to sender node 20 and is created by it at the time the function message 44 is created. Receiving a correct response to the challenge message 42 within a reasonable time interval confirms to receiver node 22 that sender node 20 is alive and that the response is indeed a new message originating from sender node 20. That is, the response is not an old message that was delayed and then resent by an attacker.

[0039] It is clear that challenge message 42 is implicitly included as part of function message 44. It should be noted that challenge message 42 is considered implicit because it is based on the chaining of the updated freshness value FV. Snew , a payload and the receiver nonce N sent by receiver node 22 i is calculated.

[0040] In one embodiment, the function message 44 can also contain additional information. For example, the sender message authentication code can include an identifier associated with the receiver node 22, referred to as the receiver identifier (receiver ID). The sender message authentication code (sender MAC) can include the receiver identifier in cases where a node pair (i.e., the sender node 20 and the receiver node 22) does not have separate sender / receiver keys. Thus, if another receiver node 22 intercepts the function message 44 intended for receiver node 22, the other receiver node 22 knows that the sender message authentication code (sender MAC) is not a valid response. In this way, the added receiver identifier (receiver ID) can help avoid confusion about the intended recipient of the function message 44.This cannot be achieved using message authentication codes because all sender and receiver nodes 20, 22 use the same MAC keys, making it difficult to determine which node 20, 22 among the affected sender and receiver nodes 20, 22 calculated a specific message authentication code. In another embodiment, shared session keys can be provided for each pair of nodes. Alternatively, separate session keys can be provided for each pair of nodes. In yet another embodiment, symmetric / asymmetric keys can be used instead.

[0041] In response to receiving function message 44 from sender node 20, receiver node 22 compares the updated freshness value FV. Snew with a current freshness value FV S, which is associated with sender node 20, confirms that the sender message authentication code (sender MAC) is correct and consistent across at least one previous challenge message 42 sent by receiver node 22, and confirms that the challenge message 42 contained as part of the function message 44 from receiver node 22 is correct (i.e., sender node 20 confirms that the receiver nonce N i , which is contained in Challenge message 42, is correct).

[0042] The current freshness value FV S represents a freshness value assigned to sender node 20 and understood by receiver node 22. Receiver node 22 maintains its own copy of the current freshness value FV. S The receiver node 22 can, for example, display the current freshness value FV. SStore the data in a special memory location. This special memory location could be, for example, non-volatile memory or fault-tolerant secure memory. Receiver node 22 updates the current freshness value FV. S only if the updated Freshness value FV Snew is greater than the value of the current freshness value FV stored in the special memory S and the sender message authentication code (sender MAC) is correct. Otherwise, receiver node 22 rejects function message 44 and retains the current freshness value FV. S unchanged.

[0043] In response to the finding that the updated Freshness value FV Snew more up-to-date than the current Freshness value FV S (i.e., the updated Freshness value FV) Snew is greater than the current freshness value FV S , or FV Snew > FV S), the sender message authentication code (sender MAC) is correct and consistent with at least one of the previous challenge messages 42 from receiver node 22, and the response to the challenge message 42, which is included as part of the function message 44 from receiver node 22, is correct, receiver node 22 updates the current freshness value FV S , so that it can use the updated Freshness value FV Snew in the special memory of receiver node 22 matches (i.e., FV) Snew = FV S ), and accepts function message 44 from sender node 20.

[0044] In a non-restrictive embodiment, after accepting the function message 44 from the sender node 20, the receiver node 22 can proceed to periodically send the challenge messages 42 at the heartbeat time interval T. hto send to the sender node 20. In an alternative embodiment, however, once the receiver node 22 has accepted the function message 44 from the sender node 20, it can stop sending the challenge messages 42 in the heartbeat time interval T for the remainder of the current session. h to transmit periodically to transmitter node 20. In the Fig. In the embodiment shown in Figure 1, in which the communication network 10 is implemented as part of the vehicle 12, one driving cycle is representative of one session. If the receiver node 22 rejects the function message 44 of the receiver node 22, the receiver node 22 can continue to periodically transmit data at the heartbeat time interval T. h Send the challenge message 42 to transmitter node 20.

[0045] As mentioned previously, in response to receiving the function message 44 from the sender node 20, the receiver node 22 confirms that the sender message authentication code (sender MAC) is correct and consistent across at least one previous challenge message 42 received by the receiver node 22. In some embodiments, the receiver node 22 confirms that the sender message authentication code (sender MAC) is correct and consistent across a predefined number n of previous challenge messages 42 from the receiver node 22, where the predefined number n is equal to or greater than 2. Although the predefined number n can be any value greater than or equal to 2, increasing the predefined number n also increases the possibility for an unauthorized party to perform a delay attack.It should also be noted that including more than one preceding challenge message 42 when confirming the sender message authentication code (sender MAC) prevents function messages 44 sent by sender node 20 after receiver node 22 has transmitted an updated challenge message 42, but before sender node 20 has had the opportunity to receive the updated challenge message 42, from being rejected by receiver node 22. An example of this situation is shown in the data flow diagram in [reference missing]. Fig. 3 shown.

[0046] As in Fig. As shown in Figure 3, receiver node 22 sends an initial challenge message 421 to sender node 20. After the heartbeat time interval T has elapsed... h The receiver node 22 then sends a second challenge message 422 to the sender node 20. As in Fig. As shown in Figure 3, sender node 20 sends a function message 44 containing a sender message authentication code (sender MAC) after receiver node 22 has sent a third challenge message 423, but before sender node 20 has received the third challenge message 423. The sender message authentication code (sender MAC) of function message 44 contains a response to the second challenge message 422 from receiver node 22. However, as long as the predefined number is at least 2, receiver node 22 can accept function message 44, which contains the response to the second challenge message 422 instead of the third challenge message 423 from receiver node 22.

[0047] Fig. Figure 4A shows another embodiment of the communication network 110, which is based on multicast transmission, in which a sender node 120 exchanges messages with a plurality of receiver nodes 122. In the Fig. In the embodiment shown in Figure 4A, the sender node 120 sends the function message 144 to a subset of the plurality of receiver nodes 122 that are part of the communication network 10. Specifically, the sender node 120 sends the function message 144 to the receiver nodes R A and R B , but not at the receiver node R C In another embodiment, which is described in Fig. As shown in Figure 4B, the sender node 120 sends the function message 144 to all receiver nodes 122 (R A , R B , R C ), which are part of the 110 communication network.

[0048] Referring to the two Fig. 4A and Fig. 4B periodically sends a unique challenge message 142 to the multitude of nodes 122 that are part of the communication network 10. x at transmitter node 120 with the heartbeat time interval T h , where each unique challenge message is 142 xcorresponds to one of the multitude of receiver nodes 122. In the Fig. 4A and Fig. In the embodiment shown in 4B, the receiver nodes R send A , R B , R C Specifically, each one is a unique challenge message 142 A , 142 B , 142 C at transmitter node 120.

[0049] In response to receiving the unambiguous challenge messages 142 x From each of the multitude of receiver nodes 122, the sender node 120 accepts each unique challenge message 142. x either she rejects it or he rejects it. In the Fig. In example 4A, the sender node 120 accepts the unique challenge messages 142. A , 142 B from the receiver nodes R A and R B , and in which in Fig. In example 4B, the sender node 120 accepts all unique challenge messages 142. A , 142 B , 142 C .

[0050] In response to the acceptance of the unambiguous challenge messages 142 x Upon receiving a signal that corresponds to two or more of the plurality of receiver nodes 122, and upon determining that data is to be transmitted to the two or more receiver nodes 122, the sender node 120 creates the function message 144 and transmits it to the two or more receiver nodes 122. As can be seen in Tables 2A and 2B below, the function message 144 contains an updated freshness value FV. Snew , a payload and the unambiguous challenge messages 142 x of the two or more receiver nodes 122 (Challenge) x ), which are accepted by sender node 120. In the example shown in Table 2A, the function message 144 contains two unique challenge messages 142. x (Challenge A Challenge B ), which belong to the in Fig. 4A shown receiver node R A , R Bcorrespond. In the example shown in Table 2B, the function message 144 contains three unique challenge messages 142. x (Challenge A Challenge B , Challengec), which belong to the in Fig. 4B shown receiver node R A , R B , R C correspond.

[0051] In the example shown in Table 2A, function message 144 contains a sender message authentication code (sender MAC) that is based on a concatenation of the updated freshness value FV. Snew , the payload and the two or more unique challenge messages 142 x , which were received by the two or more receiver nodes 122, is calculated (i.e. FV Snew || Payload || Challenge A || Challenge BIn the example shown in Table 2B, function message 144 contains a sender message authentication code (sender MAC) based on a concatenation of the updated freshness value FV. Snew , the payload and the two or more unique challenge messages 142 x , which were received by all receiver nodes 122, is calculated (i.e., FV) Snew || Payload || Challenge A || Challenge B || Challenge C It is understood that each receiving node knows where its respective challenge is located within function message 144. Table 2A: Function message 144 updated Freshness value (FV) Snew ) Payload Challenge A Challenge B Sender-MAC (FV Snew || Payload ||Challenge A || Challenge B ) Table 2B: Function message 144 updated Freshness value (FV) Snew ) Payload Challenge A Challenge B Challenge C Sender-MAC (FV Snew ||Payload || Challenge A ||Challenge B || Challenge C )

[0052] It is understood that the two or more unique challenge messages 142x are explicitly included as part of the function message 144. In other words, the two or more unique challenge messages 142x are considered explicit because the challenge messages 142x are part of the function message 144 itself.

[0053] In response to receiving the function message 144 from sender node 120, a specific receiver node 122 can then update the freshness value FV. Snew with the current freshness value FV S Compare and confirm that the sender message authentication code (sender MAC) is correct and consistent across at least one previous challenge message 142. x is, and confirm that the unique challenge message 142 x is correct from receiver node 122 (i.e., sender node 120 confirms that the information in challenge message 142 is correct). x included receiver nonce N i(is correct). The current Freshness value FV S represents a freshness value assigned to sender node 120, as understood by the specific receiver node 122. For example, if the specific receiver node 122 understands receiver node R A If so, then the current freshness value FV represents S represents a freshness value assigned to the sender node 120, as received by the receiver node R A is understood.

[0054] In response to the finding that the updated Freshness value FV Snew compared to a current freshness value FV S More recently, the sender message authentication code (sender MAC) must be correct and consistent across at least one previous challenge message 142. x from the specific receiver node 122, and that the unique challenge message is 142 xIf the specified receiver node 122 is correct, the specified receiver node 122 updates the current freshness value FVs to match the updated freshness value FV. Snew within the specific memory of the particular receiver node 122 to match (i.e., FV) Snew = FVs), and accepts the function message 144 from sender node 120.

[0055] Fig. Figure 5 shows another embodiment of the communication network 210. In the Fig. In the embodiment shown in Figure 5, the communication network 210 comprises two receiver nodes 222 and is based on multicast transmission. However, it is understood that in other embodiments the communication network 210 can also be based on unicast transmission. During startup, the one or more receiver nodes 222 initialize the status of the sender node 220 as unresponsive. The one or more receiver nodes 222 store the status of the sender node 220 in memory. The one or more receiver nodes 222 also start a heartbeat timer based on the heartbeat time interval T. h based on, as well as a liveliness timer, which is based on a liveliness time interval T L based on the liveliness time interval T L is smaller than the heartbeat time interval T h , or T L < T h .

[0056] It should be noted that the one or more receiver nodes 222 accept function messages 244 from the sender node 220 if the sender node 220 is responsive. In other words, the one or more receiver nodes 222 are unable to accept function messages 244 from the sender node 220 if the sender node 220 is unresponsive. However, the one or more receiver nodes 222 accept response messages 246 from the sender node 220 if the sender node 220 is either responsive or unresponsive. The response messages 246 represent a dedicated reply generated by the sender node 220 in response to receiving the challenge message 242 from a receiver node 222. In the Fig. In the embodiment shown in Figure 5, the function message 244 therefore does not contain a response to the challenge message 242 of the sender node 220.

[0057] In response to the finding that the heartbeat timer has expired and the heartbeat time interval T h Once the time has elapsed, one or more receiver nodes 222 send the challenge message 242 and reset both the heartbeat timer and the liveliness timer. As mentioned above, the challenge message 242 can be sent to the receiver nonce (N i ) and the recipient authentication code ((MAC) (N i )) contained, which is based on the receiver nonce (N i ) was generated, or alternatively, the challenge message 242 can only be the receiver nonce (N i ) contained if the receiver nonce (N i ) is difficult to predict.

[0058] In response to receiving challenge message 242, sender node 220 either accepts or rejects the challenge message 242. If challenge message 242 is accepted, sender node 220 creates a response message 246 and sends it to receiver node 222. As shown in Table 3 below, response message 246 contains the updated freshness value FV. Snew , which is assigned to the sender node 220, and the receiver nonce (N i ) from the challenge message 242. In particular, the response message 246 contains a sender message authentication code (sender MAC) that is based on a concatenation of the updated freshness value FV. Snew , which is assigned to the sender node 220, and the receiver nonce (N i) is calculated from the challenge message 242. It should be noted that the response message 246 does not contain any payload. Instead, the function message 244 contains the payload, as shown in Table 4 below. The updated freshness value FV Snew is linked to the sender node 220 and is created by it at the time the response message 246 is generated. The receiver nonce (N) is shown in Table 3. i ) from the challenge message 242 is implicitly represented as part of the response message 246; in another embodiment, the receiver nonce (N i ) from the challenge message 242, but also explicitly as part of the reply message 246. Table 3: Reply message 246 updated Freshness value (FV) Snew ) Transmitter MAC (FV Snew || Receiver nonce (N i ))

[0059] In response to receiving the reply message 246, it compares before the liveliness timer expires and the liveliness time interval T Lhas expired, a specific receiver node 222 has the updated freshness value FV Snew with the current freshness value FV S , which is linked to sender node 220, confirms that the sender message authentication code (sender MAC) is correct and matches the receiver nonce N i is consistent, and confirms that the receiver nonce N i is correct. In response to the finding that the updated Freshness value FV Snew more up-to-date than the current Freshness value FV S (FV Snew > FV S ) that the sender message authentication code (sender MAC) is correct and matches the receiver nonce N i agrees, and that the receiver nonce N i If correct, one or more receiver nodes 222 will update the current freshness value FV. S , to apply the updated Freshness value FV Snew (i.e. FV) Snew = FV SIf the receiver node 222 can compare the response message 246 within its special memory, it accepts the response message 246 and sets the status of the sender node 220 to responsive. Otherwise, one or more receiver nodes 222 reject the response message 246 and set the status of the sender node 220 to unresponsive.

[0060] As mentioned previously, the specific receiver node 222 can now accept function messages 244 from the sender node 220 when the status of the sender node 220 is set to "responsive". It is evident that, in response to the detection that the liveliness timer has expired and no response message 246 has been received from the sender node 220, one or more receiver nodes 222 can set the status of the sender node 220 to unresponsive.

[0061] Fig. Figure 6 is a process flow diagram that shows a procedure 600 for receiving the reply message 246 from the one in Fig. The transmitter node 220 shown in Figure 5 is illustrated by one or more receiver nodes 222. With reference to Fig. 5 and Fig. Procedure 600 can begin with block 602. In block 602, the one or more receiver nodes 222 initialize the status of the transmitter node 220 as unresponsive during startup, and the one or more receiver nodes 222 store the status of the transmitter node 220 in memory. The one or more receiver nodes 222 also start the heartbeat timer based on the heartbeat time interval T. h and the liveliness timer based on the liveliness time interval T L , where the liveliness time interval T L is smaller than the heartbeat time interval T h , or T L < T hThe one or more receiver nodes 222 also transmit a challenge message 242 to the sender node 220. The procedure 600 can then proceed to the decision block 604.

[0062] In decision block 604, one or more receiver nodes 222 monitor the heartbeat timer until they determine that the heartbeat timer has expired and the heartbeat time interval T h has elapsed. In response to the finding that the heartbeat timer has expired and the heartbeat time interval T has elapsed. h Once the time has elapsed, procedure 600 can continue with block 606.

[0063] In block 606, one or more receiver nodes 222 transmit the challenge message 242 to the transmitter node 220 and reset both the heartbeat timer and the liveliness timer. The process 600 can then proceed to decision block 608.

[0064] In decision block 608, the one or more receiver nodes 222 continue to monitor the liveliness timer to determine when the liveliness time interval T L The time interval has expired. In response to the finding that the liveliness time interval has not expired, procedure 600 can proceed to decision block 610.

[0065] In decision block 610, the one or more receiver nodes 222 determine whether the reply message 246 has been received by the sender node 220. If the reply message is not received, procedure 600 returns to block 608. Otherwise, procedure 600 may proceed to decision block 612.

[0066] In decision block 612, one or more receiver nodes 222 compare the updated freshness value FV. Snew with the current freshness value FV S, which is assigned to sender node 220, confirms that the sender message authentication code (sender MAC) is correct and matches the receiver nonce N i agrees, and confirms that the recipient nonce N i is correct. In response to the finding that the updated Freshness value FV Snew more up-to-date than the current Freshness value FV S (FV Snew > FV S ) that the sender message authentication code (sender MAC) is correct and matches the receiver nonce N i agrees, and that the receiver nonce N i If the information is correct, procedure 600 can continue with block 614. Otherwise, procedure 616 proceeds to block 222.

[0067] In block 614, one or more receiver nodes 222 update the current freshness value FV. S , so that it can use the updated Freshness value FV Snew (i.e. FV) SnewIf the response message 246 matches the value of the sender node 220 (FVs) within the special memory of one or more receiver nodes 222, the sender node 220 accepts the response message 246 and sets the status of the sender node 220 to responsive. The procedure 600 can then return to block 604.

[0068] Returning to decision block 608: In response to the finding that the liveliness timer has expired and the liveliness time interval T L Once the time has elapsed, procedure 600 can return to block 604.

[0069] In block 616, one or more receiver nodes 222 reject the reply message 246 and set the status of the sender node 220 to unresponsive. The procedure 600 can then return to block 604.

[0070] Back to Fig. 5: After transmitting the response message 246 and determining that data is to be transferred to receiver node 222, the sender node 220 creates the function message 244 and transmits it to the one or more receiver nodes 222. As shown in Table 4 below, the function message 244 contains a secondary updated freshness value FV. Snew2 , which is associated with sender node 220 and the payload. In particular, function message 244 contains a secondary sender message authentication code (sender MAC2) based on a concatenation of the secondary updated freshness value FV. Snew2 and the payload (i.e. FV) Snew2 || Payload) is calculated. The secondary updated freshness value FV Snew2 is linked to the sender node 220 and is created by it at the time of the generation of the function message 244. Table 4: Function message 244 updated Freshness value (FV) Snew2 ) Payload Sender-MAC2 (FV Snew2 || Payload)

[0071] In response to receiving function message 244 from sender node 20, receiver node 222 compares the secondary updated freshness value FV. Snew2 with a current freshness value FVs associated with sender node 220, confirms that the secondary sender message authentication code (sender MAC2) is correct and consistent across at least one previous challenge message 242 received by receiver node 222, and that the status of sender node 220 is set to responsive. In response to the finding that the secondary updated freshness value FV Snew2Compared to the current freshness value FV, if the secondary sender message authentication code (sender MAC2) is correct and consistent across at least one previous challenge message 242 received by receiver node 222, and if the status of sender node 220 is set to "responsive", then one or more receiver nodes 222 update the current freshness value FV. S , so that it can be updated with the secondary Freshness value FV Snew2 within the special memory of receiver node 222 matches (i.e., FV) Snew2 = FV S ), and accepts the function message 244 from sender node 220. Otherwise, the function message 244 is rejected.

[0072] As long as the secondary updated Freshness value FV Snew2 compared to the current Freshness value FV SIf the secondary sender message authentication code (sender MAC2) is more recent and is correct and consistent across at least one previous challenge message 242 received by receiver node 222, the one or more receiver nodes 222 update the current freshness value FV. S so that it is updated with the secondary Freshness value FV Snew2 within the special memory of receiver node 222 matches (i.e., FV) Snew2 = FVs), regardless of the status of transmitter node 220.

[0073] Fig. Figure 7 is an exemplary process flow diagram illustrating a procedure 700 for receiving a message by one or more receiver nodes 222 from the one in Fig. The transmitter node 220 shown in Figure 5 illustrates this, where the message is either the response message 246 or the function message 244. Referring to Fig. 6 and Fig.Procedure 700 can begin with block 702. In block 702, one or more receiver nodes 222 receive a message from the sender node 220. Procedure 700 can then proceed to decision block 704.

[0074] In decision block 704, one or more receiver nodes 222 compare either the updated freshness value FV Snew with the current freshness value FV S , which is assigned to the sender node 220 if the message is a challenge message 242, or the secondary updated freshness value FV Snew2 with the current freshness value FVs assigned to sender node 220, if the message is a function message 244. In response to the finding that either the updated freshness value FV Snew compared to the current freshness value FVs, or the secondary updated freshness value FV Snew2compared to the current Freshness value FV S If the message is more up-to-date, procedure 700 continues with decision block 706. Otherwise, the message is rejected by the one or more receiving nodes 222, and procedure 700 can be terminated.

[0075] In decision block 706, the one or more receiver nodes 222 confirm that the secondary sender message authentication code (sender MAC2) from either the response message 246 or the function message 244 is correct and consistent across at least one previous challenge message 242 received by the receiver node 222. In response to the finding that the secondary sender message authentication code (sender MAC2) from either the response message 246 or the function message 244 is correct and consistent across at least one previous challenge message 242 received by the receiver node 222, procedure 700 may proceed to block 708. Otherwise, procedure 700 may terminate.

[0076] In block 708, one or more receiver nodes 222 update the current freshness value FV. S , so that it either uses the updated Freshness value FV Snew agrees (i.e., FV)Snew2 = FVs), if the message is reply message 246, or with the secondary updated freshness value FV Snew2 , if the message is the function message 244 in the special memory of the receiver node 222. The procedure 700 can then proceed to the decision block 710.

[0077] In decision block 710, upon determining that the message is response message 246, the process proceeds to block 712. In block 712, the one or more receiver nodes 222 set a value in memory indicating that response message 246 to the last challenge message 242 has been received (i.e., response received = TRUE), and procedure 700 can terminate. Otherwise, if the message is function message 244, procedure 700 proceeds to block 714.

[0078] In block 714, one or more receiver nodes 222 check the status of the sender node 220. Upon determining that the status of the sender node 220 is unresponsive, one or more receiver nodes 222 reject the function message 244, and procedure 700 is terminated. Otherwise, procedure 700 proceeds to block 714.

[0079] In block 714, the one or more receiver nodes 222 accept the function message 244 from the sender node 220. The procedure 700 can then be terminated.

[0080] With general reference to the figures, the disclosed communication network offers various technical effects and advantages. In particular, the disclosed communication network provides several approaches for mitigating delay attacks between the sending node and one or more receiver nodes by identifying time delays in messages sent by the sending node. The one or more receiver nodes identify time delays by checking the freshness value and the message authentication code in the messages received from the sending node. In embodiments, the receiver nodes use liveness to verify whether the sending node is still alive or active and to detect time delays.

[0081] The nodes can refer to or be part of an electronic circuit, a combinational logic circuit, a field-programmable gate array (FPGA), a (shared, dedicated, or grouped) processor that executes code, or a combination of some or all of the above, such as in a system-on-a-chip. Furthermore, the controllers can be microprocessor-controlled, such as a computer with at least one processor, memory (RAM and / or ROM), and associated input and output buses. The processor can operate under the control of an operating system residing in memory. The operating system can manage the computer's resources so that the computer program code, embodied as one or more computer software applications (e.g., an application residing in memory), can direct instructions from the processor to be executed.In an alternative embodiment, the processor can execute the application directly; in this case, the operating system can be omitted.

[0082] The description of the present revelation is merely exemplary, and variations that do not deviate from the core of the present revelation shall fall within its scope of protection. Such variations are not to be considered a deviation from the spirit and scope of the present revelation. Figure captions for Figs. 6 and 7: Yes No

Claims

[1] Communication network for mitigating delay attacks, wherein the communication network comprises: one or more transmitter nodes; one or more receiver nodes; and a communication link, wherein the one or more sending nodes communicate electronically with the one or more receiving nodes via the communication link, and wherein the one or more sending nodes and the one or more receiving nodes execute instructions to: periodic sending, by a receiver node that is part of one or more receiver nodes, of a challenge message to a sender node in a heartbeat time interval; Acceptance of the challenge message by the sender node; In response to the acceptance of the challenge message and the determination that data is to be sent to the receiver node: the sender node sends a function message to the receiver node containing a sender message authentication code calculated based on a concatenation of an updated freshness value associated with the sender node, a payload, and the challenge message; and In response to the finding that the updated freshness value is more recent compared to a current freshness value associated with the sender node, that the sender message authentication code is correct and consistent across at least one previous challenge message from the receiver node, and that the challenge message from the receiver node is correct: Update, by the receiver node, the current freshness value so that it matches the updated freshness value, and accept the function message. [2] Communication network according to claim 1, wherein the challenge message contains a receiver nonce. [3] Communication network according to claim 2, wherein the challenge message contains a receiver message authentication code generated on the basis of the receiver nonce. [4] Communication network according to claim 2, wherein the challenge message is a challenge response to the challenge message, confirming that the receiver nonce contained in the challenge message is correct. [5] Communication network according to claim 1, wherein the updated freshness value is created by the sender node at the time of creation of the function message. [6] Communication network according to claim 1, wherein the current freshness value represents a freshness value that is assigned to the sending node as understood by the receiving node. [7] Communication network according to claim 1, wherein the receiver node confirms that the sender message authentication code is correct and consistent over a predefined number of previous challenge messages from the receiver node, and wherein the predefined number is equal to or greater than 2. [8] Communication network according to claim 1, wherein the challenge message is implicitly included by the receiver node as part of the function message. [9] Communication network according to claim 1, wherein the one or more transmitter nodes and the one or more receiver nodes are one of the following components: an electronic control module (ECU) controlling one or more systems that are part of a vehicle, a smart sensor and a smart actuator. [10] Communication network for mitigating delay attacks, wherein the communication network comprises: one or more transmitter nodes; a multitude of receiver nodes; and a communication link, wherein the one or more sending nodes are in electronic communication with the plurality of receiving nodes via the communication link, and wherein the one or more sending nodes and the plurality of receiving nodes execute instructions to: periodic sending, through the multitude of receiver nodes, of a unique challenge message to a sender node in a heartbeat time interval, wherein each unique challenge message corresponds to one of the multitude of receiver nodes; Acceptance of the unambiguous challenge messages by the sender node; In response to the acceptance of the unique challenge messages from the multitude of receiver nodes and the determination that data is to be sent to two or more receiver nodes: sending, by the sender node, a function message to the two or more receiver nodes, which contains an updated freshness value associated with the sender node, a payload containing unique challenge messages from the two or more receiver nodes, and a sender message authentication code calculated based on a concatenation of the updated freshness value, the payload, and the unique challenge messages from the two or more receiver nodes; and In response to the finding that the updated freshness value is more recent than a current freshness value associated with the sender node, that the sender message authentication code is correct and consistent across at least one previous challenge message from a specific receiver node, and that the unique challenge message from the specific receiver node is correct: the specific receiver node updates the current freshness value to match the updated freshness value and accepts the function message.

Citation Information

Patent Citations

  • Extensible CAN bus safety communication method and device for large-scale in-vehicle network

    CN113132098A

  • Methods for protecting sensor data from manipulation and sensors for this purpose

    DE102009045133A1

  • Timestamp-based method for protection against replay attacks

    DE102020003328A1

  • Username based authentication security

    US20090300364A1

  • Fast CAN message authentication for vehicular systems

    US9705678B1