(57)【要約】【課題】  契約した端末以外へのソフトウェアの流出防止とライセンス情報の改竄防止を行う。【解決手段】  暗号化手段１３はソフトウェア使用端末２に使用を許可する使用可能ソフトウェア情報１２２２とソフトウェア使用端末ＩＤ１２２１とを含むソフトウェア契約情報１２２を秘密鍵１４で暗号化する。復号化手段２２１は暗号化されたソフトウェア契約情報１２２を秘密鍵１４と対をなす公開鍵２３で復号化する。ＩＤ判定手段２２２は自端末の端末ＩＤ２４を復号化したソフトウェア契約情報１２２に含まれるＩＤと照合する。実行可否判断手段２２３は起動させたいソフトウェアを復号化したソフトウェア契約情報１２２に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する。【選択図】      図１
2005266896.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアを使用するソフトウェア使用端末と、前記ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するＩＤとを含むソフトウェア契約情報を秘密鍵を使用して暗号化する手段とを備え、
前記ソフトウェア使用端末は、暗号化された前記ソフトウェア契約情報を記憶部に格納する手段と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記秘密鍵と対をなす公開鍵を使用して復号化する復号化手段と、自端末の端末ＩＤを復号化した前記ソフトウェア契約情報に含まれるＩＤと照合する手段と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する手段とを備えたことを特徴とするソフトウェア不正使用防止方式。
【請求項２】
ソフトウェアの使用を管理するソフトウェア管理サーバと、ソフトウェアを使用するソフトウェア使用端末とを備え、
前記ソフトウェア管理サーバは、前記ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するＩＤとを含むソフトウェア契約情報を記憶域に格納する契約情報管理手段と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用して暗号化する暗号化手段と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する送信手段とを有し、
前記ソフトウェア使用端末は、暗号化された前記ソフトウェア契約情報を受信して記憶部に格納する受信手段と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記秘密鍵と対をなす公開鍵を使用して復号化する復号化手段と、自端末の端末ＩＤを復号化した前記ソフトウェア契約情報に含まれるＩＤと照合するＩＤ判定手段と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する実行可否判断手段とを備えたことを特徴とするソフトウェア不正使用防止方式。
【請求項３】
ソフトウェアの使用を管理するソフトウェア管理サーバと、ソフトウェアを使用するソフトウェア使用端末とを備え、
前記ソフトウェア管理サーバは、前記ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するＩＤとを含むソフトウェア契約情報を記憶域に格納する契約情報管理手段と、前記ソフトウェア契約情報を前記記憶域から読み出して第１の秘密鍵を使用した暗号化と第１の公開鍵を使用した暗号化とを行う暗号化手段と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する送信手段とを有し、
前記ソフトウェア使用端末は、暗号化された前記ソフトウェア契約情報を受信して記憶部に格納する受信手段と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記第１の公開鍵と対をなす第２の秘密鍵を使用した復号化と前記第１の秘密鍵と対をなす第２の公開鍵を使用した復号化とを行う復号化手段と、自端末の端末ＩＤを復号化した前記ソフトウェア契約情報に含まれるＩＤと照合するＩＤ判定手段と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する実行可否判断手段とを備えたことを特徴とするソフトウェア不正使用防止方式。
【請求項４】
前記暗号化手段は、前記第１の秘密鍵を使用した暗号化を行った後に前記第１の公開鍵を使用した暗号化を行うことを特徴とする請求項３記載のソフトウェア不正使用防止方式。
【請求項５】
前記公開鍵を前記ソフトウェア使用端末の内部に保持することにより改竄不可能としたことを特徴とする請求項１、２、３または４記載のソフトウェア不正使用防止方式。
【請求項６】
前記端末ＩＤと照合する前記ＩＤは、復号化手段が復号化した前記ソフトウェア契約情報に含まれるＩＤを直接入力されたものであることを特徴とする請求項１、２、３、４または５記載のソフトウェア不正使用防止方式。
【請求項７】
ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するＩＤとを含むソフトウェア契約情報を記憶域に格納するステップと、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用して暗号化するステップと、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信するステップと、暗号化された前記ソフトウェア契約情報を受信して前記ソフトウェア使用端末の記憶部に格納するステップと、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記秘密鍵と対をなす公開鍵を使用して復号化するステップと、自端末の端末ＩＤを復号化した前記ソフトウェア契約情報に含まれるＩＤと照合するステップと、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断するステップとを備えたことを特徴とするソフトウェア不正使用防止方法。
【請求項８】
ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するＩＤとを含むソフトウェア契約情報を記憶域に格納するステップと、前記ソフトウェア契約情報を前記記憶域から読み出して第１の秘密鍵を使用した暗号化と第１の公開鍵を使用した暗号化とを行うステップと、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信するステップと、暗号化された前記ソフトウェア契約情報を受信して前記ソフトウェア使用端末の記憶部に格納するステップと、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記第１の公開鍵と対をなす第２の秘密鍵を使用した復号化と前記第１の秘密鍵と対をなす第２の公開鍵を使用した復号化とを行うステップと、自端末の端末ＩＤを復号化した前記ソフトウェア契約情報に含まれるＩＤと照合するステップと、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断するステップとを備えたことを特徴とするソフトウェア不正使用防止方法。
【請求項９】
前記第１の秘密鍵を使用した暗号化を行った後に前記第１の公開鍵を使用した暗号化を行うことを特徴とする請求項８記載のソフトウェア不正使用防止方法。
【請求項１０】
前記公開鍵を前記ソフトウェア使用端末の内部に保持することにより改竄不可能としたことを特徴とする請求項７、８または９記載のソフトウェア不正使用防止方法。
【請求項１１】
前記端末ＩＤと照合する前記ＩＤは、前記復号化するステップで復号化した前記ソフトウェア契約情報に含まれるＩＤを直接入力されたものであることを特徴とする請求項７、８、９または１０記載のソフトウェア不正使用防止方法。
【請求項１２】
ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するＩＤとを含むソフトウェア契約情報を記憶域に格納する契約情報管理手段と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用して暗号化する暗号化手段と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する送信手段とを備えたことを特徴とするソフトウェア管理サーバ。
【請求項１３】
ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するＩＤとを含むソフトウェア契約情報を記憶域に格納する契約情報管理手段と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用した暗号化と公開鍵を使用した暗号化とを行う暗号化手段と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する送信手段とを備えたことを特徴とするソフトウェア管理サーバ。
【請求項１４】
前記暗号化手段は、前記秘密鍵を使用した暗号化を行った後に前記公開鍵を使用した暗号化を行うことを特徴とする請求項１３記載のソフトウェア管理サーバ。
【請求項１５】
ソフトウェア情報と前記ソフトウェアの使用を許可する端末を特定するＩＤとを含むソフトウェア契約情報を秘密鍵を使用して暗号化された前記ソフトウェア契約情報を受信して記憶部に格納する受信手段と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記秘密鍵と対をなす公開鍵を使用して復号化する復号化手段と、自端末の端末ＩＤを復号化した前記ソフトウェア契約情報に含まれるＩＤと照合するＩＤ判定手段と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する実行可否判断手段とを備えたことを特徴とするソフトウェア使用端末。
【請求項１６】
ソフトウェア情報と前記ソフトウェアの使用を許可する端末を特定するＩＤとを含むソフトウェア契約情報を第１の秘密鍵と第１の公開鍵とを使用して暗号化された前記ソフトウェア契約情報を受信して記憶部に格納する受信手段と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記第１の公開鍵と対をなす第２の秘密鍵を使用した復号化と前記第１の秘密鍵と対をなす第２の公開鍵を使用した復号化とを行う復号化手段と、自端末の端末ＩＤを復号化した前記ソフトウェア契約情報に含まれるＩＤと照合するＩＤ判定手段と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する実行可否判断手段とを備えたことを特徴とするソフトウェア使用端末。
【請求項１７】
前記復号化手段は、前記第２の秘密鍵を使用した復号化を行った後に前記第２の公開鍵を使用した復号化を行うことを特徴とする請求項１６記載のソフトウェア使用端末。
【請求項１８】
前記公開鍵を自端末の内部に保持することにより改竄不可能としたことを特徴とする請求項１５、１６または１７記載のソフトウェア使用端末。
【請求項１９】
前記端末ＩＤと照合する前記ＩＤは、復号化手段が復号化した前記ソフトウェア契約情報に含まれるＩＤを直接入力されたものであることを特徴とする請求項１５、１６、１７または１８記載のソフトウェア使用端末。
【請求項２０】
ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するＩＤとを含むソフトウェア契約情報を記憶域に格納する処理と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用して暗号化する処理と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する処理とをコンピュータに実行させるためのプログラム。
【請求項２１】
ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するＩＤとを含むソフトウェア契約情報を記憶域に格納する処理と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用した暗号化と公開鍵を使用した暗号化とを行う処理と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する処理とをコンピュータに実行させるためのプログラム。
【請求項２２】
ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するＩＤとを含むソフトウェア契約情報を記憶域に格納する処理と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用した暗号化を行った後に公開鍵を使用した暗号化を行う処理と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する処理とをコンピュータに実行させるためのプログラム。
【請求項２３】
ソフトウェア情報と前記ソフトウェアの使用を許可する端末を特定するＩＤとを含むソフトウェア契約情報を秘密鍵を使用して暗号化された前記ソフトウェア契約情報を受信する処理と、受信した暗号化された前記ソフトウェア契約情報を記憶部に格納する処理と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記秘密鍵と対をなす公開鍵を使用して復号化する処理と、自端末の端末ＩＤを復号化した前記ソフトウェア契約情報に含まれるＩＤと照合する処理と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する処理とをコンピュータに実行させるためのプログラム。
【請求項２４】
ソフトウェア情報と前記ソフトウェアの使用を許可する端末を特定するＩＤとを含むソフトウェア契約情報を第１の秘密鍵と第１の公開鍵とを使用して暗号化された前記ソフトウェア契約情報を受信する処理と、受信した暗号化された前記ソフトウェア契約情報を記憶部に格納する処理と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記第１の公開鍵と対をなす第２の秘密鍵を使用した復号化と前記第１の秘密鍵と対をなす第２の公開鍵を使用した復号化とを行う処理と、自端末の端末ＩＤを復号化した前記ソフトウェア契約情報に含まれるＩＤと照合する処理と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する処理とをコンピュータに実行させるためのプログラム。
【請求項２５】
ソフトウェア情報と前記ソフトウェアの使用を許可する端末を特定するＩＤとを含むソフトウェア契約情報を第１の秘密鍵と第１の公開鍵とを使用して暗号化された前記ソフトウェア契約情報を受信する処理と、受信した暗号化された前記ソフトウェア契約情報を記憶部に格納する処理と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記第１の公開鍵と対をなす第２の秘密鍵を使用した復号化を行った後に前記第１の秘密鍵と対をなす第２の公開鍵を使用した復号化を行う処理と、自端末の端末ＩＤを復号化した前記ソフトウェア契約情報に含まれるＩＤと照合する処理と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する処理とをコンピュータに実行させるためのプログラム。
【請求項２６】
前記公開鍵は自端末の内部に保持することにより改竄不可能とされたものであることを特徴とする請求項２３、２４または２５記載のプログラム。
【請求項２７】
前記端末ＩＤと照合する前記ＩＤは、前記復号化を行う処理で復号化した前記ソフトウェア契約情報に含まれるＩＤを直接入力されたものであることを特徴とする請求項２３、２４、２５または２６記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はソフトウェア不正使用防止方式、ソフトウェア不正使用防止方法およびプログラムに関し、特に、使用契約を行った端末以外でのソフトウェア使用を防止する、ソフトウェア不正使用防止方式、ソフトウェア不正使用防止方法およびプログラムに関する。
【背景技術】
【０００２】
従来より、ソフトウェア不正使用防止方式として種々の方式が行われている。インストール等にパスワードを使用する方式は、現在最も一般的に用いられている方式である。この方式は、パスワードが不正規のソフトウェア使用者に対して流出した場合、不正使用を防ぐことができないという問題がある。
【０００３】
また、正規のソフトウェア使用者のみ復号化可能なように暗号化して配布する方式が、特許文献１、特許文献２に記載されている。しかし、この方式では、正規のソフトウェア使用者によって復号化された後のソフトウェアが流出した場合、不正使用を防ぐことができないという問題がある。
【０００４】
また、コピーが困難なドングルなどのハードウェアキーを利用する方式が、特許文献３に記載されている。しかし、ハードウェアを使用することによるの高コストの問題、ハードウェアキーが流出した場合に不正使用を防ぐことができないという問題がある。
【０００５】
ソフトウェア本体とライセンス情報を別々に管理する方式が、特許文献４に記載されている。この方式は、ライセンス情報を暗号化したものをソフトウェア使用者のコンピュータにインストールしておき、ソフトウェアの起動時ライセンス情報を復号化して、実行可否判定を行うというものであるが、ライセンス情報の更新を同時に必要とする。このため、復号化と同時に暗号化をソフトウェア使用者のコンピュータにおいて行う必要がある。すなわち、ソフトウェア使用者のコンピュータに存在する鍵で復号化と暗号化の両方を行うことができる必要があり、鍵の盗難によるライセンス情報の改竄の危険性がある。
【０００６】
【特許文献１】特開昭５８−１５４０４０号公報（第２頁、図）
【特許文献２】特開２００１−３５６８３３号公報（第３−４頁、図３）
【特許文献３】特開２００２−１０８４８２号公報（第３−７頁、図１）
【特許文献４】特開２００１−３４４０９７号公報（第３−７頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述したように、従来のソフトウェア不正使用防止方式は、インストール等にパスワードを使用する方式では、パスワードの流出という問題点があった。
【０００８】
また、正規のソフトウェア使用者のみ復号化可能な暗号によって暗号化して配布する方式では、復号化後のソフトウェア本体の流出という問題点があった。
【０００９】
また、ハードウェアキーを用いる方式では、高コストと、ハードウェアキーそのものの不正規ソフトウェア使用者への流出という問題点があった。
【００１０】
特許文献４に記載された方式では、鍵の盗難によるライセンス情報の改竄の危険性があるという問題点があった。
【００１１】
本発明の目的は、契約した端末以外へのソフトウェアの流出防止とライセンス情報の改竄防止を行うソフトウェア不正使用防止方式、ソフトウェア不正使用防止方法およびプログラムを提供するすることにある。
【課題を解決するための手段】
【００１２】
本発明のソフトウェア不正使用防止方式は、ソフトウェアを使用するソフトウェア使用端末と、前記ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するＩＤとを含むソフトウェア契約情報を秘密鍵を使用して暗号化する手段とを備え、
前記ソフトウェア使用端末は、暗号化された前記ソフトウェア契約情報を記憶部に格納する手段と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記秘密鍵と対をなす公開鍵を使用して復号化する手段と、自端末の端末ＩＤを復号化した前記ソフトウェア契約情報に含まれるＩＤと照合する手段と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する手段とを備えたことを特徴とする。
【００１３】
本発明のソフトウェア不正使用防止方式は、ソフトウェアの使用を管理するソフトウェア管理サーバと、ソフトウェアを使用するソフトウェア使用端末とを備え、
前記ソフトウェア管理サーバは、前記ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するＩＤとを含むソフトウェア契約情報を記憶域に格納する契約情報管理手段と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用して暗号化する暗号化手段と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する送信手段とを有し、
前記ソフトウェア使用端末は、暗号化された前記ソフトウェア契約情報を受信して記憶部に格納する受信手段と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記秘密鍵と対をなす公開鍵を使用して復号化する復号化手段と、自端末の端末ＩＤを復号化した前記ソフトウェア契約情報に含まれるＩＤと照合するＩＤ判定手段と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する実行可否判断手段とを備えたことを特徴としてもよい。
【００１４】
本発明のソフトウェア不正使用防止方式は、ソフトウェアの使用を管理するソフトウェア管理サーバと、ソフトウェアを使用するソフトウェア使用端末とを備え、
前記ソフトウェア管理サーバは、前記ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するＩＤとを含むソフトウェア契約情報を記憶域に格納する契約情報管理手段と、前記ソフトウェア契約情報を前記記憶域から読み出して第１の秘密鍵を使用した暗号化と第１の公開鍵を使用した暗号化とを行う暗号化手段と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する送信手段とを有し、
前記ソフトウェア使用端末は、暗号化された前記ソフトウェア契約情報を受信して記憶部に格納する受信手段と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記第１の公開鍵と対をなす第２の秘密鍵を使用した復号化と前記第１の秘密鍵と対をなす第２の公開鍵を使用した復号化とを行う復号化手段と、自端末の端末ＩＤを復号化した前記ソフトウェア契約情報に含まれるＩＤと照合するＩＤ判定手段と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する実行可否判断手段とを備えたことを特徴としてもよい。
【００１５】
本発明のソフトウェア不正使用防止方式は、前記暗号化手段は、前記第１の秘密鍵を使用した暗号化を行った後に前記第１の公開鍵を使用した暗号化を行うことを特徴としてもよい。
【００１６】
本発明のソフトウェア不正使用防止方式は、前記公開鍵を前記ソフトウェア使用端末の内部に保持することにより改竄不可能としたことを特徴としてもよい。
【００１７】
本発明のソフトウェア不正使用防止方式は、前記端末ＩＤと照合する前記ＩＤは、復号化手段が復号化した前記ソフトウェア契約情報に含まれるＩＤを直接入力されたものであることを特徴としてもよい。
【００１８】
本発明のソフトウェア不正使用防止方法は、ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するＩＤとを含むソフトウェア契約情報を記憶域に格納するステップと、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用して暗号化するステップと、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信するステップと、暗号化された前記ソフトウェア契約情報を受信して前記ソフトウェア使用端末の記憶部に格納するステップと、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記秘密鍵と対をなす公開鍵を使用して復号化するステップと、自端末の端末ＩＤを復号化した前記ソフトウェア契約情報に含まれるＩＤと照合するステップと、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断するステップとを備えたことを特徴とする。
【００１９】
本発明のソフトウェア不正使用防止方法は、ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するＩＤとを含むソフトウェア契約情報を記憶域に格納するステップと、前記ソフトウェア契約情報を前記記憶域から読み出して第１の秘密鍵を使用した暗号化と第１の公開鍵を使用した暗号化とを行うステップと、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信するステップと、暗号化された前記ソフトウェア契約情報を受信して前記ソフトウェア使用端末の記憶部に格納するステップと、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記第１の公開鍵と対をなす第２の秘密鍵を使用した復号化と前記第１の秘密鍵と対をなす第２の公開鍵を使用した復号化とを行うステップと、自端末の端末ＩＤを復号化した前記ソフトウェア契約情報に含まれるＩＤと照合するステップと、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断するステップとを備えたことを特徴としてもよい。
【００２０】
本発明のソフトウェア不正使用防止方法は、前記第１の秘密鍵を使用した暗号化を行った後に前記第１の公開鍵を使用した暗号化を行うことを特徴としてもよい。
【００２１】
本発明のソフトウェア不正使用防止方法は、前記公開鍵を前記ソフトウェア使用端末の内部に保持することにより改竄不可能としたことを特徴としてもよい。
【００２２】
本発明のソフトウェア不正使用防止方法は、前記端末ＩＤと照合する前記ＩＤは、前記復号化するステップで復号化した前記ソフトウェア契約情報に含まれるＩＤを直接入力されたものであることを特徴としてもよい。
【００２３】
本発明のソフトウェア管理サーバは、ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するＩＤとを含むソフトウェア契約情報を記憶域に格納する契約情報管理手段と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用して暗号化する暗号化手段と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する送信手段とを備えたことを特徴とする。
【００２４】
本発明のソフトウェア管理サーバは、ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するＩＤとを含むソフトウェア契約情報を記憶域に格納する契約情報管理手段と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用した暗号化と公開鍵を使用した暗号化とを行う暗号化手段と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する送信手段とを備えたことを特徴としてもよい。
【００２５】
本発明のソフトウェア管理サーバは、前記暗号化手段は、前記秘密鍵を使用した暗号化を行った後に前記公開鍵を使用した暗号化を行うことを特徴としてもよい。
【００２６】
本発明のソフトウェア使用端末は、ソフトウェア情報と前記ソフトウェアの使用を許可する端末を特定するＩＤとを含むソフトウェア契約情報を秘密鍵を使用して暗号化された前記ソフトウェア契約情報を受信して記憶部に格納する受信手段と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記秘密鍵と対をなす公開鍵を使用して復号化する復号化手段と、自端末の端末ＩＤを復号化した前記ソフトウェア契約情報に含まれるＩＤと照合するＩＤ判定手段と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する実行可否判断手段とを備えたことを特徴とする。
【００２７】
本発明のソフトウェア使用端末は、ソフトウェア情報と前記ソフトウェアの使用を許可する端末を特定するＩＤとを含むソフトウェア契約情報を第１の秘密鍵と第１の公開鍵とを使用して暗号化された前記ソフトウェア契約情報を受信して記憶部に格納する受信手段と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記第１の公開鍵と対をなす第２の秘密鍵を使用した復号化と前記第１の秘密鍵と対をなす第２の公開鍵を使用した復号化とを行う復号化手段と、自端末の端末ＩＤを復号化した前記ソフトウェア契約情報に含まれるＩＤと照合するＩＤ判定手段と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する実行可否判断手段とを備えたことを特徴としてもよい。
【００２８】
本発明のソフトウェア使用端末は、前記復号化手段は、前記第２の秘密鍵を使用した復号化を行った後に前記第２の公開鍵を使用した復号化を行うことを特徴としてもよい。
【００２９】
本発明のソフトウェア使用端末は、前記公開鍵を自端末の内部に保持することにより改竄不可能としたことを特徴としてもよい。
【００３０】
本発明のソフトウェア使用端末は、前記端末ＩＤと照合する前記ＩＤは、復号化手段が復号化した前記ソフトウェア契約情報に含まれるＩＤを直接入力されたものであることを特徴としてもよい。
【００３１】
本発明のプログラムは、ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するＩＤとを含むソフトウェア契約情報を記憶域に格納する処理と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用して暗号化する処理と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する処理とをコンピュータに実行させる。
【００３２】
本発明のプログラムは、ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するＩＤとを含むソフトウェア契約情報を記憶域に格納する処理と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用した暗号化と公開鍵を使用した暗号化とを行う処理と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する処理とをコンピュータに実行させるようにしてもよい。
【００３３】
本発明のプログラムは、ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するＩＤとを含むソフトウェア契約情報を記憶域に格納する処理と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用した暗号化を行った後に公開鍵を使用した暗号化を行う処理と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する処理とをコンピュータに実行させるようにしてもよい。
【００３４】
本発明のプログラムは、ソフトウェア情報と前記ソフトウェアの使用を許可する端末を特定するＩＤとを含むソフトウェア契約情報を秘密鍵を使用して暗号化された前記ソフトウェア契約情報を受信する処理と、受信した暗号化された前記ソフトウェア契約情報を記憶部に格納する処理と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記秘密鍵と対をなす公開鍵を使用して復号化する処理と、自端末の端末ＩＤを復号化した前記ソフトウェア契約情報に含まれるＩＤと照合する処理と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する処理とをコンピュータに実行させるようにしてもよい。
【００３５】
本発明のプログラムは、ソフトウェア情報と前記ソフトウェアの使用を許可する端末を特定するＩＤとを含むソフトウェア契約情報を第１の秘密鍵と第１の公開鍵とを使用して暗号化された前記ソフトウェア契約情報を受信する処理と、受信した暗号化された前記ソフトウェア契約情報を記憶部に格納する処理と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記第１の公開鍵と対をなす第２の秘密鍵を使用した復号化と前記第１の秘密鍵と対をなす第２の公開鍵を使用した復号化とを行う処理と、自端末の端末ＩＤを復号化した前記ソフトウェア契約情報に含まれるＩＤと照合する処理と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する処理とをコンピュータに実行させるようにしてもよい。
【００３６】
本発明のプログラムは、ソフトウェア情報と前記ソフトウェアの使用を許可する端末を特定するＩＤとを含むソフトウェア契約情報を第１の秘密鍵と第１の公開鍵とを使用して暗号化された前記ソフトウェア契約情報を受信する処理と、受信した暗号化された前記ソフトウェア契約情報を記憶部に格納する処理と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記第１の公開鍵と対をなす第２の秘密鍵を使用した復号化を行った後に前記第１の秘密鍵と対をなす第２の公開鍵を使用した復号化を行う処理と、自端末の端末ＩＤを復号化した前記ソフトウェア契約情報に含まれるＩＤと照合する処理と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する処理とをコンピュータに実行させるようにしてもよい。
【００３７】
本発明のプログラムは、前記公開鍵は自端末の内部に保持することにより改竄不可能とされたものであるようにしてもよい。
【００３８】
本発明のプログラムは、前記端末ＩＤと照合する前記ＩＤは、前記復号化を行う処理で復号化した前記ソフトウェア契約情報に含まれるＩＤを直接入力されたものであるようにしてもよい。
【発明の効果】
【００３９】
本発明によれば下記のような効果がある。ソフトウェア使用端末ＩＤとライセンスの有無を含むソフトウェア契約情報を用いて認証を行うため、不正規のソフトウェア使用端末において使用することを防止できる。また復号化されたソフトウェア契約情報を再度暗号化するには、ソフトウェア管理サーバにのみ存在する秘密鍵が必要となるため、ソフトウェア契約情報の改竄を防止できる。
【発明を実施するための最良の形態】
【００４０】
本発明を実施するための最良の形態について図面を参照して詳細に説明する。図１は第１の実施の形態の構成を示すブロック図である。第１の実施の形態は、ソフトウェア配布者のシステムであるソフトウェア管理サーバ１と、ソフトウェア使用者のシステムであるソフトウェア使用端末２、ソフトウェア使用端末３を含む。配布されるソフトウェアは一般には有償である。図１ではソフトウェア使用端末が２台の例を示しているが、これに限定されるものではなく、ソフトウェア使用端末は１台でも複数でもよい。ソフトウェア使用端末２とソフトウェア使用端末３は、本発明に関する部分は基本的に同じであるので、以下の説明は原則としてソフトウェア使用端末２について説明する。
【００４１】
ソフトウェア管理サーバ１は、契約情報管理手段１１と、ソフトウェア契約情報記憶域１２と、暗号化手段１３と、秘密鍵１４と、送信手段１５とを含む。ソフトウェア契約情報記憶域１２は記憶装置の一領域であり、ソフトウェア使用システムごとに生成されるソフトウェア契約情報を格納する。一例として、ソフトウェア使用端末２に対応するソフトウェア契約情報をソフトウェア契約情報１２２とする。
【００４２】
契約情報管理手段１１は、ソフトウェア契約情報記憶域１２に含まれる各ソフトウェア使用システムに対応したソフトウェア契約情報群に対し、作成と削除と更新とを行う。すなわち、あるソフトウェア使用システムでのソフトウェアの契約が変更されると、契約情報管理手段１１は、対応するソフトウェア使用システムのソフトウェア契約情報を更新する。
【００４３】
図２はソフトウェア契約情報記憶域１２に記憶されるソフトウェア契約情報の一例を示す図である。ソフトウェア契約情報は、契約情報管理手段１１によってソフトウェア使用システムごとに生成される。一例として、ソフトウェア使用端末２に対応したソフトウェア契約情報をソフトウェア契約情報１２２とし、ソフトウェア使用端末３に対応したソフトウェア契約情報をソフトウェア契約情報１２３とする。ソフトウェア契約情報１２２は、ソフトウェア使用端末ＩＤ１２２１と使用可能ソフトウェア情報１２２２を含む。ソフトウェア使用端末ＩＤ１２２１は、対応するソフトウェア使用端末２を一意に特定することが可能な情報であり、正規のソフトウェア使用システム以外での使用を防止するために使用される。ソフトウェア使用端末ＩＤ１２２１としては、ソフトウェア管理サーバ１が一意に割り当てたＩＤを使用する。ソフトウェア使用端末ＩＤ１２２１としてＭＡＣ（Media Access Control）アドレスを使用してもよい。使用可能ソフトウェア情報１２２２は、対応するソフトウェア使用端末２において使用可能とするソフトウェアの情報であり、ソフトウェアの実行可否判断に使用される。使用可能ソフトウェア情報１２２２は、対象となるソフトウェア使用システムにおいて使用可能なソフトウェアを特定する情報であり、例えば、ソフトウェアの名称、一意に割り当てたソフトウェア番号などである。使用可能ソフトウェア情報１２２２がライセンスに関する付帯的な情報を持ってもよい。例えば、ライセンスの有効期限を一緒に保持しておき、期限付きライセンスを実現するなどの応用も考えられる。図２は、使用可能ソフトウェア情報１２２２は、ソフトウェア使用端末２で、ソフトウェアａ，ｂ，ｃ，ｄ，ｅ，ｆが契約されている場合の例であり、使用可能ソフトウェア情報１２３２は、ソフトウェア使用端末３で、ソフトウェアａ，ｃ，ｄ，ｇ，ｈ，ｉが契約されている場合の例である。
【００４４】
暗号化手段１３は、ソフトウェア管理サーバ１に唯一存在し公開鍵２３と対をなす秘密鍵１４を使用して、ソフトウェア契約情報１２２を暗号化する。公開鍵２３は、全ソフトウェア使用システムに共通な鍵としてソフトウェア使用端末２、ソフトウェア使用端末３に配布されている。
【００４５】
送信手段１５は、暗号化されたソフトウェア契約情報１２２をソフトウェア使用端末２へ送付する。送付方法としては、具体的には、インターネットを介した通信で送付する。記憶媒体に格納して宅配で送付などの方法でもよい。
【００４６】
ソフトウェア使用端末２は、記憶部２０と、受信手段２１と、ソフトウェア情報チェック部２２と、公開鍵２３と、端末ＩＤ２４と、起動手段２５を含む。
【００４７】
受信手段２１は、暗号化されたソフトウェア契約情報１２２をソフトウェア管理サーバ１から受け取る。受信手段２１は、受け取ったソフトウェア契約情報１２２を記憶部２０に格納する。
【００４８】
ソフトウェア情報チェック部２２は、復号化手段２２１と、ＩＤ判定手段２２２と、実行可否判断手段２２３とを含む。
【００４９】
復号化手段２２１は、暗号化されたソフトウェア契約情報１２２を記憶部２０から読み出して、全ソフトウェア使用システムに共通かつ改竄不可能な公開鍵２３を使用して復号化する。ここで、復号化に失敗した場合や、すでに復号化されていた場合は、復号化手段２２１によって情報が不正であるとみなされ、ソフトウェアの使用が不可能となる。ソフトウェア契約情報１２２の改竄による不正を防止するため、ソフトウェア契約情報１２２は、復号化された直後のものと同一であることが保証されている場合にのみ、ＩＤ判定と実行可否判断とに使用する。すなわち、復号化後からＩＤ判定、実行可否判断までに不正使用者による改竄が加えられた可能性があるソフトウェア契約情報１２２は、ＩＤ判定と実行可否判断とに使用しない。公開鍵２３を別の鍵に置き換えることを可能とした場合、ソフトウェア契約情報１２２を、一旦公開鍵２３で復号化し、改竄を加え、適当な秘密鍵Ａで暗号化し、秘密鍵Ａに対応する公開鍵を公開鍵２３に置き換えることで、不正使用防止が破られる危険性がある。公開鍵２３を改竄不可能な方法で保持する理由は、この危険を防止するためである。公開鍵２３を改竄不可能な方法で保持する方法としては、例えば、ソフトウェア情報チェック部２２が公開鍵２３を内部に保持し、不正使用者が改竄できないようにすることが考えられる。さらに具体的には、ソフトウェア情報チェック部２２として動作する実行ファイル中にハードコーディングして持っておく方法がある。
【００５０】
ＩＤ判定手段２２２は、復号化手段２２１によって復号化されたソフトウェア契約情報１２２中のソフトウェア使用端末ＩＤ１２２１と、ソフトウェア使用端末２に固有かつ改竄不可能な情報である端末ＩＤ２４とを比較し、一致することを確認する。一致しなかった場合は、ＩＤ判定手段２２２によってソフトウェアの使用が不可能であるとみなされ、次の実行可否判断手段２２３は、起動手段２５からの実行可否の問い合わせに対して、常に実行不可を回答する。不正使用者が、自システム以外のソフトウェア使用システム向けに作成されたソフトウェア契約情報を入手し、それに含まれるソフトウェア使用端末ＩＤに一致するよう自システムのシステムＩＤを改竄することにより、ソフトウェアを不正に使用することがある。端末ＩＤ２４を改竄不可能とする理由は、このような不正使用を防止するためである。
【００５１】
実行可否判断手段２２３は、使用可能ソフトウェア情報１２２２中の情報を参照し、起動手段２５によって行われる実行可否の問い合わせに対して、実行可否を判断し、応答する。
【００５２】
起動手段２５は、実行可否判断手段２２３に対して、起動されたソフトウェアの実行可否の問い合わせを行う。実行可の場合は、ソフトウェアを起動し、実行不可の場合は、ソフトウェアを起動しない。
【００５３】
本ソフトウェア不正使用防止方法において公開鍵暗号を使用する理由は、ソフトウェア契約情報１２２の改竄を防止するためである。暗号化と復号化とを別の鍵で行い、ソフトウェア情報チェック部２２が復号化可能な方法で暗号化できる秘密鍵は、ソフトウェア管理者のみが保持するものとしている。これにより、ソフトウェア使用システムにおいて許されるソフトウェア契約情報に対する操作は、復号化と参照とのみとなるため、ソフトウェア契約情報１２２の改竄を防止することができる。
【００５４】
次に、第１の実施の形態の動作について説明する。図３は第１の実施の形態の動作を示すフローチャートである。ソフトウェア使用端末２で、新たにソフトウェアｉが契約された場合の例について具体的に説明する。
【００５５】
ソフトウェア使用端末２によってソフトウェアｉが契約された際にソフトウェア管理サーバ１から配布されるのは、ソフトウェアｉと、ソフトウェア使用端末２向けの暗号化されたソフトウェア契約情報１２２である。ソフトウェアｉについては、インターネット、宅配などの任意の手段によってソフトウェア使用端末２に配布され、ソフトウェア使用端末２でインストールされる。ソフトウェアの配布はソフトウェア契約情報１２２の配布と同時でもよいし、同時でなくてもよい。また、ソフトウェア契約情報１２２は以下のような流れで配布・使用される。
【００５６】
ソフトウェア使用端末２で契約されたソフトウェアｉを使用可能とするために、契約情報管理手段１１は、ソフトウェア使用端末２に対応するソフトウェア契約情報１２２中の使用可能ソフトウェア情報１２２２にソフトウェアｉの情報を追加する（ステップＡ１）。図４は、ソフトウェアｉを追加、更新した後の使用可能ソフトウェア情報１２２２を示す図である。
【００５７】
次に暗号化手段１３は、ステップＡ１で更新したソフトウェア契約情報１２２を、ソフトウェア管理サーバ１にのみ唯一存在する秘密鍵１４を使用して暗号化する（ステップＡ２）。
【００５８】
次に送信手段１５は、ステップＡ２で暗号化されたソフトウェア契約情報１２２を、インターネットを介してソフトウェア使用端末２へ送付する（ステップＡ３）。
【００５９】
次に受信手段２１は、暗号化されたソフトウェア契約情報１２２を受け取り、記憶部２０のソフトウェア情報チェック部２２が参照可能な場所に保持する（ステップＡ４）。
【００６０】
ソフトウェア情報チェック部２２が起動されると、復号化手段２２１は、暗号化されたソフトウェア契約情報１２２を記憶部２０から読み出して、秘密鍵１４と対をなし改竄不可能な公開鍵２３を使用して復号化する（ステップＡ５）。このとき、ソフトウェア契約情報１２２がすでに復号化されていたり、暗号化されたソフトウェア契約情報１２２が破損していたなどの理由で復号化に失敗した場合、復号化手段２２１は、ソフトウェア契約情報１２２は不正であるとみなし、すべてのソフトウェアを使用不可能とする。これは、ソフトウェア契約情報１２２の改竄による不正を防止するためである。
【００６１】
ソフトウェア情報チェック部２２は、システム起動時に、システムプロセスとして起動され、起動手段２５からの問い合わせを待つ。あるいは、ソフトウェアの起動時に、起動手段２５からの実行可否の問い合わせの発行を契機に起動されるようにしてもよい。
【００６２】
次にＩＤ判定手段２２２は、復号化されたソフトウェア契約情報１２２中のソフトウェア使用端末ＩＤ１２２１と、ソフトウェア使用端末２に固有かつ改竄不可能な端末ＩＤ２４とを比較し、一致することを確認する（ステップＡ６）。一致しない場合は、ＩＤ判定手段２２２は、ソフトウェア契約情報１２２はソフトウェア使用端末２用のものではないとみなし、すべてのソフトウェアを使用不可能とする。
【００６３】
次に実行可否判断手段２２３は、ソフトウェアｉの起動時に起動手段２５が行う実行可否の問い合わせを受けた際、復号化されたソフトウェア契約情報１２２中の使用可能ソフトウェア情報１２２２を参照する（ステップＡ７）。ステップＡ７で、使用可能ソフトウェア情報１２２２にソフトウェアｉの情報が含まれる場合は実行可、含まれない場合は実行不可と判断し、応答する。
【００６４】
なお、ソフトウェア契約情報１２２の改竄による不正を防止するため、ソフトウェア情報チェック部２２中のＩＤ判定手段２２２と実行可否判断手段２２３に入力されるソフトウェア契約情報１２２は、復号化手段２２１によって復号化されたものと同一と保証されるよう、復号化手段２２１の出力を直接入力するものとする。つまり、ファイル等を介さずに入力するものとし、復号化されたソフトウェア契約情報１２２を外部入力としてＩＤ判定手段２２２や実行可否判断手段２２３に与えることは不可能とする。
【００６５】
ソフトウェアの起動時に、起動手段２５は、実行可否の問い合わせをソフトウェア情報チェック部２２中の実行可否判断手段２２３に対して行い、実行可の応答を受けた場合はソフトウェアを起動し（ステップＡ８）、実行不可の応答を受けた場合はソフトウェアを起動しない（ステップＡ９）。
【００６６】
次に、本発明の第２の実施の形態について説明する。図５は、本発明の第２の実施の形態の構成を示すブロック図である。第２の実施の形態は、暗号化手段１３が、ソフトウェア使用端末２の秘密鍵２６と対をなす公開鍵１６を使用して暗号化する点が第１の実施の形態と異なる。図５を参照すると、図１（第１の実施の形態）に対して、ソフトウェア管理サーバ１に公開鍵１６が追加され、ソフトウェア使用端末２に秘密鍵２６が追加されている。
【００６７】
このようにすることで、ソフトウェア管理サーバ１からソフトウェア使用端末２へソフトウェア契約情報１２２を送付する際に第三者に情報を盗まれた場合に、ソフトウェア契約情報１２２が全ソフトウェア使用システムに共通である公開鍵２３を使用して復号化されてソフトウェア使用端末２のシステムＩＤや使用しているソフトウェアの情報が流出することを、防止することができる。
【００６８】
図６は第２の実施の形態の動作を示すフローチャートである。ステップＢ２とＢ５が第１の実施の形態（図３）と異なる。その他のステップ（ステップＢ１、Ｂ３、Ｂ４、Ｂ６〜Ｂ９）は第１の実施の形態（図３のステップＡ１、Ａ３、Ａ４、Ａ６〜Ａ９）と同じである。ステップＢ２とＢ５について説明する。
【００６９】
暗号化手段１３は、ソフトウェア管理サーバ１にのみ唯一存在する秘密鍵１４を使用してソフトウェア使用端末２のソフトウェア契約情報１２２を暗号化し、さらにこれをソフトウェア使用端末２が配布する公開鍵１６を用いて暗号化する（ステップＢ２）。
【００７０】
ソフトウェア情報チェック部２２が起動されると、復号化手段２２１は、暗号化されたソフトウェア契約情報１２２を、ソフトウェア使用端末２自身の秘密鍵２６を使用して復号化し、さらに、秘密鍵１４と対をなし改竄不可能な公開鍵２３を使用して復号化する（ステップＢ５）。
【００７１】
ステップＢ２での暗号化の順序は機能的にはどちらが先でもよい。ただし、公開鍵１６による暗号化は、ソフトウェア管理サーバ１とソフトウェア使用端末２の間の伝送経路での情報漏洩に対処するためのものなので、ソフトウェア使用端末２でデータを取得したのち、秘密鍵２６による復号化は行っておいた状態で保存したほうが効率がよい。つまり、秘密鍵１４で暗号化した後に公開鍵１６で暗号化するほうが望ましい。もし、公開鍵１６による暗号化を先に行った場合、ソフトウェア使用端末２でデータを取得後に、そのまま保存しておかねばならず、ソフトウェア情報チェック部２２が使用するたびに２回の復号化を行う必要がある。
【００７２】
本発明の第１または第２の実施の形態の契約情報管理部１１、暗号化手段１３、送信手段１５の動作はコンピュータ・プログラム処理により行わせることが可能である。すなわち、記録媒体に記録したプログラムをソフトウェア管理サーバ１に読み込ませるか、あるいは、ネットワークからプログラムをソフトウェア管理サーバ１に読み込ませて、第１または第２の実施の形態で説明した動作を実行させる。
【００７３】
本発明の第１または第２の実施の形態の受信手段２１、ソフトウェア情報チェック部２２の動作はコンピュータ・プログラム処理により行わせることが可能である。すなわち、記録媒体に記録したプログラムをソフトウェア使用端末２に読み込ませるか、あるいは、ネットワークからプログラムをソフトウェア使用端末２に読み込ませて、第１または第２の実施の形態で説明した動作を実行させる。
【図面の簡単な説明】
【００７４】
【図１】第１の実施の形態の構成を示すブロック図である。
【図２】ソフトウェア契約情報記憶域に記憶されるソフトウェア契約情報の一例を示す図である。
【図３】第１の実施の形態の動作を示すフローチャートである。
【図４】ソフトウェアｉを追加、更新した後の使用可能ソフトウェア情報を示す図である。
【図５】第２の実施の形態の構成を示すブロック図である。
【図６】第２の実施の形態の動作を示すフローチャートである。
【符号の説明】
【００７５】
１    ソフトウェア管理サーバ
２    ソフトウェア使用端末
１１    契約情報管理手段
１２    ソフトウェア契約情報記憶域
１３    暗号化手段
１４    秘密鍵
１５    送信手段
１６    公開鍵
２０    記憶部
２１    受信手段
２２    ソフトウェア情報チェック部
２３    公開鍵
２４    端末ＩＤ
２５    起動手段
２６    秘密鍵
１２２    ソフトウェア契約情報
２２１    復号化手段
２２２    ＩＤ判定手段
２２３    実行可否判断手段
１２２１    ソフトウェア使用端末ＩＤ
１２２２    使用可能ソフトウェア情報
【図１】
2005266896.tif 000003
【図２】
2005266896.tif 000004
【図３】
2005266896.tif 000005
【図４】
2005266896.tif 000006
【図５】
2005266896.tif 000007
【図６】
2005266896.tif 000008