Method and apparatus for processing data associated with a communication system

A freshness window and logbook system in communication systems like CAN, CAN FD, or CAN XL addresses replay attacks by ensuring only fresh messages are processed, enhancing security and reducing re-ordering risks.

DE102024201665A1Pending Publication Date: 2025-08-28ROBERT BOSCH GMBH
View PDF 11 Cites 0 Cited by

Patent Information

Application Number
DE102024201665
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-02-22
Publication Date
2025-08-28

AI Technical Summary

Technical Problem

Existing communication systems, particularly those based on CAN, CAN FD, or CAN XL, are vulnerable to replay attacks due to the lack of effective freshness value protection, leading to potential misinterpretation of message order and increased susceptibility to attacks.

Method used

Implementing a freshness window and logbook system to manage and track freshness values, where messages within a defined freshness window are accepted, and messages outside or previously received are discarded, thereby preventing replay attacks.

Benefits of technology

Enhances security against replay attacks by ensuring only fresh messages are processed, reducing the risk of message re-ordering and improving overall system integrity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A method for processing data associated with a communication system, comprising: managing a set of, for example, one or more values ​​for a first parameter that characterizes a timeliness of a message receivable via the communication system, wherein, for example, the set has at least a first subset that has, for example, one or more possible values ​​for the first parameter and at least a second subset that has, for example, one or more historical values ​​for the first parameter, evaluating a parameter value of the received message that characterizes a timeliness of a message received via the communication system based on the set.
Need to check novelty before this filing date? Find Prior Art

Description

State of the art

[0001] The disclosure relates to a method for processing data associated with a communication system.

[0002] The disclosure relates to an apparatus for processing data associated with a communication system. Disclosure of the invention

[0003] Some examples relate to a method, for example a computer-implemented method, for processing data associated with a communication system, comprising: managing a set of, for example, one or more values ​​for a first parameter that characterizes a timeliness of a message receivable via the communication system, wherein, for example, the set has at least a first subset that has, for example, one or more possible values ​​for the first parameter and at least a second subset that has, for example, one or more historical values ​​for the first parameter, evaluating a parameter value of the received message that characterizes a timeliness of a message received via the communication system based on the set.

[0004] In some examples, security against attacks, such as so-called replay attacks, in which messages are sent repeatedly, can be increased by the principle according to the disclosure.

[0005] In some examples, the communication system is or has a serial bus system, such as a CAN (Controller Area Network) or CAN FD (CAN Flexible Data Rate) or CAN XL. In some examples, the communication system is of a different type or is not based on CAN, for example.

[0006] In some examples, the parameter value is a so-called freshness value, e.g. a value that characterizes the timeliness of a message that can be received via the communication system.

[0007] In some examples, an aspect, for example a property, of a message that can be transmitted (e.g., sent and / or received) via the communication system is the so-called “freshness” or timeliness of the message.

[0008] In some examples, so-called "replay" attacks can be detected or defended against by using the freshness or timeliness of the message. This is where an attacker records a validly sent message and sends it again at a later time via the communication system, i.e. "replays" it.

[0009] In some conventional approaches, where, for example, the freshness of a message cannot be protected, the same message may be sent by an attacker at least a second time and received as valid by a conventional receiver.

[0010] In some examples, the freshness of messages can be ensured or protected by using a freshness value, for example, the first parameter described above, which characterizes the freshness of a message receivable via the communication system. In some examples, a freshness value or the freshness of a message can be characterized or represented, for example, by a packet number and / or a timestamp, where, for example, the packet number and / or the timestamp can be sent as part of the message.

[0011] In some examples, the freshness value, for example the first parameter mentioned according to the disclosure, can be checked by a recipient of the message, for example, whereby old messages (e.g. messages with the same value of the first parameter that may have been sent repeatedly by an attacker) can be detected.

[0012] In some communication systems, which have a transmission medium shared between several participants (e.g. "shared medium"), such as CAN, CAN FD or CAN XL, it can happen in some examples that packets or messages ready for transmission are re-sorted within a participant, e.g. bus participant, e.g. node, e.g. based on a priority (e.g. characterizable by a "Priority ID") of a data frame ("frame").

[0013] In some examples, such reordering can take place both in a source node and in a forwarding node. For example, in some examples, a node sends high-priority messages at least temporarily before low-priority messages (e.g., due to so-called "internal arbitration"). This can result in an older, low-priority message being sorted behind a newer, high-priority message in some examples. If, for example, the old, low-priority message is finally received, the receiver could already assume a new freshness value, namely based on the previous receipt of the high-priority message. This could lead to the receiver, for example in some conventional approaches, mistakenly discarding the old message as "replayed."

[0014] In some conventional systems, one approach to prevent this reordering problem is to allow only one priority ID, e.g. per group, e.g. per CANsec group (e.g., this can be described as a “dedicated priority ID solution”).

[0015] In some examples based on the present disclosure, however, the specified set, e.g., with the first and second subsets, is used, for example, in the sense of a so-called "freshness window." In some examples, for example, freshness values ​​within a specific, defined range, e.g., the freshness window, are accepted by a message recipient. In some examples, for example, messages with a freshness value (e.g., the value of the first parameter) outside the freshness window are not accepted or not processed.

[0016] In some examples, the set has a first number of possible freshness values, where, for example, the first number is associated with a freshness window. For example, the first number is characterizable by the first subset.

[0017] In some examples, a freshness window F can be used as follows. Let n be the last received freshness value. Then, for example, every message with freshness value t is accepted if n+1−F≤t≤n+1.

