(57)【要約】【課題】ダウンロードしたプログラムの不正な使用を防止することのできるライセンス管理システムを提供する。【解決手段】Ｊａｖａアプレット３０がＷｅｂサーバ２０からクライアント端末１０にダウンロードされるシステムであって、Ｗｅｂサーバ２０のホスト名を暗号化用のキーに使用して、Ｊａｖａアプレット３０に関する所定の製品情報を暗号化したライセンスファイル２３を生成するライセンス生成装置２４を有する。クライアント端末１０は、ダウンロードされたＪａｖａアプレット３０に従って、ライセンスファイル２３および上記ホスト名をＷｅｂサーバ２０から取得し、該取得したホスト名を復号化用のキーとして使用してライセンスファイル２３の内容を復号化し、該復号化により得られた製品情報がＪａｖａアプレット３０自身の製品情報と合致した場合にのみ所定の処理を実行する。【選択図】　図１
2004054846.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂサーバとクライアント端末とが相互通信可能に接続され、所定のプログラムが前記Ｗｅｂサーバから前記クライアント端末にダウンロードされるシステムであって、
前記Ｗｅｂサーバは、該Ｗｅｂサーバを特定するための特定情報を暗号化用のキーに使用して、前記所定のプログラムに関する所定の製品情報を暗号化したライセンスファイルを生成するライセンス生成手段を有し、
前記クライアント端末は、前記ダウンロードされた所定のプログラムに従って、前記ライセンス生成手段により生成されたライセンスファイルおよび前記特定情報を前記Ｗｅｂサーバから取得し、該取得した特定情報を復号化用のキーとして使用して前記ライセンスファイルの内容を復号化し、該復号化により得られた製品情報が前記所定のプログラム自身の製品情報と合致した場合にのみ所定の処理を実行する実行手段を有することを特徴とするライセンス管理システム。
【請求項２】
前記ライセンス生成手段は、前記Ｗｅｂサーバ上の、前記クライアント端末からは参照できない場所に格納されていることを特徴とする請求項１に記載のライセンス管理システム。
【請求項３】
前記特定情報は、前記Ｗｅｂサーバを特定するホスト名であることを特徴とする請求項１に記載のライセンス管理システム。
【請求項４】
前記特定情報は、前記Ｗｅｂサーバを特定する複数の異なるホスト名からなり、
前記ライセンス生成手段は、前記複数の異なるホスト名のそれぞれを暗号化用のキーに使用して、前記所定のプログラムに関する所定の製品情報を暗号化したライセンスファイルを生成し、
前記実行手段は、前記ライセンス生成手段により生成されたライセンスファイルおよび前記複数の異なるホスト名を前記Ｗｅｂサーバから取得し、該取得した複数の異なるホスト名をそれぞれ復号化用のキーとして使用して前記ライセンスファイルの内容を復号化し、該復号化により得られた製品情報の少なくとも１が前記所定のプログラム自身の製品情報と合致した場合にのみ所定の処理を実行することを特徴とする請求項１に記載のライセンス管理システム。
【請求項５】
前記所定のプログラムは、ＪａｖａアプレットまたはＡｃｔｉｖｅＸで作成されていることを特徴とする請求項１から４のいずれか１項に記載のライセンス管理システム。
【請求項６】
Ｗｅｂサーバとクライアント端末とが相互通信可能に接続され、所定のプログラムが前記Ｗｅｂサーバから前記クライアント端末にダウンロードされるシステムにおいて行われるライセンス管理方法であって、
前記Ｗｅｂサーバが、該Ｗｅｂサーバを特定するための特定情報を暗号化用のキーに使用して、前記所定のプログラムに関する所定の製品情報を暗号化したライセンスファイルを生成する第１のステップと、
前記クライアント端末が、前記ダウンロードされた所定のプログラムに従って、前記Ｗｅｂサーバから前記ライセンスファイルおよび前記特定情報を取得し、該取得した特定情報を復号化用のキーとして使用して前記ライセンスファイルの内容を復号化し、該復号化により得られた製品情報が前記所定のプログラム自身の製品情報と合致した場合にのみ所定の処理を実行する第２のステップとを有することを特徴とするライセンス管理方法。
【請求項７】
前記特定情報は、前記Ｗｅｂサーバを特定するホスト名であることを特徴とする請求項６に記載のライセンス管理方法。
【請求項８】
前記特定情報は、前記Ｗｅｂサーバを特定する複数の異なるホスト名からなり、
前記第１のステップは、前記複数の異なるホスト名のそれぞれを暗号化用のキーに使用して、前記所定のプログラムに関する所定の製品情報を暗号化したライセンスファイルを生成するステップを含み、
前記第２のステップは、前記ライセンスファイルおよび前記複数の異なるホスト名を前記Ｗｅｂサーバから取得し、該取得した複数の異なるホスト名をそれぞれ復号化用のキーとして使用して前記ライセンスファイルの内容を復号化し、該復号化により得られた製品情報の少なくとも１が前記所定のプログラム自身の製品情報と合致した場合にのみ所定の処理を実行するステップを含むことを特徴とする請求項６に記載のライセンス管理方法。
【請求項９】
前記所定のプログラムは、ＪａｖａアプレットまたはＡｃｔｉｖｅＸで作成されていることを特徴とする請求項６から８のいずれか１項に記載のライセンス管理方法。
【請求項１０】
所定のプログラムを含み、該所定のプログラムがＷｅｂサーバからクライアント端末にダウンロードされるプログラムであって、
前記Ｗｅｂサーバを特定するための特定情報を暗号化用のキーに使用して、前記所定のプログラムに関する所定の製品情報を暗号化したライセンスファイルを生成する第１の処理を、前記Ｗｅｂサーバのコンピュータに実行させ、
ダウンロードされた前記所定のプログラムに従って、前記Ｗｅｂサーバから前記ライセンスファイルおよび前記特定情報を取得し、該取得した特定情報を復号化用のキーとして使用して前記ライセンスファイルの内容を復号化し、該復号化により得られた製品情報が前記所定のプログラム自身の製品情報と合致した場合にのみ所定の処理を実行する第２の処理を、前記クライアント端末のコンピュータに実行させることを特徴とするプログラム。
【請求項１１】
前記特定情報は、前記Ｗｅｂサーバを特定するホスト名であることを特徴とする請求項１０に記載のプログラム。
【請求項１２】
前記特定情報は、前記Ｗｅｂサーバを特定する複数の異なるホスト名からなり、
前記第１の処理は、前記複数の異なるホスト名のそれぞれを暗号化用のキーに使用して、前記所定のプログラムに関する所定の製品情報を暗号化したライセンスファイルを生成する処理を含み、
前記第２の処理は、前記ライセンスファイルおよび前記複数の異なるホスト名を前記Ｗｅｂサーバから取得し、該取得した複数の異なるホスト名をそれぞれ復号化用のキーとして使用して前記ライセンスファイルの内容を復号化し、該復号化により得られた製品情報の少なくとも１が前記所定のプログラム自身の製品情報と合致した場合にのみ所定の処理を実行する処理を含むことを特徴とする請求項１０に記載のプログラム。
【請求項１３】
前記所定のプログラムは、ＪａｖａアプレットまたはＡｃｔｉｖｅＸで作成されていることを特徴とする請求項１０から１２のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、Ｗｅｂページ（ホームページ）からダウンロードされて実行されるプログラムのライセンスを管理するシステムおよび方法に関する。さらには、本発明は、そのようなライセンス管理を実行するプログラムに関する。
【０００２】
【従来の技術】
Ｗｅｂページからダウンロードされて実行されるプログラムの１つに「Ｊａｖａ」（サンマイクロシステムズ社の登録商標）がある。「Ｊａｖａ」のプログラムは、オペレーティングシステムなどのプラットフォームとは独立した仮想マシン上で動作することから、インターネットのような様々なプラットフォームが混在する環境下において広く利用されている。最近では、Ｊａｖａアプレットと呼ばれるプログラムをＷｅｂサーバ（または、ＷＷＷ（Ｗｏｒｌｄ　Ｗｉｄｅ　Ｗｅｂ）サーバと呼ぶ場合もある。）上で提供されているＷｅｂページに埋め込み、クライアント端末に搭載されたＷｅｂブラウザ上でその埋め込まれたプログラムを読み込んで動作させるようにしたシステムも提供されている。
【０００３】
図５に、Ｊａｖａアプレットの読み込みが可能なシステムの一例を示す。このシステムは、クライアント端末１００とＷｅｂサーバ２００とがネットワーク、例えばインターネットを介して相互通信可能接続されるものであって、クライアント端末１００にはＪａｖａアプレット３００を実行可能なＷｅｂブラウザ１０１が搭載されている。クライアント端末１００およびＷｅｂサーバ２００は通信機能を備えたコンピュータシステムであり、プログラムなどを蓄積する記憶装置、キーボードやマウスなどの入力装置、ＣＲＴやＬＣＤなどの表示装置、外部との通信を行うモデムなどの通信装置、プリンタなどの出力装置および入力装置からの入力を受け付けて通信装置、出力装置、表示装置の動作を制御する制御装置から構成されている。
【０００４】
Ｊａｖａアプレット３００は、Ｗｅｂサーバ２００上で提供されているＷｅｂページに組み込まれたＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）ファイルにタグとして関連付けられ、クリックによりインターネット経由でダウンロードされるプログラムである。アプレットファイル２０１は、Ｊａｖａアプレット３００の実体ファイルであって、通常、拡張子として「．ｃａｂ」又は「．ｊａｒ」が付与される。アプレット入力ファイル２０２には、アプレットの入力データが格納されている。これらアプレットファイル２０１およびアプレット入力ファイル２０２は、Ｗｅｂサーバ２００に格納されている。
【０００５】
上記のシステムでは、Ｗｅｂサーバ２００上で、該Ｗｅｂサーバ２００を管理する管理者によって作成されたＪａｖａアプレット３００のソースプログラムをコンパイルすることでアプレットファイル２０１が作成される。この作成されたアプレットファイル２０１は、アプレット入力ファイル２０２とともに、例えば予め作成したＷｅｂページの、表示画像上の特定の位置（座標）に設定されたＨＴＭＬファイルにタグとして関連付けられて登録される。
【０００６】
ユーザは、クライアント端末１００上でＷｅｂブラウザ１０１を起動することで、Ｗｅｂサーバ２００上に提供されているＷｅｂページにアクセスする。Ｗｅｂページ上で、上記の特定の位置がクリックされると、まず、Ｊａｖａアプレット３００の実体ファイルであるアプレットファイル２０１が、Ｗｅｂサーバ２００からインターネット経由でクライアント端末１００にダウンロードされる。
【０００７】
クライアント端末１００では、Ｊａｖａアプレット３００としてダウンロードされたアプレットファイル２０１がＷｅｂブラウザ１０１により実行される。Ｊａｖａアプレット３００が実行されると、Ｊａｖａアプレット３００は、Ｗｅｂサーバ２００に登録されているアプレット入力ファイル２０２から必要なデータを取得し、所定の処理を実行する。このＪａｖａアプレット３００の処理により、例えばグラフや画像をリアルタイムに表示させることができる。
【０００８】
【発明が解決しようとする課題】
しかしながら、上述したようなＪａｖａアプレットの読み込みが可能な従来のシステムにおいては、Ｊａｖａアプレット３００の実体ファイルであるアプレットファイル２０１は、Ｗｅｂサーバ２００上の、Ｗｅｂブラウザ１０１から参照可能な場所に配置する必要がある。これは、言い換えれば、アプレットファイル２０１は、Ｗｅｂブラウザ経由であれば第三者が極めて容易に入手可能であることを意味する。また、アプレット入力ファイル２０２がテキストファイルである場合には、このアプレット入力ファイル２０２自身も容易に作成することができる。このようなことから、従来のシステムでは、第三者がＪａｖａアプレット３００を不正に入手し、本来のＷｅｂページとは別のＷｅｂページ上でそれを不正に使用する、といった問題点が生じていた。
【０００９】
Ｊａｖａアプレットに限らず、Ｗｅｂページからダウンロードされて実行される他のプログラムにおいても上記と同様な不正使用の問題が生じており、この問題の解決が重要な課題とされていた。
【００１０】
なお、不正使用を防止する手法として、特開平７−１１０７６７号公報に記載されたようなソフトウェア使用ライセンス管理制御方法がある。この方法は、一定期間の使用を前提に有償で提供されるソフトウェア（有償ソフトウェア）のライセンス管理を行うものであって、契約期間・計算機固有ＩＤ等の起動条件を暗号化したライセンスファイルを生成し、これを有償ソフトウェアに付加して配信する、というものである。しかしながら、この手法は、ライセンスファイルと製品（有償ソフトウェア）とがペアで出荷されるようになっているため、これを上記のＪａｖａアプレットのようなダウンロード可能な製品に適用した場合には、ライセンスファイルもＷｅｂブラウザからダウンロード可能な場所に配置されることになり、第三者がライセンスファイルと製品を共に入手して、それを別のＷｅｂページ上で不正に使用する、といった問題が生じる。
【００１１】
本発明の目的は、上記問題を解決し、ダウンロードしたプログラムの不正な使用を防止することのできる、ライセンス管理システムおよびライセンス管理方法ならびにプログラムを提供することにある。
【００１２】
【課題を解決するための手段】
上記目的を達成するため、本発明のライセンス管理システムは、Ｗｅｂサーバとクライアント端末とが相互通信可能に接続され、所定のプログラムが前記Ｗｅｂサーバから前記クライアント端末にダウンロードされるシステムであって、
前記Ｗｅｂサーバは、該Ｗｅｂサーバを特定するための特定情報を暗号化用のキーに使用して、前記所定のプログラムに関する所定の製品情報を暗号化したライセンスファイルを生成するライセンス生成手段を有し、
前記クライアント端末は、前記ダウンロードされた所定のプログラムに従って、前記ライセンス生成手段により生成されたライセンスファイルおよび前記特定情報を前記Ｗｅｂサーバから取得し、該取得した特定情報を復号化用のキーとして使用して前記ライセンスファイルの内容を復号化し、該復号化により得られた製品情報が前記所定のプログラム自身の製品情報と合致した場合にのみ所定の処理を実行する実行手段を有することを特徴とする。
【００１３】
本発明のライセンス管理方法は、Ｗｅｂサーバとクライアント端末とが相互通信可能に接続され、所定のプログラムが前記Ｗｅｂサーバから前記クライアント端末にダウンロードされるシステムにおいて行われるライセンス管理方法であって、
前記Ｗｅｂサーバが、該Ｗｅｂサーバを特定するための特定情報を暗号化用のキーに使用して、前記所定のプログラムに関する所定の製品情報を暗号化したライセンスファイルを生成する第１のステップと、
前記クライアント端末が、前記ダウンロードされた所定のプログラムに従って、前記Ｗｅｂサーバから前記ライセンスファイルおよび前記特定情報を取得し、該取得した特定情報を復号化用のキーとして使用して前記ライセンスファイルの内容を復号化し、該復号化により得られた製品情報が前記所定のプログラム自身の製品情報と合致した場合にのみ所定の処理を実行する第２のステップとを有することを特徴とする。
【００１４】
本発明のプログラムは、所定のプログラムを含み、該所定のプログラムがＷｅｂサーバからクライアント端末にダウンロードされるプログラムであって、
前記Ｗｅｂサーバを特定するための特定情報を暗号化用のキーに使用して、前記所定のプログラムに関する所定の製品情報を暗号化したライセンスファイルを生成する第１の処理を、前記Ｗｅｂサーバのコンピュータに実行させ、
ダウンロードされた前記所定のプログラムに従って、前記Ｗｅｂサーバから前記ライセンスファイルおよび前記特定情報を取得し、該取得した特定情報を復号化用のキーとして使用して前記ライセンスファイルの内容を復号化し、該復号化により得られた製品情報が前記所定のプログラム自身の製品情報と合致した場合にのみ所定の処理を実行する第２の処理を、前記クライアント端末のコンピュータに実行させることを特徴とする。
【００１５】
上記のとおりの本発明によれば、ダウンロードされた所定のプログラムを実行するには、ライセンスファイルと復号化用のキーとして用いられる特定情報（暗号化用のキーに同じ）の両方をダウンロード元のＷｅｂサーバから必ず取得する必要がある。ライセンスファイルは通常、Ｗｅｂサーバの、クライアント端末から参照可能な場所に格納されるため、第三者はこれを自由に取得することができる。一方、復号化用のキーである特定情報は、所定のプログラムに従って接続先のＷｅｂサーバから取得するものであり、第三者がクライアント端末を用いて自由に取得することはできない。このため、第三者がライセンスファイルを不正に取得してダウンロードした所定のプログラムとともに、ダウンロード元のＷｅｂサーバとは別のＷｅｂサーバ上で使用したとしても、復号化用のキーである特定情報を取得することができないため、所定のプログラムによる所定の処理が実行されることはない。このように、本発明では、ダウンロードされた所定のプログラムは、そのダウンロード元のＷｅｂサーバ上でしか使用することができない。
【００１６】
【発明の実施の形態】
次に、本発明の実施形態について図面を参照して説明する。
【００１７】
図１は、本発明の一実施形態であるライセンス管理システムの概略構成を示すブロック図である。このシステムは、Ｊａｖａアプレットの不正使用を防止するためのライセンス管理を提供するシステムであって、その構成は、クライアント端末１０とＷｅｂサーバ２０とからなる。クライアント端末１０およびＷｅｂサーバ２０は通信機能を備えたコンピュータシステムであり、プログラムなどを蓄積する記憶装置、キーボードやマウスなどの入力装置、ＣＲＴやＬＣＤなどの表示装置、外部との通信を行うモデムなどの通信装置、プリンタなどの出力装置および入力装置からの入力を受け付けて通信装置、出力装置、表示装置の動作を制御する制御装置などを有しており、例えばインターネットを介して相互通信可能接続される。
【００１８】
クライアント端末１０には、Ｊａｖａアプレット３０を実行可能なＷｅｂブラウザ１１が搭載されている。Ｗｅｂサーバ２０には、Ｊａｖａアプレット３０の実体ファイルであるアプレットファイル２１、アプレットの入力データが格納されているアプレット入力ファイル２２、Ｊａｖａアプレット３０のライセンス管理を行うためのライセンスファイル２３およびライセンス生成装置２４が格納されている。
【００１９】
ライセンス生成装置２４は、Ｗｅｂサーバ２０を特定するための情報、例えばＷｅｂページ公開時に付けられるホスト名を暗号キーに使用して、予め付与されているＪａｖａアプレット３０の製品情報（製品名、バージョン情報、機能範囲など）を暗号化したライセンスファイル２３を作成するものである。アプレットファイル２１、アプレット入力ファイル２２およびライセンスファイル２３は、いずれもＷｅｂブラウザ１１により参照が可能な場所に格納されているが、ライセンス生成装置２４は、Ｗｅｂブラウザ１１からは入手できない場所に格納されている。
【００２０】
上述した本実施形態のライセンス管理システムでは、Ｗｅｂ公開にあたり、ライセンス生成装置２４によって、Ｗｅｂブラウザ１０上で実行されるＪａｖａアプレット３０（アプレットのファイル自体はＷｅｂサーバ２０上のアプレットファイル２１）に対応したライセンスファイル２３が作成される。図２は、このライセンス生成装置２４によるライセンスファイル２３の一作成手順を示すフローチャート図である。
【００２１】
図２を参照すると、ライセンス生成装置２４は、まず、Ｗｅｂとして公開する時のＷｅｂサーバ２０のホスト名の入力を要求し、この入力要求に応じて、管理者がＷｅｂサーバ２０のホスト名を入力する（ステップＳ１０）。続いて、ライセンス生成装置２４は、Ｊａｖａアプレット３０に関する製品情報を取得する（ステップＳ１１）。この製品情報は、ライセンス生成装置２４に付随の情報である。製品情報取得後、ライセンス生成装置２４は、ステップＳ１０で入力されたホスト名を暗号キーに使用し、ステップＳ１１で取得した製品情報を暗号化する（ステップＳ１２）。最後に、ステップＳ１２で暗号化された製品情報をライセンスファイル２３として生成する（ステップＳ１３）。これらステップＳ１０〜Ｓ１３の手順は、予め用意されているプログラムによって実現される。
【００２２】
上記ライセンスファイル２３の作成後にＷｅｂ公開される。公開されたＷｅｂページは、Ｗｅｂブラウザ１１により閲覧することができる。ユーザが、クライアント端末１０上で、表示されたＷｅｂページの特定の位置をクリックすると、Ｗｅｂサーバ２０からＪａｖａアプレット３０の実体ファイルであるアプレットファイル２１がダウンロードされてＷｅｂブラウザ１１上で実行される。このようにしてＪａｖａアプレット３０がダウンロードされて実行されると、Ｊａｖａアプレット３０は、プログラム不正使用を防止するための検証を行う。図３は、このＪａｖａアプレット３０による検証手順の一例を示すフローチャート図である。
【００２３】
図３を参照すると、Ｗｅｂブラウザ１１による実行直後に、接続先のＷｅｂサーバ２０のホスト名を取得する（ステップＳ２１）。続いて、Ｗｅｂサーバ２０上のアプレットファイル２１と同じ場所に存在するライセンスファイル２３を取得し（ステップＳ２２）、該ライセンスファイル２３の取得が正常に行われたかどうかを検証する（ステップＳ２３）。
【００２４】
上記ステップＳ２３における検証で、ライセンスファイル２３の取得が正常に行われたと判断された場合は、ステップＳ２２で取得したライセンスファイルの内容（暗号化されている製品情報）をステップＳ２１で取得したホスト名をキーに使用して復号化し（ステップＳ２４）、その復号化した製品情報がＪａｖａアプレット３０自身の製品情報と一致するかを検証する（ステップＳ２５）。そして、自身の製品情報と一致した場合は、アプレット入力ファイル７からデータを読み込んで通常処理を行う（ステップＳ２６）。
【００２５】
上記ステップＳ２３における検証で、例えば、ライセンスファイル２３の一部の情報が欠落しために、ライセンスファイル２３の取得が正常に行われなかったと判断された場合、および上記ステップＳ２５における検証で、自身の製品情報と一致しなかったと判断された場合は、その旨を示すエラーメッセージを表示するエラー処理を実行し（ステップＳ２７）、Ｊａｖａアプレット３０による処理自体を終了する。
【００２６】
上述のＪａｖａアプレット３０による検証動作によれば、例えば、ダウンロードされたＪａｖａアプレット３０をダウンロード元のＷｅｂサーバ２０とは異なるＷｅｂサーバ（以下、不正なＷｅｂサーバと記す）上で使用しようとした場合は、Ｊａｖａアプレット３０は、その不正なＷｅｂサーバのホスト名をキーに使用して、ライセンスファイル２３の内容（暗号化されている製品情報）を復号化することになる。この場合は、復号化された製品情報がＪａｖａアプレット３０自身の製品情報と異なるため、Ｊａｖａアプレット３０による本来の処理（図３に示した通常処理）は実行されない。
【００２７】
また、ライセンスファイル２３は、Ｗｅｂサーバ２０の、Ｗｅｂブラウザ１１から参照可能な場所に格納されるため、第三者はこれを自由に取得することができるが、復号化用のキーは、Ｊａｖａアプレット３０によって接続先のＷｅｂサーバから取得されるものであり、第三者がクライアント端末１０を用いて自由に取得することはできない。このため、第三者がライセンスファイル２３を不正に取得してＪａｖａアプレット３０とともに、ダウンロード元のＷｅｂサーバ２０とは別のＷｅｂサーバ上で使用したとしても、復号化用のキーを取得することができないため、Ｊａｖａアプレット３０による通常の処理が実行されることはない。なお、ダウンロード元のＷｅｂサーバ２０のホスト名は、ライセンス生成装置２４に付随の情報として与えられているが、ライセンス生成装置２４自体は、Ｗｅｂブラウザ１１からは入手できない場所に格納されているので、第三者がライセンス生成装置２４の付随の情報（ホスト名）を不正に入手することはできない。
【００２８】
以上のように、本実施形態のライセンス管理システムでは、Ｊａｖａアプレット３０は、ダウンロード元のＷｅｂサーバ２０上でしか使用することができないので、第三者によるＪａｖａアプレット３０の不正な使用を防止することができる。
【００２９】
（他の実施形態）
上述した実施形態では、Ｗｅｂサーバを１つのホスト名でＷｅｂ公開する場合を想定しおり、暗号化のためのキーとしてそのホスト名を用いるようになっているが、同一のＷｅｂサーバを複数のホスト名でＷｅｂ公開する場合にも上述したＪａｖａアプレット３０による検証動作を適用することができる。ここでは、同一のＷｅｂサーバを複数のホスト名でＷｅｂ公開する場合のライセンス管理について説明する。
【００３０】
本実施形態のライセンス管理システムも、基本的な構成は図１に示したシステムと同じであるので、ここでは、図１を参照して特徴となる部分の動作のみを説明する。
【００３１】
ライセンス生成装置２４は、各ホスト名をそれぞれ暗号化用のキーに使用してＪａｖａアプレット３０の製品情報を暗号化したライセンスファイル２３を生成する。例えば、同一のＷｅｂサーバをホスト名Ａ、Ｂ、Ｃで公開する場合は、ライセンス生成装置２４は、図４に示すような、ホスト名Ａをキーに使用してＪａｖａアプレット３０の製品情報を暗号化したレコード２３ａ、ホスト名Ｂをキーに使用してＪａｖａアプレット３０の製品情報を暗号化したレコード２３ｂ、ホスト名Ｃをキーに使用してＪａｖａアプレット３０の製品情報を暗号化したレコード２３ｃからなるライセンスファイル２３を生成する。各レコード２３ａ〜２３ｃは、それぞれ図２に示した手順に従って生成される。すなわち、図２のステップＳ１０〜Ｓ１２を公開するホスト名Ａ、Ｂ、Ｃの分だけ繰り返し、製品情報をホスト名で暗号化したレコード２３ａ〜２３ｃを作成する。
【００３２】
クライアント端末１０側では、Ｗｅｂブラウザ１１によってＷｅｂサーバ２０からダウンロードされたＪａｖａアプレット３０による検証が図３に示した手順に従って行われる。ステップ２１〜Ｓ２３までの処理は同じである。ステップＳ２４の復号化では、ライセンスファイル２３内に存在する全てのレコード２３ａ〜２３ｃに対して復号化が行われる。そして、ステップＳ２５において、これら復号化された製品情報の一つでも自身の製品情報に一致するものがあれば、ステップＳ２６で通常処理を行い、一つも一致するのもがなければ、ステップＳ２７でエラー処理を行う。
【００３３】
以上説明した各実施形態では、Ｗｅｂサーバは１つしか示されていないが、複数のＷｅｂサーバを備えるようなシステム構成とすることも可能である。この場合は、Ｗｅｂサーバ毎に、それぞれのホスト名で暗号化されたライセンスファイルが生成されることになる。この場合、各Ｗｅｂサーバで生成されたライセンスファイル内容は異なる。
【００３４】
以上の説明では、Ｊａｖａアプレットを例にシステムの構成および動作を説明しているが、本発明はこの構成に限定されるものではなく、ユーザの要求に応じてプログラムがダウンロードされてブラウザ上で実行されるシステムであれば、どのようなシステムにも適用することができる。例えば、「ＡｃｔｉｖｅＸ」（マイクロソフト社が提供するインターネット関連技術を示す総称）をダウンロードするようなシステムにおいても本発明を適用することができる。この場合は、図１に示したシステム構成において、Ｊａｖａアプレット３０、アプレットファイル２２をそれぞれ「ＡｃｔｉｖｅＸ」、「ＡｃｔｉｖｅＸファイル」に置き換えることにより、Ｊａｖａアプレットのライセンス管理と同様な方法で、ＡｃｔｉｖｅＸのライセンス管理が可能となる。
【００３５】
【発明の効果】
以上説明したように、本発明によれば、Ｗｅｂページからダウンロードしたプログラム（ＪａｖａアプレットやＡｃｔｉｖｅＸ）は、ダウンロード元のＷｅｂサーバ上でしか使用することができないので、第三者がダウンロードしたプログラムを不正に使用する、といったことを防止することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態であるライセンス管理システムの概略構成を示すブロック図である。
【図２】図１に示すライセンス生成装置によるライセンスファイルの一作成手順を示すフローチャート図である。
【図３】図１に示すライセンス管理システムにおいて行われるＪａｖａアプレットによる検証手順の一例を示すフローチャート図である。
【図４】本発明の他の実施形態であるライセンス管理システムにおいて生成される、複数の異なるホスト名を暗号化用のキーとして使用したライセンスファイルの一例を示すブロック図である。
【図５】Ｊａｖａアプレットの読み込みが可能な従来のシステムの概略構成を示すブロック図である。
【符号の説明】
１０、１００　クライアント端末
１１、１０１　Ｗｅｂブラウザ
２０、２００　Ｗｅｂサーバ
２１、２０１　アプレットファイル
２２、２０２　アプレット入力ファイル
２３　ライセンスファイル
２３ａ〜２３ｃ　レコード
２４　ライセンス生成装置
３０　Ｊａｖａアプレット
【図１】
2004054846.tif 000003
【図２】
2004054846.tif 000004
【図３】
2004054846.tif 000005
【図４】
2004054846.tif 000006
【図５】
2004054846.tif 000007