説明

配信方法および配信システム

【課題】IPの自由度を制限することなく、信頼性の保証されたJava−AP(Javaアプリケーション)ソフトウェアを移動機へ配信する。
【解決手段】Java−APソフトウェアを起動することができる移動機16が、信頼できる機関(移動パケット通信網15を管理する通信事業者)が管理する管理サーバ装置18からSDF(セキュリティ記述ファイル)204を受信し、このSDFに内包されているURLを用いてIPサーバ装置13からADF205を取得し、このADF205を用いてIPサーバ装置13からJarファイル206を取得し、これらのファイルを内包するJava−APソフトウェアを自身にインストールする。このJava−APソフトウェアを起動することで実現されるJava−APは、SDF204に内包されているポリシー情報で表される権限の範囲内で動作する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、端末装置にアプリケーションを配信する技術に関する。
【背景技術】
【0002】
Java(登録商標)プログラミング言語に従って記述されたプログラムを実行してJava−AP(Javaアプリケーション)を実現する機能を備え、この種のプログラムを含むソフトウェアであるJava−APソフトウェアを、ネットワークを介してダウンロードすることができる移動機が普及している。この種の移動機によるJava−APソフトウェアのダウンロード手順は、WWW(World Wide Web)を構成するサーバ装置からADF(Application Descriptor File)を取得し、次いでJar(Java Archive)ファイルを取得するという流れになっている。
【0003】
ADFはJarファイルに依存した内容となっており、例えば、Jarファイルの格納位置を示すURL(以後、パッケージURL)、Jarファイルのサイズを示す情報、Jarファイルの最終変更日時を示す情報等を必須情報として内包している。ADFを取得した移動機はこのADFの内容を調べ、ダウンロードしようとしているJava−APソフトウェアを当該移動機にインストール可能であるか否かを判断する。
【0004】
インストール可能と判断すると、移動機は、WWWを構成するサーバ装置からパッケージURLを用いてJarファイルを取得する。Jarファイルには、Java−APソフトウェアが格納されており、Jarファイルの取得をもってJava−APソフトウェアのダウンロードは完了する。以後、移動機において、当該Java−APソフトウェアが起動可能に設定され、当該Java−APソフトウェアのインストールが完了する。
【発明の開示】
【発明が解決しようとする課題】
【0005】
ところで、移動機内に実現されるJava−APの挙動についての制限は、通信アプリケーションなどの移動機が元から備えているネイティブアプリケーションの挙動についての制限よりも厳しくなっている。例えば、Java−APは、移動機内の電話帳データを参照することができないようになっている。このような制限の相違により、悪意をもって作成されたJava−AP、あるいは不具合を有するJava−APによって移動機内の秘密性の高い情報が漏洩したり改竄されたりする事態を確実に回避することができる。
【0006】
しかし、上述した厳しい制限を全てのJava−APに対して一律に課すだけでは、ユーザやIP(情報提供事業者)の希望を満たすことはできない。例えば、ある程度の信頼性が保証されるのであれば、Java−APに移動機に格納された個人情報を参照する権限を与えてもよいと感じるユーザが少なくないと思われる。また、IPにも、移動機に格納されている個人情報や移動機が有する多数の機能の使用を前提としたJava−APを提供したいという希望がある。
【0007】
これらの希望を満たす仕組みとして、移動機のユーザに対して通信サービスを提供する通信事業者等の信頼できる機関がJava−APに権限を与え、この権限を移動機に通知し、当該権限に基づいて移動機が当該Java−APの挙動を制限するという仕組みが考えられる。この仕組みでは、権限の信頼性を保証するために、信頼できる機関以外の他者が権限の付与・管理に関与し得ないようにすべきである。
【0008】
Java−APソフトウェアのダウンロード手順に上述の仕組みを適用する場合、ADFあるいはJarファイルに権限を示す情報を内包させるのが妥当である。JarファイルはIPにより随時更新される種類のファイルであり、IPが保有するのが適当であることから、信頼できる機関に保有させるならADFが妥当ということになる。
【0009】
しかし、ADFはJarファイルに依存した内容となることから、IPが手元のJarファイルを更新されると、信頼できる機関が保有しているADFの更新も必要になってくる。ADFは信頼できる機関において他者の他の関与を排するように管理されるのであるから、ADFの更新作業は繁雑な作業となると予想される。また、Jarファイルを更新せずとも、ADFの更新が必要となることがある。例えば、IPにおいて、あるJarファイルへのアクセスが集中し、このJarファイルを他のサーバ装置へ移動する場合である。この場合、Jarファイルの格納位置が変更されるから、ADFに内包されているパッケージURLを変更する必要がある。
【0010】
本発明は、上述した事情に鑑みて為されたものであり、依存関係にある複数のファイルを配信することで配信される、アプリケーションを実現するためのソフトウェアを、IPの自由度を制限することなく、権限に応じた挙動をアプリケーションに対して許可する端末装置へ配信する配信方法および配信システムを提供することを目的としている。
【課題を解決するための手段】
【0011】
上述した課題を解決するために、本発明は、アプリケーションを実現するためのソフトウェアを内包した実体ファイルを格納した情報提供サーバ装置と、前記実体ファイルに依存した内容を有し前記実体ファイルの格納位置を示すアプリケーション記述ファイルを格納した情報提供サーバ装置と、前記アプリケーション記述ファイルの格納位置を示す第1の識別情報と前記端末装置が前記ソフトウェアを実行することにより実現されるアプリケーションに与えられた権限を示す権限情報とを内包したセキュリティ記述ファイルを格納した管理サーバ装置とを有し、ファイルの格納位置を通知されると当該ファイルを返送する通信システムが、アプリケーションに与えられた権限に応じた挙動を当該アプリケーションに対して許可する端末装置へ前記セキュリティ記述ファイルを、セキュリティを確保して送信する権限送信過程と、前記端末装置が、前記権限送信過程にて前記管理サーバ装置から送信された前記セキュリティ記述ファイルに内包されている前記第1の識別情報を用いて前記アプリケーション記述ファイルを取得する依存情報取得過程と、前記端末装置が、前記依存情報取得過程にて取得した前記アプリケーション記述ファイルを用いて前記通信システムから前記実体ファイルを取得するプログラム取得過程とを有する配信方法を提供する。
【0012】
この配信方法によれば、端末装置は、アプリケーションに対応したアプリケーション記述ファイルおよび実体ファイルを取得する前に、セキュリティが確保された上で通信システムから送信されるセキュリティ記述ファイルを取得する。このセキュリティ記述ファイルにはアプリケーションに与えられた権限が示されており、端末装置では、取得したセキュリティ記述ファイルに示される権限に応じた挙動が当該セキュリティ記述ファイルに対応するアプリケーションに許可される。
【0013】
また、本発明は、アプリケーションを実現するためのソフトウェアを内包した実体ファイルを格納した情報提供サーバ装置と、前記実体ファイルに依存した内容を有し前記実体ファイルの格納位置を示すアプリケーション記述ファイルを格納した情報提供サーバ装置と、前記アプリケーション記述ファイルの格納位置を示す第1の識別情報と前記端末装置が前記ソフトウェアを実行することにより実現されるアプリケーションに与えられた権限を示す権限情報とを内包したセキュリティ記述ファイルを格納した管理サーバ装置とを有し、ファイルの格納位置を通知されると当該ファイルを返送する通信システムと、
アプリケーションに与えられた権限に応じた挙動を当該アプリケーションに対して許可する端末装置とを有し、
前記管理サーバ装置は、前記セキュリティ記述ファイルを前記端末装置へ、セキュリティを確保して送信し、前記端末装置は、前記通信システムから送信された前記セキュリティ記述ファイルに内包されている前記第1の識別情報を用いて前記アプリケーション記述ファイルを取得し、前記アプリケーション記述ファイルを用いて前記通信システムから前記実体ファイルを取得する配信システムを提供する。
【0014】
この配信システムによれば、端末装置は、アプリケーションに対応したアプリケーション記述ファイルおよび実体ファイルを取得する前に、セキュリティが確保された上で通信システムから送信されるセキュリティ記述ファイルを取得することになる。このセキュリティ記述ファイルにはアプリケーションに与えられた権限が示されており、端末装置では、取得したセキュリティ記述ファイルに示される権限に応じた挙動が当該セキュリティ記述ファイルに対応するアプリケーションに許可される。
【図面の簡単な説明】
【0015】
【図1】本発明の実施の一形態に係る配信システムの構成を示すブロック図である。
【図2】同システムに特有のADFのデータ構成を示す概念図である。
【図3】同システムを構成する移動機16の構成を示すブロック図である。
【図4】同移動機16の機能構成を示す概念図である。
【図5】同移動機16がJava−APソフトウェアをダウンロードしインストールする処理の流れを示すフローチャートである。
【図6】同システムにおいて管理サーバ装置18に格納されているSDFのデータ構成を示す概念図である。
【図7】同SDFに内包されるポリシー情報の内容を示す概念図である。
【図8】同配信システムの動作を説明するためのブロック図である。
【図9】同配信システムにて配信されるリストページを示す図である。
【図10】同配信システムを構成するIPサーバ装置12が格納している説明ファイルの内容を示す図である。
【図11】同配信システムにて配信される説明ページを示す図である。
【図12】同IPサーバ装置12が格納している説明ファイルの内容を示す図である。
【図13】同配信システムにて配信される説明ページを示す図である。
【図14】同配信システムを構成するIPサーバ装置13が格納している説明ファイルの内容を示す図である。
【図15】同配信システムにて配信される説明ページを示す図である。
【図16】同配信システムの動作を説明するためのシーケンス図である。
【図17】同配信システムの動作を説明するためのシーケンス図である。
【図18】同配信システムの動作を説明するためのシーケンス図である。
【図19】同配信システムの他の動作を説明するためのブロック図である。
【図20】同配信システムの他の動作を説明するためのシーケンス図である。
【発明を実施するための形態】
【0016】
以下、図面を参照して、本発明の実施の一形態である配信システムについて図面を参照して説明する。なお、図面において、共通する部分には同一の符号が付されている。
この配信システムは、移動通信網を管理する通信事業者(信頼できる機関)が、移動機にインストール可能なJava−APソフトウェアをダウンロードするための情報を移動機のユーザへ提示し、この提示を受けたユーザが、移動機を操作して所望のJava−APソフトウェアを移動機にダウンロードおよびインストールし、移動機において起動するためのものである。なお、本システムにおけるJava−APソフトウェアのダウンロードは、当該Java−APソフトウェアの内容を説明した画面を移動機のユーザに提示した後にADFを配信し更にJarファイルを配信するという手順で行われる。
【0017】
(1)構成
図1に示されるように、この配信システムは、インターネット11に接続されたIPサーバ装置12〜14と、通信事業者が移動パケット通信サービスを提供するために用いる移動パケット通信網15との間で無線パケット通信を行うことが可能であり、移動パケット通信網15を介して通信相手とパケット通信を行うことができる移動機16と、インターネット11と移動パケット通信網15とを相互接続するゲートウェイサーバ装置17と、専用線によりゲートウェイサーバ装置17に接続された管理サーバ装置18とを有する。このシステムには多数の移動機が存在するが、図面が繁雑になるのを避けるために一つの移動機16のみが図示されている。これと同様の理由により、3つのIPサーバ装置12〜14のみが図示されている。
【0018】
(1−1)IPサーバ装置
IPサーバ装置12は第1のIPに管理されており、IPサーバ装置13および14は第1のIPと異なる第2のIPにより管理されている。IPサーバ装置12〜14はWWWを構成しており、それぞれ一般的なWWWサーバ装置と同様のハードウェアおよび機能を有する。また、IPサーバ装置12は不揮発性メモリ12A、IPサーバ装置13は不揮発性メモリ13A、IPサーバ装置14は不揮発性メモリ14Aを有し、IPサーバ装置12〜14はそれぞれ、TCPに従ったコネクション(以後、TCPコネクション)を通信相手との間に確立し、このコネクションを介してHTTPのGETメソッドを用いた要求メッセージを受信すると、当該GETメソッドに指定されたURLで特定されるファイルを自身の不揮発性メモリから読み出し、このファイルを含むHTTPの応答メッセージを返送して当該コネクションを切断する。
【0019】
不揮発性メモリ12A、13Aおよび14Aはそれぞれハードディスク等の不揮発性メモリであり、Javaプログラミング言語を用いて作成されたプログラムを有するJarファイルと、当該Jarファイルに関する情報を記述したADFと、当該プログラムを内包するJava−APソフトウェアの内容を移動機のユーザに説明するための説明ファイルとを記憶し得る。
【0020】
IPサーバ装置に格納され得るADFには後述するトラステッドJava−APソフトウェアに対応したADFと、非トラステッドJava−APソフトウェアに対応したADFとがある。WWWにおけるJarファイルの記憶位置を示すパッケージURLや、Jarファイルのサイズを示す情報、Jarファイルの最終変更日時を示す情報等の従来からADFに記述されている情報は両者にも記述される。これに加えて、トラステッドJava−APソフトウェアに対応したADFは、図2に示されるように、後述するAPIDとJarファイルのハッシュ値とを内包し、さらに当該ソフトウェアを提供するIPに対してCA(認証局)から付与された秘密鍵で署名される。
【0021】
また、説明ファイルはHTMLに従って記述されるテキストファイルであり、移動機においてHTMLに従って解釈されたときに、このファイルに対応するJava−APソフトウェアをダウンロードするときにユーザにより操作されるオブジェクトと当該Java−APソフトウェアに対応するSDF(セキュリティ記述ファイル。SDFが存在しない場合にはADF)がWWWにおいて記憶されている位置を示すURLとが対応付けられたUI(ユーザインターフェイス)が提供されるように記述されている。なお、SDFについては後述する。
また、IPサーバ装置12〜14の各々は、対応するIPの指示に従って上記各ファイルを作成および更新する機能を備えている。
【0022】
(1−2)ゲートウェイサーバ装置
ゲートウェイサーバ装置17は前述の通信事業者により管理されており、移動パケット通信網15とインターネット11とを接続する一般的なゲートウェイサーバ装置と同様の構成を有し、移動パケット通信網15とインターネット11と管理サーバ装置18との間で相互に通信を中継する。
【0023】
(1−3)管理サーバ装置
管理サーバ装置18は前述の通信事業者により管理されており、WWWを構成し、一般的なWWWサーバ装置と同様のハードウェアおよび機能を有する。また、管理サーバ装置18はハードディスク等の不揮発性メモリ18Aを有し、TCPコネクションを通信相手との間に確立し、このコネクションを介してHTTPのGETメソッドを用いた要求メッセージを受信すると、当該GETメソッドに指定されたURLで特定されるファイルを不揮発性メモリ18Aから読み出し、このファイルを含むHTTPの応答メッセージを返送して当該コネクションを切断する。
【0024】
また、上記不揮発性メモリ18Aには、移動機16にダウンロード可能なJava−APソフトウェアを移動機16のユーザに紹介するためのリストファイル200と、移動機のトラステッドAPI(APplicationInterface)を使用するJava−APを移動機において実現するためのJava−APソフトウェアを移動機にダウンロードする際に必須のファイルであって、当該Java−APソフトウェアについて上記通信事業者と当該Java−APソフトウェアを提供するIPとの間で結ばれた契約に従って当該通信事業者により作成されるSDFとが記憶される。なお、トラステッドAPIについては後述する。
【0025】
上記リストファイル200はHTMLに従って記述されたテキストファイルであり、HTMLに従って解釈された場合に、Java−APソフトウェア毎に対応した選択肢と、当該Java−APソフトウェアの説明ファイルがWWWにおいて記憶されている位置を示すURLとが対応付けられたUIが提供されるように記述されている。
【0026】
(1−4)移動機
移動機16は、図3に示されるように、移動機16は、OS(オペレーティングシステム)ソフトウェア、Java−APを実行する環境を構築するためのJava−AP環境ソフトウェア、および各種ネイティブAPソフトウェア等を記憶したROM16Aと、ROM16Aに接続されROM16Aからプログラムを読み出して実行するCPU16Bと、CPU16Bに接続された表示部16C、不揮発性メモリ16D、RAM16E、通信部16Fおよび操作部16Gを有する。
【0027】
表示部16Cは例えば液晶表示パネルを有し、CPU16Bから供給されるデータで表される画像を表示する。不揮発性メモリ16Dは例えばSRAMやEEPROMであり、CPU16Bによりデータを読み書きされる。詳しくは後述するが、不揮発性メモリ16Dは、WWWを構成するサーバ装置(以後、Webサーバ装置)からダウンロードしたJava−APソフトウェア(ADFおよびJarを内包する)や、SDFを記憶するために使用される。
【0028】
通信部16Fは移動パケット通信網15と無線パケット通信を行うものであり、CPU16Bと移動パケット通信網15との間でパケットを中継する。また、通信部16Fは、アンテナや無線送受信部の他に、通話のためのCODECやマイク、スピーカ等を備えており、移動機16は図示せぬ移動通信網を介して回線交換による通話を行うこともできる。操作部16Gは操作子を備え、操作子の操作に応じた信号をCPU16Bへ供給する。
【0029】
図示せぬ電源が投入されると、CPU16BはRAM16Eをワークエリアとし、ROM16AからOSソフトウェアに内包されているプログラムを読み出して実行する。これにより、CPU16BにはUI等を提供する機能が実現される。すなわち、CPU16BはOSソフトウェアを起動して移動機16内にて図4のOSを実現する。OSは操作部16Gから供給される信号とUIの状態とに基づいてユーザの指示を特定し、この指示に応じた処理を行う。
【0030】
ユーザの指示がネイティブAPソフトウェアである通信ソフトウェアの起動を要求するものであれば、OSは通信ソフトウェアを起動して移動機16内にて通信APを実現する。この通信APを用いることで、ユーザは通話相手と通話をすることができる。
【0031】
ユーザの指示がネイティブAPソフトウェアである電話帳APの起動を要求するものであれば、OSは電話帳ソフトウェアを起動して移動機16内にて電話帳APを実現する。この電話帳APを用いることで、ユーザは、不揮発性メモリ16Dに記憶された電話帳の内容(以後、電話帳データ)を参照・使用・変更することができる。
【0032】
ユーザの指示がネイティブAPソフトウェアであるWebブラウザソフトウェアの起動を要求するものであれば、OSはWebブラウザソフトウェアを起動して移動機16内にてWebブラウザを実現する。WebブラウザはUIを提供し、このUIの状態と操作部16Gから供給される信号とに基づいてユーザの指示を特定し、この指示に応じた処理を行う。例えば、当該指示が指定されたファイルをWWWから取得する旨の指示の場合には、通信部16Fを制御して当該ファイルを記憶したWebサーバ装置との間にTCPコネクションを確立し、このコネクションを介して、指定された位置を示すURLをGETメソッドに指定したHTTPの要求メッセージを送信し、この要求メッセージに対応する応答メッセージを受信し、当該コネクションを切断する。さらに、Webブラウザは、受信した応答メッセージに内包されているファイルをHTMLに従って解釈し、Webページを内包するUIを生成し、ユーザに提供する。また、ユーザの指示がJava−APソフトウェアのダウンロードを要求するものである場合には、この指示を次に述べるJAM(Java Application Manager)に通知する。具体的には、Webページにおいて、オブジェクトタグが指定されているアンカータグで表されるアンカーが押下(クリック操作またはプレス操作)されると、Webブラウザは当該オブジェクトタグのdata属性に指定されているURLを抽出し、当該URLからのJava−APソフトウェアのダウンロードが要求されたことをJAMに通知する。
【0033】
ユーザの指示がネイティブAPソフトウェアであるJAMソフトウェアの起動を要求するものであれば、OSはJAMソフトウェアを起動して移動機16内にてJAMを実現する。JAMは、移動機16にインストールされているJava−APソフトウェアの一覧をユーザに提示し、ユーザにより指定されたJava−APソフトウェアを起動する。具体的には、JAMに対するユーザの指示がJava−APソフトウェアの起動を要求するものであれば、Java−AP環境ソフトウェアが起動されて移動機16内にJava−AP環境が実現され、次に、指定されたJava−APソフトウェアが起動されてJava−AP環境内にJava−APが実現される。Java−AP環境は、携帯端末に適した軽量のJava仮想マシンであるKVMと、Java−APに対して提供されるAPIとを有する。Java−APに対して提供されるAPIは、通信事業者がIPとの契約に基づいて信頼性を保証したJava−AP(以後、トラステッドAP)のみに使用が許可されるトラステッドAPIと、あらゆるJava−APに使用が許可される非トラステッドAPIとに分けられる。
【0034】
また、JAMは、Java−APのダウンロードを要求する指示がWebブラウザから通知されると、Java−APソフトウェアを移動機16にダウンロードしインストールする処理を行う。この処理の流れを図5に示す。
図5に示されるように、JAMは、まず、ダウンロードしようとするJava−APソフトウェアがトラステッドAPを実現するためのJava−APソフトウェア(以後、トラステッドJava−APソフトウェア)であるか否かを判定する(ステップS11)。具体的には、JAMは、Webブラウザから通知されたURLの末尾のファイル名を参照し、このファイルの拡張子が"sdf"であればトラステッドJava−APソフトウェア
、"sdf"でなければ非トラステッドJava−APソフトウェアであると判定する。ダ
ウンロードしようとするJava−APソフトウェアがトラステッドJava−APソフトウェアであると判定された場合には、従来と同様のダウンロードおよびインストール処理が行われる(ステップS12)。
【0035】
ダウンロードしようとするJava−APソフトウェアがトラステッドJava−APソフトウェアと判定された場合には、JAMは、当該ソフトウェアに対応するSDFを管理サーバ装置18から取得する(ステップS13)。すなわち、JAMは、管理サーバ装置18との間にTCPコネクションを確立し、このコネクションを介して、Webブラウザから通知されたURLで示される位置に記憶されたSDFの送信を管理サーバ装置18に要求する内容の要求メッセージを生成・送信し、このメッセージに対する応答メッセージを受信し、上記コネクションを切断する。
【0036】
SDFは、トラステッドAP毎に通信事業者により作成されるファイルであり、図6に示されるように、トラステッドJava−APソフトウェアを一意に識別するためのAPID、後述するポリシー情報、当該Java−APソフトウェアに対応したADFの記憶位置を示すURLであるADF−URL、および当該Java−APソフトウェアを提供するIPに対してCAが付与した公開鍵を有する。JAMは、応答メッセージに内包されているSDFからAPIDとADF−URLと公開鍵を抽出するとともに、当該SDFを不揮発性メモリ16Dに書き込む。
【0037】
次に、JAMはADFを取得する(ステップS14)。具体的には、JAMは、SDFから抽出したADF−URLで特定されるADFを記憶したWebサーバ装置との間にTCPコネクションを確立し、当該ADFの送信を要求する内容の要求メッセージを生成・送信し、このメッセージに対する応答メッセージを受信し、当該TCPコネクションを切断する。
【0038】
トラステッドJava−APソフトウェアに対応するADFは非トラステッドJava−APソフトウェアに対応する通常のADFとは異なり、前述のAPIDとJarファイルのハッシュ値とを内包し、さらに当該トラステッドJava−APソフトウェアを提供するIPに対してCAが付与した秘密鍵により署名(暗号化)されている。JAMは、応答メッセージに内包されているADFの署名をSDFから抽出された公開鍵を用いて検証し(復号し)、当該ADFの正当性を判断する(ステップS15)。
【0039】
ADFが正当であると判断した場合には、JAMは、SDFから抽出したAPIDとADFに内包されているAPIDとを比較し、両者が一致するか否かを判定する(ステップS16)。両者が一致すると判定された場合には、JAMは、当該トラステッドJava−APソフトウェアを移動機16にインストール可能か否かをADFの内容に基づいて判定する(ステップS17)。この判定の基準は従来と同様である。
【0040】
インストール可能と判定された場合には、JAMは、Jarファイルを取得する。具体的には、JAMは、当該ADFを移動機16に書き込むとともに、当該ADFからハッシュ値とパッケージURLを抽出する。さらにJAMは、このパッケージURLで特定されるJarファイルを記憶したWebサーバ装置との間にTCPコネクションを確立し、当該Jarファイルの送信を要求する内容の要求メッセージを生成・送信し、このメッセージに対する応答メッセージを受信し、当該TCPコネクションを切断する(ステップS18)。
【0041】
さらに、JAMは、取得したJarファイルに対するハッシュ値を算出する(ステップS19)。ハッシュ値の算出に使用するハッシュ関数は任意であるが、移動機で使用されるハッシュ関数とADFに含まれるハッシュ値の算出時に使用されるハッシュ関数は一致していなければならない。実際には、移動機で使用されるハッシュ関数を用いて、トラステッドJava−APソフトウェアを提供するIPがハッシュ値を算出してADFを生成することになる。
【0042】
JAMは、JAMが算出したハッシュ値とADFから抽出したハッシュ値とを比較し(ステップS20)、両者が一致した場合には、取得したJarファイルを管理サーバ装置18に書き込み、トラステッドJava−APソフトウェアのインストールに係る各種処理を行い(ステップS21)、インストールに成功した旨をユーザに通知する(ステップS22)。
【0043】
なお、ADFが正当でないと判断した場合、SDFが有するAPIDとADFが有するAPIDが不一致の場合、インストールしようとするJava−APソフトウェアをインストール可能ではないと判断した場合、算出したハッシュ値とADFが有するハッシュ値とが不一致の場合には、JAMは、インストールに失敗した旨をユーザに通知するとともに、移動機16の状態を、SDFの取得を開始する前の状態に戻す。
【0044】
また、JAMは、Java−APの挙動を監視し、トラステッドAPIの使用を制限する。この制限は不揮発性メモリ16Dに記憶されるSDF内のポリシー情報に従って行われる。SDF内のポリシー情報は、例えば図7に概念的に示されるような内容となっている。図7に示されるポリシー情報では、移動機に格納された電話帳データを参照するときに必須のトラステッドAPIである"getPhoneList()"と移動機の状態を取得するときに必須のトラステッドAPIである"getMsStatus()"の使用が許可され、移動機に格納された発着信履歴データを参照するときに必須のトラステッドAPIである"getCallHistory()"の使用が禁止されている。
【0045】
(2)動作例
次に、上述したシステムの動作例について説明する。
なお、以下に述べる動作において、TCPコネクションの確立および切断動作についてはHTTPにおける一般的な動作となることから、それらの説明を省略する。また、前述のOS、Webブラウザ、JAM、Java−AP、ネイティブAP等が行う動作は移動機16の動作となることから、以降の説明では、動作の主体を移動機16とする。
また、図8に示されるように、管理サーバ装置18の不揮発性メモリ18Aには、リストファイル200とSDF204が記憶されているものとする。これらはIPサーバ装置13およびIPサーバ装置14を管理するIPと管理サーバ装置18を管理する通信事業者との間で結ばれた契約に従って通信事業者により作成されている。これらのうち、リストファイル200は、移動機16において解釈・実行されると図9に示されるリストページ201を提供するように記述されている。また、リストファイル200は、リストページ201を構成する選択肢201Aが押下されると(クリックまたはプレスされると)、後述の説明ファイル202のURL("http://www.main.bbb.co.jp/ghi.html")をGETメソッドのパラメータとして含む要求メッセージが生成されるように記述されている。さらに、リストファイル200は、リストページ201を構成する選択肢201Bが押下されると(クリックまたはプレスされると)、後述の説明ファイル207のURL("http://www.ccc.co.jp/jkl.html")をGETメソッドのパラメータとして含む要求メッセージが生成されるように記述されている。
【0046】
また、SDF204は、APIDとして"0001"、ポリシー情報として図7に示される内容の情報、ADF−URLとして"http://www.main.bbb.co.jp/viewer.jam"、および公開鍵としてIPサーバ装置13およびIPサーバ装置14を管理するIPに対してCAが付与した公開鍵を内包している。
【0047】
また、IPサーバ装置12の不揮発性メモリ12Aには、「詰め将棋」なる名称のJava−APソフトウェア(以後、第1のJava−APソフトウェア)に対応する説明ファイル211、ADF213およびJarファイル214が記憶されているものとする。これらはIPサーバ装置12を管理するIPによって作成されている。これらのうち、説明ファイル211の内容は図10に示される通りであり、移動機16において解釈・実行されると図11に示される説明ページ212を提供するように記述されている。また、ADF213はパッケージURLとしてJarファイル214のURL("http://www.ccc.co.jp/shogi.jar")を内包している。
【0048】
また、IPサーバ装置12の不揮発性メモリ12Aには、「星占い」なる名称のJava−APソフトウェア(以後、第2のJava−APソフトウェア)に対応する説明ファイル207、ADF209およびJarファイル210が記憶されているものとする。これらはIPサーバ装置12を管理するIPによって作成されている。これらのうち、説明ファイル207の内容は図12に示される通りであり、移動機16において解釈・実行されると図13に示される説明ページ208を提供するように記述されている。また、ADF209はパッケージURLとしてJarファイル210のURL("http://www.ccc.co.jp/horoscope.jar")を内包している。
【0049】
また、IPサーバ装置13の不揮発性メモリ13Aには、「電話帳ビューア」なる名称のJava−APソフトウェア(以後、第3のJava−APソフトウェア)に対応する説明ファイル202、ADF205およびJarファイル206が記憶されているものとする。これらはIPサーバ装置13およびIPサーバ装置14を管理するIPによって作成されている。これらのうち、説明ファイル202の内容は図14に示される通りであり、移動機16において解釈・実行されると図15に示される説明ページ203を提供するように記述されている。ADF205は、APIDとして"0001"、ハッシュ値としてJarファイル206のハッシュ値、パッケージURLとしてJarファイル206のURL("http://www.main.bbb.co.jp/viewer.jar")を内包しており、IPサーバ装置13およびIPサーバ装置14を管理するIPに対してCAが付与した秘密鍵を用いて署名されている。
また、移動機16は第1〜第3のJava−APソフトウェアをインストール可能な状態にあるものとする。
【0050】
(2−1)インストール動作
まず、Java−APソフトウェアを移動機16にインストールする場合の動作例について、Java−APソフトウェア毎に説明する。
【0051】
(2−1−1)第1のJava−APソフトウェア
第1のJava−APソフトウェアのインストール動作は、ユーザが移動機16を操作し、説明ファイル211の取得を試みることから始まる。これにより、移動機16では、説明ファイル211のURL("http://www.ccc.co.jp/mno.html")をGETメソッドのパラメータとして含む要求メッセージtm12が生成される。この要求メッセージtm12は、図16に示されるように、移動機16から送信されIPサーバ装置12により受信される。IPサーバ装置12では、この要求メッセージtm12の内容に対応して説明ファイル211を内包した応答メッセージtm13が生成される。この応答メッセージtm13はIPサーバ装置12から送信され移動機16により受信される。移動機16では、ユーザに対して、説明ファイル211の内容に応じたUIが提供される。この結果、表示部16Cには、例えば図11に示すような説明ページ212が表示される。
【0052】
この説明ページ212を視たユーザが、説明ページ212内のアンカー212Aが押下されるよう移動機16を操作すると、移動機16では、図10の説明ファイル211に記述されたアンカータグ("<A"で始まるタグ)のijam属性に指定されている値がid属性に指定されているオブジェクトタグ("<OBJECT"で始まるタグ)が特定され、このオブジェクトタグのdata属性に指定されているURL("http://www.ccc.co.jp/shogi.jam")が抽出され、このURLで特定されるADF213の送信を要求する内容の要求メッセージtm16が生成される。この要求メッセージtm16は移動機16から送信されIPサーバ装置12により受信される。IPサーバ装置12では、この要求メッセージtm16の内容に対応してADF213を内包した応答メッセージtm17が生成される。この応答メッセージtm17はIPサーバ装置12から送信され移動機16により受信される。
【0053】
移動機16では、ADF213の内容に基づいて第1のJava−APソフトウェアをインストール可能か否かが判定される。前述のように、移動機16は第1のJava−APソフトウェアをインストール可能な状態にあるから、移動機16では第1のJava−APソフトウェアをインストール可能と判定される。
【0054】
次に、移動機16では、ADF213が不揮発性メモリ16D1に書き込まれる。また、移動機16では、ADF213からパッケージURL("http://www.ccc.co.jp/shogi.jar")が抽出され、このパッケージURLで特定されるJarファイル214の送信を要求する内容の要求メッセージtm18が生成される。この要求メッセージtm18は移動機16から送信されIPサーバ装置12により受信される。IPサーバ装置12では、この要求メッセージtm18の内容に対応してJarファイル214を内包した応答メッセージtm19が生成される。この応答メッセージtm19はIPサーバ装置12から送信され移動機16により受信される。移動機16ではJarファイル214が不揮発性メモリ16D1に書き込まれ、第1のJava−APソフトウェアのインストールが完了する。
なお、移動機16において第1のJava−APソフトウェアをインストール可能ではないと判断された場合、移動機16の状態は、ADF213の取得を開始する前の状態に戻る。
【0055】
(2−1−2)第2のJava−APソフトウェア
第2のJava−APソフトウェアのインストール動作は、ユーザが移動機16を操作し、説明ファイル207またはリストファイル200の取得を試みることから始まる。説明ファイル207の取得を試みることから始まる動作はリストファイル200の取得を試みることから始まる動作のサブセットになっていることから、ここでは、リストファイル200の取得を試みることから始まる動作のみについて説明する。
【0056】
図17に示されるように、移動機16では、リストファイル200のURL("http://www.aaa.co.jp/def.html")をGETメソッドのパラメータとして含む要求メッセージtm20が生成される。この要求メッセージtm20は移動機16から送信され管理サーバ装置18により受信される。管理サーバ装置18では、この要求メッセージtm20の内容に対応してリストファイル200を内包した応答メッセージtm21が生成される。この応答メッセージtm21は管理サーバ装置18から送信され移動機16により受信される。移動機16では、応答メッセージtm21の受信を契機として、応答メッセージtm21内のリストファイル200がHTMLに従って解釈され、移動機16のユーザに対して、リストファイル200の内容に応じたUIが提供される。この結果、移動機16の表示部16Cには、例えば図9に示すようなリストページ201が表示される。
【0057】
このリストページ201を視たユーザが、リストページ201内の選択肢201Bが押下されるように移動機16を操作すると、移動機16では、選択肢201Bに対応付けられているURL("http://www.ccc.co.jp/jkl.html")をGETメソッドのパラメータとして含む要求メッセージtm22が生成される。この要求メッセージtm22は移動機16から送信されIPサーバ装置12により受信される。IPサーバ装置12では、この要求メッセージtm22の内容に対応して説明ファイル207を内包した応答メッセージtm23が生成される。この応答メッセージtm23はIPサーバ装置12から送信され移動機16により受信される。移動機16では、ユーザに対して、説明ファイル207の内容に応じたUIが提供される。この結果、表示部16Cには、例えば図13に示すような説明ページ208が表示される。
【0058】
この説明ページ208を視たユーザが、説明ページ208内のアンカー208Aが押下されるよう移動機16を操作すると、移動機16では、図12の説明ファイル207に記述されたアンカータグ("<A"で始まるタグ)のijam属性に指定されている値がid属性に指定されているオブジェクトタグ("<OBJECT"で始まるタグ)が特定され、このオブジェクトタグのdata属性に指定されているURL("http://www.ccc.co.jp/horoscope.jam")が抽出され、このURLで特定されるADF209の送信を要求する内容の要求メッセージtm26が生成される。この要求メッセージtm26は移動機16から送信されIPサーバ装置12により受信される。IPサーバ装置12では、この要求メッセージtm26の内容に対応してADF209を内包した応答メッセージtm27が生成される。この応答メッセージtm27はIPサーバ装置12から送信され移動機16により受信される。
【0059】
移動機16では、ADF209の内容に基づいて第2のJava−APソフトウェアをインストール可能か否かが判定される。前述のように、移動機16は第2のJava−APソフトウェアをインストール可能な状態にあるから、移動機16では第2のJava−APソフトウェアをインストール可能と判定される。
【0060】
次に、移動機16では、ADF209が不揮発性メモリ16D1に書き込まれる。また、移動機16では、ADF209からパッケージURL("http://www.ccc.co.jp/horoscope.jar")が抽出され、このパッケージURLで特定されるJarファイル210の送信を要求する内容の要求メッセージtm28が生成される。この要求メッセージtm28は移動機16から送信されIPサーバ装置12により受信される。IPサーバ装置12では、この要求メッセージtm28の内容に対応してJarファイル210を内包した応答メッセージtm29が生成される。この応答メッセージtm29はIPサーバ装置12から送信され移動機16により受信される。移動機16ではJarファイル210が不揮発性メモリ16D1に書き込まれ、第2のJava−APソフトウェアのインストールが完了する。
なお、移動機16において、第2のJava−APソフトウェアをインストール可能ではないと判断された場合、移動機16の状態は、ADF209の取得を開始する前の状態に戻る。
【0061】
(2−1−3)第3のJava−APソフトウェア
第3のJava−APソフトウェアのインストール動作は、ユーザが移動機16を操作し、説明ファイル202またはリストファイル200の取得を試みることから始まる。説明ファイル202の取得を試みることから始まる動作はリストファイル200の取得を試みることから始まる動作のサブセットになっていることから、説明ファイル202の取得を試みることから始まる動作についての説明を省略する。
【0062】
図18に示されるように、リストファイル200の取得を試みることから始まる動作において、移動機16が応答メッセージtm21を受信し、例えば図9に示すようなリストページ201が表示されるまでは図17に示す動作と同一の動作が行われる。このリストページ201を視たユーザが、リストページ201内の選択肢201Aが押下されるように移動機16を操作すると、移動機16では、選択肢201Aに対応付けられているURL("http://www.main.bbb.co.jp/ghi.html")をGETメソッドのパラメータとして含む要求メッセージtm32が生成される。この要求メッセージtm32は移動機16から送信されIPサーバ装置13により受信される。IPサーバ装置13では、この要求メッセージtm32の内容に対応して説明ファイル202を内包した応答メッセージtm33が生成される。この応答メッセージtm33はIPサーバ装置13から送信され移動機16により受信される。移動機16では、ユーザに対して、説明ファイル202の内容に応じたUIが提供される。この結果、表示部16Cには、例えば図15に示すような説明ページ203が表示される。
【0063】
この説明ページ203を視たユーザが、説明ページ203内のアンカー203Aが押下されるよう移動機16を操作すると、移動機16では、図14の説明ファイル202に記述されたアンカータグ("<A"で始まるタグ)のijam属性に指定されている値がid属性に指定されているオブジェクトタグ("<OBJECT"で始まるタグ)が特定され、このオブジェクトタグのdata属性に指定されているURL("http://www.aaa.co.jp/abc.sdf")が抽出され、このURLで特定されるSDF204の送信を要求する内容の要求メッセージtm34が生成される。この要求メッセージtm34は移動機16から送信され管理サーバ装置18により受信される。管理サーバ装置18では、この要求メッセージtm34の内容に対応してSDF204を内包した応答メッセージtm35が生成される。この応答メッセージtm35は管理サーバ装置18から送信され、ゲートウェイサーバ装置17及び移動パケット通信網15を介して移動機16により受信される。管理サーバ装置18とゲートウェイサーバ装置17との間の通信路は専用線であり、ゲートウェイサーバ装置17はセキュリティの確保された移動パケット通信網15に直接的に接続されていることから、移動機16に受信されるまでにSDF204が改竄される虞は無い。
【0064】
移動機16において、SDF204は不揮発性メモリ16Dの不揮発性メモリ16D1に書き込まれる。また、移動機16では、SDF204からAPID("0001")とADF−URL("http://www.main.bbb.co.jp/viewer.jam")と公開鍵が抽出され、このADF−URLで特定されるADF205の送信を要求する内容の要求メッセージtm36が生成される。この要求メッセージtm36は移動機16から送信されIPサーバ装置13により受信される。IPサーバ装置13では、この要求メッセージtm36の内容に対応してADF205を内包した応答メッセージtm37が生成される。この応答メッセージtm37はIPサーバ装置13から送信され移動機16により受信される。
【0065】
移動機16ではSDF204から抽出された公開鍵を用いてADF205の正当性が判断される。前述のように、SDF204に内包されている公開鍵はADF205への署名の際に用いた秘密鍵と対応していることから、IPサーバ装置13内あるいはIPサーバ装置13から移動機16への通信経路においてADF205が変更されていない限り、ADF205が正当であると判断される。
【0066】
ADF205が正当であると判断されると、移動機16では、SDF204から抽出されたAPIDとADF205に内包されているAPIDとが比較される。前述のように、IPサーバ装置13におけるADF205にはSDF204内のAPIDと一致するAPIDが記述されるように定められていることから、記述ミス等が無い限り、SDF204から抽出されたAPIDとADF205に内包されているAPIDは一致する。
【0067】
APIDが一致すると、移動機16では、ADF205の内容に基づいて第3のJava−APソフトウェアをインストール可能か否かが判定される。前述のように、移動機16は第3のJava−APソフトウェアをインストール可能な状態にあるから、移動機16では第3のJava−APソフトウェアをインストール可能と判定される。
【0068】
次に、移動機16では、ADF205が不揮発性メモリ16D1に書き込まれる。また、移動機16では、ADF205からハッシュ値とパッケージURL("http://www.main.bbb.co.jp/viewer.jar")が抽出され、このパッケージURLで特定されるJarファイル206の送信を要求する内容の要求メッセージtm38が生成される。この要求メッセージtm38は移動機16から送信されIPサーバ装置13により受信される。IPサーバ装置13では、この要求メッセージtm38の内容に対応してJarファイル206を内包した応答メッセージtm39が生成される。この応答メッセージtm39はIPサーバ装置13から送信され移動機16により受信される。
【0069】
移動機16ではJarファイル206と所定のハッシュ関数とを用いてハッシュ値が算出され、このハッシュ値とADF205から抽出されたハッシュ値とが比較される。前述のように、ADF205には当該ADF205に対応するJarファイルのハッシュ値が記述されるように定められていることから、記述ミス等がない限り、両ハッシュ値は一致する。両ハッシュ値が一致すると、移動機16では、Jarファイル206が不揮発性メモリ16D1に書き込まれ、第3のJava−APソフトウェアのインストールが完了する。
【0070】
なお、移動機16においてADF205が正当でないと判断された場合や、SDF204から抽出されたAPIDとADF205に内包されているAPIDが不一致の場合、第3のJava−APソフトウェアをインストール可能ではないと判断された場合、算出したハッシュ値とADF205から抽出されたハッシュ値とが不一致の場合には、移動機16の状態は、SDF204の取得を開始する前の状態に戻る。
【0071】
(2−2)Java−APソフトウェアが起動されている時の移動機16の挙動
次に、Java−APソフトウェアが起動されている時の移動機16の挙動について説明する。
(2−2−1)第1のJava−APソフトウェア
上述したインストール動作により移動機16にインストールされた第1のJava−APソフトウェアが、JAMが実現された移動機16において起動され、当該ソフトウェアに対応した機能(以後、第1のJava−AP)が移動機16内に実現されたときの移動機16の挙動について説明する。
【0072】
第1のJava−APが使用しようとするAPIが非トラステッドAPIの場合、当該APIの使用はJAMにより許可される。したがって、第1のJava−APは当該APIを使用することができる。
また、第1のJava−APが使用しようとするAPIがトラステッドAPIの場合、JAMは当該Java−APに対応するSDFが不揮発性メモリ16Dに記憶されているか否かを調べる。そのようなSDFは不揮発性メモリ16Dに記憶されていないから、JAMは第1のJava−APによる当該APIの使用を禁止する。したがって、第1のJava−APは当該APIの使用することができない。
【0073】
(2−2−2)第2のJava−APソフトウェア
移動機16にインストールされた第2のJava−APソフトウェアが、JAMが実現された移動機16において起動され、当該ソフトウェアに対応した機能が移動機16内に実現されたときの移動機16の挙動は、第1のJava−APソフトウェアが起動されている時の移動機16の挙動と同様となる。
【0074】
(2−2−3)第3のJava−APソフトウェア
移動機16にインストールされた第3のJava−APソフトウェアが、JAMが実現された移動機16において起動され、当該ソフトウェアに対応した機能(以後、第3のJava−AP)が移動機16内に実現されたときの移動機16の挙動について説明する。
【0075】
第3のJava−APが使用しようとするAPIが非トラステッドAPIの場合当該APIの使用はJAMにより許可される。したがって、第3のJava−APは当該APIを使用することができる。
第3のJava−APが使用しようとするAPIがトラステッドAPIの場合、移動機16の挙動は使用するAPIに依存する。以下、使用するAPI毎に移動機16の挙動を説明する。
【0076】
(2−2−3−1)getPhoneList()
"getPhoneList()"はトラステッドAPIであるから、当該APIの使用の可否は、不揮発性メモリ16Dに記憶されているSDF204内のポリシー情報に基づいてJAMにより決定される。このポリシー情報の内容は図7に示される通りであることから、"getPhoneList()"の使用がJAMにより許可される。したがって、第3のJava−APは"getPhoneList()"を使用することができる。つまり、第3のJava−APは電話帳データを読み出すことができる。
【0077】
(2−2−3−2)getCallHistory()
"getCallHistory()"はトラステッドAPIであるから、当該APIの使用の可否はSDF204内のポリシー情報に基づいてJAMにより決定される。このポリシー情報の内容は図7に示される通りであることから、"getCallHistory()"の使用がJAMにより禁止される。したがって、第3のJava−APは"getCallHistory()"を使用することができない。つまり、第3のJava−APは発着信履歴データを読み出すことができない。
【0078】
(2−3)第3のJava−APソフトウェアの変更後の動作
次に、IPサーバ装置13およびIPサーバ装置14を管理するIPが第3のJava−APソフトウェアの配信形態や内容を変更した場合の本システム動作について説明する。ただし、ここでの変更は、第3のJava−APソフトウェアの改善等を目的としたJarファイル206の内容の変更と、IPサーバ装置13の負荷の軽減等を目的とした配信形態の変更とを含む。後者の変更を達成するために、IPサーバ装置13およびIPサーバ装置14を管理するIPは、図19に示すように、変更後のJarファイル206(以後、Jarファイル215)をIPサーバ装置14の不揮発性メモリ14Aに記憶させ、このJarファイル215に対応するようにADF205の内容を変更してADF216としている。変更後の第3のJava−APソフトウェアの配信に必要な作業は以上の通りであり、管理サーバ装置18を管理する通信事業者が行うべき作業は存在しない。
【0079】
このような変更の後の第3のJava−APソフトウェアのインストール動作は、図20に示す通りとなる。この図に示す動作が図18に示す動作と相違し始めるのは、IPサーバ装置13において、ADF205を内包した応答メッセージtm37ではなく、ADF216を内包した応答メッセージtm47を生成してからである。なお、両図において、応答メッセージtm47は応答メッセージtm37、要求メッセージtm48は要求メッセージtm38、応答メッセージtm49は応答メッセージtm39に対応している。
【0080】
IPサーバ装置13において応答メッセージtm47を生成して以降の動作が、図18に示す動作と本質的に異なるのは、ADF216およびJarファイル215が処理の対象となる点と、ADF216に内包されているパッケージURL("http://www.sub.bbb.co.jp/viewer.jar")で特定されるJarファイル215の送信を要求する内容の要求メッセージtm48が移動機16にて生成される点と、この要求メッセージtm48が移動機16から送信されIPサーバ装置14により受信される点と、IPサーバ装置14においてJarファイル215を内包した応答メッセージtm49が生成される点と、この応答メッセージtm49がIPサーバ装置14から送信され移動機16により受信される点のみである。
【0081】
(3)変形例
上述した配信システムでは、移動機は、秘密鍵による署名データと公開鍵とを用いてSDFとADFの作成者との対応関係の正当性を確認するようにしたが、システムに要求されるセキュリティレベルによっては、SDFに公開鍵を内包させず、IPサーバ装置においてはADFに対する秘密鍵を用いた署名を行わず、かつ移動機においては当該確認処理を省略する、という形態とし、移動機およびIPサーバ装置における処理量や、移動機と管理サーバ装置およびIPサーバ装置との間の通信量を低減するようにしてもよい。
【0082】
また、上述した配信システムでは、Jarファイルのハッシュ値を当該Jarファイルに対応するADFに内包させる一方、移動機において生成し、両者を比較し、JarファイルとADFとの対応関係の正当性を確認するようにしたが、システムに要求されるセキュリティレベルによっては、ADFにハッシュ値を内包させずに当該確認処理を省略する形態とし、移動機およびIPサーバ装置における処理量や移動機とIPサーバ装置との間の通信量を低減するようにしてもよい。
【0083】
また、上述した配信システムでは、トラステッドJava−APに固有のAPIDを使用してSDFとADF(およびJarファイル)との対応が正当であるか否かを判定するようにしたが、トラステッドJava−APを提供する情報提供事業者に固有のCIDを用いてSDFとADF(およびJarファイル)との対応が正当であるか否かを判定するようにしてもよい。また、システムに要求されるセキュリティレベルによっては、APIDやCIDを用いた判定を省略するようにしてもよい。
【0084】
また、上述した配信システムではドメインネームを用いてサーバを指定するようにしたが、IPアドレスを用いてサーバを指定するようにしてもよい。
また、移動機において、SDFの送信元のサーバ装置のドメインネームを予め設定された文字列と比較し、信頼できる機関が管理するサーバ装置のドメインネームである場合にのみ、SDFを正当と認める態様としてもよい。この態様では、比較対象の文字列(例えば、通信事業者のドメインネームを示す文字列)は移動機のROMまたは不揮発性メモリに予め格納されることになる。ROMに予め格納する態様では、文字列の書き換えが不可能であるから、より高いセキュリティを確保できる。また、不揮発性メモリに予め格納する態様では、移動機の売買後に信頼できる機関を格納することができるので、ユーザおよび信頼できる機関に対して優れた利便性を提供することができる。
【0085】
また、上述した配信システムでは、SDFの配信に使用する通信路を提供する通信事業者を信頼できる機関として高いセキュリティを確保するようにしたが、本発明は通信路の提供が信頼できる機関により為されていない態様をも技術的範囲に含む。例えば、信頼できる機関と移動機とを暗号化通信路により接続し、この通信路を介して信頼できる機関がSDFを配信するようにしてもよい。また、通信路のセキュリティが確保されていなくても、SDFを暗号化した後に配信し、移動機においてSDFを復号するようにすれば、ある程度のセキュリティを確保してSDFを配信することができる。
【0086】
上述した配信システムでは、HTTPに従ってファイルを送受するようにしたが、HTTPSを使用し、より高いセキュリティを確保するようにシステムを変形してもよい。
また、上述した配信システムにおいて、信頼できる機関がIPとなってよいこと、すなわち、管理サーバ装置がIPサーバ装置を兼ねるようにしてもよいことは言うまでもない。
【0087】
さらに、上述した配信システムでは、Java−APによる利用を制限する対象としてAPIを挙げたが、本発明はこれに限定されるものではなく、任意の資源(リソース)を対象とすることができる。ここでいう資源はハードウェア資源であってもよいし、後述するネットワーク資源やソフトウェア資源であってもよい。ハードウェア資源としては、メモリやスピーカ、マイク、赤外線コントローラ、LED(Light Emitting Diode)等の移動機が備え得るものや移動機と共働し得るUIM(User Identity Module)やSIM(Subscriber Identity Module)等の外部機器なども挙げられる。
【0088】
次にネットワーク資源について説明する。前述したように、移動機は移動通信網との間で無線通信を行う。この無線通信時には、移動機は、移動通信網により提供される無線チャネル等の無線資源を使用する。この無線資源はネットワーク資源の一種である。また、移動機は無線資源が属する通信プロトコルレイヤよりも高位の通信プロトコルレイヤにおいて、パケットの伝送路や回線接続の通信路などの通信資源を使用する。このような通信資源もネットワーク資源の一種である。
【0089】
次にソフトウェア資源について説明する。ソフトウェア資源としては、APIやクラス、パッケージ等が挙げられる。ソフトウェア資源が提供する機能は様々であるが、典型的な機能として、暗号演算などの演算処理機能や、Webブラウザ等の他のアプリケーションとの間でデータを送受したりする機能などが挙げられる。また、本発明は、上記外部機器が有するソフトウェア資源をも利用の制限対象とする態様を技術的範囲に含む。
【0090】
ところで、Java−APによるハードウェア資源やネットワーク資源の利用は、ソフトウェア資源を利用して行われるのが一般的である。上述した配信システムにおける移動機も、ハードウェア資源やネットワーク資源を利用するためのソフトウェア資源を有しており、このようなソフトウェア資源の利用を制限することにより、間接的に、ハードウェア資源やネットワーク資源の利用を制限している。このように、間接的な制限の形態としたことにより、多様なソフトウェア資源を用意すれば、Java−APのうちのトラステッドJava−APについてのみ、自他のJava−APの権限を変更する権限を与える、またはダウンロード元のサーバ装置としか通信することができないという制限を外す、あるいはメモリの特定の記憶領域に対してアクセスできるようにするといった、複数の資源の制限を細かく変更しなければ実現できないようなことまで容易に指定できるようになる。なお、移動機内部のソフトウェア資源の利用を制限して上記外部機器のソフトウェア資源の利用を間接的に制限する態様も本発明の技術的範囲に含まれる。
【0091】
なお、パーミッションの表現方法としては、一つの資源と一つのフラグ(許可/禁止)とを対応付けるようにしてもよいし、複数の資源のパーミッションを一つの情報で示すようにしてもよい。
【0092】
また、本発明では、複数の利用の種類を持つ資源について、利用を許可(あるいは禁止)する種類を示すようにパーミッションを設定することも可能である。この場合、移動機において、より木目細かな制御が実現される。例えば、メモリには読み出しと書き込みの2つの利用形態(利用の種類)があるから、非トラステッドJava−APには読み出しでしか利用されないが、トラステッドJava−APには読み出し及び書き込みの両方で利用され得るようにすることもできる。また、例えば、1つのパケット伝送路を複数のアプリケーションが共用可能な移動機において、パケット伝送路を利用する権限を有するJava−APが起動されている間にWebブラウザ等が起動された場合、当該Java−APが「パケット伝送路の利用を排他的に行う」ことを許可されていないJava−APであればWebブラウザ等によるパケット伝送路の共用を排除することはできないが、「パケット伝送路の利用を排他的に行う」ことを許可されているJava−APであればパケット伝送路を占有して使用することができる、といった制御が可能となる。さらに、この例を変形することで、ある種のパーミッションを与えられたJava−APはユーザに許可を求めることなくパケット通信路を排他的に利用することが可能であり、別のパーミッションを与えられたJava−APはユーザに許可を求めることなくパケット通信路を利用することが可能だがパケット通信路を排他的に利用するためにはユーザの許可を得ることが必要であり、さらに別のパーミッションを与えられたJava−APはユーザに許可を求めることなくパケット通信路を利用することが可能だがパケット通信路を排他的に利用することは不可能であり、さらに別のパーミッションを与えられたJava−APはユーザの許可を得て初めてパケット通信路を利用することが可能であり、さらに別のパーミッションを与えられたJava−APはパケット通信路を利用することすらできない、といった制御も可能となる。この例から明らかなように、本発明における「利用の種類」には、資源を利用する際に経る手順の種類(ユーザの許可を得る手順/ユーザの許可を得ない手順)も含まれる。
【0093】
また、上述した配信システムでは全ての移動機に対して同一のリストページが提供されるが、移動機毎に異なるリストページを提供するようにしてもよい。
【0094】
また、上述の配信システムでは、Java−APの実行時にJava−APの挙動を制限するようにしたが、IPサーバ装置に格納されているJarファイルにポリシー情報を内包させ、Jarファイルのダウンロード時に、移動機において、このポリシー情報とSDF中とのポリシー情報とを比較し、両者が一致しない場合には、当該Jarファイルに対応するJava−APを起動できないように、あるいは当該Jarファイルを含むJava−APソフトウェアをインストールできないようにしてもよい。もちろん、両ポリシー情報の一致する項目についてのパーミッションのみを有効とするようにしてもよい。
【0095】
また、通信事業者がCAにより付与された自身の秘密鍵を用いてSDFに署名してからSDFを配信し、移動機においてCAが通信事業者に付与した公開鍵を用いてSDFの署名を検証するようにしてもよい。もちろん、通信事業者の公開鍵は予め移動機に格納されていなければならない。公開鍵は予め移動機に格納する方法としては、通信により配信し不揮発性メモリに書き込んでおく方法、ROMに書き込んだ後に移動機を販売する方法などが考えられる。
また、上述の配信システムではソフトウェアは移動機へ配信されるが、本発明の技術的範囲には、移動機以外の端末装置へ配信する態様も含まれる。
【0096】
以上説明したように、本発明によれば、端末装置では、取得したセキュリティ記述ファイルに示される権限に応じた挙動が当該セキュリティ記述ファイルに対応するアプリケーションに許可される。したがって、多様なアプリケーションを提供することができる。さらに、権限を示す情報は管理サーバ装置からセキュリティが確保された上で端末装置へ送信されるから、権限が第三者により改竄される虞もない。また、依存関係を有するアプリケーション記述ファイルおよび実体ファイルを管理サーバ装置に格納する必要はないことから、IPの自由度が制限されることもない。
【符号の説明】
【0097】
11 インターネット
12、13、14 IPサーバ装置
15 移動パケット通信網
16 移動機
17 ゲートウェイサーバ装置
18 管理サーバ装置
16D、12A、13A、14A、18A 不揮発性メモリ
16A ROM
16B CPU
16C 表示部
16E RAM
16F 通信部
16G 操作部

