JP7391242B2 - 制御装置 - Google Patents

制御装置 Download PDF

Info

Publication number
JP7391242B2
JP7391242B2 JP2022563326A JP2022563326A JP7391242B2 JP 7391242 B2 JP7391242 B2 JP 7391242B2 JP 2022563326 A JP2022563326 A JP 2022563326A JP 2022563326 A JP2022563326 A JP 2022563326A JP 7391242 B2 JP7391242 B2 JP 7391242B2
Authority
JP
Japan
Prior art keywords
control unit
control
unit
software
state
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
JP2022563326A
Other languages
English (en)
Other versions
JPWO2022107268A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2022107268A1 publication Critical patent/JPWO2022107268A1/ja
Application granted granted Critical
Publication of JP7391242B2 publication Critical patent/JP7391242B2/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
    • 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/023Avoiding failures by using redundant parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • 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
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0006Digital architecture hierarchy
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)
  • Safety Devices In Control Systems (AREA)
  • Debugging And Monitoring (AREA)

Description

本願は、制御装置に関するものである。
車両には、ECU(Electronic Control Unit)と呼ばれる電子制御ユニットが複数搭載されており、それぞれのECUは、車載ネットワークにより相互に接続され、複数の制御ユニットと連携して動作する制御装置として構成されている。そのため、車載ネットワークを経由したセキュリティ攻撃により、車載ネットワークの内部に不正侵入されて制御ユニットが別物になりすまされたり、プログラムが改ざんされたりすることで、たとえば車両の走行制御に不具合をもたらす可能性がある。
一方、従来から、制御ユニットに異常が発生した場合でも、車両が走行するのに必要な最低限度の機能で制御装置の動作を継続させるために、車両の機能の縮退もしくは動作の切り替え等を行う技術が存在している。
特許文献1には、制御ユニットの演算器の異常発生時に、異常が発生した制御ユニットの動作に関連する機能を再構成させるためのソフトウェアを記憶部から読み出して、別の制御ユニットのメモリ領域に上書きするようにした制御装置が開示されている。特許文献1によれば、制御ユニットに異常が発生した際に、ソフトウェアに対して設定されている第1優先度情報を参照し、この第1優先度情報において低い優先度が設定された他のソフトウェアを記憶する制御ユニットのメモリ領域に、監視対象である制御ユニットの動作に関連する機能を再構成させるためのソフトウェアを上書きするように構成されている。
特開2020-8950号公報
しかしながら、特許文献1に開示された従来の制御装置は、監視対象の制御ユニットの動作に関連する機能を再構成させるためのソフトウェアを、他の制御ユニットのメモリ領域に上書きするとき、ソフトウェアの上書き先の制御ユニットのセキュリティ状態を考慮していない。そのため、ソフトウェアの上書き先の制御ユニットが、別物へのなりすまし若しくは改ざん等に対するセキュリティ対策を有効にしていない場合、セキュリティ攻撃を受けて不正な出力値を出力する等の不正な動作を行なう可能性がある。また、特許文献1に開示された従来の制御装置は、ソフトウェアの上書き先の制御ユニットの制御状態も考慮していないため、ソフトウェアの動作要件を満たさない制御ユニットにソフトウェアを上書きした場合、ソフトウェアが予め定められた動作を行なわない可能性がある。
本願は、上記のような課題を解決するための技術を開示するものであり、異常が発生した制御ユニットの予め定められた動作を、他の制御ユニットにより仕様通りに継続させることができる制御装置を提供することを目的とする。
本願に開示される制御装置は、
通信路を介して互いに通信することができるように接続された複数の制御ユニットを備え、前記複数の制御ユニットのうちの何れかの制御ユニットに異常が検知されたとき、前記異常が検知された制御ユニットのソフトウェアの機能のうちの少なくとも一部の機能を、前記異常が検知された制御ユニットとは異なる他の制御ユニットにより継続させるように構成された制御装置であって、
前記複数の制御ユニットのそれぞれは、
前記通信路を介して他の制御ユニットとメッセージの送受信を行う通信部と、
前記通信部が受信した他の制御ユニットからのメッセージに基づいて、前記他の制御ユニットの異常を検知する検知部と、
自身が属する制御ユニットのセキュリティ状態と制御状態を管理する管理部と、
前記検知部が前記他の制御ユニットの異常を検出したとき、前記異常が検知された前記他の制御ユニットが実行する前記ソフトウェアの機能のうちの少なくとも一部の機能を、前記異常が検知された前記他の制御ユニット以外の他の制御ユニットにより継続させる必要性の有無を判定する判定部と、
前記判定部が前記継続の必要性有りと判定したとき、前記異常が検知された前記他の制御ユニットの前記ソフトウェアの動作要件と、前記異常が検知された他の制御ユニット以外の他の制御ユニットの前記セキュリティ状態と前記制御状態とのうちの少なくとも一方と、に基づいて前記ソフトウェアの機能のうちの少なくとも一部の機能を継続させる制御ユニットを選択する切替処理部と、
を備えたことを特徴とする。
本願に開示される制御装置によれば、異常が発生した制御ユニットの予め定められた動作を、他の制御ユニットにより仕様通りに継続させることができる制御装置が得られる。
実施の形態1による制御装置の構成を示すブロック図である。 実施の形態1による制御装置の動作を示すフローチャートである。 実施の形態1による制御装置における、制御ユニットの選定処理を示すフローチャートである。 実施の形態1による制御装置における、記憶装置の記憶部のデータの構成を示す説明図である。 実施の形態1による制御装置における、メッセージのデータフレームの構成を示す説明図である。 実施の形態1による制御装置における、異常メッセージの例を示す説明図である。 実施の形態1による制御装置における、制御ユニットの管理部のデータ構成を示す説明図である。 実施の形態3による制御装置の構成を示すブロック図である。 実施の形態3による制御装置の動作を示すフローチャートである。 実施の形態3による制御装置における、ソフトウェア切替処理を示すフローチャートである。 実施の形態3による制御装置における、車両の周辺環境の状態を示す車両情報の例を示す説明図である。
実施の形態1.
以下、実施の形態1による制御装置について、図に基づいて説明する。図1は、実施の形態1による制御装置の構成を示すブロック図である。図1において、車両100に搭載された制御装置は、記憶装置300と、第1の制御ユニット400と、第2の制御ユニット420と、第3の制御ユニット440と、第4の制御ユニット460と、を備えている。第1の制御ユニット400と、第2の制御ユニット420と、第3の制御ユニット440と、第4の制御ユニット460は、車両100の走行系101のグループに属し、それぞれCPU(Central Processing Unit)を備え、たとえば、エンジン制御ユニット、ステアリング制御ユニット等として、それぞれ異なる制御を行なうように構成されている。
記憶装置300と、第1の制御ユニット400と、第2の制御ユニット420と、第3の制御ユニット440と、第4の制御ユニット460は、CAN(Controller Area Network)により構成された通信路200にそれぞれ接続されており、通信路200を介して互いに通信を行なうことが可能であり、図示していない他の制御ユニットとも通信を行なうことが可能である。
第1の制御ユニット400には演算処理部407が設けられ、第2の制御ユニット420には演算処理部427が設けられている。なお、第3の制御ユニット440と第4の制御ユニット460にも、同様の演算処理部(図示せず)が設けられている。演算処理部407、427は、自身が属する制御ユニットが保持するソフトウェアを実行することで、車両100の内部に備えるシステム、各種装置を制御することが可能である。
第1の制御ユニット400と、第2の制御ユニット420と、第3の制御ユニット440と、第4の制御ユニット460との異常内容を含むメッセージ(以下、異常メッセージと称する)は、その異常メッセージを最初に受信した何れかの制御ユニットが、通信路200へ応答メッセージを送信することで、最初に異常メッセージを受信した制御ユニット以外の制御ユニットが同じ処理を行うことを防止する。
たとえば、第1の制御ユニット400が第2の制御ユニット420からの異常メッセージを最初に受信した場合、第1の制御ユニット400は、応答メッセージを通信路200へ送信するとともに、受信した異常メッセージに対する後述の処理を行なうが、第1の制御ユニット400からの応答メッセージを受信した第3の制御ユニット440と第4の制御ユニット460は、第2の制御ユニット420からの異常メッセージを受信したとしても、その受信した異常メッセージに対する処理を行わない。
第1の制御ユニット400は、通信部401と、検知部402と、判定部403と、記憶部404と、管理部405と、切替処理部406と、演算処理部407とを備えている。第1の制御ユニット400の記憶部404は、ソフトウェア1aと、ソフトウェア2aとを記憶している。管理部405は、自身が属する第1の制御ユニット400のセキュリティ状態408と制御状態409とを管理する。
第2の制御ユニット420は、通信部421と、検知部422と、判定部423と、記憶部424と、管理部425と、切替処理部426と、演算処理部427とを備えている。第2の制御ユニット420の記憶部424は、ソフトウェア3aと、ソフトウェア4aとを記憶している。管理部425は、自身が属する第2の制御ユニット420のセキュリティ状態428と制御状態429とを管理する。
同様に、第3の制御ユニット440と、第4の制御ユニット460は、通信部と、検知部と、判定部と、記憶部と、管理部と、切替処理部と、演算処理部とを備え(何れも図示せず)、記憶部は、複数のソフトウェアを記憶している。管理部は、それぞれ自身が属する第3の制御ユニット440と第4の制御ユニット460のセキュリティ状態と制御状態とを管理する。
記憶装置300は、通信部301と、記憶部302とを備えている。通信部301は、第1の制御ユニット400と、第2の制御ユニット420と、第3の制御ユニット440と、第4の制御ユニット460との間で、通信路200を介してデータの送受信を行う。記憶部302は、通信路200に接続された第1の制御ユニット400と第2の制御ユニット420と第3の制御ユニット440と第4の制御ユニット460とがそれぞれ実行するソフトウェアと、それぞれのソフトウェアの動作要件をあらかじめ記憶している。
たとえば、記憶部302には、第2の制御ユニット420のソフトウェア3aの機能を縮退したソフトウェア3bが記憶されており、さらに、ソフトウェア3bの動作要件として、制御状態とセキュリティ状態とが付随して記憶されている。ソフトウェア3bの制御状態とは、たとえば、CPUのクロックが100[MHz]であり、かつ空きメモリとして150[KB]が必要であることを示すものであり、ソフトウェア3bのセキュリティ状態とは、たとえば、HSM(Hardware Security Module)内に保管されているID(Identification)が「2000」の鍵を必要とすることを示すものである。
さらに、記憶部302には、第1の制御ユニット400のソフトウェア1aの機能を縮退したソフトウェア1bと、ソフトウェア2aの機能を縮退したソフトウェア2bとが、記憶されている。さらに、これらのソフトウェア1b、2bのそれぞれの動作要件としての、前述と同様の制御状態とセキュリティ状態とが付随して記憶されている。また、記憶部302には、第2の制御ユニット420のソフトウェア4aの機能を縮退したソフトウェア(図示せず)と、第3の制御ユニット440と第4の制御ユニット460のソフトウェア(図示せず)の機能を縮退したソフトウェア(図示せず)と、機能を縮退したそれらのソフトウェアの動作要件としての、前述と同様の制御状態とセキュリティ状態とが付随して記憶されている。
第1の制御ユニット400の通信部401と、第2の制御ユニット420の通信部421と、第3の制御ユニット440の通信部(図示せず)と、第4の制御ユニット460の通信部(図示せず)と、記憶装置300の通信部301とは、CANである通信路200を介して、相互にデータの送受信を行うことができる。
つぎに、実施の形態1による制御装置について更に詳細に説明する。まず、CANである通信路200に送信されるメッセージの構成について説明する。図4Aは、実施の形態1による制御装置における、メッセージのデータフレームの構成を示す説明図である。周知のように、CANフレームの構造は、図4Aに示すように、SOF(Start Of Frame)、ID(Identification Key)、RTR(Remote Transmission Request BIT)、コントロールフィールド(Control Field)、CRCシーケンス(Cyclic Redundancy Check Sequence)、CRCデリミタ(Cyclic Redundancy Check Delimiter)、ACKスロット(Acknowledgement Slot)、ACKデリミタ(Acknowledgement Delimiter)、EOF(End Of File)、により構成されている。
以下の説明では、一例として、第1の制御ユニット400が第2の制御ユニット420からのメッセージを通信路200を介して受信した場合について説明する。図1において、第1の制御ユニット400の通信部401は、第2の制御ユニット420からメッセージを受信すると、その受信したメッセージを検知部402へ渡す。検知部402は、通信部401から受け取ったメッセージに基づいて、第2の制御ユニット420の異常の有無を判定する。その判定の結果、受信したメッセージが異常であると判定すると、検知部402は、第2の制御ユニット420の異常情報と動作継続先の制御装置の情報とを判定部403へ渡す。
ここで、第1の制御ユニット400が第2の制御ユニット420から受信したメッセージが、第2の制御ユニット420の異常を示す異常メッセージである場合の構成について説明する。図4Bは、実施の形態1による制御装置における、異常メッセージの例を示す説明図である。CANフレームのIDが「0x108」である場合は、データ内容が異常であり、優先度が最優先であることを示している。IDが「0x108」のときのデータフィールドが「0xB11」である場合は、ソフトウェアの動作継続先候補が走行系101のグループであり、異常内容は、ブレーキセンサの電圧異常であることを示している。
たとえば、通信部401が第2の制御ユニット420から受信したメッセージのIDが異常を示す「0x108」であり、データフィールドが「0xB11」であるとき、検知部402は、異常内容と動作継続先の制御ユニットの候補情報とを判定部403へ渡す。検知部402が異常を示すIDのメッセージを通信部401から複数受け取った際は、検知部402は、IDの値が小さい方のメッセージの処理を先に開始し、優先度が低い方のメッセージは、IDの値が小さい方のメッセージの処理が終わった後で処理を開始する。
判定部403は、検知部402から異常内容と動作継続先の制御ユニットの候補情報とを受け取り、ソフトウェア切替要求の信号とともに動作継続先の制御ユニットの候補情報を、管理部405と切替処理部406へ渡す。ここで、ソフトウェア切替要求とは、管理部405と切替処理部406の処理開始のトリガとなる信号のことである。
記憶部404は、演算処理部407が実行するソフトウェアを記憶している。記憶装置300における記憶部302と、第1の制御ユニット400における記憶部404との違いは、記憶部302が各制御ユニット400、420、440、460の演算処理部が実行するソフトウェアを複数記憶しているのに対して、記憶部404は、第1の制御ユニット400が制御するために必要なソフトウェアのみを記憶していることである。
たとえば、第1の制御ユニット400の記憶部404は、第1の制御ユニット400が車両のステアリング装置の制御を行うためのソフトウェア1aとソフトウェア2aを記憶しており、記憶装置300の記憶部302は、各制御ユニット400、420、440、460のソフトウェアの機能を縮退したソフトウェア1b、2b、3b、11b、12bを記憶している。ソフトウェア1b、2b、3bは、車両100の走行系101のグループに属し、11b、12bは車両100のボディ系(図示せず)のグループに属する。
管理部405は、あらかじめ自身の第1の制御ユニット400のセキュリティ状態と制御状態を管理している。第1の制御ユニット400以外の、第2の制御ユニット420、第3の制御ユニット440、第4の制御ユニット460も、それぞれ同様に自身の制御ユニットのセキュリティ状態と制御状態を自身の管理部で管理している。
ここで、各制御ユニットの管理部が管理している自身が属する制御ユニットのセキュリティ状態と制御状態のデータの構成を具体的に説明する。図5は、実施の形態1による制御装置における、制御ユニットの管理部のデータ構成を示す説明図である。図5の例においては、走行系101のグループに属する第1の制御ユニット400と、第3の制御ユニット440と、第4の制御ユニット460の、セキュリティ状態と制御状態を表している。たとえば、第1の制御ユニット400は、CPUクロック120[MHz]、空きメモリ90[KB]を必要とする制御状態であり、セキュリティ状態としては、鍵IDを保有しておらず(無効)、HSMは無効であることを示している。
第3の制御ユニット440は、CPUクロック200[MHz]、空きメモリ200[KB]を必要とする制御状態であり、セキュリティ状態としては、鍵IDは「2000」であり、HSMは有効であることを示している。また、第4の制御ユニット460は、CPUクロック120[MHz]、空きメモリ80[KB]を必要とする制御状態であり、セキュリティ状態としては、鍵IDは「2001」であり、HSMは有効であることを示している。
第1の制御ユニット400の管理部405が、判定部403からソフトウェア切替要求の信号を受け取ることで、後述するように、自身が属する第1の制御ユニット400以外の制御ユニットの前述のような制御状態とセキュリティ状態とを取得する。
つぎに、第1の制御ユニット400の管理部405が、自身が属する第1の制御ユニット400以外の制御ユニットである第3の制御ユニット440のセキュリティ状態と制御状態とを取得する場合の例を、具体的に説明する。たとえば、異常である第2の制御ユニット420の動作継続先の制御ユニットの候補情報としては、走行系101のグループに属する第1の制御ユニット400と、第3の制御ユニット440と、第4の制御ユニット460が存在しているものとする。管理部405は、判定部403からソフトウェア切替要求の信号と動作継続先の制御ユニットの候補情報を受け取ると、動作継続先の制御ユニットの候補情報に基づいて、第3の制御ユニット440の制御状態とセキュリティ状態の取得を開始する。
まず、第1の制御ユニット400の管理部405は、状態要求メッセージを作成し、この状態要求メッセージを通信部401を介して通信路200へ送信する。ここで、状態要求メッセージとは、実施の形態1においては、IDが「700」であるメッセージである。次に、第3の制御ユニット440の通信部(図示せず)は、第1の制御ユニット400が送信した状態要求メッセージを受信することで、第3の制御ユニット440の管理部(図示せず)から第3の制御ユニット440のセキュリティ状態と制御状態とを通信部(図示せず)が受け取り通信路200へ送信する。
第4の制御ユニット460の通信部(図示せず)においても第3の制御ユニットと同様に、第1の制御ユニット400が送信した状態要求メッセージを受信することで、第4の制御ユニット460の管理部(図示せず)から第4の制御ユニット460のセキュリティ状態と制御状態とを通信部(図示せず)が受け取り通信路200へ送信する。最後に、第1の制御ユニット400の通信部401は、第3の制御ユニット440が送信した第3の制御ユニット440のセキュリティ状態と制御状態と、第4の制御ユニット460が送信した第4の制御ユニット460のセキュリティ状態と制御状態とを受信し、管理部405へ渡す。
前述の制御状態は、通信路200に接続されている各制御ユニット400、420、440、460の処理状況を示すものであり、切替処理部406が動作を継続させる制御ユニットを選定するための要素として用いる。制御状態を考慮して制御ユニットを選定することで、現状の制御ユニットの処理負荷と上書きするソフトウェアの動作要件とを比較できるため、上書きされたソフトウェアを設計時の仕様の通りに動作させることができる制御ユニットを選択することが可能になる、という効果を得ることができる。
たとえば、前述の制御状態は、制御ユニットのCPUクロックの周波数とメモリ使用率とで示される。具体的には、切替処理部406が管理部405に第3の制御ユニット440の制御状態を参照することにより、第3の制御ユニット440の演算処理部のCPUクロックの周波数が200[MHz]であり、空きメモリが200[KB]であることを取得することができる。
また、前述のセキュリティ状態は、通信路200に接続された各制御ユニット400、420、440、460のセキュリティ機能の設定状態を示すものであり、制御状態と同じく、切替処理部406が動作を継続させる制御ユニットを選定するための要素として用いる。セキュリティ状態を考慮して制御ユニットを選定することで、ソフトウェアごとに必要とするセキュリティ機能が最低限実装された制御ユニットでソフトウェアを実行できるため、前述のなりすまし、もしくは改ざん等、を受けるリスクが低い制御ユニットを選択できるという効果を得ることができる。
たとえば、前述のように、セキュリティ状態は、制御ユニットがHSMを備える場合の有効状態と制御ユニットが保持している鍵IDを示す。具体的には、切替処理部406が管理部405に第3の制御ユニット440のセキュリティ状態を参照することにより、第3の制御ユニット440は、HSM内に保管されている鍵IDが「2000」を保持していることを取得することができる。
切替処理部406は、判定部403からソフトウェア切替要求の信号を受け取ることで、異常であると判定された第2の制御ユニット420が実行するソフトウェア3aの動作継続先となる制御ユニットを選択する。
つぎに、前述の制御状態とセキュリティ状態とに基づいて、第2の制御ユニット420のソフトウェア3aの機能を縮退させたソフトウェア3bを動作させる制御ユニットを選択する場合について説明する。ソフトウェア3bは、前述のように記憶装置300の記憶部302に記憶されている。
ここで、記憶装置300の記憶部302に記憶されているデータ構成について説明する。図3は、実施の形態1による制御装置における、記憶装置の記憶部のデータの構成を示す説明図である。記憶装置300の記憶部302には、前述のとおり各制御ユニット400、420、440、460における演算処理部が実行するソフトウェアを縮退したソフトウェアが複数記憶されている。図3に示す例においては、記憶部302は、走行系101のグループのソフトウェアとして、ソフトウェアIDが1bと2bと3b、ボディ系のグループのソフトウェアとして、ソフトウェアIDが11bと12bとが記憶されている。
これらのソフトウェアには、動作要件として、CPUクロック[MHz]、空きメモリ[KB]、HSMの要否(有効又は無効)、鍵の要否(要の場合、鍵ID)が,ソフトウェアIDと関連づけされている。ソフトウェア情報を取得する際は、第1の制御ユニット400の切替処理部406が記憶装置300にソフトウェアIDを入力とすることで、ソフトウェアの動作要件が記憶部302出力される。
たとえば、第1の制御ユニット400の切替処理部406が記憶装置300に対して、ソフトウェアID「1b」を含めたメッセージを送信すると、切替処理部406は、ソフトウェアID「1b」のソフトウェアデータ、および動作要件として、「CPUクロックが80[MHz]、空きメモリが50「KB」、HSMが必要(有効)、鍵IDが不要(無効)である」、という情報を、記憶装置300の記憶部302から取得することができる。
ここで、ソフトウェア3bを動作させる制御ユニットを選択する場合の説明に戻る。まず、第1の制御ユニット400の切替処理部406は、判定部403からソフトウェア切替要求の信号を受け取った後、動作継続先の制御ユニットの候補情報が車両の走行系101のグループであるため、走行系101のグループの制御ユニットのセキュリティ状態と制御状態とを管理部405から受け取る。続いて、切替処理部406は、ソフトウェア3bの動作要件を記憶装置300から受け取る。
次に、切替処理部406は、走行系101のグループの制御ユニットの中から、制御状態とセキュリティ状態とに基づいて、ソフトウェア3bを動作させる制御ユニットを選定する。ソフトウェア3bを動作させる制御ユニットの選定は、具体的には、次のとおりである。
まず、1回目の選定では、切替処理部406は、ソフトウェア3bの動作要件と、第1の制御ユニット400の動作状態およびセキュリティ状態と、を比較する。このとき、最初に、CPUクロックを比較する。ソフトウェア3bの動作要件は、CPUクロックが100[MHz]であるのに対して、第1の制御ユニット400のCPUクロックは120[MHz]であり、要件を満足している。次に、メモリを比較する。ソフトウェア3bの動作要件は、空きメモリ150[KB]を必要とするのに対して、第1の制御ユニット400の空きメモリは90[KB]であり、要求を満足していない。したがって、第1の制御ユニット400は、ソフトウェア3bの要求を満足していない項目があるため、動作継続先から除外される。切替処理部406は、次の制御ユニットの選定、つまり2回目の選定に移行する。
2回目の選定では、切替処理部406は、ソフトウェア3bの動作要件と第3の制御ユニット440の制御状態およびセキュリティ状態と、を比較する。比較項目は1回目の選定と同じである。最初にCPUクロックに関して比較すると、ソフトウェア3bのCPUクロックが100[MHz]であるのに対して、第3の制御ユニット440のCPUクロックは200[MHz]であり要件を満足している。つぎにメモリに関して比較すると、ソフトウェア3bが150[KB]を必要とするのに対して、第3の制御ユニット440は200[KB]の空きがあり、動作継続先の制御ユニットとしての要件を満足している。
つぎに、HSM情報に関して比較すると、ソフトウェア3bはHSM情報が有効である必要があるのに対して、第3の制御ユニット440はHSM情報が有効状態であるため、動作継続先の制御ユニットとしての要求を満足している。最後に、鍵情報に関して比較すると、ソフトウェア3bがHSM内に保管される鍵IDが2000を必要とするのに対して、第3の制御ユニット440は、HSM内に鍵IDが2000を保持しているため、動作継続先の制御ユニットとしての要求を満足している。従って、切替処理部406は、第3の制御ユニット440がソフトウェア3bのすべての動作要件を満たしているため、第3の制御ユニット440を動作継続先の制御ユニットとして決定する。2回目の選定で動作継続先の制御ユニットが制御ユニット440に決定したため、制御ユニット460も選定対象であるが、3回目の選定は行わないものとする。
つぎに、切替処理部406は、ソフトウェア更新要求を通信部401へ渡す。ここで、ソフトウェア更新要求とは、第3の制御ユニット440に、第3の制御ユニット440の記憶部(図示せず)へ、ソフトウェアを上書きすることを命令するメッセージのことである。第1の制御ユニット400の切替処理部406は、IDが「780」でデータフィールドが「0x403」であるソフトウェア更新要求を示すメッセージを、通信部401を介して通信路200に送信する。
記憶装置300の通信部301は、通信路200を介してソフトウェア更新要求を受信し、記憶部302からソフトウェア3bを通信部301へ渡す。つぎに、通信部301は、ソフトウェア3bを通信路200へ送信する。第3の制御ユニット440は、第1の制御ユニット400が送信したソフトウェア更新要求を受信する。第3の制御ユニット440は、IDからソフトウェア更新要求であることと、データフィールドから自身に向けて送信されたものであることを判断し、次に受信するソフトウェア3bを第3の制御ユニット440の記憶部に上書きする。
演算処理部407は、ソフトウェア1aおよびソフトウェア2aを実行した結果である出力値を通信路200に送信することで、車両の内部に備えるシステム、装置を動作させる。
つぎに、以上述べた実施の形態1による制御装置の動作を、フローチャートを用いて総括的に説明する。図2Aは、実施の形態1による制御装置の動作を示すフローチャートである。図2Aにおいて、ステップS201では、通信部401は、通信路200を介して第2の制御ユニット420からメッセージを受信し、ステップS202において通信部401は、受信したメッセージを検知部402へ渡し、ステップS203へ進む。
ステップS203では、検知部402は、受け取ったメッセージから、第2の制御ユニット420の異常の有無を判定し、異常であると判定した場合は(Yes)、ステップS204に進み、検知部402は、判定部403へ異常情報と動作継続先の制御装置の情報を渡す。ステップS205では、判定部403は、管理部405と切替処理部406へ、ソフトウェア切替要求と動作継続先の制御ユニットの候補情報を渡し、ステップS206に進む。
ステップS206では、管理部405は、第3の制御ユニット440と第4の制御ユニット460からセキュリティ状態と制御状態を収集する。つぎに、ステップS207では、切替処理部406は、判定部403からソフトウェア切替要求の信号を受け取ることで、異常であると判定された第2の制御ユニット420が実行するソフトウェア3aの動作継続先となる制御ユニットを前述のようにして選択する。
つぎに、ステップS208では、切替処理部406は、通信部401へソフトウェア更新要求を渡し、ステップS209では、通信部401は、通信路200へ、ソフトウェア更新要求を送信する。ステップS210に進むと、記憶装置300における通信部301は、ソフトウェア更新要求を受信し、ステップS211に進んで、記憶部302は、異常である第2の制御ユニット420のソフトウェア3aの機能を縮退したソフトウェア3bを通信部301へ渡す。ステップS212では、通信部301は、ソフトウェア3bを通信路200へ送信する。
図2Bは、実施の形態1による制御装置における、制御ユニットの選定処理を示すフローチャートであって、前述の制御ユニットの選定動作を総括的に示している。図2Bにおいて、ステップS213では、第1の制御ユニット400は、記憶装置300からソフトウェア3bの動作要件を取得する、つぎに、ステップS214において、第1の制御ユニット400の切替処理部406は、管理部405から第1の制御ユニット400の制御状態とセキュリティ状態を受け取り、ステップS215に進む。
ステップS215では、切替処理部406は、自身が所属する第1の制御ユニット400の制御状態はソフトウェア3bの制御状態の要件を満たしているか否かを判定し、第1の制御ユニット400の制御状態がソフトウェア3bの制御状態の要件を満たしていれば(Yes)、ステップS216に進んで、第1の制御ユニット400のセキュリティ状態はソフトウェア3bのセキュリティ状態の要件を満たしているか否かを判定する。ステップS216での判定の結果、第1の制御ユニット400のセキュリティ状態がソフトウェア3bのセキュリティ状態の要件を満たしていれば(Yes)、ステップS217に進んで、第1の制御ユニット400を、異常である第2の制御ユニット420の動作継続先の制御ユニットとして決定する。
一方、ステップS215での判定の結果、第1の制御ユニット400の制御状態がソフトウェア3bの制御状態の要件を満たしていなければ(No)、ステップS218に進み、管理部405から第3の制御ユニット440の税御状態とセキュリティ状態を受け取り、ステップS215に戻って、切替処理部406は、第3の制御ユニット440の制御状態はソフトウェア3bの制御状態の要件を満たしているか否かを判定する。その判定の結果、第3の制御ユニット440の制御状態がソフトウェア3bの制御状態の要件を満たしていれば(Yes)、ステップS216に進んで、第3の制御ユニット440のセキュリティ状態はソフトウェア3bのセキュリティ状態の要件を満たしているか否かを判定する。
ステップS216での判定の結果、第3の制御ユニット440のセキュリティ状態がソフトウェア3bのセキュリティ状態の要件を満たしていれば(Yes)、ステップS217に進んで、第3の制御ユニット440を、異常である第2の制御ユニット420の動作継続先の制御ユニットとして決定する。
また、ステップS216での判定の結果、第3の制御ユニット440のセキュリティ状態がソフトウェア3bのセキュリティ状態の要件を満たしていなければ(No)、ステップS218に進み、管理部405から第4の制御ユニット460の税御状態とセキュリティ状態を受け取り、ステップS215に戻って、切替処理部406は、第4の制御ユニット460の制御状態はソフトウェア3bの制御状態の要件を満たしているか否かを判定し、以降、前述と同様の処理を繰り返すことで、候補の制御ユニットがソフトウェア3bの制御状態の要件を満たしている制御ユニットを選定し、異常である第2の制御ユニット420の動作継続先の制御ユニットを決定する。
以上述べた実施の形態1による制御装置では、セキュリティ状態として、一般にデータの改ざん、もしくは、なりすまし等の対策として、実装されるメッセージ認証で必要となる鍵IDが利用可能であるか否か、さらに、鍵IDがHSMに保管されているか否かを制御ユニットの選定に使用したが、これに限らず、たとえば、改ざん検知機能としてメモリ監視の機能を有しているか否かを制御ユニットの選定に使用してもよい。
実施の形態1による制御装置では、制御ユニットがセキュリティ攻撃を受けた場合、車両を正常に制御できなくなるため、ソフトウェアと制御ユニットの双方のセキュリティ機能の設定状態を確認するようにしている。前述のように、第2の制御ユニット420が実行するソフトウェア3aに、第1の制御ユニット400と第2の制御ユニット420との間のメッセージを認証する機能が実装されている場合、第2の制御ユニット420以外の制御ユニットでソフトウェア3a又はソフトウェア3bを実行するには、第2の制御ユニット420がメッセージ認証に使用していた鍵IDが必要となる。
なお、実施の形態1による制御装置では、制御状態としてCPUクロック数とメモリ使用率を使用したが、これに限らず、ソフトウェアの優先度、ソフトウェアの縮退状況が含まれていてもよい。
また、実施の形態1による制御装置では、動作継続先の制御ユニットの候補を、同一の機能グループに属する制御ユニットとしたが、これに限らず、制御ユニットをASIL(Automotive Safety Integrity Level:自動車安全水準)により分類し、そのASILレベルを使用するようにしてもよい。
さらに、実施の形態1による制御装置では、記憶装置300の記憶部302は、各制御ユニットの記憶部が保持するソフトウェアを縮退したソフトウェアを記憶するようにしているが、縮退前のソフトウェアを記憶するようにしてもよい。
また、実施の形態1による制御装置では、記憶装置300は、車両100の内部に備えられているが、これに限らず、記憶装置300を車両の外部に備え、車両と無線通信を行なうようにしてもよい。
さらに、実施の形態1による制御装置では、通信路200をCANにより構成したが、これに限らず、CANFD(CAN with Flexible Data Rate)、LIN(Local Interconnect Network)、フレックスレイ(Flex Ray)等の、他のネットワークを用いてもよい。
実施の形態2.
つぎに、実施の形態2による制御装置について説明する。実施の形態2による制御装置は、図1に示す実施の形態1の制御装置の構成と同じである。以下、実施の形態2による制御装置について、実施の形態1と異なる点を主体に説明する。実施の形態2による制御装置が実施の形態1による制御装置と異なる点は、第2の制御ユニット420が異常であることの検出から動作継続先の制御ユニットの選択までの一連の処理を、第2の制御ユニット420自身が行うという点である。つまり、制御ユニットが異常であることの検出から動作継続先の制御ユニットの選択までの一連の処理を、制御ユニット自身が行うという点が、実施の形態1による制御装置とは異なる。
前述の実施の形態1による制御装置では、たとえば、第2の制御ユニット420のメッセージを第1の制御ユニット400が受信することで、第2の制御ユニット420の異常を検知していたが、実施の形態2による制御装置では、たとえば、第2の制御ユニット420が自身の異常を検知する。第2の制御ユニット420の検知部422が第2の制御ユニット420自身の異常を検知する方法としては、たとえば、ソフトウェア3aの出力値が正常値から外れている場合に、検知部422は、第2の制御ユニット420のソフトウェア3aに異常が発生していることを検出する。
検知部422が、第2の制御ユニット420のソフトウェア3aに異常が発生していることを検出してから以降の動作は、判定部423が行う動作継続の要否判定から第3の制御ユニット440に対するソフトウェア更新要求の送信までは、実施の形態1による制御装置と同じ動作である。実施の形態2による制御装置は、実施の形態1と同様の効果を奏することができる。
実施の形態3.
次に、実施の形態3による制御装置について説明する。複数の制御ユニットは、車両の走行系であれば、ステアリング装置、ブレーキ装置等の複数の機能でグループ化し、ボディ系であれば、ヘッドライト、ワイパー等の複数の機能でグループ化することができる。実施の形態3による制御装置においては、複数の制御ユニットを、あらかじめ決められた機能ごとにグループ化し、そのグループ単位で制御ユニットを管理し、制御を実行するようにしたものである。
実施の形態3による制御装置では、たとえば、第1の制御ユニットは、第1の制御ユニットが管理する複数の他の制御ユニットからセキュリティ状態、制御状態、およびソフトウェアの実行状態、を定期的に取得し、管理下にある他の制御ユニットの異常を第1の制御ユニットが検出し、異常を検出した制御ユニットの動作継続の処理を行う。
実施の形態3による制御装置において、第1の制御ユニットが図1に示す実施の形態1の場合とは構成が異なる点が2つ存在する。第1の相違点は、実施の形態1による制御装置においては、制御ユニットの外部に備えていた記憶装置の記憶部を、実施の形態3による制御装置においては、制御ユニットの内部に記憶部として備えるようにした点である。第2の相違点は、実施の形態3による制御装置では、制御ユニットの管理部が新たに車両状態を管理するように構成されている点である。以下、実施の形態3による制御装置について、実施の形態1の制御装置と異なる点を主体に説明する。
図6は、実施の形態3による制御装置の構成を示すブロック図である。図6において、車両100に備えられた各種センサ(図示せず)は、定期的に車両状態410、510を取得し、その都度、CANである通信路200および通信路210へ送信する。通信路200と通信路210は、相互に接続されている。車両100の内部に備えられたすべての制御ユニットは、自身の管理部が保持する制御状態とセキュリティ状態を通信路200および通信路210へ定期的に送信する。
第1の制御ユニット400と、第2の制御ユニット420と、第3の制御ユニット440と、第4の制御ユニット460は、CANである通信路200に接続され、第5の制御ユニット500と、第6の制御ユニット520と、第7の制御ユニット540は、CANである通信路210に接続されている。なお、第5の制御ユニット500は、通信部501、検知部502、判定部503、切替処理部506、記憶部504、管理部505を備え、第6の制御ユニット520は、通信部521、検知部522、判定部523、切替処理部526、演算処理部527、記憶部524、管理部525を備えている。記憶部504は、ソフトウェア11b、ソフトウェア12bを備えている。又、記憶部524は、ソフトウェア11aとソフトウェア12aを備えている。ソフトウェア11b、ソフトウェア12bは、それぞれソフトウェア11aとソフトウェア12aを縮退したソフトウェアである。
また、管理部505は、制御状態509、セキュリティ状態508、車両状態510を備え、管理部525は、制御状態529、セキュリティ状態528を備えている。第2の制御ユニット420と、第3の制御ユニット440と、第4の制御ユニット460は、それぞれ車両100の走行系101に属する制御ユニットであり、ステアリング装置、ブレーキ装置等を制御する。第6の制御ユニット520と、第7の制御ユニット540は、それぞれ車両100のボディ系102に属する制御ユニットであり、ヘッドライト、ワイパー等を制御する。第6の制御ユニット520、および第7の制御ユニット540の構成と機能は、第2の制御ユニット420、第3の制御ユニット440、第4の制御ユニット460と同じである。
第1の制御ユニット400は、走行系101のグループに属する制御ユニットである第2の制御ユニット420と、第3の制御ユニット440と、第4の制御ユニット460の、制御状態、セキュリティ状態、およびソフトウェア、の実行を管理する制御ユニットである。車両100は、第1の制御ユニット400と同じ機能を持つ制御ユニットを機能グループごとに1つだけ備える。ここでは、第5の制御ユニット500は、ボディ系102のグループに属し、第1の制御ユニット400と同じ機能を備えており、ボディ系102に属する第6の制御ユニット520と、第7の制御ユニット540の、制御状態、セキュリティ状態、およびソフトウェア、の実行を管理する。
検知部402は、通信部401が受信した第2の制御ユニット420のメッセージの取得状況とメッセージ内容を分析し、取得したメッセージが第2の制御ユニット420の正常なセキュリティ状態428又は正常な制御状態429を含む場合、第2の制御ユニット420からのメッセージを管理部405へ渡し、そうでない場合は、第2の制御ユニット420に異常が発生しているか否かを検出する。例えば、検知部402が、第2の制御ユニット420のソフトウェア2aの出力結果を含むメッセージを前回の受信から10[ms]以内に受信できていない場合、検知部402は、第2の制御ユニット420に異常が発生したと判断し、異常内容を判定部403へ渡す。
判定部403は、検知部402から受け取った異常内容に基づいて、第2の制御ユニット420のソフトウェア2aの動作を、第2の制御ユニット420とは別の制御ユニットで継続させる必要があるか否かを判定する。ここで、判定部403が検知部402から受け取った異常内容が、「検知部402は、第2の制御ユニット420のソフトウェア2aの出力結果を含むメッセージを前回の受信から10[ms]以内に受信できていない」であるとすると、判定部403は、検知部402から前述の異常内容と同じ異常内容を5回連続して受け取った際に、ソフトウェア2aを別の制御ユニットで動作させる必要があると判定する。判定部403が、ソフトウェア2aを別の制御ユニットで動作させる必要があると判定した場合、判定部403は、ソフトウェア切替要求の信号を切替処理部406へ渡す。
記憶部404は、第1の制御ユニット400が管理する走行系101のグループの各制御ユニット424、440、460が実行するソフトウェアを縮退したソフトウェアを記憶している。図6では、第2の制御ユニット420の記憶部424が保持するソフトウェア1aとソフトウェア2aをそれぞれ縮退したソフトウェアとしてのソフトウェア1bとソフトウェア2bのみを記載している。
管理部405は、通信部401が受信した車両100の車両状態410と、第2の制御ユニット420と第3の制御ユニット440と第4の制御ユニット460の制御状態とセキュリティ状態と、を管理する。ここで、車両状態410とは、車両100の周囲のリアルタイムの状態のことであり、たとえば、走行状態として、高速走行、低速走行、停止の状態の何れであるのか、また、周辺状態として、昼間、夜間の何れであるのか、また、交通状態として、渋滞であるのか否か等を示す。これ等の車両状態410により、具体的には、たとえば、車両100は低速走行であり、昼間であり、渋滞であること等を把握することができる。
切替処理部406は、前述の車両状態410を分析して、動作継続先の制御ユニットの所属するグループの候補を決定した後、その決定したグループに属する制御ユニットを選定する処理を行う。具体的には、まず、切替処理部406は、ソフトウェア切替要求の信号を受け取った後、管理部405が保持する車両状態410に基づいてソフトウェア1aを縮退したソフトウェアであるソフトウェア1bの動作を継続させる制御ユニットの機能グループに属する制御ユニットの候補を決める。たとえば、車両状態410が「低速走行、昼間、渋滞」である場合、ボディ系102に属する制御ユニットを候補とする。
つぎに、切替処理部406は、管理部405がボディ系102のグループに属する制御ユニットである第6の制御ユニット520と第7の制御ユニット540の、それぞれの制御状態とセュリティ状態を保持しているか否かを確認し、保持している場合は、制御ユニットの選定処理に移行し、保持していない場合は、切替処理部406が第5の制御ユニット500に対して状態要求メッセージを送信して、第6の制御ユニット520と第7の制御ユニット540の制御状態とセキュリティ状態を、第5の制御ユニット500から収集する。ソフトウェア1bの動作を継続させる制御ユニットの選定に関する処理は、前述の実施の形態1と同じである。
ソフトウェア1bの動作を継続させる制御ユニットを選定した結果、第7の制御ユニット540がソフトウェア1bの動作継続先の制御ユニットであると決定すると、第1の制御ユニット400は、ソフトウェア更新要求とソフトウェア1bのデータを第5の制御ユニット500へ送信する。第5の制御ユニット500は、ソフトウェア更新要求に基づいて第7の制御ユニット540の記憶部524へ、ソフトウェア1bの上書き(書き込み)を開始する。
つぎに、実施の形態3による制御装置の動作をフローチャートに基づいて、説明する。図7Aは、実施の形態3による制御装置の動作を示すフローチャート、図7Bは、実施の形態3による制御装置における、ソフトウェア切替処理を示すフローチャートであって、動作の一例を総括的に示したものである。
図7Aにおいて、ステップS701では、第1の制御ユニット400の通信部401は、第2の制御ユニット420からメッセージを受信する。ステップS702では、通信部401は、検知部402へ通信部401が受信したメッセージを渡す。つぎに、ステップS703では、検知部402は、受け取ったメッセージが異常を示しているか否かを判定し、メッセージが異常を示していれば(Yes)、ステップS704へ進み、メッセージが異常を示していなければ(No)、ステップS710へ進む。ステップS710に進むと、検知部402は、管理部405へ第2の制御ユニット420のセキュリティ状態と制御状態を転送してステップS701へ戻る。
一方、ステップS703からステップS704に進むと、検知部402はメッセージを分析し、ステップS705において、受け取ったメッセージから第2の制御ユニット420の異常を検知したか否かを判定し、異常を検知したと判定すれば(Yes)、ステップS706へ進み、異常を検知しなければ(No)、ステップS701に戻る。
ステップS705からステップS706に進むと、検知部402は、第2の制御ユニット420の異常情報を含むメッセージを判定部403へ送信し、ステップS707に進む。ステップS707では、判定部403は、送信されたメッセージを分析し、ステップS708において、第2の制御ユニット420のソフトウェアの動作継続が必要か否かを判定し、動作継続の必要がないと判定すれば(No)、ステップS701へ戻り、動作継続の必要があると判定すれば(Yes)、ステップS709へ進む。
ステップS709に進むと、判定部403は、切替処理部406へソフトウェア切替要求を送信し、ステップS711に進む。ステップS711では、切替処理部406は、判定部403からソフトウェア切替要求を受信し、ステップS712でソフトウェア1bの動作を継続させる制御ユニットのグループの決定を行なう動作に入り、前述したように、たとえば、車両状態410が「低速走行、昼間、渋滞」である場合、ボディ系102に属する制御ユニットを候補とする。
つぎに、ステップS713では、切替処理部406は、ボディ系102に属する制御ユニットのうち、第5の制御ユニット500が第6の制御ユニット520と第7の制御ユニット540の制御状態とセキュリティ状態を保持しているか否かを判定し、保持していなければ(No)、ステップS714に進んで、切替処理部406は第5の制御ユニット500に状態要求メッセージを送信する。つぎに、ステップS715において、管理部405は、第6の制御ユニット520と第7の制御ユニット540の制御状態とセキュリティ状態を取得して、ステップS716に進む。一方、ステップS713での判定の結果、第5の制御ユニット500が第6の制御ユニット520と第7の制御ユニット540の制御状態とセキュリティ状態を保持していれば(Yes)、ステップS716に進む。
ステップS716では、切替処理部406は、ソフトウェアの切替処理の実行に入り、ステップS717では、通信部401へソフトウェア更新要求を送信する。つぎに、ステップS718では、切替処理部406は、記憶部404に対してソフトウェア1bを送信するように命令する。ステップS719では、記憶部404は、通信部401へソフトウェア1bを渡し、ステップS720において、通信部401は、通信路200へ、ソフトウェア1bとソフトウェア更新要求を送信し、第5の制御ユニット500の記憶部504にソフトウェア1bを上書きさせる。
つぎに、ソフトウェア切替処理を示す図7Bにおいて、ステップS721では、第5の制御ユニット500の切替処理部506は、記憶部504からソフトウェア1bと動作要件を読み込み、ステップS722で管理部505から第6の制御ユニット520の制御状態とセキュリティ状態を読み込む。つぎに、ステップS723において、切替処理部506は、第6の制御ユニット520の制御状態がソフトウェア1bの制御状態の要件を満たしているか否かを判定し、その要件を満たしていれば(Yes)、ステップS724に進み、その要件を満たしていなければ(No)、ステップS726に進む。
ステップS723からステップS724に進むと、切替処理部506は、第6の制御ユニット520のセキュリティ状態はソフトウェア1bのセキュリティ状態の要件を満たしているか否かを判定し、その要件を満たしていれば(Yes)、ステップS725に進んで、異常である第2の制御ユニット420のソフトウェア1aを縮退したソフトウェア1bを上書きする制御ユニットとして、第6の制御ユニット520とすることを決定する。
一方、ステップS723又はステップS724での判定の結果、ステップS726に進んだ場合は、切替処理部506は、管理部505から第7の制御ユニット540の制御状態とセキュリティ状態を読み込み、ステップS723に戻る。ステップS723では、切替処理部506は、第7の制御ユニット540が制御ユニットの制御状態がソフトウェア1bの制御状態の要件を満たしているか否かを判定し、以降、前述の動作を繰り返し、ステップS725において、異常である第2の制御ユニット420のソフトウェア1aを縮退したソフトウェア1bを上書きする制御ユニットとして、第7の制御ユニット540とすることを決定する。
図8は、実施の形態3による制御装置における、車両の周辺環境の状態を示す車両情報の例を示す説明図である。図8に示す例においては、車両100は、低速で走行しており、晴れた昼間に渋滞中であることが示されている。車両状態410を考慮して制御ユニットを選定することで、天候、交通状況、といった急激に変化することのない要素をもとに制御ユニットを候補とすることができるため、ソフトウェアを上書きした後も、処理負荷、メモリ使用量、に余裕のある制御ユニットを選択することが可能になるという効果を得ることができる。
なお、実施の形態3による制御装置では、第6の制御ユニット520又は第7の制御ユニット540が第2の制御ユニット420の動作を継続することを示したが、これに限らず、第1の制御ユニット400、第5の制御ユニット500のように、機能グループを管理する制御ユニットが第2の制御ユニット420の動作を継続するようにしてもよい。
なお、前述の各実施の形態による制御装置において、切替処理部は、自身が属する制御ユニットが実行するソフトウェアの機能のうちの少なくとも一部の機能を継続させる他の制御ユニットを、複数の制御ユニットのうちから選択し得るように構成されていてもよい。
また、前述の実施の形態3による制御装置において、複数の制御ユニットは、車両に搭載され、切替処理部は、車両から取得した車両状態と、セキュリティ状態と、制御状態と、のうちの少なくとも二つに基づいて、異常が検知された制御ユニットのソフトウェアの機能のうちの少なくとも一部の機能を継続させる制御ユニットを選択するように構成されていてもよい。
さらに、前述の各実施の形態による制御装置において、セキュリティ状態は、複数の制御ユニットのセキュリティに関する少なくとも一つの機能が有効であるか否かを示すものである。
また、前述の実施の形態3による制御装置において、車両状態は、車両の周辺状態をリアルタイムに取得した情報であり得る。
さらに、前述の各実施の形態による制御装置において、管理部は、自身が属する制御ユニットと、自身が属する制御ユニット以外の制御ユニットのうちの少なくとも一つと、のセキュリティ状態と制御状態を管理するように構成されていてもよい。
また、前述の実施の形態3による制御装置において、管理部は、切替処理部が処理を開始する前に、セキュリティ状態と、制御状態と、車両状態と、を取得するように構成されているものである。
本願は、例示的な複数の実施の形態が記載されているが、これらの実施の形態に記載された様々な特徴、態様、及び機能は特定の実施の形態の適用に限られるのではなく、単独で、または様々な組み合わせで実施の形態に適用可能である。したがって、例示されていない無数の変形例が、本願に開示される技術の範囲内において想定される。たとえば、少なくとも1つの構成要素を変形する場合、追加する場合、または省略する場合、さらには、少なくとも1つの構成要素を抽出し、他の実施の形態の構成要素と組み合わせる場合が含まれるものとする。
本願は、車両に搭載される制御装置、ひいては車両の分野に利用することができる。
100 車両、200、210 通信路、300 記憶装置、400 第1の制御ユニット、420 第2の制御ユニット、440 第3の制御ユニット、460 第4の制御ユニット、500 第5の制御ユニット、520 第6の制御ユニット、540 第7の制御ユニット、301、401、421、501、521 通信部、302、404、424、504、524 記憶部、402、422、502、522 検知部、403、423、503、523 判定部、405、425、505、525 管理部、406、426、506、526 切替処理部、407、427、527 演算処理部、408、428、508、528 セキュリティ状態、409、429、509、529 制御状態、410、510 車両状態、1a、2a、3a、4a、11a、12a、1b、2b、11b、12b ソフトウェア

