Nothing Special   »   [go: up one dir, main page]

JP3758316B2 - Software license management apparatus and method - Google Patents

Software license management apparatus and method Download PDF

Info

Publication number
JP3758316B2
JP3758316B2 JP18118297A JP18118297A JP3758316B2 JP 3758316 B2 JP3758316 B2 JP 3758316B2 JP 18118297 A JP18118297 A JP 18118297A JP 18118297 A JP18118297 A JP 18118297A JP 3758316 B2 JP3758316 B2 JP 3758316B2
Authority
JP
Japan
Prior art keywords
software
proof
information
proof data
auxiliary information
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
Application number
JP18118297A
Other languages
Japanese (ja)
Other versions
JPH1124916A (en
Inventor
俊一 小島
寿平 中垣
健二 河野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP18118297A priority Critical patent/JP3758316B2/en
Publication of JPH1124916A publication Critical patent/JPH1124916A/en
Application granted granted Critical
Publication of JP3758316B2 publication Critical patent/JP3758316B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ソフトウエアのライセンスを管理する方法とその装置に関する。
【0002】
【従来の技術】
従来、ソフトウエアは、フロッピーディスク等の物理媒体に格納され、物理媒体として売買されてきた。しかし、ソフトウエアのようなディジタル著作物は、オリジナルと寸分違わぬコピーを容易に作成することが可能であるという特質を持つために、簡単に不正コピーされて使われることが多かった。近年、磁気ディスクなどコンピュータの記憶容量が大容量化されるにつれて、この不正コピーの数は増大しているといわれている。
【0003】
ソフトウエアは、ソフトウエアのプロバイダーとユーザとの間で、ライセンス契約(使用許諾契約)を結んで使用することが多いが、上述したようにソフトウエアは容易にコピーが可能であるため、ライセンス契約を行わずに不正コピーしたソフトウエアを利用するユーザも多い。
【0004】
また、企業や大学においても、社員や学生が企業内や大学内のコンピュータに勝手にソフトウエアを不正コピーして使用しているかどうかを把握する術がないため、知らぬ間に大量の不正コピーが行われていて、時に摘発されて、信用の失墜と膨大な賠償を被ることにもなりかねない。
【0005】
このような状況に対して、近年ライセンス管理システムと呼ばれるものが開発されてきている。ライセンス管理システムは、ライセンスを許可されていないユーザには、ソフトウエアの利用ができないように構成されたものであり、ソフトウエアを暗号化して配布したり、パスワードによる実行制御によって、利用制限をおこなっている。
【0006】
しかし、パスワードを他人に教えたり、暗号鍵ごとコピーして使ったりすることにより、結局は不正コピーと変わらない状況になってしまう。
【0007】
そこで、一つの解決方法として、米国Sassafras社のKeyServer(商標)に代表されるような、ネットワーク上のライセンス管理サーバによって実行可能数を管理する方法が考えられている。この管理手法では、オリジナルのソフトウエアを暗号化などの方法で利用を制限し、それを公開する。オリジナルのソフトウエアは別に管理者しかアクセスできないところに物理的に鍵を掛けて保存する。ユーザはソフトウエア実行時にライセンスサーバからライセンス(鍵)の供与を受け、実行制御を解除し利用している。オンラインで発行されたライセンス(鍵)がなければソフトウエアは実行することができず、発行された鍵はユーザには見えないようにすることで不正使用を防止している。
【0008】
【発明が解決しようとする課題】
しかし、このようなネットワーク上のライセンスサーバによる管理方式では、オフライン時での使用制限をおこなうことが不可能である。ネットワークにアクセスし難いモバイル環境でも、正当なライセンスをもつ場合は正当にソフトウエアを実行出来ることが必要である。つまり、ユーザにオンライン・オフライン両方の環境下で、同じように実行制御が可能で、かつ不正な二次コピーの配布を防止出来る仕組みにすることが必要である。本発明は、上記従来の課題を解決し、オフラインでも実行制御ができるソフトウェアライセンス管理装置を提供することを目的とする。
【0009】
【課題を解決するための手段】
本発明によれば、上記目的を達成するに、所定の手法たとえば暗号化によってその利用を制限したソフトウエアに対して、ユーザのアクセス資格を認証する証明データ検証手段を設ける。他方、ユーザ側には、そのソフトウエアを利用できることを示す証明データ生成手段を設け、証明データ検証手段と証明データ生成手段とが相互に通信してユーザのアクセス資格を検証する。さらに、ソフトウエア側に、以上の検証結果が成功したときのみソフトウエアの復号等を行いプログラムを実行できるようにする実行制御手段を設ける。また、証明データを生成する際にはユーザの固有情報と証明用補助情報とが必要であり、所定の発行装置が、ユーザの固有情報とソフトウエアのライセンス情報に基づいて証明用補助情報を発行する。
【0010】
この構成においては、ユーザはユーザの固有情報に対応する真正な証明補助情報を有していなければプログラムを実行させることができない。そしてこの証明補助情報を発行する装置が、証明補助情報の発行管理を通じてソフトウェアライセンスを管理することができる。
【0011】
【発明の実施の態様】
以下、本発明の実施例について説明する。
[全体の構成]
図1は、本発明の一実施例の構成を全体として示している。図1において、証明データ検証装置10はソフトウェアプロバイダにより提供される。この証明データ検証装置10は、利用を制限されたソフトウエア100を含み、さらに証明データ検証手段110と実行制御手段120とを有している。証明データ検証手段110は認証用データ111を生成し、証明データ生成装置20が管理する証明データ生成手段200に送る。ここでの通信手段は特に問わない、プロセス間の通信であってもネットワークを介した通信でも構わない。証明データ生成手段200は受け取った認証用データ111とその証明データを生成するのに必要なライセンスチケット201とユーザ固有情報202とから証明データ203を生成し、証明データ検証手段110に送る。証明データ検証手段110は、証明データ生成手段200から生成された証明データ203を受け取り、検証をおこなう。検証結果によって、実行制御手段120で利用制限を解除しソフトウエア100を利用できるようにする。
【0012】
ユーザは証明データ生成に先立ち、ライセンスチケット201をライセンスチケット発行装置30から発行してもらう。ライセンスチケット発行装置30はライセンスチケットをユーザの固有情報202とアクセス資格認証の特徴情報300とから生成する。
【0013】
なお、この実施例においては、図2に示すように、有効期限等の利用制限情報204を用いて利用を制限するようにしてもよい。図2において、図1と対応する箇所には対応する符号を付して詳細な説明を省略する。また、図1および図2において、証明データ生成装置20中において点線で囲んだ部分は耐タンパー装置で防御されている部分を部分を示す。
【0014】
[アクセス資格認証の概略]
以下に本実施例を詳細に説明する。まず、アクセス資格の認証について説明する。ユーザのアクセス資格の認証には、暗号化の手法が使用されるが、この例においてはRSA(Rivest−Shamir−Adelman)公開鍵暗号系を用いる。もちろん、他の種々の暗号を用いることができる。
【0015】
まず、ソフトウエアに対して認証用の公開暗号鍵ペアとして公開鍵Eと秘密鍵Dとそれに対する法数nとを設定する。法数nはソフトウエアに対して設定する。ライセンス資格認証の特徴情報300としてこの秘密鍵Dを使用する。
【0016】
この実施例では、以下の情報または計算を用いてライセンス資格の認証を行う。
▲1▼共通鍵暗号の鍵K:プログラムの少なくとも一部を暗号化して利用制限する。
▲2▼ユーザ固有情報dU
▲3▼ライセンス資格認証の特徴情報D
▲4▼ライセンスチケットt=D−F(dU,n)またはD−F(dU,n,L)
ただし、F()は好ましくは一方向ハッシュ関数である。Lは有効期限等の利用制限情報である。
▲5▼認証用データC=rEE (mod n)
ただし、rは乱数である。
▲6▼証明データ生成式:CtF(dU,n)またはCtF(dU,n,L) (mod n)
▲7▼検証手法:乱数効果を除去して鍵Kを復元し、暗号化プログラムを復号する。
【0017】
証明データ検証装置10と証明データ生成装置20とは相互にデータを通信して認証を行い、認証が成功するとソフトウェアを利用することが可能となる。認証は、まず、ソフトウェア利用の要求に応じて、証明データ検証装置10が認証用データ(CまたはC=r)111を証明データ生成装置20に送出し、証明データ生成装置20は、この認証用データ111とユーザ固有情報(dU)202とライセンスチケット(t=D−F(dU,n))201と対して所定の演算を実行して証明データ203を生成し、証明データ検証装置10に返す。ライセンスチケット(t)と、ユーザ固有情報(dU)と、認証の特徴情報(D,n)が対応していれば、証明データは、(rK)ED mod nとなり、DE mod n=1から、rKとなる。そして、乱数rを用いてKを算出する。この共通暗号鍵Kを用いて暗号化されているソフトウェアを復号して実行する。
【0018】
[ソフトウェアの利用制限手法]
つぎに、ソフトウェアの利用制限について説明する。この実施例では、ソフトウェアの利用制限の手法としては、共通鍵暗号系による暗号化を採用する。利用制限されたソフトウェア100(図1、図2)は図3に示すように予め処理されて、頒布される。図3において、まず、ソフトウェアの少なくとも一部を共通鍵暗号の鍵Kで暗号化する(S10)。つぎに鍵KをRSA暗号の公開鍵Eで暗号化し(S11、K’=KE mod n)、暗号化した鍵K’を証明データ検証手段110が取り出せる状態でソフトウェアに埋め込む(S12)。
【0019】
[認証用データ]
つぎに認証用データ111の一例を説明する。認証用データ111は、この例では、C=rEK’ mod nである。ただし、rは乱数である。認証用データは、図4に示すように生成される。まず、暗号化された秘密鍵データK’を取り出す(S21)。つぎに乱数rを設定し、乱数rは保持しておく(S22)。そしてC=rEK’ mod nを計算し、Cの値とnとの組みを認証用データ111とする。ここで、乱数rは毎回変化し予測不可能なので、同じ証明データを再度使用できないようにする。したがってリプレイアタックに対処できる。
【0020】
[ライセンス管理手法−ライセンスチケット発行]
つぎに、ソフトウエアのライセンス管理の例を説明する。この例においては、ユーザが使用するソフトウエアに対するライセンスチケットの発行枚数に応じて、各ソフトウエアのプロバイダにライセンスフィーを支払うようになっている。
【0021】
図5は、この管理例で用いるライセンスチケット発行装置30の構成をしめす。このライセンスチケット発行装置30は、ユーザの要求により、ユーザの証明データ生成に必要なライセンスチケット(t)201を生成し発行する装置である。
【0022】
図5において、ライセンスチケット発行装置30は、ライセンスチケット生成手段301、ユーザ情報管理手段302、ユーザ情報データベース310、ソフトウェア情報管理手段303、ソフトウェア情報データベース320およびライセンス数管理手段304を含んで構成されている。
【0023】
なお、先に説明したユーザ固有情報202とライセンス資格認証の特徴情報300としてのソフトウエアの秘密鍵Dとは、安全に秘密情報として管理されていなくてはならない。ユーザ固有情報(dU)202はユーザUに対する秘密情報でユーザ情報データベース310に安全に保存されている。ユーザへは証明データ生成手段200(図1)の一部として、安全な保護容器(例えばICカード)の中に保持されて渡される。この手順に関係する構成は本発明では限定しない。たとえば、別の第三者がこの配布をおこなってもよいし、ライセンスチケット発行装置30がこの機能を兼ねていてもかまわない。ユーザデータベース310へのアクセスはユーザ情報管理手段302によっておこなわれる。
【0024】
図6はユーザ情報データベース310の構成例を示す。図6に示すように、ユーザ情報データベース310では、ユーザの識別子としてユーザIDをもち、ユーザ名U、ユーザ固有情報dU、発行したライセンスチケットの履歴をリスト形式で持っている。ユーザ情報データベース310を参照することにより、ユーザごとの発行したライセンス枚数や発行の履歴を調べることができる。
【0025】
ソフトウエアに関する秘密鍵D(資格認証の特徴情報300)はライセンスチケット発行装置30が生成して、公開鍵Eをソフトウエアプロバイダに配布するか、または逆にソフトウエアプロバイダから秘密鍵Dを安全な手段で受け取り管理する方法が考えられる。このソフトウエアに対する公開鍵秘密鍵のペアの生成に関する構成は本発明では限定しない。秘密鍵Dはソフトウエア情報データベース320で安全に保持され、ソフトウエア情報管理手段303によって管理される。
【0026】
図7は、ソフトウエア情報データベース320の構成例を示す。図7に示すように、ソフトウェア情報データベース320では、ソフトウエアのIDや名称、RSA法数n、秘密情報Dの他に、ライセンスチケットの発行枚数、必要ならばそのリストを保持することにする。ソフトウエア情報データベース320によって、そのソフトウエアに対して何枚のライセンスチケットが発行されているかを確認できることとなる。
【0027】
図8は、ライセンスチケットの生成方法とそれに伴うデータベース310、320への操作を示す。図8において、まず、ユーザの要求により、発行するライセンスチケットのユーザUとソフトウエアnの情報を得る。すなわち、ユーザ情報データベース310からユーザ固有情報dUを取り出し(S30)、ソフトウエア情報データベース320から秘密鍵Dを得る(S31)。ライセンスチケットtはつぎの生成式により生成される(S32)。
【0028】
【数1】
t=D−F(dU,n)
ここでの関数F()は、上述のとおり、好ましくは一方向性ハッシュ関数である。関数の引数の各項は、単純な接合が考えられる。が本発明ではこれに限らない。すべての項目が関数の結果に影響するようなものであればどのような方式でもかまわない。
【0029】
最後にユーザ情報データベース310の該当ユーザの項目とソフトウエア情報データベース320の該当ソフトウエアの項目を共に更新する(S33)。
【0030】
適当な時期で、このソフトウエア情報データベース320の内容を調べて、各ソフトウエアに対するライセンスチケットの発行枚数によりソフトウエアプロバイダへライセンスフィーを支払う。
【0031】
[他のライセンス管理手法]
つぎに、ソフトウエアのライセンス管理の別の例を説明する。このライセンス管理の方法は、予め各ソフトウエアにはライセンス数の上限が設定されており、ライセンスチケットの枚数がその上限を超えては発行できないようにするものである。さらに、ライセンスチケットには有効期限を設ける。これにより、ライセンスチケットの失効の時間がくればソフトウエアは利用できなくなるので、新たな発行が可能になる。
【0032】
図9は、この管理手法に用いるソフトウエア情報データベース320の構成例を示す。図9に示すように、このソフトウェア情報データベース320では、ソフトウエアのIDや名称、ソフトウエアにユニークなRSA法数n、秘密情報Dの他に、予め設定されたライセンス数、現在の有効ライセンスチケット数と、必要ならばそのリストを保持することにする。このソフトウエア情報データベース320によって、そのソフトウエアに対して同時に設定されたライセンス数(上限)までのライセンスチケットが発行することができる。
【0033】
図10は、この管理手法にしたがうライセンスチケットの生成方法とそれに伴うデータベース310、320への操作を示す。図10において、まず、ユーザの要求により、発行するライセンスチケットのユーザUとソフトウエアnの情報を得る。すなわち、ユーザ情報データベース310からユーザ固有情報dUを取り出し(S40)、ソフトウエア情報データベース320から現在のライセンスチケット数が設定された上限を超えないかを調べて、現在のライセンスチケットの発行の可否を決める(S41、S42、S43)。発行が可能ならば、ソフトウエア情報データベース320から秘密鍵Dを取り出す(S46)。発行が不可能であれば、その旨をユーザに通知する(S45)。
【0034】
ライセンスチケットには利用制限情報Lを付属させることができる(S47)。これにより、例えば、ライセンスに有効期間を設定し、この結果、有効期間を過ぎた場合(または、有効期間前)使用することができないライセンスチケットを作成することができる。この場合、ライセンスチケットtはつぎの生成式で生成されて発行される(S48)。
【0035】
【数2】
t=D−F(dU,n,L)
ここでの関数F()は、上述のとおり、好ましくは一方向性ハッシュ関数である。関数の引数の各項は、単純な接合が考えられるが、本発明ではこれに限らない。すべての項目が関数の結果に影響するようなものであればどのような方式でもかまわない。
【0036】
最後にユーザ情報データベース310の該当ユーザの項目とソフトウエア情報データベース320の該当ソフトウエアの項目を共に更新する(S49)。
【0037】
このライセンス管理方式では、予め設定したライセンス数を超えてのユーザへの使用は不可能なので、ソフトウエアプロバイダへはその数のライセンスフィーを支払う。
【0038】
[証明データ生成]
図11は、証明データ203の生成方法の一例を示す。ここでは図9を参照して説明した管理手法に即して説明する。図11において、まず、証明データ検証装置10から認証用データ(C,n)を受け取る(S50)。つぎに受け取った認証用データ(C,n)のnの値に基づいて、ソフトウェア情報データベース320を参照して、対応するライセンスチケット(t)201と利用制限情報Lを取得する(S51)。このライセンスチケット201は、前述の方法でライセンスチケット発行装置30より発行される。次に、ライセンスチケットの利用制限情報をチェックする(S52)。例えば利用制限情報が有効期間であれば、現在時刻と比較する。利用が許容される場合には、つぎの式にしたがって証明データRを生成する(S53)。
【0039】
【数3】
R=CtF(dU,n,L)
利用制限情報Lとt=D−F(dU,n,L)とは組で構成され、Lの中に有効期間などの制限情報を織り込まれている。ユーザはLの偽造をおこなっても、対応するライセンスチケットtの偽造は不可能なので、ライセンスチケットの完全性は保たれている。
【0040】
また、証明データの計算に必要なユーザ固有情報dUは安全に保持・実行されなければならないので、ユーザ固有情報を保持する部分、および証明データの計算を計算する部分を、一般にはICカードのような外部からの観測を困難にするような小型演算装置を持ったデバイスで実装することが要望される。
【0041】
[証明データ検証]
図12は、証明データ203の検証と、そこから得られたKによる実行制御手段120によるソフトウエアの復号化の一例を示す。図12において、まず、証明データ検証装置10は証明データ生成装置20から証明データRを受け取る(S60)。証明データ検証手段110は、受け取った証明データR203をソフトウエアの公開鍵Eで暗号化(署名検証)をして、rKを得る(S61)。この乱数rの項を除去することが出来るのは、証明データ検証装置10のみである。rの項を除去し、Kを得る(S62)。実行制御手段120は、この得られたKの値をもって、利用を制限されたソフトウエア100を復号化して、実行をおこなう(S63)。
【0042】
以上説明したように、利用制限をされたソフトウエアに対する証明用補助情報としてのライセンスチケットをつかって、ユーザのアクセス資格を検証することにより、ソフトウエアの実行を可能にすることができる。ライセンスチケットの発行を管理することにより、ソフトウエアプロバイダへの正しい利用料(ライセンスフィー)を支払うことが可能になる。また第二の実施例で説明したように、ライセンスチケットの発行を予め定められたライセンス数の上限まで発行する管理をすることも可能になる。もちろん、これらの認証動作は全てローカルな環境で実行されるので、ソフトウエア利用時にオンラインである必要が全くない。
【0043】
本発明によるソフトウエアは利用制限がかかっており、それ単体では動作は不可能なので、CD―ROMにいれて配布したり、インターネット上のWWWサーバやFTPサーバなどに置くことが可能である。利用したいユーザはライセンスチケットを購入してソフトウエアの利用制限を解除して使用することができる。ライセンスチケットの有効期間を短くすることにより、一ライセンスチケットの発行に対しての代金を安く設定して、安く多量に販売するというライセンス形態も可能になる。
【0044】
なお、本発明は上述の実施例に限定されるものではなく、種々変更が可能である。例えば、アクセス資格認証にRSA公開鍵暗号系の手法を使用したが、他の暗号系も適用可能である。
【0045】
【発明の効果】
以上説明したように、本発明によれば、ソフトウエアの二次使用による不正使用をオンラインでも、オフラインでも防止することが可能になり、正当なライセンス管理システムを構築できる。
【図面の簡単な説明】
【図1】 本発明の実施例のライセンス管理装置の概略を示すブロック図である。
【図2】 上述実施例の変形例を示すブロック図である。
【図3】 上述実施例のソフトウエアの暗号化の一例を示す図である。
【図4】 上述実施例の認証用データの生成方法の一例を示す図である。
【図5】 上述実施例のライセンスチケット発行装置の一例を示す図である。
【図6】 上述実施例のユーザ情報データベースの一例を示す図である。
【図7】 上述実施例のソフトウエア情報データベースの一例を示す図である。
【図8】 上述実施例のライセンスチケットの生成方法の一例を示す図である。
【図9】 上述実施例のソフトウエア情報データベースの別の例を示す図である。
【図10】 上述実施例のライセンスチケットの生成方法の別の例を示す図である。
【図11】 上述実施例の証明データ生成方法の一例を示す図である。
【図12】 上述実施例の証明データ認証手段と実行制御手段の動作を示す図である。
【符号の説明】
10 証明データ検証装置
20 証明データ生成装置
30 アクセスチケット生成装置
100 利用を制限されたソフトウェア
110 証明データ検証手段
120 実行制御手段
200 証明データ生成生手段
201 ライセンスチケット
202 ユーザ固有情報
300 アクセス資格認証の特徴情報
301 ライセンスチケット生成手段
302 ユーザ情報管理手段
303 ソフトウェア情報管理手段
304 ライセンス数管理手段
310 ユーザ情報データベース
320 ソフトウェア情報データベース
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a method and apparatus for managing software licenses.
[0002]
[Prior art]
Conventionally, software is stored in a physical medium such as a floppy disk and sold as a physical medium. However, since digital works such as software have the property that it is possible to easily make copies that are exactly the same as the original, they were often illegally copied and used. In recent years, it is said that the number of illegal copies increases as the storage capacity of a computer such as a magnetic disk increases.
[0003]
Software is often used with a license agreement (license agreement) between the software provider and the user. However, as described above, the software can be easily copied. Many users use software that has been illegally copied without doing so.
[0004]
Also, even in companies and universities, there is no way to know whether employees or students are illegally copying and using software on computers in the company or university. Is being carried out and sometimes caught, it can lead to the loss of credit and enormous compensation.
[0005]
In response to this situation, a so-called license management system has been developed in recent years. The license management system is configured so that the software cannot be used by users who are not licensed, and the usage is restricted by encrypting and distributing the software or by controlling execution with a password. ing.
[0006]
However, by sharing the password with another person or by copying and using the encryption key, the situation becomes the same as unauthorized copying.
[0007]
Thus, as one solution, a method of managing the executable number by a license management server on a network, such as KeyServer (trademark) of Sassafras, Inc., has been considered. In this management method, the use of the original software is restricted by a method such as encryption, and it is made public. The original software is physically locked where it can only be accessed by the administrator. The user receives a license (key) from the license server at the time of software execution, releases the execution control, and uses it. Software cannot be executed without a license (key) issued online, and unauthorized use is prevented by making the issued key invisible to the user.
[0008]
[Problems to be solved by the invention]
However, in such a management method using a license server on the network, it is impossible to restrict use when offline. Even in a mobile environment where it is difficult to access the network, it is necessary to be able to execute software properly if you have a valid license. In other words, it is necessary to provide a mechanism that allows the user to perform execution control in the same manner in both online and offline environments and prevent unauthorized secondary copy distribution. It is an object of the present invention to provide a software license management apparatus that solves the above-described conventional problems and can perform execution control even offline.
[0009]
[Means for Solving the Problems]
According to the present invention, in order to achieve the above object, there is provided proof data verification means for authenticating a user's access qualification for software whose use is restricted by a predetermined method such as encryption. On the other hand, the user side is provided with proof data generation means indicating that the software can be used, and the proof data verification means and the proof data generation means communicate with each other to verify the user's access qualification. Furthermore, execution control means is provided on the software side so that the program can be executed by decrypting the software only when the above verification results are successful. Also, when generating certification data, user specific information and certification auxiliary information are required, and a predetermined issuing device issues certification auxiliary information based on the user specific information and software license information. To do.
[0010]
In this configuration, the user cannot execute the program unless he / she has authentic auxiliary information for proof corresponding to the user's unique information. The device that issues the auxiliary information for certification can manage the software license through the issue management of the auxiliary information for certification.
[0011]
BEST MODE FOR CARRYING OUT THE INVENTION
Examples of the present invention will be described below.
[Overall configuration]
FIG. 1 shows the configuration of an embodiment of the present invention as a whole. In FIG. 1, the proof data verification device 10 is provided by a software provider. The proof data verification device 10 includes software 100 whose use is restricted, and further includes proof data verification means 110 and execution control means 120. The proof data verification unit 110 generates authentication data 111 and sends it to the proof data generation unit 200 managed by the proof data generation device 20. The communication means here is not particularly limited and may be communication between processes or communication via a network. The proof data generation unit 200 generates proof data 203 from the received authentication data 111, the license ticket 201 necessary for generating the proof data, and the user specific information 202, and sends it to the proof data verification unit 110. The proof data verification unit 110 receives the proof data 203 generated from the proof data generation unit 200 and performs verification. Based on the verification result, the execution control unit 120 releases the use restriction so that the software 100 can be used.
[0012]
Prior to generating the certification data, the user issues a license ticket 201 from the license ticket issuing device 30. The license ticket issuing device 30 generates a license ticket from the user unique information 202 and the access qualification feature information 300.
[0013]
In this embodiment, as shown in FIG. 2, use may be restricted using use restriction information 204 such as an expiration date. In FIG. 2, portions corresponding to those in FIG. In FIGS. 1 and 2, a portion surrounded by a dotted line in the proof data generation device 20 indicates a portion protected by a tamper resistant device.
[0014]
[Outline of Access Credential Authentication]
This embodiment will be described in detail below. First, access qualification authentication will be described. An encryption method is used for authenticating the user's access qualification. In this example, a RSA (Rivest-Shamir-Adelman) public key cryptosystem is used. Of course, other various ciphers can be used.
[0015]
First, a public key E, a secret key D, and a modulus n for the public encryption key pair for authentication are set for the software. The modulus n is set for the software. This secret key D is used as the characteristic information 300 for license qualification authentication.
[0016]
In this embodiment, the license qualification is authenticated using the following information or calculation.
(1) Key K for common key encryption: At least a part of a program is encrypted to restrict use.
(2) User-specific information dU
(3) Feature information D for license qualification authentication
(4) License ticket t = DF (dU, n) or DF (dU, n, L)
However, F () is preferably a one-way hash function. L is usage restriction information such as an expiration date.
(5) Authentication data C = r E K E (mod n)
However, r is a random number.
(6) Proof data generation formula: C t C F (dU, n) or C t C F (dU, n, L) (mod n)
(7) Verification method: The random number effect is removed, the key K is restored, and the encryption program is decrypted.
[0017]
The proof data verification device 10 and the proof data generation device 20 perform authentication by communicating data with each other, and if the authentication is successful, the software can be used. Authentication, first, in response to a request of software use, the proof data verification device 10 sends the authentication data (C or C = r E K E) 111 in the proof data generation device 20, the proof data generation device 20, A predetermined operation is performed on the authentication data 111, the user specific information (dU) 202, and the license ticket (t = D F (dU, n)) 201 to generate proof data 203, and a proof data verification device Return to 10. If the license ticket (t), the user specific information (dU), and the authentication feature information (D, n) correspond to each other, the certification data becomes (rK) ED mod n, and DE mod n = 1, rK. Then, K is calculated using the random number r. The software encrypted using the common encryption key K is decrypted and executed.
[0018]
[Software usage restriction method]
Next, software usage restrictions will be described. In this embodiment, encryption by a common key cryptosystem is employed as a software usage restriction method. The use-limited software 100 (FIGS. 1 and 2) is processed in advance and distributed as shown in FIG. In FIG. 3, first, at least a part of the software is encrypted with the key K of the common key encryption (S10). Next, the key K is encrypted with the public key E of the RSA encryption (S11, K ′ = K E mod n), and the encrypted key K ′ is embedded in the software in a state where the proof data verification means 110 can extract (S12).
[0019]
[Authentication data]
Next, an example of the authentication data 111 will be described. In this example, the authentication data 111 is C = r E K ′ mod n. However, r is a random number. The authentication data is generated as shown in FIG. First, the encrypted secret key data K ′ is taken out (S21). Next, a random number r is set, and the random number r is retained (S22). Then, C = r E K ′ mod n is calculated, and the combination of the value of C and n is used as authentication data 111. Here, since the random number r changes every time and cannot be predicted, the same proof data cannot be used again. Therefore, the replay attack can be dealt with.
[0020]
[License Management Method-License Ticket Issue]
Next, an example of software license management will be described. In this example, a license fee is paid to each software provider according to the number of license tickets issued for the software used by the user.
[0021]
FIG. 5 shows the configuration of the license ticket issuing device 30 used in this management example. The license ticket issuing device 30 is a device that generates and issues a license ticket (t) 201 necessary for generating user certification data in response to a user request.
[0022]
In FIG. 5, the license ticket issuing device 30 includes a license ticket generating unit 301, a user information managing unit 302, a user information database 310, a software information managing unit 303, a software information database 320, and a license number managing unit 304. Yes.
[0023]
Note that the user-specific information 202 and the software secret key D as the license qualification feature information 300 described above must be securely managed as secret information. The user unique information (dU) 202 is secret information for the user U and is safely stored in the user information database 310. As a part of the proof data generation means 200 (FIG. 1), it is held and passed to the user in a safe protective container (for example, an IC card). The configuration related to this procedure is not limited in the present invention. For example, another third party may perform this distribution, or the license ticket issuing device 30 may also have this function. Access to the user database 310 is performed by the user information management means 302.
[0024]
FIG. 6 shows a configuration example of the user information database 310. As shown in FIG. 6, the user information database 310 has a user ID as a user identifier, and has a user name U, user-specific information dU, and a history of issued license tickets in a list format. By referring to the user information database 310, it is possible to check the number of licenses issued and the issuance history for each user.
[0025]
The software-related secret key D (characteristic authentication characteristic information 300) is generated by the license ticket issuing device 30 and the public key E is distributed to the software provider, or conversely, the secret key D is secured from the software provider. A method of receiving and managing by means is conceivable. The configuration relating to the generation of the public key / private key pair for the software is not limited in the present invention. The secret key D is securely held in the software information database 320 and managed by the software information management means 303.
[0026]
FIG. 7 shows a configuration example of the software information database 320. As shown in FIG. 7, in the software information database 320, in addition to the software ID and name, RSA modulus n, and secret information D, the number of license tickets issued and, if necessary, a list thereof are held. The software information database 320 can confirm how many license tickets have been issued for the software.
[0027]
FIG. 8 shows a method for generating a license ticket and an operation to the databases 310 and 320 associated therewith. In FIG. 8, first, information on the user U and the software n of the license ticket to be issued is obtained in response to a user request. That is, the user specific information dU is extracted from the user information database 310 (S30), and the secret key D is obtained from the software information database 320 (S31). The license ticket t is generated by the following generation formula (S32).
[0028]
[Expression 1]
t = D−F (dU, n)
The function F () here is preferably a one-way hash function as described above. Each term of the function argument can be a simple connection. However, the present invention is not limited to this. Any method is acceptable as long as all items affect the result of the function.
[0029]
Finally, the corresponding user item in the user information database 310 and the corresponding software item in the software information database 320 are both updated (S33).
[0030]
At an appropriate time, the contents of the software information database 320 are examined, and a license fee is paid to the software provider according to the number of license tickets issued for each software.
[0031]
[Other license management methods]
Next, another example of software license management will be described. In this license management method, an upper limit of the number of licenses is set in advance for each software, and the number of license tickets cannot be issued beyond the upper limit. In addition, the license ticket has an expiration date. As a result, the software can no longer be used if the license ticket expires, and a new issue becomes possible.
[0032]
FIG. 9 shows a configuration example of the software information database 320 used for this management method. As shown in FIG. 9, in the software information database 320, in addition to the software ID and name, the RSA modulus number n unique to the software, the secret information D, the number of licenses set in advance, the current valid license ticket We will keep a list of numbers and if necessary. The software information database 320 can issue license tickets up to the number of licenses (upper limit) set simultaneously for the software.
[0033]
FIG. 10 shows a license ticket generation method according to this management method and the operations on the databases 310 and 320 associated therewith. In FIG. 10, first, information on the user U and the software n of the license ticket to be issued is obtained in response to a user request. That is, the user-specific information dU is extracted from the user information database 310 (S40), and it is checked from the software information database 320 whether the current license ticket number exceeds the set upper limit, and whether or not the current license ticket can be issued is determined. Decide (S41, S42, S43). If it can be issued, the private key D is taken out from the software information database 320 (S46). If it cannot be issued, the fact is notified to the user (S45).
[0034]
Usage restriction information L can be attached to the license ticket (S47). As a result, for example, an effective period is set for the license, and as a result, a license ticket that cannot be used when the effective period has passed (or before the effective period) can be created. In this case, the license ticket t is generated and issued by the following generation formula (S48).
[0035]
[Expression 2]
t = D−F (dU, n, L)
The function F () here is preferably a one-way hash function as described above. Each term of the function argument can be a simple connection, but the present invention is not limited to this. Any method is acceptable as long as all items affect the result of the function.
[0036]
Finally, the corresponding user item in the user information database 310 and the corresponding software item in the software information database 320 are both updated (S49).
[0037]
In this license management method, use beyond the preset number of licenses is impossible for the user, so that number of license fees is paid to the software provider.
[0038]
[Generate proof data]
FIG. 11 shows an example of a method for generating the proof data 203. Here, a description will be given in accordance with the management method described with reference to FIG. In FIG. 11, first, authentication data (C, n) is received from the proof data verification device 10 (S50). Next, based on the value of n of the received authentication data (C, n), the software information database 320 is referenced to obtain the corresponding license ticket (t) 201 and usage restriction information L (S51). The license ticket 201 is issued from the license ticket issuing device 30 by the method described above. Next, the license ticket usage restriction information is checked (S52). For example, if the usage restriction information is a valid period, it is compared with the current time. If the use is permitted, the proof data R is generated according to the following equation (S53).
[0039]
[Equation 3]
R = C t C F (dU, n, L)
The usage restriction information L and t = D−F (dU, n, L) are configured in pairs, and restriction information such as a valid period is incorporated in L. Even if the user forges L, the corresponding license ticket t cannot be forged, so the integrity of the license ticket is maintained.
[0040]
In addition, since the user-specific information dU necessary for calculating the proof data must be safely held and executed, a part for holding the user-specific information and a part for calculating the proof data are generally used like an IC card. It is required to be mounted with a device having a small arithmetic unit that makes observation from the outside difficult.
[0041]
[Certification data verification]
FIG. 12 shows an example of verification of the proof data 203 and decryption of software by the execution control means 120 using K obtained therefrom. In FIG. 12, first, the proof data verification device 10 receives the proof data R from the proof data generation device 20 (S60). The proof data verification means 110 encrypts the received proof data R203 with the software public key E (signature verification) to obtain rK (S61). Only the proof data verification device 10 can remove the term of the random number r. The term r is removed to obtain K (S62). The execution control means 120 decodes the use-limited software 100 with the obtained value of K and executes it (S63).
[0042]
As described above, the software can be executed by verifying the user's access qualification by using the license ticket as auxiliary information for proof for the software whose use is restricted. By managing the issuance of license tickets, it is possible to pay the correct usage fee (license fee) to the software provider. Further, as described in the second embodiment, it is possible to manage to issue license tickets up to a predetermined upper limit of the number of licenses. Of course, since these authentication operations are all performed in a local environment, there is no need to be online when using the software.
[0043]
Since the software according to the present invention is restricted in use and cannot be operated alone, it can be distributed on a CD-ROM or placed on a WWW server or FTP server on the Internet. The user who wants to use can purchase a license ticket and use it after releasing the software usage restrictions. By shortening the validity period of the license ticket, it is possible to set a price for issuing one license ticket at a low price and to sell a large quantity at a low price.
[0044]
In addition, this invention is not limited to the above-mentioned Example, A various change is possible. For example, although the RSA public key cryptosystem technique is used for access qualification authentication, other cryptosystems are also applicable.
[0045]
【The invention's effect】
As described above, according to the present invention, it is possible to prevent unauthorized use due to secondary use of software both online and offline, and a legitimate license management system can be constructed.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an outline of a license management apparatus according to an embodiment of the present invention.
FIG. 2 is a block diagram showing a modification of the above embodiment.
FIG. 3 is a diagram illustrating an example of software encryption according to the embodiment.
FIG. 4 is a diagram illustrating an example of a method for generating authentication data according to the embodiment.
FIG. 5 is a diagram illustrating an example of a license ticket issuing apparatus according to the above-described embodiment.
FIG. 6 is a diagram illustrating an example of a user information database according to the embodiment.
FIG. 7 is a diagram illustrating an example of a software information database according to the embodiment.
FIG. 8 is a diagram illustrating an example of a method for generating a license ticket according to the embodiment.
FIG. 9 is a diagram showing another example of the software information database of the embodiment.
FIG. 10 is a diagram showing another example of a method for generating a license ticket in the embodiment.
FIG. 11 is a diagram illustrating an example of a proof data generation method according to the embodiment described above.
FIG. 12 is a diagram illustrating operations of the proof data authentication unit and the execution control unit of the above-described embodiment.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 10 Proof data verification apparatus 20 Proof data generation apparatus 30 Access ticket generation apparatus 100 Use restricted software 110 Proof data verification means 120 Execution control means 200 Proof data generation means 201 License ticket 202 User specific information 300 Features of access qualification authentication Information 301 License ticket generating means 302 User information managing means 303 Software information managing means 304 License number managing means 310 User information database 320 Software information database

Claims (13)

証明データ生成装置と、証明データ検証装置とを有し、
前記証明データ生成装置は、
前記証明データ検証装置から受け取った認証用データを記憶する第1の記憶手段と、
秘密に管理されるユーザの固有情報を記憶する第2の記憶手段と、
前記ユーザの固有情報と利用を制限されたソフトウェアに割り当てられ秘密に管理されるアクセス資格認証の特徴情報とに対し、第1の所定の計算を実行した実行結果である証明用補助情報を記憶する第3の記憶手段と、
前記第1の記憶手段に保持されている認証用データと、前記第2の記憶手段に記憶されている前記ユーザの固有情報と、前記第3の記憶手段に記憶されている前記証明用補助情報とに第2の所定の計算を施して証明データを生成する証明データ生成手段とを具備し、
前記証明データ検証装置は、
前記利用を制限されたソフトウェアを記憶するソフトウェア記憶手段と、
認証用データを記憶する第4の記憶手段と、
証明データを記憶する第5の記憶手段と、
前記第5の記憶手段に記憶されている前記証明データが、前記アクセス資格認証の特徴情報に基づいて生成されていることを検証する証明データ検証手段と、
前記証明データ検証手段による検証が成功した時のみ、前記ソフトウェア記憶手段に記憶されている前記ソフトウェアの利用を可能にする実行制御手段とを具備し、
前記ユーザの固有情報、前記アクセス資格の特徴情報および前記証明用補助情報が対応する場合に、前記証明データ検証手段が、
前記証明データが、前記アクセス資格認証の特徴情報に基づいて生成されて いる、
と検証するように、
前記証明用補助情報を生成するための前記第1の所定の計算と、前記証明データを生成するための前記第2の所定の計算とを選定し、
前記証明データ検証装置と、前記証明データ生成装置とが、互いに通信してユーザのアクセス資格認証をおこない、正当な前記証明用補助情報を有するユーザのみにソフトウェアの利用を可能にすることを特徴とするソフトウェアライセンス管理装置。
A proof data generation device and a proof data verification device;
The proof data generation device includes:
First storage means for storing authentication data received from the proof data verification device;
Second storage means for storing user-specific information managed secretly ;
Auxiliary information for proof that is an execution result of executing the first predetermined calculation is stored with respect to the unique information of the user and the characteristic information of access qualification authentication that is secretly managed and assigned to software whose use is restricted A third storage means;
Authentication data held in the first storage means, user specific information stored in the second storage means, and proof auxiliary information stored in the third storage means And proof data generating means for generating proof data by performing a second predetermined calculation,
The proof data verification device includes:
And software storage means for storing restricted software the use,
A fourth storage means for storing authentication data;
Fifth storage means for storing proof data;
Proof data verification means for verifying that the proof data stored in the fifth storage means is generated based on the characteristic information of the access qualification authentication;
An execution control means for enabling the use of the software stored in the software storage means only when the verification by the proof data verification means is successful,
When the user's unique information, the access qualification feature information and the proof auxiliary information correspond, the proof data verification means,
The proof data is generated based on the characteristic information of the access qualification authentication ;
And verify that
Selecting the first predetermined calculation for generating the proof auxiliary information and the second predetermined calculation for generating the proof data;
The proof data verification device and the proof data generation device communicate with each other to authenticate the user's access qualification, and enable use of software only for a user having the valid auxiliary information for proof. Software license management device.
前記ユーザ向けに前記証明用補助情報を発行する証明用補助情報発行装置をもち、発行の記録に基づいてソフトウエアの管理をおこなうことを特徴とする請求項1に記載のソフトウエアライセンス管理装置。  The software license management apparatus according to claim 1, further comprising a certification auxiliary information issuing device that issues the certification auxiliary information for the user, and managing software based on the issuance record. 前記ユーザ向けに前記証明用補助情報を発行する証明用補助情報発行装置を持ち、前記証明用補助情報を発行した数に基づいて、許諾したソフトウェアのライセンス数を管理することを特徴とする請求項1に記載のソフトウェアライセンス管理装置。  The apparatus has a certification auxiliary information issuing device for issuing the certification auxiliary information for the user, and manages the number of licenses of the licensed software based on the number of the certification auxiliary information issued. The software license management apparatus according to 1. 前記証明用補助情報発行装置は、さらに前記証明用補助情報を発行可能な上限数を記憶する発行上限記憶手段と、既に発行し、かつ有効な証明用補助情報の数を記憶する第6の記憶手段と、前記第6の記憶手段に記憶されている有効ライセンス数が、前記発行上限記憶手段に記憶した上限数に達すると、それ以上の証明用補助情報の発行を行わないライセンス数管理手段をもつことを特徴とする請求項2または3に記載のソフトウェアライセンス管理装置。  The proof auxiliary information issuing device further includes an issue upper limit storage means for storing the upper limit number that can issue the proof auxiliary information, and a sixth storage that stores the number of proof auxiliary information that has already been issued and is valid. And a number-of-licenses management unit that does not issue any additional certification auxiliary information when the number of valid licenses stored in the sixth storage unit reaches the upper limit number stored in the issuance upper limit storage unit. The software license management apparatus according to claim 2 or 3, further comprising: 前記証明データ生成装置において、利用制御情報を記憶する利用制御情報記憶手段をさらに備え、前記証明データ生成手段は、前記第1の記憶手段に保持されている認証用データと、前記第2の記憶手段に記憶されている前記ユーザの固有情報と、前記第3の記憶手段に記憶されている前記証明用補助情報と、前記利用制御情報記憶手段に記憶されている前記利用制御情報とに所定の計算を施して証明データを生成し、前記ユーザの固有情報と、前記アクセス資格認証の特徴情報と、前記利用制御情報とに対し、所定の計算を実行した実行結果である証明用補助情報を有するユーザのみに前記ソフトウェアの利用を可能にすることを特徴とする請求項1、2、3または4に記載のソフトウェアライセンス管理装置。  The proof data generation device further includes usage control information storage means for storing usage control information, wherein the proof data generation means includes authentication data held in the first storage means, and the second storage. Specific information of the user stored in the means, auxiliary information for proof stored in the third storage means, and the usage control information stored in the usage control information storage means. Providing proof data by performing calculation, and having auxiliary information for proof that is an execution result of executing a predetermined calculation for the unique information of the user, the characteristic information of the access qualification authentication, and the usage control information 5. The software license management apparatus according to claim 1, wherein only the user can use the software. 前記利用制御情報は、前記証明用補助情報の有効期間を示すデータを含むことを特徴とする請求項5に記載のソフトウェアライセンス管理装置。  6. The software license management apparatus according to claim 5, wherein the usage control information includes data indicating a validity period of the auxiliary information for certification. 既に発行した前記利用制御情報の有効期間情報により、前記第6の記憶手段に記憶されている有効ライセンス数の更新をおこなうライセンス数管理手段をもつことを特徴とする請求項5または6に記載のソフトウェアライセンス管理装置。  7. The license number management means for updating the number of valid licenses stored in the sixth storage means based on the validity period information of the usage control information that has already been issued. Software license management device. 前記利用を制限されたソフトウエアは、少なくとも一部分を暗号化した状態で前記ソフトウエア記憶手段に記憶され、前記アクセス資格認証の特徴情報が暗号化関数における第1の復号鍵であり、前記認証用データが前記暗号化した状態で前記ソフトウェア記憶手段に記憶された前記ソフトウェアの前記少なくとも一部分を復号する第2の復号鍵を前記第1の復号鍵に対応する暗号化鍵を用いて暗号化したものであり、前記証明データ生成手段によって生成された証明データが前記第2の復号鍵であり、前記第2の復号鍵を用いて前記暗号化されたプログラムの一部分を復号して、前記プログラムの実行をおこなうことを特徴とする請求項1、2、3、4、5、6または7に記載のソフトウエアライセンス管理装置。  The use-restricted software is stored in the software storage means in a state where at least a part is encrypted, and the characteristic information of the access qualification authentication is a first decryption key in an encryption function, and the authentication A data obtained by encrypting a second decryption key for decrypting at least a part of the software stored in the software storage means in a state where the data is encrypted by using an encryption key corresponding to the first decryption key And the proof data generated by the proof data generating means is the second decryption key, decrypting a part of the encrypted program using the second decryption key, and executing the program 8. The software license management apparatus according to claim 1, wherein the software license management apparatus performs the following operations. 少なくとも、前記第2の記憶手段と、前記証明データ生成手段とが、内部データおよび処理手続きを外部から観測することを困難ならしめる防御手段中に保存されていることを特徴とする請求項1、2、3、4、5、6、7または8に記載のソフトウエアライセンス管理装置。  The at least second storage means and the proof data generation means are stored in a defense means that makes it difficult to observe internal data and processing procedures from the outside. The software license management apparatus according to 2, 3, 4, 5, 6, 7 or 8. 少なくとも、前記第2の記憶手段と、前記証明データ生成手段とが、ICカードなどの携帯可能な小型演算装置として構成されていることを特徴とする請求項1、2、3、4、5、6、7または8に記載のソフトウエアライセンス管理装置。  At least the second storage unit and the proof data generation unit are configured as a portable small arithmetic device such as an IC card. The software license management apparatus according to 6, 7 or 8. 請求項1〜10に記載のソフトウェアライセンス管理装置において用いる証明用補助情報を発行する認証用補助情報発行装置において、
少なくともユーザの固有情報とソフトウェアのアクセス資格認証の特徴情報とに基づいて認証用補助情報を発行する手段と、
前記証明用補助情報を発行した数に基づいて、許諾したソフトウェアのライセンス数を管理する手段とを有することを特徴とするソフトウェアライセンス管理用の認証用補助情報発行装置。
In the authentication auxiliary information issuing device for issuing the auxiliary information for certification used in the software license management device according to claim 1,
Means for issuing auxiliary information for authentication based on at least user-specific information and characteristic information of software access qualification;
An auxiliary information issuing device for authentication for software license management, comprising means for managing the number of licenses of licensed software based on the number of issued auxiliary information for certification.
前記証明用補助情報の発行可能な上限数を記憶する発行上限記憶手段と、
既に発行し、かつ有効な証明用補助情報の数を記憶する有効ライセンス数記憶手段とをさらに有し、
前記ライセンス記憶手段に記憶されている有効ライセンス数が、前記発行上限記憶手段に記憶した上限数に達すると、それ以上の証明用補助情報の発行を行わないようにすることを特徴とする請求項11に記載のソフトウェアライセンス管理用の認証用補助情報発行装置。
Issuance upper limit storage means for storing an upper limit number of the proof auxiliary information that can be issued;
An effective license number storing means for storing the number of auxiliary information for proof already issued and valid;
The number of valid auxiliary information stored in the license storage means reaches the upper limit number stored in the issuance upper limit storage means so that no further certification auxiliary information is issued. The authentication auxiliary information issuing device for software license management according to claim 11.
証明データ生成装置が、証明データ検証装置から受け取った認証用データを記憶する第1の記憶ステップと、
前記証明データ生成装置が、秘密に管理されるユーザの固有情報を記憶する第2の記憶ステップと、
前記証明データ生成装置が、前記ユーザの固有情報と利用を制限されたソフトウェアに割り当てられ秘密に管理されるアクセス資格認証の特徴情報とに対し、第1の所定の計算を実行した実行結果である証明用補助情報を記憶する第3の記憶ステップと、
前記証明データ生成装置の証明データ生成手段が、前記第1の記憶ステップによって保持されている認証用データと、前記第2の記憶ステップによって記憶されている前記ユーザの固有情報と、前記第3の記憶ステップによって記憶されている前記証明用補助情報とに第2の所定の計算を施して証明データを生成するステップと、
前記証明データ検証装置が、利用を制限されたソフトウェアを記憶するステップと、
前記証明データ検証装置が、前記証明データ生成装置に送られている認証用データを記憶する第4の記憶ステップと、
前記証明データ検証装置が、前記証明データ生成装置から送られた証明データを記憶する第5の記憶ステップと、
前記証明データ検証装置が、前記第5の記憶ステップによって記憶されている前記証明データが、前記アクセス資格認証の特徴情報に基づいて生成されていることを検証するステップと、
前記証明データ検証装置が、前記検証が成功した時のみ、前記ソフトウェアの利用を可能にするステップとを有し、
前記ユーザの固有情報、前記アクセス資格の特徴情報および前記証明用補助情報が対応する場合に、前記証明データ検証手段が、
前記証明データが、前記アクセス資格認証の特徴情報に基づいて生成されて いる、
と検証するように、
前記証明用補助情報を生成するための前記第1の所定の計算と、前記証明データを生成するための前記第2の所定の計算とを選定することを特徴とするソフトウェアライセンス管理方法。
A first storage step in which the proof data generation device stores the authentication data received from the proof data verification device;
A second storage step in which the proof data generation device stores user-specific information managed secretly ;
The proof data generation device is an execution result obtained by executing a first predetermined calculation on the unique information of the user and the characteristic information of access qualification authentication that is secretly managed and assigned to software whose use is restricted. A third storing step for storing auxiliary information for proof;
The proof data generation means of the proof data generation device includes the authentication data held by the first storage step, the user specific information stored by the second storage step, and the third Performing a second predetermined calculation on the proof auxiliary information stored by the storing step to generate proof data;
The proof data verification device storing software whose use is restricted;
A fourth storage step in which the proof data verification device stores authentication data sent to the proof data generation device;
A fifth storage step in which the proof data verification device stores the proof data sent from the proof data generation device;
The proof data verification device verifying that the proof data stored in the fifth storage step is generated based on the characteristic information of the access qualification;
The proof data verification device comprises the step of enabling the use of the software only when the verification is successful;
When the user's unique information, the access qualification feature information, and the proof auxiliary information correspond, the proof data verification means,
The proof data is generated based on the characteristic information of the access qualification authentication ;
And verify that
A software license management method , wherein the first predetermined calculation for generating the certification auxiliary information and the second predetermined calculation for generating the certification data are selected .
JP18118297A 1997-07-07 1997-07-07 Software license management apparatus and method Expired - Fee Related JP3758316B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18118297A JP3758316B2 (en) 1997-07-07 1997-07-07 Software license management apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18118297A JP3758316B2 (en) 1997-07-07 1997-07-07 Software license management apparatus and method

Publications (2)

Publication Number Publication Date
JPH1124916A JPH1124916A (en) 1999-01-29
JP3758316B2 true JP3758316B2 (en) 2006-03-22

Family

ID=16096311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18118297A Expired - Fee Related JP3758316B2 (en) 1997-07-07 1997-07-07 Software license management apparatus and method

Country Status (1)

Country Link
JP (1) JP3758316B2 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3727001B2 (en) * 1999-05-31 2005-12-14 日本ビクター株式会社 Copy management method in content sales system and player for executing the method
US6996720B1 (en) 1999-12-17 2006-02-07 Microsoft Corporation System and method for accessing protected content in a rights-management architecture
JP4973899B2 (en) 2000-07-06 2012-07-11 ソニー株式会社 TRANSMISSION DEVICE, TRANSMISSION METHOD, RECEPTION DEVICE, RECEPTION METHOD, RECORDING MEDIUM, AND COMMUNICATION SYSTEM
JP5464084B2 (en) * 2000-07-06 2014-04-09 ソニー株式会社 Transmission device, transmission method, reception device, reception method, recording medium, and communication system
JP4649081B2 (en) * 2000-10-02 2011-03-09 キヤノン株式会社 PERIPHERAL DEVICE, ITS CONTROL METHOD, PROGRAM, AND STORAGE MEDIUM
JP2002108827A (en) 2000-10-03 2002-04-12 Ntt Docomo Inc Method for providing contents, equipment on providing side and equipment on using side
JP2002140637A (en) * 2000-10-30 2002-05-17 Digital Electronics Corp Device and method for electronic data rental and computer readable recording medium with electronic data rental program recorded thereon
JP2002342167A (en) * 2001-05-14 2002-11-29 Nippon Telegr & Teleph Corp <Ntt> Device for managing entity information
JP4763163B2 (en) * 2001-06-27 2011-08-31 富士通フロンテック株式会社 Transaction terminal device
JP4510392B2 (en) * 2002-03-15 2010-07-21 パナソニック株式会社 Service providing system for personal information authentication
KR100982515B1 (en) 2004-01-08 2010-09-16 삼성전자주식회사 Apparatus and method for constraining the count of access to digital contents using a hash chain

Also Published As

Publication number Publication date
JPH1124916A (en) 1999-01-29

Similar Documents

Publication Publication Date Title
JP4766249B2 (en) Token transfer method, token transfer system, and authority authentication permission server
KR100912276B1 (en) Electronic Software Distribution Method and System Using a Digital Rights Management Method Based on Hardware Identification
JP4278327B2 (en) Computer platform and operation method thereof
US6195432B1 (en) Software distribution system and software utilization scheme for improving security and user convenience
US5935246A (en) Electronic copy protection mechanism using challenge and response to prevent unauthorized execution of software
EP0895148B1 (en) Software rental system and method for renting software
US7809648B2 (en) System and method for software licensing
JP4746233B2 (en) Trusted computing platforms that limit the use of data
US5673316A (en) Creation and distribution of cryptographic envelope
US20060064756A1 (en) Digital rights management system based on hardware identification
JP4818664B2 (en) Device information transmission method, device information transmission device, device information transmission program
JP2004206435A (en) License management method, and license management system
JP3758316B2 (en) Software license management apparatus and method
US6651169B1 (en) Protection of software using a challenge-response protocol embedded in the software
JP5278495B2 (en) Device information transmission method, device information transmission device, device information transmission program
JP3641909B2 (en) Proof data generator
JP2008021021A (en) License authentication method for software
US20230283466A1 (en) Content protection system
JPH11215121A (en) Device and method for authentication
JPH10222064A (en) Digital information management system, terminal device, information management center, and method of controlling digital information
JP4187459B2 (en) Cryptographic processing method and apparatus, verification method and apparatus, and operation proxy method
JP2002132145A (en) Authentication method, authentication system, recording medium and information processor
Payne A cryptographic access control architecture secure against privileged attackers
JP2007011535A (en) Data file protection apparatus
JP2001109625A (en) Software charging system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051111

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: 20051213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051226

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100113

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110113

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120113

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120113

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130113

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130113

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140113

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees