JP2018170591A - 通信装置、通信方法及び制御プログラム - Google Patents

通信装置、通信方法及び制御プログラム Download PDF

Info

Publication number
JP2018170591A
JP2018170591A JP2017065525A JP2017065525A JP2018170591A JP 2018170591 A JP2018170591 A JP 2018170591A JP 2017065525 A JP2017065525 A JP 2017065525A JP 2017065525 A JP2017065525 A JP 2017065525A JP 2018170591 A JP2018170591 A JP 2018170591A
Authority
JP
Japan
Prior art keywords
message
dummy
vehicle
controller
bus
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
Application number
JP2017065525A
Other languages
English (en)
Inventor
信貴 川口
Nobutaka Kawaguchi
信貴 川口
横田 薫
Kaoru Yokota
薫 横田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2017065525A priority Critical patent/JP2018170591A/ja
Publication of JP2018170591A publication Critical patent/JP2018170591A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】開発費用及び開発期間を抑制してダミーメッセージをネットワークのバスに流すシステムを構築するために有用な通信装置を提供する。【解決手段】CANプロトコルに従って通信を行う複数のECUが通信に用いるバス40に、接続される通信装置としてのECU20aは、CANプロトコルに従ってバス40に対してメッセージの授受を行うCANコントローラ22と、車両の制御のためにECUが送信するメッセージのIDとは異なるダミーメッセージ用IDとダミーデータとを含むダミーメッセージを、CANコントローラ22にバス40へ送信させる制御部21とを備える。【選択図】図3

Description

本発明は、複数の電子制御ユニットがバスを用いて通信を行うネットワークを有する制御システムのセキュリティを向上させるための技術に関する。
近年、自動車には多数の電子制御ユニット(ECU:Electronic Control Unit)が配置され、自動車の制御のために複数のECUは、車載ネットワークと称される通信ネットワークを構成する。ECUは、例えばISO11898で規定されているCAN(Controller Area Network)規格に従って、伝送路であるバスを介して通信を行う。
このCANにおいては、送受信されるデータが含まれるフレームとしてのメッセージに送信先や送信元を指す識別子は存在しない。送信ノードとなるECUはメッセージ毎にメッセージIDと呼ばれるIDを付けて送信し、各受信ノードとなる各ECUはECU毎に予め指定したメッセージIDのみを受信する。また、一般に車両内において、車載ネットワークに故障診断装置のような外部機器を接続するDLC(Data Link Coupler)が設けられており、DLCに通信計測が可能な装置を接続することで、車載ネットワークを流れるメッセージは解析され得る。
CANでは送信元が正当であるか否かを区別できず、自動車等の車両に対する攻撃者は、例えば不正な装置を車載ネットワークに接続する等により車載ネットワークにアクセスして不正なメッセージを送信することで、車載ネットワークのECUのファームウェアの不正な書き換え、又は、そのECUを通じて車内の各種アクチュエータの不正制御等を行う。メッセージの解析を行なった上で実現できるハッキングの例が知られている(例えば、非特許文献1、2参照)。このような攻撃の抑制のために、車載ネットワークで送受信されるメッセージの解析を困難にすることが有用である。
この車載ネットワークを流れるメッセージの解析を困難にする手法として、ダミーメッセージを流す方法がある(例えば、特許文献1参照)。特許文献1の方法では、中継装置が通信ルールを受信側のECUへ通知して、決定された通信ルールでダミーメッセージを介在させた一連のメッセージ群を送信する。受信側のECUは、メッセージを受信すると、通信ルールに則ってダミーメッセージであるか否かを判断し、ダミーメッセージは破棄し、正規のメッセージを取得する。
特開2013−121070号公報
K. Koscher, A. Czeskis, F. Roesner, S. Patel, T. Kohno, S. Checkoway, D. McCoy, B. Kantor, D. Anderson, H. Shacham, S. Savage、「Experimental security analysis of a modern automobile」、IEEE Symposium on Security and Privacy 2010、2010年、p.447-462 Dr. Charlie Miller, Chris Valasek、「Adventures in Automotive Networks and Control Units」、DEF CON 21, Las Vegas, NV、2013年8月
ところで、複数のECUがバスを介して通信する車載ネットワークを含む車両等の既存の制御システムにおいて、メッセージの解析を困難にするためにダミーメッセージをバスに流す方法を導入する場合には、各ECUの構成の変更が必要となる。また、新たなメッセージの送受信のための部品等の増加に伴ってECUのサイズが大きくなれば更に車両内でのECU及び配線のレイアウト変更等が必要となる。このためダミーメッセージを流す方法の導入には、制御システムの設計変更から検査までに、相応の費用及び期間がかかる。
そこで、本発明は、開発費用及び開発期間を抑制してダミーメッセージをバスに流す制御システムを構築するために有用な通信装置を提供する。また、本発明は、その通信装置で用いられる通信方法及び制御プログラムを提供する。
上記課題を解決するために本発明の一態様に係る通信装置は、CAN(Controller Area Network)プロトコルに従って通信を行う複数のECU(Electronic Control Unit)が接続されるバスに接続される通信装置であって、前記CANプロトコルに従って前記バスに対してメッセージの授受を行うCANコントローラと、制御システムの制御のために前記複数のECUが送信するメッセージのIDとは異なるダミーメッセージ用IDとダミーデータとを含むダミーメッセージを、前記CANコントローラに前記バスへ送信させる制御回路と、を備える通信装置である。
また、上記課題を解決するために本発明の一態様に係る通信方法は、CAN(Controller Area Network)プロトコルに従って通信を行う複数のECU(Electronic Control Unit)が接続されるバスに接続される通信装置におけるCANコントローラに、制御システムの制御のために前記複数のECUが送信するメッセージのIDとは異なるダミーメッセージ用IDとダミーデータとを含むダミーメッセージを、前記バスへ送信させる、通信方法である。
また、上記課題を解決するために本発明の一態様に係る制御プログラムは、CAN(Controller Area Network)プロトコルに従って、バスに対してメッセージの授受を行うCANコントローラとマイクロプロセッサとを備える通信装置に通信制御処理を行わせるための制御プログラムであって、前記通信制御処理は、前記CANコントローラに前記バスからメッセージを逐次受信させ、受信された各メッセージのIDとは異なるダミーメッセージ用IDとダミーデータとを含むダミーメッセージを、前記CANコントローラに前記バスへ送信させる、制御プログラムである。
本発明によれば、メッセージの解析を困難にする制御システムの開発に既存の制御システムを十分活用し得るので、開発費用及び開発期間が抑制され得る。
実施の形態1に係る車載ネットワークシステムの全体構成を示す図である。 CANプロトコルで規定されるデータフレームのフォーマットを示す図である。 実施の形態1に係るECUの構成図である。 実施の形態1に係るECUのハードウェア構成例を示す図である。 実施の形態1に係るECUにおける通信制御処理の一例を示すフローチャートである。 実施の形態1に係るECUの動作例を示すフローチャートである。 実施の形態2に係るECUにおける通信制御処理の一例を示すフローチャートである。 実施の形態2に係るダミーメッセージ送信用ECUのバスへの接続のイメージを示す図である。
(本発明の基礎となった知見等)
車両において複数の電子制御ユニット(ECU)がCANプロトコルに従ってバスを介してメッセージの授受を行う車載ネットワークシステムの開発では、各ECUの構成、各ECUの車両への配置等の設計、製造、検査等に多くの時間を要する。
ECUは、マイクロプロセッサ等の集積回路を備えるマイクロコンピュータを含んで構成される。各ECUは、相互に通信し、例えば、イメージセンサ、温度センサ等により取得された情報の授受を行う。また、各ECUは、取得した情報に基づいて予め定められた演算処理を行うことで制御パラメータ等を生成し、制御パラメータを用いて、車両のエンジン、ブレーキ等といった各種アクチュエータの制御を行う。
なお、ECUの機能は、例えば、マイクロプロセッサ等により実行される制御プログラムを変更すること等により変更し得る。また、ECUは、マイクロコンピュータを含むので、振動、熱、水等への耐性が弱い。これらを踏まえて、車両におけるECUの配置の設計、検査等を行うには、多くの時間がかかる。
ECUのマイクロコンピュータは、CANプロトコルに従った通信を実現するためのCANコントローラを含む。CANコントローラは、送信すべきメッセージのID、受信すべきメッセージのIDが予め指定されたメッセージスロット(メッセージバッファとも称する)を備える。ECU用の既存のマイクロコンピュータ内に備えられるメッセージスロットの数は、マイクロコンピュータの性能に応じて、例えば32、64、128等の固定数である。
車載ネットワークシステムの開発においては、各ECUが用いるメッセージの数を考慮して、各ECUについてそのECUを構成することとなるマイクロコンピュータが、既存のマイクロコンピュータの中から選定される。しかし、ECUが用いるメッセージの数は、必ずしも32、64、128等とは限らない。このため、製品化されたECUのマイクロコンピュータ内には、いくつかの使用されないメッセージスロットが存在し得る。
また、車両開発においては、製造コスト削減等の観点から複数のECUの統合が進められる。例えば、所謂マイナーチェンジ前の車両モデルの車両に搭載されていた複数のECUは、マイナーチェンジ後の車両モデルの車両では、その複数のECUと同等の機能を有する1つのECUに統合される。この統合により削除されたECUが占有していた搭載位置は、車両部品が搭載されない空き領域となる。
また、車両開発においては、部品管理上、部品品番共通化の観点から、グレードの高低の違い等で車両モデルが多少異なる複数の車両で、同一のECUその他の部品を用いることがある。また、低グレード車において、接続すべきECUが存在しないものの、部品品番共通化のため、ECUを接続するためのコネクタ、そのコネクタまでの分岐した配線等を備えることがある。
以上のことから、本発明者らは、開発費用及び開発期間を抑制してダミーメッセージをバスに流す車載ネットワークシステムを構築するための1つの方法として、既に開発された車両の車載ネットワークシステムにおけるECUのうち1つ以上のECUのマイクロコンピュータの未使用のメッセージスロットを活用することに想到した。そのECUの未使用のメッセージスロットをダミーメッセージの送信に活用する方法によれば、既に開発された車両におけるそのECUのハードウェア構成、配線、配置等に係る設計、製造、検査等の結果を利用できる。
また、本発明者らは、別の1つの方法として、ECUの統合により、既に開発された車両の車載ネットワークシステムにおける1つのECUが削除されるときに生じる空き領域に、ダミーメッセージの送信を行う通信装置を配置することに想到した。同様に、低グレード車におけるコネクタ、配線等を備えてECUが存在しない空き領域にも、ダミーメッセージの送信を行う通信装置を配置し得る。この通信装置の配置については、その削除されるECU或いは高グレード車に実装されたECUについての配置に係る検査の結果等を利用できる。このため、ダミーメッセージをバスに流す車載ネットワークシステムの開発費用等の抑制が可能となる。
また、ダミーメッセージをバスに流す車載ネットワークシステムにおいて、ダミーメッセージのIDとして車両の制御に使用されるメッセージIDが用いられると、そのメッセージIDを有するメッセージを受信する全てのECUにて、受信したメッセージが車両の制御に本来必要な正規のメッセージかダミーメッセージかを判別して取捨選択する仕組みが必要となる。例えば、特許文献1の方法では、ダミーメッセージに係る通信ルールに基づいて各ECUが、ダミーメッセージと正規のメッセージとの判別を行う。ECUにこの判別の仕組みを設けるには、相応の開発費用等を要する。
そこで、この問題に鑑みて、本発明者らは、更に1つの方法として、車両の制御のためにECUが送信するメッセージのメッセージIDとは異なる値のメッセージIDを有するダミーメッセージを送信する通信装置に想到した。これにより、車両の制御のためのメッセージIDを有するメッセージを受信するECUは、既に開発された車両におけるECUと同様で良く、ダミーメッセージか否かについての判別のための仕組みを必要としなくなる。このため、開発費用及び開発期間を抑制してダミーメッセージをバスに流す車載ネットワークシステムの構築が可能になる。
車両の車載ネットワークシステムの構築に有用な通信装置について説明したが、この通信装置は、車両以外のロボット等の制御システムの制御のためのネットワークにも利用可能である。
本発明の一態様に係る通信装置は、CAN(Controller Area Network)プロトコルに従って通信を行う複数のECU(Electronic Control Unit)が接続されるバスに接続される通信装置であって、前記CANプロトコルに従って前記バスに対してメッセージの授受を行うCANコントローラと、制御システムの制御のために前記複数のECUが送信するメッセージのIDとは異なるダミーメッセージ用IDとダミーデータとを含むダミーメッセージを、前記CANコントローラに前記バスへ送信させる制御回路と、を備える通信装置である。この通信装置は、車両等の制御システムの制御に使用されないメッセージIDを含むダミーメッセージを送信する。受信側となる電子制御ユニット(ECU)は、ダミーメッセージか車両等の制御システムの制御に使用するメッセージかを判断する機構を特に有する必要がない。CANのバスにダミーメッセージを流さない既存の制御システムにおける1つ以上のECUは、予め指定したメッセージIDのみを受信する従来の構成によって、通信装置が送信するダミーメッセージを受信しない。このため、その1つ以上のECUを変更することなく利用して、バスにダミーメッセージを流す方法を導入した制御システムを構築し得る。従って、この通信装置を用いることで、メッセージの解析を困難にする制御システムの開発に、既存の制御システムを十分活用でき、その開発費用の増大化及び開発期間の長期化を抑制できる。
また、例えば、前記制御回路は、前記制御システムの制御のために前記複数のECUが送信するメッセージを前記CANコントローラに逐次受信させ、受信された全てのIDと異なる値を前記ダミーメッセージ用IDとして選定することとしても良い。この通信装置はECUに受信されるべきメッセージのID(メッセージID)の情報を自ら収集することでダミーメッセージのIDを選定する。このため、複数のECUを備える既存の制御システムの1つのECUをこの通信装置として機能させる、或いは、その既存の制御システムにこの通信装置を追加する等により比較的容易にメッセージの解析を困難にする制御システムが構築可能となる。
また、例えば、前記制御システムは、前記複数のECUを搭載する車両であり、前記制御回路は、前記車両で前記複数のECUへの電力供給が開始された際に、前記車両の制御のために前記複数のECUが送信するメッセージを前記CANコントローラに逐次受信させることで、前記ダミーメッセージ用IDの前記選定を行うこととしても良い。これにより、通信装置は、車載ネットワークで流すダミーメッセージの選定を、車載ネットワークの稼働の初期段階において迅速に実行して、それ以後にダミーメッセージの送信を行い得る。ECUと通信装置とへの電力供給の開始が略同時である場合においては、通信装置は自装置の起動直後から例えば数秒等の一定時間内を、車両のECUへの電力供給が開始された際と看做し得る。また、ECUより通信装置が先に起動している場合においては、通信装置は、ECUへの電力供給開始のためのユーザ(例えば車両の乗員)による操作が検知された際を、車両のECUへの電力供給が開始された際と看做し得る。このようなユーザによる操作には、例えば、車両をアクセサリ−オン(ACC−ON)状態にする操作、車両のエンジン始動の操作等がある。
また、例えば、前記通信装置は、前記バスを介して前記制御システムの制御のために前記複数のECUと通信を行う1つのECUであり、前記CANコントローラは、前記バスとの間で授受されるメッセージの格納用として、2以上の所定数のメッセージスロットと、前記所定数のメッセージスロットのそれぞれについて当該メッセージスロットが前記バスとの間で授受するメッセージのIDを記憶するためのID設定用レジスタとを備え、前記ID設定用レジスタの記憶内容に従って前記バスと各メッセージスロットとの間でメッセージの授受を行い、前記制御回路は、前記所定数のメッセージスロットの一部について、前記制御システムの制御のためのメッセージのIDを前記ID設定用レジスタに設定し、前記所定数のメッセージスロットのうち前記一部以外のメッセージスロットについて、前記CANコントローラに前記ダミーメッセージを送信させるように前記ダミーメッセージ用IDを前記ID設定用レジスタに設定することとしても良い。これにより、複数のECUが通信するバスにダミーメッセージを流さない既存の制御システムの1つのECUを用いて、この通信装置として機能させることが可能となる。従来のECUに備えられるCANコントローラは、32、64、128等といった所定数のメッセージスロットを有するが、いくつかのメッセージスロットが未使用の場合がある。既存の制御システムにおける、未使用のメッセージスロットを有するCANコントローラを備える1つのECUに、本来の機能に加えて、ダミーメッセージを送信する通信装置としての機能を担わせることで、ダミーメッセージを流す制御システムが実現される。このように既存の制御システムにおけるECUのハードウェアを活用することで、制御システムでの通信装置の配置のためのレイアウト設計が省略できる。
また、例えば、前記制御回路は、前記所定数のメッセージスロットのうち前記一部以外の全てのメッセージスロットのそれぞれについて、相互に異なる値の前記ダミーメッセージ用IDを前記ID設定用レジスタに設定することとしても良い。これにより、未使用のメッセージスロットを有するCANコントローラを備えるECUにより実現可能な通信装置において、その未使用のメッセージスロットを最大限に有効活用してダミーメッセージの複雑さを高め、メッセージの解析の困難性を高めることが可能となる。
また、例えば、前記制御回路は、前記CANコントローラに前記ダミーメッセージを繰り返し送信させ、送信毎にランダムとなる値を前記ダミーデータとして前記ダミーメッセージに含ませることとしても良い。これにより、送信毎に一様でない乱数、疑似乱数等による値を含むダミーメッセージが送信されることになる。このため、制御システムのネットワークを流れるメッセージの解析の困難性を一層高めることが可能となる。
また、例えば、前記制御回路は、前記CANコントローラに前記ダミーメッセージを繰り返し送信させ、送信の際における前記制御システムの状態に応じて決定した値を前記ダミーデータとして前記ダミーメッセージに含ませることとしても良い。制御システムの状態は、例えば制御システムを車両とした場合には、車載センサで測定された測定値等に応じて変化する状態、車両内のアクチュエータの動作状態、車両に対する乗員の操作に応じて変化する状態等である。これにより、送信毎に一様でない値を含むダミーメッセージが送信されることになる。このため、制御システムのネットワークを流れるメッセージの解析の困難性を一層高めることが可能となる。
また、例えば、前記制御回路は、前記制御システムの状態の変化を検知する毎に、当該検知の際に前記CANコントローラに前記ダミーメッセージを送信させることとしても良い。これにより、例えば制御システムを車両とした場合において、例えば車両が走行状態から停止状態へ変化した等の一定の変化を検知することとすれば、その状態の変化の度にダミーメッセージが送信されることとなる。このダミーメッセージは、制御システムの状態と関連した正規のメッセージと紛らわしくなるので、メッセージの解析の困難性が高まる。
また、例えば、前記制御回路は、前記CANコントローラによる前記バスに現れるメッセージの受信に基づいて決定した送信タイミングで、前記CANコントローラに前記ダミーメッセージを送信させることとしても良い。これにより、ダミーメッセージが、正規のメッセージの受信に対応した送信タイミングで送信されるので、その正規のメッセージの受信に対応して送信される他の正規のメッセージと紛らわしくなる。このため、メッセージの解析の困難性が高まる。
また、例えば、前記制御回路は、前記送信タイミングとして、前記CANコントローラが前記バスから所定IDのメッセージを受信する度に、前記CANコントローラに前記ダミーメッセージを送信させることとしても良い。これにより、所定IDとして例えばアクチュエータ等の制御の契機となるメッセージのIDを適切に定めておくことで、制御と連動してダミーメッセージが送信されることとなるので、メッセージの解析の困難性が高まる。
また、例えば、前記制御回路は、前記バスのトラフィック量に応じて前記送信タイミングの前記決定を行うこととしても良い。これにより、通信装置は、バスのトラフィック量に応じて、送信するダミーメッセージの数量、送信頻度等を変化させ得る。このため、例えば、バスのトラフィック量が高い場合には送信するダミーメッセージの数量を低減させること等によって、正規のメッセージに係る通信への悪影響を低減させ得る。
また、例えば、前記制御システムは、前記複数のECUを搭載する第1車両であり、前記通信装置は、前記第1車両において、車両内の特定領域に配置され、前記複数のECUのうち一部のECUと同種のECUを、前記第1車両と同じ配置で搭載した第2車両において、前記第1車両と同じ特定領域に別の1つのECUが配置されていることとしても良い。一例としては、第1車両は、マイナーチェンジ後の車両モデルの車両であり、第2車両は、マイナーチェンジ前の車両モデルの車両である。第1車両と第2車両とでは、通信装置或いはECUの配置位置としての特定領域の検査を、共通化できる。このため、仮に先に第2車両の検査で特定領域がECUの配置として適正であると評価されていれば、第1車両にECUと同様の通信機器である通信装置を搭載するに際して、新たな検査を省略し得る。このように、複数のECUで構成される車載ネットワークを有する第2車両について既になされた設計から検査までの開発工程の各作業内容等を、その第2車両の一部のECUと同じ配置のECUを含んで構成される車載ネットワークを有する第1車両の開発において十分活用できる。また、第1車両及び第2車両の同じ特定領域には、第1車両にダミーメッセージを送信する通信装置が、第2車両にはECUが存在し、バス等の配線及びコネクタは共通となるので、同じ長さで同じ形状の配線及びコネクタを一括生産して利用し得る。
また、本発明の一態様に係る通信方法は、CAN(Controller Area Network)プロトコルに従って通信を行う複数のECU(Electronic Control Unit)が接続されるバスに接続される通信装置におけるCANコントローラに、制御システムの制御のために前記複数のECUが送信するメッセージのIDとは異なるダミーメッセージ用IDとダミーデータとを含むダミーメッセージを、前記バスへ送信させる、通信方法である。これにより、メッセージの解析を困難にする制御システムの開発に、既存の制御システムを十分活用でき、その開発費用の増大化及び開発期間の長期化を抑制できる。
また、本発明の一態様に係る制御プログラムは、CAN(Controller Area Network)プロトコルに従って、バスに対してメッセージの授受を行うCANコントローラとマイクロプロセッサとを備える通信装置に通信制御処理を行わせるための制御プログラムであって、前記通信制御処理は、前記CANコントローラに前記バスからメッセージを逐次受信させ、受信された各メッセージのIDとは異なるダミーメッセージ用IDとダミーデータとを含むダミーメッセージを、前記CANコントローラに前記バスへ送信させる、制御プログラムである。この制御プログラムを、既存の制御システムにおけるプロセッサ(マイクロプロセッサ)を備える装置と同様の通信装置にインストールすることにより、そのプロセッサが制御プログラムを実行することで、ダミーメッセージを送信することが可能となる。このため、メッセージの解析を困難にする制御システムの開発に、既存の制御システムを十分活用でき、その開発費用の増大化及び開発期間の長期化を抑制できる。
なお、これらの全般的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なCD−ROM等の記録媒体で実現されても良く、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されても良い。
以下、実施の形態に係る通信方法を用いる通信装置としての、ダミーメッセージを送信する電子制御ユニット(ECU)を含む車載ネットワークシステムについて、図面を参照しながら説明する。ここで示す実施の形態は、いずれも本発明の一具体例を示すものである。従って、以下の実施の形態で示される数値、構成要素、構成要素の配置及び接続形態、並びに、ステップ(工程)及びステップの順序等は、一例であって本発明を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
(実施の形態1)
[1.1 車載ネットワークシステム10の全体構成]
図1は、実施の形態1に係る車載ネットワークシステム10の全体構成を示す図である。
車載ネットワークシステム10は、CANプロトコルに従って通信するネットワーク通信システムの一例であり、車両1における車載ネットワーク11を含む。車両1は、自動車であり、アクチュエータ、制御装置、センサ等の各種機器が搭載された一種の制御システムである。
車載ネットワークシステム10は、バス40と、ECU20a〜20dと、DLC(Data Link Coupler)15とを含んで構成される。図1では省略しているものの、車載ネットワークシステム10にはECU20a〜20d以外にもいくつものECUが含まれ得るが、ここでは説明の便宜上、ECU20a〜20dに注目して説明を行う。各ECUは、CAN用のワイヤハーネスによってバス40に接続される。また、図1では省略しているが、各ECUは、例えばシリアル通信用のワイヤハーネス等の伝送路により、エンジン、ブレーキ、ドア開閉センサ、窓開閉センサ等といった、アクチュエータ、制御装置、センサ等の機器と接続され得る。車載ネットワーク11は、ECU20a〜20d及びDLC15が伝送路であるバス40に接続されることで構成される。各ECUは、CANプロトコルに従ってバス40を介して車両1の制御のためのメッセージの授受を行う。例えば、センサに接続されたECUから、センサで取得された情報に基づくデータを含むメッセージが周期的にバス40に送信される。また、車両1内のアクチュエータに接続されたECUでは、バス40から受信したメッセージに基づいてアクチュエータの制御内容を決定して制御する。
DLC15には、故障診断装置等の通信計測が可能な外部機器を接続できる。外部機器をDLC15に接続すること等により、外部機器でバス40に流れるメッセージを受信し得る。このため、攻撃者等は、外部機器をDLC15に接続すること等により、バス40に流れるメッセージを取得して解析し得る。この解析を困難にするために、車載ネットワークシステム10では、バス40にダミーメッセージを送信するECU20aを有する。ここでは、バス40を介して車両1の制御のためのメッセージの授受を行うECU20a〜20dのうちの1つであるECU20aが、車両1の制御のためのメッセージに係る処理機能に加えて、ダミーメッセージを送信する機能を有するものとする。
車載ネットワークシステム10においてはCANプロトコルに従って各ECUがメッセージとしてのデータフレーム等といったフレームの授受を行う。CANプロトコルにおけるフレームには、データフレーム、リモートフレーム、オーバーロードフレーム及びエラーフレームがある。ここでは、データフレームに着目して説明を行う。
[1.2 データフレームフォーマット]
以下、CANプロトコルに従ったネットワークで用いられるフレームの1つであるデータフレームについて説明する。
図2は、CANプロトコルで規定されるデータフレームのフォーマットを示す図である。同図には、CANプロトコルで規定される標準IDフォーマットにおけるデータフレームを示している。データフレームは、SOF(Start Of Frame)、IDフィールド、RTR(Remote Transmission Request)、IDE(Identifier Extension)、予約ビット「r」、DLC(Data Length Code)、データフィールド、CRC(Cyclic Redundancy Check)シーケンス、CRCデリミタ「DEL」、ACK(Acknowledgement)スロット、ACKデリミタ「DEL」、及び、EOF(End Of Frame)の各フィールドで構成される。
IDフィールドは、11bitで構成される、データの種類を示す値であるID(メッセージIDとも称する)を格納するフィールドである。複数のノードが同時に送信を開始した場合、このIDフィールドで通信調停を行うために、IDが小さい値を持つフレームが高い優先度となるよう設計されている。
データフィールドは、最大64bitで構成され、データを格納するフィールドである。
メッセージを送信する各ECUは、車載ネットワークシステム10の仕様として予め定められた種類のデータをデータフィールドに格納し、その種類のデータに対応して予め定められたメッセージIDをIDフィールドに格納することでデータフレームを構築して送信することになる。車両製造者(車両メーカ)等により、車載ネットワークシステム10の仕様として、車両1の制御のためのメッセージに用いられるメッセージIDと、対応するデータの構成等とが、予め定められている。
[1.3 ECU20aの構成]
ECU20aは、ハードウェア面において、例えば、プロセッサ(つまりマイクロプロセッサ)、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ROM、RAM等であり、プロセッサにより実行される制御プログラム(つまりコンピュータプログラム)を記憶することができる。制御プログラムは、例えば通信制御処理等を、ECU20aに実行させるためのプログラムである。ECU20aは、例えばプロセッサが制御プログラムに従って動作することにより、車両の制御のための機能、ダミーメッセージの送信機能等といった各種機能を実現することになる。制御プログラムは、所定の機能を達成するために、プロセッサに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
図3は、ECU20aの構成図である。同図では、主にバス40でメッセージの授受を行うための構成を示している。ECU20aは、CANプロトコルに係る処理を行うCANコントローラ22と、メッセージ処理のためにCANコントローラ22を制御する制御部(制御回路)21とを備える。
ECU20aの制御部21は、例えばメモリに格納された制御プログラムを実行するプロセッサにより実現され、CANコントローラ22を制御する。具体的には、制御部21は、車両1の制御のために予め定められたメッセージIDのメッセージ(つまりそのメッセージIDを含むデータフレーム)を生成して、CANコントローラ22にバス40へ送信させる機能、或いは、そのメッセージをCANコントローラ22にバス40から受信させて処理する機能を有する。また、制御部21は、ECU(つまりECU20a自身及びECU20b〜20d等)が車両1の制御のために送信するメッセージのメッセージIDとは異なる値のダミーメッセージ用IDとダミーデータとを含むダミーメッセージを、CANコントローラ22にバス40へ送信させる機能を有する。ダミーメッセージも、データフレームである。
CANコントローラ22は、CANプロトコルに従って、バス40に対するメッセージの授受等を含む通信制御を行う。CANコントローラ22は、図3に示すように、128個のメッセージスロットを有する。メッセージスロットは、バス40との間で授受されるメッセージの格納用のバッファである。CANコントローラ22は、各メッセージスロットに対応してそのメッセージスロットがバス40との間で授受するメッセージ(つまり送受信の対象となるメッセージ)のメッセージIDを記憶するための、128個のID設定用レジスタを有する。例えば、ID設定用レジスタ#1は、バス40に対してメッセージスロット#1より送信或いは受信されるメッセージのメッセージIDを設定するレジスタである。また例えば、ID設定用レジスタ#2は、バス40に対してメッセージスロット#2より送信或いは受信されるメッセージのメッセージIDを設定するレジスタである。
CANコントローラ22は、各ID設定用レジスタの記憶内容に従ってバス40と各メッセージスロットとの間でメッセージの授受を行う。CANコントローラ22のメッセージスロットの数は、ここでは128個としたが、これは例示であり、例えば64個であっても、32個であっても良い。但し、CANコントローラ22が有するメッセージスロットの数は、車両1の制御のための機能で利用するメッセージスロットの数より多く、車両1の制御の上では余剰となるメッセージスロットが存在するものとする。この余剰のメッセージスロットは、ダミーメッセージの送信機能を実現するために利用される。
CANコントローラ22の各メッセージスロットを機能させてCANの通信を行うためには、CANコントローラ22のID設定用レジスタに、送信又は受信するメッセージのメッセージIDの値を設定しておく必要がある。なお、ID設定用レジスタ#1に、例えば受信対象のメッセージIDが20であることを設定しておくと、CANコントローラ22により、バス40からメッセージIDが20であるメッセージが受信されるとそのメッセージがメッセージスロット#1に格納される。ID設定用レジスタ#2に、例えば送信対象のメッセージIDが30であることを設定しておくと、CANコントローラ22により、メッセージスロット#2に格納されたデータを含みメッセージIDが30であるメッセージが、バス40に送信される。
CANコントローラ22は、受信するメッセージのメッセージIDをフィルタリングするマスクレジスタ(ビットマスク或いはビットオプションとも称する)機能によって、1つのメッセージスロットに対して複数のメッセージIDを割り当てることが可能である。いずれのID設定用レジスタにも受信対象のメッセージIDとして設定されていないメッセージIDを有するメッセージがバス40に流れた場合には、CANコントローラ22は、そのメッセージをバス40から受信しない。
CANコントローラ22は、図3に示す構成の他に、メッセージ設定用レジスタ、送信用メッセージ転送レジスタ、受信用メッセージ転送レジスタ等を含む。制御部21が、送信すべきメッセージの内容としてのデータを、メッセージ設定用レジスタに格納して、送信用メッセージ転送レジスタに転送制御のための情報を設定することで、CANコントローラ22はその転送制御のための情報に従ってそのデータをメッセージスロットに転送する。
CANコントローラ22は、メッセージスロットに転送されたデータを、バス40が通信可能な状態であれば、メッセージIDの値、その他のCANプロトコルに準拠するために必要な情報が付加されたメッセージ(図2参照)として、バス40に送信する。また、制御部21が、受信用メッセージ転送レジスタに転送制御のための情報を設定することで、CANコントローラ22はその転送制御のための情報に従って、バス40から受信してメッセージスロットに格納されたメッセージのデータをメッセージ設定用レジスタまで転送する。これにより制御部21は、メッセージ設定用レジスタ内のデータを参照して処理することができる。
図4は、ECU20aのハードウェア構成の具体的な一例を示す。同図の例では、ECU20aは、マイクロコンピュータ120を備える。マイクロコンピュータ120は、主たるプロセッサ121と、メモリ122と、上述のCANコントローラ22と、タイマ機能を実現するタイマコントローラ123と、割込機能を実現する割込コントローラ124と、入出力信号の変換のためのA/D(Analog/Digital)変換コントローラ125とを含む。メモリ122は、電力供給が途絶えても情報を保持する不揮発性メモリを含む。
図3に示した制御部21は、図4の例においては、例えばメモリ122に格納された制御プログラムを実行するプロセッサ121、タイマコントローラ123、割込コントローラ124等により実現され得る。マイクロコンピュータ120では、例えば、センサから電圧等のアナログ信号がECU20aに入力された際は、割込コントローラ124による割込通知が発生し、そのアナログ信号をA/D変換コントローラ125によりデジタル情報に変換し、デジタル情報に基づいてプロセッサ121で演算処理を行う。
また、ECU20b〜20dも、ECU20aと概ね同様のハードウェア構成を備えるが、ECU毎に制御プログラムの内容の少なくとも一部は異なり得る。ダミーメッセージの送信機能を有するECU20aの制御プログラムは、ダミーメッセージの送信に係る処理を行うための命令コード列を含むが、ECU20b〜20dの制御プログラムは、ダミーメッセージの送信に係る処理を行うための命令コード列を含まない。また、ECU20a〜20dのそれぞれのCANコントローラにおけるメッセージスロットの数は同一とは限らない。
なお、ECU20aの制御部21は、受信したメッセージに対応してECU20aに接続された機器の制御処理を行うため、或いはECU20aに接続されたセンサ等の情報に基づくメッセージの生成処理を行うために、つまり、車両の制御のために、演算処理を行う。演算処理としては、例えばECU20aに接続されたセンサ等から入力されたパルス情報を物理値に変換する処理、送信すべきメッセージのデータフィールドに格納するために物理値を複数纏める処理、受信したメッセージのデータフィールドから複数の物理値を抽出する処理等が挙げられる。
また、制御部21は、CANコントローラ22に対して、ECU20aが車載ネットワーク11に参加するために必要な、通信速度、ビットの検知のためのサンプルポイント等といったネットワークに依存する通信パラメータを設定し、どのメッセージIDを有するメッセージをどのタイミングで送受信するかを設定する。制御部21は、メッセージの送受信のタイミングの制御を、タイマコントローラ123によるタイマ機能或いは割込コントローラ124による割込機能により実現する。タイマ機能により、例えば10ms毎、1000ms毎等の定期的なメッセージ送信及び受信が実現され、割込機能により、不定期な単発のメッセージ送信及び迅速なメッセージ受信が実現される。
また、制御部21は、車両1の制御のためのメッセージの送受信を、CANコントローラ22に行わせるために、CANコントローラ22のいくつかのメッセージスロットについて、車両1の制御のためのメッセージのメッセージIDを対応するID設定用レジスタに設定する。
また、制御部21は、車両1の制御のためにECU20a〜20dが送信するメッセージを、所定時期においてCANコントローラ22に逐次受信させ、受信された各メッセージのメッセージIDを不揮発性メモリ等の記憶媒体に蓄積する。このために制御部21は、所定時期において、CANコントローラ22の1つのメッセージスロットについて受信対象を全てのメッセージIDのメッセージとするように、そのメッセージスロットに対応するID設定用レジスタに設定する。所定時期は、例えば車両1でECU20a〜20dへの電力供給が開始された際等である。
制御部21は、ECU20aの起動直後から例えば数秒等の一定時間内を、ECU20a〜20dへの電力供給が開始された際と看做しても良い。また、ECU20aは、ユーザ(例えば車両1の乗員)による車両1をアクセサリ−オン(ACC−ON)状態にする操作、車両1のエンジン始動の操作等が検知された際を、車両のECUへの電力供給が開始された際と看做しても良い。
制御部21は、不揮発性メモリ等の記憶媒体に蓄積された全てのメッセージIDと異なる値をダミーメッセージ用IDとして選定する。制御部21は、その選定したダミーメッセージ用IDとダミーデータとを含むダミーメッセージを、CANコントローラ22にバス40へと送信させるための制御を行う。
制御部21は、ダミーメッセージをCANコントローラ22に送信させるための制御として、CANコントローラ22の未使用のメッセージスロットについて、対応するID設定用レジスタに、送信対象としてダミーメッセージ用IDを設定する。CANコントローラ22の未使用のメッセージスロットとは、車両1の制御のためのメッセージの送受信に用いられていないメッセージスロット、つまり、車両1の制御のためのメッセージのメッセージIDを、対応するID設定用レジスタに設定されていないメッセージスロットである。例えば、制御部21は、CANコントローラ22の未使用の全てのメッセージスロットについて、対応するID設定用レジスタに、送信対象として相互に異なる値のダミーメッセージ用IDを設定しても良い。これにより、多様なダミーメッセージをバス40に流してメッセージの解析の困難性を高め得る。
制御部21が、ダミーメッセージをCANコントローラ22に送信させる場合に、ダミーメッセージであるデータフレームのデータフィールドの内容として含ませるダミーデータは、いかなる値のデータであっても良い。例えば、ダミーメッセージを繰り返し送信する場合において、ダミーデータを、送信毎にランダムとなる値にすることは有用である。
送信毎にランダムになる値として、つまり、一様でない値として、例えば乱数、疑似乱数等を用いることができる。疑似乱数は、例えばプロセッサ121の演算機能を利用して擬似乱数生成アルゴリズムを実行する等により生成可能である。擬似乱数の生成に用いるシード値を、ECU20aの製造時にメモリ122における不揮発性メモリの一領域に記録しておき、そのシード値を読み出して利用することにより、制御部21が、疑似乱数を生成することとしても良い。このとき、シード値を読み出す度に、予め定められたアルゴリズムに従って新たなシード値を生成して不揮発性メモリの一領域に書き戻すこと、つまりシード値を更新することとしても良い。また、制御部21は、タイマ機能で用いられるタイマカウンタ値を読み出してシード値としても良い。
また、例えば、ダミーメッセージの送信の際における車両1の状態に応じて決定した値をダミーデータとしても良い。ダミーデータの決定の基礎となる車両1の状態として、例えば、ユーザ操作、車載センサからの情報等を分類して定まる状態、車両内のアクチュエータの動作状態等が挙げられる。これにより、ダミーデータが、あたかも車両1の状態を変更する制御に関連しているようなダミーメッセージの送信が可能となり得る。
また、制御部21がCANコントローラ22にダミーメッセージを送信させるタイミングは、いかなるタイミングであっても良く、例えば一定周期で送信させても良い。ダミーメッセージの送信タイミングの制御についても、車両1の制御のためのメッセージの送受信タイミングの制御と同様に、制御部21は、タイマ機能或いは割込機能により実現し得る。例えば、制御部21は、車両1の状態の変化を検知する毎に、その検知の際にダミーメッセージをCANコントローラ22に送信させることとしても良い。車両1の状態の変化の検知は、例えば車両1が走行状態から停止状態へ変化したことの検知等である。
また、制御部21は、バス40に現れるメッセージのCANコントローラ22による受信に基づいて決定した送信タイミングで、CANコントローラ22にダミーメッセージを送信させることとしても良い。
また、制御部21は、CANコントローラ22がバス40から所定メッセージIDを有するメッセージを受信する度に、CANコントローラ22にダミーメッセージを送信させることとしても良い。所定メッセージIDは、例えば、アクチュエータ等の制御の契機となるメッセージのメッセージIDである。これにより、制御と連動してダミーメッセージがバス40に送信されるので、メッセージの解析の困難性が高まり得る。
また、制御部21は、車両1の制御のために必要なメッセージ、例えばアクチュエータ等の制御の契機となるメッセージの送信タイミングから一定時間遅延して、CANコントローラ22にダミーメッセージを送信させることとしても良い。これによっても、制御と連動してダミーメッセージがバス40に送信されるので、メッセージの解析の困難性が高まり得る。
また、制御部21は、バス40のトラフィック量に応じて、ダミーメッセージの送信タイミングを決定しても良い。例えば、バスのトラフィック量が高い場合には単位時間に送信するダミーメッセージの数量を低減させること等によって、車両1の制御のためのメッセージに係る通信への悪影響を低減させ得る。
[1.4 ECU20aの動作]
ECU20aは、他のECUと通信を行うために、バス40に対するメッセージの授受に係る通信制御処理を行う。
図5は、ECU20aにおける通信制御処理の一例を示すフローチャートである。以下、同図に即して、通信制御処理について説明する。
まず、ECU20aは、制御部21により、CANコントローラ22の1つ以上のメッセージスロット毎に対応したID設定用レジスタに、車両1の制御のために送受信されるべき各メッセージのメッセージIDの設定を行う(ステップS1)。このCANコントローラ22への設定は、ダミーメッセージの送信機能を有さない従来のCANプロトコルに準拠したECUと同様である。
なお、ダミーメッセージの送信機能を有さないECU(例えばECU20b〜ECU20d)では、このステップS1での処理がなされて通信が開始され、ステップS2〜S4での処理は行われない。ECU20aは、ダミーメッセージの送信機能のためにステップS2以降の処理を行う。
ECU20aの制御部21は、更に、マスクレジスタ機能を用いることで全てのメッセージIDを受信対象として1つのメッセージスロットに対応するID設定用レジスタに設定する(ステップS2)。
次にECU20aは、制御部21により、CANコントローラ22にバス40からメッセージを逐次受信させることで、車両1の制御のために用いられる各メッセージのメッセージIDを取得して、メモリ122等に、記録する(ステップS3)。
次に、制御部21は、記録した各メッセージIDと異なる値、つまり、受信された各メッセージのIDと異なる値を、ダミーメッセージ用IDとして決定する。制御部21は、決定したダミーメッセージ用IDを送信対象としてCANコントローラ22の未使用のメッセージスロットに対応するID設定用レジスタに設定する(ステップS4)。
そして、制御部21は、CANコントローラ22を制御してバス40に対してメッセージの授受を行わせる(ステップS5)。例えば、制御部21は、決定したダミーメッセージ用IDとダミーデータとを含むダミーメッセージを、CANコントローラ22にバス40へ送信させる。
なお、制御部21は、ダミーメッセージ用ID、ダミーデータの内容、ダミーメッセージの送信タイミング等を予め定められたアルゴリズム等に基づいて決定し得る。このような通信制御処理により、ECU20aは、車両の制御のための機能に加えてダミーメッセージの送信機能を実現できるようになる。
図6は、上述の通信制御処理を実行するECU20aの動作例を示すフローチャートである。以下、同図に即してECU20aの動作の一例を説明する。この例では、ECU20aは、マイクロコンピュータ120のメモリ122のうち揮発性メモリの一領域に、バス40から受信したメッセージのメッセージIDの値を、相異なる全ての値を識別可能に、記録するものとする。また、ECU20aは、メモリ122のうち不揮発性メモリの一領域に、ダミーメッセージ用IDを記録するものとする。
まず、車両1の乗員である運転者が、移動のために車両1を利用すべく、例えば車両1のイグニッションスイッチをオンにする等の車両1のエンジン始動の操作を行う(ステップS11)。
車両1では、エンジン始動の操作がなされると、例えば、車載ネットワーク11のバス40に接続された全てのECU(ECU20a〜20d等)に電力が供給される。ECU20a〜ECU20dでは、電力の供給を受けてマイクロコンピュータ120が起動し、プロセッサ121によるCANコントローラ22への設定が行われる(ステップS12)。このステップS12では、車両1の制御のために送受信されるべき各メッセージのメッセージIDのCANコントローラ22への設定が行われる。
次にECU20aは、制御部21により、不揮発性メモリにダミーメッセージ用IDが記録されているか否かを確認し(ステップS13)、記録されていれば、ダミーメッセージ用IDを読み出す(ステップS14)。
次にECU20aは、制御部21により、通信速度、サンプルポイント等といった通信パラメータ、及び、車両の制御に使用するメッセージのメッセージIDを、CANコントローラ22に設定する(ステップS15)。
ここでは、車両の制御に使用するメッセージIDが、メッセージスロット#1〜#100それぞれに対応するID設定用レジスタに設定されるものとして説明を続ける。ステップS15では、ECU20aは、CANコントローラ22に、更に受信対象として全てのメッセージIDを設定する。例えば、CANコントローラ22のメッセージスロット#101に対応するID設定用レジスタに、マスクレジスタ機能を用いて全てのメッセージIDが受信対象として設定される。
また、ステップS15では、ECU20aは、ダミーメッセージ用IDを読み出している場合にはそのダミーメッセージ用IDを送信対象として、CANコントローラ22の未使用のメッセージスロットに対応させるように設定する。
これにより、例えば、CANコントローラ22のメッセージスロット#102〜#128の全部又は一部に対応するID設定用レジスタに、ダミーメッセージ用IDが送信対象として設定されることになる。
ステップS15でのCANコントローラ22の設定が完了すると、ECU20aは、CANプロトコルに従った通信を、つまり他のECUとの間でのバス40を介したメッセージの授受を、開始する(ステップS16)。この通信により、例えば、車両1の制御のためのメッセージの授受等がなされる。
通信中においては、ECU20aの制御部21は、CANコントローラ22のメッセージスロット#101を経由して、バス40上に現れた全てのメッセージを受信する。制御部21は、受信したメッセージのメッセージIDの値を、相異なる全ての値を識別可能に、メモリ122の一領域に記録して、保持する。但し、制御部21は、受信したメッセージのメッセージIDの値のうち、ECU20a自身が送信したダミーメッセージのメッセージIDであるダミーメッセージ用IDについては、メモリ122の一領域への記録を行わないようにしても良い。
車両1を利用した後に、運転者は、車両1のイグニッションスイッチをオフにする等の車両1のエンジン停止の操作を行う(ステップS17)。この際に、電力供給が停止される前に、ECU20aは、メモリ122の一領域に記録している、受信したメッセージのメッセージIDの値を参照して、その全ての値以外の値をダミーメッセージ用IDとして決定し、決定したダミーメッセージ用IDを不揮発性メモリに記録する(ステップS18)。
運転者に車両1が利用される度にステップS11〜S18の手順が行われる。このため、最初はECU20aの不揮発性メモリにダミーメッセージ用IDが記録されておらずダミーメッセージが送信されなくても、次回以降の車両1の利用の際には、ECU20aからダミーメッセージが送信されるようになる。
なお、車両メーカにおいて、車両1の開発段階では、全部品が組み付けられた車両1を対象とした複数の検査工程が実行される。この検査工程では、車載ネットワーク11が複数回稼動する。従って、検査工程で図6に例示する動作がなされると、ユーザが、完成した車両1を利用する際には、既に不揮発性メモリには、ダミーメッセージ用IDが記録されている。このため、完成した車両1での車載ネットワーク11のメッセージの解析は困難なものとなる。
また、図6の動作例は、一例に過ぎず、例えば、ダミーメッセージ用IDは、ECU20aの開発段階で定めても良い。例えば、ECU20aの開発段階で、開発対象となる車両1の車載ネットワーク11の通信仕様から、車両1の制御のために各ECUが送受信すべきメッセージのメッセージIDの値を把握して、そのメッセージID以外の1つ以上の値を、1つ以上のダミーメッセージ用IDとして定めることができる。なお、定めたダミーメッセージ用IDを、上述の不揮発性メモリに予め記憶させておいても良い。
[1.5 実施の形態1の効果]
車載ネットワークシステム10では、ECU20a〜20dは、バス40を介して車両1の制御のためのメッセージの授受を行う。そして、ECU20aは、CANコントローラ22における、車両1の制御のためのメッセージの送受信に使用するメッセージスロット以外の、残りの空いているメッセージスロットを活用して、ダミーメッセージの送信機能を実現している。この場合において、ECU20b〜20dは、ECU20aのダミーメッセージの送信機能に対応して、構成を変更する必要がない。
従って、ダミーメッセージの送信機能を追加した車載ネットワークシステムを開発するために、ダミーメッセージの送信機能を有さない従来の車載ネットワークシステムの開発における設計、製造、検査等の結果を活用できる。このため、開発費用の増大化或いは開発期間の長期化を抑制して、メッセージの解析の困難性を高めた車載ネットワークが実現できる。
(実施の形態2)
実施の形態1では、ECU20aが、車両1の制御のためのメッセージの送信或いは受信の機能を有し、更にダミーメッセージの送信機能を有する例を示した。これに対して、本実施の形態では、ECU20aが、車両1の制御のためのメッセージの送信或いは受信の機能を有さず、ダミーメッセージの送信専用の通信装置である例について説明する。
[2.1 ダミーメッセージ送信用ECU]
本実施の形態に係る通信装置としてのECU(ダミーメッセージ送信用ECU100と称する)の構成は、実施の形態1で示したECU20aと概ね同様であり(図3、図4参照)、ダミーメッセージ送信用ECU100の構成要素について、実施の形態1のECU20aと同じ符号を用いて説明する。
なお、ダミーメッセージ送信用ECU100は、ここで特に説明しない点については実施の形態1で示したECU20aと同様である。また、本実施の形態に係る車載ネットワークシステムは、ここで特に説明しない点については実施の形態1で示した車載ネットワークシステム10と同様である。
本実施の形態に係る車載ネットワークシステムでは、車載ネットワーク11のバス40には、ECU20aの代わりにダミーメッセージ送信用ECUが接続される他、実施の形態1で示したようにECU20b〜20dが接続される。なお、本実施の形態は、ECUの統合の例でもあり、ECU20bが、実施の形態1におけるECU20bと同様の車両1の制御のための機能に加えてECU20aの車両1の制御のための機能を取り込んでいるものとする。
ダミーメッセージ送信用ECUの制御部21は、CANコントローラ22を制御して、バス40へのダミーメッセージの送信のために通信制御処理を行う。
図7は、ダミーメッセージ送信用ECU100における通信制御処理の一例を示すフローチャートである。以下、同図に即して、通信制御処理について説明する。
まず、ダミーメッセージ送信用ECU100は、制御部21により、マスクレジスタ機能を用いることで全てのメッセージIDを受信対象として、CANコントローラ22の1つのメッセージスロットに対応するID設定用レジスタに設定する(ステップS21)。
次にダミーメッセージ送信用ECU100は、制御部21により、CANコントローラ22にバス40からメッセージを逐次受信させることで、車両1の制御のためにECU20b〜20dが送信する各メッセージのメッセージIDを取得して、メモリ122等に、記録する(ステップS22)。
次にダミーメッセージ送信用ECU100は、制御部21により、記録した各メッセージIDと異なる値を、1つ以上のダミーメッセージ用IDとして決定する。そして、その各ダミーメッセージ用IDを送信対象としてCANコントローラ22の1つ以上の各メッセージスロットに対応するID設定用レジスタに設定する(ステップS23)。
そして、ダミーメッセージ送信用ECU100は、制御部21により、CANコントローラ22を制御してバス40に対してダミーメッセージの送信を行わせる(ステップS24)。
なお、制御部21は、ダミーメッセージに含まれるダミーメッセージ用ID及びダミーデータの内容、或いは、ダミーメッセージの送信タイミングを予め定められたアルゴリズム等に基づいて決定し得る。
[2.2 ダミーメッセージ送信用ECUの配置]
図8は、ダミーメッセージ送信用ECU100のバス40への接続のイメージを示す。例えば、ダミーメッセージの送信機能を有さない状態のECU20a〜ECU20dを含む車載ネットワークシステム10(図1参照)が、既に開発済みであるものとして説明する。例えば車両モデルのマイナーチェンジ等の場合つまり同種の車両の開発の場合において、過去の開発結果を活用できる。ダミーメッセージ送信用ECU100を備える本実施の形態に係る車載ネットワークシステムを開発するためには、同種の車両に係るその既存の車載ネットワークシステム10での開発における設計、製造、検査の結果を活用する。
まず、既に開発済みのECU20aとECU20bとの統合により、両ECUの車両の制御のための機能を併せ持つ、本実施の形態に係る新たなECU20bが製造されると、開発済みのECU20aは不要となる。そこで、車載ネットワークシステム10において開発済みのECU20aが接続されていた、バス40としてのワイヤハーネス102のコネクタ101に、ダミーメッセージ送信用ECU100を接続する。
そして、開発済みのECU20aが接続されていた車両1における配置位置である特定領域が、統合によるECU20aの削除で空き領域となるので、その特定領域と同じ位置が、ダミーメッセージ送信用ECU100の配置位置として利用される。これにより、先の開発でのECUの配置に係る検査結果が活用できる。
また、ダミーメッセージ送信用ECU100の筐体として、開発済みのECU20aの筐体を利用しても良い。また、開発済みのコネクタ101、ワイヤハーネス102等を利用することで、開発費用の低減化、開発期間の短縮等が可能となる。
また、車両1が、同種でグレードの高低の違う2つの車両モデルのうちの低グレードの車両であれば、高グレードの車両モデルの車両においてECUが配置されている特定領域と同一の位置には、ECUが存在しないで、図8に示すワイヤハーネス102及びコネクタ101が付け捨て状態で残される場合がある。
この場合にも低グレードの車両1のコネクタ101にダミーメッセージ送信用ECU100を接続することができる。これにより、ダミーメッセージ送信用ECU100は特定領域と同一の位置に配置されるので、高グレードの車両での特定領域へのECUの配置に係る検査結果の活用が可能となる。また、2つの車両モデルにおいてコネクタ101、ワイヤハーネス102の共通化により製造コストを低減させることが可能となり得る。
[2.3 実施の形態2の効果]
本実施の形態に係る車載ネットワークシステムでは、車両1の制御のための機能を有するECUの他にダミーメッセージ送信用ECUを設けるが、ダミーメッセージに用いられるメッセージIDは、車両1の制御のためのメッセージのメッセージIDとは異なる。このため、ECU20b〜20dは、ダミーメッセージの送信に対応して、構成を変更する必要がない。従って、ダミーメッセージの送信機能を追加した車載ネットワークシステムを開発するために、ダミーメッセージの送信機能を有さない従来の車載ネットワークシステムの開発における設計、製造、検査等の結果を活用できる。
また、本実施の形態に係る車載ネットワークシステムでは、ダミーメッセージ送信用ECU100の配置位置として、他の開発に係る同種の車両でECUが存在した特定領域を活用する。例えば、車両1である第1車両と、同種の、車両のマイナーチェンジがなされた第2車両とで、ECU20b〜20dの配置位置が共通である場合において、第1車両におけるダミーメッセージ送信用ECU100の配置位置は、第2車両において1つのECUが配置されている特定領域と同一位置である。
これにより、配置に係る検査等の共通化による工数削減が可能となる。第2車両と第1車両とがグレードの違う同種の車両であっても同様である。従って、開発費用の増大化或いは開発期間の長期化を抑制して、メッセージの解析の困難性を高めた車載ネットワークが実現できる。
(他の実施の形態等)
以上のように、本発明に係る技術の例示として実施の形態1、2を説明した。しかしながら、本発明に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本発明の一実施態様に含まれる。
(1)上記実施の形態1では、車載ネットワークシステム10が、バス40にダミーメッセージを送信する1つのECU20aを含む例を示したが、複数のECUが、車両1の制御のための機能の他に、ダミーメッセージの送信機能を有しても良い。また、実施の形態2で示したダミーメッセージ送信用ECUが、車載ネットワーク11において複数存在しても良い。また、車載ネットワーク11を構成する1つ以上のECUは、車両1の外部の装置と通信する機能を有しても良い。
(2)上記実施の形態では、制御システムとしての車両1の車載ネットワークシステムの構築に有用な通信装置としてのECU20a或いはダミーメッセージ送信用ECU100について説明した。しかし、車両1は、車両以外のロボット、機械等の制御システムであっても良く、車載ネットワーク11は、その制御システムに搭載されたネットワークとなる。
(3)上記実施の形態では、CANプロトコルにおけるデータフレームについてのフォーマットとして、標準IDフォーマット(図2参照)を示したが、拡張IDフォーマットであっても良く、データフレームのID(つまりメッセージID)は、拡張IDフォーマットでの拡張ID等であっても良い。また、上記実施の形態で示したCANプロトコルは、TTCAN(Time-Triggered CAN)、CANFD(CAN with Flexible Data Rate)等の派生的なプロトコルも包含する広義の意味のものとしても良い。
(4)上記実施の形態における各ECUは、例えば、プロセッサ、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置であることとしたが、ハードディスク装置、ディスプレイその他のハードウェア構成要素を含んでいても良い。また、上記実施の形態で示した各装置は、メモリに記憶された制御プログラムがプロセッサにより実行されてソフトウェア的に機能を実現する代わりに、専用のハードウェア(デジタル回路等)によりその機能を実現することとしても良い。
(5)上記実施の形態における各装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしても良い。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAM等を含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。また、上記各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又は全部を含むように1チップ化されても良い。また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現しても良い。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。更には、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。
(6)上記各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしても良い。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM等から構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしても良い。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしても良い。
(7)本発明の一態様としては、例えば図5〜図7等に示す処理手順の全部又は一部を含む通信方法であるとしても良い。例えば、通信方法は、車両1等の制御システムの制御のためにCANプロトコルに従って通信を行う複数のECU(例えばECU20b〜20d)が通信に用いるバス40に接続される通信装置(例えばECU20a、ダミーメッセージ送信用ECU100等)におけるCANコントローラ22に、車両1等の制御システムの制御のためにECUが送信するメッセージのIDとは異なる値のダミーメッセージ用IDとダミーデータとを含むダミーメッセージを、バス40へ送信させる方法である(例えば、ステップS4、S5等)。
また、本発明の一態様としては、この通信方法に係る処理をコンピュータにより実現するコンピュータプログラムとしての制御プログラムであるとしても良いし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。この通信方法に係る処理は、例えば、車両1の制御のためのメッセージのメッセージIDを特定するステップ(例えばステップS2、S3)と、特定したメッセージIDに基づいてダミーメッセージ用IDを決定してCANコントローラ22へ設定するステップ(例えばステップS4)と、ダミーメッセージの送信を行うステップ(例えばステップS5)とを含む通信制御処理である。
また、本発明の一態様としては、前記コンピュータプログラム又は前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリ等に記録したものとしても良い。また、これらの記録媒体に記録されている前記デジタル信号であるとしても良い。
また、本発明の一態様としては、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。
また、本発明の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしても良い。また、前記プログラム若しくは前記デジタル信号を前記記録媒体に記録して移送することにより、又は、前記プログラム若しくは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしても良い。
(8)上記実施の形態及び上記変形例で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。
本発明は、車載等のネットワークにおけるメッセージの解析を困難にするために利用可能である。
1 車両
10 車載ネットワークシステム
11 車載ネットワーク
21 制御部(制御回路)
22 CANコントローラ
40 バス
100 ダミーメッセージ送信用ECU
101 コネクタ
102 ワイヤハーネス
120 マイクロコンピュータ
121 プロセッサ
122 メモリ
123 タイマコントローラ
124 割込コントローラ
125 A/D変換コントローラ

