(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-23
(45)【発行日】2023-03-31
(54)【発明の名称】車両異常検知装置、車両異常検知システム及びプログラム
(51)【国際特許分類】
G08G 1/09 20060101AFI20230324BHJP
G08G 1/00 20060101ALI20230324BHJP
G08B 21/00 20060101ALI20230324BHJP
G08B 25/04 20060101ALI20230324BHJP
H04Q 9/00 20060101ALI20230324BHJP
【FI】
G08G1/09 F
G08G1/00 D
G08B21/00 U
G08B25/04 C
H04Q9/00 311H
(21)【出願番号】P 2019065154
(22)【出願日】2019-03-28
【審査請求日】2021-10-28
(73)【特許権者】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】関屋 翔一朗
(72)【発明者】
【氏名】鳥崎 唯之
(72)【発明者】
【氏名】鶴見 淳一
【審査官】貞光 大樹
(56)【参考文献】
【文献】特開2018-77854(JP,A)
【文献】特開2015-200942(JP,A)
【文献】特開2018-22378(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/00 - 1/16
G08B 19/00 - 31/00
H04Q 9/00
(57)【特許請求の範囲】
【請求項1】
判定対象車両の位置と前記位置における前記判定対象車両の動作状態との対応付けを示す車両データを取得する取得部と、
複数の車両それぞれについての、車両の過去の位置と前記過去の位置における前記車両の動作状態との対応付けを示す車両動作ログを用いて、前記車両データが示す前記判定対象車両の位置と前記判定対象車両の動作状態との対応付けに関連する関連動作の実績の検索を実行し、前記検索によって見つかった関連動作の実績の量に基づいて、前記判定対象車両の動作状態に異常があるか否かについての第一判定を実行する検証部と、
前記判定対象車両に攻撃が発生しているか否かについての第二判定を実行する攻撃判定部と、
前記検証部が前記第一判定において前記判定対象車両の動作状態に異常があると判定した場合、前記第一判定の結果に関する情報を出力
し、前記攻撃判定部が前記第二判定において前記判定対象車両に攻撃が発生していると判定した場合、前記第二判定の結果に関する情報を出力する通知部と、
を備え、
前記通知部が出力する情報は、前記判定対象車両に関する追加情報の要求を含み、
前記攻撃判定部は、前記要求に応じて取得された前記追加情報を用いて、前記第二判定を実行し、
前記追加情報は、前記判定対象車両における通信のログ、または、前記判定対象車両における通信機器もしくはファームウェアの更新のログに含まれる情報である、
車両異常検知装置。
【請求項2】
前記取得部は、前記車両データが示す位置と前記位置における前記判定対象車両の動作状態との対応付けよりも古い、前記判定対象車両の位置と前記位置における前記判定対象車両の動作状態との対応付けを示す過去車両データをさらに取得し、前記車両データ及び前記過去車両データを用いて前記判定対象車両の車速を算出し、
前記車両動作ログは、前記過去の位置及び前記過去の位置における前記車両の動作状態と、前記過去の位置における前記車両の実績の車速との対応付けをさらに含み、
前記検証部は前記第一判定において、前記検索によって見つかった関連動作の実績の量に基づいて判定対象車両の動作状態に異常がないと判定した場合、前記算出された判定対象車両の車速が、前記検索によって見つかった関連動作の実績の車速に基づく所定の範囲内にあるか否かについての判定をさらに実行し、前記判定対象車両の車速が前記所定の範囲内にない場合、前記判定対象車両の動作状態に異常があると判定する、
請求項
1に記載の車両異常検知装置。
【請求項3】
前記検証部は、前記車両データに示される前記位置に関連する関連動作の実績が、前記車両動作ログに所定量以上含まれているか否かについての第三判定を実行し、
前記位置に関連する関連動作の実績が所定量以上含まれていると前記検証部が判定した場合、前記検証部は前記第一判定を実行し、
前記位置に関連する関連動作の実績が所定量以上含まれていないと前記検証部が判定した場合、前記通知部は、前記判定対象車両に関する追加情報の要求を含む前記情報を出力する、
請求項1
または2に記載の車両異常検知装置。
【請求項4】
前記取得部は、前記判定対象車両が前記位置に存在した時刻をさらに取得し、
前記車両動作ログは、前記過去の位置と前記過去の位置に前記車両が存在していた時間帯との対応付けをさらに含み、
前記検証部は、前記車両動作ログにおいて、さらに前記時間帯が前記時刻に関連する実績を前記関連動作の実績とし、前記関連動作の実績の量が所定量以上含まれていないと前記検証部が判定した場合、前記通知部は、前記判定対象車両に関する追加情報の要求を含む前記情報を出力する、
請求項1から
3のいずれか一項に記載の車両異常検知装置。
【請求項5】
前記動作状態は、運転支援機能の実行状態、加速制御、減速制御及び操舵制御の少なくともひとつに関する状態である、
請求項1から
4のいずれか一項に記載の車両異常検知装置。
【請求項6】
前記検証部は、前記第一判定において前記判定対象車両の動作状態に異常がないと判定した場合、前記車両データで前記車両動作ログを更新する、
請求項1から
5のいずれか一項に記載の車両異常検知装置。
【請求項7】
異常検知の対象である判定対象車両と無線通信を行い、前記判定対象車両における異常の検知を行うコンピュータを含む車両異常検知システムであって、
前記コンピュータは、
複数の車両それぞれについての、車両の過去の位置と前記過去の位置における前記車両の動作状態との対応付けを示す動作レコードを含む車両動作ログを保持するログ保持部と、
判定対象車両から、無線通信を介して前記判定対象車両の位置と前記位置における前記判定対象車両の動作状態との対応付けを示す車両データを取得する取得部と、
前記車両動作ログを用いて、前記車両データが示す前記判定対象車両の位置と前記判定対象車両の動作状態との対応付けに関連する関連動作の実績の検索を実行し、前記検索によって見つかった関連動作の実績に基づいて、前記判定対象車両の動作状態に異常があるか否かについての第一判定を実行する検証部と、
前記判定対象車両に攻撃が発生しているか否かについての第二判定を実行する攻撃判定部と、
前記検証部が前記第一判定において前記判定対象車両の動作状態に異常があると判定した場合、無線通信を介して前記第一判定の結果に関する情報を前記判定対象車両に送信
し、前記攻撃判定部が前記第二判定において前記判定対象車両に攻撃が発生していると前記攻撃判定部が判定した場合、無線通信を介して前記第二判定の結果に関する情報を前記判定対象車両に送信する通知部と、
を備え、
前記通知部が送信する情報は、前記判定対象車両に関する追加情報の要求を含み、
前記攻撃判定部は、前記判定対象車両から前記要求に応じて送信され前記無線通信を介して取得された前記追加情報を用いて、前記第二判定を実行し、
前記追加情報は、前記判定対象車両における通信のログ、または、前記判定対象車両における通信機器もしくはファームウェアの更新のログに含まれる情報である、
車両異常検知システム。
【請求項8】
異常検知の対象である判定対象車両と無線通信を行い、前記判定対象車両における異常の検知を行うコンピュータを含む車両異常検知システムであって、
前記コンピュータは、
複数の車両それぞれについての、車両の過去の位置と前記過去の位置における前記車両の動作状態との対応付けを示す動作レコードを含む車両動作ログを保持するログ保持部と、
判定対象車両から、無線通信を介して前記判定対象車両の位置と前記位置における前記判定対象車両の動作状態との対応付けを示す車両データを取得する取得部と、
前記車両動作ログを用いて、前記車両データが示す前記判定対象車両の位置と前記判定対象車両の動作状態との対応付けに関連する関連動作の実績の検索を実行し、前記検索によって見つかった関連動作の実績に基づいて、前記判定対象車両の動作状態に異常があるか否かについての第一判定を実行する検証部と、
前記検証部が前記第一判定において前記判定対象車両の動作状態に異常があると判定した場合、無線通信を介して前記第一判定の結果に関する情報を前記判定対象車両に送信する通知部と、を備え、
前記判定対象車両は、前記無線通信を介して提供された前記第一判定の結果に応じて、前記判定対象車両に攻撃が発生しているか否かについての第二判定を実行する攻撃判定部を備える、
車両異常検知システム。
【請求項9】
プロセッサ及びメモリを含むコンピュータに判定対象車両における異常の検知のための情報処理を実行させるプログラムであって、
前記情報処理は、
判定対象車両から、前記判定対象車両の位置と前記位置における前記判定対象車両の動作状態との対応付けを示す車両データを取得する処理と、
複数の車両それぞれについての、車両の過去の位置と前記過去の位置における前記車両の動作状態との対応付けを示す動作レコードを含む車両動作ログを用いて、前記判定対象車両の位置と前記判定対象車両の動作状態との対応付けに関連する関連動作レコードを検索し、前記検索によって見つかった関連動作レコードの件数に基づいて、前記判定対象車両の動作状態に異常があるか否かについての第一判定を実行する処理と、
前記判定対象車両に攻撃が発生しているか否かについての第二判定を実行する処理と、
前記第一判定において前記判定対象車両の動作状態に異常があると判定した場合、前記第一判定の結果に関する情報を出力
し、前記第二判定において前記判定対象車両に攻撃が発生していると判定した場合、前記第二判定の結果に関する情報を出力する処理と、
を含み、
出力される前記第一判定の結果に関する情報は、前記判定対象車両に関する追加情報の要求を含み、
前記第二判定を実行する処理では、前記要求に応じて取得された前記追加情報を用いて、前記第二判定を実行し、
前記追加情報は、前記判定対象車両における通信のログ、または、前記判定対象車両における通信機器もしくはファームウェアの更新のログに含まれる情報である、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両で発生する異常の検知のための技術に関する。
【背景技術】
【0002】
今日の自動車には多数の電子制御ユニット(ECU:Electronic Control Unit)が配置されている。これらのECU間では、自動車の制御のために伝送路であるバスを介して通信が行われている。ECU及びバスで構成されるこの通信のための車載ネットワークは何らかの通信規格に準拠して構築されるのが一般的であり、例えばISO 11898シリーズで規定されているCAN(Controller Area Network)と呼ばれる規格が広く採用されている。
【0003】
一方で、車載ネットワークはサイバー攻撃の標的とされることがある。このようなサイバー攻撃への対抗措置として、車載ネットワークを流れる不正なデータを、上記のような規格で規定されている通信プロトコルに従った通信の監視を通じて検知する技術が提案されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の技術では、サイバー攻撃が、車載ネットワークで採用されている通信プロトコルの規定に従って送信されるデータ形式で行われると、攻撃の検知ができない。例えば、いわゆるなりすましの手法による攻撃では、正常な他のECUを装う不正なECUから、車載ネットワークで送受信されるデータの解析結果に基づいて生成される不正なデータが通信プロトコルの規定に従ったデータ形式で送信される。そしてこの不正なデータは、特許文献1に記載の技術では検知されることなく車載ネットワーク内の他のECU(または他の装置)が受信する。受信されたデータはこのECUの不適切な制御(またはこの装置の不適切な動作)の原因となり、車両の不測の挙動を招き得る。
【0006】
そこで本発明は、上記のなりすまし等のサイバー攻撃をより確実に検知する車両異常検知装置及び車両異常検知システムを提供する。また本発明は、これらの車両異常検知装置及び車両異常検知システムで用いられるプログラムを提供する。
【課題を解決するための手段】
【0007】
本発明の一態様に係る車両異常検知装置は、判定対象車両の位置と前記位置における前記判定対象車両の動作状態との対応付けを示す車両データを取得する取得部と、複数の車両それぞれについての、車両の過去の位置と前記過去の位置における前記車両の動作状態との対応付けを示す車両動作ログを用いて、前記車両データが示す前記判定対象車両の位置と前記判定対象車両の動作状態との対応付けに関連する関連動作の実績の検索を実行し、前記検索によって見つかった関連動作の実績の量に基づいて、前記判定対象車両の動作状態に異常があるか否かについての第一判定を実行する検証部と、前記検証部が前記第一判定において前記判定対象車両の動作状態に異常があると判定した場合、前記第一判定の結果に関する情報を出力する通知部とを備える。
【0008】
また、本発明の一態様に係る車両異常検知システムは、異常検知の対象である判定対象車両と無線通信を行い、前記判定対象車両における異常の検知を行うコンピュータを含む車両異常検知システムであって、前記コンピュータは、複数の車両それぞれについての、車両の過去の位置と前記過去の位置における前記車両の動作状態との対応付けを示す動作レコードを含む車両動作ログを保持するログ保持部と、判定対象車両から、無線通信を介して前記判定対象車両の位置と前記位置における前記判定対象車両の動作状態との対応付けを示す車両データを取得する取得部と、前記車両動作ログを用いて、前記車両データが示す前記判定対象車両の位置と前記判定対象車両の動作状態との対応付けに関連する関連動作の実績の検索を実行し、前記検索によって見つかった関連動作の実績に基づいて、前記判定対象車両の動作状態に異常があるか否かについての第一判定を実行する検証部と、前記検証部が前記第一判定において前記判定対象車両の動作状態に異常があると判定した場合、無線通信を介して前記第一判定の結果に関する情報を前記判定対象車両に送信する通知部とを備える。
【0009】
また、本発明の一態様に係るプログラムは、プロセッサ及びメモリを含むコンピュータに判定対象車両における異常の検知のための情報処理を実行させるプログラムであって、前記情報処理は、判定対象車両から、前記判定対象車両の位置と前記位置における前記判定対象車両の動作状態との対応付けを示す車両データを取得する処理と、複数の車両それぞれについての、車両の過去の位置と前記過去の位置における前記車両の動作状態との対応付けを示す動作レコードを含む車両動作ログを用いて、前記判定対象車両の位置と前記判定対象車両の動作状態との対応付けに関連する関連動作レコードを検索し、前記検索によって見つかった関連動作レコードの件数に基づいて、前記判定対象車両の動作状態に異常があるか否かについての第一判定を実行する処理と、前記第一判定において前記判定対象車両の動作状態に異常があると判定した場合、前記第一判定の結果に関する情報を出力する処理とを含む。
【発明の効果】
【0010】
本発明によれば、サイバー攻撃をより確実に検知する。
【図面の簡単な説明】
【0011】
【
図1】
図1は、実施の形態1に係る車両異常検知システムの構成例を示す図である。
【
図2】
図2は、上記の車両異常検知システムで用いられる車両動作ログのデータ構成例を示す図である。
【
図3】
図3は、上記の車両異常検知システムによる異常検知を含む処理のための動作手順の例を示すフロー図である。
【
図4】
図4は、上記の車両異常検知システムによる異常検知を含む処理のための構成要素間の連携の例を示すシーケンス図である。
【
図5】
図5は、実施の形態2に係る車両異常検知システムによる異常検知を含む処理のための構成要素間の連携の例を示すシーケンス図である。
【
図6A】
図6Aは、実施の形態3に係る車両異常検知システムで用いられる車両動作ログのデータ構成例を示す図である。
【
図6B】
図6Bは、実施の形態3に係る車両異常検知システムによる異常検知を含む処理のための構成要素間の連携の例を示すシーケンス図である。
【
図7A】
図7Aは、実施の形態4に係る車両異常検知システムで用いられる車両動作ログのデータ構成例を示す図である。
【
図7B】
図7Bは、実施の形態4に係る車両異常検知システムによる異常検知を含む処理のための構成要素間の連携の例を示すシーケンス図である。
【
図8】
図8は、変形例に係る車両異常検知システムで用いられる車両動作ログのデータ構成例を示す図である。
【
図9】
図9は、変形例に係る車両異常検知システムの構成例を示す図である。
【発明を実施するための形態】
【0012】
(本発明の基礎となった知見)
本発明者らは、サイバー攻撃を受けている車両では、その車両が存在している位置に対して妥当性の低い動作又は機能が実行されるという動作の状態が発生し得ることに着目した。
【0013】
例えば一般道の本線を走行中の車両では、駐車支援機能(IPA:Intelligent Parking Assist、以下ではIPAと表記する)を備える車両においてこの機能が実行される状況は考えにくい。逆に、駐車場内にある車両で、定速走行・車間距離制御機能(ACC:Adaptive Cruise Control、以下ではACCと表記する)又は車線維持補助機能(LKA:Lane Keeping Assist、以下ではLKAと表記する)が実行される状況は考えにくい。また、一般道の本線を走行中の車両で、操舵量は小さいにもかかわらず一般的な速度に比べて低速な走行が続いているようであれば、渋滞でもなければこの車両に何らかの異常が発生している可能性がある。本発明者は、車両の位置と動作状態の実績とのこのような対応関係は、異常が発生していない車両と、サイバー攻撃を含む何らかの原因で異常の発生している車両との間で、見られる頻度に大きな差があると考え、この差を異常の検知に利用するという着想を得た。
【0014】
本発明の一態様に係る車両異常検知装置は、判定対象車両の位置と前記位置における前記判定対象車両の動作状態との対応付けを示す車両データを取得する取得部と、複数の車両それぞれについての、車両の過去の位置と前記過去の位置における前記車両の動作状態との対応付けを示す車両動作ログを用いて、前記車両データが示す前記判定対象車両の位置と前記判定対象車両の動作状態との対応付けに関連する関連動作の実績の検索を実行し、前記検索によって見つかった関連動作の実績の量に基づいて、前記判定対象車両の動作状態に異常があるか否かについての第一判定を実行する検証部と、前記検証部が前記第一判定において前記判定対象車両の動作状態に異常があると判定した場合、前記第一判定の結果に関する情報を出力する通知部とを備える。
【0015】
このような構成を有する車両異常検知装置は、ある位置にいる異常検知判定の目下の対象の車両(上記の判定対象車両)の動作状態に、その位置における他車の動作状態の実績に照らしての妥当性に基づいて異常があるか否かについて判定する(第一判定)。判定対象車両の動作状態の妥当性が低い場合とは、例えば過去にその位置を走行した車両の動作状態の実績を集めたログに、判定対象車両のその動作状態と同じ又は近い動作状態を示すレコードが存在しない場合である。この場合、判定対象車両の動作状態に異常があると判定される(異常の検知)。この判定手法を実行する上記の車両異常検知装置では、車載ネットワークで用いられている通信プロトコル上は問題がないデータを用いたサイバー攻撃が原因の異常であっても、従来の手法に比べてより確実な検知が可能であり、車載ネットワークのサイバー攻撃に対する耐性の強化に寄与する。第一判定の結果に関する情報は、その結果に応じて、ドライバーへの報知、又はデータのさらなる解析等の次の処理等のために通知部から出力される。
【0016】
例えば、前記通知部が出力する情報は、前記判定対象車両に関する追加情報の要求を含み、前記要求に応じて取得された前記追加情報を用いて、前記判定対象車両に攻撃が発生しているか否かについての第二判定を実行する攻撃判定部をさらに備え、前記攻撃判定部が前記第二判定において前記判定対象車両に攻撃が発生していると判定した場合、前記通知部は、前記第二判定の結果に関する情報を出力してもよい。
【0017】
第一判定で異常があると判定された場合、このように取得される判定対象車両に関するさらなる情報を用いて、判定対象車両でサイバー攻撃が発生しているか否か判定される(第二判定)。第二判定の結果に関する情報は、その結果に応じて、ドライバーへの報知又は不正ECUへの処理等の、異常に対処するための次の処理等のために通知部から出力される。
【0018】
また例えば、前記取得部は、前記車両データが示す位置と前記位置における前記判定対象車両の動作状態との対応付けよりも古い、前記判定対象車両の位置と前記位置における前記判定対象車両の動作状態との対応付けを示す過去車両データをさらに取得し、前記車両データ及び前記過去車両データを用いて前記判定対象車両の車速を算出し、前記車両動作ログは、前記過去の位置及び前記過去の位置における前記車両の動作状態と、前記過去の位置における前記車両の実績の車速との対応付けをさらに含み、前記検証部は前記第一判定において、前記検索によって見つかった関連動作の実績の量に基づいて判定対象車両の動作状態に異常がないと判定した場合、前記算出された判定対象車両の車速が、前記検索によって見つかった関連動作の実績の車速に基づく所定の範囲内にあるか否かについての判定をさらに実行し、前記判定対象車両の車速が前記所定の範囲内にない場合、前記判定対象車両の動作状態に異常があると判定してもよい。
【0019】
このような構成を有する車両異常検知装置は、さらに判定対象車両から取得される、車速を直接示す情報以外の情報から取得した判定対象車両の車速の情報を判定対象車両の動作状態の異常の有無の検知に利用することができる。これにより、虚偽の車速を示すデータを生成するサイバー攻撃が判定対象車両で発生しても、そのサイバー攻撃による異常をより確実に検知することができる。また、サイバー攻撃が原因でなくても、車速に関するデータが正確性を失う異常は車両の安全性に大きく関わる。したがって、この異常をより確実に検知することで、車両の動作の信頼性を高めることができる。
【0020】
また例えば、前記検証部は、前記車両データに示される前記位置に関連する関連動作の実績が、前記車両動作ログに所定量以上含まれているか否かについての第三判定を実行し、前記位置に関連する関連動作の実績が所定量以上含まれていると前記検証部が判定した場合、前記検証部は前記第一判定を実行し、前記位置に関連する関連動作の実績が所定量以上含まれていないと前記検証部が判定した場合、前記通知部は、前記判定対象車両に関する追加情報の要求を含む前記情報を出力してもよい。
【0021】
他車の動作状態の実績の十分な蓄積がない状況は、すなわち動作状態の妥当性を計る基準がない状況であり、異常検知を正確に行うことができない。上記の構成を有する車両異常検知装置は、判定対象車両の位置と同じ位置を走行していた車両から、正確な異常検知に必要な量の動作状態の実績が集められているか否か判定する(第三判定)。量が不十分な場合は、位置と動作状態との対応関係に基づく第一判定を行うことなく、それ以外の情報を利用する第二判定を行う。これにより、精度の不十分な第一判定は実行せず、かつ、判定対象車両で発生する攻撃による異常が検知できない状況の発生は抑えられる。
【0022】
また例えば、前記取得部は、前記判定対象車両が前記位置に存在した時刻をさらに取得し、前記車両動作ログは、前記過去の位置と前記過去の位置に前記車両が存在していた時間帯との対応付けをさらに含み、前記検証部は、前記車両動作ログにおいて、さらに前記時間帯が前記時刻に関連する実績を前記関連動作の実績とし、前記関連動作の実績の量が所定量以上含まれていないと前記検証部が判定した場合、前記通知部は、前記判定対象車両に関する追加情報の要求を含む前記情報を出力してもよい。
【0023】
車両の位置と妥当な動作状態との対応関係は、例えば日中と夜間、平日と週末といった時間的な要素に応じて変化することもある。上記の構成を有する車両異常検知装置では、このような時間的な要素も加味した上で、より精度の高い適切な判定が可能になる。
【0024】
また例えば、前記動作状態は、運転支援機能の実行状態、加速制御、減速制御及び操舵制御の少なくともひとつに関する状態であってもよい。
【0025】
これにより、判定対象車両に対する第一判定は、安全性に影響する走行中の挙動に関わる種々の動作状態に異常があるか否かについて実行される。したがって、より効率的かつ効果的に判定対象車両の安全性が確保される。
【0026】
また例えば、前記検証部は、前記第一判定において前記判定対象車両の動作状態に異常がないと判定した場合、前記車両データで前記車両動作ログを更新してもよい。
【0027】
これにより、異常が発生していない判定対象車両の位置と動作状態との対応関係を示す情報が蓄積され、将来この位置を走行する車両の異常判定に利用できる。
【0028】
また、本発明の一態様に係る車両異常検知システムは、異常検知の対象である判定対象車両と無線通信を行い、前記判定対象車両における異常の検知を行うコンピュータを含む車両異常検知システムであって、前記コンピュータは、複数の車両それぞれについての、車両の過去の位置と前記過去の位置における前記車両の動作状態との対応付けを示す動作レコードを含む車両動作ログを保持するログ保持部と、判定対象車両から、無線通信を介して前記判定対象車両の位置と前記位置における前記判定対象車両の動作状態との対応付けを示す車両データを取得する取得部と、前記車両動作ログを用いて、前記車両データが示す前記判定対象車両の位置と前記判定対象車両の動作状態との対応付けに関連する関連動作の実績の検索を実行し、前記検索によって見つかった関連動作の実績に基づいて、前記判定対象車両の動作状態に異常があるか否かについての第一判定を実行する検証部と、前記検証部が前記第一判定において前記判定対象車両の動作状態に異常があると判定した場合、無線通信を介して前記第一判定の結果に関する情報を前記判定対象車両に送信する通知部とを備える。
【0029】
このような構成を有する車両異常検知システムで保持される車両動作ログは、車両の位置と異常がない動作状態との対応関係の実績を集めたデータである。そして、ある位置にいる異常検知判定の目下の対象の車両(判定対象車両)の動作状態に異常があるか否かが、このデータに照らしての妥当性に基づいて判定される(第一判定)。したがって、この判定手法を実行する上記の車両異常検知システムでは、車載ネットワークで用いられている通信プロトコル上は問題がないデータを用いたサイバー攻撃が原因の異常であっても、従来の手法に比べてより確実な検知が可能であり、車載ネットワークのサイバー攻撃に対する耐性の強化に寄与する。第一判定の結果に関する情報は、その結果に応じて、ドライバーへの報知、又はデータのさらなる解析等の次の処理等のために通知部から出力される。
【0030】
また例えば、前記通知部が送信する情報は、前記判定対象車両に関する追加情報の要求を含み、前記コンピュータは、前記判定対象車両から前記要求に応じて送信され前記無線通信を介して取得された前記追加情報を用いて、前記判定対象車両に攻撃が発生しているか否かについての第二判定を実行する攻撃判定部をさらに備え、前記攻撃判定部が前記第二判定において前記判定対象車両に攻撃が発生していると前記攻撃判定部が判定した場合、前記通知部は、無線通信を介して前記第二判定の結果に関する情報を前記判定対象車両に送信してもよい。
【0031】
第一判定で異常があると判定された場合、このように取得される判定対象車両に関するさらなる情報を用いて判定対象車両に攻撃が発生しているか否か判定される(第二判定)。第二判定の結果に関する情報は、その結果に応じて、ドライバーへの報知又は不正ECUへの処理等、異常に対処するための次の処理等のために通知部から出力される。
【0032】
また例えば、前記判定対象車両は、前記無線通信を介して提供された前記第一判定の結果に応じて、前記判定対象車両に攻撃が発生しているか否かについての第二判定を実行する攻撃判定部を備えてもよい。
【0033】
このような構成を有する車両異常検知システムでは、判定対象車両以外の車両からも集められた車両動作ログを用いて判定対象車両の動作状態に異常があるか否かの判定(第一判定)がまず実行される。この判定の結果を含む情報を受信した判定対象車両では、例えば判定対象車両上で取得可能な情報を用いて判定対象車両に攻撃が発生しているか否か判定される(第二判定)。これにより処理負荷の分散が図られ、異常発生時の対処に遅延が生じる可能性を抑えることができる。また、判定対象車両が受信する第一判定の結果に関する情報には、例えば関連動作レコードに含まれていた妥当な動作状態の情報が含まれていてもよい。そしてこの情報は、判定対象車両上の攻撃判定部による攻撃の有無の判定に用いられてもよい。
【0034】
また、本発明の一態様に係るプログラムは、プロセッサ及びメモリを含むコンピュータに判定対象車両における異常の検知のための情報処理を実行させるプログラムであって、前記情報処理は、判定対象車両から、前記判定対象車両の位置と前記位置における前記判定対象車両の動作状態との対応付けを示す車両データを取得する処理と、複数の車両それぞれについての、車両の過去の位置と前記過去の位置における前記車両の動作状態との対応付けを示す動作レコードを含む車両動作ログを用いて、前記判定対象車両の位置と前記判定対象車両の動作状態との対応付けに関連する関連動作レコードを検索し、前記検索によって見つかった関連動作レコードの件数に基づいて、前記判定対象車両の動作状態に異常があるか否かについての第一判定を実行する処理と、前記第一判定において前記判定対象車両の動作状態に異常があると判定した場合、前記第一判定の結果に関する情報を出力する処理とを含む。
【0035】
なお、これらの包括的又は具体的な態様は、方法、集積回路、又はコンピュータで読み取り可能なCD-ROM等の記録媒体で実現されてもよいし、装置、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されてもよい。
【0036】
以下、実施の形態に係る車両異常検知システム又は車両異常検知装置について、図面を参照しながら説明する。ここで示す実施の形態は、いずれも本発明の一具体例を示すものである。したがって、以下の実施の形態で示される数値、構成要素、構成要素の配置及び接続形態、機能的な構成要素間の機能分担、並びにステップ(工程)及びステップの順序等は、一例であって本発明を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は模式図であり、構成要素の形状、配置、接続形態又は数量を必ずしも厳密に図示するものではない。
【0037】
(実施の形態1)
実施の形態1に係る車両異常検知システムは、複数台の車両から各車両の位置及び動作状態に関するデータを収集し、この収集したデータを用いて個別の車両の動作状態の異常の有無を判定する。さらに車両異常検知システムは、この判定の結果に応じて、通知、攻撃の有無の判定、又はデータの蓄積等の処理を実行する。
【0038】
[1.構成]
図1は、本実施の形態に係る車両異常検知システム10の構成例を示す図である。
【0039】
車両異常検知システム10は、複数台の車両20とインターネットなどの通信ネットワーク80を介して通信し、各車両から上述のデータを収集する。車両異常検知システム10の構成要素には、車両データ取得部110、車両動作検証部120、攻撃判定部130、通知部140、及びログ保持部190が含まれる。車両異常検知システム10は、複数の場所にあって通信回線を通じて通信可能な複数台のコンピュータを用いて実現される。または一台又は同じ場所にあって通信可能に接続された複数台のコンピュータによる車両異常検知装置としても実現可能である。ただし、以下の説明では車両異常検知システムでの実施を例に用いて説明する。上記の構成要素は、コンピュータが備えるメモリに記憶される1個又は複数個のプログラムを、同じくコンピュータが備えるプロセッサが実行することで実現される機能的な構成要素である。なお、車両異常検知システム10には、
図1に示されない構成要素も含まれ得る。例えばゲートウェイ、ロードバランサ、ファイアウォール等の、通信ネットワーク80との通信又はコンピュータ間の通信を適切に実現する構成要素も含まれ得る。または、後述のログを管理する構成要素も含まれ得る。
【0040】
車両データ取得部110は、車両20の位置及びその位置における車両20の所定の動作状態との対応付けを示すデータを取得する。
【0041】
車両20の位置に関する情報は、例えば車両20の各々でGPS(Global Positioning System)等の車載の測位システムから取得される。車両20の所定の動作状態に関する情報とは、異常のない車両20の位置との間に比較的高い相関が見られる各種の運転支援機能の実行状態、つまり、所定の運転支援機能が実行中であるか否かに関する情報である。具体的な例を挙げると、一般道の本線又は高速道路という位置は、IPAの実行中でない状態、ACC又はLKAの実行中である状態と相関が高い。また、駐車場という位置はその逆で、IPAの実行中である状態、及びACC又はLKAの実行中でない状態と相関が高い。
図1の構成例では、車両20の位置に関する情報及び動作状態に関する情報は、車両20の各々の車載ネットワークシステム内で流される情報として取得され、通信ネットワーク80を介して車両異常検知システム10に送信される。位置の情報と当該位置における車両20の動作状態とは各車両20において対応付けられた上で送信されてもよいし、各車両20から送信される位置の情報と動作状態の情報を受信した車両異常検知システム10の車両データ取得部110によって、送信元である車両20及び受信時刻等の時間的な要素に基づいて対応づけられてもよい。このようにして、車両データ取得部110は車両20の位置の情報と当該位置における車両20の動作状態の情報との対応付けを示すデータ(本開示では車両データとも称する)を取得する。なお、車両20から車両異常検知システム10への上記の情報の送信の頻度は、設計事項として適宜決定し得る。例えば、これらの情報は所定の時間間隔で送信されてもよいし、車両20の所定の移動距離に応じて、又は所定の位置で送信されてもよい。別の例として、車両20の車内の状況、例えば車載ネットワークで送信されるメッセージの量に応じて、又は所定のイベント(例:車車間通信の実行、ECUのファームウェアの更新)の発生時に送信されてもよい。また別の例として、車両異常検知システム10が異常検知を実行する際に送信を要求してもよい。これらの送信のタイミングは組み合わせて用いられてもよいし、相互に切り換えて用いられてもよい。
【0042】
車両動作検証部120は、ログ保持部190に保持される後述の車両動作ログ200で、車両データ取得部110が取得した車両データで対応付けて示される車両20の位置及び動作状態に関連する動作の実績の検索を実行する。
【0043】
車両動作ログ200は、車両20に関する過去の車両データに基づくログであって、車両20それぞれの過去の位置と、その過去の位置における当該車両20の動作状態との実績に関するレコード(本開示では動作レコードともいう)を含むデータベースである。
図2は、本実施の形態に係る車両異常検知システム10で用いられる車両動作ログ200のデータ構成例を示す図である。この車両動作ログ200のデータ行の一行目にある動作レコードは、ある期間において、「34.7383,135.5736」の値で示される位置で車両20のACCが実行中であった実績が987回であることを示す。また、データ行の二行目にある動作レコードは、ある期間において、「34.7383,135.5736」の値で示される位置で車両20のIPAが実行中であった実績が6回であることを示す。このように車両動作ログ200では、車両20の過去の位置と、この過去の位置における車両20の動作状態との対応付けが、これらを組み合わせて含む動作レコードによって示される。
【0044】
関連する動作の実績の検索は、車両動作ログ200の中を、車両20のうちで異常検知判定の目下の対象である車両(本開示では判定対象車両とも称する)の車両データで対応付けが示されている判定対象車両の位置及び動作状態と同一の組み合わせの位置及び動作状態の対応付けを示す動作レコードを検索することで実行される。例えば「34.7383,135.5736」の値が示す位置とACCが実行中である動作状態との対応付けを示す車両データを車両データ取得部110が判定対象車両から取得したとする。この場合に車両動作検証部120が
図2の車両動作ログ200で検索して見つけるのは、データ行の一行目にある動作レコードである。また、この動作レコードに含まれる動作回数のフィールドの値が、車両データが示す対応付けに関連する動作(関連動作)の実績の例である。これらの動作回数のフィールドの値は、集計期間において、ある特定の位置をある特定の動作状態にある車両20が走行した頻度(度数)ともいえる。車両動作検証部120は、このような関連動作の実績に基づいて、判定対象車両の動作状態に異常があるか否かについての判定(本開示では第一判定とも称する)を実行する。
【0045】
なお、車両異常検知システム10で用いられる車両動作ログのデータ構成は、車両の位置と動作状態との対応付けを示すものであればよく、
図2に示される車両動作ログ200の形式に限定されない。別の例として、車両動作ログの動作レコードには動作回数のフィールドがなく、車両の位置と動作状態との組み合わせの発生1回につき1件の動作レコードが含まれてもよい。この場合、車両動作ログが含む動作レコードのうち、車両データ取得部110が取得した車両データで示される位置と動作状態との対応付けと同一の位置及び動作状態の対応付けを示す動作レコードの件数が関連動作の実績に相当する。
【0046】
また、本開示における車両異常検知システムで用いられる車両動作ログは、位置、動作状態、動作回数以外の情報をさらに含んでもよい。車両動作ログに含まれ得る他の情報の例は、その利用方法とあわせて別の実施の形態として後述する。
【0047】
上記のように車両動作検証部120が関連動作の実績に基づいて実行する第一判定は、ある位置で妥当性が高い、つまり異常が起こっていない車両の動作状態は、より頻繁に発生するという認識を根拠とする。例えば、上記の検索で見つかった関連動作の発生回数(動作回数)が所定の基準より少ない場合に、車両動作検証部120は判定対象車両の動作状態に異常があると判定してもよい。別の例として、関連動作の動作回数が、車両動作ログ200に含まれる同じ位置での全種類の中でももっとも動作回数の多い場合に、判定対象車両の動作状態に異常がなく、それ以外の場合は異常があると判定されてもよい。また別の例として、関連動作の動作回数が、車両動作ログ200に含まれる同じ位置で発生した全種類の動作状態の動作回数の合計に占める割合が所定の基準より低い場合、判定対象車両の動作状態に異常があると判定されてもよい。より具体的な例として、車両データ取得部110が、「34.7383,135.5736」の値が示す位置とIPAが実行中である動作状態との対応付けを示す車両データを判定対象車両から取得したとする。この場合に車両動作検証部120が
図2の車両動作ログ200で検索して見つけるのは、データ行の二行目にある動作レコードである。ここで、この位置での上記の動作回数の基準の値として500が設定されているとする。この場合、車両動作検証部120は、見つかった関連動作の実績である動作回数が6であり500に満たないため、判定対象車両の動作状態に異常があると判定する。
【0048】
車両異常検知システム10では、第一判定の結果に応じた処理がさらに実行される。
【0049】
車両動作検証部120が第一判定において判定対象車両の動作状態に異常があると判定した場合、第一判定のこの結果に関する情報が通知部140から出力されてもよい。第一判定の結果に関する情報には、例えば判定対象車両において、異常が検知された旨の情報をドライバーに対して提示させるための情報が含まれてもよい。また、判定対象車両にサイバー攻撃が発生しているか否かについての判定(本開示では第二判定とも称する)に用いる、判定対象車両に関する追加情報の要求が含まれてもよい。この第二判定を実行するのが、攻撃判定部130である。第二判定に用いられる追加情報とは、例えば判定対象車両の車載ネットワークシステム内部での通信又は外部との通信のログ、ゲートウェイ等の通信機器又はECUのファームウェアの更新ログに含まれる情報である。このような情報の要求は、本実施の形態では判定対象車両に送信される。なお、追加で送信される情報の種類、発生の時期等は、あらかじめ決められていてもよいし、通知部140から送信される要求で指定されていてもよい。
【0050】
攻撃判定部130は、例えば判定対象車両がこの要求に応じて送信する追加情報のデータを取得し、この情報を用いて上述の第二判定を実行する。攻撃判定部130が第二判定において、判定対象車両に攻撃が発生していると判定した場合、第二判定のこの結果に関する情報が通知部140から出力されてもよい。第二判定の結果に関する情報には、例えば、判定対象車両にサイバー攻撃発生した又は発生している旨の情報をドライバーに対して提示させるための情報が含まれてもよい。またはさらに、発生した異常に応じた適切な行動(例えば路肩への退避)をドライバーに促すための情報が含まれてもよい。また例えば、判定対象車両の車載ネットワークシステムにこのサイバー攻撃への対処を実行させる情報が含まれていてもよい。車載ネットワークシステムが実行する対処の例としては、不正なメッセージを送出しているECU又は攻撃の標的となっているECUの無効化、サイバー攻撃の影響を受け得る機能の停止、自動運転による車両の退避が挙げられる。
【0051】
また、車両動作検証部120が第一判定において判定対象車両の動作状態に異常がないと判定した場合、判定対象車両の車両データが車両動作ログ200に追加されてもよい。つまりこの場合、車両データは車両動作ログ200に含まれる動作レコードとなって、将来この位置を走行する車両の異常判定に利用される。また、攻撃判定部130が第二判定において、判定対象車両に攻撃は発生していないと判定した場合、車両動作検証部120によって判定対象車両の車両データが車両動作ログ200に追加されてもよい。例えば
図2に示される車両動作ログ200のデータ行の二行目にある動作レコードは、「34.7383,135.5736」の値で示される位置において発生頻度が低い動作状態を含む車両データが車両動作ログ200に追加されたことによって生じたレコードであり得る。
【0052】
ここまで、本実施の形態に係る車両異常検知システム10の構成要素及び各構成要素の機能について説明した。車両異常検知システム10では、これらの各構成要素が各々の機能を発揮する処理を実行することによって判定対象車両の動作状態に対する異常検知の判定(第一判定)が実行され、また、その判定の結果に応じた処理がなされる。次に、この異常検知を含む処理を実行する車両異常検知システム10の動作手順もついて、例を用いて説明する。
【0053】
[2.動作]
図3は、車両異常検知システム10による異常検知を含む処理のための動作手順の例を示すフロー図である。
【0054】
車両異常検知システム10は、
図3のフロー図に示す動作手順を、車両20の各々から位置に関する情報及び動作状態に関する情報を受信しながら実行する。これらの情報が車両20において対応付けられてから車両異常検知システム10に送信されるか、車両異常検知システム10で受信後に車両データ取得部110によって対応付けられるかは選択し得る設計事項である。いずれの場合も、車両データ取得部110は、動作状態の異常検知判定の目下の対象である判定対象車両の位置と、この位置における判定対象車両の動作状態との対応付けを示す車両データを取得する(ステップS10)。なお、車両異常検知システム10にこれらの情報を送信する車両20のいずれもが判定対象車両となり得る。
図3のフロー図を用いて説明する本手順のステップは一台の判定対象車両を対象に一連に実行され、この手順による処理が車両20のそれぞれに対して個別に行われると理解されたい。
【0055】
次に、車両動作検証部120が、車両動作ログ200で、車両データ取得部110が取得した車両データが示す判定対象車両の位置と動作状態との対応付けに関連する関連動作の実績の検索を実行する(ステップS20)。そして、この検索によって見つかった関連動作の実績に基づいて、判定対象車両の動作状態に異常があるか否かについての判定(第一判定)を実行する(ステップS30)。
図3の例では、第一判定は、車両動作ログ200に含まれる、車両20の位置と動作状態との対応付けを示す動作レコードのうち、判定対象車両の車両レコードと同一の対応付けを示す関連動作レコードの件数を関連動作の実績として用い、この件数と所定の基準件数nとの比較によって行われている。関連動作レコードの件数がn以上であれば(ステップS30でYes)、車両動作検証部120は判定対象車両の動作状態に異常がないと判定する(ステップS40)。動作レコードの件数がn未満であれば(ステップS30でNo)、車両動作検証部120は判定対象車両の動作状態に異常があると判定する(ステップS50)。
【0056】
判定対象車両の動作状態に異常があると判定されると、この判定の結果に関する情報が通知部140から出力される。
図3の例では、通知部140から判定対象車両に関する追加情報の要求が判定対象車両に送信される(ステップS60)。
【0057】
車両異常検知システム10がこの要求に応じて判定対象車両から送信された追加情報を取得すると(ステップS70)、攻撃判定部130がこの追加情報を用いて、判定対象車両にサイバー攻撃が発生しているか否かについての判定(第二判定)を実行する(ステップS80)。
【0058】
サイバー攻撃が発生していると判定された場合(ステップS80でYes)、この判定の結果に関する情報が通知部140から出力される。
図3の例では、通知部140からサイバー攻撃が発生している旨の通知が判定対象車両に送信される(ステップS60)。この通知を受けた判定対象車両では、例えばサイバー攻撃が発生していることの情報がドライバーに提示されたり、サイバー攻撃の影響を受け得る機能が停止されてもよい。
【0059】
判定対象車両の動作状態に異常がないと判定された場合(ステップS30でYesからステップS40)、又は判定対象車両にサイバー攻撃が発生していないと判定された場合(ステップS80でNoからステップS90)、車両動作検証部120は、判定に用いた判定対象車両の車両データを動作レコードとして追加して、又は適切な動作レコードに反映させて車両動作ログ200を更新する(ステップS100)。
【0060】
ここまでが、車両異常検知システム10による異常検知を含む処理のための動作手順の一例である。なお、車両異常検知システム10によるこの処理のための動作手順、及び上述の各ステップの内容はこの例に限定されない。例えばステップS30では、上記の例の動作レコードの件数に代えて、車両異常検知システム10の構成の説明で例示したような集計された動作回数が用いられたり、同じ位置で発生した全種類の動作状態の動作回数の合計に占める割合が用いられたりしてもよい。また、ステップS60又はステップS90で通知部140が出力する判定の結果に関連する情報は、
図3のフロー図に例示される情報以外の情報でもよいし、判定対象車両とは別の通知先に提供されてもよい。例えば、判定対象車両に異常あり又はサイバー攻撃の発生という判定結果が、図示しない車両メーカー等のSOC(Security Operation Center)に提供されてもよい。
【0061】
ここで、
図4のシーケンス図を用いて、車両異常検知システム10における構成要素間の連携について
図3のフロー図の内容に補足する。
図4は、車両異常検知システム10による異常検知を含む処理のための構成要素間の連携の一例を示すシーケンス図である。
図4では、
図3のフロー図にあるステップに対応する要素は共通の符号を用いて示している。ただし、ログ保持部190については
図4での図示を省略している。なお、
図4中の車両20は判定対象車両である。
【0062】
図4に示されるように、車両データ取得部110は、判定対象車両である車両20から自車の位置に関する情報p(以下、単に位置pのようにも表記する)及びこの位置での自車の動作状態に関する情報b(以下、単に動作状態bのようにも表記する)を受信し、位置pと動作状態bとの対応付けを示す車両データ(p,b)を取得する(ステップS10)。
【0063】
車両動作検証部120は、車両データ取得部110から入力を受けた車両データ(p,b)が示す対応付けに関連する関連動作の実績を車両動作ログで検索する(ステップS20)。次いで車両動作検証部120は、検索の結果見つかった実績の量に基づく第一判定を実行する。
図4の例では、第一判定は、この実績の量としての関連動作レコードの件数を基準件数nと比較することで行われる。関連動作レコードの件数がn以上であれば異常なしと判定し(ステップS30でYes)、車両動作検証部120は車両データ(p,b)で車両動作ログを更新する(ステップS100)。関連動作レコードの件数がn未満であれば異常ありと判定し(ステップS30でNoからステップS50)、車両動作検証部120はその結果を通知部140に通知する。
【0064】
この結果の通知を受け取った通知部140は、車両20に自車に関する追加情報を要求する(ステップS60)。この要求を受け取った車両20は、自車の通信ログ等の情報を送信する。
【0065】
車両20から追加で送信された情報は攻撃判定部130に入力される。攻撃判定部130は、この情報を用いて車両20にサイバー攻撃が発生しているか否か判定する(ステップS80)。サイバー攻撃が発生していると判定した場合(ステップS80でYes)、攻撃判定部130は通知部140に、車両20でのサイバー攻撃の発生に関する情報を出力するよう要求する。
図4の例では、この要求を受けた通知部140から車両20にサイバー攻撃の発生の旨が通知されている。サイバー攻撃が発生していないと判定した場合(ステップS80でNo)、攻撃判定部130は車両動作検証部120に車両動作ログの更新を要求し、この要求を受けた車両動作検証部120は、車両データ(p,b)を車両動作ログの新たな動作レコードとして追加することで、又は適切な動作レコードに反映させることで車両動作ログを更新する(ステップS100)。
【0066】
[3.小括]
以上述べたように、本実施の形態に係る車両異常検知システム10は、動作状態の異常の検知の対象である判定対象車両と無線通信を行い、判定対象車両における異常の検知を行うコンピュータを含む。
【0067】
このコンピュータは、ログ保持部190と、車両データ取得部110と、車両動作検証部120と、通知部140とを備える。ログ保持部190は、複数の車両20それぞれについての、過去の位置とこの位置における当該車両20の動作状態との対応付けを示す動作レコードを含む車両動作ログ200を保持する。また、車両データ取得部110は、判定対象車両から、無線通信を介して判定対象車両の位置とこの位置における判定対象車両の動作状態との対応付けを示す車両データを取得する。車両動作検証部120は、車両動作ログ200を用いて、車両データが示す判定対象車両の位置と動作状態との対応付けに関連する関連動作の実績の検索を実行し、この検索によって見つかった実績に基づいて、判定対象車両の動作状態に異常があるか否かについての判定(第一判定)を実行する。通知部140は、車両動作検証部120が判定対象車両の動作状態に異常があると判定した場合、無線通信を介してこの判定の結果に関する情報を判定対象車両に送信する。
【0068】
このように実行される第一判定は、判定対象車両の位置及びその位置での動作状態を、正常な車両の位置と動作状態との対応付けの実績に照らすことで行われる異常検知の判定である。このような判定であれば、車載ネットワークシステムで使用されている通信プロトコルに則したメッセージを送信して行われる、例えばなりすましによる攻撃によって生じる異常をより確実に検知することができる。
【0069】
また、通知部140が出力する情報は判定対象車両に関する追加情報の要求を含んでもよい。この場合、上記のコンピュータはさらに攻撃判定部130を備えてもよい。攻撃判定部130は、判定対象車両から上記の要求に応じて無線通信を介して送信されたこの追加情報を用いて、判定対象車両に攻撃が発生しているか否かについての判定(第二判定)を実行する。また、攻撃判定部130が判定対象車両に攻撃が発生していると判定した場合、通知部140は、無線通信を介してこの結果に関する情報を判定対象車両に送信してもよい。
【0070】
このように、第一判定で異常があると判定された場合には判定対象車両についてのさらなる情報を用いてサイバー攻撃の発生の有無について検査することで、判定対象車両のサイバー攻撃に対する耐性を向上させる。
【0071】
なお、本発明の技術的範囲は本実施の形態に適用可能な各種の変形も含むが、これらの変形は下記の他の実施の形態にも共通して適用可能であるため、他の実施の形態の説明の後に述べる。
【0072】
(実施の形態2)
次に、実施の形態1で示した車両異常検知システム10とは、車両動作検証部の処理が一部異なる実施の形態2について説明する。なお、本実施の形態に係る車両異常検知システムの構成及び用いられる車両動作ログのデータ構成は実施の形態1と共通でよい。したがって、以下の説明では、本実施の形態に係る車両異常検知システム及びその構成要素、データ構成並びに処理のステップを実施の形態1と共通の参照符号を用いて示す。また、これらの詳細な説明は省略し、実施の形態1との差異である車両動作検証部による処理を中心に説明する。
【0073】
[1.動作]
図5は、本実施の形態に係る車両異常検知システム10による異常検知を含む処理のための構成要素間の連携の一例を示すシーケンス図である。なお、本実施の形態においても車両異常検知システム10の動作手順の概要は
図3に示されるとおりであるため、詳細な説明は省略する。また、
図5においても、
図4のシーケンス図と同様に
図3のフロー図にあるステップに対応する要素は共通の符号を用いて示している。また、
図5においてもログ保持部190の図示は省略している。
図5の車両20も判定対象車両である。
【0074】
実施の形態1では、車両動作検証部120は車両データが示す判定対象車両である車両20の位置p及びこの位置における動作状態bとの対応付けに関連する実績を車両動作ログ200で検索した(
図4のステップS20)。これに対し、本実施の形態では、車両動作検証部120は、車両動作ログ200で、まず位置pに関連する関連動作の実績を検索する(ステップS18)。そして、この検索によって見つかった関連動作の実績の量が所定量m以上あるか否かを判定する。
図5の例では、この判定(本開示では第三判定とも称する)は、この実績の量としての関連動作レコードの件数が基準件数m以上であるか否かに基づいて実行される(ステップS19)。第三判定は、車両動作ログ200に含まれる位置pについての関連動作の実績の量が、第一判定に求められる信頼性が確保できるか否かの確認を目的として実行される。関連動作レコードの件数がm未満であれば実績不足と判定し(ステップS19でNo)、車両動作検証部120はその結果を通知部140に通知する。関連動作レコードの件数がm以上であれば(ステップS19でYes)、車両動作検証部120は実施の形態1でも実行されたステップS20以降の手順を実行する。
【0075】
実績が不足している場合、車両異常検知システム10では、車両20の安全の確認のために、攻撃判定部130による攻撃の発生の判定(第二判定)が実行される。第二判定を実行するために、実績不足の通知を受け取った通知部140は、車両20に追加情報を要求する(ステップS60)。以降の手順は
図4に示す実施の形態1での手順と同じであるため、図示及び説明を省略する。
【0076】
[2.小括]
以上述べたように、本実施の形態に係る車両異常検知システム10が備える車両動作検証部120は、車両データに示される判定対象車両の位置に関連する関連動作の実績が、車両動作ログ200に所定量以上含まれているか否かについての第三判定を実行する。判定対象車両の位置に関連する関連動作の実績が所定量以上含まれていると判定した場合、車両動作検証部120は第一判定を実行する。判定対象車両の位置に関連する関連動作の実績が所定量以上含まれていないと車両動作検証部120が判定した場合、通知部140は、判定対象車両に関する追加情報の要求を含む情報を出力する。
【0077】
このような第三判定を実行することで、第一判定に求められる信頼性が確保される。また、実績が少なくて信頼性が確保できない場合には、判定対象車両について利用可能な他の情報を用いてサイバー攻撃の発生の有無に関する第二判定が実行される。これにより、判定対象車両のサイバー攻撃に対する耐性を向上させる。
【0078】
(実施の形態3)
次に、車両の動作状態の異常検知に車速の情報をさらに用いる点で実施の形態1又は2に係る車両異常検知システム10と異なる実施の形態3について説明する。なお、本実施の形態に係る車両異常検知システムの構成は実施の形態1及び2と共通でよい。したがって以下の説明では、本実施の形態に係る車両異常検知システム及びその構成要素、並びに処理のステップを、実施の形態1及び2と共通の参照符号を用いて示す。また、これらの詳細な説明は省略し、実施の形態1及び2との差異である情報及びその情報を用いる車両異常検知システムの動作を中心に説明する。
【0079】
[1.使用する情報]
図6Aは、本実施の形態に係る車両異常検知システム10で用いられる車両動作ログ200Aのデータ構成例を示す図である。車両動作ログ200Aは、
図2に示される車両動作ログ200が含む位置、動作状態及び動作回数に加えて、車速の情報を含む。つまり、車両動作ログ200Aが含む動作レコードは、車両20の過去の位置と、この過去の位置における車両20の動作状態と、この過去の位置における車両20の車速との対応付けをさらに含む。なお、
図6Aのように一つの動作レコードが動作回数の(
図6Aの例では987回)集計を実績として示す場合、この車速は各回の車速に基づく値であり、例えば、算術平均、刈込平均、中央値、最頻値、又は所定のパーセンタイル値等の統計量である。つまり、車速のフィールドには、集計期間において、ある特定の位置をある特定の動作状態で走行した車両20の速度、又は複数の車両20のこの速度に基づく統計量が入る。車速の情報の取得については次の動作の説明で述べる。車両動作検証部120は、このような関連動作の実績に基づいて、判定対象車両の動作状態に異常があるか否かについての判定(第一判定)を実行する。
【0080】
[2.動作]
図6Bは、本実施の形態に係る車両異常検知システム10による異常検知を含む処理のための構成要素間の連携の例を示すシーケンス図である。なお、本実施の形態においても車両異常検知システム10の動作手順の概要は
図3に示されるとおりであるため、詳細な説明は省略する。なお、本実施の形態で示す車速の使い方は、実施の形態1にも適用可能であるが、以下では実施の形態2への適用を例に用いて説明する。
図6Bでは、実施の形態2の説明に用いた
図5のシーケンス図にあるステップに対応するステップは共通の符号を用いて示し、詳細な説明は省略する。また、
図6Bにおいてもログ保持部190の図示は省略している。
図6Bの車両20も判定対象車両である。
【0081】
本実施の形態では、判定対象車両である車両20の車速は、この車両20から異なる時刻に取得した2件の車両データに含まれる位置の情報を用いて算出して取得される。
図6Bの例では、車両データ取得部110が、ステップS1で取得する車両データ(p
1,b
1)に含まれる位置p
1と、ステップS10で取得する車両データ(p
2,b
2)に含まれる位置p
2とから2つの位置間の距離を求める。車両データ(p
1,b
1)は、判定対象車両の、車両データ(p
2,b
2)よりも古い位置とその位置での動作状態との対応付けを示す、本実施の形態における過去車両データの例である。そしてこの距離と、これらの2件の車両データの取得時刻の差とを用いて車両20の車速vを算出する(ステップS11)。以下では便宜上、車速vを指して判定対象車両車速とも称する。ここでの車速vの算出に用いられる時刻は、車両データの取得の時刻に限定されない。代わりに、例えば車両20から車両異常検知システム10に自車の位置に関する情報の取得時又は送信時の時刻の情報が提供され、この時刻が車速vの算出に用いられてもよい。このように算出された車速vは、車両データ(p
2,b
2)とあわせて車両動作検証部120に提供される。車両データ(p
2,b
2)は、実施の形態1及び2の車両データ(p,b)に相当する。なお、このように算出される車速vは、厳密には車両20の位置p
1と位置p
2との間の区間における車両20の車速であるが、以下では便宜的に、車両20の位置p
2における車速のように表現することがある。
【0082】
車両動作検証部120によるステップS18、S19及びS20は、実施の形態2の手順と共通である。
【0083】
続くステップS30からは、Noの場合に続く処理は実施の形態2と共通であるが、Yesの場合に続く処理が異なる。具体的には、車両動作ログで検索した車両データ(p2,b2)の対応付けに関連する関連動作の実績が所定量以上である場合(ステップS30でNo)、車両20の車速vをステップS20で検索し見つかった関連動作レコードに示される車速に基づく所定の範囲内であるか否か判定する(ステップS35)。例えば車速vが時速40kmで、ステップS20で検索で見つかった関連動作レコードが示す車速が時速65kmであり、所定の範囲が時速±10kmの場合、車両動作検証部120は異常ありと判定し、その結果を通知部140に通知する(ステップS35でNo)。つまり、本実施の形態における車両異常検知システム10では、判定対象車両の動作状態の、関連動作レコードの量に基づく異常の有無の判定に加えて、判定対象車両のこの位置における車速の妥当性も関連動作レコードが示す車速に照らして妥当であるか否かに基づいて、異常の有無の判定(第一判定)が実行される。
【0084】
これにより、虚偽の車速を示すデータを生成するサイバー攻撃が判定対象車両で発生しても、そのサイバー攻撃による異常をより確実に検知することができる。また、サイバー攻撃が原因であるか否かに関わらず、車速に関するデータが正確性を失う異常は車両及びその周辺の交通の安全に大きく関わる。したがって、この異常をより確実に検知することで、車両の動作の信頼性を高めることができる。
【0085】
ステップS35までに異常ありと判定された場合(ステップS30又はS35でNo)、攻撃判定部130による攻撃の発生の判定(第二判定)が実行される。この第二判定の実行のために、実績不足の通知を受け取った通知部140は、車両20に追加情報を要求する(ステップS60)。以降の手順は
図4に示す実施の形態1での手順と共通であるため、図示及び説明を省略する。また、車速vが所定の範囲内であってステップS35で異常なしと判定された場合(ステップS35でYes)、車両動作検証部120は車両データ(p
2,b
2)及び車速vで車両動作ログを更新する(ステップS100)。上述の
図6Aの車両動作ログ200Aのデータ構成例の説明で触れた各回の車速とは、この車速vであり、動作レコードの車速のフィールドに入る数値は、この更新のステップで車速vを用いて新たに算出される。
【0086】
なお、車両動作ログの動作レコードには動作回数のフィールドがなく、車両の位置と動作状態との組み合わせの発生1回につき1件の動作レコードを含む場合、ステップS35で用いられる関連動作レコードに示される車速は、ステップS20の検索で見つかった1件以上の関連動作レコードの車速のフィールドの値から算出して取得する。また、ステップS100では、車速vがそのまま車速のフィールドの値として入力される。
【0087】
なお、上記で説明した車両20の車速の算出方法は概要であり、本実施の形態における車両異常検知システム10で利用可能な車速の算出に用いる値の取得の方法には複数ある。例えば、第一車両の直近2件の車両データに含まれる位置、及びこれらの2つの車両データに関する時刻(例えば、取得、送信、又は受信の時刻)の差が利用されてもよい。または、直近2件でなくても、速度の算出に適した時間差の2件の車両データを用いて上記の様に算出してもよい。または、距離が既知の所定の2つの位置又はその最寄りの位置で車両20から送信される2件の車両データに関する時刻が用いられてもよい。
【0088】
[3.小括]
以上述べたように、本実施の形態に係る車両異常検知システム10が備える車両データ取得部110は、判定対象車両の車両データ、及びこの車両データが示す対応付けよりも古い、判定対象車両の位置及び動作状態との対応付けを示す過去車両データをさらに取得する。そして、車両データ及び過去車両データを用いて判定対象車両の車速(判定対象車両車速)を算出する。
【0089】
また、車両動作ログ200Aは、車両20の、過去の位置と、この過去の位置における車両20の動作状態と、この過去の位置における車両20の車速との対応付けをさらに含む。
【0090】
車両動作検証部120は第一判定において、検索によって見つかった関連動作の実績の量に基づいて判定対象車両の動作状態に異常がないと判定した場合、判定対象車両車速が、検索によって見つかった関連動作の実績の車速に基づく所定の範囲内にあるか否かについての判定をさらに実行する。判定対象車両車速がこの所定の範囲内にない場合、車両動作検証部120は判定対象車両の動作状態に異常があると判定する。
【0091】
これにより、異常をより確実に検知することができ、車両の動作の信頼性を高めることができる。
【0092】
[4.変形例]
なお、本実施の形態の変形例として、判定対象車両の位置、この位置における動作状態、及び車速の3つの要素の対応付けに関して関連性がある実績の量を用いて判定対象車両の動作状態の異常の有無が判定されてもよい。
【0093】
例えば、ある位置で判定対象車両である車両においてLKA及びACCが実行中であり、その車速が65kmであるとする。また同じ位置で、判定対象車両である他の車両においてIPAが実行中であり、その車速が時速5kmであるとする。実際には、前者は高架道路を走行中であり、後者はこの高架道路の真下に設けられた駐車場で駐車しようとしているところであり、いずれも異常ではない。
【0094】
このような位置では、判定対象車両の位置及び動作状態に加えて、これらと車速との対応付けに関しても関連性がある実績の量が基準件数又は基準割合以上か否かに基づいて第一判定を実行することで、いずれの車両20についても異常なしという判定が可能になる。したがって、安全の確認のための攻撃判定をさらに行う必要がないため、車両異常検知システム10、車両20、通信ネットワーク80等の処理負担の増加を抑えることができる。
【0095】
(実施の形態4)
次に、車両の動作状態の異常検知に時間帯の情報をさらに用いる点で実施の形態1から3に係る車両異常検知システム10と異なる実施の形態4について説明する。なお、本実施の形態に係る車両異常検知システムの構成は実施の形態1から3と共通でよい。したがって以下の説明では、本実施の形態に係る車両異常検知システム及びその構成要素、並びに処理のステップを、実施の形態1から3と共通の参照符号を用いて示す。また、これらの詳細な説明は省略し、実施の形態1から3との差異である情報及びその情報を用いる車両異常検知システムの動作を中心に説明する。
【0096】
[1.使用する情報]
図7Aは、本実施の形態に係る車両異常検知システム10で用いられる車両動作ログ200Bのデータ構成例を示す図である。車両動作ログ200Bは、
図6Aに示される車両動作ログ200Aが含む位置、動作状態、動作回数及び車速に加えて、時間帯の情報を含む。つまり、車両動作ログ200Bが含む動作レコードは、車両20の過去の位置と、車両20がこの過去の位置に存在した時間帯との対応付けをさらに示す。車両動作ログ200Bも、車両データを用いて更新される点は実施の形態1から3と共通である。ただし、車両動作ログ200Bでは、位置、動作状態に加えて、時間帯も車両データと共通である動作レコードの動作回数及び車速の集計の結果に反映される。つまり、動作回数のフィールドには、集計期間において、ある特定の位置をある特定の動作状態にある車両20がある特定の時間帯に走行した頻度(度数)が入る。また、車速のフィールドには、集計期間において、ある特定の位置をある特定の動作状態である特定の時間帯に走行した車両20の車速が入る。車両動作検証部120は、このような関連動作の実績に基づいて、判定対象車両の動作状態に異常があるか否かについての判定(第一判定)を実行する。
【0097】
[2.動作]
図7Bは、本実施の形態に係る車両異常検知システム10による異常検知を含む処理のための構成要素間の連携の例を示すシーケンス図である。なお、本実施の形態においても車両異常検知システム10の動作手順の概要は
図3に示されるとおりであるため、詳細な説明は省略する。なお、本実施の形態で示す時間帯の情報の使い方は、実施の形態1又は2にも適用可能であるが、以下では実施の形態3への適用を例に用いて説明する。
図7Bでは、実施の形態3の説明に用いた
図6Bのシーケンス図にあるステップに対応するステップは共通の符号を用いて示し、詳細な説明は省略する。また、
図7Bにおいてもログ保持部190の図示は省略している。
図7Bの車両20も判定対象車両である。
【0098】
本実施の形態では、判定対象車両である車両20の車速vの取得(ステップS11)に加えて、車両データ取得部110が時刻tを取得する(ステップS12)。例えば、実施の形態3で述べた車速vの取得に用いられた時刻でもよい。または、判定対象車両において位置データの取得時に、又は車両データ取得部110で車両動作検証部120への提供までに別途取得された時刻が時刻tとして用いられてもよい。このように取得される時刻tは、いわば判定対象車両が位置p2に存在した時刻として扱われる。そして時刻tは、判定対象車両の車両データ(p2,b2)及び車速vとあわせて車両動作検証部120に提供される。車両データ(p2,b2)は、実施の形態1及び2の車両データ(p,b)に相当する。
【0099】
車両動作検証部120によるステップS18及びS19は、実施の形態2及び3の手順と共通である。
【0100】
続く車両動作検証部120によるステップS20Aは、実施の形態2及び3における関連する実績の検索の手順(ステップS20)と類似であるが一部異なる。ステップS20Aでは、判定対象車両の位置p2における動作状態b2との対応付けに加え、時間帯が時刻tに関連する実績が車両動作ログ200Bで検索される。時間帯と時刻tとの関連性、つまり動作レコードの時間帯のフィールドに入る値と時刻tの値との対応については、車両異常検知システム10が、例えば「朝」は「日の出から午前9時まで」のように別途規定するデータ(図示なし)が利用される。このように、車両動作ログ200Bを用いてステップS20Aの手順を実行することで、同じ位置でも時間帯によって車両20の動作状態又は車速の傾向が異なる場合に、より精度の高い適切な異常検知が可能になる。
【0101】
ステップS20Aで見つかった実績の量がステップS30で基準件数nと比較される。以降は実施の形態3と共通の手順で判定対象車両の動作状態に異常があるか否かについての判定(第一判定)が実行される。また、第一判定の結果に応じて、攻撃の有無に関する判定(第二判定)等が実行される。車両動作ログの更新(ステップS100)では、車両データと位置と動作状態との対応付けが関連し、かつ時刻tに関連する時間帯を含む動作レコードの動作回数の値が増加される。または、関連する時間帯を示す適切な値を含む動作レコードとして追加される。
【0102】
なお、上記で説明した構成要素間の連携の例は、時刻と時間帯との関連がステップS20の変形であるステップS20Aで用いられる態様であるが、時刻と時間帯との関連はステップS18の変形において用いられてもよい。つまり、判定対象車両の車両データ(p2,b2)と時刻tとを車両データ取得部110から受け取った車両動作検証部120は、位置p2に関連する位置情報と、かつ時刻tに関連する時間帯とを対応付けて示す実績(動作レコード)を検索する。続くステップS19では、この検索によって見つかった実績の量が基準件数m未満であれば、実績不足と判定され(ステップS19でNo)、車両動作検証部120からその結果が通知部140に通知される。この態様でも、同じ位置でも時間帯によって車両20の車速又は動作状態の傾向が異なる場合に、より適切な異常検知が可能になる。
【0103】
また、上記の例では、時間帯の値として一日を分割した時間帯が用いられているが、車両異常検知システム10で利用される時間帯の値はこれに限定されない。他に、平日と週末、交通混雑(又は閑散)期、積雪期、交通規制実施時等といった期間の区分もまた車両異常検知システム10で時間帯の値として利用可能である。
【0104】
[2.小括]
以上述べたように、本実施の形態に係る車両異常検知システム10が備える車両データ取得部110は、判定対象車両の位置及びこの位置での動作状態との対応付けに加えて、判定対象車両がこの位置に存在した時刻tをさらに取得する。また、車両動作ログ200Bは、車両20の過去の位置と、この過去の位置に車両20が存在していた時間帯との対応付けをさらに含む。そして車両動作検証部120は、車両動作ログ200Bにおいて、さらにこの時間帯が時刻tに関連する実績を関連動作の実績とし、この関連動作の実績の量が所定量以上含まれていないと車両動作検証部が判定した場合、通知部に実績不足又は異常ありの旨を通知する。この通知を受けた通知部は、判定対象車両に関する追加情報の要求を含む情報を出力する。
【0105】
これにより、時間的な要素も加味した上で、信頼性のある異常検知に必要な量の動作状態の実績が集められているか否か判定する。これにより、精度のより高い適切な判定が可能にる。
【0106】
(変形例及び補足事項)
以上のように、本発明に係る技術の例示として各実施の形態及びその変形を説明した。しかしながら、本発明に係る技術はこの説明の内容に限定されず、適宜、変更、置き換え、付加、省略等による変形を加えた実施の形態にも適用可能である。例えば、以下のような変形例も本発明の実施態様に含まれる。
【0107】
(1)上記の各実施の形態では、動作状態はACC、LKA、IPAといった運転支援機能の実行状態に関するものとして説明したが、本発明に係る車両異常検知システムにおいて利用可能な動作状態が示す対象はこれに限定されない。特定の状態が車両の存在している位置と相関が高いものであればよく、例えば、加速制御、減速制御、操舵制御又はシフトポジションに関する状態であってもよく、運転支援機能を含めてこれらの組み合わせであってもよい。加速制御に関する状態とは、例えばアクセルペダルが踏まれているか否か、又はアクセルの開度である。減速制御に関する情報とは、例えばブレーキペダルが踏まれているか否か、又はブレーキペダルの操作量である。操舵制御に関する状態とは、例えばステアリングホイールの操舵角である。これらの各制御は、ある位置における道路の勾配、形状又は規制等に応じて妥当性が高い特定の状態が、それ以外の状態よりも高い頻度で発生し得る、つまり、特定の状態に位置との相関がある。
【0108】
(2)上記の各実施の形態は、車両20はいずれもACC、LKA、IPAといった運転支援機能を備え、またこれらの各機能は車両20が正常であれば適用利用な位置で実行中になり、ドライバー又は車載システムによる強制的な有効無効の切替はされないという想定を便宜上用いて説明している。ただし、本発明に係る車両異常検知システムによる異常の検知対象となる車両は、このような車両に限定されない。車両における運転支援の各機能の有無又は各機能の強制的な有効化若しくは無効化を示す情報も、車両から車両異常検知システムに送信され、車両動作ログに記録される情報に含まれてもよい。そしてこのような情報も、第一判定又は第三判定の条件に用いられてもよい。
【0109】
例えばこのような変形例では、第三判定において、これらの運転支援機能を備えているか否か、又はドライバーによって無効化されているか否かについても関連する(共通している)動作レコードがステップS18で検索される。
【0110】
図8は、このような変形例に係る車両異常検知システムで用いられる車両動作ログのデータ構成例を示す図である。この例に示す車両動作ログでは、ある期間において、「34.7383,135.5736」の値で示される位置で、車両20でブレーキペダルが踏まれた回数(ブレーキ回数の欄)、アクセルペダルが踏まれた回数(加速回数の欄)、操舵量の統計量(操舵量の欄)がさらに含まれている。またデータ行の上から3番目の動作レコードでは、運転支援機能の無効化又は未搭載の車両20での実績であることが、動作状態の欄にある「MANUAL」の値で示されている。
【0111】
(3)上記の実施の形態は、車両データと車両動作ログに含まれる実績のそれぞれが示す値とが一致する場合に、関連する動作の実績であると判定される例を主に用いて説明されているが、本発明に係る車両異常検知システムでの判定の基準はこれに限定されない。例えば、車両動作ログの動作レコードのうち、車両データが示す位置と差異が所定の範囲内の位置を示すものは、位置に関して関連する関連動作の実績として扱われてもよい。
【0112】
動作状態についても、アクセル開度等のように数値で示される操作量では、車両データが示す操作量と差異が所定の範囲内の操作量を示す動作レコードは、動作状態に関して関連する動作の実績として扱われてもよい。または、車両動作ログに含まれる値自体が、関連する動作の実績又は関連しない動作の実績の数値の範囲を示すものであってもよい。実施の形態4で車両動作ログ200Bに含まれる時間帯の値はこのような範囲を示す一例であるともいえる。
【0113】
また、車両データ又は車両動作ログに含まれる位置を示す値は、実施の形態の説明では1度未満の部分が十進数に変換された緯度・経度のように解せるが、車両20の位置の表すデータはこのような測地系の値に限定されない。例えば、道路の名称と地名、区間名、又はこの道路の起点等からの距離との組み合わせが用いられてもよい。または、車両異常検知システム10による異常検知が実施される地理的な範囲(以下、カバレッジという)を区切った区画を識別する記号が用いられてもよい。
【0114】
(4)上記の各実施の形態では、本発明の技術は
図1に示されるように、複数台の車両20と通信ネットワーク80を介して通信する複数台のコンピュータからなる車両異常検知システム10として実現されているが、その実現の態様はこれに限定されない。
【0115】
例えば、通信ネットワーク80と車両異常検知システム10との間に、車両メーカーが構築する車両データログ収集システム等の他のシステムが入ってもよい。この場合、車両異常検知システム10はこの車両データログ収集システムによって中継される車両データを受け取るが、通知部140から車両20への通知は、車両データログ収集システムを介さないことでより迅速に行われてもよい。
【0116】
また、車両20と車両異常検知システム10とのデータのやり取りに介在するのは、上記の例に限定されない。例えば交通基盤のさらに情報化が進み、車両20と直接データをやり取りするのは、路側機等に組み込まれた交通基盤の通信端末であり、交通基盤のネットワークから車両異常検知システム10へと車両データが提供されてもよい。
【0117】
また例えば、本発明の車両異常検知システムは、階層関係にある複数の情報処理システム又は情報処理装置で構成されてもよい。
図9は、このように構成される車両異常検知システム10Aの構成例を示す図である。この例では、車両異常検知システム10Aは、情報処理システム11A、11B及び12Aを含む。
図1に示す車両異常検知システム10の構成要素と共通の構成要素は共通の参照符号を用いて示し、説明は省略する。
【0118】
これらのうちの情報処理システム11A及び11Bはそれぞれ、車両異常検知システム10Aによる異常検知のカバレッジ内の互いに異なる地域の異常検知を担うものであって、車両異常検知システム10Aにおけるエッジサーバに構築される。情報処理システム11Aがローカルログ保持部190Aに保持する車両動作ログは、情報処理システム11Aが異常検知を担う地域を走行している車両20Aから送信されたデータを用いて取得された車両データに基づくものである。図示は省略しているが、情報処理システム11Bは情報処理システム11Aと共通の構成を有する。情報処理システム11Bでは、情報処理システム11Aが異常検知を担う地域とは別のある地域を走行している車両20Bから送信されたデータを用いて取得された車両データに基づく車両動作ログが保持される。これらの車両動作ログも、
図2、
図6A、
図7A又は
図8に例示されるようなデータ構成を有する。
【0119】
情報処理システム12Aは、情報処理システム11A及び11Bの上位の役割を担う。例えば情報処理システム12Aでは、情報処理システム11A及び11Bから通信ネットワーク80を介して車両動作ログの提供を受け、車両異常検知システム10A全体の車両動作ログとして管理及び解析がされてもよい。または、各車両を一意に指す識別情報を用いて、特定の車両の動作状態を複数の地域に跨って追跡して監視してもよい。このような車両動作ログは、グローバルログ保持部190Bに保持される。また、情報処理システム12Aは異常又は攻撃に関して、情報処理システム11A及び11Bで行われるよりも高度な解析をする役割を担ってもよい。例えば情報処理システム11Aで車両の動作状態について攻撃に関する判定ができない未知の異常が発見された場合、攻撃判定部130Aから通信ネットワーク80を介して情報処理システム12Aにこの異常に関する情報が提供され、情報処理システム12Aでは、この情報に基づいて、異常が攻撃によるものであるか否かの判定がなされる。この判定の結果は、通信ネットワーク80を介して情報処理システム11Aに返される。
【0120】
なお、車両異常検知システムの上記の階層構成は一例であり、これに限定されない。例えば情報処理システム11A及び11Bは、地域別ではなく車両メーカー又は車載ネットワークシステムのサプライヤー別に構築されたものであってもよい。そして情報処理システム12Aは、これらのメーカー又はサプライヤー間の差異を吸収したり、又はさらに交通基盤を含む交通システム全体の情報セキュリティを監視するものであってもよい。
【0121】
(5)攻撃判定部130又は140Aが攻撃の発生の有無の判定(第二判定)に用いる情報は、車両20又は20Aから追加で提供される情報に限定されない。攻撃判定部130又は140Aは、車両20又は20A以外の情報源を利用してもよく、例えば交通基盤又は車両メーカー等のSOC(Security Operation Center)から攻撃判定に用い得る情報を取得して第二判定に用いてもよい。また、この情報を取得するために、
図3、
図5、
図6B又は
図7Bに示されるステップS60での追加情報の要求等、第一判定の結果に関する情報の送信先はSOC等、判定対象車両以外であってもよい。
【0122】
(6)車両異常検知システム10又は情報処理システム11Aの構成要素の一部又は全部は、ECU等の車載の情報処理装置で実現されてもよい。
【0123】
例えば、ログ保持部190又はローカルログ保持部190Aは車両20から通信ネットワーク80を介して通信可能なサーバ上に構築され、その他の構成要素は車両20が備える1個以上のECUで実現されてもよい。この場合、車両20にある車両動作検証部120は通信ネットワーク80を介してサーバ上の車両動作ログでの検索(ステップS18、S20、S20A)を実行する。異常があると判定した場合、車両20にある通知部140は、攻撃の有無の判定に用いる情報であって自車の車載ネットワーク上では得られない情報を通信ネットワーク80を介してサーバ又はSOC等に要求する。異常がない又は攻撃ではないと判定した場合、車両動作検証部120は車両動作ログの更新の指示を通信ネットワーク80を介してサーバに送信する。
【0124】
また別の例として、ログ保持部190又はローカルログ保持部190Aも車両20上にあってもよい。例えば車両20は、車両動作ログの含む動作レコードのうち、走行している地域または走行予定経路の位置を含む動作レコードを通信ネットワーク80を介してサーバから取得する。車両20上では、取得済みの動作レコードを車両動作ログとして保持するログ保持部190又はローカルログ保持部190Aが記憶装置を用いて構築される。
【0125】
さらに別の例として、車両異常検知システム10又は情報処理システム11Aの構成要素のうち、攻撃判定部130又は攻撃判定部130Aのみが車両20が備える1個以上のECUで実現されてもよい。この場合、サーバにある通知部140は、ステップS60で追加情報を要求するのではなく、実績不足又は異常がある旨の通知とともに、サーバ上にあって車両20での攻撃判定に用いられる情報、例えばステップS20又はS20Aで見つかった関連動作の実績を第一判定の結果に関する情報として判定対象車両である車両20に送信してもよい。
【0126】
(7)異常又は攻撃の有無の判定に用いられるデータベースその他の情報のソースは、上述の車両動作ログに限定されない。例えばステップS70で判定対象車両から取得される追加の情報もログのデータベースで管理されてもよい。また、上記の各実施の形態の説明では、車両20の各々を識別する情報は用いられていないが、このような情報もさらに用いられてもよい。また、車両異常検知システム10又は10Aには、これらのデータベースを管理するための構成要素もさらに含まれ得る。
【0127】
(8)車両20上ではない場所に構築される車両異常検知システム10又は10Aでは、攻撃又は異常に関する判定ができない未知の動作状態に対応するために、これらの判定をするための情報セキュリティの専門家が関与してもよい。
【0128】
(9)上記の各実施の形態で示した各構成要素は、記憶装置に記憶されているプログラムがプロセッサにより実行されてソフトウェア的に実現される代わりに、専用のハードウェア(デジタル回路等)によりその機能を実現されてもよい。
【0129】
(10)本発明に係る車両異常検知システムで示した構成要素間の機能分担は説明の便宜のための一例であって、任意に相互の分担を変更してもよい。例えば、実施の形態2、3及び4における第三判定は、車両動作検証部120ではなく、車両データ取得部110で実行され、実績不足の場合、その旨が通知部140を介して判定対象車両に通知されてもよい。また、機能的な構成要素としてはさらに細分化してもよい。例えば、実施の形態2、3及び4における第一判定の中の車速を用いた手順(ステップS35)は、車両動作検証部120とは別の車速検証部という機能的な構成要素によって実行されてもよい。また例えば、車両動作ログの更新は、別のログ管理部という機能的な構成要素が車両動作検証部120とログ保持部190との間に介在して実行してもよい。
【0130】
(11)上記の各実施の形態で示した動作手順(例えば
図3、
図5、
図6B、
図7Bから把握される手順)の実行は、必ずしも、上述の順序に制限されるものではなく、発明の要旨を逸脱したり矛盾を生じたりしない範囲で、順序を入れ替えたり、複数の手順を並列に行ったり、その手順の一部を省略したりしてもよい。
【0131】
(12)上記の各実施の形態における情報処理装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM(Read-Only Memory)、RAM(Random Access Memory)等を含んで構成されるコンピュータシステムである。例えば、ROMにはコンピュータプログラムが記録され、マイクロプロセッサがこのコンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。
【0132】
また、上記の各構成要素は、個別に1チップ化されていてもよいし、一部又は全部を含むように1チップ化されてもよい。
【0133】
また、ここでは、システムLSIとしたが、集積度の違いにより、IC(Integrated Circuit)、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブルプロセッサを利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。
【0134】
(13)上記各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM等から構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
【0135】
(14)本発明の一態様としては、例えば
図3、
図5、
図6B若しくは
図7B又は上記にその変形として示す手順の全部又は一部を含む、車両の異常検知のための情報処理方法であるとしてもよい。
【0136】
また、本発明の一態様としては、この情報処理方法に係る所定情報処理をコンピュータにより実現するためのプログラム(コンピュータプログラム)であってもよいし、当該プログラムからなるデジタル信号であるとしてもよい。
【0137】
また、本発明の一態様としては、上記のコンピュータプログラム又はデジタル信号を記録したコンピュータで読取可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO(Magneto-Optical)ディスク、DVD(Digital Versatile Disc)、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリ等であってもよい。
【0138】
その他、本発明の一態様としては、これらの記録媒体に記録されているデジタル信号、又は電気通信回線、無線又は有線通信回線、インターネットに代表される通信ネットワーク、データ放送等を経由して伝送する上記のプログラム又はデジタル信号であってもよい。
【0139】
また、本発明の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、当該メモリは、上記のプログラムを記録しており、当該マイクロプロセッサは、当該プログラムに従って動作するものであってもよい。また、上記のプログラム若しくはデジタル信号を上記の記録媒体に記録して移送することにより、又は、上記のプログラム若しくはデジタル信号を、上記のネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するものであってもよい。
【0140】
(15)上記の各実施の形態及び変形例で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。
【産業上の利用可能性】
【0141】
本発明は、車載ネットワークシステムに発生する異常の検知及び攻撃に対する防御のための技術に利用可能である。
【符号の説明】
【0142】
10、10A 車両異常検知システム(車両異常検知装置)
11A、11B、12A 情報処理システム
20、20A、20B 車両
80 通信ネットワーク
110 車両データ取得部
120 車両動作検証部
130、130A、130B 攻撃判定部
140 通知部
190 ログ保持部
190A ローカルログ保持部
190B グローバルログ保持部
200、200A、200B 車両動作ログ