(57)【特許請求の範囲】
【請求項１】
複数の通信バスと接続されるゲートウェイと、
前記複数の通信バスに接続される１または複数の電子制御ユニットとを有する車載ネットワークであって、
前記ゲートウェイは、
前記１または複数の電子制御ユニットによって送信されるメッセージと、該メッセージのＩＤを示すメッセージＩＤと、該メッセージの送信周期とを紐付けて格納する記憶部と、
前記１または複数の電子制御ユニットのいずれかによって送信される前記メッセージが、前記記憶部に格納されている送信周期と異なる送信周期で送信されている異常メッセージである場合に、前記記憶部を参照して該異常メッセージのメッセージＩＤに基づいて該異常メッセージの送信元の電子制御ユニットを特定し、該特定された電子制御ユニットにメッセージの送信を停止させる通信停止メッセージを送信する送信部と、
前記送信部により、該電子制御ユニットに前記通信停止メッセージを送信した後に前記異常メッセージが受信される場合に、前記１または複数の電子制御ユニットのいずれかに成りすました電子制御ユニットがあると判断する判断部と、
前記判断部により、前記１または複数の電子制御ユニットのいずれかに成りすました電子制御ユニットがあると判断された場合に、該成りすました電子制御ユニットが接続された第１の通信バスと、前記複数の通信バスのうち前記第１の通信バス以外の通信バスとの間の通信を遮断するように制御する制御部と、
を有する、車載ネットワーク。
【請求項２】
前記１または複数の電子制御ユニットから送信されたメッセージのメッセージＩＤに該当するメッセージ名が前記記憶部に登録されている場合に、前記記憶部に前記メッセージを該メッセージの送信周期と紐付けて登録する登録部をさらに備える、請求項１に記載の車載ネットワーク。
【請求項３】
さらに、前記制御部は、前記判断部により、前記１または複数の電子制御ユニットのいずれかに成りすました電子制御ユニットがあると判断された場合に、該成りすました電子制御ユニットから送信されるメッセージに対して無効化するためのフィルタを適用することを特徴とする請求項１または２に記載の車載ネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載ネットワークに関する。
【背景技術】
【０００２】
CAN(Controller Area Network)等の車載ネットワークにおいては、各電子制御ユニット(ECU: Electronic Control Unit)は、数バイト程度の暗号化データを付与したメッセージを送受信し、該暗号化データに基づいて、通信が正常に行われているか否かを確認している。
【０００３】
車載ネットワークにおいて、不正なデータを侵入させて誤動作させる攻撃を検知し防御する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１４６８６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
CANでは、メッセージに付帯できるデータ量は最大８バイトであり、該メッセージに通信データと暗号化データとを付帯する場合、暗号化データとして使用できるデータ量は限られる。特に、メッセージに付帯される通信データが誤っていないかどうかに基づいてセキュリティ対策を行う場合、８バイトでは限界がある。
【０００６】
また、暗号化データを作成する際に使用される暗号化アルゴリズムは一度解析されれば、同様の暗号化データを作成できる。仮に、暗号化アルゴリズムが解析された場合には、その暗号化アルゴリズムを適用した不正の電子制御ユニットを車載ネットワークに混入させ、成りすまし通信を行わせることが可能となる。
【０００７】
本発明の目的は、車載ネットワークにおいて、セキュリティを向上させることである。
【課題を解決するための手段】
【０００８】
開示の一実施例の車載ネットワークは、
複数の通信バスと接続されるゲートウェイと、前記複数の通信バスに接続される１または複数の電子制御ユニットとを有する車載ネットワークであって、
前記ゲートウェイは、
複数の通信バスと接続されるゲートウェイと、
前記複数の通信バスに接続される１または複数の電子制御ユニットとを有する車載ネットワークであって、
前記ゲートウェイは、
前記１または複数の電子制御ユニットによって送信されるメッセージと、該メッセージのＩＤを示すメッセージＩＤと、該メッセージの送信周期とを紐付けて格納する記憶部と、
前記１または複数の電子制御ユニットのいずれかによって送信される前記メッセージが、前記記憶部に格納されている送信周期と異なる送信周期で送信されている異常メッセージである場合に、前記記憶部を参照して該異常メッセージのメッセージＩＤに基づいて該異常メッセージの送信元の電子制御ユニットを特定し、該特定された電子制御ユニットにメッセージの送信を停止させる通信停止メッセージを送信する送信部と、
前記送信部により、該電子制御ユニットに前記通信停止メッセージを送信した後に前記異常メッセージが受信される場合に、前記１または複数の電子制御ユニットのいずれかに成りすました電子制御ユニットがあると判断する判断部と、
前記判断部により、前記１または複数の電子制御ユニットのいずれかに成りすました電子制御ユニットがあると判断された場合に、該成りすました電子制御ユニットが接続された第１の通信バスと、前記複数の通信バスのうち前記第１の通信バス以外の通信バスとの間の通信を遮断するように制御する制御部と、
を有する。
【発明の効果】
【０００９】
開示の実施例によれば、車載ネットワークにおいて、セキュリティを向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】車載ネットワークの一実施例を示す図である。
【図２】ゲートウェイの一実施例を示す機能ブロック図である。
【図３】車載ネットワークの動作の一実施例を示す図である。
【発明を実施するための形態】
【００１１】
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明する。以下で説明する実施例は一例に過ぎず、本発明が適用される実施の形態は、以下の実施例に限られない。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【００１２】
＜実施例＞
＜車載ネットワーク＞
図１は、車載ネットワークの一実施例を示す。
【００１３】
車載ネットワークは、例えば車両等の移動体に搭載され、CAN、LIN(Local Interconnect Network)等のLAN(Local Area Network)が適用される。車載ネットワークは、情報系LAN、パワートレイン系LAN、ボディ系LAN等に適用できる。また、車載ネットワークに、FlexRay（登録商標）を適用してもよい。
【００１４】
車載ネットワークは、第１の通信バス１と、第２の通信バス２と、ゲートウェイ１００と、第１のECU２００ａと、第２のECU２００ｂと、第３のECU２００ｃと、第４のECU２００ｄと、第５のECU２００ｅと、第６のECU２００ｆと、第７のECU２００ｇとによって構成される。以下、第１のECU２００ａ、第２のECU２００ｂ、第３のECU２００ｃ、第４のECU２００ｄ、第５のECU２００ｅ、第６のECU２００ｆ、及び第７のECU２００ｇのうち任意のものを表す場合には「ECU２００」と記載する。
【００１５】
ゲートウェイ１００は、第１の通信バス１、及び第２の通信バス２と有線接続される。また、第１のECU２００ａ−第７のECU２００ｇは、第１の通信バス１に有線接続される。
【００１６】
図１には、７個のECUが第１の通信バス１に接続される例が示されるが、１−６個のECUを第１の通信バス１に接続することも、８個以上のECUを第１の通信バス１に接続することもできる。また、図１では、第２の通信バス２にECUが接続されていないが、１又は複数のECUを接続できる。
【００１７】
車載ネットワークにCANが適用される場合、第１の通信バス１、及び第２の通信バス２は、ツイストペアの形態を有する２本の通信線（CANバス）からなる。CANバスのツイストペア線は一方がCAN High（以下、CANHという）、他方がCAN Low（以下、CANLという）と呼ばれる母線である。第１の通信バス１、及び第２の通信バス２のそれぞれの両端には終端抵抗が接続される。図１では、１本の実線でCANH、CANLを表す。
【００１８】
第１のECU２００ａ−第７のECU２００ｇは、CSMA/CD(Carrier Sense Multiple Access/Collision Detection)にしたがって、ロー(Lo)レベルの信号を送信し続けたECUが優先して通信を行い、衝突に負けた（ハイ(Hi)レベルの信号を送信した）ECUは次の機会の送信のために待機する。つまり、第１のECU２００ａ−第７のECU２００ｇのうち、ローレベルの信号を送信し続けたECUが第１の通信バス１を介して通信を行い、ローレベルの信号を送信し続けたECU以外のECUは次の機会まで待機する。
【００１９】
＜第１のECU２００ａ＞
第１のECU２００ａのハードウェア構成について説明する。第１のECU２００ａのハードウェア構成は、第２のECU２００ｂ−第７のECU２００ｇのハードウェア構成にも適用できる。
【００２０】
図１に示すように、第１のECU２００ａは、通信トランシーバ２０２ａと、通信回路２０６ａと、CPU２０８ａと、RAM(Random Access Memory)２１０ａと、ROM(Read Only Memory)２１２ａとを有する。マイクロコントローラ２０４ａには、第１のECU２００ａ全体を制御するCPU２０８ａ、CPU２０８ａが実行する第１のECU用プログラムを格納するROM２１２ａ、及び第１のECU２００ａの制御を実行する際にCPU２０８ａのワークエリアとして使用されるRAM２１０ａ等のハードウェアが実装される。マイクロコントローラ２０４ａに、２個以上のCPUを実装することもできる。
【００２１】
通信トランシーバ２０２ａは、第１の通信バス１に接続され、通信ドライバによる制御によって、通信回路２０６ａからのデータを第１の通信バス１に送信するとともに、第１の通信バス１からのデータを受信し通信回路２０６ａに入力する。これによって、通信トランシーバ２０２ａは、ゲートウェイ１００、及び第２のECU２００ｂ−第７のECU２００ｇとの間で、信号の送受信を行う。通信トランシーバ２０２ａは、データを送信する場合には、CANHとCANLに反転信号を送出する。通信トランシーバ２０２ａは、データを受信する場合には、CANHとCANLとの電圧差から、第１の通信バス１上のデータが"１"であるか"０"であるかを判定する。
【００２２】
通信回路２０６ａは、通信トランシーバ２０２ａと接続され、第１の通信バス１を介して、ゲートウェイ１００、及び第２のECU２００ｂ−第７のECU２００ｇとの間でシリアル通信を行う。通信回路２０６ａは、CPU２０８ａからのデータを通信トランシーバ２０２ａから送信するとともに、通信トランシーバ２０２ａから入力されたデータを受信し、CPU２０８ａに入力する。
【００２３】
CPU２０８ａは、通信回路２０６ａと接続され、通信回路２０６ａによって実行される通信処理等の第１のECU２００ａ全体を制御する処理を実行する。CPU２０８ａは、予め設定される送信周期にしたがって、メッセージを通信回路２０６ａに入力することによって送信させる。CPU２０８ａは、ゲートウェイ１００によって送信される送信停止メッセージを受信した場合、メッセージの送信を停止する。
【００２４】
＜ゲートウェイ１００＞
ゲートウェイ１００のハードウェア構成について説明する。
【００２５】
図１に示すように、ゲートウェイ１００は、第１の通信トランシーバ１０２と、第１の通信回路１０６と、CPU１０８と、RAM１１０と、ROM１１６と第２の通信回路１１２と、第２の通信トランシーバ１１４とを有する。マイクロコントローラ１０４には、ゲートウェイ１００全体を制御するCPU１０８、CPU１０８が実行するゲートウェイ用プログラムを格納するROM１１６、及びゲートウェイ１００の制御を実行する際にCPU１０８のワークエリアとして使用されるRAM１１０等のハードウェアが実装される。また、RAM１１０には、第１の通信バス１、及び第２の通信バス２を介して送受信されるメッセージを登録するメッセージ管理テーブル、及び第１のECU２００ａ−第７のECU２００ｇのうち通信中のECUを表す情報が記憶される。メッセージ管理テーブル、及び通信中のECUについては後述する。マイクロコントローラ１０４に、２個以上のCPUを実装することもできる。
【００２６】
第１の通信トランシーバ１０２は、第１の通信バス１に接続され、通信ドライバによる制御によって、第１の通信回路１０６によって入力されるメッセージを第１の通信バス１に送信するとともに、第１の通信バス１を伝送するメッセージを受信し第１の通信回路１０６に入力する。これによって、第１の通信トランシーバ１０２は、第１のECU２００ａ−第７のECU２００ｇとの間で、信号の送受信を行う。
【００２７】
第２の通信トランシーバ１１４は、第２の通信バス２に接続され、通信ドライバによる制御によって、第２の通信回路１１２からのデータを第２の通信バス２に送信するとともに、第２の通信バス２からのデータを受信し第２の通信回路１１２に入力する。
【００２８】
第１の通信トランシーバ１０２、及び第２の通信トランシーバ１１４は、データを送信する場合には、CANHとCANLに反転信号を送出する。第１の通信トランシーバ１０２、及び第２の通信トランシーバ１１４は、データを受信する場合には、CANHとCANLとの電圧差から、第１の通信バス１及び第２の通信バス２上のデータが"１"であるか"０"であるかを判定する。
【００２９】
第１の通信回路１０６は、第１の通信トランシーバ１０２と接続され、第１の通信バス１を介して、第１のECU２００ａ−第７のECU２００ｇとの間でシリアル通信を行う。第１の通信回路１０６は、CPU１０８によって入力されるデータを第１の通信トランシーバ１０２から送信するとともに、第１の通信トランシーバ１０２によって入力されるデータを受信し、CPU１０８に入力する。
【００３０】
第２の通信回路１１２は、第２の通信トランシーバ１１４と接続され、第２の通信バス２を介してシリアル通信を行う。第２の通信回路１１２は、CPU１０８によって入力されるデータを第２の通信トランシーバ１１４から送信するとともに、第２の通信トランシーバ１１４によって入力されたデータを受信し、CPU１０８に入力する。
【００３１】
CPU１０８は、第１の通信回路１０６、及び第２の通信回路１１２と接続され、第１の通信回路１０６、及び第２の通信回路１１２によって実行される通信処理等のゲートウェイ１００全体を制御する処理を実行する。
【００３２】
CPU１０８は、初回の通信開始の際に、第１の通信バス１を介して送受信される１又は複数のメッセージの各々について、メッセージＩＤ等のメッセージ名、送信周期、送信元ECU及び送信先（宛先）ECU（以下、「送受信ECU」という）等をメッセージ管理テーブルに登録する。
【００３３】
メッセージ管理テーブルへの登録後、CPU１０８は、メッセージ管理テーブルに登録された送信周期にしたがっていないメッセージ（以下、「異常メッセージ」という）を検出した場合、該異常メッセージに付帯されるメッセージIDによって特定されるECUを宛先とする通信停止メッセージ作成し、第１の通信回路１０６に入力する。この通信停止メッセージによって、該当するECUに対して送信周期よりも長い時間の間メッセージの送信を停止させる。そして、CPU１０８は、通信停止メッセージを送信することによって異常メッセージを送信するECUからのメッセージの送信を停止したにもかかわらず、異常メッセージを検出した場合、該ECUに成りすましたECU（以下、「成りすましECU」という）が第１の通信バス１に接続されていると判断する。
【００３４】
図１を参照して、具体的に説明する。ここでは、第４のECU２００ｄが第３のECU２００ｃに成りすましたECUであり、且つ第４のECU２００ｄによって送信されるメッセージの送信周期がメッセージ管理テーブルにしたがっていないと仮定する。この場合、ゲートウェイ１００は、第４のECU２００ｄによって送信されたメッセージに基づいて送信停止メッセージの宛先を特定し、送信する。ここで、第４のECU２００dは第３のECU２００ｃに成りすましているため、第４のECU２００dによって送信されたメッセージに基づいて特定される宛先は第３のECU２００ｃとなる。このため、送信停止メッセージは第３のECU２００ｃに受信され、第３のECU２００ｃは送信を停止するが、第４のＥＣＵ２００ｄは送信を停止しない。つまり、送信停止メッセージを送信したにもかかわらず、ゲートウェイは異常メッセージを受信し続けることとなる。
【００３５】
CPU１０８は、成りすましECUが第１の通信バス１に接続されていると判断した場合、第１のECU２００ａ−第７のECU２００ｇを送信先とする通信停止メッセージを順次送信し、成りすましECUを特定する。CPU１０８は、成りすましECUを特定すると、その成りすましECUによって送信されるメッセージをダイアグ情報として通知する。
【００３６】
また、CPU１０８は、所定の時間が経過しても、通信停止メッセージの宛先であるECUによって送信されるメッセージが検出されない場合には、該通信停止メッセージの宛先であるECUに何らかの異常があるとして、ダイアグ情報として通知することもできる。
【００３７】
＜ゲートウェイ１００の機能＞
次に、ゲートウェイ１００の機能を詳細に説明する。
【００３８】
図２は、ゲートウェイ１００の一実施例に係る機能ブロック図である。
【００３９】
ゲートウェイ１００は、送受信部１５２と、メッセージ登録処理部１５４と、記憶・読出処理部１５６と、メッセージ監視部１５８と、異常検出部１６０と、異常処理部１６８として機能する。これら各部は、ゲートウェイ１００の各構成要素のいずれかが、ROM１１６からRAM１１０上に展開されたゲートウェイ用のプログラムにしたがったCPU１０８からの命令によって動作することで実現される機能又は手段である。また、ゲートウェイ１００は、図１に示されているRAM１１０によって構築される記憶部１６２を有している。
【００４０】
（メッセージテーブル）
記憶部１６２には、図２に示されているようなメッセージテーブルによって構成されているメッセージＤＢ１６４が構築されている。メッセージテーブルには、第１の通信バス１、及び第２の通信バス２の各々を介してECUとの間で送受信されるメッセージの全て、又は一部が登録される。例えば、メッセージテーブルには、例えば、メッセージＩＤ等のメッセージ名、及び送信周期等が紐付けられることによって対応付けられて記憶される。
【００４１】
（メッセージ管理テーブル）
記憶部１６２には、図１に示されているようなメッセージ管理テーブルによって構成されているメッセージ管理ＤＢ１６６が構築されている。メッセージ管理テーブルには、メッセージＤＢ１６４のメッセージテーブルに登録されているメッセージのうち、メッセージ登録処理部１５４によって検出したメッセージについて、そのメッセージＩＤ等のメッセージ名、送信周期、及び送受信ECUが紐付けられることによって対応付けられて記憶される。
【００４２】
（通信中のECU）
記憶部１６２には、図１に示されているような通信中のECUを表す情報が格納される。図１に示される例では、第１のECU２００ａ、第２のECU２００ｂ、第３のECU２００ｃ、及び第６のECU２００ｆが現在通信中であることが示される。
【００４３】
＜ゲートウェイ１００の各機能部＞
次に、ゲートウェイ１００各部を詳細に説明する。
【００４４】
ゲートウェイ１００の送受信部１５２は、図１に示されているCPU１０８からの命令、第１の通信トランシーバ１０２、第１の通信回路１０６、第２の通信トランシーバ１１４、及び第２の通信回路１１２によって実行される。送受信部１５２は、第１の通信トランシーバ１０２、及び第２の通信トランシーバ１１４を介して、異なるネットワークを構成するECU間で送受信される各種データ（情報）の送受信を行う。また、送受信部１５２は、第１の通信バス１、及び第２の通信バス２を伝送するメッセージを検出する。送受信部１５２は、第１の通信バス１を介して第１のECU２００ａ−第７のECU２００ｇによって送信されるメッセージをメッセージ登録処理部１５４、及びメッセージ監視部１５８に入力する。
【００４５】
ゲートウェイ１００の記憶・読出処理部１５６は、図１に示されているCPU１０８からの命令、並びに一例としてマイクロコントローラ１０４に実装されるＲＡＭ１１０、及びＲＯＭ１１６によって実行される。記憶・読出処理部１５６は、記憶部１６２に各種データを記憶したり、記憶部１６２に記憶された各種データを読み出す処理を行う。
【００４６】
ゲートウェイ１００のメッセージ登録処理部１５４は、図１に示されているCPU１０８からの命令によって実行され、送受信部１５２によって入力されるメッセージを記憶部１６２のメッセージ管理ＤＢ１６６に登録する。メッセージ登録処理部１５４は、送受信部１５２によって入力されるメッセージに付帯されるメッセージＩＤに基づいて、そのメッセージのメッセージ名、送信周期、及び送受信ECUを特定し、メッセージ管理テーブルに登録する。メッセージを登録する処理は、初回の通信開始の際に実行することもできるし、通信が開始された後に随時行うこともできる。
【００４７】
ゲートウェイ１００のメッセージ監視部１５８は、図１に示されているCPU１０８からの命令によって実行される。メッセージ監視部１５８は、メッセージ登録処理部１５４によって記憶部１６２のメッセージ管理ＤＢ１６６のメッセージ管理テーブルに登録されたメッセージに関する情報に基づいて、送受信部１５２によって入力されるメッセージがそのメッセージ管理テーブルの送信周期にしたがって送信されているか否かを監視する。メッセージ監視部１５８は、メッセージがメッセージ管理テーブルの送信周期にしたがって送信されている場合には、監視を継続する。メッセージ監視部１５８は、メッセージがメッセージ管理テーブルの送信周期にしたがって送信されていない場合には、異常検出部１６０にそのメッセージ（異常メッセージ）を通知する。
【００４８】
ゲートウェイ１００の異常検出部１６０は、図１に示されているCPU１０８からの命令によって実行される。異常検出部１６０は、メッセージ監視部１５８によって通知された異常メッセージに基づいて、異常が発生しているか否かを判断する。異常検出部１６０は、メッセージ監視部１５８によって通知された異常メッセージから抽出されるメッセージＩＤに基づいて、該異常メッセージを送信するECUを特定する。異常検出部１６０は、送信停止メッセージを送受信部１５２に入力することによって、特定したECUに送信停止メッセージを送信する。
【００４９】
送信停止メッセージの送信後、メッセージ監視部１５８によって同様の異常メッセージが通知された場合、異常検出部１６０は、第１の通信バス１に、成りすましECUが接続されていると判断する。成りすましECUが接続されていると判断した場合、メッセージ監視部１５８は、第１のECU２００ａ−第７のECU２００ｇに順次通信停止メッセージを送信することによって成りすましECUを特定する。具体的には、異常検出部１６０は、あるECUに通信停止メッセージを送信した後に、該ECUによって送信されるメッセージと同様のメッセージが送受信部１５２によって受信される場合には、その同様のメッセージを送信するECUが成りすましECUであると判断できる。異常検出部１６０は、成りすましECUを検出すると、その成りすましECUによって送信されるメッセージをダイアグ情報として通知する。
【００５０】
ゲートウェイ１００の異常処理部１６８は、図１に示されているCPU１０８からの命令によって実行される。異常処理部１６８は、異常検出部１６０によって成りすましECUが検出された場合に、成りすましECUが接続されている通信バスの外部ポートを遮断することによって、該通信バス以外の通信バスとの間の通信を遮断する。例えば、成りすましECUが第１の通信バス１に接続されている場合、該第１の通信バス１と第２の通信バス２との間の通信を遮断する。つまり、ゲートウェイ１００は、第１の通信バス１からのメッセージを第２の通信バス２に中継しない。さらに、異常処理部１６８は、無効化フィルタを使用して、成りすましECUによって送信されるメッセージを強制的にドミナントに上書きすることによって、メッセージを無効にする。これによって、成りすましECUが接続される第１の通信バス１等の内部バス上に車載ネットワークを乗っ取ることを目的とするメッセージが送信された場合でも、強制的に書き換えることができるため無効化できる。さらに、成りすましECUによって送信されるメッセージを受信するECUに、成りすましECUによって送信されるメッセージを破棄させる。
【００５１】
＜車載ネットワークの動作＞
図３は、車載ネットワークの動作を示す。図３は、主にゲートウェイ１００の動作を示す。
【００５２】
＜（１）メッセージ管理テーブル作成処理＞
ステップＳ３０２では、ゲートウェイ１００のメッセージ登録処理部１５４は、メッセージＤＢ１６４を参照し、ECU２００によって送信されるメッセージが登録されているか否かを判断する。例えば、メッセージ登録処理部１５４は、ECU２００によって送信されるメッセージのメッセージＩＤを取得し、該メッセージＩＤに該当するメッセージ名がメッセージＤＢ１６４に登録されているか否かを判断する。例えば、メッセージ登録処理部１５４は、第１の通信バス１を伝送するメッセージＢがメッセージＤＢ１６４のメッセージテーブルに登録されているか否かを判断する。
【００５３】
ステップＳ３０４では、ゲートウェイ１００のメッセージ登録処理部１５４は、ECU２００によって送信されるメッセージのメッセージＩＤに該当するメッセージ名がメッセージＤＢ１６４に登録されている場合、そのメッセージをメッセージ管理ＤＢ１６６のメッセージ管理テーブルに登録する。図３に示される例では、ECU２００によってメッセージＢが送信周期200msで送信される。ゲートウェイ１００は、メッセージＢを受信し、メッセージ管理テーブルに送信周期とともに登録する。
【００５４】
メッセージ管理テーブルを作成する処理は、初回の通信を開始する際に自動的に行われる。
【００５５】
＜（２）メッセージ監視・検出処理＞
ステップＳ３０６では、メッセージ管理テーブルが作成された後、ゲートウェイ１００のメッセージ監視部１５８は、ECU２００によって送信されるメッセージＢがメッセージ管理テーブルにしたがっているか否かを監視する。メッセージ監視部１５８は、メッセージ管理テーブルに登録された送信周期と比較して、所定の閾値以上ずれてメッセージＢが受信される場合、異常メッセージとして異常検出部１６０に通知する。
【００５６】
異常検出部１６０は、メッセージ監視部１５８によって通知された異常メッセージから抽出されるメッセージＩＤに基づいて、該異常メッセージを送信するECUを特定し、該ECUに送信停止メッセージを送信する。
【００５７】
送信停止メッセージの送信後、メッセージ監視部１５８によって同様の異常メッセージが通知された場合、異常検出部１６０は、第１の通信バス１に、成りすましECUが接続されていると判断する。成りすましECUが接続されていると判断した場合、メッセージ監視部１５８は、第１のECU２００ａ−第７のECU２００ｇに順次通信停止メッセージを送信することによって成りすましECUを特定する。異常検出部１６０は、成りすましECUを検出すると、その成りすましECUによって送信されるメッセージをダイアグ情報として通知する。
【００５８】
異常処理部１６８は、異常検出部１６０によって成りすましECUが検出された場合に、成りすましECUが接続されている通信バスの外部ポートを遮断することによって、該通信バス以外の通信バスとの間の通信を遮断する。さらに、異常処理部１６８は、無効化フィルタを使用して、成りすましECUによって送信されるメッセージを強制的にドミナントに上書きすることによって、メッセージを無効にする。
【００５９】
車載ネットワークの一実施例によれば、ゲートウェイによって、予め登録された送信周期に対して所定の閾値以上ずれてメッセージが受信される場合、該メッセージを異常メッセージとし、該異常メッセージに付帯されるメッセージIDによって特定されるECUを宛先とする通信停止メッセージを送信する。その送信停止メッセージを送信した後、ゲートウェイによって、通信停止メッセージの宛先とは異なるECUによって送信される異常メッセージを受信するか否かを確認する。これによって、通信停止メッセージの宛先のECUの通信状態に起因する送信周期のずれを、該ECUとは異なる別のECUによる成りすましと判断することを抑制できる。
【００６０】
メッセージ監視部、及び異常検出部は制御部の一例である。
【００６１】
以上、本発明は特定の実施例を参照しながら説明されてきたが、実施例は単なる例示に過ぎず、当業者は様々な変形例、修正例、代替例、置換例等を理解するであろう。説明の便宜上、本発明の実施例に従った装置は機能的なブロック図を用いて説明されたが、そのような装置はハードウェアで、ソフトウェアで又はそれらの組み合わせで実現されてもよい。本発明は上記実施例に限定されず、本発明の精神から逸脱することなく、様々な変形例、修正例、代替例、置換例等が包含される。
【符号の説明】
【００６２】
１  第１の通信バス
２  第２の通信バス
１００  ゲートウェイ
１０２  第１の通信トランシーバ
１０４  マイクロコントローラ
１０６  第１の通信回路
１０８  CPU
１１０  RAM
１１２  第２の通信回路
１１４  第２の通信トランシーバ
１１６  ROM
１５２  送受信部
１５４  メッセージ登録処理部
１５６  記憶・読出処理部
１５８  メッセージ監視部
１６０  異常検出部
１６２  記憶部
１６４  メッセージＤＢ
１６６  メッセージ管理ＤＢ
２００ａ  第１のECU
２０２ａ  通信トランシーバ
２０４ａ  マイクロコントローラ
２０６ａ  通信回路
２０８ａ  CPU
２１０ａ  RAM
２１２ａ  ROM
２００ｂ  第２のECU
２００ｃ  第３のECU
２００ｄ  第４のECU
２００ｅ  第５のECU
２００ｆ  第６のECU
２００ｇ  第７のECU
【図１】
0006369334.tif 000002
【図２】
0006369334.tif 000003
【図３】
0006369334.tif 000004