Claims (14)

  1. CAN(Controller Area Network)プロトコルに従って通信を行う複数のECU(Electronic Control Unit)が接続されるバスに接続される通信装置であって、
    前記CANプロトコルに従って前記バスに対してメッセージの授受を行うCANコントローラと、
    制御システムの制御のために前記複数のECUが送信するメッセージのIDとは異なるダミーメッセージ用IDとダミーデータとを含むダミーメッセージを、前記CANコントローラに前記バスへ送信させる制御回路と、
    を備える通信装置。
  2. 前記制御回路は、前記制御システムの制御のために前記複数のECUが送信するメッセージを前記CANコントローラに逐次受信させ、受信された全てのIDと異なる値を前記ダミーメッセージ用IDとして選定する、
    請求項1記載の通信装置。
  3. 前記制御システムは、前記複数のECUを搭載する車両であり、
    前記制御回路は、前記車両で前記複数のECUへの電力供給が開始された際に、前記車両の制御のために前記複数のECUが送信するメッセージを前記CANコントローラに逐次受信させることで、前記ダミーメッセージ用IDの前記選定を行う、
    請求項2記載の通信装置。
  4. 前記通信装置は、前記バスを介して前記制御システムの制御のために前記複数のECUと通信を行う1つのECUであり、
    前記CANコントローラは、前記バスとの間で授受されるメッセージの格納用として、2以上の所定数のメッセージスロットと、前記所定数のメッセージスロットのそれぞれについて当該メッセージスロットが前記バスとの間で授受するメッセージのIDを記憶するためのID設定用レジスタとを備え、前記ID設定用レジスタの記憶内容に従って前記バスと各メッセージスロットとの間でメッセージの授受を行い、
    前記制御回路は、前記所定数のメッセージスロットの一部について、前記制御システムの制御のためのメッセージのIDを前記ID設定用レジスタに設定し、前記所定数のメッセージスロットのうち前記一部以外のメッセージスロットについて、前記CANコントローラに前記ダミーメッセージを送信させるように前記ダミーメッセージ用IDを前記ID設定用レジスタに設定する、
    請求項1〜3のいずれか一項に記載の通信装置。
  5. 前記制御回路は、前記所定数のメッセージスロットのうち前記一部以外の全てのメッセージスロットのそれぞれについて、相互に異なる値の前記ダミーメッセージ用IDを前記ID設定用レジスタに設定する、
    請求項4記載の通信装置。
  6. 前記制御回路は、前記CANコントローラに前記ダミーメッセージを繰り返し送信させ、送信毎にランダムとなる値を前記ダミーデータとして前記ダミーメッセージに含ませる、
    請求項1〜5のいずれか一項に記載の通信装置。
  7. 前記制御回路は、前記CANコントローラに前記ダミーメッセージを繰り返し送信させ、送信の際における前記制御システムの状態に応じて決定した値を前記ダミーデータとして前記ダミーメッセージに含ませる、
    請求項1〜5のいずれか一項に記載の通信装置。
  8. 前記制御回路は、前記制御システムの状態の変化を検知する毎に、当該検知の際に前記CANコントローラに前記ダミーメッセージを送信させる、
    請求項1〜7のいずれか一項に記載の通信装置。
  9. 前記制御回路は、前記CANコントローラによる前記バスに現れるメッセージの受信に基づいて決定した送信タイミングで、前記CANコントローラに前記ダミーメッセージを送信させる、
    請求項1〜7のいずれか一項に記載の通信装置。
  10. 前記制御回路は、前記送信タイミングとして、前記CANコントローラが前記バスから所定IDのメッセージを受信する度に、前記CANコントローラに前記ダミーメッセージを送信させる、
    請求項9記載の通信装置。
  11. 前記制御回路は、前記バスのトラフィック量に応じて前記送信タイミングの前記決定を行う、
    請求項9記載の通信装置。
  12. 前記制御システムは、前記複数のECUを搭載する第1車両であり、
    前記通信装置は、前記第1車両において、車両内の特定領域に配置され、
    前記複数のECUのうち一部のECUと同種のECUを、前記第1車両と同じ配置で搭載した第2車両において、前記第1車両と同じ特定領域に別の1つのECUが配置されている、
    請求項1〜11のいずれか一項に記載の通信装置。
  13. CAN(Controller Area Network)プロトコルに従って通信を行う複数のECU(Electronic Control Unit)が接続されるバスに接続される通信装置におけるCANコントローラに、
    制御システムの制御のために前記複数のECUが送信するメッセージのIDとは異なるダミーメッセージ用IDとダミーデータとを含むダミーメッセージを、前記バスへ送信させる、
    通信方法。
  14. CAN(Controller Area Network)プロトコルに従って、バスに対してメッセージの授受を行うCANコントローラとマイクロプロセッサとを備える通信装置に通信制御処理を行わせるための制御プログラムであって、
    前記通信制御処理は、前記CANコントローラに前記バスからメッセージを逐次受信させ、受信された各メッセージのIDとは異なるダミーメッセージ用IDとダミーデータとを含むダミーメッセージを、前記CANコントローラに前記バスへ送信させる、
    制御プログラム。
