(57)【特許請求の範囲】
【請求項１】
マスター鍵を共有する複数の電子制御装置がネットワークを介して接続された通信システムにおいて、第１の電子制御装置によって行われる複数の第２の電子制御装置の検証方法であって、
前記マスター鍵を用いたセッション鍵の鍵交換メッセージを前記複数の第２の電子制御装置にそれぞれ送信するステップ、
前記鍵交換メッセージに対する応答メッセージを前記複数の第２の電子制御装置からそれぞれ受信し、受信した順に記憶部に格納するステップ、
前記受信した順番で前記記憶部に格納された前記応答メッセージを検証するステップ、
前記応答メッセージの検証が終了した第２の電子制御装置を、当該検証が終了した順番で前記記憶部に記憶するステップ、
検証待ちの応答メッセージが前記記憶部に格納されており、かつ、検証済みの第２の電子制御装置が前記記憶部に記憶されている場合、当該検証済みの第２の電子制御装置に当該検証待ちの応答メッセージを送信して当該検証待ちの応答メッセージの検証を依頼すると共に、当該検証を依頼した応答メッセージを前記第１の電子制御装置による検証の対象から除外するステップ、
前記検証を依頼した前記検証済みの第２の電子制御装置から受信する応答メッセージの検証結果に基づいて、当該応答メッセージの送信元となる第２の電子制御装置の検証を終了するステップを含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の電子制御装置（Electronic Control Unit：ＥＣＵ）がネットワークを介して接続された通信システムにおいて、電子制御装置を検証する方法に関する。
【背景技術】
【０００２】
例えば特許文献１には、第１のネットワークの電子制御装置から第２のネットワークの電子制御装置へセッション鍵付きのメッセージを送信する場合、双方のネットワーク間に介在するセキュアゲートウエイ（ＳＧＷ）がセッション鍵を検証し、検証の成功または失敗に関する情報をメッセージに付加して第２のネットワークの電子制御装置へ送信する、技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４ー１８３３９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１に記載された従来の通信システムでは、セッション鍵の検証をセキュア・ゲートウエイ（ＳＧＷ）だけが行う。このため、例えば、セキュア・ゲートウエイ（ＳＧＷ）がネットワークに接続された全ての電子制御装置の検証を行う必要があるような場合には、セキュア・ゲートウエイ（ＳＧＷ）が全ての電子制御装置の検証を終えるまでに時間がかかる。
【０００５】
本発明は、上記課題を鑑みてなされたものであり、複数の電子制御装置がネットワークを介して接続された通信システムで実行される、電子制御装置の検証時間を短縮することができる検証方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明は、マスター鍵を共有する複数の電子制御装置がネットワークを介して接続された通信システムにおいて、第１の電子制御装置によって行われる複数の第２の電子制御装置の検証方法であって、マスター鍵を用いたセッション鍵の鍵交換メッセージを複数の第２の電子制御装置にそれぞれ送信するステップ、鍵交換メッセージに対する応答メッセージを複数の第２の電子制御装置からそれぞれ受信し、受信した順に記憶部に格納するステップ、受信した順番で記憶部に格納された応答メッセージを検証するステップ、応答メッセージの検証が終了した第２の電子制御装置を、検証が終了した順番で記憶部に記憶するステップ、検証待ちの応答メッセージが記憶部に格納されており、かつ、検証済みの第２の電子制御装置が記憶部に記憶されている場合、検証済みの第２の電子制御装置に検証待ちの応答メッセージを送信して検証待ちの応答メッセージの検証を依頼すると共に、検証を依頼した応答メッセージを第１の電子制御装置による検証の対象から除外するステップ、検証を依頼した検証済みの第２の電子制御装置から受信する応答メッセージの検証結果に基づいて、応答メッセージの送信元となる第２の電子制御装置の検証を終了するステップを含む、ことを特徴とする。
【０００７】
この本発明の電子制御装置の検証方法では、第１の電子制御装置が、第２の電子制御装置から受信した順序で応答メッセージの検証を順次実施して行く。一方で、検証待ちの応答メッセージが発生し、かつ、自身の処理によって検証が終了した第２の電子制御装置が存在すれば、第１の電子制御装置は、その検証済みの第２の電子制御装置に対して検証待ちの応答メッセージを送信して検証待ちの応答メッセージの検証を依頼する。
【０００８】
これにより、本電子制御装置の検証方法では、第１の電子制御装置による検証処理と並行して、先に検証が終了した第２の電子制御装置による検証処理を行うことができる。よって、第１の電子制御装置での処理負荷が軽減され、全ての第２の電子制御装置の検証が終了するまでの処理時間を短縮することができる。
【発明の効果】
【０００９】
以上述べたように、本発明の複数の電子制御装置がネットワークを介して接続された通信システムで実行される電子制御装置の検証方法によれば、第１の電子制御装置での処理負荷が軽減され、全ての第２の電子制御装置の検証が終了するまでの処理時間を短縮することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係る電子制御装置の検証方法を適用することが可能な通信システム１の構成例を示す図
【図２】第１の電子制御装置および第２の電子制御装置の構成例を示す図
【図３】第１の電子制御装置および複数の第２の電子制御装置が実行する処理シーケンスの具体的な一例
【発明を実施するための形態】
【００１１】
［概要］
本発明における第１の電子制御装置（マスターＥＣＵ）が複数の第２の電子制御装置（スレーブＥＣＵ）の検証を行う方法では、第２の電子制御装置からメッセージを受信した順序で検証処理を順次実施して行く一方で、先に検証が終わった第２の電子制御装置にも検証処理を依頼する。これにより、第１の電子制御装置による検証処理と並行して、第２の電子制御装置による検証処理を行うことができる。よって、第１の電子制御装置での処理負荷が軽減され、全ての第２の電子制御装置の検証が終了するまでの処理時間を短縮することができる。
【００１２】
以下、本発明が提供する電子制御装置の検証方法について、図面を参照しながら詳細に説明する。
【００１３】
［通信システムの構成例］
図１は、本発明の一実施形態に係る電子制御装置の検証方法を適用することが可能な通信システム１の構成例を示す図である。図１に例示した通信システム１は、第１の電子制御装置（マスターＥＣＵ）１０と複数の第２の電子制御装置（スレーブＥＣＵ）２０とが、ネットワーク３０によって通信可能に接続された構成である。この第１の電子制御装置１０と複数の第２の電子制御装置２０とは、マスター鍵ｍを共有する。
【００１４】
第１の電子制御装置１０は、例えばＣＡＮ（Controller Area Network）などのネットワーク３０における通信の制御や管理を行う、例えばセントラル・ゲートウエイ（ＣＧＷ）などの電子制御装置である。この第１の電子制御装置１０は、図２に例示するように、通信部１１、記憶部１２、および制御部１３を備えている。
【００１５】
通信部１１は、マスター鍵ｍを用いたセッション鍵の鍵交換メッセージなどを複数の第２の電子制御装置２０へ送信する。また、通信部１１は、複数の第２の電子制御装置２０から鍵交換メッセージに対する応答メッセージなどを受信する。通信部１１によって受信された応答メッセージは、記憶部１２に格納される。
【００１６】
記憶部（メモリ）１２は、ネットワーク３０に接続されている複数の第２の電子制御装置２０と共有するマスター鍵ｍなどを記憶する。また、記憶部１２には、後述する検証処理において使用される、対象リストＬ１、検証待ちリストＬ２、および検証済みリストＬ３としての作業領域を有している。
【００１７】
制御部１３は、例えば、ネットワーク３０において通信を行う際に各電子制御装置が共有して使用するセッション鍵ｓを生成したり、この生成したセッション鍵ｓを各電子制御装置が予め共有して保持するマスター鍵ｍで暗号化したりする。また、制御部１３は、第２の電子制御装置２０から送信されてくる応答メッセージに添付された認証コード（ＭＡＣ）の検証を行う。さらに、制御部１３は、後述する検証処理において、所定の第２の電子制御装置２０に対して応答メッセージに添付された認証コード（ＭＡＣ）を送信してその認証コード（ＭＡＣ）の検証を依頼する。
【００１８】
第２の電子制御装置２０は、第１の電子制御装置１０によって通信の制御や管理がされる電子制御装置（スレーブＥＣＵ）である。この第２の電子制御装置２０は、図２に例示するように、通信部２１、記憶部２２、および制御部２３を備えている。
【００１９】
通信部２１は、マスター鍵ｍを用いたセッション鍵の鍵交換メッセージなどを第１の電子制御装置１０から受信する。また、通信部２１は、第１の電子制御装置１０へ鍵交換メッセージに対する応答メッセージなどを送信する。
【００２０】
記憶部（メモリ）２２は、ネットワーク３０に接続されている第１の電子制御装置１０や他の第２の電子制御装置２０と共有するマスター鍵ｍや、第１の電子制御装置１０から与えられるセッション鍵ｓなどを記憶する。
【００２１】
制御部２３は、例えば、ネットワーク３０において通信を行う際に各電子制御装置が共有して使用するセッション鍵ｓを、通信部２１を介して第１の電子制御装置１０から受信する所定のメッセージによって取得する。そして、制御部２３は、この取得したセッション鍵ｓを用いて認証コード（ＭＡＣ）を生成し、自身を一意に特定できる情報である識別ＩＤに当該生成した認証コード（ＭＡＣ）を添付した応答メッセージを、第１の電子制御装置１０へ送信する。また、制御部２３は、後述する検証処理において、第１の電子制御装置１０から応答メッセージに添付された認証コード（ＭＡＣ）を受信して当該認証コード（ＭＡＣ）の検証を依頼されれば、当該認証コード（ＭＡＣ）の検証を行う。
【００２２】
上述した第１の電子制御装置１０および第２の電子制御装置２０は、典型的には中央演算処理装置（ＣＰＵ：Central Processing Unit）、メモリ、および入出力インタフェースなどを含んで構成され、メモリに格納されたプログラムをＣＰＵが読み出して解釈実行することにより、上述した通信部１１、２１、記憶部１２、２２、および制御部１３、２３の各機能を実現する。
【００２３】
［通信システムで実行される電子制御装置の検証方法］
本実施形態に係る電子制御装置の検証方法は、例えば、マスター鍵ｍを共有する電子制御装置間でセキュリティの高い情報を通信する際に各装置が共有して使用するセッション鍵ｓの交換処理（鍵交換）において、各々の電子制御装置が所持する情報や装置自身の完全性を証明する場面などに利用できる。
【００２４】
以下の具体例では、第１の電子制御装置１０が通信に使用するセッション鍵ｓを生成して、複数の第２の電子制御装置２０のそれぞれへ送信（配布）し、複数の第２の電子制御装置２０がセッション鍵ｓを受信したことを第１の電子制御装置１０へ応答する。そして、第１の電子制御装置１０が、複数の第２の電子制御装置２０から受信する応答を検証する方法を説明する。
【００２５】
図３をさらに参照して、本発明の一実施形態に係る電子制御装置の検証方法を適用した通信システム１における第１の電子制御装置１０と複数の第２の電子制御装置２０との間で行われる鍵交換処理を説明する。図３は、第１の電子制御装置１０および複数の第２の電子制御装置２０が実行する処理シーケンスの具体的な一例である。なお、図３では、装置を一意に特定できる識別ＩＤがそれぞれＳ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５、Ｓ６である６つの第２の電子制御装置２０が、識別ＩＤがＭである第１の電子制御装置１０と接続されている例を説明する。
【００２６】
なお、以下の説明では、識別ＩＤがＭである第１の電子制御装置１０を「マスターＥＣＵ」と表記し、第２の電子制御装置２０を「スレーブＥＣＵ」と表記する。さらに、複数のスレーブＥＣＵを区別する必要がある場合には、識別ＩＤがＳｘであるスレーブＥＣＵを「スレーブＥＣＵ＿Ｓｘ」と表記することにする（ｘは、１〜６のいずれかの整数）。
【００２７】
まず、マスターＥＣＵは、通信の際に複数のスレーブＥＣＵと共有して使用するセッション鍵ｓを生成し、このセッション鍵ｓを記憶部１２に記憶しているマスター鍵ｍで暗号化したデータＥＮＣ（ｍ；ｓ）を生成する。そして、マスターＥＣＵは、生成したデータＥＮＣ（ｍ；ｓ）を鍵交換メッセージに添付して、複数のスレーブＥＣＵへそれぞれ送信（ブロードキャスト送信）する。
【００２８】
また、マスターＥＣＵは、鍵交換メッセージの送信に応じて、複数のスレーブＥＣＵを示す情報、例えば複数のスレーブＥＣＵの識別ＩＤを、記憶部１２に設けられた対象リストＬ１に記述（登録）する。図３に例示する（Ａ）の時点では、識別ＩＤ「Ｓ１」、「Ｓ２」、「Ｓ３」、「Ｓ４」、「Ｓ５」、および「Ｓ６」が対象リストＬ１に記述される。
【００２９】
複数のスレーブＥＣＵは、それぞれマスターＥＣＵから所定のメッセージを受信する。所定のメッセージを受信したスレーブＥＣＵは、当該メッセージに添付されているデータＥＮＣ（ｍ；ｓ）を記憶部２２に予め記憶しているマスター鍵ｍで復号して、セッション鍵ｓを取得する。次に、スレーブＥＣＵは、取得したセッション鍵ｓを用いて認証コード（ＭＡＣ）を生成する。そして、スレーブＥＣＵは、生成した認証コードを自身の識別ＩＤに添付した応答メッセージＭＡＣ（ｓ；Ｓｘ）を生成し、この生成した応答メッセージＭＡＣ（ｓ；Ｓｘ）をマスターＥＣＵへ送信する。
【００３０】
図３の例では、スレーブＥＣＵ＿Ｓ１、スレーブＥＣＵ＿Ｓ２、およびスレーブＥＣＵ＿Ｓ３の処理性能が高く、スレーブＥＣＵ＿Ｓ４、スレーブＥＣＵ＿Ｓ５、およびスレーブＥＣＵ＿Ｓ６の処理性能が低い。このため、スレーブＥＣＵ＿Ｓ１、スレーブＥＣＵ＿Ｓ２、およびスレーブＥＣＵ＿Ｓ３からの応答メッセージＭＡＣ（ｓ；Ｓ１）、ＭＡＣ（ｓ；Ｓ２）、およびＭＡＣ（ｓ；Ｓ３）が先にマスターＥＣＵへ到着し、スレーブＥＣＵ＿Ｓ４、スレーブＥＣＵ＿Ｓ５、およびスレーブＥＣＵ＿Ｓ６からの応答メッセージＭＡＣ（ｓ；Ｓ４）、ＭＡＣ（ｓ；Ｓ５）、およびＭＡＣ（ｓ；Ｓ６）は後からマスターＥＣＵへ到着することとなる。
【００３１】
マスターＥＣＵは、スレーブＥＣＵから応答メッセージＭＡＣ（ｓ；Ｓｘ）を受信すると、受信した応答メッセージＭＡＣ（ｓ；Ｓｘ）を記憶部１２に記憶すると共に、当該応答メッセージＭＡＣ（ｓ；Ｓｘ）の送信元であるスレーブＥＣＵを示す情報、例えばスレーブＥＣＵの識別ＩＤを、受信した順番で記憶部１２に設けられた検証待ちリストＬ２に記述する。
【００３２】
図３に例示する（Ｂ）の時点では、マスターＥＣＵによって先に受信された応答メッセージＭＡＣ（ｓ；Ｓｘ）の送信元であるスレーブＥＣＵの識別ＩＤ「Ｓ１」、「Ｓ２」、および「Ｓ３」が、受信した順序で検証待ちリストＬ２に記述されている。
【００３３】
応答メッセージＭＡＣ（ｓ；Ｓｘ）を受信したマスターＥＣＵは、検証待ちリストＬ２を参照して、検証待ちリストＬ２の先頭から順番に応答メッセージＭＡＣ（ｓ；Ｓｘ）に添付された認証コード（ＭＡＣ）の検証を開始する。また、マスターＥＣＵは、この検証の開始と共に、検証している応答メッセージＭＡＣ（ｓ；Ｓｘ）の送信元であるスレーブＥＣＵを示す情報を、対象リストＬ１から削除する。
【００３４】
図３に例示する（Ｃ）の時点では、マスターＥＣＵによって検証待ちリストＬ２の先頭にある識別ＩＤ「Ｓ１」、つまりスレーブＥＣＵ＿Ｓ１の応答メッセージＭＡＣ（ｓ；Ｓ１）の検証が開始されているため、識別ＩＤ「Ｓ１」が対象リストＬ１から削除されている。
【００３５】
マスターＥＣＵは、応答メッセージＭＡＣ（ｓ；Ｓｘ）の検証が終了したスレーブＥＣＵに関して、当該スレーブＥＣＵを示す情報、例えばスレーブＥＣＵの識別ＩＤを、検証が終了した順番で検証済みリストＬ３に記述すると同時に、検証待ちリストＬ２から削除する。
【００３６】
図３に例示する（Ｄ）の時点では、マスターＥＣＵによって応答メッセージＭＡＣ（ｓ；Ｓ１）の検証が終了したので、スレーブＥＣＵ＿Ｓ１の識別ＩＤ「Ｓ１」が検証済みリストＬ３に記述され、かつ、スレーブＥＣＵ＿Ｓ１の識別ＩＤ「Ｓ１」が検証待ちリストＬ２から削除されている。
【００３７】
応答メッセージＭＡＣ（ｓ；Ｓｘ）の検証が１つ終了すると、マスターＥＣＵは、検証待ちリストＬ２を参照して、検証待ちリストＬ２の先頭にある応答メッセージＭＡＣ（ｓ；Ｓｘ）に添付された認証コード（ＭＡＣ）の検証を続いて開始する。
【００３８】
図３の例では、マスターＥＣＵによって、検証待ちリストＬ２の先頭にあるスレーブＥＣＵ＿Ｓ２の応答メッセージＭＡＣ（ｓ；Ｓ２）に添付された認証コード（ＭＡＣ）の検証が続いて開始される。この検証の開始により、スレーブＥＣＵ＿Ｓ１の識別ＩＤ「Ｓ２」が対象リストＬ１から削除される。
【００３９】
ここで、マスターＥＣＵは、検証待ちリストＬ２に自身が検証を行う応答メッセージＭＡＣ（ｓ；Ｓｘ）の他に検証を待っている応答メッセージＭＡＣ（ｓ；Ｓｘ）がある場合には、検証済みリストＬ３に記述された検証済みスレーブＥＣＵがあるか否かを判断する。そして、検証を待っている応答メッセージＭＡＣ（ｓ；Ｓｘ）があり、かつ、検証済みスレーブＥＣＵがある場合には、マスターＥＣＵは、検証済みスレーブＥＣＵに、その応答メッセージＭＡＣ（ｓ；Ｓｘ）を送信して応答メッセージＭＡＣ（ｓ；Ｓｘ）の検証を依頼する。そして、マスターＥＣＵは、応答メッセージＭＡＣ（ｓ；Ｓｘ）の検証を依頼した検証済みスレーブＥＣＵを示す情報を、その検証を依頼している期間だけ一時的に検証済みリストＬ３から削除する。
【００４０】
図３に例示する（Ｄ）の時点では、応答メッセージＭＡＣ（ｓ；Ｓ３）が検証待ちであり、かつ、スレーブＥＣＵ＿Ｓ１が検証済みであるため、マスターＥＣＵからスレーブＥＣＵ＿Ｓ１に対して応答メッセージＭＡＣ（ｓ；Ｓ３）が送信されて応答メッセージＭＡＣ（ｓ；Ｓ３）の検証が依頼される。これにより、図３に例示する（Ｅ）の時点のように、マスターＥＣＵ自身が検証している応答メッセージＭＡＣ（ｓ；Ｓ２）の送信元のスレーブＥＣＵ＿Ｓ２の識別ＩＤ「Ｓ２」と、スレーブＥＣＵ＿Ｓ１に検証を依頼している応答メッセージＭＡＣ（ｓ；Ｓ３）の送信元のスレーブＥＣＵ＿Ｓ３の識別ＩＤ「Ｓ３」とが、対象リストＬ１から削除される。また、依頼により検証を行っているスレーブＥＣＵ＿Ｓ１の識別ＩＤ「Ｓ１」が、検証済みリストＬ３から一時的に削除される。
【００４１】
検証の依頼を受けたスレーブＥＣＵ＿Ｓ１は、依頼された応答メッセージＭＡＣ（ｓ；Ｓ３）の検証が終了すると、検証処理が終了したことをマスターＥＣＵに通知する。この通知は、スレーブＥＣＵ＿Ｓ１が新たに応答メッセージＭＡＣ（ｓ；Ｓｘ）の検証依頼を受け入れられる状態になったことを知らせるものであり、応答メッセージＭＡＣ（ｓ；Ｓ３）の検証結果は含まれない。その理由は、何度も検証が依頼された場合には、全ての検証結果をまとめて後から送信した方が時間を短縮できるためである。
【００４２】
その後、マスターＥＣＵは、残りのスレーブＥＣＵから応答メッセージＭＡＣ（ｓ；Ｓｘ）を受信して、受信した応答メッセージＭＡＣ（ｓ；Ｓｘ）を記憶部１２に記憶する。また、マスターＥＣＵは、応答メッセージＭＡＣ（ｓ；Ｓｘ）の送信元であるスレーブＥＣＵを示す情報、例えばスレーブＥＣＵの識別ＩＤを、受信した順番で検証待ちリストＬ２に記述する。
【００４３】
図３に例示する（Ｆ）の時点では、応答メッセージＭＡＣ（ｓ；Ｓｘ）の送信元であるスレーブＥＣＵの識別ＩＤ「Ｓ４」、「Ｓ５」、および「Ｓ６」が、受信した順序で検証待ちリストＬ２に記述されている。
【００４４】
そして、さらに応答メッセージＭＡＣ（ｓ；Ｓｘ）の検証が１つ終了すると、マスターＥＣＵは、検証待ちリストＬ２を参照して、検証待ちリストＬ２の先頭にある応答メッセージＭＡＣ（ｓ；Ｓｘ）に添付された認証コード（ＭＡＣ）の検証を続いて開始する。
【００４５】
図３の例では、マスターＥＣＵによって、検証待ちリストＬ２の先頭にあるスレーブＥＣＵ＿Ｓ４の応答メッセージＭＡＣ（ｓ；Ｓ４）に添付された認証コード（ＭＡＣ）の検証が続いて開始される。この検証の開始により、スレーブＥＣＵ＿Ｓ４の識別ＩＤ「Ｓ４」が対象リストＬ１から削除される。
【００４６】
また、図３に例示する（Ｆ）の時点では、応答メッセージＭＡＣ（ｓ；Ｓ５）および応答メッセージＭＡＣ（ｓ；Ｓ６）が検証待ちであり、かつ、スレーブＥＣＵ＿Ｓ１およびスレーブＥＣＵ＿Ｓ２が検証済みであるため、マスターＥＣＵからスレーブＥＣＵ＿Ｓ１に対して応答メッセージＭＡＣ（ｓ；Ｓ６）が送信されて応答メッセージＭＡＣ（ｓ；Ｓ６）の検証が依頼されると共に、スレーブＥＣＵ＿Ｓ２に対して応答メッセージＭＡＣ（ｓ；Ｓ５）が送信されて応答メッセージＭＡＣ（ｓ；Ｓ５）の検証が依頼される。これにより、図３に例示する（Ｇ）の時点のように、応答メッセージＭＡＣ（ｓ；Ｓｘ）が全て検証中となったため、対象リストＬ１から全ての情報が削除される。また、依頼により検証を行っているスレーブＥＣＵ＿Ｓ１の識別ＩＤ「Ｓ１」およびスレーブＥＣＵ＿Ｓ２の識別ＩＤ「Ｓ２」が、検証済みリストＬ３から一時的に削除される。
【００４７】
なお、上述した例のように、検証待ちの応答メッセージＭＡＣ（ｓ；Ｓｘ）が複数あり、かつ、検証済みのスレーブＥＣＵも複数ある場合には、検証待ちリストＬ２の最後尾の応答メッセージＭＡＣ（ｓ；Ｓ６）と検証済みリストＬ３の先頭に登録されたスレーブＥＣＵ＿Ｓ１との組み合わせで、検証が依頼される。この組み合わせで検証を依頼すれば、応答が最も遅い（処理性能が最も低いと考えられる）スレーブＥＣＵの検証を、応答が最も早い（処理性能が最も高いと考えられる）スレーブＥＣＵで実施することができるため、効率的な検証処理が期待できる。
【００４８】
そして、さらに応答メッセージＭＡＣ（ｓ；Ｓｘ）の検証が１つ終了すると、マスターＥＣＵは、検証待ちリストＬ２を参照する。図３に例示する（Ｈ）の時点では、検証待ちリストＬ２には応答メッセージＭＡＣ（ｓ；Ｓｘ）がなく、また検証を依頼したスレーブＥＣＵ＿Ｓ１およびスレーブＥＣＵ＿Ｓ２から検証処理が終了したことの通知を受けている。この場合、マスターＥＣＵは、検証を依頼したスレーブＥＣＵ、すなわちスレーブＥＣＵ＿Ｓ１およびスレーブＥＣＵ＿Ｓ２に対して、これまでの検証結果を集約して送付するように依頼を行う。
【００４９】
検証結果の送付依頼を受信したスレーブＥＣＵは、これまでの依頼によって実行した応答メッセージＭＡＣ（ｓ；Ｓｘ）の検証結果を、セッション鍵ｓを用いて生成した認証コード（ＭＡＣ）を添付してマスターＥＣＵに送信する。
【００５０】
図３の例では、スレーブＥＣＵ＿Ｓ１が応答メッセージＭＡＣ（ｓ；Ｓ３）および応答メッセージＭＡＣ（ｓ；Ｓ６）の検証結果をマスターＥＣＵに送信し、スレーブＥＣＵ＿Ｓ２が応答メッセージＭＡＣ（ｓ；Ｓ５）の検証結果をマスターＥＣＵに送信する。
【００５１】
なお、上記検証結果送信において認証コード（ＭＡＣ）を付与する理由は、これまでのやり取りを傍受していた悪意のある第三者（攻撃者）などが、なりすましメッセージをマスターＥＣＵに送信することを防ぐためである。例えば、実際には検証を成功しているが「検証失敗」となりすました結果がマスターＥＣＵに送信されてしまい、マスターＥＣＵに新たなセッション鍵の交換処理を繰り返し実行させて車両を動作させないようにする、などの第三者による攻撃を防ぐことができる。
【００５２】
検証結果の送付依頼を受信したスレーブＥＣＵから認証コード（ＭＡＣ）の検証結果を受信すると、マスターＥＣＵは、検証結果をそれぞれ検証する。検証結果の検証を終了すると、マスターＥＣＵは、全てのスレーブＥＣＵの検証の結果を判断する。そして、全てのスレーブＥＣＵの検証が成功している場合、マスターＥＣＵは、各スレーブＥＣＵが所持する情報や装置自身の完全性が証明されたと判断して、セッション鍵ｓの使用許可を全てのスレーブＥＣＵに対して通知する。
【００５３】
［実施の形態の作用および効果］
以上のように、本発明の一実施形態に係る電子制御装置の検証方法によれば、第１の電子制御装置１０（マスターＥＣＵ）は、第２の電子制御装置２０（スレーブＥＣＵ）から受信した順序で応答メッセージＭＡＣの検証を順次実施して行く一方、検証待ちの応答メッセージＭＡＣが発生し、かつ、自身の処理によって検証が終了した第２の電子制御装置２０（スレーブＥＣＵ）が存在すれば、当該検証済みの第２の電子制御装置２０（スレーブＥＣＵ）に対して検証待ちの応答メッセージを送信して検証待ちの応答メッセージＭＡＣの検証を依頼する。
【００５４】
これにより、本電子制御装置の検証方法では、第１の電子制御装置１０（マスターＥＣＵ）による検証処理と並行して、先に検証が終了した第２の電子制御装置２０（スレーブＥＣＵ）による検証処理を行うことができる。よって、第１の電子制御装置１０（マスターＥＣＵ）での処理負荷が軽減され、全ての第２の電子制御装置２０（スレーブＥＣＵ）の検証が終了するまでの処理時間を短縮することができる。
【００５５】
なお、上述した具体例では、第１の電子制御装置１０（マスターＥＣＵ）は、いずれかの第２の電子制御装置２０（スレーブＥＣＵ）から応答メッセージＭＡＣを受ければ、直ちに検証を開始する場合を説明した。しかし、第１の電子制御装置１０（マスターＥＣＵ）は、ネットワーク３０に接続されている全ての第２の電子制御装置２０（スレーブＥＣＵ）から応答メッセージＭＡＣを受けるのを待った後、応答メッセージＭＡＣの検証を開始するようにしてもよい。
【産業上の利用可能性】
【００５６】
本発明の電子制御装置の検証方法は、複数の電子制御装置がネットワークを介して接続された通信システムにおいて、電子制御装置の検証が終了するまでの処理時間を短縮したい場合に有用である。
【符号の説明】
【００５７】
１          通信システム
１０        第１の電子制御装置（マスターＥＣＵ）
１１、２１  通信部
１２、２２  記憶部
１３、２３  制御部
２０        第２の電子制御装置（スレーブＥＣＵ）
３０        ネットワーク
【図１】
0006597342.tif 000002
【図２】
0006597342.tif 000003
【図３】
0006597342.tif 000004