説明

アプリケーション管理システム

【課題】端末装置毎に必要なアプリケーションをインストールすることができるアプリケーション管理システムを提供する。
【解決手段】センタ局1は、端末2との通信により、端末毎に必要なアプリケーションを示すアプリケーション情報を送信し、端末2がインストールを要求するアプリケーションを示す要求アプリケーション情報を受信し、要求アプリケーション情報が示すアプリケーションのプログラムを送信する。端末2は、センタ局1との通信により、アプリケーション情報を受信し、インストールされているアプリケーションの情報と受信したアプリケーション情報とに基づいて、インストールを要求するアプリケーションを選択し、要求アプリケーション情報を生成する。端末2は、センタ局1との通信により、要求アプリケーション情報を送信し、アプリケーションのプログラムを受信し、受信したアプリケーションのプログラムをインストールする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、携帯電話端末やスマートフォン等の端末装置にインストールされるアプリケーションを管理するアプリケーション管理システムに関する。
【背景技術】
【0002】
昨今、PCに近い高機能を実現したスマートフォンの普及が進んでいる。また、スマートフォンに実装されるOS(オペレーティングシステム)として、例えばオープンプラットフォームと呼ばれる汎用的なOSであるAndroidが採用されている。このようなOS上で動作する多数のアプリケーションがインターネット上で公開されており、スマートフォンのユーザは必要なアプリケーションを選択してスマートフォンにインストールすることが可能である。
【0003】
また、専用OSを採用する携帯電話においては、アプリケーションの改竄防止を目的として、開発者や、プラットフォーム提供者、キャリアによる署名がなされたアプリケーションのみをインストール・実行可能とする仕組みがあり、こうした仕組みはコードシグネチャと呼ばれる(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−272893号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、スマートフォン等の端末装置の普及に伴って、利用者の個人情報の窃盗や、悪性サイトへの誘導、OSの管理者権限の奪取など、利用者が意図せず不利益を被る可能性のある振る舞いを行うアプリケーションも登場している。したがって、端末装置を法人で利用するには、業務外アプリケーションの不正インストールや不正利用を防止することが求められる。このため、端末装置にインストールされるアプリケーションを制限する機構が必要である。
【0006】
本発明は、上述した課題に鑑みてなされたものであって、端末装置毎に必要なアプリケーションをインストールすることができるアプリケーション管理システムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、上記の課題を解決するためになされたもので、アプリケーションが動作する端末装置と、前記端末装置にインストールされるアプリケーションを管理するアプリケーション管理装置とを備えたアプリケーション管理システムであって、前記アプリケーション管理装置は、アプリケーションのプログラムを記憶すると共に、前記端末装置毎に必要なアプリケーションを示す第1のアプリケーション情報を記憶する第1の記憶部と、前記端末装置との通信により、前記第1のアプリケーション情報を送信し、前記端末装置がインストールを要求するアプリケーションを示す要求アプリケーション情報を受信し、前記要求アプリケーション情報が示すアプリケーションのプログラムを送信する第1の通信部と、を有し、前記端末装置は、アプリケーションのプログラムを記憶する第2の記憶部と、前記アプリケーション管理装置との通信により、前記第1のアプリケーション情報を受信し、前記要求アプリケーション情報を送信し、アプリケーションのプログラムを受信する第2の通信部と、前記第2の記憶部にインストールされているアプリケーションの情報と前記第1のアプリケーション情報とに基づいて、インストールを要求するアプリケーションを選択し、前記要求アプリケーション情報を生成するアプリケーション選択部と、前記第2の通信部が受信したアプリケーションのプログラムを前記第2の記憶部にインストールするインストール実行部と、を有することを特徴とするアプリケーション管理システムである。
【0008】
また、本発明のアプリケーション管理システムにおいて、前記端末装置はさらに、前記端末装置に不要なアプリケーションのプログラムを消去する消去部を有し、前記アプリケーション選択部はさらに、前記第2の記憶部にインストールされているアプリケーションのプログラムの情報と前記第1のアプリケーション情報とに基づいて、前記第2の記憶部にインストールされているアプリケーションのプログラムの中から、前記端末装置に不要なアプリケーションのプログラムを選択することを特徴とする。
【0009】
また、本発明のアプリケーション管理システムにおいて、前記第2の通信部は、前記第1のアプリケーション情報の送信を要求する送信要求情報を前記アプリケーション管理装置へ送信し、前記第1の通信部は、前記送信要求情報を受信したとき、前記第1のアプリケーション情報を送信することを特徴とする。
【0010】
また、本発明のアプリケーション管理システムにおいて、前記第1のアプリケーション情報は、前記端末装置を識別する第1の識別情報と、当該第1の識別情報に対応付けられたアプリケーションの情報とを含み、前記第2の通信部は、前記第1の識別情報を含む前記送信要求情報を送信し、前記アプリケーション管理装置はさらに、前記第1の記憶部が記憶している前記第1のアプリケーション情報の中から、前記第1の通信部が受信した前記送信要求情報に含まれる前記第1の識別情報に対応する前記第1のアプリケーション情報を選択する選択部を有することを特徴とする。
【0011】
また、本発明のアプリケーション管理システムにおいて、前記第1の記憶部はさらに、前記端末装置が所属する組織の情報と、当該組織の情報に対応付けられたアプリケーションの情報とを含む第2のアプリケーション情報を記憶し、前記アプリケーション管理装置はさらに、前記第1の識別情報および前記組織の情報を入力する入力部と、前記入力部に入力された前記第1の識別情報と、前記入力部に入力された前記組織の情報に対応付けられたアプリケーションの情報とを対応付けることによって前記第2のアプリケーション情報を生成し、当該第2のアプリケーション情報に基づいて前記第1のアプリケーション情報を生成するアプリケーション情報生成部と、を有することを特徴とする。
【0012】
また、本発明のアプリケーション管理システムにおいて、前記第1の記憶部が記憶するアプリケーションのプログラムには電子署名が付加されており、前記インストール実行部は、前記第2の通信部が受信したアプリケーションのプログラムに付加されている電子署名を検証し、アプリケーションのプログラムの完全性が確認できた場合に、アプリケーションのプログラムを前記第2の記憶部にインストールすることを特徴とする。
【0013】
また、本発明のアプリケーション管理システムにおいて、前記アプリケーション管理装置はさらに、アプリケーションのプログラムの安全性を検証し、安全であると判断したアプリケーションのプログラムに前記電子署名を付加する付加部を有することを特徴とする。
【0014】
また、本発明のアプリケーション管理システムにおいて、前記アプリケーション管理装置はさらに、前記第1の通信部が受信した前記送信要求情報に含まれる前記第1の識別情報に基づいて前記端末装置の認証を行う認証部を有し、前記第1の通信部はさらに、前記認証部によって前記端末装置が認証された場合に、前記アプリケーション選択部が選択したアプリケーションのプログラムを前記端末装置へ送信することを特徴とする。
【0015】
また、本発明のアプリケーション管理システムにおいて、前記アプリケーション管理装置はさらに、起動対象のアプリケーションの情報を含む起動情報を生成する起動情報生成部を有し、前記第1の通信部はさらに、前記起動情報を送信し、前記第2の通信部はさらに、前記起動情報を受信し、前記端末装置はさらに、前記第2の通信部が受信した前記起動情報が示す起動対象のアプリケーションを起動する起動部を有することを特徴とする。
【0016】
また、本発明のアプリケーション管理システムにおいて、前記起動情報生成部はさらに、前記起動対象のアプリケーションの動作を制御するためのパラメータを含む制御情報を生成し、前記第1の通信部はさらに、前記制御情報を送信し、前記第2の通信部はさらに、前記制御情報を受信し、前記端末装置はさらに、前記第2の通信部が受信した前記制御情報に含まれる前記パラメータを、前記起動部によって起動されたアプリケーションに与えて処理を実行させる動作制御部を有することを特徴とする。
【0017】
また、本発明のアプリケーション管理システムにおいて、前記端末装置は、前記アプリケーション管理装置から受信したアプリケーションのプログラムのみインストールが可能であることを特徴とする。
【0018】
また、本発明のアプリケーション管理システムにおいて、前記端末装置はさらに、前記第2の通信部、前記アプリケーション選択部、および前記インストール実行部として前記端末装置を動作させるためのプログラムを記録したROMを有することを特徴とする。
【発明の効果】
【0019】
本発明によれば、端末装置毎に必要なアプリケーションを示す第1のアプリケーション情報に従ってアプリケーションのインストールが行われるので、端末装置毎に必要なアプリケーションをインストールすることができる。
【図面の簡単な説明】
【0020】
【図1】本発明の一実施形態によるアプリケーション管理システムの構成を示すブロック図である。
【図2】本発明の一実施形態によるアプリケーション管理システムが有するセンタ局の構成を示すブロック図である。
【図3】本発明の一実施形態によるアプリケーション管理システムが有する端末の構成を示すブロック図である。
【図4】本発明の一実施形態におけるアプリケーションファイルを示す参考図である。
【図5】本発明の一実施形態におけるアプリケーションリストを示す参考図である。
【図6】本発明の一実施形態におけるポリシ情報を示す参考図である。
【図7】本発明の一実施形態においてポリシ情報に基づいて端末にアプリケーションを割り当てる様子を示す概念図である。
【図8】本発明の一実施形態によるアプリケーション管理システムの動作を示すシーケンス図である。
【図9】本発明の一実施形態によるアプリケーション管理システムの動作を示すシーケンス図である。
【図10】Androidのディレクトリ構造を示す参考図である。
【発明を実施するための形態】
【0021】
以下、図面を参照し、本発明の実施形態を説明する。図1は、本実施形態によるアプリケーション管理システムの構成を示している。図1に示すアプリケーション管理システムは、アプリケーションの管理を行うセンタ局1(アプリケーション管理装置)と、ユーザが所持する複数の端末2(端末装置)とを有する。
【0022】
センタ局1は、予め決められたアプリケーションのみが端末2にインストールされている状態を維持するように、端末2にインストールされるアプリケーションを管理する。端末2は、センタ局1が管理している情報に従って、アプリケーションのインストールおよび消去(アンインストール)を行う。また、センタ局1と端末2は、ネットワークを介した通信を行う。センタ局1と端末2との通信にはプロキシサーバやルータ等のネットワーク機器が必要であるが、図1には示していない。
【0023】
図2はセンタ局1の構成を示している。センタ局1は、通信部10(第1の通信部)、記憶部11(第1の記憶部)、端末認証部12(認証部)、アプリケーション管理部13(選択部、起動情報生成部)、安全性検証部14(付加部)、署名付加部15(付加部)、入力部16、およびリスト管理部17(アプリケーション情報生成部)を有する。
【0024】
通信部10は端末2と無線通信を行う。通信部10は制御通信部10aとアプリケーション配信通信部10bを有する。制御通信部10aは、端末2にインストールされているアプリケーションの起動等を行うために端末2を直接操作するための操作情報を端末2へ送信し、実行結果を示す実行結果情報を端末2から受信する。制御通信部10aが行う通信には、例えばSSH(Secure SHell)を利用することができる。アプリケーション配信通信部10bは、インストールの対象となるアプリケーションのプログラムを含む各種ファイルの圧縮ファイルであるアプリケーションファイルを端末2へ送信する。各種情報の詐称を防ぐため、センタ局1と端末2の間の通信には相互認証および暗号化通信を適用することが望ましい。
【0025】
記憶部11は、アプリケーションファイルや、アプリケーションリスト(第1のアプリケーション情報)、端末リスト等を記憶する。図4は、記憶部11に格納されるアプリケーションファイルの一例を示している。図4に示すように、それぞれのアプリケーションファイルには電子署名が付加されている。本実施形態のアプリケーションとして、データ消去、位置情報取得、テキストエディタ、描画、電話会議等の各種アプリケーションを用いることができる。アプリケーションリストは、それぞれの端末2にインストールすべきアプリケーションのリストである。図5はアプリケーションリストの一例を示している。図5に示すように、アプリケーションリストは、端末2に固有の識別情報である端末ID(第1の識別情報)と、各端末2にインストールすべきアプリケーションの識別情報(アプリケーション名称等)とを含む。端末リストは、サービスに加入している端末のリストであり、端末IDを含む。
【0026】
端末認証部12は、端末2から通知される端末IDに基づいて端末2の認証を行う。アプリケーション管理部13は、端末2にインストールされるアプリケーションの管理を行う。また、アプリケーション管理部13は、センタ局1から端末2を操作してアプリケーションの起動等の操作を行う場合に、その操作の制御も行う。
【0027】
安全性検証部14は、センタ局1で管理されるアプリケーションファイルの安全性を検証する。より具体的には、安全性検証部14は、例えばアンチウイルスソフトを利用して、アプリケーションファイルがウイルス(マルウェア)を含んでいるか否かを判定することによって、アプリケーションファイルの安全性を検証する。署名付加部15は、安全性検証部14によって安全性が確認されたアプリケーションファイルに対して電子署名を付加する。本実施形態では、センタ局1によって安全性が確認されたアプリケーションファイルのみが端末2にインストールされるため、アプリケーションの安全性が保証される。
【0028】
入力部16は、必要な情報をセンタ局1に入力するためのものである。入力部16は、センタ局1の管理者等が情報入力のために操作する操作部材(マウスやキーボード等)、あるいは着脱式のフラッシュメモリ等の記録媒体から必要な情報を読み取るための読み取り装置等を有する。リスト管理部17は、入力部16を介して入力された情報に基づいてアプリケーションリストの生成および更新を行う。
【0029】
図3は端末2の構成を示している。端末2は、通信部20(第2の通信部)、ID取得部21、アプリケーション制御部22、記憶部23(第2の記憶部)、および端末制御部24を有する。
【0030】
通信部20はセンタ局1と無線通信を行う。通信部20は制御通信部20aとアプリケーション取得通信部20bを有する。制御通信部20aは、アプリケーションの起動等に係る操作情報をセンタ局1から受信し、操作情報に基づく処理の実行結果を示す実行結果情報をセンタ局1へ送信する。前述したように、制御通信部20aが行う通信には、例えばSSH(Secure SHell)を利用することができる。アプリケーション取得通信部10bは、インストールの対象となるアプリケーションのアプリケーションファイルをセンタ局1から受信する。
【0031】
ID取得部21は、端末IDを取得する。例えば、AndroidをOSに採用した端末では、“android.permission.READ_PHONE_STATE”のパーミッションを利用して、端末IDとしてIMEI情報を取得することが可能である。
【0032】
アプリケーション制御部22は、アプリケーション選択部22a、インストール実行部22b、アプリケーション消去部22c(消去部)、アプリケーション起動部22d(起動部)、および動作制御部22eを有する。アプリケーション選択部22aは、センタ局1から受信されたアプリケーションリストに基づいて、端末2にインストールすべき必要なアプリケーション、および端末2から消去(アンインストール)すべき不要なアプリケーションを選択する。インストール実行部22bは、センタ局1から受信されたアプリケーションファイルを用いてアプリケーションのインストールを実行する。アプリケーション消去部22cは、アプリケーション選択部22aによって選択された不要なアプリケーションの消去(アンインストール)を実行する。アプリケーション起動部22dは、アプリケーションの起動を行う。動作制御部22eは、起動したアプリケーションの動作を制御する。
【0033】
記憶部23は、インストールされたアプリケーションのプログラムやインストールアプリケーションリスト等を記憶する。インストールアプリケーションリストは、端末2にインストールされているアプリケーションのリストであり、インストールされているアプリケーションの識別情報(アプリケーション名称等)を含む。端末制御部24は端末2内の各部を制御する。
【0034】
端末2において、アプリケーションをインストールする機能は、本実施形態で示している手順に従ってセンタ局1からアプリケーションファイルを取得してアプリケーションをインストールする機能に限られる。例えばAndroidを採用した端末の場合、インストール機能として、Android Marketアプリケーションやadb shellを利用したインストール機能があるが、これらの機能によるインストールを行えないようにするため、本実施形態の端末2では、これらの機能に係るシステムファイルが予め削除されている。
【0035】
また、通信部20やアプリケーション制御部22等の機能を実現するプログラムの改竄を防ぐため、通信部20やアプリケーション制御部22等の機能を実現するプログラムを、データの書き換えができないROM(Read Only Memory)に格納しておき、端末2の電源投入時にCPU(Central Processing Unit)がROMからプログラムを読み出して実行することで、通信部20やアプリケーション制御部22等が起動するようにしておくことが望ましい。
【0036】
次に、アプリケーションリストの生成方法を説明する。本実施形態では、端末2が使用される組織によって必要なアプリケーションが異なることを想定しており、端末2にインストールされるアプリケーションは会社や部署毎に設定される。また、ユーザが端末2を紛失し、機密データの漏洩を防ぐためにデータ消去アプリケーションが必要になるなど、端末2の状況に応じて必要なアプリケーションが発生することも想定している。
【0037】
そこで、会社や部署に応じて必要なアプリケーションおよび端末2の状況に応じて必要なアプリケーションが予めポリシとして規定され、そのポリシに従って、アプリケーションリストが生成および更新される。記憶部11には、このポリシを示すポリシ情報(第2のアプリケーション情報)が格納されている。
【0038】
図6はポリシ情報の一例を示している。ポリシ情報は、会社ポリシ、部署ポリシ、端末ポリシを含む。会社ポリシは、会社毎に必要なアプリケーションを示しており、会社ポリシの識別情報(会社名あるいは会社ポリシ名称等)とアプリケーションの識別情報(アプリケーション名称等)を含む。部署ポリシは、部署毎に必要なアプリケーションを示しており、部署ポリシの識別情報(部署名や部署ポリシ名称等)とアプリケーションの識別情報(アプリケーション名称等)を含む。端末ポリシは、端末2の状況に応じて必要なアプリケーションを示しており、端末2の端末IDとアプリケーションの識別情報(アプリケーション名称等)を含む。ポリシ情報は、アプリケーション管理システムによるサービスに会社が加入したとき等に生成され、記憶部11に格納される。端末ポリシについては、特に必要なアプリケーションがなければ、アプリケーションの識別情報を含まない。ポリシ情報は適宜その内容を変更することが可能である。
【0039】
図7は、ポリシ情報を利用して各端末2にアプリケーションを割り当てる例を概念的に示している。会社ポリシ、部署ポリシ、端末ポリシを指定して、各ポリシに含まれるアプリケーションを端末IDと対応付けることによって、各端末にアプリケーションを割り当てることができる。また、3つのポリシを指定するだけでアプリケーションの割り当てを行うことができるため、端末毎に個々のアプリケーションを指定する煩雑な作業を削減することができる。
【0040】
会社のサービス加入による登録時には、その会社の管理者等の意向に従って、会社ポリシ、部署ポリシ、および端末ポリシが決定され、入力部16を介して、各ポリシに割り当てるアプリケーションの情報が入力され、リスト管理部17によってポリシ情報が生成される。端末ポリシについては、特に必要なアプリケーションがなければ、アプリケーションの識別情報を含まない状態となっている。生成されたポリシ情報は記憶部11に格納される。
【0041】
続いて、入力部16を介して、サービスに加入する会社に所属する端末2の端末ID、会社ポリシの識別情報、および部署ポリシの識別情報が入力される。リスト管理部17は、入力された会社ポリシの識別情報に対応する会社ポリシ、入力された部署ポリシの識別情報に対応する部署ポリシ、および入力された端末IDに対応する端末ポリシを記憶部11から読み出し、その会社ポリシ、部署ポリシ、および端末ポリシのそれぞれによって指定されるアプリケーションの識別情報と、入力された端末IDとを関連付けることによって、アプリケーションリストを生成する。生成されたアプリケーションリストは記憶部11に格納される。
【0042】
共通の組織に所属する複数の端末2の端末IDを一括して指定し、複数の端末2に一括してアプリケーションを割り当てることも可能である。既にサービスに加入している会社において新たな端末が加入するときも、上記と同様の流れでアプリケーションの割り当てが行われる。端末ポリシに割り当てられるアプリケーションは、センタ局1で電子署名が付加されたアプリケーションに限られるが、端末ポリシに割り当てることが可能なアプリケーションを特定のアプリケーションのみにさらに限定してもよい。
【0043】
次に、本実施形態によるアプリケーション管理システムの動作を説明する。以下の説明において、制御通信部10aおよび制御通信部10bによる実行結果の通信については説明を省略する。
【0044】
図8は、アプリケーションのインストールおよび消去(アンインストール)に係る動作を示している。端末2において端末ID取得部21は端末ID(第1の識別情報)を取得する(ステップS100)。端末制御部24は、アプリケーションリストの送信をセンタ局1に要求するためのリスト要求(送信要求情報)を生成し、通信部20へ出力する。リスト要求には、端末ID取得部21が取得した端末IDが含まれる。通信部20のアプリケーション取得通信部20bはリスト要求をセンタ局1へ送信する(ステップS105)。
【0045】
リスト要求の送信は一定の時間間隔で行われる。リスト要求の送信後の動作は以下のようになる。
【0046】
センタ局1において通信部10のアプリケーション配信通信部10bは端末2からリスト要求を受信し、端末認証部12へ出力する。端末認証部12は、リスト要求から端末IDを抽出し、記憶部11から端末リストを読み出して端末の認証を行う(ステップS110)。より具体的には、ステップS110で端末認証部12は、リスト要求から抽出した端末IDと、端末リストに含まれる端末IDとを比較する。リスト要求から抽出した端末IDが、端末リストに含まれる端末IDのいずれかと一致した場合、端末認証部12は、認証の成功および端末IDをアプリケーション管理部13に通知する。リスト要求から抽出した端末IDが、端末リストに含まれるどの端末IDとも一致しなかった場合には、認証の失敗がアプリケーション管理部13に通知され、アプリケーションのインストールおよび消去が終了する。
【0047】
認証の成功および端末IDを端末認証部12から通知されたアプリケーション管理部13は、記憶部11に格納されているアプリケーションリスト(第1のアプリケーション情報)の中から、通知された端末IDと同一の端末IDを含むアプリケーションリストを選択して読み出し、通信部10へ出力する。通信部10のアプリケーション配信通信部10bは、リスト要求の送信元である端末2へアプリケーションリストを送信する(ステップS120)。
【0048】
端末2において通信部20のアプリケーション取得通信部20bはセンタ局1からアプリケーションリストを受信し、端末制御部24を介してアプリケーション制御部22へ出力する。アプリケーション制御部22のアプリケーション選択部22aは、記憶部23からインストールアプリケーションリストを読み出し、センタ局1から受信したアプリケーションリストと、記憶部23から読み出したインストールアプリケーションリストとに基づいて、端末2にインストールすべき必要なアプリケーション、および端末2から消去すべき不要なアプリケーションを選択する(ステップS125)。
【0049】
より具体的には、ステップS125でアプリケーション選択部22aは、アプリケーションリストおよびインストールアプリケーションリストに含まれるそれぞれのアプリケーションの識別情報を比較する。アプリケーションリストに含まれる第1アプリケーションの識別情報が、インストールアプリケーションリストに含まれるどのアプリケーションの識別情報とも一致しなかった場合(第1アプリケーションの識別情報と一致するアプリケーションの識別情報がインストールアプリケーションリストに含まれていなかった場合)、アプリケーション選択部22aは、端末2にインストールすべき必要なアプリケーションとして第1アプリケーションを選択する。また、インストールアプリケーションリストに含まれる第2アプリケーションの識別情報が、アプリケーションリストに含まれるどのアプリケーションの識別情報とも一致しなかった場合(第2アプリケーションの識別情報と一致するアプリケーションの識別情報がアプリケーションリストに含まれていなかった場合)、アプリケーション選択部22aは、端末2から消去すべき不要なアプリケーションとして第2アプリケーションを選択する。
【0050】
続いて、アプリケーション選択部22aは、ステップS125で選択したアプリケーションの識別情報に基づいて、アプリケーションのインストールを行うか否かを判定する(ステップS130)。端末2にインストールすべき必要なアプリケーションがない場合、処理はステップS160に進む。また、端末2にインストールすべき必要なアプリケーションがある場合、アプリケーション選択部22aは、必要なアプリケーションの識別情報を制御部24へ出力する。制御部24は、必要なアプリケーションファイルをセンタ局1に要求するためのアプリケーション要求(要求アプリケーション情報)を生成し、通信部20へ出力する。アプリケーション要求には、必要なアプリケーションの識別情報が含まれる。通信部20のアプリケーション取得通信部20bはアプリケーション要求をセンタ局1へ送信する(ステップS135)。
【0051】
センタ局1において通信部10のアプリケーション配信通信部10bは端末2からアプリケーション要求を受信し、アプリケーション管理部13へ出力する。アプリケーション管理部13は、アプリケーション要求に含まれるアプリケーションの識別情報に対応したアプリケーションファイルを記憶部11から読み出し、通信部10へ出力する(ステップS140)。前述したように、アプリケーションファイルには電子署名が付加されている。通信部10のアプリケーション配信通信部10bは、アプリケーション要求の送信元である端末2へアプリケーションファイルを送信する(ステップS145)。
【0052】
端末2において通信部20のアプリケーション取得通信部20bはセンタ局1からアプリケーションファイルを受信し、端末制御部24を介してアプリケーション制御部22へ出力する。アプリケーション制御部22のインストール実行部22bは、アプリケーションファイルに付加されている電子署名を検証する(ステップS150)。電子署名の検証方法は、周知の方法である。電子署名の検証により、アプリケーションファイルの完全性(アプリケーションファイルが改竄されていないこと)の確認が行われる。
【0053】
アプリケーションファイルの完全性を確認できた場合、インストール実行部22bは、圧縮ファイルであるアプリケーションファイルを伸張し、アプリケーションの実行ファイルを記憶部22に格納すると共に、アプリケーションを実行するための各種設定を行う(ステップS155)。アプリケーションファイルの完全性を確認できなかった場合、アプリケーションのインストールは行われない。
【0054】
続いて、アプリケーション選択部22aは、ステップS125で選択したアプリケーションの識別情報に基づいて、アプリケーションの消去を行うか否かを判定する(ステップS160)。端末2から消去すべき不要なアプリケーションがない場合、アプリケーションのインストールおよび消去に係る処理が終了する。また、端末2から消去すべき不要なアプリケーションがある場合、アプリケーション選択部22aは不要なアプリケーションの識別情報をアプリケーション消去部22cに通知する。アプリケーション消去部22cは、アプリケーション選択部22aから通知されたアプリケーションの識別情報に対応するアプリケーションのプログラムや各種設定情報を記憶部23から消去する(ステップS165)。上記の動作により、アプリケーションのインストールおよび消去に係る処理が終了する。
【0055】
上記の動作によって、アプリケーションリストの内容に従い、端末2において必要なアプリケーションのインストールおよび不要なアプリケーションの消去が行われる。したがって、端末2の機能を端末毎に必要な最低限の機能のみに制限すると共に、業務外アプリケーションの不正インストールや不正利用を防止することができる。
【0056】
リスト要求、アプリケーション要求、およびアプリケーションファイルの通信はアプリケーション配信通信部10bおよびアプリケーション取得通信部20bによって行われるが、アプリケーションリストの通信は制御通信部10aおよび制御通信部10bによって行われてもよい。制御通信部10aおよび制御通信部10bによってアプリケーションリストの通信が行われる場合、センタ局1から送信される操作情報に、アプリケーションリストの本体とアプリケーションリストの処理指示とが含まれる。
【0057】
Android上で動作するアプリケーションがインストール後に自動的に起動する設定を行うことが可能である。また、ユーザの指示を受けてアプリケーションが起動することも可能である。これらのような起動方法に加えて、本実施形態では以下のようにしてセンタ局1が端末2を操作してアプリケーションを起動することも可能である。
【0058】
図9は、アプリケーションの起動および実行に係る動作を示している。図9に示す動作は、ユーザが端末2を紛失したので、機密データの漏洩を防ぐためにデータ消去アプリケーションを起動する場合や、端末2が属する組織において業務上、端末2の位置を知るために位置情報取得アプリケーションを起動する場合等に行われる。前提として、図9に示す動作の前に図8のステップS100およびステップS105が行われており、アプリケーションを起動する端末2がセンタ局1に接続しているものとする。したがって、センタ局1は、端末2との通信に必要なプロキシサーバのIPアドレス等の情報を把握している。
【0059】
端末2を紛失したユーザから管理者に申請があったときや、定期的なアプリケーションの起動タイミングが訪れたとき、センタ局1において、入力部16を介して、アプリケーションの起動指示と共に、起動対象のアプリケーションの識別情報、アプリケーションを起動する端末2の端末ID、端末2が所属する組織に係る会社ポリシの識別情報(会社名等)および部署ポリシの識別情報(部署名等)が入力される(ステップS200)。これらの情報はリスト管理部17へ出力されるが、起動対象のアプリケーションの識別情報および端末IDはアプリケーション管理部13へも出力される。
【0060】
アプリケーション管理部13は、記憶部11に格納されているアプリケーションリストの中から、入力部16を介して入力された端末IDと同一の端末IDを含むアプリケーションリストを選択して読み出す。アプリケーション管理部13は、入力部16を介して入力されたアプリケーションの識別情報と、アプリケーションリストに含まれるアプリケーションの識別情報とを比較し、アプリケーションリストに起動対象のアプリケーションが含まれているか否かを判定する(ステップS205)。
【0061】
入力部16を介して入力されたアプリケーションの識別情報が、アプリケーションリストに含まれるアプリケーションの識別情報のいずれかと一致した場合、アプリケーションリストに起動対象のアプリケーションが含まれることになる。この場合、処理はステップS220に進む。
【0062】
また、入力部16を介して入力されたアプリケーションの識別情報が、アプリケーションリストに含まれるどのアプリケーションの識別情報とも一致しなかった場合、アプリケーションリストに起動対象のアプリケーションが含まれないことになる。この場合、端末2に起動対象のアプリケーションがインストールされていない可能性がある。このため、アプリケーション管理部13は、端末2にインストールすべきアプリケーションに起動対象のアプリケーションを追加するため、リスト管理部17に端末ポリシの更新を指示する。
【0063】
リスト管理部17は、記憶部11に格納されている端末ポリシの中から、入力部16を介して入力された端末IDと同一の端末IDを含む端末ポリシを読み出し、その端末ポリシに対して、入力部16を介して入力されたアプリケーションの識別情報を追加することによって、端末ポリシを更新する(ステップS210)。更新された端末ポリシは記憶部11に格納される。
【0064】
さらに、リスト管理部17は、入力された会社ポリシの識別情報に対応する会社ポリシ、入力された部署ポリシの識別情報に対応する部署ポリシ、入力された端末IDに対応する端末ポリシを記憶部11から読み出し、会社ポリシ、部署ポリシ、および端末ポリシのそれぞれによって指定されるアプリケーションの識別情報と、入力された端末IDとを関連付けることによって、アプリケーションリストを生成する。リスト管理部17は、同じ端末IDに対応する以前のアプリケーションリストを記憶部11から削除し、新たに生成したアプリケーションリストを代わりに記憶部11に格納することによって、アプリケーションリストを更新する(ステップS215)。
【0065】
続いて、アプリケーション管理部13は、図8に示した、アプリケーションのインストールおよび消去に係る処理を端末2に開始させるための処理開始指示を含む操作情報を生成し、通信部10へ出力する。通信部10の制御通信部10aは操作情報を端末2へ送信する(ステップS220)。
【0066】
端末2において通信部20の制御通信部20aはセンタ局1から操作情報を受信し、端末制御部24へ出力する。端末制御部24は、操作情報に含まれる処理開始指示に基づいて、図8に示したステップS100からの処理を開始するように端末2の各部を制御する。以後、図8に示したステップS100〜S165の処理が行われる(ステップS225)。これによって、更新されたアプリケーションリストが端末2へ送信され、必要に応じてアプリケーションのインストール/消去が行われる。したがって、起動対象のアプリケーションが端末2にインストールされていなければ、起動対象のアプリケーションが端末2にインストールされる。
【0067】
続いて、センタ局1においてアプリケーション管理部13は起動対象のアプリケーションを起動するためのアプリケーション起動指示を含む操作情報(起動情報)を生成し、通信部10へ出力する。アプリケーション起動指示は起動対象のアプリケーションの識別情報を含む。通信部10の制御通信部10aは操作情報を端末2へ送信する(ステップS230)。
【0068】
端末2において通信部20の制御通信部20aはセンタ局1から操作情報を受信し、端末制御部24へ出力する。端末制御部24は、操作情報に含まれるアプリケーション起動指示に基づいて、アプリケーション制御部22にアプリケーションの起動を指示する。このとき、アプリケーション起動指示に含まれるアプリケーションの識別情報がアプリケーション制御部22に通知される。アプリケーション制御部22のアプリケーション起動部22dは、端末制御部24から通知されたアプリケーションの識別情報に対応するアプリケーションのプログラムを記憶部23から読み出して実行することによって、アプリケーションを起動する(ステップS235)。
【0069】
続いて、センタ局1においてアプリケーション管理部13は、起動したアプリケーションに処理を実行させるための処理指示を含む操作情報(制御情報)を生成し、通信部10へ出力する。通信部10の制御通信部10aは操作情報を端末2へ送信する(ステップS240)。
【0070】
起動したアプリケーションに処理を実行させるための処理指示には、アプリケーションの動作に必要な動作パラメータが含まれる。例えば、データ消去アプリケーションの場合、消去対象のデータが存在するディレクトリやファイル名が動作パラメータとなる。Androidでは、アプリケーションがアクセスできるディレクトリは、そのアプリケーション専用に割り当てられた特定の領域に制限されているため、特定のアプリケーションが作成したファイルが存在するディレクトリは容易に分かる。
【0071】
図10は、Androidのディレクトリ構成を示している。図10に示すように、階層構造を有するディレクトリが作成されている。ディレクトリD1には、インストールされたアプリケーションの実行ファイルが格納される。また、ディレクトリD2は、各アプリケーションが用いるデータを保管するディレクトリであり、ディレクトリD2の下に、各アプリケーションの名称と同じ名称を有するディレクトリD3a〜D3cが並んでいる。
【0072】
特定のアプリケーションが作成した全てのファイルを消去する場合、そのアプリケーションの名称と同じ名称を有するディレクトリの名称が動作パラメータとして指定される。また、特定のアプリケーションが作成した特定のファイルのみを消去する場合、ディレクトリの名称と共にファイル名が動作パラメータとして指定される。データの消去に必要なアプリケーションの名称やファイル名の情報は、入力部16を介して入力される。
【0073】
電話会議アプリケーションの場合、接続先の電話番号等が動作パラメータとなる。また、位置情報取得アプリケーションの場合、位置情報の通知先の情報や通知間隔等が動作パラメータとなる。
【0074】
処理指示を含む操作情報がセンタ局1から送信されると、端末2において通信部20の制御通信部20aは操作情報を受信し、端末制御部24へ出力する。端末制御部24は、操作情報に含まれる処理指示に基づいて、アプリケーション制御部22に処理を指示する。このとき、処理指示に含まれる動作パラメータがアプリケーション制御部22に通知される。アプリケーション制御部22の動作制御部22eは、起動したアプリケーションに動作パラメータを与え、アプリケーションに所定の処理を実行させる(ステップS245)。
【0075】
例えば、データ消去アプリケーションが起動した場合、動作パラメータによって指定されるディレクトリ内の全てのファイルまたは特定のファイルのみが消去される。また、電話会議アプリケーションが起動した場合、動作パラメータによって指定される接続先に発信するための処理が行われる。また、位置情報取得アプリケーションが起動した場合、動作パラメータによって指定される通知先に位置情報を通知するための処理が行われる。
【0076】
アプリケーションによる処理の実行結果は、適宜、制御通信部20bおよび制御通信部10bを介した通信によってセンタ局1に通知される。ステップS230〜S245の処理が繰り返され、アプリケーションによって必要な処理が実行される。
【0077】
上記の動作によって、センタ局1から端末2を操作してアプリケーションを起動することができる。図8に示した処理を含むステップS225の処理が行われるため、起動対象のアプリケーションが端末2にインストールされていない場合でも、起動対象のアプリケーションを端末2にインストールしてから起動することができる。
【0078】
端末2の状況が変化し、端末ポリシが示すアプリケーションが不要になった場合(例えば、紛失した端末2が見つかった場合)には、端末ポリシからアプリケーションの識別情報を削除し、これに伴ってアプリケーションリストから、同じアプリケーションの識別情報を削除してもよい。
【0079】
上記では、起動後のアプリケーションに動作パラメータを与えているが、予め必要な動作パラメータを含むアプリケーションのアプリケーションファイルを生成してもよい。例えば、端末2を紛失したユーザから管理者に申請があったとき、アプリケーション管理部13は、入力部16を介して入力された情報に基づいて、データの消去に必要な動作パラメータを生成し、その動作パラメータを含むデータ消去アプリケーションのアプリケーションファイルを生成する。生成されたアプリケーションファイルは、署名付加部15によって電子署名が付加され、記憶部11に格納される。
【0080】
続いて、ステップS200からの処理が行われ、データの消去に必要な動作パラメータを含むデータ消去アプリケーションが端末2にインストールされて起動される。このとき、データ消去アプリケーションを自動的に起動することも可能である。起動したアプリケーションのプログラムに内在する動作パラメータに従って、データの消去が行われる。
【0081】
上述したように、本実施形態によれば、端末毎に必要なアプリケーションを示すアプリケーションリストに従ってアプリケーションのインストールを行うことによって、端末毎に必要なアプリケーションをインストールすることができる。また、アプリケーションリストにないアプリケーションが端末2にインストールされている場合にそのアプリケーションを消去(アンインストール)することによって、端末2の機能を必要な最小限の機能に制限することができる。
【0082】
また、センタ局1が、端末IDを含むリスト要求(図8のステップS105)を受信したときに、その端末IDに対応するアプリケーションリストを選択して端末2へ送信することによって、端末2において、必要/不要なアプリケーションを選択することができる。
【0083】
また、ポリシ情報を利用してアプリケーションリストを生成することによって、端末毎に個々のアプリケーションを指定する煩雑な作業を削減しつつ、各端末に対して、必要なアプリケーションを割り当てることができる。
【0084】
また、端末2が、アプリケーションファイルに付加された電子署名の検証を行い、アプリケーションファイルの完全性が確認できた場合にアプリケーションのインストールを行うことによって、改竄されていないアプリケーションをインストールすることができる。さらに、センタ局1がアプリケーションの安全性を検証して電子署名をアプリケーションファイルに付加することによって、安全性の保証されたアプリケーションをインストールすることができる。
【0085】
また、制御通信部10aおよび制御通信部20bが通信を行い、アプリケーション起動指示を含む操作情報をセンタ局1から端末2へ送信することによって、センタ局1から端末2を操作してアプリケーションを起動することができる。さらに、制御通信部10aおよび制御通信部20bが通信を行い、アプリケーションの動作パラメータを含む操作情報をセンタ局1から端末2へ送信することによって、センタ局1から端末2を操作してアプリケーションの動作を制御することができる。
【0086】
また、Android Marketアプリケーションやadb shellを利用したインストール機能を実現するシステムファイルを端末2から予め削除しておき、本実施形態で示した手順によってセンタ局1から受信したアプリケーションのみのインストールを可能とすることによって、業務外アプリケーションの不正インストールや不正利用を防止すると共に、端末2の機能を必要な最小限の機能に制限することができる。
【0087】
また、端末2の通信部20やアプリケーション制御部22等の機能を実現するプログラムをROMに格納することによって、プログラムの改竄やなりすましを防止することができる。
【0088】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【0089】
1・・・センタ局、2・・・端末、10・・・通信部、10a,20a・・・制御通信部、10b・・・アプリケーション配信通信部、11,23・・・記憶部、12・・・端末認証部、13・・・アプリケーション管理部、14・・・安全性検証部、15・・・署名付加部、16・・・入力部、17・・・リスト管理部、20・・・通信部、20b・・・アプリケーション取得通信部、21・・・ID取得部、22・・・アプリケーション制御部、22a・・・アプリケーション選択部、22b・・・インストール実行部、22c・・・アプリケーション消去部、22d・・・アプリケーション起動部、22e・・・動作制御部、24・・・端末制御部

【特許請求の範囲】
【請求項1】
アプリケーションが動作する端末装置と、前記端末装置にインストールされるアプリケーションを管理するアプリケーション管理装置とを備えたアプリケーション管理システムであって、
前記アプリケーション管理装置は、
アプリケーションのプログラムを記憶すると共に、前記端末装置毎に必要なアプリケーションを示す第1のアプリケーション情報を記憶する第1の記憶部と、
前記端末装置との通信により、前記第1のアプリケーション情報を送信し、前記端末装置がインストールを要求するアプリケーションを示す要求アプリケーション情報を受信し、前記要求アプリケーション情報が示すアプリケーションのプログラムを送信する第1の通信部と、
を有し、
前記端末装置は、
アプリケーションのプログラムを記憶する第2の記憶部と、
前記アプリケーション管理装置との通信により、前記第1のアプリケーション情報を受信し、前記要求アプリケーション情報を送信し、アプリケーションのプログラムを受信する第2の通信部と、
前記第2の記憶部にインストールされているアプリケーションの情報と前記第1のアプリケーション情報とに基づいて、インストールを要求するアプリケーションを選択し、前記要求アプリケーション情報を生成するアプリケーション選択部と、
前記第2の通信部が受信したアプリケーションのプログラムを前記第2の記憶部にインストールするインストール実行部と、
を有することを特徴とするアプリケーション管理システム。
【請求項2】
前記端末装置はさらに、前記端末装置に不要なアプリケーションのプログラムを消去する消去部を有し、
前記アプリケーション選択部はさらに、前記第2の記憶部にインストールされているアプリケーションのプログラムの情報と前記第1のアプリケーション情報とに基づいて、前記第2の記憶部にインストールされているアプリケーションのプログラムの中から、前記端末装置に不要なアプリケーションのプログラムを選択する
ことを特徴とする請求項1に記載のアプリケーション管理システム。
【請求項3】
前記第2の通信部は、前記第1のアプリケーション情報の送信を要求する送信要求情報を前記アプリケーション管理装置へ送信し、
前記第1の通信部は、前記送信要求情報を受信したとき、前記第1のアプリケーション情報を送信する
ことを特徴とする請求項1または請求項2に記載のアプリケーション管理システム。
【請求項4】
前記第1のアプリケーション情報は、前記端末装置を識別する第1の識別情報と、当該第1の識別情報に対応付けられたアプリケーションの情報とを含み、
前記第2の通信部は、前記第1の識別情報を含む前記送信要求情報を送信し、
前記アプリケーション管理装置はさらに、前記第1の記憶部が記憶している前記第1のアプリケーション情報の中から、前記第1の通信部が受信した前記送信要求情報に含まれる前記第1の識別情報に対応する前記第1のアプリケーション情報を選択する選択部を有する
ことを特徴とする請求項3に記載のアプリケーション管理システム。
【請求項5】
前記第1の記憶部はさらに、前記端末装置が所属する組織の情報と、当該組織の情報に対応付けられたアプリケーションの情報とを含む第2のアプリケーション情報を記憶し、
前記アプリケーション管理装置はさらに、
前記第1の識別情報および前記組織の情報を入力する入力部と、
前記入力部に入力された前記第1の識別情報と、前記入力部に入力された前記組織の情報に対応付けられたアプリケーションの情報とを対応付けることによって前記第2のアプリケーション情報を生成し、当該第2のアプリケーション情報に基づいて前記第1のアプリケーション情報を生成するアプリケーション情報生成部と、
を有することを特徴とする請求項4に記載のアプリケーション管理システム。
【請求項6】
前記第1の記憶部が記憶するアプリケーションのプログラムには電子署名が付加されており、
前記インストール実行部は、前記第2の通信部が受信したアプリケーションのプログラムに付加されている電子署名を検証し、アプリケーションのプログラムの完全性が確認できた場合に、アプリケーションのプログラムを前記第2の記憶部にインストールする
ことを特徴とする請求項1〜請求項5のいずれか一項に記載のアプリケーション管理システム。
【請求項7】
前記アプリケーション管理装置はさらに、アプリケーションのプログラムの安全性を検証し、安全であると判断したアプリケーションのプログラムに前記電子署名を付加する付加部を有することを特徴とする請求項6に記載のアプリケーション管理システム。
【請求項8】
前記アプリケーション管理装置はさらに、前記第1の通信部が受信した前記送信要求情報に含まれる前記第1の識別情報に基づいて前記端末装置の認証を行う認証部を有し、
前記第1の通信部はさらに、前記認証部によって前記端末装置が認証された場合に、前記アプリケーション選択部が選択したアプリケーションのプログラムを前記端末装置へ送信する
ことを特徴とする請求項4〜請求項7のいずれか一項に記載のアプリケーション管理システム。
【請求項9】
前記アプリケーション管理装置はさらに、起動対象のアプリケーションの情報を含む起動情報を生成する起動情報生成部を有し、
前記第1の通信部はさらに、前記起動情報を送信し、
前記第2の通信部はさらに、前記起動情報を受信し、
前記端末装置はさらに、前記第2の通信部が受信した前記起動情報が示す起動対象のアプリケーションを起動する起動部を有する
ことを特徴とする請求項1〜請求項8のいずれか一項に記載のアプリケーション管理システム。
【請求項10】
前記起動情報生成部はさらに、前記起動対象のアプリケーションの動作を制御するためのパラメータを含む制御情報を生成し、
前記第1の通信部はさらに、前記制御情報を送信し、
前記第2の通信部はさらに、前記制御情報を受信し、
前記端末装置はさらに、前記第2の通信部が受信した前記制御情報に含まれる前記パラメータを、前記起動部によって起動されたアプリケーションに与えて処理を実行させる動作制御部を有する
ことを特徴とする請求項9に記載のアプリケーション管理システム。
【請求項11】
前記端末装置は、前記アプリケーション管理装置から受信したアプリケーションのプログラムのみインストールが可能であることを特徴とする請求項1〜請求項10のいずれか一項に記載のアプリケーション管理システム。
【請求項12】
前記端末装置はさらに、前記第2の通信部、前記アプリケーション選択部、および前記インストール実行部として前記端末装置を動作させるためのプログラムを記録したROMを有することを特徴とする請求項1〜請求項11のいずれか一項に記載のアプリケーション管理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate