(57)【特許請求の範囲】
【請求項１】
書き換え装置（１０）から通信制御プログラムを含む書き換え対象プログラムを受信し、その受信した書き換え対象プログラムを電子制御装置（３，４）に送信すると共に、前記電子制御装置から照合結果を受信する中継装置（２）と、
通信制御プログラムを記憶する第１の記憶部（２２，２９）と、書き換え対象プログラムを記憶する第２の記憶部（２３，３０）と、書き換え対象プログラムが前記第２の記憶部に記憶される際に暗号化されて一旦記憶された署名を復号化し、その復号化した署名と、前記第２の記憶部に記憶されている書き換え対象プログラムから算出した署名とを照合する照合部（２４，３１）と、を有する電子制御装置と、を備え、
前記電子制御装置は、前記照合部の照合結果が成功であると、前記第２の記憶部に記憶されている書き換え対象プログラムを起動し、照合結果が成功である旨を示す照合結果応答信号を前記中継装置に送信し、前記照合部の照合結果が失敗であると、前記第１の記憶部に記憶されている通信制御プログラムを起動し、照合結果が失敗である旨を示す照合結果応答信号を前記中継装置に送信し、
前記中継装置は、照合結果要求信号を電子制御装置に送信した後に、照合結果が成功である旨を示す照合結果応答信号を前記電子制御装置から受信すると、その照合結果応答信号を送信した電子制御装置への書き換え対象プログラムの書き換えが正常に実施されたと特定し、照合結果が失敗である旨を示す照合結果応答信号を前記電子制御装置から受信すると、その照合結果応答信号を送信した電子制御装置への書き換え対象プログラムの書き換えが不正に実施されたと特定する車両用データ通信システム（１）。
【請求項２】
請求項１に記載した車両用データ通信システムにおいて、
前記中継装置は、不揮発性記憶部（１６）を備え、書き換え対象プログラムの書き換えが終了した電子制御装置を特定可能な装置情報を前記不揮発性記憶部に記憶する車両用データ通信システム。
【請求項３】
請求項１又は２に記載した車両用データ通信システムにおいて、
前記中継装置は、照合結果要求信号を前記電子制御装置に送信した時点から一定時間内に前記電子制御装置から照合結果応答信号を受信しないと、照合結果要求信号を前記電子制御装置に再度送信する車両用データ通信システム。
【請求項４】
請求項３に記載した車両用データ通信システムにおいて、
前記中継装置は、照合結果要求信号を前記電子制御装置に送信した回数の値が設定値を超えると、前記電子制御装置にハードウェア故障が発生したと特定する車両用データ通信システム。
【請求項５】
請求項１から４の何れか一項に記載した車両用データ通信システムにおいて、
前記中継装置は、書き換え対象プログラムの書き換えが不正に実施されたと特定すると、不正特定信号を書き換え対象プログラムの書き換えが不正に実施されたと特定した電子制御装置とは別の電子制御装置に送信する車両用データ通信システム。
【請求項６】
請求項１から５の何れか一項に記載した車両用データ通信システムにおいて、
表示情報を表示可能な表示装置（５）を備え、
前記中継装置は、書き換え対象プログラムの書き換えが不正に実施されたと特定すると、不正特定信号を前記表示装置に送信し、
前記表示装置は、前記中継装置から不正特定信号を受信すると、書き換え対象プログラムの書き換えが不正に実施された旨を示す表示情報を表示する車両用データ通信システム。
【請求項７】
請求項１から６の何れか一項に記載した車両用データ通信システムにおいて、
送信情報をサーバ（２４）に送信可能な通信装置（６）を備え、
前記中継装置は、書き換え対象プログラムの書き換えが不正に実施されたと特定すると、不正特定信号を前記通信装置に送信し、
前記通信装置は、前記中継装置から不正特定信号を受信すると、書き換え対象プログラムの書き換えが不正に実施された旨を示す送信情報を前記サーバに送信する車両用データ通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両用データ通信システムに関する。
【背景技術】
【０００２】
従来より、書き換え装置から書き換え対象プログラムを受信する中継装置と、中継装置から書き換え対象プログラムを受信して書き換える電子制御装置（以下、ＥＣＵと称する）とを備えた車両用データ通信システムが供されている。この種の車両用データ通信システムは、書き換え対象プログラムの書き換えが不正に実施される虞があるという事情から、書き換え対象プログラムの書き換えが正常に実施されたか否かを検出する必要がある。
【０００３】
書き換え対象プログラムの書き換えが正常に実施されたか否かを検出する方法として、例えば特許文献１に開示されている方法がある。特許文献１に開示されている方法では、複数のＥＣＵは、検証メッセージを同一のアルゴリズムにより生成してサーバに送信する。サーバは、複数のＥＣＵから受信した複数の検証メッセージの各々に格納されている値が異なるか、又は受信すべき検証メッセージを受信不可であると判定すると、書き換え対象プログラムの書き換えが不正に実施されたと特定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１３８３８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示されている方法では以下の問題がある。サーバでは、書き換え対象プログラムの書き換えが不正に実施された場合にＥＣＵから検証メッセージを受信不可となるが、ＥＣＵにハードウェア故障が発生した場合にも検証メッセージを受信不可となる。そのため、サーバでは、ＥＣＵから検証メッセージを受信不可となった場合に、書き換え対象プログラムの書き換えが不正に実施されたかハードウェア故障が発生したかを区分して特定することが困難である。又、サーバでは、複数の検証メッセージの各々に格納されている値が異なると、複数のＥＣＵのうち何れかで書き換え対象プログラムの書き換えが不正に実施されたと特定するに止まり、書き換え対象プログラムの書き換えが不正に実施されたＥＣＵを特定することが困難である。
【０００６】
本発明は、上記した事情に鑑みてなされたものであり、その目的は、書き換え対象プログラムの書き換えが不正に実施された電子制御装置を適切に特定することができる車両用データ通信システムを提供することにある。
【課題を解決するための手段】
【０００７】
請求項１に記載した発明によれば、電子制御装置（３，４）は、書き換え対象プログラムが第２の記憶部（２３，３０）に記憶される際に暗号化されて一旦記憶された署名を復号化し、その復号化した署名と、第２の記憶部に記憶されている書き換え対象プログラムから算出した署名とを照合する照合部（２４，３１）を有する。電子制御装置は、照合部の照合結果が成功であると、第２の記憶部に記憶されている書き換え対象プログラムを起動し、照合結果が成功である旨を示す照合結果応答信号を中継装置（２）に送信する。一方、電子制御装置は、照合部の照合結果が失敗であると、第１の記憶部（２２，２９）に記憶されている通信制御プログラムを起動し、照合結果が失敗である旨を示す照合結果応答信号を中継装置に送信する。
【０００８】
中継装置は、照合結果要求信号を電子制御装置に送信した後に、照合結果が成功である旨を示す照合結果応答信号を電子制御装置から受信すると、その照合結果応答信号を送信した電子制御装置への書き換え対象プログラムの書き換えが正常に実施されたと特定する。一方、中継装置は、照合結果が失敗である旨を示す照合結果応答信号を電子制御装置から受信すると、その照合結果応答信号を送信した電子制御装置への書き換え対象プログラムの書き換えが不正に実施されたと特定する。
【０００９】
即ち、電子制御装置は、書き換え対象プログラムの書き換えが失敗であると判定しても、通信制御プログラムを起動し、照合結果が失敗である旨を示す照合結果応答信号を中継装置に送信する。これに応じて、中継装置は、照合結果が失敗である旨を示す照合結果応答信号を電子制御装置から受信すると、その照合結果応答信号を送信した電子制御装置への書き換え対象プログラムの書き換えが不正に実施されたと特定する。これにより、中継装置は、照合結果が失敗である旨を示す照合結果応答信号を受信することで、書き換え対象プログラムの書き換えが不正に実施されたと特定することができる。一方、中継装置は、照合結果応答信号を受信しないことで、ハードウェア故障が発生したと特定することできる。中継装置は、このようにして書き換え対象プログラムの書き換えが不正に実施されたかハードウェア故障が発生したかを区別して特定することができる。しかも、中継装置は、書き換え対象プログラムの書き換えが不正に実施されたと特定すると、その書き換え対象プログラムの書き換えが不正に実施された電子制御装置を特定することができる。このようして書き換え対象プログラムの書き換えが不正に実施された電子制御装置を適切に特定することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態の全体構成を示す機能ブロック図
【図２】電子制御装置のマイコンの構成を示す機能ブロック図
【図３】シーケンス図
【図４】起動時の前処理を示すフローチャート
【図５】書き換え不正検出処理を示すフローチャート
【発明を実施するための形態】
【００１１】
以下、本発明の一実施形態について図面を参照して説明する。車両用データ通信システム１は、中継装置２と、複数の電子制御装置（以下、ＥＣＵと称する）３，４と、表示装置５と、通信装置６とを有する。中継装置２は、ゲートウェイとして機能するＥＣＵである。ＥＣＵ３，４は、車両制御として例えば燃料系統の制御や吸排気系統の制御等を行うＥＣＵである。表示装置５は、例えばナビゲーションシステムのディスプレイ装置により構成される。通信装置６は、例えばデータ通信ユニットにより構成される。中継装置２とＥＣＵ３，４とはバス７を介して接続されている。本実施形態では複数のＥＣＵとして第１のＥＣＵ３と第２のＥＣＵ４との２個のＥＣＵがバス７に接続されている構成を例示しているが、３個以上のＥＣＵがバス７に接続されている構成でも良い。中継装置２と表示装置５とはバス８を介して接続されている。中継装置２と通信装置６とはバス９を介して接続されている。バス７〜９は例えばＣＡＮで規定されている通信プロトコルによりデータ通信を行うバスである。又、中継装置２は、リプログツールとしての書き換え装置１０がバス１１を介して接続可能に構成されている。バス１１も例えばＣＡＮで規定されている通信プロトコルによりデータ通信を行うバスである。
【００１２】
中継装置２は、マイコン１２と、トランシーバ１３とを有する。マイコン１２は、ＣＰＵ１４と、ＲＯＭ１５と、不揮発性のＲＡＭ１６（不揮発性記憶部に相当する）と、フラッシュメモリ１７とを有し、それらが内部バス１８を介して相互接続されて構成されている。ＣＰＵ１４は、フラッシュメモリ１７に記憶されている制御プログラムを実行することで、中継装置２の動作を制御する。ＣＰＵ１４は、書き換え装置１０がバス１１を介して中継装置２に接続されている状態で、書き換え装置１０から書き換え対象プログラムを構成する書き換えデータがトランシーバ１３に受信されると、その受信された書き換えデータをトランシーバ１３からバス７を介してＥＣＵ３，４に送信させる。
【００１３】
第１のＥＣＵ３は、マイコン１９と、トランシーバ２０とを有する。マイコン１９は、図２にも示すように、ＣＰＵ２１と、ＲＯＭ２２（第１の記憶部に相当する）と、フラッシュメモリ２３（第２の記憶部に相当する）と、照合部２４とを有し、それらが内部バス２５を介して相互接続されて構成されている。ＲＯＭ２２は、データを書き換え不能な記憶素子であり、第１のＥＣＵ３を起動させる起動プログラムと、データ通信を制御する通信制御プログラムとを記憶している。フラッシュメモリ２３は、データを書き換え可能な記憶素子であり、第１のＥＣＵ３の動作を制御するアプリケーションプログラムを記憶すると共に、暗号化された署名を記憶可能となっている。アプリケーションプログラムには、データ通信を制御する通信制御プログラムが含まれる。ＣＰＵ２１は、ＲＯＭ２２に記憶されている起動プログラムを実行して第１のＥＣＵ３を起動し、その後、フラッシュメモリ２３に記憶されているアプリケーションプログラムを実行して第１のＥＣＵ３の動作を制御する。照合部２４は、署名を算出する署名算出部２４ａと、公開鍵を記憶している公開鍵記憶部２４ｂと、暗号化されている署名を公開鍵により復号化する復号部２４ｃとを有する。
【００１４】
第２のＥＣＵ４は、上記した第１のＥＣＵ３と同様の構成であり、マイコン２６と、トランシーバ２７とを有する。マイコン２６は、ＣＰＵ２８と、ＲＯＭ２９（第１の記憶部に相当する）と、フラッシュメモリ３０（第２の記憶部に相当する）と、照合部３１とを有し、それらが内部バス３２を介して相互接続されて構成されている。マイコン２６のＣＰＵ２８、ＲＯＭ２９、フラッシュメモリ３０、照合部３１、内部バス３２はそれぞれマイコン１９のＣＰＵ２１、ＲＯＭ２２、フラッシュメモリ２３、照合部２４、内部バス２５と同等である。トランシーバ２７はトランシーバ２０と同等である。
【００１５】
次に、上記した構成の作用について図３から図５を参照して説明する。ここでは、第１のＥＣＵ３に記憶されているアプリケーションプログラムを書き換える場合を説明する。この場合、アプリケーションプログラムを書き換える第１のＥＣＵ３が書き換え対象ＥＣＵであり、書き換え装置１０から中継装置２を経由して第１のＥＣＵ３に送信されるアプリケーションプログラムが書き換え対象プログラムである。
【００１６】
アプリケーションプログラムの書き換え作業を行う作業者が書き換え装置１０をバス１１を介して中継装置２に接続し、書き換え装置１０においてアプリケーションプログラムの書き換え操作を行うと、書き換え装置１０は、書き換え開始要求信号を中継装置２に送信する。中継装置２のマイコン１２において、ＣＰＵ１４は、書き換え装置１０から書き換え開始要求信号がトランシーバ１３に受信されると、その受信された書き換え開始要求信号をトランシーバ１３から第１のＥＣＵ３に送信させる。次いで、ＣＰＵ１４は、書き換え装置１０から書き換え対象プログラムを構成する書き換えデータのトランシーバ１３への受信を開始すると、その受信された書き換えデータのトランシーバ１３から第１のＥＣＵ３への送信を開始する。
【００１７】
第１のＥＣＵ３のマイコン１９において、ＣＰＵ２１は、中継装置２からの書き換えデータの受信を開始すると、その受信された書き換えデータのフラッシュメモリ２３への記憶を開始する。このとき、ＣＰＵ２１は、書き換え対象プログラムから秘密鍵が用いられて暗号化された署名をフラッシュメモリ２３に記憶させる。ＣＰＵ２１は、中継装置２から書き換えデータの受信を終了すると、書き換え対象プログラムの書き換えが終了した旨を示す書き換え終了通知信号をトランシーバ２０から中継装置２に送信させる。このとき、ＣＰＵ２１は、第１のＥＣＵ３を特定可能な装置情報を書き換え終了通知信号に格納してトランシーバ２０から中継装置２に送信させる。第１のＥＣＵ３を特定可能な装置情報は、例えば第１のＥＣＵ３に対して固有に付与されているＣＡＮＩＤ等である。
【００１８】
中継装置２のマイコン１２において、ＣＰＵ１４は、第１のＥＣＵ３から書き換え終了通知信号がトランシーバ１３に受信されると、その受信された書き換え終了通知信号に格納されている装置情報を抽出し、その抽出した装置情報をＲＡＭ１６に記憶する。次いで、ＣＰＵ１４は、書き換え終了通知信号をトランシーバ１３から書き換え装置１０に送信させる。
【００１９】
その後、例えば作業者が車両のイグニッションをオンからオフに切り換え、オフからオンに切り換えると、中継装置２及び第１のＥＣＵ３はそれぞれ電源オンから電源オフに切り換わり、電源オフから電源オンに切り換わり、再起動する。第１のＥＣＵ３は、再起動すると、図４に示す起動時の前処理を行う。中継装置２は、再起動すると、図５に示す書き換え不正検出処理を行う。以下、それぞれの処理について説明する。
【００２０】
（１）起動時の前処理
第１のＥＣＵ３のマイコン１９において、ＣＰＵ２１は、起動時の前処理を開始すると、フラッシュメモリ２３に記憶されている暗号化された署名を読み出し、その読み出した署名を公開鍵記憶部２４ｂに記憶されている公開鍵を用いて復号部２４ｃにより復号化する（Ａ１）。ＣＰＵ２１は、フラッシュメモリ２３に記憶されている書き換え対象プログラム（即ち書き換えられたアプリケーションプログラム）から署名算出部２４ａにより署名を算出する（Ａ２）。ＣＰＵ２１は、復号部２４ｃにより復号化した署名と、署名算出部２４ａにより算出した署名とを照合する（Ａ３）。
【００２１】
ＣＰＵ２１は、両者が一致し、照合に成功したと判定すると（Ａ４：ＹＥＳ）、書き換え対象プログラムを起動し（Ａ５）、中継装置２からの照合結果要求信号の受信を待機する。ＣＰＵ２１は、書き換え対象プログラムを起動した時点から一定時間内に中継装置２から照合結果要求信号がトランシーバ２０に受信されたか否かを判定する（Ａ６）。ＣＰＵ２１は、書き換え対象プログラムを起動した時点から一定時間内に照合結果要求信号が受信されたと判定すると（Ａ６：ＹＥＳ）、照合結果が成功である旨を示す照合結果応答信号をトランシーバ２０から中継装置２に送信させる（Ａ７）。そして、ＣＰＵ２１は、通常動作処理に移行する（Ａ８）。尚、ＣＰＵ２１は、書き換え対象プログラムを起動した時点から照合結果要求信号が受信されずに一定時間が経過したと判定すると（Ａ６：ＮＯ）、照合結果応答信号をトランシーバ２０から中継装置２に送信させることなく、通常動作処理に移行する（Ａ８）。
【００２２】
一方、ＣＰＵ２１は、両者が一致せず、照合に失敗したと判定すると（Ａ４：ＮＯ）、ＲＯＭ２２に記憶されている通信制御プログラムを起動し（Ａ９）、中継装置２からの照合結果要求信号の受信を待機する。ＣＰＵ２１は、通信制御プログラムを起動した時点から一定時間内に中継装置２から照合結果要求信号がトランシーバ２０に受信されたか否かを判定する（Ａ１０）。ＣＰＵ２１は、通信制御プログラムを起動した時点から一定時間内に照合結果要求信号が受信されたと判定すると（Ａ１０：ＹＥＳ）、照合結果が失敗である旨を示す照合結果応答信号をトランシーバ２０から中継装置２に送信させる（Ａ１１）。そして、ＣＰＵ２１は、マイコン１９をシャットダウンさせるシャットダウン処理に移行する（Ａ１２）。尚、ＣＰＵ２１は、書き換え対象プログラムを起動した時点から照合結果要求信号が受信されずに一定時間が経過したと判定すると（Ａ１０：ＮＯ）、照合結果応答信号をトランシーバ２０から中継装置２に送信させることなく、シャットダウン処理に移行する（Ａ１２）。
【００２３】
（２）書き換え不正検出処理
中継装置２のマイコン１２において、ＣＰＵ１４は、書き換え不正検出処理を開始すると、ＲＡＭ１６に記憶されている装置情報を読み出し、その書き換え対象プログラムの書き換えが実施されたＥＣＵを特定する（Ｂ１）。本実施形態では、ＣＰＵ１４は、書き換え対象プログラムの書き換えが実施されたＥＣＵとして第１のＥＣＵ３を特定する。ＣＰＵ１４は、送信回数カウンタのカウント値を「０」に設定して初期化し（Ｂ２）、照合結果要求信号をトランシーバ１３から当該特定した第１のＥＣＵ３に送信させ（Ｂ３）、第１のＥＣＵ３から照合結果応答信号の受信を待機する。ＣＰＵ１４は、照合結果要求信号を送信させた時点から一定時間内に中継装置２から照合結果応答信号がトランシーバ１３に受信されたか否かを判定する（Ｂ４）。
【００２４】
ＣＰＵ１４は、照合結果要求信号を送信させた時点から照合結果応答信号が受信されずに一定時間が経過したと判定すると（Ｂ４：ＮＯ）、送信回数カウンタのカウント値をインクリメントし（Ｂ５）、そのインクリメントしたカウント値が予め設定している設定値を超えたか否かを判定する（Ｂ６）。ＣＰＵ１４は、そのインクリメントしたカウント値が設定値を超えていないと判定すると（Ｂ６：ＮＯ）、ステップＢ３に戻り、ステップＢ３以降を繰り返して行い、照合結果要求信号をトランシーバ１３から当該特定した第１のＥＣＵ３に再度送信させる。一方、ＣＰＵ１４は、そのインクリメントしたカウント値が設定値を超えたと判定すると（Ｂ６：ＹＥＳ）、第１のＥＣＵ３にハードウェア故障が発生したと特定し（Ｂ７）、ＲＡＭ１６に記憶されている第１のＥＣＵ３の装置情報を削除し（Ｂ８）、書き換え不正検出処理を終了する。
【００２５】
又、ＣＰＵ１４は、照合結果要求信号を送信させた時点から一定時間内に照合結果応答信号が受信されたと判定すると（Ｂ４：ＹＥＳ）、照合結果が失敗である旨を示す照合結果応答信号であるか否かを判定する（Ｂ９）。ＣＰＵ１４は、照合結果が失敗である旨を示す照合結果応答信号でない、即ち、照合結果が成功である旨を示す照合結果応答信号であると判定すると（Ｂ９：ＮＯ）、書き換え対象プログラムの書き換えが正常に実施されたと特定し（Ｂ１０）、ＲＡＭ１６に記憶されている第１のＥＣＵ３の装置情報を削除し（Ｂ８）、書き換え不正検出処理を終了する。
【００２６】
一方、ＣＰＵ１４は、照合結果が失敗である旨を示す照合結果応答信号であると判定すると（Ｂ９：ＹＥＳ）、書き換え対象プログラムの書き換えが不正に実施されたと特定し（Ｂ１１）、書き換え対象プログラムの書き換えが不正に実施された旨を示す不正情報をＲＡＭ１６にログとして記憶し（Ｂ１２）、書き換え不正検出処理を終了する。
【００２７】
尚、ＣＰＵ１４は、このようにして書き換え対象プログラムの書き換えが不正に実施されたと特定すると、不正特定信号をトランシーバ１３から第２のＥＣＵ４、表示装置５、通信装置６に送信させる。第２のＥＣＵ４は、中継装置２から不正特定信号が受信されると、第１のＥＣＵ３への書き換え対象プログラムの書き換えが不正に実施されたと特定し、例えば第１のＥＣＵ３と連携する処理を中断する等のフェールセーフを実施する。表示装置５は、中継装置２から不正特定信号が受信されると、第１のＥＣＵ３への書き換え対象プログラムの書き換えが不正に実施された旨を示す表示情報を表示する。通信装置６は、中継装置２から不正特定信号が受信されると、第１のＥＣＵ３への書き換え対象プログラムの書き換えが不正に実施された旨を示す送信情報を例えば広域データ通信網を介してサーバ２４に送信する。
【００２８】
尚、以上は、第１のＥＣＵ３に記憶されているアプリケーションプログラムを書き換える場合を説明したが、第２のＥＣＵ４に記憶されているアプリケーションプログラムを書き換える場合も同様である。
【００２９】
以上説明したように本実施形態によれば、次に示す効果を得ることができる。
車両用データ通信システム１において、ＥＣＵ３，４は、書き換え対象プログラムの書き換えが失敗であると判定しても、ＲＯＭ２２に記憶されている通信制御プログラムを起動し、照合結果が失敗である旨を示す照合結果応答信号を中継装置２に送信する。中継装置２は、照合結果が失敗である旨を示す照合結果応答信号をＥＣＵ３，４から受信すると、その照合結果応答信号を送信したＥＣＵ３，４への書き換え対象プログラムの書き換えが不正に実施されたと特定する。これにより、中継装置２は、照合結果が失敗である旨を示す照合結果応答信号を受信することで、書き換え対象プログラムの書き換えが不正に実施されたと特定することができる。一方、中継装置２は、照合結果応答信号を受信しないことで、ハードウェア故障が発生したと特定することができる。中継装置２は、このようにして書き換え対象プログラムの書き換えが不正に実施されたかハードウェア故障が発生したかを区別して特定することができる。しかも、中継装置２は、書き換え対象プログラムの書き換えが不正に実施されたと特定すると、その書き換え対象プログラムの書き換えが不正に実施されたＥＣＵ３，４を特定することができる。
【００３０】
又、中継装置２は、書き換え対象プログラムの書き換えが終了したＥＣＵ３，４を特定可能な装置情報を不揮発性のＲＡＭ１６に記憶する。これにより、中継装置２は、再起動した場合でも、その不揮発性のＲＡＭ１６に記憶されている装置情報を取得することで、照合結果要求信号を当該装置情報により特定されるＥＣＵ３，４に送信することができる。
【００３１】
又、中継装置２は、照合結果要求信号をＥＣＵ３，４に送信した時点から一定時間内にＥＣＵ３，４から照合結果応答信号を受信しないと、照合結果要求信号をＥＣＵ３，４に再度送信する。これにより、照合結果応答信号をＥＣＵ３，４から受信する機会を高めることができ、書き換え対象プログラムの書き換えが不正に実施されたかハードウェア故障が発生したかをより確実に区別して特定することができ、精度を高めることができる。
【００３２】
又、中継装置２は、書き換え対象プログラムの書き換えが不正に実施されたと特定すると、不正特定信号を書き換え対象プログラムの書き換えが不正に実施されたと特定したＥＣＵ３，４とは別のＥＣＵ３，４に送信する。別のＥＣＵ３，４は、中継装置２から不正特定信号が受信されると、ＥＣＵ３，４への書き換え対象プログラムの書き換えが不正に実施された旨を特定し、例えば書き換え対象プログラムの書き換えが不正に実施されたＥＣＵ３，４と連携する処理を中断する等のフェールセーフを実施する。これにより、書き換え対象プログラムの書き換えが不正に実施されたことによる影響を抑えることができ、安全性を高めることができる。
【００３３】
又、中継装置２は、書き換え対象プログラムの書き換えが不正に実施されたと特定すると、不正特定信号を表示装置５に送信する。表示装置５は、中継装置２から不正特定信号が受信されると、第１のＥＣＵ３，４への書き換え対象プログラムの書き換えが不正に実施された旨を示す表示情報を表示する。これにより、書き換えが不正に実施された状況を運転者等に知らせることができる。
【００３４】
又、中継装置２は、書き換え対象プログラムの書き換えが不正に実施されたと特定すると、不正特定信号を通信装置６に送信する。通信装置６は、中継装置２から不正特定信号が受信されると、第１のＥＣＵ３，４への書き換え対象プログラムの書き換えが不正に実施された旨を示す送信情報を例えば広域データ通信網を介してサーバ２４に送信する。これにより、サーバ２４は、送信情報が受信されることで、書き換え対象プログラムの書き換えが不正に実施された状況を集約して管理することができる。サーバ２４が例えば車両メーカが管理するサーバであれば、不正な書き換えの状況を車両メーカが調査する等して適切な措置を講じることができる。
【００３５】
本発明は、上記した実施形態で例示したものに限定されることなく、その範囲を逸脱しない範囲で任意に変形又は拡張することができる。
本実施形態では、第１のＥＣＵ３が再起動することで起動時の前処理を行い、中継装置２が再起動することで書き換え不正検出処理を行う構成を例示したが、第１のＥＣＵ３が任意のタイミングで起動時の前処理を行っても良く、中継装置２が任意のタイミングで書き換え不正検出処理を行っても良い。例えば第１のＥＣＵ３及び中継装置２が再起動しなくとも、第１のＥＣＵ３が書き換え終了通知信号を送信した時点から一定時間が経過した後に起動時の前処理を行っても良く、中継装置２が書き換え終了通知信号を受信した時点から一定時間が経過した後に書き換え不正検出処理を行っても良い。
不正特定信号を別のＥＣＵ３，４や表示装置５や通信装置６に送信する構成を省いても良い。
【符号の説明】
【００３６】
図面中、１は車両用データ通信システム、２は中継装置、３，４は電子制御装置、１０は書き換え装置、１６はＲＡＭ（不揮発性記憶部）、２２，２９はＲＯＭ（第１の記憶部）、２３，３０はフラッシュメモリ（第２の記憶部）、２４，３１は照合部である。
【図１】
0006508067.tif 000002
【図２】
0006508067.tif 000003
【図３】
0006508067.tif 000004
【図４】
0006508067.tif 000005
【図５】
0006508067.tif 000006