(57)【要約】【課題】セキュリティ性能の向上を図る。【解決手段】管理装置１０は、一つのフレームに格納可能なデータ長の上限を超えるデータ長である第１のデータを記憶する第１データ記憶部１２と、一つのフレームに格納可能なデータ長である第２のデータを生成する第２データ生成部１３と、第１のデータと第２のデータを使用して複数のＥＣＵ５０で共有される第３のデータを生成する第３データ生成部１４を備え、ＥＣＵ５０は、第１のデータを記憶する第１データ記憶部５２と、第１データ記憶部５２に記憶されている第１のデータと、管理装置１０から受信した第２のデータとを使用して、第３のデータを生成する第３データ生成部５３を備える。【選択図】図１
2017225186.tif 000002
【特許請求の範囲】
【請求項１】
車両に備わる車載制御システムにおいて、
前記車両に備わる通信ネットワークを介してフレームにより通信する管理装置と複数の車載コンピュータを備え、
前記管理装置は、
前記通信ネットワークを介して前記フレームを送受する通信部と、
一つの前記フレームに格納可能なデータ長の上限を超えるデータ長である第１のデータを記憶する第１データ記憶部と、
一つの前記フレームに格納可能なデータ長である第２のデータを生成する第２データ生成部と、
前記第１のデータと前記第２のデータを使用して、複数の前記車載コンピュータで共有される第３のデータを生成する第３データ生成部と、を備え、
前記通信部は、前記第２のデータを格納した前記フレームである第２データ格納フレームを、前記通信ネットワークを介して前記車載コンピュータへ送信し、
前記車載コンピュータは、
前記通信ネットワークを介して前記フレームを送受する通信部と、
前記第１のデータを記憶する第１データ記憶部と、
自車載コンピュータの前記第１データ記憶部に記憶されている前記第１のデータと自車載コンピュータの前記通信部が前記管理装置から前記通信ネットワークを介して受信した前記第２データ格納フレームに格納されている前記第２のデータとを使用して、前記第３のデータを生成する第３データ生成部と、を備える、
車載制御システム。
【請求項２】
前記管理装置の前記通信部は、ブロードキャスト又はマルチキャストにより前記第２データ格納フレームを送信し、
前記車載コンピュータの前記通信部は、ブロードキャスト又はマルチキャストにより前記第２データ格納フレームを受信する、
請求項１に記載の車載制御システム。
【請求項３】
前記車載コンピュータは、前記第３のデータを、前記通信ネットワークを介して行われる通信に関する情報の初期値に使用する、
請求項１又は２のいずれか１項に記載の車載制御システム。
【請求項４】
前記通信に関する情報は、前記フレームについてのカウンタ値である、
請求項３に記載の車載制御システム。
【請求項５】
前記カウンタ値は、前記通信ネットワークを介して交換されるメッセージについてのメッセージ認証コードの生成に使用される、
請求項４に記載の車載制御システム。
【請求項６】
前記車載コンピュータは、前記第３のデータを、前記通信ネットワークを介して行われる通信に使用される鍵に使用する、
請求項１又は２のいずれか１項に記載の車載制御システム。
【請求項７】
前記管理装置は、
所定のタイミングで前記第１のデータを変更するデータ更新部と、
該変更後の前記第１のデータを前記管理装置と前記車載コンピュータで共有される第１の鍵で暗号化する暗号処理部と、を備え、
前記管理装置の前記通信部は、該暗号化の結果である第１暗号化データを格納した前記フレームである第１暗号化データ格納フレームを、前記通信ネットワークを介して前記車載コンピュータへ送信し、
前記車載コンピュータは、
自車載コンピュータの前記通信部が前記管理装置から前記通信ネットワークを介して受信した前記第１暗号化データ格納フレームに格納されている前記第１暗号化データを前記第１の鍵で復号する暗号処理部と、
該復号の結果により自車載コンピュータの前記第１のデータを更新するデータ更新部と、を備える、
請求項１から６のいずれか１項に記載の車載制御システム。
【請求項８】
前記管理装置の前記データ更新部は、所定のタイミングで前記第１の鍵を変更し、
前記管理装置の前記暗号処理部は、該変更後の前記第１の鍵を前記管理装置と前記車載コンピュータで共有される第２の鍵で暗号化し、
前記管理装置の前記通信部は、該暗号化の結果である第２暗号化データを格納した前記フレームである第２暗号化データ格納フレームを、前記通信ネットワークを介して前記車載コンピュータへ送信し、
前記車載コンピュータの前記暗号処理部は、自車載コンピュータの前記通信部が前記管理装置から前記通信ネットワークを介して受信した前記第２暗号化データ格納フレームに格納されている前記第２暗号化データを前記第２の鍵で復号し、
前記車載コンピュータの前記データ更新部は、該復号の結果により自車載コンピュータの前記第１の鍵を更新する、
請求項７に記載の車載制御システム。
【請求項９】
請求項１から８のいずれか１項に記載の車載制御システムを備える車両。
【請求項１０】
車両に備わる通信ネットワークを介してフレームにより通信する管理装置と複数の車載コンピュータを備える前記車両に備わる車載制御システムの前記管理装置において、
前記通信ネットワークを介して前記フレームを送受する通信部と、
一つの前記フレームに格納可能なデータ長の上限を超えるデータ長のデータであって前記管理装置と前記車載コンピュータで共有される第１のデータを記憶する第１データ記憶部と、
一つの前記フレームに格納可能なデータ長である第２のデータを生成する第２データ生成部と、
前記第１のデータと前記第２のデータを使用して、複数の前記車載コンピュータで共有される第３のデータを生成する第３データ生成部と、を備え、
前記通信部は、前記第２のデータを格納した前記フレームである第２データ格納フレームを、前記通信ネットワークを介して前記車載コンピュータへ送信する、
管理装置。
【請求項１１】
車両に備わる通信ネットワークを介してフレームにより通信する管理装置と複数の車載コンピュータを備える前記車両に備わる車載制御システムの前記車載コンピュータにおいて、
前記通信ネットワークを介して前記フレームを送受する通信部と、
一つの前記フレームに格納可能なデータ長の上限を超えるデータ長のデータであって前記管理装置と前記車載コンピュータで共有される第１のデータを記憶する第１データ記憶部と、
前記第１データ記憶部に記憶されている前記第１のデータと前記通信部が前記管理装置から前記通信ネットワークを介して受信した前記フレームであって一つの前記フレームに格納可能なデータ長である第２のデータを格納した第２データ格納フレームに格納されている前記第２のデータとを使用して、複数の前記車載コンピュータで共有される第３のデータを生成する第３データ生成部と、
を備える車載コンピュータ。
【請求項１２】
車両に備わる通信ネットワークを介してフレームにより通信する管理装置と複数の車載コンピュータを備える前記車両に備わる車載制御システムのデータ共有方法において、
前記管理装置が、一つの前記フレームに格納可能なデータ長の上限を超えるデータ長である第１のデータを記憶する第１データ記憶ステップと、
前記管理装置が、一つの前記フレームに格納可能なデータ長である第２のデータを生成する第２データ生成ステップと、
前記管理装置が、前記第２のデータを格納した前記フレームである第２データ格納フレームを、前記通信ネットワークを介して前記車載コンピュータへ送信する送信ステップと、
前記管理装置が、前記第１のデータと前記第２のデータを使用して、複数の前記車載コンピュータで共有される第３のデータを生成する第３データ生成ステップと、
前記車載コンピュータが、前記第１のデータを記憶する第２の第１データ記憶ステップと、
前記車載コンピュータが、前記管理装置から前記通信ネットワークを介して前記第２データ格納フレームを受信する受信ステップと、
前記車載コンピュータが、前記第２の第１データ記憶ステップで記憶した前記第１のデータと前記受信ステップで受信した前記第２データ格納フレームに格納されている前記第２のデータとを使用して、前記第３のデータを生成する第２の第３データ生成ステップと、
を含むデータ共有方法。
【請求項１３】
車両に備わる通信ネットワークを介してフレームにより通信する管理装置と複数の車載コンピュータを備える前記車両に備わる車載制御システムの前記管理装置のコンピュータに、
一つの前記フレームに格納可能なデータ長の上限を超えるデータ長のデータであって前記管理装置と前記車載コンピュータで共有される第１のデータを記憶する第１データ記憶機能と、
一つの前記フレームに格納可能なデータ長である第２のデータを生成する第２データ生成機能と、
前記第２のデータを格納した前記フレームである第２データ格納フレームを、前記通信ネットワークを介して前記車載コンピュータへ送信する通信機能と、
前記第１のデータと前記第２のデータを使用して、複数の前記車載コンピュータで共有される第３のデータを生成する第３データ生成機能と、
を実現させるためのコンピュータプログラム。
【請求項１４】
車両に備わる通信ネットワークを介してフレームにより通信する管理装置と複数の車載コンピュータを備える前記車両に備わる車載制御システムの前記車載コンピュータに、
一つの前記フレームに格納可能なデータ長の上限を超えるデータ長のデータであって前記管理装置と前記車載コンピュータで共有される第１のデータを記憶する第１データ記憶機能と、
一つの前記フレームに格納可能なデータ長である第２のデータを格納した前記フレームである第２データ格納フレームを前記管理装置から前記通信ネットワークを介して受信する通信機能と、
前記第１データ記憶機能により記憶されている前記第１のデータと前記通信機能により受信した前記第２データ格納フレームに格納されている前記第２のデータとを使用して、複数の前記車載コンピュータで共有される第３のデータを生成する第３データ生成機能と、
を実現させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載制御システム、車両、管理装置、車載コンピュータ、データ共有方法、及びコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、自動車は、ＥＣＵ（Electronic Control Unit；電子制御装置）を有し、ＥＣＵによってエンジン制御等の機能を実現する。ＥＣＵは、コンピュータの一種であり、コンピュータプログラムによって所望の機能を実現する。複数のＥＣＵをＣＡＮ（Controller Area Network）に接続して構成される車載制御システムについてのセキュリティ技術が例えば非特許文献１に記載されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】竹森敬祐、“セキュアエレメントを基点とした車載制御システムの保護  − 要素技術の整理と考察 −”、電子情報通信学会、信学技報、vol. 114、no. 508、pp. 73-78、2015年3月
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の車載制御システムのセキュリティ技術では、エンジン始動後などの制御の迅速性が要求される状況に更に適応するために、セキュリティ性能の向上を図ることが課題である。例えば、エンジン始動後に複数のＥＣＵで同じデータを共有する際に、該データのセキュリティ強度をある程度に保ちつつ共有にかかる時間を短縮することが課題の一つである。
【０００５】
本発明は、このような事情を考慮してなされたものであり、セキュリティ性能の向上を図ることができる車載制御システム、車両、管理装置、車載コンピュータ、データ共有方法、及びコンピュータプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
（１）本発明の一態様は、車両に備わる車載制御システムにおいて、前記車両に備わる通信ネットワークを介してフレームにより通信する管理装置と複数の車載コンピュータを備え、前記管理装置は、前記通信ネットワークを介して前記フレームを送受する通信部と、一つの前記フレームに格納可能なデータ長の上限を超えるデータ長である第１のデータを記憶する第１データ記憶部と、一つの前記フレームに格納可能なデータ長である第２のデータを生成する第２データ生成部と、前記第１のデータと前記第２のデータを使用して、複数の前記車載コンピュータで共有される第３のデータを生成する第３データ生成部と、を備え、前記通信部は、前記第２のデータを格納した前記フレームである第２データ格納フレームを、前記通信ネットワークを介して前記車載コンピュータへ送信し、前記車載コンピュータは、前記通信ネットワークを介して前記フレームを送受する通信部と、前記第１のデータを記憶する第１データ記憶部と、自車載コンピュータの前記第１データ記憶部に記憶されている前記第１のデータと自車載コンピュータの前記通信部が前記管理装置から前記通信ネットワークを介して受信した前記第２データ格納フレームに格納されている前記第２のデータとを使用して、前記第３のデータを生成する第３データ生成部と、を備える、車載制御システムである。
（２）本発明の一態様は、上記（１）の車載制御システムにおいて、前記管理装置の前記通信部は、ブロードキャスト又はマルチキャストにより前記第２データ格納フレームを送信し、前記車載コンピュータの前記通信部は、ブロードキャスト又はマルチキャストにより前記第２データ格納フレームを受信する、車載制御システムである。
（３）本発明の一態様は、上記（１）又は（２）のいずれかの車載制御システムにおいて、前記車載コンピュータは、前記第３のデータを、前記通信ネットワークを介して行われる通信に関する情報の初期値に使用する、車載制御システムである。
（４）本発明の一態様は、上記（３）の車載制御システムにおいて、前記通信に関する情報は、前記フレームについてのカウンタ値である、車載制御システムである。
（５）本発明の一態様は、上記（４）の車載制御システムにおいて、前記カウンタ値は、前記通信ネットワークを介して交換されるメッセージについてのメッセージ認証コードの生成に使用される、車載制御システムである。
（６）本発明の一態様は、上記（１）又は（２）のいずれかの車載制御システムにおいて、前記車載コンピュータは、前記第３のデータを、前記通信ネットワークを介して行われる通信に使用される鍵に使用する、車載制御システムである。
（７）本発明の一態様は、上記（１）から（６）のいずれかの車載制御システムにおいて、前記管理装置は、所定のタイミングで前記第１のデータを変更するデータ更新部と、該変更後の前記第１のデータを前記管理装置と前記車載コンピュータで共有される第１の鍵で暗号化する暗号処理部と、を備え、前記管理装置の前記通信部は、該暗号化の結果である第１暗号化データを格納した前記フレームである第１暗号化データ格納フレームを、前記通信ネットワークを介して前記車載コンピュータへ送信し、前記車載コンピュータは、自車載コンピュータの前記通信部が前記管理装置から前記通信ネットワークを介して受信した前記第１暗号化データ格納フレームに格納されている前記第１暗号化データを前記第１の鍵で復号する暗号処理部と、該復号の結果により自車載コンピュータの前記第１のデータを更新するデータ更新部と、を備える、車載制御システムである。
（８）本発明の一態様は、上記（７）の車載制御システムにおいて、前記管理装置の前記データ更新部は、所定のタイミングで前記第１の鍵を変更し、前記管理装置の前記暗号処理部は、該変更後の前記第１の鍵を前記管理装置と前記車載コンピュータで共有される第２の鍵で暗号化し、前記管理装置の前記通信部は、該暗号化の結果である第２暗号化データを格納した前記フレームである第２暗号化データ格納フレームを、前記通信ネットワークを介して前記車載コンピュータへ送信し、前記車載コンピュータの前記暗号処理部は、自車載コンピュータの前記通信部が前記管理装置から前記通信ネットワークを介して受信した前記第２暗号化データ格納フレームに格納されている前記第２暗号化データを前記第２の鍵で復号し、前記車載コンピュータの前記データ更新部は、該復号の結果により自車載コンピュータの前記第１の鍵を更新する、車載制御システムである。
【０００７】
（９）本発明の一態様は、上記（１）から（８）のいずれかの車載制御システムを備える車両である。
【０００８】
（１０）本発明の一態様は、車両に備わる通信ネットワークを介してフレームにより通信する管理装置と複数の車載コンピュータを備える前記車両に備わる車載制御システムの前記管理装置において、前記通信ネットワークを介して前記フレームを送受する通信部と、一つの前記フレームに格納可能なデータ長の上限を超えるデータ長のデータであって前記管理装置と前記車載コンピュータで共有される第１のデータを記憶する第１データ記憶部と、一つの前記フレームに格納可能なデータ長である第２のデータを生成する第２データ生成部と、前記第１のデータと前記第２のデータを使用して、複数の前記車載コンピュータで共有される第３のデータを生成する第３データ生成部と、を備え、前記通信部は、前記第２のデータを格納した前記フレームである第２データ格納フレームを、前記通信ネットワークを介して前記車載コンピュータへ送信する、管理装置である。
【０００９】
（１１）本発明の一態様は、車両に備わる通信ネットワークを介してフレームにより通信する管理装置と複数の車載コンピュータを備える前記車両に備わる車載制御システムの前記車載コンピュータにおいて、前記通信ネットワークを介して前記フレームを送受する通信部と、一つの前記フレームに格納可能なデータ長の上限を超えるデータ長のデータであって前記管理装置と前記車載コンピュータで共有される第１のデータを記憶する第１データ記憶部と、前記第１データ記憶部に記憶されている前記第１のデータと前記通信部が前記管理装置から前記通信ネットワークを介して受信した前記フレームであって一つの前記フレームに格納可能なデータ長である第２のデータを格納した第２データ格納フレームに格納されている前記第２のデータとを使用して、複数の前記車載コンピュータで共有される第３のデータを生成する第３データ生成部と、を備える車載コンピュータである。
【００１０】
（１２）本発明の一態様は、車両に備わる通信ネットワークを介してフレームにより通信する管理装置と複数の車載コンピュータを備える前記車両に備わる車載制御システムのデータ共有方法において、前記管理装置が、一つの前記フレームに格納可能なデータ長の上限を超えるデータ長である第１のデータを記憶する第１データ記憶ステップと、前記管理装置が、一つの前記フレームに格納可能なデータ長である第２のデータを生成する第２データ生成ステップと、前記管理装置が、前記第２のデータを格納した前記フレームである第２データ格納フレームを、前記通信ネットワークを介して前記車載コンピュータへ送信する送信ステップと、前記管理装置が、前記第１のデータと前記第２のデータを使用して、複数の前記車載コンピュータで共有される第３のデータを生成する第３データ生成ステップと、前記車載コンピュータが、前記第１のデータを記憶する第２の第１データ記憶ステップと、前記車載コンピュータが、前記管理装置から前記通信ネットワークを介して前記第２データ格納フレームを受信する受信ステップと、前記車載コンピュータが、前記第２の第１データ記憶ステップで記憶した前記第１のデータと前記受信ステップで受信した前記第２データ格納フレームに格納されている前記第２のデータとを使用して、前記第３のデータを生成する第２の第３データ生成ステップと、を含むデータ共有方法である。
【００１１】
（１３）本発明の一態様は、車両に備わる通信ネットワークを介してフレームにより通信する管理装置と複数の車載コンピュータを備える前記車両に備わる車載制御システムの前記管理装置のコンピュータに、一つの前記フレームに格納可能なデータ長の上限を超えるデータ長のデータであって前記管理装置と前記車載コンピュータで共有される第１のデータを記憶する第１データ記憶機能と、一つの前記フレームに格納可能なデータ長である第２のデータを生成する第２データ生成機能と、前記第２のデータを格納した前記フレームである第２データ格納フレームを、前記通信ネットワークを介して前記車載コンピュータへ送信する通信機能と、前記第１のデータと前記第２のデータを使用して、複数の前記車載コンピュータで共有される第３のデータを生成する第３データ生成機能と、を実現させるためのコンピュータプログラムである。
【００１２】
（１４）本発明の一態様は、車両に備わる通信ネットワークを介してフレームにより通信する管理装置と複数の車載コンピュータを備える前記車両に備わる車載制御システムの前記車載コンピュータに、一つの前記フレームに格納可能なデータ長の上限を超えるデータ長のデータであって前記管理装置と前記車載コンピュータで共有される第１のデータを記憶する第１データ記憶機能と、一つの前記フレームに格納可能なデータ長である第２のデータを格納した前記フレームである第２データ格納フレームを前記管理装置から前記通信ネットワークを介して受信する通信機能と、前記第１データ記憶機能により記憶されている前記第１のデータと前記通信機能により受信した前記第２データ格納フレームに格納されている前記第２のデータとを使用して、複数の前記車載コンピュータで共有される第３のデータを生成する第３データ生成機能と、を実現させるためのコンピュータプログラムである。
【発明の効果】
【００１３】
本発明によれば、セキュリティ性能の向上を図ることができるという効果が得られる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係る自動車１の車載制御システム２を示す構成図である。
【図２】本発明の一実施形態に係るデータ共有方法を示すシーケンスチャートである。
【図３】管理装置１０の実施例１を示す構成図である。
【図４】ＥＣＵ５０の実施例１を示す構成図である。
【図５】実施例１に係るカウンタ初期値共有方法を示すシーケンスチャートである。
【図６】実施例１に係るセッション鍵共有方法を示すシーケンスチャートである。
【図７】実施例１に係る鍵交換鍵更新方法の第１段階を示すシーケンスチャートである。
【図８】実施例１に係る鍵交換鍵更新方法の第２段階を示すシーケンスチャートである。
【図９】自動車１の実施例２を示す構成図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照し、本発明の実施形態について説明する。なお、以下に示す実施形態では、車両として自動車を例に挙げて説明する。
【００１６】
図１は、本発明の一実施形態に係る自動車１の車載制御システム２を示す構成図である。図１において、自動車１は管理装置１０とＥＣＵ（電子制御装置）５０を備える。管理装置１０及びＥＣＵ５０は、ＣＡＮ４０に接続される。ＣＡＮは、自動車等の車両に搭載される通信ネットワークの一つとして知られている。なお、本実施形態では、自動車１の制御用の車載ネットワークにＣＡＮを利用するが、ＣＡＮ以外の他の通信ネットワークを自動車１の制御用の車載ネットワークに利用してもよい。
【００１７】
ＥＣＵ５０は、自動車１に備わる車載コンピュータである。ＥＣＵ５０は、例えば、駆動系ＥＣＵ、車体系ＥＣＵ、安全制御系ＥＣＵなどである。車載制御システム２は、ＣＡＮ４０を介してフレームにより通信する管理装置１０と複数のＥＣＵ５０を備える。ＣＡＮ４０は、フレームによりデータを伝送する。管理装置１０は、ＣＡＮ４０を介してフレームにより、各ＥＣＵ５０との間でデータを交換する。ＥＣＵ５０は、ＣＡＮ４０を介してフレームにより、他のＥＣＵ５０との間でデータを交換する。
【００１８】
ＣＡＮ４０のフレームには、フレームに格納可能なデータ長の上限が規定されている。例えば、ＣＡＮ４０のフレームの種類の一つであるデータフレームにおいて、データフィールドに格納可能なデータ長の上限は６４ビットである。
【００１９】
図１において、管理装置１０は、通信部１１と第１データ記憶部１２と第２データ生成部１３と第３データ生成部１４とデータ更新部１５と暗号処理部１６を備える。通信部１１は、ＣＡＮ４０を介してフレームを送受する。第１データ記憶部１２は、一つのフレームに格納可能なデータ長の範囲を超えるデータ長である第１のデータを記憶する。本実施形態では、第１のデータは、データフレームのデータフィールドに格納可能なデータ長の上限「６４ビット」を超えるデータ長である。したがって、第１のデータのデータ長は、６５ビット以上である。第１のデータは、管理装置１０とＥＣＵ５０で共有される。
【００２０】
第２データ生成部１３は、一つのフレームに格納可能なデータ長である第２のデータを生成する。本実施形態では、第２のデータは、データフレームのデータフィールドに格納可能なデータ長である。したがって、第２のデータのデータ長は、６４ビット以下である。第３データ生成部１４は、第１のデータと第２のデータを使用して、複数のＥＣＵ５０で共有される第３のデータを生成する。データ更新部１５は、所定のタイミングで第１のデータ等を変更する。暗号処理部１６は、データの暗号化等の暗号処理を実行する。
【００２１】
通信部１１は、第２のデータをデータフィールドに格納したデータフレームである第２データ格納フレームを、ＣＡＮ４０を介してＥＣＵ５０へ送信する。通信部１１は、ブロードキャスト又はマルチキャストにより第２データ格納フレームを送信してもよい。ブロードキャスト又はマルチキャストにより第２データ格納フレームを送信することにより、各ＥＣＵ５０へユニキャストで第２データ格納フレームを送信する場合に比して、送信時間を短縮することができる。
【００２２】
図１において、ＥＣＵ５０は、通信部５１と第１データ記憶部５２と第３データ生成部５３とデータ更新部５４と暗号処理部５５を備える。通信部５１は、ＣＡＮ４０を介してフレームを送受する。第１データ記憶部５２は、管理装置１０とＥＣＵ５０で共有される第１のデータを記憶する。第１データ記憶部５２が記憶する第１のデータは、管理装置１０の第１データ記憶部１２が記憶する第１のデータと同じである。
【００２３】
第３データ生成部５３は、第１データ記憶部５２に記憶されている第１のデータと、通信部５１が管理装置１０からＣＡＮ４０を介して受信した第２データ格納フレームに格納されている第２のデータとを使用して、第３のデータを生成する。該第３のデータは、複数のＥＣＵ５０で共有されるデータである。データ更新部５４は、自ＥＣＵ５０の第１のデータ等を更新する。暗号処理部５５は、暗号化データの復号等の暗号処理を実行する。
【００２４】
次に図２を参照して、本実施形態に係る車載制御システム２のデータ共有の動作を説明する。図２は、本実施形態に係るデータ共有方法を示すシーケンスチャートである。図２において、管理装置１０とＥＣＵ５０は、予め共有した第１のデータを有する。管理装置１０は、該第１のデータを第１データ記憶部１２に記憶している。ＥＣＵ５０は、該第１のデータを第１データ記憶部５２に記憶している。
【００２５】
（ステップＳ１）管理装置１０において、第２データ生成部１３が第２のデータを生成する。例えば、第２データ生成部１３は、データ長が６４ビットである乱数を発生する。
【００２６】
（ステップＳ２）管理装置１０において、通信部１１が、該第２のデータをデータフィールドに格納したデータフレームである第２データ格納フレームを、ＣＡＮ４０を介してＥＣＵ５０へ送信する。通信部１１は、例えばブロードキャストにより第２データ格納フレームを送信する。ＥＣＵ５０において、通信部５１は、ＣＡＮ４０を介して管理装置１０から該第２データ格納フレームを受信する。
【００２７】
（ステップＳ３）管理装置１０において、第３データ生成部１４が第１データ記憶部１２から第１のデータを読み出す。ＥＣＵ５０において、第３データ生成部５３が第１データ記憶部５２から第１のデータを読み出す。
【００２８】
（ステップＳ４）管理装置１０において、第３データ生成部１４は、第１データ記憶部１２から読み出した第１のデータと第２データ生成部１３が生成した第２のデータとを使用して、第３のデータを生成する。ＥＣＵ５０において、第３データ生成部５３は、第１データ記憶部５２から読み出した第１のデータと、通信部５１が受信した第２データ格納フレームに格納されている第２のデータとを使用して、第３のデータを生成する。第３のデータの生成方法は、管理装置１０の第３データ生成部１４とＥＣＵ５０の第３データ生成部５３とで同じである。これにより、複数のＥＣＵ５０で同じ第３のデータを共有することができる。
【００２９】
第３のデータの生成方法として、不可逆性圧縮処理を利用してもよい。第３のデータの生成方法として、例えば、暗号化、ハッシュ（Hash）値の生成、又は排他的論理和演算などが利用可能である。例えば、第１のデータを鍵に使用して第２のデータを暗号化した値を第３のデータにしてもよい。該暗号化した値として、例えばＣＭＡＣ（Cipher-based Message Authentication Code）を算出してもよい。又は、第１のデータと第２のデータを連結したデータのハッシュ値を算出し、該ハッシュ値を第３のデータにしてもよい。ハッシュ値の生成方法として、ＳＨＡ−１又はＳＨＡ−２などが利用可能である。又は、第１のデータと第２のデータの排他的論理和を第３のデータにしてもよい。
【００３０】
本実施形態によれば、複数のＥＣＵ５０で同じ第３のデータを共有することができる。その第３のデータを共有する際に管理装置１０からＥＣＵ５０へ送信する第２のデータは、６４ビット以下のデータ長である。したがって、第２のデータを各ＥＣＵ５０に送信する際には、ブロードキャストにより送信すれば、１個のデータフレームの送信で済む。そして、管理装置１０及びＥＣＵ５０において、第２のデータと管理装置１０及びＥＣＵ５０で共有される第１のデータとを使用して第３のデータが生成される。該第１のデータのデータ長を第３のデータのセキュリティ強度に対する要求を満たすことができる値にすることにより、第３のデータのセキュリティ強度に対する要求に応えることができる。これにより、複数のＥＣＵ５０で同じ第３のデータを共有する際に、該第３のデータのセキュリティ強度をある程度に保ちつつ共有にかかる時間を短縮することができるという効果が得られる。
【００３１】
なお、自動車１に備わるいずれかのＥＣＵを管理装置１０として機能させてもよい。
【００３２】
次に、本実施形態の実施例を説明する。
【００３３】
［実施例１］
図３は、本実施形態に係る管理装置１０の実施例１を示す構成図である。図３において、管理装置１０は、通信部１１と鍵交換鍵記憶部２１と乱数生成部２２とカウンタ初期値生成部２３とセッション鍵生成部２４とデータ更新部１５と暗号処理部１６と共通鍵記憶部２５を備える。通信部１１はＣＡＮ４０を介してフレームを送受する。鍵交換鍵記憶部２１は鍵交換鍵を記憶する。鍵交換鍵は、管理装置１０とＥＣＵ５０で予め共有される。鍵交換鍵は、第１のデータの例である。鍵交換鍵として、例えば、ＡＥＳ（Advanced Encryption Standard）による共通鍵を利用可能である。例えば、鍵交換鍵は、ＡＥＳによる鍵長が２５６ビットの共通鍵である。鍵交換鍵記憶部２１は、第１データ記憶部１２の例である。
【００３４】
乱数生成部２２は、乱数を生成する。該乱数は第２のデータの例である。例えば、乱数生成部２２は、データ長が６４ビットである乱数を発生する。乱数生成部２２は、第２データ生成部１３の例である。カウンタ初期値生成部２３は、カウンタ初期値を生成する。カウンタ初期値は、第３のデータの例である。カウンタ初期値生成部２３は、第３データ生成部１４の例である。セッション鍵生成部２４は、セッション鍵を生成する。セッション鍵は、第３のデータの例である。セッション鍵生成部２４は、第３データ生成部１４の例である。データ更新部１５は、所定のタイミングで鍵交換鍵等を変更する。暗号処理部１６は、データの暗号化等の暗号処理を実行する。共通鍵記憶部２５は共通鍵を記憶する。該共通鍵は、管理装置１０とＥＣＵ５０で共有される。
【００３５】
図４は、本実施形態に係るＥＣＵ５０の実施例１を示す構成図である。図４において、ＥＣＵ５０は、送信部１１１と受信部１１２とフレーム受信処理部１１３とＭＡＣ（Message Authentication Code；メッセージ認証コード）生成部１１４とカウンタ部１１５とＭＡＣ検査部１１６とセッション鍵記憶部１１７と鍵交換鍵記憶部１１８とセッション鍵生成部１１９とカウンタ初期値生成部１２０とデータ更新部５４と暗号処理部５５と共通鍵記憶部１２１を備える。
【００３６】
送信部１１１は、データフレームをＣＡＮ４０に送信する。受信部１１２は、データフレームをＣＡＮ４０から受信する。送信部１１１及び受信部１１２は、図１に示すＥＣＵ５０の通信部５１に含まれる。送信部１１１には、データフレームに格納する送信データ等のデータが入力される。送信部１１１は、該入力されたデータをデータフレーム中の該当部分に格納したデータフレームを、ＣＡＮ４０へ送信する。送信データは、データフレームのデータフィールドに格納される。フレーム受信処理部１１３は、受信部１１２によりＣＡＮ４０から受信されたデータフレームについての受信処理を行う。ＭＡＣ生成部１１４はＭＡＣを生成する。
【００３７】
カウンタ部１１５は、送信カウンタ部としての機能と受信カウンタ部としての機能を有する。カウンタ部１１５は、送信カウンタ部の機能として、送信部１１１によるデータフレームの送信毎に所定のカウント値だけ増加させる送信カウンタ値を保持する。本実施例１では、該カウント値は１とする。したがって、カウンタ部１１５は、送信部１１１がデータフレームをＣＡＮ４０に送信する毎に１だけ増加させる送信カウンタ値を保持する。この送信カウンタ値は、自ＥＣＵ５０がデータフレームをＣＡＮ４０に送信する毎に１ずつ増やされる。
【００３８】
カウンタ部１１５は、受信カウンタ部の機能として、受信部１１２によるデータフレームの受信毎に送信カウンタ部と同じ所定のカウント値だけ増加させる受信カウンタ値を保持する。本実施例１では、該カウント値は１となる。したがって、カウンタ部１１５は、受信部１１２がデータフレームをＣＡＮ４０から受信する毎に１だけ増加させる受信カウンタ値を保持する。この受信カウンタ値は、データフレーム中のＩＤ（識別子）毎に設けられる。該ＩＤは、データフレームを送信したＥＣＵ５０又は管理装置１０に付与されているＩＤであり、データフレーム中のＩＤフィールドに格納される。受信部１１２が例えばＩＤｘのデータフレームをＣＡＮ４０から受信する毎に、該ＩＤｘの受信カウンタ値が１ずつ増やされる。
【００３９】
例えば、車載制御システム２が５台のＥＣＵ５０を備え、該５台のＥＣＵ５０のＩＤがＩＤ１、ＩＤ２、ＩＤ３、ＩＤ４、ＩＤ５であるとする。この場合、カウンタ部１１５は合計５個のＩＤ１〜ＩＤ５に対応する５個のカウンタ値（ＩＤ１カウンタ値、ＩＤ２カウンタ値、ＩＤ３カウンタ値、ＩＤ４カウンタ値、ＩＤ５カウンタ値）を保持する。カウンタ部１１５において、自ＥＣＵ５０のＩＤに対応するカウンタ値が送信カウンタ値であり、自ＥＣＵ５０のＩＤ以外の他のＩＤに対応するカウンタ値が受信カウンタ値である。例えば、ＩＤ１のＥＣＵ５０においては、ＩＤ１カウンタ値が送信カウンタ値であり、ＩＤ２カウンタ値がＩＤ２に対応する受信カウンタ値であり、ＩＤ３カウンタ値がＩＤ３に対応する受信カウンタ値であり、ＩＤ４カウンタ値がＩＤ４に対応する受信カウンタ値であり、ＩＤ５カウンタ値がＩＤ５に対応する受信カウンタ値である。
【００４０】
ＭＡＣ検査部１１６は、受信部１１２によりＣＡＮ４０から受信されたデータフレームから取得されたＭＡＣについての検査を行う。セッション鍵記憶部１１７は、セッション鍵を記憶する。鍵交換鍵記憶部１１８は、鍵交換鍵を記憶する。鍵交換鍵は、管理装置１０とＥＣＵ５０で予め共有される。鍵交換鍵は、第１のデータの例である。鍵交換鍵記憶部１１８は、第１データ記憶部５２の例である。セッション鍵生成部１１９は、セッション鍵を生成する。セッション鍵は、第３のデータの例である。セッション鍵生成部１１９は、第３データ生成部５３の例である。カウンタ初期値生成部１２０は、カウンタ初期値を生成する。カウンタ初期値生成部１２０が生成したカウンタ初期値は、カウンタ部１１５のカウンタ値の初期値に使用される。カウンタ初期値は、第３のデータの例である。カウンタ初期値生成部１２０は、第３データ生成部５３の例である。
【００４１】
データ更新部５４は、自ＥＣＵ５０の鍵交換鍵等を更新する。暗号処理部５５は、暗号化データの復号等の暗号処理を実行する。共通鍵記憶部１２１は共通鍵を記憶する。該共通鍵は、管理装置１０とＥＣＵ５０で共有される。
【００４２】
ＭＡＣ生成部１１４は、データフレーム中のデータフィールドに格納される送信データとカウンタ部１１５の送信カウンタ値とセッション鍵記憶部１１７に記憶されているセッション鍵を使用して、ＭＡＣを生成する。ＭＡＣとして、例えば、ハッシュ（Hash）値を算出する。ハッシュ値の生成方法として、ＳＨＡ−１又はＳＨＡ−２などが利用可能である。送信部１１１は、データフレームに対して、送信データと該送信データを使用して生成されたＭＡＣを所定の部分に格納する。送信部１１１は、送信データと該送信データを使用して生成されたＭＡＣを格納したデータフレームをＣＡＮ４０へ送信する。カウンタ部１１５は、該データフレームの送信により送信カウンタ値を１だけ増加させて保持する。
【００４３】
ＭＡＣ検査部１１６は、受信部１１２により受信したデータフレームである検査対象フレーム中のデータフィールドから受信データを取得する。また、ＭＡＣ検査部１１６は、該検査対象フレーム中のＩＤフィールドに格納されているＩＤに対応する受信カウンタ値を、カウンタ部１１５から取得する。ＭＡＣ検査部１１６は、該取得した受信データ及び受信カウンタ値と、セッション鍵記憶部１１７に記憶されているセッション鍵とを使用して、ＭＡＣ（説明の便宜上、算出ＭＡＣと称する）を生成する。このＭＡＣ生成方法は、上述したＭＡＣ生成部１１４と同じ算出方法（例えばＳＨＡ−２）により算出される。
【００４４】
ＭＡＣ検査部１１６は、検査対象フレーム中の所定の部分からＭＡＣを取得する。ＭＡＣ検査部１１６は、該検査対象フレームから取得したＭＡＣと該検査対象フレームについての算出ＭＡＣを使用して、ＭＡＣ検査を実行する。例えば、該検査対象フレームから取得したＭＡＣと該検査対象フレームについての算出ＭＡＣが一致するかを判定する。ＭＡＣ検査が合格である場合、ＭＡＣ検査部１１６は、フレーム受信処理部１１３へ、検査対象フレームの検査合格を通知する。これにより、フレーム受信処理部１１３は、受信部１１２により受信した検査対象フレームに対して、正常に受信したデータフレームに対する所定の受信処理を行う。また、ＭＡＣ検査部１１６は、カウンタ部１１５に対して、検査対象フレームの検査合格を通知する。これにより、カウンタ部１１５は、該検査対象フレームのＩＤに対応する受信カウンタ値を１だけ増加させて保持する。一方、ＭＡＣ検査が不合格である場合には、所定のエラー処理が実行される。
【００４５】
上述したＭＡＣの生成及び検査では、カウンタ部１１５のカウンタ値が使用される。もし車載制御システム２に備わる複数のＥＣＵ５０の各カウンタ部１１５のカウンタ値の初期値が同じではない場合、ＭＡＣ検査の結果が信頼できなくなる。このため、本実施例１では、カウンタ部１１５のカウンタ値の初期値を複数のＥＣＵ５０で共有する処理を実行する。以下、図５を参照して、本実施例１に係るカウンタ初期値共有方法を説明する。
【００４６】
図５は、本実施例１に係るカウンタ初期値共有方法を示すシーケンスチャートである。図５において、管理装置１０とＥＣＵ５０は、予め共有した同じ鍵交換鍵を有する。管理装置１０は、該鍵交換鍵を鍵交換鍵記憶部２１に記憶している。ＥＣＵ５０は、該鍵交換鍵を鍵交換鍵記憶部１１８に記憶している。
【００４７】
なお、図５に示すカウンタ初期値共有方法の実行時においては、データフレームにはＭＡＣが格納されない。したがって、データフレームの受信側はＭＡＣ検査を実行しない。これは、ＥＣＵ５０のカウンタ部１１５のカウンタ値の初期値に使用されるカウンタ初期値が、カウンタ初期値共有方法の実行により、複数のＥＣＵ５０で共有されるまでは、ＭＡＣ検査を正常に実施することができないからである。
【００４８】
（ステップＳ１１）管理装置１０において、乱数生成部２２が乱数を生成する。例えば、乱数生成部２２は、データ長が６４ビットである乱数を生成する。
【００４９】
（ステップＳ１２）管理装置１０において、通信部１１が、該乱数をデータフィールドに格納したデータフレームである第２データ格納フレームを、ＣＡＮ４０を介してＥＣＵ５０へ送信する。通信部１１は、例えばブロードキャストにより第２データ格納フレームを送信する。ＥＣＵ５０において、通信部５１は、ＣＡＮ４０を介して管理装置１０から該第２データ格納フレームを受信する。
【００５０】
（ステップＳ１３）管理装置１０において、カウンタ初期値生成部２３が鍵交換鍵記憶部２１から鍵交換鍵を読み出す。ＥＣＵ５０において、カウンタ初期値生成部１２０が鍵交換鍵記憶部１１８から鍵交換鍵を読み出す。
【００５１】
（ステップＳ１４）管理装置１０において、カウンタ初期値生成部２３は、鍵交換鍵記憶部２１から読み出した鍵交換鍵と乱数生成部２２が生成した乱数とを使用して、カウンタ初期値を生成する。ＥＣＵ５０において、カウンタ初期値生成部１２０は、鍵交換鍵記憶部１１８から読み出した鍵交換鍵と、通信部５１が受信した第２データ格納フレームに格納されている乱数とを使用して、カウンタ初期値を生成する。カウンタ初期値生成部１２０が生成したカウンタ初期値は、カウンタ部１１５のカウンタ値の初期値として設定される。
【００５２】
カウンタ初期値の生成方法は、管理装置１０のカウンタ初期値生成部２３とＥＣＵ５０のカウンタ初期値生成部１２０とで同じである。カウンタ初期値の生成方法は、上述した第３のデータの生成方法と同様でよい。例えば、乱数を鍵交換鍵で暗号化した値（例えばＣＭＡＣ）をカウンタ初期値にしてもよい。又は、鍵交換鍵と乱数を連結したデータのハッシュ値を算出し、該ハッシュ値をカウンタ初期値にしてもよい。又は、鍵交換鍵と乱数の排他的論理和をカウンタ初期値にしてもよい。
【００５３】
以上が本実施例１に係るカウンタ初期値共有方法の説明である。本実施例１に係るカウンタ初期値共有方法によれば、複数のＥＣＵ５０で同じカウンタ初期値を共有することができる。さらに、複数のＥＣＵ５０で同じカウンタ初期値を共有する際に、該カウンタ初期値のセキュリティ強度をある程度に保ちつつ共有にかかる時間を短縮することができる。この効果について、カウンタ初期値のセキュリティ強度に対する要求としてカウンタ初期値のデータ長を２５６ビットにする場合を例に挙げて説明する。この場合、２５６ビットのカウンタ初期値をデータフレームで各ＥＣＵ５０に送信する際には、データフレームのデータフィールドに格納可能なデータ長の上限が６４ビットであるので、ブロードキャストにより送信しても、少なくとも４個のデータフレームの送信が必要になる。
【００５４】
一方、本実施例１によれば、管理装置１０からＥＣＵ５０へ送信する乱数は、６４ビット以下のデータ長である。例えば、６４ビットの乱数である。したがって、該乱数を各ＥＣＵ５０に送信する際には、ブロードキャストにより送信すれば、１個のデータフレームの送信で済む。そして、管理装置１０及びＥＣＵ５０において、該乱数と管理装置１０及びＥＣＵ５０で共有される鍵交換鍵を使用してカウンタ初期値が生成される。該鍵交換鍵のデータ長を２５６ビットにすることにより、例えば６４ビットの乱数と２５６ビットの鍵交換鍵を使用して、２５６ビットのカウンタ初期値を生成することができる。これにより、複数のＥＣＵ５０で同じカウンタ初期値を共有する際に、該カウンタ初期値のセキュリティ強度に対する要求（カウンタ初期値のデータ長が２５６ビットである）を保ちつつ共有にかかる時間を短縮することができるという効果が得られる。
【００５５】
次に、本実施例１に係るセッション鍵共有方法を説明する。セッション鍵は、上述したＭＡＣの生成及び検査など、ＣＡＮ４０を介して行われる通信に使用される。もし車載制御システム２に備わる管理装置１０及びＥＣＵ５０の各セッション鍵が同じではない場合、セッション鍵を使用した通信が信頼できなくなる。このため、本実施例１では、セッション鍵を管理装置１０及びＥＣＵ５０で共有する処理を実行する。以下、図６を参照して、本実施例１に係るセッション鍵共有方法を説明する。
【００５６】
図６は、本実施例１に係るセッション鍵共有方法を示すシーケンスチャートである。図６において、管理装置１０とＥＣＵ５０は、予め共有した同じ鍵交換鍵を有する。管理装置１０は、該鍵交換鍵を鍵交換鍵記憶部２１に記憶している。ＥＣＵ５０は、該鍵交換鍵を鍵交換鍵記憶部１１８に記憶している。
【００５７】
なお、図６に示すセッション鍵共有方法の実行時においては、データフレームにはＭＡＣが格納されない。したがって、データフレームの受信側はＭＡＣ検査を実行しない。これは、セッション鍵が、セッション鍵共有方法の実行により、複数のＥＣＵ５０で共有されるまでは、ＭＡＣ検査を正常に実施することができないからである。
【００５８】
（ステップＳ２１）管理装置１０において、乱数生成部２２が乱数を生成する。例えば、乱数生成部２２は、データ長が６４ビットである乱数を発生する。
【００５９】
（ステップＳ２２）管理装置１０において、通信部１１が、該乱数をデータフィールドに格納したデータフレームである第２データ格納フレームを、ＣＡＮ４０を介してＥＣＵ５０へ送信する。通信部１１は、例えばブロードキャストにより第２データ格納フレームを送信する。ＥＣＵ５０において、通信部５１は、ＣＡＮ４０を介して管理装置１０から該第２データ格納フレームを受信する。
【００６０】
（ステップＳ２３）管理装置１０において、セッション鍵生成部２４が鍵交換鍵記憶部２１から鍵交換鍵を読み出す。ＥＣＵ５０において、セッション鍵生成部１１９が鍵交換鍵記憶部１１８から鍵交換鍵を読み出す。
【００６１】
（ステップＳ２４）管理装置１０において、セッション鍵生成部２４は、鍵交換鍵記憶部２１から読み出した鍵交換鍵と乱数生成部２２が生成した乱数とを使用して、セッション鍵を生成する。ＥＣＵ５０において、セッション鍵生成部１１９は、鍵交換鍵記憶部１１８から読み出した鍵交換鍵と、通信部５１が受信した第２データ格納フレームに格納されている乱数とを使用して、セッション鍵を生成する。セッション鍵生成部１１９が生成したセッション鍵は、セッション鍵記憶部１１７に格納される。これにより、同じセッション鍵が管理装置１０及びＥＣＵ５０で共有される。
【００６２】
セッション鍵の生成方法は、管理装置１０のセッション鍵生成部２４とＥＣＵ５０のセッション鍵生成部１１９とで同じである。セッション鍵の生成方法は、上述した第３のデータの生成方法と同様でよい。例えば、乱数を鍵交換鍵で暗号化した値（例えばＣＭＡＣ）をセッション鍵にしてもよい。又は、鍵交換鍵と乱数を連結したデータのハッシュ値を算出し、該ハッシュ値をセッション鍵にしてもよい。又は、鍵交換鍵と乱数の排他的論理和をセッション鍵にしてもよい。
【００６３】
以上が本実施例１に係るセッション鍵共有方法の説明である。本実施例１に係るセッション鍵共有方法によれば、複数のＥＣＵ５０で同じセッション鍵を共有することができる。さらに、複数のＥＣＵ５０で同じセッション鍵を共有する際に、該セッション鍵のセキュリティ強度をある程度に保ちつつ共有にかかる時間を短縮することができる。この効果は、上述したカウンタ初期値の場合と同様の理由により得られる。
【００６４】
なお、上述の実施例１において、カウンタ初期値又はセッション鍵の共有を実行するタイミングとして、例えば、自動車１のエンジン始動直後のタイミングにしてもよい。自動車１のエンジン始動中は、自動車１においてＥＣＵ５０への電源供給が不十分になってＥＣＵ５０の動作が不安定になる可能性がある。ＥＣＵ５０の動作が不安定になると、ＥＣＵ５０においてＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）などの揮発性メモリに格納されたデータが正常に保たれない可能性がある。このため、カウンタ値やセッション鍵を揮発性メモリに格納する場合には、自動車１のエンジンの始動前及び始動中にカウンタ初期値やセッション鍵の共有を実行することは避け、エンジン始動後のＥＣＵ５０の動作が安定している状態でカウンタ初期値やセッション鍵の共有を実行することが好ましい。さらには、エンジンが始動してから走行が開始されるまでの期間に、カウンタ初期値やセッション鍵の共有が完了することが好ましい。これは、自動車１の走行中にはエンジン制御やブレーキ制御等の制御が実行されるので、ＥＣＵ５０間で交換されるメッセージの信頼性を保つためにＭＡＣ検査を正常に実行するためである。
【００６５】
また、上述の図５に示すカウンタ初期値共有方法では、鍵交換鍵を使用してカウンタ初期値を生成したが、鍵交換鍵の代わりにセッション鍵を使用してもよい。セッション鍵を使用してカウンタ初期値を生成する場合には、管理装置１０及びＥＣＵ５０で同じセッション鍵が共有されてから、カウンタ初期値の共有を実行する。
【００６６】
次に本実施例１に係る鍵交換鍵更新方法を説明する。上述したカウンタ初期値共有方法又はセッション鍵共有方法により鍵交換鍵が繰り返し使用されると、漏洩電磁波解析などの解析が行われることによって鍵交換鍵が漏洩する可能性がある。この対策として、本実施例１では、図７及び図８に示される多層共通鍵方式により鍵交換鍵の更新を行う。以下、図７及び図８を参照して、本実施例１に係る鍵交換鍵更新方法を説明する。
【００６７】
まず図７を参照して鍵交換鍵更新方法の第１段階を説明する。図７は、鍵交換鍵更新方法の第１段階を示すシーケンスチャートである。図７において、管理装置１０とＥＣＵ５０は、予め共有したＮ番目の鍵交換鍵である現鍵交換鍵（Ｎ）を有する。管理装置１０は、現鍵交換鍵（Ｎ）を鍵交換鍵記憶部２１に記憶している。ＥＣＵ５０は、現鍵交換鍵（Ｎ）を鍵交換鍵記憶部１１８に記憶している。
【００６８】
また、管理装置１０とＥＣＵ５０は、予め共有したα系統のＮ番目の共通鍵であるα現共通鍵（Ｎ）を有する。α系統の共通鍵は、第１の鍵の例である。また、管理装置１０とＥＣＵ５０は、予め共有したβ系統のＮ番目の共通鍵であるβ現共通鍵（Ｎ）を有する。β系統の共通鍵は、第２の鍵の例である。管理装置１０は、α現共通鍵（Ｎ）及びβ現共通鍵（Ｎ）を共通鍵記憶部２５に記憶している。ＥＣＵ５０は、α現共通鍵（Ｎ）及びβ現共通鍵（Ｎ）を共通鍵記憶部１２１に記憶している。
【００６９】
（ステップＳ３１）管理装置１０において、データ更新部１５は、所定のタイミングで、新しい「Ｎ＋１」番目の鍵交換鍵である新鍵交換鍵（Ｎ＋１）を生成する。データ更新部１５は、鍵交換鍵記憶部２１に記憶される鍵交換鍵を、現鍵交換鍵（Ｎ）から新鍵交換鍵（Ｎ＋１）に書き換える。管理装置１０は、例えば、現鍵交換鍵（Ｎ）が使用された回数が規定回数に達した場合に、鍵交換鍵を、現鍵交換鍵（Ｎ）から新鍵交換鍵（Ｎ＋１）に変更してもよい。
【００７０】
（ステップＳ３２）管理装置１０において、暗号処理部１６は、新鍵交換鍵（Ｎ＋１）をα現共通鍵（Ｎ）で暗号化する。
【００７１】
（ステップＳ３３）管理装置１０において、通信部１１は、該新鍵交換鍵（Ｎ＋１）の暗号化の結果である第１暗号化データ（Ｎ＋１）を格納したデータフレームである第１暗号化データ格納フレームを、ＣＡＮ４０を介してＥＣＵ５０へ送信する。通信部１１は、例えばブロードキャストにより第１暗号化データ格納フレームを送信する。ＥＣＵ５０において、通信部５１は、ＣＡＮ４０を介して管理装置１０から該第１暗号化データ格納フレームを受信する。
【００７２】
（ステップＳ３４）ＥＣＵ５０において、暗号処理部５５は、該通信部５１が管理装置１０から受信した第１暗号化データ格納フレームに格納されている第１暗号化データ（Ｎ＋１）をα現共通鍵（Ｎ）で復号する。ＥＣＵ５０において、データ更新部５４は、該復号の結果により、鍵交換鍵記憶部１１８に記憶される鍵交換鍵を現鍵交換鍵（Ｎ）から書き換える。これにより、ＥＣＵ５０の鍵交換鍵記憶部１１８に記憶される鍵交換鍵が、現鍵交換鍵（Ｎ）から新鍵交換鍵（Ｎ＋１）に更新される。
【００７３】
次に図８を参照して鍵交換鍵更新方法の第２段階を説明する。図８は、鍵交換鍵更新方法の第２段階を示すシーケンスチャートである。上述の鍵交換鍵更新方法の第１段階により、α現共通鍵（Ｎ）が繰り返し使用されると、漏洩電磁波解析などの解析が行われることによってα現共通鍵（Ｎ）が漏洩する可能性がある。この対策として、本実施例１では、図８に示される鍵交換鍵更新方法の第２段階により、α系統の共通鍵の更新を行う。以下、図８を参照して、本実施例１に係る鍵交換鍵更新方法の第２段階を説明する。図８において、管理装置１０とＥＣＵ５０は、予め共有したα現共通鍵（Ｎ）及びβ現共通鍵（Ｎ）を有する。管理装置１０は、α現共通鍵（Ｎ）及びβ現共通鍵（Ｎ）を共通鍵記憶部２５に記憶している。ＥＣＵ５０は、α現共通鍵（Ｎ）及びβ現共通鍵（Ｎ）を共通鍵記憶部１２１に記憶している。
【００７４】
（ステップＳ４１）管理装置１０において、データ更新部１５は、所定のタイミングで、α系統の新しい「Ｎ＋１」番目の共通鍵であるα新共通鍵（Ｎ＋１）を生成する。管理装置１０は、共通鍵記憶部２５に記憶されるα系統の共通鍵を、α現共通鍵（Ｎ）からα新共通鍵（Ｎ＋１）に書き換える。管理装置１０は、例えば、α現共通鍵（Ｎ）が使用された回数が規定回数に達した場合に、α系統の共通鍵を、α現共通鍵（Ｎ）からα新共通鍵（Ｎ＋１）に変更してもよい。
【００７５】
（ステップＳ４２）管理装置１０において、暗号処理部１６は、α新共通鍵（Ｎ＋１）をβ現共通鍵（Ｎ）で暗号化する。
【００７６】
（ステップＳ４３）管理装置１０において、通信部１１は、該α新共通鍵（Ｎ＋１）の暗号化の結果である第２暗号化データ（Ｎ＋１）を格納したデータフレームである第２暗号化データ格納フレームを、ＣＡＮ４０を介してＥＣＵ５０へ送信する。通信部１１は、例えばブロードキャストにより第２暗号化データ格納フレームを送信する。ＥＣＵ５０において、通信部５１は、ＣＡＮ４０を介して管理装置１０から該第２暗号化データ格納フレームを受信する。
【００７７】
（ステップＳ４４）ＥＣＵ５０において、暗号処理部５５は、該通信部５１が管理装置１０から受信した第２暗号化データ格納フレームに格納されている第２暗号化データ（Ｎ＋１）をβ現共通鍵（Ｎ）で復号する。ＥＣＵ５０において、データ更新部５４は、該復号の結果により、共通鍵記憶部１２１に記憶されるα系統の共通鍵をα現共通鍵（Ｎ）から書き換える。これにより、ＥＣＵ５０の共通鍵記憶部１２１に記憶されるα系統の共通鍵が、α現共通鍵（Ｎ）からα新共通鍵（Ｎ＋１）に更新される。
【００７８】
上述の図７及び図８に示される多層共通鍵方式による鍵交換鍵更新方法によれば、共通鍵方式の高速性を得ることができると共に、同じ処理ルーチンを繰り返し利用することができる。同じ処理ルーチンを繰り返し利用することにより、プログラムコードの単純化を図ることができるので、限られたコンピュータ資源であるＥＣＵ５０のＣＰＵ性能及びメモリ量に好適である。
【００７９】
なお、上述した実施例１において、管理装置１０が、図４に示すＭＡＣの生成及び検査に係る各部を備え、送信するデータフレームに格納するＭＡＣの生成及び受信したデータフレームに格納されているＭＡＣの検査を実行するようにしてもよい。
【００８０】
また、自動車１に備わるいずれかのＥＣＵを管理装置１０として機能させてもよい。
【００８１】
［実施例２］
図９は、本実施形態に係る自動車１の実施例２を示す構成図である。図９において、自動車１は、ゲートウェイ１０ａとＣＡＮ４０とＥＣＵ５０と診断ポート７０とインフォテイメント（Infotainment）機器２００を備える。インフォテイメント機器２００として、例えば、ナビゲーション機能、位置情報サービス機能、音楽や動画などのマルチメディア再生機能、音声通信機能、データ通信機能、インターネット接続機能などを有するものが挙げられる。インフォテイメント機器２００は、外部機器２２０と接続して、外部機器２２０とデータを交換する。外部機器２２０として、例えば、携帯通信端末やオーディオビジュアル機器などが挙げられる。
【００８２】
診断ポート７０は、診断ツール２１０を接続する。診断ツール２１０は、診断ポート７０を介して、ＥＣＵ５０等の更新プログラムのインストールやデータの設定変更などを実行する。診断ポート７０として、例えばＯＢＤ（On-board Diagnostics）ポートを使用してもよい。
【００８３】
ゲートウェイ１０ａは、ＣＡＮ４０に接続される。インフォテイメント機器２００は、ゲートウェイ１０ａを介して、ＣＡＮ４０に接続されるＥＣＵ５０とデータを送受する。ゲートウェイ１０ａは、インフォテイメント機器２００とＥＣＵ５０の間のデータの送受を監視する。診断ツール２１０は、診断ポート７０及びゲートウェイ１０ａを介して、ＣＡＮ４０に接続されるＥＣＵ５０とデータを送受する。ゲートウェイ１０ａは、診断ツール２１０とＥＣＵ５０の間のデータの送受を監視する。
【００８４】
ゲートウェイ１０ａは、本実施形態に係る管理装置１０の機能を備える。ゲートウェイ１０ａはセキュアエレメント６１を備える。ＥＣＵ５０はセキュアエレメント６２を備える。セキュアエレメント６１及び６２は耐タンパー性（Tamper Resistant）を有する。ゲートウェイ１０ａにおいて、セキュアエレメント６１は、図１に示す管理装置１０の各部のうち、第１データ記憶部１２、第３データ生成部１４、データ更新部１５及び暗号処理部１６を備えてもよい。又は、ゲートウェイ１０ａにおいて、セキュアエレメント６１は、図３に示す管理装置１０の各部のうち、鍵交換鍵記憶部２１、カウンタ初期値生成部２３、セッション鍵生成部２４、データ更新部１５、暗号処理部１６及び共通鍵記憶部２５を備えてもよい。
【００８５】
ＥＣＵ５０において、セキュアエレメント６２は、図１に示すＥＣＵ５０の各部のうち、第１データ記憶部５２、第３データ生成部５３、データ更新部５４及び暗号処理部５５を備えてもよい。又は、ＥＣＵ５０において、セキュアエレメント６２は、図４に示すＥＣＵ５０の各部のうち、鍵交換鍵記憶部１１８、カウンタ初期値生成部１２０、セッション鍵生成部１１９、セッション鍵記憶部１１７、データ更新部５４、暗号処理部５５及び共通鍵記憶部１２１を備えてもよい。
【００８６】
セキュアエレメントとして、例えば、ＳＩＭ（Subscriber Identity Module）又はｅＳＩＭ（Embedded Subscriber Identity Module）を使用してもよい。ＳＩＭ及びｅＳＩＭは、セキュアエレメントであり、耐タンパー性を有する。ＳＩＭ及びｅＳＩＭは、コンピュータの一種であり、コンピュータプログラムによって所望の機能を実現する。又は、セキュアエレメントとして、耐タンパー性のある暗号処理チップを使用してもよい。耐タンパー性のある暗号処理チップとして、例えば、ＨＳＭ（Hardware Security Module）、ＴＰＭ（Trusted Platform Module）、又はＳＨＥ（Secure Hardware Extension）などと呼ばれる暗号処理チップが知られている。
【００８７】
例えば、ゲートウェイ１０ａのセキュアエレメント６１として、ＳＩＭ又はｅＳＩＭを使用してもよい。この場合、ゲートウェイ１０ａは、ＳＩＭ又はｅＳＩＭを使用して無線通信を行う通信モジュールを備えてもよい。また、ＥＣＵ５０のセキュアエレメント６２として、ＨＳＭ、ＴＰＭ又はＳＨＥを使用してもよい。
【００８８】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【００８９】
例えば、上述の実施形態では、車両として自動車を例に挙げたが、原動機付自転車や鉄道車両等の自動車以外の他の車両にも適用可能である。
【００９０】
また、上述した管理装置１０、ＥＣＵ５０又はゲートウェイ１０ａの機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Digital Versatile Disc）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００９１】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００９２】
１…自動車、２…車載制御システム、１０…管理装置、１０ａ…ゲートウェイ（管理装置）、１１，５１…通信部、１２，５２…第１データ記憶部、１３…第２データ生成部、１４，５３…第３データ生成部、１５，５４…データ更新部、１６，５５…暗号処理部、２１，１１８…鍵交換鍵記憶部、２２…乱数生成部、２３，１２０…カウンタ初期値生成部、２４，１１９…セッション鍵生成部、２５，１２１…共通鍵記憶部、４０…ＣＡＮ（通信ネットワーク）、５０…ＥＣＵ（車載コンピュータ）、６１，６２…セキュアエレメント、７０…診断ポート、１１１…送信部、１１２…受信部、１１３…フレーム受信処理部、１１４…ＭＡＣ（メッセージ認証コード）生成部、１１５…カウンタ部、１１６…ＭＡＣ（メッセージ認証コード）検査部、１１７…セッション鍵記憶部、２００…インフォテイメント機器
【図１】
2017225186.tif 000003
【図２】
2017225186.tif 000004
【図３】
2017225186.tif 000005
【図４】
2017225186.tif 000006
【図５】
2017225186.tif 000007
【図６】
2017225186.tif 000008
【図７】
2017225186.tif 000009
【図８】
2017225186.tif 000010
【図９】
2017225186.tif 000011