(57)【要約】【課題】不定期なタイミングで送受信されるメッセージの正／不正を高い精度で判定する。【解決手段】メッセージ監視システムは、第１のメッセージを生成する第１のメッセージ生成部１０１と、第１のメッセージの特徴を表す第１の特徴値を求める第１の演算部１０２と、第１の特徴値を格納した第２のメッセージを生成する第２のメッセージ生成部１０３と、第１のメッセージを送信するとともに、第２のメッセージを周期的に送信する送信部１０４とを備える第１の電子制御装置１００、及び第１の電子制御装置から第１のメッセージと第２のメッセージとを受信する受信部２０１と、第１のメッセージの特徴を表す第２の特徴値を求める第２の演算部２０２と、第１の特徴値と第２の特徴値とを比較して第１のメッセージが正常であるかどうかを判定する判定部２０３，２０４とを備える第２の電子制御装置２００を有する。【選択図】図１
2020167494.tif 000002
【特許請求の範囲】
【請求項１】
第１の電子制御装置（１００）と、前記第１の電子制御装置に通信ネットワーク（２０）を介して接続された第２の電子制御装置（２００）とを有する車両用のメッセージ監視システム（１０，１１）であり、
前記第１の電子制御装置は、
第１のメッセージを生成する第１のメッセージ生成部（１０１）と、
前記第１のメッセージの特徴を表す第１の特徴値を求める第１の演算部（１０２）と、
前記第１の特徴値を格納した第２のメッセージを生成する第２のメッセージ生成部（１０３）と、
前記第１のメッセージを送信するとともに、前記第２のメッセージを周期的に送信する送信部（１０４）と、を備え、
前記第２の電子制御装置は、
前記第１の電子制御装置から、前記第１のメッセージと、前記第２のメッセージとを受信する受信部（２０１）と、
前記受信部が受信した前記第１のメッセージの特徴を表す第２の特徴値を求める第２の演算部（２０２）と、
前記受信部で受信した前記第２のメッセージに格納された前記第１の特徴値と、前記第２の演算部で求めた前記第２の特徴値とを比較し、比較結果に基づいて前記第１のメッセージが正常であるかどうかを判定する判定部（２０３，２０４）と、を備える、
メッセージ監視システム。
【請求項２】
前記第１の演算部は、前記送信部が前記第１のメッセージを送信した回数に基づいて前記第１の特徴値を求め、
前記第２の演算部は、前記受信部が前記第１のメッセージを受信した回数に基づいて前記第２の特徴値を求める、
請求項１記載のメッセージ監視システム。
【請求項３】
前記第１の演算部は、前記第１のメッセージ生成部が生成した前記第１のメッセージに格納された値を論理演算して前記第１の特徴値を求め、
前記第２の演算部は、前記受信部が受信した前記第１のメッセージに格納された値を論理演算して前記第２の特徴値を求める、
請求項１記載のメッセージ監視システム。
【請求項４】
前記判定部（２０３）はさらに、前記受信部が前記第２のメッセージを受信した単位時間当たりの回数または受信間隔に基づいて、前記第２のメッセージが正常であるかどうかを判定する、
請求項１記載のメッセージ監視システム。
【請求項５】
前記第１のメッセージ生成部は、所定のイベントが発生した場合に前記第１のメッセージを生成する、
請求項１記載のメッセージ監視システム。
【請求項６】
前記第１のメッセージ生成部は、周期的に、且つ、所定のイベントが発生した場合に前記第１のメッセージを生成する、
請求項１記載のメッセージ監視システム。
【請求項７】
前記第２の電子制御装置は、前記通信ネットワークである複数のバスに接続されたゲートウェイ装置である、
請求項１記載のメッセージ監視システム（１０）。
【請求項８】
当該メッセージ監視システムは、前記通信ネットワークである複数のバスに接続されたゲートウェイ装置（３００）をさらに有し、
前記第１の電子制御装置および前記第２の電子制御装置は同一のバスを介して前記ゲートウェイ装置に接続される、
請求項１記載のメッセージ監視システム（１１）。
【請求項９】
監視用電子制御装置（２００）に通信ネットワークを介して接続された電子制御装置（１００）であって、
第１のメッセージを生成する第１のメッセージ生成部（１０１）と、
前記第１のメッセージの特徴を表す第１の特徴値を求める演算部（１０２）と、
前記第１の特徴値を格納した第２のメッセージを生成する第２のメッセージ生成部（１０３）と、
前記監視用電子制御装置に、前記第１のメッセージを送信するとともに、前記第２のメッセージを周期的に送信する送信部（１０４）と、
を備える、電子制御装置。
【請求項１０】
電子制御装置（１００）に通信ネットワークを介して接続された監視用電子制御装置（２００）であって、
前記電子制御装置から、第１のメッセージを受信するとともに、前記第１のメッセージの特徴を表す第１の特徴値を格納した第２のメッセージを周期的に受信する受信部（２０１）と、
前記受信部が受信した前記第１のメッセージの特徴を表す第２の特徴値を求める演算部（２０２）と、
前記受信部で受信した前記第２のメッセージに格納された前記第１の特徴値と、前記演算部で求めた前記第２の特徴値とを比較し、比較結果に基づいて前記第１のメッセージが正常であるかどうかを判定する判定部（２０４）と、
を備える、監視用電子制御装置。
【請求項１１】
監視用電子制御装置に通信ネットワークを介して接続された電子制御装置において実行されるメッセージ生成プログラムであって、
第１のメッセージを生成し、
前記第１のメッセージの特徴を表す第１の特徴値を求め、
前記第１の特徴値を格納した第２のメッセージを生成し、
前記第１のメッセージの特徴を表す第２の特徴値を求めるとともに前記第１の特徴値と前記第２の特徴値とを比較して前記第１のメッセージが正常であるかどうかを判定する前記監視用電子制御装置に、前記第１のメッセージを送信するとともに、前記第２のメッセージを周期的に送信する、
メッセージ生成プログラム。
【請求項１２】
電子制御装置に通信ネットワークを介して接続された監視用電子制御装置において実行されるメッセージ監視プログラムであって、
前記電子制御装置から、第１のメッセージを受信するとともに、前記第１のメッセージの特徴を表す第１の特徴値を格納した第２のメッセージを周期的に受信し、
受信した前記第１のメッセージの特徴を表す第２の特徴値を求め、
受信した前記第２のメッセージに格納された前記第１の特徴値と、前記第２の特徴値とを比較し、比較結果に基づいて前記第１のメッセージが正常であるかどうかを判定する、
メッセージ監視プログラム。
【請求項１３】
電子制御装置に通信ネットワークを介して接続された監視用電子制御装置において実行されるメッセージ監視方法であって、
前記電子制御装置から、第１のメッセージを受信するとともに、前記第１のメッセージの特徴を表す第１の特徴値を格納した第２のメッセージを周期的に受信し、
受信した前記第１のメッセージの特徴を表す第２の特徴値を求め、
受信した前記第２のメッセージに格納された前記第１の特徴値と、前記第２の特徴値とを比較し、比較結果に基づいて前記第１のメッセージが正常であるかどうかを判定する、
メッセージ監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置間で送受信されるメッセージを監視するメッセージ監視システム、および当該システムに使用される電子制御装置に関するものであり、主として車両用のメッセージ監視システムに関するものである。
【背景技術】
【０００２】
従来より、自動車には様々な種類の電子制御装置が搭載されており、これらの電子制御装置をＣＡＮ（Controller Area Network）などの通信ネットワークで互いに接続することにより、車載システムを構成する。このような車載システムでは、外部からの不審なアクセスやデータがないかを検出するために、ネットワーク侵入検知システム（ＮＩＤＳ：Network-based Intrusion Detection System）が用いられることが知られている。
【０００３】
特許文献１は、ネットワークにおいて周期的に送受信されるメッセージを監視対象として、メッセージの正／不正を判定する監視装置を開示している。この監視装置では、周期的に送信される監視対象メッセージの送信周期と、監視対象メッセージの受信間隔との比較に基づいて、監視対象メッセージの正／不正を判定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−２６６６３
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、電子制御装置間で通信ネットワークを介して送受信されるメッセージには、一定間隔で周期的に送受信されるメッセージの他、何らかのイベントが発生したことをトリガとして生成され、送受信されるメッセージがある。このような、イベントが発生したことをトリガとして生成されるメッセージは不定期なタイミングで送受信されるため、受信間隔に基づいて当該メッセージの正／不正を判定することはできない。
【０００６】
そこで、本発明の目的は、不定期に送受信されるメッセージの正／不正を判定することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、車両用のメッセージ監視システム（１０，１１）は、第１の電子制御装置（１００）と、前記第１の電子制御装置に通信ネットワーク（２０）を介して接続された第２の電子制御装置（２００）とを有し、前記第１の電子制御装置は、第１のメッセージを生成する第１のメッセージ生成部（１０１）と、前記第１のメッセージの特徴を表す第１の特徴値を求める第１の演算部（１０２）と、前記第１の特徴値を格納した第２のメッセージを生成する第２のメッセージ生成部（１０３）と、前記第１のメッセージを送信するとともに、前記第２のメッセージを周期的に送信する送信部（１０４）と、を備え、前記第２の電子制御装置は、前記第１の電子制御装置から、前記第１のメッセージと、前記第２のメッセージとを受信する受信部（２０１）と、前記受信部が受信した前記第１のメッセージの特徴を表す第２の特徴値を求める第２の演算部（２０２）と、前記受信部で受信した前記第２のメッセージに格納された前記第１の特徴値と、前記第２の演算部で求めた前記第２の特徴値とを比較し、比較結果に基づいて前記第１のメッセージが正常であるかどうかを判定する判定部（２０３，２０４）と、を備える。
【発明の効果】
【０００８】
本発明のメッセージ監視システムによれば、不定期なタイミングで送受信されるメッセージの正／不正を判定することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】実施形態１のメッセージ監視システムを説明する図
【図２】実施形態１のメッセージ送信ＥＣＵの動作を説明する図
【図３】実施形態１のメッセージ送信ＥＣＵの動作を説明する図
【図４】実施形態１の監視用ＥＣＵの動作を説明する図
【図５】実施形態１の監視用ＥＣＵが受信するメッセージを説明する図
【図６】実施形態１の監視用ＥＣＵが受信するメッセージを説明する図
【図７】実施形態１の監視用ＥＣＵが受信するメッセージを説明する図
【図８】実施形態２の監視用ＥＣＵが受信するメッセージを説明する図
【図９】実施形態２の監視用ＥＣＵが受信するメッセージを説明する図
【図１０】実施形態３のメッセージ監視システムを説明する図
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面を参照して説明する。
なお、本発明とは、特許請求の範囲又は課題を解決するための手段の項に記載された発明を意味するものであり、以下の実施形態に限定されるものではない。また、少なくともかぎ括弧内の語句は、特許請求の範囲又は課題を解決するための手段の項に記載された語句を意味し、同じく以下の実施形態に限定されるものではない。
特許請求の範囲の従属項に記載の構成および方法、従属項に記載の構成および方法に対応する実施形態の構成および方法、並びに特許請求の範囲に記載がなく実施形態のみに記載の構成および方法は、本発明においては任意の構成および方法である。特許請求の範囲の記載が実施形態の記載よりも広い場合における実施形態に記載の構成および方法も、本発明の構成および方法の例示であるという意味で、本発明においては任意の構成および方法である。いずれの場合も、特許請求の範囲の独立項に記載することで、本発明の必須の構成および方法となる。
実施形態に記載した効果は、本発明の例示としての実施形態の構成を有する場合の効果であり、必ずしも本発明が有する効果ではない。
複数の実施形態がある場合、各実施形態に開示の構成は各実施形態のみで閉じるものではなく、実施形態をまたいで組み合わせることが可能である。例えば一の実施形態に開示の構成を、他の実施形態に組み合わせても良い。また、複数の実施形態それぞれに開示の構成を集めて組み合わせても良い。
発明が解決しようとする課題に記載した課題は公知の課題ではなく、本発明者が独自に知見したものであり、本発明の構成および方法と共に発明の進歩性を肯定する事実である。
【００１１】
（実施形態１）
図１は、車両用のメッセージ監視システム１０を示している。メッセージ監視システム１０は、複数の電子制御装置１００、および複数の電子制御装置１００に複数の通信ネットワーク２０を介して接続されたゲートウェイ装置である電子制御装置２００を有している。以下に示す実施形態では、電子制御装置２００に対して当該電子制御装置２００が監視するメッセージを送信する電子制御装置１００をメッセージ送信ＥＣＵ（本発明の「第１の電子制御装置」、「電子制御装置」に対応）、メッセージ送信ＥＣＵ１００から送信されたメッセージを監視する電子制御装置２００を監視用ＥＣＵ（本発明の「第２の電子制御装置」、「監視用電子制御装置」に対応）とする。
【００１２】
本実施形態では、メッセージ送信ＥＵＣ１００および監視用ＥＣＵ２００はいずれも車両に搭載された車両用のメッセージ監視システム１０の例を説明している。しかしながら、本実施形態のメッセージ監視システム１０は車載のシステムに限定されるものではない。例えば、メッセージ送信ＥＣＵ１００を車両に搭載し、監視用ＥＣＵ２００を車外に配置して、車外からメッセージ送信ＥＣＵ１００を監視する構成としてもよい。
【００１３】
図１に示す車両用のメッセージ監視システム１０は、メッセージ送信ＥＣＵ１００と監視用ＥＣＵ２００とを接続する通信ネットワーク２０としてＣＡＮ（Controller Area Network）バスを利用することを想定している。しかしながら、通信ネットワーク２０には、例えば、ＬＩＮ（Local Interconnect Network）、Ｅｔｈｅｒｎｅｔ（登録商標）やＷｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）等、任意の通信方式を用いることができる。
【００１４】
メッセージ送信ＥＣＵ１００および監視用ＥＣＵ２００について、以下にそれぞれ説明する。
【００１５】
１．メッセージ送信ＥＣＵ１００
（１）構成
図１に示すように、メッセージ送信ＥＣＵ１００は、第１のメッセージ生成部１０１、演算部１０２、第２のメッセージ生成部１０３、および送信部１０４を備えている。メッセージ送信ＥＣＵ１００は、後述する監視用ＥＵＣ２００によってメッセージの正／不正が監視されるＥＣＵである。
【００１６】
第１のメッセージ生成部１０１は、所定のイベントが発生した場合に第１のメッセージを生成する。所定のイベントとは、例えば、車両に特定の操作（ブレーキの操作、シフトレバーの操作、等）が実行されること、あるいは車両が特定の状態（車速や回転数が予め設定された閾値を超える、等）になることが挙げられる。
【００１７】
演算部１０２（本発明の「第１の演算部」に対応）は、第１のメッセージ生成部１０１が生成した第１のメッセージの「特徴」を表す特徴値を求める。以下、演算部１０２が求めた特徴値を、第１の特徴値とする。
ここで、本発明の「特徴」とは、メッセージに格納されたデータの中身の特徴はもちろん、メッセージの外形的な特徴（例えば、メッセージの長さ、メッセージの送信間隔、メッセージの送信回数等）も含む。
【００１８】
例えば、演算部１０２は、後述する送信部１０４が第１のメッセージを送信した「回数」に基づいて、第１のメッセージの特徴を表す特徴値を求める。以下に示す実施形態では、演算部１０２は、第１のメッセージを送信した回数を第１の特徴値として求める例を説明する。他の例として、演算部１０２は、送信部１０４が第１のメッセージを送信した回数を予め設定した数値から減算して得られる値を、第１の特徴値として求めてもよい。
本発明の、メッセージを送信した「回数」とは、任意の時点からカウントを開始した回数である。例えば、当該メッセージ監視システムを起動してからの合計回数であってもよく、所定の時刻や所定のタイミングからの回数であってもよい。
【００１９】
他の例では、演算部１０２は、第１のメッセージ生成部１０１が生成した第１のメッセージに格納された値を、所定の論理演算式（例えば、論理和、論理積）によって論理演算して第１の特徴値を求めてもよい。例えば、第１のメッセージに８ビットで表された値が格納されている場合、各ビットの値を所定の論理演算式によって論理演算して得られる値を第１の特徴値として求める。
【００２０】
さらに他の例では、演算部１０２は、第１のメッセージに格納された値を暗号化する、あるいは、第１のメッセージに格納された値のハッシュ値を算出して得られる値を、第１の特徴値として求めてもよい。
【００２１】
第１のメッセージ生成部１０１が複数の第１のメッセージを生成している場合には、演算部１０２は、これらの複数の第１のメッセージを用いて第１の特徴値を求めることが望ましい。例えば、第１のメッセージ生成部１０１が２つの第１のメッセージＭ１１、Ｍ１２を生成した場合には、第１のメッセージＭ１１に格納された値を論理演算して得られる値と、第１のメッセージＭ１２に格納された値を論理演算して得られる値とを、さらに所定の論理演算式を用いて論理演算することにより、第１の特徴値を求める。
【００２２】
第２のメッセージ生成部１０３は、演算部１０２が求めた第１の特徴値を格納した第２のメッセージを生成する。なお、以下に示す実施形態では、第２のメッセージは、演算部１０２が求めた第１の特徴値のみを格納するメッセージであり、監視用ＥＣＵ２００においてメッセージが正常であるか否かを判定することを目的として生成されるメッセージを説明する。しかしながら、第２のメッセージは監視用ＥＣＵ２００に対して周期的に送信されるメッセージであればよい。例えば、メッセージ送信ＥＣＵ１００から監視用ＥＣＵ２００に対して車両の挙動を示すデータを周期的に送信している場合には、当該データを格納しているメッセージに第１の特徴値をさらに格納して、第２のメッセージを生成してもよい。
【００２３】
送信部１０４は、第１のメッセージ生成部１０１が生成した第１のメッセージ、および第２のメッセージ生成部１０３が生成した第２のメッセージを、監視用ＥＣＵ２００に送信する。ここで、第１のメッセージは所定のイベントが発生した場合に生成されるメッセージであることから、送信部１０４は第１のメッセージをイベントが発生する度に、すなわち、不定期に送信する。一方、送信部１０４は第２のメッセージを周期的に送信する。
【００２４】
（２）動作
図２、３は、メッセージ送信ＥＣＵの動作を示す図である。図２は第１のメッセージを送信する際のメッセージ送信ＥＣＵ１００の動作を、図３は第２のメッセージを送信する際のメッセージ送信ＥＣＵ１００の動作を、それぞれ示している。
【００２５】
図２では、第１のメッセージ生成部１０１はイベントが発生したかどうかを判定する（Ｓ１０１）。イベントが発生した場合（Ｓ１０１：Ｙｅｓ）には、第１のメッセージを生成し（Ｓ１０２）、第１のメッセージを送信部１０４から送信する（Ｓ１０３）。そして、演算部１０２は、Ｓ１０２において生成した第１のメッセージの特徴を表す第１の特徴値を求める（Ｓ１０４）。
【００２６】
図３では、第２のメッセージ生成部１０３は、第２のメッセージの送信周期が経過したかどうかを判定する（Ｓ２０１）。送信周期が経過したと判定した場合（Ｓ２０１：Ｙｅｓ）には、図２のＳ１０４において求めた第１の特徴値を格納した第２のメッセージを生成し（Ｓ２０２）、第２のメッセージを送信部１０４から送信する（Ｓ２０３）。
なお、図３では、Ｓ２０１において送信周期が経過したかどうかを判定した後に、Ｓ２０２において第２のメッセージを生成している。しかしながら、予め第２のメッセージを生成しておき、送信周期が経過したと判定した場合には、予め生成しておいた第２のメッセージを送信部１０４から送信する構成としてもよい。例えば、第２のメッセージ生成部１０３は、図２のＳ１０４において第１の特徴値が求められる度に、第１の特徴値を格納した新たな第２のメッセージを生成する。これにより、第２のメッセージは、常に最新の特徴値が格納されることになる。
【００２７】
２．監視用ＥＣＵ２００
（１）構成
図１に示すように、監視用ＥＣＵ２００は、受信部２０１、演算部２０２、第１の判定部２０３、および第２の判定部２０４を備える。監視用ＥＣＵ２００は、メッセージ送信ＥＣＵ１００から送信されるメッセージが正常であるかどうかを監視するＥＣＵである。
【００２８】
受信部２０１は、メッセージ送信ＥＣＵ１００から送信された第１のメッセージと、第２のメッセージとを受信する。
【００２９】
演算部２０２（本発明の「第２の演算部」に対応）は、受信部２０１が受信した第１のメッセージの「特徴」を表す特徴値を求める。以下、演算部２０２が求めた特徴値を、第２の特徴値とする。演算部２０２が第２の特徴値を求める方法は、メッセージ送信ＥＣＵ１００の演算部１０２が第１の特徴値を求める方法と対応している必要がある。以下に示す実施形態では、演算部２０２は、受信部２０１が第１のメッセージを受信した「回数」を第２の特徴値として求める例を説明する。しかしながら、演算部１０２が第１の特徴値を求める方法に応じて、演算部２０２は他の方法で第２の特徴値を求めてもよい。例えば、演算部２０２は、受信部２０１が第１のメッセージを受信した回数を予め設定した数値から減算して得られる値を、第２の特徴値として求めてもよい。または、受信部２０１が受信した第１のメッセージに格納された値を所定の論理演算式によって論理演算する、あるいは受信部２０１が受信した第１のメッセージに格納された値を暗号化やハッシュ値を算出することにより、第２の特徴値を求めてもよい。
【００３０】
第１の判定部２０３は、受信部２０１が第２のメッセージを受信した単位時間当たりの回数または受信間隔に基づいて、受信した第２のメッセージが正常であるかどうかを判定する。第２のメッセージは、メッセージ送信ＥＣＵ１００が周期的に送信するメッセージであるため、受信部２０１は第２のメッセージを周期的に受信するはずである。そこで、単位時間当たりの受信回数やメッセージの受信間隔を利用して、受信部２０１が第２のメッセージを周期的に受信しているかどうかを判定することにより、複数の第２のメッセージに正常ではないメッセージが含まれているかどうか、あるいは、特定の第２のメッセージが正常なメッセージであるかどうか、を判定することができる。
【００３１】
例えば、受信部２０１が直前の第２のメッセージを受信してから最新の第２のメッセージを受信するまでの経過時間が、メッセージ送信ＥＣＵから周期的に送信される第２のメッセージの所定の送信間隔と等しい場合には、受信部２０１が受信した第２のメッセージは正常であると判定する。これに対し、受信部２０１が直前の第２のメッセージを受信してから最新の第２のメッセージを受信するまでの経過時間が所定の送信間隔と異なる場合には、受信部２０１が受信した第２のメッセージは不正に送信されたメッセージである可能性が高い。そこで、第１の判定部２０３は、受信部２０１が受信した第２のメッセージは正常ではないと判定する。
【００３２】
あるいは、第１の判定部２０３は、所定の時間内に第２のメッセージを受信した回数が、当該所定の時間と送信間隔に基づいて算出される受信予定回数と等しいかどうかによって、第２のメッセージが正常であるかどうかを判定してもよい。この場合、第１の判定部２０３は、所定の時間内に受信した複数の第２のメッセージのうちのいずれかが正常ではないと判定する。
【００３３】
第２の判定部２０４は、受信部２０１が受信した第２のメッセージに格納されている第１の特徴値と、演算部２０２で求めた第２の特徴値とを「比較」し、比較結果に基づいて第１のメッセージが正常であるかどうかを判定する。
ここで、本発明の「比較」とは、第１の特徴値と第２の特徴値の和、差、積、商をはじめ、第１の特徴値と第２の特徴値とを用いた演算を行うことにより、第１の特徴値と第２の特徴値との関係を評価する場合も含む。
【００３４】
例えば、第１の特徴値が、メッセージ送信ＥＣＵ１００の送信部１０４が第１のメッセージを送信した回数であり、第２の特徴値が、監視用ＥＣＵ２００の受信部２０１が第１のメッセージを受信した回数である場合、これらの回数は等しくなるはずである。そこで、第１の特徴値と第２の特徴値とを比較した結果、これらの値が等しい場合には、第２の判定部２０４は受信部２０１が受信した第１のメッセージは正常であると判定する。これに対し、不正な第１のメッセージが外部からの不正アクセスによって送信されている場合、第１の特徴値であるメッセージ送信ＥＣＵ１００の送信部１０４が第１のメッセージを送信した回数よりも、第２の特徴値である監視用ＥＵＣ２００の受信部２０１が第１のメッセージを受信した回数の方が多くなる。そこで、第２の判定部２０４は、第１の特徴値と第２の特徴値とが等しくない場合には、受信部２０１が受信した第１のメッセージは正常ではないと判定する。
【００３５】
（２）動作
図４は、監視用ＥＣＵ２００の動作を示す図である。
受信部２０１がメッセージを受信すると、受信したメッセージが第１のメッセージおよび第２のメッセージのいずれであるかを判定する（Ｓ３０１）。受信したメッセージが第１のメッセージである場合（Ｓ３０１：Ｙｅｓ）には、受信部２０１において第１のメッセージを受信した回数を、第２の特徴値として求める（Ｓ３０２）。Ｓ３０２において求めた第２の特徴値は、保存部（図示せず）に記録する（Ｓ３０３）。
【００３６】
一方、受信したメッセージが第１のメッセージではなく第２のメッセージの場合（Ｓ３０１：Ｎｏ）には、直前の第２のメッセージを受信してから、当該第２のメッセージを受信するまでの経過時間が、メッセージ送信ＥＣＵから周期的に送信される第２のメッセージの送信間隔と等しいかどうか、すなわち、受信間隔が適切かどうかを判定する（Ｓ３０４）。第２のメッセージの受信間隔が適切ではないと判定した場合（Ｓ３０４：Ｎｏ）には、第１の判定部２０３は、受信部２０１が受信した第２のメッセージは正常ではなく、異常であると判定する（Ｓ３０５）。
【００３７】
Ｓ３０４において、第２のメッセージの受信間隔が適切であると判定した場合（Ｓ３０４：Ｙｅｓ）には、第１の判定部２０３は受信部２０１が受信した第２のメッセージは正常であると判定する（Ｓ３０６）。そして、第２の判定部２０４は、正常であると判定された第２のメッセージに格納されている第１の特徴値を抽出して取得する（Ｓ３０７）。第２の判定部２０４は、Ｓ３０７にて取得した第１の特徴値と、Ｓ３０３にて記録された第２の特徴値とを比較する（Ｓ３０８）。ここで、メッセージ送信ＥＣＵが第１のメッセージを送信した回数である第１の特徴値と、監視側ＥＣＵ２００が第１のメッセージを受信した回数である第２の特徴値とが一致する場合には、受信部２０１が受信した第１のメッセージは正常であると判定する（Ｓ３０９）。これに対し、第１の特徴値と第２の特徴値とが一致しない場合には、第１のメッセージは異常であると判定する（Ｓ３１０）。
【００３８】
なお、Ｓ３０４において、第１の判定部２０３が、単位時間当たりの第２のメッセージの受信回数に基づいて第２のメッセージが正常であるかどうかを判定する場合、単位時間内に受信した複数の第２のメッセージのうち、いずれのメッセージが正常ではないかを特定できないことがある。この場合、正常ではない第２のメッセージに格納された第１の特徴値を用いることによって第１のメッセージの正／不正が誤って判定されるのを防ぐために、単位時間内に受信した複数の第２のメッセージ全てについて正常ではない可能性があるものと判定して、Ｓ３０７以降の処理を行わなくともよい。
【００３９】
図５（ａ）（ｂ）は、監視用ＥＣＵ２００が受信するメッセージを説明する図である。図５（ａ）は、受信部２０１が第１のメッセージＭ１１〜Ｍ１３を不定期で受信するとともに、第２のメッセージＭ２１〜Ｍ２４を１００ｍｓの受信間隔で周期的に受信することを示している。この例では、ｔ＝ＸからＸ＋１００ｍｓの間に第１のメッセージＭ１１を受信し、ｔ＝Ｘ＋２００からＸ＋３００ｍｓの間に第１のメッセージＭ１２、Ｍ１３を受信している。
【００４０】
図５（ｂ）は、第２のメッセージＭ２１〜Ｍ２４から取得される第１の特徴値をそれぞれ示している。例えば、第２の判定部２０４は、ｔ＝Ｘｍｓに受信した第１のメッセージＭ２１から、第１の特徴値（０）を抽出して取得する。また、ｔ＝Ｘ＋１００ｍｓに受信した第２のメッセージＭ２２から、第１の特徴値（１）を抽出して取得する。
【００４１】
例えば、ｔ＝Ｘ＋１００ｍｓにおいて第２のメッセージＭ２２を受信すると、第１の判定部２０３は、第２のメッセージＭ２１とＭ２２の受信間隔に基づいて、第２のメッセージＭ２２が正常であるかどうかを判定する。図５（ａ）では、第２のメッセージＭ２１を受信後、所定の受信間隔１００ｍｓで第２のメッセージＭ２２を受信しているため、第２のメッセージＭ２２は正常であると判定することができる。次いで、第２の判定部２０４は、第２のメッセージＭ２２に格納された第１の特徴値（１）を取得する。ここで、図５（ａ）に示す通り、ｔ＝Ｘ＋１００ｍｓの時点で受信部２０１が受信している第１のメッセージはＭ１１のみであるため、受信部２０１が第１のメッセージを受信した回数は１回である。そのため、演算部２０２は、第１のメッセージを受信した回数である第２の特徴値（１）を求める。第１の特徴値と第２の特徴値はいずれも（１）であるため、ｔ＝ＸからＸ＋１００ｍｓまでの間に受信した第１のメッセージは正常であると判定することができる。
【００４２】
同様に、例えば、ｔ＝Ｘ＋３００ｍｓにおいて第２のメッセージＭ２４を受信すると、第１の判定部２０３は第２のメッセージＭ２３とＭ２４の受信間隔に基づいて、第２のメッセージＭ２４が正常であるかどうかを判定する。図５（ａ）では、第２のメッセージＭ２３を受信後、所定の受信間隔１００ｍｓで第２のメッセージＭ２４を受信しているため、第２のメッセージＭ２４は正常であると判定することができる。次いで、第２の判定部２０４は、第２のメッセージＭ２４に格納された第１の特徴値（３）を取得する。ここで、図５（ａ）に示す通り、ｔ＝Ｘ＋３００ｍｓの時点で、受信部２０１は第１のメッセージＭ１１、Ｍ１２、Ｍ１３を受信しており、第１のメッセージを受信した回数は３回である。そこで、演算部２０２は、第１のメッセージを受信した回数である第２の特徴値（３）を求める。第１の特徴値と第２の特徴値はいずれも（３）であるため、ｔ＝Ｘ＋２００ｍｓ〜Ｘ＋３００ｍｓまでの間に受信した第１のメッセージは正常であると判定することができる。
【００４３】
図６は、図５（ａ）と同様、監視用ＥＣＵ２００が受信するメッセージを説明する図である。ただし、図５（ａ）とは異なり、ｔ＝Ｘ＋１００〜Ｘ＋２００ｍｓの間に、第１のメッセージになりすました不正メッセージＭ０を受信している。
【００４４】
図５の場合と同様、ｔ＝Ｘ＋１００ｍｓにおいて第２のメッセージＭ２２を受信すると、第２のメッセージＭ２２に格納された第１の特徴値（１）を取得する。次いで、演算部２０２は、受信部２０１が第１のメッセージを受信した回数に基づいて第２の特徴値を求める。ここで、図６の例では、受信部２０１は、ｔ＝Ｘ〜Ｘ＋１００ｍｓまでに、第１のメッセージＭ１１に加えて、第１のメッセージになりすました不正メッセージＭ０を受信している。そこで、演算部２０２は、受信部２０１が第１のメッセージを受信した回数として、第２の特徴値（２）を求める。第２のメッセージＭ２２に格納された第１の特徴値（１）と、演算部２０２が求めた第２の特徴値（２）は異なっているため、第２の判定部２０３は、ｔ＝Ｘ〜Ｘ＋１００ｍｓまでの間に受信した第１のメッセージＭ１１、Ｍ０のいずれかが不正メッセージであると判定する。
【００４５】
なお、本実施形態１では、第１の判定部２０３において第２のメッセージが正常であるかどうかを判定しているが、第２のメッセージが正常であるかどうかを判定しなくとも、不定期に送受信される第１のメッセージになりすました不正メッセージを判定することは可能である。しかしながら、図７に示すように、第１のメッセージと第２のメッセージの双方になりすました不正メッセージが送受信された場合、第１のメッセージになりすました不正メッセージを判定することができないことがある。そのため、第２のメッセージについても、正常であるかどうかを判定することが望ましい。
【００４６】
図７は監視用ＥＣＵ２００が受信するメッセージを説明する図であり、図６と同様、ｔ＝Ｘ〜Ｘ＋１００ｍｓの間に、第１のメッセージＭ１１および第１のメッセージになりすました不正メッセージＭ０１を受信している。さらに、図７の例では、第２のメッセージになりすました不正メッセージＭ０２を受信している。
【００４７】
第２のメッセージが正常であるかどうかを判定しない構成とした場合、第２のメッセージになりすました不正メッセージＭ０２を受信すると、演算部２０２は第２の特徴値を求める。図７の場合、不正メッセージＭ０２を受信した時点で、受信部２０１は、第１のメッセージＭ１１および不正メッセージＭ０１を受信しているため、演算部２０２は第２の特徴値（２）を求める。ここで、第２のメッセージになりすました不正メッセージＭ０２に第１の特徴値（２）が格納されている場合、第１の特徴値と第２の特徴値が等しいため、第２の判定部２０４は不正メッセージＭ０１が正常なメッセージであると判定してしまう可能性がある。
【００４８】
これに対し、本実施形態１では、第２のメッセージになりすました不正メッセージＭ０２を受信すると、第１の判定部２０３は、第２のメッセージＭ２１と第２のメッセージになりすました不正メッセージＭ０２との受信間隔に基づいて不正メッセージＭ０２が正常であるかどうかを判定することにより、不正メッセージＭ０２は正常ではないと判定することができる。そのため、第１のメッセージになりすました不正メッセージＭ０２に格納された第１の特徴値を利用して、第２のメッセージが正常であるかどうかの判定を行わない。
【００４９】
以上のとおり、周期的に送受信される第２のメッセージの正／不正を判定することにより、第１のメッセージと第２のメッセージの双方になりすました不正メッセージが送受信された場合でも、第１のメッセージになりすました不正メッセージを誤って正常なメッセージであると判定するのを防ぐことができる。
【００５０】
なお、上述した実施形態１では、不定期に送受信される１種類の第１のメッセージについて、当該メッセージが正常であるかどうかを監視する例を説明している。しかしながら、本実施形態のメッセージ監視システムでは、不定期に送受信される複数の種類のメッセージについて、正常であるかどうかを監視することが可能である。
【００５１】
例えば、メッセージ送信ＥＣＵ１００はさらに、監視用ＥＣＵ２００に第３のメッセージを送信する。この第３のメッセージは、第１のメッセージを生成するトリガとなるイベントとは異なるイベントが発生した場合に生成されるメッセージである。この場合、周期的に送受信される第２のメッセージは、複数のデータ領域（例えば、第１のデータ領域、第２のデータ領域）を有する。そして、第１のデータ領域には第１のメッセージの特徴を表す第１の特徴値を格納し、第２のデータ領域には、第３のメッセージの特徴を表す第３の特徴値を格納する。
【００５２】
監視用ＥＣＵ２００は、受信部２０１が受信した第３のメッセージの特徴を表す第４の特徴値を求めるとともに、周期的に受信した第２のメッセージの第２のデータ領域に格納された第３の特徴値と第４の特徴値とを比較する。そして、比較結果に基づいて、第３のメッセージが正常であるかどうかを判定する。第２のメッセージが複数のデータ領域を有し、複数の特徴値を格納している場合には、全てのデータ領域について、図４に示すＳ３０７〜Ｓ３１０を繰り返し行う。
【００５３】
以上のとおり、本実施形態によれば、不定期に送受信されるメッセージが正常であるかどうかを高い精度で判定することが可能となる。
【００５４】
（実施形態２）
実施形態１では、第１のメッセージが、所定のイベントが発生した場合に送受信されるメッセージである例を説明した。本実施形態２では、第１のメッセージが、所定のイベントが発生した場合に加えて、周期的に送受信されるメッセージである場合を、実施形態１との相違点を中心に説明する。本実施形態のメッセージ送信ＥＣＵ１００および監視用ＥＣＵ２００の構成は実施形態１と同じであり、図１を参照して説明する。
【００５５】
本実施形態では、メッセージ送信ＥＣＵ１００の第１のメッセージ生成部１０１は、周期的に、且つ、所定のイベントが発生した場合に第１のメッセージを生成し、監視用ＥＣＵ２００に送信する。
【００５６】
図８（ａ）（ｂ）は、監視用ＥＣＵ２００が受信するメッセージを説明する図である。
図８（ａ）は、監視用ＥＣＵ２００の受信部２０１が、第１のメッセージＭ１１、Ｍ１４を２００ｍｓの受信間隔で周期的に受信しており、さらに、所定のイベントをトリガとして送信された第１のメッセージＭ１２、Ｍ１３を受信していることを示している。また、受信部２０１は、第２のメッセージＭ２１〜Ｍ２４を１００ｍｓの受信間隔で周期的に受信している。
【００５７】
図８（ｂ）は、第２のメッセージＭ２１〜Ｍ２４から取得される第１の特徴値をそれぞれ示している。例えば、第２の判定部２０４は、ｔ＝Ｘｍｓに受信した第１のメッセージＭ２１から、第１の特徴値（０）を抽出して取得する。また、ｔ＝Ｘ＋１００ｍｓに受信した第１のメッセージＭ２２から、第１の特徴値（１）を抽出して取得する。
【００５８】
本実施形態の場合、監視側ＥＣＵ２００が受信する第２のメッセージには、所定のイベントが発生したことをトリガとしてメッセージ送信ＥＵＣから送信された第１のメッセージＭ１２、Ｍ１３だけでなく、周期的に送信された第１のメッセージＭ１１、Ｍ１３の特徴を表す特徴値が格納されている。
【００５９】
例えば、ｔ＝Ｘ＋２００ｍｓにおいて第２のメッセージＭ２３を受信すると、第２の判定部２０４は、第２のメッセージＭ２３に格納された第１の特徴値（３）を取得する。ここで、図８（ａ）に示すとおり、ｔ＝Ｘ＋２００ｍｓの時点で、受信部２０１は、第１のメッセージＭ１１、Ｍ１２、Ｍ１３を受信しており、第１のメッセージを受信した回数は３回である。そこで、演算部２０２は、第１のメッセージを受信した回数である第２の特徴値（３）を求める。第１の特徴値と第２の特徴値はいずれも（３）であるため、ｔ＝Ｘ＋１００〜Ｘ＋２００ｍｓまでの間に受信した第１のメッセージは正常であると判定することができる。
【００６０】
図９は、図８（ａ）と同様の第１のメッセージおよび第２のメッセージを受信している。ただし、図８（ａ）とは異なり、ｔ＝Ｘ＋１００〜Ｘ＋２００ｍｓの間に、第１のメッセージになりすました不正メッセージＭ０をさらに受信している。
【００６１】
図９の場合と同様、ｔ＝Ｘ＋２００ｍｓにおいて第２のメッセージＭ２３を受信すると、第２のメッセージＭ２３に格納された第１の特徴値（３）を取得する。次いで、演算部２０２は、受信部２０１が第１のメッセージを受信した回数に基づいて第２の特徴値を求める。ここで、図９の例では、受信部２０１は、ｔ＝Ｘ〜Ｘ＋２００ｍｓまでに、第１のメッセージＭ１１、Ｍ１２、Ｍ１３に加えて、第１のメッセージになりすました不正メッセージＭ０を受信している。そこで、演算部２０２は、受信部２０１が第１のメッセージを受信した回数として、第２の特徴値（４）を求める。第２のメッセージＭ２３に格納された第１の特徴値（３）と、演算部２０２が求めた第２の特徴値（４）は異なっているため、第２の判定部２０３は、ｔ＝Ｘ＋１００〜Ｘ＋２００ｍｓまでの間に受信した第１のメッセージＭ０、Ｍ１２、Ｍ１３のいずれかが不正メッセージであると判定する。
【００６２】
以上のとおり、本実施形態２によれば、不定期に送受信されるメッセージだけでなく、周期的に、且つ、所定のイベントが発生した場合に送受信されるメッセージについても、正常であるかどうかを判定することが可能となる。
【００６３】
なお、実施形態２では、第１のメッセージが周期的に、且つ、所定のイベントが発生した場合に送受信される場合を説明しているが、第１のメッセージが周期的にのみ送受信されるメッセージの場合にも、本発明を適用してメッセージの正／不正を判定することができる。このような場合、例えば、上述した方法によって第１のメッセージを判定することに加えて、第１のメッセージの受信間隔に基づいて第１のメッセージを判定することにより、第１のメッセージの正／不正をより確実に判定することが可能となる。
【００６４】
（実施形態３）
上記実施形態では、図１に示すように、監視用ＥＵＣ２００がゲートウェイ装置である例を説明した。本実施形態では、ゲートウェイ装置ではないＥＣＵが監視用ＥＣＵ２００としての機能を有する例を説明する。
【００６５】
図１０は、本実施形態によるメッセージ監視システム１１を示している。図１０に示すメッセージ監視システム１１は、複数のメッセージ送信ＥＣＵ１００および複数の監視用ＥＣＵ２００を有し、さらに、複数のＣＡＮバス２０に接続されたゲートウェイ装置３００を有している。メッセージ送信ＥＣＵ１００および監視用ＥＣＵ２００は、同一のＣＡＮバスを介して、ゲートウェイ装置３００に接続されている。なお、本実施形態のメッセージ送信ＥＣＵ１００および監視用ＥＣＵ２００の構成は図１に示すメッセージ送信ＥＣＵ１００および監視用ＥＣＵ２００と同じである。
【００６６】
本実施形態によれば、ＣＡＮバス毎に監視用ＥＣＵを設けて、メッセージの正／不正を判定することにより、ゲートウェイ装置といった特定のＥＣＵにおいて全てのメッセージの正／不正の判定を実行する場合よりも、監視用ＥＣＵにおける負荷を軽減することが可能となる。
【００６７】
（総括）
以上、本発明の各実施形態におけるメッセージ監視システム、およびメッセージ監視システムが有するメッセージ送信ＥＣＵおよび監視用ＥＣＵの特徴について説明した。
【００６８】
上記実施形態で使用した用語は例示であるので、同義の用語、あるいは同義の機能を含む用語に置き換えてもよい。
【００６９】
実施形態の説明に用いたブロック図は、装置等の構成を機能毎に分類および整理したものである。これらの機能ブロックは、ハードウェア又はソフトウェアの任意の組み合わせで実現される。また、機能を示したものであることから、かかるブロック図は方法の発明、および当該方法を実現するプログラムの発明の開示としても把握できるものである。
【００７０】
各実施形態に記載した処理、フロー、および方法として把握できる機能ブロックについては、一のステップで他のステップの結果を利用する関係にある等の制約がない限り、順序を入れ替えても良い。
【００７１】
各実施形態、および本発明で使用する「第１」「第２」の用語は、同種の２以上の構成や方法を区別するために使用しており、順序や優劣を限定するものではない。
【００７２】
本発明は、各実施形態で説明した構成および機能を有する専用のハードウェアで実現できるだけでなく、メモリやハードディスク等の記憶媒体に記憶した本発明を実現するためのプログラム、およびこれを実行可能な専用又は汎用ＣＰＵおよびメモリ等を有する汎用のハードウェアとの組み合わせとしても実現できる。
【００７３】
専用や汎用のハードウェアの記憶媒体（外部記憶装置（ハードディスク、ＵＳＢメモリ、ＣＤ／ＢＤ、非遷移的実体的記録媒体、等）、内部記憶装置（ＲＡＭ、ＲＯＭ等））に格納されるプログラムは、記憶媒体を介して、あるいは記憶媒体を介さずにサーバから通信回線を経由して、専用又は汎用のハードウェアに提供することもできる。これにより、プログラムのアップグレードを通じて常に最新の機能を提供することができる。
【産業上の利用可能性】
【００７４】
本発明のメッセージ監視システムは、主として自動車において利用される車両用のメッセージ監視システムとして説明したが、車両用に限らず、様々な用途に用いられる電子制御装置に適用可能である。
【符号の説明】
【００７５】
１０，１１  メッセージ監視システム、１００  メッセージ送信ＥＣＵ、１０１  第１のメッセージ生成部、１０２  演算部、１０３  第２のメッセージ生成部、１０４  送信部、２００  監視用ＥＣＵ、２０１  受信部、２０２  演算部、２０３、２０４  判定部、３００  ゲートウェイ装置
【図１】
2020167494.tif 000003
【図２】
2020167494.tif 000004
【図３】
2020167494.tif 000005
【図４】
2020167494.tif 000006
【図５】
2020167494.tif 000007
【図６】
2020167494.tif 000008
【図７】
2020167494.tif 000009
【図８】
2020167494.tif 000010
【図９】
2020167494.tif 000011
【図１０】
2020167494.tif 000012