【文献】
SCHLEIFFER, C., WOLF, M., WEIMERSKIRCH, A. and WOLLESCHENSKY, L.,Secure Key Management - A Key Feature for Modern Vehicle Electronics,SAE Technical Paper,2013年 4月 8日,2013-01-1418,p.1-8
【文献】
MENEZES, A. J., VAN OORSCHOT, P. C. and VANSTONE S. A.,HANDBOOK of APPLIED CRYPTOGRAPHY,CRC Press,1997年,p.234,235
【文献】
竹森敬祐,セキュアエレメントを基点とした車載制御システムの保護 In-vehicle Network Security Using Secure Elements,電子情報通信学会技術研究報告,2015年 3月 2日,第114巻 第508号,p.73-78
【文献】
DESMEDT, Y. and QUISQUATER, J.-J.,PUBLIC-KEY SYSTEMS BASED ON THE DIFFICULTY OF TAMPERING,Lecture Notes in Computer Science,1987年 8月 4日,Vol.263,p.111-117,especially 2. The basic idea, 3 Identity-based cryptosystem, Figure 4
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0022】
以下、図面を参照し、本発明の実施形態について説明する。なお、以下に示す実施形態では、車両として自動車を例に挙げて説明する。
【0023】
[第1実施形態]
図1は、第1実施形態に係る自動車1を示す図である。
図1において、自動車1は管理装置10とECU50を備える。管理装置10は制御用車載ネットワーク40に接続される。制御用車載ネットワーク40として、例えばCAN(Controller Area Network)が使用される。CANは車両に搭載される通信ネットワークの一つとして知られている。本実施形態では、制御用車載ネットワーク40はCANである。制御用車載ネットワーク40には、各種のECU50が接続される。ECU50は、自動車1に備わる車載コンピュータである。ECU50は、例えば、駆動系ECU、車体系ECU、安全制御系ECUなどである。管理装置10は、制御用車載ネットワーク40を介して、各ECU50との間でデータを交換する。ECU50は、制御用車載ネットワーク40を介して、他のECU50との間でデータを交換する。管理装置10はセキュアエレメント20を備える。
【0024】
図2は、第1実施形態に係る管理装置10を示す構成図である。
図2において、管理装置10は、制御部11とCANインタフェース12とセキュアエレメント20を備える。これら各部はデータを交換できるように構成される。セキュアエレメント20は、鍵生成部21と鍵記憶部22と検証部23と暗号処理部24を備える。
【0025】
制御部11は管理装置10の制御機能を有する。CANインタフェース12は、ECU50と通信する通信部である。CANインタフェース12は、制御用車載ネットワーク40と接続し、制御用車載ネットワーク40を介して各ECU50とデータを交換する。セキュアエレメント20は耐タンパー性(Tamper Resistant)を有する。
【0026】
セキュアエレメント20において、鍵生成部21は鍵を生成する。鍵記憶部22は鍵を記憶する。検証部23は、鍵を使用して、データやデータの交換相手などの検証を行う。暗号処理部24は、鍵を使用して、データの暗号化及び暗号化データの復号化を行う。
【0027】
図3は、
図2に示す鍵記憶部22の構成例を示す図である。
図3において、鍵記憶部22は、マスタ鍵記憶部31とECU初期鍵記憶部32を備える。
【0028】
マスタ鍵記憶部31は、マスタ鍵MASTER_KEYを記憶する。マスタ鍵MASTER_KEYは、管理装置10の製造工程などで、安全に、管理装置10のセキュアエレメント20に書込まれる。ECU初期鍵記憶部32は、ECU識別子に関連付けてECU初期鍵を記憶する。
【0029】
以下、第1実施形態に係るECU初期鍵の管理方法を説明する。
【0030】
[ECUへのECU初期鍵の書込み段階]
図4を参照して、ECU50へのECU初期鍵の書込み段階を説明する。
図4は、第1実施形態に係る管理方法の説明図である。
図4において、初期鍵書込み装置301は、ECU50の製造工場内の部屋300の中に設置されている。部屋300は、情報セキュリティが確保された部屋である。初期鍵書込み装置301は、マスタ鍵MASTER_KEYを有する。マスタ鍵MASTER_KEYは、事前に、初期鍵書込み装置301に設定される。初期鍵書込み装置301に対するマスタ鍵MASTER_KEYの設定は、安全に実行される。初期鍵書込み装置301が有するマスタ鍵MASTER_KEYと、自動車1の管理装置10のセキュアエレメント20の鍵記憶部22に記憶されるマスタ鍵MASTER_KEYとは、同じである。該マスタ鍵MASTER_KEYは安全に管理される。
【0031】
初期鍵書込み装置301は、ECU50との間でデータを交換するためのECU接続インタフェースを備える。初期鍵書込み装置301は、ECU接続インタフェースに接続されたECU50との間でデータを交換する。なお、ここでは、初期鍵書込み装置301は、3個のECU接続インタフェースを備え、該ECU接続インタフェースにより同時に3個のECU50を接続可能とする。
【0032】
図4には、自動車1に搭載されるECU50として、3個のECU50が示される。該3個のECU50を、各々、ECU_A_50、ECU_B_50、ECU_C_50と称する。ここでは、ECU_A_50、ECU_B_50、及びECU_C_50を例に挙げて説明する。
【0033】
初期鍵書込み装置301は、ECU接続インタフェースにより、同時に、ECU_A_50、ECU_B_50、及びECU_C_50を接続する。
【0034】
(ステップS1)ECU_A_50、ECU_B_50、及びECU_C_50の各々は、自己のECU識別子を初期鍵書込み装置301へ送信する。具体的には、ECU_A_50は、ECU識別子ECU_ID_Aを初期鍵書込み装置301へ送信する。ECU_B_50は、ECU識別子ECU_ID_Bを初期鍵書込み装置301へ送信する。ECU_C_50は、ECU識別子ECU_ID_Cを初期鍵書込み装置301へ送信する。
【0035】
ECU識別子として、例えば、ECU50を構成するハードウェアであるLSI等の半導体集積回路に製造時に埋め込まれた識別子を利用してもよい。例えば、ECU50のマイクロコンピュータのLSIに埋め込まれている識別子を、ECU識別子に利用してもよい。
【0036】
(ステップS2)初期鍵書込み装置301は、マスタ鍵MASTER_KEYとECU識別子を使用してECU初期鍵を生成する。具体的には、初期鍵書込み装置301は、マスタ鍵MASTER_KEYとECU_A_50のECU識別子ECU_ID_Aを使用して、ECU_A_50のECU初期鍵Key_Aを生成する。初期鍵書込み装置301は、マスタ鍵MASTER_KEYとECU_B_50のECU識別子ECU_ID_Bを使用して、ECU_B_50のECU初期鍵Key_Bを生成する。初期鍵書込み装置301は、マスタ鍵MASTER_KEYとECU_C_50のECU識別子ECU_ID_Cを使用して、ECU_C_50のECU初期鍵Key_Cを生成する。
【0037】
ECU初期鍵の生成方法の例1、例2を説明する。
【0038】
(ECU初期鍵の生成方法の例1)
ECU初期鍵の生成方法の例1では、ハッシュ(hash)関数を利用する。例えば、マスタ鍵MASTER_KEYとECU識別子の連結データを入力値に使用してハッシュ値を算出し、算出したハッシュ値をECU初期鍵に使用してもよい。
【0039】
(ECU初期鍵の生成方法の例2)
ECU初期鍵の生成方法の例2では、排他的論理和演算を利用する。例えば、マスタ鍵MASTER_KEYとECU識別子の排他的論理和演算を実行し、演算結果の値「マスタ鍵MASTER_KEY xor ECU識別子」をECU初期鍵に使用してもよい。但し、「A xor B」はAとBの排他的論理和である。
【0040】
(ステップS3)初期鍵書込み装置301は、生成したECU初期鍵を対応するECU50に書込む。具体的には、初期鍵書込み装置301は、ECU初期鍵Key_AをECU_A_50に書込む。初期鍵書込み装置301は、ECU初期鍵Key_BをECU_B_50に書込む。初期鍵書込み装置301は、ECU初期鍵Key_CをECU_C_50に書込む。
【0041】
ECU初期鍵が書き込まれた後に、ECU_A_50、ECU_B_50、及びECU_C_50は自動車1に搭載される。
【0042】
[管理装置のECU初期鍵の共有段階]
図5を参照して、管理装置10のECU初期鍵の共有段階を説明する。
図5は、第1実施形態に係る管理方法の説明図である。
図5において、自動車1には、上記の
図4に示す初期鍵書込み装置301によってECU初期鍵が書き込まれたECU_A_50、ECU_B_50、及びECU_C_50が搭載されている。ECU_A_50は、ECU識別子ECU_ID_A及びECU初期鍵Key_Aを有する。ECU_B_50は、ECU識別子ECU_ID_B及びECU初期鍵Key_Bを有する。ECU_C_50は、ECU識別子ECU_ID_C及びECU初期鍵Key_Cを有する。自動車1に搭載された管理装置10のセキュアエレメント20の鍵記憶部22は、マスタ鍵MASTER_KEYを記憶している。このマスタ鍵MASTER_KEYは、初期鍵書込み装置301が有するマスタ鍵MASTER_KEYと同じである。
【0043】
(ステップS101)ECU_A_50、ECU_B_50、及びECU_C_50の各々は、自動車1に搭載されてから初めて電源投入された時に、制御用車載ネットワーク40を介して、自己のECU識別子を管理装置10へ送信する。具体的には、ECU_A_50は、ECU識別子ECU_ID_Aを管理装置10へ送信する。ECU_B_50は、ECU識別子ECU_ID_Bを管理装置10へ送信する。ECU_C_50は、ECU識別子ECU_ID_Cを管理装置10へ送信する。
【0044】
管理装置10は、制御用車載ネットワーク40を介して、ECU_A_50、ECU_B_50、及びECU_C_50から各ECU識別子ECU_ID_A、ECU_ID_B、及びECU_ID_Cを受信する。管理装置10において、該受信したECU識別子ECU_ID_A、ECU_ID_B、及びECU_ID_Cは、セキュアエレメント20へ渡される。
【0045】
(ステップS102)管理装置10のセキュアエレメント20において、鍵生成部21は、鍵記憶部22からマスタ鍵MASTER_KEYを取得し、取得したマスタ鍵MASTER_KEYとECU識別子を使用してECU初期鍵を生成する。具体的には、鍵生成部21は、マスタ鍵MASTER_KEYとECU_A_50のECU識別子ECU_ID_Aを使用して、ECU_A_50のECU初期鍵Key_Aを生成する。鍵生成部21は、マスタ鍵MASTER_KEYとECU_B_50のECU識別子ECU_ID_Bを使用して、ECU_B_50のECU初期鍵Key_Bを生成する。鍵生成部21は、マスタ鍵MASTER_KEYとECU_C_50のECU識別子ECU_ID_Cを使用して、ECU_C_50のECU初期鍵Key_Cを生成する。鍵生成部21のECU初期鍵生成方法は、上記の
図4に示す初期鍵書込み装置301のECU初期鍵生成方法と同じである。
【0046】
管理装置10のセキュアエレメント20において、鍵記憶部22は、鍵生成部21が生成したECU初期鍵をECU識別子に関連付けてECU初期鍵記憶部32に記憶する。具体的には、鍵記憶部22は、ECU_A_50のECU識別子ECU_ID_Aに関連付けて、ECU_A_50のECU初期鍵Key_AをECU初期鍵記憶部32に記憶する。鍵記憶部22は、ECU_B_50のECU識別子ECU_ID_Bに関連付けて、ECU_B_50のECU初期鍵Key_BをECU初期鍵記憶部32に記憶する。鍵記憶部22は、ECU_C_50のECU識別子ECU_ID_Cに関連付けて、ECU_C_50のECU初期鍵Key_CをECU初期鍵記憶部32に記憶する。これにより、管理装置10のセキュアエレメント20は、ECU_A_50、ECU_B_50、及びECU_C_50の各々と、各ECU初期鍵Key_A、Key_B、及びKey_Cを共有する。
【0047】
上述の第1実施形態によれば、ECU50のECU識別子とマスタ鍵MASTER_KEYを使用して当該ECU50のECU初期鍵を生成する。これにより、各ECU50に異なるECU初期鍵を設定することができる。このため、もしあるECU50のECU初期鍵が漏洩したとしても、他のECU50に影響が及ぶことを防止できる。
【0048】
また、自動車1に搭載されたECU50から該自動車1に搭載された管理装置10へECU識別子を送信し、管理装置10が自己で有するマスタ鍵MASTER_KEYとECU50から受信したECU識別子を使用して当該ECU50のECU初期鍵を生成する。これにより、管理装置10は、ECU50毎に異なるECU初期鍵を各ECU50と共有することができる。管理装置10とECU50で共有されたECU初期鍵は、当該管理装置10と当該ECU50の間で、例えば、各種の鍵の交換における暗号化及び復号、データの交換における暗号化及び復号、通信相手の認証処理などに使用されてもよい。
【0049】
なお、複数のマスタ鍵MASTER_KEYが存在してもよい。例えば、ECU50の製造会社が複数存在する場合、各製造会社が異なるマスタ鍵MASTER_KEYを有する。この場合について説明する。
図4に示す初期鍵書込み装置301は、自製造会社のマスタ鍵MASTER_KEYを有する。これにより、初期鍵書込み装置301によってECU50に書込まれるECU初期鍵は、当該ECU50の製造会社のマスタ鍵MASTER_KEYと当該ECU50のECU識別子を使用して生成される。また、自動車1に搭載された管理装置10のセキュアエレメント20の鍵記憶部22は、各製造会社のマスタ鍵MASTER_KEYを記憶している。管理装置10のセキュアエレメント20において、鍵生成部21は、ECU50から受信したECU識別子に対応する製造会社のマスタ鍵MASTER_KEYを鍵記憶部22から取得する。ECU50のECU識別子は、当該ECU50の製造会社を識別できる構成である。例えば、ECU50のECU識別子は、当該ECU50の製造会社の識別子を含む。鍵生成部21は、ECU50から受信したECU識別子に対応する製造会社のマスタ鍵MASTER_KEYと、該ECU識別子を使用してECU初期鍵を生成する。鍵生成部21によって生成されたECU初期鍵は、該ECU識別子に関連付けてECU初期鍵記憶部32に記憶される。
【0050】
また、自動車1に搭載されるECU50を管理装置10として機能させてもよい。管理装置10として機能させるECU50はセキュアエレメント20を備える。
【0051】
[第2実施形態]
図6は、第2実施形態に係る管理システムを示す構成図である。
図6において
図1の各部に対応する部分には同一の符号を付け、その説明を省略する。
図6において、管理システムは、管理装置10aと管理サーバ装置80を備える。管理装置10aは自動車1に備わる。管理装置10aは、無線通信回線3により無線通信ネットワーク2に接続する。管理サーバ装置80は、無線通信ネットワーク2の通信事業者の通信回線4により無線通信ネットワーク2に接続する。管理サーバ装置80は、例えば無線通信ネットワーク2の通信事業者によって設けられる。管理装置10aと管理サーバ装置80は、無線通信ネットワーク2を介して通信する。
【0052】
無線通信ネットワーク2を利用するためには、無線通信ネットワーク2の契約者情報が書き込まれたSIM(Subscriber Identity Module)又はeSIM(Embedded Subscriber Identity Module)が必要である。管理装置10aは、SIM_20aを備える。SIM_20aは、無線通信ネットワーク2の契約者情報が書き込まれたSIMである。よって、管理装置10aは、SIM_20aを使用することにより無線通信ネットワーク2を利用できる。管理装置10aは、SIM_20aを使用して確立される無線通信回線3により無線通信ネットワーク2に接続する。SIM_20aはセキュアエレメントである。
【0053】
なお、管理装置10aと管理サーバ装置80の間に無線通信ネットワーク2を介した専用線を確立し、管理装置10aと管理サーバ装置80とが専用線を介してデータを送受するようにしてもよい。
【0054】
自動車1において、管理装置10aは制御用車載ネットワーク40に接続される。本実施形態では、制御用車載ネットワーク40はCANである。制御用車載ネットワーク40には、各種のECU50が接続される。管理装置10aは、制御用車載ネットワーク40を介して、各ECU50との間でデータを交換する。
【0055】
図7は、第2実施形態に係る管理装置10aを示す構成図である。
図7において
図2の各部に対応する部分には同一の符号を付け、その説明を省略する。
図7において、管理装置10aは、制御部11とCANインタフェース12と無線通信部13とSIM_20aを備える。これら各部はデータを交換できるように構成される。SIM_20aは、鍵生成部21と鍵記憶部22と検証部23と暗号処理部24を備える。
【0056】
SIM_20aは、セキュアエレメントであり、耐タンパー性を有する。なお、セキュアエレメントとして、SIM_20aの代わりにeSIMを利用してもよい。SIM及びeSIMは、コンピュータの一種であり、コンピュータプログラムによって所望の機能を実現する。
【0057】
無線通信部13は無線通信によりデータを送受する。SIM_20aは、無線通信ネットワーク2の契約者情報が書き込まれたSIMである。よって、無線通信部13は、SIM_20aを使用することにより、無線通信回線3を介して無線通信ネットワーク2に接続する。
【0058】
第2実施形態においては、管理装置10aはマスタ鍵MASTER_KEYを有さない。このため、
図7に示す管理装置10aにおいてSIM_20aの鍵記憶部22は、上記の
図3に示す鍵記憶部22の構成のうちECU初期鍵記憶部32のみを有する。したがって、
図7に示す管理装置10aにおいてSIM_20aの鍵記憶部22は、マスタ鍵記憶部31を有さない。ECU初期鍵記憶部32は、ECU識別子に関連付けてECU初期鍵を記憶する。
【0059】
図8は、第2実施形態に係る管理サーバ装置80を示す構成図である。
図8において、管理サーバ装置80は、通信部81と記憶部82と管理部83と鍵生成部84を備える。これら各部はデータを交換できるように構成される。通信部81は、通信回線4を介してデータを送受する。通信部81は、通信回線4を介して無線通信ネットワーク2に接続する。通信部81は、無線通信ネットワーク2を介して、管理装置10aと通信する。記憶部82はマスタ鍵MASTER_KEY等のデータを記憶する。管理部83は、自動車1に関する管理を行う。鍵生成部84は鍵を生成する。
【0060】
以下、第2実施形態に係るECU初期鍵の管理方法を説明する。
【0061】
[ECUへのECU初期鍵の書込み段階]
ECU50へのECU初期鍵の書込み段階は、上記の
図4を参照して説明された第1実施形態と同様である。但し、第2実施形態では、管理サーバ装置80の記憶部82が、初期鍵書込み装置301で保持されるものと同じマスタ鍵MASTER_KEYを記憶している。自動車1に搭載される管理装置10aはマスタ鍵MASTER_KEYを有さない。
【0062】
[管理装置のECU初期鍵の共有段階]
図9を参照して、管理装置10aのECU初期鍵の共有段階を説明する。
図9は、第2実施形態に係る管理方法の説明図である。
図9において、自動車1には、上記の
図4に示す初期鍵書込み装置301によってECU初期鍵が書き込まれたECU_A_50、ECU_B_50、及びECU_C_50が搭載されている。ECU_A_50は、ECU識別子ECU_ID_A及びECU初期鍵Key_Aを有する。ECU_B_50は、ECU識別子ECU_ID_B及びECU初期鍵Key_Bを有する。ECU_C_50は、ECU識別子ECU_ID_C及びECU初期鍵Key_Cを有する。自動車1には管理装置10aが搭載されている。管理サーバ装置80は、マスタ鍵MASTER_KEYを記憶している。このマスタ鍵MASTER_KEYは、初期鍵書込み装置301が有するマスタ鍵MASTER_KEYと同じである。
【0063】
(ステップS201)ECU_A_50、ECU_B_50、及びECU_C_50の各々は、自動車1に搭載されてから初めて電源投入された時に、自己のECU識別子を、管理装置10aを介して管理サーバ装置80へ送信する。具体的には、ECU_A_50は、制御用車載ネットワーク40を介して、ECU識別子ECU_ID_Aを管理装置10aへ送信する。管理装置10aは、ECU_A_50から制御用車載ネットワーク40を介して受信したECU識別子ECU_ID_Aを、無線通信ネットワーク2を介して、管理サーバ装置80へ送信する。ECU_B_50についても同様にして、管理装置10aを介してECU識別子ECU_ID_Bが管理サーバ装置80へ送信される。ECU_C_50についても同様にして、管理装置10aを介してECU識別子ECU_ID_Cが管理サーバ装置80へ送信される。
【0064】
管理サーバ装置80は、自動車1の管理装置10aから、無線通信ネットワーク2を介して、ECU_A_50、ECU_B_50、及びECU_C_50の各ECU識別子ECU_ID_A、ECU_ID_B、及びECU_ID_Cを受信する。
【0065】
(ステップS202)管理サーバ装置80の鍵生成部84は、自動車1の管理装置10aから受信したECU識別子と記憶部82に記憶されるマスタ鍵MASTER_KEYを使用してECU初期鍵を生成する。具体的には、鍵生成部84は、マスタ鍵MASTER_KEYとECU_A_50のECU識別子ECU_ID_Aを使用して、ECU_A_50のECU初期鍵Key_Aを生成する。鍵生成部84は、マスタ鍵MASTER_KEYとECU_B_50のECU識別子ECU_ID_Bを使用して、ECU_B_50のECU初期鍵Key_Bを生成する。鍵生成部84は、マスタ鍵MASTER_KEYとECU_C_50のECU識別子ECU_ID_Cを使用して、ECU_C_50のECU初期鍵Key_Cを生成する。鍵生成部84のECU初期鍵生成方法は、上記の
図4に示す初期鍵書込み装置301のECU初期鍵生成方法と同じである。
【0066】
(ステップS203)管理サーバ装置80は、マスタ鍵MASTER_KEYとECU識別子を使用して生成したECU初期鍵を、当該ECU識別子と共に、無線通信ネットワーク2を介して、自動車1の管理装置10aへ送信する。具体的には、管理サーバ装置80は、ECU識別子ECU_ID_AとECU初期鍵Key_Aの組を、無線通信ネットワーク2を介して、自動車1の管理装置10aへ送信する。管理サーバ装置80は、ECU識別子ECU_ID_BとECU初期鍵Key_Bの組を、無線通信ネットワーク2を介して、自動車1の管理装置10aへ送信する。管理サーバ装置80は、ECU識別子ECU_ID_CとECU初期鍵Key_Cの組を、無線通信ネットワーク2を介して、自動車1の管理装置10aへ送信する。
【0067】
自動車1の管理装置10aは、管理サーバ装置80から、無線通信ネットワーク2を介して、ECU識別子ECU_ID_AとECU初期鍵Key_Aの組、ECU識別子ECU_ID_BとECU初期鍵Key_Bの組、及びECU識別子ECU_ID_CとECU初期鍵Key_Cの組を受信する。
【0068】
(ステップS204)管理装置10aのSIM_20aにおいて、鍵記憶部22は、管理サーバ装置80から受信したECU識別子とECU初期鍵の組をECU初期鍵記憶部32に記憶する。具体的には、鍵記憶部22は、管理サーバ装置80から受信したECU_A_50のECU識別子ECU_ID_Aに関連付けて、当該ECU識別子ECU_ID_Aの組で管理サーバ装置80から受信したECU初期鍵Key_AをECU初期鍵記憶部32に記憶する。管理サーバ装置80から受信したECU_B_50のECU識別子ECU_ID_Bに関連付けて、当該ECU識別子ECU_ID_Bの組で管理サーバ装置80から受信したECU初期鍵Key_BをECU初期鍵記憶部32に記憶する。管理サーバ装置80から受信したECU_C_50のECU識別子ECU_ID_Aに関連付けて、当該ECU識別子ECU_ID_Cの組で管理サーバ装置80から受信したECU初期鍵Key_CをECU初期鍵記憶部32に記憶する。これにより、管理装置10aのSIM_20aは、ECU_A_50、ECU_B_50、及びECU_C_50の各々と、各ECU初期鍵Key_A、Key_B、及びKey_Cを共有する。
【0069】
上述の第2実施形態によれば、ECU50のECU識別子とマスタ鍵MASTER_KEYを使用して当該ECU50のECU初期鍵を生成する。これにより、各ECU50に異なるECU初期鍵を設定することができる。このため、もしあるECU50のECU初期鍵が漏洩したとしても、他のECU50に影響が及ぶことを防止できる。
【0070】
また、自動車1に搭載されたECU50のECU識別子を自動車1に搭載された管理装置10aから管理サーバ装置80へ送信し、管理サーバ装置80が、自己で有するマスタ鍵MASTER_KEYと管理装置10aから受信したECU識別子を使用してECU初期鍵を生成し、生成したECU初期鍵を管理装置10aへ送信する。これにより、管理装置10aは、ECU50毎に異なるECU初期鍵を各ECU50と共有することができる。管理装置10aとECU50で共有されたECU初期鍵は、当該管理装置10aと当該ECU50の間で、例えば、各種の鍵の交換における暗号化及び復号、データの交換における暗号化及び復号、通信相手の認証処理などに使用されてもよい。
【0071】
なお、複数のマスタ鍵MASTER_KEYが存在してもよい。例えば、ECU50の製造会社が複数存在する場合、各製造会社が異なるマスタ鍵MASTER_KEYを有する。この場合について説明する。
図4に示す初期鍵書込み装置301は、自製造会社のマスタ鍵MASTER_KEYを有する。これにより、初期鍵書込み装置301によってECU50に書込まれるECU初期鍵は、当該ECU50の製造会社のマスタ鍵MASTER_KEYと当該ECU50のECU識別子を使用して生成される。また、管理サーバ装置80は、各製造会社のマスタ鍵MASTER_KEYを記憶している。管理サーバ装置80は、自動車1の管理装置10aから受信したECU識別子に対応する製造会社のマスタ鍵MASTER_KEYと該ECU識別子を使用してECU初期鍵を生成する。ECU50のECU識別子は、当該ECU50の製造会社を識別できる構成である。例えば、ECU50のECU識別子は、当該ECU50の製造会社の識別子を含む。管理サーバ装置80によって生成されたECU初期鍵は、該ECU識別子に関連付けて管理装置10aへ送信される。管理装置10aのSIM_20aにおいて、鍵記憶部22は、管理サーバ装置80から受信したECU識別子とECU初期鍵の組をECU初期鍵記憶部32に記憶する。
【0072】
また、自動車1に搭載されるECU50を管理装置10aとして機能させてもよい。管理装置10aとして機能させるECU50は無線通信部13とSIM_20aを備える。
【0073】
上述の第2実施形態では、管理装置のECU初期鍵の共有段階において、自動車1と管理サーバ装置80が無線により通信を行う。一方、上述の第1実施形態では、管理装置のECU初期鍵の共有段階は自動車1の内部に閉じて行われる。このため、上述の第1実施形態によれば、無線通信ができない環境においても適用可能である。
【0074】
[第3実施形態]
図10は、第3実施形態に係る自動車1を示す構成図である。
図10において、
図1の各部に対応する部分には同一の符号を付け、その説明を省略する。
図10に示される自動車1は、
図1に示す自動車1に対して、さらに、ゲートウェイ100とインフォテイメント(Infotainment)機器110と通信装置120を備える。通信装置120は、SIM_121を備える。SIM_121は、無線通信ネットワーク2の契約者情報が書き込まれたSIMである。よって、通信装置120は、SIM_121を使用することにより無線通信ネットワーク2を利用できる。通信装置120は、SIM_121を使用して確立される無線通信回線161により無線通信ネットワーク2に接続する。無線通信ネットワーク2は通信回線162を介してインターネット150と接続する。インターネット150には通信回線163を介してサーバ装置140が接続される。通信装置120は、無線通信ネットワーク2を介して、インターネット150に接続されるサーバ装置140と通信する。
【0075】
自動車1のインフォテイメント機器110は、通信装置120を介して、サーバ装置140とデータを送受する。インフォテイメント機器110は、外部機器130と接続して、外部機器130とデータを交換する。外部機器130として、例えば、携帯通信端末やオーディオビジュアル機器などが挙げられる。
【0076】
自動車1において、ゲートウェイ100は、制御用車載ネットワーク40に接続される。インフォテイメント機器110は、ゲートウェイ100を介して、制御用車載ネットワーク40に接続されるECU50や管理装置10とデータを送受する。ゲートウェイ100は、インフォテイメント機器110とECU50の間のデータの送受、及び、インフォテイメント機器110と管理装置10の間のデータの送受、を監視する。
【0077】
なお、自動車1に搭載されるECU50を管理装置10として機能させてもよい。管理装置10として機能させるECU50はセキュアエレメント20を備える。
【0078】
[第4実施形態]
第4実施形態は、上述の第2実施形態と第3実施形態の組合せ例である。
図11は、第4実施形態に係る管理システムを示す構成図である。
図11において、
図6及び
図10の各部に対応する部分には同一の符号を付け、その説明を省略する。
【0079】
図11において、通信装置120は、無線通信回線161により無線通信ネットワーク2に接続する。通信装置120は、無線通信ネットワーク2を介して、管理サーバ装置80と通信する。管理装置10aは、ゲートウェイ100を介して、通信装置120とデータを送受する。管理装置10aは、通信装置120を介して、管理サーバ装置80とデータを送受する。ゲートウェイ100は、通信装置120と管理装置10aの間のデータの送受を監視する。
【0080】
第4実施形態では、管理装置10aは、通信装置120により管理サーバ装置80と通信を行う。このため、
図11に示す管理装置10aは、上記の
図7に示す無線通信部13を備えなくてもよい。
図11に示す管理装置10aにおいて、無線通信部13を備えない場合には、セキュアエレメント20aはSIMでなくてもよい。
図11に示すセキュアエレメント20aは、上記の
図7に示すSIM_20aの各部21〜24を備える。
【0081】
なお、自動車1に搭載されるECU50を管理装置10aとして機能させてもよい。管理装置10aとして機能させるECU50はセキュアエレメント20aを備える。
【0082】
上述の第4実施形態では、管理装置のECU初期鍵の共有段階において、自動車1と管理サーバ装置80が無線により通信を行う。一方、上述の第3実施形態では、管理装置のECU初期鍵の共有段階は自動車1の内部に閉じて行われる。このため、上述の第3実施形態によれば、無線通信ができない環境においても適用可能である。
【0083】
[第5実施形態]
図12は、第5実施形態に係る管理方法の説明図である。マスタ鍵MASTER_KEYは、複数の装置間で共有される。例えば、上述の第1実施形態では、マスタ鍵MASTER_KEYは、初期鍵書込み装置301と自動車1の管理装置10の間で共有される。また、上述の第2実施形態では、マスタ鍵MASTER_KEYは、初期鍵書込み装置301と管理サーバ装置80の間で共有される。第5実施形態では、複数の装置間で安全にマスタ鍵MASTER_KEYを共有することを図る。
【0084】
マスタ鍵MASTER_KEYは複数の要素から生成される。
図12の例では、マスタ鍵MASTER_KEYは、3個の要素Key_x、Key_y、及びKey_zの排他的論理和「Key_x xor Key_y xor Key_z」である。
【0085】
図12には、初期鍵書込み装置301にマスタ鍵MASTER_KEYを書込む場合を例示している。以下、
図12を参照して第5実施形態の管理方法を説明する。
【0086】
(ステップS301)マスタ鍵MASTER_KEYの3個の要素Key_x、Key_y、及びKey_zを、配送元からそれぞれ別々の配送経路で、配送先の初期鍵書込み装置301の管理者宛てに配送する。例えば、要素Key_xは郵便で送り、要素Key_yは郵便とは異なる配送業者を利用して配送し、要素Key_zは配送元の担当者自身が配送先へ持参する。
【0087】
(ステップS302)初期鍵書込み装置301の管理者は、別々の配送経路で受け取った3個の要素Key_x、Key_y、及びKey_zを、初期鍵書込み装置301に別々に入力する。
【0088】
(ステップS303)初期鍵書込み装置301は、別々に入力された3個の要素Key_x、Key_y、及びKey_zを使用して排他的論理和演算を実行する。初期鍵書込み装置301は、該演算結果の排他的論理和「Key_x xor Key_y xor Key_z」をマスタ鍵MASTER_KEYに使用する。
【0089】
マスタ鍵MASTER_KEYの共有先の各装置に対して、上記の
図12の手順によりマスタ鍵MASTER_KEYが共有される。これにより、複数の装置間で安全にマスタ鍵MASTER_KEYを共有することができる。
【0090】
なお、もしマスタ鍵MASTER_KEYが漏洩した場合には、各装置で保持されるマスタ鍵MASTER_KEYを書き換えることによって安全性を保つようにする。上述の第1実施形態の場合、
図1に示す自動車1に搭載された管理装置10のセキュアエレメント20で保持されるマスタ鍵MASTER_KEYの書き換えは、例えば管理装置10の交換により行う。上述の第3実施形態の場合、
図10に示す自動車1に搭載された管理装置10のセキュアエレメント20で保持されるマスタ鍵MASTER_KEYの書き換えは、例えば、通信装置120により無線通信ネットワーク2を介して行う。上述の第2実施形態及び第4実施形態の場合、
図6及び
図11に示す管理サーバ装置80で保持されるマスタ鍵MASTER_KEYの書き換えは、上記の
図12の手順により行う。
【0091】
また、もしマスタ鍵MASTER_KEYが漏洩した場合には、各装置で保持されるマスタ鍵MASTER_KEYを書き換えることに加えて、さらにECU初期鍵を更新することが好ましい。このECU初期鍵の更新方法を以下に説明する。
【0092】
上述の第1実施形態及び第3実施形態の場合、
図1及び
図10に示す自動車1に搭載された管理装置10のセキュアエレメント20の鍵生成部21が、新しいマスタ鍵MASTER_KEYとECU50のECU識別子を使用して該ECU50の新しいECU初期鍵を生成する。新しいECU初期鍵は、鍵交換鍵で暗号化されてから、管理装置10からECU50へ安全に渡される。鍵交換鍵は、管理装置10が認証済みのECU50に対して鍵の交換用に渡した鍵である。ECU50は、管理装置10から受信した暗号化された新しいECU初期鍵を鍵交換鍵で復号し、自己で保持するECU初期鍵を復号結果の新しいECU初期鍵に更新する。
【0093】
なお、未認証のECU50については、回収し、初期鍵書込み装置301によりECU初期鍵の更新を行う。未認証のECU50としては、例えば、未だ自動車1に搭載されていないECU50が挙げられる。初期鍵書込み装置301は、新しいマスタ鍵MASTER_KEYと回収されたECU50のECU識別子を使用して該ECU50の新しいECU初期鍵を生成する。初期鍵書込み装置301は、生成した新しいECU初期鍵を該ECU50に書き込んで、該ECU50に保持されるECU初期鍵を新しいECU初期鍵に更新する。
【0094】
上述の第2実施形態及び第4実施形態の場合、
図6及び
図11に示す管理サーバ装置80が、新しいマスタ鍵MASTER_KEYとECU50のECU識別子を使用して該ECU50の新しいECU初期鍵を生成する。ECU50の新しいECU初期鍵は、該ECU50のECU識別子と共に、無線通信ネットワーク2を介して、管理サーバ装置80から管理装置10aへ送信される。管理装置10aは、管理サーバ装置80から受信したECU識別子と新しいECU初期鍵の組を保持する。また、管理装置10aは、管理サーバ装置80から受信したECU識別子のECU50へ、該ECU識別子と共に管理サーバ装置80から受信した新しいECU初期鍵を鍵交換鍵で暗号化して送信する。鍵交換鍵は、管理装置10aが認証済みのECU50に対して鍵の交換用に渡した鍵である。ECU50は、管理装置10aから受信した暗号化された新しいECU初期鍵を鍵交換鍵で復号し、自己で保持するECU初期鍵を復号結果の新しいECU初期鍵に更新する。なお、未認証のECU50については、上述のように、回収し、初期鍵書込み装置301によりECU初期鍵の更新を行う。
【0095】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【0096】
例えば、上述の実施形態では、セキュアエレメントとして、SIM又はeSIMを使用する例を挙げたが、これに限定されない。セキュアエレメントとして、例えば、耐タンパー性のある暗号処理チップを使用してもよい。耐タンパー性のある暗号処理チップとして、例えば、HSM(Hardware Security Module)、TPM(Trusted Platform Module)、又はSHE(Secure Hardware Extension)などと呼ばれる暗号処理チップが知られている。TPMについては、例えば非特許文献3に記載されている。例えば、管理装置10のセキュアエレメント20にHSM、TPM又はSHEを使用してもよい。又は、管理装置10のセキュアエレメント20にSIM又はeSIMを使用してもよい。又は、上述の第4実施形態の
図11に示す管理装置10aのセキュアエレメント20aにHSM、TPM又はSHEを使用してもよい。
【0097】
本発明の他の実施形態を以下に説明する。
【0098】
[第6実施形態]
図13は、第6実施形態に係る自動車1001を示す図である。
図13おいて、自動車1001は、第1のECU1010と複数の第2のECU1020とを備える。第1のECU1010及び第2のECU1020は、自動車1001に備わる車載コンピュータである。第1のECU1010は、自動車1001に搭載されたECUのうち、ゲートウェイ機能を有するECUである。第2のECU1020は、自動車1001に搭載されたECUのうち、エンジン制御等の機能を有するECUである。第2のECU1020として、例えば、エンジン制御機能を有するECU、ハンドル制御機能を有するECU、ブレーキ制御機能を有するECUなどがある。
【0099】
第1のECU1010と複数の第2のECU1020は、自動車1001に備わるCAN(Controller Area Network)1030に接続される。CAN1030は通信ネットワークである。CANは車両に搭載される通信ネットワークの一つとして知られている。
【0100】
第1のECU1010は、CAN1030を介して、各第2のECU1020との間でデータを交換する。第2のECU1020は、CAN1030を介して、他の第2のECU1020との間でデータを交換する。
【0101】
なお、車両に搭載される通信ネットワークとして、CAN以外の通信ネットワークを自動車1001に備え、CAN以外の通信ネットワークを介して、第1のECU1010と第2のECU1020との間のデータの交換、及び、第2のECU1020同士の間のデータの交換が行われてもよい。例えば、LIN(Local Interconnect Network)を自動車1001に備えてもよい。また、CANとLINとを自動車1001に備えてもよい。また、自動車1001において、LINに接続する第2のECU1020を備えてもよい。また、第1のECU1010は、CANとLINとに接続されてもよい。また、第1のECU1010は、CANを介して該CANに接続される第2のECU1020との間でデータを交換し、また、LINを介して該LINに接続される第2のECU1020との間でデータを交換してもよい。また、第2のECU1020同士が、LINを介してデータを交換してもよい。
【0102】
自動車1001は診断ポート1060を備える。診断ポート1060として、例えばOBDポートを使用してもよい。診断ポート1060には診断端末1065を接続可能である。診断ポート1060は第1のECU1010に接続される。第1のECU1010と診断ポート1060に接続された診断端末1065とは、診断ポート1060を介して、データを交換する。
【0103】
自動車1001はインフォテイメント(Infotainment)機器1040を備える。インフォテイメント機器1040として、例えば、ナビゲーション機能、位置情報サービス機能、音楽や動画などのマルチメディア再生機能、音声通信機能、データ通信機能、インターネット接続機能などを有するものが挙げられる。インフォテイメント機器1040は第1のECU1010に接続される。第1のECU1010は、インフォテイメント機器1040から入力された情報を第2のECU1020へ送信する。
【0104】
自動車1001は、TCU(Tele Communication Unit)1050を備える。TCU1050は通信装置である。TCU1050は通信モジュール1051を備える。通信モジュール1051は、無線通信ネットワークを利用して無線通信を行う。通信モジュール1051は、SIM(Subscriber Identity Module)1052を備える。SIM1052は、無線通信ネットワークを利用するための情報が書き込まれたSIMである。通信モジュール1051は、SIM1052を使用することにより該無線通信ネットワークに接続して無線通信を行うことができる。
【0105】
SIM1052は、鍵を記憶する鍵記憶部1053を備える。なお、SIM1052として、eSIM(Embedded Subscriber Identity Module)を使用してもよい。SIM及びeSIMは耐タンパー性(Tamper Resistant)を有する。SIM及びeSIMはセキュアエレメントの例である。セキュアエレメントは耐タンパー性を有する。SIM及びeSIMは、コンピュータの一種であり、コンピュータプログラムによって所望の機能を実現する。
【0106】
TCU1050は第1のECU1010に接続される。第1のECU1010は、TCU1050の通信モジュール1051とデータを交換する。
【0107】
なお、
図13の構成では第1のECU1010とTCU1050を直接接続することにより第1のECU1010と通信モジュール1051の間でデータを交換するが、これに限定されない。例えば、TCU1050をインフォテイメント機器1040に接続し、第1のECU1010が、インフォテイメント機器1040を介して、TCU1050の通信モジュール1051とデータを交換してもよい。又は、診断端末1065の代わりにTCU1050を診断ポート1060に接続し、第1のECU1010が、診断ポート1060を介して、該診断ポート1060に接続されたTCU1050の通信モジュール1051とデータを交換してもよい。又は、第1のECU1010が、SIM1052を含む通信モジュール1051を備えてもよい。第1のECU1010がSIM1052を含む通信モジュール1051を備える場合には、自動車1001はTCU1050を備えなくてもよい。
【0108】
第1のECU1010は、メイン演算器1011とHSM(Hardware Security Module)1012を備える。メイン演算器1011は、第1のECU1010の機能を実現させるためのコンピュータプログラムを実行する。HSM1012は暗号処理機能を有する。HSM1012は耐タンパー性を有する。HSM1012は、鍵を記憶する鍵記憶部1013を備える。メイン演算器1011はHSM1012を使用する。
【0109】
第2のECU1020は、メイン演算器1021とSHE(Secure Hardware Extension)1022を備える。メイン演算器1021は、第2のECU1020の機能を実現させるためのコンピュータプログラムを実行する。SHE1022は暗号処理機能を有する。SHE1022は耐タンパー性を有する。SHE1022は、鍵を記憶する鍵記憶部1023を備える。メイン演算器1021はSHE1022を使用する。
【0110】
自動車1001に備わる車載コンピュータシステム1002は、第1のECU1010と複数の第2のECU1020とがCAN1030に接続されて構成される。第1のECU1010は、ゲートウェイ機能を有し、車載コンピュータシステム1002の内部と外部の間の通信を監視する。なお、車載コンピュータシステム1002は、通信モジュール1051のSIM1052をさらに含んで構成されてもよい。
【0111】
次に、本実施形態に係る管理方法を説明する。
【0112】
[ECUへのECU初期鍵の書込み段階]
図14を参照して、本実施形態に係るECUへのECU初期鍵の書込み段階を説明する。
図14は、第6実施形態に係る管理方法の説明図である。第6実施形態では、ECU初期鍵の生成に複数のマスタ鍵を使用する。
【0113】
図14において、書込み装置301−1は、第1の製造工場内の部屋300−1の中に設置されている。書込み装置301−2は、第2の製造工場内の部屋300−2の中に設置されている。部屋300−1及び部屋300−2は、情報セキュリティが確保された部屋である。第1の製造工場は、例えば、ECU自体を製造するECUメーカの工場である。第2の製造工場は、例えば、ECUメーカから供給されるECUを自社ブランドECUとして自動車に使用するOEM(Original Equipment Manufacturing)供給先メーカの工場である。
【0114】
書込み装置301−1は、第1のマスタ鍵MASTER_KEY1を有する。第1のマスタ鍵MASTER_KEY1は、事前に、書込み装置301−1に設定される。書込み装置301−1に対する第1のマスタ鍵MASTER_KEY1の設定は、安全に実行される。書込み装置301−2は、第2のマスタ鍵MASTER_KEY2を有する。第2のマスタ鍵MASTER_KEY2は、事前に、書込み装置301−2に設定される。書込み装置301−2に対する第2のマスタ鍵MASTER_KEY2の設定は、安全に実行される。
【0115】
書込み装置301−1及び301−2は、ECUとの間でデータを交換するためのECU接続インタフェースを備える。書込み装置301−1及び301−2は、ECU接続インタフェースに接続されたECUとの間でデータを交換する。
【0116】
図14には、自動車1001に搭載されるECUとして、1個のECUが示される。該1個のECUをECU_Dと称する。ECU_Dは、第1のECU1010であってもよく、又は、第2のECU1020であってもよい。
【0117】
(ステップS501)第1の製造工場内の部屋300−1において、ECU_Dが書込み装置301−1に接続される。ECU_Dは、自己のECU識別子ECU_ID_Dを書込み装置301−1へ送信する。
【0118】
ECU識別子として、例えば、ECUを構成するハードウェアであるLSI等の半導体集積回路に製造時に埋め込まれた識別子を利用してもよい。例えば、ECUのマイクロコンピュータのLSIに埋め込まれている識別子を、ECU識別子に利用してもよい。
【0119】
(ステップS502)書込み装置301−1は、ECU識別子と第1のマスタ鍵MASTER_KEY1とを使用して第1の値を生成する。具体的には、書込み装置301−1は、ECU_DのECU識別子ECU_ID_Dと第1のマスタ鍵MASTER_KEY1とを使用して、ECU_Dの第1の値を生成する。第1の値として、ECU識別子と第1のマスタ鍵MASTER_KEY1についてのダイジェストを算出してもよい。ダイジェストの算出方法として、例えば、ハッシュ(hash)関数を利用してもよく、又は、排他的論理和演算を利用してもよい。ここでは、第1の値の算出方法として、ハッシュ関数を利用する。具体的には、書込み装置301−1は、ECU_DのECU識別子ECU_ID_Dと第1のマスタ鍵MASTER_KEY1とをハッシュ関数の入力値に使用してハッシュ値を算出し、算出したハッシュ値hash(ECU_ID_D,MASTER_KEY1)をECU_Dの第1の値とする。
【0120】
(ステップS503)書込み装置301−1は、生成した第1の値をECUに書込む。具体的には、書込み装置301−1は、第1の値hash(ECU_ID_D,MASTER_KEY1)をECU_Dに書込む。ECU_Dは、第1の値hash(ECU_ID_D,MASTER_KEY1)が書き込まれた後に、第2の製造工場へ運ばれる。
【0121】
(ステップS504)第2の製造工場内の部屋300−2において、ECU_Dが書込み装置301−2に接続される。ECU_Dは、自己の第1の値hash(ECU_ID_D,MASTER_KEY1)を書込み装置301−2へ送信する。
【0122】
(ステップS505)書込み装置301−2は、第1の値と第2のマスタ鍵MASTER_KEY2とを使用してECU初期鍵を生成する。具体的には、書込み装置301−2は、ECU_Dの第1の値hash(ECU_ID_D,MASTER_KEY1)と第2のマスタ鍵MASTER_KEY2とを使用して、ECU_DのECU初期鍵を生成する。ECU初期鍵として、第1の値と第2のマスタ鍵MASTER_KEY2についてのダイジェストを算出してもよい。ダイジェストの算出方法として、例えば、ハッシュ関数を利用してもよく、又は、排他的論理和演算を利用してもよい。ここでは、ECU初期鍵の算出方法として、ハッシュ関数を利用する。具体的には、書込み装置301−2は、ECU_Dの第1の値hash(ECU_ID_D,MASTER_KEY1)と第2のマスタ鍵MASTER_KEY2とをハッシュ関数の入力値に使用してハッシュ値を算出し、算出したハッシュ値hash(hash(ECU_ID_D,MASTER_KEY1),MASTER_KEY2)をECU_DのECU初期鍵Key_Dとする。
【0123】
(ステップS506)書込み装置301−2は、生成したECU初期鍵をECUに書込む。具体的には、書込み装置301−2は、ECU初期鍵Key_DをECU_Dに書込む。ECU_Dは、ECU初期鍵Key_Dが書き込まれた後に、自動車1001に搭載される。
【0124】
本実施形態によれば、ECUのECU識別子と複数のマスタ鍵とを使用して該ECUのECU初期鍵が生成される。これにより、ECU初期鍵の安全性が向上する。この効果について以下に説明する。
【0125】
例えば、ECU自体を製造するECUメーカが第1のマスタ鍵MASTER_KEY1を保管し、ECUメーカから供給されるECUを自社ブランドECUとして自動車に使用するOEM供給先メーカが第2のマスタ鍵MASTER_KEY2を保管する場合を考える。この場合において、ECUメーカとOEM供給先メーカとが、各々別個に、ECUのECU識別子と自己の1個のマスタ鍵とから該ECUのECU初期鍵を生成してECUに書込むとする。すると、1個のマスタ鍵が漏洩することにより該1個のマスタ鍵を使用するメーカでECUに書込まれたECU初期鍵が漏洩する可能性が生じる。この結果、ECUメーカの第1のマスタ鍵MASTER_KEY1が漏洩した場合には、ECUメーカでECU初期鍵が書き込まれたECUを使用する全てのOEM供給先メーカに対してECUの取り換え等の負担が生じる可能性がある。また、OEM供給先メーカの第2のマスタ鍵MASTER_KEY2が漏洩した場合には、OEM供給先メーカでECU初期鍵が書き込まれたECUが搭載された全車種に対してECUの取り換え等の負担が生じる可能性がある。
【0126】
これに対して本実施形態によれば、ECU初期鍵の生成に複数のマスタ鍵を使用するので、全てのマスタ鍵が漏洩しない限り、ECU初期鍵の漏洩を防止できる。ECUメーカが第1のマスタ鍵MASTER_KEY1を保管し、OEM供給先メーカが第2のマスタ鍵MASTER_KEY2を保管する場合において、該2個のマスタ鍵MASTER_KEY1及びMASTER_KEY2をECU初期鍵の生成に使用するときには、該2個のマスタ鍵MASTER_KEY1及びMASTER_KEY2のうち、たとえ1個のマスタ鍵が漏洩してもECU初期鍵の漏洩を防止できる。また、該2個のマスタ鍵MASTER_KEY1及びMASTER_KEY2のうち、いずれか一方のマスタ鍵の漏洩が判明した際には、もう一方のマスタ鍵が漏洩しないうちに漏洩したマスタ鍵を新しく更新することにより、ECU初期鍵の漏洩を未然に防止できる。また、該2個のマスタ鍵MASTER_KEY1及びMASTER_KEY2の両方が漏洩した場合、当該ECUメーカと当該OEM供給先メーカとの組合せが成立するECUのみにECU初期鍵の漏洩の影響を抑制できる。この結果、ECUメーカやOEM供給先メーカなどのECUの取り換え等の負担を軽減することができる。
【0127】
[ECU初期鍵の共有段階]
次に、本実施形態に係るECU初期鍵の共有段階について、ECU初期鍵の共有方法の例を挙げて説明する。
【0128】
[ECU初期鍵の共有方法の例1]
図15を参照してECU初期鍵の共有方法の例1を説明する。
図15は、第6実施形態に係るECU初期鍵の共有方法の例1のシーケンス図である。
図15において、自動車1001には、上記の
図14に示す書込み装置301−2によってECU初期鍵Key_Hが書き込まれた第1のECU1010と、該書込み装置301−2によってECU初期鍵Key_Sが書き込まれた第2のECU1020とが搭載されている。第1のECU1010は、ECU識別子ECU_ID_Hを有する。第1のECU1010において、HSM1012の鍵記憶部1013は、ECU初期鍵Key_Hを記憶している。第2のECU1020は、ECU識別子ECU_ID_Sを有する。第2のECU1020において、SHE1022の鍵記憶部1023は、ECU初期鍵Key_Sを記憶している。
【0129】
自動車1001において、TCU1050内の通信モジュール1051に備わるSIM1052の鍵記憶部1053は、第1のマスタ鍵MASTER_KEY1と第2のマスタ鍵MASTER_KEY2とを記憶している。SIM1052には、該SIM1052の製造時などに安全に、第1のマスタ鍵MASTER_KEY1と第2のマスタ鍵MASTER_KEY2とが格納される。SIM1052の鍵記憶部1053に記憶されている第1のマスタ鍵MASTER_KEY1は、上記の
図14に示す書込み装置301−1が有する第1のマスタ鍵MASTER_KEY1と同じである。SIM1052の鍵記憶部1053に記憶されている第2のマスタ鍵MASTER_KEY2は、上記の
図14に示す書込み装置301−2が有する第2のマスタ鍵MASTER_KEY2と同じである。つまり、SIM1052の鍵記憶部1053は、第1のECU1010のECU初期鍵Key_H及び第2のECU1020のECU初期鍵Key_Sの生成に使用されたものと同じ第1のマスタ鍵MASTER_KEY1と第2のマスタ鍵MASTER_KEY2とを記憶している。
【0130】
以下の説明では、第1のECU1010は、TCU1050内の通信モジュール1051のSIM1052とデータを交換する。
【0131】
(ステップS601)第1のECU1010は、自己のECU識別子ECU_ID_HをSIM1052へ供給する。この供給のタイミングは、例えば、第1のECU1010が自動車1001に搭載されてから初めて電源投入された時などである。
【0132】
(ステップS602)SIM1052は、第1のECU1010から供給されたECU識別子ECU_ID_Hと、鍵記憶部1053に記憶している第1のマスタ鍵MASTER_KEY1と第2のマスタ鍵MASTER_KEY2とを使用して、第1のECU1010のECU初期鍵Key_Hを生成する。このSIM1052によるECU初期鍵生成方法は、上記の
図14に示す書込み装置301−1及び301−2によるECU初期鍵生成方法と同じである。鍵記憶部1053は、該生成された第1のECU1010のECU初期鍵Key_Hを、該第1のECU1010のECU識別子ECU_ID_Hに関連付けて記憶する。これにより、SIM1052と第1のECU1010との間で同じECU初期鍵Key_Hが共有された。この共有されたECU初期鍵Key_Hは、例えば、SIM1052と第1のECU1010のHSM1012との間で交換されるデータの暗号化などに使用される。
【0133】
(ステップS603)第2のECU1020は、自己のECU識別子ECU_ID_Sを、第1のECU1010を介して、SIM1052へ供給する。この供給のタイミングは、例えば、第2のECU1020が自動車1001に搭載されてから初めて電源投入された時などである。
【0134】
(ステップS604)SIM1052は、第2のECU1020から供給されたECU識別子ECU_ID_Sと、鍵記憶部1053に記憶している第1のマスタ鍵MASTER_KEY1と第2のマスタ鍵MASTER_KEY2とを使用して、第2のECU1020のECU初期鍵Key_Sを生成する。このSIM1052によるECU初期鍵生成方法は、上記の
図14に示す書込み装置301−1及び301−2によるECU初期鍵生成方法と同じである。
【0135】
(ステップS605)SIM1052は、該生成したECU初期鍵Key_Sを、鍵記憶部1053に記憶している第1のECU1010のECU初期鍵Key_Hで暗号化し、暗号化データKey_H(Key_S)を生成する。SIM1052は、該暗号化データKey_H(Key_S)を第1のECU1010へ送信する。このとき、SIM1052は、暗号化データKey_H(Key_S)と第2のECU1020のECU識別子ECU_ID_Sの組を第1のECU1010へ送信してもよい。
【0136】
第1のECU1010は、SIM1052から受信した暗号化データKey_H(Key_S)をHSM1012へ供給する。HSM1012は、該暗号化データKey_H(Key_S)を、鍵記憶部1013に記憶しているECU初期鍵Key_Hで復号する。この復号の結果として第2のECU1020のECU初期鍵Key_Sが得られる。HSM1012の鍵記憶部1013は、該第2のECU1020のECU初期鍵Key_Sを、第2のECU1020のECU識別子ECU_ID_Sに関連付けて記憶する。これにより、第1のECU1010と第2のECU1020との間で同じECU初期鍵Key_Sが共有された。この共有されたECU初期鍵Key_Sは、例えば、第1のECU1010のHSM1012と第2のECU1020のSHE1022の間で交換されるデータの暗号化などに使用される。
【0137】
第1のECU1010において、第2のECU1020のECU初期鍵Key_Sに関連付ける第2のECU1020のECU識別子ECU_ID_Sは、ステップS603における第2のECU1020のECU識別子ECU_ID_Sの転送時に該ECU識別子ECU_ID_Sを記録しておいてもよく、又は、SIM1052から受信した暗号化データKey_H(Key_S)と第2のECU1020のECU識別子ECU_ID_Sの組に含まれるECU識別子ECU_ID_Sを使用してもよい。
【0138】
上述のECU初期鍵の共有方法の例1において、SIM1052は鍵生成装置の例である。また、SIM1052とHSM1012とは、鍵管理システムの例である。
【0139】
なお、上述のECU初期鍵の共有方法の例1では、SIM1052が第1のマスタ鍵MASTER_KEY1と第2のマスタ鍵MASTER_KEY2とを有し、該SIM1052が該第1のマスタ鍵MASTER_KEY1と第2のマスタ鍵MASTER_KEY2とを使用してECU初期鍵を生成したが、これに限定されない。第1のECU1010のHSM1012の鍵記憶部1013が第1のマスタ鍵MASTER_KEY1と第2のマスタ鍵MASTER_KEY2とを記憶し、該HSM1012が該第1のマスタ鍵MASTER_KEY1と第2のマスタ鍵MASTER_KEY2とを使用してECU初期鍵を生成してもよい。この場合、HSM1012は鍵生成装置の例である。また、HSM1012は鍵管理システムの例である。
【0140】
[ECU初期鍵の共有方法の例2]
図16を参照してECU初期鍵の共有方法の例2を説明する。
図16は、第6実施形態に係るECU初期鍵の共有方法の例2のシーケンス図である。
【0141】
上述のECU初期鍵の共有方法の例1では、第1のマスタ鍵MASTER_KEY1と第2のマスタ鍵MASTER_KEY2とを同じSIM1052(セキュアエレメント)で保管した。本ECU初期鍵の共有方法の例2では、第1のマスタ鍵MASTER_KEY1と第2のマスタ鍵MASTER_KEY2とを、別々に、異なる仕様のセキュアエレメントで保管する。具体的には、
図16において、第1のECU1010のHSM1012が鍵記憶部1013に第1のマスタ鍵MASTER_KEY1を記憶しており、通信モジュール1051のSIM1052が鍵記憶部1053に第2のマスタ鍵MASTER_KEY2を記憶している。HSM1012には、該HSM1012の製造時などに安全に、第1のマスタ鍵MASTER_KEY1が格納される。SIM1052には、該SIM1052の製造時などに安全に、第2のマスタ鍵MASTER_KEY2が格納される。このマスタ鍵の分散管理に関する点以外については、通信モジュール1051のSIM1052、第1のECU1010のHSM1012及び第2のECU1020のSHE1022は、
図15に示すECU初期鍵の共有方法の例1の構成と同様である。以下、
図16を参照し、ECU初期鍵の共有方法の例2を説明する。
【0142】
(ステップS611)第2のECU1020は、自己のECU識別子ECU_ID_Sを、第1のECU1010へ送信する。この送信のタイミングは、例えば、第2のECU1020が自動車1001に搭載されてから初めて電源投入された時などである。
【0143】
(ステップS612)第1のECU1010は、第2のECU1020から受信したECU識別子ECU_ID_SをHSM1012へ供給する。HSM1012は、該ECU識別子ECU_ID_Sと、鍵記憶部1013に記憶している第1のマスタ鍵MASTER_KEY1とを使用して、第1の値を生成する。このHSM1012による第1の値生成方法は、上記の
図14に示す書込み装置301−1による第1の値生成方法と同じである。
【0144】
(ステップS613)第1のECU1010は、HSM1012が生成した第1の値をSIM1052へ送信する。このとき、第1のECU1010は、第1の値と第2のECU1020のECU識別子ECU_ID_Sの組をSIM1052へ送信してもよい。
【0145】
(ステップS614)SIM1052は、第1のECU1010から受信した第1の値と、鍵記憶部1053に記憶している第2のマスタ鍵MASTER_KEY2とを使用して、第2のECU1020のECU初期鍵Key_Sを生成する。このSIM1052によるECU初期鍵生成方法は、上記の
図14に示す書込み装置301−2によるECU初期鍵生成方法と同じである。
【0146】
(ステップS615)SIM1052は、該生成したECU初期鍵Key_Sを第1のECU1010へ送信する。このとき、SIM1052は、ECU初期鍵Key_Sと第2のECU1020のECU識別子ECU_ID_Sの組を第1のECU1010へ送信してもよい。
【0147】
第1のECU1010は、SIM1052から受信した第2のECU1020のECU初期鍵Key_SをHSM1012へ供給する。HSM1012の鍵記憶部1013は、該第2のECU1020のECU初期鍵Key_Sを、第2のECU1020のECU識別子ECU_ID_Sに関連付けて記憶する。これにより、第1のECU1010と第2のECU1020との間で同じECU初期鍵Key_Sが共有された。この共有されたECU初期鍵Key_Sは、例えば、第1のECU1010のHSM1012と第2のECU1020のSHE1022の間で交換されるデータの暗号化などに使用される。
【0148】
第1のECU1010において、第2のECU1020のECU初期鍵Key_Sに関連付ける第2のECU1020のECU識別子ECU_ID_Sは、ステップS611で第2のECU1020から受信したECU識別子ECU_ID_Sを記録しておいてもよく、又は、ステップS615でSIM1052から受信したECU初期鍵Key_Sと第2のECU1020のECU識別子ECU_ID_Sの組に含まれるECU識別子ECU_ID_Sを使用してもよい。
【0149】
上述のECU初期鍵の共有方法の例2において、HSM1012は、第1の値生成装置の例である。また、SIM1052は、初期鍵生成装置の例である。また、HSM1012とSIM1052とは、鍵管理システムの例である。
【0150】
なお、上述のECU初期鍵の共有方法の例2において、HSM1012は、第1の値の生成のために既に受け付けたECU識別子ECU_ID_Sについて、同じECU識別子ECU_ID_Sを受け付けないようにしてもよい。例えば、HSM1012は、鍵記憶部1013に記憶されているECU初期鍵Key_Sに関連付けられているECU識別子ECU_ID_Sについて、同じECU識別子ECU_ID_Sを受け付けないようにしてもよい。これにより、攻撃者は、ECU識別子ECU_ID_Sを取得しても、HSM1012を利用して第1の値を不正に生成させることができないので、第1の値の不正な取得を防止できる。SIM1052は、ECU初期鍵Key_Sの生成に既に使用した第1の値について、同じ第1の値を受け付けないようにしてもよい。これにより、攻撃者は、第1の値を取得しても、SIM1052を利用してECU初期鍵Key_Sを不正に生成させることができないので、ECU初期鍵Key_Sの不正な取得を防止できる。
【0151】
[ECU初期鍵の共有方法の例3]
図17を参照してECU初期鍵の共有方法の例3を説明する。
図17は、第6実施形態に係るECU初期鍵の共有方法の例3のシーケンス図である。
【0152】
本ECU初期鍵の共有方法の例3は、上述のECU初期鍵の共有方法の例2と同様に、第1のマスタ鍵MASTER_KEY1と第2のマスタ鍵MASTER_KEY2とを、別々に、異なる仕様のセキュアエレメントで保管する。具体的には、
図17において、通信モジュール1051のSIM1052が鍵記憶部1053に第1のマスタ鍵MASTER_KEY1を記憶しており、第1のECU1010のHSM1012が鍵記憶部1013に第2のマスタ鍵MASTER_KEY2を記憶している。SIM1052には、該SIM1052の製造時などに安全に、第1のマスタ鍵MASTER_KEY1が格納される。HSM1012には、該HSM1012の製造時などに安全に、第2のマスタ鍵MASTER_KEY2が格納される。このマスタ鍵の分散管理に関する点以外については、通信モジュール1051のSIM1052、第1のECU1010のHSM1012及び第2のECU1020のSHE1022は、
図15に示すECU初期鍵の共有方法の例1の構成と同様である。以下、
図17を参照し、ECU初期鍵の共有方法の例3を説明する。
【0153】
(ステップS621)第2のECU1020は、自己のECU識別子ECU_ID_Sを、第1のECU1010を介して、SIM1052へ供給する。この供給のタイミングは、例えば、第2のECU1020が自動車1001に搭載されてから初めて電源投入された時などである。
【0154】
(ステップS622)SIM1052は、第2のECU1020から供給されたECU識別子ECU_ID_Sと、鍵記憶部1053に記憶している第1のマスタ鍵MASTER_KEY1とを使用して、第1の値を生成する。このSIM1052による第1の値生成方法は、上記の
図14に示す書込み装置301−1による第1の値生成方法と同じである。
【0155】
(ステップS623)SIM1052は、該生成した第1の値を第1のECU1010へ送信する。このとき、SIM1052は、第1の値と第2のECU1020のECU識別子ECU_ID_Sの組を第1のECU1010へ送信してもよい。
【0156】
(ステップS624)第1のECU1010は、SIM1052から受信した第1の値をHSM1012へ供給する。HSM1012は、該第1の値と、鍵記憶部1013に記憶している第2のマスタ鍵MASTER_KEY2とを使用して、第2のECU1020のECU初期鍵Key_Sを生成する。このHSM1012によるECU初期鍵生成方法は、上記の
図14に示す書込み装置301−2によるECU初期鍵生成方法と同じである。
【0157】
HSM1012の鍵記憶部1013は、該生成された第2のECU1020のECU初期鍵Key_Sを、第2のECU1020のECU識別子ECU_ID_Sに関連付けて記憶する。これにより、第1のECU1010と第2のECU1020との間で同じECU初期鍵Key_Sが共有された。この共有されたECU初期鍵Key_Sは、例えば、第1のECU1010のHSM1012と第2のECU1020のSHE1022の間で交換されるデータの暗号化などに使用される。
【0158】
第1のECU1010において、第2のECU1020のECU初期鍵Key_Sに関連付ける第2のECU1020のECU識別子ECU_ID_Sは、ステップS621における第2のECU1020のECU識別子ECU_ID_Sの転送時に該ECU識別子ECU_ID_Sを記録しておいてもよく、又は、ステップS623においてSIM1052から受信した第1の値と第2のECU1020のECU識別子ECU_ID_Sの組に含まれるECU識別子ECU_ID_Sを使用してもよい。
【0159】
上述のECU初期鍵の共有方法の例3において、SIM1052は、第1の値生成装置の例である。また、HSM1012は、初期鍵生成装置の例である。また、SIM1052とHSM1012とは、鍵管理システムの例である。
【0160】
なお、上述のECU初期鍵の共有方法の例3において、SIM1052は、第1の値の生成のために既に受け付けたECU識別子ECU_ID_Sについて、同じECU識別子ECU_ID_Sを受け付けないようにしてもよい。これにより、攻撃者は、ECU識別子ECU_ID_Sを取得しても、SIM1052を利用して第1の値を不正に生成させることができないので、第1の値の不正な取得を防止できる。HSM1012は、SIM1052へ供給するために既に受け付けたECU識別子ECU_ID_Sについて、同じECU識別子ECU_ID_Sを受け付けないようにしてもよい。例えば、HSM1012は、鍵記憶部1013に記憶されているECU初期鍵Key_Sに関連付けられているECU識別子ECU_ID_Sについて、同じECU識別子ECU_ID_Sを受け付けないようにしてもよい。これにより、攻撃者は、ECU識別子ECU_ID_Sを取得しても、HSM1012を利用してSIM1052へECU識別子ECU_ID_Sを供給させて第1の値を不正に生成させることができないので、第1の値の不正な取得を防止できる。HSM1012は、ECU初期鍵Key_Sの生成に既に使用した第1の値について、同じ第1の値を受け付けないようにしてもよい。これにより、攻撃者は、第1の値を取得しても、HSM1012を利用してECU初期鍵Key_Sを不正に生成させることができないので、ECU初期鍵Key_Sの不正な取得を防止できる。
【0161】
上述したECU初期鍵の共有方法の例2及び例3では、自動車1001において、第1のマスタ鍵MASTER_KEY1と第2のマスタ鍵MASTER_KEY2とが、別々に、異なるセキュアエレメントで保管される。これにより、同じセキュアエレメントで第1のマスタ鍵MASTER_KEY1と第2のマスタ鍵MASTER_KEY2とを一緒に保管する場合に比して、第1のマスタ鍵MASTER_KEY1と第2のマスタ鍵MASTER_KEY2とが分散して保管されることから、マスタ鍵の安全性が向上する。
【0162】
さらに、上述したECU初期鍵の共有方法の例2及び例3では、自動車1001において、第1のマスタ鍵MASTER_KEY1と第2のマスタ鍵MASTER_KEY2とが、別々に、異なる仕様のセキュアエレメントで保管される。これにより、同じ仕様のセキュアエレメントで別々に第1のマスタ鍵MASTER_KEY1と第2のマスタ鍵MASTER_KEY2とを保管する場合に比して、マスタ鍵の安全性が向上する。この効果について以下に説明する。
【0163】
異なるセキュアエレメントであっても同じ仕様のセキュアエレメントで別々に第1のマスタ鍵MASTER_KEY1と第2のマスタ鍵MASTER_KEY2とを保管する場合、同じ仕様の一方のセキュアエレメントについての解析が成功して一方のマスタ鍵例えば第1のマスタ鍵MASTER_KEY1が漏洩したとする。すると、該同じ解析方法によって、同じ仕様のもう一方のセキュアエレメントについても解析が成功してもう一方の第2のマスタ鍵MASTER_KEY2も漏洩する可能性がある。
【0164】
これに対してECU初期鍵の共有方法の例2及び例3によれば、異なる仕様のセキュアエレメントで別々に第1のマスタ鍵MASTER_KEY1と第2のマスタ鍵MASTER_KEY2とを保管する。これにより、たとえ一方の仕様のセキュアエレメントについての解析が成功して一方のマスタ鍵例えば第1のマスタ鍵MASTER_KEY1が漏洩したとしても、該同じ解析方法では、もう一方の仕様のセキュアエレメントについての解析は失敗し、もう一方の第2のマスタ鍵MASTER_KEY2の漏洩を防止できる。これにより、ECU初期鍵の安全性をより一層高めることができる。
【0165】
上述の
図16に示すECU初期鍵の共有方法の例2及び
図17に示すECU初期鍵の共有方法の例3では、第1のマスタ鍵MASTER_KEY1と第2のマスタ鍵MASTER_KEY2とを分散して保管するセキュアエレメントとして、SIMとHSMとを使用した。SIMとHSMとでは、仕様が異なる。具体的には、SIMとHSMとでは、耐タンパー性の技術の仕様が異なる。耐タンパー性の技術として、例えば、情報保護のためのハードウェア技術が挙げられる。情報保護のためのハードウェア技術として、例えば、セキュアエレメントに対する物理的又は電気的な解析方法の実施によって、該セキュアエレメント内部の情報が消去されたり、又は、該セキュアエレメント内部の回路が破壊されたり、又は、該セキュアエレメントの動作が停止したりするものが挙げられる。また、情報保護のためのハードウェア技術として、セキュアエレメントからの漏洩電磁波の測定による解析を困難にする技術などが挙げられる。
【0166】
本実施形態では、複数のマスタ鍵を分散して保管する複数のセキュアエレメントとして、仕様が異なる複数のセキュアエレメントを使用する。また、複数のマスタ鍵を分散して保管する複数のセキュアエレメントとして、耐タンパー性の技術の仕様が異なる複数のセキュアエレメントを使用してもよい。セキュアエレメントとして、例えば、SIM、SIMの一種であるeSIM、HSM、TPM、及びSHEなどが挙げられる。
【0167】
[第6実施形態の変形例1]
上述した第6実施形態では、自動車1001内部でECU初期鍵を生成したが、上述の第2実施形態と同様に、自動車外部の管理サーバ装置がECU初期鍵を生成してもよい。自動車外部の管理サーバ装置は複数のマスタ鍵を保管する。自動車から管理サーバ装置へ該自動車のECUのECU識別子を無線により送信する。管理サーバ装置は、該ECUのECU識別子と自己で保管する複数のマスタ鍵とを使用して該ECUのECU初期鍵を生成し、生成したECU初期鍵を該自動車へ無線により送信する。
【0168】
[第6実施形態の変形例2]
また、複数のマスタ鍵を、自動車内部のセキュアエレメント例えばSIMと、自動車外部の管理サーバ装置とで分散して保管してもよい。SIMと管理サーバ装置とのいずれか一方は、自己のマスタ鍵と自動車のECUのECU識別子とを使用して第1の値を生成し、生成した第1の値をSIMと管理サーバ装置とのもう一方へ無線により送信する。SIMと管理サーバ装置との該もう一方は、自己のマスタ鍵と該第1の値とを使用して該ECUのECU初期鍵を生成する。該もう一方が管理サーバ装置である場合には、生成したECU初期鍵を管理サーバ装置から自動車へ無線により送信する。
【0169】
[第6実施形態の変形例3]
図18は、第6実施形態に係る自動車1001の変形例を示す図である。
図18おいて、
図13の各部に対応する部分には同一の符号を付け、その説明を省略する。
図18に示す変形例において、診断ポート1060にはメンテナンスツール(maintenance tool)1200を接続可能である。第1のECU1010と診断ポート1060に接続されたメンテナンスツール1200とは、診断ポート1060を介して、データを交換する。メンテナンスツール1200は、OBDポートに接続される従来の診断端末の機能を有していてもよい。
【0170】
メンテナンスツール1200は、制御モジュール1201を備える。制御モジュール1201は、IC(Integrated Circuit)チップ1202を備える。ICチップ1202は、鍵を記憶する鍵記憶部1203を備える。ICチップ1202は耐タンパー性を有する。ICチップ1202はセキュアエレメントの例である。ICチップ1202は、コンピュータの一種であり、コンピュータプログラムによって所望の機能を実現する。
【0171】
図18に示す変形例では、ICチップ1202が
図13に示すSIM1052に対応し、鍵記憶部1023が
図13に示す鍵記憶部1053に対応する。
図18に示す変形例では、
図15に示すECU初期鍵の共有方法の例1、
図16に示すECU初期鍵の共有方法の例2、及び、
図17に示すECU初期鍵の共有方法の例3において、ICチップ1202がSIM1052の代わりとなり、鍵記憶部1023が鍵記憶部1053の代わりとなる。
【0172】
なお、上述の実施形態では、車両として自動車を例に挙げたが、原動機付自転車や鉄道車両等の自動車以外の他の車両にも適用可能である。
【0173】
また、上述した管理装置10もしくは10aが実行する管理方法の各ステップを実現するためのコンピュータプログラム、又は、上述した各装置が実行する各ステップを実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0174】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。