(57)【特許請求の範囲】
【請求項１】
信頼されたアプリケーションの名称を示す第１の名称情報と、当該信頼されたアプリケーションのバージョンを示す第１のバージョン情報と、当該信頼されたアプリケーションの開発者の公開鍵を示す第１の公開鍵情報とを含むホワイトリストを記憶すると共に、インストールされたアプリケーションのプログラムを含むファイルを記憶する記憶部と、
前記記憶部に前記アプリケーションのプログラムをインストールするインストール実行部と、
前記記憶部にインストールされているアプリケーションから、当該アプリケーションの名称を示す第２の名称情報と、当該アプリケーションのバージョンを示す第２のバージョン情報と、当該アプリケーションの開発者の公開鍵を示す第２の公開鍵情報とを取得し、前記第１の名称情報と前記第２の名称情報、前記第１のバージョン情報と前記第２のバージョン情報、前記第１の公開鍵情報と前記第２の公開鍵情報の３組の情報をそれぞれ比較し、少なくとも１組の情報が一致しなかった場合に、当該比較に係る前記アプリケーションのプログラムを前記記憶部から消去する消去部と、
を備えたことを特徴とする携帯端末。
【請求項２】
前記第１の公開鍵情報および前記第２の公開鍵情報は、前記開発者の公開鍵をハッシュ処理した情報であることを特徴とする請求項１に記載の携帯端末。
【請求項３】
前記インストール実行部は、前記アプリケーションのプログラムのインストールが終了したタイミングで、当該インストールの終了を通知する終了情報を出力し、
前記消去部は、前記終了情報を検知したタイミングで前記比較を行う
ことを特徴とする請求項１または請求項２に記載の携帯端末。
【請求項４】
前記ホワイトリストはさらに、当該信頼されたアプリケーションのプログラムがインストールされている前記記憶部の記憶領域を示す領域情報を含み、
前記消去部は、前記領域情報が示す領域以外の領域にインストールされているアプリケーションを前記比較の対象とする
ことを特徴とする請求項１〜請求項３のいずれか一項に記載の携帯端末。
【請求項５】
請求項１〜請求項４のいずれか一項に記載の携帯端末としてコンピュータを機能させるためのプログラム。
【請求項６】
携帯端末およびサーバを備えた通信システムであって、
前記携帯端末は、
信頼されたアプリケーションの名称を示す第１の名称情報と、当該信頼されたアプリケーションのバージョンを示す第１のバージョン情報と、当該信頼されたアプリケーションの開発者の公開鍵を示す第１の公開鍵情報とを含むホワイトリストを前記サーバから受信する第１の通信部と、
受信された前記ホワイトリストを記憶すると共に、インストールされたアプリケーションのプログラムを含むファイルを記憶する第１の記憶部と、
前記第１の記憶部に前記アプリケーションのプログラムをインストールするインストール実行部と、
前記第１の記憶部にインストールされているアプリケーションから、当該アプリケーションの名称を示す第２の名称情報と、当該アプリケーションのバージョンを示す第２のバージョン情報と、当該アプリケーションの開発者の公開鍵を示す第２の公開鍵情報とを取得し、前記第１の名称情報と前記第２の名称情報、前記第１のバージョン情報と前記第２のバージョン情報、前記第１の公開鍵情報と前記第２の公開鍵情報の３組の情報をそれぞれ比較し、少なくとも１組の情報が一致しなかった場合に、当該比較に係る前記アプリケーションのプログラムを前記第１の記憶部から消去する消去部と、
を有し、
前記サーバは、
前記ホワイトリストを記憶する第２の記憶部と、
前記ホワイトリストを前記携帯端末へ送信する第２の通信部と、
を有することを特徴とする通信システム。
【請求項７】
前記第１の通信部はさらに、前記サーバに前記ホワイトリストの取得要求を定期的に送信し、
前記サーバはさらに、前記携帯端末からの前記取得要求を監視し、最後に前記取得要求が受信されてから一定時間内に前記取得要求が受信されなかった場合に警告情報を生成する警告部を有し、
前記第２の通信部は、前記携帯端末から前記取得要求を受信した場合に前記ホワイトリストを前記携帯端末へ送信する
ことを特徴とする請求項６に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信頼されたアプリケーションの情報を含むホワイトリストに基づいてアプリケーションの管理を行う携帯端末および通信システムに関する。また、本発明は、本携帯端末としてコンピュータを機能させるためのプログラムにも関する。
【背景技術】
【０００２】
昨今、PC（Personal Computer）に近い高機能を実現したスマートフォン等の携帯端末の普及が進んでいる。また、スマートフォン等の携帯端末は、Android（登録商標）等のOS（Operating System）を採用しており、オープンプラットフォームでアプリケーションを開発可能な仕様となっている。このような携帯端末向けのOS上で動作する多数のアプリケーションがインターネット上のマーケットプレイスで公開されており、携帯端末のユーザは必要なアプリケーションを自由に選択して携帯端末にインストールすることが可能である。
【０００３】
マーケットプレイスでは、情報漏洩や端末攻撃を行う多くの悪意のアプリケーション（マルウェア）が公開されており、悪意のアプリケーションのインストールによって、ユーザが意図せず被害を受ける可能性がある。上記のように、様々なアプリケーションの中から必要なアプリケーションを選択して携帯端末に容易に実装できるため、安全性の面から、法人等の団体毎に必要なアプリケーションのみを実装した携帯端末を各団体の構成員に提供するサービスが期待されている。
【０００４】
一方、マルウェアによる被害を食い止めるため、携帯端末向けのマルウェア対策ソフトが公開されている。マルウェア対策ソフトの多くは、予め検出したマルウェアの挙動パターンとアプリケーションの挙動パターンとを比較することでマルウェアを検知するブラックリスト方式を採用している。しかし、予め検出したマルウェアの挙動パターンのリストであるブラックリストを頻繁に更新する必要があり、次々と公開されるアプリケーションの全てを検証してブラックリストを更新することは困難である。
【０００５】
これに対して、信頼されたアプリケーションのリストであるホワイトリストに登録されたアプリケーション以外の起動を禁止するホワイトリスト方式のマルウェア対策ソフトがある（例えば非特許文献１参照）。上記のように、ブラックリスト方式では、公開される全てのアプリケーションに対応するようにブラックリストを更新することが困難であるため、限定されたアプリケーションのみを使用可能にする用途においては、ブラックリスト方式よりもホワイトリスト方式のほうが有効である。
【先行技術文献】
【特許文献】
【０００６】
【非特許文献１】吉澤亨史、“ホワイトリスト方式採用のセキュリティソフト「H2softアプリケーションコントロール」”、[online]、2006年5月18日、[平成22年2月21日検索]、インターネット＜http://japan.zdnet.com/news/sec/story/0,2000056194,20115887,00.htm＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
既存のホワイトリスト方式は、PC向けの用途で用いられており、ホワイトリストに登録する情報として、アプリケーションの名称や電子署名が用いられている。携帯端末向けのアプリケーションに関しては、アプリケーションの名称を詐称することや、電子署名を付与することが容易であるため、マルウェアによる被害を防止するためには、これら以外の情報についても管理する必要がある。また、携帯端末向けのアプリケーションがインストールされる際には、ユーザはインストール前にアプリケーションのパーミッション等の属性情報を確認することが可能であるが、アプリケーションがバージョンアップされる際には、ユーザがアプリケーションのパーミッションや改良されたコードを知ることができない仕様になっており、バージョンアップの際にマルウェアに変異するアプリケーションを見逃してしまう問題がある。
【０００８】
本発明は、上述した課題に鑑みてなされたものであって、マルウェアをより効果的に駆除することができる携帯端末、プログラム、および通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、上記の課題を解決するためになされたもので、信頼されたアプリケーションの名称を示す第１の名称情報と、当該信頼されたアプリケーションのバージョンを示す第１のバージョン情報と、当該信頼されたアプリケーションの開発者の公開鍵を示す第１の公開鍵情報とを含むホワイトリストを記憶すると共に、インストールされたアプリケーションのプログラムを含むファイルを記憶する記憶部と、前記記憶部に前記アプリケーションのプログラムをインストールするインストール実行部と、前記記憶部にインストールされているアプリケーションから、当該アプリケーションの名称を示す第２の名称情報と、当該アプリケーションのバージョンを示す第２のバージョン情報と、当該アプリケーションの開発者の公開鍵を示す第２の公開鍵情報とを取得し、前記第１の名称情報と前記第２の名称情報、前記第１のバージョン情報と前記第２のバージョン情報、前記第１の公開鍵情報と前記第２の公開鍵情報の３組の情報をそれぞれ比較し、少なくとも１組の情報が一致しなかった場合に、当該比較に係る前記アプリケーションのプログラムを前記記憶部から消去する消去部と、を備えたことを特徴とする携帯端末である。
【００１０】
また、本発明の携帯端末において、前記第１の公開鍵情報および前記第２の公開鍵情報は、前記開発者の公開鍵をハッシュ処理した情報であることを特徴とする。
【００１１】
また、本発明の携帯端末において、前記インストール実行部は、前記アプリケーションのプログラムのインストールが終了したタイミングで、当該インストールの終了を通知する終了情報を出力し、前記消去部は、前記終了情報を検知したタイミングで前記比較を行うことを特徴とする。
【００１２】
また、本発明の携帯端末において、前記ホワイトリストはさらに、当該信頼されたアプリケーションのプログラムがインストールされている前記記憶部の記憶領域を示す領域情報を含み、前記消去部は、前記領域情報が示す領域以外の領域にインストールされているアプリケーションを前記比較の対象とすることを特徴とする。
【００１３】
また、本発明は、上記の携帯端末としてコンピュータを機能させるためのプログラムである。
【００１４】
また、本発明は、携帯端末およびサーバを備えた通信システムであって、前記携帯端末は、信頼されたアプリケーションの名称を示す第１の名称情報と、当該信頼されたアプリケーションのバージョンを示す第１のバージョン情報と、当該信頼されたアプリケーションの開発者の公開鍵を示す第１の公開鍵情報とを含むホワイトリストを前記サーバから受信する第１の通信部と、受信された前記ホワイトリストを記憶すると共に、インストールされたアプリケーションのプログラムを含むファイルを記憶する第１の記憶部と、前記第１の記憶部に前記アプリケーションのプログラムをインストールするインストール実行部と、前記第１の記憶部にインストールされているアプリケーションから、当該アプリケーションの名称を示す第２の名称情報と、当該アプリケーションのバージョンを示す第２のバージョン情報と、当該アプリケーションの開発者の公開鍵を示す第２の公開鍵情報とを取得し、前記第１の名称情報と前記第２の名称情報、前記第１のバージョン情報と前記第２のバージョン情報、前記第１の公開鍵情報と前記第２の公開鍵情報の３組の情報をそれぞれ比較し、少なくとも１組の情報が一致しなかった場合に、当該比較に係る前記アプリケーションのプログラムを前記第１の記憶部から消去する消去部と、を有し、前記サーバは、前記ホワイトリストを記憶する第２の記憶部と、前記ホワイトリストを前記携帯端末へ送信する第２の通信部と、を有することを特徴とする通信システムである。
【００１５】
また、本発明の通信システムにおいて、前記第１の通信部はさらに、前記サーバに前記ホワイトリストの取得要求を定期的に送信し、前記サーバはさらに、前記携帯端末からの前記取得要求を監視し、最後に前記取得要求が受信されてから一定時間内に前記取得要求が受信されなかった場合に警告情報を生成する警告部を有し、前記第２の通信部は、前記携帯端末から前記取得要求を受信した場合に前記ホワイトリストを前記携帯端末へ送信することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、アプリケーションの名称、アプリケーションのバージョン、およびアプリケーションの開発者の公開鍵を用いたホワイトリスト方式を採用することによって、マルウェアをより効果的に駆除することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態によるアプリケーション管理システムの構成を示すブロック図である。
【図２】本発明の一実施形態による携帯端末の構成を示すブロック図である。
【図３】本発明の一実施形態による管理サーバの構成を示すブロック図である。
【図４】本発明の一実施形態におけるホワイトリストの内容を示す参考図である。
【図５】本発明の一実施形態による携帯端末の動作の手順を示すフローチャートである。
【図６】本発明の一実施形態における端末リストの内容を示す参考図である。
【図７】本発明の一実施形態による管理サーバの動作の手順を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、図面を参照し、本発明の実施形態を説明する。図１は、本発明の一実施形態によるアプリケーション管理システムの構成を示している。図１に示すアプリケーション管理システムは、携帯端末１、アプリケーション販売サーバ２、管理用端末３、および管理サーバ４を備える。
【００１９】
携帯端末１は、ユーザが所持するスマートフォン等の端末である。アプリケーション販売サーバ２は、携帯端末１にインストールされる各種アプリケーションをインターネットサービスにより販売するサーバである。管理用端末３は、携帯端末１と同等のハードウェア構成を備えており、アプリケーション販売サーバ２で販売されるアプリケーションを収集し、そのアプリケーションをインストールおよび実行して挙動を解析する端末である。管理サーバ４は、携帯端末１にインストールされていてもよい信頼されたアプリケーションの情報が登録されたホワイトリストを管理するサーバである。
【００２０】
ホワイトリストは管理サーバ４によって生成される。管理サーバ４は、ホワイトリストを生成するために必要な情報を管理用端末３から取得する。管理用端末３は、アプリケーション販売サーバ２からアプリケーションファイルを受信して自身の記憶装置に蓄積している。管理用端末３は、アプリケーションファイルに基づいてアプリケーションをインストールし、さらにインストールしたアプリケーションを実行し、アプリケーション実行時の挙動を実行ログに記録して保持する。さらに、管理用端末３は、インストールしたアプリケーションの実行ファイルから、ホワイトリストの生成に必要な情報を抽出する。
【００２１】
ホワイトリストの生成に必要な情報の抽出は以下のようにして行われる。携帯端末向けのアプリケーションの実行ファイル（パッケージ）には、命令列を含む実行コード（実行プログラム）、アプリケーションの名称に相当するパッケージ名（名称情報）、アプリケーションのバージョンを示すバージョン情報、アプリケーションに付与された電子署名、およびアプリケーションを開発した開発者の公開鍵（公開鍵情報）等が含まれる。管理用端末３は、アプリケーションの実行ファイルから、文字列で構成されるパッケージ名、数値列で構成されるバージョン情報、文字列で構成される公開鍵を抽出する。
【００２２】
管理用端末３は、アプリケーションの実行ファイルから抽出した情報と、保持している実行ログとを管理サーバ４へ送信する。管理用端末３が実行ログと共にアプリケーションの実行ファイルを管理サーバ４へ送信するようにしてもよい。管理サーバ４は、アプリケーションの実行ファイルから抽出された情報と実行ログとを受信し、実行ログに基づいて、アプリケーションの信頼性を検証する。アプリケーションの信頼性を検証する手法はどのような手法であってもよい。アプリケーションの信頼性を検証した結果、検証対象のアプリケーションが信頼できると判断した場合、管理サーバ４は、アプリケーションの実行ファイルから抽出された情報をホワイトリストに登録する。
【００２３】
図２は携帯端末１の構成を示している。携帯端末１は、制御部１０、通信部１１、表示部１２、操作部１３、および記憶部１４を備える。制御部１０は携帯端末１内の各部を制御する。通信部１１はアプリケーション販売サーバ２および管理用端末３と通信を行う。表示部１２は各種情報を表示する。操作部１３は、ユーザが操作する各種ボタンやキー等を備える。記憶部１４はアプリケーションファイルやホワイトリスト等を記憶する。携帯端末１には、OSとしてAndroid（登録商標）が実装されている。
【００２４】
制御部１０は、ホワイトリスト取得部１０ａ、インストール実行部１０ｂ、アプリケーション消去部１０ｃ、およびデバイス制御部１０ｄを備える。ホワイトリスト取得部１０ａは、管理サーバ４からホワイトリストを取得するための処理を行う。インストール実行部１０ｂは、記憶部１４に格納されているアプリケーションファイルを用いてアプリケーションのインストールを実行する。アプリケーション消去部１０ｃは、携帯端末１にインストールされているアプリケーションの検証（認証）を行い、不要なアプリケーションの消去（アンインストール）を実行する。ホワイトリスト取得部１０ａ、インストール実行部１０ｂ、およびアプリケーション消去部１０ｃは、アプリケーションとして実装される。デバイス制御部１０ｄは、デバイスドライバとしての機能を有し、携帯端末１が備えるデバイス（通信部１１、表示部１２、操作部１３、および記憶部１４）の動作を制御する。
【００２５】
図３は管理サーバ４の構成を示している。管理サーバ４は、制御部４０、通信部４１、表示部４２、操作部４３、および記憶部４４を備える。制御部４０は管理サーバ４内の各部を制御する。通信部４１は携帯端末１および管理用端末３と通信を行う。表示部４２は各種情報を表示する。操作部４３は、ユーザが操作する各種ボタンやキー等を備える。記憶部４４はホワイトリスト等を記憶する。
【００２６】
制御部４０は、アプリケーション検証部４０ａ、ホワイトリスト管理部４０ｂ、端末管理部４０ｃ、およびデバイス制御部４０ｄを備える。アプリケーション検証部４０ａは、アプリケーションの信頼性を検証する。ホワイトリスト管理部４０ｂはホワイトリストを管理する。端末管理部４０ｃは、ホワイトリストを取得している携帯端末１の状態を管理する。アプリケーション検証部４０ａ、ホワイトリスト管理部４０ｂ、および端末管理部４０ｃは、アプリケーションとして実装される。デバイス制御部４０ｄは、デバイスドライバとしての機能を有し、管理サーバ４が備えるデバイス（通信部１１、表示部１２、操作部１３、および記憶部１４）の動作を制御する。
【００２７】
ホワイトリストへの情報の登録は以下のようにして行われる。前述したように、アプリケーションの実行ファイルから抽出された情報と実行ログが管理用端末３から送信される。これらは、デバイス制御部４０ｄによる制御に従って通信部４１によって受信され、記憶部４４に格納される。アプリケーション検証部４０ａは、デバイス制御部４０ｄを介して記憶部４４から実行ログを取得し、実行ログに基づいてアプリケーションの信頼性を検証する。
【００２８】
アプリケーション検証部４０ａがアプリケーションの信頼性を検証した結果はホワイトリスト管理部４０ｂに通知される。アプリケーション検証部４０ａによって、アプリケーションが信頼できると判断された場合、ホワイトリスト管理部４０ｂは、デバイス制御部４０ｄを介して記憶部４４から、検証対象のアプリケーションについてのパッケージ名、バージョン情報、および公開鍵の各情報を取得する。
【００２９】
既に記憶部４４にホワイトリストが格納されていれば、ホワイトリスト管理部４０ｂは、デバイス制御部４０ｄを介して記憶部４４からホワイトリストを取得し、上記の各情報をホワイトリストに追加することによってホワイトリストを更新し、デバイス制御部４０ｄを介して、記憶部４４に格納されている更新前のホワイトリストを更新後のホワイトリストで置き換える。また、記憶部４４にホワイトリストが格納されていなければ、ホワイトリスト管理部４０ｂは、上記の各情報を含むホワイトリストを新たに生成し、デバイス制御部４０ｄを介してホワイトリストを記憶部４４に格納する。
【００３０】
図４はホワイトリストの内容の一例を示している。図４に示すようにホワイトリストでは、アプリケーション毎に、パッケージ名（例えばＰ１）、バージョン情報（例えばＶ１）、開発者の公開鍵（例えばＰＫ１）が登録されている。
【００３１】
次に、携帯端末１の動作を説明する。携帯端末１は定期的に管理サーバ４にアクセスし、ホワイトリストを取得する。具体的には、携帯端末１のホワイトリスト取得部１０ａは、ホワイトリストの取得要求を生成し、通信部１１へ出力する。通信部１１は、デバイス制御部４０ｄによる制御に従って管理サーバ４と通信を行い、取得要求を管理サーバ４へ送信する。管理サーバ４の通信部４１は、デバイス制御部４０ｄによる制御に従って取得要求を受信し、ホワイトリスト管理部４０ｂへ出力する。ホワイトリスト管理部４０ｂは、取得要求に従って、デバイス制御部４０ｄを介して記憶部４４からホワイトリストを取得し、通信部４１へ出力する。通信部４１は、デバイス制御部４０ｄによる制御に従って、取得要求の送信元である携帯端末１と通信を行い、ホワイトリストを携帯端末１へ送信する。
【００３２】
携帯端末１の通信部１１は、デバイス制御部１０ｄによる制御に従ってホワイトリストを受信し、ホワイトリスト取得部１０ａへ出力する。ホワイトリスト取得部１０ａは、デバイス制御部１０ｄを介してホワイトリストを記憶部１４に格納する。上記のようにして携帯端末１は管理サーバ４からホワイトリストを取得し、保持する。
【００３３】
携帯端末１は、ホワイトリストを用いて以下のように動作する。ユーザが操作部１３を操作してアプリケーションのインストール指示を入力すると、デバイス制御部１０ｄは、操作部１３から出力される情報に基づいてインストール指示を検出し、インストール実行部１０ｂにインストール指示を通知する。インストール実行部１０ｂは、デバイス制御部１０ｄを介して記憶部１４からアプリケーションファイルを取得し、圧縮ファイルであるアプリケーションファイルを伸張し、デバイス制御部１０ｄを介して伸張後のアプリケーションの実行ファイルを記憶部１４に格納すると共に、アプリケーションを実行するための各種設定を行う。
【００３４】
インストール実行部１０ｂは、インストールが完了すると、インストールの完了を示すインテントの一種である“Package Added”（終了情報）を携帯端末１内にブロードキャストする。インテントは、Android（登録商標）のアプリケーションフレームワークで提供されている機能であり、アプリケーションを構成するオブジェクトであるアクティビティに対するメッセージとして機能するものである。
【００３５】
図５は、ホワイトリストを用いてアプリケーションの確認（認証）を行う際の携帯端末１の動作を示している。アプリケーション消去部１０ｃは、インストール実行部１０ｂからインテント“Package Added”が出力されるまで待機している（ステップＳ１００）。インテント“Package Added”を検知した場合、アプリケーション消去部１０ｃは、デバイス制御部１０ｄを介して、記憶部１４に格納されているホワイトリストを取得する（ステップＳ１０５）。続いて、アプリケーション消去部１０ｃは、デバイス制御部１０ｄを介して、記憶部１４にインストールされたアプリケーションの実行ファイルから、パッケージ名、バージョン情報、および開発者の公開鍵を取得する（ステップＳ１１０）。
【００３６】
アプリケーション消去部１０ｃは、アプリケーションの実行ファイルから取得したパッケージ名、バージョン情報、および開発者の公開鍵のそれぞれを、ホワイトリストに登録されている各情報と比較する（ステップＳ１１５）。図４に示したように、各情報はアプリケーション単位でホワイトリストに登録されており、ステップＳ１１５ではアプリケーション単位の情報の組合せに対して比較が行われる。例えば、アプリケーションの実行ファイルから取得した各情報が、ホワイトリスト内のパッケージ名Ｐ１、バージョン情報Ｖ１、開発者の公開鍵ＰＫ１と比較され、続いてパッケージ名Ｐ２、バージョン情報Ｖ２、開発者の公開鍵ＰＫ２と比較され、続いてパッケージ名Ｐ３、バージョン情報Ｖ３、開発者の公開鍵ＰＫ３と比較される。
【００３７】
アプリケーションの実行ファイルから取得した各情報の組合せが、ホワイトリストに登録されているアプリケーション単位の情報の組合せのいずれかと完全に一致した場合（ステップＳ１２０）、ホワイトリストに登録されている正規のアプリケーションと同一のアプリケーションがインストールされたことになる。この場合、処理はステップＳ１００に戻る。
【００３８】
また、アプリケーションの実行ファイルから取得した各情報の組合せが、ホワイトリストに登録されているアプリケーション単位の情報の組合せのいずれとも一致しなかった場合（ステップＳ１２０）、アプリケーション消去部１０ｃは、デバイス制御部１０ｄを介して、ステップＳ１００でインストールを検知したアプリケーションのプログラムや各種設定情報を記憶部１４から消去（アンインストール）する（ステップＳ１２５）。続いて、処理はステップＳ１００に戻る。
【００３９】
上記の処理により、ホワイトリストに登録されている情報と一致しない情報を有するアプリケーションは携帯端末１から削除される。したがって、信頼されたアプリケーションのみがインストールされている状態に携帯端末１を保つことができる。図５に示す処理はアプリケーションのインストール動作と連動しており、アプリケーションの消去が行われるよりも前にユーザがインストール直後のアプリケーションを起動することは困難であるが、安全性をより向上するため、ステップＳ１１５の処理が終了してステップＳ１００に戻るまで、またはステップＳ１２５の処理が終了するまではユーザによるアプリケーションの起動を受け付けないようにしてもよい。
【００４０】
ステップＳ１１５で各情報の比較を行う際、文字列である開発者の公開鍵をそのまま用いて比較を行うと、1024ビットあるいは2048ビットの文字列の比較が必要になり、この文字列の比較に要する処理負荷が大きい。携帯端末ではCPU負荷や消費電力が制限されるため、携帯端末でこの文字列の比較を行うのは好ましくない。そこで、開発者の公開鍵については、ハッシュ計算（ハッシュ処理）を施した公開鍵を使用してもよい。具体的には、管理サーバ４において、開発者の公開鍵に対してハッシュ計算が行われ、計算結果が開発者の公開鍵としてホワイトリストに登録される。また、携帯端末１においてアプリケーション消去部１０ｃは、ステップＳ１１０でアプリケーションから開発者の公開鍵を取得した際、公開鍵に対してハッシュ計算を施し、例えば160ビット程度の文字列に圧縮する。ハッシュ計算に要する処理負荷は上記の文字列の比較に要する処理負荷よりも小さい。
【００４１】
上記では、パッケージ名、バージョン情報、開発者の公開鍵の３つを使用しているが、アプリケーションのインストールを制限することによる安全性と、アプリケーションのインストールを許容することによる利便性とを考慮して、上記の情報の組合せを変更してもよい。例えば、開発者の公開鍵のみを使用するパターン、開発者の公開鍵とパッケージ名を使用するパターン、開発者の公開鍵とパッケージ名とバージョン情報を使用するパターンの３つのパターンを用意しておき、携帯端末１がいずれかのパターンのみで動作するようにしてもよい。上記のパターンは、例えば携帯端末１のユーザが所属する団体毎に決定される。また、上記のパターンを変更するためには、例えば携帯端末１に実装されている、ホワイトリスト取得部１０ａ、インストール実行部１０ｂ、アプリケーション消去部１０ｃの機能を実現するアプリケーションの変更を要する。
【００４２】
上記では、アプリケーションがインストールされるタイミングで、ホワイトリストを用いたアプリケーションの確認が行われているが、既にインストールされているアプリケーションを対象として、この確認を定期的に行ってもよい。例えば、アプリケーション消去部１０ｃは、記憶部１４にインストールされているアプリケーションの実行ファイルを対象として、定期的にステップＳ１０５〜Ｓ１２５の処理を実行する。
【００４３】
この場合、携帯端末１の製造段階で予めインストール（プリインストール）されるアプリケーションについては信頼できるアプリケーションとみなし、そのアプリケーションを処理の対象から除外してもよい。例えば、プリインストールされるアプリケーションの多くはシステム領域に保存されるため、記憶部１４において、システム領域以外の記憶領域に保存されているアプリケーションを処理の対象とすればよい。
【００４４】
具体的には、前回処理を行ってから所定時間が経過した等の条件を満たした場合、アプリケーション消去部１０ｃは、デバイス制御部１０ｄを介して、記憶部１４に格納されているホワイトリストを取得する。ホワイトリストには、信頼できるアプリケーションの実行ファイルが格納されている記憶領域（例えばシステム領域）を示す領域情報が付加されている。アプリケーション消去部１０ｃは、記憶部１４において、この領域情報が示す記憶領域に格納されているアプリケーションについては以降の処理から除外し、ステップＳ１１０〜Ｓ１２５と同様の処理を行う。
【００４５】
なお、信頼できるアプリケーションの実行ファイルが格納されている記憶領域を示す領域情報をホワイトリストに付加する方法として、ホワイトリストにおいて、該当するアプリケーションのパッケージ名を絶対パスとして表記し、絶対パスの文字列の一部を領域情報とする方法を用いてもよい。
【００４６】
次に、管理サーバ４が携帯端末１の状態を管理する動作を説明する。ホワイトリスト取得部１０ａ、インストール実行部１０ｂ、およびアプリケーション消去部１０ｃの機能を実装したアプリケーションが悪意のユーザによって携帯端末１から消去される可能性がある。このため、管理サーバ４は携帯端末１が定期的にホワイトリストを取得しているか否かを確認し、定期的にホワイトリストを取得していない携帯端末１があった場合に警告を発する。
【００４７】
管理サーバ４の記憶部４４には、携帯端末１の状態を管理するための端末リストが格納されている。図６は端末リストの内容の一例を示している。図６に示すように端末リストでは、法人名（例えばＣ１）、端末識別子（例えばＮ１）、取得時刻（例えばＴ１）が登録されている。法人名は、携帯端末１のユーザが所属している法人の名称である。端末識別子は、携帯端末１の個体を識別する情報であり、例えば電話番号である。取得時刻は、携帯端末１が最後にホワイトリストを取得した時刻である。
【００４８】
図７は管理サーバ４の動作を示している。端末管理部４０ｃは、デバイス制御部４０ｄを介して通信部４１から制御部４０へ出力される情報を監視し、携帯端末１からホワイトリストの取得要求が受信されたか否かを判定する（ステップＳ２００）。取得要求が受信された場合、端末管理部４０ｃは、取得要求に含まれる携帯端末１の端末識別子を確認する（ステップＳ２０５）。
【００４９】
続いて、端末管理部４０ｃは、デバイス制御部４０ｄを介して記憶部４４から端末リストを取得し、端末リストにおいて、取得要求に含まれる端末識別子と同一の端末識別子と組み合わされている取得時刻を現在の時刻に置き換えることによって端末リストを更新し、デバイス制御部４０ｄを介して、記憶部４４に格納されている更新前の端末リストを更新後の端末リストで置き換える（ステップＳ２１０）。
【００５０】
続いて、ホワイトリスト管理部４０ｂは、取得要求に従って、デバイス制御部４０ｄを介して記憶部４４からホワイトリストを取得し、通信部４１へ出力する。通信部４１は、デバイス制御部４０ｄによる制御に従って、取得要求の送信元である携帯端末１と通信を行い、ホワイトリストを携帯端末１へ送信する（ステップＳ２１５）。続いて、処理はステップＳ２００に戻る。
【００５１】
ステップＳ２００において、取得要求が受信されていない場合、端末管理部４０ｃは、デバイス制御部４０ｄを介して記憶部４４から端末リストを取得し、端末リストにおいて、各携帯端末１の取得時刻を順に確認する（ステップＳ２２０）。端末管理部４０ｃは、ステップＳ２２０で取得時刻を確認した結果に基づいて、端末リストに記録されている取得時刻と現在の時刻との差が所定時間を超えている携帯端末１があるか否か（すなわち、最後にホワイトリストを取得してから所定時間以上ホワイトリストを取得していない携帯端末１があるか否か）を判定する（ステップＳ２２５）。
【００５２】
端末リストに記録されている取得時刻と現在の時刻との差が所定時間を超えている携帯端末１があった場合、端末管理部４０ｃは、安全性が保たれていない携帯端末１が存在していることをその携帯端末１の管理者に警告するための警告情報（例えば警告用の電子メール）を生成し、デバイス制御部４０ｄを介して通信部４１へ出力する。通信部４１は、デバイス制御部４０ｄによる制御に従って、管理者の端末と通信を行い、警告情報を端末へ送信する（ステップＳ２３０）。続いて、処理はステップＳ２００に戻る。また、端末リストに記録されている取得時刻と現在の時刻との差が所定時間を超えている携帯端末１がなかった場合、処理はステップＳ２００に戻る。
【００５３】
上記の処理により、ホワイトリスト取得部１０ａ、インストール実行部１０ｂ、およびアプリケーション消去部１０ｃの機能を実装したアプリケーションが携帯端末１から消去されたことを検知し、管理者に警告を発して対策を促すことができる。
【００５４】
本実施形態の携帯端末１および管理サーバ４に関しては、携帯端末１や管理サーバ４の動作および機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行させることにより、携帯端末１および管理サーバ４を構成することが可能である。
【００５５】
ここで、「コンピュータ」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００５６】
また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように、情報を伝送する機能を有する媒体のことをいう。また、上述したプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能を、コンピュータに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【００５７】
上述したように、本実施形態では、パッケージ名、バージョン情報、および開発者の公開鍵を用いたホワイトリスト方式を採用している。バージョン情報をホワイトリストに含めることによって、バージョンアップによりマルウェアに変異したアプリケーションを駆除することができる。また、開発者の公開鍵をホワイトリストに含めることによって、開発者に対しても認証を行うことが可能となり、正規のアプリケーションのパッケージ名を用いて正規のアプリケーションになりすましたマルウェアを駆除することができる。したがって、マルウェアをより効果的に駆除することができる。セキュリティ管理が重要な法人向けのサービスに本実施形態は好適である。
【００５８】
また、ハッシュ計算を施した公開鍵を使用することによって、携帯端末のCPU負荷や消費電力を抑えることができる。また、アプリケーションのインストールが終了した直後のタイミングや、定期的に訪れるタイミングで、携帯端末にインストールされているアプリケーションを検証することによって、マルウェアが携帯端末に導入されている期間を極力短くすることができる。
【００５９】
また、プリインストールされているアプリケーションを、信頼できるアプリケーションとみなし、携帯端末１におけるアプリケーションの検証の対象から除外することによって、携帯端末のCPU負荷や消費電力を抑えることができる。さらに、携帯端末がホワイトリストを定期的に取得しているか否かを確認することによって、携帯端末の状態をより安全に保つことができる。
【００６０】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【００６１】
１・・・携帯端末、２・・・アプリケーション販売サーバ、３・・・管理用端末、４・・・管理サーバ、１０，４０・・・制御部、１０ａ・・・ホワイトリスト取得部、１０ｂ・・・インストール実行部、１０ｃ・・・アプリケーション消去部、１０ｄ，４０ｄ・・・デバイス制御部、１１，４１・・・通信部、１２，４２・・・表示部、１３，４３・・・操作部、１４，４４・・・記憶部、４０ａ・・・アプリケーション検証部、４０ｂ・・・ホワイトリスト管理部、４０ｃ・・・端末管理部
【図１】
0005572573.tif 000002
【図２】
0005572573.tif 000003
【図３】
0005572573.tif 000004
【図４】
0005572573.tif 000005
【図５】
0005572573.tif 000006
【図６】
0005572573.tif 000007
【図７】
0005572573.tif 000008