(57)【要約】【課題】  ライセンサー側に、極めて単純な機能のライセンスキー発行装置（各種の情報の管理機能を有さない装置）を用意するだけで済むことになるアプリケーションプログラムを、提供する。【解決手段】  アプリケーションプログラムを、既に登録されているライセンスキーと同じ固有識別子を含み（Ｓ３０８；ＹＥＳ）、ライセンスキーの発行依頼時に発行依頼者が指定したパスワードの暗号化結果と同じ暗号化パスワード（Ｓ３０４；ＹＥＳ）を含むライセンスキーしか登録できないプログラムとしておく。【選択図】  図６
2006127197.tif 000002
【特許請求の範囲】
【請求項１】
自プログラムを利用できるクライアントコンピュータの台数の上限，或いは，自プログラムを利用できるクライアントコンピュータから利用できる者の人数の上限を規定する情報であるライセンス数を変更可能なアプリケーションプログラムであって、
何台かのクライアントコンピュータに接続されたサーバコンピュータを、
パスワードを入力する操作を含む注文キー生成指示操作が行われたときに、入力されたパスワードを暗号化することにより暗号化パスワードを生成した後、生成した暗号化パスワード，及び，自コンピュータに対して割り当てられている固有識別子を含めた所定形式のデータを暗号化することにより、新たなライセンスキーを得るためにライセンサーに通知することが必要な注文キーを生成する注文キー生成ステップと、
ライセンスキーとパスワードとを入力する操作を含むライセンスキー追加指示操作が行われたときに、入力されたライセンスキーを復号すると共に、入力されたパスワードを暗号化し、入力されたライセンスキーの復号結果中に含まれる固有識別子が、自コンピュータに対して割り当てられている前記固有識別子と一致し、かつ、当該復号結果中に含まれる暗号化パスワードが、入力されたパスワードの暗号化結果と一致した場合に限り、入力されたライセンスキーが前記ライセンサーによって正式に発行されたものであると判断するライセンスキー追加指示操作応答ステップ
とを実行可能な装置として動作させることを特徴とするアプリケーションプログラム。
【請求項２】
自コンピュータを利用できるクライアントコンピュータの台数の上限，或いは．自コンピュータをクライアントコンピュータから利用できる者の人数の上限を規定する情報であるライセンス数を変更可能なサーバコンピュータであって、
パスワードを入力する操作を含む注文キー生成指示操作が行われたときに、入力されたパスワードを暗号化することにより暗号化パスワードを生成した後、生成した暗号化パスワード，及び，自コンピュータに割り当てられている固有識別子を含めた所定形式のデータを暗号化することにより、新たなライセンスキーを得るためにライセンサーに通知することが必要な注文キーを生成する注文キー生成手段と、
ライセンスキーとパスワードとを入力する操作を含むライセンスキー追加指示操作が行われたときに、入力されたライセンスキーを復号すると共に、入力されたパスワードを暗号化し、入力されたライセンスキーの復号結果中に含まれる固有識別子が、自コンピュータに割り当てられている前記固有識別子と一致し、かつ、当該復号結果中に含まれる暗号化パスワードが、入力されたパスワードの暗号化結果と一致した場合に限り、入力されたライセンスキーが前記ライセンサーから正式に発行されたものであると判断するライセンスキー追加指示操作応答手段
とを、備えたことを特徴とするサーバコンピュータ。
【請求項３】
コンピュータに、
或る顧客から通知された注文キーを入力する操作を含むライセンスキー生成指示操作が行われたときに、入力された注文キーを復号し、その復号結果中に含まれる固有識別子及び暗号化パスワードを特定する特定ステップと、
この特定ステップにより特定されたものと同じ固有識別子及び暗号化パスワードを含み、前記顧客が追加を要求しているライセンス数をキー単位ライセンス数として含むデータを生成するデータ生成ステップと、
このデータ生成ステップにより生成されたデータを暗号化することによって、前記顧客に通知するためのライセンスキーを発行するライセンスキー発行ステップ
とを実行させることを特徴とするライセンスキー発行プログラム。
【請求項４】
或る顧客から通知された注文キーを入力する操作を含むライセンスキー生成指示操作が行われたときに、入力された注文キーを復号し、その復号結果中に含まれる固有識別子及び暗号化パスワードを特定する特定手段と、
この特定手段により特定されたものと同じ固有識別子及び暗号化パスワードを含み、前記顧客が追加を要求しているライセンス数をキー単位ライセンス数として含むデータを生成するデータ生成手段と、
このデータ生成手段により生成されたデータを暗号化することによって、前記顧客に通知するためのライセンスキーを発行するライセンスキー発行手段
とを、備えたことを特徴とするライセンスキー発行装置。
【請求項５】
ライセンスキー発行装置と１台以上のサーバコンピュータとを含むライセンスキー発行システムであって、
前記１台以上のサーバコンピュータのそれぞれが、
自コンピュータを利用できるクライアントコンピュータの台数の上限，或いは．自コンピュータをクライアントコンピュータから利用できる者の人数の上限を規定する情報であるライセンス数を変更可能なコンピュータであると共に、
復号することにより、固有識別子とキー単位ライセンス数と暗号化パスワードとを得ることが可能な幾つかのライセンスキーを記憶しておくためのライセンスキー記憶手段，
前記ライセンスキー記憶手段に記憶されている各ライセンスキーの復号結果中に含まれる各キー単位ライセンス数の総和を前記ライセンス数として把握するライセンス数把握手段，
パスワードを入力する操作を含む注文キー生成指示操作が行われたときに、入力されたパスワードを暗号化することにより暗号化パスワードを生成した後、生成した暗号化パスワード，及び，前記ライセンスキー記憶手段に記憶されているライセンスキーの復号結果中に含まれる固有識別子を含めた所定形式のデータを暗号化することにより、新たなライセンスキーを得るためにライセンサーに通知することが必要な注文キーを生成する注文キー生成手段，及び，
ライセンスキーとパスワードとを入力する操作を含むライセンスキー追加指示操作が行われたときに、入力されたライセンスキーを復号すると共に、入力されたパスワードを暗号化し、入力されたライセンスキーの復号結果中に含まれる固有識別子が、前記ライセンスキー記憶手段に記憶されているライセンスキーの復号結果中に含まれる固有識別子と一致し、かつ、当該復号結果中に含まれる暗号化パスワードが、入力されたパスワードの暗号化結果と一致した場合に限り、入力されたライセンスキーを前記ライセンスキー記憶手段に記憶させるライセンスキー追加指示操作応答手段を、備えたコンピュータであり、
前記ライセンスキー発行装置が、
或る顧客から通知された注文キーを入力する操作を含むライセンスキー生成指示操作が行われたときに、入力された注文キーを復号し、その復号結果中に含まれる固有識別子及び暗号化パスワードを特定する特定手段と、
この特定手段により特定されたものと同じ固有識別子及び暗号化パスワードを含み、前記顧客が追加を要求しているライセンス数をキー単位ライセンス数として含むデータを生成するデータ生成手段と、
このデータ生成手段により生成されたデータを暗号化することによって、前記顧客に通知するためのライセンスキーを発行するライセンスキー発行手段
とを、備えた装置である
ことを特徴とするライセンスキー発行システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ライセンス数の変更が可能なアプリケーションプログラム及びサーバコンピュータ，ライセンス数を変更するためのライセンスキーを発行するライセンスキー発行プログラム及びライセンスキー発行装置，ライセンス数の変更が可能な何台かのサーバコンピュータとライセンスキー発行装置とを含むライセンスキー発行システムに、関する。
【背景技術】
【０００２】
周知のように、近年、市販されているプログラムの中には、一旦、使用を開始した後、ライセンス数を変更（追加）できるものが存在している。
【０００３】
そのようなプログラムとしては、ライセンス数変更時の具体的な動作内容が異なるさまざまなもの（例えば、特許文献１参照）が、知られている。ただし、既存の，いずれのプログラムに用いられているライセンス数の設定・変更方法も、基本的には、各プログラムの現在のライセンス数や各プログラムのユーザに通知済みのライセンスコード等を記憶しておくための装置を用意しておき、その装置に記憶されている情報を利用して行われるものとなっている。そして、既存のライセンス数の設定・変更方法は、各プログラムの現在のライセンス数等を記憶させておくための装置に障害が生じるとライセンス数の変更等が行えなくなるものであるため、当該装置内のデータをバックアップしておくための装置等を用意しておかなければならないものとなっていた。
【特許文献１】特開2000-207199号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
そこで、本発明の第１の課題は、ライセンサー側に、単純な機能のライセンスキー発行装置（各種情報の管理機能を有さない装置）を用意するだけで済むことになるアプリケーションプログラム及びサーバコンピュータを、提供することにある。
【０００５】
また、本発明の第２の課題は、各種の情報を管理する必要がない形でライセンスキーを発行するライセンスキー発行装置、コンピュータを，そのようなライセンスキー発行装置として動作させることが出来るライセンスキー発行プログラムを、提供することにある。
【０００６】
また、本発明の第３の課題は、単純な機能のライセンスキー発行装置により、各サーバコンピュータに対するライセンスキーの発行が行われるライセンスキー発行システムを、提供することにある。
【課題を解決するための手段】
【０００７】
上記第１の課題を解決するために案出された本発明のアプリケーションプログラムは、何台かのクライアントコンピュータに接続されたサーバコンピュータを、パスワードを入力する操作を含む注文キー生成指示操作が行われたときに、入力されたパスワードを暗号化することにより暗号化パスワードを生成した後、生成した暗号化パスワード，及び，自コンピュータに対して割り当てられている固有識別子を含めた所定形式のデータを暗号化することにより、新たなライセンスキーを得るためにライセンサーに通知することが必要な注文キーを生成する注文キー生成ステップと、ライセンスキーとパスワードとを入力する操作を含むライセンスキー追加指示操作が行われたときに、入力されたライセンスキーを復号すると共に、入力されたパスワードを暗号化し、入力されたライセンスキーの復号結果中に含まれる固有識別子が、自コンピュータに対して割り当てられている前記固有識別子と一致し、かつ、当該復号結果中に含まれる暗号化パスワードが、入力されたパスワードの暗号化結果と一致した場合に限り、入力されたライセンスキーが前記ライセンサーによって正式に発行されたものであると判断するライセンスキー追加指示操作応答ステップとを実行可能な装置として動作させることを、特徴とする。
【０００８】
すなわち、本発明のアプリケーションプログラムが実行されたサーバコンピュータが、ライセンサーによって正式に発行されたものであると判断するライセンスキーは、顧客に特有な情報を何等必要としない処理（当該サーバコンピュータが生成した注文キーを復号し、その復号結果中に含まれる固有識別子及び暗号化パスワードと、顧客が追加を要求しているライセンス数をキー単位ライセンス数として含むデータを暗号化するといった処理）により生成できるものとなっている。
【０００９】
また、本発明のサーバコンピュータ（請求項２）も、顧客に特有な情報を何等必要としない処理（当該サーバコンピュータが生成した注文キーを復号し、その復号結果中に含まれる固有識別子及び暗号化パスワードと、顧客が追加を要求しているライセンス数をキー単位ライセンス数として含むデータを暗号化するといった処理）により生成できるライセンスキーを、ライセンサーによって正式に発行されたものであると判断する装置なっている。従って、本発明のアプリケーションプログラム／サーバコンピュータを用いれば、ライセンサー側に、単純な機能のライセンスキー発行装置（各種の情報の管理機能を有さない装置）を用意するだけで、アプリケーションプログラム／サーバコンピュータ用のライセンスキーを発行できることになる。
【００１０】
上記第２の課題を解決するために案出された本発明のライセンスキー発行プログラムは、コンピュータに、或る顧客から通知された注文キーを入力する操作を含むライセンスキー生成指示操作が行われたときに、入力された注文キーを復号し、その復号結果中に含まれる固有識別子及び暗号化パスワードを特定する特定ステップと、この特定ステップにより特定されたものと同じ固有識別子及び暗号化パスワードを含み、前記顧客が追加を要求しているライセンス数をキー単位ライセンス数として含むデータを生成するデータ生成ステップと、このデータ生成ステップにより生成されたデータを暗号化することによって、前記顧客に通知するためのライセンスキーを発行するライセンスキー発行ステップとを実行させることを、特徴とする。
【００１１】
すなわち、本発明のライセンスキー発行プログラムは、顧客に特有な情報を何等必要としない処理（顧客から通知された注文キーを復号し、その復号結果中に含まれる固有識別子及び暗号化パスワードと、顧客が追加を要求しているライセンス数をキー単位ライセンス数として含むデータを暗号化するといった処理）によりコンピュータにライセンスキーを発行させるものとなっている。従って、本発明のライセンスキー発行プログラムを用いれば、コンピュータを、各種の情報を管理する必要がない形でライセンスキーを発行可能な装置として動作させることが出来ることになる。
【００１２】
また、本発明のライセンスキー発行装置（請求項４）も、同様の手順でライセンスキーを発行する装置となっている。従って、請求項５記載の発明によれば、各種の情報を管理する必要がない形でライセンスキーを発行可能なライセンスキー発行装置を実現できることになる。
【００１３】
そして、本発明のライセンスキー発行システムは、本発明のサーバコンピュータ（請求項２）相当のサーバコンピュータと、本発明のライセンスキー発行装置（請求項２）相当のライセンスキー発行装置とが組み合わされたものであるので、このライセンスキー発行システムは、単純な機能のライセンスキー発行装置により、各サーバコンピュータに対するライセンスキーの発行が行われるシステムとして動作することになる。
【発明の効果】
【００１４】
本発明によれば、ライセンサー側に、各種の情報の管理機能を有さないライセンスキー発行装置を用意するだけで、アプリケーションプログラム／サーバコンピュータに関するライセンス数を変更できる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明を実施するための最良の形態を、図面を参照して詳細に説明する。
【００１６】
本発明の一実施形態に係るアプリケーションプログラム１０は、図１に示したようなコンピュータシステム内のサーバ２０にインストールされるプログラムである。
【００１７】
このアプリケーションプログラム１０は、ユーザＩＤ及びパスワードの登録が完了している者が，任意のクライアントＰＣ３０から利用できるプログラム（いわゆるＷｅｂアプリケーションプログラム）である。そして、アプリケーションプログラム１０は、登録可能なユーザＩＤ及びパスワードの数の上限を定めるライセンス数が、変更可能なプログラムとなっている。
【００１８】
また、アプリケーションプログラム１０は、ライセンス数の初期設定／変更（追加）が、ライセンスキー発行センターが発行したライセンスキーをキーボード入力することにより行われるプログラムとして作成されている。
【００１９】
ここで、ライセンスキー発行センターとは、アプリケーションプログラム１０のライセンサー（各アプリケーションプログラム１０のユーザとの間で、ライセンス数に関する契約を行う法人）が、初期設定用ライセンスキー（アプリケーションプログラム１０のセットアップ時に使用するライセンスキー）や追加用ライセンスキー（ライセンス数を増加させるために使用するライセンスキー）を発行するために、運営しているセンターのことである。なお、後述するライセンスキー発行装置，サーバ２０の内部処理で使用されるライセンスキー（初期設定用ライセンスキー，追加用ライセンスキー）は、バイナリデータであり、ユーザに提示される（書類上に印字される）ライセンスキーは、バイナリデータ形式のライセンスキーを１６進表記形式のデータに変換したものなのであるが、説明の便宜上、以下では、両データ形式のライセンスキーのことを特に区別することなく、単に、ライセンスキーと表記する。
【００２０】
このライセンスキー発行センタには、初期設定用ライセンスキー発行処理と追加用ライセンスキー発行処理とを行えるライセンスキー発行装置（一般的な構成のコンピュータに、ライセンスキー発行プログラムをインストールした装置）が、設置されている。
【００２１】
ライセンスキー発行装置（ライセンスキー発行プログラム）が実行可能な初期設定用ライセンスキー発行処理は、特定のアプリケーションプログラム１０のセットアップに用いる初期設定用ライセンスキーを発行し、発行した初期設定用ライセンスキー等を、そのアプリケーションプログラム１０のユーザに通知するための書類（初期設定用ライセンスキー等が印字されている書類；以下、初期設定用ライセンスキー掲載書類と表記する）を印刷する処理である。なお、初期設定用ライセンスキー掲載書類は、通常、アプリケーションプログラム１０が記録された記録媒体（ＣＤ−ＲＯＭ等）の添付書類として、各アプリケーションプログラム１０のユーザ（購入者）に提供される書類となっている。
【００２２】
そして、この初期設定用ライセンスキー発行処理は、ライセンスキー発行対象プログラム（これから発行する初期設定用ライセンスキーを用いて初期設定が行われるアプリケーションプログラム１０）に設定するライセンス数（以下、初期ライセンス数と表記する）をパラメータとした，図２に示した内容の処理となっている。
【００２３】
すなわち、初期設定用ライセンスキー発行処理を開始したライセンスキー発行装置（ライセンスキー発行プログラム）は、まず、現在日時を表す所定形式のデータを所定のハッシュ関数で処理することにより当該データのハッシュ値を求める処理(ステップＳ１０１)を行う。次いで、ライセンスキー発行装置は、現在日時から求めたハッシュ値等を利用して、図３に示した構成のライセンスキー元データを生成する(ステップＳ１０２)。より具体的には、このステップＳ１０２において、ライセンスキー発行装置は、現在日時から求めたハッシュ値，初期ライセンス数，現在日時を示すデータ，初期設定用暗号化パスワードを、それぞれ、固有識別子、ライセンス数（キー単位ライセンス数に相当）、発行日時（発行日時情報に相当）、暗号化パスワードとして設定したライセンスキー元データを生成する。なお、初期設定用暗号化パスワードとは、予め定められている初期設定用パスワードに対してパスワード用非可逆暗号化処理（本実施形態では、ハッシュ関数による非可逆暗号化処理）を施すことによって得られるデータ（予め用意されているデータ）のことである。
【００２４】
そして、ライセンスキー発行装置は、生成したライセンスキー元データに対してライセンスキー用可逆暗号化処理（本実施形態では、ライセンスキー用の秘密キーを用いたBlowfish暗号化処理）を施すことによって、初期設定用ライセンスキーを生成する処理(ステップＳ１０３)と、生成した初期設定用ライセンスキー，初期設定用パスワード等が印字された初期設定用ライセンスキー掲載書類をプリンタに印刷させるための処理(ステップＳ１０４)とを行ってから、初期設定用ライセンスキー発行処理を終了する。
【００２５】
ライセンスキー発行装置（ライセンスキー発行プログラム）が実行可能な追加用ライセンスキー発行処理は、アプリケーションプログラム１０のユーザから，注文キー，追加ライセンス数等が記された注文書が送付されてきたときに、当該ユーザに返送する追加用ライセンスキー掲載書類（当該ユーザが，自身が使用しているアプリケーションプログラム１０に登録すべき追加用ライセンスキー等が印字された書類）を作成するために、実行される処理である。
【００２６】
ここで、注文キーとは、パスワードの入力を含む操作が行われたときに、アプリケーションプログラム１０によって生成（発行）される情報のことである。この注文キーの詳細（生成手順等）については後述するが、注文キーは、所定の復号処理を施すことによって、固有識別子と暗号化パスワードとを含むデータを得ることが出来るデータとなっている。
【００２７】
そして、追加用ライセンスキー発行処理は、図４に示した内容の処理となっている。
【００２８】
すなわち、追加用ライセンスキー発行処理を開始したライセンスキー発行装置（ライセンスキー発行プログラム）は、まず、注文キーを復号し，その復号結果中に含まれる固有識別子と暗号化パスワードとを特定する処理(ステップＳ２０１)を行う。次いで、ライセンスキー発行装置は、特定した固有識別子，初期ライセンス数，現在日時を示すデータ，特定した暗号化パスワードを、それぞれ、固有識別子、ライセンス数、発行日時、暗号化パスワードとして設定したライセンスキー元データ（図３参照）を生成する(ステップＳ２０２)。
【００２９】
そして、ライセンスキー発行装置は、生成したライセンスキー元データに対してライセンスキー用可逆暗号化処理を施すことにより追加用ライセンスキーを生成する処理(ステップＳ２０３)と、生成した追加用ライセンスキー等が印字された書類（以下、追加用ライセンスキー掲載書類と表記する）をプリンタに印刷させるための処理(ステップＳ２０４)とを行ってから、追加用ライセンスキー発行処理を終了する。
【００３０】
一方、アプリケーションプログラム１０は、サーバ２０へのインストールが完了すると、任意のクライアントＰＣ３０（或いは、サーバ２０）のディスプレイ上に、図５に示した構成のライセンス管理画面を表示させることが出来る状態となるプログラムとして作成されている。
【００３１】
アプリケーションプログラム１０のセットアップ作業を行う者（以下、操作者と表記する）は、サーバ２０にアプリケーションプログラム１０をインストールした後、いずれかのクライアントＰＣ３０（或いは、サーバ２０）のディスプレイ上に、このライセンス管理画面を表示させる。
【００３２】
その後、操作者は、初期設定用ライセンスキー掲載書類に印字されている初期設定用ライセンスキーをキーボード入力することにより，ライセンス数入力欄５１内に当該初期設定用ライセンスキーを表示させてから、ライセンスキー登録ボタン５２を押下（クリック）する。
【００３３】
ライセンスキー登録ボタン５２が押下されると、アプリケーションプログラム１０は、図６に示した手順のライセンスキー登録処理を開始する。
【００３４】
すなわち、アプリケーションプログラム１０は、まず、ライセンス管理画面のライセンス数入力欄５１に入力されたライセンスキーに対して所定の復号処理を施す処理(ステップＳ３０１)を行う。このステップＳ３０１で行われる復号処理は、上記したライセンスキー用可逆暗号化処理にて暗号化されたデータを復号することが出来る処理（ライセンスキー用秘密キーを用いたBlowfish復号処理）である。
【００３５】
次いで、アプリケーションプログラム１０は、図７に示したようなパスワード入力画面を表示することにより、操作者に、パスワードを入力させるための処理(ステップＳ３０２)を行う。
【００３６】
要するに、ライセンスキー登録ボタン５２を押下（クリック）すると、このパスワード入力画面が表示されるので、操作者（セットアップ作業を行う者）は、このパスワード入力画面に対して、初期設定用ライセンスキー掲載書類に印字されている初期設定用パスワードを入力する。
【００３７】
パスワード入力画面へのパスワードの入力が完了すると、アプリケーションプログラム１０は、入力されたパスワードを暗号化(ステップＳ３０３)した後、その暗号化結果が、ライセンスキーの復号結果中に含まれる暗号化パスワードと一致するか否かを判断する(ステップＳ３０４)。なお、ステップＳ３０３で行われる処理は、上記したパスワード用非可逆暗号化処理と同じものである。
【００３８】
そして、アプリケーションプログラム１０は、パスワードの暗号化結果が、ライセンスキーの復号結果中に含まれる暗号化パスワードと一致していなかった場合(ステップＳ３０４；ＮＯ)には、ライセンスキーの登録に失敗した旨（パスワードが誤っていると考えられる旨）を操作者に通知するための登録失敗通知処理(ステップＳ３１１）を行ってから、このライセンスキー登録処理を終了する。
【００３９】
一方、パスワードの暗号化結果が、ライセンスキーの復号結果中に含まれる暗号化パスワードと一致していた場合(ステップＳ３０４；ＹＥＳ）、アプリケーションプログラム１０は、ライセンスキーファイルに記憶されているライセンスキー（以下、登録済ライセンスキーと表記する）の数が“０”であるか否かを判断する(ステップＳ３０５)。
【００４０】
ここで、ライセンスキーファイルとは、アプリケーションプログラム１０のインストール時に，サーバ２０内に，空のもの（ライセンスキーを記憶していないもの）が用意される，登録されたライセンスキーを記憶しておくためのファイルのことである。なお、詳細は後述するが、アプリケーションプログラム１０は、ライセンス数が必要となる度に、このライセンスファイルの内容を解析することにより，現在のライセンス数を特定するプログラム（ライセンス数を数値データとして記憶しておかないプログラム）として作成されている。
【００４１】
そして、初期設定用ライセンスキーの登録時には、登録済ライセンスキー数が“０”である(ステップＳ３０２；ＹＥＳ)ため、ライセンスキーファイルにライセンスキーを追加する処理(ステップＳ３０９)と、図８に示したような登録完了通知画面によりライセンスキーの登録完了を登録作業者に通知するための登録完了通知処理(ステップＳ３１０)とが行われた後に、このライセンスキー登録処理が終了される。
【００４２】
ライセンスキー登録処理のステップＳ３０６〜Ｓ３０８の処理は、追加用ライセンスキーの登録時にのみ実行される処理である。そして、追加用ライセンスキーが得られるのは、既に概要説明を行ったように、注文キーを記した注文書をライセンス発行センターに送付した後である。このため、ステップＳ３０６〜Ｓ３０８の処理内容を説明する前に、ここで、注文キーの発行に関するアプリケーションプログラム１０の動作を説明しておくことにする。
【００４３】
ライセンス数を増やしたい場合、操作者は、いずれかのクライアントＰＣ３０（或いは、サーバ２０）のディスプレイ上に、ライセンス管理画面（図５参照）を表示させてから、ライセンスキー追加注文ボタン５３を押下する。
【００４４】
ライセンスキー追加注文ボタン５３が押下されると、アプリケーションプログラム１０は、図９に示した注文キー発行処理を開始する。
【００４５】
すなわち、ライセンスキー追加注文ボタン５３が押下されたことを検出したアプリケーションプログラム１０は、まず、パスワード指定画面を表示することにより、ライセンスキー登録処理時に入力が必要となるパスワードを操作者に指定させるための処理(ステップＳ４０１)を行う。なお、このステップＳ４０１の処理時に表示されるパスワード指定画面は、図１０に示したものである。
【００４６】
ステップＳ４０１の処理が完了した場合（パスワードが入力されている状態でパスワード指定画面上のＯＫボタンが押下された場合）、アプリケーションプログラム１０は、入力されたパスワードに対してパスワード用非可逆暗号化処理（初期設定用暗号化パスワードの生成に用いられているものと同じもの）を施すことにより暗号化パスワードを生成する(ステップＳ４０２)。
【００４７】
次いで、アプリケーションプログラム１０は、ライセンスキー＃１（ライセンスファイル内の先頭のライセンスキー；初期設定用ライセンスキー）を復号(ステップＳ４０３)した後、現在日時を示すデータと，復号結果中の固有識別子と，入力されたパスワードから生成した暗号化パスワードとを並べたデータを、Blowfish暗号化することにより、注文キーを生成する(ステップＳ４０４)。要するに、このステップＳ４０４において、アプリケーションプログラム１０は、復号することにより、初期設定用ライセンスキーに含まれていたものと同じ固有識別子と、ユーザが入力したパスワードを暗号化した暗号化パスワードとを得ることが出来る注文キーを生成する。なお、本実施形態のアプリケーションプログラム１０がステップＳ３０３にいて行うBlowfish暗号化は、ライセンスキー注文キー用の秘密キー（ライセンスキー用の秘密キーとは異なる秘密キー）を用いたものである。
【００４８】
その後、アプリケーションプログラム１０は、図１１に示したような注文キー表示画面により、生成した注文キーを操作者に通知する注文キー表示処理(ステップＳ４０５)を行ってから、注文キー発行処理を終了する。
【００４９】
ライセンス数を増やしたいと考えている操作者は、注文キー発行処理を実行させることにより得た注文キー、追加ライセンス数（追加したいライセンス数）を記入した注文書を作成し、作成した注文書を郵便等によりライセンス発行センターに送付する。
【００５０】
そして、操作者は、当該注文書を受け取ったライセンス発行センターから、追加用ライセンスキー掲載書類が送付されてきたときには、いずれかのクライアントＰＣ３０（或いは、サーバ２０）のディスプレイ上に、ライセンス管理画面（図５参照）を表示させる。次いで、操作者は、追加用ライセンスキー掲載書類に印字されている追加用ライセンスキーをキーボード入力した後、ライセンスキー登録ボタン５２を押下することにより、アプリケーションプログラム１０にライセンスキー発行処理（図６）を開始させる。また、操作者は、アプリケーションプログラム１０がステップＳ３０２の処理にて表示させたパスワード入力画面（図７参照）に、注文キー発行処理時に指定したパスワードを入力する。
【００５１】
既に説明した追加用ライセンス発行処理（図４）、注文キー発行処理（図９）の内容から明らかなように、追加用ライセンスキーの復号結果中に含まれる暗号化パスワードは、注文キー発行処理時に指定したパスワードの暗号化結果と一致するものとなっている。
【００５２】
このため、パスワード入力画面（図７参照）に、注文キー発行処理時に指定したパスワードを入力した場合、アプリケーションプログラム１０は、ステップＳ３０２にて、ＹＥＳ側への分岐を行う。
【００５３】
追加用ライセンスキーの登録時には、少なくとも１個のライセンスキー（初期設定用ライセンスキー）がライセンスキーファイル内に記憶されている。このため、アプリケーションプログラム１０は、登録ライセンスキー数が“０”ではないと判断(ステップＳ３０５；ＮＯ)し、ステップＳ３０６にて、入力されたライセンスキーと同じライセンスキーが既に登録されているか否かを判断する処理を行う。
【００５４】
そして、アプリケーションプログラム１０は、入力されたライセンスキーと同じライセンスキーが既に登録されていた場合(ステップＳ３０６；ＹＥＳ)には、登録失敗通知処理(ステップＳ３０７)を行ってから、このライセンスキー登録処理を終了する。
【００５５】
一方、入力されたライセンスキーと同じライセンスキーが登録されていなかった場合(ステップＳ３０６；ＮＯ)、アプリケーションプログラム１０は、ライセンスキー＃１を復号(ステップＳ３０７)し、その復号結果中に含まれる固有識別子と、今回、入力されたライセンスキーの復号結果（ステップＳ３０１の処理結果）中に含まれる固有識別子とが一致しているか否かを判断する(ステップＳ３０８)。そして、アプリケーションプログラム１０は、両固有識別子が一致していなかった場合(ステップＳ３０８；ＮＯ)には、登録失敗通知処理(ステップＳ３０７)を行ってから、このライセンスキー登録処理を終了する。また、両固有識別子が一致していた場合(ステップＳ３０８；ＹＥＳ)には、ライセンスキーファイルにライセンスキーを追加する処理(ステップＳ３０９)と、登録完了通知処理(ステップＳ３１０)とを行ってから、このライセンスキー登録処理を終了する。
【００５６】
最後に、図１２を用いて、アプリケーションプログラム１０が，ライセンス数が必要となった場合に実行する処理であるライセンス数算出処理の内容を説明する。
【００５７】
ライセンス数が必要となり，ライセンス数算出処理を開始したアプリケーションプログラム１０は、図示してあるように、まず、ライセンス数を記憶するための変数Ｎを“０”に初期化する(ステップＳ５０１)。次いで、アプリケーションプログラム１０は、登録済ライセンスキー数Ｍが“０”であるか否かを判断する(ステップＳ５０２)。そして、アプリケーションプログラム１０は、Ｍが“０”であった場合(ステップＳ５０２；ＹＥＳ)には、このライセンス数算出処理を終了する（この場合、ライセンス数＝０）。
【００５８】
一方、Ｍが“０”でなかった場合(ステップＳ５０３；ＮＯ)、アプリケーションプログラム１０は、ライセンスキー＃１を復号する(ステップＳ５０４)。次いで、アプリケーションプログラム１０は、ライセンスキー＃１の復号結果中の固有識別子を基準識別子として記憶すると共に、ライセンスキー＃１の復号結果中のライセンス数と同じ値を変数Ｎに設定する処理（ステップＳ５０４）を行う。
【００５９】
その後、アプリケーションプログラム１０は、ライセンスキー＃２〜＃Ｍのそれぞれについて、そのライセンスキーの復号結果中の固有識別子が基準識別子と一致していることを確認した上で、変数Ｎに、そのライセンスキーの復号結果中のライセンス数を追加していく処理(ステップＳ５０５〜Ｓ５１９)を開始する。そして、アプリケーションプログラム１０は、或るライセンスキーの復号結果中の固有識別子が基準識別子と一致していないことが見出されることなく、ステップＳ５０５〜Ｓ５１９の処理が完了した場合(ステップＳ５０６；ＹＥＳ)には、このライセンス数算出処理を終了して、その時点におけるＮ値がライセンス数であると把握している状態での動作を開始する。
【００６０】
また、アプリケーションプログラム１０は、ステップＳ５０５〜Ｓ５１９の処理中に、或るライセンスキーの復号結果中の固有識別子が基準識別子と一致していないことを見出した場合(ステップＳ５０８；ＮＯ)には、このライセンス数算出処理を終了（この場合、異常終了）して、ライセンスキーファイルの内容が正しくない旨（サービスマンを呼ぶ必要がある旨）を操作者に通知するためのエラー処理を開始する。
【００６１】
以上、詳細に説明したように、本実施形態に係るアプリケーションプログラム１０は、固有識別子が登録済みのライセンスキーと一致していないライセンスキーを登録することが出来ない（ステップＳ３０８でＮＯ側へ分岐が行われる）ものとなっている。そして、本実施形態に係るライセンスキー発行装置は、各アプリケーションプログラム１０用のライセンスキーを、異なる固有識別子を設定したライセンスキー元データから生成する装置となっている。従って、本実施形態に係るアプリケーションプログラム１０とライセンスキー発行装置とを用いれば、他のアプリケーションプログラム１０用に生成されたライセンスキーを用いてライセンス数を増加させるといったことが行えない形で、各アプリケーションプログラム１０のライセンス数を変更できることになる。
【００６２】
また、アプリケーションプログラム１０は、一旦、登録したライセンスキーの再登録も行えない（ステップＳ３０８でＮＯ側へ分岐が行われる）プログラムとして作成されており、ライセンスキー発行装置は、各アプリケーションプログラム１０用のライセンスキーを、発行日時を含むライセンスキー元データから生成する装置として構成されている。従って、アプリケーションプログラム１０とライセンスキー発行装置とを用いれば、ユーザが、同じパスワードを使い続けても何等問題が生ぜず、かつ、ライセンスキー発行装置側に何等情報を管理させる必要がない形で、各アプリケーションプログラム１０に関するライセンス数を変更できることになる。
【００６３】
《変形形態》
上記したアプリケーションプログラム１０，ライセンス発行装置は、各種の変形を行うことが出来る。例えば、アプリケーションプログラム１０，ライセンス発行装置を、パスワードの暗号化を可逆暗号化処理により行うものに変形しておいても良い。また、アプリケーションプログラム１０を、固有識別子の一致をチェックしない形のライセンス数計算処理を実行するものや、内容が一致している２個以上のライセンスキーがライセンスキーファイル内に記憶されていないことも確認する形のライセンス数計算処理を実行するものに、変形しておいても良い。
【００６４】
また、ライセンスキー発行装置を，各種の情報の管理機能を有さない装置とするために、アプリケーションプログラム１０が備えていなければらない機能は、復号することによって，固有識別子と暗号化パスワードとを得ることが出来る注文キーを生成する機能と、ライセンスキーの復号結果中に含まれる固有識別子と暗号化パスワードとにより、当該ライセンスキーの正当性をチェックする機能だけである。従って、注文キー元データとして、固有識別子と暗号化パスワードのみを含むデータが用いられ、ライセンスキー元データとして、固有識別子と暗号化パスワードとライセンス数のみを含むデータが用いられるように、アプリケーションプログラム１０，ライセンスキー発行装置を変形しても良い。
【００６５】
また、注文キーの桁数（操作者が入力しなければならない文字数）が増えることにはなるが、アプリケーションプログラム１０を、追加ライセンス数を含むデータから注文キーを生成するように変形しておくと共に、ライセンスキー発行装置を、そのような注文キーを解釈できる（復号し、復号結果から追加ライセンス数等を抽出できる）ものに変形しておいても良い。
【００６６】
また、注文キー発行処理を、ライセンス数算出処理にて算出されたライセンス数を含む注文キー用元データから注文キーが発行される処理としておくと共に、追加用ライセンスキー発行処理を、発行日時情報の代わりに、注文キー内のライセンス数を含める処理としておくことも出来る。
【００６７】
（付記１）
自プログラムを利用できるクライアントコンピュータの台数の上限，或いは，自プログラムを利用できるクライアントコンピュータから利用できる者の人数の上限を規定する情報であるライセンス数を変更可能なアプリケーションプログラムであって、
何台かのクライアントコンピュータに接続されたサーバコンピュータを、
パスワードを入力する操作を含む注文キー生成指示操作が行われたときに、入力されたパスワードを暗号化することにより暗号化パスワードを生成した後、生成した暗号化パスワード，及び，自コンピュータに対して割り当てられている固有識別子を含めた所定形式のデータを暗号化することにより、新たなライセンスキーを得るためにライセンサーに通知することが必要な注文キーを生成する注文キー生成ステップと、
ライセンスキーとパスワードとを入力する操作を含むライセンスキー追加指示操作が行われたときに、入力されたライセンスキーを復号すると共に、入力されたパスワードを暗号化し、入力されたライセンスキーの復号結果中に含まれる固有識別子が、自コンピュータに対して割り当てられている前記固有識別子と一致し、かつ、当該復号結果中に含まれる暗号化パスワードが、入力されたパスワードの暗号化結果と一致した場合に限り、入力されたライセンスキーが前記ライセンサーによって正式に発行されたものであると判断するライセンスキー追加指示操作応答ステップ
とを実行可能な装置として動作させることを特徴とするアプリケーションプログラム。
【００６８】
（付記２）
前記サーバコンピュータを、
前記ライセンスキー追加指示操作応答ステップにより、前記ライセンサーによって正式に発行されたものであると判断された各ライセンスキーを管理し、管理している各ライセンスキーの復号結果中に含まれる各キー単位ライセンス数の総和を前記ライセンス数として把握するライセンス数管理ステップを、さらに実行可能な装置として動作させる
ことを特徴とする付記１記載のアプリケーションプログラム。
【００６９】
（付記３）
自プログラムを利用できるクライアントコンピュータの台数の上限，或いは．自プログラムを利用できるクライアントコンピュータから利用できる者の人数の上限を規定する情報であるライセンス数を変更可能なアプリケーションプログラムのライセンス数を制御するためのライセンス数制御方法であって、
何台かのクライアントコンピュータに接続された，前記アプリケーションプログラムがインストールされたサーバコンピュータに、
パスワードを入力する操作を含む注文キー生成指示操作が行われたときに、入力されたパスワードを暗号化することにより暗号化パスワードを生成した後、生成した暗号化パスワードと、前記アプリケーションプログラムに割り当てられている固有識別子とを含めた所定形式のデータを暗号化することにより、新たなライセンスキーを得るためにライセンサーに通知することが必要な注文キーを生成する注文キー生成ステップと、
ライセンスキーとパスワードとを入力する操作を含むライセンスキー追加指示操作が行われたときに、入力されたライセンスキーを復号すると共に、入力されたパスワードを暗号化し、入力されたライセンスキーの復号結果中に含まれる固有識別子が、前記アプリケーションプログラムに割り当てられている前記固有識別子と一致し、かつ、当該復号結果中に含まれる暗号化パスワードが、入力されたパスワードの暗号化結果と一致した場合に限り、入力されたライセンスキーが前記ライセンサーから正式に発行されたものであると判断するライセンスキー追加指示操作応答ステップ
とを、実行させることを特徴とするライセンス数制御方法。
【００７０】
（付記４）
自コンピュータを利用できるクライアントコンピュータの台数の上限，或いは．自コンピュータをクライアントコンピュータから利用できる者の人数の上限を規定する情報であるライセンス数を変更可能なサーバコンピュータであって、
パスワードを入力する操作を含む注文キー生成指示操作が行われたときに、入力されたパスワードを暗号化することにより暗号化パスワードを生成した後、生成した暗号化パスワード，及び，自コンピュータに割り当てられている固有識別子を含めた所定形式のデータを暗号化することにより、新たなライセンスキーを得るためにライセンサーに通知することが必要な注文キーを生成する注文キー生成手段と、
ライセンスキーとパスワードとを入力する操作を含むライセンスキー追加指示操作が行われたときに、入力されたライセンスキーを復号すると共に、入力されたパスワードを暗号化し、入力されたライセンスキーの復号結果中に含まれる固有識別子が、自コンピュータに割り当てられている前記固有識別子と一致し、かつ、当該復号結果中に含まれる暗号化パスワードが、入力されたパスワードの暗号化結果と一致した場合に限り、入力されたライセンスキーが前記ライセンサーから正式に発行されたものであると判断するライセンスキー追加指示操作応答手段
とを、備えたことを特徴とするサーバコンピュータ。
【００７１】
（付記５）
コンピュータに、
或る顧客から通知された注文キーを入力する操作を含むライセンスキー生成指示操作が行われたときに、入力された注文キーを復号し、その復号結果中に含まれる固有識別子及び暗号化パスワードを特定する特定ステップと、
この特定ステップにより特定されたものと同じ固有識別子及び暗号化パスワードを含み、前記顧客が追加を要求しているライセンス数をキー単位ライセンス数として含むデータを生成するデータ生成ステップと、
このデータ生成ステップにより生成されたデータを暗号化することによって、前記顧客に通知するためのライセンスキーを発行するライセンスキー発行ステップ
とを実行させることを特徴とするライセンスキー発行プログラム。
【００７２】
（付記６）
注文キーを通知してきた顧客に通知するライセンスキーを発行するためのライセンスキー発行方法であって、
コンピュータに、
前記注文キーを復号し、その復号結果中に含まれる固有識別子及び暗号化パスワードを特定する特定ステップと、
この特定ステップにより特定されたものと同じ固有識別子及び暗号化パスワードを含み、前記顧客が追加を要求しているライセンス数をキー単位ライセンス数として含むデータを生成するデータ生成ステップと、
このデータ生成ステップにより生成されたデータを暗号化することによって、前記顧客に通知するためのライセンスキーを発行するライセンスキー発行ステップ
とを、実行させることを特徴とするライセンスキー発行方法。
【００７３】
（付記７）
或る顧客から通知された注文キーを入力する操作を含むライセンスキー生成指示操作が行われたときに、入力された注文キーを復号し、その復号結果中に含まれる固有識別子及び暗号化パスワードを特定する特定手段と、
この特定手段により特定されたものと同じ固有識別子及び暗号化パスワードを含み、前記顧客が追加を要求しているライセンス数をキー単位ライセンス数として含むデータを生成するデータ生成手段と、
このデータ生成手段により生成されたデータを暗号化することによって、前記顧客に通知するためのライセンスキーを発行するライセンスキー発行手段
とを、備えたことを特徴とするライセンスキー発行装置。
【００７４】
（付記８）
ライセンスキー発行装置と１台以上のサーバコンピュータとを含むライセンスキー発行システムであって、
前記１台以上のサーバコンピュータのそれぞれが、
自コンピュータを利用できるクライアントコンピュータの台数の上限，或いは．自コンピュータをクライアントコンピュータから利用できる者の人数の上限を規定する情報であるライセンス数を変更可能なコンピュータであると共に、
復号することにより、固有識別子とキー単位ライセンス数と暗号化パスワードとを得ることが可能な幾つかのライセンスキーを記憶しておくためのライセンスキー記憶手段，
前記ライセンスキー記憶手段に記憶されている各ライセンスキーの復号結果中に含まれる各キー単位ライセンス数の総和を前記ライセンス数として把握するライセンス数把握手段，
パスワードを入力する操作を含む注文キー生成指示操作が行われたときに、入力されたパスワードを暗号化することにより暗号化パスワードを生成した後、生成した暗号化パスワード，及び，前記ライセンスキー記憶手段に記憶されているライセンスキーの復号結果中に含まれる固有識別子を含めた所定形式のデータを暗号化することにより、新たなライセンスキーを得るためにライセンサーに通知することが必要な注文キーを生成する注文キー生成手段，及び，
ライセンスキーとパスワードとを入力する操作を含むライセンスキー追加指示操作が行われたときに、入力されたライセンスキーを復号すると共に、入力されたパスワードを暗号化し、入力されたライセンスキーの復号結果中に含まれる固有識別子が、前記ライセンスキー記憶手段に記憶されているライセンスキーの復号結果中に含まれる固有識別子と一致し、かつ、当該復号結果中に含まれる暗号化パスワードが、入力されたパスワードの暗号化結果と一致した場合に限り、入力されたライセンスキーを前記ライセンスキー記憶手段に記憶させるライセンスキー追加指示操作応答手段を、備えたコンピュータであり、
前記ライセンスキー発行装置が、
或る顧客から通知された注文キーを入力する操作を含むライセンスキー生成指示操作が行われたときに、入力された注文キーを復号し、その復号結果中に含まれる固有識別子及び暗号化パスワードを特定する特定手段と、
この特定手段により特定されたものと同じ固有識別子及び暗号化パスワードを含み、前記顧客が追加を要求しているライセンス数をキー単位ライセンス数として含むデータを生成するデータ生成手段と、
このデータ生成手段により生成されたデータを暗号化することによって、前記顧客に通知するためのライセンスキーを発行するライセンスキー発行手段
とを、備えた装置である
ことを特徴とするライセンスキー発行システム。
【図面の簡単な説明】
【００７５】
【図１】本発明の一実施形態に係るアプリケーションプログラムの使用形態を説明するための図。
【図２】本発明の一実施形態に係るライセンス発行装置が実行可能な初期設定用ライセンスキー発行処理の流れ図。
【図３】ライセンスキー元データの構成の説明図。
【図４】ライセンス発行装置が実行可能な追加用ライセンスキー発行処理の流れ図。
【図５】アプリケーションプログラムが表示するライセンス管理画面の説明図。
【図６】アプリケーションプログラムが実行するライセンスキー登録処理の流れ図。
【図７】アプリケーションプログラムが表示するパスワード入力画面の説明図。
【図８】アプリケーションプログラムが表示する登録完了通知画面の説明図。
【図９】アプリケーションプログラムが実行する注文キー登録処理の流れ図。
【図１０】アプリケーションプログラムが表示するパスワード指定画面の説明図。
【図１１】アプリケーションプログラムが表示する注文キー表示画面の説明図。
【図１２】アプリケーションプログラムが実行するライセンス数算出処理の流れ図。
【符号の説明】
【００７６】
１０  アプリケーションプログラム
２０  サーバ
３０  クライアントＰＣ
【図１】
2006127197.tif 000003
【図２】
2006127197.tif 000004
【図３】
2006127197.tif 000005
【図４】
2006127197.tif 000006
【図５】
2006127197.tif 000007
【図６】
2006127197.tif 000008
【図７】
2006127197.tif 000009
【図８】
2006127197.tif 000010
【図９】
2006127197.tif 000011
【図１０】
2006127197.tif 000012
【図１１】
2006127197.tif 000013
【図１２】
2006127197.tif 000014