Claims (11)

  1. 通信路を介して互いに通信することができるように接続された複数の制御ユニットを備え、前記複数の制御ユニットのうちの何れかの制御ユニットに異常が検知されたとき、前記異常が検知された制御ユニットのソフトウェアの機能のうちの少なくとも一部の機能を、前記異常が検知された制御ユニットとは異なる他の制御ユニットにより継続させるように構成された制御装置であって、
    前記複数の制御ユニットのそれぞれは、
    前記通信路を介して他の制御ユニットとメッセージの送受信を行う通信部と、
    前記通信部が受信した他の制御ユニットからのメッセージに基づいて、前記他の制御ユニットの異常を検知する検知部と、
    自身が属する制御ユニットのセキュリティ状態と制御状態を管理する管理部と、
    前記検知部が前記他の制御ユニットの異常を検出したとき、前記異常が検知された前記他の制御ユニットが実行する前記ソフトウェアの機能のうちの少なくとも一部の機能を、前記異常が検知された前記他の制御ユニット以外の他の制御ユニットにより継続させる必要性の有無を判定する判定部と、
    前記判定部が前記継続の必要性有りと判定したとき、前記異常が検知された前記他の制御ユニットの前記ソフトウェアの動作要件と、前記異常が検知された他の制御ユニット以外の他の制御ユニットの前記セキュリティ状態と前記制御状態とのうちの少なくとも一方と、に基づいて、前記ソフトウェアの機能のうちの少なくとも一部の機能を継続させる制御ユニットを選択する切替処理部と、
    を備えたことを特徴とする制御装置。
  2. 前記複数の制御ユニットは、車両に搭載され、
    前記複数の制御ユニットのそれぞれは、前記車両の複数の機能グループのうちの何れかの機能グループに属して動作が管理され、
    前記切替処理部は、前記車両から取得した車両状態に基づいて、前記複数の機能グループのうちから特定の機能グループを選択し、前記選択した機能グループに属する前記制御ユニットのうちから、前記ソフトウェアの機能のうちの少なくとも一部の機能を継続させる制御ユニットを選択するように構成されている、
    ことを特徴とする請求項1に記載の制御装置。
  3. 前記切替処理部は、前記複数の制御ユニットのセキュリティ状態と制御状態と、前記異常が検知された前記他の制御ユニットが実行する前記ソフトウェアに設定されるソフトウェアの動作要件と、を比較して、前記ソフトウェアの機能のうちの少なくとも一部の機能を継続させる制御ユニットを選択するように構成されている、
    ことを特徴とする請求項1又は2に記載の制御装置。
  4. 前記切替処理部は、自身が属する制御ユニット以外の他の制御ユニットから受けた通知に基づいて、前記ソフトウェアの機能のうちの少なくとも一部の機能を継続させる制御ユニットを選択するように構成されている、
    ことを特徴とする請求項1から3のうちの何れか一項に記載の制御装置。
  5. 前記切替処理部は、自身が属する制御ユニットが実行するソフトウェアの機能のうちの少なくとも一部の機能を継続させる他の制御ユニットを、前記複数の制御ユニットのうちから選択し得るように構成されている、
    ことを特徴とする請求項1から4のうちの何れか一項に記載の制御装置。
  6. 前記複数の制御ユニットは、車両に搭載され、
    前記切替処理部は、前記車両から取得した車両状態と、前記セキュリティ状態と、前記制御状態と、のうちの少なくとも二つに基づいて、前記ソフトウェアの機能のうちの少なくとも一部の機能を継続させる制御ユニットを選択するように構成されている、
    ことを特徴とする請求項1に記載の制御装置。
  7. 前記セキュリティ状態は、前記複数の制御ユニットのセキュリティに関する少なくとも一つの機能が有効であるか否かを示すものである、
    ことを特徴とする請求項1から6のうちの何れか一項に記載の制御装置。
  8. 前記車両状態は、前記車両の周辺状態をリアルタイムに取得した情報である、
    ことを特徴とする請求項2又は6に記載の制御装置。
  9. 前記管理部は、
    自身が属する制御ユニットと、自身が属する制御ユニット以外の制御ユニットのうちの少なくとも一つと、の前記セキュリティ状態と前記制御状態を管理するように構成されている、
    ことを特徴とする請求項1から8のうちの何れか一項に記載の制御装置。
  10. 前記管理部は、
    前記切替処理部が処理を開始する前に、前記セキュリティ状態と、前記制御状態と、前記車両状態と、を取得するように構成されている、
    ことを特徴とする請求項2、6、8のうちの何れか一項に記載の制御装置。
  11. 前記切替処理部により選択された制御ユニットは、前記異常が検知された前記他の制御ユニットの前記ソフトウェアの機能を縮退したソフトウェアを実行するように構成されている、
    ことを特徴とする請求項1から10のうちの何れか一項に記載の制御装置。
