(57)【要約】【課題】  書換装置又は書換装置内部の情報が盗まれた場合であっても、電子制御装置における制御情報の不正な書き換えを防止できるようにする【解決手段】  書換装置２０がＥＣＵ１１〜１４にアクセスするために必要な関数ｆをセンタ３０に記憶しておく。そして、センタ３０は、書換装置２０を正当なものと判断してはじめて、書換装置２０へ関数ｆを送信する。センタ３０は、書換装置２０に対しユニークに割り振られたＩＤ情報と電話回線網４０を介してデータ通信を行う際の書換装置２０側の電話番号とを対応させて記憶したデータベースを有している。そして、書換装置２０からＩＤ情報を取得すると共に発呼元の電話番号を取得し、このＩＤと電話番号との対応関係がデータベースに記憶された対応関係と一致している場合に、書換装置２０を正当なものと判断する。【選択図】      図１
2004348767.tif 000002
【特許請求の範囲】
【請求項１】
制御情報を書き換えるための書換装置と、前記書換装置との間でデータ通信を行うセンタと共に、制御情報書換システムを構成し、車両を制御するために車載され、電気的に書き換え可能な不揮発性メモリに前記車両制御のための制御情報を記憶した電子制御装置であって、
前記センタは、所定のアクセス情報及び、前記書換装置の識別情報と当該識別情報に対応する対応情報とからなる判別情報を記憶しており、前記書換装置とのデータ通信において、当該書換装置の識別情報及び対応情報を取得し、当該取得した情報の対応関係が前記記憶手段に記憶された判別情報と一致している場合は、前記記憶手段に記憶された前記アクセス情報を前記書換装置へ送信し、一方、一致していない場合は、前記アクセス情報を前記書換装置へ送信しないようになっており、
前記センタから送信される前記所定のアクセス情報を用いた前記書換装置との通信開始処理によって前記書換装置の正当性を判断し、当該書換装置を正当なものであると判断すると、前記書換装置から送信される変更データに基づき前記制御情報の一部又は全部を書き換えることを特徴とする電子制御装置。
【請求項２】
請求項１に記載の電子制御装置において、
前記書換装置は、前記センタから取得した前記アクセス情報に基づく正当性判断情報を本装置に送信するようになっており、
前記書換装置から送信される前記正当性判断情報に基づき、前記書換装置の正当性を判断することを特徴とする電子制御装置。
【請求項３】
請求項２に記載の電子制御装置において、
前記正当性判断情報は、本装置が送信した所定データを前記書換装置が前記アクセス情報を基に変換したものであることを特徴とする電子制御装置。
【請求項４】
請求項３に記載の電子制御装置において、
前記書換装置は、本装置に記憶された関数Ｆに対応する関数ｆを前記アクセス情報として前記センタから取得し、前記所定データとしての所定値ｒに対する関数値ｆ（ｒ）を、前記正当性判断情報として、本装置へ送信するようになっており、
前記書換装置から送信される関数値ｆ（ｒ）に対する関数値Ｆ（ｆ（ｒ））が前記送信した所定値ｒに等しければ、前記書換装置を正当なものであると判断することを特徴とする電子制御装置。
【請求項５】
請求項４に記載の電子制御装置において、
前記所定値ｒを、乱数として生成することを特徴とする電子制御装置。
【請求項６】
請求項１〜５のいずれかに記載の電子制御装置において、
前記書換装置を正当なものでないと所定回数判断すると、前記書換装置からのアクセスを一定時間拒否することを特徴とする電子制御装置。
【請求項７】
請求項１〜６のいずれかに記載の電子制御装置において、
前記書換装置を正当なものであると判断すると、前記書換装置からの前記変更データの送信待ち状態になることを特徴とする電子制御装置。
【請求項８】
請求項１〜７のいずれかに記載の電子制御装置において、
前記センタは、前記制御情報の変更データを記憶する変更データ記憶手段を備え、前記書換装置から送信される前記変更データを特定するためのデータ特定情報に基づき、前記変更データ記憶手段に記憶された変更データを前記書換装置へ送信することを前提として、
前記データ特定情報を、前記書換装置へ送信することを特徴とする電子制御装置。
【請求項９】
請求項８に記載の電子制御装置において、
前記書換装置を正当なものであると判断した場合に、前記データ特定情報を送信することを特徴とする電子制御装置。
【請求項１０】
請求項１〜９のいずれかに記載の電子制御装置において、
前記センタは、前記車両に係る前記制御情報の更新履歴を記憶する更新履歴記憶手段を備え、当該更新履歴記憶手段に記憶された更新履歴を参照し、前記書換装置から送信される前記更新履歴を特定するための履歴特定情報に基づき、前記制御情報の書き換えの必要性を判断することを前提として、
前記履歴特定情報を、前記書換装置へ送信することを特徴とする電子制御装置。
【請求項１１】
請求項１０に記載の電子制御装置において、
前記書換装置を正当なものであると判断した場合に、前記履歴特定情報を送信することを特徴とする電子制御装置。
【請求項１２】
センタと、車両を制御するために車載され、電気的に書き換え可能な不揮発性メモリに前記車両制御のための制御情報を記憶した電子制御装置と共に、制御情報書換システムを構成し、前記制御情報を書き換えるための書換装置であって、
前記センタは、所定のアクセス情報及び、本装置の識別情報と当該識別情報に対応する対応情報とからなる判別情報を記憶しており、本装置とのデータ通信において、本装置の識別情報及び対応情報を取得し、当該取得した情報の対応関係が前記記憶手段に記憶された判別情報と一致している場合は、前記記憶手段に記憶された前記アクセス情報を本装置へ送信し、一方、一致していない場合は、前記アクセス情報を本装置へ送信しないようになっており、
前記センタから前記アクセス情報が送信されると、当該アクセス情報を用いた前記電子制御装置との通信開始処理を実行し、前記電子制御装置によって本装置が正当であると判断されると、前記制御情報の一部又は全部を書き換えるための変更データを前記電子制御装置へ送信することを特徴とする書換装置。
【請求項１３】
請求項１２に記載の書換装置において、
前記電子制御装置は、本装置から送信される正当性判断情報に基づき、本装置の正当性を判断することを前提として、
前記センタから取得した前記アクセス情報に基づく正当性判断情報を前記電子制御装置に送信することを特徴とする書換装置。
【請求項１４】
請求項１３に記載の書換装置において、
前記正当性判断情報は、前記電子制御装置から送信される所定データを前記アクセス情報を基に変換した情報であることを特徴とする書換装置。
【請求項１５】
請求項１４に記載の書換装置において、
前記電子制御装置は、前記所定データとして所定値ｒを送信し、その後、本装置から送信される関数値ｆ（ｒ）に対する関数値Ｆ（ｆ（ｒ））が前記所定値ｒに等しければ、本装置を正当なものであると判断することを前提として、
前記電子制御装置に記憶された関数Ｆに対応する関数ｆを前記アクセス情報として前記センタから取得し、前記電子制御装置から送信される所定値ｒに対する関数値ｆ（ｒ）を、前記正当性判断情報として、前記電子制御装置へ送信することを特徴とする書換装置。
【請求項１６】
請求項１５に記載の書換装置において、
前記所定値ｒは、前記電子制御装置にて生成される乱数であることを特徴とする書換装置。
【請求項１７】
請求項１２〜１６のいずれかに記載の書換装置において、
前記判別情報の少なくとも一部は、前記センタとのデータ通信可能状態が確立される毎に、利用者によって入力されるものであり、
前記利用者によって入力された情報を前記センタへ送信することを特徴とする書換装置。
【請求項１８】
請求項１２〜１７のいずれかに記載の書換装置において、
前記センタは、前記制御情報の変更データを記憶する変更データ記憶手段を備え、前記変更データ記憶手段に記憶された変更データを前記書換装置へ送信することを前提として、
前記変更データを特定するためのデータ特定情報を、前記センタへ送信することを特徴とする書換装置。
【請求項１９】
請求項１８に記載の書換装置において、
前記データ特定情報は、前記電子制御装置から送信されるものであることを特徴とする書換装置。
【請求項２０】
請求項１２〜１９のいずれかに記載の書換装置において、
前記センタは、前記車両に係る前記制御情報の更新履歴を記憶する更新履歴記憶手段を備え、当該更新履歴記憶手段に記憶された更新履歴を参照し、前記制御情報の書き換えの必要性を判断することを前提として、
前記車両に係る更新履歴を特定するための履歴特定情報を、前記センタへ送信することを特徴とする書換装置。
【請求項２１】
請求項２０に記載の書換装置において、
前記履歴特定情報は、前記電子制御装置から送信されるものであることを特徴とする書換装置。
【請求項２２】
請求項１２〜２１のいずれかに記載の書換装置において、
前記電子制御装置にて前記制御情報の書き換えが完了すると、前記所定のアクセス情報を抹消することを特徴とする書換装置。
【請求項２３】
請求項１２〜２２のいずれかに記載の書換装置において、
前記センタとの間でデータ通信可能状態が確立された後、前記電子制御装置にて前記制御情報の書き換えが完了する前に前記センタとの間のデータ通信が不能となった場合、前記制御情報の書き換えを中止することを特徴とする書換装置。
【請求項２４】
車両を制御するために車載され、電気的に書き換え可能な不揮発性メモリに前記車両制御のための制御情報を記憶した電子制御装置と、前記制御情報を書き換えるための書換装置とを備え、前記電子制御装置は、前記書換装置から送信される変更データに基づき前記制御情報の一部又は全部を書き換える制御情報書換システムに用いられ、
前記書換装置との間でデータ通信を行うセンタであって、
前記書換装置は、本装置から送信される前記制御情報の変更データを前記電子制御装置へ送信するようになっており、
前記制御情報の変更データを記憶する変更データ記憶手段を備え、
前記書換装置によって前記変更データを特定するためのデータ特定情報が送信されると、当該データ特定情報に基づき、前記変更データ記憶手段に記憶された変更データの中から該当する変更データを選択することを特徴とするセンタ。
【請求項２５】
請求項２４に記載のセンタにおいて、
前記データ特定情報は、前記電子制御装置によって前記書換装置へ送信されるものであること
を特徴とするセンタ。
【請求項２６】
請求項２５に記載のセンタにおいて、
前記データ特定情報は、前記電子制御装置によって前記書換装置が正当であると判断された場合に送信されること
を特徴とするセンタ。
【請求項２７】
請求項２４，２５，２６のいずれかに記載のセンタにおいて、
前記データ特定情報には、車両を特定するための各車両に固有の車両情報又は前記電子制御装置を特定するための前記電子制御装置に固有の装置情報の少なくともいずれか一方が含まれること
を特徴とするセンタ。
【請求項２８】
請求項２４〜２７のいずれかに記載のセンタにおいて、
前記センタは、さらに、前記車両に係る前記制御情報の更新履歴を記憶する更新履歴記憶手段を有し、前記車両に係る更新履歴を特定するための履歴特定情報が前記書換装置によって送信されると、前記更新履歴記憶手段に記憶された更新履歴を参照し、前記履歴特定情報に基づいて当該車両における前記制御情報の書き換えの必要性を判断すること
を特徴とするセンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電気的にデータの書き換えが可能な不揮発性メモリを有する電子制御装置（以下「ＥＣＵ」ともいう。）に関し、特に当該不揮発性メモリに記憶された制御プログラムや制御データといった制御情報の不正な書き換えを防止する技術に関する。
【背景技術】
【０００２】
従来より、自動車のエンジン等を制御するＥＣＵには、電気的にデータの書き換えが可能な不揮発性メモリに制御情報を格納したものがある。ここで制御情報とは、制御用のプログラム及びデータをいう。これによって、このような制御情報を、市場への供給後でも書き換え可能にしている。
【０００３】
すなわち、この種のＥＣＵは、通常時には、不揮発性メモリに格納された制御情報に従ってエンジン等の制御対象を制御するための制御処理を実行するのであるが、別途用意された書換装置が接続されて、その書換装置から書き換え指令が送信されて来ると、所定の通信手順を踏んだ後に、不揮発性メモリの内容を書き換えるように構成されている。なお、不揮発性メモリの内容の書き換えは、不揮発性メモリに格納されている制御情報の一部又は全部を消去し、その消去したメモリ領域に、メモリ書換装置から送信されてくる変更データとしての新たな制御情報を書き込むという手順で行われる。
【０００４】
具体的には図９に示すように、車両１００に用意された車両ダイアグコネクタ１２０を介して書換装置２００が接続される。図９では、車両１００に４つのＥＣＵ１０１，１０２，１０３，１０４が搭載されており、各ＥＣＵ１０１〜１０４は、ネットワーク回線１１０にて結ばれている。書換装置２００は、作業者による操作に基づきＥＣＵコードを送信することによって、４台のＥＣＵ１０１〜１０４のうちの１台とデータ通信を行う。
【０００５】
このようなＥＣＵでは、不揮発性メモリに格納される制御情報を書換装置を用いて書き換えることができるため、動作内容（制御内容）を任意に変更することができるという点で有利である。特に、動作内容（制御内容）に不具合があった場合も迅速に対応できることになり、市場への供給後における車両のメンテナンスを容易にする。
【０００６】
しかしその反面、利用者が制御情報を故意に書き換える可能性が残される。すなわち、環境面や安全面を配慮して設定される制御情報を、利用者が快適性や興味などで書き換えてしまう可能性がある。例えば、エンジンを制御するＥＣＵでは、車速の上限値を制御データとして予め設定しておき、車速がその上限値を越えた場合には、燃料をカットするというような安全面からの制御を行うのが一般的である。このとき、利用者が、予め設定された車速の上限値（制御データ）を故意に書き換えることが考えられる。このように制御情報が利用者によって故意に書き換えられると、環境面や安全面において妥当でない状況が発生する。
【０００７】
そのため、Ｅ−ＯＢＤの電子システムセキュリティ規定で不正な制御情報の書き換えを防止することが義務付けられている。そこで次に、従来の書換処理を図面を用いて説明する。図１０の左側に示した処理が図９におけるＥＣＵ１０１〜１０４の処理に相当し、図１０の右側に示した処理が図９における書換装置２００の処理に相当している。なお、各処理にはｂ１〜ｂ１２の符号を付した。以下、この符号を用いて処理の説明を行う。
【０００８】
まず最初に書換装置が制御情報の書き換えを行うＥＣＵを選択し、書換要求を送信する（ｂ１）。ＥＣＵの選択は、ＥＣＵコードを送信することによって行う。このＥＣＵコードは作業者によって書換装置に入力される。すると、選択されたＥＣＵは、乱数ｒを発生し（ｂ２）、この乱数ｒを書換装置へ送信する（ｂ３）。
【０００９】
書換装置には関数ｆが予め記憶されており、送信される乱数ｒに対して関数値ｆ（ｒ）を算出する（ｂ４）。そして、その算出した関数値ｆ（ｒ）を送信する（ｂ５）。一方、ＥＣＵには関数Ｆが予め記憶されており、送信される関数値ｆ（ｒ）に対して関数値Ｆ（ｆ（ｒ））を算出する（ｂ６）。続いて、算出したＦ（ｆ（ｒ））が乱数ｒに等しければ、すなわちｆ＝Ｆ−１であれば、書き換えを許可する許可信号を送信する（ｂ７）。
【００１０】
ここまでの処理は、ＥＣＵが記憶する関数Ｆの逆関数ｆを書換装置が有している場合に、ＥＣＵが書換装置を正当であると判断するものである。この例では、書換装置の有する関数ｆがＥＣＵをアクセスするための情報となっている。書換装置は、ＥＣＵから送信される許可信号を受信すると（ｂ８）、変更データを送信する（ｂ９）。ＥＣＵは、この変更データに基づき制御情報の書き換えを行う（ｂ１０）。
【００１１】
ＥＣＵは制御情報の書き換えが正常に終了すると、正常終了を通知し（ｂ１１）、書換装置が通知を受けて（ｂ１２）一連の書き換え処理が完了する。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
図１０を用いて説明した書換処理では、書換装置内の情報である関数ｆを用いた通信処理（ｂ１〜ｂ７）によって、ＥＣＵが書換装置の正当性を判断している。そのため、書換装置自体が盗まれたり、又は、書換装置内部の情報が盗まれたりした場合には、不正な制御情報の書き換えを防止できないという問題があった。特に、書換装置は作業現場にあるため、上述した盗難の可能性が比較的高くなってしまう。
【００１３】
本発明は、上述した問題点を解決するためになされたものであり、書換装置又は書換装置内部の情報が盗まれた場合であっても、上述した不正な制御情報の書き換えを防止できるようにすることを目的とする。
【課題を解決するための手段】
【００１４】
上述した目的を達成するためになされた請求項１に記載の制御情報書換システムは、車両を制御するために車載され、電気的に書き換え可能な不揮発性メモリに車両制御のための制御情報を記憶した電子制御装置と、制御情報を書き換えるための書換装置とを備えることを前提としている。
【００１５】
このとき、書換装置は、所定のアクセス情報を用いた通信開始処理を電子制御装置との間で実行し、一方、電子制御装置は、通信開始処理によって書換装置の正当性を判断し、当該書換装置を正当なものであると判断すると、書換装置から送信される変更データに基づき制御情報の一部又は全部を書き換える。
【００１６】
このような構成に加え、本発明のシステムではさらに、書換装置との間でデータ通信を行うセンタを備えていることを特徴としている。センタは、例えば作業現場とは別の場所に設置されることが考えられる。このセンタの記憶手段には、上述したアクセス情報が記憶されている。また、書換装置の判別情報が記憶されている。
【００１７】
このとき、センタの正当性判断手段は、書換装置とのデータ通信において、当該書換装置からの情報を取得する。そして、当該取得した情報が記憶手段に記憶された判別情報と一致している場合は、所定のアクセス情報を書換装置へ送信する。一方、判別情報と一致していない場合は、所定のアクセス情報を書換装置へ送信しない。
【００１８】
つまり、本発明では、電子制御装置へのアクセスを可能にするアクセス情報を、書換装置ではなくセンタに記憶しておき、書換装置の正当性を電子制御装置に先立ってセンタが判断するようにしたのである。センタは、書換装置を正当なものであると判断した場合に、アクセス情報を送信することによって、制御情報の書き換えを許可する。
【００１９】
これは、以下のような２段階のチェックを行うことにあたる。
【００２０】
（１）センタが書換装置の正当性を判断してアクセス情報を書換装置へ送信する。
【００２１】
（２）書換装置はそのアクセス情報を用いた通信開始処理を実行し、その通信開始処理に基づき、電子制御装置が書換装置の正当性を判断する。
【００２２】
これによって、少なくとも判別情報を書換装置内部に記憶しておかなければ、上記（１）の段階で書換装置はセンタからアクセス情報を得ることができない。したがって、書換装置又は書換装置内部の情報が盗まれたとしても、上記（２）において電子制御装置により書換装置が正当であると判断されないため、その後、制御情報の書き換えが行われない。その結果、書換装置や書換装置内部の情報が盗まれた場合であっても、電子制御装置の制御情報が不正に書き換えられることを防止できる。
【００２３】
なお、通常、書換装置は、例えば修理工場毎に設置されるというように、本システムに複数台存在する。そこで、書換装置毎の正当性を判断するために、ここでは、上述した判別情報が、識別情報及び対応情報からなることを特徴としている。識別情報は、書換装置を識別するための書換装置固有の番号などであることが考えられる。一方、対応情報は、各識別情報に対応させて設定される情報である。
【００２４】
このときセンタの正当性判断手段は、書換装置とのデータ通信において、当該書換装置の識別情報及び対応情報を取得する。そして、当該取得した情報の対応関係が記憶手段に記憶された判別情報と一致している場合は、所定のアクセス情報を書換装置へ送信する。一方、一致していない場合は、所定のアクセス情報を書換装置へ送信しない。
【００２５】
これによって、少なくとも識別情報及び対応情報のいずれか一方を書換装置内部に記憶しておかなければ、上記（１）の段階で書換装置はセンタからアクセス情報を得ることができない。したがって、書換装置又は書換装置内部の情報が盗まれたとしても、上記（２）において電子制御装置により書換装置が正当であると判断されないため、その後、制御情報の書き換えが行われない。その結果、書換装置や書換装置内部の情報が盗まれた場合であっても、電子制御装置の制御情報が不正に書き換えられることを防止できる。そして、この場合、書換装置毎に、その正当性を判断できる。
【００２６】
ところで、上記（２）における「アクセス情報を用いた通信開始処理」は、次に示すようなものとすることが考えられる。すなわち、書換装置が、センタから取得したアクセス情報に基づく正当性判断情報を電子制御装置に送信し、これに対し電子制御装置は、書換装置から送信される正当性判断情報に基づき、書換装置の正当性を判断するものとすることが考えられる（請求項２）。ここでいう正当性情報は、例えば、電子制御装置から送信される所定データをアクセス情報を基に変換した情報である（請求項３）。
【００２７】
具体的な構成としては、従来技術して上述したのと同様の構成（請求項４）が挙げられる。すなわちこの場合、書換装置は、前記電子制御装置に記憶された関数Ｆに対応する関数ｆをアクセス情報としてセンタから取得し、所定データとしての所定値ｒに対する関数値ｆ（ｒ）を、正当性判断情報として、電子制御装置に送信する。そして、電子制御装置は、書換装置から送信される関数値ｆ（ｒ）に対する関数値Ｆ（ｆ（ｒ））が所定値ｒに等しければ、書換装置を正当なものであると判断する。ここで所定値ｒは固定的なものとしてもよいが、電子制御装置にて生成される乱数としてもよい（請求項５）。
【００２８】
なお、正当なアクセス情報を得ることなく、書換装置による電子制御装置への不正なアクセスが行われることを防止するために、請求項６に示す構成を採用してもよい。この構成では、電子制御装置が、書換装置を正当なものでないと所定回数判断すると、書換装置からのアクセスを例えば１０分というような一定時間拒否する。所定回数は１回としてもよいが、通信エラーなどが生じる可能性を考慮して例えば３回というように設定することが考えられる。また、所定回数は、「正当なものでない」という判断が連続して行われた回数であってもよいし、「正当なものでない」という判断を累積した回数としてもよい。このようにすれば、不正なアクセス情報を用いては連続的に何度も電子制御装置をアクセスすることができないため、不正な電子制御装置へのアクセスを効果的に防止することができ、制御情報の書き換え防止に有効である。
【００２９】
ここでは「正当なものでない」という判断が連続して行われた場合の電子制御装置の動作に言及したが、逆に、書換装置を正当なものであると判断すると、電子制御装置は、書換装置からの変更データの送信待ち状態になるようにすることが考えられる（請求項７）。
【００３０】
センタは、書換装置との間にデータ通信可能状態が確立されると、書換装置側の電話番号を判別情報の一部としてとして取得する。識別情報と共に判別情報を構成する対応情報を電話番号とするものであり、センタは、取得される識別番号と電話番号との対応関係が記憶手段に予め記憶された判別情報と一致するか否かを判断し、一致すればアクセス情報を送信することになる。
【００３１】
このようにすれば、別の場所、すなわち正規の作業場所以外からセンタとの間に回線を接続した場合、センタの取得する電話番号は、予め決められた電話番号でなくなる。そのため、例えば識別情報と対応せず、センタからアクセス情報を得ることはできない。つまり、この技術思想は、不正な書き換えが行われる場合には書換装置が正規の設置場所にない、という事実に着目したものである。このようにすれば、書換装置や書換装置内の情報が盗まれた場合であっても、電子制御装置の制御情報が不正に書き換えられることを確実に防止できる。
【００３２】
ところで、電子制御装置にて書換装置が正当でないと判断された場合に、電子制御装置が書換装置からのアクセスを例えば１０分というような一定時間拒否することによって、電子制御装置への不正なアクセスが効果的に防止できることは上述した。センタと書換装置との間にも、同様の手法を採用することが考えられる。
【００３３】
なお、従来は、書換装置の有する記録媒体に制御情報を書き換えるための変更データを記憶していた。本発明においても、変更データを書換装置に記憶する構成としてもよい。しかし、さらにセキュリティ面を考慮するならば、センタが、さらに、制御情報の変更データを記憶する変更データ記憶手段を有する構成とすることが考えられる。つまり、センタに変更データを記憶しておけば、書換装置又は書換装置内部の情報が盗まれた場合であっても、変更データが外部に漏れる可能性がない。
【００３４】
この変更データは、例えば利用者が書換装置を介して手動にて読み出すことも考えられるが、センタが変更データを自動的に書換装置へ送信する構成とすれば、利用者にとって便利である。このとき、センタは、電子制御装置にて書換装置が正当であると判断された場合に、変更データ記憶手段に記憶された変更データを書換装置へ送信するようにするとよい。つまり、上記（２）において書換装置が正当であるとの判断がなされた後に、変更データを書換装置へ送信するのである。例えば、電子制御装置が、書換装置を正当なものであると判断すると、書き換えの許可を示す情報を書換装置へ送信し、さらに、書換装置が、この情報をセンタに送信することによって、センタが変更データを送信するという具合である。もちろん、上記（１）において書換装置の正当性をセンタが判断した際に、アクセス情報と共に変更データを書換装置へ送信するようにしてもよい。しかし、上述したように電子制御装置にて書換装置が正当であると判断された場合に変更データを送信するようにすれば、すなわち、上記（１）及び（２）のチェックが行われた後に変更データを送信するようにすれば、さらにセキュリティ面で有利である。
【００３５】
また、上述した変更データ記憶手段には、複数の変更データが記憶されることが考えられる。例えば車両や電子制御装置毎に、変更データが異なるのが一般的だからである。そこで、変更データを特定するためのデータ特定情報が書換装置によって送信されることを前提とし、センタは、このデータ特定情報に基づき、変更データ記憶手段に記憶された変更データの中から該当する変更データを選択して送信するようにしてもよい。
【００３６】
このようにセンタに変更データを記憶しておき、さらには、書換装置からのデータ特定情報に基づき、該当する変更データをセンタが決定するという構成のみを採用しても、不正な書き換えを防止するという目的が達成できる。したがって、このような構成を備えるセンタの発明として実現することも考えられる（請求項２４）。
【００３７】
なお、データ特定情報は、例えば車両や電子制御装置に対応する変更データを特定可能なものであるため、車載された電子制御装置によって書換装置へ送信されるものとすることが考えられる（請求項２５）。車両や電子制御装置毎に変更データが用意されることを考えると、データ特定情報には、車両を特定するための各車両に固有の車両情報又は電子制御装置を特定するための電子制御装置に固有の装置情報の少なくともいずれか一方が含まれることが考えられる（請求項２７）。車両情報としては、例えば各車両固有の車両ＶＩＮ（Ｖｅｈｉｃｌｅ  ＩＤ  Ｎｕｍｂｅｒ）コードが挙げられる。また、セキュリティ面を考慮するならば、電子制御装置によって書換装置が正当であると判断された場合に、このデータ特定情報が送信されるようにするとよい（請求項２８）。すなわち、このデータ特定情報は変更データの送信に係る情報であるため、変更データの送信タイミングと同様に、上記（１）及び（２）のチェックが行われた後にするのが望ましい。
【００３８】
ところで、従来は、電子制御装置の制御情報が過去に書き換えられているか否かを判断できない状況が存在した。例えば制御プログラムが複数回バージョンアップされているような場合、ある車両に対して同一ユーザが同一の修理工場を利用する場合は、修理工場側で記録を残すことなどで、車両の制御プログラムがどこまでバージョンアップされたかを把握することができる。
【００３９】
しかし、車両のユーザが途中で変わった場合や別の修理工場へ車両の点検を依頼した場合などは、制御プログラムのバージョンアップの履歴がないため、既に制御プログラムの書き換えが行われているにもかかわらず、再度制御プログラムの書き換えを行うというような無駄な制御情報の書き換えが行われる状況があった。このような場合、無駄な作業時間を要するだけでなく、例えば制御情報の記憶にＥＥＰＲＯＭを用いている場合、書き換え可能回数が制限されるため、無駄な書き換えによって必要な書き換えができなくなるおそれもあった。
【００４０】
そこで、請求項２８に示すように、センタが、さらに、車両に係る制御情報の更新履歴を記憶する更新履歴記憶手段を有する構成とすることが考えられる。これは各車両における制御情報の更新履歴をセンタにて一括管理しようという技術思想である。
【００４１】
このような更新履歴記憶手段を有する構成の下、車両に係る更新履歴を特定するための履歴特定情報が書換装置によって送信されることを前提とすれば、センタは、更新履歴記憶手段に記憶された更新履歴を参照し、履歴特定情報に基づいて当該車両における制御情報の書き換えの必要性を判断するようにもできる。
【００４２】
そしてさらに、上述した変更データ記憶手段を有する構成であれば、センタは、制御情報の書き換えが必要であると判断すると、変更データ記憶手段に記憶された変更データを書換装置へ送信する構成にすることが考えられる。逆に、制御情報の書き換えが必要でないと判断すると、書き換えが必要でない旨を示す情報を書換装置へ送信するようにしてもよい。
【００４３】
この履歴特定情報は、各車両を、詳しくは各車両に搭載された電子制御装置内の制御情報の更新履歴を特定するものであるため、上述したデータ特定情報と同様に、車載された電子制御装置によって書換装置へ送信されるものとすることが考えられる（請求項２３）。車両あるいは電子制御装置を特定する必要性を考えると、データ特定情報と同様に、履歴特定情報には、車両を特定するための各車両に固有の車両情報又は電子制御装置を特定するための電子制御装置に固有の装置情報の少なくともいずれか一方が含まれることが考えられる。また、セキュリティ面を考慮するならば、電子制御装置によって書換装置が正当であると判断された場合に、履歴特定情報が送信されるようにするとよい。つまり、この履歴特定情報も、データ特定情報と同様、変更データの送信に係る情報であるため、上記（１）及び（２）のチェックが行われた後に送信するのが望ましいのである。
【００４４】
このようにすれば、センタによって制御情報の更新履歴が管理されるため、無駄な制御情報の書き換えが行われない。その結果、無駄な作業時間がなくなり、また、無駄な書き換えによって必要な書き換えができなくなることもなくなる。なお、更新履歴は、例えば作業者が制御情報の書き換え完了後にマニュアル操作で更新してもよいが、請求項２６に示すように自動的に更新されるようにすると便利である。
【００４５】
すなわち、センタは、電子制御装置にて制御情報の書き換えが完了すると、更新履歴記憶手段に記憶された、当該電子制御装置が搭載された車両に対する更新履歴を更新するようにするとよい。具体的には、電子制御装置が制御情報の書き換え完了を示す情報を書換装置に送信し、書換装置がさらにこの情報をセンタへ送信する。つまり、センタは、電子制御装置にて制御情報の書き換えが完了したか否かを、書換装置からの情報に基づいて判断することが考えられる。このようにすれば、書き換えの終了時に更新履歴が自動的に更新されるため、作業者にとって便利である。
【００４６】
ところで、センタが書換装置の正当性を判断してアクセス情報を送信した後に、その書込装置からアクセス情報が盗まれる可能性も考えられる。したがって、請求項２８に示すように、書換装置は、電子制御装置にて制御情報の書き換えが完了すると、所定のアクセス情報を抹消するのが望ましい。具体的には、電子制御装置が制御情報の書き換えが完了したことを示す情報を書換装置へ送信し、この情報に基づき、書換装置がアクセス情報を抹消するという具合である。このようにすれば、書き換えの終了時にアクセス情報が速やかに抹消されるため、送信されたアクセス情報が書換装置から盗まれる可能性を低減させることができる。
【００４７】
また、上記（１）において書換装置がセンタからアクセス情報を取得した後、センタと書換装置との間のデータ通信を一時的に終了することが考えられる。ただし、書換装置に送信されたアクセス情報が盗まれ、別の書換装置を用い、このアクセス情報を使用して電子制御装置がアクセスされる可能性がある。
【００４８】
したがって、書換装置は、センタとの間でデータ通信可能状態が確立された後、電子制御装置にて制御情報の書き換えが完了する前にセンタとの間のデータ通信が不能となった場合、制御情報の書き換えを中止するようにすることが考えられる。
【００４９】
この場合、書換装置の正当性判断を含む一連の書き換え処理が終了するまではセンタと書換装置がデータ通信可能状態となっていることを書き換えの条件とするのである。これによって、盗んだアクセス情報を用いて別の書換装置から電子制御装置をアクセスすることができないため、制御情報が不正な書き換えを確実に防止できる。
【００５０】
以上、制御情報書換システムとして説明したが、本願発明はこのような制御情報書換システムに用いられて有効な、センタの発明として、また、電子制御装置の発明として、さらには、書換装置の発明として実現するものである。
【発明を実施するための最良の形態】
【００５１】
以下、本発明を具体化した一実施例を図面を参照して説明する。図１は、実施例の制御情報書換システム１の概略構成を示すブロック図である。車両１０には、４台のＥＣＵ１１，１２，１３，１４が搭載されており、各ＥＣＵ１１〜１４はネットワーク回線１５で結ばれている。ＥＣＵ１１〜１４は、不揮発性メモリとしてのＥＥＰＲＯＭ（不図示）を有しており、書換装置２０が接続されていない通常時には、このＥＥＰＲＯＭに記憶された制御情報（制御プログラム及び制御データ）に基づき、ネットワーク回線１５を介したＥＣＵ１１〜１４間通信を行って、エンジン等それぞれの制御対象を制御する。
【００５２】
そして、ＥＣＵ１１〜１４の有するＥＥＰＲＯＭに記憶された制御情報を書き換えるためのシステムが、本制御情報書換システム１である。図１では、書換装置２０が車両ダイアグコネクタ１６を介して各ＥＣＵ１１〜１４と接続された様子が示されている。車両ダイアグコネクタ１６は、書換装置２０と各ＥＣＵ１１〜１４とのネットワーク回線１５を介したデータ通信を可能にするため、車両１０に用意されたコネクタである。なお、車両１０及び書換装置２０は、修理工場などの作業現場に設置されている。
【００５３】
また、本実施例の制御情報書換システム１では、書換装置２０が電話回線網４０を介してセンタ３０とデータ通信できるようになっている。センタ３０は、いわゆるサーバとして作業現場とは別の場所に設置される。そして、このセンタ３０の記憶装置（不図示）には、ＥＣＵ１１〜１４を書換装置２０がアクセスするためのアクセス情報、制御情報を書き換える変更データ、書換装置２０の正当性を判断するためのデータベース、及び、各車両１０の制御情報の更新履歴のデータベースが記憶されている。したがって、この記憶装置が「記憶手段」、「変更データ記憶手段」及び「更新履歴記憶手段」に相当する。
【００５４】
書換装置２０とセンタ３０とは、書換装置２０がセンタ３０を発呼することによって、書換装置２０とセンタ３０との間で所定の通信処理が行われてデータ通信が可能な状態となる。なお、図１には、センタ３０が１台の書換装置２０と接続されていることを示したが、センタ３０に対しては、例えば別の作業現場の書換装置が並行して接続されることも考えられる。
【００５５】
次に、本制御情報書換システム１の動作の概要を図２に基づき説明する。図２では、本制御情報書換システム１の動作をＢ１〜Ｂ１８の符号を付したブロック単位で示した。詳しくは、各ＥＣＵ１１〜１４における処理を、ＥＣＵ側処理として図２中の左側の列に、Ｂ５，Ｂ６，Ｂ９，Ｂ１０，Ｂ１５，Ｂ１６と示した。また、書換装置２０における処理を、書換装置側処理として中央の列に、Ｂ１，Ｂ４，Ｂ７，Ｂ８，Ｂ１１，Ｂ１４，Ｂ１７と示した。さらに、センタ３０における処理を、センタ側処理として右側の列に、Ｂ２，Ｂ３，Ｂ１２，Ｂ１３，Ｂ１８と示した。これらの処理は、Ｂ１→Ｂ２→Ｂ３→・・・→Ｂ１８という順序で実行される。
【００５６】
最初に書換装置２０がセンタ３０を発呼し、書換装置２０とセンタ３０との間にデータ通信可能状態が確立されると、書換装置２０は、通信開始要求と共に書換装置２０自体を識別させるための「識別情報」としてのＩＤ情報をセンタ３０へ送信する（Ｂ１）。これに対し、センタ３０は、書換装置２０からのＩＤ情報を受信すると共に、発呼元の電話番号、すなわち、書換装置２０側の電話番号を取得する（Ｂ２）。この電話番号が「対応情報」に相当する。
【００５７】
センタ３０は、書換装置２０のＩＤ情報と書換装置２０に割り当てられた電話番号とを対応させたデータベースを有している。したがって、センタ３０は次に、受信したＩＤ情報と取得した電話番号との対応関係をデータベースにある対応関係と照合する（Ｂ２）。ここで一致していれば、第１許可信号及び関数ｆを書換装置２０へ送信する（Ｂ３）。
【００５８】
書換装置２０は、ＥＣＵ１１〜１４の中から書き換え対象とするＥＣＵを選択し、そのＥＣＵへ書換要求を送信する（Ｂ４）。ここではＥＣＵ１１が書き換え対象のＥＣＵとして選択されたものとして以下の説明を続ける。選択されたＥＣＵ１１は、乱数ｒを発生し（Ｂ５）、この乱数ｒを書換装置２０へ送信する（Ｂ６）。
【００５９】
書換装置２０は、上記Ｂ３にてセンタから送信された関数ｆを用い、ＥＣＵ１１からの乱数ｒに対して関数値ｆ（ｒ）を算出する（Ｂ７）。そして、その算出した関数値ｆ（ｒ）をＥＣＵ１１へ再度送信する（Ｂ８）。一方、ＥＣＵ１１には関数Ｆが予め記憶されており、書換装置２０から送信される関数値ｆ（ｒ）に対し、関数値Ｆ（ｆ（ｒ））を算出する（Ｂ９）。続いて、算出したＦ（ｆ（ｒ））が乱数ｒに等しければ、すなわちｆ＝Ｆ−１であれば、書き換えを許可する第２許可信号を送信すると共に、車両ＶＩＮコードを送信する（Ｂ１０）。車両ＶＩＮコードは、車両毎にユニークに付された番号であり、これが上述の「データ特定情報」及び「履歴特定情報」に相当する。
【００６０】
書換装置２０は、ＥＣＵ１１からの第２許可信号及び車両ＶＩＮコードを受信し、これらの情報をさらに、センタ３０へ送信する（Ｂ１１）。センタ３０は、各車両それぞれの制御情報の更新履歴をデータベースとして有している。したがって、書換装置２０からの車両ＶＩＮコードに基づき、車両１０の判別を行い、更新履歴のデータベースを参照して、制御情報の書き換え必要性を判断する（Ｂ１２）。ここで車両１０に対する制御情報の書き換えが必要であると判断すると、変更データを書換装置２０へ送信する（Ｂ１３）。
【００６１】
書換装置２０は、センタ３０からの変更データを受信し、この変更データをＥＣＵ１１へ送信する（Ｂ１４）。ＥＣＵ１１は、書換装置２０からの変更データに基づき、制御情報の書き換えを行う（Ｂ１５）。そして、制御情報の書き換えが正常に終了すれば、正常終了を書換装置２０へ通知する（Ｂ１６）。
【００６２】
書換装置２０は、ＥＣＵ１１から正常終了が通知されると、上記Ｂ３にてセンタ３０から送信された関数ｆを抹消する（Ｂ１７）。また、センタ３０に正常終了を通知する。これによって、センタ３０は、更新履歴のデータベースを更新する（Ｂ１８）。
【００６３】
以上のようにして一連の書き換え処理が完了する。次に、上述したＥＣＵ側処理、書換装置側処理、及びセンタ側処理の詳細を順に説明する。なお、各処理の説明にあたって適宜図２を参照する。最初に図３及び図４のフローチャートに基づき、各ＥＣＵ１１〜１４にて実行されるＥＣＵ側処理を説明する。なお、このＥＣＵ側処理は、車両１０に車両ダイアグコネクタ１６を介して書換装置２０が接続された状態において、例えば０．２秒というような所定時間間隔で実行されるものである。
【００６４】
まずステップＳ３００において、書換装置２０からの書換要求があったか否かを判断する。ここで書換要求があったと判断された場合（Ｓ３００：ＹＥＳ）、Ｓ３１０へ移行する。一方、書換要求がなかったと判断された場合（Ｓ３００：ＮＯ）、以降の処理を実行せずに、本ＥＣＵ側処理を終了する。
【００６５】
Ｓ３１０では、アクセス拒否タイマが「０」か否かを判断する。アクセス拒否タイマは、後述するように書換装置２０が「正当でない」と所定回数連続して判断された場合に設定されるものである。ここでアクセス拒否タイマが「０」でないと判断された場合（Ｓ３１０：ＮＯ）、Ｓ３２０にてタイマをデクリメントし、さらに変数Ｃ１に「０」を代入して、本ＥＣＵ側処理を終了する。変数Ｃ１は、書換装置が正当でないと連続して判断された回数を計数するものである。一方、アクセス拒否タイマが「０」であると判断された場合（Ｓ３１０：ＹＥＳ）、Ｓ３３０へ移行する。
【００６６】
Ｓ３３０では、変数Ｃ１が「２」以下であるか否かを判断する。ここでＣ１＞２である場合（Ｓ３３０：ＮＯ）、Ｓ３４０にてアクセス拒否タイマをセットし、本ＥＣＵ側処理を終了する。本実施例では、１０分がセットされる。一方、Ｃ１≦２である場合（Ｓ３３０：ＹＥＳ）、Ｓ３５０へ移行する。
【００６７】
Ｓ３５０では、乱数ｒを発生し、書換装置２０へ送信する。この処理は、図２中のＢ５及びＢ６の処理に相当する。これに対し、図２中のＢ８に示したように、書換装置２０から関数値ｆ（ｒ）が送信される。したがって、続くＳ３６０では、関数値ｆ（ｒ）の送信があったか否かを判断する。ここで関数値ｆ（ｒ）の送信があった場合（Ｓ３６０：ＹＥＳ）、Ｓ３７０へ移行する。一方、関数値ｆ（ｒ）の送信がないうちは（Ｓ３６０：ＮＯ）、この判断処理を繰り返す。
【００６８】
Ｓ３７０では、書換装置２０から送信される関数値ｆ（ｒ）に対し、関数値Ｆ（ｆ（ｒ））を算出する。この処理は、図２中のＢ９の処理に相当する。続く図４のＳ３８０では、算出した関数値Ｆ（ｆ（ｒ））が乱数ｒに等しいか否かを判断する。ここでＦ（ｆ（ｒ））＝ｒである場合（Ｓ３８０：ＹＥＳ）、Ｓ３９０にて第２許可信号及び車両ＶＩＮコードを送信し、Ｓ４２０へ移行する。このＳ３８０及びＳ３９０の処理が図２中のＢ１０の処理に相当する。一方、Ｆ（ｆ（ｒ））≠ｒである場合（Ｓ３８０：ＮＯ）、書き換えを許可しない旨をＳ４００にて書換装置２０に通知し、Ｓ４１０にて変数Ｃ１をインクリメントして、本ＥＣＵ側処理を終了する。このようにして書換装置２０の正当性が判断され、正当でないと判断した場合（Ｓ３８０：ＮＯ）変数Ｃ１がインクリメントされ（Ｓ４１０）、上述したようにＣ１＞２でタイマがセットされる（図３中のＳ３４０）。したがって、本実施例では、Ｃ１が「０」→「１」→「２」という具合に、３回連続して書換装置２０が正当でないと判断されると、アクセス拒否がなされることになる。
【００６９】
上述したように、センタ３０にて車両ＶＩＮコードに基づく制御情報の書き換えの必要性判断がなされ、書き換えが必要があればセンタ３０から書換装置２０を経由して変更データが送信される。一方、書き換えが必要でなければ、すなわち、既に制御情報の書き換えがなされている場合には、書き換え済みであることを示す情報がセンタ３０から書換装置２０を経由して送信される。
【００７０】
そのため、Ｓ４２０では、書換装置２０からのデータ送信があったか否かを判断する。ここでデータ送信があったと判断された場合（Ｓ４２０：ＹＥＳ）、Ｓ４３０へ移行する。一方、データ送信がないうちは（Ｓ４２０：ＮＯ）、この判断処理を繰り返す。
【００７１】
そして、Ｓ４３０では、書換装置２０から送信されたデータが変更データか否かを判断する。ここで変更データであると判断された場合（Ｓ４３０：ＹＥＳ）、Ｓ４４０へ移行する。一方、変更データでないと判断された場合（Ｓ４３０：ＮＯ）、すなわち、書き換え済みを示す情報が送信された場合には、以降の処理を実行せず、本ＥＣＵ側処理を終了する。
【００７２】
Ｓ４４０では、送信された変更データに基づき、制御情報の書き換えを行う。続くＳ４５０では、書き換え後の制御情報のチェックサムを計算する。これは、正常に制御情報が書き換えられたか否かを判断するためである。そして、次のＳ４６０では、Ｓ４５０にて計算したチェックサムに基づき、制御情報の書き換えが正常に終了したか否かを判断する。ここで正常に終了したと判断された場合（Ｓ４６０：ＹＥＳ）、Ｓ４７０にて書換装置２０へ正常終了を通知し、その後、本ＥＣＵ処理を終了する。一方、正常に終了したと判断されなかった場合（Ｓ４６０：ＮＯ）、Ｓ４８０にて書換装置２０へ変更データの再送信を要求し、Ｓ４２０からの処理を繰り返す。
【００７３】
続いて図５及び図６のフローチャートに基づき、書換装置２０にて実行される書換装置側処理を説明する。なお、この書換装置側処理は、書換装置２０とセンタ３０との間にデータ通信可能状態が確立された後、作業者による所定の操作をトリガとして実行されるものである。
【００７４】
まず最初のステップＳ５００において、センタ３０に対し、通信開始を要求すると共に予め記憶されているＩＤ情報を送信する。この処理は、図２中のＢ１の処理に相当する。センタ３０は、書換装置２０が正当なものであると判断すると、第１許可信号及び関数ｆを送信してくる。
【００７５】
したがって、続くＳ５１０では、センタ３０からの応答があったか否かを判断する。ここでセンタ３０からの応答があったと判断された場合（Ｓ５１０：ＹＥＳ）、Ｓ５２０へ移行する。一方、センタ３０からの応答がないうちは（Ｓ５１０：ＮＯ）、この判断処理を繰り返す。
【００７６】
Ｓ５２０では、センタ３０の応答が不許可の通知か否かを判断する。ここで不許可の通知であると判断された場合（Ｓ５２０：ＹＥＳ）、センタ３０へのアクセスに失敗した旨をＳ５３０にてディスプレイなどの表示装置に表示し、その後、Ｓ５００からの処理を繰り返す。一方、不許可の通知でない場合（Ｓ５２０：ＮＯ）、すなわち第１許可信号及び関数ｆが送信されてきた場合には、Ｓ５４０へ移行する。
【００７７】
Ｓ５４０では、車両１０に搭載された４台のＥＣＵ１１〜１４のいずれかを選択するためのＥＣＵコードの入力を作業者に要求する。続くＳ５５０では、ＥＣＵコードの入力があったか否かを判断する。ここでＥＣＵコードの入力があったと判断された場合（Ｓ５５０：ＹＥＳ）、Ｓ５６０へ移行する。一方、ＥＣＵコードの入力がないうちは（Ｓ５５０：ＮＯ）、Ｓ５４０からの処理を繰り返す。なお、ＥＣＵ１１のＥＣＵコードが入力されたものとして以下の説明を続ける。
【００７８】
Ｓ５６０では、書換要求及びＥＣＵコードを送信する。この処理は、図２中のＢ４の処理に相当する。これによって、入力されたＥＣＵコードに対応するＥＣＵ１１が乱数ｒを発生し、その乱数ｒを送信してくる（図３中のＳ３５０）。したがって、続くＳ５７０では、乱数ｒが送信されたか否かを判断する。ここで乱数ｒが送信されたと判断された場合（Ｓ５７０：ＹＥＳ）、Ｓ５８０へ移行する。一方、乱数ｒが送信されないうちは（Ｓ５７０：ＮＯ）、この判断処理を繰り返す。
【００７９】
Ｓ５８０では、Ｓ５１０にてセンタ３０から送信された関数ｆを用い、乱数ｒに対する関数値ｆ（ｒ）を算出する。そして次のＳ５９０にて、関数値ｆ（ｒ）をＥＣＵ１１へ送信する。図２中のＢ７及びＢ８の処理に相当する。これに対して、ＥＣＵ１１では、図３中のＳ３６０にて肯定判断され、関数値Ｆ（ｆ（ｒ））が算出される（Ｓ３７０）。そして、Ｓ３８０の判断に基づき、第２許可信号の送信又は書き換えを許可しない旨の通知を行う（Ｓ３９０，Ｓ４００）。
【００８０】
したがって、続く図６中のＳ６００では、ＥＣＵ１１の応答があったか否かを判断する。ここでＥＣＵ１１の応答があったと判断された場合（Ｓ６００：ＹＥＳ）、Ｓ６１０へ移行する。一方、ＥＣＵ１１からの応答がないうちは（Ｓ６００：ＮＯ）、この判断処理を繰り返す。
【００８１】
Ｓ６１０では、ＥＣＵ１１から第２許可信号が送信されたか否かを判断する。ここで第２許可信号が送信されたと判断された場合（Ｓ６１０：ＹＥＳ）、Ｓ６２０にて第２許可信号及びその第２許可信号と共に送信される車両ＶＩＮコードをセンタ３０へ送信し、その後、Ｓ６４０へ移行する。この処理が図２中のＢ１１の処理に相当する。一方、第２許可信号が送信されなかった場合（Ｓ６１０：ＮＯ）、すなわち、ＥＣＵ１１から書き換えを許可しない旨が通知された場合には、Ｓ６３０にてセンタ３０に対し不許可となった旨を通知し、その後、図５中のＳ５３０へ移行する。
【００８２】
Ｓ６２０にてセンタ３０に対し第２許可信号及び車両ＶＩＮコードを送信すると、上述したようにセンタ３０は、書き換えの必要性を判断して、書き換えの必要があれば変更データを送信し、一方、書き換えの必要がなければ書き換え済みを示す情報を送信する。
【００８３】
したがって、Ｓ６４０では、センタ３０の応答があったか否かを判断する。ここでセンタ３０の応答があったと判断された場合（Ｓ６４０：ＹＥＳ）、Ｓ６５０へ移行する。一方、センタ３０の応答がないうちは（Ｓ６４０：ＮＯ）、この判断処理を繰り返す。
【００８４】
Ｓ６５０では、センタ３０から送信されたデータが変更データであるか否かを判断する。ここで変更データであった場合（Ｓ６５０：ＹＥＳ）、Ｓ６８０へ移行する。一方、変更データでない場合（Ｓ６５０：ＮＯ）、すなわち書き換え済みを示す情報がセンタ３０から送信された場合には、関数ｆを抹消して書き換えの必要がない旨を表示し（Ｓ６６０）、書き換え済みを示す情報をＥＣＵ１１へ送信して（Ｓ６７０）、その後、本書換装置側処理を終了する。
【００８５】
Ｓ６８０では、センタ３０から送信された変更データをＥＣＵ１１へ送信する。この処理は、図２中のＢ１４の処理に相当する。これによって、ＥＣＵ１１では制御情報の書き換えが行われ（図４中のＳ４３０：ＹＥＳ，Ｓ４４０）、ＥＣＵ１１から正常終了の通知又は再送信要求がなされる（Ｓ４７０，４８０）。
【００８６】
そこで、次のＳ６９０では、ＥＣＵ１１から正常終了の通知があったか否かを判断する。ここで正常終了の通知があったと判断された場合（Ｓ６９０：ＹＥＳ）、関数ｆを抹消すると共にセンタ３０へ正常終了を通知して（Ｓ７００）、その後、本書換装置側処理を終了する。一方、正常終了の通知がなされない場合（Ｓ６９０：ＮＯ）、すなわち変更データの再送信要求がなされた場合には、センタ３０へ異常終了を通知し（Ｓ７１０）、本書換装置側処理を終了する。
【００８７】
さらに続けて、図７及び図８のフローチャートに基づき、センタ３０にて実行されるセンタ側処理を説明する。なお、このセンタ側処理は、書換装置２０とセンタ３０との間にデータ通信可能状態が確立されている状態において、例えば０．２秒というような所定時間間隔で実行されるものである。
【００８８】
まず最初のステップＳ８００において、アクセス拒否タイマが「０」か否かを判断する。アクセス拒否タイマは、後述するようにセンタ３０によって書換装置２０が「正当でない」と所定回数連続して判断された場合に設定されるものである。ここでアクセス拒否タイマが「０」でないと判断された場合（Ｓ８００：ＮＯ）、Ｓ８１０にてタイマをデクリメントし、さらに変数Ｃ２に「０」を代入して、本センタ側処理を終了する。変数Ｃ２は、センタ３０にて書換装置２０が正当でないと連続して判断された回数を計数するものである。一方、アクセス拒否タイマが「０」であると判断された場合（Ｓ８００：ＹＥＳ）、Ｓ８２０へ移行する。
【００８９】
Ｓ８２０では、変数Ｃ２が「２」以下であるか否かを判断する。ここでＣ２＞２である場合（Ｓ８２０：ＮＯ）、Ｓ８３０にてアクセス拒否タイマをセットし、その後、本センタ側処理を終了する。一方、Ｃ２≦２である場合（Ｓ８２０：ＹＥＳ）、Ｓ８４０へ移行する。
【００９０】
Ｓ８４０では、通信開始要求があったか否かを判断する。この処理は、図５中のＳ５００の処理に対するものである。ここで通信開始要求があったと判断された場合（Ｓ８４０：ＹＥＳ）、Ｓ８５０へ移行する。一方、通信開始要求がないうちは（Ｓ８４０：ＮＯ）、この判断処理を繰り返す。
【００９１】
Ｓ８５０では、書換装置２０から送信されるＩＤ情報を受信し、発呼元の電話番号を取得する。続くＳ８６０では、受信したＩＤ情報と取得した電話番号との対応関係を、データベースに予め記憶された書換装置２０のＩＤ情報と電話番号との対応関係と照合する。これらＳ８５０及びＳ８６０の処理が、図２中のＢ２に示した処理に相当する。
【００９２】
そして、次のＳ８７０では、照合結果に基づき、対応関係が一致したか否かを判断する。ここで一致したと判断された場合（Ｓ８７０：ＹＥＳ）、Ｓ８９０にて第１許可信号及び関数ｆを送信し、その後、Ｓ９００へ移行する。この処理が、図２中のＢ３の処理に相当する。一方、一致していないと判断された場合（Ｓ８７０：ＮＯ）、書き換えを許可しない旨を書換装置２０へ通知すると共に、変数Ｃ２をインクリメントし（Ｓ８８０）、その後、Ｓ８００からの処理を繰り返す。
【００９３】
なお、ここで説明したＳ８５０〜Ｓ８９０までの処理が「正当性判断手段」としての処理に相当する。したがって、これらの処理を実行するセンタ３０のＣＰＵが「正当性判断手段」に相当する。第１許可信号及び関数ｆを送信した場合、書換装置２０は、第２許可信号及び車両ＶＩＮコードを送信してくるか（図６中のＳ６２０）、あるいは書き換えの不許可を通知してくる（Ｓ６３０）。
【００９４】
そこで、Ｓ９００では、書換装置２０の応答があったか否かを判断する。ここで書換装置２０の応答があったと判断された場合（Ｓ９００：ＹＥＳ）、図８中のＳ９１０へ移行する。一方、書換装置２０の応答がないうちは（Ｓ９００：ＮＯ）、この判断処理を繰り返す。
【００９５】
Ｓ９１０では、その応答が不許可の通知か否かを判断する。ここで不許可の通知であった場合（Ｓ９１０：ＹＥＳ）、図７中のＳ８００へ移行する。一方、不許可の通知でない場合（Ｓ９１０：ＮＯ）、すなわち第２許可信号及び車両ＶＩＮコードが送信された場合には、Ｓ９２０へ移行する。
【００９６】
Ｓ９２０では、送信された車両ＶＩＮコードに基づき車両の判別を行い、更新履歴のデータベースを参照する。そして、次のＳ９３０では、参照結果に基づき、制御情報を書き換える必要があるか否かを判断する。これらＳ９２０及びＳ９３０の処理が図２中のＢ１２の処理に相当する。ここで書き換えの必要があると判断された場合（Ｓ９３０：ＹＥＳ）、Ｓ９５０へ移行する。一方、書き換えの必要がないと判断された場合（Ｓ９３０：ＮＯ）、Ｓ９４０にて書き換え済みを示す情報を送信し、その後、本センタ側処理を終了する。
【００９７】
Ｓ９５０では、変更データを検索して読み出し、読み出した変更データを書換装置２０へ送信する。この処理が、図２中のＢ１３の処理に相当する。その後、書換装置２０からは、上述したように正常終了の通知（図６中のＳ７００）あるいは異常終了の通知（Ｓ７１０）がなされる。
【００９８】
したがって、Ｓ９６０では、書換装置２０からの終了通知があったか否かを判断する。ここで終了通知があったと判断された場合（Ｓ９６０：ＹＥＳ）、Ｓ９７０へ移行する。一方、終了通知がないうちは（Ｓ９６０：ＮＯ）、この判断処理を繰り返す。
【００９９】
Ｓ９７０では、終了通知が正常終了の通知か否かを判断する。ここで正常終了の通知であると判断された場合（Ｓ９７０：ＹＥＳ）、Ｓ９８０にて更新履歴のデータベースを更新し、その後、本センタ側処理を終了する。一方、正常終了の通知でないと判断された場合（Ｓ９７０：ＮＯ）、すなわち異常終了の通知であった場合には、Ｓ９５０からの処理を繰り返す。
【０１００】
次に、本実施例の制御情報書換システム１の発揮する効果を説明する。なお、ここでの説明に対する理解を容易にするため、最初に従来の問題点を簡単に説明する。従来は図９に示したように、書換装置２００の正当性を、ＥＣＵ１０１〜１０４のみで判断していた。そして、この判断は、書換装置２００に予め記憶されたアクセス情報としての関数ｆに基づく通信開始処理（図１０中のｂ１〜ｂ７）によって行われる。そのため、書換装置２００又は書換装置２００内部の情報が盗まれた場合、アクセス情報が盗まれるため、不正な制御情報の書き換えを防止することができなかった。
【０１０１】
これに対して、本実施例の制御情報書換システム１では、センタ３０にアクセス情報としての関数ｆを記憶しておき、センタ３０が書換装置２０を正当なものとして判断してはじめて、センタ３０から書換装置２０へ関数ｆが送信される（図２中のＢ２，Ｂ３）。したがって、書換装置２０又は書換装置２０内部の情報が盗まれた場合であっても、書換装置２０にはＥＣＵ１１〜１４へのアクセス情報が記憶されていないため、センタ３０からアクセス情報を得ることができなければ、ＥＣＵ１１〜１４の制御情報を書き換えることはできない。
【０１０２】
また、センタ３０は、書換装置２０にユニークに割り振られたＩＤ情報と電話回線を介してデータ通信を行う際の書換装置２０側の電話番号とを対応させて記憶したデータベースを有している。そして、書換装置２０からＩＤ情報を取得すると共に発呼元の電話番号を取得する（図７中のＳ８５０）。このＩＤと電話番号との対応関係がデータベースに記憶された対応関係と一致している場合に（Ｓ８６０，Ｓ８７０：ＹＥＳ）、センタ３０は書換装置２０が正当なものであると判断し、アクセス情報である関数ｆを送信する（Ｓ８９０）。例えば正規の作業場所以外からセンタ３０との間に回線を接続した場合、センタ３０の取得する電話番号は予め決められた電話番号でなくなる。そのため、ＩＤ情報と対応せず、センタ３０からアクセス情報を得ることはできない。結果として、ＥＣＵ１１〜１４の制御情報を書き換えることはできない。
【０１０３】
さらに、ＩＤ情報と電話番号との対応関係にて書換装置２０の正当性を判断するため、複数の書換装置２０がある場合に、書換装置２０毎に、その正当性を判断できる。以上のように、本実施例の制御情報書換システム１によれば、書換装置２０又は書換装置２０内部の情報が盗まれた場合であっても、ＥＣＵ１１〜１４の制御情報が不正に書き換えられることを確実に防止できる。
【０１０４】
そして、本実施例の制御情報書換システム１では、センタ３０が最初に書換装置２０の正当性を判断し、続いてＥＣＵ１１〜１４が書換装置２０の正当性を判断する。これら２段階のチェックのいずれにおいても、書換装置２０が「正当でない」と連続して３回判断された場合、１０分間のアクセス拒否を行うようにした。
【０１０５】
すなわち、ＥＣＵ１１〜１４では、書換装置２０を正当でないと判断すると（図４中のＳ３８０：ＮＯ）変数Ｃ１をインクリメントし（Ｓ４１０）、変数Ｃ１が「２」よりも大きくなると（図３中のＳ３３０：ＮＯ）、すなわち３回連続して「正当でない」との判断がなされると、アクセス拒否タイマを設定する（Ｓ３４０）。これによって、タイマが「０」となるまで書換装置２０のアクセスを拒否する（Ｓ３１０：ＮＯ）。
【０１０６】
一方、センタ３０でも同様に、書換装置２０を正当でないと判断すると（図７中のＳ８７０：ＮＯ）、変数Ｃ２をインクリメントしていき（Ｓ８８０）、変数Ｃ２が「２」よりも大きくなると（Ｓ８２０：ＮＯ）、すなわち３回連続して「正当でない」との判断がなされると、アクセス拒否タイマを設定する（Ｓ８３０）。これによって、タイマが「０」となるまで書換装置２０のアクセスを拒否する（Ｓ８００：ＮＯ）。
【０１０７】
その結果、不正な情報を用いてセンタ３０やＥＣＵ１１〜１４を書換装置２０からアクセスしようとしても、連続して何度もアクセスすることができないため、本実施例では３回続けて不正なアクセスを行えば１０分間アクセスができなくなるため、制御情報の書き換え防止に有効である。
【０１０８】
また、本実施例の制御情報書換システム１では、センタ３０が制御情報の変更データを記憶している。すなわち、従来のように書換装置２０に変更データを記憶しておかないため、書換装置２０又は書換装置２０内部の情報が盗まれた場合であっても、変更データが外部に漏れる可能性がない。
【０１０９】
そして、センタ３０は、ＥＣＵ１１〜１４からの第２許可信号が送信されてきたことを一つの条件として（Ｓ９１０：ＮＯ）変更データを送信する（Ｓ９５０）。すなわち、ＥＣＵ１１〜１４にて書換装置２０が正当であると判断されたことを条件として変更データを送信する。したがって、変更データが外部に漏れる可能性をさらに低減させている。
【０１１０】
さらに、ＥＣＵ１１〜１４は、書換装置２０を正当であると判断すると（図４中のＳ３８０：ＹＥＳ）、上述した第２許可信号に加え、車両１０を特定可能な車両ＶＩＮコードを送信する（Ｓ３９０）。センタ３０は、各車両１０のＥＣＵ１１〜１４に記憶された制御情報更新履歴のデータベースを有しており、上述したＥＣＵ１１〜１４からの車両ＶＩＮコードに基づき、車両１０を判別しこのデータベースを参照して（図８中のＳ９２０）制御情報の書き換えの必要性を判断する（Ｓ９３０）。そして、書き換えの必要がある場合に（Ｓ９３０：ＹＥＳ）変更データを送信する（Ｓ９５０）。
【０１１１】
従来は、過去にＥＣＵ１１〜１４の制御情報が書き換えられているか否かを判断できない状況があった。そのため、制御情報のバージョンアップの履歴がない場合には、既に制御情報の書き換えが行われているにもかかわらず、再度制御情報の書き換えを行うというような無駄な制御情報の書き換えが行われていた。このような場合、無駄な作業時間を要するだけでなく、例えば制御情報の記憶にＥＥＰＲＯＭを用いている場合、書き換え可能回数が制限されるため、無駄な書き換えによって必要な書き換えができなくなるおそれもあった。
【０１１２】
これに対して、本実施例では、上述したようにセンタ３０が各車両１０の制御情報の更新履歴を管理するため、無駄な制御情報の書き換えが行われない。その結果、無駄な作業時間がなくなり、また、無駄な書き換えによって必要な書き換えができなくなることもなくなる。
【０１１３】
さらにまた、本実施例の制御情報書換システム１のセンタ３０では、ＥＣＵ１１〜１４から書換装置２０を経由して書き換えの正常終了が通知されると（図８中のＳ９７０：ＹＥＳ）、自動的に制御情報の更新履歴のデータベースを更新する（Ｓ９８０）。したがって、作業者がマニュアル操作でデータベースを更新する必要がなく便利である。
【０１１４】
また、本実施例の制御情報書換システム１の書換装置２０では、アクセス情報としての関数ｆが必要なくなると（図６中のＳ６５０：ＮＯ，Ｓ６９０：ＹＥＳ）、速やかにそのアクセス情報である関数ｆを抹消する（Ｓ６６０，Ｓ７００）。そのため、センタ３０から書換装置２０へ送信されたアクセス情報としての関数ｆが書換装置２０から盗まれる可能性を低減させることができる。
【０１１５】
以上、本発明はこのような実施例に何等限定されるものではなく、本発明の主旨を逸脱しない範囲において種々なる形態で実施し得る。
【０１１６】
（１）上記実施例においては、センタ３０が書換装置２０から発呼され、その後、センタ３０と書換装置２０との間にデータ通信可能状態が確立されると、センタ３０は、対応情報として発呼元の電話番号を取得し、書換装置２０から送信される識別情報としてのＩＤ情報との対応によって、書換装置２０の正当性を判断していた。
【０１１７】
これに対して、センタ３０が書換装置２０のＩＤ情報とパスワードとを対応させたデータベースを有する構成とし、書換装置２０は、作業者によって入力されるパスワードを、上述したＩＤ情報と共に送信する構成としてもよい。この場合、パスワードが「対応情報」に相当することになり、センタ３０は、書換装置２０から送信されるＩＤ情報とパスワードとの対応によって、書換装置２０の正当性を判断する。
【０１１８】
また、上記実施例では、書換装置２０に予めＩＤ情報が記憶されていたが、ＩＤ情報も、パスワードと同様に利用者から入力されるようにしてもよい。このようにすれば、書換装置２０又は書換装置２０内部の情報が盗まれた場合であっても、パスワード、あるいは、ＩＤ情報及びパスワードが分からないため、センタ３０からアクセス情報を得ることはできず、上記実施例と同様に制御情報の不正な書き換えを防止することができる。
【０１１９】
ただし、ＩＤ情報やパスワードが何らか別のルートで盗まれる可能性もあるため、上記実施例のように書換装置２０の設置場所に関連する電話番号を対応情報とすることがより好ましい。不正な書き換えは正規の作業現場では行われないためである。
【０１２０】
（２）また、書換装置２０がセンタ３０からアクセス情報を取得した後、センタ３０と書換装置２０との間のデータ通信を一時的に終了することが考えられる。例えば、図２中のＢ１〜Ｂ４の通信処理が終了した後に一旦データ通信を終了し、Ｂ１１以降の処理を行う際に、書換装置２０とセンタ３０との間にデータ通信可能状態を再度確立することが考えられる。
【０１２１】
ただし、書換装置２０に送信されたアクセス情報が盗まれ、別の書換装置を用い、このアクセス情報を使用してＥＣＵ１１〜１４がアクセスされる可能性がある。したがって、一連の書き換え処理（図２に示すＢ１〜Ｂ１８の処理）が終了するまで、センタ３０と書換装置２０がデータ通信可能状態となっていることを書き換えの条件とするとよい。
【０１２２】
具体的には次のように構成することが考えられる。それは、書換装置２０がタイマ割込処理などによって定期的にセンタ３０へ応答要求を送信し、センタ３０が応答を行う構成とする。このとき、一連の書き換え処理が完了する前にセンタ３０からの応答がなくなった場合、書換装置２０がＥＣＵ１１〜１４の書き換えを行わないようにする。このようにすれば、盗んだアクセス情報を用いて別の書換装置からＥＣＵをアクセスすることができなくなる。
【図面の簡単な説明】
【０１２３】
【図１】実施例の制御情報書換システムの構成を示すブロック図である。
【図２】実施例における書き換え処理の概要を示す説明図である。
【図３】ＥＣＵ側処理の前半部分を示すフローチャートである。
【図４】ＥＣＵ側処理の後半部分を示すフローチャートである。
【図５】書換装置側処理の前半部分を示すフローチャートである。
【図６】書換装置側処理の後半部分を示すフローチャートである。
【図７】センタ側処理の前半部分を示すフローチャートである。
【図８】センタ側処理の後半部分を示すフローチャートである。
【図９】従来の制御情報書換システムの構成を示すブロック図である。
【図１０】従来の書き換え処理の概要を示す説明図である。
【符号の説明】
【０１２４】
１…制御情報書換システム
１１，１２，１３，１４  ＥＣＵ
１５  ネットワーク回線
１６  車両ダイアグコネクタ
２０  書換装置
３０  センタ
４０  電話回線網
【図１】
2004348767.tif 000003
【図２】
2004348767.tif 000004
【図３】
2004348767.tif 000005
【図４】
2004348767.tif 000006
【図５】
2004348767.tif 000007
【図６】
2004348767.tif 000008
【図７】
2004348767.tif 000009
【図８】
2004348767.tif 000010
【図９】
2004348767.tif 000011
【図１０】
2004348767.tif 000012