(58)【調査した分野】(Int.Cl.,DB名)
車両に搭載され、通信線が接続される通信部を複数備え、一の通信部にて受信したメッセージを他の通信部に接続された通信線へ送信することにより前記メッセージを中継する処理を行う車載中継装置において、
前記メッセージには、該メッセージを識別するための識別情報を含み、
前記通信部にて受信したメッセージの正否を判定する判定部と、
該判定部が不正と判定したメッセージを受信した通信部に接続された通信線へ、不正なメッセージが送信された旨の通知を出力する第1通知部と、
前記判定部が不正と判定したメッセージに含まれる識別情報と同じ識別情報を有するメッセージについて、以後の中継を禁止する禁止部と、
前記判定部が不正と判定したメッセージを受信した通信部以外の通信部に接続された通信線へ、前記メッセージの中継を禁止した旨の通知を出力する第2通知部と、
前記判定部が不正と判定したメッセージに含まれる識別情報を記憶する記憶部と、
前記車両のイグニッションスイッチがオフ状態からオン状態へ切り替えられた場合に、複数の前記通信部に接続された通信線へ、前記記憶部に記憶された識別情報の通知を出力する第3通知部と
を備えることを特徴とする車載中継装置。
前記第2通知部が出力する通知は、該通知が出力される通信線に接続された通信装置に、該通信装置がメッセージの受信を所定時間待機した後で行うエラー処理を、前記所定時間を待機することなく開始させることを特徴とする請求項1に記載の車載中継装置。
車両に搭載され、通信線が接続される通信部を複数備え、一の通信部にて受信したメッセージを他の通信部に接続された通信線へ送信することにより前記メッセージを中継する処理を行う車載中継装置と、該車載中継装置の通信部に接続される複数の通信線のいずれかに接続され、該通信線を介してメッセージの送受信を行う通信装置とを備える車載通信システムにおいて、
前記メッセージには、該メッセージを識別するための識別情報を含み、
前記車載中継装置は、
前記通信部にて受信したメッセージの正否を判定する判定部と、
該判定部が不正と判定したメッセージを受信した通信部に接続された通信線へ、不正なメッセージが送信された旨の通知を出力する第1通知部と、
前記判定部が不正と判定したメッセージに含まれる識別情報と同じ識別情報を有するメッセージについて、以後の中継を禁止する禁止部と、
前記判定部が不正と判定したメッセージを受信した通信部以外の通信部に接続された通信線へ、前記メッセージの識別情報と共に前記メッセージの中継を禁止した旨の通知を出力する第2通知部と、
前記判定部が不正と判定したメッセージに含まれる識別情報を記憶する記憶部と、
前記車両のイグニッションスイッチがオフ状態からオン状態へ切り替えられた場合に、複数の前記通信部に接続された通信線へ、前記記憶部に記憶された識別情報の通知を出力する第3通知部と
を有し、
前記通信装置は、前記車載中継装置の前記第2通知部及び前記第3通知部からの通知に係る識別情報を記憶する揮発性の記憶部を有すること
を特徴とする車載通信システム。
車両に搭載され、通信線が接続される通信部を複数備え、一の通信部にて受信したメッセージを他の通信部に接続された通信線へ送信することにより、メッセージを識別するための識別情報を含むメッセージを中継する処理を行う車載中継装置に、
前記通信部にて受信したメッセージの正否を判定し、
不正と判定したメッセージを受信した通信部に接続された通信線へ、不正なメッセージが送信された旨の通知を出力し、
不正と判定したメッセージに含まれる識別情報と同じ識別情報を有するメッセージについて、以後の中継を禁止し、
不正と判定したメッセージを受信した通信部以外の通信部に接続された通信線へ、前記メッセージの中継を禁止した旨の通知を出力し、
不正と判定したメッセージに含まれる識別情報を記憶し、
前記車両のイグニッションスイッチがオフ状態からオン状態へ切り替えられた場合に、複数の前記通信部に接続された通信線へ、記憶した識別情報の通知を出力する
処理を実行させる中継プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載の通信管理装置は、CANバスの使用率が付加基準値を超えているか否かを判定する構成であるため、悪意のある装置によるメッセージ送信量が少ない場合には送信規制を行うことができないという問題がある。
【0007】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、不正なメッセージの送信を検出し、ネットワーク間で不正なメッセージが中継されることを防止し得る車載中継装置、車載通信システム及び中継プログラムを提供することにある。
【課題を解決するための手段】
【0009】
また、本発明に係る車載中継装置は、
車両に搭載され、通信線が接続される通信部を複数備え、一の通信部にて受信したメッセージを他の通信部に接続された通信線へ送信することにより前記メッセージを中継する処理を行う車載中継装置において、前記メッセージには、該メッセージを識別するための識別情報を含み、前記通信部にて受信したメッセージの正否を判定する判定部と、該判定部が不正と判定したメッセージを受信した通信部に接続された通信線へ、不正なメッセージが送信された旨の通知を出力する第1通知部と、前記判定部が不正と判定したメッセージに含まれる識別情報と同じ識別情報を有するメッセージについて、以後の中継を禁止する禁止部と、前記判定部が不正と判定したメッセージを受信した通信部以外の通信部に接続された通信線へ、前記メッセージの中継を禁止した旨の通知を出力する第2通知部と、前記判定部が不正と判定したメッセージに含まれる識別情報を記憶する記憶部と、前記車両のイグニッションスイッチがオフ状態からオン状態へ切り替えられた場合に、複数の前記通信部に接続された通信線へ、前記記憶部に記憶された識別情報の通知を出力する第3通知部と
を備えることを特徴とする。
また、本発明に係る車載中継装置は、前記第2通知部が出力する通知は、該通知が出力される通信線に接続された通信装置に、該通信装置がメッセージの受信を所定時間待機した後で行うエラー処理を、前記所定時間を待機することなく開始させることを特徴とする。
【0010】
また、本発明に係る車載中継装置は、前記第1通知部及び前記第2通知部が、前記判定部が不正と判定したメッセージに含まれる識別情報を通知することを特徴とする。
【0011】
また、本発明に係る車載通信システムは、車両に搭載され、通信線が接続される通信部を複数備え、一の通信部にて受信したメッセージを他の通信部に接続された通信線へ送信することにより前記メッセージを中継する処理を行う車載中継装置と、該車載中継装置の通信部に接続される複数の通信線のいずれかに接続され、該通信線を介してメッセージの送受信を行う通信装置とを備える車載通信システムにおいて、前記メッセージには、該メッセージを識別するための識別情報を含み、前記車載中継装置は、前記通信部にて受信したメッセージの正否を判定する判定部と、該判定部が不正と判定したメッセージを受信した通信部に接続された通信線へ、不正なメッセージが送信された旨の通知を出力する第1通知部と、前記判定部が不正と判定したメッセージに含まれる識別情報と同じ識別情報を有するメッセージについて、以後の中継を禁止する禁止部と、前記判定部が不正と判定したメッセージを受信した通信部以外の通信部に接続された通信線へ、前記メッセージの識別情報と共に前記メッセージの中継を禁止した旨の通知を出力する第2通知部と、前記判定部が不正と判定したメッセージに含まれる識別情報を記憶する記憶部と、前記車両のイグニッションスイッチがオフ状態からオン状態へ切り替えられた場合に、複数の前記通信部に接続された通信線へ、前記記憶部に記憶された識別情報の通知を出力する第3通知部とを有し、前記通信装置は、前記車載中継装置の前記第2通知部及び前記第3通知部からの通知に係る識別情報を記憶する揮発性の記憶部を有することを特徴とする。
また、本発明に係る車載通信システムは、前記通信装置は、前記揮発性の記憶部に記憶した識別情報を含むメッセージを受信した場合に、該メッセージを破棄する破棄部を有することを特徴とする。
【0012】
また、本発明に係る中継プログラムは、車両に搭載され、通信線が接続される通信部を複数備え、一の通信部にて受信したメッセージを他の通信部に接続された通信線へ送信することにより、メッセージを識別するための識別情報を含むメッセージを中継する処理を行う車載中継装置に、前記通信部にて受信したメッセージの正否を判定し、不正と判定したメッセージを受信した通信部に接続された通信線へ、不正なメッセージが送信された旨の通知を出力し、不正と判定したメッセージに含まれる識別情報と同じ識別情報を有するメッセージについて、以後の中継を禁止し、不正と判定したメッセージを受信した通信部以外の通信部に接続された通信線へ、前記メッセージの中継を禁止した旨の通知を出力し、不正と判定したメッセージに含まれる識別情報を記憶し、前記車両のイグニッションスイッチがオフ状態からオン状態へ切り替えられた場合に、複数の前記通信部に接続された通信線へ、記憶した識別情報の通知を出力する処理を実行させる。
【0013】
本発明においては、複数の通信線が接続される複数の通信部を有する車載中継装置が、通信線に接続された通信装置が送信したメッセージの正否判定を行う。メッセージが不正であると判定した場合、車載中継装置は、このメッセージを受信した通信部に接続された通信線に対して、不正なメッセージが送信された旨の通知を出力する。これにより不正なメッセージを送信した通信装置が接続された通信線に接続された他の通信装置は、車載中継装置からの通知に基づいて、例えば受信済みのメッセージを破棄するなどの処理を行うことが可能となる。
また車載中継装置は、不正と判定したメッセージに含まれる識別情報と同じ識別情報を有するメッセージについて、以後の中継を禁止する。このときに車載中継装置は、不正と判定したメッセージを受信した通信部以外の通信部(即ち、本来であればメッセージを中継すべき通信部)に接続された通信線に対して、メッセージの中継を禁止した旨の通知を出力する。これにより中継されたメッセージを受信すべき通信装置は、メッセージの中継が禁止されたことを知ることができ、これに応じたエラー処理などを実行することが可能となる。
【0014】
また本発明において車載中継装置は、不正と判定したメッセージに含まれる識別情報を記憶しておき、車両のイグニッションスイッチがオフ状態からオン状態へ切り替えられた場合に、各通信部に接続された通信線に対して記憶された識別情報の通知を出力する。これにより、イグニッションスイッチがオフ状態の場合に電力供給が断たれて記憶した情報を喪失する通信装置が含まれる場合であっても、これらの通信装置に不正と判定したメッセージに含まれる識別情報を通知してエラー処理などを行わせることができる。
【0015】
また本発明において車載中継装置は、不正なメッセージが送信された旨の通知及びメッセージの中継を禁止した旨の通知を行う際に、不正と判定したメッセージに含まれる識別情報の通知を出力する。これにより、車載中継装置からの通知を受信した通信装置は、不正な又は不正である可能性が高いメッセージに含まれる識別情報を認識することができ、この識別情報を有するメッセージを受信した際にエラー処理などを行うことが可能となる。
【0016】
また本発明においては、車載中継装置からの通知を受けた通信装置が、通知された識別情報を記憶しておく。各通信装置は、記憶した識別情報を含むメッセージを受信した場合にはこのメッセージを破棄する。これにより、不正な又は不正である可能性が高いメッセージを各通信装置にて破棄することができ、通信装置の誤動作などが発生することを防止できる。
【発明の効果】
【0017】
本発明による場合は、車載中継装置が不正なメッセージの中継を禁止すると共に、複数の通信線に接続された各通信線に対して通知の出力を行う構成とすることによって、通信線間で不正なメッセージが中継されることを防止でき、不正なメッセージによって通信装置の誤動作などが発生することを防止できる。
【発明を実施するための形態】
【0019】
以下、本発明をその実施の形態を示す図面に基づき具体的に説明する。
図1は、本実施の形態に係る車載通信システムの構成を示すブロック図である。本実施の形態に係る車載通信システムは、車両1に搭載された1つの車載中継装置10と、複数のECU(Electronic Control Unit)20(20a〜20f)とを備えて構成されている。図示の例では、車両1に6つのECU20a〜20fが搭載され、これら6つのECU20a〜20fが2つのグループに別けられている。第1グループの3つのECU20a〜20cは、第1のCANバス2に接続されており、このCANバス2を介して相互にメッセージの送受信を行うことができる。同様に、第2グループの3つのECU20d〜20fは、第2のCANバス3に接続されており、このCANバス3を介して相互にメッセージの送受信を行うことができる。
【0020】
2つのCANバス2,3は、直接的に接続されておらず、それぞれ車載中継装置10に接続されている。車載中継装置10は、例えば一方のCANバス2上に出力されたメッセージを取得し、取得したメッセージを他方のCANバス3へ出力することによって、グループ間(ネットワーク間、CANバス間)のメッセージ中継を行う装置である。
【0021】
上記の構成の車載通信システムにおいて、CANバス2,3に対して不正なECUが接続された場合、又は、正規のECU20a〜20fがコンピュータウイルスなどに感染した場合等に、CANバス2,3上に不正なメッセージが送信される可能性がある。例えば
図1においてCANバス2に接続されたECU20bが不正なECUであるとする。不正なECU20bは、CANバス2に対して不正なメッセージの送信を行う(
図1の”(1)不正M”を参照)。CANバス2に対して送信された不正メッセージは、CANバス2に接続された他のECU20a,20cにて受信されると共に、車載中継装置10にて受信される。
【0022】
本実施の形態に係る車載通信システムでは、各ECU20a〜20fが送信するメッセージには認証情報が含まれている。本実施の形態に係る車載中継装置10は、CANバス2上に送信されたメッセージを受信した場合に、このメッセージに含まれている認証情報が正しいものであるか否かを判定することにより、このメッセージの正否を判定する。受信したメッセージが不正であると判定した場合、車載中継装置10は、このメッセージを受信したCANバス2に対して、不正なメッセージが送信された旨の通知を行う(
図1の”(2)通知”を参照)。CANバス2に接続されたECU20a〜20cは、車載中継装置10からの通知を受信した場合に、以前に受信したメッセージが不正なものであったことを知ることができる。ECU20a〜20cは、例えば以前に受信した不正なメッセージを破棄する、又は、以前に受信した不正なメッセージに基づいてなされた処理を取り消す等の処理を行うことができる。
【0023】
また車載中継装置10は、CANバス2に送信されたメッセージを受信した場合、通常はこのメッセージをCANバス3へ送信することでメッセージの中継を行う。ただし本実施の形態に係る車載中継装置10は、CANバス2にて受信したメッセージが不正なものであると判定した場合、このメッセージをCANバス3へ送信することはない。更に車載中継装置10は、不正なメッセージに含まれるCAN−IDを記憶しておき、記憶したCAN−IDがこれ以降に受信したメッセージに含まれていた場合、このメッセージの中継を行わない(
図1の”(3)中継禁止”を参照)。
【0024】
メッセージの中継を禁止した車載中継装置10は、不正なメッセージを受信したCANバス2とは異なるCANバス3に対して、メッセージの中継を禁止した旨の通知を出力する(
図1の”(4)通知”を参照)。このときに車載中継装置10は、中継を禁止するメッセージのCAN−IDを付して通知を行う。CANバス3に接続されたECU20d〜20fは、車載中継装置10からの通知を受信した場合に、特定のCAN−IDのメッセージがこれ以降に中継されないことを知ることができ、この通知に応じた適切な処理を行うことができる。
【0025】
また本実施の形態に係る車載中継装置10は、車両1のIG(イグニッション)スイッチ5のオン/オフの状態を示す信号(以下、IG信号という)が与えられている。車載中継装置10は、上述のように中継を禁止する不正なメッセージのCAN−IDを記憶しており、IGスイッチ5がオフ状態からオン状態へ切り替えられた場合、記憶したCAN−IDを全てのCANバス2,3に対して通知を出力する。この通知を受信したECU20a〜20fは、必要に応じてエラー処理などを行うことができる。
【0026】
図2は、本実施の形態に係る車載中継装置10の構成を示すブロック図である。本実施の形態に係る車載中継装置10は、処理部11、2つの通信部12,13、バッファ14及び記憶部15等を備えて構成されている。処理部11は、例えばCPU(Central Processing Unit)又はMPU(Micro-Processing Unit)等の演算処理装置を用いて構成され、記憶部15又は図示しないROM(Read Only Memory)等に記憶された中継プログラム15cを実行することにより種々の処理を行う。本実施の形態において処理部11は、例えば受信したメッセージの正否を判定する処理、メッセージを中継する処理、メッセージの中継を禁止する処理及び不正なメッセージに関する通知を行う処理等を行う。
【0027】
通信部12,13は、CANバス2,3がそれぞれ接続され、CANバス2,3を介してECU20a〜20fとの間でメッセージの送受信を行う。通信部12,13は、いわゆるCANコントローラを用いて構成されるものであってよい。通信部12,13は、ECU20a〜20fがCANバス2,3に対して出力した信号をサンプリングして取得することによりメッセージを受信し、受信したメッセージをバッファ14に記憶すると共に、メッセージを受信した旨を処理部11へ通知する。また通信部12,13は、処理部11からの指示に応じてバッファ14に記憶された送信用のメッセージを読み出し、読み出したメッセージを信号としてCANバス2,3へ出力することによりECU20a〜20fへのメッセージ送信を行う。
【0028】
バッファ14は、例えばSRAM(Static Random Access Memory)又はDRAM(Dynamic Random Access Memory)等のメモリ素子を用いて構成されている。バッファ14は、通信部12,13が受信したメッセージ及びこれから送信すべきメッセージ等を一時的に記憶する。
【0029】
記憶部15は、例えばEEPROM(Electrically Erasable Programmable Read Only Memory)又はフラッシュメモリ等のデータ書き換え可能な不揮発性のメモリ素子を用いて構成されている。本実施の形態において記憶部15には、不正IDリスト15a、鍵情報15b及び中継プログラム15c等が記憶される。不正IDリスト15aは、車載中継装置10が受信したメッセージの正否判定の処理を行い、不正であると判定したメッセージに含まれるCAN−IDのリストである。鍵情報15bは、ECU20a〜20fとの間で送受信するメッセージに含まれる認証情報の生成及び確認に用いられる情報である。中継プログラム15cは、処理部11が読み出して実行することにより、メッセージの中継処理、中継の禁止処理及び通知処理等を実現するプログラムである。
【0030】
図3は、本実施の形態に係るECU20aの一構成例を示すブロック図である。なお
図3においては、ECU20aの通信に関する機能ブロックを抜き出して図示する。また他のECU20b〜20fについては、ECU20aと同様の構成であるため、図示を省略する。本実施の形態に係るECU20aは、処理部21、通信部22、ROM23及びRAM(Random Access Memory)24等を備えて構成されている。処理部21は、CPU又はMPU等の演算処理装置を用いて構成され、ROM23に記憶されたプログラム23aを実行することにより、種々の処理を行う。
【0031】
通信部22は、CANバス2が接続され、CANバス2を介して他のECU20b〜20f及び車載中継装置10との間でメッセージの送受信を行う。通信部22は、いわゆるCANコントローラを用いて構成されるものであってよい。通信部22は、他のECU20b〜20f又は車載中継装置10がCANバス2に対して出力した信号をサンプリングして取得することによりメッセージを受信し、受信したメッセージをRAM24に記憶すると共に、メッセージを受信した旨を処理部21へ通知する。また通信部22は、処理部21からの指示に応じてRAM24に記憶された送信用のメッセージを読み出し、読み出したメッセージを信号としてCANバス2へ出力することにより他のECU20b〜20f及び車載中継装置10へのメッセージ送信を行う。
【0032】
ROM23は、例えばマスクROM、EEPROM又はフラッシュメモリ等の不揮発性のメモリ素子を用いて構成されている。本実施の形態においてROM23には、プログラム23a及び鍵情報23b等が記憶されている。プログラム23aは、処理部21が読み出して実行することにより、本実施の形態に係る通信処理及びECU毎に個別の機能処理等を実現する。鍵情報23bは、他のECU20b〜20f及び車載中継装置10との間で送受信するメッセージに含まれる認証情報の生成及び確認に用いられる情報である。なお車載中継装置10が記憶している鍵情報15bと、ECU20a〜20fが記憶している鍵情報23bとは、同じ値である。
【0033】
RAM24は、例えばSRAM又はDRAM等のメモリ素子を用いて構成されている。RAM24は、処理部21の処理過程において生成された情報、及び、通信部22が送受信するメッセージ等を一時的に記憶する。また本実施の形態においてRAM24は、不正IDリスト24aを記憶する。不正IDリスト24aは、車載中継装置10から通知された不正なメッセージのCAN−IDのリストである。
【0034】
図4は、本実施の形態に係る車載通信システムにて送受信されるメッセージの一構成例を示す模式図である。本実施の形態に係る車載通信システムにて送受信されるメッセージは、CANヘッダ、データフィールド、認証情報、CRC(Cyclic Redundancy Check)フィールド、ACK(acknowledgement)フィールド及びEOF(End Of Frame)を含んで構成されている。CANヘッダは、従来のCANプロトコルにおけるSOF(Start Of Frame)、アービトレーションフィールド及びコントロールフィールド等を含むものであり、上述のCAN−IDを含んでいる。データフィールドは、例えば他のECU20a〜20fに対する制御指示又はセンサの検知結果等のように、ECU20a〜20f間で授受すべき情報の本体が格納される。
【0035】
CRCフィールド、ACKフィールド及びEOFは、従来のCANプロトコルにて用いられるものと同じであるため詳細な説明は省略する。CRCフィールドは、誤り検出を行うための情報を格納する。ACKフィールドは、このフレームを受信するECU20a〜20f及び車載中継装置10による受信応答のためのフィールドである。EOFは、フィールドの終了を示す特定のビット列である。
【0036】
本実施の形態に係るメッセージには、従来のCANプロトコルのものとは異なり、認証情報を含んでいる。認証情報は、このメッセージが正当なものであるか否かを車載中継装置10が判定するために用いられる情報である。ECU20a〜20fの処理部21は、送信するメッセージに含まれるCANヘッダ及びデータを、記憶部23に記憶した鍵情報23bを用いて暗号化することにより認証情報を生成する。本実施の形態においては、例えばHMAC(SHA−256)のアルゴリズムを用いて、512ビット程度の鍵情報23bに基づき、256ビットのメッセージ認証符号(MAC)を生成する。ECU20a〜20fの処理部21は、生成した256ビットのMACを認証情報として送信メッセージに付し、通信部22へこのメッセージの送信命令を与えることで、他のECU20a〜20fへのメッセージ送信を行う。
【0037】
なお本実施の形態において、受信メッセージの正否を確認する処理は車載中継装置10が行い、ECU20a〜20fは受信メッセージに含まれる認証情報の正否を確認する必要はない。このため、複数のECU20a〜20fは、同じ鍵情報23bを共有する必要はなく、少なくとも車載中継装置10と各ECU20a〜20fとが同じ鍵情報15b、23bを共有していればよい。ただし、ECU20a〜20fが受信メッセージに含まれる認証情報の正否を確認する処理を行う構成としてもよい。
【0038】
通信部12,13にてECU20a〜20fが送信してメッセージを受信した車載中継装置10の処理部11は、受信したメッセージに含まれる認証情報の正否を判定することによって、このメッセージの正否を判定する。処理部11は、記憶部15に記憶された鍵情報15bを読み出して、読み出した鍵情報15bと受信メッセージのCANヘッダ及びデータフィールドとに基づき、ECU20a〜20fと同じアルゴリズムにより認証情報を生成する。処理部11は、自らが生成した認証情報と、受信メッセージに含まれる認証情報とを比較し、両認証情報が一致した場合にこのメッセージが正当なものであると判定する。両認証情報が一致しない場合、処理部11は、メッセージが正当なものではないと判定する。
【0039】
受信メッセージが正当なものではないと判定した場合、車載中継装置10の処理部11は、このメッセージを受信した通信部12,13に接続されたCANバス2,3に対して所定のメッセージを出力することにより、このCANバス2,3に接続されたECU20a〜20fに対して、不正なメッセージが送信された旨の通知を行う。このときに車載中継装置10が通知として送信するメッセージは、
図4に示したメッセージ形式において、例えばCANヘッダに含まれるCAN−IDを通知用のIDとし、データフィールドに不正と判定したメッセージに含まれていたCAN−IDを格納したものとすることができる。通知用のIDは、例えば”010”などの値を予め決定しておくことができ、CANプロトコルのアービトレーション処理において優先度が高い値を採用することが好ましい。また通知のメッセージには、認証情報を付さなくてもよい。
【0040】
車載中継装置10からの不正なメッセージが送信された旨の通知を受信したECU20a〜20fは、予め定められたエラー処理などを行うと共に、通知のメッセージに含まれる不正メッセージのCAN−IDをRAM24の不正IDリスト24aに登録する。このときにECU20a〜20fは、可能であれば以前に受信した不正メッセージを破棄してもよい。以後にECU20a〜20fは、メッセージを受信した場合に、受信メッセージのCAN−IDが不正IDリスト24aに登録されているか否かを判定する。受信メッセージのCAN−IDが不正IDリスト24aに登録されている場合、ECU20a〜20fは、このメッセージを用いた処理を行わず、メッセージを破棄する。
【0041】
また車載中継装置10の処理部11は、受信メッセージが正当なものではないと判定した場合、このメッセージの中継は行わない。また処理部11は、正当でないと判定したメッセージのCAN−IDを記憶部15の不正IDリスト15aに登録することにより、以後の同IDのメッセージの中継を禁止する。即ち処理部11は、メッセージを受信した際に、このメッセージのCAN−IDが不正IDリスト15aに登録されているか否かを判定する。受信メッセージのCAN−IDが不正IDリスト15aに登録されている場合、処理部11は、メッセージに付された認証情報が正しいか否かに関わらず、このメッセージの中継は行わない。
【0042】
受信メッセージが正当なものではないと判定した場合、車載中継装置10の処理部11は、このメッセージを受信した通信部12,13以外の通信部12,13に接続されたCANバス2,3に対して所定のメッセージを出力することにより、このCANバス2,3に接続されたECU20a〜20fに対して、メッセージの中継を禁止した旨の通知を行う。このときに車載中継装置10が通知として送信するメッセージは、
図4に示したメッセージ形式において、例えばCANヘッダに含まれるCAN−IDを通知用のIDとし、データフィールドに不正と判定したメッセージに含まれていたCAN−IDを格納したものとすることができる。これは、上述の不正メッセージが送信された旨の通知を行う場合のメッセージと同様の構成であるが、CAN−IDを別の値とすることで区別可能である。ただし両通知に同じ値のCAN−IDを用いてもよく、必ずしも両通知を区別する必要はない。
【0043】
車載中継装置10から中継を禁止した旨の通知を受信したECU20a〜20fは、予め定められたエラー処理などを行う。例えば、ECU20a〜20fが所望のCAN−IDが付されたメッセージの受信を待機しており、このメッセージを受信できない状態が所定時間を超えたことで通信が途絶したと判断し、タイムアウトに関するエラー処理を行う構成である場合、車載中継装置10からメッセージの中継を禁止した旨の通知を受信することで、所定時間の経過を待つことなくエラー処理を開始することができる。また中継を禁止した旨の通知を受信したECU20a〜20fは、通知のメッセージに含まれる不正メッセージのCAN−IDを不正IDリスト24aに登録する。ただし本実施の形態においてECU20a〜20fは、車載中継装置10からの中継により受信するメッセージについては、中継が禁止されたCAN−IDのメッセージを以後に受信することはないため、必ずしも不正IDリスト24aへの登録を行う必要はない。
【0044】
また本実施の形態に係る車載中継装置10は、車両1のIGスイッチ7がオフ状態からオン状態へ切り替えられた場合に、記憶部15に記憶した不正IDリスト15aに基づいて再通知を行う機能を有している。車載中継装置10の処理部11には、IGスイッチ7のオン/オフ状態を示すIG信号が入力されている。処理部11は、IG信号に基づいてIGスイッチ7がオフ状態からオン状態へ変化したと判断した場合、記憶部15から不正IDリスト15aを読み出し、不正IDリスト15aに登録されたCAN−IDを通知するメッセージを全ての通信部12,13から送信することにより、既知の不正なCAN−IDを全てのECU20a〜20fへ通知する。このときに車載中継装置10が通知として送信するメッセージは、
図4に示したメッセージ形式において、例えばCANヘッダに含まれるCAN−IDを通知用のIDとし、データフィールドに不正IDリスト15aに登録されたCAN−IDを格納したものとすることができる。これは、上述の不正メッセージが送信された旨の通知及び中継を禁止した旨の通知を行う場合のメッセージと同様の構成であるが、CAN−IDを別の値とすることで区別可能である。ただしIGオン時の通知に他の通知と同じ値のCAN−IDを用いてもよく、必ずしもこれらの通知を区別する必要はない。また不正IDリスト15aに複数のCAN−IDが登録されている場合、車載中継装置10は、通知を複数回繰り返して複数のCAN−IDを送信してもよく、1回の通知で複数のCAN−IDを送信してもよい。
【0045】
車載中継装置10からIGオンによる通知を受信したECU20a〜20fは、通知と共に与えられたCAN−IDをRAM24の不正IDリスト24aに登録すると共に、必要に応じてエラー処理などを行う。車両1のIGスイッチ7がオフ状態とされた場合に電力供給が断たれるECU20a〜20fでは、RAM24に記憶した不正IDリスト24aが消失する可能性がある。IGスイッチ7がオフ状態からオン状態へ切り替えられ、ECU20a〜20fへの電力供給が開始された場合に、車載中継装置10が再通知を行うことによって、ECU20a〜20fはRAM24に不正IDリスト24aを再登録することができる。このため、IGスイッチ7がオフ状態となった場合でも電力供給が断たれないECU20a〜20f又は不正IDリスト24aを不揮発性のメモリ素子に記憶するECU20a〜20f等の場合には、車載中継装置10からの再通知による不正IDリスト24aの再登録を行わなくてよい。
【0046】
図5は、本実施の形態に係る車載中継装置10がメッセージを受信した際に行う処理の手順を示すフローチャートである。本実施の形態に係る車載中継装置10の処理部11は、いずれかの通信部12,13にてメッセージを受信したか否かを判定する(ステップS1)。メッセージを受信していない場合(S1:NO)、処理部11は、メッセージを受信するまで待機する。メッセージを受信した場合(S1:YES)、処理部11は、受信したメッセージからCAN−IDを取得する(ステップS2)。処理部11は、記憶部15に記憶された不正IDリスト15aを参照して、ステップS2にて取得したCAN−IDが不正なIDとして登録されているか否かを判定する(ステップS3)。登録された不正IDである場合(S3:YES)、処理部11は、受信したメッセージを破棄して(ステップS4)、処理を終了する。
【0047】
登録された不正IDではない場合(S3:NO)、処理部11は、記憶部15に記憶された鍵情報15bと、受信したメッセージに含まれるCANヘッダ及びデータフィールドとに基づいて、受信したメッセージに含まれる認証情報の正否を判定する処理を行う(ステップS5)。処理部11は、正否判定処理の結果に基づいて、受信したメッセージが正しいメッセージであるか否かを判定する(ステップS6)。正しいメッセージである場合(S6:YES)、処理部11は、このメッセージを別の通信部12,13に接続されたCANバス2,3へ送信することにより、メッセージの中継を行って(ステップS7)、処理を終了する。
【0048】
正しいメッセージではない場合(S6:NO)、処理部11は、このメッセージを受信した通信部12,13に接続されたCANバス2,3へ不正なメッセージ送信がなされた旨を通知すると共に、このメッセージを受信した通信部12,13以外の通信部12,13に接続されたCANバス2,3へメッセージの中継を禁止した旨を通知する通知処理を行う(ステップS8)。処理部11は、ステップS2にて取得したCAN−IDを記憶部15の不正IDリスト15aに登録することによって、このCAN−IDを有するメッセージの中継を禁止する(ステップS9)。また処理部11は、この受信メッセージを破棄して(ステップS10)、処理を終了する。なおステップS8,S9,S10の処理の順序は、図示の順序に限らず、いずれのステップの処理を先に行ってもよい。
【0049】
図6は、本実施の形態に係るECU20a〜20fが車載中継装置10からの通知を受信した際に行う処理の手順を示すフローチャートである。本実施の形態に係るECU20a〜20fの処理部21は、通信部22にて車載中継装置10からの通知を受信したか否かを判定する(ステップS21)。なおこの場合の通知には、不正なメッセージが送信された旨の通知、メッセージの中継を禁止した旨の通知及びIGスイッチ7がオン状態へ切り替えられた際の再通知のいずれであってもよい。通知を受信していない場合(S21:NO)、処理部21は、通知を受信するまで待機する。
【0050】
車載中継装置10からの通知を受信した場合(S21:YES)、処理部21は、通知に含まれるCAN−IDを取得する(ステップS22)。処理部21は、取得したCAN−IDなどに基づいて、必要に応じてエラー処理を行う(ステップS23)。また処理部21は、ステップS22にて取得したCAN−IDをRAM24の不正IDリスト24aに登録して(ステップS24)、処理を終了する。
【0051】
図7は、本実施の形態に係るECU20a〜20fがメッセージを受信した際に行う処理の手順を示すフローチャートである。本実施の形態に係るECU20a〜20fの処理部21は、通信部22にて他のECU20a〜20f又は車載中継装置10からメッセージを受信したか否かを判定する(ステップS31)。メッセージを受信していない場合(S31:NO)、処理部21は、メッセージを受信するまで待機する。
【0052】
メッセージを受信した場合(S31:YES)、処理部21は、受信したメッセージからCAN−IDを取得する(ステップS32)。処理部21は、記憶部24に記憶された不正IDリスト24aを参照して、ステップS32にて取得したCAN−IDが不正なIDとして登録されているか否かを判定する(ステップS33)。登録された不正IDである場合(S33:YES)、処理部21は、受信したメッセージを破棄して(ステップS34)、処理を終了する。不正IDではない場合(S33:NO)、処理部21は、受信したメッセージに関するECU20a〜20f個別の処理を行い(ステップS35)、処理を終了する。
【0053】
図8は、本実施の形態に係る車載中継装置10がIGオンの際に行う処理の手順を示すフローチャートである。本実施の形態に係る車載中継装置10の処理部11は、入力されるIG信号に基づいて車両1のIGスイッチ7がオフ状態からオン状態へ変化したか否かを判定する(ステップS41)。例えばIGスイッチ7がオン状態で維持されている場合、オフ状態で維持されている場合、又は、オン状態からオフ状態へ変化した場合等、IGスイッチ7がオフ状態からオン状態へ変化していない場合(S41:NO)、処理部11は、IGスイッチ7がオフ状態からオン状態へ変化するまで待機する。
【0054】
IGスイッチ7がオフ状態からオン状態へ変化した場合(S41:YES)、処理部11は、記憶部15の不正IDリスト15aに登録された不正なメッセージのCAN−IDを読み出す(ステップS42)。次いで処理部11は、読み出したCAN−IDを含むメッセージを通信部12,13から送信することで、不正なCAN−IDを通知する処理を行い(ステップS43)、処理を終了する。
【0055】
以上の構成の本実施の形態に係る車載通信システムは、複数のCANバス2,3が接続される複数の通信部12,13を有する車載中継装置10が、CANバス2,3に接続されたECU20a〜20fが送信したメッセージの正否判定を行う。メッセージが不正であると判定した場合、車載中継装置10は、このメッセージを受信した通信部12,13に接続されたCANバス2,3に対して、不正なメッセージが送信された旨を通知する。これにより不正なメッセージを送信したECU20a〜20fが接続されたCANバス2,3に接続された他のECU20a〜20fは、車載中継装置10からの通知に基づいて、例えば受信済みのメッセージを破棄するなどのエラー処理を行うことが可能となる。
【0056】
また車載中継装置10は、不正と判定したメッセージに含まれるCAN−IDと同じCAN−IDを有するメッセージについて、以後の中継を禁止する。このときに車載中継装置10は、不正と判定したメッセージを受信した通信部12,13以外の通信部12,13に接続された通信線に対して、メッセージの中継を禁止した旨を通知する。これにより中継されるメッセージを受信すべきECU20a〜20fは、メッセージの中継が禁止されたことを知ることができ、これに応じたエラー処理などを実行することが可能となる。
【0057】
また車載中継装置10は、不正と判定したメッセージに含まれるCAN−IDを記憶部15の不正IDリスト15aに記憶しておき、車両1のIGスイッチ7がオフ状態からオン状態へ切り替えられた場合に、各通信部12,13に接続されたCANバス2,3に対して、記憶されたCAN−IDを通知するメッセージを送信する。これによりIGスイッチ7がオフ状態の場合に電力供給が断たれて記憶した情報を喪失するECU20a〜20fが含まれる場合であっても、これらのECU20a〜20fに不正なメッセージのCAN−IDを通知してエラー処理などを行わせることができる。
【0058】
また車載中継装置10は、不正なメッセージが送信された旨の通知及びメッセージの中継を禁止した旨の通知を行う際に、不正と判定したメッセージに含まれるCAN−IDを通知する。これにより、車載中継装置10からの通知を受信したECU20a〜20fは、不正なメッセージに含まれるCAN−IDを認識することができ、このCAN−IDを有するメッセージを受信した際にエラー処理などを行うことが可能となる。
【0059】
また車載中継装置10からの通知を受けたECU20a〜20fは、通知されたCAN−IDをRAM24の不正IDリスト24aに記憶しておく。ECU20a〜20fは、不正IDリスト24aに登録されたCAN−IDを含むメッセージを受信した場合、このメッセージを破棄する。これにより不正なメッセージを各ECU20a〜20fにて破棄することができ、ECU20a〜20fの誤動作などが発生することを防止できる。
【0060】
なお本実施の形態においては、車載中継装置10に2つのCANバス2,3を接続する構成としたが、これに限るものではなく、3つ以上のCANバスを接続する構成としてもよい。この場合に車載中継装置10は、一のCANバスにて受信したメッセージを他の2つのCANバスへ中継すればよい。また本実施の形態においては、各CANバス2,3に3つのECU20a〜20c、20d〜20fを接続する構成としたが、これに限るものではない。CANバスに接続されるECUの数はいくつであってもよい。
【0061】
また車載中継装置10がメッセージの正否を判定するために、鍵情報15b,24bに基づく認証情報をメッセージに付す構成としたが、これに限るものではない。メッセージの正否判定は、このような認証情報を用いる方法以外の方法を採用してもよい。またECU20a〜20fは、不正IDリスト24aをRAMに記憶する構成としたが、これに限るものではなく、EEPROM又はフラッシュメモリ等のデータ書き換え可能な不揮発性のメモリ素子に記憶する構成としてもよい。
【0062】
また本実施の形態において車載中継装置10は、不正なメッセージが送信された旨の通知、メッセージの中継を禁止した旨の通知、及び、IGスイッチ7がオン状態へ切り替えられた際の通知の3種の通知を行う。これら3種の通知は、例えば通知として送信するメッセージのCAN−IDを異なる値とするなど、ECU20a〜20fから見て区別可能な構成としてもよく、区別しない構成としてもよい。