[0018] In other words, in some examples, a received message is accepted, for example evaluated, if its freshness value t lies between or on the boundaries n+1-F, n+1 of the freshness window F.

[0019] In some examples, the set includes a second number of freshness values, for example, historical freshness values, which can be characterized, for example, by a freshness log. For example, the second number can be characterized by the second subset. In other words, the second subset or the freshness log can include those freshness values ​​that have already been received with at least one message. In some examples, this allows a recipient to determine, for example, whether a message with one or the same freshness value has already been received, thus potentially indicating a replay attack.

[0020] In some examples, the method comprises: determining whether the parameter value (e.g. freshness value) of the received message is contained in the first subset, for example determining whether the parameter value of the received message is contained in a or the freshness window, determining whether the parameter value of the received message is contained in the second subset, for example determining whether the parameter value of the received message is contained in a or the freshness log.

[0021] In some examples, the method comprises: processing at least a portion of the received message if the determining results in the parameter value of the received message being contained in the first subset (e.g., being contained in the freshness window), and if the determining results in the parameter value of the received message not being contained in the second subset (e.g., not having been previously received).

[0022] In some examples, the method comprises: omitting processing, for example discarding, the message if a) the determination shows that the parameter value of the received message is not contained in the first subset (e.g., it is outside the freshness window), and / or if b) the determination shows that the parameter value of the received message is contained in the second subset (e.g., it has already been received previously).

[0023] In some examples, the method comprises: including the parameter value of the received message in the second subset (e.g., updating the freshness log), for example, if an evaluation of the parameter value of the received message, e.g., preceding the inclusion, has shown that the parameter value of the received message is not contained in the second subset.

[0024] In some examples, the method comprises: adapting the first subset, e.g., updating the freshness window, e.g., based on the evaluation, e.g., after receiving a message.

[0025] In some examples, the method comprises at least one of the following elements: a) representing the second subset, for example the freshness logbook, by means of an information element, for example a bit field, in which each bit characterizes a possible, for example already occurred, value for the first parameter, or b) using an information element comprising several bits, for example a bit field, for the second subset, for example the freshness logbook, wherein, for example, the information element, for example a bit field, has 32 bits or 64 bits.

[0026] Further examples and aspects are given below, for example for an efficient implementation of a freshness logbook according to some examples.

[0027] In order to manage, for example, track, freshness values ​​that have already been received or evaluated, e.g. "seen", as efficiently as possible, one or more of the aspects described below can be used in some examples.

[0028] In some examples, a freshness window F has a size of 32 or 64 entries, or less.

[0029] In some examples, a freshness log can be implemented as a register (e.g., a memory register of a computing device) and / or as a variable of size “F bit”, whereby the memory register or variable has as many bits as the freshness log has possible entries.

[0030] In some examples, received, for example "seen" freshness values ​​tx are marked, e.g. "tagged", for example by setting the x-th bit in the memory register for the freshness logbook ("logbook register"). In some examples, a freshness value "tx" designates a point in time tx, for example x many time units before a point in time t. In some examples, therefore, the following corresponds to: a) the 0-th bit of the logbook register corresponds to the current last seen freshness value t, b) the 1-th bit to a possible seen freshness value t-1, c) the (F-1)-th bit to a possible seen freshness value tF-1. In some examples, this means that the logbook register has a current status as follows: [1; 0; 0; 1; 1], where the 0th bit is on the left, e.g. for seen freshness values ​​tA, tA-3, and tA-4.

[0031] In some examples, if a new message with freshness value t0 is received, several cases can occur: A) The new freshness value t' is newer than the last current freshness value t. In this case, for example, both the freshness window and the freshness log can be adjusted. In some examples, for example, a distance t'-t = x can be determined. The receiver can then, for example, update the last seen, current freshness value and, for example, to t'. In some examples, the freshness log, e.g. in the form of the log register, is also updated to the new reference point t', for example by bitshifting (moving bits) by x positions, and if necessary subsequently setting the 0 bit in the log register (which now corresponds to, for example, t'). B) The new freshness value t' is older than the last current freshness value t. In this case, the freshness window is used in some examples. The receiver calculates, for example, tt' = y and checks whether y < F. If this is the case, t' can be set in the logbook, e.g. tracked. If, for example, t' has not been seen yet, i.e. y bit in the logbook register is not set, in some examples the y bit in the logbook register can be set. In this case, the message can be regarded as valid (e.g. "fresh") and / or processed further, for example. If t' has already been seen, i.e. the y bit in the logbook register is already set, the message is recognized as a replayed message in some examples.

[0032] In some examples, a further optimization of the logbook is to exclude the 0th bit, which corresponds, for example, to the last seen freshness value, from the logbook because this is already explicitly stored as the most recent freshness value. Thus, in some examples, a 32-bit logbook can manage, for example, back up, a total of 32+1 freshness values ​​(e.g., the most recent freshness value plus the 32 freshness values ​​t-1, ..., tF from the logbook).

[0033] In some examples, the method comprises: receiving a message, determining whether the parameter value, e.g. freshness value, of the received message is newer than a last, e.g. current, parameter value, e.g. freshness value.

[0034] In some examples, the method comprises at least one of the following elements: a) if the parameter value, for example freshness value, of the received message is newer than the last, for example current, parameter value, updating at least a part of the set, wherein, for example, the updating comprises: updating the first subset, and / or updating the second subset, or b) if the parameter value, for example freshness value, of the received message is not newer, for example older, than the last, for example current, parameter value, evaluating the parameter value, for example freshness value, of the received message with respect to the first subset, wherein, for example, the evaluating comprises determining whether the parameter value, for example freshness value, of the received message is contained in the first subset, for example is contained in the current freshness window,or c) updating the second subset, for example the freshness log, for example if the parameter value, for example freshness value, of the received message is not already contained in the second subset, for example the freshness log, or d) inferring an attack, for example a replay attack, if the parameter value, for example freshness value, of the received message is already contained in the second subset, for example the freshness log.

