JP6838147B2 - ECU - Google Patents

ECU Download PDF

Info

Publication number
JP6838147B2
JP6838147B2 JP2019519078A JP2019519078A JP6838147B2 JP 6838147 B2 JP6838147 B2 JP 6838147B2 JP 2019519078 A JP2019519078 A JP 2019519078A JP 2019519078 A JP2019519078 A JP 2019519078A JP 6838147 B2 JP6838147 B2 JP 6838147B2
Authority
JP
Japan
Prior art keywords
data
ecu
time
received
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019519078A
Other languages
Japanese (ja)
Other versions
JPWO2018211790A1 (en
Inventor
浩介 中園
浩介 中園
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bosch Corp
Original Assignee
Bosch Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bosch Corp filed Critical Bosch Corp
Publication of JPWO2018211790A1 publication Critical patent/JPWO2018211790A1/en
Application granted granted Critical
Publication of JP6838147B2 publication Critical patent/JP6838147B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/121Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
    • H04W12/122Counter-measures against attacks; Protection against rogue devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、ECUに関し、特に車載ネットワーク上に配置されるECUに適用して好適なものである。 The present invention relates to an ECU, and is particularly suitable for an ECU arranged on an in-vehicle network.

近年、CAN(Controller Area Network)と呼ばれる通信規格を利用した車載ネットワーク(CANネットワーク)が普及している。このCANネットワークは、車両に設置された複数の電子制御装置(ECU:Electronic Control Unit)と、CANを利用した通信バス(CANバス)とが接続されて構成される。ECUは、このCANバスを介して、他のECUと互いに通信(CAN通信)することができる。 In recent years, an in-vehicle network (CAN network) using a communication standard called CAN (Controller Area Network) has become widespread. This CAN network is configured by connecting a plurality of electronic control units (ECUs) installed in a vehicle and a communication bus (CAN bus) using CAN. The ECU can communicate with each other (CAN communication) with other ECUs via this CAN bus.

CANバスは、ECU同士を互いに通信可能に接続する一方で、データリンクコネクタ(DLC:Data Link Connector)を備える。このデータリンクコネクタに専用の機器を接続することで、ECUが備える自己診断機能(OBD:On Board Diagnostics)により生成される故障コードを読み取ることができる。故障コードを参照することで、例えばサービスエンジニアは故障箇所を容易に特定することができる。 The CAN bus includes a data link connector (DLC) while connecting the ECUs to each other so as to be able to communicate with each other. By connecting a dedicated device to this data link connector, it is possible to read the failure code generated by the self-diagnosis function (OBD: On Board Diagnostics) provided in the ECU. By referring to the failure code, for example, a service engineer can easily identify the failure location.

ところで、このDLCが不正に利用された場合、具体的にはDLCを介して、正規のデータとIDが同一で中身が異なる不正なデータが外部からCANバスに送信された場合、CANバスに接続されているECUがこの不正なデータを受信して誤動作するおそれがある。よってセキュリティ保護の観点から、このような不正なデータを防御する技術が必要となる。 By the way, when this DLC is used illegally, specifically, when illegal data having the same ID and different contents as the legitimate data is transmitted from the outside to the CAN bus, it connects to the CAN bus. There is a possibility that the ECU being used receives this invalid data and malfunctions. Therefore, from the viewpoint of security protection, a technology for preventing such malicious data is required.

なお不正なデータは、DLCに有線で接続された機器からCANバスに送信される場合と、DLCに無線通信可能な機器が接続されて、この機器を介して無線でCANバスに送信される場合とが考えられる。 Incorrect data is transmitted to the CAN bus from a device connected to the DLC by wire, or when a device capable of wireless communication is connected to the DLC and transmitted wirelessly to the CAN bus via this device. You could think so.

特許文献1には、CANバスに対して送信されたデータについて、前回の送信タイミングと、今回の送信タイミングとの間の差分を送信周期として算出し、この送信周期と、予め記憶する不正データ判定用の送信周期とを比較し、比較した結果、算出した送信周期が不正データ判定用の送信周期よりも短い場合、今回送信されたデータを不正データとして判定する技術が開示されている。 In Patent Document 1, regarding the data transmitted to the CAN bus, the difference between the previous transmission timing and the current transmission timing is calculated as the transmission cycle, and this transmission cycle and the invalid data determination to be stored in advance are determined. When the calculated transmission cycle is shorter than the transmission cycle for determining invalid data as a result of comparing with the transmission cycle for determining the data transmitted this time, a technique for determining the data transmitted this time as invalid data is disclosed.

この特許文献1に記載の技術によれば、一のECUがCANバスを監視し、他のECUが不正データの受信を完了する前にこれを検出して無効化することができる。これにより正規なデータとIDが同一で中身が異なる不正なデータがCANバスに侵入し、CANバスに接続されているECUの誤動作を引き起こすなりすまし攻撃から、車載ネットワークに接続している全てのECUを防御することができるとしている。 According to the technique described in Patent Document 1, one ECU monitors the CAN bus, and the other ECU can detect and invalidate the CAN bus before completing the reception of the illegal data. As a result, illegal data with the same ID and different contents invades the CAN bus, causing spoofing attacks that cause malfunction of the ECU connected to the CAN bus, and all ECUs connected to the in-vehicle network are removed. It is said that it can be defended.

特開2014−236248号公報Japanese Unexamined Patent Publication No. 2014-236248

しかしこの特許文献1に記載の技術では、CANバスに対して送信されたデータを常時監視するための追加の機器が必要になる。具体的には、ECUとCANバスとを接続する通常の通信線に加えて、これと並列にこのECUとCANバスとを接続する追加の通信線が更に必要となる。またCANバス上のデータを常時監視する処理、不正データか否かを判定する処理及び不正データである場合の無効化処理等の追加の処理が必要になる。 However, the technique described in Patent Document 1 requires an additional device for constantly monitoring the data transmitted to the CAN bus. Specifically, in addition to the normal communication line connecting the ECU and the CAN bus, an additional communication line connecting the ECU and the CAN bus in parallel with this is further required. In addition, additional processing such as a process of constantly monitoring the data on the CAN bus, a process of determining whether or not the data is invalid, and a process of invalidating the data when the data is invalid is required.

よって車載ネットワークのハードウェア構成及びソフトウェア構成が複雑化し、これに伴い、車載ネットワークを実現するための全体のコストが増加するという課題が生じる。 Therefore, the hardware configuration and software configuration of the in-vehicle network become complicated, and as a result, there arises a problem that the overall cost for realizing the in-vehicle network increases.

本発明は以上の点を考慮してなされたものであり、車載ネットワークの複雑化及びコストの増加を回避しつつ、セキュリティの保護を実現し得るECUを提案する。 The present invention has been made in consideration of the above points, and proposes an ECU that can realize security protection while avoiding the complexity of the in-vehicle network and the increase in cost.

かかる課題を解決するために、本発明においては、CANバス(20)に接続されているECU(10)において、ECU(10)のCPU(100)は、通信バス(20)を介して正規のデータ(D1)を受信した後、正規のデータ(D1)とIDが同一のデータ(D2〜D8)を受信し、IDが同一のデータ(D2〜D8)の一定期間内における受信回数が予め定められた規定回数(DC)以上である場合、異常な状態であると判断して、安全な制御状態に移行することを特徴とする。 In order to solve such a problem, in the present invention, in the ECU (10) connected to the CAN bus (20), the CPU (100) of the ECU (10) is a regular one via the communication bus (20). After receiving the data (D1), the data (D2 to D8) having the same ID as the regular data (D1) is received, and the number of times the data (D2 to D8) having the same ID is received within a certain period is predetermined. When the number of times (DC) or more is specified, it is determined that the state is abnormal, and the state shifts to a safe control state.

本発明によれば、車載ネットワークの複雑化及びコストの増加を回避しつつ、セキュリティの保護を実現することができる。 According to the present invention, security protection can be realized while avoiding the complexity of the in-vehicle network and the increase in cost.

車載ネットワークの全体構成図である。It is an overall block diagram of an in-vehicle network. ECUの内部構成図である。It is an internal block diagram of an ECU. 受信処理のフローチャートである。It is a flowchart of a reception process. 受信処理の概念図である。It is a conceptual diagram of a reception process.

以下本発明について、図面を参照しながら本発明の一実施の形態を詳述する。なお以下の説明はあくまで本発明の一実施の形態にすぎず、本発明の技術的範囲がこれに限定されるものではない。 Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. The following description is merely an embodiment of the present invention, and the technical scope of the present invention is not limited thereto.

図1は、車両1における車載ネットワークN1の全体構成を示す。車載ネットワークN1は、CAN(Controller Area Network)と呼ばれる通信規格を利用したネットワークであり、電子制御装置(ECU:Electronic Control Unit)10及びCANバス20を備えて構成される。 FIG. 1 shows the overall configuration of the vehicle-mounted network N1 in the vehicle 1. The in-vehicle network N1 is a network using a communication standard called CAN (Controller Area Network), and is configured to include an electronic control unit (ECU) 10 and a CAN bus 20.

ECU10は、車両1の各種動作を制御する制御装置である。ECU10は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)及び入出力インタフェース等を備えて構成される。各ECU10は、それぞれCANバス20に接続される。これにより各ECU10は、CANバス20を介して互いに通信可能に接続される。 The ECU 10 is a control device that controls various operations of the vehicle 1. The ECU 10 includes a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read Only Memory), an input / output interface, and the like. Each ECU 10 is connected to the CAN bus 20. As a result, the ECUs 10 are communicatively connected to each other via the CAN bus 20.

