(57)【要約】【課題】ライセンス不正使用をしている装置に対するライセンス発行を抑制できるライセンス発行管理システムを提供する。【解決手段】ライセンス発行管理装置３０は、ライセンス使用装置４０におけるライセンス使用状況を取得する。ライセンス発行管理装置３０は、ライセンス使用装置４０に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、ライセンス使用装置４０に発行したライセンスと、取得したライセンス使用状況とが一致するか否かを判断する。ライセンス発行管理装置３０は、両者が一致すると判断すると、ライセンス使用装置４０に対してライセンス情報を送信し、ライセンスを発行する。【選択図】図１
2010015410.tif 000002
【特許請求の範囲】
【請求項１】
ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行うライセンス発行管理装置を含むライセンス発行管理システムであって、
前記ライセンス使用装置におけるライセンス使用状況を取得し、ライセンス発行管理装置がライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断し、両者が一致すると判断すると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行するライセンス発行手段を備えるライセンス発行管理システム。
【請求項２】
前記ライセンス発行手段から送信されたライセンス情報を受信し、前記ライセンス使用装置内にライセンスを登録するライセンス取得手段を更に備える、請求項１に記載のライセンス発行管理システム。
【請求項３】
前記ライセンス取得手段は、ライセンス使用装置で使用しているライセンスを管理するライセンス管理テーブルを参照して前記ライセンス使用状況を生成し、該生成したライセンス使用状況を送信する、請求項２に記載のライセンス発行管理システム。
【請求項４】
前記ライセンス取得手段は、前記ライセンス使用状況に、ライセンス取得検証に用いるチャレンジを付加して送信し、前記ライセンス発行手段は、前記チャレンジを含むライセンス情報を送信する、請求項３に記載のライセンス発行管理システム。
【請求項５】
前記ライセンス取得手段は、前記ライセンス使用状況に付加したチャレンジと、前記受信したライセンス情報に含まれるチャレンジとを比較し、両者が一致すると、前記ライセンスを登録する、請求項４に記載のライセンス発行管理システム。
【請求項６】
前記ライセンス発行手段は、前記ライセンス情報に前記ライセンス発行管理装置の署名を付加し、前記ライセンス取得手段は、前記受信したライセンス情報の署名が有効であるか否かを判断し、署名が有効であると判断すると、前記ライセンスを登録する、請求項２乃至５の何れか一に記載のライセンス発行管理システム。
【請求項７】
前記ライセンス発行手段は、前記ライセンス情報の内容をハッシュ化した値を前記ライセンス発行管理装置の秘密鍵で暗号化したものを署名部分として前記ライセンス情報に付加し、前記ライセンス取得手段は、前記署名部分が前記ライセンス発行管理装置の公開鍵で復号化でき、かつ、復号化内容が前記受信したライセンス情報の内容をハッシュ化した値に等しいとき、署名が有効であると判断する、請求項６に記載のライセンス発行管理システム。
【請求項８】
前記ライセンス発行手段は、前記ライセンス使用装置に対して、有効期限が設定されたライセンスを発行する、請求項１乃至７の何れか一に記載のライセンス発行管理システム。
【請求項９】
前記ライセンスの有効期限が切れる前に、前記ライセンス使用装置におけるライセンス使用状況を取得し、前記ライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記ライセンス使用状況とが一致するか否かを判断し、両者が一致すると判断すると、前記ライセンス使用装置に対して有効期限が延長されたライセンス情報を送信し、ライセンスの有効期限を延長する有効期限延長手段を更に備える、請求項８に記載のライセンス発行管理システム。
【請求項１０】
前記ライセンス使用装置に登録されたライセンスの有効期限管理を行い、前記登録されたライセンスの有効期限が切れる前に、前記ライセンス使用装置で使用しているライセンスを管理するライセンス管理テーブルを参照して前記ライセンス使用状況を生成し、該生成したライセンス使用状況を送信する有効期限管理手段を更に有する、請求項９に記載のライセンス発行管理システム。
【請求項１１】
前記有効期限管理手段は、前記ライセンス使用状況に、ライセンス取得検証に用いるチャレンジを付加して送信し、前記有効期限延長手段は、前記チャレンジを含む有効期限が延長されたライセンス情報を送信する、請求項１０に記載のライセンス発行管理システム。
【請求項１２】
前記有効期限管理手段は、前記ライセンス使用状況に付加したチャレンジと、前記受信したライセンス情報に含まれるチャレンジとを比較し、両者が一致すると、前記ライセンスの有効期限を延長する、請求項１１に記載のライセンス発行管理システム。
【請求項１３】
前記有効期限延長手段は、前記ライセンス情報に前記ライセンス発行管理装置の署名を付加し、前記有効期限管理手段は、前記受信したライセンス情報の署名が有効であるか否かを判断し、署名が有効であると判断すると、前記ライセンスの有効期限を延長する、請求項９乃至１２の何れか一に記載のライセンス発行管理システム。
【請求項１４】
前記有効期限延長手段は、前記ライセンス情報の内容をハッシュ化した値を前記ライセンス発行管理装置の秘密鍵で暗号化したものを署名部分として前記ライセンス情報に付加し、前記有効期限管理手段は、前記署名部分を前記ライセンス発行管理装置の公開鍵で復号化でき、かつ、復号化内容が前記受信したライセンス情報の内容をハッシュ化した値に等しいとき、署名が有効であると判断する、請求項１３に記載のライセンス発行管理システム。
【請求項１５】
ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行うライセンス発行管理装置であって、
前記ライセンス使用装置におけるライセンス使用状況を取得し、ライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断し、両者が一致すると判断すると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行するライセンス発行手段を備えるライセンス発行管理装置。
【請求項１６】
ライセンス発行管理装置からのライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置であって、
使用しているライセンスを管理するライセンス管理テーブルを参照して、自装置におけるライセンス使用状況を生成し、該生成したライセンス使用状況を含むライセンス取得要求を前記ライセンス発行管理装置に送信し、該ライセンス取得要求に対する応答として前記ライセンス発行管理装置からライセンス情報を受信し、自装置内にライセンスを登録するライセンス取得手段を備えるライセンス使用装置。
【請求項１７】
ライセンス発行管理装置を用い、ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行う方法であって、
前記ライセンス発行管理装置が、前記ライセンス使用装置におけるライセンス使用状況を取得するステップと、
前記ライセンス発行管理装置が、ライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断するステップと、
前記ライセンス発行管理装置が、両者が一致すると判断すると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行するステップとを有するライセンス発行管理方法。
【請求項１８】
ライセンス発行管理装置からのライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置がライセンスを取得する方法であって、
前記ライセンス使用装置が、使用しているライセンスを管理するライセンス管理テーブルを参照して、自装置におけるライセンス使用状況を生成するステップと、
前記ライセンス使用装置が、生成したライセンス使用状況を含むライセンス取得要求を前記ライセンス発行管理装置に送信するステップと、
前記ライセンス使用装置が、前記送信したライセンス取得要求に対する応答として、前記ライセンス発行管理装置からライセンス情報を受信し、自装置内にライセンスを登録するステップとを有するライセンス取得方法。
【請求項１９】
ライセンス発行管理装置に、ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行う処理を実行させるプログラムであって、前記ライセンス発行管理装置に、
前記ライセンス使用装置におけるライセンス使用状況を取得する処理と、
ライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断する処理と、
両者が一致すると判断されると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行する処理とを実行させるプログラム。
【請求項２０】
ライセンス発行管理装置からのライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に、ライセンスを取得する処理を実行させるプログラムであって、前記ライセンス使用装置に、
前記ライセンス使用装置が使用しているライセンスを管理するライセンス管理テーブルを参照して、前記ライセンス使用装置におけるライセンス使用状況を生成する処理と、
生成したライセンス使用状況を含むライセンス取得要求を前記ライセンス発行管理装置に送信する処理と、
前記送信したライセンス取得要求に対する応答として、前記ライセンス発行管理装置からライセンス情報を受信し、前記ライセンス使用装置内にライセンスを登録する処理とを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ライセンス発行管理システム、方法、及び、プログラムに関し、更に詳しくは、ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行うライセンス発行管理システム、方法、及び、プログラムに関する。
【背景技術】
【０００２】
取得したライセンスに応じて、所定の機能を有効化する装置やソフトウェアがある。このような装置やソフトウェアに対するライセンス管理に関する技術として、特許文献１に記載の技術がある。図１１に、特許文献１におけるライセンス管理システムを示す。監視装置２０２は、監視ネットワークを介して、ネットワークＡとネットワークＢとに接続されている。ネットワークＡは、ノードＡ、ノードＢ、ノードＣを有し、ネットワークＢは、ノードＤ、ノードＥ、ノードＦを有している。
【０００３】
監視装置２０２は、各ネットワーク内のノードのうちの１つを、マスターノードとする。図１１の例では、ノードＡを、ネットワークＡ内のマスターノードとし、ノードＥを、ネットワークＢ内のマスターノードとしている。各マスターノードは、ネットワーク内の他のノードに対するライセンスの発行・管理を行う。つまり、マスターノードＡは、ノードＢ、ノードＣに対するライセンスの発行・管理を行い、マスターノードＥは、ノードＤ、ノードＦに対するライセンスの発行・管理を行う。
【０００４】
以下、ネットワークＡにおけるライセンスの発行・管理について説明する。マスターノードＡは、ライセンスキー及び自ノードＩＤを、監視装置２０２に通知する。監視装置２０２は、通知された内容と、マスターノード登録時の管理テーブルとを比較し、マスターノードＡが、ライセンスキーの管理を行うノードとして登録されていることを確認する。その後、監視装置２０２は、マスターノードＡに、確認レスポンスを送信する。マスターノードＡは、この確認レスポンスをもって、ライセンスの有効性を確認する。マスターノードＡは、確認レスポンスを３回以上受信できないときは、マスターノードＡの該当管理上からライセンスを削除する。
【０００５】
ライセンスを必要とするノード、例えばノードＢは、マスターノードＡに、自ノードＩＤとライセンスキーとを通知して、ライセンスの配布を要求する。マスターノードＡは、使用ライセンスキーの数を確認し、ライセンス数の範囲内であるか否かを判断する。マスターノードＡは、ライセンス数の範囲内であれば、ノードＢに、ライセンス許可を通知する。マスターノードＡは、ライセンスを許可すると、ライセンスの管理テーブルに、ライセンスを使用するノードＢのＩＤを登録する。
【０００６】
ノードＢは、一定間隔で、マスターノードＡに、ライセンスキーと自ノードＩＤとを含むライセンス使用確認を通知する。マスターノードＡは、ライセンス使用確認を通知したノードが、ライセンス管理テーブルに登録されているか否かを調べる。マスターノードＡは、ライセンス管理テーブルにノードＢが登録されているときは、ノードＢに確認レスポンスを返送する。マスターノードＡは、ライセンス管理テーブルにノードＢが登録されていないときは、確認レスポンスを返送しない。ノードＢは、確認レスポンスを３回以上受信できないときは、ライセンス登録を破棄し、該当ライセンス機能の使用を制限する。
【０００７】
【特許文献１】特開２００６−１５５３８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
特許文献１に記載のライセンス管理システムでは、ライセンス数の管理を監視装置２０２とマスターノードとの間で行い、ライセンス配布の管理を、マスターノードとライセンスを必要とするノードとの間で行う。このようにすることで、各機器のＩＤをキーに、機器ごとにライセンスを発行し、管理する必要がなくなる。しかし、特許文献１では、ライセンス発行時に、ライセンスを要求したノードのライセンス使用状況をチェックしていない。このため、ライセンスを不正使用しているノードに対して、ライセンスを発行することがあるという問題がある。
【０００９】
本発明は、ライセンス不正使用をしている装置に対するライセンス発行を抑制できるライセンス発行管理システム、方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明のライセンス発行管理システムは、ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行うライセンス発行管理装置を含むライセンス発行管理システムであって、前記ライセンス使用装置におけるライセンス使用状況を取得し、ライセンス発行管理装置がライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断し、両者が一致すると判断すると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行するライセンス発行手段を備えることを特徴とする。
【００１１】
本発明のライセンス発行管理装置は、ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行うライセンス発行管理装置であって、前記ライセンス使用装置におけるライセンス使用状況を取得し、ライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断し、両者が一致すると判断すると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行するライセンス発行手段を備えることを特徴とする。
【００１２】
本発明のライセンス使用装置は、ライセンス発行管理装置からのライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置であって、使用しているライセンスを管理するライセンス管理テーブルを参照して、自装置におけるライセンス使用状況を生成し、該生成したライセンス使用状況を含むライセンス取得要求を前記ライセンス発行管理装置に送信し、該ライセンス取得要求に対する応答として前記ライセンス発行管理装置からライセンス情報を受信し、自装置内にライセンスを登録するライセンス取得手段を備えることを特徴とする。
【００１３】
本発明のライセンス発行管理方法は、ライセンス発行管理装置を用い、ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行う方法であって、前記ライセンス発行管理装置が、前記ライセンス使用装置におけるライセンス使用状況を取得するステップと、前記ライセンス発行管理装置が、ライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断するステップと、前記ライセンス発行管理装置が、両者が一致すると判断すると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行するステップとを有することを特徴とする。
【００１４】
本発明のライセンス取得方法は、ライセンス発行管理装置からのライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置がライセンスを取得する方法であって、前記ライセンス使用装置が、使用しているライセンスを管理するライセンス管理テーブルを参照して、自装置におけるライセンス使用状況を生成するステップと、前記ライセンス使用装置が、生成したライセンス使用状況を含むライセンス取得要求を前記ライセンス発行管理装置に送信するステップと、前記ライセンス使用装置が、前記送信したライセンス取得要求に対する応答として、前記ライセンス発行管理装置からライセンス情報を受信し、自装置内にライセンスを登録するステップとを有することを特徴とする。
【００１５】
本発明のプログラムは、ライセンス発行管理装置に、ライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に対するライセンスの発行管理を行う処理を実行させるプログラムであって、前記ライセンス発行管理装置に、前記ライセンス使用装置におけるライセンス使用状況を取得する処理と、ライセンス使用装置に対して発行したライセンスの状況を管理するライセンス発行状況管理テーブルを参照して、前記ライセンス使用装置に発行したライセンスと、前記取得したライセンス使用状況とが一致するか否かを判断する処理と、両者が一致すると判断されると、前記ライセンス使用装置に対してライセンス情報を送信し、ライセンスを発行する処理とを実行させることを特徴とする。
【００１６】
本発明のプログラムは、ライセンス発行管理装置からのライセンス発行を受けてライセンスに応じた機能の有効化を行うライセンス使用装置に、ライセンスを取得する処理を実行させるプログラムであって、前記ライセンス使用装置に、前記ライセンス使用装置が使用しているライセンスを管理するライセンス管理テーブルを参照して、前記ライセンス使用装置におけるライセンス使用状況を生成する処理と、生成したライセンス使用状況を含むライセンス取得要求を前記ライセンス発行管理装置に送信する処理と、前記送信したライセンス取得要求に対する応答として、前記ライセンス発行管理装置からライセンス情報を受信し、前記ライセンス使用装置内にライセンスを登録する処理とを実行させることを特徴とする。
【発明の効果】
【００１７】
本発明のライセンス発行管理システム、方法、及び、プログラムは、ライセンス不正使用をしている装置に対するライセンス発行を抑制することができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図１は、本発明の一実施形態のライセンス発行管理システムを示している。ライセンス発行管理システムは、ライセンス発行管理装置３０と、ライセンス使用装置４０−１〜４０−ｎ（ｎは２以上の整数）とを有する。各ライセンス使用装置４０は、ライセンスに応じて機能を有効化する装置、又は、ソフトウェアである。ライセンス発行管理装置３０は、ライセンス使用装置４０に対して、ライセンスの発行・管理を行う。ライセンス発行管理装置３０及び各ライセンス使用装置４０には、それぞれ、所定のプログラムを動作させることで所定の機能を実現するコンピュータシステムを用いることができる。
【００１９】
ライセンス管理者１０は、装置開発者などであり、ライセンスを販売・管理する。オペレータ２０は、ライセンス管理者１０に対価を支払い、ライセンスに応じた機能を有効化するためのライセンス発行を依頼する。ライセンス管理者１０は、ライセンス発行の依頼を受けると、ライセンス発行管理装置３０に対してライセンスを払い出す。オペレータ２０は、ライセンス発行管理装置３０にライセンスを登録する。ライセンス発行管理装置３０は、登録したライセンスの範囲内で、ライセンス使用装置４０に対してライセンスを発行する。各ライセンス使用装置４０は、ライセンス発行管理装置３０からライセンスが与えられると、ライセンスに応じた機能を有効化する。
【００２０】
ライセンス管理者１０は、オペレータ（ライセンス購入者）２０に、購入ライセンスに応じたライセンスを払い出す。このとき、ライセンス管理者１０は、ライセンスを、ライセンス発行管理装置３０の公開鍵を用いて暗号化する。オペレータ２０は、ライセンス管理者１０が払い出したライセンスを、ライセンス発行管理装置３０の秘密鍵を用いて復号化し、ライセンス発行管理装置３０内に登録する。オペレータ２０が払い出したライセンスを正しく復号化できるのは、対応する秘密鍵を有するライセンス発行管理装置３０のみである。このため、ライセンス管理者１０が払い出したライセンスは、払い出し先のライセンス発行管理装置３０にのみ登録が可能である。つまり、払い出されたライセンスを、異なるライセンス発行管理装置３０へ投入することを防ぐことができる。
【００２１】
オペレータ２０は、ライセンス発行管理装置３０に対し、ライセンスの発行を指示する。また、オペレータ２０は、ライセンス発行管理装置３０に対して、ライセンス使用装置４０に対して発行していたライセンスの破棄を指示することができる。ライセンス発行管理装置３０は、各ライセンス使用装置４０に対して、どのライセンスを発行しているかを管理するライセンス発行状況管理テーブルを保持している。ライセンス発行管理装置３０は、ライセンス使用装置４０に対してライセンスを発行すると、ライセンス発行状況管理テーブルに、発行したライセンスに関する情報を登録する。また、ライセンス発行管理装置３０は、あるライセンス使用装置におけるライセンス破棄の指示を受けると、ライセンス発行状況管理テーブルから、当該ライセンス使用装置について、該当するライセンスに関する情報を削除する。
【００２２】
ライセンス使用装置４０は、ライセンス発行に際して、自身におけるライセンスの使用状況を調べ、ライセンス使用状況とチャレンジとを含むライセンス取得要求をライセンス発行管理装置３０に送信する。ライセンス発行管理装置３０は、ライセンス使用装置４０から受け取ったライセンス使用状況と、ライセンス発行状況管理テーブルとを比較し、ライセンス状態を検証する。ライセンス発行管理装置３０は、検証の結果、自身がライセンス使用装置４０に対して与えたライセンスと、ライセンス使用装置４０におけるライセンス使用状況とが一致しないときは、ライセンス使用装置４０にて、ライセンスの不正使用があったものと判断して、ライセンスの発行は行わない。
【００２３】
ライセンス発行管理装置３０は、自身がライセンス使用装置４０に対して与えたライセンスと、ライセンス使用装置４０におけるライセンス使用状況とが一致するときは、ライセンス使用装置４０にライセンス情報を送信し、ライセンスを発行する。このとき、ライセンス発行管理装置３０は、ライセンス情報に、ライセンス発行管理装置３０の署名を付加する。この署名は、ライセンス使用装置４０側で、ライセンス情報が、ライセンス発行管理装置３０から送信された情報であることを確認する目的で使用される。また、署名は、送信されたライセンス情報に改ざんがないことを確認する目的で使用される。
【００２４】
ライセンス使用装置４０は、ライセンス情報を受信すると、ライセンス情報の署名を検証する。ライセンス使用装置４０は、署名を検証することで、ライセンス情報の送信者がライセンス発行管理装置３０であり、かつ、ライセンス情報が改ざんされていないことを確認する。ライセンス使用装置４０は、署名が有効である、つまり、受信したライセンス情報の送信者がライセンス発行管理装置３０であり、かつ、ライセンス情報に改ざんがないことを確認すると、ライセンス使用装置内にライセンス情報を登録する。ライセンス使用装置４０は、登録したライセンスに応じた機能を有効化する。
【００２５】
ライセンス発行管理装置３０は、ライセンス使用装置４０に発行するライセンスに対して、有効期限を設定することができる。ライセンス使用装置４０は、ライセンスの有効期限が切れる前に、ライセンス発行管理装置３０に対して、ライセンス使用状況を送信し、有効期限の延長を要求する。ライセンス発行管理装置３０は、ライセンス発行状況管理テーブルを参照して、自身が管理するライセンス状態と、ライセンス使用状況とが一致するか否かを判断する。ライセンス発行管理装置３０は、両者が一致すると判断すると、新たな有効期限が設定された、言い換えると、延長された有効期限が設定されたライセンスを発行する。
【００２６】
ライセンス発行管理装置３０は、有効期限が延長されたライセンス情報に署名を付加し、ライセンス使用装置４０に送信する。ライセンス使用装置４０は、受信したライセンス情報の署名の有効性を検証する。ライセンス使用装置４０は、署名が有効であると判断すると、有効期限が延長されたライセンス情報を登録する。ライセンスが登録された場合、ライセンス使用装置４０は、引き続き、ライセンスにより有効化される機能を使用することができる。ライセンス使用装置４０は、有効期限が来るたびに、ライセンス使用状況をライセンス発行管理装置３０に送信する。このため、ライセンス発行管理装置３０は、ライセンス発行後のライセンス使用装置４０におけるライセンス使用状況を、定期的に確認できる。
【００２７】
図２に、ライセンス発行管理装置３０の構成を示す。ライセンス発行管理装置３０は、ライセンス登録手段３１、ライセンス発行手段３２、及び、有効期限延長手段３３を有する。また、ライセンス発行管理装置３０は、ライセンス登録情報３４、及び、ライセンス発行状況管理テーブル３５を保持する。ライセンス登録情報３４は、ライセンス発行管理装置３０に登録されたライセンスの情報を記録する。また、ライセンス登録情報３４は、登録されたライセンスごとに、現在ライセンス使用装置４０に対して発行しているライセンス数を管理する情報を記録する。ライセンス発行状況管理テーブル３５は、どのライセンス使用装置４０に、どのライセンスを発行したかを管理する情報を記録する。
【００２８】
なお、本実施形態では、便宜上、ライセンス登録情報３４と、ライセンス発行状況管理テーブル３５とを別個の情報として取り扱うが、ライセンス登録情報３４と、ライセンス発行状況管理テーブル３５とは、別個の情報である必要はない。ライセンス登録情報とライセンス発行状況管理テーブルとを別個の情報とするのに代えて、発行済みライセンス数の管理と、どのライセンス使用装置にライセンスを発行したかを、一元的に管理してもよい。
【００２９】
オペレータ２０は、ライセンス管理者１０から払い出されたライセンスを、ライセンス登録手段３１に入力する。このライセンスは、ライセンス発行管理装置３０の公開鍵で暗号化されている。ライセンス登録手段３１は、暗号化されたライセンスを、ライセンス発行管理装置３０の秘密鍵で復号化し、ライセンス発行管理装置３０内に登録する。ライセンス登録手段３１は、ライセンスを登録すると、ライセンス登録情報３４に、登録したライセンスに関する情報、例えば、ライセンスにより有効化する機能、ライセンス使用装置４０に対して同時に発行可能な総ライセンス数などを追加記録する。
【００３０】
オペレータ２０は、ライセンス発行手段３２に対し、ライセンス発行を指示する。ライセンス発行先のライセンス使用装置４０は、オペレータ２０が任意に指定できる。ライセンス発行手段３２は、ライセンス発行が指示されると、ライセンス発行先のライセンス使用装置４０に対して、ライセンス取得要求の送信を指示する。ライセンス発行手段３２は、ライセンス取得要求の送信の指示後、ライセンス使用装置４０から、ライセンス使用装置４０における現在のライセンスの使用状況とチャレンジとを含むライセンス取得要求を受信する。ここで、チャレンジは、ライセンス使用装置４０がライセンス発行を受ける際に、そのライセンスが、自身が送信したライセンス取得要求に対応して発行されたライセンスであることを確認する際に使用されるものである。チャレンジには、ライセンス使用装置４０側で生成した乱数を用いることができる。
【００３１】
ライセンス発行手段３２は、ライセンス取得要求を受信すると、ライセンス発行状況管理テーブル３５を参照して、ライセンス取得要求を送信したライセンス使用装置４０について、ライセンス発行管理装置３０が発行しているライセンスを調べる。ライセンス発行手段３２は、ライセンス取得要求に含まれるライセンス使用状況と、ライセンス発行状況管理テーブル３５に記録された当該ライセンス使用装置へのライセンス発行状況とが一致するか否かを判断する。ライセンス発行手段３２は、両者が一致するときは、ライセンス使用装置４０におけるライセンスの使用が正当であると判断する。ライセンス発行手段３２は、両者が一致しないときは、ライセンス使用が不正であると判断する。ライセンス発行手段３２は、ライセンス使用が不正であると判断したときは、ライセンスを発行しない。
【００３２】
ライセンス発行手段３２は、ライセンス使用装置４０におけるライセンス使用が正当であるときは、ライセンス使用装置４０にライセンス情報を送信し、有効期限つきのライセンスを発行する。ライセンス発行手段３２は、ライセンス使用装置４０に送信するライセンス情報に、発行するライセンスの本体（ライセンス情報本体）と、ライセンス取得要求に含まれていたチャレンジとを含める。また、ライセンス発行手段３２は、ライセンス情報に、ライセンス発行管理装置３０の署名を付加する。署名には、「チャレンジ」と「ライセンス情報本体」とを合わせたものをハッシュ化した値を、ライセンス発行管理装置３０の秘密鍵を用いて暗号化したものを用いることができる。
【００３３】
ライセンス使用装置４０は、発行されたライセンスの有効期限が切れる前に、有効期限延長手段３３に対して、有効期限の延長を要求する。この有効期限の延長要求は、ライセンス取得要求に含まれる情報と同様な情報、すなわち、現在のライセンス使用状況とチャレンジとを含む。有効期限延長手段３３は、有効期限の延長要求を受信すると、ライセンス発行状況管理テーブル３５を参照して、ライセンス状態を確認する。ライセンス状態の確認は、ライセンス発行手段３２におけるライセンス状態の確認と同様な手法で行うことができる。
【００３４】
有効期限延長手段３３は、ライセンス状態の確認の結果、ライセンス使用装置４０におけるライセンス使用が正当であると判断すると、ライセンス使用装置４０に、有効期限が延長されたライセンス情報を送信し、ライセンス使用装置４０におけるライセンスの有効期限を延長する。このとき有効期限延長手段３３が送信するライセンス情報は、ライセンス発行手段３２が送信するライセンス情報と同様な情報、すなわち、ライセンス情報本体と、有効期限延長要求に含まれていたチャレンジと、署名部分とを含む。有効期限延長手段３３は、ライセンス使用装置におけるライセンス使用が不正であると判断したときは、有効期限を延長したライセンス情報の送信は行わず、有効期限を延長しない。
【００３５】
オペレータ２０は、特定のライセンス使用装置４０に対して発行したライセンスについて、その破棄を指示することができる。ライセンス発行手段３２は、オペレータがライセンス破棄を指示すると、ライセンス発行状況管理テーブル３５を更新して、該当するライセンス使用装置における該当ライセンスの使用状態を、ライセンス使用なしとする。また、ライセンス発行手段３２は、ライセンス登録情報３４を更新して、該当ライセンスの発行済みライセンス数（使用中のライセンス数）を、破棄したライセンス数分だけ減少させる。
【００３６】
図３は、ライセンス使用装置４０の構成を示している。ライセンス使用装置４０は、ライセンス取得手段４１と有効期限管理手段４２とを有する。また、ライセンス使用装置４０は、ライセンス管理テーブル４３を保持する。ライセンス管理テーブル４３は、現在ライセンス使用装置４０で使用しているライセンスに関する情報を記録する。より詳細には、ライセンス管理テーブル４３は、使用中のライセンスについて、各ライセンスの有効期限を記録する。
【００３７】
ライセンス取得手段４１は、ライセンス発行管理装置３０がライセンス取得要求の送信を指示すると、ライセンス管理テーブル４３を参照して、現在ライセンス使用装置４０で使用しているライセンスを調べ、ライセンス使用状況を作成する。ライセンス取得手段４１は、ライセンス使用状況にチャレンジを付加したライセンス取得要求を、ライセンス発行管理装置３０に送信する。ライセンス取得要求の送信は、オペレータ２０等の指示により、ライセンス使用装置４０側から自発的に行ってもよい。
【００３８】
ライセンス取得手段４１は、ライセンス取得要求の送信後、ライセンス発行管理装置３０から、送信したライセンス取得要求に対する応答としてライセンス情報を受信する。ライセンス取得手段４１は、ライセンス情報を受信すると、署名の有効性を検証し、ライセンス情報の送信元がライセンス発行管理装置３０であること、及び、ライセンス情報の内容に改ざんがないことを確認する。
【００３９】
署名の有効性の検証は、以下の手順で行う。ライセンス取得手段４１は、まず、ライセンス情報に含まれる署名部分をライセンス発行管理装置３０の公開鍵で復号化する。署名部分がライセンス発行管理装置３０の公開鍵で復号化できることで、ライセンス情報の送信元がライセンス発行管理装置３０であることが確認できる。次いで、ライセンス取得手段４１は、受信したライセンス情報本体とチャレンジとを合わせたもののハッシュ値を計算する。ライセンス取得手段４１は、署名部分の復号結果と、計算したハッシュ値とを比較し、両者が一致するか否かを判断する。両者が一致することで、ライセンス情報本体及びチャレンジに改ざんがないことが確認できる。
【００４０】
ライセンス取得手段４１は、署名部分がライセンス発行管理装置３０の公開鍵で復号化でき、かつ、署名部分の復号化結果と計算したハッシュ値とが一致するときは、署名が有効であると判断する。ライセンス取得手段４１は、それ以外のとき、つまり、署名部分がライセンス発行管理装置３０の公開鍵で復号化できないか、又は、署名部分の復号化結果が計算したハッシュ値に一致しないときは、署名は有効でないと判断する。ライセンス取得手段４１は、署名が有効でないと判断したときは、ライセンスの登録は行わない。
【００４１】
ライセンス取得手段４１は、署名が有効であると判断すると、受信したライセンス情報に含まれるチャレンジと、自身がライセンス取得要求に含めたチャレンジとが一致するか否かを判断する。ライセンス取得手段４１は、チャレンジが一致すると判断すると、ライセンス使用装置４０内に、ライセンス情報本体を格納する。その際、ライセンス取得手段４１は、ライセンス管理テーブル４３に、新たなエントリを生成し、生成したエントリに、格納したライセンスに関する情報を記録する。ライセンス使用装置４０は、格納したライセンスで有効化される機能を有効化する。ライセンス取得手段４１は、チャレンジが一致しないときは、ライセンスの登録は行わない。ライセンス発行管理装置３０でライセンス情報に署名とチャレンジとを付加し、ライセンス使用装置４０にてその有効性を確認することで、同一ライセンスの他装置への流用を制限できる。
【００４２】
有効期限管理手段４２は、ライセンスの有効期限を管理する。有効期限管理手段４２は、ライセンス管理テーブル４３を参照して、ライセンス使用装置４０内に登録された各ライセンスについて、現在の日付（日時）と、有効期限とを比較する。有効期限管理手段４２は、ライセンスの有効期限が切れる前に、ライセンス管理テーブル４３を参照して、現在ライセンス使用装置４０で使用しているライセンスを調べ、ライセンス使用状況を作成する。また、有効期限管理手段４２は、チャレンジを生成し、ライセンス使用状況にチャレンジを付加した有効期限延長要求を、ライセンス発行管理装置３０に送信する。
【００４３】
有効期限管理手段４２は、有効期限延長要求の送信後、ライセンス発行管理装置３０から、送信した有効期限延長要求に対する応答として、有効期限が延長されたライセンス情報を受信する。有効期限管理手段４２は、ライセンス情報を受信すると、署名の有効性を検証し、ライセンス情報の送信元がライセンス発行管理装置３０であること、及び、ライセンス情報の内容に改ざんがないことを確認する。この署名の検証は、ライセンス取得手段４１における署名の有効性検証と同様な手法で行うことができる。
【００４４】
有効期限管理手段４２は、署名が有効であると判断すると、受信したライセンス情報に含まれるチャレンジと、自身が有効期限延長要求に含めたチャレンジとが一致するか否かを判断する。有効期限管理手段４２は、チャレンジが一致すると判断すると、ライセンス使用装置４０内に、有効期限が延長されたライセンス情報本体を格納する。その際、有効期限管理手段４２は、ライセンス管理テーブル４３における当該ライセンスの有効期限を、延長された有効期限に書き換える。有効期限が延長されることで、ライセンス使用装置４０は、ライセンスに応じた機能を、継続して使用することができる。
【００４５】
有効期限管理手段４２は、署名が有効でない、又は、チャレンジが一致しないときは、有効期限の延長を行わない。有効期限が延長されない例としては、ライセンス発行後に、ライセンス発行管理装置３０で、当該ライセンスが破棄された場合などが考えられる。有効期限管理手段４２は、ライセンスの有効期限が満了すると、当該ライセンスに応じた機能を無効化する。
【００４６】
図４に、ライセンス登録及び発行時のシーケンスを示す。ライセンス管理者１０は、オペレータ２０のライセンス購入を受け、ライセンスを発行する（ステップＡ１）。ライセンス管理者１０は、発行したライセンスをライセンス発行管理装置３０の公開鍵で暗号化し（ステップＡ２）、オペレータ２０に送信する（ステップＡ３）。オペレータ２０は、ライセンス管理者１０からのライセンス発行を受けると、ライセンス発行管理装置３０に、ライセンスを登録する（ステップＡ４）。
【００４７】
ライセンス発行管理装置３０のライセンス登録手段３１（図２）は、ライセンスをライセンス発行管理装置３０の秘密鍵で復号化し、ライセンス発行管理装置３０内にライセンスを登録する（ステップＡ５）。ライセンス管理者１０が発行したライセンスは、ライセンス発行管理装置３０の公開鍵で暗号化されているので、当該ライセンスを復号化できるのは、ライセンス発行を受けるライセンス発行管理装置３０のみとなる。従って、オペレータ２０は、発行対象のライセンス発行管理装置３０以外のライセンス発行管理装置に、ライセンスを登録することはできない。ライセンス登録手段３１は、ライセンスを登録すると、ライセンス登録情報３４に新たなエントリを生成し、そのエントリに、登録したライセンスの情報を記録する（ステップＡ６）。
【００４８】
図５に、ライセンス登録情報３４のデータ例を示す。ライセンス登録情報３４は、ライセンス発行により有効化する機能、有効期限、総ライセンス数、対象装置、及び、発行済みライセンス数を含む。ここでの有効期限は、個々のライセンス使用装置４０に対して設定する有効期限ではなく、ライセンスの最終的な有効期限である。ライセンス数は、ライセンス発行管理装置３０がライセンス使用装置４０に対して同時に発行することができるライセンス数の上限である。対象装置には、ライセンスを発行しているライセンス使用装置４０の識別子を記録する。発行済みライセンス数には、発行しているライセンスの総数を記録する。
【００４９】
図４に戻り、オペレータ２０は、任意のライセンス使用装置４０を指定して、当該ライセンス使用装置４０に対して、ライセンス発行を指示する。ライセンス発行手段３２は、ライセンス発行先のライセンス使用装置４０に、ライセンス状態報告依頼を行い、ライセンスの取得を指示する（ステップＡ７）。この指示を受けたライセンス使用装置４０のライセンス取得手段４１（図３）は、ライセンス管理テーブル４３を参照してライセンス使用状況を生成する（ステップＡ８）。ライセンス取得手段４１は、使用しているライセンスの有効期限を、ライセンス使用状況に含める。また、ライセンス取得手段４１は、乱数を用いて、ライセンス取得検証用のチャレンジを生成する（ステップＡ９）。ライセンス取得手段４１は、ライセンス使用状況とチャレンジとを含むライセンス取得要求を、ライセンス発行管理装置３０に送信する（ステップＡ１０）。
【００５０】
ライセンス発行手段３２は、ライセンス使用装置４０からライセンス取得要求を受信すると、ライセンス発行状況管理テーブル３５を参照し、ライセンス発行管理装置３０がライセンス使用装置４０に対して発行したライセンスの種類、及び、その有効期限を調べる。ライセンス発行手段３２は、ライセンス発行管理装置３０が発行したライセンスの種類及び有効期限が、ライセンス使用装置４０から受信したライセンス使用状況におけるライセンスの種類及び有効期限に一致するか否かを調べる（ステップＡ１１）。
【００５１】
図６に、ライセンス発行状況管理テーブル３５のデータ例を示す。ライセンス発行状況管理テーブル３５には、ライセンスにより有効化する機能と、ライセンス使用装置４０との組み合わせごとに、発行済みライセンスの有効期限の情報が記録される。ライセンス発行状況管理テーブル３５を参照することで、例えば、ライセンス使用装置４０−１について、ライセンス発行管理装置３０が発行したライセンスが「機能Ａ」及び「機能Ｄ」を有効化するライセンスの２つであり、その有効期限は、共に「２００８／５／３１」であることがわかる。
【００５２】
図７に、ライセンス使用装置４０が送信したライセンス使用状況のデータ例を示す。この例では、ライセンス使用装置４０−１は、「機能Ａ」及び「機能Ｄ」を有効化する２つのライセンスを使用しており、それらの有効期限は「２００８／５／３１」である旨のライセンス使用状況を送信している。ライセンス発行手段３２は、ライセンス使用状況（図７）と、ライセンス発行状況管理テーブル３５（図６）におけるライセンス使用装置４０−１の行を比較し、両者が一致するか否かを判断する。
【００５３】
図６におけるライセンス使用装置４０−１の行と、図７に示すライセンス使用状況は一致しているので、ライセンス発行手段３２は、一致する（使用状況確認ＯＫ）と判断する。ライセンス発行手段３２は、ライセンス取得要求に含まれるライセンス使用状況に、ライセンス発行状況管理テーブル３５にて発行していないことになっている機能のライセンスが含まれるとき、又は、有効期限が一致しないときは、ライセンス発行状況とライセンス使用状況が一致しない（使用状況確認ＮＧ）と判断する。
【００５４】
再び図４に戻り、ライセンス発行手段３２は、ライセンス発行状況とライセンス使用状況とが一致すると判断すると、ライセンス取得要求を送信したライセンス使用装置４０に対して、有効期限つきのライセンスを発行する（ステップＡ１２）。ライセンス発行手段３２は、ライセンス発行状況とライセンス使用状況とが一致しないと判断したときは、ライセンス使用装置４０がライセンスを違法に使用している可能性があるため、ライセンスの発行は行わない。
【００５５】
ライセンス発行手段３２は、ライセンス発行に際して、ライセンス登録情報３４（図５）を参照して、発行済みライセンス数と総ライセンス数とを比較する。ライセンス発行手段３２は、発行済みライセンス数が総ライセンス数に一致するときは、新たにライセンスを発行すると発行済みライセンス数が総ライセンス数を超えることになるので、ライセンス発行は行わない。ライセンス発行手段３２は、発行済みライセンス数が、総ライセンス数よりも少ないときは、ライセンスを発行する。
【００５６】
ライセンス発行手段３２は、ライセンスを発行すると、ライセンス登録情報３４の発行済みライセンス数に１を加えると共に、対象装置に、ライセンス発行先のライセンス使用装置の識別子を追記する。また、ライセンス発行手段３２は、ライセンス発行状況管理テーブル３５（図６）に、発行したライセンスの有効期限を記録する。ライセンス発行手段３２は、例えば、ライセンス使用装置４０−１に対し、「機能Ｂ」についてのライセンスを発行する場合は、ライセンス使用装置４０−１の行の「機能Ｂ」の列に、「機能Ｂ」のライセンスの有効期限を記録する。
【００５７】
ライセンス発行手段３２は、ライセンス情報本体に、ライセンス使用装置４０が送信したチャレンジを付加し、更に、ライセンス情報本体とチャレンジとを含むライセンス情報に、署名を付加する（ステップＡ１３）。具体的には、ライセンス発行手段３２は、ライセンス情報本体にチャレンジを付加したライセンス情報のハッシュ値を計算し、ハッシュ値をライセンス発行管理装置３０の秘密鍵で暗号化したものを、署名として付加する。ライセンス発行手段３２は、署名つきのライセンス情報を、ライセンス使用装置４０に送信する（ステップＡ１４）。
【００５８】
ライセンス使用装置４０のライセンス取得手段４１は、ステップＡ１４で送信されたライセンス情報を、ステップＡ１０で送信したライセンス取得要求に対する応答として受信する。ライセンス取得手段４１は、ライセンス情報を受信すると、受信したライセンス情報の署名を検証する（ステップＡ１５）。署名の検証では、ライセンス取得手段４１は、受信したライセンス情報に含まれるライセンス情報本体とチャレンジとを合わせたもののハッシュ値を計算する。また、ライセンス取得手段４１は、ライセンス情報の署名部分をライセンス発行管理装置３０の公開鍵で復号化し、復号化結果と、計算したハッシュ値とが一致するか否かを判断する。
【００５９】
ライセンス取得手段４１は、ライセンス情報の署名部分をライセンス発行管理装置３０の公開鍵で正しく復号化でき、かつ、復号化結果が計算したハッシュ値と一致するときは、署名が有効であると判断する。ライセンス取得手段４１は、署名が有効と判断したときは、ライセンス情報に含まれるチャレンジが、ステップＡ１０でライセンス取得要求に含めたチャレンジと一致するか否かを判断する（ステップＡ１６）。ライセンス取得手段４１は、チャレンジが一致すると判断したときは、ライセンス使用装置４０内にライセンス情報本体を登録し、そのライセンスに応じた機能を有効化する（ステップＡ１７）。また、ライセンス取得手段４１は、ライセンス管理テーブル４３に、登録したライセンスの有効期限を登録する。ライセンス取得手段４１は、署名が有効でないと判断したとき、又は、チャレンジが一致しないと判断したときは、ライセンスの登録は行わない。
【００６０】
図８に、ライセンスの有効期限延長の際のシーケンスを示す。ライセンス使用装置４０には、図４に示すシーケンスに従って、有効期限つきのライセンスが登録されている（ステップＢ１）。有効期限管理手段４２（図３）は、ライセンス管理テーブル４３を参照して、ライセンス使用装置４０に登録されている各ライセンスの有効期限と、現在日時とを比較する。有効期限管理手段４２は、ライセンスの有効期限が、期限切れ間近であると判断すると、自律的に、そのライセンスについて、ライセンス発行管理装置３０に対して有効期限の延長要求を送信し、ライセンスの更新（有効期限の延長）を行う。
【００６１】
有効期限管理手段４２は、ライセンスの有効期限が、期限切れ間近であると判断すると、ライセンス管理テーブル４３を参照して、ライセンス使用状況を作成する（ステップＢ２）。また、有効期限管理手段４２は、乱数を用いて、チャレンジを生成する（ステップＢ３）。有効期限管理手段４２は、ライセンス使用状況とチャレンジとを含む有効期限延長要求を、ライセンス発行管理装置３０に送信する（ステップＢ４）。
【００６２】
有効期限延長手段３３（図２）は、ライセンス使用装置４０から、ステップＢ４で送信された有効期限延長要求を受信する。有効期限延長手段３３は、ライセンス使用装置４０から有効期限延長要求を受信すると、ライセンス発行状況管理テーブル３５を参照し、ライセンス発行管理装置３０側で管理するライセンス使用装置４０のライセンス発行状況と、有効期限延長要求に含まれるライセンス使用状況とが一致するか否かを判断する（ステップＢ５）。
【００６３】
有効期限延長手段３３は、ライセンス発行状況とライセンス使用状況とが一致すると判断すると、有効期限延長要求を送信したライセンス使用装置４０に対して、新たな有効期限が設定されたライセンスを発行する（ステップＢ６）。このとき発行するライセンスの有効期限は、現在の有効期限よりも後に期限が切れる有効期限とする。つまり、有効期限延長手段３３は、有効期限が延長されたライセンスを発行する。有効期限延長手段３３は、ライセンス発行状況とライセンス使用状況とが一致しないと判断したときは、ライセンス使用装置４０にてライセンスの違法な使用があったと判断し、以降のライセンス延長を許可しない。
【００６４】
有効期限延長手段３３は、有効期限が延長されたライセンス発行に際して、ライセンス登録情報３４（図５）を参照して、発行済みライセンス数と総ライセンス数とを比較する。有効期限延長手段３３は、発行済みライセンス数が総ライセンス数以下であることを確認した上で、有効期限が延長されたライセンスを発行する。また、有効期限延長手段３３は、有効期限が延長されたライセンスを発行すると、ライセンス発行状況管理テーブル３５（図６）に、延長された有効期限を記録する。
【００６５】
有効期限延長手段３３は、有効期限が延長されたライセンス情報本体に、有効期限延長要求に含まれていたチャレンジを付加し、更に、ライセンス情報本体とチャレンジとを含むライセンス情報に、署名を付加する（ステップＢ７）。署名は、ライセンス発行時（図４のステップＡ１３）と同様な手法で生成する。有効期限延長手段３３は、署名つきのライセンス情報を、ライセンス使用装置４０に送信する（ステップＢ８）。
【００６６】
ライセンス使用装置の有効期限管理手段４２は、ステップＢ８で送信されたライセンス情報を、ステップＢ４で送信した有効期限延長要求に対する応答として受信する。有効期限管理手段４２は、有効期限が延長されたライセンス情報を受信すると、署名の有効性を検証する（ステップＢ９）。有効期限管理手段４２は、ライセンス情報の署名部分をライセンス発行管理装置３０の公開鍵で復号化でき、かつ、復号化内容がライセンス情報本体とチャレンジとを合わせたものをハッシュ化した値と等しいと判断すると、署名は有効であると判断する。
【００６７】
有効期限管理手段４２は、署名が有効であると判断すると、ライセンス情報に含まれるチャレンジが、ステップＢ４で有効期限延長要求に含めたチャレンジと一致するか否かを判断する（ステップＢ１０）。有効期限管理手段４２は、チャレンジが一致すると判断したときは、ライセンス使用装置４０内に、有効期限が延長されたライセンスのライセンス情報本体を登録する（ステップＢ１１）。また、有効期限管理手段４２は、ライセンス管理テーブル４３に、延長された有効期限を登録する。有効期限管理手段４２は、ステップＢ９で署名が有効でないと判断したとき、又は、ステップＢ１０でチャレンジが一致しないと判断したときは、有効期限の延長を行わない。
【００６８】
以上の動作により、ライセンス使用装置４０は、使用中のライセンスの有効期限を延長し、当該ライセンスに応じた機能を継続して使用できる。また、延長された有効期限が切れる前に、図８に示すシーケンスで有効期限を延長することで、当該ライセンスに応じた機能を更に継続して使用できる。有効期限管理手段４２は、有効期限が延長されたライセンスが登録されない場合は、ライセンスの有効期限満了時に、当該ライセンスに応じた機能を無効化する。その場合、ライセンス使用装置４０は、ライセンスの有効期限が切れた段階で、当該ライセンスに応じた機能の使用を停止する。
【００６９】
図９に、故障に伴うライセンス移管のシーケンスを示す。ここでは、ライセンス使用装置４０−１が故障し、ライセンス使用装置４０−１に発行していたライセンスを、ライセンス使用装置４０−２に移管することを考える。つまり、ライセンス使用装置４０−２を、故障したライセンス使用装置４０−１の代替（バックアップ）として用い、ライセンス使用装置４０−１で有効化していた機能をライセンス使用装置４０−２で有効化し、処理を継続する場合を考える。
【００７０】
オペレータ２０は、ライセンス使用装置４０−１に対してライセンスを発行し、ライセンス使用装置４０−１にてライセンスに応じた機能を有効化する（ステップＣ１）。その後、ライセンス使用装置４０−１に故障が発生すると、オペレータ２０は、ライセンス発行管理装置３０に、ライセンス使用装置４０−１のライセンス破棄を指示する（ステップＣ２）。
【００７１】
ライセンス発行管理装置３０のライセンス発行手段３２は、ライセンス登録情報３４及びライセンス発行状況管理テーブル３５を更新し、ライセンス使用装置４０−１に対するライセンス破棄を登録する（ステップＣ３）。より詳細には、ライセンス発行手段３２は、ステップＣ３では、ライセンス登録情報３４（図５）の対象装置からライセンス使用装置４０−１を削除すると共に、発行済みライセンス数を１つ減少させる。また、ライセンス発行手段３２は、ライセンス発行状況管理テーブル３５（図６）におけるライセンス使用装置４０−１の行を、ライセンスなしに変更する。
【００７２】
オペレータ２０は、ライセンス破棄の登録後、ライセンス発行管理装置３０に、ライセンス使用装置４０−２に対するライセンス登録を指示する（ステップＣ４）。ライセンス発行手段３２は、ライセンス登録情報３４を参照して総ライセンス数の枠内であることを確認した上で、ライセンス使用装置４０−２に対してライセンス状態報告依頼を送信し、ライセンス取得を指示する（ステップＣ５）。ステップＣ５は、図４のステップＡ７に相当する。
【００７３】
以降、図４のステップＡ８〜Ａ１７と同様なシーケンスにより、ライセンス使用装置４０−２にライセンスを登録し（ステップＣ６）、当該ライセンスに応じた機能を有効化する（ステップＣ７）。ライセンス発行手段３２は、ライセンス使用装置４０−２に対するライセンスの発行後、ライセンス登録情報３４における対象装置にライセンス使用装置４０−２を追加し、発行済みライセンス数を１つ増加する。また、ライセンス発行手段３２は、ライセンス発行状況管理テーブル３５におけるライセンス使用装置４０−２の行に、発行したライセンスの有効期限を記録する。オペレータ２０が、ライセンス使用装置４０−１のライセンスを破棄し、破棄したライセンスをライセンス使用装置４０−２に発行することで、ライセンス使用装置４０−２は、ライセンス使用装置４０−１の代替として使用可能となる。
【００７４】
図１０に、ライセンス移管の別例のシーケンスを示す。ここでは、ライセンス使用装置４０−１にライセンスを発行し、その後、同一ライセンスを使用して、ライセンス使用装置４０−２にライセンスを発行する場合を考える。つまり、ライセンス使用装置４０−１のライセンスを破棄し、ライセンス使用装置４０−１のライセンスを破棄することで利用可能となったライセンスを、ライセンス使用装置４０−２で利用することを考える。
【００７５】
オペレータ２０は、ライセンス使用装置４０−１に対してライセンスを発行し、ライセンス使用装置４０−１にてライセンスに応じた機能を有効化する（ステップＤ１）。その後、オペレータ２０は、ライセンス発行管理装置３０に、ライセンス使用装置４０−１のライセンス破棄を指示する（ステップＤ２）。ライセンス発行管理装置３０のライセンス発行手段３２は、ライセンス登録情報３４及びライセンス発行状況管理テーブル３５を更新し、ライセンス使用装置４０−１に対するライセンス破棄を登録する（ステップＤ３）。このステップＤ３は、図９のステップＣ３と同様な処理である。
【００７６】
オペレータ２０は、ライセンス破棄の登録後、ライセンス発行管理装置３０に、ライセンス使用装置４０−２に対して、ライセンス使用装置４０−１で破棄したライセンスについて、ライセンス登録を指示する（ステップＤ４）。ライセンス発行手段３２は、ライセンス登録情報３４を参照して総ライセンス数の枠内であることを確認した上で、ライセンス使用装置４０−２に対してライセンス状態報告依頼を送信し、ライセンス取得を指示する（ステップＤ５）。このステップＤ５は、図９のステップＣ５と同様な処理である。
【００７７】
以降、図４のステップＡ８〜Ａ１７と同様なシーケンスにより、ライセンス使用装置４０−２にライセンスを登録し（ステップＤ６）、当該ライセンスに応じた機能を有効化する（ステップＤ７）。ライセンス発行手段３２は、ライセンス使用装置４０−２に対するライセンスの発行後、ライセンス登録情報３４における対象装置にライセンス使用装置４０−２を追加し、発行済みライセンス数を１つ増加する。また、ライセンス発行手段３２は、ライセンス発行状況管理テーブル３５におけるライセンス使用装置４０−２の行に、発行したライセンスの有効期限を記録する。ここまでは、図９のステップＣ７までと同様である。
【００７８】
ライセンス使用装置４０−１は、ステップＤ１で登録された有効期限が近づくと、ライセンス使用装置４０−１におけるライセンス使用状況とチャレンジとを含む有効期限延長要求を送信する（ステップＤ８）。このステップＤ８は、図８のステップＢ４に相当する。ライセンス発行管理装置３０の有効期限延長手段３３（図２）は、ライセンス発行状況管理テーブル３５を参照して、ライセンス使用装置４０-１に対するライセンス発行状況と、ライセンス使用装置４０−１におけるライセンス使用状況とを比較する（ステップＤ９）。このステップＤ９は、図８のステップＢ５に相当する。
【００７９】
ステップＤ８でライセンス使用装置４０−１が送信したライセンス使用状況には、既にオペレータ２０によって破棄が登録されたライセンスの有効期限が含まれている。ライセンス発行手段３２は、ステップＤ３で、ライセンス登録情報３４及びライセンス発行状況管理テーブル３５から当該ライセンスをライセンス使用装置４０−１に発行している旨の情報を既に削除している。このため、有効期限延長手段３３は、ライセンス使用装置４０−１がライセンスを違法に使用していると判断する（ステップＤ１０）。
【００８０】
有効期限延長手段３３は、ライセンス使用装置４０−１に対して、有効期限を延長したライセンスを発行しない。その結果、ライセンス使用装置４０−１で使用中のライセンスは期限切れとなり、ライセンス使用装置４０−１は、当該ライセンスに応じた機能を無効化する（ステップＤ１１）。このように、ライセンスに有効期限を設け、ライセンス発行状況と、ライセンス使用状況とが一致するときに有効期限を延長することで、ライセンス使用装置が、使用中のライセンスの有効期限を超えてライセンスを使用することを防止できる。つまり、違法なライセンス使用を排除できる。
【００８１】
本実施形態では、ライセンス発行管理装置３０は、ライセンス発行に際して、ライセンス使用装置４０におけるライセンス使用状況を取得し、ライセンス発行状況管理テーブル３５を参照して、ライセンス使用装置に発行したライセンス発行状況と、取得したライセンス使用状況とが一致するか否かを判断する。ライセンス発行管理装置３０は、両者が一致すると判断するときは、ライセンス使用装置４０に対してライセンス情報を送信し、ライセンスを発行する。ライセンス発行に際して、ライセンス使用装置４０におけるライセンスの使用状況をチェックした上でライセンスを発行することで、ライセンス使用装置４０におけるライセンスの違法利用を抑止することができる。また、ライセンス発行時にライセンスの使用状況をチェックする方式であるため、ライセンス使用装置４０におけるライセンス使用状況を常時監視する必要がない。
【００８２】
本実施形態では、ライセンス発行手段３２は、ライセンス情報本体に、ライセンス取得検証用のチャレンジを付加し、ライセンス使用装置４０に送信する。ライセンス使用装置４０は、チャレンジを確認し、ライセンスが自装置に向けて発行されたものであることを確認した上で、ライセンスを登録する。このようにすることで、例えば、ライセンス使用装置４０−２に向けて発行されたライセンスを、ライセンス使用装置４０−１で使用することができなくなり、ライセンスの違法な再利用を抑止できる。つまり、同一のライセンスを、他のライセンス使用装置４０に違法に使いまわすことを防止できる。
【００８３】
本実施形態では、ライセンス発行手段３２は、ライセンス情報に、ライセンス発行管理装置の署名を付加する。ライセンス取得手段４１は、受信したライセンス情報の署名が有効であるか否かを判断し、有効であると判断すると、ライセンス登録を行う。署名は、ライセンス発行管理装置３０の秘密鍵で暗号化されるため、ライセンス発行管理装置３０以外の装置は、ライセンス情報の署名部分を生成することはできない。このため、ライセンス登録可能なライセンスは、ライセンス発行管理装置３０が発行したライセンスに限られ、ライセンスの違法な使い回しを防止できる。
【００８４】
上記署名は、ライセンス情報の内容をハッシュ化した値をライセンス発行管理装置３０の秘密鍵で暗号化したものとすることができる。ライセンス取得手段４１は、受信したライセンス情報の署名部分がライセンス発行管理装置３０の公開鍵で復号化でき、かつ、復号化内容が受信したライセンス情報の内容をハッシュ化した値に等しいとき、署名が有効であると判断する。例えば、ライセンス使用装置４０−１に送信されたライセンス情報のチャレンジの部分を改ざんして、ライセンス使用装置４０−２でライセンス登録を行う場合を考える。この場合、署名部分の復号化はできるものの、ライセンス情報のハッシュ値（ダイジェスト）と署名の復号化結果とは、一致しない。このため、ライセンス使用装置４０−２にはライセンスが登録されない。署名を用い、ライセンス情報の内容に改ざんがないことが確認されたときにライセンス登録を行うことで、ライセンスの違法使用を防ぐことができる。
【００８５】
本実施形態では、ライセンス発行手段３２は、ライセンス使用装置４０に対して、有効期限が設定されたライセンスを発行する。有効期限管理手段４２は、ライセンス管理テーブル４３を参照してライセンス使用状況を生成し、生成したライセンス使用状況をライセンス発行管理装置３０に送信する。有効期限延長手段３３は、ライセンス使用装置４０からライセンス使用状況を取得し、ライセンス発行状況管理テーブル３５を参照して、ライセンス使用装置４０に発行したライセンスと、ライセンス使用状況とが一致するか否かを判断する。有効期限延長手段３３は、両者が一致すると判断したとき、ライセンス使用装置４０に対して、有効期限が延長されたライセンス情報を送信し、ライセンスの有効期限を延長する。
【００８６】
ライセンスに有効期限を設定する構成を採用する場合、ライセンス発行管理装置３０は、有効期限が切れる前のタイミングで、ライセンス使用装置４０におけるライセンス使用状況をチェックすることができる。ライセンス発行管理装置３０は、ライセンス発行状況とライセンス使用状況とが一致しないときは、ライセンスの有効期限を延長しないので、当該ライセンス使用装置４０におけるライセンスは、有効期限の経過により、無効化される。従って、ライセンスの違法な使用を抑止することができる。また、ライセンス発行管理装置３０とライセンス使用装置４０とは、常時接続されている必要はなく、有効期限延長要求及びそれに対する応答の送受信の際に接続されていればよい。有効期限延長時（ライセンス継続時）に接続することで、違法なライセンス使用を防ぎつつ、ライセンス管理を実施できる。更に、有効期限の延長の際も、ライセンス取得時と同様に、チャレンジと署名を用いることで、異なるライセンス使用装置４０での有効期限の延長や、ライセンスの偽造などを防ぐことができる。
【００８７】
本実施形態では、ライセンス管理者１０は、ライセンス発行管理装置３０ごとに、オペレータ２０（ライセンス発行管理装置３０）に固有なライセンス情報を払い出す。ライセンス使用装置４０に対するライセンス発行は、ライセンス発行管理装置３０が行うため、ライセンス管理者１０は、ライセンスの発行・管理を、ライセンス使用装置４０ごとに行う必要がなくなり、ライセンス発行管理装置３０ごとに管理するのみで済む。ライセンス管理者１０は、ライセンス発行管理装置３０に対するライセンスのみを管理すればよいので、ライセンス管理者１０のライセンス管理負荷を軽減することができる。
【００８８】
本実施形態では、ライセンス管理者１０は、ライセンス発行管理装置３０に対してライセンスを払い出しており、ライセンス使用装置４０に固有の情報をキーとしてライセンスを発行していない。実際のライセンス使用装置４０へのライセンス登録は、ライセンス発行管理装置３０が行う。オペレータ２０は、払い出されたライセンスの範囲内で、配下にあるライセンス使用装置４０に対して、任意にライセンスを発行することができる。このため、例えば、あるライセンス使用装置４０が故障したときでも、オペレータ２０がライセンス発行管理装置３０を操作することで、当該ライセンス使用装置４０におけるライセンスを無効化し、交換装置のライセンスを有効化できる。本実施形態では、ライセンス使用装置４０間でのライセンスの移管を、ライセンス管理者が介在することなく実施でき、ライセンス管理者１０は、交換用予備装置のライセンスを発行しておく必要性がない。
【００８９】
以上のように、本実施形態では、ライセンスを発行するライセンス管理者１０の管理対象をライセンス発行管理装置３０単位とした上で、ライセンス使用装置４０に対するライセンスの発行は、ライセンス発行管理装置３０が行う。ライセンス使用装置４０は、公開鍵基盤を用いることで、ライセンス発行管理装置３０から投入されるライセンスの有効性を自律的に確認し、ライセンス登録を行う。このようにすることで、ライセンス管理者１０のライセンス管理負荷を軽減しつつ、ライセンス使用装置４０における違法なライセンス使用を防ぐことができる。
【００９０】
なお、公開鍵による暗号化・署名検証は、共有秘密鍵による暗号化・署名検証でもよい。また、ライセンス使用装置４０が、ライセンス取得要求時又は有効期限延長要求にライセンス使用状況に付加するチャレンジは、ライセンス使用装置４０に固有の情報や、時刻情報でもよい。ライセンス発行管理装置３０は、チャレンジに、ライセンス使用装置４０に固有の情報や時刻情報を用いる場合は、ライセンス使用装置４０からチャレンジを取得することなく、発行するライセンス情報に、チャレンジを付加してもよい。
【００９１】
ライセンス発行管理装置３０と各ライセンス使用装置４０とは、ネットワークで直接接続されている必要はなく、ライセンス発行管理装置３０からライセンス使用装置４０へのライセンス登録は、コマンド等を使用し、オペレータ２０が各ライセンス使用装置４０に直接に登録してもよい。また、各ライセンス使用装置４０からの有効期限延長要求とチャレンジとは、アラームメッセージやコマンドリプライ等の手段で通知し、オペレータ２０に、ライセンス発行管理装置３０へ登録させてもよい。
【００９２】
ライセンス使用状況については、ライセンス使用装置４０における使用中の全てのライセンス使用状況が含まれている必要はなく、ライセンス取得対象、又は、有効期限延長対象のライセンスについての使用状況が含まれていればよい。例えば、ライセンス使用装置４０は、機能Ａについてのライセンスを取得する際には、機能Ａについてのライセンスを使用しているか否かを、ライセンス使用状況に含めてライセンス発行管理装置３０に送信すればよい。また、ライセンス使用装置４０は、機能Ａについてのライセンスの有効期限を延長する際には、現在使用している機能Ａについてのライセンスの有効期限をライセンス使用状況に含めてライセンス発行管理装置３０に送信すればよい。ライセンス発行管理装置３０は、対象となるライセンスの使用状況が発行状況と一致するとき、ライセンスの発行又は有効期限の延長を行えばよい。
【００９３】
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のライセンス発行管理システム、方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【図面の簡単な説明】
【００９４】
【図１】本発明の一実施形態のライセンス発行管理システムを示すブロック図。
【図２】ライセンス発行管理装置の構成を示すブロック図。
【図３】ライセンス使用装置の構成を示すブロック図。
【図４】ライセンスの登録・発行時のシーケンスを示すシーケンス図。
【図５】ライセンス登録情報のデータ例を示す図。
【図６】ライセンス発行状況管理テーブルのデータ例を示す図。
【図７】ライセンス使用状況のデータ例を示す図。
【図８】有効期限延長の際のシーケンスを示すシーケンス図。
【図９】ライセンス移管のシーケンスを示すシーケンス図。
【図１０】ライセンス移管の別例を示すシーケンス図。
【図１１】特許文献１に記載のシステムを示すブロック図。
【符号の説明】
【００９５】
１０：ライセンス管理者
２０：オペレータ
３０：ライセンス発行管理装置
３１：ライセンス登録手段
３２：ライセンス発行手段
３３：有効期限延長手段
３４：ライセンス登録情報
３５：ライセンス発行状況管理テーブル
４０−１〜４０−ｎ：ライセンス使用装置
４１：ライセンス取得手段
４２：有効期限管理手段
４３：ライセンス管理テーブル
【図１】
2010015410.tif 000003
【図２】
2010015410.tif 000004
【図３】
2010015410.tif 000005
【図４】
2010015410.tif 000006
【図５】
2010015410.tif 000007
【図６】
2010015410.tif 000008
【図７】
2010015410.tif 000009
【図８】
2010015410.tif 000010
【図９】
2010015410.tif 000011
【図１０】
2010015410.tif 000012
【図１１】
2010015410.tif 000013