(57)【特許請求の範囲】
【請求項１】
共通の通信線を介して接続され、該通信線を介して２値の情報の送受信を行う複数の通信装置を備え、前記通信装置は１ビットの情報の送信期間中に所定のタイミングで前記通信線の電圧を１回サンプリングすることで情報の受信を行う受信部をそれぞれ有し、前記複数の通信装置が異なるタイミングでサンプリングを行うことが許容された通信システムにおいて、
前記通信線に接続され、
前記複数の通信装置によるサンプリングのうち、最も早いサンプリングのタイミング及び最も遅いサンプリングのタイミングを含む所定期間に亘って、前記通信線の電圧を複数回サンプリングするサンプリング部と、
該サンプリング部による複数のサンプリング結果に基づいて通信に係る異常を検出する検出部と
を有する異常検出装置を備えること
を特徴とする通信システム。
【請求項２】
前記サンプリング部は、前記所定期間にサンプリングを周期的に複数回行い、
前記検出部は、前記サンプリング部がサンプリングしたサンプリング結果が、以前のサンプリング結果と異なる場合に、通信に係る異常を検出するようにしてあること
を特徴とする請求項１に記載の通信システム。
【請求項３】
前記異常検出装置は、前記検出部が異常を検出した場合に、前記複数の通信装置へ異常検出を通知する通知部を有すること
を特徴とする請求項１又は請求項２に記載の通信システム。
【請求項４】
前記通知部は、前記検出部が異常を検出した場合に、前記通信線に対する所定の情報送信を行い、
該情報送信により前記複数の通信装置による情報の受信が妨げられること
を特徴とする請求項３に記載の通信システム。
【請求項５】
共通の通信線を介して接続され、該通信線を介して２値の情報の送受信を行う複数の通信装置を備え、前記通信装置は１ビットの情報の送信期間中に所定のタイミングで前記通信線の電圧を１回サンプリングすることで情報の受信を行う受信部をそれぞれ有し、前記複数の通信装置が異なるタイミングでサンプリングを行うことが許容された通信システムにて通信に係る異常を検出する異常検出装置であって、
前記通信線に接続され、
前記複数の通信装置によるサンプリングのうち、最も早いサンプリングのタイミング及び最も遅いサンプリングのタイミングを含む所定期間に亘って、前記通信線の電圧を複数回サンプリングするサンプリング部と、
該サンプリング部による複数のサンプリング結果に基づいて通信に係る異常を検出する検出部と
を備えることを特徴とする異常検出装置。
【請求項６】
共通の通信線を介して接続され、該通信線を介して２値の情報の送受信を行う複数の通信装置を備え、前記通信装置は１ビットの情報の送信期間中に所定のタイミングで前記通信線の電圧を１回サンプリングすることで情報の受信を行う受信部をそれぞれ有し、前記複数の通信装置が異なるタイミングでサンプリングを行うことが許容された通信システムにて通信の異常を検出する異常検出方法であって、
前記複数の通信装置によるサンプリングのうち、最も早いサンプリングのタイミング及び最も遅いサンプリングのタイミングを含む所定期間に亘って、前記通信線の電圧を複数回サンプリングし、
複数回のサンプリング結果に基づいて通信に係る異常を検出すること
を特徴とする異常検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
複数の通信装置が共通の通信線に接続された構成において通信に係る異常を検出することができる通信システム、異常検出装置及び異常検出方法に関する。
【背景技術】
【０００２】
従来、車両に搭載された複数のＥＣＵ（Electronic Control Unit）間の通信には、ＣＡＮの通信プロトコルが広く採用されている。ＣＡＮの通信プロトコルを採用した通信システムは、複数のＥＣＵが共通のＣＡＮバスに接続された構成となり、送信側のＥＣＵがＣＡＮバスへ出力した信号を受信側のＥＣＵがサンプリングすることによって情報の送受信が行われる。また送信側のＥＣＵは、ＣＡＮバスへの信号出力を行うと共に、ＣＡＮバスの信号をサンプリングすることによって、自らが送信した情報に関する変化の有無を検出している。
【０００３】
非特許文献１においては、送信側のＥＣＵと受信側のＥＣＵとでＣＡＮバスの信号をサンプリングするタイミングが異なる場合に、受信側のＥＣＵがサンプリングを行う短い期間のみＣＡＮバス上の信号を意図的に変化させることによって、送信側のＥＣＵに悟られることなく、受信側のＥＣＵに対して改ざんした情報を受信させることが可能であることが指摘されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】松本勉，向達泰希，土屋遊，中山淑文，吉岡克成、「電気的データ改ざんに対するＣＡＮのインテグリティ強化策」、コンピュータセキュリティシンポジウム２０１４、２０１４年１０月２２日〜２４日
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば車両内に配されたＣＡＮバスに対して不正な機器が接続され、非特許文献１に記載の方法によって特定のＥＣＵに対する情報改ざんが行われた場合、車両に搭載された種々の電子機器にて誤動作などが発生する虞がある。よって、このような情報改ざんを検出又は防止する技術が求められる。
【０００６】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、複数の通信装置のサンプリングタイミングの差異を利用した情報改ざんなど、通信に係る異常を検出し得る通信システム、異常検出装置及び異常検出方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明に係る通信システムは、共通の通信線を介して接続され、該通信線を介して２値の情報の送受信を行う複数の通信装置を備え、前記通信装置は１ビットの情報の送信期間中に所定のタイミングで前記通信線の電圧を１回サンプリングすることで情報の受信を行う受信部をそれぞれ有し、前記複数の通信装置が異なるタイミングでサンプリングを行うことが許容された通信システムにおいて、前記通信線に接続され、前記複数の通信装置によるサンプリングのうち、最も早いサンプリングのタイミング及び最も遅いサンプリングのタイミングを含む所定期間に亘って、前記通信線の電圧を複数回サンプリングするサンプリング部と、該サンプリング部による複数のサンプリング結果に基づいて通信に係る異常を検出する検出部とを有する異常検出装置を備えることを特徴とする。
【０００８】
また、本発明に係る通信システムは、前記サンプリング部が、前記所定期間にサンプリングを周期的に複数回行い、前記検出部は、前記サンプリング部がサンプリングしたサンプリング結果が、以前のサンプリング結果と異なる場合に、通信に係る異常を検出するようにしてあることを特徴とする。
【０００９】
また、本発明に係る通信システムは、前記異常検出装置が、前記検出部が異常を検出した場合に、前記複数の通信装置へ異常検出を通知する通知部を有することを特徴とする。
【００１０】
また、本発明に係る通信システムは、前記通知部が、前記検出部が異常を検出した場合に、前記通信線に対する所定の情報送信を行い、該情報送信により前記複数の通信装置による情報の受信が妨げられることを特徴とする。
【００１１】
また、本発明に係る異常検出装置は、共通の通信線を介して接続され、該通信線を介して２値の情報の送受信を行う複数の通信装置を備え、前記通信装置は１ビットの情報の送信期間中に所定のタイミングで前記通信線の電圧を１回サンプリングすることで情報の受信を行う受信部をそれぞれ有し、前記複数の通信装置が異なるタイミングでサンプリングを行うことが許容された通信システムにて通信に係る異常を検出する異常検出装置であって、前記通信線に接続され、前記複数の通信装置によるサンプリングのうち、最も早いサンプリングのタイミング及び最も遅いサンプリングのタイミングを含む所定期間に亘って、前記通信線の電圧を複数回サンプリングするサンプリング部と、該サンプリング部による複数のサンプリング結果に基づいて通信に係る異常を検出する検出部とを備えることを特徴とする。
【００１２】
また、本発明に係る異常検出方法は、共通の通信線を介して接続され、該通信線を介して２値の情報の送受信を行う複数の通信装置を備え、前記通信装置は１ビットの情報の送信期間中に所定のタイミングで前記通信線の電圧を１回サンプリングすることで情報の受信を行う受信部をそれぞれ有し、前記複数の通信装置が異なるタイミングでサンプリングを行うことが許容された通信システムにて通信の異常を検出する異常検出方法であって、前記複数の通信装置によるサンプリングのうち、最も早いサンプリングのタイミング及び最も遅いサンプリングのタイミングを含む所定期間に亘って、前記通信線の電圧を複数回サンプリングし、複数回のサンプリング結果に基づいて通信に係る異常を検出することを特徴とする。
【００１３】
本発明に係る通信システムにおいては、複数の通信装置が共通の通信線を介して情報の送受信を行うシステム構成に対して、この通信線に接続した異常検出装置にて通信に関する異常検出を行う。各通信装置は、１ビットの情報の送信期間中に所定のタイミングで１回のサンプリングを行うことで情報を受信する。ただし複数の通信装置が異なるタイミングでサンプリングを行うことが許容されている。異常検出装置は、１ビットの情報の送信期間において、通信装置による最も早いサンプリングのタイミングと最も遅いサンプリングのタイミングとを含む所定期間に亘って、通信線の電圧を複数回サンプリングする。異常検出装置は、通信システムに含まれる複数の通信装置がサンプリングを行い得る期間に亘って、共通の通信線の電圧の変化などを監視することができ、複数回のサンプリングの結果に基づいて異常検出を行うことができる。
【００１４】
また本発明においては、異常検出装置が所定期間にサンプリングを周期的に複数回行い、今回のサンプリング結果が以前のサンプリング結果と異なる場合、即ち所定期間中に通信線の信号が変化した場合に、通信に異常が発生したと判断する。これにより、特定の通信装置のサンプリングタイミングに合わせて信号を変化させることによる情報改ざんを検出することができる。
【００１５】
また本発明においては、通信に関する異常を検出した場合に異常検出装置が複数の通信装置へ通知を行う。異常検出装置は、例えばＣＡＮプロトコルにおけるエラーフレームを通信線に対して出力するなど、所定の情報送信を行うことにより異常の発生を通知することができる。また本通信システムでは、異常検出装置による異常通知のための情報送信によって、通信システム中の各通信装置では情報の受信が妨げられる。これにより改ざんされた情報が通信装置によって受信されることを防止することができる。
【発明の効果】
【００１６】
本発明による場合は、通信装置毎のサンプリングタイミングの差異を利用した情報改ざんなどの通信に係る異常を、異常検出装置が検出することができる。
【図面の簡単な説明】
【００１７】
【図１】本実施の形態に係る通信システムの構成を示す模式図である。
【図２】ＥＣＵの構成を示すブロック図である。
【図３】監視装置の構成を示すブロック図である。
【図４】監視装置による監視期間を説明するための模式図である。
【図５】監視装置による監視処理を説明するための状態遷移図である。
【図６】監視装置が同期状態において行う処理の手順を示すフローチャートである。
【図７】監視装置が第１監視状態において行う処理の手順を示すフローチャートである。
【図８】監視装置が第２監視状態において行う処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明をその実施の形態を示す図面に基づき具体的に説明する。
＜システム構成＞
図１は、本実施の形態に係る通信システムの構成を示す模式図である。本実施の形態に係る通信システムは、車両１に搭載された複数のＥＣＵ３と、１つの監視装置５とを備えて構成されている。ＥＣＵ３及び監視装置５は、車両１に敷設された共通の通信線を介して接続され、相互にメッセージを送受信することができる。本実施の形態においては、この通信線をＣＡＮバスとし、ＥＣＵ３及び監視装置５は、ＣＡＮプロトコルに従った通信を行う。ＥＣＵ３は、例えば車両１のエンジンの制御を行うエンジンＥＣＵ、車体の電装品の制御を行うボディＥＣＵ、ＡＢＳ（Antilock Brake System）に関する制御を行うＡＢＳ−ＥＣＵ、又は、車両１のエアバッグの制御を行うエアバッグＥＣＵ等のように、種々の電子制御装置であってよい。監視装置５は、車内ネットワークに対する不正なメッセージ送信を監視する装置である。監視装置５は、監視専用の装置として設けられてもよく、例えばゲートウェイなどの装置に監視の機能を付加した構成であってもよく、また例えばいずれか１つのＥＣＵ３に監視の機能を付加した構成であってもよい。
【００１９】
図２は、ＥＣＵ３の構成を示すブロック図である。なお図２においては、車両１に設けられた複数のＥＣＵ３について、通信に関するブロックを抜き出して図示してあり、各ＥＣＵ３に特有の車両制御などに関するブロックは図示を省略してある。図２に図示するこれらのブロックは、複数のＥＣＵ３に共通して設けられるブロックである。本実施の形態に係るＥＣＵ３は、処理部３１、ＲＯＭ（Read Only Memory）３２、ＲＡＭ（Random Access Memory）３３及びＣＡＮ通信部３４等を備えて構成されている。処理部３１は、ＣＰＵ（Central Processing Unit）又はＭＰＵ（Micro-Processing Unit）等の演算処理装置を用いて構成されている。処理部３１は、ＲＯＭ３２に記憶されたプログラムを読み出して実行することにより、車両１に係る種々の情報処理又は制御処理等を行う。
【００２０】
ＲＯＭ３２は、フラッシュメモリ又はＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）等の不揮発性のメモリ素子を用いて構成されている。ＲＯＭ３２は、処理部３１が実行するプログラムと、これにより行われる処理に必要な種々のデータとが記憶されている。なおＲＯＭ３２に記憶されるプログラム及びデータは、ＥＣＵ３毎に異なる。ＲＡＭ３３は、ＳＲＡＭ（Static Random Access Memory）又はＤＲＡＭ（Dynamic Random Access Memory）等のデータ書き換え可能なメモリ素子を用いて構成されている。ＲＡＭ３３は、処理部３１の処理により生成された種々のデータを記憶する。
【００２１】
ＣＡＮ通信部３４は、ＣＡＮの通信プロトコルに従って、ＣＡＮバスを介した他のＥＣＵ３又は監視装置５との通信を行う。ＣＡＮ通信部３４は、処理部３１から与えられた送信用の情報を、ＣＡＮの通信プロトコルに従った信号に変換し、変換した信号をＣＡＮバスへ出力することで他のＥＣＵ３又は監視装置５への情報送信を行う送信部３５を有している。またＣＡＮ通信部３４は、ＣＡＮバスの電位をサンプリングすることによって、他のＥＣＵ３又は監視装置５が出力した信号を取得し、この信号をＣＡＮの通信プロトコルに従って２値の情報に変換することで情報の受信を行う受信部３６を有している。受信部３６は、受信した情報を処理部３１へ与える。
【００２２】
またＣＡＮ通信部３４は、自らのメッセージ送信と、他のＥＣＵ３又は監視装置５によるメッセージ送信とに衝突が発生した場合に、いずれのメッセージを先に送信するかを調停する処理、いわゆるアービトレーション処理を行う。各ＥＣＵ３が送信するメッセージには、メッセージの種別に応じて予めＩＤが定められている。このＩＤは、数値として扱われる情報であり、その値が小さいほどメッセージ送信の優先度が高い。このため通信システムにおいては、ＣＡＮバス上で複数のメッセージ送信が衝突した場合、最も優先度が高いメッセージ送信が行われ、このメッセージの送信完了後に他のメッセージの送信が行われる。なおＣＡＮ通信部３４が行うアービトレーション処理は、既存の技術であるため、詳細な処理手順の説明は省略する。
【００２３】
図３は、監視装置５の構成を示すブロック図である。監視装置５は、処理部５１、記憶部５２及びＣＡＮ通信部５３等を備えて構成されている。処理部５１は、ＣＰＵ又はＭＰＵ等の演算処理装置を用いて構成され、記憶部５２に記憶されたプログラムを読み出して実行することにより、車両１のＥＣＵ３の挙動及び通信等を監視する処理を行う。記憶部５２は、フラッシュメモリ又はＥＥＰＲＯＭ等のデータ書き換え可能な不揮発性のメモリ素子を用いて構成されている。本実施の形態において記憶部５２は、通信システムに含まれる各ＥＣＵ３がメッセージ受信の際にＣＡＮバス上の信号をサンプリングするタイミングに関する情報をタイミング情報５２ａとして記憶している。
【００２４】
ＣＡＮ通信部５３は、ＣＡＮの通信プロトコルに従って、ＣＡＮバスを介したＥＣＵ３との通信を行う。ＣＡＮ通信部５３は、処理部５１から与えられた送信用の情報を、ＣＡＮの通信プロトコルに従った信号に変換し、変換した信号をＣＡＮバスへ出力することでＥＣＵ３への情報送信を行う送信部５４を有している。またＣＡＮ通信部５３は、ＣＡＮバスの電位をサンプリングすることによって、ＥＣＵ３が出力した信号を取得し、この信号をＣＡＮの通信プロトコルに従って２値の情報に変換することで情報の受信を行う受信部５５を有している。受信部５５は、受信した情報を処理部５１へ与える
【００２５】
また本実施の形態に係る監視装置５のＣＡＮ通信部５３は、通信システムにおける通信異常の検出に係る機能ブロックとして、サンプリング部５６及び異常検出部５７を更に有している。サンプリング部５６は、通信システムにおいてＣＡＮバスを介して送受信されるメッセージの１ビットの送信期間中に、ＣＡＮバス上の信号のサンプリングを複数回行う。なお従来のＣＡＮプロトコルにて通信を行うＥＣＵ３では、メッセージの１ビット期間中に１回のサンプリングが行われ、このサンプリング結果によりメッセージ受信が行われる。本実施の形態に係る通信システムでは、監視装置５が１ビット期間中に複数回のサンプリングを行うことにより、１ビット期間中での信号の変化を取得して異常検出を行うことができる。
【００２６】
ＣＡＮ通信部５３の異常検出部５７は、サンプリング部５６が行った複数回のサンプリング結果に基づいて、通信システムにおける通信の異常を検出する処理を行う。本実施の形態において異常検出部５７は、サンプリング部５６がサンプリングを行う毎にその結果を取得し、前回のサンプリング結果と今回のサンプリング結果とが一致するか否かを判定する。両サンプリング結果が一致する場合、異常検出部５７は、異常が発生していないと判断し、サンプリング結果の取得及び比較を継続する。これに対して両サンプリング結果が一致しない場合、異常検出部５７は、通信に異常が発生したと判断し、処理部５１へ通知する。
【００２７】
本実施の形態において監視装置５の処理部５１には、異常通知処理部６１が設けられている。異常通知処理部６１は、ハードウェアの機能ブロックとして構成されるものであってもよく、ソフトウェアの機能ブロックとして構成されるものであってもよい。異常通知処理部６１は、ＣＡＮ通信部５３の異常検出部５７から通信に異常を検出した旨の通知が与えられた場合に、通信システムに含まれる各ＥＣＵ３へ異常発生を通知する処理を行う。本実施の形態において異常通知処理部６１は、ＣＡＮ通信部５３にエラーフレームをＣＡＮバスへ出力させることにより、ＥＣＵ３への異常発生の通知を行う。これにより通信に異常が発生した際に送信されていたメッセージ（データフレームなど）は、監視装置５のエラーフレームにより送信が妨げられる。エラーフレームを受信した各ＥＣＵ３は、これ以前に受信処理を行っていたメッセージを破棄する。これにより異常が含まれる可能性があるメッセージがＥＣＵ３にて受信されることを防止できる。
【００２８】
＜監視処理＞
本実施の形態に係る通信システムでは、ＥＣＵ３がＣＡＮバスに対して出力するメッセージに対し、監視装置５が異常の有無を監視している。なお監視装置５による監視は、例えば常時的に行われてもよく、また例えば特定のＩＤが付されたメッセージ送信に対して行われてもよい。本実施の形態においては、監視装置５は常時的に監視を行うものとする。
【００２９】
本通信システムにおいて送受信されるメッセージは、ドミナント（０）／レセシブ（１）の２値のデジタルデータが複数ビットに亘って連なったものであり、いわゆるＣＡＮプロトコルのデータフレームなどである。通信システムにおいて、メッセージに含まれる１ビットのデータを送信する期間は予め定められている。監視装置５は、１ビットの送信期間中において、この送信期間より短い所定の監視期間に亘って、この１ビットのデータに変化が生じたか否かを調べることによって通信異常を監視している。
【００３０】
図４は、監視装置５による監視期間を説明するための模式図である。ＣＡＮプロトコルにおけるメッセージの１ビットは、４つの期間（セグメント）で構成されている。即ち、ＣＡＮプロトコルの１ビットは、ＳＳ（シンクロナイゼーションセグメント）、ＰＴＳ（プロパゲーションタイムセグメント）、ＰＢＳ１（フェーズバッファセグメント１）及びＰＢＳ２（フェーズバッファセグメント２）の４つのセグメントで構成されている。各セグメントの長さ（時間）は、基準時間Ｔｑ（Time Quantum）の整数倍として決定される。基準時間Ｔｑは、各ＥＣＵ３のＣＡＮ通信部３４が生成するサンプリングのためのクロック信号の周期である。なおＳＳの長さは１Ｔｑと定められている。ＰＴＳ、ＰＢＳ１及びＰＢＳ２の長さは、ＥＣＵ３毎に異なる値を設定することができる。
【００３１】
ＳＳは、各ＥＣＵ３が同期を行うためのセグメントであり、信号のエッジがこのセグメントの中にあることが期待される。ＰＴＳは、ＣＡＮバス上の信号遅延及び雑音等の影響を吸収するためのセグメントである。ＰＴＳは、１Ｔｑ〜８Ｔｑの範囲で設定することができる。ＰＢＳ１は、信号のエッジがＳＳの中に入らなかった場合の誤差を保証するためのセグメントである。ＰＢＳ１は、１Ｔｑ〜８Ｔｑの範囲で設定することができ、ＳＪＷ（シンクロナイゼーションジャンプ幅）の時間だけ延長又は短縮され得る。ＰＢＳ２は、信号のエッジが早く検出された場合にＳＪＷの時間だけ短縮されるセグメントである。ＰＢＳ２は、２Ｔｑ〜８Ｔｑの範囲で設定することができる。なお各ＥＣＵ３のＣＡＮ通信部３４がサンプリングを行うタイミングは、ＰＢＳ１からＰＢＳ２へ移行するタイミングである。
【００３２】
例えば図４においては、本実施の形態に係る通信システムに５つのＥＣＵ３（以下、ＥＣＵ３ａ〜３ｅとして区別して記載する）が含まれているものとし、各ＥＣＵ３ａ〜３ｅのセグメント構成を示してある。ＥＣＵ３ａは、ＳＳが１Ｔｑであり、ＰＴＳが３Ｔｑであり、ＰＢＳ１が４Ｔｑであり、ＰＢＳ２が８Ｔｑである。ＥＣＵ３ｂは、ＳＳが１Ｔｑであり、ＰＴＳが６Ｔｑであり、ＰＢＳ１が７Ｔｑであり、ＰＢＳ２が２Ｔｑである。ＥＣＵ３ｃは、ＳＳが１Ｔｑであり、ＰＴＳが４Ｔｑであり、ＰＢＳ１が５Ｔｑであり、ＰＢＳ２が６Ｔｑである。ＥＣＵ３ｄは、ＳＳが１Ｔｑであり、ＰＴＳが５Ｔｑであり、ＰＢＳ１が６Ｔｑであり、ＰＢＳ２が４Ｔｑである。ＥＣＵ３ｅは、ＳＳが１Ｔｑであり、ＰＴＳが４Ｔｑであり、ＰＢＳ１が６Ｔｑであり、ＰＢＳ２が５Ｔｑである。なおこれらセグメントの長さは一例であって、これに限るものではない。
【００３３】
本実施の形態に係る監視装置５は、監視する通信システムに含まれる各ＥＣＵ３ａ〜３ｅのセグメント構成に関する情報を、タイミング情報５２ａとして記憶部５２に記憶している。監視装置５のＣＡＮ通信部５３は、記憶部５２に記憶されたタイミング情報５２ａに基づいて、通信異常の監視を行う監視期間を決定する。各ＥＣＵ３ａ〜３ｅのＣＡＮ通信部３４によるサンプリングタイミングは、ＰＢＳ１からＰＢＳ２へ移行するタイミグである。よって本例では、ＥＣＵ３ａによるサンプリングが最も早く行われ、ＥＣＵ３ｂによるサンプリングが最も遅く行われる。監視装置５のＣＡＮ通信部５３は、最早のサンプリングタイミングと、最遅のサンプリングタイミングとを含むように監視期間を決定する。なお本実施の形態においては、最早のサンプリングタイミングが設定されたＥＣＵ３ａのＰＢＳ１及びＰＢＳ２を合わせた期間を、監視装置５のＣＡＮ通信部５３による監視期間としている。なおこの監視期間は、何らかの理由によりＰＢＳ１又はＰＢＳ２の期間が延長又は短縮された場合、これに伴って延長又は短縮される。
【００３４】
ＥＣＵ３によるメッセージ送信が行われた場合、監視装置５のＣＡＮ通信部５３は、メッセージの各ビットについて監視期間における監視を行う。ＣＡＮ通信部５３のサンプリング部５６は、監視期間において１Ｔｑ毎に１回の頻度で、ＣＡＮバス上の信号をサンプリングする。図４に示す例では、監視期間はＰＢＳ１の４Ｔｑ＋ＰＢＳ２の８Ｔｑであるため、サンプリング部５６は、監視期間中に合計で１２回のサンプリングを行うこととなる。サンプリング部５６によるサンプリング結果は、異常検出部５７へ与えられる。
【００３５】
異常検出部５７は、監視期間中におけるサンプリング部５６による２回目のサンプリング結果を取得した時点から検出処理を開始する。異常検出部５７は、前回のサンプリング結果と今回のサンプリング結果とが一致するか否かを判定する。両サンプリング結果が一致しない場合、異常検出部５７は、通信に異常が発生したと判断し、処理部５１へ異常を検出した旨を通知する。両サンプリング結果が一致する場合、異常検出部５７は、前回のサンプリング結果を破棄し、今回のサンプリング結果を記憶して、監視期間が終了するまで異常検出処理を継続して行う。
【００３６】
本実施の形態においては、サンプリング部５６による１２回のサンプリング結果が全て一致すること、即ち１２回のサンプリング結果が全てドミナント（０）であるか、又は、全てレセシブ（１）であることが必要である。１２回のサンプリング結果中に１つでも異なる値のものが含まれる場合、監視装置５は通信に異常が発生したものと判断する。
【００３７】
ＣＡＮ通信部５３の異常検出部５７から異常検出を通知された処理部５１は、異常通知処理部６１が通信システム中の全てのＥＣＵ３に対して異常発生を通知する処理を行う。本実施の形態において異常通知処理部６１は、ＣＡＮプロトコルにおけるエラーフレームをＣＡＮ通信部５３に送信させることによって、全てのＥＣＵ３に対して異常発生を通知する。エラーフレームの送信は、ＥＣＵ３によるメッセージ（データフレーム）の送信中であっても、これを上書きする態様で行われる。監視装置５が送信したエラーフレームは、ＣＡＮバスを介して接続された全てのＥＣＵ３にて受信される。これにより異常が検出されたメッセージがＥＣＵ３にて受信されることを妨げることができる。
【００３８】
＜状態遷移及びフローチャート＞
図５は、監視装置５による監視処理を説明するための状態遷移図である。本実施の形態に係る監視装置５のＣＡＮ通信部５３は、同期状態Ｓｔ０、第１監視状態Ｓｔ１及び第２監視状態Ｓｔ２の３つの状態を遷移しながら監視処理を行っている。なお同期状態Ｓｔ０がメッセージのＳＳ及びＰＴＳの期間に相当し、第１監視状態Ｓｔ１がＰＢＳ１の期間に相当し、第２監視状態Ｓｔ２がＰＢＳ２の期間に相当する。ＣＡＮ通信部５３は、監視処理においてＴｑ数を計数するためのカウンタを用いるが、これはＣＡＮ通信部５３内に設けられたレジスタなどの記憶領域を利用して実現することができる。またＣＡＮ通信部５３は、周期Ｔｑのサンプリングクロックに同期して監視処理を行っており、１Ｔｑ毎に条件判定及び状態遷移等が行われる。
【００３９】
ＣＡＮバスに対するメッセージ送信が開始された場合、ＣＡＮ通信部５３は、カウンタの値を０に初期化し、同期状態Ｓｔ０での処理を開始する。なおＣＡＮ通信部５３による監視処理を開始させるメッセージ送信には、車両１に搭載された正規のＥＣＵ３によるメッセージ送信の他に、例えばＣＡＮバスに対して不正な手段で接続された不正な装置によるメッセージ送信なども含まれ得る。
【００４０】
同期状態Ｓｔ０においてＣＡＮ通信部５３は、遷移条件１が成立するか否かを判定する。遷移条件１は、第１監視状態Ｓｔ１へ状態遷移を行う条件であり、本例ではカウンタの値がＳＳのＴｑ数及びＰＴＳのＴｑ数の合計値に達することを条件とする。遷移条件１が成立しない場合、ＣＡＮ通信部５３は、カウンタの値をインクリメントして（カウンタの値に１を加算して）、同期状態Ｓｔ０を維持する。遷移条件１が成立した場合、ＣＡＮ通信部５３は、カウンタの値を０に初期化し、第１監視状態Ｓｔ１へ状態を遷移する。
【００４１】
第１監視状態Ｓｔ１においてＣＡＮ通信部５３は、遷移条件２が成立するか否かを判定する。遷移条件２は、第２監視状態Ｓｔ２へ状態遷移を行う条件であり、本例ではカウンタの値がＰＢＳ１のＴｑ数に達することを条件とする。なお本実施の形態において監視装置５の各セグメントの長さは、通信システムにおいて最早のタイミングでサンプリングを行うＥＣＵ３ａと同じ値を採用するものとする。即ち、図４によれば監視装置５のＳＳは１Ｔｑであり、ＰＴＳは３Ｔｑであり、ＰＢＳ１は４Ｔｑであり、ＰＢＳ２は８Ｔｑである。よって遷移条件２は、カウンタの値が４に達することである。ただしこのセグメント長は一例であって、別の値を採用してもよい。
【００４２】
遷移条件２が成立しない場合、ＣＡＮ通信部５３は、第１監視状態Ｓｔ１における１回目の処理であるか否かを判定する。ＣＡＮ通信部５３は、カウンタの値が０であるか否かに応じて、１回目の処理であるか否かを判定することができる。１回目の処理である場合、ＣＡＮ通信部５３は、サンプリング部５６によるＣＡＮバスの信号のサンプリングを行い、サンプリング結果を取得して内部のレジスタなどに記憶すると共に、カウンタをインクリメントして、第１監視状態Ｓｔ１を維持する。
【００４３】
２回目以降の処理である場合、ＣＡＮ通信部５３は、サンプリング部５６のサンプリング結果を取得して、前回のサンプリング結果と今回のサンプリング結果とが一致するか否かを判定する。両サンプリング結果が一致する場合、ＣＡＮ通信部５３は、前回のサンプリング結果を破棄して今回のサンプリング結果を記憶すると共に、カウンタをインクリメントして、第１監視状態Ｓｔ１を維持する。両サンプリング結果が一致しない場合、ＣＡＮ通信部５３は、処理部５１へ異常を検知した旨の通知を行い、監視処理を終了する。なおＣＡＮ通信部５３は、監視処理を終了する場合、図５に示した状態遷移から脱してもよく、第１監視状態Ｓｔ１を維持してもよい。
【００４４】
遷移条件２が成立する場合、ＣＡＮ通信部５３は、カウンタの値を０に初期化し、第２監視状態Ｓｔ２へ状態を遷移する。第２監視状態Ｓｔ２においてＣＡＮ通信部５３は、遷移条件３が成立するか否かを判定する。遷移条件３は、同期状態Ｓｔ０へ状態遷移を行う条件であり、本例ではカウンタの値がＰＢＳ２のＴｑ数に達することを条件とする。なお本実施の形態において遷移条件２は、カウンタ値が８に達することである。
【００４５】
遷移条件３が成立しない場合、ＣＡＮ通信部５３は、サンプリング部５６のサンプリング結果を取得して、前回のサンプリング結果と今回のサンプリング結果とが一致するか否かを判定する。両サンプリング結果が一致する場合、ＣＡＮ通信部５３は、前回のサンプリング結果を破棄して今回のサンプリング結果を記憶すると共に、カウンタをインクリメントして、第２監視状態Ｓｔ２を維持する。両サンプリング結果が一致しない場合、ＣＡＮ通信部５３は、処理部５１へ異常を検知した旨の通知を行い、監視処理を終了する。なおＣＡＮ通信部５３は、監視処理を終了する場合、図５に示した状態遷移から脱してもよく、第２監視状態Ｓｔ２を維持してもよい。遷移条件３が成立する場合、ＣＡＮ通信部５３は、カウンタの値を０に初期化し、同期状態Ｓｔ０へ状態を遷移する。
【００４６】
このようにＣＡＮ通信部５３が３つの状態を遷移して処理を行うことによって、メッセージの１ビット中におけるＰＢＳ１及びＰＢＳ２を監視期間としてＣＡＮバス上の信号の変化を監視し、通信に関する異常を検出することができる。
【００４７】
図６は、監視装置５が同期状態Ｓｔ０において行う処理の手順を示すフローチャートである。なお監視装置５のＣＡＮ通信部５３は、本フローチャートに示す処理を、例えばサンプリングクロックなどと同期して、１Ｔｑに１回の頻度で実行する。同期状態Ｓｔ０においてＣＡＮ通信部５３は、遷移条件１が成立したか否かを判定する（ステップＳ１）。遷移条件１が成立していない場合（Ｓ１：ＮＯ）、ＣＡＮ通信部５３は、カウンタをインクリメントして（ステップＳ２）、処理を終了する。遷移条件１が成立した場合（Ｓ１：ＹＥＳ）、ＣＡＮ通信部５３は、カウンタの値を０に初期化し（ステップＳ３）、第１監視状態Ｓｔ１へ状態を遷移し（ステップＳ４）、処理を終了する。
【００４８】
図７は、監視装置５が第１監視状態Ｓｔ１において行う処理の手順を示すフローチャートである。第１監視状態Ｓｔ１においてＣＡＮ通信部５３は、まずサンプリング部５６によるＣＡＮバスの信号のサンプリングを行い、サンプリング結果を取得する（ステップＳ１１）。次いでＣＡＮ通信部５３は、遷移条件２が成立したか否かを判定する（ステップＳ１２）。
【００４９】
遷移条件２が成立しない場合（Ｓ１２：ＮＯ）、ＣＡＮ通信部５３は、カウンタの値に基づいて、第１監視状態Ｓｔ１における１回目の処理であるか否かを判定する（ステップＳ１３）。１回目の処理である場合（Ｓ１３：ＹＥＳ）、ＣＡＮ通信部５３は、ステップＳ１１にて取得したサンプリング結果を内部のレジスタなどに記憶し（ステップＳ１４）、カウンタをインクリメントして（ステップＳ１５）、処理を終了する。
【００５０】
１回目の処理でない場合、即ち２回目以降の処理である場合（Ｓ１３：ＮＯ）、ＣＡＮ通信部５３は、前回のサンプリング結果と今回のサンプリング結果とを比較し、両サンプリング結果が一致するか否かを判定する（ステップＳ１６）。両サンプリング結果が一致する場合（Ｓ１６：ＹＥＳ）、ＣＡＮ通信部５３は、ステップＳ１１にて取得したサンプリング結果を内部のレジスタなどに記憶し（ステップＳ１４）、カウンタをインクリメントして（ステップＳ１５）、処理を終了する。
【００５１】
両サンプリング結果が一致しない場合（Ｓ１６：ＮＯ）、ＣＡＮ通信部５３は、処理部５１へ異常を検出した旨を通知する（ステップＳ１７）。ＣＡＮ通信部５３は、監視処理を終了し（ステップＳ１８）、第１監視状態Ｓｔ１における処理を終了する。
【００５２】
遷移条件２が成立した場合（Ｓ１２：ＹＥＳ）、ＣＡＮ通信部５３は、ステップＳ１１にて取得したサンプリング結果を内部のレジスタなどに記憶し（ステップＳ１９）、カウンタの値を０に初期化する（ステップＳ２０）。ＣＡＮ通信部５３は、第２監視状態Ｓｔ２へ状態を遷移し（ステップＳ２１）、処理を終了する。
【００５３】
図８は、監視装置５が第２監視状態Ｓｔ２において行う処理の手順を示すフローチャートである。第２監視状態Ｓｔ２においてＣＡＮ通信部５３は、まずサンプリング部５６によるＣＡＮバスの信号のサンプリングを行い、サンプリング結果を取得する（ステップＳ３１）。次いでＣＡＮ通信部５３は、遷移条件３が成立したか否かを判定する（ステップＳ３２）。
【００５４】
遷移条件３が成立しない場合（Ｓ３２：ＮＯ）、前回のサンプリング結果と今回のサンプリング結果とを比較し、両サンプリング結果が一致するか否かを判定する（ステップＳ３３）。両サンプリング結果が一致する場合（Ｓ３３：ＹＥＳ）、ＣＡＮ通信部５３は、ステップＳ３１にて取得したサンプリング結果を内部のレジスタなどに記憶し（ステップＳ３４）、カウンタをインクリメントして（ステップＳ３５）、処理を終了する。
【００５５】
両サンプリング結果が一致しない場合（Ｓ３３：ＮＯ）、ＣＡＮ通信部５３は、処理部５１へ異常を検出した旨を通知する（ステップＳ３６）。ＣＡＮ通信部５３は、監視処理を終了し（ステップＳ３７）、第２監視状態Ｓｔ２における処理を終了する。
【００５６】
遷移条件３が成立した場合（Ｓ３２：ＹＥＳ）、ＣＡＮ通信部５３は、カウンタの値を０に初期化し（ステップＳ３８）、同期状態Ｓｔ０へ状態を遷移し（ステップＳ３９）、処理を終了する。
【００５７】
＜まとめ＞
本実施の形態に係る通信システムは、複数のＥＣＵ３が共通の通信線を介して情報の送受信を行うシステム構成に対して、この通信線に接続した監視装置５にて通信に関する異常検出を行う。各ＥＣＵ３は、１ビットの情報の送信期間中に所定のタイミングで１回のサンプリングを行うことで情報を受信する。ただし複数のＥＣＵ３が異なるタイミングでサンプリングを行うことが許容されている。監視装置５は、１ビットの情報の送信期間において、ＥＣＵ３による最も早いサンプリングのタイミングと最も遅いサンプリングのタイミングとを含む所定の監視期間に亘って、通信線の電圧を複数回サンプリングする。監視装置５は、通信システムに含まれる複数のＥＣＵ３がサンプリングを行い得る期間に亘って、共通の通信線の電圧の変化などを監視することができ、複数回のサンプリングの結果に基づいて異常検出を行うことができる。
【００５８】
監視装置５は、所定の監視期間にサンプリングを周期的に複数回行い、前回のサンプリング結果と今回のサンプリング結果とが異なる場合、即ち所定期間中に通信線の信号が変化した場合に、通信に異常が発生したと判断する。これにより、特定のＥＣＵ３のサンプリングタイミングに合わせて信号を変化させることによる情報改ざんを検出することができる。
【００５９】
また監視装置５は、通信に関する異常を検出した場合に複数のＥＣＵ３へ通知を行う。監視装置５は、例えばＣＡＮプロトコルにおけるエラーフレームを通信線に対して出力するなど、所定の情報送信を行うことにより異常の発生を通知することができる。また本通信システムでは、監視装置５による異常通知のための情報送信によって、通信システム中の各ＥＣＵ３では情報の受信が妨げられる。これにより改ざんされた情報がＥＣＵ３によって受信されることを防止することができる。
【００６０】
なお本実施の形態においては、各ＥＣＵ３のセグメントの長さ及びサンプリングタイミング等の情報を監視装置５が記憶部５２にタイミング情報５２ａとして記憶しておく構成としたが、これに限るものではない。例えば監視装置５は、ＥＣＵ３毎のタイミング等の情報を記憶せず、単に監視期間の設定を記憶しておく構成であってもよい。また本実施の形態においては、監視期間をＰＢＳ１及びＰＢＳ２を合わせた期間としたが、これに限るものではない。監視期間は、例えば図４において最早のサンプリングタイミングを開始時点とし、最遅のサンプリングタイミングを終了時点として設定されてもよく、これ以外の期間であってもよい。また監視装置５は、監視期間においてＴｑ単位でのサンプリング（即ち、１Ｔｑに１回の頻度でのサンプリング）を行う構成としたが、これに限るものではない。監視装置５は、例えば処理部３１又はＣＰＵ等が生成するクロック単位でサンプリングを行う構成としてもよく、その他の周期でサンプリングを行う構成としてもよい。
【００６１】
また監視装置５は、監視期間において前回のサンプリング結果と今回のサンプリング結果とを比較して異常検出を行う構成としたが、これに限るものではない。監視装置５は、例えば一の監視期間において初回のサンプリング結果を保持しておき、初回のサンプリング結果と今回のサンプリング結果とを比較し、今回のサンプリング結果が初回のサンプリング結果と異なる場合に異常が発生したと判断してもよい。監視装置５は、今回のサンプリング結果と以前のサンプリング結果とを比較し、今回のサンプリング結果が以前のサンプリング結果と異なる場合に異常が発生したと判断することができる。
【００６２】
また本実施の形態に係る通信システムは、ＥＣＵ３とは異なる監視装置５が異常検出を行う構成としたが、これに限るものではない。通信システムに含まれる複数のＥＣＵ３のうち、いずれか１つ又は複数のＥＣＵ３に対して異常検出を行う機能を備えさせてもよい。また監視装置５は、通信に関する異常を検出した場合に、エラーフレームを送信してＥＣＵ３へ異常を通知する構成としたが、これに限るものではなく、エラーフレームの送信以外の方法で異常通知を行う構成としてもよい。また本実施の形態においては、車両１に搭載された通信システムを例に説明を行ったが、通信システムは車両１に搭載されるものに限らず、例えば飛行機又は船舶等の移動体に搭載されるものであってよく、また例えば移動体ではなく工場、オフィス又は学校等に設置されるものであってもよい。
【符号の説明】
【００６３】
１  車両
３  ＥＣＵ（通信装置）
５  監視装置（異常検出装置）
３１  処理部
３２  ＲＯＭ
３３  ＲＡＭ
３４  ＣＡＮ通信部
３５  送信部
３６  受信部
５１  処理部
５２  記憶部
５２ａ  タイミング情報
５３  ＣＡＮ通信部
５４  送信部
５５  受信部
５６  サンプリング部
５７  異常検出部（検出部）
６１  異常通知処理部（通知部）
【図１】
0006370717.tif 000002
【図２】
0006370717.tif 000003
【図３】
0006370717.tif 000004
【図４】
0006370717.tif 000005
【図５】
0006370717.tif 000006
【図６】
0006370717.tif 000007
【図７】
0006370717.tif 000008
【図８】
0006370717.tif 000009