JP3873624B2 - モバイルコードの実行方法およびそのシステム - Google Patents

モバイルコードの実行方法およびそのシステム Download PDF

Info

Publication number
JP3873624B2
JP3873624B2 JP2000594008A JP2000594008A JP3873624B2 JP 3873624 B2 JP3873624 B2 JP 3873624B2 JP 2000594008 A JP2000594008 A JP 2000594008A JP 2000594008 A JP2000594008 A JP 2000594008A JP 3873624 B2 JP3873624 B2 JP 3873624B2
Authority
JP
Japan
Prior art keywords
mobile code
code
mobile
function
execution
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.)
Expired - Fee Related
Application number
JP2000594008A
Other languages
English (en)
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Application granted granted Critical
Publication of JP3873624B2 publication Critical patent/JP3873624B2/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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Description

技術分野
本発明は、サーバからネットワークを介してユーザー端末にダウンロードされ、自動的に実行されるモバイルコードのセキュリティに関する。
背景技術
World Wide Web(WWW)の表現力や利便性を大幅に高める手段として、モバイルコードが広く用いられてきている。モバイルコードは、WWWサーバ上に置いておき、ユーザー端末を利用するユーザーがBrowserプログラムを用いて、当該ページにアクセスしたときにダウンロードされ、自動的に実行される、というプログラムである。
しかし、その一方で、ユーザー端末上のリソース(ファイルや周辺機器など)に勝手にアクセスし、情報を盗んだり、障害を引き起こすといった、不正な処理を行うモバイルコードが問題となってきてもいる。
そのため、モバイルコードを利用するシステムには、モバイルコードの実行に対して、以下のようなセキュリティ機能を設けているものがある。
(1)モバイルコードには、ユーザー端末上のリソースへのアクセスを基本的に認めない。
(2)モバイルコードは、そのモバイルコードが保管されていたサーバとの間でしか通信することができない。
このようなセキュリティ機能は、不正なモバイルコードからシステムを守るために考えだされたものである。
しかし、その一方で、このような規制がモバイルコードの利便性を損なうものであることも明らかである。そのため、モバイルコードが、そのモバイルコードの作成者の署名(電子的な署名でディジタル署名と呼ばれる)が付加された、いわゆる署名付きコードであり、かつ、その作成者のモバイルコードならば信用するとユーザー端末を利用するユーザーが認めた場合には、上記モバイルコードに対する制限は適用されないように機能拡張されてきている。例えば、特開平10−83310号公報には、このような署名付きコードを利用するシステムの一例が示されている。また、上記ディジタル署名技術については、例えば「SECURE ELEC−TRONIC COMMERCE」(PRENTICE HALL、1997)pp.111−116に記載されている。
ローカルファイルにアクセスする署名付きコードを、ネットワークを介してサーバからダウンロードした場合の、当該ユーザー端末での処理手順例を第19図を参照して簡単に説明すると、以下のようである。
ユーザー端末を利用するユーザーが、Browserプログラムを用いて署名付きコードをサーバからダウンロードすると(ステップ1901)、まず、署名付きコードに付加されたディジタル署名を検証し、モバイルコードの完全性(改ざんされていないこと)を確認する(ステップ1902)。完全性が確認された場合には、次に、その署名の署名者が、すでにローカルファイルへのアクセスを許可されている署名者であるかどうかを確認し(ステップ1903)、アクセスが許可された署名者であった場合には、署名付きコードがローカルファイルにアクセスして、あらかじめプログラミングされた処理を実行する(ステップ1905)。
また、ステップ1903において、アクセスが許可されていない署名者であった場合、ユーザー端末を利用しているユーザーに対して、当該署名者が作成した署名付きコードにローカルファイルへのアクセス許可を与えるかどうかを選択させる(ステップ1904)。許可が与えられた場合には、署名付きコードがローカルファイルにアクセスしてあらかじめプログラミングされた処理を実行する(ステップ1905)。
ステップ1902において完全性が確認できなかった場合、およびステップ1904においてアクセスの許可が与えられなかった場合には、ユーザー端末を利用しているユーザーにその旨を通知し(ステップ1906)、処理を終了する。
上述の署名付きコードのセキュリティ機能は、モバイルコードの署名者によってモバイルコードの実行を許可するか否かを判断するものであり、当該モバイルコードがどのような機能を持っているのかは、実行してみるまでわからない。そのため、ユーザーは、当該モバイルコードを実行してみるまでは、実行してよいか否かの十分な情報を得ることができない。そして、ユーザーが署名者を信頼すると判断した場合には、署名付きコードが不正な処理を行うモバイルコードであっても、実行されてしまうという問題がある。
特開平10−83310号公報には、コードと共に当該コードが要求するリソースの一覧(ACL)を配布し、実行時に当該ACLにしたがってリソースを割当てるという方法が開示されている。コードと共にACLを配布することによって、コードがどのリソースにアクセスするのかを実行前に知ることはできるが、そのリソースをどのように使用するのか、すなわち、コードがどのような機能を持っているのかはわからない。
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、モバイルコードが持っている機能に基づいて、当該モバイルコードを実行するか否かを決定することができる、モバイルコードの構成と当該モバイルコードの実行方法と、それを利用したモバイルコードシステム、さらには、そこに用いるソースコード作成端末、機能検証サーバ、モバイルコード配布サーバ、ユーザー端末、およびそれらを実現するプログラムを提供することにある。
発明の開示
上記目的を達成するため、本発明のモバイルコードには、当該モバイルコードの持つ機能を記述した機能仕様、または当該機能仕様に対応づけられた識別子が添付されていることを特徴とする。
さらに、本発明のモバイルコードの実行方法は、前記モバイルコードを実行する前に、それが持つ機能を確認し、実行するか否かを判断するステップを設けたことを特徴とする。
すなわち、本発明のモバイルコードの実行方法は、モバイルコードを取得する、モバイルコード取得ステップと、前記モバイルコード取得ステップによって取得された前記モバイルコードに付加されている電子的な署名を検証する、署名検証ステップと、前記署名検証ステップによって、当該モバイルコードの署名の検証に成功した(検証結果が合格であった)場合に、当該モバイルコードの持つ機能を記述した機能仕様を取得する、機能仕様取得ステップと、前記機能仕様取得ステップで取得した前記機能仕様によって、前記モバイルコードの持つ機能を確認し、当該モバイルコードを実行するか否かを判断する、機能確認ステップと、前記機能確認ステップにおいて、前記モバイルコードは実行を許可されると判断された場合に、当該モバイルコードを実行する、モバイルコード実行ステップと、を備えている。
また、本発明のモバイルコードシステムは、モバイルコードのソースコードを作成するソースコード作成端末と、ソースコードの機能を検証する機能検証サーバと、モバイルコードを配布するモバイルコード配布サーバと、モバイルコードを実行するユーザー端末と、からなるモバイルコードシステムであって、
前記ソースコード作成端末は、モバイルコードのソースコードを作成するソースコード作成手段と、前記モバイルコードのソースコードを前記機能検証サーバに送信するソースコード送信手段と、を備え、
前記機能検証サーバは、送信された前記モバイルコードのソースコードから当該モバイルコードの持つ機能を記述した機能仕様を作成し、当該モバイルコードが不正な処理を行うものでないかを検証する機能検証手段と、前記機能検証手段が前記モバイルコードは不正な処理を行うものではないと判断した場合に、前記ソースコードから前記モバイルコードを作成するモバイルコード作成手段と、前記配布サーバに対して、前記モバイルコード作成手段によって作成された、モバイルコードの登録を要求する登録要求手段と、を備え、
前記モバイルコード配布サーバは、前記登録を要求された前記モバイルコードを格納し、保管するモバイルコード保管手段と、前記ユーザー端末から配送を要求された、前記モバイルコード保管手段が保管している前記モバイルコードを前記ユーザー端末に送信するモバイルコード送信手段と、を備え、
前記ユーザー端末は、前記モバイルコード配布サーバに対して、モバイルコードの配送を要求する配送要求送信手段と、配送されたモバイルコードに付加されている電子的な署名を検証する署名検証手段と、前記署名検証手段が署名の検証に成功した場合、前記検証サーバの機能検査手段が作成した前記機能仕様を取得し、当該機能仕様によって前記モバイルコードの持つ機能を確認し、当該モバイルコードの実行を許可するか否かを判断する機能確認手段と、前記機能確認手段が前記モバイルコードの実行を許可すると判断した場合に、前記モバイルコードを実行するモバイルコード実行手段と、を備えている。
さらに、本発明のモバイルコードシステムでは、前記機能確認手段は、前記機能仕様と同じ機能仕様が、ユーザー端末に保管されている機能仕様管理ファイルに登録されているか、または、前記機能仕様をユーザーに提示し、ユーザーが当該機能を持つモバイルコードの実行を許可すると判断した場合に、当該モバイルコードの実行を許可すると判断する。
したがって、本発明では、モバイルコードをダウンロードしたユーザー端末は、当該モバイルコードを実行する前に、当該モバイルコードの持つ機能を記述した機能仕様を確認する処理を行う。そして、前記機能仕様が、予め実行を許可されたものであるか、または、ユーザーが当該機能仕様を持つモバイルコードの実行を許可すると判断した場合にのみ、前記モバイルコードが実行されるようにしている。
このため、本発明によれば、モバイルコードが持っている機能に基づいて、当該モバイルコードを実行するか否かを決定することができる。
なお、本発明はモバイルコードに限るものではなく、ユーザー端末の記憶装置に格納されているような、一般のプログラムコードを実行する場合にも適用可能である。
発明を実施するための最良の形態
以下、図面を用いて、本発明の実施形態について説明する。なお、これにより本発明が限定されるものではない。
第1図は、本発明の一実施形態が適用されたモバイルコードシステムの機器概略構成、及びハードウェア構成を示す図である。
本実施形態のシステムは、第1図に示すように、モバイルコードのソースコードを作成する、ソースコード作成端末110(以下、単に作成端末110とも称する)と、ソースコードの機能を検証し、当該ソースコードからモバイルコードを作成する、機能検証サーバ120(以下、単に検証サーバ120とも称する)と、モバイルコードを登録し、配布する、モバイルコード配布サーバ130(以下、単に配布サーバ130とも称する)と、モバイルコードを実行する、ユーザー端末140と、が、それぞれ、コンピュータ上に構成されて、LANなどの通信網100を介して、互いに接続されて構成されている。
なお、第1図において複数の、作成端末110、検証サーバ120、配布サーバ130、またはユーザー端末140が接続されていてもよい。
前記作成端末110、検証サーバ120、配布サーバ130、とユーザー端末140を構成するコンピュータは、第1図に示すように、通信網インタフェースと、表示装置と、入力装置と、記憶装置と、中央処理装置(CPU)と、一時記憶装置(メモリ)とが、バスによって互いに接続されて構成されている。通信網インターフェース111、121、131、141は、通信網100を介したデータの送受信を行うためのインタフェース装置である。表示装置112、122、132、142は、上記各端末、サーバを使用する使用者へのメッセージなどを表示するために用いられるものであり、CRTや液晶ディスプレイなどで構成される。入力装置113、123、133、143は、前記使用者がデータや命令などを入力するために用いられるものであり、キーボードやマウスなどで構成される。記憶装置114、124、134、144は、プログラムやデータなど種々の情報を永続的に記憶するために用いられるものであり、ハードディスクやフロッピーディスクなどで構成される。CPU115、125、135、145は、各部を統括的に制御したり、様々な演算処理を行ったりする。メモリ116、126、136、146には、オペレーティングシステム(以下、単にOSとも称する)116a、126a、136a、146aや、CPUが上記各端末、サーバの機能を実現するために必要なプログラム、データなどが格納される。
ここで、OS116aは、ユーザー端末110全体の制御を行うために、ファイル管理やプロセス管理、あるいはデバイス管理といった機能を実現するためのプログラムである。
コード作成プログラム116bは、前記作成端末110の使用者(以下、単に作成者とも称する)の指示にしたがって、モバイルコード146cのソースコード(以下、単にソースコードとも称する)を作成し、記憶装置114に格納するためのプログラムである。検証依頼プログラム116cは、前記作成者の指示にしたがって、記憶装置114に格納されている、前記ソースコードを検証サーバ120に送信するためのプログラムである。
コード検証プログラム126bは、作成端末110から前記ソースコードを受信し、当該ソースコードの機能を検証し、当該ソースコードから、モバイルコード146cや、その機能仕様を作成し、それらを前記配布サーバ130に登録するためのプログラムである。
コード配布プログラム136bは、検証サーバ120からモバイルコード146cを受信した場合に、前記モバイルコード146cを記憶装置134に格納し、また、ユーザー端末140からBrowserプログラム146bによるアクセスがあった場合に、記憶装置134に格納されているモバイルコード146cを、必要に応じてマルチメディアデータなどを添付して、送信するプログラムである。
また、Browserプログラム146bは、ユーザー端末140が配布サーバ130と通信し、配布データ、すなわちモバイルコード146cと必要に応じて添付される種々のデータ(たとえば、音声、画像、動画などのマルチメディアデータを含むHTMLファイル)からなるデータ、をダウンロードし、モバイルコード146cの機能を確認し、当該モバイルコード146cを実行するためのプログラムである。なお、これらの添付される種々のデータは、Browserプログラム146bが当該モバイルコード146cを実行する際に必要とされるものである。
モバイルコード146cは、ユーザー端末140の各種リソースにアクセスを行い、計算処理を行うプログラムである。
なお、本実施形態では、モバイルコード146cには、当該モバイルコード146cの実行コード以外に、当該モバイルコード146cの機能仕様、前記検証者の署名(本実施形態では署名を検証するために必要なデータをまとめて署名と記述する)や、モバイルコード自身が使用するデータやファイルが含まれており、モバイルコード146c自体の完全性の確認(改ざんされているかどうかの確認)や機能の確認に利用可能である。
次に、本実施形態における各プログラムの機能ブロック構成とその動作について説明する。以下の説明において、各機能ブロックは、上記CPUがOSを介して、あるいは直接に、プログラムを実行することによって、実現されるものである。
ただし、前記作成者が作成端末110で前記ソースコードを作成する場合の、機能ブロック構成、および動作については、従来のモバイルコードシステムにおいて前記ソースコードを作成する場合と同じであり、その詳細な説明は省略する。なお、前記作成者が作成した前記ソースコードは、記憶装置114のソースコードファイル202に格納される。
まず、作成端末110が、モバイルコード146cの機能検証を、検証サーバ120に依頼する場合の、作成端末110および検証サーバ120の機能ブロック構成、および動作について、第2図、第10図、第11図を参照して説明する。
第2図は、作成端末110が、モバイルコード146cの機能検証を、検証サーバ120に依頼する場合の、作成端末110および検証サーバ120の機能ブロック構成を示す図である。まず、作成端末110の機能ブロック構成について説明する。
作成端末110は、第2図に示すように、入力装置113を介して、前記作成者の指示を受け付ける入力部204と、前記入力部204に入力されたデータなどを、表示装置112に表示させる表示部203と、前記入力装置113に入力された前記作成者の指示にしたがい、検証サーバ120に対して、通信網100を介して、記憶装置114のソースコードファイル202に格納された、前記ソースコードと当該ソースコードが実行時に使用する、データまたはファイル、例えば、音声、画像、動画データなどを送信する、ソースコード送信処理部201と、を有する。なお、これらの実行時に使用されるデータまたはファイルは、上述の配布データにモバイルコードに添付されるデータやファイルとは異なり、当該モバイルコードがその実行時に必要とするものである。
次に、検証サーバ120の機能ブロック構成について説明する。
検証サーバ120は、第2図に示すように、作成端末110から前記ソースコードを受信したという情報などを表示装置122に表示させる表示部213と、前記作成端末110から前記ソースコードを受信するソースコード受信処理部211と、を有する。
次に、作成端末110の動作について説明する。
第10図は、作成端末110が、モバイルコード146cの機能検証を、検証サーバ120に依頼する場合の、作成端末110の動作フローを示した図である。
まず、前記作成者が入力装置113に前記ソースコードの格納場所と名前、および前記検証サーバ120の位置と名前を入力する(ステップ1001)。次に、ソースコード送信処理部201は、ステップ1002において、指定された前記ソースコードを前記ソースコードファイル202から取り出し、当該ソースコードとソースコードが実行時に使用するデータやファイルを含む機能検証依頼203を作成し、当該機能検証依頼203を、前記作成者が指示した前記検証サーバ120に送信する。
次に、検証サーバ120の動作について説明する。
第11図は、作成端末110が、前記ソースコードの機能検証を、検証サーバ120に依頼する場合の、検証サーバ120の動作フローを示した図である。
まず、ステップ1101において、前記ソースコード受信処理部211が、前記作成端末110から前記機能検証依頼203を待ち受ける。前記機能検証依頼203を受信すると、前記ソースコード受信処理部211は、当該機能検証依頼203から取り出した、前記ソースコードをソースコードファイル212に格納し(ステップ1103)、前記作成端末110から前記ソースコードを受信したという情報を、前記表示装置122に表示する(ステップ1104)。その後、ステップ1101に遷移し、再び、前記作成端末110から前記機能検証依頼203を待ち受ける。
次に、検証サーバ120が、前記ソースコードの機能検証、モバイルコード146cの作成と、当該モバイルコード146cの配布サーバ130への登録を行う場合の、検証サーバ120および配布サーバ130の機能ブロック構成および動作について説明する。
第3図は、検証サーバ120でソースコードの機能を検証し、当該ソースコードから作成したモバイルコード146cを配布サーバ130に登録する場合の、検証サーバ120および配布サーバ130の機能ブロック構成を示した図である。ここで、検証サーバ120の各機能ブロックは、検証サーバ120のCPU125がメモリ126に格納された各プログラムをOSを介して実行することで実現される。また、配布サーバ130の各機能ブロックは、配布サーバ130のCPU135がメモリ136に格納された各プログラムをOSを介して実行することで実現される。
まず、検証サーバ120の機能ブロック構成について説明する。
検証サーバ120は、第3図に示すように、前記検証サーバ120の使用者(以下、単に検証者とも称する)の指示を受け付ける入力部123と、前記入力部123に入力されたデータなどを表示する表示装置122と、前記入力部123から入力された、前記検証者の指示にしたがって、前記記憶装置124に格納された前記ソースコードの機能を検証する、機能検証処理部301と、前記ソースコードからモバイルコード146cを作成するモバイルコード作成処理部302と、前記モバイルコード146cの登録を要求するため、登録要求305を配布サーバ130に送信する、登録要求送信処理部303と、を有している。なお、前記登録要求305には、前記モバイルコード作成処理部302が作成した、モバイルコード146cとモバイルコードを格納する場所を指定する情報が含まれている。
次に、配布サーバ130の機能ブロック構成について説明する。
配布サーバ130は、第3図に示すように、前記配布サーバ130の使用者(以下、単に配布者とも称する)の指示を受け付ける入力部133と、前記入力部133に入力されたデータなどを表示する表示部132と、前記検証サーバ120から前記登録要求305を受信し、当該登録要求305に含まれるモバイルコード146cを、前記記憶装置134に格納する、登録要求受信処理部311と、を有している。
次に、検証サーバ120の動作について説明する。
第12図は、検証サーバ120でソースコードの機能を検証し、当該ソースコードから作成したモバイルコード146cを配布サーバ130に登録する場合の、検証サーバ120の動作フローを示した図である。
まず、前記検証者が、機能を検証する前記ソースコードの格納場所と名前を入力部123に入力する(ステップ1201)と、機能検証処理部301は、前記ソースコードファイル212から指定された前記ソースコードを検索し、当該ソースコードからモバイルコード146cの持つ機能を記述した機能仕様500を作成する(ステップ1202)。次に、機能仕様確認画面600を前記表示装置122に表示し(ステップ1203)、ステップ1204に遷移し、前記検証者の指示を待ち受ける。
第5図は、前記機能検証処理部301が作成する前記機能仕様500の一例を示した図である。この例では、前記ソースコードが、「/etc/passwd」というファイルに読み込み(501)や書き込み(504)を行ったり、「/bin/rm」というプログラムを実行したりする(503)などの情報が記述されている。
また、第6図は、前記機能検証処理部301が前記表示装置122に表示する、前記機能仕様確認画面600の画面の一例である。前記検証者は、ソースコード表示領域601に表示された前記ソースコードと、機能仕様表示領域602に表示された前記機能仕様500とを比較、確認し、前記モバイルコード146cを作成するか否かを選択する。例えば、前記検証者は、前記表示装置122に表示された前記機能仕様500を確認し、当該モバイルコード146cが有害な動作を行うものであると判断した場合には、前記検証者は、キャンセル(拒否)ボタン604を押すなどによって、前記モバイルコード146cの作成を拒否することができる。有害な動作とは例えば、本来の動作には関係のないプログラムを起動している、ユーザー端末からデータを読み込んでサーバに転送しているなどの動作である。なお、作成とは、ソースコードから実行コードを作成(コンパイル)し、機能仕様と実行コードと実行時に使用されるデータやファイルを一つにまとめて(アーカイブして)、さらに署名を付加するという処理を行うことを指す。
ここで、前記検証者が前記モバイルコード146cの作成を拒否するという指示を行った場合には、ステップ1209において、前記ソースコードと、前記機能仕様500とを破棄し、処理を終了する。なお、前記検証者が前記モバイルコード146cの作成を拒否した場合に、前記作成者に対して作成が拒否された旨をその理由と共に通知してもよい。これによって、前記作成者は当該モバイルコード146cの修正すべき箇所を知ることができるという効果がある。
一方、前記検証者が、作成ボタン603を押すなどによって、前記モバイルコード146cの作成を選択した場合には、ステップ1205に遷移する。
また、ステップ1204で、前記検証者が前記機能仕様500を編集することも可能である。前記検証者が編集ボタン605を押すことによって、機能仕様500の編集を選択した場合には、ステップ1210に遷移し、前記機能検証処理部301は、機能仕様編集画面700を前記表示装置122に表示し、前記検証者からの指示を待ち受ける(ステップ1211)。
第7図は、前記機能検証処理部301が前記表示装置122に表示する、前記機能仕様編集画面700の画面の一例である。前記検証者は、この画面を使って、前記機能仕様500の編集を行う。
ここで、更新ボタン702を押すなどによって、編集結果を前記機能仕様500に反映することを選択した場合には、前記機能検証処理部301は、編集結果を反映した機能仕様500を新たに作成し(ステップ1212)、ステップ1204に戻る。
一方、キャンセルボタン703を押すなどによって、編集結果を前記機能仕様500に反映しないことを選択した場合には、そのまま、ステップ1204に戻る。
ステップ1205では、前記機能仕様500と、検証サーバが作成した前記モバイルコード146cを特定するためのモバイルコード識別子と、の組を機能仕様登録ファイル304に格納し、前記モバイルコード作成処理部302に処理を移す。
前記モバイルコード作成処理部302は、ステップ1206で、実行コードと、検証者の署名とを生成し、モバイルコード146cを作成する。
次に、ステップ1207で、前記検証者が、前記モバイルコード146cを登録する配布サーバ130の名前とその中の格納場所を入力すると、前記登録要求送信処理部303は、前記モバイルコード146cと、その格納場所などを含んだ登録要求305を作成し、指定された配布サーバ130に、前記登録要求305を送信し(ステップ1208)、処理を終了する。なお、前記モバイルコード146cを前記配布サーバ130に登録した場合に、前記作成者に対してその旨を通知してもよい。これにより、前記作成者は前記モバイルコード146cが確かに作成されたことを知ることができるという効果がある。
次に、配布サーバ130の動作について説明する。
第13図は、検証サーバ120でソースコードの機能を検証し、当該ソースコードから作成した当該モバイルコード146cを配布サーバ130に登録する場合の、配布サーバ130の動作フローを示した図である。
まず、ステップ1301において、前記登録要求受信処理部311が、前記検証サーバ120から前記登録要求305を待ち受ける。前記登録要求305を受信する(ステップ1302)と、前記登録要求受信処理部311は、前記登録要求305に含まれるモバイルコード146cを、指定された格納場所に格納し(ステップ1303)、前記検証サーバ120から前記モバイルコード146cを受信したという情報を、前記表示部132に表示する(ステップ1304)。その後、ステップ1301に遷移し、再び、前記検証サーバ120から前記登録要求305を待ち受ける。
次に、ユーザー端末140が、配布サーバ130からモバイルコード146cを含む上記配布データを受け取り、当該モバイルコード146cを実行する際の、ユーザー端末140および配布サーバ130の機能ブロック構成および動作について説明する。
第4図は、ユーザー端末140が、配布サーバ130からモバイルコード146cを含む上記配布データを受け取る際の、ユーザー端末140および配布サーバ130の機能ブロック構成を示す図である。ここで、ユーザー端末140の各機能ブロックは、ユーザー端末140のCPU145がメモリ146に格納された各プログラムをOSを介して実行することで実現される。また、配布サーバ130の各機能ブロックは、配布サーバ130のCPU135がメモリ136に格納された各プログラムをOSを介して実行することで実現される。
まず、ユーザー端末140の機能ブロック構成について説明する。
ユーザー端末140は、第4図に示すように、前記ユーザー端末140の使用者(以下、単にユーザーとも称する)の指示を受け付ける入力部143と、前記入力部143に入力されたデータや、配布サーバ130から送られてきたデータなどを表示する表示部142と、前記入力部143に入力された前記ユーザーの指示にしたがい、配布サーバ130に対してモバイルコード146cの配送要求417を送信する、要求送信処理部411と、前記配布サーバ130からモバイルコード146cを受信するモバイルコード受信処理部412と、前記モバイルコード146cに付加された署名を検証する署名検証処理部413と、前記モバイルコード146cの機能を確認する機能確認処理部414と、前記モバイルコード146cを実行するモバイルコード実行処理部415と、を有する。
次に、配布サーバ130の機能ブロック構成について説明する。
配布サーバ130は、第4図に示すように、ユーザー端末140から前記配送要求417を受け付ける要求受信処理部401と、当該配送要求417にしたがい、モバイルコード146cを含む上記配布データを前記ユーザー端末140に送信するモバイルコード送信処理部402と、を有する。
次に、ユーザー端末140の動作について説明する。
第14図は、ユーザー端末140が、配布サーバ130からモバイルコード146cを含む上記配布データを受け取り、当該モバイルコード146cを実行する際の、ユーザー端末140の動作フローを示した図である。
まず、前記モバイルコード146cの名前や格納場所を示す情報(ファイル名やディレクトリ名など)を用いて、前記配布サーバ130に置かれているモバイルコード146cなどのダウンロードが指示される(ステップ1401)と、要求送信処理部411は、前記配布サーバ130に、前記モバイルコード146cの配送要求417を送信する(ステップ1402)。前記モバイルコード146cの名前や格納場所を示す情報としては、例えば、本実施形態のように、Browserプログラムを利用してデータを受信する場合には、配布データの名前や格納場所を示す情報として、配布サーバ130のアドレスとファイル名とを連結した、いわゆるUniform Resource Locators(URLs)を用いる。
次に、ステップ1403において、前記モバイルコード受信処理部412が、前記配布サーバ130からの配付データを待ち受け、前記配布サーバ130から、前記モバイルコード146cなどを受け取ると、前記署名検証処理部413に処理を移す。ステップ1404において、前記署名検証処理部413は、前記モバイルコード146cに付加されている、前記検証者の署名を検証する上記ダウンロードの指示方法として、
(1)前記ユーザがURLを明示的に指定する
(2)閲覧中のHTMLファイルにモバイルコードのURLが指定されていて、Browserプログラム146bが自動的にダウンロード指示を出す
がある。また、
(3)配布サーバ130がPUSH技術を用いて、モバイルコード146cを送付してくる場合もある
が、このとき、ステップ1401、1402は省略される。
ここで、前記モバイルコード146cの完全性(前記検証サーバ120が当該モバイルコード146cを作成した時点から当該モバイルコード146cに対して改ざんがなされていない)が確認できなかった場合や、前記検証者を信頼することができないと判断した場合には、その旨を表示部142に表示した後(ステップ1412)、ステップ1413に移行し、処理を終了する。なお、検証者を信頼することができるか否かを判断する方法については、従来の署名付きコードにおいて、その署名者を信頼できるか否かを判断する方法と同じであり、詳細な説明は省略する。
一方、ステップ1405において、前記モバイルコード146cの完全性が確認され、かつ、前記検証者を信頼することができると判断した場合には、前記機能確認処理部414に処理を移す。前記機能確認処理部414は、前記モバイルコード146cから、当該モバイルコード146cの機能仕様500を取り出し(ステップ1406)、記憶装置144の機能仕様管理ファイル416に記録された、第9図に示すようなテーブルに同じ機能仕様500が登録されているか否かを確認する(ステップ1407)。
なお、機能仕様管理ファイル416は、機能仕様500が、その実行が許可される度に順次登録された、あるいは、信頼できる、第3者やシステムの管理者によって、あらかじめ配布された、実行が許可された実績のある(すなわち安全な)機能仕様を格納したファイルである。第9図は、安全な機能仕様500が、順番に番号が付けられて前記機能仕様管理ファイル416に登録されている例を示している。
ここで、前記機能仕様管理ファイル416に同じ機能仕様500が登録されている場合には、ステップ1411に移行し、前記モバイルコード実行処理部415に処理を移す。
一方、同じ機能仕様500が前記機能仕様管理ファイル416に登録されていなかった場合には、ステップ1408で、表示部142に、実行確認画面800を表示し、当該モバイルコード146cを実行するか否かの指示を前記ユーザーに求める。
第8図は、前記実行確認画面800の一例である。この例では、現在実行しようとしているモバイルコード146cが「/etc/passwd」というファイルからデータを読み込んだり(811)、読み込んだデータをwww.foo.co.jpというコンピュータに転送する(813)などの情報が表示されている。
また、第20図は、前記実行確認画面800の他の一例である。この例では、現在実行しようとしているモバイルコード146cが「/etc/passwd」というファイルに読み込み(2011)や書き込み(2014)を行ったり、「/bin/rm」というプログラムを実行(2015)したりするなどの情報が表示されている。
いずれの場合も、前記ユーザーは、画面に表示された情報により、現在実行しようとしている前記モバイルコード146cの機能を確認し、当該モバイルコード146cの実行を許可するか否かを選択する。
ここで、前記ユーザーが、実行ボタン820を押すなど、入力部142から、前記モバイルコード146cを実行するという指示を入力した場合には、前記機能確認処理部414は、前記機能仕様管理ファイル416に、前記モバイルコード146cの機能仕様500を新規に追加し(ステップ1410)、ステップ1411に移行して、前記モバイルコード実行処理部415に処理を移行する。
一方、前記ユーザーが拒否ボタン830を押すなど、入力部142から、前記モバイルコード146cの実行を認めないという指示を入力した場合には、ステップ1413に移行する。
ステップ1411では、モバイルコード実行処理部414が前記モバイルコード146cを実行する。なお、本実施例におけるモバイルコード146cの実行とは、当該モバイルコードに含まれる実行コードの実行を意味する。
次に、配布サーバ130の動作について説明する。
第15図は、ユーザー端末140が、配布サーバ130からモバイルコード146cを含む上記配布データを受け取り、当該モバイルコード146cを実行する際の、配布サーバ130の動作フローを示した図である。
まず、ステップ1501で、前記要求受信処理部401が、前記ユーザー端末140から配送要求417を待ち受け、前記ユーザー端末140から配送要求417を受信すると、前記モバイルコード送信処理部402に処理を移す。前記モバイルコード送信処理部402は、当該配送要求417に応じた前記モバイルコード146cを、必要に応じてマルチメディアファイルなどを添付して、前記ユーザー端末140に送信する(ステップ1503)。その後、ステップ1501に戻って、再び、前記ユーザー端末140から配送要求417を待ち受ける。
以上述べたように、本実施例では、モバイルコード146cには、検証サーバ120によって作成された、当該モバイルコード146cの持つ機能を記述した機能仕様500が含まれている。ユーザー端末140が、配布サーバ130からモバイルコード146cを受信した場合、前記モバイルコード146cを実行する前に、当該モバイルコード146cから取り出した前記機能仕様500を、それが実行許可されたものでない場合でも、前記ユーザーに提示し、当該モバイルコード146cを実行するか否かを選択させる。このため、前記ユーザー端末140は、モバイルコード146cの持つ機能に基づいて、当該モバイルコード146cを実行するか否かを決定することができる。
次に、本発明の他の実施形態として、機能仕様500を検証サーバ120で集中管理する実施形態について説明する。
本実施形態では、モバイルコード146cには、当該モバイルコード146cの実行コード以外に、当該モバイルコード146cを他と区別するためのモバイルコード識別子や、前記検証者の署名(本実施形態でも署名を検証するために必要なすべてのデータをまとめて署名と記述する)や、モバイルコード自身が使用するデータやファイルが含まれており、モバイルコード146c自体の完全性の確認に利用可能である。
なお、機能仕様500を検証サーバ120で集中管理する実施形態のシステムの機器概略構成、およびハードウェア構成は、前述の、モバイルコード146cに機能仕様500が含まれる実施形態と同じであり、その詳細な説明は省略する。
同様に、前記作成者が作成端末110で前記ソースコードを作成する場合の、前記作成端末110の機能ブロック構成、および動作については、従来のモバイルコードシステムと同じであり、その詳細な説明は省略する。
同様に、作成端末110が、モバイルコード146cの機能検証を、検証サーバ120に依頼する場合の、前記作成端末110、および前記検証サーバ120の機能ブロック構成、および動作については、前述の、モバイルコード146cに機能仕様500が含まれる実施形態と同じであり、その詳細な説明は省略する。
また、検証サーバ120でモバイルコード146cの機能検証を行い、配布サーバ130に登録する場合の、前記検証サーバ120、および前記配布サーバ130の機能ブロック構成、および動作については、第12図のステップ1206においてモバイルコード146cを作成する際に、機能仕様500の代わりに当該機能仕様500と対応づけて作成したモバイルコード識別子を用いる以外は、前述の、モバイルコード146cに機能仕様500が含まれる実施形態と同じであり、その詳細な説明は省略する。
まず、本実施例において、ユーザー端末140が、配布サーバ130からモバイルコード146cを含む上記配布データを受け取り、当該モバイルコード146cを実行する際の、検証サーバ120、ユーザー端末140、および配布サーバ130の機能ブロック構成および動作について説明する。
第16図は、本実施例において、ユーザー端末140が、配布サーバ130からモバイルコード146cを含む上記配布データを受け取り、当該モバイルコード146cを実行する際の、検証サーバ120、配布サーバ130、およびユーザー端末140の機能ブロック構成を示した図である。
検証サーバ120は、第16図に示すように、ユーザー端末140から機能仕様要求418を受信し、当該ユーザー端末140に要求された機能仕様500を送信する、機能仕様送信処理部1621を有している。
なお、第16図において、ユーザー端末140、および配布サーバ130の機能ブロック構成は、第4図に示したものと同じであり、その詳細な説明は省略する。ただし、本実施例では、ユーザー端末140の機能確認処理部414は、前記検証サーバ120に機能仕様要求418を送信し、前記検証サーバ120から機能仕様500を受信するという処理も行う。
次に、ユーザー端末140の動作について説明する。
第17図は、ユーザー端末140が、配布サーバ130からモバイルコード146cを含む上記配布データを受け取り、当該モバイルコード146cを実行する際の、ユーザー端末140の動作フローを示した図である。
この図において、ステップ1401からステップ1405とステップ1407からステップ1412までは第14図と同じであり、説明を省略する。
ステップ1405の判断結果により、前記機能確認処理部414に処理が移ると、
前記機能確認処理部414は、前記モバイルコード146cから、モバイルコード識別子を取り出し、当該モバイルコード識別子を含む、機能仕様要求418を前記配布サーバ120に送信する(ステップ1701)。ステップ1702で、前記配布サーバ120から前記モバイルコード識別子に対応する機能仕様500を受信すると、あらかじめ記憶装置144の機能仕様管理ファイル416に記憶された、第9図に示したようなテーブルに同じ機能仕様500が登録されているか否かを確認する(ステップ1407)。
以下のステップの動作は、第14図と同じなので、説明を省略する。
次に、検証サーバ120の動作について説明する。
第18図は、ユーザー端末140が、配布サーバ130からモバイルコード146cを含む上記配布データを受け取り、当該モバイルコード146cを実行する際の、前記検証サーバ120の動作フローを示した図である。
まず、仕様送信処理部1621は、ステップ1801で、前記ユーザー端末140から前記機能仕様要求418を待ち受ける。前記機能仕様要求418を受信した場合には、前記機能仕様要求418に含まれているモバイルコード識別子を取り出し(ステップ1803)、機能仕様登録ファイル304から、当該モバイルコード識別子に対応する機能仕様500を検索する(ステップ1804)。前記機能仕様500を、前記ユーザー端末140に送信し(ステップ1805)、ステップ1801に戻り、再度、前記ユーザー端末140から前記機能仕様要求418を待ち受ける。
なお、配布サーバ130の動作については、前述の、モバイルコード146cに機能仕様500が含まれる実施形態と同じであり、その詳細な説明は省略する。
以上述べたように、本実施例では、検証サーバ120が、ソースコードの機能を検証した際に作成した、機能仕様500と前記モバイルコード146cを一意に特定するためのモバイルコード識別子との組を管理している。かつ、モバイルコード146cには、前記モバイルコード識別子が含まれており、ユーザー端末140が、配布サーバ130からモバイルコード146cを受信した場合、まず、モバイルコード146cから取り出したモバイルコード識別子を検証サーバ120に送信する。モバイルコード識別子を受信した検証サーバ120では、モバイルコード識別子に対応する機能仕様500を検索し、前記ユーザー端末140に返信する。前記機能仕様500を受信した前記ユーザー端末140は、当該機能仕様500が許可済みの機能仕様でなければ、それを前記ユーザーに提示し、当該モバイルコード146cを実行するか否かを選択させる。このため、前記ユーザー端末140は、モバイルコード146cの持つ機能に基づいて、当該モバイルコード146cを実行するか否かを決定することができる。
なお、以上の各実施例において、各プログラムが行う、種々の「要求」、「依頼」を含む通信は、周知のプログラム(あるいは、モジュール、プロセス)間の通信技術(たとえば、”ソケット”が知られている)を使用することで実現できるものである。
また、各プログラムが行う送受信は、各計算機ハードウェアのOSと、通信網インタフェースと、通信網を介して行われるものである。
また、各表示装置への表示や入力装置からの入力は、それぞれ、表示部や入力部のプログラムが、OSを介して、あるいは、直接に行うものである。
なお、本発明は、上記の実施形態に限定されるものではなく、その要旨の範囲内で様々な変形が可能である。
たとえば、上記の実施形態では、検証サーバ120と、配布サーバ130と、は異なる計算機ハードウェア上に構成しているが、本発明はこれに限定されない。すなわち、検証サーバ120と、配布サーバ130と、を同じ計算機ハードウェア上に構成してもよい。同様に、作成端末110と、検証サーバ120と、を同じ計算機ハードウェア上に構成してもよい。同様に、作成端末110と、配布サーバ130と、を同じ計算機ハードウェア上に構成してもよい。さらには、作成端末110と、検証サーバ120と、配布サーバ130と、を同じ計算機ハードウェア上に構成してもよい。これらの場合、各サーバ、端末の機能を実現するプログラムは、同じ計算機ハードウェア上で、OSにより互いに独立したプログラム(プロセス)として、その動作が管理されることになる。
また、検証サーバ120は、作成した前記モバイルコード146cを作成端末110に送信し、作成端末110が配布サーバ130に登録するようにしてもよい。このようにすることで、作成者はモバイルコード146cを登録する配布サーバ130を選択することができる。
また、作成端末110は、前記ソースコードを配布サーバ130に登録し、配布サーバ130が、検証サーバ120にモバイルコード146cの機能検証を依頼するようにしてもよい。このようにすることで、配布者は自らが信頼する検証者に機能検証を依頼することができる。
また、前記作成端末110において、作成者が前記機能仕様500を作成し、前記ソースコードと共に当該機能仕様500を、検証サーバ120に送信するようにしてもよい。このようにすることで、検証者は、前記機能仕様500が不正な動作をするものでないことと、前記ソースコードが当該機能仕様500の通りに実装されたものであることと、を確認することによって、モバイルコード146cが不正な動作を行うものでないことを保証することができる。検証者サーバ120に機能仕様500を作成する機能は不要となる。
また、検証者に機能を確認させる前に、不正な処理を行うモバイルコード146cの機能仕様500の特徴を、リストにまとめ、検証サーバ120の記憶装置124に保存しておいてもよい。そして検証対象となっているソースコードから作成する機能仕様500が、前記リストに該当する特徴を持つか否かを確認することによって、当該モバイルコード146cが不正な処理を行うか否かを確認する処理を組み込んでもよい。このようにすることで、既知の不正処理手法を用いた、前記リストに該当するモバイルコード146cについては、検証者が機能検証を行う手間を省くことができるので、効率がよくなる。
また、前記作成端末110は、検証サーバ120に対し、前記モバイルコード146cの実行コードと機能仕様を送信するようにしてもよい。この場合、第12図においてステップ1202が不要となる。またステップ1201の「ソースコード指定」が「実行コード指定」に、ステップ1209の「ソースコード破棄」が「実行コード破棄」に変更される。さらに、ステップ1206において、ソースコードから実行コードをコンパイルする機能を不要とすることができる。
また、上記の実施形態では、作成端末110と、検証サーバ120と、配布サーバ130と、ユーザー端末140と、の間で、通信網100を介してやり取りされる情報の機密性や完全性の確保について特別な手段を用いていないが、本発明は、様々な暗号手段や認証手段を併用することを妨げるものではない。通信網100を流れる情報に対して、暗号手段や認証手段を適用することにより、システム全体の安全性をさらに高めることができる。
また、上記の実施形態では、前記ユーザーが実行を許可したモバイルコード146cは、他のプログラムを自由に起動するなど、ユーザー端末110のあらゆるリソースを使用することができると仮定している。しかし、たとえば、モバイルコード146cが他のプログラムに各種サービスを要求する場合には、Browserプログラム146b、またはOS146aが、機能仕様500を前記他のプログラムに渡すようにし、前記機能仕様500を渡されたプログラムは、モバイルコード146cからの要求を実行するか否かを、当該機能仕様500に基づいて判断するようにしてもよい。
また、上記の実施形態では、作成端末110と検証サーバ120との間のデータのやり取りは、通信網100を介して行うようにしているが、本発明はこれに限定されない。作成端末110で作成した前記ソースコードをフロッピーディスクなどの記憶媒体に記録し、前記検証者に渡すようにしてもよい。同様に、検証サーバ120と配布サーバ130との間のデータのやり取りも、モバイルコード146cを記憶媒体に記録し、前記配布者に渡すようにしてもよい。
産業上の利用可能性
以上説明したように、本発明によれば、モバイルコードが持っている機能に基づいて、当該モバイルコードを実行するか否かを決定することができるのでより安全である。
【図面の簡単な説明】
第1図は、本発明の一実施形態が適用されたモバイルコード配布システムの機器概略構成、及びハードウェア構成を示す図であり、第2図は、本発明の一実施形態が適用されたシステムにおいて、モバイルコードの機能検証依頼処理に関係した、作成端末および検証サーバの機能ブロック構成を示す図であり、第3図は、本発明の一実施形態が適用されたシステムにおいて、モバイルコードの機能検証処理および登録処理に関係する、検証サーバおよび配布サーバの機能ブロック構成を示す図であり、第4図は、本発明の一実施形態が適用されたシステムにおいて、モバイルコードの実行処理に関係する、配布サーバおよびユーザー端末の機能ブロック構成を示す図であり、第5図は、第3図において、検証サーバが作成する機能仕様の一例を示す図であり、第6図は、第3図において、検証サーバが検証者に対して表示する機能仕様確認画面の画面の一例であり、第7図は、第3図において、検証サーバが検証者に対して表示する機能仕様編集画面の画面の一例であり、第8図は、第4図において、ユーザー端末がユーザーに対して表示する実行確認画面の一例であり、第9図は、第4図に示す機能仕様管理ファイルに格納されている情報の一例を説明するための図であり、第10図は、本発明の一実施形態が適用されたシステムにおいて、モバイルコードの機能検証依頼処理に関係する、作成端末の動作を説明するためのフロー図であり、第11図は、本発明の一実施形態が適用されたシステムにおいて、モバイルコードの機能検証依頼処理に関係する、検証サーバの動作を説明するためのフロー図であり、第12図は、本発明の一実施形態が適用されたシステムにおいて、モバイルコードの機能検証処理に関係する、検証サーバの動作を説明するためのフロー図であり、第13図は、本発明の一実施形態が適用されたシステムにおいて、モバイルコードの登録に関係する、配布サーバの動作を説明するためのフロー図であり、第14図は、本発明の一実施形態が適用されたシステムにおいて、モバイルコードの実行に関係する、配布サーバの動作を説明するためのフロー図であり、第15図は、本発明の一実施形態が適用されたシステムにおいて、モバイルコードの実行に関係する、ユーザー端末の動作を説明するためのフロー図であり、第16図は、本発明の他の実施形態が適用されたシステムにおいて、モバイルコードの実行に関係する、検証サーバ、配布サーバおよびユーザー端末の機能ブロック構成を示す図であり、第17図は、本発明の他の実施形態が適用されたシステムにおいて、モバイルコードの実行に関係する、ユーザー端末の動作を説明するためのフロー図であり、第18図は、本発明の他の実施形態が適用されたシステムにおいて、モバイルコードの実行に関係する、検証サーバの動作を説明するためのフロー図であり、第19図は、従来のモバイルコードにおけるセキュリティ機能を説明するためのフロー図であり、第20図は、第4図において、ユーザー端末がユーザーに対して表示する実行確認画面の一例である。

