JP2014229056A - 電子機器、制御方法およびプログラム - Google Patents

電子機器、制御方法およびプログラム Download PDF

Info

Publication number
JP2014229056A
JP2014229056A JP2013107838A JP2013107838A JP2014229056A JP 2014229056 A JP2014229056 A JP 2014229056A JP 2013107838 A JP2013107838 A JP 2013107838A JP 2013107838 A JP2013107838 A JP 2013107838A JP 2014229056 A JP2014229056 A JP 2014229056A
Authority
JP
Japan
Prior art keywords
event
determination
unit
user
execution
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
Application number
JP2013107838A
Other languages
English (en)
Inventor
大橋 純
Jun Ohashi
純 大橋
畠山 哲夫
Tetsuo Hatakeyama
哲夫 畠山
山口 達夫
Tatsuo Yamaguchi
達夫 山口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2013107838A priority Critical patent/JP2014229056A/ja
Priority to US14/107,763 priority patent/US20140351879A1/en
Publication of JP2014229056A publication Critical patent/JP2014229056A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/37Managing security policies for mobile devices or for controlling mobile applications

Abstract

【課題】ユーザ毎に適用するポリシーを変更するといった柔軟な機能制限を実行することを可能とした電子機器を提供する。
【解決手段】実施形態によれば、電子機器は、マルチユーザ機能を有し、管理手段と、制御手段と、を具備する。管理手段は、前記電子機器の実行可能な処理を制限するための環境を提供する。制御手段は、処理の実行を要求するイベントの発生を検出し、前記イベントに対応する処理の実行に先立って、前記イベントの内容を前記管理手段に送信する。管理手段は、ユーザ毎に適用されるポリシーに基づき決定される前記イベントに対応する処理の実行の許可または禁止を示す判定結果を前記制御手段に送信する。
【選択図】図1

Description