【特許請求の範囲】
【請求項1】
端末装置と、前記端末装置により実行されるプログラムを内包する実体ファイルおよび前記実体ファイルの格納位置を示す第1の格納位置情報を含むアプリケーション情報記述ファイルを格納する情報提供サーバ装置と、前記端末装置が利用可能なハードウェア資源、ネットワーク資源およびソフトウェア資源のうち少なくとも1つの資源に対するプログラムからのアクセスを制御するための権限情報を含む権限情報記述ファイルを格納する管理サーバ装置とを有する通信システムにおけるファイルの配信方法であって、
前記管理サーバ装置が、プログラムの識別子または当該プログラムの出所を示す識別子および前記識別子により示されるプログラムの前記権限情報を含む前記権限情報記述ファイルを前記端末装置に送信する権限送信過程と、
前記情報提供サーバ装置が、前記アプリケーション情報記述ファイルを前記端末装置に送信するアプリケーション情報送信過程と、
前記権限情報記述ファイルおよび前記アプリケーション情報記述ファイルを受信した端末装置から、前記アプリケーション情報記述ファイルに含まれる前記第1の格納位置情報により格納位置が特定される実体ファイルを要求されると、前記情報提供サーバ装置が、要求された実体ファイルを前記端末装置に送信するプログラム送信過程と、
前記端末装置が、前記実体ファイルに内包されるプログラムを実行する際に、当該プログラムに対応する識別子を含む前記権限情報記述ファイルに記述された権限情報に基づいて前記少なくとも1つの資源に対するアクセスを制御するアクセス制御過程と
を有する配信方法。
【請求項2】
前記権限情報は、前記ソフトウェア資源であるAPI(Application Program Interface)の識別子と、前記識別子により示されるAPIの使用可否を示す情報を含む
ことを特徴とする請求項1に記載の配信方法。
【請求項3】
前記権限情報記述ファイルが、前記アプリケーション情報記述ファイルの格納位置を示す第2の格納位置情報を含み、
前記権限情報記述ファイルを受信した端末装置から、前記権限情報記述ファイルに含まれる前記第2の格納位置情報により格納位置が示されるアプリケーション情報記述ファイルを要求されると、前記情報提供サーバ装置が、要求されたアプリケーション情報記述ファイルを前記端末装置に送信し、
前記アプリケーション情報記述ファイルを受信した端末装置から、前記アプリケーション情報記述ファイルに含まれる前記第1の格納位置情報により格納位置が示される実体ファイルを要求されると、前記プログラム送信過程において、前記情報提供サーバ装置が、要求された実体ファイルを前記端末装置に送信する、
請求項1に記載の配信方法。
【請求項4】
前記管理サーバ装置はセキュリティが確保された通信路を介して前記権限情報記述ファイルを送信する
請求項1に記載の配信方法。
【請求項5】
前記通信路は移動通信網または暗号化された通信路の少なくともいずれか一つにより実現される
請求項4に記載の配信方法。
【請求項6】
前記通信システムが前記権限情報記述ファイルを暗号化する暗号化過程と、
前記端末装置が、前記権限送信過程にて前記通信システムから送信された前記権限情報記述ファイルを復号する復号過程とを有し、
前記権限送信過程では、前記暗号化過程にて暗号化された前記権限情報記述ファイルを前記端末装置へ送信し、
前記プログラム送信過程では、前記端末装置が、前記復号過程にて復号された前記権限情報記述ファイルを用いて前記実体ファイルを取得する
請求項1に記載の配信方法。
【請求項7】
前記ソフトウェア資源が、クラス、パッケージのいずれかである
請求項1に記載の配信方法。
【請求項8】
前記権限情報は資源の利用の種類を示す
請求項1に記載の配信方法。
【請求項9】
前記プログラムに対応するアプリケーション情報記述ファイルは前記プログラムを提供する情報提供事業者に対して認証局が与えた秘密鍵で署名されており、かつ、前記プログラムに対応する権限情報記述ファイルは前記情報提供事業者に対して認証局が与えた公開鍵を内包し、
前記プログラム送信過程では、前記端末装置が、受信したアプリケーション情報記述ファイルの正当性を前記公開鍵を用いて検証し、正当性が検証された場合にのみ、前記実体ファイルを取得する
請求項3に記載の配信方法。
【請求項10】
前記アプリケーション情報記述ファイルおよび前記権限情報記述ファイルは、前記管理サーバ装置を管理する管理者が付与するアプリケーション識別子を内包し、
前記プログラム送信過程では、前記端末装置が、受信した権限情報記述ファイルに内包されたアプリケーション識別子と受信したアプリケーション情報記述ファイルに内包されたアプリケーション識別子とを比較し、両者が一致した場合にのみ、前記実体ファイルを取得する
請求項3に記載の配信方法。
【請求項11】
前記情報提供サーバ装置が、前記権限情報記述ファイルの格納位置を示す第3の格納位置情報を内包したダウンロード用ファイルを格納し、
前記情報提供サーバ装置が前記端末装置へ前記ダウンロード用ファイルを送信する事前送信過程と、
前記端末装置が、前記事前送信過程にて前記通信システムから送信された前記ダウンロード用ファイルを用いて前記権限情報記述ファイルの送信を前記通信システムに要求する権限送信要求過程とを有し、
前記権限送信過程では、前記管理サーバ装置が、前記権限送信要求過程にて要求された前記権限情報記述ファイルを前記端末装置へ送信する
請求項1に記載の配信方法。
【請求項12】
前記権限送信過程にて送信される権限情報記述ファイルの格納位置が前記管理サーバ装置内の場合にのみ前記プログラム送信過程以降の過程が実行される
請求項1に記載の配信方法。
【請求項13】
端末装置と、前記端末装置により実行されるプログラムを内包する実体ファイルおよび前記実体ファイルの格納位置を示す第1の格納位置情報を含むアプリケーション情報記述ファイルを格納する情報提供サーバ装置と、前記端末装置が利用可能なハードウェア資源、ネットワーク資源およびソフトウェア資源のうち少なくとも1つの資源に対するプログラムからのアクセスを制御するための権限情報を含む権限情報記述ファイルを格納する管理サーバ装置とを有する通信システムであって、
前記管理サーバ装置が、プログラムの識別子または当該プログラムの出所を示す識別子および前記識別子により示されるプログラムの前記権限情報を含む前記権限情報記述ファイルを前記端末装置に送信する権限送信手段を有し、
前記情報提供サーバ装置が、前記アプリケーション情報記述ファイルを前記端末装置に送信するアプリケーション情報送信手段を有し、
前記情報提供サーバ装置が、前記権限情報記述ファイルおよび前記アプリケーション情報記述ファイルを受信した端末装置から、前記アプリケーション情報記述ファイルに含まれる前記第1の格納位置情報により格納位置が特定される実体ファイルを要求されると、要求された実体ファイルを前記端末装置に送信するプログラム送信手段を有し、
前記端末装置が、前記実体ファイルに内包されるプログラムを実行する際に、当該プログラムに対応する識別子を含む前記権限情報記述ファイルに記述された権限情報に基づいて前記少なくとも1つの資源に対するアクセスを制御するアクセス制御手段を有する
ことを特徴とする配信システム。

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

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2010−262672(P2010−262672A)
【公開日】平成22年11月18日(2010.11.18)
【国際特許分類】
【出願番号】特願2010−163132(P2010−163132)
【出願日】平成22年7月20日(2010.7.20)
【分割の表示】特願2007−280585(P2007−280585)の分割
【原出願日】平成14年1月8日(2002.1.8)
【出願人】(392026693)株式会社エヌ・ティ・ティ・ドコモ (5,876)
【Fターム(参考)】