(57)【要約】      （修正有）【課題】自動車の車載制御システムのＥＣＵのコンピュータプログラムの更新等の保守作業の信頼性を向上させる制御装置、制御方法、及びコンピュータプログラムを提供する。【解決手段】車両に搭載される情報処理装置が現在実行しているアプリケーションをオペレーティングシステムに問い合わせて識別するアプリケーション識別部３２と、アプリケーション識別部３２の識別結果に基づいて、車両の保守に関する処理を実行する第１アプリケーションの通信を対象に、第１アプリケーションとの通信が許可された特定の第２アプリケーションと第１アプリケーションとの間の通信経路のみを確立させる通信制御部３４と、を備える。【選択図】図３
2018060509.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載される情報処理装置が現在実行しているアプリケーションを前記情報処理装置のオペレーティングシステムに問い合わせて識別するアプリケーション識別部と、
前記アプリケーション識別部の識別結果に基づいて、前記車両の保守に関する処理を実行する第１アプリケーションの通信を対象に、前記第１アプリケーションとの通信が許可された特定の第２アプリケーションと前記第１アプリケーションとの間の通信経路のみを確立させる通信制御部と、
を備える制御装置。
【請求項２】
前記通信制御部は、前記第１アプリケーションが前記車両の外部の装置と行う通信について、前記第１アプリケーションから開始する通信の通信経路のみを確立させる、
請求項１に記載の制御装置。
【請求項３】
制御装置が、車両に搭載される情報処理装置が現在実行しているアプリケーションを前記情報処理装置のオペレーティングシステムに問い合わせて識別するアプリケーション識別ステップと、
前記制御装置が、前記アプリケーション識別ステップの識別結果に基づいて、前記車両の保守に関する処理を実行する第１アプリケーションの通信を対象に、前記第１アプリケーションとの通信が許可された特定の第２アプリケーションと前記第１アプリケーションとの間の通信経路のみを確立させる通信制御ステップと、
を含む制御方法。
【請求項４】
コンピュータに、
車両に搭載される情報処理装置が現在実行しているアプリケーションを前記情報処理装置のオペレーティングシステムに問い合わせて識別するアプリケーション識別機能と、
前記アプリケーション識別機能の識別結果に基づいて、前記車両の保守に関する処理を実行する第１アプリケーションの通信を対象に、前記第１アプリケーションとの通信が許可された特定の第２アプリケーションと前記第１アプリケーションとの間の通信経路のみを確立させる通信制御機能と、
を実現させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、制御方法、及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、自動車は、ＥＣＵ（Electronic Control Unit：電子制御装置）を有し、ＥＣＵによってエンジン制御等の機能を実現する。ＥＣＵは、コンピュータの一種であり、コンピュータプログラムによって所望の機能を実現する。複数のＥＣＵをＣＡＮ（Controller Area Network）に接続して構成される車載制御システムについてのセキュリティ技術が例えば非特許文献１に記載されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】竹森敬祐、“セキュアエレメントを基点とした車載制御システムの保護  −要素技術の整理と考察−”、電子情報通信学会、信学技報、vol. 114、no. 508、pp. 73-78、2015年3月
【発明の概要】
【発明が解決しようとする課題】
【０００４】
自動車の車載制御システムのＥＣＵのコンピュータプログラムの更新等の保守作業の信頼性を向上させることが一つの課題であった。
【０００５】
本発明は、このような事情を考慮してなされたものであり、自動車の車載制御システムのＥＣＵのコンピュータプログラムの更新等の保守作業の信頼性を向上させることができる、制御装置、制御方法、及びコンピュータプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
（１）本発明の一態様は、車両に搭載される情報処理装置が現在実行しているアプリケーションを前記情報処理装置のオペレーティングシステムに問い合わせて識別するアプリケーション識別部と、前記アプリケーション識別部の識別結果に基づいて、前記車両の保守に関する処理を実行する第１アプリケーションの通信を対象に、前記第１アプリケーションとの通信が許可された特定の第２アプリケーションと前記第１アプリケーションとの間の通信経路のみを確立させる通信制御部と、を備える制御装置である。
【０００７】
（２）本発明の一態様は、上記（１）の制御装置において、前記通信制御部は、前記第１アプリケーションが前記車両の外部の装置と行う通信について、前記第１アプリケーションから開始する通信の通信経路のみを確立させる、制御装置である。
【０００８】
（３）本発明の一態様は、制御装置が、車両に搭載される情報処理装置が現在実行しているアプリケーションを前記情報処理装置のオペレーティングシステムに問い合わせて識別するアプリケーション識別ステップと、前記制御装置が、前記アプリケーション識別ステップの識別結果に基づいて、前記車両の保守に関する処理を実行する第１アプリケーションの通信を対象に、前記第１アプリケーションとの通信が許可された特定の第２アプリケーションと前記第１アプリケーションとの間の通信経路のみを確立させる通信制御ステップと、を含む制御方法である。
【０００９】
（４）本発明の一態様は、コンピュータに、車両に搭載される情報処理装置が現在実行しているアプリケーションを前記情報処理装置のオペレーティングシステムに問い合わせて識別するアプリケーション識別機能と、前記アプリケーション識別機能の識別結果に基づいて、前記車両の保守に関する処理を実行する第１アプリケーションの通信を対象に、前記第１アプリケーションとの通信が許可された特定の第２アプリケーションと前記第１アプリケーションとの間の通信経路のみを確立させる通信制御機能と、を実現させるためのコンピュータプログラムである。
【発明の効果】
【００１０】
本発明によれば、自動車の車載制御システムのＥＣＵのコンピュータプログラムの更新等の保守作業の信頼性を向上させることができるという効果が得られる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態に係る自動車１００１の構成例を示す図である。
【図２】一実施形態に係るインフォテイメント機器１０４０のハードウェア構成例を示すブロック図である。
【図３】一実施形態に係る制御装置１０４０ａの機能構成例を示すブロック図である。
【図４】一実施形態に係るタッチパネル１８の設置例を示す図である。
【図５】一実施形態に係る制御方法の例を示す説明図である。
【図６】一実施形態に係る制御方法の例を示す説明図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照し、本発明の実施形態について説明する。なお、以下に示す実施形態では、車両として自動車を例に挙げて説明する。
【００１３】
図１は、一実施形態に係る自動車１００１の構成例を示す図である。図１において、自動車１００１は、車載コンピュータシステム１００２と、インフォテイメント（Infotainment）機器１０４０と、ＴＣＵ（Tele Communication Unit）１０５０と、診断ポート１０６０と、ゲートウェイ１０７０とを備える。車載コンピュータシステム１００２は、データ保安装置１０１０と複数のＥＣＵ（電子制御装置）１０２０とがＣＡＮ（Controller Area Network）１０３０に接続されて構成される。ＣＡＮ１０３０は通信ネットワークである。ＣＡＮは車両に搭載される通信ネットワークの一つとして知られている。本実施形態において、車載コンピュータシステム１００２は、自動車１００１の車載制御システムとして機能する。
【００１４】
ＥＣＵ１０２０は、自動車１００１に備わる車載コンピュータである。ＥＣＵ１０２０は、自動車１００１のエンジン制御等の制御機能を有する。ＥＣＵ１０２０として、例えば、エンジン制御機能を有するＥＣＵ、ハンドル制御機能を有するＥＣＵ、ブレーキ制御機能を有するＥＣＵなどがある。データ保安装置１０１０は、自動車１００１に備わる車載コンピュータである。データ保安装置１０１０は、自動車１００１に搭載されたＥＣＵ１０２０に適用されるデータのセキュリティ（保安）の機能を有する。なお、自動車１００１に搭載されたいずれかのＥＣＵをデータ保安装置１０１０として機能させてもよい。
【００１５】
データ保安装置１０１０は、ＣＡＮ１０３０を介して、各ＥＣＵ１０２０との間でデータを交換する。ＥＣＵ１０２０は、ＣＡＮ１０３０を介して、他のＥＣＵ１０２０との間でデータを交換する。
【００１６】
なお、車両に搭載される通信ネットワークとして、ＣＡＮ以外の通信ネットワークを自動車１００１に備え、ＣＡＮ以外の通信ネットワークを介して、データ保安装置１０１０とＥＣＵ１０２０との間のデータの交換、及び、ＥＣＵ１０２０同士の間のデータの交換が行われてもよい。例えば、ＬＩＮ（Local Interconnect Network）を自動車１００１に備えてもよい。また、ＣＡＮとＬＩＮとを自動車１００１に備えてもよい。また、自動車１００１において、ＬＩＮに接続するＥＣＵ１０２０を備えてもよい。また、データ保安装置１０１０は、ＣＡＮとＬＩＮとに接続されてもよい。また、データ保安装置１０１０は、ＣＡＮを介して該ＣＡＮに接続されるＥＣＵ１０２０との間でデータを交換し、また、ＬＩＮを介して該ＬＩＮに接続されるＥＣＵ１０２０との間でデータを交換してもよい。また、ＥＣＵ１０２０同士が、ＬＩＮを介してデータを交換してもよい。
【００１７】
ゲートウェイ１０７０は、車載コンピュータシステム１００２の内部と外部の間の通信を監視する。ゲートウェイ１０７０はＣＡＮ１０３０に接続される。また、ゲートウェイ１０７０は、車載コンピュータシステム１００２の外部の装置の例として、インフォテイメント機器１０４０、ＴＣＵ１０５０及び診断ポート１０６０と接続される。データ保安装置１０１０及びＥＣＵ１０２０は、ゲートウェイ１０７０を介して、車載コンピュータシステム１００２の外部の装置と通信を行う。
【００１８】
なお、ＣＡＮ１０３０の構成として、ＣＡＮ１０３０が複数のバス（通信線）を備え、該複数のバスをゲートウェイ１０７０に接続してもよい。この場合、一つのバスに、一つのＥＣＵ１０２０又は複数のＥＣＵ１０２０が接続される。また、同じバスにデータ保安装置１０１０とＥＣＵ１０２０とが接続されてもよく、又は、データ保安装置１０１０が接続されるバスとＥＣＵ１０２０が接続されるバスとを別個にしてもよい。
【００１９】
自動車１００１は診断ポート１０６０を備える。診断ポート１０６０として、例えばＯＢＤ（On-board Diagnostics）ポートを使用してもよい。診断ポート１０６０には、自動車１００１の外部の装置を接続可能である。診断ポート１０６０に接続可能な自動車１００１の外部の装置として、例えば、図１に示されるメンテナンスツール２１００などがある。車載コンピュータシステム１００２と、診断ポート１０６０に接続された装置、例えばメンテナンスツール２１００とは、診断ポート１０６０及びゲートウェイ１０７０を介して、データを交換する。メンテナンスツール２１００は、ＯＢＤポートに接続される従来の診断ツールの機能を有していてもよい。
【００２０】
なお、自動車１００１は、診断ポート１０６０から自動車１００１の車載装置へのアクセスを制限したり不可能にしたりする診断ポートアクセス制限部をさらに備えてもよい。さらに、その診断ポートアクセス制限部は、診断ポート１０６０から自動車１００１の車載装置へのアクセスを制限したり不可能にしたりすることを任意に設定できる設定操作部を備えてもよい。
【００２１】
自動車１００１はインフォテイメント機器１０４０を備える。インフォテイメント機器１０４０は、例えば、ナビゲーション機能、位置情報サービス機能、音楽や動画などのマルチメディア再生機能、音声通信機能、データ通信機能、インターネット接続機能などを備える。本実施形態では、インフォテイメント機器１０４０は、さらに、車載診断ツールの機能を備える。車載診断ツールは、自動車１００１の各種の保守作業を実施する。車載診断ツールは、ＯＢＤポートに接続される従来の診断ツールの機能を有していてもよい。
【００２２】
自動車１００１は、ＴＣＵ１０５０を備える。ＴＣＵ１０５０は通信装置である。ＴＣＵ１０５０は通信モジュール１０５１を備える。通信モジュール１０５１は、無線通信ネットワークを利用して無線通信を行う。通信モジュール１０５１は、ＳＩＭ（Subscriber Identity Module）１０５２を備える。ＳＩＭ１０５２は、無線通信ネットワークを利用するための情報が書き込まれたＳＩＭである。通信モジュール１０５１は、ＳＩＭ１０５２を使用することにより該無線通信ネットワークに接続して無線通信を行うことができる。なお、ＳＩＭ１０５２として、ｅＳＩＭ（Embedded Subscriber Identity Module）を使用してもよい。
【００２３】
インフォテイメント機器１０４０は、ゲートウェイ１０７０を介して、ＴＣＵ１０５０とデータを交換する。なお、ＴＣＵ１０５０とインフォテイメント機器１０４０とを通信ケーブルで直接接続し、ＴＣＵ１０５０とインフォテイメント機器１０４０は該通信ケーブルを介してデータを交換してもよい。例えば、ＵＳＢ（universal serial bus）ケーブルでＴＣＵ１０５０とインフォテイメント機器１０４０とを直接接続し、ＴＣＵ１０５０とインフォテイメント機器１０４０は該ＵＳＢケーブルを介してデータを交換してもよい。また、ＴＣＵ１０５０とインフォテイメント機器１０４０とをＵＳＢケーブル等の通信ケーブルで直接接続し、該通信ケーブルを介してＴＣＵ１０５０とインフォテイメント機器１０４０間のデータの交換を行う場合、ＴＣＵ１０５０とインフォテイメント機器１０４０とのうち送信側の装置は、受信側の装置に送信するデータを一時的に蓄えるバッファを備えてもよい。
【００２４】
なお、ＴＣＵ１０５０を診断ポート１０６０に接続し、インフォテイメント機器１０４０が、ゲートウェイ１０７０及び診断ポート１０６０を介して、該診断ポート１０６０に接続されたＴＣＵ１０５０とデータを交換してもよい。又は、インフォテイメント機器１０４０が、ＳＩＭ１０５２を含む通信モジュール１０５１を備えてもよい。インフォテイメント機器１０４０がＳＩＭ１０５２を含む通信モジュール１０５１を備える場合には、自動車１００１はＴＣＵ１０５０を備えなくてもよい。
【００２５】
データ保安装置１０１０は、メイン演算器１０１１とＨＳＭ（Hardware Security Module）１０１２を備える。メイン演算器１０１１は、データ保安装置１０１０の機能を実現させるためのコンピュータプログラムを実行する。ＨＳＭ１０１２は暗号処理機能等を有する。ＨＳＭ１０１２は耐タンパー性（Tamper Resistant）を有する。ＨＳＭ１０１２はセキュアエレメント（Secure Element：ＳＥ）の例である。ＨＳＭ１０１２は、データを記憶する記憶部１０１３を備える。メイン演算器１０１１はＨＳＭ１０１２を使用する。
【００２６】
ＥＣＵ１０２０は、メイン演算器１０２１とＳＨＥ（Secure Hardware Extension）１０２２を備える。メイン演算器１０２１は、ＥＣＵ１０２０の機能を実現させるためのコンピュータプログラムを実行する。ＳＨＥ１０２２は暗号処理機能等を有する。ＳＨＥ１０２２は耐タンパー性を有する。ＳＨＥ１０２２はセキュアエレメントの例である。ＳＨＥ１０２２は、データを記憶する記憶部１０２３を備える。メイン演算器１０２１はＳＨＥ１０２２を使用する。
【００２７】
サーバ装置２０００は、通信回線を介して、自動車１００１のＴＣＵ１０５０の通信モジュール１０５１とデータを送受する。サーバ装置２０００は、自動車１００１のＴＣＵ１０５０の通信モジュール１０５１が利用する無線通信ネットワークを介して、該通信モジュール１０５１とデータを送受する。又は、サーバ装置２０００は、インターネット等の通信ネットワークと該無線通信ネットワークとを介して、該通信モジュール１０５１とデータを送受してもよい。また、例えば、サーバ装置２０００と通信モジュール１０５１との間をＶＰＮ（Virtual Private Network）回線等の専用回線で接続し、該専用回線でデータを送受してもよい。例えば、ＳＩＭ１０５２に対応する無線通信ネットワークによって、ＶＰＮ回線等の専用回線が提供されてもよい。なお、サーバ装置２０００と自動車１００１とを通信ケーブルで接続してもよい。例えば、サーバ装置２０００と自動車１００１のゲートウェイ１０７０とを通信ケーブルで接続するように構成してもよい。
【００２８】
サーバ装置２０００は、自動車１００１の保守作業を実施する正規のリモートサイト（以下、正規リモートサイトと称する）を開設している。正規リモートサイトは、自動車１００１のインフォテイメント機器１０４０の車載診断ツールと連携して自動車１００１の各種の保守作業を実施する。自動車１００１の保守作業の一例として、ＥＣＵ１０２０のＥＣＵコード（ECU code）の更新作業がある。ＥＣＵコードは、ＥＣＵ１０２０に適用されるデータの例である。ＥＣＵコードは、ＥＣＵ１０２０にインストールされる更新プログラム等のコンピュータプログラムであってもよく、又は、ＥＣＵ１０２０に設定されるパラメータ設定値などの設定データであってもよい。
【００２９】
なお、自動車１００１のインフォテイメント機器１０４０の車載診断ツールは、単独でも、又は、サーバ装置２０００と連携してでも、自動車１００１の各種の保守作業を実施することができる。
【００３０】
次に図２、図３及び図４を参照して本実施形態に係るインフォテイメント機器１０４０を説明する。図２は、インフォテイメント機器１０４０のハードウェア構成例を示すブロック図である。図２において、インフォテイメント機器１０４０は、ＣＰＵ（Central Processing Unit：中央演算処理装置）１０と、記憶部１２と、セキュアブート部１４と、インタフェース部１６と、タッチパネル１８と、マイクロフォン（マイク）２０と、スピーカ２２とを備える。これら各部はデータを交換できるように構成されている。インフォテイメント機器１０４０は、自動車１００１に搭載される情報処理装置の例である。
【００３１】
ＣＰＵ１０はインフォテイメント機器１０４０の制御を行う。この制御機能は、ＣＰＵ１０がコンピュータプログラムを実行することにより実現される。記憶部１２は、ＣＰＵ１０で実行されるコンピュータプログラムや各種のデータを記憶する。記憶部１２は、少なくとも、診断アプリケーション及び制御アプリケーション（共に図示せず）を記憶している。診断アプリケーションは、車載診断ツールの機能を実現させるためのコンピュータプログラムである。制御アプリケーションは、診断アプリケーションに関する制御機能を実現させるためのコンピュータプログラムである。
【００３２】
セキュアブート部１４はセキュアブートを実行する。インタフェース部１６は、自インフォテイメント機器１０４０の外部の装置とデータを送受する。タッチパネル１８は、液晶パネル等の表示画面を備え、表示画面へのデータ表示と、利用者による表示画面へのタッチ操作に応じたデータ入力とを行う。本実施形態の一例として、図４に示されるように、タッチパネル１８は自動車１００１の運転席の正面付近に設置される。利用者は、タッチパネル１８をタッチ操作することにより、インフォテイメント機器１０４０の操作を行うことができる。マイク２０は音声の入力を行う。スピーカ２２は音声の再生を行う。
【００３３】
図３は、本実施形態に係る制御装置１０４０ａの機能構成例を示すブロック図である。図３において、制御装置１０４０ａは、デバイス識別部３０と、アプリケーション識別部３２と、通信制御部３４と、車両情報取得部３６と、実行制御部３８と、を備える。これら制御装置１０４０ａの各部の機能は、図２に示されるインフォテイメント機器１０４０において、ＣＰＵ１０が記憶部１２に記憶される制御アプリケーションを実行することにより実現される。
【００３４】
デバイス識別部３０は、自動車１００１に搭載されるインフォテイメント機器１０４０との間でアクセスを行うデバイスをインフォテイメント機器１０４０のＯＳ（Operating System：オペレーティングシステム）のファイルディスクリプタ（file descriptor：ファイル記述子）により識別する。アプリケーション識別部３２は、インフォテイメント機器１０４０が現在実行しているアプリケーションをＯＳに問い合わせて識別する。
【００３５】
通信制御部３４は、デバイス識別部３０の識別結果及びアプリケーション識別部３２の識別結果に基づいて、診断アプリケーションの通信を対象に、診断アプリケーションとの通信が許可された特定のデバイス又は他のアプリケーション（第２アプリケーション）と診断アプリケーションとの間の通信経路のみを確立させる。又は、通信制御部３４は、デバイス識別部３０の識別結果及びアプリケーション識別部３２の識別結果に基づいて、診断アプリケーションの通信を対象に、診断アプリケーションとの通信が許可された特定のデバイス及び他のアプリケーション（第２アプリケーション）の両方と診断アプリケーションとの間の通信経路のみを確立させる。診断アプリケーションは、自動車１００１の保守に関する処理を実行する第１アプリケーションの例である。
【００３６】
実行制御部３８は、診断アプリケーションの実行の制御を行う。例えば、実行制御部３８は、インフォテイメント機器１０４０への利用者の操作（タッチパネル１８のタッチ操作）に応じて、診断アプリケーションの実行の制御を行う。車両情報取得部３６は、自動車１００１の状態を示す車両情報を取得する。実行制御部３８は、該車両情報に基づいて診断アプリケーションの実行を制御する。
【００３７】
次に図５及び図６を参照して本実施形態に係る制御方法の例を説明する。図５及び図６は、本実施形態に係る制御方法の例を示す説明図である。
【００３８】
（制御方法の例１）
図５を参照して制御方法の例１を説明する。制御方法の例１は、インフォテイメント機器１０４０のタッチパネル１８のタッチ操作により、車載診断ツールが自動車１００１の各種の保守作業を実施する場合の例である。図５において、インフォテイメント機器１０４０は、アプリケーション層として、診断アプリケーション５０、ナビゲーションアプリケーション５２及び車両制御アプリケーション５４などの各種のアプリケーションを備える。該アプリケーションがインフォテイメント機器１０４０のＣＰＵ１０により実行されることによって、該アプリケーションの機能が実現される。例えば、ＣＰＵ１０が診断アプリケーション５０を実行することにより、車載診断ツールの機能が実現される。
【００３９】
インフォテイメント機器１０４０は、ＯＳ層として、ＯＳ６０を備える。ＯＳ６０は、ＯＳ本体とデバイスドライバなどを備える。ＯＳ６０は、ファイルディスクリプタ６２，６４，６６を備える。
【００４０】
インフォテイメント機器１０４０は、デバイス（物理層）として、タッチパネル１８、ＣＡＮインタフェース１６−１、近距離無線通信インタフェース１６−２などを備える。ＣＡＮインタフェース１６−１及び近距離無線通信インタフェース１６−２は、インタフェース部１６に含まれる。ＣＡＮインタフェース１６−１は、ＣＡＮ１０３０に接続される車載コンピュータシステム１００２のデータ保安装置１０１０及びＥＣＵ１０２０とデータを送受する通信インタフェースである。近距離無線通信インタフェース１６−２は、近距離無線通信方式によりデータを送受する通信インタフェースである。近距離無線通信方式として、例えば、Ｗｉ−Ｆｉ方式やＢｌｕｅｔｏｏｔｈ（登録商標）などが挙げられる。
【００４１】
ファイルディスクリプタ６２は、タッチパネル１８を識別するための識別子である。ファイルディスクリプタ６４は、ＣＡＮインタフェース１６−１を識別するための識別子である。ファイルディスクリプタ６６は、近距離無線通信インタフェース１６−２を識別するための識別子である。デバイス識別部３０は、ファイルディスクリプタ６２により、タッチパネル１８を識別する。デバイス識別部３０は、ファイルディスクリプタ６４により、ＣＡＮインタフェース１６−１を識別する。デバイス識別部３０は、ファイルディスクリプタ６６により、近距離無線通信インタフェース１６−２を識別する。
【００４２】
図５及び図６に示すタッチパネル１８、ＣＡＮインタフェース１６−１、近距離無線通信インタフェース１６−２及びＬＴＥ（Long Term Evolution）インタフェース１６−３は、インフォテイメント機器１０４０との間でアクセスを行うデバイスの例である。インフォテイメント機器１０４０との間でアクセスを行うデバイスは、タッチパネル１８、ＣＡＮインタフェース１６−１、近距離無線通信インタフェース１６−２及びＬＴＥインタフェース１６−３に限定されず、さらに他のデバイスであってもよい。ＯＳ６０は、インフォテイメント機器１０４０との間でアクセスを行うデバイスを識別するためのファイルディスクリプタを該デバイス毎に備える。
【００４３】
アプリケーション識別部３２は、インフォテイメント機器１０４０が現在実行しているアプリケーションをＯＳ６０に問い合わせて識別する。例えば、アプリケーション識別部３２は、ＯＳ６０がプロセスとして起動しているアプリケーションの名称を取得するための特定コマンドを使用して、ＯＳ６０がプロセスとして起動しているアプリケーションの名称を取得する。例えば、ＯＳ６０がＬｉｎｕｘ（登録商標）（リナックス（登録商標））である場合、ｐｓコマンドを使用することにより、Ｌｉｎｕｘがプロセスとして起動しているアプリケーションの名称を取得することができる。
【００４４】
通信制御部３４は、デバイス識別部３０の識別結果及びアプリケーション識別部３２の識別結果に基づいて、診断アプリケーション５０の通信を対象に、診断アプリケーション５０との通信が許可された特定のデバイス又は他のアプリケーションと診断アプリケーション５０との間の通信経路のみを確立させる。又は、通信制御部３４は、デバイス識別部３０の識別結果及びアプリケーション識別部３２の識別結果に基づいて、診断アプリケーション５０の通信を対象に、診断アプリケーション５０との通信が許可された特定のデバイス及び他のアプリケーションの両方と診断アプリケーション５０との間の通信経路のみを確立させる。通信制御部３４は、予め、通信許可対象情報を保持する。通信許可対象情報は、診断アプリケーション５０との通信が許可された特定のデバイス及び他のアプリケーションを示す情報である。
【００４５】
通信制御部３４は、デバイス識別部３０の識別結果のデバイスと、アプリケーション識別部３２の識別結果のアプリケーションとの間の通信を、フック（割り込み）する。例えば、ＯＳ６０がＬｉｎｕｘである場合、ＬＳＭ（Linux Security Module）を使用することにより、デバイスとアプリケーションとの間の通信をフックすることができる。また、ＯＳ６０がＬｉｎｕｘである場合、ＬＳＭを使用することにより、診断アプリケーション５０に対するデバイス又は他のアプリケーションからの通信要求等の制御を破棄することができる。
【００４６】
通信制御部３４は、診断アプリケーション５０の通信をフックする。通信制御部３４は、該フックの結果、診断アプリケーション５０の通信相手が通信許可対象情報に含まれる場合に、該通信相手と診断アプリケーション５０との間の通信経路を確立させる。一方、通信制御部３４は、該フックの結果、診断アプリケーション５０の通信相手が通信許可対象情報に含まれない場合には、該通信相手と診断アプリケーション５０との間の通信経路を確立させない。これにより、診断アプリケーション５０の通信相手が通信許可対象情報に含まれる場合にのみ、診断アプリケーション５０と該通信相手とは通信を行うことができる。つまり、診断アプリケーション５０の通信相手が通信許可対象情報に含まれない場合には、診断アプリケーション５０と該通信相手とは通信を行うことができない。
【００４７】
図５に示される例では、診断アプリケーション５０との通信が許可されたデバイスは、タッチパネル１８及びＣＡＮインタフェース１６−１である。近距離無線通信インタフェース１６−２は、診断アプリケーション５０との通信が許可されていない。また、診断アプリケーション５０との通信が許可された他のアプリケーションは、存在しない。したがって、図５の例では、通信許可対象情報は、タッチパネル１８及びＣＡＮインタフェース１６−１のみを示す情報である。
【００４８】
図５において、通信制御部３４は、通信許可対象情報に基づいて、診断アプリケーション５０間の通信経路Ａ１とタッチパネル１８間の通信経路Ｄ１とを接続する。これにより、診断アプリケーション５０とタッチパネル１８との間の通信経路が確立されるので、診断アプリケーション５０とタッチパネル１８とは通信を行うことができる。診断アプリケーション５０とタッチパネル１８との通信が可能になることにより、インフォテイメント機器１０４０のタッチパネル１８のタッチ操作によって車載診断ツールの操作を行うことができるようになる。これは、車載診断ツールの正常な利用形態である。
【００４９】
また、図５において、通信制御部３４は、通信許可対象情報に基づいて、診断アプリケーション５０間の通信経路Ａ２とＣＡＮインタフェース１６−１間の通信経路Ｄ２とを接続する。これにより、診断アプリケーション５０とＣＡＮインタフェース１６−１との間の通信経路が確立されるので、診断アプリケーション５０は、ＣＡＮインタフェース１６−１を介して、ＣＡＮ１０３０に接続される車載コンピュータシステム１００２のデータ保安装置１０１０及びＥＣＵ１０２０と通信を行うことができる。診断アプリケーション５０とデータ保安装置１０１０及びＥＣＵ１０２０との通信が可能になることにより、車載診断ツールは自動車１００１の各種の保守作業を実施することができる。これは、車載診断ツールの正常な利用形態である。
【００５０】
一方、図５において、通信制御部３４は、通信許可対象情報に基づいて、他のアプリケーション、例えば車両制御アプリケーション５４間の通信経路Ｂ１と、診断アプリケーション５０間の通信経路Ｂ３とを接続しない。これにより、診断アプリケーション５０と車両制御アプリケーション５４との間の通信経路が確立されないので、診断アプリケーション５０と車両制御アプリケーション５４とは通信を行うことができない。このことは、もし車両制御アプリケーション５４がコンピュータウィルスに感染していた場合に、コンピュータウィルスによる診断アプリケーション５０への攻撃を防止する効果を奏する。
【００５１】
また、図５において、通信制御部３４は、通信許可対象情報に基づいて、近距離無線通信インタフェース１６−２間の通信経路Ｂ２と、診断アプリケーション５０間の通信経路Ｂ３とを接続しない。これにより、診断アプリケーション５０と近距離無線通信インタフェース１６−２との間の通信経路が確立されないので、診断アプリケーション５０と近距離無線通信方式の通信相手とは通信を行うことができない。このことは、近距離無線通信方式の通信相手からの診断アプリケーション５０への不正なアクセスを防止する効果を奏する。
【００５２】
なお、ＯＳ６０がコンピュータウィルスに感染することを想定し、セキュアブート部１４は、車載診断ツールが実施する自動車１００１の各種の保守作業の対象のデバイスドライバ及びＯＳ本体の機能を対象にして、セキュアブートを行うようにしてもよい。さらには、セキュアブート部１４は、診断アプリケーション５０をセキュアブートの対象に含めてもよい。
【００５３】
また、ＯＳ６０の起動時間の制約が大きい場合には、ＯＳ６０が起動した後に、デバイスドライバ、ＯＳ本体、アプリケーションのダイジェスト値を計算して所定の期待値との一致を検証してもよい。これにより、デバイスドライバ、ＯＳ本体、アプリケーションが改竄されていないかを確認することができる。ダイジェスト値として、例えばハッシュ（hash）値を計算してもよい。
【００５４】
実行制御部３８は、セキュアブート部１４のセキュアブートが成功した場合に診断アプリケーション５０を起動し、該セキュアブートが失敗した場合には診断アプリケーション５０を起動しないようにしてもよい。また、実行制御部３８は、ユーザＩＤとパスワードを使用したユーザ認証が合格した場合に診断アプリケーション５０を起動し、該ユーザ認証が不合格である場合には診断アプリケーション５０を起動しないようにしてもよい。
【００５５】
（制御方法の例２）
図６を参照して制御方法の例２を説明する。制御方法の例２は、サーバ装置２０００の正規リモートサイト７２と自動車１００１のインフォテイメント機器１０４０の車載診断ツールとが連携して自動車１００１の各種の保守作業を実施する場合の例である。図６において図５に対応する部分には同一の符号を付け、その説明を省略する。以下、図５の制御方法の例１と異なる部分を主に説明する。
【００５６】
図６において、インフォテイメント機器１０４０は、デバイス（物理層）として、タッチパネル１８、ＣＡＮインタフェース１６−１、ＬＴＥ（Long Term Evolution）インタフェース１６−３などを備える。ＣＡＮインタフェース１６−１及びＬＴＥインタフェース１６−３は、インタフェース部１６に含まれる。ＬＴＥインタフェース１６−３は、ＬＴＥと呼ばれる無線通信方式の無線通信ネットワークを介して、自動車１００１の外部の装置と通信を行う通信インタフェースである。ＯＳ６０は、ファイルディスクリプタ６８を備える。ファイルディスクリプタ６８は、ＬＴＥインタフェース１６−３を識別するための識別子である。デバイス識別部３０は、ファイルディスクリプタ６８により、ＬＴＥインタフェース１６−３を識別する。
【００５７】
図６において、診断アプリケーション５０は、ｈｔｔｐｓ（hypertext transfer protocol secure）通信機能を備える。診断アプリケーション５０は、ｈｔｔｐｓ通信機能により、正規リモートサイト７２との間でｈｔｔｐｓ通信を行う。診断アプリケーション５０と正規リモートサイト７２との間の通信経路は、通信経路Ｃ１，Ｃ２及びＣ３から構成される。本実施形態では、暗号化通信路の一例として、ｈｔｔｐｓ通信を行う。これにより、診断アプリケーション５０と正規リモートサイト７２との間の通信の安全性を高めることができる。
【００５８】
また、診断アプリケーション５０は、正規リモートサイト７２を認証する機能を備え、該認証が合格した場合にサイト接続を実行し、該認証が不合格である場合にはサイト接続を実行しない。これにより、診断アプリケーション５０に対する不正サイトからの攻撃を防止することができる。
【００５９】
通信制御部３４は、診断アプリケーション５０がＬＴＥインタフェース１６−３を介して行う通信について、診断アプリケーション５０から開始する通信の通信経路のみを確立させる。これにより、自動車１００１の外部から診断アプリケーション５０に対して不正にアクセスされることを防止することができる。このために、さらに、通信制御部３４は、ＬＴＥインタフェース１６−３を対象に、外部（無線通信ネットワーク側）から通信を受け付けるポート（port）を常時閉じるようにしてもよい。
【００６０】
実行制御部３８は、インフォテイメント機器１０４０のタッチパネル１８のタッチ操作に応じて、診断アプリケーション５０の通信を開始させる制御を行う。例えば、実行制御部３８は、タッチパネル１８の表示画面に診断項目やＥＣＵ１０２０のＥＣＵコード更新などの保守作業項目などを表示させ、タッチパネル１８のタッチ操作により項目の承諾を受け付ける。これにより、実行制御部３８は、車載診断ツールが正規リモートサイト７２と連携して実施する自動車１００１の保守作業の項目についての承諾を得てから、診断アプリケーション５０のｈｔｔｐｓ通信を開始させる制御を行う。このことは、正規リモートサイト７２から遠隔で自動車１００１の保守作業を実施する場合に、該保守作業の安全性を保つことに寄与する効果を奏する。
【００６１】
また、ＯＳ６０は、ｉｐｔａｂｌｅｓ７０を備え、ｉｐｔａｂｌｅｓ７０を使用してルーティングフィルタリングを行ってもよい。ｉｐｔａｂｌｅｓ７０は、診断アプリケーション５０との通信を許可するＩＰアドレス、ポート番号などの一覧である。
【００６２】
また、ＯＳ６０は、診断アプリケーション５０に向かう通信（Inbound通信）を拒否するようにしてもよい。また、ＯＳ６０は、診断アプリケーション５０からＬＴＥインタフェース１６−３に向かう通信（Outbound通信）について、アプリケーション名、宛先ＩＰアドレス、ポート番号などの情報に基づいて、正規リモートサイト７２との通信のみに制限してもよい。
【００６３】
次に、上述した図５及び図６の制御方法の変形例を説明する。
【００６４】
＜制御方法の変形例＞
制御方法の変形例では、車両情報取得部３６が取得した車両情報に基づいて診断アプリケーション５０の実行を制御する。車両情報は、自動車１００１の状態を示す情報である。実行制御部３８は、車両情報が示す自動車１００１の状態が所定の実行条件を満たしている時に、診断アプリケーション５０に自動車１００１の保守に関する処理（以下、保守処理）を実行させる。保守処理は、予め定められている。保守処理は、例えば、自動車１００１の診断処理やＥＣＵ１０２０のＥＣＵコード更新処理などである。
【００６５】
実行制御部３８は、車両情報取得部３６が取得した車両情報に基づいて、保守処理を実行させるか否かを判断する。実行制御部３８は、車両情報が示す自動車１００１の状態が所定の実行条件を満たしている時に、診断アプリケーション５０の保守処理を実行させる。実行制御部３８は、車両情報が示す自動車１００１の状態が該実行条件を満たしていない時には、診断アプリケーション５０の保守処理を実行させない。
【００６６】
以下に実行条件の例を挙げる。以下の実行条件は単独又は複数の組合せで適用できる。
【００６７】
（実行条件の例１）実行条件は、自動車１００１の走行モードが「パーキング（駐車）」であることである。自動車１００１が走行中にＥＣＵ１０２０のＥＣＵコードを更新することは好ましくない。このため、自動車１００１が駐車している時にＥＣＵ１０２０のＥＣＵコードを更新することは好ましい。
【００６８】
（実行条件の例２）実行条件は、自動車１００１のエンジンが始動していることである。自動車１００１のエンジンが停止すると、インフォテイメント機器１０４０やＥＣＵ１０２０、ＴＣＵ１０５０などの車載装置への電力の供給が不安定になる可能性がある。このため、自動車１００１のエンジンが始動している時にＥＣＵ１０２０のＥＣＵコードを更新したり、自動車１００１の診断を行ったりすることは好ましい。
【００６９】
（実行条件の例３）実行条件は、自動車１００１のバッテリの残容量が、該残容量が十分にあると判定するための所定量を満たしていることである。この実行条件の例３は、自動車１００１がエンジンと電気モータとを組み合わせたハイブリッドシステムを備える場合に好ましい。
【００７０】
（実行条件の例４）実行条件は、自動車１００１のイモビライザ（immobilizer）が自動車１００１の車内に存在していることである。イモビライザが自動車１００１の車内に存在している時は、保守作業者や自動車１００１の利用者が自動車１００１の車内又は自動車１００１の傍に居ると考えられる。このため、イモビライザが自動車１００１の車内に存在している時にＥＣＵ１０２０のＥＣＵコードを更新することは好ましい。
【００７１】
上述した実施形態によれば、診断アプリケーション５０との通信が許可されたデバイスや他のアプリケーションとの間の通信のみが可能になるので、診断アプリケーション５０に対する不正なアクセスや攻撃を防止することができる。これにより、診断アプリケーション５０による自動車１００１の各種の保守作業の信頼性を向上させることができるという効果が得られる。
【００７２】
また、上述した実施形態によれば、診断アプリケーション５０と自動車１００１の外部との通信が正規リモートサイト７２との通信に制限されるので、自動車１００１の外部から診断アプリケーション５０に対する不正なアクセスや攻撃を防止することができる。これにより、正規リモートサイト７２による遠隔での自動車１００１の各種の保守作業の信頼性を向上させることができるという効果が得られる。
【００７３】
また、上述した実施形態によれば、自動車１００１が車載診断ツールを備えるので、診断ポート１０６０、例えばＯＢＤポートを利用しなくても、自動車１００１の各種の保守作業を実施することができる。
【００７４】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【００７５】
上述した実施形態では、自動車１００１に備わるインフォテイメント機器１０４０が車載診断ツール（診断アプリケーション５０）及び制御装置１０４０ａを備えたが、自動車１００１において車載診断ツール（診断アプリケーション５０）及び制御装置１０４０ａをインフォテイメント機器１０４０以外の他の車載の情報処理装置に備えてもよく、又は、車載診断ツール（診断アプリケーション５０）及び制御装置１０４０ａを単独の車載の情報処理装置として自動車１００１に備えてもよい。
【００７６】
上述した実施形態では、データ保安装置１０１０やＥＣＵ１０２０にＨＳＭやＳＨＥを使用したが、ＨＳＭ及びＳＨＥ以外の暗号処理チップを使用してもよい。データ保安装置１０１０に対して、例えば「ＴＰＭ（Trusted Platform Module）ｆ」と呼ばれる暗号処理チップを使用してもよい。ＴＰＭｆは耐タンパー性を有する。ＴＰＭｆはセキュアエレメントの例である。ＥＣＵ１０２０に対して、例えば「ＴＰＭｔ」と呼ばれる暗号処理チップを使用してもよい。ＴＰＭｔは耐タンパー性を有する。ＴＰＭｔはセキュアエレメントの例である。
【００７７】
上述した実施形態は、自動車の製造工場において、自動車の製造工程で自動車の各種の保守作業に適用してもよい。また、上述した実施形態は、自動車の整備工場や販売店等において、自動車の各種の保守作業に適用してもよい。
【００７８】
上述した実施形態では、車両として自動車を例に挙げたが、原動機付自転車や鉄道車両等の自動車以外の他の車両にも適用可能である。
【００７９】
また、上述した各装置の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Digital Versatile Disc）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００８０】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００８１】
１０…ＣＰＵ、１２…記憶部、１４…セキュアブート部、１６…インタフェース部、１６−１…ＣＡＮインタフェース、１６−２…近距離無線通信インタフェース、１６−３…ＬＴＥインタフェース、１８…タッチパネル、２０…マイクロフォン、２２…スピーカ、３０…デバイス識別部、３２…アプリケーション識別部、３４…通信制御部、３６…車両情報取得部、３８…実行制御部、５０…診断アプリケーション、６０…ＯＳ、７２…正規リモートサイト、１００１…自動車、１００２…車載コンピュータシステム、１０１０…データ保安装置、１０１１，１０２１…メイン演算器、１０１２…ＨＳＭ、１０１３，１０２３…記憶部、１０２０…ＥＣＵ、１０２２…ＳＨＥ、１０３０…ＣＡＮ、１０４０…インフォテイメント機器、１０４０ａ…制御装置、１０５０…ＴＣＵ、１０５１…通信モジュール、１０５２…ＳＩＭ、１０６０…診断ポート、１０７０…ゲートウェイ、２０００…サーバ装置、２１００…メンテナンスツール
【図１】
2018060509.tif 000003
【図２】
2018060509.tif 000004
【図３】
2018060509.tif 000005
【図４】
2018060509.tif 000006
【図５】
2018060509.tif 000007
【図６】
2018060509.tif 000008