説明

プログラム起動制御方法、プログラム起動制御プログラム、携帯端末、ネットワークシステム

【課題】携帯端末上で動作するアプリケーションプログラムを安全に実行することのできる技術手法を提供する。
【解決手段】本発明に係るアプリケーション起動制御方法は、アプリケーションプログラム本体から取得した属性情報と、携帯端末があらかじめ保持しているアプリケーションプログラムの属性情報とを比較し、両者が合致すればアプリケーションプログラムの起動を許可する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、携帯端末上で動作するアプリケーションプログラムの起動制御に関するものである。
【背景技術】
【0002】
従来、アプリケーションプログラムが不正に改変されたことを検出するための様々な手法が開発されている。下記特許文献1には、アプリケーションプログラムを実行する時に、アプリケーションに内蔵されているチェック機構により、アプリケーションが不正に変更されているか否かをチェックする技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】平4−149753号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記特許文献1は、外部と接続されていない閉じた環境下にある端末上で動作するアプリケーションのセキュリティを確保することを目的としている。一方現在では、ネットワーク環境が整備され、アプリケーションを実行する端末として、パソコンの他にも携帯端末が広く使用されている。
【0005】
アプリケーションを実行する端末がネットワークに接続された環境下では、ネットワークを経由してアプリケーションを配布する場合がある。このとき、ネットワーク経由でアプリケーションをダウンロードする手軽さゆえに、コンピュータウイルスによる被害やアプリケーションプログラムの不正書き換えなどのセキュリティ被害につながる可能性がある。特に携帯端末のセキュリティ対策は、パソコンやサーバなどの一般コンピュータと比較して遅れる傾向があるため、安全性を高めることのできる有用な手法が望まれる。
【0006】
本発明は、上記のような課題を解決するためになされたものであり、携帯端末上で動作するアプリケーションプログラムを安全に実行することのできる技術手法を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係るアプリケーション起動制御方法は、アプリケーションプログラム本体から取得した属性情報と、携帯端末があらかじめ保持しているアプリケーションプログラムの属性情報とを比較し、両者が合致すればアプリケーションプログラムの起動を許可する。
【発明の効果】
【0008】
本発明に係るアプリケーション起動制御方法によれば、アプリケーションプログラムが不正に書き換えられている場合、属性情報があらかじめ保持しているものと異なっていることが分かる。これにより、不正な書き換えがあったことを検出することができるので、アプリケーションプログラムを安全に起動することができる。
【図面の簡単な説明】
【0009】
【図1】実施形態1に係るネットワークシステム1000の構成図である。
【図2】サーバ200の機能ブロック図である。
【図3】携帯端末100の機能ブロック図である。
【図4】携帯端末100が保持するアプリケーションメタ情報データ143の構成とデータ例を示す図である。
【図5】サーバ200が保持するアプリケーションメタ情報データベース220の構成とデータ例を示す図である。
【図6】管理端末400からサーバ200にアプリケーションプログラムを登録する手順を説明する図である。
【図7】携帯端末100上でアプリケーションプログラム141を起動する際の動作手順を示す図である。
【図8】アプリケーション起動制御部142が提供する、アプリケーションプログラム141を起動するための操作画面イメージを示す図である。
【図9】携帯端末100上でアプリケーションプログラム141を起動する際に最新バージョンであるか否かをチェックする動作手順を示す図である。
【図10】実施形態3において携帯端末100上でアプリケーション141を起動する手順を説明する図である。
【発明を実施するための形態】
【0010】
<実施の形態1>
図1は、本発明の実施形態1に係るネットワークシステム1000の構成図である。ネットワークシステム1000は、携帯端末100、サーバ200、基地局300、管理端末400を有する。サーバ200、基地局300、管理端末400は、ネットワーク500を介して接続されている。携帯端末100は、無線通信回線を介して基地局300に接続し、さらに基地局300を介してネットワーク500に接続されている。
【0011】
携帯端末100は、ユーザが携帯する端末であり、1以上のアプリケーションプログラムを内部の記憶装置に記憶し、これを実行するように構成されている。携帯端末100の構成は、後述の図3で改めて説明する。携帯端末100の例として、携帯電話、PDA(Portable Digital Assistant)端末、などが挙げられる。
【0012】
サーバ200は、携帯端末100が実行するアプリケーションプログラムを保持するサーバ装置であり、アプリケーションファイル210、アプリケーションメタ情報データベース220を備える。サーバ200のその他の詳細構成については、後述の図2で改めて説明する。
【0013】
アプリケーションファイル210は、携帯端末100が実行するアプリケーションプログラムのプログラムファイルである。アプリケーションファイル210は、少なくとも携帯端末100が実行するアプリケーションプログラムの最新バージョンのプログラムファイルを保持する。古いバージョンのプログラムファイルを併せて保持しておいてもよい。アプリケーションメタ情報データベース220については後述の図5で改めて説明する。
【0014】
管理端末400は、携帯端末100が実行するアプリケーションプログラムをサーバ200にアップロードするなどの管理作業を実施するための端末である。オペレータは、管理端末400を用いてアプリケーションプログラムをサーバ200に新規登録する、最新バージョンに更新する、などの管理作業を実施する。
【0015】
図2は、サーバ200の機能ブロック図である。サーバ200は、アプリケーションファイル210、アプリケーションメタ情報データベース220の他、中央演算部230、主記憶部240、送受信部250、記憶部260を備える。アプリケーションファイル210、アプリケーションメタ情報データベース220は、サーバ200の外部に接続されている記憶装置に格納してもよいし、記憶部260内に格納してもよい。ここではサーバ200の外部記憶装置に格納されている例を示した。
【0016】
中央演算部230は、サーバ200が備えるプログラムを実行する。ここでは後述するAP更新部261と検索処理部262をプログラムとして構成し、これらを実行するものとするが、これら以外のプログラムを実行することもできる。
【0017】
主記憶部240は、中央演算部230がプログラムを実行する際に使用するデータ等を一時的に記憶する。送受信部250は、サーバ200とネットワーク500を接続するネットワークインターフェースである。
【0018】
記憶部260は、HDD(Hard Disk Drive)などの記憶装置で構成されており、AP更新部261、検索処理部262を格納している。AP更新部261は、管理端末400からアプリケーションプログラムを受け取ってAPファイル210として格納する処理を実行するプログラムである。検索処理部262は、アプリケーションメタ情報データベース220内のレコードを検索する処理を実行するプログラムである。
【0019】
図3は、携帯端末100の機能ブロック図である。携帯端末100は、中央演算部110、主記憶部120、送受信部130、記憶部140を備える。また、無線通信回線を介して基地局300と通信するアンテナ、送受信回路などの構成を適宜備える。
【0020】
中央演算部110は、携帯端末100が備えるプログラムを実行する。ここでは後述するアプリケーション141とアプリケーション起動制御部142をプログラムとして構成し、これらを実行するものとするが、これら以外のプログラムを実行することもできる。
【0021】
主記憶部120は、中央演算部110がプログラムを実行する際に使用するデータ等を一時的に記憶する。送受信部130は、アンテナ等を介して携帯端末100と基地局300を接続するネットワークインターフェースである。
【0022】
記憶部140は、HDDなどの記憶装置で構成されており、アプリケーションプログラム141、アプリケーション起動制御部142、アプリケーションメタ情報データ143を格納している。
【0023】
アプリケーションプログラム141は、携帯端末100のユーザが使用するアプリケーション機能を提供するプログラムである。例えば、顧客情報検索プログラム、商品管理プログラム、スケジュール管理プログラム、電子メールクライアントプログラム、などのプログラムが挙げられる。説明の便宜上、1以上のアプリケーションプログラムを総称してアプリケーションプログラム141と呼称するが、アプリケーションプログラム141の個数は任意でよい。
【0024】
アプリケーション起動制御部142は、アプリケーションプログラム141の起動を制御する機能部である。携帯端末100のユーザがアプリケーションプログラム141を起動しようとするとき、アプリケーション起動制御部142はその起動指示を受け取り、後述する判定基準にしたがって当該アプリケーション起動プログラム141を起動してよいか否かを判定する。判定基準に合致しない場合、ユーザはそのアプリケーションプログラム141を起動することができない。
【0025】
アプリケーション起動制御部142は、AP自動更新チェック部1421、APメタ情報チェック部1422、端末情報チェック部1423を備える。これらの機能部は、アプリケーション起動制御部142の一部として一体的に構成することもできるし、アプリケーション起動制御部142と連動する別のプログラムモジュールとして構成することもできる。これらの機能部の詳細については、後述の図7で改めて説明する。
【0026】
アプリケーションメタ情報データ143は、各アプリケーションプログラム141の属性情報を記述したデータである。アプリケーションメタ情報データ143の例については後述する図4で改めて説明する。
【0027】
図4は、携帯端末100が保持するアプリケーションメタ情報データ143の構成とデータ例を示す図である。アプリケーションメタ情報データ143は、アプリケーションプログラム141の属性情報を携帯端末100側で保持するためのデータファイルであり、アプリケーションIDフィールド1431、バージョンフィールド1432、サイズフィールド1433、更新日時フィールド1434、アプリケーション名称フィールド1435を有する。
【0028】
アプリケーションIDフィールド1431は、個々のアプリケーションプログラム141を識別するための識別情報を保持する。
【0029】
バージョンフィールド1432は、アプリケーションIDフィールド1431の値で識別されるアプリケーションプログラム141のバージョン情報を保持する。
【0030】
サイズフィールド1433は、アプリケーションIDフィールド1431の値で識別されるアプリケーションプログラム141のプログラムファイルのファイルサイズを示す数値を保持する。
【0031】
更新日時フィールド1434は、アプリケーションIDフィールド1431の値で識別されるアプリケーションプログラム141のプログラムファイルが最後に更新された日時を保持する。本フィールドは、サーバ200上にアプリケーションファイル210がアップロードされた日時に相当する。
【0032】
アプリケーション名称フィールド1435は、アプリケーションIDフィールド1431の値で識別されるアプリケーションプログラム141の名称を保持する。
【0033】
図5は、サーバ200が保持するアプリケーションメタ情報データベース220の構成とデータ例を示す図である。アプリケーションメタ情報データベース220は、各アプリケーションファイル210の属性情報をサーバ200側で保持するためのデータベースであり、アプリケーションIDフィールド221、バージョンフィールド222、サイズフィールド223、更新日時フィールド224、アプリケーション名称フィールド225、登録ステータスフィールド226を有する。
【0034】
アプリケーションファイル210の実体は、携帯端末100が実行するアプリケーションプログラム141と同一であるため、アプリケーションメタ情報データベース220が保持するフィールドは、登録ステータスフィールド226を除いてアプリケーションメタ情報データ143と同一である。
【0035】
登録ステータスフィールド226は、アプリケーションIDフィールド221の値で識別されるアプリケーションファイル210がサーバ200に登録されているか否かを示す値を保持する。本フィールドは、管理端末400のオペレータがアプリケーションプログラムを管理するための便宜上設けられたものである。本フィールドが「登録済み」になっているアプリケーションは携帯端末100からダウンロード可能であり、「削除済み」になっているアプリケーションはダウンロード不可とする。
【0036】
携帯端末100上でアプリケーションプログラム141が不正に書き換えられるなどしている場合、アプリケーションメタ情報データベース220が保持する情報とアプリケーションメタ情報データ143が保持する情報の間に差異が生じる場合がある。携帯端末100のアプリケーション起動制御部142は、このことを用いてアプリケーションプログラム141の不正書き換えを検出する。詳細は後述の図7で説明する。
【0037】
以上、ネットワークシステム1000の各機器の構成について説明した。次に、各機器の動作手順について説明する。
【0038】
図6は、管理端末400からサーバ200にアプリケーションプログラムを登録する手順を説明する図である。以下、図6の各ステップについて説明する。
(図6:ステップ1:管理端末400側)
管理端末400のオペレータは、管理端末400を用いて、サーバ200へ登録するアプリケーションプログラムのプログラムファイルをサーバ200へアップロードする。このとき、当該アプリケーションプログラムのアプリケーションメタ情報も一緒にアップロードする。
(図6:ステップ1:サーバ200側)
サーバ200のAP更新部261は、プログラムファイルを受け取り、アプリケーションファイル210として格納する。また、AP更新部261は、アプリケーションメタ情報を受け取り、アプリケーションメタ情報データベース220内に格納する。AP更新部261は、必要に応じて、アプリケーションプログラムやそのメタ情報が所定の規則にしたがって作成されているか否かをチェックしてもよい。AP更新部261は、登録が完了すると、登録ステータスフィールド226の値を「登録済み」に変更する。また、古いバージョンのアプリケーションを最新バージョンに更新するときは、古いバージョンの登録ステータスフィールド226の値を「削除済み」に変更してもよい。
【0039】
(図6:ステップ2:登録状況を問い合せる)
管理端末400は、アプリケーションIDフィールド221の値などをキーにして、アプリケーションプログラムの登録状況をサーバ200に問い合わせる。サーバ200の検索処理部262は、アプリケーションメタ情報データベース220の登録ステータスフィールド226の値に基づき登録状況を確認し、管理端末400に返信する。
(図6:ステップ3:登録完了)
AP更新部261は、アプリケーションプログラムの登録が完了すると、その旨を管理端末400に返信する。管理端末400がその返信を受け取った時点で、アプリケーションプログラムの登録が完了する。
【0040】
図7は、携帯端末100上でアプリケーションプログラム141を起動する際の動作手順を示す図である。以下、図7の各ステップについて説明する。
(図7:ステップ1:携帯端末100側その1)
携帯端末100のユーザは、携帯端末100を用いてサーバ200にアクセスし、アプリケーションID221の値などをキーにして、アプリケーションファイル210のダウンロードを要求する。AP自動更新チェック部1421は、サーバ200に対し、そのリクエストを送信する。
(図7:ステップ1:サーバ200側)
サーバ200の検索処理部262は、アプリケーションメタ情報データベース220内のアプリケーションメタ情報を検索し、対応するアプリケーションメタ情報とアプリケーションファイル210を特定して携帯端末100に送信する。
【0041】
(図7:ステップ1:携帯端末100側その2)
携帯端末100のAP自動更新チェック部1421は、サーバ200からダウンロードしたアプリケーションファイル210とアプリケーションメタ情報を、それぞれアプリケーションプログラム141、アプリケーションメタ情報データ143として記憶部140に格納する。
(図7:ステップ2:属性情報を生成する)
携帯端末100のユーザは、サーバ200からダウンロードしたアプリケーションプログラム141を起動するように、携帯端末100へ指示する。このとき、後述する図8の画面を介して、起動指示されたアプリケーションプログラム141のアプリケーションIDなどが、アプリケーション起動制御部142に通知される。AP起動制御部142は、その起動指示を受け取る。APメタ情報チェック部1422は、起動指示されたアプリケーションプログラム141にアクセスして、そのプログラム本体から当該アプリケーションプログラムの属性情報を生成する。
【0042】
(図7:ステップ2:属性情報を生成する:補足その1)
本ステップでAPメタ情報チェック部1422が生成するアプリケーションプログラム141の属性情報は、アプリケーションプログラム141のプログラム本体そのものから直接取得することのできるものである。例えば、プログラムファイルのファイルサイズ、プログラムファイルの更新日時、などがこれに相当する。その他の属性情報を取得することができるのであれば、ファイルサイズや更新日時に限るものではない。
(図7:ステップ2:属性情報を生成する:補足その2)
本ステップは、アプリケーションプログラム141の現時点における属性情報を取得する意義を有する。すなわち、アプリケーションプログラム141が不正に書き換えられていれば、ダウンロードしたときの属性情報とは異なる属性情報を有していると想定されるので、正しい属性情報と比較するために本ステップで現時点の属性情報を取得することとした。
【0043】
(図7:ステップ3:属性情報をマッチングする)
APメタ情報チェック部1422は、ステップ2でアプリケーションプログラム141本体から生成した属性情報と、あらかじめサーバ200から取得しておいたアプリケーションメタ情報データ143内の属性情報とを比較する。ここでは、ステップ2で取得したファイルサイズとサイズフィールド1433、ステップ2で取得した更新日時と更新日時フィールド1434を、それぞれ比較するものとする。
(図7:ステップ4:起動許可)
APメタ情報チェック部1422は、ステップ3の結果、両者が合致した場合は、当該アプリケーションプログラム141を起動することを許可する。AP起動制御部142は当該アプリケーションプログラム141を起動する。
(図7:ステップ5:起動不可)
APメタ情報チェック部1422は、ステップ3の結果、両者が合致しなかった場合は、当該アプリケーションプログラム141を起動することを許可しない。AP起動制御部142はエラーメッセージを携帯端末100の画面上に表示し、起動不可である旨を携帯端末100のユーザに通知する。
【0044】
図8は、アプリケーション起動制御部142が提供する、アプリケーションプログラム141を起動するための操作画面イメージを示す図である。以下、図8に示す各画面について説明する。
【0045】
携帯端末100のユーザは、メインメニュー画面からアプリケーション一覧画面、アプリケーション検索画面などを介して、携帯端末100にアプリケーションプログラム141のリストを画面表示させる。
【0046】
携帯端末100のユーザは、アプリケーションプログラム141のリストからいずれかを選択し、当該アプリケーションプログラム141を起動するように携帯端末100へ指示する。
【0047】
アプリケーション起動制御部142のAPメタ情報チェック部1422は、起動指示されたアプリケーションプログラム141について、図7で説明した処理手順を実行し、起動許可するか否かを判定する。
【0048】
<実施の形態1:まとめ>
以上のように、本実施形態1において、アプリケーション起動制御部142は、アプリケーションプログラム141に対する起動指示を受け取ると、当該アプリケーションプログラム141のプログラム本体から属性情報を取得し、あらかじめサーバ200から取得しておいたアプリケーションメタ情報データ143と比較する。これにより、携帯端末100上のアプリケーションプログラム141が不正に書き換えられている場合、その属性情報がアプリケーションメタ情報データ143に記述されているものと異なっていると想定されるので、不正書き換えを検出することができる。すなわち、不正に書き換えられたアプリケーションプログラム141を不用意に起動してしまう前に、これを防止することができる。
【0049】
また、本実施形態1では、アプリケーションプログラム141本体とは異なるアプリケーション起動制御部142が属性情報をチェックする。これにより、アプリケーションプログラム141本体が自らチェックする場合と比較して、セキュリティを高めることができると考えられる。すなわち、アプリケーションプログラム141は外部からダウンロード取得する機会が多く、その分だけ不正書き換えされる可能性が高いといえるので、本実施形態1ではアプリケーションプログラム141本体によるチェック機構とは別のチェック機構を設けることにより、セキュリティの向上を図ることとした。
【0050】
<実施の形態2>
本発明の実施形態2では、実施形態1で説明した動作に加えて、またはこれとは別に、アプリケーションプログラム141を起動するときに当該アプリケーションプログラム141が最新バージョンであるか否かをチェックする動作手順を説明する。ネットワークシステム1000および各機器の構成は実施形態1と同様であるため、以下では差異点を中心に説明する。
【0051】
図9は、携帯端末100上でアプリケーションプログラム141を起動する際に最新バージョンであるか否かをチェックする動作手順を示す図である。以下、図9の各ステップについて説明する。
(図9:ステップ1:携帯端末100側)
携帯端末100のユーザは、アプリケーションプログラム141を起動するように、携帯端末100へ指示する。このとき、図8の画面を介して、起動指示されたアプリケーションプログラム141のアプリケーションIDなどが、アプリケーション起動制御部142に通知される。AP起動制御部142は、その起動指示を受け取る。AP自動更新チェック部1421は、アプリケーションID221の値などをキーにして、起動指示されたアプリケーションプログラム141の最新バージョンの値を、サーバ200へ問い合わせる。
(図9:ステップ1:サーバ200側)
サーバ200の検索処理部262は、アプリケーションメタ情報データベース220から、指定されたアプリケーションファイル210に対応するバージョンフィールド222の値を取得する。アプリケーションIDフィールド221の値が同じレコードが複数ある場合は、登録ステータスフィールド226の値が「登録済み」であるもののうち、更新日時フィールド224の値が最新であるものについて、バージョンフィールド222の値を取得する。検索処理部262は、その値を携帯端末100へ返信する。
【0052】
(図9:ステップ2:バージョン情報を比較する)
携帯端末100のAP自動更新チェック部1421は、ステップ1でサーバ200から取得したバージョンフィールド222の値と、あらかじめ記憶部140に格納しておいたアプリケーションメタ情報データ143内のバージョンフィールド1432の値とを比較する。
(図9:ステップ3:最新バージョンをダウンロードする)
AP自動更新チェック部1421は、ステップ2の結果、サーバ200が保持しているバージョンフィールド222の値の方がより新しいバージョンであることが分かった場合は、サーバ200より最新バージョンのアプリケーションプログラムをダウンロードする。ダウンロードの手順は図7のステップ1と同様である。
(図9:ステップ4:アプリケーションを起動する)
AP自動更新チェック部1421は、ステップ2の結果、サーバ200が保持しているバージョンフィールド222の値がバージョンフィールド1432の値と同じであることが分かった場合は、当該アプリケーションプログラム141の起動を許可する。
【0053】
<実施の形態2:まとめ>
以上のように、本実施形態2において、アプリケーション起動制御部142は、アプリケーションプログラム141に対する起動指示を受け取ると、当該アプリケーションプログラム141に対応するバージョンフィールド1432の値を取得し、サーバ200が保持しているバージョンフィールド222の値と比較する。これにより、携帯端末100が保持しているアプリケーションプログラム141のバージョンが最新バージョンでない場合、自動的に最新版に更新することができるので、アプリケーションプログラム141本体にバージョンアップ機構を設ける必要がなくなり、開発負担を低減することができる。
【0054】
また、本実施形態2において、実施形態1で説明した手法を併用することもできる。例えば、最新バージョンのアプリケーションプログラム141をダウンロードした以後、実施形態1と同様の手法により属性情報をチェックしてもよい。
【0055】
<実施の形態3>
本発明の実施形態3では、実施形態1〜2で説明した手順を併用する動作手順の1例を説明する。また、携帯端末100の機器状態を加味して、アプリケーションプログラム141を起動するか否かを判定する動作を新たに設ける。ネットワークシステム1000および各機器の構成は実施形態1と同様であるため、以下では差異点を中心に説明する。
【0056】
図10は、本実施形態3において携帯端末100上でアプリケーション141を起動する手順を説明する図である。以下、図10の各ステップについて説明する。
(図10:ステップS1001〜S1002)
携帯端末100は、アプリケーション起動制御部142を起動し、図8で例示したメインメニューを画面表示する(S1001)。携帯端末100のユーザは、メインメニューからアプリケーションリストを選び、起動するアプリケーションプログラム141を選択する(S1002)。ここではアプリケーションAを選択したものと仮定する。
(図10:ステップS1003)
端末情報チェック部1423は、携帯端末100のバッテリー残量をチェックする。バッテリー残量が規定の残量に満たない場合は、アプリケーションを起動することを許可せず、その旨のメッセージを画面表示するなどしてステップS1001に戻る。バッテリー残量が規定の残量以上である場合は、ステップS1004へ進む。
(図10:ステップS1003:補足)
本ステップでチェックするバッテリー残量の規定値は、記憶部140内の適当な記憶領域などにあらかじめ格納しておけばよい。
【0057】
(図10:ステップS1004)
端末情報チェック部1423は、携帯端末100が基地局300と通信することができるか否かをチェックする。例えば、携帯端末100が通信可能圏内にあるか否かをチェックする。通信可能である場合はステップS1005へ進み、通信できない場合はステップS1008へ進む。
(図10:ステップS1004:補足)
本ステップは、サーバ200にアプリケーションプログラムの最新バージョンを問い合わせる処理を実行するか否かを切り分けるための前処理としての意義を有する。携帯端末100がネットワークに接続できない場合は、最新バージョンをサーバ200に問い合わせることができないからである。
(図10:ステップS1005)
アプリケーション起動制御部142は、実施形態2の図9で説明した手順を実行し、アプリケーションAの最新バージョンをサーバ200に問い合わせる。
【0058】
(図10:ステップS1006)
携帯端末100が保持しているアプリケーションAよりも新しいバージョンがサーバ200に存在する場合はステップS1007へ進み、既に携帯端末100が最新バージョンを保持している場合はステップS1008へ進む。
(図10:ステップS1007、S1011)
アプリケーション起動制御部142は、実施形態2の図9で説明した手順を実行し、アプリケーションAの最新バージョンをサーバ200からダウンロードする(S1007)。ダウンロードが完了すると、そのアプリケーションプログラムを起動する(S1011)。
(図10:ステップS1007、S1011:補足)
ここでは、サーバ200からダウンロードしたアプリケーションは正規の最新バージョンであり、不正書き換えはされていないと想定して、属性情報をチェックせずに即座にアプリケーションAを起動している。これに代えて、ステップS1007の後にステップS1001に戻って改めてユーザにアプリケーションAを起動するように促してもよい。
【0059】
(図10:ステップS1008〜S1009)
アプリケーション起動制御部142は、実施形態1の図7で説明した手順を実行し、アプリケーションAの属性情報がサーバ200上の属性情報と合致するか否かをチェックする(S1008)。両者が合致すればステップS1011へ進み、合致しなければステップS1010へ進む(S1009)。
(図10:ステップS1010)
アプリケーション起動制御部142は、アプリケーションAが不正書き換えされているため起動できない旨のメッセージを画面表示する。
(図10:ステップS1011)
アプリケーション起動制御部142は、アプリケーションAを起動する。
【0060】
<実施の形態3:まとめ>
以上のように、本実施形態3において、アプリケーション起動制御部142は、アプリケーションプログラム141に対する起動指示を受け取ると、携帯端末100がネットワークと通信できるか否かをチェックし、通信できる場合は最新バージョンをチェックし、通信できない場合は最新バージョンのチェックを省略する。これにより、通信できない環境下でバージョン確認を実行してユーザを待たせてしまうような事態を回避し、携帯端末100の使用感を向上させることができる。
【0061】
また、本実施形態3において、携帯端末100が通信できない場合は、実施形態1で説明した手順で属性情報をチェックする。これにより、アプリケーションプログラム141が最新バージョンでない可能性がある場合でも、属性情報のチェックによって不正書き換えを検出することができるので、セキュリティを向上させることができる。また、携帯端末100が既にアプリケーションプログラム141の最新バージョンを保持している場合も、実施形態1と同様の手順を実施して同様の効果を発揮することができる。
【0062】
<実施の形態4>
実施形態1〜3では、アプリケーションプログラム141のファイルサイズと更新日時をプログラム本体から取得してアプリケーションメタ情報データ143と比較する例を説明した。本発明の実施形態4では、その他の属性情報をアプリケーションプログラム141のプログラム本体から取得してアプリケーションメタ情報データ143と比較する例を説明する。その他の属性情報として、以下のような例が考えられる。
【0063】
(属性情報の例1:ファイルハッシュ値)
サーバ200のアプリケーションメタ情報データベース220、および携帯端末100のアプリケーションメタ情報データ143は、アプリケーションプログラム141のファイル本体から計算することのできるハッシュ値を、実施形態1〜3で説明したサイズフィールド(223、1433)および更新日時フィールド(224、1434)に加えて、またはこれらに代えて保持する。APメタ情報チェック部1422は、アプリケーションプログラム141に対する起動指示を受け取ると、そのアプリケーションプログラム141のプログラム本体のハッシュ値を計算し、アプリケーションメタ情報データ143が保持している当該アプリケーションプログラム141のハッシュ値と比較する。
【0064】
(属性情報の例2:埋め込みキー値)
各アプリケーションファイル210およびアプリケーションプログラム141のプログラム本体内部に、当該アプリケーションを識別することのできる固有のキー値を埋め込んでおく。サーバ200のアプリケーションメタ情報データベース220、および携帯端末100のアプリケーションメタ情報データ143は、そのキー値を、実施形態1〜3で説明したサイズフィールド(223、1433)および更新日時フィールド(224、1434)に加えて、またはこれらに代えて保持する。APメタ情報チェック部1422は、アプリケーションプログラム141に対する起動指示を受け取ると、そのアプリケーションプログラム141のプログラム本体からキー値を取得し、アプリケーションメタ情報データ143が保持している当該アプリケーションプログラム141のキー値と比較する。
【0065】
<実施の形態4:まとめ>
以上、本実施形態4では、ファイルサイズと更新日時以外の属性情報を用いて、アプリケーションプログラム141の不正書き換えをチェックする例を説明した。以上説明した属性情報は、単独で用いることもできるし、いずれか複数を組み合わせてチェックに用いることもできる。
【0066】
<実施の形態5>
以上の実施形態1〜4において、サーバ200は、アプリケーションプログラムを管理端末400から受け取るとき、当該アプリケーションプログラムがアプリケーション起動制御部142によってチェックすることのできる形式で作成されているか否かをチェックするようにしてもよい。
【0067】
例えば、アプリケーション起動制御部142が、実施形態3の属性情報例2で説明した埋め込みキー値を用いて起動可否を判断する場合、各アプリケーションプログラム141はその埋め込みキー値を内部に保持している必要がある。そこでサーバ200は、管理端末400からアプリケーションプログラムを受け取るとき、埋め込みキー値が存在しているか否かをチェックし、存在していない場合は登録拒否するようにしてもよい。
【0068】
すなわち、サーバ200は、アプリケーション制御部142が属性情報を取得することができるようにするためのインターフェースとなる機能をアプリケーションプログラムが備えているかをチェックし、備えていない場合は登録拒否するようにしてもよい。
【0069】
<実施の形態6>
以上の実施形態1〜5において、ファイルサイズ、更新日時などの属性情報は、アプリケーションファイル210およびアプリケーションプログラム141のプログラムファイル本体から取得することを説明したが、必ずしも単一のプログラムファイルからこれら属性情報を取得する必要はない。例えば、アプリケーションプログラム141が複数のプログラムモジュールによって構成されている場合、個々のプログラムモジュールのファイルサイズ、更新日時などを個別に属性情報として保持しておき、個々に比較するようにしてもよい。
【0070】
また、以上の実施形態1〜5において、アプリケーション起動制御部142はプログラムとして構成することを説明したが、同様の機能を実現する回路デバイスなどのハードウェアを用いて構成することもできる。この場合、アプリケーション起動制御部142は、AP自動更新チェック部1421、APメタ情報チェック部1422、端末情報チェック部1423の機能を実現する、ハードウェアによって実装された各機能部を備える。
【符号の説明】
【0071】
100:携帯端末、110:中央演算部、120:主記憶部、130:送受信部、140:記憶部、141:アプリケーションプログラム、142:アプリケーション起動制御部、1421:AP自動更新チェック部、1422:APメタ情報チェック部、1423:端末情報チェック部、143:アプリケーションメタ情報データ、1431:アプリケーションIDフィールド、1432:バージョンフィールド、1433:サイズフィールド、1434:更新日時フィールド、1435:アプリケーション名称フィールド、200:サーバ、210:アプリケーションファイル、220:アプリケーションメタ情報データベース、221:アプリケーションIDフィールド、222:バージョンフィールド、223:サイズフィールド、224:更新日時フィールド、225:アプリケーション名称フィールド、226:登録ステータスフィールド、230:中央演算部、240:主記憶部、250:送受信部、260:記憶部、261:AP更新部、262:検索処理部、300:基地局、400:管理端末、500:ネットワーク。

