ライセンス発行管理システム、方法、及び、プログラム
【課題】ライセンス不正使用をしている装置に対するライセンス発行を抑制できるライセンス発行管理システムを提供する。
【解決手段】ライセンス発行管理装置30は、ライセンス使用装置40におけるライセンス使用状況を取得する。ライセンス発行管理装置30は、ライセンス使用装置40に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、ライセンス使用装置40に発行したライセンスと、取得したライセンス使用状況とが一致するか否かを判断する。ライセンス発行管理装置30は、両者が一致すると判断すると、ライセンス使用装置40に対してライセンス情報を送信し、ライセンスを発行する。
【解決手段】ライセンス発行管理装置30は、ライセンス使用装置40におけるライセンス使用状況を取得する。ライセンス発行管理装置30は、ライセンス使用装置40に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、ライセンス使用装置40に発行したライセンスと、取得したライセンス使用状況とが一致するか否かを判断する。ライセンス発行管理装置30は、両者が一致すると判断すると、ライセンス使用装置40に対してライセンス情報を送信し、ライセンスを発行する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ライセンス発行管理システム、方法、及び、プログラムに関し、更に詳しくは、ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行うライセンス発行管理システム、方法、及び、プログラムに関する。
【背景技術】
【0002】
取得したライセンスに応じて、所定の機能を有効化する装置やソフトウェアがある。このような装置やソフトウェアに対するライセンス管理に関する技術として、特許文献1に記載の技術がある。図11に、特許文献1におけるライセンス管理システムを示す。監視装置202は、監視ネットワークを介して、ネットワークAとネットワークBとに接続されている。ネットワークAは、ノードA、ノードB、ノードCを有し、ネットワークBは、ノードD、ノードE、ノードFを有している。
【0003】
監視装置202は、各ネットワーク内のノードのうちの1つを、マスターノードとする。図11の例では、ノードAを、ネットワークA内のマスターノードとし、ノードEを、ネットワークB内のマスターノードとしている。各マスターノードは、ネットワーク内の他のノードに対するライセンスの発行・管理を行う。つまり、マスターノードAは、ノードB、ノードCに対するライセンスの発行・管理を行い、マスターノードEは、ノードD、ノードFに対するライセンスの発行・管理を行う。
【0004】
以下、ネットワークAにおけるライセンスの発行・管理について説明する。マスターノードAは、ライセンスキー及び自ノードIDを、監視装置202に通知する。監視装置202は、通知された内容と、マスターノード登録時の管理テーブルとを比較し、マスターノードAが、ライセンスキーの管理を行うノードとして登録されていることを確認する。その後、監視装置202は、マスターノードAに、確認レスポンスを送信する。マスターノードAは、この確認レスポンスをもって、ライセンスの有効性を確認する。マスターノードAは、確認レスポンスを3回以上受信できないときは、マスターノードAの該当管理上からライセンスを削除する。
【0005】
ライセンスを必要とするノード、例えばノードBは、マスターノードAに、自ノードIDとライセンスキーとを通知して、ライセンスの配布を要求する。マスターノードAは、使用ライセンスキーの数を確認し、ライセンス数の範囲内であるか否かを判断する。マスターノードAは、ライセンス数の範囲内であれば、ノードBに、ライセンス許可を通知する。マスターノードAは、ライセンスを許可すると、ライセンスの管理テーブルに、ライセンスを使用するノードBのIDを登録する。
【0006】
ノードBは、一定間隔で、マスターノードAに、ライセンスキーと自ノードIDとを含むライセンス使用確認を通知する。マスターノードAは、ライセンス使用確認を通知したノードが、ライセンス管理テーブルに登録されているか否かを調べる。マスターノードAは、ライセンス管理テーブルにノードBが登録されているときは、ノードBに確認レスポンスを返送する。マスターノードAは、ライセンス管理テーブルにノードBが登録されていないときは、確認レスポンスを返送しない。ノードBは、確認レスポンスを3回以上受信できないときは、ライセンス登録を破棄し、該当ライセンス機能の使用を制限する。
【0007】
【特許文献1】特開2006−155385号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
特許文献1に記載のライセンス管理システムでは、ライセンス数の管理を監視装置202とマスターノードとの間で行い、ライセンス配布の管理を、マスターノードとライセンスを必要とするノードとの間で行う。このようにすることで、各機器のIDをキーに、機器ごとにライセンスを発行し、管理する必要がなくなる。しかし、特許文献1では、ライセンス発行時に、ライセンスを要求したノードのライセンス使用状況をチェックしていない。このため、ライセンスを不正使用しているノードに対して、ライセンスを発行することがあるという問題がある。
【0009】
本発明は、ライセンス不正使用をしている装置に対するライセンス発行を抑制できるライセンス発行管理システム、方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するために、本発明のライセンス発行管理システムは、ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行うライセンス発行管理装置を含むライセンス発行管理システムであって、前記ライセンス使用装置におけるライセンス使用状況を取得し、ライセンス発行管理装置がライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断し、両者が一致すると判断すると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行するライセンス発行手段を備えることを特徴とする。
【0011】
本発明のライセンス発行管理装置は、ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行うライセンス発行管理装置であって、前記ライセンス使用装置におけるライセンス使用状況を取得し、ライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断し、両者が一致すると判断すると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行するライセンス発行手段を備えることを特徴とする。
【0012】
本発明のライセンス使用装置は、ライセンス発行管理装置からのライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置であって、使用しているライセンスを管理するライセンス管理テーブルを参照して、自装置におけるライセンス使用状況を生成し、該生成したライセンス使用状況を含むライセンス取得要求を前記ライセンス発行管理装置に送信し、該ライセンス取得要求に対する応答として前記ライセンス発行管理装置からライセンス情報を受信し、自装置内にライセンスを登録するライセンス取得手段を備えることを特徴とする。
【0013】
本発明のライセンス発行管理方法は、ライセンス発行管理装置を用い、ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行う方法であって、前記ライセンス発行管理装置が、前記ライセンス使用装置におけるライセンス使用状況を取得するステップと、前記ライセンス発行管理装置が、ライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断するステップと、前記ライセンス発行管理装置が、両者が一致すると判断すると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行するステップとを有することを特徴とする。
【0014】
本発明のライセンス取得方法は、ライセンス発行管理装置からのライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置がライセンスを取得する方法であって、前記ライセンス使用装置が、使用しているライセンスを管理するライセンス管理テーブルを参照して、自装置におけるライセンス使用状況を生成するステップと、前記ライセンス使用装置が、生成したライセンス使用状況を含むライセンス取得要求を前記ライセンス発行管理装置に送信するステップと、前記ライセンス使用装置が、前記送信したライセンス取得要求に対する応答として、前記ライセンス発行管理装置からライセンス情報を受信し、自装置内にライセンスを登録するステップとを有することを特徴とする。
【0015】
本発明のプログラムは、ライセンス発行管理装置に、ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行う処理を実行させるプログラムであって、前記ライセンス発行管理装置に、前記ライセンス使用装置におけるライセンス使用状況を取得する処理と、ライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断する処理と、両者が一致すると判断されると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行する処理とを実行させることを特徴とする。
【0016】
本発明のプログラムは、ライセンス発行管理装置からのライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に、ライセンスを取得する処理を実行させるプログラムであって、前記ライセンス使用装置に、前記ライセンス使用装置が使用しているライセンスを管理するライセンス管理テーブルを参照して、前記ライセンス使用装置におけるライセンス使用状況を生成する処理と、生成したライセンス使用状況を含むライセンス取得要求を前記ライセンス発行管理装置に送信する処理と、前記送信したライセンス取得要求に対する応答として、前記ライセンス発行管理装置からライセンス情報を受信し、前記ライセンス使用装置内にライセンスを登録する処理とを実行させることを特徴とする。
【発明の効果】
【0017】
本発明のライセンス発行管理システム、方法、及び、プログラムは、ライセンス不正使用をしている装置に対するライセンス発行を抑制することができる。
【発明を実施するための最良の形態】
【0018】
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図1は、本発明の一実施形態のライセンス発行管理システムを示している。ライセンス発行管理システムは、ライセンス発行管理装置30と、ライセンス使用装置40−1〜40−n(nは2以上の整数)とを有する。各ライセンス使用装置40は、ライセンスに応じて機能を有効化する装置、又は、ソフトウェアである。ライセンス発行管理装置30は、ライセンス使用装置40に対して、ライセンスの発行・管理を行う。ライセンス発行管理装置30及び各ライセンス使用装置40には、それぞれ、所定のプログラムを動作させることで所定の機能を実現するコンピュータシステムを用いることができる。
【0019】
ライセンス管理者10は、装置開発者などであり、ライセンスを販売・管理する。オペレータ20は、ライセンス管理者10に対価を支払い、ライセンスに応じた機能を有効化するためのライセンス発行を依頼する。ライセンス管理者10は、ライセンス発行の依頼を受けると、ライセンス発行管理装置30に対してライセンスを払い出す。オペレータ20は、ライセンス発行管理装置30にライセンスを登録する。ライセンス発行管理装置30は、登録したライセンスの範囲内で、ライセンス使用装置40に対してライセンスを発行する。各ライセンス使用装置40は、ライセンス発行管理装置30からライセンスが与えられると、ライセンスに応じた機能を有効化する。
【0020】
ライセンス管理者10は、オペレータ(ライセンス購入者)20に、購入ライセンスに応じたライセンスを払い出す。このとき、ライセンス管理者10は、ライセンスを、ライセンス発行管理装置30の公開鍵を用いて暗号化する。オペレータ20は、ライセンス管理者10が払い出したライセンスを、ライセンス発行管理装置30の秘密鍵を用いて復号化し、ライセンス発行管理装置30内に登録する。オペレータ20が払い出したライセンスを正しく復号化できるのは、対応する秘密鍵を有するライセンス発行管理装置30のみである。このため、ライセンス管理者10が払い出したライセンスは、払い出し先のライセンス発行管理装置30にのみ登録が可能である。つまり、払い出されたライセンスを、異なるライセンス発行管理装置30へ投入することを防ぐことができる。
【0021】
オペレータ20は、ライセンス発行管理装置30に対し、ライセンスの発行を指示する。また、オペレータ20は、ライセンス発行管理装置30に対して、ライセンス使用装置40に対して発行していたライセンスの破棄を指示することができる。ライセンス発行管理装置30は、各ライセンス使用装置40に対して、どのライセンスを発行しているかを管理するライセンス発行状況管理テーブルを保持している。ライセンス発行管理装置30は、ライセンス使用装置40に対してライセンスを発行すると、ライセンス発行状況管理テーブルに、発行したライセンスに関する情報を登録する。また、ライセンス発行管理装置30は、あるライセンス使用装置におけるライセンス破棄の指示を受けると、ライセンス発行状況管理テーブルから、当該ライセンス使用装置について、該当するライセンスに関する情報を削除する。
【0022】
ライセンス使用装置40は、ライセンス発行に際して、自身におけるライセンスの使用状況を調べ、ライセンス使用状況とチャレンジとを含むライセンス取得要求をライセンス発行管理装置30に送信する。ライセンス発行管理装置30は、ライセンス使用装置40から受け取ったライセンス使用状況と、ライセンス発行状況管理テーブルとを比較し、ライセンス状態を検証する。ライセンス発行管理装置30は、検証の結果、自身がライセンス使用装置40に対して与えたライセンスと、ライセンス使用装置40におけるライセンス使用状況とが一致しないときは、ライセンス使用装置40にて、ライセンスの不正使用があったものと判断して、ライセンスの発行は行わない。
【0023】
ライセンス発行管理装置30は、自身がライセンス使用装置40に対して与えたライセンスと、ライセンス使用装置40におけるライセンス使用状況とが一致するときは、ライセンス使用装置40にライセンス情報を送信し、ライセンスを発行する。このとき、ライセンス発行管理装置30は、ライセンス情報に、ライセンス発行管理装置30の署名を付加する。この署名は、ライセンス使用装置40側で、ライセンス情報が、ライセンス発行管理装置30から送信された情報であることを確認する目的で使用される。また、署名は、送信されたライセンス情報に改ざんがないことを確認する目的で使用される。
【0024】
ライセンス使用装置40は、ライセンス情報を受信すると、ライセンス情報の署名を検証する。ライセンス使用装置40は、署名を検証することで、ライセンス情報の送信者がライセンス発行管理装置30であり、かつ、ライセンス情報が改ざんされていないことを確認する。ライセンス使用装置40は、署名が有効である、つまり、受信したライセンス情報の送信者がライセンス発行管理装置30であり、かつ、ライセンス情報に改ざんがないことを確認すると、ライセンス使用装置内にライセンス情報を登録する。ライセンス使用装置40は、登録したライセンスに応じた機能を有効化する。
【0025】
ライセンス発行管理装置30は、ライセンス使用装置40に発行するライセンスに対して、有効期限を設定することができる。ライセンス使用装置40は、ライセンスの有効期限が切れる前に、ライセンス発行管理装置30に対して、ライセンス使用状況を送信し、有効期限の延長を要求する。ライセンス発行管理装置30は、ライセンス発行状況管理テーブルを参照して、自身が管理するライセンス状態と、ライセンス使用状況とが一致するか否かを判断する。ライセンス発行管理装置30は、両者が一致すると判断すると、新たな有効期限が設定された、言い換えると、延長された有効期限が設定されたライセンスを発行する。
【0026】
ライセンス発行管理装置30は、有効期限が延長されたライセンス情報に署名を付加し、ライセンス使用装置40に送信する。ライセンス使用装置40は、受信したライセンス情報の署名の有効性を検証する。ライセンス使用装置40は、署名が有効であると判断すると、有効期限が延長されたライセンス情報を登録する。ライセンスが登録された場合、ライセンス使用装置40は、引き続き、ライセンスにより有効化される機能を使用することができる。ライセンス使用装置40は、有効期限が来るたびに、ライセンス使用状況をライセンス発行管理装置30に送信する。このため、ライセンス発行管理装置30は、ライセンス発行後のライセンス使用装置40におけるライセンス使用状況を、定期的に確認できる。
【0027】
図2に、ライセンス発行管理装置30の構成を示す。ライセンス発行管理装置30は、ライセンス登録手段31、ライセンス発行手段32、及び、有効期限延長手段33を有する。また、ライセンス発行管理装置30は、ライセンス登録情報34、及び、ライセンス発行状況管理テーブル35を保持する。ライセンス登録情報34は、ライセンス発行管理装置30に登録されたライセンスの情報を記録する。また、ライセンス登録情報34は、登録されたライセンスごとに、現在ライセンス使用装置40に対して発行しているライセンス数を管理する情報を記録する。ライセンス発行状況管理テーブル35は、どのライセンス使用装置40に、どのライセンスを発行したかを管理する情報を記録する。
【0028】
なお、本実施形態では、便宜上、ライセンス登録情報34と、ライセンス発行状況管理テーブル35とを別個の情報として取り扱うが、ライセンス登録情報34と、ライセンス発行状況管理テーブル35とは、別個の情報である必要はない。ライセンス登録情報とライセンス発行状況管理テーブルとを別個の情報とするのに代えて、発行済みライセンス数の管理と、どのライセンス使用装置にライセンスを発行したかを、一元的に管理してもよい。
【0029】
オペレータ20は、ライセンス管理者10から払い出されたライセンスを、ライセンス登録手段31に入力する。このライセンスは、ライセンス発行管理装置30の公開鍵で暗号化されている。ライセンス登録手段31は、暗号化されたライセンスを、ライセンス発行管理装置30の秘密鍵で復号化し、ライセンス発行管理装置30内に登録する。ライセンス登録手段31は、ライセンスを登録すると、ライセンス登録情報34に、登録したライセンスに関する情報、例えば、ライセンスにより有効化する機能、ライセンス使用装置40に対して同時に発行可能な総ライセンス数などを追加記録する。
【0030】
オペレータ20は、ライセンス発行手段32に対し、ライセンス発行を指示する。ライセンス発行先のライセンス使用装置40は、オペレータ20が任意に指定できる。ライセンス発行手段32は、ライセンス発行が指示されると、ライセンス発行先のライセンス使用装置40に対して、ライセンス取得要求の送信を指示する。ライセンス発行手段32は、ライセンス取得要求の送信の指示後、ライセンス使用装置40から、ライセンス使用装置40における現在のライセンスの使用状況とチャレンジとを含むライセンス取得要求を受信する。ここで、チャレンジは、ライセンス使用装置40がライセンス発行を受ける際に、そのライセンスが、自身が送信したライセンス取得要求に対応して発行されたライセンスであることを確認する際に使用されるものである。チャレンジには、ライセンス使用装置40側で生成した乱数を用いることができる。
【0031】
ライセンス発行手段32は、ライセンス取得要求を受信すると、ライセンス発行状況管理テーブル35を参照して、ライセンス取得要求を送信したライセンス使用装置40について、ライセンス発行管理装置30が発行しているライセンスを調べる。ライセンス発行手段32は、ライセンス取得要求に含まれるライセンス使用状況と、ライセンス発行状況管理テーブル35に記録された当該ライセンス使用装置へのライセンス発行状況とが一致するか否かを判断する。ライセンス発行手段32は、両者が一致するときは、ライセンス使用装置40におけるライセンスの使用が正当であると判断する。ライセンス発行手段32は、両者が一致しないときは、ライセンス使用が不正であると判断する。ライセンス発行手段32は、ライセンス使用が不正であると判断したときは、ライセンスを発行しない。
【0032】
ライセンス発行手段32は、ライセンス使用装置40におけるライセンス使用が正当であるときは、ライセンス使用装置40にライセンス情報を送信し、有効期限つきのライセンスを発行する。ライセンス発行手段32は、ライセンス使用装置40に送信するライセンス情報に、発行するライセンスの本体(ライセンス情報本体)と、ライセンス取得要求に含まれていたチャレンジとを含める。また、ライセンス発行手段32は、ライセンス情報に、ライセンス発行管理装置30の署名を付加する。署名には、「チャレンジ」と「ライセンス情報本体」とを合わせたものをハッシュ化した値を、ライセンス発行管理装置30の秘密鍵を用いて暗号化したものを用いることができる。
【0033】
ライセンス使用装置40は、発行されたライセンスの有効期限が切れる前に、有効期限延長手段33に対して、有効期限の延長を要求する。この有効期限の延長要求は、ライセンス取得要求に含まれる情報と同様な情報、すなわち、現在のライセンス使用状況とチャレンジとを含む。有効期限延長手段33は、有効期限の延長要求を受信すると、ライセンス発行状況管理テーブル35を参照して、ライセンス状態を確認する。ライセンス状態の確認は、ライセンス発行手段32におけるライセンス状態の確認と同様な手法で行うことができる。
【0034】
有効期限延長手段33は、ライセンス状態の確認の結果、ライセンス使用装置40におけるライセンス使用が正当であると判断すると、ライセンス使用装置40に、有効期限が延長されたライセンス情報を送信し、ライセンス使用装置40におけるライセンスの有効期限を延長する。このとき有効期限延長手段33が送信するライセンス情報は、ライセンス発行手段32が送信するライセンス情報と同様な情報、すなわち、ライセンス情報本体と、有効期限延長要求に含まれていたチャレンジと、署名部分とを含む。有効期限延長手段33は、ライセンス使用装置におけるライセンス使用が不正であると判断したときは、有効期限を延長したライセンス情報の送信は行わず、有効期限を延長しない。
【0035】
オペレータ20は、特定のライセンス使用装置40に対して発行したライセンスについて、その破棄を指示することができる。ライセンス発行手段32は、オペレータがライセンス破棄を指示すると、ライセンス発行状況管理テーブル35を更新して、該当するライセンス使用装置における該当ライセンスの使用状態を、ライセンス使用なしとする。また、ライセンス発行手段32は、ライセンス登録情報34を更新して、該当ライセンスの発行済みライセンス数(使用中のライセンス数)を、破棄したライセンス数分だけ減少させる。
【0036】
図3は、ライセンス使用装置40の構成を示している。ライセンス使用装置40は、ライセンス取得手段41と有効期限管理手段42とを有する。また、ライセンス使用装置40は、ライセンス管理テーブル43を保持する。ライセンス管理テーブル43は、現在ライセンス使用装置40で使用しているライセンスに関する情報を記録する。より詳細には、ライセンス管理テーブル43は、使用中のライセンスについて、各ライセンスの有効期限を記録する。
【0037】
ライセンス取得手段41は、ライセンス発行管理装置30がライセンス取得要求の送信を指示すると、ライセンス管理テーブル43を参照して、現在ライセンス使用装置40で使用しているライセンスを調べ、ライセンス使用状況を作成する。ライセンス取得手段41は、ライセンス使用状況にチャレンジを付加したライセンス取得要求を、ライセンス発行管理装置30に送信する。ライセンス取得要求の送信は、オペレータ20等の指示により、ライセンス使用装置40側から自発的に行ってもよい。
【0038】
ライセンス取得手段41は、ライセンス取得要求の送信後、ライセンス発行管理装置30から、送信したライセンス取得要求に対する応答としてライセンス情報を受信する。ライセンス取得手段41は、ライセンス情報を受信すると、署名の有効性を検証し、ライセンス情報の送信元がライセンス発行管理装置30であること、及び、ライセンス情報の内容に改ざんがないことを確認する。
【0039】
署名の有効性の検証は、以下の手順で行う。ライセンス取得手段41は、まず、ライセンス情報に含まれる署名部分をライセンス発行管理装置30の公開鍵で復号化する。署名部分がライセンス発行管理装置30の公開鍵で復号化できることで、ライセンス情報の送信元がライセンス発行管理装置30であることが確認できる。次いで、ライセンス取得手段41は、受信したライセンス情報本体とチャレンジとを合わせたもののハッシュ値を計算する。ライセンス取得手段41は、署名部分の復号結果と、計算したハッシュ値とを比較し、両者が一致するか否かを判断する。両者が一致することで、ライセンス情報本体及びチャレンジに改ざんがないことが確認できる。
【0040】
ライセンス取得手段41は、署名部分がライセンス発行管理装置30の公開鍵で復号化でき、かつ、署名部分の復号化結果と計算したハッシュ値とが一致するときは、署名が有効であると判断する。ライセンス取得手段41は、それ以外のとき、つまり、署名部分がライセンス発行管理装置30の公開鍵で復号化できないか、又は、署名部分の復号化結果が計算したハッシュ値に一致しないときは、署名は有効でないと判断する。ライセンス取得手段41は、署名が有効でないと判断したときは、ライセンスの登録は行わない。
【0041】
ライセンス取得手段41は、署名が有効であると判断すると、受信したライセンス情報に含まれるチャレンジと、自身がライセンス取得要求に含めたチャレンジとが一致するか否かを判断する。ライセンス取得手段41は、チャレンジが一致すると判断すると、ライセンス使用装置40内に、ライセンス情報本体を格納する。その際、ライセンス取得手段41は、ライセンス管理テーブル43に、新たなエントリを生成し、生成したエントリに、格納したライセンスに関する情報を記録する。ライセンス使用装置40は、格納したライセンスで有効化される機能を有効化する。ライセンス取得手段41は、チャレンジが一致しないときは、ライセンスの登録は行わない。ライセンス発行管理装置30でライセンス情報に署名とチャレンジとを付加し、ライセンス使用装置40にてその有効性を確認することで、同一ライセンスの他装置への流用を制限できる。
【0042】
有効期限管理手段42は、ライセンスの有効期限を管理する。有効期限管理手段42は、ライセンス管理テーブル43を参照して、ライセンス使用装置40内に登録された各ライセンスについて、現在の日付(日時)と、有効期限とを比較する。有効期限管理手段42は、ライセンスの有効期限が切れる前に、ライセンス管理テーブル43を参照して、現在ライセンス使用装置40で使用しているライセンスを調べ、ライセンス使用状況を作成する。また、有効期限管理手段42は、チャレンジを生成し、ライセンス使用状況にチャレンジを付加した有効期限延長要求を、ライセンス発行管理装置30に送信する。
【0043】
有効期限管理手段42は、有効期限延長要求の送信後、ライセンス発行管理装置30から、送信した有効期限延長要求に対する応答として、有効期限が延長されたライセンス情報を受信する。有効期限管理手段42は、ライセンス情報を受信すると、署名の有効性を検証し、ライセンス情報の送信元がライセンス発行管理装置30であること、及び、ライセンス情報の内容に改ざんがないことを確認する。この署名の検証は、ライセンス取得手段41における署名の有効性検証と同様な手法で行うことができる。
【0044】
有効期限管理手段42は、署名が有効であると判断すると、受信したライセンス情報に含まれるチャレンジと、自身が有効期限延長要求に含めたチャレンジとが一致するか否かを判断する。有効期限管理手段42は、チャレンジが一致すると判断すると、ライセンス使用装置40内に、有効期限が延長されたライセンス情報本体を格納する。その際、有効期限管理手段42は、ライセンス管理テーブル43における当該ライセンスの有効期限を、延長された有効期限に書き換える。有効期限が延長されることで、ライセンス使用装置40は、ライセンスに応じた機能を、継続して使用することができる。
【0045】
有効期限管理手段42は、署名が有効でない、又は、チャレンジが一致しないときは、有効期限の延長を行わない。有効期限が延長されない例としては、ライセンス発行後に、ライセンス発行管理装置30で、当該ライセンスが破棄された場合などが考えられる。有効期限管理手段42は、ライセンスの有効期限が満了すると、当該ライセンスに応じた機能を無効化する。
【0046】
図4に、ライセンス登録及び発行時のシーケンスを示す。ライセンス管理者10は、オペレータ20のライセンス購入を受け、ライセンスを発行する(ステップA1)。ライセンス管理者10は、発行したライセンスをライセンス発行管理装置30の公開鍵で暗号化し(ステップA2)、オペレータ20に送信する(ステップA3)。オペレータ20は、ライセンス管理者10からのライセンス発行を受けると、ライセンス発行管理装置30に、ライセンスを登録する(ステップA4)。
【0047】
ライセンス発行管理装置30のライセンス登録手段31(図2)は、ライセンスをライセンス発行管理装置30の秘密鍵で復号化し、ライセンス発行管理装置30内にライセンスを登録する(ステップA5)。ライセンス管理者10が発行したライセンスは、ライセンス発行管理装置30の公開鍵で暗号化されているので、当該ライセンスを復号化できるのは、ライセンス発行を受けるライセンス発行管理装置30のみとなる。従って、オペレータ20は、発行対象のライセンス発行管理装置30以外のライセンス発行管理装置に、ライセンスを登録することはできない。ライセンス登録手段31は、ライセンスを登録すると、ライセンス登録情報34に新たなエントリを生成し、そのエントリに、登録したライセンスの情報を記録する(ステップA6)。
【0048】
図5に、ライセンス登録情報34のデータ例を示す。ライセンス登録情報34は、ライセンス発行により有効化する機能、有効期限、総ライセンス数、対象装置、及び、発行済みライセンス数を含む。ここでの有効期限は、個々のライセンス使用装置40に対して設定する有効期限ではなく、ライセンスの最終的な有効期限である。ライセンス数は、ライセンス発行管理装置30がライセンス使用装置40に対して同時に発行することができるライセンス数の上限である。対象装置には、ライセンスを発行しているライセンス使用装置40の識別子を記録する。発行済みライセンス数には、発行しているライセンスの総数を記録する。
【0049】
図4に戻り、オペレータ20は、任意のライセンス使用装置40を指定して、当該ライセンス使用装置40に対して、ライセンス発行を指示する。ライセンス発行手段32は、ライセンス発行先のライセンス使用装置40に、ライセンス状態報告依頼を行い、ライセンスの取得を指示する(ステップA7)。この指示を受けたライセンス使用装置40のライセンス取得手段41(図3)は、ライセンス管理テーブル43を参照してライセンス使用状況を生成する(ステップA8)。ライセンス取得手段41は、使用しているライセンスの有効期限を、ライセンス使用状況に含める。また、ライセンス取得手段41は、乱数を用いて、ライセンス取得検証用のチャレンジを生成する(ステップA9)。ライセンス取得手段41は、ライセンス使用状況とチャレンジとを含むライセンス取得要求を、ライセンス発行管理装置30に送信する(ステップA10)。
【0050】
ライセンス発行手段32は、ライセンス使用装置40からライセンス取得要求を受信すると、ライセンス発行状況管理テーブル35を参照し、ライセンス発行管理装置30がライセンス使用装置40に対して発行したライセンスの種類、及び、その有効期限を調べる。ライセンス発行手段32は、ライセンス発行管理装置30が発行したライセンスの種類及び有効期限が、ライセンス使用装置40から受信したライセンス使用状況におけるライセンスの種類及び有効期限に一致するか否かを調べる(ステップA11)。
【0051】
図6に、ライセンス発行状況管理テーブル35のデータ例を示す。ライセンス発行状況管理テーブル35には、ライセンスにより有効化する機能と、ライセンス使用装置40との組み合わせごとに、発行済みライセンスの有効期限の情報が記録される。ライセンス発行状況管理テーブル35を参照することで、例えば、ライセンス使用装置40−1について、ライセンス発行管理装置30が発行したライセンスが「機能A」及び「機能D」を有効化するライセンスの2つであり、その有効期限は、共に「2008/5/31」であることがわかる。
【0052】
図7に、ライセンス使用装置40が送信したライセンス使用状況のデータ例を示す。この例では、ライセンス使用装置40−1は、「機能A」及び「機能D」を有効化する2つのライセンスを使用しており、それらの有効期限は「2008/5/31」である旨のライセンス使用状況を送信している。ライセンス発行手段32は、ライセンス使用状況(図7)と、ライセンス発行状況管理テーブル35(図6)におけるライセンス使用装置40−1の行を比較し、両者が一致するか否かを判断する。
【0053】
図6におけるライセンス使用装置40−1の行と、図7に示すライセンス使用状況は一致しているので、ライセンス発行手段32は、一致する(使用状況確認OK)と判断する。ライセンス発行手段32は、ライセンス取得要求に含まれるライセンス使用状況に、ライセンス発行状況管理テーブル35にて発行していないことになっている機能のライセンスが含まれるとき、又は、有効期限が一致しないときは、ライセンス発行状況とライセンス使用状況が一致しない(使用状況確認NG)と判断する。
【0054】
再び図4に戻り、ライセンス発行手段32は、ライセンス発行状況とライセンス使用状況とが一致すると判断すると、ライセンス取得要求を送信したライセンス使用装置40に対して、有効期限つきのライセンスを発行する(ステップA12)。ライセンス発行手段32は、ライセンス発行状況とライセンス使用状況とが一致しないと判断したときは、ライセンス使用装置40がライセンスを違法に使用している可能性があるため、ライセンスの発行は行わない。
【0055】
ライセンス発行手段32は、ライセンス発行に際して、ライセンス登録情報34(図5)を参照して、発行済みライセンス数と総ライセンス数とを比較する。ライセンス発行手段32は、発行済みライセンス数が総ライセンス数に一致するときは、新たにライセンスを発行すると発行済みライセンス数が総ライセンス数を超えることになるので、ライセンス発行は行わない。ライセンス発行手段32は、発行済みライセンス数が、総ライセンス数よりも少ないときは、ライセンスを発行する。
【0056】
ライセンス発行手段32は、ライセンスを発行すると、ライセンス登録情報34の発行済みライセンス数に1を加えると共に、対象装置に、ライセンス発行先のライセンス使用装置の識別子を追記する。また、ライセンス発行手段32は、ライセンス発行状況管理テーブル35(図6)に、発行したライセンスの有効期限を記録する。ライセンス発行手段32は、例えば、ライセンス使用装置40−1に対し、「機能B」についてのライセンスを発行する場合は、ライセンス使用装置40−1の行の「機能B」の列に、「機能B」のライセンスの有効期限を記録する。
【0057】
ライセンス発行手段32は、ライセンス情報本体に、ライセンス使用装置40が送信したチャレンジを付加し、更に、ライセンス情報本体とチャレンジとを含むライセンス情報に、署名を付加する(ステップA13)。具体的には、ライセンス発行手段32は、ライセンス情報本体にチャレンジを付加したライセンス情報のハッシュ値を計算し、ハッシュ値をライセンス発行管理装置30の秘密鍵で暗号化したものを、署名として付加する。ライセンス発行手段32は、署名つきのライセンス情報を、ライセンス使用装置40に送信する(ステップA14)。
【0058】
ライセンス使用装置40のライセンス取得手段41は、ステップA14で送信されたライセンス情報を、ステップA10で送信したライセンス取得要求に対する応答として受信する。ライセンス取得手段41は、ライセンス情報を受信すると、受信したライセンス情報の署名を検証する(ステップA15)。署名の検証では、ライセンス取得手段41は、受信したライセンス情報に含まれるライセンス情報本体とチャレンジとを合わせたもののハッシュ値を計算する。また、ライセンス取得手段41は、ライセンス情報の署名部分をライセンス発行管理装置30の公開鍵で復号化し、復号化結果と、計算したハッシュ値とが一致するか否かを判断する。
【0059】
ライセンス取得手段41は、ライセンス情報の署名部分をライセンス発行管理装置30の公開鍵で正しく復号化でき、かつ、復号化結果が計算したハッシュ値と一致するときは、署名が有効であると判断する。ライセンス取得手段41は、署名が有効と判断したときは、ライセンス情報に含まれるチャレンジが、ステップA10でライセンス取得要求に含めたチャレンジと一致するか否かを判断する(ステップA16)。ライセンス取得手段41は、チャレンジが一致すると判断したときは、ライセンス使用装置40内にライセンス情報本体を登録し、そのライセンスに応じた機能を有効化する(ステップA17)。また、ライセンス取得手段41は、ライセンス管理テーブル43に、登録したライセンスの有効期限を登録する。ライセンス取得手段41は、署名が有効でないと判断したとき、又は、チャレンジが一致しないと判断したときは、ライセンスの登録は行わない。
【0060】
図8に、ライセンスの有効期限延長の際のシーケンスを示す。ライセンス使用装置40には、図4に示すシーケンスに従って、有効期限つきのライセンスが登録されている(ステップB1)。有効期限管理手段42(図3)は、ライセンス管理テーブル43を参照して、ライセンス使用装置40に登録されている各ライセンスの有効期限と、現在日時とを比較する。有効期限管理手段42は、ライセンスの有効期限が、期限切れ間近であると判断すると、自律的に、そのライセンスについて、ライセンス発行管理装置30に対して有効期限の延長要求を送信し、ライセンスの更新(有効期限の延長)を行う。
【0061】
有効期限管理手段42は、ライセンスの有効期限が、期限切れ間近であると判断すると、ライセンス管理テーブル43を参照して、ライセンス使用状況を作成する(ステップB2)。また、有効期限管理手段42は、乱数を用いて、チャレンジを生成する(ステップB3)。有効期限管理手段42は、ライセンス使用状況とチャレンジとを含む有効期限延長要求を、ライセンス発行管理装置30に送信する(ステップB4)。
【0062】
有効期限延長手段33(図2)は、ライセンス使用装置40から、ステップB4で送信された有効期限延長要求を受信する。有効期限延長手段33は、ライセンス使用装置40から有効期限延長要求を受信すると、ライセンス発行状況管理テーブル35を参照し、ライセンス発行管理装置30側で管理するライセンス使用装置40のライセンス発行状況と、有効期限延長要求に含まれるライセンス使用状況とが一致するか否かを判断する(ステップB5)。
【0063】
有効期限延長手段33は、ライセンス発行状況とライセンス使用状況とが一致すると判断すると、有効期限延長要求を送信したライセンス使用装置40に対して、新たな有効期限が設定されたライセンスを発行する(ステップB6)。このとき発行するライセンスの有効期限は、現在の有効期限よりも後に期限が切れる有効期限とする。つまり、有効期限延長手段33は、有効期限が延長されたライセンスを発行する。有効期限延長手段33は、ライセンス発行状況とライセンス使用状況とが一致しないと判断したときは、ライセンス使用装置40にてライセンスの違法な使用があったと判断し、以降のライセンス延長を許可しない。
【0064】
有効期限延長手段33は、有効期限が延長されたライセンス発行に際して、ライセンス登録情報34(図5)を参照して、発行済みライセンス数と総ライセンス数とを比較する。有効期限延長手段33は、発行済みライセンス数が総ライセンス数以下であることを確認した上で、有効期限が延長されたライセンスを発行する。また、有効期限延長手段33は、有効期限が延長されたライセンスを発行すると、ライセンス発行状況管理テーブル35(図6)に、延長された有効期限を記録する。
【0065】
有効期限延長手段33は、有効期限が延長されたライセンス情報本体に、有効期限延長要求に含まれていたチャレンジを付加し、更に、ライセンス情報本体とチャレンジとを含むライセンス情報に、署名を付加する(ステップB7)。署名は、ライセンス発行時(図4のステップA13)と同様な手法で生成する。有効期限延長手段33は、署名つきのライセンス情報を、ライセンス使用装置40に送信する(ステップB8)。
【0066】
ライセンス使用装置の有効期限管理手段42は、ステップB8で送信されたライセンス情報を、ステップB4で送信した有効期限延長要求に対する応答として受信する。有効期限管理手段42は、有効期限が延長されたライセンス情報を受信すると、署名の有効性を検証する(ステップB9)。有効期限管理手段42は、ライセンス情報の署名部分をライセンス発行管理装置30の公開鍵で復号化でき、かつ、復号化内容がライセンス情報本体とチャレンジとを合わせたものをハッシュ化した値と等しいと判断すると、署名は有効であると判断する。
【0067】
有効期限管理手段42は、署名が有効であると判断すると、ライセンス情報に含まれるチャレンジが、ステップB4で有効期限延長要求に含めたチャレンジと一致するか否かを判断する(ステップB10)。有効期限管理手段42は、チャレンジが一致すると判断したときは、ライセンス使用装置40内に、有効期限が延長されたライセンスのライセンス情報本体を登録する(ステップB11)。また、有効期限管理手段42は、ライセンス管理テーブル43に、延長された有効期限を登録する。有効期限管理手段42は、ステップB9で署名が有効でないと判断したとき、又は、ステップB10でチャレンジが一致しないと判断したときは、有効期限の延長を行わない。
【0068】
以上の動作により、ライセンス使用装置40は、使用中のライセンスの有効期限を延長し、当該ライセンスに応じた機能を継続して使用できる。また、延長された有効期限が切れる前に、図8に示すシーケンスで有効期限を延長することで、当該ライセンスに応じた機能を更に継続して使用できる。有効期限管理手段42は、有効期限が延長されたライセンスが登録されない場合は、ライセンスの有効期限満了時に、当該ライセンスに応じた機能を無効化する。その場合、ライセンス使用装置40は、ライセンスの有効期限が切れた段階で、当該ライセンスに応じた機能の使用を停止する。
【0069】
図9に、故障に伴うライセンス移管のシーケンスを示す。ここでは、ライセンス使用装置40−1が故障し、ライセンス使用装置40−1に発行していたライセンスを、ライセンス使用装置40−2に移管することを考える。つまり、ライセンス使用装置40−2を、故障したライセンス使用装置40−1の代替(バックアップ)として用い、ライセンス使用装置40−1で有効化していた機能をライセンス使用装置40−2で有効化し、処理を継続する場合を考える。
【0070】
オペレータ20は、ライセンス使用装置40−1に対してライセンスを発行し、ライセンス使用装置40−1にてライセンスに応じた機能を有効化する(ステップC1)。その後、ライセンス使用装置40−1に故障が発生すると、オペレータ20は、ライセンス発行管理装置30に、ライセンス使用装置40−1のライセンス破棄を指示する(ステップC2)。
【0071】
ライセンス発行管理装置30のライセンス発行手段32は、ライセンス登録情報34及びライセンス発行状況管理テーブル35を更新し、ライセンス使用装置40−1に対するライセンス破棄を登録する(ステップC3)。より詳細には、ライセンス発行手段32は、ステップC3では、ライセンス登録情報34(図5)の対象装置からライセンス使用装置40−1を削除すると共に、発行済みライセンス数を1つ減少させる。また、ライセンス発行手段32は、ライセンス発行状況管理テーブル35(図6)におけるライセンス使用装置40−1の行を、ライセンスなしに変更する。
【0072】
オペレータ20は、ライセンス破棄の登録後、ライセンス発行管理装置30に、ライセンス使用装置40−2に対するライセンス登録を指示する(ステップC4)。ライセンス発行手段32は、ライセンス登録情報34を参照して総ライセンス数の枠内であることを確認した上で、ライセンス使用装置40−2に対してライセンス状態報告依頼を送信し、ライセンス取得を指示する(ステップC5)。ステップC5は、図4のステップA7に相当する。
【0073】
以降、図4のステップA8〜A17と同様なシーケンスにより、ライセンス使用装置40−2にライセンスを登録し(ステップC6)、当該ライセンスに応じた機能を有効化する(ステップC7)。ライセンス発行手段32は、ライセンス使用装置40−2に対するライセンスの発行後、ライセンス登録情報34における対象装置にライセンス使用装置40−2を追加し、発行済みライセンス数を1つ増加する。また、ライセンス発行手段32は、ライセンス発行状況管理テーブル35におけるライセンス使用装置40−2の行に、発行したライセンスの有効期限を記録する。オペレータ20が、ライセンス使用装置40−1のライセンスを破棄し、破棄したライセンスをライセンス使用装置40−2に発行することで、ライセンス使用装置40−2は、ライセンス使用装置40−1の代替として使用可能となる。
【0074】
図10に、ライセンス移管の別例のシーケンスを示す。ここでは、ライセンス使用装置40−1にライセンスを発行し、その後、同一ライセンスを使用して、ライセンス使用装置40−2にライセンスを発行する場合を考える。つまり、ライセンス使用装置40−1のライセンスを破棄し、ライセンス使用装置40−1のライセンスを破棄することで利用可能となったライセンスを、ライセンス使用装置40−2で利用することを考える。
【0075】
オペレータ20は、ライセンス使用装置40−1に対してライセンスを発行し、ライセンス使用装置40−1にてライセンスに応じた機能を有効化する(ステップD1)。その後、オペレータ20は、ライセンス発行管理装置30に、ライセンス使用装置40−1のライセンス破棄を指示する(ステップD2)。ライセンス発行管理装置30のライセンス発行手段32は、ライセンス登録情報34及びライセンス発行状況管理テーブル35を更新し、ライセンス使用装置40−1に対するライセンス破棄を登録する(ステップD3)。このステップD3は、図9のステップC3と同様な処理である。
【0076】
オペレータ20は、ライセンス破棄の登録後、ライセンス発行管理装置30に、ライセンス使用装置40−2に対して、ライセンス使用装置40−1で破棄したライセンスについて、ライセンス登録を指示する(ステップD4)。ライセンス発行手段32は、ライセンス登録情報34を参照して総ライセンス数の枠内であることを確認した上で、ライセンス使用装置40−2に対してライセンス状態報告依頼を送信し、ライセンス取得を指示する(ステップD5)。このステップD5は、図9のステップC5と同様な処理である。
【0077】
以降、図4のステップA8〜A17と同様なシーケンスにより、ライセンス使用装置40−2にライセンスを登録し(ステップD6)、当該ライセンスに応じた機能を有効化する(ステップD7)。ライセンス発行手段32は、ライセンス使用装置40−2に対するライセンスの発行後、ライセンス登録情報34における対象装置にライセンス使用装置40−2を追加し、発行済みライセンス数を1つ増加する。また、ライセンス発行手段32は、ライセンス発行状況管理テーブル35におけるライセンス使用装置40−2の行に、発行したライセンスの有効期限を記録する。ここまでは、図9のステップC7までと同様である。
【0078】
ライセンス使用装置40−1は、ステップD1で登録された有効期限が近づくと、ライセンス使用装置40−1におけるライセンス使用状況とチャレンジとを含む有効期限延長要求を送信する(ステップD8)。このステップD8は、図8のステップB4に相当する。ライセンス発行管理装置30の有効期限延長手段33(図2)は、ライセンス発行状況管理テーブル35を参照して、ライセンス使用装置40-1に対するライセンス発行状況と、ライセンス使用装置40−1におけるライセンス使用状況とを比較する(ステップD9)。このステップD9は、図8のステップB5に相当する。
【0079】
ステップD8でライセンス使用装置40−1が送信したライセンス使用状況には、既にオペレータ20によって破棄が登録されたライセンスの有効期限が含まれている。ライセンス発行手段32は、ステップD3で、ライセンス登録情報34及びライセンス発行状況管理テーブル35から当該ライセンスをライセンス使用装置40−1に発行している旨の情報を既に削除している。このため、有効期限延長手段33は、ライセンス使用装置40−1がライセンスを違法に使用していると判断する(ステップD10)。
【0080】
有効期限延長手段33は、ライセンス使用装置40−1に対して、有効期限を延長したライセンスを発行しない。その結果、ライセンス使用装置40−1で使用中のライセンスは期限切れとなり、ライセンス使用装置40−1は、当該ライセンスに応じた機能を無効化する(ステップD11)。このように、ライセンスに有効期限を設け、ライセンス発行状況と、ライセンス使用状況とが一致するときに有効期限を延長することで、ライセンス使用装置が、使用中のライセンスの有効期限を超えてライセンスを使用することを防止できる。つまり、違法なライセンス使用を排除できる。
【0081】
本実施形態では、ライセンス発行管理装置30は、ライセンス発行に際して、ライセンス使用装置40におけるライセンス使用状況を取得し、ライセンス発行状況管理テーブル35を参照して、ライセンス使用装置に発行したライセンス発行状況と、取得したライセンス使用状況とが一致するか否かを判断する。ライセンス発行管理装置30は、両者が一致すると判断するときは、ライセンス使用装置40に対してライセンス情報を送信し、ライセンスを発行する。ライセンス発行に際して、ライセンス使用装置40におけるライセンスの使用状況をチェックした上でライセンスを発行することで、ライセンス使用装置40におけるライセンスの違法利用を抑止することができる。また、ライセンス発行時にライセンスの使用状況をチェックする方式であるため、ライセンス使用装置40におけるライセンス使用状況を常時監視する必要がない。
【0082】
本実施形態では、ライセンス発行手段32は、ライセンス情報本体に、ライセンス取得検証用のチャレンジを付加し、ライセンス使用装置40に送信する。ライセンス使用装置40は、チャレンジを確認し、ライセンスが自装置に向けて発行されたものであることを確認した上で、ライセンスを登録する。このようにすることで、例えば、ライセンス使用装置40−2に向けて発行されたライセンスを、ライセンス使用装置40−1で使用することができなくなり、ライセンスの違法な再利用を抑止できる。つまり、同一のライセンスを、他のライセンス使用装置40に違法に使いまわすことを防止できる。
【0083】
本実施形態では、ライセンス発行手段32は、ライセンス情報に、ライセンス発行管理装置の署名を付加する。ライセンス取得手段41は、受信したライセンス情報の署名が有効であるか否かを判断し、有効であると判断すると、ライセンス登録を行う。署名は、ライセンス発行管理装置30の秘密鍵で暗号化されるため、ライセンス発行管理装置30以外の装置は、ライセンス情報の署名部分を生成することはできない。このため、ライセンス登録可能なライセンスは、ライセンス発行管理装置30が発行したライセンスに限られ、ライセンスの違法な使い回しを防止できる。
【0084】
上記署名は、ライセンス情報の内容をハッシュ化した値をライセンス発行管理装置30の秘密鍵で暗号化したものとすることができる。ライセンス取得手段41は、受信したライセンス情報の署名部分がライセンス発行管理装置30の公開鍵で復号化でき、かつ、復号化内容が受信したライセンス情報の内容をハッシュ化した値に等しいとき、署名が有効であると判断する。例えば、ライセンス使用装置40−1に送信されたライセンス情報のチャレンジの部分を改ざんして、ライセンス使用装置40−2でライセンス登録を行う場合を考える。この場合、署名部分の復号化はできるものの、ライセンス情報のハッシュ値(ダイジェスト)と署名の復号化結果とは、一致しない。このため、ライセンス使用装置40−2にはライセンスが登録されない。署名を用い、ライセンス情報の内容に改ざんがないことが確認されたときにライセンス登録を行うことで、ライセンスの違法使用を防ぐことができる。
【0085】
本実施形態では、ライセンス発行手段32は、ライセンス使用装置40に対して、有効期限が設定されたライセンスを発行する。有効期限管理手段42は、ライセンス管理テーブル43を参照してライセンス使用状況を生成し、生成したライセンス使用状況をライセンス発行管理装置30に送信する。有効期限延長手段33は、ライセンス使用装置40からライセンス使用状況を取得し、ライセンス発行状況管理テーブル35を参照して、ライセンス使用装置40に発行したライセンスと、ライセンス使用状況とが一致するか否かを判断する。有効期限延長手段33は、両者が一致すると判断したとき、ライセンス使用装置40に対して、有効期限が延長されたライセンス情報を送信し、ライセンスの有効期限を延長する。
【0086】
ライセンスに有効期限を設定する構成を採用する場合、ライセンス発行管理装置30は、有効期限が切れる前のタイミングで、ライセンス使用装置40におけるライセンス使用状況をチェックすることができる。ライセンス発行管理装置30は、ライセンス発行状況とライセンス使用状況とが一致しないときは、ライセンスの有効期限を延長しないので、当該ライセンス使用装置40におけるライセンスは、有効期限の経過により、無効化される。従って、ライセンスの違法な使用を抑止することができる。また、ライセンス発行管理装置30とライセンス使用装置40とは、常時接続されている必要はなく、有効期限延長要求及びそれに対する応答の送受信の際に接続されていればよい。有効期限延長時(ライセンス継続時)に接続することで、違法なライセンス使用を防ぎつつ、ライセンス管理を実施できる。更に、有効期限の延長の際も、ライセンス取得時と同様に、チャレンジと署名を用いることで、異なるライセンス使用装置40での有効期限の延長や、ライセンスの偽造などを防ぐことができる。
【0087】
本実施形態では、ライセンス管理者10は、ライセンス発行管理装置30ごとに、オペレータ20(ライセンス発行管理装置30)に固有なライセンス情報を払い出す。ライセンス使用装置40に対するライセンス発行は、ライセンス発行管理装置30が行うため、ライセンス管理者10は、ライセンスの発行・管理を、ライセンス使用装置40ごとに行う必要がなくなり、ライセンス発行管理装置30ごとに管理するのみで済む。ライセンス管理者10は、ライセンス発行管理装置30に対するライセンスのみを管理すればよいので、ライセンス管理者10のライセンス管理負荷を軽減することができる。
【0088】
本実施形態では、ライセンス管理者10は、ライセンス発行管理装置30に対してライセンスを払い出しており、ライセンス使用装置40に固有の情報をキーとしてライセンスを発行していない。実際のライセンス使用装置40へのライセンス登録は、ライセンス発行管理装置30が行う。オペレータ20は、払い出されたライセンスの範囲内で、配下にあるライセンス使用装置40に対して、任意にライセンスを発行することができる。このため、例えば、あるライセンス使用装置40が故障したときでも、オペレータ20がライセンス発行管理装置30を操作することで、当該ライセンス使用装置40におけるライセンスを無効化し、交換装置のライセンスを有効化できる。本実施形態では、ライセンス使用装置40間でのライセンスの移管を、ライセンス管理者が介在することなく実施でき、ライセンス管理者10は、交換用予備装置のライセンスを発行しておく必要性がない。
【0089】
以上のように、本実施形態では、ライセンスを発行するライセンス管理者10の管理対象をライセンス発行管理装置30単位とした上で、ライセンス使用装置40に対するライセンスの発行は、ライセンス発行管理装置30が行う。ライセンス使用装置40は、公開鍵基盤を用いることで、ライセンス発行管理装置30から投入されるライセンスの有効性を自律的に確認し、ライセンス登録を行う。このようにすることで、ライセンス管理者10のライセンス管理負荷を軽減しつつ、ライセンス使用装置40における違法なライセンス使用を防ぐことができる。
【0090】
なお、公開鍵による暗号化・署名検証は、共有秘密鍵による暗号化・署名検証でもよい。また、ライセンス使用装置40が、ライセンス取得要求時又は有効期限延長要求にライセンス使用状況に付加するチャレンジは、ライセンス使用装置40に固有の情報や、時刻情報でもよい。ライセンス発行管理装置30は、チャレンジに、ライセンス使用装置40に固有の情報や時刻情報を用いる場合は、ライセンス使用装置40からチャレンジを取得することなく、発行するライセンス情報に、チャレンジを付加してもよい。
【0091】
ライセンス発行管理装置30と各ライセンス使用装置40とは、ネットワークで直接接続されている必要はなく、ライセンス発行管理装置30からライセンス使用装置40へのライセンス登録は、コマンド等を使用し、オペレータ20が各ライセンス使用装置40に直接に登録してもよい。また、各ライセンス使用装置40からの有効期限延長要求とチャレンジとは、アラームメッセージやコマンドリプライ等の手段で通知し、オペレータ20に、ライセンス発行管理装置30へ登録させてもよい。
【0092】
ライセンス使用状況については、ライセンス使用装置40における使用中の全てのライセンス使用状況が含まれている必要はなく、ライセンス取得対象、又は、有効期限延長対象のライセンスについての使用状況が含まれていればよい。例えば、ライセンス使用装置40は、機能Aについてのライセンスを取得する際には、機能Aについてのライセンスを使用しているか否かを、ライセンス使用状況に含めてライセンス発行管理装置30に送信すればよい。また、ライセンス使用装置40は、機能Aについてのライセンスの有効期限を延長する際には、現在使用している機能Aについてのライセンスの有効期限をライセンス使用状況に含めてライセンス発行管理装置30に送信すればよい。ライセンス発行管理装置30は、対象となるライセンスの使用状況が発行状況と一致するとき、ライセンスの発行又は有効期限の延長を行えばよい。
【0093】
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のライセンス発行管理システム、方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【図面の簡単な説明】
【0094】
【図1】本発明の一実施形態のライセンス発行管理システムを示すブロック図。
【図2】ライセンス発行管理装置の構成を示すブロック図。
【図3】ライセンス使用装置の構成を示すブロック図。
【図4】ライセンスの登録・発行時のシーケンスを示すシーケンス図。
【図5】ライセンス登録情報のデータ例を示す図。
【図6】ライセンス発行状況管理テーブルのデータ例を示す図。
【図7】ライセンス使用状況のデータ例を示す図。
【図8】有効期限延長の際のシーケンスを示すシーケンス図。
【図9】ライセンス移管のシーケンスを示すシーケンス図。
【図10】ライセンス移管の別例を示すシーケンス図。
【図11】特許文献1に記載のシステムを示すブロック図。
【符号の説明】
【0095】
10:ライセンス管理者
20:オペレータ
30:ライセンス発行管理装置
31:ライセンス登録手段
32:ライセンス発行手段
33:有効期限延長手段
34:ライセンス登録情報
35:ライセンス発行状況管理テーブル
40−1〜40−n:ライセンス使用装置
41:ライセンス取得手段
42:有効期限管理手段
43:ライセンス管理テーブル
【技術分野】
【0001】
本発明は、ライセンス発行管理システム、方法、及び、プログラムに関し、更に詳しくは、ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行うライセンス発行管理システム、方法、及び、プログラムに関する。
【背景技術】
【0002】
取得したライセンスに応じて、所定の機能を有効化する装置やソフトウェアがある。このような装置やソフトウェアに対するライセンス管理に関する技術として、特許文献1に記載の技術がある。図11に、特許文献1におけるライセンス管理システムを示す。監視装置202は、監視ネットワークを介して、ネットワークAとネットワークBとに接続されている。ネットワークAは、ノードA、ノードB、ノードCを有し、ネットワークBは、ノードD、ノードE、ノードFを有している。
【0003】
監視装置202は、各ネットワーク内のノードのうちの1つを、マスターノードとする。図11の例では、ノードAを、ネットワークA内のマスターノードとし、ノードEを、ネットワークB内のマスターノードとしている。各マスターノードは、ネットワーク内の他のノードに対するライセンスの発行・管理を行う。つまり、マスターノードAは、ノードB、ノードCに対するライセンスの発行・管理を行い、マスターノードEは、ノードD、ノードFに対するライセンスの発行・管理を行う。
【0004】
以下、ネットワークAにおけるライセンスの発行・管理について説明する。マスターノードAは、ライセンスキー及び自ノードIDを、監視装置202に通知する。監視装置202は、通知された内容と、マスターノード登録時の管理テーブルとを比較し、マスターノードAが、ライセンスキーの管理を行うノードとして登録されていることを確認する。その後、監視装置202は、マスターノードAに、確認レスポンスを送信する。マスターノードAは、この確認レスポンスをもって、ライセンスの有効性を確認する。マスターノードAは、確認レスポンスを3回以上受信できないときは、マスターノードAの該当管理上からライセンスを削除する。
【0005】
ライセンスを必要とするノード、例えばノードBは、マスターノードAに、自ノードIDとライセンスキーとを通知して、ライセンスの配布を要求する。マスターノードAは、使用ライセンスキーの数を確認し、ライセンス数の範囲内であるか否かを判断する。マスターノードAは、ライセンス数の範囲内であれば、ノードBに、ライセンス許可を通知する。マスターノードAは、ライセンスを許可すると、ライセンスの管理テーブルに、ライセンスを使用するノードBのIDを登録する。
【0006】
ノードBは、一定間隔で、マスターノードAに、ライセンスキーと自ノードIDとを含むライセンス使用確認を通知する。マスターノードAは、ライセンス使用確認を通知したノードが、ライセンス管理テーブルに登録されているか否かを調べる。マスターノードAは、ライセンス管理テーブルにノードBが登録されているときは、ノードBに確認レスポンスを返送する。マスターノードAは、ライセンス管理テーブルにノードBが登録されていないときは、確認レスポンスを返送しない。ノードBは、確認レスポンスを3回以上受信できないときは、ライセンス登録を破棄し、該当ライセンス機能の使用を制限する。
【0007】
【特許文献1】特開2006−155385号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
特許文献1に記載のライセンス管理システムでは、ライセンス数の管理を監視装置202とマスターノードとの間で行い、ライセンス配布の管理を、マスターノードとライセンスを必要とするノードとの間で行う。このようにすることで、各機器のIDをキーに、機器ごとにライセンスを発行し、管理する必要がなくなる。しかし、特許文献1では、ライセンス発行時に、ライセンスを要求したノードのライセンス使用状況をチェックしていない。このため、ライセンスを不正使用しているノードに対して、ライセンスを発行することがあるという問題がある。
【0009】
本発明は、ライセンス不正使用をしている装置に対するライセンス発行を抑制できるライセンス発行管理システム、方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するために、本発明のライセンス発行管理システムは、ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行うライセンス発行管理装置を含むライセンス発行管理システムであって、前記ライセンス使用装置におけるライセンス使用状況を取得し、ライセンス発行管理装置がライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断し、両者が一致すると判断すると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行するライセンス発行手段を備えることを特徴とする。
【0011】
本発明のライセンス発行管理装置は、ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行うライセンス発行管理装置であって、前記ライセンス使用装置におけるライセンス使用状況を取得し、ライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断し、両者が一致すると判断すると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行するライセンス発行手段を備えることを特徴とする。
【0012】
本発明のライセンス使用装置は、ライセンス発行管理装置からのライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置であって、使用しているライセンスを管理するライセンス管理テーブルを参照して、自装置におけるライセンス使用状況を生成し、該生成したライセンス使用状況を含むライセンス取得要求を前記ライセンス発行管理装置に送信し、該ライセンス取得要求に対する応答として前記ライセンス発行管理装置からライセンス情報を受信し、自装置内にライセンスを登録するライセンス取得手段を備えることを特徴とする。
【0013】
本発明のライセンス発行管理方法は、ライセンス発行管理装置を用い、ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行う方法であって、前記ライセンス発行管理装置が、前記ライセンス使用装置におけるライセンス使用状況を取得するステップと、前記ライセンス発行管理装置が、ライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断するステップと、前記ライセンス発行管理装置が、両者が一致すると判断すると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行するステップとを有することを特徴とする。
【0014】
本発明のライセンス取得方法は、ライセンス発行管理装置からのライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置がライセンスを取得する方法であって、前記ライセンス使用装置が、使用しているライセンスを管理するライセンス管理テーブルを参照して、自装置におけるライセンス使用状況を生成するステップと、前記ライセンス使用装置が、生成したライセンス使用状況を含むライセンス取得要求を前記ライセンス発行管理装置に送信するステップと、前記ライセンス使用装置が、前記送信したライセンス取得要求に対する応答として、前記ライセンス発行管理装置からライセンス情報を受信し、自装置内にライセンスを登録するステップとを有することを特徴とする。
【0015】
本発明のプログラムは、ライセンス発行管理装置に、ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行う処理を実行させるプログラムであって、前記ライセンス発行管理装置に、前記ライセンス使用装置におけるライセンス使用状況を取得する処理と、ライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断する処理と、両者が一致すると判断されると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行する処理とを実行させることを特徴とする。
【0016】
本発明のプログラムは、ライセンス発行管理装置からのライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に、ライセンスを取得する処理を実行させるプログラムであって、前記ライセンス使用装置に、前記ライセンス使用装置が使用しているライセンスを管理するライセンス管理テーブルを参照して、前記ライセンス使用装置におけるライセンス使用状況を生成する処理と、生成したライセンス使用状況を含むライセンス取得要求を前記ライセンス発行管理装置に送信する処理と、前記送信したライセンス取得要求に対する応答として、前記ライセンス発行管理装置からライセンス情報を受信し、前記ライセンス使用装置内にライセンスを登録する処理とを実行させることを特徴とする。
【発明の効果】
【0017】
本発明のライセンス発行管理システム、方法、及び、プログラムは、ライセンス不正使用をしている装置に対するライセンス発行を抑制することができる。
【発明を実施するための最良の形態】
【0018】
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図1は、本発明の一実施形態のライセンス発行管理システムを示している。ライセンス発行管理システムは、ライセンス発行管理装置30と、ライセンス使用装置40−1〜40−n(nは2以上の整数)とを有する。各ライセンス使用装置40は、ライセンスに応じて機能を有効化する装置、又は、ソフトウェアである。ライセンス発行管理装置30は、ライセンス使用装置40に対して、ライセンスの発行・管理を行う。ライセンス発行管理装置30及び各ライセンス使用装置40には、それぞれ、所定のプログラムを動作させることで所定の機能を実現するコンピュータシステムを用いることができる。
【0019】
ライセンス管理者10は、装置開発者などであり、ライセンスを販売・管理する。オペレータ20は、ライセンス管理者10に対価を支払い、ライセンスに応じた機能を有効化するためのライセンス発行を依頼する。ライセンス管理者10は、ライセンス発行の依頼を受けると、ライセンス発行管理装置30に対してライセンスを払い出す。オペレータ20は、ライセンス発行管理装置30にライセンスを登録する。ライセンス発行管理装置30は、登録したライセンスの範囲内で、ライセンス使用装置40に対してライセンスを発行する。各ライセンス使用装置40は、ライセンス発行管理装置30からライセンスが与えられると、ライセンスに応じた機能を有効化する。
【0020】
ライセンス管理者10は、オペレータ(ライセンス購入者)20に、購入ライセンスに応じたライセンスを払い出す。このとき、ライセンス管理者10は、ライセンスを、ライセンス発行管理装置30の公開鍵を用いて暗号化する。オペレータ20は、ライセンス管理者10が払い出したライセンスを、ライセンス発行管理装置30の秘密鍵を用いて復号化し、ライセンス発行管理装置30内に登録する。オペレータ20が払い出したライセンスを正しく復号化できるのは、対応する秘密鍵を有するライセンス発行管理装置30のみである。このため、ライセンス管理者10が払い出したライセンスは、払い出し先のライセンス発行管理装置30にのみ登録が可能である。つまり、払い出されたライセンスを、異なるライセンス発行管理装置30へ投入することを防ぐことができる。
【0021】
オペレータ20は、ライセンス発行管理装置30に対し、ライセンスの発行を指示する。また、オペレータ20は、ライセンス発行管理装置30に対して、ライセンス使用装置40に対して発行していたライセンスの破棄を指示することができる。ライセンス発行管理装置30は、各ライセンス使用装置40に対して、どのライセンスを発行しているかを管理するライセンス発行状況管理テーブルを保持している。ライセンス発行管理装置30は、ライセンス使用装置40に対してライセンスを発行すると、ライセンス発行状況管理テーブルに、発行したライセンスに関する情報を登録する。また、ライセンス発行管理装置30は、あるライセンス使用装置におけるライセンス破棄の指示を受けると、ライセンス発行状況管理テーブルから、当該ライセンス使用装置について、該当するライセンスに関する情報を削除する。
【0022】
ライセンス使用装置40は、ライセンス発行に際して、自身におけるライセンスの使用状況を調べ、ライセンス使用状況とチャレンジとを含むライセンス取得要求をライセンス発行管理装置30に送信する。ライセンス発行管理装置30は、ライセンス使用装置40から受け取ったライセンス使用状況と、ライセンス発行状況管理テーブルとを比較し、ライセンス状態を検証する。ライセンス発行管理装置30は、検証の結果、自身がライセンス使用装置40に対して与えたライセンスと、ライセンス使用装置40におけるライセンス使用状況とが一致しないときは、ライセンス使用装置40にて、ライセンスの不正使用があったものと判断して、ライセンスの発行は行わない。
【0023】
ライセンス発行管理装置30は、自身がライセンス使用装置40に対して与えたライセンスと、ライセンス使用装置40におけるライセンス使用状況とが一致するときは、ライセンス使用装置40にライセンス情報を送信し、ライセンスを発行する。このとき、ライセンス発行管理装置30は、ライセンス情報に、ライセンス発行管理装置30の署名を付加する。この署名は、ライセンス使用装置40側で、ライセンス情報が、ライセンス発行管理装置30から送信された情報であることを確認する目的で使用される。また、署名は、送信されたライセンス情報に改ざんがないことを確認する目的で使用される。
【0024】
ライセンス使用装置40は、ライセンス情報を受信すると、ライセンス情報の署名を検証する。ライセンス使用装置40は、署名を検証することで、ライセンス情報の送信者がライセンス発行管理装置30であり、かつ、ライセンス情報が改ざんされていないことを確認する。ライセンス使用装置40は、署名が有効である、つまり、受信したライセンス情報の送信者がライセンス発行管理装置30であり、かつ、ライセンス情報に改ざんがないことを確認すると、ライセンス使用装置内にライセンス情報を登録する。ライセンス使用装置40は、登録したライセンスに応じた機能を有効化する。
【0025】
ライセンス発行管理装置30は、ライセンス使用装置40に発行するライセンスに対して、有効期限を設定することができる。ライセンス使用装置40は、ライセンスの有効期限が切れる前に、ライセンス発行管理装置30に対して、ライセンス使用状況を送信し、有効期限の延長を要求する。ライセンス発行管理装置30は、ライセンス発行状況管理テーブルを参照して、自身が管理するライセンス状態と、ライセンス使用状況とが一致するか否かを判断する。ライセンス発行管理装置30は、両者が一致すると判断すると、新たな有効期限が設定された、言い換えると、延長された有効期限が設定されたライセンスを発行する。
【0026】
ライセンス発行管理装置30は、有効期限が延長されたライセンス情報に署名を付加し、ライセンス使用装置40に送信する。ライセンス使用装置40は、受信したライセンス情報の署名の有効性を検証する。ライセンス使用装置40は、署名が有効であると判断すると、有効期限が延長されたライセンス情報を登録する。ライセンスが登録された場合、ライセンス使用装置40は、引き続き、ライセンスにより有効化される機能を使用することができる。ライセンス使用装置40は、有効期限が来るたびに、ライセンス使用状況をライセンス発行管理装置30に送信する。このため、ライセンス発行管理装置30は、ライセンス発行後のライセンス使用装置40におけるライセンス使用状況を、定期的に確認できる。
【0027】
図2に、ライセンス発行管理装置30の構成を示す。ライセンス発行管理装置30は、ライセンス登録手段31、ライセンス発行手段32、及び、有効期限延長手段33を有する。また、ライセンス発行管理装置30は、ライセンス登録情報34、及び、ライセンス発行状況管理テーブル35を保持する。ライセンス登録情報34は、ライセンス発行管理装置30に登録されたライセンスの情報を記録する。また、ライセンス登録情報34は、登録されたライセンスごとに、現在ライセンス使用装置40に対して発行しているライセンス数を管理する情報を記録する。ライセンス発行状況管理テーブル35は、どのライセンス使用装置40に、どのライセンスを発行したかを管理する情報を記録する。
【0028】
なお、本実施形態では、便宜上、ライセンス登録情報34と、ライセンス発行状況管理テーブル35とを別個の情報として取り扱うが、ライセンス登録情報34と、ライセンス発行状況管理テーブル35とは、別個の情報である必要はない。ライセンス登録情報とライセンス発行状況管理テーブルとを別個の情報とするのに代えて、発行済みライセンス数の管理と、どのライセンス使用装置にライセンスを発行したかを、一元的に管理してもよい。
【0029】
オペレータ20は、ライセンス管理者10から払い出されたライセンスを、ライセンス登録手段31に入力する。このライセンスは、ライセンス発行管理装置30の公開鍵で暗号化されている。ライセンス登録手段31は、暗号化されたライセンスを、ライセンス発行管理装置30の秘密鍵で復号化し、ライセンス発行管理装置30内に登録する。ライセンス登録手段31は、ライセンスを登録すると、ライセンス登録情報34に、登録したライセンスに関する情報、例えば、ライセンスにより有効化する機能、ライセンス使用装置40に対して同時に発行可能な総ライセンス数などを追加記録する。
【0030】
オペレータ20は、ライセンス発行手段32に対し、ライセンス発行を指示する。ライセンス発行先のライセンス使用装置40は、オペレータ20が任意に指定できる。ライセンス発行手段32は、ライセンス発行が指示されると、ライセンス発行先のライセンス使用装置40に対して、ライセンス取得要求の送信を指示する。ライセンス発行手段32は、ライセンス取得要求の送信の指示後、ライセンス使用装置40から、ライセンス使用装置40における現在のライセンスの使用状況とチャレンジとを含むライセンス取得要求を受信する。ここで、チャレンジは、ライセンス使用装置40がライセンス発行を受ける際に、そのライセンスが、自身が送信したライセンス取得要求に対応して発行されたライセンスであることを確認する際に使用されるものである。チャレンジには、ライセンス使用装置40側で生成した乱数を用いることができる。
【0031】
ライセンス発行手段32は、ライセンス取得要求を受信すると、ライセンス発行状況管理テーブル35を参照して、ライセンス取得要求を送信したライセンス使用装置40について、ライセンス発行管理装置30が発行しているライセンスを調べる。ライセンス発行手段32は、ライセンス取得要求に含まれるライセンス使用状況と、ライセンス発行状況管理テーブル35に記録された当該ライセンス使用装置へのライセンス発行状況とが一致するか否かを判断する。ライセンス発行手段32は、両者が一致するときは、ライセンス使用装置40におけるライセンスの使用が正当であると判断する。ライセンス発行手段32は、両者が一致しないときは、ライセンス使用が不正であると判断する。ライセンス発行手段32は、ライセンス使用が不正であると判断したときは、ライセンスを発行しない。
【0032】
ライセンス発行手段32は、ライセンス使用装置40におけるライセンス使用が正当であるときは、ライセンス使用装置40にライセンス情報を送信し、有効期限つきのライセンスを発行する。ライセンス発行手段32は、ライセンス使用装置40に送信するライセンス情報に、発行するライセンスの本体(ライセンス情報本体)と、ライセンス取得要求に含まれていたチャレンジとを含める。また、ライセンス発行手段32は、ライセンス情報に、ライセンス発行管理装置30の署名を付加する。署名には、「チャレンジ」と「ライセンス情報本体」とを合わせたものをハッシュ化した値を、ライセンス発行管理装置30の秘密鍵を用いて暗号化したものを用いることができる。
【0033】
ライセンス使用装置40は、発行されたライセンスの有効期限が切れる前に、有効期限延長手段33に対して、有効期限の延長を要求する。この有効期限の延長要求は、ライセンス取得要求に含まれる情報と同様な情報、すなわち、現在のライセンス使用状況とチャレンジとを含む。有効期限延長手段33は、有効期限の延長要求を受信すると、ライセンス発行状況管理テーブル35を参照して、ライセンス状態を確認する。ライセンス状態の確認は、ライセンス発行手段32におけるライセンス状態の確認と同様な手法で行うことができる。
【0034】
有効期限延長手段33は、ライセンス状態の確認の結果、ライセンス使用装置40におけるライセンス使用が正当であると判断すると、ライセンス使用装置40に、有効期限が延長されたライセンス情報を送信し、ライセンス使用装置40におけるライセンスの有効期限を延長する。このとき有効期限延長手段33が送信するライセンス情報は、ライセンス発行手段32が送信するライセンス情報と同様な情報、すなわち、ライセンス情報本体と、有効期限延長要求に含まれていたチャレンジと、署名部分とを含む。有効期限延長手段33は、ライセンス使用装置におけるライセンス使用が不正であると判断したときは、有効期限を延長したライセンス情報の送信は行わず、有効期限を延長しない。
【0035】
オペレータ20は、特定のライセンス使用装置40に対して発行したライセンスについて、その破棄を指示することができる。ライセンス発行手段32は、オペレータがライセンス破棄を指示すると、ライセンス発行状況管理テーブル35を更新して、該当するライセンス使用装置における該当ライセンスの使用状態を、ライセンス使用なしとする。また、ライセンス発行手段32は、ライセンス登録情報34を更新して、該当ライセンスの発行済みライセンス数(使用中のライセンス数)を、破棄したライセンス数分だけ減少させる。
【0036】
図3は、ライセンス使用装置40の構成を示している。ライセンス使用装置40は、ライセンス取得手段41と有効期限管理手段42とを有する。また、ライセンス使用装置40は、ライセンス管理テーブル43を保持する。ライセンス管理テーブル43は、現在ライセンス使用装置40で使用しているライセンスに関する情報を記録する。より詳細には、ライセンス管理テーブル43は、使用中のライセンスについて、各ライセンスの有効期限を記録する。
【0037】
ライセンス取得手段41は、ライセンス発行管理装置30がライセンス取得要求の送信を指示すると、ライセンス管理テーブル43を参照して、現在ライセンス使用装置40で使用しているライセンスを調べ、ライセンス使用状況を作成する。ライセンス取得手段41は、ライセンス使用状況にチャレンジを付加したライセンス取得要求を、ライセンス発行管理装置30に送信する。ライセンス取得要求の送信は、オペレータ20等の指示により、ライセンス使用装置40側から自発的に行ってもよい。
【0038】
ライセンス取得手段41は、ライセンス取得要求の送信後、ライセンス発行管理装置30から、送信したライセンス取得要求に対する応答としてライセンス情報を受信する。ライセンス取得手段41は、ライセンス情報を受信すると、署名の有効性を検証し、ライセンス情報の送信元がライセンス発行管理装置30であること、及び、ライセンス情報の内容に改ざんがないことを確認する。
【0039】
署名の有効性の検証は、以下の手順で行う。ライセンス取得手段41は、まず、ライセンス情報に含まれる署名部分をライセンス発行管理装置30の公開鍵で復号化する。署名部分がライセンス発行管理装置30の公開鍵で復号化できることで、ライセンス情報の送信元がライセンス発行管理装置30であることが確認できる。次いで、ライセンス取得手段41は、受信したライセンス情報本体とチャレンジとを合わせたもののハッシュ値を計算する。ライセンス取得手段41は、署名部分の復号結果と、計算したハッシュ値とを比較し、両者が一致するか否かを判断する。両者が一致することで、ライセンス情報本体及びチャレンジに改ざんがないことが確認できる。
【0040】
ライセンス取得手段41は、署名部分がライセンス発行管理装置30の公開鍵で復号化でき、かつ、署名部分の復号化結果と計算したハッシュ値とが一致するときは、署名が有効であると判断する。ライセンス取得手段41は、それ以外のとき、つまり、署名部分がライセンス発行管理装置30の公開鍵で復号化できないか、又は、署名部分の復号化結果が計算したハッシュ値に一致しないときは、署名は有効でないと判断する。ライセンス取得手段41は、署名が有効でないと判断したときは、ライセンスの登録は行わない。
【0041】
ライセンス取得手段41は、署名が有効であると判断すると、受信したライセンス情報に含まれるチャレンジと、自身がライセンス取得要求に含めたチャレンジとが一致するか否かを判断する。ライセンス取得手段41は、チャレンジが一致すると判断すると、ライセンス使用装置40内に、ライセンス情報本体を格納する。その際、ライセンス取得手段41は、ライセンス管理テーブル43に、新たなエントリを生成し、生成したエントリに、格納したライセンスに関する情報を記録する。ライセンス使用装置40は、格納したライセンスで有効化される機能を有効化する。ライセンス取得手段41は、チャレンジが一致しないときは、ライセンスの登録は行わない。ライセンス発行管理装置30でライセンス情報に署名とチャレンジとを付加し、ライセンス使用装置40にてその有効性を確認することで、同一ライセンスの他装置への流用を制限できる。
【0042】
有効期限管理手段42は、ライセンスの有効期限を管理する。有効期限管理手段42は、ライセンス管理テーブル43を参照して、ライセンス使用装置40内に登録された各ライセンスについて、現在の日付(日時)と、有効期限とを比較する。有効期限管理手段42は、ライセンスの有効期限が切れる前に、ライセンス管理テーブル43を参照して、現在ライセンス使用装置40で使用しているライセンスを調べ、ライセンス使用状況を作成する。また、有効期限管理手段42は、チャレンジを生成し、ライセンス使用状況にチャレンジを付加した有効期限延長要求を、ライセンス発行管理装置30に送信する。
【0043】
有効期限管理手段42は、有効期限延長要求の送信後、ライセンス発行管理装置30から、送信した有効期限延長要求に対する応答として、有効期限が延長されたライセンス情報を受信する。有効期限管理手段42は、ライセンス情報を受信すると、署名の有効性を検証し、ライセンス情報の送信元がライセンス発行管理装置30であること、及び、ライセンス情報の内容に改ざんがないことを確認する。この署名の検証は、ライセンス取得手段41における署名の有効性検証と同様な手法で行うことができる。
【0044】
有効期限管理手段42は、署名が有効であると判断すると、受信したライセンス情報に含まれるチャレンジと、自身が有効期限延長要求に含めたチャレンジとが一致するか否かを判断する。有効期限管理手段42は、チャレンジが一致すると判断すると、ライセンス使用装置40内に、有効期限が延長されたライセンス情報本体を格納する。その際、有効期限管理手段42は、ライセンス管理テーブル43における当該ライセンスの有効期限を、延長された有効期限に書き換える。有効期限が延長されることで、ライセンス使用装置40は、ライセンスに応じた機能を、継続して使用することができる。
【0045】
有効期限管理手段42は、署名が有効でない、又は、チャレンジが一致しないときは、有効期限の延長を行わない。有効期限が延長されない例としては、ライセンス発行後に、ライセンス発行管理装置30で、当該ライセンスが破棄された場合などが考えられる。有効期限管理手段42は、ライセンスの有効期限が満了すると、当該ライセンスに応じた機能を無効化する。
【0046】
図4に、ライセンス登録及び発行時のシーケンスを示す。ライセンス管理者10は、オペレータ20のライセンス購入を受け、ライセンスを発行する(ステップA1)。ライセンス管理者10は、発行したライセンスをライセンス発行管理装置30の公開鍵で暗号化し(ステップA2)、オペレータ20に送信する(ステップA3)。オペレータ20は、ライセンス管理者10からのライセンス発行を受けると、ライセンス発行管理装置30に、ライセンスを登録する(ステップA4)。
【0047】
ライセンス発行管理装置30のライセンス登録手段31(図2)は、ライセンスをライセンス発行管理装置30の秘密鍵で復号化し、ライセンス発行管理装置30内にライセンスを登録する(ステップA5)。ライセンス管理者10が発行したライセンスは、ライセンス発行管理装置30の公開鍵で暗号化されているので、当該ライセンスを復号化できるのは、ライセンス発行を受けるライセンス発行管理装置30のみとなる。従って、オペレータ20は、発行対象のライセンス発行管理装置30以外のライセンス発行管理装置に、ライセンスを登録することはできない。ライセンス登録手段31は、ライセンスを登録すると、ライセンス登録情報34に新たなエントリを生成し、そのエントリに、登録したライセンスの情報を記録する(ステップA6)。
【0048】
図5に、ライセンス登録情報34のデータ例を示す。ライセンス登録情報34は、ライセンス発行により有効化する機能、有効期限、総ライセンス数、対象装置、及び、発行済みライセンス数を含む。ここでの有効期限は、個々のライセンス使用装置40に対して設定する有効期限ではなく、ライセンスの最終的な有効期限である。ライセンス数は、ライセンス発行管理装置30がライセンス使用装置40に対して同時に発行することができるライセンス数の上限である。対象装置には、ライセンスを発行しているライセンス使用装置40の識別子を記録する。発行済みライセンス数には、発行しているライセンスの総数を記録する。
【0049】
図4に戻り、オペレータ20は、任意のライセンス使用装置40を指定して、当該ライセンス使用装置40に対して、ライセンス発行を指示する。ライセンス発行手段32は、ライセンス発行先のライセンス使用装置40に、ライセンス状態報告依頼を行い、ライセンスの取得を指示する(ステップA7)。この指示を受けたライセンス使用装置40のライセンス取得手段41(図3)は、ライセンス管理テーブル43を参照してライセンス使用状況を生成する(ステップA8)。ライセンス取得手段41は、使用しているライセンスの有効期限を、ライセンス使用状況に含める。また、ライセンス取得手段41は、乱数を用いて、ライセンス取得検証用のチャレンジを生成する(ステップA9)。ライセンス取得手段41は、ライセンス使用状況とチャレンジとを含むライセンス取得要求を、ライセンス発行管理装置30に送信する(ステップA10)。
【0050】
ライセンス発行手段32は、ライセンス使用装置40からライセンス取得要求を受信すると、ライセンス発行状況管理テーブル35を参照し、ライセンス発行管理装置30がライセンス使用装置40に対して発行したライセンスの種類、及び、その有効期限を調べる。ライセンス発行手段32は、ライセンス発行管理装置30が発行したライセンスの種類及び有効期限が、ライセンス使用装置40から受信したライセンス使用状況におけるライセンスの種類及び有効期限に一致するか否かを調べる(ステップA11)。
【0051】
図6に、ライセンス発行状況管理テーブル35のデータ例を示す。ライセンス発行状況管理テーブル35には、ライセンスにより有効化する機能と、ライセンス使用装置40との組み合わせごとに、発行済みライセンスの有効期限の情報が記録される。ライセンス発行状況管理テーブル35を参照することで、例えば、ライセンス使用装置40−1について、ライセンス発行管理装置30が発行したライセンスが「機能A」及び「機能D」を有効化するライセンスの2つであり、その有効期限は、共に「2008/5/31」であることがわかる。
【0052】
図7に、ライセンス使用装置40が送信したライセンス使用状況のデータ例を示す。この例では、ライセンス使用装置40−1は、「機能A」及び「機能D」を有効化する2つのライセンスを使用しており、それらの有効期限は「2008/5/31」である旨のライセンス使用状況を送信している。ライセンス発行手段32は、ライセンス使用状況(図7)と、ライセンス発行状況管理テーブル35(図6)におけるライセンス使用装置40−1の行を比較し、両者が一致するか否かを判断する。
【0053】
図6におけるライセンス使用装置40−1の行と、図7に示すライセンス使用状況は一致しているので、ライセンス発行手段32は、一致する(使用状況確認OK)と判断する。ライセンス発行手段32は、ライセンス取得要求に含まれるライセンス使用状況に、ライセンス発行状況管理テーブル35にて発行していないことになっている機能のライセンスが含まれるとき、又は、有効期限が一致しないときは、ライセンス発行状況とライセンス使用状況が一致しない(使用状況確認NG)と判断する。
【0054】
再び図4に戻り、ライセンス発行手段32は、ライセンス発行状況とライセンス使用状況とが一致すると判断すると、ライセンス取得要求を送信したライセンス使用装置40に対して、有効期限つきのライセンスを発行する(ステップA12)。ライセンス発行手段32は、ライセンス発行状況とライセンス使用状況とが一致しないと判断したときは、ライセンス使用装置40がライセンスを違法に使用している可能性があるため、ライセンスの発行は行わない。
【0055】
ライセンス発行手段32は、ライセンス発行に際して、ライセンス登録情報34(図5)を参照して、発行済みライセンス数と総ライセンス数とを比較する。ライセンス発行手段32は、発行済みライセンス数が総ライセンス数に一致するときは、新たにライセンスを発行すると発行済みライセンス数が総ライセンス数を超えることになるので、ライセンス発行は行わない。ライセンス発行手段32は、発行済みライセンス数が、総ライセンス数よりも少ないときは、ライセンスを発行する。
【0056】
ライセンス発行手段32は、ライセンスを発行すると、ライセンス登録情報34の発行済みライセンス数に1を加えると共に、対象装置に、ライセンス発行先のライセンス使用装置の識別子を追記する。また、ライセンス発行手段32は、ライセンス発行状況管理テーブル35(図6)に、発行したライセンスの有効期限を記録する。ライセンス発行手段32は、例えば、ライセンス使用装置40−1に対し、「機能B」についてのライセンスを発行する場合は、ライセンス使用装置40−1の行の「機能B」の列に、「機能B」のライセンスの有効期限を記録する。
【0057】
ライセンス発行手段32は、ライセンス情報本体に、ライセンス使用装置40が送信したチャレンジを付加し、更に、ライセンス情報本体とチャレンジとを含むライセンス情報に、署名を付加する(ステップA13)。具体的には、ライセンス発行手段32は、ライセンス情報本体にチャレンジを付加したライセンス情報のハッシュ値を計算し、ハッシュ値をライセンス発行管理装置30の秘密鍵で暗号化したものを、署名として付加する。ライセンス発行手段32は、署名つきのライセンス情報を、ライセンス使用装置40に送信する(ステップA14)。
【0058】
ライセンス使用装置40のライセンス取得手段41は、ステップA14で送信されたライセンス情報を、ステップA10で送信したライセンス取得要求に対する応答として受信する。ライセンス取得手段41は、ライセンス情報を受信すると、受信したライセンス情報の署名を検証する(ステップA15)。署名の検証では、ライセンス取得手段41は、受信したライセンス情報に含まれるライセンス情報本体とチャレンジとを合わせたもののハッシュ値を計算する。また、ライセンス取得手段41は、ライセンス情報の署名部分をライセンス発行管理装置30の公開鍵で復号化し、復号化結果と、計算したハッシュ値とが一致するか否かを判断する。
【0059】
ライセンス取得手段41は、ライセンス情報の署名部分をライセンス発行管理装置30の公開鍵で正しく復号化でき、かつ、復号化結果が計算したハッシュ値と一致するときは、署名が有効であると判断する。ライセンス取得手段41は、署名が有効と判断したときは、ライセンス情報に含まれるチャレンジが、ステップA10でライセンス取得要求に含めたチャレンジと一致するか否かを判断する(ステップA16)。ライセンス取得手段41は、チャレンジが一致すると判断したときは、ライセンス使用装置40内にライセンス情報本体を登録し、そのライセンスに応じた機能を有効化する(ステップA17)。また、ライセンス取得手段41は、ライセンス管理テーブル43に、登録したライセンスの有効期限を登録する。ライセンス取得手段41は、署名が有効でないと判断したとき、又は、チャレンジが一致しないと判断したときは、ライセンスの登録は行わない。
【0060】
図8に、ライセンスの有効期限延長の際のシーケンスを示す。ライセンス使用装置40には、図4に示すシーケンスに従って、有効期限つきのライセンスが登録されている(ステップB1)。有効期限管理手段42(図3)は、ライセンス管理テーブル43を参照して、ライセンス使用装置40に登録されている各ライセンスの有効期限と、現在日時とを比較する。有効期限管理手段42は、ライセンスの有効期限が、期限切れ間近であると判断すると、自律的に、そのライセンスについて、ライセンス発行管理装置30に対して有効期限の延長要求を送信し、ライセンスの更新(有効期限の延長)を行う。
【0061】
有効期限管理手段42は、ライセンスの有効期限が、期限切れ間近であると判断すると、ライセンス管理テーブル43を参照して、ライセンス使用状況を作成する(ステップB2)。また、有効期限管理手段42は、乱数を用いて、チャレンジを生成する(ステップB3)。有効期限管理手段42は、ライセンス使用状況とチャレンジとを含む有効期限延長要求を、ライセンス発行管理装置30に送信する(ステップB4)。
【0062】
有効期限延長手段33(図2)は、ライセンス使用装置40から、ステップB4で送信された有効期限延長要求を受信する。有効期限延長手段33は、ライセンス使用装置40から有効期限延長要求を受信すると、ライセンス発行状況管理テーブル35を参照し、ライセンス発行管理装置30側で管理するライセンス使用装置40のライセンス発行状況と、有効期限延長要求に含まれるライセンス使用状況とが一致するか否かを判断する(ステップB5)。
【0063】
有効期限延長手段33は、ライセンス発行状況とライセンス使用状況とが一致すると判断すると、有効期限延長要求を送信したライセンス使用装置40に対して、新たな有効期限が設定されたライセンスを発行する(ステップB6)。このとき発行するライセンスの有効期限は、現在の有効期限よりも後に期限が切れる有効期限とする。つまり、有効期限延長手段33は、有効期限が延長されたライセンスを発行する。有効期限延長手段33は、ライセンス発行状況とライセンス使用状況とが一致しないと判断したときは、ライセンス使用装置40にてライセンスの違法な使用があったと判断し、以降のライセンス延長を許可しない。
【0064】
有効期限延長手段33は、有効期限が延長されたライセンス発行に際して、ライセンス登録情報34(図5)を参照して、発行済みライセンス数と総ライセンス数とを比較する。有効期限延長手段33は、発行済みライセンス数が総ライセンス数以下であることを確認した上で、有効期限が延長されたライセンスを発行する。また、有効期限延長手段33は、有効期限が延長されたライセンスを発行すると、ライセンス発行状況管理テーブル35(図6)に、延長された有効期限を記録する。
【0065】
有効期限延長手段33は、有効期限が延長されたライセンス情報本体に、有効期限延長要求に含まれていたチャレンジを付加し、更に、ライセンス情報本体とチャレンジとを含むライセンス情報に、署名を付加する(ステップB7)。署名は、ライセンス発行時(図4のステップA13)と同様な手法で生成する。有効期限延長手段33は、署名つきのライセンス情報を、ライセンス使用装置40に送信する(ステップB8)。
【0066】
ライセンス使用装置の有効期限管理手段42は、ステップB8で送信されたライセンス情報を、ステップB4で送信した有効期限延長要求に対する応答として受信する。有効期限管理手段42は、有効期限が延長されたライセンス情報を受信すると、署名の有効性を検証する(ステップB9)。有効期限管理手段42は、ライセンス情報の署名部分をライセンス発行管理装置30の公開鍵で復号化でき、かつ、復号化内容がライセンス情報本体とチャレンジとを合わせたものをハッシュ化した値と等しいと判断すると、署名は有効であると判断する。
【0067】
有効期限管理手段42は、署名が有効であると判断すると、ライセンス情報に含まれるチャレンジが、ステップB4で有効期限延長要求に含めたチャレンジと一致するか否かを判断する(ステップB10)。有効期限管理手段42は、チャレンジが一致すると判断したときは、ライセンス使用装置40内に、有効期限が延長されたライセンスのライセンス情報本体を登録する(ステップB11)。また、有効期限管理手段42は、ライセンス管理テーブル43に、延長された有効期限を登録する。有効期限管理手段42は、ステップB9で署名が有効でないと判断したとき、又は、ステップB10でチャレンジが一致しないと判断したときは、有効期限の延長を行わない。
【0068】
以上の動作により、ライセンス使用装置40は、使用中のライセンスの有効期限を延長し、当該ライセンスに応じた機能を継続して使用できる。また、延長された有効期限が切れる前に、図8に示すシーケンスで有効期限を延長することで、当該ライセンスに応じた機能を更に継続して使用できる。有効期限管理手段42は、有効期限が延長されたライセンスが登録されない場合は、ライセンスの有効期限満了時に、当該ライセンスに応じた機能を無効化する。その場合、ライセンス使用装置40は、ライセンスの有効期限が切れた段階で、当該ライセンスに応じた機能の使用を停止する。
【0069】
図9に、故障に伴うライセンス移管のシーケンスを示す。ここでは、ライセンス使用装置40−1が故障し、ライセンス使用装置40−1に発行していたライセンスを、ライセンス使用装置40−2に移管することを考える。つまり、ライセンス使用装置40−2を、故障したライセンス使用装置40−1の代替(バックアップ)として用い、ライセンス使用装置40−1で有効化していた機能をライセンス使用装置40−2で有効化し、処理を継続する場合を考える。
【0070】
オペレータ20は、ライセンス使用装置40−1に対してライセンスを発行し、ライセンス使用装置40−1にてライセンスに応じた機能を有効化する(ステップC1)。その後、ライセンス使用装置40−1に故障が発生すると、オペレータ20は、ライセンス発行管理装置30に、ライセンス使用装置40−1のライセンス破棄を指示する(ステップC2)。
【0071】
ライセンス発行管理装置30のライセンス発行手段32は、ライセンス登録情報34及びライセンス発行状況管理テーブル35を更新し、ライセンス使用装置40−1に対するライセンス破棄を登録する(ステップC3)。より詳細には、ライセンス発行手段32は、ステップC3では、ライセンス登録情報34(図5)の対象装置からライセンス使用装置40−1を削除すると共に、発行済みライセンス数を1つ減少させる。また、ライセンス発行手段32は、ライセンス発行状況管理テーブル35(図6)におけるライセンス使用装置40−1の行を、ライセンスなしに変更する。
【0072】
オペレータ20は、ライセンス破棄の登録後、ライセンス発行管理装置30に、ライセンス使用装置40−2に対するライセンス登録を指示する(ステップC4)。ライセンス発行手段32は、ライセンス登録情報34を参照して総ライセンス数の枠内であることを確認した上で、ライセンス使用装置40−2に対してライセンス状態報告依頼を送信し、ライセンス取得を指示する(ステップC5)。ステップC5は、図4のステップA7に相当する。
【0073】
以降、図4のステップA8〜A17と同様なシーケンスにより、ライセンス使用装置40−2にライセンスを登録し(ステップC6)、当該ライセンスに応じた機能を有効化する(ステップC7)。ライセンス発行手段32は、ライセンス使用装置40−2に対するライセンスの発行後、ライセンス登録情報34における対象装置にライセンス使用装置40−2を追加し、発行済みライセンス数を1つ増加する。また、ライセンス発行手段32は、ライセンス発行状況管理テーブル35におけるライセンス使用装置40−2の行に、発行したライセンスの有効期限を記録する。オペレータ20が、ライセンス使用装置40−1のライセンスを破棄し、破棄したライセンスをライセンス使用装置40−2に発行することで、ライセンス使用装置40−2は、ライセンス使用装置40−1の代替として使用可能となる。
【0074】
図10に、ライセンス移管の別例のシーケンスを示す。ここでは、ライセンス使用装置40−1にライセンスを発行し、その後、同一ライセンスを使用して、ライセンス使用装置40−2にライセンスを発行する場合を考える。つまり、ライセンス使用装置40−1のライセンスを破棄し、ライセンス使用装置40−1のライセンスを破棄することで利用可能となったライセンスを、ライセンス使用装置40−2で利用することを考える。
【0075】
オペレータ20は、ライセンス使用装置40−1に対してライセンスを発行し、ライセンス使用装置40−1にてライセンスに応じた機能を有効化する(ステップD1)。その後、オペレータ20は、ライセンス発行管理装置30に、ライセンス使用装置40−1のライセンス破棄を指示する(ステップD2)。ライセンス発行管理装置30のライセンス発行手段32は、ライセンス登録情報34及びライセンス発行状況管理テーブル35を更新し、ライセンス使用装置40−1に対するライセンス破棄を登録する(ステップD3)。このステップD3は、図9のステップC3と同様な処理である。
【0076】
オペレータ20は、ライセンス破棄の登録後、ライセンス発行管理装置30に、ライセンス使用装置40−2に対して、ライセンス使用装置40−1で破棄したライセンスについて、ライセンス登録を指示する(ステップD4)。ライセンス発行手段32は、ライセンス登録情報34を参照して総ライセンス数の枠内であることを確認した上で、ライセンス使用装置40−2に対してライセンス状態報告依頼を送信し、ライセンス取得を指示する(ステップD5)。このステップD5は、図9のステップC5と同様な処理である。
【0077】
以降、図4のステップA8〜A17と同様なシーケンスにより、ライセンス使用装置40−2にライセンスを登録し(ステップD6)、当該ライセンスに応じた機能を有効化する(ステップD7)。ライセンス発行手段32は、ライセンス使用装置40−2に対するライセンスの発行後、ライセンス登録情報34における対象装置にライセンス使用装置40−2を追加し、発行済みライセンス数を1つ増加する。また、ライセンス発行手段32は、ライセンス発行状況管理テーブル35におけるライセンス使用装置40−2の行に、発行したライセンスの有効期限を記録する。ここまでは、図9のステップC7までと同様である。
【0078】
ライセンス使用装置40−1は、ステップD1で登録された有効期限が近づくと、ライセンス使用装置40−1におけるライセンス使用状況とチャレンジとを含む有効期限延長要求を送信する(ステップD8)。このステップD8は、図8のステップB4に相当する。ライセンス発行管理装置30の有効期限延長手段33(図2)は、ライセンス発行状況管理テーブル35を参照して、ライセンス使用装置40-1に対するライセンス発行状況と、ライセンス使用装置40−1におけるライセンス使用状況とを比較する(ステップD9)。このステップD9は、図8のステップB5に相当する。
【0079】
ステップD8でライセンス使用装置40−1が送信したライセンス使用状況には、既にオペレータ20によって破棄が登録されたライセンスの有効期限が含まれている。ライセンス発行手段32は、ステップD3で、ライセンス登録情報34及びライセンス発行状況管理テーブル35から当該ライセンスをライセンス使用装置40−1に発行している旨の情報を既に削除している。このため、有効期限延長手段33は、ライセンス使用装置40−1がライセンスを違法に使用していると判断する(ステップD10)。
【0080】
有効期限延長手段33は、ライセンス使用装置40−1に対して、有効期限を延長したライセンスを発行しない。その結果、ライセンス使用装置40−1で使用中のライセンスは期限切れとなり、ライセンス使用装置40−1は、当該ライセンスに応じた機能を無効化する(ステップD11)。このように、ライセンスに有効期限を設け、ライセンス発行状況と、ライセンス使用状況とが一致するときに有効期限を延長することで、ライセンス使用装置が、使用中のライセンスの有効期限を超えてライセンスを使用することを防止できる。つまり、違法なライセンス使用を排除できる。
【0081】
本実施形態では、ライセンス発行管理装置30は、ライセンス発行に際して、ライセンス使用装置40におけるライセンス使用状況を取得し、ライセンス発行状況管理テーブル35を参照して、ライセンス使用装置に発行したライセンス発行状況と、取得したライセンス使用状況とが一致するか否かを判断する。ライセンス発行管理装置30は、両者が一致すると判断するときは、ライセンス使用装置40に対してライセンス情報を送信し、ライセンスを発行する。ライセンス発行に際して、ライセンス使用装置40におけるライセンスの使用状況をチェックした上でライセンスを発行することで、ライセンス使用装置40におけるライセンスの違法利用を抑止することができる。また、ライセンス発行時にライセンスの使用状況をチェックする方式であるため、ライセンス使用装置40におけるライセンス使用状況を常時監視する必要がない。
【0082】
本実施形態では、ライセンス発行手段32は、ライセンス情報本体に、ライセンス取得検証用のチャレンジを付加し、ライセンス使用装置40に送信する。ライセンス使用装置40は、チャレンジを確認し、ライセンスが自装置に向けて発行されたものであることを確認した上で、ライセンスを登録する。このようにすることで、例えば、ライセンス使用装置40−2に向けて発行されたライセンスを、ライセンス使用装置40−1で使用することができなくなり、ライセンスの違法な再利用を抑止できる。つまり、同一のライセンスを、他のライセンス使用装置40に違法に使いまわすことを防止できる。
【0083】
本実施形態では、ライセンス発行手段32は、ライセンス情報に、ライセンス発行管理装置の署名を付加する。ライセンス取得手段41は、受信したライセンス情報の署名が有効であるか否かを判断し、有効であると判断すると、ライセンス登録を行う。署名は、ライセンス発行管理装置30の秘密鍵で暗号化されるため、ライセンス発行管理装置30以外の装置は、ライセンス情報の署名部分を生成することはできない。このため、ライセンス登録可能なライセンスは、ライセンス発行管理装置30が発行したライセンスに限られ、ライセンスの違法な使い回しを防止できる。
【0084】
上記署名は、ライセンス情報の内容をハッシュ化した値をライセンス発行管理装置30の秘密鍵で暗号化したものとすることができる。ライセンス取得手段41は、受信したライセンス情報の署名部分がライセンス発行管理装置30の公開鍵で復号化でき、かつ、復号化内容が受信したライセンス情報の内容をハッシュ化した値に等しいとき、署名が有効であると判断する。例えば、ライセンス使用装置40−1に送信されたライセンス情報のチャレンジの部分を改ざんして、ライセンス使用装置40−2でライセンス登録を行う場合を考える。この場合、署名部分の復号化はできるものの、ライセンス情報のハッシュ値(ダイジェスト)と署名の復号化結果とは、一致しない。このため、ライセンス使用装置40−2にはライセンスが登録されない。署名を用い、ライセンス情報の内容に改ざんがないことが確認されたときにライセンス登録を行うことで、ライセンスの違法使用を防ぐことができる。
【0085】
本実施形態では、ライセンス発行手段32は、ライセンス使用装置40に対して、有効期限が設定されたライセンスを発行する。有効期限管理手段42は、ライセンス管理テーブル43を参照してライセンス使用状況を生成し、生成したライセンス使用状況をライセンス発行管理装置30に送信する。有効期限延長手段33は、ライセンス使用装置40からライセンス使用状況を取得し、ライセンス発行状況管理テーブル35を参照して、ライセンス使用装置40に発行したライセンスと、ライセンス使用状況とが一致するか否かを判断する。有効期限延長手段33は、両者が一致すると判断したとき、ライセンス使用装置40に対して、有効期限が延長されたライセンス情報を送信し、ライセンスの有効期限を延長する。
【0086】
ライセンスに有効期限を設定する構成を採用する場合、ライセンス発行管理装置30は、有効期限が切れる前のタイミングで、ライセンス使用装置40におけるライセンス使用状況をチェックすることができる。ライセンス発行管理装置30は、ライセンス発行状況とライセンス使用状況とが一致しないときは、ライセンスの有効期限を延長しないので、当該ライセンス使用装置40におけるライセンスは、有効期限の経過により、無効化される。従って、ライセンスの違法な使用を抑止することができる。また、ライセンス発行管理装置30とライセンス使用装置40とは、常時接続されている必要はなく、有効期限延長要求及びそれに対する応答の送受信の際に接続されていればよい。有効期限延長時(ライセンス継続時)に接続することで、違法なライセンス使用を防ぎつつ、ライセンス管理を実施できる。更に、有効期限の延長の際も、ライセンス取得時と同様に、チャレンジと署名を用いることで、異なるライセンス使用装置40での有効期限の延長や、ライセンスの偽造などを防ぐことができる。
【0087】
本実施形態では、ライセンス管理者10は、ライセンス発行管理装置30ごとに、オペレータ20(ライセンス発行管理装置30)に固有なライセンス情報を払い出す。ライセンス使用装置40に対するライセンス発行は、ライセンス発行管理装置30が行うため、ライセンス管理者10は、ライセンスの発行・管理を、ライセンス使用装置40ごとに行う必要がなくなり、ライセンス発行管理装置30ごとに管理するのみで済む。ライセンス管理者10は、ライセンス発行管理装置30に対するライセンスのみを管理すればよいので、ライセンス管理者10のライセンス管理負荷を軽減することができる。
【0088】
本実施形態では、ライセンス管理者10は、ライセンス発行管理装置30に対してライセンスを払い出しており、ライセンス使用装置40に固有の情報をキーとしてライセンスを発行していない。実際のライセンス使用装置40へのライセンス登録は、ライセンス発行管理装置30が行う。オペレータ20は、払い出されたライセンスの範囲内で、配下にあるライセンス使用装置40に対して、任意にライセンスを発行することができる。このため、例えば、あるライセンス使用装置40が故障したときでも、オペレータ20がライセンス発行管理装置30を操作することで、当該ライセンス使用装置40におけるライセンスを無効化し、交換装置のライセンスを有効化できる。本実施形態では、ライセンス使用装置40間でのライセンスの移管を、ライセンス管理者が介在することなく実施でき、ライセンス管理者10は、交換用予備装置のライセンスを発行しておく必要性がない。
【0089】
以上のように、本実施形態では、ライセンスを発行するライセンス管理者10の管理対象をライセンス発行管理装置30単位とした上で、ライセンス使用装置40に対するライセンスの発行は、ライセンス発行管理装置30が行う。ライセンス使用装置40は、公開鍵基盤を用いることで、ライセンス発行管理装置30から投入されるライセンスの有効性を自律的に確認し、ライセンス登録を行う。このようにすることで、ライセンス管理者10のライセンス管理負荷を軽減しつつ、ライセンス使用装置40における違法なライセンス使用を防ぐことができる。
【0090】
なお、公開鍵による暗号化・署名検証は、共有秘密鍵による暗号化・署名検証でもよい。また、ライセンス使用装置40が、ライセンス取得要求時又は有効期限延長要求にライセンス使用状況に付加するチャレンジは、ライセンス使用装置40に固有の情報や、時刻情報でもよい。ライセンス発行管理装置30は、チャレンジに、ライセンス使用装置40に固有の情報や時刻情報を用いる場合は、ライセンス使用装置40からチャレンジを取得することなく、発行するライセンス情報に、チャレンジを付加してもよい。
【0091】
ライセンス発行管理装置30と各ライセンス使用装置40とは、ネットワークで直接接続されている必要はなく、ライセンス発行管理装置30からライセンス使用装置40へのライセンス登録は、コマンド等を使用し、オペレータ20が各ライセンス使用装置40に直接に登録してもよい。また、各ライセンス使用装置40からの有効期限延長要求とチャレンジとは、アラームメッセージやコマンドリプライ等の手段で通知し、オペレータ20に、ライセンス発行管理装置30へ登録させてもよい。
【0092】
ライセンス使用状況については、ライセンス使用装置40における使用中の全てのライセンス使用状況が含まれている必要はなく、ライセンス取得対象、又は、有効期限延長対象のライセンスについての使用状況が含まれていればよい。例えば、ライセンス使用装置40は、機能Aについてのライセンスを取得する際には、機能Aについてのライセンスを使用しているか否かを、ライセンス使用状況に含めてライセンス発行管理装置30に送信すればよい。また、ライセンス使用装置40は、機能Aについてのライセンスの有効期限を延長する際には、現在使用している機能Aについてのライセンスの有効期限をライセンス使用状況に含めてライセンス発行管理装置30に送信すればよい。ライセンス発行管理装置30は、対象となるライセンスの使用状況が発行状況と一致するとき、ライセンスの発行又は有効期限の延長を行えばよい。
【0093】
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のライセンス発行管理システム、方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【図面の簡単な説明】
【0094】
【図1】本発明の一実施形態のライセンス発行管理システムを示すブロック図。
【図2】ライセンス発行管理装置の構成を示すブロック図。
【図3】ライセンス使用装置の構成を示すブロック図。
【図4】ライセンスの登録・発行時のシーケンスを示すシーケンス図。
【図5】ライセンス登録情報のデータ例を示す図。
【図6】ライセンス発行状況管理テーブルのデータ例を示す図。
【図7】ライセンス使用状況のデータ例を示す図。
【図8】有効期限延長の際のシーケンスを示すシーケンス図。
【図9】ライセンス移管のシーケンスを示すシーケンス図。
【図10】ライセンス移管の別例を示すシーケンス図。
【図11】特許文献1に記載のシステムを示すブロック図。
【符号の説明】
【0095】
10:ライセンス管理者
20:オペレータ
30:ライセンス発行管理装置
31:ライセンス登録手段
32:ライセンス発行手段
33:有効期限延長手段
34:ライセンス登録情報
35:ライセンス発行状況管理テーブル
40−1〜40−n:ライセンス使用装置
41:ライセンス取得手段
42:有効期限管理手段
43:ライセンス管理テーブル
【特許請求の範囲】
【請求項1】
ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行うライセンス発行管理装置を含むライセンス発行管理システムであって、
前記ライセンス使用装置におけるライセンス使用状況を取得し、ライセンス発行管理装置がライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断し、両者が一致すると判断すると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行するライセンス発行手段を備えるライセンス発行管理システム。
【請求項2】
前記ライセンス発行手段から送信されたライセンス情報を受信し、前記ライセンス使用装置内にライセンスを登録するライセンス取得手段を更に備える、請求項1に記載のライセンス発行管理システム。
【請求項3】
前記ライセンス取得手段は、ライセンス使用装置で使用しているライセンスを管理するライセンス管理テーブルを参照して前記ライセンス使用状況を生成し、該生成したライセンス使用状況を送信する、請求項2に記載のライセンス発行管理システム。
【請求項4】
前記ライセンス取得手段は、前記ライセンス使用状況に、ライセンス取得検証に用いるチャレンジを付加して送信し、前記ライセンス発行手段は、前記チャレンジを含むライセンス情報を送信する、請求項3に記載のライセンス発行管理システム。
【請求項5】
前記ライセンス取得手段は、前記ライセンス使用状況に付加したチャレンジと、前記受信したライセンス情報に含まれるチャレンジとを比較し、両者が一致すると、前記ライセンスを登録する、請求項4に記載のライセンス発行管理システム。
【請求項6】
前記ライセンス発行手段は、前記ライセンス情報に前記ライセンス発行管理装置の署名を付加し、前記ライセンス取得手段は、前記受信したライセンス情報の署名が有効であるか否かを判断し、署名が有効であると判断すると、前記ライセンスを登録する、請求項2乃至5の何れか一に記載のライセンス発行管理システム。
【請求項7】
前記ライセンス発行手段は、前記ライセンス情報の内容をハッシュ化した値を前記ライセンス発行管理装置の秘密鍵で暗号化したものを署名部分として前記ライセンス情報に付加し、前記ライセンス取得手段は、前記署名部分が前記ライセンス発行管理装置の公開鍵で復号化でき、かつ、復号化内容が前記受信したライセンス情報の内容をハッシュ化した値に等しいとき、署名が有効であると判断する、請求項6に記載のライセンス発行管理システム。
【請求項8】
前記ライセンス発行手段は、前記ライセンス使用装置に対して、有効期限が設定されたライセンスを発行する、請求項1乃至7の何れか一に記載のライセンス発行管理システム。
【請求項9】
前記ライセンスの有効期限が切れる前に、前記ライセンス使用装置におけるライセンス使用状況を取得し、前記ライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記ライセンス使用状況とが一致するか否かを判断し、両者が一致すると判断すると、前記ライセンス使用装置に対して有効期限が延長されたライセンス情報を送信し、ライセンスの有効期限を延長する有効期限延長手段を更に備える、請求項8に記載のライセンス発行管理システム。
【請求項10】
前記ライセンス使用装置に登録されたライセンスの有効期限管理を行い、前記登録されたライセンスの有効期限が切れる前に、前記ライセンス使用装置で使用しているライセンスを管理するライセンス管理テーブルを参照して前記ライセンス使用状況を生成し、該生成したライセンス使用状況を送信する有効期限管理手段を更に有する、請求項9に記載のライセンス発行管理システム。
【請求項11】
前記有効期限管理手段は、前記ライセンス使用状況に、ライセンス取得検証に用いるチャレンジを付加して送信し、前記有効期限延長手段は、前記チャレンジを含む有効期限が延長されたライセンス情報を送信する、請求項10に記載のライセンス発行管理システム。
【請求項12】
前記有効期限管理手段は、前記ライセンス使用状況に付加したチャレンジと、前記受信したライセンス情報に含まれるチャレンジとを比較し、両者が一致すると、前記ライセンスの有効期限を延長する、請求項11に記載のライセンス発行管理システム。
【請求項13】
前記有効期限延長手段は、前記ライセンス情報に前記ライセンス発行管理装置の署名を付加し、前記有効期限管理手段は、前記受信したライセンス情報の署名が有効であるか否かを判断し、署名が有効であると判断すると、前記ライセンスの有効期限を延長する、請求項9乃至12の何れか一に記載のライセンス発行管理システム。
【請求項14】
前記有効期限延長手段は、前記ライセンス情報の内容をハッシュ化した値を前記ライセンス発行管理装置の秘密鍵で暗号化したものを署名部分として前記ライセンス情報に付加し、前記有効期限管理手段は、前記署名部分を前記ライセンス発行管理装置の公開鍵で復号化でき、かつ、復号化内容が前記受信したライセンス情報の内容をハッシュ化した値に等しいとき、署名が有効であると判断する、請求項13に記載のライセンス発行管理システム。
【請求項15】
ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行うライセンス発行管理装置であって、
前記ライセンス使用装置におけるライセンス使用状況を取得し、ライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断し、両者が一致すると判断すると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行するライセンス発行手段を備えるライセンス発行管理装置。
【請求項16】
ライセンス発行管理装置からのライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置であって、
使用しているライセンスを管理するライセンス管理テーブルを参照して、自装置におけるライセンス使用状況を生成し、該生成したライセンス使用状況を含むライセンス取得要求を前記ライセンス発行管理装置に送信し、該ライセンス取得要求に対する応答として前記ライセンス発行管理装置からライセンス情報を受信し、自装置内にライセンスを登録するライセンス取得手段を備えるライセンス使用装置。
【請求項17】
ライセンス発行管理装置を用い、ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行う方法であって、
前記ライセンス発行管理装置が、前記ライセンス使用装置におけるライセンス使用状況を取得するステップと、
前記ライセンス発行管理装置が、ライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断するステップと、
前記ライセンス発行管理装置が、両者が一致すると判断すると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行するステップとを有するライセンス発行管理方法。
【請求項18】
ライセンス発行管理装置からのライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置がライセンスを取得する方法であって、
前記ライセンス使用装置が、使用しているライセンスを管理するライセンス管理テーブルを参照して、自装置におけるライセンス使用状況を生成するステップと、
前記ライセンス使用装置が、生成したライセンス使用状況を含むライセンス取得要求を前記ライセンス発行管理装置に送信するステップと、
前記ライセンス使用装置が、前記送信したライセンス取得要求に対する応答として、前記ライセンス発行管理装置からライセンス情報を受信し、自装置内にライセンスを登録するステップとを有するライセンス取得方法。
【請求項19】
ライセンス発行管理装置に、ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行う処理を実行させるプログラムであって、前記ライセンス発行管理装置に、
前記ライセンス使用装置におけるライセンス使用状況を取得する処理と、
ライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断する処理と、
両者が一致すると判断されると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行する処理とを実行させるプログラム。
【請求項20】
ライセンス発行管理装置からのライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に、ライセンスを取得する処理を実行させるプログラムであって、前記ライセンス使用装置に、
前記ライセンス使用装置が使用しているライセンスを管理するライセンス管理テーブルを参照して、前記ライセンス使用装置におけるライセンス使用状況を生成する処理と、
生成したライセンス使用状況を含むライセンス取得要求を前記ライセンス発行管理装置に送信する処理と、
前記送信したライセンス取得要求に対する応答として、前記ライセンス発行管理装置からライセンス情報を受信し、前記ライセンス使用装置内にライセンスを登録する処理とを実行させるプログラム。
【請求項1】
ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行うライセンス発行管理装置を含むライセンス発行管理システムであって、
前記ライセンス使用装置におけるライセンス使用状況を取得し、ライセンス発行管理装置がライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断し、両者が一致すると判断すると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行するライセンス発行手段を備えるライセンス発行管理システム。
【請求項2】
前記ライセンス発行手段から送信されたライセンス情報を受信し、前記ライセンス使用装置内にライセンスを登録するライセンス取得手段を更に備える、請求項1に記載のライセンス発行管理システム。
【請求項3】
前記ライセンス取得手段は、ライセンス使用装置で使用しているライセンスを管理するライセンス管理テーブルを参照して前記ライセンス使用状況を生成し、該生成したライセンス使用状況を送信する、請求項2に記載のライセンス発行管理システム。
【請求項4】
前記ライセンス取得手段は、前記ライセンス使用状況に、ライセンス取得検証に用いるチャレンジを付加して送信し、前記ライセンス発行手段は、前記チャレンジを含むライセンス情報を送信する、請求項3に記載のライセンス発行管理システム。
【請求項5】
前記ライセンス取得手段は、前記ライセンス使用状況に付加したチャレンジと、前記受信したライセンス情報に含まれるチャレンジとを比較し、両者が一致すると、前記ライセンスを登録する、請求項4に記載のライセンス発行管理システム。
【請求項6】
前記ライセンス発行手段は、前記ライセンス情報に前記ライセンス発行管理装置の署名を付加し、前記ライセンス取得手段は、前記受信したライセンス情報の署名が有効であるか否かを判断し、署名が有効であると判断すると、前記ライセンスを登録する、請求項2乃至5の何れか一に記載のライセンス発行管理システム。
【請求項7】
前記ライセンス発行手段は、前記ライセンス情報の内容をハッシュ化した値を前記ライセンス発行管理装置の秘密鍵で暗号化したものを署名部分として前記ライセンス情報に付加し、前記ライセンス取得手段は、前記署名部分が前記ライセンス発行管理装置の公開鍵で復号化でき、かつ、復号化内容が前記受信したライセンス情報の内容をハッシュ化した値に等しいとき、署名が有効であると判断する、請求項6に記載のライセンス発行管理システム。
【請求項8】
前記ライセンス発行手段は、前記ライセンス使用装置に対して、有効期限が設定されたライセンスを発行する、請求項1乃至7の何れか一に記載のライセンス発行管理システム。
【請求項9】
前記ライセンスの有効期限が切れる前に、前記ライセンス使用装置におけるライセンス使用状況を取得し、前記ライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記ライセンス使用状況とが一致するか否かを判断し、両者が一致すると判断すると、前記ライセンス使用装置に対して有効期限が延長されたライセンス情報を送信し、ライセンスの有効期限を延長する有効期限延長手段を更に備える、請求項8に記載のライセンス発行管理システム。
【請求項10】
前記ライセンス使用装置に登録されたライセンスの有効期限管理を行い、前記登録されたライセンスの有効期限が切れる前に、前記ライセンス使用装置で使用しているライセンスを管理するライセンス管理テーブルを参照して前記ライセンス使用状況を生成し、該生成したライセンス使用状況を送信する有効期限管理手段を更に有する、請求項9に記載のライセンス発行管理システム。
【請求項11】
前記有効期限管理手段は、前記ライセンス使用状況に、ライセンス取得検証に用いるチャレンジを付加して送信し、前記有効期限延長手段は、前記チャレンジを含む有効期限が延長されたライセンス情報を送信する、請求項10に記載のライセンス発行管理システム。
【請求項12】
前記有効期限管理手段は、前記ライセンス使用状況に付加したチャレンジと、前記受信したライセンス情報に含まれるチャレンジとを比較し、両者が一致すると、前記ライセンスの有効期限を延長する、請求項11に記載のライセンス発行管理システム。
【請求項13】
前記有効期限延長手段は、前記ライセンス情報に前記ライセンス発行管理装置の署名を付加し、前記有効期限管理手段は、前記受信したライセンス情報の署名が有効であるか否かを判断し、署名が有効であると判断すると、前記ライセンスの有効期限を延長する、請求項9乃至12の何れか一に記載のライセンス発行管理システム。
【請求項14】
前記有効期限延長手段は、前記ライセンス情報の内容をハッシュ化した値を前記ライセンス発行管理装置の秘密鍵で暗号化したものを署名部分として前記ライセンス情報に付加し、前記有効期限管理手段は、前記署名部分を前記ライセンス発行管理装置の公開鍵で復号化でき、かつ、復号化内容が前記受信したライセンス情報の内容をハッシュ化した値に等しいとき、署名が有効であると判断する、請求項13に記載のライセンス発行管理システム。
【請求項15】
ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行うライセンス発行管理装置であって、
前記ライセンス使用装置におけるライセンス使用状況を取得し、ライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断し、両者が一致すると判断すると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行するライセンス発行手段を備えるライセンス発行管理装置。
【請求項16】
ライセンス発行管理装置からのライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置であって、
使用しているライセンスを管理するライセンス管理テーブルを参照して、自装置におけるライセンス使用状況を生成し、該生成したライセンス使用状況を含むライセンス取得要求を前記ライセンス発行管理装置に送信し、該ライセンス取得要求に対する応答として前記ライセンス発行管理装置からライセンス情報を受信し、自装置内にライセンスを登録するライセンス取得手段を備えるライセンス使用装置。
【請求項17】
ライセンス発行管理装置を用い、ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行う方法であって、
前記ライセンス発行管理装置が、前記ライセンス使用装置におけるライセンス使用状況を取得するステップと、
前記ライセンス発行管理装置が、ライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断するステップと、
前記ライセンス発行管理装置が、両者が一致すると判断すると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行するステップとを有するライセンス発行管理方法。
【請求項18】
ライセンス発行管理装置からのライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置がライセンスを取得する方法であって、
前記ライセンス使用装置が、使用しているライセンスを管理するライセンス管理テーブルを参照して、自装置におけるライセンス使用状況を生成するステップと、
前記ライセンス使用装置が、生成したライセンス使用状況を含むライセンス取得要求を前記ライセンス発行管理装置に送信するステップと、
前記ライセンス使用装置が、前記送信したライセンス取得要求に対する応答として、前記ライセンス発行管理装置からライセンス情報を受信し、自装置内にライセンスを登録するステップとを有するライセンス取得方法。
【請求項19】
ライセンス発行管理装置に、ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行う処理を実行させるプログラムであって、前記ライセンス発行管理装置に、
前記ライセンス使用装置におけるライセンス使用状況を取得する処理と、
ライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断する処理と、
両者が一致すると判断されると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行する処理とを実行させるプログラム。
【請求項20】
ライセンス発行管理装置からのライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に、ライセンスを取得する処理を実行させるプログラムであって、前記ライセンス使用装置に、
前記ライセンス使用装置が使用しているライセンスを管理するライセンス管理テーブルを参照して、前記ライセンス使用装置におけるライセンス使用状況を生成する処理と、
生成したライセンス使用状況を含むライセンス取得要求を前記ライセンス発行管理装置に送信する処理と、
前記送信したライセンス取得要求に対する応答として、前記ライセンス発行管理装置からライセンス情報を受信し、前記ライセンス使用装置内にライセンスを登録する処理とを実行させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2010−15410(P2010−15410A)
【公開日】平成22年1月21日(2010.1.21)
【国際特許分類】
【出願番号】特願2008−175210(P2008−175210)
【出願日】平成20年7月4日(2008.7.4)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
【公開日】平成22年1月21日(2010.1.21)
【国際特許分類】
【出願日】平成20年7月4日(2008.7.4)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
[ Back to top ]