[0035] In some examples, the method comprises: managing a plurality of sets of, for example, one or more, values ​​for a first parameter that characterizes a timeliness of a message of a respective sender that can be received via the communication system, wherein, for example, a set of the plurality of sets is associated with a respective sender, evaluating a parameter value of the received message that characterizes a timeliness of a message of a specific sender received via the communication system based on the respective set associated with the sender.

[0036] In some examples, the method comprises at least one of the following elements: a) managing a plurality of freshness windows, each of the plurality of freshness windows being associated with a respective sender, or b) managing a plurality of freshness logs, each of the plurality of freshness logs being associated with a respective sender, or c) evaluating a parameter value of the received message characterizing a freshness of a message received via the communication system from a specific sender based on at least one of the following elements: c1) freshness window associated with the specific sender, or c2) freshness log associated with the specific sender.

[0037] Some examples relate to an apparatus for carrying out the method according to the disclosure.

[0038] Some examples relate to a product, for example a transmitter and / or receiver, or control device, for example for a motor vehicle, comprising at least one device according to the disclosure.

[0039] Some examples relate to a computer-readable storage medium comprising instructions that, when executed by a computer, cause the computer to perform the method according to the disclosure.

[0040] Some examples relate to a computer program comprising instructions that, when executed by a computer, cause the computer to carry out the method according to the disclosure.

[0041] Some examples relate to a data carrier signal that characterizes and / or transmits the computer program according to the disclosure.

[0042] Some examples relate to a use of the method according to the disclosure and / or the device according to the disclosure and / or the product according to the disclosure and / or the computer-readable storage medium according to the disclosure and / or the computer program according to the disclosure and / or the data carrier signal according to the disclosure for at least one of the following elements: a) checking for attacks, for example replay attacks, or b) supplementing an evaluation regarding a freshness value with an evaluation regarding historical values, for example freshness values, or c) recording freshness values ​​already determined or received, or d) providing individual freshness windows and / or individual freshness logbooks, for example for different transmitters, or e) increasing security against attacks, for example replay attacks.

[0043] Further features, possible applications, and advantages of the invention will become apparent from the following description of examples illustrated in the figures of the drawing. All described or illustrated features, individually or in any combination, constitute the subject matter of the invention, regardless of their summary in the claims or their references, as well as regardless of their wording or representation in the description or drawing.

[0044] The drawing shows: Fig. 1 schematically shows a simplified flow diagram, Fig. 2 schematically shows a simplified block diagram, Fig. 3 schematically shows a simplified block diagram, Fig. 4 schematically shows a simplified block diagram, Fig. 5 schematically shows a simplified block diagram, Fig. 6 schematically shows a simplified flow diagram, Fig. 7 schematically shows a simplified flow diagram, Fig. 8 schematically shows a simplified flow diagram, Fig. 9 schematically shows a simplified flow diagram, Fig. 10 schematically shows a simplified flow diagram, Fig. 11 schematically shows a simplified flow diagram, Fig. 12 schematically shows a simplified flow diagram, Fig. 13 schematically shows a simplified block diagram, Fig. 14 schematically shows a simplified block diagram, Fig. 15 schematic examples of uses, Fig. 16 shows a simplified block diagram.

[0045] Some examples, see Fig. 1, Fig. 2, Fig. 3, Fig. 4, relate to a method, for example a computer-implemented method, for processing data transmitted by a communication system 10 ( Fig. 2) associated data, comprising: Manage 100 ( Fig. 1) a set MWP of, for example, one or more values ​​P1-1, P1-2, ... ( Fig. 4) for a first parameter P1, which characterizes a timeliness of a message N that can be received via the communication system 10, wherein, for example, the set MWP comprises at least a first subset TM-1 ( Fig. 4) which has, for example, one or more possible values ​​for the first parameter P1 and at least one second subset TM-2 which has, for example, one or more historical values ​​for the first parameter P1, evaluating 102 ( Fig. 1) a parameter value PW-N of the received message N characterizing a timeliness of a message N received via the communication system 10 based on the set MWP.

[0046] In some examples, security against attacks, such as so-called replay attacks, in which messages are sent repeatedly, can be increased by the principle according to the disclosure.

[0047] In some examples, Fig. 2, the communication system 10 is, or the communication system 10 has, a, for example, serial, bus system, for example of the CAN (Controller Area Network) or CAN FD (CAN Flexible Data Rate) or CAN XL type. In some examples, the communication system 10 has a different type or is not based on, for example, CAN.

[0048] Element 1 according to Fig. 2 symbolizes a first participant who can send messages via the communication system 10, for example to the second participant 2. Optionally, further participants 1' are conceivable.

[0049] In some examples, Fig. 2, at least some of the participants 1, 2 may have a device 200 for performing at least some aspects according to the disclosure.

