(57)【要約】【課題】ＣＡＮコントローラに改変を加えることなく任意のタイミングでエラーフレームを送信可能とする。【解決手段】ＣＡＮバスなどのバスネットワークに接続される通信装置であって、マイクロプロセッサと、前記バスネットワークに接続され、前記マイクロプロセッサと前記バスネットワークの間の通信の制御を行う通信制御装置（ＣＡＮコントローラなど）と、前記バスネットワークおよび前記マイクロプロセッサに接続され、前記マイクロプロセッサからの出力に基づいて、前記バスネットワークに対して所定の電圧を印加する電圧印加手段と、を備える。上記の電圧印加部を介して、所定の期間ドミナント状態の電圧をバスネットワークに印加することで、擬似的なエラーフレームを送信可能となる。【選択図】図１
2015192216.tif 000002
【特許請求の範囲】
【請求項１】
バスネットワークに接続される通信装置であって、
マイクロプロセッサと、
前記バスネットワークに接続され、前記マイクロプロセッサと前記バスネットワークの間の通信の制御を行う通信制御装置と、
前記バスネットワークおよび前記マイクロプロセッサに接続され、前記マイクロプロセッサからの出力に基づいて、前記バスネットワークに対して所定の電圧を印加する電圧印加手段と、
を備える通信装置。
【請求項２】
前記バスネットワークは、ＣＡＮバスネットワークであり、
前記通信制御装置は、ＣＡＮコントローラおよびＣＡＮトランシーバである、
請求項１に記載の通信装置。
【請求項３】
前記マイクロプロセッサは、前記電圧印加手段への出力を制御して、前記電圧印加手段を用いて前記ＣＡＮバスにフレームを送信するフレーム送信制御機能を有する、
請求項２に記載の通信装置。
【請求項４】
前記フレーム送信制御機能は、前記ＣＡＮバスが所定期間の間ドミナント状態となるように前記電圧印加手段に対する出力を制御することによって、前記ＣＡＮバスにエラーフレームを送出する、
請求項３に記載の通信装置。
【請求項５】
前記マイクロプロセッサは、前記ＣＡＮコントローラを介して前記ＣＡＮバスから受信したフレームが異常であるか否か判定する判定機能を有し、
前記判定機能によって、前記ＣＡＮバスから受信したフレームが異常であると判定された場合に、前記フレーム送信制御機能は、前記電圧印加手段を用いて前記ＣＡＮバスにエラーフレームを送出する、
請求項４に記載の通信装置。
【請求項６】
前記判定機能は、自ノードが送信するＣＡＮ−ＩＤを有するフレームを、前記ＣＡＮバスから受信した場合に、当該フレームは異常であると判定する、
請求項５に記載の通信装置。
【請求項７】
前記マイクロプロセッサは、前記ＣＡＮコントローラを介して前記ＣＡＮバスからデータを受信してから所定時間以内にエラーフレームを受信しない場合に、当該データの処理を開始する、
請求項５または６に記載の通信装置。
【請求項８】
ＣＡＮバスに接続され、マイクロプロセッサと、前記ＣＡＮバスに接続され、前記マイクロプロセッサと前記ＣＡＮバスの間の通信の制御を行うＣＡＮコントローラと、前記ＣＡＮバスおよび前記マイクロプロセッサに接続され、前記マイクロプロセッサからの出力に基づいて、前記ＣＡＮバスに対して所定の電圧を印加する電圧印加手段と、を備える通信装置が行う、通信方法であって、
前記ＣＡＮコントローラを介して、前記ＣＡＮバスからフレームを受信する受信ステップと、
前記受信ステップにおいて受信したフレームが異常であるか否かを判定する判定ステップと、
前記判定ステップにおいて、前記ＣＡＮバスから受信したフレームが異常であると判定
された場合に、前記電圧印加手段を用いて前記ＣＡＮバスにエラーフレームを送出するエラーフレーム送出ステップと、
を含む、通信方法。
【請求項９】
前記判定ステップでは、自ノードが送信するＣＡＮ  ＩＤを有するフレームを前記ＣＡＮバスから受信した場合に、当該フレームは異常であると判定する、
請求項８に記載の通信方法。
【請求項１０】
前記受信ステップにおいてフレームを受信してから、所定時間以内にエラーフレームを受信しない場合に、当該データの処理を開始する処理ステップを、更に含む、
請求項８または９に記載の通信方法。
【請求項１１】
請求項８〜１０のいずれか１項に記載の通信方法の各ステップをマイクロプロセッサに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置および通信方法に関し、特にＣＡＮなどのバスネットワークにおいて用いられる通信装置および通信方法に関する。
【背景技術】
【０００２】
車両内ネットワークとしてＣＡＮ（Ｃａｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）が広く採用されている。セキュリティの強化のために、ＣＡＮネットワーク内での不正データの流通を監視し、不正データの流通を阻止したり、不正データの利用を禁止したりする技術が提案されている。
【０００３】
非特許文献１では、あるＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）が送信すべきＣＡＮ−ＩＤを有するフレームが他のＥＣＵから送信された場合に、このフレームを偽造フレームであると判断し、この偽造フレームの送信が完了する前にエラーフレームを送信することで、偽造フレームの流通を阻止することが提案されている。この手法では、受信フレームが偽造フレームであるか否かの判定とエラーフレームの送信を、フレームの受信中に行う必要がある。
【０００４】
特許文献１では、ＥＣＵにおいて偽造フレームを検知したら、エラーフレームを送信することが提案されている。この方式では、ＥＣＵにおいて偽造フレームであるか否かを判定するため、偽造フレームを検知できるのは完全に受信した後となる。各ＥＣＵは受信フレームを一定期間保存し、その間にエラーフレームが送信されなければ、受信フレームを処理する。これにより、偽造フレームを利用してしまうことを防げる。
【０００５】
特許文献２では、ＥＣＵにおいて偽造フレームを検知したら、データフレームを送信することによって偽造フレームの存在を通知することが提案されている。この手法は、エラーフレームの送信ではなく、データフレームの送信であるため、ＣＡＮコントローラに変更を加える必要がないという利点がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平８−２７５２７１号公報
【特許文献２】特開２０１３−１３１９０７号公報
【非特許文献】
【０００７】
【非特許文献１】畑正人  他著，「不正送信阻止：ＣＡＮではそれが可能である」，コンピュータセキュリティシンポジウム２０１１  論文集，ｖｏｌ．２０１１，ｎｏ．３，ｐｐ．６２４−６２９，２０１１−１０−１２
【発明の概要】
【発明が解決しようとする課題】
【０００８】
非特許文献１の手法のように偽造フレームの送信中にエラーフレームを送信するためには、ＣＡＮコントローラに対して、偽造フレーム判定およびエラーフレーム送信のための機能を持たせる必要がある。しかしながら、既存のＣＡＮコントローラはこのような機能を有していないため、ＣＡＮコントローラに対する改造が必要となる。このような改造は、ＡＳＩＣの改変になるため、実施のコストがかかり、簡易な実施は困難である。
【０００９】
特許文献１の手法では、ＥＣＵにおいてソフトウェアによって偽造フレームを判定する
ので、非特許文献１の手法よりは実施が容易である。しかしながら、ＥＣＵからの指示に基づいて任意のタイミングでエラーフレームを送信する機能が必要である。このようなＣＡＮコントローラは現存しないので、やはり改変が必要となって、実施コストがかかり、簡易な実施は困難である。
【００１０】
特許文献２の手法のようにデータフレームを用いて偽造フレームの存在を通知する手法では、ＣＡＮコントローラの改変が不要なので実施は比較的容易である。しかしながら、データフレームの送信タイミングは予測できず最大遅延時間を確定できないので、警告が間に合わない可能性が生じる。
【００１１】
上記ではＣＡＮバスネットワークを例にして課題を説明したが、上記の課題はＣＡＮバスネットワークに固有のものではない。上述の課題が発生する理由は、プロトコルが定められたネットワークシステムにおいて、そのプロトコルに準拠しない通信を行おうとした場合に一般的に生じる課題であると考えることができる。すなわち、プロトコルにしたがった手法（例えば特許文献２の手法）では達成できない効果を得るためにプロトコルに準拠しない通信（例えば特許文献１、非特許文献１の手法）を採用すると、通信制御装置（ＣＡＮコントローラなど）の改変が必要となり実施が困難であるという課題と考えることができる。
【００１２】
本発明は、上記の課題を考慮してなされたものであり、プロトコルに準拠しない通信を安価かつ簡易に実装するための技術を提供することを目的とする。例えば、ＣＡＮバスネットワークにおいては、ＣＡＮコントローラに改変を加えることなく任意のタイミングでエラーフレームを送信可能な手法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の一態様に係る通信装置は、バスネットワークに接続される通信装置であって、マイクロプロセッサと、前記バスネットワークに接続され、前記マイクロプロセッサと前記バスネットワークの間の通信の制御を行う通信制御装置と、前記バスネットワークおよび前記マイクロプロセッサに接続され、前記マイクロプロセッサからの出力に基づいて、前記バスネットワークに対して所定の電圧を印加する電圧印加手段と、を備えることを特徴とする。
【００１４】
通信制御装置は、所定のプロトコルにしたがった通信制御を高速に行うために、ＡＳＩＣなどによって実装される場合がある。このような通信制御装置は、所定のプロトコルにしたがった動作を行うため、そのプロトコルと異なる動作をさせるためには改変が必要となるが、改変は困難である。そこで、本発明に係る通信装置は、マイクロプロセッサからの出力に基づいて、通信制御装置を介さずに、バスネットワークに対して電圧を印加する電圧印加手段を設けている。この電圧印加手段によって、本発明に係る通信装置は、マイクロプロセッサからの指示に基づいて、任意のタイミングで、バスネットワーク上に任意の信号を出力することができる。すなわち、プロトコルに従わない通信を行うことができる。また、通信制御装置を改変せずに電圧印加手段を設けるだけでなので、その実装は比較的安価かつ簡易である。
【００１５】
本発明におけるバスネットワークの一例として、ＣＡＮバスネットワークを挙げることができる。この場合、上記の通信制御装置は、ＣＡＮコントローラやＣＡＮトランシーバが該当する。また、本発明におけるマイクロプロセッサは、電圧印加手段への出力を制御して、電圧印加手段を介してＣＡＮバスにフレームを送信するフレーム送信制御機能を有することも好ましい。
【００１６】
このような構成によれば、ＣＡＮコントローラを改変することなく、マイクロプロセッ
サからの出力に基づいて、任意のタイミングで任意のフレームをＣＡＮバスに出力することができる。ＣＡＮコントローラを改変せず電圧印加手段を追加するだけなので、その実現は安価かつ簡易である。
【００１７】
本発明におけるマイクロプロセッサは、ＣＡＮバスが所定期間の間ドミナント状態となるように電圧印加手段に対する出力を制御することによって、ＣＡＮバスにエラーフレームを送出するようにすることが好ましい。
【００１８】
このような構成によれば、マイクロプロセッサから、任意のタイミングでエラーフレームをＣＡＮバスに出力することができる。これは、受信フレームがＣＡＮプロトコルには従っているが、その他の異常があることをマイクロプロセッサにおいて検知できるときに特に有効である。
【００１９】
例えば、本発明におけるマイクロプロセッサが、ＣＡＮコントローラを介してＣＡＮバスから受信したフレームが正常であるか否か判定する判定機能を有し、判定機能によって、ＣＡＮバスから受信したフレームが異常であると判定された場合に、フレーム送信制御機能が電圧印加手段を用いてＣＡＮバスにエラーフレームを送出する、ことも好ましい。この判定機能は、例えば、自ノード（のみ）が送信するＣＡＮ−ＩＤを有するフレームを、ＣＡＮバスから受信した場合に、受信フレームが異常であると判定し、それ以外の場合に正常であると判定する機能である。
【００２０】
このようにすれば、ＣＡＮバスに対して、攻撃者が自ノードになりすまして偽造フレームを送信したことを検知して、他のノードに対して偽造フレームが流通していることを警告することができる。
【００２１】
また、本発明におけるマイクロプロセッサは、ＣＡＮコントローラを介してＣＡＮバスからデータを受信してから所定時間以内にエラーフレームを受信しない場合に、データの処理を開始する、ことも好ましい。
【００２２】
上記の所定時間は、フレームを受信してから上記判定機能による判定処理、およびフレームが異常である場合に電圧印加手段を用いたエラーフレームの送信処理に要する時間（あるいはそれ以上の時間）とすることが好ましい。このような所定時間の間、受信フレームの処理を遅らせることで、偽造フレームを処理してしまうことを防止できる。なお、上記の判定処理およびエラーフレーム送信処理の最大処理時間はあらかじめ把握可能であり、本発明ではエラーフレームの送信が待たされるということもないので、偽造フレームの警告が間に合わないという事態は避けられる。
【００２３】
本発明は、上記の手段の少なくとも一部を備える通信装置として捉えることもできる。また、本発明は、上記処理の少なくとも一部を実行する通信方法として捉えることもできる。また、本発明は、この方法をコンピュータに実行させるためのコンピュータプログラム、あるいはこのコンピュータプログラムを非一時的に記憶したコンピュータ可読記憶媒体として捉えることもできる。上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
【発明の効果】
【００２４】
本発明によれば、プロトコルに準拠しない通信を安価かつ簡易に実装することができる。例えば、ＣＡＮバスネットワークにおいて、既存のＣＡＮコントローラを採用しつつ、ＣＡＮコントローラを介さずに任意のフレームを任意のタイミングで送信可能となる。
【図面の簡単な説明】
【００２５】
【図１】実施形態にかかるＣＡＮ通信装置の概要を示す図。
【図２】実施形態にかかる偽造フレーム警告システムの概要を示す図。
【図３】実施形態にかかる偽造判定ＥＣＵの機能ブロックを示す図。
【図４】実施形態にかかる偽造判定ＥＣＵの処理の流れを示すフローチャート。
【図５】実施形態にかかるフレーム受信ＥＣＵの機能ブロックを示す図。
【図６】実施形態にかかるフレーム受信ＥＣＵの処理の流れを示すフローチャート。
【発明を実施するための形態】
【００２６】
＜構成＞
まず、ＣＡＮバスネットワークを例にして、ＣＡＮプロトコルに準拠しないフレームを任意のタイミングで送信可能なＣＡＮノードの構成について、図１を参照して説明する。図１に示すように、本実施形態にかかるＣＡＮノード１は、マイクロコントローラ１１、ＣＡＮコントローラ１２、ＣＡＮトランシーバ１３、および電圧印加部１４から構成される。
【００２７】
マイクロコントローラ１１は、演算制御装置やメモリなどから構成され、プログラムを実行して種々の機能を実現する。例えば、ＣＡＮバスを介して他のノードと送受信するデータの処理や、その他の任意の処理を実施する。
【００２８】
ＣＡＮコントローラ１２は、ＣＡＮプロトコルの機能（ビットスタッフィング、通信調停、エラー処理、ＣＲＣチェック）などの機能を実現する。ＣＡＮコントローラ１２は、ＡＳＩＣ（Application Specific Integrated Circuit）によって構成される。ＣＡＮコ
ントローラ１２は、マイクロコントローラ１１に搭載（内蔵）されることが一般的であるが、外付けのＣＡＮコントローラ１２を用いても構わない。
【００２９】
ＣＡＮトランシーバ１３は、ＣＡＮコントローラ１２とＣＡＮバスの物理配線との間の物理層インタフェースを提供するものであり、バス送信電圧の発生、調整、動作電圧の確保、配線の保護などを行う。
【００３０】
電圧印加部１４は、マイクロコントローラ１１からの出力に基づいて、ＣＡＮバスに対して電圧を印加する電気回路である。電圧印加部１４は、マイクロコントローラ１１のＧＰＩＯ（汎用入出力）ポート１１ａに接続され、ＣＡＮコントローラ１２を迂回して（介することなく）ＣＡＮバスに対して直接に電圧を印加する。電圧印加部１４は、主に２つのトランジスタスイッチ１４ａ，１４ｂを有し、マイクロコントローラ１１からの出力に応じて、ＣＡＮバスに所定の差動電圧（ドミナント状態またはリセッシブ状態）を印加する。
【００３１】
このような構成を採用することにより、マイクロコントローラ１１は、既存のＣＡＮコントローラ１２を用いて通信を行うとともに、電圧印加部１４を制御して任意のタイミングで任意のフレームをＣＡＮバスに送信することが可能となる。本手法によればＣＡＮコントローラ自体を改変することなく、簡易かつ安価にＣＡＮプロトコルに従わない通信が行える。
【００３２】
＜応用例：エラーフレームを用いた偽造フレーム警告＞
上述したＣＡＮ通信装置を応用したシステムについて説明する。ＣＡＮにはメッセージ認証や送信元認証の機能がないので、なりすまし攻撃に弱い。攻撃者がＥＣＵの書き換えなどを行って、偽造フレームを送信することで、システムの誤動作を引き起こす可能性がある。なお、偽造フレームとは、他のＥＣＵ（送信元ノード）になりすまして送信されるフレームのことである。ここでは、ＣＡＮ通信において偽造フレームが流通した際に、偽造フレームであることを周知し、偽造フレームが利用されてしまうことを防止可能なシス
テムを提案する。
【００３３】
本実施例にかかるＣＡＮシステム（偽造フレーム警告システム）の概要を図２に示す。図２において、ノード１００は上述した電圧印加部１４を備えるノードであり、ノード２００は電圧印加部１４を備えないノードである。ＣＡＮにおいては、ＣＡＮ−ＩＤを用いたメッセージアドレッシングが行われ、ノードごとに使用するＣＡＮ−ＩＤが定められることが一般的である。したがって、自ノードが用いるＣＡＮ−ＩＤを含むフレームが、他のノードから送信された場合には、偽造ノードが送信されたことが分かる。
【００３４】
図２に示す構成では、ノード１００が本来送信すべきＣＡＮ−ＩＤを持つ偽造フレームの検知・警告を可能とする。以下では、ノード１００を偽造判定ＥＣＵと称し、ノード２００をフレーム受信ＥＣＵと称する。
【００３５】
（偽造判定ＥＣＵ）
偽造判定ＥＣＵ１００は、ＣＡＮバス内に自ノードが送信するＣＡＮ−ＩＤを有する偽造フレームが流通しているか判断し、偽造フレームが流通している場合エラーフレームを送信することで他のノードに警告を発する。以下、偽造判定ＥＣＵ１００について、図３および図４を参照して説明する。図３は、偽造判定ＥＣＵ１００の機能ブロック図であり、図４は、偽造判定ＥＣＵ１００が行う偽造判定処理の流れを示すフローチャートである。
【００３６】
偽造判定ＥＣＵ１００は、フレーム送受信部１１０、フレーム判定部１２０、擬似エラーフレーム送信部１３０、電圧印加部１４０、自己ＣＡＮ−ＩＤ保存部１５０を有する。
【００３７】
フレーム送受信部１１０は、ＣＡＮバスにフレームを出力したり、ＣＡＮバスからフレームを受信したりする機能部である。フレーム送受信部１１０は、ＣＡＮコントローラ１２によってその機能が提供される。
【００３８】
フレーム判定部１２０は、フレーム送受信部１１０を介して受信したフレームが偽造フレームであるか否かを判定する機能部である。具体的には、フレーム判定部１２０は、受信フレームが、自ノードが送信したフレームではなく、かつ、自己ＣＡＮ−ＩＤ保存部１５０に格納してあるＣＡＮ−ＩＤを持つ場合に、この受信フレームを偽造フレームであると判定する。
【００３９】
擬似エラーフレーム送信部１３０は、電圧印加部１４０に電圧制御信号を出力して、電圧印加部１４０を介してＣＡＮバスにエラーフレームを出力する機能部である。以下では、電圧印加部１４０を介してＣＡＮバスに送信されるエラーフレームを、ＣＡＮコントローラ１２を介して送信されるエラーフレームと区別して、擬似エラーフレームと称する。擬似エラーフレーム送信部１３０は、マイコン１１のＧＰＩＯポート１１ａに電圧制御信号を出力する。電圧印加部１４０は、マイコン１１のＧＰＩＯポートから送信される電圧制御信号に基づいて、ＣＡＮバスに所定の電圧を印加する。電圧印加部１４０は、図１の電圧印加部１４に相当する。電圧印加部１４０は、擬似エラーフレーム送信部１３０からの電圧制御信号を受信している間、ＣＡＮバスに対してドミナント状態の電圧を印加する。
【００４０】
自己ＣＡＮ−ＩＤ保存部１５０には、自ノードのみが送信するＣＡＮ−ＩＤが格納される。なお、自ノードのみが送信するＣＡＮ−ＩＤが複数あれば、その全てが自己ＣＡＮ−ＩＤ保存部１５０に格納される。
【００４１】
フレーム判定部１２０による判定機能や、擬似エラーフレーム送信部１３０による電圧
印加信号の制御機能は、マイコン１１がプログラムを実行することによってソフトウェア的に実現することができる。なお、これらの機能部をハードウェアによって実現しても構わない。
【００４２】
次に、偽造判定ＥＣＵ１００がフレームを受信した際に行う処理（偽造フレーム判定処理）について図４を参照して説明する。フレーム送受信部１１０を介してＣＡＮバスからフレームを受信したら、フレーム判定部１２０は、受信フレームが自ノードから送信したフレームであるか否か判定する（Ｓ１１）。受信フレームが、自ノードによって送信されたフレームである場合（Ｓ１１−ＹＥＳ）には、処理を終了する。
【００４３】
受信フレームが自ノードによって送信されたフレームではない場合（Ｓ１１−ＮＯ）には、フレーム判定部１２０は、受信フレームのＣＡＮ−ＩＤが、自ノードが本来送信すべきＣＡＮ−ＩＤに等しいか否か判定する（Ｓ１２）。具体的には、自ノードが本来送信すべきＣＡＮ−ＩＤは自己ＣＡＮ−ＩＤ保存部１５０に格納されているので、フレーム判定部１２０は、そのＣＡＮ−ＩＤと受信フレームのＣＡＮ−ＩＤを比較する。受信フレームのＣＡＮ−ＩＤが自己が送信するＣＡＮ−ＩＤのいずれとも等しくない場合（Ｓ１３−ＮＯ）は、受信フレームは偽造フレームではないので処理を終了する。
【００４４】
一方、受信フレームのＣＡＮ−ＩＤが自己の送信するＣＡＮ−ＩＤのいずれかと等しい場合（Ｓ１３−ＹＥＳ）には、受信フレームは偽造フレーム、すなわち第三者が自ノードになりすまして送信したフレームであると判断できる。そこで、偽造判定ＥＣＵ１００は、電圧印加部１４０を介してＣＡＮバスに擬似的なエラーフレームを送出する。
【００４５】
具体的には、擬似エラーフレーム送信部１３０が、電圧印加部１４０を介してＣＡＮバスにドミナント状態の電圧の印加を開始する（Ｓ１４）。すなわち、擬似エラーフレーム送信部１３０は、ＣＡＮバスにドミナント状態の電圧を印加するように指示する電圧制御信号の出力を開始する。電圧印加部１４０は、この電圧制御信号に基づいて、ＣＡＮバスに対してドミナント状態の電圧の印加を開始する。
【００４６】
擬似エラーフレーム送信部１３０は、エラーフレームの送信時間に相当する所定期間だけ待機する（Ｓ１５）。エラーフレームは、６ビットのドミナントから構成されるエラーフラグを含むので、ここでは擬似エラーフレーム送信部１３０は６ビット相当の時間だけ待機する。この時間の経過後、擬似エラーフレーム送信部１３０は、電圧制御信号の出力を終了して、電圧印加部１４０を介するＣＡＮバスへの電圧印加処理を終了する（Ｓ１６）。これにより、ＣＡＮバスが所定期間の間ドミナント状態となり、エラーフレームが送出されたことになる。
【００４７】
上述のようにして、偽造判定ＥＣＵ１００は、偽造フレームの判定およびエラーフレームによる偽造フレームの警告が行える。偽造判定処理はフレーム受信後に行われるので、非特許文献１のように偽造フレームの受信中にエラーフレームの送信は行えないが、エラーフレームの送信要求と実際の送信の間に遅延がないので特許文献２とは異なり警告メッセージの送信タイミング（最大遅延）を確定できる。
【００４８】
（フレーム受信ＥＣＵ）
フレーム受信ＥＣＵ２００は、フレームを受信し、それが偽造フレームではないことを確認してから利用する。偽造フレームが流通した場合には、偽造判定ＥＣＵ１００からエラーフレームが送信される。上述したようにエラーフレームの送信に要する最大遅延を確定できるので、この時間の間にエラーフレームを受信しなければ、受信フレームは偽造フレームでないことが分かる。このようにしてフレーム受信ＥＣＵ２００は、偽造フレームを利用してしまうことを防止する。以下、フレーム受信ＥＣＵ２００について、図５およ
び図６を参照して説明する。図５は、フレーム受信ＥＣＵ２００の機能ブロック図であり、図６は、フレーム受信ＥＣＵ２００が行うフレーム受信処理の流れを示すフローチャートである。
【００４９】
フレーム受信ＥＣＵ２００は、フレーム送受信部２１０、エラーフレーム認知部２２０、時間計測部２３０、フレーム処理部２４０、受信フレーム保存部２５０を有する。
【００５０】
フレーム送受信部２１０は、ＣＡＮバスにフレームを出力したり、ＣＡＮバスからフレームを受信したりする機能部である。フレーム送受信部１１０は、ＣＡＮコントローラ１２によってその機能が提供される。フレーム送受信部２１０は、ＣＡＮバスからデータフレームを受信した場合には、受信フレームを受信フレーム保存部２５０に一時的に格納する。受信フレームは、受信後に所定時間経過してから利用される。また、フレーム送受信部２１０は、ＣＡＮバスからエラーフレームを受信した場合には、エラーフレーム認知部２２０へその旨を通知する。
【００５１】
エラーフレーム認知部２２０は、フレーム送受信部２１０を介してＣＡＮバスからエラーフレームを受信したことを認知する。受信したエラーフレームは、偽造判定ＥＣＵ１００が送信した偽造フレームを警告するものである可能性がある。そこで、エラーフレーム認知部２２０は、エラーフレームを受信した場合には、受信フレーム保存部２５０に保存したフレームを破棄して、利用しないようにする。
【００５２】
時間計測部２３０は、フレームを受信してからの経過時間をカウントするタイマである。上述のようにフレーム受信から所定時間（待機時間）以内にエラーフレームを受信しない場合は、受信フレームが偽造フレームではないことが分かる。時間計測部２３０は、この待機時間を計時するためのものである。なお、待機時間は、擬似エラーフレームの送信に要する時間に応じて決定すればよい。
【００５３】
フレーム処理部２４０は、受信フレームを利用した処理を行う機能部である。フレーム処理部２４０は、時間計測部２３０から待機時間の経過を知らせる通知を受けると、受信フレーム保存部２５０に格納されているフレームを取り出して、その内容に基づいた処理を行う。処理の内容は、本発明において特に限定されない。
【００５４】
エラーフレーム認知部２２０、時間計測部２３０、フレーム処理部２４０の機能は、マイコン１１がプログラムを実行することによってソフトウェア的に実現することができる。なお、これらの機能部をハードウェアによって実現しても構わない。
【００５５】
次に、フレーム受信ＥＣＵ２００がフレームを受信した際に行う処理（フレーム受信処理）について図６を参照して説明する。フレーム送受信部２１０を介してＣＡＮバスからデータフレームを受信したら、フレーム送受信部２１０は受信フレームを受信フレーム保存部２５０に一時的に保存する（Ｓ２１）。そして、時間計測部２３０が、受信タイマのカウントを開始し、フレームを受信してからの経過時間の測定を開始する。
【００５６】
フレーム受信ＥＣＵ２００は、エラーフレームを受信するか否か確認しつつ、フレームを受信してから所定の待機時間が経過するまでの間、待機する（Ｓ２３〜Ｓ２４）。この待機時間内にエラーフレームを受信したことをエラーフレーム認知部２２０が認知した場合（Ｓ２４−ＹＥＳ）には、受信フレームが偽造フレームであると判断できる。そこで、受信フレーム保存部２５０に一時的に格納した受信フレームを破棄する（Ｓ２５）。一方、エラーフレームを受信することなく、所定の待機時間が経過した場合には、受信フレームは偽造フレームではなく正常なフレームであると判断できる。そこで、受信フレーム保存部２５０に一時的格納した受信フレームをフレーム処理部２４０に転送して、フレーム
を用いた処理を実行する（Ｓ２６）。
【００５７】
上述のようにして、フレーム受信ＥＣＵ２００は、受信したフレームが偽造フレームではないことを確認してから、そのフレームを用いた処理を行えるようになる。したがって、偽造フレームが流通した場合であっても、フレーム受信ＥＣＵ２００がそのフレームを用いて処理を行ってしまうことを防止可能となる。
【００５８】
＜変形例＞
上記の説明は、本発明の実施形態を例示的に説明したものであり、本発明は上記の実施形態に限定して解釈されるべきではなく、本発明の技術的思想の範囲内で種々の変形が可能である。
【００５９】
上記の説明では、システム内に１つの偽造判定ＥＣＵ１００のみが存在するものとして説明したが、システム内に２つ以上の偽造判定ＥＣＵ１００が存在してもよいし、全てのＥＣＵが偽造判定ＥＣＵ１００の機能を有してもよい。このようにシステム内に複数の偽造判定ＥＣＵが存在する場合には、偽造判定ＥＣＵ１００にもフレーム受信ＥＣＵ２００の機能を設けて、偽造フレームの警告に対応できるようにすることが好ましい。
【００６０】
上記の説明では、擬似エラーフレームの送信（電圧印加部を介したエラーフレームの送信）を、自ノードが送信すべきＣＡＮ−ＩＤを有するフレームを受信した時としているが、その他の異常を検知したときに擬似エラーフレームを送信するようにしてもよい。たとえば、フレーム内のデータを検査して、そのデータに異常があると判定できる場合に擬似エラーフレームを送信してもよい。あるいは、あるノードが故障などして定期的に異常なフレームを送信することが予期される場合には、その送信タイミングに合わせて擬似エラーフレームを送信することで、異常フレームが処理されるのを防ぐようにできる。
【００６１】
また上記の説明では、電圧印加部を介してエラーフレームを送信する例を説明したが、電圧印加部を介してエラーフレーム以外の任意のフレームを送信するようにしてもよい。すなわち、マイクロプロセッサが電圧印加部への出力を制御して、ドミナント状態とリセッシブ状態の電圧を任意のパターンでＣＡＮバスに印加して、任意のフレームを送信するようにしてもよい。すなわち、上記の説明における擬似エラーフレーム送信部に代えて、任意のフレームを送信するように電圧印加部に対する電圧制御信号を出力する擬似フレーム送信制御機能を設けるようにしてもよい。このような機能を持つＣＡＮノードは、例えば、実機を用いたファジングテストに好適に用いることができる。すなわち、本発明の手法によってＣＡＮプロトコルに従わないフレームを実際に送信して、他のノードがそれに対して適切に対応できるか否か検証するテストが容易に行える。
【００６２】
また上記の説明では、ＣＡＮバスネットワークを例に説明を行ったが、既存の通信制御装置（ＣＡＮコントローラなど）を迂回して、直接バスネットワークに電圧印加を行うという手法は、ＣＡＮバスネットワーク以外にも適用可能である。特に、ＣＡＮと同様にマルチマスター方式のネットワークシステムに、本発明の手法を好適に適用可能である。
【符号の説明】
【００６３】
１１：マイクロコントローラ  １２：ＣＡＮコントローラ  １３：ＣＡＮトランシーバ
１４：電圧印加部
１００：偽造判定ＥＣＵ
１１０：フレーム送受信部  １２０：フレーム判定部  １３０：擬似エラーフレーム送信部
１４０：電圧印加部  １５０：自己ＣＡＮ−ＩＤ保存部
２００：フレーム受信ＥＣＵ
２１０：フレーム送信部  ２２０：エラーフレーム認知部  ２３０：時間計測部
２４０：フレーム処理部  ２５０：受信フレーム保存部
【図１】
2015192216.tif 000003
【図２】
2015192216.tif 000004
【図３】
2015192216.tif 000005
【図４】
2015192216.tif 000006
【図５】
2015192216.tif 000007
【図６】
2015192216.tif 000008