(57)【要約】【課題】ユーザ毎に適用するポリシーを変更するといった柔軟な機能制限を実行することを可能とした電子機器を提供する。【解決手段】実施形態によれば、電子機器は、マルチユーザ機能を有し、管理手段と、制御手段と、を具備する。管理手段は、前記電子機器の実行可能な処理を制限するための環境を提供する。制御手段は、処理の実行を要求するイベントの発生を検出し、前記イベントに対応する処理の実行に先立って、前記イベントの内容を前記管理手段に送信する。管理手段は、ユーザ毎に適用されるポリシーに基づき決定される前記イベントに対応する処理の実行の許可または禁止を示す判定結果を前記制御手段に送信する。【選択図】図１
2014229056.tif 000002
【特許請求の範囲】
【請求項１】
マルチユーザ機能を有する電子機器において、
前記電子機器の実行可能な処理を制限するための環境を提供する管理手段と、
処理の実行を要求するイベントの発生を検出し、前記イベントに対応する処理の実行に先立って、前記イベントの内容を前記管理手段に送信する制御手段と、
を具備し、
前記管理手段は、ユーザ毎に適用されるポリシーに基づき決定される前記イベントに対応する処理の実行の許可または禁止を示す判定結果を前記制御手段に送信する、
電子機器。
【請求項２】
前記管理手段は、ユーザ毎に割り当てられる複数の判定プログラムの中の前記イベントが持つユーザ属性で示されるユーザに対応する判定プログラムに前記イベントの内容を通知し、当該判定プログラムから前記判定結果を受信する請求項１に記載の電子機器。
【請求項３】
前記管理手段は、
特定ユーザに割り当てられる判定プログラムに前記イベントの内容を通知し、当該判定プログラムから前記判定結果を受信して前記制御手段に送信する第１動作モードと、
前記イベントが持つユーザ属性で示されるユーザが特定ユーザの場合、前記イベントに対応する処理の実行の許可を示す判定結果を前記制御手段に送信し、特定ユーザ以外のユーザの場合、特定ユーザ以外の全ユーザに共通して割り当てられる判定プログラムに前記イベントの内容を通知し、当該判定プログラムから前記判定結果を受信して前記制御手段に送信する第２動作モードと、
ユーザ毎に割り当てられる複数の判定プログラムの中の前記イベントが持つユーザ属性で示されるユーザに対応する判定プログラムに前記イベントの内容を通知し、当該判定プログラムから前記判定結果を受信して前記制御手段に送信する第３動作モードと、
を有する請求項１に記載の電子機器。
【請求項４】
前記管理手段は、前記イベントがユーザ属性を持たない場合、特定ユーザに割り当てられる判定プログラムに前記イベントの内容を通知し、当該判定プログラムから前記判定結果を受信する請求項２または３に記載の電子機器。
【請求項５】
前記管理手段は、前記イベントがユーザ属性を持たない場合、フォアグラウンドに割り当てられる判定プログラムに前記イベントの内容を通知し、当該判定プログラムから前記判定結果を受信する請求項２または３に記載の電子機器。
【請求項６】
前記管理手段は、前記イベントがユーザ属性を持たない場合、ユーザ毎に割り当てられる複数の判定プログラムすべてに前記イベントの内容を通知し、当該複数の判定プログラムから受信した複数の判定結果による多数決で前記イベントに対応する処理の実行の許可または禁止を決定して、前記イベントに対応する処理の実行の許可または禁止を示す判定結果を前記制御手段に送信する請求項２または３に記載の電子機器。
【請求項７】
前記管理手段は、前記イベントがユーザ属性を持たない場合、ユーザ毎に割り当てられる複数の判定プログラムすべてに前記イベントの内容を通知し、当該複数の判定プログラムから受信した複数の判定結果すべてが前記イベントに対応する処理の実行の許可を示している場合、前記イベントに対応する処理の実行の許可を示す判定結果を前記制御手段に送信し、複数の判定結果の中の１つでも前記イベントに対応する処理の実行の禁止を示している場合、前記イベントに対応する処理の実行の禁止を示す判定結果を前記制御手段に送信する請求項２または３に記載の電子機器。
【請求項８】
前記管理手段は、前記イベントがユーザ属性を持たない場合、全ユーザに共通して適用されるポリシーに基づき前記イベントに対応する処理の実行の許可または禁止を決定し、前記イベントに対応する処理の実行の許可または禁止を示す判定結果を前記制御手段に送信する請求項２または３に記載の電子機器。
【請求項９】
前記管理手段は、前記電子機器上で実行可能な処理の制限が課されないユーザがフォアグラウンドユーザである場合、バックグラウンドユーザのプログラムを停止する請求項１に記載の電子機器。
【請求項１０】
マルチユーザ機能を有する電子機器における実行可能な処理を制限するための制御方法であって、
処理の実行を要求するイベントの発生を検出し、
前記イベントに対応する処理の実行に先立って、ユーザ毎に適用されるポリシーに基づき決定される前記イベントに対応する処理の実行の許可または禁止を示す判定結果を取得し、
前記判定結果が前記イベントに対応する処理の実行の許可を示す場合に、前記イベントに対応する処理を実行する、
制御方法。
【請求項１１】
マルチユーザ機能を有するコンピュータを、
前記コンピュータの実行可能な処理を制限するための環境を提供する管理手段、
処理の実行を要求するイベントの発生を検出し、前記イベントに対応する処理の実行に先立って、前記イベントの内容を前記管理手段に送信する制御手段、
として機能させ、
前記管理手段は、ユーザ毎に適用されるポリシーに基づき決定される前記イベントに対応する処理の実行の許可または禁止を示す判定結果を前記制御手段に送信する、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、マルチユーザ機能を有する電子機器におけるポリシー制御技術に関する。
【背景技術】
【０００２】
近年、企業において、個人所有の電子機器を持ち込んで業務で利用すること（いわゆるBring Your Own Device［ＢＹＯＤ］）が注目されている。電子機器としては、例えば、タブレット端末やスマートフォン等を使用することができる。
【０００３】
ＢＹＯＤを実現するためには、持ち込まれる電子機器に対して様々なセキュリティ対策を施すことが必要とされる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２０７１７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、最近の電子機器は、複数のユーザが各々独自の環境下で利用することを可能とするマルチユーザ機能を有するものが少なくない。マルチユーザ機能を有する電子機器の場合、文字通り複数のユーザで利用することはもちろん、１人のユーザが環境を使い分けながら利用することも可能となる。従って、このマルチユーザ機能を活用して、会社での使用を想定したポリシー（機能制限）を適用する環境と、このポリシーを適用しない環境とを使い分けるといった方法でのＢＹＯＤの運用も想定され得る。
【０００６】
しかしながら、複数のユーザのプロセス（プログラム）が並行して動作し得るマルチユーザ機能を有する電子機器において、ユーザ毎に適用するポリシーを変更するといった柔軟な機能制限を実行することは困難であった。
【０００７】
本発明は、ユーザ毎に適用するポリシーを変更するといった柔軟な機能制限を実行することを可能とした電子機器、制御方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施形態によれば、電子機器は、マルチユーザ機能を有し、管理手段と、制御手段と、を具備する。管理手段は、前記電子機器の実行可能な処理を制限するための環境を提供する。制御手段は、処理の実行を要求するイベントの発生を検出し、前記イベントに対応する処理の実行に先立って、前記イベントの内容を前記管理手段に送信する。管理手段は、ユーザ毎に適用されるポリシーに基づき決定される前記イベントに対応する処理の実行の許可または禁止を示す判定結果を前記制御手段に送信する。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る電子機器の構成を示すブロック図。
【図２】実施形態の電子機器内に設けられるアクセス検出・制御部およびアプリケーション実行部の構成を示すブロック図。
【図３】実施形態の電子機器内に設けられる管理アプリケーション部の構成を示すブロック図。
【図４】実施形態の電子機器内に設けられる判定アプリケーション部の構成を示すブロック図。
【図５】実施形態の電子機器のハードウェア構成例を示すブロック図。
【図６】実施形態の電子機器によってイベントの発生時に実行されるイベント可否判定処理の概要を説明するためのタイミングチャート。
【図７】実施形態の電子機器によってイベントの発生時に実行されるイベント処理の手順を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、実施の形態について図面を参照して説明する。
【００１１】
図１は、一実施形態に係る電子機器１の構成を示している。電子機器１は、様々なアプリケーションプログラムを実行するように構成されており、例えば、タブレット端末やスマートフォン等によって実現され得る。電子機器１は、ＵＳＢメモリやＳＤカードといった外部ストレージ装置にアクセスする機能を有している。また、電子機器１は、いくつかの無線通信規格、例えば、ＷｉＦｉ（登録商標）、第三世代移動通信（３Ｇ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）等にそれぞれ対応する無線通信を実行するように構成されている。電子機器１は、この無線通信機能を使用して、外部の通信装置２、インターネット上の様々なサーバ等との通信を行うことができる。
【００１２】
この電子機器１は、様々な処理の制限、例えば、特定のいくつかのアプリケーションプログラムのインストールの制限、特定のいくつかのアプリケーションプログラムの起動の制限、特定のいくつかのアプリケーションプログラムのアンインストールの制限、電子機器１と各種外部通信機器との間の接続の制限、電子機器１と各種外部ストレージデバイスとの間の接続の制限、等を行うための処理制限機能を有している。
【００１３】
この処理制限機能を実現するために、電子機器１は、３つの異なるモジュール、つまり、アクセス検出・制御部１０と、管理アプリケーション部２１と、判定アプリケーション部２２とを備える。
【００１４】
アクセス検出・制御部１０は、オペレーティングシステム（ＯＳ）層内のソフトウェアモジュールによって実現することができる。このソフトウェアモジュールは、例えば、ＯＳ層内のミドルウェアであってよいし、ＯＳ層内のカーネル、例えばＬｉｎｕｘ（登録商標）カーネルであってもよい。管理アプリケーション部２１と、判定アプリケーション部２２の各々は、アプリケーション実行部２０上で実行されるアプリケーションプログラムによって実現することができる。アプリケーションプログラムは、例えばＡｎｄｒｏｉｄ（登録商標）アプリケーションプログラムであってもよい。管理アプリケーション部２１は、判定アプリケーション部２２と協働して、電子機器１の実行可能な様々な処理を制限する。
【００１５】
アプリケーション実行部２０は、様々なアプリケーションプログラムを実行するためのプラットフォームであり、例えば、Ｊａｖａ（登録商標）仮想マシンのような仮想マシンによって実現することができる。
【００１６】
電子機器１は、インターネットを介してアプリケーション配布サーバ３から様々なアプリケーションプログラム（各種アプリケーションパッケージファイル）をダウンロードすることができる。ダウンロードされる各アプリケーションプログラムは、電子機器１内の蓄積部３０に格納される。判定アプリケーション部２２も、アプリケーション配布サーバ３からダウンロードされて蓄積部３０に保存される。管理アプリケーション部２１およびインストーラ部２３の各々も、アプリケーション配布サーバ３からダウンロードすることができる。なお、管理アプリケーション部２１とインストーラ部２３は、電子機器１にプリインストールされていてもよい。この場合、管理アプリケーション部２１を必ずしもダウンロードする必要はない。同様に、インストーラ部２３も必ずしもダウンロードする必要はない。
【００１７】
インストーラ部２３は、アプリケーション配布サーバ３から蓄積部３０にダウンロードしてきた各アプリケーションプログラム（管理アプリケーション部２１、判定アプリケーション部２２および他の各種アプリケーション等）のアプリケーションパッケージファイルを展開して、蓄積部３０にインストールする処理を行う。
【００１８】
アプリケーション実行部２０は、蓄積部３０から各アプリケーションプログラム（管理アプリケーション実行部２１、判定アプリケーション部２２、インストーラ部２３および他の各種アプリケーション等）をロードして実行する。
【００１９】
アクセス検出・制御部１０は、処理の実行を要求するイベントの発生を検出し、このイベントに対応する処理の実行に先立って、このイベントの内容を管理アプリケーション部２１に送信する。アクセス検出・制御部１０は、イベントに対応する処理の実行の許可または禁止を示す判定結果を管理アプリケーション部２１から受信し、この判定結果に基づいて、イベントに対応する処理の実行を制御する。判定結果が処理の実行の許可を示すならば、アクセス検出・制御部１０は、この処理を実行する。一方、判定結果が処理の実行の禁止を示すならば、アクセス検出・制御部１０は、この処理の実行を禁止する。
【００２０】
ここで、アプリケーションプログラムのインストールおよびアンインストールを制限する場合を想定する。アクセス検出・制御部１０は、アプリケーションプログラムのインストールまたはアンインストールを要求するイベントを検出し、このイベントの実行前に、つまりインストールまたはアンインストールの実行前に、管理アプリケーション部２１にインストールまたはアンインストール対象のアプリケーション名を通知し、管理アプリケーション部２１からの判定結果に基づいてインストールまたはアンインストールの実行を制御する。
【００２１】
例えば、アクセス検出・制御部１０は、あるアプリケーションプログラムのインストールを要求するイベントを検出したならば、アプリケーションプログラムをインストールする処理を保留して、このアプリケーションプログラムのアプリケーション名を含むイベントの内容を管理アプリケーション部２１に送信する。そして、管理アプリケーション部２１から返されるインストールの許可または禁止を示す判定結果に基づいて、アクセス検出・制御部１０は、インストール処理を実行するか、またはインストール処理の実行を中止（禁止）する。
【００２２】
同様に、アクセス検出・制御部１０は、あるアプリケーションプログラムのアンインストールを要求するイベントを検出したならば、アプリケーションプログラムをアンインストールする処理を保留して、このアプリケーションプログラムのアプリケーション名を含むイベントの内容を管理アプリケーション部２１に送信する。そして、管理アプリケーション部２１から返されるアンインストールの許可または禁止を示す判定結果に基づいて、アクセス検出・制御部１０は、アンインストール処理を実行するか、またはアンインストール処理の実行を中止（禁止）する。
【００２３】
さらに、アクセス検出・制御部１０は、アプリケーションプログラムのインストールまたはアンインストールを要求するイベントのみならず、他の様々なイベントも検出することができる。例えば、アプリケーションプログラムの起動要求、各種通信装置との接続要求（例えば、ＷｉＦｉ（登録商標）アクセスポイントへの接続要求、ＶＰＮ接続要求、Ｂｌｕｅｔｏｏｔｈ（登録商標）機器との接続要求）、ＳＤカード接続要求、ＵＳＢメモリ接続要求、等の様々なイベントがアクセス検出・制御部１０によって検出される。インストール・アンインストールイベント以外のこれらイベントが検出された際も、アクセス検出・制御部１０は、そのイベントに対応する処理の実行前に、検出されたイベントの内容を示すイベント情報を管理アプリケーション部２１に送信し、管理アプリケーション部２１からの判定結果に基づいて、そのイベントの実行の可否を制御することができる。
【００２４】
管理アプリケーション部２１は、電子機器１の実行可能な処理を制限するための環境を提供する管理モジュールとして機能する。管理アプリケーション部２１は、この管理アプリケーション部２１の起動時に、各種イベントを管理アプリケーション部２１に通知するようにアクセス検出・制御部１０に要求することができる。さらに、管理アプリケーション部２１は、アクセス検出・制御部１０からイベント（イベントの内容を示すイベント情報）を受信すると、受信されたイベントを判定アプリケーション部２２に通知し、判定アプリケーション部２２から受信される判定結果（例えば、このイベントに対応する処理の許可または禁止を示す判定結果）をアクセス検出・制御部１０に送信する。
【００２５】
さらに、管理アプリケーション部２１は、判定アプリケーション部２２に対する署名検証を実行して、判定アプリケーション部２２が正当な判定アプリケーションであるか否かを判定する機能を有している。署名検証は、例えば、判定アプリケーション部２２のインストール時や起動時等に実行される。署名検証では、管理アプリケーション部２１は、蓄積部３０に保存されている判定アプリケーション部２２のアプリケーションパッケージファイルを取得し、アプリケーションパッケージファイルに含まれる証明書等に基づき、判定アプリケーション部２２が正当な判定アプリケーションであるか否かを判定する。この署名検証により、判定アプリケーション部２２のアプリケーションパッケージファイルの作成者が正しいか否かが検証されると共に、アプリケーションパッケージファイルが改竄されていない正当なものであるか否かが検証される。
【００２６】
判定アプリケーション部２２は、所定のポリシー（判定ルール）を有し、このポリシーに基づいて、管理アプリケーション部２１から受信されるイベントの許可または禁止を判定し、その判定結果を管理アプリケーション部２１に通知する。ポリシーは、許可すべき各イベントの内容を示すホワイトリストであっても良いし、禁止すべき各イベントの内容を示すブラックリストであっても良いし、これらホワイトリストとブラックリストの双方を有していても良い。なお、判定アプリケーション部２２は、必要に応じて、ポリシー配布サーバ４からポリシー（判定ルール）をダウンロードすることもできる。ポリシー配布サーバ４からポリシー（判定ルール）をダウンロードすることにより、ポリシーを例えば定期的に容易に更新することができる。また、判定アプリケーション部２２に予めポリシーが組み込まれていてもよい。さらに、判定アプリケーション部２２は、イベントの実行の可否をイベント可否判断サーバ５に問い合わせることもできる。
【００２７】
本実施形態では、電子機器１が、マルチユーザ機能を有するものと想定する。より具体的には、電子機器１のＯＳが、マルチユーザ対応であるものと想定する。そこで、本実施形態の電子機器１は、例えばユーザ毎に適用するポリシーを変更できるようにしたものであり、以下、この点について詳述する。
【００２８】
なお、ここでいうユーザ毎とは、物理的に複数のユーザを前提とするものではなく、主に、１人のユーザが、電子機器１を家庭等で個人的に使用する際にはユーザＡとしてログインし、電子機器１を会社等で業務のために使用する際にはユーザＢとしてログインするといった場合における当該ユーザＡ，ユーザＢ等の論理的に複数のユーザを前提とするものである。また、物理的に複数のユーザであってもよいことはいうまでもない。
【００２９】
インストーラ部２３は、ユーザ操作に応じて、アプリケーションプログラムのインストールまたはアンインストールの開始をアクセス検出・制御部１０に指示する。インストーラ部２３からの指示に応じて、アクセス検出・制御部１０は、インストールイベントまたはアンインストールイベントを検出することができる。
【００３０】
アクセス検出・制御部１０は、管理アプリケーション部２１から通知される判定結果がインストール禁止を示す場合、インストール（例えばディレクトリ(フォルダ)やファイルの作成）を禁止する。これにより、使用が許可されていないアプリケーションプログラムのインストールを防止することができる。一方、管理アプリケーション部２１から通知される判定結果がインストール許可を示す場合、アクセス検出・制御部１０は、アプリケーションプログラムをインストールするためのインストール処理を実行する。
【００３１】
図２は、前述のアクセス検出・制御部１０およびアプリケーション実行部２０の構成を示している。ここでは、インストール制限、アンインストール制限、外部通信装置２との接続制限を行う場合が想定されている。
【００３２】
図２に示されているように、インストールやアンインストールの指示はインストーラ部２３（インストールアプリケーション）が開始する。インストール時には、インストーラ部２３のインストール情報収集部６１が、蓄積部３０から、インストール対象のアプリケーションに対応するアプリケーションパッケージファイルを取得する。そして、インストーラ部２３のアプリケーション登録部６２が、サムネイル画像ファイルなどを格納しているデータベースであるアプリケーション情報格納部５０にインストール対象のアプリケーションを登録する。ファイル作成等の実際のインストール処理は、アクセス検出・制御部１０によって実行される。
【００３３】
アンインストール指示部６３は、ユーザ操作に応じてアプリケーションのアンインストールをアプリケーション削除部６４に指示すると共に、アクセス検出・制御部１０にアンインストールの開始を指示する。アプリケーション削除部６４は、アンインストール対象のアプリケーションに対応するサムネイル画像ファイルなどをアプリケーション情報格納部５０から削除する。
【００３４】
アクセス検出・制御部１０は、インストール処理部１０１、アンインストール処理部１０２、通信接続管理部１０３、イベント検出部１０４、管理アプリケーションイベント通信部１０５、管理アプリケーション特定部１０６、インストール可否通知部１０７、アンインストール可否通知部１０８および通信接続可否通知部１０９を備える。
【００３５】
インストール処理部１０１は、インストーラ部２３からインストール開始の指示（インストール要求）を受信すると、インストーラ部２３にインストールの処理の実行を待機させる。インストール要求が発生したことは、イベント検出部１０４よってインストールイベントとして検出される。管理アプリケーションイベント通信部１０５は、インストール対象のアプリケーション名を含むイベント情報（インストールイベント情報）を、管理アプリケーション部２１に通知する。
【００３６】
管理アプリケーション特定部１０６は、アプリケーション実行部２０上のどのアプリケーションが管理アプリケーション部２１であるかを特定する。イベント情報は、イベント検出部１０４で検出された後、管理アプリケーションイベント通信部１０５を介して、管理アプリケーション特定部１０６によって管理アプリケーション部２１であると特定されたアプリケーションに送信される。具体的には、管理アプリケーション特定部１０６は、管理アプリケーション部２１のアプリケーション名を予め保持している。そして、管理アプリケーション特定部１０６は、アプリケーションからの登録要求を受信すると、この予め保持しているアプリケーション名に基づいて、そのアプリケーションが、管理アプリケーション部２１（この予め保持しているアプリケーション名を有するアプリケーションプログラム）か否か、つまりイベント情報を送信すべき通信相手か否かを判定する。もしイベント情報を送信すべき通信相手であると判定した場合には、そのアプリケーションを管理アプリケーション部２１として特定する。
【００３７】
管理アプリケーションイベント通信部１０５は、管理アプリケーション特定部１０６によって特定されたアプリケーションプログラムとの通信を実行する。これにより、不正なアプリケーションプログラムにイベント情報が横取りされるといったことを防止することができる。
【００３８】
管理アプリケーション部２１からインストールイベントに対する判定結果を受信すると、管理アプリケーションイベント通信部１０５は、受信した判定結果をインストール可否通知部１０７に出力する。インストール可否通知部１０７は、判定結果の内容に基づいてインストール処理部１０１の動作を制御する。判定結果がインストールの許可を示すならば、インストール処理部１０１は、インストーラ部２３と協働して、インストール処理を実行する。一方、判定結果がインストールの禁止を示すならば、インストール処理部１０１は、インストール処理を中止する。
【００３９】
アンインストール処理部１０２は、インストーラ部２３からアンインストール開始の指示（アンインストール要求）を受信すると、インストーラ部２３にアンインストールの処理の実行を待機させる。アンインストール要求が発生したことは、イベント検出部１０４よってアンインストールイベントとして検出される。管理アプリケーションイベント通信部１０５は、アンインストール対象のアプリケーション名を含むイベント情報（アンインストールイベント情報）を、管理アプリケーション部２１に通知する。
【００４０】
管理アプリケーション部２１からアンインストールイベントの実行の許可または禁止を示す判定結果を受信すると、管理アプリケーションイベント通信部１０５は、受信した判定結果をアンインストール可否通知部１０８に出力する。アンインストール可否通知部１０８は、判定結果の内容に基づいてアンインストール処理部１０２の動作を制御する。判定結果がアンインストールの許可を示すならば、アンインストール処理部１０２は、インストーラ部２３と共同して、アンインストール処理を実行する。一方、判定結果がアンインストールの禁止を示すならば、アンインストール処理部１０２は、アンインストール処理を実行しない。これにより、ユーザによって要求されたアプリケーションのアンインストールの実行は禁止される。
【００４１】
通信接続管理部１０３は、電子機器１とＷｉＦｉ（登録商標）アクセポイント、Ｂｌｕｅｔｏｏｔｈ（登録商標）機器、他のネットワーク機器のような外部の通信装置２との間の接続を制御する。通信接続管理部１０３は、外部の通信装置２からコネクション確立要求を受信した時、または外部の通信装置２にコネクション確立要求を送信する要求が発生した時に、接続要求の発生を検出し、接続要求が発生したことをイベント検出部１０４に通知する。外部の通信装置２との接続要求が発生したことは、イベント検出部１０４よってネットワーク接続イベントとして検出される。管理アプリケーションイベント通信部１０５は、接続対象の外部通信装置を示す情報を含むイベント情報（接続イベント）を、管理アプリケーション部２１に通知する。
【００４２】
管理アプリケーション部２１から接続イベントの実行の許可または禁止を示す判定結果を受信すると、管理アプリケーションイベント通信部１０５は、受信した判定結果を通信接続可否通知部１０９に出力する。通信接続可否通知部１０９は、判定結果の内容に基づいて通信接続管理部１０３の動作を制御する。判定結果が接続の許可を示すならば、通信接続管理部１０３は、接続対象の通信装置との接続を確立する処理を実行する。一方、判定結果が接続の禁止を示すならば、通信接続管理部１０３は、接続対象の通信装置との接続の確立を禁止する。
【００４３】
その他、図２にはその構成を示さなかったが、前述したように、例えば外部ストレージ装置との接続制限等を行うことも可能である。例えばＳＤカードが挿入された時、その旨を示すイベント情報がアクセス検出・制御部１０から管理アプリケーション部２１に送信され、当該ＳＤカードとの接続可否を示す判定結果が、管理アプリケーション部２１からアクセス検出・制御部１０に返送される。
【００４４】
図３は、管理アプリケーション部２１の構成を示す。
【００４５】
管理アプリケーション部２１は、通信処理部２０１、サービス利用通信部２０２、イベント処理部２０３、選別ルール管理部２０４、判定アプリケーション選別部２０５、デフォルト判定処理部２０６、イベント記録部２０７、署名検証部２０８、アプリケーション取得部２０９、証明書管理部２１０、判定アプリケーション登録部２１１、判定アプリケーション管理部２１２および判定アプリケーション抹消部２１３を備える。
【００４６】
通信処理部２０１は、アクセス検出・制御部１０との通信を実行する。通信処理部２０１は、アクセス検出・制御部１０から通知される様々なイベント（インストールイベント、各種通信装置との接続要求イベント、ＳＤカード接続要求イベント、ＵＳＢメモリ接続要求イベント、アンインストールイベント、等）を受信する。なお、管理アプリケーション部２１とアクセス検出・制御部との通信には、例えばシグナルシステムコールなどの方法を用いればよい。
【００４７】
サービス利用通信部２０２は、判定アプリケーション部２２との通信を実行する。イベント処理部２０３は、イベントの内容をサービス利用通信部２０２を介して判定アプリケーション部２２に送信し、そのイベントの実行の許可または禁止を示す判定結果をサービス利用通信部２０２を介して判定アプリケーション部２２から受信する。
【００４８】
前述したように、本実施形態では、電子機器１が、マルチユーザ機能を有することを想定している。本実施形態の電子機器１は、判定アプリケーション部２２を、例えばユーザ毎に割り当てるべく複数起動し、イベント処理部２０３が、イベントの内容の送信先とする判定アプリケーション部２２を適応的に選別することにより、例えばユーザ毎に適用するポリシーを変更できるようにする。
【００４９】
イベント処理部２０３は、選別ルール管理部２０４によって管理される選別ルールに基づき、判定アプリケーション選別部２０５と協働して、イベントの内容の送信先とする判定アプリケーション部２２を適応的に選別する。この判定アプリケーション部２２の選別方法については後述する。
【００５０】
なお、判定アプリケーション部２２がインストールされていない等、イベントの内容を送信すべき判定アプリケーション部２２が存在しないという状況も考えられ得る。デフォルト判定処理部２０６は、このような状況下において、初期設定状態のポリシーに基づき、判定アプリケーション部２２に代わり、イベントの実行の許可または禁止を判定する。
【００５１】
イベント記録部２０７は、アクセス検出・制御部１０から通知されたイベントの内容をイベントログとして記録する。
【００５２】
管理アプリケーション部２１は、前述したように、判定アプリケーション部２２に対する署名検証を実行して、判定アプリケーション部２２が正当な判定アプリケーションであるか否かを判定する機能を有している。署名検証部２０８、アプリケーション取得部２０９および証明書管理部２１０は、この署名検証の実行を司る。判定アプリケーション部２２は、例えば起動時に、署名検証によって正当性が検証されると、判定アプリケーション登録部２１１により判定アプリケーション管理部２１２に記録される。判定アプリケーション管理部２１２には、例えばユーザ数分の判定アプリケーション部２２が記録される。判定アプリケーション部２２の終了時には、判定アプリケーション抹消部２１３により判定アプリケーション管理部２１２からその記録が抹消される。
【００５３】
図４は、判定アプリケーション部２２の構成を示している。図４に示すように、判定アプリケーション部２２は、サービス提供通信部１１１、イベント判定部１１２、判定ルール管理部１１３およびイベント可否判定サーバ通信処理部１１４を備える。
【００５４】
サービス提供通信部１１１は、管理アプリケーション部２１との通信を実行する。イベント判定部１１２は、判定ルール管理部１１３内に存在するポリシーに基づいて各イベントに対応する処理の実行の許可または禁止を判定する。
【００５５】
イベント可否判定サーバ通信処理部１１４は、各イベントに対応する処理の実行の可否をイベント可否判断サーバ５に問い合わせて、処理の実行の可否をイベント可否判断サーバ５から受信する。イベント判定部１１２は、必要に応じてイベント可否判定サーバ通信処理部１１４を使用して、処理の実行の可否を判定することもできる。
【００５６】
図５に、電子機器１のハードウェア構成例を示す。電子機器１は、ＣＰＵ４１１、主メモリ４１２、タッチスクリーンディスプレイ４１３、ストレージ装置４１４、ＵＳＢコントローラ４１５、ＳＤカードコントローラ４１６、無線ＬＡＮコントローラ４１７、３Ｇ通信デバイス４１８、Ｂｌｕｅｔｏｏｔｈ（登録商標）デバイス（ＢＴデバイス）４１９等を備える。
【００５７】
ＣＰＵ４１１は、電子機器１内の各コンポーネントを制御するプロセッサである。ＣＰＵ４１１は、ストレージ装置４１４から主メモリ４１２にロードされる様々なソフトウェア、例えば、ＯＳ、アプリケーションプログラム等を実行する。前述のアクセス検出・制御部１０はＯＳの一部として実行される。
【００５８】
管理アプリケーション部２１および判定アプリケーション部２２は、前述したように、異なるアプリケーションプログラムとして実現されている。管理アプリケーション部２１に相当するアプリケーションプログラムは、前述したように、ストレージ装置４１４にプレインストールされていてもよい。
【００５９】
タッチスクリーンディスプレイ４１３は、画面上のタッチ位置を検出可能なディスプレイであり、液晶表示装置（ＬＣＤ）のようなフラットパネルディスプレイとタッチパネルとを備える。
【００６０】
ＵＳＢコントローラ４１５は、電子機器１に設けられたＵＳＢポートに取り付けられるＵＳＢデバイス（例えば、ＵＳＢメモリ等）との通信を実行するように構成されている。ＳＤカードコントローラ４１６は、電子機器１に設けられたカードスロットに挿入されるメモリカード（例えば、ＳＤカード等）との通信を実行するように構成されている。無線ＬＡＮコントローラ４１７は、ＷｉＦｉ（登録商標）等に準拠した無線通信を実行するように構成された無線通信デバイスである。３Ｇ通信デバイス４１８は、３Ｇ移動通信を実行するように構成された無線通信デバイスである。Ｂｌｕｅｔｏｏｔｈ（登録商標）デバイス４１９は、外部のＢｌｕｅｔｏｏｔｈ（登録商標）デバイスとの通信を実行するように構成された無線通信デバイスである。
【００６１】
図６は、イベントの発生時に電子機器１によって実行されるイベント可否判定処理の概要を説明するためのタイミングチャートである。
【００６２】
アプリケーションプログラムのインストール要求またはアンインストール要求、アプリケーションプログラムの起動要求、外部通信装置との接続要求、外部ストレージ装置との接続要求等、機能制限対象のイベントが発生すると、アクセス検出・制御部１０によって当該イベントの発生が検出され、そのイベントの内容が管理アプリケーション部２１に通知される（図６のａ１，ｂ１）。
【００６３】
管理アプリケーション部２１は、アクセス検出・制御部１０からイベント（イベントの内容を示すイベント情報）を受信すると、まず、そのイベントを通知すべき判定アプリケーション部２２を判定する（図６のａ２，ｂ２）。通知先の判定アプリケーション部２２を判定すると、管理アプリケーション部２１は、その判定アプリケーション部２２にイベントを通知する（図６のａ３，ｂ３）。
【００６４】
管理アプリケーション部２１は、イベントの実行の許可または禁止を示す判定結果を判定アプリケーション部２２から受信し（図６のａ４，ｂ４）、この判定結果で示されるイベントの実行可否をアクセス検出・制御部１０に通知する（図６のａ５，ｂ５）。
【００６５】
各イベントに対する判定結果は、（判定ルール管理部１１３に管理させるポリシーを異なるものとすることによって）判定アプリケーション部２２毎に異なるものとすることができる。従って、イベントの通知先を適応的に選別することにより、例えばユーザ毎に適用するポリシーを変更することができる。
【００６６】
管理アプリケーション部２１は、選別ルール管理部２０４の設定によって、以下の３通りの動作モードで動作し得る。
【００６７】
（ａ）第１動作モード
全ユーザに同一のポリシーを適用する。
【００６８】
（ｂ）第２動作モード
アドミニストレータなどと称される特定ユーザ以外の全ユーザに同一のポリシーを適用する。特定ユーザに対する機能制限は行わない。
【００６９】
（ｃ）第３動作モード
ユーザ毎に異なるポリシーを適用する。適用するポリシーをユーザ毎に可変とするモードであって、複数のユーザに同一のポリシーを適用することも可能である。
【００７０】
まず、第１動作モードが設定されている場合における管理アプリケーション部２１の動作について説明する。
【００７１】
アクセス検出・制御部１０から通知されるイベントには、どのユーザのプロセス（プログラム）からの要求かを示すユーザ属性が付されている。イベント処理部２０３は、このイベントが持つユーザ属性に基づき、そのイベントを通知すべき判定アプリケーション部２２を判定することを基本とする。この基本を踏まえつつ、第１動作モードが設定されている場合、イベント処理部２０３は、ユーザ属性で示されるユーザに関わらず、アクセス検出・制御部１０から通知されるイベントを、（サービス利用通信部２０２を介して）特定ユーザに割り当てられる判定アプリケーション部２２に通知する。イベント処理部２０３は、判定アプリケーション選別部２０５と協働して、そのイベントを通知すべき判定アプリケーション部２２の選別を実行する。即ち、第１動作モードの場合、特定ユーザに割り当てられる判定アプリケーション部２２を特定する。判定アプリケーション選別部２０５は、判定アプリケーション管理部２１２の記録を参照して、特定ユーザに割り当てられる判定アプリケーション部２２を特定する。
【００７２】
イベントの通知先が特定ユーザに割り当てられる判定アプリケーション部２２に固定されることにより、全ユーザに同一のポリシーが適用されることになる。
【００７３】
次に、第２動作モードが設定されている場合における管理アプリケーション部２１の動作について説明する。
【００７４】
第２動作モードが設定されている場合、イベント処理部２０３は、まず、イベントが持つユーザ属性で示されるユーザが特定ユーザか否かを判定する。特定ユーザの場合、イベント処理部２０３は、判定アプリケーション部２２へのイベントの通知を行うことなく、そのイベントの実行の許可を（通信処理部２０１を介して）アクセス検出・制御部１０に通知する。
【００７５】
一方、特定ユーザ以外の場合、イベント処理部２０３は、そのイベントを、特定ユーザ以外の全ユーザに共通して割り当てられる判定アプリケーション部２２に通知する。例えば、イベント処理部２０３は、特定ユーザ以外の全ユーザを一体化するために動作させる仮想ユーザ用の判定アプリケーション部２２を、イベントの通知先として判定アプリケーション選別部２０５に選別させる。
【００７６】
特定ユーザの場合、判定アプリケーション部２２へのイベントの通知は行わず、当該イベントの実行の許可を回答することになるので、特定ユーザに対する機能制限は行われないことになる。また、特定ユーザ以外の場合のイベントの通知先となる判定アプリケーション部２２が固定されるので、特定ユーザ以外の全ユーザに同一のポリシーが適用されることになる。
【００７７】
続いて、第３動作モードが設定されている場合における管理アプリケーション部２１の動作について説明する。
【００７８】
第３動作モードが設定されている場合、イベント処理部２０３は、イベントが持つユーザ属性で示されるユーザに割り当てられた判定アプリケーション部２２を、イベントの通知先として判定アプリケーション選別部２０５に選別させる。そして、イベント処理部２０３は、判定アプリケーション選別部２０５によって選別された判定アプリケーション選別部２０５にイベントを通知する。
【００７９】
イベントの通知先を各ユーザに割り当てられた判定アプリケーション部２２とすることにより、ユーザ毎に異なるポリシーが適用されることになる。厳密に言えば、（複数の判定アプリケーション部２２で、判定ルール管理部１１３が同一のポリシーを管理することもあり得るため、）適用するポリシーをユーザ毎に異ならせることが可能となる。
【００８０】
ところで、前述したように、イベント処理部２０３は、イベントが持つユーザ属性に基づき、そのイベントを通知すべき判定アプリケーション部２２を判定することを基本とする。しかしながら、例えば、ＷｉＦｉ（登録商標）接続やＳＤカードの挿入といったイベントは、ユーザ属性を持たない。
【００８１】
第２動作モードまたは第３動作モードの場合、このようなユーザ属性を持たないイベントに対して、イベント処理部２０３は、以下のような動作を行い得る。なお、いずれの動作を行うかは、仕様として定めてもよいし、選別ルール管理部２０４の設定によって適宜に選択できるようにしてもよい。
【００８２】
（ａ）特定ユーザ（アドミニストレータ等）の判定アプリケーション部２２に当該ユーザ属性を持たないイベントを通知する。
【００８３】
（ｂ）フォアグラウンドユーザの判定アプリケーション部２２に当該ユーザ属性を持たないイベントを通知する。
【００８４】
（ｃ）全ユーザの判定アプリケーション部２２に当該ユーザ属性を持たないイベントを通知し、判定結果の多数決で実行の可否を決定する。
【００８５】
（ｄ）全ユーザの判定アプリケーション部２２に当該ユーザ属性を持たないイベントを通知し、すべての判定結果が実行の許可を示すものであった場合に、実行の許可と判定する（１つでも実行の禁止を示すものがあった場合、実行の禁止と判定する）。
【００８６】
（ｅ）判定アプリケーション部２２への通知を行わず、デフォルト判定処理部２０６にて実行の可否を判定する。
【００８７】
以上のいずれかの動作を行うことにより、ユーザ属性を持たないイベントについても実行の可否を適切に判定することが実現される。
【００８８】
なお、マルチユーザ機能を有する電子機器の場合、複数のユーザのプロセス（プログラム）が並行して動作し得る。より具体的には、バックグラウンドユーザのプロセス（プログラム）が、フォアグラウンドユーザのプロセス（プログラム）と並行して動作することができる。例えばあるイベントについて、フォアグラウンドユーザは実行が許可されるポリシーを適用し、バックグラウンドユーザは実行が禁止されるポリシーを適用しているような場合、バックグラウンドユーザのプロセス（プログラム）が、本来のポリシーが適用されない状態で動作し、そのイベントの実行が許可されてしまうことも考えられ得る。
【００８９】
このような事態を防止するため、例えば機能制限が課されない特定ユーザがフォアグラウンドユーザとなった場合、バックグラウンドユーザのプロセス（プログラム）を停止するようにしてもよい。例えば、特定ユーザがフォアグラウンドユーザとなったというイベントをアクセス検出・制御部１０に検出および通知させ、イベント処理部２０３が、バックグラウンドユーザのプロセス（プログラム）の停止をＯＳの一部として実行されるアクセス検出・制御部１０に要求することで実現できる。
【００９０】
図７は、イベントの発生時に電子機器１によって実行されるイベント処理の手順を示すフローチャートである。
【００９１】
アクセス検出・制御部１０は、イベントの発生を検出し（ブロックＡ１）、それが制限対象イベントか否かを判定する（ブロックＡ２）。制限対象イベントであった場合（ブロックＡ２のＹＥＳ）、アクセス検出・制御部１０は、そのイベントを管理アプリケーション部２１に通知する。イベントの通知を受けた管理アプリケーション部２１は、当該イベントの通知先とする判定アプリケーション部２２を決定し（ブロックＡ３）、当該イベントを通知する。
【００９２】
管理アプリケーション部２１は、判定アプリケーション部２２からイベントの実行可否を示す判定結果を受信し（ブロックＡ４）、その判定結果が実行の許可を示すものであった場合（ブロックＡ５のＹＥＳ）、当該イベントの実行の許可をアクセス検出・制御部１０に通知する。この通知を受けたアクセス検出・制御部１０は、当該イベントの実行を許可する（ブロックＡ６）。なお、検出したイベントが制限対象イベントではなかった場合も（ブロックＡ２のＮＯ）、アクセス検出・制御部１０は、当該イベントの実行を許可する（ブロックＡ６）。
【００９３】
一方、判定アプリケーション部２２から受信した判定結果が実行の禁止を示すものであった場合（ブロックＡ５のＮＯ）、管理アプリケーション部２１は、当該イベントの実行の禁止をアクセス検出・制御部１０に通知する。この通知を受けたアクセス検出・制御部１０は、当該イベントの実行を禁止する（ブロックＡ７）。
【００９４】
以上のように、本実施形態の電子機器１は、ユーザ毎に適用するポリシーを変更するといった柔軟な機能制限を実行できる。
【００９５】
本実施形態の処理手順は全てソフトウェアによって実現することができるので、この手順を実行するコンピュータプログラムを、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じて通常のコンピュータにインストールすることにより、本実施形態と同様の効果を容易に実現することができる。
【００９６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９７】
１…電子機器、２…通信装置、３…アプリケーション配布サーバ、４…ポリシー配布サーバ、５…イベント可否判断サーバ、１０…アクセス検出・制御部、２０…アプリケーション実行部、２１…管理アプリケーション部、２２…判定アプリケーション部、２３…インストーラ部、３０…蓄積部、５０…アプリケーション情報格納部、６１…インストール情報収集部、６２…アプリケーション登録部、６３…アンインストール指示部、６４…アプリケーション削除部、１０１…インストール処理部、１０２…アンインストール処理部、１０３…通信接続管理部、１０４…イベント検出部、１０５…管理アプリケーションイベント通信部、１０６…管理アプリケーション特定部、１０７…インストール可否通知部、１０８…アンインストール可否通知部、１０９…通信接続可否通知部、１１１…サービス提供通信部、１１２…イベント判定部、１１３…判定ルール管理部、１１４…イベント可否判定サーバ通信処理部、２０１…通信処理部、２０２…サービス利用通信部、２０３…イベント処理部、２０４…選別ルール管理部、２０５…判定アプリケーション選別部、２０６…デフォルト判定処理部、２０７…イベント記録部、２０８…署名検証部、２０９…アプリケーション取得部、２１０…証明書管理部、２１１…判定アプリケーション登録部、２１２…判定アプリケーション管理部、２１３…判定アプリケーション抹消部、４１１…ＣＰＵ、４１２…主メモリ、４１３…タッチスクリーンディスプレイ、４１４…ストレージ装置、４１５…ＵＳＢコントローラ、４１６…ＳＤカードコントローラ、４１７…無線ＬＡＮコントローラ、４１８…３Ｇ通信デバイス、４１９…ＢＴデバイス。
【図１】
2014229056.tif 000003
【図２】
2014229056.tif 000004
【図３】
2014229056.tif 000005
【図４】
2014229056.tif 000006
【図５】
2014229056.tif 000007
【図６】
2014229056.tif 000008
【図７】
2014229056.tif 000009