[0050] In some examples, a value of the first parameter P1, e.g. parameter value, is a so-called freshness value, e.g. a value that characterizes the timeliness of a message N that can be received via the communication system 10. Fig. 3 shows as an example the message N, which has, for example, a parameter value PW-N. Optionally, the message N can contain further information, for example data, e.g. header data and / or payload, e.g. organized in one or more information elements, which in Fig. 3 not shown, but symbolized by the dots "...".

[0051] In some examples, Fig. 2, Fig. 3, an aspect, for example a property, of a message N that can be transmitted (e.g., sent and / or received) via the communication system 10 is thus the so-called “freshness” or timeliness of the message N.

[0052] In some examples, so-called "replay" attacks can be detected or defended against by using the freshness or timeliness of the message, in which an attacker, for example, records a validly sent message and, for example, sends it again at a later time via the communication system 10, i.e., "replays" it.

[0053] In some conventional approaches, where, for example, the freshness of a message cannot be protected, the same message may be sent by an attacker at least a second time and received as valid by a conventional receiver.

[0054] In some examples, the freshness of messages can be ensured or protected by using a freshness value, for example in the form of the first parameter P1 described above ( Fig. 3), which checks the timeliness of a message transmitted via the communication system 10 ( Fig. 2) receivable message N. In some examples, a freshness value or the timeliness of a message can be characterized or represented, for example, by means of a packet number and / or a timestamp, where, for example, the packet number and / or the timestamp can be sent as part of the message. In other words, in some examples, the first parameter P1 can include a packet number and / or time information (e.g., at least part of a timestamp).

[0055] In some examples, Fig. 2, the freshness value, for example the said first parameter P1 according to the disclosure, or its value PW-N, can be checked, for example, by a receiver 2 of the message N, whereby, for example, old messages (for example messages with the same value of the first parameter that may have been repeatedly sent by an attacker) can be detected.

[0056] In some communication systems, Fig. 2, which, for example, have a transmission medium 12 shared between several participants 1, 1', 2 (e.g. "shared medium"), such as CAN, CAN FD or CAN XL, in some examples it may happen that packets or messages ready for transmission are re-sorted within a participant 1, e.g. bus participant, e.g. node, e.g. based on a priority (e.g. characterizable by a "Priority ID") of a data frame ("frame").

[0057] In some examples, such reordering can take place both in a source node 1 or in a forwarding node (not shown). For example, in some examples, a node sends high-priority messages at least temporarily before low-priority messages (e.g., due to so-called "internal arbitration"). This can result in an older, low-priority message being sorted behind a newer, high-priority message in some examples. If, for example, the old, low-priority message is finally received, receiver 2 could already assume a new freshness value, namely based on the previous receipt of the high-priority message. This could lead to the receiver, for example in some conventional approaches, mistakenly discarding the old message as "replayed."

[0058] In some conventional systems, one approach to prevent this reordering problem is to allow only one priority ID, e.g. per group, e.g. per CANsec group (e.g., this can be described as a “dedicated priority ID solution”).

[0059] In some examples based on the present disclosure, the specified set MWP, e.g., with the first and second subsets TM-1, TM-2, is used, for example, in the sense of a so-called "freshness window." In some examples, for example, freshness values ​​within a specific, defined range, e.g., the freshness window, are accepted by a recipient 2 of message N. In some examples, for example, messages with a freshness value (e.g., value of the first parameter) outside the freshness window are not accepted or not processed.

[0060] In some examples, Fig. 4, Fig. 5, the set MWP has a first number FW1 of possible freshness values, where, for example, the first number FW1 is associated with a freshness window FF. For example, the first number FW1 can be characterized by the first subset TM-1.

[0061] In some examples, Fig. 4, for example, a freshness window FF, hereinafter referred to as an example with the letter "F", can be used as follows. Let n be the last (e.g. by participant 2 ( Fig. 2), e.g., receiver) received freshness value. Then, for example, any message with freshness value t is accepted if n+1−F≤t≤n+1.

[0062] In other words, in some examples, a received message is accepted, for example evaluated, if its freshness value t lies between or on the boundaries n+1-F, n+1 of the freshness window F.

[0063] In some examples, Fig. 4, Fig. 5, the set MWP has a second number FW2 of freshness values, for example, historical freshness values, which can be characterized, for example, by a freshness logbook FL. For example, the second number FW2 can be characterized by the second subset TM-2.

[0064] In other words, in some examples, Fig. 5, the second subset TM-2 or the freshness log FL contains those freshness values ​​that have already been assigned to at least one message N ( Fig. 2) have been received. In some examples, for example, a receiver 2 can determine whether a message N with the same freshness value has already been received, thus possibly indicating a replay attack.

[0065] In some examples, Fig. 6, the method comprises: Determining 110 whether the parameter value PW-N ( Fig. 2) (e.g. freshness value) of the received message N is contained in the first subset TM-1, for example determining 110a whether the parameter value PW-N of the received message N is contained in a or the freshness window FF, determining 112 whether the parameter value PW-N of the received message N is contained in the second subset TM-2, for example determining 112a whether the parameter value PW-N of the received message N is contained in a or the freshness log book FL.

[0066] In some examples, Fig. 6, the method comprises: processing 114 at least a part N' of the received message N if the determination 110 (or e.g. 110a) shows that the parameter value PW-N of the received message N is contained in the first subset TM-1 (i.e. e.g. is contained in the freshness window FF), and if the determination 112 (or e.g. 112a) shows that the parameter value PW-N of the received message N is not (e.g. not already) contained in the second subset TM-2 (i.e. e.g. has not already been received).

[0067] In some examples, Fig. 6, the method comprises: omitting 116 a processing, for example discarding 116a, of the message N if a) the determination 110 shows that the parameter value PW-N of the received message N is not contained in the first subset TM-1 (i.e., for example, lies outside the freshness window FF), and / or if b) the determination 112 shows that the parameter value PW-N of the received message N is contained in the second subset TM-2 (i.e., for example, has already been received previously).

[0068] In some examples, Fig. 7, the method comprises: recording 122 the parameter value PW-N of the received message N ( Fig. 2) into the second subset TM-2 (for example, updating the freshness log FL), for example, when a, e.g., the recording 122 ( Fig. 7) the previous evaluation 120 of the parameter value PW-N of the received message N has shown that the parameter value PW-N of the received message N is not contained in the second subset TM-2. This allows the freshness log FL to be updated in some examples, so that in the future, in some examples, the receipt of a message with, for example, the same parameter value PW-N can be inferred to be a replay attack.

[0069] In some examples, Fig. 8, the method comprises: adapting 130 the first subset TM-1, for example updating 130a the freshness window FF, for example based on the evaluation 102, e.g. after receiving a message N.

[0070] In some examples, Fig. 9, the method comprises at least one of the following elements: a) representing 140 the second subset TM-2, for example the freshness logbook FL, by means of an information element IE, for example bit field BF, in which each bit characterizes a possible, for example already occurred, value for the first parameter P1, or b) using 142 an information element IE having several bits, for example bit field BF, for the second subset TM-2, for example the freshness logbook FL, wherein for example the information element IE, for example bit field BF, has 32 bits or 64 bits.

[0071] Below are further examples and aspects, for example for an efficient implementation of a freshness logbook FL, according to some examples.

[0072] In order to manage, for example, track, freshness values ​​that have already been received or evaluated, e.g. "seen", as efficiently as possible, one or more of the aspects described below can be used in some examples.

[0073] In some examples, a freshness window F (see also the reference symbol FF according to Fig. 4) for example, a size of 32 or 64 entries, or less.

[0074] In some examples, a freshness logbook FL can be implemented, for example, as a register (e.g., a memory register of a computing device) and / or as a variable of size “F bit”, whereby the memory register or variable has as many bits as the freshness logbook has possible entries.

[0075] In some examples, received, for example “seen” freshness values ​​tx are marked, e.g. tagged, for example by setting the x-th bit in the memory register for the freshness logbook FL (“logbook register”). In some examples, this means that: a) the 0-th bit of the logbook register corresponds to the current last seen freshness value t, b) the 1-th bit to a possible seen freshness value t-1, c) the (F-1)-th bit to a possible seen freshness value tF-1. In some examples, this means that the logbook register has a current status as follows: [1; 0; 0; 1; 1], where the 0-th bit is on the left, e.g. for seen freshness values ​​tA, tA-3, and tA-4.

[0076] In some examples, if a new message with freshness value t0 is received, several cases can occur: A) The new freshness value t' is newer than the last current freshness value t. In this case, both the freshness window FF and the freshness logbook FL can be adjusted. In some examples, a distance t'-t = x can be determined. Then, for example, the receiver 2 ( Fig. 2) Update the last seen, current freshness value, e.g., to t'. In some examples, the freshness log FL, e.g., in the form of the log register, is also updated to the new reference point t', for example, by bit shifting (moving bits) by x positions, and possibly subsequently setting the 0 bit in the log register (which now corresponds, e.g., to t'). B) The new freshness value t' is older than the last current freshness value t. In this case, the freshness window FF or F applies in some examples. The receiver 2 ( Fig. 2) calculates, for example, tt' = y and checks whether y < F. If this is the case, t' can be set in the logbook, e.g. tracked. If, for example, t' has not been seen yet, i.e., y bit in the logbook register is not set, in some examples the y bit in the logbook register can be set. In this case, for example, the message can be regarded as valid (e.g., "fresh") and / or, for example, processed further. If t' has already been seen, i.e., the y bit in the logbook register is already set, the message is recognized as a replayed message in some examples.

[0077] In some examples, a further optimization of the logbook is to exclude the 0th bit, which corresponds, for example, to the last seen freshness value, from the logbook because this is already explicitly stored as the most recent freshness value. Thus, in some examples, a 32-bit logbook can manage, for example, back up, a total of 32+1 freshness values ​​(e.g., the most recent freshness value plus the 32 freshness values ​​t-1, ..., tF from the logbook).

[0078] In some examples, Fig. 10, the method comprises: receiving 150 a message N, determining 152 whether the parameter value PW-N, for example freshness value, of the received message N is newer than a last, for example current, parameter value PW-N-act, for example freshness value.

[0079] In some examples, Fig. 10, the method comprises at least one of the following elements: a) if the parameter value PW-N, for example freshness value, of the received message N is newer than the last, for example current, parameter value PW-N-act, updating 154 at least part of the set MPW ( Fig. 4), wherein, for example, the updating 154 comprises: updating 154a the first subset TM-1, and / or updating 154b the second subset TM-2, or b) if the parameter value PW-N, for example freshness value, of the received message N is not newer, for example older, than the last, for example current, parameter value PW-N-act, evaluating 156 the parameter value PW-N, for example freshness value, of the received message N with respect to the first subset TM-1, wherein, for example, the evaluating 156 comprises determining 156a whether the parameter value PW-N, for example freshness value, of the received message N, is contained in the first subset TM-1, for example in the current freshness window FF (or"F") is contained, or c) updating 158 the second subset TM-2, for example the freshness log FL, for example if the parameter value PW-N, for example freshness value, of the received message N is not already contained in the second subset TM-2, for example the freshness log FL, or d) inferring 159 an attack, for example replay attack, if the parameter value PW-N, for example freshness value, of the received message N is already contained in the second subset TM-2, for example the freshness log FL.