Claims (15)

  1. モバイルコードの実行装置であって、
    他の装置からモバイルコードを取得する、モバイルコード取得手段と、
    前記取得した前記モバイルコードに付加されている署名を検証する、署名検証手段と、
    前記署名検証手段によって、当該モバイルコードの署名の検証に成功した場合に、当該モバイルコードの持つ機能を記述した機能仕様を取得する機能仕様取得手段と、
    前記取得した前記機能仕様によって、前記モバイルコードの持つ機能を確認し、当該モバイルコードの実行を許可するか否かを判断する、機能確認手段と、
    前記機能確認手段によって、前記モバイルコードの実行が許可された場合に、前記モバイルコードを実行するモバイルコード実行手段を備えた
    ことを特徴とするモバイルコードの実行装置。
  2. 請求項1記載のモバイルコードの実行装置であって、
    前記機能確認手段は、前記機能仕様をユーザーに提示し、前記ユーザーが当該機能仕様を持つモバイルコードの実行を許可すると判断した場合に、前記モバイルコードの実行を許可すると判断する手段を備え
    ことを特徴とするモバイルコードの実行装置
  3. 請求項1記載のモバイルコードの実行装置であって、
    実行を許可する機能仕様を格納した、機能仕様管理ファイルを備え、
    前記機能確認手段は、前記機能仕様が、前記機能仕様管理ファイルに登録されている場合に、前記モバイルコードの実行を許可すると判断する手段を含む
    ことを特徴とするモバイルコードの実行装置
  4. 請求項3記載のモバイルコードの実行装置であって、
    前記機能確認手段は、前記モバイルコードの実行を許可すると判断した場合に、前記機能仕様管理ファイルに前記機能仕様を追加する手段を備え
    ことを特徴とするモバイルコードの実行装置
  5. 請求項1ないし4いずれか一に記載のモバイルコードの実行装置であって、
    前記モバイルコードは、当該モバイルコードの実行コードと、前記署名と、前記機能仕様と、を含み、
    前記機能仕様取得手段は、前記モバイルコードから前記機能仕様を取り出す手段をさらに含む
    ことを特徴とするモバイルコードの実行装置
  6. 請求項1ないし4いずれか一に記載のモバイルコードの実行装置であって、
    前記モバイルコードは、当該モバイルコードの実行コードと、前記署名と、当該モバイルコードを識別する、モバイルコード識別子と、を含み、
    前記機能仕様取得手段は、前記モバイルコード識別子に対応する機能仕様を、前記ユーザーが信頼する第三者機関装置が備える、前記モバイルコード識別子と当該モバイルコード識別子に対応する前記機能仕様とが組として保管された機能仕様登録ファイルから取得する
    ことを特徴とするモバイルコードの実行装置
  7. 請求項5または6に記載のモバイルコードの実行装置であって、
    前記署名は前記第三者機関装置が作成する
    ことを特徴とするモバイルコードの実行装置
  8. モバイルコードのソースコードを作成する、ソースコード作成端末と、
    ソースコードの機能を検証する、機能検証サーバと、
    モバイルコードを配布する、モバイルコード配布サーバと、
    モバイルコードを実行する、ユーザー端末と、からなるモバイルコードシステムであって、
    前記ソースコード作成端末は、
    モバイルコードのソースコードを作成するソースコード作成手段と、
    前記モバイルコードのソースコードを前記機能検証サーバに送信するソースコード送信手段と、
    を備え、
    前記機能検証サーバは、
    送信された前記モバイルコードのソースコードから当該モバイルコードの持つ機能を記述した機能仕様を作成し、当該モバイルコードが不正な処理を行うものでないかを検証する機能検証手段と、
    前記機能検証手段が前記モバイルコードは不正な処理を行うものではないと判断した場合に、前記ソースコードから前記モバイルコードを作成するモバイルコード作成手段と、
    前記モバイルコード配布サーバに対して、前記モバイルコード作成手段によって作成された、前記モバイルコードの登録を要求する登録要求手段と、
    を備え、
    前記モバイルコード配布サーバは、
    前記登録を要求された前記モバイルコードを格納し、保管するモバイルコード保管手段と、
    前記ユーザー端末から配送を要求された、前記モバイルコード保管手段が保管している前記モバイルコードを、前記ユーザー端末に送信するモバイルコード送信手段と、
    を備え、
    前記ユーザー端末は、
    前記モバイルコード配布サーバに対して、モバイルコードの配送を要求する配送要求送信手段と、
    配送されたモバイルコードに付加されている電子的な署名を検証する署名検証手段と、
    前記署名検証手段が署名の検証に成功した場合、前記機能検証サーバの機能検証手段が作成した前記機能仕様を取得し、当該機能仕様によって前記モバイルコードの持つ機能を確認し、当該モバイルコードの実行を許可するか否かを判断する機能確認手段と、
    前記機能確認手段が前記モバイルコードの実行を許可すると判断した場合に、前記モバイルコードを実行するモバイルコード実行手段と、
    備える
    ことを特徴とするモバイルコードシステム。
  9. 請求項記載のモバイルコードシステムであって、
    前記ユーザー端末の前記機能確認手段は、
    前記機能仕様をユーザーに提示し、前記ユーザーが当該機能仕様を持つモバイルコードの実行を許可すると判断した場合に、前記モバイルコードの実行を許可すると判断する手段を備える
    ことを特徴とするモバイルコードシステム。
  10. 請求項8または9記載のモバイルコードシステムであって、
    前記ユーザー端末は、実行を許可する機能仕様を格納した、機能仕様管理ファイルを備え、
    前記ユーザー端末の前記機能確認手段は、前記機能仕様が、前記機能仕様管理ファイルに予め登録されている場合に、前記モバイルコードの実行を許可すると判断する手段を備える
    ことを特徴とするモバイルコードシステム。
  11. 請求項8または9記載のモバイルコードシステムであって、
    前記ユーザー端末の前記機能確認手段は、
    前記モバイルコードの実行を許可すると判断した場合に、前記機能仕様管理ファイルに前記機能仕様を追加する手段を備える
    ことを特徴とするモバイルコードシステム。
  12. 請求項8ないし11いずれか一に記載のモバイルコードシステムであって、
    前記モバイルコードは、当該モバイルコードの実行コードと、前記署名と、前記機能仕様と、を含み、
    前記ユーザー端末の前記機能確認手段は、前記モバイルコードから前記機能仕様を取得する手段を備える
    ことを特徴とするモバイルコードシステム。
  13. 請求項10または11に記載のモバイルコードシステムであって、
    前記モバイルコードは、当該モバイルコードの実行コードと、前記署名と、当該モバイルコードを識別する、モバイルコード識別子と、を含み、
    前記ユーザー端末の前記機能確認手段は、前記モバイルコード識別子に対応する機能仕様を、前記機能検証サーバが備える機能仕様登録ファイルから取得する手段を備える
    ことを特徴とするモバイルコードシステム。
  14. 請求項13記載のモバイルコードシステムであって、
    前記ユーザー端末の前記機能仕様を取得する手段は、前記機能検証サーバに前記モバイルコード識別子を送信する手段を備え、
    前記機能検証サーバは、
    前記機能仕様登録ファイルとして、前記モバイルコード識別子と当該モバイルコード識別子に対応する前記機能仕様との組を保管する機能仕様保管手段と、
    前記ユーザー端末から受信したモバイルコード識別子に対応する機能仕様を前記機能仕様登録ファイルから検索する手段と、
    検索した前記機能仕様を、前記ユーザー端末に送信する機能仕様送信手段と、を備える
    ことを特徴とするモバイルコードシステム。
  15. 請求項8ないし14いずれか一に記載のモバイルコードシステムであって、
    前記機能検証サーバは、前記署名を生成し、付加する手段を備える
    ことを特徴とするモバイルコードシステム。
