(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-19
(45)【発行日】2022-12-27
(54)【発明の名称】車両用通信システム
(51)【国際特許分類】
H04L 12/22 20060101AFI20221220BHJP
G06F 21/64 20130101ALI20221220BHJP
【FI】
H04L12/22
G06F21/64
(21)【出願番号】P 2019004374
(22)【出願日】2019-01-15
【審査請求日】2021-06-25
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】110000578
【氏名又は名称】名古屋国際弁理士法人
(72)【発明者】
【氏名】柘植 彬史
(72)【発明者】
【氏名】田部井 誠
【審査官】野元 久道
(56)【参考文献】
【文献】米国特許出願公開第2014/0309905(US,A1)
【文献】特開2018-005848(JP,A)
【文献】特開2005-104408(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00
G06F 21/00
(57)【特許請求の範囲】
【請求項1】
車両に設けられた通信バス(3)に接続される車載制御装置と、
前記通信バスに接続され、前記車載制御装置から前記通信バスを介してデータを読み出すデータ読出装置と、を備える車両用通信システムであって、
前記データ読出装置は、
前記車載制御装置に対するデータ要求が当該データ読出装置から送信されてから、前記データ要求に対する応答データが当該データ読出装置において受信されるまでの時間を計測するように構成された計測部(S140)と、
前記計測部により計測された時間が所定値より大きいか否かを判定し、前記時間が前記所定値より大きい場合に、前記応答データを改ざんする改ざん装置が存在していると判定するように構成された改ざん判定部(S170,S190)と、を備え、
前記データ読出装置は、前記改ざん判定部により前記時間が前記所定値より大きくないと判定された場合には、受信した前記応答データを用いた処理を行うように構成され、
前記車載制御装置は、
前記データ読出装置から送信された前記データ要求が当該車載制御装置において受信されると、前記データ要求に対応する応答データに対して特定の処理を行うように構成されたデータ加工部(S225
)と、
前記データ加工部によって前記特定の処理が施された後の応答データを、前記データ読出装置に送信するよう構成された応答部(S230)と、を備え
、
前記データ加工部は、
前記応答データに対して所定の演算を行うことにより、当該応答データを検査するための検査用データを算出し、この算出した検査用データを前記応答データに付加する処理を、前記特定の処理として行うように構成されている、
車両用通信システム。
【請求項2】
車両に設けられた通信バス(3)に接続される車載制御装置と、
前記通信バスに接続され、前記車載制御装置から前記通信バスを介してデータを読み出すデータ読出装置と、を備える車両用通信システムであって、
前記データ読出装置は、
前記車載制御装置に対するデータ要求が当該データ読出装置から送信されてから、前記データ要求に対する応答データが当該データ読出装置において受信されるまでの時間を計測するように構成された計測部(S140)と、
前記計測部により計測された時間が所定値より大きいか否かを判定し、前記時間が前記所定値より大きい場合に、前記応答データを改ざんする改ざん装置が存在していると判定するように構成された改ざん判定部(S170,S190)と、を備え、
前記データ読出装置は、前記改ざん判定部により前記時間が前記所定値より大きくないと判定された場合には、受信した前記応答データを用いた処理を行うように構成され、
前記車載制御装置は、
前記データ読出装置から送信された前記データ要求が当該車載制御装置において受信されると、前記データ要求に対応する応答データに対して特定の処理を行うように構成されたデータ加工部
(S227)と、
前記データ加工部によって前記特定の処理が施された後の応答データを、前記データ読出装置に送信するよう構成された応答部(S230)と、を備え
、
前記データ加工部は、
少なくとも前記応答データを圧縮する処理を、前記特定の処理として行うように構成されている、
車両用通信システム。
【請求項3】
請求項
1に記載の車両用通信システムであって、
前記データ読出装置は、
前記応答データに対して、当該応答データに付加されている前記検査用データを用いた検査を行うように構成された検査部(S195)、を備える、
車両用通信システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、車載制御装置から通信バスを介してデータを読み出す技術に関する。
【背景技術】
【0002】
車載制御装置では、故障診断機能によって何れかの故障が検出された場合、その検出された故障の種別を特定可能な故障コードが、当該車載制御装置に記憶される。車載制御装置が有する故障診断機能は、OBDと呼ばれる。OBDは、「On-Board Diagnostics」の略である。上記故障コードは、一般にDTCと呼ばれる。DTCは、「Diagnostic Trouble Code」の略である。
【0003】
また近年、OBDを活用した車両検査(以下、OBD車検)の実施が検討されている。OBD車検では、車載制御装置に記憶されている特定のDTCが、車両の外部の装置であるスキャンツールによって読み出される。そして、車載制御装置から読み出されたDTCに基づいて、車両の合格又は不合格が判断される。
【0004】
一方、下記特許文献1には、通信バスを介して複数の車載制御装置が接続された車両制御システムにおいて、車載制御装置が、通信バスに送出したデータを記憶し、この記憶したデータと通信バス上のデータとを比較して、データ改ざんの有無を判定すること、が記載されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
発明者の詳細な検討の結果、下記の課題が見出された。
例えば、OBD車検が実施される場合に、車載制御装置から上記スキャンツールに送信されたデータを改ざんすることにより、本来ならば不合格となる車両を合格させる、という不正行為が危惧される。このため、車載制御装置からデータを読み出すスキャンツールの機能として、車載制御装置からのデータを改ざんする改ざん装置の存在を検出する機能が必要となる。
【0007】
しかし、上記特許文献1の技術は、車載制御装置においてデータ改ざんを検出する技術である。しかも、上記特許文献1の技術は、車載制御装置からの送信データと、改ざん装置によって改ざんされたデータ(即ち、改ざんデータ)とが、同じ通信バス上に流れることが前提の技術である。よって、スキャンツールと車載制御装置との間に直列に改ざん装置が設けられたとすると、その改ざん装置の存在を検出することができない。スキャンツールと車載制御装置との間に直列に改ざん装置が設けられた場合、スキャンツールと車載制御装置との間の通信バスが改ざん装置によって分断されることになり、車載制御装置は、改ざん装置がスキャンツールへ送信した改ざんデータを受信することができないからである。
【0008】
そこで、本開示の1つの局面は、車載制御装置からデータを読み出すデータ読出装置と車載制御装置との間に直列に設けられた改ざん装置の存在を、検出することが可能な技術を提供する。
【課題を解決するための手段】
【0009】
本開示の1つの態様によるデータ読出装置は、車両に搭載された少なくとも1つの車載制御装置(11~13)が接続される通信バス(3)に接続され、前記少なくとも1つの車載制御装置から前記通信バスを介してデータを読み出すデータ読出装置である。
【0010】
このデータ読出装置は、計測部(S140)と、判定部(S170,S190)と、を備える。計測部は、前記少なくとも1つの車載制御装置に対するデータ要求が当該データ読出装置から送信されてから、前記データ要求に対する応答データが当該データ読出装置において受信されるまでの時間を計測する。判定部は、計測部により計測された時間が所定値より大きい場合に、前記応答データを改ざんする改ざん装置が存在していると判定する。
【0011】
このような構成によれば、データ読出装置と車載制御装置との間に直列に設けられた改ざん装置の存在を、検出することができるようになる。
改ざん装置は、データ読出装置からのデータ要求を受信して車載制御装置へ送信するための中継処理と、データ要求に対する車載制御装置からの応答データを受信して、この応答データを改ざんするための改ざん処理とを、少なくとも行うと考えられる。そして、改ざん装置は、改ざん後の応答データを、データ読出装置に送信することになる。このため、改ざん装置が存在する場合には、改ざん装置が存在しない正常時と比較すると、計測部により計測される時間が、少なくとも上記中継処理及び改ざん処理の実施時間の分だけ大きく(即ち、長く)なる。よって、判定部により、改ざん装置の存在が検出される。
【0012】
また、車載制御装置は、下記のデータ加工部及び応答部を備えて良い。
データ加工部(S225,S227)は、データ読出装置から送信されたデータ要求が当該車載制御装置において受信されると、前記データ要求に対応する応答データに対して特定の処理を行う。そして、応答部(S230)は、データ加工部によって特定の処理が施された後の応答データを、データ読出装置に送信する。
【0013】
このような構成によれば、改ざん装置は、車載制御装置に成り代わるために、上記中継処理及び改ざん処理に加えて、少なくとも、改ざん後の応答データに対して上記特定の処理を行わなければならなくなる。よって、改ざん装置が存在しない正常時に上記計測部により計測される時間と、改ざん装置が存在する場合に上記計測部により計測される時間との差を、大きくすることができる。このため、データ読出装置において、改ざん装置の有無の判定精度を高くすることができる。
【0014】
また、車載制御装置におけるデータ加工部(S227)は、少なくとも応答データを圧縮する処理を、特定の処理として行うように構成されて良い。
また、車載制御装置におけるデータ加工部(S225)は、応答データに対して所定の演算を行うことにより、当該応答データを検査するための検査用データを算出し、この算出した検査用データを応答データに付加する処理を、特定の処理として行うように構成されて良い。そして、このような車載制御装置と、上記データ読出装置と、を備える車両用通信システムにおいて、データ読出装置は、更に、下記の検査部を備えても良い。この検査部(S195)は、応答データに対して、当該応答データに付加されている前記検査用データを用いた検査を行う。
【0015】
このような構成によれば、改ざん装置が上記特定の処理を行わないならば、データ読出装置においては、検査部が行う検査により応答データが異常と判定される。よって、改ざん装置が上記特定の処理を行わず、データ読出装置において、計測部により計測された時間が所定値より大きくならなかったとしても、改ざん装置によって改ざんされた応答データが、正しい応答データとして扱われてしまうことを、防ぐことができる。
【図面の簡単な説明】
【0016】
【
図1】第1実施形態の車両用通信システムの構成を示す構成図である。
【
図2】
図1の車両用通信システムに改ざん装置が設けられた場合の構成図である。
【
図3】第1実施形態のツールが行う読出制御処理を表すフローチャートである。
【
図4】第1実施形態のECUが行う応答処理を表すフローチャートである。
【
図5】第1実施形態の作用を説明する説明図である。
【
図6】第2実施形態のECUが行う応答処理を表すフローチャートである。
【
図7】第2実施形態のツールが行う読出制御処理を表すフローチャートである。
【
図8】第2実施形態の作用を説明する説明図である。
【
図9】第3実施形態のECUが行う応答処理を表すフローチャートである。
【
図10】第3実施形態のツールが行う読出制御処理を表すフローチャートである。
【
図11】第3実施形態の作用を説明する説明図である。
【発明を実施するための形態】
【0017】
以下、図面を参照しながら、本開示の実施形態を説明する。
[1.第1実施形態]
[1-1.構成]
図1に示す第1実施形態の車両用通信システム1は、車両に搭載された複数の電子制御装置(以下、ECU)11~13を備える。ECUは、「Electronic Control Unit」の略である。そして、ECU11~13は、車両内に配設された通信バス3を介して通信可能に接続されている。また、各ECU11~13は、少なくとも1つの故障を検出するための故障診断機能(即ち、OBD)を有している。尚、ECUの数が3つであるとして説明するが、ECUの数は1又は3以外の複数であっても良い。また、車両用通信システム1における通信プロトコルは、例えばCANであって良く、CAN以外の通信プロトコルでも良い。CANは、「Controller Area Network」の略であり、登録商標である。また、
図1においては、ECU11~13のそれぞれを、ECU_A~Cとして記載している。そして、このことは他の図についても同様である。
【0018】
ECU11は、当該ECU11の動作を司る制御部として、例えばマイクロコンピュータ(以下、マイコン)21を備える。マイコン21は、プログラムを実行するCPU23と、CPU23が実行するプログラムや該プログラムの実行時に参照されるデータ等が格納されたROM25と、データを一時的に記憶するためのRAM27と、他のメモリ29と、を備える。また、図示を省略しているが、他のECU12,13もマイコン21を備える。後述するECU11~13の処理動作は、当該ECU11~13におけるマイコン21のCPU23がプログラムを実行することにより実現される。
【0019】
各ECU11~13におけるメモリ29は、ECU11~13の動作停止中においてもデータを保持可能で、且つ、データの書き込み及び読み出しが可能な少なくとも1つのメモリである。そして、メモリ29には、少なくとも、ECU11~13の故障診断機能によって検出された故障の種別を表すDTCが記憶される。
【0020】
また、通信バス3には、ECU11~13からDTCを読み出すためスキャンツール(以下、ツール)5が、当該通信バス3に設けられたコネクタ7を介して着脱可能に接続されるようになっている。
【0021】
ツール5も、当該ツール5の動作を司る制御部として、例えばマイコン31を備える。マイコン31は、プログラムを実行するCPU33と、CPU33が実行するプログラムや該プログラムの実行時に参照されるデータ等が格納されたROM35と、データを一時的に記憶するためのRAM37と、を備える。後述するツール5の処理動作は、マイコン31のCPU33がプログラムを実行することにより実現される。更に、ツール5は、ECU11~13から読み出されたDTC等を表示するためのディスプレイ(即ち、表示装置)39と、使用者の操作を受け付けるための入力部40も備える。尚、ツール5は、マイコン31、ディスプレイ39及び入力部40等を備えたハンディタイプの装置であって良く、パーソナルコンピュータでも良い。
【0022】
[1-2.ツールとECUとの通信]
コネクタ7を介して通信バス3に接続されたツール5から、ECU11~13の何れかを宛先とする特定DTC要求が送信されると、その特定DTC要求が、宛先のECUにおいて受信される。
【0023】
ここで言う特定DTCとは、DTCのうち、予め定められたDTCであり、本実施形態では、OBD車検において車両の合格又は不合格を判定するために用いられるDTCである。そして、ツール5から送信される特定DTC要求は、宛先のECUに対して、特定DTCを要求するメッセージである。ここで言うメッセージとは、通信バス3上で伝送される通信データの構成単位であり、例えばフレームあるいはパケットと呼ばれるものに等しい。また、通信バス3を介して送受信されるメッセージの所定位置(例えば、ヘッダ部分)には、宛先を特定可能な情報(以下、宛先情報)が少なくとも含まれる。
【0024】
そして、ECU11~13のうち、当該ECU宛ての特定DTC要求を受信したECU(以下、要求対象ECU)は、メモリ29に特定DTCが記憶されていれば、その特定DTCを応答データとして含む応答メッセージを、ツール5に送信する。また、要求対象ECUは、メモリ29に特定DTCが記憶されていない場合には、例えば、特定DTCが無いことを示すデータを応答データとして含む応答メッセージを、ツール5に送信する。
【0025】
尚、応答メッセージをツール5に送信するとは、ツール5を宛先とする応答メッセージ、即ち、ツール5が宛先であることを示す宛先情報を含む応答メッセージを、通信バス3に送信することである。また、応答データは、ECU11~13からツール5へ送信される実質的なデータであるため、例えば、応答メッセージの各領域のうち、送信対象データが格納されると定められたデータ領域に配置される。
【0026】
ツール5は、ECU11~13の何れかからの応答メッセージを受信すると、その応答メッセージに含まれる応答データの内容を、ディスプレイ39に表示する。このため、要求対象ECUのメモリ29に特定DTCが記憶されていた場合には、その記憶されていた特定DTCが示す故障の内容が、ディスプレイ39に表示される。尚、特定DTCそのものがディスプレイ39に表示されても良い。また、要求対象ECUのメモリ29に特定DTCが記憶されていなかった場合には、例えば、特定DTCが無いことが、ディスプレイ39に表示される。
【0027】
[1-3.データ改ざんの可能性]
図2に示すように、通信バス3において、ツール5とECU11~13との間に直列に、改ざん装置41が設けられたとする。改ざん装置41は、ツール5からECU11~13へのメッセージを中継し、ECU11~13からツール5へ送信される応答メッセージを改ざんして、ツール5に送ろうとする装置である。改ざんされる対象は、応答メッセージ中の特に応答データであると考えられる。
【0028】
この場合、通信バス3は、ECU11~13と改ざん装置41とを接続する部分(以下、第1部分)3aと、改ざん装置41とツール5とを接続する部分(以下、第2部分)3bとに、分断される。
【0029】
このため、第1部分3aには、ECU11~13からツール5へ送信される本来の応答メッセージであって、ECU11~13が作成した本来の応答データ(即ち、正規データ)を含んだ応答メッセージが流れる。一方、第2部分3bには、改ざん装置41によって改ざんされた応答データ(即ち、改ざんデータ)を含む応答メッセージが流れる。つまり、ECU11~13が監視可能な第1部分3aには改ざんデータが流れない。よって、仮に、上記特許文献1の技術をECU11~13に適用しても、データ改ざんの有無を判定することができない。
【0030】
[1-4.処理]
そこで、
図2のように設けられた改ざん装置41の存在を検出可能とするために、ツール5が行う処理と、各ECU11~13が行う処理とについて、説明する。
【0031】
ツール5は、例えば、使用者による入力部40への操作により、特定DTCの読み出し対象のECU(以下、読出対象ECU)が指定されると、
図3の読出制御処理を行う。ツール5の使用者は、ツール5によってECU11~13から特定DTCを読み出す作業を行う作業者である。
【0032】
図3に示すように、ツール5は、読出制御処理を開始すると、S100にて、読出対象ECUを宛先とする特定DTC要求、即ち、読出対象ECUが宛先であることを示す宛先情報を含む特定DTC要求を送信する。
【0033】
一方、ECU11~13は、通信バス3を介してメッセージを受信すると、
図4の応答処理を行う。
図4に示すように、ECU11~13は、応答処理を開始すると、S210にて、当該ECU宛ての特定DTC要求を受信したか否かを判定する。つまり、受信したメッセージが当該ECU宛ての特定DTC要求であるか否かを判定する。
【0034】
ECU11~13は、上記S210にて、当該ECU宛ての特定DTC要求を受信していないと判定した場合には、当該応答処理を終了する。尚、ECU11~13は、受信したメッセージが当該ECU宛てのメッセージであり、且つ、特定DTC要求以外のメッセージであったなら、そのメッセージの内容に応じた処理を行う。特定DTC要求以外のメッセージとしては、例えば、全てのDTCを要求するメッセージがあって良い。
【0035】
また、ECU11~13は、上記S210にて、当該ECU宛ての特定DTC要求を受信したと判定した場合には、S220に進み、ツール5へ送信する応答データを準備する。例えば、ECU11~13は、メモリ29に特定DTCが記憶されていれば、その記憶されている特定DTCを、応答データとして準備する。また、メモリ29に特定DTCが記憶されていなければ、特定DTCが無いことを示すデータを、応答データとして準備する。そして、ECU11~13は、次のS230にて、上記S220で準備した応答データを含む応答メッセージを、ツール5に送信し、その後、当該応答処理を終了する。
【0036】
図3の説明に戻る。
図3のS100で特定DTC要求を送信したツール5は、S110にて、読出対象ECUが
図4のS230で送信する当該ツール5への応答メッセージを受信したか否かを判定する。例えば、メッセージには、送信元を特定可能な情報も含まれる。このため、ツール5は、受信したメッセージの送信元を判別することができる。
【0037】
ツール5は、上記S110にて、読出対象ECUからの応答メッセージを受信していないと判定した場合には、S120に進み、S100で特定DTC要求を送信してから所定のタイムアウト時間が経過したか否かを判定する。そして、タイムアウト時間が経過していないと判定した場合には、S110に戻る。また、タイムアウト時間が経過したと判定した場合には、S130に進み、タイムアウトエラーが生じたことをディスプレイ39に表示し、その後、当該読出制御処理を終了する。
【0038】
また、ツール5は、上記S110にて、読出対象ECUからの応答メッセージを受信したと判定した場合には、S140に進む。
ツール5は、S140では、S100で特定DTC要求を送信してから、読出対象ECUからの応答メッセージが当該ツール5において受信されるまでの時間(以下、要求応答時間)を計測する。
【0039】
ツール5は、次のS150にて、受信した応答メッセージのフォーマットが正しいか否かを判定し、フォーマットが正しくないと判定した場合には、S160に進む。そして、S160にて、応答異常が生じたことをディスプレイ39に表示し、その後、当該読出制御処理を終了する。ここで言う応答異常とは、応答メッセージのフォーマットエラーである。
【0040】
また、ツール5は、上記S150にて、応答メッセージのフォーマットが正しいと判定した場合には、S170に進み、S140で計測した要求応答時間が所定値T1より大きいか否かを判定する。そして、要求応答時間が所定値T1より大きくないと判定した場合には、S180に進み、受信した応答メッセージに含まれる応答データの内容を、特定DTCの読出結果としてディスプレイ39に表示し、その後、当該読出制御処理を終了する。
【0041】
また、ツール5は、上記S170にて、要求応答時間が所定値T1より大きいと判定した場合には、S190に進み、改ざん装置41が存在すると判定して、ディスプレイ39に、改ざん装置41が設けられていること、即ち、不正行為が行われたことを表示する。そして、その後、当該読出制御処理を終了する。尚、この場合、ツール5のディスプレイ39には、特定DTCの読出結果が表示されない。よって、OBD車検における車両の合否判定はされない。
【0042】
[1-5.作用例]
図3,
図4の処理が行われることによる作用例を、
図5を用い説明する。尚、
図5は、
図2のように改ざん装置41が設けられた場合を表している。また、読出対象ECUは、ECU11(即ち、ECU_A)であるとして説明するが、他のECU12,13であっても同様である。
【0043】
図5に示すように、時刻t1にて、ツール5が、ECU11を宛先とする特定DTC要求を送信したとする。
すると、改ざん装置41は、ツール5からの特定DTC要求を受信してECU11へ送信する中継処理(即ち、ゲートウェイ処理)を行う、と考えられる。具体的には、改ざん装置41は、ツール5から受信した特定DTC要求を、ECU11~13側の通信バス3、即ち、
図2に示した第1部分3aに送出すると考えられる。
図5において、処理Bは、改ざん装置41が行う処理のうちの、上記中継処理である。
【0044】
ECU11は、ツール5からの特定DTC要求を、改ざん装置41を経由して受信することになる。尚、この例では、ECU11のメモリ29に、特定DTCが記憶されているとする。
【0045】
ECU11は、特定DTC要求を受信すると、
図4におけるS220,S230の処理を行うことにより、応答データとして特定DTCが含まれた応答メッセージを、通信バス3に送出する。
図5において、処理Aは、ECU11が特定DTC要求を受信してからツール5への応答メッセージを送信するまでの処理であり、具体的には
図4の応答処理である。
【0046】
改ざん装置41は、ECU11からの応答メッセージを受信し、この応答メッセージを改ざんすると考えられる。例えば、応答メッセージに含まれる応答データを、特定DTCから、特定DTCが無いことを示すデータに改ざんすると考えられる。OBD車検においては、ECU11~13の何れかからツール5に特定DTCが読み出されると、車両が不合格と判定される。このため、改ざん装置41は、本来ならば不合格の車両を、合格と判定されるようにするために、上記のような改ざんを行うと予想される。
図5において、処理Cは、改ざん装置41が行う処理のうち、ECU11からの応答メッセージを受信して、この応答メッセージを改ざんする処理である。
【0047】
そして、改ざん装置41は、改ざんした応答メッセージをツール5に送信する。すると、ツール5は、時刻t2にて、改ざん装置41からの応答メッセージを受信する。尚、
図5における処理Cに、改ざん後の応答メッセージを送信するための送信処理が含まれても良い。
【0048】
よって、ツール5が特定DTC要求を送信してから応答メッセージを受信するまでの時間(即ち、要求応答時間)は、改ざん装置41での処理Bと、ECU11での処理Aと、改ざん装置41での処理Cとの、トータルの所要時間以上になる。例えば、ECU11での処理Aの所要時間が「9±1[ms]」で、改ざん装置41での処理B及び処理Cのトータルの所要時間が「Ta[ms]」であるとすると、要求応答時間は、「9±1+Ta[ms]」以上になる。一方、改ざん装置41が存在しなければ、要求応答時間は、ECU11での処理Aの所要時間(即ち、9±1[ms])と殆ど等しくなる。
【0049】
このため、改ざん装置41が存在する場合、ツール5は、
図3のS170で、要求応答時間が所定値T1より大きいと判定し、S190にて、改ざん装置41が存在すると判定することができる。所定値T1は、改ざん装置41が存在しない正常時における要求応答時間の最大値と同じか、その最大値よりも大きい値に設定されて良い。
【0050】
[1-6.効果]
以上詳述した第1実施形態のツール5によれば、当該ツール5とECU11~13との間に直列に設けられた改ざん装置41の存在を、検出することができるようになる。このため、例えば、OBD車検の実施時において、本来ならば不合格の車両を合格にしようとする不正行為を、防止する効果が期待できる。
【0051】
尚、第1実施形態においては、ツール5が、データ読出装置に相当し、ECU11~13が、車載制御装置に相当する。また、
図3の処理のうち、S140が、計測部としての処理に相当し、S170,S190が、判定部としての処理に相当する。
【0052】
[2.第2実施形態]
[2-1.第1実施形態との相違点]
第2実施形態は、基本的な構成は第1実施形態と同様であるため、相違点について以下に説明する。尚、第1実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【0053】
第2実施形態では、第1実施形態と比すると、ECU11~13が、
図4の応答処理に代えて、
図6の応答処理を行う点が異なる。そして、ツール5が、
図3の読出制御処理に代えて、
図7の読出制御処理を行う点も異なる。
【0054】
[2-2.ECUが行う応答処理]
図6の応答処理は、
図4の応答処理と比較すると、S220とS230との間に、S225が追加されている。
【0055】
図6に示すように、ECU11~13は、S220にて、ツール5へ送信する応答データを準備した後、S225に進み、応答データに対して、所定の演算を行うことにより、当該応答データを検査するための検査用データを算出する。更にS225では、算出した検査用データを応答データに付加する。そして、ECU11~13は、S230では、検査用データが付加された応答データを含む応答メッセージを、ツール5に送信する。つまり、検査用データが付加された応答データが、ツール5への送信対象データとして扱われる。
【0056】
検査用データは、応答データの誤り(即ち、エラー)検出に使用されるデータである。検査用データを算出するための演算(以下、検査用演算)は、どのような演算でも良い。例えば、検査用演算は、応答データの合計値(即ち、チェックサム)を検査用データとして算出する演算でも良い。また例えば、検査用演算は、応答データを所定の定数で除算した余りを、検査用データとして算出する、CRCの演算であっても良い。CRCは、「Cyclic Redundancy Check」の略である。また例えば、検査用演算は、SHA-256のように、応答データのハッシュ値を検査用データとして算出する演算でも良い。SHA-256は、「Secure Hash Algorithm 256-bit」の略である。尚、S225の処理は、特定の処理に相当する。
【0057】
[2-3.ツールが行う読出制御処理]
図7の読出制御処理は、
図3の読出制御処理と比較すると、S170とS180との間に、S195,S200が追加されている。更に、S170の判定では、S140で計測された要求応答時間が、所定値T2よりも大きいか否かが判定される。所定値T2は、第1実施形態における所定値T1よりも大きい値に設定されている。
【0058】
図7に示すように、ツール5は、S170にて、要求応答時間が所定値T2より大きくないと判定した場合には、S195に進む。そして、S195では、受信した応答メッセージに含まれる応答データに対して、当該応答データに付加されている検査用データを用いた検査を行う。ここで言う検査とは、エラーの有無を判定することである。
【0059】
例えば、ツール5は、S195では、受信した応答データに対して、ECU11~13にて実施される検査用演算と同じ演算を行うことにより、検査用データを算出する。そして、算出した検査用データと、受信した応答データに付加されている検査用データとを比較し、両方の検査用データが一致していれば、エラー無しと判定する。また、両方の検査用データが不一致ならば、エラー有りと判定する。
【0060】
そして次に、ツール5は、S200にて、S195での検査結果がエラー有りであるか否かを判定し、エラー有りでなければ、即ち、エラー無しであれば、S180に進み、受信した応答データの内容を、特定DTCの読出結果としてディスプレイ39に表示する。
【0061】
また、上記S200にて、検査結果がエラー有りであると判定した場合には、S190に進み、ディスプレイ39に、改ざん装置41が設けられていることを表示する。
[2-4.作用例]
第2実施形態の作用例を、
図5と同様の
図8を用いて説明する。
【0062】
図8に示すように、ECU11(即ち、ECU_A)が行う処理としては、第1実施形態の
図5と比較すると、処理Aに処理Dが追加されることになる。この処理Dは、
図6におけるS225の処理、即ち、応答データから検査用データを算出して、この検査用データを応答データに付加する処理である。
【0063】
尚、
図8において、ECU11が行う処理のうち、ツール5への応答メッセージを送信する処理は、時系列的には処理Dの後に存在することになる。しかし、
図8は、ECU11が特定DTC要求を受信してから応答メッセージを送信するまでの所要時間が、第1実施形態の
図5と比較して、処理Dの分だけ大きくなることを表している。このため、
図8において、ECU11が応答メッセージを送信する処理の時間は、
図5と同様に、処理Aの時間に含まれている。
【0064】
一方、改ざん装置41は、ECU11に成り代わるためには、
図8に示すように、前述の処理C、即ち、ECU11からの応答データを改ざんする処理に加え、改ざん後の応答データに対してECU11での処理D(即ち、S225)と同じ処理Dを行わなければならなくなる。
【0065】
このため、第2実施形態において、改ざん装置41が存在する場合、ツール5で計測される要求応答時間は、改ざん装置41での処理Bと、ECU11での処理A及び処理Dと、改ざん装置41での処理C及び処理Dとの、トータルの所要時間以上になる。例えば、ECU11での処理A及び処理Dの所要時間が「99±1[ms]」で、改ざん装置41での処理B、処理C及び処理Dの所要時間が「Tb[ms]」であるとすると、要求応答時間は、「99±1+Tb[ms]」以上になる。一方、改ざん装置41が存在しなければ、要求応答時間は、ECU11での処理A及び処理Dの所要時間(即ち、99±1[ms])と殆ど等しくなる。
【0066】
よって、この第2実施形態においても、
図7のS170の判定で用いられる所定値T2は、改ざん装置41が存在しない正常時における要求応答時間の最大値(即ち「100[ms])と同じか、その最大値よりも大きい値に設定されて良い。
【0067】
ここで、改ざん装置41が存在することによる要求応答時間の増加分は、第1実施形態では、改ざん装置41での処理B及び処理Cの所要時間であるTaとなるが、本第2実施形態では、そのTaよりも大きいTbとなる。
【0068】
[2-5.効果]
以上詳述した第2実施形態によれば、前述した第1実施形態の効果を奏し、更に、下記(2a),(2b)の効果を奏する。
【0069】
(2a)第2実施形態では、ECU11~13が
図6のS225の処理を行うことにより、改ざん装置41が存在しない場合の要求応答時間と、改ざん装置41が存在する場合の要求応答時間との差を、大きくすることができる。よって、改ざん装置41の処理能力が高い場合、あるいは、ツール5における要求応答時間の計測分解能が粗い場合であっても、改ざん装置41の有無の判定精度を高くすることができる。具体的には、
図7のS170の判定で用いられる所定値T2を、正常時における要求応答時間の最大値よりも大きく設定できるマージンが、大きくなる。
【0070】
尚、ECU11~13で実施される検査用演算は、複雑な演算であるほど、実施するのに時間がかかることから、改ざん装置41の有り無しによる要求応答時間の差を大きくする、という狙いに適していると言える。
【0071】
(2b)ツール5は、
図7のS195にて、受信した応答メッセージに含まれる応答データに対して、当該応答データに付加されている検査用データを用いた検査を行う。
このため、仮に、改ざん装置41が上記処理Dを行わず、その結果、ツール5が、
図7のS170にて「要求応答時間が所定値T2より大きくない」と判定したとしても、
図7のS195にてエラー有りと判定される。よって、改ざん装置41によって改ざんされた応答データが正しい応答データとして扱われてしまうことを、防ぐ効果が高い。
【0072】
尚、第2実施形態においては、ECU11~13が行う
図6の処理のうち、S225が、データ加工部としての処理に相当し、S230が、応答部としての処理に相当する。ツール5が行う
図7の処理のうち、S195は、検査部としての処理に相当する。
【0073】
また、他の例として、ツール5は、
図7のS200にて、S195での検査結果がエラー有りであると判定した場合には、S190に進む代わりに、ディスプレイ39に受信データエラーの発生を表示しても良い。このように構成しても、改ざんの可能性がある応答データが車両の合否判定に用いられることを防止することができる。
【0074】
[3.第3実施形態]
[3-1.第1実施形態との相違点]
第3実施形態は、基本的な構成は第1実施形態と同様であるため、相違点について以下に説明する。尚、第1実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【0075】
第3実施形態では、第1実施形態と比すると、ECU11~13が、
図4の応答処理に代えて、
図9の応答処理を行う点が異なる。そして、ツール5が、
図3の読出制御処理に代えて、
図10の読出制御処理を行う点も異なる。
【0076】
[3-2.ECUが行う応答処理]
図9の応答処理は、
図4の応答処理と比較すると、S220とS230との間に、S227が追加されている。
【0077】
図9に示すように、ECU11~13は、S220にて、ツール5へ送信する応答データを準備した後、S227に進み、応答データに対して、当該応答データを圧縮する処理(即ち、データ圧縮処理)を行う。データ圧縮処理により、応答データは、実質的な内容が損なわれずに、より短いビット長のデータ列に変換される。そして、ECU11~13は、S230では、圧縮された応答データを含む応答メッセージを、ツール5に送信する。尚、S227の処理は、特定の処理に相当する。また、データ圧縮処理は、応答メッセージ全体に実施されても良い。
【0078】
[3-3.ツールが行う読出制御処理]
図10の読出制御処理は、
図3の読出制御処理と比較すると、S140とS150との間に、S205が追加されている。更に、S170の判定では、S140で計測された要求応答時間が、所定値T3よりも大きいか否かが判定される。所定値T3は、第2実施形態と同様に、第1実施形態における所定値T1よりも大きい値に設定されている。
【0079】
図10に示すように、ツール5は、S140で要求応答時間を計測した後、S205に進み、受信した応答メッセージ中の応答データに対して、当該応答データを解凍する処理(即ち、データ解凍処理)を行う。データ解凍処理は、ECU11~13で実施されるデータ圧縮処理に対応する処理であり、このデータ圧縮処理により、応答データは、圧縮前の(即ち、元の)データ列に戻される。そして、ツール5は、S205で応答データを解凍した後、S150に進む。解凍された応答データは、少なくともS180の処理で用いられる。
【0080】
[3-4.作用例]
第3実施形態の作用例を、
図5,
図8と同様の
図11を用いて説明する。
図11に示すように、ECU11(即ち、ECU_A)が行う処理としては、第1実施形態の
図5と比較すると、処理Aに処理Eが追加されることになる。この処理Eは、
図9におけるS227のデータ圧縮処理である。
【0081】
尚、
図11において、ECU11が行う処理のうち、ツール5への応答メッセージを送信する処理は、時系列的には処理Eの後に存在することになる。しかし、
図11は、第2実施形態の
図8と同様に、ECU11が特定DTC要求を受信してから応答メッセージを送信するまでの所要時間が、第1実施形態の
図5と比較して、処理Eの分だけ大きくなることを表している。このため、
図11において、ECU11が応答メッセージを送信する処理の時間は、
図5と同様に、処理Aの時間に含まれている。
【0082】
一方、改ざん装置41は、ECU11に成り代わるためには、
図11に示すように、ECU11からの応答メッセージ中の応答データを解凍するための処理Fを行ってから、前述の処理C、即ち、応答データを改ざんする処理を行うはずである。そして更に、改ざんした応答データを再び圧縮するために、ECU11での処理E(即ち、S227)と同じ処理Eを行わなければならなくなる。
【0083】
このため、第3実施形態において、改ざん装置41が存在する場合、ツール5で計測される要求応答時間は、改ざん装置41での処理Bと、ECU11での処理A及び処理Eと、改ざん装置41での処理F、処理C及び処理Eとの、トータルの所要時間以上になる。例えば、ECU11での処理A及び処理Eの所要時間が「99±1[ms]」で、改ざん装置41での処理B、処理F、処理C及び処理Eの所要時間が「Tc[ms]」であるとすると、要求応答時間は、「99±1+Tc[ms]」以上になる。一方、改ざん装置41が存在しなければ、要求応答時間は、ECU11での処理A及び処理Eの所要時間(即ち、99±1[ms])と殆ど等しくなる。
【0084】
よって、この第3実施形態においても、
図10のS170の判定で用いられる所定値T3は、改ざん装置41が存在しない正常時における要求応答時間の最大値(即ち「100[ms])と同じか、その最大値よりも大きい値に設定されて良い。
【0085】
ここで、改ざん装置41が存在することによる要求応答時間の増加分は、第1実施形態では、改ざん装置41での処理B及び処理Cの所要時間であるTaとなるが、本第3実施形態では、そのTaよりも大きい上記Tcとなる。このことは、第2実施形態と同様である。
【0086】
[3-5.効果]
よって、第3実施形態によれば、ECU11~13が
図9のS227の処理を行うことにより、第2実施形態と同様に、改ざん装置41が存在しない場合の要求応答時間と、改ざん装置41が存在する場合の要求応答時間との差を、大きくすることができる。
【0087】
このため、第3実施形態によっても、前述した第1実施形態の効果を奏すると共に、第2実施形態の(2a)の効果と同様の効果を奏する。
尚、第3実施形態においては、ECU11~13が行う
図9の処理のうち、S227が、データ加工部としての処理に相当し、S230が、応答部としての処理に相当する。
【0088】
また、第3実施形態の手法を第2実施形態に組み合わせても良い。例えば、第2実施形態において、ECU11~13は、検査用データが付加された応答データを圧縮して、ツール5へと送信するように構成されても良い。
【0089】
[4.他の実施形態]
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【0090】
ECU11~13からツール5に読み出される特定DTCは、OBD車検における車両の合否判定に使用されるDTCに限らず、例えば、車両の特定機能の修理要否を判定するために使用されるDTC等であっても良い。また、ECU11~13からツール5へは、読出対象のECUに記憶されている全てのDTCが読み出されても良い。また、ECU11~13からツール5へは、DTC以外のデータが読み出されても良い。
【0091】
また、本開示に記載のツール5及びECU11~13と、それらの手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されても良い。あるいは、本開示に記載のツール5及びECU11~13と、それらの手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されても良い。もしくは、本開示に記載のツール5及びECU11~13と、それらの手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されても良い。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されても良い。ツール5及びECU11~13に含まれる各部の機能を実現する手法には、必ずしもソフトウェアが含まれている必要はなく、その全部の機能が、一つあるいは複数のハードウェアを用いて実現されても良い。
【0092】
また、上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしても良い。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしても良い。また、上記実施形態の構成の一部を省略しても良い。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換しても良い。
【0093】
また、上述したツール5及びECU11~13の他、当該ツール5及びECU11~13を構成要素とするシステム、当該ツール5又はECU11~13としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、改ざん装置の検出方法など、種々の形態で本開示を実現することもできる。
【符号の説明】
【0094】
1…車両用通信システム、3…通信バス、5…スキャンツール、11~13…ECU、41…改ざん装置