(57)【要約】  車載ネットワークに接続される異常検知電子制御ユニット（１１）は、車載ネットワークを搭載する車両の速度情報を表す第一通信メッセージ、及び車両の周辺情報を表す第二通信メッセージを受信する受信部（１１１）と、速度情報に基づいて車両の第一走行状態を判定し、周辺情報に基づいて第二走行状態を判定する走行状態判定部（１１２）と、走行状態判定部（１１２）が判定した第一走行状態と第二走行状態とを比較して、一致しない場合、第一通信メッセージは異常であると判定する異常判定部（１１３）と、第一通信メッセージが異常であると判定した場合、異常への対処のための処理を実行する異常処理部（１１５）とを備える。
2019216306.tif 000002
【特許請求の範囲】
【請求項１】
複数の電子制御ユニットが通信に用いる車載ネットワークに接続される異常検知電子制御ユニットであって、
前記異常検知電子制御ユニットは、
前記車載ネットワークを搭載する車両の速度情報を表す第一通信メッセージ、及び前記車両の周辺情報を表す第二通信メッセージを受信する受信部と、
前記速度情報に基づいて前記車両の第一走行状態を判定し、前記周辺情報に基づいて前記車両の第二走行状態を判定する走行状態判定部と、
前記第一走行状態と前記第二走行状態とを比較して、一致しない場合には、前記第一通信メッセージは異常であると判定し、一致する場合には、前記第一通信メッセージは正常であると判定する異常判定部と、
前記異常判定部が前記第一通信メッセージは異常であると判定した場合、異常への対処のための処理を実行する異常処理部とを備える、
異常検知電子制御ユニット。
【請求項２】
前記走行状態判定部は、前記速度情報が示す前記車両の速度に応じて、前記第一走行状態を高速走行状態、低速走行状態、および停止状態の少なくとも３つの段階で表し、
さらに前記走行状態判定部は、前記速度情報が示す前記車両の速度に応じて、前記第二走行状態を高速走行状態、低速走行状態、および停止状態の少なくとも３つの段階で表し、
前記異常判定部は、前記第一走行状態を表す前記段階と前記第二走行状態を表す前記段階との差の大きさに応じて前記第一通信メッセージの異常の可能性の高さを判定し、
前記異常処理部が行う前記処理は、前記異常の可能性の高さに応じて内容が異なる、
請求項１に記載の異常検知電子制御ユニット。
【請求項３】
前記第一走行状態と前記第二走行状態とが一致しない場合で、前記第二走行状態は高速走行状態であるとき、前記異常判定部は、前記第二走行状態が低速走行状態であるときよりも前記異常の可能性を高く判定する、
請求項２に記載の異常検知電子制御ユニット。
【請求項４】
前記第二通信メッセージは３種類以上の周辺情報を表し、
前記走行状態判定部は、前記３種類以上の周辺情報のそれぞれに基づいて判定した前記車両の走行状態に異なる走行状態が含まれる場合、前記３種類以上のメッセージのそれぞれを用いて判定した走行状態のうち最も多い走行状態を、前記第二走行状態と判定する、
請求項２又は３に記載の異常検知電子制御ユニット。
【請求項５】
前記走行状態判定部は、前記３種類以上の周辺情報のそれぞれに基づいて判定した前記車両の走行状態のうち最も多い走行状態が同数で複数ある場合、前記複数の最も多い走行状態のうち、最も新しい前記第二通信メッセージを用いて判定した走行状態を、前記第二走行状態と判定する、
請求項４に記載の異常検知電子制御ユニット。
【請求項６】
前記第二通信メッセージは、前記車両が備える車載カメラにより撮影された画像の画像情報を含み、
前記走行状態判定部は、前記画像情報を用いて前記車両の走行状態を判定する、
請求項１から５のいずれか一項に記載の異常検知電子制御ユニット。
【請求項７】
前記第二通信メッセージは、前記車両のステアリングホイール、ペダル及びシートの少なくともひとつへの前記車両の使用者による接触があった時刻を示す接触時刻情報を含み、
前記走行状態判定部は、前記接触時刻情報を用いて前記車両の走行状態を判定する、
請求項１から６のいずれか一項に記載の異常検知電子制御ユニット。
【請求項８】
前記第二通信メッセージは、前記車両の現在地を示す現在地情報を含み、
前記走行状態判定部は、前記現在地情報を用いて前記車両の走行状態を判定する、
請求項１から７のいずれか一項に記載の異常検知電子制御ユニット。
【請求項９】
前記処理は、前記車両の使用者への前記異常の発生の通知を含む、
請求項１から８のいずれか一項に記載の異常検知電子制御ユニット。
【請求項１０】
前記処理は、前記車両の運転操作への介入のための指示を含む、
請求項１から９のいずれか一項に記載の異常検知電子制御ユニット。
【請求項１１】
前記車載ネットワークには、さらに、外部ネットワークと通信を行う外部通信装置が接続され、
前記受信部は、前記外部通信装置が前記外部ネットワークから受信した外部メッセージを受信し、
前記第一通信メッセージは異常であると判定された場合、前記異常処理部はさらに前記外部メッセージを無効化する、
請求項１から１０のいずれか一項に記載の異常検知電子制御ユニット。
【請求項１２】
前記車載ネットワークには、さらに、外部ネットワークと通信を行う外部通信装置が接続され、
前記外部通信装置は前記外部ネットワークを介して監視サーバと接続され、
前記異常処理部は、前記異常判定部が行った判定の結果を前記監視サーバに送信する、
請求項１から１０のいずれか一項に記載の異常検知電子制御ユニット。
【請求項１３】
前記受信部が前記第一通信メッセージ及び前記第二通信メッセージの少なくとも一方を受信していない場合、前記異常判定部は、前記受信部が前記第一通信メッセージ及び前記第二通信メッセージの両方を受信している場合よりも前記異常の可能性をより高く判定する、
請求項１から１２のいずれか一項に記載の異常検知電子制御ユニット。
【請求項１４】
車載ネットワークを介して通信する複数の電子制御ユニットと前記車載ネットワークに接続される異常検知電子制御ユニットとを含む車載ネットワークシステムであって、
前記複数の電子制御ユニットは、第一電子制御ユニットと、第二電子制御ユニットと、第三電子制御ユニットと、外部ネットワークと通信を行う外部通信装置とを含み、
前記第一電子制御ユニットは、前記車載ネットワークを搭載する車両の速度情報を表す第一通信メッセージを前記車載ネットワークへ送信し、
前記外部通信装置は、前記外部ネットワークから受信した外部メッセージを前記車載ネットワークへ送信し、
前記第二電子制御ユニットは、前記車両の周辺情報を表す第二通信メッセージを前記車載ネットワークへ送信し、
前記第三電子制御ユニットは、前記第一通信メッセージを受信すると、前記第一通信メッセージの値を保持し、前記外部メッセージを受信すると、保持している前記第一通信メッセージの値に応じて前記外部メッセージに対する処理を行い、
前記異常検知電子制御ユニットは、
前記第一通信メッセージ及び前記第二通信メッセージを受信する受信部と、
前記速度情報に基づいて前記車両の第一走行状態を判定し、前記周辺情報に基づいて前記車両の第二走行状態を判定する走行状態判定部と、
前記第一走行状態と前記第二走行状態とを比較して一致しない場合には、前記第一通信メッセージは異常であると判定し、一致する場合には、前記第一通信メッセージは正常であると判定する異常判定部と、
前記第一通信メッセージは異常であると判定した場合、異常への対処のための処理を実行する異常処理部とを備える、
車載ネットワークシステム。
【請求項１５】
複数の電子制御ユニットが通信に用いる車載ネットワークに接続される異常検知電子制御ユニットにおける異常検知方法であって、
前記車載ネットワークを搭載する車両の速度情報を表す第一通信メッセージ、及び前記車両の周辺情報を表す第二通信メッセージを受信する受信ステップと、
前記速度情報に基づいて前記車両の第一走行状態を判定し、前記周辺情報に基づいて前記車両の第二走行状態を判定する走行状態判定ステップと、
前記第一走行状態と前記第二走行状態とを比較して一致しない場合には、前記第一通信メッセージは異常であると判定し、一致する場合には、前記第一通信メッセージは正常であると判定する異常判定ステップと、
前記第一通信メッセージは異常であると判定した場合、異常への対処のための処理を実行する異常対処ステップとを含む、
異常検知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載ネットワーク等において送信される不正なメッセージを検知し対処するセキュリティ対策技術に関する。
【背景技術】
【０００２】
近年、自動車の中のシステムには、電子制御ユニット（ＥＣＵ：Electronic Control Unit）と呼ばれる装置が多数配置されている。これらのＥＣＵをつなぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには、多数の通信規格が存在する。その中でも最も主流な通信規格の一つに、ＩＳＯ１１８９８で規定されているＣＡＮ（Controller Area Network）という規格が存在する。【０００３】
ＣＡＮの規格に拠る車載ネットワーク（以下、ＣＡＮネットワークともいう）では、通信路（バス）は２本のケーブルで構成され、バスに接続されているＥＣＵはノードとも呼ばれる。バスに接続されている各ノードは、フレーム又はメッセージと呼ばれる単位でデータを送受信する。またＣＡＮネットワークでは、データの送信先又は送信元を示す識別子は用いられない。【０００４】
メッセージを送信するノード（以下、送信ノードともいう）は、メッセージ毎にメッセージの種類を示すメッセージＩＤと呼ばれるＩＤを付けて送信、つまりバスに信号を送出する。メッセージを受信するノード（以下、受信ノードともいう）は、予め決められたメッセージＩＤを含むメッセージのみ受信、つまりバスから信号を読み取る。同一ＩＤのメッセージは、所定の一定の周期で送信される。【０００５】
上述の通り、自動車の中のシステムに多数配置されているＥＣＵは、接続されているＣＡＮネットワークを介して様々なメッセージを互いにやりとりしながら動作している。【０００６】
ここで、ＣＡＮネットワークの外部と通信機能を持つＥＣＵが、外部から攻撃される等で乗っ取られ、ＣＡＮネットワークに対して不正なメッセージを送信するようになることが起こり得る。このような乗っ取られたＥＣＵ（以下、不正ＥＣＵともいう）は、例えば他のＥＣＵになりすまして不正なメッセージを送信し、自動車を不正に制御することが可能となる。【０００７】
そのため、攻撃者がＣＡＮネットワークにアクセスして不正なメッセージを送信することでＥＣＵを不正に制御する手法が開示されている。【０００８】
例えば、自動車への不正な遠隔操作として、車両の診断を行うための診断用機器を接続するポートから、攻撃者が正規の診断機を用いて不正な車両の診断メッセージを送信することで、車両に大きな影響を与えることが可能であることが非特許文献１に開示されている。【０００９】
また、非特許文献２によると、いくつかの自動車メーカーは、自動車の走行中には診断メッセージを受け付けないことで、非特許文献１で用いられる攻撃に対する安全対策を行っていることが開示されている。さらに、非特許文献２において、攻撃者が自動車の速度情報を改ざんして送信すると、走行中の自動車において、自動車は停止中であると誤認させることが可能であり、走行中に受け付けて従うと危険な内容の診断メッセージであっても受け付けてしまう可能性があることも開示されている。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】Charlie Miller & Chris Valasek, Remote Exploitation of an Unaltered Passenger Vehicle, 2015/8/10
【非特許文献２】Charlie Miller & Chris Valasek, CAN Message Injection, 2016/6/28
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上記の様な手法による攻撃は走行中の車両の制御に大きな影響を与えて事故等を招くおそれがある。このような攻撃には、適切な検知と対処が可能な対策が必要である。【００１２】
本発明は、このような攻撃に繋がる異常を検知し、適切に対処することのできる異常検知電子制御ユニット（異常検知ＥＣＵ）、車載ネットワークシステム、及び、異常検知方法を提供する。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明の一態様に係る異常検知ＥＣＵは、複数の電子制御ユニットが通信に用いる車載ネットワークに接続される異常検知電子制御ユニットであって、前記異常検知電子制御ユニットは、前記車載ネットワークを搭載する車両の速度情報を表す第一通信メッセージ、及び前記車両の周辺情報を表す第二通信メッセージを受信する受信部と、前記速度情報に基づいて前記車両の第一走行状態を判定し、前記周辺情報に基づいて前記車両の第二走行状態を判定する走行状態判定部と、前記第一走行状態と前記第二走行状態とを比較して、一致しない場合には、前記第一通信メッセージは異常であると判定し、一致する場合には、前記第一通信メッセージは正常であると判定する異常判定部と、前記異常判定部が前記第一通信メッセージは異常であると判定した場合、異常への対処のための処理を実行する異常処理部とを備える。【００１４】
また、本発明の一態様に係る車載ネットワークシステムは、車載ネットワークを介して通信する複数の電子制御ユニットと前記車載ネットワークに接続される異常検知電子制御ユニットとを含む車載ネットワークシステムであって、前記複数の電子制御ユニットは、第一電子制御ユニットと、第二電子制御ユニットと、第三電子制御ユニットと、外部ネットワークと通信を行う外部通信装置とを含み、前記第一電子制御ユニットは、前記車載ネットワークを搭載する車両の速度情報を表す第一通信メッセージを前記車載ネットワークへ送信し、前記外部通信装置は、前記外部ネットワークから受信した外部メッセージを前記車載ネットワークへ送信し、前記第二電子制御ユニットは、前記車両の周辺情報を表す第二通信メッセージを前記車載ネットワークへ送信し、前記第三電子制御ユニットは、前記第一通信メッセージを受信すると、前記第一通信メッセージの値を保持し、前記外部メッセージを受信すると、保持している前記第一通信メッセージの値に応じて前記外部メッセージに対する処理を行い、前記異常検知電子制御ユニットは、前記第一通信メッセージ及び前記第二通信メッセージを受信する受信部と、前記速度情報に基づいて前記車両の第一走行状態を判定し、前記周辺情報に基づいて前記車両の第二走行状態を判定する走行状態判定部と、前記第一走行状態と前記第二走行状態とを比較して一致しない場合には、前記第一通信メッセージは異常であると判定し、一致する場合には、前記第一通信メッセージは正常であると判定する異常判定部と、前記第一通信メッセージは異常であると判定した場合、異常への対処のための処理を実行する異常処理部とを備える。【００１５】
また、本発明の一態様に係る異常検知方法は、複数の電子制御ユニットが通信に用いる車載ネットワークに接続される異常検知電子制御ユニットにおける異常検知方法であって、前記車載ネットワークを搭載する車両の速度情報を表す第一通信メッセージ、及び前記車両の周辺情報を表す第二通信メッセージを受信する受信ステップと、前記速度情報に基づいて前記車両の第一走行状態を判定し、前記周辺情報に基づいて前記車両の第二走行状態を判定する走行状態判定ステップと、前記第一走行状態と前記第二走行状態とを比較して一致しない場合には、前記第一通信メッセージは異常であると判定し、一致する場合には、前記第一通信メッセージは正常であると判定する異常判定ステップと、前記第一通信メッセージは異常であると判定した場合、異常への対処のための処理を実行する異常対処ステップとを含む。【００１６】
なお、これらの包括的又は具体的な態様は、集積回路、コンピュータプログラム、又はコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、装置、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００１７】
本発明によれば、改ざんした速度情報を表すメッセージの車載ネットワークへの送信を含む攻撃による異常を検知し、対処することができる。
【図面の簡単な説明】
【００１８】
【図１】図１は、実施の形態に係る車載ネットワークシステムの全体構成を示す図である。
【図２】図２は、実施の形態に係るＣＡＮプロトコルのデータフレームのフォーマットを示す図である。
【図３】図３は、実施の形態に係る異常検知ＥＣＵの構成を示す図である。
【図４】図４は、実施の形態に係る異常可能性判定テーブルの一例を示す図である。
【図５】図５は、実施の形態に係るブレーキＥＣＵの構成を示す図である。
【図６】図６は、実施の形態に係る受信ＩＤリストの一例を示す図である。
【図７】図７は、実施の形態に係る異常検知処理の一例を示すフローチャートである。
【図８】図８は、実施の形態に係る車両の走行状態の判定処理の一例を示すフローチャートである。
【図９】図９は、実施の形態に係る周辺情報に基づく車両の走行状態の判定処理の一例を示すフローチャートである。
【図１０】図１０は、実施の形態に係る異常可能性の判定処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１９】
本発明の一実施態様の異常検知電子制御ユニットは複数の電子制御ユニットが通信に用いる車載ネットワークに接続される異常検知電子制御ユニットであって、前記異常検知電子制御ユニットは、前記車載ネットワークを搭載する車両の速度情報を表す第一通信メッセージ、及び前記車両の周辺情報を表す第二通信メッセージを受信する受信部と、前記速度情報に基づいて前記車両の第一走行状態を判定し、前記周辺情報に基づいて前記車両の第二走行状態を判定する走行状態判定部と、前記第一走行状態と前記第二走行状態とを比較して、一致しない場合には、前記第一通信メッセージは異常であると判定し、一致する場合には、前記第一通信メッセージは正常であると判定する異常判定部と、前記異常判定部が前記第一通信メッセージは異常であると判定した場合、異常への対処のための処理を実行する異常処理部とを備える。
【００２０】
これにより、改ざんした車両の速度を表す情報を含む不正なメッセージが車載ネットワークに送信されたとしても、このメッセージの異常を適切に検知して対処することができる。
【００２１】
例えば、前記走行状態判定部は、前記速度情報が示す前記車両の速度に応じて、前記第一走行状態を高速走行状態、低速走行状態、および停止状態の少なくとも３つの段階で表し、さらに前記走行状態判定部は、前記速度情報が示す前記車両の速度に応じて、前記第二走行状態を高速走行状態、低速走行状態、および停止状態の少なくとも３つの段階で表し、前記異常判定部は、前記第一走行状態を表す前記段階と前記第二走行状態を表す前記段階との差の大きさに応じて前記第一通信メッセージの異常の可能性の高さを判定し、前記異常処理部が行う前記処理は、前記異常の可能性の高さに応じて内容が異なってもよい。
【００２２】
これにより、車両で検知された異常の可能性の高さに応じた適切な対処を実行することができる。例えば、前記処理は、前記車両の使用者への前記異常の発生の通知を含んでもよい。例えば、前記処理は、前記車両の運転操作への介入のための指示を含んでもよい。
【００２３】
例えば、前記第一走行状態と前記第二走行状態とが一致しない場合で、前記第二走行状態は高速走行状態であるとき、前記異常判定部は、前記第二走行状態が低速走行状態であるときよりも前記異常の可能性を高く判定してもよい。
【００２４】
一般的に車両の速度が上がるにつれて、事故等の危険性は増し、被害は大きくなる。より高速で走っている車両の異常の可能性を高く判定するよう扱うことで、適切な対処を実行することができる。
【００２５】
例えば、前記第二通信メッセージは３種類以上の周辺情報を表し、前記走行状態判定部は、前記３種類以上の周辺情報のそれぞれに基づいて判定した前記車両の走行状態に異なる走行状態が含まれる場合、前記３種類以上のメッセージのそれぞれを用いて判定した走行状態のうち最も多い走行状態を、前記第二走行状態と判定してもよい。また、前記走行状態判定部は、前記３種類以上の周辺情報のそれぞれに基づいて判定した前記車両の走行状態のうち最も多い走行状態が同数で複数ある場合、前記複数の最も多い走行状態のうち、最も新しい前記第二通信メッセージを用いて判定した走行状態を、前記第二走行状態と判定してもよい。
【００２６】
これにより、走行状態を表す情報について、別の情報を用いて検証がなされ、走行状態を表す情報が改ざんされていてもその異常を正確に検知できる可能性を高めることができる。
【００２７】
例えば、前記第二通信メッセージは、前記車両が備える車載カメラにより撮影された画像の画像情報を含み、前記走行状態判定部は、前記画像情報を用いて前記車両の走行状態を判定してもよい。また、前記第二通信メッセージは、前記車両のステアリングホイール、ペダル及びシートの少なくともひとつへの前記車両の使用者による接触があった時刻を示す接触時刻情報を含み、前記走行状態判定部は、前記接触時刻情報を用いて前記車両の走行状態を判定してもよい。また、前記第二通信メッセージは、前記車両の現在地を示す現在地情報を含み、前記走行状態判定部は、前記現在地情報を用いて前記車両の走行状態を判定してもよい。
【００２８】
これにより、関連する情報を用いて自動車の走行状態を推測することができ、車載ネットワークを流れる走行状態を表す情報が改ざんされている場合にも、異常を正確に検知できる可能性を高めることができる。
【００２９】
例えば、前記車載ネットワークには、さらに、外部ネットワークと通信を行う外部通信装置が接続され、前記受信部は、前記外部通信装置が前記外部ネットワークから受信した外部メッセージを受信し、前記第一通信メッセージは異常であると判定された場合、前記異常処理部はさらに前記外部メッセージを無効化してもよい。
【００３０】
これにより、診断用ポートなどの経路を用いた不正なメッセージの注入による攻撃による影響を抑えることができる。
【００３１】
例えば、前記車載ネットワークには、さらに、外部ネットワークと通信を行う外部通信装置が接続され、前記外部通信装置は前記外部ネットワークを介して監視サーバと接続され、前記異常処理部は、前記異常判定部が行った判定の結果を前記監視サーバに送信してもよい。
【００３２】
これにより、一台の自動車へのサイバー攻撃の情報を、多数の自動車でのセキュリティ対策のための共有の資産として利用することができる。
【００３３】
例えば、前記受信部が前記第一通信メッセージ及び前記第二通信メッセージの少なくとも一方を受信していない場合、前記異常判定部は、前記受信部が前記第一通信メッセージ及び前記第二通信メッセージの両方を受信している場合よりも前記異常の可能性をより高く判定すると判定してもよい。
【００３４】
これにより、走行状態を表す情報の検証に用いる情報が、サイバー攻撃が原因で揃わない場合には、より安全な対処を執ることができる。
【００３５】
本発明の一態様に係る車載ネットワークシステムは車載ネットワークを介して通信する複数の電子制御ユニットと前記車載ネットワークに接続される異常検知電子制御ユニットとを含む車載ネットワークシステムであって、前記複数の電子制御ユニットは、第一電子制御ユニットと、第二電子制御ユニットと、第三電子制御ユニットと、外部ネットワークと通信を行う外部通信装置とを含み、前記第一電子制御ユニットは、前記車載ネットワークを搭載する車両の速度情報を表す第一通信メッセージを前記車載ネットワークへ送信し、前記外部通信装置は、前記外部ネットワークから受信した外部メッセージを前記車載ネットワークへ送信し、前記第二電子制御ユニットは、前記車両の周辺情報を表す第二通信メッセージを前記車載ネットワークへ送信し、前記第三電子制御ユニットは、前記第一通信メッセージを受信すると、前記第一通信メッセージの値を保持し、前記外部メッセージを受信すると、保持している前記第一通信メッセージの値に応じて前記外部メッセージに対する処理を行い、前記異常検知電子制御ユニットは、前記第一通信メッセージ及び前記第二通信メッセージを受信する受信部と、前記速度情報に基づいて前記車両の第一走行状態を判定し、前記周辺情報に基づいて前記車両の第二走行状態を判定する走行状態判定部と、前記第一走行状態と前記第二走行状態とを比較して一致しない場合には、前記第一通信メッセージは異常であると判定し、一致する場合には、前記第一通信メッセージは正常であると判定する異常判定部と、前記第一通信メッセージは異常であると判定した場合、異常への対処のための処理を実行する異常処理部とを備える。
【００３６】
これにより、改ざんした車両の速度を表す情報を含む不正なメッセージが車載ネットワークに送信されたとしても、このメッセージの異常を適切に検知して対処することができる。
【００３７】
本発明の一態様に係る異常検知方法は複数の電子制御ユニットが通信に用いる車載ネットワークに接続される異常検知電子制御ユニットにおける異常検知方法であって、前記車載ネットワークを搭載する車両の速度情報を表す第一通信メッセージ、及び前記車両の周辺情報を表す第二通信メッセージを受信する受信ステップと、前記速度情報に基づいて前記車両の第一走行状態を判定し、前記周辺情報に基づいて前記車両の第二走行状態を判定する走行状態判定ステップと、前記第一走行状態と前記第二走行状態とを比較して一致しない場合には、前記第一通信メッセージは異常であると判定し、一致する場合には、前記第一通信メッセージは正常であると判定する異常判定ステップと、前記第一通信メッセージは異常であると判定した場合、異常への対処のための処理を実行する異常対処ステップとを含む。
【００３８】
これにより、改ざんした車両の速度を表す情報を含む不正なメッセージが車載ネットワークに送信されたとしても、このメッセージの異常を適切に検知して対処することができる。
【００３９】
以下では、本発明の異常検知電子制御ユニット、異常検知システム、及び、異常検知方法について、図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。したがって、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する趣旨ではない。よって、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素は、課題を達成するために必ずしも必要ではないが、より好ましい形態を構成する構成要素として説明される。
【００４０】
なお、当業者が本発明を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって請求の範囲に記載の主題を限定することを意図するものではない。
【００４１】
また、各図は模式図であり、必ずしも厳密に図示されたものではない。各図において、実質的に同一の構成要素には同一の符号を付しており、重複する説明は省略又は簡略化される場合がある。
【００４２】
（実施の形態）
本実施の形態に係る車載ネットワークシステムについて図面を参照しながら説明する。
【００４３】
［１．構成］
以下、本実施の形態として、車載ネットワークに送信されている複数種類のメッセージから車両の走行状態を多重的に判定し、判定した車両の走行状態に基づいて、車両の速度情報が改ざんされているか否かの判定を実施し、改ざんされたメッセージに基づく処理が実行されることを阻止するための異常検知方法を実現する異常検知ＥＣＵを含む車載ネットワークシステムについて図面を用いて説明する。
【００４４】
［１．１．車載ネットワークシステムの全体構成］
図１は、本実施の形態にかかる車載ネットワークシステムの全体構成を示す図である。図１に示すように、車載ネットワークシステム１０は、異常検知ＥＣＵ１１と、エンジンＥＣＵ１００と、ブレーキＥＣＵ２００と、車載カメラＥＣＵ３００と、ステアリングＥＣＵ４００と、ＧＰＳ（Global Positioning System）  ＥＣＵ５００と、外部通信装置６００とを含み、これらの構成は車載ネットワーク７００を介して接続されている。車載ネットワーク７００は、ＣＡＮネットワークで構成される。車載ネットワークシステム１０は、自動車である車両１に搭載される。
【００４５】
なお、図１では省略しているが、車載ネットワークシステム１０には上述のＥＣＵ以外にもいくつものＥＣＵが含まれ得るが、ここでは便宜上、上記のＥＣＵに注目して説明を行う。また、図示のＥＣＵの中にはセンサ、アクチュエータ等の各種の機器が接続されるものも含まれ得るが、便宜上図示及び網羅的な説明は省略し、以下の説明では必要に応じて言及する。
【００４６】
上述の各ＥＣＵは、例えば、プロセッサ（マイクロプロセッサ）、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ＲＯＭ、ＲＡＭ等であり、プロセッサにより実行される制御プログラム（コンピュータプログラム）を記憶することができる。例えばプロセッサが、制御プログラム（コンピュータプログラム）に従って動作することにより、ＥＣＵは各種機能を実現することになる。なお、コンピュータプログラムは、所定の機能を達成するために、プロセッサに対する指令を示す命令コードが複数個組み合わせられたものである。
【００４７】
また、ここでは、車載ネットワーク７００には不正なメッセージを送信する不正ＥＣＵが接続されている可能性があることを前提として説明する。
【００４８】
車載ネットワークシステム１０は、外部ネットワーク１０００を介して外部機器８００及び監視サーバ９００と接続されている。
【００４９】
異常検知ＥＣＵ１１は、車載ネットワーク７００に送信されたメッセージのうち、速度情報を表すメッセージに対して異常可能性の判定をする。また、異常検知ＥＣＵ１１は、異常である可能性の高さに応じた所定の対処のための処理を実行する機能を有する。異常検知ＥＣＵ１１の詳細な構成は後述する。
【００５０】
エンジンＥＣＵ１００は、車両１のエンジン（図示無し）に接続され、エンジンから車両１の速度を示す速度情報を取得し、取得した速度情報を表すメッセージに所定のＩＤを付けて、周期的に車載ネットワーク７００に送信する。例えば、速度情報を表すメッセージのＩＤの値は「１」であり、速度情報は、時速（ｋｍ／時）を表し、速度情報の値は０ｋｍ／時である。速度情報を表すこのメッセージは、本実施の形態における第一通信メッセージの例である。
【００５１】
ブレーキＥＣＵ２００は、車両１のブレーキに接続され、ブレーキからブレーキのかかり具合を示すブレーキ情報を取得する。例えば、ブレーキ情報においてブレーキが最大限かけられている状態は１００％とし、ブレーキを全くかけられていない状態を０％として、かかり具合が割合で示される。ブレーキＥＣＵ２００は、取得したブレーキ情報を表すメッセージに所定のＩＤを付けて、周期的に車載ネットワーク７００に送信する。例えば、ブレーキ情報を表すメッセージのＩＤの値は「２」であり、このメッセージが表すブレーキ情報の値は５０％である。なお、本実施の形態の説明では、ブレーキＥＣＵ２００に対して外部から診断メッセージが送信される場合を例に用いることがある。
【００５２】
車載カメラＥＣＵ３００は、例えば、車両１の進行方向の前方を撮影可能に設置された車載カメラと接続され、車載カメラが撮影した画像を示す画像データを取得する。車載カメラＥＣＵ３００は、取得した画像データに関する情報をさらに取得し、この情報を表すメッセージに所定のＩＤを付けて、周期的に車載ネットワーク７００に送信する。例えば、画像データに関する情報を表すメッセージのＩＤの値は「３」であり、このメッセージが表す画像データに関する情報の値とは、例えば画像の特徴を数値として表現した特徴量の値である。この特徴量は、後述する異常検知ＥＣＵ１１による車両１の走行状態の判定に用いられる周辺情報の一例である。なお、以下ではこの画像の特徴量を指して画像情報ともいう。また、画像情報を表すこのメッセージは、本実施の形態における第二通信メッセージの一例である。
【００５３】
ステアリングＥＣＵ４００は、車両１のステアリングホイールに接続され、ステアリングホイールから車両１の使用者によるステアリングホイールへの接触が発生した最新の時刻を表す接触時刻情報を取得する。そしてステアリングＥＣＵ４００は、取得した接触時刻情報を表すメッセージに所定のＩＤを付けて、周期的に車載ネットワーク７００に送信する。例えば、接触時刻情報を表すメッセージのＩＤの値は「４」であり、このメッセージが表す接触時刻情報の値は「２０１８年４月１７日１９時４２分３０秒」である。この接触時刻情報は、後述する異常検知ＥＣＵ１１による車両１の走行状態の判定に用いられる周辺情報の一例である。また、接触時刻情報を表すこのメッセージは、本実施の形態における第二通信メッセージの一例である。
【００５４】
ＧＰＳ  ＥＣＵ５００は、車両１に搭載されたＧＰＳ受信機に接続され、ＧＰＳ受信機から車両１の現在地の座標を示す現在地情報を取得する。そしてＧＰＳ  ＥＣＵ５００は、取得した現在地情報を表すメッセージに所定のＩＤを付けて、周期的に車載ネットワーク７００に送信する。例えば、現在地情報を表すメッセージのＩＤの値は「５」であり、このメッセージが表す現在地情報は（緯度、経度）を表し、現在地情報の値は（３４．７４１５６７、１３５．５７１４８６）である。この現在地情報は、後述する異常検知ＥＣＵ１１による車両１の走行状態の判定に用いられる周辺情報の一例である。また、現在地情報を表すこのメッセージは、本実施の形態における第二通信メッセージの一例である。
【００５５】
また、各ＥＣＵは、他のＥＣＵが送信したメッセージを車載ネットワーク７００から読み出し、メッセージに付されたＩＤに応じてメッセージを選択的に受信する。
【００５６】
外部通信装置６００は、車両１の外部と車載ネットワーク７００との通信を仲介する。すなわち、車両１の外部からデータを受信し、受信したデータを表すメッセージにそのデータの種類に応じた所定のＩＤを付けて車載ネットワーク７００に送信する。また、外部通信装置６００は、各ＥＣＵから車載ネットワーク７００に送信されたメッセージを読み出し、メッセージに付与されたＩＤに応じてメッセージを選択的に受信し、メッセージに含まれる情報を必要に応じて車両１の外部へ送信する。図１では、外部通信装置６００は、上記の通信の相手である車両１の外部にある外部機器８００及び監視サーバ９００と、外部ネットワーク１０００を介して通信を行うことが示されている。
【００５７】
外部ネットワーク１０００は、外部通信装置６００と外部機器８００及び監視サーバ９００とが通信するための通信ネットワークである。外部ネットワーク１０００の通信方法は、有線もしくは無線またはこれらの両方によるものであってもよい。また、無線通信方式は、既存技術であるＷｉ−Ｆｉ（登録商標）、３ＧもしくはＬＴＥ（Long Term Evolution）によるものであってもよいし、又はさらに新しい技術によるものであってもよい。
【００５８】
外部機器８００は、例えば自動車の故障診断機（以下、診断ツールともいう）であり、車両１に搭載されるエンジン又はブレーキ等の診断のためのメッセージ（本開示において診断メッセージという）を送信する。診断メッセージは車載ネットワークシステム１０の外部通信装置６００によって受信され、さらに外部通信装置６００から車載ネットワーク７００へ送信される。診断メッセージには、自動車が備える装置に特定の動作を実行させるものもある。例えばブレーキに特定の動作をさせる診断メッセージを外部通信装置６００が受信すると、この診断メッセージは車載ネットワーク７００を介してブレーキＥＣＵ２００に受信される。ブレーキＥＣＵ２００は、診断メッセージが示す特定の動作の指示に従ってブレーキを制御する。
【００５９】
監視サーバ９００は、外部ネットワーク１０００を介して外部通信装置６００と通信を行い、例えば車載ネットワークシステム１０で発生した異常に関する情報を取得する。
【００６０】
［１．２．メッセージのフォーマット］
図２は、ＣＡＮプロトコルのメッセージのフォーマットを示す図である。ここではＣＡＮプロトコルにおける標準ＩＤフォーマットにおけるデータフレームのメッセージのフォーマットを示している。
【００６１】
データフレームのメッセージは、Ｓｔａｒｔ  Ｏｆ  Ｆｒａｍｅ（図中及び以下、ＳＯＦともいう）、ＩＤフィールド、Ｒｅｍｏｔｅ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｒｅｑｕｅｓｔ（図中及び以下、ＲＴＲともいう）、ＩＤｅｎｔｉｆｉｅｒ  Ｅｘｔｅｎｓｉｏｎ（図中及び以下、ＩＤＥともいう）、予約ｂｉｔ（図中及び以下、ｒともいう）、データレングスコード（図中及び以下、ＤＬＣともいう）、データフィールド、Ｃｙｃｒｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ（図中及び以下、ＣＲＣともいう）シーケンス、ＣＲＣデリミタ（図中、左のＤＥＬ）と、Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ（図中及び以下、ＡＣＫともいう）スロット、ＡＣＫデリミタ（図中、右のＤＥＬ）、及びＥｎｄ  Ｏｆ  Ｆｒａｍｅ（図中及び以下、ＥＯＦともいう）の複数のフィールドから構成される。
【００６２】
ＳＯＦは、１ｂｉｔのドミナントである。ドミナント（優性の意）とは、データの伝達にデジタル方式が用いられる車載ネットワーク７００において、バスを構成する２本のケーブルに“０”の値を送信するよう電圧がかけられたバスの状態、又は送信されるこの“０”の値のことである。これに対し、当該２本のケーブルに“１”の値を送信するよう電圧がかけられたバスの状態、又は送信されるこの“１”の値のことはレセシブ（劣性の意）と呼ばれる。ドミナント及びレセシブの名称はこれらの値の関係を表し、車載ネットワークシステム１０の２つのノードから車載ネットワーク７００のバスに同時に“０”の値と“１”の値とが送信された場合、“０”の値が優先される。アイドル時のバスの状態はレセシブである。各ＥＣＵは、バスの状態をレセシブからドミナントへ変化させることでメッセージの送信を開始し、他のＥＣＵはこの変化を読み取って同期する。図２において、メッセージを構成するフィールドの上下にあるドミナント又はレセシブを示す線が実線である部分は、当該フィールドがドミナント又はレセシブの各値を取り得ることを示す。例えばＳＯＦが含む値はドミナントのみであるため、図２のＳＯＦの部分でドミナントの線は実線であり、レセシブの線は破線である。
【００６３】
ＩＤフィールドは、メッセージが含むデータの種類を示す１１ｂｉｔの値で表されるＩＤを含む。またＣＡＮでは、複数のノードが同時に送信を開始したメッセージ間での通信調停において、ＩＤの値がより小さいメッセージがより高い優先度となるよう設計されている。
【００６４】
ＲＴＲとは、メッセージがデータフレームであることを示す１ｂｉｔのドミナントである。
【００６５】
ＩＤＥとｒは、それぞれ１ｂｉｔのドミナントである。
【００６６】
ＤＬＣは、続くデータフィールドの長さを示す４ｂｉｔの値である。
【００６７】
データフィールドは、送信されるデータの内容を示す値であり、最大６４ｂｉｔ長で、８ｂｉｔ単位で長さを調整できる。送信されるデータのこの部分への割り当てに関する仕様は、車種又は製造者に依存する。
【００６８】
ＣＲＣシーケンスは、同メッセージで先行するＳＯＦ、ＩＤフィールド、コントロールフィールド及びデータフィールドの送信値より算出される１５ｂｉｔの値である。
【００６９】
ＣＲＣデリミタは１ｂｉｔのレセシブ固定の、ＣＲＣシーケンスの終了を表す区切り記号である。受信ノードは、受信したメッセージのＳＯＦ、ＩＤフィールド、コントロールフィールド、及びデータフィールドの値から算出した結果をＣＲＣシーケンスの値と比較することでメッセージを正常に受信できたか否か判断する。
【００７０】
ＡＣＫスロットは１ｂｉｔ長で、送信ノードはこの部分でレセシブを送信する。同じ時間に受信ノードは、ＣＲＣシーケンスまで正常に受信ができていれば確認応答としてドミナントを送信する。バスの状態はドミナントが優先されるため、１メッセージの通信がＣＲＣシーケンスまで正常に行われていれば、ＡＣＫスロットの送信時におけるバスの状態はドミナントである。
【００７１】
ＡＣＫデリミタは１ｂｉｔのレセシブ固定の、ＡＣＫスロットの終了を表す区切り記号である。
【００７２】
ＥＯＦは７ｂｉｔのレセシブ固定で、メッセージの終了を示す。
【００７３】
ＣＡＮで規定されるデータフレームのメッセージのフォーマットについて、以下の本実施の形態の説明の理解を容易にするために上記のとおり説明した。なお、ＣＡＮではメッセージのフォーマットとして他にリモートフレーム、オーバーロードフレーム及びエラーフレームが規定されている。リモートフレームは、データフレームの要求に用いられる。オーバーロードフレームは、次フレームの開始を遅延させる場合に用いられる。エラーフレームはノードでの各種のエラーの検出時に送信され、ＣＡＮネットワーク上で直近のフレームの送信を中断させる。データフレーム以外のこれらのフォーマットの詳細については説明を省略する。
【００７４】
［１．３．異常検知ＥＣＵの構成］
次に、異常検知ＥＣＵ１１の詳細な構成について説明する。図３は、本実施の形態に係る異常検知ＥＣＵ１１の構成を示す図である。図３に示すように、異常検知ＥＣＵ１１は、送受信部１１１と、走行状態判定部１１２と、異常判定部１１３と、解釈部１１４と、生成部１１５と、異常可能性判定テーブル保持部１１６と、通信部１１７とを備える。
【００７５】
異常検知ＥＣＵ１１は、例えば、プロセッサ（マイクロプロセッサ）、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ＲＯＭ、ＲＡＭ等であり、プロセッサにより実行される制御プログラム（コンピュータプログラム）を記憶することができる。例えばプロセッサが、この制御プログラムに従って動作することにより、異常検知ＥＣＵ１１は各種機能を実現する。また、異常検知ＥＣＵ１１の上記の構成要素は、例えばメモリに記憶される１個又は複数個のコンピュータプログラムをプロセッサが実行することで実現される機能的な構成要素である。なお、コンピュータプログラムとは、プロセッサに対する指令を示す命令コードが、所定の機能が達成されるように組み合わされたものをいう。
【００７６】
送受信部１１１は、車載ネットワーク７００に対して、ＣＡＮプロトコルに従ったメッセージを送受信する。即ち、送受信部１１１は、車載ネットワーク７００上にメッセージの送信が開始された場合においてメッセージを受信する言わば受信部として働き、また、異常検知ＥＣＵ１１における処理の結果に応じたメッセージ等を車載ネットワーク７００に送信する言わば送信部として働く。即ち、送受信部１１１は、車載ネットワーク７００からメッセージを１ｂｉｔずつ受信し、解釈部１１４に転送する。また、送受信部１１１は、生成部１１５より通知を受けたメッセージの内容を車載ネットワーク７００に送信する。
【００７７】
解釈部１１４は、送受信部１１１からメッセージを構成する各ｂｉｔの値を受け取り、ＣＡＮプロトコルで規定されている上述のメッセージフォーマットにおける各フィールドにマッピングするよう解釈を行う。解釈部１１４は、メッセージのＩＤフィールドの値及びＩＤフィールドより後ろに現れるデータフィールドを走行状態判定部１１２へ転送する。
【００７８】
走行状態判定部１１２は、解釈部１１４から通知されるＩＤフィールドの値を受け取り、ＩＤフィールドの値が所定の値に該当するか否かを判定する。
【００７９】
この所定の値とは、受信したメッセージが、速度情報を表すメッセージ、画像情報を表すメッセージ、接触時刻情報を表すメッセージ、及び現在地情報を示すメッセージのいずれかのメッセージであることを示すＩＤの値である。具体的には、走行状態判定部１１２は、ＩＤの値が、「１」、「３」、「４」、及び「５」のいずれかに該当するか否かを判定する。
【００８０】
走行状態判定部１１２は、受信したメッセージのＩＤの値が、上記の所定の値に該当すると判定した場合、当該メッセージのデータフィールドの値を用いて車両１の走行状態を判定する。走行状態判定部１１２が判定する車両１の走行状態は、停止状態、低速走行状態、及び高速走行状態の３段階で表される。走行状態判定部１１２による車両１の走行状態の判定の具体的な内容については後述する。
【００８１】
走行状態判定部１１２は、ＩＤの値が「１」であるメッセージ、つまり速度情報を表すメッセージを受信した場合、速度情報が示す車両１の速度に基づいて車両１の走行状態を判定する。
【００８２】
また、走行状態判定部１１２は、ＩＤの値が「３」、「４」、及び「５」であるメッセージを受信した場合、つまり周辺情報である画像情報、接触時刻情報、及び現在地情報をそれぞれ表すメッセージを受信した場合、まず、各種類の周辺情報に基づいて車両１の走行状態を判定する。さらに走行状態判定部１１２は、判定の結果として得たこれらの走行状態に基づいて、周辺情報に基づく車両の走行状態を決定する。具体的には、走行状態判定部１１２は、３種類の周辺情報に基づいて判定した車両１の走行状態のうち２つ以上が同じ場合、その走行状態を周辺情報が表す車両１の走行状態とする。また、３つのメッセージを用いて判定した車両１の走行状態が全て異なる場合、受信時刻が最新のメッセージが表す周辺情報に基づいて判定した車両１の走行状態を周辺情報に基づく車両１の走行状態とする。
【００８３】
上記のように判定された速度情報に基づく走行状態、及び周辺情報に基づく走行状態は、走行状態判定部１１２から異常判定部１１３へ通知される。このように走行状態判定部１１２から異常判定部１１３へ通知される走行状態のうち、速度情報に基づいて判定された車両１の走行状態は、本実施の形態における第一走行状態の例であり、１種類以上の周辺情報に基づいて判定された車両１の走行状態は、本実施の形態における第二走行状態の例である。
【００８４】
異常判定部１１３は、走行状態判定部１１２から通知された第一走行状態及び第二走行状態を用いて、車載ネットワーク７００に送信された速度情報を表すメッセージ（第一通信メッセージ）が異常である可能性の高さを判定する。本実施の形態は、異常の可能性の高さが、レベル０（異常なし）、レベル１（異常可能性：低）、レベル２（異常可能性：中）、レベル３（異常可能性：高）の４レベルで表される例を用いて説明する。異常判定部１１３による異常の可能性の判定は、例えば異常可能性判定テーブル（図４参照）を用いて行われる。異常可能性判定テーブルは、異常可能性判定テーブル保持部１１６で保持されている。異常可能性判定テーブルについての説明は後述する。
【００８５】
なお、第一通信メッセージは、上述のようにエンジンＥＣＵ１００がエンジンから取得した速度情報をデータフィールドに含めて車載ネットワーク７００に送信するものは正常である。車載ネットワーク７００に異常な第一通信メッセージが発生する例としては、攻撃者に乗っ取られたエンジンＥＣＵ１００が虚偽の速度情報を含むメッセージを車載ネットワーク７００に送信する場合が挙げられる。また、攻撃者が仕掛けたＥＣＵがエンジンＥＣＵ１００になりすまして虚偽の速度情報を含むメッセージを車載ネットワーク７００に送信する場合もある。また、診断ツールなどの外部機器になりすまして外部通信装置６００を介して虚偽の速度情報を含むメッセージが車載ネットワーク７００に注入される場合もある。
【００８６】
異常判定部１１３は、異常の可能性の高さに応じた処理を実行する。例えば異常の可能性をレベル３と判定した場合、異常判定部１１３は、異常可能性がレベル３であることを解釈部１１４へ通知してもよい。また、異常判定部１１３は、判定した異常の可能性がレベル２又は３である場合、異常が発生していることを示すエラー発生表示メッセージを送信するよう生成部１１５へ通知してもよい。例えば、このエラー発生表示メッセージに付されるＩＤは予め定められており、このＩＤのメッセージを車両１のヘッドユニット（図示なし）が受信すると、車両１の使用者に向けて所定のエラー発生表示を行うようにしてもよい。また例えば、異常判定部１１３は、速度情報を表すメッセージに異常があると判定した場合、つまり判定した異常の可能性がレベル１以上のいずれかである場合、異常が発生していることを通知するためのメッセージを車載ネットワーク７００に送信するよう生成部１１５へ通知してもよい。例えば、他のＥＣＵに異常が発生していることを通知するためのメッセージのＩＤは予め定められており、このＩＤのメッセージは、車載ネットワーク７００に接続される全てのＥＣＵの後述する受信ＩＤリストに含まれていてもよい。また、異常の可能性がある場合、異常判定部１１３はさらに、受信して判定に用いた複数のメッセージに関連した情報、例えば、受信したメッセージの内容、受信時刻等を用いてログを生成し、生成したログを通信部１１７へ通知してもよい。また例えば、異常判定部１１３は、判定した異常の可能性が所定のレベル以上である場合、他のＥＣＵに対する所定の機能の制限又は所定の機能の実行、例えば車両１の運転操作に介入する指示のメッセージ、又はメッセージを無効化するメッセージ（エラーメッセージ）の生成及び送信を生成部１１５に通知してもよい。
【００８７】
これらのような、判定した異常の可能性の高さに応じた異常への対処のための処理の例は後述する。
【００８８】
通信部１１７は、異常判定部１１３から受け取ったログを監視サーバ９００へ送信するよう外部通信装置６００に通知する。
【００８９】
生成部１１５は、異常判定部１１３からの、上記のエラー発生表示メッセージの送信を指示する通知に従い、エラー発生表示メッセージを送受信部１１１へ通知して送信させる。さらに生成部１１５は、異常判定部１１３からの、上記の異常が発生していることを他のＥＣＵに通知するための上記のメッセージの送信を指示する通知に従い、異常が発生していることを通知するためのメッセージを送受信部１１１へ通知して送信させる。また生成部１１５は、異常判定部１１３からの通知に従って、他のＥＣＵへの指示を表す上記のメッセージを生成し、このメッセージを送受信部１１１へ通知して送信させてもよい。
【００９０】
このように、速度情報を表すメッセージに異常がある場合に、当該異常への対処のための処理を実行する、異常判定部１１３、通信部１１７及び生成部１１５は、それぞれ本実施の形態における異常処理部の例である。
【００９１】
［１．４．異常可能性判定テーブルの構成］
図４は、本実施の形態に係る異常可能性判定テーブルの一例を示す図である。図４において、異常可能性判定テーブルは、横列は速度情報に基づく車両１の走行状態、つまり第一走行状態を示し、縦列は周辺情報に基づく車両１の走行状態、つまり第二走行状態を示す。
【００９２】
第一走行状態と第二走行状態とが一致する場合、車両１の虚偽の速度を示す速度情報を表すメッセージが不正ＥＣＵ等によって車載ネットワーク７００に送信されていないと考えられる。本実施の形態の例ではこの考えに基づいて、第一走行状態が「停止状態」で、かつ第二走行状態が「停止状態」の場合、２つの情報がそれぞれ表す走行状態が一致するため、異常なしを示す「レベル０」とする。同様に、第一走行状態が「低速走行状態」で、かつ第二走行状態が「低速走行状態」の場合、第一走行状態が「高速走行状態」で、かつ第二走行状態が「高速走行状態」の場合、２つの情報がそれぞれ表す走行状態が同じであるため、異常なしを示す「レベル０」とする。
【００９３】
また、第一走行状態と第二走行状態とは一致しないが、その差の大きさは、車両１の虚偽の速度を示す速度情報を表すメッセージ（以下、不正メッセージともいう）が送信されていないときにも生じ得る範囲内であることがある。また、その差は不正メッセージが車載ネットワーク７００に送信されても生じ得るが、この差による車両１の動作への影響の可能性はないか、又はあってもごくわずか（制御可能である）場合がある。本実施の形態の例では、第一走行状態が「停止状態」で、かつ第二走行状態が「低速走行状態」の場合、第一走行状態が「低速走行状態」で、かつ第二走行状態が「停止状態」または「高速走行状態」の場合、第一走行状態が「高速走行状態」で、かつ第二走行状態が「低速走行状態」の場合、２つの情報がそれぞれ表す走行状態間の差は上記のような小さな差であり、速度情報が異常である可能性は低いことを示す「レベル１」とする。
【００９４】
また、第一走行状態と第二走行状態とは一致せず、その差の大きさが、不正メッセージが送信されていないときに生じる可能性が低いものである場合がある。また、この差が原因で、車両１の動作に異常が発生する可能性がある場合がある。本実施の形態の例では、第一走行状態が「高速走行状態」で、かつ第二走行状態が「停止状態」の場合、２つの情報が表す走行状態間の差は上記のような差であり、速度情報が異常である可能性が中程度であることを示す「レベル２」とする。
【００９５】
また、第一走行状態と第二走行状態とは一致せず、その差の大きさが、不正メッセージが送信されていないときに生じる可能性が低いものである場合がある。また、この差が原因で、車両１に、事故を招き得る異常な動作又は故障若しくは著しい損耗の可能性がある場合がある。本実施の形態の例では、第一走行状態が「停止状態」で第二走行状態が「高速走行状態」の場合、２つの情報が表す走行状態間の差は上記のような差であり、速度情報は異常である可能性が高いことを示す「レベル３」とする。
【００９６】
［１．５．他のＥＣＵの構成］
次に、車載ネットワーク７００に接続される異常検知ＥＣＵ１１以外の図１に示されるＥＣＵの詳細な構成について、ブレーキＥＣＵ２００を例に用いて説明する。なお、エンジンＥＣＵ１００、車載カメラＥＣＵ３００、ステアリングＥＣＵ４００、ＧＰＳ  ＥＣＵ５００の構成は、ブレーキＥＣＵ２００と基本的に同様である。ＥＣＵによって異なる点については、以下の説明中で挙げる。
【００９７】
図５は、ブレーキＥＣＵ２００の構成を示す図である。ブレーキＥＣＵ２００は、送受信部２０１と、解釈部２０２と、受信ＩＤ判断部２０３と、受信ＩＤリスト保持部２０４と、処理部２０５と、生成部２０６と、取得部２０７とを備える。ブレーキＥＣＵ２００は、通信回路、メモリ、メモリに格納された制御プログラム（コンピュータプログラム）を実行するプロセッサ又はデジタル回路等により実現される。ブレーキＥＣＵ２００の上記の構成要素は、例えばメモリに記憶される１個又は複数個のコンピュータプログラムをプロセッサが実行することで実現される機能的な構成要素である。
【００９８】
送受信部２０１は、車載ネットワーク７００に対して、ＣＡＮプロトコルに従ったフレームを送受信する。即ち、送受信部２０１は、車載ネットワーク７００からメッセージを１ｂｉｔずつ受信し、解釈部２０２に転送する。また、送受信部２０１は、生成部２０６より通知を受けたメッセージを車載ネットワーク７００に送信する。
【００９９】
解釈部２０２は、送受信部２０１からメッセージを構成する各ｂｉｔの値を受け取り、ＣＡＮプロトコルで規定されている上述のメッセージフォーマットにおける各フィールドにマッピングするよう解釈を行う。解釈部２０２は、メッセージのＩＤフィールドの値を受信ＩＤ判断部２０３へ転送する。解釈部２０２は、受信ＩＤ判断部２０３から通知される判定結果に応じて、ＩＤフィールドの値と、ＩＤフィールドより後ろに現れるデータフィールドとを、処理部２０５へ転送するか、判定結果を受信ＩＤ判断部２０３から受けた以降において当該メッセージの受信を中止する、つまりメッセージとしての解釈を中止するかを決定する。
【０１００】
受信ＩＤ判断部２０３は、解釈部２０２から通知されるＩＤフィールドの値を受け取り、受信ＩＤリスト保持部２０４が保持している、受信するメッセージのＩＤのリスト（受信ＩＤリスト）に従い、そのメッセージのＩＤフィールドより後ろの各フィールドを受信するかどうかの判定を行う。この判定結果を、受信ＩＤ判断部２０３は、解釈部２０２へ通知する。
【０１０１】
受信ＩＤリスト保持部２０４は、ブレーキＥＣＵ２００が受信するメッセージＩＤのリストである受信ＩＤリストを保持する。図６は、受信ＩＤリストの一例を示した図である。図６に例示する受信ＩＤリストによれば、ブレーキＥＣＵ２００が受信するメッセージには、上述の各ＥＣＵが送信するメッセージのうち、速度情報を表すメッセージ（ＩＤ「１」）、画像情報を表すメッセージ（ＩＤ「３」）、接触時刻情報を表すメッセージ（ＩＤ「１」）、及び現在地情報を表すメッセージ（ＩＤ「５」）が含まれている。なお、受信ＩＤリスト保持部２０４に保持される受信ＩＤリストはＥＣＵ毎に異なる内容となり得る。受信ＩＤリストの構成については後述する。
【０１０２】
処理部２０５は、受信したメッセージのデータに応じてＥＣＵ毎に異なる機能に係る処理を行う。ブレーキＥＣＵ２００はブレーキに接続されており、ブレーキからブレーキのかかり具合を示すブレーキ情報を取得する。ここで、ブレーキＥＣＵ２００は、例えばアラーム音を鳴らすためのスピーカ（図示なし）にも接続され、ブレーキがかかっていないときに車両１のドアが開くと、このスピーカからアラーム音を鳴らす機能を備えると想定する。この機能は、ブレーキＥＣＵ２００の処理部２０５が、他のＥＣＵから受信したデータが示すドアの開閉状態を示す情報と、ブレーキから取得したブレーキ情報が示すブレーキのかかり具合とに基づいて一定条件下でアラーム音を鳴らす処理等を行うことで実現される。
【０１０３】
ブレーキＥＣＵ２００が備える処理部２０５による別の処理例として、処理部２０５はブレーキの特定の動作を指示する診断メッセージを受信すると、所定の条件を満たす場合にこの特定の動作をブレーキに実行させる。具体的には、速度情報を表すメッセージを受信した処理部２０５は、この速度情報の値を保持する。そして処理部２０５は、ブレーキの特定の動作を指示する診断メッセージをさらに受信した場合、保持していた速度情報の値が０ｋｍ／時であるときは、この診断メッセージが示すブレーキの動作の制御処理を行い、保持していた速度情報の値が０ｋｍ／時でないときは、この診断メッセージが示すブレーキの動作の制御処理を行わない。また、異常検知ＥＣＵ１１から異常が発生していることを通知するメッセージを受信している場合にさらにブレーキの特定の動作を指示する診断メッセージを受信したとき、処理部２０５は、保持していた速度情報の値に関係なく、この診断メッセージが示すブレーキの動作の制御処理を行わない。
【０１０４】
なお、他のＥＣＵが備える処理部２０５の処理内容の例としては、例えば、エンジンＥＣＵ１００が備える処理部２０５は、時速が３０ｋｍを超え、かつ車両１のドアが開いている場合にアラーム音を鳴らす機能に係る処理を含んでもよい。また、各ＥＣＵが備える機能は、本開示で例示する機能に限定されない。
【０１０５】
取得部２０７は、ブレーキＥＣＵ２００が接続されているセンサ等の機器から状態等を示すデータを取得し、取得したデータの値を生成部２０６に通知する。例えば取得部２０７は、ブレーキＥＣＵ２００が接続されているブレーキが備えるセンサから、ブレーキのかかり具合を示すデータをブレーキ情報として取得する。
【０１０６】
生成部２０６は、取得部２０７より通知されたデータの値に対して、予め定められたＩＤを付けて上述のメッセージフォーマットのメッセージを生成し、このメッセージを送受信部２０１へ通知する。例えば取得部２０７から上記のブレーキ情報を取得した生成部２０６は、ＩＤフィールドにＩＤの値「２」を含み、データフィールドにブレーキ情報の値を含むメッセージを生成して送受信部２０１へ通知する。
【０１０７】
［１．６．受信ＩＤリストの構成］
図６は、ブレーキＥＣＵ２００において保持される受信ＩＤリストの一例を示す図である。同図に例示する受信ＩＤリストは、ＩＤ（メッセージＩＤ）の値が「１」、「３」、「４」、「５」及び「６」のいずれかであるメッセージＩＤを含むフレームを選択的に受信して処理するために用いられる。例えば、ブレーキＥＣＵ２００の受信ＩＤリスト保持部２０４に図６の受信ＩＤリストが保持されていると、メッセージＩＤの値が「１」、「３」、「４」、「５」及び「６」のいずれでもないフレームは、解釈部２０２でのメッセージのＩＤフィールドより後ろにあるフィールドの解釈が中止される。
【０１０８】
［２．異常検知処理］
図７は、異常検知ＥＣＵ１１による本実施の形態に係る異常検知処理の一例を示すフローチャートである。異常検知ＥＣＵ１１は、上述の各構成要素がその機能を発揮することで以下の処理を実行する。
【０１０９】
（Ｓ１０１）異常検知ＥＣＵ１１は、車載ネットワーク７００からメッセージを受信する。
【０１１０】
（Ｓ１０２）異常検知ＥＣＵ１１は、受信したメッセージのＩＤの値から、受信したメッセージが異常検知処理で用いるメッセージか否かを判定する。具体的には、異常検知ＥＣＵ１１は、メッセージのＩＤの値が「１」、「３」、「４」、「５」のいずれかであるか否かを判定する。メッセージのＩＤの値が「１」、「３」、「４」、「５」のいずれかである場合（Ｙｅｓの場合）、異常検知ＥＣＵ１１は、ステップＳ１０３の処理へ進み、メッセージのＩＤの値が「１」、「３」、「４」、「５」のいずれでもない場合（Ｎｏの場合）、異常検知ＥＣＵ１１は異常検知処理を終了する。
【０１１１】
（Ｓ１０３）異常検知ＥＣＵ１１は、メッセージのデータフィールドの値を用いて、車両１の走行状態を判定する。この判定の処理の詳細については後述する。なお、ＩＤの値が「１」のメッセージを用いて判定された車両１の走行状態は、本実施の形態における第一走行状態である。
【０１１２】
（Ｓ１０４）異常検知ＥＣＵ１１は、受信したメッセージのＩＤの値から、メッセージの種類が周辺情報、つまり画像情報、接触時刻情報及び現在地情報のいずれかであるか否かを判定する。具体的には、異常検知ＥＣＵ１１は、メッセージのＩＤの値が「３」、「４」、「５」のいずれかであるか否かを判定する。メッセージのＩＤの値が「３」、「４」、「５」のいずれかである場合（Ｙｅｓの場合）、異常検知ＥＣＵ１１は、ステップＳ１０５の処理へ進み、メッセージのＩＤの値が、「３」、「４」、「５」のいずれでもない場合、すなわち、メッセージのＩＤの値が速度情報を表すメッセージの「１」の場合（Ｎｏの場合）、異常検知ＥＣＵ１１は、ステップＳ１０６の処理へ進む。
【０１１３】
（Ｓ１０５）異常検知ＥＣＵ１１は、画像情報、接触時刻情報及び現在位置情報を表す種類のメッセージそれぞれを用いて車両１の走行状態を判定する。そして異常検知ＥＣＵ１１は、この判定によって得た３つの判定結果である走行状態に基づいて、周辺情報に基づく車両１の走行状態（第二走行状態）を決定する。詳細は後述する。
【０１１４】
（Ｓ１０６）異常検知ＥＣＵ１１は、第一走行状態と第二走行状態とを用いて、受信した速度情報について、不正なメッセージである異常の可能性の高さ（異常の有無）判定する。
【０１１５】
［２．１．車両の走行状態の判定処理］
次に、異常検知処理における、車両の走行状態の判定処理（図７のステップＳ１０３）について説明する。図８は、異常検知ＥＣＵ１１による本実施の形態に係る車両１の走行状態の判定処理の一例を示すフローチャートである。
【０１１６】
（Ｓ２０１）異常検知ＥＣＵ１１は、受信したメッセージのデータフィールドの値から、車両の走行状態が停止状態であるか否かを判定する。具体的には、受信したメッセージの種類に応じて以下のように判定される。
【０１１７】
受信したメッセージが速度情報を表す場合、異常検知ＥＣＵ１１は、データフィールドの値が０ｋｍ／時であるか否かを判定する。データフィールドの値が０ｋｍ／時である場合（Ｙｅｓの場合）、異常検知ＥＣＵ１１は、ステップＳ２０３へ処理を進め、データフィールドの値が０ｋｍ／時でない場合（Ｎｏの場合）、異常検知ＥＣＵ１１は、ステップＳ２０２へ処理を進める。
【０１１８】
受信したメッセージが画像情報を表す場合、異常検知ＥＣＵ１１は、データフィールドの値である特徴量を、所定の時間前に取得した特徴量と比較して２つの特徴量の類似度を算出し、類似度が所定の値より高いか否かを判定する。算出した類似度が所定の値より高い場合（Ｙｅｓの場合）、異常検知ＥＣＵ１１は、ステップＳ２０３へ処理を進め、算出した類似度が所定の値以下の場合（Ｎｏの場合）、異常検知ＥＣＵ１１は、ステップＳ２０２へ処理を進める。
【０１１９】
受信したメッセージが接触時刻情報を表す場合、異常検知ＥＣＵ１１は、データフィールドの値である車両の使用者によるステアリングホイールへの接触があった最新の時刻と現在時刻とを比較して、データフィールドの値が表す時刻が現在時刻から遡る所定の期間（第１の期間）より前であるか否かを判定する。データフィールドの値が表す時刻が第１の期間より前である場合（Ｙｅｓの場合）、異常検知ＥＣＵ１１は、ステップＳ２０３へ処理を進め、データフィールドの値が表す時刻が第１の期間以内である場合（Ｎｏの場合）、異常検知ＥＣＵ１１は、ステップＳ２０２へ処理を進める。
【０１２０】
受信したメッセージが現在地情報を表す場合、異常検知ＥＣＵ１１は、データフィールドの値である現在地情報の値と所定の位置情報、例えば前回取得した現在地情報、又は所定の時間前に取得した現在地情報の値とを比較し、位置の変化が所定の範囲（第１の範囲）に収まっているか否かを判定する。位置の変化が第１の範囲に収まっている場合（Ｙｅｓの場合）、異常検知ＥＣＵ１１は、ステップＳ２０３へ処理を進め、位置の変化が第１の範囲に収まっていない場合（Ｎｏの場合）、異常検知ＥＣＵ１１は、ステップＳ２０２へ処理を進める。
【０１２１】
（Ｓ２０２）異常検知ＥＣＵ１１は、受信したメッセージのデータフィールドの値から、車両の走行状態が低速走行状態であるか否かを判定する。具体的には、受信したメッセージの種類に応じて以下のように判定される。
【０１２２】
受信したメッセージが速度情報を表す場合、異常検知ＥＣＵ１１は、データフィールドの値が０ｋｍ／時より大きく所定の値以下であるか否かを判定する。データフィールドの値が０ｋｍ／時より大きく所定の値以下である場合（Ｙｅｓの場合）、異常検知ＥＣＵ１１は、ステップＳ２０４へ処理を進め、データフィールドの値が０ｋｍ／時より大きく所定の値以下でない、すなわち、データフィールドの値が所定の値を超える場合（Ｎｏの場合）、異常検知ＥＣＵ１１は、ステップＳ２０５へ処理を進める。
【０１２３】
受信したメッセージが画像情報を表す場合、異常検知ＥＣＵ１１は、ステップＳ２０１で算出した類似度がステップＳ２０１で用いた所定の値より高い所定の範囲内か否かを判定する。算出した類似度が所定の範囲内である場合（Ｙｅｓの場合）、異常検知ＥＣＵ１１は、ステップＳ２０４へ処理を進め、算出した類似度が所定の範囲内でない場合（Ｎｏの場合）、異常検知ＥＣＵ１１は、ステップＳ２０５へ処理を進める。
【０１２４】
受信したメッセージが接触時刻情報を表す場合、異常検知ＥＣＵ１１は、ステップＳ２０１でデータフィールドの値が表す時刻が第１の期間以内、かつ第１の期間よりも短い現在時刻から遡る所定の期間（第２の期間）より前であるか否かを判定する。データフィールドの値が表す時刻が第１の期間以内かつ第２の期間より前である場合（Ｙｅｓの場合）、異常検知ＥＣＵ１１は、ステップＳ２０４へ処理を進め、第２の期間以内である場合（Ｎｏの場合）、異常検知ＥＣＵ１１は、ステップＳ２０５へ処理を進める。
【０１２５】
受信したメッセージが現在地情報を表す場合、異常検知ＥＣＵ１１は、ステップＳ２０１での比較で取得した位置の変化が第１の範囲よりも大きい所定の範囲（第２の範囲）に収まっているか否かを判定する。位置の変化が第２の範囲に収まっている場合（Ｙｅｓの場合）、異常検知ＥＣＵ１１は、ステップＳ２０４へ処理を進め、位置の変化が第２の範囲に収まっていない場合（Ｎｏの場合）、異常検知ＥＣＵ１１は、ステップＳ２０５へ処理を進める。
【０１２６】
（Ｓ２０３）異常検知ＥＣＵ１１は、受信したメッセージが表す車両１の走行状態は停止状態であると判定する。受信したメッセージが画像情報を表すメッセージであれば、例えば、車両１の進行方向の前方の景色の変化がなかったかごく小さい、つまり車両１が全く又はほとんど走行していない場合、このように判定される可能性が高い。また、受信したメッセージが接触時刻情報を表すメッセージであれば、例えば、ステアリング操作のない状態が、一般的な道路を走行中には可能性が低い程度に長い所定の時間にわたり継続している場合、このように判定される可能性が高い。また、受信したメッセージが現在地情報を表すメッセージであれば、位置情報が前回取得された時から車両１の位置に変化がないか、ごくわずかの場合、このように判定される可能性が高い。
【０１２７】
（Ｓ２０４）異常検知ＥＣＵ１１は、受信したメッセージが表す車両１の走行状態は低速走行状態であると判定する。受信したメッセージが画像情報を表すメッセージであれば、例えば、車両１が所定の時間内に、進行方向の前方の景色が大きく変わらない程度の短い距離を走行した場合、このように判定される可能性が高い。また、受信したメッセージが接触時刻情報を表すメッセージであれば、例えば、車両１の使用者が運転のために実行した最後のステアリング操作から若干時間が経過している場合、このように判定される可能性が高い。また、受信したメッセージが現在地情報を表すメッセージであれば、位置情報が前回取得された時から車両１の位置が大きくはないが変化した場合、このように判定される可能性が高い。
【０１２８】
（Ｓ２０５）異常検知ＥＣＵ１１は、受信したメッセージが表す車両１の走行状態は高速走行状態であると判定する。受信したメッセージが画像情報を表すメッセージであれば、例えば、車両１が所定の時間内に、進行方向の前方の景色がすっかり変わる長い距離を走行した場合、このように判定される可能性が高い。また、受信したメッセージが接触時刻情報を表すメッセージであれば、例えば、車両１の使用者が運転のために実行した最後のステアリング操作の直後の場合、このように判定される可能性が高い。また、受信したメッセージが現在地情報を表すメッセージであれば、位置情報が前回取得された時から車両１の位置が大きく変化した場合、このように判定される可能性が高い。
【０１２９】
［２．２．周辺情報の車両の走行状態の判定処理］
次に、異常検知処理における、周辺情報に基づく車両の走行状態、つまり第二走行状態の判定処理（図７のステップＳ１０５）について説明する。異常検知ＥＣＵ１１は、異常検知処理のステップＳ１０３で判定した、周辺情報すなわち、メッセージの種類が、画像情報、接触時刻情報、現在位置情報のそれぞれに基づいて判定した車両１の走行状態の３つの判定結果に基づいて車両１の第二走行状態を判定する。図９は、異常検知ＥＣＵ１１による本実施の形態に係る車両１の第二走行状態の判定処理の一例を示すフローチャートである。
【０１３０】
（Ｓ３０１）異常検知ＥＣＵ１１は、画像情報、接触時刻情報、現在位置情報のそれぞれに基づいて判定して得られた走行状態の３つの判定結果において、他の走行状態よりも多く得られたあるか否かを判定する。つまりこの場合、ある走行状態が２つ以上の判定結果で示される場合（Ｙｅｓの場合）、異常検知ＥＣＵ１１は、ステップＳ３０３へ処理を進め、２つ以上の判定結果で示される走行状態がない、つまり３つの判定結果がすべて異なる場合（Ｎｏの場合）、異常検知ＥＣＵ１１は、ステップＳ３０２へ処理を進める。
【０１３１】
（Ｓ３０２）異常検知ＥＣＵ１１は、受信時刻が最新のメッセージを用いた判定結果である走行状態を車両１の第二走行状態とする。
【０１３２】
（Ｓ３０３）異常検知ＥＣＵ１１は、２つ以上の判定結果で示される走行状態を車両１の第二走行状態とする。
【０１３３】
［２．３．異常可能性の判定処理］
次に、異常の可能性（異常の有無）の判定処理（図７のステップＳ１０６）の詳細について説明する。異常の可能性の判定処理では、異常検知ＥＣＵ１１は、車両１の第一走行状態と第二走行状態とを用いて、送信された走行情報を示すメッセージが不正なメッセージであるという異常の可能性の高さを判定する。また、本実施の形態における異常の可能性の判定処理には、判定された異常の可能性の高さに応じた対処も含まれる。図１０は、異常検知ＥＣＵ１１による本実施の形態に係る異常の可能性の判定処理の一例を示すフローチャートである。
【０１３４】
（Ｓ４０１）異常検知ＥＣＵ１１は、車両１の第一走行状態と第二走行状態とが一致しているか否かを判定する。一致している場合（Ｙｅｓの場合）、異常検知ＥＣＵ１１は、ステップＳ４０４へ処理を進め、一致していない場合（Ｎｏの場合）、異常検知ＥＣＵ１１は、ステップＳ４０２へ処理を進める。
【０１３５】
（Ｓ４０２）異常検知ＥＣＵ１１は、車両１の第一走行状態と第二走行状態との差が大きいか否かを判定する。ここでの第一走行状態と第二走行状態の差の大きさとは、３段階で表される各走行状態の段階の差の大きさであり、例えば、速度情報が表す車両１の走行状態が「停止状態」であり、かつ、周辺情報が表す車両１の走行状態が「高速走行状態」であれば、異常検知ＥＣＵ１１は、第一走行状態と第二走行状態との差が大きいと判定する。また、速度情報が表す車両１の走行状態が「停止状態」で周辺情報が表す車両１の走行状態が「低速走行状態」であれば、異常検知ＥＣＵ１１は、第一走行状態と第二走行状態との差は大きくないと判定する。つまりこの例では、速度情報が表す車両１の走行状態と、周辺情報が表す車両１の走行状態とに、走行状態を表す３段階で２段階の差がある場合に大きく異なると判定され、差がない又は１段階であれば、走行状態の差が大きいと判定される。差が大きい場合（Ｙｅｓの場合）、異常検知ＥＣＵ１１は、ステップＳ４０３へ処理を進め、走行状態の差が大きくない場合（Ｎｏの場合）、異常検知ＥＣＵ１１は、ステップＳ４０５へ処理を進める。
【０１３６】
（Ｓ４０３）異常検知ＥＣＵ１１は、車両１の第二走行状態が「高速走行状態」であるか否かを判定する。第二走行状態が「高速走行状態」である場合（Ｙｅｓの場合）、異常検知ＥＣＵ１１は、ステップＳ４０７へ処理を進め、第二走行状態が「高速走行状態」でない場合（Ｎｏの場合）、異常検知ＥＣＵ１１は、ステップＳ４０６へ処理を進める。
【０１３７】
（Ｓ４０４）異常検知ＥＣＵ１１は、異常なし（レベル０）と判定する。異常検知ＥＣＵ１１による異常検知処理は終了する。
【０１３８】
（Ｓ４０５）異常検知ＥＣＵ１１は、走行情報を示すメッセージが異常である低い可能性がある（レベル１）と決定する。
【０１３９】
（Ｓ４０６）異常検知ＥＣＵ１１は、走行情報を示すメッセージが異常である中程度の可能性がある（レベル２）と判定する。
【０１４０】
（Ｓ４０７）異常検知ＥＣＵ１１は、走行情報を示すメッセージが異常である高い可能性がある（レベル３）と判定する。
【０１４１】
なお、異常検知ＥＣＵ１１は、上述のステップＳ４０１からＳ４０７までを、図４の異常可能性判定テーブルを参照して行ってもよい。
【０１４２】
以降の処理は、判定した異常の可能性の高さに応じた異常対処として行われる。
【０１４３】
（Ｓ４０８）異常検知ＥＣＵ１１は、車両１のＡＤＡＳ（Advanced Driver Assistance System）機能を停止させるための指示を表すメッセージを車載ネットワーク７００に送信する。この対処は、中程度の異常可能性がある場合に実行される対処の例である。
【０１４４】
（Ｓ４０９）異常検知ＥＣＵ１１は、自動運転機能によって車両１を路肩などに退避させるための指示を表すメッセージを車載ネットワーク７００に送信する。この対処は、高い異常可能性がある場合に実行される対処の例である。
【０１４５】
（Ｓ４１０）異常検知ＥＣＵ１１は、車両１の使用者に向けて、異常に関する所定のエラー発生表示を車両１のヘッドユニット等にさせるためのエラー発生表示メッセージを車載ネットワーク７００に送信する。この対処は、中程度又は高い異常可能性がある場合に実行される対処の例である。
【０１４６】
（Ｓ４１１）異常検知ＥＣＵ１１は、車載ネットワーク７００に流される診断メッセージを無効化する。例えば異常検知ＥＣＵ１１は、エラーフレームを送信して車載ネットワーク７００上の診断メッセージの送信を中断させることでこの診断メッセージを無効化する。これにより、車載の装置への動作指示を含む不正な診断メッセージに従った動作が車両１で実行されることが防止される。
【０１４７】
（Ｓ４１２）異常検知ＥＣＵ１１は、異常が発生していることを車載ネットワーク７００に接続される全てのＥＣＵに通知するためメッセージを、車載ネットワーク７００に送信する。
【０１４８】
（Ｓ４１３）異常検知ＥＣＵ１１は、受信して判定に用いた複数のメッセージに関連した情報、例えば、受信したメッセージの内容、受信時刻等を用いてログを生成し、生成したログを監視サーバ９００へ送信する。
【０１４９】
［３．実施の形態の効果］
本実施の形態に係る車載ネットワークシステム１０では、車載ネットワーク７００に接続されるＥＣＵから送信される速度情報を表すメッセージを用いて判定された車両１の走行状態（第一走行状態）と、同じく車載ネットワーク７００に他のＥＣＵから送信される周辺情報を表すメッセージを用いて判定された車両１の走行状態（第二走行状態）とが一致するかが判定される。一致しない場合には、速度情報を表すメッセージについて、さらに走行状態の差異の大きさに基づく速度情報の異常の可能性の高さが判定され、異常の可能性の高さに応じた処理が実行される。
【０１５０】
これにより、例えば攻撃者が、改ざんした速度情報を表すメッセージを車載ネットワーク７００に送信した上で、外部機器８００である診断ツールから外部通信装置６００を介して診断メッセージを車載ネットワーク７００に送信しても、速度情報を表すメッセージの異常が検知される。
【０１５１】
なお、第二走行状態は、複数種類の周辺情報のそれぞれに基づく走行状態の判定結果を用いて判定され得る。例えば３種類の周辺情報が取得された場合、各周辺情報に基づく判定結果として得られた走行状態のうち、２つの判定結果で同じ走行状態があれば、この走行状態が第二走行状態と判定される。これにより、車両１の速度以外の変化の影響も受け得る周辺情報に基づく走行状態の正確さを向上させることができる。例えば、交差点で曲がる直前と直後とでは、画像情報の変化、つまり高速走行状態と同じように大きい可能性がある。しかし交差点で曲がる直前及び直後でも、接触時刻情報及び現在地情報は車両の速度に応じた変化を示し得る。したがってこのような場合も、第二走行状態は、車両の速度を正確に反映して判定される可能性が高い。
【０１５２】
また、速度情報を表すメッセージの異常に対処する処理も実行されることで、車両１はより安全な状態に維持され得る。また、異常に対処する処理は、異常の可能性の高さに応じた処理が実行される。例えば、想定される攻撃の中でも車両の走行中、特に高速走行時に攻撃の影響を抑えることが危険度の点から重要であるため、判定された異常の可能性が高いほど、手厚い内容の処理が実行される。また、異常の可能性が低い場合には、車両１の使用者の利便性を損なわないような内容の処理が実行される。例えば図１０のフローチャートに示される処理例では、異常がないと判定された場合を除いて、異常の可能性の高さによらず、診断メッセージは無効化されることで、改ざんした診断メッセージを用いた攻撃は阻止される。また、車載ネットワーク７００上の他のＥＣＵへの異常の発生の通知、及び監視サーバ９００へのログの提供を行って、攻撃への警戒又は異常の拡大の抑止が図られている。また、異常の可能性がより高い場合には、ＡＤＡＳ等の高度な機能を停止して車両１の走行が攻撃によって送信される不正なメッセージに影響される可能性が抑えられる。さらに車両１の高速走行時には、車両１を速やかに安全な位置に移動させた上でその走行機能を停止させる（退避させる）ことで、車両１が事故を起こすことを回避して安全の維持が図られている。また、ＡＤＡＳの停止又は退避のように、安全の確保のために車両１の運転操作に関する機能への介入が発生する場合には、この介入について使用者に通知される。
【０１５３】
（他の実施の形態）
以上のように、本発明に係る技術の例示として実施の形態を説明した。しかしながら、本発明に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。たとえば、以下のような変形例も本発明の一実施態様に含まれる。
【０１５４】
（１）上記実施の形態では、車載ネットワークシステム１０において、上記のように異常検知する機能は、他のＥＣＵとは独立した専用の異常検知ＥＣＵが備える構成によって提供されるものとして説明したが、これに限定されない。
【０１５５】
異常検知する機能は、車載ネットワーク７００に接続されたＥＣＵであれば、異常検知専用のＥＣＵである必要はなく、異常検知する機能とは異なる機能を併せ持っても構わない。例えば異常検知ＥＣＵ１１の上記の構成は、ブレーキＥＣＵ２００等の他の機能を有するひとつのＥＣＵの構成の一部であってもよい。
【０１５６】
また、異常検知ＥＣＵ１１における機能の一部を他のＥＣＵの機能としてもよい。例えば異常検知ＥＣＵ１１の上記の構成要素の一部又は全部が、他の機能を有する複数のＥＣＵに分かれて含まれてもよい。この場合、これらのＥＣＵは、車載ネットワーク７００又は専用線を介してデータを授受して連携し、上述の異常検知ＥＣＵ１１の機能を提供する。
【０１５７】
また、異常検知ＥＣＵ１１における異常検知機能を、他のどのＥＣＵが行ってもよい。例えば、メッセージを受信し、メッセージの内容に応じて車両の制御を行うＥＣＵ等が、異常検知ＥＣＵ１１と同様の異常検知の機能を構成してもよい。
【０１５８】
なお、上記実施の形態の説明では、各種の周辺情報は個別のメッセージで表されているが、これに限定されない。例えば解釈部１１４の機能を担うＥＣＵが複数種類の周辺情報を一つのメッセージにまとめて走行状態判定部１１２の機能を担うＥＣＵに送信する場合が考えられる。また、周辺情報として用い得る情報には、後で例示する上記以外の種類の情報あり、そのうち複数種類がひとつのＥＣＵから異常検知ＥＣＵに提供される場合も考えられる。
【０１５９】
また、例えば、車載ネットワークシステムが複数の車載ネットワークを含み、複数の車載ネットワーク間のメッセージの転送を行うゲートウェイＥＣＵが含まれる場合、このゲートウェイＥＣＵが異常検知の機能を有してもよい。ゲートウェイＥＣＵが各車載ネットワークの状態を監視するので有用である。
【０１６０】
このような構成のゲートウェイＥＣＵでは、受信したメッセージに異常の可能性があると判定した場合に、受信した診断メッセージを転送しないことも本発明における診断メッセージの無効化の一態様である。
【０１６１】
また、外部通信装置６００として機能するＥＣＵが異常検知の機能を有してもよい。
【０１６２】
また上述した異常検知ＥＣＵ１１の異常検知の機能を、秘密鍵の管理を行う鍵管理マスタＥＣＵに含めてもよい。
【０１６３】
（２）上記実施の形態では、異常検知ＥＣＵ１１における、車両１の第二走行状態の判定に用いる周辺情報として、画像情報の類似度や、車両１の使用者によるステアリングホイールへの接触時刻、車両１の現在地の座標（経緯度）を用いたがこれらは周辺情報の例に過ぎない。
【０１６４】
周辺情報としては、上記の他に、車両が備える各種センサでの感知時刻及びセンサ値、例えば、ペダル又はシートへの接触時刻も用い得る。また、接触時刻は、接触が発生した時刻に限定されず、接触が感知されなくなった時刻であってもよい。その他、車輪の回転速度、ヨーレート、加速度、操舵角、アクセル開度又はアクセルペダルの踏み量、制動レベル、エンジンの回転数、モータの回転数、イグニッションスイッチの状態、ハンドル（ステアリングホイール）の操舵トルク、前方障害物の有無、後方障害物の有無、前方障害物までの距離、後方障害物までの距離、左右の区画線の認識状態、左右の区画線までの距離等も周辺情報として利用することができる。
【０１６５】
さらに、上記実施の形態では、異常検知ＥＣＵ１１は車両の第二走行状態の判定に３種類のメッセージを用いたが、これは一例に過ぎない。用いるメッセージは１種類でも２種類でも４種類以上でもよい。また、用いるメッセージの組み合わせも上記の各種のメッセージのうちいずれを組み合わせてもよい。
【０１６６】
なお、それぞれのメッセージを用いてした判定の結果として得られた走行状態のうち、第二走行状態と判定される条件は、最も多い走行状態であることに限定されない。例えば、さらに下限が設けられてもよい。例えば７種類のメッセージが用いられる場合に、最も多い走行状態であって、３種類以上のメッセージを用いた判定の結果で一致したものであることが条件とされてもよい。または、過半数であることが条件とされてもよい。
【０１６７】
また、例えば最も多い走行状態が同数で複数ある場合も、より新しいメッセージを用いて判定された走行状態を周辺情報に基づく車両の走行状態としてもよい。例えば５種類のメッセージが用いられる場合に、２つの判定結果が停止状態であり、２つの判定結果が低速走行状態である場合、停止状態と低速走行状態とのうち、より新しいメッセージを用いて判定された結果の方を周辺情報に基づく車両の走行状態と判定する。全ての判定結果の走行状態が異なる場合もこの一例として扱われてよい。
【０１６８】
（３）上記実施の形態では、車両の走行状態の判定に用いられる第一通信メッセージ又は第二通信メッセージの取得タイミングについての限定がないが、限定があってもよい。例えば、第二走行状態の判定に用いられる複数の走行状態は、所定の時間幅内に取得された複数種類の第二通信メッセージを用いて判定されたものに限定されてもよい。また例えば、第一走行状態と第二走行状態との比較は、所定の時間幅内に取得された第一通信メッセージと第二通信メッセージとを用いてそれぞれ判定された第一走行状態と第二走行状態との間で行うものとしてもよい。より近い時刻に取得された情報に基づく車両の走行状態を用いることで、判定の精度が向上する。または、第一走行状態及び第二走行状態それぞれの判定に用いられた第一通信メッセージと第二通信メッセージとの時間差に応じて、第一走行状態と第二走行状態とが一致すると判定される基準が変更されてもよい。例えば、この時間差が小さいほど、走行状態をより多くの段階に分けて表すことで、同じ段階であると判定され得る第一走行状態と第二走行状態との速度差の許容範囲を小さくしてもよい。
【０１６９】
（４）上記実施の形態での各種の周辺情報を用いた車両の走行状態の判定手法はそれぞれ一例に過ぎず、周辺情報を用いる他の手法が走行状態の判定に用いられてもよい。他の手法の例を挙げると、周辺情報が画像情報であれば、この画像情報を処理して取得するオプティカルフローを用いて車両の走行状態が判定されてもよい。また例えば、接触時刻情報の場合、接触時刻情報とＥＣＵが備えるタイマで計時される時間とを用いて、又は現在から遡って複数回分の取得済みの接触時刻情報とその取得の時間間隔とを用いて統計的に車両の走行状態が判定されてもよい。また例えば、車両の現在位置情報の場合、現在から遡って複数回分の取得済みの現在位置情報とその取得の時間間隔とを用いて統計的に車両の走行状態が判定されてもよい。
【０１７０】
（５）上記実施の形態では、車両の走行状態として、停止状態、低速走行状態、高速走行状態の３段階を用いたが、一例に過ぎない。車両の走行状態として、少なくとも、停止状態と非停止状態があればよい。この場合、第一走行状態と第二走行状態とが一致すれば異常なしと判定され、一致しない場合は異常あり又は異常の可能性ありと判定される。また、より多くの段階に分けた非停止状態が用いられてもよい。または、走行状態は、各メッセージが表す情報に基づいて推測される速度値を上記の段階のように用いて判定されてもよい。この場合、第一走行状態として用いられるのは、速度情報が表す速度値でよい。また、第二走行状態として用いられる速度値は、各種の周辺情報に基づいて推測された速度値から統計的に求められてもよい。例えば、推測された速度値のうち、所定の差分内に収まる速度値の平均が第二走行状態として用いられてもよい。また、推測された速度値の差異、又は基になる走行情報が取得された時間差が所定の基準より大きい場合には、最新の走行情報に基づいて推測された速度値が第二走行状態として用いられてもよい。そして、速度情報の異常の有無又は可能性の判定は、第一走行状態である速度値と第二走行状態である速度値との差分の大きさに基づいて行われてもよい。この場合、例えば二つの速度値が所定の差分内であれば、速度情報に基づく走行状態と周辺情報に基づく車両の走行状態とが一致すると判定される。また、速度情報に基づく走行状態と周辺情報に基づく車両の走行状態とが一致しない場合には、二つの速度値の差分の大きさに応じて異常の可能性が判定される。
【０１７１】
（６）攻撃の手法によっては、異常検知ＥＣＵが第一通信メッセージ又は第二通信メッセージを受信できない場合がある。例えば、ＣＡＮバスに多量のパケットが送り込まれた場合には、受信側が受信できない程度の遅延が生じたり、メッセージ自体がロストしたりすることがある。また別の例として、特定の診断コマンドをＣＡＮバスに注入することによって、対象のＥＣＵが所定の時間にわたってパケット送信を停止させることができる。このような場合には、受信している両方を使用して走行状態の判定が実行される場合よりも異常の可能性がより高く判定されてもよい。例えば、第一通信メッセージが表す速度情報に基づく走行状態、つまり第一走行状態は低速走行状態の場合、図４の異常可能性テーブルによれば異常の可能性はレベル０か１である。しかし第二通信メッセージが受信できない場合、異常検知ＥＣＵは、異常の可能性はレベル２であると判定してもよい。また例えば、異常検知ＥＣＵでは、取得された第一通信メッセージを用いて第一走行状態が判定されているにもかかわらず、第二通信メッセージが取得できていない状態が所定時間長を超えて継続している場合には、図４の異常可能性テーブルに含まれるレベルよりさらに高いレベルの異常の可能性があると判定し、上記で説明したものよりも高度な異常の対処のための処理が実行されてもよい。
【０１７２】
（７）上記実施の形態では、標準フォーマットのＩＤにおける例を示したが、拡張フォーマットのＩＤであってもよい。
【０１７３】
（８）上記実施の形態では、メッセージは平文で送信される例を示したが、暗号化されていてもよい。またメッセージにメッセージ認証コードを含んでいてもよい。
【０１７４】
（９）上記の実施の形態では、ＣＡＮプロトコルに従って通信するネットワーク通信システムの例として車載ネットワークを示した。本発明に係る技術は、車載ネットワークでの利用に限定されるものではなく、ロボット、産業機器等のネットワークその他、車載ネットワーク以外のＣＡＮプロトコルに従って通信するネットワーク通信システムに利用してもよい。
【０１７５】
また、車載ネットワークとしてＣＡＮプロトコルを用いていたが、これに限るものではない。例えば、ＣＡＮ−ＦＤ（ＣＡＮ  ｗｉｔｈ  Ｆｌｅｘｉｂｌｅ  Ｄａｔａ  Ｒａｔｅ）、ＦｌｅｘＲａｙ、Ｅｔｈｅｒｎｅｔ、ＬＩＮ（Ｌｏｃａｌ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｎｅｔｗｏｒｋ）、ＭＯＳＴ（Ｍｅｄｉａ  Ｏｒｉｅｎｔｅｄ  Ｓｙｓｔｅｍｓ  Ｔｒａｎｓｐｏｒｔ）などを用いてもよい。あるいはこれらのネットワークをサブネットワークとして、組み合わせたネットワークであってもよい。
【０１７６】
（１０）上記実施の形態では、自動車である車両に搭載される車載ネットワークにおけるセキュリティ対策として説明したが、適用範囲はこれに限られない。車両は自動車に限らず、建機、農機、船舶、鉄道、飛行機などのモビリティにも適用してもよい。すなわち、モビリティネットワーク及びモビリティネットワークシステムにおけるセキュリティ対策として適用可能である。
【０１７７】
（１１）上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０１７８】
（１２）上記の実施の形態における各装置は、構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Large Scale Integration：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。ＲＡＭには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０１７９】
また、上記の各装置を構成する構成要素の各部は、個別に１チップ化されていてもよいし、一部又は全てを含むように１チップ化されてもよい。
【０１８０】
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１８１】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【０１８２】
（１３）上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なＩＣカード又は単体のモジュールから構成されているとしてもよい。ＩＣカードまたはモジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。ＩＣカードまたはモジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ＩＣカードまたは前記モジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０１８３】
（１４）本発明は、図７に示す処理の各工程を含む方法であるとしてもよい。また、この方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、コンピュータプログラムを表すデジタル信号であるとしてもよい。
【０１８４】
また、本発明は、上記のコンピュータプログラム又はデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Blu-ray（登録商標） Disc）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されているデジタル信号であるとしてもよい。
【０１８５】
また、本発明は、上記のコンピュータプログラム又はデジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０１８６】
また、本発明は、マイクロプロセッサ及びメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムに従って動作するとしてもよい。
【０１８７】
また、本発明は、車載ネットワークに接続される、各々プロセッサ及びメモリを備える複数のＥＣＵが接続される車載ネットワークシステムとしてもよい。複数のＥＣＵには、ここまでに説明した異常検知ＥＣＵ、外部通信装置、並びにエンジンＥＣＵ及びブレーキＥＣＵ等の車載の装置に接続されるＥＣＵが含まれる。また、車両のメーカ―又は使用者が関知しない不正ＥＣＵが含まれることもある。これらのＥＣＵのうち、車載ネットワークに車両の速度情報を表す第一通信メッセージを送出するものを第一ＥＣＵとする。また、周辺情報を表す第二通信メッセージを車載ネットワークに速度情報を送出するものを第二ＥＣＵとする。また、診断ツールなどの外部機器から外部通信装置を介して車載ネットワークに送信される外部メッセージを受信し、第一通信メッセージの値に応じて外部メッセージに対する処理を実行するＥＣＵを第三ＥＣＵとする。外部メッセージに対する処理とは、例えば外部メッセージに含まれる車載の装置の制御指示の実行をすることである。この制御指示は、第一通信メッセージの値に基づいて判定される車両の第一走行状態が停止状態である場合、第三ＥＣＵによって実行される。しかし、周辺情報に基づいて判定される車両の第二走行状態が第一走行状態と一致しない場合には、第一走行状態が停止状態であっても、この制御指示は第三ＥＣＵに実行されない。これは、第一走行状態と第二走行状態とが一致しない、つまり第一通信メッセージに異常の可能性があると判定した異常検知ＥＣＵが、異常への対処の処理として例えば外部メッセージを無効化したことによる。
【０１８８】
また、上記のコンピュータプログラム又はデジタル信号を記録媒体に記録して移送することにより、又は上記のコンピュータプログラム又はデジタル信号を、ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【産業上の利用可能性】
【０１８９】
本発明は、車載ネットワークを含む車載ネットワークシステムに利用可能である。
【符号の説明】
【０１９０】
１  車両
１０  車載ネットワークシステム
１１  異常検知ＥＣＵ
１００  エンジンＥＣＵ
１１１、２０１  送受信部
１１２  走行状態判定部
１１３  異常判定部（異常処理部）
１１４、２０２  解釈部
１１５、２０６  生成部（異常処理部）
１１６  異常可能性判定テーブル保持部
１１７  通信部（異常処理部）
２００  ブレーキＥＣＵ
２０３  受信ＩＤ判断部
２０４  受信ＩＤリスト保持部
２０５  処理部
２０７  取得部
３００  車載カメラＥＣＵ
４００  ステアリングＥＣＵ
５００  ＧＰＳ  ＥＣＵ
６００  外部通信装置
７００  車載ネットワーク
８００  外部機器
９００  監視サーバ
１０００  外部ネットワーク
【図１】
2019216306.tif 000003
【図２】
2019216306.tif 000004
【図３】
2019216306.tif 000005
【図４】
2019216306.tif 000006
【図５】
2019216306.tif 000007
【図６】
2019216306.tif 000008
【図７】
2019216306.tif 000009
【図８】
2019216306.tif 000010
【図９】
2019216306.tif 000011
【図１０】
2019216306.tif 000012
【国際調査報告】
2019216306.tif 000013
2019216306.tif 000014
2019216306.tif 000015
2019216306.tif 000016