なおCANバス20に接続されるECU10のうち、エンジンECUと呼ばれるECU10は、車両1の動作を統括的に制御する。そのため本実施の形態においては、このエンジンECUに本発明を適用することで、特に走行に関する制御についてセキュリティの保護を実現しようとするものである。 Of the ECUs 10 connected to the CAN bus 20, the ECU 10 called the engine ECU controls the operation of the vehicle 1 in an integrated manner. Therefore, in the present embodiment, by applying the present invention to this engine ECU, it is intended to realize security protection particularly for control related to traveling.

CANバス20は、CANを利用した通信バスであり、各ECU10を互いに通信可能に接続する。またCANバス20は、データリンクコネクタ(DLC:Data Link Connector)30を備える。DLC30は、スキャンツール40を有線又は無線によりCANバス20に接続するための接続コネクタである。 The CAN bus 20 is a communication bus using CAN, and connects each ECU 10 so as to be able to communicate with each other. Further, the CAN bus 20 includes a data link connector (DLC: Data Link Connector) 30. The DLC 30 is a connector for connecting the scan tool 40 to the CAN bus 20 by wire or wirelessly.

DLC30にスキャンツール40を接続し、スキャンツール40上で特定の操作を行うと、ECU10が備える自己診断機能(OBD:On Board Diagnostics)により生成される故障コードを読み取ることができる。例えばサービスエンジニアは、スキャンツール40の表示画面上に表示される故障コードを参照して、車両1の故障箇所を特定することができる。 When the scan tool 40 is connected to the DLC 30 and a specific operation is performed on the scan tool 40, the failure code generated by the self-diagnosis function (OBD: On Board Diagnostics) provided in the ECU 10 can be read. For example, the service engineer can identify the failure location of the vehicle 1 by referring to the failure code displayed on the display screen of the scan tool 40.

ここで、DLC30を介して車両1の外部から不正なデータがCANバス20に送信される場合が考えられる。ここでいう不正なデータとは、少なくともCANバス20に送信されるタイミングが正規のデータとは異なるデータをいう。 Here, it is conceivable that invalid data may be transmitted to the CAN bus 20 from the outside of the vehicle 1 via the DLC 30. The invalid data here means data whose timing of transmission to the CAN bus 20 is different from that of the regular data.

例えば一の正規のデータのIDが「1」で、「100ms」ごとにCANバス20に送信される場合、IDが「1」で、「120ms」ごとにCANバス20に送信されるデータは本実施の形態においては不正なデータとして取り扱われる。またこのIDが「1」のデータとの関係において、IDが異なるデータ、或いは、IDが同一であっても内容が異なるデータも当然に不正なデータとなる。 For example, if the ID of one regular data is "1" and is transmitted to the CAN bus 20 every "100 ms", the data transmitted to the CAN bus 20 every "1" and "120 ms" is the book. In the embodiment, it is treated as invalid data. Further, in relation to the data whose ID is "1", the data having different IDs or the data having the same ID but different contents are naturally invalid data.

このような不正なデータがDLC30を介してCANバス20に送信された場合であって何らの防御手段もない場合、CANバス20に接続されているECU10がこれを受信して演算処理してしまう。特にエンジンECUが不正なデータを受信して演算処理すると、走行に関する制御が不能になるおそれがある。 If such invalid data is transmitted to the CAN bus 20 via the DLC 30 and there is no protective means, the ECU 10 connected to the CAN bus 20 receives the data and performs arithmetic processing. .. In particular, if the engine ECU receives invalid data and performs arithmetic processing, control related to running may become impossible.

本実施の形態においては、たとえ不正なデータがCANバス20に送信された場合であっても、ECU10においてこの不正なデータは演算処理の対象から除外し、正規のデータだけを演算処理の対象とするようにしている。またECU10がCANバス20を介して、不正なデータを受信する受信回数が増加した場合、これを異常な状態と判断し、安全な制御状態に移行するようにしている。 In the present embodiment, even when invalid data is transmitted to the CAN bus 20, the illegal data is excluded from the target of the arithmetic processing in the ECU 10, and only the regular data is the target of the arithmetic processing. I try to do it. Further, when the number of times that the ECU 10 receives invalid data via the CAN bus 20 increases, it is determined that this is an abnormal state, and the state shifts to a safe control state.

安全な制御状態には、エンジンを停止させた状態(エンストさせた状態)、CANバス20からのデータの受信を拒否した状態、最小のギア段による走行を維持するリンプホームモードに移行した状態などがある。 Safe control states include a state in which the engine is stopped (state in which the engine is stalled), a state in which data reception from the CAN bus 20 is refused, and a state in which the vehicle has shifted to a limp home mode that maintains running with the minimum gear. There is.

図2は、ECU10の内部構成を示す。ECU10は、ここでは図示しないRAM及びROM等のメモリや入出力インタフェースを備えるとともに、CPU100を備える。CPU100は、データ送受信部101、受信データ監視部102、CANバッファ103及び制御判断部104及び演算部105等のプログラム又はメモリを備える。 FIG. 2 shows the internal configuration of the ECU 10. The ECU 10 includes a memory such as a RAM and a ROM (not shown here) and an input / output interface, and also includes a CPU 100. The CPU 100 includes programs or memories such as a data transmission / reception unit 101, a reception data monitoring unit 102, a CAN buffer 103, a control determination unit 104, and a calculation unit 105.

データ送受信部101は、CANバス20からの正規又は不正なデータD0〜D8を受信して、受信データ監視部102に出力する。またデータ送受信部101は、これらのデータD0〜D8のうちの正規のデータに対する演算結果D21、D22又は安全な制御状態に移行するためのフェールセーフデータD23をCANバス20に送信する。 The data transmission / reception unit 101 receives the regular or invalid data D0 to D8 from the CAN bus 20 and outputs the data to the reception data monitoring unit 102. Further, the data transmission / reception unit 101 transmits the calculation results D21 and D22 for the regular data among the data D0 to D8 or the fail-safe data D23 for shifting to the safe control state to the CAN bus 20.

演算結果D21、D22、フェールセーフデータD23は、その後他のECU10や他の機器の動作に用いられる。他のECU10や他の機器がフェールセーフデータD23を受信した場合、安全な制御がドライバの操作によらずに実行されることになる。 The calculation results D21 and D22 and the fail-safe data D23 are subsequently used for the operation of another ECU 10 and other devices. When another ECU 10 or another device receives the fail-safe data D23, safe control is executed without the operation of the driver.

受信データ監視部102は、データ送受信部101からの正規又は不正なデータD0〜D8を入力すると、これらのデータをCANバッファ103に出力するとともに、これらのデータD0〜D8の受信回数をカウントして異常な状態であるか否かを判断する。 When the received data monitoring unit 102 inputs normal or invalid data D0 to D8 from the data transmitting / receiving unit 101, the received data monitoring unit 102 outputs these data to the CAN buffer 103 and counts the number of times the data D0 to D8 are received. Determine if it is in an abnormal state.

具体的に、受信データ監視部102は、基準となる一の正規のデータD0を受信すると、これをCANバッファ103に出力するとともに、CPU100の内部に保持するタイマTを起動して時間のカウントを開始する。 Specifically, when the reception data monitoring unit 102 receives one regular data D0 as a reference, it outputs the data to the CAN buffer 103 and activates the timer T held inside the CPU 100 to count the time. Start.

