説明

ソフトウェアのライセンス管理システム、プログラム及び装置

【課題】ソフトウェアのライセンス管理システム、プログラム及び装置に関し、ソフトウェアの多重稼動による不正使用を防ぐと共に、アンインストールを実行した正規の購入者が使用パソコンを容易に変更可能にする。
【解決手段】ライセンス購入者側のコンピュータで、ソフトウェアのインストール実行時に、インストール毎に異なり、かつ、最後の実行がインストールかアンインストールかを示す情報を含むインストール識別キーを暗号化したログファイルを生成してメモリ1−3に保存する。該ログファイルはライセンス管理装置に送信され、ライセンス管理装置は、ログファイル情報を基にパスワードファイルを生成して該コンピュータに送信し、該コンピュータでは、ソフトウェアの起動時に、該パスワードファイルとログファイルとに含まれるインストール識別キーの情報を照合し、一致したときに、当該ソフトウェアを利用可能に起動する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェアのライセンス管理システム、プログラム及び装置に関し、特に、ネットワークに接続されたコンピュータで使用されるソフトウェアのライセンス管理をコンピュータ単位に管理する所謂ノードロックライセンスマネージメント方式のライセンス管理システム、ライセンス管理プログラム及びライセンス管理装置に関する。
【背景技術】
【0002】
ソフトウェアのライセンス管理には、該ソフトウェアの使用コンピュータを固定化するシングルユーザ向きのノードロックライセンスマネージメントと、サーバ/クライアント方式で管理するマルチユーザ向きのフローティングライセンスマネージメントとが知られている。
【0003】
図5は従来のノードロックライセンスマネージメントの処理シーケンス例を示す。まず、ノードロックライセンスのソフトウェアの購入者は、該ソフトウェアのライセンスを販売者から購入し(ステップ5−1)、購入者のコンピュータ(端末A)にライセンス証書を適用して該ソフトウェアをインストールする(ステップ5−2)。
【0004】
そして、購入者はコンピュータ(端末A)のホストIDを販売者のライセンス管理装置に通知し(ステップ5−3)、販売者のライセンス管理装置では該コンピュータ(端末A)のホストIDを含むパスワードファイルを作成し(ステップ5−4)、該パスワードファイルを購入者のコンピュータ(端末A)に通知する(ステップ5−5)。
【0005】
購入者は、当該ソフトウェアの指定ファイルに上記のパスワードファイルを配備する(ステップ5−6)。そして購入者が該ソフトウェアを起動したとき(ステップ5−7)、該ソフトウェアは、上記の配備されたパスワードファイル内のホストIDと自装置のホストIDとを照合し(ステップ5−8)、両者が一致したときに該ソフトウェアを利用可能な状態にして起動する。該ソフトウェアの起動時には常にこのパスワードファイル内のホストIDと自装置のホストIDとを照合し、一致したときにのみ起動する。
【0006】
このように、ノードロックライセンスマネージメントは、ソフトウェアをインストールしたコンピュータ毎に、エンドユーザ(購入者)側から発売元の販売者側に、起動時のプロテクト解除のパスワードファイルの発行を申請して取得し、この際にソフトウェアを使用するコンピュータのホストID(各コンピュータ固有の識別情報)をエンドユーザ側から販売者側に渡し、販売者側は、インストールしたコンピュータを該ホストIDを基に把握し、発行するパスワードファイルの数量を管理することで、契約台数(ライセンス数)を超えて該ソフトウェアを複数台のコンピュータにインストールするなどの不正使用を防ぎ、適正な申請に対してのみパスワードファイルを発行し、該ソフトウェアを使用可能にする方式である。
【0007】
なお、前述のホストIDとしては、各コンピュータ(端末)に接続されたイーサネット(登録商標)カードのMAC(Media Access Control)アドレス又は該コンピュータのハードディスクのボリューム番号等を使用することができる。
【0008】
ライセンスが設定されたソフトウェアを管理する技術に関する先行技術文献として、下記の特許文献1には、複数のプログラムが含まれたソフトウエアパッケージがインストールされるコンピュータでのライセンス管理に使用されるライセンスキーデータであって、ソフトウエアパッケージにおけるライセンスされたプログラムをコンピュータに特定させるライセンスデータと、ライセンスデータの正当性をソフトウエアパッケージにつき一括してコンピュータに証明させる証明データとを含むライセンスキーデータについて記載されている。
【0009】
また、下記の特許文献2には、1ユーザ1ライセンスの原則に則ったソフトウェアの供給を行う場合に、特定の1台に使用端末を限定することがなく、且つ、ソフトウェアの適正使用を可能にするために、第1のライセンス情報が予め具備されたソフトウェアの使用を許可する際に、該ソフトウェアの使用端末(PC)との間でデータ通信することが可能な携帯電話機から、該ソフトウェアのソフトウェア識別情報とユーザ識別情報を受信する過程と、第1のライセンス情報と組み合わされることによって該ソフトウェアの使用を許可する第2のライセンス情報を携帯電話機へ送信する過程と、携帯電話機から使用端末へ、第2のライセンス情報が供給される過程とを含むソフトウェアライセンス管理方法が記載されている。
【0010】
また、下記の特許文献3には、使用権限が設けられたソフトウェアのライセンスを発行すると共に、発行しているライセンス数が所定数以下となるように制限するライセンス管理サーバにおけるライセンス管理方法であって、該ソフトウェアを実行するクライアントとの間で所定時間毎に行うライセンス確認処理の成功又は失敗を判定する判定段階と、該判定の結果が所定回数以上連続して失敗であるときに、該クライアントに発行したライセンスを取り消す取消段階とを有し、ネットワーク上で同時に使用されているアプリケーションの数を正確に把握し、使用権限が設けられたソフトウェアのライセンスを正確に管理するライセンス管理方法について記載されている。
【0011】
また、下記の特許文献4には、ソフトウェアのコピー回数がライセンス契約で定められている場合に、ソフトウェアの不正コピーを自動的に発見し、又はその使用禁止を自動的に行うネットワーク上のライセンス管理システムについて記載されている。該ライセンス管理システムは、被管理コンピュータでソフトウェアの実行に先立って送信管理部が当該被管理コンピュータ及びソフトウェアを示すライセンス確認情報を管理コンピュータへ通知し、管理コンピュータでは、被管理コンピュータとソフトウェアとの組み合わせに基づき、管理テーブルを参照しながら不正コピーか否かを判定し、不正コピーである場合には、受信管理部がソフトウェアの起動を禁止するものである。
【特許文献1】特開2006−163896号公報
【特許文献2】特開2004−139238号公報
【特許文献3】特開2003−108252号公報
【特許文献4】特開平9−97174号公報
【発明の開示】
【発明が解決しようとする課題】
【0012】
前述したように、ノードロックライセンスマネージメントは、ソフトウェアの起動のプロテクト解除キーであるパスワードファイルを、各コンピュータ対応にソフトウェアの販売者側が発行し、購入者側のコンピュータでは該パスワードファイルを適用しなければ、該ソフトウェアを起動することができないようにするものである。
【0013】
即ち、1ライセンスを1ノード(1コンピュータ)にロック(固定)させるのもので、パスワードファイルの発行を厳正に行うことにより、不正使用に対する安全性を確保することができる。しかし、敏速な開発が命題となっている今日の開発環境等で使用されるコンピュータのソフトウェアに対して、1ノードにライセンスがロックされることは、使用コンピュータを変更することができなくなることとなり、非効率的且つ非現実的なものとなる。
【0014】
一方、フローティングライセンスマネージメントを採用すれば、上述の問題は解決されるであろうが、フローティングライセンスマネージメントでは、複数台のコンピュータ(クライアント)で使用されるソフトウェアのライセンス管理をライセンスサーバで行うため、該ライセンスサーバを新たに設置する必要があること、また、ノードロックライセンスマネージメントに比べて一般的に複雑な処理を必要とし、高価なものとなることなど、フローティングライセンスマネージメント特有のデメリットも少なからず存在する。
【0015】
また、フローティングライセンスマネージメントでは、使用コンピュータを変更しようとした場合に、ライセンスサーバ側の設定も変更する必要が有る場合がり、ライセンス管理を購入者側のエンドユーザで行わなければならないというデメリットもある。
【0016】
そのため、販売者側は、ノードロックライセンスマネージメントを採用し、購入者側が使用コンピュータを変更する必要が生じた場合、新たなコンピュータのホストIDを販売者側に申請すれば、販売者側は該ホストIDのパスワードファイルを発行して利用可能にすることにより、コンピュータの変更に対して柔軟に対応する傾向にある。しかし、この柔軟な対応が、購入ライセンス数以上の不正多重稼動を許す状況を生み出すこととなっている。
【0017】
即ち、購入者側が一度インストールしたソフトウェアをアンインストールした後に、他の異なるコンピュータに再インストールしてコンピュータを変更するのは、該ソフトウェアの正規の使用であるが、その場合、販売者側に新たなパスワードファイルの発行を申請する。該申請に対して、販売者側では、購入者側が本当に当該ソフトウェアを当初のコンピュータからアンインストールしたか否かを確認することができないため、購入者側の申請に応じて新たなパスワードファイルを発行する。
【0018】
しかし、悪意の有る購入者は、この新たなパスワードファイルの発行を悪用して、当初のコンピュータのアンインストールを行うことなく、不正にコピーしたソフトウェアを複数のコンピュータにインストールし、各コンピュータ毎にそれぞれ新たなパスワードファイルの発行を申請することにより、規定のライセンス数以上のコンピュータに不正にソフトウェアを多重稼動させることが可能となってしまう。
【0019】
本発明は、ライセンス数を超えるパスワードファイルの発行を防ぎ、ソフトウェアの多重稼動の不正使用を防ぐと共に、アンインストールを実行した正規の購入者が使用パソコンを円滑に変更することを可能にする。また、照合データの改ざん等による不正利用を防ぎ、ライセンスの不正取得に対する安全性を確保することを目的とする。
【課題を解決するための手段】
【0020】
本発明のソフトウェアのライセンス管理システムは、ライセンス管理の対象となるソフトウェアをインストールしたコンピュータと、該コンピュータとネットワークを介して接続され、該ソフトウェアのライセンス管理するライセンス管理装置とから成るライセンス管理システムにおいて、前記コンピュータに、前記ソフトウェアのインストールが実行された際に、インストール毎に異なるインストール識別キーを生成するとともに、当該コンピュータで該ソフトウェアのインストールが実行されたか又はアンインストールが実行されたかを示すインストール状況情報を前記インストール識別キーの情報と共に暗号化したログファイルを生成し、該ログファイルをメモリに保存する手段を備え、前記ライセンス管理装置に、前記コンピュータから送信された前記ログファイルを受信し、該ログファイルに含まれるインストール識別キーの情報及びインストール状況情報を基に、当該コンピュータでの最後の実行がインストールであると判定された場合に、ライセンス管理リストに登録されたインストール済みコンピュータの個数が所定の個数以下かどうかを判定し、所定の個数以下である場合に、前記ログファイルのインストール識別キーの情報を基にパスワードファイルを生成し暗号化し、該パスワードファイルを前記コンピュータに送信し、かつ、前記ライセンス管理リストにインストール済みコンピュータの個数に1を加算して登録し、前記インストール状況情報を基に、当該コンピュータでの最後の実行がアンインストールであると判定された場合は、前記ライセンス管理リストにインストール済みコンピュータの個数から1を減算して登録する手段を備え、更に前記コンピュータに、前記ライセンス管理装置から送信された前記パスワードファイルを受信し、該パスワードファイルをメモリ保存する手段と、当該ソフトウェアの起動時に、前記パスワードファイルに含まれるインストール識別キーの情報と前記ログファイルに含まれるインストール識別キーの情報とを照合し、両者のインストール識別キーの情報が一致したときに、当該ソフトウェアを利用可能に起動するソフトウェア起動手段を備えたことを第1の特徴とする。
【0021】
また、前記コンピュータに、前記ソフトウェアのインストールが実行された際に、インストール毎に異なるインストール識別キーを生成し、該インストール識別キーを含むキーファイルを、ユーザが操作不可能なファイルとしてメモリに保存する手段と、当該コンピュータで該ソフトウェアのインストールが実行されたか又はアンインストールが実行されたかを示すインストール状況情報を前記インストール識別キーの情報と共に暗号化したログファイルを生成し、該ログファイルをユーザが操作可能なファイルとしてメモリに保存する手段を備え、前記ライセンス管理装置に、前記コンピュータから送信された前記ログファイルを受信し、該ログファイルに含まれるインストール識別キーの情報及びインストール状況情報を基に、当該コンピュータでの最後の実行がインストールであると判定された場合に、ライセンス管理リストに登録されたインストール済みコンピュータの個数が所定の個数以下かどうかを判定し、所定の個数以下である場合に、前記ログファイルのインストール識別キーの情報を基にパスワードファイルを生成し暗号化し、該パスワードファイルを前記コンピュータに送信し、かつ、前記ライセンス管理リストにインストール済みコンピュータの個数に1を加算して登録し、前記インストール状況情報を基に、当該コンピュータでの最後の実行がアンインストールであると判定された場合は、前記ライセンス管理リストにインストール済みコンピュータの個数から1を減算して登録する手段を備え、更に前記コンピュータに、前記ライセンス管理装置から送信された前記パスワードファイルを受信し、該パスワードファイルをメモリ保存する手段と、当該ソフトウェアの起動時に、前記パスワードファイルに含まれるインストール識別キーの情報と前記キーファイルに含まれるインストール識別キーの情報とを照合し、両者のインストール識別キーの情報が一致したときに、当該ソフトウェアを利用可能に起動するソフトウェア起動手段とを備えたことを第2の特徴とする。
【0022】
また、前記インストール識別キーとして、前記コンピュータに接続されたイーサネット(登録商標)カードのMACアドレス又は該コンピュータのハードディスクのボリューム番号を用いたコンピュータ固有の識別情報を含むことを第3の特徴とする。
【0023】
また、前記インストール識別キーとして、インストールが実行されたときの時刻情報を含むことを第4の特徴とする。また、前記インストール識別キーとして、該インストール識別キーの生成時に生成した乱数を含むことを第5の特徴とする。
【発明の効果】
【0024】
本発明によれば、ソフトウェアをインストールしたコンピュータで、インストール時にインストール識別キーを作成し、該インストール識別キーと共に最後に実行されたインストール又はアンインストールの情報を含むログファイルを保存しておき、ノードロックライセンスマネージメントにおけるパスワード発行時に、該ログファイル情報を販売者側のライセンス管理装置に送信し、販売者側では該ログファイル情報を基にインストール状況を把握してパスワードファイルを送信することにより、ライセンス数を超えるパスワードファイルの発行を防ぎ、ソフトウェアの多重稼動の不正使用を防ぐことができると共に、アンインストールを実行した正規の購入者が使用パソコンを円滑に変更することが可能となる。
【0025】
また、インストール識別キーの情報を、販売者側のライセンス管理装置に送信するためにユーザが取り扱い可能なログファイルとして保存する一方、該インストール識別キーの情報を、パスワードファイルと照合するためにユーザが取り扱い不可能なキーファイルとして保存することにより、ユーザによるキーファイルの削除や書き換えを防ぎ、パスワードファイルとの照合を確実に行うことができ、信頼性の高いライセンス管理を行うことが可能となる。
【0026】
また、上記インストール識別キー、ログファイル及びパスワードファイルを暗号化して保存及び送受することにより、購入者及び第三者がそれらのファイルの内容を見ることを防ぎ、改ざん等による不正利用を防ぎ、ライセンスの不正取得に対する安全性を確保することができる。
【発明を実施するための最良の形態】
【0027】
図1は本発明による購入者側の端末(コンピュータ)におけるライセンス管理の処理ブロックを示す。同図に示すように、購入者側の処理ブロックとして、インストール/アンインストール実行部1−1とソフトウェア起動実行部1−2とを含むソフトウェア処理ブロックと、ユーザ操作を伴う人為処理ブロックとから成る。
【0028】
インストール/アンインストール実行部1−1では、当該ソフトウェアのインストール時に、インストール識別キー(X_Ins)を作成するインストール識別キー作成処理1−11を行う。インストール識別キー作成処理1−11では、乱数とホストIDと時刻情報とを組み合わせた情報を暗号化したインストール識別キー(X_Ins)を生成し、該インストール識別キー(X_Ins)を当該コンピュータのメモリ1−3のインストールディレクトリにキーファイルとして保存する。
【0029】
上記のインストール識別キー(X_Ins)作成処理1−11により、当該ソフトウェアのインストール毎に各コンピュータ対応に一意の暗号文字列が生成される。この暗号文字列情報から成るキーファイルは、購入者であるエンドユーザには表示されない秘匿情報(システムファイル)として保存する。
【0030】
また、インストール/アンインストール実行部1−1では、当該ソフトウェアのインストール及びアンインストール実行終了時に、最後に実行された処理、即ちインストールが行われたかアンインストールが行われたかを示すインストール状況情報を、前述の乱数とホストIDと時刻情報と共に組み合わせたて暗号化し、該暗号化した情報を上述のメモリ1−3のインストールディレクトリにログファイルとして保存する。このログファイルは、販売者側へのプロテクト解除用のパスワードファイルをユーザが申請する際に、販売者側へ送信することができるよう、ユーザに表示されユーザが任意に扱うことができるパブリックな提供ファイルとして保存する。
【0031】
ソフトウェア起動実行部1−2は、後述する販売者側のライセンス管理装置から送信され、メモリ1−3のインストールディレクトリに保存したパスワードファイル内のインストール識別キーの情報と、前述のインストールディレクトリに保存したキーファイルのインストール識別キーの情報とを照合するパスワードファイル照合処理1−21を実行し、照合結果が一致した場合のみ、当該ソフトウェアを利用可能なように起動する。
【0032】
また、購入者側の人為処理ブロックとして、当該ソフトウェアのユーザが、該ソフトウェアのインストール又はアンインストールの実行完了を確認した後、前述のメモリ1−3のインストールディレクトリに保存されたログファイルを販売者のライセンス管理装置に通知する。また、販売者のライセンス管理装置から受信したパスワードファイルをメモリ1−3の指定されたインストールディレクトリに保存する。
【0033】
図2に本発明による販売者側のライセンス管理処理ブロックを示す。販売者側のライセンス管理装置は、前述のログファイルを、図の丸Aの経路により購入者側の端末(コンピュータ)から受信し、ライセンス管理処理2−1を行う。ライセンス管理処理2−1では、購入者側の端末(コンピュータ)のインストール識別キー作成処理1−11で作成されたインストール識別キー(X_Ins)を含むログファイルを復号化し、使用されたコンピュータのホストID、乱数、インストール時刻及び当該ソフトウェアのインストール状況を特定する。
【0034】
販売者側のライセンス管理装置は、上述のログファイルの復号化情報を、インストール状況に応じてライセンス管理リスト2−2に登録、解除又は更新し、当該購入者の当該ソフトウェアの購入ライセンス数及びパスワードファイル発行状況を管理する。そして、該ライセンス管理装置は、ライセンス管理リスト2−2を参照し、パスワードファイルの申請に対して、パスワードファイルの発行数が購入ライセンス数を超過しない場合に、ログファイルの情報を含む暗号化したパスワードファイルを発行するパスワードファイル発行処理2−3を実行し、該パスワードファイルを購入者側の端末(コンピュータ)に、図の丸Bの経路で送信する。
【0035】
このように、ソフトウェアをインストールする度にパスワードファイルの申請を要するようにし、購入者側が使用コンピュータを変更し、新規のホストIDに変更する場合は、販売者側のライセンス管理装置で、パスワードファイルの申請時のログファイルを基に、購入ライセンス数の条件を満たす状況で、既存のコンピュータで当該ソフトウェアがアンインストールされたことを確認した後、新規のパスワードファイルを発行する。
【0036】
購入者側は、販売者側のライセンス管理装置から送信されたパスワードファイルを自端末(コンピュータ)のインストールディレクトリに保存する。そして、当該ソフトウェアの起動時に、ソフトウェア起動実行部1−2は、メモリ1−3に保存されたパスワードファイル内のインストール識別キーの情報と、該インストールディレクトリに保存したキーライフのインストール識別キーの情報とを照合するパスワードファイル照合処理1−21を実行し、照合結果が一致した場合のみ、当該ソフトウェアを利用可能なように起動する。
【0037】
このような機能を導入することにより、購入者側は当該ソフトウェアのインストール毎にパスワードファイルを申請することとなり、該販売者側から送信されたパスワードファイルのインストール識別キー(X_Ins)と自端末(コンピュータ)で作成されたインストール識別キー(X_Ins)とを照合して一致したときにソフトウェアを起動するため、一度アンインスールした後に再インストールした端末(コンピュータ)に対して、以前に発行された同一のホストIDのパスワードファイルを不正に利用しようとしても、インストール時刻情報が異なることにより、パスワードファイル照合処理でエラーとなり、該ソフトウェアを起動することができず、多重稼動を防ぐことができる。
【0038】
ここで、インストール識別キーの情報を、メモリ1−3のインストールディレクトリに、エンドユーザには表示されない秘匿情報(システムファイル)のキーファイルとして保存する一方、ユーザが任意に扱うことができるパブリックな提供ファイルのログファイルとして保存する理由は、インストール識別キーの情報を、販売者側のライセンス管理装置に送信する必要があるため、該インストール識別キーの情報を含むログファイルを、ユーザが操作可能なパブリックな提供ファイルとして保存しなければならないが、もし、このログファイルをエンドユーザが販売者側のライセンス管理装置に送信した後、削除又は書き換え等を行ってしまうと、パスワードファイル照合処理1−21でパスワードファイルとの照合を行うことができなくなってしまうので、そのようの不具合が起こることがないよう、パスワードファイルとの照合用に、ユーザが取り扱うことができない秘匿情報(システムファイル)としてキーファイルを保存する。なお、このような不具合が起こる虞が無い場合には、前記キーファイルを保存することなく、パスワードファイルとの照合に、ログファイルのインストール識別キーの情報を使用する構成とすることもできる。
【0039】
上述の販売者のライセンス管理装置における処理フローを図3に示す。同図に示すように、顧客からのログファイルを復号化し(ステップ3−1)、該ログファイルのインストール/アンインストール情報を基に最後に実施した処理がインストールであるか否かを判定する(ステップ3−2)。
【0040】
ここで、最後に実効した処理がインストールである場合、当該ホストIDはライセンス管理リスト2−2に登録済みか否かを判定し(ステップ3−3)、未だ当該ホストIDがライセンス管理リスト2−2に登録されていない場合(新規インストールの場合)、予め設定された購入ライセンス数(X)より管理リスト数(Y)が少ないか否かを判定し(ステップ3−4)、購入ライセンス数(X)より管理リスト数(Y)が少ない場合、ライセンス管理リスト2−2に該当ホストIDを登録し、管理リスト数(Y)に1を加え(ステップ3−10)、パスワード発行OKを指令(ステップ3−12)する。
【0041】
なお、購入ライセンス数(X)は、当該購入者が販売者に対して前もって申請した当該ソフトウェアの使用端末(コンピュータ)数である。また、管理リスト数(Y)は、ライセンス管理リスト2−2に登録された使用端末(コンピュータ)数であり、発行パスワードファイル数に等しい。
【0042】
前述の判定のステップ3−2において、最後に実行した処理がアンインストールである場合、当該ホストIDがライセンス管理リスト2−2に登録済みか否かを判定し(ステップ3−6)、当該ホストIDがライセンス管理リスト2−2に登録済みであれば、ライセンス管理リスト2−2から該当ホストIDを削除(Y=Y−1)する(ステップ3−7)。
【0043】
これは、当該ホストIDの端末(コンピュータ)から当該ソフトウェアを削除したことが認識されたので、他の端末(コンピュータ)1台分に当該ソフトウェアをインストール可能にするためである。当然のことながら、当該ソフトウェアを削除した当該端末(コンピュータ)にはパスワード発行は行わない(NG)指令を送る(ステップ3−5)。
【0044】
なお、上記のステップ3−6の判定において、ホストIDがライセンス管理リスト2−2に登録されていない(登録から削除された)と判定された場合には、何もすることなく、パスワード発行は行わない(NG)指令を送る(ステップ3−5)。これにより、一度ソフトウェアをアンインストールしたコンピュータのログファイルを繰り返し送信して、管理リスト数(Y)を減少させる不正行為を防ぐ。
【0045】
また、当該ソフトウェアを再インストールした場合、最後に実施した処理がインストールで、ホストIDが管理リストに登録済みと判定されるが、ログファイルの乱数値/時刻がライセンス管理リスト2−2のものと一致するか否かを判定し(ステップ3−8)、乱数値/時刻が不一致となった場合は、ライセンス管理リスト2−2の乱数値/時刻を更新し(ステップ3−9)、パスワードファイルを発行する(ステップ3−11)。
【0046】
しかし、上記のステップ3−8の判定において、乱数値/時刻がライセンス管理リスト2−2のものと一致する場合、当該端末(コンピュータ)には同一の状態で既にパスワードファイルを発行済であるので、重複したパスワードファイルの発行は行わない(ステップ3−5)。
【0047】
また、前述のステップ3−4の判定において、購入ライセンス数(X)に管理リスト数(Y)が達している場合、購入ライセンス数(X)を超えてパスワードファイルを発行することになるので、この場合は、パスワードファイルを発行せず(ステップ3−5)、処理を終了する。
【実施例1】
【0048】
図4に不正多重稼動防止の動作例のシーケンスを示す。ここで、購入者の購入ライセンスは1ライセンスとし、図中の表記について次のように定義する。Enc[x1,x2,x3,x4,x5]は、x1,x2,x3,x4,x5の情報を暗号化することを意味し、x1はホストID、x2はインストール時刻、x3は乱数値、x4はインストール状況情報、x5はダミーデータとする。また、Dec[x1,x2,x3,x4,x5]は、x1,x2,x3,x4,x5の情報を復号化することを意味し、x1,x2,x3,x4,x5は上述した内容を表す。
【0049】
ライセンス購入者は、当該ソフトウェアを端末Aにインストールしたとすると、端末Aは、ホストID“A”、インストール時刻“D1”、乱数値“M1”、インストール状況情報“I”(インストール)、ダミーデータ“−”のインストール識別キーを生成し、該インストール識別キーを暗号化したキーファイル及びログファイルEnc[A,D1,M1,I,−]をメモリに保存する。該ライセンス購入者は、該ログファイルEnc[A,D1,M1,I,−]を販売者のライセンス管理装置に送信する(4−1)。
【0050】
販売者のライセンス管理装置では、ログファイルEnc[A,D1,M1,I,−]を復号化したデータDec[A,D1,M1,I,−]を管理リストに登録する(4−2)。そして、ホストID“A”、インストール時刻“D1”、乱数値“M1”、インストール状況情報“I”、ダミーデータ“dm1”の情報を暗号化したパスワードファイルEnc[A,D1,M1,I,dm1]を端末Aに送信する(4−3)。
【0051】
端末Aのユーザ(ライセンス購入者)は当該ソフトウェアを起動すると、端末Aではメモリに保存したキーファイルEnc[A,D1,M1,I,−]の情報と、パスワードファイルEnc[A,D1,M1,I,dm1]の情報とが、ホストID、インストール時刻、乱数値、インストール状況情報“I”に関して一致するかどうかを照合し、一致したことを確認して当該ソフトウェアを利用可能に起動する(4−4)。
【0052】
一方、同ユーザ(ライセンス購入者)が当該ソフトウェアを端末Bにインストールしたとすると、端末Bは、ホストID“B”、インストール時刻“D2”、乱数値“M2”、インストール状況情報“I”(インストール)、ダミーデータ“−”のインストール識別キーを生成し、該インストール識別キーを暗号化したキーファイル及びログファイルEnc[B,D2,M2,I,−]をメモリに保存する。該ライセンス購入者は該ログファイルEnc[B,D2,M2,I,−]を販売者のライセンス管理装置に送信する(4−5)。
【0053】
販売者のライセンス管理装置では、ログファイルEnc[B,D2,M2,I,−]を復号化したデータDec[B,D2,M2,I,−]から、当該ソフトウェアのライセンス数1をオーバーしてインストールされたことを認識し(4−6)、端末Aのソフトウェアをアンインストールしてから再度、ログファイルを送付するように促すメッセージを端末Bに送信する(4−7)。
【0054】
そこでユーザ(ライセンス購入者)は、端末Aから当該ソフトウェアのアンインストールを実行し、該実行に係るログファイルEnc[A,D1,M1,U,−]を販売者のライセンス管理装置に送信する(4−8)。ここで、“U”はアンインストールしたことを示すインストール状況情報である。
【0055】
販売者のライセンス管理装置は、上記ログファイルEnc[A,D1,M1,U,−]を復号化したデータDec[A,D1,M1,U,−]から、端末Aでのアンインストールを確認し、端末Aをライセンス管理リストから削除し、そして、端末Bから再度ログファイルEnc[B,D2,M2,I,−]を受信すると、端末Bを管理リストに登録し(4−9)、端末BにパスワードファイルEnc[B,D2,M2,I,dm2]を送信する(4−10)。
【0056】
端末BではパスワードファイルEnc[B,D2,M2,I,dm2]を受信し、該パスワードファイルEnc[B,D2,M2,I,dm2]とキーファイルEnc[B,D2,M2,I,−]とを照合し、ホストID、インストール時刻、乱数値、インストール情報“I”に関して一致したことを確認して当該ソフトウェアを利用可能に起動する(4−11)。
【0057】
ここで、購入者が以前の端末AのパスワードファイルEnc[A,D1,M1,I,dm1]を用いて再度端末Aを稼動させようとし、当該ソフトウェアを再インストールしたとする(4−12)。この場合、再インストールしたことにより、インストール時刻情報及び乱数値が前回のものと異なり、その結果、異なるキーファイルEnc[A,D3,M3,I,−]が生成され、保存される(4−13)。
【0058】
従って、起動時に、以前のパスワードファイルEnc[A,D1,M1,I,dm1]と再インストール時に生成されたキーファイルEnc[A,D3,M3,I,−]との照合において、インストール時刻情報及び乱数値が一致せず、起動不可(エラー)となり(4−14)、不正な稼動を防止することができる。
【図面の簡単な説明】
【0059】
【図1】購入者側の端末(コンピュータ)におけるライセンス管理の処理ブロックを示す図である。
【図2】販売者側のライセンス管理処理ブロックを示す図である。
【図3】販売者側のライセンス管理装置における処理フローを示す図である。
【図4】不正多重稼動防止の動作例のシーケンスを示す図である。
【図5】従来のノードロックライセンスマネージメントの処理シーケンス例を示す図である。
【符号の説明】
【0060】
1−1 インストール/アンインストール実行部
1−11 インストール識別キー作成処理
1−2 ソフトウェア起動実行部
1−21 パスワードファイル照合処理
1−3 メモリ
2−1 ライセンス管理処理
2−2 ライセンス管理リスト
2−3 パスワードファイル発行処理

