The present application claims the benefit under 35 U.S.C. § 119 of German Patent Application No. DE 102020214945.3 filed on Nov. 27, 2020, which is expressly incorporated herein by reference in its entirety.
The present invention relates to a method for checking a message in a communication system, as well as a processing unit and a computer program for carrying out same.
Increasing digitization results in ever-greater use of wireless interfaces in everyday products or systems such as vehicles. Despite numerous advantages, such interfaces also provide increasing options for intrusions. One particular problem is, for example, intrusions into electronic control units (ECUs), which in vehicles are responsible for various functions and the data exchange via vehicle-internal communication systems. An intruder may be enabled, for example, to influence safety-critical functions such as the steering, the brakes, or an engine control. Typical communication systems or communication media used in vehicles, for example, such as the CAN bus, via which such intrusions could be prevented, have been designed without safety measures per se.
Thus, an intruder, for example by connecting an additional device or by influencing existing control units on the communication medium, may impersonate another user and transfer unauthorized messages. Due to the mentioned lack of safety measures for the CAN protocol, for example, such identity theft may be successfully carried out, since the (other) users cannot check the authenticity of the transferred messages.
According to the present invention, a method for checking a message in a communication system as well as a processing unit and a computer program for carrying out same are provided. Advantageous embodiments of the present invention are disclosed herein.
The present invention relates to the checking of a message in a communication system, in which multiple users are connected to a communication medium and exchange messages via same.
The problem of the lack of safety measures for communication media such as a CAN bus is generally known. To solve this problem, for example physical properties of the individual users (which are typically control units here) are utilized to identify the source of a transferred message. For example, for a clock-based intrusion detection system (so-called CIDS), the individual clock offsets of each user during the periodic message transfer are used to draw conclusions concerning the authenticity of the sender. These clock offsets may be used to recognize deviations from and anomalies of the previously observed transfer behavior, which in turn indicate an unauthorized origin of a message. However, as a result, aperiodic messages cannot be evaluated, and an intruder is also able to circumvent the system by observing the clock offset on the communication medium and subsequently adapting his/her transfers to the offset of the user to be imitated.
In addition, intrusion detection systems may be used which build on specific voltage properties of individual users during their transfer operations. A model of the voltage signature may be created from authorized messages and compared to the voltage signatures that are observed during the normal message exchange. Although good results for the detection accuracy may generally be achieved, voltage fluctuations due to temperature changes are problematic. In addition, high resource requirements are generally necessary for this purpose due to a comprehensive analysis of the voltage signal.
Existing approaches for providing authentication, which are based on physical properties such as internal clocks or voltages, either impose high demands on the computing resources, are not robust against signal fluctuations, or may be circumvented by a sophisticated intrusion.
In the procedure provided within the scope of an example embodiment of the present invention, a time difference between points in time of reception of a message that is sent on the communication medium is now ascertained at two different, predefined positions on the communication medium. Only the difference, not the absolute values, of the two propagation times of the message from the sending user up to the two positions is/are relevant, i.e., a propagation time difference. This may be determined via a detection means (detector(s)) which, with an appropriately designed connection, detects the message at the two positions. Based on a comparison of the time difference to at least one reference time difference, it is then determined whether the message originates from a verified user. Such reference time differences may be ascertained via test measurements, for example, in which it is ensured that an intruder does not alter or even send a message on the communication medium.
If the time difference deviates from a reference time difference by less than a predefined threshold value, for example, it may be determined or assumed that the message originates from a verified user. Otherwise, it may be determined or assumed that the message does not originate from a verified user, and in particular an intrusion attempt into the communication system is present. In general, a suitable model may also be used to carry out the comparison. Such a model describes, in particular for a plurality of users or the entire communication system, the associated differences in the propagation time differences, and may then be used to “verify” a propagation time difference that is subsequently measured for a certain user (or multiple or all users).
Thus, an implementation is provided which achieves the provision of the authentication based on signal or message propagation times, and which is also efficiently achievable in embedded systems. By using a so-called time-to-digital converter (TDC), which typically is particularly cost-effective, the time difference may be determined particularly easily and quickly, while the requirement for high-performance scanning hardware such as a fast analog-digital converter (ADCs) is dispensed with. In addition, the computing time for computing and assessing the time difference is relatively low, since simpler techniques may be used for the comparison.
In comparison to intrusion detection approaches, in which the clocking behavior or voltages is/are used, the provided procedure in accordance with an example embodiment of the present invention makes possible a greater degree of reliability and correctness. In this way, for example an intrusion detection system (or intrusion prevention system) may be provided via which a standard of the so-called Automotive Safety Integrity Level (ASIL) may be met, since high identification rates and a very low false positive rate may be achieved. In this regard, even blocking of malicious messages on the communication medium or actively making them invalid may be considered in order to prevent successful intrusions.
Since it may be assumed that the signal propagation is hardly affected by external influences such as aging or material wear on a communication medium, sophisticated updating methods for identifying physical senders are not necessary. Even if influences on the signal propagation should occur, their effect on the propagation time would only be very slow and gradual. Abrupt changes are not to be expected. Rather, this results in the option for repeatedly adapting the reference time differences based on the measured time differences. It is thus possible, for example, to take small age-related changes in the propagation times into account.
In general, any system or communication system that implements a bus topology (for example, CAN, CAN FD, CAN XL, 10BASE-T1S, etc.) for the communication between multiple users and utilizes a broadcasting transmission may use the provided methodology. Based on the option for localizing the sending source of a message, the authentication may be provided where it is lacking, or existing safety implementations may be expanded for a more reliable safety concept. In this regard, it plays no role which communication protocol is implemented, as long as only one user is active on the bus in each case.
A processing unit according to the present invention, for example an ASIC or a microcontroller, for example a control unit of a motor vehicle, is configured to carry out a method according to the present invention, in particular by programming.
In addition, in accordance with an example embodiment of the present invention, implementing a method in the form of a computer program or computer program product including program code for carrying out all method steps is advantageous, since this involves particularly low costs, in particular when an operating control unit is also utilized for further tasks, and therefore is present anyway. Suitable data media for providing the computer program are in particular magnetic, optical, and electrical memories such as hard disks, flash memories, EEPROMs, DVDs, and others. In addition, downloading a program via computer networks (Internet, Intranet, etc.) is possible.
Further advantages and embodiments of the present invention result from the description here and the figures.
The present invention is schematically illustrated in the figures based on exemplary embodiments, and described below with reference to the figures.
In addition, a processing unit 130 is shown which is configured and used for ascertaining a time difference between points in time of reception of a message that is sent on the communication medium, at two different, predefined positions P1 and P2 on communication medium 120. The two points in time of reception are indicated by reference symbols t1 and t2, and in particular with user 110 as sender. For this purpose, processing unit 130 may be connected to communication medium 120 at positions P1 and P2. Processing unit 130 is explained in greater detail below.
The general procedure of the provided method, which ultimately represents or makes possible an intrusion detection system or an intrusion prevention system, is explained first. The actual time differences are to be measured, using valid messages from each user, when it is certain that no intruder is present. In particular, each user of the communication system is thus measured. Reference time differences are thus obtained, which are also shown in
After this phase, the entire communication system may be put into operation, the time difference of the message transferred at that moment being determined and assessed using the previously established model. In principle, it is also possible to determine a plurality of time differences for messages from different users and to compare them to the model of all users. In addition, sender information (in the case of CAN, this is the message identification or ID, for example) is extracted, on the basis of which the authenticity is checked. According to the implemented communication protocol (i.e., the CAN protocol, for example), an appropriate countermeasure may be initiated, if desired, in order to invalidate the transfer in progress (for CAN, this may involve, for example, sending an error message or blocking the bus) if the sender (i.e., the present checked user) is classified as unauthorized. Alternatively or additionally, it may be provided to carry out a notification to an appropriate location (for example, a user of the control unit) or logging (recording) of the result.
For implementing the functions mentioned above, in particular two components are necessary, which may be provided, for example, in a shared processing unit such as processing unit 130, which may be an application-specific integrated circuit (ASIC), for example. The first component, for example component 132 according to
This component is also referred to below as a propagation difference determination component (PDDC). The PDDC could be developed or provided, for example, as part of the ASIC, or as some other independent circuit that measures the time difference between two signals at the two positions, for example also the ends, of the communication medium based on an internal timer, for example.
In addition, a processing unit, also referred to below as reference symbol PU, as denoted in
As a function of the tasks that are to be taken over, for example a simpler or also more powerful microcontroller 142 (cf.
PDDC 132, for example, must initially be configured by PU 134 upon system startup as a function of the desired and available operating mode according to step 210. The configuration may take place via communication channels such as SPI or I2C, using standard hardware, or by static loading of registers with standard values if an ASIC is used. Possible properties that could be taken into account for the configuration include, among others, the number of measurements to be carried out and the question of whether triggering is to take place for a falling or rising signal edge. After completion of the configuration, PU 134 actively waits, according to step 212, for a message transfer on the communication medium or is triggered by same.
Upon recognition of a transferred message 200, necessary sender information is extracted by PU 134 according to step 214. This information may represent the message identification in the case of CAN, or a MAC address in the case of Ethernet. By providing a link from the communication medium to PU 134, this information may generally be obtained in two ways. Either PU 134 determines this actively by using a general purpose input/output (GPIO) port and an appropriate timer in order to detect the individual bits on the communication medium, or a general timer IP module (GTM, cf. also component 144 in
At this point, it should be noted that the sender information may also be extracted using dedicated circuits, based on the communication protocol used. For CAN, the message identification may be detected via the CAN controller, for example, which, however, increases the coordination effort for the overall procedure. The association between the transferred message and the sending unit is established based on the sender information.
If it is established that a message is sent, PU 134 activates PDDC 132 (which according to step 206 waits for the activation) in the next step, and waits for receipt of the result according to step 216. PDDC 132 then leaves the rest state, and according to step 208 waits for a change in a signal that is based on signal 202 from the measuring point at position P1 and signal 204 from the measuring point at position P2. Only one sender (or user) is to occupy the communication medium when PDDC 132 is activated. Otherwise, the obtained result would possibly not correspond to the actual time difference.
The recorded points in time of reception or propagation times are subsequently transferred from PDDC 132 to PU 134, after which PDDC 132 once again changes to the rest state and waits for the next activation.
As soon as the time difference is determined, the next steps in the procedure depend on system status 218. A learning phase is carried out if basic changes have been made to the communication medium or if the system has been switched on for the first time. It is also advantageous to carry out such a learning phase upon each start-up. According to step 222 and the time difference and optionally the sender information, a model 228 is built which includes the above-mentioned reference time differences. The model is subsequently used for classification 220 and intrusion detection 224, i.e., the recognition of an intruder.
It is important to be able to ensure the absence of an intruder during this phase, since otherwise the model could be damaged or incorrectly set up. To keep the operation of the system as simple as possible, various models, including lookup tables, decision trees, or probability distributions, may be considered in order to compare the time difference to reference time differences.
Regardless of which model is selected, the time difference is used in classification step 220 to determine the actual sender. Based on the extracted sender information in the initial steps, i.e., reference time differences ΔtR, for example, as well as the sender information and actual time difference Δt actually determined in classification step 220, a statement is made concerning the authenticity of transferred message 200, and a possible intrusion is recognized and possibly characterized. As an example,
If the transfer is legitimate, the computed time difference may be taken into account for a model update 226 in order to manage possible incremental changes in the propagation differences due to external influences such as temperature or aging. After this step, the system returns to the “wait for transfer” state according to step 212, and initiates this process anew when the next message is transferred via the communication medium.
Number | Date | Country | Kind |
---|---|---|---|
10 2020 214 945.3 | Nov 2020 | DE | national |
Number | Name | Date | Kind |
---|---|---|---|
5999807 | Kaplan | Dec 1999 | A |
7162262 | Jonsson | Jan 2007 | B2 |
8730612 | Haralson | May 2014 | B1 |
8903593 | Addepalli | Dec 2014 | B1 |
9225544 | Mabuchi | Dec 2015 | B2 |
10126342 | Moore | Nov 2018 | B2 |
11200529 | Sekine | Dec 2021 | B2 |
11386201 | Oberman | Jul 2022 | B2 |
20020174347 | Ting | Nov 2002 | A1 |
20080155657 | Ogura | Jun 2008 | A1 |
20080161035 | Tomioka | Jul 2008 | A1 |
20090082829 | Panken | Mar 2009 | A1 |
20100127079 | Fang | May 2010 | A1 |
20140007676 | Armstrong | Jan 2014 | A1 |
20160066157 | Noorshams | Mar 2016 | A1 |
20160094392 | Gabrielson | Mar 2016 | A1 |
20180012090 | Herbst | Jan 2018 | A1 |
20180211176 | Khurshudov | Jul 2018 | A1 |
20180262526 | Jain | Sep 2018 | A1 |
20180337938 | Kneib | Nov 2018 | A1 |
20190238579 | St?hlin | Aug 2019 | A1 |
20190245872 | Shin | Aug 2019 | A1 |
20190297401 | Kim | Sep 2019 | A1 |
20190319987 | Levy | Oct 2019 | A1 |
20190385057 | Litichever | Dec 2019 | A1 |
20200125725 | Petersen | Apr 2020 | A1 |
20200186560 | Ben-Noon | Jun 2020 | A1 |
20200202154 | Wang | Jun 2020 | A1 |
20200250403 | Xiao | Aug 2020 | A1 |
20200403825 | Biham | Dec 2020 | A1 |
20210067971 | Kim | Mar 2021 | A1 |
20210144026 | Stein | May 2021 | A1 |
20210226977 | Moriya | Jul 2021 | A1 |
20210243038 | Wilson | Aug 2021 | A1 |
20210264026 | Amano | Aug 2021 | A1 |
20210360008 | Moriya | Nov 2021 | A1 |
20220030014 | Potluri | Jan 2022 | A1 |
20220043768 | Kneib | Feb 2022 | A1 |
20220182404 | Kishikawa | Jun 2022 | A1 |
20220311781 | Maeda | Sep 2022 | A1 |
20230010743 | Kieslinger | Jan 2023 | A1 |
Number | Date | Country |
---|---|---|
111787013 | Feb 2022 | CN |
3102270 | Apr 2021 | FR |
2018088616 | Jun 2018 | JP |
2018523390 | Aug 2018 | JP |
2020088798 | Jun 2020 | JP |
WO-2018186053 | Oct 2018 | WO |
Entry |
---|
Yajima, Jun et al. JP 2018088616 A (Machine translation), published Jun. 7, 2018. (Year: 2018). |
Yang, Li et al. CN 111787013 B (Machine translation), published Feb. 25, 2022. (Year: 2022). |
Tomokazu, Moriya et al. JP 2020088798 A (Machine translation), published Jun. 4, 2020. (Year: 2020). |
Hammond, James et al. JP 2018523390 A (Machine translation), published Aug. 16, 2018. (Year: 2018). |
Harrar, Ahmed. FR 3102270 A1 (Machine translation), published Apr. 23, 2021. (Year: 2021). |
Choi, Wonsuk, et al. “Identifying ecus using inimitable characteristics of signals in controller area networks.” IEEE Transactions on Vehicular Technology 67.6 (2018): 4757-4770. (Year: 2018). |
P.-S. Murvay and B. Groza, “TIDAL-CAN: Differential Timing Based Intrusion Detection and Localization for Controller Area Network,” in IEEE Access, vol. 8, p. 68895-68912, 2020, doi: 10.1109/ACCESS.2020.2985326. (Year: 2020). |
Number | Date | Country | |
---|---|---|---|
20220174073 A1 | Jun 2022 | US |