JP2022563326A 2020-11-19 2020-11-19 制御装置 Active JP7391242B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/043157 WO2022107268A1 (ja) 2020-11-19 2020-11-19 制御装置

Publications (2)

Publication Number Publication Date
JPWO2022107268A1 JPWO2022107268A1 (ja) 2022-05-27
JP7391242B2 true JP7391242B2 (ja) 2023-12-04

Family

ID=81708632

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022563326A Active JP7391242B2 (ja) 2020-11-19 2020-11-19 制御装置

Country Status (5)

Country Link
US (1) US20230249698A1 (ja)
JP (1) JP7391242B2 (ja)
CN (1) CN116438523A (ja)
DE (1) DE112020007783T5 (ja)
WO (1) WO2022107268A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009163736A (ja) 2007-12-31 2009-07-23 Intel Corp バーチャルマシーンフェイルオーバにおけるセキュリティレベルの実現
JP2018194887A (ja) 2017-05-12 2018-12-06 株式会社デンソー 車両用サービス管理装置及び車両用サービス管理プログラム
WO2020183954A1 (ja) 2019-03-13 2020-09-17 日本電気株式会社 車両制御システム、車両の制御方法及び車両の制御プログラムが格納された非一時的なコンピュータ可読媒体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101640688B (zh) * 2009-08-20 2014-03-12 中兴通讯股份有限公司 基于cdn的节点主备用控制器切换方法及cdn网络
JP6698320B2 (ja) * 2015-11-16 2020-05-27 日立オートモティブシステムズ株式会社 処理装置および車両制御システム
JP6875240B2 (ja) * 2017-09-21 2021-05-19 日立Astemo株式会社 移動体の制御システムおよび移動体の制御方法
JP7048439B2 (ja) * 2018-07-03 2022-04-05 本田技研工業株式会社 制御装置、制御ユニット、制御方法、およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009163736A (ja) 2007-12-31 2009-07-23 Intel Corp バーチャルマシーンフェイルオーバにおけるセキュリティレベルの実現
JP2018194887A (ja) 2017-05-12 2018-12-06 株式会社デンソー 車両用サービス管理装置及び車両用サービス管理プログラム
WO2020183954A1 (ja) 2019-03-13 2020-09-17 日本電気株式会社 車両制御システム、車両の制御方法及び車両の制御プログラムが格納された非一時的なコンピュータ可読媒体

Also Published As

Publication number Publication date
CN116438523A (zh) 2023-07-14
WO2022107268A1 (ja) 2022-05-27
US20230249698A1 (en) 2023-08-10
JPWO2022107268A1 (ja) 2022-05-27
DE112020007783T5 (de) 2024-02-15

Similar Documents

Publication Publication Date Title
CN112204578B (zh) 使用机器学习在数据接口上检测数据异常
US11438350B2 (en) Unauthorized communication detection method, unauthorized communication detection system, and non-transitory computer-readable recording medium storing a program
US12045348B2 (en) Methods and arrangements for multi-layer in-vehicle network intrusion detection and characterization
JP6585019B2 (ja) ネットワーク監視装置、ネットワークシステムおよびプログラム
JP6723955B2 (ja) 情報処理装置及び異常対処方法
CN111066001B (zh) 日志输出方法、日志输出装置以及存储介质
US20190217869A1 (en) Control apparatus, control method, and program
WO2019187350A1 (ja) 不正検知方法、不正検知装置及びプログラム
JP2019008618A (ja) 情報処理装置、情報処理方法及びプログラム
WO2020085330A1 (ja) 電子制御装置、電子制御方法及びプログラム
JP2019220770A (ja) 電子制御装置、監視方法、プログラム及びゲートウェイ装置
JP2019146145A (ja) 通信装置、通信方法及びプログラム
JP7391242B2 (ja) 制御装置
JP6918067B2 (ja) 制御装置および制御方法
JP7318710B2 (ja) セキュリティ装置、インシデント対応処理方法、プログラム、及び記憶媒体
JP5405927B2 (ja) ネットワークノード
US20230052852A1 (en) Method for Authentic Data Transmission Between Control Devices of a Vehicle, Arrangement with Control Devices, Computer Program, and Vehicle
KR20200076218A (ko) 일반 can 메시지의 전송지연을 예측하는 can 네트워크에 대한 메시지플러딩 공격 완화 시스템
WO2022158020A1 (ja) 電子制御装置、車載制御システム、及び冗長機能制御方法
JP7160206B2 (ja) セキュリティ装置、攻撃対応処理方法、コンピュータプログラム、及び記憶媒体
JP7471532B2 (ja) 制御装置
WO2022244200A1 (ja) 制御装置
JP7439668B2 (ja) ログ送信制御装置
WO2023084624A1 (ja) 車載制御装置
Young et al. Towards a fail-operational intrusion detection system for in-vehicle networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221130

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231121

R151 Written notification of patent or utility model registration

Ref document number: 7391242

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

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350