(57)【要約】【課題】車載用ＥＣＵにおいて不正なリプログラミングを抑止する。【解決手段】車両に搭載される電子制御装置（２）において、車両に対する制御プログラムを記憶するメモリ（２６）と、メモリに記憶されている制御プログラムを実行するプログラム実行部（２４）と、メモリに記憶されている制御プログラムを外部装置（４）から受信した他の制御プログラムに書き換えるリプログラミングを実行可能なメモリ制御部（２５）と、を備え、メモリ制御部は、所定のリプログラミング条件が充足したとき、リプログラミングを実行する一方、リプログラミング条件が充足せずに所定の不正条件が充足したとき、車両の走行に影響を与える不正対応処理（例えばメモリから制御プログラムを消去する処理）を実行する。【選択図】図２
2020131769.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載される電子制御装置において、
前記車両に対する制御プログラムを記憶するメモリと、
前記メモリに記憶されている制御プログラムを実行するプログラム実行部と、
前記メモリに記憶されている制御プログラムを外部装置から受信した他の制御プログラムに書き換えるリプログラミングを実行可能なメモリ制御部と、を備え、
前記メモリ制御部は、所定のリプログラミング条件が充足したとき、前記リプログラミングを実行する一方、前記リプログラミング条件が充足せずに所定の不正条件が充足したとき、前記車両の走行に影響を与える不正対応処理を実行する
、電子制御装置。
【請求項２】
前記不正対応処理が行われる前において、前記メモリに記憶されている制御プログラムの実行を通じて前記車両は走行可能である一方、
前記不正対応処理が行われると、前記車両は走行不能となる
、請求項１に記載の電子制御装置。
【請求項３】
前記不正対応処理が行われる前において、前記メモリに記憶されている制御プログラムの実行を通じて前記車両は基準状態で走行可能である一方、
前記不正対応処理が行われると、前記車両は前記基準状態よりも制限が加わった制限状態で走行可能となる
、請求項１に記載の電子制御装置。
【請求項４】
前記メモリ制御部は、前記不正対応処理において、前記メモリに記憶されている制御プログラムの一部もしくは全部を消去し、又は、前記メモリに記憶されている制御プログラムの一部もしくは全部を特定のプログラムに書き換え、これによって前記車両の走行に影響を与える
、請求項１〜３の何れかに記載の電子制御装置。
【請求項５】
前記リプログラミング条件は、ユーザに提示された課題に対する回答が所定の正解回答に適合するという回答正解条件を含み、
前記メモリ制御部は、前記課題に対し前記正解回答に適合しない誤回答があったとき、又は、前記課題に対し前記誤回答が連続して所定回数以上あったとき、前記不正条件が充足すると判断して前記不正対応処理を実行する
、請求項１〜４の何れかに記載の電子制御装置。
【請求項６】
前記車両の所在地を示す所在地情報を取得する所在地情報取得部が、当該電子制御装置に接続され又は当該電子制御装置に設けられ、
前記リプログラミング条件は、前記車両の所在地が所定の登録地に適合するという場所条件を含む
、請求項１〜５の何れかに記載の電子制御装置。
【請求項７】
前記登録地として複数の登録地が予め設定され、
前記所在地が前記複数の登録地の何れかに適合するとき前記場所条件が充足され、
前記リプログラミング条件は、ユーザにより所定のパスワードが入力されるというパスワード条件を更に含み、
前記パスワードは前記登録地ごとに設定されている
、請求項６に記載の電子制御装置。
【請求項８】
前記車両の所在地を示す所在地情報を取得する所在地情報取得部が、当該電子制御装置に接続され又は当該電子制御装置に設けられ、
前記メモリ制御部は、前記不正対応処理の実行後、所定の復帰条件の充足下において、当該電子制御装置の状態を前記不正対応処理の実行前の状態に戻す復帰処理を実行可能であり、
前記復帰条件は、前記車両の所在地が所定の復帰用登録地に適合するという復帰場所条件を含む
、請求項１〜５の何れかに記載の電子制御装置。
【請求項９】
前記復帰条件は、ユーザにより所定の復帰パスワードが入力されるという復帰パスワード条件を更に含む
、請求項８に記載の電子制御装置。
【請求項１０】
請求項１〜９の何れかに記載の電子制御装置と、
前記外部装置としての演算処理装置と、を備えた
、リプログラミングシステム。
【請求項１１】
請求項５に記載の電子制御装置と、
前記外部装置としての演算処理装置と、を備えたリプログラミングシステムであって、
前記演算処理装置は、ユーザに前記課題を提示してユーザからの前記回答の入力を受け付けるマンマシンインターフェースを備える
、リプログラミングシステム。
【請求項１２】
請求項７に記載の電子制御装置と、
前記外部装置としての演算処理装置と、を備えたリプログラミングシステムであって、
前記演算処理装置は、ユーザからの前記パスワードの入力を受け付けるマンマシンインターフェースを備える
、リプログラミングシステム。
【請求項１３】
請求項９に記載の電子制御装置と、
前記外部装置としての演算処理装置と、を備えたリプログラミングシステムであって、
前記演算処理装置は、ユーザからの前記復帰パスワードの入力を受け付けるマンマシンインターフェースを備える
、リプログラミングシステム。
【請求項１４】
車両に搭載される電子制御装置であって、且つ、前記車両に対する制御プログラムを記憶するメモリと、前記メモリに記憶されている制御プログラムを実行するプログラム実行部と、前記メモリに記憶されている制御プログラムを外部装置から受信した他の制御プログラムに書き換えるリプログラミングを実行可能なメモリ制御部と、を備えた電子制御装置に用いられるリプログラミング方法において、
所定のリプログラミング条件が充足したとき、前記リプログラミングを実行する工程と、
前記リプログラミング条件が充足せずに所定の不正条件が充足したとき、前記車両の走行に影響を与える不正対応処理を実行する工程と、を備える
、リプログラミング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置及びリプログラミング方法に関する。
【背景技術】
【０００２】
自動車等の車両には、一般的に、車両を制御するための電子制御装置であるＥＣＵが搭載されている。ＥＣＵには、車両を制御するための制御プログラムが記憶された不揮発性メモリ（フラッシュメモリ等）と、制御プログラムを実行するプログラム実行部が設けられる。制御プログラムのバージョンアップ等に備えて制御プログラムの書き換えが可能とされたＥＣＵも多い。制御プログラムの書き換えはリプログラミングと称される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−２２４８９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
リプログラミングは、リプログラミングの権限が与えられた正規の店舗（車両の販売店等）において正規の手順を踏んで実行されるべきであり、それ以外の不正なリプログラミングは、車両の安全性劣化等を招き得るため抑止されるべきである。パスワード照合の導入などにより、不正なリプログラミングの実行を一定程度抑止することができるが、いわゆるボットなどを利用してパスワードが看破されて不正なリプログラミングが実行されることもある。不正なリプログラミングを抑止する有益な技術の開発が切望される。
【０００５】
本発明は、不正なリプログラミングの抑止に寄与する電子制御装置及びリプログラミング方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る電子制御装置は、車両に搭載される電子制御装置において、前記車両に対する制御プログラムを記憶するメモリと、前記メモリに記憶されている制御プログラムを実行するプログラム実行部と、前記メモリに記憶されている制御プログラムを外部装置から受信した他の制御プログラムに書き換えるリプログラミングを実行可能なメモリ制御部と、を備え、前記メモリ制御部は、所定のリプログラミング条件が充足したとき、前記リプログラミングを実行する一方、前記リプログラミング条件が充足せずに所定の不正条件が充足したとき、前記車両の走行に影響を与える不正対応処理を実行する構成（第１の構成）である。
【０００７】
上記第１の構成に係る電子制御装置において、前記不正対応処理が行われる前において、前記メモリに記憶されている制御プログラムの実行を通じて前記車両は走行可能である一方、前記不正対応処理が行われると、前記車両は走行不能となる構成（第２の構成）であっても良い。
【０００８】
上記第１の構成に係る電子制御装置において、前記不正対応処理が行われる前において、前記メモリに記憶されている制御プログラムの実行を通じて前記車両は基準状態で走行可能である一方、前記不正対応処理が行われると、前記車両は前記基準状態よりも制限が加わった制限状態で走行可能となる構成（第３の構成）であっても良い。
【０００９】
上記第１〜第３の構成の何れかに係る電子制御装置において、前記メモリ制御部は、前記不正対応処理において、前記メモリに記憶されている制御プログラムの一部もしくは全部を消去し、又は、前記メモリに記憶されている制御プログラムの一部もしくは全部を特定のプログラムに書き換え、これによって前記車両の走行に影響を与える構成（第４の構成）であっても良い。
【００１０】
上記第１〜第４の構成の何れかに係る電子制御装置において、前記リプログラミング条件は、ユーザに提示された課題に対する回答が所定の正解回答に適合するという回答正解条件を含み、前記メモリ制御部は、前記課題に対し前記正解回答に適合しない誤回答があったとき、又は、前記課題に対し前記誤回答が連続して所定回数以上あったとき、前記不正条件が充足すると判断して前記不正対応処理を実行する構成（第５の構成）であっても良い。
【００１１】
上記第１〜第５の構成の何れかに係る電子制御装置において、前記車両の所在地を示す所在地情報を取得する所在地情報取得部が、当該電子制御装置に接続され又は当該電子制御装置に設けられ、前記リプログラミング条件は、前記車両の所在地が所定の登録地に適合するという場所条件を含む構成（第６の構成）であっても良い。
【００１２】
上記第６の構成の何れかに係る電子制御装置において、前記登録地として複数の登録地が予め設定され、前記所在地が前記複数の登録地の何れかに適合するとき前記場所条件が充足され、前記リプログラミング条件は、ユーザにより所定のパスワードが入力されるというパスワード条件を更に含み、前記パスワードは前記登録地ごとに設定されている構成（第７の構成）であっても良い。
【００１３】
上記第１〜第５の構成の何れかに係る電子制御装置において、前記車両の所在地を示す所在地情報を取得する所在地情報取得部が、当該電子制御装置に接続され又は当該電子制御装置に設けられ、前記メモリ制御部は、前記不正対応処理の実行後、所定の復帰条件の充足下において、当該電子制御装置の状態を前記不正対応処理の実行前の状態に戻す復帰処理を実行可能であり、前記復帰条件は、前記車両の所在地が所定の復帰用登録地に適合するという復帰場所条件を含む構成（第８の構成）であっても良い。
【００１４】
上記第８の構成に係る電子制御装置において、前記復帰条件は、ユーザにより所定の復帰パスワードが入力されるという復帰パスワード条件を更に含む構成（第９の構成）であっても良い。
【００１５】
本発明に係るリプログラミングシステムは、上記第１〜第９の構成の何れかに係る電子制御装置と、前記外部装置としての演算処理装置と、を備えた構成（第１０の構成）であっても良い。
【００１６】
本発明に係るリプログラミングシステムは、上記第５の構成に係る電子制御装置と、前記外部装置としての演算処理装置と、を備えたリプログラミングシステムであって、前記演算処理装置は、ユーザに前記課題を提示してユーザからの前記回答の入力を受け付けるマンマシンインターフェースを備える構成（第１１の構成）であっても良い。
【００１７】
本発明に係るリプログラミングシステムは、上記第７の構成に係る電子制御装置と、前記外部装置としての演算処理装置と、を備えたリプログラミングシステムであって、前記演算処理装置は、ユーザからの前記パスワードの入力を受け付けるマンマシンインターフェースを備える構成（第１２の構成）であっても良い。
【００１８】
本発明に係るリプログラミングシステムは、上記第９の構成に係る電子制御装置と、前記外部装置としての演算処理装置と、を備えたリプログラミングシステムであって、前記演算処理装置は、ユーザからの前記復帰パスワードの入力を受け付けるマンマシンインターフェースを備える構成（第１３の構成）であっても良い。
【００１９】
本発明に係るリプログラミング方法は、車両に搭載される電子制御装置であって、且つ、前記車両に対する制御プログラムを記憶するメモリと、前記メモリに記憶されている制御プログラムを実行するプログラム実行部と、前記メモリに記憶されている制御プログラムを外部装置から受信した他の制御プログラムに書き換えるリプログラミングを実行可能なメモリ制御部と、を備えた電子制御装置に用いられるリプログラミング方法において、所定のリプログラミング条件が充足したとき、前記リプログラミングを実行する工程と、前記リプログラミング条件が充足せずに所定の不正条件が充足したとき、前記車両の走行に影響を与える不正対応処理を実行する工程と、を備える構成（第１４の構成）である。
【発明の効果】
【００２０】
本発明によれば、不正なリプログラミングの抑止に寄与する電子制御装置及びリプログラミング方法を提供することが可能となる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１実施形態に係る車両の概略構成図である。
【図２】本発明の第１実施形態に係るリプログラミングシステムの構成図である。
【図３】本発明の第１実施形態に係り、ＥＣＵのＲＯＭに格納されたテーブルデータの構成図である。
【図４】本発明の第１実施形態に係り、ＥＣＵのＲＯＭにおける記憶状態の遷移図である。
【図５】本発明の第１実施形態に係り、ＰＣとサーバ機器とが接続される様子を示した図である。
【図６】本発明の第１実施形態に係り、リプログラミング工程のフローチャートである。
【図７】本発明の第１実施形態に係り、リプログラミング工程のフローチャートである。
【図８】本発明の第１実施形態に係り、パスワード入力画像の例を示す図である。
【図９】本発明の第１実施形態に係り、課題画像の例を示す図である。
【図１０】本発明の第１実施形態に係り、第１不正対応処理の説明図である。
【図１１】本発明の第１実施形態に係り、第２不正対応処理の説明図である。
【図１２】本発明の第１実施形態に係り、第３不正対応処理の説明図である。
【図１３】本発明の第１実施形態に係り、復帰工程のフローチャートである。
【図１４】本発明の第２実施形態に係り、各ＥＣＵに対し店舗ごとに権限情報が設定される様子を示した図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態の例を、図面を参照して具体的に説明する。参照される各図において、同一の部分には同一の符号を付し、同一の部分に関する重複する説明を原則として省略する。尚、本明細書では、記述の簡略化上、情報、信号、物理量又は部材等を参照する記号又は符号を記すことによって、該記号又は符号に対応する情報、信号、物理量又は部材等の名称を省略又は略記することがある。
【００２３】
＜＜第１実施形態＞＞
本発明の第１実施形態を説明する。図１に示す如く、第１実施形態に係る車両１に対して、ＥＣＵ（車両制御ＥＣＵ）２とＧＰＳ処理部３が搭載されている。車両１は、例えば路面を走行可能な自動車である。ＧＰＳ処理部３は車両１内に設置されたＣＡＮ通信線を介してＥＣＵ２に接続され、ＥＣＵ２及びＧＰＳ処理部３はＣＡＮ通信線を介し互いに双方向通信が可能となっている。尚、ＧＰＳ処理部３はＥＣＵ２に内蔵されるものであっても良い。
【００２４】
ＥＣＵ２は、車両１を制御するための電子制御装置(Electronic Control Unit)である。ＥＣＵ２は、例えば、車両１のエンジン（内燃機関）における燃料噴射を制御する燃料噴射制御機能や、車両１の走行速度を制御する走行速度制御機能を実現する。
【００２５】
ＧＰＳ処理部３は所定地情報取得部として機能する。ＧＰＳ処理部３は、グローバルポジショニングシステム（ＧＰＳ）を形成する衛星からの送信信号を受信して、受信信号に基づき車両１の所在地（換言すれば現在地）を検出し、車両１の所在地を示す所在地情報を取得する。所在地情報は、車両１の存在位置の緯度及び経度を含む。所在地情報は、更に、車両１の存在位置の高度を含む場合もある。
【００２６】
ＥＣＵ２は、予め与えられた制御プログラムに従って車両１を制御する。この制御プログラムの書き換えはリプログラミングと称される。リプログラミングは、主として制御プログラムの改良（所謂バージョンアップ）のために実行される。以下、リプログラミングはリプロと略記されることがある。
【００２７】
図２にリプログラミングを実現するリプログラミングシステムの構成を示す。リプログラミングシステムは、ＥＣＵ２及びＧＰＳ処理部３と、演算処理装置の例であるパーソナルコンピュータ４（以下、ＰＣ４と称する）と、を含んで構成される。ＥＣＵ２及びＰＣ４間は所定の配線により接続され、ＥＣＵ２及びＰＣ４は当該配線を介し互いに双方向通信が可能となっている。尚、ＥＣＵ２及びＰＣ４は無線接続されていても良く、この場合、ＥＣＵ２及びＰＣ４は無線により双方向通信が可能とされる。
【００２８】
ＥＣＵ２は、ＣＰＵ（Central Processing Unit）２１と、ＲＡＭ（Random access memory）２２と、ＲＯＭ（Read only memory）２３と、備える。ＣＰＵ２１には、プログラム実行部２４と、メモリ制御部の例としてのＲＯＭ制御部２５が備えられる。尚、ＲＯＭ制御部２５は、ＥＣＵ２内であって且つＣＰＵ２１外に設けられる部位であっても良い。
【００２９】
ＲＯＭ２３は、ＲＯＭ２３内の記憶内容の書き換えが可能な不揮発性メモリであって、例えばフラッシュメモリにて構成される。ＲＯＭ２３は制御プログラムを不揮発的に記憶するプログラムメモリ２６を有する。プログラム実行部２４は、プログラムメモリ２６に記憶された制御プログラムを実行することでＥＣＵ２に割り当てられた機能を実現する。ＲＡＭ２２は制御プログラムの実行の際に生じる一時的なデータを記憶する。
【００３０】
ＲＯＭ制御部２５は、ＲＯＭ２３に対して任意のデータを書き込むことができる。例えば、ＲＯＭ制御部２５は、プログラムメモリ２６に第１制御プログラムが記憶されているときにプログラムメモリ２６に記憶される制御プログラムを第１制御プログラムとは異なる第２制御プログラムに書き換える機能を有し、この書き換えがリプログラミングに相当する。第２制御プログラムへの書き換えが行われる際、第２制御プログラムはＰＣ４からＥＣＵ２に対して提供される。
【００３１】
プログラム実行部２４は、プログラムメモリ２６に第１制御プログラムが記憶されている状態では第１制御プログラムを実行し、プログラムメモリ２６に第２制御プログラムが記憶されている状態では第２制御プログラムを実行する。第２制御プログラムは、例えば、第１制御プログラムの一部を改訂したものである。
【００３２】
ＰＣ４は、表示部４１と、入力ＩＦ（入力インターフェース）４２と、記憶部４３と、プロセッサ４４と、を備える。表示部４１は液晶ディスプレイパネル等から成り、プロセッサ４４の制御の下、ユーザが視認可能な任意の画像を表示する。入力ＩＦ４２は、キーボートやポインティングデバイス等から成り、ユーザからの情報の入力を受け付ける。ユーザとはＰＣ４の使用者を意味する又はＰＣ４の使用者を含む。記憶部４３は、磁気ディスクや半導体メモリから成り、任意の情報を記憶する。プロセッサ４４は、ＣＰＵ、ＲＯＭ及びＲＡＭ等から成り、記憶部４３に記憶されたＰＣ用プログラムを実行することを通じ、入力ＩＦ４２に対する入力情報に基づきつつ、表示部４１の表示内容を制御したり、記憶部４３の記憶内容を変更したりすることに加え、リプログラミングの実現に関与する（詳細は後述）。
【００３３】
また、ＥＣＵ２のＲＯＭ２３には、複数の店舗分の店舗組情報が予めテーブルデータとして記憶されている。図３にＲＯＭ２３に記憶されたデーブルデータＴＢＬの構造を示す。複数の店舗について店舗ごとに店舗組情報が定義され、デーブルデータＴＢＬには複数の店舗分の店舗組情報が格納されている。ここでは、店舗として計ｎ個の店舗Ａ［１］〜Ａ［ｎ］があって、店舗Ａ［１］〜Ａ［ｎ］に対する計ｎ個の店舗組情報がデーブルデータＴＢＬに格納されているものとする。ｎは２以上の整数である。但し “ｎ＝１”であっても良い。以下では、特に記述無き限り、ｎは２以上の整数であるとする。
【００３４】
店舗Ａ［１］〜Ａ［ｎ］の夫々は、リプログラミングの実行が許可された正規の店舗（車両の販売店）である。各店舗組情報は、店舗名と、対応する店舗の所在地を示す店舗所在地情報と、対応する店舗の固有識別情報と、対応する店舗に割り当てられたパスワードと、を含んでいる。図３では、店舗Ａ［１］〜Ａ［ｎ］の店舗名に対しても記号“Ａ［１］〜Ａ［ｎ］”を割り振っている。店舗Ａ［ｉ］に対する店舗組情報を記号“Ｇ［ｉ］”により表すと共に、店舗組情報Ｇ［ｉ］に含まれる店舗所在地情報、固有識別情報、パスワードを、夫々、“Ｂ［ｉ］”、“Ｃ［ｉ］”、“Ｄ［ｉ］”により表す（ｉは任意の整数）。
【００３５】
そうすると、店舗Ａ［ｉ］に対応する店舗組情報Ｇ［ｉ］は、店舗Ａ［ｉ］の店舗名と、店舗Ａ［ｉ］の所在地を示す店舗所在地情報Ｂ［ｉ］と、店舗Ａ［ｉ］に対して固有に割り当てられた固有識別情報Ｃ［ｉ］と、店舗Ａ［ｉ］に対して固有に割り当てられたパスワードＤ［ｉ］と、を含んでいる。固有識別情報Ｃ［１］〜Ｃ［ｎ］は互いに異なっており、パスワードＤ［１］〜Ｄ［ｎ］も互いに異なっている。
【００３６】
図４に示す如く、プログラムメモリ２６に第１制御プログラムが記憶されている状態を第１記憶状態と称し、プログラムメモリ２６に第２制御プログラムが記憶されている状態を第２記憶状態と称する。以下、第１記憶状態から第２記憶状態へ遷移させる方法について説明するが、この遷移に先立って、ＰＣ４の記憶部４３には第２制御プログラムが保持されているものとする。図５に示す如く、ＰＣ４はインターネット網などのネットワーク網を介してサーバ機器ＳＶに接続可能であり、第２制御プログラムはサーバ機器ＳＶからネットワーク網を介してＰＣ４に提供される。サーバ機器ＳＶは、例えば、車両１の製造業者又は協力業者にて所有及び運営されるコンピュータ機器である。但し、ＰＣ４への第２制御プログラムの提供方法は任意であり、第２制御プログラムを格納した記録媒体（不図示）をＰＣ４の記録媒体読み取り装置（不図示）に挿入することで第２制御プログラムがＰＣ４に提供されても良い。
【００３７】
［リプログラミング工程］
図６及び図７に、第１記憶状態から第２記憶状態へ遷移させるためのりリプログラミング工程のフローチャートを示す。当該工程は車両１が停止している状態で実行され、基本的には車両１が店舗Ａ［１］〜Ａ［ｎ］の何れかに持ち込まれた状態で実行される。リプログラミング工程はステップＳ１１〜Ｓ２７、Ｓ６０〜Ｓ６２、Ｓ７０及びＳ８０〜Ｓ８２の各処理を含んで構成される。
【００３８】
まずステップＳ１１において作業者がＰＣ４とＥＣＵ２を双方向通信が可能な形態で接続する。基本的に作業者はＰＣ４のユーザと一致することが想定されるが、ＰＣ４のユーザと異なり得る。続くステップＳ１２において、ＰＣ４のユーザが入力ＩＦ４２を操作することでＰＣリプロ用プログラムを起動させる。ＰＣリプロ用プログラムとは、ＰＣ４の記憶部４３に記憶されたＰＣ用プログラムの内、リプログラミングの実現に関与するＰＣ用プログラムを指し、事前にサーバ機器ＳＶ等からＰＣ４に提供されている。リプログラミング工程を構成する各ステップの処理の内、ＰＣ４にて実行される処理は、ＰＣリプロ用プログラムに従って実行される。
【００３９】
ＰＣリプロ用プログラムが起動すると、ステップＳ１３において、ＰＣ４（例えばプロセッサ４４）は所定の起動信号をＥＣＵ２に対して送信する。ＥＣＵ２にて起動信号が受信されるとステップＳ１４に進む。ステップＳ１４において、ＥＣＵ２（例えばＲＯＭ制御部２５）は、ＧＰＳ処理部３にて取得された、車両１の現在の所在地を示す所在地情報ＰＣＲＴを参照し、所在地情報ＰＣＲＴをテーブルデータＴＢＬ中の店舗所在地情報Ｂ［１］〜Ｂ［ｎ］と比較する。
【００４０】
店舗Ａ［ｉ］の所在地は予め定められた登録地であって、リプログラミングシステムでは、車両１（ＥＣＵ２）が何れかの登録地にあるときにのみ、リプログラミングを許可しうる。ステップＳ１４において、ＥＣＵ２（例えばＲＯＭ制御部２５）は、所在地情報ＰＣＲＴにて示される車両１の現在の所在地が、店舗所在地情報Ｂ［１］〜Ｂ［ｎ］に示される店舗Ａ［１］〜Ａ［ｎ］の所在地の何れかと適合する場合に限り場所条件が充足すると判断してステップＳ１５への移行を発生させ、そうでない場合には、所定の所在地エラー信号をＰＣ４に送信して図６及び図７のリプログラミング工程の動作を終了させる。
【００４１】
例えば、車両１の所在地及び店舗Ａ［ｉ］の所在地が経度及び緯度にて特定される場合、ステップＳ１４において、経度及び緯度にて特定される車両１の所在地と経度及び緯度にて特定される店舗Ａ［ｉ］の所在地とを比較し、所在地情報ＰＣＲＴにて示される車両１の現在の所在地と店舗Ａ［ｉ］の所在地との距離が所定距離以下である場合、車両１の現在の所在地が店舗Ａ［ｉ］の所在地に適合すると判断し、そうでない場合、車両１の現在の所在地が店舗Ａ［ｉ］の所在地に適合しないと判断する。
【００４２】
ステップＳ１５において、ＥＣＵ２（例えばＲＯＭ制御部２５）は所定の所在地適合信号をＰＣ４に送信し、また自身が管理する変数ｐに“０”を代入する。ＰＣ４にて所在地適合信号が受信されるとステップＳ１６に進む。
【００４３】
ステップＳ１６において、ＰＣ４のプロセッサ４４は、ユーザ名及びパスワードの入力を受け付けるためのパスワード入力画像（換言すればユーザ名及びパスワードの入力を要求するパスワード入力画像）を表示部４１に表示させ、パスワード入力画像が表示されている状態でユーザ名及びパスワードの入力を受け付ける。ＰＣ４のユーザはキーボード等の入力ＩＦ４２に対してユーザ名及びパスワードを入力することができる。入力されるべきユーザ名及びパスワードは、図３のテーブルデータＴＢＬ内の店舗識別情報及びパスワードに対応している。ユーザ名及びパスワードが入力されるとステップＳ１７に進む。
【００４４】
図８の画像６００はパスワード入力画像の例である。ユーザがユーザ名及びパスワードを入力して、パスワード入力画像６００に含まれる所定のＯＫアイコンを選択する操作を入力ＩＦ４２に入力すると、入力されたユーザ名及びパスワードがＰＣ４からＥＣＵ２に送信され、ステップＳ１７においてＥＣＵ２（例えばＲＯＭ制御部２５）によりパスワード照合処理が行われる。
【００４５】
リプログラミングの実行が許可された正規の店舗Ａ［ｉ］に対しては、店舗識別情報Ｃ［ｉ］及びパスワードＤ［ｉ］が予め与えられている。例えば、正規の店舗Ａ［ｉ］に設置されたＰＣ４に対して、ＰＣリプロ用プログラムと共に店舗識別情報Ｃ［ｉ］及びパスワードＤ［ｉ］がサーバ機器ＳＶから提供される。店舗Ａ［ｉ］の店員としてのユーザは、ステップＳ１６において、ユーザ名として店舗識別情報Ｃ［ｉ］を入力し且つパスワードとしてパスワードＤ［ｉ］を入力する。
【００４６】
ステップＳ１７のパスワード照合処理において、ＥＣＵ２（例えばＲＯＭ制御部２５）は、ステップＳ１４にて取得された所在地情報ＰＣＲＴに対応する店舗組情報中の店舗識別情報及びパスワードをテーブルデータＴＢＬから抽出し、抽出した店舗識別情報及びパスワードをＰＣ４から受信したユーザ名及びパスワードと照合する。そして、抽出した店舗識別情報、パスワードが、夫々、ＰＣ４から受信したユーザ名、パスワードと一致する場合には、パスワード条件が充足してステップＳ１７からステップＳ１８への移行を発生させる一方、そうでない場合には、ステップＳ６０への移行を発生させる。
【００４７】
例えば、所在地情報ＰＣＲＴに示される車両１の現在の所在地が店舗Ａ［１］の所在地と適合している場合、店舗Ａ［１］に対応する店舗組情報Ｇ［１］中の店舗識別情報Ｃ［１］及びパスワードＤ［１］が抽出され、ＰＣ４から受信したユーザ名が店舗識別情報Ｃ［１］と一致し且つＰＣ４から受信したパスワードがパスワードＤ［１］と一致している場合に限りステップＳ１８への移行が発生し、そうでない場合にはステップＳ６０への移行が発生する。車両１の現在の所在地が店舗Ａ［２］等の所在地と適合している場合も同様である。
【００４８】
ステップＳ１８において、ＥＣＵ２（例えばＲＯＭ制御部２５）は所定のパスワード適合信号をＰＣ４に送信する。ＰＣ４にてパスワード適合信号が受信されるとステップＳ１９（図７参照）に進む。
【００４９】
ステップＳ６０に移行した場合、ＥＣＵ２（例えばＲＯＭ制御部２５）は、ステップＳ６０にて変数ｐに“１”を加算してからステップＳ６１にて変数ｐを所定の上限値ｐＬＩＭと比較し、“ｐ≧ｐＬＩＭ”が不成立の場合には所定のパスワードエラー信号をＰＣ４に送信する。ＰＣ４にてパスワードエラー信号が受信されるとステップＳ１６に戻ってステップＳ１６以降の処理が繰り返される。一方、ステップＳ６１にて“ｐ≧ｐＬＩＭ”が成立している場合には、ＥＣＵ２（例えばＲＯＭ制御部２５）により第１不正条件が成立すると判断され、ステップＳ６２に進んで不正対応処理が実行され、その後、図６及び図７のリプログラミング工程の動作を終了させる。不正対応処理については後述される。
【００５０】
上限値ｐＬＩＭは１以上の任意の値を有していて良い。“ｐＬＩＭ＝１”とすることも可能であるが、パスワード等の誤入力も有り得るため、上限値ｐＬＩＭは２以上であることが好ましい。パスワード等の誤入力でステップＳ６２に移行することが実質的に無いように、上限値ｐＬＩＭとして十分に大きな値（例えば１００００）を設定しておくことも可能であるし、ステップＳ６０の後は、変数ｐの値に関係なく常にステップＳ１６に戻るようにしても良い（この場合、ステップＳ６２の処理は削除される）。
【００５１】
尚、ステップＳ１７における照合をＰＣ４にて行わせるような変形も可能である。この場合、ＥＣＵ２によりテーブルデータＴＢＬから上記の如く抽出された店舗識別情報及びパスワードを、ＥＣＵ２からＰＣ４に送信すると良い。
【００５２】
ステップＳ１９（図７参照）において、ＰＣ４（例えばプロセッサ４４）は所定のセキュリティー情報をＥＣＵ２に対して送信する。セキュリティー情報は、リプログラミングの実行に許可を与えるための情報の１つとして予めＥＣＵ２に登録されている（例えばＲＯＭ２３内に予め格納されている）。例えば、正規のＰＣリプロ用プログラムにはセキュリティー情報が組み込まれており、正規のＰＣリプロ用プログラムは、自身に組み込まれたセキュリティー情報をステップＳ１９においてＥＣＵ２に送信する。或いは、リプログラミングの実行が許可された正規の店舗Ａ［ｉ］に対して、何らかの媒体（紙媒体や、光ディスク等の記録媒体）を経由してセキュリティー情報が知らされており、店舗Ａ［ｉ］の店員としてのユーザが入力ＩＦ４２を介してセキュリティー情報をＰＣ４に与えるようにしても良い。
【００５３】
セキュリティー情報がＥＣＵ２にて受信されると、ＥＣＵ２にてステップＳ２０のセキュリティキー情報照合処理が実行される。セキュリティキー情報照合処理において、ＥＣＵ２（例えばＲＯＭ制御部２５）は、ＥＣＵ２に予め登録されている（例えばＲＯＭ２３内に予め格納されている）セキュリティー情報と、ＰＣ４から受信されたセキュリティー情報とを照合し、それらが一致する場合には、セキュリティー適合条件が充足してステップＳ２０からステップＳ２１への移行を発生させる一方、そうでない場合には、第２不正条件が成立すると判断してステップＳ７０への移行を発生させる。
【００５４】
ステップＳ７０ではＥＣＵ２（例えばＲＯＭ制御部２５）により不正対応処理が実行され、その後、図６及び図７のリプログラミング工程の動作が終了される。不正対応処理については後述される。尚、ステップＳ７０に移行した場合、不正対応処理を行うことなく、単にリプログラミング工程の動作を終了するようにしても良い。
【００５５】
ステップＳ２１において、ＥＣＵ２（例えばＲＯＭ制御部２５）は所定のセキュリティー情報適合信号をＰＣ４に送信し、また自身が管理する変数ｑに“０”を代入する。ＰＣ４にてセキュリティー情報適合信号が受信されるとステップＳ２２に進む。
【００５６】
ステップＳ２２において、ＰＣ４のプロセッサ４４は、ユーザに対して課題を与えて回答を求める課題画像を生成して表示部４１に表示させ、課題画像が表示されている状態で、ユーザからの回答の入力を受け付ける。ＰＣ４のユーザはキーボード等の入力ＩＦ４２に対して（換言すれば入力ＩＦ４２を介しＰＣ４に対して）回答を入力することができる。
【００５７】
図９の画像６２０は課題画像の例である。画像６２０にて例示される課題画像は、乱数発生器（不図示）により発生された乱数の値を所定の通常態様で示す画像に対し、所定の加工処理を加えた画像であり、回答を導出する主体が人間であるかどうかを識別するためのものである。回答を導出する主体がコンピュータプログラムにて構成される所謂「ボット」である場合に、正しい回答が導き難くなるように加工処理が実行される。即ち、例えば、加工処理は、乱数の値を構成する各桁の数値の画像を不規則に回転、拡大又は縮小する処理、画像にノイズを重畳する処理、画像をぼかす処理、及び、画像に対して不規則の水玉模様を付加する処理の内の何れか１以上の処理を含む。
【００５８】
乱数発生器はＰＣ４のプロセッサ４４に設けられるものであっても良いし、ＥＣＵ２（例えばＲＯＭ制御部２５）に設けられるものであっても良い。乱数発生器がＥＣＵ２に設けられる場合には、乱数発生器にて発生された乱数の値が通信によりＥＣＵ２からＰＣ４に伝達される。以下では、乱数発生器がＥＣＵ２に設けられる場合を例にとる。
【００５９】
ユーザが回答を入力して、課題画像に含まれる所定のＯＫアイコンを選択する操作を入力ＩＦ４２に入力すると、ステップＳ２２からステップＳ２３に進んでステップＳ２３の回答照合処理が実行される。上述の如く乱数発生器がＥＣＵ２に設けられる場合には、ユーザにより入力された回答がＰＣ４からＥＣＵ２に送信され、回答照合処理において、ＥＣＵ２（例えばＲＯＭ制御部２５）は、ＰＣ４から受信した回答を表す数値を、正解の回答を表す数値と比較し、それらが一致している場合には、回答正解条件が充足してステップＳ２３からステップＳ２４への移行を発生させる一方、そうでない場合には、ステップＳ８０への移行を発生させる。正解の回答を表す数値は、乱数発生器が発生した数値に相当する。
【００６０】
例えば、発生された乱数の値が「８２４０」であって且つ図９の課題画像６２０が生成されて表示部４１に表示された場合において、回答として数値「８２４０」を入力すればステップＳ２４への移行が発生し、回答として数値「８２４０」以外の数値や記号を入力すればステップＳ８０への移行が発生する。
【００６１】
ステップＳ８０に移行した場合、ＥＣＵ２（例えばＲＯＭ制御部２５）は、ステップＳ８０にて変数ｑに“１”を加算してからステップＳ８１にて変数ｑを所定の上限値ｑＬＩＭと比較し、“ｑ≧ｑＬＩＭ”が不成立の場合には所定の回答エラー信号をＰＣ４に送信する。ＰＣ４にて回答エラー信号が受信されるとステップＳ２２に戻ってステップＳ２２以降の処理が繰り返される。一方、ステップＳ８１にて“ｑ≧ｑＬＩＭ”が成立している場合には、ＥＣＵ２（例えばＲＯＭ制御部２５）により第３不正条件が成立すると判断され、ステップＳ８２に進んで不正対応処理が実行され、その後、図６及び図７のリプログラミング工程の動作を終了させる。不正対応処理については後述される。
【００６２】
上限値ｑＬＩＭは１以上の任意の値を有していて良い。“ｑＬＩＭ＝１”とすることも可能であるが、回答の誤入力も有り得るため、上限値ｑＬＩＭは２以上であることが好ましい。回答の誤入力でステップＳ８２に移行することが実質的に無いように、上限値ｑＬＩＭとして十分に大きな値（例えば１００００）を設定しておくことも可能であるし、ステップＳ８０の後は、変数ｑの値に関係なく常にステップＳ２２に戻るようにしても良い（この場合、ステップＳ８２の処理は削除される）。
【００６３】
ステップＳ２４において、ＥＣＵ２（例えばＲＯＭ制御部２５）は所定の回答適合信号をＰＣ４に送信する。ＰＣ４にて回答適合信号が受信されるとステップＳ２５に進む。回答適合信号は、新たな制御プログラム（ここでは第２制御プログラム）の送信を要求する信号に相当し、回答適合信号の送信を以って、ＲＯＭ制御部２５はリプログラミングの許可を与える。
【００６４】
ステップＳ２５において、ＰＣ４のプロセッサ４４は、プログラムメモリ２６に新たに書き込まれるべき第２制御プログラムをＥＣＵ２に送信する。ＥＣＵ２にて第２制御プログラムが受信されると、ステップＳ２６において、ＲＯＭ制御部２５は、プログラムメモリ２６に記憶される制御プログラムを第１制御プログラムから第２制御プログラムに変更する（即ち書き換える）リプログラミングを実行する。当該リプログラミングが完了するとステップＳ２７において、ＥＣＵ２からＰＣ４に所定のリプログラミング完了信号が送信され、リプログラミング完了信号の送受信を以って図６及び図７のリプログラミング工程の動作が終了する。
【００６５】
尚、上述の如く、乱数発生器はＰＣ４のプロセッサ４４に設けられるものであっても良く、この場合には、ステップＳ２３の回答照合処理はプロセッサ４４にて実行されると共に、ステップＳ２４ではＰＣ４からＥＣＵ２に対し回答適合信号が送信されることになり、ＥＣＵ２にて回答適合信号が受信されることでリプログラミングの準備が整うことになる。また、乱数発生器がＰＣ４のプロセッサ４４に設けられる場合、変数ｑの管理を含むステップＳ８０及びＳ８１の処理はプロセッサ４４にて実行されて良く、この場合、プロセッサ４４側で回答の正解／不正解を判断可能であるため、上述したようなＥＣＵ２からＰＣ４への回答エラー信号の送信は不要である。
【００６６】
リプログラミングの実行を試みる者として、正規実行者と、それ以外の不正実行者とが想定される。正規実行者は、店舗Ａ［１］〜Ａ［ｎ］の何れかに属する正規の店員である。不正実行者は、不正にリプログラミングを実行しようとする者である。基本的に正規実行者が上記ユーザとなるが、不正実行者も上記ユーザとなりうる。不正実行者として、不正なリプログラミングを行おうとする車両１の所有者や、車両１の所有者からの依頼を受けた改造業者の店員が挙げられる。
【００６７】
本実施形態に係るリプログラミングシステムでは、所定のリプログラミング条件が充足したときリプログラミング（ステップＳ２６）を実行する一方で、リプログラミング条件が充足せずに所定の不正条件が充足したとき、不正対応処理を実行する。不正対応処理として、不正実行者にペナルティを与えるような処理を実行することができ、特に、車両１の走行に影響を与えるような処理を実行することができる。
【００６８】
これにより、不正なリプログラミングを実行しようとする意志が生じ難くなるという効果が期待され、不正なリプログラミングの実行による、車両１の走行の安全性劣化等を抑制することが可能となる。
【００６９】
リプログラミング条件は、図７のステップＳ２６に至るために充足すべき条件に相当する。不正実施者がリプログラミングし難くなるように、リプログラミング条件は、車両１の所在地が所定の登録地に適合するという場所条件を含んでいると良い。上述の例では、登録地は正規の店舗Ａ［１］〜Ａ［ｎ］の所在地に相当し、場所条件が充足したときに、図６のステップＳ１４からステップＳ１５への移行が発生する。ｎ≧２”である場合には、車両１の所在地が店舗Ａ［１］〜Ａ［ｎ］の所在地の何れかに適合するときに場所条件が充足する。
【００７０】
リプログラミング条件に上記場所条件を含めておくことで、不正実行者による不正なリプログラミングが行われ難くなり、もって、不正なリプログラミングの実行による、車両１の走行の安全性劣化等を抑制することが可能となる。
【００７１】
上述の如く、所在地情報を利用することで正規の店舗でしかリプログラミングが実行されないような仕組みが導入されているが（ステップＳ１４参照）、不正実行者が正規の店舗の近くに車両１を配置してリプログラミングを実行しようとした場合、上記の仕組みが突破されてステップＳ１４からステップＳ１５への移行が発生しうる。このような場合でも、ステップＳ１５以降の処理にて不正なリプログラミングの実行が成され難くなっている。
【００７２】
具体的には、ステップＳ１６及びＳ１７によるパスワードの認証がある。即ち、リプログラミング条件は、ユーザにより所定のパスワードが入力されるというパスワード条件を含んでいると良い。正規のパスワードはＥＣＵ２内に予め設定及び登録されているが、特筆すべき点は、パスワードが登録地ごとに設定されている点である。即ち、第１登録地に相当する店舗Ａ［１］の所在地に対してはパスワードＤ［１］が設定され、第２登録地に相当する店舗Ａ［２］の所在地に対してはパスワードＤ［２］が設定されている。
【００７３】
登録地ごとパスワードを設定しておくことで、不正実行者がパスワード照合処理を突破し難くなる（即ちステップＳ１７からステップＳ１８への移行が発生し難くなる）。全ての登録地に対して共通のパスワードが設定されていた場合、不正実行者が何らかの不正な手段で当該共通のパスワードを一旦取得すれば、全ての登録地又は全ての登録地近辺にて不正なリプログラミングが可能となりうる。これに対し、登録地ごとにパスワードを設定しておけば、或る登録地用のパスワードは当該登録地に対してのみ有効となるため、不正なリプログラミングの実行に対するハードルが高まる。即ち、不正実行者による不正なリプログラミングが行われ難くなり、もって、不正なリプログラミングの実行による、車両１の走行の安全性劣化等を抑制することが可能となる。
【００７４】
不正条件として、ステップＳ１７を経由してステップＳ６２に至るための第１不正条件、ステップＳ２０を経由してステップＳ７０に至るための第２不正条件、及び、ステップＳ２３を経由してステップＳ８２に至るための第３不正条件、がある。
【００７５】
第１不正条件に関し、“ｐＬＭＴ＝１”である場合には、ステップＳ１７のパスワード照合処理の実行を通じてステップＳ６０に至るとき、第１不正条件が成立してステップＳ６２に至る。即ち、ＰＣ４に対して入力されたユーザ名及びパスワードがテーブルデータＴＢＬ中の対応する店舗識別情報及びパスワードと一致しないとき、第１不正条件が成立してステップＳ６２に至る。
第１不正条件に関し、“ｐＬＭＴ≧２”である場合には、ステップＳ１７のパスワード照合処理の実行を通じてステップＳ６０に至るという処理が連続してｐＬＭＴ回以上あったとき、第１不正条件が成立してステップＳ６２に至る。即ち、ＰＣ４に対して入力されたユーザ名及びパスワードがテーブルデータＴＢＬ中の対応する店舗識別情報及びパスワードと一致しないことが、ｐＬＭＴ回以上連続して生じたとき、第１不正条件が成立してステップＳ６２に至る。
第１不正条件に関連する条件として、リプログラミング条件には上記パスワード条件が含まれることになる。ステップＳ１７のパスワード照合処理にてパスワード条件の充足／不充足が判断される。
【００７６】
第２不正条件は、リプログラミング工程にてＥＣＵ２に送信されたセキュリティー情報が、ＥＣＵ２に予め登録及び設定されているセキュリティー情報と一致しないという条件であり、ステップＳ２０を経由してステップＳ７０に至ることが、第２不正条件の成立に相当する。
第２不正条件に関連する条件として、リプログラミング条件にはセキュリティー適合条件が含まれることになる。セキュリティー適合条件は、リプログラミング工程にてＥＣＵ２に送信されたセキュリティー情報がＥＣＵ２に予め登録及び設定されているセキュリティー情報と一致するという条件であり、ステップＳ２０にて、セキュリティー適合条件及び第２不正条件の何れかが充足しているかが判断される。
【００７７】
第３不正条件に関し、“ｑＬＭＴ＝１”である場合には、ステップＳ２３の回答照合処理の実行を通じてステップＳ８０に至るとき、第３不正条件が成立してステップＳ８２に至る。即ち、回答照合処理において課題に対し正解の回答と異なる誤回答があったとき、第３不正条件が成立してステップＳ８２に至る。
第３不正条件に関し、“ｑＬＭＴ≧２”である場合には、ステップＳ２３の回答照合処理の実行を通じてステップＳ８０に至るという処理が連続してｑＬＭＴ回以上あったとき、第３不正条件が成立してステップＳ８２に至る。即ち、回答照合処理において課題に対し正解の回答と異なる誤回答が連続してｑＬＭＴ回以上あったとき、第３不正条件が成立してステップＳ８２に至る。
第３不正条件に関連する条件として、リプログラミング条件には回答正解条件が含まれることになる。回答正解条件は、ユーザに提示された課題に対する回答が所定の正解回答に適合するという条件である。ステップＳ２３の回答照合処理にて回答正解条件の充足／不充足が判断される。上述の乱数の例では、入力された回答の数値が、乱数の値としての正解回答に一致するとき、課題に対する回答が所定の正解回答に適合することになる。
【００７８】
ボットがパスワード等に対応するかもしれないデータ群を次々とＰＣ４に送りつけることでパスワード照合処理は突破されるおそれがある。特に、パスワード照合処理に関わる上限値ｐＬＭＴが十分に大きく設定されている場合、又は、ステップＳ１６に至った後はステップＳ１８に達するまでステップＳ１６及びＳ１７の処理が無制限に繰り返し実行されるようリプログラミングシステムが構成されている場合には、パスワード照合処理はボットにより何れ突破されるおそれがある。これを考慮し、本実施形態では、ボットでは突破しにくい課題を提示し、誤回答により第３不正条件が成立した場合には不正対応処理を行うようにしている。これにより、ペナルティの発生をおそれて、不正なリプログラミングを実行しようとする意志が生じ難くなるという効果が期待され、不正なリプログラミングの実行による、車両１の走行の安全性劣化等を抑制することが可能となる。
【００７９】
［不正対応処理］
上述のステップＳ６２、Ｓ７０又はＳ８２にて実行することのできる不正対応処理として、３種類の不正対応処理、即ち第１不正対応処理〜第３不正対応処理を説明する。
【００８０】
―――第１不正対応処理―――
第１不正対応処理について説明する。第１不正対応処理は、車両１の走行に影響を与える不正対応処理に属する。
【００８１】
図１０に示す如く、第１不正対応処理において、ＲＯＭ制御部２５は、プログラムメモリ２６内に記憶されている制御プログラムを消去する。制御プログラムの消去とは、制御プログラムの全部の消去であっても良いし、制御プログラムの一部の消去であっても良い。何れにせよ、車両１の走行を制御するための制御プログラムの消去により、車両１は走行不能となる。
【００８２】
即ち、第１不正対応処理が行われる前において、プログラムメモリ２６に記憶されている制御プログラムの実行を通じて車両１は走行可能であるが、第１不正対応処理が行われると、車両１は走行不能となる。
【００８３】
具体的には例えば、制御プログラムにて実現されるべき機能が、車両１のエンジン（内燃機関）における燃料噴射を制御する燃料噴射制御機能を含んでいる場合、制御プログラムの全部又は一部が消去されることで燃料噴射が行われなくなり、車両１は走行不能となる。但し、ここでは、燃料噴射を利用したエンジンのみが車両１の動力となることを想定している。仮に車両１が蓄電池の放電電力を利用して走行する場合にあって、且つ、制御プログラムにて実現されるべき機能が蓄電池の放電制御を含んでいる場合、制御プログラムの全部又は一部が消去されることで放電制御が行われなくなり、車両１は走行不能となる。
【００８４】
不正なリプログラミングを行おうとしたときに、車両１が走行不能になりうるというペナルティを課しておくことで、不正なリプログラミングを実行しようとする意志が生じ難くなるという効果が期待される。不正なリプログラミングの実行による、車両１の走行の安全性劣化等を抑制することが可能となる。
【００８５】
―――第２不正対応処理―――
第２不正対応処理について説明する。第２不正対応処理も、車両１の走行に影響を与える不正対応処理に属する。
【００８６】
図１１に示す如く、第２不正対応処理において、ＲＯＭ制御部２５は、プログラムメモリ２６内に記憶されている制御プログラムを特定のプログラムに書き換える。ここにおける書き換えは、制御プログラムの全部の書き換えであっても良いし、制御プログラムの一部の書き換えであっても良い。第２不正対応処理での書き換えが行われる前にプログラムメモリ２６内に記憶されていた制御プログラム（図４の第１制御プログラムに相当）を基準制御プログラムと称し、第２不正対応処理での書き換えにより、プログラムメモリ２６内に記憶されることになった制御プログラムを制限モード制御プログラムと称する。制限モード制御プログラムは上記特定のプログラムを含む。上記特定のプログラムは、ＥＣＵ２内に設けられた特定メモリ（不図示；ＲＯＭ２３内にあっても良い）に予め記憶されたものであっても良いし、ＰＣ４からＥＣＵ２に提供されるものであっても良い。
【００８７】
基準制御プログラムは、車両１を本来の性能で走行させることのできる制御プログラムである。これに対し、制限モード制御プログラムは、車両１を本来の性能で走行させることのできない制御プログラムである。
【００８８】
制限モード制御プログラムは、車両１を走行不能とするための制御プログラムであっても良い。この場合、第２不正対応処理が行われる前において、プログラムメモリ２６に記憶されている制御プログラム（基準制御プログラム）の実行を通じて車両１は走行可能であるが、第２不正対応処理が行われると、車両１は走行不能となる。具体的には例えば、制御プログラム（基準制御プログラム）にて実現されるべき機能が車両１のエンジンにおける燃料噴射を制御する燃料噴射制御機能を含んでいる場合、制限モード制御プログラムに燃料噴射を停止するプログラムを含ませておけば、車両１は走行不能となる。車両１が蓄電池の放電電力を利用して走行する場合であって、且つ、制御プログラム（基準制御プログラム）にて実現されるべき機能が蓄電池の放電制御を含んでいる場合、制限モード制御プログラムに蓄電池の放電を停止するプログラムを含ませておけば、車両１は走行不能となる。
【００８９】
基準制御プログラムによる、車両１が本来の性能で走行できる状態を基準状態と称する。制限モード制御プログラムは、基準状態よりも制限が加わった制限状態で車両１を走行可能とするための制御プログラムであっても良い。この場合、第２不正対応処理が行われる前において、プログラムメモリ２６に記憶されている制御プログラム（基準制御プログラム）の実行を通じて車両１は基準状態で走行可能であるが、第２不正対応処理が行われると、車両１は制限状態にて走行可能となる。
【００９０】
制限状態とは、基準状態との比較において、車両１の走行に所定の制限が加わった状態を指す。具体的には例えば、基準制御プログラム及び制限モード制御プログラムにて実現されるべき機能が車両１の走行速度を制御する走行速度制御機能を含んでいる場合、制限モード制御プログラムは車両１の走行速度を所定の制限モード上限速度（例えば２０ｋｍ／時）以下に制限するプログラムを含む。基準状態では、基準制御プログラムにより、制限モード上限速度を超えて車両１の走行速度を高めることができる。また、車両１において、車両１のエンジンで生じた運動を車両１のタイヤの回転運動に変換する駆動機構に変速機が設けられている。基準制御プログラム及び制限モード制御プログラムにて実現されるべき機能が変速機での変速比を制御する変速機制御機能を含んでいる場合、基準制御プログラムでは変速比を５段階で可変させることができるが、基準制御プログラムでは変速比を１つの変速比に固定する、といった制限の行い方も取り得る。
【００９１】
不正なリプログラミングを行おうとしたときに、車両１が走行不能になりうる又は車両１の走行に制限が加わるというペナルティを課しておくことで、不正なリプログラミングを実行しようとする意志が生じ難くなるという効果が期待される。結果、不正なリプログラミングの実行による、車両１の走行の安全性劣化等を抑制することが可能となる。
【００９２】
―――第３不正対応処理―――
第３不正対応処理について説明する。第３不正対応処理は、車両１の走行に影響を与える不正対応処理に属さない。第３不正対応処理を実施する場合にあっては、ＥＣＵ２内に設けられた不揮発性のフラグメモリ（不図示：ＲＯＭ２３内にあっても良い）にリプロ禁止フラグを記憶させておく。リプロ禁止フラグは“０”又は“１”の値をとる。ＲＯＭ制御部２５は、リプロ禁止フラグが“１”であるときリプログラミングの実行を禁止し、リプロ禁止フラグが“０”であるときにのみリプログラミングを実行し得る。リプロ禁止フラグは原則として“０”の値を持つ。
【００９３】
図１２に示す如く、第３不正対応処理において、ＲＯＭ制御部２５はリプロ禁止フラグに“１”を代入することでリプログラミングの実行を禁止する。リプロ禁止フラグに“１”が設定されている限り、図６及び図７のリプログラミング工程の動作が行われたとしてもステップＳ２６に至るまでの任意の段階でリプロ禁止フラグの値が確認されることで、ステップＳ２６に至ることなくリプログラミング工程の動作が異常終了する。
【００９４】
ステップＳ６２、Ｓ７０及びＳ８２にて実行される不正対応処理は、共通して第１不正対応処理であっても良いし、共通して第２不正対応処理であっても良いし、共通して第３不正対応処理であっても良い。或いは、ステップＳ６２、Ｓ７０及びＳ８２にて実行される不正対応処理は、一部又は全部において互いに相違していても良い。例えば、ステップＳ６２での不正対応処理では第３不正対応処理を実行し、ステップＳ８２での不正対応処理では第１又は第２不正対応処理を実行するといったことが可能である。また例えば、ステップＳ６０の後は、変数ｐの値に関係なく常にステップＳ１６に戻るようにしておく一方で、上限値ｑＬＩＭに１、２又は３等の値を設定しておき且つステップＳ８２にて第１又は第２不正対応処理を実行するといったことも可能である。
【００９５】
また、上述したように、ステップＳ６２、Ｓ７０及びＳ８２の内、１つ以上の任意のステップにおいて不正対応処理は非実行とされても良い。
【００９６】
［復帰工程；復帰処理］
不正対応処理の後、車両１の走行不能等から永遠に復帰できないと、酷であるとも言える。また、正規実行者の手違いにより不正対応処理が実行されることも有り得る。そこで、リプログラミングシステムでは復帰処理が用意されている。即ち、不正対応処理の実行後、後述の復帰工程の中で実行される復帰処理が実行されると、不正対応処理によるペナルティは解消され、ＥＣＵ２は不正対応処理の実行前の状態に戻る。
【００９７】
図１３に復帰工程のフローチャートを示す。復帰工程はステップＳ１１０〜Ｓ１１８の各処理を含む。復帰工程では、まずステップＳ１１０にて復帰パスワードの取得を行う。復帰パスワードの取得とは、例えば、ＰＣ４がサーバ機器ＳＶ等から復帰パスワードを取得することを指す。ＰＣ４がサーバ機器ＳＶから復帰パスワードを取得する場合、正規の店舗（例えば店舗Ａ［１］）の店員としてのユーザが、車両１の車種及び型式を示す情報を含む復帰パスワード要求情報をＰＣ４からサーバ機器ＳＶに送信させる。復帰パスワード要求情報は、対応する店舗のユーザ名及びパスワード（例えばＣ［１］及びＤ［１］）を含むものであっても良い。サーバ機器ＳＶにてパスワード要求情報が正規の店舗からのものであると認められれば、サーバ機器ＳＶからＰＣ４に対して復帰パスワードを含む情報が送信され、これによってＰＣ４にて復帰パスワードが取得される。正規の店舗（例えば店舗Ａ［１］）に対し、何らかの媒体（紙媒体や、光ディスク等の記録媒体）を経由して復帰パスワードが提供されるようにしても良い。
【００９８】
ＰＣ４又は正規の店舗が取得する復帰パスワードと同じ復帰パスワードが、ＥＣＵ２内に設けられた不揮発性の復帰パスワードメモリ（不図示；ＲＯＭ２３内にあっても良い）に予め格納されている。
【００９９】
ステップＳ１１０に続くステップＳ１１１において作業者がＰＣ４とＥＣＵ２を双方向通信が可能な形態で接続する。基本的に作業者はＰＣ４のユーザと一致することが想定されるが、ＰＣ４のユーザと異なり得る。続くステップＳ１１２において、ＰＣ４のユーザが入力ＩＦ４２を操作することでＰＣリプロ用プログラムを起動させる。ステップＳ１１２にて起動するＰＣリプロ用プログラムは、リプログラミング工程で使用されるＰＣリプロ用プログラムと同じものであって良く、ＰＣリプロ用プログラムには復帰処理を担うプログラムも内包されているが、以下では、リプログラミング工程で使用されるＰＣリプロ用プログラムと、復帰工程で使用されるＰＣリプロ用プログラムとの混同を避けるべく、後者を便宜上、復帰機能付きＰＣリプロ用プログラムと称する。復帰工程を構成する各ステップの処理の内、ＰＣ４にて実行される処理は、復帰機能付きＰＣリプロ用プログラムに従って実行される。
【０１００】
復帰機能付きＰＣリプロ用プログラムが起動すると、ステップＳ１１３において、ＰＣ４（例えばプロセッサ４４）は所定の起動信号をＥＣＵ２に対して送信する。ＥＣＵ２にて起動信号が受信されるとステップＳ１１４に進む。ステップＳ１１４において、ＥＣＵ２（例えばＲＯＭ制御部２５）は、ＧＰＳ処理部３にて取得された、車両１の現在の所在地を示す所在地情報ＰＣＲＴを参照し、所在地情報ＰＣＲＴをテーブルデータＴＢＬ中の店舗所在地情報Ｂ［１］〜Ｂ［ｎ］と比較する。
【０１０１】
上述の如く、店舗Ａ［ｉ］の所在地は予め定められた登録地であって、リプログラミングシステムでは、車両１（ＥＣＵ２）が何れかの登録地にあるときにのみ、復帰処理を実行し得る。ステップＳ１１４において、ＥＣＵ２（例えばＲＯＭ制御部２５）は、所在地情報ＰＣＲＴにて示される車両１の現在の所在地が、店舗所在地情報Ｂ［１］〜Ｂ［ｎ］に示される店舗Ａ［１］〜Ａ［ｎ］の所在地の何れかと適合する場合に限り復帰場所条件が充足すると判断してステップＳ１１５への移行を発生させ、そうでない場合には、所定の所在地エラー信号をＰＣ４に送信して図１３の復帰工程の動作を終了させる。上記適合の有無の判別方法は、図６のステップＳ１４に関連して上述した方法と同じである。
【０１０２】
ステップＳ１１５において、ＥＣＵ２（例えばＲＯＭ制御部２５）は所定の所在地適合信号に加えて、復帰パスワードを要求する復帰パスワード要求信号をＰＣ４に送信する。ＰＣ４にて所在地適合信号及び復帰パスワード要求信号が受信されるとステップＳ１１６に進む。
【０１０３】
図６及び図７のリプログラミング工程の説明では、ＥＣＵ２にて不正対応処理が未だ行われていないことが想定されており、このため図６のステップＳ１５では復帰パスワード要求信号が送信されていない。復帰処理をも考慮したＥＣＵ２（例えばＲＯＭ制御部２５）は、ＰＣ４に所在地適合信号を送信する際、プログラムメモリ２６内の記憶内容を確認し、第１不正対応処理によりプログラムメモリ２６内の制御プログラムが消去されている場合、第２不正対応処理によりプログラムメモリ２６内の制御プログラムが制限モード制御プログラムとなっている場合、又は、第３不正対応処理によりリプロ禁止フラグに“１”が設定されている場合には、所在地適合信号と共に復帰パスワード要求信号をＰＣ４に送信する。
【０１０４】
ステップＳ１１６において、ＰＣ４のプロセッサ４４は、復帰パスワードの入力を受け付けるための復帰パスワード入力画像（換言すれば復帰パスワードの入力を要求する復帰パスワード入力画像；不図示）を表示部４１に表示させ、復帰パスワード入力画像が表示されている状態で復帰パスワードの入力を受け付ける。ＰＣ４のユーザはキーボード等の入力ＩＦ４２に対して復帰パスワードを入力することができる。ユーザが復帰パスワードを入力して、パスワード入力画像に含まれる所定のＯＫアイコン（不図示）を選択する操作を入力ＩＦ４２に入力すると、入力された復帰パスワードがＰＣ４からＥＣＵ２に送信され、ステップＳ１１７においてＥＣＵ２（例えばＲＯＭ制御部２５）により復帰パスワード照合処理が行われる。
【０１０５】
ステップＳ１１７のパスワード照合処理において、ＥＣＵ２（例えばＲＯＭ制御部２５）は、ＥＣＵ２内の復帰パスワードメモリ（不図示）に予め格納されている復帰パスワードと、ＰＣ４から受信した復帰パスワードとの照合を行い、それらの復帰パスワードが一致する場合には、復帰パスワード条件が充足すると判断してステップＳ１１７からステップＳ１１８への移行を発生させる一方、そうでない場合には所定の復帰パスワードエラー信号をＰＣ４に送信して図１３の復帰工程の動作を終了させる。
【０１０６】
ステップＳ１１８では復帰処理が実行される。復帰処理の具体的内容は、過去に実行された不正対応処理の内容に依存する。
【０１０７】
ＥＣＵ２にて過去に実行された不正対応処理が第３不正対応処理の場合、ステップＳ１１８の復帰処理はリプロ禁止フラグに“０”を代入する処理を含み、当該処理によって、リプログラミングが可能な状態に戻る。即ち、ＥＣＵ２は第３不正対応処理の実行前の状態に戻される。
【０１０８】
ＥＣＵ２にて過去に実行された不正対応処理が第１又は第２不正対応処理の場合、ステップＳ１１８の復帰処理は、不正対応処理の実行前にプログラムメモリ２６に記憶されていた制御プログラムを、再度、プログラムメモリ２６に書き込む処理である。具体的には例えば、ステップＳ１１８の復帰処理において、第１制御プログラム（不正対応処理の実行前にプログラムメモリ２６に記憶されていた制御プログラムに相当）がＰＣ４からＥＣＵ２に送信され、ＥＣＵ２のＲＯＭ制御２５が、受信した第１制御プログラムをプログラムメモリ２６に書き込む。これにより、ＥＣＵ２は第１又は第２不正対応処理の実行前の状態に戻される。
【０１０９】
ステップＳ１１８の復帰処理の後、続けて上述のリプログラミング工程が実行されるようにしても良い。ステップＳ１１８の復帰処理後のリプログラミング工程では、場所条件の充足／不充足の判定を省略し、図６のステップＳ１６からリプログラミング工程を開始するようにしても良い（但し、この開始の際、変数ｐに“０”が代入される）。
【０１１０】
このように、ＥＣＵ２（例えばＲＯＭ制御部２５）は、不正対応処理の実行後、所定の復帰条件の充足下において、ＥＣＵ２を不正対応処理の実行前の状態に戻す復帰処理を実行する。この際、復帰条件は、車両１の所在地が復帰用登録地に適合するという復帰場所条件を含んでいると良い。上述の例では、復帰用登録地は正規の店舗Ａ［１］〜Ａ［ｎ］の所在地に相当し、場所条件が充足したときに、図１３のステップＳ１１４からステップＳ１１５への移行が発生する。ｎ≧２”である場合には、車両１の所在地が店舗Ａ［１］〜Ａ［ｎ］の所在地の何れかに適合するときに場所条件が充足する。尚、復帰用登録地は、店舗Ａ［１］〜Ａ［ｎ］の内の、一部の店舗の所在地であっても良い。
【０１１１】
復帰条件に復帰場所条件を含めておくことで、不正実行者に課されたペナルティが不正実行者では解消され難くなる。結果、不正実行者は不正なリプログラミングを再度実行しようとは考えないようになると期待され、これを通じて、不正なリプログラミングの実行抑制効果が期待される。
【０１１２】
また、復帰条件は、ユーザにより所定の復帰パスワードが入力されるという復帰パスワード条件を含んでいると良い。図１３の復帰工程の例では、復帰パスワード条件が充足したときにのみステップＳ１７からステップＳ１８への移行が発生して復帰処理が実行される。
【０１１３】
復帰条件に復帰パスワード条件を含めておくことで、不正実行者に課されたペナルティが不正実行者では解消され難くなる。結果、不正実行者は不正なリプログラミングを再度実行しようとは考えないようになると期待され、これを通じて、不正なリプログラミングの実行抑制効果が期待される。
【０１１４】
＜＜第２実施形態＞＞
本発明の第２実施形態を説明する。第２実施形態では第１実施形態に対する補足事項、応用技術、変形技術等を説明する。第２実施形態は第１実施形態を基礎とする実施形態であり、第２実施形態において特に述べない事項に関しては、矛盾の無い限り、第１実施形態の記載が第２実施形態にも適用される。第２実施形態の記載を解釈するにあたり、第１及び第２実施形態間で矛盾する事項については第２実施形態の記載が優先されて良い。第２実施形態は以下の実施例ＥＸ２＿１〜ＥＸ２＿４を含む。
【０１１５】
［実施例ＥＸ２＿１］
実施例ＥＸ２＿１を説明する。車両１に搭載されるＥＣＵ２の個数は１であり得るが、通常は、複数のＥＣＵ２が車両１に搭載される。この場合、車両１に搭載される各ＥＣＵ２に対して第１実施形態に示した技術を適用することができる。
【０１１６】
車両１に複数のＥＣＵ２が搭載される場合、複数のＥＣＵ２にて実現すべき多数の機能が各ＥＣＵ２に割り振られることになる。複数のＥＣＵ２は車両１に搭載されたＣＡＮ通信線を介して互いに双方向通信が可能であって良い。車両１の運転手が車両１のイグニッションキーを操作することで各ＥＣＵ２への電力供給が開始されると、各ＥＣＵ２が起動することになる。このとき、複数のＥＣＵ２の内、任意の１以上のＥＣＵ２のプログラムメモリ２６に制御プログラムが記憶されていないとき（即ち不正対応処理の実行により制御プログラムが消去されているとき）、複数のＥＣＵ２から成る車両制御システムは、異常が発生しているものとして車両１の走行を禁止する。
【０１１７】
例えば、以下のような動作例が想定される。複数のＥＣＵ２に含まれる統括ＥＣＵが、起動時において統括ＥＣＵ以外の各ＥＣＵ２に対して各ＥＣＵ２の状態を問い合わせ、統括ＥＣＵ以外の各ＥＣＵ２は自身のプログラムメモリに格納された制御プログラムに従って、当該問い合わせに対する返信信号を統括ＥＣＵに返信する。統括ＥＣＵは、統括ＥＣＵ以外の全ＥＣＵ２から正常な返信信号を受信した場合、車両１の走行を許可するが、何れか１以上のＥＣＵ２から正常な返信信号が受信されない場合、車両１の走行を禁止する制御を行う。車両１の走行を禁止する制御が行われているとき、車両１の走行制御を司るＥＣＵ２（統括ＥＣＵでありうる）は、運転手による運転操作に拘わらず車両１を走行させない。
【０１１８】
［実施例ＥＸ２＿２］
実施例ＥＸ２＿２を説明する。ＰＣ４とユーザとの間で操作又は情報を伝達するためのマンマシンインターフェースは、上述の例では、表示部４１及び入力ＩＦ４２により構成されている。
【０１１９】
リプログラミング工程においては、図６のステップＳ１６の段階でマンマシンインターフェースが、パスワード入力画像（図８参照）の表示を通じてユーザにパスワードの入力を要求し、ユーザからのパスワードの入力を受け付ける。但し、マンマシンインターフェースによるパスワードの入力の要求は必須ではなく、パスワードの入力を受け付けることにのみ注目すれば、マンマシンインターフェースは入力ＩＦ４２のみによって構成されると考えても良い。
【０１２０】
復帰工程においては、図１３のステップＳ１１６の段階でマンマシンインターフェースが、復帰パスワード入力画像の表示を通じてユーザに復帰パスワードの入力を要求し、ユーザからの復帰パスワードの入力を受け付ける。但し、マンマシンインターフェースによる復帰パスワードの入力の要求は必須ではなく、復帰パスワードの入力を受け付けることにのみ注目すれば、マンマシンインターフェースは入力ＩＦ４２のみによって構成されると考えても良い。
【０１２１】
またリプログラミング工程においては、図７のステップＳ２２の段階でマンマシンインターフェースが、課題画像（図９参照）の表示を通じてユーザに課題を提示し、課題に対するユーザからの回答の入力を受け付ける。
【０１２２】
第１実施形態に示した例では、課題画像にて表現される数値を読み取ることが課題となっているが（図９参照）、ユーザに提示される課題は任意である。但し、人間は正しい回答を容易に導くことができるがボットでは正しい回答を得難くなるような課題を用意することが望ましい。例えば、複数の写真画像の中からランダムに選出した写真画像を表示部４１に表示し、表示された写真画像中の物体の名称を回答として求める課題を利用できる。課題は視覚的な課題以外の課題であっても良く、例えば、ＰＣ４に設けられたスピーカ（不図示）から文字列の音声を出力し、出力音声による文字列を回答として求める課題を利用しても良い。また例えば、表示部４１がタッチパネルとして構成されている場合、表示部４１に複数の点を表示して、表示された複数の点をユーザの指にてなぞることを求める課題を利用しても良い（この場合、表示された複数の点を実際にユーザの指にてなぞる操作をタッチパネル上で行うことが正しい回答となる）。
【０１２３】
［実施例ＥＸ２＿３］
実施例ＥＸ２＿３を説明する。図６及び図７に示したリプログラミング工程の手順は例示に過ぎず、様々に変形家可能である。
【０１２４】
図６及び図７に示したリプログラミング工程において、リプログラミングが実行される条件であるリプログラミング条件は、場所条件、パスワード条件、セキュリティー適合条件及び回答正解条件を含むが、場所条件、パスワード条件、セキュリティー適合条件及び回答正解条件の内、任意の１以上の条件はリプログラミング条件に含まれないようにしても良い。
【０１２５】
例えば、図６及び図７に示したリプログラミング工程において、ステップＳ１９以降の処理を削除するようにしても良い。この場合、ステップＳ１８にてステップＳ２６の処理に相当するリプログラミングが実行され、セキュリティー適合条件及び回答正解条件がリプログラミング条件に含まれないことになる。
【０１２６】
或いは例えば、図６及び図７に示したリプログラミング工程において、ステップＳ２２以降の処理を削除するようにしても良い。この場合、ステップＳ２１にてステップＳ２６の処理に相当するリプログラミングが実行され、回答正解条件がリプログラミング条件に含まれないことになる。
【０１２７】
或いは例えば、図６及び図７に示したリプログラミング工程において、ステップＳ１３〜Ｓ１８及びＳ６０〜Ｓ６２の処理を削除するようにしても良い。この場合、ステップＳ１２の後は直接ステップＳ１９に移行し、場所条件及びパスワード条件がリプログラミング条件に含まれないことになる。
【０１２８】
また、場所条件、パスワード条件、セキュリティー適合条件及び回答正解条件の何れとも異なる条件がリプログラミング条件に含まれていても良い。
【０１２９】
同様に、図１３に示した復帰工程において、復帰処理が実行される条件である復帰条件は、復帰場所条件及び復帰パスワード条件を含むが、復帰場所条件及び復帰パスワード条件の内、何れか一方の条件は復帰条件に含まれていなくても良く、また、復帰場所条件及び復帰パスワード条件の何れとも異なる条件が復帰条件に含まれていても良い。
【０１３０】
また、既に述べた事項と部分的に重複するが、図６及び図７に示したリプログラミング工程において、ステップＳ６０、Ｓ７０及びＳ８０の内、任意の１つ又は２つのステップを削除することも可能である。
ステップＳ６０が削除される場合、ステップＳ６１及びＳ６２も併せて削除され、故にステップＳ６０への移行を発生させる上述の状況（即ちパスワード条件が不充足の状況）においては、ユーザによるパスワード等の入力操作が単に無効とされて、ステップＳ１７からステップＳ１６に戻る或いはリプログラミング工程の動作が終了する。
ステップＳ７０が削除される場合、ステップＳ７０への移行を発生させる上述の状況（即ちセキュリティー適合条件が不充足の状況又は第２不正条件が充足の状況）において、ＥＣＵ２にて受信したセキュリティー情報が単に無効とされる。この際、ステップＳ１９及びＳ２０の処理が繰り返されても良いし、リプログラミング工程の動作を終了しても良い。
ステップＳ８０が削除される場合、ステップＳ８１及びＳ８２も併せて削除され、故にステップＳ８０への移行を発生させる上述の状況（即ち回答正解条件が不充足の状況）においては、ユーザによる回答の入力操作が単に無効とされて、ステップＳ２３からステップＳ２２に戻る或いはリプログラミング工程の動作が終了する。
【０１３１】
ステップＳ６０、Ｓ７０及びＳ８０の内、任意の１つ又は２つのステップを削除することで、或る段階での不正に対しては操作等が無効になるだけであるが特定の段階での不正に対してはペナルティを課すといった動作が実現される。特に例えば、ステップＳ６０、Ｓ７０及びＳ８０の内、前段側ステップを削除する一方で後段側ステップを削除しない場合、図６及び図７の工程における分岐処理を不正実行者が手間をかけて突破したのに、最後の方の不正行為に対して不正対応処理が実行されるといった特異なペナルティのかけ方を行うことができる。特異なペナルティによって不正の抑止効果が高まる可能性がある。尚、上記の前段側ステップはステップＳ６０及びＳ７０の内の少なくとも一方を含み、上記の後段側ステップはステップＳ７０及びＳ８０の内の少なくとも一方を含む。詳細には、前段側ステップがステップＳ６０であるとき、後段側ステップはステップＳ７０及びＳ８０の内の少なくとも一方を含む。前段側ステップがステップＳ７０であるとき、又は、前段側ステップがステップＳ６０及びＳ７０の双方を含むとき、後段側ステップはステップＳ８０である。
【０１３２】
［実施例ＥＸ２＿４］
実施例ＥＸ２＿４を説明する。実施例ＥＸ２＿４では、車両１に複数のＥＣＵ２が搭載されることを想定する。複数のＥＣＵ２は共通の構成を有するが、複数のＥＣＵ２に割り当てられた機能は複数のＥＣＵ２間で互いに異なる。
【０１３３】
複数のＥＣＵ２は、割り当てられた機能により複数の系統に分類される。複数の系統は、例えば、エンジン制御系統、走行制御系統、空調機制御系統及びオーディオ制御系統を含み、以下では、これらの４つの系統にのみ注目する。エンジン制御系統に属するＥＣＵ２は、自身が保持する制御プログラムの実行を通じて車両１のエンジンの制御を行う。走行制御系統に属するＥＣＵ２は、自身が保持する制御プログラムの実行を通じて車両１の走行制御（例えば加速、減速の制御）を行う。空調機制御系統に属するＥＣＵ２は、自身が保持する制御プログラムの実行を通じて車両１に設置された空調機の制御を行う。オーディオ制御系統に属するＥＣＵ２は、自身が保持する制御プログラムの実行を通じて車両１に設置されたオーディオ機器の制御を行う。
【０１３４】
正規の店舗Ａ［１］〜Ａ［ｎ］の夫々に対し、全ての系統のＥＣＵ２に対するリプログラミングの権限を与えておくことも可能であるが、複数の店舗間でリプログラミングの権限を互いに異ならせるようにしても良い。
【０１３５】
例えば、店舗Ａ［１］に対して全ての系統のＥＣＵ２に対するリプログラミングの権限を与えておく一方で、店舗Ａ［２］に対しては空調機制御系統及びオーディオ制御系統に属するＥＣＵ２のみに対してリプログラミングの権限を与えておくといったことが可能である。これを実現するべく、以下のようにすることができる。説明の簡略化上、店舗Ａ［１］及びＡ［２］にのみ注目する。
【０１３６】
テーブルデータＴＢＬ（図３参照）における各店舗組情報に権限情報を含めておく。図１４に示す如く、エンジン制御系統、走行制御系統、空調機制御系統及びオーディオ制御系統の何れかに属する全ＥＣＵ２においては、テーブルデータＴＢＬ中の店舗組情報Ｇ［１］に対して“１”の権限情報を含めておく。エンジン制御系統及び走行制御系統の何れかに属する全ＥＣＵ２においては、テーブルデータＴＢＬ中の店舗組情報Ｇ［２］に対して“０”の権限情報を含め、空調機制御系統及びオーディオ制御系統の何れかに属する全ＥＣＵ２においては、テーブルデータＴＢＬ中の店舗組情報Ｇ［２］に対して“１”の権限情報を含めておく。“１”の権限情報はリプログラミングの権限があることを意味し、“０”の権限情報はリプログラミングの権限がないことを意味する。
【０１３７】
図６及び図７のリプログラミング工程において、リプログラミングを実行する前の任意の段階で、ＥＣＵ２（例えばＲＯＭ制御部２５）は、ステップＳ１４にて取得された所在地情報ＰＣＲＴ又はステップＳ１６にてＰＣ４に入力されたユーザ名に基づき、ＰＣ４が存在する店舗を特定して、ＰＣ４が存在する店舗に対応付けられた権限情報に基づき、リプログラミングの実行又は非実行を決定する。
【０１３８】
即ち、エンジン制御系統に属するＥＣＵ２（例えばＲＯＭ制御部２５）は、ＰＣ４が存在する店舗が店舗Ａ［１］である場合には、店舗Ａ［１］に対応付けられた“１”の権限情報に基づきリプログラミングの権限があると判断し、上述のリプログラミング条件の充足を条件にリプログラミングを実行する。一方、エンジン制御系統に属するＥＣＵ２（例えばＲＯＭ制御部２５）は、ＰＣ４が存在する店舗が店舗Ａ［２］である場合には、店舗Ａ［２］に対応付けられた“０”の権限情報に基づきリプログラミングの権限がないと判断し、上述のリプログラミング条件の充足／非充足に関係なくリプログラミングを実行しない。走行制御系統に属するＥＣＵ２についても同様である。
【０１３９】
空調機制御系統に属するＥＣＵ２（例えばＲＯＭ制御部２５）は、ＰＣ４が存在する店舗が店舗Ａ［１］である場合には、店舗Ａ［１］に対応付けられた“１”の権限情報に基づきリプログラミングの権限があると判断し、上述のリプログラミング条件の充足を条件にリプログラミングを実行する。空調機制御系統に属するＥＣＵ２（例えばＲＯＭ制御部２５）は、ＰＣ４が存在する店舗が店舗Ａ［２］である場合にも、店舗Ａ［２］に対応付けられた“１”の権限情報に基づきリプログラミングの権限があると判断し、上述のリプログラミング条件の充足を条件にリプログラミングを実行する。オーディオ制御系統に属するＥＣＵ２についても同様である。
【０１４０】
本発明の実施形態は、特許請求の範囲に示された技術的思想の範囲内において、適宜、種々の変更が可能である。以上の実施形態は、あくまでも、本発明の実施形態の例であって、本発明ないし各構成要件の用語の意義は、以上の実施形態に記載されたものに制限されるものではない。上述の説明文中に示した具体的な数値は、単なる例示であって、当然の如く、それらを様々な数値に変更することができる。
【符号の説明】
【０１４１】
１  車両
２  ＥＣＵ（電子制御装置）
３  ＧＰＳ処理部
２４  プログラム実行部
２５  ＲＯＭ制御部（メモリ制御部）
２６  プログラムメモリ
【図１】
2020131769.tif 000003
【図２】
2020131769.tif 000004
【図３】
2020131769.tif 000005
【図４】
2020131769.tif 000006
【図５】
2020131769.tif 000007
【図６】
2020131769.tif 000008
【図７】
2020131769.tif 000009
【図８】
2020131769.tif 000010
【図９】
2020131769.tif 000011
【図１０】
2020131769.tif 000012
【図１１】
2020131769.tif 000013
【図１２】
2020131769.tif 000014
【図１３】
2020131769.tif 000015
【図１４】
2020131769.tif 000016