Signal determination device, mobile body, signal determination method, and program
The signal determination device improves detection of unauthorized signals in communication networks by identifying a reference signal and estimating time intervals to distinguish normal from abnormal signals, enhancing traffic safety and supporting sustainable transportation systems.
Patent Information
- Application Number
- JP2022141038
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-09-05
- Publication Date
- 2025-10-24
- Estimated Expiration
- 2042-09-05
AI Technical Summary
Existing communication networks face challenges in accurately detecting fraudulent or unauthorized signals, which can compromise traffic safety and hinder the development of sustainable transportation systems.
A signal determination device that identifies a reference signal, estimates time intervals between signals, and determines whether subsequent signals are normal or abnormal based on these intervals, using a timing estimation and determination process to identify and update reference signals.
Enhances the ability to accurately distinguish between normal and abnormal signals, reducing the risk of fraudulent inputs and improving traffic safety in communication networks.
Smart Images

Figure 0007759860000001 
Figure 0007759860000002 
Figure 0007759860000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a signal determination device, a moving object, a signal determination method, and a program. [Background technology]
[0002] Patent Documents 1 and 2 disclose techniques for detecting unauthorized signals input into a communication network. [Prior art document] [Patent documents] Patent Document 1: JP 2021-136631 A Patent Document 2: JP 2021-064921 A Summary of the Invention [Problem to be solved by the invention]
[0003] However, there is a need to more appropriately detect fraudulent signals input into communication networks. The present application aims to solve the above problem by improving safety. This will ultimately further improve traffic safety and contribute to the development of sustainable transportation systems. [Means for solving the problem]
[0004] A first aspect of the present invention provides a signal determination device. The signal determination device determines whether a signal input to a communication network is a normal signal. The signal determination device includes an identification unit that identifies a reference signal serving as a reference for identifying an abnormal signal from among multiple signals detected in the communication network. The signal determination device includes a time interval estimation unit that estimates a time interval between signals consecutively input to the communication network based on detection timings of the multiple signals detected in the communication network. The signal determination device includes a timing estimation unit that estimates, based on the detection timings of the reference signal and the time intervals, timings at which multiple signals will be detected in the communication network after the reference signal. The signal determination device includes a determination unit that determines whether each of multiple signals detected in the communication network after the reference signal is a normal signal based on the timing estimated by the timing estimation unit and the detection timings of multiple signals detected in the communication network after the reference signal.
[0005] In the signal determination device, the timing estimation unit may calculate the timing at which multiple signals are detected in the communication network after the reference signal by adding a value obtained by multiplying the time interval by a positive number to the detection timing of the reference signal.
[0006] In any of the above signal determination devices, the determination unit may determine that the signal detected in the communication network after the reference signal is a normal signal if the difference between the detection timing of the signal detected in the communication network after the reference signal and the timing estimated by the timing estimation unit is equal to or less than a predetermined value.
[0007] In any of the above signal determination devices, the time interval estimation unit may estimate the time interval based on an average value of differences in detection timing of signals detected consecutively in the communication network within a predetermined period.
[0008] In any of the above signal determination devices, the timing estimation unit may calculate the timing at which a plurality of signals are detected in the communication network after the reference signal, by adding a value obtained by multiplying the time interval by a positive number to the detection timing of the reference signal. The time interval estimation unit may set the length of the predetermined period according to the positive number by which the time interval is multiplied.
[0009] In any of the above signal evaluation devices, the time interval estimation unit may set the length of the predetermined period so that an error in timing estimated by the timing estimation unit, which is predicted from the positive number, is equal to or less than a predetermined value.
[0010] In any of the above signal determination devices, the time interval estimation unit may update the time interval before a predetermined time has elapsed.
[0011] In any of the above signal determination devices, the identification unit may update the reference signal by identifying a signal detected after the currently set reference signal as a new reference signal before a predetermined time has elapsed.
[0012] In any of the above signal judgment devices, when a second signal that is not a signal to be judged as to whether it is a normal signal is detected at the timing when the estimated first signal is detected, the timing estimation unit may newly estimate the timing when the first signal is detected as the timing obtained by adding a predetermined signal length to the detection timing of the second signal.
[0013] In any of the above signal determination devices, the identification unit may identify the first signal as a new reference signal when the difference between the detection timing of a first signal detected in the communication network after the currently set reference signal and the timing that is an integer multiple of the time interval from the detection timing of the reference signal is equal to or less than a predetermined value.
[0014] In any of the above signal determination devices, the identification unit may not identify the second signal as the reference signal if the time interval between a first signal and a second signal detected consecutively in the communication network is equal to or less than a predetermined interval, and may identify the second signal as the reference signal under at least the requirement that the time interval between the first signal and the second signal detected consecutively in the communication network exceeds a predetermined interval.
[0015] In any of the above signal determination devices, the communication network may be a communication network that complies with the Control Area Network (CAN) standard.
[0016] In a second aspect of the present invention, there is provided a moving body, the moving body including any one of the signal determination devices described above.
[0017] The moving object may be a vehicle.
[0018] A third aspect of the present invention provides a signal determination method. The signal determination method determines whether a signal input to a communication network is a normal signal. The signal determination method includes a step of identifying a reference signal that serves as a reference for identifying an abnormal signal from among multiple signals detected in the communication network. The signal determination method includes a step of estimating a time interval between signals consecutively input to the communication network based on detection timings of the multiple signals detected in the communication network. The signal determination method includes a step of estimating, based on the detection timings of the reference signal and the time intervals, a timing at which multiple signals will be detected in the communication network after the reference signal. The signal determination method includes a step of determining whether each of multiple signals detected in the communication network after the reference signal is a normal signal based on the timing estimated in the step of estimating the timing and the detection timings of multiple signals detected in the communication network after the reference signal.
[0019] In a third aspect of the present invention, there is provided a program that causes a computer to function as any one of the signal determination devices described above.
[0020] The above summary of the invention does not list all of the features of the present invention, and subcombinations of these features may also constitute inventions. [Brief explanation of the drawings]
[0021] [Figure 1] 1 conceptually illustrates a system configuration of a moving body 10 in one embodiment. [Figure 2] 2 is a block diagram schematically showing a functional configuration of an ECU 110. FIG. [Figure 3] This is to explain how to calculate the period of a signal. [Figure 4] FIG. 10 is a diagram for explaining a process for setting a reference signal used to detect an unauthorized signal. [Figure 5] Illustrates a state in which signal 330 is delayed from its 10 ms periodic input timing due to contention with other signals. [Figure 6] Illustrates a state in which signal 430 is delayed from its periodic input timing without contention with other signals. [Figure 7] 10 is a diagram for explaining the process by which the determining unit 240 determines whether the signal is normal or abnormal. FIG. [Figure 8] The following shows a determination process when a signal input to the communication network 180 conflicts with another signal. [Figure 9] 10 is a flowchart showing an overall process of a signal determination method executed by ECU 110. [Figure 10] 10 is a flowchart relating to a process for determining whether a signal is normal or abnormal. [Figure 11] An example of a computer 2000 is shown. DETAILED DESCRIPTION OF THE INVENTION
[0022] The present invention will be described below through embodiments of the invention, but the following embodiments do not limit the scope of the invention according to the claims. Furthermore, not all of the combinations of features described in the embodiments are necessarily essential to the solution of the invention.
[0023] FIG. 1 conceptually illustrates a system configuration of a moving object 10 in one embodiment. In this embodiment, the moving object 10 is a vehicle. The moving object 10 includes a system 20. The system 20 includes a plurality of ECUs (electronic control units) including an ECU 100, an ECU 110, an ECU 111, an ECU 120, and an ECU 121. The ECUs included in the moving object 10 include ECUs for controlling devices that directly affect the running of the moving object 10, such as an engine, a transmission, and a steering device. The ECUs included in the moving object 10 include ECUs for controlling devices that do not directly affect the running of the moving object 10, such as an air conditioner and a navigation device. The ECUs 100, the ECU 110, the ECU 111, the ECU 120, and the ECU 121 are examples of in-vehicle devices.
[0024] The ECUs included in the mobile object 10 communicate with each other via a controller area network (CAN) communication. The ECUs included in the mobile object 10 are connected to each other so that they can communicate with each other via multiple communication networks 180. The ECU 100 functions as a gateway that relays communication between the multiple communication networks 180.
[0025] The communication network 180 is a communication network in which signals are expected to be input at predetermined time intervals. In this embodiment, the communication network 180 is a communication network that complies with the CAN standard. The communication network 180 is an example of a communication network.
[0026] 2 is a block diagram showing a schematic functional configuration of the ECU 110. The ECU 110 includes a signal determination device 200 and a storage unit 280. The ECU 110 has a function of determining whether a signal input to the communication network 180 is a normal signal or an abnormal signal.
[0027] In this embodiment, the abnormal signal may be an unauthorized signal input when a third party attacks the communication network 180. Examples of attacks on the communication network 180 include spoofing attacks and DoS attacks. The abnormal signal may be an abnormal signal that an ECU other than the ECU 110 irregularly inputs to the communication network 180.
[0028] The signal determination device 200 may be implemented by a processor such as a CPU that performs arithmetic processing. The storage unit 280 may include a nonvolatile storage medium such as a flash memory, or a volatile storage medium such as a random access memory. The ECU 110 may be configured to include a computer. The ECU 110 executes various controls by causing the signal determination device 200 to operate in accordance with a program stored in the nonvolatile storage medium.
[0029] The signal evaluation device 200 includes an identification unit 210 , a time interval estimation unit 220 , a timing estimation unit 230 , and a determination unit 240 .
[0030] Identification unit 210 identifies a reference signal that serves as a reference for identifying an abnormal signal from among multiple signals detected in communication network 180. Time interval estimation unit 220 estimates the time intervals of signals that are successively input to communication network 180, based on the detection timings of multiple signals detected in communication network 180. For example, time interval estimation unit 220 estimates the period of the signals that are input to communication network 180.
[0031] Based on the detection timing and time interval of the reference signal, timing estimation unit 230 estimates the timing at which multiple signals are detected in communication network 180 after the reference signal. Based on the timing estimated by timing estimation unit 230 and the detection timing of multiple signals detected in communication network 180 after the reference signal, determination unit 240 determines whether each of the multiple signals detected in communication network 180 after the reference signal is a normal signal.
[0032] The timing estimation unit 230 may calculate the timing at which multiple signals are detected in the communication network 180 after the reference signal by adding a value obtained by multiplying the time interval by a positive number to the detection timing of the reference signal.
[0033] The judgment unit 240 may judge that the signal detected in the communication network 180 after the reference signal is a normal signal if the difference between the detection timing of the signal detected in the communication network 180 after the reference signal and the timing estimated by the timing estimation unit 230 is less than a predetermined value.
[0034] The time interval estimation unit 220 may estimate the time interval based on the average value of the difference in detection timing of signals detected consecutively in the communication network 180 within a predetermined period.
[0035] The timing estimation unit 230 may calculate the timing at which multiple signals are detected in the communication network 180 after the reference signal, by adding a value obtained by multiplying the time interval by a positive number to the detection timing of the reference signal. The time interval estimation unit 220 may set the length of the predetermined period according to the positive number by which the time interval is multiplied. The time interval estimation unit 220 may set the length of the predetermined period so that the error in the timing estimated by the timing estimation unit 230 from the positive number is equal to or less than a predetermined value. The time interval estimation unit 220 may update the time interval before the predetermined time has elapsed. The identification unit 210 may update the reference signal by identifying a signal detected after the currently set reference signal as a new reference signal before the predetermined time has elapsed.
[0036] If a second signal that is not the signal to be determined as to whether it is a normal signal or not is detected at the timing when the estimated first signal is detected, the timing estimation section 230 may newly estimate the timing when the first signal is detected as the timing obtained by adding a predetermined signal length to the detection timing of the second signal.
[0037] The identification unit 210 may identify the first signal as a new reference signal if the difference between the detection timing of the first signal detected in the communication network 180 after the currently set reference signal and the timing that is an integer multiple of the time interval from the detection timing of the reference signal is less than or equal to a predetermined value.
[0038] The identification unit 210 may not identify the second signal as a reference signal if the time interval between a first signal and a second signal detected consecutively in the communication network 180 is equal to or less than a predetermined interval, and may identify the second signal as a reference signal under at least the requirement that the time interval between the first signal and the second signal detected consecutively in the communication network 180 exceeds the predetermined interval.
[0039] In this embodiment, signals having a predetermined specific CAN ID are the targets for determining whether they are normal or abnormal. Therefore, unless otherwise specified, this embodiment focuses on signals assigned with a specific CAN ID. The drawings in this embodiment are not scaled to a fixed time scale in order to clearly show signals transmitted through communication network 180.
[0040] 3 is a diagram illustrating a method for calculating a signal period. As shown in FIG. 3, in communication network 180, signal evaluation device 200 detects M signals within time period T0. In this case, time interval estimation unit 220 calculates the signal period by T0 / (M-1). In this embodiment, for the purpose of easy understanding, it is assumed that the signal period is calculated as 10 ms.
[0041] The time interval estimator 220 further calculates an estimation error of the signal period T. For example, the time interval estimator 220 may calculate a standard error as the estimation error of the signal period T.
[0042] 4 is a diagram illustrating the process of setting a reference signal used to detect an unauthorized signal. In FIG. 4, the actual signal time indicates the time when the signal determination device 200 actually detects a signal in the communication network 180. In this embodiment, the time when the signal is detected is described as the time when reception of the signal ends. For example, the time when the signal is detected may be the time when the signal determination device 200 has finished receiving the entire signal. In other embodiments, the time when the signal is detected may be the time when reception of the signal begins.
[0043] In FIG. 4, the actual signal period is the time interval between signals detected consecutively in the communication network 180. In this embodiment, the signal to be processed is assumed to be a signal expected to be input to the communication network 180 at a period of 10 ms. The identification unit 210 identifies, as a reference signal, a signal whose difference (delay time) between the detection time and the time that is an integer multiple of the period of 10 ms has elapsed since the detection time of a certain signal is equal to or less than a first threshold. The identification unit 210 calculates a delay time accumulation value by adding up the delay times each time a signal is received. The identification unit 210 identifies, as a reference signal, a signal whose delay time accumulation value is equal to or less than the first threshold. In this embodiment, to clearly illustrate the process of setting a reference signal, the first threshold is assumed to be 0.5 ms.
[0044] In FIG. 4, time t1 is assumed to be the time when a certain signal is detected in communication network 180. Signal determination device 200 detects the next signal at time t2, 11 ms after time t1. Identification unit 210 calculates the difference between time t2 and the timing when a period of 10 ms has elapsed since time t1 as the delay time. Therefore, the delay time at time t2 is 1 ms. Therefore, identification unit 210 calculates 1 ms as the cumulative delay time value at time t2. Because the cumulative delay time value exceeds the first threshold, identification unit 210 does not identify the signal received at time t2 as a reference signal.
[0045] Next, the signal evaluation device 200 detects the next signal at time t3, which is 11 ms after time t2. The identification unit 210 calculates the delay time as the difference between time t3 and the timing when a period of 10 ms has elapsed since time t2. The delay time at time t2 is 1 ms. Therefore, the identification unit 210 calculates the cumulative delay time value at time t3 to be 2 ms. Because the cumulative delay time value exceeds the first threshold, the identification unit 210 does not identify the signal received at time t3 as a reference signal.
[0046] Next, the signal evaluation device 200 detects the next signal at time t4, which is 8 ms after time t3. The identification unit 210 calculates the delay time as the difference between time t4 and the timing when a period of 10 ms has elapsed since time t3. The delay time at time t4 is −2 ms. Therefore, the identification unit 210 calculates 0 ms as the cumulative delay time value at time t4. Because the cumulative delay time value is less than or equal to the first threshold, the identification unit 210 identifies the signal received at time t4 as the reference signal and sets time t4 as the reference time.
[0047] Next, the signal evaluation device 200 detects the next signal at time t5, which is 11.02 ms after time t4. The identification unit 210 calculates the delay time as the difference between time t5 and the timing when a period of 10 ms has elapsed since time t4. The delay time at time t5 is 1.02 ms. Therefore, the identification unit 210 calculates 1.02 ms as the cumulative delay time value at time t4. Because the cumulative delay time value exceeds the first threshold, the identification unit 210 does not identify the signal received at time t5 as a reference signal.
[0048] Next, the signal evaluation device 200 detects the next signal at time t6, which is 8.5 ms after time t5. The identification unit 210 calculates the delay time as the difference between time t6 and the timing when a period of 10 ms has elapsed since time t5. The delay time at time t6 is −1.5 ms. Therefore, the identification unit 210 calculates the cumulative delay time value at time t6 to be −0.48 ms. Because the absolute value of the cumulative delay time value is less than or equal to the first threshold, the identification unit 210 sets the signal received at time t6 as the reference signal and time t6 as the reference time. At this time, the identification unit 210 resets the cumulative delay time value to 0.
[0049] Next, the signal evaluation device 200 detects the next signal at time t7, which is 10.4 ms after time t6. The identification unit 210 calculates the difference between time t7 and the timing when a period of 10 ms has elapsed since time t6 as the delay time. Because the cumulative delay time value was reset to 0 at time t6, the delay time at time t7 is 0.4 ms. Therefore, the identification unit 210 calculates 0.4 ms as the cumulative delay time value at time t7. Because the cumulative delay time value is less than or equal to the first threshold, the identification unit 210 identifies the signal received at time t7 as the reference signal and sets time t7 as the reference time.
[0050] In this way, when the identifying unit 210 detects a new signal, if the difference between the timing at which the new signal is detected and a reference timing that is an integer multiple of the signal period after the reference time is equal to or less than the first threshold, the identifying unit 210 identifies the new signal as a reference signal. Then, the identifying unit 210 sets the time at which the new signal is detected as the reference time to be used for detecting unauthorized signals.
[0051] Next, with reference to FIGS. 5 and 6, a situation in which a transmission delay occurs due to a conflict between an input of a signal to the communication network 180 and an input of another signal will be described.
[0052] 5 shows a schematic diagram of a state in which signal 330 is delayed from its 10 ms periodic input timing due to contention with other signals. In FIG. 5, signals 310, 320, and 330 are signals input to communication network 180 in succession.
[0053] Signal 310 is a signal that starts being input to communication network 180 at time t1 and ends being input to communication network 180 at time t2. Signal 320 is a signal that starts being input to communication network 180 at time t3 and ends being input to communication network 180 at time t5. Signal 320 is a signal that starts being input to communication network 180 at time t6 and ends being input to communication network 180 at time t7.
[0054] 5, signals 310 and 330 belong to a group of signals input to communication network 180 at a period of 10 ms. Signals 310 and 330 are assigned the same CAN ID. In FIG. 5, signal 330 represents a state in which it is delayed from its periodic input timing to communication network 180 due to contention with signal 320. Here, signal 320 is assigned a CAN ID that is different from the CAN IDs assigned to signals 310 and 330. However, similar processing can be applied even when the CAN ID of signal 320 is the same as the CAN ID of signals 310 and 330.
[0055] As one example, signal 330 starts being input to communication network 180 at the same time as signal 320, resulting in a communication conflict, which causes signal 330 to start being input to communication network 180 at time t5 after signal 320 has finished being input to communication network 180. In another example, signal 330 is a signal that should start being input during the period in which signal 320 is being input to communication network 180. In this example, signal 330 waits for signal 320 to finish being input to communication network 180 and the bus to enter an idle state, and then starts being input to communication network 180 after time t5.
[0056] When signal 330 is input to communication network 180, the bus enters an idle state after the end of an ITM (Intermission) of 3 bits after the data frame of signal 320 has been input to communication network 180. Therefore, signal 330 that has competed with signal 320 can start being input to communication network 180 from time t6, which is the time elapsed from time t5 until the ITM ends. The time interval corresponding to the ITM is a predetermined minimum time interval that should be left between successive signals.
[0057] If the time interval between signals 320 and 330, i.e., the time interval between time t5 and time t7, matches the sum of the signal length and ITM of signal 330, the determination unit 240 may determine that signal 330 has been delayed due to contention with signal 320. Therefore, the determination unit 240 determines that signal 330 is a normal signal delayed due to contention. On the other hand, because signal 330 is a signal delayed due to contention, the identification unit 210 does not identify signal 330 as a reference signal.
[0058] In this way, the determination unit 240 may determine that the signal 330 is a normal signal delayed due to contention with another signal when the time interval between successively detected signals in the communication network 180 matches the sum of the signal length and the ITM. The determination unit 240 may also determine that the signal 330 is a normal signal delayed due to contention with another signal when the time interval between successively detected signals in the communication network 180 is shorter than a threshold determined by setting a predetermined margin on the sum of the signal length and the ITM.
[0059] 6 shows a schematic diagram of a state in which signal 430 is delayed from its periodic input timing without conflict with other signals. Assume that signals 310 and 430 contain the same CAN ID. Unlike the situation shown in FIG. 5, signal 430 is delayed from its periodic input timing without conflict with signal 320.
[0060] 6, signal 430 starts being input to communication network 180 at time t9, which is after time t6. The time interval between signal 320 and signal 430, i.e., the time interval between time t10 and time t5, is sufficiently longer than the sum of the signal length and ITM of signal 430, and therefore, determination unit 240 can determine that signal 430 has been delayed from its periodic input timing, without contention with signal 320. Therefore, determination unit 240 determines that signal 430 is an abnormal signal.
[0061] 7 is a diagram for explaining the process of determining whether a signal is normal or abnormal by the determination unit 240. With reference to FIG. 7, a case will be described in which it is determined whether a signal detected after time t11 is set as the reference time is normal or abnormal.
[0062] In this embodiment, to clearly illustrate the determination process of the determination unit 240, the second threshold for determining whether a signal is normal or abnormal is set to 1 ms. That is, the determination unit 240 determines that a detected signal is normal if the difference between the time at which the signal is detected and the estimated detection time estimated from the reference time and the period T is 1 ms or less. The second threshold may be set taking into account the estimation error of the estimated detection time calculated based on the estimation error of the period T. In this embodiment, for ease of illustration, the first threshold (0.5 ms) is described as being 1 / 2 of the second threshold (1 ms), but the first threshold may be 1 / 5 or less of the second threshold. The first threshold may be 1 / 10 of the second threshold.
[0063] 7, the signal evaluation device 200 detects a new signal at time t12, 11 ms after time t11. The timing estimation unit 230 estimates the time 10 ms after the reference time as the estimated detection time at which the next signal following the signal at time t11 should be detected. The difference between time t12 and the estimated detection time is 1 ms. In other words, the difference between time t12 and the estimated detection time is 1 ms or less. Therefore, the evaluation unit 240 determines that the signal detected at time t12 is a normal signal.
[0064] Next, the signal evaluation device 200 detects a new signal at time t13, 10.5 ms after time t12. The timing estimation unit 230 estimates a time 10×2 ms after the reference time as the estimated detection time at which the next signal following the signal at time t12 should be detected. The difference between time t13 and the estimated detection time is 1.5 ms. In other words, the difference between time t13 and the estimated detection time exceeds 1 ms. Therefore, the evaluation unit 240 determines that the signal detected at time t13 is an abnormal signal.
[0065] As described with reference to FIG. 4 and other figures, if a signal input to the communication network 180 competes with another signal, the detection time of the signal may be delayed from the estimated detection time. Therefore, the determination unit 240 may determine whether the signal detected at time t13 was delayed due to competition with another signal when input to the communication network 180. If the determination unit 240 can determine that the signal detected at time t13 was delayed due to competition with another signal when transmitted, the determination unit 240 may determine that the signal detected at time t13 is a normal signal. If the determination unit 240 determines that the signal detected at time t13 was not delayed due to competition with another signal when transmitted, the determination unit 240 may determine that the signal detected at time t13 is an abnormal signal. This process will be described in detail with reference to FIG. 8.
[0066] Next, the signal evaluation device 200 detects a new signal at time t14, 9.5 ms after time t13. The timing estimation unit 230 sets a time 10×3 ms after the reference time as the estimated detection time at which the next signal following the signal at time t13 should be detected. The difference between time t14 and the estimated detection time is 1 ms. In other words, the difference between time t14 and the estimated detection time is 1 ms or less. Therefore, the evaluation unit 240 determines that the signal detected at time t14 is a normal signal.
[0067] Next, the signal evaluation device 200 detects a new signal at time t15, 9.8 ms after time t14. The timing estimation unit 230 sets the time 10×4 ms after the reference time as the estimated detection time at which the next signal following the signal at time t14 should be detected. The difference between time t15 and the reference timing is 0.8 ms. In other words, time t15 is within a ±1 ms range centered around the reference timing. Therefore, the evaluation unit 240 determines that the signal detected at time t15 is a normal signal.
[0068] In this way, the timing estimation unit 230 estimates a time that is an integer multiple of the 10 ms period from the reference time as the estimated detection time at which multiple signals input to the communication network 180 after the reference time should be detected. The determination unit 240 determines that the new signal is a normal signal when the difference between the detection time of the new signal and the corresponding estimated detection time is equal to or less than a predetermined value. On the other hand, the determination unit 240 may determine that the new signal is an abnormal signal when the difference between the detection time of the new signal and the corresponding estimated detection time exceeds a predetermined value.
[0069] As described above, the estimated detection time is estimated by adding the period to a specific reference time. Because the estimated detection time accumulates an estimation error in the period T, the longer the elapsed time from the reference time, the lower the estimation accuracy of the estimated detection time. Therefore, it is desirable for the determination unit 210 to update the reference time before the accumulated error resulting from the estimated period error and the number of period additions (a positive number multiplied by the period) reaches a predetermined value. For example, it is desirable for the determination unit 210 to update the reference time before the number of period additions used to calculate the estimated detection time reaches a predetermined maximum value. Furthermore, it is desirable for the time interval estimation unit 220 to set the period T0 described in relation to FIG. 3 according to the number of period additions used to calculate the estimated detection time. For example, the time interval estimation unit 220 may set the period T0 according to the maximum number of period additions used to calculate the estimated detection time. As an example, it is desirable for the time interval estimation unit 220 to set a longer period T0 the more the number of period additions used to calculate the estimated detection time increases. In addition, it is desirable that the time interval estimation unit 220 updates the period T every time a predetermined time elapses.
[0070] 8 shows a determination process when a signal input to communication network 180 conflicts with another signal. In Fig. 8, signals 800, 810, and 820 are signals input to communication network 180 from a specific ECU and are to be determined in ECU 110 as to whether they are normal signals. Signals 811, 821, and 822 are signals input to communication network 180 from other ECUs. CAN IDs different from the CAN IDs assigned to signals 800, 810, and 820 are assigned to signals 811, 821, and 822.
[0071] The signal evaluation device 200 detects the signal 800 at time t0. Here, time t0 is assumed to be the reference time. The timing estimation unit 230 estimates time t01, which is 10 ms after the reference time t0, as the estimated detection time at which the signal 810 should be detected in the communication network 180. Furthermore, the timing estimation unit 230 estimates time t02, which is 2×10 ms after the reference time t0, as the estimated detection time at which the signal 820 should be detected in the communication network 180.
[0072] 8, signal 810 is delayed due to contention with signal 811, and is detected at time t2, delayed from estimated detection time t01. Determination unit 240 determines whether a signal assigned a CAN ID other than the CAN ID to be determined is detected within the period from a time a predetermined period before estimated detection time t01 to estimated detection time t01. As an example, determination unit 240 may determine whether a signal assigned a CAN ID other than the CAN ID to be determined is being input to communication network 180 within the period from a time signal length L before estimated detection time t01 to estimated detection time t01.
[0073] As shown in FIG. 8 , signal 811 is input during the period from the time that is signal length L before estimated detection time t01 to estimated detection time t01. In this case, the determination unit 240 determines that the signal following signal 800 is delayed due to contention with signal 811. In this case, the determination unit 240 corrects estimated detection time t01 by setting the time that is signal length L after detection time t1 of signal 811 as a new estimated detection time t01′. The determination unit 240 compares time t2 at which signal 810 is detected with estimated detection time t01′ to determine whether signal 810 detected at time t2 is a normal signal. In the example of FIG. 8 , the difference between time t2 at which signal 810 is detected and estimated detection time t01′ is 1 ms or less, so the determination unit 240 determines that signal 810 detected at time t2 is a normal signal.
[0074] Next, processing of signal 820 will be described. As shown in FIG. 8 , signal 820 is delayed due to contention with signal 821, and then further delayed due to contention with signal 822, and is detected at time t5, a delay from estimated detection time t02. Determination unit 240 determines whether a signal assigned a CAN ID other than the CAN ID to be determined is detected within the period from a time a predetermined period before estimated detection time t02 to estimated detection time t02. As an example, determination unit 240 may determine whether a signal assigned a CAN ID other than the CAN ID to be determined is being input to communication network 180 within the period from a time signal length L before estimated detection time t02 to estimated detection time t02.
[0075] 8, signal 821 is input during the period from the time that is signal length L before estimated detection time t02 to estimated detection time t02. In this case, the determination unit 240 determines that the signal following signal 810 has been delayed due to contention with signal 821. In this case, the determination unit 240 corrects estimated detection time t02 by setting the time that is signal length L after detection time t3 of signal 821 as a new estimated detection time t02'.
[0076] As shown in FIG. 8, the signal 822 is input during the period from the time that is the signal length L before the corrected estimated detection time t02′ to the estimated detection time t02. In this case, the determination unit 240 determines that the signal following the signal 810 is delayed due to contention with the signal 822. In this case, the determination unit 240 further corrects the estimated detection time t02′ by setting the time that is the signal length L after the detection time t4 of the signal 822 as the new estimated detection time t02″. The determination unit 240 compares the time t5 at which the signal 820 is detected with the estimated detection time t02″ to determine whether the signal 820 detected at time t5 is a normal signal. In the example of FIG. 8, the difference between the time t5 at which the signal 820 is detected and the estimated detection time t02″ is 1 ms or less, so the determination unit 240 determines that the signal 820 detected at time t5 is a normal signal.
[0077] 9 is a flowchart showing the overall process relating to the signal determination method executed by ECU 110. In S902, time interval estimation unit 220 estimates the period of a signal to be determined as to whether it is a normal signal. For example, time interval estimation unit 220 estimates the period of a signal to be determined as to whether it is a normal signal using a method related to FIG. 3 or the like.
[0078] In S904, the identification unit 210 identifies the reference signal. For example, the identification unit 210 identifies the reference signal using a method related to FIG.
[0079] In S906, the timing estimation unit 230 estimates the time at which multiple signals after the reference signal are detected. For example, as described in relation to the estimated detection time in FIG. 7 and other figures, the timing estimation unit 230 estimates the time at which multiple signals after the reference signal are detected to be a positive multiple of the 10 ms period from the reference time at which the reference signal is detected. In S908, the determination unit 240 determines whether each signal detected after the reference signal is a normal signal or an abnormal signal. The processing in S908 will be described in relation to FIG. 10.
[0080] The process of the flowchart of FIG. 9 may be performed every time a predetermined time elapses in order to periodically update the period or reference signal.
[0081] Fig. 10 is a flowchart relating to the process of determining whether a signal is normal or abnormal. The process of the flowchart in Fig. 10 can be applied to S908 in Fig. 9. The process in Fig. 10 is repeatedly executed by the determination unit 240.
[0082] In S1002, the determination unit 240 determines whether a signal assigned a CAN ID other than the CAN ID to be determined as to whether it is a normal signal has been detected near the estimated detection time. If a signal assigned a CAN ID other than the CAN ID to be determined is detected, the timing estimation unit 230 corrects the estimated detection time in S1004. For example, the timing estimation unit 230 corrects the estimated detection time using a method related to FIG. 8 or the like.
[0083] If no signal with a CAN ID other than the CAN ID to be determined is detected in S1002, it is determined in S1006 whether the difference between the detection time of the signal and the corresponding estimated detection time is equal to or less than a second threshold. If the difference between the detection time of the signal and the corresponding estimated detection time is equal to or less than the second threshold, the determination unit 240 determines in S1008 that the detected signal is a normal signal. If the difference between the detection time of the signal and the corresponding estimated detection time exceeds the second threshold, the determination unit 240 determines in S1010 that the detected signal is an abnormal signal.
[0084] In the communication network 180, if a conflict occurs when inputting a signal to the communication network 180, signals are transmitted in order of priority through communication arbitration, which may result in a delay before the signal is actually input to the communication network 180. Therefore, if the detection time of the delayed signal is used as the reference time to determine whether the signal is abnormal, the signal may be erroneously determined to be normal. In contrast, in the signal determination device 200, when a new signal is detected by the signal determination device 200, the identification unit 210 sets the new signal as the reference signal and the time when the new signal was detected as the reference time if the difference between the detection time of the new signal and a time that is an integer multiple of the signal period after the reference time is equal to or less than a first threshold. This allows the reference time to be appropriately set for detecting signals that are illegally input to the communication network 180.
[0085] The timing estimation unit 230 then determines, for each of the multiple signals detected after the reference time, that the new signal is a normal signal if the difference between the detection time of the signal and the estimated detection time, which is an integer multiple of the signal period after the reference time, is equal to or less than a second threshold. According to this embodiment, the determination is not based on the time interval between the detection time of the immediately preceding signal and the detection time of the most recent signal, but is made by comparing the detection times of the multiple signals detected after the reference time with the estimated detection time estimated based on an appropriately set reference time and an actual measurement period. Therefore, this embodiment is less susceptible to the influence of changes in the time interval between the detection time of the immediately preceding signal and the detection time of the most recent signal, which may occur due to communication delays, etc., compared to determination based on the time interval between the detection time of the immediately preceding signal and the detection time of the most recent signal. Therefore, according to this embodiment, it is possible to appropriately determine whether a signal detected in the communication network 180 is a normal signal or an abnormal signal.
[0086] 11 shows an example of a computer 2000 in which multiple embodiments of the present invention may be embodied in whole or in part. A program installed on the computer 2000 may cause the computer 2000 to function as a system or a part of a system such as the system 20 according to an embodiment, or an apparatus or a part of an apparatus such as the ECU 110, to perform operations associated with the system or the part of the system or the apparatus or the part of the apparatus, and / or to perform a process or steps of the process according to an embodiment. Such a program may be executed by the CPU 2012 to cause the computer 2000 to perform specific operations associated with some or all of the processing procedures and blocks of the block diagrams described herein.
[0087] The computer 2000 according to this embodiment includes a CPU 2012 and a RAM 2014, which are interconnected by a host controller 2010. The computer 2000 also includes a ROM 2026, a flash memory 2024, a communication interface 2022, and an input / output chip 2040. The ROM 2026, the flash memory 2024, the communication interface 2022, and the input / output chip 2040 are connected to the host controller 2010 via the input / output controller 2020.
[0088] The CPU 2012 operates according to programs stored in the ROM 2026 and RAM 2014, thereby controlling each unit.
[0089] The communication interface 2022 communicates with other electronic devices via a network. The flash memory 2024 stores programs and data used by the CPU 2012 in the computer 2000. The ROM 2026 stores a boot program and the like executed by the computer 2000 upon activation, and / or programs dependent on the hardware of the computer 2000. The input / output chip 2040 may also connect various input / output units such as a keyboard, mouse, and monitor to the input / output controller 2020 via input / output ports such as a serial port, a parallel port, a keyboard port, a mouse port, a monitor port, a USB port, an HDMI (registered trademark) port, etc.
[0090] The programs are provided via a computer-readable storage medium such as a CD-ROM, a DVD-ROM, or a memory card, or via a network. The RAM 2014, the ROM 2026, or the flash memory 2024 are examples of computer-readable storage media. The programs are installed in the flash memory 2024, the RAM 2014, or the ROM 2026 and executed by the CPU 2012. Information processing described in these programs is read by the computer 2000, and causes cooperation between the programs and the various types of hardware resources described above. An apparatus or a method may be configured by implementing operations or processing of information in accordance with the use of the computer 2000.
[0091] For example, when communication is performed between the computer 2000 and an external device, the CPU 2012 may execute a communication program loaded into the RAM 2014 and instruct the communication interface 2022 to perform communication processing based on the processing described in the communication program. Under the control of the CPU 2012, the communication interface 2022 reads transmission data stored in a transmission buffer processing area provided in a recording medium such as the RAM 2014 or flash memory 2024, transmits the read transmission data to a network, and writes received data received from the network to a reception buffer processing area or the like provided on the recording medium.
[0092] The CPU 2012 may also cause all or a necessary portion of a file or database stored on a recording medium such as the flash memory 2024 to be read into the RAM 2014, and perform various types of processing on the data on the RAM 2014. The CPU 2012 then writes the processed data back to the recording medium.
[0093] Various types of information, such as various types of programs, data, tables, and databases, may be stored on the recording medium and subjected to information processing. The CPU 2012 may perform various types of processing on data read from the RAM 2014, including various types of operations, information processing, conditional judgment, conditional branching, unconditional branching, information search / replacement, etc., as described herein and specified by the instruction sequences of the programs, and write the results back to the RAM 2014. The CPU 2012 may also search for information in a file, database, etc. on the recording medium. For example, if multiple entries each having an attribute value of a first attribute associated with an attribute value of a second attribute are stored on the recording medium, the CPU 2012 may search for an entry that matches a condition specified by the attribute value of the first attribute from among the multiple entries, read the attribute value of the second attribute stored in the entry, and thereby obtain the attribute value of the second attribute associated with the first attribute that satisfies a predetermined condition.
[0094] The above-described programs or software modules may be stored in a computer-readable storage medium on or near the computer 2000. A recording medium such as a hard disk or RAM provided in a server system connected to a dedicated communication network or the Internet can be used as the computer-readable storage medium. The programs stored in the computer-readable storage medium may be provided to the computer 2000 via a network.
[0095] A program installed in computer 2000 and causing computer 2000 to function as ECU 110 may act on CPU 2012 or the like to cause computer 2000 to function as each unit of ECU 110. When the information processing described in these programs is read into computer 2000, it functions as each unit of ECU 110, which is a specific means formed by the software and the various hardware resources described above working together. These specific means then perform calculations or processing of information according to the intended use of computer 2000 in this embodiment, thereby constructing a specific ECU 110 according to the intended use.
[0096] Various embodiments have been described with reference to block diagrams. In the block diagrams, each block may represent (1) a stage of a process where an operation is performed or (2) a portion of an apparatus responsible for performing the operation. Particular stages and portions may be implemented by dedicated circuitry, programmable circuitry provided with computer-readable instructions stored on a computer-readable storage medium, and / or a processor provided with computer-readable instructions stored on a computer-readable storage medium. Dedicated circuitry may include digital and / or analog hardware circuitry, and may include integrated circuits (ICs) and / or discrete circuits. Programmable circuitry may include reconfigurable hardware circuitry including logical AND, logical OR, logical XOR, logical NAND, logical NOR, and other logic operations, flip-flops, registers, memory elements such as field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), and the like.
[0097] A computer-readable storage medium may include any tangible device capable of storing instructions that are executed by an appropriate device, such that the computer-readable storage medium with instructions stored thereon constitutes at least a portion of an article of manufacture containing instructions that can be executed to provide means for performing the operations specified in a process or block diagram. Examples of computer-readable storage media may include electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, etc. More specific examples of computer-readable storage media may include floppy disks, diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), electrically erasable programmable read-only memory (EEPROM), static random access memory (SRAM), compact disc read-only memory (CD-ROM), digital versatile disc (DVD), Blu-ray disc, memory stick, integrated circuit card, etc.
[0098] The computer readable instructions may include either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk®, JAVA®, C++, etc., and conventional procedural programming languages such as the “C” programming language or similar programming languages.
[0099] The computer-readable instructions may be provided to a processor or programmable circuitry of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, either locally or over a wide-area network (WAN) such as a local area network (LAN), the Internet, etc., and executed to provide means for performing the operations specified in the process steps or block diagrams described. Examples of processors include computer processors, processing units, microprocessors, digital signal processors, controllers, microcontrollers, etc.
[0100] Although the present invention has been described above using embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It will be apparent to those skilled in the art that various modifications and improvements can be made to the above embodiments. It is clear from the claims that such modifications and improvements can also be included within the technical scope of the present invention.
[0101] It should be noted that the execution order of each process, such as operations, procedures, steps, and stages, in the devices, systems, programs, and methods shown in the claims, specifications, and drawings is not specifically stated as "before," "prior to," etc., and that the processes can be performed in any order unless the output of a previous process is used in a subsequent process. Even if the operational flow in the claims, specifications, and drawings is described using "first," "next," etc. for convenience, this does not mean that the processes must be performed in this order. [Explanation of symbols]
[0102] 10 Mobile 20 Systems 100 ECU 110 ECU 111 ECU 120 ECU 121 ECU 180 Communication Network 200 Signal judgment device 210 Specific section 220 Time Interval Estimation Unit 230 Timing Estimation Unit 240 Judgment section 280 Storage section 310, 320, 330, 430, 800, 810, 811, 820, 821, 822 signal 2000 Computer 2010 Host Controller 2012 CPU 2014 RAM 2020 Input / Output Controller 2022 Communication Interface 2024 flash memory 2026 ROM 2040 Input / Output Chip
Claims
1. A signal determination device that determines whether a signal input to a communication network is a normal signal, an identification unit that identifies a reference signal that serves as a reference for identifying an abnormal signal from among a plurality of signals detected in the communication network; a time interval estimation unit that estimates a time interval between signals that are successively input to the communication network based on detection timings of a plurality of signals detected in the communication network; a timing estimation unit that estimates timings at which a plurality of signals are detected in the communication network after the reference signal based on the detection timing of the reference signal and the time interval; a determination unit that determines whether each of a plurality of signals detected in the communication network after the reference signal is a normal signal based on the timing estimated by the timing estimation unit and detection timings of a plurality of signals detected in the communication network after the reference signal; Equipped with The identification unit not identifying the second signal as the reference signal when a time interval between a first signal and a second signal detected consecutively in the communication network is equal to or less than a predetermined interval; Identifying a second signal as the reference signal based on at least a requirement that a time interval between a first signal and a second signal detected consecutively in the communication network exceeds a predetermined interval. Signal judgment device.
2. The timing estimation unit calculates a timing at which a plurality of signals are detected in the communication network after the reference signal, the timing being calculated by multiplying the time interval by a positive number and adding the result to the detection timing of the reference signal. The signal determination device according to claim 1 .
3. The determination unit determines that the signal detected in the communication network after the reference signal is a normal signal when a difference between a detection timing of the signal detected in the communication network after the reference signal and the timing estimated by the timing estimation unit is equal to or less than a predetermined value.
3. The signal determination device according to claim 1 or 2.
4. The time interval estimation unit estimates the time interval based on an average value of a difference in detection timing of signals detected consecutively in the communication network within a predetermined period.
3. The signal determination device according to claim 1 or 2.
5. The time interval estimation unit updates the time interval before a predetermined time has elapsed.
3. The signal determination device according to claim 1 or 2.
6. The time interval estimation unit estimates the time interval based on an average value of differences in detection timings of signals detected consecutively in the communication network within a predetermined period; the timing estimation unit calculates a timing at which a plurality of signals are detected in the communication network after the reference signal, the timing being calculated by multiplying the time interval by a positive number and adding the result to the detection timing of the reference signal; The time interval estimation unit sets the length of the predetermined period according to the positive number by which the time interval is multiplied. The signal determination device according to claim 5 .
7. The time interval estimation unit sets the length of the predetermined period so that an error in timing estimated by the timing estimation unit predicted from the positive number is equal to or less than a predetermined value. The signal determination device according to claim 6.
8. The identification unit updates the reference signal by identifying a signal detected after the currently set reference signal as a new reference signal before a predetermined time has elapsed.
3. The signal determination device according to claim 1 or 2.
9. When a second signal that is not a signal to be determined as to whether it is a normal signal is detected at the timing at which the estimated first signal is detected, the timing estimation unit newly estimates a timing obtained by adding a predetermined signal length to the detection timing of the second signal as the detection timing of the first signal.
3. The signal determination device according to claim 1 or 2.
10. A signal determination device for determining whether a signal input to a communication network is a normal signal, comprising: an identification unit that identifies a reference signal that serves as a reference for identifying an abnormal signal from among a plurality of signals detected in the communication network; a time interval estimation unit that estimates a time interval between signals that are successively input to the communication network based on detection timings of a plurality of signals detected in the communication network; a timing estimation unit that estimates timings at which a plurality of signals are detected in the communication network after the reference signal based on the detection timing of the reference signal and the time interval; a determination unit that determines whether each of a plurality of signals detected in the communication network after the reference signal is a normal signal based on the timing estimated by the timing estimation unit and detection timings of a plurality of signals detected in the communication network after the reference signal; Equipped with The identification unit identifies the first signal as a new reference signal when a difference between a detection timing of a first signal detected in the communication network after the currently set reference signal and a timing at which an integer multiple of the time interval has elapsed since the detection timing of the reference signal is equal to or less than a predetermined value. Signal judgment device.
11. The communication network is a communication network that complies with the Control Area Network (CAN) standard.
3. The signal determination device according to claim 1 or 2.
12. A moving body comprising the signal determination device according to claim 1 or 2.
13. The moving body is a vehicle. The moving body according to claim 12.
14. A signal determination method for determining whether a signal input to a communication network is a normal signal, comprising: a step in which a computer estimates a time interval between signals successively input to the communication network based on detection timings of a plurality of signals detected in the communication network; a step of the computer identifying a reference signal that serves as a reference for identifying an abnormal signal from among a plurality of signals detected in the communication network; a step of estimating, by the computer, timings at which a plurality of signals will be detected in the communication network after the reference signal based on the detection timing of the reference signal and the time intervals; a step of determining whether each of a plurality of signals detected in the communication network after the reference signal is a normal signal based on the timing estimated in the step of estimating the timing and detection timings of a plurality of signals detected in the communication network after the reference signal; Equipped with The step of identifying the reference signal comprises: not identifying the second signal as the reference signal when a time interval between a first signal and a second signal detected consecutively in the communication network is equal to or less than a predetermined interval; Identifying a second signal as the reference signal based on at least a requirement that a time interval between a first signal and a second signal detected consecutively in the communication network exceeds a predetermined interval. Signal judgment method.
15. A signal determination method for determining whether a signal input to a communication network is a normal signal, comprising: a step in which a computer estimates a time interval between signals successively input to the communication network based on detection timings of a plurality of signals detected in the communication network; a step of the computer identifying a reference signal that serves as a reference for identifying an abnormal signal from among a plurality of signals detected in the communication network; a step of estimating, by the computer, timings at which a plurality of signals will be detected in the communication network after the reference signal based on the detection timing of the reference signal and the time intervals; a step of determining whether each of a plurality of signals detected in the communication network after the reference signal is a normal signal based on the timing estimated in the step of estimating the timing and detection timings of a plurality of signals detected in the communication network after the reference signal; Equipped with The step of identifying the reference signal identifies the first signal as a new reference signal when a difference between a detection timing of a first signal detected in the communication network after the currently set reference signal and a timing at which an integer multiple of the time interval has elapsed since the detection timing of the reference signal is equal to or less than a predetermined value. Signal judgment method.
16. A program for causing a computer to function as the signal determination device according to claim 1 or 2.
Citation Information
Patent Citations
Abnormality detection device, abnormality detection method, program, and communication system
JP2019068253A
Fraud detection method, fraud detection device, and program
JP2019176473A
Information processing device
WO2020202850A1