[0080] In some examples, Fig. 11, the method comprises: managing 160 a plurality of sets MWP-1, MWP-2, ... of, for example, one or more values ​​for a first parameter P1, which characterizes a timeliness (e.g. freshness) of a message N of a respective sender 1, 1', ... that can be received via the communication system 10, wherein, for example, a set MWP-1 of the plurality of sets is associated with a respective sender 1, evaluating 162 a parameter value of the received message N-1, which characterizes a timeliness of a message N-1 of a specific sender 1 received via the communication system 10, based on the respective set MWP-1 associated with the sender 1.

[0081] In some examples, Fig. 2, for example, at least some possible senders 1, 1', ... of messages, e.g. to a receiver 2, can each be assigned a channel, and the receiver 2 can, for example, manage, for example use, for at least some channels, individual sets MWP-1, MWP-2, ..., for example each with corresponding subsets TM-1, TM-2, e.g. associated with or characterizing respective freshness windows or freshness logbooks, e.g. to check messages received by the respective senders 1, 1', for example based on the principle according to the disclosure.

[0082] In some examples, Fig. 12, the method comprises at least one of the following elements: a) managing 170 a plurality of freshness windows FF-1, FF-1', ..., wherein each of the plurality of freshness windows FF-1, FF-1', ... is associated with a respective transmitter 1, 1', ... ( Fig. 2) is associated, or b) Manage 172 ( Fig. 12) of a plurality of freshness logbooks FL-1, FL-1', ..., wherein each of the plurality of freshness logbooks FL-1, FL-1', ... is associated with a respective transmitter 1, 1', ..., or c) evaluating 174 a parameter value PW-N of the received message N-1 characterizing a timeliness of a message N-1 of a specific transmitter 1 received via the communication system 10 based on at least one of the following elements: c1) freshness window FF-1 associated with the specific transmitter 1, or c2) freshness logbook FL-1 associated with the specific transmitter 1.

[0083] Some examples, Fig. 13, refer to a device 200 for carrying out the method according to the disclosure. In some examples, at least one of the participants 1, 1', 2 can be Fig. 2 the device 200 or a corresponding functionality.

[0084] In some examples, Fig. 13, it is provided that the device 200 comprises: a computing device (“computer”) 202 having at least one computing core 202a, a memory device 204 assigned to the computing device 202 for at least temporarily storing at least one of the following elements: a) data DAT (e.g. data associated with the message N, e.g. the first parameter or freshness value, and / or data associated with the set MWP or the subsets TM-1, TM-2), b) computer program PRG, for example for carrying out the method according to the disclosure.

[0085] For further examples, Fig. 13, the memory device 204 comprises a volatile memory (e.g., random access memory (RAM)) 204a, and / or a non-volatile (NVM) memory (e.g., flash EEPROM) 204b, or a combination thereof or with other memory types not explicitly mentioned.

[0086] For further examples, Fig. 13, the device 200 is designed as a hardware circuit, for example a pure hardware circuit (not shown).

[0087] Further examples, Fig. 13, refer to a computer-readable storage medium SM comprising instructions PRG which, when executed by a computer 202, cause the computer 202 to carry out the method according to the disclosure.

[0088] Further examples, Fig. 13, relate to a computer program PRG comprising instructions which, when the program PRG is executed by a computer 202, cause the computer 202 to carry out the method according to the disclosure.

[0089] Further examples, Fig. 13, refer to a data carrier signal DCS that characterizes and / or transmits the computer program PRG according to the disclosure. The data carrier signal DCS can be received, for example, via an optional data interface 206 of the device 200. For example, the data interface 206 can enable a connection to the communication system 10.

[0090] Some examples, Fig. 2, Fig. 14, refer to a product, for example transmitter 1, 1' and / or receiver 2 (and / or transceiver), or control device 20 ( Fig. 14), for example for a motor vehicle 22, comprising at least one device 200 according to the disclosure.

[0091] Some examples, Fig. 15, relate to a use 300 of the method according to the disclosure and / or the device 200 according to the disclosure and / or the product 1, 1', 2, 20 according to the disclosure and / or the computer-readable storage medium SM according to the disclosure and / or the computer program PRG according to the disclosure and / or the data carrier signal DCS according to the disclosure for at least one of the following elements: a) checking 301 for attacks, for example replay attacks, or b) supplementing 302 an evaluation regarding a freshness value with an evaluation regarding historical values, for example freshness values, or c) recording 303 already determined or received freshness values, or d) providing 304 individual freshness windows FF, FF-1, ... and / or individual freshness logbooks FL, FL-1, ..., for example for different transmitters 1, 1', or e) increasing 305 security against Attacks, such as replay attacks.

[0092] Fig. 16 schematically shows aspects according to some examples. Element E1 symbolizes a sender, and element E2 symbolizes a current freshness value, e.g., "t", which the sender E1 attaches to a message N to be sent to a receiver E3, e.g., at least similar to the parameter value PW-N with respect to the message N according to Fig. 3.

