(57)【要約】【課題】サーバを設置することなく、クラウド上のアプリケーションに対するライセンス管理を行えるライセンス管理システム、方法及びモジュールを提供すること。【解決手段】ライセンス管理システム１は、所定のアプリケーションのライセンス情報２１を、複数の実行環境のいずれかに記憶するためのライセンスファイル２０と、複数の実行環境それぞれに設けられ、アプリケーションのライセンスを管理するライセンス管理モジュール１０と、を備え、ライセンス管理モジュール１０は、ライセンス情報２１に基づいてアプリケーションの実行を制御するアプリバインド部１２と、ライセンス情報２１を、複数の実行環境の間で移動させるライセンス情報管理部１３と、を備える。【選択図】図２
2014186498.tif 000002
【特許請求の範囲】
【請求項１】
所定のアプリケーションのライセンス情報を、複数の実行環境のいずれかに記憶するための記憶部と、
前記複数の実行環境それぞれに設けられ、前記アプリケーションのライセンスを管理するライセンス管理モジュールと、を備え、
前記ライセンス管理モジュールは、
前記ライセンス情報に基づいて前記アプリケーションの実行を制御するアプリバインド部と、
前記ライセンス情報を、前記複数の実行環境の間で移動させるライセンス情報管理部と、を備えるライセンス管理システム。
【請求項２】
前記ライセンス管理モジュールは、当該ライセンス管理モジュールが設けられる動作環境の固有データを保持し、前記アプリケーションの実行時に当該動作環境の正当性を判断する動作環境チェック部を備える請求項１に記載のライセンス管理システム。
【請求項３】
前記記憶部は、前記ライセンス情報を暗号化して記憶し、
前記アプリバインド部は、前記ライセンス情報を、前記ライセンス管理モジュールそれぞれに固有の秘密鍵により復号して取得する請求項１又は請求項２に記載のライセンス管理システム。
【請求項４】
前記ライセンス管理モジュールは、前記アプリバインド部により復号された前記ライセンス情報を物理メモリに展開する際、ダミーデータを用いた複数の演算結果に分割して格納するメモリ保護部を備える請求項１から請求項３のいずれかに記載のライセンス管理システム。
【請求項５】
前記ライセンス情報管理部は、前記複数の実行環境の間で相互認証鍵共有により、前記ライセンス情報を移動させる請求項１から請求項４のいずれかに記載のライセンス管理システム。
【請求項６】
前記アプリケーションは、秘匿行列により符号化された変数を用いており、
前記アプリバインド部は、前記秘匿行列から生成される復元式により、前記符号化された変数を復元する請求項１から請求項５のいずれかに記載のライセンス管理システム。
【請求項７】
所定のアプリケーションに対するライセンスを管理する方法であって、
前記アプリケーションのライセンス情報を、複数の実行環境のいずれかに記憶するための記憶部が設けられ、
前記複数の実行環境それぞれに設けられたライセンス管理モジュールが前記アプリケーションのライセンス情報を、前記複数の実行環境の間で移動させるステップと、
前記ライセンス管理モジュールが前記ライセンス情報に基づいて前記アプリケーションの実行を制御するステップと、を含むライセンス管理方法。
【請求項８】
所定のアプリケーションを実行するための複数の実行環境それぞれに設けられ、
ライセンス情報に基づいて前記アプリケーションの実行を制御するアプリバインド部と、
前記ライセンス情報を、前記複数の実行環境の間で移動させるライセンス情報管理部と、を備えるライセンス管理モジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ライセンスを管理するシステム、方法及びモジュールに関する。
【背景技術】
【０００２】
近年、クラウドサービスが活用され、クラウド上の様々なリソースが複数ユーザによって共用されている。
クラウド上のアプリケーションに対してライセンス管理を行う場合、実行環境であるクラウド上のサーバが必ずしも実行の度に同一ではない。したがって、従来の動作環境を限定したライセンス管理手法を適用することは難しい。
そこで、信頼出来るサーバにより、ライセンスを一元管理する手法が採用されている（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ＳｍａｒｔＬＭ，  Ｔｈｅ  ＳｍａｒｔＬＭ  Ｐｒｏｊｅｃｔ，  ＳｍａｒｔＬＭ  −  Ｇｒｉｄ−ｆｒｉｅｎｄｌｙ  ｓｏｆｔｗａｒｅ  ｌｉｃｅｎｓｉｎｇ  ｆｏｒ  ｌｏｃａｔｉｏｎ  ｉｎｄｅｐｅｎｄｅｎｔ  ａｐｐｌｉｃａｔｉｏｎ  ｅｘｅｃｕｔｉｏｎ，  ｔｈｅ  Ｅｕｒｏｐｅａｎ  Ｃｏｍｍｉｓｓｉｏｎ  Ｐｒｏｇｒａｍｍｅ，  Ｉｎｆｏｒｍａｔｉｏｎ  ａｎｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｉｅｓ，  ２０１３，［ｏｎｌｉｎｅ］，［平成２５年２月２８日検索］，インターネット＜ｈｔｔｐ：／／ｗｗｗ．ｓｍａｒｔｌｍ．ｅｕ／＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ライセンス情報がサーバで一元管理された場合、アプリケーションの実行に際して、このサーバと常時通信する必要が生じていた。また、複数のライセンス情報が一元集中するため、安全性に課題があった。
【０００５】
本発明は、サーバを設置することなく、クラウド上のアプリケーションに対するライセンス管理を行えるライセンス管理システム、方法及びモジュールを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係るライセンス管理システムは、所定のアプリケーションのライセンス情報を、複数の実行環境のいずれかに記憶するための記憶部と、前記複数の実行環境それぞれに設けられ、前記アプリケーションのライセンスを管理するライセンス管理モジュールと、を備え、前記ライセンス管理モジュールは、前記ライセンス情報に基づいて前記アプリケーションの実行を制御するアプリバインド部と、前記ライセンス情報を、前記複数の実行環境の間で移動させるライセンス情報管理部と、を備える。
【０００７】
前記ライセンス管理モジュールは、当該ライセンス管理モジュールが設けられる動作環境の固有データを保持し、前記アプリケーションの実行時に当該動作環境の正当性を判断する動作環境チェック部を備えてもよい。
【０００８】
前記記憶部は、前記ライセンス情報を暗号化して記憶し、前記アプリバインド部は、前記ライセンス情報を、前記ライセンス管理モジュールそれぞれに固有の秘密鍵により復号して取得してもよい。
【０００９】
前記ライセンス管理モジュールは、前記アプリバインド部により復号された前記ライセンス情報を物理メモリに展開する際、ダミーデータを用いた複数の演算結果に分割して格納するメモリ保護部を備えてもよい。
【００１０】
前記ライセンス情報管理部は、前記複数の実行環境の間で相互認証鍵共有により、前記ライセンス情報を移動させてもよい。
【００１１】
前記アプリケーションは、秘匿行列により符号化された変数を用いており、前記アプリバインド部は、前記秘匿行列から生成される復元式により、前記符号化された変数を復元してもよい。
【００１２】
本発明に係るライセンス管理方法は、所定のアプリケーションに対するライセンスを管理する方法であって、前記アプリケーションのライセンス情報を、複数の実行環境のいずれかに記憶するための記憶部が設けられ、前記複数の実行環境それぞれに設けられたライセンス管理モジュールが前記アプリケーションのライセンス情報を、前記複数の実行環境の間で移動させるステップと、前記ライセンス管理モジュールが前記ライセンス情報に基づいて前記アプリケーションの実行を制御するステップと、を含む。
【００１３】
本発明に係るライセンス管理モジュールは、所定のアプリケーションを実行するための複数の実行環境それぞれに設けられ、ライセンス情報に基づいて前記アプリケーションの実行を制御するアプリバインド部と、前記ライセンス情報を、前記複数の実行環境の間で移動させるライセンス情報管理部と、を備える。
【発明の効果】
【００１４】
本発明によれば、サーバを設置することなく、クラウド上のアプリケーションに対するライセンス管理を行える。
【図面の簡単な説明】
【００１５】
【図１】実施形態に係るライセンス管理システムの機能概要を示す図である。
【図２】実施形態に係るサーバ又は端末の機能構成を示す図である。
【図３】実施形態に係るメモリ保護部の動作を示す概要図である。
【図４】実施形態に係るライセンスチェックの手順を示す図である。
【図５】実施形態に係るライセンス移譲処理の一例を示すシーケンス図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態の一例について説明する。
図１は、本実施形態に係るライセンス管理システム１の機能概要を示す図である。
【００１７】
所定のアプリケーション（以下、アプリＡ）がクラウド上のサーバ２（例えば、サーバ２ａ、サーバ２ｂ、サーバ２ｃ）に配置されている。端末３は、いずれかのサーバ２にアクセスして、アプリＡをサーバ２上で実行し、処理結果を端末３のディスプレイに表示する。
【００１８】
アプリＡのライセンスを管理するライセンス管理モジュール（以下、ＬＭＭ）１０は、サーバ２又は端末３の実行環境毎に配置される。そして、ＬＭＭ１０は、ユーザが取得したアプリＡのライセンス情報を、他の実行環境のＬＭＭ１０との間で移動させる。
【００１９】
ＬＭＭ１０は、例えば、端末３ａからサーバ２ａへ、サーバ２ａから端末３ｂへ、端末３ｂからサーバ２ｂへとライセンス情報を移譲していき、アプリＡを実行可能な環境を移動できる。また、ＬＭＭ１０は、サーバ２と端末３との間だけでなく、例えば、サーバ２ａからサーバ２ｂへ、又は端末３ａから端末３ｂへ等、クラウド上のサーバ２間又は端末３間等、ＬＭＭ１０を備えた任意の実行環境の間でライセンス情報を移動できる。
【００２０】
図２は、本実施形態に係るライセンス管理システム１を構成するサーバ２又は端末３の機能構成を示す図である。
【００２１】
サーバ２（又は端末３）は、ライセンス管理のために、ＬＭＭ１０と、記憶部としてのライセンスファイル２０とを備える。
【００２２】
ＬＭＭ１０は、メモリ保護部１１と、アプリバインド部１２と、ライセンス情報管理部１３と、動作環境チェック部１４と、暗号ライブラリ１５と、秘密鍵１６とを備える。
【００２３】
ライセンスファイル２０は、アプリケーション毎のライセンス情報２１（例えば、アプリＡのライセンス情報２１ａ、アプリＢのライセンス情報２１ｂ）と、各種設定データ２２を含む。
所定のアプリケーションのライセンス情報（例えば、アプリＡのライセンス情報２１ａ）は、複数の実行環境（サーバ２又は端末３）のいずれかのライセンスファイル２０に記憶される。
【００２４】
メモリ保護部１１は、ＬＭＭ１０が演算に利用するデータ、例えばアプリバインド部１２により復号されたライセンス情報を物理メモリに展開する際、ダミーデータを用いた複数の演算結果に分割して格納する。
【００２５】
図３は、本実施形態に係るメモリ保護部１１による書き込み動作及び読み込み動作を示す概要図である。
【００２６】
メモリ保護部１１は、図３（ａ）に示すように、書き込みアドレス（インデックス）及び書き込みデータを受け取ると、書き込みデータに対して複数の演算を行って異なる値に変換した後、物理メモリ３０の複数箇所へ書き込む。
【００２７】
このときの演算履歴は、物理メモリ３０上の所定位置３１に暗号化して格納される。演算履歴のデータ量は、ＬＭＭ１０が扱うライセンス情報等のデータ量に比べて非常に小さいため、物理メモリ３０全体を暗号化することに比べて処理負荷が小さく、かつ、第三者からのアクセスに対して安全度が高い。
【００２８】
メモリ保護部１１は、図３（ｂ）に示すように、読み込みアドレス（インデックス）が指定されると、所定位置３１に格納されている演算履歴に従って、物理メモリ３０の複数箇所からデータを読み込み、書き込み時の元データを復元する。
【００２９】
メモリ保護部１１は、書き込み時に、例えば、データａに対して乱数ｒを用いて、複数のデータｂ及びｃを、
ｂ＝ａ＋ｒ
ｃ＝ａ−ｒ
のように生成して格納する。この場合、メモリ保護部１１は、読み込み時に、
ａ＝（ｂ＋ｃ）／２
を計算し、元データａを復元する。
【００３０】
アプリバインド部１２は、ライセンス情報２１ａに基づいてアプリＡの実行を制御する。具体的には、アプリバインド部１２は、ユーザがアプリＡのライセンスを保有しているか否か、すなわちユーザの実行環境にライセンス情報２１ａが存在するか否かを判定し、このライセンス情報２１ａに基づく所定の演算結果をアプリＡへ提供する。
【００３１】
ここで、アプリＡは、ライセンス情報２１ａに含まれる秘匿行列により符号化された変数を用いている。アプリバインド部１２は、アプリＡからの要求に応じて、この秘匿行列から生成される逆行列を用いた復元式（Ｄｅｃｏｄｉｎｇ  Ｒｕｌｅ）により、符号化された変数を復元してアプリＡへ提供する。これにより、アプリＡを実行するユーザは、ライセンス情報２１ａにより変数が復元された場合に限り、アプリＡを正常に実行でき、又は正常な変数値を用いた処理結果を得られる。
【００３２】
ライセンス情報管理部１３は、ライセンス情報２１ａを、複数の実行環境の間で移動させる。このとき、ライセンス情報管理部１３は、複数の実行環境の間で相互認証鍵共有により、ライセンス情報２１ａを移動させる。
【００３３】
動作環境チェック部１４は、ＬＭＭ１０が設けられる動作環境の固有データを保持し、アプリＡの実行時に動作環境の正当性を判断する。
固有データとは、例えば、ＭＡＣアドレス、ＣＰＵ番号、メモリＩＤ等のハードウェア固有の一意なデータである。
【００３４】
暗号ライブラリ１５は、ライセンスファイル２０に暗号化して記憶されているライセンス情報２１ａを、ＬＭＭ１０それぞれに固有の秘密鍵１６により復号し、アプリバインド部１２へ提供する。
【００３５】
図４は、本実施形態に係るライセンスチェックの手順を示す図である。
アプリＡ（４２）は、アプリケーション提供元が所定のツール４０によりオリジナルアプリ４１から変換して生成されたものである。このツール４０は、アプリＡを生成する際に、ライセンス情報２１ａとして提供される秘匿行列Ｌを対応付けて出力する。秘匿行列Ｌは、ライセンス情報管理部１３により秘密鍵１６を用いて暗号化され、ライセンス情報２１ａに格納される。
【００３６】
なお、オリジナルアプリ４１は正常な変数値ｘを用いるアプリケーションであるが、ツール４０により変換後のアプリＡは、変数値ｘが秘匿行列Ｌにより変換された変数値ｙを用いるアプリケーションである。
以下、ユーザによりクラウドのサーバ２でアプリＡが実行された際の処理手順を示す。
【００３７】
ステップＳ１において、アプリＡは、アプリケーションを識別するアプリＩＤ、及びライセンスチェック用の変数ｙ＝（ｙ１，ｙ２，ｙ３，ｙ４）をＬＭＭ１０へ送信する。
【００３８】
ステップＳ２において、アプリバインド部１２は、動作環境チェック部１４に、正規の動作環境であるか否かの検証要求を行う。
【００３９】
ステップＳ３において、動作環境チェック部１４は、クラウドシステムから環境情報５０を取得する。具体的には、動作環境チェック部１４は、例えば、サーバ２のＭＡＣアドレスを取得する。
【００４０】
ステップＳ４において、動作環境チェック部１４は、ＭＡＣアドレスのハッシュ値を計算し、ＬＭＭ１０に予め設定されている情報と比較する。両者が等しくない場合、動作環境チェック部１４は、ＬＭＭ１０そのものが正規と異なる環境にコピーされたと判断して、アプリバインド部１２にエラーを返し、アプリＡの実行を許可しない。
【００４１】
ステップＳ５において、アプリバインド部１２は、アプリＩＤに対応するアプリＡのライセンス情報２１ａを取得する。
【００４２】
ステップＳ６において、暗号ライブラリ１５は、ライセンス情報２１ａを暗号化する際に使用されたＬＭＭ１０固有の秘密鍵１６を読み込む。
【００４３】
ステップＳ７において、暗号ライブラリ１５は、秘密鍵１６を用いて、アプリＡのライセンス情報２１ａを復号する。
【００４４】
ステップＳ８において、アプリバインド部１２は、ライセンス情報２１ａに基づいて、変数ｘ＝（ｘ１，ｘ２，ｘ３，ｘ４）を復元する。具体的には、アプリバインド部１２は、ライセンス情報２１ａに含まれる秘匿行列Ｌに対応する復元式（逆行列Ｌ−１）によって、ｘ＝Ｌ−１ｙを算出する。
【００４５】
ステップＳ９において、アプリバインド部１２は、算出した変数ｘを、アプリＡに送信する。
アプリＡは、ＬＭＭ１０から受信した変数ｘの値の正当性をチェックし、実行を許可する。
あるいは、アプリＡは、オリジナルアプリ４１において用いられている変数ｘを変換したｙをアプリバインド部１２に入力してもよい。アプリバインド部１２により変数ｘが復元されなければ、アプリＡを実行するユーザは正常な処理結果を得られないため、明示的な正当性チェックは不要である。
【００４６】
図５は、本実施形態に係るライセンス移譲処理の一例を示すシーケンス図である。
この例では、ＬＭＭ１０ａからＬＭＭ１０ｂへライセンス情報２１を移譲する場合を説明する。
【００４７】
ＬＭＭ１０ａ及びＬＭＭ１０ｂは、それぞれ共通の２つの固定値ｇ（＝５），ｐ（＝２０４８ｂｉｔの素数）を持つ。また、ＤＨ鍵交換で用いる秘密の値として、ＬＭＭ１０ａは値Ａを、ＬＭＭ１０ｂは値Ｂを予め生成している。
【００４８】
ステップＳ１１において、ＬＭＭ１０ａは、自身の秘密情報Ａを用いて、「ｇＡ  ｍｏｄ  ｐ」を計算する。さらに、ＬＭＭ１０ａは、この計算値に対して秘密鍵で署名を付与する。
【００４９】
ステップＳ１２において、ＬＭＭ１０ａは、ステップＳ１１で計算した「ｇＡ  ｍｏｄ  ｐ」及び公開鍵証明書を、ＬＭＭ１０ｂへ送信する。
【００５０】
ステップＳ１３において、ＬＭＭ１０ｂは、ＬＭＭ１０ａから受信した公開鍵証明書の正当性を確認した後、この公開鍵証明書を用いて署名を検証する。
【００５１】
ステップＳ１４において、ＬＭＭ１０ｂは、自身の秘密情報Ｂを用いて、「ｇＢ  ｍｏｄ  ｐ」を計算する。さらに、ＬＭＭ１０ｂは、この計算値に対して秘密鍵で署名を付与する。
【００５２】
ステップＳ１５において、ＬＭＭ１０ｂは、ＬＭＭ１０ａから受信した「ｇＡ  ｍｏｄ  ｐ」、及び自身の秘密情報Ｂを用いて、「Ｇ＝ｇＡＢ  ｍｏｄ  ｐ」を計算する。
【００５３】
ステップＳ１６において、ＬＭＭ１０ｂは、所定のハッシュ関数（例えば、ＭＤ５）を用いて、共通鍵「Ｋ＝ｈａｓｈ（Ｇ）」を計算する。
【００５４】
ステップＳ１７において、ＬＭＭ１０ｂは、ステップＳ１４で計算した「ｇＢ  ｍｏｄ  ｐ」及び公開鍵証明書を、ＬＭＭ１０ａへ送信する。
【００５５】
ステップＳ１８において、ＬＭＭ１０ａは、ＬＭＭ１０ｂから受信した公開鍵証明書の正当性を確認した後、この公開鍵証明書を用いて署名を検証する。
【００５６】
ステップＳ１９において、ＬＭＭ１０ａは、ＬＭＭ１０ｂから受信した「ｇＢ  ｍｏｄ  ｐ」、及び自身の秘密情報Ａを用いて、「Ｇ＝ｇＡＢ  ｍｏｄ  ｐ」を計算する。
【００５７】
ステップＳ２０において、ＬＭＭ１０ａは、ＬＭＭ１０ｂと共通のハッシュ関数を用いて、共通鍵「Ｋ＝ｈａｓｈ（Ｇ）」を計算する。
【００５８】
ステップＳ２１において、ＬＭＭ１０ａは、所定の暗号化アルゴリズム（例えば、ＫＣｉｐｈｅｒ−２（登録商標））を用いて、共通鍵Ｋにより暗号化ライセンス情報（Ｅｎｃ（Ｋ，Ｌ）＝ｉｖ‖ＫＣｉｐｈｅｒ２（Ｋ，ｉｖ，Ｌ））を生成する。ここで、暗号化前のライセンス情報をＬ、初期ベクトルを乱数ｉｖとする。
【００５９】
ステップＳ２２において、ＬＭＭ１０ａは、ライセンスファイル２０から、アプリＩＤに対応したライセンス情報２１ａを削除し、このライセンス情報２１ａのステータスを「Ｄｅｌｅｇａｔｉｎｇ」に変更する。
【００６０】
ステップＳ２３において、ＬＭＭ１０ａは、アプリＩＤ（ＡｐｐＩＤ）及び暗号化ライセンス情報（Ｅｎｃ（Ｋ，Ｌ））を、ＬＭＭ１０ｂへ送信する。
【００６１】
ステップＳ２４において、ＬＭＭ１０ｂは、共通鍵Ｋを用いて暗号化ライセンス情報（Ｅｎｃ（Ｋ，Ｌ））を復号する（Ｌ＝ＫＣｉｐｈｅｒ２（Ｋ，ｉｖ，Ｅｎｃ（Ｋ，Ｌ）））。
【００６２】
ステップＳ２５において、ＬＭＭ１０ｂは、復号したライセンス情報Ｌを、ＬＭＭ１０ｂに固有の秘密鍵により暗号化して、ライセンスファイル２０に格納する。
【００６３】
ステップＳ２６において、ＬＭＭ１０ｂは、ライセンスファイルに格納したライセンス情報２１ａのステータスを「Ｄｅｌｅｇａｔｅｄ」に設定する。
【００６４】
ステップＳ２７において、ＬＭＭ１０ｂは、ライセンスの移譲が正常に終了したことを示す処理結果をＬＭＭ１０ａへ送信する。
【００６５】
ステップＳ２８において、ＬＭＭ１０ａは、このライセンス情報２１ａのステータスを「Ｒｅｍｏｖｅｄ」に変更する。
【００６６】
以上のように、本実施形態によれば、ライセンス管理システム１は、アプリケーションの実行環境毎にＬＭＭ１０を備え、このＬＭＭ１０の間でライセンス情報を動的に移動できる。したがって、ライセンス管理システム１は、ライセンスを一元管理するサーバを設置することなく、クラウド上のアプリケーションに対するライセンス管理を行える。この結果、ライセンス管理システム１は、クラウド上のアプリケーションを適切に保護し、不正利用を防止できる。
【００６７】
また、ライセンス管理システム１は、動作環境の固有データ（例えば、ＭＡＣアドレス）を、ＬＭＭ１０が保持している情報と照合することにより、動作環境の正当性を判断できる。したがって、ライセンス管理システム１は、ＬＭＭ１０自体がコピーされた場合に、ライセンス情報を不正に使用されることを防止できる。
【００６８】
また、ライセンス管理システム１は、ライセンス情報を暗号化して記憶し、ＬＭＭ１０に固有の秘密鍵により復号して利用する。したがって、ライセンス管理システム１は、ライセンス情報がコピーされた場合に、コピー先の別のＬＭＭ１０で不正に使用されることを防止できる。
【００６９】
また、ライセンス管理システム１は、メモリ保護部１１により、物理メモリ３０に対してデータを難読化して格納できる。したがって、ライセンス管理システム１は、物理メモリ３０を不正に読み取られること、特に復号されたライセンス情報を不正に読み取られることを抑制できる。
【００７０】
また、ライセンス管理システム１は、複数の実行環境の間で相互認証鍵共有により暗号化ライセンス情報を移動させるので、安全な通信路でライセンス移譲を行える。
【００７１】
また、ライセンス管理システム１は、ライセンス情報として秘匿行列を用い、アプリケーションが用いる符号化された変数を、復元式（逆行列）によって復元する。したがって、ライセンス管理システム１において、アプリケーションは、変数が符号化された状態で実行され、正しい値を得るためにＬＭＭ１０による復元が必要なため、アプリケーションの不正利用を防止できる。
【００７２】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【００７３】
ライセンスファイル２０からライセンス情報２１を読み込むために、ユーザ毎に固有のパスワードが設定されてもよい。このことによれば、ライセンス管理システム１は、同一の秘匿行列を用いて、複数ユーザのライセンスを管理できる。この結果、ライセンス管理システム１は、ユーザ毎に行列式及び変換アプリケーションを生成する煩雑さを回避できる。
【００７４】
ＬＭＭ１０は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置（例えば、サーバ２及び端末３）にインストールされる。また、これらのプログラムは、ＣＤ−ＲＯＭのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。
【符号の説明】
【００７５】
１  ライセンス管理システム
１０  ライセンス管理モジュール（ＬＭＭ）
１１  メモリ保護部
１２  アプリバインド部
１３  ライセンス情報管理部
１４  動作環境チェック部
１５  暗号ライブラリ
１６  秘密鍵
２０  ライセンスファイル（記憶部）
２１  ライセンス情報
【図１】
2014186498.tif 000003
【図２】
2014186498.tif 000004
【図３】
2014186498.tif 000005
【図４】
2014186498.tif 000006
【図５】
2014186498.tif 000007