(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-16
(45)【発行日】2022-11-25
(54)【発明の名称】車両監視装置、不正検知サーバ、および、制御方法
(51)【国際特許分類】
B60R 25/32 20130101AFI20221117BHJP
B60R 16/02 20060101ALI20221117BHJP
【FI】
B60R25/32
B60R16/02 660D
(21)【出願番号】P 2019525031
(86)(22)【出願日】2018-11-07
(86)【国際出願番号】 JP2018041295
(87)【国際公開番号】W WO2019142458
(87)【国際公開日】2019-07-25
【審査請求日】2021-05-25
(32)【優先日】2018-01-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514136668
【氏名又は名称】パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
【氏名又は名称原語表記】Panasonic Intellectual Property Corporation of America
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】岸川 剛
(72)【発明者】
【氏名】芳賀 智之
(72)【発明者】
【氏名】鳥崎 唯之
(72)【発明者】
【氏名】佐々木 崇光
(72)【発明者】
【氏名】松島 秀樹
【審査官】森本 康正
(56)【参考文献】
【文献】特開2003-165417(JP,A)
【文献】特開2017-033186(JP,A)
【文献】特開2017-112594(JP,A)
【文献】特開2013-058140(JP,A)
【文献】米国特許出願公開第2017/0230385(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B60R 1/00-99/00
G08G 1/09
G06F 21/50-21/57
H04W 12/12
(57)【特許請求の範囲】
【請求項1】
対象車両を特定する特定情報をサーバから受信する第一通信部と、
前記第一通信部が受信した前記特定情報により特定される前記対象車両の走行に関わる情報である走行情報を、前記対象車両から取得する取得部とを備え、
前記第一通信部は、前記取得部が取得した前記走行情報を前記サーバに送信
し、
前記取得部は、前記対象車両から通信によって得られた前記走行情報を取得する
車両監視装置。
【請求項2】
対象車両を特定する特定情報をサーバから受信する第一通信部と、
前記第一通信部が受信した前記特定情報により特定される前記対象車両の走行に関わる情報である走行情報を、前記対象車両から取得する取得部とを備え、
前記第一通信部は、前記取得部が取得した前記走行情報を前記サーバに送信し、
前記対象車両の走行情報は、前記対象車両の速度を示す速度情報を含む
車両監視装置。
【請求項3】
前記取得部は、
さらに、前記対象車両に対するセンシングによって得られた前記走行情報を取得する
請求項
1に記載の車両監視装置。
【請求項4】
前記取得部は、前記対象車両に対するセンシングによって得られた前記走行情報を取得する
請求項2に記載の車両監視装置。
【請求項5】
前記車両監視装置は、さらに、
前記通信によって得られた前記走行情報である第一走行情報と、前記センシングによって得られた前記走行情報である第二走行情報とが整合するか否かを判定する判定部を備え、
前記第一通信部は、
前記第一走行情報と前記第二走行情報とが整合しないと前記判定部が判定した場合にのみ、前記第一走行情報と前記第二走行情報とを前記サーバに送信する
請求項
3に記載の車両監視装置。
【請求項6】
前記車両監視装置は、車両に搭載され、
前記取得部は、
前記車両のドライバに前記対象車両の走行状態を問いかけるための質問情報を提示し、提示した前記質問情報に対して前記ドライバからセンシングによって取得した回答情報に基づいて、前記走行情報を取得する
請求項3
または4に記載の車両監視装置。
【請求項7】
前記対象車両の走行情報は、前記対象車両の速度を示す速度情報を含む
請求項
1に記載の車両監視装置。
【請求項8】
対象車両の走行に関わる情報である第一走行情報を受信する第一通信部と、
複数の車両の現在位置を示す位置情報を保持している保持部と、
(a)前記対象車両から受信した前記第一走行情報に異常を検知したときに、前記複数の車両のうち、前記対象車両から所定距離以内の範囲に存在する1以上の車両を前記位置情報を参照して特定し、特定した前記1以上の車両が備える車両監視装置に対して、前記対象車両の走行に関わる第二走行情報を取得する要求の通知を送信し、
(b)前記1以上の車両が備える車両監視装置から前記第二走行情報を受信する、第二通信部と、
前記第一走行情報と前記第二走行情報とから、前記異常が優先的に分析されるべき度合いを示す優先度を決定し、前記優先度が高い前記異常ほど、より優先的に、前記異常の通知をする通知部とを備える
不正検知サーバ。
【請求項9】
前記通知部は、前記第一走行情報と前記第二走行情報とが整合しないと判定した場合に、前記第一走行情報について検知された前記異常に、より高い前記優先度を決定する
請求項
8に記載の不正検知サーバ。
【請求項10】
車両監視装置の制御方法であって、
対象車両を特定する特定情報をサーバから受信し、
受信した前記特定情報により特定される前記対象車両の走行に関わる情報である走行情報を、前記対象車両から
通信によって取得し、
取得した前記走行情報を前記サーバに送信する
制御方法。
【請求項11】
車両監視装置の制御方法であって、
対象車両を特定する特定情報をサーバから受信し、
受信した前記特定情報により特定される前記対象車両の走行に関わる情報であり、前記対象車両の速度を示す速度情報を含む走行情報を、前記対象車両から取得し、
取得した前記走行情報を前記サーバに送信する
制御方法。
【請求項12】
不正検知サーバの制御方法であって、
対象車両の走行に関わる情報である第一走行情報を受信し、
複数の車両の現在位置を示す位置情報を保持し、
前記対象車両から受信した前記第一走行情報に異常を検知したときに、前記複数の車両のうち、前記対象車両から所定距離以内の範囲に存在する1以上の車両を前記位置情報を参照して特定し、特定した前記1以上の車両が備える車両監視装置に対して、前記対象車両の走行に関わる第二走行情報を取得する要求の通知を送信し、
前記1以上の車両が備える車両監視装置から前記第二走行情報を受信し、
前記第一走行情報と前記第二走行情報とから、前記異常が優先的に分析されるべき度合いを示す優先度を決定し、前記優先度が高い前記異常ほど、より優先的に、前記異常の通知をする
制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両監視装置、不正検知サーバ、および、制御方法に関する。
【背景技術】
【0002】
近年、自動車の中のシステムには、電子制御ユニット(以下、ECU)と呼ばれる装置が多数配置されている。これらのECUをつなぐネットワークを車載ネットワークと呼ばれる。車載ネットワークには、多数の規格が存在するが、その中でも最も主流な車載ネットワークの一つに、Controller Area Network(以降、CANともいう)という規格が存在する。
【0003】
CANでは、不正なフレームが送信されるようなケースを想定したセキュリティ機能が存在しないため、不正なノードが勝手にCANのバスに接続し、不正にフレームを送信することで、車両を不正にコントロールしてしまうことが可能である。
【0004】
特許文献1は、車載ネットワークに送信されたフレームに関する情報を、不正検知サーバにアップロードすることで、車載ネットワークにおいて送信されたフレームの異常度を算出する方法を開示している。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1の方法では、不正な車両がアップロードするフレームを改ざんした場合に、不正検知サーバは、その不正な車両を検知することが難しい。また、その不正な車両を不正検知サーバが検知したとしても、フレームの改ざんによって実際にどのような影響が発生しているのかを正確に把握することは困難である。そのため、不正検知サーバは、その影響の良否、又は、その影響の大きさに応じた対処をすることができないという問題がある。
【0007】
そこで、本発明は、不正な車両がアップロードするフレームを改ざんしたとしても、不正な車両を検知することを支援する車両監視装置などを提供する。
【課題を解決するための手段】
【0008】
本発明の一態様に係る車両監視装置は、対象車両を特定する特定情報をサーバから受信する第一通信部と、前記第一通信部が受信した前記特定情報により特定される前記対象車両の走行に関わる情報である走行情報を、前記対象車両から取得する取得部とを備え、前記第一通信部は、前記取得部が取得した前記走行情報を前記サーバに送信する。
【0009】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0010】
本発明の車両監視装置は、不正な車両がアップロードするフレームを改ざんしたとしても、不正な車両を検知することを支援できる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、実施の形態における、車載ネットワーク監視システムの全体構成を示す図である。
【
図2】
図2は、実施の形態における、車載ネットワークシステムの全体構成を示す図である。
【
図3】
図3は、実施の形態における、不正検知サーバの構成を示す図である。
【
図4A】
図4Aは、実施の形態における、ゲートウェイの構成を示す図である。
【
図4B】
図4Bは、実施の形態における、路側機の構成を示す図である。
【
図5】
図5は、実施の形態における、不正検知サーバの処理を示す第一のフロー図である。
【
図6】
図6は、実施の形態における、不正検知サーバの処理を示す第二のフロー図である。
【
図7】
図7は、実施の形態における、ゲートウェイの処理を示す第一のフロー図である。
【
図8】
図8は、実施の形態における、ゲートウェイの処理を示す第二のフロー図である。
【
図9】
図9は、実施の形態における、通信によって通信ログを取得する場合のシーケンス図である。
【
図10】
図10は、実施の形態における、カメラによる撮影によって通信ログを取得する場合のシーケンス図である。
【
図11】
図11は、実施の形態における、センサによるセンシングによって通信ログを取得する場合のシーケンス図である。
【
図12】
図12は、実施の形態における、ドライバからセンシングによって通信ログを取得する場合のシーケンス図である。
【
図13】
図13は、実施の形態における、車載ネットワーク監視システムの第一の動作例を示す説明図である。
【
図14】
図14は、実施の形態における、車載ネットワーク監視システムの第二の動作例を示す説明図である。
【
図15】
図15は、実施の形態における、監視ログによる優先度を決定するための条件を示す説明図である。
【
図16】
図16は、実施の形態における、車載ネットワーク監視システムの第三の動作例を示す説明図である。
【
図17】
図17は、実施の形態における、車両ログと監視ログとの一例を示す説明図である。
【
図18】
図18は、実施の形態の変形例における車両監視装置の機能構成を示すブロック図である。
【
図19】
図19は、実施の形態の変形例における不正検知サーバの機能構成を示すブロック図である。
【
図20】
図20は、実施の形態の変形例における車両監視装置の制御方法を示すフロー図である。
【
図21】
図21は、実施の形態の変形例における不正検知サーバの制御方法を示すフロー図である。
【発明を実施するための形態】
【0012】
本発明の一態様に係る車両監視装置は、対象車両を特定する特定情報をサーバから受信する第一通信部と、前記第一通信部が受信した前記特定情報により特定される前記対象車両の走行に関わる情報である走行情報を、前記対象車両から取得する取得部とを備え、前記第一通信部は、前記取得部が取得した前記走行情報を前記サーバに送信する。
【0013】
上記態様によれば、車両監視装置は、サーバから得た特定情報により特定される対象車両の走行情報を対象車両から取得してサーバに送信する。そのため、対象車両がサーバにアップロードしたフレームが改ざんされていたとしても、車両監視装置がサーバに送信した対象車両の走行情報によって、サーバが対象車両の不正を検知し得る。よって、車両監視装置は、不正な車両がアップロードするフレームを改ざんしたとしても、不正な車両を検知することを支援できる。
【0014】
例えば、前記取得部は、前記対象車両から通信によって得られた前記走行情報を取得してもよい。
【0015】
上記態様によれば、車両監視装置は、特定車両との通信によって得られた走行情報を取得する。よって、車両監視装置は、より容易に対象車両の走行情報を得ることによって、不正な車両がアップロードするフレームを改ざんしたとしても不正な車両を検知することを支援できる。
【0016】
例えば、前記取得部は、前記対象車両に対するセンシングによって得られた前記走行情報を取得してもよい。
【0017】
上記態様によれば、車両監視装置は、特定車両に対するセンシングによって得られた走行情報を取得する。よって、車両監視装置は、より容易に対象車両の走行情報を得ることによって、不正な車両がアップロードするフレームを改ざんしたとしても不正な車両を検知することを支援できる。
【0018】
例えば、前記車両監視装置は、さらに、前記通信によって得られた前記走行情報である第一走行情報と、前記センシングによって得られた前記走行情報である第二走行情報とが整合するか否かを判定する判定部を備え、前記第一通信部は、前記第一走行情報と前記第二走行情報とが整合しないと前記判定部が判定した場合にのみ、前記第一走行情報と前記第二走行情報とを前記サーバに送信してもよい。
【0019】
上記態様によれば、車両監視装置は、通信によって取得した対象車両の走行情報と、センシングによって取得した対象車両の走行情報とが整合しない場合のみサーバに走行情報を送信するので、サーバへ送信する通信量が抑制される。よって、車両監視装置は、サーバへの通信量を抑制しながら、不正な車両がアップロードするフレームを改ざんしたとしても不正な車両を検知することを支援できる。
【0020】
例えば、前記車両監視装置は、車両に搭載され、前記取得部は、前記車両のドライバに前記対象車両の走行状態を問いかけるための質問情報を提示し、提示した前記質問情報に対して前記ドライバからセンシングによって取得した回答情報に基づいて、前記走行情報を取得してもよい。
【0021】
上記態様によれば、車両監視装置は、対象車両の走行状態についてのドライバによる判断の結果をセンシングにより取得する。よって、車両監視装置は、より多くの情報源から得られた対象車両の走行情報を用いて、不正な車両がアップロードするフレームを改ざんしたとしても不正な車両を検知することを支援できる。
【0022】
例えば、前記対象車両の走行情報は、前記対象車両の速度を示す速度情報を含んでもよい。
【0023】
上記態様によれば、車両監視装置は、特に対象車両の速度に関する不正を検知し得る。よって、車両監視装置は、不正な車両が、特に速度について改ざんしたフレームをアップロードしたとしても、不正な車両を検知することを支援できる。
【0024】
また、本発明の一態様に係る不正検知サーバは、対象車両の走行に関わる情報である第一走行情報を受信する第一通信部と、複数の車両の現在位置を示す位置情報を保持している保持部と、(a)前記対象車両から受信した前記第一走行情報に異常を検知したときに、前記複数の車両のうち、前記対象車両から所定距離以内の範囲に存在する1以上の車両を前記位置情報を参照して特定し、特定した前記1以上の車両が備える車両監視装置に対して、前記対象車両の走行に関わる第二走行情報を取得する要求の通知を送信し、(b)前記1以上の車両が備える車両監視装置から前記第二走行情報を受信する、第二通信部と、前記第一走行情報と前記第二走行情報とから、前記異常が優先的に分析されるべき度合いを示す優先度を決定し、前記優先度が高い前記異常ほど、より優先的に、前記異常の通知をする通知部とを備える。
【0025】
上記態様によれば、不正検知サーバは、対象車両から所定距離以内に存在する車両の車両監視装置に対して、その対象車両から走行状態を取得させる。そのため、対象車両がサーバにアップロードしたフレームが改ざんされていたとしても、車両監視装置がサーバに送信した対象車両の走行情報によって、サーバが対象車両の不正を検知し得る。よって、不正検知サーバは、不正な車両がアップロードするフレームを改ざんしたとしても、不正な車両を検知することができる。
【0026】
例えば、前記通知部は、前記第一走行情報と前記第二走行情報とが整合しないと判定した場合に、前記第一走行情報について検知された前記異常に、より高い前記優先度を決定してもよい。
【0027】
上記態様によれば、不正検知サーバは、通信によって取得した対象車両の走行情報と、センシングによって取得した対象車両の走行情報とが整合しない場合に、より優先的にその異常をアナリストなどに通知する。よって、上記の2つの走行情報が整合しない場合に必要な対策をより優先的に、アナリストなどに実行させることができる。
【0028】
また、本発明の一態様に係る車両監視装置の制御方法は、対象車両を特定する特定情報をサーバから受信し、受信した前記特定情報により特定される前記対象車両の走行に関わる情報である走行情報を、前記対象車両から取得し、取得した前記走行情報を前記サーバに送信する。
【0029】
上記態様によれば、上記の車両監視装置と同様の効果を奏する。
【0030】
また、本発明の一態様に係る不正検知サーバの制御方法は、不正検知サーバの制御方法であって、対象車両の走行に関わる情報である第一走行情報を受信し、複数の車両の現在位置を示す位置情報を保持し、前記対象車両から受信した前記第一走行情報に異常を検知したときに、前記複数の車両のうち、前記対象車両から所定距離以内の範囲に存在する1以上の車両を前記位置情報を参照して特定し、特定した前記1以上の車両が備える車両監視装置に対して、前記対象車両の走行に関わる第二走行情報を取得する要求の通知を送信し、前記1以上の車両が備える車両監視装置から前記第二走行情報を受信し、前記第一走行情報と前記第二走行情報とから、前記異常が優先的に分析されるべき度合いを示す優先度を決定し、前記優先度が高い前記異常ほど、より優先的に、前記異常の通知をする。
【0031】
上記態様によれば、上記の不正検知サーバと同様の効果を奏する。
【0032】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【0033】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【0034】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0035】
(実施の形態)
以下、複数の電子制御ユニット(ECU)がCANバスを介して通信する車載ネットワーク(車載ネットワークシステム)を搭載した複数台の車両と、サーバ(不正検知サーバ)とを、含む不正車両監視システムについて説明する。
【0036】
この不正車両監視システムは、不正な車両がアップロードするフレームを改ざんしたとしても、不正な車両を検知することを支援する車両監視装置を含む。
【0037】
[1.1 不正車両監視システムの全体構成]
図1は、本実施の形態に関わる不正車両監視システムの全体構成を示す図である。
【0038】
図1に示されるように、不正車両監視システムは、不正検知サーバ80と、路側機90と、車両1010a、1010b、1010c、1010d、1010e及び1010fとが、通信路であるネットワーク81で接続されて構成される。
【0039】
ネットワーク81は、インターネットあるいは、専用回線を含みうる。車両1010a、1010b、1010c、1010d、1010e及び1010fは、車内の制御装置、センサ、アクチュエータ、ユーザインタフェース装置等の各種機器に接続されて、車内のバス(CANバス)を介して通信を行う複数のECUを含んで構成される車載ネットワークを備える。
【0040】
各車両の車載ネットワークでは、各ECUはCANプロトコルにしたがって通信を行う。CANプロトコルにおけるフレームには、データフレーム、リモートフレーム、オーバーロードフレーム及びエラーフレームがある。ここでは主としてデータフレームに注目して説明する。なお、CANにおいてデータフレームは、IDを格納するIDフィールド、データ長を示すDLC(Data Length Code)、データを格納するデータフィールドを含むように規定されている。
【0041】
路側機90、並びに、車両1010a、1010b、1010c及び1010dは、地域Aに存在している。ここで、同一の地域に存在する、とは、互いにV2X(Vehicle-to-Everything)通信を行うことが可能な範囲に存在することを意味することとする。
【0042】
また、車両1010e及び1010fは、地域Bに存在している。
【0043】
[1.2 車載ネットワークシステムの全体構成]
図2は、車種Aの車両1010aにおける車載ネットワークシステムの構成の一例を示す図である。他の車種の車両においても、
図2に示す構成と同様の構成あるいは、一部異なる構成等を備える。
【0044】
車両1010a等における車載ネットワークシステムは、バス(CANバス)10、20、30、40及び50により接続された、複数のECU(ECU100、101、200、201、300、301、302、400及び401)とゲートウェイ900にといった各ノードを含んで構成される。なおゲートウェイ900もECUの1つである。
図2では省略しているものの、車載ネットワークシステムには、さらに多くのECUが含まれうる。
【0045】
ECUは、例えば、プロセッサ(マイクロプロセッサ)、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ROM、RAMであり、プロセッサにより実行される制御プログラム(コンピュータプログラム)を記憶することができる。例えばプロセッサが、制御プログラムにしたがって動作することにより、ECUは各種機能を実現する。なお、コンピュータプログラムは、所定の機能を実現するために、プロセッサに対する命令コードが複数個組み合わされて構成されたものである。
【0046】
バス10には、それぞれエンジン110及びトランスミッション111に接続されたECU(エンジンECU)100及びECU(トランスミッションECU)101を含む、モータ、燃料、電池の制御といった車両の「走る」に関連するパワートレイン系のECUが、接続されている。
【0047】
バス20には、それぞれ、ブレーキ210及びステアリング211に接続されたECU(ブレーキECU)200及びECU(ステアリングECU)201を含む、「曲がる」、「止まる」等といった車両の挙動等の制御に関連するシャーシ系のECUが、接続されている。
【0048】
バス30には、それぞれカメラ310、IVI(In-Vehicle Infotainment System)311、V2X通信モジュール312に接続されたECU300、ECU301及びECU302を含む、カメラ情報を元に運転支援の認知、判断及び制御を行う機能、又は、オーディオヘッドユニットに関わる機能、V2X通信といった情報系に関連するECUが接続されている。
【0049】
バス40には、それぞれドア410及びライト411に接続されたECU400及びECU401を含む、エアコン又はウィンカー等といった車両の装備の制御に関連するボディ系のECUが、接続されている。
【0050】
バス50には、例えばOBD2(On-Board Diagnostics2)等といった、外部の診断ツール(故障診断ツール)等と通信するためのインタフェースである診断ポート510が接続されている。
【0051】
ECU(ECU100及び200等)のそれぞれは、接続されている機器(エンジン110及びブレーキ210等)の状態を取得し、定期的に状態を表すフレーム等を車載ネットワークつまりCANバスに送信している。
【0052】
バス10に接続されたECU100及び101と、バス20に接続されたECU200、201と、バス30に接続されたECU300、301及び302とは、メッセージ認証コード(MAC、Message Authentication Code)を処理する機能を有するECUであるMAC対応ECUである。MACを処理する機能とは、具体的には、MACの生成機能及び検証機能などである。
【0053】
また、バス40に接続されたECU400及び401は、MACを処理する機能を有しないMAC非対応ECUである。
【0054】
ゲートウェイ900は、MACの生成機能および検証機能を有するMAC対応ECUである。
【0055】
ゲートウェイ900は、異なる複数の通信路を接続して通信路間でデータを転送するECUである。ゲートウェイ900は、バス10、バス20、バス30、バス40、バス50、と接続している。つまり、ゲートウェイ900は、一方のバスから受信したフレーム(データフレーム)を、一定条件下で他のバス(つまり条件に応じて選択した転送先バス)に転送する機能を有する一種のECUである。ゲートウェイ900は、車両の外部の不正検知サーバ80と通信するための通信装置(通信回路等)を備え、例えば、各バスから受信したフレームについての情報を不正検知サーバ80に送信(アップロード)する機能を有する。ゲートウェイ900の構成については、後に詳細に説明する。
【0056】
[1.3 不正検知サーバの構成]
図3は、不正検知サーバ80の構成図である。不正検知サーバ80は、車両1010a等の車載ネットワークで送信される不正なフレームに対処するためのサーバである。不正検知サーバ80は、例えばプロセッサ、メモリ、通信インタフェース等を備えるコンピュータにより実現され、通信部810と、処理判断部820と、ログ収集部830と、ログ分析部840と、結果通知部850と、監視ログ通信部860と、優先度判断部870と、車両情報DB880と、車両ログ格納DB881と、分析結果格納DB882、監視ログ格納DB883とを含んで構成される。
【0057】
車両情報DB880と、車両ログ格納DB881と、分析結果格納DB882と、監視ログ格納DB883とは、例えば、メモリ、ハードディスクといった記憶媒体等により実現されうる。
【0058】
また、処理判断部820、ログ収集部830、ログ分析部840および優先度判断部870それぞれの機能は、例えば、メモリに格納された制御プログラムがプロセッサにより実行されることにより、実現されうる。
【0059】
通信部810は、通信インタフェース、メモリに格納された制御プログラムを実行するプロセッサ等により実現される。
【0060】
通信部810は、車両1010a、1010b、1010c、1010d、1010e及び1010fと、ネットワークを介して通信することで、各車載ネットワークに関する情報を受信する。車載ネットワークに関する情報は、例えば、各車載ネットワークのCANバス上に流れたフレームの内容、受信タイミング(間隔又は頻度等)、バス負荷率及びフレームのMAC検証結果に関する情報が含まれうる。
【0061】
また、各車載ネットワークに関する情報に加えて、現在の車両の状態等のメタ情報が併せて通知される。メタ情報は、現在の車両の位置、BSM(Basic Safety Message)、天候を示す情報が含まれうる。車両の位置は、例えばGPS(Global Positioning System)により取得されるGPS位置である。
【0062】
処理判断部820は、通信部810から通知される、車載ネットワークに関する情報に対する処理内容を判断する。
【0063】
ログ収集部830は、各車両から収集したログ情報の内容である各種データ(車載ネットワークで受信されたフレームについての情報等)を、車両情報DB880に格納されている情報に基き、車両ログ格納DB881に格納する。
【0064】
ログ収集部830は、各種データを車両ログ格納DB881へ格納する際に、各種データに所定の正規化等の処理を施してもよい。
【0065】
ログ分析部840は、車両ログ格納DB881に格納された各車両から収集されたログ情報を用いて分析することにより、ある車両の車載ネットワークで受信されたフレームが不正であるか否か、つまり、攻撃者によりその車載ネットワークに攻撃フレームが送信されたか否かを判断する機能を有する。
【0066】
ログ分析部840は、蓄積されたログ情報が表す、各車両から収集された複数のフレームについての情報、より具体的には、複数のフレームそれぞれの内容、受信タイミング等の情報について、例えば、統計処理等を行いうる。
【0067】
ログ分析部840は、通信部810により取得された複数のフレームについての情報と、その複数のフレームについての取得より後に、通信部810により取得された、一の車両(例えば車両1010a)の車載ネットワークおいて受信されたフレームについての情報とに基いて、その一の車両の車載ネットワークにおいて受信されたそのフレームの異常度、又は、異常の有無を判断する機能を持つ。
【0068】
ログ分析部840は、例えば、正常状態において車載ネットワークで流れる各フレームについての所定モデルであって、異常状態との比較用に用いることができる所定モデルを構築し、逐次取得されるログ情報に基づいて機械学習を用いて所定モデルをより適切なものへと調整(更新)することとしてもよい。
【0069】
この場合に、ログ分析部840は、集積したログ情報が表す複数のフレームについての情報に適宜、加工処理(例えば多変量解析等)を施して、所定モデルの学習のために供給し得る。所定モデルの学習には、教師あり学習、教師なし学習のいずれの方式を用いてもよい。
【0070】
例えば、各車両の車載ネットワークシステムにおいて、所定ルールに基づいてそのルールに適合しないフレーム(不正フレーム)がCANバスに流れたことを検知する不正検知機能がある場合には、不正フレームか不正でないフレームかの区別を示す情報をログ情報に含ませてもよく、ログ分析部840では、その区別を示す情報に基づいて、所定モデルについて教師あり学習を行ってもよい。
【0071】
また、ログ分析部840では、各車両から不正フレームでないフレームについてのログ情報を収集して、或いは不正フレームか否かについて区別せずにログ情報を収集して、これらのログ情報に基づいて、所定モデルについて教師なし学習を行ってもよい。
【0072】
この所定モデルは、ある車両の車載ネットワークで受信されたフレームについての異常度(異常の度合い)の算定に利用される。所定モデルの内容は、そのフレームの異常度の算定に用いることのできるものであればよい。
【0073】
異常度は、例えば、そのフレームについての情報と所定モデルとの比較(つまりフレームについての情報と所定モデルとを用いた演算処理)により算定される。ログ分析部840は、異常度の算定のための所定モデルとして、例えば、同一車種の各車両におけるログ情報に基づいて、正常状態において車載ネットワークで受信されるフレームについての特徴量、より具体的には、フレームの内容、受信間隔、受信頻度等の各成分を含む特徴ベクトル等の分布を表わすように所定モデルを構築し得る。
【0074】
なお、所定モデルは、例えば、異常度を目的変数としてログ情報を説明変数とする場合の目的変数と説明変数との間の関係を表すモデルであってもよい。異常度は、例えば、異常なし(つまり正常)の場合に0(ゼロ)とし、異常ありの場合に異常の度合いに応じた正の数値をとるように定め得る。異常度は、0(例えば異常なし)と1(例えば異常あり)との2値をとるものであってもよいし、異常ありを複数段階に区別して3値以上をとるものであってもよい。
【0075】
異常度が所定閾値を超える場合に異常ありと判別するような活用も可能である。一例としては、ある車両の車載ネットワークで受信されたフレームの異常度は、そのフレームの特徴量が、既に集積されたログ情報に基づいて定められた所定モデルが示す特徴量の分布(例えば平均値と分散で特定される正規分布)に対する標準偏差に所定係数(例えば3)を乗じて定まる閾値を境界とする範囲の内に位置するか否かで算定でき、また、所定係数を複数用いることで異常度を複数段階に算定できる。異常度を算定するための所定モデルの構築に用いられる手法としては、外れ値検出、又は、時系列上の急激な変化を検出する変化点検出等の手法がある。
【0076】
このようにログ分析部840は、集積されたログ情報(車両ログ情報)が表す各車両の車載ネットワークで受信された複数のフレームについての情報に基づいて、その複数のフレームについての受信より後に、ある車両の車載ネットワークにおいて受信されたフレームの異常度等を算定する。ある車両の車載ネットワークにおいて受信されたフレームの情報もその車両のログ情報から得ることができる。
【0077】
ある車両の車載ネットワークで受信されたフレームについて算定した異常度により異常ありと判別した場合に、ログ分析部840は、異常なフレームによる影響を確認するため、異常と判断したフレームを送信した車両と同じ地域に存在する、車両へ監視要求を送信するために、監視ログ通信部860へ通知する。
【0078】
ログ分析部840は、集積したログ情報に基づく統計処理、所定モデルの更新(学習)、ある車両の車載ネットワークで受信されたフレームの異常度の算定等の各種分析処理を逐次行う。そしてログ分析部840は、その分析処理の結果(例えば更新後の所定モデルを表わす情報、算定した異常度に関する情報等)を、分析結果格納DB882に格納して保存し、次回の分析処理(フレームの異常度の算定等)に利用する。
【0079】
ログ分析部840は、上記に述べた異常の検知に限らず、例えば、急ハンドル、急ブレーキ、急加速、又は、緊急ブレーキの発動の有無といった、車両の走行状態として、異常な挙動を検出してもよい。
【0080】
結果通知部850は、優先度判断部870から、不正車両監視システムの管理者に通知すべき不正なイベントがあると判断された場合に、分析結果格納DB882に格納される不正なイベントに関わる情報を、不正車両監視システムの管理者へ通知する手段を備える。
【0081】
例えば、結果通知部850は、ディスプレイに接続され、不正な発生のイベントをディスプレイ上に表示する等を行う。また、結果通知部850は、Webサーバとして機能してもよいし、監視ログ格納DB883に格納される、車両周辺の情報を録画した動画および、車両ログ格納DB881に格納された車両ログを用いて、車両周辺の状況をVR(Virtual Reality)として視覚的に再現することで、アナリストに現場状況把握をさせてもよいし、メールサーバとして、管理者にメール通知を行ってもよい。
【0082】
なお通知先は、車載ネットワーク監視システムの管理者でなくてもよく、例えば車載ネットワーク監視業務を委託されたセキュリティオペレーションセンターのセキュリティアナリストへ通知するとしてもよい。
【0083】
監視ログ通信部860は、ログ分析部840から異常を検知したことを通知されると、異常を検知した車両と同じ地域に存在する車両または路側機に対して、異常を検知した車両の監視を要求するメッセージ(監視要求通知)を送信する。異常を検知した車両と同一の地域に存在する車両または路側機は、車両ログ格納DB881に格納されているGPS情報などから選出される。
【0084】
また、監視ログ通信部860は、上記メッセージ(監視要求通知)を送信した相手の車両から監視ログを受信するまで待機する。監視ログ通信部860は、監視ログを受信したら、受信した監視ログを監視ログ格納DB883に格納する。さらに、監視ログ通信部860は、検知した異常の優先度を算出するように優先度判断部870に通知する。なお、監視要求通知には、監視すべき対象となる車両の、ナンバープレート情報又はVIN(Vehicle Identification Number)等を含んでもよい。これにより、監視要求通知を受信した車両または路側機は、監視すべき対象を集中的に監視することができ、より詳細な監視データを取得することができる。また、監視すべき対象となる車両のナンバープレート情報又はVIN等を含まずに、単に周辺の監視を行うように通知してもよい。これにより、車両のプライバシ情報に配慮した処理が可能となる。この場合、車両の位置関係を把握している不正検知サーバ80が、動画処理を行うことで監視対象車両の走行データ(例えば、走行速度、又は、ステアリング操舵角等)を抽出することが可能となる。
【0085】
優先度判断部870は、監視ログ格納DB883から、検知した異常の度合いを確認し、その度合いに応じて優先度を算出し、算出した優先度を結果通知部850へ通知する。ここで、優先度とは、他よりも優先的に当該異常についての対処が必要とされる度合いを意味する。
【0086】
優先度判断部870は、急ハンドル、急ブレーキ、急減速、又は、ふらつき運転などの、事故を引き起こしうる危険な走行がなされているとき、あるいは、既に事故が発生しているときに、比較的高い優先度を算出する。
【0087】
また、優先度判断部870は、監視ログからは、異常と判断した車両の存在を確認できない場合、又は、車両ログと監視ログとに不整合が発生している場合には、中程度の優先度を算出する。この場合、ログに含まれる位置情報等が改ざんされており、状況が確認できないからである。
【0088】
また、優先度判断部870は、異常と判断した車両を監視した結果、特に異常が見られなかった場合は、比較的低い優先度を算出する。この場合、ただちに危険を引き起こす危険性が低いと判断されるからである。
【0089】
検知した異常の度合いの確認方法としては、例えば、V2X通信ログに含まれる、エアバッグ作動情報、緊急ブレーキ作動情報、加速度、ステアリング情報、又は、速度等から監視対象車両の状態を把握する方法がある。また、上記確認方法として、動画または画像情報分析によって車両の走行状態を認識することで、車両の走行への影響を認識する方法、又は、事故現場を認識する方法もある。さらに、上記確認方法として、ドライバによる報告が音声又は文字情報である場合は、テキスト分析又は音声認識により、異常な車両の状態を把握する方法などが考えうる。
【0090】
また、優先度判断部870は、単に、監視ログのみから優先度を判断しなくてもよい。例えば、異常と検知した車両の車両ログと、監視ログを通知した車両の車両ログとを用いた、監視ログの整合性を検証してもよい。例えば、優先度判断部870は、上記監視ログに含まれるカメラ画像から車両の速度又はステアリング角度を算出し、算出した速度又はステアリング角度と、異常を検知した車両の車両ログに含まれる速度又はステアリング角度とを比較し、その差が所定の値よりも大きい場合に整合性がないと判断してもよい。これにより、優先度判断部870は、複数の車両の車両ログ、および、監視ログ間の整合性を検証することが可能となり、最も整合性が低いログは、改ざんされたものであると判断することができる。
【0091】
なお、通信部810は、車両の走行に関わる情報である第一走行情報を受信する第一通信部に相当する。
【0092】
車両ログ格納DB881は、複数の車両の現在位置を示す位置情報を保持している保持部に相当する。保持部は、記憶装置などにより実現され得る。
【0093】
監視ログ通信部860は、(a)対象車両から受信した第一走行情報に異常を検知したときに、複数の車両のうち、対象車両から所定距離以内の範囲に存在する1以上の車両を位置情報を参照して特定し、特定した1以上の車両が備える車両監視装置に対して、対象車両の走行に関わる第二走行情報を取得する要求の通知を送信し、(b)1以上の車両が備える車両監視装置から第二走行情報を受信する、第二通信部に相当する。
【0094】
優先度判断部870及び結果通知部850は、第一走行情報と第二走行情報とから、異常が優先的に分析されるべき度合いを示す優先度を決定し、優先度が高い異常ほど、より優先的に、異常の通知をする通知部に相当する。
【0095】
なお、優先度判断部870は、第一走行情報と第二走行情報とが整合しないと判定した場合に、第一走行情報について検知された異常に、より高い優先度を決定してもよい。
【0096】
[1.4 ゲートウェイの構成]
図4Aは、ある車両(例えば車両1010a)の車載ネットワークにおけるゲートウェイ900の構成を示す。ゲートウェイ900は、車両監視装置の一例である。
【0097】
図4Aに示すように、ゲートウェイ900は、フレーム送受信部910と、フレーム解釈部920と、整合性検証部930と、更新処理部940と、フレームアップロード部950と、転送制御部960と、鍵処理部970と、フレーム生成部980と、ルール保持部990と、転送ルール保持部991と、鍵保持部992とを含んで構成される。
【0098】
これらの構成要素の各機能は、例えばゲートウェイ900における通信回路、メモリに格納された制御プログラムを実行するプロセッサ或いはデジタル回路等により実現される。例えば、フレームアップロード部950及び、更新処理部940は、不正検知サーバ80と通信するための通信回路等により実現される。
【0099】
フレーム送受信部910は、バス10、バス20、バス30、バス40及びバス50のそれぞれに対して、CANプロトコルに従ったフレームを送受信する。フレーム送受信部910は、バスからフレームを1bitずつ受信し、フレーム解釈部920に通知する。
【0100】
また、フレーム送受信部910は、フレーム生成部980より通知を受けた転送先のバスを示すバス情報及び送信用のフレームに基いて、そのフレームの内容を、バス10、バス20、バス30、バス40及びバス50のうち転送先のバスに、1bitずつ送信する。
【0101】
フレーム解釈部920は、フレーム送受信部910よりフレームの値を受け取り、CANプロトコルで規定されているフレームフォーマットにおける各フィールドにマッピングするよう解釈を行う。フレーム解釈部920は、受信されたフレームの各フィールドの情報を整合性検証部930へ通知する。
【0102】
なお、フレーム解釈部920は、受け取ったフレームがCANプロトコルに則っていないフレームと判断した場合は、エラーフレームを送信するようにフレーム生成部980へ通知する。
【0103】
また、フレーム解釈部920は、エラーフレームを受信した場合、つまり受け取ったフレームにおける値からエラーフレームになっていると解釈した場合には、それ以降は、そのフレームを破棄する、つまりエラーフレームの解釈を中止する。
【0104】
整合性検証部930は、フレームに含まれる、自車の走行状態と、センシングにより認識した他車の車両状態(センシング車両状態と呼ぶ)と、V2X通信により受信した、他車の通知する他車の車両状態(V2X車両状態と呼ぶ)との整合性を検証する。上記の他車は、不正検知サーバ80の監視ログ通信部860からIVI311を介して受信する監視要求通知により特定され得る。また、上記の他車、自車と同一の地域に存在する車両から任意に特定されてもよい。
【0105】
例えば、V2X車両状態では、他車の走行速度が20km/hであるにも関わらず、センシング車両状態では、他車の走行速度が60km/hであるという場合がある。このように、他社の走行速度について所定値よりも大きな差を検出した場合に、整合性検証部930は、センシング車両状態とV2X車両状態との整合が取れていないと判断し、不正検知サーバ80へ不正な車両に関する情報を通知する。
【0106】
センシング車両状態は、車両に備え付けられているセンサ、例えば、カメラ(ドライブレコーダ)、ミリ波レーダ、Lidar(Light Detection and Ranging)等から直接に得られるデータから取得されてもよいし、CANなどを通じて得られる情報から取得されてもよい。さらに、これらのセンサの値と、自車の車両状態とを組み合わせ加工することによって、センシング車両状態が取得されてもよい。例えば、ミリ波レーダのセンサ値を処理することによって、前方車両との相対速度を算出し、算出した相対速度に自車の走行速度を加算することによって、他車の車両の速度を算出し、センシング車両状態としてもよい。また、車両に備え付けのカメラにより得られた画像に画像処理を施すことによって、車両の速度、ハンドル操作の有無、加減速中などの車両の挙動を算出し、センシング車両状態としてもよい。
【0107】
また、車両状態の整合性の検証方法も、上記に述べたものに限らない。例えば、前方車両が監視対象であるときには、整合性検証部930は、前方車両から通知されるV2X車両状態の時系列変化と、自車の車両状態の時系列変化との相関関係を算出することによって、整合性を検証してもよい。より具体的には、整合性検証部930は、他車のV2X車両状態から取得した車両の速度の時系列データと、自車の車両状態の車両の速度の時系列データの自己相関を算出し、これらが大きく乖離している場合に整合がとれていないと判断する。これにより、整合性検証部930は、自車と前方車両とが同じ道路を走行していることからほぼ同じ走行挙動を有しているにも関わらず、前方車両から自車に通知されるV2X車両状態が自車の車両状態と大きく異なることを検出することが可能となる。その結果、ゲートウェイ900は、V2X車両状態あるいは、自車の車両状態のいずれかが改ざんされていることを検知することができ安全性が高まる。
【0108】
更新処理部940は、ルール保持部990が保持している優先度ルールを、不正検知サーバ80から取得される情報に基いて更新する。
【0109】
フレームアップロード部950は、フレーム解釈部920から通知される、いずれかのCANバスから受信されたフレームを逐次取得し、受信されたフレームについての情報(例えば、フレームの内容、受信間隔、受信頻度等)を含むログ情報を不正検知サーバ80に送信(アップロード)する。
【0110】
この時にログ情報に加えて、メタ情報をアップロードする。メタ情報は、その他の各種情報(車両の状態情報、Basic Safety Message、車両の位置情報、バス負荷率)を含んでもよい。
【0111】
さらに、フレームアップロード部950は、ログ情報に、車両の識別情報(車両ID)を含める。フレームアップロード部950は、受信されたフレームについての情報として、不正検知サーバ80で統計処理、機械学習等を行う場合に取り扱いやすいように、フレームの内容、受信間隔、又は、受信頻度等を加工する加工処理を施してもよい。
【0112】
ここで、フレームの受信間隔は、例えば、そのフレームの受信時刻と、そのフレームと同一IDのフレームが前回受信された時刻との差である。
【0113】
また、フレームの受信頻度は、例えば、一定の単位時間において、そのフレームと同一IDのフレームが受信された数である。この加工処理は、例えば、フレームの内容、受信間隔、受信頻度等の特徴から特徴量を抽出し、正規化等を行い、特徴量の情報量の縮約を行うこと等である。特徴量の情報量の縮約は、例えば、特徴量を各成分としての特徴ベクトルで表し、不正検知サーバ80と連携して得た情報に基いて、特徴ベクトルの次元数を主成分分析等の次元削減アルゴリズムを用いることで実現されうる。
【0114】
なお、CANバスから受信されたフレームについての情報を、迅速に不正検知サーバ80へ伝えると、そのフレームが異常であるか否かを不正検知サーバ80に迅速に検知させて対処を可能にしうる。
【0115】
また、フレームアップロード部950は、例えば不正検知サーバ80とのトラフィック量を削減すべく、無条件で、又は通信状況に応じて、ログ情報を圧縮して不正検知サーバ80に送信してもよい。また、フレームアップロード部950は、フレーム送受信部910がCANバスから受信したフレームのうち全てのフレームについての情報ではなく特定の1つまたは複数のIDのフレームだけについての情報をログ情報に含めて送信してもよい。
【0116】
なお、不正検知サーバ80からの通知に対応して、ゲートウェイ900は、CANバスを介してあらかじめ定められたECUに必要な情報を送信する等によって、ファームウェアの更新、運転支援機能の無効化、及び、遠隔制御等の機能を実現させる。
【0117】
転送制御部960は、転送ルール保持部991が保持する転送ルールに従って、受信したフレームのID、及び転送元バス(つまりそのフレームを受信したバス)に応じて、転送先のバスを選択し、転送先のバスを示すバス情報と、転送されるべきフレームの内容(例えばフレーム解釈部920より通知されたID、DLC、データ等)をフレーム生成部980へ通知して、送信を要求する。
【0118】
フレーム生成部980は、転送制御部960からの送信の要求に従い、転送制御部960より通知されたフレームの内容を用いて送信用のフレームを構成し、その送信用のフレーム及びバス情報(例えば転送先のバスの識別子等)をフレーム送受信部910へ通知する。
【0119】
転送ルール保持部991は、バスごとのフレームの転送についてのルールを示す転送ルール情報を保持する。転送ルール情報は、転送元となりうる各バスについて、そのバスで受信された転送すべきフレームのIDと転送先のバスとを示す。
【0120】
また転送ルール情報は、各バスが、フレーム内容を暗号化すると規定されたバスか否か、及び、フレームにMACが付与されると規定されたバスか否かを示す情報を含む。この情報を参照することで転送制御部960は、転送元が暗号化に対応している場合は、鍵保持部992が保持している、転送元のバスに接続された各ECUと共有している暗号鍵を用いて、鍵処理部970にフレームの内容を復号させる。
【0121】
そして、転送先が暗号化に対応している場合は、転送制御部960は、鍵保持部992が保持している、転送先のバスに接続された各ECUと共有している暗号鍵を用いて、鍵処理部970にフレームの内容を暗号化させて転送するように制御する。
【0122】
鍵処理部970では、フレームの内容の暗号化、復号、及び、フレームの内容等に基くMACの生成及び検証のそれぞれについて、いかなる方式を用いてもよい。
【0123】
MACは、例えばフレームのデータフィールド内の一部の値に基いて生成してもよいし、その値と、他のフィールドの値あるいは、その他の情報(例えばフレームの受信回数をカウントするカウンタ値等)を結合したものに基いて生成してもよい。
【0124】
MACの計算方法としては、例えばHMAC(Hash-based Message Authentication Code)、CMAC(Cipher-based Message Authentication Code)等を用いることができる。
【0125】
なお、フレームアップロード部950は、対象車両を特定する特定情報を不正検知サーバ80から受信するとともに、フレーム送受信部910が取得した走行情報を不正検知サーバ80に送信する第一通信部に相当する。
【0126】
フレーム送受信部910は、第一通信部が受信した特定情報により特定される対象車両の走行に関わる情報である走行情報を、対象車両から取得する取得部に相当する。
【0127】
例えば、フレーム送受信部910は、V2X通信モジュール312による通信によって特定車両から得られた走行情報を取得してもよい。
【0128】
例えば、フレーム送受信部910は、カメラ310のようなセンサによる、特定車両に対するセンシングによって得られた走行情報を取得してもよい。
【0129】
また、整合性検証部930は、V2X通信モジュール312による通信によって得られた走行情報である第一走行情報と、センサによるセンシングによって得られた走行情報である第二走行情報とが整合するか否かを判定する判定部に相当する。この場合、フレームアップロード部950は、第一走行情報と第二走行情報とが整合しないと判定部が判定した場合にのみ、第一走行情報と第二走行情報とを不正検知サーバ80に送信するようにしてもよい。
【0130】
なお、対象車両の走行情報は、対象車両の速度を示す速度情報を含んでいてもよい。
【0131】
[1.5 路側機の構成]
図4Bは、路側機90の構成を示す。路側機90は、車両監視装置の一例である。
【0132】
図4Bに示されるように、路側機90は、通信モジュール91と、制御部92と、V2X通信モジュール93とを備える。
【0133】
通信モジュール91は、不正検知サーバ80と通信することができる通信モジュールである。通信モジュール91は、対象車両を特定する特定情報を不正検知サーバ80から受信する。通信モジュール91は、第一通信部に相当する。
【0134】
制御部92は、通信モジュール91が受信した特定情報により特定される対象車両の走行に関わる情報である走行情報を、対象車両から取得する処理部である。制御部92は、取得部に相当する。
【0135】
V2X通信モジュール93は、車両との通信を行う通信モジュールである。
【0136】
なお、路側機90は、カメラなどのセンサをさらに備えてもよい。
【0137】
以上のように構成された不正検知サーバ80及び車両1010bの処理を説明する。具体的には、不正検知サーバ80の処理についての2つの例と、車両1010bの処理についての2つの例を説明する。ここでは、車両1010aが不正な車両である場合を想定して説明する。なお、以下に示すゲートウェイ900の処理は、路側機90によって行われてもよい。
【0138】
(1)不正検知サーバ80の処理の第一例
図5は、本実施の形態における、不正検知サーバ80の処理を示す第一のフロー図である。
【0139】
ステップS101において、通信部810は、車両1010aから車両ログを受信する。受信した車両ログは、処理判断部820を経由してログ収集部830に提供される。
【0140】
ステップS102において、ログ収集部830は、ステップS101で提供された車両ログを車両ログ格納DB881に格納する。
【0141】
ステップS103において、ログ分析部840は、車両ログ格納DB881に格納された車両ログを分析することにより、車載ネットワークで受信されたフレームが不正であるか否かを判断する。
【0142】
ステップS104において、ログ分析部840は、ステップS103でフレームが不正であると判定したか否か、つまり、フレームの異常を検知したか否かを判定する。フレームの異常を判定した場合(ステップS104でYes)には、ステップS105に進み、そうでない場合(ステップS104No)には、
図5に示された一連の処理を終了する。
【0143】
ステップS105において、監視ログ通信部860は、ステップS104でフレームの異常を検知した車両と同一の地域に存在する車両又は路側機に対して、異常を検知した車両の監視を要求するメッセージを送信する。
【0144】
ステップS106において、監視ログ通信部860は、ステップS105で送信したメッセージに対して車両又は路側機が送信する監視ログの受信待ちをする。上記監視ログを受信したらステップS107に進む。
【0145】
ステップS107において、監視ログ通信部860は、ステップS106で車両又は路側機から監視ログを所定数以上受信したか否かを判定する。所定数以上受信した場合(ステップS107でYes)にはステップS108に進み、そうでない場合(ステップS107でNo)には、ステップS120に進む。
【0146】
ステップS108において、優先度判断部870は、車両ログと監視ログとの整合性の検証を行う。
【0147】
ステップS109において、優先度判断部870は、ステップS108での検証の結果、車両ログと監視ログとの不整合が発生しているか否かを検討する。不整合が発生している場合(ステップS109でYes)には、ステップS110に進み、そうでない場合(ステップS109でNo)には、ステップS111に進む。
【0148】
ステップS110において、優先度判断部870は、車両ログと監視ログとの不整合が発生することに基づいて、車両ログが改ざんされていることを検知する。
【0149】
ステップS111において、優先度判断部870は、ステップS104で検知した異常に対する対応の優先度を算出する。
【0150】
ステップS120において、優先度判断部870は、異常を検知した車両の位置情報に異常があることを検知する。
【0151】
図5に示される一連の処理により、不正検知サーバ80は、車両ログの改ざん、つまり車両ログの不正を検知することができる。
【0152】
(2)不正検知サーバ80の処理の第二例
図6は、本実施の形態における、不正検知サーバ80の処理を示す第二のフロー図である。
図6において、ステップS101からS110までの処理、及び、ステップS120の処理は、
図5におけるものと同じである。
【0153】
ステップS131において、優先度判断部870は、車両ログと監視ログとの多数決によって異常を特定する。
【0154】
図6に示される一連の処理により、不正検知サーバ80は、複数の車両監視装置からの監視ログを用いて、車両ログの改ざん、つまり車両ログの不正を検知することができる。
【0155】
(3)車両1010bの処理の第一例
図7は、本実施の形態における、ゲートウェイ900の処理を示す第一のフロー図である。
【0156】
ステップS201において、車両1010bの整合性検証部930は、不正検知サーバ80が送信する監視要求通知を受信する。この監視要求通知は、例えば、不正検知サーバ80が、車両1010aが不正な車両であると判断した結果、車両1010aと同一の地域に存在している車両1010bを選択して送信されたものである。なお、車両1010aを対象車両ともいう。
【0157】
ステップS202において、整合性検証部930は、ステップS201で受信した監視要求通知により特定される監視対象の車両(「対象車両」ともいう)に対して、V2X通信モジュール312が通信接続をすることができるか否かを判定する。通信接続をすることができると判定した場合(ステップS202でYes)には、ステップS203に進み、そうでない場合(ステップS202でNo)には、ステップS204に進む。
【0158】
ステップS203において、整合性検証部930は、V2X通信モジュール312による通信を介して、V2X通信ログを取得する。
【0159】
ステップS204において、整合性検証部930は、対象車両をカメラ310により撮影可能であるか否かを判定する。撮影可能であるか否かの判定は、例えば、対象車両が自車から撮影可能な位置に存在しているか否かを判定することでなされ得る。撮影可能な位置に存在しているか否かは、対象車両と自車の位置情報によって判定されてもよいし、カメラ310により撮影された画像に対象車両が映っているか否かによって判定されてもよい。撮影可能であると判定した場合(ステップS204でYes)には、ステップS205に進み、そうでない場合(ステップS204でNo)には、ステップS206に進む。
【0160】
ステップS205において、整合性検証部930は、カメラ310により対象車両の画像又は動画を撮影し、画像データ又は動画データを生成する。
【0161】
ステップS206において、整合性検証部930は、対象車両に異常がないかの質問情報をドライバに提示し、回答情報を取得する。
【0162】
ステップS207において、整合性検証部930は、ステップS203のV2X通信ログ、ステップS205の画像データ又は動画データ、ステップS206のドライバからの回答情報のうち1以上の情報を含む監視ログを不正検知サーバ80に送信する。
【0163】
図7に示される一連の処理により、車両1010bは、不正な車両つまり対象車両がアップロードするフレームを改ざんしたとしても、不正検知サーバ80が不正な車両を検知することを支援することができる。
【0164】
(4)車両1010bの処理の第二例
図8は、本実施の形態における、ゲートウェイ900の処理を示す第二のフロー図である。
【0165】
ステップS301において、整合性検証部930は、対象車両との間でV2X通信モジュール312による通信を開始する。なお、対象車両は、予め、不正検知サーバ80が送信する監視要求通知を受信して、その監視要求通知により特定される監視対象車両に基づいて定められてもよいし、任意に定められてもよい。
【0166】
ステップS302において、整合性検証部930は、V2X通信モジュール312による通信を介して、対象車両の走行状態を取得する。
【0167】
ステップS303において、整合性検証部930は、対象車両をカメラ310によって撮影可能であるか否かを判定する。撮影可能であると判定した場合(ステップS303でYes)には、ステップS304に進み、そうでない場合(ステップS303でNo)には、
図8に示される一連の処理を終了する。
【0168】
ステップS304において、整合性検証部930は、対象車両の走行状態をカメラ310により認識する。
【0169】
ステップS305において、整合性検証部930は、V2X通信により取得した走行状態と、カメラ310により取得した走行状態とに整合性があるか否かを判定する。上記整合性がある場合(ステップS305でYes)には、ステップS306に進み、そうでない場合(ステップS305でNo)には、ステップS311に進む。
【0170】
ステップS306において、整合性検証部930は、整合性があることを示す通知を不正検知サーバ80に送信する。なお、ステップS306は実行されなくてもよい。
【0171】
ステップS311において、整合性検証部930は、整合性がないことを示す通知を不正検知サーバ80に送信する。
【0172】
図8に示される一連の処理により、車両1010bは、不正な車両つまり対象車両がアップロードするフレームを改ざんしたとしても、不正検知サーバ80が不正な車両を検知することを支援することができる。
【0173】
[1.6 車両と不正検知サーバの処理シーケンス例1]
図9は、車両1010a及び1010bと、路側機90と、不正検知サーバ80との処理シーケンス例を示した図である。
【0174】
まず、車両1010aが、車両1010a内部で通信されるCANログ等の車両ログを不正検知サーバ80へ送信する(ステップS401)。不正検知サーバ80は、送信された車両ログを受信する(ステップS402)。
【0175】
不正検知サーバ80は、車両ログを受信すると、車両ログに異常が存在するか否かを分析する(ステップS403)。不正検知サーバ80は、車両ログに異常が発生していることを検知すると(ステップS404)、車両1010aと同一地域に存在する車両または路側機に対して、状況確認要求通知を送信する(ステップS405)。この例では、車両1010aと同一の地域に車両1010bと、路側機90とが存在しており、不正検知サーバ80は、車両1010bと、路側機90とに対して、状況確認通知を行っている。なお、ステップS401~S405は、例えば
図5のステップS101~S105に相当する。
【0176】
なお、状況確認通知先は、車両1010aと同一の地域に現時点では存在していない(つまり、車両1010aとV2X通信を行える距離に存在しない)車両又は路側機であっても、車両1010aの経路の予測により得られる、将来に同一地域となる可能性のある車両又は路側機を含めてもよい。
【0177】
状況確認要求通知を受信した車両1010bと路側機90とは、車両1010aとV2X通信を行い(ステップS406及びS407)、車両1010aの車両の状態通知(例えば、車両の速度、走行方向、加速度等)を受信する(ステップS408及びS409)。車両1010bと路側機90とは、受信した車両1010aの車両状態通知を含むV2X通信ログを監視ログとして、不正検知サーバ80へ通知する(ステップS410及びS411)。
【0178】
不正検知サーバ80は、監視ログを受信すると、監視ログと車両ログとを用いて再分析を行い最終的な判断を行う(ステップS412)。再分析では、車両ログと監視ログとの整合性の検証が行われうる。
【0179】
図9では、不正検知サーバ80が車両ログを受信した後に監視ログを受信するシーケンスを示しているが、不正検知サーバ80は、車両ログと監視ログとを同時に受信し続け、例えば通知される速度に不整合が生じていないかを検証してもよい。そして、不整合が生じている場合には、いずれかのログが不正に改ざんされているおそれがあるとして、異常を検知し、セキュリティアナリストへ提示する。このとき、不正検知サーバ80が複数の監視ログを受信している場合には、最も多く整合がとれているグループについて正しいログであると判断し、そのグループのログと不整合なログ(車両ログを含む)を、改ざんされたログであると判断し、改ざんされたログを送信する車両も併せて、セキュリティアナリストへ通知する。不整合がない場合は、車両ログのみで検知した異常が発生しているとして、セキュリティアナリストへ提示する。このとき付加情報として、監視ログを併せて提示する。
【0180】
[1.7 車両とサーバ間の処理シーケンス例2]
図10は、車両1010a及び1010bと路側機90と、不正検知サーバ80の処理シーケンス例2を示した図である。車両1010aが車両ログをサーバへ通知し、不正検知サーバ80が車両ログを分析し、異常を検知する。その後、状況確認要求通知を、車両1010bおよび、路側機90に送信するまでは、
図10と同様である(ステップS401~405)。
【0181】
状況確認要求通知を受信すると、車両1010bと路側機90とは、備え付けのカメラによる撮影により車両1010aを監視する(ステップS501及びS502)。このとき、車両1010bと、路側機90とは、不正検知サーバ80から通知される情報を用いて車両1010aを認識してもよいし、単に指定されたタイミングで動画または画像を取得するだけでもよい。車両1010aを認識した場合に、さらに画像処理により、車両1010aの速度、加減速状況又はステアリング状態などを抽出してもよい。また、カメラは車両1010bに備えつけのドライブレコーダを活用してもよく、サーバからの状況監視要求通知により、動画を保存するようにしてもよい。車両1010bと路側機90とは、取得した画像あるいは動画を含めて監視ログとして、不正検知サーバ80へ通知する(ステップS503、504)。
【0182】
不正検知サーバ80は、監視ログを受信すると、監視ログと車両ログとを用いて再分析を行う(ステップS505)。不正検知サーバ80は、上記再分析において、受信した画像、または動画を、異常検知時の状況証拠として、セキュリティアナリストへ提示する。また、不正検知サーバ80内に、画像処理エンジンが搭載されていてもよく、画像を処理することによって、車両1010aの車両の速度、加減速状況又はステアリング角度等を抽出し、車両ログとの整合性を検証してもよい。あるいは、事故の発生状況や、車の異常挙動が、画像分析の結果確認された場合に、検知した異常の優先度を高として、セキュリティアナリストへ優先的に提示する。
【0183】
[1.8 車両と不正検知サーバの処理シーケンス例3]
図11は、車両1010aと1010bと、不正検知サーバ80との処理シーケンス例3を示した図である。不正検知サーバ80が状況確認要求を車両1010bに通知するまでは、
図9又は
図10と同様のシーケンスである(ステップS401~405)。
【0184】
車両1010bは、不正検知サーバ80から状況確認要求通知を受信すると、車両1010aの車両走行状態のセンシングを開始する(ステップS601)。センシングは、車両に備え付けられた、カメラ、レーダ又はLiDAR等のセンサを用いて行う。例えば、車両1010aを先行車両として認識した場合に、前方車両との相対速度等を取得する。車両1010bはセンシングした、車両1010aの情報を監視ログとして、不正検知サーバ80へ通知する(ステップS602)。不正検知サーバ80は、受信した監視ログと車両ログとを用いて再分析を行い、監視ログと車両ログとに不整合が発生していないかを検証する(ステップS603)。
【0185】
[1.9 車両と不正検知サーバの処理シーケンス例4]
図12は、車両1010a及び1010bと、不正検知サーバ80の処理シーケンス例4を示した図である。不正検知サーバ80が状況確認要求を車両1010bに通知するまでは、
図9、
図10又は
図11と同様のシーケンスである(ステップS401~405)。
【0186】
車両1010bは、状況確認通知を受信すると、車両1010bのドライバに、周辺に異常がないかの確認の要求を示す提示情報を、ヘッドユニットのディスプレイ経由、または、音声により提示する(ステップS701)。ドライバが周囲の状況の確認、つまり、対象車両の挙動の確認を行い、その結果の報告を、音声またはタッチパネル操作により入力をする。車両1010bは、そのドライバからの入力を受ける(ステップS702)。車両1010bは、ドライバから受けた情報を監視ログとして、不正検知サーバ80へ通知する(ステップS703)。不正検知サーバ80は監視ログと車両ログとを用いて再分析を行う(ステップS704)。再分析において、不正検知サーバ80は、ドライバからの報告をもとに、検知した異常に対する対応の優先度を決定し、優先度の高いものから、優先的にセキュリティアナリストへ通知する。
【0187】
ドライバの報告は、例えば、「周囲で事故発生」、「急ハンドル、急ブレーキ、急加速の異常な車両あり」、「気になる車両あり」、「特に異常なし」等の選択式で、ドライバに選択させてもよいし、ドライバの報告をそのまま音声情報あるいは、音声認識の結果の文字情報を監視ログとしてもよい。これにより、異常を検知した車両の状況を迅速にかつ、正確に把握することが可能となり、検知したログに対する優先度を危険度に応じて付与することができ、セキュリティアナリストへ優先的に通知することが可能となる。
【0188】
なお、不正検知サーバ80は、状況確認要求を、異常を検知した車両と同地域に存在する車両へ通知しているが、通知先は、車両1010bまたは路側機90に限らない。例えば、交通安全情報を受信するアプリケーションをインストールした端末に対して通知してもよい。このとき、当該アプリケーションは、端末の位置情報を不正検知サーバ80に送信しており、不正検知サーバ80は、端末の位置情報が、異常と検知した車両の近くに存在する場合に、当該端末にインストールされたアプリケーションに対して、状況確認要求通知を行う。アプリケーションは端末の所有者に対して、周辺の異常確認通知を行い、端末所有者の報告を不正検知サーバ80へ通知する。
【0189】
以降において、車載ネットワーク監視システムの動作例を説明する。
【0190】
図13は、本実施の形態における、車載ネットワーク監視システムの第一の動作例を示す説明図である。
図13の例は、車両1010aの速度が60km/hであるにもかかわらず、速度が20km/hであると偽装して不正検知サーバ80等に通知している状況で、不正検知サーバ80が車両1010aの不正を検知する状況を示している。また、この例では、車両1010bが自発的に、つまり、不正検知サーバ80からの通知を受けることなく車両1010aの異常を検知する例を示している。
【0191】
図13の(1)において、車両1010aは、自車の速度が20km/hであると偽装して、不正検知サーバ80へ通知する。
【0192】
(2)において、車両1010aは、自車の速度が20km/hであると偽装して、V2X通信により車両1010bに通知する。
【0193】
(3)において、車両1010bは、車両1010aの走行状態をカメラ又はレーダ等によるセンシングによって取得する。取得された走行状態において、自車に対する車両1010aの相対速度が30km/hであることが示されているとする。
【0194】
(4)車両1010bは、上記(3)でセンシングにより取得した車両1010aとの相対速度と、自車の速度(30km/hとする)とから、車両1010aの速度を60km/hと算出する。そして、車両1010bは、算出した車両1010aの速度と、上記(2)で通知された車両1010aの速度とに整合性がない、つまり異常があると判断する。
【0195】
(5)車両1010bは、検知した異常を不正検知サーバ80へ通知する。
【0196】
図14は、本実施の形態における、車載ネットワーク監視システムの第二の動作例を示す説明図である。
図15は、本実施の形態における、監視ログによる優先度を決定するための条件を示す説明図である。
【0197】
図14の例は、車両1010aが急加速をしたときに、不正検知サーバ80が車両1010bに対して、車両1010aが実際に急加速をしたか否かを確認させる状況を示している。
【0198】
図14の(1)において、車両1010aは、自車が急加速をしたことを含む車両ログを不正検知サーバ80に送信する。
【0199】
(2)において、不正検知サーバ80は、上記(1)で送信された車両ログを分析して、車両1010aに異常が発生したことを検知する。そして、車両1010aの近くに存在している車両1010bに対して、車両1010aの監視をさせる要求(監視要求ともいう)を送信する。車両1010bは、送信された監視要求を受信する。
【0200】
(3)において、車両1010bは、上記(2)で受信した監視要求に応じて、V2X通信により車両1010aのログ(監視ログ)を取得する。
【0201】
(4)において、車両1010bは、上記(2)で受信した監視要求に応じて、車両1010aの走行状態をカメラ又はレーダ等によるセンシングによって取得する。取得された走行状態において、上記の
図13の場合と同様、自車に対する車両1010aの相対速度が30km/hであることが示されているとする。このとき、車両1010bのドライバに対して、車両1010aの挙動を確認するための質問情報を提示して回答を得てもよい。例えば、車両1010bの前方に車両1010aが存在している場合に、「前方車両が急加速をしましたか? Yes/No」というような問いかけをし、それに対して「Yes」の回答を得た場合に、車両1010aが急加速をしたという監視ログを生成する。
【0202】
(5)において、車両1010bは、上記(3)及び(4)で車両1010aから取得した車両ログ及び監視ログを不正検知サーバ80に送信する。
【0203】
(6)において、不正検知サーバ80は、上記(2)で検知された異常の優先度を「高」に設定する。なお、優先度を決定するには、例えば、
図15に示される条件に該当する監視ログに対応する異常に対して、当該条件に対応する優先度を設定する。
【0204】
図16は、本実施の形態における、車載ネットワーク監視システムの第三の動作例を示す説明図である。
図17は、本実施の形態における、車両ログと監視ログの一例を示す説明図である。
【0205】
図16の例は、車両1010aが速度を偽装して不正検知サーバ80に送信した場合に、車両1010b及び路側機90により車両1010bの走行状態を把握する状況を示している。
【0206】
図16の(1)において、車両1010aは、車両の速度を偽装して、不正検知サーバ80に通知する。
【0207】
(2)において、不正検知サーバ80は、車両1010aの車両ログに異常を検知する。そして、不正検知サーバ80は、車両1010aの近くに存在する車両1010bおよびと、路側機90とに、車両1010aを監視する監視要求を送信する。
【0208】
(3)において、車両1010bは、上記(2)で受信した監視要求に応じて、V2X通信により車両1010aのログ(監視ログ)を取得する。路側機90も同様に処理を行う。
【0209】
(4)において、車両1010bは、上記(2)で受信した監視要求に応じて、車両1010aの走行状態をカメラ又はレーダ等によるセンシングによって取得する。路側機90も同様に処理を行う。
【0210】
(5)において、車両1010bは、上記(3)及び(4)で車両1010aから取得した車両ログ及び監視ログを不正検知サーバ80に送信する。路側機90も同様に処理を行う。
【0211】
(6)において、不正検知サーバ80は、上記(5)で送信された車両ログ及び監視ログとの整合性を検証し、多数決で実際の車両1010bの走行状態を把握する。例えば、上記(5)で送信された車両ログと監視ログとの一例が
図17に示されている。ここで、車両の速度については、車両ログにおいて「速度20km/h」、監視ログL1において「速度0km/h(センシングによる取得)」及び「速度20km/h(V2X通信による取得)」、監視ログL2において「停車中(カメラによる取得)」及び「速度20km/h(V2X通信による取得)」の5つの情報が含まれている。単純に多数決をとる場合、車両1010bの速度は20km/hであると判定される。また、車両ログにおける「速度20km/h」と、監視ログL1及びL2における「速度20km/h」の情報が単一の情報源から出たものであることを考慮して、これらを1つと数えることも可能である。その場合、多数決をとると、車両の速度は0km/hであると判定される。
【0212】
(実施の形態の変形例)
本変形例では、上記実施の形態に係る車両監視装置、不正検知サーバ及び制御方法の別形態を説明する。
【0213】
図18は、本変形例における車両監視装置A1の機能構成を示すブロック図である。
【0214】
図18に示されるように、車両監視装置A1は、第一通信部A11と、取得部A12とを備える。
【0215】
第一通信部A11は、対象車両を特定する特定情報を不正検知サーバA2から受信する。また、第一通信部A11は、取得部A12が取得した走行情報を不正検知サーバA2に送信する。
【0216】
取得部A12は、第一通信部A11が受信した特定情報により特定される対象車両の走行に関わる情報である走行情報を、対象車両から取得する。
【0217】
図19は、本変形例における不正検知サーバA2の機能構成を示すブロック図である。
【0218】
図19に示されるように、不正検知サーバA2は、第一通信部A21と、保持部A22と、第二通信部A23と、通知部A24とを備える。
【0219】
第一通信部A21は、対象車両の走行に関わる情報である第一走行情報を受信する。
【0220】
保持部A22は、複数の車両の現在位置を示す位置情報を保持している。
【0221】
第二通信部A23は、(a)対象車両から受信した第一走行情報に異常を検知したときに、複数の車両のうち、対象車両から所定距離以内の範囲に存在する1以上の車両を位置情報を参照して特定し、特定した1以上の車両が備える車両監視装置に対して、対象車両の走行に関わる第二走行情報を取得する要求の通知を送信し、(b)1以上の車両が備える車両監視装置A1から第二走行情報を受信する。
【0222】
通知部A24は、第一走行情報と第二走行情報とから、異常が優先的に分析されるべき度合いを示す優先度を決定し、優先度が高い異常ほど、より優先的に、異常の通知をする。
【0223】
図20は、本変形例における車両監視装置A1の制御方法を示すフロー図である。
【0224】
図20に示されるように、ステップSA11において、対象車両を特定する特定情報を不正検知サーバA2から受信する。
【0225】
ステップSA12において、ステップSA11で受信した特定情報により特定される対象車両の走行に関わる情報である走行情報を、対象車両から取得する。
【0226】
ステップSA13において、ステップSA12で取得した走行情報を不正検知サーバA2に送信する。
【0227】
図21は、本変形例における不正検知サーバA2の制御方法を示すフロー図である。
【0228】
図21に示されるように、ステップSA21において、対象車両の走行に関わる情報である第一走行情報を受信する。
【0229】
ステップSA22において、複数の車両の現在位置を示す位置情報を保持する。
【0230】
ステップSA23において、対象車両から受信した第一走行情報に異常を検知したときに、複数の車両のうち、対象車両から所定距離以内の範囲に存在する1以上の車両を位置情報を参照して特定し、特定した1以上の車両が備える車両監視装置A1に対して、対象車両の走行に関わる第二走行情報を取得する要求の通知を送信する。
【0231】
ステップSA24において、1以上の車両が備える車両監視装置A1から第二走行情報を受信する。
【0232】
ステップSA25において、第一走行情報と第二走行情報とから、異常が優先的に分析されるべき度合いを示す優先度を決定し、優先度が高い異常ほど、より優先的に、異常の通知をする。
【0233】
これにより、車両監視装置A1は、不正な車両がアップロードするフレームを改ざんしたとしても、不正な車両を検知することを支援することができる。
【0234】
また、不正検知サーバA2は、不正な車両がアップロードするフレームを改ざんしたとしても、不正な車両を検知することができる。
【0235】
以上のように、上記実施の形態及び変形例に係る車両監視装置は、車両監視装置は、サーバから得た特定情報により特定される対象車両の走行情報を対象車両から取得してサーバに送信する。そのため、対象車両がサーバにアップロードしたフレームが改ざんされていたとしても、車両監視装置がサーバに送信した対象車両の走行情報によって、サーバが対象車両の不正を検知し得る。よって、車両監視装置は、不正な車両がアップロードするフレームを改ざんしたとしても、不正な車両を検知することを支援できる。
【0236】
また、車両監視装置は、特定車両との通信によって得られた走行情報を取得する。よって、車両監視装置は、より容易に対象車両の走行情報を得ることによって、不正な車両がアップロードするフレームを改ざんしたとしても不正な車両を検知することを支援できる。
【0237】
また、車両監視装置は、特定車両に対するセンシングによって得られた走行情報を取得する。よって、車両監視装置は、より容易に対象車両の走行情報を得ることによって、不正な車両がアップロードするフレームを改ざんしたとしても不正な車両を検知することを支援できる。
【0238】
また、車両監視装置は、特定車両に対するセンシングによって得られた走行情報を取得する。よって、車両監視装置は、より容易に対象車両の走行情報を得ることによって、不正な車両がアップロードするフレームを改ざんしたとしても不正な車両を検知することを支援できる。
【0239】
また、車両監視装置は、対象車両の走行状態についてのドライバによる判断の結果をセンシングにより取得する。よって、車両監視装置は、より多くの情報源から得られた対象車両の走行情報を用いて、不正な車両がアップロードするフレームを改ざんしたとしても不正な車両を検知することを支援できる。
【0240】
また、車両監視装置は、特に対象車両の速度に関する不正を検知し得る。よって、車両監視装置は、不正な車両が、特に速度について改ざんしたフレームをアップロードしたとしても、不正な車両を検知することを支援できる。
【0241】
また、上記実施の形態及び変形例に係る不正検知サーバは、対象車両から所定距離以内に存在する車両の車両監視装置に対して、その対象車両から走行状態を取得させる。そのため、対象車両がサーバにアップロードしたフレームが改ざんされていたとしても、車両監視装置がサーバに送信した対象車両の走行情報によって、サーバが対象車両の不正を検知し得る。よって、不正検知サーバは、不正な車両がアップロードするフレームを改ざんしたとしても、不正な車両を検知することができる。
【0242】
また、不正検知サーバは、通信によって取得した対象車両の走行情報と、センシングによって取得した対象車両の走行情報とが整合しない場合に、より優先的にその異常をアナリストなどに通知する。よって、上記の2つの走行情報が整合しない場合に必要な対策をより優先的に、アナリストなどに実行させることができる。
【0243】
(その他変形例)
なお、本発明を上記各実施の形態に基づいて説明してきたが、本発明は、上記各実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【0244】
(1)上記の実施の形態では、車載ネットワークをCANとして説明したが、これに限定されることなく、CAN-FD、Ethernet、LIN、Flexrayであってもよいし、それぞれを組み合わせた構成であってもよい。
【0245】
(2)上記の実施の形態では、機械学習による異常検知処理を、クラウドサーバ側で行っているが、車両内部の装置で処理してもよい。例えば、ヘッドユニット上のGPUで行うようにしてもよい。このようにすることで、即時検出性を上げる事が可能となる。この場合、クラウドでは、車両ローカルで異常検知した結果を集約するようにしてもよい。この時、処理の優先度はヘッドユニット内部で算出してもよいし、他の装置、例えばゲートウェイなどにより、CANメッセージに含めて通知されてもよい。
【0246】
(3)上記の実施の形態では、特徴ベクトルを作成する際の前処理をローカル側で行っているが、クラウドサーバ側で行うようにしてもよい。
【0247】
(4)上記の実施の形態では、クラウドサーバ側で異常検知処理をしているが、よりローカル環境に近いエッジサーバで異常検知処理をするようにしてもよい。このようにすることで、クラウド側で異常検知処理するよりも、ネットワーク遅延処理の影響が少なくなる。例えばエッジサーバが路側機であって、路側機がクラウドサーバと接続されており、車両は路側機に車載メッセージ情報をアップロードし、路側機で異常検知処理し、異常検知した結果をクラウドサーバにアップロードするようにしてもよい。
【0248】
(5)上記の実施の形態では、車両やクラウドサーバ側で異常検知時にアラートを通知する先として車載ネットワーク監視システム管理者としていたが、それに限定されない。例えば、カーメーカやECUサプライヤ、ユーザが所有する情報端末に通知するようにしてもよい。また、複数のカーメーカ間で共通で利用可能なセキュリティプロバイダーに通知するようにしてもよい。
【0249】
(6)上記の実施の形態では、優先度は、低、中、高の3値をとり得るが、優先度はこれに限らない。例えば、0~100のスコアとして優先度を表してもよい。これにより、不正検知サーバの優先度の割り当てが詳細に行えるようになり効果的である。
【0250】
(7)上記の実施の形態では、不正検知サーバに通知する車両ログは、CANのフレームにかかわる情報であったが、不正検知サーバに通知する車両ログはこれに限らない。例えばEthernetのフレーム、CAN-FDフレーム、FlexRayフレームであってもよいし、車載ネットワークフレームでなくてもよい。例えば、車両の現在位置を表すGPS情報、オーディオヘッドユニットへのアクセスログ、動作プロセスに関するログ、ファームウェアのバージョン情報、V2X通信のログ等といった情報であってもよい。
【0251】
(8)上記の実施の形態では、車両または路側機は、監視要求通知を受信すると、V2X通信、センサ(カメラ、レーダ)、ドライバの報告を監視ログとして、不正検知サーバに通知するが、いずれかを監視ログとして通知すればよい。また、不正検知サーバは、監視要求通知に、どのような監視ログが必要かを含めて送信してもよい。例えば、後続車両に対しては、センサ情報の取得を通知し、後続車両以外に対しては、V2X通信のログの取得を通知し、V2X通信の通信範囲外ではあるが、周辺の車両と判断された車両に対しては、ドライバの報告を要求するように、監視要求通知を送信してもよい。これにより、異常と検知した車両との、位置関係によって適切な情報を効率的に収集することが可能となる。
【0252】
(9)上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0253】
(10)上記の実施の形態における各装置は、構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
【0254】
また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又はすべてを含むように1チップ化されてもよい。
【0255】
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【0256】
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【0257】
(11)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【0258】
(12)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【0259】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【0260】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【0261】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【0262】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【0263】
(13)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【0264】
なお、上記実施の形態及び変形例において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記実施の形態及び変形例の社労監視装置などを実現するソフトウェアは、次のようなプログラムである。
【0265】
すなわち、このプログラムは、コンピュータに、車両監視装置の制御方法であって、前記対象車両を特定する特定情報をサーバから受信し、受信した前記特定情報により特定される前記対象車両の走行に関わる情報である走行情報を、前記対象車両から取得し、取得した前記走行情報を前記サーバに送信する制御方法を実行させる。
【0266】
また、このプログラムは、コンピュータに、不正検知サーバの制御方法であって、対象車両の走行に関わる情報である第一走行情報を受信し、複数の車両の現在位置を示す位置情報を保持し、前記対象車両から受信した前記第一走行情報に異常を検知したときに、前記複数の車両のうち、前記対象車両から所定距離以内の範囲に存在する1以上の車両を前記位置情報を参照して特定し、特定した前記1以上の車両が備える車両監視装置に対して、前記対象車両の走行に関わる第二走行情報を取得する要求の通知を送信し、前記1以上の車両が備える車両監視装置から前記第二走行情報を受信し、前記第一走行情報と前記第二走行情報とから、前記異常が優先的に分析されるべき度合いを示す優先度を決定し、前記優先度が高い前記異常ほど、より優先的に、前記異常の通知をする制御方法を実行させる。
【0267】
以上、一つまたは複数の態様に係る車両監視装置などについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【0268】
本発明は、車両を監視する車両監視装置に利用可能である。
【符号の説明】
【0269】
10、20、30、40、50 バス
80、A2 不正検知サーバ
81 ネットワーク
90 路側機
91 通信モジュール
92 制御部
93、312 V2X通信モジュール
100、101、200、201、300、301、302、400、401、1301、1302 ECU
110 エンジン
111 トランスミッション
210 ブレーキ
211 ステアリング
310 カメラ
311 IVI
410 ドア
411 ライト
510 診断ポート
810 通信部
820 処理判断部
830 ログ収集部
840 ログ分析部
850 結果通知部
860 監視ログ通信部
870 優先度判断部
880 車両情報DB
881 車両ログ格納DB
882 分析結果格納DB
883 監視ログ格納DB
900 ゲートウェイ
910 フレーム送受信部
920 フレーム解釈部
930 整合性検証部
940 更新処理部
950 フレームアップロード部
960 転送制御部
970 鍵処理部
980 フレーム生成部
990 ルール保持部
991 転送ルール保持部
992 鍵保持部
1010a、1010b、1010c、1010d、1010e、1010f 車両
A1 車両監視装置
A11、A21 第一通信部
A12 取得部
A22 保持部
A23 第二通信部
A24 通知部