本発明の実施形態は、マルチユーザ機能を有する電子機器におけるポリシー制御技術に関する。
近年、企業において、個人所有の電子機器を持ち込んで業務で利用すること(いわゆるBring Your Own Device[BYOD])が注目されている。電子機器としては、例えば、タブレット端末やスマートフォン等を使用することができる。
BYODを実現するためには、持ち込まれる電子機器に対して様々なセキュリティ対策を施すことが必要とされる。
特開2007−207171号公報
ところで、最近の電子機器は、複数のユーザが各々独自の環境下で利用することを可能とするマルチユーザ機能を有するものが少なくない。マルチユーザ機能を有する電子機器の場合、文字通り複数のユーザで利用することはもちろん、1人のユーザが環境を使い分けながら利用することも可能となる。従って、このマルチユーザ機能を活用して、会社での使用を想定したポリシー(機能制限)を適用する環境と、このポリシーを適用しない環境とを使い分けるといった方法でのBYODの運用も想定され得る。
しかしながら、複数のユーザのプロセス(プログラム)が並行して動作し得るマルチユーザ機能を有する電子機器において、ユーザ毎に適用するポリシーを変更するといった柔軟な機能制限を実行することは困難であった。
本発明は、ユーザ毎に適用するポリシーを変更するといった柔軟な機能制限を実行することを可能とした電子機器、制御方法およびプログラムを提供することを目的とする。
実施形態によれば、電子機器は、マルチユーザ機能を有し、管理手段と、制御手段と、を具備する。管理手段は、前記電子機器の実行可能な処理を制限するための環境を提供する。制御手段は、処理の実行を要求するイベントの発生を検出し、前記イベントに対応する処理の実行に先立って、前記イベントの内容を前記管理手段に送信する。管理手段は、ユーザ毎に適用されるポリシーに基づき決定される前記イベントに対応する処理の実行の許可または禁止を示す判定結果を前記制御手段に送信する。
実施形態に係る電子機器の構成を示すブロック図。 実施形態の電子機器内に設けられるアクセス検出・制御部およびアプリケーション実行部の構成を示すブロック図。 実施形態の電子機器内に設けられる管理アプリケーション部の構成を示すブロック図。 実施形態の電子機器内に設けられる判定アプリケーション部の構成を示すブロック図。 実施形態の電子機器のハードウェア構成例を示すブロック図。 実施形態の電子機器によってイベントの発生時に実行されるイベント可否判定処理の概要を説明するためのタイミングチャート。 実施形態の電子機器によってイベントの発生時に実行されるイベント処理の手順を示すフローチャート。
以下、実施の形態について図面を参照して説明する。
図1は、一実施形態に係る電子機器1の構成を示している。電子機器1は、様々なアプリケーションプログラムを実行するように構成されており、例えば、タブレット端末やスマートフォン等によって実現され得る。電子機器1は、USBメモリやSDカードといった外部ストレージ装置にアクセスする機能を有している。また、電子機器1は、いくつかの無線通信規格、例えば、WiFi(登録商標)、第三世代移動通信(3G)、Bluetooth(登録商標)等にそれぞれ対応する無線通信を実行するように構成されている。電子機器1は、この無線通信機能を使用して、外部の通信装置2、インターネット上の様々なサーバ等との通信を行うことができる。
この電子機器1は、様々な処理の制限、例えば、特定のいくつかのアプリケーションプログラムのインストールの制限、特定のいくつかのアプリケーションプログラムの起動の制限、特定のいくつかのアプリケーションプログラムのアンインストールの制限、電子機器1と各種外部通信機器との間の接続の制限、電子機器1と各種外部ストレージデバイスとの間の接続の制限、等を行うための処理制限機能を有している。
この処理制限機能を実現するために、電子機器1は、3つの異なるモジュール、つまり、アクセス検出・制御部10と、管理アプリケーション部21と、判定アプリケーション部22とを備える。
アクセス検出・制御部10は、オペレーティングシステム(OS)層内のソフトウェアモジュールによって実現することができる。このソフトウェアモジュールは、例えば、OS層内のミドルウェアであってよいし、OS層内のカーネル、例えばLinux(登録商標)カーネルであってもよい。管理アプリケーション部21と、判定アプリケーション部22の各々は、アプリケーション実行部20上で実行されるアプリケーションプログラムによって実現することができる。アプリケーションプログラムは、例えばAndroid(登録商標)アプリケーションプログラムであってもよい。管理アプリケーション部21は、判定アプリケーション部22と協働して、電子機器1の実行可能な様々な処理を制限する。
アプリケーション実行部20は、様々なアプリケーションプログラムを実行するためのプラットフォームであり、例えば、Java(登録商標)仮想マシンのような仮想マシンによって実現することができる。
電子機器1は、インターネットを介してアプリケーション配布サーバ3から様々なアプリケーションプログラム(各種アプリケーションパッケージファイル)をダウンロードすることができる。ダウンロードされる各アプリケーションプログラムは、電子機器1内の蓄積部30に格納される。判定アプリケーション部22も、アプリケーション配布サーバ3からダウンロードされて蓄積部30に保存される。管理アプリケーション部21およびインストーラ部23の各々も、アプリケーション配布サーバ3からダウンロードすることができる。なお、管理アプリケーション部21とインストーラ部23は、電子機器1にプリインストールされていてもよい。この場合、管理アプリケーション部21を必ずしもダウンロードする必要はない。同様に、インストーラ部23も必ずしもダウンロードする必要はない。
インストーラ部23は、アプリケーション配布サーバ3から蓄積部30にダウンロードしてきた各アプリケーションプログラム(管理アプリケーション部21、判定アプリケーション部22および他の各種アプリケーション等)のアプリケーションパッケージファイルを展開して、蓄積部30にインストールする処理を行う。
アプリケーション実行部20は、蓄積部30から各アプリケーションプログラム(管理アプリケーション実行部21、判定アプリケーション部22、インストーラ部23および他の各種アプリケーション等)をロードして実行する。
アクセス検出・制御部10は、処理の実行を要求するイベントの発生を検出し、このイベントに対応する処理の実行に先立って、このイベントの内容を管理アプリケーション部21に送信する。アクセス検出・制御部10は、イベントに対応する処理の実行の許可または禁止を示す判定結果を管理アプリケーション部21から受信し、この判定結果に基づいて、イベントに対応する処理の実行を制御する。判定結果が処理の実行の許可を示すならば、アクセス検出・制御部10は、この処理を実行する。一方、判定結果が処理の実行の禁止を示すならば、アクセス検出・制御部10は、この処理の実行を禁止する。
ここで、アプリケーションプログラムのインストールおよびアンインストールを制限する場合を想定する。アクセス検出・制御部10は、アプリケーションプログラムのインストールまたはアンインストールを要求するイベントを検出し、このイベントの実行前に、つまりインストールまたはアンインストールの実行前に、管理アプリケーション部21にインストールまたはアンインストール対象のアプリケーション名を通知し、管理アプリケーション部21からの判定結果に基づいてインストールまたはアンインストールの実行を制御する。
例えば、アクセス検出・制御部10は、あるアプリケーションプログラムのインストールを要求するイベントを検出したならば、アプリケーションプログラムをインストールする処理を保留して、このアプリケーションプログラムのアプリケーション名を含むイベントの内容を管理アプリケーション部21に送信する。そして、管理アプリケーション部21から返されるインストールの許可または禁止を示す判定結果に基づいて、アクセス検出・制御部10は、インストール処理を実行するか、またはインストール処理の実行を中止(禁止)する。
同様に、アクセス検出・制御部10は、あるアプリケーションプログラムのアンインストールを要求するイベントを検出したならば、アプリケーションプログラムをアンインストールする処理を保留して、このアプリケーションプログラムのアプリケーション名を含むイベントの内容を管理アプリケーション部21に送信する。そして、管理アプリケーション部21から返されるアンインストールの許可または禁止を示す判定結果に基づいて、アクセス検出・制御部10は、アンインストール処理を実行するか、またはアンインストール処理の実行を中止(禁止)する。
さらに、アクセス検出・制御部10は、アプリケーションプログラムのインストールまたはアンインストールを要求するイベントのみならず、他の様々なイベントも検出することができる。例えば、アプリケーションプログラムの起動要求、各種通信装置との接続要求(例えば、WiFi(登録商標)アクセスポイントへの接続要求、VPN接続要求、Bluetooth(登録商標)機器との接続要求)、SDカード接続要求、USBメモリ接続要求、等の様々なイベントがアクセス検出・制御部10によって検出される。インストール・アンインストールイベント以外のこれらイベントが検出された際も、アクセス検出・制御部10は、そのイベントに対応する処理の実行前に、検出されたイベントの内容を示すイベント情報を管理アプリケーション部21に送信し、管理アプリケーション部21からの判定結果に基づいて、そのイベントの実行の可否を制御することができる。
管理アプリケーション部21は、電子機器1の実行可能な処理を制限するための環境を提供する管理モジュールとして機能する。管理アプリケーション部21は、この管理アプリケーション部21の起動時に、各種イベントを管理アプリケーション部21に通知するようにアクセス検出・制御部10に要求することができる。さらに、管理アプリケーション部21は、アクセス検出・制御部10からイベント(イベントの内容を示すイベント情報)を受信すると、受信されたイベントを判定アプリケーション部22に通知し、判定アプリケーション部22から受信される判定結果(例えば、このイベントに対応する処理の許可または禁止を示す判定結果)をアクセス検出・制御部10に送信する。
さらに、管理アプリケーション部21は、判定アプリケーション部22に対する署名検証を実行して、判定アプリケーション部22が正当な判定アプリケーションであるか否かを判定する機能を有している。署名検証は、例えば、判定アプリケーション部22のインストール時や起動時等に実行される。署名検証では、管理アプリケーション部21は、蓄積部30に保存されている判定アプリケーション部22のアプリケーションパッケージファイルを取得し、アプリケーションパッケージファイルに含まれる証明書等に基づき、判定アプリケーション部22が正当な判定アプリケーションであるか否かを判定する。この署名検証により、判定アプリケーション部22のアプリケーションパッケージファイルの作成者が正しいか否かが検証されると共に、アプリケーションパッケージファイルが改竄されていない正当なものであるか否かが検証される。
判定アプリケーション部22は、所定のポリシー(判定ルール)を有し、このポリシーに基づいて、管理アプリケーション部21から受信されるイベントの許可または禁止を判定し、その判定結果を管理アプリケーション部21に通知する。ポリシーは、許可すべき各イベントの内容を示すホワイトリストであっても良いし、禁止すべき各イベントの内容を示すブラックリストであっても良いし、これらホワイトリストとブラックリストの双方を有していても良い。なお、判定アプリケーション部22は、必要に応じて、ポリシー配布サーバ4からポリシー(判定ルール)をダウンロードすることもできる。ポリシー配布サーバ4からポリシー(判定ルール)をダウンロードすることにより、ポリシーを例えば定期的に容易に更新することができる。また、判定アプリケーション部22に予めポリシーが組み込まれていてもよい。さらに、判定アプリケーション部22は、イベントの実行の可否をイベント可否判断サーバ5に問い合わせることもできる。
本実施形態では、電子機器1が、マルチユーザ機能を有するものと想定する。より具体的には、電子機器1のOSが、マルチユーザ対応であるものと想定する。そこで、本実施形態の電子機器1は、例えばユーザ毎に適用するポリシーを変更できるようにしたものであり、以下、この点について詳述する。
なお、ここでいうユーザ毎とは、物理的に複数のユーザを前提とするものではなく、主に、1人のユーザが、電子機器1を家庭等で個人的に使用する際にはユーザAとしてログインし、電子機器1を会社等で業務のために使用する際にはユーザBとしてログインするといった場合における当該ユーザA,ユーザB等の論理的に複数のユーザを前提とするものである。また、物理的に複数のユーザであってもよいことはいうまでもない。
インストーラ部23は、ユーザ操作に応じて、アプリケーションプログラムのインストールまたはアンインストールの開始をアクセス検出・制御部10に指示する。インストーラ部23からの指示に応じて、アクセス検出・制御部10は、インストールイベントまたはアンインストールイベントを検出することができる。
アクセス検出・制御部10は、管理アプリケーション部21から通知される判定結果がインストール禁止を示す場合、インストール(例えばディレクトリ(フォルダ)やファイルの作成)を禁止する。これにより、使用が許可されていないアプリケーションプログラムのインストールを防止することができる。一方、管理アプリケーション部21から通知される判定結果がインストール許可を示す場合、アクセス検出・制御部10は、アプリケーションプログラムをインストールするためのインストール処理を実行する。
図2は、前述のアクセス検出・制御部10およびアプリケーション実行部20の構成を示している。ここでは、インストール制限、アンインストール制限、外部通信装置2との接続制限を行う場合が想定されている。
図2に示されているように、インストールやアンインストールの指示はインストーラ部23(インストールアプリケーション)が開始する。インストール時には、インストーラ部23のインストール情報収集部61が、蓄積部30から、インストール対象のアプリケーションに対応するアプリケーションパッケージファイルを取得する。そして、インストーラ部23のアプリケーション登録部62が、サムネイル画像ファイルなどを格納しているデータベースであるアプリケーション情報格納部50にインストール対象のアプリケーションを登録する。ファイル作成等の実際のインストール処理は、アクセス検出・制御部10によって実行される。
アンインストール指示部63は、ユーザ操作に応じてアプリケーションのアンインストールをアプリケーション削除部64に指示すると共に、アクセス検出・制御部10にアンインストールの開始を指示する。アプリケーション削除部64は、アンインストール対象のアプリケーションに対応するサムネイル画像ファイルなどをアプリケーション情報格納部50から削除する。
アクセス検出・制御部10は、インストール処理部101、アンインストール処理部102、通信接続管理部103、イベント検出部104、管理アプリケーションイベント通信部105、管理アプリケーション特定部106、インストール可否通知部107、アンインストール可否通知部108および通信接続可否通知部109を備える。
インストール処理部101は、インストーラ部23からインストール開始の指示(インストール要求)を受信すると、インストーラ部23にインストールの処理の実行を待機させる。インストール要求が発生したことは、イベント検出部104よってインストールイベントとして検出される。管理アプリケーションイベント通信部105は、インストール対象のアプリケーション名を含むイベント情報(インストールイベント情報)を、管理アプリケーション部21に通知する。
管理アプリケーション特定部106は、アプリケーション実行部20上のどのアプリケーションが管理アプリケーション部21であるかを特定する。イベント情報は、イベント検出部104で検出された後、管理アプリケーションイベント通信部105を介して、管理アプリケーション特定部106によって管理アプリケーション部21であると特定されたアプリケーションに送信される。具体的には、管理アプリケーション特定部106は、管理アプリケーション部21のアプリケーション名を予め保持している。そして、管理アプリケーション特定部106は、アプリケーションからの登録要求を受信すると、この予め保持しているアプリケーション名に基づいて、そのアプリケーションが、管理アプリケーション部21(この予め保持しているアプリケーション名を有するアプリケーションプログラム)か否か、つまりイベント情報を送信すべき通信相手か否かを判定する。もしイベント情報を送信すべき通信相手であると判定した場合には、そのアプリケーションを管理アプリケーション部21として特定する。
管理アプリケーションイベント通信部105は、管理アプリケーション特定部106によって特定されたアプリケーションプログラムとの通信を実行する。これにより、不正なアプリケーションプログラムにイベント情報が横取りされるといったことを防止することができる。
管理アプリケーション部21からインストールイベントに対する判定結果を受信すると、管理アプリケーションイベント通信部105は、受信した判定結果をインストール可否通知部107に出力する。インストール可否通知部107は、判定結果の内容に基づいてインストール処理部101の動作を制御する。判定結果がインストールの許可を示すならば、インストール処理部101は、インストーラ部23と協働して、インストール処理を実行する。一方、判定結果がインストールの禁止を示すならば、インストール処理部101は、インストール処理を中止する。
アンインストール処理部102は、インストーラ部23からアンインストール開始の指示(アンインストール要求)を受信すると、インストーラ部23にアンインストールの処理の実行を待機させる。アンインストール要求が発生したことは、イベント検出部104よってアンインストールイベントとして検出される。管理アプリケーションイベント通信部105は、アンインストール対象のアプリケーション名を含むイベント情報(アンインストールイベント情報)を、管理アプリケーション部21に通知する。
管理アプリケーション部21からアンインストールイベントの実行の許可または禁止を示す判定結果を受信すると、管理アプリケーションイベント通信部105は、受信した判定結果をアンインストール可否通知部108に出力する。アンインストール可否通知部108は、判定結果の内容に基づいてアンインストール処理部102の動作を制御する。判定結果がアンインストールの許可を示すならば、アンインストール処理部102は、インストーラ部23と共同して、アンインストール処理を実行する。一方、判定結果がアンインストールの禁止を示すならば、アンインストール処理部102は、アンインストール処理を実行しない。これにより、ユーザによって要求されたアプリケーションのアンインストールの実行は禁止される。
通信接続管理部103は、電子機器1とWiFi(登録商標)アクセポイント、Bluetooth(登録商標)機器、他のネットワーク機器のような外部の通信装置2との間の接続を制御する。通信接続管理部103は、外部の通信装置2からコネクション確立要求を受信した時、または外部の通信装置2にコネクション確立要求を送信する要求が発生した時に、接続要求の発生を検出し、接続要求が発生したことをイベント検出部104に通知する。外部の通信装置2との接続要求が発生したことは、イベント検出部104よってネットワーク接続イベントとして検出される。管理アプリケーションイベント通信部105は、接続対象の外部通信装置を示す情報を含むイベント情報(接続イベント)を、管理アプリケーション部21に通知する。
管理アプリケーション部21から接続イベントの実行の許可または禁止を示す判定結果を受信すると、管理アプリケーションイベント通信部105は、受信した判定結果を通信接続可否通知部109に出力する。通信接続可否通知部109は、判定結果の内容に基づいて通信接続管理部103の動作を制御する。判定結果が接続の許可を示すならば、通信接続管理部103は、接続対象の通信装置との接続を確立する処理を実行する。一方、判定結果が接続の禁止を示すならば、通信接続管理部103は、接続対象の通信装置との接続の確立を禁止する。
その他、図2にはその構成を示さなかったが、前述したように、例えば外部ストレージ装置との接続制限等を行うことも可能である。例えばSDカードが挿入された時、その旨を示すイベント情報がアクセス検出・制御部10から管理アプリケーション部21に送信され、当該SDカードとの接続可否を示す判定結果が、管理アプリケーション部21からアクセス検出・制御部10に返送される。
図3は、管理アプリケーション部21の構成を示す。
管理アプリケーション部21は、通信処理部201、サービス利用通信部202、イベント処理部203、選別ルール管理部204、判定アプリケーション選別部205、デフォルト判定処理部206、イベント記録部207、署名検証部208、アプリケーション取得部209、証明書管理部210、判定アプリケーション登録部211、判定アプリケーション管理部212および判定アプリケーション抹消部213を備える。
通信処理部201は、アクセス検出・制御部10との通信を実行する。通信処理部201は、アクセス検出・制御部10から通知される様々なイベント(インストールイベント、各種通信装置との接続要求イベント、SDカード接続要求イベント、USBメモリ接続要求イベント、アンインストールイベント、等)を受信する。なお、管理アプリケーション部21とアクセス検出・制御部との通信には、例えばシグナルシステムコールなどの方法を用いればよい。
サービス利用通信部202は、判定アプリケーション部22との通信を実行する。イベント処理部203は、イベントの内容をサービス利用通信部202を介して判定アプリケーション部22に送信し、そのイベントの実行の許可または禁止を示す判定結果をサービス利用通信部202を介して判定アプリケーション部22から受信する。
前述したように、本実施形態では、電子機器1が、マルチユーザ機能を有することを想定している。本実施形態の電子機器1は、判定アプリケーション部22を、例えばユーザ毎に割り当てるべく複数起動し、イベント処理部203が、イベントの内容の送信先とする判定アプリケーション部22を適応的に選別することにより、例えばユーザ毎に適用するポリシーを変更できるようにする。
イベント処理部203は、選別ルール管理部204によって管理される選別ルールに基づき、判定アプリケーション選別部205と協働して、イベントの内容の送信先とする判定アプリケーション部22を適応的に選別する。この判定アプリケーション部22の選別方法については後述する。
なお、判定アプリケーション部22がインストールされていない等、イベントの内容を送信すべき判定アプリケーション部22が存在しないという状況も考えられ得る。デフォルト判定処理部206は、このような状況下において、初期設定状態のポリシーに基づき、判定アプリケーション部22に代わり、イベントの実行の許可または禁止を判定する。
イベント記録部207は、アクセス検出・制御部10から通知されたイベントの内容をイベントログとして記録する。
管理アプリケーション部21は、前述したように、判定アプリケーション部22に対する署名検証を実行して、判定アプリケーション部22が正当な判定アプリケーションであるか否かを判定する機能を有している。署名検証部208、アプリケーション取得部209および証明書管理部210は、この署名検証の実行を司る。判定アプリケーション部22は、例えば起動時に、署名検証によって正当性が検証されると、判定アプリケーション登録部211により判定アプリケーション管理部212に記録される。判定アプリケーション管理部212には、例えばユーザ数分の判定アプリケーション部22が記録される。判定アプリケーション部22の終了時には、判定アプリケーション抹消部213により判定アプリケーション管理部212からその記録が抹消される。
図4は、判定アプリケーション部22の構成を示している。図4に示すように、判定アプリケーション部22は、サービス提供通信部111、イベント判定部112、判定ルール管理部113およびイベント可否判定サーバ通信処理部114を備える。
サービス提供通信部111は、管理アプリケーション部21との通信を実行する。イベント判定部112は、判定ルール管理部113内に存在するポリシーに基づいて各イベントに対応する処理の実行の許可または禁止を判定する。
イベント可否判定サーバ通信処理部114は、各イベントに対応する処理の実行の可否をイベント可否判断サーバ5に問い合わせて、処理の実行の可否をイベント可否判断サーバ5から受信する。イベント判定部112は、必要に応じてイベント可否判定サーバ通信処理部114を使用して、処理の実行の可否を判定することもできる。
図5に、電子機器1のハードウェア構成例を示す。電子機器1は、CPU411、主メモリ412、タッチスクリーンディスプレイ413、ストレージ装置414、USBコントローラ415、SDカードコントローラ416、無線LANコントローラ417、3G通信デバイス418、Bluetooth(登録商標)デバイス(BTデバイス)419等を備える。
CPU411は、電子機器1内の各コンポーネントを制御するプロセッサである。CPU411は、ストレージ装置414から主メモリ412にロードされる様々なソフトウェア、例えば、OS、アプリケーションプログラム等を実行する。前述のアクセス検出・制御部10はOSの一部として実行される。
管理アプリケーション部21および判定アプリケーション部22は、前述したように、異なるアプリケーションプログラムとして実現されている。管理アプリケーション部21に相当するアプリケーションプログラムは、前述したように、ストレージ装置414にプレインストールされていてもよい。
タッチスクリーンディスプレイ413は、画面上のタッチ位置を検出可能なディスプレイであり、液晶表示装置(LCD)のようなフラットパネルディスプレイとタッチパネルとを備える。
USBコントローラ415は、電子機器1に設けられたUSBポートに取り付けられるUSBデバイス(例えば、USBメモリ等)との通信を実行するように構成されている。SDカードコントローラ416は、電子機器1に設けられたカードスロットに挿入されるメモリカード(例えば、SDカード等)との通信を実行するように構成されている。無線LANコントローラ417は、WiFi(登録商標)等に準拠した無線通信を実行するように構成された無線通信デバイスである。3G通信デバイス418は、3G移動通信を実行するように構成された無線通信デバイスである。Bluetooth(登録商標)デバイス419は、外部のBluetooth(登録商標)デバイスとの通信を実行するように構成された無線通信デバイスである。
図6は、イベントの発生時に電子機器1によって実行されるイベント可否判定処理の概要を説明するためのタイミングチャートである。
アプリケーションプログラムのインストール要求またはアンインストール要求、アプリケーションプログラムの起動要求、外部通信装置との接続要求、外部ストレージ装置との接続要求等、機能制限対象のイベントが発生すると、アクセス検出・制御部10によって当該イベントの発生が検出され、そのイベントの内容が管理アプリケーション部21に通知される(図6のa1,b1)。
管理アプリケーション部21は、アクセス検出・制御部10からイベント(イベントの内容を示すイベント情報)を受信すると、まず、そのイベントを通知すべき判定アプリケーション部22を判定する(図6のa2,b2)。通知先の判定アプリケーション部22を判定すると、管理アプリケーション部21は、その判定アプリケーション部22にイベントを通知する(図6のa3,b3)。
管理アプリケーション部21は、イベントの実行の許可または禁止を示す判定結果を判定アプリケーション部22から受信し(図6のa4,b4)、この判定結果で示されるイベントの実行可否をアクセス検出・制御部10に通知する(図6のa5,b5)。
各イベントに対する判定結果は、(判定ルール管理部113に管理させるポリシーを異なるものとすることによって)判定アプリケーション部22毎に異なるものとすることができる。従って、イベントの通知先を適応的に選別することにより、例えばユーザ毎に適用するポリシーを変更することができる。
管理アプリケーション部21は、選別ルール管理部204の設定によって、以下の3通りの動作モードで動作し得る。
(a)第1動作モード
全ユーザに同一のポリシーを適用する。
(b)第2動作モード
アドミニストレータなどと称される特定ユーザ以外の全ユーザに同一のポリシーを適用する。特定ユーザに対する機能制限は行わない。
(c)第3動作モード
ユーザ毎に異なるポリシーを適用する。適用するポリシーをユーザ毎に可変とするモードであって、複数のユーザに同一のポリシーを適用することも可能である。
まず、第1動作モードが設定されている場合における管理アプリケーション部21の動作について説明する。
アクセス検出・制御部10から通知されるイベントには、どのユーザのプロセス(プログラム)からの要求かを示すユーザ属性が付されている。イベント処理部203は、このイベントが持つユーザ属性に基づき、そのイベントを通知すべき判定アプリケーション部22を判定することを基本とする。この基本を踏まえつつ、第1動作モードが設定されている場合、イベント処理部203は、ユーザ属性で示されるユーザに関わらず、アクセス検出・制御部10から通知されるイベントを、(サービス利用通信部202を介して)特定ユーザに割り当てられる判定アプリケーション部22に通知する。イベント処理部203は、判定アプリケーション選別部205と協働して、そのイベントを通知すべき判定アプリケーション部22の選別を実行する。即ち、第1動作モードの場合、特定ユーザに割り当てられる判定アプリケーション部22を特定する。判定アプリケーション選別部205は、判定アプリケーション管理部212の記録を参照して、特定ユーザに割り当てられる判定アプリケーション部22を特定する。
イベントの通知先が特定ユーザに割り当てられる判定アプリケーション部22に固定されることにより、全ユーザに同一のポリシーが適用されることになる。
次に、第2動作モードが設定されている場合における管理アプリケーション部21の動作について説明する。
第2動作モードが設定されている場合、イベント処理部203は、まず、イベントが持つユーザ属性で示されるユーザが特定ユーザか否かを判定する。特定ユーザの場合、イベント処理部203は、判定アプリケーション部22へのイベントの通知を行うことなく、そのイベントの実行の許可を(通信処理部201を介して)アクセス検出・制御部10に通知する。
一方、特定ユーザ以外の場合、イベント処理部203は、そのイベントを、特定ユーザ以外の全ユーザに共通して割り当てられる判定アプリケーション部22に通知する。例えば、イベント処理部203は、特定ユーザ以外の全ユーザを一体化するために動作させる仮想ユーザ用の判定アプリケーション部22を、イベントの通知先として判定アプリケーション選別部205に選別させる。
特定ユーザの場合、判定アプリケーション部22へのイベントの通知は行わず、当該イベントの実行の許可を回答することになるので、特定ユーザに対する機能制限は行われないことになる。また、特定ユーザ以外の場合のイベントの通知先となる判定アプリケーション部22が固定されるので、特定ユーザ以外の全ユーザに同一のポリシーが適用されることになる。
続いて、第3動作モードが設定されている場合における管理アプリケーション部21の動作について説明する。
第3動作モードが設定されている場合、イベント処理部203は、イベントが持つユーザ属性で示されるユーザに割り当てられた判定アプリケーション部22を、イベントの通知先として判定アプリケーション選別部205に選別させる。そして、イベント処理部203は、判定アプリケーション選別部205によって選別された判定アプリケーション選別部205にイベントを通知する。
イベントの通知先を各ユーザに割り当てられた判定アプリケーション部22とすることにより、ユーザ毎に異なるポリシーが適用されることになる。厳密に言えば、(複数の判定アプリケーション部22で、判定ルール管理部113が同一のポリシーを管理することもあり得るため、)適用するポリシーをユーザ毎に異ならせることが可能となる。
ところで、前述したように、イベント処理部203は、イベントが持つユーザ属性に基づき、そのイベントを通知すべき判定アプリケーション部22を判定することを基本とする。しかしながら、例えば、WiFi(登録商標)接続やSDカードの挿入といったイベントは、ユーザ属性を持たない。
第2動作モードまたは第3動作モードの場合、このようなユーザ属性を持たないイベントに対して、イベント処理部203は、以下のような動作を行い得る。なお、いずれの動作を行うかは、仕様として定めてもよいし、選別ルール管理部204の設定によって適宜に選択できるようにしてもよい。
(a)特定ユーザ(アドミニストレータ等)の判定アプリケーション部22に当該ユーザ属性を持たないイベントを通知する。
(b)フォアグラウンドユーザの判定アプリケーション部22に当該ユーザ属性を持たないイベントを通知する。
(c)全ユーザの判定アプリケーション部22に当該ユーザ属性を持たないイベントを通知し、判定結果の多数決で実行の可否を決定する。
(d)全ユーザの判定アプリケーション部22に当該ユーザ属性を持たないイベントを通知し、すべての判定結果が実行の許可を示すものであった場合に、実行の許可と判定する(1つでも実行の禁止を示すものがあった場合、実行の禁止と判定する)。
(e)判定アプリケーション部22への通知を行わず、デフォルト判定処理部206にて実行の可否を判定する。
以上のいずれかの動作を行うことにより、ユーザ属性を持たないイベントについても実行の可否を適切に判定することが実現される。
なお、マルチユーザ機能を有する電子機器の場合、複数のユーザのプロセス(プログラム)が並行して動作し得る。より具体的には、バックグラウンドユーザのプロセス(プログラム)が、フォアグラウンドユーザのプロセス(プログラム)と並行して動作することができる。例えばあるイベントについて、フォアグラウンドユーザは実行が許可されるポリシーを適用し、バックグラウンドユーザは実行が禁止されるポリシーを適用しているような場合、バックグラウンドユーザのプロセス(プログラム)が、本来のポリシーが適用されない状態で動作し、そのイベントの実行が許可されてしまうことも考えられ得る。
このような事態を防止するため、例えば機能制限が課されない特定ユーザがフォアグラウンドユーザとなった場合、バックグラウンドユーザのプロセス(プログラム)を停止するようにしてもよい。例えば、特定ユーザがフォアグラウンドユーザとなったというイベントをアクセス検出・制御部10に検出および通知させ、イベント処理部203が、バックグラウンドユーザのプロセス(プログラム)の停止をOSの一部として実行されるアクセス検出・制御部10に要求することで実現できる。
図7は、イベントの発生時に電子機器1によって実行されるイベント処理の手順を示すフローチャートである。
アクセス検出・制御部10は、イベントの発生を検出し(ブロックA1)、それが制限対象イベントか否かを判定する(ブロックA2)。制限対象イベントであった場合(ブロックA2のYES)、アクセス検出・制御部10は、そのイベントを管理アプリケーション部21に通知する。イベントの通知を受けた管理アプリケーション部21は、当該イベントの通知先とする判定アプリケーション部22を決定し(ブロックA3)、当該イベントを通知する。
管理アプリケーション部21は、判定アプリケーション部22からイベントの実行可否を示す判定結果を受信し(ブロックA4)、その判定結果が実行の許可を示すものであった場合(ブロックA5のYES)、当該イベントの実行の許可をアクセス検出・制御部10に通知する。この通知を受けたアクセス検出・制御部10は、当該イベントの実行を許可する(ブロックA6)。なお、検出したイベントが制限対象イベントではなかった場合も(ブロックA2のNO)、アクセス検出・制御部10は、当該イベントの実行を許可する(ブロックA6)。
一方、判定アプリケーション部22から受信した判定結果が実行の禁止を示すものであった場合(ブロックA5のNO)、管理アプリケーション部21は、当該イベントの実行の禁止をアクセス検出・制御部10に通知する。この通知を受けたアクセス検出・制御部10は、当該イベントの実行を禁止する(ブロックA7)。
以上のように、本実施形態の電子機器1は、ユーザ毎に適用するポリシーを変更するといった柔軟な機能制限を実行できる。
本実施形態の処理手順は全てソフトウェアによって実現することができるので、この手順を実行するコンピュータプログラムを、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じて通常のコンピュータにインストールすることにより、本実施形態と同様の効果を容易に実現することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…電子機器、2…通信装置、3…アプリケーション配布サーバ、4…ポリシー配布サーバ、5…イベント可否判断サーバ、10…アクセス検出・制御部、20…アプリケーション実行部、21…管理アプリケーション部、22…判定アプリケーション部、23…インストーラ部、30…蓄積部、50…アプリケーション情報格納部、61…インストール情報収集部、62…アプリケーション登録部、63…アンインストール指示部、64…アプリケーション削除部、101…インストール処理部、102…アンインストール処理部、103…通信接続管理部、104…イベント検出部、105…管理アプリケーションイベント通信部、106…管理アプリケーション特定部、107…インストール可否通知部、108…アンインストール可否通知部、109…通信接続可否通知部、111…サービス提供通信部、112…イベント判定部、113…判定ルール管理部、114…イベント可否判定サーバ通信処理部、201…通信処理部、202…サービス利用通信部、203…イベント処理部、204…選別ルール管理部、205…判定アプリケーション選別部、206…デフォルト判定処理部、207…イベント記録部、208…署名検証部、209…アプリケーション取得部、210…証明書管理部、211…判定アプリケーション登録部、212…判定アプリケーション管理部、213…判定アプリケーション抹消部、411…CPU、412…主メモリ、413…タッチスクリーンディスプレイ、414…ストレージ装置、415…USBコントローラ、416…SDカードコントローラ、417…無線LANコントローラ、418…3G通信デバイス、419…BTデバイス。