JP2000594008A 1999-01-13 1999-01-13 モバイルコードの実行方法およびそのシステム Expired - Fee Related JP3873624B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1999/000084 WO2000042498A1 (fr) 1999-01-13 1999-01-13 Procede et systeme permettant d'executer un code mobile

Publications (1)

Publication Number Publication Date
JP3873624B2 true JP3873624B2 (ja) 2007-01-24

Family

ID=14234701

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000594008A Expired - Fee Related JP3873624B2 (ja) 1999-01-13 1999-01-13 モバイルコードの実行方法およびそのシステム

Country Status (3)

Country Link
JP (1) JP3873624B2 (ja)
AU (1) AU1889699A (ja)
WO (1) WO2000042498A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR0202291A (pt) 2001-01-31 2003-06-10 Ntt Docomo Inc Aperfeiçoamento introduzido em método e aparado para a entrega de um programa para o módulo de armazenagem de um terminal móvel
CA2414246C (en) * 2001-05-14 2014-01-28 Ntt Docomo, Inc. System for managing program stored in storage block of mobile terminal
JP2003202929A (ja) 2002-01-08 2003-07-18 Ntt Docomo Inc 配信方法および配信システム
ES2461241T3 (es) 2002-04-03 2014-05-19 Ntt Docomo, Inc. Método de transmisión, sistema de transmisión y unidad de terminal
JP4176533B2 (ja) 2003-03-31 2008-11-05 株式会社エヌ・ティ・ティ・ドコモ 端末装置及びプログラム
EP1530392A1 (fr) * 2003-11-04 2005-05-11 Nagracard S.A. Méthode de gestion de la sécurité d'applications avec un module de sécurité
JP4164036B2 (ja) * 2004-02-05 2008-10-08 トレンドマイクロ株式会社 ネットワークを介して提供されるプログラムに対する受信装置上でのセキュリティの確保
JP2010092376A (ja) * 2008-10-10 2010-04-22 Softbank Mobile Corp 情報処理装置、情報処理方法及び情報処理プログラム
JP2012008732A (ja) * 2010-06-23 2012-01-12 Kddi Corp インストール制御装置およびプログラム
KR101839607B1 (ko) * 2011-08-02 2018-03-22 주식회사 케이티 단말 보안을 수행하는 사용자 단말 및 서비스 서버 장치
US9819661B2 (en) * 2013-09-12 2017-11-14 The Boeing Company Method of authorizing an operation to be performed on a targeted computing device
CN110321144A (zh) * 2019-06-27 2019-10-11 深圳前海微众银行股份有限公司 下线源代码的识别方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09231068A (ja) * 1995-10-26 1997-09-05 Sun Microsyst Inc 動的にリンクされた実行可能モジュールの使用を保護するシステム及び方法
JPH1069382A (ja) * 1995-12-08 1998-03-10 Sun Microsyst Inc アーキテクチャ中立プログラムの信頼された、アーキテクチャ特定の、コンパイルされたバージョンを生成するシステム及び方法
JPH1083310A (ja) * 1996-06-11 1998-03-31 Internatl Business Mach Corp <Ibm> プログラム・コードの配布方法及びシステム
JPH1091427A (ja) * 1996-06-11 1998-04-10 Internatl Business Mach Corp <Ibm> 署名入り内容の使用の安全を保証する方法及びシステム
JPH10254783A (ja) * 1997-01-09 1998-09-25 Sun Microsyst Inc システムリソースへのソフトウェアアクセスを制御する方法及び装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09231068A (ja) * 1995-10-26 1997-09-05 Sun Microsyst Inc 動的にリンクされた実行可能モジュールの使用を保護するシステム及び方法
JPH1069382A (ja) * 1995-12-08 1998-03-10 Sun Microsyst Inc アーキテクチャ中立プログラムの信頼された、アーキテクチャ特定の、コンパイルされたバージョンを生成するシステム及び方法
JPH1083310A (ja) * 1996-06-11 1998-03-31 Internatl Business Mach Corp <Ibm> プログラム・コードの配布方法及びシステム
JPH1091427A (ja) * 1996-06-11 1998-04-10 Internatl Business Mach Corp <Ibm> 署名入り内容の使用の安全を保証する方法及びシステム
JPH10254783A (ja) * 1997-01-09 1998-09-25 Sun Microsyst Inc システムリソースへのソフトウェアアクセスを制御する方法及び装置

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
GONG LI,ET AL: "Signing,Sealing and Guarding Java Objects", LECTURE NOTES IN COMPUTER SCIENCE, vol. 1419, JPN4006011940, 1998, pages 206 - 216, ISSN: 0000752584 *
GONG LI,ET AL: "Signing,Sealing and Guarding Java Objects", LECTURE NOTES IN COMPUTER SCIENCE, vol. 1419, JPNX006045158, 1998, pages 206 - 216, ISSN: 0000777004 *
児島、丸山: "Javaのコード署名モデルに関する議論", 第1回インターネットテクノロジーワークショップ(WIT'98)論文集, JPN4006011942, August 1998 (1998-08-01), ISSN: 0000752586 *
児島、丸山: "Javaのコード署名モデルに関する議論", 第1回インターネットテクノロジーワークショップ(WIT'98)論文集, JPNX006045160, August 1998 (1998-08-01), ISSN: 0000777006 *
多胡滋: "JDK1.2のセキュリティ機構を身につける", 月刊ジャバワールド, vol. 第2巻、第11号, JPN4006011941, November 1998 (1998-11-01), pages 54 - 65, ISSN: 0000752585 *
多胡滋: "JDK1.2のセキュリティ機構を身につける", 月刊ジャバワールド, vol. 第2巻、第11号, JPNX006045159, November 1998 (1998-11-01), pages 54 - 65, ISSN: 0000777005 *

Also Published As

Publication number Publication date
AU1889699A (en) 2000-08-01
WO2000042498A1 (fr) 2000-07-20

Similar Documents

Publication Publication Date Title
EP1645971B1 (en) Database access control method, database access controller, agent processing server, database access control program, and medium recording the program
JP4301482B2 (ja) サーバ、情報処理装置及びそのアクセス制御システム並びにその方法
US8417964B2 (en) Software module management device and program
US9842230B1 (en) System and method for automatically detecting and then self-repairing corrupt, modified or non-existent files via a communication medium
JP4551369B2 (ja) サービスシステムおよびサービスシステム制御方法
JP3966487B2 (ja) オブジェクトのリダイレクト管理方法及びアプレットの通信を可能とする方法
KR100955172B1 (ko) 디지털 컨텐츠 액세스 제어를 위한 시스템
US9608966B2 (en) Information handling device, information output device, and recording medium
JPH11143840A (ja) 分散オブジェクトシステムおよびその方法
JP5644770B2 (ja) アクセス制御システム、サーバ、およびアクセス制御方法
JP2002082917A (ja) コンテンツ配信方法、コンテンツ配信サーバ及びコンテンツ配信インフラにおけるクライアント端末
JP2006031175A (ja) 情報処理システム、情報処理装置、およびプログラム
JP3873624B2 (ja) モバイルコードの実行方法およびそのシステム
JPH08314863A (ja) コンピュータネットワークにおけるセキュリティ方式
KR20020003861A (ko) 등록장치 및 방법, 정보처리장치 및 방법, 제공장치 및방법 그리고 프로그램격납매체
JP5687455B2 (ja) サーバ、端末、プログラムおよびサービス提供方法
JP2004021686A (ja) 認証処理システム、認証処理装置、プログラム及び認証処理方法
KR102464011B1 (ko) 자동 로그인 지원 서버 및 그 방법
US20080022004A1 (en) Method And System For Providing Resources By Using Virtual Path
JP2001202332A (ja) 認証プログラム管理システム
JP3914152B2 (ja) 認証サーバ、認証システムおよび認証プログラム
JP6435678B2 (ja) 情報処理装置、管理装置、プログラム及びシステム
JP2006040146A (ja) ファイル実行システムとその方法
JP2003091420A (ja) 更新用プログラム、装置プログラム及びプログラム更新支援方法
US8875300B1 (en) Method and apparatus for authenticating a request between tasks in an operating system

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060711

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060901

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: 20061003

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061016

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

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111102

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121102

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121102

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131102

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees