(57)【要約】【課題】  車載システムにおいてセキュリティ攻撃に起因する異常が発生した場合であっても、自動車の走行制御を安全な状態に保つことが可能な情報処理装置及び異常対処方法を提供する。【解決手段】  車両の車載システムに含まれる情報処理装置１０は、車両で発生した異常に関する異常情報１７１を収集する情報取得部１２０と、異常情報１７１に基づいて、発生した異常の発生元を特定する判定部１３０と、判定部１３０によって特定された対象に対して、所定の機能を制約する波及防止処理を実行する波及防止処理部１５０と、を備える。【選択図】図１
2018194909.tif 000002
【特許請求の範囲】
【請求項１】
車両の車載システムに含まれる情報処理装置であって、
前記車両で発生した異常に関する異常情報を収集する情報取得部と、
前記異常情報に基づいて、発生した異常の発生元を特定する判定部と、
前記判定部によって特定された対象に対して、所定の機能を制約する波及防止処理を実行する波及防止処理部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記判定部は、発生した異常の発生元と当該異常が波及し得る波及先候補とを特定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記車両が有する複数の運転モードのそれぞれについて当該運転モードに必要な構成要素を示す運転モード切替情報が記憶されており、
前記運転モード切替情報に基づいて、前記判定部によって特定された対象において前記異常が発生しても利用可能な運転モードの候補を抽出し、当該抽出した候補に基づいて運転モードの移行先を決定する運転モード決定部と、をさらに備える
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記運転モード決定部は、前記異常が発生した場合に、
現在の運転モードを安全な特定の運転モードに移行させた後、
前記運転モード切替情報に基づいて、前記判定部によって特定された対象において前記異常が発生しても利用可能な運転モードの候補を抽出し、当該抽出した候補に基づいて運転モードの移行先を改めて決定する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記情報取得部は、前記車載システムに含まれる自他の情報処理装置から前記異常情報を収集する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記情報取得部は、前記車両に搭載された複数の情報処理装置、またはネットワークを介して接続された外部の情報処理装置から前記異常情報を収集する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記情報取得部は、前記車両で発生したセキュリティ攻撃に起因する異常に関して前記異常情報を収集する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項８】
前記判定部は、装置または機能を対象として、発生した異常に関する前記発生元及び前記波及先候補を特定する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項９】
前記波及防止処理部は、
前記車両のリアルタイム制御への影響を考慮した許容時間を算出し、
前記判定部によって特定された対象のうちから、当該算出した許容時間内に前記波及防止処理を実行可能な対象を抽出し、
当該抽出した対象に対して前記波及防止処理を実行する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項１０】
前記波及防止処理部は、
前記車両のリアルタイム制御への影響を考慮した許容時間を算出し、
前記判定部によって特定された対象のうちから、当該算出した許容時間内に前記波及防止処理を実行可能で、かつ前記車両の運転モードへの影響度が相対的に高い対象を抽出し、
当該抽出した対象に対して前記波及防止処理を実行する
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
車両の車載システムに含まれる情報処理装置による異常対処方法であって、
前記車両で発生した異常に関する異常情報を収集する情報取得ステップと、
前記異常情報に基づいて、発生した異常の発生元を特定する判定ステップと、
前記判定ステップで特定された対象に対して、所定の機能を制約する波及防止処理を実行する波及防止処理ステップと、
を備えることを特徴とする異常対処方法。
【請求項１２】
前記判定ステップでは、発生した異常の発生元と当該異常が波及し得る波及先候補とを特定する
ことを特徴とする請求項１１に記載の異常対処方法。
【請求項１３】
前記情報処理装置は、前記車両が有する複数の運転モードのそれぞれについて当該運転モードに必要な構成要素を示す運転モード切替情報を保持し、
前記運転モード切替情報に基づいて、前記判定ステップで特定された対象において前記異常が発生しても利用可能な運転モードの候補を抽出し、当該抽出した候補に基づいて運転モードの移行先を決定する運転モード決定ステップと、をさらに備える
ことを特徴とする請求項１１に記載の異常対処方法。
【請求項１４】
前記情報取得ステップでは、前記車両で発生したセキュリティ攻撃に起因する異常に関して前記異常情報を収集する
ことを特徴とする請求項１２に記載の異常対処方法。
【請求項１５】
前記波及防止処理ステップでは、
前記車両のリアルタイム制御への影響を考慮した許容時間を算出し、
前記判定ステップで特定された対象のうちから、当該算出した許容時間内に前記波及防止処理を実行可能な対象を抽出し、
当該抽出した対象に対して前記波及防止処理を実行する
ことを特徴とする請求項１２に記載の異常対処方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び異常対処方法に関し、車載システムに搭載または接続された情報処理装置から異常を検出する情報処理装置、及び当該情報処理装置による異常対処方法に適用して好適なものである。
【背景技術】
【０００２】
近年、自動車の車載システムは、ネットワーク（具体的には例えば、インターネット、ＢＬＵＥＴＯＯＴＨ（登録商標）、Ｗｉ−Ｆｉ（登録商標）、またはセンサ類等）を介してセンタシステム（以下、センタ）や車外の装置と接続されることによって、ユーザに様々なサービスを提供するようになりつつある。そして、このような車載システムでは、従来の閉じた車載システムとは異なり、外部からのセキュリティ攻撃に対する備えが重要となった。
【０００３】
さらに、ネットワークに接続される上記のような車載システムでは、情報処理装置へのＯＳＳ（Open-Source Software）の活用、スマートフォンやアフターサービス用途でセキュリティが担保されていないデバイスの接続が検討されていることから、これまで以上に脆弱性を悪用したセキュリティ攻撃が懸念されている。
【０００４】
ここで、従来の車載システムにおいては、一部の装置が故障で失陥した場合でも、その異常を検知し、フェールセーフ（例えば機能縮退）によって走る、曲がる、止まる等の走行制御を維持することが可能な異常対処方法が考えられている。例えば、特許文献１に開示された車両制御装置によれば、異常検知部によって特定の異常状態が検知された場合に、行動計画に含まれるイベントのうち、走行制御部による制御において実行中のイベントの種別と、実行中のイベントに続いて実行される予定のイベントの種別との一方或いは双方に基づいて、走行制御部による制御内容を変更することにより、車両の状態に応じた走行制御を可能としている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第１７／０１０２６４号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に開示された車両制御装置のように、異常検知部によって検知された特定の異常状態に応じて、走行制御部による制御内容を変更するという異常対処方法を採用する場合、セキュリティ攻撃を起因とする異常の発生時に、自動車の走行状態を安全な状態に保つことが困難となるおそれがあった。
【０００７】
より具体的には、自動車に対してセキュリティ攻撃を起因とする異常が発生した場合に、異常状態に応じて制御内容を変更した（例えば通常運転から縮退運転に変更した）としても、そのセキュリティ攻撃が車載システムを更に侵害する可能性があることから、例えば縮退運転を構成する要素にまでセキュリティ攻撃による影響が波及するおそれがある。特許文献１に開示された車両制御装置では、このようなセキュリティ攻撃による影響の波及を止めることができず、結果として、自動車の走行制御に悪影響が生じ、危険な状態に陥るおそれがあった。
【０００８】
本発明は以上の点を考慮してなされたもので、車載システムにおいてセキュリティ攻撃に起因する異常が発生した場合であっても、自動車の走行制御を安全な状態に保つことが可能な情報処理装置及び異常対処方法を提案しようとするものである。
【課題を解決するための手段】
【０００９】
かかる課題を解決するため本発明においては、車両の車載システムに含まれる情報処理装置であって、前記車両で発生した異常に関する異常情報を収集する情報取得部と、前記異常情報に基づいて、発生した異常の発生元を特定する判定部と、前記判定部によって特定された対象に対して、所定の機能を制約する波及防止処理を実行する波及防止処理部と、を備えることを特徴とする情報処理装置が提供される。
【００１０】
また、かかる課題を解決するため本発明においては、車両の車載システムに含まれる情報処理装置による異常対処方法であって、前記車両で発生した異常に関する異常情報を収集する情報取得ステップと、前記異常情報に基づいて、発生した異常の発生元を特定する判定ステップと、前記判定ステップで特定された対象に対して、所定の機能を制約する波及防止処理を実行する波及防止処理ステップと、を備えることを特徴とする異常対処方法が提供される。
【発明の効果】
【００１１】
本発明によれば、車載システムにおいてセキュリティ攻撃に起因する異常が発生した場合であっても、自動車の走行制御を安全な状態に保つことができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施の形態に係る情報処理装置の機能構成例を示すブロック図である。
【図２】図１に示した情報処理装置が搭載される車両における構成例を示すブロック図である。
【図３】図１に示した情報処理装置のハードウェア構成例を示すブロック図である。
【図４】異常対処処理の処理手順の概要を示すフローチャートである。
【図５】異常情報のデータ構造例を説明するための図である。
【図６】異常波及情報のデータ構造例を説明するための図である。
【図７】運転モード切替情報のデータ構造例を説明するための図である。
【図８】運転モード影響度判定の処理手順の一例を示すフローチャートである。
【図９】移行先運転モード抽出の処理手順の一例を示すフローチャートである。
【図１０】本発明の第２の実施の形態に係る情報処理装置における異常対処処理の処理手順の概要を示すフローチャートである。
【図１１】波及防止処理判断の処理手順の一例を示すフローチャートである。
【図１２】移行許容時間情報のデータ構造例を説明するための図である。
【図１３】波及防止判断情報のデータ構造例を説明するための図である。
【発明を実施するための形態】
【００１３】
以下図面について、本発明の実施の形態を詳述する。
【００１４】
なお、以下の各実施の形態では、車載システム内において複数の情報処理装置（または車外の情報処理装置）と通信可能に接続される情報処理装置が、各情報処理装置から異常（異常状態とも記載する）を判断するための情報を収集し、当該異常の発生元及び波及先候補を特定し、当該特定に基づいて波及防止処理を行うという方法を、本発明の異常対処方法の一例として説明する。但し、本発明の技術的思想はこの例に限定されるものではない。例えば、車載システム内の複数の情報処理装置と通信可能に接続される車外の情報処理装置に適用してもよい。また、各情報処理装置間や車外との通信は、一般に知られた暗号技術等を用いた安全な通信路を利用すればよく、これらの通信のために利用する暗号用の鍵及びシードは、安全に配布、管理、または更新されていればよい。例えば、エンジン起動時／停止時、製品開発時、あるいはメンテナンス時等、任意のタイミングで配布や更新が行われてもよい。
【００１５】
（１）第１の実施の形態
（１−１）情報処理装置の構成
図１は、本発明の第１の実施の形態に係る情報処理装置の機能構成例を示すブロック図である。図１に示したように、第１の実施の形態に係る情報処理装置１０は、機能構成として、通信部１１０、情報取得部１２０、判定部１３０、運転モード候補抽出部１４０、波及防止処理部１５０、運転モード決定部１６０、及び関連情報記憶部１７０を備える。関連情報記憶部１７０には、異常情報１７１、異常波及情報１７２及び運転モード切替情報１７３が格納される。また、情報処理装置１０は、通信バス２を介して他の情報処理装置（図２参照）と通信可能に接続される。
【００１６】
ここで、情報処理装置１０の各機能構成を説明する前に、ハードウェア構成を中心に情報処理装置１０に関する全体的な構成について説明する。
【００１７】
まず、情報処理装置１０が搭載される車両の構成について説明する。図２は、図１に示した情報処理装置が搭載される車両における構成例を示すブロック図である。図２に示したように、情報処理装置１０は、自動車である車両１に搭載された複数の情報処理装置の１つであって、いわゆる車載システム内の情報処理装置の１つである。情報処理装置１０は、具体的には例えば、ＥＣＵ（Electrical Control Unit）やＧＷ−ＥＣＵ（Gateway ECU）である。情報処理装置１０は、車内の通信バス２を介して、他の情報処理装置２０（個別には例えば、情報処理装置２０Ａ，２０Ｂ，２０Ｃ）と通信可能に接続される。情報処理装置２０は、情報処理装置１０と同様に、例えばＥＣＵである。
【００１８】
また、図２に例示したように、車両１は、自動車の自己故障診断機能であるＯＢＤ２（On Board Diagnosis second generation）用の通信インタフェースとしてＯＢＤ２インタフェース２２を備え、車両１の情報処理装置１０（または情報処理装置２０）は、ＯＢＤ２インタフェース２２を介して外部の診断ツール２３と通信可能に接続される。また、車両１に備えられた情報処理装置１０，２０の一部（図２に例示する情報処理装置２０Ｃ）は、インターネット等のネットワークを介して外部に設置される車外情報処理装置２１（例えば、外部センタにおける情報処理装置等）とも通信可能に接続される。
【００１９】
このような図２の構成を情報処理装置１０からみた場合、車両１内の情報処理装置２０（２０Ａ，２０Ｂ，２０Ｃ）だけでなく、車両１の外部の車外情報処理装置２１についても、情報処理装置１０と通信可能に接続された情報処理装置と捉えることができる。したがって、以後の説明において「情報処理装置１０と通信可能な『他の情報処理装置２０』」と表現する場合、上記の車外情報処理装置２１のような車外の情報処理装置を含み得るものとする。
【００２０】
また、通信バス２は、物理的には複数の通信バスであり、これらの通信バスの規格は全て同一でもよいし、異なる規格であってもよい。通信バス２の規格として例えば、ＣＡＮ、ＬＩＮ、ＦｌｅｘＲａｙ、またはイーサネット（いずれも登録商標）等が挙げられる。
【００２１】
なお、図２の車載システムでは、ＧＷ−ＥＣＵを中心に他の複数のＥＣＵが接続されるスター型通信で構成される例を示したが、本実施の形態に係る情報処理装置１０が含まれる車載システムはこれに限定されるものではなく、他にも例えば、複数のＥＣＵ（ＧＷ−ＥＣＵを含む）のそれぞれが相互に接続されるバス型通信の車載システム等であってもよい。
【００２２】
次に、情報処理装置１０のハードウェア構成について説明する。図３は、図１に示した情報処理装置のハードウェア構成例を示すブロック図である。
【００２３】
図３に示したように、情報処理装置１０は、ＣＰＵ（Central Processing Unit）１１、メモリ１２、通信インタフェース１３、及び入出力インタフェース１４を備え、それぞれが通信バス１５によって接続されている。メモリ１２は、データを記憶する記憶媒体であって、具体的には例えばＲＯＭやＲＡＭ等に相当する。なお、メモリ１２の少なくとも一部は、不揮発性のメモリとする。通信インタフェース１３は、情報処理装置１０が他の情報処理装置２０との間で通信を行うためのインタフェースである。入出力インタフェース１４は、情報処理装置１０における入出力処理のためのインタフェースであるが、情報処理装置１０の役割や機能によっては必ずしも必須の構成ではない。
【００２４】
情報処理装置１０は、これらのハードウェアの各構成の働きによって図１に示した機能構成を実現する。具体的には例えば、ＣＰＵ１１や通信インタフェース１３によって通信部１１０が実現され、また、メモリ１２のＲＯＭに格納された所定のプログラムをＣＰＵ１１がメモリ１２のＲＡＭに展開して実行することによって、情報取得部１２０、判定部１３０、運転モード候補抽出部１４０、波及防止処理部１５０、及び運転モード決定部１６０が実現される。また、関連情報記憶部１７０は、不揮発性のメモリ１２（具体的には、ＲＯＭ、フラッシュメモリ、ＨＤＤ等）によって実現される。
【００２５】
次に、図１に示した情報処理装置１０の各機能構成について説明する。
【００２６】
通信部１１０は、通信バス２を構成する物理的な通信バスと同数の接続ポートを有する通信インタフェースであって、情報処理装置１０，２０間の通信に必要な演算を行う。その結果、通信部１１０は、通信バス２を介して他の情報処理装置２０との間で、通信メッセージを送受信することができる。
【００２７】
情報取得部１２０は、通信部１１０による通信を利用して、各情報処理装置（情報処理装置１０あるいは他の情報処理装置２０）の異常状態を判断するための情報を収集する。「異常状態」とは、例えばセキュリティ攻撃に起因する異常状態に相当する。情報取得部１２０によって収集された情報は、異常情報１７１として関連情報記憶部１７０に記憶される。
【００２８】
判定部１３０は、情報取得部１２０によって収集された異常情報１７１に基づいて、異常状態による現在の運転モードへの影響を判定するとともに、異常状態の発生元、及び異常状態の波及先候補を特定する。
【００２９】
運転モード候補抽出部１４０は、判定部１３０によって特定された異常状態の発生元及び波及先候補を考慮して、運転モードの移行先（移行先運転モード）の候補を抽出する。
【００３０】
波及防止処理部１５０は、判定部１３０によって特定された異常状態の発生元及び波及先候補に対して、セキュリティ攻撃による影響の波及を防止するための制御コマンドを通知することによって、所定の波及防止処理を実行する。
【００３１】
運転モード決定部１６０は、運転モード候補抽出部１４０によって抽出された移行先運転モードの候補のなかから、実際に移行させる運転モードを決定する。
【００３２】
なお、以下の説明では、車両１の機能制限が行われない運転モードを「通常運転モード」と呼び、車両１の機能制限が行われる運転モードを「縮退運転モード」と呼ぶ。通常運転モードは、例えば自動運転が可能な運転モードとする。縮退運転モードは、制限される機能の組み合わせによって複数種類の縮退運転モード（例えば、図７に例示する縮退運転モードＡ〜Ｃ）が用意されてもよい。詳細は図７を参照しながら後述するが、本実施の形態において、異常状態の発生時に移行される縮退運転モードは、判定部１３０によって特定された異常状態の発生元（具体的には例えば、発生箇所や機能）を構成要素に含まずに走行制御が可能な運転モードとなる。そして、運転モードが通常運転モードと縮退運転モードの何れであるかを示す情報は、情報処理装置１０が備える不揮発性メモリ（例えば関連情報記憶部１７０）に記憶され、情報処理装置１０への電源供給が停止された場合も保持される。
【００３３】
関連情報記憶部１７０は、本実施の形態に係る情報処理装置１０による異常対処処理で用いられる情報を記憶する。関連情報記憶部１７０に記憶される情報としては例えば、各情報処理装置１０，２０の異常状態を判断するために収集される異常情報１７１、異常状態の波及を予測するための異常波及情報１７２、及び、運転モードの切替判断のための運転モード切替情報１７３がある。これらの各情報については、後の図５，図６，図７に具体例を示す。
【００３４】
（１−２）異常対処処理
本実施の形態に係る情報処理装置１０は、自身または他の情報処理装置においてセキュリティ攻撃に起因する異常状態の発生を検知した場合に、そのセキュリティ攻撃による影響を波及させずに、安全な運転モードに走行制御を切り替える「異常対処処理」を実行する。以下では、この異常対処処理について詳述する。
【００３５】
図４は、異常対処処理の処理手順の概要を示すフローチャートである。図４に示す処理は情報処理装置１０の各機能構成を実行主体とし、ハードウェア的には主にＣＰＵ１１によって実行される。
【００３６】
図４によれば、まずステップＳ１０１において、情報取得部１２０が、通信部１１０による通信を利用し、通信バス２で通信可能に接続された他の情報処理装置２０からログ情報を取得する等して、異常状態の判断に関連する情報（異常情報１７１）を収集する。このとき、情報取得部１２０は、自身の情報処理装置１０からも、異常状態の判断に関するログ情報を取得する等によって異常情報１７１を収集する。そして、情報取得部１２０が収集した異常情報１７１は、関連情報記憶部１７０に記憶される。
【００３７】
なお、ステップＳ１０１において、情報取得部１２０は、「他の情報処理装置２０」からのログ情報の収集として、インターネット等のネットワークを介して通信可能な外部のセンタ（車外情報処理装置２１）からも異常状態の判断に関するログ情報を取得してもよい。
【００３８】
ステップＳ１０１において情報取得部１２０が異常情報１７１を収集した後は、ステップＳ１０２の処理に進むが、ステップＳ１０１からステップＳ１０２に移るタイミングは、特に限定されない。例えば、ステップＳ１０１において情報取得部１２０が何らかの異常状態を示すログ情報を取得した時点で、ステップＳ１０２の処理に進むようにしてもよい。また例えば、ステップＳ１０１において情報取得部１２０が所定期間に亘ってログ情報を取得（異常情報１７１を収集）するとし、所定時間が経過した場合にステップＳ１０２の処理に進むようにしてもよい。
【００３９】
ここで、図５を参照しながら、ステップＳ１０１で収集される異常情報１７１の具体例を説明する。図５は、異常情報のデータ構造例を説明するための図である。図５（Ａ）に例示した異常情報１７１Ａ及び図５（Ｂ）に例示した異常情報１７１Ｂは、いずれもログ情報の一例であって、異なるデータ構造を有する通信メッセージが例示されている。
【００４０】
まず、図５（Ａ）に示した異常情報１７１Ａは、通信メッセージ（ログ情報）の送信元の情報処理装置（例えば情報処理装置２０）が、自身の情報処理装置における異常状態を監視するとともに、その異常状態による影響度合いを判定できる場合の通信メッセージの一例である。図５（Ａ）によれば、異常情報１７１Ａは、異常状態用ＣＡＮ  ＩＤ１７１１、異常状態ＩＤ１７１２、及び異常度１７１３を有するデータ構造となっている。
【００４１】
異常状態用ＣＡＮ  ＩＤ１７１１には、異常状態を判断するためのメッセージであることを示す識別子（ＩＤ）が記載される。異常状態用ＣＡＮ  ＩＤ１７１１には、送信元の情報処理装置ごとに、異なるＩＤが割り当てられてもよい。
【００４２】
異常状態ＩＤ１７１２には、当該異常状態の種別に応じて予め割り当てられた識別子が記載される。なお、異常状態ＩＤ１７１２から特定可能な「異常状態の種別」とは、発生した異常状態の種類によって示されてもよいが、その他にも例えば、異常状態が発生した箇所（例えば、情報処理装置単位）によって示されたり、異常状態が発生した機能（例えば、ブレーキ、エンジン制御、またはセンサ認識等の機能単位）によって示されたりしてもよい。また、異常度１７１３には、当該異常状態による影響度合いを示す値が記載される。
【００４３】
次に、図５（Ｂ）に示した異常情報１７１Ｂは、通信メッセージ（ログ情報）の送信元の情報処理装置（例えば情報処理装置２０）が、自身の情報処理想定における異常状態を監視するだけの場合（すなわち、その異常状態による影響度合いの判定までは行わない場合）の通信メッセージの一例である。このような通信メッセージを取得した場合には、情報取得部１２０側で異常状態による影響度合いを判断すればよい。図５（Ｂ）によれば、異常情報１７１Ｂは、異常状態用ＣＡＮ  ＩＤ１７１１、異常状態ＩＤ１７１２、監視タイプ１７１４、及び監視結果１７１５を有するデータ構造となっている。
【００４４】
このうち、異常状態用ＣＡＮ  ＩＤ１７１１及び異常状態ＩＤ１７１２は、図５（Ａ）に例示した異常情報１７１Ａにおける異常状態用ＣＡＮ  ＩＤ１７１１及び異常状態ＩＤ１７１２と同様であり、説明を省略する。
【００４５】
監視タイプ１７１４には、検知した異常状態の内容が記載され、例えば、不正な周期の通信メッセージの検知、認証の失敗、通信量の増大、またはＣＰＵやメモリのリソース消費状況等が示される。また、監視結果１７１５には、監視タイプに応じた監視結果が記載され、例えば、監視タイプ１７１４に記載された異常状態についての発生回数や閾値超過の回数等が示される。
【００４６】
なお、情報取得部１２０が取得するログ情報（異常情報１７１）のデータ構造は、図５（Ａ），図５（Ｂ）の例に限定されるものではなく、他にも例えば、ＭＡＣ（Message Authentication Code）のような改竄検知用の認証子を有してもよく、また例えば、通信用カウンタや時刻情報等の付加情報を含むようにしてもよい。
【００４７】
図４に戻り、ステップＳ１０２の処理から説明を続ける。
【００４８】
ステップＳ１０２では、情報取得部１２０が、車両１の現在の運転モードを取得する。ここで、情報取得部１２０による運転モードの取得の具体的な処理については、以下のような処理パターンが考えられる。
【００４９】
まず、自らの情報処理装置１０において運転モードを管理している場合には、情報取得部１２０は、メモリ１２に記憶された適当なデータ等を参照することによって、現在の運転モードを取得することができる。
【００５０】
一方、他の情報処理装置２０において運転モードを管理している場合には、ステップＳ１０２のタイミングで、情報取得部１２０が当該情報処理装置２０から現在の運転モードを取得すればよい。この他にも例えば、情報取得部１２０が、定期的に当該情報処理装置２０から最新の運転モードを取得してメモリ１２に記憶させておき、ステップＳ１０２のタイミングで、当該記憶させた運転モードを参照することによって、現在の運転モードとして取得するようにしてもよい。また例えば、運転モードが変更されるタイミングで運転モードを管理している情報処理装置２０から情報処理装置１０に変更内容が通知されるとすれば、当該通知の内容をメモリ１２に記憶させておき（最新の通知内容で更新してもよい）、情報取得部１２０が、ステップＳ１０２においてメモリ１２に記憶された最新の通知内容を参照することによって、現在の運転モードを取得するようにしてもよい。
【００５１】
次いで、ステップＳ１０３では、判定部１３０が、ステップＳ１０１で情報取得部１２０によって収集された異常情報１７１と、関連情報記憶部１７０に記憶された異常波及情報１７２とを用いて、異常状態の発生元及び異常状態の波及先候補を特定するとともに、当該異常状態による現在の運転モードに対する影響度合い等を判定する（運転モード影響度判定）。運転モード影響度判定の詳細は、図８を参照しながら後述する。
【００５２】
ここで、図６を参照しながら、ステップＳ１０３で参照される異常波及情報１７２の具体例を説明する。
【００５３】
図６は、異常波及情報のデータ構造例を説明するための図である。図６によれば、異常波及情報１７２Ａは、異常状態ＩＤ１７２１、異常状態１７２２、運転モード影響１７２３、及び波及先候補１７２４を有するデータ構造となっている。
【００５４】
異常状態ＩＤ１７２１には、異常状態の種別に応じて割り当てられた識別子が記載され、異常情報１７１（１７１Ａ，１７１Ｂ）における異常状態ＩＤ１７１２と共通する識別子である。異常状態ＩＤ１７２１から特定可能な「異常状態の種別」は、図５（Ａ），（Ｂ）でも説明したように、発生した異常状態の種類によって示されてもよいが、その他にも例えば、異常状態が発生した箇所によって示されたり、異常状態が発生した機能によって示されたりしてもよい。図６の場合は、異常状態が発生した箇所（発生箇所）による例を示している。
【００５５】
異常状態１７２２には、異常状態ＩＤ１７２１で特定される異常状態の種別が記載される。前段落で述べたように、異常状態の「発生箇所」を特定する識別子が異常状態ＩＤ１７２１に記載される場合、異常状態１７２２には、当該「発生箇所」が記載される。具体的には図６では、「ＥＣＵ５」や「ＥＣＵ７」等、情報処理装置単位で異常状態の発生箇所が示されている。
【００５６】
運転モード影響１７２３には、異常状態１７２２に示された異常状態が現在の運転モードに影響を与えるか否かを示す情報が記載される。具体的には図６において、「有り」は現在の運転モードに対する影響があることを意味し、「なし」は現在の運転モードに対する影響がないことを意味する。運転モード影響１７２３は、例えば異常状態１７２２に異常状態の発生箇所が示される場合、当該発生箇所に応じて設定される。具体的な設定方法については、例えば、予め実施されるセキュリティ分析の結果に応じて、異常状態の発生箇所に基づく影響の有無を設定してもよいし、走行中の状態に応じて影響の有無を更新・設定するようにしてもよい。
【００５７】
波及先候補１７２４には、異常状態１７２２に示された異常状態が波及する可能性のある装置等の候補が示される。例えば図６の１行目のデータ欄の場合、異常状態１７２２が「ＥＣＵ５」で、波及先候補１７２４が「すべてのＥＣＵ」とされている。これはすなわち、異常状態の発生箇所が「ＥＣＵ５」である場合に、車両１内のすべてのＥＣＵ（例えばすべての情報処理装置２０）に対して当該異常状態が波及する可能性があることを意味する。なお、異常状態１７２２に基づく波及先候補１７２４の設定方法については、前述した基づく運転モード影響１７２３と同様に、例えば、予め実施されるセキュリティ分析の結果に応じて、異常状態の発生箇所に基づく波及先候補を設定してもよいし、走行中の状態に応じて波及先候補を更新・設定するようにしてもよい。
【００５８】
なお、本実施の形態に係る情報処理装置１０においては、運転モードごとに異常波及情報１７２が設定されてもよい。このとき、図６に例示した異常波及情報１７２Ａを通常運転モード用の異常波及情報１７２とすれば、関連情報記憶部１７０には、異常波及情報１７２Ａとは別に、各縮退運転モード用の異常波及情報１７２が記憶される（不図示）。
【００５９】
図４の説明に戻ると、ステップＳ１０３で判定部１３０による運転モード影響度判定が行われた後は、ステップＳ１０４の処理が行われる。
【００６０】
ステップＳ１０４では、運転モード候補抽出部１４０が、ステップＳ１０３の運転モード影響度判定によって特定された情報（異常状態の発生元や波及先候補等）と、関連情報記憶部１７０に記憶された運転モード切替情報１７３とを用いて、異常状態による影響を考慮した運転モードの移行先として、当該異常状態が発生していても利用可能な運転モードを抽出する（移行先運転モード抽出）。移行先運転モード抽出の詳細は、図９を参照しながら後述する。
【００６１】
ここで、図７を参照しながら、ステップＳ１０４で参照される運転モード切替情報１７３の具体例を説明する。
【００６２】
図７は、運転モード切替情報のデータ構造例を説明するための図である。図７によれば、運転モード切替情報１７３Ａは、運転モードの種別が示される運転モード１７３１と、運転モード１７３１に示された運転モードを構成するための要素の一覧が示される構成要素１７３２と、を有するデータ構造となっている。
【００６３】
具体的には図７の場合、運転モード１７３１に、「通常運転モード」と３種類の「縮退運転モード（縮退運転モードＡ〜Ｃ）」とが示されている。これらの各運転モードの特徴として、例えば、通常運転モードは車両１の機能制限が行われない、最も高性能（多機能）な運転モードであって、自動運転が可能な運転モードとする。一方、縮退運転モードは、通常運転モードに比べて何らかの機能が制限された運転モードとし、制限される機能を全体的にみたときに、縮退運転モードＡ，Ｂ，Ｃの順に、次第に機能の制限が大きくなる（自動運転から遠い低性能となる）。
【００６４】
そして構成要素１７３２には、運転モード１７３１の各運転モードについて、車両１における複数の構成要素のどれが必要であるかについて、「〇」、「×」、「−」で示されている。「〇」は、当該運転モードにおいて必須の構成要素である（すなわち、当該構成要素で異常状態が発生すると当該運転モードに影響が生じる）ことを意味し、「×」は、当該構成要素で異常状態が発生しても当該運転モードに影響を与えないことを意味する。また、「−」は、当該構成要素が異常状態の発生の有無に拘わらず当該運転モードに影響を与えないことを意味する。
【００６５】
なお、運転モード切替情報１７３は、図７の構成要素１７３２で「ＥＣＵ１」，「ＥＣＵ２」，・・・としたように、車載システムの各装置を「構成要素」の単位として設定することに限定されず、例えば、ブレーキ、エンジン制御、またはセンサ認識等といった機能単位で「構成要素」を設定するようにしてもよい。
【００６６】
次いで、ステップＳ１０５では、波及防止処理部１５０が、ステップＳ１０３の運転モード影響度判定で特定された異常状態の発生元や波及先候補に対して、当該異常状態による影響を防止すべく、所定の波及防止処理を実行する。この波及防止処理において、波及防止処理部１５０は、異常状態の発生元または波及先候補に特定された装置（または機能）のうちの少なくとも１つ以上の装置（または機能）に対して、何らかの所定の機能的な制約を課する制御コマンドを通知する。
【００６７】
波及防止処理による機能的な制約について、具体的には例えば、波及防止処理部１５０は、異常状態の発生元装置（例えば情報処理装置２０Ａ）が不正なアクションを起こさないようにするために、当該発生元装置に対してシャットダウン用のコマンドを通知し、当該発生元装置の電源を落とすようにする。また例えば、異常状態の波及先候補装置（例えば情報処理装置２０Ｂ）に対して、異常状態の発生元装置（例えば情報処理装置２０Ａ）からの通信を受け付けないように、通信フィルタ機能を作動させるコマンドを通知したり、通信フィルタ機能のホワイトリストやブラックリストを更新するコマンドを通知したりしてもよい。
【００６８】
なお、波及防止処理部１５０による波及防止処理において、上記のような制約を課す対象は、他の情報処理装置２０に限られるものではなく、自身の情報処理装置１０に対しても制約を課するようにしてよい。
【００６９】
次に、ステップＳ１０６では、運転モード決定部１６０が、ステップＳ１０４で抽出された移行先運転モードのうちから、より安全な運転モードを、実際に移行させる運転モードとして選択（決定）する。ここで運転モード決定部１６０は、ステップＳ１０５の波及防止処理の実施状況を考慮し、車両１の安全な走行制御を維持可能な運転モードを選択・決定することができる。
【００７０】
本実施の形態におけるステップＳ１０６の具体的な決定方法は、例えば次のようになる。
【００７１】
第１に、ステップＳ１０４の移行先運転モード抽出において抽出された移行先運転モードの候補が１つに特定されている場合、運転モード決定部１６０は、当該特定された移行先運転モードを、実際に移行させる運転モードに決定する。
【００７２】
この第１の方法で決定される場合、ステップＳ１０４で異常状態の発生元及び波及先候補を考慮して抽出された移行先運転モードの候補のうちから、ステップＳ１０６において運転モード決定部１６０が複雑な処理を行うことなく、簡単に移行先の運転モードを決定することができる。その結果、異常状態の発生に対して安全な運転モードへの切替を迅速に実行できる効果が得られる。
【００７３】
第２に、ステップＳ１０４の移行先運転モード抽出において抽出された移行先運転モードの候補が複数存在し、かつステップＳ１０５の波及防止処理が完了している場合、運転モード決定部１６０は、複数の移行先運転モードの候補から、より高度な（高性能の）運転モードを、実際に移行させる運転モードに決定する。ここで、より高度な運転モードとは例えば、自動運転走行において提供される機能がより充実している運転モードを意味する。具体的には図７に例示された４つの運転モードがあった場合、通常運転モードが最も高度な運転モードであり、縮退運転モードＡが次に高度で、その次点が縮退運転モードＢ、そして最も高度ではない運転モードが縮退運転モードＣと判断することができる。
【００７４】
この第２の方法で決定される場合、ステップＳ１０４で異常状態の発生元及び波及先候補を考慮して抽出された移行先運転モードの候補が複数あったとしても、そのうちで最も高度な運転モードを移行先の運転モードに決定することができるため、異常状態に対して安全な運転モードに縮退されたとしても、縮退による機能制限や運転者の負担を最小限に抑える効果に期待できる。
【００７５】
第３に、ステップＳ１０４の移行先運転モード抽出において抽出された移行先運転モードの候補が複数存在し、かつステップＳ１０５の波及防止処理が完了していない場合、運転モード決定部１６０は、波及防止処理に関係しない安全な特定の運転モードを、実際に移行させる運転モードに決定する。ここで「安全な特定の運転モード」とは例えば、提供される機能は少ないものの、車両１の外部とは繋がらない構成要素（装置または機能）によって構成された運転モードであってもよいし、または例えば、異常状態の発生時にのみ切り替えられる別系統の装置で構成された運転モードであってもよい。
【００７６】
この第３の方法で決定される場合は、上述した第１の方法または第２の方法によって移行する安全な運転モードを決定できなかった場合であり、深刻な異常状態が発生していることが想定される。したがって、このような深刻な異常状態の場合には、予め用意された「安全な特定の運転モード」に決定することで、車両１の添乗員の安全を最優先に確保することができる。
【００７７】
最後に、ステップＳ１０７では、運転モード決定部１６０が、ステップＳ１０６で決定した運転モードへの移行指示を、通信部１１０を利用して、運転モードの変更を制御する装置（例えば情報処理装置２０の何れか）に対して通知する。そして当該通知を受け取った装置が通知に従って運転モードを変更することによって、車両１の運転モードが切り替えられる。なお、情報処理装置１０自身が運転モードの変更を制御する装置である場合には、情報処理装置１０の運転モード変更制御部（不図示）が、現在の運転モードを、ステップＳ１０６で決定された運転モードに切り替えればよい。
【００７８】
以上のように、図４のステップＳ１０１〜Ｓ１０７の処理が行われることによって、異常対処処理が実行される。
【００７９】
（１−３）運転モード影響度判定
本実施の形態に係る情報処理装置１０によって実行される異常対処処理のうち、運転モード影響度判定（図４のステップＳ１０３）について詳しく説明する。
【００８０】
図８は、運転モード影響度判定の処理手順の一例を示すフローチャートである。（１−２）でも述べたように、図８に示す各処理は、情報処理装置１０の判定部１３０によって実行される。
【００８１】
また、図８に関する以下の説明では、運転モード影響度判定で参照される異常情報１７１及び異常波及情報１７２において、当該情報から特定可能な「異常状態の種別」が異常状態の発生した「箇所」によって示される場合を例として説明するが、（１−２）でも述べたように、本実施の形態においてはこれに限らず、異常状態の「種類」や異常状態が発生した「機能」に置き換えることもできる。
【００８２】
図８によれば、まず、判定部１３０は、異常対処処理のステップＳ１０１（図４参照）で収集された異常情報１７１が示す異常状態が現在の運転モードに影響を及ぼすか否かを判定する（ステップＳ２０１）。
【００８３】
ここで、ステップＳ２０１の処理を詳しく説明すると、まず、判定部１３０は、異常対処処理のステップＳ１０２で取得された車両１の現在の運転モードに対応する異常波及情報１７２を参照する。具体的には例えば、現在の運転モードが通常運転モードであるとして、図６に例示した異常波及情報１７２Ａが参照される。
【００８４】
次に、判定部１３０は、異常対処処理のステップＳ１０１で収集された異常情報１７１から、発生した異常状態の異常状態ＩＤ１７１２を取得する。具体的には例えば、図５（Ａ）に例示した異常情報１７１Ａが収集されたとすると、異常状態ＩＤ１７１２として「０ｘ０１」が取得される。
【００８５】
そして、判定部１３０は、現在の運転モードに対応する異常波及情報１７２（異常波及情報１７２Ａ）において、発生した異常状態の異常状態ＩＤ「０ｘ０１」に対応する運転モード影響１７２３を参照することによって、発生した異常状態が現在の運転モードに影響を及ぼすか否かを判定することができる。具体例の場合、異常波及情報１７２Ａにおいて「０ｘ０１」の異常状態ＩＤ１７２１に対応する運転モード影響１７２３は「有り」となっていることから、現在の運転モードに影響を及ぼすと判定される。もし運転モード影響１７２３が「なし」であれば、現在の運転モードに影響を及ぼさないと判定される。
【００８６】
判定部１３０は、このようにステップＳ２０１の処理を行い、現在の運転モードに影響を及ぼすと判定した場合は（ステップＳ２０１のＹＥＳ）、ステップＳ２０２の処理を行う。ステップＳ２０１において現在の運転モードに影響を及ぼさないと判定した場合は（ステップＳ２０１のＮＯ）、ステップＳ２０３に進む。
【００８７】
ステップＳ２０２では、判定部１３０は、ステップＳ２０１において現在の運転モードに影響を及ぼすと判定された異常状態の発生元（本説明の場合は、異常状態の発生箇所）を抽出する。より具体的には、判定部１３０は、現在の運転モードに対応する異常波及情報１７２（異常波及情報１７２Ａ）において、発生した異常状態の異常状態ＩＤ「０ｘ０１」に対応する異常状態１７２２を参照することによって、異常状態の発生箇所（例えば「ＥＣＵ５」）を抽出する。ステップＳ２０２の処理が終わると、ステップＳ２０３に進む。
【００８８】
ステップＳ２０３では、判定部１３０は、発生箇所から異常状態が波及するおそれのある装置（波及先候補）が存在するか否かを判定する。より具体的には、判定部１３０は、ステップＳ２０１で参照した異常波及情報１７２Ａにおいて、「０ｘ０１」の異常状態ＩＤ１７２１に対応する波及先候補１７２４を参照することによって、波及先候補の有無を判定することができる。
【００８９】
判定部１３０は、波及先候補があると判定した場合には（ステップＳ２０３のＹＥＳ）、判定された波及先候補１７２４を抽出する（ステップＳ２０４）。ステップＳ２０４の処理後、または、ステップＳ２０３において波及先候補がないと判定した場合は（ステップＳ２０３のＮＯ）、ステップＳ２０５に進む。
【００９０】
ステップＳ２０５では、判定部１３０は、これまでのステップＳ２０１〜Ｓ２０４の処理を経て、現在の運転モードに影響を及ぼす異常状態の発生元（発生箇所）、または異常状態の発生元から波及するおそれがある波及先候補の少なくとも何れかが抽出されたか否かを判定する。すなわち、ステップＳ２０２またはステップＳ２０４において、異常状態の発生元（発生箇所）または波及先候補の抽出結果が存在するか否かを判定する。
【００９１】
ステップＳ２０５において抽出結果があると判定された場合は（ステップＳ２０５のＹＥＳ）、発生した異常状態による現在の運転モードへの影響等（他装置に異常状態が波及する可能性を含む）があることを意味しており、判定部１３０は運転モード影響度判定の処理を終了する。
【００９２】
一方、ステップＳ２０５において抽出結果がないと判定された場合は（ステップＳ２０５のＮＯ）、異常状態が発生したものの、当該異常状態による現在の運転モードへの影響等がない（他装置に異常状態が波及する可能性もない）ことを意味している。そこでこのとき、判定部１３０は、ステップＳ２０６の処理として、異常状態の発生元（発生箇所）に対して所定の波及防止処理を行うとともに、現在の運転モードを維持するように制御した後、運転モード影響度判定の処理を終了する。
【００９３】
なお、ステップＳ２０６において、現在の運転モードを維持するための制御は、判定部１３０の替わりに運転モード決定部１６０が行うようにしてもよい。また、現在の運転モードへの影響などがない、という状況を鑑みて、ステップＳ２０６において、異常状態の発生元（発生箇所）に対する所定の波及防止処理を行わずに、現在の運転モードの維持だけを制御するようにしてもよい。
【００９４】
以上のように図８のステップＳ２０１〜Ｓ２０６の処理が行われることによって、情報処理装置１０は、異常状態の発生元（発生箇所）及びその波及先候補を特定するとともに、現在の運転モードへの影響度を判定することができる。
【００９５】
（１−４）移行先運転モード抽出
本実施の形態に係る情報処理装置１０によって実行される異常対処処理のうち、移行先運転モード抽出（図４のステップＳ１０４）について詳しく説明する。
【００９６】
図９は、移行先運転モード抽出の処理手順の一例を示すフローチャートである。（１−２）でも述べたように、図９に示す各処理は、情報処理装置１０の運転モード候補抽出部１４０によって実行される。
【００９７】
また、図９に関する以下の説明では、図８を参照しながら行った運転モード影響度判定の説明と同様に、移行先運転モード抽出で参照される異常情報１７１及び異常波及情報１７２において、当該情報から特定可能な「異常状態の種別」が異常状態の発生した「箇所」によって示される場合を例として説明するが、（１−２）でも述べたように、本実施の形態においてはこれに限らず、異常状態の「種類」や異常状態が発生した「機能」に置き換えることもできる。
【００９８】
図９によれば、まず、運転モード候補抽出部１４０は、異常状態の発生元（発生箇所）と運転モード切替情報１７３とを参照することによって、異常状態が発生していても利用可能な運転モードの有無を検証する（ステップＳ３０１）。
【００９９】
ステップＳ３０１の処理は、具体的には以下のような手順で実現することができる。例えば、ログ情報取得（図４のステップＳ１０１）で収集された異常情報１７１において「０ｘ０１」の異常状態ＩＤが示されたとする。このとき、現在の運転モードに応じた異常波及情報１７２において、発生した異常状態の異常状態ＩＤ「０ｘ０１」に対応する異常状態１７２２及び波及先候補１７２４を参照することによって、当該異常状態による影響が及ぶ装置を特定することができる。具体的には例えば、異常状態ＩＤ「０ｘ０１」に対応する異常状態１７２２（発生箇所）が「ＥＣＵ５」であり、波及先候補１７２４が「ＥＣＵ７」であったとする。このとき、運転モード候補抽出部１４０は、運転モード切替情報１７３を参照して「ＥＣＵ５」及び「ＥＣＵ７」によって影響を受けない運転モードを探すことによって、異常状態が発生していても利用可能な運転モードの有無を検証することができる。例えば図７に例示した運転モード切替情報１７３Ａの場合、「ＥＣＵ５」及び「ＥＣＵ７」によって影響を受けない運転モードとして、縮退運転モードＢ及び縮退運転モードＣが適合する。
【０１００】
次いで、ステップＳ３０２において、運転モード候補抽出部１４０は、ステップＳ３０１の検証によって利用可能な運転モードがあったか否かを判定する。
【０１０１】
ステップＳ３０２において利用可能な運転モードがあった場合は（ステップＳ３０２のＹＥＳ）、運転モード候補抽出部１４０は、該当するすべての利用可能な運転モードを抽出し（ステップＳ３０３）、移行先運転モード抽出の処理を終了する。
【０１０２】
一方、ステップＳ３０２において利用可能な運転モードがなかった場合は（ステップＳ３０２のＮＯ）、運転モード候補抽出部１４０は、予め定められた所定の緊急対処を実施するように制御し（ステップＳ３０４）、移行先運転モード抽出の処理を終了する。ここで「所定の緊急対処」とは例えば、直ちに車両１を路肩等に停車させる自動運転を行わせることでもよいし、自動運転を手動運転に切り替えさせることでもよい。またその他にも例えば、運転者やサービスセンタに緊急通報を行うこと等であってもよい。
【０１０３】
以上のように図９のステップＳ３０１〜Ｓ３０４の処理が行われることによって、情報処理装置１０は、特定された異常状態の発生元（発生箇所）に基づいて、当該異常状態による影響を考慮した運転モードの移行先として、当該異常状態が発生していても利用可能な運転モードを抽出することができる。
【０１０４】
（１−５）まとめ
以上のように、図４，図８，図９に例示した処理手順に沿って異常対処処理を行うことによって、本実施の形態に係る情報処理装置１０は、異常状態を判断するための情報を収集し、当該収集した情報に基づいて、異常状態の発生元及び波及先候補を特定し、特定した装置に対して波及防止処理を実行するとともに、異常状態の波及まで考慮して、車両１の運転モードを異常状態の影響を受けない安全な運転モードに切り替えることができる。
【０１０５】
このような情報処理装置１０によれば、例えば通常運転モードにおいて異常状態が発生したことに基づいて縮退運転モードに移行するといった際に、異常状態の発生元だけでなく、当該異常状態が発生元から波及し得る波及先候補までも特定し、これらの特定した対象に波及防止処理を実行できることから、縮退運転モードを構成する要素に対してセキュリティ攻撃による影響を波及させず、異常状態の発生に対して自動車（車両１）の走行制御をより安全な状態に保つという効果が得られる。
【０１０６】
なお、本実施の形態に係る情報処理装置１０による上記効果は、発生した異常状態がセキュリティ攻撃を起因とするものであるときに、特に効果的に発揮される。セキュリティ攻撃は、特定の装置や機能において異常状態を発生させるだけでなく、そこからさらに、別の装置や機能を侵害して異常状態を波及させるという特性を持つことがあり、セキュリティ攻撃を起因とする異常状態が発生した場合には、異常状態に応じて制御内容を変更した（例えば通常運転から縮退運転に変更した）としても、例えば縮退運転を構成する要素にまでセキュリティ攻撃による影響が波及するおそれがあった。このような危険性に対して、本実施の形態に係る情報処理装置１０は、異常状態の波及先候補にまで波及防止処理を実行可能とすることによって、セキュリティ攻撃による影響の波及を防止し、自動車の走行制御をより安全な状態に保つことができる。
【０１０７】
なお、本実施の形態に係る情報処理装置１０による異常対処処理は、図４等に例示した処理手順に限定されるものではなく、様々な派生的な処理手順が追加・置き換えされてもよい。例えば、図４のステップＳ１０１において異常状態の発生が確認された段階で、一旦、上記「安全な特定の運転モード」に運転モードを移行させ、その後でステップＳ１０２〜Ｓ１０７の処理を行うようにしてもよい。このようにする場合、異常状態の発生に対して最優先で搭乗者の安全を確保し、車両１の安全な走行制御を維持することができる。
【０１０８】
（２）第２の実施の形態
本発明の第２の実施の形態は、基本的な処理の大部分について、（１）で詳述した第１の実施の形態と共通しており、第１の実施の形態と同じ構成要素や同じ処理手順には同じ符号を付し、重複する説明を省略する。以下、第１の実施の形態との相違点を中心に、第２の実施の形態について詳述する。
【０１０９】
なお、以下では、第１の実施の形態においてした詳細な説明と同様に、「異常状態の種別」が異常状態の発生した「箇所（より具体的には装置）」によって示される場合を例として説明するが、第２の実施の形態においてもこれに限定されるものではなく、異常状態の「種類」や異常状態が発生した「機能」に置き換えることもできる。
【０１１０】
（２−１）異常対処処理
第２の実施の形態は、主に、異常対処処理のなかで行われる波及防止処理において許容時間の観点を追加した処理を備える点で第１の実施の形態と異なっている。より詳しくは、第２の実施の形態における異常対処処理では、情報処理装置１０が、自動車（車両１）におけるリアルタイム制御に影響を与えない「許容時間」を考慮した上で波及防止処理を実行する。
【０１１１】
図１０は、本発明の第２の実施の形態に係る情報処理装置における異常対処処理の処理手順の概要を示すフローチャートである。図１０に示す処理は情報処理装置１０の各機能構成を実行主体とし、ハードウェア的には主にＣＰＵ１１によって実行される。なお、第２の実施の形態に係る情報処理装置１０では、図１に例示した機能構成に追加して、関連情報記憶部１７０に移行許容時間情報１７４及び波及防止判断情報１７５が記憶されているとする。移行許容時間情報１７４及び波及防止判断情報１７５の詳細は、図１２，図１３を参照しながら後述する。
【０１１２】
図１０によれば、まず、ステップＳ１０１〜Ｓ１０４までは、第１の実施の形態と同じ処理が行われる。ステップＳ１０４で移行先運転モード抽出が行われた後は、ステップＳ４０１の処理が行われる。
【０１１３】
ステップＳ４０１では、波及防止処理部１５０が、運転モードに対応して設定される移行許容時間（詳しくは後述する）内に波及防止処理を完了することができるか否か等に基づいて、波及防止処理の実行可否を判断する（波及防止処理判断）。波及防止処理判断の詳細は、図１１を参照しながら後述するが、ステップＳ４０１の波及防止処理判断においては、異常状態の発生元及び波及先候補のうちから、許容時間内に波及防止処理を実行可能で、かつ運転モードへの影響度の高いものが「波及防止可能な対象候補」として抽出される（図１１のステップＳ５０６）。
【０１１４】
次に、ステップＳ４０２において、波及防止処理部１５０が、ステップＳ４０１の波及防止処理判断の結果、「波及防止可能な対象候補」が抽出されたか否かを判定する。波及防止可能な対象候補が抽出されていた場合は（ステップＳ４０２のＹＥＳ）、ステップＳ１０５に進み、抽出されなかった場合は（ステップＳ４０２のＮＯ）、ステップＳ１０６に進む。
【０１１５】
ステップＳ１０５では、波及防止処理部１５０が、ステップＳ４０２で判定された「波及防止可能な対象候補」に相当する装置（すなわち、異常状態の発生元及び波及先候補のうち、許容時間内に波及防止処理が完了する見込みがあって運転モードへの影響度が高い装置）に対して所定の波及防止処理を実行する。波及防止処理の実行内容は、第１の実施の形態における波及防止処理（図４のステップＳ１０５）と同様である。
【０１１６】
ステップＳ１０５で波及防止処理が行われた後は、再びステップＳ４０１に戻り、波及防止処理判断が行われる。ステップＳ４０１〜Ｓ１０５の処理は、残りの許容時間のなかで完了可能な「波及防止可能な対象候補」が抽出されるごとに繰り返される。なお、このループにおいて、異常状態の発生の検知からの時間経過に伴って許容時間は減算されていき、また、「波及防止可能な対象候補」として抽出されて波及防止処理（ステップＳ１０５）が実行された装置は、その後「波及防止可能な対象候補」として再抽出されない。このような処理が行われることによって、情報処理装置１０では、リアルタイム制御に影響を与えない許容時間を考慮しながら、異常状態の発生元及び波及先候補に対して順次、波及防止処理を実行することができる。
【０１１７】
その後、情報処理装置１０は、第１の実施の形態と同様に、ステップＳ１０６（移行先運転モード決定）及びステップＳ１０７（運転モード移行）の処理を行い、異常対処処理を終了する。
【０１１８】
（２−２）波及防止処理判断
本実施の形態に係る情報処理装置１０によって実行される異常対処処理のうち、波及防止処理判断（図１０のステップＳ４０１）について詳しく説明する。
【０１１９】
図１１は、波及防止処理判断の処理手順の一例を示すフローチャートである。波及防止処理判断は、波及防止処理の実行可否を判断する際の処理（図１０のステップＳ４０１）であって、情報処理装置１０の波及防止処理部１５０によって実行される。
【０１２０】
図１１によれば、まずステップＳ５０１において、波及防止処理部１５０は、波及防止処理に利用可能な時間（許容時間）を算出する。詳しく説明すると、異常状態が発生した後に初めてステップＳ５０１の処理を行う初回の場合には、波及防止処理部１５０は、関連情報記憶部１７０に記憶されている移行許容時間情報１７４を参照し、運転モードごとに設定された移行許容時間（図１２の移行許容時間１７４３）を許容時間として算出する。一方、上記初回以外でステップＳ５０１の処理を行う場合には、波及防止処理部１５０は、異常状態が発生してからの時間経過分を移行許容時間から差し引いた時間を、許容時間として算出する。
【０１２１】
ここで、図１２を参照しながら、ステップＳ５０１で参照される移行許容時間情報１７４を具体的に説明する。
【０１２２】
図１２は、移行許容時間情報のデータ構造例を説明するための図である。移行許容時間情報１７４は、現在の運転モードごとの移行許容時間が記載された情報であって、例えば関連情報記憶部１７０に記憶されている。
【０１２３】
図１２によれば、移行許容時間情報１７４は、運転モードＩＤ１７４１、現状運転モード１７４２、及び移行許容時間１７４３を有するデータ構造となっている。運転モードＩＤ１７４１には、車両１に搭載された運転モードを識別するために割り当てられた識別子が記載され、現状運転モード１７４２には、各運転モードの種別が記載される。移行許容時間１７４３には、各運転モードに対応して設定された、走行制御に影響を与えずに波及防止処理を実行するために利用可能な時間（移行許容時間）が記載される。
【０１２４】
なお、運転モードに対応する移行許容時間は、設計段階で要求される仕様に基づいて静的な時間が予め決定されてもよいが、車両状態や周辺環境状態に基づいて、走行制御に影響を与えずに波及防止処理を実行するために利用可能な時間が動的に算出されて登録されるとしてもよい。
【０１２５】
そして「車両状態」とは例えば、現在の運転モードや走行状態（走行中／停車中等）に相当し、「周辺環境状態」とは例えば、天候、道路状態、走行場所（高速道路／市街地等）といった外乱に相当する。このような車両状態や周辺環境状態に基づいた移行許容時間の算出例を挙げると、走行中かつ天気が雨の場合には、迅速な制御が求められるため、移行許容時間は比較的短く設定されることが好ましい。一方、停車中の場合は、即時の制御が必要とされないため、移行許容時間を比較的長く設定してもよい。
【０１２６】
次に、ステップＳ５０２において、波及防止処理部１５０は、ステップＳ５０１で算出した許容時間が所定の一定時間以上であるか否かを判定する。ここで、「一定時間」とは、波及防止処理の実行のために必要とされる最小時間に相当する。すなわち、車両１におけるリアルタイム制御に影響を与えずに波及防止処理を実行するためには、許容時間が少なくとも「一定時間」以上残っていることが必要となる。
【０１２７】
なお、「一定時間」の具体的な値については、運転モードに対応する移行許容時間１７４３（図１２参照）と同様に、設計段階で要求される仕様に基づいて静的な時間が予め決定されてもよいし、車両状態や周辺環境状態に基づいて、走行制御に影響を与えずに波及防止処理の実行のために必要な時間が動的に算出されて登録されるとしてもよい。
【０１２８】
ステップＳ５０２において許容時間が一定時間以上残っていると判定された場合は（ステップＳ５０２のＹＥＳ）、許容時間内に波及防止処理を実行できる可能性があることを意味しており、ステップＳ５０３に進む。一方、ステップＳ５０２において許容時間が一定時間以上残っていないと判定された場合は（ステップＳ５０２のＮＯ）、波及防止処理を実行する時間的余裕がないことを意味しているので、ステップＳ５０７に進む。
【０１２９】
ステップＳ５０３では、波及防止処理部１５０は、「波及防止対象候補」が抽出済みであるか否かを判定する。「波及防止対象候補」の抽出についてはステップＳ５０４で詳述する。波及防止対象候補が抽出済みであると判定された場合は（ステップＳ５０３のＹＥＳ）、ステップＳ５０６に進み、波及防止対象候補が抽出されていないと判定された場合は（ステップＳ５０３のＮＯ）、ステップＳ５０４に進む。
【０１３０】
ステップＳ５０４では、波及防止処理部１５０は、判定部１３０による運転モード影響度判定（図１０のステップＳ１０３）で特定された異常状態の発生元及び波及先候補の装置を、波及防止処理の実行対象の候補（波及防止対象候補）として抽出する。なおこのとき、運転モード候補抽出部１４０による移行先運転モード抽出（図１０のステップＳ１０４）で抽出された移行先運転モードが複数存在する場合は、運転モード間で差分をとり、構成要素１７３２（図７参照）において「〇」に設定され、かつ、より高度な運転モードを構成する要素（装置）について優先度を高く設定するようにして、波及防止対象候補の各装置の優先度を算出してもよい。
【０１３１】
次に、ステップＳ５０５において、波及防止処理部１５０は、関連情報記憶部１７０に記憶されている波及防止判断情報１７５を参照し、ステップＳ５０４で抽出した波及防止対象候補のそれぞれについて、波及防止処理の実行に要する時間（波及防止処理時間）を算出する。
【０１３２】
ここで、図１３を参照しながら、ステップＳ５０５，Ｓ５０６で参照される波及防止判断情報１７５を具体的に説明する。
【０１３３】
図１３は、波及防止判断情報のデータ構造例を説明するための図である。波及防止判断情報１７５は、波及防止処理時間の算出等のために参照される情報であって、例えば関連情報記憶部１７０に記憶される。
【０１３４】
図１３によれば、波及防止判断情報１７５は、装置ＩＤ１７５１、装置１７５２、波及防止処理予測時間１７５３、及び運転モード影響度１７５４を有するデータ構造となっている。装置ＩＤ１７５１には、装置（情報処理装置１０，２０）を識別するために割り当てられた識別子が記載され、装置１７５２には、装置ＩＤ１７５１から特定される各装置の種別が記載される。波及防止処理予測時間１７５３には、上記装置に対する波及防止処理の実行に要する予測時間が記載される。運転モード影響度１７５４には、運転モードに対して上記装置が与える影響度合いが記載され、例えば、記載される数値が大きいほど、高い影響度合いであることを意味する。
【０１３５】
なお、波及防止処理予測時間１７５３に記載される予測時間は、運転モードに対応する移行許容時間１７４３（図１２参照）と同様に、設計段階で要求される仕様に基づいて静的な時間が予め決定されてもよいし、車両状態や周辺環境状態に基づいて、走行制御に影響を与えずに波及防止処理を実行するため要する時間が動的に算出されて登録されるとしてもよい。
【０１３６】
このような波及防止判断情報１７５を参照することによって、ステップＳ５０５において波及防止処理部１５０は、波及防止対象候補に抽出された各装置の波及防止処理時間を算出する。具体的には例えば、波及防止処理部１５０は、波及防止対象候補の各装置（装置ＩＤ１７５１，装置１７５２）に対応する波及防止処理予測時間１７５３を、当該装置の波及防止処理時間として算出することができる。また、他にも例えば、通信メッセージの送受信時間と波及防止処理予測時間１７５３との合計時間を、当該装置の波及防止処理時間として算出するようにしてもよい。
【０１３７】
次に、ステップＳ５０６の処理を説明する。図１１に示したように、ステップＳ５０５において波及防止対象候補の波及防止処理時間が算出されるか、または、ステップＳ５０３において波及防止対象候補が抽出されていないと判定されると、ステップＳ５０６の処理が行われる。
【０１３８】
ステップＳ５０６では、波及防止処理部１５０は、ステップＳ５０１で算出した許容時間、ステップＳ５０５で算出した波及防止処理時間、及び波及防止判断情報１７５に基づいて、波及防止可能な対象候補を抽出する。
【０１３９】
より具体的には、波及防止処理部１５０は、まず、許容時間と波及防止処理時間とを比較し、許容時間内で波及防止処理を実行可能であるかを判定する。そして、当該判定の結果が実行可能であれば、該当するすべての波及防止対象候補について、波及防止判断情報１７５から装置１７５２に紐づけられた運転モード影響度１７５４を取得し、高い影響度を有する装置を「波及防止可能な対象候補」として抽出する。
【０１４０】
なお、ステップＳ５０４において波及防止対象候補の各装置の優先度が算出されている場合には、波及防止処理を実行可能と判定したすべての波及防止対象候補のうちから、当該優先度が高い装置を優先的に「波及防止可能な対象候補」として抽出するようにしてもよい。また、上記優先度と運転モードへの影響度（運転モード影響度１７５４）の双方を考慮して「波及防止可能な対象候補」を抽出するようにしてもよい。
【０１４１】
また、ステップＳ５０６における抽出方法として、上記例の他にも例えば、異常状態の発生元の装置を優先して「波及防止可能な対象候補」に抽出するようにしてもよい。このようにする場合、異常状態の発生元に対して優先的に波及防止処理が行われるため、異常状態による被害拡大の抑制に期待できる。また例えば、異常状態の波及先候補の装置を優先して「波及防止可能な対象候補」に抽出するようにしてもよい。このようにする場合、セキュリティ攻撃に起因する異常状態の複次的な拡大を抑制する効果に期待できる。
【０１４２】
また、本実施の形態において、波及防止処理判断が１回行われるときにステップＳ５０６の処理によって抽出され得る「波及防止可能な対象候補」の個数は、１個に限定されない。波及防止処理部１５０は、諸条件を満たす複数の装置をまとめて「波及防止可能な対象候補」として抽出するようにしてもよい。
【０１４３】
ステップＳ５０７は、ステップＳ５０２において許容時間が一定時間以上残っていないと判定された場合に行われる。このとき、許容時間が波及防止処理を実行するために必要最低限の時間に満たないことから、波及防止処理部１５０は、一連の波及防止処理に関する処理（例えば、図１０のステップＳ４０１，Ｓ４０２，Ｓ１０５）を中止する。
【０１４４】
以上、図１１のステップＳ５０１〜Ｓ５０７の処理が行われることによって、情報処理装置１０は、リアルタイム制御に影響を与えない許容時間内での波及防止処理の実行可否を判断し、波及防止対象候補（異常状態の発生元及び波及先候補）のうちから、許容時間内に波及防止処理を実行可能で、かつ影響度の高いものを、「波及防止可能な対象候補」として抽出することができる。
【０１４５】
（２−３）まとめ
以上のように、図１０，図１１に例示した処理手順に沿って異常対処処理を行うことによって、第２の実施の形態に係る情報処理装置１０は、異常状態を判断するための情報を収集し、当該収集した情報に基づいて、異常状態の発生元及び波及先候補を特定し、異常状態の波及まで考慮して、車両１の運転モードを異常状態の影響を受けない安全な運転モードに切り替えることができるとともに、車両１におけるリアルタイム制御に影響を与えないように許容時間を考慮しながら、上記特定した異常状態の発生元及び波及先候補に対する波及防止処理を実行することができる。
【０１４６】
そして、第１の実施の形態による効果と同様に、上述した第２の実施の形態による効果は、発生した異常状態がセキュリティ攻撃を起因とするものであるときに、特に効果的に発揮される。
【０１４７】
また、第１の実施の形態における異常対処処理と同様、第２の実施の形態に係る情報処理装置１０による異常対処処理も、図１０等に例示した処理手順に限定されるものではなく、様々な派生的な処理手順が追加・置き換えされてもよい。
【０１４８】
例えば、図１０のステップＳ１０４の後に、まずは異常状態の発生元に対して波及防止処理を実行させるとし、その後でステップＳ４０１以降の処理を行うようにしてもよい。このようにする場合、異常状態の発生元（発生箇所や発生機能）に対しては、許容時間の有無に拘わらず波及防止処理が実行されるため、異常状態の波及を最優先で抑止することができる。さらに異常状態の波及先候補に対しては、その後で許容時間を考慮して順次、波及防止処理が実行されるので、セキュリティ攻撃に起因する異常状態が発生したとしても、車両１におけるリアルタイム制御に影響を与えないようにしながら異常状態の波及を抑制し、車両１の安全な走行制御を維持するという効果を発揮することができる。
【０１４９】
以上、本発明の第１及び第２の実施の形態を説明したが、各実施の形態における構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよく、また、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実施には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１５０】
１        車両
２        通信バス
１０      情報処理装置
１１      ＣＰＵ
１２      メモリ
１３      通信インタフェース
１４      入出力インタフェース
１５      通信バス
２０（２０Ａ，２０Ｂ，２０Ｃ）  情報処理装置
２１      車外情報処理装置
２２      ＯＢＤ２インタフェース
２３      診断ツール
１１０    通信部
１２０    情報取得部
１３０    判定部
１４０    運転モード候補抽出部
１５０    波及防止処理部
１６０    運転モード決定部
１７０    関連情報記憶部
１７１    異常情報
１７２    異常波及情報
１７３    運転モード切替情報
１７４    移行許容時間情報
１７５    波及防止判断情報
【図１】
2018194909.tif 000003
【図２】
2018194909.tif 000004
【図３】
2018194909.tif 000005
【図４】
2018194909.tif 000006
【図５】
2018194909.tif 000007
【図６】
2018194909.tif 000008
【図７】
2018194909.tif 000009
【図８】
2018194909.tif 000010
【図９】
2018194909.tif 000011
【図１０】
2018194909.tif 000012
【図１１】
2018194909.tif 000013
【図１２】
2018194909.tif 000014
【図１３】
2018194909.tif 000015