(57)【特許請求の範囲】
【請求項１】
コンピュータを、
架空のデータである架空データを用いてアプリケーションプログラムを実行するアプリ実行手段と、
正規のデータである正規データを用いて実行するアプリケーションプログラムを識別する識別情報を、正規起動アプリリストとして記憶する管理アプリ記憶手段と、
アプリケーションプログラムの起動を検出するアプリ起動検出手段と、
前記正規起動アプリリストを参照して、前記アプリ起動検出手段により検出した前記アプリケーションプログラムについて前記正規データでの起動を許可するか否かを判断する起動判断手段と、
して機能させ、
前記アプリ実行手段を、前記起動判断手段により前記正規データでの起動を許可すると判断された場合には、前記架空データに代えて、前記正規データを用いて前記アプリケーションプログラムを起動して実行するように機能させること、
を特徴とする制御プログラム。
【請求項２】
請求項１に記載の制御プログラムにおいて、
前記管理アプリ記憶手段を、複数の前記正規起動アプリリストを記憶するように機能させ、
前記複数の正規起動アプリリストの各々は、異なる前記識別情報を記憶しており、
コンピュータを、前記複数の正規起動アプリリストから１つの前記正規起動アプリリストを選択するアプリ情報選択手段として機能させること、
を特徴とする制御プログラム。
【請求項３】
請求項１に記載の制御プログラムにおいて、
前記管理アプリ記憶手段を、複数の前記正規起動アプリリストを記憶するように機能させ、
前記複数の正規起動アプリリストの各々は、異なる前記識別情報を記憶しており、
前記起動判断手段を、前記アプリケーションプログラムの前記識別情報が前記複数の正規起動アプリリストのいずれにも記憶されている場合に、前記アプリケーションプログラムについて前記正規データでの起動を許可するように機能させること、
を特徴とする制御プログラム。
【請求項４】
請求項１から請求項３までのいずれかに記載の制御プログラムにおいて、
前記アプリケーションプログラムがアクセスする実行データ領域には、予め前記架空データを記憶しており、
前記アプリ実行手段を、前記起動判断手段により前記正規データでの起動を許可すると判断された場合には、前記正規データを前記実行データ領域に移動して、前記アプリケーションプログラムを起動して実行するように機能させ、
前記コンピュータを、
実行中の前記アプリケーションプログラムに対する終了を検出するアプリ終了検出手段と、
前記アプリ終了検出手段による検出に応じて、終了される前記アプリケーションプログラムが前記正規起動アプリリストに記憶されたものである場合には、前記正規データを前記アプリケーションプログラムがアクセスしない正規データ領域に移動して、前記アプリケーションプログラムがアクセスしない前記正規データ領域とは異なる架空データ領域に記憶されている前記架空データを前記実行データ領域に移動させるデータ移動手段と、
して機能させるための制御プログラム。
【請求項５】
請求項４に記載の制御プログラムにおいて、
前記アプリ実行手段を、前記起動判断手段により前記正規データでの起動を許可すると判断された場合には、暗号化された前記正規データを復号して前記実行データ領域に移動するように機能させ、
前記データ移動手段を、前記正規データを暗号化して前記正規データ領域に移動するように機能させること、
を特徴とする制御プログラム。
【請求項６】
請求項１から請求項５までのいずれかに記載の制御プログラムにおいて、
前記コンピュータを、前記アプリ実行手段による前記アプリケーションプログラムの実行中に、前記アプリケーションプログラムが前記架空データにアクセスした場合に、前記架空データへのアクセスを通知するアクセス通知手段として機能させること、
を特徴とする制御プログラム。
【請求項７】
請求項１から請求項６までのいずれかに記載の制御プログラムにおいて、
前記コンピュータを、
前記アプリ実行手段による前記アプリケーションプログラムの実行中に、前記アプリケーションプログラムが前記架空データにアクセスした場合に、前記コンピュータに対して通信ネットワークを介して接続されたサーバに、前記アプリケーションプログラムと前記架空データの情報とを含むアクセスアプリ情報を送信するアクセスアプリ情報送信手段と、
前記サーバから、前記サーバによって集計された前記架空データにアクセスしたアプリケーションプログラムの集計情報を受信する集計情報受信手段と、
して機能させ、
前記起動判断手段を、前記集計情報受信手段により受信した前記集計情報に含まれる前記アプリケーションプログラムの起動に関して、前記正規データでの起動を拒否するように機能させること、
を特徴とする制御プログラム。
【請求項８】
請求項１から請求項７までのいずれかに記載の制御プログラムにおいて、
前記コンピュータを、
前記アプリケーションプログラムに関する事前準備の開始指示を検出する準備指示検出手段と、
前記アプリケーションプログラムの前記架空データを生成する準備データ生成手段と、
して機能させること、
を特徴とする制御プログラム。
【請求項９】
請求項８に記載の制御プログラムにおいて、
前記準備データ生成手段を、前記コンピュータに対して通信ネットワークを介して接続されたサーバから前記アプリケーションプログラムに対応する前記架空データをダウンロードすることで、前記架空データを生成するように機能させること、
を特徴とする制御プログラム。
【請求項１０】
請求項８又は請求項９に記載の制御プログラムにおいて、
前記準備指示検出手段を、前記アプリ起動検出手段により検出された前記アプリケーションプログラムが最初に起動された場合に、前記開始指示を検出するように機能させること、
を特徴とする制御プログラム。
【請求項１１】
請求項１から請求項１０までのいずれかに記載の制御プログラムにおいて、
前記コンピュータを、複数のアプリケーションプログラムが同時に起動可能な状況下で、単独で起動させる前記アプリケーションプログラムを識別する識別情報を単独アプリ情報として記憶する単独アプリ記憶手段と、
前記アプリ起動検出手段による検出に応じて、起動を検出した前記アプリケーションプログラムを除く他のアプリケーションプログラムが起動しているか否かを判断する定常状態判断手段と、
して機能させ、
前記起動判断手段を、前記定常状態判断手段により前記他のアプリケーションプログラムが起動していないと判断された場合であって、前記アプリケーションプログラムの前記識別情報が前記単独アプリ情報に記憶されている場合に、前記アプリケーションプログラムについて前記正規データでの起動を許可するように機能させること、
を特徴とする制御プログラム。
【請求項１２】
請求項１から請求項１１までのいずれかに記載の制御プログラムを記憶する記憶部と、
前記記憶部に記憶された前記制御プログラムを実行する制御部と、
を備える端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御プログラム及び端末に関する。
【背景技術】
【０００２】
携帯電話機等の端末には、電話帳や、アドレス帳、画像といった様々な個人情報が記憶されている。近年、悪意あるアプリケーションプログラム（以下、アプリともいう。）が、端末の使用者が知らない間にこれらの情報を外部に漏洩する、といったことが発生しており、社会問題になっている。この問題の解決方法として、悪意あるアプリを排除するシステムとしてのウィルス対策ソフトを導入することが知られている。しかし、ウィルス対策ソフトでは、防ぐことができないケースが散見されている。
【０００３】
また、携帯電話機内のアプリケーションが機密ファイルのオープンを指示した場合に、アクセス元がファイル管理サービス以外であるときに機密ファイルへのアクセスを禁止するものが提案されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００８／１２９７０１号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、アクセス元がファイル管理サービス以外の場合に機密ファイルのアクセスを禁止してしまうので、そのアプリケーションが起動されない。しかし、アプリケーションには、悪意がないことが確認されているもの以外に、悪意があるか否か不明なものも数多く存在する。そういった中において、これらの不明なアプリケーションを起動できないのは、ユーザにとって利便性に欠けるものであった。
【０００６】
そこで、本発明は、アプリケーションプログラム自体を正常に動作させつつ、機密データを保護する制御プログラム及び端末を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、以下のような解決手段により、前記課題を解決する。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。また、符号を付して説明した構成は、適宜改良してもよく、また、少なくとも一部を他の構成物に代替してもよい。
【０００８】
第１の発明は、コンピュータ（１，２０１，３０１，４０１）を、架空のデータである架空データを用いてアプリケーションプログラム（２３）を実行するアプリ実行手段（４３，４４３）と、正規のデータである正規データを用いて実行するアプリケーションプログラムを識別する識別情報を、正規起動アプリリストとして記憶する管理アプリ記憶手段（６１ａ）と、アプリケーションプログラムの起動を検出するアプリ起動検出手段（４１）と、前記正規起動アプリリストを参照して、前記アプリ起動検出手段により検出した前記アプリケーションプログラムについて前記正規データでの起動を許可するか否かを判断する起動判断手段（４２，３４２）と、して機能させ、前記アプリ実行手段を、前記起動判断手段により前記正規データでの起動を許可すると判断された場合には、前記架空データに代えて、前記正規データを用いて前記アプリケーションプログラムを起動して実行するように機能させること、を特徴とする制御プログラム（２２，２２２，３２２，４２２）である。
第２の発明は、第１の発明の制御プログラムにおいて、前記管理アプリ記憶手段を、複数の前記正規起動アプリリストを記憶するように機能させ、前記複数の正規起動アプリリストの各々は、異なる前記識別情報を記憶しており、コンピュータを、前記複数の正規起動アプリリストから１つの前記正規起動アプリリストを選択するアプリ情報選択手段として機能させること、を特徴とする制御プログラムである。
第３の発明は、第１の発明の制御プログラムにおいて、前記管理アプリ記憶手段を、複数の前記正規起動アプリリストを記憶するように機能させ、前記複数の正規起動アプリリストの各々は、異なる前記識別情報を記憶しており、前記起動判断手段を、前記アプリケーションプログラムの前記識別情報が前記複数の正規起動アプリリストのいずれにも記憶されている場合に、前記アプリケーションプログラムについて前記正規データでの起動を許可するように機能させること、を特徴とする制御プログラムである。
第４の発明は、第１の発明から第３の発明までのいずれかの制御プログラム（２２，２２２，３２２）において、前記アプリケーションプログラム（２３）がアクセスする実行データ領域（６５）には、予め前記架空データを記憶しており、前記アプリ実行手段（４３）を、前記起動判断手段（４２，３４２）により前記正規データでの起動を許可すると判断された場合には、前記正規データを前記実行データ領域に移動して、前記アプリケーションプログラムを起動して実行するように機能させ、前記コンピュータ（１，２０１，３０１）を、実行中の前記アプリケーションプログラムに対する終了を検出するアプリ終了検出手段（４５）と、前記アプリ終了検出手段による検出に応じて、終了される前記アプリケーションプログラムが前記正規起動アプリリスト（６１ａ）に記憶されたものである場合には、前記正規データを前記アプリケーションプログラムがアクセスしない正規データ領域（６４）に移動して、前記アプリケーションプログラムがアクセスしない前記正規データ領域とは異なる架空データ領域（６６）に記憶されている前記架空データを前記実行データ領域に移動させるデータ移動手段（４６）と、して機能させるための制御プログラムである。
第５の発明は、第４の発明の制御プログラム（２２，２２２，３２２）において、前記アプリ実行手段（４３）を、前記起動判断手段（４２，３４２）により前記正規データでの起動を許可すると判断された場合には、暗号化された前記正規データを復号して前記実行データ領域（６５）に移動するように機能させ、前記データ移動手段（４６）を、前記正規データを暗号化して前記正規データ領域（６４）に移動するように機能させること、を特徴とする制御プログラムである。
第６の発明は、第１の発明から第５の発明までのいずれかの制御プログラム（２２，２２２，３２２，４２２）において、前記コンピュータ（１，２０１，３０１，４０１）を、前記アプリ実行手段（４３，４４３）による前記アプリケーションプログラム（２３）の実行中に、前記アプリケーションプログラムが前記架空データにアクセスした場合に、前記架空データへのアクセスを通知するアクセス通知手段（４４）として機能させること、を特徴とする制御プログラムである。
第７の発明は、第１の発明から第６の発明までのいずれかの制御プログラム（３２２）において、前記コンピュータ（３０１）を、前記アプリ実行手段（４３）による前記アプリケーションプログラム（２３）の実行中に、前記アプリケーションプログラムが前記架空データにアクセスした場合に、前記コンピュータに対して通信ネットワークを介して接続されたサーバ（３０２）に、前記アプリケーションプログラムと前記架空データの情報とを含むアクセスアプリ情報を送信するアクセスアプリ情報送信手段（３４８）と、前記サーバから、前記サーバによって集計された前記架空データにアクセスしたアプリケーションプログラムの集計情報を受信する集計情報受信手段（３４９）と、して機能させ、前記起動判断手段（３４２）を、前記集計情報受信手段により受信した前記集計情報に含まれる前記アプリケーションプログラムの起動に関して、前記正規データでの起動を拒否するように機能させること、を特徴とする制御プログラムである。
第８の発明は、第１の発明から第７の発明までのいずれかの制御プログラム（２２，２２２，３２２，４２２）において、前記コンピュータ（１，２０１，３０１，４０１）を、前記アプリケーションプログラム（２３）に関する事前準備の開始指示を検出する準備指示検出手段（３１）と、前記アプリケーションプログラムの前記架空データを生成する準備データ生成手段（３２，４３２）と、して機能させること、を特徴とする制御プログラムである。
第９の発明は、第８の発明の制御プログラムにおいて、前記準備データ生成手段を、前記コンピュータに対して通信ネットワークを介して接続されたサーバから前記アプリケーションプログラムに対応する前記架空データをダウンロードすることで、前記架空データを生成するように機能させること、を特徴とする制御プログラムである。
第１０の発明は、第８の発明又は第９の発明の制御プログラム（２２，２２２，３２２，４２２）において、前記準備指示検出手段（３１）を、前記アプリ起動検出手段（４１）により検出された前記アプリケーションプログラム（２３）が最初に起動された場合に、前記開始指示を検出するように機能させること、を特徴とする制御プログラムである。
第１１の発明は、第１の発明から第１０の発明までのいずれかの制御プログラム（２２２）において、前記コンピュータ（２０１）を、複数のアプリケーションプログラム（２３）が同時に起動可能な状況下で、単独で起動させる前記アプリケーションプログラムを識別する識別情報を単独アプリ情報として記憶する単独アプリ記憶手段（２６１ｂ）と、前記アプリ起動検出手段（４１）による検出に応じて、起動を検出した前記アプリケーションプログラムを除く他のアプリケーションプログラムが起動しているか否かを判断する定常状態判断手段（２４７）と、して機能させ、前記起動判断手段（４２）を、前記定常状態判断手段により前記他のアプリケーションプログラムが起動していないと判断された場合であって、前記アプリケーションプログラムの前記識別情報が前記単独アプリ情報に記憶されている場合に、前記アプリケーションプログラムについて前記正規データでの起動を許可するように機能させること、を特徴とする制御プログラムである。
【０００９】
第１２の発明は、第１の発明から第１１の発明までのいずれかの制御プログラム（２，２２２，３２２，４２２）を記憶する記憶部（１９，２１９，３１９，４１９）と、前記記憶部に記憶された前記制御プログラムを実行する制御部（１０，２１０，３１０，４１０）と、を備える端末（１，２０１，３０１，４０１）である。
【発明の効果】
【００１０】
本発明によれば、アプリケーションプログラム自体を正常に動作させつつ、機密データを保護する制御プログラム及び端末を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態に係る端末システムでの携帯情報端末のハードウェア構成を示す図である。
【図２】第１実施形態に係る携帯情報端末のソフトウェアの構造を説明するための図である。
【図３】第１実施形態に係る携帯情報端末の機能構成を示す図である。
【図４】第１実施形態に係るデータ領域の具体例を示す図である。
【図５】第１実施形態に係る携帯情報端末の事前準備処理のフローチャートである。
【図６】第１実施形態に係る端末システムでの携帯情報端末のメイン処理のフローチャートである。
【図７】第１実施形態に係る画面例を示す図である。
【図８】第１実施形態に係る携帯情報端末の開始処理のフローチャートである。
【図９】第１実施形態に係る携帯情報端末のＡＰＬ監視処理のフローチャートである。
【図１０】第１実施形態に係る携帯情報端末の終了処理のフローチャートである。
【図１１】第２実施形態に係る携帯情報端末の機能構成を示す図である。
【図１２】第２実施形態に係る携帯情報端末の開始処理のフローチャートである。
【図１３】第２実施形態に係る画面例を示す図である。
【図１４】第３実施形態に係る端末システムでの携帯情報端末の機能構成を示す図である。
【図１５】第３実施形態に係る携帯情報端末の開始処理のフローチャートである。
【図１６】第３実施形態に係る携帯情報端末のＡＰＬ監視処理のフローチャートである。
【図１７】第４実施形態に係る携帯情報端末の機能構成を示す図である。
【図１８】第４実施形態に係るデータ領域の具体例を示す図である。
【図１９】第４実施形態に係る携帯情報端末の開始処理のフローチャートである。
【図２０】第４実施形態に係る携帯情報端末の終了処理のフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について、図を参照しながら説明する。なお、これは、あくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
【００１３】
（第１実施形態）
図１は、第１実施形態に係る端末システム１００での携帯情報端末１のハードウェア構成を示す図である。
端末システム１００は、携帯情報端末１と、サーバ２とを備える。
携帯情報端末１は、例えば、スマートフォンに代表される個人用の携帯コンピュータの機能を併せ持った携帯電話機である。
携帯情報端末１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０と、時計回路１１と、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）回路１２と、無線通信回路１３と、バッテリ１４と、タッチパネル１５と、イヤホンマイク１６と、オーディオ／ビデオコーデック１７と、三次元加速度センサ１８と、記憶部１９とを備える。
【００１４】
ＣＰＵ１０は、携帯情報端末１の全体を制御する中央処理装置である。ＣＰＵ１０は、記憶部１９に記憶されている後述するオペレーティングシステム（ＯＳ）、携帯情報端末１の制御プログラムや、各種のアプリケーションプログラムを適宜読み出して実行することにより、上述したハードウェアと協働し、本発明に係る各種機能を実現している。
時計回路１１は、時刻を計測するためのものである。
ＧＰＳ回路１２は、例えば、衛星から受信した電波の強度を利用して、携帯情報端末１の現在の位置情報（緯度・経度）を計測するものである。
無線通信回路１３は、無線通信に係わる高周波処理を担うものである。
【００１５】
バッテリ１４は、携帯情報端末１に対して電力を供給するためのものである。
タッチパネル１５は、表示デバイスと操作パネルの機能を兼ね備えたものである。
イヤホンマイク１６は、携帯情報端末１をユーザが持つことなく、ハンズフリーで通話するためのイヤホンとマイクとが一体となったものである。
【００１６】
オーディオ／ビデオコーデック１７は、音声や画像の記録や伝達に用いるために、アナログ信号をデジタルデータに変換したり、その逆を行ったりしたり、信号やデータを一定の規則に従って符号化／復号する電子回路である。
三次元加速度センサ１８は、携帯情報端末１の加速度（速度の変化率）計測するためのものである。三次元加速度センサ１８は、一定時間の間に速度がどれだけ変化したかを計測する。
記憶部１９は、ＣＰＵ１０を実行するために必要なプログラム、情報等を記憶するためのハードディスク、半導体メモリ素子等の記憶領域である。
サーバ２は、例えば、アプリケーションプログラムのダウンロード元のサーバである。サーバ２は、携帯情報端末１との間で通信して、各種情報を送受信することができる。
【００１７】
次に、このようなハードウェア構成の携帯情報端末１に搭載されるソフトウェアの構成について説明する。図２は、第１実施形態に係る携帯情報端末１のソフトウェアの構造を説明するための図である。
携帯情報端末１には、ハードウェアを直接制御するソフトウェアとしてＯＳ２１が搭載されている。そして、本発明にかかわる制御プログラム２２と、ゲームや、乗り換え案内、業務に関する処理等の各種のアプリケーションプログラムであるＡＰＬ２３とが、このＯＳ２１の上位に搭載される。
【００１８】
制御プログラム２２は、ＯＳ２１の機能に加えてさらに所望の形態でＡＰＬ２３を制御する。すなわち、制御プログラム２２は、ＡＰＬ２３からの要求を受けたＯＳ２１からどういった要求があったかを受け取り、それに対して各処理を行う。例えば、ＡＰＬ２３が実行を要求したことで、ＯＳ２１がＡＰＬ２３を実行し、制御プログラム２２は、ＯＳ２１からＡＰＬ２３を実行したことを受け取る。また、制御プログラム２２は、ＡＰＬ２３を終了させる。また、制御プログラム２２は、各ＡＰＬ２３の状態を所望の状態に管理することにより、コンピュータリソースの使用状態等を適切な状態に管理する。
【００１９】
次に、携帯情報端末１で実現する機能について説明する。図３は、第１実施形態に係る携帯情報端末１の機能構成を示す図である。図４は、第１実施形態に係るデータ領域の具体例を示す図である。
【００２０】
図３に示すように、携帯情報端末１のＣＰＵ１０は、準備指示検出手段３１と、準備データ生成手段３２と、準備データ格納手段３３と、アプリ起動検出手段４１と、起動判断手段４２と、アプリ実行手段４３と、アクセス通知手段４４と、アプリ終了検出手段４５と、データ移動手段４６とを備える。
準備指示検出手段３１は、あるＡＰＬ２３が起動された際に、その起動がこの携帯情報端末１において初めてであることを、事前準備の開始指示として検出する。
【００２１】
準備データ生成手段３２は、ＡＰＬ２３の架空データを生成する。架空データとは、ＡＰＬ２３が実行中にアクセス可能なデータであって、例えば、乱数や無意味な文字列等のデータをいう。架空データは、ＡＰＬ２３が実行中に停止や終了する等の異常な動作を行わず、ＡＰＬ２３が実行可能なものであればよい。
準備データ格納手段３３は、ＡＰＬ２３がアクセスする実行データ領域６５に記憶されている正規データを、ＡＰＬ２３がアクセスしない領域である正規データ領域６４に移動させる。また、準備データ格納手段３３は、生成された架空データを、ＡＰＬ２３がアクセスする実行データ領域６５に移動させる。正規データとは、例えば、電話帳、ユーザの現在位置、画像等の個人情報を有するデータを含む。なお、正規データは、本発明を適用しない場合には、ＡＰＬ２３が直接アクセスするデータである。
【００２２】
アプリ起動検出手段４１は、ＡＰＬ２３の起動を検出する。
起動判断手段４２は、ＡＰＬ２３について、実行データ領域６５に正規データがある状態で起動を許可するか否かを判断する。
アプリ実行手段４３は、実行データ領域６５に格納されたデータを用いてＡＰＬ２３を起動して実行する。アプリ実行手段４３は、正規データ起動手段４３ａと、架空データ起動手段４３ｂとを備える。
【００２３】
正規データ起動手段４３ａは、正規データを実行データ領域６５に移動させて、ＡＰＬ２３を起動して実行する。また、正規データ起動手段４３ａは、その際に暗号化された正規データを復号する。
架空データ起動手段４３ｂは、実行データ領域６５に格納されている架空データがある状態でＡＰＬ２３を起動して実行する。
【００２４】
アクセス通知手段４４は、ＡＰＬ２３が架空データにアクセスする度に、架空データへのアクセスを通知する。
アプリ終了検出手段４５は、ＡＰＬ２３の終了を検出する。
データ移動手段４６は、実行データ領域６５に正規データが格納されている場合に、正規データを暗号化して正規データ領域６４に記憶させる。また、データ移動手段４６は、正規データを移動後に、実行データ領域６５に架空データを記憶させる。
【００２５】
記憶部１９は、テーブル領域６１と、プログラム領域６２と、データ領域６３とを備える。
テーブル領域６１は、ＣＰＵ１０の実行に必要なテーブルを記憶する記憶領域である。テーブル領域６１は、正規起動アプリリスト６１ａを有する。正規起動アプリリスト６１ａは、正規データを実行データ領域６５に移してＡＰＬ２３を実行させるアプリケーションプログラム名を格納したテーブルである。正規起動アプリリスト６１ａに格納するものは、アプリケーションプログラム名ではなくとも、ＡＰＬ２３が特定できる識別情報であれば、どのようなものであってもよい。正規起動アプリリスト６１ａは、例えば、ユーザが安全性を確認したＡＰＬ２３のアプリケーションプログラム名を、予めユーザによって格納する。
プログラム領域６２は、プログラムを記憶する記憶領域である。プログラム領域６２は、ＯＳ２１、制御プログラム２２、各ＡＰＬ２３を格納する。
【００２６】
データ領域６３は、ＣＰＵ１０の実行に必要な各種のデータを記憶する記憶領域である。データ領域６３は、正規データ領域６４と、実行データ領域６５と、架空データ領域６６とを有する。正規データ領域６４は、正規データを格納する領域であり、ＡＰＬ２３がアクセスしない領域である。実行データ領域６５は、ＡＰＬ２３が実際にアクセスする領域である。架空データ領域６６は、架空データを格納する領域であり、ＡＰＬ２３がアクセスしない領域である。正規データ領域６４、実行データ領域６５、架空データ領域６６は、具体的には、図４に示されるようにディレクトリによってツリー状に構成され、各データ領域は、階層が異なることでアクセスが管理できるようになっている。
【００２７】
図４は、データ領域６３の具体例を示す。図４（ａ）に示すように、実行データ領域６５は、「ＤＡＴＡ」という名のディレクトリであって、ＡＰＬ２３の実行で参照や更新をするデータとして、例えば、データ６５ａを格納している。このデータ６５ａは、次に説明するデータ６４ａ、データ６６ａのいずれかのデータであって、制御プログラム２２が判別して実行可能な識別子（拡張子）になっている。また、正規データ領域６４は、「ＢＡＣＫ」という名のディレクトリの配下にデータ６４ａを格納している。図４（ｂ）に例示するデータ６４ａは、携帯情報端末１のユーザの電話番号が登録番号「０００１」に記憶され、ユーザが登録した知人等の電話番号が登録番号「０００２」以降に記憶されている。
【００２８】
架空データ領域６６は、「ＮＩＳＥ」という名のディレクトリの配下にデータ６６ａを格納している。図４（ｃ）に例示するデータ６６ａは、データ６４ａと同様のフォーマットのデータであるが、そのデータの中身は、携帯情報端末１のユーザ名や電話番号を含め、全てが架空のデータである。
【００２９】
次に、端末システム１００の処理の概要について説明する。最初に、事前準備処理について説明する。事前準備処理は、例えば、制御プログラム２２をインストール後、ＡＰＬ２３が初めて起動された場合に行われる。準備指示検出手段３１は、制御プログラム２２をインストール後に初めてＡＰＬ２３が起動されたものであることを検出する。制御プログラム２２がインストール後に初めて起動されたものであるか否かは、そのＡＰＬ２３で使用する資源の利用状況や、記憶部１９にＡＰＬ２３の実行回数を記憶させておくことで判断できる。図５は、第１実施形態に係る携帯情報端末１の事前準備処理のフローチャートである。
【００３０】
ステップＳ２１において、準備データ生成手段３２は、架空データを生成する。例えば、実行データ領域６５に展開されている正規データをコピーして、その後に、データの中身を消してランダムな文字列を格納することで、架空データを生成することができる。
ステップＳ２２において、準備データ格納手段３３は、正規データを暗号化する。暗号化については、暗号鍵と公開鍵とを用意するもの等、既知の各種手法を用いて、正規データを暗号化する。
ステップＳ２３において、準備データ格納手段３３は、暗号化した正規データを、正規データ領域６４に移動させる。
ステップＳ２４において、準備データ格納手段３３は、架空データを実行データ領域６５に移動させる。その後、ＣＰＵ１０は、処理を終了する。
このように事前準備処理を行うことによって、ＡＰＬ２３がアクセスするデータを、予め架空データにすることができる。よって、例えば、ユーザが意図しない起動によってＡＰＬ２３が起動された場合には、携帯情報端末１は、ＡＰＬ２３を架空データに対してアクセスさせることができる。
【００３１】
次に、ＡＰＬ２３の実行処理について説明する。この例では、ユーザが安全性を確認したＡＰＬ２３のアプリケーションプログラム名を、予めユーザによって正規起動アプリリスト６１ａに格納しているものとして説明する。図６は、第１実施形態に係る端末システム１００での携帯情報端末１のメイン処理のフローチャートである。図７は、第１実施形態に係る画面例を示す図である。図８は、第１実施形態に係る携帯情報端末１の開始処理のフローチャートである。図９は、第１実施形態に係るＡＰＬ監視処理のフローチャートである。図１０は、第１実施形態に係る終了処理のフローチャートである。
【００３２】
図６のステップＳ１０において、例えば、図７（ａ）に示すように、タッチパネル１５に表示されたアイコン７０ａ、アイコン７０ｂ、アイコン７０ｃ、・・・と配置された各種のアイコン７０のうち、１つのアイコン７０ｘをユーザが「タッチ」して選択することで、アプリ起動検出手段４１は、タッチされたアイコンに対応するＡＰＬ２３の起動を検出する。
【００３３】
ステップＳ１１において、ＣＰＵ１０は、図８に示す開始処理を行う。
ステップＳ１２において、ＣＰＵ１０は、図９に示すＡＰＬ監視処理を行う。
ステップＳ１３において、ＣＰＵ１０は、図１０に示す終了処理を行う。
その後、ＣＰＵ１０は、本処理を終了する。
【００３４】
次に、上述した各種処理の詳細の処理について説明する。
まず、開始処理について、図８に基づき説明する。
ステップＳ３１において、起動判断手段４２は、起動を検出したＡＰＬ２３と正規起動アプリリスト６１ａとを照合する。
ステップＳ３２において、起動判断手段４２は、正規起動アプリリスト６１ａに起動を検出したＡＰＬ２３のアプリケーションプログラム名が存在するか否かを判断する。存在する場合（ステップＳ３２：ＹＥＳ）には、起動判断手段４２は、処理をステップＳ３３に移す。他方、存在しない場合（ステップＳ３２：ＮＯ）には、起動判断手段４２は、処理をステップＳ３５に移す。
【００３５】
ステップＳ３３において、正規データ起動手段４３ａは、暗号化されて正規データ領域６４に記憶されている正規データを、実行データ領域６５に移動させる。
ステップＳ３４において、正規データ起動手段４３ａは、実行データ領域６５に移動され暗号化された正規データを、復号する。
ステップＳ３５において、アプリ実行手段４３は、起動を検出したＡＰＬ２３の起動を開始させる。その後、ＣＰＵ１０は、本処理を終了する。
【００３６】
これにより、起動を検出したＡＰＬ２３が正規起動アプリリスト６１ａに記憶されているアプリケーションプログラムである場合（ステップＳ３２：ＹＥＳ）には、ＡＰＬ２３は、正規データにアクセスすることになり、正規起動アプリリスト６１ａに記憶されていないアプリケーションプログラムである場合（ステップＳ３２：ＮＯ）には、ＡＰＬ２３は、架空データにアクセスすることになる。
【００３７】
次に、ＡＰＬ監視処理について、図９に基づき説明する。
ステップＳ４１において、ＣＰＵ１０は、架空データを監視し、実行中のＡＰＬ２３による架空データへのアクセスを検出したか否かを判断する。架空データへのアクセスを検出した場合（ステップＳ４１：ＹＥＳ）には、ＣＰＵ１０は、処理をステップＳ４２に移す。他方、架空データへのアクセスを検出していない場合（ステップＳ４１：ＮＯ）には、ＣＰＵ１０は、処理をステップＳ４３に移す。
【００３８】
ステップＳ４２において、アクセス通知手段４４は、通知処理を行う。具体的には、アクセス通知手段４４は、タッチパネル１５に、架空データにアクセスした旨のメッセージを出力して通知する。図７（ｂ）は、架空データのアクセスを通知する通知画面７１を、ＡＰＬ２３の実行中の画面の最前面に出力した画面例である。
図９のステップＳ４３において、アプリ終了検出手段４５は、ＡＰＬ２３の終了を検出したか否かを判断する。終了を検出した場合（ステップＳ４３：ＹＥＳ）には、アプリ終了検出手段４５は、本処理を終了する。他方、終了を検出していない場合（ステップＳ４３：ＮＯ）には、ＣＰＵ１０は、処理をステップＳ４１に移し、ＡＰＬ２３の終了を検出するまで、ＡＰＬ２３が架空データにアクセスしたか否かを監視する。
【００３９】
次に、終了処理について、図１０に基づき説明する。
ステップＳ５１において、ＣＰＵ１０は、終了を検出したＡＰＬ２３と正規起動アプリリスト６１ａとを照合する。
ステップＳ５２において、ＣＰＵ１０は、終了を検出したＡＰＬ２３が正規起動アプリリスト６１ａに存在するか否かを判断する。正規起動アプリリスト６１ａに存在する場合（ステップＳ５２：ＹＥＳ）には、ＣＰＵ１０は、処理をステップＳ５３に移す。他方、正規起動アプリリスト６１ａに存在しない場合（ステップＳ５２：ＮＯ）には、ＣＰＵ１０は、処理をステップＳ５６に移す。
【００４０】
ステップＳ５３において、データ移動手段４６は、実行データ領域６５に格納されている正規データを暗号化する。
ステップＳ５４において、データ移動手段４６は、暗号化した正規データを正規データ領域６４に移動させる。
ステップＳ５５において、データ移動手段４６は、架空データ領域６６に記憶されている架空データを、実行データ領域６５に移動させる。
ステップＳ５６において、ＣＰＵ１０は、ＡＰＬ２３に対して終了処理を開始させる。その後、ＣＰＵ１０は、本処理を終了する。
【００４１】
このように、第１実施形態によれば、以下のような効果がある。
（１）ＡＰＬ２３の起動に関して、正規データでの起動を許可された場合には、実行データ領域６５に正規データがある状態でＡＰＬ２３を起動して実行し、正規データの起動を拒否された場合には、実行データ領域６５に正規データと同一のフォーマットでその中身が架空のデータがある状態でＡＰＬ２３を起動して実行することで、正規データにアクセスできるＡＰＬ２３を限定できる。
よって、例えば、ユーザが安全性を確認した、悪意のないＡＰＬ２３にのみ正規データでの起動を許可し、一方、安全性の確認がされていないＡＰＬ２３に対しては、架空のデータにアクセスさせることができる。結果として、データの意図しない漏洩を防止できる。
そして、安全性の確認がされていないＡＰＬ２３に対しては、架空のデータにアクセスさせることで、ＡＰＬ２３自体は正常に動作するので、ＡＰＬ２３の動作に支障を及ぼすことがない。
安全性に関して確認がとれているか否かにかかわらず、どのようなＡＰＬ２３でも実行させ、実行の際にアクセスするデータを、安全性に関して確認がとれているものといないものとにより異なるものにすることで、ウィルスソフトのようなデータの外部への流出を防ぐようないわゆる出口対策を講じるよりも安価に、データの漏洩の防止が実現できる。
さらに、制御プログラムをインストールするだけで、安全性を確保できるので、導入が簡単であり、ハードウェアへの負荷もウィルスソフトのようなものよりも少ないものにできる。
【００４２】
（２）正規データでの起動を許可するＡＰＬ２３のアプリケーションプログラム名を識別情報として正規起動アプリリスト６１ａに記憶させて、記憶された識別情報に基づいて、正規データが実行データ領域にある状態でＡＰＬ２３を起動するか否かを判断することができる。
よって、例えば、ユーザが安全性を確認した、悪意のないＡＰＬ２３の識別情報を正規起動アプリリスト６１ａに記憶させることで、正規起動アプリリスト６１ａに記憶されていないＡＰＬ２３に対しては、架空のデータにアクセスさせることができる。
（３）正規データを格納時には暗号化して、実際にＡＰＬ２３が起動しているときのみ復号するので、データの安全性がより向上できる。
【００４３】
（４）架空のデータにアクセスした場合に、そのアクセス情報を通知することで、ＡＰＬ２３を起動中のユーザに注意喚起を行うことができる。
（５）ＡＰＬ２３の事前準備の開始指示を検出することで、架空データを生成して、架空データにＡＰＬ２３がアクセスするようにすることができる。よって、意図しないＡＰＬ２３の起動時には、架空のデータにアクセスさせることができる。また、正規データを正規データ領域６４に移動させることで、ユーザの意図したＡＰＬ２３の起動時には、正規データにアクセスするようにできる。
（６）架空のデータを、ＡＰＬ２３が最初に起動された場合に生成できる。よって、この制御プログラムがインストールされた後にＡＰＬ２３がインストールされた場合であっても、架空のデータを生成して、正規データにアクセスできるＡＰＬ２３を限定できる。
【００４４】
（第２実施形態）
第２実施形態では、起動を検出したアプリケーションプログラムの起動条件があり、また、正規起動アプリリストに登録されていないアプリケーションプログラムが起動した場合の処理が異なるものを説明する。なお、以降の説明において、上述した第１実施形態と同様の機能を果たす部分には、同一の符号又は末尾に同一の符号を付して、重複する説明を適宜省略する。
【００４５】
図１１は、第２実施形態に係る携帯情報端末２０１の機能構成を示す図である。
携帯情報端末２０１のＣＰＵ２１０が備える定常状態判断手段２４７は、定常状態であるか否かを判断する。定常状態とは、起動しようとするＡＰＬ２３以外に、他のＡＰＬ２３が起動していない状態であることをいう。なお、定常状態であっても、ＯＳ２１や後述する制御プログラム２２２は、起動中である。
【００４６】
記憶部２１９が備えるテーブル領域２６１は、正規起動アプリリスト６１ａを有する他、単独起動アプリリスト２６１ｂを有する。単独起動アプリリスト２６１ｂは、定常状態でのみ起動を許可するアプリケーションプログラム名を格納したテーブルである。単独起動アプリリスト２６１ｂに格納するものは、アプリケーションプログラム名ではなくとも、ＡＰＬ２３が特定できる識別情報であれば、どのようなものであってもよい。
記憶部２１９が備えるプログラム領域２６２は、ＯＳ２１、制御プログラム２２２、各ＡＰＬ２３を格納する。制御プログラム２２２は、本実施形態を実現するための制御プログラムである。
【００４７】
次に、端末システム２００の処理の概要について説明する。事前準備処理（図５）及びメイン処理（図６）は、第１実施形態と同様である。図１２は、第２実施形態に係る携帯情報端末２０１の開始処理のフローチャートである。図１３は、第２実施形態に係る画面例を示す図である。
図１２のステップＳ２３１において、定常状態判断手段２４７は、起動を検出したＡＰＬ２３と単独起動アプリリスト２６１ｂとを照合する。
【００４８】
ステップＳ２３２において、定常状態判断手段２４７は、単独起動アプリリスト２６１ｂに起動を検出したＡＰＬ２３のアプリケーションプログラム名が存在するか否かを判断する。存在する場合（ステップＳ２３２：ＹＥＳ）には、定常状態判断手段２４７は、処理をステップＳ２３３に移す。他方、存在しない場合（ステップＳ２３２：ＮＯ）には、定常状態判断手段２４７は、処理をステップＳ２３５に移す。
【００４９】
ステップＳ２３３において、定常状態判断手段２４７は、他のＡＰＬ２３が起動中であるか否かを判断する。他のＡＰＬ２３が起動中である場合（ステップＳ２３３：ＹＥＳ）には、定常状態判断手段２４７は、処理をステップＳ２３４に移す。他方、他のＡＰＬ２３が起動中ではない場合（ステップＳ２３３：ＮＯ）には、定常状態判断手段２４７は、処理をステップＳ２３５に移す。
ステップＳ２３４において、定常状態判断手段２４７は、起動を検出したＡＰＬ２３の起動を中止する。その後、ＣＰＵ２１０は、本処理を終了する。なお、この場合には、メイン処理のその後の処理（ＡＰＬ監視処理（図９）、終了処理（図１０））も行わない。
【００５０】
ステップＳ２３５において、起動判断手段４２は、起動を検出したＡＰＬ２３と正規起動アプリリスト６１ａとを照合する。
ステップＳ２３６において、起動判断手段４２は、正規起動アプリリスト６１ａに起動を検出したＡＰＬ２３のアプリケーションプログラム名が存在するか否かを判断する。存在する場合（ステップＳ２３６：ＹＥＳ）には、起動判断手段４２は、処理をステップＳ２４０に移す。他方、存在しない場合（ステップＳ２３６：ＮＯ）には、起動判断手段４２は、処理をステップＳ２３７に移す。
【００５１】
ステップＳ２３７において、ＣＰＵ２１０は、タッチパネル１５に確認画面７２を出力する。確認画面７２は、例えば、図１３（ａ）に示すような、正規起動アプリリスト６１ａへの登録をするか否かをユーザに示すものである。
図１２に戻り、ステップＳ２３８において、ＣＰＵ２１０は、ユーザのタッチパネル１５からの入力を受け付けて、正規起動アプリリスト６１ａへの登録を受け付けたか否かを判断する。登録を受け付けた場合（ステップＳ２３８：ＹＥＳ）には、ＣＰＵ２１０は、処理をステップＳ２３９に移す。他方、登録を受け付けていない場合（ステップＳ２４０：ＮＯ）には、ＣＰＵ２１０は、処理をステップＳ２４２に移す。
ステップＳ２３９において、ＣＰＵ２１０は、ユーザから正規起動アプリリスト６１ａへの登録の依頼のあった該当するＡＰＬ２３を、正規起動アプリリスト６１ａに登録する。その場合、正規起動アプリリスト６１ａに登録されたことをユーザに示すために、図１３（ｂ）のような一覧画面７３をタッチパネル１５に表示してもよい。
【００５２】
図１２に戻り、ステップＳ２４０からステップＳ２４２までは、図８に示す第１実施形態のステップＳ３３からステップＳ３５までと同様である。その後、ＣＰＵ２１０は、本処理を終了する。
【００５３】
このように、第２実施形態によれば、以下のような効果がある。
複数のＡＰＬ２３が同時に起動可能な状況下で、単独で起動させたいＡＰＬ２３が起動された場合に、他のＡＰＬ２３が起動されておらず、単独で起動させるＡＰＬ２３であるときには、実行データ領域６５に正規データがある状態での起動を許可する。よって、他のＡＰＬ２３が起動されている場合には、実行データ領域６５に正規データがある状態での起動を許可しないため、架空のデータを使用させることができる。よって、例えば、他のＡＰＬ２３が単独で起動させたいＡＰＬ２３で使用するデータに万が一アクセスした場合であっても、それは架空のデータにすることができる。よって、安全性が向上する。
【００５４】
（第３実施形態）
第３実施形態では、携帯情報端末でＡＰＬ監視処理中に架空データへのアクセスを検出した場合に、そのアプリケーションプログラムに関する情報をサーバに送信することで、サーバでは、各携帯情報端末から送信された情報を受信して集計して携帯情報端末に送信し、携帯情報端末では、サーバから受信した集計結果を利用するものを説明する。
【００５５】
図１４は、第３実施形態に係る端末システム３００での携帯情報端末３０１の機能構成を示す図である。
端末システム３００は、携帯情報端末３０１と、サーバ３０２とを備える。
携帯情報端末３０１のＣＰＵ３１０は、起動判断手段３４２と、アクセスアプリ情報送信手段３４８と、集計情報受信手段３４９とを備える。
起動判断手段３４２は、起動を検出したＡＰＬ２３が、次に説明する架空データアクセスリスト３６１ｃに存在するか否かを照合し、存在する場合に、正規データを用いたＡＰＬ２３の起動を行うか否かをユーザに判断させるように制御する。
アクセスアプリ情報送信手段３４８は、架空データにアクセスしたＡＰＬ２３に関する情報をサーバ３０２に送信する。
集計情報受信手段３４９は、サーバ３０２から集計情報を受信する。
【００５６】
携帯情報端末３０１の記憶部３１９は、テーブル領域３６１と、プログラム領域３６２と、データ領域６３とを備える。
テーブル領域３６１は、正規起動アプリリスト６１ａを有する他、架空データアクセスリスト３６１ｃを有する。架空データアクセスリスト３６１ｃは、架空データにアクセスしたアプリケーションプログラム名と、アクセス対象のデータ名とを格納したテーブルである。架空データアクセスリスト３６１ｃには、アプリケーションプログラム名でなくても、ＡＰＬ２３が特定できる識別情報と、アクセス対象のデータが特定できる情報であれば、どのようなものであってもよい。
プログラム領域３６２は、ＯＳ２１、制御プログラム３２２、各ＡＰＬ２３を格納する。制御プログラム３２２は、本実施形態を実現するための制御プログラムである。
【００５７】
次に、端末システム３００の処理の概要について説明する。事前準備処理（図５）及びメイン処理（図６）は、第１実施形態と同様である。図１５は、第３実施形態に係る携帯情報端末３０１の開始処理のフローチャートである。図１６は、第３実施形態に係る携帯情報端末３０１のＡＰＬ監視処理のフローチャートである。
【００５８】
まず、開始処理について説明する。
図１５のステップＳ３３１において、起動判断手段３４２は、起動を検出したＡＰＬ２３と正規起動アプリリスト６１ａとを照合する。
ステップＳ３３２において、起動判断手段３４２は、正規起動アプリリスト６１ａに起動を検出したＡＰＬ２３のアプリケーションプログラム名が存在するか否かを判断する。存在する場合（ステップＳ３３２：ＹＥＳ）には、起動判断手段３４２は、処理をステップＳ３３３に移す。他方、存在しない場合（ステップＳ３３２：ＮＯ）には、起動判断手段３４２は、処理をステップＳ３３９に移す。
【００５９】
ステップＳ３３３において、起動判断手段３４２は、起動を検出したＡＰＬ２３と架空データアクセスリスト３６１ｃとを照合する。
ステップＳ３３４において、起動判断手段３４２は、架空データアクセスリスト３６１ｃに起動を検出したＡＰＬ２３のアプリケーションプログラム名が存在するか否かを判断する。存在する場合（ステップＳ３３４：ＹＥＳ）には、起動判断手段３４２は、処理をステップＳ３３５に移す。他方、存在しない場合（ステップＳ３３４：ＮＯ）には、起動判断手段３４２は、処理をステップＳ３３７に移す。
【００６０】
ステップＳ３３５において、ＣＰＵ３１０は、確認画面をタッチパネル１５に出力する。確認画面は、例えば、上述した図１３（ａ）に示すようなものであって、その内容が、「架空データにアクセスするアプリケーションが起動されました。このアプリケーションは正規起動アプリリストに登録済です。正規データでの起動をしますか？」といったものである。
ステップＳ３３６において、ＣＰＵ３１０は、正規データでの起動要求を受け付けたか否かを判断する。正規データでの起動要求を受け付けた場合（ステップＳ３３６：ＹＥＳ）には、ＣＰＵ３１０は、処理をステップＳ３３７に移す。他方、正規データでの起動要求を受け付けない場合（ステップＳ３３６：ＮＯ）には、ＣＰＵ３１０は、処理をステップＳ３３９に移す。
【００６１】
ステップＳ３３７からステップＳ３３９までは、図８に示す第１実施形態のステップＳ３３からステップＳ３５までと同様である。その後、ＣＰＵ３１０は、本処理を終了する。
【００６２】
次に、ＡＰＬ監視処理について説明する。
ステップＳ３４１において、携帯情報端末３０１のＣＰＵ３１０は、架空データを監視し、実行中のＡＰＬ２３による架空データへのアクセスを検出したか否かを判断する。架空データへのアクセスを検出した場合（ステップＳ３４１：ＹＥＳ）には、ＣＰＵ３１０は、処理をステップＳ３４２移す。他方、架空データへのアクセスを検出していない場合（ステップＳ３４１：ＮＯ）には、ＣＰＵ３１０は、処理をステップＳ３４７に移し、ＡＰＬ２３の終了を検出するまで、架空データにアクセスしたか否かを監視する。
ステップＳ３４２において、アクセスアプリ情報送信手段３４８は、架空データにアクセスしたＡＰＬ２３のアプリケーションプログラム名と、アクセスしたデータ名とをアクセスアプリ情報としてサーバ３０２に対して送信する。
【００６３】
ステップＳ３４３において、サーバ３０２の制御部は、アクセスアプリ情報を受信する。
ステップＳ３４４において、サーバ３０２の制御部は、受信したアクセスアプリ情報を集計する。サーバ３０２は、この携帯情報端末３０１の他に、サーバ３０２と通信可能な他の携帯情報端末３０１からも同様にアクセスアプリ情報を受信している。そのため、サーバ３０２は、それらの情報を集計する集計処理を行う。集計処理は、例えば、架空データにアクセスしたＡＰＬ２３の架空データへのアクセス頻度や、架空データにアクセスしたＡＰＬ２３をインストールしている携帯情報端末３０１の端末数等である。
ステップＳ３４５において、サーバ３０２の制御部は、集計処理により集計した集計情報を携帯情報端末３０１に対して送信する。集計情報は、例えば、集計した結果、著しく多かったものから数件分であってもよい。その後、サーバ３０２の制御部は、本処理を終了する。
【００６４】
ステップＳ３４６において、携帯情報端末３０１の集計情報受信手段３４９は、サーバ３０２から集計情報を受信する。
ステップＳ３４７において、アプリ終了検出手段４５は、ＡＰＬ２３の終了を検出したか否かを判断する。終了を検出した場合（ステップＳ３４７：ＹＥＳ）には、アプリ終了検出手段４５は、処理をステップＳ３４８に移す。他方、終了を検出していない場合（ステップＳ３４７：ＮＯ）には、ＣＰＵ３１０は、処理をステップＳ３４１に移す。
ステップＳ３４８において、ＣＰＵ３１０は、受信した集計情報が存在する場合に、その集計情報を架空データアクセスリスト３６１ｃに格納する。その後、ＣＰＵ３１０は、本処理を終了する。
【００６５】
このように、本実施形態によれば、以下のような効果がある。
架空のデータにアクセスした場合に、その情報をサーバに送信することで、サーバでは、それらの情報を集計することができる。そして、サーバから集計結果を受信することで、正規データを使用した起動に関する判断材料とすることができる。
【００６６】
（第４実施形態）
第４実施形態では、架空データと正規データとが同一のデータ領域に記憶されており、ＡＰＬ２３を起動する際に、架空データが指定されていたものを正規データを指定するように変更することで、ＡＰＬ２３がアクセスするデータを制御するものを説明する。
【００６７】
図１７は、第４実施形態に係る携帯情報端末４０１の機能構成を示す図である。
携帯情報端末４０１のＣＰＵ４１０が備える準備データ生成手段４３２は、例えば、データ領域４６３に記憶されている正規データをコピーして、そのコピーした正規データの中身をランダムな文字列に変更することで、架空データを生成する。
アプリ実行手段４４３は、通常は、架空データを用いてＡＰＬ２３を起動して実行する。また、アプリ実行手段４４３は、正規データでの起動を許可すると判断された場合に、正規データを用いてＡＰＬ２３を起動して実行する。
【００６８】
記憶部４１９が備えるプログラム領域４６２は、ＯＳ２１、制御プログラム４２２、各ＡＰＬ２３を格納する。制御プログラム４２２は、本実施形態を実現するための制御プログラムである。
記憶部４１９が備えるデータ領域４６３は、正規データと架空データとを記憶する。
【００６９】
次に、端末システム４００の処理の概要について説明する。
まず、事前準備処理について説明する。図１８は、第４実施形態に係るデータ領域の具体例を示す図である。
最初に、準備データ生成手段４３２は、架空データを生成する。図１８（ａ）は、事前準備処理の開始前のデータ領域４６３の一部を示す。データ領域４６３には、正規のデータであるデータ４６４ａが記憶されている。
そして、架空データの生成は、正規データをコピーして、その中身をランダムな文字列に変更することで生成される。図１８（ｂ）は、架空データを生成後のデータ領域４６３の一部を示す。架空データであるデータ４６６ａは、正規データであるデータ４６４ａの拡張子に、「．ｃ」の拡張子が追加されている。
次に、準備データ生成手段４３２は、ＡＰＬ２３が架空データをアクセスするように、その拡張子を変更する。図１８（ｃ）は、拡張子を変更後のデータ領域４６３の一部を示す。正規データであるデータ４６４ａの拡張子を「．ｂａｋ」に変更し、架空データであるデータ４６６ａの拡張子を「．ｄａｔ」に変更する。このようにすることで、ＡＰＬ２３を起動した場合には、ＡＰＬ２３は、架空データをアクセスすることができる。
【００７０】
次に、ＡＰＬ２３の実行処理について説明する。メイン処理（図６）は、第１実施形態と同様である。図１９は、第４実施形態に係る携帯情報端末４０１の開始処理のフローチャートである。
ステップＳ４３１において、起動判断手段４２は、起動を検出したＡＰＬ２３と正規起動アプリリスト６１ａとを照合する。
ステップＳ４３２において、起動判断手段４２は、正規起動アプリリスト６１ａに起動を検出したＡＰＬ２３のアプリケーションプログラム名が存在するか否かを判断する。存在する場合（ステップＳ４３２：ＹＥＳ）には、起動判断手段４２は、処理をステップＳ４３５に移す。他方、存在しない場合（ステップＳ４３２：ＮＯ）には、起動判断手段４２は、処理をステップＳ４３３に移す。
【００７１】
ステップＳ４３３において、ＣＰＵ４１０は、例えば、ユーザからの入力を受け付けて（図１３（ａ）参照）、正規起動アプリリスト６１ａへの登録を受け付けたか否かを判断する。正規起動アプリリスト６１ａへの登録を受け付けた場合（ステップＳ４３３：ＹＥＳ）には、ＣＰＵ４１０は、処理をステップＳ４３４に移す。他方、正規起動アプリリスト６１ａへの登録を受け付けていない場合（ステップＳ４３３：ＮＯ）には、ＣＰＵ４１０は、処理をステップＳ４３６に移す。
ステップＳ４３４において、ＣＰＵ４１０は、ユーザから正規起動アプリリスト６１ａへの登録の依頼のあった該当するＡＰＬ２３を、正規起動アプリリスト６１ａに登録する。
【００７２】
ステップＳ４３５において、アプリ実行手段４４３は、ＡＰＬ２３を正規データにアクセスさせるように、データの指定を変更する。具体的には、図１８（ｄ）に示すように、アプリ実行手段４４３は、架空データであるデータ４６６ａの拡張子を、ＡＰＬ２３がアクセスしないように「．ｎｉｓ」等に変更し、正規データであるデータ４６４ａの拡張子を、ＡＰＬ２３がアクセス可能な「．ｄａｔ」に変更する。
ステップＳ４３６において、アプリ実行手段４４３は、起動を検出したＡＰＬ２３の起動を開始して実行させる。その後、ＣＰＵ４１０は、本処理を終了する。
【００７３】
このように、正規データと架空データとのデータ領域を分けずに、正規データと架空データとが同一のデータ領域に記憶されている場合であっても、起動を検出したＡＰＬ２３が正規起動アプリリスト６１ａに記憶されているアプリケーションプログラムである場合（ステップＳ４３２：ＹＥＳ）には、ＣＰＵ４１０は、ＡＰＬ２３を正規データにアクセスさせることができ、正規起動アプリリスト６１ａに記憶されていないアプリケーションプログラムである場合（ステップＳ４３２：ＮＯかつステップＳ４３３：ＮＯ）には、ＣＰＵ４１０は、ＡＰＬ２３を架空データにアクセスさせることがでる。
【００７４】
次に、終了処理について説明する。図２０は、第４実施形態に係る携帯情報端末４０１の終了処理のフローチャートである。
ステップＳ４５１において、ＣＰＵ４１０は、終了を検出したＡＰＬ２３と正規起動アプリリスト６１ａとを照合する。
ステップＳ４５２において、ＣＰＵ４１０は、終了を検出したＡＰＬ２３が正規起動アプリリスト６１ａに存在するか否かを判断する。正規起動アプリリスト６１ａに存在する場合（ステップＳ４５２：ＹＥＳ）には、ＣＰＵ４１０は、処理をステップＳ４５３に移す。他方、正規起動アプリリスト６１ａに存在しない場合（ステップＳ４５２：ＮＯ）には、ＣＰＵ４１０は、処理をステップＳ４５４に移す。
【００７５】
ステップＳ４５３において、ＣＰＵ４１０は、ＡＰＬ２３を架空データにアクセスさせるように、データの指定を変更する。具体的には、図１８（ｃ）に示すように、ＣＰＵ４１０は、正規データであるデータ４６４ａの拡張子を、ＡＰＬ２３がアクセスしないように「．ｂａｋ」等に変更し、架空データであるデータ４６６ａの拡張子を、ＡＰＬ２３がアクセス可能な「．ｄａｔ」に変更する。
ステップＳ４５４において、ＣＰＵ４１０は、ＡＰＬ２３に対して終了処理を開始させる。その後、ＣＰＵ４１０は、本処理を終了する。
【００７６】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されるものではない。また、実施形態に記載した効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載したものに限定されない。なお、上述した実施形態及び後述する変形形態は、適宜組み合わせて用いることもできるが、詳細な説明は省略する。
【００７７】
（変形形態）
（１）各実施形態では、テーブル領域には正規起動アプリリストが１つ記憶されているものであったが、例えば、個人設定用、会社設定用、ベンダー設定用等、用途に応じて複数の正規起動アプリリストを有していてもよい。その場合に、ユーザからの指示や、携帯情報端末の利用状況によって１つの正規起動アプリリストを選択してもよい。携帯情報端末の利用状況とは、例えば、ユーザの利用時間をログから判別したり、日時から判別したりすることが考えられる。複数の正規起動アプリリストを、例えば、個人や企業等のそれぞれのセキュリティポリシーに応じて正規起動アプリリストとして記憶させることができる。そして、その中から１つの正規起動アプリリストを選択して、それに記憶された識別情報に基づいて、正規データがある状態でアプリケーションプログラムを起動するか否かを判断することができるので、使用用途に応じて、セキュリティポリシーを切り替えることができる。
【００７８】
（２）また、複数の正規起動アプリリストを有していた場合に、それらの複数の正規起動アプリリストのいずれにも存在するＡＰＬの起動時にのみ、正規データを用いるものとしてもよい。複数の正規起動アプリリストを例えば、個人や企業等のそれぞれのセキュリティポリシーに応じて正規起動アプリリストとして記憶させ、その複数の正規起動アプリリスト全てに同じアプリケーションプログラムの識別情報が記憶されている場合に、正規データがある状態でアプリケーションプログラムの起動を許可するので、より安全性の高いアプリケーションプログラムの起動にのみ、正規データを用いることができる。
【００７９】
（３）各実施形態では、正規起動アプリリストは、ユーザが安全性を確認したＡＰＬ２３のアプリケーションプログラム名を格納するものであった。しかし、例えば、企業や安全性を保証する外部ベンダーから正規起動アプリリストをダウンロードして、使用してもよい。
（４）各実施形態では、制御プログラムのインストール後に、ＡＰＬがその携帯情報端末で最初に起動された場合に、事前準備をするものであった。しかし、事前準備作業のタイミングは、これに限らない。例えば、制御プログラムを携帯情報端末にインストールした際に、その携帯情報端末に既にインストールされているＡＰＬに関して事前準備をしてもよい。また、事前準備として、正規起動アプリリストへの登録をあわせて行ってもよい。さらに、架空データの生成として、正規データをコピーして中身をランダムな文字列に変更するものを説明したが、これに限定されない。例えば、ＡＰＬをダウンロードした際に、予めサーバ等で用意された架空データをダウンロードすることで、事前準備をしてもよい。そうすることで、架空のデータを、サーバからダウンロードすることで生成できる。よって、簡単に架空のデータを生成できる。
【００８０】
（５）第１実施形態から第３実施形態では、実行データ領域にある正規データを暗号化して、暗号化データを正規データ領域に移動させ、正規データ領域から実行データ領域に移動させてから復号するものとして説明した。しかし、暗号化や復号と、データ移動の順番は逆であってもよい。例えば、実行データ領域から正規データ領域に移動させた後に暗号化し、正規データ領域の正規データを復号して実行データ領域に移動してもよい。また、暗号化及び復号は、必須の要件ではない。
（６）各実施形態では、携帯情報端末としてスマートフォンを例に説明したが、携帯電話機、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）等であってもよいし、パーソナルコンピュータ等の端末であってもよい。
（７）各実施形態では、制御プログラムはＯＳとは別のプログラムとして説明したが、制御プログラムをＯＳに組み込んでもよい。但し、既存のＯＳに対して本発明を適用する場合には、各実施形態で説明した構成である方が、ＯＳの更新作業を行わなくて済むという点や、制御プログラムの更新時に、制御プログラムだけを更新すればいいという点において望ましい。
【００８１】
（８）各実施形態では、架空データは、乱数や無意味な文字列等を記憶するものであったが、そのデータの中身が空であってもよい。
（９）第２実施形態及び第４実施形態では、正規起動アプリリストにないＡＰＬの起動があった場合に、ユーザに正規起動アプリリストへの登録を選択させるものを説明した。しかし、正規起動アプリリストにないＡＰＬの起動の場合には、そのまま架空データにアクセスさせるようにしてもよい。
（１０）第３実施形態では、架空データアクセスリストに記憶されたＡＰＬの起動を検出した場合に、ユーザが正規データでの起動をさせるか否かを判断して、その結果でＡＰＬを起動させているものであった。しかし、架空データアクセスリストに記憶されたＡＰＬの起動時には、一律に架空データでの起動をさせるものとしてもよい。
【符号の説明】
【００８２】
１，２０１，３０１，４０１  携帯情報端末
２，３０２  サーバ
１０，２１０，３１０，４１０  ＣＰＵ
１５    タッチパネル
１９，２１９，３１９，４１９  記憶部
２１    ＯＳ
２２，２２２，３２２，４２２  制御プログラム
２３    ＡＰＬ
３１    準備指示検出手段
３２，４３２    準備データ生成手段
３３    準備データ格納手段
４１    アプリ起動検出手段
４２，３４２  起動判断手段
４３，４４３  アプリ実行手段
４３ａ  正規データ起動手段
４３ｂ  架空データ起動手段
４４    アクセス通知手段
４５    アプリ終了検出手段
４６    データ移動手段
６１ａ  正規起動アプリリスト
６３，４６３  データ領域
６４    正規データ領域
６５    実行データ領域
６６    架空データ領域
１００，２００，３００，４００  端末システム
２４７  定常状態判断手段
２６１ｂ  単独起動アプリリスト
３４８  アクセスアプリ情報送信手段
３４９  集計情報受信手段
３６１ｃ  架空データアクセスリスト
【図１】
0005920021.tif 000002
【図２】
0005920021.tif 000003
【図３】
0005920021.tif 000004
【図４】
0005920021.tif 000005
【図５】
0005920021.tif 000006
【図６】
0005920021.tif 000007
【図７】
0005920021.tif 000008
【図８】
0005920021.tif 000009
【図９】
0005920021.tif 000010
【図１０】
0005920021.tif 000011
【図１１】
0005920021.tif 000012
【図１２】
0005920021.tif 000013
【図１３】
0005920021.tif 000014
【図１４】
0005920021.tif 000015
【図１５】
0005920021.tif 000016
【図１６】
0005920021.tif 000017
【図１７】
0005920021.tif 000018
【図１８】
0005920021.tif 000019
【図１９】
0005920021.tif 000020
【図２０】
0005920021.tif 000021