(57)【要約】【課題】インストール制限等の内容を柔軟に制御することができる情報処理装置を実現する。【解決手段】実施形態によれば、情報処理装置は、管理手段と、制御手段とを具備する。前記管理手段は、各アプリケーションプログラムのインストール制限のための環境を提供する。前記制御手段は、アプリケーションプログラムのインストールを要求するイベントを検出し、前記インストールの実行に先立って、前記アプリケーションプログラムのアプリケーション名を含むインストールイベント情報を、前記管理手段に送信する。前記管理手段は、前記インストールイベント情報を判定プログラムに通知し、前記判定プログラムから受信される前記インストールの許可または禁止を示す判定結果を前記制御手段に送信する。【選択図】図１
2014021923.tif 000002
【特許請求の範囲】
【請求項１】
各アプリケーションプログラムのインストール制限のための環境を提供する管理手段と、
アプリケーションプログラムのインストールを要求するイベントを検出し、前記インストールの実行に先立って、前記アプリケーションプログラムのアプリケーション名を含むインストールイベント情報を、前記管理手段に送信する制御手段とを具備し、
前記管理手段は、前記インストールイベント情報を判定プログラムに通知し、前記判定プログラムから受信される前記インストールの許可または禁止を示す判定結果を前記制御手段に送信する、情報処理装置。
【請求項２】
前記制御手段はオペレーティングシステム層内のソフトウェアモジュールを含み、前記管理手段はアプリケーション層で実行される第１のアプリケーションプログラムを含み、前記判定プログラムは前記アプリケーション層で実行される請求項１記載の情報処理装置。
【請求項３】
前記管理手段は、前記判定プログラムに付与された証明書を検証するための公開鍵を備える公開鍵蓄積手段を備え、
前記管理手段は、前記判定プログラムに付与された証明書に基づいて前記判定プログラムの正当性を確認し、前記判定プログラムの正当性が確認された場合に、前記判定プログラムを前記インストールイベント情報を通知すべき通信相手に特定する請求項１記載の情報処理装置。
【請求項４】
前記管理手段と前記制御手段との通信にはシグナルシステムコールを用い、前記管理手段と前記判定プログラムとの通信にはプロセス間通信を用いる請求項１記載の情報処理装置。
【請求項５】
前記制御手段はオペレーティングシステム層内のソフトウェアモジュールを含み、前記管理手段はアプリケーション層で実行される第１のアプリケーションプログラムを含み、
前記制御手段は、前記第１のアプリケーションプログラムのアプリケーション名を保持しており、前記保持しているアプリケーション名に基づいて、前記第１のアプリケーションプログラムを前記インストールイベント情報を送信すべき通信相手に特定する請求項１記載の情報処理装置。
【請求項６】
前記管理手段は、前記判定プログラムが前記情報処理装置にインストールされた後に前記判定プログラムの要求に基づいて前記判定プログラムの正当性を確認し、前記判定プログラムの正当性が確認された場合、前記制御手段に、前記イベントの検出に応答して前記インストールイベント情報を送信するように指示する請求項１記載の情報処理装置。
【請求項７】
前記制御手段は、前記インストールイベント以外のイベントの実行の可否を判定する判定ルールを備え、前記管理手段から所定の指示を受けとる前は、前記判定ルールに従って前記インストールイベント以外の前記イベントの実行可否を判定し、
前記制御手段は、前記所定の指示に基づいて前記判定ルールを更新し、前記インストールイベント以外の前記イベントの実行の可否を前記管理手段に問い合わせ、前記インストールイベント以外の前記イベントの実行の許可または禁止を示す判定結果を前記管理手段から受信し、前記受信した判定結果に基づいて前記インストールイベント以外の前記イベントを実行するか否かを判断する請求項１記載の情報処理装置。
【請求項８】
前記制御手段は、前記管理手段から所定の指示を受けとる前は、特定のアプリケーション名を有するアプリケーションプログラムのインストールを要求するイベントを検出し、前記特定のアプリケーション名を有するアプリケーションプログラムのインストールの実行に先立って、前記特定のアプリケーション名を含むインストールイベント情報を、前記管理手段に送信し、前記特定のアプリケーション名を有するアプリケーションプログラムのインストールの許可または禁止を示す判定結果を前記管理手段から受信し、前記受信した判定結果に基づいて前記特定のアプリケーション名を有するアプリケーションプログラムのインストールを実行するか否かを判断する請求項１記載の情報処理装置。
【請求項９】
前記判定プログラムは、所定の判定ルールに基づいて、前記インストールイベント情報に含まれるアプリケーション名に対応するアプリケーションプログラムのインストールの許可または禁止を判定する請求項１記載の情報処理装置。
【請求項１０】
前記制御手段は、アプリケーションプログラムのアンインストールを要求するイベントを検出し、前記アンインストールの実行に先立って、アンインストール対象のアプリケーションプログラムのアプリケーション名を含むアンインストールイベント情報を前記管理手段に送信し、
前記管理手段は、前記アンインストールイベント情報内の前記アンインストール対象のアプリケーション名が前記判定プログラムのアプリケーション名に一致する場合、前記アンインストールの禁止を示す判定結果を前記制御手段に送信する請求項１記載の情報処理装置。
【請求項１１】
前記制御手段はオペレーティングシステム層内のソフトウェアモジュールを含み、前記管理手段はアプリケーション層で実行される第１のアプリケーションプログラムを含み、前記判定プログラムは前記アプリケーション層で実行され、
前記制御手段は、アプリケーションプログラムのアンインストールを要求するイベントを検出し、前記アンインストールの実行に先立って、アンインストール対象のアプリケーションプログラムのアプリケーション名を含むアンインストールイベント情報を前記管理手段に送信し、
前記管理手段は、前記アンインストールイベント情報内の前記アンインストール対象のアプリケーション名が前記第１のアプリケーションプログラムのアプリケーション名または前記判定プログラムのアプリケーション名のいずれかに一致する場合、前記アンインストールの禁止を示す判定結果を前記制御手段に送信する請求項１記載の情報処理装置。
【請求項１２】
前記管理手段は、前記アンインストールイベント情報内の前記アンインストール対象のアプリケーション名が前記第１のアプリケーションプログラムのアプリケーション名または前記判定プログラムのアプリケーション名のいずれかに一致しない場合、前記判定プログラムに前記アンインストールイベント情報を送信し、前記判定プログラムから判定結果を受信し、前記制御手段に前記判定結果を送信する請求項１１記載の情報処理装置。
【請求項１３】
前記管理手段は、前記判定ブログラムとの通信が実行できない場合、前記管理手段が保持する所定の判定ルールに基づいて、前記インストールイベント情報に含まれるアプリケーション名に対応するアプリケーションプログラムのインストールの許可または禁止を判定する請求項１記載の情報処理装置。
【請求項１４】
情報処理装置へのアプリケーションのインストールを制限するための制御方法であって、
アプリケーションプログラムのインストールを要求するイベントを検出し、
前記インストールの実行に先立って、前記アプリケーションプログラムのアプリケーション名を含むインストールイベント情報を、各アプリケーションプログラムのインストール制限のための環境を提供するための管理手段に送信し、
前記インストールイベント情報を前記管理手段から判定プログラムに通知し、
前記判定プログラムから受信される判定結果が前記アプリケーションプログラムのインストールの許可を示す場合、前記アプリケーションプログラムをインストールするためのインストール処理を実行する、制御方法。
【請求項１５】
前記イベントを検出することと前記管理手段へ前記インストールイベント情報を送信することは、オペレーティングシステム層内のソフトウェアモジュールによって実行され、
前記管理手段はアプリケーション層で実行される第１のアプリケーションプログラムを含み、前記判定プログラムは前記アプリケーション層で実行される請求項１４記載の制御方法。
【請求項１６】
前記判定プログラムに付与された証明書に基づいて前記判定プログラムの正当性を確認することと、
前記判定プログラムの正当性が確認された場合、前記判定プログラムを、前記インストールイベント情報を通知すべき通信相手に特定することとをさらに具備する請求項１４記載の制御方法。
【請求項１７】
前記イベントを検出することと前記管理手段へ前記インストールイベント情報を送信することは、オペレーティングシステム層内のソフトウェアモジュールによって実行され、前記管理手段はアプリケーション層で実行される第１のアプリケーションプログラムを含み、
前記ソフトウェアモジュールは前記第１のアプリケーションプログラムのプログラム名を保持しており、
前記保持しているプログラム名に基づいて、前記第１のアプリケーションプログラムを前記インストールイベント情報を送信すべき通信相手に特定することをさらに具備する請求項１４記載の制御方法。
【請求項１８】
アプリケーションプログラムのインストールを要求するイベントを検出する手順と、
前記インストールの実行に先立って、前記アプリケーションプログラムのアプリケーション名を含むインストールイベント情報を、各アプリケーションプログラムのインストール制限のための環境を提供するための管理手段に送信する手順と、
前記インストールイベント情報を前記管理手段から判定プログラムに通知する手順と、
前記判定プログラムから受信される判定結果が前記アプリケーションプログラムのインストールの許可を示す場合、前記アプリケーションプログラムをインストールするためのインストール処理を実行する手順とをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、アプリケーションプログラムのインストールを制限するための情報処理装置および制御方法に関する。
【背景技術】
【０００２】
近年、企業においては、個人所有の情報端末等を企業内に持ち込んで業務で利用すること（いわゆる、Bring Your Own Device（ＢＹＯＤ））が注目されている。情報端末としては、様々な情報処理装置、例えば、タブレット端末、スマートフォン等、を使用することができる。
【０００３】
ＢＹＯＤを実現するためには、情報処理装置に対して様々なセキュリティー対策を施すことが必要とされる。
【０００４】
セキュリティー技術の一つとして、パーソナルコンピュータ等においては、ユーザ権限レベルを使用して、アプリケーションプログラムのインストールを制限する技術が使用されている。この場合、アプリケーションプログラムをインストールする行為は、アドミニストレータのような特定の権限レベルを有する人にのみ許可される。
【０００５】
また、アプリケーションプログラムの改竄の有無を判定し、改竄されたアプリケーションプログラムのインストールを禁止する技術も知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−８７３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、業務で使用されるアプリケーションプログラムの種類は企業毎に異なる。このため、適用すべきインストール制限やアンインストール制限の内容は個々の企業毎に異なる場合がある。
【０００８】
したがって、情報処理装置を業務で使用する場合には、個々のアプリケーションプログラムに対するインストール制限、アンインストール制限の内容を柔軟に制御するための新たな機能の実現が必要である。
【０００９】
本発明の目的は、インストール制限等の内容を柔軟に制御することができる情報処理装置および制御方法を提供することである。
【課題を解決するための手段】
【００１０】
実施形態によれば、情報処理装置は、管理手段と、制御手段とを具備する。前記管理手段は、各アプリケーションプログラムのインストール制限のための環境を提供する。前記制御手段は、アプリケーションプログラムのインストールを要求するイベントを検出し、前記インストールの実行に先立って、前記アプリケーションプログラムのアプリケーション名を含むインストールイベント情報を、前記管理手段に送信する。前記管理手段は、前記インストールイベント情報を判定プログラムに通知し、前記判定プログラムから受信される前記インストールの許可または禁止を示す判定結果を前記制御手段に送信する。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係る情報処理装置の構成を示すブロック図。
【図２】同実施形態の情報処理装置において使用されるアプリケーションパッケージファイルの構成を示す図。
【図３】同実施形態の情報処理装置内に設けられる、アクセス検出・制御部とアプリケーション実行部の構成を示すブロック図。
【図４】同実施形態の情報処理装置において使用される判定アプリケーション部の構成を示すブロック図。
【図５】同実施形態の情報処理装置内に設けられる、判定アプリケーション登録部を備えた管理アプリケーション部の構成を示すブロック図。
【図６】図５の管理アプリケーション部によって実行されるインストールイベント処理の手順を示すフローチャート。
【図７】同実施形態の情報処理装置内に設けられる、インストーラ部、アクセス検出・制御部、管理アプリケーション部および判定アプリケーション部それぞれによって実行される処理の手順の一部を示すフローチャート。
【図８】同実施形態の情報処理装置内に設けられる、インストーラ部、アクセス検出・制御部、管理アプリケーション部および判定アプリケーション部それぞれによって実行される処理の手順の残りの部分を示すフローチャート。
【図９】同実施形態の情報処理装置内に設けられる、デフォルトルール管理部を備えた管理アプリケーション部の構成を示すブロック図。
【図１０】図９の管理アプリケーション部によって実行される処理の手順を示すフローチャート。
【図１１】同実施形態の情報処理装置内に設けられる、アクティベート部を備えた管理アプリケーション部の構成を示すブロック図。
【図１２】同実施形態の情報処理装置内に設けられる、アクセス検出・制御部とアプリケーション実行部の他の構成を示すブロック図。
【図１３】同実施形態の情報処理装置内に設けられる管理アプリケーション部の他の構成を示すブロック図。
【図１４】同実施形態の情報処理装置内に設けられる判定アプリケーション部の他の構成を示すブロック図。
【図１５】図１３の管理アプリケーション部によって実行される判定アプリケーション登録処理の手順を示すフローチャート。
【図１６】同実施形態の情報処理装置内に設けられる管理アプリケーション部の他の構成を示すブロック図。
【図１７】同実施形態の情報処理装置内に設けられる、アクセス検出・制御部の他の構成を示すブロック図。
【図１８】同実施形態の情報処理装置内に設けられる、インストーラ部、アクセス検出・制御部、管理アプリケーション部および判定アプリケーション部それぞれによって実行される処理の別の手順の一部を示すフローチャート。
【図１９】同実施形態の情報処理装置内に設けられる、インストーラ部、アクセス検出・制御部、管理アプリケーション部および判定アプリケーション部それぞれによって実行される処理の別の手順の残りの部分の一部を示すフローチャート。
【図２０】同実施形態の情報処理装置内に設けられる、インストーラ部、アクセス検出・制御部、管理アプリケーション部および判定アプリケーション部それぞれによって実行される処理の別の手順の残りの部分の他の部分を示すフローチャート。
【図２１】同実施形態の情報処理装置内に設けられる管理アプリケーション部のさらに他の構成を示すブロック図。
【図２２】同実施形態の情報処理装置内に設けられる判定アプリケーション部のさらに他の構成を示すブロック図。
【図２３】同実施形態の情報処理装置内に設けられる判定アプリケーション部のさらに他の構成を示すブロック図。
【図２４】同実施形態の情報処理装置内に設けられる、アンインストールイベント通知機能を備えたアクセス検出・制御部とアンインストール要求機能を備えたアプリケーション実行部の構成を示すブロック図。
【図２５】同実施形態の情報処理装置内に設けられる、アンインストール判定機能を備えた管理アプリケーション部の構成を示すブロック図。
【図２６】同実施形態の情報処理装置内に設けられる、アンインストール判定機能を備えた管理アプリケーション部の他の構成を示すブロック図。
【図２７】同実施形態の情報処理装置内の管理アプリケーション部によって実行されるアンインストールイベント処理の手順を示すフローチャート。
【図２８】同実施形態の情報処理装置のハードウェア構成例を示すブロック図。
【発明を実施するための形態】
【００１２】
以下、実施の形態について図面を参照して説明する。  
図１は、一実施形態に係る情報処理装置１の構成を示している。この情報処理装置１は様々なアプリケーションプログラムを実行するように構成されており、例えば、タブレット端末、スマートフォン、ＰＤＡ、他の各種情報端末によって実現されうる。情報処理装置１は、ＵＳＢメモリ、ＳＤメモリカードといった外部ストレージ装置２にアクセスする機能を有している。また、情報処理装置１は、幾つかの無線通信規格、例えば、ＷｉＦｉ（登録商標）、第三世代移動通信（３Ｇ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）等、にそれぞれ対応する無線通信を実行するように構成されている。情報処理装置１は、この無線通信機能を使用して、無線アクセスポイントを含む外部の通信装置３およびインターネット上の様々なサーバとの通信を行うことができる。
【００１３】
この情報処理装置１は、情報処理装置１へのアプリケーションプログラムのインストールを制限するためのインストール制限機能を有している。このインストール制限機能を実現するために、情報処理装置１は、３つの異なるモジュール、つまり、アクセス検出・実行部１０と、管理アプリケーション実行部２１と、判定アプリケーション部２２とを備える。
【００１４】
アクセス検出・実行部１０は、オペレーティングシステム（ＯＳ）層内のソフトウェアモジュールによって実現することができる。このソフトウェアモジュールは、例えば、ＯＳ層内のミドルウェアであってよいし、ＯＳ層内のカーネル、たとえばLinux（登録商標）カーネルであってもよい。管理アプリケーション実行部２１と、判定アプリケーション部２２の各々は、アプリケーション実行部２０上で実行されるアプリケーションプログラムによって実現することができる。アプリケーションプログラムは、たとえばＡｎｄｒｏｉｄ（登録商標）アプリケーションプログラムであってもよい。
【００１５】
アプリケーション実行部２０は、様々なアプリケーションプログラムを実行するためのプラットフォームであり、例えば、Ｊａｖａ（登録商標）仮想マシンのような仮想マシンによって実現することができる。
【００１６】
情報処理装置１は、インターネットを介してアプリケーション配布サーバ４から様々なアプリケーションプログラム（各種アプリケーションパッケージファイル）をダウンロードすることができる。ダウンロードされる各アプリケーションプログラムは、情報処理装置１内の蓄積部３０に格納される。判定アプリケーション部２２も、アプリケーション配布サーバ４からダウンロードされて蓄積部３０に保存される。管理アプリケーション部２１およびインストーラ部２３の各々も、アプリケーション配布サーバ４からダウンロードすることができる。なお、管理アプリケーション部２１とインストーラ部２３は情報処理装置１にプリインストールされていてもよい。この場合、管理アプリケーション部２１を必ずしもダウンロードする必要はない。同様に、インストーラ部２３も必ずしもダウンロードする必要はない。
【００１７】
インストーラ部２３は、アプリケーション配布サーバから蓄積部３０にとしてダウンロードしてきた各アプリケーションプログラム（管理アプリケーション実行部２１、判定アプリケーション部２２、および他の各種アプリケーション等）のアプリケーションパッケージファイルを展開して、蓄積部３０にインストールする処理を行う。
【００１８】
アプリケーション実行部２０は、蓄積部３０から各アプリケーションプログラム（管理アプリケーション実行部２１、判定アプリケーション部２２、インストーラ部２３、および他の各種アプリケーション等）をロードして実行する。
【００１９】
アクセス検出・制御部１０は、アプリケーションプログラムのインストールまたはアンインストールを要求するイベントを検出し、このイベントの実行前に、つまりインストールまたはアンインストールの実行前に、管理アプリケーション部２１にインストールまたはアンインストール対象のアプリケーション名を通知し、管理アプリケーション部２１からの指示に基づいてインストールまたはアンインストールの実行を制御する。
【００２０】
例えば、アクセス検出・制御部１０は、あるアプリケーションプログラムのインストールを要求するイベントを検出したならば、アプリケーションプログラムをインストールする処理を保留して、このアプリケーションプログラムのアプリケーション名を含むインストールイベント情報を管理アプリケーション部２１に送信する。そして、管理アプリケーション部２１から返されるインストールの許可または禁止を示す判定結果に基づいて、アクセス検出・制御部１０は、インストール処理を実行するか、またはインストール処理の実行を中止（禁止）する。
【００２１】
同様に、アクセス検出・制御部１０は、あるアプリケーションプログラムのアンインストールを要求するイベントを検出したならば、アプリケーションプログラムをアンインストールする処理を保留して、このアプリケーションプログラムのアプリケーション名を含むアンインストールイベント情報を管理アプリケーション部２１に送信する。そして、管理アプリケーション部２１から返されるアンインストールの許可または禁止を示す判定結果に基づいて、アクセス検出・制御部１０は、アンインストール処理を実行するか、またはアンインストール処理の実行を中止（禁止）する。
【００２２】
さらに、アクセス検出・制御部１０は、アプリケーションプログラムのインストールまたはアンインストールを要求するイベントのみならず、他の様々なイベントも検出することができる。例えば、各種通信装置との接続要求（例えば、ＷｉＦｉアクセスポイントへの接続要求、ＶＰＮ接続要求、Ｂｌｕｅｔｏｏｔｈ機器との接続要求）、ＳＤカード接続要求、ＵＳＢメモリ接続要求、アプリケーションプログラムの起動要求、等の様々なイベントがアクセス検出・制御部１０によって検出される。インストール・アンインストールイベント以外のこれらイベントが検出された際も、アクセス検出・制御部１０は、そのイベント実行前に、検出されたイベントを示すイベント情報を管理アプリケーション部２１に送信し、管理アプリケーション部２１からの指示に基づいて、そのイベントの実行の可否を制御することができる。
【００２３】
管理アプリケーション部２１は、各アプリケーションプログラムのインストール制限のための環境を提供する管理モジュールとして機能する。管理アプリケーション部２１は、この管理アプリケーション部２１の起動時に、インストールイベント等の各種イベントを管理アプリケーション部２１に通知するようにアクセス検出・制御部１０に要求することができる。さらに、管理アプリケーション部２１は、アクセス制御・検出部１０からイベント情報を受信すると、受信されたイベント情報の内容を判定アプリケーション部２２に通知し、判定アプリケーション部２２から受信される判定結果（例えば、インストールイベントの許可または禁止を示す判定結果）をアクセス検出・制御部１０に送信する。
【００２４】
判定アプリケーション部２２は、所定のポリシー（判定ルール）を有し、このポリシーに基づいて、管理アプリケーション部２１から受信されるインストールイベントのイベント情報に含まれるアプリケーション名に対応するアプリケーションプログラムのインストールの許可または禁止を判定し、その判定結果を管理アプリケーション部２１に通知する。なお、判定アプリケーション部２２は、必要に応じて、ポリシー配布サーバ５からポリシー（判定ルール）をダウンロードすることもできる。ポリシー配布サーバ５からポリシー（判定ルール）をダウンロードすることにより、ポリシーを例えば定期的に容易に更新することができる。また、判定アプリケーション部２２に予めポリシーが組み込まれていてもよい。この場合、アプリ実行部２０によって実行されるべき判定アプリケーション部２２自体をバージョンアップすることにより、ポリシーを更新することができる。さらに、判定アプリケーション部２２は、イベントの実行の可否をイベント可否判断サーバ６に問い合わせることもできる。
【００２５】
アクセス検出・制御部１０は、管理アプリケーション部２１から通知される判定結果がインストール禁止を示す場合、インストール（例えばディレクトリ(フォルダ)やファイルの作成）を禁止する。これにより、使用が許可されていないアプリケーションプログラムのインストールを防止することができる。一方、管理アプリケーション部２１から通知される判定結果がインストール許可を示す場合、アクセス検出・制御部１０は、アプリケーションプログラムをインストールするためのインストール処理を実行する。
【００２６】
インストーラ部２３は、ユーザ操作に応じて、アプリケーションプログラムのインストールまたはアンインストールの開始をアクセス検出・制御部１０に指示する。インストーラ部２３からの指示に応じて、アクセス検出・制御部１０は、インストールイベントまたはアンインストールイベントを検出することができる。
【００２７】
図２は、情報処理装置１において使用されるアプリケーションパッケージファイル４０の構成を示す。図２に示すように、各アプリケーションパッケージファイル４０にはアプリケーション名（パッケージ名）と、署名を含む証明書が付与されている。
【００２８】
より詳しくは、各アプリケーションパッケージファイル４０は、実行コード４１と、リソース４２と、マニュフェストファイル４３と、証明書４４とを含む。リソース４２は、例えば、アイコンとして使用されるサムネイル画像ファイルのような画像ファイル４２Ａを含む。マニュフェストファイル４３は、パッケージ名（アプリケーション名）４３Ａ、バージョン番号４３Ｂ、および設定情報４３Ｃ等を含む。
【００２９】
証明書４４は、アプリケーションパッケージファイル４０の作成者の確認とアプリケーションパッケージファイル４０が改竄されていないこととを証明するための情報であり、電子署名（署名４４Ａ）を含む。署名４４Ａは、例えば、アプリケーションプログラムの作成者が有する秘密鍵と、メッセージとによって公開鍵暗号を使って計算される。署名計算に用いる公開鍵暗号アルゴリズムとして、たとえばRSAやEC-DSAなど良く知られた公開鍵暗号アルゴリズムを用いればよい。このメッセージは、アプリケーションパッケージファイル４０に含まれる各ファイル（実行コード４１、リソース４２、マニュフェストファイル４３）のダイジェスト値であってもよい。
【００３０】
アプリケーション作成者ごとに署名に用いる秘密鍵は異なる。本実施形態では、管理アプリケーション部２１の署名に使う秘密鍵は判定アプリケーション部２２の署名に使う秘密鍵と異なるものとする。つまり、管理アプリケーション部２１および判定アプリケーション部２２は異なるアプリケーション作成者によって作成されたものと仮定する。
【００３１】
図３は、上述のアクセス検出・制御部１０およびアプリケーション実行部２０の構成を示している。ここでは、インストール制限のみを行う場合が想定されている。
【００３２】
図３に示されているように、インストールやアンインストールの指示はインストーラ部２３（インストールアプリケーション）が開始する。インストール時には、インストーラ部２３のインストール情報収集部６１が、蓄積部３０から、インストール対象のアプリケーションに対応するアプリケーションパッケージファイルを取得する。そして、インストーラ部２３のアプリケーション登録部６２が、サムネイル画像ファイルなどを格納しているデータベースであるアプリケーション情報格納部５０にインストール対象のアプリケーションを登録する。ファイル作成等の実際のインストール処理は、アクセス検出・制御部１０によって実行される。
【００３３】
アクセス検出・制御部１０は、インストール処理部１０１、イベント検出部１０２、管理アプリケーションイベント通信部１０３、管理アプリケーション特定部１０４、およびインストール可否通知部１０５を備える。
【００３４】
インストール処理部１０１は、インストーラ部２３からインストール開始の指示（インストール要求）を受信すると、インストーラ部２３にインストールの処理の実行を待機させる。インストール要求が発生したことは、イベント検出部１０２よってインストールイベントとして検出される。管理アプリケーションイベント通信部１０３は、インストールイベントおよびインストール対象のアプリケーション名を含むイベント情報（インストールイベント情報）を、管理アプリケーション部２１に通知する。
【００３５】
管理アプリケーション特定部１０４は、アプリケーション実行部２０上のどのアプリケーションが管理アプリケーション部２１であるかを特定する。イベント情報（インストールイベント情報）は、イベント検出部１０２で検出された後、管理アプリケーションイベント通信部１０３を介して、管理アプリケーション特定部１０４によって管理アプリケーション部２１であると特定されたアプリケーションに送信される。具体的には、管理アプリケーション特定部１０４は、管理アプリケーション部２１のアプリケーション名を予め保持している。そして、管理アプリケーション特定部１０４は、アプリケーションからの登録要求を受信すると、この予め保持しているアプリケーション名に基づいて、そのアプリケーションが、管理アプリケーション部２１（この予め保持しているアプリケーション名を有するアプリケーションプログラム）か否か、つまりインストールイベント情報を送信すべき通信相手か否かを判定する。もしインストールイベント情報を送信すべき通信相手であると判定した場合には、そのアプリケーションを、管理アプリケーション部２１として特定する。アプリケーションのアップデートを除き、インストーラ部２３によって、同じアプリケーション名を有する２つのアプリケーションがシステムにインストールされることが制限される。したがって、管理アプリケーション部２１のアプリケーション名を管理アプリケーション特定部１０４内に予め保持しておくことにより、管理アプリケーション部２１を一意に特定することができる。
【００３６】
管理アプリケーションイベント通信部１０３は、管理アプリケーション特定部１０４によって特定されたアプリケーションプログラムとの通信を実行する。これにより、不正なアプリケーションプログラムにイベント情報が横取りされることを防止することができる。
【００３７】
管理アプリケーション部２１から判定結果を受信すると、管理アプリケーションイベント通信部１０３は、受信した判定結果をインストール可否通知部１０５に出力する。インストール可否通知部１０５は、判定結果の内容に基づいてインストール処理部１０１の動作を制御する。判定結果がインストールの許可を示すならば、インストール処理部１０１は、インストーラ部２３と共同して、インストール処理を実行する。一方、判定結果がインストールの禁止を示すならば、インストール処理部１０１は、インストール処理を中止する。
【００３８】
図４は、判定アプリケーション部２２の構成を示している。図４に示すように、判定アプリケーション部２２は、サービス利用通信部１１１、イベント判定部１１２、判定ルール管理部１１３、およびイベント可否判定サーバ通信処理部１１４を備える。
【００３９】
サービス利用通信部１１１は、管理アプリケーション部２１との通信を実行する。イベント判定部１１２は、判定ルール管理部１１３内に存在するルールセット（判定ルール）に基づいて、インストールイベント情報に含まれるアプリケーション名に対応するアプリケーションプログラムのインストールの許可または禁止を判定する。ルールセット（判定ルール）は、例えば、インストールを許可すべきアプリケーション名の一覧（ホワイトリスト）であってもよいし、インストールを禁止すべきアプリケーション名の一覧（ブラックリスト）であってもよいし、アンインストールを許可すべきアプリケーション名のリスト（またはアンインストールを禁止すべきアプリケーション名のリスト）であってもよい。
【００４０】
イベント可否判定サーバ通信処理部１１４は、インストールイベント情報に含まれるアプリケーション名に対応するアプリケーションプログラムのインストールの可否をイベント可否判定サーバ６に問い合わせて、インストールの可否をイベント可否判定サーバ６から受信する。イベント判定部１１２は、必要に応じてイベント可否判定サーバ通信処理部１１４を使用して、インストールの可否を判定することもできる。
【００４１】
なお、必ずしも判定ルール管理部１１３およびイベント可否判定サーバ通信処理部１１４の双方が判定アプリケーション部２２に設けられている必要は無く、判定ルール管理部１１３およびイベント可否判定サーバ通信処理部１１４の何れか一方のみが判定アプリケーション部２２に設けられる構成を使用してもよい。
【００４２】
また、イベント判定部１１２は、インストールイベントの許可又は禁止の判定のみならず、各種通信装置との接続要求（例えば、ＷｉＦｉアクセスポイントへの接続要求、ＶＰＮ接続要求、Ｂｌｕｅｔｏｏｔｈ機器との接続要求）、ＳＤカード接続要求、ＵＳＢメモリ接続要求、アプリケーションプログラムの起動要求、等の様々なイベントの許可又は禁止の判定も、判定ルール管理部１１３内に存在するルールセットに基づいて、またはイベント可否判定サーバ６を利用して、実行してもよい。
【００４３】
図５は、管理アプリケーション部２１の構成を示している。管理アプリケーション部２１は、判定アプリケーション部２２（判定プログラム）がインストールされる際に、判定アプリケーション部２２に付与された証明書等に基づいて判定アプリケーション部２２の正当性を確認し、判定アプリケーション部２２の正当性が確認された場合に、判定アプリケーション部２２をインストールイベント情報のようなイベント情報を通知すべき通信相手に特定する。
【００４４】
この管理アプリケーション部２１は、通信処理部２０１、サービス提供通信部２０２、選別ルール管理部２０３、イベント選別部２０４、アプリケーション選別部２０５、署名検証部２０６、証明書管理部２０７、アプリケーション取得部２０８、および判定アプリケーション登録部２０９、登録要求部２１０を備える。
【００４５】
通信処理部２０１はアクセス検出・制御部１０との通信を実行する。通信処理部２０１は、アクセス検出・制御部１０から通知される様々なイベント（インストールイベント、各種通信装置との接続要求イベント、ＳＤカード接続要求イベント、ＵＳＢメモリ接続要求イベント、アンインストールイベント、等）を受信する。なお、管理アプリケーション部２１とアクセス検出・制御部との通信にはたとえばシグナルシステムコールなどの方法を用いればよい。
【００４６】
サービス提供通信部２０２は、判定アプリ登録部２０９に登録されている判定アプリケーション部２２、つまり正当な判定アプリケーションであることが確認された判定アプリケーション部２２に対して、イベントの内容を通知し、そのイベントの実行の許可又は禁止を示す判定結果を判定アプリケーション部２２から受信する。なお、管理アプリケーション部２１と判定アプリケーション部２２との通信にはたとえばプロセス間通信などの方法を用いればよい。
【００４７】
選別ルール管理部２０３は、アクセス検出・制御部１０から通知される各種イベントをインストールイベントと他のイベントとに分けるための選別ルールを保持している。選別ルールには、例えば、インストールイベント（アプリケーションインストールイベント）を識別するためのイベント名と、判定アプリケーションとして使用可能な１以上のアプリケーション名（判定アプリケーション名）とが保持されている。
【００４８】
イベント選別部２０４は、アクセス検出・制御部１０から受信されたイベントがインストールイベントか否かを判定する。受信されたイベントがインストールイベントである場合は、イベント選別部２０４は、受信されたイベントの内容を、つまりこのインストールイベントとこのインストールイベントに関連付けられたアプリケーション名を、アプリケーション選別部２０５に送信する。受信されたイベントがインストールイベント以外の他のイベントである場合は、イベント選別部２０４は、受信されたイベントの内容をサービス提供通信部２０２に送信する。
【００４９】
アプリケーション選別部２０５は、イベント選別部２０４から受信されたアプリケーション名が選別ルール管理部２０３に保存されている判定アプリケーション名であるか否かを判定し、これによってインストール対象のアプリケーションが判定アプリケーションであるか否かを判定する。インストール対象のアプリケーションが判定アプリケーションであるならば、アプリケーション選別部２０５は、その判定アプリケーションのアプリケーション名を署名検証部２０６に送信して、インストール対象のアプリケーションが判定アプリケーションであることを署名検証部２０６に通知する。一方、インストール対象のアプリケーションが判定アプリケーション以外の他のアプリケーションである場合には、アプリケーション選別部２０５は、インストール対象のアプリケーションのアプリケーション名を含むインストールイベント情報をサービス提供通信部２０２に送信する。
【００５０】
インストール対象のアプリケーションが判定アプリケーション部２２であった場合、署名検証部２０６は、判定アプリケーション部２２に対する署名検証を実行して、インストール対象の判定アプリケーション部２２が正当な判定アプリケーションであるか否かを判定する。署名検証では、署名検証部２０６は、アプリケーション取得部２０８に蓄積部３０に保存されている判定アプリケーションのアプリケーションパッケージファイルを取得するよう指示し、このアプリケーションパッケージファイルに含まれる証明書４０等に基づいて、判定アプリケーション部２２が正当な判定アプリケーションであるか否かを判定する。
【００５１】
証明書管理部２０７は、判定アプリケーションに付与された証明書を検証するための公開鍵を備える公開鍵蓄積部として機能する。この証明書管理部２０７には、例えば、各作成者に対応する公開鍵が格納されている。この公開鍵と、証明書４０に含まれる署名４４Ａと、アプリケーションパッケージファイル４０に含まれる各ファイル（実行コード４１、リソース４２、マニュフェストファイル４３）の内容とに基づいて、上述の署名検証が実行されてもよい。この署名検証により、判定アプリケーションのアプリケーションパッケージファイルの作成者が正しいか否かが検証されると共に、アプリケーションパッケージファイルが改竄されていない正当なものであるか否かが検証される。
【００５２】
署名検証が成功した場合に限り、署名検証部２０６は、インストール対象の判定アプリケーション部２２のアプリケーション名を判定アプリケーション登録部２０９に登録する。判定アプリケーション登録部２０９は、インストール対象の判定アプリケーション部２２のインストールの許可を示す判定結果を通信処理部２０１を介してアクセス検出・実行部１０に送信する。これにより、判定アプリケーション部２２のインストールがアクセス検出・実行部１０によって実行される。サービス提供通信部２０２は、判定アプリケーション登録部２０９に登録されているアプリケーションとしか通信を行わない。すなわち、管理アプリケーション部２１は、判定アプリケーション部２２の署名検証が成功した場合に限り、以後のイベントをこの判定アプリケーション部２２に送信する。
【００５３】
署名検証が失敗した場合、署名検証処理部２０６は、通信処理部２０１を介してアクセス検出・制御部１０にインストールを禁止する旨を通知する。アクセス検出・制御部１０はこの指示に基づいてインストール対象となっている判定アプリケーションのインストールを失敗（禁止）させる。結果としてそのアプリケーションはインストールされない。あるいは、署名検証処理部２０６は、判定アプリケーション登録部２０９に署名検証が失敗した事を通知し、その通知を受けた判定アプリケーション登録部２０９はアプリケーション名を登録せず、インストール対象の判定アプリケーション部２２のインストールの許可を示す判定結果を通信処理部２０１を介してアクセス検出・実行部１０に送信してもよい。この場合、インストール対象となっているアプリケーションそのもののインストールは実行されるが、管理アプリケーション部２１はそのアプリケーションを判定アプリケーション部２２としては登録しないため、以後のイベントもそのアプリケーションに送信されることはない。
【００５４】
登録要求部２１０は、管理アプリケーション部２１の起動時に、以降、アクセス検出・制御部１０で検出したイベントを管理アプリケーション部２１に送信してくれるよう依頼するための要求をアクセス検出・制御部１０に通信処理部２０１を介して送信する処理部である。
【００５５】
図６のフローチャートは、管理アプリケーション部２１によって実行されるインストールイベント処理の手順を示す。  
管理アプリケーション部２１は、アクセス検出・実行部１０からインストールイベント情報、つまり、インストールイベントとアプリケーション名とを受信する（ステップＳ１１）。管理アプリケーション部２１は、判定アプリケーション部２２が登録済みであるか否かを判定する（ステップＳ１２）。
【００５６】
判定アプリケーション部２２が登録済みで無いならば（ステップＳ１２のＮＯ）、管理アプリケーション部２１は、インストール対象のアプリケーション名が判定アプリケーションのアプリケーション名であるか否かを判定する（ステップＳ１３）。
【００５７】
インストール対象のアプリケーション名が判定アプリケーションのアプリケーション名を有するならば、つまりインストール対象のアプリケーション名が判定アプリケーションであるならば（ステップＳ１３のＹＥＳ）、管理アプリケーション部２１は、判定アプリケーションに付与された署名に基づいて署名検証を行い、判定アプリケーションの正当性を確認する（ステップＳ１４）。
【００５８】
判定アプリケーションの正当性が確認されたならば（検証成功）、管理アプリケーション部２１は、判定アプリケーションのアプリケーション名を登録して、この判定アプリケーションをインストールイベント情報を通知すべき通信相手に特定する（ステップＳ１５）。そして、管理アプリケーション部２１は、インストール許可と判定し（ステップＳ１６）、インストール許可を示す判定結果をアクセス検出・制御部１０に通知する（ステップＳ２０）。
【００５９】
判定アプリケーションの正当性が確認されなかったならば（検証失敗）、管理アプリケーション部２１は、インストール拒否（インストール禁止）と判定し（ステップＳ１７）、インストール禁止を示す判定結果をアクセス検出・制御部１０に通知する（ステップＳ２０）。なお、上述したように正当性が確認されなかった判定アプリケーションを判定アプリケーション登録部２０９に登録せず、その代わり正当性が確認されなかった判定アプリケーションのインストールそのものは許可するようにしてもよい。
【００６０】
判定アプリケーション部２２が登録済みであるならば（ステップＳ１２のＹＥＳ）、管理アプリケーション部２１は、アクセス検出・制御部１０から受信されたインストールイベントとアプリケーション名とを判定アプリケーション部２２に送信する（ステップＳ１８）。そして、管理アプリケーション部２１は、判定アプリケーション部２２から、インストールの許可または禁止を示す判定結果を受信し（ステップＳ１９）、その受信した判定結果をアクセス検出・制御部１０に通知する（ステップＳ２０）。
【００６１】
次に、図７、図８のフローチャートを参照して、インストーラ部２３、アクセス検出・制御部１０、管理アプリケーション部２１および判定アプリケーション部２２それぞれによって実行される処理の手順を説明する。
【００６２】
インストーラ部２３は、ユーザによるアプリケーションインストール操作に応じてインストール要求が発生すると（ステップＳ３１）、インストール対象のアプリケーションに対応するアプリケーションパッケージファイルを取得する（ステップＳ３２）。そして、インストーラ部２３は、このインストール対象のアプリケーションのインストール命令をアクセス検出・制御部１０に送信する（ステップＳ３３）。
【００６３】
アクセス検出・制御部１０は、インストール命令の受信に応じて、アプリケーションのインストールを要求するイベントが発生したことを検出する。アクセス検出・制御部１０は、インストール処理の実行を保留する（ステップＳ３４）。そして、アクセス検出・制御部１０は、インストール処理の実行に先だって、インストールイベントとインストール対象のアプリケーション名とを管理アプリケーション部２１に通知する（ステップＳ３５）。
【００６４】
管理アプリケーション部２１は、アクセス検出・制御部１０から通知されたイベントがインストールイベントであるか否かを判定するイベント選別処理を実行する（ステップＳ３６）。ここでは、通知されたイベントはインストールイベントであるので、ステップＳ３７に進む。
【００６５】
ステップＳ３７では、管理アプリケーション部２１は、アクセス検出・制御部１０から通知されたアプリケーション名が判定アプリケーションのアプリケーション名であるか否かを判定する（ステップＳ３７）。通知されたアプリケーション名が判定アプリケーションのアプリケーション名であるならば（ステップＳ３７のＹＥＳ）、管理アプリケーション部２１は、インストーラ部２３がインストールしようとしているアプリケーションに対応するアプリケーションパッケージファイルを取得し（ステップＳ３８）、このアプリケーションパッケージファイルに付与された証明書（署名）とこの証明書（署名）に対応する公開鍵とを使用して、判定アプリケーションの正当性を確認するための署名検証を実行する（ステップＳ３９）。そして、管理アプリケーション部２１は、署名検証の結果を確認し（ステップＳ４０）、署名検証の結果に応じて、インストールを許可するか否かを判定する（ステップＳ４４）。
【００６６】
一方、アクセス検出・制御部１０から通知されたアプリケーション名が判定アプリケーションのアプリケーション名でない場合には（ステップＳ３７のＮＯ）、管理アプリケーション部２１は、インストールイベントと通知されたアプリケーション名とを判定アプリケーション部２２に通知する（ステップＳ４１）。判定アプリケーション部２２は、通知されたアプリケーション名に基づいてそのアプリケーションのインストールを許可するか否かを判定し（ステップＳ４２）、判定結果を管理アプリケーション部２１に送信する（ステップＳ４３）。
【００６７】
図８に示すように、署名検証が成功して判定アプリケーションのインストール許可と判定された場合には（ステップＳ４４のＹＥＳ）、管理アプリケーション部２１は、この判定アプリケーションをイベント情報を送信すべき通信相手として登録し（ステップＳ４５）、そして、インストール許可を示す判定結果をアクセス検出・制御部１０に送信する（ステップＳ４６）。一方、署名検証が失敗して判定アプリケーションのインストール禁止と判定された場合には（ステップＳ４４のＮＯ）、管理アプリケーション部２１は、インストール禁止を示す判定結果をアクセス検出・制御部１０に送信する（ステップＳ４６）。
【００６８】
インストール対象のアプリケーションが判定アプリケーション以外のアプリケーションであるならば、管理アプリケーション部２１は、判定アプリケーション部２２から受信された判定結果をそのままアクセス検出・制御部１０に送信する（ステップＳ４６）。
【００６９】
アクセス検出・制御部１０は、管理アプリケーション部２１から受信された判定結果がインストール許可を示すかいなかを判定する（ステップＳ４７）。判定結果がインストール禁止を示すならば（ステップＳ４７のＮＯ）、アクセス検出・制御部１０は、インストール対象のアプリケーションのインストール処理を実行せずに、エラーメッセージをインストーラ部２３に返す（ステップＳ４９）。インストーラ部２３はインストールのエラーをユーザに通知する等のエラー処理を実行する（ステップＳ５０）。
【００７０】
一方、判定結果がインストール許可を示すならば（ステップＳ４７のＹＥＳ）、アクセス検出・制御部１０は、インストール対象のアプリケーションをインストールするためのインストール処理を実行する（ステップＳ４８）。インストール処理では、たとえば、アプリケーションパッケージファイルに対応するファイルが所定のディレクトリに作成される。そして、インストール処理が完了すると、インストーラ部２３は、アプリケーションパッケージファイル内のサムネイル画像ファイル等をアプリケーション情報格納部５０に登録する（ステップＳ５１）。
【００７１】
図９は、デフォルト判定ルール管理部２１１が追加された管理アプリケーション部２１の構成を示す。
【００７２】
管理アプリケーション部２１は、個々のアプリケーションのインストールの許可または禁止を判定するためのデフォルトポリシー（デフォルト判定ルール）を有している。管理アプリケーション部２１は、判定アプリケーション登録部２０９に登録されたアプリケーション名によって特定される判定アプリケーション部２２との通信が何らかの原因でできなかった場合には、デフォルト判定ルール管理部２１１内に保持されるデフォルト判定ルールに従って、インストールイベントによって指定されるアプリケーション名に対応するアプリケーションのインストールの許可または禁止を判定する。
【００７３】
図１０のフローチャートは、図９の管理アプリケーション部２１の処理手順を示す。  
管理アプリケーション部２１は、アクセス検出・実行部１０からインストールイベント情報、つまり、インストールイベントとアプリケーション名とを受信する（ステップＳ６２）。管理アプリケーション部２１は、判定アプリケーション部２２が登録済みであるか否かを判定する（ステップＳ６２）。
【００７４】
判定アプリケーション部２２が登録済みで無いならば（ステップＳ６２のＮＯ）、管理アプリケーション部２１は、図６のステップＳ１３の処理に進む。
【００７５】
一方、判定アプリケーション部２２が登録済みであるならば（ステップＳ６２のＹＥＳ）、管理アプリケーション部２１は、判定アプリケーション部２２と通信可能であるか否かを判定する（ステップＳ６３）。判定アプリケーション部２２と通信が正常に実行できるならば（ステップＳ６３のＹＥＳ）、管理アプリケーション部２１は、判定アプリケーション部２２にインストールイベントとアプリーション名を送信する（ステップＳ６４）。そして、管理アプリケーション部２１は、判定アプリケーション部２２から、インストールの許可または禁止を示す判定結果を受信し（ステップＳ６５）、その受信した判定結果をアクセス検出・制御部１０に通知する（ステップＳ６７）。
【００７６】
判定アプリケーション部２２と通信が実行できないならば（ステップＳ６３のＮＯ）、管理アプリケーション部２１は、デフォルト判定ルール管理部２１１からデフォルトルールに従った判定結果を取得し（ステップＳ６６）、その取得した判定結果をアクセス検出・制御部１０に通知する（ステップＳ６７）。
【００７７】
なお、ここでは、登録済みの判定アプリケーション部２２との通信が実行できない場合にデフォルト判定ルール管理部２１１のデフォルトルールを使用する場合を説明したが、サービス提供通信部２０２が判定アプリケーション登録部２０９に判定アプリケーションが登録されているか否かを判定し、登録されている場合には、イベント情報（インストールイベントとアプリケーション名）を判定アプリケーション部２２に通知し、登録されていない場合には、イベント情報をデフォルト判定ルール管理部２１１に通知するようにしてもよい。イベント情報を受信した場合、デフォルト判定ルール管理部２１１は、インストールの許可又は禁止を示す判定結果を通信処理部２０１を介してアクセス検出・制御部１０に送信する。
【００７８】
図１１は、アクティベート部２１２が追加された管理アプリケーション部２１の構成を示す。
【００７９】
図５、図９で説明した管理アプリケーション部２１の構成では、インストールイベントとインストールイベント以外の他のイベントとを含む全てのイベントが常に管理アプリケーション部２１に通知されることが想定されていた。図１１の管理アプリケーション部２１の構成は、初期状態（判定アプリケーションがインストールされていない状態）では、インストール以外の他のイベントについては管理アプリケーション部２１に通知されない場合が想定されている。判定アプリケーション部２２がインストールされると（判定アプリケーション部２２からサービス提供通信部２０２に初めて接続要求が来ると）、アクティベート部２１２は、アクセス検出・制御部１０に、インストールイベントのみならず、インストールイベント以外の他のイベントも通知するように指示する。これにより、以降は、アクセス検出・制御部１０は、全てのイベントを管理アプリケーション部２１に通知する。
【００８０】
また、判定アプリケーション部２２からサービス提供通信部２０２に初めて接続要求が来た時には、管理アプリケーション部２１は、上述の署名検証を実行して、判定アプリケーション部２２の正当性を確認してもよい。そして、判定アプリケーション部２２の正当性が確認されたことを条件に、つまり、判定アプリケーション部２２が登録されたことを条件に、アクティベート部２１２は、アクセス検出・制御部１０に、インストールイベントのみならず、インストールイベント以外の他のイベントも通知するように指示してもよい。
【００８１】
図１２は、図１１の管理アプリケーション部２１の構成に対応するアクセス検出・制御部１０の構成を示す。  
図１２に示されているように、アクセス検出・制御部１０にはイベント設定変更部１０６が追加されている。アクセス検出・制御部１０は、管理アプリケーション部２１のアップデートの可否の判定と判定アプリケーション部のインストールの可否の判定のために、全てのインストールイベントを管理アプリケーション部２１に送信する。しかし、アクセス検出・制御部１０は、管理アプリケーション部２１からのアクティベーション命令を受けるまでは、インストールイベント以外の他のイベントは送信しない。アクティベーション命令を受けて初めて、アクセス検出・制御部１０は、インストールイベント以外の他のイベントを管理アプリケーション部２１に送信する。
【００８２】
イベント設定変更部１０６はイベント検出部１０２に対してどのイベントを管理アプリケーション部２１に送信すべきかを指示を出す。管理アプリケーション部２１からのアクティベーション命令を受けると、イベント設定変更部１０６は、全てのイベントを管理アプリケーション部２１に送信すべきことを、イベント設定変更部１０６を経由してイベント検出部１０２に指示する。
【００８３】
すなわち、アクセス検出・制御部１０は、インストールイベント以外のイベントの実行可否を判定する判定ルールを備えており、管理アプリケーション部２１から所定の指示（アクティベーション命令）を受けるまでは、この判定ルールに従って、インストールイベント以外のイベントの実行可否を判定する。そして、アクセス検出・制御部１０がアクティベーション命令を受信すると、イベント設定変更部１０６は、このアクティベーション命令に基づいて、全てのイベントが管理アプリケーション部２１に送信されるように判定ルールを更新する。これにより、アクセス検出・制御部１０は、インストールイベント以外の他の各イベントについても、その実行の可否を管理アプリケーション部２１に問い合わせる。
【００８４】
図１３は、管理アプリケーション部２１の他の構成を示す。  
これまでの説明では、判定アプリケーションのインストールイベントの受信に応答して署名検証を実行して、判定アプリケーションの正当性を確認するという処理手順を説明した。図１３の管理アプリケーション部２１の構成は、インストールされた判定アプリケーションからの登録要求の受信に応答して、判定アプリケーションの正当性を確認する処理を実行する場合が想定されている。換言すれば、管理アプリケーション部２１は、判定アプリケーションが情報処理装置１にインストールされた後に判定プログラムの要求に基づいて判定プログラムの正当性を確認し、判定プログラムの正当性が確認された場合、アクセス検出・制御部１０に、インストトールイベントのような各イベントの検出に応答してインストールイベント情報のようなイベント情報を送信するように指示する。
【００８５】
すなわち、図１３の管理アプリケーション部２１においては、初期状態（判定アプリケーションがインストールされていない状態）ではインストールイベントを含むどのイベントもアクセス検出・制御部１０から通知されない。つまり、図１２においては、アクセス検出・制御部１０が初期状態においてはインストールイベントのみを管理アプリケーション部２１に通知するように構成されている場合を想定したが、ここでは、アクセス検出・制御部１０は、初期状態においてはどのイベントも管理アプリケーション部２１に通知しないように構成されている場合が想定されている。
【００８６】
管理アプリケーション部２１は、判定アプリケーション部２２のインストールイベントそのものは検出しない。判定アプリケーンション部２２からサービス提供通信部２０２に登録要求が送信された時に、管理アプリケーション部２１は、判定アプリケーンション部２２のアプリケーション名を特定し、このアプリケーション名が選別ルール管理部２０３で保持している判定アプリケーション名と一致しているか検査する。もし一致している場合は、判定アプリケーンション部２２が偽の判定アプリケーションではない事を確かめるために、管理アプリケーション部２１は、署名検証部２０６によって、上述の署名検証を行う。もし判定アプリケーション部２２が正当な判定アプリケーションであることが確認されたならば、管理アプリケーション部２１は、全てのイベントを管理アプリケーション部２１に送信すべきことを、アクティベート部２１２によってイベント検出部１０２に指示する。
【００８７】
図１４は、図１３の管理アプリケーション部２１に対応する判定アプリケーション部２２の構成を示す。図４との違いは登録要求部１１５を備えている点である。
【００８８】
登録要求部１１５は、判定アプリケーション部２２が起動すると、サービス利用通信部１１１を介して管理アプリケーション部２１に対して、判定アプリケーション部２２を登録するための登録処理を実行するように要求する命令を送信する処理部である。判定アプリケーション部２２が管理アプリケーション部２１に登録されると、管理アプリケーション部２１は、以降のイベントを、判定アプリケーション部２２に送信する。
【００８９】
この構成においては、判定アプリケーンション部２２が管理アプリケーション部２１に登録されるまでは、管理アプリケーション部２１と判定アプリケーンション部２２との間の通信は発生しない。このため、通信量を低減することができる。判定アプリケーンション部２２のインストールは、情報処理装置１を企業内で業務で使用する場合に行われる。インストールされた判定アプリケーンション部２２が正当な判定アプリケーションであることが確認されると、以降は、全てのイベントがアクセス検出・制御部１０から管理アプリケーション部２１に通知される。
【００９０】
管理アプリケーション部２１の通信処理部２０１は、アクセス検出・制御部１０から受信される全てのイベントをサービス提供通信部２０２に送信する。サービス提供通信部２０２は、通信処理部２０１から受信した各イベントを判定アプリケーション部２２に送信し、判定アプリケーション部２２から受信される各イベントの実行の可否を示す判定結果を通信処理部２０１に送信する。
【００９１】
図１５のフローチャートは、図１３の管理アプリケーション部２１によって実行される判定アプリケーション登録処理の手順を示す。
【００９２】
判定アプリケーション部２２がインストールされると、判定アプリケーション部２２は、管理アプリケーション部２１に対して登録要求（アクティベート要求）を送信する（ステップＳ７０）。管理アプリケーション部２１は、判定アプリケーション部２２のアプリケーション名に対応するアプリケーションパッケージファイルを取得する（ステップＳ７１）。そして、管理アプリケーション部２１は、このアプリケーションパッケージファイルに付与されている証明書（署名）を使用して上述の署名検証を実行して、判定アプリケーション部２２が改竄されていない正当な判定アプリケーションであるか否かを判定する（ステップＳ７２）。
【００９３】
署名検証が失敗したならば（ステップＳ７３のＮＯ）、管理アプリケーション部２１は、判定アプリケーション部２２との接続を拒否する（ステップＳ７４）。
【００９４】
一方、署名検証が成功したならば（ステップＳ７３のＹＥＳ）、管理アプリケーション部２１は、判定アプリケーション部２２のアプリケーション名をイベント情報を通知すべき通信相手のアプリケーション名として特定し、その特定したアプリケーション名を登録する（ステップＳ７５）。管理アプリケーション部２１は、アクティベート命令をアクセス検出・制御部１０に送信することにより、以降に検出される全てのイベントを管理アプリケーション部２１に通知するように、アクセス検出・制御部１０に指示する（ステップＳ７６）。そして、管理アプリケーション部２１は、判定アプリケーション部２２との接続を許可し、必要に応じて接続許可を示す応答を判定アプリケーション部２２に返す（ステップＳ７７）。
【００９５】
図１６は、管理アプリケーション部２１の他の構成を示す。  
図１３では、インストールされた判定アプリケーションからの登録要求の受信に応じて、判定アプリケーションの正当性を確認する処理を実行する構成について説明した。図１６の管理アプリケーション部２１の構成は、初期状態（判定アプリケーションが判定アプリケーション登録部２０９に登録されていない状態）では特定のアプリケーション名のインストールイベント以外のイベントについては管理アプリケーション部２１に通知されない場合が想定されている。
【００９６】
すなわち、図１６の管理アプリケーション部２１の構成は図１１の構成と図１３の構成とを混成したものに相当する。初期状態では、特定のアプリケーション名のインストールイベントのみがアクセス検出・制御部１０から管理アプリケーション部２１に送信される。特定のアプリケーション名のインストールイベント以外のイベントは、アクセス検出・制御部１０から管理アプリケーション部２１に送信されない。
【００９７】
アプリケーション選別部２０５は、アクセス検出・制御部１０から特定のアプリケーション名のインストールイベントを受信すると、そのインストールイベントを署名検証部２０６に送信する。この特定のアプリケーション名は、選別ルール管理部２０３に予め格納されていても良い。
【００９８】
署名検証部２０６は、特定のアプリケーション名のインストールイベントを受信すると、その特定のアプリケーション名に対応するアプリケーションパッケージファイルの取得をアプリケーション取得部２０８に指示する。そして、署名検証部２０６は、取得したアプリケーションパッケージファイルに付与されている証明書（署名）に基づいて、このアプリケーションパッケージファイル（特定のアプリケーション名のアプリケーション）の正当性を確認するための署名検証を実行する。そして、署名検証部２０６は、この署名検証の結果に基づいて、この特定のアプリケーション名のインストールの許可又は禁止を示す判定結果を、通信処理部２０１を介してアクセス検出・制御部１０に送信する。
【００９９】
署名検証部２０６は、特定のアプリケーション名のアプリケーションの検証処理のみならず、判定アプリケーションの検証処理も実行する。すなわち、判定アプリケーション部２２から登録要求が受信された際に、署名検証部２０６は、この判定アプリケーション部２２のアプリケーションパッケージファイルの取得をアプリケーション取得部２０８に指示する。そして、署名検証部２０６は、取得したアプリケーションパッケージファイルに付与されている証明書（署名）に基づいて、このアプリケーションパッケージファイルの正当性を確認するための署名検証を実行する。そして、正当性が確認され場合にのみ、判定アプリケーション部２２が判定アプリケーション登録部２０９に登録される。
【０１００】
判定アプリケーション部２２が判定アプリケーション登録部２０９に登録されると、アクティベート部２１２は、通信処理部２０１を介してアクセス検出・制御部１０にアクティベーション命令を送信して、全てのイベント（全てのアプリケーションのインストールイベントおよび他の各種イベントとを含む）を通知するようにアクセス検出・制御部１０に指示する。これにより、以降は、アクセス検出・制御部１０は、全てのイベントを管理アプリケーション部２１に通知する。
【０１０１】
アクセス検出・制御部１０がアクティベートされた後に、管理アプリケーション部２１が上述の特定のアプリケーション名のインストールイベントをアクセス検出・制御部１０から受信したならば、この特定のアプリケーション名を有するアプリケーションのインストールの許可又は禁止は、初期状態の場合と同様にして、署名検証部２０６によって判定される。
【０１０２】
管理アプリケーション部２１は、アクセス検出・制御部１０から受信されたイベントが、特定のアプリケーション名を有するアプリケーション以外の他のアプリケーションのインストールイベント、またはインストール以外の他のイベントであるならば、その受信したイベントを判定アプリケーション部２２に送信する。
【０１０３】
図１７は、図１６の管理アプリケーション部２１の構成に対応するアクセス検出・制御部１０の構成を示す。  
図１７に示されているように、アクセス検出・制御部１０には、初期状態イベントルール管理部１０７が追加されている。この初期状態イベントルール管理部１０７には、インストールイベントが発生した時に管理アプリケーション部２１に通知する特定のアプリケーション名と、その特定のアプリケーション名以外の個々のインストールイベントの許可又は禁止を判定するためのルールと、インストールイベント以外のイベントが発生した時の許可又は禁止を判定するためのルールが保持されている。初期状態においては、すなわち、管理アプリケーション部２１が管理アプリケーション判定部１０４に登録されておらず、管理アプリケーション部２１をインストールイベント情報のようなイベント情報を送信すべき相手に特定していない間は、すべてのイベントに対して、イベントが発生した時の許可又は禁止を判定するためのルールが保持されている。管理アプリケーション部２１が管理アプリケーション判定部１０４に登録されると、イベント設定変更部１０６を経由してイベント検出部１０２のルールが更新され、アクセス検出・制御部１０は、特定のアプリケーション名のインストールイベントのみを管理アプリケーションイベント通信部１０３を介して管理アプリケーション部２１に通知する。すなわち、アクセス検出・制御部１０は、特定のアプリケーション名を有するアプリケーションプログラムのインストールを要求するイベントを検出し、この特定のアプリケーション名を有するアプリケーションプログラムのインストールの実行に先立って、この特定のアプリケーション名を含むインストールイベント情報を管理アプリケーション部２１に送信する。
【０１０４】
一方、管理アプリケーション部２１が管理アプリケーション判定部１０４に登録された直後の状態において、特定のアプリケーション名のインストールイベント以外の他の各インストールイベントの許可または禁止は、初期状態イベントルール管理部１０７内のルールに従って、アクセス検出・制御部１０内で判定される。
【０１０５】
管理アプリケーション部２１からアクティベーション命令を受けると、イベント設定変更部１０６は、全てのインストールイベントがアクセス検出・制御部１０に通知されるように、通知対象のイベントを変更する。
【０１０６】
次に、図１８、図１９、図２０のフローチャートを参照して、インストーラ部２３、アクセス検出・制御部１０、管理アプリケーション部２１および判定アプリケーション部２２それぞれによって実行される処理の手順を説明する。
【０１０７】
インストーラ部２３は、ユーザによるアプリケーションインストール操作に応じてインストール要求が発生すると（ステップＳ９１）、インストール対象のアプリケーションに対応するアプリケーションパッケージファイルを取得する（ステップＳ９２）。そして、インストーラ部２３は、このインストール対象のアプリケーションのインストールを指示するインストール命令をアクセス検出・制御部１０に送信する（ステップＳ９３）。
【０１０８】
アクセス検出・制御部１０は、インストール命令の受信に応じて、アプリケーションのインストールを要求するイベントが発生したことを検出する。アクセス検出・制御部１０は、インストール処理の実行を保留する（ステップＳ９４）。
【０１０９】
アクセス検出・制御部１０は、アクセス検出・制御部１０がアクティベーションされていない状態（初期状態）であるか否かを判定する（ステップＳ９５）。アクセス検出・制御部１０がアクティベーションされていない状態（初期状態）であれば、アクセス検出・制御部１０は、インストーラ部２３がインストールしようとするアプリケーションが上述の特定のアプリケーション名を有するアプリケーションであるか否かを判定する（ステップＳ９６）。
【０１１０】
インストーラ部２３がインストールしようとするアプリケーションが上述の特定のアプリケーション名を有するアプリケーションでないならば、アクセス検出・制御部１０は、初期状態イベントルール管理部１０７に保持されているルールに従って、このインストールイベントの許可または禁止を判定する（ステップＳ９７）。
【０１１１】
一方、インストールしようとするアプリケーションが上述の特定のアプリケーション名を有するアプリケーションであれば、アクセス検出・制御部１０は、インストールイベントと上述の特定のアプリケーション名をインストールイベント情報として管理アプリケーション部２１に送信する。
【０１１２】
管理アプリケーション部２１は、アクセス検出・制御部１０から受信されるインストールイベント情報に含まれるアプリケーション名に対応するアプリケーションパッケージファイルを取得し（ステップＳ９８）、このアプリケーションパッケージファイルに付与された証明書（署名）とこの証明書（署名）に対応する公開鍵とを使用して、インストーラ部２３がインストールしようとするアプリケーションの正当性を確認するための署名検証を実行する（ステップＳ９９）。そして、管理アプリケーション部２１は、署名検証の結果を確認し（ステップＳ１００）、署名検証の結果に応じて、インストールを許可するか否かを判定する（ステップＳ１０１）。
【０１１３】
そして、図１９に示すように、管理アプリケーション部２１は、判定結果をアクセス検出・制御部１０に送信する（ステップＳ１０２）。判定結果は、管理アプリケーション部２１内の通信処理部２０１を介してアクセス検出・制御部１０に送信される（ステップＳ１０３）。
【０１１４】
アクセス検出・制御部１０は、判定結果（初期状態イベントルール管理部１０７に保持されているルールに基づく判定結果、または管理アプリケーション部２１から受信された判定結果）が、インストール許可を示すか否かを判定する（ステップＳ１０４）。判定結果がインストール禁止を示すならば（ステップＳ１０４のＮＯ）、アクセス検出・制御部１０は、インストール対象のアプリケーションのインストール処理を実行せずに、エラーメッセージをインストーラ部２３に返す（ステップＳ１０６）。インストーラ部２３はインストールのエラーをユーザに通知する等のエラー処理を実行する（ステップＳ１０７）。
【０１１５】
一方、判定結果がインストール許可を示すならば（ステップＳ１０４のＹＥＳ）、アクセス検出・制御部１０は、インストール対象のアプリケーションをインストールするためのインストール処理を実行する（ステップＳ１０５）。インストール処理では、たとえば、アプリケーションパッケージファイルに対応するファイルが所定のディレクトリに作成される。そして、インストール処理が完了すると、インストーラ部２３は、アプリケーションパッケージファイル内のサムネイル画像ファイル等をアプリケーション情報格納部５０に登録する（ステップＳ１０８）。
【０１１６】
図２０に示されているように、判定アプリケーション部２２がインストールされると、判定アプリケーション部２２を管理アプリケーション部２１に登録するための登録処理が開始される（ステップＳ１１０）。このステップＳ１１０では、図１５で説明した処理が実行される。
【０１１７】
管理アプリケーション部２１は、アクティベーション命令をアクセス検出・制御部１０に送信する（ステップＳ１１１）。  
アクセス検出・制御部１０がアクティベーションされている場合、つまり初期状態ではない場合（ステップＳ９５のＮＯ）、アクセス検出・制御部１０は、発生した全てのイベントを管理アプリケーション部２１に送信する。例えば、もしあるアプリケーションのインストールイベントが発生したならば、アクセス検出・制御部１０は、インストールイベントとインストールしようとするアプリケーション名とをインストールイベント情報として管理アプリケーション部２１に送信する（ステップＳ１１２）。
【０１１８】
管理アプリケーション部２１は、アクセス検出・制御部１０から受信されるインストールイベント情報に含まれるアプリケーション名（インストーラ部２３がインストールしようとするアプリケーション）が、特定のアプリケーション名であるか否かを判定する（ステップＳ１１３）。
【０１１９】
インストーラ部２３がインストールしようとするアプリケーションが特定のアプリケーション名であるならば（ステップＳ１１３のＹＥＳ）、管理アプリケーション部２１は、特定のアプリケーション名に対応するアプリケーションパッケージファイルを取得し（ステップＳ１１４）、このアプリケーションパッケージファイルに付与された証明書（署名）とこの証明書（署名）に対応する公開鍵とを使用して、インストーラ部２３がインストールしようとするアプリケーションの正当性を確認するための署名検証を実行する（ステップＳ１１５）。そして、管理アプリケーション部２１は、署名検証の結果を確認し、署名検証の結果に応じて、インストールを許可するか否かを判定する（ステップＳ１１６）。
【０１２０】
一方、インストーラ部２３がインストールしようとするアプリケーションが特定のアプリケーション名でないならば（ステップＳ１１３のＮＯ）、管理アプリケーション部２１は、インストールイベント情報を判定アプリケーション部２２に通知する（ステップＳ１１７）。判定アプリケーション部２２は、インストールイベント情報に含まれるアプリケーション名に基づいて、そのアプリケーションのインストールの許可または禁止を判定する（ステップＳ１１８）。管理アプリケーション部２１は、インストールの許可または禁止を示す判定結果を判定アプリケーション部２２から受信する（ステップＳ１１９）。
【０１２１】
管理アプリケーション部２１は、管理アプリケーション部２１内の署名検証部２０６による判定結果、または判定アプリケーション部２２による判定結果を、アクセス検出・制御部１０に送信する（ステップＳ１２０）。判定結果は、管理アプリケーション部２１内の通信処理部２０１を介してアクセス検出・制御部１０に送信される（ステップＳ１２１
）。そして、アクセス検出・制御部１０によって図１９のステップＳ１０４以降の処理が実行される。
【０１２２】
図２１は、管理アプリケーション部２１の他の構成を示す。この管理アプリケーション部２１においては、図１６の構成に加え、デフォルト判定ルール管理部２１１が追加されている。
【０１２３】
図９では、管理アプリケーション部２１が判定アプリケーション部２２と何らかの原因で通信できなかった場合、または判定アプリケーション部２２が管理アプリケーション部２１の判定アプリケーション登録部２０９に登録されていなかった場合に、デフォルト判定ルール管理部２１１でインストールの許可または禁止を示す判定結果を通信処理部２０１を介してアクセス検出・制御部１０に送信する構成を示していた。図２１の管理アプリケーション部２１では、図９で説明した条件が成立する場合のみならず、管理アプリケーション部２１が判定アプリケーション部２２と通信可能な状態にあり、かつ判定アプリケーション部２２が管理アプリケーション部２１の判定アプリケーション登録部２０９に登録されていたとしても、判定アプリケーション部２２からイベント登録要求を受けるまでは管理アプリケーション部２１のデフォルト判定ルール管理部２１１によってインストールイベントを含むすべてのイベントの許可または禁止を判定する構成となっている。
【０１２４】
すなわち、判定アプリケーション登録部２０９に判定アプリケーション部２２が登録されると、アクティベート部２１２は、アクティベーション命令を通信処理部２０１を介してアクセス検出・制御部１０に送信する。これにより、以降は、全てのイベントがアクセス検出・制御部１０から管理アプリケーション部２１に通知される。しかし、判定アプリケーション登録部２０９に判定アプリケーション部２２が登録されたとしても、判定アプリケーション部２２から管理アプリケーション部２１にイベント登録要求が送信されるまでは、全てのイベントが管理アプリケーション部２１で処理される。この場合、イベント選別部２０４およびアプリケーション選別部２０５は、選別ルール管理部２０３のルールに従って、上述の特定のアプリケーション名のインストールイベント以外の他の各イベントをデフォルトルール判定部２１１に通知する。これら特定のアプリケーション名のインストールイベント以外の他の各イベントの実行の可否はデフォルトルール判定部２１１に保持されている判定ルールに従ってデフォルトルール判定部２１１にて判定され、その判定結果が通信処理部２０１を介してアクセス検出・制御部１０に送信される。
【０１２５】
サービス提供通信部２０２が判定アプリケーション部２１からイベント登録要求を受信すると、サービス提供通信部２０２は、イベント登録要求に従って選別ルール管理部２０３のルールを更新する。これにより、以降は、イベント登録要求によって指定される各イベントは、判定アプリケーション部２２に送信される。すなわち、イベント選別部２０４およびアプリケーション選別部２０５は、選別ルール管理部２０３のルールに従って、受信されたイベントが判定アプリケーション部２２に送信すべきイベントであるか否かを判定する。受信されたイベントが判定アプリケーション部２２に送信すべきイベントであれば、受信されたイベントは、サービス提供通信部２０２を介して判定アプリケーション部２１に送信される。一方、受信されたイベントが判定アプリケーション部２２に送信すべきイベントではないならば、受信されたイベントは、デフォルトルール判定部２１１に送信される。
【０１２６】
図２０の管理アプリケーション部２１の構成は、特にビジネス利用と一般コンシューマー利用を一台の端末で兼用する時に有用である。一般コンシューマー利用では、アプリケーションのインストールや起動など、アクセス検出・制御部１０のイベント検出部１０２で検出するイベントの実行を制限する必要はない。この時、判定アプリケーション部２２をインストールしなければ、判定アプリケーション部２２が管理アプリケーション部２１に登録要求を送信する事もなく、管理アプリケーション部２１がアクセス検出・制御部１０にアクティベーション命令を送信する事もなく、結果としてイベントはイベント設定変更部１０６の初期ルールに従って可否判断がなされる。この時、イベント設定変更部１０６には、制限を行わない(禁止しない)ルールを設定しておけばよい。これにより、一般コンシューマーが利用する場合はイベント検出部１０２で検出されるイベントは特に制限されない。一方、情報処理装置１を企業内で業務用に利用する場合においては、管理者のセキュリティポリシーに従って端末に各種制限を施す必要があり、その場合には各企業のセキュリティポリシーに従った判定ルールを備えた判定アプリケーション部２２をインストールする。判定アプリケーション部２２が管理アプリケーション部２１に登録要求を送信し、管理アプリケーション部２１がアクティベーション命令をアクセス検出・制御部１０に送信すれば、以後にイベント検出部１０２で検出されるイベントは管理アプリケーション部２１に送信されるようになる。判定アプリケーション部２２が管理アプリケーション部２１にイベント登録要求を送信すれば、アクセス検出・制御部１０から送信されてくる各イベントは、管理アプリケーション部２１を経由して判定アプリケーション部２２に送信される事になり、各企業のセキュリティポリシーに従った判定ルールによって各イベントの可否が判断されるようになる。
【０１２７】
さらに、判定アプリケーション部２２は、上述のイベント登録要求を使用して通知を依頼すべきイベントを管理アプリケーション部２１に指示することにより、受信したいイベントのみを管理アプリケーション部２１から受け取ることができる。よって、特に制限をかける必要のないイベントは管理アプリケーション部２１のデフォルトルール判定部２１１で処理されるため、管理アプリケーション部２１と判定アプリケーション部２２の通信が不要となり、高速に判定を行う事が可能になり機器の処理速度を向上させることができる。判定アプリケーション部２２は、受信したいイベントを上述のイベント登録要求によって管理アプリケーション部２１に通知することができる。
【０１２８】
図２２は、イベント登録要求処理部１１６が追加された判定アプリケーション部２２の構成を示す。イベント登録要求処理部１１６は、受信したい各イベントを示すイベント登録要求をサービス利用通信部１１１を介して管理アプリケーション部２１に送信する。
【０１２９】
イベント登録要求とは、たとえば「インストールイベントを通知するように依頼する要求」、「アンインストールイベントを通知するように依頼する要求」、「WiFi接続イベントを通知するように依頼する要求」、「ＳＤカード接続イベントを通知するように依頼する要求」、「ＵＳＢメモリ接続イベントを通知するように依頼する要求」などのように、イベントごとにそのイベントの通知を管理アプリケーション部２１に依頼するための要求である。なお、イベント登録要求は、すべてのイベントの通知を依頼する要求であってもよい。
【０１３０】
また、たとえ全てのイベントの通知を依頼するイベント登録要求を判定アプリケーション部２２から受けたとしても、管理アプリケーション部２１は、特定のアプリケーション名を持つインストールイベントについては判定アプリケーション部２２に通知しない。
【０１３１】
また、判定アプリケーション部２２のイベント登録要求に、デフォルト判定ルール管理部の判定ルールを更新するような命令を含めても良い。管理アプリケーション部２１はデフォルト判定ルール管理部２１１の判定ルールは、判定アプリケーション部２２が判定アプリケーション登録部２０９に登録されていない状態と、判定アプリケーション部２２が判定アプリケーション登録部２０９に登録された後、何らかの理由で管理アプリケーション部２１が判定アプリケーション登録部２０９と通信できなくなった場合の両方で利用されるが、この二つの状態で判定ルールを変える事ができるようになる。たとえば、判定アプリケーション部２２が判定アプリケーション登録部２０９に登録されていない状態では、一般コンシューマー向けに利用されるため、イベントを制限しない（アンインストールや、WiFi接続や、ＳＤカード接続や、ＵＳＢメモリ接続を許可する）が、判定アプリケーション部２２が判定アプリケーション登録部２０９に登録された後は、ビジネス目的に利用されているため、何らかの理由で管理アプリケーション部２１が判定アプリケーション登録部２０９と通信できなくなった場合にイベントを制限するように変更する事ができるようになる。
【０１３２】
図２３は、署名検証部１１７が追加された判定アプリケーション部２２の構成を示す。
【０１３３】
図２３の判定アプリケーション部２２は、イベント情報に含まれるアプリケーション名のみに基づいて当該アプリケーションのインストールの許可又は禁止を判定するのではなく無く、必要に応じてインストール対象のアプリケーションの署名検証も実行する。
【０１３４】
判定アプリケーション部２２は、管理アプリケーション部２１からのイベント情報（インストールイベントおよびアプリケーション名）の通知を受信する。イベント判定部１１２は、通知されたイベント情報がインストールイベントである事を検出すると、署名検証部１１７にインストールされようとしているアプリケーション名を通知する。署名検証部１１７は、アプリケーション選別ルール管理部１１８に保持されているアプリケーション選別ルールに基づいて、インストールされようとしているアプリケーションが署名検証対象のアプリケーションであるか否かを判定する。
【０１３５】
インストールされようとしているアプリケーションが署名検証対象のアプリケーションであるならば、署名検証部１１７は、アプリケーション取得部１１９に、そのアプリケーションのアプリケーションパッケージファイルを蓄積部３０から取得するよう指示し、アプリケーションパッケージファイルに含まれる署名と、証明書管理部１２０で管理されている署名の値が一致するか検査する。一致している場合は、判定アプリケーション部２２は、インストールの許可を示す判定結果を管理アプリケーション部２１に通知する。一方、一致しない場合は、判定アプリケーション部２２は、インストールされようとしているアプリケーションが正当なアプリケーションと同名の偽アプリケーションであると判断して、インストール禁止を示す判定結果を管理アプリケーション部２１に通知する。
【０１３６】
なお、図２２の判定アプリケーション部２２の構成に、署名検証部１１７を追加してもよい。
【０１３７】
図２４は、アクセス検出・制御部１０およびアプリケーション実行部２０それぞれの別の構成を示している。ここでは、インストール制限のみならず、アンインストール制限を行う場合も想定されている。
【０１３８】
情報処理装置１を企業内で業務に使用する場合においては、様々な業務用アプリケーションが情報処理装置１にインストールされる可能性がある。業務用アプリケーションの種類は企業毎に異なる。また、判定アプリケーション部２２も企業毎に用意される。したがって、これら業務用アプリケーションのインストールは、基本的には、判定アプリケーション部２２によって許可される。また、業務用アプリケーションの中には、たとえば、端末の接続アクセスポイント名を常に監視して端末を他のネットワークに持ち出していないかどうかを確認したり、ＧＰＳによって端末の位置を常に監視したりするといったように社員の行動を監視するアプリケーションが含まれる場合もある。ユーザは、このような監視アプリケーションを削除しようとするかもしれない。本実施形態のアンインストール制限機能は、このような業務用アプリケーションのアンインストールを制限するために使用される。
【０１３９】
図２４に示されているように、インストーラ部２３には、アンインストール指示部６３およびアプリケーション削除部６４が追加されている。アンインストール指示部６３は、ユーザ操作に応じてアブのケーションのアンインストールをアプリケーション削除部６４に指示すると共に、アプリケーション実行部２０にアンインストールの開始を指示する。アプリケーション削除部６４は、アンインストール対象のアプリケーションに対応するサムネイル画像ファイルなどをアプリケーション情報格納部５０から削除する。
【０１４０】
アクセス検出・制御部１０には、アンインストール処理部１０７およびアンインストール可否通知部１０８が追加されている。
【０１４１】
アンインストール処理部１０７は、インストーラ部２３からアンインストール開始の指示（アンインストール要求）を受信すると、インストーラ部２３にアンインストールの処理の実行を待機させる。アンインストール要求が発生したことは、イベント検出部１０２よってアンインストールイベントとして検出される。管理アプリケーションイベント通信部１０３は、アンインストールイベントおよびアンインストール対象のアプリケーション名を含むイベント情報（アンインストールイベント情報）を、管理アプリケーション部２１に通知する。
【０１４２】
管理アプリケーション部２１からアンインストールの実行の許可又は禁止を示す判定結果を受信すると、管理アプリケーションイベント通信部１０３は、受信した判定結果をアンインストール可否通知部１０８に出力する。インストール可否通知部１０８は、判定結果の内容に基づいてアンインストール処理部１０７の動作を制御する。判定結果がアンインストールの許可を示すならば、アンインストール処理部１０７は、インストーラ部２３と共同して、アンインストール処理を実行する。一方、判定結果がアンインストールの禁止を示すならば、アンインストール処理部１０７は、アンインストール処理を実行しない。これにより、ユーザによって要求されたアプリケーションのインストールの実行は禁止される。
【０１４３】
図２５は、アンインストール判定機能を備えた管理アプリケーション部２１の構成を示す。図２５の管理アプリケーション部２１においては、図１６で説明した管理アプリケーション部２１の構成に、さらに、アンインストール判定部２１４が追加されている。
【０１４４】
初期状態（判定アプリケーションが判定アプリケーション登録部２０９に登録されていない状態）においてアンインストールイベントを管理アプリケーション部２１に送信すべきであるかどうかは、アクティベート部２１２が、アクセス検出・制御部１０に予め指示する。アクセス検出・制御部１０は、インストールイベント、アンインストールイベント、接続要求イベント等を検出することができる。アンインストールイベントを検出したならば、アクセス検出・制御部１０は、アンインストールイベントおよびアプリケーション名をイベント情報（アンインストールイベント情報）として管理アプリケーション部２１に送信する。
【０１４５】
管理アプリケーション部２１では、アクセス検出・制御部１０から受信された全てのイベント情報はイベント選別部２０４に送られる。イベント選別部２０４は、図１６で示した条件に加えて、受信されたイベント情報がアンインストールイベントであるか、それ以外のイベント（インストールイベント、接続要求イベント等）であるかも判定する。受信されたイベント情報がアンインストールイベントであれば、受信されたイベント情報はアンインストール判定部２１４に送られる。一方、受信されたイベント情報がアンインストールイベントではなく、特定のアプリケーション名のインストールイベントでもない場合には、受信されたイベント情報はサービス提供通信部２０２を介して判定アプリケーション部２２に通知される。
【０１４６】
選別ルール管理部２０３には、管理アプリケーション部２１のアプリケーション名がアンインストールを禁止すべきアプリケーション名として予め保持されている。アンインストール判定部２１４は、イベント選別部２１３から受信されるイベント情報に含まれるアンインストール対象のアプリケーション名が管理アプリケーション部２１のアプリケーション名に一致するか否かを判定する。アンインストール対象のアプリケーション名が管理アプリケーション部２１のアプリケーション名に一致するならば、アンインストール判定部２１４は、アンインストールの禁止を示す判定結果を、通信処理部２０１を経由してアクセス検出・制御部１０に送信する。これにより、管理アプリケーション部２１自体がアンインストールされてしまうことを防止することができる。
【０１４７】
一方、イベント選別部２１３から受信されるイベント情報に含まれるアンインストール対象のアプリケーション名が管理アプリケーション部２１のアプリケーション名に一致しないならば、アンインストール判定部２１４は、そのイベント情報を、サービス提供通信部２０２を介して判定アプリケーション部２２に通知する。
【０１４８】
なお、イベント選別部２１３から受信されるイベント情報に含まれるアンインストール対象のアプリケーション名が管理アプリケーション部２１のアプリケーション名に一致しないならば、アンインストール判定部２１４は、そのイベント情報を判定アプリケーション部２２に通知する代わりに、アンインストールの許可を示す判定結果を、通信処理部２０１を経由してアクセス検出・制御部１０に送信してもよい。
【０１４９】
また、図２１で説明した管理アプリケーション部２１の構成に、上述のアンインストール判定部２１４を追加しても良い。
【０１５０】
図２６は、アンインストール判定機能を備えた管理アプリケーション部２１の別の構成を示す。図２６の管理アプリケーション部２１においては、図２５で説明した管理アプリケーション部２１の構成に、さらに、判定アプリケーション登録部２０９から選別ルール管理部２０３へのパスＰ１が追加されている。このパスＰ１は、正当性が確認された判定アプリケーションのアプリケーション名をアンインストールを禁止すべきアプリケーション名として選別ルール管理部２０３に登録するために使用される。
【０１５１】
アンインストール判定部２１４は、イベント選別部２１３からイベント情報を受信すると、このイベント情報に含まれるアンインストール対象のアプリケーション名が選別ルール管理部２０３に登録されているアプリケーション名のいずれかに一致するか否かを判定する。アンインストール対象のアプリケーション名が選別ルール管理部２０３に登録されているアプリケーション名のいずれかに一致するならば、アンインストール判定部２１４は、アンインストールの禁止を示す判定結果を、通信処理部２０１を経由してアクセス検出・制御部１０に送信する。選別ルール管理部２０３には、管理アプリケーション部２１のアプリケーション名と、判定アプリケーション部２２のアプリケーション名とが登録されているので、アンインストール対象のアプリケーション名が管理アプリケーション部２１のアプリケーション名または判定アプリケーション部２２のアプリケーション名のいずれかに一致した場合は、アンインストールが禁止される。これにより、管理アプリケーション部２１のアンインストールのみならず、判定アプリケーション部２２のアンインストールも防止することができる。
【０１５２】
もちろん、判定アプリケーション部２２のアンインストールのみ防止するように構成していてもよい。
【０１５３】
一方、イベント選別部２１３から受信されるイベント情報に含まれるアンインストール対象のアプリケーション名が選別ルール管理部２０３に登録されているどのアプリケーション名にも一致しないならば、アンインストール判定部２１４は、そのイベント情報を、サービス提供通信部２０２を介して判定アプリケーション部２２に通知する。
【０１５４】
なお、アンインストール対象のアプリケーション名が選別ルール管理部２０３に登録されているどのアプリケーション名にも一致しないならば、アンインストール判定部２１４は、そのイベント情報を判定アプリケーション部２２に通知する代わりに、アンインストールの許可を示す判定結果を、通信処理部２０１を経由してアクセス検出・制御部１０に送信してもよい。
【０１５５】
図２７のフローチャートは、図２５または図２６の管理アプリケーション部２１によって実行される処理手順を示す。  
管理アプリケーション部２１は、アクセス検出・実行部１０からインストール／アンインストールイベントとアプリケーション名とを受信する（ステップＳ８１）。管理アプリケーション部２１は、受信したイベントがアンインストールイベントであるか否かを判定する（ステップＳ８２）。
【０１５６】
受信したイベントがアンインストールイベントであるならば（ステップＳ８２のＹＥＳ）、管理アプリケーション部２１は、アンインストール対象のアプリケーション名が選別ルール管理部２０３に登録されているか否かを判定する（ステップＳ８３）。アンインストール対象のアプリケーション名が選別ルール管理部２０３に登録されているならば（ステップＳ８３のＹＥＳ）、管理アプリケーション部２１は、アンインストール禁止と判定する（ステップＳ８４）。一方、アンインストール対象のアプリケーション名が選別ルール管理部２０３に登録されていないならば（ステップＳ８３のＮＯ）、管理アプリケーション部２１は、アンインストール許可と判定する（ステップＳ８５）。
【０１５７】
そして、管理アプリケーション部２１は、ステップＳ８４またはＳ８５で判定されたアンインストールの判定結果を、アクセス検出・制御部１０に通知する（ステップＳ８６）。
【０１５８】
一方、受信したイベントがインストールイベントであるならば（ステップＳ８２のＮＯ）、管理アプリケーション部２１は、図６のステップＳ１２の処理に進む。
【０１５９】
図２８は、情報処理装置１のハードウェア構成例を示す。情報処理装置１は、ＣＰＵ４１１、主メモリ４１２、タッチスクリーンディスプレイ４１３、ストレージ装置４１４、ＵＳＢコントローラ４１５、ＳＤカードコントローラ４１６、無線ＬＡＮコントローラ４１７、３Ｇ通信デバイス４１８、Ｂｌｕｅｔｏｏｔｈデバイス（ＢＴデバイス）４１９等を備える。
【０１６０】
ＣＰＵ４１１は情報処理装置１内の各コンポーネントを制御するプロセッサである。ＣＰＵ４１１は、ストレージ装置４１４から主メモリ４１２にロードされる様々なソフトウェア、例えば、ＯＳ、アプリケーションプログラム等を実行する。上述のアクセス検出・実行部１０はＯＳの一部として実行される。
【０１６１】
管理アプリケーション部２１および判定アプリケーション部２２は、上述したように、異なるアプリケーションプログラムとして実現されている。管理アプリケーション部２１に相当するアプリケーションプログラムは、上述したように、ストレージ装置４１４にプレインストールされていてもよい。
【０１６２】
判定アプリケーション部２２に相当するアプリケーションプログラムは、例えば、企業毎に用意されるアプリケーションプログラムであり、対応する企業に適した判定ルールに従ってイベントの実行の許可または禁止の判定を行う。判定アプリケーション部２２は、管理アプリケーション部２１とは別のモジュールであるので、企業毎にその企業のポリシーに合った判定アプリケーションを容易に作成することができる。
【０１６３】
たとえば、情報処理装置１をある企業Ａの業務で使用する場合には、企業Ａ用の判定アプリケーション部２２と企業Ａ用の様々なアプリケーションプログラムが情報処理装置１にインストールされうる。企業Ａ用の判定アプリケーション部２２は、企業Ａ用の様々なアプリケーションプログラムの各々のインストールを許可し且つ他のアプリケーションプログラムのインストールを禁止するためのルールセットを有していても良い。
【０１６４】
また、情報処理装置１をある企業Ｂの業務で使用する場合には、企業Ｂ用の判定アプリケーション部２２と企業Ｂ用の様々なアプリケーションプログラムが情報処理装置１にインストールされうる。企業Ｂ用の判定アプリケーション部２２は、企業Ｂ用の様々なアプリケーションプログラムの各々のインストールを許可し且つ他のアプリケーションプログラムのインストールを禁止するためのルールセットを有していても良い。
【０１６５】
タッチスクリーンディスプレイ４１３は画面上のタッチ位置を検出可能なディスプレイであり、液晶表示装置（ＬＣＤ）のようなフラットパネルディスプレイとタッチパネルとを備える。
【０１６６】
ＵＳＢコントローラ４１５は、情報処理装置１に設けられたＵＳＢポートに取り付けられるＵＳＢデバイス（例えば、ＵＳＢメモリ等）との通信を実行するように構成されている。ＳＤカードコントローラ４１６は、情報処理装置１に設けられたカードスロットに挿入されるメモリカード（例えば、ＳＤカード等）との通信を実行するように構成されている。無線ＬＡＮコントローラ４１７はＷｉＦｉ等に準拠した無線通信を実行するように構成された無線通信デバイスである。３Ｇ通信デバイス４１８は３Ｇ移動通信を実行するように構成された無線通信デバイスである。Ｂｌｕｅｔｏｏｔｈデバイス４１９は外部のＢｌｕｅｔｏｏｔｈデバイスとの通信を実行するように構成された無線通信デバイスである。
【０１６７】
以上説明したように、本実施形態によれば、インストールの実行に先立って、インストールされようとしているアプリケーションプログラムのアプリケーション名を含むインストールイベント情報が、アクセス検出・制御部１０から管理アプリケーション部２１に送信される。そして、管理アプリケーション部２１は、インストールイベント情報を判定プログラムである判定アプリケーション部２２に通知し、判定アプリケーション部２２から受信されるインストールの許可または禁止を示す判定結果をアクセス検出・制御部１０に送信する。
【０１６８】
このように、インストールの許可または禁止は、管理アプリケーション部２１とは独立した判定プログラム（判定アプリケーション部２２）によって判定される。したがって、たとえば、企業毎に判定プログラムを用意すること等により、企業毎に異なったルールセットを使用してインストールの可否を判定することができる。さらに、判定アプリケーション部２２のアップデート等を行うだけで、容易にルールセットをアップデートすることができる。よって、管理アプリケーション部２１と判定アプリケーション部２２とを独立したモジュールで実現することにより、インストール制限の内容を柔軟に制御することが可能となる。
【０１６９】
また、各アプリケーションプログラムのインストール制限のための環境は管理アプリケーション部２１によって提供されているので、判定アプリケーション部２２の構成を簡単化することができる。
【０１７０】
さらに、実際にアプリケーションがインストールされる前に、このアプリケーションのインストールの可否を判定することができるので、インストールが許可されていないアプリケーションがインストールされることを確実に防止することができる。
【０１７１】
また、管理アプリケーション部２１もアプリケーションプログラムによって実現できるので、管理アプリケーション部２１自体のアップデートも容易に行うことができる。
【０１７２】
さらに、管理アプリケーション部２１は、判定アプリケーション部２２に付与された署名に基づいて判定アプリケーション部２２の正当性を確認し、判定アプリケーション部２２の正当性が確認された場合に、この判定アプリケーション部２２をインストールイベント情報を通知すべき通信相手に特定する。したがって、偽の判定アプリケーションが使用を確実に防止することができる。
【０１７３】
また、さらに、アクセス検出・制御部１０は、管理アプリケーション部２１のアプリケーション名を保持しており、この保持しているアプリケーション名に基づいて、管理アプリケーション部２１に相当するアプリケーションを、インストールイベント情報を送信すべき通信相手に特定する。インストーラ部２３によって、アプリケーションのアップデートを除き、インストールされているアプリケーションと同じアプリケーション名のアプリケーションを新たにインストールすることが制限されている。よって、偽の管理アプリケーション部にインストール情報が送られてしまうことを確実に防止することができる。
【０１７４】
なお、本実施形態では、判定アプリケーションの不正なアンインストールを防止する構成を説明したが、管理アプリケーション部２１に「判定アプリケーションのアンインストールを許可するモード」を備え、管理アプリケーション部２１がこのモードにいる時には判定アプリケーションのアンインストールを許可するようにしてもよい。これにより、ユーザが正規の手順で判定アプリケーションをアンインストールする事を可能とすることができる。
【０１７５】
また、本実施形態では、インストーラ部２３からのアンインストール要求をアクセス検出・制御部１０がアンインストールイベントとして検出する場合を説明したが、アクセス検出・制御部１０が、アプリケーション情報格納部５０に対するアプリケーション削除命令を、アンインストールイベントとして検出するようにしてもよい。
【０１７６】
なお、本実施形態のインストール制限処理の手順は全てソフトウェアによって実現することができるので、この手順を実行するコンピュータプログラムを、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じて通常のコンピュータにインストールすることにより、本実施形態と同様の効果を容易に実現することができる。
【０１７７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１７８】
１…情報処理装置、１０…アクセス検出・制御部、２０…アプリケーション実行部、２１…管理アプリケーション部、２２…判定アプリケーション部、２３…インストーラ部。
【図１】
2014021923.tif 000003
【図２】
2014021923.tif 000004
【図３】
2014021923.tif 000005
【図４】
2014021923.tif 000006
【図５】
2014021923.tif 000007
【図６】
2014021923.tif 000008
【図７】
2014021923.tif 000009
【図８】
2014021923.tif 000010
【図９】
2014021923.tif 000011
【図１０】
2014021923.tif 000012
【図１１】
2014021923.tif 000013
【図１２】
2014021923.tif 000014
【図１３】
2014021923.tif 000015
【図１４】
2014021923.tif 000016
【図１５】
2014021923.tif 000017
【図１６】
2014021923.tif 000018
【図１７】
2014021923.tif 000019
【図１８】
2014021923.tif 000020
【図１９】
2014021923.tif 000021
【図２０】
2014021923.tif 000022
【図２１】
2014021923.tif 000023
【図２２】
2014021923.tif 000024
【図２３】
2014021923.tif 000025
【図２４】
2014021923.tif 000026
【図２５】
2014021923.tif 000027
【図２６】
2014021923.tif 000028
【図２７】
2014021923.tif 000029
【図２８】
2014021923.tif 000030