(57)【特許請求の範囲】
【請求項１】
それぞれが通信線に接続されて該通信線を介したメッセージの送受信を行う通信部を複数備え、前記通信部間でのメッセージを中継する中継装置において、
前記通信部が受信したメッセージを記憶するメッセージ記憶部と、
メッセージの中継処理を行うソフトウェアプログラムを記憶するプログラム記憶部と、
該プログラム記憶部に記憶されたソフトウェアプログラムを実行してメッセージの中継処理を行う処理部と、
前記処理部から前記通信部へ中継すべきメッセージが与えられた場合に、該メッセージの正当性を前記メッセージ記憶部に記憶されたメッセージに基づいて判定する判定部と
を備え、
一の通信部にてメッセージを受信した場合に、該メッセージを前記メッセージ記憶部に記憶すると共に前記処理部へ与え、
前記処理部は、与えられたメッセージに基づいて、他の通信部が送信すべき中継用メッセージを出力し、
前記判定部は、前記処理部が出力した前記中継用メッセージと、前記メッセージ記憶部に記憶されたメッセージとを比較して前記中継用メッセージの正当性を判定し、正当であると判定した前記中継用メッセージを前記他の通信部へ与えること
を特徴とする中継装置。
【請求項２】
前記判定部が正当でないと判定したメッセージの前記通信部による送信を禁止する禁止部を備えること
を特徴とする請求項１に記載の中継装置。
【請求項３】
前記判定部は、前記処理部から前記通信部へ与えられた中継すべきメッセージと、前記メッセージ記憶部に記憶されたメッセージとが一致する場合に、前記中継すべきメッセージが正当であると判定すること
を特徴とする請求項１又は請求項２に記載の中継装置。
【請求項４】
前記判定部は、前記処理部から前記通信部へ与えられた中継すべきメッセージが、前記メッセージ記憶部に記憶されたいずれか一つのメッセージと一致する場合に、前記中継すべきメッセージが正当であると判定し、
前記メッセージ記憶部は、前記判定部により正当であると判定されて中継されたメッセージを削除すること
を特徴とする請求項３に記載の中継装置。
【請求項５】
前記判定部は、前記処理部から前記通信部へ与えられた中継すべきメッセージの一部分と、前記メッセージ記憶部に記憶されたメッセージの一部分とが一致する場合に、前記中継すべきメッセージが正当であると判定すること
を特徴とする請求項１又は請求項２に記載の中継装置。
【請求項６】
前記メッセージは、ＣＡＮの通信規格に従うメッセージであり、
前記一部分は、前記メッセージに含まれるＩＤ及びＣＲＣであること
を特徴とする請求項５に記載の中継装置。
【請求項７】
前記処理部は、前記プログラム記憶部に記憶されたソフトウェアプログラムの実行により、一又は複数の通信部から取得した複数のメッセージを統合した中継用メッセージを生成し、
前記判定部は、前記処理部から前記通信部へ与えられた前記中継用メッセージの一部分と、前記メッセージ記憶部に記憶された一又は複数のメッセージの一部分とが一致する場合に、前記中継用メッセージが正当であると判定すること
を特徴とする請求項３に記載の中継装置。
【請求項８】
前記処理部は、前記プログラム記憶部に記憶されたソフトウェアプログラムの実行により、前記通信部から取得したメッセージを分割して複数の中継用メッセージを生成し、
前記判定部は、前記処理部から前記通信部へ与えられた前記中継用メッセージの一部分と、前記メッセージ記憶部に記憶されたメッセージの一部分とが一致する場合に、前記中継用メッセージが正当であると判定すること
を特徴とする請求項３に記載の中継装置。
【請求項９】
前記判定部が正当であると判定したメッセージを前記通信部が送信する際に、送信されたメッセージに対する改ざんを検出する検出部と、
該検出部が改ざんを検出した場合に、前記通信部によるメッセージ送信を中断させる中断部と
を備えることを特徴とする請求項１乃至請求項８のいずれか１つに記載の中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のネットワーク間でメッセージを中継する処理を行う中継装置に関する。
【背景技術】
【０００２】
従来、車両には複数のＥＣＵ（Electronic Control Unit）が搭載され、これらがＣＡＮ（Controller Area Network）などのネットワークを介して接続されている。これら複数のＥＣＵは、ネットワークを介して情報を交換しながら各個の処理を進めている。近年では車両内のネットワークの規模が大きくなる傾向があり、この場合には複数の小規模なネットワークがゲートウェイなどの中継装置に接続され、中継装置がネットワーク間のメッセージ中継を行う構成が採用される場合が多い。
【０００３】
特許文献１においては、ＣＡＮシステムの第１ノードがフレームの受信に失敗してエラーパッシブ状態となっている場合に再送要求フレームを送信し、第２ノードが通信線に対して送信されたフレームを記憶しておき、再送が要求されたフレームを第１ノードへ再送することにより、耐障害性の向上を目指したＣＡＮシステムが記載されている。
【０００４】
特許文献２においては、ＣＡＮコントローラがフレームの入力から通信線への送信開始までの送信レイテンシを計測し、このフレームに送信レイテンシに関する情報を含めて送信を行うと共に、このフレームを受信したＣＡＮコントローラが送信レイテンシに応じて実行すべき処理を決定する構成とすることにより、フレームの受信側における誤動作を防止することを目的とした通信システムが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−８６８１２号公報
【特許文献２】特開２０１１−１０３５７７号公報
【非特許文献】
【０００６】
【非特許文献１】K. Koscher, A. Czeskis, F. Roesner, S. Patel, T. Kohno, S. Checkoway, D. McCoy, B. Kantor, D. Anderson, H. Shacham, and S. Savage. Experimental security analysis of a modern automobile. In Proc. of the IEEE Symposium on Security and Privacy, pages 447-462, 2010.
【非特許文献２】氏家良浩，岸川剛，芳賀智之，松島秀樹，田邉正人，北村嘉彦，安齋潤、車載ネットワークにおけるＣＡＮフィルタの提案、暗号とセキュリティのシンポジウム（ＳＣＩＳ２０１５）、２０１５年
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら非特許文献１においては、ＥＣＵに不正なプログラムを注入することによって、車両内のネットワークへ不正なメッセージ送信を行うことが可能であることが報告されている。不正なプログラムによる不正なメッセージ送信が行われることにより、ネットワークに接続された他のＥＣＵに誤動作などが発生する虞がある。このような不正なメッセージ送信に対しては、特許文献１に記載のＣＡＮシステム及び特許文献２に記載の通信システムでは有効な対策となり得なかった。
【０００８】
また非特許文献２においては、ＣＡＮメッセージのＩＤ、ＤＬＣ、送信周期及び送信頻度の条件に基づいてフィルタリング処理を行うことにより、不正なメッセージ送信を検出する手法が提案されている。非特許文献２に記載のフィルタリング処理を、例えば中継装置が行うことによって、不正なメッセージが一のネットワークから他のネットワークへ中継されることを防止することが期待される。しかしながら、このようなフィルタリング処理を行うプログラムが不正に改ざんされた場合には、フィルタリング処理自体が無効化されてしまう虞がある。
【０００９】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、中継処理を行うプログラムに不正な改ざんが行われた場合であっても、不正なメッセージが一又は複数のネットワークへ送信されることを防止し得る中継装置を提供することにある。
【課題を解決するための手段】
【００１０】
本発明に係る中継装置は、それぞれが通信線に接続されて該通信線を介したメッセージの送受信を行う通信部を複数備え、前記通信部間でのメッセージを中継する中継装置において、前記通信部が受信したメッセージを記憶するメッセージ記憶部と、メッセージの中継処理を行うソフトウェアプログラムを記憶するプログラム記憶部と、該プログラム記憶部に記憶されたソフトウェアプログラムを実行してメッセージの中継処理を行う処理部と、前記処理部から前記通信部へ中継すべきメッセージが与えられた場合に、該メッセージの正当性を前記メッセージ記憶部に記憶されたメッセージに基づいて判定する判定部とを備え、一の通信部にてメッセージを受信した場合に、該メッセージを前記メッセージ記憶部に記憶すると共に前記処理部へ与え、前記処理部は、与えられたメッセージに基づいて、他の通信部が送信すべき中継用メッセージを出力し、前記判定部は、前記処理部が出力した前記中継用メッセージと、前記メッセージ記憶部に記憶されたメッセージとを比較して前記中継用メッセージの正当性を判定し、正当であると判定した前記中継用メッセージを前記他の通信部へ与えることを特徴とする。
【００１１】
また、本発明に係る中継装置は、前記判定部が正当でないと判定したメッセージの前記通信部による送信を禁止する禁止部を備えることを特徴とする。
【００１２】
また、本発明に係る中継装置は、前記判定部が、前記処理部から前記通信部へ与えられた中継すべきメッセージと、前記メッセージ記憶部に記憶されたメッセージとが一致する場合に、前記中継すべきメッセージが正当であると判定することを特徴とする。
【００１３】
また、本発明に係る中継装置は、前記判定部が、前記処理部から前記通信部へ与えられた中継すべきメッセージが、前記メッセージ記憶部に記憶されたいずれか一つのメッセージと一致する場合に、前記中継すべきメッセージが正当であると判定し、前記メッセージ記憶部は、前記判定部により正当であると判定されて中継されたメッセージを削除することを特徴とする。
【００１４】
また、本発明に係る中継装置は、前記判定部が、前記処理部から前記通信部へ与えられた中継すべきメッセージの一部分と、前記メッセージ記憶部に記憶されたメッセージの一部分とが一致する場合に、前記中継すべきメッセージが正当であると判定することを特徴とする。
【００１５】
また、本発明に係る中継装置は、前記メッセージが、ＣＡＮの通信規格に従うメッセージであり、前記一部分は、前記メッセージに含まれるＩＤ及びＣＲＣであることを特徴とする。
【００１６】
また、本発明に係る中継装置は、前記処理部が、前記プログラム記憶部に記憶されたソフトウェアプログラムの実行により、一又は複数の通信部から取得した複数のメッセージを統合した中継用メッセージを生成し、前記判定部は、前記処理部から前記通信部へ与えられた前記中継用メッセージの一部分と、前記メッセージ記憶部に記憶された一又は複数のメッセージの一部分とが一致する場合に、前記中継用メッセージが正当であると判定することを特徴とする。
【００１７】
また、本発明に係る中継装置は、前記処理部が、前記プログラム記憶部に記憶されたソフトウェアプログラムの実行により、前記通信部から取得したメッセージを分割して複数の中継用メッセージを生成し、前記判定部は、前記処理部から前記通信部へ与えられた前記中継用メッセージの一部分と、前記メッセージ記憶部に記憶されたメッセージの一部分とが一致する場合に、前記中継用メッセージが正当であると判定することを特徴とする。
【００１８】
また、本発明に係る中継装置は、前記判定部が正当であると判定したメッセージを前記通信部が送信する際に、送信されたメッセージに対する改ざんを検出する検出部と、該検出部が改ざんを検出した場合に、前記通信部によるメッセージ送信を中断させる中断部とを備えることを特徴とする。
【００１９】
本発明において中継装置は、それぞれが通信線に接続される通信部を複数備え、処理部がソフトウェアプログラムを実行することによって、一の通信部が受信したメッセージを他の通信部から送信するメッセージ中継の処理を行う。中継装置は、処理部とは別に、通信部が受信したメッセージを記憶する記憶部を備える。一の通信部が通信線を介して他のＥＣＵなどからメッセージを受信した場合、この通信部が受信したメッセージは記憶部に記憶されると共に、処理部へ与えられる。メッセージを与えられた処理部は、ソフトウェアプログラムの実行により、メッセージの中継に必要な処理、例えばメッセージのスケジューリング処理などを行う。処理部は、中継すべきメッセージを、このメッセージを中継すべきＥＣＵなどが接続された通信部へ与える。処理部から中継すべきメッセージを与えられた通信部は、このメッセージに応じた信号を通信線へ出力することによりメッセージ送信を行う。
ここで本発明の中継装置は、処理部から通信部へ中継すべきメッセージが与えられた場合、このメッセージが正当なものであるか否かを記憶部に記憶したメッセージに基づいて判定し、正当でないと判定したメッセージの送信を禁止する。
これにより中継装置は、処理部へ与える前のメッセージと、処理部から与えられたメッセージとを比較して、メッセージの正当性を判定することができる。即ち中継装置は、中継すべきメッセージが処理部にて不正に改ざんされていないかどうかを判定することができ、正当でないメッセージが中継装置からＥＣＵなどの他の装置へ送信されることを防止できる。
【００２０】
また本発明において中継装置は、処理部から通信部へ与えられた中継すべきメッセージと、記憶部に記憶されたメッセージとが一致するか否かを判定することにより、中継すべきメッセージが正当なものであるか否かを判定する。これにより中継装置は、単純な比較処理を行うのみでメッセージの改ざんの有無を確実に判定することができる。
【００２１】
また本発明においては、中継装置の記憶部は、通信部が受信したメッセージを複数記憶することが可能な構成とする。処理部から中継すべきメッセージが与えられた場合、中継装置は、与えられたメッセージが記憶部に記憶されたいずれか一つのメッセージと一致する場合に、このメッセージが正当であると判定する。これにより、処理部にてスケジューリングなどの処理が行われ、中継の順序が受信順序と異なる場合であっても、中継装置はメッセージの改ざんの有無を確実に判定することができる。
【００２２】
また本発明においては、処理部から通信部へ与えられた中継すべきメッセージの一部分と、記憶部に記憶されたメッセージの一部分とが一致するか否かを判定することにより、中継すべきメッセージが正当なものであるか否かを判定する。比較をメッセージの一部分とすることによって、メッセージを記憶しておく記憶部の記憶容量を削減することができる。比較を行うメッセージの一部分を、例えばＣＡＮの通信規格のメッセージに含まれるＩＤ及びＣＲＣとすることができる。
【００２３】
また中継装置の処理部は、ソフトウェアプログラムの実行により、複数のメッセージを統合するか、又は、１つのメッセージを複数に分割するかして、中継用メッセージを生成することができる。本発明の中継装置は、処理部から通信部へ与えられた中継用メッセージの一部分と、記憶部に記憶された一又は複数のメッセージの一部分とが一致するか否かを判定することにより、中継用メッセージが正当なものであるか否かを判定する。これにより、処理部にてメッセージの統合又は分割等の処理が行われる場合であっても、中継装置はメッセージの改ざんの有無を判定することができる。
【００２４】
また本発明において中継装置は、正当であると判定したメッセージを通信部が通信線に対して出力することにより、メッセージの中継を行う。この際に中継装置は、通信部が送信するメッセージに対する改ざんを検出する。例えば中継装置は、通信部が通信線へメッセージの１ビットに応じた信号を出力する都度、通信線上の信号をサンプリングして正しい送信が行われているか否かを判定することにより、メッセージの改ざんを検出できる。メッセージの改ざんを検出した場合、中継装置は、通信部によるメッセージの送信を中断する。これにより中継装置が送信するメッセージへの外部装置による悪意の改ざんに対して、メッセージ送信を中断することにより、改ざんされたメッセージが他のＥＣＵなどにて受信されることを防止できる。
【発明の効果】
【００２５】
本発明による場合は、受信したメッセージを記憶しておき、このメッセージに基づいて中継すべきメッセージが正当なものであるか否かの判定を行う構成とすることにより、中継処理を行うプログラムに不正な改ざんが行われた場合であっても、不正なメッセージが一又は複数のネットワークへ送信されることを防止することができる。
【図面の簡単な説明】
【００２６】
【図１】本実施の形態に係る車載通信システムの構成を示すブロック図である。
【図２】本実施の形態に係るゲートウェイの構成を示すブロック図である。
【図３】メッセージ受信の際に中継監視回路が行う処理の手順を示すフローチャートである。
【図４】中継すべきメッセージが与えられた際に中継監視回路が行う処理の手順を示すフローチャートである。
【図５】メッセージ送信の際に中継監視回路が行う処理の手順を示すフローチャートである。
【図６】実施の形態２に係るゲートウェイの構成を示すブロック図である。
【図７】メッセージの統合を説明するための模式図である。
【図８】メッセージの分割を説明するための模式図である。
【図９】判定条件記憶部に記憶される判定条件の一例を示す模式図である。
【図１０】実施の形態２に係る中継監視回路が行う処理の手順を示すフローチャートである。
【図１１】実施の形態２に係る中継監視回路が行う処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００２７】
＜実施の形態１＞
以下、本発明をその実施の形態を示す図面に基づき具体的に説明する。図１は、本実施の形態に係る車載通信システムの構成を示すブロック図である。本実施の形態に係る車載通信システムは、車両１に搭載された１つのゲートウェイ１０と、複数のＥＣＵ（Electronic Control Unit）４とを備えて構成されている。図示の例では、車両１に６つのＥＣＵ４が搭載され、これら６つのＥＣＵ４が２つのグループに別けられている。第１グループの３つのＥＣＵ４は、第１の通信線２に接続されており、この通信線２を介して相互にメッセージの送受信を行うことができる。同様に、第２グループの３つのＥＣＵ４は、第２の通信線３に接続されており、この通信線３を介して相互にメッセージの送受信を行うことができる。
【００２８】
２つの通信線２，３は、直接的に接続されておらず、それぞれゲートウェイ１０に接続されている。ゲートウェイ１０は、例えば一方の通信線２上に出力されたメッセージを取得し、取得したメッセージを他方の通信線３へ出力することによって、グループ間（ネットワーク間、通信線間）のメッセージ中継を行う装置である。これにより、第１の通信線２に接続されたＥＣＵ４が送信したメッセージは、ゲートウェイ１０により中継されて、第２の通信線３に接続されたＥＣＵ４にて受信される。
【００２９】
図２は、本実施の形態に係るゲートウェイ１０の構成を示すブロック図である。本実施の形態に係るゲートウェイ１０は、処理部１１、プログラム記憶部１２、２つのＣＡＮコントローラ１３ａ，１３ｂ及び中継監視回路２０を備えて構成されている。処理部１１は、例えばＣＰＵ（Central Processing Unit）又はＭＰＵ（Micro-Processing Unit）等の演算処理装置を用いて構成されている。処理部１１は、プログラム記憶部１２に記憶された中継プログラム１２ａを読み出して実行する。これにより処理部１１には、メッセージの中継処理を行う中継処理部１１ａがソフトウェアの機能ブロックとして実現される。
【００３０】
プログラム記憶部１２は、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）又はフラッシュメモリ等の不揮発性のメモリ素子を用いて構成されている。プログラム記憶部１２は、処理部１１が実行する中継プログラム１２ａを予め記憶している。またプログラム記憶部１２は、中継処理に用いられる種々のデータ、又は、中継プログラム１２ａとは別のプログラム等を更に記憶してもよい。
【００３１】
ＣＡＮコントローラ１３ａ，１３ｂは、通信線２，３がそれぞれ接続され、通信線２，３を介してＥＣＵ４との間でメッセージの送受信を行う。ＣＡＮコントローラ１３ａ，１３ｂは、ＥＣＵ４が通信線２，３に対して出力した信号をサンプリングして取得することによりメッセージを受信する。ＣＡＮコントローラ１３ａ，１３ｂが受信したメッセージは、中継監視回路２０を経て、処理部１１へ与えられる。またＣＡＮコントローラ１３ａ，１３ｂは、中継監視回路２０を経て、処理部１１から中継すべきメッセージが与えられる。ＣＡＮコントローラ１３ａ，１３ｂは、与えられたメッセージを信号として通信線２，３へ出力することによりＥＣＵ４へのメッセージ送信を行う。
【００３２】
なお、図２及び以下の説明では、ＣＡＮコントローラ１３ａがメッセージ受信を行い、ＣＡＮコントローラ１３ｂがメッセージ送信を行う者とする。ただしこれは一例であって、ＣＡＮコントローラ１３ｂがメッセージ受信を行い、ＣＡＮコントローラ１３ａがメッセージ送信を行う場合もあり得る。ＣＡＮコントローラ１３ａ，１３ｂは、メッセージの送信及び受信の両方を行うことができる。
【００３３】
処理部１１に実現される中継処理部１１ａは、一方のＣＡＮコントローラ１３ａが受信したメッセージを、他方のＣＡＮコントローラ１３ｂに与えて送信を行わせることにより、通信線２，３の間で（即ち、第１グループのＥＣＵ４及び第２グループのＥＣＵ４の間で）メッセージを中継する処理を行う。このときに中継処理部１１ａは、例えばメッセージの中継順序を調整するスケジューリング、又は、不正なメッセージを排除するフィルタリング等の処理を行ってよい。
【００３４】
中継監視回路２０は、処理部１１とＣＡＮコントローラ１３ａ，１３ｂとの間に介在し、通信線２，３の間で中継されるメッセージを監視する。なお従来のゲートウェイには、中継監視回路２０が設けられておらず、ＣＡＮコントローラ１３ａ，１３ｂが受信したメッセージは直接的に処理部１１へ与えられ、処理部１１から中継すべきメッセージがＣＡＮコントローラ１３ａ，１３ｂへ直接的に与えられていた。中継監視回路２０は、メッセージ記憶部２１、メッセージ判定部２２及び改ざん検出部２３等を備えて構成されている。なお本実施の形態において中継監視回路２０は、ハードウェアとして実現される。
【００３５】
メッセージ記憶部２１は、例えばＳＲＡＭ（Static Random Access Memory）又はＤＲＡＭ（Dynamic Random Access Memory）等のメモリ素子を用いて構成されている。中継監視回路２０は、ＣＡＮコントローラ１３ａにて受信したメッセージをメッセージ記憶部２１に記憶した後、このメッセージを処理部１１へ与える。中継監視回路２０からメッセージを与えられた処理部１１では、中継処理部１１ａにより上述の中継処理が行われ、この中継処理の結果として、中継すべきメッセージが処理部１１から中継監視回路２０へ与えられる。
【００３６】
中継監視回路２０のメッセージ判定部２２は、処理部１１から与えられたメッセージが、メッセージ記憶部２１に記憶されたメッセージと一致するか否かを判定する。これによりメッセージ判定部２２は、中継するメッセージに対する不正な改ざんなどが処理部１１にて行われていないことを確認する。メッセージ判定部２２は、両メッセージが一致すると判定した場合、不正な改ざんは行われていないと判断し、処理部１１から与えられたメッセージをＣＡＮコントローラ１３ｂへ与える。中継監視回路２０からメッセージを与えられたＣＡＮコントローラ１３ｂは、与えられたメッセージを電気信号として通信線３へ出力することにより、メッセージの送信を行う。これに対して、両メッセージが一致しないとメッセージ判定部２２が判定した場合、中継監視回路２０は、処理部１１から与えられたメッセージを送信せずに破棄する。
【００３７】
また中継監視回路２０のメッセージ記憶部２１は、複数のメッセージを記憶することができる。このため、メッセージ判定部２２は、処理部１１から与えられたメッセージと、メッセージ記憶部２１に記憶された複数のメッセージとの比較を順に行い、いずれか１つのメッセージと一致した場合に不正な改ざんが行われていないと判定する。メッセージ判定部２２は、処理部１１から与えられたメッセージが、メッセージ記憶部２１に記憶された全てのメッセージと一致しない場合に、不正な改ざんが行われたと判断し、メッセージを送信せずに破棄する。
【００３８】
なお本実施の形態において中継監視回路２０のメッセージ記憶部２１は、ＣＡＮコントローラ１３ａ，１３ｂが受信したメッセージについて全ビットの情報を記憶する。即ちＣＡＮの通信規格のメッセージの場合、ＳＯＦ〜ＥＯＦまでの全ビットの情報を記憶する（ただし、ＳＯＦ及びＥＯＦは省略してもよい）。メッセージ判定部２２は、メッセージ記憶部２１に記憶されたメッセージと、処理部１１から与えられたメッセージとを比較する場合、両メッセージの全ビットが一致するか否かを判定する。
【００３９】
ただし、中継監視回路２０のメッセージ記憶部２１は、ＣＡＮコントローラ１３ａ，１３ｂが受信したメッセージの一部分のみを記憶する構成としてよい。この構成の場合、メッセージ判定部２２は、メッセージ記憶部２１に記憶されたメッセージの一部分と、処理部１１から与えられたメッセージの一部分とを比較すればよい。メッセージ記憶部２１が記憶する一部分として、例えばＣＡＮの通信規格のメッセージであれば、ＣＡＮ−ＩＤ及びＣＲＣを記憶しておくことが好適である。このような構成とすることにより、メッセージ記憶部２１の記憶容量を削減することができ、メッセージ判定部２２の判定処理を容易化することができるため、中継監視回路２０の回路規模の増大を抑制することができる。
【００４０】
また中継監視回路２０のメッセージ記憶部２１は、ＣＡＮコントローラ１３ａ，１３ｂが受信したメッセージを記憶した後、記憶したメッセージがメッセージ判定部２２の判定に用いられ、処理部１１から与えられたメッセージと一致するとの判定がなされるまでの間、メッセージを記憶し続ける。即ち、メッセージ記憶部２１は、受信したメッセージが正当な中継処理により中継されるまでの間、メッセージを記憶し続ける。ただしメッセージ記憶部２１は、メッセージを記憶してから所定時間が経過した場合に、メッセージが中継される前であってもこのメッセージを破棄してもよい。またメッセージ記憶部２１は、記憶できる限りのメッセージを記憶し続け、記憶容量の限界に達してこれ以上のメッセージを記憶できなくなった場合に、古いものから順にメッセージを破棄してもよい。
【００４１】
また本実施の形態に係る中継監視回路２０の改ざん検出部２３は、メッセージ判定部２２が不正な改ざんが行われていないと判定してＣＡＮコントローラ１３ａ，１３ｂへ与えたメッセージについて、このメッセージがＣＡＮコントローラ１３ａ，１３ｂから送信される際に、通信線２，３上にてメッセージの不正な改ざんが行われたか否かを監視する。ＣＡＮコントローラ１３ａ，１３ｂは、メッセージ送信を行う場合、メッセージの各ビットに対応する電気信号を通信線２，３へ出力すると共に、通信線２，３上の信号をサンプリングして取得する処理を行っている。中継監視回路２０の改ざん検出部２３は、ＣＡＮコントローラ１３ａ，１３ｂがメッセージ送信に際して取得した信号に応じたデジタルデータを、メッセージ送信の１ビット毎に取得する。改ざん検出部２３は、中継すべきメッセージとしてＣＡＮコントローラ１３ａ，１３ｂへ与えたメッセージの送信対象となった１ビットのデータと、ＣＡＮコントローラ１３ａ，１３ｂがメッセージ送信に際して取得したデータとが一致するか否かを１ビット毎に判定する。両データが一致しない場合、改ざん検出部２３は、通信線２，３上で不正な改ざんが行われたと判断し、ＣＡＮコントローラ１３ａ，１３ｂにＣＡＮの通信規格のエラーフレームを送信させることにより、メッセージ送信を中断する。
【００４２】
図３は、メッセージ受信の際に中継監視回路２０が行う処理の手順を示すフローチャートである。中継監視回路２０は、ＣＡＮコントローラ１３ａ，１３ｂのいずれかにてメッセージを受信したか否かを判定する（ステップＳ１）。いずれのＣＡＮコントローラ１３ａ，１３ｂもメッセージを受信していない場合（Ｓ１：ＮＯ）、中継監視回路２０は、いずれかのＣＡＮコントローラ１３ａ，１３ｂにてメッセージを受信するまで待機する。いずれかのＣＡＮコントローラ１３ａ，１３ｂにてメッセージを受信した場合（Ｓ１：ＹＥＳ）、中継監視回路２０は、ＣＡＮコントローラ１３ａ，１３ｂが受信したメッセージを取得してメッセージ記憶部２１に記憶する（ステップＳ２）。ついで中継監視回路２０は、ＣＡＮコントローラ１３ａ，１３ｂが受信したメッセージを処理部１１へ与えて（ステップＳ３）、処理を終了する。
【００４３】
図４は、中継すべきメッセージが与えられた際に中継監視回路２０が行う処理の手順を示すフローチャートである。中継監視回路２０は、処理部１１から中継すべきメッセージが与えられたか否かを判定する（ステップＳ１１）。処理部１１からメッセージが与えられていない場合（Ｓ１１：ＮＯ）、中継監視回路２０は、中継すべきメッセージが与えられるまで待機する。処理部１１からメッセージが与えられた場合（Ｓ１１：ＹＥＳ）、中継監視回路２０は、メッセージ記憶部２１に記憶されたメッセージを読み出して（ステップＳ１２）、処理部１１から与えられたメッセージとの比較を行う（ステップＳ１３）。
【００４４】
メッセージを比較した結果、中継監視回路２０は、両メッセージが一致するか否かを判定する（ステップＳ１４）。両メッセージが一致する場合（Ｓ１４：ＹＥＳ）、中継監視回路２０は、このメッセージをＣＡＮコントローラ１３ａ，１３ｂへ与えて（ステップＳ１５）、メッセージを送信する。また中継監視回路２０は、中継を終えたメッセージについて、メッセージ記憶部２１からこのメッセージを消去し（ステップＳ１６）、処理を終了する。また両メッセージが一致しない場合（Ｓ１４：ＮＯ）、中継監視回路２０は、このメッセージを破棄して（ステップＳ１７）、処理を終了する。
【００４５】
図５は、メッセージ送信の際に中継監視回路２０が行う処理の手順を示すフローチャートである。中継監視回路２０の改ざん検出部２３は、ＣＡＮコントローラ１３ａ，１３ｂにてメッセージの１ビット分の送信処理が行われたか否かを判定する（ステップＳ２１）。１ビット分の送信処理が行われていない場合（Ｓ２１：ＮＯ）、改ざん検出部２３は、送信処理が行われるまで待機する。１ビット分の送信処理が行われた場合（Ｓ２１：ＹＥＳ）、改ざん検出部２３は、１ビット分の信号出力と共に行われる通信線２，３のサンプリング結果である１ビット分のサンプリングデータをＣＡＮコントローラ１３ａ，１３ｂから取得する（ステップＳ２２）。
【００４６】
改ざん検出部２３は、取得したサンプリングデータと、送信すべきメッセージの１ビット分のデータとの比較を行う（ステップＳ２３）。この比較により、改ざん検出部２３は、両データが一致するか否かを判定する（ステップＳ２４）。両データが一致する場合（Ｓ２４：ＹＥＳ）、改ざん検出部２３は、ステップＳ２１へ処理を戻す。両データが一致しない場合（Ｓ２４：ＮＯ）、改ざん検出部２３は、ＣＡＮコントローラ１３ａ，１３ｂにエラーフレームを送信させて（ステップＳ２５）、処理を終了する。
【００４７】
以上の構成の実施の形態１に係るゲートウェイ１０は、それぞれが通信線２，３に接続される複数のＣＡＮコントローラ１３ａ，１３ｂを備え、処理部１１が中継プログラム１２ａを実行することによって、一のＣＡＮコントローラ１３ａ，１３ｂが受信したメッセージを他のＣＡＮコントローラ１３ａ，１３ｂから送信するメッセージ中継の処理を行う。ゲートウェイ１０は、処理部１１とは別に、ＣＡＮコントローラ１３ａ，１３ｂが受信したメッセージを記憶するメッセージ記憶部２１を備える。一のＣＡＮコントローラ１３ａ，１３ｂが通信線２，３を介して他のＥＣＵ４からメッセージを受信した場合、このＣＡＮコントローラ１３ａ，１３ｂが受信したメッセージはメッセージ記憶部２１に記憶されると共に、処理部１１へ与えられる。メッセージを与えられた処理部１１は、中継プログラム１２ａの実行により、メッセージの中継に必要な処理を行う。処理部１１は、中継すべきメッセージを、このメッセージを中継すべきＥＣＵ４が接続されたＣＡＮコントローラ１３ａ，１３ｂへ与える。処理部１１から中継すべきメッセージを与えられたＣＡＮコントローラ１３ａ，１３ｂは、このメッセージに応じた信号を通信線２，３へ出力することによりメッセージ送信を行う。
【００４８】
ただし本実施の形態に係るゲートウェイ１０は、ＣＡＮコントローラ１３ａ，１３ｂから処理部１１へ与える前のメッセージと、処理部１１からＣＡＮコントローラ１３ａ，１３ｂへ与えられたメッセージとを比較して、メッセージの正当性をメッセージ判定部２２が判定する。即ちゲートウェイ１０は、中継すべきメッセージが処理部１１にて不正に改ざんされていないかどうかを判定することができ、正当でないメッセージの送信を禁止することで、正当でないメッセージがゲートウェイ１０から他のＥＣＵ４へ送信されることを防止できる。
【００４９】
またゲートウェイ１０は、ＣＡＮコントローラ１３ａ，１３ｂが受信してメッセージ記憶部２１に記憶したメッセージと、処理部１１がＣＡＮコントローラ１３ａ，１３ｂへ与える中継すべきメッセージとを比較する。この比較によりゲートウェイ１０は、両メッセージが一致するか否かを判定して、中継すべきメッセージが正当なものであるか否かを判定する。これによりゲートウェイ１０は、単純な比較処理を行うのみで、処理部１１によるメッセージの改ざんの有無を確実に判定することができる。
【００５０】
またゲートウェイ１０のメッセージ記憶部２１は、ＣＡＮコントローラ１３ａ，１３ｂが受信したメッセージを複数記憶することができる。処理部１１からＣＡＮコントローラ１３ａ，１３ｂへの中継すべきメッセージが与えられた場合、ゲートウェイ１０は、与えられたメッセージがメッセージ記憶部２１に記憶されたいずれか一つのメッセージと一致する場合に、このメッセージが正当であると判定する。これにより、処理部１１にてスケジューリングなどの中継処理が行われ、中継の順序が受信順序と異なる場合であっても、ゲートウェイ１０はメッセージの改ざんの有無を確実に判定することができる。
【００５１】
なおゲートウェイ１０は、メッセージ記憶部２１に受信メッセージの全てを記憶するのではなく、その一部分を記憶しておく構成としてもよい。この場合にゲートウェイ１０は、処理部１１からＣＡＮコントローラ１３ａ，１３ｂへ与えられた中継すべきメッセージの一部分と、メッセージ記憶部２１に記憶されたメッセージの一部分とが一致するか否かを判定することにより、中継すべきメッセージが正当なものであるか否かを判定する。比較をメッセージの一部分とすることによって、メッセージ記憶部２１の記憶容量を削減することができる。比較を行うメッセージの一部分を、例えばＣＡＮの通信規格のメッセージに含まれるＩＤ及びＣＲＣとすることができる。
【００５２】
またゲートウェイ１０は、正当であると判定したメッセージをＣＡＮコントローラ１３ａ，１３ｂが通信線２，３に対して出力することにより、メッセージの中継を行う。この際にゲートウェイ１０は、ＣＡＮコントローラ１３ａ，１３ｂが送信するメッセージに対する改ざんの検出を行う。ゲートウェイ１０は、ＣＡＮコントローラ１３ａ，１３ｂが通信線２，３へメッセージの１ビットに応じた信号を出力する都度、通信線２，３上の信号をサンプリングして比較を行い、正しいメッセージが送信されているか否かを判定することにより、メッセージの改ざんを検出する。メッセージの改ざんを検出した場合、ゲートウェイ１０は、ＣＡＮコントローラ１３ａ，１３ｂにエラーフレームの送信を行わせることにより、メッセージ送信を中断する。これにより、ゲートウェイ１０が送信するメッセージへの外部の悪意の装置による改ざんに対して、ゲートウェイ１０はメッセージの送信を中断して、改ざんされたメッセージがＥＣＵ４にて受信されることを防止できる
【００５３】
なお本実施の形態においては、ゲートウェイ１０に２つの通信線２，３を接続する構成としたが、これに限るものではなく、３つ以上の通信線を接続する構成としてもよい。この場合にゲートウェイ１０は、一の通信線にて受信したメッセージを他の２つの通信線へ中継すればよい。また本実施の形態においては、各通信線２，３に３つのＥＣＵ４を接続する構成としたが、これに限るものではない。通信線２，３に接続されるＥＣＵ４の数はいくつであってもよい。
【００５４】
また本実施の形態においてゲートウェイ１０は、メッセージ記憶部２１及びメッセージ判定部２２を１つのハードウェア、即ち中継監視回路２０として備える構成としたが、これに限るものではない。メッセージ記憶部２１及びメッセージ判定部２２をそれぞれ別のハードウェアとして備える構成としてもよい。ただしメッセージ記憶部２１及びメッセージ判定部２２は、処理部１１にて実行されるソフトウェア的な機能ブロックとして実現されるのではなく、処理部１１とは別のハードウェアとして実現される。
【００５５】
なお本実施の形態においては、ゲートウェイ１０及びＥＣＵ４がＣＡＮの通信規格に従った通信を行う構成としたが、これに限るものではない。ゲートウェイ１０及びＥＣＵ４は、ＣＡＮ以外の通信規格、例えばＴＣＰ／ＩＰ、イーサネット（登録商標）又はＦｌｅｘＲａｙ等に従った通信を行う構成としてもよい。また車両１に搭載される通信システムを例に説明を行ったが、これに限るものではなく、航空機若しくは船舶等の移動体に搭載される通信システム、又は、工場若しくはオフィス等に設置される通信システム等のように、車載以外の通信システムに対して本技術を適用してもよい。
【００５６】
＜実施の形態２＞
図６は、実施の形態２に係るゲートウェイ２１０の構成を示すブロック図である。上述の実施の形態１に係るゲートウェイ１０は、処理部１１の中継処理においてスケジューリングなどの処理は行うが、メッセージの内容を変更するような処理は行われないことを前提としている。これに対して実施の形態２に係るゲートウェイ２１０は、複数のメッセージを統合して１つの中継用メッセージを生成する処理、又は、１つのメッセージを複数に分割して複数の中継用メッセージを生成する処理等を、処理部１１の中継処理において行うことが許可されている。
【００５７】
実施の形態２に係るゲートウェイ２１０の中継監視回路２２０は、メッセージ記憶部２１、メッセージ判定部２２２及び判定条件記憶部２２３（図６において単に”判定条件”と記載してある）を備えている。判定条件記憶部２２３は、メッセージ判定部２２２による判定の条件を記憶する。判定条件記憶部２２３は、例えばＥＥＰＲＯＭ又はフラッシュメモリ等のメモリ素子を用いて構成することができる。ただし、判定条件記憶部２２３は、例えばデータ書き換え不可能なマスクＲＯＭ（Read Only Memory）又は電気的なデータ書き換えが不可能なＥＰＲＯＭ（Erasable Programmable Read Only Memory）等のメモリ素子を用いることにより、セキュリティ性を向上することができる。いずれのメモリ素子を用いる場合であっても、判定条件記憶部２２３は、耐タンパ性のあるメモリに保持するなどの方法を用いて、処理部１１が直接的にデータの読み書きを行うことができない構成とすることが好ましい。メッセージ判定部２２２は、例えばゲートウェイ２１０の起動時などに判定条件記憶部２２３から判定条件を読み出し、読み出した判定条件に従ってメッセージの正当性を判定する。
【００５８】
図７は、メッセージの統合を説明するための模式図である。図７は、通信線２を介してＣＡＮコントローラ１３ａが受信した３つのメッセージを処理部１１が１つのメッセージに統合して中継用メッセージを生成し、この中継用メッセージをＣＡＮコントローラ１３ｂから通信線３を介してＥＣＵ４へ送信する場合の例である。この場合、ＣＡＮコントローラ１３ａが受信した複数のメッセージは順にメッセージ記憶部２１に記憶されると共に、処理部１１へ与えられる。処理部１１は、必要なメッセージが揃ったと判断した場合に、３つのメッセージからそれぞれ必要な情報（データ１、データ２、データ３）を抽出し、抽出した３つの情報を連結してヘッダ部及びフッタ部を付加したものを中継用メッセージとすることができる。なおＣＡＮの通信規格のメッセージの場合、図示のヘッダ部はＳＯＦ、アービトレーションフィールド及びコントロールフィールド等を含むものであり、フッタ部はＣＲＣフィールド、ＡＣＫフィールド及びＥＯＦ等を含むものである。
【００５９】
処理部１１から中継用メッセージを与えられたメッセージ判定部２２２は、この中継用メッセージとメッセージ記憶部２１に記憶されたメッセージとを比較して中継用メッセージの正当性を判定する必要がある。ヘッダ部及びフッタ部はメッセージの統合により変更されている可能性があるため、メッセージ判定部２２２は、中継用メッセージに含まれる複数のデータとメッセージ記憶部２１に記憶された複数のメッセージにそれぞれ含まれるデータとを比較する。このときにメッセージ判定部２２２は、例えば中継用メッセージに含まれる３つのデータ１，２，３の全てについて、メッセージ記憶部２１に記憶されたメッセージに含まれるデータ１，２，３との一致を正当性の条件として判定を行ってもよい。またメッセージ判定部２２２は、例えば中継用メッセージに含まれる３つのデータ１，２，３のいずれか１つについて、メッセージ記憶部２１に記憶されたメッセージに含まれるデータ１，２，３との一致を正当性の条件として判定を行ってもよい。中継用メッセージに含まれるデータ１，２，３のいずれか１つの一致を判定する場合、例えば受信時刻が最新のデータについてのみ判定を行う構成としてもよい。これらの判定条件は、ゲートウェイ２１０の設計段階などにおいて予め決定され、判定条件記憶部２２３に記憶される。
【００６０】
図８は、メッセージの分割を説明するための模式図である。図８は、通信線２を介してＣＡＮコントローラ１３ａが受信したメッセージが３つのデータ１，２，３を含み、このメッセージを与えられた処理部１１が受信メッセージを３つの中継用メッセージに分割し、分割された３つの中継用メッセージをＣＡＮコントローラ１３ｂから通信線３を介してＥＣＵ４へ順に送信する場合の例である。この場合、ＣＡＮコントローラ１３ａが受信したメッセージはメッセージ記憶部２１に記憶されると共に、処理部１１へ与えられる。処理部１１は、与えられたメッセージに複数のデータ１，２，３が含まれていると判断した場合、このメッセージから３つのデータ１，２，３を抽出し、各データ１，２，３にヘッダ部及びフッタ部をそれぞれ付加したものと中継用メッセージとすることができる。
【００６１】
処理部１１から中継用メッセージを与えられたメッセージ判定部２２２は、この中継用メッセージとメッセージ記憶部２１に記憶されたメッセージとを比較して中継用メッセージの正当性を判定する必要がある。例えばデータ１を含む中継用メッセージを与えられたメッセージ判定部２２２は、メッセージ記憶部２１に記憶されている一又は複数のメッセージの中に、データ１を含むメッセージが存在するか否かを判定することにより、中継用メッセージの正当性を判定する。なおメッセージ記憶部２１は、データ１を含む中継用メッセージがＣＡＮコントローラ１３ｂにより送信された場合であっても、データ１，２，３を含む受信メッセージを消去せずに記憶しておく必要がある。これはその後にデータ２，３を含む中継用メッセージが処理部１１から与えられた場合に、メッセージ判定部２２２が判定を行うためである。よってメッセージ記憶部２１は、例えば記憶しているメッセージに含まれる全てのデータについてメッセージ判定部２２２による比較が完了することを確認した後にメッセージの消去を行う構成とすることができる。又は、メッセージ記憶部２１は、例えばメッセージの受信から所定時間が経過した場合、若しくは、いずれか１つのデータに対する比較がメッセージ判定部２２２にて行われてから所定時間が経過した場合等に、メッセージの消去を行う構成とすることができる。
【００６２】
図９は、判定条件記憶部２２３に記憶される判定条件の一例を示す模式図である。図示の判定条件では、転送元情報（ＣＡＮコントローラ１３ａ，１３ｂにて受信したメッセージに関する情報）として、中継元通信線、ＣＡＮ−ＩＤ、データ比較範囲及びＣＲＣ要否の情報が設定される。また判定条件では、転送先情報（処理部１１からＣＡＮコントローラ１３ａ，１３ｂへ与えられる送信用のメッセージに関する情報）として、中継先通信線、ＣＡＮ−ＩＤ、データ比較範囲、比較方式及び中継ルール等の情報が設定される。
【００６３】
転送元情報に含まれる中継元通信線の設定は、受信したメッセージが通信線２，３のいずれを介して受信したものであるかを示す。ＣＡＮ−ＩＤは、受信したメッセージに付されていたＣＡＮ−ＩＤを示す。データ比較範囲は、受信したメッセージに含まれるデータ（本例では６４ビット）のうち、比較に用いる範囲を“開始ビット〜終了ビット”の態様で示す。ＣＲＣ要否は、メッセージに含まれるＣＲＣの比較を行う必要があるか否かを示す。
【００６４】
転送先情報に含まれる中継先通信線の設定は、メッセージの送信先が通信線２，３のいずれであるかを示す。ＣＡＮ−ＩＤは、処理部１１から与えられた送信メッセージに付されたＣＡＮ−ＩＤを示す。データ比較範囲は、送信メッセージに含まれるデータ（本例では６４ビット）のうち、比較に用いる範囲を“開始ビット〜終了ビット”の態様で示す。比較方式は、データの比較を行う方式１、又は、ＣＲＣの比較を行う方式２のいずれかが設定される。中継ルールは、処理部１１から与えられた送信メッセージとメッセージ記憶部２１に記憶された最新のメッセージとが一致した場合に中継を行うルール１、又は、送信メッセージがメッセージ記憶部２１に記憶されたいずれかのメッセージと一致した場合に中継を行うルール２のいずれかが設定される。
【００６５】
図９の判定条件に示された１つ目の例は、通信線２を介してＣＡＮコントローラ１３ａが受信してメッセージ記憶部２１に記憶されたＣＡＮ−ＩＤが２のメッセージに含まれるデータの０〜６３ビットと、処理部１１からＣＡＮコントローラ１３ｂへ与えられた通信線３へ送信すべきＣＡＮ−ＩＤが３のメッセージに含まれるデータの０〜６３ビットとを比較し、両データが一致した場合にＣＡＮコントローラ１３ｂが通信線３へメッセージを送信する。なおメッセージの比較は、メッセージ記憶部２１に記憶された最新のメッセージと、処理部１１から与えられたメッセージとを対象に行われる。
【００６６】
図９の判定条件に示された２つ目の例は、通信線２を介してＣＡＮコントローラ１３ａが受信してメッセージ記憶部２１に記憶されたＣＡＮ−ＩＤが１０のメッセージに含まれるデータの０〜７ビットと、処理部１１からＣＡＮコントローラ１３ｂへ与えられた通信線３へ送信すべきＣＡＮ−ＩＤが１０のメッセージに含まれるデータの０〜７ビットとを比較し、両データが一致した場合にＣＡＮコントローラ１３ｂが通信線３へメッセージを送信する。なおメッセージの比較は、メッセージ記憶部２１に記憶された全てのメッセージと、処理部１１から与えられたメッセージとを対象に行われ、いずれかのメッセージが一致すればよい。
【００６７】
図９の判定条件に示された３つ目の例は、通信線２を介してＣＡＮコントローラ１３ａが受信してメッセージ記憶部２１に記憶されたＣＡＮ−ＩＤが１０のメッセージに含まれるデータの８〜６３ビットと、処理部１１からＣＡＮコントローラ１３ｂへ与えられた通信線３へ送信すべきＣＡＮ−ＩＤが２０のメッセージに含まれるデータの８〜６３ビットとを比較し、両データが一致した場合にＣＡＮコントローラ１３ｂが通信線３へメッセージを送信する。なおメッセージの比較は、メッセージ記憶部２１に記憶された全てのメッセージと、処理部１１から与えられたメッセージとを対象に行われ、いずれかのメッセージが一致すればよい。
【００６８】
図９の判定条件に示された４つ目の例は、通信線２を介してＣＡＮコントローラ１３ａが受信してメッセージ記憶部２１に記憶されたＣＡＮ−ＩＤが３０のメッセージに含まれるＣＲＣと、処理部１１からＣＡＮコントローラ１３ｂへ与えられた通信線３へ送信すべきＣＡＮ−ＩＤが１０のメッセージに含まれるＣＲＣとを比較し、両ＣＲＣが一致した場合にＣＡＮコントローラ１３ｂが通信線３へメッセージを送信する。なおメッセージの比較は、メッセージ記憶部２１に記憶された全てのメッセージと、処理部１１から与えられたメッセージとを対象に行われ、いずれかのメッセージが一致すればよい。
【００６９】
図１０及び図１１は、実施の形態２に係る中継監視回路２２０が行う処理の手順を示すフローチャートである。中継監視回路２２０は、処理部１１から中継すべきメッセージが与えられたか否かを判定する（ステップＳ５１）。処理部１１からメッセージが与えられていない場合（Ｓ５１：ＮＯ）、中継監視回路２２０は、中継すべきメッセージが与えられるまで待機する。
【００７０】
処理部１１からメッセージが与えられた場合（Ｓ５１：ＹＥＳ）、中継監視回路２２０は、判定条件記憶部２２３に記憶された判定条件を取得する（ステップＳ５２）。中継監視回路２２０は、ステップＳ５２にて取得した判定条件の転送先情報の中に、ステップＳ５１にて与えられたメッセージに付されたＣＡＮ−ＩＤに該当する条件が含まれているか否かを判定する（ステップＳ５３）。該当する条件が含まれていない場合（Ｓ５３：ＮＯ）、中継監視回路２０は、このメッセージを破棄して（ステップＳ５５）、処理を終了する。
【００７１】
該当する条件が含まれている場合（Ｓ５３：ＹＥＳ）、中継監視回路２２０は、この条件の転送元情報に設定されたＣＡＮ−ＩＤを有するメッセージがメッセージ記憶部２１に記憶されているか否かを判定する（ステップＳ５４）。メッセージが記憶されていない場合（Ｓ５４：ＮＯ）、中継監視回路２０は、このメッセージを破棄して（ステップＳ５５）、処理を終了する。
【００７２】
メッセージが記憶されている場合（Ｓ５４：ＹＥＳ）、中継監視回路２２０は、メッセージ記憶部２１からメッセージを読み出す（ステップＳ５６）。中継監視回路２２０は、ステップＳ５６にて読み出したメッセージと、ステップＳ５１にて与えられたメッセージとからそれぞれ比較用の情報を生成する（ステップＳ５７）。このときに中継監視回路２２０は、判定条件にて指定されたビットのデータ又はＣＲＣをメッセージから抽出することで比較用の方法を生成することができる。
【００７３】
中継監視回路２２０は、生成した２つの比較用の情報を比較し、両情報が一致するか否かを判定する（ステップＳ５８）。両情報が一致しない場合（Ｓ５８：ＮＯ）、中継監視回路２２０は、判定条件に設定された中継ルールがルール２であるか否かを判定する（ステップＳ５９）。中継ルールがルール１である場合（Ｓ５９：ＮＯ）、中継監視回路２２０は、このメッセージを破棄して（ステップＳ６１）、処理を終了する。
【００７４】
中継ルールがルール２である場合（Ｓ５９：ＹＥＳ）、中継監視回路２２０は、メッセージ記憶部２１に比較対象となる他のメッセージが記憶されているか否かを判定する（ステップＳ６０）。他のメッセージが記憶されていない場合（Ｓ６０：ＮＯ）、中継監視回路２２０は、このメッセージを破棄して（ステップＳ６１）、処理を終了する。他のメッセージが記憶されている場合（Ｓ６０：ＹＥＳ）、中継監視回路２２０は、ステップＳ５６へ処理を戻し、次のメッセージを読み出して上述の処理を繰り返す。
【００７５】
ステップＳ５８において、生成した２つの比較用の情報が一致した場合（Ｓ５８：ＹＥＳ）、中継監視回路２２０は、送信用のメッセージをＣＡＮコントローラ１３ａ，１３ｂへ与えて（ステップＳ６２）、メッセージを送信し、処理を終了する。
【００７６】
以上の構成の実施の形態２に係るゲートウェイ２１０は、処理部１１が中継プログラム１２ａを実行することにより、複数のメッセージを統合するか、又は、１つのメッセージを複数に分割するかして、中継用メッセージを生成することができる。ゲートウェイ２１０は、処理部１１からＣＡＮコントローラ１３ａ，１３ｂへ与えられる中継用メッセージの一部分（データ部分）と、メッセージ記憶部２１に記憶された一又は複数のメッセージの一部分とが一致するか否かを判定することにより、中継用メッセージが正当なものであるか否かを判定する。これにより実施の形態２に係るゲートウェイ２１０は、処理部１１にてメッセージの統合又は分割等の処理がなされる場合であっても、処理部１１内でのメッセージの改ざんの有無を判定することができる。
【００７７】
なお実施の形態２においては、ゲートウェイ２１０の中継監視回路２２０が判定条件記憶部２２３を備え、判定条件記憶部２２３に記憶された判定条件に従ってメッセージ判定部２２２が判定処理を行う構成としたが、これに限るものではない。中継監視回路２２０は判定条件記憶部２２３を備えず、メッセージ判定部２２２が回路的に定められた判定条件に従って判定処理を行う構成としてもよい。またゲートウェイ２１０の処理部１１は、メッセージの統合及び分割の両処理を行うことが可能な構成としたが、これに限るものではなく、処理部１１がメッセージの統合又は分割のいずれか一つのみを行うことが可能な構成としてもよい。
【００７８】
なお、実施の形態２に係るゲートウェイ２１０のその他の構成は、実施の形態１に係るゲートウェイ１０の構成と同様であるため、同様の箇所には同じ符号を付して詳細な説明を省略する。
【符号の説明】
【００７９】
１  車両
２，３  通信線
４  ＥＣＵ
１０  ゲートウェイ
１１  処理部
１１ａ  中継処理部
１２  プログラム記憶部
１２ａ  中継プログラム（ソフトウェアプログラム）
１３ａ，１３ｂ  ＣＡＮコントローラ（通信部）
２０  中継監視回路（禁止部、検出部、中断部）
２１  メッセージ記憶部
２２  メッセージ判定部（判定部）
２１０  ゲートウェイ
２２０  中継監視回路
２２２  メッセージ判定部
２２３  判定条件記憶部
【図１】
0006525824.tif 000002
【図２】
0006525824.tif 000003
【図３】
0006525824.tif 000004
【図４】
0006525824.tif 000005
【図５】
0006525824.tif 000006
【図６】
0006525824.tif 000007
【図７】
0006525824.tif 000008
【図８】
0006525824.tif 000009
【図９】
0006525824.tif 000010
【図１０】
0006525824.tif 000011
【図１１】
0006525824.tif 000012