(57)【要約】  タイムトリガー型通信方式の車載ネットワークの不正制御防止システムにおいて、第１のエラー監視装置は、車載ネットワークに流れるフレームを受信する第１のフレーム送受信部と、第１のフレーム送受信部が受信したフレームにエラーが発生したことを検知した場合、フレームでエラーが発生したことを通知するためのエラー通知フレームを送信させる第１のエラー検知部を有し、第２のエラー監視装置はそれぞれ、エラー通知フレームを受信する第２のフレーム送受信部と、受信したエラー通知フレームに含まれるエラーの発生した前記フレームに関して自ブランチにおけるエラーが検知されない場合、前記フレームを無効化対象フレームとして、以降の当該フレームの受信を無効化する無効化モードへ１以上の第２のエラー監視装置を遷移させる第２のエラー検知部とを有する。
2020090976.tif 000002
【特許請求の範囲】
【請求項１】
タイムスロットに基づくタイムトリガー型の通信方式である車載ネットワークにおける不正制御防止システムであって、
前記車載ネットワークには、それぞれ所定のタイムスロット内でフレームを送受信する１以上の電子制御装置がブランチごとに接続されており、
前記不正制御防止システムは、前記ブランチごとにエラー監視装置を備え、
前記エラー監視装置のうちの第１のエラー監視装置は、
前記車載ネットワークに流れるフレームを受信する第１のフレーム送受信部と、
前記第１のフレーム送受信部が受信したフレームにエラーが発生したかどうか検知し、前記第１のフレーム送受信部が受信したフレームにエラーが発生したことを検知した場合、エラーの発生した前記フレームの種類を識別可能な情報を含み、前記フレームでエラーが発生したことを通知するためのエラー通知フレームを、前記第１のフレーム送受信部に送信させる第１のエラー検知部と、を有し、
前記エラー監視装置のうちの前記第１のエラー監視装置と異なる１以上の第２のエラー監視装置はそれぞれ、
前記エラー通知フレームを受信する第２のフレーム送受信部と、
受信した前記エラー通知フレームに含まれるエラーの発生した前記フレームに関して自ブランチにおけるエラーが検知されない場合、前記フレームを無効化対象フレームとして、以降の前記フレームの受信を無効化する無効化モードへ前記１以上の第２のエラー監視装置を遷移させる第２のエラー検知部とを有する、
不正制御防止システム。
【請求項２】
前記１以上の第２のエラー監視装置それぞれでは、
前記第２のフレーム送受信部は、前記車載ネットワークの所定のタイムスロット内でフレームを送受信し、
前記第２のエラー検知部は、前記１以上の第２のエラー監視装置が前記無効化モードである場合、前記第２のフレーム送受信部に、前記無効化対象フレームのフレームを受信させない、または、前記第２のフレーム送受信部に、前記無効化対象フレームと同一のタイムスロットにおいて、同一の識別子のフレームの送信を行わせることにより、前記無効化対象フレームの受信を無効化する、
請求項１記載の不正制御防止システム。
【請求項３】
前記第１のエラー監視装置では、
前記第１のエラー検知部は、前記第１のフレーム送受信部が送信した前記エラー通知フレームに含まれる、エラーの発生した前記フレームに関して、前記１以上の第２のエラー監視装置から自ブランチでエラーが発生したことを通知するためのエラー通知フレームを受信しないことを検知した場合、前記１以上の第２のエラー監視装置それぞれを前記無効化モードへ遷移させる無効化モード変更フレームを、前記第１のフレーム送受信部に送信させ、
前記１以上の第２のエラー監視装置それぞれでは、
前記第２のエラー検知部は、前記第２のフレーム送受信部が前記無効化モード変更フレームを受信したことを検知した場合、前記自ブランチにおけるエラーが検知されない場合として、前記無効化モードへ前記１以上の第２のエラー監視装置を遷移させる、
請求項２記載の不正制御防止システム。
【請求項４】
前記第１のエラー監視装置では、
前記第１のエラー検知部は、前記第１のフレーム送受信部が送信した前記エラー通知フレームに含まれるエラーの発生した前記フレームに関して、前記１以上の第２のエラー監視装置から自ブランチでエラーが発生したことを通知するためのエラー通知フレームを受信しないことを検知した場合、前記１以上の第２のエラー監視装置それぞれを前記無効化モードへ遷移させる無効化モード変更フレームを、前記第１のフレーム送受信部に送信させ、
前記第１のエラー検知部は、さらに、前記第１のフレーム送受信部が送信した前記無効化モード変更フレームにエラーが発生したか否かを検知し、当該無効化モード変更フレームにエラーが発生したことを検知した場合、前記第１のフレーム送受信部に、前記無効化モード変更フレームの送受信について異常が発生したことを通知するためのエラー通知異常フレームを送信させ、
前記１以上の第２のエラー監視装置それぞれでは、
前記第２のエラー検知部は、前記第２のフレーム送受信部が前記エラー通知異常フレームを受信したことを検知した場合、前記無効化モードへ前記１以上の第２のエラー監視装置を遷移させる、
請求項２または３記載の不正制御防止システム。
【請求項５】
前記１以上の第２のエラー監視装置のそれぞれは、さらに、フレームの種別ごとにエラーの検知回数および、エラー通知フレームの受信回数の少なくとも１つを保持する、エラー状態保持部を備え、
前記第１のエラー監視装置では、
前記第１のエラー検知部は、さらに、前記第１のフレーム送受信部が送信した前記エラー通知フレームにエラーが発生したか否かを検知し、当該エラー通知フレームにエラーが発生したことを検知した場合、前記第１のフレーム送受信部に、前記エラー通知フレームの送受信について異常が発生したことを通知するためのエラー通知異常フレームを送信させ、
前記１以上の第２のエラー監視装置のそれぞれでは、
前記第２のエラー検知部は、前記第２のフレーム送受信部が前記エラー通知異常フレームを受信した場合、前記エラー状態保持部に保持される前記検知回数および前記受信回数のいずれかが、所定数以上であるフレームを、前記無効化対象フレームとし、前記無効化モードへ前記１以上の第２のエラー監視装置を遷移させる、
請求項２記載の不正制御防止システム。
【請求項６】
前記タイムトリガー型の通信方式は、ＦｌｅｘＲａｙプロトコルであり、
前記エラーは、ＦｌｅｘＲａｙプロトコルに定められる、ＳｙｎｃＥｒｒｏｒ、ＣｏｎｔｅｎｔＥｒｒｏｒ、ＢｏｕｎｄａｒｙＶｉｏｌａｔｉｏｎ、および、ＴｘＣｏｎｆｌｉｃｔのいずれかである、
請求項１〜５のいずれか１項記載の不正制御防止システム。
【請求項７】
前記車載ネットワークは、スターカプラを有するスター型トポロジで構成され、前記スターカプラを介し、複数のブランチにフレームの送受信が行われ、
前記エラー通知フレームは、ＦｌｅｘＲａｙプロトコルにおける動的フレームであり、
前記第１のフレーム送受信部は、前記第１のエラー監視装置が接続されるブランチに応じて、前記エラー通知フレームを、送信するサイクル数を決定する、
請求項６記載の不正制御防止システム。
【請求項８】
前記第１のエラー監視装置では、
複数のブランチのうちの一つのブランチを無効化させる無効化切り替えフレームを前記第１のフレーム送受信部に送信させることで、前記一つのブランチに接続される少なくとも１つの第２のエラー監視装置を前記無効化モードに遷移させ、前記一つのブランチ以外の１以上のブランチに接続される少なくとも１つの第２のエラー監視装置を前記無効化モードに遷移させない期間を作りだし、当該期間中に前記１以上の第２のエラー監視装置から受信するエラー通知フレームの個数を検知し、
前記無効化切り替えフレームを前記第１のフレーム送受信部に送信させたときから所定の時間経過後に、前記１以上のブランチのうちの一つのブランチを無効化させる無効化切り替えフレームを前記第１のフレーム送受信部に送信させることにより、前記複数のブランチの各々を順番に無効化させる無効化切り替えフレームを前記第１のフレーム送受信部に送信させ、
前記エラー通知フレームの個数が最大であると検知した一つのブランチを不正ブランチと判定する、
請求項７記載の不正制御防止システム。
【請求項９】
前記無効化切り替えフレームは、前記無効化モードに遷移させることを示す有効化フラグと、前記無効化モードに遷移させるブランチを識別する値とを含む、
請求項８記載の不正制御防止システム。
【請求項１０】
前記１以上の第２のエラー監視装置のそれぞれでは、
前記第２のエラー検知部は、前記第２のフレーム送受信部が前記無効化切り替えフレームを受信し、前記無効化切り替えフレームに含まれる前記値により識別されるブランチと、当該第２のエラー監視装置が接続されているブランチとが一致している場合、当該第２のエラー監視装置を、前記無効化モードへ遷移させる、
請求項９記載の不正制御防止システム。
【請求項１１】
前記１以上の第２のエラー監視装置のそれぞれでは、
前記第２のフレーム送受信部は、前記車載ネットワークの所定のタイムスロット内で第１のフレームを送信し、
前記第２のエラー検知部は、前記１以上の第２のエラー監視装置が前記無効化モードである場合、前記第２のフレーム送受信部に、前記第１のフレームを、前記所定のタイムスロット内で予め定められた送信開始タイミングよりも早い送信開始タイミングで送信させることで、前記無効化対象フレームの受信を無効化する、
請求項１記載の不正制御防止システム。
【請求項１２】
タイムスロットに基づくタイムトリガー型の通信方式である車載ネットワークにおける監視装置であって、
前記車載ネットワークには、それぞれ所定のタイムスロット内でフレームを送受信する１以上の電子制御装置がブランチごとに接続されており、
前記監視装置は、前記ブランチごとに設けられ、
前記フレームでエラーが発生したことを通知するために送信されたエラー通知フレームであって前記車載ネットワークに流れるフレームにエラーが発生した場合にエラーの発生した前記フレームの種類を識別可能な情報を含むエラー通知フレームを受信するフレーム送受信部と、
受信した前記エラー通知フレームに含まれるエラーの発生した前記フレームに関して自ブランチにおけるエラーが検知されない場合、前記フレームを無効化対象フレームとして、以降の前記フレームの受信を無効化する無効化モードへ前記監視装置を遷移させるエラー検知部とを備える、
監視装置。
【請求項１３】
前記フレーム送受信部は、前記車載ネットワークに流れるフレームを受信しており、
前記エラー検知部は、前記フレーム送受信部が受信した第１フレームにエラーが発生したかどうか検知し、前記フレーム送受信部が受信した前記第１フレームにエラーが発生したことを検知した場合、エラーの発生した前記第１フレームの種類を識別可能な情報を含み、前記第１フレームでエラーが発生したことを通知するための第１のエラー通知フレームを、前記フレーム送受信部に送信させる、
請求項１２記載の監視装置。
【請求項１４】
タイムスロットに基づくタイムトリガー型の通信方式である車載ネットワークにおける不正制御防止システムにおける不正制御防止方法であって、
前記車載ネットワークには、それぞれ所定のタイムスロット内でフレームを送受信する１以上の電子制御装置がブランチごとに接続されており、
前記不正制御防止システムは、前記ブランチごとにエラー監視装置を備え、
前記エラー監視装置のうちの第１のエラー監視装置が、前記車載ネットワークに流れるフレームを受信する第１のフレーム送受信ステップと、
前記第１のエラー監視装置が、前記第１のフレーム送受信ステップにおいて受信したフレームにエラーが発生したかどうか検知し、前記第１のフレーム送受信ステップにおいて受信したフレームにエラーが発生したことを検知した場合、エラーの発生した前記フレームの種類を識別可能な情報を含み、前記フレームでエラーが発生したことを通知するためのエラー通知フレームを、前記第１のフレーム送受信ステップにおいて送信させる第１のエラー検知ステップと、を含み、
前記エラー監視装置のうちの前記第１のエラー監視装置と異なる１以上の第２のエラー監視装置のそれぞれが、前記エラー通知フレームを受信する第２のフレーム送受信ステップと、
前記１以上の第２のエラー監視装置のそれぞれが、前記第２のフレーム送受信ステップにおいて受信した前記エラー通知フレームに含まれるエラーの発生した前記フレームに関して、自ブランチにおけるエラーが検知されない場合、前記フレームを無効化対象フレームとして、以降の前記フレームの受信を無効化する無効化モードへ前記１以上の第２のエラー監視装置を遷移させる第２のエラー検知ステップとを含む、
不正制御防止方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、車載ネットワークにおける不正フレームの送信を無効化する不正制御防止システム、監視装置、および、不正制御防止方法に関する。
【背景技術】
【０００２】
近年、自動車の中のシステムには、電子制御ユニット（以下、ＥＣＵ）と呼ばれる装置が多数配置されている。これらのＥＣＵをつなぐネットワークは車載ネットワークと呼ばれる。【０００３】
車載ネットワークには、多数の規格が存在する。その中でも、現在、主流となっているＣｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（以下ＣＡＮ）よりも高速、高信頼プロトコルとして設計されたＦｌｅｘＲａｙという規格が存在する。【０００４】
ＦｌｅｘＲａｙでは、２本のより線の電圧差により“０”の値と“１”の値を表す。バスに接続されているＥＣＵはノードと呼ばれ、フレームと呼ばれるメッセージを送受信する。ＦｌｅｘＲａｙは、Ｔｉｍｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ（以下ＴＤＭＡ）方式であり、各ノードは予め決められたタイミングでフレームを送信する。【０００５】
ＦｌｅｘＲａｙでは、最大の時間単位であるサイクルが存在し、各ノードはグローバルタイムを同期している。サイクルは「静的セグメント」、「動的セグメント」、「シンボルウィンドウ」および「ネットワークアイドルタイム」の４つのセグメントから構成される。動的セグメントとシンボルウィンドウとはオプションである。静的セグメントと動的セグメントとは、さらにスロットと呼ばれる１つのフレームを送信することができる時間から構成される。各ノードは、静的セグメントと動的セグメントとにおいて、予め規定されたタイミングでフレームを送信する。【０００６】
ＦｌｅｘＲａｙでは、送信先および送信元を示す識別子は存在しない。送信ノードは、フレーム毎に予め定められた送信タイミングであるスロット番号に基づいて、フレームを送信する。各受信ノードは予め決められたスロット番号のフレームのみを受信する。なお、同一のスロット番号に基づいて送信されるフレームであっても、サイクルによって異なるフレームの通信を実現する「サイクルマルチプレキシング」と呼ばれる方法を用いることで、同一のスロット番号で異なるタイミングで送信することができる。【０００７】
このように、ＦｌｅｘＲａｙでは、タイムスロットに基づくタイムトリガー型の通信方式が採用されている。【０００８】
また、ＦｌｅｘＲａｙでは、ＣＡＮのように全てのノードが１つのバスに接続されるバス型ネットワークトポロジに限らず、スターカプラを介したスター型のネットワークトポロジ、または、バス型とスター型のハイブリッド型のネットワークトポロジで構成することが可能である。【０００９】
例えば、スター型のネットワークトポロジでは、ブランチと呼ばれる複数のバスにおいて、スターカプラが各ブランチの信号をルーティングすることで、ネットワークの同期を実現している。スターカプラは、各ブランチの信号の中で最も先に送信された信号をルーティングする仕様になっている。このため、あるブランチ内に不正なＥＣＵが存在し、正規なＥＣＵによる正規のフレームの送信より先に、不正なＥＣＵが不正なフレームを送信した場合には、スターカプラの仕様により、正規のフレームが無視され、不正なフレームがルーティングされてしまうことになる。そして、不正なフレームがルーティングされてしまうことにより、車両の不正制御を引き起こすことが可能となってしまう。【００１０】
このような状況において、例えば特許文献１には、車載ネットワークの不正フレームを検知する不正検知方法とその防止方法とが提案されている。より具体的には、特許文献１では、フレームがあらかじめ規定された通信間隔で送信されているか否かを検出し、規定された通信間隔から外れるフレームを不正と判断することで、不正フレームによる制御を防止する車載ネットワーク監視装置について開示されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特許第５６６４７９９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、タイムトリガー型の通信方式を採用しているＦｌｅｘＲａｙでは、予め規定された通信間隔で通信を行うため、ある特定の識別子をもつフレームの受信間隔は常に一定となる。このため、特許文献１に開示されるような不正検知手法では、ＦｌｅｘＲａｙの車載ネットワークに適用することはできない。【００１３】
本開示は、上述の事情を鑑みてなされたもので、車載ネットワークにおける不正フレームの送信を無効化することができる不正制御防止システム、監視装置、および、不正制御防止方法を提供する。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、本開示の一態様に係る不正制御防止システムは、タイムスロットに基づくタイムトリガー型の通信方式である車載ネットワークにおける不正制御防止システムであって、前記車載ネットワークには、それぞれ所定のタイムスロット内でフレームを送受信する１以上の電子制御装置がブランチごとに接続されており、前記不正制御防止システムは、前記ブランチごとにエラー監視装置を備え、前記エラー監視装置のうちの第１のエラー監視装置は、前記車載ネットワークに流れるフレームを受信する第１のフレーム送受信部と、前記第１のフレーム送受信部が受信したフレームにエラーが発生したかどうか検知し、前記第１のフレーム送受信部が受信したフレームにエラーが発生したことを検知した場合、エラーの発生した前記フレームの種類を識別可能な情報を含み、前記フレームでエラーが発生したことを通知するためのエラー通知フレームを、前記第１のフレーム送受信部に送信させる第１のエラー検知部と、を有し、前記エラー監視装置のうちの前記第１のエラー監視装置と異なる１以上の第２のエラー監視装置はそれぞれ、前記エラー通知フレームを受信する第２のフレーム送受信部と、受信した前記エラー通知フレームに含まれるエラーの発生した前記フレームに関して自ブランチにおけるエラーが検知されない場合、前記フレームを無効化対象フレームとして、以降の前記フレームの受信を無効化する無効化モードへ前記１以上の第２のエラー監視装置を遷移させる第２のエラー検知部とを有する。【００１５】
また、上記課題を解決するために、本開示の一態様に係る監視装置はタイムスロットに基づくタイムトリガー型の通信方式である車載ネットワークにおける監視装置であって、前記車載ネットワークには、それぞれ所定のタイムスロット内でフレームを送受信する１以上の電子制御装置がブランチごとに接続されており、前記監視装置は、前記ブランチごとに設けられ、前記フレームでエラーが発生したことを通知するために送信されたエラー通知フレームであって前記車載ネットワークに流れるフレームにエラーが発生した場合にエラーの発生した前記フレームの種類を識別可能な情報を含むエラー通知フレームを受信するフレーム送受信部と、受信した前記エラー通知フレームに含まれるエラーの発生した前記フレームに関して自ブランチにおけるエラーが検知されない場合、前記フレームを無効化対象フレームとして、以降の前記フレームの受信を無効化する無効化モードへ前記監視装置を遷移させるエラー検知部とを備える。【００１６】
また、上記課題を解決するために、本開示の一態様に係る不正制御防止方法は、タイムスロットに基づくタイムトリガー型の通信方式である車載ネットワークにおける不正制御防止システムにおける不正制御防止方法であって、前記車載ネットワークには、それぞれ所定のタイムスロット内でフレームを送受信する１以上の電子制御装置がブランチごとに接続されており、前記不正制御防止システムは、前記ブランチごとにエラー監視装置を備え、前記エラー監視装置のうちの第１のエラー監視装置が、前記車載ネットワークに流れるフレームを受信する第１のフレーム送受信ステップと、前記第１のエラー監視装置が、前記第１のフレーム送受信ステップにおいて受信したフレームにエラーが発生したかどうか検知し、前記第１のフレーム送受信ステップにおいて受信したフレームにエラーが発生したことを検知した場合、エラーの発生した前記フレームの種類を識別可能な情報を含み、前記フレームでエラーが発生したことを通知するためのエラー通知フレームを、前記第１のフレーム送受信ステップにおいて送信させる第１のエラー検知ステップと、を含み、前記エラー監視装置のうちの前記第１のエラー監視装置と異なる１以上の第２のエラー監視装置のそれぞれが、前記エラー通知フレームを受信する第２のフレーム送受信ステップと、前記１以上の第２のエラー監視装置のそれぞれが、前記第２のフレーム送受信ステップにおいて受信した前記エラー通知フレームに含まれるエラーの発生した前記フレームに関して、自ブランチにおけるエラーが検知されない場合、前記フレームを無効化対象フレームとして、以降の前記フレームの受信を無効化する無効化モードへ前記１以上の第２のエラー監視装置を遷移させる第２のエラー検知ステップとを含む。【００１７】
なお、これらの全般的または具体的な態様は、装置、システム、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、装置、システム、方法、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００１８】
本開示の不正制御防止システム等によれば、車載ネットワークにおける不正フレームの送信を無効化することができる。これにより、車載ネットワークシステム全体として、安全な状態を維持することができる。
【図面の簡単な説明】
【００１９】
【図１】図１は、実施の形態に係る車載ネットワークシステムの全体構成を示す図である。
【図２】図２は、実施の形態に係るＦｌｅｘＲａｙ通信のサイクルを示す図である。
【図３】図３は、実施の形態に係るＦｌｅｘＲａｙプロトコルのフレームフォーマットを示す図である。
【図４】図４は、実施の形態に係るＥＣＵの構成を示す図である。
【図５】図５は、実施の形態に係る監視ＥＣＵの構成の一例を示す図である。
【図６】図６は、実施の形態に係るスターカプラの構成を示す図である。
【図７】図７は、実施の形態に係る通信用設定パラメータの一例を示す図である。
【図８】図８は、実施の形態に係る静的フレームの正規ＩＤリストの一例を示す図である。
【図９】図９は、実施の形態に係る動的フレームの正規ＩＤリストの一例を示す図である。
【図１０】図１０は、実施の形態に係るブランチ状態の一例を示す図である。
【図１１Ａ】図１１Ａは、実施の形態に係るエラー通知フレームの一例を示す図である。
【図１１Ｂ】図１１Ｂは、実施の形態に係るエラー通知異常フレームの一例を示す図である。
【図１２】図１２は、実施の形態に係る監視ＥＣＵの処理を示すフローチャートである。
【図１３Ａ】図１３Ａは、本実施の形態に係るＥＣＵが攻撃者に制御を奪われたときに監視ＥＣＵが無効化モードに遷移するまでの動作シーケンスの一例を示す図である。
【図１３Ｂ】図１３Ｂは、本実施の形態に係るＥＣＵが攻撃者に制御を奪われたときに監視ＥＣＵが無効化モードに遷移した後の動作シーケンスの一例を示す図である。
【図１４Ａ】図１４Ａは、実施の形態に係るＥＣＵが攻撃者に制御を奪われたときに監視ＥＣＵが無効化モード変更フレームを送信するまでの動作シーケンスの一例を示す図である。
【図１４Ｂ】図１４Ｂは、実施の形態に係る監視ＥＣＵが送信する無効化モード変更フレームが偽装されたときの動作シーケンスの一例を示す図である。
【図１５】図１５は、実施の形態の変形例に係る無効化切り替えフレームの一例を示す図である。
【図１６Ａ】図１６Ａは、実施の形態の変形例に係る不正制御防止システムが、各ブランチを無効化モードに順次切り替えることで不正なＥＣＵの存在するブランチを特定する動作シーケンスの一例を示す図である。
【図１６Ｂ】図１６Ｂは、実施の形態の変形例に係る不正制御防止システムが、各ブランチを無効化モードに順次切り替えることで不正なＥＣＵの存在するブランチを特定する動作シーケンスの一例を示す図である。
【図１６Ｃ】図１６Ｃは、実施の形態の変形例に係る不正制御防止システムが、各ブランチを無効化モードに順次切り替えることで不正なＥＣＵの存在するブランチを特定する動作シーケンスの一例を示す図である。
【図１６Ｄ】図１６Ｄは、実施の形態の変形例に係る不正制御防止システムが、各ブランチを無効化モードに順次切り替えることで不正なＥＣＵの存在するブランチを特定する動作シーケンスの一例を示す図である。
【発明を実施するための形態】
【００２０】
本開示の一態様に係る不正制御防止システムは、タイムスロットに基づくタイムトリガー型の通信方式である車載ネットワークにおける不正制御防止システムであって、前記車載ネットワークには、それぞれ所定のタイムスロット内でフレームを送受信する１以上の電子制御装置がブランチごとに接続されており、前記不正制御防止システムは、前記ブランチごとにエラー監視装置を備え、前記エラー監視装置のうちの第１のエラー監視装置は、前記車載ネットワークに流れるフレームを受信する第１のフレーム送受信部と、前記第１のフレーム送受信部が受信したフレームにエラーが発生したかどうか検知し、前記第１のフレーム送受信部が受信したフレームにエラーが発生したことを検知した場合、エラーの発生した前記フレームの種類を識別可能な情報を含み、前記フレームでエラーが発生したことを通知するためのエラー通知フレームを、前記第１のフレーム送受信部に送信させる第１のエラー検知部と、を有し、前記エラー監視装置のうちの前記第１のエラー監視装置と異なる１以上の第２のエラー監視装置はそれぞれ、前記エラー通知フレームを受信する第２のフレーム送受信部と、受信した前記エラー通知フレームに含まれるエラーの発生した前記フレームに関して自ブランチにおけるエラーが検知されない場合、前記フレームを無効化対象フレームとして、以降の前記フレームの受信を無効化する無効化モードへ前記１以上の第２のエラー監視装置を遷移させる第２のエラー検知部とを有する。
【００２１】
これにより、タイムスロットに基づくタイムトリガー型の通信方式である車載ネットワークにおける不正フレームの送信を無効化することができる。より具体的には、本開示の不正制御防止システム等は、車載ネットワークにおけるエラー発生状況の不整合に基づいて、不正なフレームが送信されていることを検知する。そして、不正なフレームが送信されていることを検知した場合に、以降の不正なフレームの受信を無効化することで、不正なフレームの送信を無効化する。このように、フェールセーフ機能を実現することで車載ネットワークの安全性を高めることができる。
【００２２】
また、前記１以上の第２のエラー監視装置それぞれでは、前記第２のフレーム送受信部は、前記車載ネットワークの所定のタイムスロット内でフレームを送受信し、前記第２のエラー検知部は、前記１以上の第２のエラー監視装置が前記無効化モードである場合、前記第２のフレーム送受信部に、前記無効化対象フレームのフレームを受信させない、または、前記第２のフレーム送受信部に、前記無効化対象フレームと同一のタイムスロットにおいて、同一の識別子のフレームの送信を行わせることにより、前記無効化対象フレームの受信を無効化してもよい。
【００２３】
これにより、不正なフレームを適切に無効化することが可能となるので、車載ネットワークの安全性を高めることができる。
【００２４】
また、前記第１のエラー監視装置では、前記第１のエラー検知部は、前記第１のフレーム送受信部が送信した前記エラー通知フレームに含まれる、エラーの発生した前記フレームに関して、前記１以上の第２のエラー監視装置から自ブランチでエラーが発生したことを通知するためのエラー通知フレームを受信しないことを検知した場合、前記１以上の第２のエラー監視装置それぞれを前記無効化モードへ遷移させる無効化モード変更フレームを、前記第１のフレーム送受信部に送信させ、前記１以上の第２のエラー監視装置それぞれでは、前記第２のエラー検知部は、前記第２のフレーム送受信部が前記無効化モード変更フレームを受信したことを検知した場合、前記自ブランチにおけるエラーが検知されない場合として、前記無効化モードへ前記１以上の第２のエラー監視装置を遷移させてもよい。
【００２５】
これにより、エラー通知を行うフレームが不正なフレームに偽装されたとしても、不正なフレームを無効化することができる。これにより、車載ネットワークの安全性を高めることができる。
【００２６】
また、前記第１のエラー監視装置では、前記第１のエラー検知部は、前記第１のフレーム送受信部が送信した前記エラー通知フレームに含まれるエラーの発生した前記フレームに関して、前記１以上の第２のエラー監視装置から自ブランチでエラーが発生したことを通知するためのエラー通知フレームを受信しないことを検知した場合、前記１以上の第２のエラー監視装置それぞれを前記無効化モードへ遷移させる無効化モード変更フレームを、前記第１のフレーム送受信部に送信させ、前記第１のエラー検知部は、さらに、前記第１のフレーム送受信部が送信した前記無効化モード変更フレームにエラーが発生したか否かを検知し、当該無効化モード変更フレームにエラーが発生したことを検知した場合、前記第１のフレーム送受信部に、前記無効化モード変更フレームの送受信について異常が発生したことを通知するためのエラー通知異常フレームを送信させ、前記１以上の第２のエラー監視装置それぞれでは、前記第２のエラー検知部は、前記第２のフレーム送受信部が前記エラー通知異常フレームを受信したことを検知した場合、前記無効化モードへ前記１以上の第２のエラー監視装置を遷移させてもよい。
【００２７】
これにより、エラー通知を行うフレームが不正なフレームに偽装されたとしても、不正なフレームを無効化することができる。これにより、車載ネットワークの安全性を高めることができる。
【００２８】
また、前記１以上の第２のエラー監視装置のそれぞれは、さらに、フレームの種別ごとにエラーの検知回数および、エラー通知フレームの受信回数の少なくとも１つを保持する、エラー状態保持部を備え、前記第１のエラー監視装置では、前記第１のエラー検知部は、さらに、前記第１のフレーム送受信部が送信した前記エラー通知フレームにエラーが発生したか否かを検知し、当該エラー通知フレームにエラーが発生したことを検知した場合、前記第１のフレーム送受信部に、前記エラー通知フレームの送受信について異常が発生したことを通知するためのエラー通知異常フレームを送信させ、前記１以上の第２のエラー監視装置のそれぞれでは、前記第２のエラー検知部は、前記第２のフレーム送受信部が前記エラー通知異常フレームを受信した場合、前記エラー状態保持部に保持される前記検知回数および前記受信回数のいずれかが、所定数以上であるフレームを、前記無効化対象フレームとし、前記無効化モードへ前記１以上の第２のエラー監視装置を遷移させてもよい。
【００２９】
これにより、エラー通知を行うフレームが不正なフレームに偽装されたとしても、不正なフレームを無効化することができる。さらに、無効化モード変更フレームを送信せずに、無効化モードへ遷移可能となるので、より早く不正なフレームを無効化したい場合に効果的である。よって、車載ネットワークの安全性をより高めることができる。
【００３０】
また、前記タイムトリガー型の通信方式は、ＦｌｅｘＲａｙプロトコルであり、前記エラーは、ＦｌｅｘＲａｙプロトコルに定められる、ＳｙｎｃＥｒｒｏｒ、ＣｏｎｔｅｎｔＥｒｒｏｒ、ＢｏｕｎｄａｒｙＶｉｏｌａｔｉｏｎ、および、ＴｘＣｏｎｆｌｉｃｔのいずれかであるとしてもよい。
【００３１】
これにより、ＦｌｅｘＲａｙを搭載した車載ネットワークにおける不正フレームの送信を無効化することができる。
【００３２】
また、前記車載ネットワークは、スターカプラを有するスター型トポロジで構成され、前記スターカプラを介し、複数のブランチにフレームの送受信が行われ、前記エラー通知フレームは、ＦｌｅｘＲａｙプロトコルにおける動的フレームであり、前記第１のフレーム送受信部は、前記第１のエラー監視装置が接続されるブランチに応じて、前記エラー通知フレームを、送信するサイクル数を決定してもよい。
【００３３】
これにより、スター型ＦｌｅｘＲａｙにおいて、スロットＩＤを効率的に利用しつつ、エラー通知フレームの送受信が可能となる。よって、車載ネットワークの設計の自由度を保ちつつ、不正なフレームを適切に無効化することができ安全性を高めることができる。
【００３４】
また、前記第１のエラー監視装置では、複数のブランチのうちの一つのブランチを無効化させる無効化切り替えフレームを前記第１のフレーム送受信部に送信させることで、前記一つのブランチに接続される少なくとも１つの第２のエラー監視装置を前記無効化モードに遷移させ、前記一つのブランチ以外の１以上のブランチに接続される少なくとも１つの第２のエラー監視装置を前記無効化モードに遷移させない期間を作りだし、当該期間中に前記１以上の第２のエラー監視装置から受信するエラー通知フレームの個数を検知し、前記無効化切り替えフレームを前記第１のフレーム送受信部に送信させたときから所定の時間経過後に、前記１以上のブランチのうちの一つのブランチを無効化させる無効化切り替えフレームを前記第１のフレーム送受信部に送信させることにより、前記複数のブランチの各々を順番に無効化させる無効化切り替えフレームを前記第１のフレーム送受信部に送信させ、前記エラー通知フレームの個数が最大であると検知した一つのブランチを不正ブランチと判定してもよい。
【００３５】
これにより、不正なフレームが送信されているブランチを明らかにし対処に有益な情報が得られるので、車載ネットワークにおける不正フレームの送信を無効化することができる。
【００３６】
また、前記無効化切り替えフレームは、前記無効化モードに遷移させることを示す有効化フラグと、前記無効化モードに遷移させるブランチを識別する値とを含んでもよい。
【００３７】
また、前記１以上の第２のエラー監視装置のそれぞれでは、前記第２のエラー検知部は、前記第２のフレーム送受信部が前記無効化切り替えフレームを受信し、前記無効化切り替えフレームに含まれる前記値により識別されるブランチと、当該第２のエラー監視装置が接続されているブランチとが一致している場合、当該第２のエラー監視装置を、前記無効化モードへ遷移させてもよい。
【００３８】
また、前記１以上の第２のエラー監視装置のそれぞれでは、前記第２のフレーム送受信部は、前記車載ネットワークの所定のタイムスロット内で第１のフレームを送信し、前記第２のエラー検知部は、前記１以上の第２のエラー監視装置が前記無効化モードである場合、前記第２のフレーム送受信部に、前記第１のフレームを、前記所定のタイムスロット内で予め定められた送信開始タイミングよりも早い送信開始タイミングで送信させることで、前記無効化対象フレームの受信を無効化してもよい。
【００３９】
これにより、不正なフレームよりも正規のフレームの送信開始タイミングが早まり、不正なフレームによる影響を抑えることができる。つまり、車載ネットワークにおける不正フレームの送信を無効化することができる。
【００４０】
また、本開示の一様態に係る監視装置は、タイムスロットに基づくタイムトリガー型の通信方式である車載ネットワークにおける監視装置であって、前記車載ネットワークには、それぞれ所定のタイムスロット内でフレームを送受信する１以上の電子制御装置がブランチごとに接続されており、前記監視装置は、前記ブランチごとに設けられ、前記フレームでエラーが発生したことを通知するために送信されたエラー通知フレームであって前記車載ネットワークに流れるフレームにエラーが発生した場合にエラーの発生した前記フレームの種類を識別可能な情報を含むエラー通知フレームを受信するフレーム送受信部と、受信した前記エラー通知フレームに含まれるエラーの発生した前記フレームに関して自ブランチにおけるエラーが検知されない場合、前記フレームを無効化対象フレームとして、以降の前記フレームの受信を無効化する無効化モードへ前記監視装置を遷移させるエラー検知部とを備える。
【００４１】
これにより、エラーの発生状況の不整合に基づいて、不正なフレーム送信を検知し、無効化することで、車載ネットワークシステムの安全性を高めることができる。
【００４２】
また、本開示の一様態に係る不正制御防止方法は、タイムスロットに基づくタイムトリガー型の通信方式である車載ネットワークにおける不正制御防止システムにおける不正制御防止方法であって、前記車載ネットワークには、それぞれ所定のタイムスロット内でフレームを送受信する１以上の電子制御装置がブランチごとに接続されており、前記不正制御防止システムは、前記ブランチごとにエラー監視装置を備え、前記エラー監視装置のうちの第１のエラー監視装置が、前記車載ネットワークに流れるフレームを受信する第１のフレーム送受信ステップと、前記第１のエラー監視装置が、前記第１のフレーム送受信ステップにおいて受信したフレームにエラーが発生したかどうか検知し、前記第１のフレーム送受信ステップにおいて受信したフレームにエラーが発生したことを検知した場合、エラーの発生した前記フレームの種類を識別可能な情報を含み、前記フレームでエラーが発生したことを通知するためのエラー通知フレームを、前記第１のフレーム送受信ステップにおいて送信させる第１のエラー検知ステップと、を含み、前記エラー監視装置のうちの前記第１のエラー監視装置と異なる１以上の第２のエラー監視装置のそれぞれが、前記エラー通知フレームを受信する第２のフレーム送受信ステップと、前記１以上の第２のエラー監視装置のそれぞれが、前記第２のフレーム送受信ステップにおいて受信した前記エラー通知フレームに含まれるエラーの発生した前記フレームに関して、自ブランチにおけるエラーが検知されない場合、前記フレームを無効化対象フレームとして、以降の前記フレームの受信を無効化する無効化モードへ前記１以上の第２のエラー監視装置を遷移させる第２のエラー検知ステップとを含む。
【００４３】
以下、本実施の形態に係る車載ネットワークシステムについて、図面を参照しながら説明する。ここで示す実施の形態は、いずれも本開示の一具体例を示すものである。従って、以下の実施の形態で示される数値、構成要素、構成要素の配置及び接続形態、並びに、ステップ（工程）及びステップの順序等は、一例であって本開示を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
【００４４】
（実施の形態１）
１．システムの構成
以下、図面を参照しながら、本実施の形態に係る車載ネットワークにおける不正制御防止システムについて説明する。
【００４５】
１．１  車載ネットワークシステム１０の全体構成
図１は、本実施の形態に係る車載ネットワークシステム１０の全体構成を示す図である。
【００４６】
車載ネットワークシステム１０は、タイムスロットに基づくタイムトリガー型の通信方式の車載ネットワークであってスターカプラを有するスター型トポロジで構成され、スターカプラを介し、複数のブランチにフレームの送受信が行われる車載ネットワークを備える。車載ネットワークには、それぞれ所定のタイムスロット内でフレームを送受信する１以上の電子制御装置がブランチごとに接続される。また、車載ネットワークシステム１０は、ブランチごとにエラー監視装置を備える。なお、タイムスロットに基づくタイムトリガー型の通信方式は、例えばＦｌｅｘＲａｙプロトコルである。
【００４７】
本実施の形態では、車載ネットワークシステム１０は、図１に示すように、ブランチ１００ａ、１００ｂ、１００ｃ、１００ｄと、ＥＣＵ２００ａ、２００ｂ、２００ｃ、２００ｄと、監視ＥＣＵ４００ａ、４００ｂ、４００ｃ、４００ｄと、ハンドル２１０と、ギア２２０と、外部通信モジュール２３０と、カメラ２４０と、スターカプラ３００とを備える。
【００４８】
ＥＣＵ２００ａ〜２００ｄは、対応するブランチに接続され、ブランチを通じて、フレームの送受信を行うことで、車両の制御を実現する。図１に示す例では、ＥＣＵ２００ａは、制御対象であるハンドル２１０を制御し、ＥＣＵ２００ｂは、制御対象であるギア２２０を制御する。ＥＣＵ２００ｃは、制御対象である外部通信モジュール２３０を制御し、ＥＣＵ２００ｄは、制御対象であるカメラ２４０を制御する。ＥＣＵ２００ａ〜２００ｄはノードとも呼ばれる。ＥＣＵ２００ａ〜２００ｄの詳細は後述する。
【００４９】
監視ＥＣＵ４００ａ、４００ｂ、４００ｃ、４００ｄは、エラー監視装置の一例であり、各ブランチに接続される。監視ＥＣＵ４００ａ、４００ｂ、４００ｃ、４００ｄは、それぞれのブランチ１００ａ、１００ｂ、１００ｃ、１００ｄを観測することで、不正なフレームの送信を検知するとともに、不正なフレームの無効化を行う。詳細は後述する。
【００５０】
スターカプラ３００は、ブランチ１００ａ、１００ｂ、１００ｃ、１００ｄを接続する。スターカプラ３００は、ブランチ１００ａ、１００ｂ、１００ｃ、１００ｄに同じ信号が流れるように信号の整形を行う。車載ネットワークシステム１０では、スターカプラ３００を備えることで、ＥＣＵ２００ａ、２００ｂ、２００ｃ、２００ｄは、ブランチ１００ａ、１００ｂ、１００ｃ、１００ｄを通じて時刻の同期をとっている。詳細は後述する。
【００５１】
１．２  ＦｌｅｘＲａｙ通信
図２は、本実施の形態に係るＦｌｅｘＲａｙ通信のサイクルを示す図である。ＦｌｅｘＲａｙ通信（ＦｌｅｘＲａｙプロトコル）は、図２に示すサイクル（Ｃｙｃｌｅ）と呼ばれる単位で行われる。サイクルの繰り返し回数（サイクルカウンタ）は、各ノードが同期して保持している。このサイクルカウンタは０〜６３の値をとる。サイクルカウンタが例えば６３である場合、次のサイクルはサイクルカウンタを０にリセットして行われる。
【００５２】
各サイクルは、図２に示すように、静的セグメント（Ｓｔａｔｉｃ  ｓｅｇｍｅｎｔ）、動的セグメント（Ｄｙｎａｍｉｃ  ｓｅｇｍｅｎｔ）、および、シンボルウィンドウ（Ｓｙｍｂｏｌ  ｗｉｎｄｏｗ）、ネットワークアイドルタイム（ＮＩＴ）の４つのセグメントから構成される。
【００５３】
各セグメントの時間は、予め設計されたパラメータによって、ＦｌｅｘＲａｙネットワーク全体（クラスタ）で共通である。１サイクルの時間も同様にクラスタで共通である。
【００５４】
静的セグメントは、複数のスロットから構成される。スロットの個数、および各スロットの時間はクラスタ内で共通である。
【００５５】
また、ＦｌｅｘＲａｙ通信で送信されるフレームは、１スロット内において１つのフレームが送信されることから、スロットの番号（スロット番号）がフレームの識別子（Ｆｒａｍｅ  ＩＤ）となる。本実施の形態では、ＥＣＵ２００ａ、２００ｂ、２００ｃ、２００ｄは、予め定められたタイミング（スロット番号）で、フレームの送信を行うように設計されている。静的セグメント内で送信されるフレームを静的フレームと呼ぶ。静的フレームは、ペイロード長がクラスタ内で共通となっている。
【００５６】
動的セグメントは、図示しないが、ミニスロットと呼ばれるスロットから構成される。ミニスロットにも同様にスロット番号が存在する。本実施の形態では、ＥＣＵ２００ａ、２００ｂ、２００ｃ、２００ｄは、予め定められたタイミング（スロット番号）で送信を行うように設計されているが、静的セグメントと異なり、必ずしもフレームの送信を行う必要はない。動的セグメント内で送信されるフレーム動的フレームと呼ぶ。動的フレームは、ペイロード長として０〜２５４の任意の値をとることができる。
【００５７】
シンボルウィンドウは、シンボルと呼ばれる信号の送受信を行う時間帯である。
【００５８】
ネットワークアイドルタイム（ＮＩＴ）は、通信を行わない時間帯であり、サイクルの最後に必ず設けられる。ＥＣＵ２００ａ、２００ｂ、２００ｃ、２００ｄは、時刻の同期処理等を行う。
【００５９】
１．３  フレームフォーマット
図３は、本実施の形態に係るＦｌｅｘＲａｙプロトコルのフレームフォーマットを示す図である。フレームフォーマットは、静的フレームおよび動的フレームともに共通のフォーマットである。フレームは、Ｈｅａｄｅｒ  Ｓｅｇｍｅｎｔ、Ｐａｙｌｏａｄ  Ｓｅｇｍｅｎｔ、および、Ｔｒａｉｌｅｒ  Ｓｅｇｍｅｎｔの３つのセグメントから構成される。
【００６０】
Ｈｅａｄｅｒ  Ｓｅｇｍｅｎｔは、Ｒｅｓｅｒｖｅｄ  ｂｉｔから始まり、Ｐａｙｌｏａｄ  ｐｒｅａｍｂｌｅ  ｉｎｄｉｃａｔｏｒ、Ｎｕｌｌ  ｆｒａｍｅ  ｉｎｄｉｃａｔｏｒ、Ｓｙｎｃ  ｆｒａｍｅ  ｉｎｄｉｃａｔｏｒ、および、Ｓｔａｒｔｕｐ  ｆｒａｍｅ  ｉｎｄｉｃａｔｏｒがそれぞれ１ビットずつ含まれる。Ｐａｙｌｏａｄ  ｐｒｅａｍｂｌｅ  ｉｎｄｉｃａｔｏｒ、Ｎｕｌｌ  ｆｒａｍｅ  ｉｎｄｉｃａｔｏｒ、Ｓｙｎｃ  ｆｒａｍｅ  ｉｎｄｉｃａｔｏｒ、および、Ｓｔａｒｔｕｐ  ｆｒａｍｅ  ｉｎｄｉｃａｔｏｒは、フレームの種別を表すためものである。
【００６１】
Ｈｅａｄｅｒ  Ｓｅｇｍｅｎｔは、さらに、１１ビットのＦｒａｍｅ  ＩＤと、７ビットのＰａｙｌｏａｄ  ｌｅｎｇｔｈ、１１ビットのＨｅａｄｅｒ  ＣＲＣ、および、６ビットのＣｙｃｌｅ  ｃｏｕｎｔから構成される。
【００６２】
Ｆｒａｍｅ  ＩＤは、スロットＩＤとも呼ばれ、フレームの送信タイミング及び、フレームの内容を識別するために用いられる。
【００６３】
Ｐａｙｌｏａｄ  ｌｅｎｇｔｈは、最大１２７の値をとり得る。
【００６４】
Ｐａｙｌｏａｄ  Ｓｅｇｍｅｎｔには、Ｐａｙｌｏａｄ  ｌｅｎｇｔｈの値に２をかけたバイト数が格納される。
【００６５】
Ｈｅａｄｅｒ  ＣＲＣは、Ｓｙｎｃ  ｆｒａｍｅ  ｉｎｄｉｃａｔｏｒからＰａｙｌｏａｄ  ｌｅｎｇｔｈまでを含んだ値から計算されるチェックサムである。
【００６６】
Ｃｙｃｌｅ  ｃｏｕｎｔは、現在のサイクル数が格納される。
【００６７】
Ｐａｙｌｏａｄ  Ｓｅｇｍｅｎｔには、フレームの内容を表すデータが含まれる。Ｐａｙｌｏａｄ  Ｓｅｇｍｅｎｔには、Ｐａｙｌｏａｄ  ｌｅｎｇｔｈの値の２倍のバイト数が格納されており、最大で２５４バイトが格納される。
【００６８】
Ｔｒａｉｌｅｒ  Ｓｅｇｍｅｎｔには、フレームの全てを含んだ値から計算されるＣＲＣが格納されている。
【００６９】
１．４  ＥＣＵ２００ａの構成図
図４は、本実施の形態に係るＥＣＵ２００ａの構成を示す図である。なお、ＥＣＵ２００ｂ、ＥＣＵ２００ｃ、ＥＣＵ２００ｄは、ＥＣＵ２００ａと同様の構成であるため、これらの説明を省略する。
【００７０】
ＥＣＵ２００ａは、ブランチ１００ａに接続され、ブランチ１００ａを通じて、フレームの送受信を行うことで、ハンドル２１０の制御を実現する。ＥＣＵ２００ａは、図４に示すように、フレーム送受信部２０１と、フレーム解釈部２０２と、外部機器制御部２０３と、フレーム生成部２０４と、通信用設定パラメータ保持部２０５と、を備える。
【００７１】
フレーム送受信部２０１は、車載ネットワークのブランチ１００ａに流れるフレームを受信する。より具体的には、フレーム送受信部２０１は、ブランチ１００ａから受信したフレームに含まれる物理信号を、デジタル信号に復号することでフレームの情報を取得する。フレーム送受信部２０１は、通信用設定パラメータ保持部２０５に保持される通信用設定パラメータを参照することで、他のＥＣＵと時刻を同期し、正しくフレームを受信する。
【００７２】
また、フレーム送受信部２０１は、車載ネットワークのブランチ１００ａにフレームを送信する。より具体的には、フレーム送受信部２０１は、フレーム生成部２０４から、通知される送信フレーム要求に従い、予め定められたタイミングで、フレームを物理信号に変換して、ブランチ１００ａに送信する。
【００７３】
フレーム解釈部２０２は、フレーム送受信部２０１が受信したフレームに含まれるペイロードを解釈し、ペイロードの内容に応じてＥＣＵ２００ａに接続されるハンドル２１０の制御を行うために外部機器制御部２０３へ通知を行う。フレーム解釈部２０２は、例えば、他のＥＣＵから通知される車両の速度の情報に基づいて、走行状態を判断することで、走行状態に応じたハンドルのアシスト制御を実現したり、自動駐車モード時のステアリング操舵指示信号に基づいて、ハンドルの自動操舵を実現したりする。
【００７４】
外部機器制御部２０３は、ＥＣＵ２００ａに接続されるハンドル２１０の制御を行う。また、外部機器制御部２０３は、ハンドル２１０の状態を監視し、他のＥＣＵに状態を通知するためのフレーム送信要求をフレーム生成部２０４に通知する。例えば、外部機器制御部２０３は、ハンドル２１０の角度を通知するためのフレーム要求をフレーム生成部２０４に通知する。
【００７５】
フレーム生成部２０４は、外部機器制御部２０３から通知された信号に基づいて、フレームの生成を行い、フレーム送受信部２０１へ送信要求を行う。
【００７６】
通信用設定パラメータ保持部２０５は、物理信号を正しく、デジタル信号に変換するための、クラスタ内で共通のパラメータが保持されている。通信用設定パラメータの詳細は後述する。
【００７７】
１．５  監視ＥＣＵ４００ａの構成図
図５は、本実施の形態に係る監視ＥＣＵ４００ａの構成の一例を示す図である。なお、監視ＥＣＵ４００ｂ、４００ｃ、４００ｄは、監視ＥＣＵ４００ａと同様の構成であるため、これらの説明を省略する。また、監視ＥＣＵ４００ａの構成のうち、ＥＣＵ２００ａと同様の構成については、同じ番号を付与してその説明を省略する。
【００７８】
監視ＥＣＵ４００ａは、エラー監視装置の一例であり、第１のエラー監視装置または第２のエラー監視装置の一例でもある。監視ＥＣＵ４００ａは、ブランチ１００ａに接続されている。監視ＥＣＵ４００ａは、上述したが、ブランチ１００ａを観測することで、不正なフレームの送信を検知するとともに、不正なフレームの無効化を行う。監視ＥＣＵ４００ａは、図５に示すように、フレーム生成部２０４と、通信用設定パラメータ保持部２０５と、フレーム送受信部４０１と、エラー検知部４０２と、正規ＩＤリスト保持部４０３と、ブランチ状態保持部４０４とを備える。図４と同様の要素には同一の符号を付している。
【００７９】
＜フレーム送受信部４０１＞
フレーム送受信部４０１は、車載ネットワークに流れるフレームを車載ネットワークの所定のタイムスロット内で受信し、車載ネットワークの所定のタイムスロット内で車載ネットワークにフレームを送信する。フレーム送受信部４０１は、車載ネットワークのブランチ１００ａにフレームを送受信する。より具体的には、車載ネットワークのブランチ１００ａに流れるフレームを受信し、車載ネットワークのブランチ１００ａにフレームを送信する。フレーム送受信部４０１は、ブランチ１００ａから受信したフレームに含まれる物理信号を、デジタル信号に復号することでフレームの情報を取得する。フレーム送受信部４０１は、通信用設定パラメータ保持部２０５に保持される通信用設定パラメータを参照することで、他のＥＣＵと時刻を同期し、正しくフレームを受信する。フレーム送受信部４０１は、フレーム生成部２０４から、通知される送信フレーム要求に従い、予め定められたタイミングで、フレームを物理信号に変換して、ブランチ１００ａに送信する。
【００８０】
さらに、フレーム送受信部４０１は、フレームとして、例えば受信したフレームにエラーが発生したことを通知するためのエラー通知フレーム、または、対象の監視ＥＣＵ４００ｂ〜４００ｄのそれぞれを無効化モードへ遷移させる無効化モード変更フレームを送受信する。フレーム送受信部４０１は、監視ＥＣＵ４００ａが接続されるブランチに応じて、エラー通知フレームまたは無効化モード変更フレームを送信するためのサイクル数を決定する。
【００８１】
また、フレーム送受信部４０１は、フレームとして、例えば無効化モード変更フレームまたはエラー通知フレームの送受信について異常が発生したことを通知するためのエラー通知異常フレームを送受信する。
【００８２】
＜エラー検知部４０２＞
エラー検知部４０２は、フレーム送受信部４０１から、フレーム送受信部４０１が受信したフレームを通知されると、通知されたフレームがエラー無く受信されているか否かを検知する。なお、エラー検知部４０２は、ＦｌｅｘＲａｙプロトコルに定められるＴｘＣｏｎｆｌｉｃｔ、ＳｙｎｔａｘＥｒｒｏｒ、ＣｏｎｔｅｎｔＥｒｒｏｒ、および、ＢｏｕｎｄａｒｙＶｉｏｌａｔｉｏｎのいずれかに何のフラグが立っているかどうかで、フレームにエラーが発生しているか否を検知する。
【００８３】
エラー検知部４０２は、フレーム送受信部４０１が受信したフレームにエラーが発生していることを検知した場合、自ブランチ以外の他ブランチに存在するＥＣＵに対して、自ブランチにおいて、特定ＩＤのフレームでエラーが発生していることを通知するためのフレームの送信を行わせる。より詳細には、エラー検知部４０２は、特定ＩＤのフレームでエラーが発生していることを通知するためのフレームの送信させる旨の通知をフレーム生成部２０４に行うことで、当該フレームをフレーム送受信部４０１に送信させる。
【００８４】
より具体的には、エラー検知部４０２は、フレーム送受信部４０１が受信したフレームにエラーが発生したかどうか検知する。エラー検知部４０２は、フレーム送受信部４０１が受信したフレームにエラーが発生したことを検知した場合、エラーの発生したフレームの種類を識別可能な情報を含むエラー通知フレームを、フレーム送受信部４０１に送信させる。
【００８５】
エラー検知部４０２は、無効化モード変更フレームを受信した場合およびエラー通知異常フレームを受信した場合に、他のブランチ１００ａ〜１００ｃにおいてエラーの発生しているＩＤのフレームを無効化するための対象ＩＤのフレームを、フレーム送受信部４０１に送信させてもよい。
【００８６】
具体的には、エラー検知部４０２は、フレーム送受信部４０１が送信したエラー通知フレームに含まれる、エラーの発生したフレームに関して、他の監視ＥＣＵ４００ｂ〜４００ｄから自ブランチ１００ａでエラーが発生したことを通知するためのエラー通知フレームを受信しないことを検知したとする。この場合、エラー検知部４０２は、他の監視ＥＣＵ４００ｂ〜４００ｄそれぞれを無効化モードへ遷移させる無効化モード変更フレームを、フレーム送受信部４０１に送信させてもよい。さらに、エラー検知部４０２は、フレーム送受信部４０１が送信した無効化モード変更フレームにエラーが発生したか否かを検知する。エラー検知部４０２は、当該無効化モード変更フレームにエラーが発生したことを検知した場合、フレーム送受信部４０１に、無効化モード変更フレームの送受信について異常が発生したことを通知するためのエラー通知異常フレームを送信させる。
【００８７】
また、エラー検知部４０２は、フレーム送受信部４０１が無効化モード変更フレームを受信したことを検知した場合、監視ＥＣＵ４００ａを無効化モードへ遷移させてもよい。
【００８８】
また、エラー検知部４０２は、フレーム送受信部４０１がエラー通知異常フレームを受信したことを検知した場合、監視ＥＣＵ４００ａを無効化モードへ遷移させる。
【００８９】
ここで、エラー検知部４０２は、監視ＥＣＵ４００ａが無効化モードに遷移している場合、フレーム送受信部４０１に、無効化対象フレームのフレームを受信させないことにより、無効化対象フレームの受信を無効化してもよい。また、エラー検知部４０２は、監視ＥＣＵ４００ａが無効化モードに遷移している場合、フレーム送受信部４０１に、無効化対象フレームと同一のタイムスロットにおいて、同一の識別子のフレームの送信を行わせることにより、無効化対象フレームの受信を無効化してもよい。また、エラー検知部４０２は、監視ＥＣＵ４００ａが無効化モードに遷移しており、フレーム送受信部４０１が車載ネットワークの所定のタイムスロット内で第１のフレームを送信するとする。この場合、エラー検知部４０２は、フレーム送受信部４０１に、第１のフレームを、所定のタイムスロット内で予め定められた送信開始タイミングよりも早い送信開始タイミングで送信させることで、無効化対象フレームの受信を無効化してもよい。
【００９０】
なお、エラー検知部４０２は、フレーム送受信部４０１が受信したエラー通知フレームに含まれる他ブランチでエラーの発生したフレームに関して自ブランチ（ブランチ１００ａ）におけるエラーが検知されないとする。この場合、エラー検知部４０２は、フレームを無効化対象フレームとして、以降のフレームの受信を無効化する無効化モードへ監視ＥＣＵ４００ａを遷移させてもよい。
【００９１】
また、エラー検知部４０２は、フレーム送受信部４０１が受信したフレームにエラーが発生していることを検知したときに、さらに、他のブランチ１００ｂ〜１００ｄにおいても当該ＩＤのフレームにエラーが発生していることが通知されたとする。この場合、エラー検知部４０２は、故障等による通信異常が発生していると判断し、故障モードへ移行すればよい。ここで、故障モードとは、運転支援機能による自動制御機能をオフにするモード、つまり、自動制御に関わるフレームを無効とするモードである。
【００９２】
＜正規ＩＤリスト保持部４０３＞
正規ＩＤリスト保持部４０３は、各ＥＣＵが送信するフレームに関するＩＤのリストを格納している。正規ＩＤリストの詳細は後述する。
【００９３】
＜ブランチ状態保持部４０４＞
ブランチ状態保持部４０４は、監視ＥＣＵ４００ａに保持されており、車載ネットワークに存在するブランチの情報、各ブランチにおけるエラーの発生状況、および、現在のモード等を格納している。ブランチ状態保持部４０４が格納するブランチ状態の詳細は後述する。
【００９４】
１．６  スターカプラ３００の構成図
図６は、本実施の形態に係るスターカプラ３００の構成を示す図である。スターカプラ３００は、ブランチ１００ａ〜１００ｄと接続され、上述したが、ブランチ１００ａ、１００ｂ、１００ｃ、１００ｄに同じ信号が流れるように信号の整形を行う。スターカプラ３００は、同一のタイミング（同一スロット内）で最も先に送信が開始されたフレームを、当該フレームが送信されたブランチ以外のすべてのブランチに転送する。スターカプラ３００は、図６に示すように、トランシーバ部３０１ａ、３０１ｂ、３０１ｃ、３０１ｄと、ルーティング部３０２とを備える。
【００９５】
トランシーバ部３０１ａは、ブランチ１００ａと接続され、ブランチ１００ａから受信した物理信号を、デジタル信号に変換し、ルーティング部３０２へ通知する。また、トランシーバ部３０１ａは、デジタル信号をルーティング部３０２から通知された場合、通知されたデジタル信号を、物理信号へ変換し、ブランチ１００ａへ転送する。
【００９６】
ルーティング部３０２は、トランシーバ部３０１ａから通知されたデジタル信号を、トランシーバ部３０１ａを除くトランシーバ部３０１ｂ、３０１ｃ、３０１ｄへ転送する。同様に、ルーティング部３０２は、トランシーバ部３０１ｂからデジタル信号を通知された場合、トランシーバ部３０１ｂを除くトランシーバ部３０１ａ、３０１ｃ、３０１ｄに対して、デジタル信号を転送する。このようにして、ルーティング部３０２は、トランシーバ部３０１ａ、３０１ｃ、３０１ｄのうちの一のトランシーバ部から通知されたフレームを、トランシーバ部３０１ａ、３０１ｃ、３０１ｄのうち当該一のトランシーバ部を除いたトランシーバ部に転送する。
【００９７】
なお、ルーティング部３０２は、複数のトランシーバ部の少なくとも２以上から、デジタル信号を受信した場合は、最初にデジタル信号を受信したトランシーバ部からの信号を、他のトランシーバ部へ転送する。
【００９８】
１．７  通信用設定パラメータの一例
図７は、本実施の形態に係る通信用設定パラメータの一例を示す図である。
【００９９】
通信用設定パラメータは、上述したように、監視ＥＣＵ４００ａ〜４００ｄおよびＥＣＵ２００ａ〜２００ｄの通信用設定パラメータ保持部２０５に格納されている。通信用設定パラメータは、図７に示すように、通信の速度を表すボーレート、静的セグメントスロットＩＤ、動的セグメントスロットＩＤ、および、静的スロットペイロード長等を含む。図７に示す通信用設定パラメータでは、ボーレートが１０Ｍｂｐｓであり、静的セグメントのスロットＩＤが１〜５０であり、動的セグメントのスロットＩＤが５１〜１００である。また、静的スロットのペイロード長が８（つまり１６バイト）である。これらの通信用設定パラメータの値は、クラスタ内のＥＣＵ全てに共有されており、これらの値を元にＦｌｅｘＲａｙフレームの送受信を実現する。
【０１００】
なお、図７に示す通信用設定パラメータの値は、一例に過ぎず、別の値であっても構わない。また、図７に示す通信用設定パラメータの項目も一例に過ぎず、例えば、各セグメントの長さ、および／またはスロットの長さ等が含まれていてもよいし、記載されているパラメータの一部が含まれていなくてもよい。
【０１０１】
１．８  正規ＩＤリストの一例
図８は、本実施の形態に係る静的フレームの正規ＩＤリストの一例を示す図である。図８に示す静的フレームの正規ＩＤリストは、監視ＥＣＵ４００ａが保持する正規ＩＤリスト保持部４０３に格納されている。
【０１０２】
静的フレームの正規ＩＤリストは、図８に示すように、スロットＩＤと、Ｃｙｃｌｅ  ｏｆｆｓｅｔと、Ｃｙｃｌｅ  ｒｅｃｅｐｔｉｏｎと、送信元ブランチ情報と、フレームに含まれるペイロード情報とを保持している。
【０１０３】
Ｃｙｃｌｅ  ｏｆｆｓｅｔとＣｙｃｌｅ  ｒｅｃｅｐｔｉｏｎとは、サイクル多重化（サイクルマルチプレキシング）と呼ばれる同じスロットＩＤにおいて異なる内容のフレームを送受信する方法が用いられるときに、対象のフレームを抽出するために必要な情報である。例えば図８に示すスロットＩＤが３であるフレームは、Ｃｙｃｌｅ  ｏｆｆｓｅｔが０、Ｃｙｃｌｅ  ｒｅｃｅｐｔｉｏｎが２である。これは、サイクル番号が０から始まり、間隔２すなわち２、４、・・・、６２の場合にフレームが送信されることを示している。
【０１０４】
より詳細には、図８に示す正規ＩＤリストでは、スロットＩＤが１であるフレームは、Ｃｙｃｌｅ  ｏｆｆｓｅｔが０、Ｃｙｃｌｅ  ｒｅｃｅｐｔｉｏｎが１であるので、全てのサイクル（１、２、・・・、６２）でフレームが送信されることを示している。さらに、スロットＩＤが１であるフレームは、フレームの送信元ブランチがブランチ１００ｂであり、ペイロードには速度に関する情報が含まれることを示している。また、スロットＩＤが２であるフレームは、空欄であることから、送信されないことを示している。
【０１０５】
また、スロットＩＤが３であるフレームは、上述したように、Ｃｙｃｌｅ  ｏｆｆｓｅｔが０、Ｃｙｃｌｅ  ｒｅｃｅｐｔｉｏｎが２である。これは、サイクル番号が０から始まり、間隔２すなわち２、４、・・・、６２の場合、つまりサイクルカウンタが偶数の場合のみ送信されることを示している。さらに、スロットＩＤが３であるフレームは、フレームの送信元ブランチがブランチ１００ａであり、ペイロードにはハンドル角度に関する情報が含まれることを示している。同様に、スロットＩＤが４であるフレームは、Ｃｙｃｌｅ  ｏｆｆｓｅｔが１、Ｃｙｃｌｅ  ｒｅｃｅｐｔｉｏｎが２である。これは、サイクル番号が１から始まり、間隔２すなわち３、５、・・・、６１の場合、つまりサイクルカウンタが奇数のときのみ送信されることを示している。さらに、スロットＩＤが４であるフレームは、フレームの送信元ブランチがブランチ１００ｂであり、ペイロードにはギア状態に関する情報が含まれることを示している。
【０１０６】
また、スロットＩＤが５であるフレームは、Ｃｙｃｌｅ  ｏｆｆｓｅｔが０、Ｃｙｃｌｅ  ｒｅｃｅｐｔｉｏｎが１、フレームの送信元ブランチがブランチ１００ｂであり、ペイロードにはブレーキ油圧に関する情報が含まれることを示している。スロットＩＤが６であるフレームは、Ｃｙｃｌｅ  ｏｆｆｓｅｔが２、Ｃｙｃｌｅ  ｒｅｃｅｐｔｉｏｎが４、フレームの送信元ブランチがブランチ１００ｄであり、ペイロードにはハンドル操舵指示に関する情報が含まれることを示している。
【０１０７】
図９は、本実施の形態に係る動的フレームの正規ＩＤリストの一例を示している。図９に示す動的フレームの正規ＩＤリストは、監視ＥＣＵ４００ａが保持する正規ＩＤリスト保持部４０３に格納されている。図９に示す動的フレームの正規ＩＤリストは、図８と同様の情報すなわちスロットＩＤと、Ｃｙｃｌｅ  ｏｆｆｓｅｔと、Ｃｙｃｌｅ  ｒｅｃｅｐｔｉｏｎと、送信元ブランチ情報と、フレームに含まれるペイロード情報とを保持している。
【０１０８】
図９に示す動的フレームの正規ＩＤリストには、４つ（４種類）のフレームが存在するスロットＩＤが５１のフレーム（動的フレーム）が示されている。
【０１０９】
１つ目のフレームは、Ｃｙｃｌｅ  ｏｆｆｓｅｔが１、Ｃｙｃｌｅ  ｒｅｃｅｐｔｉｏｎが８であり、フレームの送信元ブランチがブランチ１００ａであることを示している。さらに、ペイロードには、１つ目のフレームが、ブランチ１００ａにおいてＩＤが１のフレームにエラーが発生していたことを通知するフレームであることを示す情報が含まれている。同様に、２つ目のフレームは、Ｃｙｃｌｅ  ｏｆｆｓｅｔが２、Ｃｙｃｌｅ  ｒｅｃｅｐｔｉｏｎが８であり、フレームの送信元ブランチがブランチ１００ｂであることを示している。さらに、ペイロードには、２つ目のフレームが、ブランチ１００ｂにおいてＩＤが１のフレームにエラーが発生していたことを通知するフレームであることを示す情報が含まれている。３つ目のフレームは、Ｃｙｃｌｅ  ｏｆｆｓｅｔが３、Ｃｙｃｌｅ  ｒｅｃｅｐｔｉｏｎが８であり、フレームの送信元ブランチがブランチ１００ｃであることを示している。さらに、ペイロードには、２つ目のフレームが、ブランチ１００ｃにおいてＩＤが１のフレームにエラーが発生していたことを通知するフレームであることを示す情報が含まれている。  ４つ目のフレームは、Ｃｙｃｌｅ  ｏｆｆｓｅｔが４、Ｃｙｃｌｅ  ｒｅｃｅｐｔｉｏｎが８であり、フレームの送信元ブランチがブランチ１００ｄであることを示している。さらに、ペイロードには、２つ目のフレームが、ブランチ１００ｄにおいてＩＤが１のフレームにエラーが発生していたことを通知するフレームであることを示す情報が含まれている。
【０１１０】
このように、スロットＩＤが５１のフレームでは、１つのスロットＩＤに対してＣｙｃｌｅ  ｏｆｆｓｅｔを変えることで、送信元ブランチを変更できる。
【０１１１】
また、図９に示す動的フレームの正規ＩＤリストにおけるスロットＩＤが５３であるフレームでは、Ｃｙｃｌｅ  ｏｆｆｓｅｔは送信元ブランチに対応し、Ｃｙｃｌｅ  ｒｅｃｅｐｔｉｏｎは８であり、フレームの送信元ブランチは全てのブランチであることを示している。さらに、ペイロードには、スロットＩＤが５３であるフレームが、全てのブランチにおいてＩＤが３であるフレームにエラーが発生していたことを通知するフレームであることを示す情報が含まれている。
【０１１２】
また、スロットＩＤが５６であるフレームでも、Ｃｙｃｌｅ  ｏｆｆｓｅｔは送信元ブランチに対応し、Ｃｙｃｌｅ  ｒｅｃｅｐｔｉｏｎは８であり、フレームの送信元ブランチは全てのブランチであることを示している。さらに、ペイロードには、スロットＩＤが５６であるフレームが、全てのブランチにおいてＩＤが６であるフレームにエラーが発生していたことを通知するフレームであることを示す情報が含まれている。つまり、スロットＩＤが５６であるフレームは、エラー通知フレームであることを示している。
【０１１３】
さらに、スロットＩＤが１００であるフレームでは、Ｃｙｃｌｅ  ｏｆｆｓｅｔは送信元ブランチに対応し、Ｃｙｃｌｅ  ｒｅｃｅｐｔｉｏｎは８であり、フレームの送信元ブランチは全てのブランチであることを示している。さらに、ペイロードには、エラー通知フレームに異常が発生したことの通知が含まれることを示している。つまり、スロットＩＤが１００であるフレームは、エラー通知異常フレームであることを示している。
【０１１４】
１．９  ブランチ状態の一例
図１０は、本実施の形態に係るブランチ状態の一例を示す図である。図１０に示すブランチ状態は、監視ＥＣＵ４００ａのブランチ状態保持部４０４に格納されている。
【０１１５】
図１０に示すブランチ状態では、監視ＥＣＵ４００ａが存在するブランチが１００ａであり、モードは通常であることを示している。また、図１０に示すブランチ状態では、スロットＩＤが１であるフレームに関して、自ブランチについてはエラーとなったフレームの回数（受信回数）を示し、他ブランチについてはエラー通知フレームの受信数（受信回数）を示している。図１０に示す例では、スロットＩＤが１であるフレームに関して、ブランチ１００ａにおいて、エラーとなったフレームの回数は０であり、他ブランチからのエラー通知フレームの受信数は、ブランチ１００ｂ、ブランチ１００ｃおよびブランチ１００ｄでは０であることを示している。同様に、スロットＩＤが３であるフレームに関して、ブランチ１００ａでエラーとなったフレームの回数は１０、エラー通知フレームの受信数は、ブランチ１００ｂ、ブランチ１００ｃおよびブランチ１００ｄでは０であることを示している。
【０１１６】
１．１０  エラー通知フレームとエラー通知異常フレームの例
図１１Ａは、本実施の形態に係るエラー通知フレームの一例を示す図である。図１１Ａには、図９を用いて説明したスロットＩＤが６であるフレームのエラーを通知するスロットＩＤ５６のエラー通知フレームが示されている。エラー通知フレームは、ＦｌｅｘＲａｙプロトコルにおける動的フレームである。
【０１１７】
図１１Ａに示すエラー通知フレームは、Ｃｙｃｌｅが１７であり、ペイロードが０ｘ０１０１０１００として送信されている。ペイロードの第１バイトの０ｘ０１は、エラー通知フレームの送信元ブランチを表しており、０ｘ０１は、ブランチ１００ａからフレームが送信されたことを示している。ペイロードの第２バイトは、スロットＩＤ５６であるフレームの内容を表しており、０ｘ０１は当該フレームがエラー通知フレームであることを示している。第２バイトの値が２である場合は、他の監視ＥＣＵに対して、モードの変更を要求するフレームとなる。本実施の形態では、無効化モードへ遷移させる無効化モード変更フレームであることを示すことになる。また、ペイロードの第３バイトは、エラー情報であり、０ｘ０１は、ＳｙｎｔａｘＥｒｒｏｒが発生したことを示している。ペイロードの第４バイトは、モード切替情報を表しており、０ｘ００は通常モードであることを示している。
【０１１８】
なお、スロットＩＤ５６であるフレーム（すなわちエラー通知フレーム）のＣｙｃｌｅが１７であることからも、ブランチ１００ａからフレームが送信されたことがわかるようになっている。これは、不正なＥＣＵが、エラー通知フレームのペイロードを偽装して送信したとしても、スロットＩＤとサイクル情報とのみで、特定のＩＤのフレームについてエラーが発生していることを正確に監視ＥＣＵが把握できるようにするためである。
【０１１９】
換言すると、エラーの発生していない正常状態（通常時）においては、スロットＩＤが５６であるフレーム（すなわちエラー通知フレーム）は送受信されない。一方、スロットＩＤが６のフレームにエラーが発生したときには、スロットＩＤが５６であるフレーム（エラー通知フレーム）を送信する。これにより、スロットＩＤが５６であるフレームを受信した時点で、フレームのペイロード値に関わらず、スロットＩＤが６であるフレームにエラーが発生していることを監視ＥＣＵは把握できる。
【０１２０】
図１１Ｂは、本実施の形態に係るエラー通知異常フレームの一例を示す図である。図１１Ｂには、図９を用いて説明したスロットＩＤが１００であるエラー通知異常フレームが示されている。エラー通知異常フレームは、エラー通知フレーム（または無効化モード変更フレーム）の送受信（つまり通信）において、異常が発生した場合に送信される。例えば、エラー通知フレームがエラーになり送信されなかった場合、または、エラー通知フレームを送信していないにも関わらず、自身の監視ＥＣＵが送信するはずのエラー通知フレームを受信する場合等である。
【０１２１】
図１１Ｂに示すエラー通知異常フレームは、スロットＩＤが１００で、Ｃｙｃｌｅが１であり、ペイロードは、０ｘ０１０１００３８であることを示している。ペイロードの第１バイトは送信元ブランチを表しており、０ｘ０１であることから送信元ブランチがブランチ１００ａであることを示している。つまり、図１１Ｂに示すエラー通知異常フレームは、ブランチ１００ａが送信元であることを意味する。ペイロードの第２バイトは、異常コードを表しており、０ｘ０１は、エラー通知フレームの送信が送信できなかったことを示している。ペイロードの第３、第４バイトの２バイトは、エラー通知異常が発生したエラー通知フレームのスロットＩＤを表しており、０ｘ３８であることから、十進数では５６のエラー通知フレームで異常が発生したことを示している。
【０１２２】
なお、エラー通知異常フレームは、エラー通知フレームと同様に通常時（エラーの発生していない正常状態）では送受信されない。一方、エラー通知異常フレームは、エラー通知フレーム（または無効化モード変更フレーム）の送受信において、異常が発生した場合に送信される。そして、監視ＥＣＵは、エラー通知異常フレームを受信した時点で、エラー通知異常フレームに基づき、無効化モードへ遷移することなる。
【０１２３】
１．１１  監視ＥＣＵ４００ａの動作
図１２は、本実施の形態に係る監視ＥＣＵ４００ａの処理を示すフローチャートである。
【０１２４】
監視ＥＣＵ４００ａは、ブランチ１００ａに流れるフレームを受信し、受信したフレームについてエラーが発生していることを検知した場合、当該フレームに対応するスロットＩＤのエラー回数を更新する（Ｓ１００１）。
【０１２５】
次に、監視ＥＣＵ４００ａは、例えば図１０に示すブランチ状態におけるスロットＩＤ毎のエラー回数のうち、例えば１０などの所定数以上のエラー回数があるかどうかを確認する。（Ｓ１００２）。
【０１２６】
ステップＳ１００２において、所定数以上のエラー回数がある場合（Ｓ１００２でＹ）、監視ＥＣＵ４００ａは、エラー通知フレームをブランチ１００ａに送信する（Ｓ１００３）。
【０１２７】
次に、監視ＥＣＵ４００ａは、エラーが発生していることを検知したフレーム（エラーが発生したフレーム）について、自ブランチが送信元となっているフレームであるか否かを確認する（Ｓ１００４）。ここで、監視ＥＣＵ４００ａは、エラーが発生したフレームに対応するスロットＩＤから、自ブランチ（ブランチ１００ａ）が送信元となっているフレームであるか否かを確認することができる。
【０１２８】
ステップＳ１００４において、エラーが発生したフレームの送信元が自ブランチである場合（Ｓ１００４でＹ）、監視ＥＣＵ４００ａは、他のブランチ（ブランチ１００ｂ〜１００ｄ）におけるエラー通知フレームの受信を１サイクル分（１スロット単位の期間）の時間待機する（Ｓ１００５）。なお、ステップＳ１００４において、エラーが発生したフレームの送信元が自ブランチではない場合（Ｓ１００４でＮ）、監視ＥＣＵ４００ａは処理を終了する。
【０１２９】
次に、監視ＥＣＵ４００ａは、対応するスロットＩＤのフレームにおいて全てのブランチ１００ａ〜１００ｃからエラーが発生したことを通知するエラー通知フレームが送信されたか否かを確認する（Ｓ１００６）。
【０１３０】
ステップＳ１００６において、全てのブランチからエラー通知フレームが送信されたことを確認した場合（Ｓ１００６でＹ）、監視ＥＣＵ４００ａは、車載ネットワークシステムにおいて通信異常が発生していると判断し（Ｓ１００７）、故障モードへ遷移して処理を終了する。
【０１３１】
一方、ステップＳ１００６において、全てのブランチからエラー通知フレームが送信されていないことを確認した場合（Ｓ１００６でＮ）、監視ＥＣＵ４００ａは、他のブランチで不正なフレームが送信されていると判断し、無効化モード変更フレームを送信する（Ｓ１００８）。
【０１３２】
次に、監視ＥＣＵ４００ａは、無効化モード変更フレームがエラー無く送信されたか否かを確認する（Ｓ１００９）。
【０１３３】
ステップＳ１００９において、無効化モード変更フレームをエラー無く送信できたことを確認した場合（Ｓ１００９でＹ）、監視ＥＣＵ４００ａは処理を終了する。
【０１３４】
一方、ステップＳ１００９において、無効化モード変更フレームをエラー無く送信できなかったことを確認した場合（Ｓ１００９でＮ）、監視ＥＣＵ４００ａは、他のブランチで不正なフレームが送信されているとして、エラー通知異常フレームを送信する（Ｓ１０１２）。
【０１３５】
なお、ステップＳ１００２において、所定数以上のエラー回数がない場合（Ｓ１００２でＮ）、監視ＥＣＵ４００ａは、無効化モード変更フレームを受信しているか否かを確認する（Ｓ１０１０）。
【０１３６】
ステップＳ１０１０において、無効化モード変更フレームを受信していることを確認した場合（Ｓ１０１０でＹ）、監視ＥＣＵ４００ａは、受信した無効化モード変更フレームが、自身が送信するはずのフレームであるか否かを確認する（Ｓ１０１１）。
【０１３７】
ステップＳ１０１１において、自身が送信するはずの無効化モード変更フレームを受信していることを確認した場合（Ｓ１０１１でＹ）、監視ＥＣＵ４００ａは、他ブランチで不正なフレームが送信されていると判断し、エラー通知異常フレームを送信する（Ｓ１０１２）。
【０１３８】
一方、ステップＳ１０１１において、自身が送信するはずの無効化モード変更フレームを受信していないことを確認した場合（Ｓ１０１１でＮ）、監視ＥＣＵ４００ａは、無効化モードに遷移し、対象ＩＤと同じフレームの送信を開始する（Ｓ１０１４）。これにより、監視ＥＣＵ４００ａは、不正なフレームと同一のスロットＩＤのフレームを送信することで不正なフレームと衝突を起こさせることができるので、不正フレームの無効化を行うことができる。
【０１３９】
また、ステップＳ１０１０において、無効化モード変更フレームを受信していないことを確認した場合（Ｓ１０１０でＮ）、監視ＥＣＵ４００ａは、エラー通知異常フレームを受信しているか否かを確認する（Ｓ１０１３）。
【０１４０】
ステップＳ１０１３において、エラー通知異常フレームを受信していないことを確認した場合（Ｓ１０１３でＮ）、監視ＥＣＵ４００ａは、処理を終了する。なお、ステップＳ１０１３において、エラー通知異常フレームを受信したことを確認した場合（Ｓ１０１３でＹ）、監視ＥＣＵ４００ａは、無効化モードに遷移し、対象ＩＤと同じフレームの送信を開始する（Ｓ１０１４）。ここで、監視ＥＣＵ４００ａは、対象ＩＤと同じフレームの送信として、ブランチ状態保持部４０４に格納されている、各スロットＩＤのエラー通知フレーム受信数が０でないスロットＩＤにおけるフレームの送信を開始する。これにより、監視ＥＣＵ４００ａは、不正なフレームと同一のスロットＩＤのフレームを送信することで不正なフレームと衝突を起こさせることができるので、不正フレームの無効化を行うことができる。
【０１４１】
１．１２  全体シーケンス図
次に、図１３Ａおよび図１３Ｂを用いて、本実施の形態に係る不正制御防止システムの全体シーケンスについて説明する。
【０１４２】
図１３Ａは、本実施の形態に係るＥＣＵが攻撃者に制御を奪われたときに監視ＥＣＵが無効化モードに遷移するまでの動作シーケンスの一例を示す図である。図１３Ｂは、本実施の形態に係るＥＣＵが攻撃者に制御を奪われたときに監視ＥＣＵが無効化モードに遷移した後の動作シーケンスの一例を示す図である。なお、点線で囲われている範囲内は、１スロット単位すなわち同一のスロットＩＤの期間を表す。また、図１３Ａおよび図１３Ｂでは、監視ＥＣＵ４００ｂが省略されている。監視ＥＣＵ４００ｂは、監視ＥＣＵ４００ａ、４００ｃ、４００ｄと同様の動作を行うが、以下の説明を簡潔にするため省略する。
【０１４３】
まず、ＥＣＵ２００ｃが外部通信モジュール２３０経由で攻撃者に制御を奪われ、攻撃者に制御を奪われたＥＣＵ２００ｃは、不正なハンドル操舵指示フレーム（偽装フレーム）を、ＥＣＵ２００ａに送信し、不正なハンドル操舵を引き起こそうとしているとする。
【０１４４】
すると、図１３Ａに示すように、制御を奪われたＥＣＵ２００ｃは、ハンドル操舵指示フレーム（偽装フレーム）を送信する（Ｓ１１０１）。
【０１４５】
次に、攻撃者に制御を奪われていない（つまり正規の）ＥＣＵ２００ｄは、通常フレームとしてのハンドル操舵指示フレームを送信する。より具体的には、正規のＥＣＵ２００ｄは、ＥＣＵ２００ｃに少し遅れてハンドル操舵指示フレーム（通常フレーム）を送信する（Ｓ１１０２）。
【０１４６】
次に、スターカプラ３００は、同一のスロットＩＤの期間に送信されたフレームの中で最も先に送信開始されたフレームを転送するので、先に送信が開始された不正なフレームであるハンドル操舵指示フレーム（偽装フレーム）を、他のブランチ１００ａ、１００ｄに転送する（Ｓ１１０３）。
【０１４７】
すると、ＥＣＵ２００ｄが接続されているブランチ１００ｄでは、スターカプラ３００から転送された偽装フレームと、ＥＣＵ２００ｄが送信した通常フレームとが衝突し、エラーが発生する（Ｓ１１０４）。ここで、監視ＥＣＵ４００ｄは、フレーム衝突によるエラーが発生したことを検知している。
【０１４８】
また、ＥＣＵ２００ａが接続されているブランチ１００ａでは、不正なフレームであるハンドル操舵指示フレーム（偽装フレーム）が受信される（Ｓ１１０５）。ここで、ＥＣＵ２００ａと監視ＥＣＵ４００ａとが、ハンドル操舵指示フレーム（偽装フレーム）を受信する。
【０１４９】
次に、ＥＣＵ２００ａは、不正なフレームあるハンドル操舵指示フレーム（偽装フレーム）に基づいて、ハンドル操舵指示を実行する（Ｓ１１０６）。これにより、車に対して不正な制御が引き起こされる。
【０１５０】
続いて次のスロット単位の期間では、まず、監視ＥＣＵ４００ｄは、ブランチ１００ｄで発生したエラーに基づき、エラー通知フレームを送信する（Ｓ１１０７）。具体的には、監視ＥＣＵ４００ｄは、受信したフレームにエラーが発生したことを検知したので、エラー通知フレームを送信する。そして、監視ＥＣＵ４００ｄは、他のブランチ１００ａ、１００ｃからのエラー通知フレームの受信を現在のスロット単位の期間（サイクル分）が終了するまで待機する。
【０１５１】
次に、スターカプラ３００は、エラー通知フレームを、他のブランチ１００ａ、１００ｃに転送する（Ｓ１１０８）。
【０１５２】
次に、監視ＥＣＵ４００ａおよび監視ＥＣＵ４００ｃは、ブランチ１００ａおよびブランチ１００ｃに流れるエラー通知フレームを受信し、内部のブランチ状態を更新する（Ｓ１１０９）。なお、監視ＥＣＵ４００ａおよび監視ＥＣＵ４００ｃは、更新したブランチ状態においてスロットＩＤ毎のエラー回数に所定数以上のエラー回数がないため、エラー通知フレームを送信しない。
【０１５３】
続いて次のスロット単位の期間では、まず、監視ＥＣＵ４００ｄは、他のブランチ１００ａ、１００ｃからエラー通知フレームが送信されてこなかったので、他のブランチ１００ａにおいては、不正なフレームが受信されていると判断する。そして、監視ＥＣＵ４００ｄは、無効化モード変更フレームを送信する（Ｓ１１１０）。
【０１５４】
次に、スターカプラ３００は、無効化モード変更フレームを、ブランチ１００ａおよびブランチ１００ｃに転送する（Ｓ１１１１）。
【０１５５】
すると、監視ＥＣＵ４００ａおよび、監視ＥＣＵ４００ｃは、無効化モード変更フレームを受信し、受信した無効化モード変更フレームが自身の送信するはずだったものでもないので、無効化モードに遷移する（Ｓ１１１２）。監視ＥＣＵ４００ａおよび、監視ＥＣＵ４００ｃは、無効化モードに遷移したので、次のスロット単位の期間に、無効化モード変更フレームにより得たスロットＩＤのフレームとしてハンドル操舵指示フレーム（無効化フレーム）を送信することになる。なお、無効化モード変更フレームにより得たスロットＩＤは、不正なフレームと同一のスロットＩＤに対応する。
【０１５６】
続いて次のスロット単位の期間では、まず、ＥＣＵ２００ｃは、図１３Ｂに示すように、再度、不正なハンドル操舵指示フレーム（偽装フレーム）を送信したとする（Ｓ１１１３）。
【０１５７】
すると、スターカプラ３００は、不正なフレームであるハンドル操舵指示フレーム（偽装フレーム）の転送を開始する（Ｓ１１１４）。
【０１５８】
ここで、無効化モードに遷移している監視ＥＣＵ４００ａ、４００ｃはハンドル操舵指示フレーム（無効化フレーム）を送信し、監視ＥＣＵ４００ｄ（またはＥＣＵ２００ｄ）は、ハンドル操舵指示フレーム（通常フレーム）を送信する（Ｓ１１１５）。
【０１５９】
すると、ブランチ１００ｃでは、既に送信が開始されている偽装フレームと、監視ＥＣＵ４００ｃが送信する無効化フレームとが衝突を起こし、エラーが発生する（Ｓ１１１６）。
【０１６０】
すると、スターカプラ３００は、フレームが衝突した信号を他のブランチ１００ｄ、１００ａに転送する（Ｓ１１１７）。
【０１６１】
次に、ブランチ１００ａと、ブランチ１００ｄとにおいては、スターカプラ３００により転送された信号と、ブランチ１００ａに流れている無効化フレームおよびブランチ１００ｄに流れている通常フレームとが衝突を起こし、エラーが発生する（Ｓ１１１８）。
【０１６２】
次に、ＥＣＵ２００ａは、ステップＳ１１１４で転送が開始されているハンドル操舵指示フレーム（偽装フレーム）にエラーが発生しているため、当該フレームすなわちハンドル操舵指示フレームを無効なものとして扱う（Ｓ１１１９）。このようにして、車に対する不正なハンドル制御は引き起こされないことになる。
【０１６３】
１．１３  無効化モード変更フレーム偽装時のシーケンス図
以下、監視ＥＣＵが送信しようとする無効化モード変更フレームが偽装されたときのシーケンスについて説明する。
【０１６４】
図１４Ａは、本実施の形態に係るＥＣＵが攻撃者に制御を奪われたときに監視ＥＣＵが無効化モード変更フレームを送信するまでの動作シーケンスの一例を示す図である。図１４Ｂは、本実施の形態に係る監視ＥＣＵが送信する無効化モード変更フレームが偽装されたときの動作シーケンスの一例を示す図である。図１３Ａと同様の要素には同一の符号を付しており、詳細な説明は省略する。すなわち、図１４ＡのステップＳ１１０１〜ステップ２２０１は、図１３Ａと同様であるため、説明を省略する。
【０１６５】
図１４Ｂでは、図１３Ｂと異なり、無効化モード変更フレームもＥＣＵ２００ｃに偽装されてしまい、監視ＥＣＵが正常に無効化モードに遷移できない場合のシーケンスが示されている。
【０１６６】
すなわち、図１３Ｂに示すように、ＥＣＵ２００ｃは、他の監視ＥＣＵ４００ａ、４００ｄが無効化モードへ遷移しないように、無効化モード変更フレーム（偽装フレーム）を送信したとする（Ｓ１２１０）。
【０１６７】
次に、監視ＥＣＵ４００ｄは、通常フレームとしての無効化モード変更フレームを送信する。より具体的には、監視ＥＣＵ４００ｄは、少し遅れて、他の監視ＥＣＵ４００ａ、４００ｃを無効化モードに遷移させるための無効化モード変更フレーム（通常フレーム）を送信する（Ｓ１２１１）。
【０１６８】
次に、スターカプラ３００は、送信が先に開始された不正なフレームである無効化モード変更フレーム（偽装フレーム）を転送する（Ｓ１２１２）。
【０１６９】
次に、監視ＥＣＵ４００ｄが接続されているブランチ１００ｄでは、監視ＥＣＵ４００ｄの送信した無効化モード変更フレーム（通常フレーム）と、転送された不正なフレームである無効化モード変更フレーム（偽装フレーム）とが衝突を起こし、エラーが発生する。すると、監視ＥＣＵ４００ｄは、フレーム衝突によるエラーが発生したことすなわちフレームエラーを検知する（Ｓ１２１３）。
【０１７０】
また、監視ＥＣＵ４００ａと、監視ＥＣＵ４００ｃとは、不正なフレームである無効化モード変更フレーム（偽装フレーム）を受信する（Ｓ１２１４）。監視ＥＣＵ４００ａと、監視ＥＣＵ４００ｃとは、偽装フレームを受信したため、無効化モードに遷移をしないものの、ブランチ状態を更新する。ここで、不正なフレームであるものの無効化モード変更フレーム自体が、他ブランチの管理ＥＣＵがエラーを検知した場合に、エラーを検知したフレームと同一のスロットＩＤとして送信される。このため、監視ＥＣＵ４００ａと、監視ＥＣＵ４００ｃとは、受信した偽装フレームによりエラーが発生していることを検知できるので、偽装フレームを受信すると、ブランチ状態を更新する。
【０１７１】
続いて、次のスロット単位の期間では、まず、監視ＥＣＵ４００ｄは、エラー通知異常フレームを送信する（Ｓ１２１５）。より具体的には、監視ＥＣＵ４００ｄは、前のスロット単位の期間において、無効化モード変更フレーム（通常フレーム）を、エラー無く送信できなかったため、エラー通知異常フレームを送信する。
【０１７２】
次に、スターカプラ３００が、エラー通知異常フレームを他のブランチ１００ａ、１００ｃに転送する（Ｓ１２１６）。
【０１７３】
すると、監視ＥＣＵ４００ａおよび監視ＥＣＵ４００ｃは、ブランチ１００ａおよびブランチ１００ｃに流れるエラー通知異常フレームを受信するので、監視ＥＣＵ４００ａ、４００ｃは、無効化モードに遷移する（Ｓ１２１７）。
【０１７４】
このようにして、無効化モード変更フレームが不正なＥＣＵに偽装された場合でも、各監視ＥＣＵが無効化モードに遷移することで、偽装フレーム（不正なフレーム）を無効化することができる。
【０１７５】
なお、説明は省略するが、エラー通知フレームおよびエラー通知異常フレームが不正なＥＣＵに偽装された場合にも同様に、各監視ＥＣＵが無効化モードに遷移することで無効化することができる。
【０１７６】
２．効果等
以上のように、本開示の不正制御防止システムおよび不正制御防止方法によれば、タイムスロットに基づくタイムトリガー型の通信方式である車載ネットワークにおける不正フレームの送信を無効化することができる。より具体的には、本開示の不正制御防止システム等は、車載ネットワークにおけるエラー発生状況の不整合に基づいて、不正なフレームが送信されていることを検知することができる。そして、不正なフレームが送信されていることを検知した場合に、以降の不正なフレームの受信を無効化することで、不正フレームの送信を無効化することができる。このようにしてフェールセーフ機能を実現できるので、車載ネットワークの安全性を高めることができる。
【０１７７】
ここで、無効化手法としては、不正なフレームと同一のタイムスロットにおいて、同一の識別子のフレームの送信を行わせることにより、不正フレームの受信を無効化する。つまり、不正なフレームと同一のスロットＩＤのフレームを送信することにより、フレームを衝突させ無効化させる。これにより、不正なフレームを適切に無効化することが可能となるので、車載ネットワークの安全性を高めることができる。
【０１７８】
なお、無効化手法としては、フレーム受信時に当該ＩＤのフレームを無視するなど、不正なフレームのフレームを受信させないことで、車載ネットワークにおける不正フレームの送信を無効化してもよい。また、不正なフレームよりも正規のフレームの送信開始タイミングを早めることで、不正なフレームによる影響を抑えてもよい。つまり、正規のＥＣＵにおいて、フレームの送信タイミングを早めることによって、スターカプラに、正規ＥＣＵが送信したフレームを転送してもらえるようにしてもよい。このようにして、車載ネットワークにおける不正フレームの送信を無効化してもよい。
【０１７９】
また、本開示の不正制御防止システムおよび不正制御防止方法によれば、エラー通知を行うフレームが不正なフレームに偽装されたとしても、当該不正なフレームを無効化することができる。これにより、車載ネットワークの安全性を高めることができる。
【０１８０】
また、タイムスロットに基づくタイムトリガー型の通信方式は、例えばスター型ＦｌｅｘＲａｙであるので、本開示の不正制御防止システムおよび不正制御防止方法によれば、スロットＩＤを効率的に利用しつつ、エラー通知フレームの送受信が可能となる。よって、車載ネットワークの設計の自由度を保ちつつ、不正なフレームを適切に無効化することができ安全性を高めることができる。
【０１８１】
（その他の変形例）
（１）上記の実施の形態では、タイムスロットに基づくタイムトリガー型の通信方式である車載ネットワークは、スター型のネットワークトポロジで構成されるとして説明したが、これに限らない。当該車載ネットワークは、例えばバス型、スター型とバス型のハイブリッドなどのネットワークトポロジで構成されてもよい。なお、バス型は、送信元となるＥＣＵの制御を奪取されたとき当該ＥＣＵが送信するフレームを無効化するのに効果的なネットワークトポロジとなる。
【０１８２】
（２）上記の実施の形態では、エラー検知部は監視ＥＣＵにのみ存在したが、これに限らない。エラー検知部は各ＥＣＵ上に存在してもよい。これにより、フレームのエラーを各ＥＣＵが検知できるので、不正なフレームに基づく制御をＥＣＵ自身で抑制することができる。また、監視ＥＣＵを、別途に設ける必要も無くなるので、車載ネットワークの省スペース、省電力、省コスト化につながり効果的である。さらに、ブランチごとに、各ＥＣＵが本来受信するフレームの範囲を監視することができるので、１つの監視ＥＣＵでブランチ内に流れる全てのフレームを監視する必要がなくなり、処理負荷の分散につながり効果的である。
【０１８３】
（３）上記の実施の形態では、ブランチごとに監視ＥＣＵが構成されていたが、これに限らない。少なくとも２つの監視ＥＣＵ（第１のエラー監視ＥＣＵ、第２のエラー監視ＥＣＵ）が車載ネットワークの異なるブランチに構成されていればよい。
【０１８４】
例えば監視ＥＣＵは、タイムスロットに基づくタイムトリガー型の通信方式である車載ネットワークにおける監視装置であって、車載ネットワークには、それぞれ所定のタイムスロット内でフレームを送受信する１以上の電子制御装置がブランチごとに接続されている。当該監視装置は、ブランチごとに設けられ、フレームでエラーが発生したことを通知するために送信されたエラー通知フレームであって車載ネットワークに流れるフレームにエラーが発生した場合にエラーの発生したフレームの種類を識別可能な情報を含むエラー通知フレームを受信するフレーム送受信部と、受信したエラー通知フレームに含まれるエラーの発生したフレームに関して自ブランチにおけるエラーが検知されない場合、当該フレームを無効化対象フレームとして、以降の当該フレームの受信を無効化する無効化モードへ監視装置を遷移させるエラー検知部と、を備える。
【０１８５】
なお、監視ＥＣＵでは、さらに、フレーム送受信部は、車載ネットワークに流れるフレームを受信しており、エラー検知部は、フレーム送受信部が受信した第１フレームにエラーが発生したかどうか検知し、フレーム送受信部が受信した第１フレームにエラーが発生したことを検知した場合、エラーの発生した第１フレームの種類を識別可能な情報を含み、第１フレームでエラーが発生したことを通知するための第１のエラー通知フレームを、フレーム送受信部に送信させてもよい。
【０１８６】
（４）上記の実施の形態では、監視ＥＣＵが、フレームのエラー検知状態に基づいて、無効化モード変更フレームを送信していたが、これに限らない。監視ＥＣＵは、フレームのエラー検知状態に限らず、無効化モード変更フレームを送信してもよい。
【０１８７】
例えば、フレームに含まれるメッセージ認証コードが不正である場合、所定の異常検知手法に基づいて、フレームが不正であると判断した場合、監視ＥＣＵは、当該ＩＤのフレームを無効化するための無効化モード変更フレームを送信してもよい。これにより、送信元となるＥＣＵの制御を攻撃者が直接奪う等により、フレームのエラーが検知されずに不正なフレームが送信されていたとしても、不正なフレームを無効化することが可能となるので、より安全性が高まる。
【０１８８】
（５）上記の実施の形態では、動的フレームに、エラー通知フレームと、無効化モード変更フレーム、エラー通知異常フレームを割り当てていたが、静的フレームに割り当ててもよい。ただし、動的フレームに割り当てる方がよい。なぜなら、不正なＥＣＵが、エラー通知フレームを偽装して送信したとしても、偽装したフレームが送信された時点で、エラーが発生していることを他の監視ＥＣＵが把握することができるからである。この結果、不正なＥＣＵが、エラー通知フレームを無効化することが困難になり、安全性が高まるからである。
【０１８９】
（６）上記の実施の形態では、監視ＥＣＵの存在するブランチに応じて、エラー通知フレームと、無効化モード変更フレームと、エラー通知異常フレームとを送信するサイクルが決定されていたが、ブランチに応じて送信するサイクルを決定しなくてもよい。
【０１９０】
例えば、ブランチごとに異なるＩＤに、上記のフレームを割り当ててもよい。ただし、ブランチに応じて送信するサイクルを決定する方がよい。なぜなら、有限なＩＤの空間を効率的に利用することが可能となるからである。
【０１９１】
（７）上記の実施の形態では、無効化モード変更フレームを起点に、監視ＥＣＵは無効化モードへ遷移したが、無効化モード変更フレームを起点にせずに無効化モードへ遷移してもよい。以下、より具体的に説明する。
【０１９２】
例えば、車載ネットワークの異なるブランチに少なくとも２つの監視ＥＣＵ（第１のエラー監視ＥＣＵ、１以上の第２のエラー監視ＥＣＵ）が構成されており、これらの監視ＥＣＵにはそれぞれエラー検知部とフレーム送受信部とが少なくとも構成されているとする。この場合、１以上の第２のエラー監視装置のそれぞれは、さらに、フレームの種別ごとにエラーの検知回数および、エラー通知フレームの受信回数の少なくとも１つを保持するエラー状態保持部を備えてもよい。そして、第１のエラー監視装置では、第１のエラー検知部は、さらに、第１のフレーム送受信部が送信したエラー通知フレームにエラーが発生したか否かを検知し、当該エラー通知フレームにエラーが発生したことを検知した場合、第１のフレーム送受信部に、エラー通知フレームの送受信について異常が発生したことを通知するためのエラー通知異常フレームを送信させてもよい。また、１以上の第２のエラー監視装置のそれぞれでは、第２のエラー検知部は、第２のフレーム送受信部がエラー通知異常フレームを受信した場合、エラー状態保持部に保持される検知回数および受信回数のいずれかが、所定数以上であるフレームを、無効化対象フレームとし、無効化モードへ当該１以上の第２のエラー監視装置を遷移させればよい。
【０１９３】
これにより、エラー通知を行うフレームが不正なフレームに偽装されたとしても、不正なフレームを無効化することができる。さらに、無効化モード変更フレームを送信せずに、無効化モードへ遷移可能となるので、より早く不正なフレームを無効化したい場合に効果的である。よって、車載ネットワークの安全性をより高めることができる。
【０１９４】
なお、監視ＥＣＵは、無効化モード変更フレームだけでなくエラー通知異常フレームを起点にせずに無効化モードへ遷移してもよい。例えば一の監視ＥＣＵが送信したエラー通知フレームを、１以上の他の監視ＥＣＵが受信した段階で、他の監視ＥＣＵが、エラー通知フレームに対応するＩＤにおいて、エラーを検知せずに受信していたとする。この場合、他の監視ＥＣＵは、不整合が生じているとして、無効化モードに遷移してもよい。また、上記の段階で、エラー通知フレームの受信数に応じて無効化モードに遷移してもよい。
【０１９５】
これにより、無効化モード変更フレームを送信せずに、無効化モードへ遷移可能となり、より早く不正なフレームを無効化したい場合に効果的である。さらにエラー通知フレームの受信数によって、通信故障と不正なフレーム送信を判断することで、異常状況に応じた適切な対応が可能となる。
【０１９６】
（８）上記の実施の形態では、監視ＥＣＵは、ブランチ状態としてエラー検知回数をカウントしていたが、これに限らない。監視ＥＣＵは、ブランチ状態としてカウントされるエラーの検知回数を、所定の時間内でのみカウントするとしてもよい。例えば６４サイクルごとに値をリセットするなどしてもよい。これにより、過去のエラー検知の影響を除外することが可能となり、効果的である。
【０１９７】
（９）上記の実施の形態では、フレームを無効化するために、同一のスロットＩＤを持つフレームを送信していたが、送信されるフレームすなわち同一のスロットＩＤを持つフレームはヌルフレームでもよく何でもよい。
【０１９８】
（１０）上記の実施の形態では、エラー通知フレームの受信により、監視ＥＣＵはブランチ状態を更新していたが、これに限らない。監視ＥＣＵは、エラー通知フレームがエラーとして検知された場合にもブランチ状態を更新してもよい。
【０１９９】
これにより、不正なＥＣＵがエラー通知フレームを無効化するために、フレームの衝突を引き起こしたとしても、ペイロードの内容によらずエラーを検出可能となる。つまり、安全性向上に効果的である。
【０２００】
（１１）上記の実施の形態では、あるブランチの監視ＥＣＵが、無効化モード変更フレームを他の全ブランチの監視ＥＣＵに対して送信していたが、これに限らない。あるブランチの監視ＥＣＵは、例えばペイロードに一部の監視ＥＣＵを宛先に含めるなどして、一部の監視ＥＣＵのみを無効化モードに遷移させてもよい。
【０２０１】
さらに、例えば、あるブランチの監視ＥＣＵが、他のブランチそれぞれにおいて、監視ＥＣＵを順に無効化モードを切り替えてもよい。あるブランチの監視ＥＣＵが、ブランチごとに無効化モードに切り替えたときに、受信したエラー通知フレームの個数から不正なＥＣＵの存在するブランチを特定してもよい。以下、これについてより具体的に説明する。
【０２０２】
例えば、車載ネットワークの異なるブランチに少なくとも２つの監視ＥＣＵ（第１のエラー監視ＥＣＵ、１以上の第２のエラー監視ＥＣＵ）が構成されており、これらの監視ＥＣＵにはそれぞれエラー検知部とフレーム送受信部とが少なくとも構成されているとする。この場合、第１のエラー監視装置では、複数のブランチのうちの一つのブランチを無効化させる無効化切り替えフレームを第１のフレーム送受信部に送信させることで、当該一つのブランチに接続される少なくとも１つの第２のエラー監視装置を無効化モードに遷移させ、当該一つのブランチ以外の１以上のブランチに接続される少なくとも１つの第２のエラー監視装置を無効化モードに遷移させない期間を作りだしてもよい。そして、当該期間中に１以上の第２のエラー監視装置から受信するエラー通知フレームの個数を検知すればよい。さらに、第１のエラー監視装置では、無効化切り替えフレームを第１のフレーム送受信部に送信させたときから所定の時間経過後に、１以上のブランチのうちの一つのブランチを無効化させる無効化切り替えフレームを第１のフレーム送受信部に送信させることにより、複数のブランチの各々を順番に無効化させる無効化切り替えフレームを第１のフレーム送受信部に送信させる。最後に、１以上の第２のエラー監視装置から受信するエラー通知フレームの個数が最大であると検知した一つのブランチを不正ブランチと判定すればよい。ここで、無効化切り替えフレームは、無効化モードに遷移させることを示す有効化フラグと、無効化モードに遷移させるブランチを識別する値とを含む。１以上の第２のエラー監視装置のそれぞれでは、第２のエラー検知部は、第２のフレーム送受信部が無効化切り替えフレームを受信し、無効化切り替えフレームに含まれる値により識別されるブランチと、当該第２のエラー監視装置が接続されているブランチとが一致している場合、当該第２のエラー監視装置を、無効化モードへ遷移させればよい。
【０２０３】
以下では、図１５〜図１６Ｄを用いて、各ブランチにおいて、無効化モードを切り替えたときのエラー通知フレームの個数から不正なＥＣＵの存在するブランチを特定する方法の一例について図を用いて説明する。
【０２０４】
図１５は、本実施の形態の変形例に係る無効化切り替えフレームの一例を示す図である。図１１Ａと同様の要素には同一の符号を付しており、詳細な説明は省略する。図１５に示す無効化切り替えフレームは、図１１Ａに示すエラー通知フレームに対して、送信先ブランチの項目が増えている。なお、無効化モードに遷移させることを示す有効化フラグとは、ペイロードにモード変更要求を示すフレーム内容と無効化モードを示すモード切替情報とが含まれていることに該当する。よって、図１５に示す無効化切り替えフレームは、ブランチ１００ｄを送信元ブランチ、ブランチ１００ａを送信先ブランチとして、送信先ブランチに無効化モードに遷移させるために送信される。なお、図１５に示す無効化切り替えフレームにおいて、ペイロードにモード変更要求を示すフレーム内容と通常モードを示すモード切替情報とが含まれている場合には、通常モード変更フレームと称する。
【０２０５】
図１６Ａ〜図１６Ｄは、本実施の形態の変形例に係る不正制御防止システムが、各ブランチを無効化モードに順次切り替えることで不正なＥＣＵの存在するブランチを特定する動作シーケンスの一例を示す図である。なお、点線で囲われている範囲内は、１スロット単位すなわち同一のスロットＩＤの期間を表す。
【０２０６】
以下では、上記の実施の形態と同様に、ＥＣＵ２００ｃが外部通信モジュール２３０経由で攻撃者に制御を奪われ、攻撃者に制御を奪われたＥＣＵ２００ｃは、不正なハンドル操舵指示フレームなどの偽装フレームを送信するとして説明する。
【０２０７】
まず、図１６Ａに示すように、ＥＣＵ２００ｄは、ブランチ１００ａに無効化切り替えフレームを送信する（Ｓ１３１０）。ここで、図１５に示す無効化切り替えフレームにおいて、送信先ブランチが１００ａに設定され、送信元ブランチが１００ｄに設定されている。
【０２０８】
次に、スターカプラ３００は、無効化切り替えフレームを、他のブランチ１００ａ〜１００ｃに転送する（Ｓ１３１１）。
【０２０９】
次に、監視ＥＣＵ４００ａは、無効化切り替えフレームを受信し、無効化モードに遷移する（Ｓ１３１２）。なお、監視ＥＣＵ４００ｂ、４００ｃも、無効化切り替えフレームを受信するが、自分が宛先でないため破棄する。つまり、監視ＥＣＵ４００ｂ、４００ｃは無効化モードに遷移しない。
【０２１０】
続いて次のスロット単位の期間では、まず、制御を奪われたＥＣＵ２００ｃは、偽装フレームを送信するとする（Ｓ１３１３）。
【０２１１】
次に、スターカプラ３００は、偽装フレームを、他のブランチ１００ａ、１００ｂ、１００ｄに転送する（Ｓ１３１４）。
【０２１２】
次に、攻撃者に制御を奪われていない（つまり正規の）ＥＣＵ２００ｄは、通常フレームを送信し、無効化モードに遷移した監視ＥＣＵ４００ａは、無効化フレームを送信する（Ｓ１３１５）。
【０２１３】
すると、ＥＣＵ２００ａが接続されているブランチ１００ａとＥＣＵ２００ｄが接続されているブランチ１００ｄとでは、フレーム衝突エラーが発生する（Ｓ１３１６）。より具体的には、ＥＣＵ２００ａが接続されているブランチ１００ａでは、スターカプラ３００から転送された偽装フレームと、ＥＣＵ２００ａが送信した無効化フレームとが衝突し、エラーが発生する。ＥＣＵ２００ｄが接続されているブランチ１００ｄでは、スターカプラ３００から転送された偽装フレームと、ＥＣＵ２００ｄが送信した通常フレームとが衝突し、エラーが発生する。なお、監視ＥＣＵ４００ａ、４００ｄは、フレーム衝突エラーの発生を検知している。
【０２１４】
続いて次のスロット単位の期間では、まず、監視ＥＣＵ４００ａは、ブランチ１００ａで発生したエラーに基づき、エラー通知フレームを送信する（Ｓ１３１７）。
【０２１５】
次に、スターカプラ３００は、エラー通知フレームを、ブランチ１００ｄに転送する（Ｓ１３１８）。
【０２１６】
すると、監視ＥＣＵ４００ｄは、ブランチ１００ｄに流れるエラー通知フレームを受信し、ブランチ状態におけるエラー通知受信数を更新する（Ｓ１３１９）。
【０２１７】
このようにして、監視ＥＣＵ４００ｄは、複数のブランチのうちの一つのブランチを無効化させる無効化切り替えフレームを送信し、当該一つのブランチに接続される監視ＥＣＵ４００ａを無効化モードに遷移させ、当該一つのブランチ以外のブランチに接続される監視ＥＣＵ４００ｂ、４００ｃを無効化モードに遷移させない期間を作りだす。そして、当該期間中に監視ＥＣＵ４００ａから受信するエラー通知フレームを検知する。
【０２１８】
続いて、図１６Ｂに示すように、次のスロット単位の期間では、まず、ＥＣＵ２００ｄは、ブランチ１００ａに通常モード変更フレームを送信する（Ｓ１３２０）。ここで、通常モード変更フレームは、図１５において、送信先ブランチが１００ａに設定され、送信元ブランチが１００ｄに設定され、ペイロードのフレーム内容にモード変更要求が設定され、モード切替情報に、通常モードが設定されている。
【０２１９】
次に、スターカプラ３００は、通常モード変更フレームを、ブランチ１００ａに転送する（Ｓ１３２１）。
【０２２０】
次に、監視ＥＣＵ４００ａは、通常モード変更フレームを受信し、無効化モードから通常モードに遷移する（Ｓ１３２２）。
【０２２１】
続いて、次のスロット単位の期間では、まず、ＥＣＵ２００ｄは、ブランチ１００ｂに、無効化切り替えフレームを送信する（Ｓ１３２３）。詳細は上述の通りであるため説明を省略する。
【０２２２】
次に、スターカプラ３００は、無効化切り替えフレームを、他のブランチ１００ａ〜１００ｃに転送すると（Ｓ１３２４）、監視ＥＣＵ４００ｂは、無効化切り替えフレームを受信し、無効化モードに遷移する（Ｓ１３２５）。
【０２２３】
続いて次のスロット単位の期間では、まず、制御を奪われたＥＣＵ２００ｃは、偽装フレームを送信するとする（Ｓ１３２６）。
【０２２４】
次に、スターカプラ３００は、偽装フレームを、他のブランチ１００ａ、１００ｂ、１００ｄに転送する（Ｓ１３２７）。
【０２２５】
次に、正規のＥＣＵ２００ｄは、通常フレームを送信し、無効化モードに遷移した監視ＥＣＵ４００ａは、無効化フレームを送信する（Ｓ１３２８）。
【０２２６】
すると、ＥＣＵ２００ｂが接続されているブランチ１００ｂとＥＣＵ２００ｄが接続されているブランチ１００ｄとでは、フレーム衝突エラーが発生する（Ｓ１３２９）。なお、監視ＥＣＵ４００ｂ、４００ｄは、ステップＳ１３１６と同様に、フレーム衝突エラーの発生を検知している。
【０２２７】
続いて次のスロット単位の期間では、まず、監視ＥＣＵ４００ｂは、ブランチ１００ａで発生したエラーに基づき、エラー通知フレームを送信する（Ｓ１３３０）。
【０２２８】
次に、スターカプラ３００は、エラー通知フレームを、ブランチ１００ｄに転送すると（Ｓ１３３１）、監視ＥＣＵ４００ｄは、ブランチ１００ｄに流れるエラー通知フレームを受信し、ブランチ状態におけるエラー通知受信数を更新する（Ｓ１３３２）。
【０２２９】
続いて、図１６Ｃに示すように、次のスロット単位の期間では、上記と同様にして、監視ＥＣＵ４００ｂを通常モードに遷移させる（Ｓ１３３３）。
【０２３０】
続いて、次のスロット単位の期間では、上記と同様にして、監視ＥＣＵ４００ｃを無効化モードに遷移させる（Ｓ１３３４）。
【０２３１】
続いて次のスロット単位の期間では、まず、制御を奪われたＥＣＵ２００ｃは、偽装フレームを送信するとする（Ｓ１３３５）。
【０２３２】
次に、スターカプラ３００は、転送処理すなわち偽装フレームの転送を開始する（Ｓ１３３６）。
【０２３３】
ここで、無効化モードに遷移している監視ＥＣＵ４００ｃは、無効化フレームを送信する（Ｓ１３３７）。
【０２３４】
すると、ブランチ１００ｃでは、既に送信が開始されている偽装フレームと、監視ＥＣＵ４００ｃが送信する無効化フレームとが衝突を起こし、エラーが発生する（Ｓ１３３８）。
【０２３５】
すると、スターカプラ３００は、フレーム衝突エラー発生した旨を示す信号を他のブランチ１００ｄ、１００ａに転送する（Ｓ１３３９）。
【０２３６】
この場合、次のスロット単位の期間では、監視ＥＣＵ４００ａは、ブランチ１００ａで発生したエラーに基づき、エラー通知フレームを送信し、監視ＥＣＵ４００ｄでエラー通知フレームを受信し、ブランチ状態におけるエラー通知受信数を更新する（Ｓ１３４０）。
【０２３７】
また、次のスロット単位の期間では、同様に、監視ＥＣＵ４００ｂは、ブランチ１００ｂで発生したエラーに基づき、エラー通知フレームを送信し、監視ＥＣＵ４００ｄでエラー通知フレームを受信し、ブランチ状態におけるエラー通知受信数を更新する（Ｓ１３４１）。
【０２３８】
また、次のスロット単位の期間では、同様に、監視ＥＣＵ４００ｃは、ブランチ１００ｃで発生したエラーに基づき、エラー通知フレームを送信し、監視ＥＣＵ４００ｄでエラー通知フレームを受信し、ブランチ状態におけるエラー通知受信数を更新する（Ｓ１３４２）。
【０２３９】
続いて、図１６Ｄに示すように、次のスロット単位の期間では、上記と同様にして、監視ＥＣＵ４００ｃを通常モードに遷移させる（Ｓ１３４３）。
【０２４０】
以上のようにして、監視ＥＣＵ４００ｄは、各ブランチにおいて、無効化モードを切り替えたときのエラー通知フレームの個数をカウントすることができる。図１６Ａ〜図１６Ｄに示す例では、ブランチ１００ｃの無効化モード時にエラー通知数が最大の３回であるため、監視ＥＣＵ４００ｄは、ブランチ１００ｃが不正ブランチ（異常ブランチ）であると特定できる。つまり、監視ＥＣＵ４００ｄは、複数のブランチの各々を順番に無効化させる無効化切り替えフレームを送信し、受信したエラー通知フレームの個数が最大であると検知した一つのブランチを不正ブランチと判定すればよい。換言すると、エラー通知フレームが最大となったときに、無効化モードとなっている監視ＥＣＵが存在するブランチが、不正なＥＣＵが存在する不正ブランチであると判定できる。
【０２４１】
（１２）また、上記の実施の形態では、ブランチ状態は、平文で保存していたが、暗号化されて保持していてもよい。
【０２４２】
（１３）また、上記の実施の形態では、エラー通知フレーム、無効化モード変更フレーム、および、エラー通知異常フレームは、平文のまま通信されているとして説明していたが、これに限らない。これらのフレームは、暗号化されて通信されてもよいし、これらのフレームにメッセージ認証コードが付加されて通信されてもよい。これにより、エラー通知フレームの通信、モードの切り替えを安全に実現することが可能となるので、安全性の向上が期待できる。
【０２４３】
（１４）上記の実施の形態では、無効化モードへの遷移は、無効化モード変更フレームなどのフレームの受信を起点に行っていたが、実際の遷移は次のような条件に応じて行うとしてもよい。すなわち、走行中および停止中などを含む車両の状態、制御フレーム、または、状態フレームといったフレームの属性に応じて、無効化モードへ実際に遷移するかを決定してもよい。これにより、不正な制御につながるフレームの無効化を、必要に応じて実行することができ、省電力につながる。
【０２４４】
（１５）上記の実施の形態では、車載ネットワークとして、ＦｌｅｘＲａｙプロトコルを用いていたが、これに限るものではない。例えば、ＣＡＮ、ＣＡＮ−ＦＤ（ＣＡＮ  ｗｉｔｈ  Ｆｒｅｘｉｂｌｅ  Ｄａｔａ  Ｒａｔｅ）、Ｅｔｈｅｒｎｅｔ、ＬＩＮ（Ｌｏｃａｌ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｎｅｔｗｏｒｋ）、ＭＯＳＴ（Ｍｅｄｉａ  Ｏｒｉｅｎｔｅｄ  Ｓｙｓｔｅｍｓ  Ｔｒａｎｓｐｏｒｔ）などを用いてもよい。あるいはこれらのネットワークをサブネットワークとして、組み合わせたネットワークであってもよい。特にタイムトリガー方式を採用しているネットワークに対して有効である。
【０２４５】
（その他の実施の形態）
なお、本開示を上記の実施の形態および変形例に基づいて説明してきたが、本開示は、これらに限定されないのはもちろんである。以下のような場合も本開示に含まれる。
【０２４６】
（１）上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０２４７】
（２）上記の実施の形態における各装置は、構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。ＲＡＭには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０２４８】
また、上記の各装置を構成する構成要素の各部は、個別に１チップ化されていても良いし、一部又はすべてを含むように１チップ化されてもよい。
【０２４９】
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【０２５０】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【０２５１】
（３）上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。ＩＣカードまたはモジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。ＩＣカードまたはモジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ＩＣカードまたはモジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０２５２】
（４）本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０２５３】
また、本開示は、コンピュータプログラムまたはデジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されているデジタル信号であるとしてもよい。
【０２５４】
また、本開示は、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０２５５】
また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムにしたがって動作するとしてもよい。
【０２５６】
また、プログラムまたはデジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号を、ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０２５７】
（５）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０２５８】
本開示は、車載ネットワークに流れるフレームを観測し、不正なフレームを検出し無効化を行う、安全な車載ネットワークシステムを提供する。これにより車載ネットワークシステム全体として、安全な状態を維持することができる。
【符号の説明】
【０２５９】
１０  車載ネットワークシステム
１００ａ、１００ｂ、１００ｃ、１００ｄ  ブランチ
２００ａ、２００ｂ、２００ｃ、２００ｄ  ＥＣＵ
２０１、４０１  フレーム送受信部
２０２  フレーム解釈部
２０３  外部機器制御部
２０４  フレーム生成部
２０５  通信用設定パラメータ保持部
２１０  ハンドル
２２０  ギア
２３０  外部通信モジュール
２４０  カメラ
３００  スターカプラ
３０１ａ、３０１ｂ、３０１ｃ、３０１ｄ  トランシーバ部
３０２  ルーティング部
４００ａ、４００ｂ、４００ｃ、４００ｄ  監視ＥＣＵ
４０２  エラー検知部
４０３  正規ＩＤリスト保持部
４０４  ブランチ状態保持部
【図１】
2020090976.tif 000003
【図２】
2020090976.tif 000004
【図３】
2020090976.tif 000005
【図４】
2020090976.tif 000006
【図５】
2020090976.tif 000007
【図６】
2020090976.tif 000008
【図７】
2020090976.tif 000009
【図８】
2020090976.tif 000010
【図９】
2020090976.tif 000011
【図１０】
2020090976.tif 000012
【図１１Ａ】
2020090976.tif 000013
【図１１Ｂ】
2020090976.tif 000014
【図１２】
2020090976.tif 000015
【図１３Ａ】
2020090976.tif 000016
【図１３Ｂ】
2020090976.tif 000017
【図１４Ａ】
2020090976.tif 000018
【図１４Ｂ】
2020090976.tif 000019
【図１５】
2020090976.tif 000020
【図１６Ａ】
2020090976.tif 000021
【図１６Ｂ】
2020090976.tif 000022
【図１６Ｃ】
2020090976.tif 000023
【図１６Ｄ】
2020090976.tif 000024
【国際調査報告】
2020090976.tif 000025
2020090976.tif 000026
2020090976.tif 000027
2020090976.tif 000028