(57)【要約】      （修正有）【課題】電子制御装置のセキュリティを確保するとともに、マスタ電子制御装置からスレーブ電子制御装置への鍵の配布、及びその検証に要する時間を短縮する。【解決手段】通信ネットワークを介して、マスタ電子制御装置及び他のスレーブ電子制御装置と接続された車両用スレーブ電子制御装置であって、マスタ電子制御装置と共有する第１の共有鍵と、マスタ電子制御装置及び他のスレーブ電子制御装置と共有する第２の共有鍵と、を記憶する記憶部１１１と、マスタ電子制御装置から、第１の共有鍵を用いて鍵情報を暗号化した第１のデータを受信する受信部１２１と、第１の共有鍵を用いて第１のデータを復号するとともに、第１のデータを復号して得られる鍵情報を第２の共有鍵を用いて暗号化し、第２のデータを生成する制御部１３１，１４１と、マスタ電子制御装置及び他のスレーブ電子制御装置に、第２のデータを送信する送信部１５１と、を備える。【選択図】図２
2019197999.tif 000002
【特許請求の範囲】
【請求項１】
マスタ電子制御装置（２００，２０１）と、通信ネットワーク（３００）を介して前記マスタ電子制御装置と接続された第１のスレーブ電子制御装置（１００−１）及び第２のスレーブ電子制御装置（１００−２）と、を備える車両用電子制御システム（１，２）であって、
前記第１のスレーブ電子制御装置は、
前記マスタ電子制御装置と共有する第１の共有鍵（Ｋ１）と、前記マスタ電子制御装置及び前記第２のスレーブ電子制御装置と共有する第２の共有鍵（Ｋ２）と、を記憶する第１記憶部（１１１）と、
前記マスタ電子制御装置から、鍵情報を前記第１の共有鍵を用いて暗号化した第１のデータを受信する第１受信部（１２１）と、
前記第１の共有鍵を用いて前記第１のデータを復号するとともに、前記第１のデータを復号して得られる前記鍵情報を前記第２の共有鍵を用いて暗号化し、第２のデータを生成する第１制御部（１３１，１４１）と、
前記マスタ電子制御装置及び前記第２のスレーブ電子制御装置に、前記第２のデータを送信する第１送信部（１５１）と、を備え、
前記第２のスレーブ電子制御装置は、
前記第２の共有鍵と、前記マスタ電子制御装置と共有する第３の共有鍵（Ｋ３）と、を記憶する第２記憶部（１１２）と、
前記第１のスレーブ電子制御装置から、前記第２のデータを受信する第２受信部（１２２）と、
前記第２の共有鍵を用いて前記第２のデータを復号するとともに、前記第２のデータを復号して得られる前記鍵情報を前記第３の共有鍵を用いて暗号化し、第３のデータを生成する第２制御部（１３２，１４２）と、
前記マスタ電子制御装置に、前記第３のデータを送信する第２送信部（１５２）と、を備え、
前記マスタ電子制御装置は、
前記鍵情報と、前記第１の共有鍵と、前記第２の共有鍵と、前記第３の共有鍵とを記憶するマスタ記憶部（２２）と、
前記第１のスレーブ電子制御装置に、前記第１のデータを送信するマスタ送信部（２４）と、
前記第１のスレーブ電子制御装置から前記第２のデータを受信し、前記第２のスレーブ電子制御装置から前記第３のデータを受信するマスタ受信部（２５）と、
前記鍵情報を前記第１の共有鍵を用いて暗号化して前記第１のデータを生成するマスタ制御部（２３，２６）と、
前記鍵情報と前記第２のデータ、及び前記鍵情報と前記第３のデータとに基づいて、前記鍵情報の同一性をそれぞれ判定する判定部（２７）と、を備える、
車両用電子制御装置システム。
【請求項２】
前記マスタ制御部はさらに、前記第２の共有鍵を用いて前記第２のデータを復号し、かつ、前記第３の共有鍵を用いて前記第３のデータを復号し、
前記判定部は、前記マスタ記憶部に記憶されている前記鍵情報と前記第２のデータを復号して得られる前記鍵情報、及び前記マスタ記憶部に記憶されている前記鍵情報と前記第３のデータを復号して得られる前記鍵情報の同一性をそれぞれ判定する、
請求項１記載の車両用電子制御装置。
【請求項３】
前記マスタ制御部はさらに、前記マスタ記憶部に記憶されている前記鍵情報を前記第２の共有鍵を用いて暗号化して第４のデータを生成し、かつ、前記マスタ記憶部に記憶されている前記鍵情報を前記第３の共有鍵を用いて暗号化して第５のデータを生成し、
前記判定部は、前記第２のデータと前記第４のデータ、及び前記第３のデータと前記第５のデータの同一性をそれぞれ判定することにより前記鍵情報の同一性を判定する、
請求項１記載の車両用電子制御装置。
【請求項４】
前記マスタ電子制御装置は、前記車両が起動した場合に、前記鍵情報を取得する、
請求項１記載の車両用電子制御システム。
【請求項５】
車両用電子制御システム（実施形態２）
前記マスタ電子制御装置（２０１）は、前記判定部の判定結果に基づいて前記第１のスレーブ電子制御装置及び前記第２のスレーブ電子制御装置を認証する認証部（２８）をさらに備え、
前記マスタ記憶部は、前記第１のスレーブ電子制御装置が前記通信ネットワークを使用する優先度を示す第１の優先度、及び前記第２のスレーブ電子制御装置が前記通信ネットワークを使用する優先度を示す第２の優先度、を記憶し、
前記第１のスレーブ電子制御装置が前記認証部で認証された場合、前記第１の優先度が前記第２の優先度よりも高いときは、前記第２送信部からの前記第３のデータの送信に先立って、前記マスタ送信部は前記第１のスレーブ電子制御装置と前記通信ネットワークを介して通信を開始する、
請求項１記載の車両用電子制御システム。
【請求項６】
前記第１のスレーブ電子制御装置が前記認証部により認証された場合、前記第１の優先度が前記第２の優先度よりも低いときは、前記第２送信部から前記第３のデータの送信後に、前記マスタ送信部は前記第１のスレーブ電子制御装置と前記通信ネットワークを介して通信を開始する、
請求項５記載の車両用電子制御システム。
【請求項７】
前記マスタ電子制御装置に接続された第３のスレーブ電子制御装置（１００−３）をさらに備え、
前記第３のスレーブ電子制御装置は、
前記マスタ電子制御装置と共有する第４の共有鍵と第５の共有鍵とを記憶する第３記憶部と、
前記マスタ電子制御装置から、前記鍵情報を前記第４の共有鍵を用いて暗号化した第６のデータを受信する第３受信部と、
前記第４の共有鍵を用いて前記第６のデータを復号するとともに、前記第６のデータを復号して得られる前記鍵情報を前記第５の共有鍵を用いて暗号化し、第７のデータを生成する第３制御部と、
前記マスタ電子制御装置に、前記第７のデータを送信する第３送信部と、を備える、
請求項１記載の車両用電子制御システム。
【請求項８】
前記第３のスレーブ電子制御装置は、前記第１制御部が前記第１のデータを復号及び前記鍵情報を暗号化している間、又は、前記第２制御部が前記第２のデータを復号及び前記鍵情報を暗号化している間に、前記マスタ電子制御装置に前記第７のデータを送信する、
請求項７記載の車両用電子制御システム。
【請求項９】
前記第１の共有鍵と前記第４の共有鍵は同一であり、
前記マスタ送信部は、前記第１のデータ及び前記第６のデータを同時に送信する、
請求項７記載の車両用電子制御システム。
【請求項１０】
当該車両用電子制御システムはさらに、前記マスタ電子制御装置であるサブマスタ電子制御装置を制御するとともに、第１のマスタ共有鍵（Ｋ０）と第２のマスタ共有鍵（Ｋ１０）とを前記サブマスタ電子制御装置と共有するメインマスタ電子制御装置（４００）を備え、
前記サブマスタ電子制御装置において、
前記マスタ受信部は、前記メインマスタ電子制御装置から、前記鍵情報を前記第１のマスタ共有鍵で暗号化した第１のマスタデータを受信し、
前記マスタ制御部は、前記第１のマスタ共有鍵を用いて前記第１のマスタデータを復号して前記鍵情報を取得し、
前記マスタ送信部は、前記判定部が、前記鍵情報と前記第２のデータ、及び前記鍵情報と前記第３のデータに基づいて、前記鍵情報がいずれも同一と判断した場合には、前記メインマスタ電子制御装置に、前記鍵情報を前記第２のマスタ共有鍵で暗号化した第２のマスタデータを送信し、
前記メインマスタ電子制御装置は、
前記第１のマスタ共有鍵で前記鍵情報を暗号化して前記第１のマスタデータを生成するメインマスタ制御部と、
前記鍵情報と前記第２のマスタデータとに基づいて、前記鍵情報との同一性を判定するメインマスタ判定部と、を備える、
請求項１記載の車両用電子制御システム（２）。
【請求項１１】
通信ネットワーク（３００）を介して、マスタ電子制御装置及び他のスレーブ電子制御装置と接続された車両用スレーブ電子制御装置（１００−１）であって、
前記マスタ電子制御装置と共有する第１の共有鍵と、前記マスタ電子制御装置及び前記他のスレーブ電子制御装置と共有する第２の共有鍵と、を記憶する記憶部（１１１）と、
前記マスタ電子制御装置から、前記第１の共有鍵を用いて鍵情報を暗号化した第１のデータを受信する受信部（１２１）と、
前記第１の共有鍵を用いて前記第１のデータを復号するとともに、前記第１のデータを復号して得られる前記鍵情報を前記第２の共有鍵を用いて暗号化し、第２のデータを生成する制御部（１３１，１４１）と、
前記マスタ電子制御装置及び前記他のスレーブ電子制御装置に、前記第２のデータを送信する送信部（１５１）と、
を備える、車両用スレーブ電子制御装置。
【請求項１２】
通信ネットワーク（３００）を介して、マスタ電子制御装置、第１のスレーブ電子制御装置、及び第２のスレーブ電子制御装置と接続された車両用スレーブ電子制御装置（１００−２）であって、
前記マスタ電子制御装置及び前記第１のスレーブ電子制御装置と共有する第１の共有鍵と、前記マスタ電子制御装置及び前記第２のスレーブ電子制御装置と共有する第２の共有鍵と、を記憶する記憶部（１１２）と、
前記第１のスレーブ電子制御装置から、前記第１の共有鍵を用いて鍵情報を暗号化した第１のデータを受信する受信部（１２２）と、
前記第１の共有鍵を用いて前記第１のデータを復号するとともに、前記第１のデータを復号して得られる前記鍵情報を前記第２の共有鍵を用いて暗号化し、第２のデータを生成する制御部（１３２，１４２）と、
前記マスタ電子制御装置及び前記第２のスレーブ電子制御装置に、前記第２のデータを送信する送信部（１５２）と、
を備える、車両用スレーブ電子制御装置。
【請求項１３】
マスタ電子制御装置（２００）と、通信ネットワーク（３００）を介して前記マスタ電子制御装置と接続された第１のスレーブ電子制御装置（１００−１）及び第２のスレーブ電子制御装置（１００−２）と、を備える車両用電子制御システムで実行される鍵配布方法であって、
前記マスタ電子制御装置において、
前記マスタ電子制御装置と前記第１のスレーブ電子制御装置とが共有する第１の共有鍵を用いて鍵情報を暗号化し、第１のデータを生成するステップと、
前記第１のデータを、前記マスタ電子制御装置から前記第１のスレーブ電子制御装置に送信するステップと、
前記第１のスレーブ電子制御装置において、
前記第１の共有鍵を用いて前記第１のデータを復号するステップと、
前記第１のデータを復号して得られる前記鍵情報を、前記マスタ電子制御装置と前記第１及び第２のスレーブ電子制御装置とが共有する第２の共有鍵を用いて暗号化し、第２のデータを生成するステップと、
前記第２のデータを、前記第１のスレーブ電子制御装置から前記マスタ電子制御装置及び前記第２のスレーブ電子制御装置に送信するステップと、
前記第２のスレーブ電子制御装置において、
前記第２の共有鍵を用いて前記第２のデータを復号するステップと、
前記第２のデータを復号して得られる前記鍵情報を、前記マスタ電子制御装置と前記第第２のスレーブ電子制御装置とが共有する第３の共有鍵を用いて暗号化し、第３のデータを生成するステップと、
前記第３のデータを、前記第２のスレーブ電子制御装置から前記マスタ電子制御装置に送信するステップと、
前記マスタ電子制御装置において、
前記鍵情報と前記第２のデータに基づいて前記鍵情報の同一性を判定するステップと、
前記鍵情報と前記第３のデータに基づいて前記鍵情報の同一性を判定するステップと、
を含む、電子制御装置の処理方法。
【請求項１４】
通信ネットワークを介して、マスタ電子制御装置及び他のスレーブ電子制御装置と接続された車両用スレーブ電子制御装置で実行されるプログラムであって、
前記マスタ電子制御装置から、前記マスタ電子制御装置と前記車両用スレーブ電子制御装置とが共有する第１の共有鍵を用いて鍵情報を暗号化した第１のデータを受信するステップと、
前記第１の共有鍵を用いて前記第１のデータを復号するステップと、
前記第１のデータを復号して得られる前記鍵情報を、前記車両用スレーブ電子制御装置と前記マスタ電子制御装置と前記他のスレーブ電子制御装置とで共有する第２の共有鍵を用いて暗号化し、第２のデータを生成するステップと、
前記マスタ電子制御装置と前記他のスレーブ電子制御装置に、前記第２のデータを送信するステップと、
をコンピュータに実行させる、鍵配布プログラム。
【請求項１５】
通信ネットワークを介して、マスタ電子制御装置、第１のスレーブ電子制御装置、及び第２のスレーブ電子制御装置と接続された車両用スレーブ電子制御装置で実行されるプログラムであって、
前記第１のスレーブ電子制御装置から、前記車両用スレーブ電子制御装置と前記マスタ電子制御装置と前記第１のスレーブ電子制御装置とが共有する第１の共有鍵を用いて鍵情報を暗号化した第１のデータを受信するステップと、
前記第１の共有鍵を用いて前記第１のデータを復号するステップと、
前記第１のデータを復号して得られる前記鍵情報を、前記車両用スレーブ電子制御装置と前記マスタ電子制御装置と前記第２のスレーブ電子制御装置とが共有する第２の共有鍵を用いて暗号化し、第２のデータを生成するステップと、
前記マスタ電子制御装置と前記第２のスレーブ電子制御装置に、前記第２のデータを送信するステップと、
をコンピュータに実行させる、鍵配布プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置（ＥＣＵ：Electric Control Unit）のセキュリティを確保するための鍵の配布に関するものであり、主として車両用の電子制御装置及び電子制御システムに用いるものである。
【背景技術】
【０００２】
近年、自動車には、ＣＡＮ（Controller Area Network）などの車載ネットワークで互いに接続された様々な種類の電子制御装置が搭載されている。これらの電子制御装置には、エンジンやハンドルといった車両の動作を制御するものが含まれているため、車両の安全性を確保するためには、第三者による不正アクセスや、このような不正アクセスによるデータの改ざんを防止するための高いセキュリティが求められる。
【０００３】
電子制御システムのセキュリティを確保する方法の１つに、電子制御装置間の通信においてメッセージの完全性（Integrity）をチェックし、改ざんやなりすましを防ぐ手法であるメッセージ認証コード（ＭＡＣ：Message Authentication Code）がある。メッセージ認証コードでは、メッセージの送信側及び受信側の電子制御装置間で共有する鍵を利用して、ＭＡＣ値の生成及びそのチェックを行う。さらに、電子制御装置間で共有する鍵を、例えば、定期的に切り替えるセッション鍵とすることにより、セキュリティをより高めることが可能となる。
【０００４】
セッション鍵などの鍵を電子制御装置に安全に配布する方法として、例えば、チャレンジ／レスポンス認証を利用する手法がある。チャレンジ／レスポンス認証を利用した鍵の配布方法の一例では、鍵の配布元であるマスタ電子制御装置と、鍵の配布先である複数のスレーブ電子制御装置それぞれとの間で事前に共有鍵を共有しておき、マスタ電子制御装置は、それぞれのスレーブ電子制御装置と共有する共有鍵で暗号化した鍵のデータ（チャレンジ）を各々のスレーブ電子制御装置に送信する。そして、スレーブ電子制御装置は、受信したデータを共有鍵で復号して鍵を取得するとともに、取得した鍵を利用して生成したＭＡＣ値（レスポンス）をマスタ電子制御装置に送信する。マスタ電子制御装置は、受信したレスポンスに基づいて、各スレーブ電子制御装置が正しい鍵を取得したかどうかを検証する。
【０００５】
このような方法によれば、マスタ電子制御装置から複数のスレーブ電子制御装置に鍵を安全に配布することが可能となる。しかしながら、複数のスレーブ電子制御装置それぞれについてチャレンジ及びレスポンスを送受信する必要があるため、通信ネットワークの負荷が高くなってしまう。さらに、マスタ電子制御装置は、スレーブ電子制御装置毎に鍵を暗号化してデータ（チャレンジ）を生成しなければならず、マスタ電子制御装置の処理負荷も高くなってしまう。その結果、マスタ電子制御装置が全てのスレーブ電子制御装置に鍵を配布し、その検証が完了するまでに時間がかかるおそれがある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−１３５６２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１には、チャレンジ／レスポンス認証を利用しながら、セッション鍵の検証に要する時間を短縮する鍵配布方法が開示されている。特許文献１に記載の方法では、マスタ電子制御装置と複数のスレーブ電子制御装置の全てが１つの共有鍵を共有し、この共有鍵で暗号化したセッション鍵をマスタ電子制御装置から複数のスレーブ電子制御装置に配布する。さらに、スレーブ電子制御装置から送信されたレスポンスを検証する処理を、一部のスレーブ電子制御装置がマスタ電子制御装置に代わって実行することにより、セッション鍵の検証完了にかかる時間を短縮する。
【０００８】
しかしながら、特許文献１に記載の方法では、マスタ電子制御装置と全てのスレーブ電子制御装置が共有する共通鍵が同じものであるため、この共通鍵の情報が悪意ある第三者に漏洩した場合、全てのスレーブ電子制御装置に不正アクセスされるおそれがある。
【０００９】
そこで、本発明の目的は、電子制御システム及び電子制御装置のセキュリティ性を向上させるとともに、鍵の配布、及びその検証処理に要する時間を短縮することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の車両用電子制御システムは、
マスタ電子制御装置（２００，２０１）と、通信ネットワーク（３００）を介して前記マスタ電子制御装置と接続された第１のスレーブ電子制御装置（１００−１）及び第２のスレーブ電子制御装置（１００−２）と、を備え、
前記第１のスレーブ電子制御装置は、
前記マスタ電子制御装置と共有する第１の共有鍵（Ｋ１）と、前記マスタ電子制御装置及び前記第２のスレーブ電子制御装置と共有する第２の共有鍵（Ｋ２）と、を記憶する第１記憶部（１１１）と、
前記マスタ電子制御装置から、鍵情報を前記第１の共有鍵を用いて暗号化した第１のデータを受信する第１受信部（１２１）と、
前記第１の共有鍵を用いて前記第１のデータを復号するとともに、前記第１のデータを復号して得られる前記鍵情報を前記第２の共有鍵を用いて暗号化し、第２のデータを生成する第１制御部（１３１，１４１）と、
前記マスタ電子制御装置及び前記第２のスレーブ電子制御装置に、前記第２のデータを送信する第１送信部（１５１）と、を備え、
前記第２のスレーブ電子制御装置は、
前記第２の共有鍵と、前記マスタ電子制御装置と共有する第３の共有鍵（Ｋ３）と、を記憶する第２記憶部（１１２）と、
前記第１のスレーブ電子制御装置から、前記第２のデータを受信する第２受信部（１２２）と、
前記第２の共有鍵を用いて前記第２のデータを復号するとともに、前記第２のデータを復号して得られる前記鍵情報を前記第３の共有鍵を用いて暗号化し、第３のデータを生成する第２制御部（１３２，１４２）と、
前記マスタ電子制御装置に、前記第３のデータを送信する第２送信部（１５２）と、を備え、
前記マスタ電子制御装置は、
前記鍵情報と、前記第１の共有鍵と、前記第２の共有鍵と、前記第３の共有鍵とを記憶するマスタ記憶部（２２）と、
前記第１のスレーブ電子制御装置に、前記第１のデータを送信するマスタ送信部（２４）と、
前記第１のスレーブ電子制御装置から前記第２のデータを受信し、前記第２のスレーブ電子制御装置から前記第３のデータを受信するマスタ受信部（２５）と、
前記鍵情報を前記第１の共有鍵を用いて暗号化して前記第１のデータを生成するマスタ制御部（２３，２６）と、
前記鍵情報と前記第２のデータ、及び前記鍵情報と前記第３のデータとに基づいて、前記鍵情報の同一性をそれぞれ判定する判定部（２７）と、を備える。
【００１１】
なお、特許請求の範囲、及び本項に記載した発明の構成要件に付した括弧内の番号は、本発明と後述の実施形態との対応関係を示すものであり、本発明を限定する趣旨ではない。
【発明の効果】
【００１２】
本発明の電子制御システム及び電子制御装置によれば、マスタ電子制御装置とスレーブ電子制御装置の間で共有する共有鍵の一部が漏洩してしまった場合でも、他のスレーブ電子制御装置のセキュリティを維持することが可能となる。さらに、マスタ電子制御装置からスレーブ電子制御装置への鍵の配布、及びその検証に要する時間を短縮することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の電子制御システムの構成を説明する図
【図２】本発明の実施形態１のスレーブ電子制御装置の構成を説明するブロック図
【図３】本発明の実施形態１のマスタ電子制御装置の構成を説明するブロック図
【図４】本発明の各電子制御装置が有する共有鍵を説明する図
【図５】本発明の実施形態１の電子制御システムの動作を説明する図
【図６】本発明の実施形態１の変形例の電子制御システムの動作を説明する図
【図７】本発明の実施形態２のマスタ電子制御装置の構成を説明するブロック図
【図８】本発明の実施形態２の電子制御システムの動作を説明する図
【図９】本発明の実施形態３の電子制御システムの動作を説明する図
【図１０】本発明の実施形態４の電子制御システムの構成を説明する図
【図１１】本発明の実施形態４の電子制御システムの動作を説明する図
【図１２】本発明の実施形態４の電子制御システムの構成を説明する図
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について、図面を参照して説明する。
なお、本発明とは、特許請求の範囲又は課題を解決するための手段の項に記載された発明を意味するものであり、以下の実施形態に限定されるものではない。また、少なくともかぎ括弧内の語句は、特許請求の範囲又は課題を解決するための手段の項に記載された語句を意味し、同じく以下の実施形態に限定されるものではない。
特許請求の範囲の従属項に記載の構成及び方法、従属項に記載の構成及び方法に対応する実施形態の構成及び方法、並びに特許請求の範囲に記載がなく実施形態のみに記載の構成及び方法は、本発明においては任意の構成及び方法である。特許請求の範囲の記載が実施形態の記載よりも広い場合における実施形態に記載の構成及び方法も、本発明の構成及び方法の例示であるという意味で、本発明においては任意の構成及び方法である。いずれの場合も、特許請求の範囲の独立項に記載することで、本発明の必須の構成及び方法となる。
実施形態に記載した効果は、本発明の例示としての実施形態の構成を有する場合の効果であり、必ずしも本発明が有する効果ではない。
複数の実施形態がある場合、各実施形態に開示の構成は各実施形態のみで閉じるものではなく、実施形態をまたいで組み合わせることが可能である。例えば一の実施形態に開示の構成を、他の実施形態に組み合わせても良い。また、複数の実施形態それぞれに開示の構成を集めて組み合わせても良い。
【００１５】
図１は、車両用の電子制御システム１を示している。この電子制御システム１は、ｎ個のスレーブ電子制御装置１００と、マスタ電子制御装置２００とを備えており、スレーブ電子制御装置１００とマスタ電子制御装置２００は通信ネットワーク３００を介して接続され、データ等を送受信する。複数のスレーブ電子制御装置１００同士がデータ等を送受信することも可能である。通信ネットワーク３００には、例えば、ＣＡＮ（Controller Area Network）、ＬＩＮ（Local Interconnect Network）といった通信方式の他、Ｅｔｈｅｒｎｅｔ（登録商標）やＷｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）等、任意の通信方式を用いることができる。
【００１６】
本明細書では、電子制御システム１が、２つのスレーブ電子制御装置１００（第１のスレーブ電子制御装置１００−１、第２のスレーブ電子制御装置１００−２）を備える実施例を説明するが、当然のことながら、本発明の電子制御システムは任意の数のスレーブ電子制御装置を備えてもよい。
【００１７】
本実施形態におけるマスタ電子制御装置２００は、第１のスレーブ電子制御装置１００−１及び第２のスレーブ電子制御装置１００−２それぞれと通信を行う。また、第１のスレーブ電子制御装置と第２のスレーブ電子制御装置は互いに通信を行う。
【００１８】
スレーブ電子制御装置１００は、他のスレーブ電子制御装置１００やマスタ電子制御装置２００から送信された指示に基づいて制御される電子制御装置であり、例えば、エンジン、ハンドル、ブレーキ等の制御を行う駆動系電子制御装置、メータやパワーウインドウ等の制御を行う車体系電子制御装置、ナビゲーション装置等の情報系電子制御装置、あるいは、障害物や歩行者との衝突を防止するための制御を行う安全制御系電子制御装置が挙げられる。あるいは、車載コンピュータも、スレーブ電子制御装置１００に該当する。また、マスタ電子制御装置２００は、例えば、ゲートウェイ機能や、車両外部との通信機能を有する電子制御装置である。しかしながら、スレーブ電子制御装置１００及びマスタ電子制御装置２００のいずれも、上記の例に限定されるものではない。また、マスタ電子制御装置２００は、スレーブ電子制御装置の機能を包含していてもよい。
【００１９】
なお、スレーブ電子制御装置１００及びマスタ電子制御装置２００は、例えば、主に半導体装置で構成され、ＣＰＵ（Central Processing Unit）、及びＲＡＭ（Random Access Memory）等の揮発性記憶部を有する、いわゆる情報処理装置として構成されていてもよい。この場合、情報処理装置はさらに、フラッシュメモリ等の不揮発性記憶部、通信ネットワーク等に接続されるネットワークインターフェース部等を有していてもよい。さらに、このような情報処理装置はパッケージ化された半導体装置であっても、配線基板において各半導体装置が配線接続された構成であってもよい。
【００２０】
（第１のスレーブ電子制御装置の構成）
本実施形態のスレーブ電子制御装置１００−１の構成を図２を用いて説明する。第１のスレーブ電子制御装置１００−１は、スレーブ記憶部１１１、スレーブ受信部１２１、スレーブ復号部１３１、スレーブ暗号化部１４１、及びスレーブ送信部１５１を備える。なお、スレーブ復号部１３１及びスレーブ暗号化部１４１は、まとめて本発明の「第１制御部」に相当する。
【００２１】
スレーブ記憶部１１１（本発明の「第１記憶部」に相当）は、共有鍵と、後述するマスタ電子制御装置から受信したデータを復号して得られるセッション鍵とを記憶する。図４は、各電子制御装置の記憶部に記憶される共有鍵を示している。スレーブ記憶部１１１は、マスタ電子制御装置２００と共有する共有鍵Ｋ１（本発明の「第１の共有鍵」に相当）と、マスタ電子制御装置２００及び第２のスレーブ電子制御装置１００−２と共有する共有鍵Ｋ２（本発明の「第２の共有鍵」に相当）を記憶している。
なお、スレーブ記憶部１１１に記憶されている共有鍵は、例えば、工場から出荷される前に車両製造工場又は電子制御装置の製造工場等において書き込まれる。しかしながら、これらの共有鍵は、工場から出荷した後にセキュアな方法によって各スレーブ電子制御装置に配布されることによって書き込まれてもよく、あるいは、工場出荷前に書き込まれた共有鍵はその後に更新されてもよい。
【００２２】
スレーブ受信部１２１（本発明の「第１受信部」に相当）は、「マスタ電子制御装置から」、「鍵情報」を共有鍵を用いて暗号化したデータを受信する。なお、本実施形態では、「鍵情報」として一時的に使用されるセッション鍵を配布する例を説明しているが、この「鍵情報」はセッション鍵に限定されるものではない。
【００２３】
ここで、本発明の「マスタ電子制御装置から」データを受信する、とは、受信側の電子制御装置が、データの送信元がマスタ電子制御装置であると認識すれば足り、受信したデータが、実際にマスタ電子制御装置から受信されたものであるかどうかは問わない。
また、本発明の「鍵情報」とは、例えば、鍵情報がメッセージの認証に用いられる場合、メッセージ認証に直接的または間接的に使用される鍵の情報であればよい。すなわち、鍵情報は、メッセージの復号や、メッセージ認証コードにおいてＭＡＣ値を生成するのに使用される鍵そのものの他、このようなメッセージの認証で使用される鍵を生成するための鍵の種をも含む。もちろん、「鍵情報」には、メッセージの認証以外に用いられる鍵の情報も含まれる。
【００２４】
スレーブ復号部１３１は、スレーブ記憶部１１１に記憶されている共有鍵のうち、共有鍵Ｋ１を用いて、スレーブ受信部１２１で受信したデータを復号する。また、スレーブ暗号化部１４１は、スレーブ復号部１３１でデータを復号して得られるセッション鍵を、スレーブ記憶部１１１に記憶されている共有鍵のうち、共有鍵Ｋ２を用いて暗号化する。
なお、本書では、セッション鍵Ｋｓを共有鍵Ｋを用いて暗号化することによって得られるデータをＥｎｃ（Ｋ;Ｋｓ）と表す。つまり、スレーブ暗号化部１４１は、セッション鍵Ｋｓを共有鍵Ｋを用いて暗号化することにより、データＥｎｃ（Ｋ；Ｋｓ）を生成する。
【００２５】
スレーブ送信部１５１（本発明の「第１送信部」に相当）は、マスタ電子制御装置２００及び第２のスレーブ電子制御装置１００−２に、スレーブ暗号化部１４１にて共有鍵を用いてセッション鍵を暗号化したデータ、すなわち、Ｅｎｃ（Ｋ；Ｋｓ）を送信する。
【００２６】
（第２のスレーブ電子制御装置の構成）
本実施形態２の第２のスレーブ電子制御装置１００−２の構成は、図２に示すように、上述した第１のスレーブ電子制御装置１００−１の構成と実質的に同じであり、スレーブ記憶部１１２、スレーブ受信部１２２、スレーブ復号部１３２、スレーブ暗号化部１４２、及びスレーブ送信部１５２を備える。スレーブ復号部１３２及びスレーブ暗号化部１４２は、まとめて本発明の「第２制御部」に相当する。
【００２７】
スレーブ記憶部１１２（本発明の「第２記憶部」に相当）は、スレーブ記憶部１１１と同様、共有鍵と、受信したデータを復号して得られるセッション鍵とを記憶する。
図４に示すように、スレーブ記憶部１１２は、マスタ電子制御装置２００及び第２のスレーブ電子制御装置１００−２と共有する共有鍵Ｋ２と、マスタ電子制御装置２００と共有する共有鍵Ｋ３（本発明の「第３の共有鍵」に相当）と、を記憶している。
【００２８】
スレーブ受信部１２２（本発明の「第２受信部」に相当）は、「第１のスレーブ電子制御装置から」、セッション鍵を共有鍵を用いて暗号化したデータを受信する。
【００２９】
スレーブ復号部１３２は、スレーブ記憶部１１２に記憶されている共有鍵Ｋ２を用いて、スレーブ受信部１２２で受信したデータを復号する。また、スレーブ暗号化部１４２は、スレーブ復号部１３２でデータを復号して得られるセッション鍵を、スレーブ記憶部１１２に記憶されている共有鍵Ｋ３を用いて暗号化する。
【００３０】
スレーブ送信部１５２（本発明の「第２送信部」に相当）は、マスタ電子制御装置２００に、スレーブ暗号化部１４２にて共有鍵を用いてセッション鍵を暗号化したデータ、すなわち、Ｅｎｃ（Ｋ；Ｋｓ）を送信する。
【００３１】
（マスタ電子制御装置の構成）
本実施形態のマスタ電子制御装置２００の構成を図３を用いて説明する。本発明のマスタ電子制御装置２００は、セッション鍵取得部２１、マスタ記憶部２２、マスタ暗号化部２３、マスタ送信部２４、マスタ受信部２５、マスタ復号部２６、同一性判定部２７、及び認証部２８を備える。なお、マスタ暗号化部２３及びマスタ復号部２６は、まとめて本発明の「マスタ制御部」に相当する。
【００３２】
セッション鍵取得部２１は、スレーブ電子制御装置１００に配布するセッション鍵を生成する。セッション鍵取得部２１は、例えば、ハッシュ関数や乱数表などを用いてセッション鍵を生成する。なお、本実施形態では、セッション鍵取得部２１は、セッション鍵を生成することによってセッション鍵を「取得」しているが、マスタ電子制御装置２００はセッション鍵を「取得」することができればよく、その取得方法は任意である。例えば、セッション鍵取得部２１は、上述した以外の方法によってセッション鍵を生成してもよく、あるいは、他の電子制御装置が生成したセッション鍵を受信することによってセッション鍵を「取得」してもよい。
ここで、本発明の「取得」とは、鍵情報がマスタ電子制御装置によって使用できる状態に置かれることをいい、マスタ電子制御装置が自ら鍵を生成することの他、予め生成されている鍵をセット等する、あるいは、外部から鍵を受信することをも含む。
【００３３】
また、セッション鍵取得部２１がセッション鍵を「取得」するタイミングは任意であるが、定期的にセッション鍵を更新するために、例えば、一定時間毎にセッション鍵を取得してもよい。本発明の電子制御システムが車両に搭載される場合には、車両のエンジンが起動した場合にセッション鍵を取得してもよい。この場合、「車両が起動」する毎にセッション鍵を更新することができるため、車両用電子制御システムのセキュリティを高めることが可能となる。
ここで、本発明の「車両が起動」する、とは、例えば、電源をＯＮすることにより、車両を構成するシステムが給電されるタイミングや、イグニッションＯＮによりエンジンが起動するタイミングのように、車両が動作できる状態に遷移するタイミングであれば足りる。
【００３４】
マスタ記憶部２２は、セッション鍵取得部２１で生成したセッション鍵と、通信ネットワーク３００を介して接続されたスレーブ電子制御装置１００それぞれと共有する各共有鍵とを記憶する。
本実施形態では、図４に示すように、マスタ記憶部２２は、共有鍵として、第１のスレーブ電子制御装置１００−１と共有する共有鍵Ｋ１と、第１のスレーブ電子制御装置１００−１及び第２のスレーブ電子制御装置１００−２の双方と共有する共有鍵Ｋ２と、第２のスレーブ電子制御装置１００−２と共有する共有鍵Ｋ３を記憶している。
【００３５】
マスタ暗号化部２３は、セッション鍵取得部２１で生成したセッション鍵を、マスタ記憶部２２で記憶している共有鍵で暗号化する。本実施形態では、マスタ記憶部２２に記憶されている共有鍵のうち、第１のスレーブ電子制御装置１００−１と共有する共有鍵Ｋ１を用いてセッション鍵取得部２１で生成したセッション鍵Ｋｓ（本発明の「鍵情報」に相当）を暗号化して、Ｅｎｃ（Ｋ１；Ｋｓ）（本発明の「第１のデータ」に相当）を生成する。
【００３６】
マスタ送信部２４は、第１のスレーブ電子制御装置１００−１に、マスタ暗号化部２３で生成したデータ、すなわち、Ｅｎｃ（Ｋ１；Ｋｓ）を送信する。
【００３７】
マスタ受信部２５は、第１のスレーブ電子制御装置１００−１から、セッション鍵を共有鍵で暗号化したデータを受信する。ここで、第１のスレーブ電子制御装置１００−１から受信するデータの暗号化に使用されている共有鍵は、マスタ暗号化部２３でセッション鍵を暗号化する際に使用した共有鍵Ｋ１とは異なる共有鍵Ｋ２である。
マスタ受信部２５はさらに、第２のスレーブ電子制御装置１００−２から、セッション鍵を共有鍵で暗号化したデータを受信する。ここで、第２のスレーブ電子制御装置１００−２から受信するデータの暗号化に使用されている共有鍵は、マスタ暗号化部２３でセッション鍵を暗号化する際に使用した共有鍵Ｋ１、及び、第１のスレーブ電子制御装置１００−１から受信したセッション鍵の暗号化に使用されている共有鍵Ｋ２のいずれとも異なる共有鍵Ｋ３である。
【００３８】
マスタ復号部２６は、マスタ受信部２５で受信したデータを、マスタ記憶部２２に記憶されている共有鍵を用いて復号する。第１のスレーブ電子制御装置１００−１から受信したデータは共有鍵Ｋ２を用いて復号し、第２のスレーブ電子制御装置１００−２から受信したデータは共有鍵Ｋ３を用いて復号する。
【００３９】
同一性判定部２７（本発明の「判定部」に相当）は、マスタ記憶部２２に記憶されているセッション鍵と、マスタ受信部２５で受信したデータとに「基づいて」、セッション鍵の同一性を判定する。本実施形態では、同一性判定部２７は、マスタ復号部２６で復号して得られたセッション鍵と、マスタ記憶部２２に記憶されているセッション鍵とを比較し、これらの鍵の同一性を判定することにより、鍵の検証を行う。具体的には、同一性判定部２７は、第１のスレーブ電子制御装置から受信したデータを復号して得られるセッション鍵とマスタ記憶部２２に記憶されているセッション鍵、及び第２のスレーブ電子制御装置から受信したデータを復号して得られるセッション鍵とマスタ記憶部２２に記憶されているセッション鍵とをそれぞれ比較し、これらの鍵が同一かどうかを判定する。
ここで、本発明の「基づいて」判定する、とは、セッション鍵と受信したデータを直接的に比較の対象として用いる場合の他、セッション鍵と受信したデータに、例えば、所定の演算を施し、間接的に比較の対象とする場合も含む。さらに、判定は比較に限らず、所定の演算の結果により判断する場合も含む。
【００４０】
認証部２８は、同一性判定部２７における同一性の判定結果に基づいて、第１のスレーブ電子制御装置１００−１及び第２のスレーブ電子制御装置１００−２を認証する。
具体的には、同一性判定部２７が、第１のスレーブ電子制御装置から受信したデータを復号して得られるセッション鍵と、マスタ記憶部２２に記憶されているセッション鍵とが同一であると判定した場合、認証部２８は第１のスレーブ電子制御装置に正しいセッション鍵が配布されたものとして、第１のスレーブ電子制御装置を認証する。同様に、第２のスレーブ電子制御装置から受信したデータを復号して得られるセッション鍵と、マスタ記憶部２２に記憶されているセッション鍵とが同一であると判定した場合、第２のスレーブ電子制御装置を認証する。
【００４１】
これに対し、同一性判定部２８が、スレーブ電子制御装置から受信したデータを復号して得られるセッション鍵と、マスタ記憶部２２に記憶されているセッション鍵とが同一ではないと判定した場合、第三者がマスタ電子制御装置、あるいはスレーブ電子制御装置になりすまして偽のセッション鍵を配布している可能性がある。したがって、その場合には、認証部２８は、マスタ記憶部２２に記憶されているセッション鍵と同一ではない鍵の送信元であるスレーブ電子制御装置を認証しない。
【００４２】
（電子制御システムの動作）
次に、上述した構成を有する第１のスレーブ電子制御装置１００−１、第２のスレーブ電子制御装置１００−２、及びマスタ電子制御装置２００を備える電子制御システム１の動作を図５を用いて説明する。
【００４３】
マスタ電子制御装置２００のセッション鍵取得部２１は、セッション鍵Ｋｓを生成する（Ｓ１０１）。図５では省略しているが、生成されたセッション鍵Ｋｓは、マスタ記憶部２２に記憶される。そして、セッション鍵Ｋｓを生成したマスタ電子制御装置２００は、マスタ暗号化部２３においてセッション鍵Ｋｓを共有鍵Ｋ１を用いて暗号化し、Ｅｎｃ（Ｋ１；Ｋｓ）を生成する（Ｓ１０２）。そして、マスタ電子制御装置２００は、第１のスレーブ電子制御装置１００−１にＥｎｃ（Ｋ１；Ｋｓ）を送信する（Ｓ１０３）。
【００４４】
マスタ電子制御装置２００からＥｎｃ（Ｋ１；Ｋｓ）を受信した第１のスレーブ電子制御装置１００−１は、スレーブ復号部１３１において、Ｅｎｃ（Ｋ１；Ｋｓ）を共有鍵Ｋ１を用いて復号し、セッション鍵Ｋｓを取得する（Ｓ１０４）。次いで、第１のスレーブ電子制御装置１００−１は、スレーブ暗号化部１４１において、復号によって得られるセッション鍵Ｋｓを共有鍵Ｋ２を用いて暗号化し、Ｅｎｃ（Ｋ２；Ｋｓ）を生成する（Ｓ１０５）。そして、第１のスレーブ電子制御装置１００−１は、スレーブ送信部１５１から、マスタ電子制御装置２００及び第２のスレーブ電子制御装置１００−２にＥｎｃ（Ｋ２；Ｋｓ）を送信する（Ｓ１０６）。このとき、スレーブ送信部１５１は、通信ネットワークの負荷を低減させるため、マスタ電子制御装置２００及び第２のスレーブ電子制御装置１００−２に対して同時にＥｎｃ（Ｋ２；Ｋｓ）を送信することが望ましい。
【００４５】
ここで、Ｓ１０６において第１のスレーブ電子制御装置１００−１から送信されるデータは、マスタ電子制御装置２００にとっては、チャレンジ／レスポンス認証に利用するレスポンスデータであり、スレーブ電子制御装置１００−２にとっては、チャレンジ／レスポンス認証に利用するチャレンジデータである。つまり、本発明では、マスタ電子制御装置２００用のレスポンスデータと、第２のスレーブ電子制御装置１００−２用のチャレンジデータに同じデータを利用する。
【００４６】
第１のスレーブ電子制御装置１００−１からＥｎｃ（Ｋ２；Ｋｓ）を受信した第２のスレーブ電子制御装置１００−２は、上述した第１のスレーブ電子制御装置１００−１と同様の復号及び暗号化処理を行う。すなわち、第２のスレーブ電子制御装置１００−２は、スレーブ復号部１３２において、Ｅｎｃ（Ｋ２；Ｋｓ）を共有鍵Ｋ２を用いて復号し、セッション鍵Ｋｓを取得する（Ｓ１０７）。次いで、第２のスレーブ電子制御装置１００−２は、スレーブ暗号化部１４２において、復号によって得られるセッション鍵Ｋｓを共有鍵Ｋ３を用いて暗号化し、Ｅｎｃ（Ｋ３；Ｋｓ）を生成する（Ｓ１０８）。そして、第２のスレーブ電子制御装置１００−２は、スレーブ送信部１５２から、マスタ電子制御装置２００にＥｎｃ（Ｋ３；Ｋｓ）を送信する（Ｓ１１１）。
【００４７】
なお、本実施形態では、電子制御システム１が、スレーブ電子制御装置として第１及び第２のスレーブ電子制御装置のみを備える構成を前提としているため、第２のスレーブ電子制御装置１００−２は、マスタ電子制御装置２００にのみＥｎｃ（Ｋ３；Ｋｓ）を送信している。しかしながら、電子制御システム１が第３のスレーブ電子制御装置（図示せず）を備える場合には、Ｓ１１１において、第２のスレーブ電子制御装置１００−２は、第３のスレーブ電子制御装置に対してもＥｎｃ（Ｋ３；Ｋｓ）を送信する。
【００４８】
第１のスレーブ電子制御装置１００−１からＥｎｃ（Ｋ２；Ｋｓ）を受信したマスタ電子制御装置２００は、マスタ復号部２６において、Ｅｎｃ（Ｋ２；Ｋｓ）を共有鍵Ｋ２を用いて復号する（Ｓ１０９）。そして、同一性判定部２７において、Ｅｎｃ（Ｋ２；Ｋｓ）を復号して得られるセッション鍵Ｋｓと、記憶部２２に記憶しているセッション鍵Ｋｓとの同一性を判定し、同一であると判定した場合には、第１のスレーブ電子制御装置１００−１を認証する（Ｓ１１０）。
なお、マスタ電子制御装置２００におけるＳ１０９、Ｓ１１０の処理は、第２のスレーブ電子制御装置１００−２におけるＳ１０７、Ｓ１０８の処理と並行して実行することができる。
【００４９】
同様に、第２のスレーブ電子制御装置１００−２からＥｎｃ（Ｋ３；Ｋｓ）を受信したマスタ電子制御装置２００は、マスタ復号部２６において、Ｅｎｃ（Ｋ３；Ｋｓ）を共有鍵Ｋ３を用いて復号する（Ｓ１１２）。そして、同一性判定部２７において、Ｅｎｃ（Ｋ３；Ｋｓ）を復号して得られるセッション鍵Ｋｓと、記憶部２２に記憶しているセッション鍵Ｋｓとの同一性を判定し、同一であると判定した場合には、第２のスレーブ電子制御装置１００−２を認証する（Ｓ１１３）。
【００５０】
そして、第１のスレーブ電子制御装置１００−１及び第２のスレーブ電子制御装置１００−２の双方の認証が完了したら、第１及び第２のスレーブ電子制御装置及びマスタ電子制御装置２００の間の通信を開始する。
【００５１】
図５に示す例では、マスタ電子制御装置２００から第１及び第２のスレーブ電子制御装置に鍵を配布し、その検証を行うために通信ネットワークを使用する回数は、マスタ電子制御装置２００から第１のスレーブ電子制御装置１００−１へのデータの送信（Ｓ１０３）と、第１のスレーブ電子制御装置１００−１からマスタ電子制御装置２００及び第２のスレーブ電子制御装置１００−２へのデータの送信（Ｓ１０６）と、第２のスレーブ電子制御装置１００−２からマスタ電子制御装置２００へのデータの送信（Ｓ１１１）と、を合わせて計３回である。
ここで、本発明の電子制御システムがｎ個のスレーブ電子制御装置を備える場合、鍵の配布及びその検証のために通信ネットワークを使用する回数は、（ｎ＋１）回で表すことができる。この通信ネットワークの使用回数は、マスタ電子制御装置とｎ個のスレーブ電子制御装置それぞれがチャレンジ及びレスポンスのデータを送受信し合う従来の方法による通信ネットワークの使用回数：（２×ｎ）回よりも少なく、通信ネットワークの負荷は低下する。また、通信ネットワークの負荷が低下することにより、各電子制御装置が通信ネットワークを使用するための待ち時間は短縮される。
【００５２】
また、図５に示す例では、鍵の配布及びその検証を通して電子制御装置で行われる暗号化及び復号処理は、合わせて７回（Ｓ１０２，Ｓ１０４，Ｓ１０５，Ｓ１０７，Ｓ１０８，Ｓ１０９，Ｓ１１２）である。ここで、本発明の電子制御システムがｎ個のスレーブ電子制御装置を備える場合、マスタ電子制御装置及びスレーブ電子制御装置で行われる暗号化処理及び復号処理の回数は、（３ｎ＋１）回で表される。
これに対し、マスタ電子制御装置とｎ個のスレーブ電子制御装置それぞれがチャレンジ及びレスポンスのデータを送受信し合う従来の方法では、ｎ個のスレーブ電子制御装置それぞれに対して、マスタ電子制御装置での暗号化処理、スレーブ電子制御装置での復号及び暗号化処理、マスタ電子制御装置での復号処理を繰り返す必要があるため、電子制御装置で行われる暗号化及び復号処理の回数は、合わせて（４×ｎ）回となる。
【００５３】
さらに、図５に示すように、本発明では、マスタ電子制御装置における復号処理（Ｓ１０９）と、スレーブ電子制御装置における復号処理（Ｓ１０７）とを同時に並行して実行することができる。つまり、電子制御システム全体では計７回の暗号化及び復号処理が行われるが、暗号化及び復号に要する時間は計６回分の処理時間で足りる。すなわち、マスタ電子制御装置における復号処理と、スレーブ電子制御装置における復号処理とを並行して行うことにより、電子制御システムが暗号化及び復号に要する時間は（２ｎ＋２）回の処理時間で足り、鍵の配布及びその検証に要する時間は従来の方法よりも短縮される。
【００５４】
以上のとおり、本実施形態によれば、マスタ電子制御装置と、各スレーブ電子制御装置の間で共有する共有鍵を異なる鍵とすることにより、電子制御システムのセキュリティ性を高めることが可能となる。さらに、本実施形態によれば、通信ネットワークの負荷を低減するとともに、マスタ電子制御装置及びスレーブ電子制御装置において処理の一部を並行して実行することができるため、鍵の配布及びその検証に要する時間を短縮することが可能となる。
【００５５】
（変形例１）
なお、上記実施形態１では、マスタ電子制御装置２００の同一性判定部２７は、マスタ記憶部２２に記憶されているセッション鍵と、マスタ復号部２６で復号して得られるセッション鍵とを比較することによって鍵の同一性を判定した。しかしながら、同一性判定部２７は、スレーブ電子制御装置から受信したデータを復号することなく、セッション鍵の同一性を判定してもよい。
【００５６】
本変形例１の電子制御システム１の動作を図６を用いて説明する。なお、図５と同じステップについては図５と同じ符号を付し、説明は省略する。
本変形例では、マスタ暗号化部２３は、共有鍵Ｋ１を用いてセッション鍵Ｋｓを暗号化してＥｎｃ（Ｋ１；Ｋｓ）を生成（Ｓ１０２）した後、共有鍵Ｋ２、Ｋ３を用いてセッション鍵Ｋｓを暗号化し、データＥｎｃ（Ｋ２；Ｋｓ）（本発明の「第４のデータ」に相当）、及びデータＥｎｃ（Ｋ３；Ｋｓ）（本発明の「第５のデータ」に相当）をそれぞれ生成する（Ｓ１２１）。
【００５７】
なお、図６では、マスタ電子制御装置２００は、Ｓ１０２にて生成したデータＥｎｃ（Ｋ１；Ｋｓ）を第１のスレーブ電子制御装置１００−１に送信（Ｓ１０３）後にＳ１２１を実行している。この場合、第１のスレーブ電子制御装置１００−１がデータの復号及び暗号化処理を実行している間に、マスタ電子制御装置２００はＳ１２１の暗号化処理を実行することができる。しかしながら、マスタ電子制御装置２００は、Ｓ１０３にてデータを送信する前にＳ１２１を実行してもよい。
【００５８】
その後、マスタ電子制御装置２００は、Ｓ１０６にて第１のスレーブ電子制御装置１００−１から送信されたデータＥｎｃ（Ｋ２；Ｋｓ）を受信すると、受信したデータＥｎｃ（Ｋ２；Ｋｓ）と、Ｓ１２１で生成したデータＥｎｃ（Ｋ２；Ｋｓ）とを比較する。比較した結果、これらのデータが同一の場合には、これらのデータを復号して得られるセッション鍵は同一であると判定する（Ｓ１２２）。そして、認証部２８は第１のスレーブ電子制御装置に正しいセッション鍵が配布されたものとして、第１のスレーブ電子制御装置を認証する。
同様に、マスタ電子制御装置２００は、Ｓ１１１にて第２のスレーブ電子制御装置１００−２から送信されたデータＥｎｃ（Ｋ３；Ｋｓ）を受信すると、受信したデータＥｎｃ（Ｋ３；Ｋｓ）と、Ｓ１２１で生成したデータＥｎｃ（Ｋ３；Ｋｓ）とを比較する。比較した結果、これらのデータが同一の場合には、これらのデータを復号して得られるセッション鍵は同一であると判定する（Ｓ１２３）。そして、認証部２８は第２のスレーブ電子制御装置に正しいセッション鍵が配布されたものとして、第２のスレーブ電子制御装置を認証する。
【００５９】
本変形例によれば、暗号化したデータ同士を比較することによって、スレーブ電子制御装置に正しいセッション鍵が配布されたかどうかの検証を行うことができる。さらに、マスタ電子制御装置２００は、スレーブ電子制御装置が復号及び暗号化処理を行っている間に同一性判定に使用するデータを生成する場合には、鍵の配布及びその検証に要する時間を短縮することが可能となる。
【００６０】
（実施形態２）
上記実施形態では、電子制御システム１を構成する全てのスレーブ電子制御装置の認証が完了次第、マスタ電子制御装置とスレーブ電子制御装置の通信を開始する構成を説明した。しかしながら、スレーブ電子制御装置の中には、少しでも早く通信を開始することが望ましいものがある。例えば、電子制御システムが駆動系の電子制御装置から構成されている場合、同じ駆動系電子制御装置であっても、通常走行時の自動運転を制御する電子制御装置よりも、エンジン動作を制御する電子制御装置が扱う制御情報の方が、車両を駆動制御するのに早く必要とされ、通信ネットワークを使用する優先度が高いと考えられる。
そこで、本実施形態２では、スレーブ電子制御装置の通信ネットワークを使用する優先度に応じて、認証が完了したスレーブ電子制御装置が、他のスレーブ電子制御装置のレスポンスデータの送信に先立って通信を開始する。
【００６１】
図７は、本実施形態２におけるマスタ電子制御装置２０１を示している。図３に示すマスタ電子制御装置２００と同じ構成については、同じ符号を付している。マスタ電子制御装置２０１は、図３に示す構成に加えて優先度判定部２９を備える。
【００６２】
マスタ電子制御装置２０１の記憶部２２は、共有鍵及びセッション鍵に加えて、通信ネットワークを介して接続されたそれぞれのスレーブ電子制御装置が通信ネットワークを使用する「優先度」を示す優先度情報を記憶する。
例えば、上記実施形態の例では、電子制御システムが第１及び第２のスレーブ電子制御装置を備えているため、記憶部２２は、第１のスレーブ電子制御装置の第１の優先度、及び、第２のスレーブ電子制御装置の第２の優先度を示す優先度情報を記憶する。
ここで、本発明の「優先度」とは、優先の度合いが示されていればよく、絶対的な指標（例えば、１０段階評価など）はもちろん、相対的な指標（例えば、高・中・低など）であっても足りる。
【００６３】
優先度判定部２９は、スレーブ電子制御装置が認証部２８で認証された場合、このスレーブ電子制御装置の優先度と、未だ認証が完了していないスレーブ電子制御装置の優先度とを比較する。そして、認証が完了したスレーブ電子制御装置の優先度が、認証が完了していないスレーブ電子制御装置の優先度よりも高いと判定したときは、マスタ電子制御装置２０１は、認証が完了していないスレーブ電子制御装置からデータを受信する前に、すなわち、認証が完了していないスレーブ電子制御装置からマスタ電子制御装置へのデータの送信に先立って、認証が完了したスレーブ電子制御装置と通信ネットワークを介して「通信を開始」する。
ここで、本発明の「通信を開始」とは、マスタ電子制御装置とスレーブ電子制御装置との間でメッセージの送受信を行われていれば足り、このメッセージは電子制御装置に対する制御メッセージの他、例えば、通信の開始を通知するメッセージやＡＣＫ信号といった信号であってもよい。
【００６４】
ここで、図８を用いて、本実施形態２における電子制御システムの動作を説明する。なお、図５と共通する処理については、同じ符号を付している。
図８では、マスタ電子制御装置２０１の認証部２８が第１のスレーブ電子制御装置１００−１を認証する（Ｓ１１０）と、優先度判定部２９は、認証が完了した第１のスレーブ電子制御装置１００−１の第１の優先度と、認証が完了していない第２のスレーブ電子制御装置１００−２の第２の優先度とを比較し、いずれの優先度が高いかを判定する（Ｓ２０１）。
【００６５】
例えば、記憶部２２に記憶されている第１の優先度が“高”に設定されており、第２の優先度が“中”に設定されている場合、優先度判定部２９は、第１のスレーブ電子制御装置１００−１の優先度の方が高いと判定する（Ｓ２０１）。この場合、マスタ電子制御装置２０１は、マスタ送信部２４を介して、第１のスレーブ電子制御装置１００−１に対して、通信ネットワークの使用開始を通知するメッセージを送信する（Ｓ２０２）。このメッセージは例えば、同じネットワークに接続されたスレーブ電子制御装置について、マスタ電子制御装置での認証が完了しているか否かを示す情報を含んでもよい。一例として、マスタ電子制御装置２００は、１ｂｉｔ目に第１のスレーブ電子制御装置が認証されたかどうかを示す情報を有し、２ｂｉｔ目に第２のスレーブ電子制御装置が認証されたかどうかを示す情報を有するメッセージを送信する。上記の例では、Ｓ２０２にて送信されるメッセージは例えば、第１のスレーブ電子制御装置が認証されたことを示すデータ“１”を１ｂｉｔ目に有し、第２のスレーブ電子制御装置は未認証であることを示すデータ“０”を２ｂｉｔ目に有する。あるいは、マスタ電子制御装置２０１は、第１のスレーブ電子制御装置１００−１に、セッション鍵を用いて暗号化した制御メッセージを送信することにより、第１のスレーブ電子制御装置１００−１に対して、通信ネットワーク３００の使用開始を間接的に通知してもよい。
【００６６】
そして、マスタ電子制御装置２０１から、通信ネットワークの使用開始の通知を受けた第１のスレーブ電子制御装置１００−１は、マスタ電子制御装置２０１との通信を実行する（Ｓ２０３）。
【００６７】
一方、認証が完了していない第２のスレーブ電子制御装置１００−２は、マスタ電子制御装置２０１と第１のスレーブ電子制御装置１００−１との間で通信ネットワーク３００が使用されていないタイミングで、Ｓ１０８にて生成したデータＥｎｃ（Ｋ３；Ｋｓ)をマスタ電子制御装置２０１に送信する（Ｓ１１１）。
【００６８】
これに対し、例えば、記憶部２２に記憶されている第１の優先度及び第２の優先度がいずれも“高”に設定されている場合、優先度判定部２９は、第１のスレーブ電子制御装置１００−１と第２のスレーブ電子制御装置１００−２の優先度は同じであると判定する（Ｓ２０１）。この場合、図５に示す例と同様、マスタ電子制御装置２０１は、第１及び第２のスレーブ電子制御装置の双方の認証が完了した後に、第１及び第２のスレーブ電子制御装置と通信ネットワーク２を介して通信を開始する。
【００６９】
なお、本実施形態においても、図８を用いて、電子制御システムが２つのスレーブ電子制御装置のみを備えた場合を説明したが、当然のことながら、電子制御システムは３以上のスレーブ電子制御装置を備えてもよい。例えば、電子制御システムが、第３のスレーブ電子制御装置を備えており、第１、第２、第３のスレーブ電子制御装置の優先度情報がそれぞれ“高”“高”“低”に設定されている場合、マスタ電子制御装置は、第３のスレーブ電子制御装置からデータを受信する前に、第１及び第２のスレーブ電子制御装置との通信を開始する。この場合、マスタ電子制御装置から通信開始の通知を受けた第１及び第２のスレーブ電子制御装置は、これらのスレーブ電子制御装置間での通信をも開始することができる。
【００７０】
上記実施形態２によれば、通信ネットワークを使用する優先度が低いスレーブ電子制御装置の認証を待たずに、優先度が高いスレーブ電子制御装置は通信を開始することが可能となる。
【００７１】
（実施形態３）
上述した実施形態では、マスタ電子制御装置が１つのスレーブ電子制御装置（第１のスレーブ電子制御装置）のみに対してセッション鍵を暗号化したデータを送信している。これに対し、本実施形態３では、マスタ電子制御装置が、複数のスレーブ電子制御装置に対して、セッション鍵を暗号化したデータを送信する例を説明する。
【００７２】
本実施形態の電子制御システムは、第１〜第４のスレーブ電子制御装置を備える。このうち、第１及び第２のスレーブ電子制御装置は、上記実施形態で説明した第１及び第２のスレーブ電子制御装置と同じである。また、第３及び第４のスレーブ電子制御装置は、第１及び第２のスレーブ電子制御装置と同様の構成を有する。ここでは、第１及び第２のスレーブ電子制御装置をグループ１、第３及び第４のスレーブ電子制御装置をグループ２とする。
なお、第３のスレーブ電子制御装置１００−３の記憶部１１３（本発明の「第３記憶部」に相当）は、マスタ電子制御装置２００と共有する共有鍵Ｋ１と（本発明の「第４の共有鍵」に相当）、マスタ電子制御装置２００及び第４のスレーブ電子制御装置１００−４と共有する共有鍵Ｋ４（本発明の「第５の共有鍵」に相当）を記憶している。また、第４のスレーブ電子制御装置１００−４のスレーブ記憶部１１４は、マスタ電子制御装置２００及び第３のスレーブ電子制御装置１００−３と共有する共有鍵Ｋ４と、マスタ電子制御装置２００と共有する共有鍵Ｋ５と、を記憶している。
つまり、本実施形態では、第３のスレーブ電子制御装置は、第１のスレーブ電子制御装置と同じ共有鍵Ｋ１を有している。
【００７３】
図９は、本実施形態３における電子制御システムの動作を示しており、グループ１にかかる処理を実線で表し、グループ２にかかる処理を破線で表している。本実施形態３では、図５に示す処理Ｓ１０１〜Ｓ１１３に加えて、Ｓ３０４〜Ｓ３１３の処理を実行する。なお、Ｓ３０４〜Ｓ３１３の処理はそれぞれ、Ｓ１０４〜Ｓ１１３に対応している。Ｓ１０１〜Ｓ１１３の処理は上記実施形態と同様であり、説明は省略する。
【００７４】
図５に示す実施形態では、マスタ電子制御装置２００は、第１のスレーブ電子制御装置１００−１に対してのみ、Ｓ１０２で生成したデータＥｎｃ（Ｋ１；Ｋｓ）を送信している。これに対し、本実施形態では、マスタ電子制御装置２００は、第１のスレーブ電子制御装置１００−１に加えて、第３のスレーブ電子制御装置１００−３に対しても、データＥｎｃ（Ｋ１；Ｋｓ）を送信する。
【００７５】
マスタ電子制御装置２００のマスタ送信部２４は、第１のスレーブ電子制御装置及び第３のスレーブ電子制御装置に対し、Ｓ１０２で生成したデータＥｎｃ（Ｋ１；Ｋｓ）を「同時に送信」する（Ｓ１０３）。
ここで、本発明の「同時に送信」とは、略同一時刻において、送信先である第１のスレーブ電子制御装置と第３のスレーブ電子制御装置が同一の情報に接することができればよく、例えば、マルチキャストのように１つのメッセージが第１及び第３のスレーブ電子制御装置で同時に受信される場合の他、送信バッファに個々の送信先のメッセージが連続して保存されることにより、連続して送信されるような場合を含む。
【００７６】
第３のスレーブ電子制御装置１００−３は、受信したＥｎｃ（Ｋ１；Ｋｓ）（本発明の「第６のデータ」に相当）を復号してセッション鍵Ｋｓを取得（Ｓ３０４）し、得られたセッション鍵Ｋｓを共有鍵Ｋ４を用いて暗号化して、Ｅｎｃ（Ｋ４；Ｋｓ）（本発明の「第７のデータ」に相当）を生成する（Ｓ３０５）。そして、Ｓ３０６において、第３のスレーブ電子制御装置１００−３は、マスタ電子制御装置２００及び第４のスレーブ電子制御装置１００−４に、Ｅｎｃ（Ｋ４；Ｋｓ）を送信する（Ｓ３０６）。
【００７７】
第４のスレーブ電子制御装置１００−４は、受信したＥｎｃ（Ｋ４；Ｋｓ）を復号してセッション鍵Ｋｓを取得（Ｓ３０７）し、得られたセッション鍵Ｋｓを共有鍵Ｋ５を用いて暗号化して、Ｅｎｃ（Ｋ５；Ｋｓ）を生成する（Ｓ３０８）。そして、マスタ電子制御装置２００に、生成したＥｎｃ（Ｋ５；Ｋｓ）を送信する（Ｓ３１１）。
【００７８】
マスタ電子制御装置２００は、第３及び第４のスレーブ電子制御装置から受信したデータＥｎｃ（Ｋ４；Ｋｓ）、Ｅｎｃ（Ｋ５；Ｋｓ）をそれぞれ復号（Ｓ３０９，Ｓ３１２）するとともに、復号して得られたセッション鍵Ｋｓと、記憶部２２にて記憶しているセッション鍵Ｋｓとの同一性を判定する（Ｓ３１０，Ｓ３１３）。
【００７９】
ここで、グループ１に属する第１及び第２のスレーブ電子制御装置とマスタ電子制御装置２００との間でメッセージを送受信している間に、グループ２に属する第３及び第４のスレーブ電子制御装置がマスタ電子制御装置２００との間でメッセージを送受信しようとする場合、このメッセージはグループ１が送受信しているメッセージと衝突してしまう。つまり、マスタ電子制御装置２００は、グループ１又はグループ２のいずれかのスレーブ電子制御装置と通信している間は、他方のグループのスレーブ電子制御装置と通信をすることができない。
【００８０】
そこで、本実施形態３では、グループ１に属するスレーブ電子制御装置が通信ネットワークを使用している間は、グループ２に属するスレーブ電子制御装置が復号及び暗号化の処理を行い、グループ１に属するスレーブ電子制御装置が復号及び暗号化の処理をしている間は、グループ２に属するスレーブ電子制御装置が通信ネットワークを使用する。
【００８１】
例えば、図９に示すように、第２のスレーブ電子制御装置１００−２がＥｎｃ（Ｋ２；Ｋｓ）を復号（Ｓ１０７）し、復号によって得られたセッション鍵Ｋｓを暗号化してＥｎｃ（Ｋ３；Ｋｓ）を生成（Ｓ１０８）している間に、第３のスレーブ電子制御装置１００−３は、マスタ電子制御装置にＳ３０５で生成したデータＥｎｃ（Ｋ４；Ｋｓ）を送信（Ｓ３０６）する。
同様に、第４のスレーブ電子制御装置１００−４がＥｎｃ（Ｋ４；Ｋｓ）を復号（Ｓ３０７）し、復号によって得られたセッション鍵Ｋｓを暗号化してＥｎｃ（Ｋ５；Ｋｓ）を生成（Ｓ３０８）している間に、第２のスレーブ電子制御装置１００−２は、マスタ電子制御装置にＳ１０８で生成したデータＥｎｃ（Ｋ３；Ｋｓ）を送信する（Ｓ１１１）。
【００８２】
なお、以上の例では、第１のスレーブ電子制御装置と第３のスレーブ電子制御装置の記憶部は同じ共有鍵Ｋ１を記憶している。そのため、マスタ電子制御装置２００は、Ｓ１０２で生成したデータＥｎｃ（Ｋ１；Ｋｓ）を第１及び第３のスレーブ電子制御装置に同時に送信することができる。しかしながら、第１のスレーブ電子制御装置と第３のスレーブ電子制御装置が記憶する共有鍵は異なる共有鍵であってもよい。この場合、マスタ電子制御装置２００は、Ｓ１０２において、第１のスレーブ電子制御装置に送信するデータＥｎｃ（Ｋ１；Ｋｓ）と、第３のスレーブ電子制御装置に送信するデータＥｎｃ（Ｋｘ；Ｋｓ）とをそれぞれ生成して送信する。
【００８３】
上記実施形態３によれば、スレーブ電子制御装置における復号及び暗号化処理をグループ毎に分散して実行するとともに、一方のグループに属するスレーブ電子制御装置が通信ネットワークを使用している間に、他方のグループに属するスレーブ電子制御装置が復号及び暗号化処理を行うことできるため、鍵の配布及びその検証に要する時間を更に短縮することが可能となる。
【００８４】
なお、上述した例では、スレーブ電子制御装置を２つのグループに分ける例を説明しているが、スレーブ電子制御装置を２よりも多くのグループに分けて、マスタ電子制御装置が複数のグループのスレーブ電子制御装置にデータを送信し、同様の処理を行ってもよい。この場合、マスタ電子制御装置がスレーブ電子制御装置からレスポンスデータを受信する間隔が短くなるため、マスタ電子制御装置における復号及び鍵の同一性判定にかかる処理は高速で実行できることが望ましい。
【００８５】
（実施形態４）
実施形態４では、電子制御システムがさらに、マスタ電子制御２００を制御するメインマスタ電子制御装置４００を備える構成を説明する。つまり、本実施形態４では、マスタ電子制御２００（本発明の「サブマスタ電子制御装置」に相当）が、メインマスタ電子制御装置４００との関係では、スレーブ電子制御装置として機能する。メインマスタ電子制御装置４００には、上述した実施形態のマスタ電子制御装置２００と同様、ゲートウェイ機能や、車両外部との通信機能を有する電子制御装置が挙げられるが、これらの例に限定されるものではない。
【００８６】
図１０は、本実施形態の電子制御システム２を示している。電子制御システム２は、メインマスタ電子制御装置４００と、メインマスタ電子制御装置４００に通信ネットワーク３００及び３１０を介して接続されたサブシステム５００及び５１０を備える。
なお、図１０は、電子制御システム２が２つのサブシステムのみを備える構成を示しているが、当然のことながら、電子制御システム２は任意の数のサブシステムを備えてもよい。
【００８７】
メインマスタ電子制御装置４００は、図３に示すマスタ電子制御装置２００と同様の構成を備える。すなわち、メインマスタ電子制御装置４００は、セッション鍵取得部４２１、メインマスタ記憶部４２２、メインマスタ暗号化部４２３、メインマスタ送信部４２４、メインマスタ受信部４２５、メインマスタ復号部４２６、メインマスタ判定部４２７、メインマスタ認証部４２８とを備え、これらの各構成はマスタ電子制御装置４００の対応する各構成と同様の機能を備える。
ここで、メインマスタ記憶部４２２は、マスタ電子制御装置２００と共有する第１のマスタ共有鍵Ｋ０と第２のマスタ共有鍵Ｋ１０とを記憶する。
【００８８】
サブシステム５００及び５１０は、上述した実施形態の電子制御システム１に相当するものであり、サブシステムを構成するマスタ電子制御装置、第１及び第２のスレーブ電子制御装置は、上記実施形態と同様の動作を行う。
ただし、本実施形態では、マスタ電子制御装置２００は、セッション鍵取得部２１においてセッション鍵を生成する代わりに、メインマスタ電子制御装置４００から、メインマスタ電子制御装置４００で生成されたセッション鍵を通信ネットワークを介して受信することによってセッション鍵を取得する。
さらに、本実施形態のマスタ電子制御装置２００の記憶部２２は、第１及び第２のスレーブ電子制御装置と共有する共有鍵に加えて、メインマスタ電子制御装置４００と共有する２つのマスタ共有鍵、すなわち、第１のマスタ共有鍵Ｋ０と第２のマスタ共有鍵Ｋ１０とを記憶する。
【００８９】
次に、図１１を用いて、本実施形態４の電子制御システム２の動作を説明する。
まず、メインマスタ電子制御装置４００は、セッション鍵取得部４２１において、セッション鍵Ｋｓを生成する（Ｓ４０１）。生成されたセッション鍵Ｋｓは、メインマスタ記憶部４２２に記憶される。セッション鍵Ｋｓを生成したメインマスタ電子制御装置４００は、メインマスタ暗号化部４２３においてセッション鍵Ｋｓを共有鍵Ｋ１を用いて暗号化し、Ｅｎｃ（Ｋ０；Ｋｓ）（本発明の「第１のマスタデータ」に相当）を生成する（Ｓ４０２）。そして、メインマスタ電子制御装置４００は、メイン電子制御装置２００にＥｎｃ（Ｋ０；Ｋｓ）を送信する（Ｓ４０３）。
【００９０】
メインマスタ電子制御装置４００からＥｎｃ（Ｋ０；Ｋｓ）を受信したメイン電子制御装置２００は、マスタ復号部２６において、Ｅｎｃ（Ｋ０；Ｋｓ）を第１のマスタ共有鍵Ｋ０を用いて復号し、セッション鍵Ｋｓを取得する（Ｓ４０４）。つまり、マスタ電子制御装置２００は、上記実施形態におけるセッション鍵の生成（Ｓ１０１）に代えて、メインマスタ電子制御装置４００からセッション鍵を受信することによってセッション鍵を取得する。そして、マスタ電子制御装置２００、第１及び第２のスレーブ電子制御装置は、図５に示す処理Ｓ１０２〜Ｓ１１３と同様の処理を行う。
【００９１】
サブシステム５００に含まれる全てのスレーブ電子制御装置、つまり、第１のスレーブ電子制御装置１００−１及び第２のスレーブ電子制御装置１００−２の認証が完了（Ｓ１１０，Ｓ１１３）すると、マスタ電子制御装置２００は、セッション鍵Ｋｓを第２のマスタ共有鍵Ｋ１０を用いて暗号化し、Ｅｎｃ（Ｋ１０；Ｋｓ）を生成する（Ｓ４０５）。そして、メインマスタ電子制御装置４００に、Ｅｎｃ（Ｋ１０；Ｋｓ）（本発明の「第２のマスタデータ」に相当）を送信する（Ｓ４０６）。
【００９２】
マスタ電子制御装置２００からＥｎｃ（Ｋ１０；Ｋｓ）を受信したメインマスタ電子制御装置４００は、メインマスタ復号部４２６において、Ｅｎｃ（Ｋ１０；Ｋｓ）を共有鍵Ｋ１０を用いて復号する（Ｓ４０７）。そして、メインマスタ同一性判定部４２７において、メインマスタ記憶部４２２に記憶されているセッション鍵Ｋｓと、Ｅｎｃ（Ｋ１０；Ｋｓ）を復号して得られるセッション鍵Ｋｓとの同一性を判定し、セッション鍵が同一であると判定した場合には、メインマスタ電子制御装置４００は、サブシステム５００を認証する（Ｓ４０８）。
【００９３】
なお、以上の説明では、メインマスタ電子制御装置４００に、複数の通信ネットワークを介して複数のサブシステムがそれぞれ接続されている例を説明した。しかしながら、電子制御システム２は、例えば、図１２に示すように、メインマスタ電子制御装置４００に、１つの通信ネットワークを介して複数のサブシステムと接続される構成であってもよい。
【００９４】
本実施形態によれば、複数のサブシステムを設けることによって、鍵の暗号化及び復号に係る処理、さらには、鍵の同一性判定やスレーブ電子制御装置の認証に係る処理を、複数のサブシステムで分散して実行することができるため、全ての電子制御装置の認証が完了するまでに要する時間を短縮することが可能となる。
【００９５】
（総括）
以上、本発明の実施形態における電子制御システム及び電子制御装置の特徴について説明した。
【００９６】
上記実施形態で使用した用語は例示であるので、同義の用語、あるいは同義の機能を含む用語に置き換えてもよい。
【００９７】
実施形態の説明に用いたブロック図は、電子制御装置等の構成を機能毎に分類及び整理したものである。これらの機能ブロックは、ハードウェア又はソフトウェアの任意の組み合わせで実現される。また、機能を示したものであることから、かかるブロック図は方法の発明の開示としても把握できるものである。
【００９８】
各実施形態に記載した処理、フロー、及び方法として把握できる機能ブロックについては、一のステップで他のステップの結果を利用する関係にある等の制約がない限り、順序を入れ替えても良い。
【００９９】
各実施形態、及び本発明で使用する「第１」「第２」の用語は、同種の２以上の構成や方法を区別するために使用しており、順序や優劣を限定するものではない。
【０１００】
各実施形態は、車両に搭載される車両用の電子制御システム及び電子制御装置を前提としているが、本明細書は、車両用以外の専用又は汎用の電子制御システムを含めた情報処理システム、及び専用又は汎用の電子制御装置を含めた情報処理装置も開示するものである。
【０１０１】
また、本発明の電子制御装置の形態の例として、半導体、電子回路、モジュール、マイクロコンピュータが挙げられる。またこれらにアンテナや通信用インターフェースなど、必要な機能を追加してもよい。また、カーナビゲーションシステム、スマートフォン、パーソナルコンピュータ、携帯情報端末のような形態をとることも可能である。
【０１０２】
加えて、本発明は、各実施形態で説明した構成及び機能を有する専用のハードウェアで実現できるだけでなく、メモリやハードディスク等の記憶媒体に記憶した本発明を実現するためのプログラム、及びこれを実行可能な専用又は汎用ＣＰＵ及びメモリ等を有する汎用のハードウェアとの組み合わせとしても実現できる。
【０１０３】
専用や汎用のハードウェアの記憶媒体（外部記憶装置（ハードディスク、ＵＳＢメモリ、ＣＤ／ＢＤ等）、内部記憶装置（ＲＡＭ、ＲＯＭ等））に格納されるプログラムは、記憶媒体を介して、あるいは記憶媒体を介さずにサーバから通信回線を経由して、専用又は汎用のハードウェアに提供することもできる。これにより、プログラムのアップグレードを通じて常に最新の機能を提供することができる。
【産業上の利用可能性】
【０１０４】
本発明の電子制御装置は、主として自動車に搭載される車両用電子制御装置として説明したが、自動二輪車、電動機付自転車、鉄道はもちろん、船舶、航空機等、移動する移動体全般に適用することが可能である。
【符号の説明】
【０１０５】
１，２  車両用電子制御システム、１１１，１１２  スレーブ記憶部、１２１，１２２  スレーブ受信部、１３１，１３２  スレーブ復号部、１４１，１４２  スレーブ暗号化部、１５１，１５２  スレーブ送信部、２２  マスタ記憶部、２３  マスタ暗号化部、２４  マスタ送信部、２５  マスタ受信部、２６  マスタ復号部、２７  同一性判定部、２８  認証部、１００  スレーブ電子制御装置、２００，２０１  マスタ電子制御装置、３００  通信ネットワーク、４００  メインマスタ電子制御装置
【図１】
2019197999.tif 000003
【図２】
2019197999.tif 000004
【図３】
2019197999.tif 000005
【図４】
2019197999.tif 000006
【図５】
2019197999.tif 000007
【図６】
2019197999.tif 000008
【図７】
2019197999.tif 000009
【図８】
2019197999.tif 000010
【図９】
2019197999.tif 000011
【図１０】
2019197999.tif 000012
【図１１】
2019197999.tif 000013
【図１２】
2019197999.tif 000014
【手続補正書】
【提出日】平成30年5月16日(2018.5.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マスタ電子制御装置（２００，２０１）と、通信ネットワーク（３００）を介して前記マスタ電子制御装置と接続された第１のスレーブ電子制御装置（１００−１）及び第２のスレーブ電子制御装置（１００−２）と、を備える車両用電子制御システム（１，２）であって、
前記第１のスレーブ電子制御装置は、
前記マスタ電子制御装置と共有する第１の共有鍵（Ｋ１）と、前記マスタ電子制御装置及び前記第２のスレーブ電子制御装置と共有する第２の共有鍵（Ｋ２）と、を記憶する第１記憶部（１１１）と、
前記マスタ電子制御装置から、鍵情報を前記第１の共有鍵を用いて暗号化した第１のデータを受信する第１受信部（１２１）と、
前記第１の共有鍵を用いて前記第１のデータを復号するとともに、前記第１のデータを復号して得られる前記鍵情報を前記第２の共有鍵を用いて暗号化し、第２のデータを生成する第１制御部（１３１，１４１）と、
前記マスタ電子制御装置及び前記第２のスレーブ電子制御装置に、前記第２のデータを送信する第１送信部（１５１）と、を備え、
前記第２のスレーブ電子制御装置は、
前記第２の共有鍵と、前記マスタ電子制御装置と共有する第３の共有鍵（Ｋ３）と、を記憶する第２記憶部（１１２）と、
前記第１のスレーブ電子制御装置から、前記第２のデータを受信する第２受信部（１２２）と、
前記第２の共有鍵を用いて前記第２のデータを復号するとともに、前記第２のデータを復号して得られる前記鍵情報を前記第３の共有鍵を用いて暗号化し、第３のデータを生成する第２制御部（１３２，１４２）と、
前記マスタ電子制御装置に、前記第３のデータを送信する第２送信部（１５２）と、を備え、
前記マスタ電子制御装置は、
前記鍵情報と、前記第１の共有鍵と、前記第２の共有鍵と、前記第３の共有鍵とを記憶するマスタ記憶部（２２）と、
前記第１のスレーブ電子制御装置に、前記第１のデータを送信するマスタ送信部（２４）と、
前記第１のスレーブ電子制御装置から前記第２のデータを受信し、前記第２のスレーブ電子制御装置から前記第３のデータを受信するマスタ受信部（２５）と、
前記鍵情報を前記第１の共有鍵を用いて暗号化して前記第１のデータを生成するマスタ制御部（２３，２６）と、
前記鍵情報と前記第２のデータ、及び前記鍵情報と前記第３のデータとに基づいて、前記鍵情報の同一性をそれぞれ判定する判定部（２７）と、を備える、
車両用電子制御システム。
【請求項２】
前記マスタ制御部はさらに、前記第２の共有鍵を用いて前記第２のデータを復号し、かつ、前記第３の共有鍵を用いて前記第３のデータを復号し、
前記判定部は、前記マスタ記憶部に記憶されている前記鍵情報と前記第２のデータを復号して得られる前記鍵情報、及び前記マスタ記憶部に記憶されている前記鍵情報と前記第３のデータを復号して得られる前記鍵情報の同一性をそれぞれ判定する、
請求項１記載の車両用電子制御システム。
【請求項３】
前記マスタ制御部はさらに、前記マスタ記憶部に記憶されている前記鍵情報を前記第２の共有鍵を用いて暗号化して第４のデータを生成し、かつ、前記マスタ記憶部に記憶されている前記鍵情報を前記第３の共有鍵を用いて暗号化して第５のデータを生成し、
前記判定部は、前記第２のデータと前記第４のデータ、及び前記第３のデータと前記第５のデータの同一性をそれぞれ判定することにより前記鍵情報の同一性を判定する、
請求項１記載の車両用電子制御システム。
【請求項４】
前記マスタ電子制御装置は、前記車両が起動した場合に、前記鍵情報を取得する、
請求項１記載の車両用電子制御システム。
【請求項５】
前記マスタ電子制御装置（２０１）は、前記判定部の判定結果に基づいて前記第１のスレーブ電子制御装置及び前記第２のスレーブ電子制御装置を認証する認証部（２８）をさらに備え、
前記マスタ記憶部は、前記第１のスレーブ電子制御装置が前記通信ネットワークを使用する優先度を示す第１の優先度、及び前記第２のスレーブ電子制御装置が前記通信ネットワークを使用する優先度を示す第２の優先度、を記憶し、
前記第１のスレーブ電子制御装置が前記認証部で認証された場合、前記第１の優先度が前記第２の優先度よりも高いときは、前記第２送信部からの前記第３のデータの送信に先立って、前記マスタ送信部は前記第１のスレーブ電子制御装置と前記通信ネットワークを介して通信を開始する、
請求項１記載の車両用電子制御システム。
【請求項６】
前記第１のスレーブ電子制御装置が前記認証部により認証された場合、前記第１の優先度が前記第２の優先度よりも低いときは、前記第２送信部から前記第３のデータの送信後に、前記マスタ送信部は前記第１のスレーブ電子制御装置と前記通信ネットワークを介して通信を開始する、
請求項５記載の車両用電子制御システム。
【請求項７】
前記マスタ電子制御装置に接続された第３のスレーブ電子制御装置（１００−３）をさらに備え、
前記第３のスレーブ電子制御装置は、
前記マスタ電子制御装置と共有する第４の共有鍵と第５の共有鍵とを記憶する第３記憶部と、
前記マスタ電子制御装置から、前記鍵情報を前記第４の共有鍵を用いて暗号化した第６のデータを受信する第３受信部と、
前記第４の共有鍵を用いて前記第６のデータを復号するとともに、前記第６のデータを復号して得られる前記鍵情報を前記第５の共有鍵を用いて暗号化し、第７のデータを生成する第３制御部と、
前記マスタ電子制御装置に、前記第７のデータを送信する第３送信部と、を備える、
請求項１記載の車両用電子制御システム。
【請求項８】
前記第３のスレーブ電子制御装置は、前記第１制御部が前記第１のデータを復号及び前記鍵情報を暗号化している間、又は、前記第２制御部が前記第２のデータを復号及び前記鍵情報を暗号化している間に、前記マスタ電子制御装置に前記第７のデータを送信する、
請求項７記載の車両用電子制御システム。
【請求項９】
前記第１の共有鍵と前記第４の共有鍵は同一であり、
前記マスタ送信部は、前記第１のデータ及び前記第６のデータを同時に送信する、
請求項７記載の車両用電子制御システム。
【請求項１０】
当該車両用電子制御システムはさらに、前記マスタ電子制御装置であるサブマスタ電子制御装置を制御するとともに、第１のマスタ共有鍵（Ｋ０）と第２のマスタ共有鍵（Ｋ１０）とを前記サブマスタ電子制御装置と共有するメインマスタ電子制御装置（４００）を備え、
前記サブマスタ電子制御装置において、
前記マスタ受信部は、前記メインマスタ電子制御装置から、前記鍵情報を前記第１のマスタ共有鍵で暗号化した第１のマスタデータを受信し、
前記マスタ制御部は、前記第１のマスタ共有鍵を用いて前記第１のマスタデータを復号して前記鍵情報を取得し、
前記マスタ送信部は、前記判定部が、前記鍵情報と前記第２のデータ、及び前記鍵情報と前記第３のデータに基づいて、前記鍵情報がいずれも同一と判断した場合には、前記メインマスタ電子制御装置に、前記鍵情報を前記第２のマスタ共有鍵で暗号化した第２のマスタデータを送信し、
前記メインマスタ電子制御装置は、
前記第１のマスタ共有鍵で前記鍵情報を暗号化して前記第１のマスタデータを生成するメインマスタ制御部と、
前記鍵情報と前記第２のマスタデータとに基づいて、前記鍵情報との同一性を判定するメインマスタ判定部と、を備える、
請求項１記載の車両用電子制御システム。
【請求項１１】
通信ネットワーク（３００）を介して、マスタ電子制御装置及び他のスレーブ電子制御装置と接続された車両用スレーブ電子制御装置（１００−１）であって、
前記マスタ電子制御装置と共有する第１の共有鍵と、前記マスタ電子制御装置及び前記他のスレーブ電子制御装置と共有する第２の共有鍵と、を記憶する記憶部（１１１）と、
前記マスタ電子制御装置から、前記第１の共有鍵を用いて鍵情報を暗号化した第１のデータを受信する受信部（１２１）と、
前記第１の共有鍵を用いて前記第１のデータを復号するとともに、前記第１のデータを復号して得られる前記鍵情報を前記第２の共有鍵を用いて暗号化し、第２のデータを生成する制御部（１３１，１４１）と、
前記マスタ電子制御装置及び前記他のスレーブ電子制御装置に、前記第２のデータを送信する送信部（１５１）と、
を備える、車両用スレーブ電子制御装置。
【請求項１２】
通信ネットワーク（３００）を介して、マスタ電子制御装置、第１のスレーブ電子制御装置、及び第２のスレーブ電子制御装置と接続された車両用スレーブ電子制御装置（１００−２）であって、
前記マスタ電子制御装置及び前記第１のスレーブ電子制御装置と共有する第１の共有鍵と、前記マスタ電子制御装置及び前記第２のスレーブ電子制御装置と共有する第２の共有鍵と、を記憶する記憶部（１１２）と、
前記第１のスレーブ電子制御装置から、前記第１の共有鍵を用いて鍵情報を暗号化した第１のデータを受信する受信部（１２２）と、
前記第１の共有鍵を用いて前記第１のデータを復号するとともに、前記第１のデータを復号して得られる前記鍵情報を前記第２の共有鍵を用いて暗号化し、第２のデータを生成する制御部（１３２，１４２）と、
前記マスタ電子制御装置及び前記第２のスレーブ電子制御装置に、前記第２のデータを送信する送信部（１５２）と、
を備える、車両用スレーブ電子制御装置。
【請求項１３】
マスタ電子制御装置（２００）と、通信ネットワーク（３００）を介して前記マスタ電子制御装置と接続された第１のスレーブ電子制御装置（１００−１）及び第２のスレーブ電子制御装置（１００−２）と、を備える車両用電子制御システムで実行される鍵配布方法であって、
前記マスタ電子制御装置において、
前記マスタ電子制御装置と前記第１のスレーブ電子制御装置とが共有する第１の共有鍵を用いて鍵情報を暗号化し、第１のデータを生成するステップと、
前記第１のデータを、前記マスタ電子制御装置から前記第１のスレーブ電子制御装置に送信するステップと、
前記第１のスレーブ電子制御装置において、
前記第１の共有鍵を用いて前記第１のデータを復号するステップと、
前記第１のデータを復号して得られる前記鍵情報を、前記マスタ電子制御装置と前記第１及び第２のスレーブ電子制御装置とが共有する第２の共有鍵を用いて暗号化し、第２のデータを生成するステップと、
前記第２のデータを、前記第１のスレーブ電子制御装置から前記マスタ電子制御装置及び前記第２のスレーブ電子制御装置に送信するステップと、
前記第２のスレーブ電子制御装置において、
前記第２の共有鍵を用いて前記第２のデータを復号するステップと、
前記第２のデータを復号して得られる前記鍵情報を、前記マスタ電子制御装置と前記第第２のスレーブ電子制御装置とが共有する第３の共有鍵を用いて暗号化し、第３のデータを生成するステップと、
前記第３のデータを、前記第２のスレーブ電子制御装置から前記マスタ電子制御装置に送信するステップと、
前記マスタ電子制御装置において、
前記鍵情報と前記第２のデータに基づいて前記鍵情報の同一性を判定するステップと、
前記鍵情報と前記第３のデータに基づいて前記鍵情報の同一性を判定するステップと、
を含む、鍵配布方法。
【請求項１４】
通信ネットワークを介して、マスタ電子制御装置及び他のスレーブ電子制御装置と接続された車両用スレーブ電子制御装置で実行される鍵配布プログラムであって、
前記マスタ電子制御装置から、前記マスタ電子制御装置と前記車両用スレーブ電子制御装置とが共有する第１の共有鍵を用いて鍵情報を暗号化した第１のデータを受信するステップと、
前記第１の共有鍵を用いて前記第１のデータを復号するステップと、
前記第１のデータを復号して得られる前記鍵情報を、前記車両用スレーブ電子制御装置と前記マスタ電子制御装置と前記他のスレーブ電子制御装置とで共有する第２の共有鍵を用いて暗号化し、第２のデータを生成するステップと、
前記マスタ電子制御装置と前記他のスレーブ電子制御装置に、前記第２のデータを送信するステップと、
を含む、鍵配布プログラム。
【請求項１５】
通信ネットワークを介して、マスタ電子制御装置、第１のスレーブ電子制御装置、及び第２のスレーブ電子制御装置と接続された車両用スレーブ電子制御装置で実行される鍵配布プログラムであって、
前記第１のスレーブ電子制御装置から、前記車両用スレーブ電子制御装置と前記マスタ電子制御装置と前記第１のスレーブ電子制御装置とが共有する第１の共有鍵を用いて鍵情報を暗号化した第１のデータを受信するステップと、
前記第１の共有鍵を用いて前記第１のデータを復号するステップと、
前記第１のデータを復号して得られる前記鍵情報を、前記車両用スレーブ電子制御装置と前記マスタ電子制御装置と前記第２のスレーブ電子制御装置とが共有する第２の共有鍵を用いて暗号化し、第２のデータを生成するステップと、
前記マスタ電子制御装置と前記第２のスレーブ電子制御装置に、前記第２のデータを送信するステップと、
を含む、鍵配布プログラム。