以下、図面を参照し、本発明の実施形態について説明する。なお、以下に示す実施形態では、車両として自動車を例に挙げて説明する。
図1は、一実施形態に係る自動車1001の構成例を示す図である。図1において、自動車1001は、車載コンピュータシステム1002と、インフォテイメント(Infotainment)機器1040と、TCU(Tele Communication Unit)1050と、診断ポート1060と、ゲートウェイ1070とを備える。車載コンピュータシステム1002は、データ保安装置1010と複数のECU(電子制御装置)1020とがCAN(Controller Area Network)1030に接続されて構成される。CAN1030は通信ネットワークである。CANは車両に搭載される通信ネットワークの一つとして知られている。本実施形態において、車載コンピュータシステム1002は、自動車1001の車載制御システムとして機能する。
ECU1020は、自動車1001に備わる車載コンピュータである。ECU1020は、自動車1001のエンジン制御等の制御機能を有する。ECU1020として、例えば、エンジン制御機能を有するECU、ハンドル制御機能を有するECU、ブレーキ制御機能を有するECUなどがある。データ保安装置1010は、自動車1001に備わる車載コンピュータである。データ保安装置1010は、自動車1001に搭載されたECU1020に適用されるデータのセキュリティ(保安)の機能を有する。なお、自動車1001に搭載されたいずれかのECUをデータ保安装置1010として機能させてもよい。
データ保安装置1010は、CAN1030を介して、各ECU1020との間でデータを交換する。ECU1020は、CAN1030を介して、他のECU1020との間でデータを交換する。
なお、車両に搭載される通信ネットワークとして、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を介してデータを交換してもよい。
ゲートウェイ1070は、車載コンピュータシステム1002の内部と外部の間の通信を監視する。ゲートウェイ1070はCAN1030に接続される。また、ゲートウェイ1070は、車載コンピュータシステム1002の外部の装置の例として、インフォテイメント機器1040、TCU1050及び診断ポート1060と接続される。データ保安装置1010及びECU1020は、ゲートウェイ1070を介して、車載コンピュータシステム1002の外部の装置と通信を行う。
なお、CAN1030の構成として、CAN1030が複数のバス(通信線)を備え、該複数のバスをゲートウェイ1070に接続してもよい。この場合、一つのバスに、一つのECU1020又は複数のECU1020が接続される。また、同じバスにデータ保安装置1010とECU1020とが接続されてもよく、又は、データ保安装置1010が接続されるバスとECU1020が接続されるバスとを別個にしてもよい。
自動車1001は診断ポート1060を備える。診断ポート1060として、例えばOBD(On-board Diagnostics)ポートを使用してもよい。診断ポート1060には、自動車1001の外部の装置を接続可能である。診断ポート1060に接続可能な自動車1001の外部の装置として、例えば、図1に示されるメンテナンスツール2100などがある。車載コンピュータシステム1002と、診断ポート1060に接続された装置、例えばメンテナンスツール2100とは、診断ポート1060及びゲートウェイ1070を介して、データを交換する。メンテナンスツール2100は、OBDポートに接続される従来の診断ツールの機能を有していてもよい。
なお、自動車1001は、診断ポート1060から自動車1001の車載装置へのアクセスを制限したり不可能にしたりする診断ポートアクセス制限部をさらに備えてもよい。さらに、その診断ポートアクセス制限部は、診断ポート1060から自動車1001の車載装置へのアクセスを制限したり不可能にしたりすることを任意に設定できる設定操作部を備えてもよい。
自動車1001はインフォテイメント機器1040を備える。インフォテイメント機器1040は、例えば、ナビゲーション機能、位置情報サービス機能、音楽や動画などのマルチメディア再生機能、音声通信機能、データ通信機能、インターネット接続機能などを備える。本実施形態では、インフォテイメント機器1040は、さらに、車載診断ツールの機能を備える。車載診断ツールは、自動車1001の各種の保守作業を実施する。車載診断ツールは、OBDポートに接続される従来の診断ツールの機能を有していてもよい。
自動車1001は、TCU1050を備える。TCU1050は通信装置である。TCU1050は通信モジュール1051を備える。通信モジュール1051は、無線通信ネットワークを利用して無線通信を行う。通信モジュール1051は、SIM(Subscriber Identity Module)1052を備える。SIM1052は、無線通信ネットワークを利用するための情報が書き込まれたSIMである。通信モジュール1051は、SIM1052を使用することにより該無線通信ネットワークに接続して無線通信を行うことができる。なお、SIM1052として、eSIM(Embedded Subscriber Identity Module)を使用してもよい。
インフォテイメント機器1040は、ゲートウェイ1070を介して、TCU1050とデータを交換する。なお、TCU1050とインフォテイメント機器1040とを通信ケーブルで直接接続し、TCU1050とインフォテイメント機器1040は該通信ケーブルを介してデータを交換してもよい。例えば、USB(universal serial bus)ケーブルでTCU1050とインフォテイメント機器1040とを直接接続し、TCU1050とインフォテイメント機器1040は該USBケーブルを介してデータを交換してもよい。また、TCU1050とインフォテイメント機器1040とをUSBケーブル等の通信ケーブルで直接接続し、該通信ケーブルを介してTCU1050とインフォテイメント機器1040間のデータの交換を行う場合、TCU1050とインフォテイメント機器1040とのうち送信側の装置は、受信側の装置に送信するデータを一時的に蓄えるバッファを備えてもよい。
なお、TCU1050を診断ポート1060に接続し、インフォテイメント機器1040が、ゲートウェイ1070及び診断ポート1060を介して、該診断ポート1060に接続されたTCU1050とデータを交換してもよい。又は、インフォテイメント機器1040が、SIM1052を含む通信モジュール1051を備えてもよい。インフォテイメント機器1040がSIM1052を含む通信モジュール1051を備える場合には、自動車1001はTCU1050を備えなくてもよい。
データ保安装置1010は、メイン演算器1011とHSM(Hardware Security Module)1012を備える。メイン演算器1011は、データ保安装置1010の機能を実現させるためのコンピュータプログラムを実行する。HSM1012は暗号処理機能等を有する。HSM1012は耐タンパー性(Tamper Resistant)を有する。HSM1012はセキュアエレメント(Secure Element:SE)の例である。HSM1012は、データを記憶する記憶部1013を備える。メイン演算器1011はHSM1012を使用する。
ECU1020は、メイン演算器1021とSHE(Secure Hardware Extension)1022を備える。メイン演算器1021は、ECU1020の機能を実現させるためのコンピュータプログラムを実行する。SHE1022は暗号処理機能等を有する。SHE1022は耐タンパー性を有する。SHE1022はセキュアエレメントの例である。SHE1022は、データを記憶する記憶部1023を備える。メイン演算器1021はSHE1022を使用する。
サーバ装置2000は、通信回線を介して、自動車1001のTCU1050の通信モジュール1051とデータを送受する。サーバ装置2000は、自動車1001のTCU1050の通信モジュール1051が利用する無線通信ネットワークを介して、該通信モジュール1051とデータを送受する。又は、サーバ装置2000は、インターネット等の通信ネットワークと該無線通信ネットワークとを介して、該通信モジュール1051とデータを送受してもよい。また、例えば、サーバ装置2000と通信モジュール1051との間をVPN(Virtual Private Network)回線等の専用回線で接続し、該専用回線でデータを送受してもよい。例えば、SIM1052に対応する無線通信ネットワークによって、VPN回線等の専用回線が提供されてもよい。なお、サーバ装置2000と自動車1001とを通信ケーブルで接続してもよい。例えば、サーバ装置2000と自動車1001のゲートウェイ1070とを通信ケーブルで接続するように構成してもよい。
サーバ装置2000は、自動車1001の保守作業を実施する正規のリモートサイト(以下、正規リモートサイトと称する)を開設している。正規リモートサイトは、自動車1001のインフォテイメント機器1040の車載診断ツールと連携して自動車1001の各種の保守作業を実施する。自動車1001の保守作業の一例として、ECU1020のECUコード(ECU code)の更新作業がある。ECUコードは、ECU1020に適用されるデータの例である。ECUコードは、ECU1020にインストールされる更新プログラム等のコンピュータプログラムであってもよく、又は、ECU1020に設定されるパラメータ設定値などの設定データであってもよい。
なお、自動車1001のインフォテイメント機器1040の車載診断ツールは、単独でも、又は、サーバ装置2000と連携してでも、自動車1001の各種の保守作業を実施することができる。
次に図2、図3及び図4を参照して本実施形態に係るインフォテイメント機器1040を説明する。図2は、インフォテイメント機器1040のハードウェア構成例を示すブロック図である。図2において、インフォテイメント機器1040は、CPU(Central Processing Unit:中央演算処理装置)10と、記憶部12と、セキュアブート部14と、インタフェース部16と、タッチパネル18と、マイクロフォン(マイク)20と、スピーカ22とを備える。これら各部はデータを交換できるように構成されている。インフォテイメント機器1040は、自動車1001に搭載される情報処理装置の例である。
CPU10はインフォテイメント機器1040の制御を行う。この制御機能は、CPU10がコンピュータプログラムを実行することにより実現される。記憶部12は、CPU10で実行されるコンピュータプログラムや各種のデータを記憶する。記憶部12は、少なくとも、診断アプリケーション及び制御アプリケーション(共に図示せず)を記憶している。診断アプリケーションは、車載診断ツールの機能を実現させるためのコンピュータプログラムである。制御アプリケーションは、診断アプリケーションに関する制御機能を実現させるためのコンピュータプログラムである。
セキュアブート部14はセキュアブートを実行する。インタフェース部16は、自インフォテイメント機器1040の外部の装置とデータを送受する。タッチパネル18は、液晶パネル等の表示画面を備え、表示画面へのデータ表示と、利用者による表示画面へのタッチ操作に応じたデータ入力とを行う。本実施形態の一例として、図4に示されるように、タッチパネル18は自動車1001の運転席の正面付近に設置される。利用者は、タッチパネル18をタッチ操作することにより、インフォテイメント機器1040の操作を行うことができる。マイク20は音声の入力を行う。スピーカ22は音声の再生を行う。
図3は、本実施形態に係る制御装置1040aの機能構成例を示すブロック図である。図3において、制御装置1040aは、デバイス識別部30と、アプリケーション識別部32と、通信制御部34と、車両情報取得部36と、実行制御部38と、を備える。これら制御装置1040aの各部の機能は、図2に示されるインフォテイメント機器1040において、CPU10が記憶部12に記憶される制御アプリケーションを実行することにより実現される。
デバイス識別部30は、自動車1001に搭載されるインフォテイメント機器1040との間でアクセスを行うデバイスをインフォテイメント機器1040のOS(Operating System:オペレーティングシステム)のファイルディスクリプタ(file descriptor:ファイル記述子)により識別する。アプリケーション識別部32は、インフォテイメント機器1040が現在実行しているアプリケーションをOSに問い合わせて識別する。
通信制御部34は、デバイス識別部30の識別結果及びアプリケーション識別部32の識別結果に基づいて、診断アプリケーションの通信を対象に、診断アプリケーションとの通信が許可された特定のデバイス又は他のアプリケーション(第2アプリケーション)と診断アプリケーションとの間の通信経路のみを確立させる。又は、通信制御部34は、デバイス識別部30の識別結果及びアプリケーション識別部32の識別結果に基づいて、診断アプリケーションの通信を対象に、診断アプリケーションとの通信が許可された特定のデバイス及び他のアプリケーション(第2アプリケーション)の両方と診断アプリケーションとの間の通信経路のみを確立させる。診断アプリケーションは、自動車1001の保守に関する処理を実行する第1アプリケーションの例である。
実行制御部38は、診断アプリケーションの実行の制御を行う。例えば、実行制御部38は、インフォテイメント機器1040への利用者の操作(タッチパネル18のタッチ操作)に応じて、診断アプリケーションの実行の制御を行う。車両情報取得部36は、自動車1001の状態を示す車両情報を取得する。実行制御部38は、該車両情報に基づいて診断アプリケーションの実行を制御する。
次に図5及び図6を参照して本実施形態に係る制御方法の例を説明する。図5及び図6は、本実施形態に係る制御方法の例を示す説明図である。
(制御方法の例1)
図5を参照して制御方法の例1を説明する。制御方法の例1は、インフォテイメント機器1040のタッチパネル18のタッチ操作により、車載診断ツールが自動車1001の各種の保守作業を実施する場合の例である。図5において、インフォテイメント機器1040は、アプリケーション層として、診断アプリケーション50、ナビゲーションアプリケーション52及び車両制御アプリケーション54などの各種のアプリケーションを備える。該アプリケーションがインフォテイメント機器1040のCPU10により実行されることによって、該アプリケーションの機能が実現される。例えば、CPU10が診断アプリケーション50を実行することにより、車載診断ツールの機能が実現される。
インフォテイメント機器1040は、OS層として、OS60を備える。OS60は、OS本体とデバイスドライバなどを備える。OS60は、ファイルディスクリプタ62,64,66を備える。
インフォテイメント機器1040は、デバイス(物理層)として、タッチパネル18、CANインタフェース16−1、近距離無線通信インタフェース16−2などを備える。CANインタフェース16−1及び近距離無線通信インタフェース16−2は、インタフェース部16に含まれる。CANインタフェース16−1は、CAN1030に接続される車載コンピュータシステム1002のデータ保安装置1010及びECU1020とデータを送受する通信インタフェースである。近距離無線通信インタフェース16−2は、近距離無線通信方式によりデータを送受する通信インタフェースである。近距離無線通信方式として、例えば、Wi−Fi方式やBluetooth(登録商標)などが挙げられる。
ファイルディスクリプタ62は、タッチパネル18を識別するための識別子である。ファイルディスクリプタ64は、CANインタフェース16−1を識別するための識別子である。ファイルディスクリプタ66は、近距離無線通信インタフェース16−2を識別するための識別子である。デバイス識別部30は、ファイルディスクリプタ62により、タッチパネル18を識別する。デバイス識別部30は、ファイルディスクリプタ64により、CANインタフェース16−1を識別する。デバイス識別部30は、ファイルディスクリプタ66により、近距離無線通信インタフェース16−2を識別する。
図5及び図6に示すタッチパネル18、CANインタフェース16−1、近距離無線通信インタフェース16−2及びLTE(Long Term Evolution)インタフェース16−3は、インフォテイメント機器1040との間でアクセスを行うデバイスの例である。インフォテイメント機器1040との間でアクセスを行うデバイスは、タッチパネル18、CANインタフェース16−1、近距離無線通信インタフェース16−2及びLTEインタフェース16−3に限定されず、さらに他のデバイスであってもよい。OS60は、インフォテイメント機器1040との間でアクセスを行うデバイスを識別するためのファイルディスクリプタを該デバイス毎に備える。
アプリケーション識別部32は、インフォテイメント機器1040が現在実行しているアプリケーションをOS60に問い合わせて識別する。例えば、アプリケーション識別部32は、OS60がプロセスとして起動しているアプリケーションの名称を取得するための特定コマンドを使用して、OS60がプロセスとして起動しているアプリケーションの名称を取得する。例えば、OS60がLinux(登録商標)(リナックス(登録商標))である場合、psコマンドを使用することにより、Linuxがプロセスとして起動しているアプリケーションの名称を取得することができる。
通信制御部34は、デバイス識別部30の識別結果及びアプリケーション識別部32の識別結果に基づいて、診断アプリケーション50の通信を対象に、診断アプリケーション50との通信が許可された特定のデバイス又は他のアプリケーションと診断アプリケーション50との間の通信経路のみを確立させる。又は、通信制御部34は、デバイス識別部30の識別結果及びアプリケーション識別部32の識別結果に基づいて、診断アプリケーション50の通信を対象に、診断アプリケーション50との通信が許可された特定のデバイス及び他のアプリケーションの両方と診断アプリケーション50との間の通信経路のみを確立させる。通信制御部34は、予め、通信許可対象情報を保持する。通信許可対象情報は、診断アプリケーション50との通信が許可された特定のデバイス及び他のアプリケーションを示す情報である。
通信制御部34は、デバイス識別部30の識別結果のデバイスと、アプリケーション識別部32の識別結果のアプリケーションとの間の通信を、フック(割り込み)する。例えば、OS60がLinuxである場合、LSM(Linux Security Module)を使用することにより、デバイスとアプリケーションとの間の通信をフックすることができる。また、OS60がLinuxである場合、LSMを使用することにより、診断アプリケーション50に対するデバイス又は他のアプリケーションからの通信要求等の制御を破棄することができる。
通信制御部34は、診断アプリケーション50の通信をフックする。通信制御部34は、該フックの結果、診断アプリケーション50の通信相手が通信許可対象情報に含まれる場合に、該通信相手と診断アプリケーション50との間の通信経路を確立させる。一方、通信制御部34は、該フックの結果、診断アプリケーション50の通信相手が通信許可対象情報に含まれない場合には、該通信相手と診断アプリケーション50との間の通信経路を確立させない。これにより、診断アプリケーション50の通信相手が通信許可対象情報に含まれる場合にのみ、診断アプリケーション50と該通信相手とは通信を行うことができる。つまり、診断アプリケーション50の通信相手が通信許可対象情報に含まれない場合には、診断アプリケーション50と該通信相手とは通信を行うことができない。
図5に示される例では、診断アプリケーション50との通信が許可されたデバイスは、タッチパネル18及びCANインタフェース16−1である。近距離無線通信インタフェース16−2は、診断アプリケーション50との通信が許可されていない。また、診断アプリケーション50との通信が許可された他のアプリケーションは、存在しない。したがって、図5の例では、通信許可対象情報は、タッチパネル18及びCANインタフェース16−1のみを示す情報である。
図5において、通信制御部34は、通信許可対象情報に基づいて、診断アプリケーション50間の通信経路A1とタッチパネル18間の通信経路D1とを接続する。これにより、診断アプリケーション50とタッチパネル18との間の通信経路が確立されるので、診断アプリケーション50とタッチパネル18とは通信を行うことができる。診断アプリケーション50とタッチパネル18との通信が可能になることにより、インフォテイメント機器1040のタッチパネル18のタッチ操作によって車載診断ツールの操作を行うことができるようになる。これは、車載診断ツールの正常な利用形態である。
また、図5において、通信制御部34は、通信許可対象情報に基づいて、診断アプリケーション50間の通信経路A2とCANインタフェース16−1間の通信経路D2とを接続する。これにより、診断アプリケーション50とCANインタフェース16−1との間の通信経路が確立されるので、診断アプリケーション50は、CANインタフェース16−1を介して、CAN1030に接続される車載コンピュータシステム1002のデータ保安装置1010及びECU1020と通信を行うことができる。診断アプリケーション50とデータ保安装置1010及びECU1020との通信が可能になることにより、車載診断ツールは自動車1001の各種の保守作業を実施することができる。これは、車載診断ツールの正常な利用形態である。
一方、図5において、通信制御部34は、通信許可対象情報に基づいて、他のアプリケーション、例えば車両制御アプリケーション54間の通信経路B1と、診断アプリケーション50間の通信経路B3とを接続しない。これにより、診断アプリケーション50と車両制御アプリケーション54との間の通信経路が確立されないので、診断アプリケーション50と車両制御アプリケーション54とは通信を行うことができない。このことは、もし車両制御アプリケーション54がコンピュータウィルスに感染していた場合に、コンピュータウィルスによる診断アプリケーション50への攻撃を防止する効果を奏する。
また、図5において、通信制御部34は、通信許可対象情報に基づいて、近距離無線通信インタフェース16−2間の通信経路B2と、診断アプリケーション50間の通信経路B3とを接続しない。これにより、診断アプリケーション50と近距離無線通信インタフェース16−2との間の通信経路が確立されないので、診断アプリケーション50と近距離無線通信方式の通信相手とは通信を行うことができない。このことは、近距離無線通信方式の通信相手からの診断アプリケーション50への不正なアクセスを防止する効果を奏する。
なお、OS60がコンピュータウィルスに感染することを想定し、セキュアブート部14は、車載診断ツールが実施する自動車1001の各種の保守作業の対象のデバイスドライバ及びOS本体の機能を対象にして、セキュアブートを行うようにしてもよい。さらには、セキュアブート部14は、診断アプリケーション50をセキュアブートの対象に含めてもよい。
また、OS60の起動時間の制約が大きい場合には、OS60が起動した後に、デバイスドライバ、OS本体、アプリケーションのダイジェスト値を計算して所定の期待値との一致を検証してもよい。これにより、デバイスドライバ、OS本体、アプリケーションが改竄されていないかを確認することができる。ダイジェスト値として、例えばハッシュ(hash)値を計算してもよい。
実行制御部38は、セキュアブート部14のセキュアブートが成功した場合に診断アプリケーション50を起動し、該セキュアブートが失敗した場合には診断アプリケーション50を起動しないようにしてもよい。また、実行制御部38は、ユーザIDとパスワードを使用したユーザ認証が合格した場合に診断アプリケーション50を起動し、該ユーザ認証が不合格である場合には診断アプリケーション50を起動しないようにしてもよい。
(制御方法の例2)
図6を参照して制御方法の例2を説明する。制御方法の例2は、サーバ装置2000の正規リモートサイト72と自動車1001のインフォテイメント機器1040の車載診断ツールとが連携して自動車1001の各種の保守作業を実施する場合の例である。図6において図5に対応する部分には同一の符号を付け、その説明を省略する。以下、図5の制御方法の例1と異なる部分を主に説明する。
図6において、インフォテイメント機器1040は、デバイス(物理層)として、タッチパネル18、CANインタフェース16−1、LTE(Long Term Evolution)インタフェース16−3などを備える。CANインタフェース16−1及びLTEインタフェース16−3は、インタフェース部16に含まれる。LTEインタフェース16−3は、LTEと呼ばれる無線通信方式の無線通信ネットワークを介して、自動車1001の外部の装置と通信を行う通信インタフェースである。OS60は、ファイルディスクリプタ68を備える。ファイルディスクリプタ68は、LTEインタフェース16−3を識別するための識別子である。デバイス識別部30は、ファイルディスクリプタ68により、LTEインタフェース16−3を識別する。
図6において、診断アプリケーション50は、https(hypertext transfer protocol secure)通信機能を備える。診断アプリケーション50は、https通信機能により、正規リモートサイト72との間でhttps通信を行う。診断アプリケーション50と正規リモートサイト72との間の通信経路は、通信経路C1,C2及びC3から構成される。本実施形態では、暗号化通信路の一例として、https通信を行う。これにより、診断アプリケーション50と正規リモートサイト72との間の通信の安全性を高めることができる。
また、診断アプリケーション50は、正規リモートサイト72を認証する機能を備え、該認証が合格した場合にサイト接続を実行し、該認証が不合格である場合にはサイト接続を実行しない。これにより、診断アプリケーション50に対する不正サイトからの攻撃を防止することができる。
通信制御部34は、診断アプリケーション50がLTEインタフェース16−3を介して行う通信について、診断アプリケーション50から開始する通信の通信経路のみを確立させる。これにより、自動車1001の外部から診断アプリケーション50に対して不正にアクセスされることを防止することができる。このために、さらに、通信制御部34は、LTEインタフェース16−3を対象に、外部(無線通信ネットワーク側)から通信を受け付けるポート(port)を常時閉じるようにしてもよい。
実行制御部38は、インフォテイメント機器1040のタッチパネル18のタッチ操作に応じて、診断アプリケーション50の通信を開始させる制御を行う。例えば、実行制御部38は、タッチパネル18の表示画面に診断項目やECU1020のECUコード更新などの保守作業項目などを表示させ、タッチパネル18のタッチ操作により項目の承諾を受け付ける。これにより、実行制御部38は、車載診断ツールが正規リモートサイト72と連携して実施する自動車1001の保守作業の項目についての承諾を得てから、診断アプリケーション50のhttps通信を開始させる制御を行う。このことは、正規リモートサイト72から遠隔で自動車1001の保守作業を実施する場合に、該保守作業の安全性を保つことに寄与する効果を奏する。
また、OS60は、iptables70を備え、iptables70を使用してルーティングフィルタリングを行ってもよい。iptables70は、診断アプリケーション50との通信を許可するIPアドレス、ポート番号などの一覧である。
また、OS60は、診断アプリケーション50に向かう通信(Inbound通信)を拒否するようにしてもよい。また、OS60は、診断アプリケーション50からLTEインタフェース16−3に向かう通信(Outbound通信)について、アプリケーション名、宛先IPアドレス、ポート番号などの情報に基づいて、正規リモートサイト72との通信のみに制限してもよい。
次に、上述した図5及び図6の制御方法の変形例を説明する。
<制御方法の変形例>
制御方法の変形例では、車両情報取得部36が取得した車両情報に基づいて診断アプリケーション50の実行を制御する。車両情報は、自動車1001の状態を示す情報である。実行制御部38は、車両情報が示す自動車1001の状態が所定の実行条件を満たしている時に、診断アプリケーション50に自動車1001の保守に関する処理(以下、保守処理)を実行させる。保守処理は、予め定められている。保守処理は、例えば、自動車1001の診断処理やECU1020のECUコード更新処理などである。
実行制御部38は、車両情報取得部36が取得した車両情報に基づいて、保守処理を実行させるか否かを判断する。実行制御部38は、車両情報が示す自動車1001の状態が所定の実行条件を満たしている時に、診断アプリケーション50の保守処理を実行させる。実行制御部38は、車両情報が示す自動車1001の状態が該実行条件を満たしていない時には、診断アプリケーション50の保守処理を実行させない。
以下に実行条件の例を挙げる。以下の実行条件は単独又は複数の組合せで適用できる。
(実行条件の例1)実行条件は、自動車1001の走行モードが「パーキング(駐車)」であることである。自動車1001が走行中にECU1020のECUコードを更新することは好ましくない。このため、自動車1001が駐車している時にECU1020のECUコードを更新することは好ましい。
(実行条件の例2)実行条件は、自動車1001のエンジンが始動していることである。自動車1001のエンジンが停止すると、インフォテイメント機器1040やECU1020、TCU1050などの車載装置への電力の供給が不安定になる可能性がある。このため、自動車1001のエンジンが始動している時にECU1020のECUコードを更新したり、自動車1001の診断を行ったりすることは好ましい。
(実行条件の例3)実行条件は、自動車1001のバッテリの残容量が、該残容量が十分にあると判定するための所定量を満たしていることである。この実行条件の例3は、自動車1001がエンジンと電気モータとを組み合わせたハイブリッドシステムを備える場合に好ましい。
(実行条件の例4)実行条件は、自動車1001のイモビライザ(immobilizer)が自動車1001の車内に存在していることである。イモビライザが自動車1001の車内に存在している時は、保守作業者や自動車1001の利用者が自動車1001の車内又は自動車1001の傍に居ると考えられる。このため、イモビライザが自動車1001の車内に存在している時にECU1020のECUコードを更新することは好ましい。
上述した実施形態によれば、診断アプリケーション50との通信が許可されたデバイスや他のアプリケーションとの間の通信のみが可能になるので、診断アプリケーション50に対する不正なアクセスや攻撃を防止することができる。これにより、診断アプリケーション50による自動車1001の各種の保守作業の信頼性を向上させることができるという効果が得られる。
また、上述した実施形態によれば、診断アプリケーション50と自動車1001の外部との通信が正規リモートサイト72との通信に制限されるので、自動車1001の外部から診断アプリケーション50に対する不正なアクセスや攻撃を防止することができる。これにより、正規リモートサイト72による遠隔での自動車1001の各種の保守作業の信頼性を向上させることができるという効果が得られる。
また、上述した実施形態によれば、自動車1001が車載診断ツールを備えるので、診断ポート1060、例えばOBDポートを利用しなくても、自動車1001の各種の保守作業を実施することができる。
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
上述した実施形態では、自動車1001に備わるインフォテイメント機器1040が車載診断ツール(診断アプリケーション50)及び制御装置1040aを備えたが、自動車1001において車載診断ツール(診断アプリケーション50)及び制御装置1040aをインフォテイメント機器1040以外の他の車載の情報処理装置に備えてもよく、又は、車載診断ツール(診断アプリケーション50)及び制御装置1040aを単独の車載の情報処理装置として自動車1001に備えてもよい。
上述した実施形態では、データ保安装置1010やECU1020にHSMやSHEを使用したが、HSM及びSHE以外の暗号処理チップを使用してもよい。データ保安装置1010に対して、例えば「TPM(Trusted Platform Module)f」と呼ばれる暗号処理チップを使用してもよい。TPMfは耐タンパー性を有する。TPMfはセキュアエレメントの例である。ECU1020に対して、例えば「TPMt」と呼ばれる暗号処理チップを使用してもよい。TPMtは耐タンパー性を有する。TPMtはセキュアエレメントの例である。
上述した実施形態は、自動車の製造工場において、自動車の製造工程で自動車の各種の保守作業に適用してもよい。また、上述した実施形態は、自動車の整備工場や販売店等において、自動車の各種の保守作業に適用してもよい。
上述した実施形態では、車両として自動車を例に挙げたが、原動機付自転車や鉄道車両等の自動車以外の他の車両にも適用可能である。
また、上述した各装置の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。