Claims (11)

  1. マルチユーザ機能を有する電子機器において、
    前記電子機器の実行可能な処理を制限するための環境を提供する管理手段と、
    処理の実行を要求するイベントの発生を検出し、前記イベントに対応する処理の実行に先立って、前記イベントの内容を前記管理手段に送信する制御手段と、
    を具備し、
    前記管理手段は、ユーザ毎に適用されるポリシーに基づき決定される前記イベントに対応する処理の実行の許可または禁止を示す判定結果を前記制御手段に送信する、
    電子機器。
  2. 前記管理手段は、ユーザ毎に割り当てられる複数の判定プログラムの中の前記イベントが持つユーザ属性で示されるユーザに対応する判定プログラムに前記イベントの内容を通知し、当該判定プログラムから前記判定結果を受信する請求項1に記載の電子機器。
  3. 前記管理手段は、
    特定ユーザに割り当てられる判定プログラムに前記イベントの内容を通知し、当該判定プログラムから前記判定結果を受信して前記制御手段に送信する第1動作モードと、
    前記イベントが持つユーザ属性で示されるユーザが特定ユーザの場合、前記イベントに対応する処理の実行の許可を示す判定結果を前記制御手段に送信し、特定ユーザ以外のユーザの場合、特定ユーザ以外の全ユーザに共通して割り当てられる判定プログラムに前記イベントの内容を通知し、当該判定プログラムから前記判定結果を受信して前記制御手段に送信する第2動作モードと、
    ユーザ毎に割り当てられる複数の判定プログラムの中の前記イベントが持つユーザ属性で示されるユーザに対応する判定プログラムに前記イベントの内容を通知し、当該判定プログラムから前記判定結果を受信して前記制御手段に送信する第3動作モードと、
    を有する請求項1に記載の電子機器。
  4. 前記管理手段は、前記イベントがユーザ属性を持たない場合、特定ユーザに割り当てられる判定プログラムに前記イベントの内容を通知し、当該判定プログラムから前記判定結果を受信する請求項2または3に記載の電子機器。
  5. 前記管理手段は、前記イベントがユーザ属性を持たない場合、フォアグラウンドに割り当てられる判定プログラムに前記イベントの内容を通知し、当該判定プログラムから前記判定結果を受信する請求項2または3に記載の電子機器。
  6. 前記管理手段は、前記イベントがユーザ属性を持たない場合、ユーザ毎に割り当てられる複数の判定プログラムすべてに前記イベントの内容を通知し、当該複数の判定プログラムから受信した複数の判定結果による多数決で前記イベントに対応する処理の実行の許可または禁止を決定して、前記イベントに対応する処理の実行の許可または禁止を示す判定結果を前記制御手段に送信する請求項2または3に記載の電子機器。
  7. 前記管理手段は、前記イベントがユーザ属性を持たない場合、ユーザ毎に割り当てられる複数の判定プログラムすべてに前記イベントの内容を通知し、当該複数の判定プログラムから受信した複数の判定結果すべてが前記イベントに対応する処理の実行の許可を示している場合、前記イベントに対応する処理の実行の許可を示す判定結果を前記制御手段に送信し、複数の判定結果の中の1つでも前記イベントに対応する処理の実行の禁止を示している場合、前記イベントに対応する処理の実行の禁止を示す判定結果を前記制御手段に送信する請求項2または3に記載の電子機器。
  8. 前記管理手段は、前記イベントがユーザ属性を持たない場合、全ユーザに共通して適用されるポリシーに基づき前記イベントに対応する処理の実行の許可または禁止を決定し、前記イベントに対応する処理の実行の許可または禁止を示す判定結果を前記制御手段に送信する請求項2または3に記載の電子機器。
  9. 前記管理手段は、前記電子機器上で実行可能な処理の制限が課されないユーザがフォアグラウンドユーザである場合、バックグラウンドユーザのプログラムを停止する請求項1に記載の電子機器。
  10. マルチユーザ機能を有する電子機器における実行可能な処理を制限するための制御方法であって、
    処理の実行を要求するイベントの発生を検出し、
    前記イベントに対応する処理の実行に先立って、ユーザ毎に適用されるポリシーに基づき決定される前記イベントに対応する処理の実行の許可または禁止を示す判定結果を取得し、
    前記判定結果が前記イベントに対応する処理の実行の許可を示す場合に、前記イベントに対応する処理を実行する、
    制御方法。
  11. マルチユーザ機能を有するコンピュータを、
    前記コンピュータの実行可能な処理を制限するための環境を提供する管理手段、
    処理の実行を要求するイベントの発生を検出し、前記イベントに対応する処理の実行に先立って、前記イベントの内容を前記管理手段に送信する制御手段、
    として機能させ、
    前記管理手段は、ユーザ毎に適用されるポリシーに基づき決定される前記イベントに対応する処理の実行の許可または禁止を示す判定結果を前記制御手段に送信する、
    プログラム。
