(57)【要約】【課題】データ読出装置と車載制御装置との間に直列に設けられた改ざん装置の存在を、検出することが可能な技術を提供する。【解決手段】車載制御装置が接続される通信バスに接続され、車載制御装置から通信バスを介してデータを読み出すデータ読出装置は、車載制御装置に対するデータ要求を送信してから、そのデータ要求に対する応答データを受信するまでの時間を、Ｓ１４０で計測する。そして、Ｓ１７０にて、Ｓ１４０で計測された時間が所定値Ｔ１より大きいか否かを判定し、所定値Ｔ１より大きい場合には、車載制御装置からの応答データを改ざんする改ざん装置が存在していると判定する。【選択図】図３
2020113921.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載された少なくとも１つの車載制御装置（１１〜１３）が接続される通信バス（３）に接続され、前記少なくとも１つの車載制御装置から前記通信バスを介してデータを読み出すデータ読出装置であって、
前記少なくとも１つの車載制御装置に対するデータ要求が当該データ読出装置から送信されてから、前記データ要求に対する応答データが当該データ読出装置において受信されるまでの時間を計測するように構成された計測部（Ｓ１４０）と、
前記計測部により計測された時間が所定値より大きい場合に、前記応答データを改ざんする改ざん装置が存在していると判定するように構成された改ざん判定部（Ｓ１７０，Ｓ１９０）と、を備える、
データ読出装置。
【請求項２】
車両に設けられた通信バス（３）に接続される車載制御装置であって、
前記通信バスに接続された請求項１に記載のデータ読出装置から送信されたデータ要求が当該車載制御装置において受信されると、前記データ要求に対応する応答データに対して特定の処理を行うように構成されたデータ加工部（Ｓ２２５，Ｓ２２７）と、
前記データ加工部によって前記特定の処理が施された後の応答データを、前記データ読出装置に送信するよう構成された応答部（Ｓ２３０）と、を備える、
車載制御装置。
【請求項３】
請求項２に記載の車載制御装置であって、
前記データ加工部（Ｓ２２５）は、
前記応答データに対して所定の演算を行うことにより、当該応答データを検査するための検査用データを算出し、この算出した検査用データを前記応答データに付加する処理を、前記特定の処理として行うように構成されている、
車載制御装置。
【請求項４】
請求項２に記載の車載制御装置であって、
前記データ加工部（Ｓ２２７）は、
少なくとも前記応答データを圧縮する処理を、前記特定の処理として行うように構成されている、
車載制御装置。
【請求項５】
請求項１に記載のデータ読出装置と、請求項３に記載の車載制御装置と、を備える車両用通信システムであって、
前記データ読出装置は、
前記応答データに対して、当該応答データに付加されている前記検査用データを用いた検査を行うように構成された検査部（Ｓ１９５）、を備える、
車両用通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、車載制御装置から通信バスを介してデータを読み出す技術に関する。
【背景技術】
【０００２】
車載制御装置では、故障診断機能によって何れかの故障が検出された場合、その検出された故障の種別を特定可能な故障コードが、当該車載制御装置に記憶される。車載制御装置が有する故障診断機能は、ＯＢＤと呼ばれる。ＯＢＤは、「On-Board Diagnostics」の略である。上記故障コードは、一般にＤＴＣと呼ばれる。ＤＴＣは、「Diagnostic Trouble Code」の略である。
【０００３】
また近年、ＯＢＤを活用した車両検査（以下、ＯＢＤ車検）の実施が検討されている。ＯＢＤ車検では、車載制御装置に記憶されている特定のＤＴＣが、車両の外部の装置であるスキャンツールによって読み出される。そして、車載制御装置から読み出されたＤＴＣに基づいて、車両の合格又は不合格が判断される。
【０００４】
一方、下記特許文献１には、通信バスを介して複数の車載制御装置が接続された車両制御システムにおいて、車載制御装置が、通信バスに送出したデータを記憶し、この記憶したデータと通信バス上のデータとを比較して、データ改ざんの有無を判定すること、が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１８−２３０２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
発明者の詳細な検討の結果、下記の課題が見出された。
例えば、ＯＢＤ車検が実施される場合に、車載制御装置から上記スキャンツールに送信されたデータを改ざんすることにより、本来ならば不合格となる車両を合格させる、という不正行為が危惧される。このため、車載制御装置からデータを読み出すスキャンツールの機能として、車載制御装置からのデータを改ざんする改ざん装置の存在を検出する機能が必要となる。
【０００７】
しかし、上記特許文献１の技術は、車載制御装置においてデータ改ざんを検出する技術である。しかも、上記特許文献１の技術は、車載制御装置からの送信データと、改ざん装置によって改ざんされたデータ（即ち、改ざんデータ）とが、同じ通信バス上に流れることが前提の技術である。よって、スキャンツールと車載制御装置との間に直列に改ざん装置が設けられたとすると、その改ざん装置の存在を検出することができない。スキャンツールと車載制御装置との間に直列に改ざん装置が設けられた場合、スキャンツールと車載制御装置との間の通信バスが改ざん装置によって分断されることになり、車載制御装置は、改ざん装置がスキャンツールへ送信した改ざんデータを受信することができないからである。
【０００８】
そこで、本開示の１つの局面は、車載制御装置からデータを読み出すデータ読出装置と車載制御装置との間に直列に設けられた改ざん装置の存在を、検出することが可能な技術を提供する。
【課題を解決するための手段】
【０００９】
本開示の１つの態様によるデータ読出装置は、車両に搭載された少なくとも１つの車載制御装置（１１〜１３）が接続される通信バス（３）に接続され、前記少なくとも１つの車載制御装置から前記通信バスを介してデータを読み出すデータ読出装置である。
【００１０】
このデータ読出装置は、計測部（Ｓ１４０）と、判定部（Ｓ１７０，Ｓ１９０）と、を備える。計測部は、前記少なくとも１つの車載制御装置に対するデータ要求が当該データ読出装置から送信されてから、前記データ要求に対する応答データが当該データ読出装置において受信されるまでの時間を計測する。判定部は、計測部により計測された時間が所定値より大きい場合に、前記応答データを改ざんする改ざん装置が存在していると判定する。
【００１１】
このような構成によれば、データ読出装置と車載制御装置との間に直列に設けられた改ざん装置の存在を、検出することができるようになる。
改ざん装置は、データ読出装置からのデータ要求を受信して車載制御装置へ送信するための中継処理と、データ要求に対する車載制御装置からの応答データを受信して、この応答データを改ざんするための改ざん処理とを、少なくとも行うと考えられる。そして、改ざん装置は、改ざん後の応答データを、データ読出装置に送信することになる。このため、改ざん装置が存在する場合には、改ざん装置が存在しない正常時と比較すると、計測部により計測される時間が、少なくとも上記中継処理及び改ざん処理の実施時間の分だけ大きく（即ち、長く）なる。よって、判定部により、改ざん装置の存在が検出される。
【００１２】
また、車載制御装置は、下記のデータ加工部及び応答部を備えて良い。
データ加工部（Ｓ２２５，Ｓ２２７）は、データ読出装置から送信されたデータ要求が当該車載制御装置において受信されると、前記データ要求に対応する応答データに対して特定の処理を行う。そして、応答部（Ｓ２３０）は、データ加工部によって特定の処理が施された後の応答データを、データ読出装置に送信する。
【００１３】
このような構成によれば、改ざん装置は、車載制御装置に成り代わるために、上記中継処理及び改ざん処理に加えて、少なくとも、改ざん後の応答データに対して上記特定の処理を行わなければならなくなる。よって、改ざん装置が存在しない正常時に上記計測部により計測される時間と、改ざん装置が存在する場合に上記計測部により計測される時間との差を、大きくすることができる。このため、データ読出装置において、改ざん装置の有無の判定精度を高くすることができる。
【００１４】
また、車載制御装置におけるデータ加工部（Ｓ２２７）は、少なくとも応答データを圧縮する処理を、特定の処理として行うように構成されて良い。
また、車載制御装置におけるデータ加工部（Ｓ２２５）は、応答データに対して所定の演算を行うことにより、当該応答データを検査するための検査用データを算出し、この算出した検査用データを応答データに付加する処理を、特定の処理として行うように構成されて良い。そして、このような車載制御装置と、上記データ読出装置と、を備える車両用通信システムにおいて、データ読出装置は、更に、下記の検査部を備えても良い。この検査部（Ｓ１９５）は、応答データに対して、当該応答データに付加されている前記検査用データを用いた検査を行う。
【００１５】
このような構成によれば、改ざん装置が上記特定の処理を行わないならば、データ読出装置においては、検査部が行う検査により応答データが異常と判定される。よって、改ざん装置が上記特定の処理を行わず、データ読出装置において、計測部により計測された時間が所定値より大きくならなかったとしても、改ざん装置によって改ざんされた応答データが、正しい応答データとして扱われてしまうことを、防ぐことができる。
【図面の簡単な説明】
【００１６】
【図１】第１実施形態の車両用通信システムの構成を示す構成図である。
【図２】図１の車両用通信システムに改ざん装置が設けられた場合の構成図である。
【図３】第１実施形態のツールが行う読出制御処理を表すフローチャートである。
【図４】第１実施形態のＥＣＵが行う応答処理を表すフローチャートである。
【図５】第１実施形態の作用を説明する説明図である。
【図６】第２実施形態のＥＣＵが行う応答処理を表すフローチャートである。
【図７】第２実施形態のツールが行う読出制御処理を表すフローチャートである。
【図８】第２実施形態の作用を説明する説明図である。
【図９】第３実施形態のＥＣＵが行う応答処理を表すフローチャートである。
【図１０】第３実施形態のツールが行う読出制御処理を表すフローチャートである。
【図１１】第３実施形態の作用を説明する説明図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照しながら、本開示の実施形態を説明する。
［１．第１実施形態］
［１−１．構成］
図１に示す第１実施形態の車両用通信システム１は、車両に搭載された複数の電子制御装置（以下、ＥＣＵ）１１〜１３を備える。ＥＣＵは、「Electronic Control Unit」の略である。そして、ＥＣＵ１１〜１３は、車両内に配設された通信バス３を介して通信可能に接続されている。また、各ＥＣＵ１１〜１３は、少なくとも１つの故障を検出するための故障診断機能（即ち、ＯＢＤ）を有している。尚、ＥＣＵの数が３つであるとして説明するが、ＥＣＵの数は１又は３以外の複数であっても良い。また、車両用通信システム１における通信プロトコルは、例えばＣＡＮであって良く、ＣＡＮ以外の通信プロトコルでも良い。ＣＡＮは、「Controller Area Network」の略であり、登録商標である。また、図１においては、ＥＣＵ１１〜１３のそれぞれを、ＥＣＵ＿Ａ〜Ｃとして記載している。そして、このことは他の図についても同様である。
【００１８】
ＥＣＵ１１は、当該ＥＣＵ１１の動作を司る制御部として、例えばマイクロコンピュータ（以下、マイコン）２１を備える。マイコン２１は、プログラムを実行するＣＰＵ２３と、ＣＰＵ２３が実行するプログラムや該プログラムの実行時に参照されるデータ等が格納されたＲＯＭ２５と、データを一時的に記憶するためのＲＡＭ２７と、他のメモリ２９と、を備える。また、図示を省略しているが、他のＥＣＵ１２，１３もマイコン２１を備える。後述するＥＣＵ１１〜１３の処理動作は、当該ＥＣＵ１１〜１３におけるマイコン２１のＣＰＵ２３がプログラムを実行することにより実現される。
【００１９】
各ＥＣＵ１１〜１３におけるメモリ２９は、ＥＣＵ１１〜１３の動作停止中においてもデータを保持可能で、且つ、データの書き込み及び読み出しが可能な少なくとも１つのメモリである。そして、メモリ２９には、少なくとも、ＥＣＵ１１〜１３の故障診断機能によって検出された故障の種別を表すＤＴＣが記憶される。
【００２０】
また、通信バス３には、ＥＣＵ１１〜１３からＤＴＣを読み出すためスキャンツール（以下、ツール）５が、当該通信バス３に設けられたコネクタ７を介して着脱可能に接続されるようになっている。
【００２１】
ツール５も、当該ツール５の動作を司る制御部として、例えばマイコン３１を備える。マイコン３１は、プログラムを実行するＣＰＵ３３と、ＣＰＵ３３が実行するプログラムや該プログラムの実行時に参照されるデータ等が格納されたＲＯＭ３５と、データを一時的に記憶するためのＲＡＭ３７と、を備える。後述するツール５の処理動作は、マイコン３１のＣＰＵ３３がプログラムを実行することにより実現される。更に、ツール５は、ＥＣＵ１１〜１３から読み出されたＤＴＣ等を表示するためのディスプレイ（即ち、表示装置）３９と、使用者の操作を受け付けるための入力部４０も備える。尚、ツール５は、マイコン３１、ディスプレイ３９及び入力部４０等を備えたハンディタイプの装置であって良く、パーソナルコンピュータでも良い。
【００２２】
［１−２．ツールとＥＣＵとの通信］
コネクタ７を介して通信バス３に接続されたツール５から、ＥＣＵ１１〜１３の何れかを宛先とする特定ＤＴＣ要求が送信されると、その特定ＤＴＣ要求が、宛先のＥＣＵにおいて受信される。
【００２３】
ここで言う特定ＤＴＣとは、ＤＴＣのうち、予め定められたＤＴＣであり、本実施形態では、ＯＢＤ車検において車両の合格又は不合格を判定するために用いられるＤＴＣである。そして、ツール５から送信される特定ＤＴＣ要求は、宛先のＥＣＵに対して、特定ＤＴＣを要求するメッセージである。ここで言うメッセージとは、通信バス３上で伝送される通信データの構成単位であり、例えばフレームあるいはパケットと呼ばれるものに等しい。また、通信バス３を介して送受信されるメッセージの所定位置（例えば、ヘッダ部分）には、宛先を特定可能な情報（以下、宛先情報）が少なくとも含まれる。
【００２４】
そして、ＥＣＵ１１〜１３のうち、当該ＥＣＵ宛ての特定ＤＴＣ要求を受信したＥＣＵ（以下、要求対象ＥＣＵ）は、メモリ２９に特定ＤＴＣが記憶されていれば、その特定ＤＴＣを応答データとして含む応答メッセージを、ツール５に送信する。また、要求対象ＥＣＵは、メモリ２９に特定ＤＴＣが記憶されていない場合には、例えば、特定ＤＴＣが無いことを示すデータを応答データとして含む応答メッセージを、ツール５に送信する。
【００２５】
尚、応答メッセージをツール５に送信するとは、ツール５を宛先とする応答メッセージ、即ち、ツール５が宛先であることを示す宛先情報を含む応答メッセージを、通信バス３に送信することである。また、応答データは、ＥＣＵ１１〜１３からツール５へ送信される実質的なデータであるため、例えば、応答メッセージの各領域のうち、送信対象データが格納されると定められたデータ領域に配置される。
【００２６】
ツール５は、ＥＣＵ１１〜１３の何れかからの応答メッセージを受信すると、その応答メッセージに含まれる応答データの内容を、ディスプレイ３９に表示する。このため、要求対象ＥＣＵのメモリ２９に特定ＤＴＣが記憶されていた場合には、その記憶されていた特定ＤＴＣが示す故障の内容が、ディスプレイ３９に表示される。尚、特定ＤＴＣそのものがディスプレイ３９に表示されても良い。また、要求対象ＥＣＵのメモリ２９に特定ＤＴＣが記憶されていなかった場合には、例えば、特定ＤＴＣが無いことが、ディスプレイ３９に表示される。
【００２７】
［１−３．データ改ざんの可能性］
図２に示すように、通信バス３において、ツール５とＥＣＵ１１〜１３との間に直列に、改ざん装置４１が設けられたとする。改ざん装置４１は、ツール５からＥＣＵ１１〜１３へのメッセージを中継し、ＥＣＵ１１〜１３からツール５へ送信される応答メッセージを改ざんして、ツール５に送ろうとする装置である。改ざんされる対象は、応答メッセージ中の特に応答データであると考えられる。
【００２８】
この場合、通信バス３は、ＥＣＵ１１〜１３と改ざん装置４１とを接続する部分（以下、第１部分）３ａと、改ざん装置４１とツール５とを接続する部分（以下、第２部分）３ｂとに、分断される。
【００２９】
このため、第１部分３ａには、ＥＣＵ１１〜１３からツール５へ送信される本来の応答メッセージであって、ＥＣＵ１１〜１３が作成した本来の応答データ（即ち、正規データ）を含んだ応答メッセージが流れる。一方、第２部分３ｂには、改ざん装置４１によって改ざんされた応答データ（即ち、改ざんデータ）を含む応答メッセージが流れる。つまり、ＥＣＵ１１〜１３が監視可能な第１部分３ａには改ざんデータが流れない。よって、仮に、上記特許文献１の技術をＥＣＵ１１〜１３に適用しても、データ改ざんの有無を判定することができない。
【００３０】
［１−４．処理］
そこで、図２のように設けられた改ざん装置４１の存在を検出可能とするために、ツール５が行う処理と、各ＥＣＵ１１〜１３が行う処理とについて、説明する。
【００３１】
ツール５は、例えば、使用者による入力部４０への操作により、特定ＤＴＣの読み出し対象のＥＣＵ（以下、読出対象ＥＣＵ）が指定されると、図３の読出制御処理を行う。ツール５の使用者は、ツール５によってＥＣＵ１１〜１３から特定ＤＴＣを読み出す作業を行う作業者である。
【００３２】
図３に示すように、ツール５は、読出制御処理を開始すると、Ｓ１００にて、読出対象ＥＣＵを宛先とする特定ＤＴＣ要求、即ち、読出対象ＥＣＵが宛先であることを示す宛先情報を含む特定ＤＴＣ要求を送信する。
【００３３】
一方、ＥＣＵ１１〜１３は、通信バス３を介してメッセージを受信すると、図４の応答処理を行う。
図４に示すように、ＥＣＵ１１〜１３は、応答処理を開始すると、Ｓ２１０にて、当該ＥＣＵ宛ての特定ＤＴＣ要求を受信したか否かを判定する。つまり、受信したメッセージが当該ＥＣＵ宛ての特定ＤＴＣ要求であるか否かを判定する。
【００３４】
ＥＣＵ１１〜１３は、上記Ｓ２１０にて、当該ＥＣＵ宛ての特定ＤＴＣ要求を受信していないと判定した場合には、当該応答処理を終了する。尚、ＥＣＵ１１〜１３は、受信したメッセージが当該ＥＣＵ宛てのメッセージであり、且つ、特定ＤＴＣ要求以外のメッセージであったなら、そのメッセージの内容に応じた処理を行う。特定ＤＴＣ要求以外のメッセージとしては、例えば、全てのＤＴＣを要求するメッセージがあって良い。
【００３５】
また、ＥＣＵ１１〜１３は、上記Ｓ２１０にて、当該ＥＣＵ宛ての特定ＤＴＣ要求を受信したと判定した場合には、Ｓ２２０に進み、ツール５へ送信する応答データを準備する。例えば、ＥＣＵ１１〜１３は、メモリ２９に特定ＤＴＣが記憶されていれば、その記憶されている特定ＤＴＣを、応答データとして準備する。また、メモリ２９に特定ＤＴＣが記憶されていなければ、特定ＤＴＣが無いことを示すデータを、応答データとして準備する。そして、ＥＣＵ１１〜１３は、次のＳ２３０にて、上記Ｓ２２０で準備した応答データを含む応答メッセージを、ツール５に送信し、その後、当該応答処理を終了する。
【００３６】
図３の説明に戻る。図３のＳ１００で特定ＤＴＣ要求を送信したツール５は、Ｓ１１０にて、読出対象ＥＣＵが図４のＳ２３０で送信する当該ツール５への応答メッセージを受信したか否かを判定する。例えば、メッセージには、送信元を特定可能な情報も含まれる。このため、ツール５は、受信したメッセージの送信元を判別することができる。
【００３７】
ツール５は、上記Ｓ１１０にて、読出対象ＥＣＵからの応答メッセージを受信していないと判定した場合には、Ｓ１２０に進み、Ｓ１００で特定ＤＴＣ要求を送信してから所定のタイムアウト時間が経過したか否かを判定する。そして、タイムアウト時間が経過していないと判定した場合には、Ｓ１１０に戻る。また、タイムアウト時間が経過したと判定した場合には、Ｓ１３０に進み、タイムアウトエラーが生じたことをディスプレイ３９に表示し、その後、当該読出制御処理を終了する。
【００３８】
また、ツール５は、上記Ｓ１１０にて、読出対象ＥＣＵからの応答メッセージを受信したと判定した場合には、Ｓ１４０に進む。
ツール５は、Ｓ１４０では、Ｓ１００で特定ＤＴＣ要求を送信してから、読出対象ＥＣＵからの応答メッセージが当該ツール５において受信されるまでの時間（以下、要求応答時間）を計測する。
【００３９】
ツール５は、次のＳ１５０にて、受信した応答メッセージのフォーマットが正しいか否かを判定し、フォーマットが正しくないと判定した場合には、Ｓ１６０に進む。そして、Ｓ１６０にて、応答異常が生じたことをディスプレイ３９に表示し、その後、当該読出制御処理を終了する。ここで言う応答異常とは、応答メッセージのフォーマットエラーである。
【００４０】
また、ツール５は、上記Ｓ１５０にて、応答メッセージのフォーマットが正しいと判定した場合には、Ｓ１７０に進み、Ｓ１４０で計測した要求応答時間が所定値Ｔ１より大きいか否かを判定する。そして、要求応答時間が所定値Ｔ１より大きくないと判定した場合には、Ｓ１８０に進み、受信した応答メッセージに含まれる応答データの内容を、特定ＤＴＣの読出結果としてディスプレイ３９に表示し、その後、当該読出制御処理を終了する。
【００４１】
また、ツール５は、上記Ｓ１７０にて、要求応答時間が所定値Ｔ１より大きいと判定した場合には、Ｓ１９０に進み、改ざん装置４１が存在すると判定して、ディスプレイ３９に、改ざん装置４１が設けられていること、即ち、不正行為が行われたことを表示する。そして、その後、当該読出制御処理を終了する。尚、この場合、ツール５のディスプレイ３９には、特定ＤＴＣの読出結果が表示されない。よって、ＯＢＤ車検における車両の合否判定はされない。
【００４２】
［１−５．作用例］
図３，図４の処理が行われることによる作用例を、図５を用い説明する。尚、図５は、図２のように改ざん装置４１が設けられた場合を表している。また、読出対象ＥＣＵは、ＥＣＵ１１（即ち、ＥＣＵ＿Ａ）であるとして説明するが、他のＥＣＵ１２，１３であっても同様である。
【００４３】
図５に示すように、時刻ｔ１にて、ツール５が、ＥＣＵ１１を宛先とする特定ＤＴＣ要求を送信したとする。
すると、改ざん装置４１は、ツール５からの特定ＤＴＣ要求を受信してＥＣＵ１１へ送信する中継処理（即ち、ゲートウェイ処理）を行う、と考えられる。具体的には、改ざん装置４１は、ツール５から受信した特定ＤＴＣ要求を、ＥＣＵ１１〜１３側の通信バス３、即ち、図２に示した第１部分３ａに送出すると考えられる。図５において、処理Ｂは、改ざん装置４１が行う処理のうちの、上記中継処理である。
【００４４】
ＥＣＵ１１は、ツール５からの特定ＤＴＣ要求を、改ざん装置４１を経由して受信することになる。尚、この例では、ＥＣＵ１１のメモリ２９に、特定ＤＴＣが記憶されているとする。
【００４５】
ＥＣＵ１１は、特定ＤＴＣ要求を受信すると、図４におけるＳ２２０，Ｓ２３０の処理を行うことにより、応答データとして特定ＤＴＣが含まれた応答メッセージを、通信バス３に送出する。図５において、処理Ａは、ＥＣＵ１１が特定ＤＴＣ要求を受信してからツール５への応答メッセージを送信するまでの処理であり、具体的には図４の応答処理である。
【００４６】
改ざん装置４１は、ＥＣＵ１１からの応答メッセージを受信し、この応答メッセージを改ざんすると考えられる。例えば、応答メッセージに含まれる応答データを、特定ＤＴＣから、特定ＤＴＣが無いことを示すデータに改ざんすると考えられる。ＯＢＤ車検においては、ＥＣＵ１１〜１３の何れかからツール５に特定ＤＴＣが読み出されると、車両が不合格と判定される。このため、改ざん装置４１は、本来ならば不合格の車両を、合格と判定されるようにするために、上記のような改ざんを行うと予想される。図５において、処理Ｃは、改ざん装置４１が行う処理のうち、ＥＣＵ１１からの応答メッセージを受信して、この応答メッセージを改ざんする処理である。
【００４７】
そして、改ざん装置４１は、改ざんした応答メッセージをツール５に送信する。すると、ツール５は、時刻ｔ２にて、改ざん装置４１からの応答メッセージを受信する。尚、図５における処理Ｃに、改ざん後の応答メッセージを送信するための送信処理が含まれても良い。
【００４８】
よって、ツール５が特定ＤＴＣ要求を送信してから応答メッセージを受信するまでの時間（即ち、要求応答時間）は、改ざん装置４１での処理Ｂと、ＥＣＵ１１での処理Ａと、改ざん装置４１での処理Ｃとの、トータルの所要時間以上になる。例えば、ＥＣＵ１１での処理Ａの所要時間が「９±１［ｍｓ］」で、改ざん装置４１での処理Ｂ及び処理Ｃのトータルの所要時間が「Ｔａ［ｍｓ］」であるとすると、要求応答時間は、「９±１＋Ｔａ［ｍｓ］」以上になる。一方、改ざん装置４１が存在しなければ、要求応答時間は、ＥＣＵ１１での処理Ａの所要時間（即ち、９±１［ｍｓ］）と殆ど等しくなる。
【００４９】
このため、改ざん装置４１が存在する場合、ツール５は、図３のＳ１７０で、要求応答時間が所定値Ｔ１より大きいと判定し、Ｓ１９０にて、改ざん装置４１が存在すると判定することができる。所定値Ｔ１は、改ざん装置４１が存在しない正常時における要求応答時間の最大値と同じか、その最大値よりも大きい値に設定されて良い。
【００５０】
［１−６．効果］
以上詳述した第１実施形態のツール５によれば、当該ツール５とＥＣＵ１１〜１３との間に直列に設けられた改ざん装置４１の存在を、検出することができるようになる。このため、例えば、ＯＢＤ車検の実施時において、本来ならば不合格の車両を合格にしようとする不正行為を、防止する効果が期待できる。
【００５１】
尚、第１実施形態においては、ツール５が、データ読出装置に相当し、ＥＣＵ１１〜１３が、車載制御装置に相当する。また、図３の処理のうち、Ｓ１４０が、計測部としての処理に相当し、Ｓ１７０，Ｓ１９０が、判定部としての処理に相当する。
【００５２】
［２．第２実施形態］
［２−１．第１実施形態との相違点］
第２実施形態は、基本的な構成は第１実施形態と同様であるため、相違点について以下に説明する。尚、第１実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【００５３】
第２実施形態では、第１実施形態と比すると、ＥＣＵ１１〜１３が、図４の応答処理に代えて、図６の応答処理を行う点が異なる。そして、ツール５が、図３の読出制御処理に代えて、図７の読出制御処理を行う点も異なる。
【００５４】
［２−２．ＥＣＵが行う応答処理］
図６の応答処理は、図４の応答処理と比較すると、Ｓ２２０とＳ２３０との間に、Ｓ２２５が追加されている。
【００５５】
図６に示すように、ＥＣＵ１１〜１３は、Ｓ２２０にて、ツール５へ送信する応答データを準備した後、Ｓ２２５に進み、応答データに対して、所定の演算を行うことにより、当該応答データを検査するための検査用データを算出する。更にＳ２２５では、算出した検査用データを応答データに付加する。そして、ＥＣＵ１１〜１３は、Ｓ２３０では、検査用データが付加された応答データを含む応答メッセージを、ツール５に送信する。つまり、検査用データが付加された応答データが、ツール５への送信対象データとして扱われる。
【００５６】
検査用データは、応答データの誤り（即ち、エラー）検出に使用されるデータである。検査用データを算出するための演算（以下、検査用演算）は、どのような演算でも良い。例えば、検査用演算は、応答データの合計値（即ち、チェックサム）を検査用データとして算出する演算でも良い。また例えば、検査用演算は、応答データを所定の定数で除算した余りを、検査用データとして算出する、ＣＲＣの演算であっても良い。ＣＲＣは、「Cyclic Redundancy Check」の略である。また例えば、検査用演算は、ＳＨＡ−２５６のように、応答データのハッシュ値を検査用データとして算出する演算でも良い。ＳＨＡ−２５６は、「Secure Hash Algorithm 256-bit」の略である。尚、Ｓ２２５の処理は、特定の処理に相当する。
【００５７】
［２−３．ツールが行う読出制御処理］
図７の読出制御処理は、図３の読出制御処理と比較すると、Ｓ１７０とＳ１８０との間に、Ｓ１９５，Ｓ２００が追加されている。更に、Ｓ１７０の判定では、Ｓ１４０で計測された要求応答時間が、所定値Ｔ２よりも大きいか否かが判定される。所定値Ｔ２は、第１実施形態における所定値Ｔ１よりも大きい値に設定されている。
【００５８】
図７に示すように、ツール５は、Ｓ１７０にて、要求応答時間が所定値Ｔ２より大きくないと判定した場合には、Ｓ１９５に進む。そして、Ｓ１９５では、受信した応答メッセージに含まれる応答データに対して、当該応答データに付加されている検査用データを用いた検査を行う。ここで言う検査とは、エラーの有無を判定することである。
【００５９】
例えば、ツール５は、Ｓ１９５では、受信した応答データに対して、ＥＣＵ１１〜１３にて実施される検査用演算と同じ演算を行うことにより、検査用データを算出する。そして、算出した検査用データと、受信した応答データに付加されている検査用データとを比較し、両方の検査用データが一致していれば、エラー無しと判定する。また、両方の検査用データが不一致ならば、エラー有りと判定する。
【００６０】
そして次に、ツール５は、Ｓ２００にて、Ｓ１９５での検査結果がエラー有りであるか否かを判定し、エラー有りでなければ、即ち、エラー無しであれば、Ｓ１８０に進み、受信した応答データの内容を、特定ＤＴＣの読出結果としてディスプレイ３９に表示する。
【００６１】
また、上記Ｓ２００にて、検査結果がエラー有りであると判定した場合には、Ｓ１９０に進み、ディスプレイ３９に、改ざん装置４１が設けられていることを表示する。
［２−４．作用例］
第２実施形態の作用例を、図５と同様の図８を用いて説明する。
【００６２】
図８に示すように、ＥＣＵ１１（即ち、ＥＣＵ＿Ａ）が行う処理としては、第１実施形態の図５と比較すると、処理Ａに処理Ｄが追加されることになる。この処理Ｄは、図６におけるＳ２２５の処理、即ち、応答データから検査用データを算出して、この検査用データを応答データに付加する処理である。
【００６３】
尚、図８において、ＥＣＵ１１が行う処理のうち、ツール５への応答メッセージを送信する処理は、時系列的には処理Ｄの後に存在することになる。しかし、図８は、ＥＣＵ１１が特定ＤＴＣ要求を受信してから応答メッセージを送信するまでの所要時間が、第１実施形態の図５と比較して、処理Ｄの分だけ大きくなることを表している。このため、図８において、ＥＣＵ１１が応答メッセージを送信する処理の時間は、図５と同様に、処理Ａの時間に含まれている。
【００６４】
一方、改ざん装置４１は、ＥＣＵ１１に成り代わるためには、図８に示すように、前述の処理Ｃ、即ち、ＥＣＵ１１からの応答データを改ざんする処理に加え、改ざん後の応答データに対してＥＣＵ１１での処理Ｄ（即ち、Ｓ２２５）と同じ処理Ｄを行わなければならなくなる。
【００６５】
このため、第２実施形態において、改ざん装置４１が存在する場合、ツール５で計測される要求応答時間は、改ざん装置４１での処理Ｂと、ＥＣＵ１１での処理Ａ及び処理Ｄと、改ざん装置４１での処理Ｃ及び処理Ｄとの、トータルの所要時間以上になる。例えば、ＥＣＵ１１での処理Ａ及び処理Ｄの所要時間が「９９±１［ｍｓ］」で、改ざん装置４１での処理Ｂ、処理Ｃ及び処理Ｄの所要時間が「Ｔｂ［ｍｓ］」であるとすると、要求応答時間は、「９９±１＋Ｔｂ［ｍｓ］」以上になる。一方、改ざん装置４１が存在しなければ、要求応答時間は、ＥＣＵ１１での処理Ａ及び処理Ｄの所要時間（即ち、９９±１［ｍｓ］）と殆ど等しくなる。
【００６６】
よって、この第２実施形態においても、図７のＳ１７０の判定で用いられる所定値Ｔ２は、改ざん装置４１が存在しない正常時における要求応答時間の最大値（即ち「１００［ｍｓ］）と同じか、その最大値よりも大きい値に設定されて良い。
【００６７】
ここで、改ざん装置４１が存在することによる要求応答時間の増加分は、第１実施形態では、改ざん装置４１での処理Ｂ及び処理Ｃの所要時間であるＴａとなるが、本第２実施形態では、そのＴａよりも大きいＴｂとなる。
【００６８】
［２−５．効果］
以上詳述した第２実施形態によれば、前述した第１実施形態の効果を奏し、更に、下記（２ａ），（２ｂ）の効果を奏する。
【００６９】
（２ａ）第２実施形態では、ＥＣＵ１１〜１３が図６のＳ２２５の処理を行うことにより、改ざん装置４１が存在しない場合の要求応答時間と、改ざん装置４１が存在する場合の要求応答時間との差を、大きくすることができる。よって、改ざん装置４１の処理能力が高い場合、あるいは、ツール５における要求応答時間の計測分解能が粗い場合であっても、改ざん装置４１の有無の判定精度を高くすることができる。具体的には、図７のＳ１７０の判定で用いられる所定値Ｔ２を、正常時における要求応答時間の最大値よりも大きく設定できるマージンが、大きくなる。
【００７０】
尚、ＥＣＵ１１〜１３で実施される検査用演算は、複雑な演算であるほど、実施するのに時間がかかることから、改ざん装置４１の有り無しによる要求応答時間の差を大きくする、という狙いに適していると言える。
【００７１】
（２ｂ）ツール５は、図７のＳ１９５にて、受信した応答メッセージに含まれる応答データに対して、当該応答データに付加されている検査用データを用いた検査を行う。
このため、仮に、改ざん装置４１が上記処理Ｄを行わず、その結果、ツール５が、図７のＳ１７０にて「要求応答時間が所定値Ｔ２より大きくない」と判定したとしても、図７のＳ１９５にてエラー有りと判定される。よって、改ざん装置４１によって改ざんされた応答データが正しい応答データとして扱われてしまうことを、防ぐ効果が高い。
【００７２】
尚、第２実施形態においては、ＥＣＵ１１〜１３が行う図６の処理のうち、Ｓ２２５が、データ加工部としての処理に相当し、Ｓ２３０が、応答部としての処理に相当する。ツール５が行う図７の処理のうち、Ｓ１９５は、検査部としての処理に相当する。
【００７３】
また、他の例として、ツール５は、図７のＳ２００にて、Ｓ１９５での検査結果がエラー有りであると判定した場合には、Ｓ１９０に進む代わりに、ディスプレイ３９に受信データエラーの発生を表示しても良い。このように構成しても、改ざんの可能性がある応答データが車両の合否判定に用いられることを防止することができる。
【００７４】
［３．第３実施形態］
［３−１．第１実施形態との相違点］
第３実施形態は、基本的な構成は第１実施形態と同様であるため、相違点について以下に説明する。尚、第１実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【００７５】
第３実施形態では、第１実施形態と比すると、ＥＣＵ１１〜１３が、図４の応答処理に代えて、図９の応答処理を行う点が異なる。そして、ツール５が、図３の読出制御処理に代えて、図１０の読出制御処理を行う点も異なる。
【００７６】
［３−２．ＥＣＵが行う応答処理］
図９の応答処理は、図４の応答処理と比較すると、Ｓ２２０とＳ２３０との間に、Ｓ２２７が追加されている。
【００７７】
図９に示すように、ＥＣＵ１１〜１３は、Ｓ２２０にて、ツール５へ送信する応答データを準備した後、Ｓ２２７に進み、応答データに対して、当該応答データを圧縮する処理（即ち、データ圧縮処理）を行う。データ圧縮処理により、応答データは、実質的な内容が損なわれずに、より短いビット長のデータ列に変換される。そして、ＥＣＵ１１〜１３は、Ｓ２３０では、圧縮された応答データを含む応答メッセージを、ツール５に送信する。尚、Ｓ２２７の処理は、特定の処理に相当する。また、データ圧縮処理は、応答メッセージ全体に実施されても良い。
【００７８】
［３−３．ツールが行う読出制御処理］
図１０の読出制御処理は、図３の読出制御処理と比較すると、Ｓ１４０とＳ１５０との間に、Ｓ２０５が追加されている。更に、Ｓ１７０の判定では、Ｓ１４０で計測された要求応答時間が、所定値Ｔ３よりも大きいか否かが判定される。所定値Ｔ３は、第２実施形態と同様に、第１実施形態における所定値Ｔ１よりも大きい値に設定されている。
【００７９】
図１０に示すように、ツール５は、Ｓ１４０で要求応答時間を計測した後、Ｓ２０５に進み、受信した応答メッセージ中の応答データに対して、当該応答データを解凍する処理（即ち、データ解凍処理）を行う。データ解凍処理は、ＥＣＵ１１〜１３で実施されるデータ圧縮処理に対応する処理であり、このデータ圧縮処理により、応答データは、圧縮前の（即ち、元の）データ列に戻される。そして、ツール５は、Ｓ２０５で応答データを解凍した後、Ｓ１５０に進む。解凍された応答データは、少なくともＳ１８０の処理で用いられる。
【００８０】
［３−４．作用例］
第３実施形態の作用例を、図５，図８と同様の図１１を用いて説明する。
図１１に示すように、ＥＣＵ１１（即ち、ＥＣＵ＿Ａ）が行う処理としては、第１実施形態の図５と比較すると、処理Ａに処理Ｅが追加されることになる。この処理Ｅは、図９におけるＳ２２７のデータ圧縮処理である。
【００８１】
尚、図１１において、ＥＣＵ１１が行う処理のうち、ツール５への応答メッセージを送信する処理は、時系列的には処理Ｅの後に存在することになる。しかし、図１１は、第２実施形態の図８と同様に、ＥＣＵ１１が特定ＤＴＣ要求を受信してから応答メッセージを送信するまでの所要時間が、第１実施形態の図５と比較して、処理Ｅの分だけ大きくなることを表している。このため、図１１において、ＥＣＵ１１が応答メッセージを送信する処理の時間は、図５と同様に、処理Ａの時間に含まれている。
【００８２】
一方、改ざん装置４１は、ＥＣＵ１１に成り代わるためには、図１１に示すように、ＥＣＵ１１からの応答メッセージ中の応答データを解凍するための処理Ｆを行ってから、前述の処理Ｃ、即ち、応答データを改ざんする処理を行うはずである。そして更に、改ざんした応答データを再び圧縮するために、ＥＣＵ１１での処理Ｅ（即ち、Ｓ２２７）と同じ処理Ｅを行わなければならなくなる。
【００８３】
このため、第３実施形態において、改ざん装置４１が存在する場合、ツール５で計測される要求応答時間は、改ざん装置４１での処理Ｂと、ＥＣＵ１１での処理Ａ及び処理Ｅと、改ざん装置４１での処理Ｆ、処理Ｃ及び処理Ｅとの、トータルの所要時間以上になる。例えば、ＥＣＵ１１での処理Ａ及び処理Ｅの所要時間が「９９±１［ｍｓ］」で、改ざん装置４１での処理Ｂ、処理Ｆ、処理Ｃ及び処理Ｅの所要時間が「Ｔｃ［ｍｓ］」であるとすると、要求応答時間は、「９９±１＋Ｔｃ［ｍｓ］」以上になる。一方、改ざん装置４１が存在しなければ、要求応答時間は、ＥＣＵ１１での処理Ａ及び処理Ｅの所要時間（即ち、９９±１［ｍｓ］）と殆ど等しくなる。
【００８４】
よって、この第３実施形態においても、図１０のＳ１７０の判定で用いられる所定値Ｔ３は、改ざん装置４１が存在しない正常時における要求応答時間の最大値（即ち「１００［ｍｓ］）と同じか、その最大値よりも大きい値に設定されて良い。
【００８５】
ここで、改ざん装置４１が存在することによる要求応答時間の増加分は、第１実施形態では、改ざん装置４１での処理Ｂ及び処理Ｃの所要時間であるＴａとなるが、本第３実施形態では、そのＴａよりも大きい上記Ｔｃとなる。このことは、第２実施形態と同様である。
【００８６】
［３−５．効果］
よって、第３実施形態によれば、ＥＣＵ１１〜１３が図９のＳ２２７の処理を行うことにより、第２実施形態と同様に、改ざん装置４１が存在しない場合の要求応答時間と、改ざん装置４１が存在する場合の要求応答時間との差を、大きくすることができる。
【００８７】
このため、第３実施形態によっても、前述した第１実施形態の効果を奏すると共に、第２実施形態の（２ａ）の効果と同様の効果を奏する。
尚、第３実施形態においては、ＥＣＵ１１〜１３が行う図９の処理のうち、Ｓ２２７が、データ加工部としての処理に相当し、Ｓ２３０が、応答部としての処理に相当する。
【００８８】
また、第３実施形態の手法を第２実施形態に組み合わせても良い。例えば、第２実施形態において、ＥＣＵ１１〜１３は、検査用データが付加された応答データを圧縮して、ツール５へと送信するように構成されても良い。
【００８９】
［４．他の実施形態］
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【００９０】
ＥＣＵ１１〜１３からツール５に読み出される特定ＤＴＣは、ＯＢＤ車検における車両の合否判定に使用されるＤＴＣに限らず、例えば、車両の特定機能の修理要否を判定するために使用されるＤＴＣ等であっても良い。また、ＥＣＵ１１〜１３からツール５へは、読出対象のＥＣＵに記憶されている全てのＤＴＣが読み出されても良い。また、ＥＣＵ１１〜１３からツール５へは、ＤＴＣ以外のデータが読み出されても良い。
【００９１】
また、本開示に記載のツール５及びＥＣＵ１１〜１３と、それらの手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されても良い。あるいは、本開示に記載のツール５及びＥＣＵ１１〜１３と、それらの手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されても良い。もしくは、本開示に記載のツール５及びＥＣＵ１１〜１３と、それらの手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されても良い。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されても良い。ツール５及びＥＣＵ１１〜１３に含まれる各部の機能を実現する手法には、必ずしもソフトウェアが含まれている必要はなく、その全部の機能が、一つあるいは複数のハードウェアを用いて実現されても良い。
【００９２】
また、上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしても良い。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしても良い。また、上記実施形態の構成の一部を省略しても良い。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換しても良い。
【００９３】
また、上述したツール５及びＥＣＵ１１〜１３の他、当該ツール５及びＥＣＵ１１〜１３を構成要素とするシステム、当該ツール５又はＥＣＵ１１〜１３としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、改ざん装置の検出方法など、種々の形態で本開示を実現することもできる。
【符号の説明】
【００９４】
１…車両用通信システム、３…通信バス、５…スキャンツール、１１〜１３…ＥＣＵ、４１…改ざん装置
【図１】
2020113921.tif 000003
【図２】
2020113921.tif 000004
【図３】
2020113921.tif 000005
【図４】
2020113921.tif 000006
【図５】
2020113921.tif 000007
【図６】
2020113921.tif 000008
【図７】
2020113921.tif 000009
【図８】
2020113921.tif 000010
【図９】
2020113921.tif 000011
【図１０】
2020113921.tif 000012
【図１１】
2020113921.tif 000013