以下、図面を参照し、本発明の実施形態について説明する。なお、以下に示す実施形態では、車両として自動車を例に挙げて説明する。
図1は、本発明の一実施形態に係る鍵管理システムの構成図である。図1において、鍵管理システムは、鍵管理サーバ装置10と管理装置20とを備える。鍵管理サーバ装置10は自動車1の製造会社に備わる。管理装置20は自動車1に備わる。鍵管理サーバ装置10と管理装置20とは、無線通信ネットワーク2を介して通信する。無線通信ネットワーク2は、通信事業者によって運用される。無線通信ネットワーク2を利用するためには、無線通信ネットワーク2の契約者情報が書き込まれたeSIM(Embedded Subscriber Identity Module)又はSIM(Subscriber Identity Module)が必要である。
自動車1において、管理装置20は制御用車載ネットワーク40に接続される。制御用車載ネットワーク40として、例えばCAN(Controller Area Network)が使用される。本実施形態では、制御用車載ネットワーク40はCANである。制御用車載ネットワーク40には、各種のECU50が接続される。ECU50は、例えば、駆動系ECU、車体系ECU、安全制御系ECUなどである。管理装置20は、制御用車載ネットワーク40を介して、各ECU50との間でデータを交換する。
図2は、本実施形態に係る鍵管理サーバ装置10の構成を示すブロック図である。図2において、鍵管理サーバ装置10は、無線通信部11とeSIM_12と鍵管理部13と鍵記憶部14と鍵管理データ記憶部15とを備える。これら各部はデータを交換できるように構成されている。無線通信部11は無線通信によりデータを送受する。eSIM_12は、無線通信ネットワーク2の契約者情報が書き込まれたeSIMである。よって、無線通信部11は、eSIM_12を使用することにより無線通信ネットワーク2を利用できる。なお、eSIM_12の代わりにSIMを利用してもよい。鍵管理部13は、各自動車1の鍵の管理を行う。鍵記憶部14は、鍵を記憶する。鍵管理データ記憶部15は、鍵管理データを記憶する。
図3は、本実施形態に係る管理装置20の構成を示すブロック図である。図3において、管理装置20は、eSIM_21と無線通信部22とCANインタフェース23と鍵更新部24とを備える。これら各部はデータを交換できるように構成されている。eSIM_21は、暗号処理部31と鍵保持部32とを備える。
eSIM_21はセキュアエレメントである。セキュアエレメントは、当該セキュアエレメントの外部からアクセスできないセキュア領域を含む。eSIM_21において、鍵保持部32はセキュア領域に在る。なお、セキュアエレメントとして、eSIM_21の代わりにSIMを利用してもよい。eSIMおよびSIMは、コンピュータの一種であり、コンピュータプログラムによって所望の機能を実現する。
無線通信部22は無線通信によりデータを送受する。eSIM_21は、無線通信ネットワーク2の契約者情報が書き込まれたeSIMである。よって、無線通信部22は、eSIM_21を使用することにより無線通信ネットワーク2を利用できる。CANインタフェース23は、制御用車載ネットワーク40と接続し、制御用車載ネットワーク40を介して各ECU50とデータを交換する。鍵更新部24は、各ECU50の鍵の更新を行う。
eSIM_21において、暗号処理部31は、鍵保持部32に保持される鍵を使用して、データの暗号化又は暗号化データの復号化を行う。鍵保持部32は、自己の自動車1に適用された最新の鍵を保持する。
図4は、本実施形態に係るECU鍵管理鍵記録データの構成例を示す図である。図5は、本実施形態に係るECU一般鍵記録データの構成例を示す図である。ECU鍵管理鍵記録データ及びECU一般鍵記録データは、鍵管理サーバ装置10の鍵記憶部14に記憶される。
本実施形態では、自動車1に保持される鍵の例としてECU鍵管理鍵とECU一般鍵との2種類の鍵を管理する。ECU鍵管理鍵は、自動車1に保持されるECU一般鍵の更新に使用される。ECU一般鍵は、ECU50の保安のための処理に使用される鍵である。ECU一般鍵は、例えば、ECU50間の相互認証やデータの暗号化および復号化など、に使用される。
図4において、ECU鍵管理鍵記録データは、ECU鍵管理鍵毎に、鍵識別子(鍵ID)と、ECU鍵管理鍵と、該ECU鍵管理鍵の発行日を示す情報とを有する。ECU鍵管理鍵記録データは、発行済みのECU鍵管理鍵の記録データである。ECU鍵管理鍵記録データには、新たなECU鍵管理鍵が発行される度に、該新たなECU鍵管理鍵の記録データが追加される。ECU鍵管理鍵記録データは、発行済みのECU鍵管理鍵のうち少なくとも最新のECU鍵管理鍵の記録データを有する。又は、ECU鍵管理鍵記録データは、発行済みの全てのECU鍵管理鍵の記録データを有する。なお、図4中の各値は、説明の便宜上の値である。
図5において、ECU一般鍵記録データは、ECU一般鍵毎に、鍵IDと、ECU一般鍵と、該ECU一般鍵の発行日を示す情報とを有する。ECU一般鍵記録データは、発行済みのECU一般鍵の記録データである。ECU一般鍵記録データには、新たなECU一般鍵が発行される度に、該新たなECU一般鍵の記録データが追加される。ECU一般鍵記録データは、発行済みのECU一般鍵のうち少なくとも最新のECU一般鍵の記録データを有する。又は、ECU一般鍵記録データは、発行済みの全てのECU一般鍵の記録データを有する。なお、図5中の各値は、説明の便宜上の値である。
図6は、本実施形態に係る鍵管理データの構成例を示す図である。鍵管理データは、鍵管理サーバ装置10の鍵管理データ記憶部15に記憶される。図6において、鍵管理データは、自動車1毎に、車IDと、ECU鍵管理鍵と、該ECU鍵管理鍵の適用日を示す情報と、ECU一般鍵と、該ECU一般鍵の適用日を示す情報とを有する。鍵管理データは、各自動車1に適用された最新のECU鍵管理鍵及びECU一般鍵、の管理データである。鍵管理データは、自動車1毎に、新たなECU鍵管理鍵又は新たなECU一般鍵が適用される度に更新される。なお、図6中の各値は、説明の便宜上の値である。
次に、本実施形態に係る鍵管理システムの動作を説明する。なお、以下の説明において、鍵管理サーバ装置10と管理装置20とは、無線通信ネットワーク2を介して、データを送受する。
[ECU鍵管理鍵の更新方法の例1]
図7を参照して、本実施形態に係るECU鍵管理鍵の更新方法の例1を説明する。図7は、本実施形態に係るECU鍵管理鍵の更新方法の例1の手順を示すシーケンスチャートである。ECU鍵管理鍵の更新方法の例1では、ECU鍵管理鍵は共通鍵である。共通鍵は対称鍵とも呼ばれる。
(ステップS1)ECU鍵管理鍵の初期鍵Km0は、予め、自動車1の製造会社によって生成される。鍵管理サーバ装置10は、管理装置20へ、ECU鍵管理鍵の初期鍵Km0を送信する。このECU鍵管理鍵の初期鍵Km0の送信時点では、自動車1はECU鍵管理鍵を持っていない、空の状態である。例えば、自動車1が完成したばかりの新車の状態で工場から出荷前の時点で、ECU鍵管理鍵の初期鍵Km0が鍵管理サーバ装置10から管理装置20へ送信される。なお、ECU鍵管理鍵の初期鍵Km0は、自動車1の新車の状態での出荷前に、工場内で、メンテナンス専用の診断端末を使用して、自動車1に設けられたOBDポートから管理装置20へ入力されてもよい。
鍵管理サーバ装置10は、鍵管理データ記憶部15の鍵管理データに対して、ECU鍵管理鍵の初期鍵Km0を送信した自動車1の車IDのデータ格納領域を生成し、当該車IDのデータ格納領域に、ECU鍵管理鍵の初期鍵Km0と、該初期鍵Km0の適用日を示す情報とを格納する。
(ステップS2)管理装置20は、受信したECU鍵管理鍵の初期鍵Km0を、eSIM_21に入力する。eSIM_21は、入力されたECU鍵管理鍵の初期鍵Km0を鍵保持部32に書き込んで保持させる。
(ステップS3)管理装置20の鍵更新部24は、鍵管理サーバ装置10に対して、無線通信部22により更新確認メッセージを送信する。鍵更新部24は、該更新確認メッセージに、自己の自動車1の車IDを含める。
(ステップS4)鍵管理サーバ装置10の鍵管理部13は、無線通信部11により受信された更新確認メッセージの車IDに基づいて、鍵管理データ記憶部15の鍵管理データ中の当該車IDのデータ格納領域から、ECU鍵管理鍵を取得する。鍵管理部13は、該取得されたECU鍵管理鍵が、鍵記憶部14のECU鍵管理鍵記録データ中の最新の発行日のECU鍵管理鍵であるかを確認する。この確認の結果、最新の発行日のECU鍵管理鍵である場合には、当該自動車1に対するECU鍵管理鍵の配信を行わない。
一方、該確認の結果、最新の発行日のECU鍵管理鍵ではない場合には、鍵管理部13は、該最新の発行日のECU鍵管理鍵を、鍵管理データから取得されたECU鍵管理鍵で暗号化した暗号化ECU鍵管理鍵を生成する。例えば、図7中の更新1回目では、鍵管理データから取得されたECU鍵管理鍵の初期鍵Km0で、最新の発行日のECU鍵管理鍵Km1を暗号化した暗号化ECU鍵管理鍵Km0(Km1)を生成する。図7中の更新2回目では、鍵管理データから取得されたECU鍵管理鍵Km1で、最新の発行日のECU鍵管理鍵Km2を暗号化した暗号化ECU鍵管理鍵Km1(Km2)を生成する。鍵管理部13は、管理装置20に対して、無線通信部11により、更新確認メッセージの応答として暗号化ECU鍵管理鍵を送信する。
鍵管理サーバ装置10の鍵管理部13は、鍵管理データ記憶部15の鍵管理データに対して、暗号化ECU鍵管理鍵を送信した自動車1の車IDのデータ格納領域に、該暗号化して送信された暗号化前のECU鍵管理鍵と、該ECU鍵管理鍵の適用日を示す情報とを格納する。
(ステップS5)管理装置20の鍵更新部24は、無線通信部22により受信された暗号化ECU鍵管理鍵を、eSIM_21へ入力する。eSIM_21の暗号処理部31は、該入力された暗号化ECU鍵管理鍵を、鍵保持部32に保持されるECU鍵管理鍵で復号化する。暗号処理部31は、該復号結果のECU鍵管理鍵を鍵保持部32に書き込んで、鍵保持部32に保持されるECU鍵管理鍵を更新させる。例えば、図7中の更新1回目では、鍵保持部32に保持されるECU鍵管理鍵の初期鍵Km0で暗号化ECU鍵管理鍵Km0(Km1)が復号化され、該復号結果のECU鍵管理鍵Km1が鍵保持部32に書き込まれることにより、鍵保持部32に保持されるECU鍵管理鍵がKm0からKm1に更新される。図7中の更新2回目では、鍵保持部32に保持されるECU鍵管理鍵Km1で暗号化ECU鍵管理鍵Km1(Km2)が復号化され、該復号結果のECU鍵管理鍵Km2が鍵保持部32に書き込まれることにより、鍵保持部32に保持されるECU鍵管理鍵がKm1からKm2に更新される。
上記ステップS3の更新確認メッセージは、所定の周期で、管理装置20から鍵管理サーバ装置10へ送信される。そして、上記ステップS3からS5は繰り返し行われる。これにより、定期的にECU鍵管理鍵の更新の確認が実行されて、自動車1に保持されるECU鍵管理鍵の最新化が図られる。また、自動車1の管理装置20では、eSIM_21内のセキュア領域にECU鍵管理鍵が保持される。これにより、自動車1において、ECU鍵管理鍵が安全に管理される。
なお、ステップS3の次に、鍵管理サーバ装置10と管理装置20との間で相互認証を行うステップを追加してもよい。該相互認証方法として、例えばチャレンジ・レスポンス認証方法を使用することが挙げられる。
[ECU鍵管理鍵の更新方法の例2]
ECU鍵管理鍵の更新方法の例2は、上述したECU鍵管理鍵の更新方法の例1の変形である。図8は、本実施形態に係るECU鍵管理鍵の更新方法の例2の手順を示すシーケンスチャートである。この図8において、図7の各ステップに対応する部分には同一の符号を付け、その説明を省略する。上述したECU鍵管理鍵の更新方法の例1では、管理装置20から鍵管理サーバ装置10に対して定期的にECU鍵管理鍵の更新の確認が実行されたが、ECU鍵管理鍵の更新方法の例2では、鍵管理サーバ装置10から管理装置20に対して更新通知を行う点が、ECU鍵管理鍵の更新方法の例1とは異なる。その点以外は、ECU鍵管理鍵の更新方法の例1と同じである。
図8において、ECU鍵管理鍵の更新方法の例1と同様にステップS1が実行される。次いで、ECU鍵管理鍵の更新時期になると、ステップS10が実行される。ステップS10では、鍵管理サーバ装置10の鍵管理部13が、管理装置20へ、無線通信部11により更新通知メッセージを送信する。管理装置20の鍵更新部24は、無線通信部22により更新通知メッセージを受信すると、ECU鍵管理鍵の更新方法の例1と同様にステップS3を実行する。その後、ECU鍵管理鍵の更新方法の例1と同様にステップS4,S5が実行される。
そして、ECU鍵管理鍵の更新時期になる度に、上記ステップS10,S3からS5が繰り返し行われる。これにより、ECU鍵管理鍵の更新時期になると、ECU鍵管理鍵の更新の確認が実行されて、自動車1に保持されるECU鍵管理鍵の最新化が図られる。また、自動車1の管理装置20では、eSIM_21内のセキュア領域にECU鍵管理鍵が保持される。これにより、自動車1において、ECU鍵管理鍵が安全に管理される。
なお、ステップS3の次に、鍵管理サーバ装置10と管理装置20との間で相互認証を行うステップを追加してもよい。該相互認証方法として、例えばチャレンジ・レスポンス認証方法を使用することが挙げられる。
[ECU鍵管理鍵の更新方法の例3]
図9を参照して、本実施形態に係るECU鍵管理鍵の更新方法の例3を説明する。図9は、本実施形態に係るECU鍵管理鍵の更新方法の例3の手順を示すシーケンスチャートである。ECU鍵管理鍵の更新方法の例3では、ECU鍵管理鍵として、公開鍵及び秘密鍵を使用する。公開鍵及び秘密鍵は非対称鍵とも呼ばれる。以下の説明において、KmpnはECU鍵管理鍵の公開鍵を示し、KmsnはECU鍵管理鍵の秘密鍵を示す。但し、nは0以上の整数である。
(ステップS21)ECU鍵管理鍵の初期鍵Kmp0,Kms0は、予め、自動車1の製造会社によって生成される。鍵管理サーバ装置10は、管理装置20へ、ECU鍵管理鍵の初期鍵Kms0を送信する。このECU鍵管理鍵の初期鍵Kms0の送信時点では、自動車1はECU鍵管理鍵を持っていない、空の状態である。例えば、自動車1が完成したばかりの新車の状態で工場から出荷前の時点で、ECU鍵管理鍵の初期鍵Kms0が鍵管理サーバ装置10から管理装置20へ送信される。なお、ECU鍵管理鍵の初期鍵Kms0は、自動車1の新車の状態での出荷前に、工場内で、メンテナンス専用の診断端末を使用して、自動車1に設けられたOBDポートから管理装置20へ入力されてもよい。
鍵管理サーバ装置10は、鍵管理データ記憶部15の鍵管理データに対して、ECU鍵管理鍵の初期鍵Kms0を送信した自動車1の車IDのデータ格納領域を生成し、当該車IDのデータ格納領域に、ECU鍵管理鍵の初期鍵Kmp0,Kms0と、該初期鍵Kmp0,Kms0の適用日を示す情報とを格納する。
(ステップS22)管理装置20は、受信したECU鍵管理鍵の初期鍵Kms0を、eSIM_21に入力する。eSIM_21は、入力されたECU鍵管理鍵の初期鍵Kms0を鍵保持部32に書き込んで保持させる。
(ステップS23)管理装置20の鍵更新部24は、鍵管理サーバ装置10に対して、無線通信部22により更新確認メッセージを送信する。鍵更新部24は、該更新確認メッセージに、自己の自動車1の車IDを含める。
(ステップS24)鍵管理サーバ装置10の鍵管理部13は、無線通信部11により受信された更新確認メッセージの車IDに基づいて、鍵管理データ記憶部15の鍵管理データ中の当該車IDのデータ格納領域から、ECU鍵管理鍵を取得する。鍵管理部13は、該取得されたECU鍵管理鍵が、鍵記憶部14のECU鍵管理鍵記録データ中の最新の発行日のECU鍵管理鍵であるかを確認する。この確認の結果、最新の発行日のECU鍵管理鍵である場合には、当該自動車1に対するECU鍵管理鍵の配信を行わない。
一方、該確認の結果、最新の発行日のECU鍵管理鍵ではない場合には、鍵管理部13は、該最新の発行日のECU鍵管理鍵の秘密鍵を、鍵管理データから取得されたECU鍵管理鍵の公開鍵で暗号化した暗号化ECU鍵管理鍵を生成する。例えば、図9中の更新1回目では、鍵管理データから取得されたECU鍵管理鍵の公開鍵Kmp0で、最新の発行日のECU鍵管理鍵の秘密鍵Kms1を暗号化した暗号化ECU鍵管理鍵Kmp0(Kms1)を生成する。図9中の更新2回目では、鍵管理データから取得されたECU鍵管理鍵の公開鍵Kmp1で、最新の発行日のECU鍵管理鍵の秘密鍵Kms2を暗号化した暗号化ECU鍵管理鍵Kmp1(Kms2)を生成する。鍵管理部13は、管理装置20に対して、無線通信部11により、更新確認メッセージの応答として暗号化ECU鍵管理鍵を送信する。
鍵管理サーバ装置10の鍵管理部13は、鍵管理データ記憶部15の鍵管理データに対して、暗号化ECU鍵管理鍵を送信した自動車1の車IDのデータ格納領域に、該暗号化して送信された暗号化前のECU鍵管理鍵の秘密鍵と該秘密鍵に対応する公開鍵との組と、該ECU鍵管理鍵の適用日を示す情報とを格納する。
(ステップS25)管理装置20の鍵更新部24は、無線通信部22により受信された暗号化ECU鍵管理鍵を、eSIM_21へ入力する。eSIM_21の暗号処理部31は、該入力された暗号化ECU鍵管理鍵を、鍵保持部32に保持されるECU鍵管理鍵で復号化する。暗号処理部31は、該復号結果のECU鍵管理鍵を鍵保持部32に書き込んで、鍵保持部32に保持されるECU鍵管理鍵を更新させる。例えば、図9中の更新1回目では、鍵保持部32に保持されるECU鍵管理鍵の初期鍵Kms0で暗号化ECU鍵管理鍵Kmp0(Kms1)が復号化され、該復号結果のECU鍵管理鍵Kms1が鍵保持部32に書き込まれることにより、鍵保持部32に保持されるECU鍵管理鍵がKms0からKms1に更新される。図9中の更新2回目では、鍵保持部32に保持されるECU鍵管理鍵Kms1で暗号化ECU鍵管理鍵Kmp1(Kms2)が復号化され、該復号結果のECU鍵管理鍵Kms2が鍵保持部32に書き込まれることにより、鍵保持部32に保持されるECU鍵管理鍵がKms1からKms2に更新される。
上記ステップS23の更新確認メッセージは、所定の周期で、管理装置20から鍵管理サーバ装置10へ送信される。そして、上記ステップS23からS25は繰り返し行われる。これにより、定期的にECU鍵管理鍵の更新の確認が実行されて、自動車1に保持されるECU鍵管理鍵の最新化が図られる。また、自動車1の管理装置20では、eSIM_21内のセキュア領域にECU鍵管理鍵が保持される。これにより、自動車1において、ECU鍵管理鍵が安全に管理される。
なお、ステップS23の次に、鍵管理サーバ装置10と管理装置20との間で相互認証を行うステップを追加してもよい。該相互認証方法として、例えばチャレンジ・レスポンス認証方法を使用することが挙げられる。
また、管理装置20から鍵管理サーバ装置10に対してECU鍵管理鍵の更新の確認を実行するのではなく、上述したECU鍵管理鍵の更新方法の例2と同様に、鍵管理サーバ装置10から管理装置20に対して更新通知を行うようにしてもよい。
[ECU鍵管理鍵の更新方法の例4]
ECU鍵管理鍵の更新方法の例4は、上述したECU鍵管理鍵の更新方法の例3の変形である。図10は、本実施形態に係るECU鍵管理鍵の更新方法の例4の手順を示すシーケンスチャートである。上述したECU鍵管理鍵の更新方法の例3では、鍵管理サーバ装置10が鍵の生成を行ったが、ECU鍵管理鍵の更新方法の例4では、管理装置20が鍵の生成を行う。以下、図10を参照して、本実施形態に係るECU鍵管理鍵の更新方法の例4を説明する。
(ステップS30)ECU鍵管理鍵の初期鍵である公開鍵Kmp0と秘密鍵Kms0とは、予め、生成される。このECU鍵管理鍵の初期鍵Kmp0,Kms0は、管理装置20によって生成されてもよく、又は、自動車1の製造会社によって生成されたものが管理装置20に入力されてもよい。管理装置20は、ECU鍵管理鍵の初期鍵Kmp0,Kms0をeSIM_21に入力する。eSIM_21は、入力されたECU鍵管理鍵の初期鍵Kmp0,Kms0を鍵保持部32に書き込んで保持させる。
(ステップS31)管理装置20は、鍵管理サーバ装置10へ、ECU鍵管理鍵の初期鍵Kmp0を自己の自動車1の車IDと共に送信する。このECU鍵管理鍵の初期鍵Kmp0の送信時点では、鍵管理サーバ装置10は当該自動車1のECU鍵管理鍵を持っていない、空の状態である。例えば、自動車1が完成したばかりの新車の状態で工場から出荷前の時点で、ECU鍵管理鍵の初期鍵Kmp0が管理装置20から鍵管理サーバ装置10へ送信される。なお、ECU鍵管理鍵の初期鍵Kmp0は、自動車1の新車の状態での出荷前に、工場内で、メンテナンス専用の診断端末を使用して、自動車1に設けられたOBDポートから管理装置20へアクセスし、出力されてもよい。
(ステップS32)鍵管理サーバ装置10は、鍵管理データ記憶部15の鍵管理データに対して、ECU鍵管理鍵の初期鍵Kmp0を取得した自動車1の車IDのデータ格納領域を生成し、当該車IDのデータ格納領域に、ECU鍵管理鍵の初期鍵Kmp0と、該初期鍵Kmp0の適用日を示す情報とを格納する。
(ステップS33)鍵管理サーバ装置10の鍵管理部13は、管理装置20に対して、無線通信部11により更新要求メッセージを送信する。
(ステップS34)管理装置20の鍵更新部24は、無線通信部22により更新要求メッセージを受信すると、新たなECU鍵管理鍵の公開鍵と秘密鍵とを生成する。なお、鍵更新部24は、所定のタイミングで、新たなECU鍵管理鍵の公開鍵と秘密鍵とを生成してもよい。鍵更新部24は、新たなECU鍵管理鍵の公開鍵と秘密鍵とをeSIM_21に入力する。eSIM_21は、入力された新たなECU鍵管理鍵の公開鍵と秘密鍵とを鍵保持部32に書き込んで保持させる。eSIM_21の暗号処理部31は、一つ前のECU鍵管理鍵の秘密鍵で、新たなECU鍵管理鍵の公開鍵を暗号化した暗号化ECU鍵管理鍵を生成する。例えば、図10中の更新1回目では、一つ前のECU鍵管理鍵の秘密鍵Kms0で、新たなECU鍵管理鍵の公開鍵Kmp1を暗号化した暗号化ECU鍵管理鍵Kms0(Kmp1)を生成する。図10中の更新2回目では、一つ前のECU鍵管理鍵の秘密鍵Kms1で、新たなECU鍵管理鍵の公開鍵Kmp2を暗号化した暗号化ECU鍵管理鍵Kms1(Kmp2)を生成する。鍵更新部24は、鍵管理サーバ装置10に対して、無線通信部22により、更新要求メッセージの応答として暗号化ECU鍵管理鍵を自己の自動車1の車IDと共に送信する。
(ステップS35)鍵管理サーバ装置10の鍵管理部13は、無線通信部11により暗号化ECU鍵管理鍵と共に受信された車IDに基づいて、鍵管理データ記憶部15の鍵管理データ中の当該車IDのデータ格納領域から、ECU鍵管理鍵を取得する。鍵管理部13は、該取得されたECU鍵管理鍵で、無線通信部11により受信された暗号化ECU鍵管理鍵を復号化する。鍵管理部13は、鍵管理データ記憶部15の鍵管理データに対して、該暗号化ECU鍵管理鍵と共に受信された車IDのデータ格納領域に、該復号結果のECU鍵管理鍵と、該ECU鍵管理鍵の適用日を示す情報とを格納する。例えば、図10中の更新1回目では、鍵管理データ記憶部15の鍵管理データに格納されるECU鍵管理鍵の初期鍵Kmp0で暗号化ECU鍵管理鍵Kms0(Kmp1)が復号化され、該復号結果のECU鍵管理鍵Kmp1が鍵管理データ記憶部15の鍵管理データに格納されることにより、鍵管理データ記憶部15の鍵管理データに格納されるECU鍵管理鍵がKmp0からKmp1に更新される。図10中の更新2回目では、鍵管理データ記憶部15の鍵管理データに格納されるECU鍵管理鍵の初期鍵Kmp1で暗号化ECU鍵管理鍵Kms1(Kmp2)が復号化され、該復号結果のECU鍵管理鍵Kmp2が鍵管理データ記憶部15の鍵管理データに格納されることにより、鍵管理データ記憶部15の鍵管理データに格納されるECU鍵管理鍵がKmp1からKmp2に更新される。
上記ステップS33の更新要求メッセージは、所定の周期で、鍵管理サーバ装置10から管理装置20へ送信される。そして、上記ステップS33からS35は繰り返し行われる。これにより、定期的にECU鍵管理鍵の更新要求が実行されて、自動車1に保持されるECU鍵管理鍵の更新が図られる。また、自動車1の管理装置20では、eSIM_21内のセキュア領域にECU鍵管理鍵が保持される。これにより、自動車1において、ECU鍵管理鍵が安全に管理される。
なお、ステップS33の次に、鍵管理サーバ装置10と管理装置20との間で相互認証を行うステップを追加してもよい。該相互認証方法として、例えばチャレンジ・レスポンス認証方法を使用することが挙げられる。
また、鍵管理サーバ装置10から管理装置20に対してECU鍵管理鍵の更新要求を実行するのではなく、管理装置20から鍵管理サーバ装置10に対してECU鍵管理鍵の更新通知を実行し、この更新通知を受信した鍵管理サーバ装置10から管理装置20へ上記ステップS33の更新要求を行うようにしてもよい。
[ECU鍵管理鍵の更新方法の例5]
図11は、本実施形態に係るECU鍵管理鍵の更新方法の例5の手順を示すシーケンスチャートである。ECU鍵管理鍵の更新方法の例5では、ECU鍵管理鍵は共通鍵である。ECU鍵管理鍵の更新方法の例5は、自動車1の管理装置20を交換する際に行われる。例えば、故障した管理装置20を交換したり、又は、最新化のために管理装置20を交換したりする場合である。ここでは、自動車整備工場で、自動車1の純正の管理装置20(新管理装置20と称する)に交換する場合を例に挙げる。
新管理装置20には、新管理装置20の製造時に、あるECU鍵管理鍵Km?がeSIM_21の鍵保持部32に書き込まれて保持される。鍵管理サーバ装置10は、その新管理装置20に保持されるECU鍵管理鍵Km?を知らない。新管理装置20は、その製造後に出荷されて自動車整備工場に納品される。新管理装置20の出荷時点と、自動車1に対して該新管理装置20で交換を行う時点とは、時間的に離れていてもよい。以下、図11を参照して、本実施形態に係るECU鍵管理鍵の更新方法の例5を説明する。
(ステップS40)自動車1において、新管理装置20への交換が完了し、新管理装置20の電源が投入されると、新管理装置20の鍵更新部24は、鍵管理サーバ装置10に対して、無線通信部22により交換通知メッセージを送信する。鍵更新部24は、該交換通知メッセージに、自己の自動車1の車IDを含める。
(ステップS41)鍵管理サーバ装置10の鍵管理部13は、乱数を生成し、該生成された乱数をチャレンジ値とする。鍵管理部13は、新管理装置20に対して、無線通信部11により、交換通知メッセージの応答として該チャレンジ値(乱数)を送信する。
(ステップS42)新管理装置20の鍵更新部24は、無線通信部22により受信されたチャレンジ値(乱数)をeSIM_21へ入力する。eSIM_21の暗号処理部31は、該入力されたチャレンジ値(乱数)を鍵保持部32に保持されるECU鍵管理鍵Km?で暗号化した暗号化データKm?(乱数)を生成する。鍵更新部24は、eSIM_21で生成された暗号化データKm?(乱数)をレスポンス値として、無線通信部22により鍵管理サーバ装置10へ送信する。
(ステップS43)鍵管理サーバ装置10の鍵管理部13は、無線通信部11により受信されたレスポンス値Km?(乱数)に対して、チャレンジ・レスポンス認証方法の一例であるレスポンスマッチ処理を実行する。このレスポンスマッチ処理では、鍵記憶部14のECU鍵管理鍵記録データに含まれるECU鍵管理鍵の各々でレスポンス値Km?(乱数)を復号化し、各復号結果がチャレンジ値(乱数)に一致するかを判定する。このため、鍵記憶部14のECU鍵管理鍵記録データは、発行済みの全てのECU鍵管理鍵の記録データを有することが好ましい。該判定の結果、チャレンジ値(乱数)に一致する復号結果が一つだけある場合には、レスポンス値Km?(乱数)の検証が成功である。レスポンス値Km?(乱数)の検証が成功である場合にはステップS44へ進む。
一方、該判定の結果、チャレンジ値(乱数)に一致する復号結果がない場合、及び、チャレンジ値(乱数)に一致する復号結果が複数ある場合には、レスポンス値Km?(乱数)の検証が失敗である。レスポンス値Km?(乱数)の検証が失敗である場合には、図11の処理を終了する。なお、レスポンス値Km?(乱数)の検証が失敗である場合には、所定のエラー処理を行ってもよい。
(ステップS44)鍵管理サーバ装置10の鍵管理部13は、ステップS40で交換通知メッセージと共に受信された車IDに基づいて、鍵管理データ記憶部15の鍵管理データ中の当該車IDのデータ格納領域から、ECU鍵管理鍵Kmnを取得する。このECU鍵管理鍵Kmnは、新管理装置20が搭載された自動車1に適用された最新のECU鍵管理鍵である。鍵管理部13は、ステップS43においてチャレンジ値(乱数)に一致する復号結果が得られた復号化に使用されたECU鍵管理鍵で該ECU鍵管理鍵Kmnを暗号化し、暗号化ECU鍵管理鍵を生成する。図11の例では、新管理装置20に予め保持されるECU鍵管理鍵Km?はKm5である。よって、ステップS43においてチャレンジ値(乱数)に一致する復号結果が得られた復号化に使用されたECU鍵管理鍵はKm5である。このことから、図11の例では、ECU鍵管理鍵Km5でECU鍵管理鍵Kmnを暗号化した暗号化ECU鍵管理鍵Km5(Kmn)が生成される。鍵管理部13は、無線通信部11により、暗号化ECU鍵管理鍵Km5(Kmn)を新管理装置20へ送信する。
(ステップS45)新管理装置20の鍵更新部24は、無線通信部22により受信された暗号化ECU鍵管理鍵Km5(Kmn)を、eSIM_21へ入力する。eSIM_21の暗号処理部31は、該入力された暗号化ECU鍵管理鍵Km5(Kmn)を、鍵保持部32に保持されるECU鍵管理鍵Km5で復号化する。暗号処理部31は、該復号結果のECU鍵管理鍵Kmnを鍵保持部32に書き込んで、鍵保持部32に保持されるECU鍵管理鍵をKm5からKmnに更新させる。
上述したECU鍵管理鍵の更新方法の例5によれば、新管理装置20に保持されるECU鍵管理鍵を、新管理装置20が搭載された自動車1に適用された最新のECU鍵管理鍵に更新することができる。これにより、鍵管理サーバ装置10の鍵管理データ記憶部15内の鍵管理データによる自動車1の管理内容と、該自動車1に備わる新管理装置20に保持されるECU鍵管理鍵とを一致させることができる。また、自動車1の交換前の管理装置20が当該自動車1のECU50にECU鍵管理鍵を書き込んだ場合に、新管理装置20が保持するECU鍵管理鍵を該ECU50に書き込まれたECU鍵管理鍵に一致させることができる。このようにECU鍵管理鍵の更新方法の例5によれば、管理装置20の交換によって生じるECU鍵管理鍵の不整合を解消することができる。
[ECU一般鍵の更新方法の例A1]
図12を参照して、本実施形態に係るECU一般鍵の更新方法の例A1を説明する。図12は、本実施形態に係るECU一般鍵の更新方法の例A1の手順を示すシーケンスチャートである。ECU一般鍵の更新方法の例A1では、ECU鍵管理鍵は共通鍵である。
まず図12(1)を参照して、ECU一般鍵の初期値を適用する際の手順を説明する。
(ステップS51)ECU鍵管理鍵の初期鍵Km0及びECU一般鍵の初期鍵k0は、予め、自動車1の製造会社によって生成される。鍵管理サーバ装置10は、管理装置20へ、ECU鍵管理鍵の初期鍵Km0及びECU一般鍵の初期鍵k0を送信する。このECU鍵管理鍵の初期鍵Km0及びECU一般鍵の初期鍵k0の送信時点では、自動車1はECU鍵管理鍵及びECU一般鍵を持っていない、空の状態である。例えば、自動車1が完成したばかりの新車の状態で工場から出荷前の時点で、ECU鍵管理鍵の初期鍵Km0及びECU一般鍵の初期鍵k0が鍵管理サーバ装置10から管理装置20へ送信される。なお、ECU鍵管理鍵の初期鍵Km0及びECU一般鍵の初期鍵k0は、自動車1の新車の状態での出荷前に、工場内で、メンテナンス専用の診断端末を使用して、自動車1に設けられたOBDポートから管理装置20へ入力されてもよい。
鍵管理サーバ装置10は、鍵管理データ記憶部15の鍵管理データに対して、ECU鍵管理鍵の初期鍵Km0及びECU一般鍵の初期鍵k0を送信した自動車1の車IDのデータ格納領域を生成し、当該車IDのデータ格納領域に、ECU鍵管理鍵の初期鍵Km0及びECU一般鍵の初期鍵k0と、該初期鍵Km0,k0の適用日を示す情報とを格納する。
(ステップS52)管理装置20は、受信したECU鍵管理鍵の初期鍵Km0及びECU一般鍵の初期鍵k0を、eSIM_21に入力する。eSIM_21は、入力されたECU鍵管理鍵の初期鍵Km0及びECU一般鍵の初期鍵k0を鍵保持部32に書き込んで保持させる。
次に図12(2)を参照して、ECU一般鍵を更新する際の手順を説明する。なお、ECU鍵管理鍵については、上述したECU鍵管理鍵の更新方法の例1によって更新される。これにより、管理装置20に保持されるECU鍵管理鍵と、鍵管理サーバ装置10の鍵管理データの管理内容とは一致する。
(ステップS53)管理装置20の鍵更新部24は、鍵管理サーバ装置10に対して、無線通信部22により更新確認メッセージを送信する。鍵更新部24は、該更新確認メッセージに、自己の自動車1の車IDを含める。
(ステップS54)鍵管理サーバ装置10の鍵管理部13は、無線通信部11により受信された更新確認メッセージの車IDに基づいて、鍵管理データ記憶部15の鍵管理データ中の当該車IDのデータ格納領域から、ECU一般鍵を取得する。鍵管理部13は、該取得されたECU一般鍵が、鍵記憶部14のECU一般鍵記録データ中の最新の発行日のECU一般鍵であるかを確認する。この確認の結果、最新の発行日のECU一般鍵である場合には、当該自動車1に対するECU一般鍵の配信を行わない。
一方、該確認の結果、最新の発行日のECU一般鍵ではない場合には、鍵管理部13は、無線通信部11により受信された更新確認メッセージの車IDに基づいて、鍵管理データ記憶部15の鍵管理データ中の当該車IDのデータ格納領域から、ECU鍵管理鍵を取得する。鍵管理部13は、該取得されたECU鍵管理鍵で、鍵記憶部14のECU一般鍵記録データ中の最新の発行日のECU一般鍵を暗号化し、暗号化ECU一般鍵を生成する。図12(2)の例では、鍵管理データから取得されたECU鍵管理鍵Km5で、最新の発行日のECU一般鍵k8を暗号化した暗号化ECU一般鍵Km5(k8)を生成する。鍵管理部13は、管理装置20に対して、無線通信部11により、更新確認メッセージの応答として暗号化ECU一般鍵Km5(k8)を送信する。
鍵管理サーバ装置10の鍵管理部13は、鍵管理データ記憶部15の鍵管理データに対して、暗号化ECU一般鍵Km5(k8)を送信した自動車1の車IDのデータ格納領域に、該暗号化して送信された暗号化前のECU一般鍵k8と、該ECU一般鍵k8の適用日を示す情報とを格納する。
(ステップS55)管理装置20の鍵更新部24は、無線通信部22により受信された暗号化ECU一般鍵Km5(k8)を、eSIM_21へ入力する。eSIM_21の暗号処理部31は、該入力された暗号化ECU一般鍵Km5(k8)を、鍵保持部32に保持されるECU鍵管理鍵Km5で復号化する。暗号処理部31は、該復号結果のECU一般鍵k8を鍵保持部32に書き込んで、鍵保持部32に保持されるECU一般鍵をいままでのk7からk8に更新させる。
上記ステップS53の更新確認メッセージは、所定の周期で、管理装置20から鍵管理サーバ装置10へ送信される。そして、上記ステップS53からS55は繰り返し行われる。これにより、定期的にECU一般鍵の更新の確認が実行されて、自動車1に保持されるECU一般鍵の最新化が図られる。また、自動車1の管理装置20では、eSIM_21内のセキュア領域にECU一般鍵が保持される。これにより、自動車1において、ECU一般鍵が安全に管理される。
なお、ステップS53の次に、鍵管理サーバ装置10と管理装置20との間で相互認証を行うステップを追加してもよい。該相互認証方法として、例えばチャレンジ・レスポンス認証方法を使用することが挙げられる。
また、管理装置20から鍵管理サーバ装置10に対してECU一般鍵の更新の確認を実行するのではなく、上述したECU鍵管理鍵の更新方法の例2と同様に、鍵管理サーバ装置10から管理装置20に対して更新通知を行うようにしてもよい。
[ECU一般鍵の更新方法の例A2]
図13は、本実施形態に係るECU一般鍵の更新方法の例A2の手順を示すシーケンスチャートである。ECU一般鍵の更新方法の例A2では、ECU鍵管理鍵は共通鍵である。ECU一般鍵の更新方法の例A2は、自動車1の管理装置20を交換する際に行われる。例えば、故障した管理装置20を交換したり、又は、最新化のために管理装置20を交換したりする場合である。ここでは、自動車整備工場で、自動車1の純正の管理装置20(新管理装置20と称する)に交換する場合を例に挙げる。
新管理装置20には、新管理装置20の製造時に、あるECU一般鍵k?がeSIM_21の鍵保持部32に書き込まれて保持される。鍵管理サーバ装置10は、その新管理装置20に保持されるECU一般鍵k?を知らない。新管理装置20は、その製造後に出荷されて自動車整備工場に納品される。新管理装置20の出荷時点と、自動車1に対して該新管理装置20で交換を行う時点とは、時間的に離れていてもよい。以下、図13を参照して、本実施形態に係るECU一般鍵の更新方法の例A2を説明する。なお、新管理装置20に保持されるECU鍵管理鍵は、上述したECU鍵管理鍵の更新方法の例5によって、ECU鍵管理鍵Km5に更新されたとする。
(ステップS60)新管理装置20の鍵更新部24は、鍵管理サーバ装置10に対して、無線通信部22により交換通知メッセージを送信する。鍵更新部24は、該交換通知メッセージに、自己の自動車1の車IDを含める。
(ステップS61)鍵管理サーバ装置10の鍵管理部13は、交換通知メッセージと共に受信された車IDに基づいて、鍵管理データ記憶部15の鍵管理データ中の当該車IDのデータ格納領域から、ECU鍵管理鍵及びECU一般鍵を取得する。該取得されたECU鍵管理鍵は、新管理装置20に対して更新が完了したECU鍵管理鍵である。図13の例では、該ECU鍵管理鍵はKm5である。該取得されたECU一般鍵は、新管理装置20が搭載された自動車1に適用された最新のECU一般鍵である。図13の例では、該ECU一般鍵はk8である。鍵管理部13は、ECU鍵管理鍵はKm5でECU一般鍵k8を暗号化した暗号化ECU一般鍵Km5(k8)を生成する。鍵管理部13は、無線通信部11により、暗号化ECU一般鍵Km5(k8)を新管理装置20へ送信する。
(ステップS62)新管理装置20の鍵更新部24は、無線通信部22により受信された暗号化ECU一般鍵Km5(k8)を、eSIM_21へ入力する。eSIM_21の暗号処理部31は、該入力された暗号化ECU一般鍵Km5(k8)を、鍵保持部32に保持されるECU鍵管理鍵Km5で復号化する。暗号処理部31は、該復号結果のECU一般鍵k8を鍵保持部32に書き込んで、鍵保持部32に保持されるECU一般鍵をk?からk8に更新させる。
上述したECU一般鍵の更新方法の例A2によれば、新管理装置20に保持されるECU一般鍵を、新管理装置20が搭載された自動車1に適用された最新のECU一般鍵に更新することができる。これにより、鍵管理サーバ装置10の鍵管理データ記憶部15内の鍵管理データによる自動車1の管理内容と、該自動車1に備わる新管理装置20に保持されるECU一般鍵とを一致させることができる。また、自動車1の交換前の管理装置20が当該自動車1のECU50にECU一般鍵を書き込んだ場合に、新管理装置20が保持するECU一般鍵を該ECU50に書き込まれたECU一般鍵に一致させることができる。このようにECU一般鍵の更新方法の例A2によれば、管理装置20の交換によって生じるECU一般鍵の不整合を解消することができる。
[ECU鍵管理鍵およびECU一般鍵の更新方法の例B]
図14は、本実施形態に係るECU鍵管理鍵およびECU一般鍵の更新方法の例Bの手順を示すシーケンスチャートである。ECU鍵管理鍵およびECU一般鍵の更新方法の例Bでは、ECU鍵管理鍵は共通鍵である。ECU鍵管理鍵およびECU一般鍵の更新方法の例Bは、自動車1を廃車する際に行われる。以下、図14を参照して、本実施形態に係るECU鍵管理鍵およびECU一般鍵の更新方法の例Bを説明する。
(ステップS70)管理装置20の鍵更新部24は、鍵管理サーバ装置10に対して、無線通信部22により廃車通知メッセージを送信する。鍵更新部24は、該廃車通知メッセージに、自己の自動車1の車IDを含める。
(ステップS71)鍵管理サーバ装置10の鍵管理部13は、無線通信部11により受信された廃車通知メッセージの車IDに基づいて、鍵管理データ記憶部15の鍵管理データ中の当該車IDのデータ格納領域から、ECU鍵管理鍵を取得する。鍵管理部13は、鍵記憶部14から廃車ECU鍵管理鍵および廃車ECU一般鍵を取得する。廃車ECU鍵管理鍵および廃車ECU一般鍵は、予め、鍵記憶部14に格納される。廃車ECU鍵管理鍵は、ECU鍵管理鍵の無効を意味する値を有する廃車鍵である。廃車ECU一般鍵は、ECU一般鍵の無効を意味する値を有する廃車鍵である。
鍵管理部13は、該取得されたECU鍵管理鍵で、廃車ECU鍵管理鍵および廃車ECU一般鍵をそれぞれに暗号化し、暗号化廃車ECU鍵管理鍵および暗号化廃車ECU一般鍵を生成する。図14の例では、ECU鍵管理鍵Km5で、廃車ECU鍵管理鍵Km999および廃車ECU一般鍵k999をそれぞれに暗号化し、暗号化廃車ECU鍵管理鍵Km5(Km999)および暗号化廃車ECU一般鍵Km5(k999)を生成する。鍵管理部13は、管理装置20に対して、無線通信部11により、廃車通知メッセージの応答として暗号化廃車ECU鍵管理鍵Km5(Km999)および暗号化廃車ECU一般鍵Km5(k999)を送信する。
鍵管理サーバ装置10の鍵管理部13は、鍵管理データ記憶部15の鍵管理データに対して、暗号化廃車ECU鍵管理鍵Km5(Km999)および暗号化廃車ECU一般鍵Km5(k999)を送信した自動車1の車IDのデータ格納領域に、廃車ECU鍵管理鍵Km999および廃車ECU一般鍵k999と、廃車ECU鍵管理鍵Km999および廃車ECU一般鍵k999の各適用日を示す情報とを格納する。
(ステップS72)管理装置20の鍵更新部24は、無線通信部22により受信された暗号化廃車ECU鍵管理鍵Km5(Km999)および暗号化廃車ECU一般鍵Km5(k999)を、eSIM_21へ入力する。eSIM_21の暗号処理部31は、該入力された暗号化廃車ECU鍵管理鍵Km5(Km999)および暗号化廃車ECU一般鍵Km5(k999)のそれぞれを、鍵保持部32に保持されるECU鍵管理鍵Km5で復号化する。暗号処理部31は、該復号結果の廃車ECU鍵管理鍵Km999を鍵保持部32に書き込んで、鍵保持部32に保持されるECU鍵管理鍵をいままでのKm5からKm999に更新させる。暗号処理部31は、該復号結果の廃車ECU一般鍵k999を鍵保持部32に書き込んで、鍵保持部32に保持されるECU一般鍵をいままでのk7からk999に更新させる。
上述したECU鍵管理鍵およびECU一般鍵の更新方法の例Bによれば、廃車される自動車1に保持されるECU鍵管理鍵およびECU一般鍵をそれぞれ廃車ECU鍵管理鍵および廃車ECU一般鍵に更新できる。これにより、廃車された自動車1の管理装置20が他の自動車1に搭載されたとしても、廃車ECU鍵管理鍵または廃車ECU一般鍵が使用されることによってECU50間の相互認証や暗号化データの復号化を強制的に失敗させることができる。例えば、上述したECU鍵管理鍵の更新方法の例5のステップS43のレスポンスマッチ処理において、レスポンス値Km?(乱数)の復号化に使用されるECU鍵管理鍵の一つとして廃車ECU鍵管理鍵を含める。これにより、廃車ECU鍵管理鍵が使用されたことを検出して、強制的に、レスポンス値Km?(乱数)の検証を失敗させることができる。
また、自動車1が廃車される際に、管理装置20が該自動車1の各ECU50に対して廃車ECU鍵管理鍵または廃車ECU一般鍵を書き込んでおけば、該ECU50が他の自動車1に搭載されたとしても、廃車ECU鍵管理鍵または廃車ECU一般鍵が使用されることによってECU50間の相互認証や暗号化データの復号化を強制的に失敗させることができる。
[鍵管理データの他の構成例]
図15は、本実施形態に係る鍵管理データの他の構成例を示す図である。図15において、鍵管理データは、上述した図6の鍵管理データに対して、自動車1毎に、所有者IDと盗難フラグとが追加される。所有者IDは、当該所有者IDに関連付けられた車IDの自動車1の所有者を特定する識別子である。盗難フラグは、当該盗難フラグに関連付けられた車IDの自動車1の状況を示す。盗難フラグ有りの場合、当該自動車1が盗難されたことを示す。盗難フラグ無しの場合、当該自動車1が盗難されていないことを示す。
鍵管理サーバ装置10の鍵管理部13は、自動車1の鍵更新の際に、図15の鍵管理データの盗難フラグを参照し、盗難フラグ有りの場合には廃車ECU鍵管理鍵または廃車ECU一般鍵を当該自動車1に適用する。これにより、盗難フラグ有りの自動車1に対して、ECU鍵管理鍵またはECU一般鍵を無効化することができる。また、自動車1は、一般に、中古車市場等で転売されることによって所有者が代わるが、自動車1の所有者を所有者IDで管理することで、自動車1の盗難防止に寄与できる。
[ECU鍵管理鍵の更新方法の例5a]
ECU鍵管理鍵の更新方法の例5aを説明する。ECU鍵管理鍵の更新方法の例5aでは、ECU鍵管理鍵は共通鍵である。ECU鍵管理鍵の更新方法の例5aは、自動車1の管理装置20を交換する際に行われる。例えば、故障した管理装置20を交換したり、又は、最新化のために管理装置20を交換したりする場合である。ここでは、自動車整備工場で、自動車1の純正の管理装置20(新管理装置20と称する)に交換する場合を例に挙げる。
ECU鍵管理鍵の更新方法の例5aは、上述したECU鍵管理鍵の更新方法の例5の変形である。ECU鍵管理鍵の更新方法の例5aでは、交換のために準備される新管理装置20には、予め、交換初期鍵がeSIM_21の鍵保持部32に保持される。例えば、新管理装置20の製造時に工場で、交換初期鍵が新管理装置20に入力されてeSIM_21の鍵保持部32に保持される。
図16は、ECU鍵管理鍵の更新方法の例5aに係る交換初期鍵記録データの構成例を示す図である。交換初期鍵記録データは、鍵管理サーバ装置10の鍵記憶部14に記憶される。
図16において、交換初期鍵記録データは、交換初期鍵毎に、鍵IDと、交換初期鍵と、該交換初期鍵の発行日を示す情報とを有する。交換初期鍵記録データは、発行済みの交換初期鍵の記録データである。交換初期鍵記録データには、新たな交換初期鍵が発行される度に、該新たな交換初期鍵の記録データが追加される。なお、図16中の各値は、説明の便宜上の値である。
同じ交換初期鍵が適用される範囲の例として、同じ自動車製造会社の自動車に使用される新管理装置20が挙げられる。又は、同じ交換初期鍵が適用される範囲の例として、同じ車種の自動車に使用される新管理装置20が挙げられる。又は、同じ交換初期鍵が適用される範囲の例として、同じ製造会社で製造される新管理装置20が挙げられる。
図17は、本実施形態に係るECU鍵管理鍵の更新方法の例5aの手順を示すシーケンスチャートである。新管理装置20には、予め、ある交換初期鍵Kr?がeSIM_21の鍵保持部32に保持される。鍵管理サーバ装置10は、その新管理装置20に保持される交換初期鍵Kr?を知らない。新管理装置20は、eSIM_21の鍵保持部32に交換初期鍵Kr?を保持した後に、自動車整備工場に納品される。新管理装置20がeSIM_21の鍵保持部32に交換初期鍵Kr?を保持した時点と、自動車1に対して該新管理装置20で交換を行う時点とは、時間的に離れていてもよい。以下、図17を参照して、本実施形態に係るECU鍵管理鍵の更新方法の例5aを説明する。
(ステップS40a)自動車1において、新管理装置20への交換が完了し、新管理装置20の電源が投入されると、新管理装置20の鍵更新部24は、鍵管理サーバ装置10に対して、無線通信部22により交換通知メッセージを送信する。鍵更新部24は、該交換通知メッセージに、自己の自動車1の車IDを含める。
(ステップS41a)鍵管理サーバ装置10の鍵管理部13は、乱数を生成し、該生成された乱数をチャレンジ値とする。鍵管理部13は、新管理装置20に対して、無線通信部11により、交換通知メッセージの応答として該チャレンジ値(乱数)を送信する。
(ステップS42a)新管理装置20の鍵更新部24は、無線通信部22により受信されたチャレンジ値(乱数)をeSIM_21へ入力する。eSIM_21の暗号処理部31は、該入力されたチャレンジ値(乱数)を鍵保持部32に保持される交換初期鍵Kr?で暗号化した暗号化データKr?(乱数)を生成する。鍵更新部24は、eSIM_21で生成された暗号化データKr?(乱数)をレスポンス値として、無線通信部22により鍵管理サーバ装置10へ送信する。
(ステップS43a)鍵管理サーバ装置10の鍵管理部13は、無線通信部11により受信されたレスポンス値Kr?(乱数)に対して、チャレンジ・レスポンス認証方法の一例であるレスポンスマッチ処理を実行する。このレスポンスマッチ処理では、鍵記憶部14の交換初期鍵記録データに含まれる交換初期鍵の各々でレスポンス値Kr?(乱数)を復号化し、各復号結果がチャレンジ値(乱数)に一致するかを判定する。このため、鍵記憶部14の交換初期鍵記録データは、発行済みの全ての交換初期鍵の記録データを有することが好ましい。該判定の結果、チャレンジ値(乱数)に一致する復号結果が一つだけある場合には、レスポンス値Kr?(乱数)の検証が成功である。レスポンス値Kr?(乱数)の検証が成功である場合にはステップS44aへ進む。
一方、該判定の結果、チャレンジ値(乱数)に一致する復号結果がない場合、及び、チャレンジ値(乱数)に一致する復号結果が複数ある場合には、レスポンス値Kr?(乱数)の検証が失敗である。レスポンス値r?(乱数)の検証が失敗である場合には、図17の処理を終了する。なお、レスポンス値Kr?(乱数)の検証が失敗である場合には、所定のエラー処理を行ってもよい。
(ステップS44a)鍵管理サーバ装置10の鍵管理部13は、ステップS40aで交換通知メッセージと共に受信された車IDに基づいて、鍵管理データ記憶部15の鍵管理データ中の当該車IDのデータ格納領域から、ECU鍵管理鍵Kmnを取得する。このECU鍵管理鍵Kmnは、新管理装置20が搭載された自動車1に適用された最新のECU鍵管理鍵である。鍵管理部13は、ステップS43aにおいてチャレンジ値(乱数)に一致する復号結果が得られた復号化に使用された交換初期鍵で該ECU鍵管理鍵Kmnを暗号化し、暗号化ECU鍵管理鍵を生成する。図17の例では、新管理装置20に予め保持される交換初期鍵Kr?はKr5である。よって、ステップS43aにおいてチャレンジ値(乱数)に一致する復号結果が得られた復号化に使用された交換初期鍵はKr5である。このことから、図17の例では、交換初期鍵Kr5でECU鍵管理鍵Kmnを暗号化した暗号化ECU鍵管理鍵Kr5(Kmn)が生成される。鍵管理部13は、無線通信部11により、暗号化ECU鍵管理鍵Kr5(Kmn)を新管理装置20へ送信する。
(ステップS45a)新管理装置20の鍵更新部24は、無線通信部22により受信された暗号化ECU鍵管理鍵Kr5(Kmn)を、eSIM_21へ入力する。eSIM_21の暗号処理部31は、該入力された暗号化ECU鍵管理鍵Kr5(Kmn)を、鍵保持部32に保持される交換初期鍵Kr5で復号化する。暗号処理部31は、該復号結果のECU鍵管理鍵Kmnを鍵保持部32に書き込む。鍵保持部32は、交換初期鍵Kr5に代えてECU鍵管理鍵Kmnを保持する。これにより、新管理装置20において、eSIM_21の鍵保持部32が保持する鍵が、交換初期鍵Kr5からECU鍵管理鍵Kmnに更新される。
上述したECU鍵管理鍵の更新方法の例5aによれば、新管理装置20に保持されるECU鍵管理鍵を、新管理装置20が搭載された自動車1に適用された最新のECU鍵管理鍵に更新することができる。これにより、鍵管理サーバ装置10の鍵管理データ記憶部15内の鍵管理データによる自動車1の管理内容と、該自動車1に備わる新管理装置20に保持されるECU鍵管理鍵とを一致させることができる。また、自動車1の交換前の管理装置20が当該自動車1のECU50にECU鍵管理鍵を書き込んだ場合に、新管理装置20が保持するECU鍵管理鍵を該ECU50に書き込まれたECU鍵管理鍵に一致させることができる。このようにECU鍵管理鍵の更新方法の例5によれば、管理装置20の交換によって生じるECU鍵管理鍵の不整合を解消することができる。
また、上述したECU鍵管理鍵の更新方法の例5aによれば、交換前の新管理装置20のeSIM_21の鍵保持部32に予め保持しておくのは、管理装置20の交換用に設けられた交換初期鍵である。したがって、交換前の新管理装置20のeSIM_21の鍵保持部32に対して、各自動車1に既に適用されたECU鍵管理鍵を予め保持させなくてよい。これにより、自動車1の管理装置20の交換を実施する自動車整備工場に、新管理装置20を常備しておくことが容易になる。
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
例えば、管理装置20の鍵更新部24は、自己の自動車1の各ECU50に対して、最新のECU一般鍵を書き込んでもよい。ECU50は、自己のセキュアエレメントのセキュア領域にECU一般鍵を保持する。又は、管理装置20の鍵更新部24は、自己の自動車1の各ECU50に対して、最新のECU鍵管理鍵およびECU一般鍵を書き込んでもよい。ECU50は、自己のセキュアエレメントのセキュア領域にECU鍵管理鍵およびECU一般鍵を保持する。
なお、上述した実施形態では、管理装置20が、自己の自動車1の鍵の更新を行ったが、自動車1のECU50のそれぞれが鍵の更新を行うようにしてもよい。例えば、管理装置20のeSIM_21を、自動車1の各ECU50に備えてもよい。この場合、管理装置20の鍵更新部24は各ECU50に暗号化データを送信する。各ECU50において、eSIM_21の暗号処理部31は、自己のeSIM_21の鍵保持部32内の鍵を使用して該暗号化鍵データを復号化し、復号結果の鍵を該鍵保持部32に書き込んで保持させる。
又は、管理装置20のeSIM_21及び鍵更新部24を、各ECU50に備えてもよい。この場合、管理装置20は、各ECU50の鍵更新部24が鍵管理サーバ装置10との間でやり取りするデータを、無線通信部22により中継する。各ECU50は、管理装置20による中継により鍵管理サーバ装置10との間でデータをやり取りし、鍵の更新を行う。
又は、管理装置20を、各ECU50に備えてもよい。この場合、各ECU50は、自己の無線通信部22により鍵管理サーバ装置10との間でデータをやり取りし、鍵の更新を行う。
ECU鍵管理鍵およびECU一般鍵は、部品の共通化や管理コストの抑制の観点から、自動車1の製造会社で1種類だけ発行することが好ましい。又は、車種毎に1種類だけ発行することが好ましい。一方、同じ車種間でのECU50の交換を防止する等の目的で、個々の自動車1毎に異なる鍵にすることも好ましい。
自動車1の車IDは、自動車1内で安全に管理されていることが好ましい。例えば、eSIM_21のセキュア領域に車IDを保持することが好ましい。
セキュアエレメントとして、eSIM又はSIMのいずれを使用してもよい。eSIMは、通常、電子基板にハンダ付け(ハードウェア・バインド(H/Wバインド))される。SIMは、通常、電子基板にプログラム的に紐付けられる(ソフトウェア・バインド(S/Wバインド))される。
ECU鍵管理鍵およびECU一般鍵は、対称鍵であってもよく、又は、非対称鍵であってもよい。
管理装置20及びECU50において、セキュアブート(Secure Boot)を行うことも好ましい。セキュアブートによれば、コンピュータの起動時に当該コンピュータのオペレーティングシステム(Operating System:OS)の正当性を検証することができる。セキュアブートについては、例えば非特許文献3,4,5,6に記載されている。
上述した実施形態に係る鍵管理システムは、自動車1の販売、定期点検、車両検査、転売、廃車など、自動車1の様々な管理の場面に適用可能である。
上述した実施形態では、車両として自動車を例に挙げたが、原動機付自転車や鉄道車両等の自動車以外の他の車両にも適用可能である。
また、上述した鍵管理サーバ装置10又は管理装置20の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disk)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。