(57)【要約】【課題】ハードウェアを用いたりＣＤに細工したりせずに不正な複製や利用を防ぐとともに、パソコンの情報に基づきライセンスの管理を行うコンピュータに対して情報を提供しても、個人情報やコンピュータ独自の情報である固有情報の流出や乱用を防ぐことを可能とするライセンス管理方法、ライセンス管理システム、ライセンス管理プログラムを提供する。【解決手段】ライセンス管理サーバ（１０）は、クライアント（１６ａ）から暗号化固有情報を有するライセンス要求を受信した際に、それを登録するとともに、クライアント（１６ａ）が正しいか否かを判断して、ライセンスを付与するライセンス付与ステップを有する。【選択図】図１
2004038247.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアのライセンスを管理するライセンス管理サーバと、該ライセンス管理サーバにネットワークを介して接続するクライアントを有するライセンス管理システムにおけるライセンス管理方法であって、
前記ライセンス管理サーバは、前記クライアントから暗号化された該クライアント固有情報である暗号化固有情報を有するライセンス要求を受信した際に、該暗号化固有情報を登録するとともに、該クライアントが正しいか否かを判断して、ライセンスを付与するライセンス付与ステップと、
クライアントから任意または定期的に行われる暗号化固有情報を有するライセンス更新要求を受信した際に、該クライアントの前記暗号化固有情報が正しいか否かの確認を行うステップと、
該暗号化固有情報が正しい場合はクライアントに許諾信号を付与する更新ステップとを有し、
前記クライアントは、最初にソフトウェアのライセンスを要求時に使用許諾され付与されるライセンスとライセンス付与時のライセンス許諾時刻を最新更新時刻とし、該最新更新時刻とクライアント固有情報を記録する初期情報記録ステップと、
前記ソフトウェアの使用の際に、記録した前記ライセンスが正しいことと、記録した前記クライアント固有情報が正しいことと、記録した前記最新更新時刻より一定期間以内であることとを判断して前記ソフトウェアを起動させる起動判断ステップと、
記録した前記最新更新時刻より任意または定期的に前記ライセンス管理サーバにライセンスの確認を行い、ライセンスの更新を行なう確認更新ステップとを有することを特徴とするライセンス管理方法。
【請求項２】
前記ライセンス管理サーバは、前記ライセンス付与ステップにおいて、ライセンス付与時の前記ライセンス管理サーバの最新更新時刻を更に付与し、
前記クライアントは、前記確認更新ステップにおいて、前記許諾信号に前記ライセンス管理サーバの最新更新時刻を含み、
前記初期情報記録ステップにおいて、付与された前記最新更新時刻をライセンス許諾時刻である最新更新時刻として記録することを特徴とする請求項１に記載のライセンス管理方法。
【請求項３】
ソフトウェアのライセンスを管理するライセンス管理サーバから、ライセンスを受信するライセンス受信クライアントにおけるライセンス管理方法であって、
前記ソフトウェアのライセンスを要求時に使用許諾に対応し付与されるライセンスとライセンス付与時のライセンス許諾時刻とクライアント固有情報とを記録する初期情報記録ステップと、
前記クライアント固有情報を暗号化した暗号化固有情報を、前記ライセンス管理サーバへ送信する暗号化固有情報送信ステップと、
前記ソフトウェアの使用の際に、記録した前記ライセンスが正しいことと、記録した前記固有情報が正しいことと、記録した前記最新更新時刻より一定期間以内であることとを判断して前記ソフトウェアを起動させる起動判断ステップと、記録した更新時間より任意または定期的に前記ライセンス管理サーバにライセンスの確認を行い、ライセンスの更新を行なう確認更新ステップとを有することを特徴とするライセンス管理方法。
【請求項４】
前記サーバにライセンスの返還要求をするステップと、
前記クライアント情報を消去するステップとを有することを特徴とする請求項３に記載のライセンス管理方法
【請求項５】
前記起動判断ステップにおいて、前記クライアントの時間が過去に戻された時に前記ソフトウェアを起動させないことを特徴とする請求項３に記載のライセンス管理方法。
【請求項６】
前記初期情報記録ステップ、或いは前記確認更新ステップにおいて、ライセンス、ライセンス許諾時刻、クライアント固有情報とをファイル、レジストリの２つのファイルに記録することを特徴とする請求項３に記載のライセンス管理方法。
【請求項７】
前記ライセンスの確認と更新とを行うための更新メニューにより、前記確認更新ステップは任意で行われることを特徴とする請求項３に記載のライセンス管理方法。
【請求項８】
ネットワークを介してクライアントのソフトウェアの管理を行うライセンス管理サーバにおけるソフトウェア管理方法であって、
前記クライアントから暗号化された該クライアント固有情報である暗号化固有情報を有するライセンス要求を受信した際に、該暗号化固有情報を登録するとともに、該クライアントが正しいか否かを判断して、前記ライセンス管理サーバの最新更新時刻を前記クライアントに付与するために許諾信号に前記ライセンス管理サーバの最新更新時刻を含む前記ライセンスを付与するライセンス付与ステップと、
前記クライアントから任意または定期的に行われる暗号化固有情報を有するライセンス更新要求を受信した際に、該クライアントの前記暗号化固有情報を確認する確認ステップと、
該暗号化固有情報が正しい場合は前記クライアントに許諾信号を付与する更新ステップとを有することを特徴とするライセンス管理方法。
【請求項９】
前記ライセンスの返還要求を受信する返還要求受信ステップと、
返還された前記ライセンスを初期化する初期化ステップとを有することを特徴とする請求項８に記載のライセンス管理方法。
【請求項１０】
ソフトウェアのライセンスを管理するライセンス管理サーバと、該ライセンス管理サーバに接続するクライアントを有するライセンス管理システムであって、
前記ライセンス管理サーバは、前記クライアントから暗号化された該クライアント固有情報である暗号化固有情報を有するライセンス要求を受信した際に、該暗号化固有情報を登録するとともに、該クライアントが正しいか否かを判断して、ライセンスを付与するライセンス付与手段と、
クライアントからの任意または定期的に行われる暗号化固有情報を有するライセンス更新要求を受信した際に、該クライアントの前記暗号化固有情報が正しいか否かの確認を行う手段と、
該暗号化固有情報が正しい場合はクライアントに許諾信号を付与する更新手段とを有し、
前記クライアントは、最初にソフトウェアのライセンスを要求時に使用許諾され付与されるライセンスとライセンス付与時のライセンス許諾時刻を最新更新時刻とし、該最新更新時刻とクライアント固有情報を記録する初期情報記録手段と、
前記ソフトウェアの使用の際に、記録した前記ライセンスが正しいことと、記録した前記クライアント固有情報が正しいことと、記録した前記最新更新時刻より一定期間以内であることとを判断して前記ソフトウェアを起動させる起動判断手段と、
記録した前記最新更新時刻より任意または定期的に前記ライセンス管理サーバにライセンスの確認に行い、ライセンスの更新を行なう確認更新手段とを有することを特徴とするライセンス管理システム。
【請求項１１】
コンピュータに、
ソフトウェアのライセンスを要求時に使用許諾に対応し付与されるライセンスとライセンス付与時のライセンス許諾時刻とクライアント固有情報とを記録する初期情報記録ステップと、
前記クライアント固有情報を暗号化した暗号化固有情報を、前記ライセンス管理サーバへ送信する暗号化固有情報送信ステップと、
前記ソフトウェアの使用の際に、前記書き込んであるライセンスキーが正しく、記録した前記クライアント固有情報が、正しいこと、記録した前記最新更新時刻より一定期間以内であることとならばソフトウェアを起動させる起動判断ステップと、
記録した更新時間より任意または定期的に前記ライセンス管理サーバにライセンスの確認を行い、ライセンスの更新を行なう確認更新ステップとを実行させるためのライセンス管理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はコンピュータソフトウェアのライセンスに関し、特に、ライセンスの管理を行うサーバを用いたライセンス管理方法、ライセンス管理システム、ライセンス管理プログラムに関する。
【０００２】
【従来の技術】
コンピュータソフトウェアの不正な複製や利用は、現在でもかなりの割合で行われている。そのため、ソフトウェアのベンダは、不正な複製や利用を防ぐために、種々の対策を講じている。
【０００３】
それらの対策として、小型の装置をＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）に接続し、ハードプロテクトを行うタイプや、複製が不可能なように細工されたＣＤ（Ｃｏｍｐａｃｔ　Ｄｉｓｃ）でソフトウェアを配布するタイプ、また、フレキシブルディスクを用いるタイプなどがある。
【０００４】
また、最近はネットワークを利用したソフトウェアのライセンスサービスも始まっている。この場合の不正防止対策として、例えばソフトウェアのベンダに設けられたサーバが、クライアントであるユーザのコンピュータのオペレーティングシステムのバージョン番号や、デバイスのＩＤ番号、ソフトウェアのバージョン番号などのクライアント情報と、ライセンスキーとをネットワークを通じて入手し、組み合わせることによってクライアントのソフトウェアを利用可能にする方法がある。
【０００５】
【発明が解決しようとする課題】
しかしながら、最初に述べたハードプロテクトやフレキシブルディスクを用いる場合は、そのハードウェア自体のコストがかかるだけではなく、それらハードウェアが小型の装置であることから、紛失や破損の可能性があるとともに、ＵＳＢのポートを塞ぐこともあるため使い勝手が良くない。また、複製が不可能なＣＤの作成にはコストがかかる。
【０００６】
また、ネットワークを用いた不正防止対策であるが、最近のインターネットに関する調査結果によると、個人情報やユーザのコンピュータ独自の情報を含むパソコンの固有情報の流出や濫用を懸念する傾向が最も多い。そのため、個々のパソコンに関する情報に基づきライセンスの管理を行うコンピュータにさえも、その情報を提供することに抵抗があるユーザが多い。
【０００７】
本発明は、このような問題点に鑑み、ハードウェアを用いたりＣＤに細工したりせずに不正な複製や利用を防ぐとともに、パソコンの情報に基づきライセンスの管理を行うコンピュータに対して情報を提供しても、個人情報やコンピュータ独自の情報である固有情報の流出や乱用を防ぐことを可能とするライセンス管理方法、ライセンス管理システム、ライセンス管理プログラムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
請求項１に記載の発明は、ソフトウェアのライセンスを管理するライセンス管理サーバと、該ライセンス管理サーバにネットワークを介して接続するクライアントを有するライセンス管理システムにおけるライセンス管理方法であって、前記ライセンス管理サーバは、前記クライアントから暗号化された該クライアント固有情報である暗号化固有情報を有するライセンス要求を受信した際に、該暗号化固有情報を登録するとともに、該クライアントが正しいか否かを判断して、ライセンスを付与するライセンス付与ステップと、クライアントから任意または定期的に行われる暗号化固有情報を有するライセンス更新要求を受信した際に、該クライアントの前記暗号化固有情報が正しいか否かの確認を行うステップと、該暗号化固有情報が正しい場合はクライアントに許諾信号を付与する更新ステップとを有し、前記クライアントは、最初にソフトウェアのライセンスを要求時に使用許諾され付与されるライセンスとライセンス付与時のライセンス許諾時刻を最新更新時刻とし、該最新更新時刻とクライアント固有情報を記録する初期情報記録ステップと、前記ソフトウェアの使用の際に、記録した前記ライセンスが正しいことと、記録した前記クライアント固有情報が正しいことと、記録した前記最新更新時刻より一定期間以内であることとを判断して前記ソフトウェアを起動させる起動判断ステップと、記録した前記最新更新時刻より任意または定期的に前記ライセンス管理サーバにライセンスの確認を行い、ライセンスの更新を行なう確認更新ステップとを有することを特徴とする。
【０００９】
請求項１によれば、ハードウェアを用いたりＣＤに細工したりせずに不正な複製や利用を防ぐとともに、パソコンの情報に基づきライセンスの管理を行うコンピュータに対して情報を提供しても、個人情報やコンピュータ独自の情報である固有情報の流出や乱用を防ぐことを可能とするライセンス管理方法を提供できる。
【００１０】
請求項２に記載の発明は、前記ライセンス管理サーバは、前記ライセンス付与ステップにおいて、ライセンス付与時の前記ライセンス管理サーバの最新更新時刻を更に付与し、前記クライアントは、前記確認更新ステップにおいて、前記許諾信号に前記ライセンス管理サーバの最新更新時刻を含み、前記初期情報記録ステップにおいて、付与された前記最新更新時刻をライセンス許諾時刻である最新更新時刻として記録することを特徴とする。
【００１１】
請求項２によれば、ライセンスにライセンス管理サーバの最新更新時刻を付与したライセンス管理方法を提供できる。
【００１２】
請求項３に記載の発明は、ソフトウェアのライセンスを管理するライセンス管理サーバから、ライセンスを受信するライセンス受信クライアントにおけるライセンス管理方法であって、前記ソフトウェアのライセンスを要求時に使用許諾に対応し付与されるライセンスとライセンス付与時のライセンス許諾時刻とクライアント固有情報とを記録する初期情報記録ステップと、前記クライアント固有情報を暗号化した暗号化固有情報を、前記ライセンス管理サーバへ送信する暗号化固有情報送信ステップと、前記ソフトウェアの使用の際に、記録した前記ライセンスが正しいことと、記録した前記固有情報が正しいことと、記録した前記最新更新時刻より一定期間以内であることとを判断して前記ソフトウェアを起動させる起動判断ステップと、記録した更新時間より任意または定期的に前記ライセンス管理サーバにライセンスの確認を行い、ライセンスの更新を行なう確認更新ステップとを有することを特徴とする。
【００１３】
請求項３によれば、ハードウェアを用いたりＣＤに細工したりせずに不正な複製や利用を防ぐとともに、パソコンの情報に基づきライセンスの管理を行うコンピュータに対して情報を提供しても、個人情報やコンピュータ独自の情報である固有情報の流出や乱用を防ぐことを可能とするライセンス管理方法を提供できる。
【００１４】
請求項４に記載の発明は、前記サーバにライセンスの返還要求をするステップと、前記クライアント情報を消去するステップとを有することを特徴とする。
【００１５】
請求項４によれば、ライセンスが必要なくなった場合に、ライセンスを返還することができるため、特定のコンピュータにライセンスが固定されることのないライセンス管理方法を提供できる。
【００１６】
請求項５に記載の発明は、前記起動判断ステップにおいて、前記クライアントの時間が過去に戻された時に前記ソフトウェアを起動させないことを特徴とする。
【００１７】
請求項５によれば、時間が過去に戻されるなどの改竄があった場合は、ソフトウェアを起動することのないライセンス管理方法を提供できる。
【００１８】
請求項６に記載の発明は、前記初期情報記録ステップ、或いは前記確認更新ステップにおいて、ライセンス、ライセンス許諾時刻、クライアント固有情報とをファイル、レジストリの２つのファイルに記録することを特徴とする。
【００１９】
請求項６によれば、ライセンス、ライセンス許諾時刻、クライアント固有情報の記録場所としてファイルやレジストリを用いるライセンス管理方法を提供できる。
【００２０】
請求項７に記載の発明は、前記ライセンスの確認と更新とを行うための更新メニューにより、前記確認更新ステップは、任意で行われることを特徴とする。
【００２１】
請求項７によれば、ライセンスの更新を任意で行うことが可能となるため、ユーザの都合に合わせて更新処理を行うことを可能とするライセンス管理方法を提供できる。
【００２２】
請求項８に記載の発明は、ネットワークを介してクライアントのソフトウェアの管理を行うライセンス管理サーバにおけるソフトウェア管理方法であって、前記クライアントから暗号化された該クライアント固有情報である暗号化固有情報を有するライセンス要求を受信した際に、該暗号化固有情報を登録するとともに、該クライアントが正しいか否かを判断して、前記ライセンス管理サーバの最新更新時刻を前記クライアントに付与するために許諾信号に前記ライセンス管理サーバの最新更新時刻を含む前記ライセンスを付与するライセンス付与ステップと、前記クライアントから任意または定期的に行われる暗号化固有情報を有するライセンス更新要求を受信した際に、該クライアントの前記暗号化固有情報を確認する確認ステップと、該暗号化固有情報が正しい場合は前記クライアントに許諾信号を付与する更新ステップとを有することを特徴とする。
【００２３】
請求項８によれば、ハードウェアを用いたりＣＤに細工したりせずに不正な複製や利用を防ぐとともに、パソコンの情報に基づきライセンスの管理を行うコンピュータに対して情報を提供しても、個人情報やコンピュータ独自の情報である固有情報の流出や乱用を防ぐことを可能とするライセンス管理方法を提供できる。
【００２４】
請求項９に記載の発明は、前記ライセンスの返還要求を受信する返還要求受信ステップと、返還された前記ライセンスを初期化する初期化ステップとを有することを特徴とする。
【００２５】
請求項９によれば、ライセンスが必要なくなった場合に、ライセンスを返還することができるため、特定のコンピュータにライセンスが固定されることのないライセンス管理方法を提供できる。
【００２６】
請求項１０に記載の発明は、ソフトウェアのライセンスを管理するライセンス管理サーバと、該ライセンス管理サーバに接続するクライアントを有するライセンス管理システムであって、前記ライセンス管理サーバは、前記クライアントから暗号化された該クライアント固有情報である暗号化固有情報を有するライセンス要求を受信した際に、該暗号化固有情報を登録するとともに、該クライアントが正しいか否かを判断して、ライセンスを付与するライセンス付与手段と、クライアントからの任意または定期的に行われる暗号化固有情報を有するライセンス更新要求を受信した際に、該クライアントの前記暗号化固有情報が正しいか否かの確認を行う手段と、該暗号化固有情報が正しい場合はクライアントに許諾信号を付与する更新手段とを有し、前記クライアントは、最初にソフトウェアのライセンスを要求時に使用許諾され付与されるライセンスとライセンス付与時のライセンス許諾時刻を最新更新時刻とし、該最新更新時刻とクライアント固有情報を記録する初期情報記録手段と、前記ソフトウェアの使用の際に、記録した前記ライセンスが正しいことと、記録した前記クライアント固有情報が正しいことと、記録した前記最新更新時刻より一定期間以内であることとを判断して前記ソフトウェアを起動させる起動判断手段と、記録した前記最新更新時刻より任意または定期的に前記ライセンス管理サーバにライセンスの確認に行い、ライセンスの更新を行なう確認更新手段とを有することを特徴とする。
【００２７】
請求項１０によれば、ハードウェアを用いたりＣＤに細工したりせずに不正な複製や利用を防ぐとともに、パソコンの情報に基づきライセンスの管理を行うコンピュータに対して情報を提供しても、個人情報やコンピュータ独自の情報である固有情報の流出や乱用を防ぐことを可能とするライセンス管理システムを提供できる。
【００２８】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
【００２９】
本発明の実施の形態における全体構成図を図１に示す。図１に示されるように、本実施の形態におけるライセンス管理システムは、ライセンス管理サーバ１０と、ソフトベンダーサーバ（ダウンロードサーバ）１２と、Ａ社のパソコンである１６ａ、１６ｂ、１６ｃとそれらが接続するインターネット１４と、ソフトウェアが記録された記録媒体１８ａ、１８ｂで構成される。
【００３０】
ライセンス管理サーバ１０は、ソフトウェアのライセンスの管理を行うサーバである。ソフトベンダーサーバ１２は、ソフトウェアをインターネット１４を通じて他のパソコンに供給するサーバである。パソコン１６ａ、１６ｂ、１６ｃはソフトウェアがインストールされたパソコンである。
【００３１】
このインストールは、ソフトウェアの使用に先立ち予め行っておく形態となっており、そのインストール方法は、記録媒体１８ａ、１８ｂを用いても良いし、ソフトベンダーサーバ１２を用いても良い。
【００３２】
ちなみに、図１の場合は、パソコン１６ａは記録媒体１８ａから、パソコン１６ｂは記録媒体１８ｂから、パソコン１６ｃは、ソフトベンダーサーバ１２からそれぞれソフトウェアがインストールされている。
【００３３】
また、図１におけるライセンス管理サーバ１０は、Ａ社用のライセンスを１つ発行可能であり、図１は、そのライセンスがパソコン１６ａに与えられているために、他のパソコンは使用できない状況を示している。
【００３４】
次に、上述したライセンス管理サーバ１０、ソフトベンダーサーバ１２や、パソコン１６などのコンピュータのハードウェア構成図を図２に示す。なお、パソコン１６とは、パソコン１６ａ、１６ｂ、１６ｃのいずれにも共通する処理などを説明する場合に用いる表現とする。
【００３５】
図２に示されるハードウェア構成は、それぞれバスＢで相互に接続されている入力装置２２と，表示装置２３と，ドライブ装置２４と，記録媒体２５と，補助記憶装置２６と，メモリ装置２７と，演算処理装置２０と，インターフェース装置２１とを含むように構成される。
【００３６】
入力装置２２は、コンピュータシステムの利用者が操作するキーボード及びマウスなどで構成され、コンピュータシステムに各種操作信号を入力するために用いられる。表示装置２３は、コンピュータシステムを操作するのに必要な各種ウインドウやデータ等を表示する。インターフェース装置２１は、コンピュータシステムをネットワークに接続する為のインターフェースであり、例えばＮＩＣ（Ｎｅｔｗｏｒｋ　Ｉｎｔｅｒｆａｃｅ　Ｃａｒｄ）やモデム等で構成される。
【００３７】
そして、上記コンピュータシステムを動作させるためのプログラムは、ＣＤ−ＲＯＭ等の記録媒体２５によって提供されるか、ネットワークを通じてダウンロードされる。また、記録媒体２５は、ドライブ装置２４にセットされ、データやプログラムが記録媒体２５からドライブ装置２４を介して補助記憶装置２６にインストールされる。
【００３８】
補助記憶装置２６は、データやプログラムを格納すると共に、必要なファイル等を格納する。メモリ装置２７は、コンピュータシステムの起動時に補助記憶装置２６からプログラムを読み出して格納する。演算処理装置２０は、メモリ装置２７に読み出され格納されたプログラムに従って処理を実行する。
【００３９】
次に、図３を用いて、ライセンス管理システムにおける全体の流れを説明する。まずステップＳ１０１で、パソコン１６にソフトウェアがインストールされる。次に、ステップＳ１０２で、パソコン１６は、後述する暗号化固有情報をライセンス管理サーバ１０に送信することでライセンス管理サーバ１０からキーを取得し、情報の設定を行う。この情報は、ファイル３２や、各種の環境設定やドライバの指定、アプリケーションの関連付けなどの情報を保存するファイルであるレジストリ３４に設定される。また、それら設定される情報は、ＰＣ固有情報３６と、時間情報３８と、キー情報４０で構成される。このうち、ＰＣ固有情報は、パソコンのＭＡＣ（Ｍｅｄｉａ　Ａｃｃｅｓｓ　Ｃｏｎｔｒｏｌ）アドレス、コンピュータ名、プロセッサ情報、ＨＤ（Ｈａｒｄ　Ｄｉｓｋ）ボリュームシリアルＮＯ．、そしてＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）名、及びバージョン、ソフトウェアのプログラムがインストールされたフォルダの生成日時で構成される。
【００４０】
また、時間情報３８は、複数の日時情報で構成される。それらはサーバタイムスタンプと、前回のライセンス更新時間を示す最終タイムと、ＰＣタイムスタンプとなっており、サーバタイムスタンプは、ライセンス管理サーバ１０の最新更新時刻を利用している。次のキー情報４０は、ライセンス管理サーバ１０から取得したシリアル番号で構成される。このキー情報４０は、図に示されるように、ライセンス管理サーバ１０のキーＢＡＮＫ３０で管理されている。
【００４１】
これらの情報は、ライセンスを受信した時に、一緒に受信したサーバタイムスタンプと、サーバに更新確認を行う時間間隔を指定する「一定期間」とともに、クライアント情報として設定される。そして、これらの情報は、ステップＳ１０３で示されるようなソフトウェアの起動時及び終了時、そしてステップＳ１０４のライセンス更新時、さらにステップＳ１０５のキー返還時に参照または更新、或いは削除される。
【００４２】
また、ライセンス管理サーバ１０は、さらに図４に示されるソフトウェア別更新間隔データベースと、図５に示されるライセンス管理データベースを有する。ソフトウェア別更新間隔データベースは、ライセンスの更新間隔をソフトウェア別に記したデータベースであり、例えばソフトＡは、１０日ごとにライセンスを更新しなければならないことを示している。
【００４３】
ライセンス管理データベースは、ユーザごとにライセンスを管理するデータベースであり、ユーザ名とそれに対応したＩＤ番号、パスワード、ソフト名、ライセンス番号、最新更新時間、暗号化固有情報で構成される。ＩＤ番号は、ユーザのＩＤ番号であり、パスワードは、ユーザの認証に用いられ、ソフト名は、使用するソフトウェアの名前である。また、最新更新時間は、更新を行った最新の時間を表している。そして、暗号化固有情報は、パソコン１６のＰＣ固有情報を暗号化した情報であり、その詳細な説明は、次のフローチャートの説明で行われる。
【００４４】
図６のフローチャートは、図３のステップＳ１０２に対応する処理であるキー情報の取得と情報設定時の処理を示している。
【００４５】
最初にステップＳ２０１で、パソコン１６は、上述したＰＣ固有情報を取得する。次に、ステップＳ２０２で、パソコン１６は、ＰＣ固有情報を暗号化する。この暗号化の目的は二つあり、一つは、ネットワークおよびライセンス管理サーバ１０に対し、パソコン１６のＰＣ固有情報を隠蔽することである。もう一つの目的は、ライセンス管理サーバ１０がパソコンのＰＣ固有情報に変化があったことを検出することである。
【００４６】
最初の目的であるＰＣ固有情報の隠蔽によって、パソコン１６のＰＣ固有情報がネットワークおよびライセンス管理サーバ１０に、そのままのデータとして流出することがなく、ＰＣ固有情報の流出や濫用を懸念するユーザも安心して利用することができる。また、二つ目の目的であるＰＣ固有情報の変化の検出であるが、この検出により、ライセンス管理サーバ１０は、他のパソコンとパソコン１６とを区別することができ、ライセンスを持たない他のパソコンがソフトウェアを使用するなどの不正な利用も防止することができる。また、パソコン１６のＰＣ固有情報が改竄されたことも検出することが可能となる。
【００４７】
このように、ここでの暗号化の方式は、一般的な暗号化の方式に限らず、生成された情報から、もとのＰＣ固有情報が特定できず、ＰＣ固有情報の変化が検出可能な方式であれば良い。したがって、ここでの暗号化は、ＰＣ固有情報自体を暗号化してもよいし、ＰＣ固有情報のハッシュ値（メッセージ認証子）を生成してもよい。また、暗号化の目的が暗号通信ではないため、暗号化するためのアルゴリズムは、パソコン１６が任意に定めることができる。もっとも、ライセンス管理サーバ１０を管理する管理会社が、暗号化を行うプログラムを、サービスを受けるパソコン１６などに予め提供するようにしても良い。なお、以下の説明においても、ＰＣ固有情報の暗号化とは、上述した暗号化を示すこととする。
【００４８】
以上で暗号化に関する説明を終え、再びフローチャートの説明を行う。パソコン１６は、ステップＳ２０３で、図に示されるように、ライセンス管理サーバ１０内のキーＢＡＮＫ３０に接続し、事前にライセンス管理サーバ１０に登録されているソフトウェアユーザのＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）、ＰＷ（Ｐａｓｓ　Ｗｏｒｄ）、ソフトウェアの情報であるソフト情報、暗号化したＰＣ固有情報である暗号化固有情報とをライセンス管理サーバ１０に送信する。
【００４９】
なお、ライセンスキーも、既にライセンス管理サーバに登録してあるものとして説明するが、ユーザで事前に利用するソフトウェアのライセンス数だけを定めてあり、ユーザからの要求時に生成するようにしても良い。
【００５０】
これらの情報を受信したライセンス管理サーバ１０は、ステップＳ２０４でキーＢＡＮＫ３０を参照して認証処理を行う。そして、ライセンス管理サーバ１０は、認証処理の結果、キーの発行を行えない場合は、パソコン１６に、その旨を送信し、パソコン１６は、ステップＳ２０６で、キーの発行が行えないことを示す取得不可表示を行い、処理を終了する。
【００５１】
ステップＳ２０５の判断処理で、ＩＤとＰＷとソフトウェア情報を用いた認証処理の結果、キーの発行を行っても良い場合、ライセンス管理サーバ１０は、ステップＳ２０７で、キーが既に発行されていないかどうかチェックする。このチェックは、最新の更新時刻が西暦００００年００月００日００時００分と一致するかどうかのチェックである。一致した場合、発行していることになり、キーの発行はできないため、パソコン１６に、その旨を送信し、パソコン１６は、ステップＳ２０６で、キーの発行が行えないことを示す取得不可表示を行い、処理を終了する。
【００５２】
最新の更新時間が西暦００００年００月００日００時００分と一致していない場合、ライセンス管理サーバ１０は、ステップＳ２０８で、キーの発行を行う際に、発行するキーに該当するキーＢＡＮＫ３０（図５参照）の最新更新時刻に現在の時刻を設定し、キーとサーバタイムスタンプをパソコン１６に送信する。また、受信した暗号化固有情報をライセンス管理データベース（図５参照）へ登録する。
【００５３】
なお、ステップＳ２０７のキー返還のチェック処理は、ライセンス管理サーバ１０が、最新更新時刻を持たなくても可能であり、この場合、ライセンス管理データベース（図５参照）の最新更新時刻も不要となる。
【００５４】
キー情報とサーバタイムスタンプとを受信したパソコン１６は、ステップＳ２０９でファイル３２及びレジストリ３４の２ヶ所に対し、キー情報の設定を行う。次に、パソコン１６は、ステップＳ２１０で、サーバタイムスタンプと最終タイムとＰＣタイムスタンプと一定期間からなる時間情報の設定をファイル３２とレジストリ３４に対して行う。このとき、時間情報内の最終タイムに、先ほど受信したサーバタイムスタンプを代入する。そして、ステップＳ２１１で、パソコン１６は、ファイル３２とレジストリ３４に対し、プログラムフォルダ生成日時の設定を行う。次に、パソコン１６は、ステップＳ２１２で、ファイル３２とレジストリ３４に対し、ＰＣ固有情報の書き込みを行い、キー情報の取得と情報設定時の処理を終了する。
【００５５】
次に、図７のフローチャートを用いて、ソフトウェア起動時の処理について説明する。まず、パソコン１６は、ステップＳ３０１で、自らのＰＣ固有情報を取得する。次に、ステップＳ３０２で、パソコン１６は、取得したＰＣ固有情報を暗号化する。以降、比較時には復号化して利用しているが省略する。これは、安全性は少し落ちるが暗号化せずに使用しても構わない。そして、パソコン１６は、ステップＳ３０３でＰＣ固有情報３６が記録されているファイル３２とレジストリ３４とで、先ほど取得したＰＣ固有情報の照査を行う。その結果、取得したＰＣ固有情報と、ファイル３２とレジストリ３４にそれぞれある２つのＰＣ固有情報３６の計３者が一致した場合、次のステップＳ３０４へ処理を進める。一致しなかった場合、パソコン１６は、ステップＳ３１３へ処理を進め、エラーメッセージを表示し、処理を終了する。
【００５６】
ＰＣ固有情報の照査が終わると、次に、パソコン１６は、ステップＳ３０５で、ファイル３２とレジストリ３４とを用いて、キー情報の照査を行う。その結果、パソコン１６は、キー情報のうち、ファイル３２とレジストリ３４からなる２者が一致した場合、次のステップＳ３０７へ処理を進める。一致しなかった場合、パソコン１６は、ステップＳ３１３へ処理を進め、エラーメッセージを表示し、処理を終了する。
【００５７】
キー情報の照査が終わると、次に、パソコン１６は、ステップＳ３０７で、現在の日時情報であるＰＣタイムの取得を行う。このＰＣタイムとは、パソコン１６の内蔵時計の時刻を示している。パソコン１６は、ステップＳ３０８で、レジストリ３４に記録されている最終タイムと、ＰＣタイムの比較を行う。この場合の最終タイムは、ライセンス管理サーバ１０から受信した日時情報または最後にソフトウェアが使用された日時情報を表している。
【００５８】
ＰＣタイムと最終タイムとを比較した結果、ステップＳ３０９で、ＰＣタイムが最終タイムより大きい場合、次のステップＳ３１０へ処理を進める。ＰＣタイムが最終タイム以下の場合、現在の時刻と、最後にソフトウェアを使用した時刻とが矛盾するため、パソコン１６は、ステップＳ３１３へ処理を進め、エラーメッセージを表示し、処理を終了する。
【００５９】
次に、パソコン１６は、ステップＳ３１０で、レジストリ３４の最終タイムを、先ほど取得したＰＣタイムに更新する。そして、パソコン１６は、ステップＳ３１１で、フォルダの生成時間と、ファイル３２と、レジストリ３４からフォルダ情報を取得する。次のステップＳ３１２で、フォルダ、ファイル、レジストリのうちの３者が一致しなかった場合、パソコン１６は、ステップＳ３１３でエラーメッセージを表示する。３者が一致した場合、パソコン１６は、ステップＳ３１４へ処理を進め、現在時刻であるＰＣタイムより、指定期間とサーバタイムスタンプを足した値が小さい場合に、ステップＳ３１７でソフトウェアを起動する。
【００６０】
この処理の具体例を説明する。上記処理は、サーバタイムスタンプが、例えば４月１日の０時０分となっており、指定期間が５日である場合、４月１日の０時０分の５日後である４月６日の０時０分よりもＰＣタイムが前の時刻であれば、指定期間内であるのでソフトウェアを使用することができるという処理である。
【００６１】
また、ステップＳ３１４で、ＰＣタイムが例えば４月７日であるような、指定期間を過ぎている場合、そのままでは、ソフトウェアを使用することはできないため、パソコン１６は、ステップＳ３１５で、ライセンスの更新処理（図８参照）を行う。
【００６２】
次に、パソコン１６は、ライセンスの更新処理によるライセンス管理サーバ１０からの応答が、正常戻り値であるかどうかで処理を分岐する。
【００６３】
ライセンス管理サーバ１０からの応答が正常戻り値であった場合、パソコン１６は、ステップＳ３１８でソフトウェアを起動する。ステップＳ３１６での戻り値が、正常戻り値でなかった場合、パソコン１６は、ステップＳ３１７へ処理を進める。
【００６４】
ステップＳ３１７の処理は、指定期間が過ぎても、さらに期間βが経過するまでは、ステップＳ３１８でソフトウェアを起動し、期間βが経過した後はソフトウェアを起動せずにそのまま終了させる処理である。
【００６５】
以上でソフトウェア起動時の説明を終え、次に、図８を用いて定期的に行われるライセンスの更新処理について説明する。ステップＳ４０１で、パソコン１６は、自らのＰＣ固有情報を取得する。次に、ステップＳ４０２で、パソコン１６は、取得したＰＣ固有情報を暗号化する。
【００６６】
次に、パソコン１６は、ステップＳ４０３で、ライセンス管理サーバ１０内のキーＢＡＮＫ３０に接続できる場合は、ステップＳ４０５に進み、接続できない場合は、ステップＳ４０４でキーＢＡＮＫ接続不可表示を行い、処理を終了する。
【００６７】
ステップＳ４０５で、パソコン１６は、ソフトウェアユーザのＩＤ、ＰＷ、ソフト情報、キー、暗号化固有情報をライセンス管理サーバ１０に送信する。
【００６８】
ライセンス管理サーバ１０は、ステップＳ４０６で、キーＢＡＮＫ３０を参照して認証処理を行う。そして、ライセンス管理サーバ１０は、ステップＳ４０７で、ＩＤ、ＰＷ、キーが同じであれば、ステップＳ４０９へ処理を進め、異なっていればパソコン１６にその旨を送信し、パソコン１６は、ステップＳ４０８で、キーの更新が行えないことを示す更新不可表示を行い、処理を終了する。
【００６９】
次に、ライセンス管理サーバ１０は、ステップＳ４０７で、キーが返還されていないかどうかチェックする。このチェックは、前回の更新時間が西暦００００年００月００日００時００分と一致するかどうかのチェックである。一致した場合、返還していることになり、キーの更新はできないため、パソコン１６に、その旨を送信し、パソコン１６は、ステップＳ４０８で、キーの更新が行えないことを示す更新不可表示を行い、処理を終了する。
【００７０】
前回の更新時間が西暦００００年００月００日００時００分と一致していない場合、次に、ステップＳ４０８で、ライセンス管理サーバ１０は、受信した暗号化固有情報が、ライセンス管理データベース（図５参照）に登録されている暗号化固有情報と一致しない場合、ライセンス管理サーバ１０は、キーの更新ができないため、パソコン１６に、その旨を送信し、パソコン１６は、ステップＳ４０６で、キーの更新が行えないことを示す更新不可表示を行い、処理を終了する。
【００７１】
なお、ステップＳ４０７のキー返還のチェック処理は、ライセンス管理サーバ１０が、最新更新時刻を持たなくても可能であり、この場合、ライセンス管理データベース（図５参照）の最新更新時刻も不要となる。
【００７２】
次に、ステップＳ４１０で、ライセンス管理サーバ１０は、受信した暗号化固有情報が、登録されている暗号化固有情報と同じで正しと判断されると、ステップＳ４１０で、ライセンスを保持するための更新処理を行う。この更新処理では、キーＢＡＮＫの該当キーの前回更新時間に、現在の時間を設定する処理が行われ、パソコン１６がキーを更新したことの書き込みをキーＢＡＮＫ３０に行われるとともに、パソコン１６には、サーバタイムスタンプが送信される。
【００７３】
サーバタイムスタンプを受信したパソコン１６は、ステップＳ４１２で、レジストリ３４とファイル３２に対し、サーバタイムスタンプと最終タイムとＰＣタイムスタンプからなる時間情報の設定を行い、処理を終了する。
【００７４】
この更新処理は、図７で説明したように、ソフトウェア起動時に指定期間を過ぎている場合には自動的に行われるが、指定期間を過ぎていない場合でもユーザが更新したい場合は、当該ソフトウェア実行中の画面上で図１０に示されるソフトウェアに設けられた更新メニュー４１を選択することによっても更新することができる。
【００７５】
この更新メニュー４１をユーザが選択した場合の処理を図１１のフローチャートを用いて説明する。ステップＳ６０１で、パソコン１６は、ユーザの選択によるライセンスの更新メニューが選択されたことを検出する。次に、ステップＳ６０２で、パソコン１６は、ライセンス更新処理を実行する。そのライセンス更新処理が正常終了であれば、パソコン１６は、ステップＳ６０３の分岐により、更新処理を終了する。ライセンス更新処理が異常終了であれば、パソコン１６は、ステップＳ６０３からステップＳ６０４へ処理を進め、更新処理が異常終了であることの警告を表示し、更新処理を終了する。
【００７６】
このように、ユーザが任意で更新処理を行うことができるため、例えば、指定期間内は、出張のためライセンスを更新することができないときなどは、予めライセンスの更新を行っておくことが可能となる。
【００７７】
次に、図９のフローチャートを用いて、ライセンスの返還処理について説明する。ステップＳ５０１で、パソコン１６は、自らのＰＣ固有情報を取得する。次に、ステップＳ５０２で、パソコン１６は、取得したＰＣ固有情報を暗号化する。
【００７８】
そして、パソコン１６は、ステップＳ５０３で、図に示されるように、ライセンス管理サーバ１０内のキーＢＡＮＫ３０に接続し、ソフトウェアユーザのＩＤ、ＰＷ、ソフト情報、キー、暗号化固有情報とをライセンス管理サーバ１０に送信する。
【００７９】
接続されたライセンス管理サーバ１０は、ステップＳ５０４で、キーＢＡＮＫ３０を参照して認証処理を行う。ライセンス管理サーバ１０は、ステップＳ５０５で、ＩＤ、ＰＷ、ソフト情報が同じであれば、ステップＳ５０７へ処理を進め、異なっていればパソコン１６に、その旨を送信し、パソコン１６は、ステップＳ５０６で、キーの返還が行えないことを示す返還不可表示を行い、処理を終了する。
【００８０】
次に、ライセンス管理サーバ１０は、ステップＳ５０７で、既にキーが返還されていないかどうかチェックする。このチェックは、前回の更新時間が西暦００００年００月００日００時００分と一致するかどうかのチェックである。一致した場合、既にキーを返還していることになり、キーの返還はできないため、パソコン１６に、その旨を送信し、パソコン１６は、ステップＳ５０６で、キーの返還が行えないことを示す返還不可表示を行い、処理を終了する。なお、返還不可表示を行った後、Ｓ５１０へ進んでも構わない。
【００８１】
返還されていない場合、ライセンス管理サーバ１０は、ステップＳ５０８へ処理を進める。そして、受信した暗号化固有情報が、ライセンス管理データベース（図５参照）に登録されている暗号化固有情報と異なる場合はキーの返還ができないため、パソコン１６にその旨を送信し、パソコン１６は、ステップＳ５０６で、キーの変換が行えないことを示す返還不可表示を行い処理を終了する。なお、返還不可表示を行った後、ステップＳ５１０へ進んでも構わない。
【００８２】
なお、ステップＳ５０７のキー返還のチェック処理は、ライセンス管理サーバ１０が、最新更新時刻を持たなくても可能であり、この場合、ライセンス管理データベース（図５参照）の最新更新時刻も不要となる。
【００８３】
受信した暗号化固有情報が、登録されている暗号化固有情報と同じで正しければ、ステップＳ５０９で、ライセンス管理サーバ１０は、キー返還処理を行う。このキー返還処理は、ライセンス管理データベース（図５参照）の該当する最新更新時間を西暦００００年００月００日００時００分にセットし、キーＢＡＮＫ３０に対して、パソコン１６がキーを返還したことの書き込みを行い、登録固有情報のクリアを行うとともに、認証の確認がされたことをパソコン１６に送信する。
【００８４】
パソコン１６は、ステップＳ５１０でファイル３２及びレジストリ３４に対し、キー情報の消去を行う。次に、パソコン１６は、ステップＳ５１１で、時間情報の消去をレジストリ３４に対して行う。そして、ステップＳ５１２で、パソコン１６は、ファイル３２とレジストリ３４に対し、プログラムフォルダ生成日時の消去を行う。次に、パソコン１６は、ステップＳ５１３で、ファイル３２とレジストリ３４に対し、ＰＣ固有情報の消去を行い、キー情報の返還処理を終了する。
【００８５】
このようにライセンスを返還することが可能なため、複数の人数が有するそれぞれのパソコンでライセンスを共有することができる。例えば、２人が１つのライセンスを共有する場合、１人がライセンスを使い終えてライセンスを返還すると、残りの１人は、その返還されたライセンスにより自分のパソコン上でソフトウェアを実行することが可能となる
また、１人の場合でも、出張などの際に、自分のデスクトップパソコンで使用しているライセンスを、一旦ライセンス管理サーバ１０に返還し、出張用のノートパソコンに先ほど返還したライセンスを新たに取得して用いることが可能となるなど、ライセンスを柔軟に使用することができる。
【００８６】
なお、固有情報は上記に拘らず、パソコンを特定できる情報ならばなんでも良い。一定期間後に、パソコンよりライセンスを確認するに必要な最新更新時刻、一定期間もサーバで記録せず、パソコン側で保持ようにしても良い。指定期間もサーバ持たなくても良い。
【００８７】
また、上記実施の形態において、ファイルやレジストリに書き込みを行う処理は、安全性は少し落ちるが、ファイルまたはレジストリの２ヶ所への書き込みではなく、どちらか１ケ所でも構わない。
【００８８】
さらに、サーバでライセンス発行の管理を最新更新時刻のみで行う例としたが、ライセンス発行の管理用にライセンス管理フラグを別に持つことでライセンス管理確認を明確にしても良い。
【００８９】
【発明の効果】
以上説明したように、ハードウェアを用いたりＣＤに細工したりせずに不正な複製や利用を防ぐとともに、パソコンの情報に基づきライセンスの管理を行うコンピュータに対して情報を提供しても、個人情報やコンピュータ独自の情報である固有情報の流出や乱用を防ぐことを可能とするライセンス管理方法、ライセンス管理システムが得られる。
【図面の簡単な説明】
【図１】本発明の実施の形態における全体構成図である。
【図２】コンピュータのハードウェア構成図である。
【図３】全体の処理の流れを示すフローチャートである。
【図４】ソフトウェア別更新間隔データベースを示す図である。
【図５】ライセンス管理データベースを示す図である。
【図６】キー取得処理と情報設定処理を示すフローチャートである。
【図７】ソフトウェア起動時の処理を示すフローチャートである。
【図８】ライセンス更新時の処理を示すフローチャートである。
【図９】ライセンス返還時の処理を示すフローチャートである。
【図１０】ソフトウェアに表示された更新メニューを示す図である。
【図１１】更新メニューによる更新処理を示すフローチャートである。
【符号の説明】
１０…ライセンス管理サーバ
１２…ソフトベンダーサーバ
１４…インターネット
１６、１６ａ、１６ｂ、１６ｃ…パソコン
１８ａ、１８ｂ…記録媒体
２０…演算処理装置
２１…インターフェース装置
２２…入力装置
２３…表示装置
２４…ドライブ装置
２５…記録媒体
２６…補助記憶装置
２７…メモリ装置
３０…キーＢＡＮＫ
３２…ファイル
３４…レジストリ
３６…ＰＣ固有情報
３８…時間情報
４０…キー情報
４１…更新メニュー
【図１】
2004038247.tif 000003
【図２】
2004038247.tif 000004
【図３】
2004038247.tif 000005
【図４】
2004038247.tif 000006
【図５】
2004038247.tif 000007
【図６】
2004038247.tif 000008
【図７】
2004038247.tif 000009
【図８】
2004038247.tif 000010
【図９】
2004038247.tif 000011
【図１０】
2004038247.tif 000012
【図１１】
2004038247.tif 000013