JP2013107838A 2013-05-22 2013-05-22 電子機器、制御方法およびプログラム Pending JP2014229056A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013107838A JP2014229056A (ja) 2013-05-22 2013-05-22 電子機器、制御方法およびプログラム
US14/107,763 US20140351879A1 (en) 2013-05-22 2013-12-16 Electronic apparatus, control method and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013107838A JP2014229056A (ja) 2013-05-22 2013-05-22 電子機器、制御方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2014229056A true JP2014229056A (ja) 2014-12-08

Family

ID=51936319

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013107838A Pending JP2014229056A (ja) 2013-05-22 2013-05-22 電子機器、制御方法およびプログラム

Country Status (2)

Country Link
US (1) US20140351879A1 (ja)
JP (1) JP2014229056A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017010370A (ja) * 2015-06-24 2017-01-12 富士ゼロックス株式会社 制御装置、電子機器及びプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3382617A1 (en) * 2017-03-30 2018-10-03 Tata Consultancy Services Limited Method and system for conducting audit for an assessment platform

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7350204B2 (en) * 2000-07-24 2008-03-25 Microsoft Corporation Policies for secure software execution
US8615801B2 (en) * 2006-08-31 2013-12-24 Microsoft Corporation Software authorization utilizing software reputation
US8127316B1 (en) * 2006-11-30 2012-02-28 Quest Software, Inc. System and method for intercepting process creation events
US7941443B1 (en) * 2008-05-21 2011-05-10 Symantec Corporation Extending user account control to groups and multiple computers
US20110119756A1 (en) * 2009-11-18 2011-05-19 Carefx Corporation Method Of Managing Usage Of A Workstation And Desktop Management System Therefor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017010370A (ja) * 2015-06-24 2017-01-12 富士ゼロックス株式会社 制御装置、電子機器及びプログラム

