JP2007065893A - Program provision device and onboard information system - Google Patents
Program provision device and onboard information system Download PDFInfo
- Publication number
- JP2007065893A JP2007065893A JP2005249872A JP2005249872A JP2007065893A JP 2007065893 A JP2007065893 A JP 2007065893A JP 2005249872 A JP2005249872 A JP 2005249872A JP 2005249872 A JP2005249872 A JP 2005249872A JP 2007065893 A JP2007065893 A JP 2007065893A
- Authority
- JP
- Japan
- Prior art keywords
- program
- restriction
- java application
- constraint condition
- information system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Traffic Control Systems (AREA)
- Navigation (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、開発された車載情報システム用のプログラムの動作安全性の確認を、実機上で動作確認することなく行って車載情報システムに提供するプログラム提供装置およびこのプログラム提供装置によって提供されたプログラムを実行する車載情報システムに関する。 The present invention relates to a program providing apparatus for confirming the operational safety of a program for an in-vehicle information system that has been developed without confirming the operation on an actual machine, and providing the in-vehicle information system, and a program provided by the program providing apparatus It is related with the vehicle-mounted information system which performs.
近年のパーソナルコンピュータや携帯電話などといったインターネットに接続可能な機器は、インターネットを介して様々なサーバからプログラムをダウンロードすることができる。そのため、誰でも自由にプログラムを開発してサーバにアップロードし、このサーバにアップロードされたプログラムを目的の機器にダウンロードして実行することができる。しかしながら、悪意のあるプログラムや設計ミスを含むプログラムなどをダウンロードして実行することによって、機器の動作不良、機器内の情報の漏洩などといった被害が出る恐れがある。 Devices that can be connected to the Internet, such as recent personal computers and mobile phones, can download programs from various servers via the Internet. Therefore, anyone can freely develop a program, upload it to a server, download the program uploaded to this server to a target device, and execute it. However, downloading and executing a malicious program or a program including a design mistake may cause damage such as malfunction of the device and leakage of information in the device.
そこで、従来は、プログラム開発元で開発されたプログラムの動作テストを認証機関において行い、認証機関が、必要なリソースにのみアクセスを許可する情報を付加することによってプログラムの動作安全性を確保している。例えば、特許文献1に開示された通信端末のアクセス制御方法では、認定機関は、コンテンツプロバイダから認定を依頼された携帯電話機用のJava(登録商標、以下省略)アプリを審査し、このJavaアプリが、コンテンツプロバイダから申請されたリソースにアクセスするプログラムとして所定の動作基準を満たしており、リソースにアクセスできる認定プログラムであると認定した場合に、リソースを指定するリソース指定情報を認定サーバによりJavaアプリに付与する。携帯電話機は、認定機関により認定されたJavaアプリの実行中にアクセスできるリソースを、このJavaアプリに付与されているリソース指定情報によって指定されるリソースに制限する。
Therefore, in the past, an operational test of a program developed by the program developer was performed at the certification body, and the certification body secured the operational safety of the program by adding information that permits access only to the necessary resources. Yes. For example, in the access control method for a communication terminal disclosed in
しかしながら、例えばカーナビゲーション装置のような車載情報システムに実装されるプログラムでは、携帯電話機などとは異なり、安全上の観点から、車の動作状態、例えば走行中であるか停止中であるかに応じてプログラムの動作を制限する必要がある。したがって、特許文献1に開示された方法では十分な動作検証および適切なアクセス許可を付与できない。また、広く一般のプログラマにプログラムの開発を促すためには、動作検証と検証したプログラムの提供を一緒に行うのが都合がよい。
However, in a program implemented in an in-vehicle information system such as a car navigation device, for example, unlike a mobile phone, depending on whether the vehicle is in an operating state, for example, whether it is running or stopped, from a safety standpoint. It is necessary to limit the operation of the program. Therefore, the method disclosed in
そこで、この発明は、車載情報システム用に開発されたプログラムの動作検証および提供に好適なプログラム提供装置およびそれによって提供されたプログラムを実行する車載情報システムを提供することを目的とする。 Therefore, an object of the present invention is to provide a program providing apparatus suitable for verifying and providing operation of a program developed for an in-vehicle information system and an in-vehicle information system for executing the program provided thereby.
この発明に係るプログラム提供装置は、上記目的を達成するために、車載情報システムのハードウェア環境およびソフトウェア環境をエミュレートするエミュレート手段と、車載情報システム用に開発されたプログラムを受け取るプログラム受信手段と、車載情報システムのリソース状態および環境状態を制約条件として保持する制約条件保持手段と、制約条件保持手段に保持された制約条件に基づいてプログラムの動作を制限するプログラム実行制限手段と、エミュレート手段によって提供されるリソースを用いて、プログラム受信手段から受け取ったプログラムを、プログラム実行制限手段による制限にしたがって実行するプログラム実行手段とを備えている。 In order to achieve the above object, a program providing apparatus according to the present invention emulates a hardware environment and a software environment of an in-vehicle information system, and a program receiving unit for receiving a program developed for the in-vehicle information system A constraint condition holding unit that holds the resource state and the environmental state of the in-vehicle information system as a constraint condition, a program execution limit unit that limits a program operation based on the constraint condition held in the constraint condition holding unit, and an emulation Program execution means for executing the program received from the program reception means according to the restriction by the program execution restriction means using the resources provided by the means.
また、この発明に係る車載情報システムは、車載情報システム用に開発されたプログラムおよび証明情報を受信するプログラム受信手段と、プログラム受信手段から受け取った証明情報を解読して認証するプログラム認証手段と、プログラム認証手段から受け取った認証結果に応じてプログラムの動作を制限するプログラム実行制限手段と、プログラム受信手段から受け取ったプログラムを、プログラム実行制限手段による制限にしたがって実行するプログラム実行手段とを備えている。 Further, the in-vehicle information system according to the present invention includes a program receiving means for receiving a program and certification information developed for the in-vehicle information system, a program authentication means for decoding and authenticating the certification information received from the program receiving means, Program execution restriction means for restricting the operation of the program according to the authentication result received from the program authentication means, and program execution means for executing the program received from the program reception means in accordance with the restriction by the program execution restriction means. .
また、この発明に係る記憶媒体は、車載情報システムのハードウェア環境およびソフトウェア環境をエミュレートするエミュレート手段と、車載情報システム用に開発されたプログラムを受け取るプログラム受信手段と、車載情報システムのリソース状態および環境状態を制約条件として保持する制約条件保持手段と、制約条件保持手段に保持された制約条件に基づいてプログラムの動作を制限するプログラム実行制限手段、エミュレート手段によって提供されるリソースを用いて、プログラム受信手段から受け取ったプログラムを、プログラム実行制限手段による制限にしたがって実行するプログラム実行手段とを備えたコンピュータで実行可能なプログラムを記憶している。 The storage medium according to the present invention includes an emulation means for emulating a hardware environment and a software environment of an in-vehicle information system, a program receiving means for receiving a program developed for the in-vehicle information system, and an in-vehicle information system resource Using a resource provided by a constraint condition holding means for holding a state and an environmental state as a constraint condition, a program execution restriction means for restricting a program operation based on the constraint condition held in the constraint condition holding means, and an emulating means Thus, a program executable by a computer having program execution means for executing the program received from the program reception means in accordance with restrictions by the program execution restriction means is stored.
この発明に係るプログラム提供装置によれば、リソース状態と環境状態を制約条件として設定することによって、車載情報システムのような環境における動作確認をエミュレート手段を用いて実施することができる。したがって、車載情報システム用に開発されたプログラムの動作検証および提供に好適である。 According to the program providing apparatus of the present invention, the operation check in the environment such as the in-vehicle information system can be performed using the emulating means by setting the resource state and the environmental state as the constraint conditions. Therefore, it is suitable for the operation verification and provision of a program developed for an in-vehicle information system.
この発明に係る車載情報システムによれば、受信した証明情報に基づきプログラムの動作を制限するように構成したので、プログラム提供装置によって提供されたプログラムの検証が不十分であっても、そのプログラムを正当に実行することができる。 According to the in-vehicle information system according to the present invention, since the operation of the program is limited based on the received certification information, even if the verification of the program provided by the program providing device is insufficient, the program Can be carried out legitimately.
この発明に係る記憶媒体によれば、上述したプログラム提供装置と同様の効果を奏する。 According to the storage medium of the present invention, the same effects as those of the program providing apparatus described above can be obtained.
以下、この発明の実施の形態を、図面を参照しながら詳細に説明する。以下では、この発明に係る車載情報システムとしてカーナビゲーション装置を例に挙げて説明する。また、車載情報システム用に開発されたプログラムはJavaアプリケーションプログラム(以下「Javaアプリ」と略する)であるものとし、プログラム提供装置は、パーソナルコンピュータ上で動作するカーナビゲーション装置用Javaアプリの動作テストプログラムなどから構成されるものとする。また、カーナビゲーション装置は、プログラム提供装置から提供されたJavaアプリのみ実行可能なものとする。
実施の形態1.
図1は、この発明の実施の形態1に係る車載情報システムとしてのカーナビゲーション装置のハードウェア構成を示すブロック図である。このカーナビゲーション装置は、CPU(Central Processing Unit)1、ROM(Read Only Memory)2、RAM(Random Access Memory)3、操作部インタフェース4、出力部インタフェース5、通信部インタフェース6および外部記録装置インタフェース7から構成されている。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Hereinafter, a car navigation device will be described as an example of the in-vehicle information system according to the present invention. The program developed for the in-vehicle information system is a Java application program (hereinafter abbreviated as “Java application”), and the program providing apparatus is an operation test of the Java application for a car navigation apparatus operating on a personal computer. It shall consist of programs. In addition, the car navigation device can execute only the Java application provided from the program providing device.
1 is a block diagram showing a hardware configuration of a car navigation device as an in-vehicle information system according to
CPU1は、ROM2に格納されているプログラムに従って演算処理を行うことにより、カーナビゲーション装置の全体を制御する。ROM2は、地図データやプログラム(ナビゲーションプログラム等)を記憶する。このROM2に記憶されている内容はCPU1によって読み出される。RAM3は、CPU1によるプログラム実行時に、データを一時的に記憶するワークエリアとして使用される。
The
操作部インタフェース4には、リモートコントローラ(以下、「リモコン」と略する)41およびマイクロフォン(以下、「マイク」と略する)42が接続されている。この操作部インタフェース4は、リモコン41およびマイク42から入力された指示をCPU1に送る制御を行う。出力部インタフェース5には、ディスプレイ51およびスピーカ52が接続されている。この出力部インタフェース5は、CPU1から送られてく出力データをディスプレイ51およびスピーカ52に送る制御を行う。
A remote controller (hereinafter abbreviated as “remote control”) 41 and a microphone (hereinafter abbreviated as “microphone”) 42 are connected to the operation unit interface 4. The operation unit interface 4 performs control to send instructions input from the
通信部インタフェース6には、例えば携帯電話やDSRC(Dedicated Short Range Communication)車載器といった通信機器61および車内LAN(Local Area Network)62が接続されている。通信部インタフェース6は、CPU10と通信機器61および車内LAN62との間の通信を制御する。CPU1は、車内LAN62から通信部インタフェース6を介して、例えば速度や燃料の残量といった車両情報を取得する。
For example, a
外部記録装置インタフェース7には、例えばCD(Compact Disc)やDVD(Digital Versatile Disk)といった記録メディアからデータを読み込む外部記録装置ドライブ71が接続されている。この外部記録装置インタフェース7は、外部記録装置ドライブ71とCPU1との間のデータの送受を制御する。
An external
図2は、図1に示すカーナビゲーション装置のソフトウェア構成を示す図である。カーナビゲーション装置のオペレーティングシステム(以下、「カーナビゲーションOS」と略する)は、カーナビゲーション装置のハードウェア(以下、「カーナビゲーションハードウェア」という)を動作させるための種々のデバイスドライバの上に形成されている。このカーナビゲーションOSの上位に、ライブラリおよびアプリケーションプログラムインタフェース(以下、「API:Application Program Interface」という)が設けられ、さらに、その上位に、プログラムによって構成されたナビゲーションサービス10、Javaアプリ11、Javaアプリ実行部(JavaVM;Java Virtual Machine)12、Javaアプリ管理部13およびJavaアプリ認証部14が設けられている。
FIG. 2 is a diagram showing a software configuration of the car navigation apparatus shown in FIG. The operating system of the car navigation device (hereinafter abbreviated as “car navigation OS”) is formed on various device drivers for operating the hardware of the car navigation device (hereinafter referred to as “car navigation hardware”). Has been. A library and an application program interface (hereinafter referred to as “API: Application Program Interface”) are provided above the car navigation OS, and further, a
ナビゲーションサービス10は、現在地を表示し、または目的地を設定してルート案内を行うといったカーナビゲーションの基本的なサービスを行う。Javaアプリ11は、例えばゲームや走行支援プログラムといったコンテンツである。Javaアプリ実行部12は、Javaアプリ11を実行する環境を提供する。Javaアプリ管理部13は、Javaアプリ11の動作全体を管理する。Javaアプリ認証部14は、Javaアプリ11の認証を行う。
The
ナビゲーションサービス10は、JavaVMインタフェースモジュール10aを備えている。また、Javaアプリ実行部12は、ナビゲーションサービスインタフェースモジュール12aを備えている。これらJavaVMインタフェースモジュール10aとナビゲーションサービスインタフェースモジュール12aとが相互に通信することにより、ナビゲーションサービス10とJavaアプリ実行部12とが連携して動作する。
The
図3は、この発明の実施の形態1に係るプログラム提供装置の主要な部分の構成を示す図である。このプログラム提供装置は、ハードウェア環境をエミュレートするハードウェアエミュレータおよびソフトウェア環境をエミュレートするソフトウェアエミュレータによって構成された動作テストプログラム20、ナビ画面出力ウインドウ31、操作入力ウインドウ32およびナビ環境設定ウインドウ33を備え、上述したカーナビゲーション装置のハードウェアおよびソフトウェアの機能をパーソナルコンピュータ上で再現するプログラムとして構成されている。ハードウェアエミュレータおよびソフトウェアエミュレータは、この発明のエミュレート手段に対応する。
FIG. 3 is a diagram showing a configuration of main parts of the program providing apparatus according to
動作テストプログラム20は、カーナビゲーション装置の実機には存在しない構成として、制約条件保持部21、Javaアプリ実行制限部22および証明部23を備えている。なお、カーナビゲーション装置の実機に存在する構成部分には、図1で使用した符号に「100」を加えた符号を付してあり、各部の機能はカーナビゲーション装置の実機の機能と同じである。
The
制約条件保持部21は、この発明の制約条件保持手段に対応する。この制約条件保持部21には、動作テストプログラム20の提供者によってあらかじめ設定されている制約条件が保持されている。この制約条件保持部21には、カーナビゲーション装置のリソース状態と環境状態とが対応づけて保持されており、例えば図4に示すように、動作可能な状態が列挙されたファイルとして形成されている。図4では、例えば画面表示は停車中にのみ可能であることを示している。
The constraint
制約条件として制約条件保持部21に保持されるリソース状態には、ハードウェアリソースとして、例えばCPU使用率、メモリ使用量、ハードディスク使用量(換言すればプログラムサイズ)、バス使用率およびネットワーク使用可否などの少なくとも1つが含まれる。また、ソフトウェアリソースとして、APIの使用可否、ライブラリの使用可否、特定プログラムの実行状態の少なくとも1つが含まれる。また、環境状態には、例えば、走行中または停止中を表す走行状態、走行速度、位置、向き、高度、温度、湿度、天気、道路種別などの少なくとも1つが含まれる。
The resource state held in the constraint
Javaアプリ実行制限部22は、この発明のプログラム実行制限手段に対応し、制約条件保持部21に保持されている制約条件に従って、Javaアプリ実行部112で実行されるJavaアプリの動作を制限する。証明部23は、動作確認ができたJavaアプリに対して、あらかじめ埋め込まれている鍵を用いてJavaアプリの証明情報を生成する。
The Java application
また、ナビ画面出力ウインドウ31は、カーナビゲーション装置においてはディスプレイ51に表示される画面を、パーソナルコンピュータの画面上で表示するためのウインドウである。操作入力ウインドウ32は、カーナビゲーション装置ではリモコン41またはマイク42などによって入力される情報を、パーソナルコンピュータの入力装置から入力するためのウインドウである。
The navigation
ナビ環境設定ウインドウ33は、カーナビゲーション装置では車両本体から得られる環境状態を表す情報を、パーソナルコンピュータの入力装置から入力するためのウインドウである。なお、制約条件保持部21に設定されている制約条件は、当該プログラム提供装置の提供者によってあらかじめ設定されるものであり、ナビ環境設定ウインドウ33によって設定することはできない。
The navigation environment setting window 33 is a window for inputting information representing an environmental state obtained from the vehicle body in the car navigation apparatus from an input device of a personal computer. The restriction conditions set in the restriction
次に、上述した動作テストプログラム20によって、開発されたJavaアプリが実行される手順を図5に示すフローチャートを参照しながら説明する。
Next, a procedure for executing the developed Java application by the above-described
まず、Javaアプリが取得される(ステップST11)。すなわち、動作テストプログラム20で実現されている図示しない通信インタフェースを用いて、Javaアプリが受信され、動作テストプログラム20のJavaアプリ111としてセットされる。この場合、図示しない通信インタフェースは、この発明に係るプログラム提供装置のプログラム受信手段に対応し、この通信インタフェースで受信するJavaアプリはプログラムに対応する。
First, a Java application is acquired (step ST11). In other words, a Java application is received using a communication interface (not shown) realized by the
次いで、Javaアプリが実行される(ステップST12)。すなわち、Javaアプリ実行部112は、ステップST11でセットされたJavaアプリ111の実行処理を行う。このJavaアプリ実行部112は、この発明のプログラム実行手段に対応する。 Next, the Java application is executed (step ST12). That is, the Java application execution unit 112 performs the execution process of the Java application 111 set in step ST11. The Java application execution unit 112 corresponds to the program execution means of the present invention.
次いで、動作テストが終了であるかどうかが調べられる(ステップST13)。具体的には、ナビ環境設定ウインドウ33の操作によって様々な環境で行われた動作テストの終了であるかどうかが調べられる。このステップST13において、動作テストが終了でないことが判断されると、次いで、環境設定が行われる(ステップST14)。このステップST14では、ユーザがナビ環境設定ウインドウ22を用いて様々な環境を設定する。例えば、走行中と停止中の状態を切り替えたり、走行位置や高度、車の向き、車内/車外の温度/湿度、一般道/高速道路走行中を変更したりする。また、CPUの使用率を70%としてメモリ空き容量を1MBとし、バスの使用率を80%とするなど、エミュレート環境の状態を変更し、その状態で動作テストを実施する。
Next, it is checked whether or not the operation test is completed (step ST13). Specifically, it is checked whether or not the operation test performed in various environments is completed by operating the navigation environment setting window 33. If it is determined in this step ST13 that the operation test is not completed, then environment setting is performed (step ST14). In step ST14, the user sets various environments using the navigation
次いで、制限対象処理であるかどうかが調べられる(ステップST15)。すなわち、制約条件として設定されているリソースに対する処理であるかどうかが調べられる。このステップST15において、制限対象処理でないことが判断されると、シーケンスはステップST13に戻り、上述した処理が繰り返される。一方、ステップST15において、制限対象処理であることが判断されると、次いで、環境状態が取得される(ステップST14)。すなわち、Javaアプリ実行部112はナビゲーションサービス110から環境状態を取得する。
Next, it is checked whether or not the process is a restriction target process (step ST15). That is, it is checked whether or not the processing is for a resource set as a constraint condition. If it is determined in step ST15 that the process is not a restriction target process, the sequence returns to step ST13, and the above-described process is repeated. On the other hand, if it is determined in step ST15 that the process is a restriction target process, the environmental state is then acquired (step ST14). That is, the Java application execution unit 112 acquires the environmental state from the
次いで、実行可能であるかどうかが調べられる(ステップST17)。すなわち、Javaアプリ実行部112は、ステップST14で取得した環境状態に基づいて、Javaアプリを実行可能であるかどうかを調べる。このステップST17で、実行可能であることが判断されると、シーケンスはステップST13に戻り、上述した処理が繰り返される。一方、ステップST17において、実行可能でないことが判断されると、処理は終了する。 Next, it is checked whether or not it can be executed (step ST17). That is, the Java application execution unit 112 checks whether or not the Java application can be executed based on the environmental state acquired in step ST14. If it is determined in this step ST17 that execution is possible, the sequence returns to step ST13, and the above-described processing is repeated. On the other hand, if it is determined in step ST17 that execution is not possible, the process ends.
上記ステップST13において、動作テストが終了であることが判断されると、証明情報が生成される(ステップST18)。すなわち、ナビ環境設定ウインドウ33の操作によって様々な環境での動作テストが行われた後、正常に動作する事が確認できたら、Javaアプリを用いて証明部23は証明情報を生成する。証明部23で行われる証明方法としては、証明部23にあらかじめ用意されている鍵を用いてJavaアプリに署名する方法やJavaアプリを暗号化する方法を用いることができる。なお。署名および暗号化の技術としては、公知の技術を用いることができる。その後、処理は終了する。
If it is determined in step ST13 that the operation test is complete, certification information is generated (step ST18). That is, after the operation test in various environments is performed by operating the navigation environment setting window 33, if it can be confirmed that the operation is normal, the
なお、このステップST13において、証明部23は、CPU使用率、メモリ使用量、ハードディスク使用量、バス使用率およびネットワーク使用可否の少なくとも1つを含むリソース状態と、走行状態、走行速度、位置、向き、高度、温度、湿度、天気および道路種別の少なくとも1つを含む環境状態とを含む制約条件に応じて証明情報を生成するように構成できる。この構成によれば、ハードウェアに関する制約条件の要素毎に動作の証明を行うことができる。
In step ST13, the certifying
また、証明部23は、APIの使用可否、ライブラリの使用可否、特定プログラムの実行状態の少なくとも1つを含むリソース状態と、走行状態、走行速度、位置、向き、高度、温度、湿度、天気および道路種別の少なくとも1つを含む環境状態とを含む制約条件に応じて証明情報を生成するように構成することもできる。この構成によれば、ソフトウェアに関する制約条件の要素毎に動作の証明を行うことができる。
The
さらに、証明部23は、プログラム提供元に応じて証明情報を生成するように構成することもできる。この構成によれば、プログラム提供装置を提供する対象(例えばカーメーカやコンテンツプロバイダなど)毎に証明情報を生成することができる。
Furthermore, the
このステップST18において生成された証明情報は、Javaアプリとともに図示しないメモリに保存するように構成できる。この場合、図示しないメモリは、この発明のプログラム保存手段に対応し、このメモリに保存されるJavaアプリはプログラムに対応する。また、ステップST18において生成された証明情報は、Javaアプリとともに、動作テストプログラム20で実現されている図示しない通信インタフェースを用いて、カーナビゲーション装置に直接に送信するように構成できる。この場合、図示しない通信インタフェースは、この発明に係るプログラム提供装置のプログラム送信手段に対応し、この通信インタフェースで受信するJavaアプリはプログラムに対応する。
The certification information generated in step ST18 can be configured to be stored in a memory (not shown) together with the Java application. In this case, the memory (not shown) corresponds to the program storage means of the present invention, and the Java application stored in this memory corresponds to the program. Further, the certification information generated in step ST18 can be configured to be transmitted directly to the car navigation device using a communication interface (not shown) realized by the
次に、上述した手順によって生成された証明情報とJavaアプリをカーナビゲーション装置で実行する動作を、図6に示すフローチャートを参照しながら説明する。 Next, an operation of executing the certification information generated by the above-described procedure and the Java application by the car navigation device will be described with reference to a flowchart shown in FIG.
まず、Javaアプリが取得される(ステップST21)。具体的には、カーナビゲーション装置は、通信機器61(図1参照)を介してJavaアプリおよび証明情報を受信する。受信されたJavaアプリは、Javaアプリ11としてセットされる。
First, a Java application is acquired (step ST21). Specifically, the car navigation device receives the Java application and the certification information via the communication device 61 (see FIG. 1). The received Java application is set as the
次いで、Javaアプリの認証が行われる(ステップST22)。すなわち、Javaアプリ認証部14は、受け取った証明情報を認証する。このJavaアプリ認証部14は、この発明のプログラム認証手段に対応する。Javaアプリ認証部14における認証方法としては、Javaアプリ認証部14にあらかじめ用意されている鍵を用いて署名検証を行う方法やJavaアプリの暗号化を復号する方法を用いることができる。なお、署名検証および復号の技術としては、公知の技術を用いることができる。Javaアプリ認証部14は、認証結果をJavaアプリ実行部12に送る。
Next, the Java application is authenticated (step ST22). That is, the Java
次いで、認証が正当(OK)であるかどうかが調べられる(ステップST23)。すなわち、Javaアプリ実行部12は、Javaアプリ認証部14から送られてきた認証結果が正当であるかどうかを調べる。このステップST23において、認証が正当であることが判断されると、Javaアプリが実行される(ステップST24)。一方、認証が不正(例えば鍵が存在しない場合や署名検証で一致が得られない場合)であることが判断されると、Javaアプリを実行せずに処理は終了する。
Next, it is checked whether or not the authentication is valid (OK) (step ST23). In other words, the Java application execution unit 12 checks whether the authentication result sent from the Java
以上説明したように、この発明の実施の形態1に係るプログラム提供装置によれば、リソース状態と環境状態を制約条件として設定することによって、カーナビゲーション装置のような環境における動作確認をパーソナルコンピュータ上で実施することができる。したがって、カーナビゲーション装置用に開発されたプログラムの動作検証および提供に好適である。また、カーナビゲーション装置では、動作テストプログラムによって動作確認されたJavaアプリのみ動作を許可するため、不正なJavaアプリが動作するのを防ぐことができる。 As described above, according to the program providing apparatus according to the first embodiment of the present invention, the operation check in the environment such as the car navigation apparatus is performed on the personal computer by setting the resource state and the environmental state as the constraint conditions. Can be implemented. Therefore, it is suitable for the operation verification and provision of a program developed for a car navigation apparatus. Further, in the car navigation device, only the Java application whose operation has been confirmed by the operation test program is allowed to operate, so that it is possible to prevent an unauthorized Java application from operating.
ハードウェアエミュレータおよびソフトウェアエミュレータによって再現されているリソースの使用を環境状態によって制限するように構成したので、特許文献1に記載されている技術とは異なり、安全上の観点から、車の動作状態、例えば走行中であるか停止中であるかに応じてプログラムの動作を制限したテストを行うことができ、十分な動作検証が可能になる。
Since the use of resources reproduced by the hardware emulator and the software emulator is limited according to the environmental state, unlike the technique described in
また、制約条件をファイルとして保持しているため、プログラム提供装置を提供する側がファイルの内容を変更することで、プログラム提供装置を提供する対象(例えばカーメーカやコンテンツプロバイダなど)毎に制約条件を変更した環境を提供することができる。 In addition, since the constraint condition is held as a file, the program provider providing side changes the contents of the file, so that the constraint condition is changed for each target providing the program provider (for example, a car manufacturer or content provider). Environment can be provided.
また、Javaアプリ実行部112によってJavaアプリが正常に実行されたことを証明する証明情報を生成してJavaアプリとともにユーザに提供するように構成したので、ユーザは、プログラム提供装置で動作テストしたことが証明されたプログラムを取得することができ、悪意のあるプログラムや設計ミスを含むプログラムなどをカーナビゲーション装置で実行することがない。その結果、機器の動作不良、機器内の情報の漏洩などといった被害を防止できる。 Also, since the Java application execution unit 112 is configured to generate certification information that proves that the Java application has been executed normally and to provide it to the user together with the Java application, the user has performed an operation test on the program providing apparatus. Can be acquired, and malicious programs or programs containing design errors are not executed by the car navigation device. As a result, it is possible to prevent damage such as malfunction of the device and leakage of information in the device.
なお、上述した実施の形態1では、様々な環境での動作確認をユーザがナビ環境設定ウインドウ33を用いてカーナビゲーション装置の環境を設定することによって行うように構成したが、この環境の設定を自動で行うように構成することもできる。例えば、動作テストプログラム20を提供する側が、テストコースのデータをあらかじめ用意しておき、このテストコースを走行中に正常に動作していればJavaアプリは安全に動作すると判断して証明情報を生成するように構成できる。
In the above-described first embodiment, the configuration is such that the user confirms the operation in various environments by setting the environment of the car navigation device using the navigation environment setting window 33. It can also be configured to do it automatically. For example, the side that provides the
また、上述した実施の形態1では、制約条件を保持する例として、ファイルにリソース状態と環境状態を羅列するように構成したが、制約条件を、Javaのアクセス制御のために標準で用意されているJavaポリシーファイルに追記するように構成することもできる。また、このJavaポリシーファイルをネットワークを通じて更新することによって、制約条件を更新することもできる。 In the first embodiment described above, the resource state and the environment state are arranged in the file as an example of holding the constraint condition. However, the constraint condition is prepared as standard for Java access control. It can also be configured to append to a Java policy file. The constraint condition can also be updated by updating the Java policy file through the network.
また、カーナビゲーション装置のメーカが、自社のカーナビゲーション装置用のJavaアプリを一般のユーザが作成できるような環境を提供したい場合、制約条件に一般のユーザに許可してもよい動作範囲の設定を施し、カーナビゲーション装置のJavaアプリ認証部14に埋め込んである鍵に対応したカーナビゲーション装置のメーカ独自の鍵を動作テストプログラム20の証明部23に埋め込んで動作テストプログラム20を配布する。また、正規ディーラに対しては一般のユーザの場合と制約条件を変更して動作テストプログラム20を配布する。この際、動作テストプログラム20の証明部23に埋め込む鍵は変更する必要はない。これにより、カーメーカは制約条件を変更するだけで提供先毎に適した動作テストプログラムを送付することができる。
In addition, when a manufacturer of a car navigation device wants to provide an environment in which a general user can create a Java application for the company's own car navigation device, the operation range that can be permitted to the general user is set as a restriction condition. Then, the
実施の形態2.
この発明の実施の形態2は、証明情報に制約条件を埋め込むようにしたものである。この実施の形態2は、Javaアプリ動作テストプログラム20の証明部23における証明方法とカーナビゲーション装置のソフトウェア構成が、実施の形態1と異なる。以下では、実施の形態1と相違する部分を中心に説明する。
Embodiment 2. FIG.
In the second embodiment of the present invention, constraint conditions are embedded in certification information. The second embodiment is different from the first embodiment in the certification method in the
この実施の形態2に係るプログラム提供装置を構成する動作テストプログラム20の証明部23は、制約条件を含んだ証明情報を生成する。例えば、制約条件が図4に示したようなファイルに保持されている場合、証明部23は、そのファイル自体も暗号化して証明情報に埋め込む。
The
図7は、この発明の実施の形態2に係るカーナビゲーション装置のソフトウェア構成を示す図である。このソフトウェア構成は、実施の形態1に係るカーナビゲーション装置のソフトウェア構成に、Javaアプリ実行制限部15が追加されて構成されている。なお、実施の形態1においては、Javaアプリ実行制限部は動作テストプログラム20にのみ含まれており、カーナビゲーション装置には含まれていない。
FIG. 7 is a diagram showing a software configuration of the car navigation apparatus according to Embodiment 2 of the present invention. This software configuration is configured by adding a Java application
次に、プログラム提供装置で生成された証明情報とJavaアプリをカーナビゲーション装置で実行する動作を、図8に示すフローチャートを参照しながら説明する。 Next, the operation of executing the certification information generated by the program providing apparatus and the Java application by the car navigation apparatus will be described with reference to the flowchart shown in FIG.
まず、Javaアプリが取得される(ステップST31)。具体的には、カーナビゲーション装置は、通信機器61(図1参照)を介してJavaアプリおよび証明情報を受信する。この場合の通信機器61は、この発明に係る車載情報システムのプログラム受信手段に対応し、この通信機器61で受信するJavaアプリはプログラムに対応する。受信されたJavaアプリは、Javaアプリ11としてセットされる。
First, a Java application is acquired (step ST31). Specifically, the car navigation device receives the Java application and the certification information via the communication device 61 (see FIG. 1). The
次いで、Javaアプリの認証が行われる(ステップST32)。すなわち、Javaアプリ認証部14は、受け取った証明情報を認証する。ここで、Javaアプリ認証部14における認証方法としては、Javaアプリ認証部14にあらかじめ用意されている鍵を用いて暗号化されている証明情報を復号する方法を用いることができる。次いで、認証が正当(OK)であるかどうかが調べられる(ステップST33)。すなわち、Javaアプリ実行部12は、Javaアプリ認証部14から送られてきた認証結果が不正であるかどうかを調べる。このステップST33において、認証が不正であることが判断されると、Javaアプリを実行せずに処理は終了する。
Next, the Java application is authenticated (step ST32). That is, the Java
一方、ステップST33において、認証が正当であることが判断されると、次いで、制約条件が取得される(ステップST34)。すなわち、Javaアプリ実行部12は、認証結果が正当であることを判断すると、証明情報から制約条件を取得してJavaアプリ実行制限部15に送る。次いで、Javaアプリが実行される(ステップST35)。すなわち、Javaアプリ実行部12は、Javaアプリ11を実行する。この時、Javaアプリ実行制限部15は、ステップST34において取得した制約条件に従ってJavaアプリ11の動作を制限する。なお、アプリの終了処理がコールされることによって、アプリは正常に終了する。
On the other hand, if it is determined in step ST33 that the authentication is valid, then a constraint condition is acquired (step ST34). That is, when the Java application execution unit 12 determines that the authentication result is valid, the Java application execution unit 12 acquires the constraint condition from the certification information and sends it to the Java application
次いで、Javaアプリが実行中の動作制限として、APIがコールされると制限対象処理であるかどうかが調べられる(ステップST36)。すなわち、制約条件に記載されたリソースに対する処理であるかどうかが調べられる。このステップST36において、制限対象処理でないことが判断されると、シーケンスはステップST35に戻り、上述した処理が繰り返される。一方、ステップST36において、制限対象処理であることが判断されると、次いで、環境状態が取得される(ステップST37)。すなわち、Javaアプリ実行部12はナビゲーションサービス10から環境状態を取得する。
Next, as an operation restriction while the Java application is being executed, when the API is called, it is checked whether the process is a restriction target process (step ST36). That is, it is checked whether the process is for the resource described in the constraint condition. If it is determined in step ST36 that the process is not a restriction target process, the sequence returns to step ST35 and the above-described process is repeated. On the other hand, if it is determined in step ST36 that the process is a restriction target process, the environmental state is then acquired (step ST37). That is, the Java application execution unit 12 acquires the environmental state from the
次いで、実行可能であるかどうかが調べられる(ステップST38)。すなわち、Javaアプリ実行部12は、ステップST37で取得した環境状態に基づいて、Javaアプリを実行可能であるかどうかを調べる。このステップST39で、実行可能であることが判断されると、シーケンスはステップST35に戻り、上述した処理が繰り返される。一方、ステップST38において、実行可能でないことが判断されると、処理はエラー終了する。 Next, it is checked whether or not it is feasible (step ST38). That is, the Java application execution unit 12 checks whether or not the Java application can be executed based on the environmental state acquired in step ST37. If it is determined in step ST39 that execution is possible, the sequence returns to step ST35, and the above-described processing is repeated. On the other hand, if it is determined in step ST38 that execution is not possible, the process ends in error.
以上説明したように、この発明の実施の形態2によれば、受信したJavaアプリに制約条件が付属されているため、カーナビゲーション装置側でJavaアプリの動作環境を知ることができる。したがって、カーナビゲーション装置のユーザに対して、どの状態であればJavaアプリが実行可能であるかどうかを通知することができるので、例えば、カーメーカから取得したJavaアプリAは走行中にも動作可能であるが、コンテンツプロバイダから取得したJavaアプリBは停車中にしか使えないことをユーザに知らせることで、走行中にJavaアプリBを動作させようという意思を起こさせないようにすることができる。 As described above, according to the second embodiment of the present invention, since the received Java application is attached with the constraint condition, the operating environment of the Java application can be known on the car navigation device side. Therefore, since it is possible to notify the user of the car navigation device in which state the Java application can be executed, for example, the Java application A acquired from the car manufacturer can be operated while traveling. However, by notifying the user that the Java application B acquired from the content provider can only be used while the vehicle is stopped, it is possible to prevent the intention to operate the Java application B while driving.
また、サービスアプリCを実行するためにはライブラリCが必要でサービスアプリDが実行中でなければならないといったソフトウェアリソースや、サービスアプリCを実行するためにはハードディスクの空き容量とメモリの空き容量がどれだけ必要で、CPUの負荷は何%以下であるといったハードウェアリソースの詳細な動作環境をユーザに通知することができる。 Further, in order to execute the service application C, software resources that the library C is necessary and the service application D must be running, and in order to execute the service application C, there are free hard disk space and free memory space. It is possible to notify the user of the detailed operating environment of the hardware resources such as how much is necessary and the load of the CPU is below what percentage.
なお、通信機器61を介して受信された証明情報は、CPU使用率、メモリ使用量、ハードディスク使用量、バス使用率およびネットワーク使用可否の少なくとも1つを含むリソース状態と、走行中または停止中を表す走行状態、走行速度、位置、向き、高度、温度、湿度、天気および道路種別の少なくとも1つを含む環境状態とを含むように構成できる。この構成によれば、証明情報として環境状態とハードウェアのリソース状態が含まれているので、車載情報システムで安全に動作可能な状態を決定できる。
The certification information received via the
また、通信機器61を介して受信された証明情報は、アプリケーションプログラムインタフェースの使用可否、ライブラリの使用可否および特定プログラムの実行状態の少なくとも1つを含むリソース状態と、走行中または停止中を表す走行状態、走行速度、位置、向き、高度、温度、湿度、天気および道路種別の少なくとも1つを含む環境状態とを含むように構成できる。この構成によれば、証明情報として環境状態とソフトウェアのリソース状態が含まれているので、車載情報システムで安全に動作可能な状態を決定できる。
Further, the certification information received via the
実施の形態3.
この発明の実施の形態3は、証明情報に提供元情報を埋め込むようにしたものである。この実施の形態3は、Javaアプリ動作テストプログラム20の証明部23における証明方法とカーナビゲーション装置のソフトウェア構成が、実施の形態1と異なる。以下では、実施の形態1と相違する部分を中心に説明する。
In
プログラム提供装置を構成する動作テストプログラム20の証明部23は、Javaアプリの提供元の情報を含んだ証明情報を生成する。例えば、証明部23が持っている鍵は提供元毎に異なっており、この鍵を用いて署名や暗号化などの処理を行うことにより提供元の情報を埋め込むことができる。
The
図9は、この発明の実施の形態3に係るカーナビゲーション装置のソフトウェア構成を示す図である。このソフトウェア構成は、実施の形態2に係るカーナビゲーション装置のソフトウェア構成に、制約条件リスト16が追加されて構成されている。この制約条件リスト16は、この発明の制約条件取得手段に対応し、鍵の種類に応じた動作を規定している。
FIG. 9 is a diagram showing a software configuration of the car navigation device according to
次に、上述したようにして生成された証明情報とJavaアプリをカーナビゲーション装置で実行する動作を、図10に示すフローチャートを参照しながら説明する。 Next, the operation of executing the proof information generated as described above and the Java application by the car navigation device will be described with reference to the flowchart shown in FIG.
まず、Javaアプリが取得される(ステップST41)。具体的には、カーナビゲーション装置は、通信機器61(図1参照)を介してJavaアプリおよび証明情報を受信する。この場合の通信機器61は、この発明に係る車載情報システムのプログラム受信手段に対応し、この通信機器61で受信するJavaアプリはプログラムに対応する。受信されたJavaアプリは、Javaアプリ11としてセットされる。
First, a Java application is acquired (step ST41). Specifically, the car navigation device receives the Java application and the certification information via the communication device 61 (see FIG. 1). The
次いで、Javaアプリの認証が行われる(ステップST42)。すなわち、Javaアプリ認証部14は、受け取った証明情報を認証する。ここで、Javaアプリ認証部14における認証方法としては、Javaアプリ認証部14にあらかじめ用意されている提供元に応じた鍵を用いて暗号化されている証明情報を復号する方法を用いることができる。この時、復号に成功した鍵によってJavaアプリの提供元を判別することができる。
Next, the Java application is authenticated (step ST42). That is, the Java
次いで、認証が正当(OK)であるかどうかが調べられる(ステップST43)。すなわち、Javaアプリ実行部12は、Javaアプリ認証部14から送られてきた認証結果が不正であるかどうかを調べる。このステップST43において、認証が不正であることが判断されると、Javaアプリを実行せずに処理はエラー終了する。一方、ステップST43において、認証が正当であることが判断されると、次いで、Javaアプリの提供元の判別結果に基づき制約条件リスト16から該当する制約条件を決定される(ステップST44)。すなわち、Javaアプリ実行部12は、認証結果が正当であることを判断すると、制約条件リスト16から制約条件を取得してJavaアプリ実行制限部15に送る。
Next, it is checked whether or not the authentication is valid (OK) (step ST43). In other words, the Java application execution unit 12 checks whether the authentication result sent from the Java
次いで、Javaアプリが実行される(ステップST45)。すなわち、Javaアプリ実行部12は、Javaアプリを実行する。この時、Javaアプリ実行制限部15は、ステップST44において決定された制約条件に従ってJavaアプリの動作を制限する。なお、アプリの終了処理がコールされることによって、アプリは正常に終了する。
Next, the Java application is executed (step ST45). That is, the Java application execution unit 12 executes the Java application. At this time, the Java application
次いで、Javaアプリ実行中の動作制限として、APIがコールされると、制限対象処理であるかどうかが調べられる(ステップST46)。すなわち、制約条件に記載されたリソースに対する処理であるかどうかが調べられる。このステップST46において、制限対象処理でないことが判断されると、シーケンスはステップST45に戻り、上述した処理が繰り返される。一方、ステップST46において、制限対象処理であることが判断されると、次いで、環境状態が取得される(ステップST47)。すなわち、Javaアプリ実行部12はナビゲーションサービス10から環境状態を取得する。
Next, when the API is called as an operation restriction during execution of the Java application, it is checked whether the process is a restriction target process (step ST46). That is, it is checked whether the process is for the resource described in the constraint condition. If it is determined in step ST46 that the process is not a restriction target process, the sequence returns to step ST45 and the above-described process is repeated. On the other hand, if it is determined in step ST46 that the process is a restriction target process, the environmental state is then acquired (step ST47). That is, the Java application execution unit 12 acquires the environmental state from the
次いで、実行可能であるかどうかが調べられる(ステップST48)。すなわち、Javaアプリ実行部12は、ステップST47で取得した環境状態に基づいて、Javaアプリを実行可能であるかどうかを調べる。このステップST48で、実行可能であることが判断されると、シーケンスはステップST45に戻り、上述した処理が繰り返される。一方、ステップST48において、実行可能でないことが判断されると、処理はエラー終了する。 Next, it is checked whether or not it is feasible (step ST48). That is, the Java application execution unit 12 checks whether or not the Java application can be executed based on the environmental state acquired in step ST47. If it is determined in this step ST48 that execution is possible, the sequence returns to step ST45, and the above-described processing is repeated. On the other hand, if it is determined in step ST48 that execution is not possible, the process ends in error.
以上説明したように、この発明の実施の形態3によれば、証明情報としてあらかじめ車載情報システムが所持している制約条件リストの中から提供元を指定するように構成したので、提供元に応じた動作制限ができる。また、Javaアプリには提供元情報のみが記載されているため、詳細な動作設定がなされることによって制約条件のデータが多い場合でも通信に要するコストを抑えることができる。また、動作テストプログラムを配布した後にJavaアプリの動作環境の変更が生じた場合、カーナビゲーション装置に記録されている制約条件リストを更新することで対応できる。 As described above, according to the third embodiment of the present invention, since the provider is designated from the restriction condition list possessed by the in-vehicle information system in advance as proof information, Can be restricted. In addition, since only the provider information is described in the Java application, the cost required for communication can be suppressed even when there is a lot of constraint data by performing detailed operation settings. In addition, when the operation environment of the Java application changes after the operation test program is distributed, it can be dealt with by updating the restriction condition list recorded in the car navigation device.
また、上述した実施の形態3では、提供元を特定する方法として鍵の種別を用いたが、提供元を示す情報、例えばID、URL、名称などを記録したデータをJavaアプリに付属するように構成することができる。 In the third embodiment described above, the key type is used as a method for specifying the provider, but data indicating the provider, such as ID, URL, and name, is attached to the Java application. Can be configured.
なお、上述した実施の形態1〜3では、開発対象のプログラムをJavaアプリとして説明したが、開発対象のプログラムは、例えばC言語などによって記述されるネイティブアプリケーションとすることもできる。また、実施の形態1〜3に係るプログラム提供装置は、パーソナルコンピュータ上で実行されるプログラムであるので、このプログラムを記録媒体に格納して配布するように構成できる。 In the first to third embodiments described above, the development target program has been described as a Java application. However, the development target program may be a native application described in, for example, C language. Further, since the program providing apparatus according to the first to third embodiments is a program executed on a personal computer, the program can be configured to be stored in a recording medium and distributed.
1 CPU、2 ROM、3 RAM、4 操作部インタフェース、5 出力部インタフェース、6 通信部インタフェース、7 外部記録装置インタフェース、10 ナビゲーションサービス、10a JavaVMインタフェースモジュール、11 Javaアプリ、12 Javaアプリ実行部、12a ナビゲーションサービスインタフェースモジュール、13 Java管理部、14 Javaアプリ認証部、15 Javaアプリ実行制限部、16 制約条件リスト、20 動作テストプログラム、21 制約条件保持部、22 Javaアプリ実行制限部、23 証明部、31 ナビ画面出力ウインドウ、
32 操作入力ウインドウ、33 ナビ環境設定ウインドウ、41 リモコン、42 マイク、51 ディスプレイ、52 スピーカ、61 通信機器、62 車内LAN、71 外部記録装置ドライブ、110 ナビゲーションサービス、111 Javaアプリ本体、112 Javaアプリ実行部、113 Javaアプリ管理部、114 Javaアプリ認証部。
1 CPU, 2 ROM, 3 RAM, 4 operation unit interface, 5 output unit interface, 6 communication unit interface, 7 external recording device interface, 10 navigation service, 10a JavaVM interface module, 11 Java application, 12 Java application execution unit, 12a Navigation service interface module, 13 Java management unit, 14 Java application authentication unit, 15 Java application execution restriction unit, 16 restriction condition list, 20 operation test program, 21 restriction condition holding part, 22 Java application execution restriction part, 23 certification part, 31 Navigation screen output window,
32 operation input window, 33 navigation environment setting window, 41 remote control, 42 microphone, 51 display, 52 speaker, 61 communication device, 62 in-vehicle LAN, 71 external recording device drive, 110 navigation service, 111 Java application main body, 112 Java application execution Part, 113 Java application management part, 114 Java application authentication part.
Claims (14)
車載情報システム用に開発されたプログラムを受け取るプログラム受信手段と、
車載情報システムのリソース状態および環境状態を制約条件として保持する制約条件保持手段と、
前記制約条件保持手段に保持された制約条件に基づいて前記プログラムの動作を制限するプログラム実行制限手段と、
前記エミュレート手段によって提供されるリソースを用いて、前記プログラム受信手段から受け取ったプログラムを、前記プログラム実行制限手段による制限にしたがって実行するプログラム実行手段
とを備えたプログラム提供装置。 An emulation means for emulating the hardware environment and software environment of the in-vehicle information system;
Program receiving means for receiving a program developed for an in-vehicle information system;
Restriction condition holding means for holding the resource state and environmental state of the in-vehicle information system as restriction conditions;
Program execution restriction means for restricting the operation of the program based on the restriction conditions held in the restriction condition holding means;
A program providing device comprising: a program execution unit that executes a program received from the program reception unit according to a restriction by the program execution restriction unit, using a resource provided by the emulation unit.
環境状態は、走行中または停止中を表す走行状態、走行速度、位置、向き、高度、温度、湿度、天気および道路種別の少なくとも1つを含む
ことを特徴とする請求項1記載のプログラム提供装置。 The resource state included in the constraint condition held in the constraint condition holding means includes at least one of CPU usage rate, memory usage rate, hard disk usage rate, bus usage rate, and network availability,
2. The program providing apparatus according to claim 1, wherein the environmental state includes at least one of a traveling state indicating traveling or stopped, traveling speed, position, direction, altitude, temperature, humidity, weather, and road type. .
環境状態は、走行中または停止中を表す走行状態、走行速度、位置、向き、高度、温度、湿度、天気および道路種別の少なくとも1つを含む
ことを特徴とする請求項1記載のプログラム提供装置。 The resource state included in the constraint condition held in the constraint condition holding means includes at least one of the availability of the application program interface, the availability of the library, and the execution state of the specific program,
2. The program providing apparatus according to claim 1, wherein the environmental state includes at least one of a traveling state indicating traveling or stopped, traveling speed, position, direction, altitude, temperature, humidity, weather, and road type. .
前記プログラム証明手段によって正常に実行されたことが証明されたプログラムおよび前記プログラム証明手段で生成された証明情報を保存するプログラム保存手段
とを備えたことを特徴とする請求項1記載のプログラム提供装置。 Program proof means for generating proof information for proof that the program has been successfully executed by the program execution means;
2. The program providing apparatus according to claim 1, further comprising: a program proved to be executed normally by the program certifying means and a program storage means for saving proof information generated by the program proof means. .
前記プログラム証明手段によって正常に実行されたことが証明されたプログラムおよび前記プログラム証明手段で生成された証明情報を外部へ送信するプログラム送信手段
とを備えたことを特徴とする請求項1記載のプログラム提供装置。 Program proof means for generating proof information for proof that the program has been successfully executed by the program execution means;
2. The program according to claim 1, further comprising: a program proved to be executed normally by the program certification means; and a program transmission means for sending the certification information generated by the program certification means to the outside. Providing device.
CPU使用率、メモリ使用量、ハードディスク使用量、バス使用率およびネットワーク使用可否の少なくとも1つを含むリソース状態と、
走行中または停止中を表す走行状態、走行速度、位置、向き、高度、温度、湿度、天気および道路種別の少なくとも1つを含む環境状態とを含む制約条件に応じて証明情報を生成することを特徴とする請求項5または請求項6記載のプログラム提供装置。 Program proof means
A resource state including at least one of CPU usage, memory usage, hard disk usage, bus usage, and network availability;
Generating proof information according to a constraint condition including a traveling state indicating traveling or stopping, traveling speed, position, orientation, altitude, temperature, humidity, weather, and an environmental state including at least one of road types. 7. The program providing apparatus according to claim 5, wherein the program providing apparatus is characterized.
アプリケーションプログラムインタフェースの使用可否、ライブラリの使用可否、特定プログラムの実行状態の少なくとも1つを含むリソース状態と、
走行中または停止中を表す走行状態、走行速度、位置、向き、高度、温度、湿度、天気および道路種別の少なくとも1つを含む環境状態とを含む制約条件に応じて証明情報を生成することを特徴とする請求項5または請求項6記載のプログラム提供装置。 Program proof means
Resource status including at least one of application program interface availability, library availability, specific program execution status;
Generating proof information according to a constraint condition including a traveling state indicating traveling or stopping, traveling speed, position, orientation, altitude, temperature, humidity, weather, and an environmental state including at least one of road types. 7. The program providing apparatus according to claim 5, wherein the program providing apparatus is characterized.
ことを特徴とする請求項5または請求項6記載のプログラム提供装置。 7. The program providing apparatus according to claim 5, wherein the program certification means generates certification information according to a program provider.
車載情報システム用に開発されたプログラムを受け取るプログラム受信手段と、
車載情報システムのリソース状態および環境状態を制約条件として保持する制約条件保持手段と、
前記制約条件保持手段に保持された制約条件に基づいて前記プログラムの動作を制限するプログラム実行制限手段と、
前記エミュレート手段によって提供されるリソースを用いて、前記プログラム受信手段から受け取ったプログラムを、前記プログラム実行制限手段による制限にしたがって実行するプログラム実行手段
とを備えたコンピュータで実行可能なプログラムを記憶した記憶媒体。 An emulation means for emulating the hardware environment and software environment of the in-vehicle information system;
Program receiving means for receiving a program developed for an in-vehicle information system;
Restriction condition holding means for holding the resource state and environmental state of the in-vehicle information system as restriction conditions;
Program execution restriction means for restricting the operation of the program based on the restriction conditions held in the restriction condition holding means;
A computer-executable program having program execution means for executing a program received from the program reception means according to a restriction by the program execution restriction means using a resource provided by the emulation means is stored. Storage medium.
前記プログラム受信手段から受け取った証明情報を解読して認証するプログラム認証手段と、
前記プログラム認証手段から受け取った認証結果に応じて前記プログラムの動作を制限するプログラム実行制限手段と、
前記プログラム受信手段から受け取ったプログラムを、前記プログラム実行制限手段による制限にしたがって実行するプログラム実行手段
とを備えた車載情報システム。 A program receiving means for receiving a program and certification information developed for an in-vehicle information system;
Program authentication means for decrypting and authenticating the certification information received from the program receiving means;
Program execution restriction means for restricting the operation of the program according to the authentication result received from the program authentication means;
An in-vehicle information system comprising: a program execution unit that executes a program received from the program reception unit according to a restriction by the program execution restriction unit.
走行中または停止中を表す走行状態、走行速度、位置、向き、高度、温度、湿度、天気および道路種別の少なくとも1つを含む環境状態
とを含むことを特徴とする請求項11記載の車載情報システム。 The certification information received by the program receiving means includes a resource state including at least one of a CPU usage rate, a memory usage amount, a hard disk usage amount, a bus usage rate, and a network availability.
The in-vehicle information according to claim 11, further comprising: a traveling state representing traveling or stopped, a traveling speed, a position, a direction, an altitude, temperature, humidity, weather, and an environmental state including at least one of road types. system.
走行中または停止中を表す走行状態、走行速度、位置、向き、高度、温度、湿度、天気および道路種別の少なくとも1つを含む環境状態
とを含むことを特徴とする請求項11記載の車載情報システム。 The certification information received by the program receiving means includes a resource state including at least one of availability of the application program interface, availability of the library, and execution state of the specific program,
The in-vehicle information according to claim 11, further comprising: a traveling state representing traveling or stopped, a traveling speed, a position, a direction, an altitude, temperature, humidity, weather, and an environmental state including at least one of road types. system.
プログラム認証手段から得られる認証結果は、前記制約条件取得手段で取得された制約条件を特定する情報を含み、
プログラム実行制限手段は、前記認証結果と前記制約条件取得手段で取得された制約条件に応じてプログラムの動作を変更する
ことを特徴とする請求項11記載の車載情報システム。
Provided with a constraint condition acquisition means for acquiring a constraint condition including the resource status and environmental status of the in-vehicle information system,
The authentication result obtained from the program authentication means includes information for specifying the constraint condition acquired by the constraint condition acquisition means,
The in-vehicle information system according to claim 11, wherein the program execution restriction unit changes an operation of the program according to the authentication result and the constraint condition acquired by the constraint condition acquisition unit.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005249872A JP2007065893A (en) | 2005-08-30 | 2005-08-30 | Program provision device and onboard information system |
CN2006800090463A CN101146697B (en) | 2005-04-21 | 2006-02-08 | Program providing device, storage medium, and on-vehicle information system |
PCT/JP2006/302181 WO2006114925A1 (en) | 2005-04-21 | 2006-02-08 | Program providing device, storage medium, and on-vehicle information system |
DE112006000536T DE112006000536T5 (en) | 2005-04-21 | 2006-02-08 | Program delivery device, storage medium and information system mounted on a motor vehicle |
US11/883,241 US8136157B2 (en) | 2005-04-21 | 2006-02-08 | Program providing device, storage medium, and vehicle-mounted information system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005249872A JP2007065893A (en) | 2005-08-30 | 2005-08-30 | Program provision device and onboard information system |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011068375A Division JP2011146068A (en) | 2011-03-25 | 2011-03-25 | Program providing device and in-vehicle information system |
JP2011148222A Division JP5409714B2 (en) | 2011-07-04 | 2011-07-04 | In-vehicle information system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007065893A true JP2007065893A (en) | 2007-03-15 |
Family
ID=37928045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005249872A Pending JP2007065893A (en) | 2005-04-21 | 2005-08-30 | Program provision device and onboard information system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007065893A (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012064103A (en) * | 2010-09-17 | 2012-03-29 | Konica Minolta Business Technologies Inc | Information processor, log recording method and log recording program |
WO2012070604A1 (en) * | 2010-11-24 | 2012-05-31 | トヨタ自動車 株式会社 | Vehicle-mounted application management device and vehicle-mounted application management method |
WO2013132647A1 (en) * | 2012-03-09 | 2013-09-12 | パイオニア株式会社 | Information processing device, information processing method, recording medium on which information processing program is recorded, and information processing program |
WO2013180280A1 (en) * | 2012-05-31 | 2013-12-05 | クラリオン株式会社 | On-board information system, information terminal, and application execution method |
JP2015040758A (en) * | 2013-08-21 | 2015-03-02 | 株式会社デンソー | Integrated navigation device |
KR20160060269A (en) * | 2014-11-20 | 2016-05-30 | 주식회사 만도 | Diagnostic system and method for vehicle |
JP2016533049A (en) * | 2013-06-06 | 2016-10-20 | ボストン サイエンティフィック ニューロモデュレイション コーポレイション | Method and system for allowing a mobile device to communicate with a medical device |
JP2018124690A (en) * | 2017-01-31 | 2018-08-09 | クラリオン株式会社 | Information terminal and information providing system |
KR102085899B1 (en) * | 2018-12-10 | 2020-03-06 | 현대오트론 주식회사 | Operating Monitoring Method For CPU Of Vehicle ECU, And Monitoring Unit |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002149409A (en) * | 2000-11-07 | 2002-05-24 | Alpine Electronics Inc | System for managing function of electronic equipment |
JP2003283494A (en) * | 2002-03-27 | 2003-10-03 | Ntt Docomo Inc | Access control method of communication terminal, certification program providing device, management device and communication terminal |
JP2003337630A (en) * | 2002-05-17 | 2003-11-28 | Ntt Docomo Inc | Communication terminal, program, recording medium, access control method of the communication terminal, and method of providing content |
JP2005075314A (en) * | 2003-09-04 | 2005-03-24 | Hitachi Ltd | On-vehicle device and service center system |
JP2005088779A (en) * | 2003-09-18 | 2005-04-07 | Xanavi Informatics Corp | On-vehicle information terminal unit |
-
2005
- 2005-08-30 JP JP2005249872A patent/JP2007065893A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002149409A (en) * | 2000-11-07 | 2002-05-24 | Alpine Electronics Inc | System for managing function of electronic equipment |
JP2003283494A (en) * | 2002-03-27 | 2003-10-03 | Ntt Docomo Inc | Access control method of communication terminal, certification program providing device, management device and communication terminal |
JP2003337630A (en) * | 2002-05-17 | 2003-11-28 | Ntt Docomo Inc | Communication terminal, program, recording medium, access control method of the communication terminal, and method of providing content |
JP2005075314A (en) * | 2003-09-04 | 2005-03-24 | Hitachi Ltd | On-vehicle device and service center system |
JP2005088779A (en) * | 2003-09-18 | 2005-04-07 | Xanavi Informatics Corp | On-vehicle information terminal unit |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012064103A (en) * | 2010-09-17 | 2012-03-29 | Konica Minolta Business Technologies Inc | Information processor, log recording method and log recording program |
WO2012070604A1 (en) * | 2010-11-24 | 2012-05-31 | トヨタ自動車 株式会社 | Vehicle-mounted application management device and vehicle-mounted application management method |
JP2012111317A (en) * | 2010-11-24 | 2012-06-14 | Toyota Motor Corp | Device and method for management of vehicle-mounted application |
JPWO2013132647A1 (en) * | 2012-03-09 | 2015-07-30 | パイオニア株式会社 | Information processing apparatus, information processing method, recording medium on which information processing program is recorded, and information processing program |
WO2013132647A1 (en) * | 2012-03-09 | 2013-09-12 | パイオニア株式会社 | Information processing device, information processing method, recording medium on which information processing program is recorded, and information processing program |
WO2013180280A1 (en) * | 2012-05-31 | 2013-12-05 | クラリオン株式会社 | On-board information system, information terminal, and application execution method |
JPWO2013180280A1 (en) * | 2012-05-31 | 2016-01-21 | クラリオン株式会社 | In-vehicle information system, information terminal, application execution method |
US9684523B2 (en) | 2012-05-31 | 2017-06-20 | Clarion Co., Ltd. | In-vehicle information system, information terminal, and application execution method |
JP2016533049A (en) * | 2013-06-06 | 2016-10-20 | ボストン サイエンティフィック ニューロモデュレイション コーポレイション | Method and system for allowing a mobile device to communicate with a medical device |
JP2015040758A (en) * | 2013-08-21 | 2015-03-02 | 株式会社デンソー | Integrated navigation device |
KR20160060269A (en) * | 2014-11-20 | 2016-05-30 | 주식회사 만도 | Diagnostic system and method for vehicle |
KR102246322B1 (en) | 2014-11-20 | 2021-04-29 | 주식회사 만도 | Diagnostic system and method for vehicle |
JP2018124690A (en) * | 2017-01-31 | 2018-08-09 | クラリオン株式会社 | Information terminal and information providing system |
KR102085899B1 (en) * | 2018-12-10 | 2020-03-06 | 현대오트론 주식회사 | Operating Monitoring Method For CPU Of Vehicle ECU, And Monitoring Unit |
US11422916B2 (en) | 2018-12-10 | 2022-08-23 | Hyundai Autoever Corp. | Usage amount monitoring method and monitoring unit of electronic control unit for vehicle |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007065893A (en) | Program provision device and onboard information system | |
TWI674533B (en) | Apparatus of authorizing an operation to be performed on a targeted computing device | |
JP5828081B2 (en) | Information processing apparatus, information processing method, and program distribution system | |
JP5821034B2 (en) | Information processing apparatus, virtual machine generation method, and application distribution system | |
TWI648649B (en) | Mobile communication device and method of operating same | |
US8589691B1 (en) | Self-signed certificates for computer application signatures | |
RU2542930C2 (en) | Booting and configuring subsystem securely from non-local storage | |
US8392724B2 (en) | Information terminal, security device, data protection method, and data protection program | |
WO2009107349A1 (en) | Information processing device | |
JP4093494B2 (en) | System and method for controlling access to confidential information | |
WO2015024253A1 (en) | Permission management method and apparatus, and terminal | |
CN103620556A (en) | Binding applications to device capabilities | |
CN112612327B (en) | Access control method, device and system of docking station and electronic equipment | |
WO2006114925A1 (en) | Program providing device, storage medium, and on-vehicle information system | |
KR20170140630A (en) | Method and server for authenticating an application integrity | |
CN101146697B (en) | Program providing device, storage medium, and on-vehicle information system | |
JP5409714B2 (en) | In-vehicle information system | |
Costantino et al. | A vehicle firmware security vulnerability: an IVI exploitation | |
US10778411B1 (en) | System for interexchange of state data among disparate block chains | |
JP2011146068A (en) | Program providing device and in-vehicle information system | |
CN111142902B (en) | Method and device for protecting upgrading firmware of processor and vehicle | |
JP2007329731A (en) | Method, system, and program for certificate update | |
KR101294866B1 (en) | Development environment management system and development environment management method thereof | |
JP5305864B2 (en) | Information processing apparatus, information processing method, and information processing program | |
CN111859316A (en) | Application program reinforcing method, device, equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070912 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20070918 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080624 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101102 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110125 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110325 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110426 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110704 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20110707 |