JP7229426B2 - 車載制御システムおよび異常診断方法 - Google Patents
車載制御システムおよび異常診断方法 Download PDFInfo
- Publication number
- JP7229426B2 JP7229426B2 JP2022514286A JP2022514286A JP7229426B2 JP 7229426 B2 JP7229426 B2 JP 7229426B2 JP 2022514286 A JP2022514286 A JP 2022514286A JP 2022514286 A JP2022514286 A JP 2022514286A JP 7229426 B2 JP7229426 B2 JP 7229426B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- abnormality
- ecu
- vehicle
- function
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Details 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/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/0205—Diagnosing or detecting failures; Failure detection models
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Details 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/04—Monitoring the functioning of the control system
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Details 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/04—Monitoring the functioning of the control system
- B60W50/045—Monitoring control system parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Details 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/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/0205—Diagnosing or detecting failures; Failure detection models
- B60W2050/021—Means for detecting failure or malfunction
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Transportation (AREA)
- Human Computer Interaction (AREA)
- Mechanical Engineering (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Stored Programmes (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Debugging And Monitoring (AREA)
Description
本願は、車載制御システムおよび異常診断方法に関するものである。
車両には、ECU(Electronic Control Unit)と呼ばれる複数の車載制御装置が搭載され、他のECU、または車両外の通信機器と有線または無線によって接続されている。そして、単独あるいは連携により、車載機器を制御し、車両の走る、曲がる、止まるといった走行に関わる基本的な機能、車内環境の制御機能、ナビゲーションなどの情報提供機能を実現している。
一方、悪意のある者が、不正な情報をECUへ搭載させるようなセキュリティ攻撃を行うことがあり、このセキュリティ攻撃が、車載機器に異常な挙動を引き起こす可能性がある。それに対し、新規サービスの提供を開始する前に、実施したテスト結果に応じて新規サービスの提供をするか否かを決定することにより、不正な新規サービスがプラグインされるのを防止できる技術が開示されている(例えば、特許文献1参照。)。
しかしながら、開示された技術は、ECUの追加、あるいはECUへの機能変更によって追加されるサービスの認証を対象としている。そのため、サービスを実行するためのプラットフォームを改ざんする攻撃、あるいはサービスを悪用されることによって不正なサービスを実行させるような攻撃など、サービスの認証のみでは防ぐことができない攻撃への対応は想定されていない。もちろん、個々のECUをセキュアブートさせることも考えられるが、セキュアブート用の暗号鍵の保管が必要になるとともに、起動時間が長くなり、かえって車両制御を妨げる可能性がある。
本願は、上記のような課題を解決するための技術を開示するものであり、車両制御に関するセキュリティ攻撃を受けても、健全に車両制御を実行できることを目的とする。
本願に開示される車載制御システムは、車載機器を制御する複数の制御装置が相互に通信可能に接続された車載制御システムであって、前記複数の制御装置それぞれが健全なときの、制御機能を実現するためのプログラムと前記制御機能における動作仕様のいずれかに関連する元情報を保管する元情報保管部、前記元情報のなかから、異なる制御装置を対象とした情報を組み合わせ、関数の引数として用いる情報組を設定する情報組設定部、前記元情報に対応する現在の情報を前記情報組で対象とした制御装置それぞれから現在情報として収集する情報収集部、および前記情報組を引数として前記関数で算出した正解値と、前記情報組に対応する前記現在情報を引数として前記関数で算出した評価値との一致度が基準よりも低い場合に、前記対象とした制御装置のいずれかに異常があることを検知する異常検知部、を備えたことを特徴とする。
本願に開示される異常診断方法は、車載機器を制御する複数の制御装置が相互に通信可能に接続された車載制御システムの異常を診断する方法であって、前記複数の制御装置それぞれが健全なときの、制御機能を実現するためのプログラムと前記制御機能における動作仕様のいずれかに関連する元情報を保管する元情報保管ステップ、前記元情報のなかから、異なる制御装置を対象とした情報を組み合わせ、関数の引数として用いる情報組を設定する情報組設定ステップ、前記元情報に対応する現在の情報を前記情報組で対象とした制御装置それぞれから現在情報として収集する情報収集ステップ、および前記情報組を引数として前記関数で算出した正解値と、前記情報組に対応する前記現在情報を引数として前記関数で算出した評価値との一致度が基準よりも低い場合に、前記対象とした制御装置のいずれかに異常があることを検知する異常検知ステップ、を含むことを特徴とする。
本願に開示される車載制御システム、あるいは異常診断方法によれば、複数のECUが有する情報の組み合わせに基づいて、ECUの健全性を確認するので、車両制御に関するセキュリティ攻撃を受けても、健全に車両制御を実行することができる。
実施の形態1.
図1~図8は、実施の形態1にかかる車載制御システムの構成、および動作について説明するためのものであり、図1は車載制御システムの構成を説明するための、中継装置であるドメインECUと、その下位に位置し、個別の制御機能を発現するECUそれぞれに形成した機能、および並列するドメインECUとの接続関係を説明するためのブロック図である。また、図2は車両に搭載された複数のECUの接続関係を説明するための全体ブロック図、図3は複数のECUのうち、中央ECUに連なる2つのドメインECU、およびその下位のECUとの通信バスによる接続関係を説明するためのブロック図、図4はECUそれぞれが備えるプログラム構成を説明するための模式図である。
図1~図8は、実施の形態1にかかる車載制御システムの構成、および動作について説明するためのものであり、図1は車載制御システムの構成を説明するための、中継装置であるドメインECUと、その下位に位置し、個別の制御機能を発現するECUそれぞれに形成した機能、および並列するドメインECUとの接続関係を説明するためのブロック図である。また、図2は車両に搭載された複数のECUの接続関係を説明するための全体ブロック図、図3は複数のECUのうち、中央ECUに連なる2つのドメインECU、およびその下位のECUとの通信バスによる接続関係を説明するためのブロック図、図4はECUそれぞれが備えるプログラム構成を説明するための模式図である。
そして、図5は車載制御システムの動作、つまり異常診断方法を説明するためのフローチャートである。また、図6はドメインECUと、その下位のECUとの間でのデータの送受信を示す模式図、図7は異常ECUを特定するために設定した複数のデータの組み合わせ(情報組)と、判定結果の例を示す表形式の図である。さらに、図8は車載制御システムを構成する各ECUの演算処理を実行する部分のハードウエア構成例を示すブロック図である。
車両の制御を行う車載制御システムは、背景技術で述べたように、ECUと呼ばれる複数の制御装置それぞれが、他のECU、または車両外の通信機器と有線または無線によって接続されることで構成される。本実施の形態1にかかる車載制御システムは、そのうち、図2に示すように、車両100内に搭載された複数の制御装置(ECU)で構成した車載制御システムを例にして説明する。なお、図2に示す車載制御システムは、実際には、図示していない構成も含まれているが、本実施の形態1の説明、とくに異常診断方法に直接関係しないものについては記載を省略している。
車両100内には、最上位の中央ECU400a、中継装置たるドメインECU200a~200d、ドメインECU200a~200dに接続されるECU300a~304a、300b~302b、300c~302c、300d~302dが搭載されている。各ECUは、中央ECU400aからツリー構造で接続され、例えば、図3に示すように、ECUp-1~ECUp-iは通信バスpで、ECUq-1~ECUq-jは通信バスqで、それぞれドメインECU200aと接続され、相互に通信可能となっている。
さらに、中継装置として機能するドメインECU200a~200dは、例えば、ドメインECU200aとドメインECU200bのように、中央ECU400aを介さず、直接通信が可能な接続が施されている場合がある。なお、図示していないが車両100は、車外にあるサーバー、あるいは車両100とは異なる他の車両とも通信することができる。
ドメインECU200a、あるいはドメインECU200bは、車両の前後左右中央のいずれかの領域にあるECUであり、車両左前方に配置された場合は、車両左前方にあるECUに接続されている。またドメインECU200bも同様に、配置される領域にあるECUと接続される。
つぎに、各ECUに付与された車両制御、およびセキュリティ攻撃に対処するための構成要素の機能と動作について図1を用い、ドメインECU200aとその直下のECU300aを例にして説明する。一方、他のドメインECU200b~200d、およびECU301a~304とECU300b~302bとECU300c~302cとECU300d~302dも、それぞれドメインECU200aとECU300aで説明したのと同様の機能を備えるものとする。そこで、個別のドメインECU200a~200dを区別しない場合、まとめてドメインECU200と記載する。また、下位のECUについても個別に区別しない場合、これらをまとめて以降はECU300と記載する。さらには、ツリー構造における上下関係も区別しない場合、単にECUと表記する。
<ECU300a>
ECU300aには、ECU300ごとに割り当てられた機能の発揮に用いられる最新のプログラムDpを保持する機能保持部320と、制御機能を発揮して車両制御を行う主制御部313を備えている。さらに、プログラムDpによる機能発揮の際の処理時間等を管理する動作管理部312と、プログラムDpの構成に関連するECU300ごとの個別現在情報Dseを取得する情報取得部310と、取得した情報を他ECUに送信する送信部311を備えている。
ECU300aには、ECU300ごとに割り当てられた機能の発揮に用いられる最新のプログラムDpを保持する機能保持部320と、制御機能を発揮して車両制御を行う主制御部313を備えている。さらに、プログラムDpによる機能発揮の際の処理時間等を管理する動作管理部312と、プログラムDpの構成に関連するECU300ごとの個別現在情報Dseを取得する情報取得部310と、取得した情報を他ECUに送信する送信部311を備えている。
主制御部313は、機能保持部320に保持されたプログラムDpに基づき、自ECU300それぞれに割り当てられた車両制御に必要な機能を発現させる。例えば、ECU300aが、車両のヘッドライトの制御を司るECUである場合、主制御部313はヘッドライトのオン/オフ、配光等を操作する。
情報取得部310は、機能保持部320に現時点で保持されている最新のプログラムDp、またはそれらを加工した情報を自ECU300の個別現在情報Dseとして取得する機能を有する。プログラムDpについては、例えば、図4に示すようなプログラムDpの構成すべて、あるいは、スタートアップ、ブート、アプリケーションのいずれか、あるいはそれらを組み合わせたものでもよい。さらに、加工した情報としては、プログラムDpのチェックサム、CRC(Cyclic Redundancy Check)、ハッシュ、暗号化した値、MAC(Message Authentication Code:認証用の符号)、デジタル署名などでもよい。
動作管理部312は、プログラムDpを実行した際の所定時刻tAからtB(>tA)までの処理、その処理開始時刻、処理時間、複数の処理のシーケンス等、自己ECUでの動作に関する情報(動作情報Db)を取得する機能を有する。また、このとき、処理あるいは処理群の時刻、または処理内容に紐づけて、その時点での車両状態をあわせて管理するようにしてもよい。
送信部311は、情報取得部310が取得した自己ECU300の個別現在情報Dse、あるいは動作管理部312が取得した自己ECU300での動作情報DbをドメインECU200a、および他ECU300に送信する機能を有する。
<ドメインECU200a>
中継装置として機能するドメインECU200aには、2つのデータベースと、健全性を評価するための動作時機の制御、演算等を実行するための8つの機能部(正解管理部210~情報組設定部217)が形成されている。
中継装置として機能するドメインECU200aには、2つのデータベースと、健全性を評価するための動作時機の制御、演算等を実行するための8つの機能部(正解管理部210~情報組設定部217)が形成されている。
2つのデータベースのうち、ひとつは、後述する正解管理部210が管理する正解情報Dcを保持する正解情報データベース220である。また、もうひとつは、他のECU300それぞれが健全時に保持していたプログラムDp、あるいはその一部を復元用の元情報Dsoとして保持する元情報データベース221である。なお、図1では、「データベース」を、簡略化のため、「DB」と略号表記している。
構成管理部215は、他の複数のECUそれぞれが車両に搭載される前のソフトウェアまたはその一部、あるいは車両運用中に更新されるソフトウェアまたはその一部をバックアップ用の元情報Dsoとして管理する。さらに、後述する正解情報Dc生成に必要なデータとして、複数のECUの個別現在情報Dse、動作情報Dbそれぞれに対応する健全時の状態を示す情報もあわせて管理し、元情報データベース221への保管と読み出しを行う機能を有している。
情報組設定部217は、後述する正解管理部210、情報収集部211、異常特定部216等が必要とする、健全性の評価に用いる異なるECUを対象とした情報を組み合わせた情報組を設定する。
正解管理部210は、情報組設定部217により設定された異なるECU300それぞれのソフトウェア構成または動作に関する情報組に基づいて、所定の計算式(基本的に後述する評価関数f)から導かれる期待値(正解情報Dc)を管理する機能を有している。正解情報Dcは、構成管理部215が管理する元情報Dsoのうち、ECUそれぞれが車両に搭載される前のソフトウェアまたは設計仕様から算出、あるいは車両運用中に更新されるソフトウェアまたは設計仕様から算出する。さらに、動作情報Dbに対応する健全時の状態を示す情報(例えば、初期値、設計値)を数値化し、それに対する許容範囲を合わせて算出してもよい。なお、これらの算出は、ドメインECU200a内(例えば、正解管理部210自体)で行われてもよいし、車外のサーバー等で行われてから、ドメインECU200aへ送信されるようにしてもよい。ただし、基本的には、後述する評価値Veを算出するための評価関数fと同じ関数を使用する。
情報収集部211は、健全性を評価する際、他のECU(特にECU300)から情報(個別現在情報Dse、動作情報Db)を収集して集約し、評価値算出部212へ送信する機能を有している。
異常検知部213は、健全性の確認のため、後述する評価値算出部212が算出した評価値Veが、正解情報Dcと一致、あるいは所定範囲内に入っているか否かを判断する機能を有している。
評価値算出部212は、情報組設定部217によって設定された組み合わせのなかから情報収集部211が選定した組み合わせで対象としたECUそれぞれから受信した情報を式(1)に示すように、評価関数fにインプットして、評価値Veを算出する機能を有している。なお、個別現在情報Dse、動作情報Db等の情報の種類を区別しない場合、単に「情報A,情報B,・・・」と表記する。また、後述する関数等の種類を区別しない場合も、単に評価関数f、評価値Veと記す。
Ve=f(情報A,情報B,・・・) (1)
Ve=f(情報A,情報B,・・・) (1)
ここで、評価関数fには、1種類の固定した関数ではなく、情報の種類に応じて、種類の異なる評価値Veを算出する複数種の関数を設定できる。例えば、各ECUが有するプログラムの一部を抜き出した値またはプログラムのハッシュ値(個別現在情報Dse)を引数とする関数を評価関数f1とすると、評価関数f1は、正解情報Dcと一致するか否かを判定するための評価値Ve1を算出する。
また、ECU300の処理の時刻、所要時間、複数処理のシーケンス(動作情報Db)を引数とする関数を評価関数f2とすると、評価関数f2は、正解情報Dcに対して設けた許容範囲に入っているか否かを判定するための評価値Ve2を算出する。例えば、道路状況に応じて配光量または角度を自動的に変更するようなヘッドライトの制御を担うECU300(例えば、ECU300a、ECU300b)に対して評価関数f2を適用する場合を例示する。
夜間の道路のカーブを走行したり、対向車両が現れたりした場合、自車両に備わる左右のヘッドライトの配光を自動的に変更するシステムがある。本来であれば、左右のヘッドライトは周囲状況に応じて同じタイミングで配光が変更されなければならないが、プログラムが改ざんされたような場合、ある時刻における配光量または角度が設計値どおりにならず、同期しないことがありうる。
そのような場合を想定して、情報組設定部217が設定する組み合わせパターンには、ECU300aとECU300bそれぞれの、ヘッドライトの制御に関する動作情報Dbの組み合わせ(情報組)が含まれている。すると、ドメインECU200aでは、情報収集部211が、ECU300aとECU300bから、車両左前に搭載されたヘッドライトと車両右前に搭載されたヘッドライトの動作情報Dbを取得する。評価値算出部212は、設定された情報組に従い、例えば、左右のヘッドライトそれぞれの処理ID、配光量、角度等の組み合わせを引数(情報A,情報B,・・・)として選定し、評価関数f2を用いて評価値Ve2を算出する。なお、各ECU300からの動作情報Dbに限らず、車両100の図示しない制御部から測定値、あるいは制御値(目標値)等を取得するようにしてもよい。
ここで、正解管理部210は、正解情報データベース220に保存されている、情報A,情報B,・・・で対象としたECU300aとECU300bの動作情報Dbから導出された正解情報Dcを読み出す。異常検知部213は、評価値算出部212が算出した評価値Ve2が、読み出した正解情報Dcの範囲(例えば、同期における時間差の範囲)内に入っているか否かを判定することで、健全か否かを判断する。さらに、別途カメラあるいはミリ波レーダーなど、周囲状況を把握することが可能な他の機器を制御するECU300からの情報を合わせることでも、より精度よくヘッドライトの処理の正当性を確認できる。
つまり、情報組設定部217が設定した組み合わせのうち、少なくとも動作情報Dbに関する組み合わせについては、同期を必要とするECU、あるいはシーケンス上、車両制御における動作に関連性があるECUどうしの組み合わせが設定されている。一方、プログラムDpの構成自体に関する個別現在情報Dseに関しては、必ずしも動作の関連性を必要としないが、後述する異常特定部216により、異常ECUを効率よく特定できる組み合わせパターンを設定することが望ましい。
時機管理部214は、時刻を管理して、健全性を確認するタイミングを管理する機能を有している。例えば、時機管理部214が所定のタイミングとなったと判断すると、情報収集部211による、上述したECU300からの情報収集を開始させるようにしてもよい。
異常特定部216は、情報組設定部217が設定した複数のECU300からの情報組のなかから、異常を検出した情報組に含まれるECU300を含む異なる複数種の情報組を選択する。そして、選択した情報組に応じて算出される評価値Veと正解情報Dcとの比較結果に基づき、どのECU300が異常かを特定する機能を有する。
このような機能を、車両機器を実際に制御する各ECU300、および中継装置であるドメインECU200に配置して構築した車載制御システムの動作、つまり異常診断方法について図5のフローチャートを参考に説明する。
はじめに、正解管理部210は、正解情報Dcを取得し、正解情報データベース220に保管する(ステップS100)。このとき、上述したように、元情報データベース221に保管されている元情報Dsoを用い、評価関数fに対応する関数で正解情報Dcを演算してもよいし、車両100の外部から入手するようにしてもよい。また、必要な正解情報Dcが限られている場合、予め異常検知部213に出力しておいてもよい。
正解情報Dcが準備できれば、時機管理部214が所定のタイミングになったか否かを判断する。所定のタイミングは、起動時、走行時、停車時、電源オフ時などから選択される。期待するタイミングになった場合(ステップS110で「Yes」)は、健全線を評価するために次のステップS120に進む。そうでない場合(ステップS110で「No」)は、そのタイミングになるまで待機する。
ステップS120では、正解情報Dcのなかから、異なるECUを対象とした情報を組み合わせた情報組を設定する(ステップS120)。そして、ステップS130では、設定された情報組で対象としたECU300それぞれの情報取得部310が、自ECU300の情報(個別現在情報Dse、動作情報Db)を取得する。そして、各ECU300では、送信部311が、ステップS130で取得した情報をドメインECU200aに送信する(ステップS140)。各ECU300から情報を受け取ると、ドメインECU200aでは、情報収集部211が、受信した情報のうち、設定された組み合わせに基づき、評価値算出部212で使う情報のみを集約する(ステップS150)。
評価値算出部212は、情報収集部211から受け取った情報から、情報に応じた評価関数fを選択し、評価値Veを算出し(ステップS160)、異常検知部213に出力する。異常検知部213は、正解情報データベース220から、評価値算出部212から出力された評価値Veに対応する正解情報Dcを読み出し、評価値Veと正解情報Dcを比較する(ステップS170)。
そして、評価値Veの種類に応じ、評価値Veが正解情報Dcと一致しているか否か、または正解情報Dcが示す範囲内に入っているか否かを確認する(ステップS180)。評価値Veが正解情報Dcと一致、または正解情報Dcが示す範囲内に入っていた場合(ステップS180で「Yes」)、各ECU300は正常であると判定し、健全性の確認フローを終了する。ただし、後述する異常ECUを特定する際に追加設定した情報組に対しては、異常ECUの特定が完了するまでは、その情報組で正常であっても、ステップS200へ進むように、例えば、NGのフラグを付けて工程を回すようにする。
一方、評価値Veが正解情報Dcと不一致、または正解情報Dcが示す範囲外である場合(ステップS180で「No」)、情報組で対象としたECU300のなかに異常が発生していると判定する。
異常が発生していると判定したら、異常がどのECU300で発生したのかを特定する(ステップS200)。具体的には、設定された組み合わせパターンに基づき、はじめに異常であると判定した情報組とは異なる情報組のECU300に対して、改めて、ステップS130からはじめて、対象としたECU300の情報取得部310の処理を開始する。そして、評価値算出部212により評価値Veを導出して、正解情報Dcとの一致性を確認する。これを繰り返すことで、どのECU300が異常であったかを特定する。
例えば、図6と図7に示すようにECU300のうち、はじめはECUr-1からの情報AとECUr-2からの情報Bの組み合わせでNGとなった場合、つぎにECUr-1からの情報AとECUr―kからの情報Cの組み合わせで評価し、OKとなったとする。その場合、ECUr-1とECUr-kはともに正常であるから、残りのECUr-2に異常が発生していると特定することができる。つまり、ひとつの情報組にn種のECUが対応している場合、最低、n通りの組み合わせで情報組を設定すれば、異常を特定することができる。
このようにして、特定が完了すると(ステップS210で「Yes」)、特定した異常なECU300(ここでは、ECUr―2)に対して、構成管理部215は、元情報Dsoから対応するプログラムを読み出す。そして、ECU300へ送信し、プログラムを書き換え(ステップS300)、健全性の確認フローを終了する。なお、このとき、書き換えに用いる元情報Dsoは、元情報データベース221に保管されたデータのうち、ECU300が車両に搭載される前のソフトウェアかその一部、車両運用中に更新されるECU300のソフトウェアかその一部である。
上記のように動作させることで、ドメインECU200aに接続されているECU300の健全性を判断することができる。そして、異常があった場合も異常が発生したECU300を特定し、元のプログラムへ書き戻すことによって、健全な状態に復帰させることができる。
また、評価関数fによって算出した評価値Veを、健全な状態に対して算出された正解情報Dcとの一致性によって、健全性を評価するようにしたので、ECU300個々がプログラムまたは処理の正当性を確認するよりも、低コストに健全性を確認することができる。とくに、一般的に個々のECUが自身の正当性を確認するためには、個々のプログラムに対して改ざんされていないことを確認するべく個々のECU300がセキュアブートをすることが考えられる。ただしセキュアブートを行うと、起動時間が長くなったり、セキュアブート用の暗号鍵の保管を行わなければならなかったりする。しかしながら、プログラム(個別現在情報Dse)についても、複数のECUからの情報組を引数として評価することで、セキュリティ鍵が必要でなくなるため、これらに要するコストを削減することができる。
また、一般的なセキュリティ対策では、追加されたECUが、正規のサービスを備えていたとしても、正規のECUであることまたは正規のプログラムを備えていることを保証していなければ、車両へ不正なECUまたはプログラムの搭載が可能となる。その結果、ECUあるいは車両へ悪影響(ECUを不正実行させる、など)を防止することが困難であった。しかし、本願開示の車載制御システムあるいは異常診断方法では、正規のプログラムであるかの保証がなくても、健全性を評価できるため、これらを検知し、車両の正常な制御が可能となる。
なお、ドメインECU200aが起動する前に、正解情報Dcが予め保管されている場合、図5で説明したステップS120からの処理を、ドメインECU200aが起動した時点で開始することとしてもよい。そのようにすることで、車両の起動(ECUの起動)直後は、走行中よりも機能をチェックする時間をとれるため、より多くのECU、より広範囲のプログラムの異常有無をチェックできる。
さらに、ステップS120における情報組の設定処理において、動作周期が長い機能を備えるECU、特定のイベントでのみ起動される発動条件が特殊なECUを優先して選択することとしてもよい。例えば、緊急時のみ動作するエアバッグを制御するECU、車両への出入り時のみ制御する鍵を制御するECU、ETC(Electronic Toll Collection)のためのECUなどである。これらのECUは動作する頻度が少ないためECUの異常に気付きにくいという点があった。また、ECUが機器の故障を検知する機能、およびセキュリティ攻撃を検知したり、対処したりするセキュリティ機能も、異常時のみの動作あるいは監視周期が長いことがあるため、対象とすることが望ましい。このようにすることで、動作頻度の少ないECUが正常か否かを確実に判定することができるため、利便性を損なうことなく、車両を正確に制御することができる。
なお、上述した実施の形態1にかかる車載制御システムを構成する各制御装置(ECU)は、図8に示すようにプロセッサ11と記憶装置12を備えたひとつのハードウエア10によって構成することも考えられる。記憶装置12は、図示していないが、ランダムアクセスメモリ等の揮発性記憶装置と、フラッシュメモリ等の不揮発性の補助記憶装置とを具備する。また、フラッシュメモリの代わりにハードディスクの補助記憶装置を具備してもよい。プロセッサ11は、記憶装置12から入力されたプログラムを実行する。この場合、補助記憶装置から揮発性記憶装置を介してプロセッサ11にプログラムが入力される。また、プロセッサ11は、演算結果等のデータを記憶装置12の揮発性記憶装置に出力してもよいし、揮発性記憶装置を介して補助記憶装置にデータを保存してもよい。
なお、本願は、例示的な実施の形態が記載されているが、実施の形態に記載された様々な特徴、態様、および機能は、例示した実施の形態への適用に限られるのではなく、単独で、または様々な組み合わせで実施の形態としての適用が可能である。従って、例示されていない無数の変形例が、本願明細書に開示される技術の範囲内において想定される。例えば、少なくとも1つの構成要素を変形する場合、追加する場合または省略する場合が含まれるものとする。
例えば、本実施の形態においては、ドメインECU200aに各制御処理を配置させた例を示したが、この限りでなく、同様の機能を実現することができれば、他のドメインECU200bあるいは下位のECUなどと制御処理を分担させても構わない。また、車両100のネットワーク構成についても、図1に例示した構成に限ることはない。ECUの数、ECU間の通信線の結線方法はこの限りでなく、ドメインECU200aにつながる複数の通信線から得た情報を用いてもよく、複数のドメインECU200にまたがってこれらの処理を実行するようにしてもよい。
以上のように、本願の実施の形態にかかる車載制御システムによれば、車載機器を制御する複数の制御装置(ECU)が相互に通信可能に接続された車載制御システムであって、複数の制御装置(ECU)それぞれが健全なときの、制御機能を実現するためのプログラムと制御機能における動作仕様のいずれかに関連する元情報Dsoを保管する元情報保管部(元情報データベース221)、元情報Dsoのなかから、異なる制御装置(ECU)を対象とした情報を組み合わせ、関数(評価関数f)の引数として用いる情報組を設定する情報組設定部217、元情報Dsoに対応する現在の情報を情報組で対象とした制御装置(ECU)それぞれから現在情報(個別現在情報Dse、動作情報Db)として収集する情報収集部211、および情報組を引数として関数(評価関数f)で算出した正解値(正解情報Dc)と、情報組に対応する現在情報(個別現在情報Dse、動作情報Db)を引数として関数(評価関数f)で算出した評価値Veとの一致度が基準よりも低い場合に、対象とした制御装置(ECU)のいずれかに異常があることを検知する異常検知部213、を備えるように構成したので、車両制御に関するセキュリティ攻撃を受けても、セキュアブートを必要とせず、健全に車両制御を実行することができる。
さらに、異常があることが検出された際、設定した情報組で対象とした制御装置(ECU)のいずれかを対象とし、かつ設定した情報組とは異なる情報組を情報組設定部217に追加設定させ、設定を変えた複数の情報組での異常の有無の組み合わせから、異常がある制御装置(ECU)を特定する異常特定部216を備えれば、異常のあるECUを容易に特定できる。
この場合、元情報保管部(元情報データベース221)には、複数の制御装置(ECU)それぞれを機能させるプログラム構成のすべてまたは一部が保管されており、異常があると特定された制御装置(ECU)のプログラム構成のすべてまたは一部を、元情報保管部に保管されている内容に書き換える構成管理部215を備えるように構成すれば、異常を特定したECUを容易に元の正常な状態に戻すことができる。
情報組が、プログラムに分類される情報(プログラムDpまたはその一部)を組み合わせて設定されたとき、異常検知部213は、正解値(正解情報Dc)と、評価値Ve1が一致することを基準とすれば、セキュリティ鍵を使用することなく、容易にプログラムの改変を検知できる。
情報組設定部217は、対象とする制御装置(ECU)として、制御動作が互いに関連する(同期性、実行順序関連、同様の動き等)制御装置(ECU)を選定し、動作仕様に分類される情報(動作情報Db)を組み合わせて情報組を設定したとき、異常検知部213は、評価値Veが正解値(正解情報Dc)に対して設けた許容範囲内に入っていることを基準とすれば、プログラム自体を検査することなく、容易にプログラムの改変、または異常を検知することができる。
とくに、情報組設定部217は、動作周期が長いほど、あるいは動作の発動条件の特殊性が高い(例えば、緊急時に作動するエアバック用のECU)ほど、対象とする制御装置として優先的に選定するようにすれば、見落とされがちなECUを漏らすことなく異常を検知できる。
以上のように、本願の実施の形態にかかる異常診断方法によれば、車載機器を制御する複数の制御装置(ECU)が相互に通信可能に接続された車載制御システムの異常を診断する方法であって、複数の制御装置(ECU)それぞれが健全なときの、制御機能を実現するためのプログラムと制御機能における動作仕様のいずれかに関連する元情報Dsoを保管する元情報保管ステップ(正解情報保管ステップS100)、元情報Dsoのなかから、異なる制御装置(ECU)を対象とした情報を組み合わせ、関数(評価関数f)の引数に用いる情報組を設定する情報組設定ステップ(ステップS120)、元情報Dsoに対応する現在の情報を情報組で対象とした制御装置(ECU)それぞれから現在情報(個別現在情報Dse、動作情報Db)として収集する情報収集ステップ(ステップS130~S150)、および情報組を引数として関数(評価関数f)で算出した正解値(正解情報Dc)と、情報組に対応する現在情報(個別現在情報Dse、動作情報Db)を引数として関数(評価関数f)で算出した評価値Veとの一致度が基準よりも低い場合に、対象とした制御装置(ECU)のいずれかに異常があることを検知する異常検知ステップ(ステップS160~S180)、を含むように構成したので、車両制御に関するセキュリティ攻撃を受けても、セキュアブートを必要とせず、健全に車両制御を実行した状態で異常を診断することができる。
さらに、異常があることが検出された際、設定した情報組で対象とした制御装置(ECU)のいずれかを対象とし、かつ設定した情報組とは異なる情報組を情報組設定ステップ(ステップS120)で追加設定させ、設定を変えた複数の情報組での異常の有無の組み合わせから、異常がある制御装置(ECU)を特定する異常特定ステップ(ステップS200~S210)を含むようにすれば、異常のあるECUを容易に特定できる。
元情報保管ステップ(ステップS100、あるいは、車載時、または新規インストール時))では、複数の制御装置(ECU)それぞれを機能させるプログラム構成のすべてまたは一部が保管されており、異常があると特定された制御装置(ECU)のプログラム構成のすべてまたは一部を元情報保管ステップで保管された内容に書き換える構成管理ステップ(ステップS300)を含むようにすれば、異常を特定したECUを容易に元の正常な状態に戻すことができる。
100:車両、 200:ドメインECU、 210:正解管理部、 211:情報収集部、 212:評価値算出部、 213:異常検知部、 214:時機管理部、 215:構成管理部、 216:異常特定部、 217:情報組設定部、 220:正解情報データベース、 221:元情報データベース(元情報保管部)、 300:ECU、 310:情報取得部、 311:送信部、 312:動作管理部、 313:主制御部、 320:機能保持部、 400a:中央ECU、 Db:動作情報(現在情報)、 Dc:正解情報(正解値)、 Dp:プログラム、 Dse:個別現在情報(現在情報)、Dso:元情報、 f:評価関数(関数)、 Ve:評価値。
Claims (9)
- 車載機器を制御する複数の制御装置が相互に通信可能に接続された車載制御システムであって、
前記複数の制御装置それぞれが健全なときの、制御機能を実現するためのプログラムと前記制御機能における動作仕様のいずれかに関連する元情報を保管する元情報保管部、
前記元情報のなかから、異なる制御装置を対象とした情報を組み合わせ、関数の引数として用いる情報組を設定する情報組設定部、
前記元情報に対応する現在の情報を前記情報組で対象とした制御装置それぞれから現在情報として収集する情報収集部、および
前記情報組を引数として前記関数で算出した正解値と、前記情報組に対応する前記現在情報を引数として前記関数で算出した評価値との一致度が基準よりも低い場合に、前記対象とした制御装置のいずれかに異常があることを検知する異常検知部、
を備えたことを特徴とする車載制御システム。 - 前記異常があることが検出された際、前記設定した情報組で対象とした制御装置のいずれかを対象とし、かつ前記設定した情報組とは異なる情報組を前記情報組設定部に追加設定させ、設定を変えた複数の情報組での異常の有無の組み合わせから、異常がある制御装置を特定する異常特定部を備えたことを特徴とする請求項1に記載の車載制御システム。
- 前記元情報保管部には、前記複数の制御装置それぞれを機能させるプログラム構成のすべてまたは一部が保管されており、
前記異常があると特定された制御装置のプログラム構成のすべてまたは一部を、前記元情報保管部に保管されている内容に書き換える構成管理部を備えたことを特徴とする請求項2に記載の車載制御システム。 - 前記情報組が、前記プログラムに分類される情報を組み合わせて設定されたとき、
前記異常検知部は、前記正解値と、前記評価値が一致することを前記基準とすることを特徴とする請求項1から3のいずれか1項に記載の車載制御システム。 - 前記情報組設定部が、前記対象とする制御装置として、制御動作が互いに関連する制御装置を選定し、前記動作仕様に分類される情報を組み合わせて前記情報組を設定したとき、
前記異常検知部は、前記評価値が、前記正解値に対して設けた許容範囲内に入っていることを前記基準とすることを特徴とする請求項1から4のいずれか1項に記載の車載制御システム。 - 前記情報組設定部は、動作周期が長いほど、あるいは動作の発動条件の特殊性が高いほど、前記対象とする制御装置として優先的に選定することを特徴とする請求項1から5のいずれか1項に記載の車載制御システム。
- 車載機器を制御する複数の制御装置が相互に通信可能に接続された車載制御システムの異常を診断する方法であって、
前記複数の制御装置それぞれが健全なときの、制御機能を実現するためのプログラムと前記制御機能における動作仕様のいずれかに関連する元情報を保管する元情報保管ステップ、
前記元情報のなかから、異なる制御装置を対象とした情報を組み合わせ、関数の引数として用いる情報組を設定する情報組設定ステップ、
前記元情報に対応する現在の情報を前記情報組で対象とした制御装置それぞれから現在情報として収集する情報収集ステップ、および
前記情報組を引数として前記関数で算出した正解値と、前記情報組に対応する前記現在情報を引数として前記関数で算出した評価値との一致度が基準よりも低い場合に、前記対象とした制御装置のいずれかに異常があることを検知する異常検知ステップ、
を含むことを特徴とする異常診断方法。 - 前記異常があることが検出された際、前記設定した情報組で対象とした制御装置のいずれかを対象とし、かつ前記設定した情報組とは異なる情報組を前記情報組設定ステップで追加設定させ、設定を変えた複数の情報組での異常の有無の組み合わせから、異常がある制御装置を特定する異常特定ステップを含むことを特徴とする請求項7に記載の異常診断方法。
- 前記元情報保管ステップでは、前記複数の制御装置それぞれを機能させるプログラム構成のすべてまたは一部が保管されており、
前記異常があると特定された制御装置のプログラム構成のすべてまたは一部を前記元情報保管ステップで保管された内容に書き換える構成管理ステップを含むことを特徴とする請求項8に記載の異常診断方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/016141 WO2021205655A1 (ja) | 2020-04-10 | 2020-04-10 | 車載制御システムおよび異常診断方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2021205655A1 JPWO2021205655A1 (ja) | 2021-10-14 |
JP7229426B2 true JP7229426B2 (ja) | 2023-02-27 |
Family
ID=78023278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022514286A Active JP7229426B2 (ja) | 2020-04-10 | 2020-04-10 | 車載制御システムおよび異常診断方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230069461A1 (ja) |
JP (1) | JP7229426B2 (ja) |
CN (1) | CN115398432A (ja) |
DE (1) | DE112020007051T5 (ja) |
WO (1) | WO2021205655A1 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019523484A (ja) | 2016-06-30 | 2019-08-22 | オクト・テレマティクス・ソシエタ・ペル・アチオニOcto Telematics S.P.A. | 車両においてセンサベースのデータおよび信号の処理のバランスを取るためのシステムおよび方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008084120A (ja) * | 2006-09-28 | 2008-04-10 | Fujitsu Ten Ltd | 電子制御装置 |
JP6435925B2 (ja) | 2015-03-04 | 2018-12-12 | 株式会社デンソー | サービス提供システム、ecu、及び、外部装置 |
-
2020
- 2020-04-10 CN CN202080099304.1A patent/CN115398432A/zh active Pending
- 2020-04-10 US US17/796,331 patent/US20230069461A1/en active Pending
- 2020-04-10 WO PCT/JP2020/016141 patent/WO2021205655A1/ja active Application Filing
- 2020-04-10 JP JP2022514286A patent/JP7229426B2/ja active Active
- 2020-04-10 DE DE112020007051.4T patent/DE112020007051T5/de active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019523484A (ja) | 2016-06-30 | 2019-08-22 | オクト・テレマティクス・ソシエタ・ペル・アチオニOcto Telematics S.P.A. | 車両においてセンサベースのデータおよび信号の処理のバランスを取るためのシステムおよび方法 |
Also Published As
Publication number | Publication date |
---|---|
DE112020007051T5 (de) | 2023-03-09 |
WO2021205655A1 (ja) | 2021-10-14 |
CN115398432A (zh) | 2022-11-25 |
US20230069461A1 (en) | 2023-03-02 |
JPWO2021205655A1 (ja) | 2021-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108762783B (zh) | 车辆系统的软件更新方法、装置及车辆系统 | |
CN104572320B (zh) | 用于确认校正程序的方法以及信息处理设备 | |
CN110300686B (zh) | 数据分析装置及存储介质 | |
JP7250411B2 (ja) | モータ車両運転者支援システムに関する方法 | |
US10685124B2 (en) | Evaluation apparatus, evaluation system, and evaluation method | |
JP6585019B2 (ja) | ネットワーク監視装置、ネットワークシステムおよびプログラム | |
US7899558B2 (en) | Updating and/or expanding the functionality of sequence control of at least one control unit | |
JP5641244B2 (ja) | 車両用ネットワークシステム及び車両用情報処理方法 | |
JP2018133743A (ja) | 監視装置、通信システム、車両、監視方法、およびコンピュータプログラム | |
CN111415161A (zh) | 基于区块链的数据验证方法、装置及计算机可读存储介质 | |
JP2011108167A (ja) | コンピューターシステム | |
CN110989564B (zh) | 一种汽车数据诊断方法及装置 | |
US20210273809A1 (en) | Method for securing vehicle components and corresponding vehicle component | |
CN111934861A (zh) | 一种诊断刷写过程数据合法性验证方法及其系统 | |
JP2019071572A (ja) | 制御装置及び制御方法 | |
JP2021067960A (ja) | 車両監視システム | |
US8209084B2 (en) | Program management system | |
CN101369141A (zh) | 用于可编程数据处理设备的保护单元 | |
JP7229426B2 (ja) | 車載制御システムおよび異常診断方法 | |
US20230336356A1 (en) | Data storage device, data storage method, and non-transitory computer readable storage medium | |
JP6483461B2 (ja) | 管理方法、管理プログラム、管理装置、管理システムおよび情報処理方法 | |
JP7013921B2 (ja) | 検証端末 | |
US11861046B2 (en) | System for an improved safety and security check | |
US11361600B2 (en) | Method for authenticating a diagnostic trouble code generated by a motor vehicle system of a vehicle | |
US20100049373A1 (en) | Method for modular software removal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220203 |
|
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: 20230117 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230214 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7229426 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |