【文献】
竹森 敬祐 ほか,セキュアエレメントを活用したECU認証とコード認証の鍵管理,電子情報通信学会技術研究報告,日本,電子情報通信学会,2015年12月10日,Vol. 115, No. 366,pp. 227-232
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
以下、図面を参照し、本発明の実施形態について説明する。なお、以下に示す実施形態では、車両として自動車を例に挙げて説明する。
【0012】
図1は、一実施形態に係る自動車1001の構成例を示す図である。本実施形態では、車載コンピュータの一例として、特に、自動車1001に搭載されるECU(電子制御装置)を挙げて説明する。
【0013】
図1において、自動車1001は、車載コンピュータシステム1002と、インフォテイメント(Infotainment)機器1040と、TCU(Tele Communication Unit)1050と、診断ポート1060と、ゲートウェイ1070とを備える。車載コンピュータシステム1002は、データ保安装置1010と複数のECU1020とがCAN(Controller Area Network)1030に接続されて構成される。CAN1030は通信ネットワークである。CANは車両に搭載される通信ネットワークの一つとして知られている。本実施形態において、車載コンピュータシステム1002は、自動車1001の車載制御システムとして機能する。
【0014】
ECU1020は、自動車1001に備わる車載コンピュータである。ECU1020は、自動車1001のエンジン制御等の制御機能を有する。ECU1020として、例えば、エンジン制御機能を有するECU、ハンドル制御機能を有するECU、ブレーキ制御機能を有するECUなどがある。データ保安装置1010は、自動車1001に備わる車載コンピュータである。データ保安装置1010は、自動車1001に搭載されたECU1020に適用されるデータのセキュリティ(保安)の機能を有する。なお、自動車1001に搭載されたいずれかのECUをデータ保安装置1010として機能させてもよい。
【0015】
データ保安装置1010は、CAN1030を介して、各ECU1020との間でデータを交換する。ECU1020は、CAN1030を介して、他のECU1020との間でデータを交換する。
【0016】
なお、車両に搭載される通信ネットワークとして、CAN以外の通信ネットワークを自動車1001に備え、CAN以外の通信ネットワークを介して、データ保安装置1010とECU1020との間のデータの交換、及び、ECU1020同士の間のデータの交換が行われてもよい。例えば、LIN(Local Interconnect Network)を自動車1001に備えてもよい。また、CANとLINとを自動車1001に備えてもよい。また、自動車1001において、LINに接続するECU1020を備えてもよい。また、データ保安装置1010は、CANとLINとに接続されてもよい。また、データ保安装置1010は、CANを介して該CANに接続されるECU1020との間でデータを交換し、また、LINを介して該LINに接続されるECU1020との間でデータを交換してもよい。また、ECU1020同士が、LINを介してデータを交換してもよい。
【0017】
ゲートウェイ1070は、車載コンピュータシステム1002の内部と外部の間の通信を監視する。ゲートウェイ1070はCAN1030に接続される。また、ゲートウェイ1070は、車載コンピュータシステム1002の外部の装置の例として、インフォテイメント機器1040、TCU1050及び診断ポート1060と接続される。データ保安装置1010及びECU1020は、ゲートウェイ1070を介して、車載コンピュータシステム1002の外部の装置と通信を行う。
【0018】
なお、CAN1030の構成として、CAN1030が複数のバス(通信線)を備え、該複数のバスをゲートウェイ1070に接続してもよい。この場合、一つのバスに、一つのECU1020又は複数のECU1020が接続される。また、同じバスにデータ保安装置1010とECU1020とが接続されてもよく、又は、データ保安装置1010が接続されるバスとECU1020が接続されるバスとを別個にしてもよい。
【0019】
自動車1001は診断ポート1060を備える。診断ポート1060として、例えばOBD(On-board Diagnostics)ポートを使用してもよい。診断ポート1060には、自動車1001の外部の装置を接続可能である。診断ポート1060に接続可能な自動車1001の外部の装置として、例えば、
図1に示されるメンテナンスツール2100などがある。車載コンピュータシステム1002と、診断ポート1060に接続された装置、例えばメンテナンスツール2100とは、診断ポート1060及びゲートウェイ1070を介して、データを交換する。メンテナンスツール2100は、OBDポートに接続される従来の診断ツールの機能を有していてもよい。
【0020】
自動車1001はインフォテイメント機器1040を備える。インフォテイメント機器1040は、例えば、ナビゲーション機能、位置情報サービス機能、音楽や動画などのマルチメディア再生機能、音声通信機能、データ通信機能、インターネット接続機能などを備える。本実施形態では、インフォテイメント機器1040は、さらに、車載診断ツールの機能を備える。
【0021】
自動車1001は、TCU1050を備える。TCU1050は通信装置である。TCU1050は通信モジュール1051を備える。通信モジュール1051は、無線通信ネットワークを利用して無線通信を行う。通信モジュール1051は、SIM(Subscriber Identity Module)1052を備える。SIM1052は、無線通信ネットワークを利用するための情報が書き込まれたSIMである。通信モジュール1051は、SIM1052を使用することにより該無線通信ネットワークに接続して無線通信を行うことができる。なお、SIM1052として、eSIM(Embedded Subscriber Identity Module)を使用してもよい。
【0022】
インフォテイメント機器1040は、ゲートウェイ1070を介して、TCU1050とデータを交換する。なお、TCU1050とインフォテイメント機器1040とを通信ケーブルで直接接続し、TCU1050とインフォテイメント機器1040は該通信ケーブルを介してデータを交換してもよい。例えば、USB(universal serial bus)ケーブルでTCU1050とインフォテイメント機器1040とを直接接続し、TCU1050とインフォテイメント機器1040は該USBケーブルを介してデータを交換してもよい。また、TCU1050とインフォテイメント機器1040とをUSBケーブル等の通信ケーブルで直接接続し、該通信ケーブルを介してTCU1050とインフォテイメント機器1040間のデータの交換を行う場合、TCU1050とインフォテイメント機器1040とのうち送信側の装置は、受信側の装置に送信するデータを一時的に蓄えるバッファを備えてもよい。
【0023】
なお、TCU1050を診断ポート1060に接続し、インフォテイメント機器1040が、ゲートウェイ1070及び診断ポート1060を介して、該診断ポート1060に接続されたTCU1050とデータを交換してもよい。又は、インフォテイメント機器1040が、SIM1052を含む通信モジュール1051を備えてもよい。インフォテイメント機器1040がSIM1052を含む通信モジュール1051を備える場合には、自動車1001はTCU1050を備えなくてもよい。
【0024】
データ保安装置1010は、メイン演算器1011とHSM(Hardware Security Module)1012を備える。メイン演算器1011は、データ保安装置1010の機能を実現させるためのコンピュータプログラムを実行する。HSM1012は暗号処理機能等を有する。HSM1012は耐タンパー性(Tamper Resistant)を有する。HSM1012はセキュアエレメント(Secure Element:SE)の例である。HSM1012は、データを記憶する記憶部1013を備える。メイン演算器1011はHSM1012を使用する。
【0025】
ECU1020は、メイン演算器1021とSHE(Secure Hardware Extension)1022を備える。メイン演算器1021は、ECU1020の機能を実現させるためのコンピュータプログラムを実行する。SHE1022は暗号処理機能等を有する。SHE1022は耐タンパー性を有する。SHE1022はセキュアエレメントの例である。SHE1022は、データを記憶する記憶部1023を備える。メイン演算器1021はSHE1022を使用する。
【0026】
サーバ装置2000は、通信回線を介して、自動車1001のTCU1050の通信モジュール1051とデータを送受する。サーバ装置2000は、自動車1001のTCU1050の通信モジュール1051が利用する無線通信ネットワークを介して、該通信モジュール1051とデータを送受する。又は、サーバ装置2000は、インターネット等の通信ネットワークと該無線通信ネットワークとを介して、該通信モジュール1051とデータを送受してもよい。また、例えば、サーバ装置2000と通信モジュール1051との間をVPN(Virtual Private Network)回線等の専用回線で接続し、該専用回線でデータを送受してもよい。例えば、SIM1052に対応する無線通信ネットワークによって、VPN回線等の専用回線が提供されてもよい。なお、サーバ装置2000と自動車1001とを通信ケーブルで接続してもよい。例えば、サーバ装置2000と自動車1001のゲートウェイ1070とを通信ケーブルで接続するように構成してもよい。
【0027】
サーバ装置2000は、ECU1020に適用されるECUコード(ECU code)を自動車1001に供給する。ECUコードは、ECU1020に適用されるデータの例である。ECUコードは、ECU1020にインストールされる更新プログラム等のコンピュータプログラムであってもよく、又は、ECU1020に設定されるパラメータ設定値などの設定データであってもよい。
【0028】
図2は、インフォテイメント機器1040のハードウェア構成例を示すブロック図である。
図2において、インフォテイメント機器1040は、CPU(Central Processing Unit:中央演算処理装置)10と、記憶部12と、インタフェース部16と、タッチパネル18と、マイクロフォン(マイク)20と、スピーカ22とを備える。これら各部はデータを交換できるように構成されている。
【0029】
CPU10はインフォテイメント機器1040の制御を行う。この制御機能は、CPU10がコンピュータプログラムを実行することにより実現される。記憶部12は、CPU10で実行されるコンピュータプログラムや各種のデータを記憶する。記憶部12は、少なくとも、車載診断ツールプログラム(図示せず)を記憶している。車載診断ツールプログラムは、車載診断ツールの機能を実現させるためのコンピュータプログラムである。
【0030】
インタフェース部16は、自インフォテイメント機器1040の外部の装置とデータを送受する。タッチパネル18は、液晶パネル等の表示画面を備え、表示画面へのデータ表示と、利用者による表示画面へのタッチ操作に応じたデータ入力とを行う。マイク20は音声の入力を行う。スピーカ22は音声の再生を行う。
【0031】
図3は、本実施形態に係る車載診断ツール1040aの機能構成例を示すブロック図である。
図3において、車載診断ツール1040aは、ECUコード保管部30と、ECUコード生成部32と、検証部34と、車両情報取得部36と、実行制御部38と、暗号処理部40とを備える。これら車載診断ツール1040aの各部の機能は、
図2に示されるインフォテイメント機器1040において、CPU10が記憶部12に記憶される車載診断ツールプログラムを実行することにより実現される。車載診断ツール1040aは、自動車1001に搭載される保守装置の例である。
【0032】
ECUコード保管部30は、ECU1020に適用されたECUコードを格納する。ECUコード生成部32は、サーバ装置2000から自動車1001に供給されたECUコード更新データを使用して、ECU1020に適用される新ECUコードを生成する。検証部34は、ECUコード生成部32が生成した新ECUコードを、サーバ装置2000から自動車1001に供給された新ECUコード電子署名を使用して検証する。
【0033】
車両情報取得部36は、自動車1001の状態を示す車両情報を取得する。実行制御部38は、新ECUコードをECU1020に適用させる制御を行う。暗号処理部40は、サーバ装置2000から自動車1001に供給された鍵を使用して、データの暗号化処理及び暗号化データの復号処理を実行する。
【0034】
なお、車載診断ツール1040aは、OBDポートに接続される従来の診断ツールの機能をさらに有していてもよい。
【0035】
次に
図4を参照して本実施形態に係る保守方法の例を説明する。
図4は、本実施形態に係る保守方法の例を示すシーケンスチャートである。
【0036】
以下、インフォテイメント機器1040は、ゲートウェイ1070及びCAN1030を介して、ECU1020との間でデータを送受する。インフォテイメント機器1040の車載診断ツール1040aは、インフォテイメント機器1040のインタフェース部16により、ECU1020との間でデータを送受する。
【0037】
サーバ装置2000は、自動車1001のTCU1050と通信を行い、TCU1050及びゲートウェイ1070を介して、自動車1001のインフォテイメント機器1040との間でデータを送受する。インフォテイメント機器1040の車載診断ツール1040aは、インフォテイメント機器1040のインタフェース部16により、サーバ装置2000との間でデータを送受する。なお、サーバ装置2000とインフォテイメント機器1040との間の通信路として、暗号化通信路を使用してもよい。例えば、サーバ装置2000とインフォテイメント機器1040は、暗号化通信路の一例として、https(hypertext transfer protocol secure)通信を行ってもよい。
【0038】
図4に示す保守方法の手順は、例えば、ECU1020のECUコードの更新ありがサーバ装置2000から車載診断ツール1040aに通知された際に、車載診断ツール1040aからECU1020にECUコードの更新ありを通知して開始される。
【0039】
(ステップS1)ECU1020は、自己に適用されているECUコードを車載診断ツール1040aに送信する。車載診断ツール1040aは、ECU1020から送信されたECUコードを受信する。車載診断ツール1040aの実行制御部38は、ECU1020から受信したECUコードのバージョンを記録する。
【0040】
(ステップS2)車載診断ツール1040aのECUコード保管部30は、ECU1020から受信したECUコード(以下、現適用コードと称する)を格納する。これにより、ECU1020に現在適用されているECUコードがECUコード保管部30にバックアップされる。
【0041】
なお、ECU1020に現在適用されているECUコードがECUコード保管部30に予め格納されている場合には、ステップS2の現適用コードのバックアップ(格納)を省略してもよい。
【0042】
(ステップS3)車載診断ツール1040aの実行制御部38は、ECUコード情報をサーバ装置2000に通知(送信)する。ECUコード情報は、ステップS1でECU1020から受信した現適用コードのバージョンを示す情報を含む。サーバ装置2000は、車載診断ツール1040aから送信されたECUコード情報を受信する。
【0043】
(ステップS4)サーバ装置2000は、車載診断ツール1040aから受信したECUコード情報に基づいて、ECUコード更新データを生成する。本実施形態での一例として、ECUコード更新データは、ECU1020に新たに適用されるECUコードである新ECUコードと、ECUコード情報で示されるバージョンのECUコードとの差分データ(差分コード)である。
【0044】
サーバ装置2000は、新ECUコードの電子署名を、サーバ装置2000の署名鍵を使用して生成する。サーバ装置2000の署名鍵は、サーバ装置2000の秘密鍵であってもよく、又は、共通鍵であってもよい。サーバ装置2000の署名鍵がサーバ装置2000の秘密鍵である場合には、サーバ装置2000の公開鍵(公開鍵証明書)を車載診断ツール1040aに予め供給しておく。一方、サーバ装置2000の署名鍵が共通鍵である場合には、該共通鍵を、サーバ装置2000と車載診断ツール1040aとの間で予め安全に共有しておく。新ECUコードの電子署名は、新ECUコードのダイジェスト値をサーバ装置2000の署名鍵で暗号化した暗号化データである。ダイジェスト値として、例えば、ハッシュ(hash)関数により算出される値、又は、排他的論理和演算により算出される値などが挙げられる。例えば、新ECUコードの電子署名は、新ECUコードを入力値に使用して算出されるハッシュ関数値である。
【0045】
サーバ装置2000は、差分コードと、新ECUコードの電子署名(以下、新ECUコード電子署名と称する)とを車載診断ツール1040aに送信する。車載診断ツール1040aは、サーバ装置2000から送信された差分コードと、新ECUコード電子署名とを受信する。
【0046】
(ステップS5)車載診断ツール1040aのECUコード生成部32は、サーバ装置2000から受信した差分コードと、ECUコード保管部30に格納されている現適用コードとから、新ECUコードを生成する。
【0047】
(ステップS6)車載診断ツール1040aの検証部34は、ECUコード生成部32が生成した新ECUコードを、サーバ装置2000から受信した新ECUコード電子署名を使用して検証する。検証部34は、サーバ装置2000の署名鍵を使用して新ECUコード電子署名を復号する。また、検証部34は、ECUコード生成部32が生成した新ECUコードのダイジェスト値を生成する。次いで、検証部34は、該生成したダイジェスト値と、新ECUコード電子署名の復号結果とを比較する。この比較の結果、両者が一致する場合にはECUコード生成部32が生成した新ECUコードの検証が合格であり、両者が一致しない場合にはECUコード生成部32が生成した新ECUコードの検証が不合格である。
【0048】
実行制御部38は、ECUコード生成部32が生成した新ECUコードの検証結果が合格である場合に、ステップS7に処理を進める。一方、実行制御部38は、ECUコード生成部32が生成した新ECUコードの検証結果が不合格である場合には、
図4の処理を終了する。
【0049】
なお、ECUコード生成部32が生成した新ECUコードの検証結果が不合格である場合には、実行制御部38は、所定のエラー処理を実行してもよい。例えば、実行制御部38は、ECUコード生成部32が生成した新ECUコードの検証結果が不合格であることを示すエラーメッセージを、サーバ装置2000に送信してもよい。サーバ装置2000は、該エラーメッセージに応じて、所定のエラー処理を実行してもよい。例えば、サーバ装置2000は、差分コードと新ECUコード電子署名とを車載診断ツール1040aに再送信したり、又は、新ECUコード電子署名を再生成して車載診断ツール1040aに送信したりしてもよい。
【0050】
(ステップS7)車載診断ツール1040aの実行制御部38は、ECUコード生成部32が生成した新ECUコードをECU1020に送信し、該新ECUコードの適用を指示する。ECU1020は、車載診断ツール1040aから送信された新ECUコードを受信する。ECU1020は、車載診断ツール1040aから受信した新ECUコードを自己に適用する。ECUコードの適用には、例えば、標準規格「Unified diagnostic services on CAN implementation;UDSonCAN」の手順を使用する。
【0051】
(ステップS8)ECU1020は、車載診断ツール1040aから受信した新ECUコードを自己に適用した後に、新ECUコードの適用の状態を測定する。本実施形態での一例として、新ECUコードの適用の状態の測定は、ECU1020に適用されている新ECUコードのCMAC(Cipher-based Message Authentication Code)の計算である。CMACの計算に使用されるCMAC鍵は、ECU1020と車載診断ツール1040aとの間で予め安全に共有しておく。ECU1020は、ECU1020に適用されている新ECUコードのCMACを、CMAC鍵により計算する。この計算結果のCMACは、新ECUコードの適用の状態の測定結果である。
【0052】
(ステップS9)ECU1020は、新ECUコードの適用の状態の測定結果であるCMACを、車載診断ツール1040aに通知(送信)する。車載診断ツール1040aは、ECU1020から送信されたCMACを受信する。車載診断ツール1040aの実行制御部38は、ECU1020から受信した測定結果のCMACを検証する。この測定結果のCMACの検証では、ECUコード生成部32が生成した新ECUコードのCMACをCMAC鍵により計算し、この計算結果のCMACと、ECU1020から受信した測定結果のCMACとを比較する。この比較の結果、両者が一致する場合には測定結果のCMACの検証が合格であり、両者が一致しない場合には測定結果のCMACの検証が不合格である。測定結果のCMACの検証が合格である場合には新ECUコードの適用が成功である。一方、測定結果のCMACの検証が不合格である場合には新ECUコードの適用が失敗である。
【0053】
実行制御部38は、測定結果のCMACの検証結果が合格である場合に、ステップS10に処理を進める。一方、実行制御部38は、測定結果のCMACの検証結果が不合格である場合には、
図4の処理を終了する。
【0054】
なお、測定結果のCMACの検証結果が不合格である場合には、実行制御部38は、所定のエラー処理を実行してもよい。例えば、実行制御部38は、ECUコード保管部30にバックアップ(格納)されている現適用コードをECU1020に送信し、該ECU1020に適用するECUコードを該現適用コードに戻すように指示してもよい。これにより、ECU1020を、新ECUコードの適用前の状態に戻すことができる。また、実行制御部38は、新ECUコードの適用が失敗であることを示すエラーメッセージを、サーバ装置2000に送信してもよい。
【0055】
(ステップS10)車載診断ツール1040aのECUコード保管部30は、ECU1020への適用が成功した新ECUコードを格納する。ECUコード保管部30は、既に格納している現適用コードを削除する。
【0056】
なお、ECUコード保管部30は、新ECUコードの適用の直前にECU1020に適用されている現適用コードを格納するが、ECUコードの更新を実施する時に更新対象のECU1020毎に現適用コードを取得して格納してもよく、又は、ECUコードの更新対象の全ECU1020の現適用コードを予め取得して格納してもよい。また、ECUコード保管部30は、ステップS10で新ECUコードを格納済みのECU1020については、次回のECUコード更新の際に、ステップS2の現適用コードのバックアップ(格納)を省略してもよい。
【0057】
次に、上述した
図4の保守方法の変形例を説明する。以下に示す変形例は単独又は複数の組合せで適用できる。
【0058】
<保守方法の変形例1>
保守方法の変形例1では、ECUコード保管部30は、ECUコードの暗号化データを格納する。ステップS4では、サーバ装置2000は、差分コードと、新ECUコード電子署名と、暗号鍵とを車載診断ツール1040aに送信する。ステップS5では、車載診断ツール1040aの暗号処理部40は、ECUコード保管部30に格納されている現適用コードの暗号化データを、サーバ装置2000から受信した暗号鍵を使用して復号する。ECUコード生成部32は、該暗号処理部40の復号結果と、サーバ装置2000から受信した差分コードとから、新ECUコードを生成する。ステップS10では、車載診断ツール1040aの暗号処理部40は、サーバ装置2000から受信した暗号鍵を使用して、ECUコード保管部30に格納する新ECUコードを暗号化する。ECUコード保管部30は、該暗号化により得られた新ECUコードの暗号化データを格納する。
【0059】
なお、サーバ装置2000は、差分コードの供給の度に暗号鍵を車載診断ツール1040aに送信してもよい。この暗号鍵は、差分コードに対応付けられた暗号鍵である。又は、サーバ装置2000は、暗号鍵を車載診断ツール1040aに予め供給しておいてもよい。
【0060】
また、サーバ装置2000は、暗号処理部40が実行する復号処理及び暗号化処理のコンピュータプログラムである復号・暗号化プログラムを車載診断ツール1040aに供給してもよい。サーバ装置2000は、差分コードの供給の度に復号・暗号化プログラムを車載診断ツール1040aに送信してもよく、又は、復号・暗号化プログラムを車載診断ツール1040aに予め供給しておいてもよい。暗号処理部40は、復号・暗号化プログラムを使用して、ステップS5ではECUコード保管部30に格納されている現適用コードの暗号化データの復号処理を実行し、また、ステップS10ではECUコード保管部30に格納する新ECUコードの暗号化処理を実行する。復号・暗号化プログラムには、例えば、AES(Advanced Encryption Standard)と呼ばれる暗号方式を使用する。
【0061】
<保守方法の変形例2>
保守方法の変形例2では、車載診断ツール1040aの実行制御部38は、車両情報取得部36が取得した車両情報に基づいて、ECU1020への新ECUコードの適用を実行するか否かを判断する。実行制御部38は、車両情報が示す自動車1001の状態が所定の実行条件を満たしている時に、ECU1020への新ECUコードの適用を実行する。実行制御部38は、車両情報が示す自動車1001の状態が該実行条件を満たしていない時には、ECU1020への新ECUコードの適用を実行しない。
【0062】
以下に実行条件の例を挙げる。以下の実行条件は単独又は複数の組合せで適用できる。
【0063】
(実行条件の例1)実行条件は、自動車1001の走行モードが「パーキング(駐車)」であることである。自動車1001が走行中にECU1020のECUコードを更新することは好ましくない。このため、自動車1001が駐車している時にECU1020のECUコードを更新することは好ましい。
【0064】
(実行条件の例2)実行条件は、自動車1001のエンジンが始動していることである。自動車1001のエンジンが停止すると、インフォテイメント機器1040やECU1020、TCU1050などの車載装置への電力の供給が不安定になる可能性がある。このため、自動車1001のエンジンが始動している時にECU1020のECUコードを更新することは好ましい。
【0065】
(実行条件の例3)実行条件は、自動車1001のバッテリの残容量が、該残容量が十分にあると判定するための所定量を満たしていることである。この実行条件の例3は、自動車1001がエンジンと電気モータとを組み合わせたハイブリッドシステムを備える場合に好ましい。
【0066】
(実行条件の例4)実行条件は、自動車1001のイモビライザ(immobilizer)が自動車1001の車内に存在していることである。イモビライザが自動車1001の車内に存在している時は、保守作業者や自動車1001の利用者が自動車1001の車内又は自動車1001の傍に居ると考えられる。このため、イモビライザが自動車1001の車内に存在している時にECU1020のECUコードを更新することは好ましい。
【0067】
上述した実施形態によれば、ECUコード保管部30がECU1020への適用が成功した新ECUコードを格納することにより、ECU1020に対してECUコード保管部30に格納されている新ECUコードを適用することができる。例えば、ECU1020への更なる新たなECUコードの適用がたとえ失敗しても、ECUコード保管部30に格納されている新ECUコードを使用して、該失敗する前の状態にECU1020を戻すことができる。これにより、ECU1020にECUコードを適用する際の信頼性を向上させることができるという効果が得られる。
【0068】
また、本実施形態によれば、インフォテイメント機器1040にECUコードをバックアップする構成であるので、ECU1020自体にECUコードをバックアップする構成に比して、ECU1020のメモリコストの増加を抑制できる。これは、自動車1001に備わるECU1020が大量である場合には特に格別の効果を奏する。
【0069】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【0070】
上述した実施形態では、自動車1001に備わるインフォテイメント機器1040が車載診断ツール1040a(保守装置)を備えたが、自動車1001において車載診断ツール1040aをインフォテイメント機器1040以外の他の車載装置に備えてもよく、又は、車載診断ツール1040aを単独の車載装置として自動車1001に備えてもよい。
【0071】
上述した実施形態を、自動車1001に搭載されたデータ保安装置1010又はゲートウェイ1070に適用されるデータであるコンピュータプログラムや設定データ等の更新に、適用してもよい。データ保安装置1010及びゲートウェイ1070は車載コンピュータの例である。
【0072】
上述した実施形態では、データ保安装置1010やECU1020にHSMやSHEを使用したが、HSM及びSHE以外の暗号処理チップを使用してもよい。データ保安装置1010に対して、例えば「TPM(Trusted Platform Module)f」と呼ばれる暗号処理チップを使用してもよい。TPMfは耐タンパー性を有する。TPMfはセキュアエレメントの例である。ECU1020に対して、例えば「TPMt」と呼ばれる暗号処理チップを使用してもよい。TPMtは耐タンパー性を有する。TPMtはセキュアエレメントの例である。
【0073】
上述した実施形態は、自動車の製造工場において、自動車の製造工程で自動車に搭載されたECUに適用してもよい。また、上述した実施形態は、自動車の整備工場や販売店等において、自動車に搭載されているECUに適用してもよい。
【0074】
上述した実施形態では、車両として自動車を例に挙げたが、原動機付自転車や鉄道車両等の自動車以外の他の車両にも適用可能である。
【0075】
また、上述した各装置の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0076】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【解決手段】車両に搭載される保守装置は、車両に搭載される車載コンピュータに適用されたデータを格納するデータ保管ステップと、車両に供給された更新データを使用して、車載コンピュータに適用される新データを生成するデータ生成ステップと、新データを車載コンピュータに適用させる制御を行う実行制御ステップと、を実行し、データ保管ステップにおいて、車載コンピュータへの適用が成功した新データを格納する。