【特許請求の範囲】
【請求項1】
ライセンス管理の対象となるソフトウェアをインストールしたコンピュータと、該コンピュータとネットワークを介して接続され、該ソフトウェアのライセンス管理するライセンス管理装置とから成るライセンス管理システムにおいて、
前記コンピュータに、前記ソフトウェアのインストールが実行された際に、インストール毎に異なるインストール識別キーを生成するとともに、当該コンピュータで該ソフトウェアのインストールが実行されたか又はアンインストールが実行されたかを示すインストール状況情報を前記インストール識別キーの情報と共に暗号化したログファイルを生成し、該ログファイルをメモリに保存する手段を備え、
前記ライセンス管理装置に、前記コンピュータから送信された前記ログファイルを受信し、該ログファイルに含まれるインストール識別キーの情報及びインストール状況情報を基に、当該コンピュータでの最後の実行がインストールであると判定された場合に、ライセンス管理リストに登録されたインストール済みコンピュータの個数が所定の個数以下かどうかを判定し、所定の個数以下である場合に、前記ログファイルのインストール識別キーの情報を基にパスワードファイルを生成し暗号化し、該パスワードファイルを前記コンピュータに送信し、かつ、前記ライセンス管理リストにインストール済みコンピュータの個数に1を加算して登録し、前記インストール状況情報を基に、当該コンピュータでの最後の実行がアンインストールであると判定された場合は、前記ライセンス管理リストにインストール済みコンピュータの個数から1を減算して登録する手段を備え、
更に前記コンピュータに、前記ライセンス管理装置から送信された前記パスワードファイルを受信し、該パスワードファイルをメモリ保存する手段と、当該ソフトウェアの起動時に、前記パスワードファイルに含まれるインストール識別キーの情報と前記ログファイルに含まれるインストール識別キーの情報とを照合し、両者のインストール識別キーの情報が一致したときに、当該ソフトウェアを利用可能に起動するソフトウェア起動手段とを備えたことを特徴とするソフトウェアのライセンス管理システム。
【請求項2】
ライセンス管理の対象となるソフトウェアをインストールしたコンピュータと、該コンピュータとネットワークを介して接続され、該ソフトウェアのライセンス管理するライセンス管理装置とから成るライセンス管理システムにおいて、
前記コンピュータに、前記ソフトウェアのインストールが実行された際に、インストール毎に異なるインストール識別キーを生成し、該インストール識別キーを含むキーファイルを、ユーザが操作不可能なファイルとしてメモリに保存する手段と、
当該コンピュータで該ソフトウェアのインストールが実行されたか又はアンインストールが実行されたかを示すインストール状況情報を前記インストール識別キーの情報と共に暗号化したログファイルを生成し、該ログファイルをユーザが操作可能なファイルとしてメモリに保存する手段を備え、
前記ライセンス管理装置に、前記コンピュータから送信された前記ログファイルを受信し、該ログファイルに含まれるインストール識別キーの情報及びインストール状況情報を基に、当該コンピュータでの最後の実行がインストールであると判定された場合に、ライセンス管理リストに登録されたインストール済みコンピュータの個数が所定の個数以下かどうかを判定し、所定の個数以下である場合に、前記ログファイルのインストール識別キーの情報を基にパスワードファイルを生成し暗号化し、該パスワードファイルを前記コンピュータに送信し、かつ、前記ライセンス管理リストにインストール済みコンピュータの個数に1を加算して登録し、前記インストール状況情報を基に、当該コンピュータでの最後の実行がアンインストールであると判定された場合は、前記ライセンス管理リストにインストール済みコンピュータの個数から1を減算して登録する手段を備え、
更に前記コンピュータに、前記ライセンス管理装置から送信された前記パスワードファイルを受信し、該パスワードファイルをメモリ保存する手段と、当該ソフトウェアの起動時に、前記パスワードファイルに含まれるインストール識別キーの情報と前記キーファイルに含まれるインストール識別キーの情報とを照合し、両者のインストール識別キーの情報が一致したときに、当該ソフトウェアを利用可能に起動するソフトウェア起動手段とを備えたことを特徴とするソフトウェアのライセンス管理システム。
【請求項3】
前記インストール識別キーとして、前記コンピュータに接続されたイーサネット(登録商標)カードのMACアドレス又は該コンピュータのハードディスクのボリューム番号を用いたコンピュータ固有の識別情報を含むことを特徴とする請求項1又は2に記載のソフトウェアのライセンス管理システム。
【請求項4】
前記インストール識別キーとして、インストールが実行されたときの時刻情報を含むことを特徴とする請求項1乃至3の何れかに記載のソフトウェアのライセンス管理システム。
【請求項5】
前記インストール識別キーとして、該インストール識別キーの生成時に生成した乱数を含むことを特徴とする請求項1乃至4の何れかに記載のソフトウェアのライセンス管理システム。
【請求項6】
ライセンス管理の対象となるソフトウェアをインストールしたコンピュータに実装され、該コンピュータとネットワークを介して接続されたライセンス管理装置から受信されるパスワードファイルと協働して機能するライセンス管理プログラムであって、
前記ソフトウェアのインストールが実行された際に、インストール毎に異なるインストール識別キーを生成するとともに、当該コンピュータで該ソフトウェアに対してインストールが実行されたか又はアンインストールが実行されたかを示すインストール状況情報を前記インストール識別キーの情報と共に暗号化したログファイルを生成し、該ログファイルをメモリに保存する手段と、
前記ライセンス管理装置から、前記ログファイルに含まれるインストール識別キーの情報及びインストール状況情報を基に生成され暗号化されたパスワードファイルであって、インストール済みコンピュータの個数が所定の個数以下の場合に送信されたパスワードファイルを受信してメモリ保存する手段と、
当該ソフトウェアの起動時に、前記パスワードファイルに含まれるインストール識別キーの情報と前記ログファイルに含まれるインストール識別キーの情報とを照合し、両者のインストール識別キーの情報が一致したときに、当該ソフトウェアを利用可能に起動するソフトウェア起動手段、
として機能させるための、ソフトウェアのライセンス管理プログラム。
【請求項7】
ライセンス管理の対象となるソフトウェアをインストールしたコンピュータに実装され、該コンピュータとネットワークを介して接続されたライセンス管理装置から受信されるパスワードファイルと協働して機能するライセンス管理プログラムであって、
前記ソフトウェアのインストールが実行された際に、インストール毎に異なるインストール識別キーを生成し、該インストール識別キーを含むキーファイルを、ユーザが操作不可能なファイルとしてメモリに保存する手段と、
当該コンピュータで該ソフトウェアのインストールが実行されたか又はアンインストールが実行されたかを示すインストール状況情報を前記インストール識別キーの情報と共に暗号化したログファイルを生成し、該ログファイルをユーザが操作可能なファイルとしてメモリに保存する手段と、
前記ライセンス管理装置から、前記ログファイルに含まれるインストール識別キーの情報及びインストール状況情報を基に生成され暗号化されたパスワードファイルであって、インストール済みコンピュータの個数が所定の個数以下の場合に送信されたパスワードファイルを受信してメモリ保存する手段と、
当該ソフトウェアの起動時に、前記パスワードファイルに含まれるインストール識別キーの情報と前記キーファイルに含まれるインストール識別キーの情報とを照合し、両者のインストール識別キーの情報が一致したときに、当該ソフトウェアを利用可能に起動するソフトウェア起動手段、
として機能させるための、ソフトウェアのライセンス管理プログラム。
【請求項8】
ライセンス管理の対象となるソフトウェアをインストールしたコンピュータとネットワークを介して接続され、該ソフトウェアのライセンス管理するライセンス管理装置において、
前記コンピュータから、前記ソフトウェアのインストールが実行された際に生成されたインストール毎に異なるインストール識別キー及び該ソフトウェアのインストールが実行されたか又はアンインストールが実行されたかを示すインストール状況情報を暗号化したログファイルを受信する手段と、
前記ログファイルに含まれるインストール識別キーの情報及びインストール状況情報を基に、前記コンピュータでの最後の実行がインストールであると判定された場合に、ライセンス管理リストに登録されたインストール済みコンピュータの個数が所定の個数以下かどうかを判定し、所定の個数以下である場合に、前記ログファイルのインストール識別キーの情報を基にパスワードファイルを生成し暗号化し、該パスワードファイルを前記コンピュータに送信し、かつ、前記ライセンス管理リストにインストール済みコンピュータの個数に1を加算して登録し、前記インストール状況情報を基に、当該コンピュータでの最後の実行がアンインストールであると判定された場合は、前記ライセンス管理リストにインストール済みコンピュータの個数から1を減算して登録するライセンス管理処理手段と、
を備えたことを特徴とするソフトウェアのライセンス管理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2009−32165(P2009−32165A)
【公開日】平成21年2月12日(2009.2.12)
【国際特許分類】
【出願番号】特願2007−197416(P2007−197416)
【出願日】平成19年7月30日(2007.7.30)
【出願人】(000237662)富士通テレコムネットワークス株式会社 (682)
【Fターム(参考)】