(57)【特許請求の範囲】
【請求項１】
ネットワークに接続され、自装置が所定の異常状態にある場合に前記ネットワークに送信するメッセージが所定の欠損が生じたメッセージとなる送信装置と、
前記ネットワークに接続され、前記ネットワークから受信するメッセージにおいて前記所定の欠損が検出された場合に所定のフェイルセーフ処理を行う受信装置と、
を備え、
前記送信装置は、識別情報とともにメッセージを送信するとともに、自装置になりすました装置があることを検出した場合に、前記自装置が所定の異常状態にある場合と同様の所定の欠損が生じたメッセージを生成して送信し、
前記受信装置は、前記なりすました装置からメッセージを受信するとともに、前記所定のフェイルセーフ処理として、前記所定の欠損を検出したメッセージと同じ識別子を含むメッセージを受信した場合に、当該受信したメッセージに含まれた情報を前記受信装置における処理に用いないようにする
ことを特徴とする通信システム。
【請求項２】
前記受信装置は、前記所定の欠損を検出したメッセージと同じ識別子を含むメッセージを受信した場合に、当該メッセージを破棄または当該メッセージの値を別の値に置換することで、前記受信したメッセージに含まれた情報を前記受信装置における処理に用いないようにする
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記送信装置は、
自装置が送信元であることを示す識別子が付されたメッセージが他の装置から送信されたことを検出して、前記ネットワークにおける不正行為を検出したと判定する
ことを特徴とする請求項１または請求項２に記載の通信システム。
【請求項４】
前記送信装置は、
前記送信するメッセージの伝送誤りを検出するための情報を正当な値と異なる値にして、前記所定の欠損を生じたメッセージとする
ことを特徴とする請求項１から請求項３の何れか１項に記載の通信システム。
【請求項５】
前記送信装置は、
前記送信するメッセージによって送信される情報が更新されたことを示す情報を、正当な値と異なる値にして、前記所定の欠損を生じたメッセージとする
ことを特徴とする請求項１から請求項４の何れか１項に記載の通信システム。
【請求項６】
ネットワークから受信したメッセージに所定の欠損が検出された場合に所定のフェイルセーフ処理を行う受信装置宛に、メッセージを送信する制御装置であって、
前記ネットワークに接続され、自装置が所定の異常状態にある場合に前記ネットワークに送信するメッセージが所定の欠損が生じたメッセージとなり、
識別情報とともにメッセージを送信するとともに、自装置になりすました装置があることを検出した場合に、前記自装置が所定の異常状態にある場合と同様の所定の欠損が生じたメッセージを生成して送信する制御部
を備え、
前記受信装置は、前記なりすました装置からメッセージを受信するとともに、前記所定のフェイルセーフ処理として、前記所定の欠損を検出したメッセージと同じ識別子を含むメッセージを受信した場合に、当該受信したメッセージに含まれた情報を前記受信装置における処理に用いないようにする
ことを特徴とする制御装置。
【請求項７】
ネットワークに接続され、自装置が所定の異常状態にある場合に前記ネットワークに送信するメッセージが所定の欠損が生じたメッセージとなる送信装置と、
前記ネットワークに接続され、前記ネットワークから受信するメッセージにおいて前記所定の欠損が検出された場合に所定のフェイルセーフ処理を行う受信装置と、を含む通信システムの制御方法であって、
前記送信装置は、識別情報とともにメッセージを送信するとともに、自装置になりすました装置があることを検出した場合に、前記自装置が所定の異常状態にある場合と同様の所定の欠損が生じたメッセージを生成して送信する過程と、
前記受信装置は、前記なりすました装置からメッセージを受信するとともに、前記所定のフェイルセーフ処理として、前記所定の欠損を検出したメッセージと同じ識別子を含むメッセージを受信した場合に、当該受信したメッセージに含まれた情報を前記受信装置における処理に用いないようにする過程と
を含むことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、制御装置、及び制御方法に関する。
【背景技術】
【０００２】
近年、車両内に設けた複数の制御装置同士が車両内のネットワークを介して通信して、車両における各種機能を制御するための通信システムがある。このような通信システムにおいて、ネットワークにおける不正行為がなされた際に、その影響を低減させるための技術が知られている（例えば、特許文献１参照。）。
特許文献１には、通信路と、その通信路に接続された複数のＥＣＵとを含むＣＡＮ通信システムにおいて、なりすましの存在を検出して、なりすましの存在を表すメッセージを利用して報知することが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１１６２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１によれば、なりすましの存在の報知を受けるためには、なりすましの存在を表すメッセージを送信し、送信されたメッセージを受信して判読する。このような方法でネットワークにおける不正な行為（不正行為）から各制御装置を守る場合、不正な行為を表すメッセージを送受信する処理を新たに追加することが必要とされ、ネットワークに接続された装置の処理が煩雑になるという問題がある。
本発明は、このような事情を考慮してなされたものであり、より簡便な構成により、ネットワークにおける不正な行為から制御装置を守ることができる通信システム、制御装置、及び通信制御方法を提供することを目的の一つとする。
【課題を解決するための手段】
【０００５】
請求項１記載の発明は、ネットワークに接続され、自装置が所定の異常状態にある場合に前記ネットワークに送信するメッセージに所定の欠損が生じる送信装置（例えば実施形態のＥＣＵ１０−１）と、前記ネットワークに接続され、前記ネットワークから受信するメッセージにおいて前記所定の欠損が検出された場合に所定のフェイルセーフ処理を行う受信装置（例えば実施形態のＥＣＵ１０−２）と、を備え、前記送信装置は、識別情報とともにメッセージを送信するとともに、自装置になりすました装置があることを検出した場合に、前記自装置が所定の異常状態にある場合と同様の所定の欠損が生じたメッセージを生成して送信し、前記受信装置は、前記なりすました装置からメッセージを受信するとともに、前記所定のフェイルセーフ処理として、前記所定の欠損を検出したメッセージと同じ識別子を含むメッセージを受信した場合に、当該受信したメッセージに含まれた情報を前記受信装置における処理に用いないようにする、ことを特徴とする通信システム（例えば実施形態の車両用通信システム１）である。
【０００６】
この発明によれば、通信システムは、ネットワークに接続される送信装置と受信装置を備える。送信装置は、自装置が所定の異常状態にある場合に前記ネットワークに送信するメッセージに所定の欠損が生じる。受信装置は、前記ネットワークから受信するメッセージにおいて前記所定の欠損が検出された場合に所定のフェイルセーフ処理を行う。送信装置は、ネットワークにおける不正行為を検出した場合にも、前記自装置が所定の異常状態にある場合と同様の所定の欠損が生じたメッセージを生成して送信する。
【０００７】
請求項２記載の発明における前記送信装置は、前記受信装置は、前記所定の欠損を検出したメッセージと同じ識別子を含むメッセージを受信した場合に、当該メッセージを破棄または当該メッセージの値を別の値に置換することで、前記受信したメッセージに含まれた情報を前記受信装置における処理に用いないようにすることを特徴とする。
【０００８】
請求項３記載の発明における前記送信装置は、自装置が送信元であることを示す識別子が付されたメッセージが他の装置から送信されたことを検出して、前記ネットワークにおける不正行為を検出したと判定することを特徴とする。
【００１１】
請求項４記載の発明における前記送信装置は、前記送信するメッセージの伝送誤りを検出するための情報を正当な値と異なる値にして、前記所定の欠損を生じたメッセージとすることを特徴とする。
【００１２】
請求項５記載の発明における前記送信装置は、前記送信するメッセージによって送信される情報が更新されたことを示す情報を、正当な値と異なる値にして、前記所定の欠損を生じたメッセージとすることを特徴とする。
【００１５】
請求項６記載の発明は、ネットワークから受信したメッセージに所定の欠損が検出された場合に所定のフェイルセーフ処理を行う受信装置宛に、メッセージを送信する制御装置（例えば実施形態のＥＣＵ１０−１）であって、前記ネットワークに接続され、自制御装置が所定の異常状態にある場合に前記ネットワークに送信するメッセージが所定の欠損が生じたメッセージとなり、識別情報とともにメッセージを送信するとともに、自装置になりすました装置があることを検出した場合に、前記自装置が所定の異常状態にある場合と同様の所定の欠損が生じたメッセージを生成して送信する制御部（例えば実施形態の制御部３０）を備え、前記受信装置は、前記なりすました装置からメッセージを受信するとともに、前記所定のフェイルセーフ処理として、前記所定の欠損を検出したメッセージと同じ識別子を含むメッセージを受信した場合に、当該受信したメッセージに含まれた情報を前記受信装置における処理に用いないようにすることを特徴とする制御装置である。
【００１６】
請求項７記載の発明は、ネットワークに接続され、自装置が所定の異常状態にある場合に前記ネットワークに送信するメッセージに所定の欠損が生じる送信装置と、前記ネットワークに接続され、前記ネットワークから受信するメッセージにおいて前記所定の欠損が検出された場合に所定のフェイルセーフ処理を行う受信装置と、を含む通信システムの制御方法であって、前記送信装置は、識別情報とともにメッセージを送信するとともに、自装置になりすました装置があることを検出した場合に、前記自装置が所定の異常状態にある場合と同様の所定の欠損が生じたメッセージを生成して送信する過程（例えば実施形態のＳ１３２−１３４）と、前記受信装置は、前記なりすました装置からメッセージを受信するとともに、前記所定のフェイルセーフ処理として、前記所定の欠損を検出したメッセージと同じ識別子を含むメッセージを受信した場合に、当該受信したメッセージに含まれた情報を前記受信装置における処理に用いないようにする過程（例えば実施形態のＳ２３５）とを含むことを特徴とする制御方法である。
【発明の効果】
【００１７】
請求項１から請求項１１に記載の発明によれば、ネットワークに接続され、自装置が所定の異常状態にある場合に前記ネットワークに送信する前記メッセージに所定の欠損が生じる送信装置と、前記ネットワークに接続され、前記ネットワークから受信するメッセージにおいて前記所定の欠損が検出された場合に所定のフェイルセーフ処理を行う受信装置と、を備え、前記送信装置は、前記ネットワークにおける不正行為を検出した場合にも、前記自装置が所定の異常状態にある場合と同様の所定の欠損が生じたメッセージを生成して送信することにより、より簡便な構成により、ネットワークにおける不正な行為から制御装置を守ることができる。
【図面の簡単な説明】
【００１８】
【図１】実施形態の車両用通信システム１の構成を示す図である。
【図２】ＥＣＵ１０の構成例を示す図である。
【図３】ＥＣＵ１０がバス２に送信するフレームＦの形式例である。
【図４】ＥＣＵ１０における受信処理の概要を示すフローチャートである。
【図５】情報の欠損が生じたことを検出する判定処理の一例を示す図である。
【図６】ネットワークＮＷにおける不正な行為が検出されない場合の車両用通信システムの動作を示すシーケンス図である（その１）。
【図７】ネットワークＮＷにおける不正な行為が検出されない場合の車両用通信システムの動作を示すシーケンス図である（その２）。
【図８】比較例の車両用通信システムの動作を例示する図である。
【図９】実施形態のＥＣＵ１０−１の構成を示す図である。
【図１０】ＥＣＵ１０−１が不正な行為を検出する際に実施する処理の概要を示すフローチャートである。
【図１１】なりすましが実施された場合の車両用通信システム１の動作を示すシーケンス図である。
【図１２】なりすましが実施された場合の車両用通信システム１の動作を示す図である。
【図１３】ネットワークＮＷにおいて、ＤｏＳが実施された場合の車両用通信システム１Ａの動作を示すシーケンス図である。
【図１４】不正アクセスが実施された場合の車両用通信システム１の動作を示すシーケンス図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照し、本発明の通信システム、制御装置、及び制御方法の実施形態について説明する。
【００２０】
（第１の実施形態）
図１は、本実施形態の車両用通信システム１（通信システム）の構成を示す図である。車両用通信システム１は、例えば車両に搭載される。車両用通信システム１は、少なくとも車両内にネットワークＮＷを構成する。ネットワークＮＷでは、例えば、バス２を介してＣＡＮ（Controller Area Network）に基づく通信が行われる。
【００２１】
車両用通信システム１は、バス２に接続されたＥＣＵ１０−１からＥＣＵ１０−３を備える。以下、ＥＣＵ１０−１からＥＣＵ１０−３を区別しない場合は、単にＥＣＵ１０と表記する。バス２は、例えば、ツイストペアケーブルであり、差動電圧方式によって信号を伝達する。ＥＣＵ１０−１からＥＣＵ１０−３等の装置は、共通のバス２に接続されたものとして説明するが、不図示の中継装置等により互いに通信可能に接続された異なるバスに接続されていてもよい。
【００２２】
ＥＣＵ１０は、例えばエンジンを制御するエンジンＥＣＵや、シートベルトを制御するシートベルトＥＣＵ等である。ＥＣＵ１０は、自装置が所属するネットワークＮＷに送信されたフレームを受信する。以下、ネットワークＮＷに送信される各フレームのことをフレームＦという。フレームＦは、それぞれに附された識別子（以下、ＩＤという。）により識別される。ＥＣＵ１０は、受信したフレームＦに附されたＩＤ（以下、受信ＩＤという）を参照して、受信したフレームＦのうちから、自ＥＣＵ１０に係るフレームＦを識別するＩＤ（以下、登録ＩＤという）を記憶部２０（図２）に格納しておき、登録ＩＤと同じ値の受信ＩＤが附されたフレームを抽出して取得する。また、ＥＣＵ１０は、例えば、自ＥＣＵ１０の登録ＩＤと同じ値の受信ＩＤを含むフレームＦを受信したことを条件として、予め設定された優先度に応じてフレームをバス２に送信する。
【００２３】
ネットワークＮＷには、検証装置等の外部装置が接続されるＤＬＣ３が設けられている。ＤＬＣ３は、外部装置と通信するための接続端子を有している。車両の点検時等にＤＬＣ３に接続される検証装置等は、バス２に接続されたＥＣＵ１０と通信して、車両用通信システム１の状態を検査・検証する。車両の点検時等を除けば、ＤＬＣ３に検証装置等を接続することなく、車両用通信システム１を機能させることができる。
【００２４】
このネットワークＮＷに送信される各フレームＦにはそれぞれ優先度が設定されており、車両用通信システム１では、優先度が高いフレームＦから送信されるように優先度制御が行われる。
【００２５】
図２は、ＥＣＵ１０の構成例を示す図である。ＥＣＵ１０は、例えば、記憶部２０と、制御部３０と、ＣＡＮコントローラ３６と、ＣＡＮトランシーバ３８とを備える。制御部３０は、例えば、ＣＰＵ（Central Processing Unit）等のプロセッサを有する。
【００２６】
記憶部２０は、例えば、ＲＯＭ（Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）、ＨＤＤ（Hard Disk Drive）等の不揮発性の記憶装置と、ＲＡＭ（Random Access Memory）、レジスタ等の揮発性の記憶装置によって実現される。記憶部２０は、アプリケーションプログラム２２や、通信制御プログラム２４等のプログラムと、上記のプログラムが参照する各種情報を格納する。また、記憶部２０は、送信バッファ（不図示）と、受信バッファ（不図示）とを含む一時記憶領域２６を有する。また、記憶部２０は、各種情報として、例えばネットワークＮＷを介して送受信するフレームＦのＩＤが格納されたＩＤテーブルを記憶する。例えば、フレームＦのＩＤは、送信元、宛先、フレームＦの種類等を示す情報を含む。より具体的には、ＩＤテーブルには、ＥＣＵ１０−１が受信すべきフレームＦのＩＤとＥＣＵ１０−１が送信すべきフレームＦのＩＤとが含まれる。また、記憶部２０には、ネットワークＮＷに送信されるフレームＦの送信スケジュールおよびフレームＦの優先度を示す情報である優先度情報が記憶されている。
【００２７】
アプリケーションプログラム２２は、ＥＣＵ１０にそれぞれ割り当てられた情報処理を行うためのプログラムである。通信制御プログラム２４は、アプリケーションプログラム２２からの指示に応じてＣＡＮコントローラ３６を制御して通信処理を実施させるとともに、ＣＡＮコントローラ３６を介した通信に係る通信処理の結果を管理情報として取得するためのプログラムである。通信制御プログラム２４は、ＣＡＮコントローラ３６自身が実行する制御プログラムを含めて構成してもよく、或いは、ＣＡＮコントローラ３６自身が実行する制御プログラムをＣＡＮコントローラ３６が有する場合には、ＣＡＮコントローラ３６自身が実行する制御プログラムを含まずに構成してもよい。以下の説明では、通信制御プログラム２４は、ＣＡＮコントローラ３６の制御プログラムを含めて構成した場合を例示する。
【００２８】
制御部３０は、中央制御部３２と、通信制御部３４とを備える。中央制御部３２は、アプリケーションプログラム２２を実行することにより機能し、ＥＣＵ１０に与えられた制御を実行する。
【００２９】
通信制御部３４は、通信制御プログラム２４を実行することにより機能し、中央制御部３２からの制御を受けＥＣＵ１０の通信処理を実行する。通信制御部３４は、ＣＡＮトランシーバ３８を介して受信されたフレームＦの受信ＩＤとＩＤテーブルに格納された登録ＩＤとを参照し、受信されたフレームＦに関して自装置の中央制御部３２が使用する情報が含まれたフレームＦであるか否かを判定する。ＩＤテーブルに格納された登録ＩＤには、ＥＣＵ１０−１が受信すべきフレームＦのＩＤ（登録受信ＩＤ）とＥＣＵ１０−１が送信すべきフレームＦのＩＤ（登録送信ＩＤ）とが含まれる。通信制御部３４は、上記の判定を実施する際に、例えば、ＩＤテーブルにおける登録受信ＩＤを利用する。
【００３０】
通信制御部３４は、自ＥＣＵ１０が使用する情報がフレームＦに含まれる場合、フレームＦに含まれた情報を取得し、記憶部２０の一時記憶領域２６に格納する。一方、通信制御部３４は、自ＥＣＵ１０が使用する情報がフレームＦに含まれていない場合、例えば、フレームＦに含まれた情報を破棄するように制御する。
【００３１】
ＣＡＮトランシーバ３８を介して受信されたフレームＦには、送信側のＥＣＵ１０からのメッセージが含まれる場合がある。通信制御部３４は、フレームＦを構成する情報の少なくとも一部、例えば、送信側のＥＣＵ１０からのメッセージを含む部分に所定の欠損が生じていることを検出する。通信制御部３４は、上記の所定の欠損が生じていることを検出した場合、ＥＣＵ１０におけるフェイルセーフ処理を実施するように制御する。ＥＣＵ１０におけるフェイルセーフ処理とは、異常を検知したＥＣＵ１０が車両の走行等に対する影響を低減させて、車両の制御状態を安全な状態を維持するために実施する処理のことである。
ＥＣＵ１０におけるフェイルセーフ処理として、例えば、通信制御部３４は、所定の欠損を検出したとき以降の少なくとも一定時間の間においては、少なくとも新たにフレームＦを受信しないように制御する。通信制御部３４が受信しないようにするフレームＦは、上記の所定の欠損が生じたことを検出したフレームＦに附されていた送信元を示すＩＤが附されたフレームＦに限定してもよい。上記のように、ＥＣＵ１０は、フェイルセーフ処理により、受信するフレームＦを制限することで、故障等が発生した可能性が有るＥＣＵ１０からの情報の受信を制限できる。なお、通信制御部３４が上記の判定条件にする所定の欠損の詳細については、後述する。
【００３２】
通信制御部３４は、ＣＡＮコントローラ３６にＣＡＮトランシーバ３８からフレームＦを送信させる。例えば通信制御部３４は、自装置がフレームＦを送信することを示すＩＤが付されたフレームＦ（要求フレーム）をバス２に送信し、送信された要求フレームを受信した場合に、自装置が送信することを示すＩＤを含めたフレームＦ（応答フレーム）をバス２に送信する。
【００３３】
ＣＡＮコントローラ３６は、ＣＡＮトランシーバ３８を介して、バス２との間で種々のフレームＦを送受信する。ＣＡＮコントローラ３６は、バス２にフレームＦを送信する際には、一時記憶領域２６の送信バッファに格納されたフレームＦを、例えばＮＲＺ（Non‐Return‐to‐Zero）方式でシリアルの送信信号に変換し、ＣＡＮトランシーバ３８に出力する。ＣＡＮコントローラ３６は、変換後の信号が「０」（ドミナント）のビットには論理レベルがLowの電圧を出力し、「１」（レセシブ）のビットには論理レベルがHighの電圧を出力する。また、ＣＡＮコントローラ３６は、ＣＡＮトランシーバ３８からフレームＦを受信する際には、ＣＡＮトランシーバ３８から供給される受信信号からフレームＦを抽出して、抽出したフレームＦを一時記憶領域２６の受信バッファに格納する。ＣＡＮコントローラ３６は、フレームＦにおける誤り検出処理を実行する誤り検出処理部（不図示）を含む。誤り検出処理部は、フレームＦを送信する際には、フレームＦの一部に含めて送信させる所定の誤り検出符号を生成する。誤り検出処理部は、フレームＦを受信する際には、フレームＦの一部に含まれた誤り検出情報の検出の結果を出力する。
【００３４】
ＣＡＮトランシーバ３８は、フレームＦを送信する送信部、またはフレームＦを受信する受信部として機能する。ＣＡＮトランシーバ３８は、バス２にフレームＦを送信する際には、ＣＡＮコントローラ３６から取得した送信信号の論理状態に応じた差動電圧を生成してバス２に出力する。また、ＣＡＮトランシーバ３８は、バス２からフレームＦを取得する際には、バス２の差動電圧から所定の電圧範囲に含まれるように整形した受信信号を生成して、ＣＡＮコントローラ３６に送信する。ＣＡＮコントローラ３６は、ＣＡＮトランシーバ３８から信号からフレームＦを抽出して記憶部２０に格納する。
【００３５】
以上に示すように、各ＥＣＵ１０は、上記の通信処理に関する共通の構成を有する。
【００３６】
図３は、ＥＣＵ１０がバス２に送信するフレームＦの形式例である。図３（ａ）に、１回の送信において送信されるフレームＦを示す。フレームＦは、フレームＦの開始を表すスタートオブフレーム（ＳＯＦ）、フレームＦのＩＤ及びフレームＦとリモートフレームを識別するためのリモートトランスミッションリクエスト（ＲＴＲ）を含むアービトレーションフィールド、フレームＦのバイト数等を表すコントロールフィールド、転送するフレームＦの実体であるデータフィールド、フレームＦの誤りを検出するための誤り検出符号（ＣＲＣ）を付加するＣＲＣフィールド、正しいフレームＦを受信したユニットからの通知（ＡＣＫ）を受けるＡＣＫスロット及びＡＣＫデリミタ、フレームＦの終了を表すエンドオブフレーム（ＥＯＦ）等を含む。
【００３７】
ＥＣＵ１０は、フレームＦのデータフィールド内の所定の位置にユーザデータを割り付けて通信する。データフィールドには、ユーザデータの他に、ユーザデータの信頼度を検証するための管理情報を含めてもよい。信頼度を検証するための管理情報には、例えば、単一のフレームＦ内のユーザデータまたは複数のフレームＦを纏めたユーザデータの誤りを検査するための誤り検査用情報、データフィールドの値が更新されていることを検査するための更新検査情報等を含めてもよい。
【００３８】
図３（ｂ）に、誤り検査用情報をデータフィールドに割り付けた一例を示す。誤り検査用情報は、例えば、ＳＵＭ値（check sum）やパリティ等の誤り検出符号により構成される。図３（ｃ）に、データフィールドの値が更新されていることを検査するための更新検査情報をデータフィールドに割り付けた一例を示す。更新検査情報には、フレームＦを送信する度に変化する情報が含まれる。フレームＦを送信する度に変化する情報は、フレームＦの送信回数に対応する値を示すアライブカウンタであってもよい。
【００３９】
上記のフレームＦの一例に従って、ＥＣＵ１０は、ユーザデータの信頼度を検証するための管理情報と、これに対応するユーザデータとを、一つの同じフレームＦに含めて送信してもよく、複数のフレームＦに振り分けて送信してもよい。なお、管理情報とユーザデータのデータフィールドへの割り付けは任意であり、例えば、予め決定されているものとする。以下の説明において、フレームＦと、フレームＦに割り付けられたユーザデータと、ユーザデータの信頼度を検証するための管理情報とを纏めてメッセージという。
【００４０】
図４から図７を参照して、車両用通信システムの処理を説明する。図４から図７に示す処理は、本実施形態におけるネットワークＮＷにおいて特段の不正な行為（不正行為ともいう。）が実施されない場合を示すものである。
【００４１】
図４は、ＥＣＵ１０における受信処理の概要を示すフローチャートである。通信制御部３４は、ＥＣＵ１０における受信処理により、ネットワークＮＷから受信するメッセージに所定の欠損が検出された場合に、下記の手順に従って所定のフェイルセーフ処理を実施する。
【００４２】
通信制御部３４は、ＣＡＮトランシーバ３８により受信したメッセージ（受信メッセージ）のフレームＦに附された受信ＩＤを参照して、受信メッセージに対するフィルタ処理を実施する（Ｓ１０）。通信制御部３４が実施するフィルタ処理には、受信ＩＤと、記憶部２０に記憶されているＩＤテーブルの登録受信ＩＤとを照合して、自ＥＣＵ１０が使用する情報が含まれたフレームＦであるか否かの判定する処理が含まれる。受信ＩＤと同じ値の登録受信ＩＤが上記のＩＤテーブルに含まれる場合、通信制御部３４は、登録受信ＩＤと一致した受信ＩＤが附されたフレームＦを、受信メッセージとして抽出し、記憶部２０の一時記憶領域２６に格納する。
【００４３】
次に、通信制御部３４は、上記Ｓ１０におけるフィルタ処理によって抽出された受信メッセージを判定の対象にした判定処理を実施する（Ｓ１１）。上記の判定処理の詳細については、後述する。
【００４４】
次に、通信制御部３４は、上記Ｓ１１における判定の結果により、判定の対象にした受信メッセージに関して情報が欠損しているか否かを判定する（Ｓ１２）。上記Ｓ１２における判定の結果により、情報が欠損していないと判定した場合（Ｓ１２：Ｎｏ）、通信制御部３４は、上記Ｓ１１の判定処理の対象にした受信メッセージに対する応答処理において、受信メッセージを正常に受信したこと（受信正常）を通知する（Ｓ１３）。中央制御部３２は、上記の受信メッセージにより指示された事項の処理を実施する（Ｓ１４）。
【００４５】
一方、上記Ｓ１２における判定の結果により、情報が欠損していると判定した場合（Ｓ１２：Ｙｅｓ）、通信制御部３４は、上記Ｓ１１の判定処理の対象にした受信メッセージに対する応答処理において、受信メッセージを受信する際に異常が検出されたこと（受信異常）を通知する（Ｓ１５）。中央制御部３２は、上記の受信メッセージにおける情報の欠損に対するフェイルセーフ処理を実施する（Ｓ１６）。
【００４６】
以下の説明において、メッセージの送信側の装置としてＥＣＵ１０−１を例示し、メッセージの受信側の装置としてＥＣＵ１０−２を例示して説明する。
【００４７】
（ＥＣＵ１０の異常／故障と、その通知の方法について）
ＥＣＵ１０の異常／故障は、自装置内で検出されずとも、他のＥＣＵ１０に対して、下記のような、異常／故障により生じるメッセージの欠損による方法で通知される。他のＥＣＵ１０は、その通知を受けて、通知元のＥＣＵ１０の異常／故障を検出する。ＥＣＵ１０の異常／故障の種類と、その検出結果の通知の方法について一例を挙げて説明する。なお、当例ではＥＣＵ１０の異常／故障は、自装置内で検出しないが、自装置内で検出したうえで同様の方法を用いるものでもよい。
【００４８】
（１）送信装置になるＥＣＵ１０のハードウェアの故障
例えば、ＥＣＵ１０−１は、自装置のハードウェアが故障することにより、送信するユーザデータと誤り検査用情報の何れかに情報の欠損が生じるように構成されている。すなわち、ＥＣＵ１０−１のハードウェアが故障した場合、送信されるユーザデータと誤り検査用情報の何れかに情報に欠損、すなわちユーザデータと誤り検査用情報との間で保たれるべき規則性の欠損が生じる。ユーザデータと誤り検査用情報との間で保たれるべき規則性とは、例えば、メッセージの所定の一部のサム値と誤り検査用情報が示す値とが同一であるとの規則性のことである。ＥＣＵ１０−１は、欠損が生じた情報を自己の異常／故障の通知に利用する。通知を受けたＥＣＵ１０−２は、上記の情報の欠損や規則性の欠損が生じたメッセージに対する誤り検出の結果により、ＥＣＵ１０−１側に異常、すなわちハードウェアの故障が生じている可能性があると判定する。
【００４９】
（２）送信機器になるＥＣＵ１０の過負荷状態
例えば、ネットワークＮＷにおいて何らかの異常状態が生じたことにより、ＥＣＵ１０の処理が過負荷状態になり、ＥＣＵ１０は、正当なメッセージを送信できなくなることがある。ＥＣＵ１０−２の制御部３０が実施する処理が過負荷状態になっていると、例えば、制御部３０は、応答メッセージとして送信するためのユーザデータを記憶部２０に書き込むことができなくなる。その結果、ＥＣＵ１０−２は、情報を更新した正当な応答メッセージを送信できなくなることがある。例えば、ＥＣＵ１０は、フレームＦを送信する度に変化する情報、すなわち更新検査情報を、ユーザデータを送信するフレームＦに含めて送信するが、上記のような状況が生じると、ユーザデータを更新したことを示す更新検査情報の規則性が乱れ、規則性が保たれるべき更新検査情報の規則性の欠損が生じる。
ユーザデータを更新したことを示す更新検査情報の規則性とは、例えば、ユーザデータが更新されるたびに更新検査情報が示す値が所定値ずつ加算されるとの規則性のことである。ＥＣＵ１０−２は、欠損が生じた情報を自己の異常／故障の通知に利用する。通知を受けたＥＣＵ１０−１は、受信したメッセージにおける情報の欠損や規則性の欠損を検出して、ＥＣＵ１０−２側に異常、すなわち過負荷状態が生じている可能性があると判定する。
【００５０】
（情報の欠損が生じたことを検出する判定処理）
ＥＣＵ１０は、情報の欠損が生じたことを検出する判定処理を、例えば、図５に示す判定規則に従って実施する。図５は、情報の欠損が生じたことを検出する判定処理の一例を示す図である。ＥＣＵ１０は、誤り検査用情報の異常と更新検査情報の異常の少なくとも何れかを検出した場合に、受信メッセージに異常があったと判定する。
【００５１】
例えば、上記「（１）送信装置になるＥＣＵ１０のハードウェアの故障」を検出する場合には、ＥＣＵ１０−２は、上記の誤り検出処理の対象として、ＥＣＵ１０−１から受信したメッセージの誤り検査用情報を検査の対象に含めた検査を実施する。ＥＣＵ１０−２は、メッセージの誤り検査用情報として、ＥＣＵ１０−１から受信したメッセージのフレームＦにおけるＣＲＣ、ユーザデータに付与されるＳＵＭ値やパリティ等の各種誤り検査用情報のうちの少なくとも何れかを検査の対象に含める。
【００５２】
ＥＣＵ１０−２は、これらの各種誤り検査用情報のうちから少なくとも何れかを上記の誤り検出処理の対象として選択して、上記の検出を実施してもよく、或いは、複数の種類の誤り検査用情報を組み合わせて上記の検出を実施してもよい。
【００５３】
また、例えば、上記「（２）送信機器になるＥＣＵ１０の過負荷状態」を検出する場合には、ＥＣＵ１０−２は、フレームＦを送信する度に変化する情報、すなわち規則性が保たれた更新検査情報を付与したフレームＦを送信する。ＥＣＵ１０−１は、更新検査情報が示す規則性を検出することにより、規則性が保たれた更新検査情報が示す規則性に欠損が生じたことを検出できる。ＥＣＵ１０−１は、応答メッセージにおける更新検査情報の欠損の検出結果から、ＥＣＵ１０−１の過負荷状態を検出してもよい。
【００５４】
なお、ＥＣＵ１０は、更新検査情報の異常の検出については、予め定められた期間にＮ回以上の異常の検出が累積された場合に、異常の発生と判定するように、異常検出時の保護段数に従って検出するようにしてもよい。このように、ＥＣＵ１０は、保護段数を定めることにより異常状態の過検知を防ぎつつ、情報の欠損が生じたことを検出する判定を実施できる。
【００５５】
（フェイルセーフ処理）
上記のとおり本実施形態におけるＥＣＵ１０は、フェイルセーフ処理を実施するために、自ら何らかの異常状態を検知して、或いは、他のＥＣＵ１０からの情報の欠損や規則性の欠損による異常の通知を受けて、そのＥＣＵ１０の異常を検知する。何らかの異常が生じていることを検知したＥＣＵ１０、或いは、他のＥＣＵ１０の異常の通知を受けたＥＣＵ１０は、少なくとも自らの制御状態を安全な状態を維持するようにフェイルセーフ処理を実施する。ＥＣＵ１０におけるフェイルセーフ処理は、各ＥＣＵ１０に共通するものと、ＥＣＵ１０のそれぞれに割り付けられた機能の種類に応じて予め決定されるものがある。
【００５６】
以下、各ＥＣＵ１０が共通して実施するフェイルセーフ処理を例示して説明する。各ＥＣＵ１０は、ネットワークＮＷにおける不正な行為が実施されるか否かに関係なく、検出された情報の欠損や規則性の欠損に応じたフェイルセーフ処理をそれぞれ実施する。
【００５７】
ＥＣＵ１０−２は、ＥＣＵ１０−１から受信したメッセージから情報の欠損や規則性の欠損を検出した場合、ＥＣＵ１０−１から送信された制御情報（ユーザデータ）等をＥＣＵ１０−２の処理に用いない、というルールにのっとったフェイルセーフ処理を実施する。このようなＥＣＵ１０−２は、上記の制御情報を含むメッセージを受信した場合、上記のメッセージを受信したこと自体を取り消すように処理したり、或いは、受信したメッセージに含まれる制御情報を破棄したりするなどの予め定められた処理を実施してもよい。
【００５８】
上記のように、ＥＣＵ１０−２は、送信された制御情報等を処理に用いないようにする。ただし、処理を実施するには、上記の制御情報に代わる何らかの情報が必要になる。ＥＣＵ１０−２は、処理に用いない制御情報等を、所望の動作を実施させるための標準的な値に置き換えてもよい。この場合、ＥＣＵ１０−２は、例えば、所望の動作を実施させるための標準的な値を記憶部２０に記憶させておき、メッセージに含まれた制御情報等が示す値を上記の標準的な値に置き換える。ＥＣＵ１０−２は、制御情報等が示す値を置き換えるための仮の値として標準的な値を予め用意しておくことで、上記の仮の値を利用することが可能になり、安全な状態を維持して所定の処理を実施することができる。
【００５９】
図６と図７を参照して、上記の受信処理を実施するＥＣＵ１０の動作を説明する。図６と図７は、ネットワークＮＷにおける不正な行為が検出されない場合の車両用通信システムの動作を示すシーケンス図である。
【００６０】
各ＥＣＵ１０は、宛先のＥＣＵ等を識別可能なＩＤを含むメッセージをネットワークＮＷに送信する（Ｓ１０１）。例えば、図６に例示するＥＣＵ１０−１から送るメッセージのＩＤは、ＥＣＵ１０−２宛のメッセージであることを示す。
【００６１】
次に、ＥＣＵ１０−２は、ＥＣＵ１０−１から送信されたメッセージを受信して（Ｓ２０１）、受信メッセージに対応する応答メッセージをネットワークＮＷに送信する（Ｓ２０２）。ＥＣＵ１０−２は、受信したメッセージに異常を示す情報が含まれるか否かの判定を実施する。ＥＣＵ１０−２は、その判定の結果、受信したメッセージに情報の欠損や規則性の欠損がないことを検出する。これにより、ＥＣＵ１０−２は、少なくとも、ＥＣＵ１０−１が正常に稼働中であると判定して、ＥＣＵ１０−２自身の処理として、フェイルセーフ処理を実施しない。
【００６２】
次に、ＥＣＵ１０−１は、ＥＣＵ１０−２から応答メッセージを受信する（Ｓ１０２）。これにより、ＥＣＵ１０−１は、ＥＣＵ１０−２が正常にメッセージを受信できたことを検知できる。
【００６３】
上記のとおり、Ｓ１０１からＳ１０２までの一連の手順で、ＥＣＵ１０−１からＥＣＵ１０−２に対するメッセージの送信が完了する。さらに、上記のＳ１０１からＳ１０２までの一連のシーケンスを繰り返すことにより、ＥＣＵ１０−１からＥＣＵ１０−２に対するメッセージの送信を繰り返すことができる。
【００６４】
一方、図７に示すように、ＥＣＵ１０−１が所定の異常な状態にある場合には、ＥＣＵ１０−１がメッセージをネットワークＮＷに送信すると、そのメッセージには所定の欠損が生じる（Ｓ１１１）。
【００６５】
次に、ＥＣＵ１０−２は、ＥＣＵ１０−１から送信されたメッセージを受信して（Ｓ２１１）、受信メッセージに対応する応答メッセージをネットワークＮＷに送信する（Ｓ２１２）。さらに、ＥＣＵ１０−２は、受信したメッセージに情報の欠損や規則性の欠損があるか否かの判定を実施する。ＥＣＵ１０−２は、その判定の結果、受信したメッセージに情報の欠損や規則性の欠損があったことを検出して、ＥＣＵ１０−２自身の処理として、フェイルセーフ処理を実施する（Ｓ２１３）。
【００６６】
次に、ＥＣＵ１０−１は、ＥＣＵ１０−２から応答メッセージを受信する（Ｓ１１２）。これにより、ＥＣＵ１０−１は、ＥＣＵ１０−２が正常にメッセージを受信できなかったことを検知できる。
【００６７】
なお、ＥＣＵ１０−２は、Ｓ２１３において、受信したメッセージに異常すなわち情報の欠損や規則性の欠損があったことを検出した場合には、異常を検出した以降の受信処理を制限する。例えば、ＥＣＵ１０−２は、異常を起こしている送信側の装置のＥＣＵ１０−１と同一のＩＤを用いる装置（例えば不正にＥＣＵ１０−１と同一のＩＤを用いるノード５０）から受信するデータを、ＥＣＵ１０−２の処理に用いないようにする。例えば、ＥＣＵ１０−２は、受信したメッセージを破棄する、或いは、受信したメッセージが示す情報を、同情報が示す値とは別の値に置換して、受信したメッセージに係る処理を実行する。
【００６８】
次に、図８から図１２を参照して、ネットワークＮＷにおける不正な行為が実施された場合の車両用通信システムについて説明する。
【００６９】
ここでは、正規な外部装置ではないノード５０がＤＬＣ３に接続された場合を例示する。ノード５０は、ネットワークＮＷにおける不正な行為として、なりすまし、ＤｏＳ攻撃、不正アクセス等のネットワークＮＷにおける不正な行為を実施し、例えば、ノード５０は、車両の走行時等に活性化し、車両用通信システム１の処理に影響を及ぼすような処理を実施する。
【００７０】
以下、ネットワークＮＷにおける不正な行為として、なりすましが実施された場合について説明する。
【００７１】
比較例の車両用通信システムに係るネットワークＮＷにおいて、なりすましが実施された場合を図８に例示する。図８は、比較例の車両用通信システムの動作を例示する図である。ノード５０は、ＥＣＵ１０−１になりすまして、ＥＣＵ１０−２宛に「なりすましフレームＡ」を送信する。ＥＣＵ１０−２は、「なりすましフレームＡ」を受信しても、正当なフレームＦとの違いを識別することができず、「なりすましフレームＡ」による不正なメッセージを受信してしまう。ＥＣＵ１０−２以外の他のＥＣＵ１０も、ＥＣＵ１０−１になりすましたノード５０がネットワークＮＷに接続されていることを検出することができないことから、比較例の車両用通信システムは、ノード５０によるなりすましの影響を低減することができない。
【００７２】
これに対し、本実施形態の車両用通信システム１におけるＥＣＵ１０−１は、自ＥＣＵ１０−１になりすますノード５０がネットワークＮＷに接続されていることを検出する。以下、ＥＵＣ１０−１の詳細について説明する。
【００７３】
図９は、本実施形態のＥＣＵ１０−１の構成を示す図である。図２と同じ構成には、上記の符号と同じ符号を附す。「ｋ−１」と記載する符号を附した構成は、図２において符号「ｋ」を附した構成に対応する。
【００７４】
ＥＣＵ１０−１は、記憶部２０−１と、制御部３０−１と、ＣＡＮコントローラ３６と、ＣＡＮトランシーバ３８とを備える。以下、ＥＣＵ１０−１について、上記のＥＣＵ１０と異なる点を中心に説明する。
【００７５】
記憶部２０−１は、アプリケーションプログラム２２、通信制御プログラム２４−１等のプログラム、上記のプログラムが参照する各種情報などを格納する。
【００７６】
通信制御プログラム２４−１は、通信制御プログラム２４と同様のプログラムと、ネットワークＮＷにおける不正な行為として、なりすましが実施されたことを検出する処理を実行するためのプログラムとを含む。なりすましを検出する処理の詳細は後述する。
【００７７】
制御部３０−１は、中央制御部３２と、通信制御部３４−１とを備える。
【００７８】
通信制御部３４−１は、通信制御プログラム２４−１を実行することにより機能し、中央制御部３２からの制御を受けＥＣＵ１０−１の通信処理を実行する。通信制御部３４−１は、ＣＡＮトランシーバ３８により受信されたフレームＦの受信ＩＤとＩＤテーブルの登録送信ＩＤとを参照し、なりすましが実施されたか否かと、受信されたフレームＦに関して自装置の中央制御部３２が使用する情報が含まれたフレームＦであるか否かとの双方の判定を実施する。
【００７９】
図１０は、ＥＣＵ１０−１が不正な行為を検出する際に実施する処理の概要を示すフローチャートである。ＥＣＵ１０−１における通信制御部３４−１は、下記の手順に従って所定の処理を実施する。
【００８０】
まず、通信制御部３４−１は、ネットワークＮＷにおける不正な行為（本実施形態であれば、なりすまし）の検出処理を実施する（Ｓ２０）。例えば、通信制御部３４−１は、ＥＣＵ１０−１が送信元であることを示すＩＤが付されたメッセージが、自ＥＣＵ１０−１以外の他の装置から送信されたことを検出して、なりすましというネットワークＮＷにおける不正な行為が実施されたと判定する。
【００８１】
上記の判定の際に、通信制御部３４−１は、ＩＤテーブルに格納されている登録ＩＤのうち登録送信ＩＤを利用する。通信制御部３４−１は、受信されたフレームＦに関して、登録送信ＩＤと同じ値の受信ＩＤが附されたフレームＦであるか否かを判定することで、ネットワークＮＷにおける不正な状況が検出されたか否か、要するに、なりすましが実施されたか否かを判定する（Ｓ２２）。
【００８２】
Ｓ２２における判定により、なりすましが実施されたと判定した場合に（Ｓ２２：Ｙｅｓ）、通信制御部３４−１は、不正な行為に対するフェイルセーフ処理を、他のＥＣＵ１０に対して実施させるように制御する（Ｓ２６）。
【００８３】
例えば、通信制御部３４−１は、上記のようにネットワークにおける不正な行為を検出した場合にも、所定の異常状態が生じた場合と同様の方法を利用して、他のＥＣＵ１０に対してフェイルセーフ処理を実施させるように制御する。通信制御部３４−１は、所定の異常状態が生じた場合と同様に、情報の欠損や規則性の欠損といった所定の欠損が生じたメッセージを生成する。所定の異常状態には、例えば、装置が故障した状態、装置の処理が過負荷になった状態等が含まれる。所定の欠損が生じたメッセージとは、メッセージに含まれる全ての情報のうち少なくとも一部の値を他の値に変更することにより、ＥＣＵ１０−２が正当なメッセージであると判定できないようにしたメッセージのことである。所定の欠損が生じるようにＥＣＵ１０−１が値を変更する情報には、ＥＣＵ１０−２宛にメッセージを送達可能とするために必要とされるＩＤ等の情報は含まれない。例えば、ＥＣＵ１０−１は、誤り検出に用いる情報、データを更新したことを示す更新検査情報等の情報に欠損を生じさせる。
【００８４】
より具体的な一例を示す。通信制御部３４−１は、送信するメッセージの伝送誤りを検出するために付加するＣＲＣ、ＳＵＭ値、パリティ等の誤り検出符号を、正当な値と異なる値にして、所定の欠損を生じたメッセージを生成する。或いは、通信制御部３４−１は、メッセージに含めて送信される情報が更新されたことを示す更新検査情報を、正当な値と異なる値にして、所定の欠損を生じたメッセージを生成する。
【００８５】
通信制御部３４−１は、上記の所定の欠損が生じたメッセージを、ＣＡＮコントローラ３６を介してバス２に送信する。これにより、通信制御部３４−１は、宛先として選択した他のＥＣＵ１０、例えばＥＣＵ１０−２に対してフェイルセーフ処理を実施させるように制御する。
【００８６】
ＥＣＵ１０−２は、上記のような所定の欠損が生じたメッセージを受信することで、フェイルセーフ処理を実施する。ＥＣＵ１０−２は、所定の欠損が生じたメッセージを受信したことに応じて、受信エラーを示す応答メッセージをＥＣＵ１０−１宛に送信する。
【００８７】
次に、通信制御部３４−１は、受信エラーを示す応答メッセージをＥＣＵ１０−２から受信して（Ｓ２７）、ＥＣＵ１０−２において受信処理の過程でエラーが検出されたことを検出し、この図に示す手順の処理を終える。
【００８８】
一方、Ｓ２２における判定により、なりすましが実施されなかったと判定した場合に（Ｓ２２：Ｎｏ）、通信制御部３４−１は、受信されたフレームＦに関して、自装置のフェイルセーフ処理が必要とされている状況か否かを判定する処理を含む通常の受信処理を実施する（Ｓ２４）。例えば、通信制御部３４−１は、前述の図４におけるＳ１１からＳ１６までの処理を実施する。通信制御部３４−１は、受信メッセージに対する受信処理を完了させて、この図に示す手順の処理を終える。
【００８９】
図１１と図１２を参照して、ネットワークＮＷにおけるなりすましに対する対策を実施する車両用通信システム１について説明する。図１１は、なりすましが実施された場合の車両用通信システム１の動作を示すシーケンス図である。図１２は、ネットワークＮＷにおいて、なりすましが実施された場合の車両用通信システム１の動作を示す図である。
【００９０】
図１１に示すように、ノード５０は、ＥＣＵ１０−１になりすまして送信元になり、ＥＣＵ１０−２宛のメッセージをネットワークＮＷに送信する（Ｓ５２１）。上記メッセージを含むフレームＦ（以下、なりすましフレームＡという。）のＩＤから、送信元がＥＣＵ１０−１であり、宛先がＥＣＵ１０−２であることがわかる。ただし、上記のとおりメッセージの真の送信元は、ノード５０でありＥＣＵ１０−１ではない。
【００９１】
同メッセージは、ネットワークＮＷに接続された各ＥＣＵ１０に届く。ＥＣＵ１０−２は、なりすましフレームＡのＩＤが示す宛先が自装置を指定しているので、同メッセージを受信する（Ｓ２２１）。ＥＣＵ１０−３は、なりすましフレームＡのＩＤが示す宛先が自装置を示す値とは異なる値であるので、同メッセージを受信しない（Ｓ３２１）。一方、ＥＣＵ１０−１は、上記メッセージを含むなりすましフレームＡに、送信元が自装置であることを示す値のＩＤが付されていることを検出して、検出の結果により送信元がなりすまされたメッセージであると識別して、同メッセージを受信する（Ｓ１２１）。
【００９２】
次に、ＥＣＵ１０−２は、ノード５０から送信されたメッセージに対応する応答メッセージをネットワークＮＷに送信する（Ｓ２２２）。ＥＣＵ１０−１は、ＥＣＵ１０−２から応答メッセージを受信する（Ｓ１２２）。なお、以下に示す処理は、Ｓ２２２とＳ１２２の処理と独立させて実施することができ、ＥＣＵ１０−１は、Ｓ１２２の完了を待たずに以下の処理を実施することができる。
【００９３】
次に、ＥＣＵ１０−１は、Ｓ１２１において受信したメッセージが、自ＥＣＵ１０−１にとって送信元がなりすまされたメッセージとして検出することを通して、ＥＣＵ１０−１は、なりすましというネットワークＮＷにおける不正な行為が実施されたと判定する（Ｓ１２３）。
【００９４】
次に、ＥＣＵ１０−１は、ＥＣＵ１０−２にフェイルセーフ処理を実施させるために、自装置が所定の異常状態にある場合と同様の所定の欠損が生じたメッセージを生成して、生成したメッセージを含むフレームＢをＥＣＵ１０−２宛に送信する（Ｓ１２４）。
【００９５】
次に、ＥＣＵ１０−２は、ＥＣＵ１０−１から、メッセージを受信して（Ｓ２２４）、受信したメッセージに異常があるか否かの判定を実施する。ＥＣＵ１０−２は、受信したメッセージに欠損が有ったことを検出し、このメッセージに対する応答メッセージを生成して送信する（Ｓ２２５）。ＥＣＵ１０−２は、上記の応答メッセージを、再送を要求するメッセージとして送信してもよい。
【００９６】
次に、ＥＣＵ１０−１は、ＥＣＵ１０−２から応答メッセージを受信する（Ｓ１２５）。これにより、ＥＣＵ１０−１は、ＥＣＵ１０−２が正常にメッセージを受信できなかったことを検知できる。
【００９７】
さらに、ＥＣＵ１０−２は、その判定の結果に基づいたＥＣＵ１０−２自身の処理としてのフェイルセーフ処理を実施する（Ｓ２２６）。
【００９８】
以上に説明した、第１の実施形態によれば、車両用通信システム１は、少なくともＥＣＵ１０−１とＥＣＵ１０−２とを備える。ＥＣＵ１０−１は、ネットワークＮＷに接続され、自ＥＣＵ１０−１が所定の異常状態にある場合に、ネットワークＮＷに送信するメッセージに所定の欠損が生じる。ＥＣＵ１０−２は、ネットワークＮＷに接続され、ネットワークＮＷから受信するメッセージにおいて所定の欠損が検出された場合に所定のフェイルセーフ処理を行う。さらにＥＣＵ１０−１は、ネットワークＮＷにおける不正な行為を検出した場合にも、自装置が所定の異常状態にある場合と同様の所定の欠損が生じたメッセージを生成して送信する。これにより、車両用通信システム１は、不正な行為の対象とされたＥＣＵ１０に不正な行為の影響がおよぶことを軽減し、より簡便な構成により、ネットワークＮＷにおける不正な行為からＥＣＵ１０を守ることができる。
【００９９】
（第２の実施形態）
以下、第２の実施形態について説明する。第２の実施形態において、ネットワークＮＷにおける不正な行為がＤｏＳ（Denial of Service）攻撃である場合について説明する。より具体的には、第１の実施形態において、車両用通信システム１がノード５０によるなりすまし対する処理を実施する場合を示したが、これに代えて、本実施形態の車両用通信システム１Ａは、不正な行為がノード５０によるＤｏＳ攻撃に対する処理を実施する。以下、この点を中心に説明する。
【０１００】
車両用通信システム１Ａは、ＥＣＵ１０−１ＡとＥＣＵ１０−２とＥＣＵ１０−３とを備える。ＥＣＵ１０−１Ａは、第１の実施形態のＥＣＵ１０−１に対応する。ＥＣＵ１０−１は、なりすましを検出したが、これに代えて、ＥＣＵ１０−１Ａは、ＤｏＳ攻撃を検出する。ＥＣＵ１０−１Ａは、記憶部２０−１Ａと、制御部３０−１Ａと、ＣＡＮコントローラ３６と、ＣＡＮトランシーバ３８とを備える。以下、ＥＣＵ１０−１Ａについて、上記のＥＣＵ１０−１と異なる点を中心に説明する。
【０１０１】
記憶部２０−１Ａは、アプリケーションプログラム２２や、通信制御プログラム２４−１Ａ等のプログラムと、上記のプログラムが参照する各種情報を格納する。
【０１０２】
通信制御プログラム２４−１Ａは、通信制御プログラム２４と同様のプログラムと、ネットワークＮＷにおける不正な行為として、ＤｏＳ攻撃が実施されたことを検出する処理を実行するためのプログラムとを含む。ＤｏＳ攻撃を検出する処理の詳細は後述する。
【０１０３】
制御部３０−１Ａは、中央制御部３２と、通信制御部３４−１Ａとを備える。
【０１０４】
通信制御部３４−１Ａは、通信制御プログラム２４−１Ａを実行することにより機能し、中央制御部３２からの制御を受けＥＣＵ１０−１Ａの通信処理を実行する。通信制御部３４−１Ａは、他のＥＣＵ１０に対するＤｏＳ攻撃が実施されているか否かを判定する。
【０１０５】
例えば、前述の図１０を参照して、ＥＣＵ１０−１Ａの処理について説明する。
【０１０６】
通信制御部３４−１Ａは、ネットワークＮＷにおける不正な行為の検出処理（Ｓ２０）として、他のＥＣＵ１０に対して送信したメッセージに対応する応答メッセージの受信状況を検出する。通信制御部３４−１Ａは、他のＥＣＵ１０に対して送信したメッセージに対応する応答メッセージを所定の時間内に受信したか否かの判定により、不正な状況を検出したか否かを判定する（Ｓ２２）。通信制御部３４−１Ａは、応答メッセージを所定の時間内に受信できなかった場合に、メッセージを先に送付した他のＥＣＵ１０が応答メッセージを返信できない状況にあると判定し、他のＥＣＵ１０に対するＤｏＳ攻撃が実施されている可能性が有ると判定する。Ｓ２２における判定により、ネットワークＮＷにおける不正な行為の一種であるＤｏＳ攻撃が実施されている可能性が有ると判定した（Ｓ２２：Ｙｅｓ）後、通信制御部３４−１Ａは、前述の通信制御部３４−１と同様の処理を実施する（Ｓ２６、Ｓ２７）。
【０１０７】
一方、Ｓ２２における判定により、応答メッセージを所定の時間内に受信できた場合に（Ｓ２２：Ｎｏ）、通信制御部３４−１Ａは、メッセージを先に送付した他のＥＣＵ１０が正常に稼働しており、他のＥＣＵ１０に対するＤｏＳ攻撃が実施されていないと判定し、前述のＳ２４の処理と同様に処理を実施する。
【０１０８】
図１３を参照して、ネットワークＮＷにおけるＤｏＳ攻撃に対する対策を実施する車両用通信システム１Ａについて説明する。図１３は、ＤｏＳ攻撃が実施された場合の車両用通信システム１Ａの動作を示すシーケンス図である。なお、以下の説明において、ノード５０は、ＥＣＵ１０−２に対するＤｏＳ攻撃を行うためのフレームＤｏＳをネットワークＮＷに送信するものと仮定する。
【０１０９】
図１３に示すように、ＥＣＵ１０−１Ａは、ＥＣＵ１０−２宛のメッセージであることを示すＩＤを含むメッセージをネットワークＮＷに送信する（Ｓ１３１）。
【０１１０】
次に、ＥＣＵ１０−２は、ＥＣＵ１０−１Ａから送信されたメッセージを受信して（Ｓ２３１）、受信メッセージに対応する応答メッセージをネットワークＮＷに送信しようとするが（Ｓ２３１）、ノード５０によるＥＣＵ１０−２に対するＤｏＳ攻撃を受け、応答の送信ができない状況に陥る（Ｓ２２２）。
【０１１１】
そのため、ＥＣＵ１０−１Ａは、ＥＣＵ１０−２から応答メッセージの到来を待機するが、所定の時間内に応答メッセージを検出できない（Ｓ１３２）。これにより、ＥＣＵ１０−１は、ノード５０によるＥＣＵ１０−２に対するＤｏＳ攻撃（ネットワークＮＷにおける不正な行為）が生じているものと判定する（Ｓ１３３）。
【０１１２】
次に、ＥＣＵ１０−１Ａは、ＥＣＵ１０−２にフェイルセーフ処理を実施させるために、自装置が所定の異常状態にある場合と同様の所定の欠損が生じたメッセージを生成して、ＥＣＵ１０−２宛に送信する（Ｓ１３４）。
【０１１３】
次に、ＥＣＵ１０−２は、ＥＣＵ１０−１Ａから、メッセージを受信して（Ｓ２３４）、受信したメッセージに異常があるか否かの判定を実施する。ＥＣＵ１０−２は、受信したメッセージに欠損が有ったことを検出し、このメッセージに対する応答メッセージを生成して送信する（Ｓ２３５）。ＥＣＵ１０−２は、上記の応答メッセージを、再送を要求するメッセージとして送信してもよい。
【０１１４】
次に、ＥＣＵ１０−１Ａは、ＥＣＵ１０−２から応答メッセージを受信する（Ｓ１３５）。これにより、ＥＣＵ１０−１Ａは、ＥＣＵ１０−２が正常にメッセージを受信できなかったことを検知できる。
【０１１５】
さらに、ＥＣＵ１０−２は、その判定の結果に基づいたＥＣＵ１０−２自身の処理としてのフェイルセーフ処理を実施する（Ｓ２３６）。
【０１１６】
以上に説明した、第２の実施形態によれば、車両用通信システム１において、ＥＣＵ１０−１Ａは、車両用通信システム１を構成するＥＣＵ１０宛に所定量のメッセージが送信されたことを検出したことにより、ネットワークＮＷにおける不正な行為を検出したと判定する。車両用通信システム１は、このようなＤｏＳ攻撃によりＥＣＵ１０−２の処理が滞っている状況を検出したＥＣＵ１０−１Ａから、ＥＣＵ１０−２にフェイルセーフ処理を実施させて、その制御状態を安全な状態を維持できるようにする。
【０１１７】
（第３の実施形態）
以下、第３の実施形態について説明する。第３の実施形態において、ネットワークＮＷにおける不正な行為が不正アクセスである場合について説明する。より具体的には、第１の実施形態において、車両用通信システム１がノード５０によるなりすまし対する処理を実施する場合を示したが、これに代えて、本実施形態の車両用通信システム１Ｂは、ノード５０によるＥＣＵ１０−１に対する不正アクセスに対する処理を実施する。例えば、自ＥＣＵ１０宛の正当なメッセージと異なるメッセージがＥＣＵ１０宛に送信されたことは、上記の不正アクセスに含まれる。以下、この点を中心に説明する。
【０１１８】
車両用通信システム１Ｂは、ＥＣＵ１０−１ＢとＥＣＵ１０−２とＥＣＵ１０−３とを備える。ＥＣＵ１０−１Ｂは、第１の実施形態のＥＣＵ１０−１に対応する。ＥＣＵ１０−１は、なりすましを検出したが、これに代えて、ＥＣＵ１０−１Ｂは、自装置に対する不正アクセスを検出する。ＥＣＵ１０−１Ｂは、記憶部２０−１Ｂと、制御部３０−１Ｂと、ＣＡＮコントローラ３６と、ＣＡＮトランシーバ３８とを備える。以下、ＥＣＵ１０−１Ｂについて、上記のＥＣＵ１０−１と異なる点を中心に説明する。
【０１１９】
記憶部２０−１は、アプリケーションプログラム２２や、通信制御プログラム２４−１Ｂ等のプログラムと、上記のプログラムが参照する各種情報を格納する。
【０１２０】
通信制御プログラム２４−１Ｂは、通信制御プログラム２４と同様のプログラムと、ネットワークＮＷにおける不正な行為として、不正アクセスが実施されたことを検出する処理を実行するためのプログラムとを含む。不正アクセスを検出する処理の詳細は後述する。
【０１２１】
制御部３０−１Ｂは、中央制御部３２と、通信制御部３４−１Ｂとを備える。
【０１２２】
通信制御部３４−１Ｂは、通信制御プログラム２４−１Ｂを実行することにより機能し、中央制御部３２からの制御を受けＥＣＵ１０−１Ｂの通信処理を実行する。通信制御部３４−１Ｂは、次装置に対する不正アクセスが実施されているか否かを判定する。
【０１２３】
例えば、前述の図１０を参照して、ＥＣＵ１０−１Ｂの処理について説明する。
【０１２４】
通信制御部３４−１Ｂは、ネットワークＮＷにおける不正な行為の検出処理（Ｓ２０）として、到来したフレームＦのＩＤと記憶部２０のＩＤテーブルに格納されている登録受信ＩＤとを対比して、自装置に対する不正なメッセージが到来したことを検出する。通信制御部３４−１Ｂは、自装置に対する不正なメッセージが到来したことを検出することより、不正な行為（不正アクセス）が実施されている状況を検出したか否かを判定する（Ｓ２２）。Ｓ２２における判定により、ネットワークＮＷにおける不正な行為の一種である不正アクセスが実施されている可能性が有ると判定し（Ｓ２２：Ｙｅｓ）、通信制御部３４−１Ｂは、不正な行為に対するフェイルセーフ処理を、自装置において実施するように制御するとともに、自装置がメッセージを送る宛先のＥＣＵ１０においても同様に、不正な行為に対するフェイルセーフ処理を実施するように制御する（Ｓ２６）。
【０１２５】
例えば、通信制御部３４−１Ｂは、上記のようにネットワークにおける不正な行為を検出した場合にも、所定の異常状態が生じた場合と同様の方法を利用して、自装置がメッセージを送る宛先のＥＣＵ１０に対してフェイルセーフ処理を実施させるように制御する。通信制御部３４−１Ｂは、前述の通信制御部３４−１と同様の方法で、所定の異常状態が生じた場合と同様に、情報の欠損や規則性の欠損といった所定の欠損が生じたメッセージを生成する。
【０１２６】
以降の処理は、前述の通信制御部３４−１と同様の処理を実施する（Ｓ２７）。
【０１２７】
一方、Ｓ２２における判定により、不正な状況を検出しなかった場合に（Ｓ２２：Ｎｏ）、通信制御部３４−１Ｂは、不正アクセスが実施されていないと判定し、前述のＳ２４の処理と同様の処理を実施する。
【０１２８】
図１４を参照して、ネットワークＮＷにおける不正アクセスに対する対策を実施する車両用通信システム１Ｂについて説明する。図１４は、不正アクセスが実施された場合の車両用通信システム１の動作を示すシーケンス図である。
【０１２９】
図１４に示すように、ノード５０は、ＥＣＵ１０−１に不正アクセスを試みるためのメッセージを含むフレームＦをネットワークＮＷに送信する（Ｓ５４１）。上記メッセージを含むフレームＦのＩＤによれば、少なくとも宛先がＥＣＵ１０−１であることを示すものである。
【０１３０】
同メッセージは、ネットワークＮＷに接続された各ＥＣＵ１０に届く。ＥＣＵ１０−１は、フレームＦのＩＤが示す宛先に一致しているので、同メッセージを受信する（Ｓ１４１）。他のＥＣＵ１０は、フレームＦのＩＤが示す宛先と異なるため、同メッセージを受信しない（Ｓ２４１、Ｓ３４１）。
【０１３１】
次に、ＥＣＵ１０−１は、Ｓ１４１において受信したメッセージが、自ＥＣＵ１０−１に対する不正アクセスを目的としたメッセージを検出することを通して、ＥＣＵ１０−１は、不正アクセスというネットワークＮＷにおける不正な行為が実施されたと判定する（Ｓ１４３）。
【０１３２】
次に、ＥＣＵ１０−１は、他のＥＣＵ１０にフェイルセーフ処理を実施させるために、自装置が所定の異常状態にある場合と同様の所定の欠損が生じたメッセージを生成して、生成したメッセージを含むフレームを、例えばＥＣＵ１０−２宛に送信する（Ｓ１４４）。
【０１３３】
次に、ＥＣＵ１０−２は、ＥＣＵ１０−１から、メッセージを受信して（Ｓ２４４）、受信したメッセージに異常があるか否かの判定を実施する。ＥＣＵ１０−２は、受信したメッセージに欠損が有ったことを検出し、その結果に基づいたＥＣＵ１０−２自身の処理としてのフェイルセーフ処理を実施する（Ｓ２２６）。
【０１３４】
さらに、ＥＣＵ１０−１は、自装置におけるフェイルセーフ処理を実施する（Ｓ１４６）。
【０１３５】
以上に説明した、第３の実施形態によれば、車両用通信システム１Ｂにおいて、ＥＣＵ１０−１は、自ＥＣＵ１０−１宛の正当なメッセージと異なるメッセージがＥＣＵ１０−１宛に送信されたことを検出したことにより、ネットワークＮＷにおける不正な行為を検出したと判定する。
【０１３６】
なお、なりすましの検知方法、ＤｏＳ攻撃の検知方法、不正アクセスの検知方法は上記の例に限らずその他の方法を用いることができる。
【０１３７】
以上説明した少なくともひとつの実施形態によれば、通信システムは、送信装置と受信装置とを有する。送信装置は、ネットワークに接続され、自装置が所定の異常状態にある場合に前記ネットワークに送信するメッセージが所定の欠損が生じたメッセージとなる。受信装置は、前記ネットワークに接続され、前記ネットワークから受信するメッセージにおいて前記所定の欠損が検出された場合に所定のフェイルセーフ処理を行う。送信装置は、前記ネットワークにおける不正な行為を検出した場合にも、前記自装置が所定の異常状態にある場合と同様の所定の欠損が生じたメッセージを生成して送信する。これにより、通信システムは、より簡便な構成により、ネットワークにおける不正な行為から制御装置を守ることができる。
【０１３８】
なお、上記の実施形態において、欠損を生じたメッセージを受信した受信側ＥＣＵ１０は、送信側ＥＣＵ１０における故障に起因して生じた欠損の場合と送信側ＥＣＵ１０が不正な行為を検出したことに起因して生じた欠損の場合とのいずれの場合も、図４に示す共通したプロセスによりフェイルセーフ処理を実行する。これにより、車両用通信システム１（１Ａ、１Ｂ）は、フェイルセーフ処理を実施するための判断プロセスをＥＣＵ１０の処理に追加する必要もなく、より簡便な構成により、ネットワークにおける不正な行為からＥＣＵ１０を守ることができる。
【０１３９】
また、受信装置になるＥＣＵ１０が異常検知等の目的で有する検出機能を兼用することで、なりすましなどのネットワークＮＷにおける不正な行為が実施されたことを通知する新たなメッセージを、ＥＣＵ１０間の通信のメッセージとして用意する必要がない。また、新たなメッセージを異常の通知に利用するための通信処理をＥＣＵ１０の処理に追加することなく、ＥＣＵ１０は不正な行為が実施されたことを示す情報を伝達することができる。ＥＣＵ１０間で仮に新たなメッセージを利用することにした場合には、ＥＣＵ１０およびＥＣＵ１０に関連する各装置に上記の通信処理の機能をそれぞれ追加することが必要となる。ＥＣＵ１０およびＥＣＵ１０に関連する装置のメーカーが異なる場合には、車両用通信システム１の設計から検証までに要する労力が必要とされるが、本実施形態の車両用通信システム１であれば、上記のような煩雑な処理を要することなく、実施することができる。
以上の観点からも、本実施形態の車両用通信システム１は、より簡便な構成を用いて、ネットワークにおける不正な行為から車両制御装置を守ることができるものである。
【０１４０】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【０１４１】
１、１Ａ、１Ｂ‥車両用通信システム（通信システム）、２…バス、３…ＤＬＣ、１０…ＥＣＵ（制御装置）、１０−１…ＥＣＵ（送信装置）、１０−２…ＥＣＵ（受信装置）、１０−３…ＥＣＵ、２０…記憶部、３０…制御部、３６…ＣＡＮコントローラ、３８…ＣＡＮトランシーバ、５０…ノード、ＮＷ…ネットワーク
【図１】
0006286749.tif 000002
【図２】
0006286749.tif 000003
【図３】
0006286749.tif 000004
【図４】
0006286749.tif 000005
【図５】
0006286749.tif 000006
【図６】
0006286749.tif 000007
【図７】
0006286749.tif 000008
【図８】
0006286749.tif 000009
【図９】
0006286749.tif 000010
【図１０】
0006286749.tif 000011
【図１１】
0006286749.tif 000012
【図１２】
0006286749.tif 000013
【図１３】
0006286749.tif 000014
【図１４】
0006286749.tif 000015