[0093] Element E4 of Fig. 16 symbolizes a freshness window managed by the receiver E3, e.g., "F," e.g., characterizable by a first subset TM-1 of possible parameter values. Element E5a symbolizes a current freshness value, e.g., "tA," with respect to the sender E1 (e.g., determinable based on a message previously received from the sender E1), and element E5b symbolizes a current freshness value, e.g., "tB," with respect to another sender (not shown, e.g., determinable based on a message previously received from the other sender). Optionally, in some examples, the receiver E3 can also manage further current freshness values ​​associated with other possible senders (not shown).

[0094] Element E6a of Fig. 16 symbolizes a freshness log for the transmitter E1, e.g., containing the values: {tA, tA-3, tA-4}. Element E6b of Fig. 16 symbolizes a freshness log for the other, not shown transmitter, e.g. showing the values: {tC, tC-1, tC-4}.

[0095] Upon receipt of a message from the sender E1 according to Fig. 16, e.g. with the freshness value “t” included, the receiver E3 can, for example, perform at least one of the following aspects: a) Check whether the freshness value “t” is contained in the current freshness window, e.g. according to t => tA-F, where, for example, the current freshness value is read from block E5a, where, for example, the current freshness window F is read from block E4, b) Check whether the freshness value “t” is not contained in the freshness logbook E6a, i.e. “t” is not contained in the list {tA, tA-3, tA-4}.

[0096] If both points a) and b) above are met, the message with the freshness value "t" can be considered truly "fresh" and, for example, processed. Optionally, the current freshness value E5a can be updated, e.g., by setting it to "t," e.g., if t > tA. Optionally, the freshness log E6a can be updated.

[0097] If at least one of the two above points a), b) is not fulfilled, the received message N will not be processed.

[0098] In some examples, the principle according to the disclosure allows reducing or eliminating the risk of a replay attack when using a freshness window.

[0099] In some examples, the principle according to the disclosure makes it possible to track a set of possible freshness values, e.g., within the range of the freshness window FF, or "F," i.e., e.g., according to {n+1-F,n+1- F+1,...,n+1-F+(F-1)=n,n+1}, which freshness values ​​have already been seen, e.g., by a recipient 2 or E3. In some examples, a freshness value that has already been seen is thus considered, e.g., as "replayed" in a further received message.

[0100] In some examples, a participant, e.g. transmitter 1, 1', manages, e.g. internally, a current freshness value t, see also reference symbol E2 according to Fig. 16.

