(57)【要約】【課題】制御ユニットのソフトウェアの不正書き換えを防止する効果を高める。【解決手段】エンジンＥＣＵと車両統合ＥＣＵとが通信線で接続された車載通信システムにて、その２つのＥＣＵには同じ接続確認用データが記憶されている。そしてエンジンＥＣＵは、通信線に接続された書換ツールからの書換開始通知を受けると、該書換ツールと所定の通信を行う処理を含む処理（Ｓ１１０，Ｓ１８０等）を行った後、フラッシュメモリ内の制御ソフトを書換ツールからの制御ソフトに書き換える書換処理（Ｓ２００）を行うが、その書換処理を開始するまでの間に、車両統合ＥＣＵから接続確認用データを取得し、そのデータと当該エンジンＥＣＵの接続確認用データとが一致しているか否かを判定する処理（Ｓ１２０，Ｓ１５０，Ｓ１７０，Ｓ１９０）を行い、一致していると判定されなければ書換処理を禁止する。よってエンジンＥＣＵを単体にしての不正書き換えを防止できる。【選択図】図７
2012234437.tif 000002
【特許請求の範囲】
【請求項１】
記憶内容が書き換え可能な不揮発性メモリに記憶されているソフトウェアに従って制御対象を制御する第１の制御ユニットと、該第１の制御ユニットとは別の第２の制御ユニットとの、少なくとも２つの制御ユニットが、車両に設けられている通信線を介して通信可能に接続され、
前記通信線には、少なくとも前記第１の制御ユニットの前記不揮発性メモリに記憶されているソフトウェアを書き換えるための外部装置である書換ツールが、着脱可能になっている車載通信システムであって、
前記第１の制御ユニットと前記第２の制御ユニットとの各々は、互いに特定の関係を有する接続確認用データが記憶されたデータ記憶手段を備えており、
前記第１の制御ユニットは、前記書換ツールからの書換開始通知を受けると、該書換ツールとの間で所定の書換許可用通信を行う処理を含む書換許可用処理を行い、該書換許可用処理が完了した後に、前記不揮発性メモリ内のソフトウェアを前記書換ツールから送信されてくるソフトウェアに書き換える書換処理を行うようになっており、
更に、前記第１の制御ユニットは、
前記書換開始通知を受けてから前記書換処理が開始されるまでの間に、前記第２の制御ユニットと通信して、該第２の制御ユニットの前記データ記憶手段に記憶されている接続確認用データを取得し、その第２の制御ユニットから取得した接続確認用データである他ユニット接続確認用データと、当該第１の制御ユニットの前記データ記憶手段に記憶されている接続確認用データである自ユニット接続確認用データとが、前記特定の関係を有しているか否かを判定する判定手段と、
前記判定手段が動作したにも拘わらず、該判定手段により前記他ユニット接続確認用データと前記自ユニット接続確認用データとが前記特定の関係を有していると判定されない場合には、当該第１の制御ユニットにおいて前記書換処理が行われるのを禁止する書換禁止手段と、を備えていること、
を特徴とする車載通信システム。
【請求項２】
請求項１に記載の車載通信システムにおいて、
前記書換許可用処理は、所定の順序で行われる複数の処理からなり、
前記判定手段は、前記書換許可用処理をなす複数の各処理が終了する毎に動作すること、
を特徴とする車載通信システム。
【請求項３】
請求項１又は請求項２に記載の車載通信システムにおいて、
前記第１の制御ユニットは、
前記書換開始通知を受けると、当該第１の制御ユニットの前記データ記憶手段に記憶されている接続確認用データを前記書換ツールへ送信し、前記書換処理が終了した後に、前記書換ツールから送信されて来る新たな接続確認用データを、当該第１の制御ユニットの前記データ記憶手段に更新記憶するようになっており、
前記書換ツールは、
前記第１の制御ユニットから送信されてきた接続確認用データを、所定のロジックで更新すると共に、その更新した接続確認用データを、前記第１の制御ユニットにて前記書換処理が終了した後に、前記新たな接続確認用データとして前記第１の制御ユニットへ送信するようになっており、
前記第２の制御ユニットは、
前記第１の制御ユニットにて前記書換処理が終了した後に、当該第２の制御ユニットの前記データ記憶手段に記憶されている接続確認用データを、前記新たな接続確認用データと前記特定の関係を有するデータに更新すること、
を特徴とする車載通信システム。
【請求項４】
請求項３に記載の車載通信システムにおいて、
前記第１の制御ユニットの前記判定手段は、当該第１の制御ユニットが前記制御対象を制御する通常制御期間中においても動作すること、
を特徴とする車載通信システム。
【請求項５】
請求項４に記載の車載通信システムにおいて、
前記第１の制御ユニットは、
前記通常制御期間中において、前記判定手段により前記他ユニット接続確認用データと前記自ユニット接続確認用データとが前記特定の関係を有していないと判定された場合に、当該第１の制御ユニットから前記制御対象を制御するための所定の信号が出力されるのを禁止する出力禁止手段を備えていること、
を特徴とする車載通信システム。
【請求項６】
請求項１ないし請求項５の何れか１項に記載の車載通信システムにおいて、
前記第２の制御ユニットは、
前記通信線へ前記書換開始通知が出力されたことを検知すると、前記書換ツールと前記第１の制御ユニットとの間の通信内容を監視して、その通信内容が前記書換許可用通信とは異なるものであるか否かを判定すること、
を特徴とする車載通信システム。
【請求項７】
請求項６に記載の車載通信システムにおいて、
前記第２の制御ユニットは、
前記書換ツールと前記第１の制御ユニットとの間の通信内容が前記書換許可用通信とは異なるものであると判定した場合には、前記書換ツールと前記第１の制御ユニットとの間の通信を妨害するための通信妨害用データを、前記通信線に出力すること、
を特徴とする車載通信システム。
【請求項８】
請求項７に記載の車載通信システムにおいて、
前記通信妨害用データは、前記書換ツールと前記第１の制御ユニットとの間の通信で使用される通信データよりも優先度が高い通信データであること、
を特徴とする車載通信システム。
【請求項９】
記憶内容が書き換え可能な不揮発性メモリに記憶されているソフトウェアに従って制御対象を制御すると共に、車両に設けられている通信線を介して他のユニットと通信可能に接続され、
更に、前記通信線に着脱可能な外部装置である書換ツールからの書換開始通知を受けると、該書換ツールとの間で所定の書換許可用通信を行う処理を含む書換許可用処理を行い、該書換許可用処理が完了した後に、前記不揮発性メモリ内のソフトウェアを前記書換ツールから送信されてくるソフトウェアに書き換える書換処理を行う制御ユニットにおいて、
前記他のユニットに記憶されている接続確認用データと特定の関係を有する接続確認用データが記憶されたデータ記憶手段と、
前記書換開始通知を受けてから前記書換処理が開始されるまでの間に、前記他のユニットと通信して、該他のユニットに記憶されている接続確認用データを取得し、その取得した接続確認用データである他ユニット接続確認用データと、当該制御ユニットの前記データ記憶手段に記憶されている接続確認用データである自ユニット接続確認用データとが、前記特定の関係を有しているか否かを判定する判定手段と、
前記判定手段が動作したにも拘わらず、該判定手段により前記他ユニット接続確認用データと前記自ユニット接続確認用データとが前記特定の関係を有していると判定されない場合には、当該制御ユニットにおいて前記書換処理が行われるのを禁止する書換禁止手段と、
を備えていることを特徴とする制御ユニット。
【請求項１０】
請求項９に記載の制御ユニットにおいて、
前記書換許可用処理は、所定の順序で行われる複数の処理からなり、
前記判定手段は、前記書換許可用処理をなす複数の各処理が終了する毎に動作すること、
を特徴とする制御ユニット。
【請求項１１】
請求項９又は請求項１０に記載の制御ユニットにおいて、
前記書換開始通知を受けると、前記データ記憶手段に記憶されている接続確認用データを前記書換ツールへ送信し、前記書換処理が終了した後に、前記書換ツールから送信されて来る新たな接続確認用データを、前記データ記憶手段に更新記憶すること、
を特徴とする制御ユニット。
【請求項１２】
請求項１１に記載の制御ユニットにおいて、
前記判定手段は、当該制御ユニットが前記制御対象を制御する通常制御期間中においても動作すること、
を特徴とする制御ユニット。
【請求項１３】
請求項１２に記載の制御ユニットにおいて、
前記通常制御期間中において、前記判定手段により前記他ユニット接続確認用データと前記自ユニット接続確認用データとが前記特定の関係を有していないと判定された場合に、当該制御ユニットから前記制御対象を制御するための所定の信号が出力されるのを禁止する出力禁止手段を備えていること、
を特徴とする制御ユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載される制御ユニットのソフトウェアが不正に書き換えられることを防止する技術に関する。
【背景技術】
【０００２】
車両（自動車）においては、複数の制御ユニットが通信線を介して通信する車載通信システムが採用されている。
そして、車載通信システムの構成要素となる制御ユニット（車載制御ユニット）としては、電気的に記憶内容の書き換えが可能なＥＥＰＲＯＭやフラッシュメモリ等の不揮発性メモリ（以下、書換可能不揮発性メモリともいう）に、制御対象を制御するための制御プログラム及び制御データからなるソフトウェア（以下、制御ソフトともいう）を格納しておき、その不発性メモリ内の制御ソフトを、市場への供給後でも当該制御ユニットの外部から書き換えることができるようにしたもの（いわゆるオンボード書き換えが可能なもの）がある。
【０００３】
即ち、この種の制御ユニットは、通常時には、当該制御ユニットに搭載されているマイコンが書換可能不揮発性メモリ内の制御ソフトを実行（詳しくは、制御ソフトのうちの制御プログラムを実行）することで、その制御ソフトに従い制御対象を制御する。一方、制御ユニットは、制御ソフトを書き換えるための外部装置である書換ツールが車載通信システムの通信線に接続されると共に、その書換ツールから書換開始通知が送信されてくると、その書換ツールとの間で予め定められた手順及び内容の書換許可用通信（制御ソフトの書き換えを実施して良いか否かを判断するための通信）を行い、その通信が正常に終了したならば、書換可能不揮発性メモリ内の制御ソフトを書換ツールから送信されてくる新たな制御ソフトに書き換える書換処理を行う。尚、書換ツールとの通信のための処理や書換処理など、制御ユニットが行う処理は、実際には制御ユニットのマイコンによって行われる。
【０００４】
また、特許文献１には、制御ユニットの書換可能不揮発性メモリに記憶されている制御ソフトが、その制御ユニットと互換性がないソフトウェアに書き換えられてしまうことを防止する技術が記載されている。具体的には、制御ユニットに識別番号を記憶させておくと共に、書換ツールに装着されるデータカードであって、新たな制御ソフトを記憶するデータカードに、その新たな制御ソフトに適合する制御ユニットの識別番号を示す情報を記憶させておき、制御ユニットは、書換ツールから通信により上記情報を取得して、その情報と自身の識別番号とが一致していなければ制御ソフトの書き換えを禁止する、という技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−１４１３９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、オンボード書き換えが可能な制御ユニットによれば、市場への供給後に制御内容を変更したい場合に、制御ソフトを書き換えることで容易に対応することができる反面、何者かによって制御ソフトが不正に書き換えられる（即ち、正規の書換ツールを用いることなく書き換えられる）可能性もある。
【０００７】
そして、制御ソフトの不正書き換えを防止する手法としては、例えば特許文献１の技術を流用することが考えられる。つまり、制御ユニットは書換ツールから取得する識別番号と自身の識別番号とを照合して両方の識別番号が一致していなければ書換処理の実行を禁止する、という構成を採ることが考えられる。尚、一般に、このような照合の思想は、上記書換許可用通信に適用されている。
【０００８】
しかしながら、制御ソフトを不正に書き換えようとする者（以下、不正行為者という）が、制御ユニットと書換ツールとの間で行われる書換許可用通信の手順及び内容を解析して、正規の書換ツールと同じように機能する装置を作成してしまう可能性もゼロではない。
【０００９】
但し、そのような解析の作業は、車両から制御ユニットを取り外し、単体状態となった制御ユニットの通信用端子に計測機器を接続して実施されることが予想される。制御ユニットが車両に搭載された状態であって他の車載制御ユニットと通信可能な状態においては、ただでさえ作業性が悪い上に、書換ツールとの通信内容を解析しようとする際の推定要素が増えるため、その解析が格段に難しくなると考えられるからである。
【００１０】
本発明は、このような点に着目しており、制御ユニットのソフトウェアが不正に書き換えられることの防止効果が高い車載通信システムと、その車載通信システムを構成する制御ユニットとを、提供することを目的としている。
【課題を解決するための手段】
【００１１】
請求項１の車載通信システムでは、記憶内容が書き換え可能な不揮発性メモリ（書換可能不揮発性メモリ）に記憶されているソフトウェアに従って制御対象を制御する第１の制御ユニットと、該第１の制御ユニットとは別の第２の制御ユニットとの、少なくとも２つの制御ユニットが、車両に設けられている通信線を介して通信可能に接続されている。また、通信線には、少なくとも第１の制御ユニットの不揮発性メモリに記憶されているソフトウェアを書き換えるための外部装置である書換ツールが、着脱可能になっている。
【００１２】
そして、この車載通信システムにおいて、第１の制御ユニットと第２の制御ユニットとの各々は、互いに特定の関係を有する接続確認用データが記憶されたデータ記憶手段を備えている。
【００１３】
また、第１の制御ユニットは、書換ツールからの書換開始通知を受けると、該書換ツールとの間で所定の書換許可用通信を行う処理を含む書換許可用処理を行い、該書換許可用処理が完了した後に、不揮発性メモリ内のソフトウェアを書換ツールから送信されてくるソフトウェアに書き換える書換処理を行うようになっている。
【００１４】
そして更に、第１の制御ユニットは、判定手段と書換禁止手段とを備えている。
それらのうち、判定手段は、当該第１の制御ユニットが書換開始通知を受けてから書換処理が開始されるまでの間に、第２の制御ユニットと通信して、該第２の制御ユニットのデータ記憶手段に記憶されている接続確認用データを取得し、その第２の制御ユニットから取得した接続確認用データである他ユニット接続確認用データと、当該第１の制御ユニットのデータ記憶手段に記憶されている接続確認用データである自ユニット接続確認用データとが、前記特定の関係を有しているか否かを判定する。
【００１５】
そして、書換禁止手段は、判定手段が動作したにも拘わらず、該判定手段により他ユニット接続確認用データと自ユニット接続確認用データとが前記特定の関係を有していると判定されない場合には、当該第１の制御ユニットにおいて書換処理が行われるのを禁止する。
【００１６】
尚、特許請求の範囲において、ソフトウェアとは、制御対象を制御するための制御プログラムに限らず、その制御プログラムの処理によって参照される制御データのことも含んでいる。そして、書換処理によって書き換えられる不揮発性メモリ内のソフトウェアとしては、制御プログラムと制御データとの一方であっても良いし、両方であっても良く、また、制御プログラムの一部又は制御データの一部でも良い。
【００１７】
このような請求項１の車載通信システムによれば、第１の制御ユニットが上記判定手段及び書換禁止手段を備えているため、その第１の制御ユニットのソフトウェア（不揮発メモリ内のソフトウェア）は、該第１の制御ユニットが他の第２の制御ユニットと共に車両の通信線に接続されている状態、即ち、車両に搭載されている状態でしか書き換えることができない。その状態でないと、判定手段が動作しても、該判定手段は、第２の制御ユニットから接続確認用データ（他ユニット接続確認用データ）を取得することができないため、他ユニット接続確認用データと自ユニット接続確認用データとが特定の関係を有していると判定せず、書換処理が禁止されるからである。
【００１８】
このため、第１の制御ユニットのソフトウェアを不正に書き換えようとする不正行為者が、その第１の制御ユニットを車両から取り外し、単体状態となった制御ユニットの通信用端子（通信線と接続される端子）に、試行錯誤しながら信号を与えることで、ソフトウェアを書き換えようとしても、そのような不正な書き換えを防止することができる。
【００１９】
また仮に、第１の制御ユニットが車両に搭載されている状態で、不正行為者が、その第１の制御ユニットのソフトウェアを書き換えようとしても、第１の制御ユニットは、書換ツールだけでなく第２の制御ユニットとも通信することで、書換処理を行う状態に移行するため、その移行条件の全てを不正行為者が見つけ出すのは非常に困難になると考えられる。
【００２０】
以上のことから、請求項１の車載通信システムによれば、制御ユニット（第１の制御ユニット）のソフトウェアが不正に書き換えられることの防止効果を高めることができる。
次に、請求項２の車載通信システムでは、請求項１の車載通信システムにおいて、前記書換許可用処理は、所定の順序で行われる複数の処理からなり、判定手段は、その書換許可用処理をなす複数の各処理が終了する毎に動作する。
【００２１】
この構成によれば、第１の制御ユニットが書換開始通知を受けてから書換処理を開始するまでの間に、第１の制御ユニットにおいては、判定手段が複数回動作することとなり、そのため、第２の制御ユニットとの接続確認（接続確認用データを用いた認証）が複数回行われることとなる。よって、第１の制御ユニットのソフトウェアが不正に書き換えられることの防止効果を一層高めることができる。
【００２２】
例えば、不正行為者が、車両に第１の制御ユニットが搭載されている状態で、その第１の制御ユニットのソフトウェアを書き換えようとし始め、試行錯誤している途中で、第１の制御ユニット又は第２の制御ユニットを車両の通信線から外したとしても、その後に判定手段が動作することで、書換禁止手段により第１の制御ユニットのソフトウェアを書換不能とすることができる。
【００２３】
次に、請求項３の車載通信システムでは、請求項１，２の車載通信システムにおいて、第１の制御ユニットは、書換ツールからの書換開始通知を受けると、当該第１の制御ユニットのデータ記憶手段に記憶されている接続確認用データを書換ツールへ送信し、前記書換処理が終了した後に、書換ツールから送信されて来る新たな接続確認用データを、当該第１の制御ユニットのデータ記憶手段に更新記憶するようになっている。
【００２４】
そして、書換ツールは、第１の制御ユニットから送信されてきた接続確認用データを、所定のロジックで更新すると共に、その更新した接続確認用データを、第１の制御ユニットにて前記書換処理が終了した後に、前記新たな接続確認用データとして第１の制御ユニットへ送信するようになっている。
【００２５】
更に、第２の制御ユニットは、第１の制御ユニットにて前記書換処理が終了した後に、当該第２の制御ユニットのデータ記憶手段に記憶されている接続確認用データを、前記新たな接続確認用データと前記特定の関係を有するデータに更新するようになっている。
【００２６】
つまり、第１の制御ユニットで記憶される接続確認用データは、書換ツールによって更新し、第２の制御ユニットで記憶される接続確認用データは、第２の制御ユニット自身によって更新するようになっている。
【００２７】
このような請求項３の車載通信システムによれば、万一、第１及び第２の制御ユニットが車両の通信線に接続されている状態で、第１の制御ユニットのソフトウェアが正規の書換ツールではない外部装置（以下、非正規外部装置という）によって不正に書き換えられたとしても、第１の制御ユニットで記憶される接続確認用データは、正しく更新されることがなく、第２の制御ユニットで記憶される更新後の接続確認用データとは特定の関係を有さないものとなる。よって、第１及び第２の制御ユニットが車両の通信線に接続されている状態で、不正行為者が、再び第１の制御ユニットのソフトウェアを書き換えようとしても、判定手段は、他ユニット接続確認用データと自ユニット接続確認用データとが特定の関係を有していないと判定することとなり、そのような２回目以降の不正書き換えを阻止することができる。
【００２８】
次に、請求項４の車載通信システムでは、請求項３の車載通信システムにおいて、第１の制御ユニットの判定手段は、当該第１の制御ユニットが制御対象を制御する通常制御期間中においても動作するようになっている。
【００２９】
そして、この構成によれば、万一、第１の制御ユニットのソフトウェアが非正規外部装置によって不正に書き換えられたとしても、その後、第１の制御ユニットが起動されて通常制御期間中に判定手段が動作すれば、判定手段は、他ユニット接続確認用データと自ユニット接続確認用データとが特定の関係を有していないと判定することとなる。
【００３０】
よって、その通常制御期間中に動作する判定手段により、ソフトウェアの不正書き換えがあったことを検知することができる。そして、ソフトウェアの不正書き換えを検知した場合には、何等かの対策処理を行うことができるようになる。
【００３１】
その対策処理としては、例えば、ソフトウェアの不正書き換えがあったことを示す履歴を記憶する処理や、警告灯を点灯させる処理が考えられる。それらの処理は、カーディーラにおける車両整備者等にソフトウェアの不正書き換えがあったことを知らせるための処理である。また、他の対策処理として、請求項５に記載のような処理を行うように構成しても良い。
【００３２】
即ち、請求項５の車載通信システムでは、請求項４の車載通信システムにおいて、第１の制御ユニットは、出力禁止手段を備えている。そして、その出力禁止手段は、通常制御期間中において、判定手段により他ユニット接続確認用データと自ユニット接続確認用データとが特定の関係を有していないと判定された場合に、当該第１の制御ユニットから制御対象を制御するための所定の信号が出力されるのを禁止する。
【００３３】
この構成によれば、第１の制御ユニットは、ソフトウェアが不正に書き換えられると、制御対象を制御するための信号を出力しなくなるため、実質的に機能しなくなる。
このため、ソフトウェアを不正に書き換えること自体が意味をなさなくなり、その結果、ソフトウェアの不正書き換え防止効果を更に高めることができる。
【００３４】
次に、請求項６の車載通信システムでは、請求項１〜５の車載通信システムにおいて、第２の制御ユニットは、前記通信線へ書換開始通知が出力されたことを検知すると、書換ツールと第１の制御ユニットとの間の通信内容を監視して、その通信内容が前記書換許可用通信とは異なるものであるか否かを判定する。
【００３５】
この構成によれば、第１及び第２の制御ユニットが車両の通信線に接続されている状態で、不正行為者が、第１の制御ユニットのソフトウェアを非正規外部装置によって不正に書き換えようとした場合に、そのことを第２の制御ユニットが検知して何等かの対策処理を行うことができるようになる。非正規外部装置が用いられた場合、第１の制御ユニットとの正しい書換許可用通信が最初から完全に実現されるとは考えられないからである。
【００３６】
尚、第２の制御ユニットが行う対策処理としては、例えば、第１の制御ユニットのソフトウェアが不正に書き換えられようとしたことを示す履歴を記憶する処理や、警告灯を点灯させる処理が考えられる。それらの処理は、カーディーラにおける整備者等に対して、第１の制御ユニットのソフトウェアが不正に書き換えられた可能性があることを知らせるための処理である。また、第２の制御ユニットは、請求項７に記載のような対策処理を行うように構成しても良い。
【００３７】
即ち、請求項７の車載通信システムでは、請求項６の車載通信システムにおいて、第２の制御ユニットは、書換ツールと第１の制御ユニットとの間の通信内容が前記書換許可用通信とは異なるものであると判定した場合には、書換ツールと第１の制御ユニットとの間の通信を妨害するための通信妨害用データを、通信線に出力する。尚、この場合、第１の制御ユニットと通信しようとしている書換ツールは、実際には、非正規外部装置であるということになる。
【００３８】
そして、このように構成すれば、第１の制御ユニットのソフトウェアが実際に書き換えられてしまうことの防止効果を一層高めることができる。不正行為者の立場から見ると、非正規外部装置から第１の制御ユニットへ試行錯誤して種々の信号を送信しようとしても、その不正な通信自体が妨害されて、ソフトウェアの書き換えに至ることができなくなるからである。また、もし不正行為者が、第２の制御ユニットから通信妨害用データが出ていることに気付いて、その第２の制御ユニットを通信線から外したならば、第１の制御ユニットにおいては、前述した判定手段及び書換禁止手段の機能により、書換処理の実施が禁止されるため、やはりソフトウェアの不正書き換えを阻止することができる。
【００３９】
尚、請求項８に記載のように、通信妨害用データとしては、書換ツールと第１の制御ユニットとの間の通信で使用される通信データよりも優先度が高い通信データであれば良い。また、その通信妨害用データは、可能な限り短い周期で送信することが好ましい。通信妨害用データが通信線を占有する時間が長くなるため、通信妨害効果を大きくすることができるからである。
【００４０】
また、第２の制御ユニットは、通信妨害用データを一定時間だけ送信するように構成することもできるが、書換ツールと第１の制御ユニットとの間の通信内容が書換許可用通信とは異なるものであると一旦判定したなら、動作用電源が遮断されて動作を停止するまで、通信妨害用データを送信し続けるように構成することもできる。そして、後者の方が、通信妨害効果が高く好ましいと言える。
【００４１】
一方、請求項９の制御ユニットによれば、請求項１の車載通信システムにおける第１の制御ユニットとして使用することでき、請求項１０の制御ユニットによれば、請求項２の車載通信システムにおける第１の制御ユニットとして使用することでき、請求項１１の制御ユニットによれば、請求項３の車載通信システムにおける第１の制御ユニットとして使用することできる。そして、請求項１２の制御ユニットによれば、請求項４の車載通信システムにおける第１の制御ユニットとして使用することでき、請求項１３の制御ユニットによれば、請求項５の車載通信システムにおける第１の制御ユニットとして使用することできる。
【図面の簡単な説明】
【００４２】
【図１】実施形態の車載通信システムを表す構成図である。
【図２】エンジンＥＣＵで実行される書換開始通知応答処理を表すフローチャートである。
【図３】エンジンＥＣＵで実行される通常モード時処理を表すフローチャートである。
【図４】書換ツールで実行される制御ソフト書換用処理を表すフローチャートである。
【図５】車両統合ＥＣＵで実行される接続確認応答処理を表すフローチャートである。
【図６】車両統合ＥＣＵで実行される書換シーケンス監視処理を表すフローチャートである。
【図７】エンジンＥＣＵと車両統合ＥＣＵと書換ツールとの動作の相互関係を表す説明図である。
【発明を実施するための形態】
【００４３】
以下に、本発明が適用された実施形態の車載通信システムについて説明する。
図１に示すように、本実施形態の車載通信システム１は、車両のエンジンを制御する電子制御ユニット（以下、エンジンＥＣＵという）１１と、車両の走行状態に応じたエンジンの目標出力や自動変速機の目標変速状態など、車両の動力に関する目標の制御状態を決定する電子制御ユニット（以下、車両統合ＥＣＵという）１２と、車両の上記自動変速機を制御する電子制御ユニット（以下、トランスミッションＥＣＵという）１３と、車両盗難を防止するためのイモビライザ制御を行う電子制御ユニット（以下、イモビライザＥＣＵという）１４と、車両のメータを制御する電子制御ユニット（以下、メータＥＣＵという）１５と、を備えている。そして、各ＥＣＵ１１〜１５は、車両に配設されている通信線１７を介して互いにデータ通信可能に接続されている。
【００４４】
また、通信線１７には、外部装置（車両外部の装置）を当該通信線１７に着脱可能とするためのコネクタ１８が設けられている。そして、そのコネクタ１８には、ＥＣＵ１１〜１５のうちの何れかの制御ソフト（制御プログラム及び制御データからなるソフトウェア）を書き換える際に、制御ソフト書き換え用の外部装置である書換ツール１９が取り付けられる。
【００４５】
尚、本実施形態では、ＥＣＵ１１〜１５のうち、エンジンＥＣＵ１１だけが制御ソフトのオンボード書き換えが可能となっているものとして説明する。このため、書換ツール１９は、エンジンＥＣＵ１１の制御ソフトを書き換える場合に、コネクタ１８を介して通信線１７に接続される。
【００４６】
ここで、エンジンＥＣＵ１１は、処理動作の中枢部であるマイコン２１と、記憶内容が書き換え可能な不揮発性メモリ（本実施形態ではフラッシュメモリ）２２と、通信線１７に接続されている他のＥＣＵと通信するための通信回路２３とを備えている。また、フラッシュメモリ２２には、記憶内容の書き換えが許可された２つの記憶領域２２ａ，２２ｂが設けられている。一方の記憶領域２２ａには、エンジンを制御するための制御ソフト（制御プログラム及び制御データ）が記憶されており、他方の記憶領域２２ｂには、通信線１７に当該ＥＣＵ１１及び車両統合ＥＣＵ１２が接続されていることを確認するための接続確認用データが記憶されている。
【００４７】
そして、エンジンＥＣＵ１１では、マイコン２１がフラッシュメモリ２２内の制御ソフトを実行（詳しくは、制御ソフトのうちの制御プログラムを実行）することで、その制御ソフトに従いエンジンを制御する。例えば、マイコン２１は、車両統合ＥＣＵ１２から通信線１７を介して送信されてくる目標出力が実現されるように、エンジンを制御する。
【００４８】
また、車両統合ＥＣＵ１２も、処理動作の中枢部であるマイコン２５と、記憶内容が書き換え可能な不揮発性メモリ（本実施形態ではフラッシュメモリ）２６と、通信線１７に接続されている他のＥＣＵと通信するための通信回路２７とを備えている。そして、フラッシュメモリ２６において、記憶内容の書き換えが許可されている所定記憶領域には、エンジンＥＣＵ１１のフラッシュメモリ２２に記憶されている接続確認用データと特定の関係を有する接続確認用データが記憶されている。尚、本実施形態において、その特定の関係とは、「同じ」という関係である。
【００４９】
そして、車両統合ＥＣＵ１２では、マイコン２５が、例えば当該マイコン２５に内蔵されているＲＯＭ内の制御ソフトを実行（詳しくは、制御ソフトのうちの制御プログラムを実行）することで、エンジンの目標出力や自動変速機の目標変速状態などを決定して、目標出力をエンジンＥＣＵ１１へ送信したり、目標変速状態をトランスミッションＥＣＵ１３へ送信したりする動力制御処理を行う。
【００５０】
また、図示を省略しているが、トランスミッションＥＣＵ１３、イモビライザＥＣＵ１４及びメータＥＣＵ１５の各々も、マイコンや通信回路を備えている。そして、その各ＥＣＵ１３〜１５においても、マイコンが、そのＥＣＵに設けられている通信回路及び上記通信線１７を介して、他のＥＣＵと通信することにより情報をやりとりして、各自の制御対象を制御するための処理を行う。例えば、トランスミッションＥＣＵ１３のマイコンは、車両統合ＥＣＵ１２から通信線１７を介して送信されてくる目標変速状態が実現されるように、自動変速機（トランスミッション）を制御する。
【００５１】
尚、本実施形態において、ＥＣＵ１１〜１５は、車両がイグニッションオンの状態（車両におけるイグニッション系の電源ラインにバッテリ電圧が供給される状態）になると動作用電源が供給されて起動する（詳しくは、そのＥＣＵ１１〜１５のマイコンが起動する）。
【００５２】
一方、書換ツール１９は、処理動作の中枢部であるマイコン３１や通信回路３３や操作部３５を備えている。そして、書換ツール１９では、当該書換ツール１９の使用者（通常は、エンジンＥＣＵ１１の制御ソフトを書き換える作業者）が操作部３５に対して所定の操作を行うと、マイコン３１が、エンジンＥＣＵ１１の制御ソフトを書き換えるための制御ソフト書換用処理を行う。また、書換ツール１９には、エンジンＥＣＵ１１へ送信する制御ソフト（即ち、書き換えるべき新たな制御ソフト）が記憶された所定形状の記憶媒体３７が装着されるようになっている。尚、記憶媒体３７としては、例えばカード型のメモリカードやＵＳＢメモリ等が考えられる。
【００５３】
次に、エンジンＥＣＵ１１の制御ソフトを書き換える際に、そのエンジンＥＣＵ１１と車両統合ＥＣＵ１２と書換ツール１９との各々で実行される処理について説明する。
エンジンＥＣＵ１１の制御ソフトを書き換える作業者が、書換ツール１９を車両の通信線１７に接続し、その後、操作部３５に対して所定の操作を行うと、書換ツール１９は、通信線１７に書換開始通知を送信する。
【００５４】
そして、エンジンＥＣＵ１１では、フラッシュメモリ２２内の制御ソフトに従いエンジンの制御を行う通常制御期間中において、書換ツール１９からの書換開始通知を受信すると、マイコン２１が、図２の書換開始通知応答処理を実行する。
【００５５】
図２に示すように、エンジンＥＣＵ１１のマイコン２１は、書換開始通知応答処理の実行を開始すると、まずＳ１１０にて、現在の制御ソフトを当該ＥＣＵ１１に適合しない制御ソフトに書き換えてしまうことを防止するための品番確認用処理を行う。
【００５６】
具体的には、まず、書換ツール１９から品番要求が送信されてくるため、その品番要求を受信したなら、書換ツール１９へ当該ＥＣＵ１１の品番を送信する。すると、書換ツール１９では、記憶媒体３７に記憶されている制御ソフトのうち、当該ＥＣＵ１１の品番に適合する制御ソフトが、書き換えるべき新たな制御ソフトとして選択される。尚、エンジンＥＣＵ１１において、当該ＥＣＵ１１の品番は、例えば、フラッシュメモリ２２の記憶領域のうちで記憶内容の書き換えが許可されていない書換不能領域、又はマイコン２１内のＲＯＭに記憶されている。
【００５７】
次に、Ｓ１２０にて、他ユニット（本実施形態では車両統合ＥＣＵ１２）の接続確認用データと当該ＥＣＵ１１の接続確認用データとが一致しているか否かを確認するための一致確認処理を行う。
【００５８】
具体的には、まず、車両統合ＥＣＵ１２へ、接続確認用データを要求するためのデータ要求を送信する。そして、車両統合ＥＣＵ１２は、そのデータ要求を受信したなら、フラッシュメモリ２６に記憶されている接続確認用データをエンジンＥＣＵ１１へ送信するため、当該ＥＣＵ１１のマイコン２１は、車両統合ＥＣＵ１２からの接続確認用データを受信して、その受信した車両統合ＥＣＵ１２の接続確認用データと、当該ＥＣＵ１１の接続確認用データ（即ち、フラッシュメモリ２２の記憶領域２２ｂに記憶されている接続確認用データ）とが一致しているか否かを判定する。
【００５９】
そして、次のＳ１２５にて、Ｓ１２０での一致確認処理による判定結果が“一致”であるか否かを判定し、“一致”ではないと判定した場合には、そのまま当該書換開始通知応答処理を終了する。この場合には、エンジンの制御が引き続き行われることとなる。
【００６０】
尚、Ｓ１２５では、一致確認処理により、車両統合ＥＣＵ１２の接続確認用データと当該ＥＣＵ１１の接続確認用データとが一致していない（不一致である）と判定された場合、あるいは、車両統合ＥＣＵ１２から接続確認用データが送信されてこなかった場合に、一致確認処理による判定結果が“一致”ではないと判定される。そして、このことは、後述するＳ１５５，Ｓ１７５，Ｓ１９５，Ｓ２００及び図３におけるＳ３１５の各々についても同様である。
【００６１】
一方、上記Ｓ１２５にて、Ｓ１２０での一致確認処理による判定結果が“一致”であると判定した場合には、Ｓ１３０に進む。
Ｓ１３０では、接続確認用データを書換ツール１９によって更新してもらうために、フラッシュメモリ２２に記憶されている接続確認用データを書換ツール１９へ送信する。
【００６２】
次にＳ１４０にて、実行対象のプログラムを切り替える。つまり、本実施形態において、このＳ１４０と上記Ｓ１１０〜Ｓ１３０の処理は、フラッシュメモリ２２の記憶領域２２ａに書き換え対象の制御ソフトの一部として記憶されている所定のプログラムによって行われるため、このＳ１４０にて、フラッシュメモリ２２の書換不能領域又はマイコン２１内のＲＯＭに記憶されている書換処理用プログラムへジャンプし、以後は、その書換処理用プログラムを実行することで、後述するＳ１５０以降の処理を行う。
【００６３】
そして、Ｓ１４０に続くＳ１５０では、上記Ｓ１２０と同じ一致確認処理を行う。そして更に、次のＳ１５５にて、上記Ｓ１２５と同様に、Ｓ１５０での一致確認処理による判定結果が“一致”であるか否かを判定し、“一致”ではないと判定した場合には、後述する最後のＳ２４０へ移行するが、“一致”であると判定した場合には、Ｓ１６０に進む。
【００６４】
Ｓ１６０では、他のＥＣＵ１２〜１５に対して、故障診断停止の要求と、通信停止の要求とを送信する。すると、他のＥＣＵ１２〜１５は、各ＥＣＵ１１〜１５が正常に動作しているか否かを監視するための故障診断処理を停止すると共に、通常制御期間中に行っている相互通信を停止することとなる。このような処置をとるのは、今からエンジンＥＣＵ１１が制御ソフトを書き換える状態になり、正常に動作しなくなるからである。
【００６５】
次にＳ１７０にて、上記Ｓ１２０と同じ一致確認処理を行う。そして更に、次のＳ１７５にて、上記Ｓ１２５と同様に、Ｓ１７０での一致確認処理による判定結果が“一致”であるか否かを判定し、“一致”ではないと判定した場合には、最後のＳ２４０へ移行するが、“一致”であると判定した場合には、Ｓ１８０に進む。
【００６６】
Ｓ１８０では、通信相手が正規の書換ツール１９であるかを確認するためのセキュリティ確認用処理を行う。
具体的には、書換ツール１９と所定規則の暗号通信を何度か行い、その暗号通信が全て正常に完了したならば、通信相手が正規の書換ツール１９であると判断して、Ｓ１９０に進む。尚、図２では図示を省略しているが、上記Ｓ１８０にて、書換ツール１９との暗号通信（セキュリティ確認用処理）を正常に完了できなければ、以後の処理を中断して、最後のＳ２４０へ移行する。
【００６７】
Ｓ１９０では、上記Ｓ１２０と同じ一致確認処理を行う。そして更に、次のＳ１９５にて、上記Ｓ１２５と同様に、Ｓ１９０での一致確認処理による判定結果が“一致”であるか否かを判定し、“一致”ではないと判定した場合には、最後のＳ２４０へ移行するが、“一致”であると判定した場合には、Ｓ２００に進む。
【００６８】
そして、Ｓ２００では、書換ツール１９に制御ソフトの要求を送信する。すると、書換ツール１９から、書き換えるべき新たな制御ソフトが送信されてくるため、フラッシュメモリ２２の記憶領域２２ａに記憶されている制御ソフトを書換ツール１９から送信されてくる新たな制御ソフトに書き換える書換処理を行う。具体的には、記憶領域２２ａ内のデータを消去し、その消去した記憶領域２２ａに、書換ツール１９から受信した制御ソフト（詳しくは、制御ソフトを構成するデジタルデータ）を書き込む。尚、書き換えられる制御ソフトとしては、制御プログラムと制御データとの一方であっても、両方であっても良く、制御プログラムの一部又は制御データの一部であっても良い。
【００６９】
また、図２では図示を省略しているが、Ｓ２００では、書換処理と並行して、マルチタスクのかたちで、上記Ｓ１２０と同じ一致確認処理と、その一致確認処理による判定結果が“一致”であるか否かを判定する処理とを、繰り返し実行し、一致確認処理による判定結果が“一致”ではないと判定した場合には、書換処理を中断して、最後のＳ２４０へ移行する。
【００７０】
そして、Ｓ２００の書換処理により、書換ツール１９からの制御ソフトを全てフラッシュメモリ２２の記憶領域２２ａに書き込んだならば、Ｓ２１０に進み、制御ソフトの書き込みが正常に完了したか否かを確認するためのメモリチェックを行う。具体的には、フラッシュメモリ２２の記憶領域２２ａに書き込んだ制御ソフトと、書換ツール１９から受信してマイコン２１内のＲＡＭ（図示省略）に一時的に保存している制御ソフトとを比較（ベリファイ）する。
【００７１】
そして、Ｓ２１０でのメモリチェックがＮＧならば、例えばＳ２００の処理をやり直すが、Ｓ２１０でのメモリチェックがＯＫならば、Ｓ２２０に進んで、書き換え後の制御ソフトが当該ＥＣＵ１１に適合する制御ソフトであることを再確認するための品番再確認用処理を行う。
【００７２】
具体的には、まず、書換ツール１９へ当該ＥＣＵ１１の品番を送信する。すると、書換ツール１９では、当該ＥＣＵ１１から受信した品番と、当該ＥＣＵ１１へ送信した制御ソフトに適合するＥＣＵの品番とが一致しているか否かを判定し、その判定結果を示す品番確認情報を当該ＥＣＵ１１へ返送する。このため、マイコン２１は、書換ツール１９から送信されてきた品番確認情報が“品番一致”を示していれば、品番再確認用処理が終了したとして、Ｓ２３０に進む。
【００７３】
尚、図２では図示を省略しているが、書換ツール１９からの品番確認情報が“品番不一致”を示していた場合には、そのまま最後のＳ２４０へ移行する。また、この場合、書換ツール１９では、使用者に対して品番間違いの発生（即ち、ＥＣＵ１１に不適合な制御ソフトを書き込んでしまったこと）を報知するための処理が行われる。
【００７４】
Ｓ２３０では、書換ツール１９から送信されてくる更新後の接続確認用データを受信し、その受信した接続確認用データを、フラッシュメモリ２２の記憶領域２２ｂに更新記憶する。つまり、記憶領域２２ｂに記憶されている旧来の接続確認用データを消去し、その消去後の記憶領域２２ｂに、書換ツール１９から受信した接続確認用データを書き込む。尚、書換ツール１９は、当該ＥＣＵ１１から上記Ｓ１３０で送信された接続確認用データを受信すると共に、その受信した接続確認用データを所定のロジックで更新し、その更新した接続確認用データを、当該ＥＣＵ１１へ送信するようになっている。
【００７５】
そして、Ｓ２３０での更新記憶処理を終えたら、最後のＳ２４０に進む。
Ｓ２４０では、書換終了後処理として、当該マイコン２１を再起動させるための処理を行う。尚、マイコン２１を再起動させるための処理としては、当該マイコン２１のリセット端子のレベルをリセットがかかる方のアクティブレベルにする処理が考えられる。また、本実施形態において、マイコン２１は、リセット状態から起動すると、制御ソフトを成す制御プログラムの先頭から実行するようになっているため、マイコン２１を再起動させるための処理としては、プログラムの実行先アドレスを制御プログラムの先頭アドレスにジャンプさせる処理でも良い。
【００７６】
このため、Ｓ２３０からＳ２４０に進んだ場合であって、フラッシュメモリ２２内の制御ソフトが、正規の書換ツール１９によって当該ＥＣＵ１１に適合する制御ソフトに正常に書き換えられた場合には、Ｓ２４０の処理により、その書き換えられた新たな制御ソフトを成す制御プログラムの実行が開始されることとなる。
【００７７】
次に、図３は、エンジンＥＣＵ１１のマイコン２１が、通常制御期間中（フラッシュメモリ２２内の制御ソフトに従いエンジンの制御を行う期間中）に実行する通常モード時処理を表すフローチャートである。尚、この通常モード時処理は、フラッシュメモリ２２内の制御ソフトの一部を成す所定のプログラムによる処理であり、例えば一定時間毎に実行される。
【００７８】
図３に示すように、エンジンＥＣＵ１１のマイコン２１が通常モード時処理の実行を開始すると、まずＳ３１０にて、図２のＳ１２０と同じ一致確認処理を行う。そして、次のＳ３１５にて、図２のＳ１２５と同様に、Ｓ３１０での一致確認処理による判定結果が“一致”であるか否かを判定し、“一致”であると判定した場合（即ち、車両統合ＥＣＵ１２の接続確認用データと当該ＥＣＵ１１の接続確認用データとが一致していると判定した場合）には、そのまま当該通常モード時処理を終了する。よって、この場合には、フラッシュメモリ２２内の制御ソフトに基づく通常制御が実施されることとなる。
【００７９】
一方、上記Ｓ３１５にて、Ｓ３１０での一致確認処理による判定結果が“一致”ではないと判定した場合（即ち、車両統合ＥＣＵ１２の接続確認用データと当該ＥＣＵ１１の接続確認用データとが一致していないと判定した場合、あるいは、車両統合ＥＣＵ１２から接続確認用データが送信されてこなかった場合）には、Ｓ３２０に進む。
【００８０】
そして、Ｓ３２０では、当該ＥＣＵ１１から制御対象としてのエンジンを制御するための所定の信号が出力されるのを禁止する出力禁止処理を行う。
出力を禁止する所定の信号としては、例えば、エンジンに燃料を噴射するインジェクタを開弁動作させるための噴射指令信号や、エンジンのプラグに火花を発生させるための点火指令信号が考えられる。そして、出力禁止処理としては、それらの信号を出力するための処理が実行されるのを禁止したり、それらの信号を出力するための出力回路への電源を遮断したりする処理が考えられる。
【００８１】
そして更に、続くＳ３３０にて、制御ソフトの不正書き換えがあったことを示す履歴をフラッシュメモリ２２の所定領域に記憶する処理や、警告灯を点灯させる警告処理を行う。これらの処理は、カーディーラにおける車両整備者等に対して制御ソフトの不正書き換えがあったことを知らせるための処理である。そして、このＳ３３０の処理を終えた後、当該通常モード時処理を終了する。
【００８２】
次に、図４は、書換ツール１９のマイコン３１が実行する制御ソフト書換用処理を表すフローチャートである。尚、この制御ソフト書換用処理は、書換ツール１９の使用者が操作部３５に対して所定の操作を行うと実行される。
【００８３】
そして、図４に示すように、書換ツール１９のマイコン３１が制御ソフト書換用処理の実行を開始すると、まずＳ４１０にて、通信線１７へ書換開始通知を送信する。すると、前述したように、その書換開始通知を受信したエンジンＥＣＵ１１では、マイコン２１が、図２の書換開始通知応答処理を実行することとなる。
【００８４】
次に、書換ツール１９のマイコン３１は、Ｓ４２０にて、前述した品番確認用処理を行う。即ち、まず、エンジンＥＣＵ１１へ品番要求を送信し、その品番要求に対してエンジンＥＣＵ１１から送信されてくる該ＥＣＵ１１の品番を受信する。そして、記憶媒体３７に記憶されている制御ソフトのうち、ＥＣＵ１１の品番に適合する制御ソフトを、書き換えるべき新たな制御ソフトとして選択する。
【００８５】
そして、次のＳ４３０にて、エンジンＥＣＵ１１から図２のＳ１３０の処理によって送信されてくる接続確認用データを受信して記憶しておく。
次に、Ｓ４４０にて、前述したセキュリティ確認用処理を行う。即ち、エンジンＥＣＵ１１と所定規則の暗号通信を何度か行う。
【００８６】
そして、その暗号通信が全て正常に完了したなら、Ｓ４５０に進み、エンジンＥＣＵ１１との間で制御ソフト書換用通信を行う。
具体的には、エンジンＥＣＵ１１から前述した制御ソフトの要求が送信されてくるのを待ち、制御ソフトの要求が送信されてきたなら、上記Ｓ４２０で選択した制御ソフトを、エンジンＥＣＵ１１へ所定単位量ずつ送信する。すると、その制御ソフトは、エンジンＥＣＵ１１において、図２のＳ２００の書換処理により、フラッシュメモリ２２の記憶領域２２ａに書き込まれることとなる。
【００８７】
そして、制御ソフト書換用通信が全て正常に完了したなら、次のＳ４６０にて、前述した品番再確認用処理を行う。即ち、エンジンＥＣＵ１１から図２のＳ２２０の処理によって送信されてくる品番を受信し、その受信した品番と、Ｓ４５０でエンジンＥＣＵ１１へ送信した制御ソフトに適合するＥＣＵの品番とが一致しているか否かを判定する。そして、その判定結果を示す品番確認情報をエンジンＥＣＵ１１へ送信する。
【００８８】
次に、Ｓ４７０にて、制御ソフトの書き換えが正常に終了したか否かを判定する。そして、制御ソフトの書き換えが正常に終了しなかったと判定した場合には、そのまま当該制御ソフト書換用処理を終了するが、制御ソフトの書き換えが正常に終了したと判定した場合には、Ｓ４８０に進む。尚、上記Ｓ４６０の品番再確認用処理にて、エンジンＥＣＵ１１から受信した品番と、エンジンＥＣＵ１１へ送信した制御ソフトに適合するＥＣＵの品番とが一致していると判定した場合には、制御ソフトの書き換えが正常に終了したと判定することとなる。
【００８９】
Ｓ４８０では、上記Ｓ４３０でエンジンＥＣＵ１１から受信した接続確認用データを所定のロジックで更新する。その更新ロジックとしては、例えば、受信した接続確認用データに、定数ａを加えるといったロジックや、定数ｂを乗ずるといったロジックが考えられる。
【００９０】
そして、次のＳ４９０にて、その更新した接続確認用データを、エンジンＥＣＵ１１へ送信する。すると、前述したように、エンジンＥＣＵ１１では、その書換ツール１９から送信される接続確認用データが、フラッシュメモリ２２の記憶領域２２ｂに更新記憶されることとなる。
【００９１】
そして、続くＳ４９５にて、制御ソフトの書き換えが完了したことを示す書換完了通知を通信線１７に送信し、その後、当該制御ソフト書換用処理を終了する。
尚、エンジンＥＣＵ１１のマイコン２１は、図２の書換開始通知応答処理において、Ｓ２３０の処理を行った後、書換ツール１９からの上記書換完了通知を受信したなら、Ｓ２４０へ進むようになっていても良い。
【００９２】
次に、図５は、車両統合ＥＣＵ１２のマイコン２５が実行する接続確認応答処理を表すフローチャートである。尚、この接続確認応答処理は、例えば一定時間毎に実行される。
図５に示すように、車両統合ＥＣＵ１２のマイコン２５が接続確認応答処理の実行を開始すると、まずＳ５１０にて、エンジンＥＣＵ１１からの前述したデータ要求（接続確認用データを要求するためのデータ要求）を受信したか否かを判定する。
【００９３】
そして、データ要求を受信していなければ、そのまま当該接続確認応答処理を終了するが、データ要求を受信したならば、Ｓ５２０に進む。
Ｓ５２０では、フラッシュメモリ２６に記憶されている接続確認用データ（即ち、当該ＥＣＵ１２の接続確認用データ）をエンジンＥＣＵ１１へ送信する。そして、その後、当該接続確認応答処理を終了する。尚、Ｓ５２０でエンジンＥＣＵ１１へ送信される接続確認用データは、エンジンＥＣＵ１１においては、前述した図２のＳ１２０，Ｓ１５０，Ｓ１７０，Ｓ１９０，Ｓ２００及び図３のＳ３１０における一致確認処理の各々に用いられる。
【００９４】
次に、図６は、車両統合ＥＣＵ１２のマイコン２５が実行する書換シーケンス監視処理を表すフローチャートである。
車両統合ＥＣＵ１２では、書換ツール１９からの前述した書換開始通知を受信すると（換言すれば、書換ツール１９から通信線１７へ書換開始通知が出力されたことを検知すると）、マイコン２５が、図６の書換シーケンス監視処理を実行する。
【００９５】
そして、図６に示すように、マイコン２５は、書換シーケンス監視処理の実行を開始すると、Ｓ６１０にて、通信線１７に伝送される通信信号を継続的にモニタして、書換ツール１９とエンジンＥＣＵ１１との間の通信内容（詳しくは、双方でやり取りされる信号の内容及び順序）である書換シーケンスを監視し、その書換シーケンスが正しい（ＯＫ）か正しくない（ＮＧ）かを判定（チェック）する。
【００９６】
つまり、車両統合ＥＣＵ１２のマイコン２５には、少なくとも、エンジンＥＣＵ１１における図２のＳ１１０，Ｓ１８０の各処理と書換ツール１９における図４のＳ４２０，Ｓ４４０の各処理とによって行われるエンジンＥＣＵ１１と書換ツール１９との間の通信の内容（やり取りされる信号の内容及び順序）が、書換許可用通信の内容として記憶されている。そして、マイコン２５は、書換ツール１９とエンジンＥＣＵ１１との間の通信内容が、書換許可用通信の内容と一致しているか否かを判定する。
【００９７】
具体的には、下記（１），（２）の内容を順次チェックしていく。
（１）エンジンＥＣＵ１１と書換ツール１９との間で品番確認用処理による通信が正しい内容及び順序で実施されたか否か。
【００９８】
即ち、書換ツール１９からエンジンＥＣＵ１１へ品番要求としての信号が送信され、その後、エンジンＥＣＵ１１から書換ツール１９へＥＣＵ１１の品番を示す信号が送信されたか否か。
【００９９】
（２）エンジンＥＣＵ１１と書換ツール１９との間でセキュリティ確認用処理による暗号通信が正しい内容及び順序で正しい回数だけ実施されたか否か。
尚、Ｓ６１０でのチェック内容としては、更に、上記（１）と（２）との間で、エンジンＥＣＵ１１から、図２のＳ１３０とＳ１６０との各々で送信されるはずの信号が送信されたか否か、ということもチェックしても良い。また、上記（２）の後に、エンジンＥＣＵ１１から書換ツール１９へ制御ソフトの要求としての信号が送信されたか否かと、その後に、書換ツール１９からエンジンＥＣＵ１１へ、制御ソフトと考えられるデータが前述の所定単位量ずつ送信されたか否か、ということもチェックしても良い。
【０１００】
そして、このＳ６１０にて、書換シーケンスが正しくない（ＮＧ）と判定した時点で、Ｓ６２０に移行し、書換妨害用通信を開始する。
その書換妨害用通信としては、具体的には、書換ツール１９とエンジンＥＣＵ１１との間の通信を妨害するための通信妨害用データを、通信線１７に出力する。また、その通信妨害用データは、書換ツール１９とエンジンＥＣＵ１１との間の通信で使用される通信データよりも優先度が高い通信データである。
【０１０１】
例えば、車載通信システム１における通信プロトコルが、車両で一般的に使用されるＣＡＮであるとすると、通信データに付与されるＩＤ（いわゆるＣＡＮ−ＩＤ）によって、その通信データの優先度（即ち、衝突した際に生き残る優先順位）が決まるため、書換ツール１９とエンジンＥＣＵ１１との間の通信で使用される通信データのＩＤよりも優先度が高いＩＤを付した通信データを、通信妨害用データとして通信線１７に送出する。
【０１０２】
このため、Ｓ６１０にて書換シーケンスが正しくない（ＮＧ）と判定した場合には、書換ツール１９とエンジンＥＣＵ１１との間の通信が妨害され、延いては、書換ツール１９によるエンジンＥＣＵ１１の制御ソフトの書き換えが妨害されることとなる。
【０１０３】
このように妨害するのは、エンジンＥＣＵ１１と通信しようとしている外部装置が、実際には正規の書換ツール１９ではなく、何者かが正規の書換ツール１９ではない外部装置（非正規外部装置）を使ってエンジンＥＣＵ１１の制御ソフトを不正に書き換えようとしていると考えられるからである。
【０１０４】
そして、このことから、通信妨害用データは、可能な限り短い周期で送信することが好ましく、例えば、本実施形態では連続で送信する。通信妨害効果、延いては、制御ソフトの不正な書き換えを防止する効果を、大きくすることができるからである。
【０１０５】
また、通信妨害用データは、一定時間だけ送信するように構成することもできるが、本実施形態では、Ｓ６１０にて書換シーケンスが正しくないと一旦判定したなら、車両がイグニッションオフの状態になって当該車両統合ＥＣＵ１２への動作用電源が遮断されるまで、通信妨害用データを送信し続けるようになっている。この方が、通信妨害効果が高く好ましい。
【０１０６】
そして、車両統合ＥＣＵ１２のマイコン２５は、次のＳ６３０にて、エンジンＥＣＵ１１の制御ソフトが不正に書き換えられようとしたことを示す不正行為履歴をフラッシュメモリ２６の所定領域に記憶する処理を行うと共に、警告灯を点灯させる警告処理を行う。これらの処理は、カーディーラにおける車両整備者等に対して、エンジンＥＣＵ１１の制御ソフトが不正に書き換えられた可能性があることを知らせるための処理である。そして、その後、当該書換シーケンス監視処理を終了する。
【０１０７】
一方、上記Ｓ６１０にて、書換シーケンスが正しくないと判定しなかった場合には、Ｓ６４０にて、エンジンＥＣＵ１１の制御ソフトの書き換えが正常に終了するまで待ち、制御ソフトの書き換えが正常に終了したなら、Ｓ６５０に進む。尚、Ｓ６４０では、書換ツール１９から通信線１７へ前述の書換完了通知が出力されたか否かを監視し、書換完了通知が出力されたなら、エンジンＥＣＵ１１の制御ソフトの書き換えが正常に終了したと判定する。
【０１０８】
そして、Ｓ６５０では、フラッシュメモリ２６に記憶されている接続確認用データを、書換ツール１９において図４のＳ４８０でエンジンＥＣＵ１１の接続確認用データを更新するのに用いられるロジック（更新規則）と同じロジック（同じ規則）で更新する。そして、その後、当該書換シーケンス監視処理を終了する。
【０１０９】
一方、図７に、前述した図２，図４〜図６の各処理によるエンジンＥＣＵ１１と車両統合ＥＣＵ１２と書換ツール１９との動作の相互関係を示しておく。
以上のような本実施形態の車載通信システム１において、エンジンＥＣＵ１１では、書換開始通知を受けてから制御ソフトを書き換える書換処理（Ｓ２００）を開始するまでの間に、他のユニットである車両統合ＥＣＵ１２から接続確認用データを取得して、その取得した車両統合ＥＣＵ１２の接続確認用データと当該エンジンＥＣＵ１１の接続確認用データとが一致しているか否かを判定する一致確認処理を行い（Ｓ１２０，Ｓ１５０，Ｓ１７０，Ｓ１９０）、その一致確認処理による判定結果が“一致”にならなければ、書換処理（Ｓ２００）が行われるのを禁止している（Ｓ１２５：ＮＯ，Ｓ１５５：ＮＯ，Ｓ１７５：ＮＯ，Ｓ１９５：ＮＯ）。
【０１１０】
このため、エンジンＥＣＵ１１の制御ソフトは、エンジンＥＣＵ１１が車両統合ＥＣＵ１２と共に車両の通信線１７に接続されている状態、即ち、車両に搭載されている状態でしか書き換えることができない。その状態でないと、エンジンＥＣＵ１１は車両統合ＥＣＵ１２から接続確認用データを取得することができず、一致確認処理による判定結果が“一致”にならないからである。
【０１１１】
よって、エンジンＥＣＵ１１の制御ソフトを不正に書き換えようとする不正行為者が、そのエンジンＥＣＵ１１を車両から取り外し、単体状態となったＥＣＵ１１の通信用端子（通信線１７と接続される端子）に、試行錯誤しながら信号を与えることで、制御ソフトを書き換えようとしても、そのような不正な書き換えを防止することができる。また仮に、エンジンＥＣＵ１１が車両に搭載されている状態で、不正行為者が、そのエンジンＥＣＵ１１の制御ソフトを書き換えようとしても、エンジンＥＣＵ１１は、書換ツール１９だけでなく車両統合ＥＣＵ１２とも通信することで、書換処理を行う状態に移行するため、その移行条件の全てを不正行為者が見つけ出すのは非常に困難になると考えられる。
【０１１２】
以上のことから、本実施形態の車載通信システム１によれば、エンジンＥＣＵ１１の制御ソフトが不正に書き換えられることの防止効果を高めることができる。
また、エンジンＥＣＵ１１では、書換開始通知を受けてから書換処理を開始するまでの間に、少なくとも、図２におけるＳ１１０、Ｓ１４０、Ｓ１６０、Ｓ１８０の複数の各処理からなる書換許可用処理を行うようになっているが、その各処理が終了する段階毎に、図２におけるＳ１２０，Ｓ１５０，Ｓ１７０，Ｓ１９０の各々で一致確認処理を行い、その何れかの一致確認処理による判定結果が“一致”にならなければ、書換処理が行われるのを禁止している。
【０１１３】
このため、エンジンＥＣＵ１１の制御ソフトが不正に書き換えられることの防止効果を一層高めることができる。例えば、不正行為者が、車両にエンジンＥＣＵ１１が搭載されている状態で、そのエンジンＥＣＵ１１の制御ソフトを書き換えようとし始め、試行錯誤している途中で、エンジンＥＣＵ１１又は車両統合ＥＣＵ１２を通信線１７から外したとしても、図２におけるＳ１２０，Ｓ１５０，Ｓ１７０，Ｓ１９０の何れかの一致確認処理が行われることで、エンジンＥＣＵ１１の制御ソフトを書換不能とすることができる。
【０１１４】
また更に、本実施形態において、エンジンＥＣＵ１１は、書換ツール１９からの書換開始通知を受けると、当該ＥＣＵ１１のフラッシュメモリ２２（詳しくは記憶領域２２ｂ）に記憶されている接続確認用データを書換ツール１９へ送信し（Ｓ１３０）、書換処理が終了した後に、書換ツール１９から送信されて来る新たな接続確認用データを、フラッシュメモリ２２に更新記憶するようになっている（Ｓ２３０）。
【０１１５】
このため、書換ツール１９は、エンジンＥＣＵ１１から送信されてきた接続確認用データを、所定のロジックで更新すると共に、その更新した接続確認用データを、エンジンＥＣＵ１１にて書換処理が終了した後に、新たな接続確認用データとしてエンジンＥＣＵ１１へ送信するようになっている（Ｓ４８０，Ｓ４９０）。
【０１１６】
また、車両統合ＥＣＵ１２は、エンジンＥＣＵ１１にて書換処理が終了した後に、当該ＥＣＵ１２のフラッシュメモリ２６に記憶されている接続確認用データを、書換ツール１９による更新ロジックと同じロジックで更新するようになっている（Ｓ６５０）。
【０１１７】
つまり、エンジンＥＣＵ１１で記憶される接続確認用データは、書換ツール１９によって更新し、車両統合ＥＣＵ１２で記憶される接続確認用データは、車両統合ＥＣＵ１２自身によって更新するようになっている。
【０１１８】
このようになっているため、万一、エンジンＥＣＵ１１及び車両統合ＥＣＵ１２が車両の通信線１７に接続されている状態で、エンジンＥＣＵ１１の制御ソフトが非正規外部装置によって不正に書き換えられたとしても、エンジンＥＣＵ１１で記憶される接続確認用データは、正しく更新されることがなく、車両統合ＥＣＵ１２で記憶される更新後の接続確認用データとは一致しないものとなる。
【０１１９】
よって、エンジンＥＣＵ１１及び車両統合ＥＣＵ１２が車両の通信線１７に接続されている状態で、不正行為者が、再びエンジンＥＣＵ１１の制御ソフトを書き換えようとしても、エンジンＥＣＵ１１における前述の一致確認処理による判定結果が“一致”にはならないこととなり、そのような２回目以降の不正書き換えを阻止することができる。
【０１２０】
そして更に、エンジンＥＣＵ１１では、通常制御期間中においても、図３のＳ３１０にて、一致確認処理を行うため、万一、制御ソフトが非正規外部装置によって不正に書き換えられたとしても、その後、エンジンＥＣＵ１１が起動されて通常制御期間中に図３のＳ３１０にて一致確認処理が行われれば、その一致確認処理による判定結果は、“一致”ではなくなり（“不一致”となり）、制御ソフトの不正書き換えがあったことを検知することができる。
【０１２１】
特に、エンジンＥＣＵ１１では、図３のＳ３１０での一致確認処理による判定結果が“一致”でない場合（Ｓ３１５：ＮＯ）であって、制御ソフトの不正書き換えを検知した場合には、エンジンを制御するための信号が出力されるのを禁止する出力禁止処理（Ｓ３２０）を行うため、制御ソフトを不正に書き換えること自体が意味をなさなくなり、延いては、制御ソフトの不正書き換え防止効果を更に高めることができる。エンジンＥＣＵ１１は、制御ソフトが不正に書き換えられると、エンジンを制御するという役割において実質的に機能しなくなるからである。
【０１２２】
また、本実施形態において、車両統合ＥＣＵ１２は、通信線１７へ書換開始通知が出力されたことを検知すると、図６の書換シーケンス監視処理におけるＳ６１０にて、書換ツール１９とエンジンＥＣＵ１１との間の通信による書換シーケンスが正しいか否かを判定するチェック処理を行うため、何者かが非正規外部装置を使ってエンジンＥＣＵ１１の制御ソフトを不正に書き換えようとした場合に、そのことを検知することができる。
【０１２３】
そして、車両統合ＥＣＵ１２は、図６のＳ６１０にて書換シーケンスが正しくないと判定すると、通信妨害用データを通信線１７に出力する書換妨害用通信（Ｓ６２０）を行うため、エンジンＥＣＵ１１の制御ソフトが実際に書き換えられてしまうことの防止効果を一層高めることができる。不正行為者が、非正規外部装置からエンジンＥＣＵ１１へ試行錯誤して種々の信号を送信しようとしても、その不正な通信自体が妨害されて、制御ソフトの書き換えに至ることができなくなるからである。また、もし不正行為者が、車両統合ＥＣＵ１２から通信妨害用データが出ていることに気付いて、その車両統合ＥＣＵ１２を通信線１７から外したならば、エンジンＥＣＵ１１においては、前述した一致確認処理による判定結果が“一致”にならないことで書換処理の実施が禁止されるため、やはり制御ソフトの不正書き換えを阻止することができる。
【０１２４】
一方、エンジンＥＣＵ１１と車両統合ＥＣＵ１２との何れかを、故障等の理由で交換する場合には、交換後の新たなＥＣＵと他方のＥＣＵとが、同じ接続確認用データを記憶している状態にしておく必要がある。
【０１２５】
その対策としては以下の手法が考えられる。
まず、ＥＣＵ１１，１２の製造時において、フラッシュメモリ２２，２６の特定領域あるいは書き換え不能なＲＯＭの特定領域に、接続確認用データの初期値を記憶しておく。また、その初期値は、車両の機種毎に同じデータとなるように管理する。
【０１２６】
そして、ＥＣＵ１１，１２は、書換ツール１９あるいは他の専用ツールと所定の認証通信を行った後、その書換ツール１９あるいは専用ツールからの記憶値初期化要求を受けると、上記特定領域に記憶されている接続確認用データの初期値を、実際の処理に用いる接続確認用データとして記憶するように構成しておく。つまり、エンジンＥＣＵ１１であれば、上記特定領域からフラッシュメモリ２２の記憶領域２２ｂに接続確認用データの初期値をコピーするようにし、車両統合ＥＣＵ１２であれば、上記特定領域からフラッシュメモリ２６の所定記憶領域に接続確認用データの初期値をコピーするようにしておく。
【０１２７】
このため、エンジンＥＣＵ１１と車両統合ＥＣＵ１２との何れかを交換した場合には、書換ツール１９あるいは専用ツールにより、ＥＣＵ１１，１２の各々に対して、上記認証通信を行った後、記憶値初期化要求を送信すれば、ＥＣＵ１１，１２の各々における接続確認用データを同じ初期値にすることができる。
【０１２８】
また例えば、他の手法として、書換ツール１９あるいは専用ツールにより、交換していない方のＥＣＵから接続確認用データを読み出して、その読み出した接続確認用データを、交換した方のＥＣＵに記憶させる、という手法を採っても良い。
【０１２９】
尚、上記実施形態では、エンジンＥＣＵ１１が第１の制御ユニットに相当し、車両統合ＥＣＵ１２が第２の制御ユニットに相当しており、エンジンＥＣＵ１１においては、フラッシュメモリ２２（更に詳しくは記憶領域２２ｂ）が、接続確認用データを記憶するデータ記憶手段に相当し、車両統合ＥＣＵ１２においては、フラッシュメモリ２６が、接続確認用データを記憶するデータ記憶手段に相当している。このため、エンジンＥＣＵ１１のフラッシュメモリ２２に記憶されている接続確認用データが、自ユニット接続確認用データに相当し、車両統合ＥＣＵ１２のフラッシュメモリ２６に記憶されている接続確認用データが、他ユニット接続確認用データに相当する。
【０１３０】
そして、エンジンＥＣＵ１１においては、図２のＳ１２０，Ｓ１５０，Ｓ１７０，Ｓ１９０の各々と、図３のＳ３１０とで行われる一致確認処理が、判定手段としての処理に相当し、図２のＳ１２５，Ｓ１５５，Ｓ１７５，Ｓ１９５の各処理が、書換禁止手段に相当し、図３のＳ３１５及びＳ３２０の処理が、出力禁止手段としての処理に相当している。
【０１３１】
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
【０１３２】
例えば、上記実施形態では、エンジンＥＣＵ１１側で記憶される接続確認用データと、車両統合ＥＣＵ１２側で記憶される接続確認用データとの関係を、同じという関係にしていたが、データ値の差が所定数であるといった具合に、他の関係を持つようにしても良い。
【０１３３】
また、書き換え対象の制御ソフトが記憶される書換可能不揮発性メモリは、フラッシュメモリ以外の種類のメモリであっても良い。
また、エンジンＥＣＵ１１において、接続確認用データを記憶するメモリは、書き換え対象の制御ソフトが記憶されるメモリとは物理的に別体のメモリであっても良い。
【０１３４】
また、車載通信システムを構成する各ＥＣＵは、上記実施形態のものに限らず、他の役割を持つＥＣＵであっても良い。
【符号の説明】
【０１３５】
１…車載通信システム、１１…エンジンＥＣＵ、１２…車両統合ＥＣＵ
１３…トランスミッションＥＣＵ、１４…イモビライザＥＣＵ、１５…メータＥＣＵ
１７…通信線、１９…書換ツール、１８…コネクタ、２１，２５，３１…マイコン
２２，２６…フラッシュメモリ、２３，２７，３３…通信回路、３５…操作部
３７…記憶媒体
【図１】
2012234437.tif 000003
【図２】
2012234437.tif 000004
【図３】
2012234437.tif 000005
【図４】
2012234437.tif 000006
【図５】
2012234437.tif 000007
【図６】
2012234437.tif 000008
【図７】
2012234437.tif 000009