【特許請求の範囲】
【請求項1】
携帯端末上で動作するアプリケーションプログラムの起動を制御する方法であって、
前記アプリケーションプログラムに対する起動指示を受け取る起動指示ステップと、
前記アプリケーションプログラムの属性情報を、当該アプリケーションプログラムのプログラム本体から取得する属性取得ステップと、
前記アプリケーションプログラムの属性情報を記述した属性情報データを前記携帯端末が備える記憶装置から読み出す属性データ読出ステップと、
前記属性取得ステップで取得した前記属性情報と、前記属性データ読出ステップで読み出した前記属性情報とを比較する比較ステップと、
前記属性取得ステップで取得した前記属性情報と、前記属性データ読出ステップで読み出した前記属性情報とが合致した場合は前記アプリケーションプログラムの起動を許可し、合致しなかった場合は許可しない、アプリケーション起動判定ステップと、
を有することを特徴とするプログラム起動制御方法。
【請求項2】
前記属性情報データは、前記アプリケーションプログラムのバージョン情報を記述しており、
前記アプリケーションの最新バージョンについてのバージョン情報をネットワーク経由で問い合わせる最新バージョン照会ステップと、
前記属性情報データが記述している前記アプリケーションプログラムのバージョン情報が、前記最新バージョン照会ステップで問い合わせたバージョン情報よりも古い場合、ネットワーク経由で前記アプリケーションプログラムの最新バージョンを取得する最新バージョン取得ステップと、
を有することを特徴とする請求項1記載のプログラム起動制御方法。
【請求項3】
前記携帯端末が前記ネットワークと通信することができるか否かを判定するステップを有し、
前記携帯端末が前記ネットワークと通信することができない場合は、前記最新バージョン照会ステップと前記最新バージョン取得ステップを実行しない
ことを特徴とする請求項2記載のプログラム起動制御方法。
【請求項4】
前記携帯端末が前記ネットワークと通信することができる場合は、
前記最新バージョン照会ステップを実行して、前記属性情報データが記述している前記アプリケーションプログラムのバージョン情報が当該アプリケーションプログラムの最新バージョンであるか否かを確認し、
最新バージョンであった場合は、前記最新バージョン取得ステップを実行せずに、前記属性取得ステップ、前記属性データ読出ステップ、前記比較ステップ、前記アプリケーション起動判定ステップを実行し、
最新バージョンでなかった場合は、前記最新バージョン取得ステップを実行する
ことを特徴とする請求項3記載のプログラム起動制御方法。
【請求項5】
前記携帯端末のバッテリー残量を確認し、所定閾値未満である場合は前記アプリケーションプログラムの起動を許可しないステップを有する
ことを特徴とする請求項1から4のいずれか1項記載のプログラム起動制御方法。
【請求項6】
前記属性情報データは、前記アプリケーションプログラムのファイルサイズを前記属性情報として記述しており、
前記属性取得ステップでは、前記アプリケーションプログラムのファイルサイズを前記属性情報として取得する
ことを特徴とする請求項1から5のいずれか1項記載のプログラム起動制御方法。
【請求項7】
前記属性情報データは、前記アプリケーションプログラムのファイル更新日時を前記属性情報として記述しており、
前記属性取得ステップでは、前記アプリケーションプログラムのファイル更新日時を前記属性情報として取得する
ことを特徴とする請求項1から6のいずれか1項記載のプログラム起動制御方法。
【請求項8】
前記属性情報データは、前記アプリケーションプログラムのファイルハッシュ値を前記属性情報として記述しており、
前記属性取得ステップでは、前記アプリケーションプログラムのファイルハッシュ値を前記属性情報として取得する
ことを特徴とする請求項1から7のいずれか1項記載のプログラム起動制御方法。
【請求項9】
前記属性情報データは、前記アプリケーションプログラムのファイル内に埋め込まれた識別情報を前記属性情報として記述しており、
前記属性取得ステップでは、前記アプリケーションプログラムのファイル内に埋め込まれた識別情報を前記属性情報として取得する
ことを特徴とする請求項1から8のいずれか1項記載のプログラム起動制御方法。
【請求項10】
請求項1から9のいずれか1項記載のプログラム起動制御方法を前記携帯端末が備える演算装置に実行させることを特徴とするプログラム起動制御プログラム。
【請求項11】
アプリケーションプログラムと、前記アプリケーションプログラムの属性情報を記述した属性情報データと、を記憶する記憶部と、
前記アプリケーションプログラムを実行する演算部と、
前記アプリケーションプログラムの起動を制御するプログラム起動制御部と、
を備え、
前記プログラム起動制御部は、
前記アプリケーションプログラムに対する起動指示を受け取る起動指示部と、
前記アプリケーションプログラムの属性情報を、当該アプリケーションプログラムのプログラム本体から取得する属性取得部と、
前記属性情報データを前記記憶部から読み出す属性データ読出部と、
前記属性取得部が取得した前記属性情報と、前記属性データ読出ステップで読み出した前記属性情報とを比較する比較部と、
前記属性取得部が取得した前記属性情報と、前記属性データ読出ステップで読み出した前記属性情報とが合致した場合は前記アプリケーションプログラムの起動を許可し、合致しなかった場合は許可しない、アプリケーション起動判定部と、
を備えることを特徴とする携帯端末。
【請求項12】
前記属性情報データは、前記アプリケーションプログラムのバージョン情報を記述しており、
前記プログラム起動制御部は、
前記アプリケーションの最新バージョンについてのバージョン情報をネットワーク経由で問い合わせる最新バージョン照会部と、
前記属性情報データが記述している前記アプリケーションプログラムのバージョン情報が、前記最新バージョン照会ステップで問い合わせたバージョン情報よりも古い場合、ネットワーク経由で前記アプリケーションプログラムの最新バージョンを取得する最新バージョン取得部と、
を備えることを特徴とする請求項11記載の携帯端末。
【請求項13】
請求項12記載の携帯端末と、
前記アプリケーションプログラムの最新バージョンを保持するサーバと、
を有し、
前記携帯端末は、
前記アプリケーションの最新バージョンのバージョン情報をネットワーク経由で前記サーバに問い合わせ、
ネットワーク経由で前記アプリケーションプログラムの最新バージョンを前記サーバから取得する
ことを特徴とするネットワークシステム。
【請求項14】
前記サーバは、
前記アプリケーションプログラムの最新バージョンを受け取った後、
前記プログラム起動制御部が前記アプリケーションプログラムの属性情報を取得することのできるインターフェースを当該アプリケーションプログラムが備えているか否かをチェックし、備えていない場合は受け取りを拒否する
ことを特徴とする請求項13記載のネットワークシステム。

【図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