(57)【特許請求の範囲】
【請求項１】
同一の通信ＩＤを有する車載の複数のデータ処理装置（２０、４０、５０、６０、８０、１００）のいずれがデータの書換装置（１０）がデータを書き換える書換対象装置であるかを特定するための第１の特定情報を前記書換装置から受信する通信部（２２、８２、Ｓ４２０、Ｓ４２６、Ｓ４３０、Ｓ４３６）と、
当該装置（２０、６０、８０）が前記書換対象装置であるか否かを判定するための第２の特定情報を生成する特定情報部（２８、８８、Ｓ４３２、Ｓ４８２）と、
前記書換装置から前記通信部が受信する前記第１の特定情報と、前記特定情報部が生成する前記第２の特定情報とが一致するか否かに基づいて、当該装置が前記書換対象装置であるか、あるいは前記複数のデータ処理装置のうち当該装置以外の他のデータ処理装置（４０、５０、１００）のいずれかが前記書換対象装置であるかを特定する特定部（３０、９０、Ｓ４３４、Ｓ４４０〜Ｓ４５４、Ｓ４７０〜Ｓ４７６、Ｓ４８８〜Ｓ４９２）と、
を備えるデータ処理装置（２０、６０、８０）。
【請求項２】
請求項１に記載のデータ処理装置において、
前記通信部は、前記書換装置と通信する第１の通信部（２２、８２、Ｓ４２０、Ｓ４２６、Ｓ４３０、Ｓ４３６）と、さらに、前記他のデータ処理装置と通信する第２の通信部（２４、８４、Ｓ４２４、Ｓ４２８、Ｓ４７８、Ｓ４８０、Ｓ４８４、Ｓ４８６）とを備えており、
前記第２の通信部（Ｓ４２８）は、前記他のデータ処理装置から前記他のデータ処理装置のいずれかが前記書換対象装置であるか否かを判定するための第３の特定情報を受信し、
前記特定部（Ｓ４４０、Ｓ４４６）は、前記第１の通信部が前記書換装置から受信する前記第１の特定情報に対し、前記第２の特定情報と、前記第２の通信部が受信する前記第３の特定情報とのいずれが一致するかに基づいて、前記複数のデータ処理装置のいずれが前記書換対象装置であるかを特定する、
データ処理装置。
【請求項３】
請求項２に記載のデータ処理装置において、
前記第１の特定情報を生成するための元情報の生成要求を前記書換装置から前記第１の通信部が受信すると、前記元情報を生成する元情報部（２６、８６、Ｓ４２２）をさらに備え、
前記第１の通信部（Ｓ４２６、Ｓ４３０）は、前記元情報部が生成する前記元情報を前記書換装置に送信し、前記書換装置への前記元情報の送信に対する応答として前記書換装置から前記第１の特定情報を受信し、
前記第２の通信部（Ｓ４２４、Ｓ４２８）は、前記他のデータ処理装置に前記元情報を送信し、前記他のデータ処理装置への前記元情報の送信に対する応答として前記他のデータ処理装置から第３の特定情報を受信し、
前記特定情報部（Ｓ４３２）は前記元情報から前記第２の特定情報を生成する、
データ処理装置。
【請求項４】
請求項３に記載のデータ処理装置において、
前記特定情報部は、当該装置に設定されたアルゴリズムに基づいて前記元情報から前記第２の特定情報を生成する、
データ処理装置。
【請求項５】
請求項２に記載のデータ処理装置において、
前記第１の特定情報と前記第３の特定情報のいずれかとが一致し、前記他のデータ処理装置のいずれかが前記書換対象装置であると前記特定部（Ｓ４７６）が特定すると、
前記特定情報部（Ｓ４８２）は、さらに、前記第２の通信部との通信による前記書換対象装置に対するデータの書き換えが正常な処理であるか否かを前記書換対象装置が判定するための第４の特定情報を生成し、
前記第２の通信部（Ｓ４８６）は、前記特定情報部が生成する前記第４の特定情報を前記前記書換対象装置に送信し、前記書換対象装置に対するデータの書き換えが正常な処理であるか否かの判定結果を前記書換対象装置から受信する、
データ処理装置。
【請求項６】
請求項３または４に記載のデータ処理装置において、
前記元情報を第１の元情報とし、
前記第１の特定情報と前記第３の特定情報のいずれかとが一致し、前記他のデータ処理装置のいずれかが前記書換対象装置であると前記特定部（Ｓ４７６）が特定すると、
前記第２の通信部（Ｓ４７８）は、前記第２の通信部との通信による前記書換対象装置に対するデータの書き換えが正常な処理であるか否かを前記書換対象装置が判定するための第４の特定情報を前記特定情報部が生成するための第２の元情報の生成要求を前記書換対象装置に送信し、
前記特定情報部（Ｓ４８２）は、前記書換対象装置から前記第２の通信部（Ｓ４８０）が受信する前記第２の元情報から前記第４の特定情報を生成し、
前記第２の通信部（Ｓ４８６）は、前記特定情報部が生成する前記第４の特定情報を前記前記書換対象装置に送信し、前記書換対象装置に対するデータの書き換えが正常な処理であるか否かの判定結果を前記書換対象装置から受信する、
データ処理装置。
【請求項７】
請求項２から６のいずれか一項に記載のデータ処理装置において、
前記第１の通信部が前記書換装置と通信する通信プロトコルと、前記第２の通信部が前記他のデータ処理装置と通信する通信プロトコルとは異なっており、
前記書換装置と前記他のデータ処理装置との通信を中継するときに、前記第１の通信部と前記第２の通信部との間で通信プロトコルを変換する変換部（３４、９４）をさらに備える、
データ処理装置（６０、８０）。
【請求項８】
同一の通信ＩＤを有する複数のデータ処理装置として一つの第１のデータ処理装置（２０、６０、８０）と少なくとも一つの第２のデータ処理装置（４０、５０、１００）とを備えるデータ処理システム（４、６、８、７０）において、
前記第１のデータ処理装置は、
前記複数のデータ処理装置のいずれがデータの書換装置がデータを書き換える書換対象装置であるかを特定するための第１の特定情報を前記書換装置から受信する第１の通信部（２２、８２）と、
前記第１のデータ処理装置が前記書換対象装置であるか否かを判定するための第２の特定情報を生成する第１の特定情報部（２８、８８）と、
前記第２のデータ処理装置が前記書換対象装置であるか否かを判定するための第３の特定情報を前記第２のデータ処理装置から受信する第２の通信部（２４、８４）と、
前記書換装置から前記第１の通信部が受信する前記第１の特定情報に対し、前記特定情報部が生成した前記第２の特定情報と、前記第２の通信部が前記第２のデータ処理装置から受信する前記第３の特定情報とのいずれが一致するかに基づいて、前記複数のデータ処理装置のいずれが前記書換対象装置であるかを特定する特定部（３０、９０）と、
を備え、
前記第２のデータ処理装置は、
前記第２のデータ処理装置が前記書換対象装置であるか否かを判定するための前記第３の特定情報を生成する第２の特定情報部（４４、１０４）と、
前記第２の特定情報部が生成する前記第３の特定情報を前記第１のデータ処理装置に送信する第３の通信部（４２、１０２）と、
を備えるデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、車載の複数のデータ処理装置からデータの書換装置がデータを書き換える書換対象装置を特定する技術に関する。
【背景技術】
【０００２】
特許文献１に記載されているように、複数のデータ処理装置のいずれかのデータを通信により書換装置が書き換える場合、複数のデータ処理装置のうち書換装置がデータを書き換える書換対象装置を特定する必要がある。
【０００３】
例えば、複数のデータ処理装置がネットワークに接続している場合、複数のデータ処理装置のそれぞれを識別する通信ＩＤを複数のデータ処理装置のすべてに設定し、通信ＩＤにより書換対象装置を特定することが考えられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１５７１６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
複数のデータ処理装置のすべてに異なる通信ＩＤを設定すると、通信ＩＤが不足するおそれがある。
本開示の一側面は、通信ＩＤの不足を解消しつつ、車載の複数のデータ処理装置からデータの書換装置がデータを書き換える書換対象装置を特定する技術を提供することにある。
【課題を解決するための手段】
【０００６】
本開示の一態様は、通信部（２２、８２、Ｓ４２０、Ｓ４２６、Ｓ４３０、Ｓ４３６）と、特定情報部（２８、８８、Ｓ４３２、Ｓ４８２）と、特定部（３０、９０、Ｓ４３４、Ｓ４４０〜Ｓ４５４、Ｓ４７０〜Ｓ４７６、Ｓ４８８〜Ｓ４９２）と、を備えている。
【０００７】
通信部は、同一の通信ＩＤを有する車載の複数のデータ処理装置（２０、４０、５０、６０、８０、１００）のいずれがデータの書換装置（１０）がデータを書き換える書換対象装置であるかを特定するための第１の特定情報を書換装置から受信する。特定情報部は、当該装置（２０、６０、８０）が書換対象装置であるか否かを判定するための第２の特定情報を生成する。
【０００８】
特定部は、書換装置から通信部が受信する第１の特定情報と、特定情報部が生成する第２の特定情報とが一致するか否かに基づいて、当該装置が書換対象装置であるか、あるいは、複数のデータ処理装置のうち当該装置以外の他のデータ処理装置（４０、５０、１００）のいずれかが書換対象装置であるかを特定する。
【０００９】
本開示の一態様において当該装置は、上記の通信部と、特定情報部と、特定部と、を備えるデータ処理装置である。
この構成によれば、当該装置を含む複数のデータ処理装置に同じ通信ＩＤを設定しても、書換装置から受信する第１の特定情報と当該装置が生成する第２の特定情報とが一致すれば、当該装置が書換対象装置であると特定できる。これに対し、第１の特定情報と第２の特定情報とが一致しなければ、当該装置以外の他のデータ処理装置のいずれかが書換対象装置であると特定できる。
【００１０】
したがって、複数のデータ処理装置のそれぞれに異なる通信ＩＤを設定する場合に比べ、通信ＩＤの不足を解消しつつ、書換装置がデータを書き換える書換対象装置を特定できる。
【００１１】
尚、この欄および特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態のデータ処理システムを示すブロック図。
【図２】データ書換処理の全体を示すシーケンス図。
【図３】書換装置によるデータ書換処理を示すフローチャート。
【図４】プログラムとＫｅｙ生成アルゴリズムとの対応を示すテーブル。
【図５】メインＥＣＵによるデータ書換処理を示すフローチャート。
【図６】メインＥＣＵによる照合処理を示すフローチャート。
【図７】サブＥＣＵによるデータ書換処理を示すフローチャート。
【図８】第２実施形態のデータ処理システムを示すブロック図。
【図９】メインＥＣＵによるデータ書換処理を示すフローチャート。
【図１０】サブＥＣＵによるデータ書換処理を示すフローチャート。
【図１１】第３実施形態のデータ処理システムを示すブロック図。
【図１２】第４実施形態のデータ処理システムを示すブロック図。
【発明を実施するための形態】
【００１３】
以下、本開示を実施するための形態を図に基づいて説明する。
［１．第１実施形態］
［１−１．構成］
図１に示す第１実施形態のデータ処理システム４は、車両２に搭載されている。データ処理システム４は、複数のメインＥＣＵ２０と、各メインＥＣＵ２０に接続する少なくとも一つのサブＥＣＵ４０とを備えている。ＥＣＵはElectronic Control Unitの略である。
【００１４】
メインＥＣＵ２０とサブＥＣＵ４０とは、車載の各種センサの検出信号等のデータを入力して処理し、車両２の走行を制御するデータ処理装置である。メインＥＣＵ２０は第１のデータ処理装置に対応し、サブＥＣＵ４０は第２のデータ処理装置に対応している。
【００１５】
複数のメインＥＣＵ２０は、それぞれ車両２のジェネラルバス２００に接続している。各メインＥＣＵ２０と各メインＥＣＵ２０に接続する少なくとも一つのサブＥＣＵ４０とは、それぞれローカルバス２１０に接続している。ジェネラルバス２００とローカルバス２１０とは、例えばＣＡＮバスである。ＣＡＮは、登録商標であり、Controller Area Networkの略である。
【００１６】
書換装置１０は、複数のメインＥＣＵ２０と複数のサブＥＣＵ４０とのいずれかのデータを書き換えるときに、コネクタ２０２に接続して車両２のジェネラルバス２００に接続する。書換装置１０による書換対象のデータは、プログラムであってもよいし、制御データ等のデータ自体であってもよい。
【００１７】
メインＥＣＵ２０とサブＥＣＵ４０とは、それぞれＣＰＵと、ＲＡＭ、ＲＯＭ、フラッシュメモリ等の半導体メモリとを備えるマイクロコンピュータ、ならびに通信インターフェースとしてＣＡＮコントローラを搭載している。メインＥＣＵ２０とサブＥＣＵ４０とを構成するマイクロコンピュータの数は一つでも複数でもよい。以下、マイクロコンピュータを単にマイコンとも言う。
【００１８】
メインＥＣＵ２０とサブＥＣＵ４０との各機能は、主にマイコンとＣＡＮコントローラとにより実現される。マイコンの場合は、ＣＰＵがＲＯＭまたはフラッシュメモリ等の非遷移的実体的記録媒体に記憶されているプログラムを実行することにより、メインＥＣＵ２０とサブＥＣＵ４０との機能を実現する。このプログラムが実行されることにより、プログラムに対応する方法が実行される。
【００１９】
メインＥＣＵ２０は、各機能の構成として、第１の通信部２２と、第２の通信部２４と、元情報部２６と、特定情報部２８と、特定部３０と、メモリ３２と、を備えている。メモリ３２は、マイコンのＲＡＭ、ＲＯＭ、フラッシュメモリに対応し、プログラムと制御データ等を記憶している。
【００２０】
サブＥＣＵ４０は、各機能の構成として、通信部４２と、特定情報部４４と、メモリ４６と、を備えている。メモリ４６は、マイコンのＲＡＭ、ＲＯＭ、フラッシュメモリに対応し、プログラムと制御データ等を記憶している。
【００２１】
メインＥＣＵ２０とサブＥＣＵ４０とを構成するこれらの要素を実現する手法は、ソフトウェアに限るものではなく、その一部または全部の要素を、論理回路やアナログ回路等を組み合わせたハードウェアを用いてもよい。
【００２２】
尚、書換装置１０による書換対象のデータは、メインＥＣＵ２０のメモリ３２とサブＥＣＵ４０のメモリ４６とのうち、書換可能な不揮発性の記憶装置であるフラッシュメモリに記憶されているデータである。
【００２３】
メインＥＣＵ２０の第１の通信部２２は、ジェネラルバス２００に接続している書換装置１０および他のメインＥＣＵ２０とメインＥＣＵ２０が通信するための通信部である。メインＥＣＵ２０の第２の通信部２４は、ローカルバス２１０に接続しているサブＥＣＵ４０とメインＥＣＵ２０が通信するための通信部である。
【００２４】
サブＥＣＵ４０の通信部４２は、ローカルバス２１０に接続しているメインＥＣＵ２０および他のサブＥＣＵ４０とサブＥＣＵ４０が通信するための通信部である。
ジェネラルバス２００に接続している書換装置１０と、ローカルバス２１０に接続しているサブＥＣＵ４０との通信は、第１の通信部２２と第２の通信部２４とによりメインＥＣＵ２０が中継する。
【００２５】
ジェネラルバス２００に接続している複数のメインＥＣＵ２０には、それぞれ書換装置１０と直接通信するために、ジェネラルバス２００において固有のＣＡＮＩＤが通信ＩＤとして設定されている。各ローカルバス２１０に接続しているメインＥＣＵ２０と少なくとも一つのサブＥＣＵ４０とには、それぞれ互いに通信するために、ローカルバス２１０において固有のＣＡＮＩＤが通信ＩＤとして設定されている。
【００２６】
ジェネラルバス２００のＣＡＮＩＤと、ローカルバス２１０のＣＡＮＩＤとは、独立して設定される。
書換装置１０にとっては、各メインＥＣＵ２０と、各メインＥＣＵ２０とローカルバス２１０で接続している少なくとも一つのサブＥＣＵ４０とは、同じＣＡＮＩＤを有する装置とみなされる。以下、同じＣＡＮＩＤを有するメインＥＣＵ２０と、メインＥＣＵ２０とローカルバス２１０で接続している少なくとも一つのサブＥＣＵ４０とを合わせて、ＥＣＵグループとも言う。
【００２７】
［１−２．処理］
（１）処理の全体
データ書換処理において、書換装置１０とメインＥＣＵ２０とサブＥＣＵ４０とがそれぞれ実行する処理について、図２に基づいて簡単に説明する。
【００２８】
書換装置１０は、一つのＥＣＵグループのいずれかのＥＣＵのデータを書き換える場合、まず、ＣＡＮＩＤにより書換対象のＥＣＵグループを特定し、Ｓｅｅｄ要求を送信する。ＥＣＵグループにおいて書換装置１０と直接通信できるのはメインＥＣＵ２０だけであるから、書換装置１０が送信するＳｅｅｄ要求は、ＣＡＮＩＤで特定されるメインＥＣＵ２０が受信する。
【００２９】
書換装置１０は、Ｓｅｅｄ要求に対する応答として書換対象のＥＣＵグループのメインＥＣＵ２０から元情報としてＳｅｅｄを受信する。書換装置１０は、書換対象のＥＣＵグループのＥＣＵのうち書換装置１０が今回データを書き換える書換対象装置に固有のアルゴリズムにより第１の特定情報としてＫｅｙを生成する。書換装置１０は、生成したＫｅｙを書換対象のＥＣＵグループ宛に送信する。
【００３０】
書換装置１０は、送信したＫｅｙに対し、書換対象のＥＣＵグループからＫｅｙの照合結果が正常であり、書換対象装置のセキュリティがアンロックになったことを受信すると、書換データを送信しデータの書き換えを開始する。
【００３１】
書換対象のＥＣＵグループのメインＥＣＵ２０は、Ｓｅｅｄ要求を受信する毎に、ランダムな値を有するデータ列をＳｅｅｄとして生成し、生成したＳｅｅｄを書換装置１０とサブＥＣＵ４０とに送信する。さらに、メインＥＣＵ２０は、生成したＳｅｅｄをメインＥＣＵ２０に設定された固有のアルゴリズに代入し、メインＥＣＵ２０に固有の第２の特定情報としてＫｅｙを生成する。
【００３２】
メインＥＣＵ２０は、メインＥＣＵ２０が生成したＫｅｙとサブＥＣＵ４０から受信したＫｅｙとのうち、いずれが書換装置１０から受信したＫｅｙと一致するかを照合し、一致するＥＣＵを書換装置１０がデータを書き換える書換対象装置として特定する。メインＥＣＵ２０は、特定した書換対象装置を記憶しておく。
【００３３】
メインＥＣＵ２０は、書換対象装置がサブＥＣＵ４０のいずれかであれば、書換装置１０によるデータの書き換えに対する該当するサブＥＣＵ４０のセキュリティを解除し、書換装置１０が送信する書換データを中継してサブＥＣＵ４０に送信する。メインＥＣＵ２０は、書換対象装置がメインＥＣＵ２０であれば、書換装置１０によるデータの書き換えに対するメインＥＣＵ２０のセキュリティを解除する。
【００３４】
メインＥＣＵ２０は、書換対象装置が特定されたことを示すＫｅｙの照合結果が正常であり、書換対象装置であるメインＥＣＵ２０またはサブＥＣＵ４０のセキュリティを解除したことを書換装置１０に送信する。
【００３５】
メインＥＣＵ２０からＳｅｅｄを受信した同じローカルバス２１０に接続している少なくとも一つのサブＥＣＵ４０は、受信したＳｅｅｄをサブＥＣＵ４０毎に設定された固有のアルゴリズに代入し、サブＥＣＵ４０毎に固有の第３の特定情報としてＫｅｙを生成する。サブＥＣＵ４０は、生成したＫｅｙをメインＥＣＵ２０に送信する。
【００３６】
（２）装置毎の処理
次に、装置毎の処理について、書換装置１０は図３、メインＥＣＵ２０は図５および図６、サブＥＣＵ４０は図７のフローチャートに基づいて説明する。
【００３７】
（２−１）書換装置１０によるデータ書換処理
書換装置１０は、図３のＳ４００において、書換対象のＥＣＵグループにＳｅｅｄ要求を送信し、Ｓ４０２において、Ｓｅｅｄ要求に対する応答として書換対象のＥＣＵグループからＳｅｅｄを受信する。
【００３８】
Ｓ４０４において書換装置１０は、図４に示すテーブル３００から書換対象装置に対応するアルゴリズムを選択する。Ｓ４０６において書換装置１０は、選択したアルゴリズムに受信したＳｅｅｄを代入し、書換対象装置を特定するためのＫｅｙを生成する。
【００３９】
図４に示すテーブル３００は、メインＥＣＵ２０のメモリ３２と、サブＥＣＵ４０のメモリ４６とにそれぞれ記憶されているプログラムと、プログラム毎に設定されたＳｅｅｄからＫｅｙを生成するためのアルゴリズムとの対応を示すテーブルである。
【００４０】
例えば、一つのメインＥＣＵ２０のメモリ３２に記憶されているプログラムをＡ＿ＰＲＯＧとし、そのメインＥＣＵ２０とローカルバス２１０で接続している複数のサブＥＣＵ４０のメモリ４６にそれぞれに記憶されているプログラムをａ１＿ＰＲＯＧ、ａ２＿ＰＲＯＧとする。そして、Ａ＿ＰＲＯＧ、ａ１＿ＰＲＯＧ、ａ２＿ＰＲＯＧのそれぞれに対応するアルゴリズムを、Ａ＿ＡＬＧＯ、ａ１＿ＡＬＧＰ、ａ２＿ＡＬＧＯとする。
【００４１】
各アルゴリズムは図１に示す複数のメインＥＣＵ２０と複数のサブＥＣＵ４０とのそれぞれが記憶しているプログラムに固有のものである。
書換装置１０は、例えば書換対象装置がＡ＿ＰＲＯＧを記憶しているメインＥＣＵ２０であれば、受信したＳｅｅｄをＡ＿ＡＬＧＯに代入し、Ａ＿ＰＲＯＧを記憶しているメインＥＣＵ２０に固有のＫｅｙを生成する。また、書換対象装置がａ２＿ＰＲＯＧを記憶しているサブＥＣＵ４０であれば、受信したＳｅｅｄをａ２＿ＡＬＧＯに代入し、ａ２＿ＰＲＯＧを記憶しているサブＥＣＵ４０に固有のＫｅｙを生成する。
【００４２】
尚、図４のテーブル３００は、書換装置１０による書換対象データがプログラムの例を示しているが、書換対象データが制御データの場合、書換装置１０は、制御データとＫｅｙの生成アルゴリズムとの対応を示すテーブルを設定する。書換対象データとしてプログラムと制御データとが混在していてもよい。また、書換対象データであるプログラムと制御データとはそれぞれ、ＥＣＵ毎に一つに限らず複数でもよい。
【００４３】
Ｓ４０８において書換装置１０は、書換対象のＥＣＵグループ宛に生成したＫｅｙを送信する。Ｓ４１０において書換装置１０は、書換対象のＥＣＵグループから、Ｋｅｙの照合結果を受信する。
【００４４】
Ｓ４１２の判定がＮｏであり、受信した照合結果が異常の場合、書換装置１０は、書換対象装置に対するデータの書き換えを実行せず、本処理を終了する。Ｓ４１２の判定がＹｅｓであり、受信した照合結果が正常の場合、Ｓ４１４において書換装置１０は、書換対象のＥＣＵグループに書換データを送信する。
【００４５】
書換対象のＥＣＵグループのメインＥＣＵ２０は、書換装置１０から書換データ受信すると、書換対象装置がメインＥＣＵ２０であれば、メモリ３２に記憶されているデータのうち書換対象のデータを受信した書換データで書き換える。
【００４６】
メインＥＣＵ２０は、書換対象装置がサブＥＣＵ４０であれば該当するサブＥＣＵ４０に書換データを送信する。書換データを受信したサブＥＣＵ４０は、メモリ４６に記憶されているデータのうち書換対象のデータを受信した書換データで書き換える。
【００４７】
（２−２）メインＥＣＵ２０によるデータ書換処理
図５のＳ４２０において、第１の通信部２２が書換装置１０からＳｅｅｄ要求を受信すると、Ｓ４２２において元情報部２６は、ランダムなデータ列であるＳｅｅｄを生成する。Ｓ４２４において第２の通信部２４は、サブＥＣＵ４０に生成したＳｅｅｄを送信し、Ｓ４２６において第１の通信部２２は、書換装置１０に生成したＳｅｅｄを送信する。
【００４８】
Ｓ４２８において第２の通信部２４は、サブＥＣＵ４０がサブＥＣＵ４０に固有のアルゴリズムで生成したＫｅｙをサブＥＣＵ４０から受信する。Ｓ４３０において第１の通信部２２は、書換装置１０が生成した書換対象装置を特定するためのＫｅｙを書換装置１０から受信する。
【００４９】
Ｓ４３２において特定情報部２８は、受信したＳｅｅｄをメインＥＣＵ２０に固有のアルゴリズムに代入してＫｅｙを生成する。Ｓ４３４において特定部３０は、書換装置１０から受信したＫｅｙに対し、特定情報部２８が生成したＫｅｙとサブＥＣＵ４０から受信したＫｅｙとのいずれが一致するかを照合し、書換装置１０がデータを書き換える書換対象装置を特定する。この照合処理の詳細については、図６に基づいて後述する。
【００５０】
Ｓ４３６において第１の通信部２２は、Ｓ４３４における照合結果を書換装置１０に送信する。
（２−３）メインＥＣＵ２０による照合処理
Ｓ４３４の照合処理の詳細を示す図６のＳ４４０において特定部３０は、書換装置１０から受信したＫｅｙと特定情報部２８が生成したＫｅｙとが一致するか否かを判定する。Ｓ４４０の判定がＮｏであり、書換装置１０から受信したＫｅｙと特定情報部２８が生成したＫｅｙとが不一致の場合、処理はＳ４４６に移行する。
【００５１】
Ｓ４４０の判定がＹｅｓであり、書換装置１０から受信したＫｅｙと特定情報部２８が生成したＫｅｙとが一致する場合、特定部３０は、メインＥＣＵ２０が書換装置１０によるデータの書換対象装置であると特定する。
【００５２】
この場合、Ｓ４４２において特定部３０は、メインＥＣＵ２０が今回の書換対象装置であることを記憶しておき、書換装置１０によるデータの書き換えに対するメインＥＣＵ２０のセキュリティを解除する。メインＥＣＵ２０が今回の書換対象装置であることを記憶することにより、書換装置１０から書換データを受信したときに、メインＥＣＵ２０に対する書換データであると認識できる。
【００５３】
さらに、Ｓ４４４において特定部３０は、メインＥＣＵ２０に対する書換装置１０の通信モードをアンロックに設定する。
Ｓ４４２とＳ４４４とを実行することにより特定部３０は、メインＥＣＵ２０のメモリ３２に対する書換装置１０からのデータの書き換えを許可する。Ｓ４４４を実行すると、処理はＳ４５２に移行する。
【００５４】
Ｓ４４６において特定部３０は、書換装置１０から受信したＫｅｙとサブＥＣＵ４０から受信したＫｅｙのいずれかとが一致するか否かを判定する。Ｓ４４６の判定がＮｏであり、サブＥＣＵ４０から受信したＫｅｙのいずれもが書換装置１０から受信したＫｅｙと不一致の場合、Ｓ４５４において特定部３０は、Ｋｅｙの照合結果として異常を設定する。
【００５５】
Ｓ４４６の判定がＹｅｓであり、書換装置１０から受信したＫｅｙとサブＥＣＵ４０から受信したＫｅｙのいずれかとが一致する場合、Ｓ４４８において特定部３０は、書換装置１０とＫｅｙが一致したサブＥＣＵ４０のセキュリティを解除する。さらに、Ｓ４４８において特定部３０は、書換装置１０とＫｅｙが一致したサブＥＣＵ４０が書換対象装置であることを記憶しておく。
【００５６】
書換対象装置のサブＥＣＵ４０を記憶しておくことにより、書換装置１０から書換データを受信したときに、メインＥＣＵ２０は、ローカルバス２１０において書換対象装置のサブＥＣＵ４０をＣＡＮＩＤで特定して書換データを送信できる。
【００５７】
Ｓ４５０において特定部３０は、Ｋｅｙの一致したサブＥＣＵ４０に対する書換装置１０の通信モードをアンロックに設定する。
Ｓ４４８とＳ４５０とを実行することにより特定部３０は、Ｋｅｙの一致したサブＥＣＵ４０のメモリ４６に対する書換装置１０からのデータの書き換えを許可する。Ｓ４５０を実行すると、処理はＳ４５２に移行する。
【００５８】
Ｓ４５２において特定部３０は、Ｋｅｙの照合結果として正常を設定する。
（２−４）サブＥＣＵ４０によるデータ書換処理
図７に示すＳ４６０において通信部４２は、メインＥＣＵ２０からＳｅｅｄを受信する。Ｓ４６２において特定情報部４４は、受信したＳｅｅｄをサブＥＣＵ４０毎に固有のアルゴリズムに代入してＫｅｙを生成する。Ｓ４６４において通信部４２は、特定情報部４４が生成したＫｅｙをメインＥＣＵ２０に送信する。
【００５９】
［１−３．効果］
以上説明した第１実施形態によれば、以下の効果を得ることができる。
（１）ジェネラルバス２００に接続している一つのメインＥＣＵ２０と、メインＥＣＵ２０とローカルバス２１０で接続している少なくとも一つのサブＥＣＵ４０とは、ジェネラルバス２００に接続している書換装置１０からみて、同じＣＡＮＩＤを有している。
【００６０】
一つのＥＣＵグループのいずれかのＥＣＵのデータを書き換える場合、書換装置１０は書換対象装置が分かっているので、テーブル３００に基づいて書換対象装置のアルゴリズムでＳｅｅｄからＫｅｙを生成する。一つのＥＣＵグループの各ＥＣＵはＥＣＵ毎に固有のアルゴリズムでＳｅｅｄからＫｅｙを生成する。
【００６１】
そして、書換装置１０が生成するＫｅｙと、一つのＥＣＵグループの各ＥＣＵが生成するＫｅｙとのいずれが一致するかを照合することにより、複数のＥＣＵが同じＣＡＮＩＤを有していても、メインＥＣＵ２０は書換装置１０による書換対象装置を特定できる。これにより、ジェネラルバス２００におけるＣＡＮＩＤの不足を解消できる。
【００６２】
（２）書換装置１０からＳｅｅｄ要求を受信する毎に、メインＥＣＵ２０はランダムな値を有するデータ列をＳｅｅｄとして生成する。したがって、メインＥＣＵ２０が生成する毎にＳｅｅｄの値は異なる。このＳｅｅｄから書換装置１０とメインＥＣＵ２０とサブＥＣＵ４０とが生成するＫｅｙを照合してメインＥＣＵ２０は書換対象装置を特定するので、データの書き換えのセキュリティが向上する。
【００６３】
［２．第２実施形態］
［２−１．構成］
図８に示す第２実施形態のデータ処理システム６おいて、第１実施形態のデータ処理システム４と同一構成部分については同一符号を用いる。第１実施形態と同一符号については、先行する説明を参照する。
【００６４】
第２実施形態のサブＥＣＵ５０は、通信部４２と特定情報部４４とメモリ４６とに加え、元情報部５２と照合部５４とを備えている点で、第１実施形態のサブＥＣＵ４０と異なっている。
【００６５】
［２−２．処理］
第２実施形態では、第１実施形態のデータ書換処理に加え、さらに、サブＥＣＵ５０に対するデータの書き換えが正常な処理であるか否かを判定する。
【００６６】
（１）メインＥＣＵ２０
メインＥＣＵ２０が実行する図９のＳ４７０〜Ｓ４７６の処理は、図６のＳ４４０〜Ｓ４４６の処理と実質的に同一なので説明を省略する。
【００６７】
図９のＳ４７８において第２の通信部２４は、書換装置１０とＫｅｙが一致したサブＥＣＵ５０にＳｅｅｄ要求を送信する。Ｓ４８０において第２の通信部２４は、サブＥＣＵ５０からＳｅｅｄを受信する。Ｓ４８２において特定情報部２８は、書換装置１０とＫｅｙが一致したサブＥＣＵ５０に固有のアルゴリズムにＳｅｅｄを代入してＫｅｙを生成する。Ｓ４８４において第２の通信部２４は、サブＥＣＵ５０に生成したＫｅｙを送信する。
【００６８】
つまり、第２実施形態では、メインＥＣＵ２０は、ローカルバス２１０でメインＥＣＵ２０に接続しているすべてのサブＥＣＵ５０がＳｅｅｄからＫｅｙを生成する時に使用するアルゴリズムを記憶している。
【００６９】
第２の通信部２４は、Ｓ４８６においてサブＥＣＵ５０からＫｅｙの照合結果を受信する。Ｓ４８８において特定部３０は、受信した照合結果が正常であるか否かを判定する。
Ｓ４８８の判定がＹｅｓであり、照合結果が正常の場合、Ｓ４９０において特定部３０は、照合結果に正常を設定する。Ｓ４８８の判定がＮｏであり、照合結果が異常の場合、Ｓ４９２において特定部３０は、照合結果に異常を設定する。
【００７０】
（２）サブＥＣＵ５０
図１０のＳ５００において通信部４２は、メインＥＣＵ２０からＳｅｅｄ要求を受信する。元情報部５２は、Ｓ５０２においてランダムな値を有するデータ列をＳｅｅｄとして生成する。Ｓ５０４において通信部４２は、生成したＳｅｅｄをメインＥＣＵ２０に送信する。
【００７１】
Ｓ５０６において通信部４２は、メインＥＣＵ２０からメインＥＣＵ２０が生成したＫｅｙを受信する。Ｓ５０８において特定情報部４４は、元情報部５２が生成したＳｅｅｄをサブＥＣＵ５０毎に固有のアルゴリズムに代入してＫｅｙを生成する。
【００７２】
Ｓ５１０において照合部５４は、特定情報部４４が生成したＫｅｙとメインＥＣＵ２０から受信したＫｅｙとが一致するか否かを判定する。
Ｓ５１０の判定がＹｅｓであり、特定情報部４４が生成したＫｅｙとメインＥＣＵ２０から受信したＫｅｙとが一致すると、Ｓ５１２において照合部５４は、サブＥＣＵ５０のセキュリティを解除する。Ｓ５１４において照合部５４は、Ｋｅｙの照合結果を正常に設定し、Ｓ５２０に処理を移行する。
【００７３】
Ｓ５１０の判定がＮｏであり、特定情報部４４が生成したＫｅｙとメインＥＣＵ２０から受信したＫｅｙとが不一致の場合、Ｓ５１６において照合部５４は、サブＥＣＵ５０のセキュリティを保持する。Ｓ５１８において照合部５４は、Ｋｅｙの照合結果を異常に設定し、Ｓ５２０に処理を移行する。
【００７４】
特定情報部４４が生成したＫｅｙとメインＥＣＵ２０から受信したＫｅｙとが不一致の場合、サブＥＣＵ５０はセキュリティを保持するので、メインＥＣＵ２０から書換データが送信されても、サブＥＣＵ５０はメモリ４６のデータを書き換えない。
【００７５】
Ｓ５２０において通信部４２は、Ｋｅｙの照合結果をメインＥＣＵ２０に送信する。
［２−３．効果］
以上説明した第２実施形態によると、第１実施形態の効果に加え、以下の効果を得ることができる。
【００７６】
メインＥＣＵ２０とサブＥＣＵ５０との間において、メインＥＣＵ２０が生成するＫｅｙとサブＥＣＵ５０が生成するＫｅｙとが一致するか否かを照合し、サブＥＣＵ４０に対するデータの書き換えが正常な処理であるか否かを判定する。
【００７７】
不正なメインＥＣＵはサブＥＣＵ５０がＳｅｅｄからＫｅｙを生成するアルゴリズムを知らないので、メインＥＣＵ２０が生成するＫｅｙとサブＥＣＵ５０が生成するＫｅｙとは一致せず、サブＥＣＵ５０による照合結果は異常に設定される。したがって、不正なメインＥＣＵはサブＥＣＵ５０のデータを書き換えることができない。
【００７８】
［３．第３実施形態］
［３−１．構成］
図１１に示す第３実施形態において、第１実施形態と同じ符号は同じ構成を示すものであって、先行する説明を参照する。
【００７９】
車載のデータ処理システム８では、メインＥＣＵ６０とサブＥＣＵ４０とを接続するローカルバス２２０は、ＣＡＮバスであるジェネラルバス２００とは異なる通信プロトコルのバスである。例えば、ローカルバス２２０の通信プロトコルは、ＬＩＮ、イーサネット等である。ＬＩＮはLocal Interconnect Networkの略である。イーサネットは登録商標である。
【００８０】
メインＥＣＵ６０は、書換装置１０とサブＥＣＵ４０との通信を中継するために、ジェネラルバス２００とローカルバス２２０との一方の通信プロトコルを他方の通信プロトコルに変換する変換部３４を備えている。
【００８１】
［３−２．効果］
第３実施形態では、第１実施形態の効果に加え、以下の効果を得ることができる。
変換部３４がジェネラルバス２００とローカルバス２２０との一方の通信プロトコルを他方の通信プロトコルに変換して書換装置１０とサブＥＣＵ４０との通信を中継するので、ジェネラルバス２００とローカルバス２２０との通信プロトコルの設定の自由度が向上する。
【００８２】
［４．第４実施形態］
［４−１．構成］
図１２に示す第４実施形態において、第３実施形態と同じ符号は同じ構成を示すものであって、先行する説明を参照する。車載のデータ処理システム７０は、一つのメインマイコン８０と複数のサブマイコン１００とを備えている。
【００８３】
データ処理システム７０が第３実施形態のデータ処理システム８に対応し、メインマイコン８０が第３実施形態のメインＥＣＵ６０に対応し、サブマイコン１００が第３実施形態のサブＥＣＵ４０に対応している。尚、データ処理システム７０は、第３実施形態の複数のメインＥＣＵ２０のうちのいずれかであってもよい。
【００８４】
メインマイコン８０の第１の通信部８２と、第２の通信部８４と、元情報部８６と、特定情報部８８と、特定部９０と、メモリ９２、変換部９４とはそれぞれ、第３実施形態のメインＥＣＵ２０の第１の通信部２２と、第２の通信部２４と、元情報部２６と、特定情報部２８と、特定部３０と、メモリ３２、変換部３４とに対応している。
【００８５】
さらに、サブマイコン１００の通信部１０２と、特定情報部１０４と、メモリ１０６とはそれぞれ、第３実施形態のサブＥＣＵ４０の通信部４２と、特定情報部４４と、メモリ４６とに対応している。
【００８６】
書換装置１０とデータ処理システム７０とはコネクタ２０２によりジェネラルバス２００に接続している。一つのメインマイコン８０と複数のサブマイコン１００とは、ジェネラルバス２００とは異なる通信プロトコルのローカルバス２３０で接続している。
【００８７】
書換装置１０とデータ処理システム７０との構成は第３実施形態のデータ処理システム８に対応しているので、書換装置１０とデータ処理システム７０との構成についての説明は省略する。
【００８８】
書換装置１０は、データ処理システム７０内の一つのメインマイコン８０または複数のサブマイコン１００のいずれかに対してデータの書き換えを行う。したがって、書換装置１０は、一つのメインマイコン８０と複数のサブマイコン１００とがＳｅｅｄからＫｅｙを生成するためのアルゴリズムと各マイコンの書換対象のプログラムとの対応関係を示すテーブルを、第１実施形態のテーブル３００と同様に記憶している。
【００８９】
［４−２．処理］
データ書換処理において、メインマイコン８０が第１実施形態のメインＥＣＵ２０に対応し、サブマイコン１００が第１実施形態のサブＥＣＵ４０に対応している。したがって、書換装置１０、メインマイコン８０、サブマイコン１００のデータ書換処理の説明は省略する。
【００９０】
［４−３．効果］
第４実施形態では、書換装置１０によるメインマイコン８０、サブマイコン１００に対するデータ書換処理において、第３実施形態と同様の効果を得ることができる。
【００９１】
以上説明した上記実施形態において、メインＥＣＵ２０、６０、サブＥＣＵ４０、５０、メインマイコン８０、サブマイコン１００がデータ処理装置に対応する。
また、上記実施形態において、メインＥＣＵ２０、６０、メインマイコン８０が第１のデータ処理装置に対応し、サブＥＣＵ４０、５０、サブマイコン１００が第２のデータ処理装置に対応する。
【００９２】
また、上記実施形態において、サブＥＣＵ４０、５０の通信部４２とサブマイコン１００の通信部１０２とが第３の通信部に対応し、メインＥＣＵ２０、６０の特定情報部２８とメインマイコン８０の特定情報部８８とが第１の特定情報部に対応し、サブＥＣＵ４０、５０の特定情報部４４とサブマイコン１００の特定情報部１０４とが第２の特定情報部に対応する。
【００９３】
また、上記実施形態において、Ｓ４２０、Ｓ４２６、Ｓ４３０、Ｓ４３６が第１の通信部２２、８２としての処理に対応し、Ｓ４２２が元情報部２６、８６としての処理に対応し、Ｓ４２４、Ｓ４２８、Ｓ４７８、Ｓ４８０、Ｓ４８４、Ｓ４８６が第２の通信部２４、８４としての処理に対応し、Ｓ４３２、Ｓ４８２が特定情報部２８、８８としての処理に対応し、Ｓ４３４、Ｓ４４０〜Ｓ４５４、Ｓ４７０〜Ｓ４７６、Ｓ４８８〜Ｓ４９２が特定部３０、９０としての処理に対応する。
【００９４】
また、上記実施形態において、Ｓ４６０、Ｓ４６４が第３の通信部としての処理に対応し、Ｓ４６２が第２の特定情報部４４、９４としての処理に対応する。
また上記第１、第３、第４実施形態において、書換装置１０が生成するＫｅｙが第１の特定情報に対応し、メインＥＣＵ２０、６０が生成するＳｅｅｄが元情報に対応し、メインＥＣＵ２０、６０が生成するＫｅｙが第２の特定情報に対応し、サブＥＣＵ４０、５０、サブマイコン１００が生成するＫｅｙが第３の特定情報に対応する。
【００９５】
また、上記第２実施形態において、メインＥＣＵ２０が生成するＳｅｅｄが第１の元情報に対応し、サブＥＣＵ５０が生成するＳｅｅｄが第２の元情報に対応し、サブＥＣＵ５０が生成する第２の元情報であるＳｅｅｄからメインＥＣＵ２０が生成するＫｅｙが第４の特定情報に対応する。
【００９６】
［５．他の実施形態］
（１）上記実施形態では、書換装置１０がデータを書き換える書換対象装置を特定するために、Ｋｅｙを特定情報とし、Ｋｅｙを生成するためのＳｅｅｄを元情報とするＳｅｅｄ＆Ｋｅｙ方式を採用した。これ以外にも、書換対象装置を特定するために、チャレンジ＆レスポンス方式、時刻同期方式等を採用してもよい。
【００９７】
（２）上記実施形態では、同じ通信ＩＤを有するメインＥＣＵと、このメインＥＣＵとローカルバスで接続する複数のサブＥＣＵとのいずれが書換対象であるかを特定した。これに対し、書換装置と同じバスに接続し同じ通信ＩＤを有する複数のデータ処理装置のいずれが書換対象装置であるかを特定する構成でもよい。
【００９８】
この場合、複数のデータ処理装置はそれぞれ書換装置と直接通信できるので、書換装置から送信される特定情報に基づいて、各データ処理装置が当該装置、または当該装置以外の他のデータ処理装置が書換対象装置であるかを特定してもよい。
【００９９】
また、同じ通信ＩＤを有する複数のデータ処理装置のうち一つのデータ処理装置がメインのデータ処理装置になり、他のデータ処理装置がサブのデータ処理装置になってもよい。
【０１００】
この場合、メインのデータ処理装置は、書換装置から送信される第１の特定情報に対し、当該装置が生成する第２の特定情報と、サブのデータ処理装置から送信される第３の特定情報とのいずれが一致するかに基づいて、複数のデータ処理装置のうちどの装置が書換対象装置であるかを特定してもよい。
【０１０１】
書換装置から送信されるＫｅｙと、プログラム毎またはデータ毎に生成されたＫｅｙとを比較することにより、書換対象装置に記憶されている複数のプログラムまたは複数のデータのうちどれが書換対象のプログラムまたはデータであるかを特定できる。
【０１０２】
（４）上記実施形態では、書換装置１０はコネクタ２０２により有線で車両２に接続している。これに対し、書換装置１０は無線で車両２に接続してもよい。
（５）上記実施形態における一つの構成要素が有する複数の機能を複数の構成要素によって実現したり、一つの構成要素が有する一つの機能を複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を一つの構成要素によって実現したり、複数の構成要素が有する一つの機能を一つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加または置換してもよい。尚、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
【０１０３】
（６）上述したデータ処理装置の他、当該データ処理装置を構成要素とするデータ処理システム、当該データ処理装置としてコンピュータを機能させるためのデータ処理プログラム、このデータ処理プログラムを記録した記録媒体、データ処理方法など、種々の形態で本開示を実現することもできる。
【符号の説明】
【０１０４】
２：車両、４、６、８、７０：データ処理システム、１０：書換装置、２０、６０：メインＥＣＵ（データ処理装置、第１のデータ処理装置）、２２、８２：第１の通信部、２４、８４：第２の通信部、２６、８６：元情報部（第１の元情報部）、２８、８８：特定情報部（第１の特定情報部）、３０、９０：特定部、３４：変換部、４０、５０：サブＥＣＵ（データ処理装置、第２のデータ処理装置）、４２、１０２：通信部（第３の通信部）、４４、１０４：特定情報部（第２の特定情報部）、５２：元情報部、５４：照合部、８０：メインマイコン（データ処理装置、第１のデータ処理装置）、１００：サブマイコン（データ処理装置、第２のデータ処理装置）
【図１】
0006512134.tif 000002
【図２】
0006512134.tif 000003
【図３】
0006512134.tif 000004
【図４】
0006512134.tif 000005
【図５】
0006512134.tif 000006
【図６】
0006512134.tif 000007
【図７】
0006512134.tif 000008
【図８】
0006512134.tif 000009
【図９】
0006512134.tif 000010
【図１０】
0006512134.tif 000011
【図１１】
0006512134.tif 000012
【図１２】
0006512134.tif 000013