受信データ監視部102は、IDごとに予め対応付けられた規定時間DTを参照して、この規定時間DTが経過するまでの間に受信したデータD0〜D8をCANバッファ103に出力する。またこれらのデータD0〜D8の受信回数をカウンタCによりカウントする。すなわち受信データ監視部102は、単位時間当たりのデータの受信回数をカウントする。 The reception data monitoring unit 102 refers to the predetermined time DT associated with each ID in advance, and outputs the data D0 to D8 received until the specified time DT elapses to the CAN buffer 103. Further, the number of times of receiving these data D0 to D8 is counted by the counter C. That is, the reception data monitoring unit 102 counts the number of times data is received per unit time.

そして受信データ監視部102は、予め定められた規定回数DCを参照して、カウンタCによりカウントされた受信回数が規定回数DC以上であるか否かを判断する。受信回数が規定回数DC以上になった場合、受信データ監視部102は異常な状態であるものと判断する。そして受信データ監視部102は、異常な状態であることを示す監視結果を制御判断部104に出力する。 Then, the reception data monitoring unit 102 refers to a predetermined number of times DC and determines whether or not the number of times of reception counted by the counter C is equal to or more than the specified number of times DC. When the number of receptions exceeds the specified number of times DC, the reception data monitoring unit 102 determines that the state is abnormal. Then, the reception data monitoring unit 102 outputs a monitoring result indicating that the state is abnormal to the control determination unit 104.

CANバッファ103は、演算処理待ちのデータを格納するメモリである。
制御判断部104は、受信データ監視部102からの監視結果に基づいて、CANバッファ103に格納されているデータを演算対象とするか、或いは、演算対象から除外するかを判断する。そして制御判断部104は、判断結果を演算部105に出力する。
The CAN buffer 103 is a memory for storing data waiting for arithmetic processing.
Based on the monitoring result from the received data monitoring unit 102, the control determination unit 104 determines whether the data stored in the CAN buffer 103 is to be calculated or excluded from the calculation target. Then, the control determination unit 104 outputs the determination result to the calculation unit 105.

演算部105は、制御判断部104からの判断結果に基づいて、CANバッファ103に格納されたデータD0〜D8のうちの規定時間DTの経過後で所定時間内(ウインドウ内)に受信したデータを演算処理して、演算結果D21、D22を生成する。或いは、演算処理の対象から除外してフェールセーフデータD23を生成する。 Based on the determination result from the control determination unit 104, the calculation unit 105 receives the data received within the predetermined time (in the window) after the lapse of the specified time DT among the data D0 to D8 stored in the CAN buffer 103. Calculation processing is performed to generate calculation results D21 and D22. Alternatively, the fail-safe data D23 is generated by excluding it from the target of arithmetic processing.

例えば演算部105は、データD0のIDが「1」であり、このIDに予め対応付けられている規定時間DTが「100ms」である場合、IDが「1」のデータについてはデータD0を受信してから100ms〜110ms、或いは、95ms〜105msの間のウインドウ内に受信したデータを演算処理して、演算結果D21、D22を生成する。 For example, when the ID of the data D0 is "1" and the predetermined time DT associated with the ID is "100 ms", the calculation unit 105 receives the data D0 for the data whose ID is "1". Then, the data received in the window between 100 ms and 110 ms or 95 ms and 105 ms is subjected to arithmetic processing to generate arithmetic results D21 and D22.

一方で演算部105は、異常な状態である場合、CANバッファ103に格納されたデータD0〜D8を演算対象から除外し、安全な制御状態に移行するためのフェールセーフデータD23を生成する。演算部105は、生成した演算結果D21、D22又はフェールセーフデータD23をデータ送受信部101に出力する。 On the other hand, when the calculation unit 105 is in an abnormal state, the data D0 to D8 stored in the CAN buffer 103 are excluded from the calculation target, and the fail-safe data D23 for shifting to the safe control state is generated. The calculation unit 105 outputs the generated calculation results D21, D22 or fail-safe data D23 to the data transmission / reception unit 101.

図3は、本実施の形態における受信処理のフローチャートを示す。受信処理は、ECU10のCPU100により、カウンタCが起動された時点から開始され、それ以後は常時実行される。カウンタCの起動タイミングは、ECU10の電源ON時であることを想定しているが、必ずしもこれに限られない。 FIG. 3 shows a flowchart of the reception process according to the present embodiment. The reception process is started from the time when the counter C is started by the CPU 100 of the ECU 10, and is always executed thereafter. The start timing of the counter C is assumed to be when the power of the ECU 10 is turned on, but it is not necessarily limited to this.

またここでは、基準となる一の正規のデータを受信した後の一定期間に限って説明する。ここで説明するデータのIDは全て同一である(例えば「1」)。すなわちIDごとに本処理が行われる。説明の便宜上、処理主体をCPU100として説明する。 Further, here, only a certain period of time after receiving one regular data as a reference will be described. The IDs of the data described here are all the same (for example, "1"). That is, this process is performed for each ID. For convenience of explanation, the processing subject will be described as the CPU 100.

まずCPU100は、カウンタCを起動して受信回数のカウントを開始する(S1)。その後CPU100は、CANバス20から一の正規のデータを受信すると(S2)、タイマTを起動して時間のカウントを開始する(S3)。 First, the CPU 100 activates the counter C to start counting the number of receptions (S1). After that, when the CPU 100 receives one regular data from the CAN bus 20 (S2), the CPU 100 activates the timer T and starts counting the time (S3).

CPU100は、タイマTを起動した後、ステップS2で正規のデータを受信しているので受信回数iを+1だけカウントアップする(S4)。そしてCPU100は、受信回数iがi≧規定回数DCであるか否かを判断する(S5)。 After starting the timer T, the CPU 100 receives the regular data in step S2, so the reception count i is counted up by +1 (S4). Then, the CPU 100 determines whether or not the number of receptions i is i ≧ the specified number of times DC (S5).

例えば規定回数DCが「6」回であるものとして定められている場合、一の正規のデータを受信した時点では受信回数iは「1」回であるため受信回数i<規定回数DCであり、ステップS5の判断では否定結果を得ることになる。 For example, when the specified number of times DC is set to be "6" times, the number of times received i is "1" times when one regular data is received, so the number of times received i <the specified number of times DC. The judgment in step S5 will give a negative result.

CPU100は、ステップS5の判断で否定結果を得ると(S5:N)、受信した正規のデータをCANバッファ103に出力する(S6)。そしてCPU100は、タイマTを起動した以後で他に受信したデータがあるか否かを判断する(S7)。CPU100は、ステップS7の判断で肯定結果を得ると(S7:Y)、ステップS4に移行して上述の処理を繰り返す。 When the CPU 100 obtains a negative result in the determination in step S5 (S5: N), the CPU 100 outputs the received regular data to the CAN buffer 103 (S6). Then, the CPU 100 determines whether or not there is other received data after the timer T is started (S7). When the CPU 100 obtains an affirmative result in the determination in step S7 (S7: Y), the CPU 100 proceeds to step S4 and repeats the above process.

これに対しCPU100は、ステップS7の判断で否定結果を得ると(S7:N)、ステップS2で受信した正規のデータのIDに対応付けられている規定時間DTと、ステップS3でカウントを開始したカウント時間とを参照して、カウント時間が規定時間DTを経過したか否かを判断する(S8)。 On the other hand, when the CPU 100 obtains a negative result in the judgment of step S7 (S7: N), the CPU 100 starts counting in the specified time DT associated with the ID of the regular data received in step S2 and in step S3. With reference to the count time, it is determined whether or not the count time has passed the specified time DT (S8).

CPU100は、ステップS8の判断で否定結果を得ると(S8:N)、カウント時間が規定時間DTを経過するまでステップS4に移行して、上述の処理を繰り返す。そしてCPU100は、ステップS5の判断で肯定結果を得ると(S5:Y)、異常な状態であるものと判断する(S9)。そしてCPU100は、安全な制御状態に移行して(S10)、本処理を終了する。 When the CPU 100 obtains a negative result in the determination of step S8 (S8: N), the CPU 100 proceeds to step S4 until the count time elapses the specified time DT, and repeats the above-mentioned process. Then, when the CPU 100 obtains an affirmative result in the determination in step S5 (S5: Y), it determines that it is in an abnormal state (S9). Then, the CPU 100 shifts to a safe control state (S10), and ends this process.

これに対しCPU100は、ステップS8の判断で肯定結果を得ると(S8:Y)、カウンタCを停止及び再起動することにより、カウント回数を一旦リセットして受信回数のカウントを再度開始する(S12)。 On the other hand, when the CPU 100 obtains an affirmative result in the determination in step S8 (S8: Y), the counter C is stopped and restarted to temporarily reset the count count and restart the reception count (S12). ).

次いでCPU100は、CANバッファ103に格納されているデータのうち、規定時間DTの経過後から所定時間内(ウインドウ内)に受信したデータがあるか否かを判断する(S13)。 Next, the CPU 100 determines whether or not there is data received within a predetermined time (in the window) after the lapse of the specified time DT among the data stored in the CAN buffer 103 (S13).

CPU100は、ステップS13の判断で否定結果を得ると(S13:N)、CANバッファ103に格納されているデータを演算処理せずに本処理を終了する。これに対しCPU100は、肯定結果を得ると(S13:Y)、CANバッファ103に格納されているデータのうち、ウインドウ内に受信したデータを演算処理して(S14)、本処理を終了する。 When the CPU 100 obtains a negative result in the determination in step S13 (S13: N), the CPU 100 ends this process without performing arithmetic processing on the data stored in the CAN buffer 103. On the other hand, when the CPU 100 obtains an affirmative result (S13: Y), among the data stored in the CAN buffer 103, the CPU 100 performs arithmetic processing on the data received in the window (S14), and ends this processing.

なおCPU100は、これ以降に受信するIDが同一のデータについてはステップS4に移行して上述の処理を繰り返すことになる。 The CPU 100 will move to step S4 and repeat the above-mentioned process for the data having the same ID to be received thereafter.

図4は、図3で説明した受信処理の概念図を示す。以下時系列に沿って、データD0〜D8の処理について説明する。 FIG. 4 shows a conceptual diagram of the reception process described with reference to FIG. The processing of the data D0 to D8 will be described below in chronological order.

時間t=t0のタイミングで、基準となる正規のデータD0がデータ送受信部101により受信される。また受信データ監視部102により、タイマTが起動されるとともに規定時間DTが参照される。またカウンタCの受信回数が+1だけカウントアップされる。 At the timing of time t = t0, the reference regular data D0 is received by the data transmission / reception unit 101. Further, the reception data monitoring unit 102 starts the timer T and refers to the specified time DT. Further, the number of receptions of the counter C is counted up by +1.

その後データD0は、CANバッファ103に出力される。CANバッファ103に格納されたデータD0は、制御判断部104により演算対象であると判断された後、演算部105により演算処理される。その結果、演算結果D21が生成される。 After that, the data D0 is output to the CAN buffer 103. The data D0 stored in the CAN buffer 103 is calculated by the calculation unit 105 after being determined by the control determination unit 104 to be the calculation target. As a result, the calculation result D21 is generated.

時間tがt0≦t<t1の間では、受信されるデータの監視が受信データ監視部102により行われる。具体的にはタイマTにより時間がカウントされ、カウンタCにより受信回数がカウントされる。ここではデータD0のみが受信されただけであるため、受信回数は1回である。 When the time t is t0 ≦ t <t1, the received data monitoring unit 102 monitors the received data. Specifically, the timer T counts the time, and the counter C counts the number of receptions. Here, since only the data D0 is received, the number of receptions is one.

時間t=t1のタイミングで、タイマT及びカウンタCが受信データ監視部102により停止及び再起動されて、カウント時間及び受信回数がリセットされる。リセットされた後はカウントが再開される。ここでのタイマTは、時間t=t2のタイミングで時間のカウントを再開し、カウンタCはリセットされた後すぐにデータのカウントを再開する。 At the timing of time t = t1, the timer T and the counter C are stopped and restarted by the reception data monitoring unit 102, and the count time and the number of receptions are reset. After being reset, counting will resume. The timer T here restarts the time count at the timing of the time t = t2, and the counter C restarts the data count immediately after being reset.

時間tがt1<t≦t3の間は、受信したデータを演算処理の対象とする期間を示す。この期間をここではウインドウWと呼ぶ。正規のデータD1は、時間t=t2のタイミングで受信されたデータであり、このウインドウW内で受信されたデータである。 When the time t is t1 <t ≦ t3, it indicates a period during which the received data is subject to arithmetic processing. This period is referred to as window W here. The regular data D1 is the data received at the timing of time t = t2, and is the data received in this window W.

よってデータD1は、その後CANバッファ103に出力されて、制御判断部104により演算対象と判断された後、演算部105により演算処理される。その結果、演算結果D22が生成される。 Therefore, the data D1 is then output to the CAN buffer 103, is determined by the control determination unit 104 to be a calculation target, and then is subjected to calculation processing by the calculation unit 105. As a result, the calculation result D22 is generated.

時間tがt2≦t<t5の間は、受信されるデータの監視が再び行われる。ここではこの間に複数の不正なデータD2〜D7が受信されている。カウンタCにより不正なデータD2〜D7が受信されるたびに受信回数が+1だけカウントアップされる。 While the time t is t2 ≦ t <t5, the reception data is monitored again. Here, a plurality of invalid data D2 to D7 are received during this period. Each time the counter C receives invalid data D2 to D7, the number of receptions is counted up by +1.

時間t=t4のタイミングで、受信回数が規定回数DCに到達していることが示されている。この場合、受信データ監視部102からの監視結果が制御判断部104に出力され、制御判断部104により以降に受信するデータは演算処理の対象から除外される。 It is shown that the number of receptions has reached the specified number of times DC at the timing of time t = t4. In this case, the monitoring result from the received data monitoring unit 102 is output to the control determination unit 104, and the data received thereafter by the control determination unit 104 is excluded from the target of the arithmetic processing.

時間tがt5<t≦t7の間は、ここでは2回目のウインドウWが設定されている。このようにウインドウWは規定時間DTが経過するたびに定期的に設けられる。正規のデータD8は、時間t=t6のタイミングで受信されたデータであり、このウインドウW内で受信されたデータであるが、演算処理の対象から除外される。そしてこれに代えてフェールセーフデータD23が生成される。 While the time t is t5 <t ≦ t7, the second window W is set here. In this way, the window W is periodically provided every time the specified time DT elapses. The regular data D8 is data received at the timing of time t = t6, and is data received in this window W, but is excluded from the target of arithmetic processing. Then, instead of this, fail-safe data D23 is generated.

以上のように本実施の形態によれば、基準となる正規のデータD0を受信した場合、その後に受信するデータのうち、データD0と同一のIDのデータの受信回数をカウントし、一定期間内における受信回数が規定回数DCに到達しない場合はその後に受信するデータD1を演算処理し、受信回数が規定回数DC以上になる場合は異常な状態であると判断して、安全な制御状態に移行するようにした。 As described above, according to the present embodiment, when the reference regular data D0 is received, the number of times of receiving the data having the same ID as the data D0 is counted among the data received thereafter, and within a certain period of time. If the number of receptions in the above does not reach the specified number of times DC, the data D1 to be received after that is processed, and if the number of times of reception exceeds the specified number of times DC, it is judged to be an abnormal state and the state shifts to a safe control state. I tried to do it.

より具体的には、正規のデータD0を受信した時点でタイマTを起動し、カウント時間が規定時間DTを経過するまでの間に受信したデータの受信回数をカウントし、受信回数が規定回数DCに到達しない場合はその後にウインドウW内で受信した正規のデータD1を演算処理するようにする一方で、受信回数が規定回数DCに到達した場合は正規のデータD8を演算処理の対象から除外し、代わりにフェールセーフデータD23を生成し、これに基づいて安全な制御状態に移行するようにした。 More specifically, the timer T is activated when the regular data D0 is received, the number of times the received data is received before the specified time DT elapses, and the number of times of reception is DC. If it does not reach, the regular data D1 received in the window W is processed after that, while if the number of receptions reaches the specified number DC, the regular data D8 is excluded from the calculation processing. Instead, fail-safe data D23 was generated, and based on this, a safe control state was entered.

これにより、なりすまし攻撃に対する防御手段として追加の機器を必要とすることなく、また不正な受信データを監視、判定及び無効化する等の煩雑な処理を必要とすることなく、単にソフトウェアの制御によって不正なデータを防御することができる。よって本実施の形態によれば、車載ネットワークの複雑化及びコストの増加を回避しつつ、セキュリティの保護を実現することができる。 As a result, fraud is simply controlled by software without the need for additional equipment as a defense against spoofing attacks and without the need for complicated processing such as monitoring, determining, and invalidating unauthorized received data. Data can be protected. Therefore, according to the present embodiment, it is possible to realize security protection while avoiding the complexity of the in-vehicle network and the increase in cost.

なお本実施の形態においては、IDと規定時間DTとが予め対応付けられているが、これに加えて規定時間DTとウインドウ幅(図4においては時間t1とt3との間の時間)とが対応付けられているとしてもよい。 In the present embodiment, the ID and the specified time DT are associated with each other in advance, but in addition to this, the specified time DT and the window width (the time between the times t1 and t3 in FIG. 4) are It may be associated.

例えばIDが「1」については、規定時間DTが「99ms」、ウインドウ幅が「10ms」が予め対応付けられており、IDが「2」については、規定時間DTが「50ms」、ウインドウ幅が「5ms」が予め対応付けられているとしてもよい。すなわち単位時間当たりの受信回数に応じてウインドウ幅を可変にしてもよい。 For example, when the ID is "1", the specified time DT is "99 ms" and the window width is "10 ms" in advance, and when the ID is "2", the specified time DT is "50 ms" and the window width is "50 ms". "5 ms" may be associated in advance. That is, the window width may be changed according to the number of receptions per unit time.

この場合、単位時間当たりの受信回数が多いデータについてはウインドウ幅を短くするようにして、不正なデータを演算処理の対象から除外し易くすることができる。よってより確実にセキュリティの保護を実現することができる。 In this case, the window width can be shortened for data that is received a large number of times per unit time, so that invalid data can be easily excluded from the target of arithmetic processing. Therefore, security protection can be realized more reliably.

また本実施の形態においては、カウント時間が規定時間DTを経過した時点で受信回数を一旦リセットするとしているが、これに限らず、受信回数の累計が規定回数DCに到達するまでリセットしないとしてもよい。すなわちカウンタCが受信回数のカウントを開始してから、定期的に設けるウインドウWの範囲外で受信したデータの受信回数の累計が規定回数DCに到達したタイミングで、受信回数をリセットするとしてもよい。 Further, in the present embodiment, the number of receptions is reset once when the count time elapses from the specified time DT, but the present invention is not limited to this, and even if the cumulative number of receptions does not reset until the specified number of times DC is reached. Good. That is, after the counter C starts counting the number of receptions, the number of receptions may be reset at the timing when the cumulative number of receptions of the data received outside the range of the window W provided periodically reaches the specified number DC. ..

この場合、カウント時間が規定時間DTを経過するたびに受信回数をリセットする必要がなくなるため処理の簡素化を図ることができる。また異常な状態と判断されるほどに不正なデータを受信していなくとも、定常的に不正なデータを受信している場合、これを異常な状態と判断することができる。 In this case, it is not necessary to reset the number of receptions each time the count time elapses for the specified time DT, so that the processing can be simplified. Further, even if the invalid data is not received to the extent that it is determined to be an abnormal state, if the invalid data is constantly received, this can be determined to be an abnormal state.

1 車両
10 ECU
20 CANバス
30 DLC
40 スキャンツール
100 CPU
101 データ送受信部
102 受信データ監視部
103 CANバッファ
104 制御判断部
105 演算部
1 vehicle 10 ECU
20 CAN Bus 30 DLC
40 Scan Tool 100 CPU
101 Data transmission / reception unit 102 Received data monitoring unit 103 CAN buffer 104 Control judgment unit 105 Calculation unit

Claims (5)

通信バス(20)に接続されているECU(10)において、
前記ECU(10)のCPU(100)は、
規定時間(DT)毎に設けられるウインドウ(W)内において前記通信バス(20)を介して正規のデータ(D1)を受信した後、前記正規のデータ(D1)とIDが同一のデータ(D2〜D8)を受信し、前記IDが同一のデータ(D2〜D8)の前記規定時間(DT)内における受信回数が予め定められた規定回数(DC)以上である場合、異常な状態であると判断して、安全な制御状態に移行し、
前記IDが同一のデータ(D2〜D8)の前記規定時間(DT)における受信回数が前記規定回数(DC)未満である場合、前記ウインドウ(W)内で受信した前記正規のデータ(D1)を演算処理の対象とし、
前記正規のデータ(D1)の受信時に時間のカウントを開始し、カウント時間が前記規定時間(DT)を経過した時点(t5)から所定時間が経過するまで(t7)の間に前記ウインドウ(W)を設定する、
ことを特徴とするECU。
In the ECU (10) connected to the communication bus (20)
The CPU (100) of the ECU (10) is
After receiving the regular data (D1) via the communication bus (20) in the window (W) provided every specified time (DT) , the data (D2) having the same ID as the regular data (D1). ~ D8) is received, and when the number of times of receiving the same data (D2 to D8) within the specified time (DT) is equal to or more than the predetermined number of times (DC), it is considered to be an abnormal state. Judge, move to a safe control state,
When the number of times of receiving the data (D2 to D8) having the same ID in the specified time (DT) is less than the specified number of times (DC), the regular data (D1) received in the window (W) is displayed. Target of arithmetic processing
The time count is started when the regular data (D1) is received, and the window (W) is between the time when the count time elapses from the specified time (DT) (t5) and the time when the predetermined time elapses (t7). ) To set
An ECU characterized by that.
前記CPU(100)は、
異常な状態であると判断した場合、
前記ウインドウ(W)内で受信したデータ(D8)を演算処理の対象から除外し、安全な制御状態に移行するためのフェールセーフデータを生成する
ことを特徴とする請求項に記載のECU。
The CPU (100)
If it is determined that the condition is abnormal,
The ECU according to claim 1 , wherein the data (D8) received in the window (W) is excluded from the target of arithmetic processing, and fail-safe data for shifting to a safe control state is generated.
前記規定時間(DT)は、
前記正規のデータ(D1)のIDごとに異なる
ことを特徴とする請求項又はに記載のECU。
The specified time (DT) is
The ECU according to claim 1 or 2 , wherein the ECU differs for each ID of the regular data (D1).
前記ウインドウ(W)は、
前記正規のデータ(D1)のIDごとに幅が異なる
ことを特徴とする請求項の何れか一項に記載のECU。
The window (W) is
The ECU according to any one of claims 1 to 3 , wherein the width is different for each ID of the regular data (D1).
前記CPU(100)は、
異常な状態であると判断した場合、
エンジンを停止させる制御、前記通信バス(20)からのデータの受信を拒否する制御又は最小のギア段による走行を維持する制御のうち、何れかの制御を実行することより、安全な制御状態に移行する
ことを特徴とする請求項1〜の何れか一項に記載のECU。
The CPU (100)
If it is determined that the condition is abnormal,
By executing any of the control of stopping the engine, the control of rejecting the reception of data from the communication bus (20), and the control of maintaining the running by the minimum gear stage, a safe control state can be obtained. The ECU according to any one of claims 1 to 4 , characterized in that the transition is performed.
JP2019519078A 2017-05-18 2018-03-08 ECU Active JP6838147B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017099285 2017-05-18
JP2017099285 2017-05-18
PCT/JP2018/008882 WO2018211790A1 (en) 2017-05-18 2018-03-08 Ecu

Publications (2)

Publication Number Publication Date
JPWO2018211790A1 JPWO2018211790A1 (en) 2020-02-27
JP6838147B2 true JP6838147B2 (en) 2021-03-03

Family

ID=64274048

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019519078A Active JP6838147B2 (en) 2017-05-18 2018-03-08 ECU

Country Status (4)

Country Link
JP (1) JP6838147B2 (en)
CN (1) CN110915170B (en)
DE (1) DE112018002549T5 (en)
WO (1) WO2018211790A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7211051B2 (en) * 2018-12-05 2023-01-24 株式会社デンソー Network switches and line monitoring devices
CN111596570B (en) * 2020-05-26 2023-09-12 杭州电子科技大学 Vehicle CAN bus simulation and attack system and method
JP7491203B2 (en) * 2020-12-09 2024-05-28 トヨタ自動車株式会社 Control device, system, vehicle, program, and control device operation method

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101417636B (en) * 2008-03-14 2013-03-20 北京理工大学 Pure electric motor coach communication system and method based on three CAN bus
JP2013068216A (en) * 2011-09-10 2013-04-18 Denso Corp On-board speed reducing device
WO2013094072A1 (en) * 2011-12-22 2013-06-27 トヨタ自動車 株式会社 Communication system and communication method
JP5919205B2 (en) * 2013-01-28 2016-05-18 日立オートモティブシステムズ株式会社 Network device and data transmission / reception system
CN103605349B (en) * 2013-11-26 2017-11-14 厦门雅迅网络股份有限公司 A kind of remote real-time data collection and analytic statistics system and method based on CAN bus
CN110610092B (en) * 2014-04-17 2023-06-06 松下电器(美国)知识产权公司 In-vehicle network system, gateway device, and abnormality detection method
WO2015170451A1 (en) * 2014-05-08 2015-11-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ In-vehicle network system, electronic control unit, and irregularity detection method
JP6267596B2 (en) * 2014-07-14 2018-01-24 国立大学法人名古屋大学 Communication system, communication control apparatus, and unauthorized information transmission prevention method
WO2016038816A1 (en) * 2014-09-12 2016-03-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Vehicle communication device, in-vehicle network system, and vehicle communication method
EP3337102B1 (en) * 2014-12-01 2020-03-25 Panasonic Intellectual Property Corporation of America Illegality detection electronic control unit, car onboard network system, and illegality detection method
JP6603617B2 (en) * 2015-08-31 2019-11-06 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Gateway device, in-vehicle network system, and communication method
WO2017037977A1 (en) * 2015-08-31 2017-03-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Gateway apparatus, in-vehicle network system, and communication method

Also Published As

Publication number Publication date
CN110915170B (en) 2021-11-16
DE112018002549T5 (en) 2020-04-09
JPWO2018211790A1 (en) 2020-02-27
CN110915170A (en) 2020-03-24
WO2018211790A1 (en) 2018-11-22

Similar Documents

Publication Publication Date Title
CN107005447B (en) Communication control device and communication system
CN107431709B (en) Attack recognition method, attack recognition device and bus system for automobile
JP6838147B2 (en) ECU
JP5423754B2 (en) Bus monitoring security device and bus monitoring security system
US10326793B2 (en) System and method for guarding a controller area network
JP6369341B2 (en) In-vehicle communication system
WO2017038422A1 (en) Communication device
US11938897B2 (en) On-vehicle device, management method, and management program
US10721241B2 (en) Method for protecting a vehicle network against manipulated data transmission
KR101972457B1 (en) Method and System for detecting hacking attack based on the CAN protocol
EP3854651A1 (en) Electronic control device, electronic control method, and program
JP5578207B2 (en) Communication load judgment device
CN107196897B (en) Monitoring device and communication system
JP6913869B2 (en) Surveillance equipment, surveillance systems and computer programs
JP2015192216A (en) Communication device and communication method
JP2017126204A (en) Data communication system for vehicle
EP3121753B1 (en) System for controlling the communication between a main device and an auxiliary device and associated main device and auxiliary device used in the system
JP6528239B2 (en) Communication device and program
JPWO2018198545A1 (en) ECU
EP3904161A1 (en) Information processing device
JP2017149234A (en) Vehicle monitoring system
WO2020008872A1 (en) On-board security system and attack dealing method
JP2015112962A (en) Information processing apparatus
JP2020096320A (en) Illegal signal processing device
WO2018037894A1 (en) Authentication device for vehicles

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200708

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200904

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210210

R151 Written notification of patent or utility model registration

Ref document number: 6838147

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250