(57)【特許請求の範囲】
【請求項１】
少なくとも１つの通信バス（１０，２０）を介して少なくとも１つの他の装置と通信する制御装置であって、
ＣＰＵ（３１）の操作によって前記少なくとも１つの通信バスにデータを送信する通信コントローラ（３４，４４）と、
前記通信コントローラが備える送信バッファ（３９）内の送信データを監視する監視モジュール（３５）と、
前記送信バッファ内の送信データが不正な送信データである不正送信データか否かを判定するための判定用情報が記録されるメモリ（３６）と、を備え、
前記監視モジュールは、
前記メモリに記録された前記判定用情報に基づいて、前記送信バッファ内に前記不正送信データがあるか否かを判定し、前記不正送信データがあると判定した場合には、前記送信バッファ内の前記不正送信データを消去して、前記不正送信データの送信を阻止するように構成され、
更に、前記判定用情報は、送信データの優先度を特定可能な情報であり、
前記監視モジュールは、
前記送信バッファ内の送信データの優先度が、前記メモリに記録された前記判定用情報により特定される優先度よりも高い場合に、前記送信バッファ内に前記不正送信データがあると判定するように構成されている、
制御装置。
【請求項２】
少なくとも１つの通信バス（１０，２０）を介して少なくとも１つの他の装置と通信する制御装置であって、
ＣＰＵ（３１）の操作によって前記少なくとも１つの通信バスにデータを送信する通信コントローラ（３４，４４）と、
前記通信コントローラが備える送信バッファ（３９）内の送信データを監視する監視モジュール（３５）と、
前記送信バッファ内の送信データが不正な送信データである不正送信データか否かを判定するための判定用情報が記録されるメモリ（３６）と、を備え、
前記監視モジュールは、
前記メモリに記録された前記判定用情報に基づいて、前記送信バッファ内に前記不正送信データがあるか否かを判定し、前記不正送信データがあると判定した場合には、前記送信バッファ内の前記不正送信データを消去して、前記不正送信データの送信を阻止するように構成され、
更に、前記判定用情報は、送信データの優先度を特定可能な情報であり、
前記監視モジュールは、
前記送信バッファ内の送信データの優先度が、前記メモリに記録された前記判定用情報により特定される優先度以上の場合に、前記送信バッファ内に前記不正送信データがあると判定するように構成されている、
制御装置。
【請求項３】
請求項１に記載の制御装置であって、
当該制御装置と通信する装置として、当該制御装置から送信された送信データを監視し、当該制御装置から不正送信データが送信されたことを検知した場合に、不正通信通知を送信する特定の装置（１２）があり、
前記不正通信通知は、前記メモリに記録される前記判定用情報により特定される優先度よりも高い優先度のデータとして送信され、
当該制御装置は、前記不正通信通知を受信する機能を、更に備える、
制御装置。
【請求項４】
請求項２に記載の制御装置であって、
当該制御装置と通信する装置として、当該制御装置から送信された送信データを監視し、当該制御装置から不正送信データが送信されたことを検知した場合に、不正通信通知を送信する特定の装置（１２）があり、
前記不正通信通知は、前記メモリに記録される前記判定用情報により特定される優先度以上の優先度のデータとして送信され、
当該制御装置は、前記不正通信通知を受信する機能を、更に備える、
制御装置。
【請求項５】
請求項３又は請求項４に記載の制御装置であって、
前記不正通信通知には、前記特定の装置によって検知された不正送信データの優先度を特定可能な情報が含まれ、
当該制御装置は、
前記不正通信通知に含まれる前記情報を用いて前記メモリ内の判定用情報を更新する更新部（３８）を、更に備える、
制御装置。
【請求項６】
請求項１ないし請求項５の何れか１項に記載の制御装置であって、
前記判定用情報は、送信データの優先度を示す情報又は送信データの識別子である、
制御装置。
【請求項７】
請求項１ないし請求項６の何れか１項に記載の制御装置であって、
前記監視モジュールによって前記送信バッファ内に前記不正送信データがあると判定された場合の異常処理を管理する異常管理モジュール（３７）と、
前記監視モジュールによって前記送信バッファ内に前記不正送信データがあると判定された場合に、前記異常管理モジュールから通知を受けることで動作する処理部であって、当該制御装置の通常動作に代わる特殊モードの処理を行う処理部（４５）と、を更に備える、
制御装置。
【請求項８】
請求項１ないし請求項６の何れか１項に記載の制御装置であって、
前記少なくとも１つの通信バスは、複数の通信バス（１０，２０）であり、
当該制御装置は、前記複数の通信バス間の通信を中継する中継機能を備え、
更に、当該制御装置は、
与えられる指令に応じて前記複数の通信バス間を接続する接続モジュール（４７）と、
前記監視モジュールによって前記送信バッファ内に前記不正送信データがあると判定された場合の異常処理を管理する異常管理モジュール（３７）と、を備え、
前記異常管理モジュールは、
前記監視モジュールによって前記送信バッファ内に前記不正送信データがあると判定された場合に、前記接続モジュールに対して前記複数の通信バス間を接続させる指令を与えるように構成されている、
制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、通信バスを介して他の装置と通信する制御装置に関する。
【背景技術】
【０００２】
例えば特許文献１に記載の車両ネットワークでは、監視用の車載制御装置が、ネットワークに送信されたデータを監視し、不正データを検知したとき、その不正データのネットワーク内への侵入に起因する複数の車載制御装置の不正動作を抑止する抑止処理を実行する。その抑止処理としては、他の各車載制御装置に対して、不正データに基づくプログラムの書き換え動作を禁止させるための警告情報を送信する処理が行われる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１３１９０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の技術は、ネットワークに不正に取り付けられた装置（以下、不正装置）からの不正データによって車載制御装置が不正動作状態になってしまうこと、すなわち、不正装置からの外部攻撃による車載制御装置の不正操作を、未然に防止しようとするものである。不正動作状態とは、本来とは異なる不正な動作をする状態である。
【０００５】
このため、特許文献の技術では、外部攻撃によって不正動作状態に陥った車載制御装置が通信バスに不正なデータを送信してしまうこと、を阻止することはできない。例えば、不正動作状態の車載制御装置が、高い優先度の不正なデータを送信し続けると、通信バスが占有されてしまい、他の制御装置間での正常な通信ができなくなってしまう。なお、占有とは、全ての通信を独占することに限らず、バス負荷率が設計時の想定範囲以上に増加して通信システムに悪影響を与えることも含む。
【０００６】
そこで、本開示は、不正動作状態になったとしても通信バスに不正なデータを送信してしまうことを防止することができる制御装置、を提供する。
【課題を解決するための手段】
【０００７】
本開示の制御装置は、少なくとも１つの通信バス（１０，２０）を介して少なくとも１つの他の装置と通信する制御装置である。この制御装置は、通信コントローラ（３４，４４）と、監視モジュール（３５）と、メモリ（３６）と、を備える。
【０００８】
通信コントローラは、ＣＰＵ（３１）の操作によって前記少なくとも１つの通信バスにデータを送信する。監視モジュールは、通信コントローラが備える送信バッファ（３９）内の送信データを監視する。メモリには、送信バッファ内の送信データが不正な送信データである不正送信データか否かを判定するための判定用情報が記録される。
【０００９】
そして、監視モジュールは、メモリに記録された判定用情報に基づいて、送信バッファ内に不正送信データがあるか否かを判定し、不正送信データがあると判定した場合には、送信バッファ内の不正送信データを消去して、その不正送信データの送信を阻止する。
【００１０】
この制御装置によれば、外部攻撃などによって不正動作状態になったとしても、通信バスに不正なデータ（すなわち、不正送信データ）を送信してしまうことを、監視モジュー
ルの機能によって防止することができる。
【００１１】
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態の通信システム及びＥＣＵの構成を表すブロック図である。
【図２】第３実施形態の通信システムの構成を表すブロック図である。
【図３】第３実施形態のＧＷＥＣＵの構成を表すブロック図である。
【図４】第４実施形態のＧＷＥＣＵの構成を表すブロック図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら、本開示の実施形態を説明する。
［１．第１実施形態］
［１−１．全体構成］
図１に示す実施形態の通信システム１は、乗用車等の車両に搭載される通信システムであり、通信バス１０と、通信バス１０に接続された複数のＥＣＵを備える。本実施形態では、通信バス１０に接続された複数のＥＣＵとして、４つのＥＣＵ１１〜１４があるが、ＥＣＵの数は４つ以外の複数でも良い。なお、ＥＣＵは、「Electronic Control Unit」の略であり、すなわち電子制御装置の略である。
【００１４】
ＥＣＵ１１〜１４が実施する通信のプロトコルは、例えば周知のＣＡＮである。ＣＡＮは、「Controller Area Network」の略である。また、ＣＡＮは、登録商標である。
［１−２．ＥＣＵの構成］
次に、ＥＣＵ１１の構成について説明する。なお、ＥＣＵ１２〜１４の構成もＥＣＵ１１と同様である。
【００１５】
ＥＣＵ１１は、ＣＰＵ３１と、ＲＯＭ３２と、ＲＡＭ３３とを有する周知のマイクロコンピュータを備える。ＣＰＵ３１は、ＲＯＭ３２内のプログラムを実行する。ＲＯＭ３２は、例えば記憶内容が書き換え可能なフラッシュメモリなどの不揮発性メモリである。
【００１６】
そして、ＥＣＵ１１は、通信コントローラ３４と、送信監視モジュール３５と、メモリ３６と、を備える。メモリ３６は、記憶内容が書き換え可能な不揮発性メモリ（例えばフラッシュメモリ）である。更に、ＥＣＵ１１は、異常管理モジュール３７を備える。異常管理モジュール３７は、メモリ３６に記録される情報を更新する更新部３８を備える。記録とは、記憶と同じ意味である。
【００１７】
送信監視モジュール３５、メモリ３６及び異常管理モジュール３７は、ＣＰＵ３１から独立している。このため、メモリ３６は、ＣＰＵ３１によってアクセスされないし、送信監視モジュール３５と異常管理モジュール３７の動作も、ＣＰＵ３１の動作に影響されない。
【００１８】
通信コントローラ３４は、送信データが格納される送信バッファ３９と、受信データが格納される受信バッファ４０と、を備える。送信バッファ３９と受信バッファ４０は、例えばレジスタやＲＡＭによって構成されている。また、送信バッファ３９と受信バッファ４０は、通信コントローラ３４の外部に設けられていても良い。
【００１９】
送信バッファ３９に格納される送信データは、当該ＥＣＵ１１が通信バス１０へ送信するデータである。そして、その送信データにはＣＡＮ−ＩＤが含まれる。ＣＡＮ−ＩＤ（
以下、ＩＤ）は、送信データの識別子であると共に、送信データの優先度を示す優先度情報である。送信バッファ３９への送信データの格納（すなわち書き込み）は、ＣＰＵ３１によって行われる。通信コントローラ３４は、ＣＰＵ３１の操作によって、換言すればＣＰＵ３１からの操作信号に従って、送信バッファ３９内の送信データを通信バス１０に送信する。また、通信コントローラ３４は、送信が完了した送信データを送信バッファ３９から消去する。
【００２０】
受信バッファ４０に格納される受信データは、当該通信コントローラ３４が通信バス１０から受信したデータである。受信バッファ４０内の受信データは、ＣＰＵ３１によって読み出され、制御対象を制御するための処理や他の処理に使用される。
【００２１】
［１−３．送信監視モジュールの動作］
送信監視モジュール３５は、ＣＰＵ３１によって送信バッファ３９に書き込まれた送信データ、すなわち通信バス１０に送信される前の送信データを監視する。具体的には、送信監視モジュール３５は、ＣＰＵ３１によって送信バッファ３９に送信データが書き込まれると、送信バッファ３９内に不正送信データがあるか否かを判定する動作（以下、不正送信データ判定動作）を行う。不正送信データとは、不正な送信データである。送信監視モジュール３５の不正送信データ判定動作については後で説明する。
【００２２】
そして、送信監視モジュール３５は、送信バッファ３９内に不正送信データがあると判定した場合には、送信バッファ３９をリセットすることにより、送信バッファ３９内の不正送信データを消去する。このため、不正送信データの通信バス１０への送信が阻止される。なお、送信監視モジュール３５は、送信バッファ３９内のデータのうち、不正送信データであると判別した部分のデータだけを消去するように構成されていても良い。
【００２３】
また、送信監視モジュール３５は、送信バッファ３９内に不正送信データがあると判定した場合には、更に、異常管理モジュール３７に対して、不正送信データを検出したことを通知する。具体的には、異常管理モジュール３７に不正送信データ検出通知を出力する。
【００２４】
［１−４．メモリに記録される情報］
メモリ３６には、送信バッファ３９内の送信データが不正送信データであるか否かを判定するための判定用情報が記録されている。判定用情報は、送信データの優先度を特定可能な情報である。本実施形態では、メモリ３６に、判定用情報として前述のＩＤが記録されている。このため、メモリ３６には、判定用情報として、送信データの優先度を示す情報が記録されていると言える。また、メモリ３６には、判定用情報として、送信データの識別子が記録されているとも言える。
【００２５】
［１−５．送信監視モジュールの不正送信データ判定動作］
送信監視モジュール３５は、送信バッファ３９内の送信データに含まれるＩＤと、メモリ３６に記録された判定用情報としてのＩＤとを比較する。そして、送信監視モジュール３５は、送信バッファ３９内の送信データに含まれるＩＤが示す優先度が、メモリ３６に記録されたＩＤが示す優先度よりも高い場合に、送信バッファ３９内に不正送信データがあると判定する。つまり、送信監視モジュール３５は、送信バッファ３９内の送信データの優先度が、メモリ３６に記録された判定用情報により特定される優先度よりも高い場合に、送信バッファ３９内に不正送信データがあると判定するように構成されている。
【００２６】
例えば、悪意のある者が、通信システム１における何れかのＥＣＵを何らかの方法で不正に操作して、通信バス１０を占有しようとした場合、不正に操作するＥＣＵからは、より高い優先度のデータを送信させると考えられる。
【００２７】
このため、本実施形態では、ＥＣＵ１１から本来ならば送信されない高い優先度のデータが、送信監視モジュール３５により不正送信データとして判定されるようにしている。よって、メモリ３６には、例えば、正常状態のＥＣＵ１１から送信される送信データのうちで優先度が最も高い送信データのＩＤが、判定用情報の初期値として記録される。
【００２８】
［１−６．異常管理モジュールの動作］
異常管理モジュール３７は、送信監視モジュール３５によって送信バッファ３９内に不正送信データがあると判定された場合の異常処理を管理するモジュールである。
【００２９】
異常管理モジュール３７は、送信監視モジュール３５からの不正送信データ検出通知をｎ回受けると、異常処理の１つとして、ＣＰＵ３１をリセットする処理を行う。ｎは１以上の整数である。
【００３０】
また、異常管理モジュール３７は、送信監視モジュール３５からの不正送信データ検出通知をｍ回受けると、異常処理の１つとして、通信コントローラ３４をディセーブルにする処理を行う。つまり、通信コントローラ３４の動作を停止させる。なお、ｍは１以上の整数である。このｍと上記ｎは、同じ値であっても良いし、異なる値であっても良い。
【００３１】
また、異常管理モジュール３７は、受信バッファ４０を監視して、不正データ検知機能搭載のＥＣＵからの不正通信通知が通信コントローラ３４により受信されたか否かを判定する。そして、不正通信通知が受信されたと判定した場合には、ＣＰＵ３１をリセットする。不正データ検知機能搭載のＥＣＵと不正通信通知については後で説明する。更に、異常管理モジュール３７は、不正通信通知が受信されたと判定した場合には、その不正通信通知に含まれる情報を用いてメモリ３６内の判定用情報を更新する更新処理を行う。更新処理は、更新部３８によって行われる。この更新処理についても後で説明する。
【００３２】
［１−７．不正データ検知機能搭載のＥＣＵの動作］
通信バス１０に接続されるＥＣＵ１１〜１４のうち、例えばＥＣＵ１２は、不正データ検知機能搭載のＥＣＵである。ＥＣＵ１２は、少なくともＥＣＵ１１から送信される送信データを監視して、ＥＣＵ１１から不正送信データが送信されたか否かを判定する。
【００３３】
例えば、ＥＣＵ１２は、ＥＣＵ１１との通信において、ＭＡＣを付加したフレームの送受信を行うことにより、ＥＣＵ１１から不正送信データが送信されたか否かを判定する。ＭＡＣは、「Message Authentication Code」の略であり、すなわちメッセージ認証符号の略である。具体的には、ＥＣＵ１１は、正常ならば、少なくともＥＣＵ１２と通信する場合、送信対象のデータから特定のアルゴリズムによりＭＡＣを生成する。更に、ＥＣＵ１１は、送信対象のデータをメッセージ部とし、そのメッセージ部と、生成したＭＡＣとを含むフレームを、送信データとしてＥＣＵ１２に送信する。ＥＣＵ１２は、ＥＣＵ１１から受信したフレーム（すなわち受信データ）のメッセージ部から上記アルゴリズムでＭＡＣを生成し、その生成したＭＡＣと、受信データに含まれていたＭＡＣとを比較する。そして、ＥＣＵ１２は、両方のＭＡＣが不一致ならば、受信データが不正送信データであると判定する。つまり、ＥＣＵ１１から不正送信データが送信されたと判定する。
【００３４】
ＥＣＵ１２は、ＥＣＵ１１から不正送信データが送信されたと判定した場合、すなわちＥＣＵ１１から不正送信データが送信されたことを検知した場合には、ＥＣＵ１１へ不正通信通知を送信する。そして、ＥＣＵ１２は、不正通信通知には、当該ＥＣＵ１２が検知した不正送信データの優先度、すなわちＥＣＵ１１が送信した不正送信データの優先度を特定可能な情報として、その不正送信データのＩＤ（以下、更新用ＩＤ）を含ませる。
【００３５】
また、不正通信通知は、ＥＣＵ１１のメモリ３６に記録される初期値のＩＤよりも高い優先度のデータとして送信される。つまり、不正通信通知のヘッダ部分に設けられる通信調停用のＩＤとしては、ＥＣＵ１１のメモリ３６に記録される初期値のＩＤよりも高い優先度のＩＤが用いられる。
【００３６】
［１−８．更新処理］
異常管理モジュール３７の更新部３８は、受信されたＥＣＵ１２からの不正通信通知に含まれる更新用ＩＤを用いてメモリ３６内の判定用情報を更新する。具体的には、更新用ＩＤよりも優先度が１段階低いＩＤを、新たな判定用情報としてのＩＤ（以下、新ＩＤ）として、メモリ３６に書き込む。なお、新ＩＤは、メモリ３６に追加して書き込んでも良いし、メモリ３６に既に記録されている判定用情報としてのＩＤに代えて、新ＩＤをメモリ３６に書き込んでも良い。
【００３７】
つまり、更新部３８は、ＥＣＵ１２によって検知された不正送信データの優先度以上の優先度を有する送信データが、送信監視モジュール３５によって不正送信データであると判定されるように、メモリ３６内の判定用情報を更新する。
【００３８】
なお、通信コントローラ３４、送信監視モジュール３５及び異常管理モジュール３７のそれぞれは、論理回路やアナログ回路等を組み合わせたハードウェアを用いて実現されても良い。また、通信コントローラ３４、送信監視モジュール３５及び異常管理モジュール３７のそれぞれは、ＣＰＵ３１とは別のＣＰＵを有する１つ又は複数のマイクロコンピュータによって実現されても良い。この場合、通信コントローラ３４、送信監視モジュール３５及び異常管理モジュール３７の各機能は、ＣＰＵがＲＯＭなどの非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現されることとなる。このプログラムが実行されることで、プログラムに対応する方法が実行される。また、更新部３８は、異常管理モジュール３７とは別のモジュールとして構成されても良い。
【００３９】
［１−９．効果］
以上詳述した第１実施形態によれば、以下の効果を奏する。
（１ａ）ＥＣＵ１１の送信監視モジュール３５は、メモリ３６に記録された判定用情報としてのＩＤに基づいて、送信バッファ３９内に不正送信データがあるか否かを判定し、不正送信データがあると判定した場合には、送信バッファ３９内の不正送信データを消去する。このため、不正送信データの通信バス１０への送信が阻止される。
【００４０】
このＥＣＵ１１によれば、ＣＰＵ３１が実行するプログラムが外部攻撃などによって不正に書き換えられ、その結果、当該ＥＣＵ１１が不正動作状態になったとしても、通信バス１０に不正送信データを送信してしまうことを、防止することができる。よって、不正送信データによって通信バス１０が占有されてしまうことを防止することができる。
【００４１】
（１ｂ）メモリ３６に記録される判定用情報は、送信データの優先度を特定可能な情報である。そして、送信監視モジュール３５は、送信バッファ３９内の送信データの優先度が、メモリ３６に記録された判定用情報により特定される優先度よりも高い場合に、送信バッファ３９内に不正送信データがあると判定する。
【００４２】
このため、悪意のある者が、通信バス１０を占有しようとして、ＥＣＵ１１に不正に送信させようとする高い優先度のデータを検知して、そのデータの通信バス１０への送信を阻止することができる。
【００４３】
更に、ＥＣＵ１１が不正動作状態になったとしても、他のＥＣＵ１２〜１４の間では、ＥＣＵ１１のメモリ３６に記録された判定用情報により特定される優先度よりも高い優先
度のデータであれば、妨害されることなく通信することができる。このため、他のＥＣＵ１２〜１４は、例えば車両の機能を維持するのに最低限必要な通信を継続して実施することができる。
【００４４】
（１ｃ）ＥＣＵ１１と通信する装置として、不正データ検知機能搭載のＥＣＵ１２がある。そして、そのＥＣＵ１２が、ＥＣＵ１１から不正送信データが送信されたと判定した場合に送信する不正通信通知は、ＥＣＵ１１のメモリ３６に記録される判定用情報により特定される優先度よりも高い優先度のデータとして送信される。
【００４５】
よって、ＥＣＵ１２からの不正通信通知は、ＥＣＵ１１が送信可能な送信データよりも優先度が高いということになり、ＥＣＵ１１からの送信に妨害されずにＥＣＵ１１に受信される。このため、ＥＣＵ１１においては、不正通信通知を受信することで、当該ＥＣＵ１１が不正動作状態になっていることを検知することができ、何らかのフェールセーフ処置を実施することができる。例えば、前述したように、異常管理モジュール３７は、不正通信通知が通信コントローラ３４により受信された場合に、フェールセーフ処置の一例としてＣＰＵ３１をリセットするが、このようなフェールセーフ処置が確実に実施されるようにすることができる。
【００４６】
（１ｄ）ＥＣＵ１２が送信する不正通信通知には、当該ＥＣＵ１２が検知した不正送信データの優先度を特定可能な情報が含まれる。そして、ＥＣＵ１１の更新部３８は、その不正通信通知に含まれる情報を用いて、メモリ３６内の判定用情報を更新する。具体的には、前述したように、更新部３８は、ＥＣＵ１２によって検知された不正送信データの優先度以上の優先度を有する送信データが、送信監視モジュール３５によって不正送信データであると判定されるように、メモリ３６内の判定用情報を更新する。
【００４７】
このため、不正送信データの検出範囲を拡大することができ、より低い優先度の不正送信データについても、通信バス１０への送信を阻止することができる。
具体的には、ＥＣＵ１１から、メモリ３６に記録された初期値の判定用情報によって特定される優先度以下の不正送信データが送信されたとすると、その後は、送信された不正送信データの優先度以上の優先度を有するデータは、ＥＣＵ１１から送信されなくなる。よって、不正送信データの送信阻止能力を高めることができる。
【００４８】
（１ｅ）判定用情報は、送信データの優先度を示す情報又は送信データの識別子である。このため、その判定用情報から優先度を容易に特定することができる。
なお、変形例として、判定用情報は、ＣＡＮのＩＤに限らず、例えば、データの優先度だけを示す専用情報であっても良い。この場合、その専用情報から直接的に優先度を特定することができる。また、判定用情報は、データを識別するためだけの識別子であっても良い。この場合、データの識別子と優先度との対応関係を記録した対応関係情報があれば、その対応関係情報から、識別子に対応する優先度、すなわち識別子が表す優先度を特定することができる。このような変形例は、後述する他の実施形態についても同様に適用することができる。
【００４９】
一方、本実施形態では、送信監視モジュール３５が監視モジュールに相当する。また、不正データ検知機能搭載のＥＣＵ１２が、特定の装置に相当する。
［２．第２実施形態］
第２実施形態は、基本的な構成は第１実施形態と同様であるため、相違点について以下に説明する。なお、第１実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。また、これらのことは、後述する他の実施形態についても同様である。
【００５０】
第２実施形態の通信システム１は、第１実施形態と比較すると、下記［２−１］〜［２−３］の点が異なる。
［２−１］
送信監視モジュール３５は、送信バッファ３９内の送信データに含まれるＩＤが示す優先度が、メモリ３６に記録されたＩＤが示す優先度以上の場合に、送信バッファ３９内に不正送信データがあると判定する。つまり、送信監視モジュール３５は、送信バッファ３９内の送信データの優先度が、メモリ３６に記録された判定用情報により特定される優先度以上の場合に、送信バッファ３９内に不正送信データがあると判定するように構成されている。このため、メモリ３６には、例えば、正常状態のＥＣＵ１１から送信される最高優先度の送信データよりも優先度が１段階高いデータのＩＤが、判定用情報の初期値として記録される。
【００５１】
［２−２］
ＥＣＵ１２が送信する不正通信通知は、ＥＣＵ１１のメモリ３６に記録される判定用情報により特定される優先度以上の優先度のデータとして送信される。例えば、不正通信通知のヘッダ部分に設けられる通信調停用のＩＤとしては、ＥＣＵ１１のメモリ３６に記録される初期値のＩＤと同じＩＤが用いられる。
【００５２】
［２−３］
異常管理モジュール３７の更新部３８は、ＥＣＵ１２からの不正通信通知に含まれる更新用ＩＤを、新ＩＤとしてメモリ３６に書き込む。上記［２−１］，［２−２］の相違点があるためである。つまり、第２実施形態においても、更新部３８は、ＥＣＵ１２によって検知された不正送信データの優先度以上の優先度を有する送信データが、送信監視モジュール３５によって不正送信データであると判定されるように、メモリ３６内の判定用情報を更新する。
【００５３】
［２−４．効果］
以上のような第２実施形態によっても、前述した第１実施形態と同じ効果が得られる。なお、このような第２実施形態の構成は、後述する他の実施形態についても同様に適用することができる。
【００５４】
［３．第３実施形態］
［３−１．全体構成］
図２に示すように、第３実施形態の通信システム３は、中継機能を有するＥＣＵ（以下、ＧＷＥＣＵ）５と、ＧＷＥＣＵ５を介して接続される複数のネットワークと、を備える。この例では、複数のネットワークは、第１のネットワークＮ１と、第２のネットワークＮ２である。なお、ＧＷＥＣＵ５を介して接続されるネットワークの数は、３つ以上であっても良い。
【００５５】
第１のネットワークＮ１は、第１実施形態の通信システム１である。また、第２のネットワークＮ２も、第１実施形態の通信システム１と同様の通信システムである。例えば、第２のネットワークＮ２は、通信バス２０と、通信バス２０に接続された複数のＥＣＵ２１〜２４と、を備える。第２のネットワークＮ２における通信プロトコルも、例えばＣＡＮである。ＥＣＵ２１〜２４の構成は、前述したＥＣＵ１１と同様である。また、ＥＣＵ２１〜２４のうち、例えばＥＣＵ２２は、ＥＣＵ１２と同様に、不正データ検知機能搭載のＥＣＵである。
【００５６】
［３−２．ＧＷＥＣＵの構成］
ＧＷＥＣＵ５は、通信ノードとして機能するだけでなく、中継装置としても機能する。そして、ＧＷＥＣＵ５の構成は、第１実施形態のＥＣＵ１１と比較すると、下記［３−２
−１］〜［３−２−４］の点が異なる。なお、本実施形態では、ＧＷＥＣＵ５が制御装置に相当する。
【００５７】
［３−２−１］
図３に示すように、ＧＷＥＣＵ５は、通信コントローラ４４を更に備える。
通信コントローラ３４が、通信バス１０を介した送受信を行うためのモジュールであるのに対して、通信コントローラ４４は、通信バス２０を介した送受信を行うためのモジュールである。通信コントローラ４４も、通信コントローラ３４と同様に、送信バッファ３９と、受信バッファ４０と、を備える。そして、通信コントローラ４４とＣＰＵ３１との関係は、通信コントローラ３４とＣＰＵ３１との関係と同様である。
【００５８】
［３−２−２］
ＣＰＵ３１は、通信コントローラ３４によって通信バス１０から受信された特定のデータを、通信コントローラ４４から通信バス２０へ送信させる転送機能を備える。また、ＣＰＵ３１は、通信コントローラ４４によって通信バス２０から受信された特定のデータを、通信コントローラ３４から通信バス１０へ送信させる転送機能も備える。これらの転送機能は中継装置としての機能（すなわち中継機能）である。
【００５９】
［３−２−３］
送信監視モジュール３５は、通信コントローラ４４に対しても、通信コントローラ３４に対する動作と同様の動作を行う。このため、送信監視モジュール３５は、通信コントローラ４４の送信バッファ３９内に不正送信データがあると判定した場合にも、異常管理モジュール３７に不正送信データ検出通知を出力する。
【００６０】
［３−２−４］
ＧＷＥＣＵ５は、処理部４５を更に備える。
そして、異常管理モジュール３７は、送信監視モジュール３５からの不正送信データ検出通知を受けた場合、すなわち送信監視モジュール３５によって送信バッファ３９内に不正送信データがあると判定された場合に、処理部４５へ動作通知を出力する。更に、異常管理モジュール３７は、処理部４５へ動作通知を出力する場合、ＣＰＵ３１の動作を停止させる。
【００６１】
なお、異常管理モジュール３７は、送信監視モジュール３５から不正送信データ検出通知が出力された回数が、１回以上の所定回数に達した場合に、上記動作作通知を出力するように構成することができる。また、異常管理モジュール３７は、送信監視モジュール３５から不正送信データ検出通知が出力された頻度が、所定レベルに達した場合に、上記動作通知を出力するように構成することができる。頻度とは、例えば所定時間内における不正送信データ検出通知の出力回数である。
【００６２】
処理部４５は、ＣＰＵ３１から独立している。例えば、処理部４５は、ＣＰＵ３１によって干渉されない論理回路やアナログ回路等を組み合わせたハードウェアを用いて実現されても良い。また、処理部４５は、ＣＰＵ３１とは別のＣＰＵを有する１つ又は複数のマイクロコンピュータによって実現されても良い。
【００６３】
処理部４５は、異常管理モジュール３７からの動作通知を受けることで動作する。そして、処理部４５は、動作を開始すると、当該ＧＷＥＣＵ５の通常動作に代わる特殊モードの処理を行う。
【００６４】
処理部４５は、特殊モードの処理として、例えば、最小限のルーティング処理を行う。最小のルーティングとは、正常時において通信バス１０，２０間で転送させるデータのう
ちの一部だけを、通信バス１０，２０間で転送させることである。その一部のデータとしては、例えば、車両の機能を維持するのに最低限必要な特定のデータとすることができる。つまり、通信バス１０，２０間の最低限の通信を維持することによって、最低限の車両機能を維持することができる。特に、ＧＷＥＣＵ５が外部攻撃を受けてＣＰＵ３１の動作が正常ではなくなり、その結果、通信バス１０，２０間のデータ転送が完全に途絶すると、車両の機能への影響が大きくなる。しかし、特殊モードの処理として、例えば最小限のルーティング処理が行われることで、車両の機能への影響を抑制することができる。また同様の趣旨から、処理部４５は、特殊モードの処理として、例えば、所定のＩＤあるいは所定の優先度以上のデータだけ、全ての通信バス１０，２０にブロードキャストする、という処理を行うようになっていても良い。このように構成すれば、所定のデータについては、各ネットワークＮ１，Ｎ２の全てのＥＣＵに送信することができる。よって、車両の機能への影響を抑制することができる。
【００６５】
［３−３．効果］
以上詳述した第３実施形態のＧＷＥＣＵ５によっても、第１実施形態のＥＣＵ１１について述べた効果が得られる。更に、ＧＷＥＣＵ５によれば、ＣＰＵ３１が実行するプログラムが外部攻撃などによって不正に書き換えられたとしても、処理部４５によって特殊モードの処理が行われるため、通信システム３によって実現される機能のうち最低限必要な機能を実現することができる。
【００６６】
なお、本実施形態では、異常管理モジュール３７から処理部４５への動作通知が、処理部４５を動作させるための通知に相当する。
また、処理部４５を備える構成は、第１及び第２実施形態の例えばＥＣＵ１１についても適用することができる。この場合、ＥＣＵ１１の処理部４５は、特殊モードの処理として、当該ＥＣＵ１１が担う制御機能のうち、最低限必要な制御機能を実現するための処理を行うように構成することができる。
【００６７】
［４．第４実施形態］
図４に示す第４実施形態のＧＷＥＣＵ７は、第３実施形態のＧＷＥＣＵ５と比較すると、処理部４５に代えて、接続モジュール４７を備える。接続モジュール４７は、異常管理モジュール３７から接続指令が与えられると、複数の通信バス１０，２０間を接続する。また、接続モジュール４７も、処理部４５と同様に、ＣＰＵ３１から独立している。
【００６８】
そして、異常管理モジュール３７は、第３実施形態の処理部４５への動作通知に代えて、接続モジュール４７に接続指令を与える。その接続指令は、接続モジュール４７に対して複数の通信バス１０，２０間を接続させる指令に相当する。更に、異常管理モジュール３７は、接続モジュール部４７へ接続指令を出力する場合、ＣＰＵ３１の動作を停止させる。
【００６９】
このようなＧＷＥＣＵ７によれば、ＣＰＵ３１が実行するプログラムが外部攻撃などによって不正に書き換えられたとしても、通信バス１０，２０を跨いだＥＣＵ間の通信が可能となる。よって、第３実施形態のＧＷＥＣＵ５と同様に、通信システム３によって実現される機能のうち最低限必要な機能を実現することが可能となる。
【００７０】
また、例えば接続モジュール４７は、通信バス１０，２０間を接続した場合に、他のＥＣＵに対して、最低限のデータだけを送信するモード、すなわち送信データ量を抑制するモードに移行させるための通知を送信するように構成することもできる。このように構成すれば、通信バス１０，２０が接続されることによるバス負荷の増加を抑制することができる。
【００７１】
［５．他の実施形態］
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【００７２】
例えば、送信監視モジュール３５は、送信バッファ３９内の送信データの優先度が、メモリ３６に記録された判定用情報により特定される優先度と同じ場合に、送信バッファ３９内に不正送信データがあると判定するように構成しても良い。この場合、メモリ３６に、異なる優先度を表す複数の判定用情報が記録されても良い。
【００７３】
また、上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしても良い。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしても良い。また、上記実施形態の構成の一部を省略しても良い。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換しても良い。なお、特許請求の範囲に記載した文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。また、上述したＥＣＵ及びＧＷＥＣＵの他、当該ＥＣＵ又はＧＷＥＣＵを構成要素とする通信システム、当該ＥＣＵ又はＧＷＥＣＵとしてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、不正データの送信防止方法など、種々の形態で本開示を実現することもできる。
【符号の説明】
【００７４】
１０，２０…通信バス、３１…ＣＰＵ、３４，４４…通信コントローラ、３５…送信監視モジュール、３６…メモリ、３９…送信バッファ
【図１】
0006561917.tif 000002
【図２】
0006561917.tif 000003
【図３】
0006561917.tif 000004
【図４】
0006561917.tif 000005