JP2019172261A - Control device, control system and control program - Google Patents
Control device, control system and control program Download PDFInfo
- Publication number
- JP2019172261A JP2019172261A JP2019126502A JP2019126502A JP2019172261A JP 2019172261 A JP2019172261 A JP 2019172261A JP 2019126502 A JP2019126502 A JP 2019126502A JP 2019126502 A JP2019126502 A JP 2019126502A JP 2019172261 A JP2019172261 A JP 2019172261A
- Authority
- JP
- Japan
- Prior art keywords
- brake
- instruction
- control instruction
- control
- brake control
- 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.)
- Pending
Links
Images
Landscapes
- Valves And Accessory Devices For Braking Systems (AREA)
- Regulating Braking Force (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
本発明は、例えば車両に搭載される電子制御ユニットが通信を行う車載ネットワークにおいて送信されるブレーキ制御指示メッセージについての不正に対処するためのセキュリティ技術に関する。 The present invention relates to a security technique for coping with a fraud about a brake control instruction message transmitted in an in-vehicle network in which an electronic control unit mounted on a vehicle communicates, for example.
近年、自動車の中のシステムには、電子制御ユニット(ECU:Electronic Control Unit)と呼ばれる装置が多数配置されている。これらのECUをつなぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには、多数の規格が存在する。その中でも最も主流な車載ネットワークの一つに、ISO11898−1で規定されているCAN(Controller Area Network)という規格が存在する。 In recent years, many systems called electronic control units (ECUs) are arranged in systems in automobiles. A network connecting these ECUs is called an in-vehicle network. There are many standards for in-vehicle networks. Among them, one of the most mainstream in-vehicle networks is a standard called CAN (Controller Area Network) defined by ISO11898-1.
CANでは、通信路は2本のワイヤで構成されたバス(CANバス)であり、バスに接続されているECUはノードと呼ばれる。CANバスに接続されている各ノードは、フレーム(メッセージ)を送受信する。フレームを送信する送信ノードは、2本のバスに電圧をかけ、バス間で電位差を発生させることによって、レセシブと呼ばれる「1」の値と、ドミナントと呼ばれる「0」の値を送信する。複数の送信ノードが全く同一のタイミングで、レセシブとドミナントを送信した場合は、ドミナントが優先されて送信される。受信ノードは、受け取ったフレームのフォーマットに異常がある場合には、エラーフレームと呼ばれるフレームを送信する。エラーフレームとは、ドミナントを6bit連続して送信することで、送信ノードや他の受信ノードにフレームの異常を通知するものである。 In CAN, the communication path is a bus composed of two wires (CAN bus), and the ECU connected to the bus is called a node. Each node connected to the CAN bus transmits and receives a frame (message). A transmission node that transmits a frame applies a voltage to two buses to generate a potential difference between the buses, thereby transmitting a value of “1” called recessive and a value of “0” called dominant. When a plurality of transmitting nodes transmit recessive and dominant at exactly the same timing, the dominant is transmitted with priority. When there is an abnormality in the format of the received frame, the receiving node transmits a frame called an error frame. An error frame is a notification of frame abnormality to a transmitting node or another receiving node by transmitting dominants continuously for 6 bits.
またCANでは、送信先や送信元を指す識別子は存在せず、送信ノードはフレーム毎に、メッセージIDと呼ばれるIDを付けて送信し(つまりバスに信号を送出し)、各受信ノードは予め定められたメッセージIDのみを受信する(つまりバスから信号を読み取る)。また、CANでは、CSMA/CA(Carrier Sense Multiple Access/Collision Avoidance)方式を採用しており、複数ノードの同時送信時にはメッセージIDによる調停が行われ、メッセージIDの値が小さいフレームが優先的に送信される。自動車の中のシステムにおいては、多数のECUそれぞれは、様々なフレームの授受を行う。例えば、各ECUがフレームを授受して連携することで、先進運転者支援システム(ADAS:Advanced Driver Assistance System)の衝突回避支援機能等が実現される。衝突回避支援機能では、例えば、ブレーキを制御するブレーキECU、障害物の検知等を行うセンサECU、障害物に衝突する恐れを検知してブレーキ制御指示のフレームを出す緊急ブレーキECU等が連携する。 In CAN, there is no identifier indicating a transmission destination or a transmission source, the transmission node transmits an ID called a message ID for each frame (that is, sends a signal to the bus), and each reception node is predetermined. Only the received message ID is received (ie, the signal is read from the bus). In addition, CAN employs a CSMA / CA (Carrier Sense Multiple Access / Collision Avoidance) method, and arbitration is performed using a message ID during simultaneous transmission of a plurality of nodes, and a frame with a small message ID value is preferentially transmitted. Is done. In a system in an automobile, each of a large number of ECUs exchanges various frames. For example, a collision avoidance support function of an Advanced Driver Assistance System (ADAS) is realized by each ECU exchanging and linking frames. In the collision avoidance support function, for example, a brake ECU that controls a brake, a sensor ECU that detects an obstacle, an emergency brake ECU that detects the possibility of collision with an obstacle and outputs a frame of a brake control instruction, and the like cooperate.
ところで、CANバスに不正なノードを接続すること、或いは、携帯情報端末、車外の通信装置等と通信する機能を有するECU等を攻撃して不正なノードに変化させること等により、攻撃者が、攻撃フレームをCANバスに送信して、自動車を不正にコントロールする脅威が存在する。攻撃フレームは、不正な攻撃者によってCANバスに送信されたフレームであり、車載ネットワークの正常状態において本来は送信されないフレーム(不正なフレーム)である。例えば、攻撃者により、走行中の車両の前方に障害物がない状態で、急ブレーキを発動させるようなブレーキ制御指示のフレームがCANバスに送信されると、その車両の急停止により乗員の負傷、後続車両の衝突等の事故が生じ得る。 By the way, by connecting an unauthorized node to the CAN bus, or by attacking an ECU having a function of communicating with a portable information terminal, a communication device outside the vehicle, etc. There is a threat of sending an attack frame to the CAN bus to illegally control the car. The attack frame is a frame transmitted to the CAN bus by an unauthorized attacker, and is a frame (illegal frame) that is not originally transmitted in a normal state of the in-vehicle network. For example, if an attacker sends a brake control instruction frame to activate a sudden brake to the CAN bus with no obstacles in front of the running vehicle, the vehicle is suddenly stopped and the passenger is injured. An accident such as a collision of the following vehicle may occur.
このような攻撃フレームを検知して防御する技術として、車載ネットワークにおいて周期的に送信されるべきメッセージIDのフレームについて、想定される周期を予め登録しておき、想定周期に基づいて不正か否かの判別を行う技術が知られている(特許文献1参照)。しかし、特許文献1の技術では、攻撃者が正規のECUのフレーム送信周期に合わせてフレームを送信するような場合に対応できない。例えば、不正なフレームが正規のフレームの直前に受信した場合に、不正なフレームを検出できず、直後に続く正規のフレームを不正と誤って検出してしまう。
As a technique for detecting and defending against such attack frames, an expected period is registered in advance for the frame of the message ID to be transmitted periodically in the in-vehicle network, and whether or not it is illegal based on the assumed period. A technique for discriminating is known (see Patent Document 1). However, the technique of
また、従来、車載ネットワークで受信したフレームに係る車輪速の数値情報について、基準として定めた所定値より大きい場合には、異常であると判断する技術が知られている(特許文献2参照)。 Conventionally, there is known a technique for determining that the numerical value information of the wheel speed related to the frame received by the in-vehicle network is abnormal when it is larger than a predetermined value set as a reference (see Patent Document 2).
特許文献2の技術は、フレームの周期に依存せずに、受信したフレームに関して異常の判断を行うが、不正なブレーキ制御指示の攻撃フレームに適切に対処するためには有用ではない。
The technique of
そこで、本発明は、攻撃者により移動体におけるネットワーク(例えば車載ネットワーク)のバスに送信される不正なブレーキ制御指示の攻撃フレームに適切に対処する制御装置を提供する。また、本発明は、ブレーキ制御指示に係る不正なフレームに適切に対処する制御システム、制御方法、及び、その制御システムでブレーキ制御指示に係る不正なフレームに適切に対処するために用いられる制御プログラムを提供する。 Therefore, the present invention provides a control device that appropriately copes with an attack frame of an illegal brake control instruction transmitted by an attacker to a bus of a network (for example, an in-vehicle network) in a moving body. The present invention also relates to a control system, a control method, and a control program used to appropriately deal with an unauthorized frame related to a brake control instruction in the control system. I will provide a.
上記課題を解決するために本発明の一態様に係る制御装置は、移動体のブレーキを制御する指示を受信する受信部と、前記受信部が前記指示を受信した際、前記移動体と障害物との距離及び前記移動体の速度が所定条件を満たすか否かに基づいて前記指示が不正であるか否かを判別する判別部と、を備えた、制御装置である。 In order to solve the above problem, a control device according to one aspect of the present invention includes a receiving unit that receives an instruction to control a brake of a moving body, and the moving body and an obstacle when the receiving unit receives the instruction. And a determining unit that determines whether or not the instruction is illegal based on whether or not a distance between the moving object and a speed of the moving object satisfies a predetermined condition.
また、上記課題を解決するために本発明の一態様に係る制御システムは、移動体に設けられるブレーキと、前記移動体に対する障害物を検知する検知装置と、制御装置と、を備え、前記制御装置は、前記移動体の前記ブレーキを制御する指示を受信し、前記指示を受信した際、前記移動体と前記障害物との距離及び前記移動体の速度が所定条件を満たすか否かに基づいて前記指示が不正か否かを判別する、制御システムである。 In order to solve the above problem, a control system according to an aspect of the present invention includes a brake provided in a moving body, a detection device that detects an obstacle to the moving body, and a control device, and the control The apparatus receives an instruction to control the brake of the moving body, and based on whether the distance between the moving body and the obstacle and the speed of the moving body satisfy a predetermined condition when the instruction is received. A control system for determining whether the instruction is illegal.
また、上記課題を解決するために本発明の一態様に係る制御方法は、移動体において複数の電子制御ユニットが通信に用いるバスからブレーキ制御指示を受信し、前記ブレーキ制御指示を受信した際、前記移動体と障害物との距離及び前記移動体の速度が所定条件を満たす場合、当該ブレーキ制御指示を無効化又は破棄する、制御方法である。 Further, in order to solve the above-described problem, the control method according to one aspect of the present invention receives a brake control instruction from a bus used for communication by a plurality of electronic control units in a mobile body, and receives the brake control instruction. When the distance between the moving body and the obstacle and the speed of the moving body satisfy predetermined conditions, the brake control instruction is invalidated or discarded.
また、上記課題を解決するために本発明の一態様に係る制御プログラムは、マイクロプロセッサを備える装置に不正検知処理を行わせるための制御プログラムであって、前記不正検知処理は、移動体において複数の電子制御ユニットが通信に用いるバスからブレーキ制御指示を受信し、前記ブレーキ制御指示を受信した際、前記移動体と障害物との距離及び前記移動体の速度が所定条件を満たすか否かにより、当該ブレーキ制御指示が不正であるか否かを検知する制御プログラムである。 In order to solve the above problem, a control program according to an aspect of the present invention is a control program for causing a device including a microprocessor to perform fraud detection processing. The electronic control unit receives a brake control instruction from the bus used for communication, and when the brake control instruction is received, the distance between the moving body and the obstacle and the speed of the moving body satisfy a predetermined condition. , A control program for detecting whether or not the brake control instruction is illegal.
本発明によれば、攻撃者によりブレーキ制御指示に係る不正なフレーム(攻撃フレーム)の無効化が可能となり得る。 According to the present invention, an invalid frame (attack frame) related to a brake control instruction can be invalidated by an attacker.
(本発明の基礎となった知見等)
車両の先進運転者支援システムでは、障害物に車両が衝突することを回避するための緊急ブレーキECUは、障害物の検知等を行うセンサECUから取得した情報等に基づいて、概ね衝突直前にブレーキ制御指示(つまりブレーキ制御指示のフレーム)をCANバスに送信する。そのブレーキ制御指示に従って、ブレーキECUがブレーキを制御することで、衝突の前に車両が停止する。なお、ブレーキ制御指示の内容として、例えばブレーキを作動させる指定の他に、ブレーキの作動を抑止させる指定等がある。
(Knowledge that became the basis of the present invention)
In an advanced driver assistance system for vehicles, an emergency brake ECU for avoiding a vehicle from colliding with an obstacle is braked almost immediately before the collision based on information obtained from a sensor ECU for detecting an obstacle. A control instruction (that is, a brake control instruction frame) is transmitted to the CAN bus. The brake ECU controls the brake according to the brake control instruction, so that the vehicle stops before the collision. Note that the contents of the brake control instruction include, for example, a designation to inhibit the brake operation in addition to a designation to actuate the brake.
攻撃者により、不正なブレーキ制御指示の攻撃フレーム(不正なフレーム)が送信され、その不正なブレーキ制御指示が、緊急ブレーキECUが送信する適正なブレーキ制御指示と相違する内容である場合においては、車両等の事故につながる可能性がある。適正なブレーキ制御指示は、車両の進行方向における障害物と車両との距離、及び、車両の速度に対応した内容となるべきである。そこで、CANバスに送信されたブレーキ制御指示が、車両の走行状況に応じた適正なブレーキ制御指示か、これと相違する内容の不正なブレーキ制御指示かを、車両の進行方向の障害物と車両との距離、及び、車両の速度(例えば車両と障害物との相対速度或いは絶対速度)に基づいて判別する方法に想到した。なお、車両は一例であり、車両その他を含む移動体にもこの方法を適用し得る。本発明の一態様に係る制御システム等では、その方法により不正なブレーキ制御指示を判別し、不正なブレーキ制御指示であれば無効化することで、そのブレーキ制御指示に従ってブレーキ制御がなされないようにする。これにより、攻撃フレームによって事故が引き起こされることの防止が可能となる。 In the case where an attacker transmits an attack frame (illegal frame) of an unauthorized brake control instruction, and the unauthorized brake control instruction is different from an appropriate brake control instruction transmitted by the emergency brake ECU, It may lead to accidents such as vehicles. The appropriate brake control instruction should be a content corresponding to the distance between the obstacle and the vehicle in the traveling direction of the vehicle and the speed of the vehicle. Therefore, whether the brake control instruction transmitted to the CAN bus is an appropriate brake control instruction according to the traveling state of the vehicle or an illegal brake control instruction having a content different from this is determined as an obstacle in the traveling direction of the vehicle and the vehicle. And a method of discriminating based on the speed of the vehicle and the speed of the vehicle (for example, the relative speed or the absolute speed between the vehicle and the obstacle). The vehicle is an example, and this method can be applied to a moving body including a vehicle and others. In a control system or the like according to an aspect of the present invention, an unauthorized brake control instruction is determined by the method, and if it is an invalid brake control instruction, the brake control is not performed according to the brake control instruction by invalidating the instruction. To do. Thereby, it is possible to prevent an accident from being caused by the attack frame.
本発明の一態様に係る制御装置は移動体のブレーキを制御する指示を受信する受信部と、前記受信部が前記指示を受信した際、前記移動体と障害物との距離及び前記移動体の速度が所定条件を満たすか否かに基づいて前記指示が不正であるか否かを判別する判別部と、を備えた、制御装置である。これにより、移動体(例えば車両)と障害物(例えば歩行者、他の車両、建築物等)との距離、及び、移動体の速度に基づいて、移動体のブレーキを制御する指示が不正であるか否かを判別することが可能となる。 A control device according to an aspect of the present invention includes a receiving unit that receives an instruction to control a brake of a moving body, and a distance between the moving body and an obstacle when the receiving unit receives the instruction, and And a determination unit that determines whether or not the instruction is illegal based on whether or not the speed satisfies a predetermined condition. As a result, an instruction to control the brake of the moving body based on the distance between the moving body (for example, a vehicle) and an obstacle (for example, a pedestrian, another vehicle, or a building) and the speed of the moving body is incorrect. It is possible to determine whether or not there is.
また、例えば、前記制御装置は、前記判別部によって前記指示が不正と判別された場合、前記指示による制御が実行されないように制御を行う制御部をさらに備えても良い。より具体的な例としては、前記制御部は、前記指示を無効化又は破棄することにより、前記指示による制御が実行されないように制御を行っても良い。無効化は広義には移動体のブレーキを制御する指示(以下ではブレーキ制御指示ともいう)が有効に作用しないようにすることである。但し、ここではブレーキ制御指示をバス上において有効に作用しないようにする(例えば後述するエラーフレームによる上書きによって改変する)ことを無効化と称し、バスからブレーキ制御指示がECUに受信された後においてそのブレーキ制御指示を有効に作用しないようにすることを破棄と称する。破棄は、ブレーキ制御指示に従ったブレーキの制御を抑止することを含む。 In addition, for example, the control device may further include a control unit that performs control so that the control based on the instruction is not executed when the determination unit determines that the instruction is illegal. As a more specific example, the control unit may perform control so that control according to the instruction is not executed by invalidating or discarding the instruction. Invalidation is, in a broad sense, to prevent an instruction for controlling the brake of the moving body (hereinafter also referred to as a brake control instruction) from acting effectively. However, here, making the brake control instruction ineffective on the bus (for example, modifying by overwriting with an error frame described later) is called invalidation, and after the brake control instruction is received from the bus by the ECU Preventing the brake control instruction from acting effectively is referred to as discarding. Discarding includes inhibiting brake control according to the brake control instruction.
また、例えば、前記速度は、前記障害物に対する前記移動体の相対速度であることとしても良い。これにより、障害物が移動している場合においても、ブレーキ制御指示が不正か否か(つまり無効化制御の対象であるか否か)を適切に判別可能となる。 Further, for example, the speed may be a relative speed of the moving body with respect to the obstacle. Thereby, even when the obstacle is moving, it is possible to appropriately determine whether or not the brake control instruction is illegal (that is, whether or not the object is subject to invalidation control).
また、例えば、前記判別部は、前記距離と前記速度とに基づく所定演算の結果と閾値とを比較することにより前記距離及び前記速度が前記所定条件を満たすか否かを判別することとしても良い。これにより、所定演算及び閾値を適切に定めておくことで、不正なブレーキ制御指示に対する適切な対処が可能となる。 Further, for example, the determination unit may determine whether the distance and the speed satisfy the predetermined condition by comparing a predetermined calculation result based on the distance and the speed with a threshold value. . Accordingly, by appropriately setting the predetermined calculation and the threshold value, it is possible to appropriately cope with an illegal brake control instruction.
また、例えば、前記指示は、前記ブレーキによる減速量を含み、前記判別部は、前記指示が最大の減速量を含む場合、前記所定演算の結果が第1閾値より大きいことを前記所定条件として用い、前記指示が減速量としてゼロを含む場合、前記所定演算の結果が前記第1閾値以下の第2閾値より小さいことを前記所定条件として用いることとしても良い。これにより、ブレーキを作動させるべき状況においてその作動の抑止を指示するような不正なブレーキ制御指示、或いは、ブレーキを作動させるべきでない状況においてブレーキの作動を指示するような不正なブレーキ制御指示を、無効化することが可能となる。 Further, for example, the instruction includes a deceleration amount by the brake, and the determination unit uses, as the predetermined condition, that a result of the predetermined calculation is larger than a first threshold when the instruction includes a maximum deceleration amount. When the instruction includes zero as the deceleration amount, it may be used as the predetermined condition that a result of the predetermined calculation is smaller than a second threshold value not more than the first threshold value. Thus, an illegal brake control instruction that instructs to inhibit the operation in a situation where the brake should be operated, or an illegal brake control instruction that instructs the operation of the brake in a situation where the brake should not be operated, It can be invalidated.
また、例えば、前記第2閾値は、前記第1閾値より小さいこととしても良い。これにより、ブレーキの作動を指示するブレーキ制御指示とブレーキの作動の抑止を指示するブレーキ制御指示との両方が必ずしも不正ではない状況(障害物と移動体の距離及び移動体の速度に係る状況)に適切に対応することが可能となる。 For example, the second threshold value may be smaller than the first threshold value. As a result, the situation where both the brake control instruction for instructing the operation of the brake and the brake control instruction for instructing the suppression of the operation of the brake are not necessarily improper (the situation relating to the distance between the obstacle and the moving body and the speed of the moving body) It is possible to respond appropriately.
また、例えば、前記所定演算は、緊急ブレーキ電子制御ユニットからの正常な状態の前記指示が減速量としてゼロより大きい量を含む場合、前記所定演算の結果が、前記第1閾値以下かつ前記第2閾値以上となるように定められていることとしても良い。これにより、緊急ブレーキECUが正常な状態である場合(つまり攻撃者に支配された状態や故障した状態でない場合)において送信するブレーキ制御指示の無効化が、抑止される。 In addition, for example, when the normal calculation from the emergency brake electronic control unit includes an amount greater than zero as a deceleration amount, the predetermined calculation results in the predetermined calculation being equal to or less than the first threshold and the second calculation. It is good also as having been defined so that it may become more than a threshold. As a result, invalidation of the brake control instruction to be transmitted when the emergency brake ECU is in a normal state (that is, when it is not controlled by the attacker or not in failure) is suppressed.
また、例えば、前記所定演算は、定められた係数と前記速度との積を前記距離から減算する演算であり、前記第1閾値は0であることとしても良い。これにより、比較的簡易な演算を用いて効率的に不正なブレーキ制御指示の無効化を実現することが可能となる。 Further, for example, the predetermined calculation may be an operation of subtracting a product of a predetermined coefficient and the speed from the distance, and the first threshold may be zero. This makes it possible to effectively invalidate invalid brake control instructions using relatively simple calculations.
また、例えば、前記所定演算は、係数が定められた一変数の多項式関数の変数に前記速度を代入した結果を前記距離から減算する演算であることとしても良い。これにより、多項式関数の係数を適切に定めておくことで、不正なブレーキ制御指示に対する適切な対処が可能となる。 Further, for example, the predetermined calculation may be an operation of subtracting a result obtained by substituting the speed into a variable of a single-variable polynomial function with a coefficient determined from the distance. Accordingly, by appropriately determining the coefficient of the polynomial function, it is possible to appropriately cope with an illegal brake control instruction.
また、例えば、前記判別部は、前記移動体の前記ブレーキによる制動距離に影響を与える前記移動体の構成要素の変化に応じて、前記所定演算の内容を変更することとしても良い。これにより、移動体の構成要素が変化した場合においても適切に不正なブレーキ制御指示を無効化することが可能となる。 In addition, for example, the determination unit may change the content of the predetermined calculation according to a change in a component of the moving body that affects a braking distance of the moving body by the brake. As a result, even when the components of the moving body are changed, it is possible to appropriately invalidate an invalid brake control instruction.
また、例えば、前記受信部は、前記移動体において検出された前記障害物の種別を示す障害物情報を受信し、前記判別部は、前記障害物情報に応じて、前記所定演算の内容を変更することとしても良い。これにより、人、物体等といった障害物の種別に応じて緊急ブレーキECUがブレーキを作動させるべきタイミング等を変化させるようなシステムにおいて、適切に不正なブレーキ制御指示を無効化することが可能となる。 In addition, for example, the receiving unit receives obstacle information indicating the type of the obstacle detected in the moving object, and the determination unit changes the content of the predetermined calculation according to the obstacle information. It is also good to do. This makes it possible to appropriately invalidate an incorrect brake control instruction in a system in which the emergency brake ECU changes the timing at which the brake should be operated according to the type of obstacle such as a person or an object. .
また、例えば、前記判別部は、前記指示が前記ブレーキの作動の指示である場合、前記速度に対する前記距離の比が閾値を超えることを前記所定条件として用いることとしても良い。これにより、ブレーキの作動を指示するブレーキ制御指示が不正か否か(つまり無効化制御の対象であるか否か)を適切に判別可能となる。 Further, for example, when the instruction is an instruction for operating the brake, the determination unit may use, as the predetermined condition, that a ratio of the distance to the speed exceeds a threshold value. As a result, it is possible to appropriately determine whether or not the brake control instruction for instructing the operation of the brake is illegal (that is, whether or not the brake control instruction is an object of invalidation control).
また、例えば、前記所定条件は、前記移動体の車種に対応して定められていることとしても良い。これにより、車種毎のブレーキ性能等に応じて、ブレーキ制御指示が不正か否かを適切に判別することが可能となる。 Further, for example, the predetermined condition may be determined corresponding to a vehicle type of the moving body. As a result, it is possible to appropriately determine whether or not the brake control instruction is illegal in accordance with the brake performance or the like for each vehicle type.
また、例えば、前記受信部は、前記移動体において測定された、前記距離及び前記速度の測定結果を示す測定情報を受信し、前記判別部は、前記測定情報から特定した前記距離及び前記速度が前記所定条件を満たすか否かに基づいて前記指示が不正であるか否かを判別することとしても良い。これにより、制御装置は、バスから距離及び速度の取得が可能となるので、センサと専用の通信路で通信するための通信回路、或いは、センサを有する必要がなくなる。 Further, for example, the receiving unit receives measurement information indicating the measurement result of the distance and the speed measured in the moving body, and the determination unit receives the distance and the speed specified from the measurement information. It may be determined whether or not the instruction is illegal based on whether or not the predetermined condition is satisfied. Thereby, since the distance and speed can be acquired from the bus, the control device does not need to have a communication circuit or a sensor for communicating with the sensor through a dedicated communication path.
また、例えば、前記受信部は、Controller Area Networkプロトコルに従って、前記指示を含むデータフレームを受信し、前記制御部は、前記受信部が前記データフレームを受信した際、前記判別部によって前記指示が不正と判別された場合、前記データフレームを無効化するエラーフレームを送信する制御を行うこととしても良い。これにより、ブレーキECUの構成を新たなものにする必要がなくなり、例えば従来同様のブレーキECUが接続されたバスに制御装置を接続することで、不正なブレーキ制御指示によってブレーキECUが不正な制御を行うことが抑制される。 In addition, for example, the receiving unit receives a data frame including the instruction according to a Controller Area Network protocol, and the control unit receives the data frame from the controller, and the determination unit illegally receives the data frame. If it is discriminated, control for transmitting an error frame for invalidating the data frame may be performed. As a result, there is no need to renew the configuration of the brake ECU. For example, by connecting a control device to a bus to which a conventional brake ECU is connected, the brake ECU performs unauthorized control by an unauthorized brake control instruction. It is suppressed to do.
また、例えば、前記制御装置は、1以上の電子制御ユニットに含まれる前記移動体のブレーキを制御する電子制御ユニットであり、前記制御部は、前記判別部によって前記指示が不正と判別された場合、前記指示を破棄することで前記指示に従った前記ブレーキの制御を抑止する制御を行うこととしても良い。これにより、ブレーキECUにおいて不正なブレーキ制御指示に適切に対処することが可能となる。 Further, for example, the control device is an electronic control unit that controls a brake of the moving body included in one or more electronic control units, and the control unit determines that the instruction is illegal by the determination unit. The control may be performed to suppress the brake control according to the instruction by discarding the instruction. Thereby, it becomes possible to appropriately deal with an illegal brake control instruction in the brake ECU.
また、例えば、前記移動体に含まれる1以上の電子制御ユニットは、記憶媒体と、前記記憶媒体に格納された情報に従って前記ブレーキを制御するブレーキ制御部とを有するブレーキ電子制御ユニットを含み、前記制御装置は、前記ブレーキ電子制御ユニットに含まれ、前記制御部は、前記判別部によって前記指示が不正と判別された場合、前記指示を示す情報を前記記憶媒体に格納しないことで前記指示を破棄する制御を行うこととしても良い。これにより、ブレーキECUにおいてブレーキ制御指示を適切にフィルタリングすることが可能となる。 Further, for example, the one or more electronic control units included in the moving body include a brake electronic control unit having a storage medium and a brake control unit that controls the brake according to information stored in the storage medium, The control device is included in the brake electronic control unit, and the control unit discards the instruction by not storing information indicating the instruction in the storage medium when the instruction is determined to be illegal by the determination unit. It is good also as performing control to perform. As a result, the brake ECU can appropriately filter the brake control instruction.
また、本発明の一態様に係る制御システムは、移動体に設けられるブレーキと、前記移動体に対する障害物を検知する検知装置と、制御装置と、を備え、前記制御装置は、前記移動体の前記ブレーキを制御する指示を受信し、前記指示を受信した際、前記移動体と前記障害物との距離及び前記移動体の速度が所定条件を満たすか否かに基づいて前記指示が不正か否かを判別する、制御システムである。これにより、移動体と障害物との距離、及び、移動体の速度に基づいて不正なブレーキ制御指示を無効化することが可能となる。 In addition, a control system according to one aspect of the present invention includes a brake provided in a moving body, a detection device that detects an obstacle to the moving body, and a control device, and the control device includes: When the instruction to control the brake is received and the instruction is received, whether the instruction is illegal based on whether the distance between the moving body and the obstacle and the speed of the moving body satisfy a predetermined condition It is a control system that determines whether or not. This makes it possible to invalidate an incorrect brake control instruction based on the distance between the moving body and the obstacle and the speed of the moving body.
また、本発明の一態様に係る制御方法は、移動体において複数の電子制御ユニットが通信に用いるバスからブレーキ制御指示を受信し、前記ブレーキ制御指示を受信した際、前記移動体と障害物との距離及び前記移動体の速度が所定条件を満たす場合、当該ブレーキ制御指示を無効化又は破棄する制御方法である。これにより、移動体と障害物との距離、及び、移動体の速度に基づいて不正なブレーキ制御指示を無効化することが可能となる。 In the control method according to one aspect of the present invention, the mobile body receives a brake control instruction from a bus used for communication by a plurality of electronic control units in the mobile body, and when the brake control instruction is received, the mobile body, the obstacle, When the distance and the speed of the moving body satisfy the predetermined conditions, the brake control instruction is invalidated or discarded. This makes it possible to invalidate an incorrect brake control instruction based on the distance between the moving body and the obstacle and the speed of the moving body.
また、本発明の一態様に係るプログラムは、マイクロプロセッサを備える装置に不正検知処理を行わせるためのプログラムであって、前記不正検知処理は、移動体のブレーキを制御する指示を受信し、前記指示を受信した際、前記移動体と障害物との距離及び前記移動体の速度が所定条件を満たすか否かに基づいて前記指示が不正であるか否かを判別する、プログラムである。このプログラムを、プロセッサ(マイクロプロセッサ)を備える装置にインストールすることにより、そのプロセッサがプログラムを実行することで、バス上に現れたブレーキ制御指示が不正であるか否かを適切に判別することが可能となる。 Further, a program according to an aspect of the present invention is a program for causing a device including a microprocessor to perform fraud detection processing. The fraud detection processing receives an instruction to control a brake of a moving object, and When the instruction is received, the program determines whether the instruction is illegal based on whether a distance between the moving body and the obstacle and a speed of the moving body satisfy a predetermined condition. By installing this program in a device including a processor (microprocessor), the processor can execute the program to appropriately determine whether or not the brake control instruction appearing on the bus is illegal. It becomes possible.
なお、これらの全般的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なCD−ROM等の記録媒体で実現されても良く、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されても良い。 These general or specific aspects may be realized by a system, a method, an integrated circuit, a computer program, or a computer-readable recording medium such as a CD-ROM. The system, method, integrated circuit, computer You may implement | achieve with arbitrary combinations of a program or a recording medium.
以下、実施の形態に係る制御方法を用いる制御システム等について、図面を参照しながら説明する。ここで示す実施の形態は、いずれも本発明の一具体例を示すものである。従って、以下の実施の形態で示される数値、構成要素、構成要素の配置及び接続形態、並びに、ステップ(工程)及びステップの順序等は、一例であって本発明を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。 Hereinafter, a control system using the control method according to the embodiment will be described with reference to the drawings. Each of the embodiments shown here shows a specific example of the present invention. Therefore, numerical values, components, arrangement and connection forms of components, and steps (processes) and order of steps shown in the following embodiments are merely examples, and do not limit the present invention. Among the constituent elements in the following embodiments, constituent elements that are not described in the independent claims can be arbitrarily added. Each figure is a mimetic diagram and is not necessarily illustrated strictly.
(実施の形態1)
以下、本発明の実施の一態様として、移動体の一例としての車両において車載ネットワークを構成するバス(CANバス)に送信された不正なブレーキ制御指示に係るフレームを無効化するセキュリティECU(制御装置)を備える制御システムについて、図面を用いて説明する。
(Embodiment 1)
Hereinafter, as an embodiment of the present invention, a security ECU (control device) that invalidates a frame related to an unauthorized brake control instruction transmitted to a bus (CAN bus) that constitutes an in-vehicle network in a vehicle as an example of a moving object ) Will be described with reference to the drawings.
[1.1 制御システム10の構成]
図1は、実施の形態1に係る制御システム10の全体構成を示す図である。
[1.1 Configuration of Control System 10]
FIG. 1 is a diagram illustrating an overall configuration of a
制御システム10は、主として車両20における車載ネットワークシステムで構成され、図1に例示するように、車両20に搭載された各種ECU(セキュリティECU100、ブレーキECU200、緊急ブレーキECU310、センサECU320、及び、エンジンECU330)と、バス(CANバス)30とを含んで構成される。なお、車両20における車載ネットワークシステムには、セキュリティECU100、ブレーキECU200、緊急ブレーキECU310、センサECU320、及び、エンジンECU330以外にいくつものECUが含まれ得るが、図1では省略して一部のECUのみを示している。また、制御システム10が、車両20におけるいずれかのECUと通信する車両外部のサーバ装置等を含んでも良い。
The
ECUは、例えば、プロセッサ(マイクロプロセッサ)、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ROM、RAM等であり、プロセッサにより実行される制御プログラム(ソフトウェアとしてのコンピュータプログラム)を記憶することができる。例えばプロセッサが、制御プログラム(コンピュータプログラム)に従って動作することにより、ECUは各種機能を実現することになる。なお、コンピュータプログラムは、所定の機能を達成するために、プロセッサに対する指令を示す命令コードが複数個組み合わされて構成されたものである。ECUは、CANプロトコルに従って車両内のバス30を介してフレームの授受を行い得る。
The ECU is a device including, for example, a processor (microprocessor), a digital circuit such as a memory, an analog circuit, a communication circuit, and the like. The memory is ROM, RAM, or the like, and can store a control program (computer program as software) executed by the processor. For example, when the processor operates according to a control program (computer program), the ECU realizes various functions. The computer program is configured by combining a plurality of instruction codes indicating instructions for the processor in order to achieve a predetermined function. The ECU can exchange frames via the
一部のECUは、バス30以外の通信路によりセンサ、アクチュエータ、ユーザインタフェース装置等の各種機器と接続されている。例えば、ブレーキECU200は、ブレーキ201に接続され、ブレーキ201を制御する。また、エンジンECU330は、エンジン331に接続され、エンジン331を制御する。また、センサECU320は、障害物センサ321及び速度センサ322に接続され、各センサで測定された測定情報を表すフレーム(データフレーム)を周期的にバス30に送信する。車載ネットワークシステムにおいて、個々のセンサ毎に対応してセンサECU320が複数存在しても良いが、ここでは便宜上、複数のセンサそれぞれで測定された測定情報を表すフレームを送信し得る1つのセンサECU320が存在するものとして説明する。障害物センサ(検知装置)321は、車両20の進行方向における障害物を検知し、車両20と障害物との距離等を測定するセンサである。速度センサ322は、車両20の速度を検知するセンサであり、例えば車両20の絶対速度を検知し得るが、ここでは障害物センサ321が検知した障害物に対する車両20の相対速度を検知するものとして説明する。なお、車両20の絶対速度は、障害物が移動しない場合については、障害物に対する車両の相対速度に等しい。
Some ECUs are connected to various devices such as sensors, actuators, and user interface devices through communication paths other than the
緊急ブレーキECU310は、先進運転者支援システムとしての衝突回避支援機能等を担うECUである。緊急ブレーキECU310は、ブレーキECU200のブレーキ制御を要求するために、センサECU320から取得した測定情報等に基づいて、ブレーキ制御指示のフレームをバス30に周期的に送信する。なお、緊急ブレーキECU310は、例えばセンサECU320と一体化する等により、バス30を介さずに各センサからの測定情報等を直接取得することとしてもよい。緊急ブレーキECU310は、例えば、概ね衝突直前にはブレーキを作動させることを要求する指定を内容とするブレーキ制御指示のフレームをバス30に送信する。
The
診断用ポート390は、OBD2(On-Board Diagnostics2)等のバス30に接続された端子であり、診断用ポート390を介して、診断ツール(故障診断ツール)等の機器によるバス30へのアクセスが可能となる。攻撃者は、例えば診断用ポート390等を介して、不正なブレーキ制御指示のフレーム(データフレーム)をバス30に注入(送信)する可能性がある。
The
セキュリティECU100は、車載ネットワークシステムのセキュリティを確保するための機能を担うECUである。セキュリティECU100は、バス30に流れるフレームを監視し、バス30上に現れた不正なブレーキ制御指示に係るデータフレームを、エラーフレームの送信により無効化する装置であり、不正なブレーキ制御指示の攻撃フレームに適切に対処する制御装置としての機能を有する。なお、セキュリティECU100は、不正なブレーキ制御指示のみならずその他の不正なデータフレームを一定条件下で無効化する機能を有してもよい。
The
[1.2 データフレームフォーマット]
以下、CANプロトコルに従ったネットワークで用いられるフレームの1つであるデータフレーム(メッセージ)について説明する。
[1.2 Data frame format]
Hereinafter, a data frame (message) which is one of the frames used in the network according to the CAN protocol will be described.
図2は、CANプロトコルで規定されるデータフレームのフォーマットを示す図である。同図には、CANプロトコルで規定される標準IDフォーマットにおけるデータフレームを示している。データフレームは、SOF(Start Of Frame)、IDフィールド、RTR(Remote Transmission Request)、IDE(Identifier Extension)、予約ビット「r」、DLC(Data Length Code)、データフィールド、CRC(Cyclic Redundancy Check)シーケンス、CRCデリミタ「DEL」、ACK(Acknowledgement)スロット、ACKデリミタ「DEL」、及び、EOF(End Of Frame)の各フィールドで構成される。 FIG. 2 is a diagram showing a format of a data frame defined by the CAN protocol. In the figure, a data frame in a standard ID format defined by the CAN protocol is shown. The data frame includes an SOF (Start Of Frame), an ID field, an RTR (Remote Transmission Request), an IDE (Identifier Extension), a reserved bit “r”, a DLC (Data Length Code), a data field, and a CRC (Cyclic Redundancy Check) sequence. , A CRC delimiter “DEL”, an ACK (Acknowledgement) slot, an ACK delimiter “DEL”, and an EOF (End Of Frame) field.
SOFは、1bitのドミナントで構成される。バスがアイドルの状態はレセシブになっており、SOFによりドミナントへ変更することでフレームの送信開始を通知する。 The SOF is composed of a 1-bit dominant. When the bus is idle, it is recessive, and the start of frame transmission is notified by changing to dominant by SOF.
IDフィールドは、11bitで構成される、データの種類を示す値であるID(メッセージID)を格納するフィールドである。複数のノードが同時に送信を開始した場合、このIDフィールドで通信調停を行うために、IDが小さい値を持つフレームが高い優先度となるよう設計されている。 The ID field is a field for storing an ID (message ID) that is a value indicating the type of data, which is composed of 11 bits. When a plurality of nodes start transmission at the same time, a frame having a small ID is designed to have a high priority in order to perform communication arbitration in this ID field.
RTRは、データフレームとリモートフレームとを識別するための値であり、データフレームにおいてはドミナント1bitで構成される。 RTR is a value for identifying a data frame and a remote frame, and is composed of a dominant 1 bit in the data frame.
IDEと「r」とは、両方ドミナント1bitで構成される。 IDE and “r” are both composed of dominant 1 bit.
DLCは、4bitで構成され、データフィールドの長さを示す値である。なお、IDE、「r」及びDLCを合わせてコントロールフィールドと称する。 The DLC is composed of 4 bits and is a value indicating the length of the data field. IDE, “r”, and DLC are collectively referred to as a control field.
データフィールドは、最大64bitで構成される送信するデータの内容を示す値である。8bit毎に長さを調整できる。送られるデータの仕様については、CANプロトコルで規定されておらず、車載ネットワークシステムにおいて定められる。従って、車種、製造者(製造メーカ)等に依存した仕様となる。 The data field is a value indicating the content of data to be transmitted that is composed of a maximum of 64 bits. The length can be adjusted every 8 bits. The specification of data to be sent is not defined by the CAN protocol, but is defined in the in-vehicle network system. Therefore, the specification depends on the vehicle type, manufacturer (manufacturer), and the like.
CRCシーケンスは、15bitで構成される。SOF、IDフィールド、コントロールフィールド及びデータフィールドの送信値より算出される。 The CRC sequence is composed of 15 bits. It is calculated from the transmission values of the SOF, ID field, control field and data field.
CRCデリミタは、1bitのレセシブで構成されるCRCシーケンスの終了を表す区切り記号である。なお、CRCシーケンス及びCRCデリミタを合わせてCRCフィールドと称する。 The CRC delimiter is a delimiter representing the end of a CRC sequence composed of 1-bit recessive. The CRC sequence and the CRC delimiter are collectively referred to as a CRC field.
ACKスロットは、1bitで構成される。送信ノードはACKスロットをレセシブにして送信を行う。受信ノードはCRCシーケンスまで正常に受信ができていればACKスロットをドミナントとして送信する。レセシブよりドミナントが優先されるため、送信後にACKスロットがドミナントであれば、送信ノードは、いずれかの受信ノードが受信に成功していることを確認できる。 The ACK slot is composed of 1 bit. The transmitting node performs transmission with the ACK slot being recessive. The receiving node transmits an ACK slot as a dominant if reception is successful up to the CRC sequence. Since dominant is given priority over recessive, if the ACK slot is dominant after transmission, the transmitting node can confirm that any receiving node has received successfully.
ACKデリミタは、1bitのレセシブで構成されるACKの終了を表す区切り記号である。 The ACK delimiter is a delimiter representing the end of ACK composed of 1-bit recessive.
EOFは、7bitのレセシブで構成されており、データフレームの終了を示す。 The EOF is composed of 7 bits recessive and indicates the end of the data frame.
[1.3 エラーフレームフォーマット]
図3は、CANプロトコルで規定されるエラーフレームのフォーマットを示す図である。エラーフレームは、エラーフラグ(プライマリ)と、エラーフラグ(セカンダリ)と、エラーデリミタとから構成される。
[1.3 Error frame format]
FIG. 3 is a diagram illustrating an error frame format defined by the CAN protocol. The error frame includes an error flag (primary), an error flag (secondary), and an error delimiter.
エラーフラグ(プライマリ)は、エラーの発生を他のノードに知らせるために使用される。エラーを検知したノードはエラーの発生を他のノードに知らせるために6bitのドミナントを連続で送信する。この送信は、CANプロトコルにおけるビットスタッフィングルール(連続して同じ値を6bit以上送信しない)に違反し、他のノードからのエラーフレーム(セカンダリ)の送信を引き起こす。 The error flag (primary) is used to notify other nodes of the occurrence of an error. A node that detects an error continuously transmits a 6-bit dominant to notify other nodes of the occurrence of the error. This transmission violates the bit stuffing rule in the CAN protocol (the same value is not transmitted continuously for 6 bits or more), and causes the transmission of an error frame (secondary) from another node.
エラーフラグ(セカンダリ)は、エラーの発生を他のノードに知らせるために使用される連続した6ビットのドミナントで構成される。エラーフラグ(プライマリ)を受信してビットスタッフィングルール違反を検知した全てのノードがエラーフラグ(セカンダリ)を送信することになる。 The error flag (secondary) is composed of a continuous 6-bit dominant used to notify other nodes of the occurrence of an error. All nodes that have received the error flag (primary) and detected a violation of the bit stuffing rule will transmit the error flag (secondary).
エラーデリミタ「DEL」は、8bitの連続したレセシブであり、エラーフレームの終了を示す。 The error delimiter “DEL” is a continuous recess of 8 bits and indicates the end of the error frame.
[1.4 ブレーキECU200の構成]
図4は、ブレーキECU200の構成図である。ブレーキ201を制御するためのブレーキECU200は、通信部210と、データバッファ220と、制御処理部(ブレーキ制御部)230とを含んで構成される。
[1.4 Configuration of Brake ECU 200]
FIG. 4 is a configuration diagram of the
通信部210は、バス30での通信の制御を担う集積回路(例えば通信回路、メモリ、プロセッサ等)である。通信部210は、例えば、機能的な構成要素としてフレーム送受信機能部、受信フレーム解釈機能部等を有する。フレーム送受信機能部では、例えば、バス30に対してCANプロトコルに従ってフレームの送受信(フレームの1bitずつの逐次送受信)を行う。また、受信フレーム解釈機能部では、フレーム送受信機能部で受信したフレームの値を、CANプロトコルで規定されているフレームフォーマットにおける各フィールドにマッピングするよう解釈を行う。受信フレーム解釈機能部では、IDフィールドと判断した値が、ブレーキECU200が受信すべきID(メッセージID)か否かを判別し、受信すべきIDでなければそのフレームの解釈を中止する。受信フレーム解釈機能部では、例えば、CRCの値が合わなかったり、ドミナント固定とされている項目がレセシブだったりする等、CANプロトコルに則っていないフレームと判断した場合は、エラーフレームを送信するよう制御する。また、受信フレーム解釈機能部では、エラーフレームを受信した場合、つまり受け取ったフレームにおける値からエラーフレームになっていると解釈した場合には、それ以降はそのフレームを破棄する、つまりフレームの解釈を中止する。受信フレーム解釈機能部は、受信すべきIDと判別されたフレームの内容(ID、データフィールドのデータ等)を、データバッファ220に格納する。制御システム10における車載ネットワークシステムで予め定められている、ブレーキ制御指示を示すデータフレームのIDは、通信部210の受信フレーム解釈機能部において受信すべきIDと判別される。
The
データバッファ220は、メモリ、レジスタ等といった記憶媒体の一記憶領域である。データバッファ220には、通信部210により受信された、受信すべきIDのフレームの内容としてのID、データフィールドのデータ等を示す情報(例えば、ブレーキ制御指示を示す情報)が格納される。バス30上への複数ノードからのデータフレームの同時送信時にはIDによる通信調停が行われる。このため、緊急ブレーキECU310が送信するブレーキ制御指示に係るデータフレームのブレーキECU200によるバス30からの受信タイミングは、必ずしも一定周期(例えば50ms等)と正確に一致するとは限らず、その一定周期から多少ずれることもある。ブレーキECU200において、このような通信調停での受信タイミングの変動に対応して、受信したデータフレームを効率的に処理すべく、データバッファ220が用いられる。
The
制御処理部230は、データバッファ220に格納されたフレームの内容(ブレーキ制御指示等を示す情報)を、周期的に或いは一定条件(データバッファ220へのフレーム格納に関連した条件等)が成立した場合等に取得し、その取得した情報が示すブレーキ制御指示に従って、ブレーキ201に対して制御信号を送信することでブレーキ201を制御する。
The
なお、ブレーキECU200以外の、アクチュエータを制御し得るECU(例えばエンジンECU330等)も、ブレーキECU200と同様に、通信部、データバッファ、及び、アクチュエータの制御のための制御処理部を備える。また、センサと接続されたセンサECU320については、センサでの測定結果を取得して予め定められたメッセージIDを付してその測定結果を示す測定情報をデータフィールド内に含むデータフレームを生成する処理部と、そのデータフレームをCANプロトコルに従ってバス30に送信するための通信部等を備える。この測定情報は、車両20と障害物との距離、及び、車両20の障害物に対する相対速度に関する測定結果を示す。
Similar to the
[1.5 ブレーキ制御指示]
図5は、緊急ブレーキECU310が送信するブレーキ制御指示に係るフレームのデータフィールドの一例を示す図である。ブレーキ制御指示のフレームのデータフィールドには、ブレーキ201による減速量(つまりブレーキ201での減速を要求する減速要求量)の指定が含まれ、図5では、その減速量の内容の例を示している。なお、ブレーキ制御指示のフレームのデータフィールドには減速量以外の情報(例えば有効、無効の別を示すフラグ等)が付加されていても良いが、ここでは便宜上、減速量のみが含まれていることとして説明する。減速量自体がデータフィールド内の値(データ値)と必ずしも一致する必要はない。減速量は、例えば1Byteで表され、値255により減速量ゼロ(0)が表され、値55により、減速量の最大量(例えば100)が表される。
[1.5 Brake control instructions]
FIG. 5 is a diagram illustrating an example of a data field of a frame related to a brake control instruction transmitted by the
緊急ブレーキECU310から、ゼロ(0)より大きい減速量の指定を含むブレーキ制御指示が送信された場合に、ブレーキECU200では、ブレーキ制御指示の減速量に従ってブレーキ201を作動させる。即ち、ブレーキECU200では、ブレーキ制御指示の減速量が大きいほど強い効き(大きな制動力)となるようにブレーキ201を作動させる。具体的には、ブレーキ制御指示の減速量が最大量(例えば100)である場合には、ブレーキECU200の制御処理部230は、所謂フルブレーキングに相当する最大の制動力でブレーキ201の作動がなされるようにブレーキ201を制御する。また、緊急ブレーキECU310から、減速量としてゼロの指定を含むブレーキ制御指示が送信された場合に、ブレーキECU200の制御処理部230では、ブレーキ制御指示によってのブレーキ201の作動を抑止する。なお、ブレーキECU200において、例えば車両20の運転者のブレーキペダルの操作に応じたブレーキ201の制御を行っている場合には、その操作に応じた制御を、ブレーキ201の作動の抑止の制御より優先させ得る。
When a brake control instruction including designation of a deceleration amount greater than zero (0) is transmitted from the
[1.6 セキュリティECU100の構成]
図6は、セキュリティECU100の構成図である。セキュリティECU100は、バス30に流れるフレームを監視し、バス30上に現れた不正なブレーキ制御指示に係るデータフレームを、エラーフレームの送信により無効化する制御装置としての機能を有し、この機能の実現のために、通信部110と、記憶部120と、制御部130とを含んで構成される。これらの各構成要素の各機能は、例えばセキュリティECU100における通信回路、メモリ等の記憶媒体、メモリに格納された制御プログラムを実行するプロセッサ或いはデジタル回路等により実現される。
[1.6 Configuration of Security ECU 100]
FIG. 6 is a configuration diagram of the
通信部110は、通信回路、制御プログラムを実行するプロセッサ等により実現される。通信部110は、CANプロトコルに従ってバス30に対するフレームの送受信(フレームの1bitずつの逐次送受信)を行うための受信部111及び送信部112を含む。受信部111は、バス30からフレーム(例えばブレーキ制御指示に係るデータフレーム、測定情報を含むデータフレーム等)を受信する。通信部110は、受信部111によりバス30からフレームを受信すると、フレームからCANプロトコルで規定されているフレームフォーマットにおける各フィールドにマッピングするよう解釈を行うことでID(メッセージID)、DLC、データフィールドのデータのそれぞれを区別して抽出する。通信部110は、抽出したIDが、制御システム10における車載ネットワークシステムで予め定められている、ブレーキ制御指示を示すデータフレームのID、或いは、センサECU320から送信される測定情報を示すデータフレームのID等の受信すべきIDであるか否かを判別する。通信部110は、受信すべきIDでなければそのフレームの解釈を中止する。通信部110は、受信部111が受信した、受信すべきIDであるフレームの内容(ID、データ等)を、記憶部120に格納する。また、通信部110は、制御部130からのエラーフレームの送信指示を受けて、送信部112によりエラーフレームをバス30に送信する。
The
記憶部120は、受信部111により受信されたフレームの内容を格納するためのメモリ等の記憶媒体の一記憶領域である。記憶部120には、例えば、センサECU320から逐次送信される測定情報が逐次格納される。測定情報は、車両20におけるセンサにより測定された測定結果としての、車両20と障害物との距離及び車両20の障害物に対する相対速度を示す。
The
制御部130は、制御プログラムを実行するプロセッサ等により実現され、一定条件下でブレーキ制御指示のデータフレームを無効化する無効化制御を行う機能を担う。制御部130は、判別部131及びエラーフレーム送信制御部132を含む。
The
判別部131は、受信部111がブレーキ制御指示のデータフレームを受信した際における車両20と障害物との距離、及び、車両20の速度についての所定条件が満たされるか否かにより、ブレーキ制御指示が不正か否か(つまりそのブレーキ制御指示のデータフレームを無効化すべきか否か)を判別する。判別部131は、受信部111により受信された測定情報に基づいて車両20と障害物との距離、及び、車両20の速度を特定し、特定した距離及び速度に基づいて所定条件が満たされるか否かを判別する。この判別は、ブレーキ制御指示のデータフレームの全体が受信部111によりバス30から受信されるまで(つまりデータフレームの終了前であり、例えばデータフィールドの受信直後或いはCRCシーケンスの受信直後等)に行われる。判別部131は、ブレーキ制御指示を不正と判別した場合には、その旨をエラーフレーム送信制御部132に通知する。判別部131は、受信部111がブレーキ制御指示のデータフレームを受信した際における車両20と障害物との距離、及び、車両20の速度として、記憶部120に逐次格納された測定情報のうちそのブレーキ制御指示のデータフレームを受信した際における最新の測定情報が示す車両20と障害物との距離、及び、車両20の速度(障害物に対する相対速度)を用いる。
The discriminating
エラーフレーム送信制御部132は、判別部131により、ブレーキ制御指示が不正であると判別された場合において、バス30に現れているブレーキ制御指示のデータフレームを無効化するために、送信部112に、バス30にエラーフレームを送信させることで無効化制御を行う。このエラーフレーム送信制御部132による無効化制御は、ブレーキ制御指示のデータフレームの終了(EOF)の受信が完了するより前に、バス30にエラーフレームを送信することで実現される。無効化制御がなされると、ブレーキ制御指示のデータフレームの終了前のエラーフレームの送信により、バス30上でブレーキ制御指示のデータフレームは上書きされるので、ブレーキECU200においては、そのブレーキ制御指示のデータフレームが破棄され、そのブレーキ制御指示に従ったブレーキ制御が実行されない。
When the
[1.7 ブレーキ制御指示の不正判別]
以下、上述のセキュリティECU100(制御装置)における制御部130の判別部131でのブレーキ制御指示が不正か否かの判別の方法について説明する。
[1.7 Unauthorized discrimination of brake control instructions]
Hereinafter, a method for determining whether or not the brake control instruction in the
判別部131は、例えば、ブレーキ制御指示を受信した際における障害物と車両との距離L(m)と、障害物と車両との相対速度V(km/h)とについての所定条件Cが満たされた場合に、ブレーキ制御指示が不正であると判別する。具体例としては、判別部131は、距離Lと、相対速度Vとに基づく所定演算F(V,L)の結果と閾値とを比較することにより所定条件Cが満たされるか否かを判別する。
For example, the
より詳細な例としては、判別部131は、例えば、受信部111により受信されたブレーキ制御指示(つまり受信されたデータフレームに係るブレーキ制御指示)が減速量として最大量の指定を含む場合において、所定演算F(V,L)の結果が第1閾値aより大きいことを所定条件Cとして用い、受信部111により受信されたブレーキ制御指示が減速量としてゼロの指定を含む場合において、所定演算F(V,L)の結果が第1閾値a以下の第2閾値bより小さいことを所定条件Cとして用いる。これは、減速量を最大とするようにブレーキを作動させる旨のブレーキ制御指示が不正となるような状況においては、ブレーキの作動を抑止させる(減速量をゼロにする)旨のブレーキ制御指示は不正とならず、また、ブレーキの作動を抑止させる旨のブレーキ制御指示が不正となるような状況においては、減速量を最大とするようにブレーキを作動させる旨のブレーキ制御指示が不正とならないこと等を示す。なお、例えば第2閾値bは第1閾値aより小さいこととしても良い。
As a more detailed example, the
また、例えば、所定演算F(V,L)=L−G(V)であるとしても良い。Gは、係数が定められた一変数の多項式関数である。多項式関数は1次関数であっても良いし、2次以上のn次関数であっても良い。この場合に、所定演算F(V,L)は、Gの変数に速度(相対速度V)を代入したG(V)を、距離Lからの減算したものとなる。 For example, the predetermined calculation F (V, L) = LG (V) may be used. G is a univariate polynomial function with a fixed coefficient. The polynomial function may be a linear function, or may be an n-order function of second or higher order. In this case, the predetermined calculation F (V, L) is obtained by subtracting from the distance L G (V) obtained by substituting the speed (relative speed V) for the G variable.
更に、単純化した一例としては、所定演算F(V,L)=L−kVであることとしても良い。ここでkは定められた係数である。 Furthermore, as a simplified example, the predetermined calculation F (V, L) = L−kV may be satisfied. Here, k is a predetermined coefficient.
図7は、ブレーキ制御指示の不正判別の条件について説明するための図である。同図では、正常な状態の緊急ブレーキECU310が、減速量としてゼロより大きい量の指定を含むブレーキ制御指示のデータフレームをバス30に送信した際における車両20と障害物との距離L(m)、及び、車両20の障害物に対する相対速度V(km/h)を測定した実験結果の分布を、グラフ上の点(黒菱形)で表している。上述した所定演算F(V,L)は、このような正常な状態の緊急ブレーキECU310から送信されて受信部111により受信されたブレーキ制御指示が減速量としてゼロより大きい量の指定を含む場合において所定演算F(V,L)の結果が、第1閾値a以下、かつ、第2閾値b以上となるように、定められている。これにより、正常な状態の緊急ブレーキECU310が送信するブレーキ制御指示については所定条件Cが満たされなくなる。
FIG. 7 is a diagram for explaining conditions for determining whether the brake control instruction is illegal. In the figure, the distance L (m) between the
また、図7には、L−kV=0の関係式を示す直線F01と、L−kV=−1の関係式を示す直線F02とを付記している。ここでの係数kは、0.25である。 Further, in FIG. 7, a straight line F01 indicating a relational expression of L-kV = 0 and a straight line F02 indicating a relational expression of L-kV = −1 are appended. The coefficient k here is 0.25.
一例としては、距離L及び相対速度Vの関係が、図7において直線F01より上側部分である状況においては、減速量として最大量を指定するブレーキ制御指示(ブレーキを作動させる指示)がバス30に送信された場合にそのブレーキ制御指示が不正であると判別することとしても良い。また、同様に、距離L及び相対速度Vの関係が、図7において直線F02より下側部分である状況においては、減速量としてゼロを指定するブレーキ制御指示(ブレーキの作動を抑止させる指示)がバス30に送信された場合にそのブレーキ制御指示が不正であると判別することとしても良い。この例は、所定演算F(V,L)=L−kV、第1閾値a=0、及び、第2閾値b=−1として、判別部131が、減速量として最大量の指定を含むブレーキ制御指示について、所定演算F(V,L)の結果が第1閾値aより大きいことを所定条件Cとして用い、減速量としてゼロの指定を含むブレーキ制御指示について、所定演算F(V,L)の結果が第1閾値a以下の第2閾値bより小さいことを所定条件Cとして用いることとし、所定条件Cが満たされた場合にブレーキ制御指示が不正であると判別することに対応する。これは一例に過ぎないが、例えばこのように実験結果に基づいて、ブレーキ制御指示が不正か否かを判別するための所定条件Cを定めることは可能である。
As an example, in a situation where the relationship between the distance L and the relative speed V is an upper portion of the straight line F01 in FIG. 7, a brake control instruction (instruction for operating the brake) specifying the maximum amount as the deceleration amount is applied to the
なお、図7の実験結果と直線F01との関係に鑑みて、判別部131は、受信部111により受信されたブレーキ制御指示がブレーキの作動の指示(例えば減速量をゼロ以外と指定したブレーキ制御指示)である場合において、距離Lの相対速度Vに対する比が予め定められた閾値を超えることを所定条件Cとして用いることとしても良い。また、不正なブレーキ制御指示であると判別するための所定条件は、例えば、相対速度Vが、複数の範囲区分のうち特定の1以上の区分(例えば8km/h〜10km/h等)に属し、かつ、距離Lが複数の範囲区分のうち特定の1以上の区分(例えば3m〜4m)に属する場合に満たされるような条件であっても良い。
In view of the relationship between the experimental result of FIG. 7 and the straight line F01, the
[1.8 セキュリティECU100の制御処理]
図8は、セキュリティECU100における制御処理の一例を示す。以下、同図に即して、セキュリティECU100において不正なブレーキ制御指示の攻撃フレームに適切に対処するために実行される制御処理について説明する。
[1.8 Control Processing of Security ECU 100]
FIG. 8 shows an example of control processing in the
セキュリティECU100は、受信部111で、センサECU320が送信した、測定情報を含むデータフレームをバス30から受信した場合には(ステップS11)、測定情報を記憶部120に保存、つまり格納する(ステップS12)。これにより、記憶部120に、障害物と車両との距離L(m)と、障害物と車両との相対速度V(km/h)とを表す測定情報が保存される。センサECU320は、周期的にセンサでの測定結果を示す測定情報を含むデータフレームを送信するので、このステップS12での測定情報の保存は、繰り返し行われることになる。
When the receiving
セキュリティECU100は、受信部111で、ブレーキ制御指示のデータフレームをバス30から受信した場合には(ステップS13)、記憶部120に直近に保存されている最新の測定情報に基づいて、判別部131で、車両と障害物との距離L及び相対速度Vを特定する(ステップS14)。そして、判別部131は、特定した距離Lと相対速度Vとについての所定条件Cが満たされるか否かを判別することで、ステップS13で受信されたデータフレームに係るブレーキ制御指示が不正か否かを判別する(ステップS15)。なお、受信部111によりブレーキ制御指示のデータフレームのデータフィールドまでの受信が終了すれば、ブレーキ制御指示における減速量の指定の内容を取得することができるので、判別部131は、減速量の指定が最大量であるか、ゼロであるか、その他であるか等を特定できる。例えば、判別部131は、減速量として最大量の指定を含むブレーキ制御指示については、所定演算F(V,L)の結果が第1閾値aより大きいことを所定条件Cとして用い、減速量としてゼロの指定を含むブレーキ制御指示については、所定演算F(V,L)の結果が第1閾値a以下の第2閾値bより小さいことを所定条件Cとして用いる。また、判別部131は、例えば、減速量としてゼロより大きく最大量より小さい指定を含むブレーキ制御指示については、所定演算F(V,L)の結果が、第1閾値aより大きいことを所定条件Cとして用いることとしても良いし、他の予め定めた閾値より大きい或いは小さいことを所定条件Cとして用いることとしても良い。
When the receiving
ステップS15で、判別部131が、所定条件Cが満たされると判別した場合には、ブレーキ制御指示を不正と判別したこととなる。この場合にエラーフレーム送信制御部132は、送信部112にエラーフレームを送信させることで、ブレーキ制御指示のデータフレームを無効化させる無効化制御を行う(ステップS16)。
If the
[1.9 制御システム10におけるブレーキ制御に係る処理シーケンス]
図9及び図10は、制御システム10におけるブレーキ制御に係る処理シーケンスの一例を示す。
[1.9 Processing Sequence for Brake Control in Control System 10]
9 and 10 show an example of a processing sequence related to brake control in the
図9は、車両20が障害物と衝突するおそれがない状況で、診断用ポート390に接続された装置(不正ECUと称する)がバス30に不正なブレーキ制御指示(急ブレーキを作動させるような指示)のデータフレームを送信する例を示す。以下、図9に即して、制御システム10における各ECUの動作について説明する。なお、ここでは不正ECUが、診断用ポート390に接続された装置である例を用いて説明するが、これはバス30にアクセス可能な不正な装置の一例に過ぎず、例えば、バス30に接続されているいずれかのECUが攻撃者に攻撃されて支配されている場合(例えばECUのファームウェア等を不正に書き換えられている場合)においては、そのECUが不正ECUとなり得る。
FIG. 9 shows that the device connected to the diagnostic port 390 (referred to as an unauthorized ECU) does not allow the
センサECU320は、障害物センサ321及び速度センサ322で測定された測定結果を示す測定情報を含むデータフレームをバス30に送信する(ステップS101)。これにより、バス30に接続された各ECU(緊急ブレーキECU310、セキュリティECU100等)は、障害物と車両との距離及び障害物と車両との相対速度を表す測定情報を受信する。
The
ブレーキ制御指示を周期的に送信する緊急ブレーキECU310は、障害物との衝突のおそれがない場合においては、減速量をゼロと指定したブレーキ制御指示のデータフレームをバス30に送信する(ステップS102)。
The
例えば、緊急ブレーキECU310がブレーキ制御指示のデータフレームを送信した直後等において、不正ECUが、減速量を最大量に指定したブレーキ制御指示(不正なブレーキ制御指示)のデータフレームをバス30に送信する(ステップS103)。なお、緊急ブレーキECU310によるブレーキ制御指示のデータフレームの送信周期と略一致するように不正ECUが不正なブレーキ制御指示のデータフレームを送信した場合には、不正か否かを送信周期に基づいては判別できない。
For example, immediately after the
セキュリティECU100は、制御処理(図8参照)により、不正ECUが送信したブレーキ制御指示のデータフレームのデータフィールドまで受信した段階で、受信済の最新の測定情報に基づいて車両と障害物との距離L及び相対速度Vを特定して、減速量の指定に応じて所定条件Cを選択し、ブレーキ制御指示が不正か否かを判別する。図9の例では、ステップS102で緊急ブレーキECU310から送信されたブレーキ制御指示のデータフレームの受信に際して、セキュリティECU100では、所定条件Cが満たされずにそのブレーキ制御指示が適正であると判別される。また、ステップS103で不正ECUから送信されたブレーキ制御指示のデータフレームの受信に際して、セキュリティECU100では、所定条件Cが満たされてそのブレーキ制御指示が不正であると判別される。
When the
所定条件Cが満たされ、ステップS103に対応して受信されたデータフレームに係るブレーキ制御指示が不正であると判別すると、セキュリティECU100は、エラーフレームを送信する(ステップS104)。このエラーフレームの送信により、不正ECUから送信された不正なブレーキ制御指示のデータフレームは無効化され(つまり、バス30上においてそのデータフレームの一部がエラーフレームで上書きされることで無効化され)、ブレーキECU200におけるブレーキ制御に利用されない。このため、ブレーキECU200では、制御処理部230が、ステップS102に対応して受信された緊急ブレーキECU310からのブレーキ制御指示に従う。従って、ブレーキECU200の制御処理部230は、不正ECUからの不正なブレーキ制御指示に従ったブレーキ201の作動を行うことがない(ステップS105)。
When it is determined that the predetermined condition C is satisfied and the brake control instruction related to the data frame received corresponding to step S103 is invalid, the
なお、もしセキュリティECU100が存在しなければ、ステップS103で不正ECUが送信した不正なブレーキ制御指示のデータフレームは無効化されない。この場合には、不正なブレーキ制御指示のデータフレームがブレーキECU200で完全に受信され、ステップS102に対応してデータバッファ220に格納された緊急ブレーキECU310からのブレーキ制御指示を、その不正なブレーキ制御指示が上書きする。そして、ブレーキECU200の制御処理部230は、不正ECUからの不正なブレーキ制御指示に従って、ブレーキ201を制御してしまう。
If the
図10は、車両20が障害物と衝突する直前という状況で、不正ECUがバス30に不正なブレーキ制御指示(ブレーキの作動を抑止させるような指示)のデータフレームを送信する例を示す。以下、図10に即して、制御システム10における各ECUの動作について説明する。
FIG. 10 shows an example in which the unauthorized ECU transmits a data frame of an unauthorized brake control instruction (an instruction to suppress the brake operation) to the
センサECU320は、障害物センサ321及び速度センサ322で測定された測定結果を示す測定情報を含むデータフレームをバス30に送信する(ステップS201)。このステップS201は、上述の図9のステップS101と同様である。
The
ブレーキ制御指示を周期的に送信する緊急ブレーキECU310は、障害物との衝突の直前においては、減速量を最大量と指定したブレーキ制御指示のデータフレームをバス30に送信する(ステップS202)。
Immediately before the collision with the obstacle, the
例えば、緊急ブレーキECU310がブレーキ制御指示のデータフレームを送信した直後等において、不正ECUが、減速量をゼロに指定したブレーキ制御指示(不正なブレーキ制御指示)のデータフレームをバス30に送信する(ステップS203)。
For example, immediately after the
セキュリティECU100は、制御処理(図8参照)により、不正ECUが送信したブレーキ制御指示のデータフレームのデータフィールドまで受信した段階で、受信済の最新の測定情報に基づいて車両と障害物との距離L及び相対速度Vを特定して、減速量の指定に応じて所定条件Cを選択し、ブレーキ制御指示が不正か否かを判別する。図10の例では、ステップS202で緊急ブレーキECU310から送信されたブレーキ制御指示のデータフレームの受信に際して、セキュリティECU100では、所定条件Cが満たされずにそのブレーキ制御指示が適正であると判別される。また、ステップS203で不正ECUから送信されたブレーキ制御指示のデータフレームの受信に際して、セキュリティECU100では、所定条件Cが満たされてそのブレーキ制御指示が不正であると判別される。
When the
所定条件Cが満たされ、ステップS203に対応して受信されたデータフレームに係るブレーキ制御指示が不正であると判別すると、セキュリティECU100は、エラーフレームを送信する(ステップS204)。このエラーフレームの送信により、不正ECUから送信された不正なブレーキ制御指示のデータフレームは無効化され、ブレーキECU200におけるブレーキ制御に利用されない。このため、ブレーキECU200では、制御処理部230が、ステップS202に対応して受信された緊急ブレーキECU310からのブレーキ制御指示に従って、ブレーキ201を作動させる(ステップS205)。
When it is determined that the predetermined condition C is satisfied and the brake control instruction related to the data frame received corresponding to step S203 is invalid, the
[1.10 実施の形態1の効果]
実施の形態1に係る制御システム10では、セキュリティECU(制御装置)100の制御部130が、ブレーキ制御指示(つまりブレーキ制御指示のデータフレーム)の受信部111での受信の直前にセンサECU320から取得した測定情報に基づいて、そのブレーキ制御指示の受信の際における車両20と障害物との距離L、及び、車両20の障害物に対する相対速度Vを特定し、距離Lと相対速度Vとについての所定条件Cが満たされる場合に、エラーフレームの送信によりそのブレーキ制御指示を無効化する無効化制御を行う。所定条件Cは、ブレーキ制御指示が、減速量として最大量を指定するものか、減速量としてゼロを指定するものかにより相違し得る。所定条件Cは、正常状態の緊急ブレーキECU310が送信するブレーキ制御指示については所定条件Cが満たされないように、定めておくことができる。不正ECUが、緊急ブレーキECU310と相違するブレーキ制御指示(つまり不正なブレーキ制御指示のデータフレーム)をバス30に送信した際に、セキュリティECU100は、所定条件Cが満たされるとそのブレーキ制御指示を不正と判別してエラーフレームの送信により無効化するので、ブレーキECU200が不正なブレーキ制御指示に従ってブレーキ201を制御してしまうことが防止され得る。即ち、制御システム10では、セキュリティECU100によりブレーキ制御指示に係る不正なフレーム(攻撃フレーム)への適切な対処がなされ、攻撃フレームによって事故が引き起こされることが防止され得る。
[1.10 Effect of Embodiment 1]
In the
(実施の形態2)
以下、実施の形態1で示した制御システム10における車両20内の一部のECUを変形してなる制御システム11について説明する。
(Embodiment 2)
Hereinafter, a
実施の形態1に係る制御システム10では、セキュリティECU100が、バス30を流れるブレーキ制御指示(ブレーキ制御指示のデータフレーム)を不正と判別した場合にエラーフレームの送信によりブレーキ制御指示のデータフレームを無効化する。これに対して、本実施の形態に係る制御システム11は、セキュリティECU100を備えず、実施の形態1で示したブレーキECU200を部分的に変形したブレーキECUが、受信したブレーキ制御指示が不正か否かを判別し、不正と判別した場合にそのブレーキ制御指示に従ったブレーキ制御を行わない(つまりブレーキ制御指示を破棄する)例について説明する。
In the
[2.1 制御システム11の構成]
図11は、本実施の形態に係る制御システム11の全体構成を示す図である。実施の形態1で示した制御システム10(図1参照)と同様の構成については、図11において図1と同一の符号を付しており、説明を省略する。
[2.1 Configuration of control system 11]
FIG. 11 is a diagram showing an overall configuration of the
制御システム11は、主として車両20における車載ネットワークシステムで構成され、図11に例示するように、車両20に搭載された各種ECU(ブレーキECU2200、緊急ブレーキECU310、センサECU320、及び、エンジンECU330)と、バス30とを含んで構成される。ここで、特に説明しない事項については、制御システム11は、実施の形態1で示した制御システム10と同様である。
The
[2.2 ブレーキECU2200の構成]
図12は、ブレーキECU2200の構成図である。ブレーキECU2200は、実施の形態1で示したブレーキECU200を一部変形したものであり、ブレーキECU200(図4参照)と同様の構成については、図12において図4と同一の符号を付しており、説明を適宜省略する。
[2.2 Configuration of Brake ECU 2200]
FIG. 12 is a configuration diagram of the
ブレーキ201に接続され、ブレーキ201を制御するためのブレーキECU2200は、通信部210と、データバッファ220と、制御処理部230と、制御部2130とを含んで構成される。
The
通信部210の有するフレーム受信に係る機能構成を、図12において受信部2111として表している。受信部2111は、バス30からCANプロトコルに従ってフレームの受信(フレームの1bitずつの逐次受信)を行う。受信部2111は、フレームの受信機能、及び、受信フレームの解釈機能を有し、バス30から受信したフレームの値を、CANプロトコルで規定されているフレームフォーマットにおける各フィールドにマッピングするよう解釈を行う。この解釈により、データフレームにおけるID(メッセージID)、DLC、データフィールドのデータのそれぞれが区別して抽出される。受信部2111は、抽出したIDが、制御システム11における車載ネットワークシステムで予め定められている、ブレーキ制御指示を示すデータフレームのID、或いは、センサECU320から送信される測定情報を示すデータフレームのID等の受信すべきIDであるか否かを判別する。受信部2111は、受信すべきIDでなければそのフレームの解釈を中止する。
A functional configuration related to frame reception included in the
通信部210では、受信部2111で受信したフレームのCRCの値が合わなかったり、ドミナント固定とされている項目がレセシブだったりする等、CANプロトコルに則っていないフレームと判断した場合は、バス30にエラーフレームを送信するよう制御する。また、受信部2111では、エラーフレームを受信した場合、つまり受け取ったフレームにおける値からエラーフレームになっていると解釈した場合には、それ以降はそのフレームを破棄する、つまりフレームの解釈を中止する。受信部2111は、受信すべきIDと判別されたフレームの内容(ID、データフィールドのデータ等)を、制御部2130における記憶部120に格納する。
If the
制御部2130は、制御プログラムを実行するプロセッサ等により実現され、一定条件下でブレーキ制御指示を示す情報のデータバッファ220への転送を抑止するフィルタリング処理により、ブレーキ制御指示を破棄する制御を行う機能を担う。制御部2130は、記憶部120、判別部131及び転送部2133を含んで構成される。制御部2130における記憶部120は、実施の形態1で示したセキュリティECU100の記憶部120と同様であり、受信部2111により受信されたフレームの内容を格納するためのメモリ等の記憶媒体の一記憶領域である。記憶部120には、例えば、センサECU320から逐次送信される測定情報に係るデータフレームの内容、及び、ブレーキ制御指示に係るデータフレームの内容(例えば減速量等)が逐次格納される。測定情報は、車両20と障害物との距離及び車両20の障害物に対する相対速度を示す。
The
制御部2130における判別部131は、実施の形態1で示したセキュリティECU100の判別部131と概ね同様であり、受信部2111がブレーキ制御指示のデータフレームを受信した際における車両20と障害物との距離L、及び、障害物に対する車両20の速度(相対速度)Vについての所定条件Cが満たされるか否かにより、ブレーキ制御指示が不正か否かを判別する。判別部131は、受信部2111により受信された測定情報に基づいて車両20と障害物との距離L、及び、障害物に対する車両20の速度(相対速度)Vを特定し、特定した距離L及び速度Vに基づいて所定条件Cが満たされるか否かを判別する。判別部131は、ブレーキ制御指示についての不正か否かの判別結果を転送部2133に通知する。判別部131は、受信部2111がブレーキ制御指示のデータフレームを受信した際における車両20と障害物との距離L、及び、車両20の速度Vとして、記憶部120に逐次格納された測定情報のうちそのブレーキ制御指示のデータフレームを受信した際における最新の測定情報が示す車両20と障害物との距離、及び、車両20の速度(障害物に対する相対速度)を用いる。なお、ブレーキ制御指示を不正と判別するための所定条件Cとして、例えば、実施の形態1で説明したようにブレーキ制御指示において指定される減速量に応じて、複数の条件のうちの1つが選択され得る。
The
転送部2133は、判別部131によりブレーキ制御指示が不正でないと判別された場合には、そのブレーキ制御指示に係るデータフレームの内容を記憶部120からデータバッファ220に転送し、ブレーキ制御指示が不正であると判別された場合には、そのブレーキ制御指示に係るデータフレームの内容を記憶部120からデータバッファ220に転送しない。
When the discriminating
データバッファ220には、不正でないと判別されたブレーキ制御指示のデータフレームの内容としてのID、データフィールドのデータ等を示す情報(つまりブレーキ制御指示を示す情報)が格納される。
The
制御処理部230は、データバッファ220に格納されたフレームの内容(ブレーキ制御指示等を示す情報)を、周期的に或いは一定条件(データバッファ220へのフレーム格納に関連した条件等)が成立した場合等に取得し、その取得した情報が示すブレーキ制御指示に従って、ブレーキ201に対して制御信号を送信することでブレーキ201を制御する。
The
なお、ブレーキECU2200の一部(例えば受信部2111及び制御部2130)は、不正なブレーキ制御指示の攻撃フレームに適切に対処する制御装置2100として機能する。
A part of the brake ECU 2200 (for example, the
[2.3 ブレーキECU2200の制御処理]
図13は、ブレーキECU2200における制御処理の一例を示す。以下、同図に即して、ブレーキECU2200において不正なブレーキ制御指示の攻撃フレームに適切に対処するために実行される制御処理について説明する。
[2.3 Control processing of brake ECU 2200]
FIG. 13 shows an example of control processing in the
ブレーキECU2200は、受信部2111で、センサECU320が送信した、測定情報を含むデータフレームをバス30から受信した場合には(ステップS21)、測定情報を記憶部120に保存、つまり格納する(ステップS22)。これにより、記憶部120に、障害物と車両との距離L(m)と、障害物と車両との相対速度V(km/h)とを表す測定情報が保存される。センサECU320は、周期的にセンサでの測定結果を示す測定情報を含むデータフレームを送信するので、このステップS22での測定情報の保存は、繰り返し行われることになる。
When the
ブレーキECU2200は、受信部2111で、ブレーキ制御指示のデータフレームをバス30から受信した場合には(ステップS23)、記憶部120に直近に保存されている最新の測定情報に基づいて、判別部131で、車両と障害物との距離L及び相対速度Vを特定する(ステップS24)。そして、判別部131は、特定した距離Lと相対速度Vとについての所定条件Cが満たされるか否かを判別することで、ステップS23で受信されたデータフレームに係るブレーキ制御指示が不正か否かを判別する(ステップS25)。受信部2111によりブレーキ制御指示のデータフレームが受信された場合にブレーキ制御指示で指定された減速量等が受信部2111により記憶部120に格納されるので、判別部131は、減速量の指定が最大量であるか、ゼロであるか、その他であるか等を特定できる。本実施の形態においても判別部131は、実施の形態1で示したように、減速量として最大量の指定を含むブレーキ制御指示については、所定演算F(V,L)の結果が第1閾値aより大きいことを所定条件Cとして用い、減速量としてゼロの指定を含むブレーキ制御指示については、所定演算F(V,L)の結果が第1閾値a以下の第2閾値bより小さいことを所定条件Cとして用いる。また、判別部131は、例えば、減速量としてゼロより大きく最大量より小さい指定を含むブレーキ制御指示については、所定演算F(V,L)の結果が、第1閾値aより大きいことを所定条件Cとして用いることとしても良いし、他の予め定めた閾値より大きい或いは小さいことを所定条件Cとして用いることとしても良い。
When the
ステップS25で、判別部131が、所定条件Cが満たされると判別した場合には、ブレーキ制御指示を不正と判別したこととなる。ブレーキ制御指示が不正であると判別された場合には、転送部2133は、ブレーキ制御指示のデータフレームの内容を記憶部120からデータバッファ220に転送せず(ステップS26)、ブレーキ制御指示が不正でないと判別された場合には、転送部2133は、ブレーキ制御指示のデータフレームの内容を記憶部120からデータバッファ220に転送する(ステップS27)。このステップS25〜S27での処理により、ブレーキECU2200は、不正なブレーキ制御指示に従ったブレーキ201の制御を抑止し、適正なブレーキ制御指示に従ってブレーキ201の制御を行うことになる。
If the
[2.4 制御システム11におけるブレーキ制御に係る処理シーケンス]
図14及び図15は、制御システム11におけるブレーキ制御に係る処理シーケンスの一例を示す。
[2.4 Processing Sequence for Brake Control in Control System 11]
14 and 15 show an example of a processing sequence related to brake control in the
図14は、車両20が障害物と衝突するおそれがない状況で、診断用ポート390に接続された装置(不正ECU)がバス30に不正なブレーキ制御指示(急ブレーキを作動させるような指示)のデータフレームを送信する例を示す。以下、図14に即して、制御システム11における各ECUの動作について説明する。
FIG. 14 shows a situation in which there is no possibility that the
センサECU320は、障害物センサ321及び速度センサ322で測定された測定結果を示す測定情報を含むデータフレームをバス30に送信する(ステップS301)。これにより、バス30に接続された各ECU(緊急ブレーキECU310、ブレーキECU2200等)は、障害物と車両との距離及び障害物と車両との相対速度を表す測定情報を受信する。
The
ブレーキ制御指示を周期的に送信する緊急ブレーキECU310は、障害物との衝突のおそれがない場合においては、減速量をゼロと指定したブレーキ制御指示のデータフレームをバス30に送信する(ステップS302)。
The
ブレーキECU2200は、制御処理(図13参照)により、緊急ブレーキECU310が送信したブレーキ制御指示のデータフレームを受信した際に、受信済の最新の測定情報に基づいて車両と障害物との距離L及び相対速度Vを特定して、減速量の指定に応じて所定条件Cを選択し、ブレーキ制御指示が不正か否かを判別する。図14の例では、所定条件Cが満たされずにそのブレーキ制御指示が適正であると判別され、転送部2133により、バス30から受信されたブレーキ制御指示のデータフレームの内容が記憶部120からデータバッファ220へと転送される(ステップS303)。
When the
そして、例えば、緊急ブレーキECU310がブレーキ制御指示のデータフレームを送信した直後等において、不正ECUが、減速量を最大量に指定したブレーキ制御指示(不正なブレーキ制御指示)のデータフレームをバス30に送信する(ステップS304)。
For example, immediately after the
ブレーキECU2200は、制御処理により、不正ECUが送信したブレーキ制御指示のデータフレームを受信した際に、受信済の最新の測定情報に基づいて車両と障害物との距離L及び相対速度Vを特定して、減速量の指定に応じて所定条件Cを選択し、ブレーキ制御指示が不正か否かを判別する。図14の例では、所定条件Cが満たされてそのブレーキ制御指示が不正であると判別され、この場合に転送部2133は、バス30から受信されたブレーキ制御指示のデータフレームの内容を記憶部120からデータバッファ220へと転送しない(ステップS305)。
The
そして、ブレーキECU2200の制御処理部230は、ステップS303でデータバッファ220に格納された情報が示すブレーキ制御指示に対応してブレーキ制御を行うので、不正なブレーキ制御指示に従ってブレーキ201の作動を行うことがない(ステップS306)。
The
図15は、車両20が障害物と衝突する直前という状況で、不正ECUがバス30に不正なブレーキ制御指示(ブレーキの作動を抑止させるような指示)のデータフレームを送信する例を示す。以下、図15に即して、制御システム11における各ECUの動作について説明する。
FIG. 15 shows an example in which the unauthorized ECU transmits a data frame of an unauthorized brake control instruction (an instruction to inhibit the brake operation) to the
センサECU320は、障害物センサ321及び速度センサ322で測定された測定結果を示す測定情報を含むデータフレームをバス30に送信する(ステップS401)。このステップS401は、上述の図14のステップS301と同様である。
The
ブレーキ制御指示を周期的に送信する緊急ブレーキECU310は、障害物との衝突の直前においては、減速量を最大量と指定したブレーキ制御指示のデータフレームをバス30に送信する(ステップS402)。
Immediately before the collision with the obstacle, the
ブレーキECU2200は、制御処理により、緊急ブレーキECU310が送信したブレーキ制御指示のデータフレームを受信した際に、受信済の最新の測定情報に基づいて車両と障害物との距離L及び相対速度Vを特定して、減速量の指定に応じて所定条件Cを選択し、ブレーキ制御指示が不正か否かを判別する。図15の例では、所定条件Cが満たされずにそのブレーキ制御指示が適正であると判別され、転送部2133により、バス30から受信されたブレーキ制御指示のデータフレームの内容が記憶部120からデータバッファ220へと転送される(ステップS403)。
The
そして、例えば、緊急ブレーキECU310がブレーキ制御指示のデータフレームを送信した直後等において、不正ECUが、減速量をゼロに指定したブレーキ制御指示(不正なブレーキ制御指示)のデータフレームをバス30に送信する(ステップS404)。
Then, for example, immediately after the
ブレーキECU2200は、制御処理により、不正ECUが送信したブレーキ制御指示のデータフレームを受信した際に、受信済の最新の測定情報に基づいて車両と障害物との距離L及び相対速度Vを特定して、減速量の指定に応じて所定条件Cを選択し、ブレーキ制御指示が不正か否かを判別する。図15の例では、所定条件Cが満たされてそのブレーキ制御指示が不正であると判別され、この場合に転送部2133は、バス30から受信されたブレーキ制御指示のデータフレームの内容を記憶部120からデータバッファ220へと転送しない(ステップS405)。
The
そして、ブレーキECU2200の制御処理部230は、ステップS403でデータバッファ220に格納された情報が示すブレーキ制御指示に対応してブレーキ201を作動させる制御を行うので、不正なブレーキ制御指示に従ってブレーキ201の作動を抑止してしまうことがない(ステップS406)。
The
[2.5 実施の形態2の効果]
実施の形態2に係る制御システム11では、ブレーキECU2200の一部としての制御装置2100の制御部2130が、ブレーキ制御指示(つまりブレーキ制御指示のデータフレーム)の受信部2111での受信の直前にセンサECU320から取得した測定情報に基づいて、そのブレーキ制御指示の受信の際における車両20と障害物との距離L、及び、車両20の障害物に対する相対速度Vを特定し、距離Lと相対速度Vとについての所定条件Cが満たされる場合に、データバッファ220へブレーキ制御指示が転送されないようにフィルタリングすることで、そのブレーキ制御指示を破棄する制御を行う。所定条件Cは、ブレーキ制御指示が、減速量として最大量を指定するものか、減速量としてゼロを指定するものかにより相違し得る。所定条件Cは、正常状態の緊急ブレーキECU310が送信するブレーキ制御指示については所定条件Cが満たされないように、定めておくことができる。不正ECUが、緊急ブレーキECU310と相違するブレーキ制御指示(つまり不正なブレーキ制御指示のデータフレーム)をバス30に送信した際に、制御部2130は、所定条件Cが満たされるとそのブレーキ制御指示を不正と判別して、データバッファ220へそのブレーキ制御指示を示す情報が転送されないようにフィルタリングするので、制御処理部230が不正なブレーキ制御指示に従ってブレーキ201を制御してしまうことが防止され得る。即ち、制御システム11では、ブレーキECU2200によりブレーキ制御指示に係る不正なフレーム(攻撃フレーム)への適切な対処がなされ、攻撃フレームによって事故が引き起こされることが防止され得る。
[2.5 Effects of Embodiment 2]
In the
(その他変形例)
以上のように、本発明に係る技術の例示として実施の形態1、2を説明した。しかしながら、本発明に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本発明の一実施態様に含まれる。
(Other variations)
As described above,
(1)上記実施の形態1では、セキュリティECU100は、車両20と障害物との距離、及び、車両20の速度(障害物に対する相対速度)をバス30経由で取得する例(測定情報を含むデータフレームの受信により取得する例)を示した。この他に、例えばセキュリティECU100と専用の通信線で接続した各センサを用いて、ブレーキ制御指示のデータフレームを受信した際に(つまりその受信の前後の一定期間内において)、車両20と障害物との距離、及び、車両20の速度(障害物に対する相対速度)を測定することで直接的に取得することとしても良い。また、上記実施の形態で示した車両20と障害物との相対速度の代わりに、車両20の絶対速度を速度センサ322で取得して、ブレーキ制御指示が不正であるか否かの判別のための所定条件として、車両20と障害物との距離、及び、車両20の絶対速度についての条件を用いることとしても良い。
(1) In the first embodiment, the
(2)上記実施の形態2では、ブレーキECU2200の一部が、不正なブレーキ制御指示の攻撃フレームに適切に対処する制御装置2100として機能する例を示した。即ち、制御部2130が、ブレーキ制御指示が不正であることの判別のための所定条件が満たされない場合において、受信部2111により受信されたブレーキ制御指示を示す情報をデータバッファ220に格納し、所定条件が満たされる場合には、受信部2111により受信されたブレーキ制御指示を示す情報をデータバッファ220に格納しないことで、ブレーキ制御指示を破棄する制御を行うこととした。この他に、ブレーキECU2200が、不正なブレーキ制御指示の攻撃フレームに適切に対処する制御装置として機能することとしても良い。例えば、制御部2130に、制御処理部230の機能を含ませて、ブレーキ制御指示が不正であることの判別のための所定条件が満たされない場合において、受信部2111により受信されたブレーキ制御指示に従って、ブレーキ201の制御を行い、所定条件が満たされる場合には、受信部2111により受信されたブレーキ制御指示を破棄することでブレーキ制御指示に従ったブレーキ201の制御を抑止する制御を行うこととしても良い。
(2) In the second embodiment, an example is shown in which a part of the
(3)上記実施の形態で示したブレーキ制御指示が不正であることの判別のための所定条件は、車両20の車種毎に対応して定められていることとしても良い。即ち、同一車種の複数の車両20それぞれにおいて所定条件が同じように定められ、互いに相違する車種の複数の車両20それぞれにおいて所定条件が相違するように定められ得る。ここでの車種が同一の車両は、例えば、型式(車両型式)が同一の車両である。一例としては、車種が同一の車両は、車台番号における型式の値、或いは、車両識別番号(VIN:Vehicle Identification Number)における先頭からシリアル番号の前までの桁の値が、同一の車両である。
(3) The predetermined condition for determining that the brake control instruction shown in the above embodiment is illegal may be determined for each vehicle type. That is, the predetermined condition can be set in the same manner for each of the plurality of
(4)上記実施の形態で示した制御部130、2130は、ブレーキ制御指示が不正であることの判別のための所定条件Cに係る所定演算F(V,L)の内容を、車両20のブレーキ201による制動距離に影響を与える車両20の構成要素の変化に応じて変更しても良い。例えば、制御部130、2130は、所定演算F(V,L)=L−G(V)とした場合における多項式関数Gの係数等を、車両20のブレーキ201の部品、タイヤ等の交換或いは劣化等に応じて変更しても良い。なお、制御部130、2130は、例えばブレーキ201の部品、タイヤ等の情報を、通信その他のいかなる方法で取得しても良く、また、時計、走行距離の積算計等からの情報を用いて、ブレーキ201の部品、タイヤ等の劣化度合いを算定しても良い。また、上記多項式関数Gの係数等は、例えば路面状況(舗装路、砂利道)、天候(晴天、降雨、降雪)等に応じて変更しても良い。
(4) The
(5)上記実施の形態で示した障害物センサ321は、例えば障害物の種別(例えば人と、人以外の物体等とを区別する種別)を検出し、センサECU320は、障害物の種別を示す障害物情報を含むデータフレームをバス30に送信することとしても良い。そして、受信部111、2111は、バス30から障害物情報を含むデータフレームを受信し、制御部130、2130は、受信部111、2111により受信された障害物情報が示す種別に応じて、ブレーキ制御指示が不正であることの判別のための所定条件Cに係る所定演算F(V,L)の内容を変更しても良い。
(5) The
(6)上記実施の形態では、ブレーキ制御指示のデータフレームが減速量の指定を含む例を示したが、必ずしも減速量の指定を含まなくても良い。例えば、ブレーキ制御指示のデータフレームは、ブレーキを作動させる旨の指定或いはブレーキの作動を抑止させる旨の指定を含むこととしても良い。この場合に、ブレーキ制御指示が不正か否かの判別においては、ブレーキを作動させる旨の指定を例えば減速量の最大の指定と同様に扱うこととしても良く、ブレーキの作動を抑止させる旨の指定を例えば減速量のゼロの指定と同様に扱うこととしても良い。 (6) In the above embodiment, the example in which the data frame of the brake control instruction includes the designation of the deceleration amount is shown, but the deceleration amount need not necessarily be designated. For example, the data frame of the brake control instruction may include a designation for operating the brake or a designation for suppressing the brake operation. In this case, in determining whether or not the brake control instruction is invalid, the designation to activate the brake may be handled in the same manner as the maximum designation of the deceleration amount, for example, and the designation to inhibit the brake operation. May be handled in the same manner as the designation of the deceleration amount of zero, for example.
(7)上記実施の形態では、CANプロトコルにおけるデータフレームについてのフォーマットとして、標準IDフォーマット(図2参照)を示したが、拡張IDフォーマットであっても良く、データフレームのID(メッセージID)は、拡張IDフォーマットでの拡張ID等であっても良い。また、上記実施の形態で示したCANプロトコルは、TTCAN(Time-Triggered CAN)、CANFD(CAN with Flexible Data Rate)等の派生的なプロトコルも包含する広義の意味のものとしても良い。 (7) In the above embodiment, the standard ID format (see FIG. 2) is shown as the format for the data frame in the CAN protocol, but the extended ID format may be used, and the ID (message ID) of the data frame is Alternatively, an extended ID in an extended ID format may be used. Further, the CAN protocol described in the above embodiment may have a broad meaning including derivative protocols such as TTCAN (Time-Triggered CAN) and CANFD (CAN with Flexible Data Rate).
(8)上記実施の形態で示した制御システム10、11が備える各種構成要素の機能分担は、一例に過ぎず、その分担を変更し得る。また、セキュリティECU100における制御部130等の機能の一部を、セキュリティECU100と通信可能な装置(例えば車両20外部のサーバ装置等)が分担することとしても良い。
(8) The function sharing of the various components included in the
(9)上記実施の形態における各ECUは、例えば、プロセッサ、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置であることとしたが、ハードディスク装置、ディスプレイ、キーボード、マウス等のハードウェア構成要素を含んでいても良い。また、上記実施の形態で示した各装置は、メモリに記憶された制御プログラムがプロセッサにより実行されてソフトウェア的に機能を実現する代わりに、専用のハードウェア(デジタル回路等)によりその機能を実現することとしても良い。 (9) Each ECU in the above embodiment is, for example, a device including a digital circuit such as a processor and a memory, an analog circuit, a communication circuit, and the like, but hardware such as a hard disk device, a display, a keyboard, and a mouse. A component may be included. In addition, each device described in the above embodiment realizes its function with dedicated hardware (such as a digital circuit) instead of realizing the function as software by the control program stored in the memory being executed by the processor. It is also good to do.
(10)上記実施の形態における各装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしても良い。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAM等を含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。また、上記各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又は全部を含むように1チップ化されても良い。また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現しても良い。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。更には、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。 (10) A part or all of the constituent elements constituting each device in the above embodiment may be constituted by one system LSI (Large Scale Integration). The system LSI is an ultra-multifunctional LSI manufactured by integrating a plurality of components on a single chip. Specifically, the system LSI is a computer system including a microprocessor, a ROM, a RAM, and the like. . A computer program is recorded in the RAM. The system LSI achieves its functions by the microprocessor operating according to the computer program. In addition, each part of the constituent elements constituting each of the above devices may be individually made into one chip, or may be made into one chip so as to include a part or the whole. Although the system LSI is used here, it may be called IC, LSI, super LSI, or ultra LSI depending on the degree of integration. Further, the method of circuit integration is not limited to LSI's, and implementation using dedicated circuitry or general purpose processors is also possible. An FPGA (Field Programmable Gate Array) that can be programmed after manufacturing the LSI or a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used. Furthermore, if integrated circuit technology comes out to replace LSI's as a result of the advancement of semiconductor technology or a derivative other technology, it is naturally also possible to carry out function block integration using this technology. Biotechnology can be applied as a possibility.
(11)上記各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしても良い。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM等から構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしても良い。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしても良い。 (11) Part or all of the constituent elements constituting each of the above devices may be configured as an IC card or a single module that can be attached to and detached from each device. The IC card or the module is a computer system including a microprocessor, a ROM, a RAM, and the like. The IC card or the module may include the super multifunctional LSI described above. The IC card or the module achieves its function by the microprocessor operating according to the computer program. This IC card or this module may have tamper resistance.
(12)本発明の一態様としては、例えば図8〜図10、図13〜図15等に示す処理手順の全部又は一部を含む制御方法であるとしても良い。例えば、制御方法は、車両20において複数のECUが通信に用いるバス30からブレーキ制御指示を受信する受信ステップ(例えばステップS13、S23)と、受信ステップでブレーキ制御指示を受信した際における車両20と障害物との距離、及び、車両20の速度についての所定条件が満たされる場合に、そのブレーキ制御指示を無効化又は破棄する制御を行う制御ステップ(例えばステップS15〜S16、S25〜S26)とを含む。また、本発明の一態様としては、この制御方法に係る処理をコンピュータにより実現するコンピュータプログラムであるとしても良いし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。この制御方法に係る処理は、例えば、車両20において複数のECUが通信に用いるバス30からブレーキ制御指示を受信する受信ステップ(例えばステップS13、S23)と、受信ステップでブレーキ制御指示を受信した際における車両20と障害物との距離、及び、車両20の速度についての所定条件が満たされるか否かにより、そのブレーキ制御指示が不正であるか否かを判別(検知)する判別ステップ(例えばステップS15、S25)とを含む不正検知処理である。また、本発明の一態様としては、前記コンピュータプログラム又は前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリ等に記録したものとしても良い。また、これらの記録媒体に記録されている前記デジタル信号であるとしても良い。また、本発明の一態様としては、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。また、本発明の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしても良い。また、前記プログラム若しくは前記デジタル信号を前記記録媒体に記録して移送することにより、又は、前記プログラム若しくは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしても良い。
(12) As one aspect of the present invention, for example, a control method including all or part of the processing procedures shown in FIGS. 8 to 10, 13 to 15, and the like may be used. For example, the control method includes a receiving step (for example, steps S13 and S23) for receiving a brake control instruction from the
(13)上記実施の形態及び上記変形例で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。 (13) Embodiments realized by arbitrarily combining the constituent elements and functions shown in the embodiment and the modification are also included in the scope of the present invention.
本発明は、ブレーキを要する車両等の移動体のネットワークに不正なブレーキ制御指示のフレームを送信する攻撃に対処するために利用可能である。 INDUSTRIAL APPLICABILITY The present invention can be used to cope with an attack in which an illegal brake control instruction frame is transmitted to a network of a moving body such as a vehicle that requires braking.
10、11 制御システム
20 車両
30 バス
100 セキュリティECU(制御装置)
110 通信部
111、2111 受信部
112 送信部
120 記憶部
130、2130 制御部
131 判別部
132 エラーフレーム送信制御部
200、2200 ブレーキECU
201 ブレーキ
210 通信部
220 データバッファ
230 制御処理部(ブレーキ制御部)
310 緊急ブレーキECU
320 センサECU
321 障害物センサ(検知装置)
322 速度センサ
330 エンジンECU
331 エンジン
390 診断用ポート
2100 制御装置
2111 受信部
2130 制御部
2133 転送部
10, 11
DESCRIPTION OF
310 Emergency brake ECU
320 Sensor ECU
321 Obstacle sensor (detection device)
322
Claims (18)
前記受信部が前記指示を受信した際、前記移動体と障害物との距離及び前記移動体の速度が所定条件を満たすか否かに基づいて前記指示が不正であるか否かを判別する判別部と、を備えた、
制御装置。 A receiving unit for receiving an instruction to control the brake of the moving body;
When the receiving unit receives the instruction, a determination is made to determine whether the instruction is illegal based on whether a distance between the moving body and an obstacle and a speed of the moving body satisfy a predetermined condition. And comprising,
Control device.
請求項1に記載の制御装置。 When the determination unit determines that the instruction is illegal, the control unit further includes a control unit that performs control so that the control based on the instruction is not executed.
The control device according to claim 1.
請求項2に記載の制御装置。 The control unit performs control so that the control according to the instruction is not executed by invalidating or discarding the instruction.
The control device according to claim 2.
請求項2又は3に記載の制御装置。 The speed is a relative speed of the moving body with respect to the obstacle.
The control device according to claim 2 or 3.
請求項2〜4のいずれか一項に記載の制御装置。 The determination unit determines whether or not the distance and the speed satisfy the predetermined condition by comparing a predetermined calculation result based on the distance and the speed with a threshold value.
The control apparatus as described in any one of Claims 2-4.
前記判別部は、
前記指示が最大の減速量を含む場合、前記所定演算の結果が第1閾値より大きいことを前記所定条件として用い、
前記指示が減速量としてゼロを含む場合、前記所定演算の結果が前記第1閾値以下の第2閾値より小さいことを前記所定条件として用いる、
請求項5に記載の制御装置。 The instruction includes a deceleration amount by the brake,
The discrimination unit
When the instruction includes a maximum deceleration amount, the predetermined condition is that the result of the predetermined calculation is greater than a first threshold,
When the instruction includes zero as a deceleration amount, the predetermined condition is that a result of the predetermined calculation is smaller than a second threshold value that is equal to or less than the first threshold value.
The control device according to claim 5.
請求項6に記載の制御装置。 The predetermined calculation results in the predetermined calculation being equal to or less than the first threshold and equal to or greater than the second threshold when the normal instruction from the emergency brake electronic control unit includes an amount of deceleration greater than zero. Is defined as
The control device according to claim 6.
請求項5〜7のいずれか一項に記載の制御装置。 The determination unit changes the content of the predetermined calculation according to a change in a component of the moving body that affects a braking distance by the brake of the moving body.
The control apparatus as described in any one of Claims 5-7.
前記判別部は、前記障害物情報に応じて、前記所定演算の内容を変更する、
請求項5〜8のいずれか一項に記載の制御装置。 The receiving unit receives obstacle information indicating a type of the obstacle detected in the moving body,
The determination unit changes the content of the predetermined calculation according to the obstacle information.
The control apparatus as described in any one of Claims 5-8.
請求項2〜4のいずれか一項に記載の制御装置。 The determination unit uses, as the predetermined condition, that a ratio of the distance to the speed exceeds a threshold when the instruction is an instruction to operate the brake.
The control apparatus as described in any one of Claims 2-4.
請求項2〜10のいずれか一項に記載の制御装置。 The predetermined condition is determined corresponding to a vehicle type of the moving body,
The control apparatus as described in any one of Claims 2-10.
前記判別部は、前記測定情報から特定した前記距離及び前記速度が前記所定条件を満たすか否かに基づいて前記指示が不正であるか否かを判別する、
請求項2〜11のいずれか一項に記載の制御装置。 The receiving unit receives measurement information indicating the measurement result of the distance and the speed measured in the moving body,
The determination unit determines whether the instruction is incorrect based on whether the distance and the speed specified from the measurement information satisfy the predetermined condition;
The control device according to any one of claims 2 to 11.
前記制御部は、前記受信部が前記データフレームを受信した際、前記判別部によって前記指示が不正と判別された場合、前記データフレームを無効化するエラーフレームを送信する制御を行う、
請求項2〜12のいずれか一項に記載の制御装置。 The receiving unit receives a data frame including the instruction according to a Controller Area Network protocol,
The control unit performs control to transmit an error frame that invalidates the data frame when the determination unit determines that the instruction is invalid when the reception unit receives the data frame.
The control apparatus as described in any one of Claims 2-12.
請求項2〜13のいずれか一項に記載の制御装置。 The receiving unit receives the distance and the speed from a sensor connected by a dedicated communication line.
The control apparatus as described in any one of Claims 2-13.
前記制御部は、前記判別部によって前記指示が不正と判別された場合、前記指示を破棄することで前記指示に従った前記ブレーキの制御を抑止する制御を行う、
請求項2〜14のいずれか一項に記載の制御装置。 The control device is an electronic control unit that controls the brake of the moving body included in one or more electronic control units,
The control unit performs control to suppress the control of the brake according to the instruction by discarding the instruction when the instruction is determined to be illegal by the determination unit.
The control apparatus as described in any one of Claims 2-14.
前記制御装置は、前記ブレーキ電子制御ユニットに含まれ、
前記制御部は、前記判別部によって前記指示が不正と判別された場合、前記指示を示す情報を前記記憶媒体に格納しないことで前記指示を破棄する制御を行う、
請求項2〜15のいずれか一項に記載の制御装置。 The one or more electronic control units included in the mobile body include a brake electronic control unit having a storage medium and a brake control unit that controls the brake according to information stored in the storage medium,
The control device is included in the brake electronic control unit,
The control unit performs control to discard the instruction by not storing information indicating the instruction in the storage medium when the instruction is determined to be illegal by the determination unit.
The control device according to any one of claims 2 to 15.
前記移動体に対する障害物を検知する検知装置と、
制御装置と、を備え、
前記制御装置は、
前記移動体の前記ブレーキを制御する指示を受信し、
前記指示を受信した際、前記移動体と前記障害物との距離及び前記移動体の速度が所定条件を満たすか否かに基づいて前記指示が不正か否かを判別する、
制御システム。 A brake provided on the moving body;
A detection device for detecting an obstacle to the moving body;
A control device,
The control device includes:
Receiving an instruction to control the brake of the moving body;
When receiving the instruction, it is determined whether the instruction is illegal based on whether the distance between the moving body and the obstacle and the speed of the moving body satisfy a predetermined condition;
Control system.
前記不正検知処理は、
移動体のブレーキを制御する指示を受信し、
前記指示を受信した際、前記移動体と障害物との距離及び前記移動体の速度が所定条件を満たすか否かに基づいて前記指示が不正であるか否かを判別する、
プログラム。 A program for causing a device including a microprocessor to perform fraud detection processing,
The fraud detection process includes:
Receives instructions to control the brakes of the moving object,
When the instruction is received, it is determined whether the instruction is invalid based on whether the distance between the moving body and the obstacle and the speed of the moving body satisfy a predetermined condition,
program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019126502A JP2019172261A (en) | 2019-07-05 | 2019-07-05 | Control device, control system and control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019126502A JP2019172261A (en) | 2019-07-05 | 2019-07-05 | Control device, control system and control program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016242731A Division JP6558703B2 (en) | 2016-12-14 | 2016-12-14 | Control device, control system, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019172261A true JP2019172261A (en) | 2019-10-10 |
Family
ID=68170488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019126502A Pending JP2019172261A (en) | 2019-07-05 | 2019-07-05 | Control device, control system and control program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019172261A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021037804A (en) * | 2019-09-02 | 2021-03-11 | トヨタ自動車株式会社 | Collision avoidance support device |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004253908A (en) * | 2003-02-18 | 2004-09-09 | Sumitomo Electric Ind Ltd | False data detecting method and vehicle-mounted apparatus |
JP2007280144A (en) * | 2006-04-07 | 2007-10-25 | Mazda Motor Corp | Obstacle detector for vehicle |
JP2009194497A (en) * | 2008-02-13 | 2009-08-27 | Hitachi Ltd | Transmission filtering method, and onboard gateway device, and program |
JP2009214764A (en) * | 2008-03-11 | 2009-09-24 | Toyota Motor Corp | Automatic brake system |
JP2009253803A (en) * | 2008-04-09 | 2009-10-29 | Hitachi Ltd | Filtering method of information, and on-vehicle gateway apparatus |
JP2014099098A (en) * | 2012-11-15 | 2014-05-29 | Denso Corp | Communication device |
JP2015065546A (en) * | 2013-09-25 | 2015-04-09 | 日立オートモティブシステムズ株式会社 | Vehicle control unit |
-
2019
- 2019-07-05 JP JP2019126502A patent/JP2019172261A/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004253908A (en) * | 2003-02-18 | 2004-09-09 | Sumitomo Electric Ind Ltd | False data detecting method and vehicle-mounted apparatus |
JP2007280144A (en) * | 2006-04-07 | 2007-10-25 | Mazda Motor Corp | Obstacle detector for vehicle |
JP2009194497A (en) * | 2008-02-13 | 2009-08-27 | Hitachi Ltd | Transmission filtering method, and onboard gateway device, and program |
JP2009214764A (en) * | 2008-03-11 | 2009-09-24 | Toyota Motor Corp | Automatic brake system |
JP2009253803A (en) * | 2008-04-09 | 2009-10-29 | Hitachi Ltd | Filtering method of information, and on-vehicle gateway apparatus |
JP2014099098A (en) * | 2012-11-15 | 2014-05-29 | Denso Corp | Communication device |
JP2015065546A (en) * | 2013-09-25 | 2015-04-09 | 日立オートモティブシステムズ株式会社 | Vehicle control unit |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021037804A (en) * | 2019-09-02 | 2021-03-11 | トヨタ自動車株式会社 | Collision avoidance support device |
JP7140077B2 (en) | 2019-09-02 | 2022-09-21 | トヨタ自動車株式会社 | Collision avoidance support device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6558703B2 (en) | Control device, control system, and program | |
JP7410223B2 (en) | Fraud detection server and method | |
US11190533B2 (en) | Anomaly detection electronic control unit, onboard network system, and anomaly detection method | |
CN107113214B (en) | Abnormality detection electronic control unit, vehicle-mounted network system, and communication method | |
JP7030046B2 (en) | Fraudulent communication detection method, fraudulent communication detection system and program | |
US10730518B2 (en) | On-board recording system | |
JP7231559B2 (en) | Anomaly detection electronic control unit, in-vehicle network system and anomaly detection method | |
CN106031098B (en) | Abnormal frame coping method, abnormal detection electronic control unit and vehicle-mounted network system | |
CN111934966B (en) | Abnormality detection electronic control unit, vehicle-mounted network system, and abnormality detection method | |
CN109076001B (en) | Frame transfer preventing device, frame transfer preventing method, and vehicle-mounted network system | |
JP7053449B2 (en) | Fraudulent communication detection standard determination method, fraudulent communication detection standard determination system and program | |
CN108353014B (en) | Illegal control suppression method, illegal control suppression device and vehicle-mounted network system | |
CN110406485B (en) | Illegal detection method and vehicle-mounted network system | |
JP2019008618A (en) | Information processing apparatus, information processing method, and program | |
WO2018186054A1 (en) | Method for determining reference for unauthorized communication detection, system for determining reference for unauthorized communication detection, and program | |
WO2018186053A1 (en) | Method for detecting unauthorized communication, system for detecting unauthorized communication, and program | |
JP2019212976A (en) | Electronic control device, monitoring method, program, and gateway device | |
JP2019172261A (en) | Control device, control system and control program | |
JP2019209961A (en) | Information processor, monitoring method, program, and gateway device | |
CN113556271A (en) | Illegal control suppression method, illegal control suppression device and vehicle-mounted network system | |
JP6519829B1 (en) | Electronic control device, monitoring method, program, and gateway device | |
JP2019209962A (en) | Information processor, monitoring method, program, and gateway device | |
CN113783958A (en) | Gateway device, method and vehicle-mounted network system | |
WO2017056395A1 (en) | Illegality detection electronic control unit, vehicle onboard network system, and communication method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190705 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200604 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200623 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200722 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201208 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20210608 |