(57)【要約】【課題】セキュリティ異常とセーフティ異常の両方に対して適切に対処可能な車載システムを実現する。【解決手段】車両用制御装置１の記憶部２０に記憶される情報は、セキュリティ異常に関するセキュリティ異常管理情報２１と、セーフティ異常に関するセーフティ異常管理情報２５とを含む。セキュリティ異常管理情報２１は、セキュリティ対処を実行するための制約条件を示すセキュリティ対処時間情報２２を含み、セーフティ異常管理情報２５は、セーフティ対処を実行するための制約条件を示すセーフティ対処時間情報２６を含む。演算部１０は、対処内容決定部１８により、車載システムにおける通信データの異常が検出された場合に、セキュリティ異常管理情報２１およびセーフティ異常管理情報２５に基づいて、検出された通信データの異常への対処内容を決定する。【選択図】図１
2019073102.tif 000002
【特許請求の範囲】
【請求項１】
通信バスを介して互いに接続された複数の情報処理装置を有する車載システムにおいて用いられる車両用制御装置であって、
情報を記憶する記憶部と、
前記記憶部に記憶された前記情報に基づく処理を行う演算部と、を備え、
前記情報は、前記車載システムの外部からのセキュリティ攻撃に起因する通信データの異常であるセキュリティ異常に関する第１の管理情報と、前記車載システム内の異常に起因する通信データの異常であるセーフティ異常に関する第２の管理情報と、を含み、
前記第１の管理情報は、前記セキュリティ異常に対するセキュリティ対処を実行するための第１の制約条件を示す第１の制約条件情報を含み、
前記第２の管理情報は、前記セーフティ異常に対するセーフティ対処を実行するための第２の制約条件を示す第２の制約条件情報を含み、
前記演算部は、前記車載システムにおける通信データの異常が検出された場合に、前記第１の管理情報および前記第２の管理情報に基づいて、検出された前記通信データの異常への対処内容を決定する、車両用制御装置。
【請求項２】
請求項１に記載の車両用制御装置において、
前記第１の制約条件は、前記セキュリティ対処の実行に要する第１の時間を含み、
前記第２の制約条件は、前記セーフティ対処を実行する際に許容される第２の時間と、前記セーフティ対処の実行に要する第３の時間と、を含み、
前記演算部は、前記セキュリティ異常および前記セーフティ異常の両方が検出された場合に、前記第１の時間、前記第２の時間および前記第３の時間に基づいて、前記対処内容を決定する、車両用制御装置。
【請求項３】
請求項２に記載の車両用制御装置において、
前記演算部は、前記第１の時間と前記第３の時間の合計値を求め、前記合計値と前記第２の時間との比較結果に基づいて、前記対処内容を決定する、車両用制御装置。
【請求項４】
請求項３に記載の車両用制御装置において、
前記演算部は、前記合計値が前記第２の時間よりも大きい場合には前記セーフティ対処の実行を優先し、前記合計値が前記第２の時間以下の場合には前記セキュリティ対処の実行を優先するように、前記対処内容を決定する、車両用制御装置。
【請求項５】
請求項１から請求項４までのいずれか一項に記載の車両用制御装置において、
前記第１の制約条件は、前記複数の情報処理装置の各々の重要度を含み、
前記演算部は、前記セキュリティ異常が検出された場合に、前記複数の情報処理装置のうちで前記セキュリティ異常の発生箇所に対応する情報処理装置の重要度に基づいて、車両の走行制御に対する影響度を算出し、算出した前記影響度に基づいて、前記対処内容を決定する、車両用制御装置。
【請求項６】
請求項５に記載の車両用制御装置において、
前記演算部は、前記セキュリティ異常に対する不審度を示すセキュリティ不審度を算出または前記情報処理装置から取得し、算出または取得した前記セキュリティ不審度および前記重要度に基づいて、前記影響度を算出する、車両用制御装置。
【請求項７】
請求項６に記載の車両用制御装置において、
前記演算部は、前記セキュリティ不審度に基づいて前記セキュリティ異常の有無を判断する、車両用制御装置。
【請求項８】
請求項５から請求項７までのいずれか一項に記載の車両用制御装置において、
前記演算部は、前記車両の運転モードまたは走行状態を示す車両状態情報を取得し、取得した前記車両状態情報および前記重要度に基づいて、前記影響度を算出する、車両用制御装置。
【請求項９】
請求項５から請求項８までのいずれか一項に記載の車両用制御装置において、
前記演算部は、前記車両の周囲環境を示す環境情報を取得し、取得した前記環境情報および前記重要度に基づいて、前記影響度を算出する、車両用制御装置。
【請求項１０】
請求項１から請求項９までのいずれか一項に記載の車両用制御装置において、
前記第２の制約条件は、前記セーフティ対処に要求される前記車載システムの性能を示す要求性能を含み、
前記演算部は、前記セーフティ異常が検出された場合に、前記車載システムの処理負荷状況を取得し、取得した前記処理負荷状況と前記要求性能との比較結果に基づいて、前記対処内容を決定する、車両用制御装置。
【請求項１１】
請求項１０に記載の車両用制御装置において、
前記演算部は、前記処理負荷状況が前記要求性能を満たさない場合に、前記車載システムが有するセキュリティ機能の一部を縮退または無効化するように、前記対処内容を決定する、車両用制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両用制御装置に関する。
【背景技術】
【０００２】
近年、自動車に搭載されて各種の電子制御を行う車載システムでは、インターネット、Ｂｌｕｅｔｏｏｔｈ（登録商標）、無線ＬＡＮ等の通信網を介して車外の装置と繋がることにより、ユーザに様々なサービスを提供するようになりつつある。これに伴い、近年の車載システムでは、車外の装置との通信機能を持たない従来の車載装置と比べて、外部からのセキュリティ攻撃に対する備えが重要になってきている。また、近年の車載システムでは、ＯＳＳ（Open Source Software）の採用が進められていることや、セキュリティが担保されていないスマートフォンやアフターサービス用の情報機器が接続される可能性があることから、脆弱性を悪用したセキュリティ攻撃に対する懸念が高まっている。こうした背景により、車載システムにおいてセキュリティ攻撃に起因する異常を検知した場合に、攻撃の影響を抑えることができる技術が求められている。
【０００３】
上記に関して、例えば特許文献１の技術が知られている。特許文献１には、通信バスから通信フレームを受信し、異なるＩＤを有する通信フレームの受信間隔が所定の許容範囲から外れる場合に、受信した通信フレームが不正なフレームか否かを判定し、不正なフレームと判定すると当該通信フレームを破棄する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−５０８４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
車載システムにおいて発生する通信データの異常には、外部からのセキュリティ攻撃（不正なメッセージの注入、データやファームウェアの改ざん等）に起因するもの（以下、「セキュリティ異常」と称する）と、車載システム内で生じた異常（断線、ノイズ、故障等）に起因するもの（以下、「セーフティ異常」と称する）とが存在する。しかしながら、特許文献１の技術ではセキュリティ異常のみを想定しており、セーフティ異常については考慮されていない。本発明は、こうした問題に鑑みてなされたものであり、セキュリティ異常とセーフティ異常の両方に対して適切に対処可能な車載システムを実現することを目的とする。
【課題を解決するための手段】
【０００６】
本発明による車両用制御装置は、通信バスを介して互いに接続された複数の情報処理装置を有する車載システムにおいて用いられるものであって、情報を記憶する記憶部と、前記記憶部に記憶された前記情報に基づく処理を行う演算部と、を備え、前記情報は、前記車載システムの外部からのセキュリティ攻撃に起因する通信データの異常であるセキュリティ異常に関する第１の管理情報と、前記車載システム内の異常に起因する通信データの異常であるセーフティ異常に関する第２の管理情報と、を含み、前記第１の管理情報は、前記セキュリティ異常に対するセキュリティ対処を実行するための第１の制約条件を示す第１の制約条件情報を含み、前記第２の管理情報は、前記セーフティ異常に対するセーフティ対処を実行するための第２の制約条件を示す第２の制約条件情報を含み、前記演算部は、前記車載システムにおける通信データの異常が検出された場合に、前記第１の管理情報および前記第２の管理情報に基づいて、検出された前記通信データの異常への対処内容を決定する。
【発明の効果】
【０００７】
本発明によれば、セキュリティ異常とセーフティ異常の両方に対して適切に対処可能な車載システムを実現できる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係る車両用制御装置の構成を示す図
【図２】本発明の一実施形態に係る車両用制御装置の処理の流れを示すフローチャート
【図３】対処優先度判定の処理の流れを示すフローチャート
【図４】走行制御影響度算出の処理の流れを示すフローチャート
【図５】セキュリティ機能変更判定の処理の流れを示すフローチャート
【図６】ログ情報のデータ構造例を示す図
【図７】不審度算出情報のデータ構造例を示す図
【図８】セーフティ異常検証情報のデータ構造例を示す図
【図９】セキュリティ対処時間情報およびセーフティ対処時間情報のデータ構造例を示す図
【図１０】要求性能情報のデータ構造例を示す図
【図１１】判定表の例を示す図
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
【００１０】
以下では、複数の情報処理装置が通信バスを介して互いに接続された車載システムにおいて用いられる車両用制御装置の一実施形態について説明する。この車両用制御装置は、車載システム内で通信データの異常が発生した場合に、車載システム内の各情報処理装置から状態を判断するための情報を収集し、セキュリティ異常とセーフティ異常のそれぞれについて発生の有無を特定する。そして、当該異常に対して実施する対処内容を決定し、各情報処理装置に通知する。
【００１１】
なお、本実施形態の車両用制御装置が用いられる車載システムにおいて、各装置間の通信や車外との通信は、周知の暗号技術などを用いた安全な通信路を利用することが好ましい。その際、各装置で利用する暗号用の鍵やシードは、任意の方法で安全に配布、管理、更新することができる。また、車両のエンジン起動時や停止時、製品開発時、メンテナンス時などの任意のタイミングで、これらの配布や更新が行なわれてもよい。
【００１２】
図１は、本発明の一実施形態に係る車両用制御装置の構成を示す図である。図１に示す車両用制御装置１は、通信バス２を介して、ＥＣＵ（Electronic Control Unit）３、４に接続されている。ＥＣＵ３、４は、車両に搭載されて各種の制御や演算を行う情報処理装置である。なお、図１では２つのＥＣＵ３、４のみを図示しているが、実際には多数のＥＣＵが通信バス２を介して互いに接続されている。
【００１３】
通信バス２は、車両内に設けられた通信路であり、例えばＣＡＮ（Controller Area Network）、ＬＩＮ（Local Interconnect Network）、ＦｌｅｘＲａｙ（登録商標）、イーサネット（登録商標）などを用いることができる。なお、通信バス２を物理的に複数の通信バスで構成してもよい。その場合、通信バスの規格はすべて同一でもよいし、異なっていてもよい。車両用制御装置１とＥＣＵ３、４が通信バス２を介して互いに接続されて車両に搭載されることにより、本発明に係る車載システムが構成される。
【００１４】
車両用制御装置１は、演算部１０および記憶部２０を備える。演算部１０は、不図示のＣＰＵ、ＲＯＭ、ＲＡＭ等により構成されており、ＲＯＭに格納されたプログラムをＣＰＵがＲＡＭに展開して実行することにより、以下の機能を実現する。すなわち演算部１０はその機能として、通信部１１、ログ情報取得部１２、セキュリティ不審度検証部１３、セーフティ異常検証部１４、対処優先度判定部１５、走行制御影響度算出部１６、セキュリティ機能変更判定部１７、および対処内容決定部１８を備える。
【００１５】
通信部１１は、通信バス２との通信インタフェースであり、通信バス２を介した通信に必要な演算等を行う。通信部１１は、ＥＣＵ３、４から送信された通信メッセージを通信バス２を介して受信すると共に、ＥＣＵ３、４への通信メッセージを通信バス２を介して送信する。なお、前述のように通信バス２が物理的に複数の通信バスから構成されている場合、通信部１１は通信バス２と同数の接続ポートを有する。また、通信部１１を演算部１０とは別の構成としてもよい。
【００１６】
ログ情報取得部１２は、ＥＣＵ３、４から送信されて通信部１１で受信された通信メッセージに基づいて、車載システムにおける通信データの異常発生を示すログ情報を取得し、記憶部２０に記憶する。
【００１７】
セキュリティ不審度検証部１３は、ログ情報取得部１２により取得されたログ情報に基づいて、セキュリティ異常に対する不審度を示すセキュリティ不審度を取得する。そして、取得したセキュリティ不審度の検証を行うことで、外部から車載システムに対するセキュリティ攻撃の有無を判断する。
【００１８】
セーフティ異常検証部１４は、ログ情報取得部１２により取得されたログ情報に基づいて、セーフティ異常の有無を検証する。
【００１９】
対処優先度判定部１５は、セキュリティ異常とセーフティ異常の両方が検出された場合に、セキュリティ異常への対処であるセキュリティ対処と、セーフティ異常への対処であるセーフティ対処のどちらを優先して実行するかを判断する。なお、セキュリティ対処には、例えばログ記録、ログ通知、メッセージ破棄、セキュリティ機能強化、波及防止などが含まれる。一方、セーフティ対処には、例えば制御機能の縮退、自動運転レベルの変更、メッセージ破棄などが含まれる。
【００２０】
走行制御影響度算出部１６は、セキュリティ異常が検出された場合に、そのセキュリティ異常に応じた走行制御影響度を算出する。走行制御影響度は、当該セキュリティ異常が車両の走行制御に及ぼす影響の深刻度を表すものであり、対処内容決定部１８がセキュリティ対処の内容を決定する際に利用される。
【００２１】
セキュリティ機能変更判定部１７は、セーフティ異常が検出された場合に、そのセーフティ異常に対するセーフティ対処を実行するにあたって車載システムが有するセキュリティ機能の変更が必要か否かを判定する。なお、車載システムは、通信データに対するセキュリティ機能として、例えば、改ざん検知用の認証コードであるＭＡＣ（Message Authentication Code）を用いて通信メッセージの安全性を確保するメッセージ認証機能、通信メッセージを暗号化する暗号処理機能、通信メッセージに対するフィルタリング機能などを有する。セキュリティ機能変更判定部１７は、車載システムの処理負荷状況に応じて、これらのセキュリティ機能の一部を縮退または無効化する必要の有無を判断する。
【００２２】
対処内容決定部１８は、対処優先度判定部１５の判定結果、走行制御影響度算出部１６により算出された走行制御影響度、セキュリティ機能変更判定部１７の判定結果のいずれか少なくとも一つに基づいて、車載システムにおいて発生した通信データの異常への対処内容を決定する。対処内容決定部１８により決定された対処内容は、必要に応じて、通信部１１を介してＥＣＵ３、４に通知される。
【００２３】
記憶部２０は、不揮発性の記憶装置である。記憶部２０には、セキュリティ異常に関する管理情報であるセキュリティ異常管理情報２１と、セーフティ異常に関する管理情報であるセーフティ異常管理情報２５と、ログ情報２９とが記憶される。なお、これら以外の情報、例えば演算部１０のＣＰＵが実行するプログラムの一部または全部を記憶部２０に記憶させてもよい。
【００２４】
セキュリティ異常管理情報２１は、セキュリティ対処に関する時間情報を示すセキュリティ対処時間情報２２と、ＥＣＵ３、４の各々の重要度を示す重要度情報２３と、セキュリティ不審度検証部１３がセキュリティ不審度を算出するためのルールが定義された不審度算出情報２４とを含む。なお、これらの情報の詳細については後述する。
【００２５】
セーフティ異常管理情報２５は、セーフティ対処に関する時間情報を示すセーフティ対処時間情報２６と、セーフティ対処に要求される車載システムの性能が定義された要求性能情報２７と、セーフティ異常検証部１４がセーフティ異常の検証を行う際に用いられるセーフティ異常検証情報２８とを含む。なお、これらの情報の詳細については後述する。
【００２６】
ログ情報２９は、ログ情報取得部１２により記憶されたログ情報である。すなわちログ情報取得部１２は、車載システムにおける通信データの異常発生を示すログ情報を、記憶部２０にログ情報２９として記憶させる。
【００２７】
次に、車両用制御装置１が通信データの異常への対処内容を決定する際の処理について説明する。図２は、本発明の一実施形態に係る車両用制御装置１の処理の流れを示すフローチャートである。なお、以下で説明する各ステップの実行主体は、演算部１０のＣＰＵである。
【００２８】
ステップ２０１では、ログ情報取得部１２は、通信部１１を用いて、ＥＣＵ３、４から送信された通信メッセージのうち、車載システムにおける通信データの異常発生を示す通信メッセージを取得し、ログ情報２９として記憶部２０に格納する。ステップ２０２以降の処理は、このログ情報２９を用いて行われる。なお、ログ情報取得部１２がログ情報２９を取得する毎にステップ２０２以降の処理を実行してもよいし、ログ情報取得部１２が所定期間内に収集した複数のログ情報２９をまとめてステップ２０２以降の処理対象としてもよい。また、ログ情報取得部１２は通信バス２を介して送受信される通信メッセージ以外の情報、例えばインターネットを介してセンタサーバから送信された情報に基づき、ログ情報２９を取得してもよい。
【００２９】
図６は、ログ情報取得部１２が取得するログ情報２９のデータ構造例を示す図である。図６（ａ）は、通信データの異常監視機能を有するＥＣＵが異常発生時にその影響度合いを判定できる場合に、当該ＥＣＵから送信された通信メッセージに基づき取得されるログ情報２９の例を示している。このログ情報２９は、異常発生箇所を示す異常状態用ＣＡＮ  ＩＤ６０１と、異常状態の種別を示す異常状態ＩＤ６０２と、異常の影響度合いを示す異常度６０３とを含む。
【００３０】
異常状態用ＣＡＮ  ＩＤ６０１には、例えば通信メッセージの送信元であるＥＣＵに対して予め割り当てられた固有のＩＤ番号が設定される。なお、通信データに異常が発生したことを通信メッセージから容易に判別できるようにするため、通常の通信メッセージに含まれるＣＡＮ  ＩＤとは異なるＩＤ番号を異常状態用ＣＡＮ  ＩＤ６０１に割り当ててもよい。
【００３１】
異常状態ＩＤ６０２には、例えば異常状態の内容（種類）に応じて予め割り当てられたＩＤ番号が設定される。なお、検出された通信データ異常がセキュリティ異常とセーフティ異常のどちらに対応するかを容易に判別できるようにするため、当該異常がセキュリティ異常に対応する場合に異常状態ＩＤ６０２に設定されるＩＤ番号と、当該異常がセーフティ異常に対応する場合に異常状態ＩＤ６０２に設定されるＩＤ番号とは、区別して管理することが好ましい。本実施形態では、セキュリティ異常に対応するログ情報２９において異常状態ＩＤ６０２に設定されるＩＤ番号には「０ｘ０１」〜「０ｘ９Ｆ」を割り当て、セーフティ異常に対応するログ情報２９において異常状態ＩＤ６０２に設定されるＩＤ番号には「０ｘＡ１」〜「０ｘＦＦ」を割り当てるものとして説明する。
【００３２】
異常度６０３には、検出された通信データ異常が車両の運用に対して及ぼす影響度合いに応じた数値が設定される。例えば、当該異常の影響度合いが高いほど、すなわち当該異常によって車両を正常に運用させるのが困難となり、車両の乗員や周囲に対して危険を及ぼす可能性が高くなるものほど、高い数値が異常度６０３に設定される。
【００３３】
図６（ｂ）は、通信データの異常監視機能のみを有するＥＣＵから送信された通信メッセージに基づき取得されるログ情報２９の例を示している。このログ情報２９は、図６（ａ）のものとそれぞれ同様の異常状態用ＣＡＮ  ＩＤ６０１および異常状態ＩＤ６０２と、異常の内容を示す監視タイプ６０４と、監視タイプごとの監視結果６０５とを含む。
【００３４】
監視タイプ６０４には、検出された通信データ異常の具体的な内容を示す情報が格納される。この情報が示す通信データ異常の内容は、例えば不正な周期の通信メッセージ検知、認証の失敗、通信量の増大、ＣＰＵやメモリのリソース消費状況等を含む。なお、通信データ異常の内容ごとに予め割り当てられたＩＤ番号等を監視タイプ６０４に設定してもよい。
【００３５】
監視結果６０５には、監視タイプ６０４が示す通信データ異常の内容に応じた情報が格納される。例えば、当該異常の発生回数や、当該異常によるリソース消費量が所定の閾値を超過した回数等が監視結果６０５に格納される。また、異常状態を示す通信データそのものを監視結果６０５に設定してもよい。
【００３６】
なお、図６に示したログ情報２９は一例であり、これ以外の情報をログ情報２９に含めることも可能である。例えば、通信メッセージに含まれるＭＡＣ、通信用カウンタ、時刻情報等の付加情報をログ情報２９に含めてもよい。
【００３７】
図２の説明に戻ると、ステップ２０２では、セキュリティ不審度検証部１３は、セキュリティ異常に対する不審度を示すセキュリティ不審度の検証を行う。このときセキュリティ不審度検証部１３は、ステップ２０１でログ情報取得部１２が取得したログ情報２９に基づいて、セキュリティ不審度を算出または取得する。例えば、図６（ａ）に例示したログ情報２９のように、異常の影響度合いを示す異常度６０３が含まれているログ情報２９が取得された場合、セキュリティ不審度検証部１３は、この異常度６０３の値をセキュリティ不審度として取得する。すなわち、この場合にはセキュリティ不審度検証部１３は、当該ログ情報２９の元となった通信メッセージを送信したＥＣＵから、セキュリティ不審度を取得することができる。一方、図６（ｂ）に例示したログ情報２９のように、異常度６０３がログ情報２９に含まれていない場合、セキュリティ不審度検証部１３は、記憶部２０に記憶されているセキュリティ異常管理情報２１に含まれる不審度算出情報２４を用いて、ログ情報２９からセキュリティ不審度を算出する。
【００３８】
図７は、セキュリティ不審度検証部１３がセキュリティ不審度の算出に用いる不審度算出情報２４のデータ構造例を示す図である。図７に示す不審度算出情報２４は、レコードごとに割り当てられた検証ＩＤ７０１と、セキュリティ不審度を算出するための検証条件を示す検証内容７０２と、レコードごとのセキュリティ不審度の増減を示すセキュリティ不審度Ｕｐ／Ｄｏｗｎ７０３と、レコードごとのセキュリティ不審度の増減値の程度を示す重み付け値７０４とを含む。
【００３９】
例えば、検証ＩＤ７０１の値が「１」のレコードにおいて、検証内容７０２には、車外と直接繋がる情報処理装置のようなエントリポイントにおいて異常を検知したかどうかを検証することが定義されている。そのため、エントリポイントに相当するＥＣＵで異常を検知したことを含むログ情報２９をログ情報取得部１２が取得した場合、セキュリティ不審度検証部１３は、当該レコードのセキュリティ不審度Ｕｐ／Ｄｏｗｎ７０３の値に応じて、セキュリティ不審度の値を増加させる。このとき、重み付け値７０４の値に応じて、セキュリティ不審度の値をどの程度増加させるかを決定する。例えば、当該レコードの重み付け値７０４の値は「低」であるため、セキュリティ不審度の値に１を加算する。同様に、例えば重み付け値７０４の値が「中」の場合は３を加算し、「高」の場合は５を加算する。また、検証内容７０２は、各ＥＣＵが、車外と直接繋がる情報処理装置のような「エントリポイント」、エントリポイントから攻撃対象装置までの経路で介在する「中継装置」、中継装置を介して攻撃対象装置に対して攻撃を実行可能な「最終攻撃元装置」、および「攻撃対象装置」のような攻撃の流れにおける何れか一つ、或いは複数の段階に割り当てられ、各段階における検証内容、および各段階を遷移する攻撃の流れに応じた検証内容が含まれてよく、検知箇所（異常の発生箇所）および検知内容に応じて検証内容を選択してよい。
【００４０】
なお、図７に示した不審度算出情報２４は一例であり、これ以外の情報を含んでもよい。
また、セキュリティ不審度の算出方法は上述の方法に限定されない。例えば、加算や減算以外に積算や商算等を用いてもよい。あるいは、例えば「＋１」、「＋３」、「−１」等の増減値を定義することで、セキュリティ不審度Ｕｐ／Ｄｏｗｎ７０３と重み付け値７０４を併合してもよい。
【００４１】
セキュリティ不審度検証部１３が算出したセキュリティ不審度の値は、例えば演算部１０のＲＡＭにおいて所定期間保持される。あるいは、算出したセキュリティ不審度を記憶部２０に格納してもよい。この場合、例えばセキュリティ不審度の算出に用いられたログ情報２９と紐づけたり、当該ログ情報２９にセキュリティ不審度を付加したりすることで、セキュリティ不審度とログ情報２９とを対応付けて記憶部２０に格納することも可能である。
【００４２】
図２の説明に戻ると、ステップ２０３では、セキュリティ不審度検証部１３は、ステップ２０２で算出したセキュリティ不審度の値に基づいて、セキュリティ異常の有無を判断する。このときセキュリティ不審度検証部１３は、セキュリティ不審度の値が予め設定した閾値を超過するかどうかを検証する。その結果、セキュリティ不審度の値が閾値を超過する場合は、セキュリティ異常ありと判断してステップ２０４に進み、閾値を超過しない場合は、セキュリティ異常なしと判断してステップ２０９に進む。
【００４３】
ステップ２０４では、セーフティ異常検証部１４は、ステップ２０１でログ情報取得部１２が取得したログ情報２９に基づいて、セーフティ異常の有無を検証する。このときセーフティ異常検証部１４は、記憶部２０に記憶されているセーフティ異常管理情報２５に含まれるセーフティ異常検証情報２８を用いて、ログ情報２９からセーフティ異常の有無を判断する。その結果、セーフティ異常があると判断した場合はステップ２０５に進み、セーフティ異常がないと判断した場合はステップ２０７に進む。
【００４４】
図８は、セーフティ異常検証部１４がセーフティ異常の検証に用いるセーフティ異常検証情報２８のデータ構造例を示す図である。図８に示すセーフティ異常検証情報２８は、レコードごとに割り当てられたセーフティ異常ＩＤ１０１と、セーフティ異常の内容を示す異常内容１０２とを含む。なお、セーフティ異常ＩＤ１０１に設定される値は、図６のログ情報２９において異常状態ＩＤ６０２に設定されるＩＤ番号のうち、セーフティ異常に対する「０ｘＡ１」〜「０ｘＦＦ」に対応している。
【００４５】
異常内容１０２には、具体的なセーフティ異常の内容を示す情報が格納される。この情報が示すセーフティ異常の内容は、例えば装置の故障アラート、装置のバスオフ状態、電源消失、断線、自動運転レベルの変更、通信データのノイズ、センサ異常等を含む。
【００４６】
セーフティ異常検証部１４は、ログ情報２９における異常状態ＩＤ６０２の値と、セーフティ異常検証情報２８の各レコードにおけるセーフティ異常ＩＤ１０１の値とを比較し、これらの値が一致するレコードがセーフティ異常検証情報２８に存在するか否かを検証する。その結果、異常状態ＩＤ６０２と同一の値がセーフティ異常ＩＤ１０１に設定されているレコードが存在する場合はセーフティ異常があると判断し、存在しない場合はセーフティ異常がないと判断する。
【００４７】
図２の説明に戻ると、ステップ２０５では、対処優先度判定部１５は、検知したセーフティ異常に対するセーフティ対処と、検知したセキュリティ異常に対するセキュリティ対処とのどちらを優先して実行するかを判定する対処優先度の判定を行う。このとき対処優先度判定部１５は、後述の図３のフローチャートに従って、対処優先度判定の処理を実行する。
【００４８】
ステップ２０６では、対処優先度判定部１５は、ステップ２０５の判定結果を示す対処優先度を取得し、ステップ２１３に進む。
【００４９】
ステップ２０７では、走行制御影響度算出部１６は、検知したセキュリティ異常が車両の走行制御に対して与える影響度を示す走行制御影響度の算出を行う。このとき走行制御影響度算出部１６は、後述の図４のフローチャートに従って、走行制御影響度算出の処理を実行する。
【００５０】
ステップ２０８では、走行制御影響度算出部１６は、ステップ２０７で算出した走行制御影響度を取得し、ステップ２１３に進む。
【００５１】
ステップ２０９では、セーフティ異常検証部１４は、上記ステップ２０４と同様に、ステップ２０１でログ情報取得部１２が取得したログ情報２９に基づき、セーフティ異常検証情報２８を用いて、セーフティ異常の有無を検証する。その結果、セーフティ異常があると判断した場合はステップ２１０に進み、セーフティ異常がないと判断した場合はステップ２１２に進む。
【００５２】
ステップ２１０では、セキュリティ機能変更判定部１７は、検知したセーフティ異常に対するセーフティ対処の実行にあたって変更すべきセキュリティ機能の有無を判定する。このときセキュリティ機能変更判定部１７は、後述の図５のフローチャートに従って、セキュリティ機能変更判定の処理を実行する。
【００５３】
ステップ２１１では、セキュリティ機能変更判定部１７は、ステップ２１０の判定結果を示すセキュリティ機能の変更内容を取得し、ステップ２１３に進む。
【００５４】
ステップ２１２では、対処内容決定部１８は、通信データの異常が発生していない平常状態と判断し、ステップ２１３に進む。
【００５５】
ステップ２１３では、対処内容決定部１８は、上記ステップ２０６、ステップ２０８、ステップ２１１、ステップ２１２いずれかの処理結果に基づいて、実行する対処内容を決定する。このとき対処内容決定部１８は、例えば後述の図１１に示す判定表を用いて、対処内容を決定する。
【００５６】
ステップ２１３で対処内容を決定したら、対処内容決定部１８は、通信部１１を用いて、決定した対処内容を必要に応じてＥＣＵ３、４に通知する。なお、特に対処が不要なＥＣＵについては、対処内容を通知しなくてもよい。ステップ２１３を実施したら、対処内容決定部１８は図２のフローチャートに示す処理を終了する。以上のステップにより、車両用制御装置１は、車載システムにおけるセキュリティ異常とセーフティ異常の両方を監視し、異常が発生した場合には、これらの異常の発生状況と特徴情報に基づいて、実施すべき一次対処の内容を判断できる。
【００５７】
次に、図２のステップ２０５で対処優先度判定部１５が実行する対処優先度判定について、図３のフローチャートを参照して説明する。図３は、対処優先度判定の処理の流れを示すフローチャートである。なお、以下で説明する各ステップの実行主体は、演算部１０のＣＰＵである。
【００５８】
ステップ３０１では、対処優先度判定部１５は、検知したセキュリティ異常とセーフティ異常のＩＤをそれぞれ取得する。このとき対処優先度判定部１５は、図２のステップ２０１でログ情報取得部１２が取得したログ情報２９より、当該セキュリティ異常とセーフティ異常にそれぞれ対応する異常状態ＩＤ６０１の値を取得する。
【００５９】
ステップ３０２では、対処優先度判定部１５は、検知したセーフティ異常に対するセーフティ対処の許容時間を取得する。このとき対処優先度判定部１５は、記憶部２０に記憶されているセーフティ異常管理情報２５に含まれるセーフティ対処時間情報２６から、ステップ３０１で取得したセーフティ異常のＩＤに対応するセーフティ対処の許容時間を取得する。
【００６０】
ステップ３０３では、対処優先度判定部１５は、検知したセキュリティ異常とセーフティ異常のそれぞれに対する対処予測時間の合計値を算出する。このとき対処優先度判定部１５は、記憶部２０に記憶されているセキュリティ異常管理情報２１とセーフティ異常管理情報２５にそれぞれ含まれるセキュリティ対処時間情報２２とセーフティ対処時間情報２６から、ステップ３０１で取得したセキュリティ異常とセーフティ異常のＩＤに対応するセキュリティ対処とセーフティ対処の予測時間をそれぞれ取得する。そして、取得したこれらの予測時間を合計することで、対処予測時間の合計値を算出する。
【００６１】
図９は、対処優先度判定部１５がセーフティ対処の許容時間や対処予測時間の取得に用いるセキュリティ対処時間情報２２およびセーフティ対処時間情報２６のデータ構造例を示す図である。図９（ａ）に示すセキュリティ対処時間情報２２は、レコードごとに割り当てられたセキュリティ異常ＩＤ８０１と、セキュリティ対処における許容時間を示す対処許容時間８０２と、セキュリティ対処の内容を示すセキュリティ対処８０３と、セキュリティ対処の実行に要する予測時間を示す対処予測時間８０４とを含む。なお、セキュリティ異常ＩＤ８０１に設定される値は、図６のログ情報２９において異常状態ＩＤ６０２に設定されるＩＤ番号のうち、セキュリティ異常に対する「０ｘ０１」〜「０ｘ９Ｆ」に対応している。
【００６２】
セキュリティ対処８０３には、当該レコードのセキュリティ異常ＩＤ８０１の値に対応するセキュリティ異常に対して実行すべきセキュリティ対処の内容を示す情報が格納される。なお、セキュリティ対処の内容を示す情報を別ファイルとして記憶部２０に格納しておき、セキュリティ対処８０３には対応するファイルを特定するための情報を設定するようにしてもよい。
【００６３】
対処許容時間８０２および対処予測時間８０４は、当該レコードのセキュリティ異常に対するセキュリティ対処を実行するための制約条件をそれぞれ示している。対処許容時間８０２には、例えば、車載システムで要求されるセキュリティ仕様に基づいて設計段階で事前に設定された当該セキュリティ対処の実施に対する許容時間の値が格納される。また、車両の走行制御に対する影響等を考慮して対処許容時間８０２の値を設定してもよい。なお、図３のフローチャートではセキュリティ対処の許容時間を用いた処理が実行されないため、セキュリティ対処時間情報２２において対処許容時間８０２を設定しなくてもよい。対処予測時間８０４には、例えば、設計段階で事前に計測または計算された当該セキュリティ対処の実施に対する予測時間の値が格納される。
【００６４】
図９（ｂ）に示すセーフティ対処時間情報２６は、レコードごとに割り当てられたセーフティ異常ＩＤ８０５と、セーフティ対処における許容時間を示す対処許容時間８０６と、セーフティ対処の内容を示すセーフティ対処８０７と、セーフティ対処の実行に要する予測時間を示す対処予測時間８０８とを含む。なお、セーフティ異常ＩＤ８０５に設定される値は、図６のログ情報２９において異常状態ＩＤ６０２に設定されるＩＤ番号のうち、セーフティ異常に対する「０ｘＡ１」〜「０ｘＦＦ」に対応している。
【００６５】
セーフティ対処８０７には、当該レコードのセーフティ異常ＩＤ８０５の値に対応するセーフティ異常に対して実行すべきセーフティ対処の内容を示す情報が格納される。なお、セキュリティ対処時間情報２２におけるセキュリティ対処８０３と同様に、セーフティ対処の内容を示す情報を別ファイルとして記憶部２０に格納しておき、セーフティ対処８０７には対応するファイルを特定するための情報を設定するようにしてもよい。
【００６６】
対処許容時間８０６および対処予測時間８０８は、当該レコードのセーフティ異常に対するセーフティ対処を実行するための制約条件をそれぞれ示している。対処許容時間８０６には、例えば、車載システムで要求されるセーフティ仕様に基づいて設計段階で事前に設定された当該セーフティ対処の実施に対する許容時間の値が格納される。また、車両の走行制御に対する影響等を考慮して対処許容時間８０２の値を設定してもよい。対処予測時間８０８には、例えば、設計段階で事前に計測または計算された当該セーフティ対処の実施に対する予測時間の値が格納される。
【００６７】
対処優先度判定部１５は、図３のステップ３０２において、ステップ３０１で取得したセーフティ異常のＩＤの値と、図９（ｂ）のセーフティ対処時間情報２６の各レコードにおけるセーフティ異常ＩＤ８０５の値とを比較し、これらの値が一致するレコードをセーフティ対処時間情報２６において特定する。そして、特定したレコードにおける対処許容時間８０６の値を取得することで、検知したセーフティ異常に対するセーフティ対処の許容時間を取得する。このときさらに、取得したセーフティ対処の許容時間を車両状態や周辺環境状態に応じて調節することで、車両の走行制御に影響を与えずに利用可能なセーフティ対処の許容時間を算出してもよい。この場合、車両状態としては、例えば車両の運転モードや走行状態（走行中／停車中）等が用いられる。また、周辺環境状態としては、例えば天気、道路状態、走行場所（高速／市街地）等が用いられる。具体的には、例えば車両が走行中かつ天気が雨の場合は、迅速な制御が求められるため、セーフティ対処時間情報２６から取得した値よりもセーフティ対処の許容時間を短く調節する。また、例えば車両が停車中の場合は、即時の制御を必要としないため、セーフティ対処時間情報２６から取得した値よりもセーフティ対処の許容時間を長く調節する。これ以外にも、任意の方法でセーフティ対処の許容時間を求めることが可能である。
【００６８】
対処優先度判定部１５は、図３のステップ３０３において、ステップ３０１で取得したセキュリティ異常のＩＤの値と、図９（ａ）のセキュリティ対処時間情報２２の各レコードにおけるセキュリティ異常ＩＤ８０１の値とを比較し、これらの値が一致するレコードをセキュリティ対処時間情報２２において特定する。そして、特定したレコードにおける対処予測時間８０４の値を取得することで、検知したセキュリティ異常に対するセキュリティ対処の予測時間を取得する。また、ステップ３０１で取得したセーフティ異常のＩＤの値と、図９（ｂ）のセーフティ対処時間情報２６の各レコードにおけるセーフティ異常ＩＤ８０５の値とを比較し、これらの値が一致するレコードをセーフティ対処時間情報２６において特定する。そして、特定したレコードにおける対処予測時間８０８の値を取得することで、検知したセーフティ異常に対するセーフティ対処の予測時間を取得する。その後、取得したセキュリティ対処の予測時間とセーフティ対処の予測時間とを合計して、対処予測時間の合計値を求める。
【００６９】
図３の説明に戻ると、ステップ３０４では、対処優先度判定部１５は、ステップ３０２で取得したセーフティ対処の許容時間と、ステップ３０３で算出した対処予測時間の合計値とを比較する。その結果、対処予測時間の合計値がセーフティ対処の許容時間よりも大きい場合はステップ３０５に進み、そうでない場合、すなわち対処予測時間の合計値がセーフティ対処の許容時間以下である場合はステップ３０６に進む。
【００７０】
ステップ３０５では、対処優先度判定部１５は、セーフティ対処の実行をセキュリティ対処よりも優先すると判定する。このとき対処優先度判定部１５は、例えば、ステップ３０３で特定したセキュリティ対処時間情報２２およびセーフティ対処時間情報２６の各レコードにおけるセキュリティ対処８０３、セーフティ対処８０７を参照することで、それぞれの対処内容を特定する。そして、特定したセーフティ対処の優先度をセキュリティ対処の優先度よりも高く設定し、これらの優先度を保持する。
【００７１】
ステップ３０６では、対処優先度判定部１５は、セキュリティ対処の実行をセーフティ対処よりも優先すると判定する。このとき対処優先度判定部１５は、例えば、ステップ３０５と同様に、ステップ３０３で特定したセキュリティ対処時間情報２２およびセーフティ対処時間情報２６の各レコードにおけるセキュリティ対処８０３、セーフティ対処８０７を参照することで、それぞれの対処内容を特定する。そして、特定したセキュリティ対処の優先度をセーフティ対処の優先度よりも高く設定し、これらの優先度を保持する。
【００７２】
ステップ３０５または３０６のいずれかを実行したら、対処優先度判定部１５は図３のフローチャートに示す処理を終了する。以上のステップにより、車両用制御装置１は、対処優先度判定部１５を用いて、セキュリティ異常とセーフティ異常の両方を検知した場合にどちらの対処を優先させるかを判断できる。
【００７３】
次に、図２のステップ２０７で走行制御影響度算出部１６が実行する走行制御影響度算出について、図４のフローチャートを参照して説明する。図４は、走行制御影響度算出の処理の流れを示すフローチャートである。なお、以下で説明する各ステップの実行主体は、演算部１０のＣＰＵである。
【００７４】
ステップ４０１では、走行制御影響度算出部１６は、図２のステップ２０２でセキュリティ不審度検証部１３が算出または取得したセキュリティ不審度を取得する。
【００７５】
ステップ４０２では、走行制御影響度算出部１６は、検知したセキュリティ異常の発生箇所の重要度を取得する。このとき走行制御影響度算出部１６は、記憶部２０に記憶されているセキュリティ異常管理情報２１に含まれる重要度情報２３から、検知したセキュリティ異常の発生箇所に対応する重要度を取得する。ここで、重要度情報２３は前述のように、ＥＣＵ３、４に対してそれぞれ割り当てられた重要度を示す情報である。走行制御影響度算出部１６は、検知したセキュリティ異常の発生箇所がＥＣＵ３、４のいずれであるかをログ情報２９に含まれる異常状態用ＣＡＮ  ＩＤ６０１の値から判断し、当該ＥＣＵに対して割り当てられた重要度を重要度情報２３から取得する。
【００７６】
重要度情報２３には、例えばＡＳＩＬ（Automotive Safety Integrity Level）に基づいて換算された値を用いることができる。ＡＳＩＬは、許容できないリスクを回避するために必要な安全方策の規格として周知のものであり、ＡＳＩＬ  Ｄ（もっとも厳しい）からＡＳＩＬ  Ａ（もっとも厳しくない）までの４段階の要求レベルに、要求レベルなしを表すＱＭ（Quality Management）をさらに加えた５段階で評価される。例えば、ＡＳＩＬで規定された５段階の要求レベルのいずれに該当するかを数値化し、重要度情報２３として記憶部２０に記憶しておくことができる。このとき、各装置で要求されるＡＳＩＬのレベルは、ハザードの過酷さ（Severity）、曝露確率（Exposure）、制御性（Controllability）の３つの観点で決定される。例えば、当該装置の故障が車両の制御にとって致命的な場合や、当該装置の故障が頻繁なシチュエーションで起こる可能性がある場合や、当該装置の故障を回避困難な場合などは、当該装置のＡＳＩＬレベルとしてＡＳＩＬ  Ｄが設定される。基本的に車載システムを構成するＥＣＵでは、ＡＳＩＬレベルが高いものほど車両の走行制御に対する影響が高くなるため、その故障を回避するためのフェールセーフ設計がなされている。
【００７７】
なお、上記のＡＳＩＬ以外の指標を用いて重要度情報２３を設定してもよい。例えば、車外と直接繋がる装置をより重要とする観点や、走行制御に影響するアクチュエータを操作する装置をより重要とする観点や、金銭に関るアプリケーションを扱う装置をより重要とする観点等を用いて、重要度情報２３を設定することができる。
【００７８】
ステップ４０３では、走行制御影響度算出部１６は、車両状態を示す車両状態情報および周辺環境状態を示す環境情報を取得する。なお、前述のように車両状態としては、例えば車両の運転モードや走行状態（走行中／停車中）等が用いられる。また、周辺環境状態としては、例えば天気、道路状態、走行場所（高速／市街地）等が用いられる。走行制御影響度算出部１６は、これらの状態を示す車両状態情報および環境情報を、例えば車載システム内のＥＣＵや各種センサ類から取得することができる。
【００７９】
ステップ４０４では、走行制御影響度算出部１６は、上記ステップ４０１で取得したセキュリティ不審度と、上記ステップ４０２で取得した異常発生箇所の重要度と、上記ステップ４０３で取得した車両状態情報および環境情報とに基づいて、当該異常が車両の走行制御に与える影響度を算出する。このとき、走行制御影響度算出部１６は例えば、下記の式（１）を用いて走行制御の影響度Ｅを算出する。式（１）において、Ｉ（ｉ）は検知したセキュリティ異常に関連する各ＥＣＵの重要度を表しており、ステップ４０２で取得した異常発生箇所の重要度に応じて定められる。ここで、ｉは各ＥＣＵの識別子であり、ＥＣＵの数に応じた値が設定される。また、Ｗ１は車両状態や周辺環境状態に応じた調整係数、Ｓはセキュリティ不審度をそれぞれ表している。Ｗ１の値は、ステップ４０３で取得した車両状態情報および環境情報に基づいて定められ、Ｓの値は、ステップ４０１で取得したセキュリティ不審度に基づいて定められる。
【００８０】
【数１】
2019073102.tif 000003
【００８１】
なお、上記式（１）は走行制御影響度の算出方法の一例であり、他の方法で走行制御影響度を算出してもよい。また、車両状態情報や環境情報を用いずに走行制御影響度を算出してもよいし、異常発生箇所の重要度を用いずに走行制御影響度を算出してもよい。あるいは、セキュリティ不審度を用いずに走行制御影響度を算出してもよい。走行制御影響度算出部１６は、セキュリティ不審度、異常発生箇所の重要度、車両状態情報および環境情報の少なくともいずれか一つを用いて、走行制御影響度の算出を行うことができる。
【００８２】
ステップ４０４で走行制御影響度を算出したら、走行制御影響度算出部１６は図４のフローチャートに示す処理を終了する。以上のステップにより、車両用制御装置１は、走行制御影響度算出部１６を用いて、セキュリティ異常を検知した場合にそのセキュリティ異常が車両の走行制御に与える影響度合いを算出できる。
【００８３】
次に、図２のステップ２１０でセキュリティ機能変更判定部１７が実行するセキュリティ機能変更判定について、図５のフローチャートを参照して説明する。図５は、セキュリティ機能変更判定の処理の流れを示すフローチャートである。なお、以下で説明する各ステップの実行主体は、演算部１０のＣＰＵである。
【００８４】
ステップ５０１では、セキュリティ機能変更判定部１７は、検知したセーフティ異常のＩＤを取得する。このときセキュリティ機能変更判定部１７は、図２のステップ２０１でログ情報取得部１２が取得したログ情報２９より、当該セーフティ異常に対応する異常状態ＩＤ６０１の値を取得する。
【００８５】
ステップ５０２では、セキュリティ機能変更判定部１７は、検知したセーフティ異常に対するセーフティ対処の要求性能を取得する。このときセキュリティ機能変更判定部１７は、記憶部２０に記憶されているセーフティ異常管理情報２５に含まれる要求性能情報２７から、ステップ５０１で取得したセーフティ異常のＩＤに対応するセーフティ対処の要求性能を取得する。
【００８６】
図１０は、セキュリティ機能変更判定部１７がセーフティ対処の要求性能の取得に用いる要求性能情報２７のデータ構造例を示す図である。図１０に示す要求性能情報２７は、レコードごとに割り当てられたセーフティ異常ＩＤ９０１と、セーフティ対処の内容を示すセーフティ対処９０２と、セーフティ対処の実行に際して要求される車載システムの性能を示す要求性能９０３と、車載システムの性能が要求を満たさない場合に変更対象とするセキュリティ機能を示す変更対象セキュリティ機能９０４と、当該セキュリティ機能の変更に関連するＥＣＵを示す対処関連装置９０５とを含む。なお、セーフティ異常ＩＤ９０１に設定される値は、図６のログ情報２９において異常状態ＩＤ６０２に設定されるＩＤ番号のうち、セーフティ異常に対する「０ｘＡ１」〜「０ｘＦＦ」に対応している。
【００８７】
セキュリティ機能変更判定部１７は、図５のステップ５０２において、ステップ５０１で取得したセーフティ異常のＩＤの値と、図１０の要求性能情報２７の各レコードにおけるセーフティ異常ＩＤ９０１の値とを比較し、これらの値が一致するレコードを要求性能情報２７において特定する。そして、特定したレコードにおける要求性能９０３の内容を参照することで、検知したセーフティ異常に対するセーフティ対処の要求性能を判断し、その判断結果を取得する。
【００８８】
図５の説明に戻ると、ステップ５０３では、セキュリティ機能変更判定部１７は、車載システムの処理負荷状況を取得する。このときセキュリティ機能変更判定部１７は、車載システムにおけるリソース使用状況を示す各種情報、例えば、車載システムに含まれるＥＣＵ３、４それぞれのＣＰＵ稼動率やメモリ使用率、通信バス２の使用量、通信負荷、通信遅延等を、車載システムの処理負荷状況として取得する。なお、セキュリティ機能変更判定部１７は、ＥＣＵ３、４から定期的に処理負荷状況を取得してもよいし、ステップ５０３の実行タイミングに合わせて意図的に取得してもよい。
【００８９】
ステップ５０４では、セキュリティ機能変更判定部１７は、上記ステップ５０２で取得したセーフティ対処の要求性能と、上記ステップ５０３で取得した処理負荷状況とを比較する。その結果、処理負荷状況が要求性能を満たす場合はステップ５０５に進み、そうでない場合、すなわち処理負荷状況が要求性能を満たさない場合はステップ５０６に進む。
【００９０】
ステップ５０５では、セキュリティ機能変更判定部１７は、セキュリティ機能変更なしと判定する。
【００９１】
ステップ５０６では、セキュリティ機能変更判定部１７は、セキュリティ機能変更ありと判定し、検知したセーフティ異常に該当するセキュリティ機能を縮退または無効化する必要があると判定する。このときセキュリティ機能変更判定部１７は、上記ステップ５０２で特定した要求性能情報２７のレコードにおける変更対象セキュリティ機能９０４の内容を参照することで、検知したセーフティ異常に対して縮退または無効化の対象とするセキュリティ機能を判断し、その判断結果を取得する。
【００９２】
ステップ５０５または５０６のいずれかを実行したら、セキュリティ機能変更判定部１７は図５のフローチャートに示す処理を終了する。以上のステップにより、車両用制御装置１は、セキュリティ機能変更判定部１７を用いて、セーフティ異常を検知した場合に変更すべきセキュリティ機能の有無と、どのセキュリティ機能を変更対象にするかを判断できる。
【００９３】
次に、図２のステップ２１３における対処内容決定部１８の対処内容決定方法について、図１１の判定表を参照して説明する。図１１は、対処内容決定部１８が対処内容を決定する際に用いる判定表の例である。
【００９４】
対処内容決定部１８は、例えば、図２のステップ２０５で対処優先度判定部１５が対処優先度の判定を行った場合、図１１の判定欄１１１、１１２に従って対処内容を決定する。この場合、対処内容決定部１８は、図３のステップ３０４の判定結果に基づいて、判定欄１１１、１１２のいずれに従うかを判断する。すなわち、ステップ３０４で対処予測時間の合計値がセーフティ対処の許容時間以下と判断され、ステップ３０６でセキュリティ対処の実行を優先すると判断された場合、対処内容決定部１８は、判定欄１１１に従って対処内容を決定する。この場合、対処内容決定部１８は、ログ情報２９において異常状態ＩＤ６０１が示すセキュリティ異常に対応するセキュリティ対処を実施し、その後に異常状態ＩＤ６０１が示すセーフティ異常に対応するセーフティ対処を実施すると決定する。一方、ステップ３０４で対処予測時間の合計値がセーフティ対処の許容時間よりも大きいと判断され、ステップ３０５でセーフティ対処の実行を優先すると判断された場合、対処内容決定部１８は、判定欄１１２に従って対処内容を決定する。この場合、対処内容決定部１８は、ログ情報２９において異常状態ＩＤ６０１が示すセーフティ異常に対応するセーフティ対処を実施し、その後に異常状態ＩＤ６０１が示すセキュリティ異常に対応するセキュリティ対処を実施すると決定する。なお、セキュリティ対処やセーフティ対処を実施する際には、それぞれの対処許容時間内で優先度の高い対処を先に実施してから、一定の監視時間を設けて異常発生の有無を監視し、異常が発生しなくなった場合は残りの対処の実施を省略してもよい。
【００９５】
また、対処内容決定部１８は、例えば、図２のステップ２０７で走行制御影響度算出部１６が走行制御影響度の算出を行った場合、図１１の判定欄１１３、１１４に従って対処内容を決定する。この場合、対処内容決定部１８は、走行制御影響度算出部１６が算出した走行制御影響度の値に基づいて、判定欄１１３、１１４のいずれに従うかを判断する。例えば、走行制御影響度の値をＤとし、このＤを予め設定された閾値Ｔｈ１、Ｔｈ２（ただしＴｈ１＜Ｔｈ２）と比較して、その比較結果により対処内容を判断する。すなわち、０＜Ｄ≦Ｔｈ１の場合、対処内容決定部１８は、判定欄１１３に従って対処内容を決定する。この場合、対処内容決定部１８は、例えばセキュリティ対処として「ログの保持および収集」を行うと決定する。また、Ｔｈ１＜Ｄ≦Ｔｈ２の場合も、対処内容決定部１８は、判定欄１１３に従って対処内容を決定する。この場合、対処内容決定部１８は、例えば上記とは別のセキュリティ対処として「ルーティング停止、センタへのログのアップ」等を行うと決定する。一方、Ｔｈ２＜Ｄの場合、対処内容決定部１８は、判定欄１１４に従って対処内容を決定する。この場合、対処内容決定部１８は、セキュリティ対処に加えてセーフティ対処も行うと決定する。例えばセキュリティ対処として「攻撃波及防止」等を行い、セーフティ対処として「縮退運転」を行うと決定する。
【００９６】
また、対処内容決定部１８は、例えば、図２のステップ２１０でセキュリティ機能変更判定部１７がセキュリティ機能変更の判定を行った場合、図１１の判定欄１１５、１１６に従って対処内容を決定する。この場合、対処内容決定部１８は、図５のステップ５０４の判定結果に基づいて、判定欄１１５、１１６のいずれに従うかを判断する。すなわち、ステップ５０４で処理負荷状況が要求性能を満たすと判断され、ステップ５０５でセキュリティ機能変更なしと判定された場合、対処内容決定部１８は、判定欄１１５に従って対処内容を決定する。この場合、対処内容決定部１８は、ログ情報２９において異常状態ＩＤ６０１が示すセーフティ異常に対応するセーフティ対処を実施すると決定する。一方、ステップ５０４で処理負荷状況が要求性能を満たさないと判断され、ステップ５０６でセキュリティ機能変更ありと判定された場合、対処内容決定部１８は、判定欄１１６に従って対処内容を決定する。この場合、対処内容決定部１８は、ログ情報２９において異常状態ＩＤ６０１が示すセーフティ異常に対応するセーフティ対処を実施すると共に、ステップ５０６で判断したセキュリティ機能を縮退または無効化することで、車載システムにおけるセキュリティ機能の一部を変更すると決定する。
【００９７】
また、対処内容決定部１８は、例えば、図２のステップ２１２で平常状態と判断した場合、図１１の判定欄１１７に従って対処内容を決定する。この場合、対処内容決定部１８は、セキュリティ対処とセーフティ対処のいずれも実施せずに、車載システムにおける通信データ異常の有無を継続して監視すると決定する。
【００９８】
以上の実施形態によれば、車両用制御装置１は、走行中の車両にセーフティ異常またはセキュリティ異常が発生した場合や、これら両方の異常が発生した場合を考慮して、過不足のない対処を実現する。これにより、車両用制御装置１は、セーフティファーストの自動車において、車載システムの限られたリソースが競合することによるセーフティ対処の遅延を防止することができる。また、セキュリティ異常の発生に伴うセーフティ対処への過度な移行による車両走行の可用性の低下を防止することができる。したがって、車両の安全性を担保しつつ、車両走行の可用性維持を低コストで実現できる。
【００９９】
以上説明した本発明の一実施形態によれば、以下の作用効果を奏する。
【０１００】
（１）車両用制御装置１は、通信バス２を介して互いに接続されたＥＣＵ３、４を有する車載システムにおいて用いられる。車両用制御装置１は、情報を記憶する記憶部２０と、記憶部２０に記憶された情報に基づく処理を行う演算部１０とを備える。記憶部２０に記憶される情報は、車載システムの外部からのセキュリティ攻撃に起因する通信データの異常であるセキュリティ異常に関するセキュリティ異常管理情報２１と、車載システム内の異常に起因する通信データの異常であるセーフティ異常に関するセーフティ異常管理情報２５とを含む。セキュリティ異常管理情報２１は、セキュリティ異常に対するセキュリティ対処を実行するための制約条件を示すセキュリティ対処時間情報２２を含み、セーフティ異常管理情報２５は、セーフティ異常に対するセーフティ対処を実行するための制約条件を示すセーフティ対処時間情報２６を含む。演算部１０は、対処内容決定部１８により、車載システムにおける通信データの異常が検出された場合に、セキュリティ異常管理情報２１およびセーフティ異常管理情報２５に基づいて、検出された通信データの異常への対処内容を決定する。このようにしたので、セキュリティ異常とセーフティ異常の両方に対して適切に対処可能な車載システムを実現できる。
【０１０１】
（２）セキュリティ対処時間情報２２が示す制約条件は、セキュリティ対処の実行に要する時間を示す対処予測時間８０４を含み、セーフティ対処時間情報２６が示す制約条件は、セーフティ対処を実行する際に許容される時間を示す対処許容時間８０６と、セーフティ対処の実行に要する時間を示す対処予測時間８０８とを含む。演算部１０は、セキュリティ異常およびセーフティ異常の両方が検出された場合に、対処予測時間８０４、対処許容時間８０６および対処予測時間８０８に基づいて、対処内容を決定する。すなわち、演算部１０は、対処優先度判定部１５により、対処予測時間８０４と対処予測時間８０８の合計値を求め（ステップ３０３）、その合計値と対処許容時間８０６との比較結果に基づいて、対処内容決定部１８により対処内容を決定する（ステップ３０４〜３０６、ステップ２１３）。具体的には、演算部１０は、対処優先度判定部１５および対処内容決定部１８により、上記合計値が対処許容時間８０６よりも大きい場合にはセーフティ対処の実行を優先し（ステップ３０５）、上記合計値が対処許容時間８０６以下の場合にはセキュリティ対処の実行を優先する（ステップ３０６）ように、ステップ２１３で対処内容を決定する。このようにしたので、セキュリティ異常とセーフティ異常の両方が発生した場合に、どちらの対処を優先的に実施すればよいかを適切に判断して対処内容を決定できる。
【０１０２】
（３）セキュリティ異常管理情報２１は、セキュリティ対処を実行するための制約条件として、ＥＣＵ３、４の各々の重要度を示す重要度情報２３を含む。演算部１０は、セキュリティ異常が検出された場合に、走行制御影響度算出部１６により、ＥＣＵ３、４のうちでセキュリティ異常の発生箇所に対応するＥＣＵの重要度に基づいて、車両の走行制御に対する影響度を算出し（ステップ２０７）、算出した影響度に基づいて、対処内容決定部１８により対処内容を決定する（ステップ２１３）。このようにしたので、セキュリティ異常が発生した場合に、車両の走行制御に対する影響度を考慮して対処内容を適切に決定できる。
【０１０３】
（４）演算部１０は、セキュリティ不審度検証部１３により、セキュリティ異常に対する不審度を示すセキュリティ不審度を算出またはＥＣＵ３、４から取得する（ステップ２０２）。そして、走行制御影響度算出部１６により、セキュリティ不審度検証部１３で算出または取得したセキュリティ不審度、および、重要度情報２３が示すセキュリティ異常の発生箇所に対応するＥＣＵの重要度に基づいて、車両の走行制御に対する影響度を算出する（ステップ４０１、４０２、４０４）。このようにしたので、セキュリティ異常の発生状況と、セキュリティ異常の発生により影響を受けるＥＣＵの重要度とを考慮して、車両の走行制御に対する影響度を正確に算出できる。
【０１０４】
（５）演算部１０は、セキュリティ不審度検証部１３により、算出または取得したセキュリティ不審度に基づいてセキュリティ異常の有無を判断する（ステップ２０３）。このようにしたので、セキュリティ異常の有無を正確に判断できる。
【０１０５】
（６）演算部１０は、走行制御影響度算出部１６により、車両の運転モードまたは走行状態を示す車両状態情報や、車両の周囲環境を示す環境情報を取得し（ステップ４０３）、取得した車両状態情報や環境情報、および、重要度情報２３が示すセキュリティ異常の発生箇所に対応するＥＣＵの重要度に基づいて、車両の走行制御に対する影響度を算出する（ステップ４０４）。このようにしたので、セキュリティ異常が発生したときの車両の運転モード、走行状態、周囲環境等の状況と、セキュリティ異常の発生により影響を受けるＥＣＵの重要度とを考慮して、車両の走行制御に対する影響度を正確に算出できる。
【０１０６】
（７）セーフティ異常管理情報２５は、セーフティ対処を実行するための制約条件として、セーフティ対処に要求される車載システムの性能を示す要求性能情報２７を含む。演算部１０は、セーフティ異常が検出された場合に、セキュリティ機能変更判定部１７により、車載システムの処理負荷状況を取得し（ステップ５０３）、取得した処理負荷状況と要求性能情報２７との比較結果に基づいて、対処内容決定部１８により対処内容を決定する（ステップ５０４〜５０６、ステップ２１３）。具体的には、演算部１０は、セキュリティ機能変更判定部１７および対処内容決定部１８により、処理負荷状況が要求性能情報２７における要求性能９０３を満たさない場合に、車載システムが有するセキュリティ機能の一部を縮退または無効化する（ステップ５０６）ように、ステップ２１３で対処内容を決定する。このようにしたので、セーフティ異常が発生した場合に、車載システムの処理負荷状況や要求性能を考慮して対処内容を適切に決定できる。
【０１０７】
なお、以上説明した実施形態では、図２のフローチャートにおいて、セキュリティ異常とセーフティ異常の両方が検知された場合に、ステップ２０５で対処優先度の判定を行い、その後にステップ２１３で対処内容を決定する例を説明したが、本発明はこれに限定されない。例えば、ステップ２０５で対処優先度の判定を行った後、ステップ２０７で走行制御影響度の算出やステップ２１０でセキュリティ機能変更の判定を行ってもよい。このとき、ステップ２０５でセキュリティ対処を優先して実行すると判定した場合は、ステップ２０７で走行制御影響度の算出を行い、ステップ２０５でセーフティ対処を優先して実行すると判定した場合は、ステップ２１０でセキュリティ機能変更の判定を行うようにしてもよい。
【０１０８】
また、以上説明した実施形態では、ＥＣＵ３、４とは別の車両用制御装置１を用いて、セキュリティ異常やセーフティ異常が発生した場合の対処内容を決定する例を説明したが、本発明はこれに限定されない。例えば、ＥＣＵ３、４において上述したような処理を行うことで対処内容をそれぞれ決定できるようにしてもよい。また、例えばスマートフォン等の情報処理装置を車載システムに接続し、この情報処理装置を車両用制御装置１として利用してもよいし、車両外に設けられた情報処理装置を車両用制御装置１として利用してもよい。
【０１０９】
以上説明した実施形態や各種変形例はあくまで一例であり、発明の特徴が損なわれない限り、本発明はこれらの内容に限定されるものではない。また、上記では種々の実施形態や変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【０１１０】
１  車両用制御装置
２  通信バス
３  ＥＣＵ
４  ＥＣＵ
１０  演算部
１１  通信部
１２  ログ情報取得部
１３  セキュリティ不審度検証部
１４  セーフティ異常検証部
１５  対処優先度判定部
１６  走行制御影響度算出部
１７  セキュリティ機能変更判定部
１８  対処内容決定部
２０  記憶部
２１  セキュリティ異常管理情報
２２  セキュリティ対処時間情報
２３  重要度情報
２４  不審度算出情報
２５  セーフティ異常管理情報
２６  セーフティ対処時間情報
２７  要求性能情報
２８  セーフティ異常検証情報
２９  ログ情報
【図１】
2019073102.tif 000004
【図２】
2019073102.tif 000005
【図３】
2019073102.tif 000006
【図４】
2019073102.tif 000007
【図５】
2019073102.tif 000008
【図６】
2019073102.tif 000009
【図７】
2019073102.tif 000010
【図８】
2019073102.tif 000011
【図９】
2019073102.tif 000012
【図１０】
2019073102.tif 000013
【図１１】
2019073102.tif 000014