JP2015192216A - 通信装置および通信方法 - Google Patents
通信装置および通信方法 Download PDFInfo
- Publication number
- JP2015192216A JP2015192216A JP2014066563A JP2014066563A JP2015192216A JP 2015192216 A JP2015192216 A JP 2015192216A JP 2014066563 A JP2014066563 A JP 2014066563A JP 2014066563 A JP2014066563 A JP 2014066563A JP 2015192216 A JP2015192216 A JP 2015192216A
- Authority
- JP
- Japan
- Prior art keywords
- frame
- bus
- microprocessor
- communication
- received
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
【課題】CANコントローラに改変を加えることなく任意のタイミングでエラーフレームを送信可能とする。【解決手段】CANバスなどのバスネットワークに接続される通信装置であって、マイクロプロセッサと、前記バスネットワークに接続され、前記マイクロプロセッサと前記バスネットワークの間の通信の制御を行う通信制御装置(CANコントローラなど)と、前記バスネットワークおよび前記マイクロプロセッサに接続され、前記マイクロプロセッサからの出力に基づいて、前記バスネットワークに対して所定の電圧を印加する電圧印加手段と、を備える。上記の電圧印加部を介して、所定の期間ドミナント状態の電圧をバスネットワークに印加することで、擬似的なエラーフレームを送信可能となる。【選択図】図1
Description
本発明は、通信装置および通信方法に関し、特にCANなどのバスネットワークにおいて用いられる通信装置および通信方法に関する。
車両内ネットワークとしてCAN(Car Area Network)が広く採用されている。セキュリティの強化のために、CANネットワーク内での不正データの流通を監視し、不正データの流通を阻止したり、不正データの利用を禁止したりする技術が提案されている。
非特許文献1では、あるECU(Electronic Control Unit)が送信すべきCAN−IDを有するフレームが他のECUから送信された場合に、このフレームを偽造フレームであると判断し、この偽造フレームの送信が完了する前にエラーフレームを送信することで、偽造フレームの流通を阻止することが提案されている。この手法では、受信フレームが偽造フレームであるか否かの判定とエラーフレームの送信を、フレームの受信中に行う必要がある。
特許文献1では、ECUにおいて偽造フレームを検知したら、エラーフレームを送信することが提案されている。この方式では、ECUにおいて偽造フレームであるか否かを判定するため、偽造フレームを検知できるのは完全に受信した後となる。各ECUは受信フレームを一定期間保存し、その間にエラーフレームが送信されなければ、受信フレームを処理する。これにより、偽造フレームを利用してしまうことを防げる。
特許文献2では、ECUにおいて偽造フレームを検知したら、データフレームを送信することによって偽造フレームの存在を通知することが提案されている。この手法は、エラーフレームの送信ではなく、データフレームの送信であるため、CANコントローラに変更を加える必要がないという利点がある。
畑正人 他著,「不正送信阻止:CANではそれが可能である」,コンピュータセキュリティシンポジウム2011 論文集,vol.2011,no.3,pp.624−629,2011−10−12
非特許文献1の手法のように偽造フレームの送信中にエラーフレームを送信するためには、CANコントローラに対して、偽造フレーム判定およびエラーフレーム送信のための機能を持たせる必要がある。しかしながら、既存のCANコントローラはこのような機能を有していないため、CANコントローラに対する改造が必要となる。このような改造は、ASICの改変になるため、実施のコストがかかり、簡易な実施は困難である。
特許文献1の手法では、ECUにおいてソフトウェアによって偽造フレームを判定する
ので、非特許文献1の手法よりは実施が容易である。しかしながら、ECUからの指示に基づいて任意のタイミングでエラーフレームを送信する機能が必要である。このようなCANコントローラは現存しないので、やはり改変が必要となって、実施コストがかかり、簡易な実施は困難である。
ので、非特許文献1の手法よりは実施が容易である。しかしながら、ECUからの指示に基づいて任意のタイミングでエラーフレームを送信する機能が必要である。このようなCANコントローラは現存しないので、やはり改変が必要となって、実施コストがかかり、簡易な実施は困難である。
特許文献2の手法のようにデータフレームを用いて偽造フレームの存在を通知する手法では、CANコントローラの改変が不要なので実施は比較的容易である。しかしながら、データフレームの送信タイミングは予測できず最大遅延時間を確定できないので、警告が間に合わない可能性が生じる。
上記ではCANバスネットワークを例にして課題を説明したが、上記の課題はCANバスネットワークに固有のものではない。上述の課題が発生する理由は、プロトコルが定められたネットワークシステムにおいて、そのプロトコルに準拠しない通信を行おうとした場合に一般的に生じる課題であると考えることができる。すなわち、プロトコルにしたがった手法(例えば特許文献2の手法)では達成できない効果を得るためにプロトコルに準拠しない通信(例えば特許文献1、非特許文献1の手法)を採用すると、通信制御装置(CANコントローラなど)の改変が必要となり実施が困難であるという課題と考えることができる。
本発明は、上記の課題を考慮してなされたものであり、プロトコルに準拠しない通信を安価かつ簡易に実装するための技術を提供することを目的とする。例えば、CANバスネットワークにおいては、CANコントローラに改変を加えることなく任意のタイミングでエラーフレームを送信可能な手法を提供することを目的とする。
本発明の一態様に係る通信装置は、バスネットワークに接続される通信装置であって、マイクロプロセッサと、前記バスネットワークに接続され、前記マイクロプロセッサと前記バスネットワークの間の通信の制御を行う通信制御装置と、前記バスネットワークおよび前記マイクロプロセッサに接続され、前記マイクロプロセッサからの出力に基づいて、前記バスネットワークに対して所定の電圧を印加する電圧印加手段と、を備えることを特徴とする。
通信制御装置は、所定のプロトコルにしたがった通信制御を高速に行うために、ASICなどによって実装される場合がある。このような通信制御装置は、所定のプロトコルにしたがった動作を行うため、そのプロトコルと異なる動作をさせるためには改変が必要となるが、改変は困難である。そこで、本発明に係る通信装置は、マイクロプロセッサからの出力に基づいて、通信制御装置を介さずに、バスネットワークに対して電圧を印加する電圧印加手段を設けている。この電圧印加手段によって、本発明に係る通信装置は、マイクロプロセッサからの指示に基づいて、任意のタイミングで、バスネットワーク上に任意の信号を出力することができる。すなわち、プロトコルに従わない通信を行うことができる。また、通信制御装置を改変せずに電圧印加手段を設けるだけでなので、その実装は比較的安価かつ簡易である。
本発明におけるバスネットワークの一例として、CANバスネットワークを挙げることができる。この場合、上記の通信制御装置は、CANコントローラやCANトランシーバが該当する。また、本発明におけるマイクロプロセッサは、電圧印加手段への出力を制御して、電圧印加手段を介してCANバスにフレームを送信するフレーム送信制御機能を有することも好ましい。
このような構成によれば、CANコントローラを改変することなく、マイクロプロセッ
サからの出力に基づいて、任意のタイミングで任意のフレームをCANバスに出力することができる。CANコントローラを改変せず電圧印加手段を追加するだけなので、その実現は安価かつ簡易である。
サからの出力に基づいて、任意のタイミングで任意のフレームをCANバスに出力することができる。CANコントローラを改変せず電圧印加手段を追加するだけなので、その実現は安価かつ簡易である。
本発明におけるマイクロプロセッサは、CANバスが所定期間の間ドミナント状態となるように電圧印加手段に対する出力を制御することによって、CANバスにエラーフレームを送出するようにすることが好ましい。
このような構成によれば、マイクロプロセッサから、任意のタイミングでエラーフレームをCANバスに出力することができる。これは、受信フレームがCANプロトコルには従っているが、その他の異常があることをマイクロプロセッサにおいて検知できるときに特に有効である。
例えば、本発明におけるマイクロプロセッサが、CANコントローラを介してCANバスから受信したフレームが正常であるか否か判定する判定機能を有し、判定機能によって、CANバスから受信したフレームが異常であると判定された場合に、フレーム送信制御機能が電圧印加手段を用いてCANバスにエラーフレームを送出する、ことも好ましい。この判定機能は、例えば、自ノード(のみ)が送信するCAN−IDを有するフレームを、CANバスから受信した場合に、受信フレームが異常であると判定し、それ以外の場合に正常であると判定する機能である。
このようにすれば、CANバスに対して、攻撃者が自ノードになりすまして偽造フレームを送信したことを検知して、他のノードに対して偽造フレームが流通していることを警告することができる。
また、本発明におけるマイクロプロセッサは、CANコントローラを介してCANバスからデータを受信してから所定時間以内にエラーフレームを受信しない場合に、データの処理を開始する、ことも好ましい。
上記の所定時間は、フレームを受信してから上記判定機能による判定処理、およびフレームが異常である場合に電圧印加手段を用いたエラーフレームの送信処理に要する時間(あるいはそれ以上の時間)とすることが好ましい。このような所定時間の間、受信フレームの処理を遅らせることで、偽造フレームを処理してしまうことを防止できる。なお、上記の判定処理およびエラーフレーム送信処理の最大処理時間はあらかじめ把握可能であり、本発明ではエラーフレームの送信が待たされるということもないので、偽造フレームの警告が間に合わないという事態は避けられる。
本発明は、上記の手段の少なくとも一部を備える通信装置として捉えることもできる。また、本発明は、上記処理の少なくとも一部を実行する通信方法として捉えることもできる。また、本発明は、この方法をコンピュータに実行させるためのコンピュータプログラム、あるいはこのコンピュータプログラムを非一時的に記憶したコンピュータ可読記憶媒体として捉えることもできる。上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
本発明によれば、プロトコルに準拠しない通信を安価かつ簡易に実装することができる。例えば、CANバスネットワークにおいて、既存のCANコントローラを採用しつつ、CANコントローラを介さずに任意のフレームを任意のタイミングで送信可能となる。
<構成>
まず、CANバスネットワークを例にして、CANプロトコルに準拠しないフレームを任意のタイミングで送信可能なCANノードの構成について、図1を参照して説明する。図1に示すように、本実施形態にかかるCANノード1は、マイクロコントローラ11、CANコントローラ12、CANトランシーバ13、および電圧印加部14から構成される。
まず、CANバスネットワークを例にして、CANプロトコルに準拠しないフレームを任意のタイミングで送信可能なCANノードの構成について、図1を参照して説明する。図1に示すように、本実施形態にかかるCANノード1は、マイクロコントローラ11、CANコントローラ12、CANトランシーバ13、および電圧印加部14から構成される。
マイクロコントローラ11は、演算制御装置やメモリなどから構成され、プログラムを実行して種々の機能を実現する。例えば、CANバスを介して他のノードと送受信するデータの処理や、その他の任意の処理を実施する。
CANコントローラ12は、CANプロトコルの機能(ビットスタッフィング、通信調停、エラー処理、CRCチェック)などの機能を実現する。CANコントローラ12は、ASIC(Application Specific Integrated Circuit)によって構成される。CANコ
ントローラ12は、マイクロコントローラ11に搭載(内蔵)されることが一般的であるが、外付けのCANコントローラ12を用いても構わない。
ントローラ12は、マイクロコントローラ11に搭載(内蔵)されることが一般的であるが、外付けのCANコントローラ12を用いても構わない。
CANトランシーバ13は、CANコントローラ12とCANバスの物理配線との間の物理層インタフェースを提供するものであり、バス送信電圧の発生、調整、動作電圧の確保、配線の保護などを行う。
電圧印加部14は、マイクロコントローラ11からの出力に基づいて、CANバスに対して電圧を印加する電気回路である。電圧印加部14は、マイクロコントローラ11のGPIO(汎用入出力)ポート11aに接続され、CANコントローラ12を迂回して(介することなく)CANバスに対して直接に電圧を印加する。電圧印加部14は、主に2つのトランジスタスイッチ14a,14bを有し、マイクロコントローラ11からの出力に応じて、CANバスに所定の差動電圧(ドミナント状態またはリセッシブ状態)を印加する。
このような構成を採用することにより、マイクロコントローラ11は、既存のCANコントローラ12を用いて通信を行うとともに、電圧印加部14を制御して任意のタイミングで任意のフレームをCANバスに送信することが可能となる。本手法によればCANコントローラ自体を改変することなく、簡易かつ安価にCANプロトコルに従わない通信が行える。
<応用例:エラーフレームを用いた偽造フレーム警告>
上述したCAN通信装置を応用したシステムについて説明する。CANにはメッセージ認証や送信元認証の機能がないので、なりすまし攻撃に弱い。攻撃者がECUの書き換えなどを行って、偽造フレームを送信することで、システムの誤動作を引き起こす可能性がある。なお、偽造フレームとは、他のECU(送信元ノード)になりすまして送信されるフレームのことである。ここでは、CAN通信において偽造フレームが流通した際に、偽造フレームであることを周知し、偽造フレームが利用されてしまうことを防止可能なシス
テムを提案する。
上述したCAN通信装置を応用したシステムについて説明する。CANにはメッセージ認証や送信元認証の機能がないので、なりすまし攻撃に弱い。攻撃者がECUの書き換えなどを行って、偽造フレームを送信することで、システムの誤動作を引き起こす可能性がある。なお、偽造フレームとは、他のECU(送信元ノード)になりすまして送信されるフレームのことである。ここでは、CAN通信において偽造フレームが流通した際に、偽造フレームであることを周知し、偽造フレームが利用されてしまうことを防止可能なシス
テムを提案する。
本実施例にかかるCANシステム(偽造フレーム警告システム)の概要を図2に示す。図2において、ノード100は上述した電圧印加部14を備えるノードであり、ノード200は電圧印加部14を備えないノードである。CANにおいては、CAN−IDを用いたメッセージアドレッシングが行われ、ノードごとに使用するCAN−IDが定められることが一般的である。したがって、自ノードが用いるCAN−IDを含むフレームが、他のノードから送信された場合には、偽造ノードが送信されたことが分かる。
図2に示す構成では、ノード100が本来送信すべきCAN−IDを持つ偽造フレームの検知・警告を可能とする。以下では、ノード100を偽造判定ECUと称し、ノード200をフレーム受信ECUと称する。
(偽造判定ECU)
偽造判定ECU100は、CANバス内に自ノードが送信するCAN−IDを有する偽造フレームが流通しているか判断し、偽造フレームが流通している場合エラーフレームを送信することで他のノードに警告を発する。以下、偽造判定ECU100について、図3および図4を参照して説明する。図3は、偽造判定ECU100の機能ブロック図であり、図4は、偽造判定ECU100が行う偽造判定処理の流れを示すフローチャートである。
偽造判定ECU100は、CANバス内に自ノードが送信するCAN−IDを有する偽造フレームが流通しているか判断し、偽造フレームが流通している場合エラーフレームを送信することで他のノードに警告を発する。以下、偽造判定ECU100について、図3および図4を参照して説明する。図3は、偽造判定ECU100の機能ブロック図であり、図4は、偽造判定ECU100が行う偽造判定処理の流れを示すフローチャートである。
偽造判定ECU100は、フレーム送受信部110、フレーム判定部120、擬似エラーフレーム送信部130、電圧印加部140、自己CAN−ID保存部150を有する。
フレーム送受信部110は、CANバスにフレームを出力したり、CANバスからフレームを受信したりする機能部である。フレーム送受信部110は、CANコントローラ12によってその機能が提供される。
フレーム判定部120は、フレーム送受信部110を介して受信したフレームが偽造フレームであるか否かを判定する機能部である。具体的には、フレーム判定部120は、受信フレームが、自ノードが送信したフレームではなく、かつ、自己CAN−ID保存部150に格納してあるCAN−IDを持つ場合に、この受信フレームを偽造フレームであると判定する。
擬似エラーフレーム送信部130は、電圧印加部140に電圧制御信号を出力して、電圧印加部140を介してCANバスにエラーフレームを出力する機能部である。以下では、電圧印加部140を介してCANバスに送信されるエラーフレームを、CANコントローラ12を介して送信されるエラーフレームと区別して、擬似エラーフレームと称する。擬似エラーフレーム送信部130は、マイコン11のGPIOポート11aに電圧制御信号を出力する。電圧印加部140は、マイコン11のGPIOポートから送信される電圧制御信号に基づいて、CANバスに所定の電圧を印加する。電圧印加部140は、図1の電圧印加部14に相当する。電圧印加部140は、擬似エラーフレーム送信部130からの電圧制御信号を受信している間、CANバスに対してドミナント状態の電圧を印加する。
自己CAN−ID保存部150には、自ノードのみが送信するCAN−IDが格納される。なお、自ノードのみが送信するCAN−IDが複数あれば、その全てが自己CAN−ID保存部150に格納される。
フレーム判定部120による判定機能や、擬似エラーフレーム送信部130による電圧
印加信号の制御機能は、マイコン11がプログラムを実行することによってソフトウェア的に実現することができる。なお、これらの機能部をハードウェアによって実現しても構わない。
印加信号の制御機能は、マイコン11がプログラムを実行することによってソフトウェア的に実現することができる。なお、これらの機能部をハードウェアによって実現しても構わない。
次に、偽造判定ECU100がフレームを受信した際に行う処理(偽造フレーム判定処理)について図4を参照して説明する。フレーム送受信部110を介してCANバスからフレームを受信したら、フレーム判定部120は、受信フレームが自ノードから送信したフレームであるか否か判定する(S11)。受信フレームが、自ノードによって送信されたフレームである場合(S11−YES)には、処理を終了する。
受信フレームが自ノードによって送信されたフレームではない場合(S11−NO)には、フレーム判定部120は、受信フレームのCAN−IDが、自ノードが本来送信すべきCAN−IDに等しいか否か判定する(S12)。具体的には、自ノードが本来送信すべきCAN−IDは自己CAN−ID保存部150に格納されているので、フレーム判定部120は、そのCAN−IDと受信フレームのCAN−IDを比較する。受信フレームのCAN−IDが自己が送信するCAN−IDのいずれとも等しくない場合(S13−NO)は、受信フレームは偽造フレームではないので処理を終了する。
一方、受信フレームのCAN−IDが自己の送信するCAN−IDのいずれかと等しい場合(S13−YES)には、受信フレームは偽造フレーム、すなわち第三者が自ノードになりすまして送信したフレームであると判断できる。そこで、偽造判定ECU100は、電圧印加部140を介してCANバスに擬似的なエラーフレームを送出する。
具体的には、擬似エラーフレーム送信部130が、電圧印加部140を介してCANバスにドミナント状態の電圧の印加を開始する(S14)。すなわち、擬似エラーフレーム送信部130は、CANバスにドミナント状態の電圧を印加するように指示する電圧制御信号の出力を開始する。電圧印加部140は、この電圧制御信号に基づいて、CANバスに対してドミナント状態の電圧の印加を開始する。
擬似エラーフレーム送信部130は、エラーフレームの送信時間に相当する所定期間だけ待機する(S15)。エラーフレームは、6ビットのドミナントから構成されるエラーフラグを含むので、ここでは擬似エラーフレーム送信部130は6ビット相当の時間だけ待機する。この時間の経過後、擬似エラーフレーム送信部130は、電圧制御信号の出力を終了して、電圧印加部140を介するCANバスへの電圧印加処理を終了する(S16)。これにより、CANバスが所定期間の間ドミナント状態となり、エラーフレームが送出されたことになる。
上述のようにして、偽造判定ECU100は、偽造フレームの判定およびエラーフレームによる偽造フレームの警告が行える。偽造判定処理はフレーム受信後に行われるので、非特許文献1のように偽造フレームの受信中にエラーフレームの送信は行えないが、エラーフレームの送信要求と実際の送信の間に遅延がないので特許文献2とは異なり警告メッセージの送信タイミング(最大遅延)を確定できる。
(フレーム受信ECU)
フレーム受信ECU200は、フレームを受信し、それが偽造フレームではないことを確認してから利用する。偽造フレームが流通した場合には、偽造判定ECU100からエラーフレームが送信される。上述したようにエラーフレームの送信に要する最大遅延を確定できるので、この時間の間にエラーフレームを受信しなければ、受信フレームは偽造フレームでないことが分かる。このようにしてフレーム受信ECU200は、偽造フレームを利用してしまうことを防止する。以下、フレーム受信ECU200について、図5およ
び図6を参照して説明する。図5は、フレーム受信ECU200の機能ブロック図であり、図6は、フレーム受信ECU200が行うフレーム受信処理の流れを示すフローチャートである。
フレーム受信ECU200は、フレームを受信し、それが偽造フレームではないことを確認してから利用する。偽造フレームが流通した場合には、偽造判定ECU100からエラーフレームが送信される。上述したようにエラーフレームの送信に要する最大遅延を確定できるので、この時間の間にエラーフレームを受信しなければ、受信フレームは偽造フレームでないことが分かる。このようにしてフレーム受信ECU200は、偽造フレームを利用してしまうことを防止する。以下、フレーム受信ECU200について、図5およ
び図6を参照して説明する。図5は、フレーム受信ECU200の機能ブロック図であり、図6は、フレーム受信ECU200が行うフレーム受信処理の流れを示すフローチャートである。
フレーム受信ECU200は、フレーム送受信部210、エラーフレーム認知部220、時間計測部230、フレーム処理部240、受信フレーム保存部250を有する。
フレーム送受信部210は、CANバスにフレームを出力したり、CANバスからフレームを受信したりする機能部である。フレーム送受信部110は、CANコントローラ12によってその機能が提供される。フレーム送受信部210は、CANバスからデータフレームを受信した場合には、受信フレームを受信フレーム保存部250に一時的に格納する。受信フレームは、受信後に所定時間経過してから利用される。また、フレーム送受信部210は、CANバスからエラーフレームを受信した場合には、エラーフレーム認知部220へその旨を通知する。
エラーフレーム認知部220は、フレーム送受信部210を介してCANバスからエラーフレームを受信したことを認知する。受信したエラーフレームは、偽造判定ECU100が送信した偽造フレームを警告するものである可能性がある。そこで、エラーフレーム認知部220は、エラーフレームを受信した場合には、受信フレーム保存部250に保存したフレームを破棄して、利用しないようにする。
時間計測部230は、フレームを受信してからの経過時間をカウントするタイマである。上述のようにフレーム受信から所定時間(待機時間)以内にエラーフレームを受信しない場合は、受信フレームが偽造フレームではないことが分かる。時間計測部230は、この待機時間を計時するためのものである。なお、待機時間は、擬似エラーフレームの送信に要する時間に応じて決定すればよい。
フレーム処理部240は、受信フレームを利用した処理を行う機能部である。フレーム処理部240は、時間計測部230から待機時間の経過を知らせる通知を受けると、受信フレーム保存部250に格納されているフレームを取り出して、その内容に基づいた処理を行う。処理の内容は、本発明において特に限定されない。
エラーフレーム認知部220、時間計測部230、フレーム処理部240の機能は、マイコン11がプログラムを実行することによってソフトウェア的に実現することができる。なお、これらの機能部をハードウェアによって実現しても構わない。
次に、フレーム受信ECU200がフレームを受信した際に行う処理(フレーム受信処理)について図6を参照して説明する。フレーム送受信部210を介してCANバスからデータフレームを受信したら、フレーム送受信部210は受信フレームを受信フレーム保存部250に一時的に保存する(S21)。そして、時間計測部230が、受信タイマのカウントを開始し、フレームを受信してからの経過時間の測定を開始する。
フレーム受信ECU200は、エラーフレームを受信するか否か確認しつつ、フレームを受信してから所定の待機時間が経過するまでの間、待機する(S23〜S24)。この待機時間内にエラーフレームを受信したことをエラーフレーム認知部220が認知した場合(S24−YES)には、受信フレームが偽造フレームであると判断できる。そこで、受信フレーム保存部250に一時的に格納した受信フレームを破棄する(S25)。一方、エラーフレームを受信することなく、所定の待機時間が経過した場合には、受信フレームは偽造フレームではなく正常なフレームであると判断できる。そこで、受信フレーム保存部250に一時的格納した受信フレームをフレーム処理部240に転送して、フレーム
を用いた処理を実行する(S26)。
を用いた処理を実行する(S26)。
上述のようにして、フレーム受信ECU200は、受信したフレームが偽造フレームではないことを確認してから、そのフレームを用いた処理を行えるようになる。したがって、偽造フレームが流通した場合であっても、フレーム受信ECU200がそのフレームを用いて処理を行ってしまうことを防止可能となる。
<変形例>
上記の説明は、本発明の実施形態を例示的に説明したものであり、本発明は上記の実施形態に限定して解釈されるべきではなく、本発明の技術的思想の範囲内で種々の変形が可能である。
上記の説明は、本発明の実施形態を例示的に説明したものであり、本発明は上記の実施形態に限定して解釈されるべきではなく、本発明の技術的思想の範囲内で種々の変形が可能である。
上記の説明では、システム内に1つの偽造判定ECU100のみが存在するものとして説明したが、システム内に2つ以上の偽造判定ECU100が存在してもよいし、全てのECUが偽造判定ECU100の機能を有してもよい。このようにシステム内に複数の偽造判定ECUが存在する場合には、偽造判定ECU100にもフレーム受信ECU200の機能を設けて、偽造フレームの警告に対応できるようにすることが好ましい。
上記の説明では、擬似エラーフレームの送信(電圧印加部を介したエラーフレームの送信)を、自ノードが送信すべきCAN−IDを有するフレームを受信した時としているが、その他の異常を検知したときに擬似エラーフレームを送信するようにしてもよい。たとえば、フレーム内のデータを検査して、そのデータに異常があると判定できる場合に擬似エラーフレームを送信してもよい。あるいは、あるノードが故障などして定期的に異常なフレームを送信することが予期される場合には、その送信タイミングに合わせて擬似エラーフレームを送信することで、異常フレームが処理されるのを防ぐようにできる。
また上記の説明では、電圧印加部を介してエラーフレームを送信する例を説明したが、電圧印加部を介してエラーフレーム以外の任意のフレームを送信するようにしてもよい。すなわち、マイクロプロセッサが電圧印加部への出力を制御して、ドミナント状態とリセッシブ状態の電圧を任意のパターンでCANバスに印加して、任意のフレームを送信するようにしてもよい。すなわち、上記の説明における擬似エラーフレーム送信部に代えて、任意のフレームを送信するように電圧印加部に対する電圧制御信号を出力する擬似フレーム送信制御機能を設けるようにしてもよい。このような機能を持つCANノードは、例えば、実機を用いたファジングテストに好適に用いることができる。すなわち、本発明の手法によってCANプロトコルに従わないフレームを実際に送信して、他のノードがそれに対して適切に対応できるか否か検証するテストが容易に行える。
また上記の説明では、CANバスネットワークを例に説明を行ったが、既存の通信制御装置(CANコントローラなど)を迂回して、直接バスネットワークに電圧印加を行うという手法は、CANバスネットワーク以外にも適用可能である。特に、CANと同様にマルチマスター方式のネットワークシステムに、本発明の手法を好適に適用可能である。
11:マイクロコントローラ 12:CANコントローラ 13:CANトランシーバ
14:電圧印加部
100:偽造判定ECU
110:フレーム送受信部 120:フレーム判定部 130:擬似エラーフレーム送信部
140:電圧印加部 150:自己CAN−ID保存部
200:フレーム受信ECU
210:フレーム送信部 220:エラーフレーム認知部 230:時間計測部
240:フレーム処理部 250:受信フレーム保存部
14:電圧印加部
100:偽造判定ECU
110:フレーム送受信部 120:フレーム判定部 130:擬似エラーフレーム送信部
140:電圧印加部 150:自己CAN−ID保存部
200:フレーム受信ECU
210:フレーム送信部 220:エラーフレーム認知部 230:時間計測部
240:フレーム処理部 250:受信フレーム保存部
Claims (11)
- バスネットワークに接続される通信装置であって、
マイクロプロセッサと、
前記バスネットワークに接続され、前記マイクロプロセッサと前記バスネットワークの間の通信の制御を行う通信制御装置と、
前記バスネットワークおよび前記マイクロプロセッサに接続され、前記マイクロプロセッサからの出力に基づいて、前記バスネットワークに対して所定の電圧を印加する電圧印加手段と、
を備える通信装置。 - 前記バスネットワークは、CANバスネットワークであり、
前記通信制御装置は、CANコントローラおよびCANトランシーバである、
請求項1に記載の通信装置。 - 前記マイクロプロセッサは、前記電圧印加手段への出力を制御して、前記電圧印加手段を用いて前記CANバスにフレームを送信するフレーム送信制御機能を有する、
請求項2に記載の通信装置。 - 前記フレーム送信制御機能は、前記CANバスが所定期間の間ドミナント状態となるように前記電圧印加手段に対する出力を制御することによって、前記CANバスにエラーフレームを送出する、
請求項3に記載の通信装置。 - 前記マイクロプロセッサは、前記CANコントローラを介して前記CANバスから受信したフレームが異常であるか否か判定する判定機能を有し、
前記判定機能によって、前記CANバスから受信したフレームが異常であると判定された場合に、前記フレーム送信制御機能は、前記電圧印加手段を用いて前記CANバスにエラーフレームを送出する、
請求項4に記載の通信装置。 - 前記判定機能は、自ノードが送信するCAN−IDを有するフレームを、前記CANバスから受信した場合に、当該フレームは異常であると判定する、
請求項5に記載の通信装置。 - 前記マイクロプロセッサは、前記CANコントローラを介して前記CANバスからデータを受信してから所定時間以内にエラーフレームを受信しない場合に、当該データの処理を開始する、
請求項5または6に記載の通信装置。 - CANバスに接続され、マイクロプロセッサと、前記CANバスに接続され、前記マイクロプロセッサと前記CANバスの間の通信の制御を行うCANコントローラと、前記CANバスおよび前記マイクロプロセッサに接続され、前記マイクロプロセッサからの出力に基づいて、前記CANバスに対して所定の電圧を印加する電圧印加手段と、を備える通信装置が行う、通信方法であって、
前記CANコントローラを介して、前記CANバスからフレームを受信する受信ステップと、
前記受信ステップにおいて受信したフレームが異常であるか否かを判定する判定ステップと、
前記判定ステップにおいて、前記CANバスから受信したフレームが異常であると判定
された場合に、前記電圧印加手段を用いて前記CANバスにエラーフレームを送出するエラーフレーム送出ステップと、
を含む、通信方法。 - 前記判定ステップでは、自ノードが送信するCAN IDを有するフレームを前記CANバスから受信した場合に、当該フレームは異常であると判定する、
請求項8に記載の通信方法。 - 前記受信ステップにおいてフレームを受信してから、所定時間以内にエラーフレームを受信しない場合に、当該データの処理を開始する処理ステップを、更に含む、
請求項8または9に記載の通信方法。 - 請求項8〜10のいずれか1項に記載の通信方法の各ステップをマイクロプロセッサに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014066563A JP2015192216A (ja) | 2014-03-27 | 2014-03-27 | 通信装置および通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014066563A JP2015192216A (ja) | 2014-03-27 | 2014-03-27 | 通信装置および通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015192216A true JP2015192216A (ja) | 2015-11-02 |
Family
ID=54426428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014066563A Pending JP2015192216A (ja) | 2014-03-27 | 2014-03-27 | 通信装置および通信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015192216A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106773778A (zh) * | 2016-11-21 | 2017-05-31 | 北京汽车股份有限公司 | 汽车can总线物理层仿真测试装置以及方法 |
WO2018077528A1 (de) * | 2016-10-25 | 2018-05-03 | Volkswagen Aktiengesellschaft | Erkennung von manipulationen in einem can-netzwerk mittels überprüfung von can-identifiern |
CN114002600A (zh) * | 2021-11-12 | 2022-02-01 | 北京亿华通科技股份有限公司 | 一种燃料电池发动机测试系统的错误帧排查方法 |
-
2014
- 2014-03-27 JP JP2014066563A patent/JP2015192216A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018077528A1 (de) * | 2016-10-25 | 2018-05-03 | Volkswagen Aktiengesellschaft | Erkennung von manipulationen in einem can-netzwerk mittels überprüfung von can-identifiern |
CN109891848A (zh) * | 2016-10-25 | 2019-06-14 | 大众汽车有限公司 | 借助检查can标识符识别can网络中的操纵 |
US11128650B2 (en) * | 2016-10-25 | 2021-09-21 | Volkswagen Aktiengesellschaft | Detection of manipulations in a CAN network by checking CAN identifiers |
CN109891848B (zh) * | 2016-10-25 | 2021-10-22 | 大众汽车有限公司 | 借助检查can标识符识别can网络中的操纵方法及can控制器 |
CN106773778A (zh) * | 2016-11-21 | 2017-05-31 | 北京汽车股份有限公司 | 汽车can总线物理层仿真测试装置以及方法 |
CN114002600A (zh) * | 2021-11-12 | 2022-02-01 | 北京亿华通科技股份有限公司 | 一种燃料电池发动机测试系统的错误帧排查方法 |
CN114002600B (zh) * | 2021-11-12 | 2024-03-29 | 北京亿华通科技股份有限公司 | 一种燃料电池发动机测试系统的错误帧排查方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11663330B2 (en) | Systems and methods for disabling a malicious ECU in a controller area network (CAN) bus | |
JP6685023B2 (ja) | 電子制御装置、通信方法およびプログラム | |
CN107005447B (zh) | 通信控制装置及通信系统 | |
US20180219832A1 (en) | Security apparatus, attack detection method, and storage medium | |
US10691631B2 (en) | Broadcast bus frame filter | |
CA3071776C (en) | System and method for preventing malicious can bus attacks | |
US10235516B2 (en) | Method for authenticating a networked endpoint using a physical (power) challenge | |
JP6369341B2 (ja) | 車載通信システム | |
WO2019193786A1 (ja) | ログ出力方法、ログ出力装置及びプログラム | |
JP2014236248A (ja) | 電子制御装置、電子制御システム | |
US20210258187A1 (en) | Electronic control device, electronic control method, and recording medium | |
JP6586500B2 (ja) | データバスによってメッセージシーケンスを送信するための方法及び装置並びにこうして送信されるメッセージシーケンスに対する攻撃を認識するための方法及び装置 | |
US20210044600A1 (en) | Security module for a can node | |
JP2015192216A (ja) | 通信装置および通信方法 | |
JP6838147B2 (ja) | Ecu | |
JP6369334B2 (ja) | 車載ネットワーク | |
JP6920667B2 (ja) | 情報処理装置、情報処理システム、情報処理方法、及びプログラム | |
JP6468133B2 (ja) | 車載ネットワークシステム | |
JP6573236B2 (ja) | 通信装置、および受信装置 | |
JP2015171092A (ja) | 不正データ検出装置、及び通信システム並びに不正データ検出方法 | |
JP2019047177A (ja) | 監視装置、監視システムおよびコンピュータプログラム | |
JP6365876B2 (ja) | ノード | |
JP2015207937A (ja) | 通信装置 | |
JP6149716B2 (ja) | 車載ネットワークシステム | |
KR20240043982A (ko) | 차량 네트워크의 Bus-off 공격 기반 가장 공격 탐지 방법 및 이를 탐지하는 장치 |