(57)【要約】  ＩＤＳＥＣＵ（１１０）は、異常フレームを検出する異常フレーム検出部（１１３）と、検出された異常フレームを送信したコネクタ（１３０）に対して応答を要求するための異常要求フレームをコネクタ（１３０）に送信し、且つ、コネクタ（１３０）により異常要求フレームに基づいて生成された異常フレームの送信元を示す異常応答フレームをコネクタ（１３０）から受信するコネクタ通信部（１１５）と、受信された異常応答フレームに基づいて異常応答フレームを送信したコネクタ（１３０）の数を示す異常コネクタ数を算出し、異常コネクタ数が０である場合には車載ネットワークシステム（１０）が第１の異常状態であると判定し、異常コネクタ数が０でない場合には車載ネットワークシステム（１０）が第２の異常状態であると判定するネットワーク異常判定部（１１７）と、ネットワーク異常判定部（１１７）により判定された第１の異常状態又は第２の異常状態に対して対処するネットワーク異常対処部（１１８）とを備える。
2019225258.tif 000002
【特許請求の範囲】
【請求項１】
移動体に搭載されたネットワークシステムにおけるネットワークを介して、前記移動体を制御するための１以上の電子制御装置にそれぞれ接続された１以上の通信装置との間で通信可能な異常検出装置であって、
前記電子制御装置から前記通信装置を介して前記ネットワークに送信された異常なデータフレームである異常フレームを検出する異常フレーム検出部と、
検出された前記異常フレームを送信した前記通信装置に対して応答を要求するための異常要求フレームを前記通信装置に送信し、且つ、前記通信装置により前記異常要求フレームに基づいて生成された前記異常フレームの送信元を示す異常応答フレームを前記通信装置から受信する通信部と、
受信された前記異常応答フレームに基づいて前記異常応答フレームを送信した前記通信装置の数を示す異常通信装置数を算出し、前記異常通信装置数が０である場合には前記ネットワークシステムが第１の異常状態であると判定し、前記異常通信装置数が０でない場合には前記ネットワークシステムが第２の異常状態であると判定するネットワーク異常判定部と、
前記ネットワーク異常判定部により前記ネットワークシステムが前記第１の異常状態又は前記第２の異常状態であると判定された場合に、前記第１の異常状態又は前記第２の異常状態に対して対処するネットワーク異常対処部と、を備える、
異常検出装置。
【請求項２】
前記通信部は、さらに、前記ネットワーク異常判定部により前記ネットワークシステムが前記第２の異常状態であると判定された場合に、前記ネットワークに接続された全ての前記通信装置に対して応答を要求するための状態要求フレームを送信し、且つ、前記全ての通信装置からの前記状態要求フレームに対する応答である状態応答フレームを受信し、
前記ネットワーク異常判定部は、さらに、前記ネットワークシステムが前記第２の異常状態であると判定した際において、受信された前記状態応答フレームの数と予め記憶された正常な前記通信装置の数を示す全通信装置数とを比較し、受信された前記状態応答フレームの数が前記全通信装置数よりも多い場合には前記ネットワークシステムが第３の異常状態であると判定し、受信された前記状態応答フレームの数が前記全通信装置数よりも少ない場合には前記ネットワークシステムが第４の異常状態であると判定し、受信された前記状態応答フレームの数が前記全通信装置数と等しい場合には前記ネットワークシステムが第５の異常状態であると判定する、
請求項１に記載の異常検出装置。
【請求項３】
前記異常フレーム検出部は、さらに、データフレームの種別毎に前記異常フレームの検出回数を異常発生回数としてカウントし、
前記通信部は、さらに、データフレームの種別毎に前記異常応答フレームが受信された回数を異常応答回数としてカウントし、
前記ネットワーク異常判定部は、さらに、前記ネットワークシステムが前記第５の異常状態であると判定した際において、前記異常応答回数が前記異常発生回数未満である場合には前記ネットワークシステムが前記第１の異常状態であると判定し、前記異常応答回数が前記異常発生回数以上である場合には前記ネットワークシステムが第６の異常状態であると判定する、
請求項２に記載の異常検出装置。
【請求項４】
前記異常フレーム検出部は、さらに、データフレームの種別毎に前記異常フレームの検出回数を異常発生回数としてカウントし、
前記通信部は、さらに、データフレームの種別毎に前記異常応答フレームが受信された回数を異常応答回数としてカウントし、
前記ネットワーク異常判定部は、さらに、前記ネットワークシステムが前記第２の異常状態であると判定した際において、前記異常応答回数が前記異常発生回数未満である場合には前記ネットワークシステムが前記第１の異常状態であると判定し、前記異常応答回数が前記異常発生回数以上である場合には前記ネットワークシステムが第７の異常状態であると判定する、
請求項１に記載の異常検出装置。
【請求項５】
前記通信部は、さらに、前記ネットワーク異常判定部により前記ネットワークシステムが前記第７の異常状態であると判定された場合に、前記ネットワークに接続された全ての前記通信装置に対して応答を要求するための状態要求フレームを送信し、且つ、前記全ての通信装置からの前記状態要求フレームに対する応答である状態応答フレームを受信し、
前記ネットワーク異常判定部は、さらに、前記ネットワークシステムが前記第７の異常状態であると判定した際において、受信された前記状態応答フレームの数と予め記憶された正常な前記通信装置の数を示す全通信装置数とを比較し、受信された前記状態応答フレームの数が前記全通信装置数よりも多い場合には前記ネットワークシステムが第３の異常状態であると判定し、受信された前記状態応答フレームの数が前記全通信装置数よりも少ない場合には前記ネットワークシステムが第４の異常状態であると判定し、受信された前記状態応答フレームの数が前記全通信装置数と等しい場合には前記ネットワークシステムが第６の異常状態であると判定する、
請求項４に記載の異常検出装置。
【請求項６】
前記ネットワーク異常対処部は、前記ネットワーク異常判定部により前記ネットワークシステムが前記第１の異常状態であると判定された場合に、前記移動体のドライバに対して前記移動体の安全停止を促すメッセージの表示を要求するための表示要求フレームを前記ネットワークに送信する、
請求項１〜５のいずれか１項に記載の異常検出装置。
【請求項７】
前記ネットワーク異常対処部は、前記ネットワーク異常判定部により前記ネットワークシステムが前記第３の異常状態であると判定された場合に、前記異常応答フレームを送信した前記通信装置に対して、当該通信装置に接続された前記電子制御装置との通信の停止を要求するための通信停止要求フレームを前記ネットワークに送信する、
請求項２又は５に記載の異常検出装置。
【請求項８】
前記ネットワーク異常対処部は、前記ネットワーク異常判定部により前記ネットワークシステムが前記第４の異常状態であると判定された場合に、前記移動体に対して停止を要求するための移動体停止要求フレームを前記ネットワークに送信する、
請求項２又は５に記載の異常検出装置。
【請求項９】
前記ネットワーク異常対処部は、前記ネットワーク異常判定部により前記ネットワークシステムが前記第６の異常状態と判定された場合に、前記異常応答フレームを送信した前記通信装置に接続された前記電子制御装置に対してソフトウェアの初期化を要求するための初期化要求フレームを前記ネットワークに送信する、
請求項３又は５に記載の異常検出装置。
【請求項１０】
前記通信部は、さらに、前記異常検出装置の起動時又は前記異常検出装置の起動後において所定の時間が経過する毎に、前記ネットワークに接続された前記全ての通信装置に前記状態要求フレームを送信し、且つ、前記全通信装置数を前記全ての通信装置から受信した前記状態応答フレームの数に基づいて更新する、
請求項２又は５に記載の異常検出装置。
【請求項１１】
移動体に搭載されたネットワークシステムにおける異常を検出するための異常検出システムであって、
前記移動体に搭載されたネットワークと、
前記移動体を制御するための１以上の電子制御装置と、
前記１以上の電子制御装置にそれぞれ接続された１以上の通信装置と、
前記ネットワークを介して前記１以上の通信装置との間で通信可能な異常検出装置と、を備え、
前記異常検出装置は、
前記電子制御装置から前記通信装置を介して前記ネットワークに送信された異常なデータフレームである異常フレームを検出する異常フレーム検出部と、
検出された前記異常フレームを送信した前記通信装置に対して応答を要求するための異常要求フレームであって、前記異常フレームに関する異常フレーム情報を含む異常要求フレームを前記通信装置に送信し、且つ、前記異常フレームの送信元を示す異常応答フレームを前記通信装置から受信する第１の通信部と、
受信された前記異常応答フレームに基づいて前記異常応答フレームを送信した前記通信装置の数を示す異常通信装置数を算出し、前記異常通信装置数が０である場合には前記ネットワークシステムが第１の異常状態であると判定し、前記異常通信装置数が０でない場合には前記ネットワークシステムが第２の異常状態であると判定するネットワーク異常判定部と、
前記ネットワーク異常判定部により前記ネットワークシステムが前記第１の異常状態又は前記第２の異常状態であると判定された場合に、前記第１の異常状態又は前記第２の異常状態に対して対処するネットワーク異常対処部と、を有し、
前記通信装置は、
前記異常要求フレームを前記異常検出装置から受信し、且つ、前記異常応答フレームを前記異常検出装置に送信するとともに、前記電子制御装置からのデータフレームを前記ネットワークに送信する第２の通信部と、
前記第２の通信部により前記ネットワークに送信された前記データフレームに関する送信フレーム情報を記憶する記憶部と、
受信された前記異常要求フレームに基づいて前記異常フレーム情報と前記送信フレーム情報とを比較し、前記異常フレーム情報と前記送信フレーム情報とが一致する場合に、前記異常応答フレームを生成する生成部と、を有する、
異常検出システム。
【請求項１２】
移動体に搭載されたネットワークシステムにおけるネットワークを介して、前記移動体を制御するための１以上の電子制御装置にそれぞれ接続された１以上の通信装置との間で通信可能な異常検出装置を制御するための制御方法であって、
前記電子制御装置から前記通信装置を介して前記ネットワークに送信された異常なデータフレームである異常フレームを検出するステップと、
検出された前記異常フレームを送信した前記通信装置に対して応答を要求するための異常要求フレームを前記通信装置に送信ステップと、
前記通信装置により前記異常要求フレームに基づいて生成された前記異常フレームの送信元を示す異常応答フレームを前記通信装置から受信するステップと、
受信された前記異常応答フレームに基づいて前記異常応答フレームを送信した前記通信装置の数を示す異常通信装置数を算出するステップと、
前記異常通信装置数が０である場合には前記ネットワークシステムが第１の異常状態であると判定し、前記異常通信装置数が０でない場合には前記ネットワークシステムが第２の異常状態であると判定するステップと、
前記ネットワークシステムが前記第１の異常状態又は前記第２の異常状態であると判定された場合に、前記第１の異常状態又は前記第２の異常状態に対して対処するステップと、を含む、
制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異常検出装置、異常検出システム及び制御方法に関する。
【背景技術】
【０００２】
近年、自動車に搭載されたネットワークシステムには、自動車を制御するためのＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）と呼ばれる電子制御装置が複数配置されている。これらの複数のＥＣＵは、車載ネットワークを介して相互に接続されている。車載ネットワークの規格の一つとして、ＩＳＯ１１８９８−１で規定されたＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）が知られている。【０００３】
ＣＡＮでは、通信路は２本のバスで構成され、バスに接続されているＥＣＵはノードと呼ばれる。バスに接続されている各ノードは、フレームと呼ばれるメッセージを送受信する。ＣＡＮでは、送信先ノード及び送信元ノードを示す識別子は存在せず、各送信側ノードはフレーム毎にメッセージＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）を付して送信し、各受信側ノードは予め定められたメッセージＩＤのみを受信する。そのため、ＣＡＮのバスに不正なＥＣＵを接続し、不正なＥＣＵが異常な制御コマンドを含むフレーム（以下、「異常フレーム」という）を正規のＥＣＵになりすまして送信することにより、自動車が不正に制御される脅威がある。【０００４】
例えば非特許文献１には、このような脅威に対して、異常フレームの送信元ノードであるＥＣＵを特定し、特定したＥＣＵをバスから遮断する技術が開示されている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｋ．  Ａｔｓｕｍｉ,  ｅｔ  ａｌ，“Ｓｍａｒｔ  ＣＡＮ  ｃａｂｌｅ,  Ａｎｏｔｈｅｒ  ｐｒｏｐｏｓａｌ  ｏｆ  ｉｎｔｒｕｓｉｏｎ  ｐｒｅｖｅｎｔｉｏｎ  ｓｙｓｔｅｍ  （ＩＰＳ）ｆｏｒ  ｉｎ−ｖｅｈｉｃｌｅ  ｎｅｔｗｏｒｋｓ”,  ＳＣＩＳ  ２０１８  Ｔｈｅ  ３５ｔｈ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｃｒｙｐｔｏｇｒａｐｈｙ  ａｎｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｅｃｕｒｉｔｙ  Ｎｉｉｇａｔａ,  Ｊａｐａｎ,  Ｊａｎ.  ２３−２６,  ２０１８.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した非特許文献１に開示された技術では、ネットワークシステムの状態によっては、異常フレームの送信元ノードであるＥＣＵを特定できない場合があるため、ネットワークシステムにおける異常状態に対して適切に対処することができないおそれがある。【０００７】
そこで、本発明は、ネットワークシステムにおける異常状態に対して適切に対処することができる異常検出装置、異常検出システム及び制御方法を提供する。
【課題を解決するための手段】
【０００８】
本発明の一態様に係る異常検出装置は、移動体に搭載されたネットワークシステムにおけるネットワークを介して、前記移動体を制御するための１以上の電子制御装置にそれぞれ接続された１以上の通信装置との間で通信可能な異常検出装置であって、前記電子制御装置から前記通信装置を介して前記ネットワークに送信された異常なデータフレームである異常フレームを検出する異常フレーム検出部と、検出された前記異常フレームを送信した前記通信装置に対して応答を要求するための異常要求フレームを前記通信装置に送信し、且つ、前記通信装置により前記異常要求フレームに基づいて生成された前記異常フレームの送信元を示す異常応答フレームを前記通信装置から受信する通信部と、受信された前記異常応答フレームに基づいて前記異常応答フレームを送信した前記通信装置の数を示す異常通信装置数を算出し、前記異常通信装置数が０である場合には前記ネットワークシステムが第１の異常状態であると判定し、前記異常通信装置数が０でない場合には前記ネットワークシステムが第２の異常状態であると判定するネットワーク異常判定部と、前記ネットワーク異常判定部により前記ネットワークシステムが前記第１の異常状態又は前記第２の異常状態であると判定された場合に、前記第１の異常状態又は前記第２の異常状態に対して対処するネットワーク異常対処部と、を備える。【０００９】
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００１０】
本発明の一態様に係る異常検出装置等によれば、ネットワークシステムにおける異常状態に対して適切に対処することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、従来の車載ネットワークシステムの全体構成を示すブロック図である。
【図２】図２は、実施の形態に係る車両解析システムの全体構成を示すブロック図である。
【図３】図３は、実施の形態に係る車載ネットワークシステムの全体構成を示すブロック図である。
【図４】図４は、実施の形態に係る車載ネットワークシステムにおけるフレームのフォーマットを示す図である。
【図５】図５は、実施の形態に係るコネクタの構成を示すブロック図である。
【図６】図６は、実施の形態に係るＥＣＵの構成を示すブロック図である。
【図７】図７は、実施の形態に係るＩＤＳＥＣＵの構成を示すブロック図である。
【図８】図８は、実施の形態に係るコネクタの送信フレーム記憶部に記憶される送信フレーム情報の一例を示す図である。
【図９】図９は、実施の形態に係るＩＤＳＥＣＵの異常フレーム記憶部に記憶される異常発生回数の一例を示す図である。
【図１０】図１０は、実施の形態に係るＩＤＳＥＣＵのコネクタ応答記憶部に記憶される異常コネクタ数及び異常応答回数の一例を示す図である。
【図１１】図１１は、実施の形態に係るＩＤＳＥＣＵのコネクタ応答記憶部に記憶される全コネクタ数の一例を示す図である。
【図１２】図１２は、実施の形態に係る車載ネットワークシステムにおける異常フレームの検出処理を示すシーケンス図である。
【図１３】図１３は、実施の形態に係る車載ネットワークシステムにおける異常状態の判定処理を示すシーケンス図である。
【図１４】図１４は、実施の形態に係る車載ネットワークシステムにおける異常状態に対する対処処理を示すシーケンス図である。
【図１５】図１５は、実施の形態に係るコネクタの処理を示すフローチャートである。
【図１６】図１６は、実施の形態に係るＩＤＳＥＣＵによる異常状態の判定処理を示すフローチャートである。
【図１７】図１７は、実施の形態に係るＩＤＳＥＣＵによる異常状態の判定処理の変形例を示すフローチャートである。
【図１８】図１８は、実施の形態に係るＩＤＳＥＣＵによる異常状態に対する対処処理を示すフローチャートである。
【発明を実施するための形態】
【００１２】
（本発明の基礎となった知見）
本発明者らは、「背景技術」の欄において記載した技術に関し、以下の問題が生じることを見出した。
【００１３】
ここで、図１を参照しながら、上述した非特許文献１に開示された技術について説明する。図１は、従来の車載ネットワークシステム１０００の全体構成を示すブロック図である。
【００１４】
図１に示すように、車載ネットワークシステム１０００は、バス５００と、ＩＤＳ（Ｉｎｔｒｕｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ  Ｓｙｓｔｅｍ）ＥＣＵ５１０と、制御ＥＣＵ５２０ａ，５２０ｂ，５２０ｃと、コネクタ５３０ａ，５３０ｂ，５３０ｃとを備えている。
【００１５】
ＩＤＳＥＣＵ５１０は、バス５００を監視し、バス５００に送信された異常フレームを検出する。ＩＤＳＥＣＵ５１０は、異常フレームを検出した場合に、コネクタ５３０ａ，５３０ｂ，５３０ｃに対して、異常フレームの送信元であるか否かについての応答を要求するための要求フレームを送信する。要求フレームは、異常フレームに関する情報を含んでいる。
【００１６】
コネクタ５３０ａ，５３０ｂ，５３０ｃはそれぞれ、制御ＥＣＵ５２０ａ，５２０ｂ，５２０ｃに接続されており、制御ＥＣＵ５２０ａ，５２０ｂ，５２０ｃからコネクタ５３０ａ，５３０ｂ，５３０ｃを介してバス５００に送信されたフレーム（以下、「送信フレーム」という）に関する情報を記憶している。コネクタ５３０ａ，５３０ｂ，５３０ｃの各々は、ＩＤＳＥＣＵ５１０からの要求フレームに基づいて、異常フレームと、自身が記憶している送信フレームとを比較し、両者が一致した場合に、自身が異常フレームの送信元であることを示す応答フレームをＩＤＳＥＣＵ５１０に送信する。
【００１７】
これにより、ＩＤＳＥＣＵ５１０は、コネクタ５３０ａ，５３０ｂ，５３０ｃのいずれかから受信した応答フレームに基づいて、制御ＥＣＵ５２０ａ，５２０ｂ，５２０ｃの中から異常フレームを送信した異常な制御ＥＣＵを特定することができる。その結果、例えば、異常な制御ＥＣＵをバス５００から遮断する等の対処を実行することができる。
【００１８】
しかしながら、上述した従来の車載ネットワークシステム１０００では、例えば、ａ）コネクタに接続されていない異常な制御ＥＣＵがバス５００に接続されている状態、ｂ）コネクタに接続された正規の制御ＥＣＵがバス５００から切断されている状態、ｃ）コネクタに接続された異常な制御ＥＣＵがバス５００に接続されている状態で、異常フレームがバス５００に送信された場合には、異常な制御ＥＣＵを特定することができない。そのため、上述した従来の車載ネットワークシステム１０００では、車載ネットワークシステム１０００における異常状態に対して適切に対処することができない。
【００１９】
このような問題を解決するために、本発明の一態様に係る異常検出装置は、移動体に搭載されたネットワークシステムにおけるネットワークを介して、前記移動体を制御するための１以上の電子制御装置にそれぞれ接続された１以上の通信装置との間で通信可能な異常検出装置であって、前記電子制御装置から前記通信装置を介して前記ネットワークに送信された異常なデータフレームである異常フレームを検出する異常フレーム検出部と、検出された前記異常フレームを送信した前記通信装置に対して応答を要求するための異常要求フレームを前記通信装置に送信し、且つ、前記通信装置により前記異常要求フレームに基づいて生成された前記異常フレームの送信元を示す異常応答フレームを前記通信装置から受信する通信部と、受信された前記異常応答フレームに基づいて前記異常応答フレームを送信した前記通信装置の数を示す異常通信装置数を算出し、前記異常通信装置数が０である場合には前記ネットワークシステムが第１の異常状態であると判定し、前記異常通信装置数が０でない場合には前記ネットワークシステムが第２の異常状態であると判定するネットワーク異常判定部と、前記ネットワーク異常判定部により前記ネットワークシステムが前記第１の異常状態又は前記第２の異常状態であると判定された場合に、前記第１の異常状態又は前記第２の異常状態に対して対処するネットワーク異常対処部と、を備える。
【００２０】
本態様によれば、ネットワーク異常判定部によりネットワークシステムにおける異常状態を適切に判定することができる。例えば、ネットワーク異常判定部により算出された異常通信装置数が０である場合には、異常フレーム検出部により異常フレームが検出されたにも拘らず、通信装置は異常フレームをネットワークに送信したことを記憶していないことになる。したがって、ネットワーク異常判定部は、ネットワークシステムの異常状態を、例えば「通信装置のない異常な電子制御装置がネットワークに接続されている」という第１の異常状態として判定することができる。また、ネットワーク異常判定部により算出された異常通信装置数が０でない場合には、ネットワーク異常判定部は、ネットワークシステムの異常状態を第２の異常状態として判定することができる。これにより、ネットワーク異常対処部は、ネットワークシステムにおける異常状態に対して適切に対処することができる。
【００２１】
例えば、前記通信部は、さらに、前記ネットワーク異常判定部により前記ネットワークシステムが前記第２の異常状態であると判定された場合に、前記ネットワークに接続された全ての前記通信装置に対して応答を要求するための状態要求フレームを送信し、且つ、前記全ての通信装置からの前記状態要求フレームに対する応答である状態応答フレームを受信し、前記ネットワーク異常判定部は、さらに、前記ネットワークシステムが前記第２の異常状態であると判定した際において、受信された前記状態応答フレームの数と予め記憶された正常な前記通信装置の数を示す全通信装置数とを比較し、受信された前記状態応答フレームの数が前記全通信装置数よりも多い場合には前記ネットワークシステムが第３の異常状態であると判定し、受信された前記状態応答フレームの数が前記全通信装置数よりも少ない場合には前記ネットワークシステムが第４の異常状態であると判定し、受信された前記状態応答フレームの数が前記全通信装置数と等しい場合には前記ネットワークシステムが第５の異常状態であると判定するように構成してもよい。
【００２２】
本態様によれば、ネットワーク異常判定部によりネットワークシステムにおける異常状態をより詳細に判定することができる。例えば、ネットワーク異常判定部は、受信された状態応答フレームの数が全通信装置数よりも多いと判定した場合には、ネットワークシステムの異常状態を、「通信装置のある異常な電子制御装置がネットワークに接続されている」という第３の異常状態として判定することができる。また例えば、ネットワーク異常判定部は、受信された状態応答フレームの数が全通信装置数よりも少ないと判定した場合には、ネットワークシステムの異常状態を、「通信できない電子制御装置が存在する」という第４の異常状態として判定することができる。また例えば、ネットワーク異常判定部は、受信された状態応答フレームの数が全通信装置数と等しいと判定した場合には、ネットワークシステムの異常状態を第５の異常状態として判定することができる。これにより、ネットワーク異常対処部は、ネットワークシステムにおける異常状態に対してより効果的に対処することができる。
【００２３】
また、例えば、前記異常フレーム検出部は、さらに、データフレームの種別毎に前記異常フレームの検出回数を異常発生回数としてカウントし、前記通信部は、さらに、データフレームの種別毎に前記異常応答フレームが受信された回数を異常応答回数としてカウントし、前記ネットワーク異常判定部は、さらに、前記ネットワークシステムが前記第５の異常状態であると判定した際において、前記異常応答回数が前記異常発生回数未満である場合には前記ネットワークシステムが前記第１の異常状態であると判定し、前記異常応答回数が前記異常発生回数以上である場合には前記ネットワークシステムが第６の異常状態であると判定するように構成してもよい。
【００２４】
本態様によれば、ネットワーク異常判定部によりネットワークシステムにおける異常状態をより詳細に判定することができる。ネットワーク異常判定部は、データフレームの種別毎の異常発生回数に基づいて異常フレームの検出回数を把握することができ、データフレームの種別毎の異常応答回数に基づいて異常応答フレームの受信回数を把握することができる。そのため、ネットワーク異常判定部は、異常応答回数が異常発生回数未満であると判定した場合には、ネットワークシステムの異常状態を、例えば「通信装置のない異常な電子制御装置がネットワークに接続されている」という第１の異常状態として判定することができる。また、ネットワーク異常判定部は、異常応答回数が異常発生回数以上であると判定した場合には、ネットワークシステムの異常状態を、例えば「通信装置のある正規の電子制御装置が乗っ取られている」という第６の異常状態として判定することができる。これにより、ネットワーク異常対処部は、ネットワークシステムにおける異常状態に対してより効果的に対処することができる。
【００２５】
また、例えば、前記異常フレーム検出部は、さらに、データフレームの種別毎に前記異常フレームの検出回数を異常発生回数としてカウントし、前記通信部は、さらに、データフレームの種別毎に前記異常応答フレームが受信された回数を異常応答回数としてカウントし、前記ネットワーク異常判定部は、さらに、前記ネットワークシステムが前記第２の異常状態であると判定した際において、前記異常応答回数が前記異常発生回数未満である場合には前記ネットワークシステムが前記第１の異常状態であると判定し、前記異常応答回数が前記異常発生回数以上である場合には前記ネットワークシステムが第７の異常状態であると判定するように構成してもよい。
【００２６】
本態様によれば、ネットワーク異常判定部によりネットワークシステムにおける異常状態をより詳細に判定することができる。ネットワーク異常判定部は、データフレームの種別毎の異常発生回数に基づいて異常フレームの検出回数を把握することができ、データフレームの種別毎の異常応答回数に基づいて異常応答フレームの受信回数を把握することができる。そのため、ネットワーク異常判定部は、異常応答回数が異常発生回数未満であると判定した場合には、ネットワークシステムの異常状態を、例えば「通信装置のない異常な電子制御装置がネットワークに接続されている」という第１の異常状態として判定することができる。また、ネットワーク異常判定部は、異常応答回数が異常発生回数以上であると判定した場合には、ネットワークシステムの異常状態を第７の異常状態として判定することができる。これにより、ネットワーク異常対処部は、ネットワークシステムにおける異常状態に対してより効果的に対処することができる。
【００２７】
また、例えば、前記通信部は、さらに、前記ネットワーク異常判定部により前記ネットワークシステムが前記第７の異常状態であると判定された場合に、前記ネットワークに接続された全ての前記通信装置に対して応答を要求するための状態要求フレームを送信し、且つ、前記全ての通信装置からの前記状態要求フレームに対する応答である状態応答フレームを受信し、前記ネットワーク異常判定部は、さらに、前記ネットワークシステムが前記第７の異常状態であると判定した際において、受信された前記状態応答フレームの数と予め記憶された正常な前記通信装置の数を示す全通信装置数とを比較し、受信された前記状態応答フレームの数が前記全通信装置数よりも多い場合には前記ネットワークシステムが第３の異常状態であると判定し、受信された前記状態応答フレームの数が前記全通信装置数よりも少ない場合には前記ネットワークシステムが第４の異常状態であると判定し、受信された前記状態応答フレームの数が前記全通信装置数と等しい場合には前記ネットワークシステムが第６の異常状態であると判定するように構成してもよい。
【００２８】
本態様によれば、ネットワーク異常判定部によりネットワークシステムにおける異常状態をより詳細に判定することができる。例えば、ネットワーク異常判定部は、受信された状態応答フレームの数が全通信装置数よりも多いと判定した場合には、ネットワークシステムの異常状態を、「通信装置のある異常な電子制御装置がネットワークに接続されている」という第３の異常状態として判定することができる。また例えば、ネットワーク異常判定部は、受信された状態応答フレームの数が全通信装置数よりも少ないと判定した場合には、ネットワークシステムの異常状態を、「通信できない電子制御装置が存在する」という第４の異常状態として判定することができる。また例えば、ネットワーク異常判定部は、受信された状態応答フレームの数が全通信装置数と等しいと判定した場合には、ネットワークシステムの異常状態を、「通信装置のある正規の電子制御装置が乗っ取られている」という第６の異常状態として判定することができる。これにより、ネットワーク異常対処部は、ネットワークシステムにおける異常状態に対してより効果的に対処することができる。
【００２９】
また、例えば、前記ネットワーク異常対処部は、前記ネットワーク異常判定部により前記ネットワークシステムが前記第１の異常状態であると判定された場合に、前記移動体のドライバに対して前記移動体の安全停止を促すメッセージの表示を要求するための表示要求フレームを前記ネットワークに送信するように構成してもよい。
【００３０】
本態様によれば、ネットワーク異常判定部がネットワークシステムの異常状態を、例えば「通信装置のない異常な電子制御装置がネットワークに接続されている」という第１の異常状態として判定した場合には、異常な電子制御装置との通信を遮断することが困難である。そのため、この場合には、ドライバに対して移動体の安全停止を促すメッセージを表示することにより、第１の異常状態に対して効果的な対処を実行することができる。
【００３１】
また、例えば、前記ネットワーク異常対処部は、前記ネットワーク異常判定部により前記ネットワークシステムが前記第３の異常状態であると判定された場合に、前記異常応答フレームを送信した前記通信装置に対して、当該通信装置に接続された前記電子制御装置との通信の停止を要求するための通信停止要求フレームを前記ネットワークに送信するように構成してもよい。
【００３２】
本態様によれば、ネットワーク異常判定部がネットワークシステムの異常状態を、例えば「通信装置のある異常な電子制御装置がネットワークに接続されている」という第３の異常状態として判定した場合には、当該電子制御装置が通信不能になったとしても、移動体の機能には影響がない。そのため、この場合には、電子制御装置と通信装置との通信を停止することにより、第３の異常状態に対して効果的な対処を実行することができる。
【００３３】
また、例えば、前記ネットワーク異常対処部は、前記ネットワーク異常判定部により前記ネットワークシステムが前記第４の異常状態であると判定された場合に、前記移動体に対して停止を要求するための移動体停止要求フレームを前記ネットワークに送信するように構成してもよい。
【００３４】
本態様によれば、ネットワーク異常判定部がネットワークシステムの異常状態を、例えば「通信できない電子制御装置が存在する」という第４の異常状態として判定した場合には、電子制御装置の故障と同等であると判断することができる。そのため、この場合には、移動体を停止させることにより、第４の異常状態に対して効果的な対処を実行することができる。
【００３５】
また、例えば、前記ネットワーク異常対処部は、前記ネットワーク異常判定部により前記ネットワークシステムが前記第６の異常状態と判定された場合に、前記異常応答フレームを送信した前記通信装置に接続された前記電子制御装置に対してソフトウェアの初期化を要求するための初期化要求フレームを前記ネットワークに送信するように構成してもよい。
【００３６】
本態様によれば、ネットワーク異常判定部がネットワークシステムの異常状態を、例えば「通信装置のある正規の電子制御装置が乗っ取られている」という第６の異常状態として判定した場合には、電子制御装置の正常動作を取り戻す必要がある。そのため、この場合には、電子制御装置のソフトウェアを初期化することにより、第６の異常状態に対して効果的な対処を実行することができる。
【００３７】
また、例えば、前記通信部は、さらに、前記異常検出装置の起動時又は前記異常検出装置の起動後において所定の時間が経過する毎に、前記ネットワークに接続された前記全ての通信装置に前記状態要求フレームを送信し、且つ、前記全通信装置数を前記全ての通信装置から受信した前記状態応答フレームの数に基づいて更新するように構成してもよい。
【００３８】
本態様によれば、全通信装置数を異常検出装置に事前に設定しておく必要がないため、通信装置の数が異なる移動体の種別に対して容易に適応することができる。その結果、異常検出装置の開発コストを削減することができる。
【００３９】
また、本態様の一態様に係る異常検出システムは、移動体に搭載されたネットワークシステムにおける異常を検出するための異常検出システムであって、前記移動体に搭載されたネットワークと、前記移動体を制御するための１以上の電子制御装置と、前記１以上の電子制御装置にそれぞれ接続された１以上の通信装置と、前記ネットワークを介して前記１以上の通信装置との間で通信可能な異常検出装置と、を備え、前記異常検出装置は、前記電子制御装置から前記通信装置を介して前記ネットワークに送信された異常なデータフレームである異常フレームを検出する異常フレーム検出部と、検出された前記異常フレームを送信した前記通信装置に対して応答を要求するための異常要求フレームであって、前記異常フレームに関する異常フレーム情報を含む異常要求フレームを前記通信装置に送信し、且つ、前記異常フレームの送信元を示す異常応答フレームを前記通信装置から受信する第１の通信部と、受信された前記異常応答フレームに基づいて前記異常応答フレームを送信した前記通信装置の数を示す異常通信装置数を算出し、前記異常通信装置数が０である場合には前記ネットワークシステムが第１の異常状態であると判定し、前記異常通信装置数が０でない場合には前記ネットワークシステムが第２の異常状態であると判定するネットワーク異常判定部と、前記ネットワーク異常判定部により前記ネットワークシステムが前記第１の異常状態又は前記第２の異常状態であると判定された場合に、前記第１の異常状態又は前記第２の異常状態に対して対処するネットワーク異常対処部と、を有し、前記通信装置は、前記異常要求フレームを前記異常検出装置から受信し、且つ、前記異常応答フレームを前記異常検出装置に送信するとともに、前記電子制御装置からのデータフレームを前記ネットワークに送信する第２の通信部と、前記第２の通信部により前記ネットワークに送信された前記データフレームに関する送信フレーム情報を記憶する記憶部と、受信された前記異常要求フレームに基づいて前記異常フレーム情報と前記送信フレーム情報とを比較し、前記異常フレーム情報と前記送信フレーム情報とが一致する場合に、前記異常応答フレームを生成する生成部と、を有する。
【００４０】
本態様によれば、上述と同様に、ネットワークシステムにおける異常状態に対してより効果的に対処することができる。
【００４１】
また、本態様の一態様に係る制御方法は、移動体に搭載されたネットワークシステムにおけるネットワークを介して、前記移動体を制御するための１以上の電子制御装置にそれぞれ接続された１以上の通信装置との間で通信可能な異常検出装置を制御するための制御方法であって、前記電子制御装置から前記通信装置を介して前記ネットワークに送信された異常なデータフレームである異常フレームを検出するステップと、検出された前記異常フレームを送信した前記通信装置に対して応答を要求するための異常要求フレームを前記通信装置に送信ステップと、前記通信装置により前記異常要求フレームに基づいて生成された前記異常フレームの送信元を示す異常応答フレームを前記通信装置から受信するステップと、受信された前記異常応答フレームに基づいて前記異常応答フレームを送信した前記通信装置の数を示す異常通信装置数を算出するステップと、前記異常通信装置数が０である場合には前記ネットワークシステムが第１の異常状態であると判定し、前記異常通信装置数が０でない場合には前記ネットワークシステムが第２の異常状態であると判定するステップと、前記ネットワークシステムが前記第１の異常状態又は前記第２の異常状態であると判定された場合に、前記第１の異常状態又は前記第２の異常状態に対して対処するステップと、を含む。
【００４２】
本態様によれば、上述と同様に、ネットワークシステムにおける異常状態に対してより効果的に対処することができる。
【００４３】
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なＣＤ−ＲＯＭ等の記録媒体で実現されても良く、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されてもよい。
【００４４】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【００４５】
なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００４６】
（実施の形態）
［１．車両解析システムの全体構成］
まず、図２を参照しながら、実施の形態に係る車両解析システム１の全体構成について説明する。図２は、実施の形態に係る車両解析システム１の全体構成を示すブロック図である。
【００４７】
図２に示すように、車両解析システム１は、車載ネットワークシステム１０と、車両解析サーバ２０とを備えている。車両解析システム１は、車載ネットワークシステム１０における異常を検出するための異常検出システムの一例である。車載ネットワークシステム１０及び車両解析サーバ２０は、例えばインターネット等の外部ネットワーク３０を介して互いに通信可能に接続されている。
【００４８】
車載ネットワークシステム１０は、自動車等の車両４０に搭載された、車両４０の運転操作を制御するためのネットワークシステムの一例である。車載ネットワークシステム１０の構成については後述する。なお、車両４０は、移動体の一例である。
【００４９】
車両解析サーバ２０は、例えば車両解析システム１を管理する管理会社等に設置されたサーバである。車両解析サーバ２０は、様々な地域における様々な車両４０に搭載された車載ネットワークシステム１０から通信ログ及び異常状態等を収集することにより、車載ネットワークシステム１０の状態を監視する。これにより、車両解析サーバ２０は、異常状態に陥った原因を究明するための一元的な車両解析を実施する。
【００５０】
［２．車載ネットワークシステムの全体構成］
次に、図３を参照しながら、実施の形態に係る車載ネットワークシステム１０の全体構成について説明する。図３は、実施の形態に係る車載ネットワークシステム１０の全体構成を示すブロック図である。
【００５１】
図３に示すように、車載ネットワークシステム１０は、バス１００と、ＩＤＳＥＣＵ１１０と、診断ポート１２０ａと、エンジンＥＣＵ１２０ｂと、ブレーキＥＣＵ１２０ｃと、インストルメントパネルＥＣＵ１２０ｄ（以下、「インパネＥＣＵ１２０ｄ」という）と、ＩＶＩ（Ｉｎ−Ｖｅｈｉｃｌｅ  Ｉｎｆｏｒｍａｔｉｏｎ）ＥＣＵ１２０ｅと、コネクタ１３０ａ，１３０ｂ，１３０ｃ，１３０ｄ，１３０ｅとを備えている。
【００５２】
バス１００は、ＣＡＮプロトコルに従って通信するためのネットワークの一例であり、車両４０（図２参照）の内部に構築されている。
【００５３】
ＩＤＳＥＣＵ１１０は、バス１００を監視することにより、車載ネットワークシステム１０における異常を検出するための異常検出装置の一例である。ＩＤＳＥＣＵ１１０の構成については後述する。
【００５４】
診断ポート１２０ａ、エンジンＥＣＵ１２０ｂ、ブレーキＥＣＵ１２０ｃ、インパネＥＣＵ１２０ｄ及びＩＶＩＥＣＵ１２０ｅの各々は、車両４０の運転操作を制御するための電子制御装置の一例である。なお、診断ポート１２０ａ、エンジンＥＣＵ１２０ｂ、ブレーキＥＣＵ１２０ｃ、インパネＥＣＵ１２０ｄ及びＩＶＩＥＣＵ１２０ｅは、基本的に同様の構成であるため、以下の説明では、これらを「ＥＣＵ１２０」と総称する場合がある。
【００５５】
診断ポート１２０ａは、一般にＯＢＤ（Ｏｎ−Ｂｏａｒｄ  Ｄｉａｇｎｏｓｔｉｃ）ポートと呼ばれるポートである。例えば自動車のディーラが所有する専用端末を診断ポート１２０ａに接続することにより、バス１００に接続されたＥＣＵ１２０の故障診断等を行うことができる。
【００５６】
エンジンＥＣＵ１２０ｂは、バス１００から取得した情報に基づいて、車両４０のエンジン（図示せず）の回転数を制御するためのＥＣＵである。
【００５７】
ブレーキＥＣＵ１２０ｃは、バス１００から取得した情報に基づいて、車両４０のブレーキ（図示せず）を制御するためのＥＣＵである。
【００５８】
インパネＥＣＵ１２０ｄは、バス１００から取得した情報に基づいて、車両４０のインストルメントパネル（図示せず）の表示を制御するためのＥＣＵである。
【００５９】
ＩＶＩＥＣＵ１２０ｅは、例えばカーナビゲーションシステム及びオーディオヘッドユニット等の、車両４０内の情報系を扱う車載機器（図示せず）を制御するためのＥＣＵである。ＩＶＩＥＣＵ１２０ｅは、専用回線を介して外部サーバ（図示せず）と通信可能であり、地図情報及び各種アプリケーションのアップデート、車両解析サーバ２０への異常通知等を行う機能を有している。
【００６０】
コネクタ１３０ａ，１３０ｂ，１３０ｃ，１３０ｄ，１３０ｅはそれぞれ、バス１００と診断ポート１２０ａ、エンジンＥＣＵ１２０ｂ、ブレーキＥＣＵ１２０ｃ、インパネＥＣＵ１２０ｄ及びＩＶＩＥＣＵ１２０ｅとを１対１で接続するための通信装置の一例である。なお、コネクタ１３０ａ，１３０ｂ，１３０ｃ，１３０ｄ，１３０ｅは、基本的に同様の構成であるため、以下の説明では、これらを「コネクタ１３０」と総称する場合がある。
【００６１】
コネクタ１３０は、ＥＣＵ１２０から送信されたＣＡＮプロトコルに従うデータフレーム（以下、単に「フレーム」という）をバス１００に転送し、且つ、ＥＣＵ１２０から送信されたフレーム（以下、「送信フレーム」ともいう）に関する送信フレーム情報を記憶する。また、コネクタ１３０は、当該コネクタ１３０に接続されたＥＣＵ１２０以外の他のＥＣＵ１２０からバス１００に送信されたフレームを、当該コネクタ１３０に接続されたＥＣＵ１２０に転送する。
【００６２】
さらに、コネクタ１３０は、ＩＤＳＥＣＵ１１０からバス１００に送信された、異常コネクタ要求ＩＤ（後述する）を含む異常要求フレームを受信する。なお、異常要求フレームは、ＥＣＵ１２０からコネクタ１３０を介してバス１００に送信されたフレームのうち、ＩＤＳＥＣＵ１１０により異常と判断されたフレーム（以下、「異常フレーム」という）に関する異常フレーム情報を含む。コネクタ１３０は、異常要求フレームを受信した際に、当該異常要求フレームに含まれる異常フレーム情報と、当該コネクタ１３０に記憶されている送信フレーム情報とを比較し、両者が一致した場合に、当該コネクタ１３０が異常フレームの送信元である旨を示す異常応答フレームをＩＤＳＥＣＵ１１０に送信する。コネクタ１３０の構成については後述する。
【００６３】
［３．フレームのフォーマット］
次に、図４を参照しながら、車載ネットワークシステム１０におけるフレームのフォーマットについて説明する。図４は、実施の形態に係る車載ネットワークシステム１０におけるフレームのフォーマットを示す図である。なお、図４では、ＣＡＮプロトコルにおける標準ＩＤフォーマットにおけるフレームを示している。
【００６４】
図４に示すように、フレームは、Ｓｔａｒｔ  Ｏｆ  Ｆｒａｍｅ（ＳＯＦ）と、ＩＤフィールドと、Ｒｅｍｏｔｅ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｒｅｑｕｅｓｔ（ＲＴＲ）と、ＩＤｅｎｔｉｆｉｅｒ  Ｅｘｔｅｎｓｉｏｎ（ＩＤＥ）と、予約ｂｉｔ（ｒ）と、データレングスコード（ＤＬＣ）と、データフィールドと、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）シーケンスと、ＣＲＣデリミタ（ＤＥＬ）と、Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔスロット（ＡＣＫ）と、ＡＣＫデリミタ（ＤＥＬ）と、Ｅｎｄ  Ｏｆ  Ｆｒａｍｅ（ＥＯＦ）とで構成される。
【００６５】
ＳＯＦは、１ｂｉｔのドミナントで構成される。ＳＯＦは、バス１００がアイドルの状態ではレセシブになっており、ここからドミナントへ変化することによりフレームの送信開始を通知する。
【００６６】
ＩＤは、１１ｂｉｔで構成され、データの種類を示す値である。複数のノード（ＥＣＵ１２０）が同時に送信を開始した場合に、このＩＤフィールドで通信調停を行うために、ＩＤが小さい値を持つフレームが高い優先度となるよう設計されている。
【００６７】
ＲＴＲは、フレームを示すドミナント１ｂｉｔで構成される。また、ＩＤＥ及びｒはいずれも、ドミナント１ｂｉｔで構成される。
【００６８】
ＤＬＣは、４ｂｉｔで構成され、データフィールドの長さを示す値である。データフィールドは、最大６４ｂｉｔで構成される、送信するデータの内容を示す値である。データフィールドは、８ｂｉｔ毎に長さを調整することができる。なお、送信するデータの仕様については、車両４０の車種又は製造者等に依存する。
【００６９】
ＣＲＣシーケンスは、１５ｂｉｔで構成される。ＣＲＣシーケンスは、ＳＯＦ、ＩＤフィールド、コントロールフィールド及びデータフィールドの送信値より算出される。ＣＲＣデリミタは、１ｂｉｔのレセシブで構成され、ＣＲＣシーケンスの終了を表す区切り記号である。
【００７０】
ＡＣＫスロットは、１ｂｉｔで構成される。送信ノードは、このＡＣＫスロットでレセシブの送信を行う。受信ノードは、ＣＲＣシーケンスまで正常に受信できた場合には、ドミナントを送信することにより、ドミナントが優先される。
【００７１】
ＡＣＫデリミタは、１ｂｉｔのレセシブで構成され、ＡＣＫの終了を表す区切り記号である。ＥＯＦは、７ｂｉｔのレセシブで構成され、データフレームの終了を示す。
【００７２】
［４．コネクタの構成］
次に、図５を参照しながら、コネクタ１３０の構成について説明する。図５は、実施の形態に係るコネクタ１３０の構成を示すブロック図である。
【００７３】
図５に示すように、コネクタ１３０は、バス通信部１３１（第２の通信部の一例）と、バス通信部１３２と、フレーム中継部１３３と、送信フレーム記憶部１３４（記憶部の一例）と、ＩＤＳ応答部１３５（生成部の一例）とを備えている。
【００７４】
バス通信部１３１は、バス１００及びフレーム中継部１３３の各々との間でフレームを送受信する。具体的には、バス通信部１３１は、フレーム中継部１３３から送信されたフレームを受信し、受信したフレームをバス１００に送信する。また、バス通信部１３１は、バス１００から送信されたフレームを受信し、受信したフレームをフレーム中継部１３３に送信する。
【００７５】
バス通信部１３２は、コネクタ１３０に１対１で接続されているＥＣＵ１２０との間、及び、フレーム中継部１３３との間でそれぞれフレームを送受信する。具体的には、バス通信部１３２は、コネクタ１３０に１対１で接続されているＥＣＵ１２０から送信されたフレームを受信し、受信したフレームをフレーム中継部１３３に送信する。また、バス通信部１３２は、フレーム中継部１３３から送信されたフレームを受信し、受信したフレームを、コネクタ１３０に１対１で接続されているＥＣＵ１２０に送信する。
【００７６】
フレーム中継部１３３は、バス通信部１３１から送信されたフレームを受信し、受信したフレームをバス通信部１３２及びＩＤＳ応答部１３５に送信する。また、フレーム中継部１３３は、バス通信部１３２から送信されたフレームを受信し、受信したフレームをバス通信部１３１及び送信フレーム記憶部１３４に送信する。
【００７７】
フレーム中継部１３３は、バス通信部１３１から受信したフレームに異常コネクタ要求ＩＤが含まれる場合に、当該フレーム（以下、「異常要求フレーム」という）をＩＤＳ応答部１３５に送信する。なお、異常コネクタ要求ＩＤは、異常フレームを送信したコネクタ１３０に対して応答を要求するためのＩＤである。異常要求フレームは、異常コネクタ要求ＩＤの他に、異常フレームに関する異常フレーム情報として、当該異常フレームのハッシュ値を含んでいる。
【００７８】
また、フレーム中継部１３３は、バス通信部１３１から受信したフレームに全コネクタ要求ＩＤが含まれる場合に、当該フレーム（以下、「状態要求フレーム」という）をＩＤＳ応答部１３５に送信する。なお、全コネクタ要求ＩＤは、バス１００に接続された全てのコネクタ１３０（１３０ａ，１３０ｂ，１３０ｃ，１３０ｄ，１３０ｅ）に対して応答を要求するためのＩＤである。
【００７９】
さらに、フレーム中継部１３３は、ＩＤＳ応答部１３５から送信されたフレーム（後述する異常応答フレーム及び状態応答フレーム）をバス通信部１３１に送信する。
【００８０】
送信フレーム記憶部１３４は、バス通信部１３２からフレーム中継部１３３に送信されたフレーム（すなわち、コネクタ１３０に１対１で接続されたＥＣＵ１２０から送信された送信フレーム）に関する送信フレーム情報として、当該送信フレームのハッシュ値等を記憶する。送信フレーム情報については後述する。
【００８１】
ＩＤＳ応答部１３５は、フレーム中継部１３３から異常応答フレームを受信した場合に、当該異常応答フレームに含まれる異常フレームのハッシュ値と、送信フレーム記憶部１３４に記憶されたＥＣＵ１２０からの送信フレームのハッシュ値とを比較する。ＩＤＳ応答部１３５は、上記比較の結果、両者が一致する場合に、異常コネクタ応答ＩＤを含む異常応答フレームを生成し、生成した異常応答フレームをフレーム中継部１３３に送信する。なお、異常コネクタ応答ＩＤは、コネクタ１３０毎に予め定められた、異常要求フレームに対する応答を示すＩＤである。
【００８２】
また、ＩＤＳ応答部１３５は、フレーム中継部１３３から状態要求フレームを受信した場合に、全コネクタ応答ＩＤを含む状態応答フレームを生成し、生成した状態応答フレームをフレーム中継部１３３に送信する。なお、全コネクタ応答ＩＤは、コネクタ１３０毎に予め定められた、状態要求フレームに対する応答を示すＩＤである。
【００８３】
［５．ＥＣＵの構成］
次に、図６を参照しながら、ＥＣＵ１２０の構成について説明する。図６は、実施の形態に係るＥＣＵ１２０の構成を示すブロック図である。
【００８４】
図６に示すように、ＥＣＵ１２０は、バス通信部１２１と、外部装置制御部１２２とを備えている。
【００８５】
バス通信部１２１は、コネクタ１３０から送信されたフレームを受信し、受信したフレームを外部装置制御部１２２に送信する。また、バス通信部１２１は、外部装置制御部１２２から送信されたフレームを受信し、受信したフレームをコネクタ１３０に送信する。
【００８６】
外部装置制御部１２２は、車両４０に搭載された外部装置（図示せず）に接続されている。なお、外部装置は、例えばエンジン、ブレーキ、インストルメントパネル、カーナビゲーションシステム及びオーディオヘッドユニット等である。外部装置制御部１２２は、バス通信部１２１を介してコネクタ１３０から受信したフレームに含まれる外部装置の制御情報を読み取り、読み取った制御情報に基づいて外部装置を制御する。また、外部装置制御部１２２は、外部装置から得られる情報を収集し、収集した情報を含むフレームを生成する。外部装置制御部１２２は、生成したフレームをバス通信部１２１に送信する。
【００８７】
例えば、ＥＣＵ１２０がエンジンＥＣＵ１２０ｂである場合には、外部装置制御部１２２は、外部装置であるエンジンと接続されており、バス通信部１２１から受信したフレームに含まれるエンジン回転制御要求に基づいて、エンジンの回転数を上昇又は下降させるように制御する。また、外部装置制御部１２２は、エンジンの現在の回転数を他のＥＣＵ１２０（例えばインパネＥＣＵ１２０ｄ等）に通知するために、エンジンの回転数情報を含むフレームを生成し、生成したフレームをバス通信部１２１に送信する。
【００８８】
また例えば、ＥＣＵ１２０がブレーキＥＣＵ１２０ｃである場合には、外部装置制御部１２２は、外部装置であるブレーキに接続される。ＥＣＵ１２０がインパネＥＣＵ１２０ｄである場合には、外部装置制御部１２２は、外部装置であるインストルメントパネルに接続される。ＥＣＵ１２０がＩＶＩＥＣＵ１２０ｅである場合には、外部装置制御部１２２は、外部装置であるナビゲーションシステムに接続される。この場合、各ＥＣＵ１２０は、当該ＥＣＵ１２０に接続された外部機器から各種情報を取得することにより、当該外部機器の制御を行う。
【００８９】
［６．ＩＤＳＥＣＵの構成］
次に、図７を参照しながら、ＩＤＳＥＣＵ１１０の構成について説明する。図７は、実施の形態に係るＩＤＳＥＣＵ１１０の構成を示すブロック図である。
【００９０】
図７に示すように、ＩＤＳＥＣＵ１１０は、バス通信部１１１と、フレーム中継部１１２と、異常フレーム検出部１１３と、異常フレーム記憶部１１４と、コネクタ通信部１１５（通信部及び第１の通信部の一例）と、コネクタ応答記憶部１１６と、ネットワーク異常判定部１１７と、ネットワーク異常対処部１１８とを備えている。
【００９１】
バス通信部１１１は、コネクタ１３０からバス１００に送信されたフレームを受信し、受信したフレームをフレーム中継部１１２に送信する。また、バス通信部１１１は、フレーム中継部１１２から送信されたフレームを受信し、受信したフレームをバス１００に送信する。
【００９２】
フレーム中継部１１２は、バス通信部１１１から送信されたフレームを受信し、受信したフレームを異常フレーム検出部１１３に送信する。また、フレーム中継部１１２は、バス通信部１１１から異常応答フレーム及び状態応答フレームを受信した場合には、受信した異常応答フレーム及び状態応答フレームをコネクタ通信部１１５に送信する。
【００９３】
また、フレーム中継部１１２は、コネクタ通信部１１５から送信されたフレーム（異常要求フレーム及び状態要求フレーム）を受信し、受信したフレームをバス通信部１１１に送信する。また、フレーム中継部１１２は、ネットワーク異常対処部１１８から送信されたフレームを受信し、受信したフレームをバス通信部１１１に送信する。
【００９４】
異常フレーム検出部１１３は、フレーム中継部１１２から送信されたフレーム（すなわち、ＥＣＵ１２０からコネクタ１３０を介してバス１００に送信されたフレーム）を受信し、予め定められた異常検出ルールに基づいて、受信したフレームが異常フレームであるか否かを検出する。異常フレーム検出部１１３は、異常フレームを検出した場合には、当該異常フレームのハッシュ値を異常フレーム記憶部１１４に記憶する。また、異常フレーム検出部１１３は、異常フレームのハッシュ値毎（すなわち、データフレームの種別毎）に異常フレームの検出回数を異常発生回数としてカウントし、カウントした異常発生回数を異常フレーム記憶部１１４に記憶する。また、異常フレーム検出部１１３は、異常フレームのハッシュ値をコネクタ通信部１１５に送信するとともに、異常フレームを検出した旨をネットワーク異常判定部１１７に通知する。なお、異常発生回数については後述する。
【００９５】
異常フレーム記憶部１１４は、異常フレーム検出部１１３により検出された異常フレームのハッシュ値、及び、異常フレーム検出部１１３によりカウントされた異常発生回数等を記憶する。
【００９６】
コネクタ通信部１１５は、異常フレーム検出部１１３から送信された異常フレームのハッシュ値を受信する。コネクタ通信部１１５は、受信した異常フレームのハッシュ値に基づいて、異常フレームのハッシュ値及び異常コネクタ要求ＩＤを含む異常要求フレームを生成し、生成した異常要求フレームをフレーム中継部１１２に送信する。
【００９７】
また、コネクタ通信部１１５は、フレーム中継部１１２から送信された異常応答フレームを受信した場合には、受信した異常応答フレームに含まれる、コネクタ１３０毎に予め定められた異常コネクタ応答ＩＤを確認する。コネクタ通信部１１５は、異常コネクタ応答ＩＤの種類数を、異常要求フレームに対して応答したコネクタ１３０の数（以下、「異常コネクタ数」という）（異常通信装置数の一例）として算出し、算出した異常コネクタ数をコネクタ応答記憶部１１６に記憶する。また、コネクタ通信部１１５は、異常フレームのハッシュ値毎に異常応答フレームの受信回数を異常応答回数としてカウントし、カウントした異常応答回数をコネクタ応答記憶部１１６に記憶する。
【００９８】
また、コネクタ通信部１１５は、全コネクタ要求ＩＤを含む状態要求フレームを生成し、生成した状態要求フレームをフレーム中継部１１２に送信する。なお、コネクタ通信部１１５は、ＩＤＳＥＣＵ１１０の起動時又はＩＤＳＥＣＵ１１０の起動後において所定の時間（例えば３０分）が経過する毎に、状態要求フレームを生成し、生成した状態要求フレームをフレーム中継部１１２に送信する。
【００９９】
さらに、コネクタ通信部１１５は、フレーム中継部１１２から送信された状態応答フレームを受信した場合には、受信した状態応答フレームに含まれる、コネクタ１３０毎に予め定められた全コネクタ応答ＩＤを確認する。コネクタ通信部１１５は、全コネクタ応答ＩＤの種類数（すなわち、受信された状態応答フレームの数）を、状態要求フレームに対して応答したコネクタ１３０の数（以下、「全コネクタ数」という）（全通信装置数の一例）として算出し、算出した全コネクタ数をコネクタ応答記憶部１１６に記憶する。また、コネクタ通信部１１５は、状態応答フレームを受信した時刻をコネクタ応答記憶部１１６に記憶する。
【０１００】
コネクタ応答記憶部１１６は、コネクタ通信部１１５により算出された異常コネクタ数及び全コネクタ数、コネクタ通信部１１５によりカウントされた異常応答回数、並びに、コネクタ通信部１１５による状態応答フレームの受信時刻等を記憶する。
【０１０１】
ネットワーク異常判定部１１７は、異常フレーム検出部１１３からの通知を受信してから一定時間が経過した後に、以下のようにして車載ネットワークシステム１０における異常状態を判定する。
【０１０２】
ネットワーク異常判定部１１７は、コネクタ応答記憶部１１６に記憶された異常コネクタ数が「０個」である場合には、車載ネットワークシステム１０における異常状態を、「コネクタのない異常ＥＣＵがバスに接続されている」という第１の異常状態として判定する。なお、ネットワーク異常判定部１１７は、コネクタ応答記憶部１１６に記憶された異常コネクタ数が「０個」でない（すなわち、１個以上である）場合には、車載ネットワークシステム１０が第２の異常状態であると判定する。
【０１０３】
また、ネットワーク異常判定部１１７は、車載ネットワークシステム１０が第２の異常状態であると判定した場合に、コネクタ応答記憶部１１６に記憶された現在の全コネクタ数（すなわち、受信された状態応答フレームの数）と、過去の全コネクタ数（すなわち、コネクタ応答記憶部１１６に予め記憶された正常なコネクタ１３０の数）とを比較する。ネットワーク異常判定部１１７は、現在の全コネクタ数が過去の全コネクタ数よりも多い場合には、車載ネットワークシステム１０における異常状態を、「コネクタのある異常ＥＣＵがバスに接続されている」という第３の異常状態として判定する。一方、ネットワーク異常判定部１１７は、現在の全コネクタ数が過去の全コネクタ数よりも少ない場合には、車載ネットワークシステム１０における異常状態を、「通信できないＥＣＵが存在する」という第４の異常状態として判定する。また、ネットワーク異常判定部１１７は、現在の全コネクタ数が過去の全コネクタ数と等しい場合には、車載ネットワークシステム１０が第５の異常状態であると判定する。
【０１０４】
また、ネットワーク異常判定部１１７は、車載ネットワークシステム１０が第５の異常状態であると判定した場合に、コネクタ応答記憶部１１６に記憶された異常応答回数と、異常フレーム記憶部１１４に記憶された異常発生回数とを比較する。ネットワーク異常判定部１１７は、異常応答回数が異常発生回数未満である場合には、車載ネットワークシステム１０の異常状態として、「コネクタのない異常ＥＣＵがバスに接続されている」という第１の異常状態として判定する。一方、ネットワーク異常判定部１１７は、異常応答回数が異常発生回数と等しい（異常発生回数以上である）場合には、車載ネットワークシステム１０における異常状態を、「コネクタのある正規のＥＣＵが乗っ取られている」という第６の異常状態として判定する。
【０１０５】
さらに、ネットワーク異常判定部１１７は、車載ネットワークシステム１０における異常状態を判定した場合には、判定した異常状態を示す情報をネットワーク異常対処部１１８に送信する。
【０１０６】
ネットワーク異常対処部１１８は、ネットワーク異常判定部１１７から送信された異常状態を示す情報を受信した際に、異常状態毎に予め定められた対処を実行する。
【０１０７】
車載ネットワークシステム１０における異常状態が、「コネクタのない異常ＥＣＵがバスに接続されている」という第１の異常状態である場合には、異常なＥＣＵ１２０との間の通信の遮断が困難である。そのため、この場合には、ネットワーク異常対処部１１８は、ＩＶＩＥＣＵ１２０ｅに対して、ドライバに車両４０の安全停止を促すメッセージをインストルメントパネル等に表示するように要求するための表示要求フレームをフレーム中継部１１２に送信する。
【０１０８】
また、車載ネットワークシステム１０における異常状態が、「コネクタのある正規のＥＣＵが乗っ取られている」という第６の異常状態である場合には、不正に乗っ取られた正規のＥＣＵ１２０の正常動作を取り戻す必要がある。そのため、この場合には、ネットワーク異常対処部１１８は、異常応答フレームを送信したコネクタ１３０に接続された正規のＥＣＵ１２０に対してソフトウェアの初期化を要求するための初期化要求フレームをフレーム中継部１１２に送信する。
【０１０９】
また、車載ネットワークシステム１０における異常状態が、「通信できないＥＣＵが存在する」という第４の異常状態である場合には、ＥＣＵ１２０の故障と同等であると判断することができる。そのため、この場合には、ネットワーク異常対処部１１８は、車両４０に対して停止を要求するための車両停止要求フレーム（移動体停止要求フレームの一例）をフレーム中継部１１２に送信する。
【０１１０】
また、車載ネットワークシステム１０における異常状態が、「コネクタのある異常ＥＣＵがバスに接続されている」という第３の異常状態である場合には、バス１００に不正に接続された異常なＥＣＵ１２０が通信不能となったとしても車両４０の制御には影響がない。そのため、この場合には、ネットワーク異常対処部１１８は、異常応答フレームを送信したコネクタ１３０に対して、異常なＥＣＵ１２０との通信の停止を要求するための通信停止要求フレームをフレーム中継部１１２に送信する。
【０１１１】
［７．送信フレーム記憶部に記憶される送信フレーム情報の一例］
次に、図８を参照しながら、コネクタ１３０の送信フレーム記憶部１３４に記憶される送信フレーム情報の一例について説明する。図８は、実施の形態に係るコネクタ１３０の送信フレーム記憶部１３４に記憶される送信フレーム情報の一例を示す図である。
【０１１２】
図８に示すように、コネクタ１３０の送信フレーム記憶部１３４には、送信フレーム情報として、コネクタ１３０と接続されたＥＣＵ１２０が送信した送信フレームのＩＤと、送信フレームのハッシュ値と、送信フレームの送信回数とが対応付けられて記憶される。
【０１１３】
図８に示す例では、ＩＤ「１１０」の送信フレームについては、送信フレームのハッシュ値が「Ｂ８  Ｃ９  ３２  １４  ＡＤ  ２３  ３３  ＡＢ」であり、送信フレームの送信回数が「２回」であることを示している。また、ＩＤ「１２０」の送信フレームについては、送信フレームのハッシュ値が「Ｃ１  ９９  ５６  １１  Ｄ３  ２３  ４３  Ｂ３」であり、送信フレームの送信回数が「１回」であることを示している。
【０１１４】
コネクタ１３０に１対１で接続されたＥＣＵ１２０が送信フレームを送信する毎に、当該送信フレームに関する送信フレーム情報がコネクタ１３０の送信フレーム記憶部１３４に記憶される。コネクタ１３０は、ＩＤＳＥＣＵ１１０から送信された異常応答フレームを受信した際に、異常フレームのハッシュ値と送信フレームのハッシュ値とを比較し、両者が一致する場合に、当該コネクタ１３０に１対１で接続されたＥＣＵ１２０が異常フレームの送信元であると判断する。これにより、コネクタ１３０は、自身が異常フレームの送信元であることを示す異常応答フレームをＩＤＳＥＣＵ１１０に送信する。
【０１１５】
［８．異常フレーム記憶部に記憶される異常発生回数］
次に、図９を参照しながら、ＩＤＳＥＣＵ１１０の異常フレーム記憶部１１４に記憶される異常発生回数の一例について説明する。図９は、実施の形態に係るＩＤＳＥＣＵ１１０の異常フレーム記憶部１１４に記憶される異常発生回数の一例を示す図である。
【０１１６】
図９に示すように、ＩＤＳＥＣＵ１１０の異常フレーム記憶部１１４には、異常フレームのＩＤと、異常フレームのハッシュ値と、異常発生回数とが対応付けられて記憶されている。
【０１１７】
図９に示す例では、ＩＤ「１００」の異常フレームについて、異常フレームのハッシュ値が「Ａ９  Ｂ１  ４３  ９１  ６Ａ  ＣＡ  ９２  ＡＡ」であり、異常発生回数が「１回」であることを示している。これは、ハッシュ値が「Ａ９  Ｂ１  ４３  ９１  ６Ａ  ＣＡ  ９２  ＡＡ」である異常フレームが「１回」検出されたことを意味している。
【０１１８】
また、ＩＤ「１１０」の異常フレームについて、異常フレームのハッシュ値が「Ｂ８  Ｃ９  ３２  １４  ＡＤ  ２３  ３３  ＡＢ」であり、異常発生回数が「３回」であることを示している。これは、ハッシュ値が「Ｂ８  Ｃ９  ３２  １４  ＡＤ  ２３  ３３  ＡＢ」である異常フレームが「３回」検出されたことを意味している。
【０１１９】
ＩＤＳＥＣＵ１１０は、上述した異常発生回数に基づいて、車載ネットワークシステム１０における異常状態を判定する。具体的には、ＩＤＳＥＣＵ１１０は、異常フレームの検出回数である異常発生回数と、異常応答フレームの受信回数である異常応答回数とを比較し、異常応答回数が異常発生回数未満である場合に、車載ネットワークシステム１０が「コネクタのない異常ＥＣＵがバスに接続されている」という第１の異常状態であると判定する。一方、ＩＤＳＥＣＵ１１０は、異常応答回数が異常発生回数以上である場合に、車載ネットワークシステム１０が「コネクタのある正規のＥＣＵが乗っ取られている」という第６の異常状態であると判定する。
【０１２０】
［９．コネクタ応答記憶部に記憶される異常コネクタ数及び異常応答回数の一例］
次に、図１０を参照しながら、ＩＤＳＥＣＵ１１０のコネクタ応答記憶部１１６に記憶される異常コネクタ数及び異常応答回数の一例について説明する。図１０は、実施の形態に係るＩＤＳＥＣＵ１１０のコネクタ応答記憶部１１６に記憶される異常コネクタ数及び異常応答回数の一例を示す図である。
【０１２１】
図１０に示すように、ＩＤＳＥＣＵ１１０のコネクタ応答記憶部１１６には、異常フレームのＩＤと、異常フレームのハッシュ値と、異常コネクタ数と、異常応答回数とが対応付けられて記憶されている。
【０１２２】
図１０に示す例では、ＩＤ「１００」の異常フレームについて、異常フレームのハッシュ値が「Ａ９  Ｂ１  ４３  ９１  ６Ａ  ＣＡ  ９２  ＡＡ」であり、異常コネクタ数が「１個」であり、異常応答回数が「１回」であることを示している。これは、ハッシュ値が「Ａ９  Ｂ１  ４３  ９１  ６Ａ  ＣＡ  ９２  ＡＡ」である異常フレームについて、異常要求フレームに対して応答したコネクタ１３０の数が「１個」であり、「１個」のコネクタ１３０から送信された異常応答フレームの受信回数が「１回」であることを意味している。
【０１２３】
また、ＩＤ「１１０」の異常フレームについて、異常フレームのハッシュ値が「Ｂ８  Ｃ９  ３２  １４  ＡＤ  ２３  ３３  ＡＢ」であり、異常コネクタ数が「２個」であり、異常応答回数が「３個」であることを示している。これは、ハッシュ値が「Ｂ８  Ｃ９  ３２  １４  ＡＤ  ２３  ３３  ＡＢ」である異常フレームについて、異常要求フレームに対して応答したコネクタ１３０の数が「２個」であり、「２個」のコネクタ１３０から送信された異常応答フレームの受信回数が合計「３回」であることを意味している。
【０１２４】
ＩＤＳＥＣＵ１１０は、上述した異常コネクタ数に基づいて、車載ネットワークシステム１０における異常状態を判定する。具体的には、ＩＤＳＥＣＵ１１０は、異常コネクタ数が「０個」である場合に、車載ネットワークシステム１０が「コネクタのない異常ＥＣＵがバスに接続されている」という第１の異常状態であると判定する。
【０１２５】
［１０．コネクタ応答記憶部に記憶される全コネクタ数の一例］
次に、図１１を参照しながら、ＩＤＳＥＣＵ１１０のコネクタ応答記憶部１１６に記憶される全コネクタ数の一例について説明する。図１１は、実施の形態に係るＩＤＳＥＣＵ１１のコネクタ応答記憶部１１６に記憶される全コネクタ数の一例を示す図である。
【０１２６】
図１１に示すように、ＩＤＳＥＣＵ１１０のコネクタ応答記憶部１１６には、状態応答フレームの受信時刻と、全コネクタ数とが対応付けられて記憶されている。
【０１２７】
図１１に示す例では、時刻Ｔ１時点での全コネクタ数が「４１個」であり、時刻Ｔ１よりも後の時刻Ｔ２時点での全コネクタ数が「４０個」であることを示している。
【０１２８】
ＩＤＳＥＣＵ１１０は、上述した全コネクタ数に基づいて、車載ネットワークシステム１０における異常状態を判定する。具体的には、ＩＤＳＥＣＵ１１０は、現在の全コネクタ数と過去の全コネクタ数とを比較し、現在の全コネクタ数が過去の全コネクタ数よりも多い場合には、車載ネットワークシステム１０が「コネクタのある異常ＥＣＵがバスに接続されている」という第３の異常状態であると判定する。一方、ＩＤＳＥＣＵ１１０は、現在の全コネクタ数が過去の全コネクタ数よりも少ない場合には、車載ネットワークシステム１０が「通信できないＥＣＵが存在する」という第４の異常状態であると判定する。さらに、ＩＤＳＥＣＵ１１０は、現在の全コネクタ数が過去の全コネクタ数と等しく、且つ、異常応答回数が異常発生回数以上である場合には、「コネクタのある正規のＥＣＵが乗っ取られている」という第６の異常状態であると判定する。
【０１２９】
［１１．車載ネットワークシステムの処理］
次に、図１２〜図１４を参照しながら、車載ネットワークシステム１０において、ＥＣＵ１２０がフレームを送信してから、ｉ）ＩＤＳＥＣＵ１１０が異常フレームを検出し、ｉｉ）ＩＤＳＥＣＵ１１０が車載ネットワークシステム１０における異常状態を判定し、ｉｉｉ）判定した異常状態に対して対処するまでの各処理について説明する。
【０１３０】
［１１−１．異常フレームの検出処理］
図１２を参照しながら、車載ネットワークシステム１０における異常フレームの検出処理について説明する。図１２は、実施の形態に係る車載ネットワークシステム１０における異常フレームの検出処理を示すシーケンス図である。
【０１３１】
まず、ＥＣＵ１２０が正規のフレームを送信する場合の処理について説明する。
【０１３２】
図１２に示すように、ＥＣＵ１２０は、正規のフレームを生成し、生成した正規のフレームを、当該ＥＣＵ１２０に接続されたコネクタ１３０に送信する（Ｓ１２０１）。なお、フレームは、図４に示すフレームのフォーマットに従う。
【０１３３】
コネクタ１３０は、ＥＣＵ１２０から送信されたフレームを受信し、受信したフレームのハッシュ値を算出することにより、受信したフレームに関する送信フレーム情報（図８参照）を送信フレーム記憶部１３４に記憶する（Ｓ１２０２）。なお、送信フレーム記憶部１３４に同一のハッシュ値が既に記憶されている場合には、当該ハッシュ値に対応する送信回数が「１」だけインクリメントされる。コネクタ１３０は、ＥＣＵ１２０から受信したフレームをバス１００に送信する（Ｓ１２０３）。
【０１３４】
バス１００は、コネクタ１３０から送信されたフレームを受信し、受信したフレームをバス１００に接続されている全てのＥＣＵ１２０（ＩＤＳＥＣＵ１１０を含む）に中継する（Ｓ１２０４）。
【０１３５】
ＩＤＳＥＣＵ１１０は、バス１００により中継されたフレームを受信する（Ｓ１２０５）。ＩＤＳＥＣＵ１１０は、予め定められた異常検出ルールに基づいて、受信したフレームが異常フレームであるか否かを検出する。この場合、受信したフレームは、正規のフレームであるため、上述した異常検出ルールに当てはまらない。そのため、この場合には、ＩＤＳＥＣＵ１１０は、異常フレームを検出しない（Ｓ１２０６）。
【０１３６】
なお、異常検出ルールは、例えば、直前に受信したフレームに含まれる車両４０の速度と、現在受信したフレームに含まれる車両４０の速度との差が、通常範囲（＋１０ｋｍ／ｈ〜−１０ｋｍ／ｈ）を逸脱した場合に、現在受信したフレームが異常フレームであると検出するルールである。例えば、上記の両速度の差が−６０ｋｍ／ｈである場合には、現在受信したフレームが異常フレームであると検出される。
【０１３７】
あるいは、異常検出ルールは、例えば、直前に受信したフレームの受信時刻と、現在受信したフレームの受信時刻との差が、通常範囲（１０ミリ秒）を逸脱した場合に、現在受信したフレームが異常フレームであると検出するルールであってもよい。例えば、上記の両受信時刻の差が２ミリ秒である場合には、現在受信したフレームが異常フレームであると検出される。
【０１３８】
次に、例えば悪意のある攻撃者により不正に乗っ取られたＥＣＵ１２０が、正規のフレームとは異なる異常フレームを送信する場合の処理について説明する。
【０１３９】
図１２に示すように、ＥＣＵ１２０は、例えば車両４０を不正に制御するための異常フレームをコネクタ１３０に送信する（Ｓ１２０７）。ＥＣＵ１２０が異常フレームを送信することにより、車両４０は、安全ではない異常動作を引き起こす可能性がある。例えば、車両４０の速度を１００ｋｍ／ｈまで加速させたい場合において、ＥＣＵ１２０（例えばエンジンＥＣＵ１２０ｂ）が、車両４０の現在速度を実際の速度８０ｋｍ／ｈよりも低速の２０ｋｍ／ｈとして示す異常フレームを送信することにより、目標の速度に到達するために本来必要な加速度よりも大きな加速度を車両４０のエンジン等に要求することになる。
【０１４０】
その後、上述したステップＳ１２０２〜Ｓ１２０５の各処理と同様に、ステップＳ１２０８〜ステップＳ１２１１の各処理が実行される。ステップＳ１２１１の後に、ＩＤＳＥＣＵ１１０は、予め定められた異常検出ルールに基づいて、受信したフレームが異常フレームであるか否かを検出する。この場合、受信したフレームは、異常フレームであるため、異常検出ルールに当てはまる。そのため、この場合には、ＩＤＳＥＣＵ１１０は、受信したフレームが異常フレームであると判定し、異常フレームを検出する（Ｓ１２１２）。
【０１４１】
その後、ＩＤＳＥＣＵ１１０の異常フレーム検出部１１３は、異常フレームのハッシュ値を異常フレーム記憶部１１４に記憶させる。この時、異常フレーム記憶部１１４に同一のハッシュ値が既に記憶されている場合には、当該ハッシュ値に対応する異常発生回数が「１」だけインクリメントされる。
【０１４２】
［１１−２．異常状態の判定処理］
次に、図１３を参照しながら、車載ネットワークシステム１０における異常状態の判定処理について説明する。図１３は、実施の形態に係る車載ネットワークシステム１０における異常状態の判定処理を示すシーケンス図である。
【０１４３】
図１３に示すように、上述したステップＳ１２１２の後に、ＩＤＳＥＣＵ１１０のコネクタ通信部１１５は、異常コネクタ要求ＩＤを含む異常要求フレームを生成し、生成した異常要求フレームをバス１００に送信する（Ｓ１２１３）。なお、異常要求フレームのデータ領域には、異常フレームのハッシュ値が格納されている。
【０１４４】
バス１００は、ＩＤＳＥＣＵ１１０から送信された異常要求フレームを受信し、受信した異常要求フレームをバス１００に接続されている全てのコネクタ１３０に中継する（Ｓ１２１４）。
【０１４５】
コネクタ１３０のＩＤＳ応答部１３５は、バス１００により中継された異常要求フレームを受信し、受信した異常要求フレームに異常コネクタ要求ＩＤが含まれているか否かを確認する（Ｓ１２１５）。コネクタ１３０のＩＤＳ応答部１３５は、受信した異常要求フレームに異常コネクタ要求ＩＤが含まれている場合には、送信フレーム記憶部１３４に記憶されている送信フレームのハッシュ値と、異常応答フレームに格納されている異常フレームのハッシュ値とを比較する（Ｓ１２１６）。
【０１４６】
コネクタ１３０のＩＤＳ応答部１３５は、ステップＳ１２１６における比較において、送信フレームのハッシュ値と異常フレームのハッシュ値とが一致する場合には、コネクタ１３０毎に予め定められた異常コネクタ応答ＩＤを含む異常応答フレームを生成し、生成した異常応答フレームをバス１００に送信する（Ｓ１２１７）。
【０１４７】
バス１００は、コネクタ１３０から送信された異常応答フレームを受信し、受信した異常応答フレームをバス１００に接続されているＩＤＳＥＣＵ１１０に中継する（Ｓ１２１８）。
【０１４８】
ＩＤＳＥＣＵ１１０のコネクタ通信部１１５は、バス１００により中継された異常応答フレームを受信し、受信した異常応答フレームに含まれる異常コネクタ応答ＩＤを確認する。異常コネクタ応答ＩＤはコネクタ１３０毎に予め定められた値であるため、ＩＤＳＥＣＵ１１０のコネクタ通信部１１５は、異常コネクタ応答ＩＤの種類数を異常コネクタ数として算出し、異常フレームのハッシュ値毎に異常コネクタ数をコネクタ応答記憶部１１６に記憶する（Ｓ１２１９）。さらに、ＩＤＳＥＣＵ１１０のコネクタ通信部１１５は、異常応答フレームの受信回数を異常応答回数として算出し、異常フレームのハッシュ値毎に異常応答回数をコネクタ応答記憶部１１６に記憶する（Ｓ１２１９）。この時、コネクタ応答記憶部１１６に同一のハッシュ値が既に記録されている場合には、当該ハッシュ値に対する異常応答回数が「１」だけインクリメントされる。なお、コネクタ応答記憶部１１６に記憶される異常コネクタ数及び異常応答回数の情報は、図１０に示す通りである。
【０１４９】
ＩＤＳＥＣＵ１１０のコネクタ通信部１１５は、全コネクタ要求ＩＤを含む状態要求フレームを生成し、生成した状態要求フレームをバス１００に送信する（Ｓ１２２０）。
【０１５０】
バス１００は、ＩＤＳＥＣＵ１１０から送信された状態要求フレームを受信し、受信した状態要求フレームをバス１００に接続されている全てのコネクタ１３０に中継する（Ｓ１２２１）。
【０１５１】
コネクタ１３０のＩＤＳ応答部１３５は、バス１００により中継された状態要求フレームを受信し、受信した状態要求フレームに全コネクタ要求ＩＤが含まれているか否かを確認する（Ｓ１２２２）。コネクタ１３０は、受信した状態要求フレームに全コネクタ要求ＩＤが含まれている場合には、コネクタ１３０毎に予め定められた全コネクタ応答ＩＤを含む状態応答フレームを生成し、生成した状態応答フレームをバス１００に送信する（Ｓ１２２３）。
【０１５２】
バス１００は、コネクタ１３０から送信された状態応答フレームを受信し、受信した状態応答フレームをバス１００に接続されているＩＤＳＥＣＵ１１０に中継する（Ｓ１２２４）。
【０１５３】
ＩＤＳＥＣＵ１１０のコネクタ通信部１１５は、バス１００により中継された状態応答フレームを受信し、受信した状態応答フレームに含まれる全コネクタ応答ＩＤを確認する。全コネクタ応答ＩＤはコネクタ１３０毎に予め定められた値であるため、ＩＤＳＥＣＵ１１０のコネクタ通信部１１５は、全コネクタ応答ＩＤの種類数を全コネクタ数として算出し、全コネクタ数を受信時刻とともにコネクタ応答記憶部１１６に記憶する（Ｓ１２２５）。なお、コネクタ応答記憶部１１６に記憶される全コネクタ数及び受信時刻の情報は、図１１に示す通りである。
【０１５４】
ＩＤＳＥＣＵ１１０のネットワーク異常判定部１１７は、異常フレーム記憶部１１４及びコネクタ応答記憶部１１６に記憶されている情報に基づいて、車載ネットワークシステム１０における異常状態を判定する（Ｓ１２２６）。ＩＤＳＥＣＵ１１０による異常状態の判定処理については後述する。
【０１５５】
［１１−３．異常状態に対する対処処理］
次に、図１４を参照しながら、車載ネットワークシステム１０における異常状態に対する対処処理について説明する。図１４は、実施の形態に係る車載ネットワークシステム１０における異常状態に対する対処処理を示すシーケンス図である。
【０１５６】
図１４に示すように、上述したステップＳ１２２６の後に、ＩＤＳＥＣＵ１１０のネットワーク異常対処部１１８は、ネットワーク異常判定部１１７による異常状態の判定結果に応じて、異常状態に対する対処処理を実行する。
【０１５７】
なお、図１４では、説明の都合上、異常状態に対する対処処理として、ステップＳ１２２７〜Ｓ１２３０の処理、ステップＳ１２３１〜Ｓ１２３４の処理、ステップＳ１２３５〜Ｓ１２３８の処理及びステップＳ１２３９〜Ｓ１２４１の処理がこの順に実行されるように図示しているが、実際には、ネットワーク異常対処部１１８は、上記各処理のうちいずれかの処理を選択して実行する。
【０１５８】
車載ネットワークシステム１０における異常状態が第１の異常状態であると判定された場合には、ＩＤＳＥＣＵ１１０のネットワーク異常対処部１１８は、ＩＶＩＥＣＵ１２０ｅに対して、ドライバに車両４０の安全停止を促すメッセージをインストルメントパネル等に表示するように要求するための表示要求ＩＤを含む表示要求フレームを、バス１００に送信する（Ｓ１２２７）。
【０１５９】
バス１００は、ＩＤＳＥＣＵ１１０から送信された表示要求フレームを受信し、受信した表示要求フレームをバス１００に接続されているコネクタ１３０に中継する（Ｓ１２２８）。
【０１６０】
コネクタ１３０は、バス１００により中継された表示要求フレームを受信し、受信した表示要求フレームをＥＣＵ１２０（ＩＶＩＥＣＵ１２０ｅ）に転送する（Ｓ１２２９）。
【０１６１】
ＩＶＩＥＣＵ１２０ｅは、転送された表示要求フレームに含まれる表示要求ＩＤに基づいて、ドライバに車両４０の安全停止を促すメッセージをインストルメントパネル等に表示させる（Ｓ１２３０）。
【０１６２】
車載ネットワークシステム１０における異常状態が第６の異常状態であると判定された場合には、ＩＤＳＥＣＵ１１０のネットワーク異常対処部１１８は、異常応答フレームを送信したコネクタ１３０に接続された正規のＥＣＵ１２０に対してソフトウェアの初期化を要求するための初期化要求ＩＤを含む初期化要求フレームをバス１００に送信する（Ｓ１２３１）。
【０１６３】
バス１００は、ＩＤＳＥＣＵ１１０から送信された初期化要求フレームを受信し、受信した初期化要求フレームをバス１００に接続されているコネクタ１３０に中継する（Ｓ１２３２）。
【０１６４】
コネクタ１３０は、バス１００により中継された初期化要求フレームを受信し、受信した初期化要求フレームをＥＣＵ１２０に転送する（Ｓ１２３３）。
【０１６５】
ＥＣＵ１２０は、転送された初期化要求フレームに含まれる初期化要求ＩＤに基づいて、ＥＣＵ１２０のソフトウェアを初期化する（Ｓ１２３４）。
【０１６６】
車載ネットワークシステム１０における異常状態が第４の異常状態であると判定された場合には、ＩＤＳＥＣＵ１１０のネットワーク異常対処部１１８は、車両４０に対して停止を要求するための車両停止要求ＩＤを含む車両停止要求フレームをバス１００に送信する（Ｓ１２３５）。
【０１６７】
バス１００は、ＩＤＳＥＣＵ１１０から送信された車両停止要求フレームを受信し、受信した車両停止要求フレームをバス１００に接続されているコネクタ１３０に中継する（Ｓ１２３６）。
【０１６８】
コネクタ１３０は、バス１００により中継された車両停止要求フレームを受信し、受信した車両停止要求フレームをＥＣＵ１２０（ブレーキＥＣＵ１２０ｃ）に転送する（Ｓ１２３７）。
【０１６９】
ブレーキＥＣＵ１２０ｃは、転送された車両停止要求フレームに含まれる車両停止要求ＩＤに基づいて、車両４０を停止させるように車両４０のブレーキを制御する（Ｓ１２３８）。
【０１７０】
車載ネットワークシステム１０における異常状態が第３の異常状態であると判定された場合には、ＩＤＳＥＣＵ１１０のネットワーク異常対処部１１８は、異常応答フレームを送信したコネクタ１３０に対して、異常なＥＣＵ１２０との通信の停止を要求するための通信停止要求ＩＤを含む通信停止要求フレームを、バス１００に送信する（Ｓ１２３９）。
【０１７１】
バス１００は、ＩＤＳＥＣＵ１１０から送信された通信停止要求フレームを受信し、受信した通信停止要求フレームをバス１００に接続されているコネクタ１３０に中継する（Ｓ１２４０）。
【０１７２】
コネクタ１３０は、バス１００により中継された通信停止要求フレームを受信し、受信した通信停止要求フレームに含まれる通信停止要求ＩＤに基づいて、当該コネクタ１３０に接続されたＥＣＵ１２０との通信を停止する（Ｓ１２４１）。
【０１７３】
上述したステップＳ１２２７〜Ｓ１２３０の処理、ステップＳ１２３１〜Ｓ１２３４の処理、ステップＳ１２３５〜Ｓ１２３８の処理及びステップＳ１２３９〜Ｓ１２４１の処理のいずれかが実行された後に、ＩＤＳＥＣＵ１１０のネットワーク異常対処部１１８は、ＩＶＩＥＣＵ１２０ｅに対して異常状態の車両解析サーバ２０への通知を要求するためのサーバ通知要求ＩＤを含むサーバ通知要求フレームを、バス１００に送信する（Ｓ１２４２）。
【０１７４】
バス１００は、ＩＤＳＥＣＵ１１０から送信されたサーバ通知要求フレームを受信し、受信したサーバ通知要求フレームをバス１００に接続されているコネクタ１３０に中継する（Ｓ１２４３）。
【０１７５】
コネクタ１３０は、バス１００により中継されたサーバ通知要求フレームを受信し、受信したサーバ通知要求フレームをＥＣＵ１２０（ＩＶＩＥＣＵ１２０ｅ）に転送する（Ｓ１２４４）。
【０１７６】
ＩＶＩＥＣＵ１２０ｅは、転送されたサーバ通知要求フレームに含まれるサーバ通知要求ＩＤに基づいて、車載ネットワークシステム１０における異常状態を車両解析サーバ２０へ通知する（Ｓ１２４５）。
【０１７７】
［１２．コネクタの処理］
次に、図１５を参照しながら、コネクタ１３０の処理について説明する。図１５は、実施の形態に係るコネクタ１３０の処理を示すフローチャートである。
【０１７８】
図１５に示すように、コネクタ１３０のバス通信部１３１は、バス１００から送信されたフレームを受信し、バス通信部１３２は、ＥＣＵ１２０から送信されたフレームを受信する（Ｓ１５０１）。
【０１７９】
コネクタ１３０のフレーム中継部１３３は、受信したフレームがＥＣＵ１２０から送信されたフレームであるか否かを確認する（Ｓ１５０２）。
【０１８０】
受信したフレームがＥＣＵ１２０から送信されたフレームである場合には（Ｓ１５０２でＹｅｓ）、フレーム中継部１３３は、送信フレームに関する送信フレーム情報を送信フレーム記憶部１３４に記憶させる（Ｓ１５０３）。その後、フレーム中継部１３３は、バス通信部１３１から受信したフレームをバス通信部１３２に送信する。これにより、バス通信部１３２は、フレーム中継部１３３から受信したフレームをバス１００に送信する（Ｓ１５０４）。
【０１８１】
ステップＳ１５０２に戻り、受信したフレームがＥＣＵ１２０から送信されたフレームでない場合には（Ｓ１５０２でＮｏ）、フレーム中継部１３３は、受信したフレームに含まれるＩＤが異常コネクタ要求ＩＤであるか否かを確認する（Ｓ１５０５）。
【０１８２】
受信したフレームに含まれるＩＤが異常コネクタ要求ＩＤである場合には（Ｓ１５０５でＹｅｓ）、ＩＤＳ応答部１３５は、受信したフレーム（異常要求フレーム）のデータ領域を確認して異常フレームのハッシュ値を読み取り、異常フレームのハッシュ値と、送信フレーム記憶部１３４に記憶されている送信フレームのハッシュ値とが一致するか否かを判定する（Ｓ１５０６）。
【０１８３】
異常フレームのハッシュ値と送信フレームのハッシュ値とが一致する場合には（Ｓ１５０６でＹｅｓ）、ＩＤＳ応答部１３５は、コネクタ１３０毎に予め定められた異常コネクタ応答ＩＤを含む異常応答フレームを生成する。フレーム中継部１３３は、生成された異常応答フレームを、バス通信部１３１を介してバス１００に送信する（Ｓ１５０７）。
【０１８４】
ステップＳ１５０６に戻り、異常フレームのハッシュ値と送信フレームのハッシュ値とが一致しない場合には（Ｓ１５０６でＮｏ）、処理を終了する。
【０１８５】
ステップＳ１５０５に戻り、受信したフレームに含まれるＩＤが異常コネクタ要求ＩＤでない場合には（Ｓ１５０５でＮｏ）、フレーム中継部１３３は、受信したフレームに含まれるＩＤが全コネクタ要求ＩＤであるか否かを確認する（Ｓ１５０８）。
【０１８６】
受信したフレームに含まれるＩＤが全コネクタ要求ＩＤである場合には（Ｓ１５０８でＹｅｓ）、ＩＤＳ応答部１３５は、コネクタ１３０毎に予め定められた全コネクタ応答ＩＤを含む状態応答フレームを生成する。フレーム中継部１３３は、生成された状態応答フレームを、バス通信部１３１を介してバス１００に送信する（Ｓ１５０９）。
【０１８７】
ステップＳ１５０８に戻り、受信したフレームに含まれるＩＤが全コネクタ要求ＩＤでない場合には（Ｓ１５０８でＮｏ）、フレーム中継部１３３は、受信したフレームを、バス通信部１３２を介してＥＣＵ１２０に転送する（Ｓ１５１０）。
【０１８８】
［１３．ＩＤＳＥＣＵの処理］
［１３−１．異常状態の判定処理］
次に、図１６を参照しながら、ＩＤＳＥＣＵ１１０による異常状態の判定処理について説明する。図１６は、実施の形態に係るＩＤＳＥＣＵ１１０による異常状態の判定処理を示すフローチャートである。
【０１８９】
図１６に示すように、まず、ＩＤＳＥＣＵ１１０の異常フレーム検出部１１３は、異常フレームを検出する（Ｓ１６０１）。これにより、異常フレーム検出部１１３は、検出した異常フレームのハッシュ値及び異常発生回数を異常フレーム記憶部１１４に記憶させる。
【０１９０】
ＩＤＳＥＣＵ１１０のコネクタ通信部１１５は、異常コネクタ要求ＩＤを含む異常要求フレームを生成し、生成した異常要求フレームを、フレーム中継部１１２及びバス通信部１１１を介してバス１００に送信する（Ｓ１６０２）。なお、異常要求フレームのデータ領域には、異常フレームのハッシュ値が格納されている。コネクタ通信部１１５は、異常コネクタ応答ＩＤを含む異常応答フレームを受信した際に、異常コネクタ数及び異常応答回数をコネクタ応答記憶部１１６に記憶させる。
【０１９１】
ＩＤＳＥＣＵ１１０のネットワーク異常判定部１１７は、コネクタ応答記憶部１１６に記憶されている異常コネクタ数が「０個」であるか否かを確認する（Ｓ１６０３）。
【０１９２】
異常コネクタ数が「０個」である場合には（Ｓ１６０３でＹｅｓ）、ネットワーク異常判定部１１７は、車載ネットワークシステム１０の異常状態を、「コネクタのない異常ＥＣＵがバスに接続されている」という第１の異常状態であると判定する（Ｓ１６０４）。
【０１９３】
ステップＳ１６０３に戻り、異常コネクタ数が「０個」でない場合には（Ｓ１６０３でＮｏ）、ネットワーク異常判定部１１７は、車載ネットワークシステム１０が第２の異常状態であると判定する。この場合、コネクタ通信部１１５は、全コネクタ要求ＩＤを含む状態要求フレームを生成し、生成した状態要求フレームを、フレーム中継部１１２及びバス通信部１１１を介してバス１００に送信する（Ｓ１６０５）。コネクタ通信部１１５は、全コネクタ応答ＩＤを含む状態応答フレームを受信した際に、全コネクタ数及び受信時刻をコネクタ応答記憶部１１６に記憶させる。
【０１９４】
ネットワーク異常判定部１１７は、コネクタ応答記憶部１１６に記憶されている現在の全コネクタ数と、過去の全コネクタ数（Ｎ個）とが一致するか否かを確認する（Ｓ１６０６）。
【０１９５】
現在の全コネクタ数が過去の全コネクタ数よりも少ない場合には（Ｓ１６０６で「Ｎ−１個以下」）、ネットワーク異常判定部１１７は、車載ネットワークシステム１０における異常状態を、「通信できないＥＣＵが存在する」という第４の異常状態であると判定する（Ｓ１６０７）。
【０１９６】
Ｓ１６０６に戻り、現在の全コネクタ数が過去の全コネクタ数よりも多い場合には（Ｓ１６０６で「Ｎ＋１個以上」）、ネットワーク異常判定部１１７は、車載ネットワークシステム１０における異常状態を、「コネクタのある異常ＥＣＵがバスに接続されている」という第３の異常状態であると判定する（Ｓ１６０８）。
【０１９７】
Ｓ１６０６に戻り、現在の全コネクタ数が過去の全こねたく数と等しい場合には（Ｓ１６０６で「Ｎ個」）、ネットワーク異常判定部１１７は、車載ネットワークシステム１０が第５の異常状態であると判定する。この場合、ネットワーク異常判定部１１７は、コネクタ応答記憶部１１６に記憶されている異常応答回数と、異常フレーム記憶部１１４に記憶されている異常発生回数とを比較する（Ｓ１６０９）。
【０１９８】
異常応答回数が異常発生回数未満である場合には（Ｓ１６０９でＹｅｓ）、ネットワーク異常判定部１１７は、車載ネットワークシステム１０における異常状態を、上述した第１の異常状態であると判定する（Ｓ１６０４）。一方、異常応答回数が異常発生回数以上である場合には（Ｓ１６０９でＮｏ）、ネットワーク異常判定部１１７は、車載ネットワークシステム１０における異常状態を、「コネクタのある正規のＥＣＵが乗っ取られている」という第６の異常状態であると判定する（Ｓ１６１０）。
【０１９９】
［１３−２．異常状態の判定処理の変形例］
ここで、図１７を参照しながら、ＩＤＳＥＣＵ１１０による異常状態の判定処理の変形例について説明する。図１７は、実施の形態に係るＩＤＳＥＣＵ１１０による異常状態の判定処理の変形例を示すフローチャートである。なお、図１７のフローチャートでは、図１６のフローチャートの処理と同一の処理には同一のステップ番号を付して、その説明を省略する。
【０２００】
図１７に示すように、まず、上述と同様に、ステップＳ１６０１〜Ｓ１６０４の各処理が実行される。ステップＳ１６０３において、異常コネクタ数が「０個」でない場合には（Ｓ１６０３でＮｏ）、ネットワーク異常判定部１１７は、車載ネットワークシステム１０が第２の異常状態であると判定する。この場合、ネットワーク異常判定部１１７は、コネクタ応答記憶部１１６に記憶されている異常応答回数と、異常フレーム記憶部１１４に記憶されている異常発生回数とを比較する（Ｓ１７０１）。
【０２０１】
異常応答回数が異常発生回数未満である場合には（Ｓ１７０１でＹｅｓ）、上述したステップＳ１６０４に進む。一方、異常応答回数が異常発生回数以上である場合には（Ｓ１７０１でＮｏ）、ネットワーク異常判定部１１７は、車載ネットワークシステム１０が第７の異常状態であると判定する。この場合、コネクタ通信部１１５は、全コネクタ要求ＩＤを含む状態要求フレームを生成し、生成した状態要求フレームを、フレーム中継部１１２及びバス通信部１１１を介してバス１００に送信する（Ｓ１７０２）。コネクタ通信部１１５は、全コネクタ応答ＩＤを含む状態応答フレームを受信した際に、全コネクタ数及び受信時刻をコネクタ応答記憶部１１６に記憶させる。
【０２０２】
ネットワーク異常判定部１１７は、コネクタ応答記憶部１１６に記憶されている現在の全コネクタ数と過去の全コネクタ数（Ｎ個）とが一致するか否かを確認する（Ｓ１７０３）。現在の全コネクタ数が過去の全コネクタ数よりも少ない場合には（Ｓ１７０３で「Ｎ−１個以下」）、上述したステップＳ１６０７に進む。また、現在の全コネクタ数が過去の全コネクタ数よりも多い場合には（Ｓ１７０３で「Ｎ＋１個以上」）、上述したステップＳ１６０８に進む。また、現在の全コネクタ数が過去の全コネクタ数と等しい場合には（Ｓ１７０３で「Ｎ個」）、上述したステップＳ１６１０に進む。
【０２０３】
［１３−３．異常状態に対する対処処理］
次に、図１８を参照しながら、ＩＤＳＥＣＵ１１０による異常状態に対する対処処理について説明する。図１８は、実施の形態に係るＩＤＳＥＣＵ１１０による異常状態に対する対処処理を示すフローチャートである。
【０２０４】
図１８に示すように、ＩＤＳＥＣＵ１１０のネットワーク異常対処部１１８は、ネットワーク異常判定部１１７により判定された異常状態の種類を確認する（Ｓ１８０１）。
【０２０５】
ネットワーク異常判定部１１７により判定された異常状態が第３の異常状態である場合には（Ｓ１８０１で「コネクタのない異常ＥＣＵがバスに接続されている」）、ネットワーク異常対処部１１８は、表示要求フレームを生成し、生成した表示要求フレームを、フレーム中継部１１２及びバス通信部１１１を介してバス１００に送信する。これにより、ネットワーク異常対処部１１８は、ＩＶＩＥＣＵ１２０ｅに対して、ドライバに車両４０の安全停止を促すメッセージをインストルメントパネル等に表示するように要求する（Ｓ１８０２）。
【０２０６】
ステップＳ１８０１に戻り、ネットワーク異常判定部１１７により判定された異常状態が第６の異常状態である場合には（Ｓ１８０１で「コネクタのある正規のＥＣＵが乗っ取られている」）、ネットワーク異常対処部１１８は、初期化要求フレームを生成し、生成した初期化要求フレームを、フレーム中継部１１２及びバス通信部１１１を介してバス１００に送信する。これにより、ネットワーク異常対処部１１８は、異常応答フレームを送信したコネクタ１３０に接続された正規のＥＣＵ１２０に対してソフトウェアの初期化を要求する（Ｓ１８０３）。
【０２０７】
ステップＳ１８０１に戻り、ネットワーク異常判定部１１７により判定された異常状態が第４の異常状態である場合には（Ｓ１８０１で「通信できないＥＣＵが存在する」）、ネットワーク異常対処部１１８は、停止要求フレームを生成し、生成した停止要求フレームを、フレーム中継部１１２及びバス通信部１１１を介してバス１００に送信する。これにより、ネットワーク異常対処部１１８は、車両４０に対して停止を要求する（Ｓ１８０４）。
【０２０８】
ステップＳ１８０１に戻り、ネットワーク異常判定部１１７により判定された異常状態が第３の異常状態である場合には（Ｓ１８０１で「コネクタのある異常ＥＣＵがバスに接続されている」）、ネットワーク異常対処部１１８は、通信停止フレームを生成し、生成した通信停止フレームを、フレーム中継部１１２及びバス通信部１１１を介してコネクタ１３０（異常応答フレームを送信したコネクタ１３０）に送信する。これにより、ネットワーク異常対処部１１８は、異常応答フレームを送信したコネクタ１３０に対して、当該コネクタ１３０に１対１で接続された異常なＥＣＵ１２０との通信の停止を要求する（Ｓ１８０５）。
【０２０９】
上述したステップＳ１８０２、Ｓ１８０３、Ｓ１８０４及びＳ１８０５の後に、ネットワーク異常対処部１１８は、ネットワーク異常判定部１１７により判定された異常状態を車両解析サーバ２０に通知する（Ｓ１８０６）。
【０２１０】
［１４．効果］
ネットワーク異常判定部１１７により、車載ネットワークシステム１０における異常状態を適切に判定することができる。例えば、ネットワーク異常判定部１１７により算出された異常コネクタ数が「０個」である場合には、異常フレーム検出部１１３により異常フレームが検出されたにも拘らず、コネクタ１３０は異常フレームをバス１００に送信したことを記憶していないことになる。
【０２１１】
したがって、この場合には、ネットワーク異常判定部１１７は、車載ネットワークシステム１０における異常状態を、「コネクタ１３０のない異常なＥＣＵ１２０がバス１００に接続されている」という第１の異常状態として判定することができる。また、ネットワーク異常判定部１１７により算出された異常コネクタ数が「０個」でない場合には、車載ネットワークシステム１０の異常状態を第２の異常状態として判定することができる。
【０２１２】
これにより、ネットワーク異常対処部１１８は、車載ネットワークシステム１０における異常状態に対して適切に対処することができる。
【０２１３】
（他の変形例）
以上、一つ又は複数の態様に係る異常検出装置、異常検出システム及び制御方法について、上記実施の形態に基づいて説明したが、本開示は、上記実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思い付く各種変形を実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つ又は複数の態様の範囲内に含まれてもよい。
【０２１４】
（１）上記実施の形態では、自動車等の車両４０に搭載される車載ネットワークにおけるセキュリティ対策として説明したが、適用範囲はこれに限定されない。例えば、自動車等の車両４０以外に、移動体としての建機、農機、船舶、鉄道及び飛行機等のモビリティにも適用してもよい。すなわち、モビリティネットワークおよびモビリティネットワークシステムにおけるサイバーセキュリティ対策として適用可能である。
【０２１５】
（２）上記の実施の形態では、車載ネットワークをＣＡＮとして説明したが、これに限定されず、例えばＣＡＮ−ＦＤ（ＣＡＮ  ｗｉｔｈ  Ｆｌｅｘｉｂｌｅ  Ｄａｔａ  Ｒａｔｅ）、Ｅｔｈｅｒｎｅｔ（登録商標）、ＬＩＮ（Ｌｏｃａｌ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｎｅｔｗｏｒｋ）、Ｆｌｅｘｒａｙ（登録商標）等であってもよく、あるいは、それらを組み合わせた構成であってもよい。
【０２１６】
（３）上記の実施の形態では、車速に関するデータフレームの異常において車載ネットワークシステム１０における異常状態を判定したが、これに限定されず、例えば駐車支援システム、レーンキープ機能又は衝突防止機能等の先進運転支援システムの制御の異常を検出するようにしてもよい。
【０２１７】
（４）上記の実施の形態では、セキュリティに関する車載ネットワークシステム１０の異常状態を判定したが、ＥＣＵ１２０又はコネクタ１３０の故障を異常状態として検出してもよい。
【０２１８】
（５）上記の実施の形態では、ＩＤＳＥＣＵ１１０は、異常発生回数、異常コネクタ数、異常応答回数及び全コネクタ数を記憶したが、これらを不揮発性メモリに記憶してもよく、車両４０のイグニッションのＯＮ毎に不揮発性メモリの記憶内容をリセットしてもよい。
【０２１９】
（６）上記の実施の形態では、ＩＤＳＥＣＵ１１０は、現在の全コネクタ数と正常時の全コネクタ数とを比較したが、正常時の全コネクタ数は、過去の全コネクタ数を用いずに、車両４０の出荷前に予めＩＤＳＥＣＵ１１０に設定されたデータを用いてもよい。
【０２２０】
（７）上記の実施の形態では、ＩＤＳＥＣＵ１１０は、ＩＶＩＥＣＵ１２０ｅを介して車両解析サーバ２０に異常状態を通知したが、これに限定されない。例えば、ＩＤＳＥＣＵ１１０は、ＩＶＩＥＣＵ１２０ｅを介さずに、当該ＩＤＳＥＣＵ１１０と直接接続された外部ネットワーク３０を介して車両解析サーバ２０に異常状態を通知してもよい。
【０２２１】
（８）上記実施の形態では、異常状態の判定時に車両解析サーバ２０及びドライバに異常状態を通知したが、これに限定されず、例えばＩＶＩＥＣＵ１２０ｅ等のＥＣＵ１２０に異常状態を通知してよい。さらに、車両４０が車車間通信及び路車間通信等に対応している場合には、他の車両及び路側機等のインフラ装置に異常状態を通知してもよい。これにより、自車周辺の車両及び通行人が保有するデバイス等に異常状態を通知することができ、事故防止につなげることが可能となる。
【０２２２】
（９）上記実施の形態では、異常状態の判定時に車両解析サーバ２０及びドライバに異常状態を通知したが、車載ネットワークシステム１０上のデバイスにログとして残すようにしてもよい。異常状態をログとして残した場合には、外部から診断ポート１２０ａを介してログを読み出すことにより、自動車のディーラが異常内容を把握することが可能になる。あるいは、ログを定期的に車両解析サーバ２０に送信するようにしてもよい。
【０２２３】
（１０）上記実施の形態では、異常状態の判定時に、ａ）ドライバに安全停止を促すメッセージの表示を要求、ｂ）ＥＣＵ１２０のソフトウェアの初期化を要求、ｃ）車両４０の停止を要求、ｄ）ＥＣＵ１２０との通信の停止を要求、という４種類の対処手段から選択したが、対処手段は上記４種類に限定されない。例えば、ｅ）エンジンの緊急停止を要求、ｆ）緊急ブレーキの作動を要求、ｇ）警告音及び警告灯の作動を要求、ｈ）ＥＣＵ１２０のソフトウェアの更新を要求、ｉ）手動運転モードへの切り替えを要求等、他の対処手段を用いてもよく、これら対処手段の組み合わせを選択してもよい。これにより、より安全な対処が実行可能となる。
【０２２４】
（１１）上記実施の形態では、異常状態の判定時に、ａ）ドライバに安全停止を促すメッセージの表示を要求、ｂ）ＥＣＵ１２０のソフトウェアの初期化を要求、ｃ）車両４０の停止を要求、ｄ）ＥＣＵ１２０との通信の停止を要求、という４種類の対処手段から選択したが、異常と判定されたＥＣＵ１２０の特性に応じて対処手段を選択してもよい。例えば、空調制御ＥＣＵが乗っ取られていると判定された場合には、空調制御ＥＣＵがバス１００から切断されたとしても安全面では影響が小さいため、ドライバに安全停止を促すメッセージの表示を要求する対処手段ではなく、空調制御ＥＣＵをバス１００から切断する対処手段を用いてもよい。これにより、より安全な対処が実行可能となる。
【０２２５】
（１２）上記実施の形態では、異常状態の判定時に、異常なデータフレーム毎のコネクタ１３０の応答回数を異常応答回数として用いたが、異常応答回数をコネクタ応答記憶部１１６に記憶せずに、コネクタ１３０に記憶されている異常フレームの送信回数を異常応答フレームに格納して、ネットワーク異常判定部１１７に通知してもよい。
【０２２６】
（１３）上記実施の形態における各装置を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしても良い。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ等を含んで構成されるコンピュータシステムである。ＲＡＭには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。また、上記各装置を構成する構成要素の各部は、個別に１チップ化されていても良いし、一部又は全部を含むように１チップ化されても良い。また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現しても良い。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。更には、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。
【０２２７】
（１４）上記各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なＩＣカード又は単体のモジュールから構成されているとしても良い。ＩＣカード又はモジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭ等から構成されるコンピュータシステムである。ＩＣカード又はモジュールは、上記の超多機能ＬＳＩを含むとしても良い。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、ＩＣカード又はモジュールは、その機能を達成する。このＩＣカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
【０２２８】
（１５）本発明の一態様としては、異常検出装置の制御方法をコンピュータにより実現するプログラム（コンピュータプログラム）であるとしても良いし、コンピュータプログラムからなるデジタル信号であるとしても良い。また、本発明の一態様としては、コンピュータプログラム又はデジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕｅ―ｒａｙ（登録商標）Ｄｉｓｃ）、半導体メモリ等に記録したものとしても良い。また、これらの記録媒体に記録されているデジタル信号であるとしても良い。また、本発明の一態様としては、コンピュータプログラム又はデジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。また、本発明の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムに従って動作するとしても良い。また、プログラム若しくはデジタル信号を記録媒体に記録して移送することにより、又は、プログラム若しくはデジタル信号を、ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０２２９】
（１６）上記実施の形態及び上記変形例で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。
【産業上の利用可能性】
【０２３０】
本発明に係る異常検出装置は、例えば車載ネットワークシステムに搭載されたＩＤＳＥＣＵ等に有用である。
【符号の説明】
【０２３１】
１  車両解析システム
１０，１０００  車載ネットワークシステム
２０  車両解析サーバ
３０  外部ネットワーク
４０  車両
１００，５００  バス
１１０，５１０  ＩＤＳＥＣＵ
１１１，１２１，１３１，１３２  バス通信部
１１２  フレーム中継部
１１３  異常フレーム検出部
１１４  異常フレーム記憶部
１１５  コネクタ通信部
１１６  コネクタ応答記憶部
１１７  ネットワーク異常判定部
１１８  ネットワーク異常対処部
１２０  ＥＣＵ
１２０ａ  診断ポート
１２０ｂ  エンジンＥＣＵ
１２０ｃ  ブレーキＥＣＵ
１２０ｄ  インパネＥＣＵ
１２０ｅ  ＩＶＩＥＣＵ
１２２  外部装置制御部
１３０，１３０ａ，１３０ｂ，１３０ｃ，１３０ｄ，１３０ｅ，５３０ａ，５３０ｂ，５３０ｃ  コネクタ
１３３  フレーム中継部
１３４  送信フレーム記憶部
１３５  ＩＤＳ応答部
５２０ａ，５２０ｂ，５２０ｃ  制御ＥＣＵ
【図１】
2019225258.tif 000003
【図２】
2019225258.tif 000004
【図３】
2019225258.tif 000005
【図４】
2019225258.tif 000006
【図５】
2019225258.tif 000007
【図６】
2019225258.tif 000008
【図７】
2019225258.tif 000009
【図８】
2019225258.tif 000010
【図９】
2019225258.tif 000011
【図１０】
2019225258.tif 000012
【図１１】
2019225258.tif 000013
【図１２】
2019225258.tif 000014
【図１３】
2019225258.tif 000015
【図１４】
2019225258.tif 000016
【図１５】
2019225258.tif 000017
【図１６】
2019225258.tif 000018
【図１７】
2019225258.tif 000019
【図１８】
2019225258.tif 000020
【国際調査報告】
2019225258.tif 000021
2019225258.tif 000022