JP2017065525A 2017-03-29 2017-03-29 通信装置、通信方法及び制御プログラム Pending JP2018170591A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017065525A JP2018170591A (ja) 2017-03-29 2017-03-29 通信装置、通信方法及び制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017065525A JP2018170591A (ja) 2017-03-29 2017-03-29 通信装置、通信方法及び制御プログラム

Publications (1)

Publication Number Publication Date
JP2018170591A true JP2018170591A (ja) 2018-11-01

Family

ID=64020494

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017065525A Pending JP2018170591A (ja) 2017-03-29 2017-03-29 通信装置、通信方法及び制御プログラム

Country Status (1)

Country Link
JP (1) JP2018170591A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992391A (zh) * 2018-12-28 2022-01-28 阿波罗智联(北京)科技有限公司 用于解析报文的方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992391A (zh) * 2018-12-28 2022-01-28 阿波罗智联(北京)科技有限公司 用于解析报文的方法和装置
CN113992391B (zh) * 2018-12-28 2023-12-29 阿波罗智联(北京)科技有限公司 用于解析报文的方法和装置

Similar Documents

Publication Publication Date Title
JP7059413B2 (ja) 電子制御ユニット、車載ネットワークシステム及び車両用通信方法
JP6203365B2 (ja) 不正検知電子制御ユニット、車載ネットワークシステム及び不正検知方法
US20200310782A1 (en) Gateway device, in-vehicle network system, and firmware update method
JP2019201423A (ja) 不正検知ルール更新方法、不正検知電子制御ユニット及び車載ネットワークシステム
JP6469365B2 (ja) 汎用インタフェースを提供する方法、及び、汎用インタフェースを有するマイクロコントローラ
JP2017126978A (ja) 異常検知方法、異常検知装置及び異常検知システム
WO2017119246A1 (ja) 異常検知方法、異常検知装置及び異常検知システム
JPWO2016075869A1 (ja) 鍵管理方法、車載ネットワークシステム及び鍵管理装置
US20180310173A1 (en) Information processing apparatus, information processing system, and information processing method
CN104683126B (zh) 基于can总线的网络管理方法
JP5522154B2 (ja) 中継システム及び、当該中継システムを構成する中継装置、通信装置
JP2018170591A (ja) 通信装置、通信方法及び制御プログラム
JPWO2020110446A1 (ja) 車両故障予測システム、監視装置、車両故障予測方法および車両故障予測プログラム
JP6890460B2 (ja) 車両制御システム検証手法および検証装置および制御装置
JP6849782B2 (ja) 電子制御ユニット、車載ネットワークシステム及び車両用通信方法
KR20180038970A (ko) 차량 네트워크에서 선택적 웨이크업을 위한 통신 노드의 동작 방법
CN112333038A (zh) 一种车辆网关检测方法及装置
JP2017114406A (ja) ネットワークシステム
JP2020150442A (ja) ゲートウェイ装置
JP2003023440A (ja) ゲートウェイ装置、コンピュータ、通信評価システム
JP6664501B2 (ja) 車載電子制御装置
JP2009010851A (ja) 車載ゲートウェイ装置
JP2009005160A (ja) エラー発生装置
KR102279947B1 (ko) 필드버스용 마이크로컨트롤러
JP2023148056A (ja) 情報処理方法、通信システムおよび情報処理プログラム