[0101] In some examples, a participant, e.g. receiver 2, manages, e.g. internally, the described freshness window F (possibly also several, e.g. per receiving channel, i.e. per other sending participant, e.g. node, a separate window), a last seen, current freshness value per receiving channel (e.g. “tA” for the last received freshness value E5a from sender E1 according to Fig. 16 and “tC” for the last received freshness value E5b of the other transmitter, and one freshness logbook E6a, E6b for each receive channel.

[0102] In some examples, the freshness logs E6a, E6b contain, for example, the last seen freshness values ​​of the respective receiver E3, which are still within the freshness window F, see block E4 according to Fig. 16, so a maximum of e.g. {t,t-1,...,tF}

Claims

[1] Method, for example a computer-implemented method, for processing data associated with a communication system (10), comprising: managing (100) a set (MWP) of, for example, one or more values ​​(P1-1, P1-2, ...) for a first parameter (P1) that characterizes a timeliness of a message (N) that can be received via the communication system (10), wherein, for example, the set (MWP) has at least a first subset (TM-1) that has, for example, one or more possible values ​​for the first parameter (P1) and at least a second subset (TM-2) that has, for example, one or more historical values ​​for the first parameter (P1), evaluating (102) a parameter value (PW-N) of the received message (N) that characterizes a timeliness of a message (N) received via the communication system (10) based on the set (MWP). [2] Method according to claim 1, wherein a) the parameter value (PW-N) is a freshness value, and / or wherein b) the quantity (MWP) has b1) a first number (FW1) of possible freshness values, for example associated with a freshness window (FF), and / or b2) a second number (FW2) of freshness values, for example historical freshness values, which can be characterized for example by a freshness logbook (FL). [3] Method according to at least one of the preceding claims, comprising: determining (110) whether the parameter value (PW-N) of the received message (N) is contained in the first subset (TM-1), for example determining (110a) whether the parameter value (PW-N) of the received message (N) is contained in a or the freshness window (FF), determining (112) whether the parameter value (PW-N) of the received message (N) is contained in the second subset (TM-2), for example determining (112a) whether the parameter value (PW-N) of the received message (N) is contained in a or the freshness logbook (FL). [4] Method according to claim 3, comprising: processing (114) at least a part (N') of the received message (N) if the determining (110) results in that the parameter value (PW-N) of the received message (N) is contained in the first subset (TM-1), and if the determining (112) results in that the parameter value (PW-N) of the received message (N) is not contained in the second subset (TM-2). [5] Method according to claim 3 or 4, comprising: omitting (116) a processing (114) of the message (N) if a) the determination (110) shows that the parameter value (PW-N) of the received message (N) is not contained in the first subset (TM-1), and / or if b) the determination (112) shows that the parameter value (PW-N) of the received message (N) is contained in the second subset (TM-2). [6] Method according to at least one of the preceding claims, comprising: including (122) the parameter value (PW-N) of the received message (N) in the second subset (TM-2), for example when an evaluation (120) of the parameter value (PW-N) of the received message (N), e.g. preceding the inclusion (122), has shown that the parameter value (PW-N) of the received message (N) is not contained in the second subset (TM-2). [7] Method according to at least one of the preceding claims, comprising: adapting (130) the first subset (TM-1), for example updating (130a) the freshness window (FF), for example based on the evaluation (102). [8] Method according to at least one of the preceding claims, comprising at least one of the following elements: a) representing (140) the second subset (TM-2), for example the freshness logbook (FL), by means of an information element (IE), for example a bit field (BF), in which each bit characterizes a possible, for example already occurred, value for the first parameter (P1), or b) using (142) an information element (IE) comprising several bits, for example a bit field (BF), for the second subset (TM-2), for example the freshness logbook (FL), wherein, for example, the information element (IE), for example a bit field (BF), has 32 bits or 64 bits. [9] Method according to at least one of the preceding claims, comprising: receiving (150) a or the message (N), determining (152) whether the parameter value (PW-N), for example freshness value, of the received message (N) is newer than a last, for example current, parameter value (PW-N-act), for example freshness value. [10] Method according to claim 9, comprising at least one of the following elements: a) if the parameter value (PW-N), for example freshness value, of the received message (N) is newer than the last, for example current, parameter value (PW-N-act), updating (154) at least a part of the set (MWP), wherein, for example, the updating (154) comprises: updating (154a) the first subset (TM-1), and / or updating (154b) the second subset (TM-2), or b) if the parameter value (PW-N), for example freshness value, of the received message (N) is not newer, for example older, than the last, for example current, parameter value (PW-N-act), evaluating (156) the parameter value (PW-N), for example freshness value, of the received message (N) with respect to the first subset (TM-1), wherein, for example, the evaluating (156) comprises determining (156a) whether the parameter value (PW-N), for example freshness value, of the received message (N),is contained in the first subset (TM-1), for example in the current freshness window (FF), or c) updating (158) the second subset (TM-2), for example the freshness log (FL), for example if the parameter value (PW-N), for example freshness value, of the received message (N) is not already contained in the second subset (TM-2), for example the freshness log (FL), or d) inferring (159) an attack, for example a replay attack, if the parameter value (PW-N), for example freshness value, of the received message (N) is already contained in the second subset (TM-2), for example the freshness log (FL). [11] Method according to at least one of the preceding claims, comprising: managing (160) a plurality of sets (MWP-1, MWP-2, ...) of, for example, one or more values ​​(P1-1, P1-2, ...) for a first parameter (P1) which characterizes a timeliness of a message (N) of a respective sender (1, 1') that can be received via the communication system (10), wherein, for example, a set (MWP-1) of the plurality of sets (MWP-1, MWP-2, ...) is associated with a respective sender (1), evaluating (162) a parameter value (PW-N) of the received message (N-1) that characterizes a timeliness of a message (N-1) of a specific sender (1) received via the communication system (10) based on the respective set (MWP-1) associated with the sender (1). [12] Method according to at least one of the preceding claims, comprising at least one of the following elements: a) managing (170) a plurality of freshness windows (FF-1, FF-1', ...), each of the plurality of freshness windows (FF-1, FF-1', ...) being associated with a respective transmitter (1; 1', ...), or b) managing (172) a plurality of freshness logbooks (FL-1, FL-1', ...), each of the plurality of freshness logbooks (FL-1, FL-1', ...) being associated with a respective transmitter (1; 1', ...), or c) evaluating (174) a parameter value (PW-N) of the received message (N-1) characterizing a timeliness of a message (N-1) received via the communication system (10) from a specific transmitter (1) based on at least one of the following elements: c1) freshness window associated with the specific transmitter (1) (FF-1), or c2) Freshness log (FL-1) associated with the specific transmitter (1). [13] Device (200) for carrying out the method according to at least one of the preceding claims. [14] Product, for example transmitter (1; 1') and / or receiver (2), or control device (20), for example for a motor vehicle (22), comprising at least one device (300) according to claim 13. [15] Computer-readable storage medium (SM) comprising instructions (PRG) which, when executed by a computer (202), cause the computer to carry out the method according to at least one of claims 1 to 12. [16] Computer program (PRG) comprising instructions which, when the computer program (PRG) is executed by a computer (202), cause the computer to carry out the method according to at least one of claims 1 to 12. [17] Data carrier signal (DCS) which characterises and / or transmits the computer program (PRG) according to claim 16. [18] Use (300) of the method according to at least one of claims 1 to 12 and / or the device (200) according to claim 13 and / or the product (1; 1'; 2; 20) according to claim 14 and / or the computer-readable storage medium (SM) according to claim 15 and / or the computer program (PRG) according to claim 16 and / or the data carrier signal (DCS) according to claim 17 for at least one of the following elements: a) checking (301) for attacks, for example replay attacks, or b) supplementing (302) an evaluation regarding a freshness value with an evaluation regarding historical values, for example freshness values, or c) recording (303) already determined or received freshness values, or d) providing (304) individual freshness windows (FF-1, FF-1', ...) and / or individual freshness logbooks (FL-1, FL-1', ...), for example for different transmitters (1, 1'), or e) increasing (305) security against attacks, for example replay attacks.

Citation Information

Patent Citations

  • Cipher hash computing based authentication method in wireless sensor network

    CN103037367A

  • Automation building method for exchanging data, involves transmitting signature block to operating time and management telegrams after transmitting telegrams from sensor, where block is evaluated by actuators with security implementation

    DE102008009691A1

  • Methods for data transmission between network nodes

    DE102008046563A1

  • 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

    DE102012210327A1

  • Method for controlling a functional component of a motor vehicle by means of a medical implant of a user of the motor vehicle, computer program, control device for a motor vehicle and medical implant

    DE102015224836A1