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