JP6558703B2 - 制御装置、制御システム、及びプログラム - Google Patents

制御装置、制御システム、及びプログラム Download PDF

Info

Publication number
JP6558703B2
JP6558703B2 JP2016242731A JP2016242731A JP6558703B2 JP 6558703 B2 JP6558703 B2 JP 6558703B2 JP 2016242731 A JP2016242731 A JP 2016242731A JP 2016242731 A JP2016242731 A JP 2016242731A JP 6558703 B2 JP6558703 B2 JP 6558703B2
Authority
JP
Japan
Prior art keywords
instruction
brake
control
control instruction
ecu
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
JP2016242731A
Other languages
English (en)
Other versions
JP2018098682A5 (ja
JP2018098682A (ja
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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2016242731A priority Critical patent/JP6558703B2/ja
Priority to PCT/JP2017/036296 priority patent/WO2018110046A1/ja
Priority to DE112017006282.9T priority patent/DE112017006282T5/de
Publication of JP2018098682A publication Critical patent/JP2018098682A/ja
Publication of JP2018098682A5 publication Critical patent/JP2018098682A5/ja
Priority to US16/405,625 priority patent/US11247694B2/en
Application granted granted Critical
Publication of JP6558703B2 publication Critical patent/JP6558703B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60TVEHICLE BRAKE CONTROL SYSTEMS OR PARTS THEREOF; BRAKE CONTROL SYSTEMS OR PARTS THEREOF, IN GENERAL; ARRANGEMENT OF BRAKING ELEMENTS ON VEHICLES IN GENERAL; PORTABLE DEVICES FOR PREVENTING UNWANTED MOVEMENT OF VEHICLES; VEHICLE MODIFICATIONS TO FACILITATE COOLING OF BRAKES
    • B60T8/00Arrangements for adjusting wheel-braking force to meet varying vehicular or ground-surface conditions, e.g. limiting or varying distribution of braking force
    • B60T8/17Using electrical or electronic regulation means to control braking
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60TVEHICLE BRAKE CONTROL SYSTEMS OR PARTS THEREOF; BRAKE CONTROL SYSTEMS OR PARTS THEREOF, IN GENERAL; ARRANGEMENT OF BRAKING ELEMENTS ON VEHICLES IN GENERAL; PORTABLE DEVICES FOR PREVENTING UNWANTED MOVEMENT OF VEHICLES; VEHICLE MODIFICATIONS TO FACILITATE COOLING OF BRAKES
    • B60T8/00Arrangements for adjusting wheel-braking force to meet varying vehicular or ground-surface conditions, e.g. limiting or varying distribution of braking force
    • B60T8/17Using electrical or electronic regulation means to control braking
    • B60T8/173Eliminating or reducing the effect of unwanted signals, e.g. due to vibrations or electrical noise
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/18Conjoint control of vehicle sub-units of different type or different function including control of braking systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/09Taking automatic action to avoid collision, e.g. braking and steering
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • B60W30/18109Braking
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/10Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
    • B60W40/105Speed
    • 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]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • B60W2050/021Means for detecting failure or malfunction
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/10Longitudinal speed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • 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)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Combustion & Propulsion (AREA)
  • Chemical & Material Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Regulating Braking Force (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、例えば車両に搭載される電子制御ユニットが通信を行う車載ネットワークにおいて送信されるブレーキ制御指示メッセージについての不正に対処するためのセキュリティ技術に関する。
近年、自動車の中のシステムには、電子制御ユニット(ECU:Electronic Control Unit)と呼ばれる装置が多数配置されている。これらのECUをつなぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには、多数の規格が存在する。その中でも最も主流な車載ネットワークの一つに、ISO11898−1で規定されているCAN(Controller Area Network)という規格が存在する。
CANでは、通信路は2本のワイヤで構成されたバス(CANバス)であり、バスに接続されているECUはノードと呼ばれる。CANバスに接続されている各ノードは、フレーム(メッセージ)を送受信する。フレームを送信する送信ノードは、2本のバスに電圧をかけ、バス間で電位差を発生させることによって、レセシブと呼ばれる「1」の値と、ドミナントと呼ばれる「0」の値を送信する。複数の送信ノードが全く同一のタイミングで、レセシブとドミナントを送信した場合は、ドミナントが優先されて送信される。受信ノードは、受け取ったフレームのフォーマットに異常がある場合には、エラーフレームと呼ばれるフレームを送信する。エラーフレームとは、ドミナントを6bit連続して送信することで、送信ノードや他の受信ノードにフレームの異常を通知するものである。
また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等が連携する。
ところで、CANバスに不正なノードを接続すること、或いは、携帯情報端末、車外の通信装置等と通信する機能を有するECU等を攻撃して不正なノードに変化させること等により、攻撃者が、攻撃フレームをCANバスに送信して、自動車を不正にコントロールする脅威が存在する。攻撃フレームは、不正な攻撃者によってCANバスに送信されたフレームであり、車載ネットワークの正常状態において本来は送信されないフレーム(不正なフレーム)である。例えば、攻撃者により、走行中の車両の前方に障害物がない状態で、急ブレーキを発動させるようなブレーキ制御指示のフレームがCANバスに送信されると、その車両の急停止により乗員の負傷、後続車両の衝突等の事故が生じ得る。
このような攻撃フレームを検知して防御する技術として、車載ネットワークにおいて周期的に送信されるべきメッセージIDのフレームについて、想定される周期を予め登録しておき、想定周期に基づいて不正か否かの判別を行う技術が知られている(特許文献1参照)。しかし、特許文献1の技術では、攻撃者が正規のECUのフレーム送信周期に合わせてフレームを送信するような場合に対応できない。例えば、不正なフレームが正規のフレームの直前に受信した場合に、不正なフレームを検出できず、直後に続く正規のフレームを不正と誤って検出してしまう。
また、従来、車載ネットワークで受信したフレームに係る車輪速の数値情報について、基準として定めた所定値より大きい場合には、異常であると判断する技術が知られている(特許文献2参照)。
特開2014−146868号公報 特開2008−114806号公報
特許文献2の技術は、フレームの周期に依存せずに、受信したフレームに関して異常の判断を行うが、不正なブレーキ制御指示の攻撃フレームに適切に対処するためには有用ではない。
そこで、本発明は、攻撃者により移動体におけるネットワーク(例えば車載ネットワーク)のバスに送信される不正なブレーキ制御指示の攻撃フレームに適切に対処する制御装置を提供する。また、本発明は、ブレーキ制御指示に係る不正なフレームに適切に対処する制御システム、制御方法、及び、その制御システムでブレーキ制御指示に係る不正なフレームに適切に対処するために用いられる制御プログラムを提供する。
上記課題を解決するために本発明の一態様に係る制御装置は、移動体のブレーキを制御する指示を受信する受信部と、前記受信部が前記指示を受信した際、前記移動体と障害物との距離及び前記移動体の速度に基づいて指標値を決定し、当該指標値と所定の閾値との関係に応じて定まる前記移動体の状況と、前記指示の内容とが整合しない場合、前記指示が従うべきではない不正な指示であると判別する判別部と、前記判別部によって前記指示が不正と判別された場合、前記指示による制御が実行されないように制御を行う制御部とを備えた、制御装置である。
また、上記課題を解決するために本発明の一態様に係る制御システムは、移動体に設けられるブレーキと、前記移動体に対する障害物を検知する検知装置と、制御装置と、を備え、前記制御装置は、前記移動体の前記ブレーキを制御する指示を受信し、前記指示を受信した際、前記移動体と前記障害物との距離及び前記移動体の速度に基づいて指標値を決定し、当該指標値と所定の閾値との関係に応じて定まる前記移動体の状況と、前記指示の内容とが整合しない場合、前記指示が従うべきではない不正な指示であると判別し、前記指示が不正と判別された場合、前記指示による制御が実行されないように制御を行う、制御システムである。
また、上記課題を解決するために本発明の一態様に係る制御方法は、移動体において複数の電子制御ユニットが通信に用いるバスからブレーキ制御指示を受信し、前記ブレーキ制御指示を受信した際、前記移動体と障害物との距離及び前記移動体の速度が所定条件を満たす場合、当該ブレーキ制御指示を無効化又は破棄する、制御方法である。
また、上記課題を解決するために本発明の一態様に係るプログラムは、マイクロプロセッサを備える装置に不正検知処理を行わせるためのプログラムであって、前記不正検知処理は、移動体のブレーキを制御する指示を受信し、前記指示を受信した際、前記移動体と障害物との距離及び前記移動体の速度に基づいて指標値を決定し、当該指標値と所定の閾値との関係に応じて定まる前記移動体の状況と、前記指示の内容とが整合しない場合、前記指示が従うべきではない不正な指示であると判別し、前記指示が不正と判別された場合、前記指示による制御が実行されないように制御を行う、プログラムである。
本発明によれば、攻撃者によりブレーキ制御指示に係る不正なフレーム(攻撃フレーム)の無効化が可能となり得る。
実施の形態1に係る制御システムの全体構成を示す図である。 CANプロトコルで規定されるデータフレームのフォーマットを示す図である。 CANプロトコルで規定されるエラーフレームのフォーマットを示す図である。 実施の形態1に係るブレーキECUの構成図である。 緊急ブレーキECUが送信するブレーキ制御指示に係るフレームのデータフィールドの一例を示す図である。 実施の形態1に係るセキュリティECU(制御装置)の構成図である。 ブレーキ制御指示の不正判別の条件について説明するための図である。 セキュリティECUにおける制御処理を示すフローチャートである。 実施の形態1におけるブレーキ制御に係る処理シーケンスの一例を示す図である。 実施の形態1におけるブレーキ制御に係る処理シーケンスの一例を示す図である。 実施の形態2に係る制御システムの全体構成を示す図である。 実施の形態2に係るブレーキECUの構成図である。 ブレーキECUにおける制御処理を示すフローチャートである。 実施の形態2におけるブレーキ制御に係る処理シーケンスの一例を示す図である。 実施の形態2におけるブレーキ制御に係る処理シーケンスの一例を示す図である。
(本発明の基礎となった知見等)
車両の先進運転者支援システムでは、障害物に車両が衝突することを回避するための緊急ブレーキECUは、障害物の検知等を行うセンサECUから取得した情報等に基づいて、概ね衝突直前にブレーキ制御指示(つまりブレーキ制御指示のフレーム)をCANバスに送信する。そのブレーキ制御指示に従って、ブレーキECUがブレーキを制御することで、衝突の前に車両が停止する。なお、ブレーキ制御指示の内容として、例えばブレーキを作動させる指定の他に、ブレーキの作動を抑止させる指定等がある。
攻撃者により、不正なブレーキ制御指示の攻撃フレーム(不正なフレーム)が送信され、その不正なブレーキ制御指示が、緊急ブレーキECUが送信する適正なブレーキ制御指示と相違する内容である場合においては、車両等の事故につながる可能性がある。適正なブレーキ制御指示は、車両の進行方向における障害物と車両との距離、及び、車両の速度に対応した内容となるべきである。そこで、CANバスに送信されたブレーキ制御指示が、車両の走行状況に応じた適正なブレーキ制御指示か、これと相違する内容の不正なブレーキ制御指示かを、車両の進行方向の障害物と車両との距離、及び、車両の速度(例えば車両と障害物との相対速度或いは絶対速度)に基づいて判別する方法に想到した。なお、車両は一例であり、車両その他を含む移動体にもこの方法を適用し得る。本発明の一態様に係る制御システム等では、その方法により不正なブレーキ制御指示を判別し、不正なブレーキ制御指示であれば無効化することで、そのブレーキ制御指示に従ってブレーキ制御がなされないようにする。これにより、攻撃フレームによって事故が引き起こされることの防止が可能となる。
本発明の一態様に係る制御装置は、移動体のブレーキを制御する指示を受信する受信部と、前記受信部が前記指示を受信した際、前記移動体と障害物との距離及び前記移動体の速度に基づいて指標値を決定し、当該指標値と所定の閾値との関係に応じて定まる前記移動体の状況と、前記指示の内容とが整合しない場合、前記指示が従うべきではない不正な指示であると判別部と、前記判別部によって前記指示が不正と判別された場合、前記指示による制御が実行されないように制御を行う制御部とを備えた、制御装置である。これにより、移動体(例えば車両)と障害物(例えば歩行者、他の車両、建築物等)との距離、及び、移動体の速度に基づいて、移動体のブレーキを制御する指示が不正であるか否かを判別することが可能となる。
より具体的な例としては、前記判別部は、前記閾値と前記指標値との関係が、ブレーキを作動させるべきでない状況を示している場合に、前記指示が最大の減速量の指定を含むときは、前記指示が従うべきではない不正な指示であると判別してもよい。また、前記判別部は、前記閾値と前記指標値との関係が、ブレーキを作動させるべき状況を示している場合に、前記指示が減速量としてゼロの指定を含むときは、前記指示が従うべきではない不正な指示であると判別してもよい。また、前記制御部は、前記指示を無効化又は破棄することにより、前記指示による制御が実行されないように制御を行っても良い。無効化は広義には移動体のブレーキを制御する指示(以下ではブレーキ制御指示ともいう)が有効に作用しないようにすることである。但し、ここではブレーキ制御指示をバス上において有効に作用しないようにする(例えば後述するエラーフレームによる上書きによって改変する)ことを無効化と称し、バスからブレーキ制御指示がECUに受信された後においてそのブレーキ制御指示を有効に作用しないようにすることを破棄と称する。破棄は、ブレーキ制御指示に従ったブレーキの制御を抑止することを含む。
また、例えば、前記速度は、前記障害物に対する前記移動体の相対速度であることとしても良い。これにより、障害物が移動している場合においても、ブレーキ制御指示が不正か否か(つまり無効化制御の対象であるか否か)を適切に判別可能となる。
また、例えば、前記判別部は、前記距離と前記速度とに基づく所定演算により前記指標値を算出することとしても良い。これにより、所定演算適切に定めておくことで、不正なブレーキ制御指示に対する適切な対処が可能となる。
また、例えば、前記指示は、前記ブレーキによる減速量を含み、前記判別部は、前記指示が最大の減速量を含む場合前記所定演算の結果が第1閾値より大きいとき、又は、前記指示が減速量としてゼロを含む場合前記所定演算の結果が前記第1閾値以下の第2閾値より小さいときは、前記指示が不正な指示であると判別することとしても良い。これにより、ブレーキを作動させるべき状況においてその作動の抑止を指示するような不正なブレーキ制御指示、或いは、ブレーキを作動させるべきでない状況においてブレーキの作動を指示するような不正なブレーキ制御指示を、無効化することが可能となる。
また、例えば、前記第2閾値は、前記第1閾値より小さいこととしても良い。これにより、ブレーキの作動を指示するブレーキ制御指示とブレーキの作動の抑止を指示するブレーキ制御指示との両方が必ずしも不正ではない状況(障害物と移動体の距離及び移動体の速度に係る状況)に適切に対応することが可能となる。
また、例えば、前記所定演算は、緊急ブレーキ電子制御ユニットからの正常な状態の前記指示が減速量としてゼロより大きい量を含む場合、前記所定演算の結果が、前記第1閾値以下かつ前記第2閾値以上となるように定められていることとしても良い。これにより、緊急ブレーキECUが正常な状態である場合(つまり攻撃者に支配された状態や故障した状態でない場合)において送信するブレーキ制御指示の無効化が、抑止される。
また、例えば、前記所定演算は、定められた係数と前記速度との積を前記距離から減算する演算であり、前記第1閾値は0であることとしても良い。これにより、比較的簡易な演算を用いて効率的に不正なブレーキ制御指示の無効化を実現することが可能となる。
また、例えば、前記所定演算は、係数が定められた一変数の多項式関数の変数に前記速度を代入した結果を前記距離から減算する演算であることとしても良い。これにより、多項式関数の係数を適切に定めておくことで、不正なブレーキ制御指示に対する適切な対処が可能となる。
また、例えば、前記判別部は、前記移動体の前記ブレーキによる制動距離に影響を与える前記移動体の構成要素の変化に応じて、前記所定演算の内容を変更することとしても良い。これにより、移動体の構成要素が変化した場合においても適切に不正なブレーキ制御指示を無効化することが可能となる。
また、例えば、前記受信部は、前記移動体において検出された前記障害物の種別を示す障害物情報を受信し、前記判別部は、前記障害物情報に応じて、前記所定演算の内容を変更することとしても良い。これにより、人、物体等といった障害物の種別に応じて緊急ブレーキECUがブレーキを作動させるべきタイミング等を変化させるようなシステムにおいて、適切に不正なブレーキ制御指示を無効化することが可能となる。
また、例えば、前記判別部は、前記指示が前記ブレーキの作動の指示である場合、前記速度に対する前記距離の比を前記指標値として算出することとしても良い。これにより、ブレーキの作動を指示するブレーキ制御指示が不正か否か(つまり無効化制御の対象であるか否か)を適切に判別可能となる。
また、例えば、前記所定条件は、前記移動体の車種に対応して定められていることとしても良い。これにより、車種毎のブレーキ性能等に応じて、ブレーキ制御指示が不正か否かを適切に判別することが可能となる。
また、例えば、前記受信部は、前記移動体において測定された、前記距離及び前記速度の測定結果を示す測定情報を受信し、前記判別部は、前記測定情報から特定した前記距離及び前記速度基づいて前記指示が不正であるか否かを判別することとしても良い。これにより、制御装置は、バスから距離及び速度の取得が可能となるので、センサと専用の通信路で通信するための通信回路、或いは、センサを有する必要がなくなる。
また、例えば、前記受信部は、Controller Area Networkプロトコルに従って、前記指示を含むデータフレームを受信し、前記制御部は、前記受信部が前記データフレームを受信した際、前記判別部によって前記指示が不正と判別された場合、前記データフレームを無効化するエラーフレームを送信する制御を行うこととしても良い。これにより、ブレーキECUの構成を新たなものにする必要がなくなり、例えば従来同様のブレーキECUが接続されたバスに制御装置を接続することで、不正なブレーキ制御指示によってブレーキECUが不正な制御を行うことが抑制される。
また、例えば、前記制御装置は、1以上の電子制御ユニットに含まれる前記移動体のブレーキを制御する電子制御ユニットであり、前記制御部は、前記判別部によって前記指示が不正と判別された場合、前記指示を破棄することで前記指示に従った前記ブレーキの制御を抑止する制御を行うこととしても良い。これにより、ブレーキECUにおいて不正なブレーキ制御指示に適切に対処することが可能となる。
また、例えば、前記移動体に含まれる1以上の電子制御ユニットは、記憶媒体と、前記記憶媒体に格納された情報に従って前記ブレーキを制御するブレーキ制御部とを有するブレーキ電子制御ユニットを含み、前記制御装置は、前記ブレーキ電子制御ユニットに含まれ、前記制御部は、前記判別部によって前記指示が不正と判別された場合、前記指示を示す情報を前記記憶媒体に格納しないことで前記指示を破棄する制御を行うこととしても良い。これにより、ブレーキECUにおいてブレーキ制御指示を適切にフィルタリングすることが可能となる。
また、本発明の一態様に係る制御システムは、移動体に設けられるブレーキと、前記移動体に対する障害物を検知する検知装置と、制御装置と、を備え、前記制御装置は、前記移動体の前記ブレーキを制御する指示を受信し、前記指示を受信した際、前記移動体と前記障害物との距離及び前記移動体の速度に基づいて指標値を決定し、当該指標値と所定の閾値との関係に応じて定まる前記移動体の状況と、前記指示の内容とが整合しない場合、前記指示が従うべきではない不正な指示であると判別し、前記指示が不正と判別された場合、前記指示による制御が実行されないように制御を行う、制御システムである。これにより、移動体と障害物との距離、及び、移動体の速度に基づいて不正な指示であると判別された指示による制御が実行されないように制御を行うことが可能となる。
また、本発明の一態様に係る制御方法は、移動体において複数の電子制御ユニットが通信に用いるバスからブレーキ制御指示を受信し、前記ブレーキ制御指示を受信した際、前記移動体と障害物との距離及び前記移動体の速度が所定条件を満たす場合、当該ブレーキ制御指示を無効化又は破棄する制御方法である。これにより、移動体と障害物との距離、及び、移動体の速度に基づいて不正なブレーキ制御指示を無効化することが可能となる。
また、本発明の一態様に係るプログラムは、マイクロプロセッサを備える装置に不正検知処理を行わせるためのプログラムであって、前記不正検知処理は、移動体のブレーキを制御する指示を受信し、前記指示を受信した際、前記移動体と障害物との距離及び前記移動体の速度に基づいて指標値を決定し、当該指標値と所定の閾値との関係に応じて定まる前記移動体の状況と、前記指示の内容とが整合しない場合、前記指示が従うべきではない不正な指示であると判別し、前記指示が不正と判別された場合、前記指示による制御が実行されないように制御を行う、プログラムである。このプログラムを、プロセッサ(マイクロプロセッサ)を備える装置にインストールすることにより、そのプロセッサがプログラムを実行することで、バス上に現れたブレーキ制御指示が不正であるか否かを適切に判別され、不正な指示であると判別された指示による制御が実行されないように制御を行うことが可能となる。
なお、これらの全般的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なCD−ROM等の記録媒体で実現されても良く、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されても良い。
以下、実施の形態に係る制御方法を用いる制御システム等について、図面を参照しながら説明する。ここで示す実施の形態は、いずれも本発明の一具体例を示すものである。従って、以下の実施の形態で示される数値、構成要素、構成要素の配置及び接続形態、並びに、ステップ(工程)及びステップの順序等は、一例であって本発明を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
(実施の形態1)
以下、本発明の実施の一態様として、移動体の一例としての車両において車載ネットワークを構成するバス(CANバス)に送信された不正なブレーキ制御指示に係るフレームを無効化するセキュリティECU(制御装置)を備える制御システムについて、図面を用いて説明する。
[1.1 制御システム10の構成]
図1は、実施の形態1に係る制御システム10の全体構成を示す図である。
制御システム10は、主として車両20における車載ネットワークシステムで構成され、図1に例示するように、車両20に搭載された各種ECU(セキュリティECU100、ブレーキECU200、緊急ブレーキECU310、センサECU320、及び、エンジンECU330)と、バス(CANバス)30とを含んで構成される。なお、車両20における車載ネットワークシステムには、セキュリティECU100、ブレーキECU200、緊急ブレーキECU310、センサECU320、及び、エンジンECU330以外にいくつものECUが含まれ得るが、図1では省略して一部のECUのみを示している。また、制御システム10が、車両20におけるいずれかのECUと通信する車両外部のサーバ装置等を含んでも良い。
ECUは、例えば、プロセッサ(マイクロプロセッサ)、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ROM、RAM等であり、プロセッサにより実行される制御プログラム(ソフトウェアとしてのコンピュータプログラム)を記憶することができる。例えばプロセッサが、制御プログラム(コンピュータプログラム)に従って動作することにより、ECUは各種機能を実現することになる。なお、コンピュータプログラムは、所定の機能を達成するために、プロセッサに対する指令を示す命令コードが複数個組み合わされて構成されたものである。ECUは、CANプロトコルに従って車両内のバス30を介してフレームの授受を行い得る。
一部のECUは、バス30以外の通信路によりセンサ、アクチュエータ、ユーザインタフェース装置等の各種機器と接続されている。例えば、ブレーキECU200は、ブレーキ201に接続され、ブレーキ201を制御する。また、エンジンECU330は、エンジン331に接続され、エンジン331を制御する。また、センサECU320は、障害物センサ321及び速度センサ322に接続され、各センサで測定された測定情報を表すフレーム(データフレーム)を周期的にバス30に送信する。車載ネットワークシステムにおいて、個々のセンサ毎に対応してセンサECU320が複数存在しても良いが、ここでは便宜上、複数のセンサそれぞれで測定された測定情報を表すフレームを送信し得る1つのセンサECU320が存在するものとして説明する。障害物センサ(検知装置)321は、車両20の進行方向における障害物を検知し、車両20と障害物との距離等を測定するセンサである。速度センサ322は、車両20の速度を検知するセンサであり、例えば車両20の絶対速度を検知し得るが、ここでは障害物センサ321が検知した障害物に対する車両20の相対速度を検知するものとして説明する。なお、車両20の絶対速度は、障害物が移動しない場合については、障害物に対する車両の相対速度に等しい。
緊急ブレーキECU310は、先進運転者支援システムとしての衝突回避支援機能等を担うECUである。緊急ブレーキECU310は、ブレーキECU200のブレーキ制御を要求するために、センサECU320から取得した測定情報等に基づいて、ブレーキ制御指示のフレームをバス30に周期的に送信する。なお、緊急ブレーキECU310は、例えばセンサECU320と一体化する等により、バス30を介さずに各センサからの測定情報等を直接取得することとしてもよい。緊急ブレーキECU310は、例えば、概ね衝突直前にはブレーキを作動させることを要求する指定を内容とするブレーキ制御指示のフレームをバス30に送信する。
診断用ポート390は、OBD2(On-Board Diagnostics2)等のバス30に接続された端子であり、診断用ポート390を介して、診断ツール(故障診断ツール)等の機器によるバス30へのアクセスが可能となる。攻撃者は、例えば診断用ポート390等を介して、不正なブレーキ制御指示のフレーム(データフレーム)をバス30に注入(送信)する可能性がある。
セキュリティECU100は、車載ネットワークシステムのセキュリティを確保するための機能を担うECUである。セキュリティECU100は、バス30に流れるフレームを監視し、バス30上に現れた不正なブレーキ制御指示に係るデータフレームを、エラーフレームの送信により無効化する装置であり、不正なブレーキ制御指示の攻撃フレームに適切に対処する制御装置としての機能を有する。なお、セキュリティECU100は、不正なブレーキ制御指示のみならずその他の不正なデータフレームを一定条件下で無効化する機能を有してもよい。
[1.2 データフレームフォーマット]
以下、CANプロトコルに従ったネットワークで用いられるフレームの1つであるデータフレーム(メッセージ)について説明する。
図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)の各フィールドで構成される。
SOFは、1bitのドミナントで構成される。バスがアイドルの状態はレセシブになっており、SOFによりドミナントへ変更することでフレームの送信開始を通知する。
IDフィールドは、11bitで構成される、データの種類を示す値であるID(メッセージID)を格納するフィールドである。複数のノードが同時に送信を開始した場合、このIDフィールドで通信調停を行うために、IDが小さい値を持つフレームが高い優先度となるよう設計されている。
RTRは、データフレームとリモートフレームとを識別するための値であり、データフレームにおいてはドミナント1bitで構成される。
IDEと「r」とは、両方ドミナント1bitで構成される。
DLCは、4bitで構成され、データフィールドの長さを示す値である。なお、IDE、「r」及びDLCを合わせてコントロールフィールドと称する。
データフィールドは、最大64bitで構成される送信するデータの内容を示す値である。8bit毎に長さを調整できる。送られるデータの仕様については、CANプロトコルで規定されておらず、車載ネットワークシステムにおいて定められる。従って、車種、製造者(製造メーカ)等に依存した仕様となる。
CRCシーケンスは、15bitで構成される。SOF、IDフィールド、コントロールフィールド及びデータフィールドの送信値より算出される。
CRCデリミタは、1bitのレセシブで構成されるCRCシーケンスの終了を表す区切り記号である。なお、CRCシーケンス及びCRCデリミタを合わせてCRCフィールドと称する。
ACKスロットは、1bitで構成される。送信ノードはACKスロットをレセシブにして送信を行う。受信ノードはCRCシーケンスまで正常に受信ができていればACKスロットをドミナントとして送信する。レセシブよりドミナントが優先されるため、送信後にACKスロットがドミナントであれば、送信ノードは、いずれかの受信ノードが受信に成功していることを確認できる。
ACKデリミタは、1bitのレセシブで構成されるACKの終了を表す区切り記号である。
EOFは、7bitのレセシブで構成されており、データフレームの終了を示す。
[1.3 エラーフレームフォーマット]
図3は、CANプロトコルで規定されるエラーフレームのフォーマットを示す図である。エラーフレームは、エラーフラグ(プライマリ)と、エラーフラグ(セカンダリ)と、エラーデリミタとから構成される。
エラーフラグ(プライマリ)は、エラーの発生を他のノードに知らせるために使用される。エラーを検知したノードはエラーの発生を他のノードに知らせるために6bitのドミナントを連続で送信する。この送信は、CANプロトコルにおけるビットスタッフィングルール(連続して同じ値を6bit以上送信しない)に違反し、他のノードからのエラーフレーム(セカンダリ)の送信を引き起こす。
エラーフラグ(セカンダリ)は、エラーの発生を他のノードに知らせるために使用される連続した6ビットのドミナントで構成される。エラーフラグ(プライマリ)を受信してビットスタッフィングルール違反を検知した全てのノードがエラーフラグ(セカンダリ)を送信することになる。
エラーデリミタ「DEL」は、8bitの連続したレセシブであり、エラーフレームの終了を示す。
[1.4 ブレーキECU200の構成]
図4は、ブレーキECU200の構成図である。ブレーキ201を制御するためのブレーキECU200は、通信部210と、データバッファ220と、制御処理部(ブレーキ制御部)230とを含んで構成される。
通信部210は、バス30での通信の制御を担う集積回路(例えば通信回路、メモリ、プロセッサ等)である。通信部210は、例えば、機能的な構成要素としてフレーム送受信機能部、受信フレーム解釈機能部等を有する。フレーム送受信機能部では、例えば、バス30に対してCANプロトコルに従ってフレームの送受信(フレームの1bitずつの逐次送受信)を行う。また、受信フレーム解釈機能部では、フレーム送受信機能部で受信したフレームの値を、CANプロトコルで規定されているフレームフォーマットにおける各フィールドにマッピングするよう解釈を行う。受信フレーム解釈機能部では、IDフィールドと判断した値が、ブレーキECU200が受信すべきID(メッセージID)か否かを判別し、受信すべきIDでなければそのフレームの解釈を中止する。受信フレーム解釈機能部では、例えば、CRCの値が合わなかったり、ドミナント固定とされている項目がレセシブだったりする等、CANプロトコルに則っていないフレームと判断した場合は、エラーフレームを送信するよう制御する。また、受信フレーム解釈機能部では、エラーフレームを受信した場合、つまり受け取ったフレームにおける値からエラーフレームになっていると解釈した場合には、それ以降はそのフレームを破棄する、つまりフレームの解釈を中止する。受信フレーム解釈機能部は、受信すべきIDと判別されたフレームの内容(ID、データフィールドのデータ等)を、データバッファ220に格納する。制御システム10における車載ネットワークシステムで予め定められている、ブレーキ制御指示を示すデータフレームのIDは、通信部210の受信フレーム解釈機能部において受信すべきIDと判別される。
データバッファ220は、メモリ、レジスタ等といった記憶媒体の一記憶領域である。データバッファ220には、通信部210により受信された、受信すべきIDのフレームの内容としてのID、データフィールドのデータ等を示す情報(例えば、ブレーキ制御指示を示す情報)が格納される。バス30上への複数ノードからのデータフレームの同時送信時にはIDによる通信調停が行われる。このため、緊急ブレーキECU310が送信するブレーキ制御指示に係るデータフレームのブレーキECU200によるバス30からの受信タイミングは、必ずしも一定周期(例えば50ms等)と正確に一致するとは限らず、その一定周期から多少ずれることもある。ブレーキECU200において、このような通信調停での受信タイミングの変動に対応して、受信したデータフレームを効率的に処理すべく、データバッファ220が用いられる。
制御処理部230は、データバッファ220に格納されたフレームの内容(ブレーキ制御指示等を示す情報)を、周期的に或いは一定条件(データバッファ220へのフレーム格納に関連した条件等)が成立した場合等に取得し、その取得した情報が示すブレーキ制御指示に従って、ブレーキ201に対して制御信号を送信することでブレーキ201を制御する。
なお、ブレーキECU200以外の、アクチュエータを制御し得るECU(例えばエンジンECU330等)も、ブレーキECU200と同様に、通信部、データバッファ、及び、アクチュエータの制御のための制御処理部を備える。また、センサと接続されたセンサECU320については、センサでの測定結果を取得して予め定められたメッセージIDを付してその測定結果を示す測定情報をデータフィールド内に含むデータフレームを生成する処理部と、そのデータフレームをCANプロトコルに従ってバス30に送信するための通信部等を備える。この測定情報は、車両20と障害物との距離、及び、車両20の障害物に対する相対速度に関する測定結果を示す。
[1.5 ブレーキ制御指示]
図5は、緊急ブレーキECU310が送信するブレーキ制御指示に係るフレームのデータフィールドの一例を示す図である。ブレーキ制御指示のフレームのデータフィールドには、ブレーキ201による減速量(つまりブレーキ201での減速を要求する減速要求量)の指定が含まれ、図5では、その減速量の内容の例を示している。なお、ブレーキ制御指示のフレームのデータフィールドには減速量以外の情報(例えば有効、無効の別を示すフラグ等)が付加されていても良いが、ここでは便宜上、減速量のみが含まれていることとして説明する。減速量自体がデータフィールド内の値(データ値)と必ずしも一致する必要はない。減速量は、例えば1Byteで表され、値255により減速量ゼロ(0)が表され、値55により、減速量の最大量(例えば100)が表される。
緊急ブレーキECU310から、ゼロ(0)より大きい減速量の指定を含むブレーキ制御指示が送信された場合に、ブレーキECU200では、ブレーキ制御指示の減速量に従ってブレーキ201を作動させる。即ち、ブレーキECU200では、ブレーキ制御指示の減速量が大きいほど強い効き(大きな制動力)となるようにブレーキ201を作動させる。具体的には、ブレーキ制御指示の減速量が最大量(例えば100)である場合には、ブレーキECU200の制御処理部230は、所謂フルブレーキングに相当する最大の制動力でブレーキ201の作動がなされるようにブレーキ201を制御する。また、緊急ブレーキECU310から、減速量としてゼロの指定を含むブレーキ制御指示が送信された場合に、ブレーキECU200の制御処理部230では、ブレーキ制御指示によってのブレーキ201の作動を抑止する。なお、ブレーキECU200において、例えば車両20の運転者のブレーキペダルの操作に応じたブレーキ201の制御を行っている場合には、その操作に応じた制御を、ブレーキ201の作動の抑止の制御より優先させ得る。
[1.6 セキュリティECU100の構成]
図6は、セキュリティECU100の構成図である。セキュリティECU100は、バス30に流れるフレームを監視し、バス30上に現れた不正なブレーキ制御指示に係るデータフレームを、エラーフレームの送信により無効化する制御装置としての機能を有し、この機能の実現のために、通信部110と、記憶部120と、制御部130とを含んで構成される。これらの各構成要素の各機能は、例えばセキュリティECU100における通信回路、メモリ等の記憶媒体、メモリに格納された制御プログラムを実行するプロセッサ或いはデジタル回路等により実現される。
通信部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に送信する。
記憶部120は、受信部111により受信されたフレームの内容を格納するためのメモリ等の記憶媒体の一記憶領域である。記憶部120には、例えば、センサECU320から逐次送信される測定情報が逐次格納される。測定情報は、車両20におけるセンサにより測定された測定結果としての、車両20と障害物との距離及び車両20の障害物に対する相対速度を示す。
制御部130は、制御プログラムを実行するプロセッサ等により実現され、一定条件下でブレーキ制御指示のデータフレームを無効化する無効化制御を行う機能を担う。制御部130は、判別部131及びエラーフレーム送信制御部132を含む。
判別部131は、受信部111がブレーキ制御指示のデータフレームを受信した際における車両20と障害物との距離、及び、車両20の速度についての所定条件が満たされるか否かにより、ブレーキ制御指示が不正か否か(つまりそのブレーキ制御指示のデータフレームを無効化すべきか否か)を判別する。判別部131は、受信部111により受信された測定情報に基づいて車両20と障害物との距離、及び、車両20の速度を特定し、特定した距離及び速度に基づいて所定条件が満たされるか否かを判別する。この判別は、ブレーキ制御指示のデータフレームの全体が受信部111によりバス30から受信されるまで(つまりデータフレームの終了前であり、例えばデータフィールドの受信直後或いはCRCシーケンスの受信直後等)に行われる。判別部131は、ブレーキ制御指示を不正と判別した場合には、その旨をエラーフレーム送信制御部132に通知する。判別部131は、受信部111がブレーキ制御指示のデータフレームを受信した際における車両20と障害物との距離、及び、車両20の速度として、記憶部120に逐次格納された測定情報のうちそのブレーキ制御指示のデータフレームを受信した際における最新の測定情報が示す車両20と障害物との距離、及び、車両20の速度(障害物に対する相対速度)を用いる。
エラーフレーム送信制御部132は、判別部131により、ブレーキ制御指示が不正であると判別された場合において、バス30に現れているブレーキ制御指示のデータフレームを無効化するために、送信部112に、バス30にエラーフレームを送信させることで無効化制御を行う。このエラーフレーム送信制御部132による無効化制御は、ブレーキ制御指示のデータフレームの終了(EOF)の受信が完了するより前に、バス30にエラーフレームを送信することで実現される。無効化制御がなされると、ブレーキ制御指示のデータフレームの終了前のエラーフレームの送信により、バス30上でブレーキ制御指示のデータフレームは上書きされるので、ブレーキECU200においては、そのブレーキ制御指示のデータフレームが破棄され、そのブレーキ制御指示に従ったブレーキ制御が実行されない。
[1.7 ブレーキ制御指示の不正判別]
以下、上述のセキュリティECU100(制御装置)における制御部130の判別部131でのブレーキ制御指示が不正か否かの判別の方法について説明する。
判別部131は、例えば、ブレーキ制御指示を受信した際における障害物と車両との距離L(m)と、障害物と車両との相対速度V(km/h)とについての所定条件Cが満たされた場合に、ブレーキ制御指示が不正であると判別する。具体例としては、判別部131は、距離Lと、相対速度Vとに基づく所定演算F(V,L)の結果と閾値とを比較することにより所定条件Cが満たされるか否かを判別する。
より詳細な例としては、判別部131は、例えば、受信部111により受信されたブレーキ制御指示(つまり受信されたデータフレームに係るブレーキ制御指示)が減速量として最大量の指定を含む場合において、所定演算F(V,L)の結果が第1閾値aより大きいことを所定条件Cとして用い、受信部111により受信されたブレーキ制御指示が減速量としてゼロの指定を含む場合において、所定演算F(V,L)の結果が第1閾値a以下の第2閾値bより小さいことを所定条件Cとして用いる。これは、減速量を最大とするようにブレーキを作動させる旨のブレーキ制御指示が不正となるような状況においては、ブレーキの作動を抑止させる(減速量をゼロにする)旨のブレーキ制御指示は不正とならず、また、ブレーキの作動を抑止させる旨のブレーキ制御指示が不正となるような状況においては、減速量を最大とするようにブレーキを作動させる旨のブレーキ制御指示が不正とならないこと等を示す。なお、例えば第2閾値bは第1閾値aより小さいこととしても良い。
また、例えば、所定演算F(V,L)=L−G(V)であるとしても良い。Gは、係数が定められた一変数の多項式関数である。多項式関数は1次関数であっても良いし、2次以上のn次関数であっても良い。この場合に、所定演算F(V,L)は、Gの変数に速度(相対速度V)を代入したG(V)を、距離Lからの減算したものとなる。
更に、単純化した一例としては、所定演算F(V,L)=L−kVであることとしても良い。ここでkは定められた係数である。
図7は、ブレーキ制御指示の不正判別の条件について説明するための図である。同図では、正常な状態の緊急ブレーキECU310が、減速量としてゼロより大きい量の指定を含むブレーキ制御指示のデータフレームをバス30に送信した際における車両20と障害物との距離L(m)、及び、車両20の障害物に対する相対速度V(km/h)を測定した実験結果の分布を、グラフ上の点(黒菱形)で表している。上述した所定演算F(V,L)は、このような正常な状態の緊急ブレーキECU310から送信されて受信部111により受信されたブレーキ制御指示が減速量としてゼロより大きい量の指定を含む場合において所定演算F(V,L)の結果が、第1閾値a以下、かつ、第2閾値b以上となるように、定められている。これにより、正常な状態の緊急ブレーキECU310が送信するブレーキ制御指示については所定条件Cが満たされなくなる。
また、図7には、L−kV=0の関係式を示す直線F01と、L−kV=−1の関係式を示す直線F02とを付記している。ここでの係数kは、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を定めることは可能である。
なお、図7の実験結果と直線F01との関係に鑑みて、判別部131は、受信部111により受信されたブレーキ制御指示がブレーキの作動の指示(例えば減速量をゼロ以外と指定したブレーキ制御指示)である場合において、距離Lの相対速度Vに対する比が予め定められた閾値を超えることを所定条件Cとして用いることとしても良い。また、不正なブレーキ制御指示であると判別するための所定条件は、例えば、相対速度Vが、複数の範囲区分のうち特定の1以上の区分(例えば8km/h〜10km/h等)に属し、かつ、距離Lが複数の範囲区分のうち特定の1以上の区分(例えば3m〜4m)に属する場合に満たされるような条件であっても良い。
[1.8 セキュリティECU100の制御処理]
図8は、セキュリティECU100における制御処理の一例を示す。以下、同図に即して、セキュリティECU100において不正なブレーキ制御指示の攻撃フレームに適切に対処するために実行される制御処理について説明する。
セキュリティECU100は、受信部111で、センサECU320が送信した、測定情報を含むデータフレームをバス30から受信した場合には(ステップS11)、測定情報を記憶部120に保存、つまり格納する(ステップS12)。これにより、記憶部120に、障害物と車両との距離L(m)と、障害物と車両との相対速度V(km/h)とを表す測定情報が保存される。センサECU320は、周期的にセンサでの測定結果を示す測定情報を含むデータフレームを送信するので、このステップS12での測定情報の保存は、繰り返し行われることになる。
セキュリティ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として用いることとしても良い。
ステップS15で、判別部131が、所定条件Cが満たされると判別した場合には、ブレーキ制御指示を不正と判別したこととなる。この場合にエラーフレーム送信制御部132は、送信部112にエラーフレームを送信させることで、ブレーキ制御指示のデータフレームを無効化させる無効化制御を行う(ステップS16)。
[1.9 制御システム10におけるブレーキ制御に係る処理シーケンス]
図9及び図10は、制御システム10におけるブレーキ制御に係る処理シーケンスの一例を示す。
図9は、車両20が障害物と衝突するおそれがない状況で、診断用ポート390に接続された装置(不正ECUと称する)がバス30に不正なブレーキ制御指示(急ブレーキを作動させるような指示)のデータフレームを送信する例を示す。以下、図9に即して、制御システム10における各ECUの動作について説明する。なお、ここでは不正ECUが、診断用ポート390に接続された装置である例を用いて説明するが、これはバス30にアクセス可能な不正な装置の一例に過ぎず、例えば、バス30に接続されているいずれかのECUが攻撃者に攻撃されて支配されている場合(例えばECUのファームウェア等を不正に書き換えられている場合)においては、そのECUが不正ECUとなり得る。
センサECU320は、障害物センサ321及び速度センサ322で測定された測定結果を示す測定情報を含むデータフレームをバス30に送信する(ステップS101)。これにより、バス30に接続された各ECU(緊急ブレーキECU310、セキュリティECU100等)は、障害物と車両との距離及び障害物と車両との相対速度を表す測定情報を受信する。
ブレーキ制御指示を周期的に送信する緊急ブレーキECU310は、障害物との衝突のおそれがない場合においては、減速量をゼロと指定したブレーキ制御指示のデータフレームをバス30に送信する(ステップS102)。
例えば、緊急ブレーキECU310がブレーキ制御指示のデータフレームを送信した直後等において、不正ECUが、減速量を最大量に指定したブレーキ制御指示(不正なブレーキ制御指示)のデータフレームをバス30に送信する(ステップS103)。なお、緊急ブレーキECU310によるブレーキ制御指示のデータフレームの送信周期と略一致するように不正ECUが不正なブレーキ制御指示のデータフレームを送信した場合には、不正か否かを送信周期に基づいては判別できない。
セキュリティECU100は、制御処理(図8参照)により、不正ECUが送信したブレーキ制御指示のデータフレームのデータフィールドまで受信した段階で、受信済の最新の測定情報に基づいて車両と障害物との距離L及び相対速度Vを特定して、減速量の指定に応じて所定条件Cを選択し、ブレーキ制御指示が不正か否かを判別する。図9の例では、ステップS102で緊急ブレーキECU310から送信されたブレーキ制御指示のデータフレームの受信に際して、セキュリティECU100では、所定条件Cが満たされずにそのブレーキ制御指示が適正であると判別される。また、ステップS103で不正ECUから送信されたブレーキ制御指示のデータフレームの受信に際して、セキュリティECU100では、所定条件Cが満たされてそのブレーキ制御指示が不正であると判別される。
所定条件Cが満たされ、ステップS103に対応して受信されたデータフレームに係るブレーキ制御指示が不正であると判別すると、セキュリティECU100は、エラーフレームを送信する(ステップS104)。このエラーフレームの送信により、不正ECUから送信された不正なブレーキ制御指示のデータフレームは無効化され(つまり、バス30上においてそのデータフレームの一部がエラーフレームで上書きされることで無効化され)、ブレーキECU200におけるブレーキ制御に利用されない。このため、ブレーキECU200では、制御処理部230が、ステップS102に対応して受信された緊急ブレーキECU310からのブレーキ制御指示に従う。従って、ブレーキECU200の制御処理部230は、不正ECUからの不正なブレーキ制御指示に従ったブレーキ201の作動を行うことがない(ステップS105)。
なお、もしセキュリティECU100が存在しなければ、ステップS103で不正ECUが送信した不正なブレーキ制御指示のデータフレームは無効化されない。この場合には、不正なブレーキ制御指示のデータフレームがブレーキECU200で完全に受信され、ステップS102に対応してデータバッファ220に格納された緊急ブレーキECU310からのブレーキ制御指示を、その不正なブレーキ制御指示が上書きする。そして、ブレーキECU200の制御処理部230は、不正ECUからの不正なブレーキ制御指示に従って、ブレーキ201を制御してしまう。
図10は、車両20が障害物と衝突する直前という状況で、不正ECUがバス30に不正なブレーキ制御指示(ブレーキの作動を抑止させるような指示)のデータフレームを送信する例を示す。以下、図10に即して、制御システム10における各ECUの動作について説明する。
センサECU320は、障害物センサ321及び速度センサ322で測定された測定結果を示す測定情報を含むデータフレームをバス30に送信する(ステップS201)。このステップS201は、上述の図9のステップS101と同様である。
ブレーキ制御指示を周期的に送信する緊急ブレーキECU310は、障害物との衝突の直前においては、減速量を最大量と指定したブレーキ制御指示のデータフレームをバス30に送信する(ステップS202)。
例えば、緊急ブレーキECU310がブレーキ制御指示のデータフレームを送信した直後等において、不正ECUが、減速量をゼロに指定したブレーキ制御指示(不正なブレーキ制御指示)のデータフレームをバス30に送信する(ステップS203)。
セキュリティECU100は、制御処理(図8参照)により、不正ECUが送信したブレーキ制御指示のデータフレームのデータフィールドまで受信した段階で、受信済の最新の測定情報に基づいて車両と障害物との距離L及び相対速度Vを特定して、減速量の指定に応じて所定条件Cを選択し、ブレーキ制御指示が不正か否かを判別する。図10の例では、ステップS202で緊急ブレーキECU310から送信されたブレーキ制御指示のデータフレームの受信に際して、セキュリティECU100では、所定条件Cが満たされずにそのブレーキ制御指示が適正であると判別される。また、ステップS203で不正ECUから送信されたブレーキ制御指示のデータフレームの受信に際して、セキュリティECU100では、所定条件Cが満たされてそのブレーキ制御指示が不正であると判別される。
所定条件Cが満たされ、ステップS203に対応して受信されたデータフレームに係るブレーキ制御指示が不正であると判別すると、セキュリティECU100は、エラーフレームを送信する(ステップS204)。このエラーフレームの送信により、不正ECUから送信された不正なブレーキ制御指示のデータフレームは無効化され、ブレーキECU200におけるブレーキ制御に利用されない。このため、ブレーキECU200では、制御処理部230が、ステップS202に対応して受信された緊急ブレーキECU310からのブレーキ制御指示に従って、ブレーキ201を作動させる(ステップS205)。
[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によりブレーキ制御指示に係る不正なフレーム(攻撃フレーム)への適切な対処がなされ、攻撃フレームによって事故が引き起こされることが防止され得る。
(実施の形態2)
以下、実施の形態1で示した制御システム10における車両20内の一部のECUを変形してなる制御システム11について説明する。
実施の形態1に係る制御システム10では、セキュリティECU100が、バス30を流れるブレーキ制御指示(ブレーキ制御指示のデータフレーム)を不正と判別した場合にエラーフレームの送信によりブレーキ制御指示のデータフレームを無効化する。これに対して、本実施の形態に係る制御システム11は、セキュリティECU100を備えず、実施の形態1で示したブレーキECU200を部分的に変形したブレーキECUが、受信したブレーキ制御指示が不正か否かを判別し、不正と判別した場合にそのブレーキ制御指示に従ったブレーキ制御を行わない(つまりブレーキ制御指示を破棄する)例について説明する。
[2.1 制御システム11の構成]
図11は、本実施の形態に係る制御システム11の全体構成を示す図である。実施の形態1で示した制御システム10(図1参照)と同様の構成については、図11において図1と同一の符号を付しており、説明を省略する。
制御システム11は、主として車両20における車載ネットワークシステムで構成され、図11に例示するように、車両20に搭載された各種ECU(ブレーキECU2200、緊急ブレーキECU310、センサECU320、及び、エンジンECU330)と、バス30とを含んで構成される。ここで、特に説明しない事項については、制御システム11は、実施の形態1で示した制御システム10と同様である。
[2.2 ブレーキECU2200の構成]
図12は、ブレーキECU2200の構成図である。ブレーキECU2200は、実施の形態1で示したブレーキECU200を一部変形したものであり、ブレーキECU200(図4参照)と同様の構成については、図12において図4と同一の符号を付しており、説明を適宜省略する。
ブレーキ201に接続され、ブレーキ201を制御するためのブレーキECU2200は、通信部210と、データバッファ220と、制御処理部230と、制御部2130とを含んで構成される。
通信部210の有するフレーム受信に係る機能構成を、図12において受信部2111として表している。受信部2111は、バス30からCANプロトコルに従ってフレームの受信(フレームの1bitずつの逐次受信)を行う。受信部2111は、フレームの受信機能、及び、受信フレームの解釈機能を有し、バス30から受信したフレームの値を、CANプロトコルで規定されているフレームフォーマットにおける各フィールドにマッピングするよう解釈を行う。この解釈により、データフレームにおけるID(メッセージID)、DLC、データフィールドのデータのそれぞれが区別して抽出される。受信部2111は、抽出したIDが、制御システム11における車載ネットワークシステムで予め定められている、ブレーキ制御指示を示すデータフレームのID、或いは、センサECU320から送信される測定情報を示すデータフレームのID等の受信すべきIDであるか否かを判別する。受信部2111は、受信すべきIDでなければそのフレームの解釈を中止する。
通信部210では、受信部2111で受信したフレームのCRCの値が合わなかったり、ドミナント固定とされている項目がレセシブだったりする等、CANプロトコルに則っていないフレームと判断した場合は、バス30にエラーフレームを送信するよう制御する。また、受信部2111では、エラーフレームを受信した場合、つまり受け取ったフレームにおける値からエラーフレームになっていると解釈した場合には、それ以降はそのフレームを破棄する、つまりフレームの解釈を中止する。受信部2111は、受信すべきIDと判別されたフレームの内容(ID、データフィールドのデータ等)を、制御部2130における記憶部120に格納する。
制御部2130は、制御プログラムを実行するプロセッサ等により実現され、一定条件下でブレーキ制御指示を示す情報のデータバッファ220への転送を抑止するフィルタリング処理により、ブレーキ制御指示を破棄する制御を行う機能を担う。制御部2130は、記憶部120、判別部131及び転送部2133を含んで構成される。制御部2130における記憶部120は、実施の形態1で示したセキュリティECU100の記憶部120と同様であり、受信部2111により受信されたフレームの内容を格納するためのメモリ等の記憶媒体の一記憶領域である。記憶部120には、例えば、センサECU320から逐次送信される測定情報に係るデータフレームの内容、及び、ブレーキ制御指示に係るデータフレームの内容(例えば減速量等)が逐次格納される。測定情報は、車両20と障害物との距離及び車両20の障害物に対する相対速度を示す。
制御部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つが選択され得る。
転送部2133は、判別部131によりブレーキ制御指示が不正でないと判別された場合には、そのブレーキ制御指示に係るデータフレームの内容を記憶部120からデータバッファ220に転送し、ブレーキ制御指示が不正であると判別された場合には、そのブレーキ制御指示に係るデータフレームの内容を記憶部120からデータバッファ220に転送しない。
データバッファ220には、不正でないと判別されたブレーキ制御指示のデータフレームの内容としてのID、データフィールドのデータ等を示す情報(つまりブレーキ制御指示を示す情報)が格納される。
制御処理部230は、データバッファ220に格納されたフレームの内容(ブレーキ制御指示等を示す情報)を、周期的に或いは一定条件(データバッファ220へのフレーム格納に関連した条件等)が成立した場合等に取得し、その取得した情報が示すブレーキ制御指示に従って、ブレーキ201に対して制御信号を送信することでブレーキ201を制御する。
なお、ブレーキECU2200の一部(例えば受信部2111及び制御部2130)は、不正なブレーキ制御指示の攻撃フレームに適切に対処する制御装置2100として機能する。
[2.3 ブレーキECU2200の制御処理]
図13は、ブレーキECU2200における制御処理の一例を示す。以下、同図に即して、ブレーキECU2200において不正なブレーキ制御指示の攻撃フレームに適切に対処するために実行される制御処理について説明する。
ブレーキECU2200は、受信部2111で、センサECU320が送信した、測定情報を含むデータフレームをバス30から受信した場合には(ステップS21)、測定情報を記憶部120に保存、つまり格納する(ステップS22)。これにより、記憶部120に、障害物と車両との距離L(m)と、障害物と車両との相対速度V(km/h)とを表す測定情報が保存される。センサECU320は、周期的にセンサでの測定結果を示す測定情報を含むデータフレームを送信するので、このステップS22での測定情報の保存は、繰り返し行われることになる。
ブレーキ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として用いることとしても良い。
ステップS25で、判別部131が、所定条件Cが満たされると判別した場合には、ブレーキ制御指示を不正と判別したこととなる。ブレーキ制御指示が不正であると判別された場合には、転送部2133は、ブレーキ制御指示のデータフレームの内容を記憶部120からデータバッファ220に転送せず(ステップS26)、ブレーキ制御指示が不正でないと判別された場合には、転送部2133は、ブレーキ制御指示のデータフレームの内容を記憶部120からデータバッファ220に転送する(ステップS27)。このステップS25〜S27での処理により、ブレーキECU2200は、不正なブレーキ制御指示に従ったブレーキ201の制御を抑止し、適正なブレーキ制御指示に従ってブレーキ201の制御を行うことになる。
[2.4 制御システム11におけるブレーキ制御に係る処理シーケンス]
図14及び図15は、制御システム11におけるブレーキ制御に係る処理シーケンスの一例を示す。
図14は、車両20が障害物と衝突するおそれがない状況で、診断用ポート390に接続された装置(不正ECU)がバス30に不正なブレーキ制御指示(急ブレーキを作動させるような指示)のデータフレームを送信する例を示す。以下、図14に即して、制御システム11における各ECUの動作について説明する。
センサECU320は、障害物センサ321及び速度センサ322で測定された測定結果を示す測定情報を含むデータフレームをバス30に送信する(ステップS301)。これにより、バス30に接続された各ECU(緊急ブレーキECU310、ブレーキECU2200等)は、障害物と車両との距離及び障害物と車両との相対速度を表す測定情報を受信する。
ブレーキ制御指示を周期的に送信する緊急ブレーキECU310は、障害物との衝突のおそれがない場合においては、減速量をゼロと指定したブレーキ制御指示のデータフレームをバス30に送信する(ステップS302)。
ブレーキECU2200は、制御処理(図13参照)により、緊急ブレーキECU310が送信したブレーキ制御指示のデータフレームを受信した際に、受信済の最新の測定情報に基づいて車両と障害物との距離L及び相対速度Vを特定して、減速量の指定に応じて所定条件Cを選択し、ブレーキ制御指示が不正か否かを判別する。図14の例では、所定条件Cが満たされずにそのブレーキ制御指示が適正であると判別され、転送部2133により、バス30から受信されたブレーキ制御指示のデータフレームの内容が記憶部120からデータバッファ220へと転送される(ステップS303)。
そして、例えば、緊急ブレーキECU310がブレーキ制御指示のデータフレームを送信した直後等において、不正ECUが、減速量を最大量に指定したブレーキ制御指示(不正なブレーキ制御指示)のデータフレームをバス30に送信する(ステップS304)。
ブレーキECU2200は、制御処理により、不正ECUが送信したブレーキ制御指示のデータフレームを受信した際に、受信済の最新の測定情報に基づいて車両と障害物との距離L及び相対速度Vを特定して、減速量の指定に応じて所定条件Cを選択し、ブレーキ制御指示が不正か否かを判別する。図14の例では、所定条件Cが満たされてそのブレーキ制御指示が不正であると判別され、この場合に転送部2133は、バス30から受信されたブレーキ制御指示のデータフレームの内容を記憶部120からデータバッファ220へと転送しない(ステップS305)。
そして、ブレーキECU2200の制御処理部230は、ステップS303でデータバッファ220に格納された情報が示すブレーキ制御指示に対応してブレーキ制御を行うので、不正なブレーキ制御指示に従ってブレーキ201の作動を行うことがない(ステップS306)。
図15は、車両20が障害物と衝突する直前という状況で、不正ECUがバス30に不正なブレーキ制御指示(ブレーキの作動を抑止させるような指示)のデータフレームを送信する例を示す。以下、図15に即して、制御システム11における各ECUの動作について説明する。
センサECU320は、障害物センサ321及び速度センサ322で測定された測定結果を示す測定情報を含むデータフレームをバス30に送信する(ステップS401)。このステップS401は、上述の図14のステップS301と同様である。
ブレーキ制御指示を周期的に送信する緊急ブレーキECU310は、障害物との衝突の直前においては、減速量を最大量と指定したブレーキ制御指示のデータフレームをバス30に送信する(ステップS402)。
ブレーキECU2200は、制御処理により、緊急ブレーキECU310が送信したブレーキ制御指示のデータフレームを受信した際に、受信済の最新の測定情報に基づいて車両と障害物との距離L及び相対速度Vを特定して、減速量の指定に応じて所定条件Cを選択し、ブレーキ制御指示が不正か否かを判別する。図15の例では、所定条件Cが満たされずにそのブレーキ制御指示が適正であると判別され、転送部2133により、バス30から受信されたブレーキ制御指示のデータフレームの内容が記憶部120からデータバッファ220へと転送される(ステップS403)。
そして、例えば、緊急ブレーキECU310がブレーキ制御指示のデータフレームを送信した直後等において、不正ECUが、減速量をゼロに指定したブレーキ制御指示(不正なブレーキ制御指示)のデータフレームをバス30に送信する(ステップS404)。
ブレーキECU2200は、制御処理により、不正ECUが送信したブレーキ制御指示のデータフレームを受信した際に、受信済の最新の測定情報に基づいて車両と障害物との距離L及び相対速度Vを特定して、減速量の指定に応じて所定条件Cを選択し、ブレーキ制御指示が不正か否かを判別する。図15の例では、所定条件Cが満たされてそのブレーキ制御指示が不正であると判別され、この場合に転送部2133は、バス30から受信されたブレーキ制御指示のデータフレームの内容を記憶部120からデータバッファ220へと転送しない(ステップS405)。
そして、ブレーキECU2200の制御処理部230は、ステップS403でデータバッファ220に格納された情報が示すブレーキ制御指示に対応してブレーキ201を作動させる制御を行うので、不正なブレーキ制御指示に従ってブレーキ201の作動を抑止してしまうことがない(ステップS406)。
[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によりブレーキ制御指示に係る不正なフレーム(攻撃フレーム)への適切な対処がなされ、攻撃フレームによって事故が引き起こされることが防止され得る。
(その他変形例)
以上のように、本発明に係る技術の例示として実施の形態1、2を説明した。しかしながら、本発明に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本発明の一実施態様に含まれる。
(1)上記実施の形態1では、セキュリティECU100は、車両20と障害物との距離、及び、車両20の速度(障害物に対する相対速度)をバス30経由で取得する例(測定情報を含むデータフレームの受信により取得する例)を示した。この他に、例えばセキュリティECU100と専用の通信線で接続した各センサを用いて、ブレーキ制御指示のデータフレームを受信した際に(つまりその受信の前後の一定期間内において)、車両20と障害物との距離、及び、車両20の速度(障害物に対する相対速度)を測定することで直接的に取得することとしても良い。また、上記実施の形態で示した車両20と障害物との相対速度の代わりに、車両20の絶対速度を速度センサ322で取得して、ブレーキ制御指示が不正であるか否かの判別のための所定条件として、車両20と障害物との距離、及び、車両20の絶対速度についての条件を用いることとしても良い。
(2)上記実施の形態2では、ブレーキECU2200の一部が、不正なブレーキ制御指示の攻撃フレームに適切に対処する制御装置2100として機能する例を示した。即ち、制御部2130が、ブレーキ制御指示が不正であることの判別のための所定条件が満たされない場合において、受信部2111により受信されたブレーキ制御指示を示す情報をデータバッファ220に格納し、所定条件が満たされる場合には、受信部2111により受信されたブレーキ制御指示を示す情報をデータバッファ220に格納しないことで、ブレーキ制御指示を破棄する制御を行うこととした。この他に、ブレーキECU2200が、不正なブレーキ制御指示の攻撃フレームに適切に対処する制御装置として機能することとしても良い。例えば、制御部2130に、制御処理部230の機能を含ませて、ブレーキ制御指示が不正であることの判別のための所定条件が満たされない場合において、受信部2111により受信されたブレーキ制御指示に従って、ブレーキ201の制御を行い、所定条件が満たされる場合には、受信部2111により受信されたブレーキ制御指示を破棄することでブレーキ制御指示に従ったブレーキ201の制御を抑止する制御を行うこととしても良い。
(3)上記実施の形態で示したブレーキ制御指示が不正であることの判別のための所定条件は、車両20の車種毎に対応して定められていることとしても良い。即ち、同一車種の複数の車両20それぞれにおいて所定条件が同じように定められ、互いに相違する車種の複数の車両20それぞれにおいて所定条件が相違するように定められ得る。ここでの車種が同一の車両は、例えば、型式(車両型式)が同一の車両である。一例としては、車種が同一の車両は、車台番号における型式の値、或いは、車両識別番号(VIN:Vehicle Identification Number)における先頭からシリアル番号の前までの桁の値が、同一の車両である。
(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の係数等は、例えば路面状況(舗装路、砂利道)、天候(晴天、降雨、降雪)等に応じて変更しても良い。
(5)上記実施の形態で示した障害物センサ321は、例えば障害物の種別(例えば人と、人以外の物体等とを区別する種別)を検出し、センサECU320は、障害物の種別を示す障害物情報を含むデータフレームをバス30に送信することとしても良い。そして、受信部111、2111は、バス30から障害物情報を含むデータフレームを受信し、制御部130、2130は、受信部111、2111により受信された障害物情報が示す種別に応じて、ブレーキ制御指示が不正であることの判別のための所定条件Cに係る所定演算F(V,L)の内容を変更しても良い。
(6)上記実施の形態では、ブレーキ制御指示のデータフレームが減速量の指定を含む例を示したが、必ずしも減速量の指定を含まなくても良い。例えば、ブレーキ制御指示のデータフレームは、ブレーキを作動させる旨の指定或いはブレーキの作動を抑止させる旨の指定を含むこととしても良い。この場合に、ブレーキ制御指示が不正か否かの判別においては、ブレーキを作動させる旨の指定を例えば減速量の最大の指定と同様に扱うこととしても良く、ブレーキの作動を抑止させる旨の指定を例えば減速量のゼロの指定と同様に扱うこととしても良い。
(7)上記実施の形態では、CANプロトコルにおけるデータフレームについてのフォーマットとして、標準IDフォーマット(図2参照)を示したが、拡張IDフォーマットであっても良く、データフレームのID(メッセージID)は、拡張IDフォーマットでの拡張ID等であっても良い。また、上記実施の形態で示したCANプロトコルは、TTCAN(Time-Triggered CAN)、CANFD(CAN with Flexible Data Rate)等の派生的なプロトコルも包含する広義の意味のものとしても良い。
(8)上記実施の形態で示した制御システム10、11が備える各種構成要素の機能分担は、一例に過ぎず、その分担を変更し得る。また、セキュリティECU100における制御部130等の機能の一部を、セキュリティECU100と通信可能な装置(例えば車両20外部のサーバ装置等)が分担することとしても良い。
(9)上記実施の形態における各ECUは、例えば、プロセッサ、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置であることとしたが、ハードディスク装置、ディスプレイ、キーボード、マウス等のハードウェア構成要素を含んでいても良い。また、上記実施の形態で示した各装置は、メモリに記憶された制御プログラムがプロセッサにより実行されてソフトウェア的に機能を実現する代わりに、専用のハードウェア(デジタル回路等)によりその機能を実現することとしても良い。
(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に置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。
(11)上記各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしても良い。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM等から構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしても良い。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしても良い。
(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)、半導体メモリ等に記録したものとしても良い。また、これらの記録媒体に記録されている前記デジタル信号であるとしても良い。また、本発明の一態様としては、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。また、本発明の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしても良い。また、前記プログラム若しくは前記デジタル信号を前記記録媒体に記録して移送することにより、又は、前記プログラム若しくは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしても良い。
(13)上記実施の形態及び上記変形例で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。
本発明は、ブレーキを要する車両等の移動体のネットワークに不正なブレーキ制御指示のフレームを送信する攻撃に対処するために利用可能である。
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 転送部

Claims (19)

  1. 移動体のブレーキを制御する指示を受信する受信部と、
    前記受信部が前記指示を受信した際、前記移動体と障害物との距離及び前記移動体の速度に基づいて指標値を決定し、当該指標値と所定の閾値との関係に応じて定まる前記移動体の状況と、前記指示の内容とが整合しない場合、前記指示が従うべきではない不正な指示であると判別する判別部と、
    前記判別部によって前記指示が不正と判別された場合、前記指示による制御が実行されないように制御を行う制御部と、を備えた、
    制御装置。
  2. 前記判別部は、前記閾値と前記指標値との関係が、ブレーキを作動させるべきでない状況を示している場合に、前記指示が最大の減速量の指定を含むときは、前記指示が従うべきではない不正な指示であると判別する、
    請求項1に記載の制御装置。
  3. 前記判別部は、前記閾値と前記指標値との関係が、ブレーキを作動させるべき状況を示している場合に、前記指示が減速量としてゼロの指定を含むときは、前記指示が従うべきではない不正な指示であると判別する、
    請求項1記載の制御装置。
  4. 前記制御部は、前記指示を無効化又は破棄することにより、前記指示による制御が実行されないように制御を行う、
    請求項1〜3のいずれか一項に記載の制御装置。
  5. 前記速度は、前記障害物に対する前記移動体の相対速度である、
    請求項1〜のいずれか一項に記載の制御装置。
  6. 前記判別部は、前記距離と前記速度とに基づく所定演算により前記指標値を算出する、
    請求項1〜のいずれか一項に記載の制御装置。
  7. 前記指示は、前記ブレーキによる減速量を含み、
    前記判別部は、
    前記指示が最大の減速量を含む場合前記所定演算の結果が第1閾値より大きいとき、又は、前記指示が減速量としてゼロを含む場合前記所定演算の結果が前記第1閾値以下の第2閾値より小さいときは、前記指示が不正な指示であると判別する
    請求項に記載の制御装置。
  8. 前記所定演算は、緊急ブレーキ電子制御ユニットからの正常な状態の前記指示が減速量としてゼロより大きい量を含む場合、前記所定演算の結果が、前記第1閾値以下かつ前記第2閾値以上となるように定められている、
    請求項に記載の制御装置。
  9. 前記判別部は、前記移動体の前記ブレーキによる制動距離に影響を与える前記移動体の構成要素の変化に応じて、前記所定演算の内容を変更する、
    請求項6〜8のいずれか一項に記載の制御装置。
  10. 前記受信部は、前記移動体において検出された前記障害物の種別を示す障害物情報を受信し、
    前記判別部は、前記障害物情報に応じて、前記所定演算の内容を変更する、
    請求項6〜9のいずれか一項に記載の制御装置。
  11. 前記判別部は、前記指示が前記ブレーキの作動の指示である場合、前記速度に対する前記距離の比を前記指標値として算出する
    請求項1〜10のいずれか一項に記載の制御装置。
  12. 前記移動体の状況と前記指示の内容とが整合しない場合に前記指示が従うべきではない不正な指示であると判別するための所定条件が、前記移動体の車種に対応して定められている、
    請求項1〜11のいずれか一項に記載の制御装置。
  13. 前記受信部は、前記移動体において測定された、前記距離及び前記速度の測定結果を示す測定情報を受信し、
    前記判別部は、前記測定情報から特定した前記距離及び前記速度基づいて前記指示が不正であるか否かを判別する、
    請求項1〜12のいずれか一項に記載の制御装置。
  14. 前記受信部は、Controller Area Networkプロトコルに従って、前記指示を含むデータフレームを受信し、
    前記制御部は、前記受信部が前記データフレームを受信した際、前記判別部によって前記指示が不正と判別された場合、前記データフレームを無効化するエラーフレームを送信する制御を行う、
    請求項1〜13のいずれか一項に記載の制御装置。
  15. 前記受信部は、専用の通信線で接続されたセンサから、前記距離及び前記速度を受信する、
    請求項1〜14のいずれか一項に記載の制御装置。
  16. 前記制御装置は、1以上の電子制御ユニットに含まれる前記移動体の前記ブレーキを制御する電子制御ユニットであり、
    前記制御部は、前記判別部によって前記指示が不正と判別された場合、前記指示を破棄することで前記指示に従った前記ブレーキの制御を抑止する制御を行う、
    請求項1〜15のいずれか一項に記載の制御装置。
  17. 前記移動体に含まれる1以上の電子制御ユニットは、記憶媒体と、前記記憶媒体に格納された情報に従って前記ブレーキを制御するブレーキ制御部とを有するブレーキ電子制御ユニットを含み、
    前記制御装置は、前記ブレーキ電子制御ユニットに含まれ、
    前記制御部は、前記判別部によって前記指示が不正と判別された場合、前記指示を示す情報を前記記憶媒体に格納しないことで前記指示を破棄する制御を行う、
    請求項1〜16のいずれか一項に記載の制御装置。
  18. 移動体に設けられるブレーキと、
    前記移動体に対する障害物を検知する検知装置と、
    制御装置と、を備え、
    前記制御装置は、
    前記移動体の前記ブレーキを制御する指示を受信し、
    前記指示を受信した際、前記移動体と前記障害物との距離及び前記移動体の速度に基づいて指標値を決定し、当該指標値と所定の閾値との関係に応じて定まる前記移動体の状況と、前記指示の内容とが整合しない場合、前記指示が従うべきではない不正な指示であると判別し、
    前記指示が不正と判別された場合、前記指示による制御が実行されないように制御を行う、
    制御システム。
  19. マイクロプロセッサを備える装置に不正検知処理を行わせるためのプログラムであって、
    前記不正検知処理は、
    移動体のブレーキを制御する指示を受信し、
    前記指示を受信した際、前記移動体と障害物との距離及び前記移動体の速度に基づいて指標値を決定し、当該指標値と所定の閾値との関係に応じて定まる前記移動体の状況と、前記指示の内容とが整合しない場合、前記指示が従うべきではない不正な指示であると判別し、
    前記指示が不正と判別された場合、前記指示による制御が実行されないように制御を行う、
    プログラム。
JP2016242731A 2016-12-14 2016-12-14 制御装置、制御システム、及びプログラム Active JP6558703B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016242731A JP6558703B2 (ja) 2016-12-14 2016-12-14 制御装置、制御システム、及びプログラム
PCT/JP2017/036296 WO2018110046A1 (ja) 2016-12-14 2017-10-05 制御装置、制御システム、制御方法、制御プログラムおよび記憶媒体
DE112017006282.9T DE112017006282T5 (de) 2016-12-14 2017-10-05 Steuervorrichtung, Steuersystem, Steuerverfahren und Speichermedium
US16/405,625 US11247694B2 (en) 2016-12-14 2019-05-07 Control apparatus, control system, control method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016242731A JP6558703B2 (ja) 2016-12-14 2016-12-14 制御装置、制御システム、及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019126502A Division JP2019172261A (ja) 2019-07-05 2019-07-05 制御装置、制御システム、及び制御プログラム

Publications (3)

Publication Number Publication Date
JP2018098682A JP2018098682A (ja) 2018-06-21
JP2018098682A5 JP2018098682A5 (ja) 2019-03-28
JP6558703B2 true JP6558703B2 (ja) 2019-08-14

Family

ID=62558433

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016242731A Active JP6558703B2 (ja) 2016-12-14 2016-12-14 制御装置、制御システム、及びプログラム

Country Status (4)

Country Link
US (1) US11247694B2 (ja)
JP (1) JP6558703B2 (ja)
DE (1) DE112017006282T5 (ja)
WO (1) WO2018110046A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6828632B2 (ja) * 2017-08-03 2021-02-10 住友電気工業株式会社 検知装置、検知方法および検知プログラム
US11124185B2 (en) 2018-11-13 2021-09-21 Zoox, Inc. Perception collision avoidance
US11104332B2 (en) 2018-12-12 2021-08-31 Zoox, Inc. Collision avoidance system with trajectory validation
JP7138083B2 (ja) * 2019-06-21 2022-09-15 国立大学法人東海国立大学機構 車載通信システム、車載通信装置及び送信周期算出方法
DE102020121831A1 (de) * 2020-08-20 2022-02-24 Zf Cv Systems Global Gmbh Verfahren zum Sichern eines Fahrzeugs
DE102020211022A1 (de) * 2020-09-01 2022-03-03 Volkswagen Aktiengesellschaft Verfahren zum Betreiben eines Kraftfahrzeugs, Sicherheitssystem für ein Kraftfahrzeug sowie Kraftfahrzeug mit einem Sicherheitssystem
DE102020212565A1 (de) * 2020-10-06 2022-04-07 Volkswagen Aktiengesellschaft Fahrzeug, Vorrichtung, Computerprogramm und Verfahren zur Durchführung in einem Fahrzeug

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05106471A (ja) * 1991-10-15 1993-04-27 Toyota Motor Corp 車両用走行制御装置
JP3611028B2 (ja) * 2000-08-29 2005-01-19 トヨタ自動車株式会社 走行制御装置
JP2004017676A (ja) 2002-06-12 2004-01-22 Denso Corp 車両用通信システム、初期化装置及び車両用制御装置
JP5286659B2 (ja) 2006-11-07 2013-09-11 株式会社オートネットワーク技術研究所 車載装置中継システム、車載装置中継方法及び中継装置
US8352111B2 (en) * 2009-04-06 2013-01-08 GM Global Technology Operations LLC Platoon vehicle management
US9296299B2 (en) * 2011-11-16 2016-03-29 Autoconnect Holdings Llc Behavioral tracking and vehicle applications
US8698639B2 (en) * 2011-02-18 2014-04-15 Honda Motor Co., Ltd. System and method for responding to driver behavior
JP2014085711A (ja) * 2012-10-19 2014-05-12 Toyota Motor Corp 制動制御装置、制動制御方法、プログラム及び媒体
JP6031956B2 (ja) 2012-11-15 2016-11-24 株式会社デンソー 通信装置
JP5919205B2 (ja) 2013-01-28 2016-05-18 日立オートモティブシステムズ株式会社 ネットワーク装置およびデータ送受信システム
CN105142995B (zh) * 2013-04-23 2017-08-25 丰田自动车株式会社 车速控制装置
JP2015065546A (ja) 2013-09-25 2015-04-09 日立オートモティブシステムズ株式会社 車両制御装置
EP3132979B1 (en) * 2014-04-17 2021-01-27 Panasonic Intellectual Property Corporation of America Vehicle-mounted network system, invalidity detection electronic control unit, and invalidity detection method
JP6289284B2 (ja) * 2014-06-20 2018-03-07 ルネサスエレクトロニクス株式会社 半導体装置及び制御方法
JP6336886B2 (ja) * 2014-10-22 2018-06-06 株式会社デンソー 物体検知装置
JP2016141231A (ja) * 2015-01-30 2016-08-08 株式会社アドヴィックス 衝突回避装置

Also Published As

Publication number Publication date
DE112017006282T5 (de) 2019-09-26
JP2018098682A (ja) 2018-06-21
US20190263423A1 (en) 2019-08-29
US11247694B2 (en) 2022-02-15
WO2018110046A1 (ja) 2018-06-21

Similar Documents

Publication Publication Date Title
JP6558703B2 (ja) 制御装置、制御システム、及びプログラム
US11190533B2 (en) Anomaly detection electronic control unit, onboard network system, and anomaly detection method
JP7410223B2 (ja) 不正検知サーバ、及び、方法
JP6836340B2 (ja) 不正検知電子制御ユニット、車載ネットワークシステム及び通信方法
CN106031098B (zh) 不正常帧应对方法、不正常检测电子控制单元以及车载网络系统
JP7231559B2 (ja) 異常検知電子制御ユニット、車載ネットワークシステム及び異常検知方法
CN108353014B (zh) 非法控制抑止方法、非法控制抑止装置和车载网络系统
JP7030046B2 (ja) 不正通信検知方法、不正通信検知システム及びプログラム
CN111934966B (zh) 不正常检测电子控制单元、车载网络系统以及不正常检测方法
CN108028784B (zh) 不正常检测方法、监视电子控制单元以及车载网络系统
CN109076001B (zh) 帧传送阻止装置、帧传送阻止方法及车载网络系统
JP7053449B2 (ja) 不正通信検知基準決定方法、不正通信検知基準決定システム及びプログラム
CN110406485B (zh) 非法检测方法及车载网络系统
JP2019008618A (ja) 情報処理装置、情報処理方法及びプログラム
WO2018186054A1 (ja) 不正通信検知基準決定方法、不正通信検知基準決定システム及びプログラム
WO2018186053A1 (ja) 不正通信検知方法、不正通信検知システム及びプログラム
JP2019212976A (ja) 電子制御装置、監視方法、プログラム及びゲートウェイ装置
JP2019172261A (ja) 制御装置、制御システム、及び制御プログラム
JP2019209961A (ja) 情報処理装置、監視方法、プログラム及びゲートウェイ装置
CN113556271B (zh) 非法控制抑止方法、非法控制抑止装置和车载网络系统
JP6519829B1 (ja) 電子制御装置、監視方法、プログラム及びゲートウェイ装置
JP2019209962A (ja) 情報処理装置、監視方法、プログラム及びゲートウェイ装置
WO2018020833A1 (ja) フレーム伝送阻止装置、フレーム伝送阻止方法及び車載ネットワークシステム
WO2017056395A1 (ja) 不正検知電子制御ユニット、車載ネットワークシステム及び通信方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190206

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190206

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190206

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190426

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: 20190611

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190705

R151 Written notification of patent or utility model registration

Ref document number: 6558703

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

SZ03 Written request for cancellation of trust registration

Free format text: JAPANESE INTERMEDIATE CODE: R313Z03

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350