Also Published As

Publication number Publication date
US20140351879A1 (en) 2014-11-27

Similar Documents

Publication Publication Date Title
KR102224760B1 (ko) 자동 애플리케이션 업데이트
JP6013061B2 (ja) 情報処理装置および制御方法
US8639814B2 (en) Electronic apparatus, virtual machine providing apparatus, and method of using virtual machine service
US20140026228A1 (en) Information processing apparatus and control method
JP5471642B2 (ja) 電子機器、利用制限方法、及び利用制限プログラム
US20140026198A1 (en) Information processing apparatus and control method
US9344406B2 (en) Information processing device, information processing method, and computer program product
US10044720B2 (en) Mashup method, computer-readable recording medium, and terminal
JP5553670B2 (ja) 管理装置、その制御方法およびプログラム
US20140351945A1 (en) Information processing system, information processing apparatus, and recording medium storing license management program
JP6358063B2 (ja) 要求送信方法、情報処理装置、及びプログラム
JP6042125B2 (ja) 情報処理装置およびプログラム
US9380040B1 (en) Method for downloading preauthorized applications to desktop computer using secure connection
JP2014229056A (ja) 電子機器、制御方法およびプログラム
US10855852B2 (en) Image processing apparatus, control method thereof, and storage medium
JP6091854B2 (ja) 情報処理装置および制御方法
US9323907B2 (en) Distribution apparatus, device, control method for distribution apparatus, and storage medium
JP2014235575A (ja) 情報処理装置、情報処理方法、及びプログラム
JP6322976B2 (ja) 情報処理装置及びユーザ認証方法
US11818183B2 (en) System and method for workspace sharing
JP6056894B2 (ja) 電子機器、利用制限方法、及び利用制限プログラム
JP2014130615A (ja) 電子機器、利用制限方法、及び利用制限プログラム
JP2014178998A (ja) 情報処理装置、機器、インストールシステム、インストール方法、及びプログラム
JP2018037867A (ja) 情報処理装置およびプログラム