(57)【要約】【課題】正規にインストールを許された端末だけにソフトウェアのインストールを可能とする。【解決手段】ユーザ端末２０は、サーバ装置１０からソフトウェアとユーザの証明書とを受けると、ソフトウェアのハッシュ値にユーザの証明書の秘密鍵で署名を行い、署名結果をサーバ装置１０に送信する。サーバ装置１０は、署名結果の検証を行い、正しく検証ができた場合は、ソフトウェアのインストールの実行を許可するインストールキーをユーザ公開鍵で暗号化し、ユーザ端末２０へ送信する。【選択図】図１
2009251977.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置と端末とを有するソフトウェアインストールシステムにおいて、
前記サーバ装置は、前記端末からソフトウェアの指定情報とユーザ情報を受信すると、該ユーザ情報を登録後、公開鍵暗号方式の一方の鍵であるユーザ秘密鍵を含む証明書を発行し、該証明書を、前記指定情報にて指定されたソフトウェアと共に前記端末に送信する手段を有し、
前記端末は、前記ソフトウェア及び前記証明書を受信すると、前記ソフトウェアのハッシュ値に前記ユーザ秘密鍵で署名を行い、署名結果を前記サーバ装置に送信する手段を有し、
前記サーバ装置は、前記署名結果を受信すると、該署名結果の検証を行い、正しく検証ができた場合は、前記ソフトウェアのインストールの実行を許可するインストールキーを前記公開鍵暗号方式の他方の鍵であるユーザ公開鍵で暗号化し、前記端末に送信するインストールキー送信手段を有し、
前記端末は、前記インストールキーを受信すると、前記インストールキーを前記ユーザ秘密鍵で復号化し、前記インストールキーが復号化された場合に前記ソフトウェアのインストールを実行する手段を有することを特徴とするソフトウェアインストールシステム。
【請求項２】
前記インストールキー送信手段は、
前記署名結果を受信すると、該署名結果を前記ユーザ公開鍵で復号して前記署名結果のハッシュ値を得、前記署名結果のハッシュ値を、前記端末に送信した前記ソフトウェアのハッシュ値と比較し、前記署名結果のハッシュ値が前記ソフトウェアのハッシュ値に一致すれば正しく検証ができたと判断する手段を有することを特徴とするソフトウェアインストールシステム。
【請求項３】
サーバ装置と端末とを有するソフトウェアインストールシステムにおける前記サーバ装置であって、
前記サーバ装置は、
前記端末からソフトウェアの指定情報とユーザ情報を受信すると、該ユーザ情報を登録後、公開鍵暗号方式の一方の鍵であるユーザ秘密鍵を含む証明書を発行する手段と、
前記端末が、前記ソフトウェア及び前記証明書を受信し、前記ソフトウェアのハッシュ値に前記ユーザ秘密鍵で署名を行い、署名結果を前記サーバ装置に送信すると、前記署名結果を受信し、該署名結果の検証を行い、正しく検証ができた場合は、前記ソフトウェアのインストールの実行を許可するインストールキーを前記公開鍵暗号方式の他方の鍵であるユーザ公開鍵で暗号化し、前記端末に送信するインストールキー送信手段とを有し、
前記端末は、前記インストールキーを前記ユーザ秘密鍵で復号化し、前記インストールキーが復号化された場合に前記ソフトウェアのインストールを実行することを特徴とするサーバ装置。
【請求項４】
前記インストールキー送信手段は、
前記署名結果を受けると、該署名結果を前記ユーザ公開鍵で復号して前記署名結果のハッシュ値を得、前記署名結果のハッシュ値を、前記端末に送信した前記ソフトウェアのハッシュ値と比較し、前記署名結果のハッシュ値が前記ソフトウェアのハッシュ値に一致すれば正しく検証ができたと判断する手段を有することを特徴とするサーバ装置。
【請求項５】
サーバ装置と端末とを有するソフトウェアインストールシステムにおける前記端末であって、
前記端末は、
ソフトウェアの指定情報とユーザ情報を前記サーバ装置に送信する手段と、
前記サーバ装置が、前記ユーザ情報を登録後公開鍵暗号方式の一方の鍵であるユーザ秘密鍵を含む証明書を発行し、該証明書を、前記指定情報にて指定されたソフトウェアと共に前記端末に送信すると、前記ソフトウェア及び前記証明書を受信し、前記ソフトウェアのハッシュ値に前記ユーザ秘密鍵で署名を行い、署名結果を前記サーバ装置に送信する手段と、
前記サーバ装置が、前記署名結果を受信し、該署名結果の検証を行い、正しく検証ができた場合は、前記ソフトウェアのインストールの実行を許可するインストールキーを前記公開鍵暗号方式の他方の鍵であるユーザ公開鍵で暗号化し、前記端末に送信すると、前記インストールキーを受信し、前記インストールキーを前記ユーザ秘密鍵で復号化し、前記インストールキーが復号化された場合に前記ソフトウェアのインストールを実行する手段とを有することを特徴とする端末。
【請求項６】
サーバ装置と端末とを有するソフトウェアインストールシステムにおけるソフトウェアインストール方法において、
前記サーバ装置において、前記端末からソフトウェアの指定情報とユーザ情報を受信すると、該ユーザ情報を登録後、公開鍵暗号方式の一方の鍵であるユーザ秘密鍵を含む証明書を発行し、該証明書を、前記指定情報にて指定されたソフトウェアと共に前記端末に送信するステップと、
前記端末において、前記ソフトウェア及び前記証明書を受信すると、前記ソフトウェアのハッシュ値に前記ユーザ秘密鍵で署名を行い、署名結果を前記サーバ装置に送信するステップと、
前記サーバ装置において、前記署名結果を受信すると、該署名結果の検証を行い、正しく検証ができた場合は、前記ソフトウェアのインストールの実行を許可するインストールキーを前記公開鍵暗号方式の他方の鍵であるユーザ公開鍵で暗号化し、前記端末に送信するインストールキー送信ステップと、
前記端末において、前記インストールキーを受信すると、前記インストールキーを前記ユーザ秘密鍵で復号化し、前記インストールキーが復号化された場合に前記ソフトウェアのインストールを実行するステップとを有することを特徴とするソフトウェアインストール方法。
【請求項７】
前記インストールキー送信ステップは、
前記サーバ装置において、前記署名結果を受信すると、該署名結果を前記ユーザ公開鍵で復号して前記署名結果のハッシュ値を得、前記署名結果のハッシュ値を、前記端末に送信した前記ソフトウェアのハッシュ値と比較し、前記署名結果のハッシュ値が前記ソフトウェアのハッシュ値に一致すれば正しく検証ができたと判断するステップを有することを特徴とするソフトウェアインストール方法。
【請求項８】
コンピュータに所定の処理を実行させ、前記コンピュータを、サーバ装置と端末とを有するソフトウェアインストールシステムにおける前記サーバ装置として機能させるためのサーバ装置用プログラムであって、
前記所定の処理は、
前記端末からソフトウェアの指定情報とユーザ情報を受信すると、該ユーザ情報を登録後、公開鍵暗号方式の一方の鍵であるユーザ秘密鍵を含む証明書を発行するステップと、
前記端末が、前記ソフトウェア及び前記証明書を受信し、前記ソフトウェアのハッシュ値に前記ユーザ秘密鍵で署名を行い、署名結果を前記サーバ装置に送信すると、前記署名結果を受信し、該署名結果の検証を行い、正しく検証ができた場合は、前記ソフトウェアのインストールの実行を許可するインストールキーを前記公開鍵暗号方式の他方の鍵であるユーザ公開鍵で暗号化し、前記端末に送信するインストールキー送信ステップとを有し、
前記端末は、前記インストールキーを前記ユーザ秘密鍵で復号化し、前記インストールキーが復号化された場合に前記ソフトウェアのインストールを実行することを特徴とするサーバ装置用プログラム。
【請求項９】
前記インストールキー送信ステップは、
前記署名結果を受けると、該署名結果を前記ユーザ公開鍵で復号して前記署名結果のハッシュ値を得、前記署名結果のハッシュ値を、前記端末に送信した前記ソフトウェアのハッシュ値と比較し、前記署名結果のハッシュ値が前記ソフトウェアのハッシュ値に一致すれば正しく検証ができたと判断するステップを有することを特徴とするサーバ装置用プログラム。
【請求項１０】
コンピュータに所定の処理を実行させ、前記コンピュータを、サーバ装置と端末とを有するソフトウェアインストールシステムにおける前記端末として機能させるための端末用プログラムであって、
前記所定の処理は、
ソフトウェアの指定情報とユーザ情報を前記サーバ装置に送信するステップと、
前記サーバ装置が、前記ユーザ情報を登録後公開鍵暗号方式の一方の鍵であるユーザ秘密鍵を含む証明書を発行し、該証明書を、前記指定情報にて指定されたソフトウェアと共に前記端末に送信すると、前記ソフトウェア及び前記証明書を受信し、前記ソフトウェアのハッシュ値に前記ユーザ秘密鍵で署名を行い、署名結果を前記サーバ装置に送信するステップと、
前記サーバ装置が、前記署名結果を受信し、該署名結果の検証を行い、正しく検証ができた場合は、前記ソフトウェアのインストールの実行を許可するインストールキーを前記公開鍵暗号方式の他方の鍵であるユーザ公開鍵で暗号化し、前記端末に送信すると、前記インストールキーを受信し、前記インストールキーを前記ユーザ秘密鍵で復号化し、前記インストールキーが復号化された場合に前記ソフトウェアのインストールを実行するステップとを有することを特徴とする端末用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置と端末とを有するソフトウェアインストールシステムに関する。本発明は、また、ソフトウェアインストールシステムにおけるサーバ装置及び端末に関する。本発明は、更に、ソフトウェアインストール方法に関する。本発明は、また、サーバ装置用プログラム及びと端末用プログラムに関する。
【背景技術】
【０００２】
サーバ装置によって正規にインストールを許された端末だけにサーバ装置からソフトウェアのインストールを可能とする方法（ソフトウェアの不正インストール防止方法）として、様々な方法が利用されているが、真に厳密な方法で管理する方法がなかった。
【０００３】
引用文献１は、要約に、ユーザ端末は、サーバから送信されたデジタル署名付きダウンロードプログラムを格納すること、デジタル署名付きダウンロードプログラムを用いてサーバからデジタル署名付き有償ソフトウェアをダウンロードすること、ダウンロードしたデジタル署名付き有償ソフトウェアとデジタル署名付きダウンロードプログラムとの署名情報を比較して、両者が一致したときにデジタル署名付き有償ソフトウェアをインストールすることを開示している。
【０００４】
引用文献２は、［００１８］及び［００１９］段落に、ソフト販売業者は、指定されたソフトウェアを構成するファイルの一部または全体からハッシュデータを作成し、このハッシュデータをユーザの公開鍵データで暗号化してライセンスデータを作成することを開示している。更に、引用文献２は、［００２３］段落に、ユーザがソフト販売業者から受け取ったライセンスデータを読み込み、ユーザの秘密鍵データで解読して復号ライセンスデータを作成することを開示している。
【０００５】
【特許文献１】特開２００１−３５０５３４号公報
【特許文献２】特開２００３−１７４４４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ＷＥＢ上でソフトウェアを購入した場合、通常そのソフトウェアを使用するためのプロダクトキーが配信されるが、プロダクトキーの流出・不正利用（付与ライセンス以上のインストール等）などの問題がある。
【０００７】
また、プロダクトキーは別途メールにて送られてくることが多く、誤配信などの問題も存在する。
【０００８】
本発明の課題は、正規にインストールを許された端末だけにソフトウェアのインストールを可能とすることにある。
【課題を解決するための手段】
【０００９】
本発明の第１の態様によれば、
サーバ装置と端末とを有するソフトウェアインストールシステムにおいて、
前記サーバ装置は、前記端末からソフトウェアの指定情報とユーザ情報を受信すると、該ユーザ情報を登録後、公開鍵暗号方式の一方の鍵であるユーザ秘密鍵を含む証明書を発行し、該証明書を、前記指定情報にて指定されたソフトウェアと共に前記端末に送信する手段を有し、
前記端末は、前記ソフトウェア及び前記証明書を受信すると、前記ソフトウェアのハッシュ値に前記ユーザ秘密鍵で署名を行い、署名結果を前記サーバ装置に送信する手段を有し、
前記サーバ装置は、前記署名結果を受信すると、該署名結果の検証を行い、正しく検証ができた場合は、前記ソフトウェアのインストールの実行を許可するインストールキーを前記公開鍵暗号方式の他方の鍵であるユーザ公開鍵で暗号化し、前記端末に送信するインストールキー送信手段を有し、
前記端末は、前記インストールキーを受信すると、前記インストールキーを前記ユーザ秘密鍵で復号化し、前記インストールキーが復号化された場合に前記ソフトウェアのインストールを実行する手段を有することを特徴とするソフトウェアインストールシステムが得られる。
【００１０】
本発明の第２の態様によれば、
サーバ装置と端末とを有するソフトウェアインストールシステムにおける前記サーバ装置であって、
前記サーバ装置は、
前記端末からソフトウェアの指定情報とユーザ情報を受信すると、該ユーザ情報を登録後、公開鍵暗号方式の一方の鍵であるユーザ秘密鍵を含む証明書を発行する手段と、
前記端末が、前記ソフトウェア及び前記証明書を受信し、前記ソフトウェアのハッシュ値に前記ユーザ秘密鍵で署名を行い、署名結果を前記サーバ装置に送信すると、前記署名結果を受信し、該署名結果の検証を行い、正しく検証ができた場合は、前記ソフトウェアのインストールの実行を許可するインストールキーを前記公開鍵暗号方式の他方の鍵であるユーザ公開鍵で暗号化し、前記端末に送信するインストールキー送信手段とを有し、
前記端末は、前記インストールキーを前記ユーザ秘密鍵で復号化し、前記インストールキーが復号化された場合に前記ソフトウェアのインストールを実行することを特徴とするサーバ装置が得られる。
【００１１】
本発明の第３の態様によれば、
サーバ装置と端末とを有するソフトウェアインストールシステムにおける前記端末であって、
前記端末は、
ソフトウェアの指定情報とユーザ情報を前記サーバ装置に送信する手段と、
前記サーバ装置が、前記ユーザ情報を登録後公開鍵暗号方式の一方の鍵であるユーザ秘密鍵を含む証明書を発行し、該証明書を、前記指定情報にて指定されたソフトウェアと共に前記端末に送信すると、前記ソフトウェア及び前記証明書を受信し、前記ソフトウェアのハッシュ値に前記ユーザ秘密鍵で署名を行い、署名結果を前記サーバ装置に送信する手段と、
前記サーバ装置が、前記署名結果を受信し、該署名結果の検証を行い、正しく検証ができた場合は、前記ソフトウェアのインストールの実行を許可するインストールキーを前記公開鍵暗号方式の他方の鍵であるユーザ公開鍵で暗号化し、前記端末に送信すると、前記インストールキーを受信し、前記インストールキーを前記ユーザ秘密鍵で復号化し、前記インストールキーが復号化された場合に前記ソフトウェアのインストールを実行する手段とを有することを特徴とする端末が得られる。
【００１２】
本発明の第４の態様によれば、
サーバ装置と端末とを有するソフトウェアインストールシステムにおけるソフトウェアインストール方法において、
前記サーバ装置において、前記端末からソフトウェアの指定情報とユーザ情報を受信すると、該ユーザ情報を登録後、公開鍵暗号方式の一方の鍵であるユーザ秘密鍵を含む証明書を発行し、該証明書を、前記指定情報にて指定されたソフトウェアと共に前記端末に送信するステップと、
前記端末において、前記ソフトウェア及び前記証明書を受信すると、前記ソフトウェアのハッシュ値に前記ユーザ秘密鍵で署名を行い、署名結果を前記サーバ装置に送信するステップと、
前記サーバ装置において、前記署名結果を受信すると、該署名結果の検証を行い、正しく検証ができた場合は、前記ソフトウェアのインストールの実行を許可するインストールキーを前記公開鍵暗号方式の他方の鍵であるユーザ公開鍵で暗号化し、前記端末に送信するインストールキー送信ステップと、
前記端末において、前記インストールキーを受信すると、前記インストールキーを前記ユーザ秘密鍵で復号化し、前記インストールキーが復号化された場合に前記ソフトウェアのインストールを実行するステップとを有することを特徴とするソフトウェアインストール方法が得られる。
【００１３】
本発明の第５の態様によれば、
コンピュータに所定の処理を実行させ、前記コンピュータを、サーバ装置と端末とを有するソフトウェアインストールシステムにおける前記サーバ装置として機能させるためのサーバ装置用プログラムであって、
前記所定の処理は、
前記端末からソフトウェアの指定情報とユーザ情報を受信すると、該ユーザ情報を登録後、公開鍵暗号方式の一方の鍵であるユーザ秘密鍵を含む証明書を発行するステップと、
前記端末が、前記ソフトウェア及び前記証明書を受信し、前記ソフトウェアのハッシュ値に前記ユーザ秘密鍵で署名を行い、署名結果を前記サーバ装置に送信すると、前記署名結果を受信し、該署名結果の検証を行い、正しく検証ができた場合は、前記ソフトウェアのインストールの実行を許可するインストールキーを前記公開鍵暗号方式の他方の鍵であるユーザ公開鍵で暗号化し、前記端末に送信するインストールキー送信ステップとを有し、
前記端末は、前記インストールキーを前記ユーザ秘密鍵で復号化し、前記インストールキーが復号化された場合に前記ソフトウェアのインストールを実行することを特徴とするサーバ装置用プログラムが得られる。
【００１４】
本発明の第６の態様によれば、
コンピュータに所定の処理を実行させ、前記コンピュータを、サーバ装置と端末とを有するソフトウェアインストールシステムにおける前記端末として機能させるための端末用プログラムであって、
前記所定の処理は、
ソフトウェアの指定情報とユーザ情報を前記サーバ装置に送信するステップと、
前記サーバ装置が、前記ユーザ情報を登録後公開鍵暗号方式の一方の鍵であるユーザ秘密鍵を含む証明書を発行し、該証明書を、前記指定情報にて指定されたソフトウェアと共に前記端末に送信すると、前記ソフトウェア及び前記証明書を受信し、前記ソフトウェアのハッシュ値に前記ユーザ秘密鍵で署名を行い、署名結果を前記サーバ装置に送信するステップと、
前記サーバ装置が、前記署名結果を受信し、該署名結果の検証を行い、正しく検証ができた場合は、前記ソフトウェアのインストールの実行を許可するインストールキーを前記公開鍵暗号方式の他方の鍵であるユーザ公開鍵で暗号化し、前記端末に送信すると、前記インストールキーを受信し、前記インストールキーを前記ユーザ秘密鍵で復号化し、前記インストールキーが復号化された場合に前記ソフトウェアのインストールを実行するステップとを有することを特徴とする端末用プログラムが得られる。
【発明の効果】
【００１５】
本発明によれば、サーバ装置にて正規に発行した証明書を受信し、その証明書の秘密鍵を持っている端末だけが、ソフトウェアのインストールの実行を許可するインストールキーを復号でき、ソフトウェアのインストールが許可される。
【００１６】
引用文献１は、サーバ装置がソフトウェアのインストールの実行を許可するインストールキーをユーザ公開鍵で暗号化し端末に送信すること及び端末がそのインストールキーをユーザ秘密鍵で復号化することにより、ソフトウェアのインストールの実行を許可することを開示していない。即ち、引用文献１は、インスロールキーの暗号化及び復号化を開示していない。
【００１７】
引用文献２は、ソフトウェアを構成するファイルの一部または全体の暗号化及び復号化を開示しており、引用文献２もインスロールキーの暗号化及び復号化を開示していない。即ち、引用文献２も、サーバ装置がソフトウェアのインストールの実行を許可するインストールキーをユーザ公開鍵で暗号化し端末に送信すること及び端末がそのインストールキーをユーザ秘密鍵で復号化することにより、ソフトウェアのインストールの実行を許可することを開示していない。
【発明を実施するための最良の形態】
【００１８】
次に本発明の実施形態について図面を参照して説明する。
【００１９】
図１を参照すると、本発明の一実施形態によるソフトウェアインストールシステムは、サーバ装置１０と端末２０とを有する。本実施形態は、ＷＥＢ上でソフトウェアの購入、配信を行う販売形態で、電子証明書を利用したソフトウェアのライセンス管理方法を実現するものである。換言すれば、本実施形態は、ソフトウェアベンダ発行の電子証明書を利用することで、ＷＥＢ配信ソフトウェアのライセンスを厳密に管理し、不正利用やプロダクトキーの流出を防ぐ方法を実現するものである。
【００２０】
ユーザ端末２０はソフトウェアを購入する際に、サーバ装置２０にユーザ登録を行う。ソフトウェアベンダはサーバ装置１０から購入されたソフトウェアを配信すると共にその登録内容からサーバ装置２０の証明書サーバ部１２にて証明書を発行する。公開鍵暗号方式でのユーザ秘密鍵とユーザ公開鍵のペアはサーバ装置１０上で生成され、ユーザ秘密鍵を含む証明書がユーザ端末２０に送信されこのユーザ端末２０のみが秘密鍵を保持する。
【００２１】
ソフトウェアベンダはセキュリティ上十分である鍵長、アルゴリズムを選択する。またソフトウェアのインストール期限を設けたい場合は証明書の有効期限をインストール期限とすることで、期限後のインストールを制御することができる。
【００２２】
ユーザ端末２０がインストールを行う場合、ソフトウェアインストーラ２２はソフトウェアファイルのハッシュ値（ダイジェスト値）を計算し、このハッシュ値に対してソフトウェアベンダから入手した証明書のユーザ秘密鍵で署名を行う。
【００２３】
これをソフトウェアベンダが提供するサーバ装置１０のソフトウェア管理サーバ部１４に送信し、ソフトウェア管理サーバ部１４は不正にソフトウェアが改造されていないか、ユーザ登録を行ったユーザであるかを確認するため、署名検証、証明書検証を行う。
【００２４】
署名検証は、例えば、受信した署名結果をユーザ公開鍵で復号して署名結果のハッシュ値を得、署名結果のハッシュ値を、端末２０に送信したソフトウェアのハッシュ値と比較し、署名結果のハッシュ値がソフトウェアのハッシュ値に一致すれば正しく検証ができたと判断することにより行われる。
【００２５】
検証が正常な場合、ユーザが正規ソフトウェア購入ユーザであることが分かり、サーバ装置１０のソフトウェア管理サーバ部１４は、ソフトウェアのインストールの実行を許可するインストールキーをユーザ公開鍵で暗号化し、ユーザ端末２０に送信する。またその際に該ユーザの付与ライセンス数を減少させる。
【００２６】
ユーザ端末２０のソフトウェアインストーラ２２は受け取った暗号化されたインストールキーをユーザ秘密鍵で復号化し、正しいものであればソフトウェアのインストールを実行する。
【００２７】
これによりソフトウェアベンダが正規に発行したユーザのみ、ソフトウェアのインストールが可能となり、厳密なソフトウェアライセンスの管理を可能とする。
【００２８】
以上をまとめれば、本実施形態では、ユーザ端末２０は、サーバ装置１０からソフトウェアとユーザの証明書とを受けると、ソフトウェアのハッシュ値にユーザの証明書の秘密鍵で署名を行い、署名結果をサーバ装置１０に送信する。サーバ装置１０は、署名結果の検証を行い、正しく検証ができた場合は、ソフトウェアのインストールの実行を許可するインストールキーをユーザ公開鍵で暗号化し、ユーザ端末２０へ送信する。
【００２９】
以下、本実施形態について詳細に説明する。
【００３０】
図１において、サーバ装置１０は、ソフトウェア購入サーバ部１１と、証明書サーバ部１２と、ユーザ管理サーバ部１３と、ソフトウェア管理サーバ部１４とで構成される。ユーザ端末２０は、ＷＥＢブラウザ２１と、ソフトウェアインストーラ２２と、ソフトウェアアンインストーラ２３とで構成される。
【００３１】
証明書サーバ部１２は、証明書発行機能を持ち、失効した証明書リストである証明書失効リストを保持する。
【００３２】
ユーザ管理サーバ部１３は、ユーザ登録証明書と各々のユーザのユーザライセンス数を保持する。
【００３３】
ソフトウェア管理サーバ部１４は、証明書検証機能、署名検証機能、暗号化機能を持ち、各々のソフトウェアのソフトウェアハッシュ値とソフトウェアインストールキーとを保持する。
【００３４】
ソフトウェアインストーラ２２は、ハッシュ値生成機能、署名機能、復号機能を持つ。
【００３５】
ソフトウェアアンインストーラ２３は、アンインストール完了メッセージと、ハッシュ値生成機能と、署名機能とを持つ。
【００３６】
本実施形態の動作を説明する。
【００３７】
“ソフトウェアベンダによるソフトウェア登録”
図２に示す通り、ベンダは、ソフトウェア管理サーバ部１４において、ソフトウェアファイルのダイジェスト値を計算し、ソフトウェア管理テーブル１４１に登録する。またこのソフトウェアの使用許可時に利用するソフトウェアインストールキーも同様に登録する。
【００３８】
“ユーザによるユーザ登録”
図３に示す通り、ユーザは端末２０においてＷＥＢブラウザ２１（図１）等により、ソフトウェアベンダが管理するサーバ装置１０に接続する。購入ソフトウェアの指定情報とユーザ情報をサーバ装置１０に登録すると、サーバ装置１０のソフトウェア管理サーバ部１４は、有効期限を設定し、ソフトウェアベンダ発行の証明書がソフトウェアと共にユーザ端末２０に送信される。
【００３９】
“ソフトウェアのインストール”
図４に示す通り、ユーザ端末２０のソフトウェアインストーラ２２（図１）はソフトウェアファイルのハッシュ値を計算する。このハッシュ値に対して、ユーザはソフトウェアベンダから発行された証明書ファイルのユーザ秘密鍵を利用し、署名を行う。署名を行ったものをサーバ装置１０のソフトウェア管理サーバ部１４に送信する。
【００４０】
これを受け取ったサーバ装置１０のソフトウェア管理サーバ部１４は、署名の検証、証明書の検証を行い、正常に検証を行うことができれば、サーバ装置１０はユーザ管理サーバ部１３（図１）のユーザライセンス数を1減少させる。続いて、ソフトウェアに対応するインストールキーをユーザ証明書に対応する公開鍵で暗号化し、ユーザ端末２０へ送信する。もしもユーザライセンス数が０であれば、サーバ装置１０はインストールキーの送信は行わない。
【００４１】
検証に失敗した場合、サーバ装置１０はユーザ端末２０へその旨を表すメッセージを送信する。
【００４２】
ユーザ端末２０において、インストーラ２２は暗号化されたインストールキーをユーザ秘密鍵で復号し、ユーザ端末２０にインストール許可を与えインストールを実行する。検証に失敗したメッセージを受け取った場合、ユーザ端末２０において、インストールは中断し、エラーメッセージを表示する。
【００４３】
“ソフトウェアのアンインストール”
図５に示す通り、ユーザ端末２０において、アンインストール時に削除したファイルのハッシュ値を取得し、これをアンインストール完了メッセージと合わせてユーザ秘密鍵で署名し、サーバ装置１０のソフトウェア管理サーバ部１４に送信する。これを受け取ったサーバ装置１０のソフトウェア管理サーバ部１４は証明書、署名検証行い、対応するユーザのライセンス数を１増加させる。
【００４４】
“ユーザ秘密鍵の流出”
図１において、ユーザ秘密鍵が流出、または署名、暗号アルゴリズムに不備が発見された場合、サーバ装置１０は証明書サーバ部１２の証明書失効リストに該当の証明書を掲示する。もしも失効した証明書を利用しインストールを実行したとしても、サーバ装置１０はソフトウェア管理サーバ部１４で行われる証明書検証によって、ソフトウェアベンダ側でインストールを禁止することができる。
【００４５】
以上のように、本実施形態では、ソフトウェアライセンスを厳密に管理することが可能であり不正にソフトウェアを利用することが極めて困難である。これはベンダ発行の証明書を利用しユーザ情報を管理しているためである。
【００４６】
図１において、サーバ装置１０は、サーバ装置用プログラムを記録したサーバ装置用プログラム記録媒体ＳＲＭを備えるコンピュータで構成されても良い。このサーバ装置用プログラムは、コンピュータに所定の処理を実行させ、コンピュータを、サーバ装置１０として機能させるためのプログラムである。サーバ装置用プログラムは、サーバ装置用プログラム記録媒体ＳＲＭからコンピュータに読み込まれ、サーバ装置１０の動作を制御する。サーバ装置１０はサーバ装置用プログラムの制御により図１〜図５を参照して説明した処理を実行する。
【００４７】
また、図１において、端末２０は、端末用プログラムを記録した端末用プログラム記録媒体ＴＲＭを備えるコンピュータで構成されても良い。この端末用プログラムは、コンピュータに所定の処理を実行させ、コンピュータを、端末２０として機能させるためのプログラムである。端末用プログラムは、端末用プログラム記録媒体ＴＲＭからコンピュータに読み込まれ、端末２０の動作を制御する。端末２０は端末用プログラムの制御により図１〜図５を参照して説明した処理を実行する。
【００４８】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【図面の簡単な説明】
【００４９】
【図１】本発明の一実施形態によるソフトウェアインストールシステムを説明するための図である。
【図２】図１に示されたソフトウェアインストールシステムのサーバ装置におけるソフトウェア登録動作を説明するための図である。
【図３】図１に示されたソフトウェアインストールシステムのユーザ登録動作を説明するための図である。
【図４】図１に示されたソフトウェアインストールシステムのソフトウェアインストール動作を説明するための図である。
【図５】図１に示されたソフトウェアインストールシステムのソフトウェアアンインストール動作を説明するための図である。
【符号の説明】
【００５０】
１０    サーバ装置
１１    ソフトウェア購入サーバ部
１２    証明書サーバ部
１３    ユーザ管理サーバ部
１４    ソフトウェア管理サーバ部
２０    端末
２１    ＷＥＢブラウザ
２２    ソフトウェアインストーラ
２３    ソフトウェアアンインストーラ
ＳＲＭ    サーバ装置用プログラム記録媒体
ＴＲＭ    端末用プログラム記録媒体
【図１】
2009251977.tif 000003
【図２】
2009251977.tif 000004
【図３】
2009251977.tif 000005
【図４】
2009251977.tif 000006
【図５】
2009251977.tif 000007