(57)【要約】【課題】車載ネットワークへのサイバー攻撃をより確実に検知する車両異常検知装置を提供する。【解決手段】車両異常検知装置１０は、判定対象車両の位置と動作状態との対応付けを示す車両データを取得する取得部１１０と、複数の車両２０の過去の位置と過去の位置における動作状態との対応付けを含む車両動作ログ２００で、判定対象車両の位置と判定対象車両の動作状態との対応付けに関連する関連動作の実績を検索し、見つかった関連動作の実績の量に基づいて、判定対象車両の動作状態に異常があるか否かについての判定を実行する検証部１２０と、判定対象車両の動作状態に異常があると判定された場合、当該判定の結果に関する情報を出力する通知部１４０とを備える。【選択図】図１
2020166452.tif 000002
【特許請求の範囲】
【請求項１】
判定対象車両の位置と前記位置における前記判定対象車両の動作状態との対応付けを示す車両データを取得する取得部と、
複数の車両それぞれについての、車両の過去の位置と前記過去の位置における前記車両の動作状態との対応付けを示す車両動作ログを用いて、前記車両データが示す前記判定対象車両の位置と前記判定対象車両の動作状態との対応付けに関連する関連動作の実績の検索を実行し、前記検索によって見つかった関連動作の実績の量に基づいて、前記判定対象車両の動作状態に異常があるか否かについての第一判定を実行する検証部と、
前記検証部が前記第一判定において前記判定対象車両の動作状態に異常があると判定した場合、前記第一判定の結果に関する情報を出力する通知部と、
を備える車両異常検知装置。
【請求項２】
前記通知部が出力する情報は、前記判定対象車両に関する追加情報の要求を含み、
前記要求に応じて取得された前記追加情報を用いて、前記判定対象車両に攻撃が発生しているか否かについての第二判定を実行する攻撃判定部をさらに備え、
前記攻撃判定部が前記第二判定において前記判定対象車両に攻撃が発生していると判定した場合、前記通知部は、前記第二判定の結果に関する情報を出力する、
請求項１に記載の車両異常検知装置。
【請求項３】
前記取得部は、前記車両データが示す位置と前記位置における前記判定対象車両の動作状態との対応付けよりも古い、前記判定対象車両の位置と前記位置における前記判定対象車両の動作状態との対応付けを示す過去車両データをさらに取得し、前記車両データ及び前記過去車両データを用いて前記判定対象車両の車速を算出し、
前記車両動作ログは、前記過去の位置及び前記過去の位置における前記車両の動作状態と、前記過去の位置における前記車両の実績の車速との対応付けをさらに含み、
前記検証部は前記第一判定において、前記検索によって見つかった関連動作の実績の量に基づいて判定対象車両の動作状態に異常がないと判定した場合、前記算出された判定対象車両の車速が、前記検索によって見つかった関連動作の実績の車速に基づく所定の範囲内にあるか否かについての判定をさらに実行し、前記判定対象車両の車速が前記所定の範囲内にない場合、前記判定対象車両の動作状態に異常があると判定する、
請求項１又は２に記載の車両異常検知装置。
【請求項４】
前記検証部は、前記車両データに示される前記位置に関連する関連動作の実績が、前記車両動作ログに所定量以上含まれているか否かについての第三判定を実行し、
前記位置に関連する関連動作の実績が所定量以上含まれていると前記検証部が判定した場合、前記検証部は前記第一判定を実行し、
前記位置に関連する関連動作の実績が所定量以上含まれていないと前記検証部が判定した場合、前記通知部は、前記判定対象車両に関する追加情報の要求を含む前記情報を出力する、
請求項１から３のいずれか一項に記載の車両異常検知装置。
【請求項５】
前記取得部は、前記判定対象車両が前記位置に存在した時刻をさらに取得し、
前記車両動作ログは、前記過去の位置と前記過去の位置に前記車両が存在していた時間帯との対応付けをさらに含み、
前記検証部は、前記車両動作ログにおいて、さらに前記時間帯が前記時刻に関連する実績を前記関連動作の実績とし、前記関連動作の実績の量が所定量以上含まれていないと前記検証部が判定した場合、前記通知部は、前記判定対象車両に関する追加情報の要求を含む前記情報を出力する、
請求項１から４のいずれか一項に記載の車両異常検知装置。
【請求項６】
前記動作状態は、運転支援機能の実行状態、加速制御、減速制御及び操舵制御の少なくともひとつに関する状態である、
請求項１から５のいずれか一項に記載の車両異常検知装置。
【請求項７】
前記検証部は、前記第一判定において前記判定対象車両の動作状態に異常がないと判定した場合、前記車両データで前記車両動作ログを更新する、
請求項１から６のいずれか一項に記載の車両異常検知装置。
【請求項８】
異常検知の対象である判定対象車両と無線通信を行い、前記判定対象車両における異常の検知を行うコンピュータを含む車両異常検知システムであって、
前記コンピュータは、
複数の車両それぞれについての、車両の過去の位置と前記過去の位置における前記車両の動作状態との対応付けを示す動作レコードを含む車両動作ログを保持するログ保持部と、
判定対象車両から、無線通信を介して前記判定対象車両の位置と前記位置における前記判定対象車両の動作状態との対応付けを示す車両データを取得する取得部と、
前記車両動作ログを用いて、前記車両データが示す前記判定対象車両の位置と前記判定対象車両の動作状態との対応付けに関連する関連動作の実績の検索を実行し、前記検索によって見つかった関連動作の実績に基づいて、前記判定対象車両の動作状態に異常があるか否かについての第一判定を実行する検証部と、
前記検証部が前記第一判定において前記判定対象車両の動作状態に異常があると判定した場合、無線通信を介して前記第一判定の結果に関する情報を前記判定対象車両に送信する通知部と、
を備える車両異常検知システム。
【請求項９】
前記通知部が送信する情報は、前記判定対象車両に関する追加情報の要求を含み、
前記コンピュータは、前記判定対象車両から前記要求に応じて送信され前記無線通信を介して取得された前記追加情報を用いて、前記判定対象車両に攻撃が発生しているか否かについての第二判定を実行する攻撃判定部をさらに備え、
前記攻撃判定部が前記第二判定において前記判定対象車両に攻撃が発生していると前記攻撃判定部が判定した場合、前記通知部は、無線通信を介して前記第二判定の結果に関する情報を前記判定対象車両に送信する、
請求項８に記載の車両異常検知システム。
【請求項１０】
前記判定対象車両は、前記無線通信を介して提供された前記第一判定の結果に応じて、前記判定対象車両に攻撃が発生しているか否かについての第二判定を実行する攻撃判定部を備える、
請求項８に記載の車両異常検知システム。
【請求項１１】
プロセッサ及びメモリを含むコンピュータに判定対象車両における異常の検知のための情報処理を実行させるプログラムであって、
前記情報処理は、
判定対象車両から、前記判定対象車両の位置と前記位置における前記判定対象車両の動作状態との対応付けを示す車両データを取得する処理と、
複数の車両それぞれについての、車両の過去の位置と前記過去の位置における前記車両の動作状態との対応付けを示す動作レコードを含む車両動作ログを用いて、前記判定対象車両の位置と前記判定対象車両の動作状態との対応付けに関連する関連動作レコードを検索し、前記検索によって見つかった関連動作レコードの件数に基づいて、前記判定対象車両の動作状態に異常があるか否かについての第一判定を実行する処理と、
前記第一判定において前記判定対象車両の動作状態に異常があると判定した場合、前記第一判定の結果に関する情報を出力する処理と、
を含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両で発生する異常の検知のための技術に関する。
【背景技術】
【０００２】
今日の自動車には多数の電子制御ユニット（ＥＣＵ：Electronic Control Unit）が配置されている。これらのＥＣＵ間では、自動車の制御のために伝送路であるバスを介して通信が行われている。ＥＣＵ及びバスで構成されるこの通信のための車載ネットワークは何らかの通信規格に準拠して構築されるのが一般的であり、例えばＩＳＯ  １１８９８シリーズで規定されているＣＡＮ（Controller Area Network）と呼ばれる規格が広く採用されている。
【０００３】
一方で、車載ネットワークはサイバー攻撃の標的とされることがある。このようなサイバー攻撃への対抗措置として、車載ネットワークを流れる不正なデータを、上記のような規格で規定されている通信プロトコルに従った通信の監視を通じて検知する技術が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１３１９０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の技術では、サイバー攻撃が、車載ネットワークで採用されている通信プロトコルの規定に従って送信されるデータ形式で行われると、攻撃の検知ができない。例えば、いわゆるなりすましの手法による攻撃では、正常な他のＥＣＵを装う不正なＥＣＵから、車載ネットワークで送受信されるデータの解析結果に基づいて生成される不正なデータが通信プロトコルの規定に従ったデータ形式で送信される。そしてこの不正なデータは、特許文献１に記載の技術では検知されることなく車載ネットワーク内の他のＥＣＵ（または他の装置）が受信する。受信されたデータはこのＥＣＵの不適切な制御（またはこの装置の不適切な動作）の原因となり、車両の不測の挙動を招き得る。
【０００６】
そこで本発明は、上記のなりすまし等のサイバー攻撃をより確実に検知する車両異常検知装置及び車両異常検知システムを提供する。また本発明は、これらの車両異常検知装置及び車両異常検知システムで用いられるプログラムを提供する。
【課題を解決するための手段】
【０００７】
本発明の一態様に係る車両異常検知装置は、判定対象車両の位置と前記位置における前記判定対象車両の動作状態との対応付けを示す車両データを取得する取得部と、複数の車両それぞれについての、車両の過去の位置と前記過去の位置における前記車両の動作状態との対応付けを示す車両動作ログを用いて、前記車両データが示す前記判定対象車両の位置と前記判定対象車両の動作状態との対応付けに関連する関連動作の実績の検索を実行し、前記検索によって見つかった関連動作の実績の量に基づいて、前記判定対象車両の動作状態に異常があるか否かについての第一判定を実行する検証部と、前記検証部が前記第一判定において前記判定対象車両の動作状態に異常があると判定した場合、前記第一判定の結果に関する情報を出力する通知部とを備える。
【０００８】
また、本発明の一態様に係る車両異常検知システムは、異常検知の対象である判定対象車両と無線通信を行い、前記判定対象車両における異常の検知を行うコンピュータを含む車両異常検知システムであって、前記コンピュータは、複数の車両それぞれについての、車両の過去の位置と前記過去の位置における前記車両の動作状態との対応付けを示す動作レコードを含む車両動作ログを保持するログ保持部と、判定対象車両から、無線通信を介して前記判定対象車両の位置と前記位置における前記判定対象車両の動作状態との対応付けを示す車両データを取得する取得部と、前記車両動作ログを用いて、前記車両データが示す前記判定対象車両の位置と前記判定対象車両の動作状態との対応付けに関連する関連動作の実績の検索を実行し、前記検索によって見つかった関連動作の実績に基づいて、前記判定対象車両の動作状態に異常があるか否かについての第一判定を実行する検証部と、前記検証部が前記第一判定において前記判定対象車両の動作状態に異常があると判定した場合、無線通信を介して前記第一判定の結果に関する情報を前記判定対象車両に送信する通知部とを備える。
【０００９】
また、本発明の一態様に係るプログラムは、プロセッサ及びメモリを含むコンピュータに判定対象車両における異常の検知のための情報処理を実行させるプログラムであって、前記情報処理は、判定対象車両から、前記判定対象車両の位置と前記位置における前記判定対象車両の動作状態との対応付けを示す車両データを取得する処理と、複数の車両それぞれについての、車両の過去の位置と前記過去の位置における前記車両の動作状態との対応付けを示す動作レコードを含む車両動作ログを用いて、前記判定対象車両の位置と前記判定対象車両の動作状態との対応付けに関連する関連動作レコードを検索し、前記検索によって見つかった関連動作レコードの件数に基づいて、前記判定対象車両の動作状態に異常があるか否かについての第一判定を実行する処理と、前記第一判定において前記判定対象車両の動作状態に異常があると判定した場合、前記第一判定の結果に関する情報を出力する処理とを含む。
【発明の効果】
【００１０】
本発明によれば、サイバー攻撃をより確実に検知する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施の形態１に係る車両異常検知システムの構成例を示す図である。
【図２】図２は、上記の車両異常検知システムで用いられる車両動作ログのデータ構成例を示す図である。
【図３】図３は、上記の車両異常検知システムによる異常検知を含む処理のための動作手順の例を示すフロー図である。
【図４】図４は、上記の車両異常検知システムによる異常検知を含む処理のための構成要素間の連携の例を示すシーケンス図である。
【図５】図５は、実施の形態２に係る車両異常検知システムによる異常検知を含む処理のための構成要素間の連携の例を示すシーケンス図である。
【図６Ａ】図６Ａは、実施の形態３に係る車両異常検知システムで用いられる車両動作ログのデータ構成例を示す図である。
【図６Ｂ】図６Ｂは、実施の形態３に係る車両異常検知システムによる異常検知を含む処理のための構成要素間の連携の例を示すシーケンス図である。
【図７Ａ】図７Ａは、実施の形態４に係る車両異常検知システムで用いられる車両動作ログのデータ構成例を示す図である。
【図７Ｂ】図７Ｂは、実施の形態４に係る車両異常検知システムによる異常検知を含む処理のための構成要素間の連携の例を示すシーケンス図である。
【図８】図８は、変形例に係る車両異常検知システムで用いられる車両動作ログのデータ構成例を示す図である。
【図９】図９は、変形例に係る車両異常検知システムの構成例を示す図である。
【発明を実施するための形態】
【００１２】
（本発明の基礎となった知見）
本発明者らは、サイバー攻撃を受けている車両では、その車両が存在している位置に対して妥当性の低い動作又は機能が実行されるという動作の状態が発生し得ることに着目した。
【００１３】
例えば一般道の本線を走行中の車両では、駐車支援機能（ＩＰＡ：Intelligent Parking Assist、以下ではＩＰＡと表記する）を備える車両においてこの機能が実行される状況は考えにくい。逆に、駐車場内にある車両で、定速走行・車間距離制御機能（ＡＣＣ：Adaptive Cruise Control、以下ではＡＣＣと表記する）又は車線維持補助機能（ＬＫＡ：Lane Keeping Assist、以下ではＬＫＡと表記する）が実行される状況は考えにくい。また、一般道の本線を走行中の車両で、操舵量は小さいにもかかわらず一般的な速度に比べて低速な走行が続いているようであれば、渋滞でもなければこの車両に何らかの異常が発生している可能性がある。本発明者は、車両の位置と動作状態の実績とのこのような対応関係は、異常が発生していない車両と、サイバー攻撃を含む何らかの原因で異常の発生している車両との間で、見られる頻度に大きな差があると考え、この差を異常の検知に利用するという着想を得た。
【００１４】
本発明の一態様に係る車両異常検知装置は、判定対象車両の位置と前記位置における前記判定対象車両の動作状態との対応付けを示す車両データを取得する取得部と、複数の車両それぞれについての、車両の過去の位置と前記過去の位置における前記車両の動作状態との対応付けを示す車両動作ログを用いて、前記車両データが示す前記判定対象車両の位置と前記判定対象車両の動作状態との対応付けに関連する関連動作の実績の検索を実行し、前記検索によって見つかった関連動作の実績の量に基づいて、前記判定対象車両の動作状態に異常があるか否かについての第一判定を実行する検証部と、前記検証部が前記第一判定において前記判定対象車両の動作状態に異常があると判定した場合、前記第一判定の結果に関する情報を出力する通知部とを備える。
【００１５】
このような構成を有する車両異常検知装置は、ある位置にいる異常検知判定の目下の対象の車両（上記の判定対象車両）の動作状態に、その位置における他車の動作状態の実績に照らしての妥当性に基づいて異常があるか否かについて判定する（第一判定）。判定対象車両の動作状態の妥当性が低い場合とは、例えば過去にその位置を走行した車両の動作状態の実績を集めたログに、判定対象車両のその動作状態と同じ又は近い動作状態を示すレコードが存在しない場合である。この場合、判定対象車両の動作状態に異常があると判定される（異常の検知）。この判定手法を実行する上記の車両異常検知装置では、車載ネットワークで用いられている通信プロトコル上は問題がないデータを用いたサイバー攻撃が原因の異常であっても、従来の手法に比べてより確実な検知が可能であり、車載ネットワークのサイバー攻撃に対する耐性の強化に寄与する。第一判定の結果に関する情報は、その結果に応じて、ドライバーへの報知、又はデータのさらなる解析等の次の処理等のために通知部から出力される。
【００１６】
例えば、前記通知部が出力する情報は、前記判定対象車両に関する追加情報の要求を含み、前記要求に応じて取得された前記追加情報を用いて、前記判定対象車両に攻撃が発生しているか否かについての第二判定を実行する攻撃判定部をさらに備え、前記攻撃判定部が前記第二判定において前記判定対象車両に攻撃が発生していると判定した場合、前記通知部は、前記第二判定の結果に関する情報を出力してもよい。
【００１７】
第一判定で異常があると判定された場合、このように取得される判定対象車両に関するさらなる情報を用いて、判定対象車両でサイバー攻撃が発生しているか否か判定される（第二判定）。第二判定の結果に関する情報は、その結果に応じて、ドライバーへの報知又は不正ＥＣＵへの処理等の、異常に対処するための次の処理等のために通知部から出力される。
【００１８】
また例えば、前記取得部は、前記車両データが示す位置と前記位置における前記判定対象車両の動作状態との対応付けよりも古い、前記判定対象車両の位置と前記位置における前記判定対象車両の動作状態との対応付けを示す過去車両データをさらに取得し、前記車両データ及び前記過去車両データを用いて前記判定対象車両の車速を算出し、前記車両動作ログは、前記過去の位置及び前記過去の位置における前記車両の動作状態と、前記過去の位置における前記車両の実績の車速との対応付けをさらに含み、前記検証部は前記第一判定において、前記検索によって見つかった関連動作の実績の量に基づいて判定対象車両の動作状態に異常がないと判定した場合、前記算出された判定対象車両の車速が、前記検索によって見つかった関連動作の実績の車速に基づく所定の範囲内にあるか否かについての判定をさらに実行し、前記判定対象車両の車速が前記所定の範囲内にない場合、前記判定対象車両の動作状態に異常があると判定してもよい。
【００１９】
このような構成を有する車両異常検知装置は、さらに判定対象車両から取得される、車速を直接示す情報以外の情報から取得した判定対象車両の車速の情報を判定対象車両の動作状態の異常の有無の検知に利用することができる。これにより、虚偽の車速を示すデータを生成するサイバー攻撃が判定対象車両で発生しても、そのサイバー攻撃による異常をより確実に検知することができる。また、サイバー攻撃が原因でなくても、車速に関するデータが正確性を失う異常は車両の安全性に大きく関わる。したがって、この異常をより確実に検知することで、車両の動作の信頼性を高めることができる。
【００２０】
また例えば、前記検証部は、前記車両データに示される前記位置に関連する関連動作の実績が、前記車両動作ログに所定量以上含まれているか否かについての第三判定を実行し、前記位置に関連する関連動作の実績が所定量以上含まれていると前記検証部が判定した場合、前記検証部は前記第一判定を実行し、前記位置に関連する関連動作の実績が所定量以上含まれていないと前記検証部が判定した場合、前記通知部は、前記判定対象車両に関する追加情報の要求を含む前記情報を出力してもよい。
【００２１】
他車の動作状態の実績の十分な蓄積がない状況は、すなわち動作状態の妥当性を計る基準がない状況であり、異常検知を正確に行うことができない。上記の構成を有する車両異常検知装置は、判定対象車両の位置と同じ位置を走行していた車両から、正確な異常検知に必要な量の動作状態の実績が集められているか否か判定する（第三判定）。量が不十分な場合は、位置と動作状態との対応関係に基づく第一判定を行うことなく、それ以外の情報を利用する第二判定を行う。これにより、精度の不十分な第一判定は実行せず、かつ、判定対象車両で発生する攻撃による異常が検知できない状況の発生は抑えられる。
【００２２】
また例えば、前記取得部は、前記判定対象車両が前記位置に存在した時刻をさらに取得し、前記車両動作ログは、前記過去の位置と前記過去の位置に前記車両が存在していた時間帯との対応付けをさらに含み、前記検証部は、前記車両動作ログにおいて、さらに前記時間帯が前記時刻に関連する実績を前記関連動作の実績とし、前記関連動作の実績の量が所定量以上含まれていないと前記検証部が判定した場合、前記通知部は、前記判定対象車両に関する追加情報の要求を含む前記情報を出力してもよい。
【００２３】
車両の位置と妥当な動作状態との対応関係は、例えば日中と夜間、平日と週末といった時間的な要素に応じて変化することもある。上記の構成を有する車両異常検知装置では、このような時間的な要素も加味した上で、より精度の高い適切な判定が可能になる。
【００２４】
また例えば、前記動作状態は、運転支援機能の実行状態、加速制御、減速制御及び操舵制御の少なくともひとつに関する状態であってもよい。
【００２５】
これにより、判定対象車両に対する第一判定は、安全性に影響する走行中の挙動に関わる種々の動作状態に異常があるか否かについて実行される。したがって、より効率的かつ効果的に判定対象車両の安全性が確保される。
【００２６】
また例えば、前記検証部は、前記第一判定において前記判定対象車両の動作状態に異常がないと判定した場合、前記車両データで前記車両動作ログを更新してもよい。
【００２７】
これにより、異常が発生していない判定対象車両の位置と動作状態との対応関係を示す情報が蓄積され、将来この位置を走行する車両の異常判定に利用できる。
【００２８】
また、本発明の一態様に係る車両異常検知システムは、異常検知の対象である判定対象車両と無線通信を行い、前記判定対象車両における異常の検知を行うコンピュータを含む車両異常検知システムであって、前記コンピュータは、複数の車両それぞれについての、車両の過去の位置と前記過去の位置における前記車両の動作状態との対応付けを示す動作レコードを含む車両動作ログを保持するログ保持部と、判定対象車両から、無線通信を介して前記判定対象車両の位置と前記位置における前記判定対象車両の動作状態との対応付けを示す車両データを取得する取得部と、前記車両動作ログを用いて、前記車両データが示す前記判定対象車両の位置と前記判定対象車両の動作状態との対応付けに関連する関連動作の実績の検索を実行し、前記検索によって見つかった関連動作の実績に基づいて、前記判定対象車両の動作状態に異常があるか否かについての第一判定を実行する検証部と、前記検証部が前記第一判定において前記判定対象車両の動作状態に異常があると判定した場合、無線通信を介して前記第一判定の結果に関する情報を前記判定対象車両に送信する通知部とを備える。
【００２９】
このような構成を有する車両異常検知システムで保持される車両動作ログは、車両の位置と異常がない動作状態との対応関係の実績を集めたデータである。そして、ある位置にいる異常検知判定の目下の対象の車両（判定対象車両）の動作状態に異常があるか否かが、このデータに照らしての妥当性に基づいて判定される（第一判定）。したがって、この判定手法を実行する上記の車両異常検知システムでは、車載ネットワークで用いられている通信プロトコル上は問題がないデータを用いたサイバー攻撃が原因の異常であっても、従来の手法に比べてより確実な検知が可能であり、車載ネットワークのサイバー攻撃に対する耐性の強化に寄与する。第一判定の結果に関する情報は、その結果に応じて、ドライバーへの報知、又はデータのさらなる解析等の次の処理等のために通知部から出力される。
【００３０】
また例えば、前記通知部が送信する情報は、前記判定対象車両に関する追加情報の要求を含み、前記コンピュータは、前記判定対象車両から前記要求に応じて送信され前記無線通信を介して取得された前記追加情報を用いて、前記判定対象車両に攻撃が発生しているか否かについての第二判定を実行する攻撃判定部をさらに備え、前記攻撃判定部が前記第二判定において前記判定対象車両に攻撃が発生していると前記攻撃判定部が判定した場合、前記通知部は、無線通信を介して前記第二判定の結果に関する情報を前記判定対象車両に送信してもよい。
【００３１】
第一判定で異常があると判定された場合、このように取得される判定対象車両に関するさらなる情報を用いて判定対象車両に攻撃が発生しているか否か判定される（第二判定）。第二判定の結果に関する情報は、その結果に応じて、ドライバーへの報知又は不正ＥＣＵへの処理等、異常に対処するための次の処理等のために通知部から出力される。
【００３２】
また例えば、前記判定対象車両は、前記無線通信を介して提供された前記第一判定の結果に応じて、前記判定対象車両に攻撃が発生しているか否かについての第二判定を実行する攻撃判定部を備えてもよい。
【００３３】
このような構成を有する車両異常検知システムでは、判定対象車両以外の車両からも集められた車両動作ログを用いて判定対象車両の動作状態に異常があるか否かの判定（第一判定）がまず実行される。この判定の結果を含む情報を受信した判定対象車両では、例えば判定対象車両上で取得可能な情報を用いて判定対象車両に攻撃が発生しているか否か判定される（第二判定）。これにより処理負荷の分散が図られ、異常発生時の対処に遅延が生じる可能性を抑えることができる。また、判定対象車両が受信する第一判定の結果に関する情報には、例えば関連動作レコードに含まれていた妥当な動作状態の情報が含まれていてもよい。そしてこの情報は、判定対象車両上の攻撃判定部による攻撃の有無の判定に用いられてもよい。
【００３４】
また、本発明の一態様に係るプログラムは、プロセッサ及びメモリを含むコンピュータに判定対象車両における異常の検知のための情報処理を実行させるプログラムであって、前記情報処理は、判定対象車両から、前記判定対象車両の位置と前記位置における前記判定対象車両の動作状態との対応付けを示す車両データを取得する処理と、複数の車両それぞれについての、車両の過去の位置と前記過去の位置における前記車両の動作状態との対応付けを示す動作レコードを含む車両動作ログを用いて、前記判定対象車両の位置と前記判定対象車両の動作状態との対応付けに関連する関連動作レコードを検索し、前記検索によって見つかった関連動作レコードの件数に基づいて、前記判定対象車両の動作状態に異常があるか否かについての第一判定を実行する処理と、前記第一判定において前記判定対象車両の動作状態に異常があると判定した場合、前記第一判定の結果に関する情報を出力する処理とを含む。
【００３５】
なお、これらの包括的又は具体的な態様は、方法、集積回路、又はコンピュータで読み取り可能なＣＤ−ＲＯＭ等の記録媒体で実現されてもよいし、装置、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されてもよい。
【００３６】
以下、実施の形態に係る車両異常検知システム又は車両異常検知装置について、図面を参照しながら説明する。ここで示す実施の形態は、いずれも本発明の一具体例を示すものである。したがって、以下の実施の形態で示される数値、構成要素、構成要素の配置及び接続形態、機能的な構成要素間の機能分担、並びにステップ（工程）及びステップの順序等は、一例であって本発明を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は模式図であり、構成要素の形状、配置、接続形態又は数量を必ずしも厳密に図示するものではない。
【００３７】
（実施の形態１）
実施の形態１に係る車両異常検知システムは、複数台の車両から各車両の位置及び動作状態に関するデータを収集し、この収集したデータを用いて個別の車両の動作状態の異常の有無を判定する。さらに車両異常検知システムは、この判定の結果に応じて、通知、攻撃の有無の判定、又はデータの蓄積等の処理を実行する。
【００３８】
［１．構成］
図１は、本実施の形態に係る車両異常検知システム１０の構成例を示す図である。
【００３９】
車両異常検知システム１０は、複数台の車両２０とインターネットなどの通信ネットワーク８０を介して通信し、各車両から上述のデータを収集する。車両異常検知システム１０の構成要素には、車両データ取得部１１０、車両動作検証部１２０、攻撃判定部１３０、通知部１４０、及びログ保持部１９０が含まれる。車両異常検知システム１０は、複数の場所にあって通信回線を通じて通信可能な複数台のコンピュータを用いて実現される。または一台又は同じ場所にあって通信可能に接続された複数台のコンピュータによる車両異常検知装置としても実現可能である。ただし、以下の説明では車両異常検知システムでの実施を例に用いて説明する。上記の構成要素は、コンピュータが備えるメモリに記憶される１個又は複数個のプログラムを、同じくコンピュータが備えるプロセッサが実行することで実現される機能的な構成要素である。なお、車両異常検知システム１０には、図１に示されない構成要素も含まれ得る。例えばゲートウェイ、ロードバランサ、ファイアウォール等の、通信ネットワーク８０との通信又はコンピュータ間の通信を適切に実現する構成要素も含まれ得る。または、後述のログを管理する構成要素も含まれ得る。
【００４０】
車両データ取得部１１０は、車両２０の位置及びその位置における車両２０の所定の動作状態との対応付けを示すデータを取得する。
【００４１】
車両２０の位置に関する情報は、例えば車両２０の各々でＧＰＳ（Global Positioning System）等の車載の測位システムから取得される。車両２０の所定の動作状態に関する情報とは、異常のない車両２０の位置との間に比較的高い相関が見られる各種の運転支援機能の実行状態、つまり、所定の運転支援機能が実行中であるか否かに関する情報である。具体的な例を挙げると、一般道の本線又は高速道路という位置は、ＩＰＡの実行中でない状態、ＡＣＣ又はＬＫＡの実行中である状態と相関が高い。また、駐車場という位置はその逆で、ＩＰＡの実行中である状態、及びＡＣＣ又はＬＫＡの実行中でない状態と相関が高い。図１の構成例では、車両２０の位置に関する情報及び動作状態に関する情報は、車両２０の各々の車載ネットワークシステム内で流される情報として取得され、通信ネットワーク８０を介して車両異常検知システム１０に送信される。位置の情報と当該位置における車両２０の動作状態とは各車両２０において対応付けられた上で送信されてもよいし、各車両２０から送信される位置の情報と動作状態の情報を受信した車両異常検知システム１０の車両データ取得部１１０によって、送信元である車両２０及び受信時刻等の時間的な要素に基づいて対応づけられてもよい。このようにして、車両データ取得部１１０は車両２０の位置の情報と当該位置における車両２０の動作状態の情報との対応付けを示すデータ（本開示では車両データとも称する）を取得する。なお、車両２０から車両異常検知システム１０への上記の情報の送信の頻度は、設計事項として適宜決定し得る。例えば、これらの情報は所定の時間間隔で送信されてもよいし、車両２０の所定の移動距離に応じて、又は所定の位置で送信されてもよい。別の例として、車両２０の車内の状況、例えば車載ネットワークで送信されるメッセージの量に応じて、又は所定のイベント（例：車車間通信の実行、ＥＣＵのファームウェアの更新）の発生時に送信されてもよい。また別の例として、車両異常検知システム１０が異常検知を実行する際に送信を要求してもよい。これらの送信のタイミングは組み合わせて用いられてもよいし、相互に切り換えて用いられてもよい。
【００４２】
車両動作検証部１２０は、ログ保持部１９０に保持される後述の車両動作ログ２００で、車両データ取得部１１０が取得した車両データで対応付けて示される車両２０の位置及び動作状態に関連する動作の実績の検索を実行する。
【００４３】
車両動作ログ２００は、車両２０に関する過去の車両データに基づくログであって、車両２０それぞれの過去の位置と、その過去の位置における当該車両２０の動作状態との実績に関するレコード（本開示では動作レコードともいう）を含むデータベースである。図２は、本実施の形態に係る車両異常検知システム１０で用いられる車両動作ログ２００のデータ構成例を示す図である。この車両動作ログ２００のデータ行の一行目にある動作レコードは、ある期間において、「３４．７３８３，１３５．５７３６」の値で示される位置で車両２０のＡＣＣが実行中であった実績が９８７回であることを示す。また、データ行の二行目にある動作レコードは、ある期間において、「３４．７３８３，１３５．５７３６」の値で示される位置で車両２０のＩＰＡが実行中であった実績が６回であることを示す。このように車両動作ログ２００では、車両２０の過去の位置と、この過去の位置における車両２０の動作状態との対応付けが、これらを組み合わせて含む動作レコードによって示される。
【００４４】
関連する動作の実績の検索は、車両動作ログ２００の中を、車両２０のうちで異常検知判定の目下の対象である車両（本開示では判定対象車両とも称する）の車両データで対応付けが示されている判定対象車両の位置及び動作状態と同一の組み合わせの位置及び動作状態の対応付けを示す動作レコードを検索することで実行される。例えば「３４．７３８３，１３５．５７３６」の値が示す位置とＡＣＣが実行中である動作状態との対応付けを示す車両データを車両データ取得部１１０が判定対象車両から取得したとする。この場合に車両動作検証部１２０が図２の車両動作ログ２００で検索して見つけるのは、データ行の一行目にある動作レコードである。また、この動作レコードに含まれる動作回数のフィールドの値が、車両データが示す対応付けに関連する動作（関連動作）の実績の例である。これらの動作回数のフィールドの値は、集計期間において、ある特定の位置をある特定の動作状態にある車両２０が走行した頻度（度数）ともいえる。車両動作検証部１２０は、このような関連動作の実績に基づいて、判定対象車両の動作状態に異常があるか否かについての判定（本開示では第一判定とも称する）を実行する。
【００４５】
なお、車両異常検知システム１０で用いられる車両動作ログのデータ構成は、車両の位置と動作状態との対応付けを示すものであればよく、図２に示される車両動作ログ２００の形式に限定されない。別の例として、車両動作ログの動作レコードには動作回数のフィールドがなく、車両の位置と動作状態との組み合わせの発生１回につき１件の動作レコードが含まれてもよい。この場合、車両動作ログが含む動作レコードのうち、車両データ取得部１１０が取得した車両データで示される位置と動作状態との対応付けと同一の位置及び動作状態の対応付けを示す動作レコードの件数が関連動作の実績に相当する。
【００４６】
また、本開示における車両異常検知システムで用いられる車両動作ログは、位置、動作状態、動作回数以外の情報をさらに含んでもよい。車両動作ログに含まれ得る他の情報の例は、その利用方法とあわせて別の実施の形態として後述する。
【００４７】
上記のように車両動作検証部１２０が関連動作の実績に基づいて実行する第一判定は、ある位置で妥当性が高い、つまり異常が起こっていない車両の動作状態は、より頻繁に発生するという認識を根拠とする。例えば、上記の検索で見つかった関連動作の発生回数（動作回数）が所定の基準より少ない場合に、車両動作検証部１２０は判定対象車両の動作状態に異常があると判定してもよい。別の例として、関連動作の動作回数が、車両動作ログ２００に含まれる同じ位置での全種類の中でももっとも動作回数の多い場合に、判定対象車両の動作状態に異常がなく、それ以外の場合は異常があると判定されてもよい。また別の例として、関連動作の動作回数が、車両動作ログ２００に含まれる同じ位置で発生した全種類の動作状態の動作回数の合計に占める割合が所定の基準より低い場合、判定対象車両の動作状態に異常があると判定されてもよい。より具体的な例として、車両データ取得部１１０が、「３４．７３８３，１３５．５７３６」の値が示す位置とＩＰＡが実行中である動作状態との対応付けを示す車両データを判定対象車両から取得したとする。この場合に車両動作検証部１２０が図２の車両動作ログ２００で検索して見つけるのは、データ行の二行目にある動作レコードである。ここで、この位置での上記の動作回数の基準の値として５００が設定されているとする。この場合、車両動作検証部１２０は、見つかった関連動作の実績である動作回数が６であり５００に満たないため、判定対象車両の動作状態に異常があると判定する。
【００４８】
車両異常検知システム１０では、第一判定の結果に応じた処理がさらに実行される。
【００４９】
車両動作検証部１２０が第一判定において判定対象車両の動作状態に異常があると判定した場合、第一判定のこの結果に関する情報が通知部１４０から出力されてもよい。第一判定の結果に関する情報には、例えば判定対象車両において、異常が検知された旨の情報をドライバーに対して提示させるための情報が含まれてもよい。また、判定対象車両にサイバー攻撃が発生しているか否かについての判定（本開示では第二判定とも称する）に用いる、判定対象車両に関する追加情報の要求が含まれてもよい。この第二判定を実行するのが、攻撃判定部１３０である。第二判定に用いられる追加情報とは、例えば判定対象車両の車載ネットワークシステム内部での通信又は外部との通信のログ、ゲートウェイ等の通信機器又はＥＣＵのファームウェアの更新ログに含まれる情報である。このような情報の要求は、本実施の形態では判定対象車両に送信される。なお、追加で送信される情報の種類、発生の時期等は、あらかじめ決められていてもよいし、通知部１４０から送信される要求で指定されていてもよい。
【００５０】
攻撃判定部１３０は、例えば判定対象車両がこの要求に応じて送信する追加情報のデータを取得し、この情報を用いて上述の第二判定を実行する。攻撃判定部１３０が第二判定において、判定対象車両に攻撃が発生していると判定した場合、第二判定のこの結果に関する情報が通知部１４０から出力されてもよい。第二判定の結果に関する情報には、例えば、判定対象車両にサイバー攻撃発生した又は発生している旨の情報をドライバーに対して提示させるための情報が含まれてもよい。またはさらに、発生した異常に応じた適切な行動（例えば路肩への退避）をドライバーに促すための情報が含まれてもよい。また例えば、判定対象車両の車載ネットワークシステムにこのサイバー攻撃への対処を実行させる情報が含まれていてもよい。車載ネットワークシステムが実行する対処の例としては、不正なメッセージを送出しているＥＣＵ又は攻撃の標的となっているＥＣＵの無効化、サイバー攻撃の影響を受け得る機能の停止、自動運転による車両の退避が挙げられる。
【００５１】
また、車両動作検証部１２０が第一判定において判定対象車両の動作状態に異常がないと判定した場合、判定対象車両の車両データが車両動作ログ２００に追加されてもよい。つまりこの場合、車両データは車両動作ログ２００に含まれる動作レコードとなって、将来この位置を走行する車両の異常判定に利用される。また、攻撃判定部１３０が第二判定において、判定対象車両に攻撃は発生していないと判定した場合、車両動作検証部１２０によって判定対象車両の車両データが車両動作ログ２００に追加されてもよい。例えば図２に示される車両動作ログ２００のデータ行の二行目にある動作レコードは、「３４．７３８３，１３５．５７３６」の値で示される位置において発生頻度が低い動作状態を含む車両データが車両動作ログ２００に追加されたことによって生じたレコードであり得る。
【００５２】
ここまで、本実施の形態に係る車両異常検知システム１０の構成要素及び各構成要素の機能について説明した。車両異常検知システム１０では、これらの各構成要素が各々の機能を発揮する処理を実行することによって判定対象車両の動作状態に対する異常検知の判定（第一判定）が実行され、また、その判定の結果に応じた処理がなされる。次に、この異常検知を含む処理を実行する車両異常検知システム１０の動作手順もついて、例を用いて説明する。
【００５３】
［２．動作］
図３は、車両異常検知システム１０による異常検知を含む処理のための動作手順の例を示すフロー図である。
【００５４】
車両異常検知システム１０は、図３のフロー図に示す動作手順を、車両２０の各々から位置に関する情報及び動作状態に関する情報を受信しながら実行する。これらの情報が車両２０において対応付けられてから車両異常検知システム１０に送信されるか、車両異常検知システム１０で受信後に車両データ取得部１１０によって対応付けられるかは選択し得る設計事項である。いずれの場合も、車両データ取得部１１０は、動作状態の異常検知判定の目下の対象である判定対象車両の位置と、この位置における判定対象車両の動作状態との対応付けを示す車両データを取得する（ステップＳ１０）。なお、車両異常検知システム１０にこれらの情報を送信する車両２０のいずれもが判定対象車両となり得る。図３のフロー図を用いて説明する本手順のステップは一台の判定対象車両を対象に一連に実行され、この手順による処理が車両２０のそれぞれに対して個別に行われると理解されたい。
【００５５】
次に、車両動作検証部１２０が、車両動作ログ２００で、車両データ取得部１１０が取得した車両データが示す判定対象車両の位置と動作状態との対応付けに関連する関連動作の実績の検索を実行する（ステップＳ２０）。そして、この検索によって見つかった関連動作の実績に基づいて、判定対象車両の動作状態に異常があるか否かについての判定（第一判定）を実行する（ステップＳ３０）。図３の例では、第一判定は、車両動作ログ２００に含まれる、車両２０の位置と動作状態との対応付けを示す動作レコードのうち、判定対象車両の車両レコードと同一の対応付けを示す関連動作レコードの件数を関連動作の実績として用い、この件数と所定の基準件数ｎとの比較によって行われている。関連動作レコードの件数がｎ以上であれば（ステップＳ３０でＹｅｓ）、車両動作検証部１２０は判定対象車両の動作状態に異常がないと判定する（ステップＳ４０）。動作レコードの件数がｎ未満であれば（ステップＳ３０でＮｏ）、車両動作検証部１２０は判定対象車両の動作状態に異常があると判定する（ステップＳ５０）。
【００５６】
判定対象車両の動作状態に異常があると判定されると、この判定の結果に関する情報が通知部１４０から出力される。図３の例では、通知部１４０から判定対象車両に関する追加情報の要求が判定対象車両に送信される（ステップＳ６０）。
【００５７】
車両異常検知システム１０がこの要求に応じて判定対象車両から送信された追加情報を取得すると（ステップＳ７０）、攻撃判定部１３０がこの追加情報を用いて、判定対象車両にサイバー攻撃が発生しているか否かについての判定（第二判定）を実行する（ステップＳ８０）。
【００５８】
サイバー攻撃が発生していると判定された場合（ステップＳ８０でＹｅｓ）、この判定の結果に関する情報が通知部１４０から出力される。図３の例では、通知部１４０からサイバー攻撃が発生している旨の通知が判定対象車両に送信される（ステップＳ６０）。この通知を受けた判定対象車両では、例えばサイバー攻撃が発生していることの情報がドライバーに提示されたり、サイバー攻撃の影響を受け得る機能が停止されてもよい。
【００５９】
判定対象車両の動作状態に異常がないと判定された場合（ステップＳ３０でＹｅｓからステップＳ４０）、又は判定対象車両にサイバー攻撃が発生していないと判定された場合（ステップＳ８０でＮｏからステップＳ９０）、車両動作検証部１２０は、判定に用いた判定対象車両の車両データを動作レコードとして追加して、又は適切な動作レコードに反映させて車両動作ログ２００を更新する（ステップＳ１００）。
【００６０】
ここまでが、車両異常検知システム１０による異常検知を含む処理のための動作手順の一例である。なお、車両異常検知システム１０によるこの処理のための動作手順、及び上述の各ステップの内容はこの例に限定されない。例えばステップＳ３０では、上記の例の動作レコードの件数に代えて、車両異常検知システム１０の構成の説明で例示したような集計された動作回数が用いられたり、同じ位置で発生した全種類の動作状態の動作回数の合計に占める割合が用いられたりしてもよい。また、ステップＳ６０又はステップＳ９０で通知部１４０が出力する判定の結果に関連する情報は、図３のフロー図に例示される情報以外の情報でもよいし、判定対象車両とは別の通知先に提供されてもよい。例えば、判定対象車両に異常あり又はサイバー攻撃の発生という判定結果が、図示しない車両メーカー等のＳＯＣ（Security Operation Center）に提供されてもよい。
【００６１】
ここで、図４のシーケンス図を用いて、車両異常検知システム１０における構成要素間の連携について図３のフロー図の内容に補足する。図４は、車両異常検知システム１０による異常検知を含む処理のための構成要素間の連携の一例を示すシーケンス図である。図４では、図３のフロー図にあるステップに対応する要素は共通の符号を用いて示している。ただし、ログ保持部１９０については図４での図示を省略している。なお、図４中の車両２０は判定対象車両である。
【００６２】
図４に示されるように、車両データ取得部１１０は、判定対象車両である車両２０から自車の位置に関する情報ｐ（以下、単に位置ｐのようにも表記する）及びこの位置での自車の動作状態に関する情報ｂ（以下、単に動作状態ｂのようにも表記する）を受信し、位置ｐと動作状態ｂとの対応付けを示す車両データ（ｐ，ｂ）を取得する（ステップＳ１０）。
【００６３】
車両動作検証部１２０は、車両データ取得部１１０から入力を受けた車両データ（ｐ，ｂ）が示す対応付けに関連する関連動作の実績を車両動作ログで検索する（ステップＳ２０）。次いで車両動作検証部１２０は、検索の結果見つかった実績の量に基づく第一判定を実行する。図４の例では、第一判定は、この実績の量としての関連動作レコードの件数を基準件数ｎと比較することで行われる。関連動作レコードの件数がｎ以上であれば異常なしと判定し（ステップＳ３０でＹｅｓ）、車両動作検証部１２０は車両データ（ｐ，ｂ）で車両動作ログを更新する（ステップＳ１００）。関連動作レコードの件数がｎ未満であれば異常ありと判定し（ステップＳ３０でＮｏからステップＳ５０）、車両動作検証部１２０はその結果を通知部１４０に通知する。
【００６４】
この結果の通知を受け取った通知部１４０は、車両２０に自車に関する追加情報を要求する（ステップＳ６０）。この要求を受け取った車両２０は、自車の通信ログ等の情報を送信する。
【００６５】
車両２０から追加で送信された情報は攻撃判定部１３０に入力される。攻撃判定部１３０は、この情報を用いて車両２０にサイバー攻撃が発生しているか否か判定する（ステップＳ８０）。サイバー攻撃が発生していると判定した場合（ステップＳ８０でＹｅｓ）、攻撃判定部１３０は通知部１４０に、車両２０でのサイバー攻撃の発生に関する情報を出力するよう要求する。図４の例では、この要求を受けた通知部１４０から車両２０にサイバー攻撃の発生の旨が通知されている。サイバー攻撃が発生していないと判定した場合（ステップＳ８０でＮｏ）、攻撃判定部１３０は車両動作検証部１２０に車両動作ログの更新を要求し、この要求を受けた車両動作検証部１２０は、車両データ（ｐ，ｂ）を車両動作ログの新たな動作レコードとして追加することで、又は適切な動作レコードに反映させることで車両動作ログを更新する（ステップＳ１００）。
【００６６】
［３．小括］
以上述べたように、本実施の形態に係る車両異常検知システム１０は、動作状態の異常の検知の対象である判定対象車両と無線通信を行い、判定対象車両における異常の検知を行うコンピュータを含む。
【００６７】
このコンピュータは、ログ保持部１９０と、車両データ取得部１１０と、車両動作検証部１２０と、通知部１４０とを備える。ログ保持部１９０は、複数の車両２０それぞれについての、過去の位置とこの位置における当該車両２０の動作状態との対応付けを示す動作レコードを含む車両動作ログ２００を保持する。また、車両データ取得部１１０は、判定対象車両から、無線通信を介して判定対象車両の位置とこの位置における判定対象車両の動作状態との対応付けを示す車両データを取得する。車両動作検証部１２０は、車両動作ログ２００を用いて、車両データが示す判定対象車両の位置と動作状態との対応付けに関連する関連動作の実績の検索を実行し、この検索によって見つかった実績に基づいて、判定対象車両の動作状態に異常があるか否かについての判定（第一判定）を実行する。通知部１４０は、車両動作検証部１２０が判定対象車両の動作状態に異常があると判定した場合、無線通信を介してこの判定の結果に関する情報を判定対象車両に送信する。
【００６８】
このように実行される第一判定は、判定対象車両の位置及びその位置での動作状態を、正常な車両の位置と動作状態との対応付けの実績に照らすことで行われる異常検知の判定である。このような判定であれば、車載ネットワークシステムで使用されている通信プロトコルに則したメッセージを送信して行われる、例えばなりすましによる攻撃によって生じる異常をより確実に検知することができる。
【００６９】
また、通知部１４０が出力する情報は判定対象車両に関する追加情報の要求を含んでもよい。この場合、上記のコンピュータはさらに攻撃判定部１３０を備えてもよい。攻撃判定部１３０は、判定対象車両から上記の要求に応じて無線通信を介して送信されたこの追加情報を用いて、判定対象車両に攻撃が発生しているか否かについての判定（第二判定）を実行する。また、攻撃判定部１３０が判定対象車両に攻撃が発生していると判定した場合、通知部１４０は、無線通信を介してこの結果に関する情報を判定対象車両に送信してもよい。
【００７０】
このように、第一判定で異常があると判定された場合には判定対象車両についてのさらなる情報を用いてサイバー攻撃の発生の有無について検査することで、判定対象車両のサイバー攻撃に対する耐性を向上させる。
【００７１】
なお、本発明の技術的範囲は本実施の形態に適用可能な各種の変形も含むが、これらの変形は下記の他の実施の形態にも共通して適用可能であるため、他の実施の形態の説明の後に述べる。
【００７２】
（実施の形態２）
次に、実施の形態１で示した車両異常検知システム１０とは、車両動作検証部の処理が一部異なる実施の形態２について説明する。なお、本実施の形態に係る車両異常検知システムの構成及び用いられる車両動作ログのデータ構成は実施の形態１と共通でよい。したがって、以下の説明では、本実施の形態に係る車両異常検知システム及びその構成要素、データ構成並びに処理のステップを実施の形態１と共通の参照符号を用いて示す。また、これらの詳細な説明は省略し、実施の形態１との差異である車両動作検証部による処理を中心に説明する。
【００７３】
［１．動作］
図５は、本実施の形態に係る車両異常検知システム１０による異常検知を含む処理のための構成要素間の連携の一例を示すシーケンス図である。なお、本実施の形態においても車両異常検知システム１０の動作手順の概要は図３に示されるとおりであるため、詳細な説明は省略する。また、図５においても、図４のシーケンス図と同様に図３のフロー図にあるステップに対応する要素は共通の符号を用いて示している。また、図５においてもログ保持部１９０の図示は省略している。図５の車両２０も判定対象車両である。
【００７４】
実施の形態１では、車両動作検証部１２０は車両データが示す判定対象車両である車両２０の位置ｐ及びこの位置における動作状態ｂとの対応付けに関連する実績を車両動作ログ２００で検索した（図４のステップＳ２０）。これに対し、本実施の形態では、車両動作検証部１２０は、車両動作ログ２００で、まず位置ｐに関連する関連動作の実績を検索する（ステップＳ１８）。そして、この検索によって見つかった関連動作の実績の量が所定量ｍ以上あるか否かを判定する。図５の例では、この判定（本開示では第三判定とも称する）は、この実績の量としての関連動作レコードの件数が基準件数ｍ以上であるか否かに基づいて実行される（ステップＳ１９）。第三判定は、車両動作ログ２００に含まれる位置ｐについての関連動作の実績の量が、第一判定に求められる信頼性が確保できるか否かの確認を目的として実行される。関連動作レコードの件数がｍ未満であれば実績不足と判定し（ステップＳ１９でＮｏ）、車両動作検証部１２０はその結果を通知部１４０に通知する。関連動作レコードの件数がｍ以上であれば（ステップＳ１９でＹｅｓ）、車両動作検証部１２０は実施の形態１でも実行されたステップＳ２０以降の手順を実行する。
【００７５】
実績が不足している場合、車両異常検知システム１０では、車両２０の安全の確認のために、攻撃判定部１３０による攻撃の発生の判定（第二判定）が実行される。第二判定を実行するために、実績不足の通知を受け取った通知部１４０は、車両２０に追加情報を要求する（ステップＳ６０）。以降の手順は図４に示す実施の形態１での手順と同じであるため、図示及び説明を省略する。
【００７６】
［２．小括］
以上述べたように、本実施の形態に係る車両異常検知システム１０が備える車両動作検証部１２０は、車両データに示される判定対象車両の位置に関連する関連動作の実績が、車両動作ログ２００に所定量以上含まれているか否かについての第三判定を実行する。判定対象車両の位置に関連する関連動作の実績が所定量以上含まれていると判定した場合、車両動作検証部１２０は第一判定を実行する。判定対象車両の位置に関連する関連動作の実績が所定量以上含まれていないと車両動作検証部１２０が判定した場合、通知部１４０は、判定対象車両に関する追加情報の要求を含む情報を出力する。
【００７７】
このような第三判定を実行することで、第一判定に求められる信頼性が確保される。また、実績が少なくて信頼性が確保できない場合には、判定対象車両について利用可能な他の情報を用いてサイバー攻撃の発生の有無に関する第二判定が実行される。これにより、判定対象車両のサイバー攻撃に対する耐性を向上させる。
【００７８】
（実施の形態３）
次に、車両の動作状態の異常検知に車速の情報をさらに用いる点で実施の形態１又は２に係る車両異常検知システム１０と異なる実施の形態３について説明する。なお、本実施の形態に係る車両異常検知システムの構成は実施の形態１及び２と共通でよい。したがって以下の説明では、本実施の形態に係る車両異常検知システム及びその構成要素、並びに処理のステップを、実施の形態１及び２と共通の参照符号を用いて示す。また、これらの詳細な説明は省略し、実施の形態１及び２との差異である情報及びその情報を用いる車両異常検知システムの動作を中心に説明する。
【００７９】
［１．使用する情報］
図６Ａは、本実施の形態に係る車両異常検知システム１０で用いられる車両動作ログ２００Ａのデータ構成例を示す図である。車両動作ログ２００Ａは、図２に示される車両動作ログ２００が含む位置、動作状態及び動作回数に加えて、車速の情報を含む。つまり、車両動作ログ２００Ａが含む動作レコードは、車両２０の過去の位置と、この過去の位置における車両２０の動作状態と、この過去の位置における車両２０の車速との対応付けをさらに含む。なお、図６Ａのように一つの動作レコードが動作回数の（図６Ａの例では９８７回）集計を実績として示す場合、この車速は各回の車速に基づく値であり、例えば、算術平均、刈込平均、中央値、最頻値、又は所定のパーセンタイル値等の統計量である。つまり、車速のフィールドには、集計期間において、ある特定の位置をある特定の動作状態で走行した車両２０の速度、又は複数の車両２０のこの速度に基づく統計量が入る。車速の情報の取得については次の動作の説明で述べる。車両動作検証部１２０は、このような関連動作の実績に基づいて、判定対象車両の動作状態に異常があるか否かについての判定（第一判定）を実行する。
【００８０】
［２．動作］
図６Ｂは、本実施の形態に係る車両異常検知システム１０による異常検知を含む処理のための構成要素間の連携の例を示すシーケンス図である。なお、本実施の形態においても車両異常検知システム１０の動作手順の概要は図３に示されるとおりであるため、詳細な説明は省略する。なお、本実施の形態で示す車速の使い方は、実施の形態１にも適用可能であるが、以下では実施の形態２への適用を例に用いて説明する。図６Ｂでは、実施の形態２の説明に用いた図５のシーケンス図にあるステップに対応するステップは共通の符号を用いて示し、詳細な説明は省略する。また、図６Ｂにおいてもログ保持部１９０の図示は省略している。図６Ｂの車両２０も判定対象車両である。
【００８１】
本実施の形態では、判定対象車両である車両２０の車速は、この車両２０から異なる時刻に取得した２件の車両データに含まれる位置の情報を用いて算出して取得される。図６Ｂの例では、車両データ取得部１１０が、ステップＳ１で取得する車両データ（ｐ１，ｂ１）に含まれる位置ｐ１と、ステップＳ１０で取得する車両データ（ｐ２，ｂ２）に含まれる位置ｐ２とから２つの位置間の距離を求める。車両データ（ｐ１，ｂ１）は、判定対象車両の、車両データ（ｐ２，ｂ２）よりも古い位置とその位置での動作状態との対応付けを示す、本実施の形態における過去車両データの例である。そしてこの距離と、これらの２件の車両データの取得時刻の差とを用いて車両２０の車速ｖを算出する（ステップＳ１１）。以下では便宜上、車速ｖを指して判定対象車両車速とも称する。ここでの車速ｖの算出に用いられる時刻は、車両データの取得の時刻に限定されない。代わりに、例えば車両２０から車両異常検知システム１０に自車の位置に関する情報の取得時又は送信時の時刻の情報が提供され、この時刻が車速ｖの算出に用いられてもよい。このように算出された車速ｖは、車両データ（ｐ２，ｂ２）とあわせて車両動作検証部１２０に提供される。車両データ（ｐ２，ｂ２）は、実施の形態１及び２の車両データ（ｐ，ｂ）に相当する。なお、このように算出される車速ｖは、厳密には車両２０の位置ｐ１と位置ｐ２との間の区間における車両２０の車速であるが、以下では便宜的に、車両２０の位置ｐ２における車速のように表現することがある。
【００８２】
車両動作検証部１２０によるステップＳ１８、Ｓ１９及びＳ２０は、実施の形態２の手順と共通である。
【００８３】
続くステップＳ３０からは、Ｎｏの場合に続く処理は実施の形態２と共通であるが、Ｙｅｓの場合に続く処理が異なる。具体的には、車両動作ログで検索した車両データ（ｐ２，ｂ２）の対応付けに関連する関連動作の実績が所定量以上である場合（ステップＳ３０でＮｏ）、車両２０の車速ｖをステップＳ２０で検索し見つかった関連動作レコードに示される車速に基づく所定の範囲内であるか否か判定する（ステップＳ３５）。例えば車速ｖが時速４０ｋｍで、ステップＳ２０で検索で見つかった関連動作レコードが示す車速が時速６５ｋｍであり、所定の範囲が時速±１０ｋｍの場合、車両動作検証部１２０は異常ありと判定し、その結果を通知部１４０に通知する（ステップＳ３５でＮｏ）。つまり、本実施の形態における車両異常検知システム１０では、判定対象車両の動作状態の、関連動作レコードの量に基づく異常の有無の判定に加えて、判定対象車両のこの位置における車速の妥当性も関連動作レコードが示す車速に照らして妥当であるか否かに基づいて、異常の有無の判定（第一判定）が実行される。
【００８４】
これにより、虚偽の車速を示すデータを生成するサイバー攻撃が判定対象車両で発生しても、そのサイバー攻撃による異常をより確実に検知することができる。また、サイバー攻撃が原因であるか否かに関わらず、車速に関するデータが正確性を失う異常は車両及びその周辺の交通の安全に大きく関わる。したがって、この異常をより確実に検知することで、車両の動作の信頼性を高めることができる。
【００８５】
ステップＳ３５までに異常ありと判定された場合（ステップＳ３０又はＳ３５でＮｏ）、攻撃判定部１３０による攻撃の発生の判定（第二判定）が実行される。この第二判定の実行のために、実績不足の通知を受け取った通知部１４０は、車両２０に追加情報を要求する（ステップＳ６０）。以降の手順は図４に示す実施の形態１での手順と共通であるため、図示及び説明を省略する。また、車速ｖが所定の範囲内であってステップＳ３５で異常なしと判定された場合（ステップＳ３５でＹｅｓ）、車両動作検証部１２０は車両データ（ｐ２，ｂ２）及び車速ｖで車両動作ログを更新する（ステップＳ１００）。上述の図６Ａの車両動作ログ２００Ａのデータ構成例の説明で触れた各回の車速とは、この車速ｖであり、動作レコードの車速のフィールドに入る数値は、この更新のステップで車速ｖを用いて新たに算出される。
【００８６】
なお、車両動作ログの動作レコードには動作回数のフィールドがなく、車両の位置と動作状態との組み合わせの発生１回につき１件の動作レコードを含む場合、ステップＳ３５で用いられる関連動作レコードに示される車速は、ステップＳ２０の検索で見つかった1件以上の関連動作レコードの車速のフィールドの値から算出して取得する。また、ステップＳ１００では、車速ｖがそのまま車速のフィールドの値として入力される。
【００８７】
なお、上記で説明した車両２０の車速の算出方法は概要であり、本実施の形態における車両異常検知システム１０で利用可能な車速の算出に用いる値の取得の方法には複数ある。例えば、第一車両の直近２件の車両データに含まれる位置、及びこれらの２つの車両データに関する時刻（例えば、取得、送信、又は受信の時刻）の差が利用されてもよい。または、直近２件でなくても、速度の算出に適した時間差の２件の車両データを用いて上記の様に算出してもよい。または、距離が既知の所定の２つの位置又はその最寄りの位置で車両２０から送信される２件の車両データに関する時刻が用いられてもよい。
【００８８】
［３．小括］
以上述べたように、本実施の形態に係る車両異常検知システム１０が備える車両データ取得部１１０は、判定対象車両の車両データ、及びこの車両データが示す対応付けよりも古い、判定対象車両の位置及び動作状態との対応付けを示す過去車両データをさらに取得する。そして、車両データ及び過去車両データを用いて判定対象車両の車速（判定対象車両車速）を算出する。
【００８９】
また、車両動作ログ２００Ａは、車両２０の、過去の位置と、この過去の位置における車両２０の動作状態と、この過去の位置における車両２０の車速との対応付けをさらに含む。
【００９０】
車両動作検証部１２０は第一判定において、検索によって見つかった関連動作の実績の量に基づいて判定対象車両の動作状態に異常がないと判定した場合、判定対象車両車速が、検索によって見つかった関連動作の実績の車速に基づく所定の範囲内にあるか否かについての判定をさらに実行する。判定対象車両車速がこの所定の範囲内にない場合、車両動作検証部１２０は判定対象車両の動作状態に異常があると判定する。
【００９１】
これにより、異常をより確実に検知することができ、車両の動作の信頼性を高めることができる。
【００９２】
［４．変形例］
なお、本実施の形態の変形例として、判定対象車両の位置、この位置における動作状態、及び車速の３つの要素の対応付けに関して関連性がある実績の量を用いて判定対象車両の動作状態の異常の有無が判定されてもよい。
【００９３】
例えば、ある位置で判定対象車両である車両においてＬＫＡ及びＡＣＣが実行中であり、その車速が６５ｋｍであるとする。また同じ位置で、判定対象車両である他の車両においてＩＰＡが実行中であり、その車速が時速５ｋｍであるとする。実際には、前者は高架道路を走行中であり、後者はこの高架道路の真下に設けられた駐車場で駐車しようとしているところであり、いずれも異常ではない。
【００９４】
このような位置では、判定対象車両の位置及び動作状態に加えて、これらと車速との対応付けに関しても関連性がある実績の量が基準件数又は基準割合以上か否かに基づいて第一判定を実行することで、いずれの車両２０についても異常なしという判定が可能になる。したがって、安全の確認のための攻撃判定をさらに行う必要がないため、車両異常検知システム１０、車両２０、通信ネットワーク８０等の処理負担の増加を抑えることができる。
【００９５】
（実施の形態４）
次に、車両の動作状態の異常検知に時間帯の情報をさらに用いる点で実施の形態１から３に係る車両異常検知システム１０と異なる実施の形態４について説明する。なお、本実施の形態に係る車両異常検知システムの構成は実施の形態１から３と共通でよい。したがって以下の説明では、本実施の形態に係る車両異常検知システム及びその構成要素、並びに処理のステップを、実施の形態１から３と共通の参照符号を用いて示す。また、これらの詳細な説明は省略し、実施の形態１から３との差異である情報及びその情報を用いる車両異常検知システムの動作を中心に説明する。
【００９６】
［１．使用する情報］
図７Ａは、本実施の形態に係る車両異常検知システム１０で用いられる車両動作ログ２００Ｂのデータ構成例を示す図である。車両動作ログ２００Ｂは、図６Ａに示される車両動作ログ２００Ａが含む位置、動作状態、動作回数及び車速に加えて、時間帯の情報を含む。つまり、車両動作ログ２００Ｂが含む動作レコードは、車両２０の過去の位置と、車両２０がこの過去の位置に存在した時間帯との対応付けをさらに示す。車両動作ログ２００Ｂも、車両データを用いて更新される点は実施の形態１から３と共通である。ただし、車両動作ログ２００Ｂでは、位置、動作状態に加えて、時間帯も車両データと共通である動作レコードの動作回数及び車速の集計の結果に反映される。つまり、動作回数のフィールドには、集計期間において、ある特定の位置をある特定の動作状態にある車両２０がある特定の時間帯に走行した頻度（度数）が入る。また、車速のフィールドには、集計期間において、ある特定の位置をある特定の動作状態である特定の時間帯に走行した車両２０の車速が入る。車両動作検証部１２０は、このような関連動作の実績に基づいて、判定対象車両の動作状態に異常があるか否かについての判定（第一判定）を実行する。
【００９７】
［２．動作］
図７Ｂは、本実施の形態に係る車両異常検知システム１０による異常検知を含む処理のための構成要素間の連携の例を示すシーケンス図である。なお、本実施の形態においても車両異常検知システム１０の動作手順の概要は図３に示されるとおりであるため、詳細な説明は省略する。なお、本実施の形態で示す時間帯の情報の使い方は、実施の形態１又は２にも適用可能であるが、以下では実施の形態３への適用を例に用いて説明する。図７Ｂでは、実施の形態３の説明に用いた図６Ｂのシーケンス図にあるステップに対応するステップは共通の符号を用いて示し、詳細な説明は省略する。また、図７Ｂにおいてもログ保持部１９０の図示は省略している。図７Ｂの車両２０も判定対象車両である。
【００９８】
本実施の形態では、判定対象車両である車両２０の車速ｖの取得（ステップＳ１１）に加えて、車両データ取得部１１０が時刻ｔを取得する（ステップＳ１２）。例えば、実施の形態３で述べた車速ｖの取得に用いられた時刻でもよい。または、判定対象車両において位置データの取得時に、又は車両データ取得部１１０で車両動作検証部１２０への提供までに別途取得された時刻が時刻ｔとして用いられてもよい。このように取得される時刻ｔは、いわば判定対象車両が位置ｐ２に存在した時刻として扱われる。そして時刻ｔは、判定対象車両の車両データ（ｐ２，ｂ２）及び車速ｖとあわせて車両動作検証部１２０に提供される。車両データ（ｐ２，ｂ２）は、実施の形態１及び２の車両データ（ｐ，ｂ）に相当する。
【００９９】
車両動作検証部１２０によるステップＳ１８及びＳ１９は、実施の形態２及び３の手順と共通である。
【０１００】
続く車両動作検証部１２０によるステップＳ２０Ａは、実施の形態２及び３における関連する実績の検索の手順（ステップＳ２０）と類似であるが一部異なる。ステップＳ２０Ａでは、判定対象車両の位置ｐ２における動作状態ｂ２との対応付けに加え、時間帯が時刻ｔに関連する実績が車両動作ログ２００Ｂで検索される。時間帯と時刻ｔとの関連性、つまり動作レコードの時間帯のフィールドに入る値と時刻ｔの値との対応については、車両異常検知システム１０が、例えば「朝」は「日の出から午前９時まで」のように別途規定するデータ（図示なし）が利用される。このように、車両動作ログ２００Ｂを用いてステップＳ２０Ａの手順を実行することで、同じ位置でも時間帯によって車両２０の動作状態又は車速の傾向が異なる場合に、より精度の高い適切な異常検知が可能になる。
【０１０１】
ステップＳ２０Ａで見つかった実績の量がステップＳ３０で基準件数ｎと比較される。以降は実施の形態３と共通の手順で判定対象車両の動作状態に異常があるか否かについての判定（第一判定）が実行される。また、第一判定の結果に応じて、攻撃の有無に関する判定（第二判定）等が実行される。車両動作ログの更新（ステップＳ１００）では、車両データと位置と動作状態との対応付けが関連し、かつ時刻ｔに関連する時間帯を含む動作レコードの動作回数の値が増加される。または、関連する時間帯を示す適切な値を含む動作レコードとして追加される。
【０１０２】
なお、上記で説明した構成要素間の連携の例は、時刻と時間帯との関連がステップＳ２０の変形であるステップＳ２０Ａで用いられる態様であるが、時刻と時間帯との関連はステップＳ１８の変形において用いられてもよい。つまり、判定対象車両の車両データ（ｐ２，ｂ２）と時刻ｔとを車両データ取得部１１０から受け取った車両動作検証部１２０は、位置ｐ２に関連する位置情報と、かつ時刻ｔに関連する時間帯とを対応付けて示す実績（動作レコード）を検索する。続くステップＳ１９では、この検索によって見つかった実績の量が基準件数ｍ未満であれば、実績不足と判定され（ステップＳ１９でＮｏ）、車両動作検証部１２０からその結果が通知部１４０に通知される。この態様でも、同じ位置でも時間帯によって車両２０の車速又は動作状態の傾向が異なる場合に、より適切な異常検知が可能になる。
【０１０３】
また、上記の例では、時間帯の値として一日を分割した時間帯が用いられているが、車両異常検知システム１０で利用される時間帯の値はこれに限定されない。他に、平日と週末、交通混雑（又は閑散）期、積雪期、交通規制実施時等といった期間の区分もまた車両異常検知システム１０で時間帯の値として利用可能である。
【０１０４】
［２．小括］
以上述べたように、本実施の形態に係る車両異常検知システム１０が備える車両データ取得部１１０は、判定対象車両の位置及びこの位置での動作状態との対応付けに加えて、判定対象車両がこの位置に存在した時刻ｔをさらに取得する。また、車両動作ログ２００Ｂは、車両２０の過去の位置と、この過去の位置に車両２０が存在していた時間帯との対応付けをさらに含む。そして車両動作検証部１２０は、車両動作ログ２００Ｂにおいて、さらにこの時間帯が時刻ｔに関連する実績を関連動作の実績とし、この関連動作の実績の量が所定量以上含まれていないと車両動作検証部が判定した場合、通知部に実績不足又は異常ありの旨を通知する。この通知を受けた通知部は、判定対象車両に関する追加情報の要求を含む情報を出力する。
【０１０５】
これにより、時間的な要素も加味した上で、信頼性のある異常検知に必要な量の動作状態の実績が集められているか否か判定する。これにより、精度のより高い適切な判定が可能にる。
【０１０６】
（変形例及び補足事項）
以上のように、本発明に係る技術の例示として各実施の形態及びその変形を説明した。しかしながら、本発明に係る技術はこの説明の内容に限定されず、適宜、変更、置き換え、付加、省略等による変形を加えた実施の形態にも適用可能である。例えば、以下のような変形例も本発明の実施態様に含まれる。
【０１０７】
（１）上記の各実施の形態では、動作状態はＡＣＣ、ＬＫＡ、ＩＰＡといった運転支援機能の実行状態に関するものとして説明したが、本発明に係る車両異常検知システムにおいて利用可能な動作状態が示す対象はこれに限定されない。特定の状態が車両の存在している位置と相関が高いものであればよく、例えば、加速制御、減速制御、操舵制御又はシフトポジションに関する状態であってもよく、運転支援機能を含めてこれらの組み合わせであってもよい。加速制御に関する状態とは、例えばアクセルペダルが踏まれているか否か、又はアクセルの開度である。減速制御に関する情報とは、例えばブレーキペダルが踏まれているか否か、又はブレーキペダルの操作量である。操舵制御に関する状態とは、例えばステアリングホイールの操舵角である。これらの各制御は、ある位置における道路の勾配、形状又は規制等に応じて妥当性が高い特定の状態が、それ以外の状態よりも高い頻度で発生し得る、つまり、特定の状態に位置との相関がある。
【０１０８】
（２）上記の各実施の形態は、車両２０はいずれもＡＣＣ、ＬＫＡ、ＩＰＡといった運転支援機能を備え、またこれらの各機能は車両２０が正常であれば適用利用な位置で実行中になり、ドライバー又は車載システムによる強制的な有効無効の切替はされないという想定を便宜上用いて説明している。ただし、本発明に係る車両異常検知システムによる異常の検知対象となる車両は、このような車両に限定されない。車両における運転支援の各機能の有無又は各機能の強制的な有効化若しくは無効化を示す情報も、車両から車両異常検知システムに送信され、車両動作ログに記録される情報に含まれてもよい。そしてこのような情報も、第一判定又は第三判定の条件に用いられてもよい。
【０１０９】
例えばこのような変形例では、第三判定において、これらの運転支援機能を備えているか否か、又はドライバーによって無効化されているか否かについても関連する（共通している）動作レコードがステップＳ１８で検索される。
【０１１０】
図８は、このような変形例に係る車両異常検知システムで用いられる車両動作ログのデータ構成例を示す図である。この例に示す車両動作ログでは、ある期間において、「３４．７３８３，１３５．５７３６」の値で示される位置で、車両２０でブレーキペダルが踏まれた回数（ブレーキ回数の欄）、アクセルペダルが踏まれた回数（加速回数の欄）、操舵量の統計量（操舵量の欄）がさらに含まれている。またデータ行の上から３番目の動作レコードでは、運転支援機能の無効化又は未搭載の車両２０での実績であることが、動作状態の欄にある「ＭＡＮＵＡＬ」の値で示されている。
【０１１１】
（３）上記の実施の形態は、車両データと車両動作ログに含まれる実績のそれぞれが示す値とが一致する場合に、関連する動作の実績であると判定される例を主に用いて説明されているが、本発明に係る車両異常検知システムでの判定の基準はこれに限定されない。例えば、車両動作ログの動作レコードのうち、車両データが示す位置と差異が所定の範囲内の位置を示すものは、位置に関して関連する関連動作の実績として扱われてもよい。
【０１１２】
動作状態についても、アクセル開度等のように数値で示される操作量では、車両データが示す操作量と差異が所定の範囲内の操作量を示す動作レコードは、動作状態に関して関連する動作の実績として扱われてもよい。または、車両動作ログに含まれる値自体が、関連する動作の実績又は関連しない動作の実績の数値の範囲を示すものであってもよい。実施の形態４で車両動作ログ２００Ｂに含まれる時間帯の値はこのような範囲を示す一例であるともいえる。
【０１１３】
また、車両データ又は車両動作ログに含まれる位置を示す値は、実施の形態の説明では１度未満の部分が十進数に変換された緯度・経度のように解せるが、車両２０の位置の表すデータはこのような測地系の値に限定されない。例えば、道路の名称と地名、区間名、又はこの道路の起点等からの距離との組み合わせが用いられてもよい。または、車両異常検知システム１０による異常検知が実施される地理的な範囲（以下、カバレッジという）を区切った区画を識別する記号が用いられてもよい。
【０１１４】
（４）上記の各実施の形態では、本発明の技術は図１に示されるように、複数台の車両２０と通信ネットワーク８０を介して通信する複数台のコンピュータからなる車両異常検知システム１０として実現されているが、その実現の態様はこれに限定されない。
【０１１５】
例えば、通信ネットワーク８０と車両異常検知システム１０との間に、車両メーカーが構築する車両データログ収集システム等の他のシステムが入ってもよい。この場合、車両異常検知システム１０はこの車両データログ収集システムによって中継される車両データを受け取るが、通知部１４０から車両２０への通知は、車両データログ収集システムを介さないことでより迅速に行われてもよい。
【０１１６】
また、車両２０と車両異常検知システム１０とのデータのやり取りに介在するのは、上記の例に限定されない。例えば交通基盤のさらに情報化が進み、車両２０と直接データをやり取りするのは、路側機等に組み込まれた交通基盤の通信端末であり、交通基盤のネットワークから車両異常検知システム１０へと車両データが提供されてもよい。
【０１１７】
また例えば、本発明の車両異常検知システムは、階層関係にある複数の情報処理システム又は情報処理装置で構成されてもよい。図９は、このように構成される車両異常検知システム１０Ａの構成例を示す図である。この例では、車両異常検知システム１０Ａは、情報処理システム１１Ａ、１１Ｂ及び１２Ａを含む。図１に示す車両異常検知システム１０の構成要素と共通の構成要素は共通の参照符号を用いて示し、説明は省略する。
【０１１８】
これらのうちの情報処理システム１１Ａ及び１１Ｂはそれぞれ、車両異常検知システム１０Ａによる異常検知のカバレッジ内の互いに異なる地域の異常検知を担うものであって、車両異常検知システム１０Ａにおけるエッジサーバに構築される。情報処理システム１１Ａがローカルログ保持部１９０Ａに保持する車両動作ログは、情報処理システム１１Ａが異常検知を担う地域を走行している車両２０Ａから送信されたデータを用いて取得された車両データに基づくものである。図示は省略しているが、情報処理システム１１Ｂは情報処理システム１１Ａと共通の構成を有する。情報処理システム１１Ｂでは、情報処理システム１１Ａが異常検知を担う地域とは別のある地域を走行している車両２０Ｂから送信されたデータを用いて取得された車両データに基づく車両動作ログが保持される。これらの車両動作ログも、図２、図６Ａ、図７Ａ又は図８に例示されるようなデータ構成を有する。
【０１１９】
情報処理システム１２Ａは、情報処理システム１１Ａ及び１１Ｂの上位の役割を担う。例えば情報処理システム１２Ａでは、情報処理システム１１Ａ及び１１Ｂから通信ネットワーク８０を介して車両動作ログの提供を受け、車両異常検知システム１０Ａ全体の車両動作ログとして管理及び解析がされてもよい。または、各車両を一意に指す識別情報を用いて、特定の車両の動作状態を複数の地域に跨って追跡して監視してもよい。このような車両動作ログは、グローバルログ保持部１９０Ｂに保持される。また、情報処理システム１２Ａは異常又は攻撃に関して、情報処理システム１１Ａ及び１１Ｂで行われるよりも高度な解析をする役割を担ってもよい。例えば情報処理システム１１Ａで車両の動作状態について攻撃に関する判定ができない未知の異常が発見された場合、攻撃判定部１３０Ａから通信ネットワーク８０を介して情報処理システム１２Ａにこの異常に関する情報が提供され、情報処理システム１２Ａでは、この情報に基づいて、異常が攻撃によるものであるか否かの判定がなされる。この判定の結果は、通信ネットワーク８０を介して情報処理システム１１Ａに返される。
【０１２０】
なお、車両異常検知システムの上記の階層構成は一例であり、これに限定されない。例えば情報処理システム１１Ａ及び１１Ｂは、地域別ではなく車両メーカー又は車載ネットワークシステムのサプライヤー別に構築されたものであってもよい。そして情報処理システム１２Ａは、これらのメーカー又はサプライヤー間の差異を吸収したり、又はさらに交通基盤を含む交通システム全体の情報セキュリティを監視するものであってもよい。
【０１２１】
（５）攻撃判定部１３０又は１４０Ａが攻撃の発生の有無の判定（第二判定）に用いる情報は、車両２０又は２０Ａから追加で提供される情報に限定されない。攻撃判定部１３０又は１４０Ａは、車両２０又は２０Ａ以外の情報源を利用してもよく、例えば交通基盤又は車両メーカー等のＳＯＣ（Security Operation Center）から攻撃判定に用い得る情報を取得して第二判定に用いてもよい。また、この情報を取得するために、図３、図５、図６Ｂ又は図７Ｂに示されるステップＳ６０での追加情報の要求等、第一判定の結果に関する情報の送信先はＳＯＣ等、判定対象車両以外であってもよい。
【０１２２】
（６）車両異常検知システム１０又は情報処理システム１１Ａの構成要素の一部又は全部は、ＥＣＵ等の車載の情報処理装置で実現されてもよい。
【０１２３】
例えば、ログ保持部１９０又はローカルログ保持部１９０Ａは車両２０から通信ネットワーク８０を介して通信可能なサーバ上に構築され、その他の構成要素は車両２０が備える１個以上のＥＣＵで実現されてもよい。この場合、車両２０にある車両動作検証部１２０は通信ネットワーク８０を介してサーバ上の車両動作ログでの検索（ステップＳ１８、Ｓ２０、Ｓ２０Ａ）を実行する。異常があると判定した場合、車両２０にある通知部１４０は、攻撃の有無の判定に用いる情報であって自車の車載ネットワーク上では得られない情報を通信ネットワーク８０を介してサーバ又はＳＯＣ等に要求する。異常がない又は攻撃ではないと判定した場合、車両動作検証部１２０は車両動作ログの更新の指示を通信ネットワーク８０を介してサーバに送信する。
【０１２４】
また別の例として、ログ保持部１９０又はローカルログ保持部１９０Ａも車両２０上にあってもよい。例えば車両２０は、車両動作ログの含む動作レコードのうち、走行している地域または走行予定経路の位置を含む動作レコードを通信ネットワーク８０を介してサーバから取得する。車両２０上では、取得済みの動作レコードを車両動作ログとして保持するログ保持部１９０又はローカルログ保持部１９０Ａが記憶装置を用いて構築される。
【０１２５】
さらに別の例として、車両異常検知システム１０又は情報処理システム１１Ａの構成要素のうち、攻撃判定部１３０又は攻撃判定部１３０Ａのみが車両２０が備える１個以上のＥＣＵで実現されてもよい。この場合、サーバにある通知部１４０は、ステップＳ６０で追加情報を要求するのではなく、実績不足又は異常がある旨の通知とともに、サーバ上にあって車両２０での攻撃判定に用いられる情報、例えばステップＳ２０又はＳ２０Ａで見つかった関連動作の実績を第一判定の結果に関する情報として判定対象車両である車両２０に送信してもよい。
【０１２６】
（７）異常又は攻撃の有無の判定に用いられるデータベースその他の情報のソースは、上述の車両動作ログに限定されない。例えばステップＳ７０で判定対象車両から取得される追加の情報もログのデータベースで管理されてもよい。また、上記の各実施の形態の説明では、車両２０の各々を識別する情報は用いられていないが、このような情報もさらに用いられてもよい。また、車両異常検知システム１０又は１０Ａには、これらのデータベースを管理するための構成要素もさらに含まれ得る。
【０１２７】
（８）車両２０上ではない場所に構築される車両異常検知システム１０又は１０Ａでは、攻撃又は異常に関する判定ができない未知の動作状態に対応するために、これらの判定をするための情報セキュリティの専門家が関与してもよい。
【０１２８】
（９）上記の各実施の形態で示した各構成要素は、記憶装置に記憶されているプログラムがプロセッサにより実行されてソフトウェア的に実現される代わりに、専用のハードウェア（デジタル回路等）によりその機能を実現されてもよい。
【０１２９】
（１０）本発明に係る車両異常検知システムで示した構成要素間の機能分担は説明の便宜のための一例であって、任意に相互の分担を変更してもよい。例えば、実施の形態２、３及び４における第三判定は、車両動作検証部１２０ではなく、車両データ取得部１１０で実行され、実績不足の場合、その旨が通知部１４０を介して判定対象車両に通知されてもよい。また、機能的な構成要素としてはさらに細分化してもよい。例えば、実施の形態２、３及び４における第一判定の中の車速を用いた手順（ステップＳ３５）は、車両動作検証部１２０とは別の車速検証部という機能的な構成要素によって実行されてもよい。また例えば、車両動作ログの更新は、別のログ管理部という機能的な構成要素が車両動作検証部１２０とログ保持部１９０との間に介在して実行してもよい。
【０１３０】
（１１）上記の各実施の形態で示した動作手順（例えば図３、図５、図６Ｂ、図７Ｂから把握される手順）の実行は、必ずしも、上述の順序に制限されるものではなく、発明の要旨を逸脱したり矛盾を生じたりしない範囲で、順序を入れ替えたり、複数の手順を並列に行ったり、その手順の一部を省略したりしてもよい。
【０１３１】
（１２）上記の各実施の形態における情報処理装置を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Large Scale Integration：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ（Read-Only Memory）、ＲＡＭ（Random Access Memory）等を含んで構成されるコンピュータシステムである。例えば、ＲＯＭにはコンピュータプログラムが記録され、マイクロプロセッサがこのコンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。
【０１３２】
また、上記の各構成要素は、個別に１チップ化されていてもよいし、一部又は全部を含むように１チップ化されてもよい。
【０１３３】
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ（Integrated Circuit）、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブルプロセッサを利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。
【０１３４】
（１３）上記各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なＩＣカード又は単体のモジュールから構成されているとしてもよい。前記ＩＣカード又は前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭ等から構成されるコンピュータシステムである。前記ＩＣカード又は前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ＩＣカード又は前記モジュールは、その機能を達成する。このＩＣカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
【０１３５】
（１４）本発明の一態様としては、例えば図３、図５、図６Ｂ若しくは図７Ｂ又は上記にその変形として示す手順の全部又は一部を含む、車両の異常検知のための情報処理方法であるとしてもよい。
【０１３６】
また、本発明の一態様としては、この情報処理方法に係る所定情報処理をコンピュータにより実現するためのプログラム（コンピュータプログラム）であってもよいし、当該プログラムからなるデジタル信号であるとしてもよい。
【０１３７】
また、本発明の一態様としては、上記のコンピュータプログラム又はデジタル信号を記録したコンピュータで読取可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ（Magneto-Optical）ディスク、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Blu-ray（登録商標） Disc）、半導体メモリ等であってもよい。
【０１３８】
その他、本発明の一態様としては、これらの記録媒体に記録されているデジタル信号、又は電気通信回線、無線又は有線通信回線、インターネットに代表される通信ネットワーク、データ放送等を経由して伝送する上記のプログラム又はデジタル信号であってもよい。
【０１３９】
また、本発明の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、当該メモリは、上記のプログラムを記録しており、当該マイクロプロセッサは、当該プログラムに従って動作するものであってもよい。また、上記のプログラム若しくはデジタル信号を上記の記録媒体に記録して移送することにより、又は、上記のプログラム若しくはデジタル信号を、上記のネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するものであってもよい。
【０１４０】
（１５）上記の各実施の形態及び変形例で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。
【産業上の利用可能性】
【０１４１】
本発明は、車載ネットワークシステムに発生する異常の検知及び攻撃に対する防御のための技術に利用可能である。
【符号の説明】
【０１４２】
１０、１０Ａ  車両異常検知システム（車両異常検知装置）
１１Ａ、１１Ｂ、１２Ａ  情報処理システム
２０、２０Ａ、２０Ｂ  車両
８０  通信ネットワーク
１１０  車両データ取得部
１２０  車両動作検証部
１３０、１３０Ａ、１３０Ｂ  攻撃判定部
１４０  通知部
１９０  ログ保持部
１９０Ａ  ローカルログ保持部
１９０Ｂ  グローバルログ保持部
２００、２００Ａ、２００Ｂ  車両動作ログ
【図１】
2020166452.tif 000003
【図２】
2020166452.tif 000004
【図３】
2020166452.tif 000005
【図４】
2020166452.tif 000006
【図５】
2020166452.tif 000007
【図６Ａ】
2020166452.tif 000008
【図６Ｂ】
2020166452.tif 000009
【図７Ａ】
2020166452.tif 000010
【図７Ｂ】
2020166452.tif 000011
【図８】
2020166452.tif 000012
【図９】
2020166452.tif 000013