JPWO2003083646A1 - 配信方法、配信システム及び端末装置 - Google Patents

配信方法、配信システム及び端末装置 Download PDF

Info

Publication number
JPWO2003083646A1
JPWO2003083646A1 JP2003581004A JP2003581004A JPWO2003083646A1 JP WO2003083646 A1 JPWO2003083646 A1 JP WO2003083646A1 JP 2003581004 A JP2003581004 A JP 2003581004A JP 2003581004 A JP2003581004 A JP 2003581004A JP WO2003083646 A1 JPWO2003083646 A1 JP WO2003083646A1
Authority
JP
Japan
Prior art keywords
description file
file
terminal device
software
distribution system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003581004A
Other languages
English (en)
Other versions
JP4078313B2 (ja
Inventor
信之 渡邊
信之 渡邊
澤田 久徳
久徳 澤田
西尾 英昭
英昭 西尾
中村 友則
友則 中村
三浦 史光
史光 三浦
富岡 淳樹
淳樹 富岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Docomo Inc filed Critical NTT Docomo Inc
Publication of JPWO2003083646A1 publication Critical patent/JPWO2003083646A1/ja
Application granted granted Critical
Publication of JP4078313B2 publication Critical patent/JP4078313B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2135Metering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/04Network layer protocols, e.g. mobile IP [Internet Protocol]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/14Backbone network devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

技術分野
本発明は、端末装置にアプリケーションソフトウェアを配信する技術に関する。
背景技術
Java(登録商標)プログラミング言語に従って記述されたプログラムを実行してJava−AP(Javaアプリケーション)を実行する機能と、この種のプログラムを含むJava−APソフトウェアを、ネットワークを介してダウンロードする機能とを備えた移動機が普及している。
Java−APソフトウェアとして、Jar(Java Archive)ファイルとADF(Application Descriptor File)とがある。ここで、Jarは、それが実行されることにより、あるJava−APをユーザに提供するプログラムを内包している。また、ADFはJarファイルに依存しており、例えば、Jarファイルの格納位置を示すURL(以後、パッケージURL)、Jarファイルのサイズを示す情報、Jarファイルの最終変更日時を示す情報等を必須情報として内包している。
移動機は、次のような手順で、所望のJava−APに関連したソフトウェアのダウンロードを行う。まず、移動機は、WWW(World Wide Web)を構成するサーバ装置から所望のJava−APに関連したADFを取得する。
ADFを取得した移動機はこのADFの内容を調べるとともに、その移動機に設けられたメモリの空き容量を調べ、所望のJava−APに関連したJarファイルを当該移動機にインストール可能であるか否かを判断する。そして、インストール可能と判断すると、移動機は、ADFに含まれていたパッケージURLを用いて、WWWを構成するサーバ装置からJarファイルを取得する。このJarファイルには、Java−APソフトウェアが格納されている。従って、このJarファイルの取得をもってJava−APソフトウェアのダウンロードは完了する。その後、移動機においては、ダウンロードされたJava−APソフトウェアのインストールが行われ、当該Java−APソフトウェアは起動要求さえあれば実行される状態となる。
ところで、移動機内で実行されるJava−APの挙動についての制限は、通信アプリケーションなどの移動機が元から備えているネイティブアプリケーションの挙動についての制限よりも厳しくなっている。例えば、Java−APは、移動機内の電話番号データなどの秘匿性の高い情報を参照することができないようになっている。このような厳しい制限を課すことにより、悪意をもって作成されたJava−AP、あるいは不具合を有するJava−APによって移動機内の秘密性の高い情報が漏洩したり改竄されたりする事態を確実に回避することができる。
しかし、上述した厳しい制限を全てのJava−APに対して一律に課すだけでは、ユーザやIP(情報提供事業者)の希望を満たすことはできない。例えば、ある程度の信頼性が保証されるのであれば、Java−APに移動機に格納された個人情報を参照する権限を与えてもよいと感じるユーザがいると思われる。また、IPにも、移動機に格納されている個人情報や移動機が有する多数の機能を使用する、より魅力的なJava−APを提供したいという希望がある。
これらの希望を満たすべく、移動機のユーザに対して通信サービスを提供する通信事業者等の信頼できる機関がJava−APに権限を与え、この権限を移動機に通知し、当該権限に基づいて移動機が当該Java−APの挙動を制限するという仕組みが考えられる。この仕組みでは、権限の信頼性を保証するために、信頼できる機関以外の他者が権限の付与・管理に関与し得ないようにすべきである。
Java−APソフトウェアのダウンロード手順に上述の仕組みを適用する場合、信頼できる機関がADFあるいはJarファイルに権限を示す情報を内包させるのが妥当である。ここで、JarファイルはIPにより随時更新されるので、IPが保有するのが適当である。しかし、IPがJarファイルを保有するとすると、信頼できる機関はJarファイルを保有し得ない。従って、信頼できる機関は、このようなJarファイルよりは、むしろADFを保有し、このADFに権限を示す情報を内包させるのが妥当であるということができる。
しかし、ADFはJarファイルに依存した内容となることから、IPが手元のJarファイルを更新すると、信頼できる機関が保有しているADFの更新も必要になってくる。ここで、信頼できる機関は、他社の関与を排するようにADFを管理することが必要であるから、信頼できる機関とIPが連携してADFを更新することとなり、その作業が繁雑なものになることが懸念される。また、Jarファイルを更新せずとも、ADFの更新が必要となることがある。例えば、IPにおいて、あるJarファイルへのアクセスが殺到し、このJarファイルを他のサーバ装置へ移動する場合である。この場合、Jarファイルの格納位置が変更されるから、ADFに内包されているパッケージURLを変更する必要がある。しかしながら、ADFは信頼できる機関において他者の関与を排するように管理されるのであるから、ADFの更新作業は繁雑な作業となると予想される。
発明の開示
本発明は、上述した事情に鑑みて為されたものであり、権限に応じた挙動をアプリケーションに許可する端末装置に対し、依存関係にある複数のファイルを配信することによってそのアプリケーションを実現するためのソフトウェアを配信可能な仕組みを提供することを目的としている。
上述した課題を解決するために、本発明は、アプリケーションを実現するためのソフトウェアを内包した実体ファイルを格納した情報提供サーバ装置と、端末装置が前記ソフトウェアを実行することにより実現されるアプリケーションに与えられた権限を示す権限情報を内包したセキュリティ記述ファイルを格納した管理サーバ装置と、前記実体ファイルに依存した内容を有し前記実体ファイルの格納位置と前記セキュリティ記述ファイルの格納位置とが記述されたアプリケーション記述ファイルを格納した情報提供サーバ装置とを有した配信システムが、前記アプリケーション記述ファイルの格納位置を前記端末装置によって通知されると、当該端末装置に対して当該アプリケーション記述ファイルを送信する過程と、前記端末装置が、前記配信システムから送信されてくるアプリケーション記述ファイルに内包されている前記セキュリティ記述ファイルの格納位置を前記配信システムに通知する過程と、前記配信システムが、前記通知されたセキュリティ記述ファイルの格納位置に基づいて、当該セキュリティ記述ファイルをセキュリティが確保された状態で前記端末装置に送信する過程と、前記端末装置が、前記配信システムから送信された前記アプリケーション記述ファイルに内包されている前記実体ファイルの格納位置を前記配信システムに通知する過程と、前記配信システムが、前記通知された実体ファイルの格納位置に基づいて、当該実体ファイルを前記端末装置に送信する過程とを有する配信方法を提供する。
この方法によれば、配信システムが、アプリケーション記述ファイルの格納位置を前記端末装置によって通知されると、当該端末装置に対して当該アプリケーション記述ファイルを送信し、端末装置が、得たアプリケーション記述ファイルに内包されているセキュリティ記述ファイルの格納位置を配信システムに通知し、配信システムが、通知されたセキュリティ記述ファイルの格納位置に基づいて、当該セキュリティ記述ファイルをセキュリティが確保された状態で端末装置に送信し、端末装置が、配信システムから送信されてくるアプリケーション記述ファイルに内包されている実体ファイルの格納位置を前記配信システムに通知し、配信システムが、通知された実体ファイルの格納位置に基づいて、当該実体ファイルを端末装置に送信する。
また、本発明は、ネットワーク内の装置との通信を行うための通信部と、記憶部と、制御部とを具備し、前記制御部は、(a)アプリケーションを実現するためのソフトウェアを内包した実体ファイルの格納位置と、前記ソフトウェアを実行することにより実現されるアプリケーションに与えられた権限を示す権限情報を内包したセキュリティ記述ファイルの格納位置とが記述されたアプリケーション記述ファイルの格納位置を示す情報を含んだ第1の配信要求を前記通信部により前記ネットワーク内の配信システムに送信することにより、前記配信システムにおける情報提供サーバ装置に格納されたアプリケーション記述ファイルを前記配信システムから前記通信部により受信し、前記記憶部に格納する手段と、(b)前記配信システムから受信されたアプリケーション記述ファイルに内包されている前記セキュリティ記述ファイルの格納位置を示す情報を含んだ第2の配信要求を前記通信部により前記配信システムに送信することにより、前記配信システムにおける管理サーバ装置に記憶されたセキュリティ記述ファイルを前記配信システムから前記通信部により受信し、前記記憶部に格納する手段と、(c)前記配信システムから受信されたアプリケーション記述ファイルに内包されている実体ファイルの格納位置を示す情報を含む第3の配信要求を前記通信部により前記配信システムに送信することにより、前記配信システムにおける情報提供サーバに格納された実体ファイルを前記配信システムから前記通信部により受信し、前記記憶部に格納する手段と、(d)前記記憶部に記憶された実体ファイルに含まれるソフトウェアの実行が指示された場合に、前記記憶部に記憶された該実体ファイルに対応したセキュリティ記述ファイルに含まれる権限情報に従い、該ソフトウェアの実行により実現されるアプリケーションの挙動を制限する手段とを有する端末装置を提供する。
この場合において、前記配信システムは、前記セキュリティ記述ファイルを暗号化して前記端末装置に送信することによってセキュリティを確保しており、前記端末装置の制御部は、前記配信システムによって送信されてくる暗号化されたセキュリティ記述ファイルを復号化する手段を具備していてもよい。
また、前記端末装置の制御部は、前記通信部により、セキュリティの確保された通信路を介して前記セキュリティ記述ファイルを受信してもよい。
この場合において、前記端末装置の制御部は、暗号化通信により前記セキュリティ記述ファイルを受信してもよい。
また、前記端末装置の制御部は、前記通信部により、移動通信網および専用線を介して前記セキュリティ記述ファイルを受信してもよい。
この場合において、前記端末装置の制御部は、移動通信網を介した暗号化通信により前記セキュリティ記述ファイルを受信してもよい。
好ましい態様において、前記端末装置の制御部におけるアプリケーションの挙動を制限する手段は、前記セキュリティ記述ファイルに内包された権限情報に基づき、資源の利用を制限してもよい。
この場合において、前記資源は前記端末装置内部のハードウェア資源であってもよいし、前記端末装置外部の、当該端末装置が使用可能なハードウェア資源であってもよいし、前記端末装置内部のソフトウェア資源であってもよいし、前記端末装置外部の、当該端末装置が使用可能なソフトウェア資源であってもよいし、前記端末装置が使用可能なネットワーク資源であってもよい。
好ましい態様において、前記端末装置の制御部におけるアプリケーションの挙動を制限する手段は、前記権限情報に基づき資源の利用の種類を判断してもよい。
好ましい態様において、前記アプリケーション記述ファイルは前記端末装置に通信サービスを提供する通信事業者の公開鍵を内包し、前記セキュリティ記述ファイルは前記通信事業者の秘密鍵で署名されており、前記制御部は、前記配信システムによって送信されてくるセキュリティ記述ファイルの正当性を前記アプリケーション記述ファイルに内包されている公開鍵を用いて検証し、その正当性が検証された場合にのみ、前記配信システムに対し前記実体ファイルの格納位置を通知する端末装置を提供する。
また、好ましい態様において、前記アプリケーション記述ファイル及び前記セキュリティ記述ファイルは、対応するアプリケーションに割り当てられたアプリケーション識別子を内包しており、前記制御部は、前記配信システムによって送信されてくるアプリケーション記述ファイルに内包されたアプリケーション識別子と、前記配信システムによって送信されてくるセキュリティ記述ファイルに内包されたアプリケーション識別子とを比較し、両者が一致した場合にのみ、前記配信システムに前記実体ファイルの格納位置を通知する端末装置を提供する。
また、前記アプリケーション記述ファイルに記述された前記セキュリティ記述ファイルの格納位置が前記管理サーバ装置内の場合にのみ、前記端末装置の制御部は、前記セキュリティ記述ファイルの格納位置を前記配信システムに通知するようにしてもよい。
好ましい態様において、前記セキュリティ記述ファイルは、対応するアプリケーションの有効期限を示す期限情報を内包しており、前記端末装置の制御部は、前記配信システムに対して前記セキュリティ記述ファイルの格納位置を時系列的に繰り返し通知することによって、前記配信システムから当該セキュリティ記述ファイルが時系列的に繰り返し受信し、繰り返し受信される前記セキュリティ記述ファイルに内包されている前記期限情報に基づいて、前記アプリケーションの有効期限を更新する手段を具備していてもよい。
この場合、前記端末装置は、前記配信システムから前記セキュリティ記述ファイルが正当に配信されてきた場合にのみ、前記アプリケーションの有効期限を更新するようにしてもよい。
好ましい態様において、前記端末装置は移動機であってもよい。
また、本発明はアプリケーションを実現するためのソフトウェアを内包した実体ファイルと、前記ソフトウェアを実行することにより実現されるアプリケーションに与えられた権限を示す権限情報を内包したセキュリティ記述ファイルと、前記実体ファイルに依存した内容を有し前記実体ファイルの格納位置と前記セキュリティ記述ファイルの格納位置とが記述されたアプリケーション記述ファイルを格納した1または複数のサーバ装置とを有し、前記1または複数のサーバ装置のうち前記セキュリティ記述ファイルを格納するサーバ装置は、セキュリティ記述ファイルを管理する権限の与えられた管理サーバ装置であり、各々の前記サーバ装置は、ファイルの格納位置が通知されると当該ファイルをその通知元に返送する手段を有し、前記管理サーバ装置は、前記セキュリティ記述ファイルの格納位置が通知されると当該セキュリティ記述ファイルをセキュリティが確保された状態で通知元に返送する配信システムを提供する。
発明を実施するための最良の形態
以下、図面を参照して、本発明の実施の一形態である配信システムについて説明する。なお、図面において、共通する部分には同一の符号が付されている。
(1)構成
図1に示されるように、この配信システムにおいて、IPサーバ装置12〜14は、インターネット11に接続されている。IPサーバ装置12は第1のIP(Internet Provider)によって管理されており、IPサーバ装置13および14は第1のIPと異なる第2のIPにより管理されている。そして、IPサーバ装置12〜14はWWWを構成しており、それぞれ一般的なWWWサーバ装置と同様のハードウェアおよび機能を有する。移動パケット通信網15は、通信事業者が移動パケット通信サービスを提供するために用いる網である。移動機16は、この移動パケット通信網15との間で無線パケット通信を行うことが可能である。ゲートウェイサーバ装置17は、移動パケット通信網15と同じ通信事業者により管理されている。このゲートウェイサーバ装置17は、移動パケット通信網15とインターネット11とを接続する装置であり、一般的なゲートウェイサーバ装置の構成と同様の構成を有する。管理サーバ装置18は、専用線によりゲートウェイサーバ装置17に接続されている。この管理サーバ装置18もまたWWWを構成し、一般的なWWWサーバ装置と同様のハードウェアおよび機能を有する。ゲートウェイサーバ装置17は、移動パケット通信網15とインターネット11との間のパケット中継、管理サーバ装置18と移動パケット通信網15との間のパケット中継および管理サーバ装置18とインターネット11との間のパケット中継を行う。移動機16は、この中継機能を利用することにより、移動パケット通信網15およびインターネット11を介してIPサーバ装置12〜14とパケット通信を行うことが可能である。なお、実際の配信システムには多数の移動機が存在するが、図面が繁雑になるのを避けるために一つの移動機16のみが図示されている。これと同様の理由により、3つのIPサーバ装置12〜14のみが図示されている。
この配信システムにおいて、移動機16は、インターネット11上の所望のサイトからJava−APソフトウェアを受け取ることができる。この移動機16が受け取ることができるソフトウェアは、トラステッドJava−APに関するものと、非トラステッドJava−APに関するものに大別される。ここで、トラステッドJava−APソフトウェアは、移動パケット通信網15を管理する通信事業者がIPサーバ装置12〜14を管理するIPとの契約に基づいて信頼性を保証したJava−APソフトウェアである。また、非トラステッドJava−APソフトウェアは、トラステッドJava−APソフトウェア以外のJava−APソフトウェアである。
管理サーバ装置18は、この配信システム内を流通する各トラステッドJava−APソフトウェアについてSDF(セキュリティ記述ファイル)を各々記憶している。このSDFは、移動パケット通信網15を管理する通信事業者によって作成されるファイルであり、移動機のトラステッドAPI(APplication Interface)を使用するJava−APソフトウェアを移動機にダウンロードする際に必須のファイルである。なお、トラステッドAPIについては後述する。図3に示されるように、SDFは、トラステッドJava−APソフトウェアを識別するためのAPID、ポリシー情報、および有効期限を有する。これらの情報は通信事業者の秘密鍵を用いて暗号化されている。ここで、ポリシー情報は、トラステッドJava−APの移動機16内での挙動に対する制限を示す情報である。なお、このポリシー情報およびこれに基づいて行われるJava−APの挙動の制限の詳細については後述する。
本実施形態では、移動機16から所望のトラステッドJava−APソフトウェアの配信要求が送信された場合に、IPサーバ装置12〜14の1つから移動機16にそのトラステッドJava−APソフトウェアにおけるADFが配信される。ここで、トラステッドJava−APソフトウェアのADFには、Jarファイルの所在を示すURLの他、このトラステッドJava−APソフトウェアに対応したSDFの所在を示すURLと、そのSDFの暗号化に用いられた秘密鍵と対をなす公開鍵が含まれている。このADFを受信した移動機16は、ADF内のURLを用いてSDFを取得し、ADF内の公開鍵を用いてSDFを復号化する。そして、最後に移動機16は、ADFに含まれているJarファイルのURLを用いて、Jarファイルを取得する。その後、移動機16において、トラステッドJava−APソフトウェアが実行されるときには、SDFに基づいて、トラステッドJava−APの挙動の制限が行われる。これが本実施形態の特徴の1つである。図1に示すとおり、SDFの送信は移動パケット通信網15を通して行われ、管理サーバ装置18とゲートウェイサーバ装置17は専用線によって接続されている。
以下、この特徴との関連において、配信システムの各要素の構成を説明する。
IPサーバ装置12、13及び14は不揮発性メモリ12A,13A及び14Aをそれぞれ有する。
不揮発性メモリ12A、13Aおよび14Aは、ハードディスク等の不揮発性メモリであり、JarファイルおよびADFからなるJava−APソフトウェアと、Java−APソフトウェアの内容を移動機のユーザに説明するための説明ファイルとを記憶している。
不揮発性メモリ12A、13Aおよび14Aに記憶されている個々のJava−APソフトウェアは、トラステッドJava−APソフトウェアであるかも知れないし、非トラステッドJava−APソフトウェアであるかも知れない。トラステッドJava−APであるか非トラステッドJava−APであるかに拘わらず、全てのJava−APソフトウェアのADFには、WWWにおけるJarファイルの記憶位置を示すパッケージURLや、Jarファイルのサイズを示す情報、Jarファイルの最終変更日時を示す情報等が記述されている。これらはJava−APソフトウェアのADFに記述されるべき項目として一般的に知られているものである。そして、トラステッドJava−APソフトウェアのADFは、これらの一般的に知られた情報の他に、図2に示されるように、そのトラステッドJava−APソフトウェアのAPIDと、Jarファイルのハッシュ値と、SDFがWWWにおいて記憶されている位置を示すURL(以下、SDF−URLと呼ぶ)と、そのSDFの暗号化に使用された秘密鍵と対をなす公開鍵とを内包している。ここで、公開鍵は、図示せぬCA(認証局)によって正当性が証明された通信事業者に対し、証明書として発行されるものである。
また、説明ファイルは、HTMLに従って記述されたテキストファイルである。移動機は、あるJava−APソフトウェアをダウンロードする場合に、それに先だって、このJava−APソフトウェアに対応した説明ファイルをダウンロードする必要がある。説明ファイルには、Java−APソフトウェアのダウンロードの指示をユーザから受け取るUI(ユーザインターフェイス)を構成するための情報が含まれている。移動機16は、この情報に従い、UI画面を表示する。ユーザは、このUI画面中の所望のJava−APを表すオブジェクトを指定する操作を移動機16に対して行うことができる。説明ファイルには、このようにしてユーザによって指定されるオブジェクトを、ダウンロード対象であるJava−APソフトウェアに対応するADFのWWWにおける所在を示すURLに対応付けるように記述されている。
IPサーバ装置12〜14の各々は、以上説明した各ファイルをIPの指示に従って作成および更新する機能を備えている。
管理サーバ装置18は、ハードディスク等の不揮発性メモリ18Aを有する。管理サーバ装置18は、TCPコネクションを通信相手との間に確立する。管理サーバ装置18は、このTCPコネクションを介して、HTTPのGETメソッドを用いた要求メッセージを通信相手から受信すると、当該GETメソッドに指定されたURLで特定されるファイルを不揮発性メモリ18Aから読み出し、このファイルを含むHTTPの応答メッセージを返送して当該コネクションを切断する。
また、上記不揮発性メモリ18Aには、ダウンロード可能なJava−APソフトウェアを移動機16のユーザに紹介するためのリストファイル200と、このリストファイル200に挙げられた各Java−APソフトウェアに各々対応したSDFとが記憶される。
これらのうちSDFは、既に図3を参照して説明した通りである。
リストファイル200は、HTMLに従って記述されたテキストファイルである。既に説明したように、移動機は、あるJava−APソフトウェアをダウンロードする場合に、それに関連した説明ファイルを取得する必要がある。既に説明したように、移動機16は、この説明ファイルを格納しているIPサーバ装置にアクセスするという方法により、この説明ファイルを取得することができる。しかし、このような直接的な方法以外に、本実施形態において移動機16は、次のような手順により所望のJava−APソフトウェアの説明ファイルを取得することもできる。まず、移動機16は、管理サーバ装置18にアクセスして、このリストファイル200を取得し、これに従い、UI画面を表示する。ユーザは、このUI画面中の所望のJava−APを表すオブジェクトを指定する操作を移動機16に対して行うことができる。リストファイル200は、このようにしてユーザによって指定されるオブジェクトを、ダウンロード対象であるJava−APソフトウェアの説明ファイルのWWWにおける所在を示すURLに対応付ける。移動機16は、このようにリストファイル200を介して得られるURLを用いて、IPサーバ装置から説明ファイルを取得するのである。
移動機16は、図5に示されるように、OS(オペレーティングシステム)ソフトウェア、Java−APを実行する環境を構築するためのJava−AP環境ソフトウェアおよび各種ネイティブAPソフトウェア等を記憶したROM16Aと、ROM16Aに接続されROM16Aからプログラムを読み出して実行するCPU16Bと、CPU16Bに接続された表示部16Cと、不揮発性メモリ16Dと、RAM16Eと、通信部16Fと、操作部16Gとを有する。
表示部16Cは、例えば液晶表示パネルを有し、CPU16Bから供給されるデータを画像として表示する。不揮発性メモリ16Dは例えばSRAMやEEPROMであり、CPU16Bによりデータを読み書きされる。不揮発性メモリ16Dは、WWWを構成するサーバ装置(以後、Webサーバ装置)からダウンロードしたJava−APソフトウェアを記憶するために使用される。既に述べたように、本実施形態において、「Java−APソフトウェア」という語は、「トラステッドJava−APソフトウェア」および「非トラステッドJava−APソフトウェア」の両方を指すのに用いられている。しかし、ある文脈において「Java−APソフトウェア」という語が「トラステッドJava−APソフトウェア」を指している場合もある。そのような文脈において、この語は、ADF、SDFおよびJarを含む概念と解釈されるべきである。また、ある文脈において、「Java−APソフトウェア」という語が「非トラステッドJava−APソフトウェア」を指している場合もある。そのような文脈において、この語はADFおよびJarを含む概念と解釈されるべきである。
通信部16Fは、移動パケット通信網15と無線パケット通信を行うものであり、CPU16Bと移動パケット通信網15との間でパケットを中継する。また、通信部16Fは、アンテナや無線送受信部の他に、通話のためのCODECやマイク、スピーカ等を備えている。従って、移動機16は、この通信部16Fにより、図示せぬ移動通信網を介して回線交換による通話を行うこともできる。操作部16Gは操作子を備え、操作子の操作に応じた信号をCPU16Bへ供給する。計時部16Hは、現在の年月日および時刻(以下、単に現在日時という)を計時する。なお、計時部16Hがより正確な現在日時を計時するために、例えば移動パケット通信網15の図示せぬ基地局から制御チャネルを介して定期的に通知される現在日時に同期させるような処理を行ってもよい。
CPU16Bは、ROM16Aに記憶された各種プログラムに従って移動機16全体の制御を行う装置である。図示せぬ電源が投入されると、このCPU16BはRAM16Eをワークエリアとし、ROM16Aから図6のOSを読み出して実行する。CPU16Bは、このOSに従ってUI等を機能を提供する。OSは操作部16Gから供給される信号とUIの状態とに基づいてユーザの指示を特定し、この指示に応じた処理を行う。
ユーザの指示がネイティブAPソフトウェアである通信ソフトウェアの起動を要求するものであれば、OSは通信ソフトウェアを起動して移動機16内にて通信APを実行する。この通信APを用いることで、ユーザは通話相手と通話をすることができる。
ユーザの指示がネイティブAPソフトウェアである電話帳APの起動を要求するものであれば、OSは電話帳ソフトウェアを起動して移動機16内にて電話帳APを実行する。この電話帳APを用いることで、ユーザは、不揮発性メモリ16Dに記憶された電話帳の内容(以後、電話帳データ)を参照・使用・変更することができる。
ユーザの指示がネイティブAPソフトウェアであるWebブラウザソフトウェアの起動を要求するものであれば、OSはWebブラウザソフトウェアを起動して移動機16内にてWebブラウザを実行する。このWebブラウザはUIを提供する。そして、Webブラウザは、ユーザから操作部16Gの操作により指示があると、UIの状態と操作部16Gから供給される信号とに基づいてユーザの指示を特定し、この指示に応じた処理を行う。例えば、当該指示が指定されたファイルをWWWから取得する旨の場合には、通信部16Fを制御して当該ファイルを記憶したWebサーバ装置との間にTCPコネクションを確立し、このコネクションを介して、指定された位置を示すURLをGETメソッドに用いたHTTPの要求メッセージを送信し、この要求メッセージに対応する応答メッセージを受信し、当該コネクションを切断する。さらに、Webブラウザは、受信した応答メッセージに内包されているファイルをHTMLに従って解釈し、Webページを内包するUIを生成し、ユーザに提供する。また、ユーザの指示がJava−APソフトウェアのダウンロードを要求するものである場合には、Webブラウザは、この指示を次に述べるJAM(Java Application Manager)に通知する。具体的には、Webページにおいて、クリック操作またはプレス操作により、オブジェクトタグが指定されているアンカータグで表されるアンカーが指定されると、Webブラウザは当該オブジェクトタグのdata属性に指定されているURLを抽出し、当該URLからのJava−APソフトウェアのダウンロードが要求されたことをJAMに通知する。
ユーザの指示がネイティブ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とに分けられる。
(2)動作
以下、本実施形態の動作を説明する。
(2−1)移動機16によるJava−APソフトウェアのダウンロード
JAMは、Java−APのダウンロードを要求する指示がWebブラウザから通知されると、Java−APソフトウェアを移動機16にダウンロードしインストールする処理を行う。この処理の流れを図7に示す。なお、図7では、移動機16が説明ファイルを取得するまでの過程は省略されている。説明ファイルの取得までの過程は、幾つかの態様があるので、後に具体的な動作例を挙げて説明する。図7に示されるように、JAMは、まず、Java−APソフトウェアのダウンロードを要求する指示があったか否かを判定する(ステップS11)。そして、Java−APソフトウェアのダウンロードを要求する指示がWebブラウザから通知されると、そのJava−APソフトウェアに対応するADFをIPサーバ装置12〜14のいずれかから取得する(ステップS12)。具体的には、JAMは、IPサーバ装置12〜14のうちADFを格納しているものとの間にTCPコネクションを確立し、ADFの送信を要求する内容の要求メッセージを生成・送信し、このメッセージに対する応答メッセージを受信してADFを取得した後、このTCPコネクションを切断する。そして、JAMは、応答メッセージに内包されているADFを不揮発性メモリ16Dに書き込む。
次いで、JAMは、ダウンロードしようとしているJava−APソフトウェアを移動機16にインストール可能か否かをADFの内容に基づいて判定する(ステップS13)。ここでは、ADFに記述されていたJarファイルのサイズと、不揮発性メモリ16D内のJarファイルを記憶可能な空き容量とを比較する等の、従来と同様の基準に従って判定すればよい。
ここで、インストール可能と判定された場合には(ステップS13;Yes)、JAMは、ダウンロードしようとするJava−APソフトウェアがトラステッドJava−APソフトウェアであるか否かを判定する(ステップS14)。具体的には、JAMは、ステップS12において取得したADF内にSDF−URLが記述されているか否かを確認し、記述されていれば、このJava−apソフトウェアに対応するSDFが存在する、即ち、トラステッドJava−APソフトウェアであると判定するし、その記述がなければ非トラステッドJava−APソフトウェアであると判定する。
そして、ダウンロードしようとするJava−APソフトウェアが非トラステッドJava−APソフトウェアであると判定された場合には(ステップS14;No)、従来と同様のダウンロードおよびインストール処理が行われる(ステップS15)。
一方、ダウンロードしようとするJava−APソフトウェアがトラステッドJava−APソフトウェアと判定された場合には(ステップS14;Yes)、JAMは、このソフトウェアに対応するSDFを管理サーバ装置18から取得する(ステップS16)。すなわち、JAMは、管理サーバ装置18との間にTCPコネクションを確立し、このコネクションを介して、ADF内に記述されているSDF−URLで示される位置に記憶されたSDFの送信を管理サーバ装置18に要求する内容の要求メッセージを生成・送信し、このメッセージに対する応答メッセージを受信してSDFを取得した後、上記コネクションを切断する。
前述したように、トラステッドJava−APソフトウェアに対応するSDFは、APIDとポリシー情報と有効期限とを内包し、さらに通信事業者の秘密鍵により署名(暗号化)されている。そこで、JAMは、応答メッセージに内包されているSDFの署名を、既に取得しているADFから抽出された公開鍵を用いて検証し(復号し)、このSDFの正当性を判断する(ステップS17)。正当性が確認された場合(ステップS17;Yes)、JAMは、SDFを不揮発性メモリ16Dに書き込む。
次いで、JAMは、SDFに内包されているAPIDと、既に取得しているADFに内包されていたAPIDとを比較し、両者が一致するか否かを判定する(ステップS18)。
両者が一致すると判定された場合には(ステップS18;Yes)、JAMは、Jarファイルを取得する(ステップS19)。具体的には、JAMは、ADFに内包されているパッケージURLで特定されるJarファイルを記憶したIPサーバ装置12〜14のいずれかとの間にTCPコネクションを確立し、このJarファイルの送信を要求する内容の要求メッセージを生成・送信し、このメッセージに対する応答メッセージを受信してJarファイルを取得し、このTCPコネクションを切断する。
次に、JAMは、取得したJarファイルに対するハッシュ値を算出する(ステップS20)。ハッシュ値の算出に使用するハッシュ関数は任意であるが、移動機16で使用されるハッシュ関数とADFに含まれるハッシュ値の算出時に使用されるハッシュ関数とは一致していなければならない。実際には、移動機16で使用されるハッシュ関数を用いて、トラステッドJava−APソフトウェアを提供するIPがハッシュ値を算出してADFを生成することになる。
JAMは、算出したハッシュ値とADFから抽出したハッシュ値とを比較し、両者が一致した場合には(ステップS21;Yes)、取得したJarファイルを不揮発性メモリ16Dに書き込み、トラステッドJava−APソフトウェアのインストールに係る各種処理を行い(ステップS22)、インストールに成功した旨をユーザに通知する(ステップS23)。
以降、JAMは、トラステッドJava−APソフトウェアを実行するに際し、トラステッドJava−APの挙動を監視し、トラステッドAPIの使用を制限するが、この制限は不揮発性メモリ16Dに記憶されるSDF内のポリシー情報に従って行われることとなる。
なお、Java−APソフトウェアをインストール不可能と判断された場合(ステップS13;No)、SDFが正当でないと判断した場合(ステップS17;No)、SDFが有するAPIDとADFが有するAPIDが不一致の場合(ステップS18;No)、算出したハッシュ値とADFが有するハッシュ値とが不一致の場合(ステップS21;No)には、JAMは、インストールに失敗した旨をユーザに通知するとともに、移動機16の状態をステップS11以前の状態に戻す。
(2−2)移動機16によるSDFの更新
トラステッドJava−APソフトウェアは、対応するSDFに内包されていた有効期限が経過するまでは移動機16によって実行可能である。この有効期限を更新する場合には、移動機16は、管理サーバ18から新たにSDFを取得する必要がある。そこで、以下では、JAMが、SDF内の有効期限が到来する度にその有効期限を更新する場合の処理について、図8に示すフローを参照しながら説明する。
図8に示されるように、JAMは、移動機16内の計時部16Hによって計時される現在日時と、今までに取得した全てのSDFからそれぞれ抽出して不揮発性メモリ16Dに記憶した複数の有効期限とを常時監視しており、有効期限が到来したか否かを判断している(ステップS31)。
いずれか1つでも有効期限が到来すると(ステップS31;Yes)、JAMは、有効期限が到来したJava−APソフトウェアの名称とともに、有効期限が到来したので更新するか否かをユーザに問い合わせるメッセージを表示部16Cに表示してユーザの操作があるまで待機する。
ユーザが有効期限を更新することを指示する操作を行うと、JAMはこの指示内容を解釈し(ステップS32;Yes)、この有効期限を更新すべきJava−APソフトウェアに対応するSDFを管理サーバ装置18から取得する(ステップS33)。具体的には、JAMは、不揮発性メモリ16Dの記憶内容を参照し、有効期限を更新すべきJava−APソフトウェアのAPIDを内包したADFに内包されているSDF−URLを抽出し、このSDF−URLで示される位置に記憶されたSDFの送信を管理サーバ装置18に要求する内容の要求メッセージを生成・送信し、このメッセージに対する応答メッセージを受信してSDFを取得した後、上記コネクションを切断する。
次いで、JAMは、上記SDF−URLを用いてSDFを取得できたか否かを判断する(ステップS34)。ここで、SDFを取得できない場合とは、何らかの事情でJava−APソフトウェアの使用を中断或いは中止させたいという理由から、通信事業者が、管理サーバ装置18において上記のSDF−URLによって示される位置にSDFを記憶させていないことを意味している。その事情とは、例えば、IPの都合によってJava−APソフトウェアの使用を中止或いは中断させたい場合(例えば、ユーザが一定期間だけ試用できるソフトウェアを配信するような場合)や、IPと通信事業者との間で締結されていた契約が失効した場合等である。
さて、JAMは、SDFの取得に成功すると(ステップS34;Yes)、SDFの署名を、既に取得しているADFに内包されている公開鍵を用いて検証し(復号し)、このSDFの正当性を判断する(ステップS35)。
正当性が確認されると(ステップS35;Yes)、JAMは、SDFに内包されているAPIDと、既に取得済みのADFに内包されているAPIDとを比較し、両者が一致するか否かを判定する(ステップS36)。両者が一致すると判定された場合には(ステップS36;Yes)、JAMは、取得したSDFを不揮発性メモリ16Dに既に書き込まれている以前のSDFに上書きし、これにより有効期限を更新する。
なお、ユーザの操作により有効期限を更新しないと判断された場合(ステップS32;No)、SDFを取得できなかった場合(ステップS34;No)、SDFが正当でないと判断した場合(ステップS35;No)、SDFが有するAPIDとADFが有するAPIDが不一致の場合(ステップS36;No)、JAMは、有効期限を更新しない旨をユーザに通知するとともに、移動機16の状態をステップS31以前の状態に戻す。
(3)具体的動作
次に、上述したシステムの動作例について説明する。
なお、以下に述べる動作において、TCPコネクションの確立および切断動作についてはHTTPにおける一般的な動作となることから、それらの説明を省略する。また、前述のOS、Webブラウザ、JAM、Java−AP、ネイティブAP等が行う動作は移動機16の動作となることから、以降の説明では、動作の主体を移動機16とする。
また、図9に示されるように、管理サーバ装置18の不揮発性メモリ18Aには、リストファイル200とSDF204が記憶されているものとする。これらはIPサーバ装置13およびIPサーバ装置14を管理するIPと管理サーバ装置18を管理する通信事業者との間で結ばれた契約に従って通信事業者により作成されている。
これらのうち、リストファイル200は、移動機16において解釈・実行されると図10に示されるリストページ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メソッドのパラメータとして含む要求メッセージが生成されるように記述されている。
また、SDF204は、APIDとして“0001”、ポリシー情報として図4に示される内容の情報、有効期限として“2002年10月1日午前10時”を内包しており、これらは通信事業者の秘密鍵を用いて署名されている。
また、IPサーバ装置12の不揮発性メモリ12Aには、「詰め将棋」なる名称のJava−APソフトウェア(これを、本動作例では、第1の非トラステッドJava−APソフトウェアとする)に対応する説明ファイル211、ADF213およびJarファイル214が記憶されているものとする。これらはIPサーバ装置12を管理するIPによって作成されている。これらのうち、説明ファイル211の内容は図11に示される通りであり、移動機16において解釈・実行されると図12に示される説明ページ212を提供するように記述されている。また、ADF213はパッケージURLとしてJarファイル214のURL(“http://www.ccc.co.jp/shogi.jar”)を内包している。
また、IPサーバ装置12の不揮発性メモリ12Aには、「星占い」なる名称のJava−APソフトウェア(これを、本動作例では、第2の非トラステッドJava−APソフトウェアとする)に対応する説明ファイル207、ADF209およびJarファイル210が記憶されているものとする。これらはIPサーバ装置12を管理するIPによって作成されている。これらのうち、説明ファイル207の内容は図13に示される通りであり、移動機16において解釈・実行されると図14に示される説明ページ208を提供するように記述されている。また、ADF209はパッケージURLとしてJarファイル210のURL(“http://www.ccc.co.jp/horoscope.jar”)を内包している。
なお、上述した第1の非トラステッドJava−APソフトウェアと第2の非トラステッドJava−APソフトウェアの違いは、後者に関連する情報がリストファイル200に登録されているのに対し、前者に関連する情報が登録されていない点にある。
また、IPサーバ装置13の不揮発性メモリ13Aには、「電話帳ビューア」なる名称のJava−APソフトウェア(これを、本動作例ではトラステッドJava−APソフトウェアとする)に対応する説明ファイル202、ADF205およびJarファイル206が記憶されているものとする。これらはIPサーバ装置13およびIPサーバ装置14を管理するIPによって作成されている。これらのうち、説明ファイル202の内容は図15に示される通りであり、移動機16において解釈・実行されると図16に示される説明ページ203を提供するように記述されている。ADF205は、APIDとして“0001”、ハッシュ値としてJarファイル206のハッシュ値、パッケージURLとしてJarファイル206のURL(“http://www.main.bbb.co.jp/viewer.jar”)、SDF−URLとしてSDF204のURL(“http://www.aaa.co.jp/viewer.sdf”)、及び通信事業者の公開鍵を内包している。また、移動機16は上述の各Java−APソフトウェアをインストール可能な状態にあるものとする。
(3−1)インストール動作
まず、Java−APソフトウェアを移動機16にインストールする場合の動作例について、上述したJava−APソフトウェア毎に説明する。
(3−1−1)第1の非トラステッドJava−APソフトウェア
第1の非トラステッドJava−APソフトウェアのインストール動作は、ユーザが移動機16を操作し、説明ファイル211の取得を試みることから始まる。これにより、移動機16では、説明ファイル211のURL(“http://www.ccc.co.jp/mno.html”)をGETメソッドのパラメータとして含む要求メッセージtm12が生成される。この要求メッセージtm12は、図17に示されるように、移動機16から送信されIPサーバ装置12により受信される。
IPサーバ装置12では、この要求メッセージtm12の内容に対応して説明ファイル211を内包した応答メッセージtm13が生成される。この応答メッセージtm13はIPサーバ装置12から送信され移動機16により受信される。移動機16では、ユーザに対して、説明ファイル211の内容に応じたUIが提供される。この結果、表示部16Cには、例えば図12に示すような説明ページ212が表示される。
この説明ページ212を視たユーザが、説明ページ212内のアンカー212Aが押下されるよう移動機16を操作すると、移動機16では、図11の説明ファイル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により受信される。
移動機16では、ADF213の内容に基づいて第1の非トラステッドJava−APソフトウェアをインストール可能か否かが判定される。前述のように、移動機16は非トラステッドJava−APソフトウェアをインストール可能な状態にあるから、移動機16では第1の非トラステッドJava−APソフトウェアをインストール可能と判定される。
次に、移動機16では、ADF213が不揮発性メモリ16Dに書き込まれる。また、移動機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が不揮発性メモリ16Dに起動可能な状態で書き込まれ、これにより、第1の非トラステッドJava−APソフトウェアのインストールが完了する。
なお、移動機16において第1の非トラステッドJava−APソフトウェアをインストール可能ではないと判断された場合、移動機16の状態はADF213の取得を開始する前の状態に戻る。
(3−1−2)第2の非トラステッドJava−APソフトウェア
第2の非トラステッドJava−APソフトウェアのインストール動作は、ユーザが移動機16を操作し、説明ファイル207またはリストファイル200の取得を試みることから始まる。説明ファイル207の取得を試みることから始まる動作はリストファイル200の取得を試みることから始まる動作のサブセットになっていることから、ここでは、リストファイル200の取得を試みることから始まる動作のみについて説明する。
図18に示されるように、移動機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には、例えば図10に示すようなリストページ201が表示される。
このリストページ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には、例えば図14に示すような説明ページ208が表示される。
この説明ページ208を視たユーザが、説明ページ208内のアンカー208Aが押下されるよう移動機16を操作すると、移動機16では、図13の説明ファイル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により受信される。
移動機16では、ADF209の内容に基づいて第2の非トラステッドJava−APソフトウェアをインストール可能か否かが判定される。前述のように、移動機16は第2の非トラステッドJava−APソフトウェアをインストール可能な状態にあるから、移動機16では非トラステッドJava−APソフトウェアをインストール可能と判定される。
次に、移動機16では、ADF209が不揮発性メモリ16Dに書き込まれる。また、移動機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が不揮発性メモリ16Dに起動可能な状態で書き込まれ、これにより、第2の非トラステッドJava−APソフトウェアのインストールが完了する。
なお、移動機16において、第2の非トラステッドJava−APソフトウェアをインストール可能ではないと判断された場合、移動機16の状態は、ADF209の取得を開始する前の状態に戻る。
(3−1−3)トラステッドJava−APソフトウェア
トラステッドJava−APソフトウェアのインストール動作は、ユーザが移動機16を操作し、説明ファイル202またはリストファイル200の取得を試みることから始まる。説明ファイル202の取得を試みることから始まる動作はリストファイル200の取得を試みることから始まる動作のサブセットになっていることから、説明ファイル202の取得を試みることから始まる動作についての説明を省略する。
図19に示されるように、リストファイル200の取得を試みることから始まる動作において、移動機16が応答メッセージtm21を受信し、例えば図10に示すようなリストページ201が表示されるまでは図18に示す動作と同一の動作が行われる。このリストページ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には、例えば図16に示すような説明ページ203が表示される。
この説明ページ203を視たユーザが、説明ページ203内のアンカー203Aが押下されるよう移動機16を操作すると、移動機16では、図15の説明ファイル202に記述されたアンカータグ(“<A”で始まるタグ)のijam属性に指定されている値がid属性に指定されているオブジェクトタグ(“<OBJECT”で始まるタグ)が特定され、このオブジェクトタグのdata属性に指定されているURL(“http://www.main.bbb.co.jp/viewer.jam”)が抽出され、このURLで特定されるADF205の送信を要求する内容の要求メッセージtm34が生成される。この要求メッセージtm34は移動機16から送信されIPサーバ装置13により受信される。IPサーバ装置13では、この要求メッセージtm34の内容に対応してADF205を内包した応答メッセージtm35が生成される。この応答メッセージtm35はIPサーバ装置13から送信され、ゲートウェイサーバ装置17及び移動パケット通信網15を介して移動機16により受信される。
移動機16において、ADF205は不揮発性メモリ16Dに書き込まれ、ADF205の内容に基づいてトラステッドJava−APソフトウェアをインストール可能か否かが判定される。前述のように、移動機16はトラステッドJava−APソフトウェアをインストール可能な状態にあるから、移動機16ではトラステッドJava−APソフトウェアをインストール可能と判定される。
そして、移動機16では、ADF205に内包されているSDF−URL“http://www.aaa.co.jp/viewer.sdf”で特定されるSDF204の送信を要求する内容の要求メッセージtm36が生成される。この要求メッセージtm36は移動機16から送信され管理サーバ装置18により受信される。
管理サーバ装置18では、この要求メッセージtm36の内容に対応してSDF204を内包した応答メッセージtm37が生成される。この応答メッセージtm37は管理サーバ装置18から送信されゲートウェイ装置17及び移動パケット通信網15を介して移動機16により受信される。ここで、管理サーバ装置18とゲートウェイサーバ装置17との間の通信路は専用線であり、ゲートウェイサーバ装置17はセキュリティの確保された移動パケット通信網15に直接的に接続されていることから、移動機16に受信されるまでにSDF204が改竄される虞は無い。
さらに、移動機16では、ADF205に内包されている公開鍵を用いてSDF204の正当性が判断される。前述のように、ADF205に内包されている公開鍵はSDF204への署名の際に用いた秘密鍵と対応していることから、管理サーバ装置18内においてSDF204の内容が変更されていない限り、SDF204が正当であると判断される。
SDF204が正当であると判断されると、移動機16では、ADF205に内包されているAPIDとSDF204に内包されているAPIDとが比較される。前述のように、IPサーバ装置13におけるADF205にはSDF204内のAPIDと一致するAPIDが記述されるように定められていることから、記述ミス等が無い限り、ADF205に内包されているAPIDとSDF204に内包されているAPIDは一致する。次いで、移動機16では、SDF204が不揮発性メモリ16Dに書き込まれる。
次に、移動機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により受信される。
次に、移動機16ではJarファイル206と所定のハッシュ関数とを用いてハッシュ値が算出され、このハッシュ値とADF205に内包されているハッシュ値とが比較される。前述のように、ADF205にはこのADF205に対応するJarファイルのハッシュ値が記述されるように定められていることから、記述ミス等がない限り、両ハッシュ値は一致する。
両ハッシュ値が一致すると、移動機16では、Jarファイル206が不揮発性メモリ16Dに起動可能な状態で書き込まれ、これにより、トラステッドJava−APソフトウェアのインストールが完了する。
なお、移動機16においてSDF204が正当でないと判断された場合や、ADF205に内包されているAPIDとSDF204に内包されているAPIDが不一致の場合、トラステッドJava−APソフトウェアをインストール可能ではないと判断された場合、算出したハッシュ値とADF205に内包されているハッシュ値とが不一致の場合には、移動機16の状態はADF205の取得を開始する前の状態に戻る。
(3−2)Java−APソフトウェアが起動されている時の移動機16の挙動
次に、上述の各々のJava−APソフトウェアが起動されている時の移動機16の挙動について説明する。
(3−2−1)非トラステッドJava−APソフトウェアの挙動
上述したインストール動作により移動機16にインストールされた非トラステッドJava−APソフトウェア(第1の非トラステッドJava−APソフトウェア(詰め将棋)及び第2の非トラステッドJava−APソフトウェア(星占い)の双方を含む)が、JAMが実現された移動機16において起動され、このソフトウェアに対応した機能(以後、非トラステッドJava−AP)が移動機16内に実現されたときの移動機16の挙動について説明する。
非トラステッドJava−APが使用しようとするAPIが非トラステッドAPIの場合、前述したように非トラステッドAPIはあらゆるJava−APの使用が許可されているから、この場合のAPIの使用はJAMにより許可されることとなる。したがって、非トラステッドJava−APはこの非トラステッドAPIを使用することができる。
また、非トラステッドJava−APが使用しようとするAPIがトラステッドAPIの場合、JAMはこのJava−APに対応するSDFが不揮発性メモリ16Dに記憶されているか否かを調べる。ここでは、そのようなSDFは不揮発性メモリ16Dに記憶されていないから、JAMは非トラステッドJava−APによるこのAPIの使用を禁止する。したがって、非トラステッドJava−APはトラステッドAPIを使用することができない。
(3−2−2)トラステッドJava−APソフトウェアの挙動
移動機16にインストールされたトラステッドJava−APソフトウェア(電話帳ビューワ)が、JAMが実現された移動機16において起動され、このソフトウェアに対応した機能が移動機16内に実現されたときの移動機16の挙動について説明する。
トラステッドJava−APが使用しようとするAPIが非トラステッドAPIの場合、前述したように、このAPIの使用はJAMによって当然許可される。したがって、トラステッドJava−APはこの非トラステッドAPIを使用することができる。
トラステッドJava−APが使用しようとするAPIがトラステッドAPIの場合、このJava−APに対応するSDFが不揮発性メモリ16Dに記憶されているので、このAPIの使用はJAMによって許可され得るが、そのトラステッドJava−APの挙動はSDF内のポリシー情報に依存する。以下、使用するAPI毎にその挙動について説明する。
(3−2−2−1)getPhoneList()
“getPhoneList()”はトラステッドAPIであるから、このAPIの使用の可否は、不揮発性メモリ16Dに記憶されているSDF204内のポリシー情報に基づいてJAMにより決定される。このポリシー情報の内容は図4に示される通りであることから、“getPhoneList()”の使用がJAMにより許可される。したがって、トラステッドJava−AP(電話帳ビューワ)は“getPhoneList()を使用することができる。つまり、このトラステッドJava−APは電話帳データを読み出すことができる。
(3−2−2−2)getCallHistory()
“getCallHistory()”はトラステッドAPIであるから、このAPIの使用の可否はSDF204内のポリシー情報に基づいてJAMにより決定される。このポリシー情報の内容は図4に示される通りであることから、“getCallHistory()”の使用がJAMにより禁止される。したがって、トラステッドJava−AP(電話帳ビューワ)は“getCallHistory()”を使用することができない。つまり、このトラステッドJava−APは発着信履歴データを読み出すことができない。
(3−3)トラステッドJava−APソフトウェアの有効期限更新時の動作
次に、トラステッドJava−APソフトウェアの有効期限を更新する動作例について説明する。以下の説明においては、図9において、管理サーバ装置18内においてSDF204がSDF204aに更新されているものとする。ただし、その更新内容は、有効期限が“2002年10月1日午前10時”から“2003年1月1日午前10時”に変更されたということのみであり、SDF204とSDF204aの記憶位置やそのファイル名、署名に用いた秘密鍵等は一切変更されていないものとする。
移動機16は、計時部16Hによって計時される現在日時と、今までに取得した全てのSDFに内包されている複数の有効期限とを常時監視しており、有効期限が到来したか否かを判断している。ここで、計時部16Hによって計時される現在日時が2002年10月1日午前10時となったとき、APID“0001”に対応するトラステッドJava−APソフトウェア(電話帳ビューワ)の有効期限が到来することとなり、これによって、図20に示す動作が開始される
まず、移動機16は、図21に示すように、有効期限が到来したトラステッドJava−APソフトウェアの名称“電話帳ビューワ”とともに、有効期限が到来したので更新するか否かをユーザに問い合わせるメッセージを表示部16cに表示してユーザの操作があるまで待機する。
ここで、ユーザが有効期限を更新することを指示する操作を行うと、移動機16はこの指示内容を解釈し、APID“0001”を内包したADFに内包されているSDF−URL(“http://www.aaa.co.jp/viewer.sdf”)をGETメソッドのパラメータとして含む要求メッセージtm41を生成する。この要求メッセージtm41は移動機16から送信され管理サーバ装置18により受信される。
管理サーバ装置18では、この要求メッセージtm41の内容に対応してSDF204aを内包した応答メッセージtm42が生成される。この応答メッセージtm42は管理サーバ装置18から送信され移動機16により受信される。
一方、移動機16は、上記SDF−URLを用いてSDF204aを取得できたか否かを判断する。ここでは取得に成功することを想定しているので処理は次に進み、移動機16は、SDF204aの署名を、既に取得しているADF205に内包されている公開鍵を用いて検証し(復号し)、このSDF204aの正当性を判断する。正当性が確認されると(ステップS35;Yes)、移動機16は、SDF204aから抽出したAPIDと既に取得済みのADF205に内包されていたAPIDとを比較し、両者が一致するか否かを判定する。
ここでは両者が一致するはずなので、移動機16は、不揮発性メモリ16Dに記憶されているSDF203をSDF204aで上書きし、これにより、トラステッドJava−APソフトウェア(電話帳ビューワ)の有効期限が“2002年10月1日午前10時”から“2003年1月1日午前10時”に更新される。
なお、ユーザの操作により有効期限を更新しないと判断された場合、SDFを取得できなかった場合、SDFが正当でないと判断した場合、SDFが有するAPIDとADFが有するAPIDが不一致の場合、JAMは、有効期限を更新しない旨をユーザに通知するとともに、移動機16の状態をSDF203aを取得する以前の状態に戻す。
(3−4)トラステッドJava−APソフトウェアの変更後の動作
次に、IPサーバ装置13およびIPサーバ装置14を管理するIPがトラステッドJava−APソフトウェアの配信形態や内容を変更した場合の本システム動作について説明する。ただし、ここでの変更は、トラステッドJava−APソフトウェアの改善等を目的としたJarファイル206の内容の変更と、IPサーバ装置13の負荷の軽減等を目的とした配信形態の変更とを含む。後者の変更を達成するために、IPサーバ装置13およびIPサーバ装置14を管理するIPは、図22に示すように、変更後のJarファイル206(以後、Jarファイル215)をIPサーバ装置14の不揮発性メモリ14Aに記憶させ、このJarファイル215に対応するようにADF205の内容を変更してADF216としている。変更後のトラステッドJava−APソフトウェアの配信に必要な作業は以上の通りであり、管理サーバ装置18を管理する通信事業者が行うべき作業は存在しない。つまり、通信事業者はリストファイル200やSDF204を変更する必要はない。
このような変更の後のトラステッドJava−APソフトウェアのインストール動作は、図23に示す通りとなる。この図に示す動作が図19に示す動作と相違し始めるのは、移動機16がJarファイルを要求する時点からである。なお、両図において、応答メッセージtm47は応答メッセージtm37、要求メッセージtm48は要求メッセージtm38、応答メッセージtm49は応答メッセージtm39に対応している。
即ち、図23において図19に示す動作と本質的に異なるのは、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により受信される点のみである。
以上説明したように、移動機16においては、ダウンロードしたSDFに含まれるポリシー情報の内容に応じた挙動がこのSDFに対応するトラステッドJava−APソフトウェアに許可され、ポリシー情報の内容に含まれていない挙動は許可されない。このポリシー情報は管理サーバ装置18からセキュリティが確保された上で移動機16へ送信されるから、ポリシー情報が第三者により改竄される虞もなく、これにより、トラステッドJava−APの信頼性が確保される。また、ユーザから視れば、従来通りの非トラステッドJava−APの他に、上記のような、より自由な挙動が許可されたトラステッドJava−APを利用可能となり、非常に便利である。
なお、上述の配信システムにおいては、移動機16に対し、ADF、SDF、Jarファイルという順序で各種ファイルの配信を行っていたが、このような順序で配信することにより、以下のような効果が生ずる。
既に説明したように、Java−APソフトウェア(ADF及びJarファイル)はIPによって設計・作成され、各々のIPがインターネット上に開設している専用サイト(図1のIPサーバ装置12〜14)において、一般ユーザに公開されている。従って、ユーザはまず、IPの専用サイトにアクセスし、そこで、様々なJava−APソフトウェアの解説ページを参照してそのソフトウェアをダウンロードをするか否かを判断するのが普通である。そして、ユーザはJava−APソフトウェアをダウンロードしようと判断すると、そのダウンロード処理を指示する操作を行う必要があるが、そのために上記の解説ページには次にダウンロードすべきファイルのURLがアンカータグによって埋め込まれているのが普通である。このとき、IPの立場から視れば、解説ページにADFのURLを埋め込むのが最も手間がかからない。なぜなら、ADFはIPの管理下にあるので、そのADFのURLはIPによって常に把握できているからである。これに対し、解説ページにSDFのURLを埋め込むとなると、IPは通信事業者に問い合わせをする等して、URLの正誤の確認処理を絶えず欠かさないようにしなければならない。よって、ADF、SDF、Jarファイルという順序で各種ファイルの配信を行うことは非常に有意義である。
また、上記の順序は、エヌティティドコモ社のiモード(登録商標)において現在実施されているJava−APソフトウェアのバージョンアップ処理を考慮した場合にも利点がある。現状のiモードのサービス仕様においては、ユーザによってバージョンアップを要求する操作がなされると、移動機は、まず、ADFに記述された内容を参照し、ADFに記述されたパッケージURLに基づいて、バージョンアップ後のJarファイルを取得するようになっている。即ち、バージョンアップ時には、まずADFを参照してから、その後にダウンロード処理に移行するようになっている。この点を考慮すると、本実施形態の配信システムにおけるバージョンアップ時においても、まずADFを参照し、そのADFに記述されているSDF−URLに基づいてSDFを取得した後、Jarファイルを取得するというように、まずADFの参照から一連の処理を開始すると、それ以降は、SDF→Jarファイルという通常のダウンロードと同じ流れで処理を行うことができ、現状のサービス仕様をあまり変更しないで済む。これに対し、仮にSDF、ADF、Jarファイルという順序で各種ファイルをダウンロードすることが定義付けられている場合、バージョンアップしようとした場合、ADFを参照からダウンロード処理を開始すると、SDFを取得することなくJarファイルの取得処理にまで至ってしまう。SDFは、バージョンアップ時に書き換えられることは十分にあり得るので、SDFが無いとセキュリティ上で不都合が生ずるおそれがある。以上のような観点からも、ADF、SDF、Jarファイルという順序で各種ファイルの配信を行うことは有意義である。
(3)変形例
本発明は上述した実施形態に限定されず、以下のような種々の変更が可能である。
上述した配信システムでは、移動機は、秘密鍵による署名データと公開鍵とを用いてSDFとADFの作成者との対応関係の正当性を確認するようにした。しかし、これに限らず、SDFとADFの作成者との対応関係の正当性が確認できる方式であればどのような方式を用いてもよい。
また、システムに要求されるセキュリティレベルによっては、SDFに公開鍵を内包させず、IPサーバ装置においてはADFに対する秘密鍵を用いた署名を行わず、かつ移動機においてはこの確認処理を省略する、という形態とし、移動機およびIPサーバ装置における処理量や、移動機と管理サーバ装置およびIPサーバ装置との間の通信量を低減するようにしてもよい。
また、上述した配信システムでは、Jarファイルのハッシュ値をこのJarファイルに対応するADFに内包させる一方、移動機においてJarファイルのハッシュ値を生成し、これら両者を比較してJarファイルとADFとの対応関係の正当性を確認するようにしていた。しかし、これに限らず、JarファイルとADFとの対応関係の正当性が確認できる方式であればどのような方式を用いてもよい。
また、システムに要求されるセキュリティレベルによっては、ADFにハッシュ値を内包させずにこの確認処理を省略する形態とし、移動機およびIPサーバ装置における処理量や移動機とIPサーバ装置との間の通信量を低減するようにしてもよい。
また、上述した配信システムでは、トラステッドJava−APに固有のAPIDを使用してSDFとADF(およびJarファイル)との対応が正当であるか否かを判定するようにしたが、トラステッドJava−APを提供する情報提供事業者に固有のCIDを用いてSDFとADF(およびJarファイル)との対応が正当であるか否かを判定するようにしてもよい。また、システムに要求されるセキュリティレベルによっては、APIDやCIDを用いた判定を省略するようにしてもよい。
また、上述した配信システムではドメインネームを用いてサーバを指定するようにしたが、IPアドレスを用いてサーバを指定するようにしてもよい。
また、移動機において、ADFに内包されているSDF−URLのうちのドメインネームを予め設定された文字列と比較し、信頼できる機関が管理するサーバ装置のドメインネームである場合にのみ、SDFを正当と認める態様としてもよい。この場合、予め設定された文字列と異なるときは、移動機16は、SDF取得に失敗した旨を表示し、管理サーバ18にSDFを要求せずに処理を終了することとなる。
また、この態様では、比較対象の文字列(例えば、通信事業者のドメインネームを示す文字列)は移動機のROMまたは不揮発性メモリに予め格納されることになる。ROMに予め格納する態様では、文字列の書き換えが不可能であるから、より高いセキュリティを確保できる。また、不揮発性メモリに予め格納する態様では、移動機の売買後に信頼できる機関を格納することができるので、ユーザおよび信頼できる機関に対して優れた利便性を提供することができる。
また、上述した配信システムでは、SDFの配信に使用する通信路を提供する通信事業者を信頼できる機関として高いセキュリティを確保するようにしたが、本発明は通信路の提供が信頼できる機関により為されていない態様をも技術的範囲に含む。例えば、信頼できる機関と移動機とを暗号化通信路により接続し、この通信路を介して信頼できる機関がSDFを配信するようにしてもよい。また、通信路のセキュリティが確保されていなくても、SDFを暗号化した後に配信し、移動機においてSDFを復号するようにすれば、ある程度のセキュリティを確保してSDFを配信することができる。
上述した配信システムでは、HTTPに従ってファイルを送受するようにしたが、HTTPSを使用し、より高いセキュリティを確保するようにシステムを変形してもよい。
また、上述した配信システムにおいて、信頼できる機関がIPとなってよいこと、すなわち、管理サーバ装置がIPサーバ装置を兼ねるようにしてもよいことは言うまでもない。
さらに、上述した配信システムでは、Java−APによる利用を制限する対象としてAPIを挙げたが、本発明はこれに限定されるものではなく、任意の資源(リソース)を対象とすることができる。ここでいう資源はハードウェア資源であってもよいし、後述するネットワーク資源やソフトウェア資源であってもよい。ハードウェア資源としては、メモリやスピーカ、マイク、赤外線コントローラ、LED(Light Emitting Diode)等の移動機が備え得るものや、移動機と共働し得るUIM(User Identity Module)やSIM(Subscriber Identity Module)等の外部機器なども挙げられる。
次にネットワーク資源について説明する。前述したように、移動機は移動通信網との間で無線通信を行う。この無線通信時には、移動機は、移動通信網により提供される無線チャネル等の無線資源を使用する。この無線資源はネットワーク資源の一種である。また、移動機は無線資源が属する通信プロトコルレイヤよりも高位の通信プロトコルレイヤにおいて、パケットの伝送路や回線接続の通信路などの通信資源を使用する。このような通信資源もネットワーク資源の一種である。
次にソフトウェア資源について説明する。ソフトウェア資源としては、APIやクラス、パッケージ等が挙げられる。ソフトウェア資源が提供する機能は様々であるが、典型的な機能として、暗号演算などの演算処理機能や、Webブラウザ等の他のアプリケーションとの間でデータを送受したりする機能などが挙げられる。また、本発明は、上記外部機器が有するソフトウェア資源をも利用の制限対象とする態様を技術的範囲に含む。
ところで、Java−APによるハードウェア資源やネットワーク資源の利用は、ソフトウェア資源を利用して行われるのが一般的である。上述した配信システムにおける移動機も、ハードウェア資源やネットワーク資源を利用するためのソフトウェア資源を有しており、このようなソフトウェア資源の利用を制限することにより、間接的に、ハードウェア資源やネットワーク資源の利用を制限している。このように、間接的な制限の形態としたことにより、多様なソフトウェア資源を用意すれば、Java−APのうちのトラステッドJava−APについてのみ、自他のJava−APの権限を変更する権限を与える、またはダウンロード元のサーバ装置としか通信することができないという制限を外す、あるいはメモリの特定の記憶領域に対してアクセスできるようにするといった、複数の資源の制限を細かく変更しなければ実現できないようなことまで容易に指定できるようになる。なお、移動機内部のソフトウェア資源の利用を制限して上記外部機器のソフトウェア資源の利用を間接的に制限する態様も本発明の技術的範囲に含まれる。
なお、パーミッションの表現方法としては、一つの資源と一つのフラグ(許可/禁止)とを対応付けるようにしてもよいし、複数の資源のパーミッションを一つの情報で示すようにしてもよい。
また、本発明では、複数の利用の種類を持つ資源について、利用を許可(あるいは禁止)する種類を示すようにパーミッションを設定することも可能である。この場合、移動機において、より木目細かな制御が実現される。例えば、メモリには読み出しと書き込みの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はパケット通信路を利用することすらできない、といった制御も可能となる。この例から明らかなように、本発明における「利用の種類」には、資源を利用する際に経る手順の種類(ユーザの許可を得る手順/ユーザの許可を得ない手順)も含まれる。
また、上述した配信システムでは全ての移動機に対して同一のリストページが提供されるが、移動機毎に異なるリストページを提供するようにしてもよい。
また、上述の配信システムでは、Java−APの実行時にJava−APの挙動を制限するようにしたが、IPサーバ装置に格納されているJarファイルにポリシー情報を内包させ、Jarファイルのダウンロード時に、移動機において、このポリシー情報とSDF中とのポリシー情報とを比較し、両者が一致しない場合には、このJarファイルに対応するJava−APを起動できないように、あるいはこのJarファイルを含むJava−APソフトウェアをインストールできないようにしてもよい。もちろん、両ポリシー情報の一致する項目についてのパーミッションのみを有効とするようにしてもよい。
通信事業者の公開鍵は、IPサーバ装置12〜14からADFに含めて移動機16に提供されるようになっていたが、これに限らず、予め移動機に格納されていてもよい。公開鍵は予め移動機に格納する方法としては、通信により配信し不揮発性メモリに書き込んでおく方法、ROMに書き込んだ後に移動機を販売する方法などが考えられる。
また、上述の配信システムではソフトウェアは移動機へ配信されるが、本発明の技術的範囲には、移動機以外の端末装置へ配信する態様も含まれる。
上述の配信システムでは、トラステッドJava−APソフトウェアの有効期限が到来したタイミングで、その有効期限を更新するための処理を開始していた。しかし、更新タイミングは上記のものに限らず、ユーザが所望する恣意的なタイミングや、毎月末1回等の定期的なタイミングというように、様々な態様を採用し得る。
また、有効期限の設定の仕方は、既に説明したように日時によって設定してもよいが、この他にも、例えばトラステッドJava−APソフトウェアのダウンロード時からの期間(例えばダウンロードしてから1ヶ月のみ使用可能というような場合)によって設定してもよいし、トラステッドJava−APソフトウェアの実行回数や実行期間によって設定してもよい。要するに、有効期限とは、Java−APソフトウェアを無制限には実行できないようにその上限を定めた情報であればどのようなものであってもよい。
例えば実行回数で有効期限を設定した場合、トラステッドJava−APソフトウェアの起動時にJAMはSDF内のポリシー情報を参照するようになっているので、その参照回数をトラステッドJava−APソフトウェアの実行回数としてカウントしてもよい。そして、カウントした実行回数が予め定められた数に達すると、その更新処理に移行すればよい。
また、トラステッドJava−APソフトウェアが実行されている期間を累積してカウントするような手段(例えばそのトラステッドJava−APソフトウェア内にサブルーチンとして記述する等の手段)を備えていれば、実行期間によって有効期限を設定した場合にも対応できる。そして、カウントした実行期間が予め定められた時間に達すると、その更新処理に移行すればよい。
なお、上述の配信システムの説明では「トラステッドJava−APソフトウェアの有効期限」という表現を用いていたが、より厳密には、Jarファイルそのものの有効期限であってもよいし、SDFそのものの有効期限であってもよいし、その両者の有効期限であってもよいことはもちろんである。
また、上述の配信システムでは、有効期限が到来してもそれを更新できない場合、その有効期限が到来したトラステッドJava−APソフトウェアを実行禁止となっていたが、これに限らず、その有効期限経過時にトラステッドJava−APソフトウェアから非トラステッドJava−APソフトウェアに遷移させてもよい。即ち、有効期限が到来したJava−APソフトウェアは、非Java−APソフトウェアであるとみなされ、その遷移後は、非トラステッドJava−APソフトウェアとしての、より厳しい挙動を制限を受けることとなる。
また、任意のトラステッドJava−APソフトウェアのSDFを失効させることができるように、上記実施形態を変形してもよい。
この変形例において、管理サーバは、上記実施形態と同様、各種のJava−APソフトウェアのSDFを記憶するための記憶部を有している。管理サーバの制御部は、通信部により各SDFを受信し、あるいは記憶媒体に格納されたSDFを受け取ったとき、この記憶部に格納する。
また、管理サーバには、任意のトラステッドJava−APソフトウェアについて、そのSDFを失効させる旨のコマンドが入力され得る。このコマンドは、失効させるべきSDFが帰属するトラステッドJava−APソフトウェアのAPIDを含んでいる。このようなコマンドは、オペレータにより管理サーバの入力部に入力され、あるいは該当するIPサーバからネットワークを介して管理サーバ宛てに送信され、管理サーバの通信部によって受信される。管理サーバの制御部は、このコマンドを入力部あるいは通信部を介して受け取ると、コマンド中のAPIDにより特定されるSDFが失効した旨の情報を記憶部に格納する。これにより、以後、管理サーバでは、このSDFの公開が停止され、このSDFを利用したJava−APソフトウェアのダウンロードが不可能になる。
ところで、あるトラステッドJava−APソフトウェアのSDFが、ある端末装置に配信され、その後、そのSDFが失効するような場合も考えられる。この場合、既に配信済みのSDFがSDFとして機能しないようにするべきである。そこで、次のような方法が考えられる。すなわち、端末装置がSDFの有効性を例えば一定時間間隔で管理サーバに問い合わせ、SDFが失効している旨の応答が管理サーバから返ってきたときにはそれ以降のSDFの使用を禁止するのである。ここで、SDFが失効になった後、トラステッドJava−APソフトウェアが実行される回数を減らすためには、問い合わせの時間間隔を短くするのが有効である。しかし、そのようなことを全端末装置について一律に行うと、トラヒックが膨大になりユーザが負担する通信費もかさむ。一方、端末装置のユーザの中には、頻繁にトラステッドJava−APソフトウェアの実行を指示する人もいれば、たまにしか実行を指示しない人もいるので、後者の人のためにトラヒックおよび通信費を増やすのは得策ではない。
この問題を解決するため、本変形例では次のような処理が行われる。まず、管理サーバ装置は、SDFを通信部により端末装置に送信する際、頻度データNと間隔データTを含ませる。ここで、頻度データNは、トラステッドJava−APソフトウェアの実行回数がNの整数倍を越える毎にSDFの有効性についての問い合わせを送信することを指示するデータである。また、間隔データTは、トラステッドJava−APソフトウェア実行終了後、次にJava−APソフトウェアの実行が開始される前に、時間Tが経過したとき、SDFの有効性についての問い合わせを送信することを指示するデータである。
端末装置は、あるSDFを受信した場合、そのSDF内の頻度データNおよび間隔データTに従って、そのSDFの有効性についての問い合わせを管理サーバ装置に送信する。図24には、1つのSDFについてこのような処理を行うための制御部の構成が示されている。端末装置が複数のSDFを記憶している場合には、図24に示すものが、これと同数だけ制御部内に用意されると考えて良い。なお、図24において符号501〜504によって示される要素は制御部を構成する回路あるいは制御部によって実行されるルーチンを表している。
まず、端末装置の制御部は、SDFを受信すると、図24に示す回路ないしルーチンをそのSDFのために活性化する。そして、SDFから頻度データNと間隔データTを取り出し、頻度データNを除算器502に、間隔データTをタイマ503に設定する。
カウンタ501は、SDFに対応したトラステッドJava−APソフトウェアが起動される都度、1ずつカウント値を増す。除算器502は、カウンタ501のカウント値、即ちトラステッドJava−APソフトウェアの起動回数を頻度データNによって除算し、その除算結果の余りが1になったとき、信号“1”を出力する。
タイマ503は、具体的にはダウンカウンタである。トラステッドJava−APソフトウェアが起動されると、間隔データTがカウント値の初期値として503に書き込まれる。その後、タイマ503は、所定周波数のクロックに同期して、ダウンカウントを進める。そして、T相当の時間が経過し、タイムアウトになると、タイマ503は信号“1”を出力する。タイムアウト前にトラステッドJava−APソフトウェアが再起動されると、間隔データTがタイマ503にセットされ、その時点から新たなダウンカウントが始まる。
ORゲート504は、除算器502またはタイマ503から信号“1”が出力されると、SDFの有効性の問い合わせを指示する信号を発生する。
図25は、以上説明した動作を示すタイムチャートである。同図に示すとおり、頻度データNが与えられることにより、ORゲート504はN+1回目、2N+1回目という具合に、SDFの有効性の問い合わせを指示する信号を発生する。制御部は、この信号が発生したとき、SDFの有効性についての問い合わせを通信部により管理サーバ装置に送る。この問い合わせは、その対象であるSDFを特定するAPIDを含んでいる。管理サーバの制御部は、この問い合わせを通信部により受信すると、記憶部を参照することにより、問い合わせ中のAPIDにより特定されるSDFが有効であるか失効しているかを調べ、その結果を通信部により端末装置に回答する。端末装置の制御部は、問い合わせを行ったSDFが失効している旨の回答を通信部により受け取った場合、そのSDFに対応したJava−APソフトウェアが起動できないよう制御を行う。
また、図25に示す例では、2回目にトラステッドJava−APソフトウェアが実行された後、3回目の実行の前に、経過時間がTを越えたため、SDFの有効性の問い合わせを指示する信号が発生している。この場合も、上記と同様な問い合わせ、管理サーバからの応答、応答に応じた端末装置側の動作が行われる。
以上説明した本変形例の利点は次の点にある。
まず、頻繁にトラステッドJava−APソフトウェアを使用する人の場合、間隔データTに基づく問い合わせ発生制御だけを行うと、常にタイムアウトになる前にトラステッドJava−APソフトウェアが起動されるため、問い合わせが行われない。従って、このようなユーザのためには、起動回数がNを越えたときに問い合わせるという方法が有効である。
一方、トラステッドJava−APソフトウェアをたまにしか使わない人の場合、なかなか起動回数がNを越えないので、タイムリーにSDFを失効させることができない。従って、このようなユーザのためには、起動後の経過時間がTを越えたときに問い合わせるという方法が有効である。
本変形例は、これら両方法を並列使用するので、両方のタイプの人に有効である。
【図面の簡単な説明】
図1は本発明の実施の一形態に係る配信システムの構成を示すブロック図である。
図2は同システムに特有のADFのデータ構成を示す概念図である。
図3は同システムにおいて管理サーバ装置に格納されているSDFのデータ構成を示す概念図である。
図4は同SDFに内包されるポリシー情報の内容を示す概念図である。
図5は同システムを構成する移動機の構成を示すブロック図である。
図6は同移動機の機能構成を示す概念図である。
図7は同移動機がJava−APソフトウェアをダウンロードしインストールする処理の流れを示すフローチャートである。
図8は同移動機がJava−APソフトウェアの有効期限を更新する処理の流れを示すフローチャートである。
図9は同配信システムの動作を説明するためのブロック図である。
図10は同配信システムにて配信されるリストページを示す図である。
図11は同配信システムを構成するIPサーバ装置が格納している説明ファイルの内容を示す図である。
図12は同配信システムにて配信される説明ページを示す図である。
図13は同IPサーバ装置が格納している説明ファイルの内容を示す図である。
図14は同配信システムにて配信される説明ページを示す図である。
図15は同配信システムを構成するIPサーバ装置13が格納している説明ファイルの内容を示す図である。
図16は同配信システムにて配信される説明ページを示す図である。
図17は同配信システムの動作を説明するためのシーケンス図である。
図18は同配信システムの動作を説明するためのシーケンス図である。
図19は同配信システムの動作を説明するためのシーケンス図である。
図20は同配信システムの動作を説明するためのシーケンス図である。
図21は移動機にて表示される画面を示す図である。
図22は同配信システムの他の動作を説明するためのブロック図である。
図23は同配信システムの他の動作を説明するためのシーケンス図である。
図24は、SDFの有効性を問い合わせるための処理を行う移動機の制御部内の構成を示す図である。
図25は、SDFの有効性の問い合わせの動作を示すタイムチャートである。

Claims (23)

  1. アプリケーションを実現するためのソフトウェアを内包した実体ファイルを格納した情報提供サーバ装置と、端末装置が前記ソフトウェアを実行することにより実現されるアプリケーションに与えられた権限を示す権限情報を内包したセキュリティ記述ファイルを格納した管理サーバ装置と、前記実体ファイルに依存した内容を有し前記実体ファイルの格納位置と前記セキュリティ記述ファイルの格納位置とが記述されたアプリケーション記述ファイルを格納した情報提供サーバ装置とを有した配信システムが、前記アプリケーション記述ファイルの格納位置を前記端末装置によって通知されると、当該端末装置に対して当該アプリケーション記述ファイルを送信する過程と、
    前記端末装置が、前記配信システムから送信されてくるアプリケーション記述ファイルに内包されている前記セキュリティ記述ファイルの格納位置を前記配信システムに通知する過程と、
    前記配信システムが、前記通知されたセキュリティ記述ファイルの格納位置に基づいて、当該セキュリティ記述ファイルをセキュリティが確保された状態で前記端末装置に送信する過程と、
    前記端末装置が、前記配信システムから送信された前記アプリケーション記述ファイルに内包されている前記実体ファイルの格納位置を前記配信システムに通知する過程と、
    前記配信システムが、前記通知された実体ファイルの格納位置に基づいて、当該実体ファイルを前記端末装置に送信する過程と
    を有する配信方法。
  2. ネットワーク内の装置との通信を行うための通信部と、
    記憶部と、
    制御部とを具備し、
    前記制御部は、
    (a)アプリケーションを実現するためのソフトウェアを内包した実体ファイルの格納位置と、前記ソフトウェアを実行することにより実現されるアプリケーションに与えられた権限を示す権限情報を内包したセキュリティ記述ファイルの格納位置とが記述されたアプリケーション記述ファイルの格納位置を示す情報を含んだ第1の配信要求を前記通信部により前記ネットワーク内の配信システムに送信することにより、前記配信システムにおける情報提供サーバ装置に格納されたアプリケーション記述ファイルを前記配信システムから前記通信部により受信し、前記記憶部に格納する手段と、
    (b)前記配信システムから受信されたアプリケーション記述ファイルに内包されている前記セキュリティ記述ファイルの格納位置を示す情報を含んだ第2の配信要求を前記通信部により前記配信システムに送信することにより、前記配信システムにおける管理サーバ装置に記憶されたセキュリティ記述ファイルを前記配信システムから前記通信部により受信し、前記記憶部に格納する手段と、
    (c)前記配信システムから受信されたアプリケーション記述ファイルに内包されている実体ファイルの格納位置を示す情報を含む第3の配信要求を前記通信部により前記配信システムに送信することにより、前記配信システムにおける情報提供サーバに格納された実体ファイルを前記配信システムから前記通信部により受信し、前記記憶部に格納する手段と、
    (d)前記記憶部に記憶された実体ファイルに含まれるソフトウェアの実行が指示された場合に、前記記憶部に記憶された該実体ファイルに対応したセキュリティ記述ファイルに含まれる権限情報に従い、該ソフトウェアの実行により実現されるアプリケーションの挙動を制限する手段と
    を有する端末装置。
  3. 前記配信システムは、前記セキュリティ記述ファイルを暗号化して前記端末装置に送信することによってセキュリティを確保しており、
    前記制御部は、前記配信システムによって送信されてくる暗号化されたセキュリティ記述ファイルを復号化する手段を具備する請求項2に記載の端末装置。
  4. 前記制御部は、前記通信部により、セキュリティの確保された通信路を介して前記セキュリティ記述ファイルを受信する請求項2に記載の端末装置。
  5. 前記制御部は、暗号化通信により前記セキュリティ記述ファイルを受信する請求項2に記載の端末装置。
  6. 前記制御部は、前記通信部により、移動通信網および専用線を介して前記セキュリティ記述ファイルを受信する請求項2に記載の端末装置。
  7. 前記制御部は、移動通信網を介した暗号化通信により前記セキュリティ記述ファイルを受信する請求項2に記載の端末装置。
  8. 前記制御部におけるアプリケーションの挙動を制限する手段は、前記セキュリティ記述ファイルに内包された権限情報に基づき、資源の利用を制限する請求項2に記載の端末装置。
  9. 前記資源は前記端末装置内部のハードウェア資源である請求項8に記載の端末装置。
  10. 前記資源は前記端末装置外部の、当該端末装置が使用可能なハードウェア資源である請求項8に記載の端末装置。
  11. 前記資源は前記端末装置内部のソフトウェア資源である請求項8に記載の端末装置。
  12. 前記資源は前記端末装置外部の、当該端末装置が使用可能なソフトウェア資源である請求項8に記載の端末装置。
  13. 前記資源は、前記端末装置が使用可能なネットワーク資源である請求項8に記載の端末装置。
  14. 前記制御部におけるアプリケーションの挙動を制限する手段は、前記権限情報に基づき資源の利用の種類を判断する請求項2に記載の端末装置。
  15. 前記アプリケーション記述ファイルは前記端末装置に通信サービスを提供する通信事業者の公開鍵を内包し、
    前記セキュリティ記述ファイルは前記通信事業者の秘密鍵で署名されており、
    前記制御部は、前記配信システムによって送信されてくるセキュリティ記述ファイルの正当性を前記アプリケーション記述ファイルに内包されている公開鍵を用いて検証し、その正当性が検証された場合にのみ、前記配信システムに対し前記実体ファイルの格納位置を通知する請求項2に記載の端末装置。
  16. 前記アプリケーション記述ファイル及び前記セキュリティ記述ファイルは、対応するアプリケーションに割り当てられたアプリケーション識別子を内包しており、
    前記制御部は、前記配信システムによって送信されてくるアプリケーション記述ファイルに内包されたアプリケーション識別子と、前記配信システムによって送信されてくるセキュリティ記述ファイルに内包されたアプリケーション識別子とを比較し、両者が一致した場合にのみ、前記配信システムに前記実体ファイルの格納位置を通知する請求項2に記載の端末装置。
  17. 前記アプリケーション記述ファイルに記述された前記セキュリティ記述ファイルの格納位置が前記管理サーバ装置内の場合にのみ、前記制御部は、前記セキュリティ記述ファイルの格納位置を前記配信システムに通知する請求項2に記載の端末装置。
  18. 前記セキュリティ記述ファイルは、対応するアプリケーションの有効期限を示す期限情報を内包しており、前記制御部は、前記配信システムに対して前記セキュリティ記述ファイルの格納位置を時系列的に繰り返し通知することによって、前記配信システムから当該セキュリティ記述ファイルが時系列的に繰り返し受信し、繰り返し受信される前記セキュリティ記述ファイルに内包されている前記期限情報に基づいて、前記アプリケーションの有効期限を更新する手段を具備する請求項2に記載の端末装置。
  19. 前記端末装置は、前記配信システムから前記セキュリティ記述ファイルが正当に配信されてきた場合にのみ、前記アプリケーションの有効期限を更新する請求項18に記載の端末装置。
  20. 前記端末装置は移動機である請求項2に記載の端末装置。
  21. アプリケーションを実現するためのソフトウェアを内包した実体ファイルと、前記ソフトウェアを実行することにより実現されるアプリケーションに与えられた権限を示す権限情報を内包したセキュリティ記述ファイルと、前記実体ファイルに依存した内容を有し前記実体ファイルの格納位置と前記セキュリティ記述ファイルの格納位置とが記述されたアプリケーション記述ファイルを格納した1または複数のサーバ装置とを有し、
    前記1または複数のサーバ装置のうち前記セキュリティ記述ファイルを格納するサーバ装置は、セキュリティ記述ファイルを管理する権限の与えられた管理サーバ装置であり、
    各々の前記サーバ装置は、ファイルの格納位置が通知されると当該ファイルをその通知元に返送する手段を有し、
    前記管理サーバ装置は、前記セキュリティ記述ファイルの格納位置が通知されると当該セキュリティ記述ファイルをセキュリティが確保された状態で通知元に返送する
    配信システム。
  22. 通信部と、
    記憶部と、
    (a)ソフトウェアを実行することにより実現されるアプリケーションに与えられた権限を示す権限情報を内包したセキュリティ記述ファイルを前記記憶部に書き込む処理と、
    (b)前記セキュリティ記述ファイルの有効性に関する情報を前記記憶部に書き込む処理と、
    (c)前記セキュリティ記述ファイルの有効性に関する問い合わせが前記通信部により端末装置から受信されたとき、当該セキュリティ記述ファイルの有効性に関する情報を前記記憶部から読み出し、前記通信部により前記端末装置に通知する処理と
    を行う制御部とを具備する管理サーバ装置。
  23. 通信部と、
    記憶部と、
    (a)ソフトウェアを実行することにより実現されるアプリケーションに与えられた権限を示す権限情報を内包したセキュリティ記述ファイルを前記通信部により管理サーバから受信し、前記記憶手段に書き込む処理と、
    (b)前記記憶手段に格納されたセキュリティ記述ファイルの有効性に関する問い合わせを前記通信部により前記管理サーバ装置に繰り返し送信する処理と、
    (c)前記セキュリティ記述ファイルが失効している旨の回答が前記通信部により前記管理サーバ装置から受信された場合に、当該セキュリティ記述フィルに対応付けられた実体ファイルを起動不能状態にする処理と
    を実行する制御部とを具備する端末装置。
JP2003581004A 2002-04-03 2003-03-28 配信方法及び端末装置 Expired - Fee Related JP4078313B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002101756 2002-04-03
JP2002101756 2002-04-03
PCT/JP2003/003974 WO2003083646A1 (fr) 2002-04-03 2003-03-28 Procede et systeme de distribution, et terminal

Publications (2)

Publication Number Publication Date
JPWO2003083646A1 true JPWO2003083646A1 (ja) 2005-08-04
JP4078313B2 JP4078313B2 (ja) 2008-04-23

Family

ID=28672125

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003581004A Expired - Fee Related JP4078313B2 (ja) 2002-04-03 2003-03-28 配信方法及び端末装置

Country Status (8)

Country Link
US (1) US7587592B2 (ja)
EP (1) EP1491996B1 (ja)
JP (1) JP4078313B2 (ja)
CN (2) CN1332301C (ja)
AU (1) AU2003220927A1 (ja)
ES (1) ES2461241T3 (ja)
TW (1) TWI229531B (ja)
WO (1) WO2003083646A1 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003202929A (ja) * 2002-01-08 2003-07-18 Ntt Docomo Inc 配信方法および配信システム
JP4176533B2 (ja) * 2003-03-31 2008-11-05 株式会社エヌ・ティ・ティ・ドコモ 端末装置及びプログラム
US8302111B2 (en) 2003-11-24 2012-10-30 Time Warner Cable Inc. Methods and apparatus for hardware registration in a network device
US7266726B1 (en) * 2003-11-24 2007-09-04 Time Warner Cable Inc. Methods and apparatus for event logging in an information network
JP4164036B2 (ja) * 2004-02-05 2008-10-08 トレンドマイクロ株式会社 ネットワークを介して提供されるプログラムに対する受信装置上でのセキュリティの確保
US9213538B1 (en) 2004-02-06 2015-12-15 Time Warner Cable Enterprises Llc Methods and apparatus for display element management in an information network
US8078669B2 (en) 2004-02-18 2011-12-13 Time Warner Cable Inc. Media extension apparatus and methods for use in an information network
JP4994575B2 (ja) * 2004-03-12 2012-08-08 キヤノン株式会社 ネットワークインターフェース装置及びその制御方法、及び画像形成システム
EP1783581A4 (en) * 2004-06-30 2010-08-25 Panasonic Corp PROVISION OF EXECUTION OF A PROGRAM AND METHOD OF EXECUTION
WO2006016407A1 (ja) * 2004-08-12 2006-02-16 Fujitsu Limited Javaアプレット、JARファイル生成方法、JARファイル生成プログラム、JARファイル生成装置
US20060107327A1 (en) * 2004-11-16 2006-05-18 Sprigg Stephen A Methods and apparatus for enforcing application level restrictions on local and remote content
US8429755B2 (en) 2005-05-26 2013-04-23 Sandisk Technologies Inc. System and method for receiving digital content
KR20070079257A (ko) * 2006-02-01 2007-08-06 엘지전자 주식회사 데이터 방송 관련 어플리케이션의 제한 방법, 클래스와인터페이스 구조 및 이를 위한 방송 수신기
CN100428731C (zh) * 2006-06-02 2008-10-22 清华大学 基于智能交换机的星形网络防入侵和攻击的方法
US20080027945A1 (en) * 2006-07-28 2008-01-31 Nichols Paul H Methods, systems and computer program products for downloading a Java application based on identification of supported classes
JP2008065693A (ja) * 2006-09-08 2008-03-21 Ricoh Co Ltd 情報処理装置、そのインストール制御方法及びインストール制御プログラム
US8370818B2 (en) 2006-12-02 2013-02-05 Time Warner Cable Inc. Methods and apparatus for analyzing software interface usage
CN101196974B (zh) * 2006-12-06 2011-08-24 国际商业机器公司 用于软件应用程序的自动配置的方法和系统
US8649276B2 (en) * 2008-07-31 2014-02-11 Microsoft Corporation Content transfer
US8103718B2 (en) 2008-07-31 2012-01-24 Microsoft Corporation Content discovery and transfer between mobile communications nodes
KR101528856B1 (ko) * 2008-08-14 2015-06-15 삼성전자주식회사 애플리케이션 제어 정보를 획득하는 컨텐츠 수신 장치 및 그 방법
US9355004B2 (en) 2010-10-05 2016-05-31 Red Hat Israel, Ltd. Installing monitoring utilities using universal performance monitor
US9363107B2 (en) 2010-10-05 2016-06-07 Red Hat Israel, Ltd. Accessing and processing monitoring data resulting from customized monitoring of system activities
US9524224B2 (en) 2010-10-05 2016-12-20 Red Hat Israel, Ltd. Customized monitoring of system activities
US9256488B2 (en) * 2010-10-05 2016-02-09 Red Hat Israel, Ltd. Verification of template integrity of monitoring templates used for customized monitoring of system activities
CN102426639B (zh) * 2011-09-26 2015-04-08 宇龙计算机通信科技(深圳)有限公司 信息安全监测方法和装置
CN102752137B (zh) * 2012-06-28 2015-10-21 用友网络科技股份有限公司 主动设置虚拟机网络参数的装置和方法
US8949818B2 (en) 2012-06-29 2015-02-03 Intel Corporation Mechanism for facilitating dynamic and trusted cloud-based extension upgrades for computing systems
JP2014164392A (ja) * 2013-02-22 2014-09-08 Dainippon Printing Co Ltd 情報処理装置および情報処理システム
US10020946B2 (en) * 2015-01-07 2018-07-10 Cyph, Inc. Multi-key encryption method
US9954837B2 (en) 2015-01-07 2018-04-24 Cyph, Inc. Method of multi-factor authenication during encrypted communications
WO2016114822A1 (en) 2015-01-16 2016-07-21 Cyph Inc. A system and method of cryprographically signing web applications
US11716558B2 (en) 2018-04-16 2023-08-01 Charter Communications Operating, Llc Apparatus and methods for integrated high-capacity data and wireless network services
US11263271B2 (en) * 2018-09-11 2022-03-01 Book Walker Co., Ltd. Digital content viewing system, digital content viewing method, and computer-readable recording medium
US11129213B2 (en) 2018-10-12 2021-09-21 Charter Communications Operating, Llc Apparatus and methods for cell identification in wireless networks
US11129171B2 (en) 2019-02-27 2021-09-21 Charter Communications Operating, Llc Methods and apparatus for wireless signal maximization and management in a quasi-licensed wireless system
US11026205B2 (en) 2019-10-23 2021-06-01 Charter Communications Operating, Llc Methods and apparatus for device registration in a quasi-licensed wireless system
DE102020116791A1 (de) 2020-06-25 2021-12-30 Technische Universität Dresden Vorrichtung und Verfahren zum computergestützten Verarbeiten von Daten
CN117252188B (zh) * 2023-10-17 2024-03-26 广东深博信息科技有限公司 一种基于人工智能的软件映像监控方法及系统

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6345288B1 (en) * 1989-08-31 2002-02-05 Onename Corporation Computer-based communication system and method using metadata defining a control-structure
JPH07230380A (ja) * 1994-02-15 1995-08-29 Internatl Business Mach Corp <Ibm> 適用業務プログラムの利用管理方法およびシステム
US5708709A (en) 1995-12-08 1998-01-13 Sun Microsystems, Inc. System and method for managing try-and-buy usage of application programs
US5825877A (en) 1996-06-11 1998-10-20 International Business Machines Corporation Support for portable trusted software
TW313642B (en) 1996-06-11 1997-08-21 Ibm A uniform mechanism for using signed content
US6167520A (en) 1996-11-08 2000-12-26 Finjan Software, Inc. System and method for protecting a client during runtime from hostile downloadables
US6317742B1 (en) 1997-01-09 2001-11-13 Sun Microsystems, Inc. Method and apparatus for controlling software access to system resources
JPH11205767A (ja) 1998-01-16 1999-07-30 Sony Corp 受信装置及びデータ書換え方法
AU1889699A (en) 1999-01-13 2000-08-01 Hitachi Limited Method and system for executing mobile code
FI990461A0 (fi) * 1999-03-03 1999-03-03 Nokia Mobile Phones Ltd Menetelmä ohjelmiston lataamiseksi palvelimelta päätelaitteeseen
US6976165B1 (en) * 1999-09-07 2005-12-13 Emc Corporation System and method for secure storage, transfer and retrieval of content addressable information
JP2001117769A (ja) 1999-10-20 2001-04-27 Matsushita Electric Ind Co Ltd プログラム実行装置
IL139327A (en) 1999-11-22 2005-06-19 Sun Microsystems Inc Mechanism for determining restrictions to impose on an implementation of a service
JP3740931B2 (ja) 2000-03-01 2006-02-01 日本電信電話株式会社 アプリケーションプログラム管理方法及びシステム及びコンピュータ読み取り可能な記録媒体
EP1132796A1 (en) 2000-03-08 2001-09-12 Universite Catholique De Louvain Mobile code and method for resource management for mobile code
US6971016B1 (en) * 2000-05-31 2005-11-29 International Business Machines Corporation Authenticated access to storage area network
KR100671471B1 (ko) * 2000-07-08 2007-01-18 (주) 엘지텔레콤 이동통신단말기를 이용한 자바 프로그램 실행 방법 및이를 수행하기 위한 시스템
US6766353B1 (en) * 2000-07-11 2004-07-20 Motorola, Inc. Method for authenticating a JAVA archive (JAR) for portable devices
JP2002182983A (ja) 2000-12-13 2002-06-28 Sharp Corp データベースへのアクセス制御方法、データベース装置、リソースへのアクセス制御方法、情報処理装置
JP2003050641A (ja) 2001-08-07 2003-02-21 Nec Corp プログラム管理システム、そのプログラム管理方法、及び情報管理プログラム
EP1289326A1 (en) 2001-08-30 2003-03-05 Motorola, Inc. Method of verifying downloaded software and corresponding device
US7003672B2 (en) 2001-09-25 2006-02-21 Hewlett-Packard Development Company, L.P. Authentication and verification for use of software
JP4145118B2 (ja) 2001-11-26 2008-09-03 松下電器産業株式会社 アプリケーション認証システム
JP2003202929A (ja) 2002-01-08 2003-07-18 Ntt Docomo Inc 配信方法および配信システム
JP4176533B2 (ja) 2003-03-31 2008-11-05 株式会社エヌ・ティ・ティ・ドコモ 端末装置及びプログラム

Also Published As

Publication number Publication date
ES2461241T3 (es) 2014-05-19
EP1491996B1 (en) 2014-02-12
US20050160045A1 (en) 2005-07-21
CN1992724A (zh) 2007-07-04
AU2003220927A1 (en) 2003-10-13
CN1992724B (zh) 2012-05-09
EP1491996A4 (en) 2008-12-10
TW200306108A (en) 2003-11-01
WO2003083646A1 (fr) 2003-10-09
EP1491996A1 (en) 2004-12-29
TWI229531B (en) 2005-03-11
US7587592B2 (en) 2009-09-08
JP4078313B2 (ja) 2008-04-23
CN1332301C (zh) 2007-08-15
CN1647029A (zh) 2005-07-27

Similar Documents

Publication Publication Date Title
JP4078313B2 (ja) 配信方法及び端末装置
JP4248913B2 (ja) 端末装置、プログラムおよび通信システム
EP1465039B1 (en) Content delivery method and content delivery system
US7558963B2 (en) Communication device and program
JP2003198718A (ja) 通信端末、コンテンツの使用制限方法およびプログラムの実行制限方法
JP4336383B2 (ja) 端末装置およびプログラム
KR100642998B1 (ko) 단말의 정책을 업그레이드하기 위한 정책메시지 전송방법
US20050181819A1 (en) Communication system, communication terminal device, and information storage module
JP5132730B2 (ja) 配信方法および配信システム
JP2008123514A (ja) 配信方法および配信システム
CN111506899A (zh) 一种安全系统的权限管理方法和权限管理架构

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041001

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071210

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080204

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110208

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120208

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120208

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130208

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140208

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees