JP4319804B2 - Icカードアプリケーションプログラム、icカードおよびライセンス管理システム - Google Patents
Icカードアプリケーションプログラム、icカードおよびライセンス管理システム Download PDFInfo
- Publication number
- JP4319804B2 JP4319804B2 JP2002116789A JP2002116789A JP4319804B2 JP 4319804 B2 JP4319804 B2 JP 4319804B2 JP 2002116789 A JP2002116789 A JP 2002116789A JP 2002116789 A JP2002116789 A JP 2002116789A JP 4319804 B2 JP4319804 B2 JP 4319804B2
- Authority
- JP
- Japan
- Prior art keywords
- serial number
- application program
- command
- card
- license management
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、ソフトウエアのライセンス管理を容易に行えるように特別な機能を設けたICカードに搭載されるアプリケーションプログラムに関する。
【0002】
【従来技術】
ICカード上に記録されて利用されるアプリケーションプログラムは、通常カード発行者の側で当該プログラムをICカードに搭載して利用可能な状態として利用者に配布する。そのようにソフトウエアプログラムを搭載されたカードは、通常、一部の特定のカードでしかアプリケーションが動作しないように設定することはできない。
【0003】
【発明が解決しようとする課題】
例えば、アプリケーションAがロードされたカードXを10000枚製造し、利用者(顧客)へ配布すると仮定する。この時、利用者より「カードは社員全員に配布するが、アプリケーションAは、当面100人しか使用しないので、アプリケーションAの許諾使用料は最初の年は100人分としたい」といった要求があった場合、現状では、カードX1種類で、その提供する機能を最終利用者の属性等に応じて制限させるということはできなかった。
【0004】
本発明はこのような問題点を考慮してなされたものであり、一旦配布したカードを回収することなく、ICカードに搭載したアプリケーションプログラムの使用許可あるいは使用制限の管理を容易に行うことが可能なICカード搭載プログラムを提供することを課題とする。
【0005】
【課題を解決するための手段】
課題を解決するための第1の発明は、ICカードに搭載するために設計された次のような特徴を有するアプリケーションプログラムである。すなわち、固有のシリアル番号およびシリアル番号に対応した原照合キーを内部に保持しており、当初は、そのシリアル番号を読み出すコマンド、および、そのプログラムの全ての機能を有効にする活性化コマンドのみが有効であり、他の機能は利用不可能な状態とされているものであって、前記シリアル番号を読み出すコマンドによりシリアル番号が読み出された後で、前記シリアル番号に関連した照合キーを付加した前記活性化コマンドの命令を受けた際に、前記照合キーが前記原照合キーと一致することを検証できた時にのみ、当該プログラムの全ての機能を有効にするよう該ICカードを機能させることを特徴とするものである。シリアル番号に対応した原照合キーはカード発行者のみが知っている。したがって、原照合キーと等しい照合キーを受けた時は、当該プログラムを利用可能としてよいわけである。
【0006】
第1の発明に係るアプリケーションプログラムのより好ましい第2の態様は、第1の態様に係るアプリケーションプログラムにおいて、前記照合キーまたは原照合キーは、前記シリアル番号をカード発行者所有の暗号鍵により暗号化して作成したものとするものである。暗号方法と暗号鍵を決めておけば、シリアル番号が決まれば原照合キーが得られるため、カード発行者側で原照合キーをシリアル番号ごとに全て記録しておく必要はなくなる。
【0007】
第1の発明に係るアプリケーションプログラムのより好ましい第3の態様は、自らの機能を全て無効化するソフトウエア無効化コマンドを備えた第1の態様または第2の態様に係るアプリケーションプログラムであって、外部からこのコマンドを受けると、このコマンドに対する応答を返すこと以外の自らの全ての機能を提供不能とするとともに、前記アプリケーションプログラムのシリアル番号と前記原照合キーを含んだ応答を返すよう該ICカードを機能させることを特徴とするものである。
【0008】
第1の発明に係るアプリケーションプログラムのより好ましい第4の態様は、第2の態様に係るアプリケーションプログラムを公開鍵暗号方式を利用して改良したものである。すなわち、固有のシリアル番号およびシリアル番号に対応した秘密鍵を内部に保持しており、当初は、そのシリアル番号を読み出すコマンド、および、そのプログラムの全ての機能を有効にする活性化コマンドのみが有効であり、他の機能は利用不可能な状態とされているものであって、前記シリアル番号を読み出すコマンドによりシリアル番号が読み出された後で、前記シリアル番号に対応した公開鍵により前記シリアル番号を暗号化して生成した照合データを付加した前記活性化コマンドの命令を受けた際に、前記秘密鍵を用いて前記照合データを復号した結果が前記シリアル番号と一致することを検証できた時にのみ、当該プログラムの全ての機能を有効にするよう該ICカードを機能させることを特徴とするICカード搭載用のアプリケーションプログラムである。
【0009】
前記アプリケーションプログラムは、カード発行者のみが知っている当該シリアル番号に対応した公開鍵により暗号化したものと等しいデータを照合データとして受取った時のみ、全ての機能を利用可能とするわけである。
【0010】
第1の発明に係るアプリケーションプログラムのより好ましい第5の態様は、自らの機能を全て無効化するソフトウエア無効化コマンドをも備えた第4の態様に係るアプリケーションプログラムであって、外部からこのコマンドを受けると、このコマンドに対する応答を返すこと以外の自らの全ての機能を提供不能とするとともに、前記アプリケーションプログラムのシリアル番号を記述した部分とそのシリアル番号を自身の秘密鍵により暗号化した部分を含んで構成した前記ソフトウエア無効化コマンドに対する応答を返すよう該ICカードを機能させることを特徴とするものである。
【0011】
第1の発明に係るアプリケーションプログラムのより好ましい第6の態様は、固有のシリアル番号、シリアル番号に対応した秘密鍵および制御変数を内部に保持しており、当初は、そのシリアル番号および制御変数の値を読み出すコマンド、および、そのプログラムの全ての機能を有効にする活性化コマンドのみが有効であり、他の機能は利用不可能な状態とされているものであって、前記シリアル番号および制御変数の値を読み出すコマンドによりシリアル番号および制御変数の値が読み出された後で、前記シリアル番号に対応した公開鍵により前記シリアル番号と前記制御変数を暗号化して生成した照合データを付加した前記活性化コマンドの命令を受けた際に、前記秘密鍵を用いて前記照合データを復号した結果が前記シリアル番号と前記制御変数に各々一致することを検証できた時にのみ、当該プログラムの全ての機能を有効にするよう該ICカードを機能させることを特徴とするICカード搭載用のアプリケーションプログラムである。
【0012】
第1の発明に係るアプリケーションプログラムのより好ましい第7の態様は、一度全ての機能を有効化した後で、そのシリアル番号および制御変数の値を読み出すコマンド、および、そのプログラムの全ての機能を有効にする活性化コマンド以外は動作しない初期状態に戻るソフトウエア無効化コマンドを備えた第6の態様に係るアプリケーションプログラムであって、外部からこのコマンドを受けると、このコマンドに対する応答を返すことと、そのシリアル番号および制御変数の値を読み出すコマンド、および、前記活性化コマンド以外の機能を提供不能とするとともに、前記アプリケーションプログラムのシリアル番号を記述した部分とそのシリアル番号を自身の秘密鍵により暗号化した部分を含んで構成した無効化コマンドに対する応答を返し、前記制御変数の値を定められた手順により更新するよう該ICカードを機能させることを特徴とするものである。
【0013】
第1の発明の第8の態様は、前記制御変数の値を更新する際に、乱数発生アルゴリズムにより発生させた値を制御変数の新しい値とする第7の態様に係るICカード搭載用のアプリケーションプログラムである。乱数発生には、既存の擬似乱数発生アルゴリズムあるいはそれを用いた乱数発生関数を利用すればよい。
【0014】
課題を解決する第2の発明は、第1の発明に係るアプリケーションプログラムを搭載したICカードである。
【0016】
課題を解決する第3の発明は、ライセンス管理クライアント手段を搭載したカードリーダーライター装置を備えたクライアントコンピュータと、カード発行者が設置するライセンス管理サーバー手段を搭載しライセンス管理データベースを備えたサーバーコンピュータとが、ネットワークを通じて接続されることにより構成される第1の発明の第7の態様または第8の態様に係るアプリケーションプログラムのライセンス管理システムであって、前記ライセンス管理クライアント手段は、カード使用者の指示に従って対象とするICカードから前記カードリーダーライター装置を通じて前記アプリケーションプログラム内部に記録された前記シリアル番号および前記制御変数の値を読み出し、これをネットワークを通じて前記ライセンス管理サーバー手段に伝え、また、前記ライセンス管理サーバー手段からの応答を受取り、これを前記アプリケーションプログラムに与えることでその全ての機能を有効化するものであって、前記ライセンス管理サーバー手段は、配布したアプリケーションプログラムのシリアル番号に応じた公開鍵データを保持しているものであって、前記ライセンス管理クライアント手段から、前記シリアル番号および前記制御変数の値を受取った時は、シリアル番号に対応して用意された公開鍵により暗号化して照合データを作成し、このシリアル番号に関して照合データを作成したことを前記ライセンス管理データベースに記録した上で、前記ライセンス管理クライアント手段へ、生成した照合データを返送し、また、前記ライセンス管理クライアント手段から無効化応答を受取った時は、対応する公開鍵により前記暗号化部分を復号して前記シリアル番号記述部分と照合して正当なシリアル番号であることを検証して、正当と認められたシリアル番号を前記ライセンス管理データベースに登録するとともに、無効化登録が終了した旨を前記ライセンス管理クライアント手段に返すことによりアプリケーションプログラムの無効化および再活性化を漏れなく管理することができることを特徴としたライセンス管理システムである。
【0017】
【発明の実施の形態】
以下図面を用いて、まず、本発明によるアプリケーションプログラムと、それを用いたアプリケーションプログラム管理方法(以下「基本管理方法」と記す)、および、その方法を用いて構成したアプリケーションプログラムのライセンス管理システム1を説明する。最初に、基本管理方法の概要を説明する。
【0018】
まず、基本管理方法が対象とするアプリケーションプログラムは、以下のような特徴を持つのものとする。
1)アプリケーションには、シリアル番号と照合キー(シリアル番号を発行者の鍵で暗 号化したもの)が記録されている。
2)シリアル番号を読み出すコマンド(READコマンド)が実装されている。
3)アプリケーションに格納されている照合キーと、受付けた照合キーを比較して、一 致したらアプリケーションの全てのコマンドを使用可能にするコマンド(ENABLEコ マンド)が実装されている。
4)アプリケーションを使用不能にし、チェック用のコードを出力するコマンド(DISA BLEコマンド)が実装されている。
5)初期状態では、上記3コマンド以外の全てのコマンドは使用不可能な状態となって いる。
【0019】
次に、図1により、基本管理方法の対象プログラムであるプログラムAを使用可能にする手順を説明する。まず、利用者は、プログラムAを搭載しているICカードへREADコマンドを送信し、シリアル番号を読み出す(▲1▼)。つぎに、読み出したシリアル番号のリストをカードの枚数分だけ作成し、発行者へ送付する(▲2▼)。発行者側でシリアル番号を発行者の管理する鍵にて暗号化し、アプリケーションを利用可能にするための照合キーを生成する(▲3▼)。発行者側で生成した照合キーのリストを利用者へ送付する(▲4▼)。利用者は、プログラムAを搭載したICカードに対してENABLEコマンドを発行するとともに照合キーを送信し、プログラムAを利用可能にする(▲5▼)。ICカード内のプログラムAは、送り付けられた照合キーと内部に持つ照合キーを比較して、一致する時は、全ての機能を提供可能な状態にする。
【0020】
上記▲3▼の手順において、暗号化の方法は特に限定しない。DES暗号方式等の有名な暗号方式を用いてもよいが、他のどのような暗号方式を用いてもよい。また、ICカードに搭載された基本管理方法対象プログラムにおいて、そのプログラムに備えられている機能を利用(提供)可能とするしないの制御方法についても特に限定しない。ソフトウエアで実現できる方法であれば何を使ってもよい。例えば、用意されているコマンド毎に有効/無効を定めるフラグが用意されており、これらをICカードの不揮発メモリ領域に記憶させ、各コマンドの処理関数の最初に、このフラグを検査するという方法などが考えられる。
【0021】
次に、プログラムAを使用不可能にする手順を、図2により説明する。まず、カード使用者は、プログラムAを無効化したいICカードに対してDISABLEコマンドを発行し、レスポンスデータを得る(▲1▼)。このレスポンスデータにはそのアプリケーションプログラム固有のシリアル番号と、照合キーを含んでいる。次に、複数のカードに対してこうして作られたレスポンスデータを集め、レスポンスデータのリストを作成し、発行者へ送付する(▲2▼)。発行者側では、レスポンスデータからシリアル番号と照合キーを取り出す。レスポンスデータは、シリアル番号と照合キーとを含んで構成されたものである。そして照合キーはシリアル番号をカード発行者の鍵で暗合化したものであるという関係がある。そこでカード発行者は、レスポンスデータから照合キー部分を分離する(▲3▼)。そして、照合キーを発行者の管理する鍵にて復号する(▲4▼)。復号結果と、レスポンスデータから抽出したシリアル番号部分を比較する(▲5▼)。両者が一致していれば正しく無効化されていることが発行者側で確認できたことになる。カード発行者は、正しく無効化されたこのシリアル番号をライセンス管理記録データベースに記録するとともに、無効化処理が正常に終了したことを利用者へ通知する(▲6▼)。両者が一致しなかった場合は、その旨をカード利用者に通知する(▲6▼)。
【0022】
図3は、図1および図2で説明した基本管理方法を、人手を要せずに実現するライセンス管理システム1の構成を示したものである。以下、図1に従って、ライセンス管理システム1を説明する。
【0023】
10は、カード使用者が使用するクライアントコンピュータである。クライアントコンピュータ10は、カードリーダライタ装置12、および、ライセンス管理クライアント手段11を備えている。13はライセンス管理対象であるアプリケーションプログラム15を搭載したICカードである。ライセンス管理クライアント手段11は、カード利用者からの指示を受付けるユーザーインターフェース機能と、ネットワークを通じて後述のライセンス管理サーバー手段21と必要なデータをやり取りする通信機能を備えている。
【0024】
20は、カード発行者が設置したライセンス管理サーバー装置である。カードに搭載したアプリケーションプログラムのライセンス管理を行うための管理データベース22と、ライセンス管理サーバー手段21を備えている。
【0025】
ライセンス管理クライアント手段11は、起動されるとディスプレイ18にユーザーインターフェース画面を表示し、カード使用者からの入力を待つ。カード利用者が、入力キーボード等19から、搭載されているアプリケーションの有効化を指示する。すると、この指示を受けたライセンス管理クライアント手段11は、カード13に対して、カードリーダーライタ12を通じて、READコマンドを送信し、シリアル番号を読み出す(図1▲1▼に相当)。そしてこのシリアル番号を、照合キー要求メッセージとしてライセンス管理サーバー手段に送信する(図1▲2▼に相当)。
【0026】
ライセンス管理クライアント手段11とライセンス管理サーバー手段21は、あらかじめ定められたメッセージ交換プロトコルに従って、アプリケーションプログラムのライセンス管理を行うための処理を実行する。すなわち、ライセンス管理サーバー手段21は、ライセンス管理クライアント手段11から送り付けられた所定の書式で作成された照合キー要求メッセージを受付け、その中からシリアル番号を取出し図1▲3▼のステップと同じ手順で暗号化して照合キーを作成する。これを、照合キー要求メッセージに対する応答メッセージに含めて要求元へ返送する(図1▲4▼に相当)。
【0027】
クライアント手段11は、応答メッセージから目的の照合キーを取出し、これを、カードリーダーライタ12を通じて、ENABLEコマンドとともにICカード13に与える(図1▲5▼に相当)。この結果、ICカード13に搭載されたアプリケーションプログラムは全ての機能が有効となる。
【0028】
次に、アプリケーションプログラムを無効化する場合について説明する。ライセンス管理クライアント手段11が起動され、ディスプレイ18にユーザーインターフェース画面を表示してカード使用者からの入力を待っている状態で、カード利用者が、搭載されているアプリケーションの無効化を指示すると、ライセンス管理クライアント手段11は、カードリーダーライタ12を通じて、DISABLEコマンドをICカード13に与える。すると、アプリケーションプログラムは内部に記録されたシリアル番号と照合キーを含むレスポンスをライセンス管理クライアント手段11に返す(図1▲5▼に相当)。
【0029】
ライセンス管理クライアント手段11は、このレスポンスを含んだ所定の書式の無効化要求メッセージをライセンス管理サーバー手段21に送付する(図2▲2▼に相当)。ライセンス管理サーバー手段21は、受付けた無効化要求メッセージからシリアル番号部分と照合キー部分を取出し(図2▲3▼に相当)、照合キーを復号し(図2▲4▼に相当)、この結果と、先に分離したシリアル番号部分を比較する(図2▲5▼に相当)。両者が一致すれば、このシリアル番号のアプリケーションプログラム所有者からの正規の無効化要求メッセージであることが確認されたことになるので、ライセンス管理データベースに当該シリアル番号のソフトウエアプログラムは無効化されたことを登録する。そして正常に無効化処理が完了したことを無効化要求メッセージに対する返答メッセージとして返信する(図2▲6▼に相当)。両者が一致しなかった場合は、その旨を無効化要求メッセージに対する返答メッセージとして返信する(図2▲6▼に相当)。
【0030】
ライセンス管理システム1によれば、ライセンス管理クライアント手段11とライセンス管理サーバー手段21のメッセージ交換により、自動的にアプリケーションプログラムの有効化、無効化の状態がサーバー装置20により無人管理でき、したがって、ソフトウエアの使用料の徴収処理、実際に使用している利用者へのサービス情報の供給などを誤りなく行うことが可能となる。
【0031】
次に、本発明に係る実施形態の変形例として、今説明した基本管理方法を改良した管理方法(以下「改良管理方法」と記す)とこの改良管理方法を用いて構成したアプリケーションプログラムのライセンス管理システム2を説明する。
【0032】
改良管理方法では、アプリケーションプログラムを有効化する時に用いる照合データの作成・検証、無効化する時のレスポンスデータの作成・検証に公開鍵暗号方式を用いて、安全性を高めているところに特徴がある。尚、改良管理方法では「照合キー」の代わりに「照合データ」の語を用いる。したがって、改良管理方法が管理対象とするアプリケーションプログラム(以下「改良方法対応プログラム」と記す)は、内部にシリアル番号を記録しているだけでなく、そのシリアル番号に対応した秘密鍵データをも保持している。また、改良方法対象プログラムは、入力されたデータを自己の秘密鍵で復号したり、自己のシリアル番号を自己の秘密鍵で暗号化して出力する機能を持っている。また、発行者側では、配布したアプリケーションプログラムの個々のシリアル番号に対応した複数の公開鍵データを保持しているものとする。図5に改良管理方法によるアプリケーションプログラムを有効化する際の手順を、図6に改良管理方法によるアプリケーションプログラムを無効化する際の手順を示す。
【0033】
図5と図1を対比させながら、改良管理方法により改良方法対応プログラムの一つであるプログラムBを有効化する際の手順を説明する。まず、利用者は、プログラムBを使用可能にしたいICカードへREADコマンドを送信し、シリアル番号を読み出す(図5▲1▼)。つぎに、読み出したシリアル番号のリストをカードの枚数分だけ作成し、発行者へ送付する(図5▲2▼)。ここまでは、図1の▲1▼▲2▼と変わらない。発行者側では、図4に示すように、シリアル番号に応じて用意された公開鍵によって各シリアル番号を暗号化し、プログラムBを利用可能にするための照合データを生成する(図5▲3▼)。発行者側で生成した照合データのリストを利用者へ送付する(図5▲4▼)。照合データを受けた利用者は、プログラムBに対してENABLEコマンドを発行するとともに照合データを送信し、プログラムBを利用可能にする(図5▲5▼)。プログラムBは、送り付けられた照合データを自己の秘密鍵データで復号して、一致する時は、全ての機能を提供可能な状態にする。この手順において、▲3▼と▲5▼のステップが公開鍵暗号方式を用いた手順となっており図1に示した方法と相違している。
【0034】
次に、図6と図2を対比させながらプログラムBを無効化する際の手順について、説明する。まず、カード使用者は、アプリケーションを無効化したいカードに対してDISABLEコマンドを発行し、レスポンスデータを得る(図6▲1▼)。この時、プログラムBは、自身の全ての機能を無効化している。図2におけるレスポンスデータにはそのアプリケーションプログラム固有のシリアル番号と、照合キーを含んでいるが、改良管理方法においては、シリアル番号とシリアル番号を自己の秘密鍵で暗号化したものをレスポンスデータとする。次に、複数のカードに対してこうして作られたレスポンスデータを集め、レスポンスデータのリストを作成し、発行者へ送付する(図6▲2▼)。発行者側では、レスポンスデータからシリアル番号部分と暗号化部分を分離し(図6▲3▼)、暗号化部分については、対応する公開鍵データにより復号する(図6▲4▼)。この復号結果と、先のシリアル番号部分を比較する(図6▲5▼)。両者が一致していれば正しく無効化されていることが発行者側で確認できたことになる。カード発行者は、正しく無効化されたこのシリアル番号をライセンス管理記録データベースに記録するとともに、無効化処理が正常に終了したことを利用者へ通知する(図6▲6▼)。両者が一致しなかった場合は、その旨をカード利用者に通知する(図6▲6▼)。このように、改良管理方法では▲2▼▲6▼以外の手順は、公開鍵暗号方式を採用することにより、基本管理方法と相違がある。
【0035】
ライセンス管理システム1に関して、ライセンス管理サーバー手段21を、先に説明した図6のステップ▲3▼、▲4▼および▲5▼を実行するように改良すれば、改良方法対応プログラムに対して、改良管理方法を無人で行うライセンス管理システム2を実現できる。公開鍵暗号方式としてはRSA暗号方式などのいずれかの既存技術を利用すればよい。ライセンス管理クライアント手段11は、照合キーの代わりに照合データを扱うのであるが、これらは名目上異なるだけなので実質的な改良は不要である。
【0036】
ライセンス管理システム2はライセンス管理システム1の特長を全て備えているだけでなく、公開鍵暗号方式を採用することにより不正使用に対する安全性が強化されている。ライセンス管理システム2では、アプリケーション無効化時(図6▲1▼)に生成されるレスポンスデータを偽造することはほとんど不可能だからである。レスポンスデータは、改良方法対応プログラムの内部でそれぞれの改良方法対応プログラムのシリアル番号に応じて付与された秘密鍵を用いて生成される。したがって、実際にはアプリケーションプログラムを無効化していないにもかかわらず、レスポンスデータを偽造して、ライセンス管理サーバー手段21に送り付けることにより、以後のライセンス料を支払わずにアプリケーションプログラムの使用を続けるという不正を行うことは実質的に不可能である。
【0037】
尚、ライセンス管理システム1、ライセンス管理システム2ともに、管理対象とするアプリケーションプログラムにDISABLEコマンドを実装しないことにより、プログラムを有効化する時の管理のみ行うシステムとして利用することも可能である。その場合でも、有効化したプログラムのシリアル番号を自動的に管理するシステムとして有効に稼動する。
【0038】
これまで説明したライセンス管理システム1およびライセンス管理システム2では、無効化コマンドを受付けたアプリケーションプログラムは、「自らの全ての機能を提供不能とする」こととなっているため、無効化後、外部から再び活性化コマンドを送っても二度と使用可能状態に戻ることがない。ライセンス管理システム1およびライセンス管理システム2は、そのような「一度きりしか使えない」アプリケーションプログラムを対象にした管理方法を提供するシステムであった。アプリケーションプログラムとしては、これとは異なり、無効化コマンドを受けた場合は、「初期状態に戻る」という仕様の物も考えることができる。このような仕様のアプリケーションプログラムを、以下「再使用可能型」プログラムと呼ぶことにする。一度無効化しても、それは初期状態に戻るだけであるので、再び活性化コマンドを投げかければ何度でも再使用することができるからである。
【0039】
ライセンス管理システム1およびライセンス管理システム2では、カード発行者は、「再使用可能型」プログラムに関して、当該プログラムを有効化するたびにもれなくライセンス管理を行うことができない可能性がある。不正な利用者が、前回活性化した時の照合データを保存しておいて。それを用いれば、カード発行者に通知することなく当該プログラムを有効化できるからである。
【0040】
図7および図8は、「再使用可能型」プログラムに関して、当該プログラムを有効化するたびにもれなくライセンス管理を行うライセンス管理システム3の概要説明図である。ライセンス管理システム3のポイントは、前回カード発行者から受けた照合データが次回の有効化の際には有効に働かないようにすることである。そこで、図7に示すように、有効化する際、カード発行者に送るデータにはシリアル番号の他にシリアル番号と独立した制御変数を連結して送る(図7▲2▼)。制御変数は、適当な桁数の整数でよく、ICカードの不揮発メモリ領域に記録され初期値は零とする。カード発行者は、シリアル番号にこの制御変数を連結したデータに対して、公開鍵により暗号化して照合データを作成し(図7▲3▼)、アプリケーションプログラムは、この照合データを秘密鍵で復号して、復号した値が、内部で記憶されているシリアル番号と制御変数の値とそれぞれ一致しているかどうかを確認する(図7▲5▼)。確認できた場合に限りプログラムの全ての機能を有効にする。
【0041】
一方、無効化時には、図8に示すように、レスポンスデータを出力する際に、アプリケーション内部で、ICカードの不揮発メモリ領域に記録されている制御変数を適当な方法で変更する(図8▲1▼)。この変更は、例えばアプリケーション内部でまたはICカード内部の他のプログラムを用いて乱数を発生させその結果を新しい制御変数の値としてもよい。その際乱数発生アルゴリズムとしては、既存の擬似乱数発生アルゴリズムを用いればよい。あるいは単純に制御変数に1を加えて更新してもよい。このように無効化が行われるたびに、ICカード内部の状態を変化させておくことにより、次回のアプリケーション有効化の際は、カード発行者のもとで新しく作成された照合データでなければ有効化ができなくなるので、カード発行者は「再使用可能型」プログラムについても、有効化されるたびにきちんとライセンス管理を行うことが可能となる。
【0042】
【発明の効果】
以上詳しく説明したように、本発明のソフトウエアプログラムを用いることにより上記ライセンス管理方法を利用すること、およびこの方法をシステム化した上記ライセンス管理システムを実現することが可能となり、一旦配布したICカードを回収することもなく、ICカードに搭載されたアプリケーションプログラムのライセンス管理を誤りなく正確に行うことができ、またそのことを通じて対象ソフトウエア使用者にはライセンスを遵守させることが可能となるという顕著な効果を奏する。
【図面の簡単な説明】
【図1】 本発明の実施形態に係るアプリケーションプログラムを用いたライセンス管理方法の概要説明図である。
【図2】 本発明の実施形態に係るアプリケーションプログラムを用いたライセンス管理方法の概要説明図である。
【図3】 本発明の実施形態に係るアプリケーションプログラムを用いたライセンス管理システムの全体構成図である。
【図4】本発明の実施形態に係るアプリケーションプログラムを用いたライセンス管理方法の改良管理方法の概要説明図である。
【図5】 本発明の実施形態に係るアプリケーションプログラムを用いたライセンス管理方法の改良管理方法の概要説明図である。
【図6】 本発明の実施形態に係るアプリケーションプログラムを用いたライセンス管理方法の改良管理方法の概要説明図である。
【図7】 本発明の実施形態に係る再使用可能型プログラムに対応したライセンス管理方法の概要説明図である。
【図8】 本発明の実施形態に係る再使用可能型プログラムに対応したライセンス管理方法の概要説明図である。
【符号の説明】
9 ネットワーク
10 クライアントコンピュータ
11 ライセンス管理クライアント手段
12 カードリーダライタ装置
13 ICカード
15 管理対象アプリケーションプログラム
18 ディスプレイ
19 キーボード等
20 サーバーコンピュータ
21 ライセンス管理サーバー手段
22 ライセンス管理データベース
Claims (10)
- ICカードに搭載するアプリケーションプログラムであって、固有のシリアル番号およびシリアル番号に対応した原照合キーを内部に保持しており、当初は、そのシリアル番号を読み出すコマンド、および、そのプログラムの全ての機能を有効にする活性化コマンドのみが有効であり、他の機能は利用不可能な状態とされているものであって、前記シリアル番号を読み出すコマンドによりシリアル番号が読み出された後で、前記シリアル番号に関連した照合キーを付加した前記活性化コマンドの命令を受けた際に、前記照合キーが前記原照合キーと一致することを検証できた時にのみ、当該プログラムの全ての機能を有効にするよう該ICカードを機能させることを特徴とするアプリケーションプログラム。
- 前記照合キーおよび原照合キーは、アプリケーションプログラム固有の前記シリアル番号を前記アプリケーションプログラム発行者所有の暗号鍵により暗号化して作成したものである請求項1に記載のアプリケーションプログラム。
- 自らの機能を全て無効化するソフトウエア無効化コマンドを備えた請求項1または請求項2に記載のアプリケーションプログラムであって、外部からこのコマンドを受けると、このコマンドに対する応答を返すこと以外の自らの全ての機能を提供不能とするとともに、前記アプリケーションプログラムのシリアル番号と前記原照合キーを含んだ応答を返すよう該ICカードを機能させることを特徴とするアプリケーションプログラム。
- ICカードに搭載するアプリケーションプログラムであって、固有のシリアル番号およびシリアル番号に対応した秘密鍵を内部に保持しており、当初は、そのシリアル番号を読み出すコマンド、および、そのプログラムの全ての機能を有効にする活性化コマンドのみが有効であり、他の機能は利用不可能な状態とされているものであって、前記シリアル番号を読み出すコマンドによりシリアル番号が読み出された後で、前記シリアル番号に対応した公開鍵により前記シリアル番号を暗号化して生成した照合データを付加した前記活性化コマンドの命令を受けた際に、前記秘密鍵を用いて前記照合データを復号した結果が前記シリアル番号と一致することを検証できた時にのみ、当該プログラムの全ての機能を有効にするよう該ICカードを機能させることを特徴とするアプリケーションプログラム。
- 自らの機能を全て無効化するソフトウエア無効化コマンドを備えた請求項4に記載のアプリケーションプログラムであって、外部からこのコマンドを受けると、このコマンドに対する応答を返すこと以外の自らの全ての機能を提供不能とするとともに、前記アプリケーションプログラムのシリアル番号を記述した部分とそのシリアル番号を自身の秘密鍵により暗号化した部分を含んで構成した前記ソフトウエア無効化コマンドに対する応答を返すよう該ICカードを機能させることを特徴とするアプリケーションプログラム。
- ICカードに搭載するアプリケーションプログラムであって、固有のシリアル番号、シリアル番号に対応した秘密鍵および制御変数を内部に保持しており、当初は、そのシリアル番号および制御変数の値を読み出すコマンド、および、そのプログラムの全ての機能を有効にする活性化コマンドのみが有効であり、他の機能は利用不可能な状態とされているものであって、前記シリアル番号および制御変数の値を読み出すコマンドによりシリアル番号および制御変数の値が読み出された後で、前記シリアル番号に対応した公開鍵により前記シリアル番号と前記制御変数を暗号化して生成した照合データを付加した前記活性化コマンドの命令を受けた際に、前記秘密鍵を用いて前記照合データを復号した結果が前記シリアル番号と前記制御変数に各々一致することを検証できた時にのみ、当該プログラムの全ての機能を有効にするよう該ICカードを機能させることを特徴とするアプリケーションプログラム。
- 一度全ての機能を有効化した後で、そのシリアル番号および制御変数の値を読み出すコマンド、および、そのプログラムの全ての機能を有効にする活性化コマンド以外は動作しない初期状態に戻るソフトウエア無効化コマンドを備えた請求項6に記載のアプリケーションプログラムであって、外部からこのコマンドを受けると、このコマンドに対する応答を返すことと、そのシリアル番号および制御変数の値を読み出すコマンド、および、前記活性化コマンド以外の機能を提供不能とするとともに、前記アプリケーションプログラムのシリアル番号を記述した部分とそのシリアル番号を自身の秘密鍵により暗号化した部分を含んで構成した無効化コマンドに対する応答を返し、前記制御変数の値を定められた手順により更新するよう該ICカードを機能させることを特徴とするアプリケーションプログラム。
- 乱数発生アルゴリズムにより発生させた値を制御変数の新しい値とする請求項7に記載のICカード搭載用のアプリケーションプログラム。
- 請求項1から請求項8のいずれかに記載のアプリケーションプログラムを搭載したICカード。
- ライセンス管理クライアント手段を搭載したカードリーダーライター装置を備えたクライアントコンピュータと、カード発行者が設置するライセンス管理サーバー手段を搭載しライセンス管理データベースを備えたサーバーコンピュータとが、ネットワークを通じて接続されることにより構成される請求項7または請求項8に記載のアプリケーションプログラムのライセンス管理システムであって、前記ライセンス管理クライアント手段は、カード使用者の指示に従って対象とするICカードから前記カードリーダーライター装置を通じて前記アプリケーションプログラム内部に記録された前記シリアル番号および前記制御変数の値を読み出し、これをネットワークを通じて前記ライセンス管理サーバー手段に伝え、また、前記ライセンス管理サーバー手段からの応答を受取り、これを前記アプリケーションプログラムに与えることでその全ての機能を有効化するものであって、前記ライセンス管理サーバー手段は、配布したアプリケーションプログラムのシリアル番号に応じた公開鍵データを保持しているものであって、前記ライセンス管理クライアント手段から、前記シリアル番号および前記制御変数の値を受取った時は、シリアル番号に対応して用意された公開鍵により暗号化して照合データを作成し、このシリアル番号に関して照合データを作成したことを前記ライセンス管理データベースに記録した上で、前記ライセンス管理クライアント手段へ、生成した照合データを返送し、また、前記ライセンス管理クライアント手段から無効化応答を受取った時は、対応する公開鍵により前記暗号化部分を復号して前記シリアル番号記述部分と照合して正当なシリアル番号であることを検証して、正当と認められたシリアル番号を前記ライセンス管理データベースに登録するとともに、無効化登録が終了した旨を前記ライセンス管理クライアント手段に返すことによりアプリケーションプログラムの無効化および再活性化を漏れなく管理することができることを特徴としたライセンス管理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002116789A JP4319804B2 (ja) | 2002-04-18 | 2002-04-18 | Icカードアプリケーションプログラム、icカードおよびライセンス管理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002116789A JP4319804B2 (ja) | 2002-04-18 | 2002-04-18 | Icカードアプリケーションプログラム、icカードおよびライセンス管理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003316459A JP2003316459A (ja) | 2003-11-07 |
JP4319804B2 true JP4319804B2 (ja) | 2009-08-26 |
Family
ID=29534221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002116789A Expired - Fee Related JP4319804B2 (ja) | 2002-04-18 | 2002-04-18 | Icカードアプリケーションプログラム、icカードおよびライセンス管理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4319804B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210312015A1 (en) * | 2018-08-02 | 2021-10-07 | Nec Solution Innovators, Ltd. | License management device, program execution device and method |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4601971B2 (ja) * | 2004-02-10 | 2010-12-22 | 大日本印刷株式会社 | ソフトウェアの不正起動防止方法 |
JP2006004008A (ja) | 2004-06-15 | 2006-01-05 | Sony Computer Entertainment Inc | 処理管理装置、コンピュータ・システム、分散処理方法及びコンピュータプログラム |
JP4116024B2 (ja) | 2005-07-29 | 2008-07-09 | 株式会社ソニー・コンピュータエンタテインメント | ペリフェラルの使用管理方法、電子システム及びその構成装置 |
JP2007094739A (ja) * | 2005-09-28 | 2007-04-12 | Sony Corp | メディア起動型ソフトウェアプログラム、ソフトウェアプログラムの起動制御システム、及び、ソフトウェアプログラムの起動制御方法 |
-
2002
- 2002-04-18 JP JP2002116789A patent/JP4319804B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210312015A1 (en) * | 2018-08-02 | 2021-10-07 | Nec Solution Innovators, Ltd. | License management device, program execution device and method |
US11768922B2 (en) * | 2018-08-02 | 2023-09-26 | Nec Solution Innovators, Ltd. | License management device, program execution device and method |
Also Published As
Publication number | Publication date |
---|---|
JP2003316459A (ja) | 2003-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5572209B2 (ja) | 電子チケット処理の方法及び装置 | |
CN101689237B (zh) | 激活系统体系结构 | |
JP4118092B2 (ja) | 記憶装置および情報処理装置 | |
US5109413A (en) | Manipulating rights-to-execute in connection with a software copy protection mechanism | |
US20040255119A1 (en) | Memory device and passcode generator | |
JP2005122402A (ja) | Icカードシステム | |
JP2004013744A (ja) | デジタルコンテンツの発行システム及び発行方法 | |
JPWO2005117336A1 (ja) | 親子カード認証システム | |
US8156548B2 (en) | Identification and authentication system and method | |
AU778380B2 (en) | Portable authorization device for authorizing use of protected information and associated method | |
JPH07123086A (ja) | Icカードを利用した著作物通信管理システム | |
JP4319804B2 (ja) | Icカードアプリケーションプログラム、icカードおよびライセンス管理システム | |
JP2000215280A (ja) | 本人認証システム | |
JP2009009427A (ja) | 認証処理方法、そのシステムおよび端末装置 | |
KR20230044953A (ko) | 블록체인의 계정인증을 통해 파일을 관리하기 위한 컴퓨팅 방법 및 시스템 | |
JP3792808B2 (ja) | 認証方法及び認証システム | |
EP1104554A1 (en) | Improvements in and relating to electronic security devices | |
JP4406128B2 (ja) | コンテンツ取込み方法及びその装置 | |
JP4009131B2 (ja) | 共通テナント管理者によるicカード相互運用方法及びシステム | |
JP2001109625A (ja) | ソフトウェア課金システム | |
JP2003271462A (ja) | ソフトウエアライセンス管理方法およびシステム | |
JP2000112751A (ja) | ソフトウエア流通システムに用いる装置 | |
KR102666287B1 (ko) | Nft 이용권 기반 서비스 제공 방법 및 시스템 | |
CN117313165A (zh) | 一种软件机器码的生成方法 | |
CN117035770A (zh) | 一种基于nft技术的设备管理方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050413 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090105 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090304 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090331 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090507 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090529 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120605 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4319804 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120605 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130605 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140605 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |