JP3641909B2 - Proof data generator - Google Patents

Proof data generator Download PDF

Info

Publication number
JP3641909B2
JP3641909B2 JP18880197A JP18880197A JP3641909B2 JP 3641909 B2 JP3641909 B2 JP 3641909B2 JP 18880197 A JP18880197 A JP 18880197A JP 18880197 A JP18880197 A JP 18880197A JP 3641909 B2 JP3641909 B2 JP 3641909B2
Authority
JP
Japan
Prior art keywords
information
proof
authentication
access
user
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
JP18880197A
Other languages
Japanese (ja)
Other versions
JPH1132037A (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 JP18880197A priority Critical patent/JP3641909B2/en
Publication of JPH1132037A publication Critical patent/JPH1132037A/en
Application granted granted Critical
Publication of JP3641909B2 publication Critical patent/JP3641909B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ユーザの権限を証明するために生成された証明データの正当性を検証することによりユーザのアクセス資格を認証する技術に関し、とくに上記証明データを生成する証明データ生成装置に関するものである。
【0002】
【従来の技術】
本発明と同分野に属する先行技術としてプログラムの実行制御技術が知られている。プログラム実行制御技術は、
▲1▼アプリケーションプログラム中にユーザ認証のためのルーチンを埋め込み、
▲2▼該ルーチンはアプリケーションの実行を試みているユーザが正規の認証用の鍵を保有していることを検査し、
▲3▼前記認証用の鍵の存在が確認された場合に限りプログラムを続行し、それ以外の場合にはプログラムの実行を停止する
技術である。
【0003】
このような技術を利用することにより、認証鍵を保有する正規のユーザにのみアプリケーションプログラムの実行を可能ならしめることが出来る。当技術はソフトウェア頒布事業において実用化されており、製品として、例えばRainbow Technologies,Inc.社のSentinelSuperPro(商標)や、Aladdin Knowledge Systems Ltd.社のHASP(商標)等がある。
【0004】
これらの技術では、ユーザの認証鍵は、ソフトウェアベンダが、複製を防ぐためにハードウェア中のメモリに厳重に封入し、郵便などの物理的手段を用いてユーザに配布し、ユーザはこれを所有のパソコンなどに装着して利用する。
【0005】
これらの技術は、アプリケーションプログラムを作成する際に、プログラム作成者がユーザが持つ認証鍵を予め想定した上で、該認証鍵に基づいてプログラムの保護処理を行わなければならない。つまり、プログラム作成者は、鍵内蔵ハードウェアからの正しい返信をプログラム作成時に予測して、正しい返信を受けた場合にのみプログラムが正常に動作するようにプログラムの作成を行わなければならない。
【0006】
このような特徴を有する従来技術の利用形態は、基本的に以下の2通りとなる。
【0007】
▲1▼第1の方法では、ユーザの認証鍵をユーザ毎に異なるように用意する。即ち、ユーザ甲には認証鍵甲、ユーザ乙には認証鍵乙というように、ユーザ毎に異なる認証鍵を一つずつ用意する。
【0008】
▲2▼第2の方法では、プログラム作成者はアプリケーション毎にそれぞれ異なる認証鍵を用意する。即ち、アプリケーション甲には認証鍵甲、アプリケーション乙には認証鍵乙というように、アプリケーション毎に異なる認証鍵を一つずつ用意し、固有の認証鍵を識別するように各アプリケーションプログラムを作成する。
【0009】
しかし、これらのいずれの場合にも、以下に述べるような問題を有する。
【0010】
第1の方法の場合、プログラム作成者は、プログラム中の認証ルーチンをユーザ毎に適切に変えてプログラムを作成する必要がある。つまり、ユーザ毎に認証鍵が異なるので、プログラム中の認証ルーチンは該プログラムを利用するユーザ固有の認証鍵を識別するように作成されなければならず、プログラム作成者は利用ユーザの数だけ異なるプログラムを作成する必要がある。
【0011】
対象となるユーザが多数の場合、プログラムをユーザ毎に個別化する作業はプログラム作成者にとって耐えがたい労力を要求し、管理しなければならないユーザ認証鍵のリストも膨大なものとなる。
【0012】
第2の方法の場合、第1の方法の場合のようにユーザ毎にプログラムを個別的に作成する必要は無くなるが、逆に、ユーザは利用するアプリケーションの数だけ認証鍵を保持しなければならないこととなる。
【0013】
この制約はプログラム作成者及びユーザそれぞれに以下のような問題を惹起する。
【0014】
前述のように、認証鍵はハードウェアに厳重に封入した状態でユーザに配布する必要がある。従って、プログラム自身はネットワークを介して簡便に配布することができるのと対照的に、認証鍵を内蔵するハードウェアの配布は郵便等の物理手段に頼らざるを得ない。この制限は、コスト、時間、梱包の手間いずれをとっても、プログラム作成者とって大きな負担となる。
【0015】
プログラム作成者は、ユーザの要求に応えるべく、アプリケーション毎に異なるハードウェアを一定個数ストックしておかなければならず、在庫管理のコストを必要とする。
【0016】
また、ユーザは利用するアプリケーションを変更する度にハードウェアを交換しなければならないという煩雑さに甘んじなければならない。
【0017】
ユーザがあるアプリケーションを使いたいとしても、認証鍵が封入されたハードウェアが届くまで待たねばならず、即座に利用できないという点での不便さも生ずる。
【0018】
この問題を解決する技術として、本出願人は新たなアクセス資格検証手法を提案している(特願平08−062076号、現在未公開)。
【0019】
特願平08−062076号の提案では、証明用補助情報(アクセスチケット)を導入することにより、アクセス資格認証の特徴情報とユーザ固有情報とを独立させ、プロテクト側も、ユーザ側も1つの固有情報を準備しておけばすむようにしている。
【0020】
アクセスチケットは、特定のユーザの固有情報とアクセス資格認証の特徴情報とに基づいて計算されるデータであり、また、ユーザ固有情報を知らずに、アクセスチケットからアクセス資格認証の特徴情報を計算することは困難である。そして、ユーザ固有情報とアクセスチケットとの正しい組み合わせ、すなわち、ユーザ固有情報と該ユーザ固有情報に基づいて計算されたアクセスチケットの組み合わせが入力された場合に限って、正しい証明用データが計算される。
【0021】
したがってユーザはあらかじめ固有情報を保持し、プログラム作成者等のプロテクト者はユーザが所持する固有情報とは独立にアクセス資格認証の特徴情報を用意し、アクセスチケットをユーザの固有情報とアプリケーションプログラムの作成等に使用したアクセス資格認証の特徴情報とに応じて作成し、配布することにより、実行制御等のユーザのアクセス資格の認証を行う事ができる。
【0022】
この技術を用いて、アプリケーションプログラムにプロテクトを行ってユーザに配布し、アプリケーションプログラムの利用を希望するユーザに、アクセスチケットを提供するサービスが考えられる。
【0023】
希望するユーザに、ユーザ毎に異なる固有情報を封入したICカードなどの媒体を渡しておき、またプログラム作成者はアクセス資格認証の特徴情報を用いてプログラムにプロテクトをかけて配布し、プログラムの利用を希望するユーザに、プログラム作成者またはプログラム作成者から委託を受けたチケット発行業者がアクセスチケットを提供する。
【0024】
このようなサービスを考えた場合、いつどのようにして課金するかということが問題になる。この例の場合では、アクセスチケットを発行する際に、チケットの発行と引換えにプログラムの代金に相当する料金を徴収することができる。
【0025】
ところで、このようなプログラムの利用権の売買サービスを考える場合、以下のような権利の形態が考えられる。
▲1▼パーチェス(purchase):利用権を買いとってしまう方法。一度購入すると、永久に利用することができる。その後、利用する、しないにかかわらず、料金は同じである。
▲2▼ペイ・パー・ユース(pay−per−use):利用量課金とも呼ばれる。利用した量に応じて課金される。
▲3▼レント(rent):一定期間の利用権を購入する。期限が過ぎれば利用できなくなる。
【0026】
前述の特願平08−062076号の技術を用いた場合、パーチェスを実現することは容易であるが、レントを実現するのは困難である。
【0027】
ペイ・パー・ユースについては、利用する度毎にユーザが利用希望をチケット発行業者へ提出し、チケット発行業者は1回のみ使用可能なアクセスチケットを発行することにより実現することが可能であるが、頻繁にチケット発行操作が必要になる上に、1回のみ使用可能なアクセスチケットを実現するために、ユーザのICカード中に使用したチケットに対するログを記録していく必要があるため、あまり現実的ではない。
【0028】
この問題に対しては、本出願人は利用制御情報をアクセスチケットの資格認証手法に導入することを提案している(特願平08−191756号、現在未公開)。特願平08−191756号の手法では、特願平08−062076号に利用制御情報を導入し、情報を復号化する際に、この利用制御情報も用いるものである。利用制御情報の例としては、使用期限、使用可能回数、総使用可能時間、使用上限金額、処理の履歴を取るか否かの情報などが記載されている。
【0029】
利用制御情報が使用期限の場合には、レントを実現することが可能である。
【0030】
また利用制御情報が処理の履歴を取るという情報の場合には、一定期間後にその履歴を回収して集計することにより、利用した回数を計算し課金するという方法で、ペイ・パー・ユースに近い機能を実現することができる。さらに利用制御情報に1回あたりの利用額を記載するようにすれば、柔軟なペイ・パー・ユースを実現することが可能になる。
【0031】
つまり特願平08−191756号の手法では、前述した権利の形態パーチェス、ペイ・パー・ユースおよびレントを全部実現できることになる。
【0032】
次に、支払の方法について考える。支払の方法としては、以下の2つが考えられる。
【0033】
▲1▼チケット発行時に支払う方法:
チケット発行業者がアクセスチケットを発行する際に、支払う方法。
電子貨幣により支払う場合や、発行業者側で料金を記録し、銀行振り込みなどにより清算を行う場合などがある。
【0034】
▲2▼プリペイドで支払う方法:
ユーザが予めプリペイド度数を購入して、ICカード中などに保持しておき、購入の際や利用の際に、プリペイドから相当する度数を引き落とす。
【0035】
特願平08−191756号の技術を用いると、▲1▼チケット発行時に支払う方法で、前述した権利の形態パーチェス、ペイ・パー・ユースおよびレントを全部実現できる。
【0036】
他方、▲2▼プリペイドで支払う方法では、ペイ・パー・ユースは容易に実現できる。つまり、利用制御情報に1回あたりの利用額を記載し、認証を行う度に、保持しているプリペイド情報から、利用制御情報記載の度数分ずつ引き落とせばよい。
【0037】
しかし、▲2▼プリペイドで支払う方法で、パーチェスやレントを実現するのは困難である。パーチェスは最初の利用時にのみプリペイドによる課金を行い、2回目以降の利用時には課金を行わないという処理が必要なためである。
【0038】
パーチェスに関しては、利用制御情報に利用権の買取り額を記載しておき、最初の利用時にその額を保持しているプリペイド情報から引き落として、該利用したアクセスチケットの情報をICカードに登録するようにし、2回目以降の利用時には、利用しようとするチケットが既にICカードに登録されているかをチェックして、登録されている時にはプリペイド情報から引き落とさないように構成することで実現することも可能ではある。しかし、この登録情報は、非常に長い期間消すことはできないので、多くのチケットを使うような場合には、ICカードの記憶容量が不足することになり、あまり現実的な解決策ではない。
【0039】
レントの場合も、利用制御情報にレンタル額と有効期限を記載しておき、パーチェスと同様の方法を取ることで、実現することは可能ではあるが、同じくICカードの記憶容量が不足することになり、あまり現実的な解決策ではない。
【0040】
【発明が解決しようとする課題】
本発明は、以上のような問題点に鑑みなされたものであり、プリペイドで支払う方法においても、証明データ生成装置(ICカード)側に余分な負荷をかけることなく、パーチェスやレントを実現することを可能にすることを課題とする。
【0041】
【課題を解決するための手段】
本発明によれば、上述の課題を解決するために、ユーザのアクセス資格を認証するために生成され、正当性を検証される証明データを生成する証明データ生成装置に、認証用データを入力する認証用データ入力手段と、ユーザの固有情報を記憶するユーザ固有情報記憶手段と、ユーザの固有情報と、アクセス資格認証の特徴情報と、アクセス条件を記述した利用条件情報とに対し、所定の計算を実行して生成した証明用補助情報と、利用条件情報との組を含む証明用補助情報セットを記憶する証明用補助情報セット記憶手段と、入力された認証用データに対応する証明用補助情報セットを上記証明用補助情報セット記憶手段から取り出し、上記取り出した証明用補助情報セットの利用条件情報に従い、以降の処理を継続するかどうかの判断を行う利用条件判断手段と、上記利用条件判断手段において継続と判断されたときに、上記取り出した証明用補助情報セットと、上記認証用データ入力手段から入力された認証用データと、上記ユーザ固有情報記憶手段に記憶されている上記ユーザの固有情報とに所定の計算を施して証明データを生成し出力する証明データ生成出力手段とを設け、上記認証用データ入力手段から、第1の証明用補助情報セットを暗号関数における暗号化鍵で暗号化した暗号化証明用補助情報セットを入力し、上記利用条件判断手段は、上記証明用補助情報セット記憶手段から、入力された暗号化証明用補助情報セットに対応する第2の証明用補助情報セットを取り出し、上記取り出した第2の証明用補助情報セットの利用条件情報に従い、所定の処理を行った後、以降の処理を継続するかどうかの判断を行い、上記証明データ生成出力手段は、上記処理を行うことにより、上記暗号化証明用補助情報セットを復号化した結果である第1の証明用補助情報セットを出力するようにしている。
【0042】
つまり、通常の証明用補助情報セット(アクセスチケット)である第1の証明用補助情報セットを暗号化して暗号化証明用補助情報セットを作成しておき、この暗号化証明用補助情報セットへアクセスするための第2の証明用補助情報セットを用いて、通常の認証処理と全く同じ処理を行うことにより、暗号化証明用補助情報セットから、第1の証明用補助情報セットを復号化する。
【0043】
このように構成することにより、利用料金が無料のチケット(第1の証明用補助情報セット)を作成して暗号化し、暗号化されたチケットを復号化するためのチケット(第2の証明用補助情報セット)を発行し、このチケット(第2の証明用補助情報セット)の利用料金を有料としプリペイドで支払うように構成することで、全体としてプリペイドにおけるパーチェス機能の実現を可能にする。
【0044】
レント機能は、これに加えて第2の証明用補助情報セットの利用条件情報に有効期限情報を記載することで実現可能である。
【0045】
なお、暗号化されたチケットを復号化するには、通常のチケットの認証処理と同じ処理を行うように構成したので、比較的容量の少ないICカード内に、余分なプログラムやデータを入れることなく、効率的に実現することが可能である。
【0046】
【発明の実施の形態】
以下、この発明の実施例について説明する。
【0047】
図1はこの実施例の構成図を示す。この実施例では、証明データ生成装置内にプリペイド情報を保持し、そのプリペイド情報を用いて、アプリケーションプログラムのアクセス権を購入する例(パーチェス)について説明する。
【0048】
図1では、証明データ生成装置で生成され出力された証明データを検証する証明データ検証装置を含めて示す。
【0049】
まず、図1に基づいて、本実施例の構成について説明したあと、証明データ検証装置、証明データ生成装置の処理の流れをフローチャートで示しながら説明する。処理の流れの説明には、通常の認証処理を例にして説明し、利用条件情報Lには、1回の利用の度ごとにプリペイドから引き落とされる例について説明する。そして、通常の認証処理の説明の後に、アプリケーションプログラムのアクセス権を購入する例(パーチェス)について説明する。
【0050】
[実施例の構成]
図1は実施例の構成を全体として示すものであり、この図において、証明データ生成装置10はユーザが保持するものであり、例えばICカードのように内部に計算機能を持った携帯型の装置である。ICカード以外にも、計算機能を持ったPCカードや、携帯型情報ツール、あるいはサブノートパソコンなどでもよい。内部の情報が、外部から簡単に改竄されたりすることがないように防御されていることが望ましい。
【0051】
証明データ検証装置20はユーザがアプリケーションプログラムを使用するパソコンであり、パソコンのスロットに証明データ生成装置10であるICカードを装着して使用する。
【0052】
証明データ検証装置20は、大きく認証用データ生成部21と証明データ検証部22とから構成されている。認証用データ生成部21は、認証が必要な時に、認証用データを生成して、証明データ生成装置10に送付する。証明データ検証部22は、証明データ生成装置10から送り返された証明データが正しいかどうかを検証する。
【0053】
アプリケーションプログラムは、暗号化などによりプロテクトされており、ユーザがアプリケーションプログラムを利用しようとすると、証明データ検証装置20は、そのアプリケーションプログラムに対応した認証用データを作成し、証明データ生成装置10に送り、証明データ生成装置10から送り返された証明データを検証して、正しいと検証された場合に限り、アプリケーションプログラムのプロテクトを解除して、利用することを可能にする。
【0054】
一方、証明データ生成装置10は、ユーザ固有情報記憶部11、度数情報保持部12、アクセスチケット記憶部13、認証用データ入力部14、利用条件判断部15、証明データ生成出力部16を含んで構成される。
【0055】
ユーザ固有情報記憶部11は、ユーザの秘密情報を保持する部分であり、ユーザ毎に異なる情報である。ユーザ固有情報は、証明データ生成装置10が作成された時に封入され、ユーザにも取り出せないように構成されていることが望ましい。
【0056】
度数情報保持部12は、プリペイド情報を保持する部分であり、アプリケーションプログラムの利用や購入などに応じて、必要な額が減額されていく。額が少なくなった時には、増額することも可能である。増額の方法は、例えば、特願平9−21373号で提案されている手法を用いることができる。この手法では、度数情報と署名した度数情報とを用いて度数情報を増額する。度数情報保持部12における額の増減は、安全に行われることが必要であり、定められた方法以外でのアクセスができないように構成することが望ましい。
【0057】
アクセスチケット記憶部13は、複数のアクセスチケットを記憶している。アクセスチケットは、ユーザにアクセス資格を与えるものであり、アプリケーションプログラム作成者、またはアプリケーションプログラム作成者から委託を受けたチケット発行業者によって作成される。本実施例では、アクセスチケットは、ユーザの固有情報と、アクセス資格認証の特徴情報と、アクセス資格認証のアクセス条件を記述した利用条件情報とに対し、所定の計算を実行して計算された証明用補助情報と利用条件情報との組である。本実施例では、アクセスチケット記憶部は、ICカード中に構成されているが、アクセスチケットは発行された本人しか使えないため、コピーは自由であり、ICカード外部に構成しても構わない。
【0058】
認証用データ入力部14は、証明データ検証装置20から送られた認証用データを入力する部分である。
【0059】
利用条件判断部15は、入力された認証用データに対応するアクセスチケットをアクセスチケット記憶部13から取り出し、アクセスチケット中の利用条件情報を元に、利用条件を判断する。例えば、アクセスチケットの有効期限が切れていないか、利用料金は保持しているプリペイドで支払うのに足りているか、などの利用条件を判断し、以降の処理を継続するか否かを判断する。
【0060】
証明データ生成出力部16は、利用条件判断部15で継続と判断された時のみ、証明データを生成して出力する。証明データは、利用条件判断部15で取り出したアクセスチケット中の証明用補助情報と、認証用データと、ユーザの固有情報とに所定の計算を施して作成する。
【0061】
次に、具体例を挙げて、さらに詳細に説明する。ここでの説明は、通常の認証処理を例にして説明し、利用条件情報Lには、1回の利用の度ごとにプリペイドから引き落とされる例について説明する。
【0062】
図2は、図1の構成図に記号を付けたものである。記号は以下の説明と対応している。
【0063】
[通常の認証処理]
以下では、法nにおけるRSA(Rivest−Shamir−Adelman)暗号を用いた例について詳細に説明する。まず、通常の認証処理について説明する。以下の例では、アプリケーションプログラムの作成者であるソフトウェアベンダが、ICカードの発行からチケットの発行まですべてを行う例について説明する。この例ではソフトウェアベンダは、すべてのユーザの秘密情報duを知っている。これ以外にも、ICカードの発行とチケットとをチケット発行業者が行う構成も可能である。
【0064】
ソフトウェアベンダは、プロテクトしたいアプリケーションプログラムに対する暗号鍵を作成する。ここではRSA暗号を用いるので、大きな素数p,qを秘密に作成し、法数nをn=p・qとして作成する。次に法数nの元で暗号鍵Eと復号鍵Dを、
【0065】
【数1】
ED≡1 mod φ(n)
を満たすように生成する。ここでφ(n)はオイラー数であり、φ(n)=(p−1)(q−1)である。
【0066】
次にソフトウェアベンダは、共通暗号鍵Kを作り、プロテクトしたいアプリケーションプログラムの一部または全部を、Kで暗号化し、
【0067】
【数2】
K’=KE mod n
を計算して、K’を暗号化したアプリケーションプログラムに、第3者が取り出せないように埋め込んで配布する。
【0068】
このアプリケーションプログラムを利用したいユーザは、予めこれに対応するアクセスチケットを入手しておくことになる。
【0069】
ソフトウェアベンダは、ユーザからのアクセスチケット発行要求を受けて、アクセスチケットを発行する。ソフトウェアベンダは、要求したユーザの秘密情報duと、アプリケーションプログラムの暗号化の際に用いた暗号鍵(E,n)に対応する復号鍵(D,n)とをデータベースから取り出す。次にアクセスチケットに付与する利用条件情報Lを作成する。ここではプリペイドから引き落として課金するので、1回の利用について引き落とす利用額をLとする。
そして、これらの情報を用いて、
【0070】
【数3】
t=D−F(n,L,du)
として証明用補助情報tを作成する。ここで関数F()は一方向性の関数であり、一方向性ハッシュ関数MD5、SHAなどや、共通鍵暗号DES(Data Encryption Standard)などを用いることができる。
【0071】
ソフトウェアベンダは、(t,L,n)の組をアクセスチケットとしてユーザに発行する。
【0072】
ユーザが、アプリケーションプログラムを利用しようとすると、証明データ検証装置は、そのアプリケーションプログラムに対応した認証用データ(C,n)を作成し、証明データ生成装置に送る。
【0073】
この処理の流れを図3のフローチャートに示し、これに基づいて説明する。
(ステップS11):証明データ生成部21は、プロテクトされたアプリケーションプログラムから、K’とnとを取り出す。
(ステップS12):証明データ生成部は、乱数rを生成し、乱数保持部に格納する。
(ステップS13):C=rEK’ mod nを計算する。
(ステップS14):(C,n)の組を認証用データとして証明データ生成装置10に送付する。
【0074】
次に、証明データ生成装置10の流れを図4に示し、これに基づいて証明データ生成装置10の処理を説明する。
(ステップS21):認証用データ入力部14より、認証用データ(C,n)を入力する。
(ステップS22):利用条件判断部15は、nをキーにしてアクセスチケット記憶部を検索し、アクセスチケット(t,L,n)を取り出す。
(ステップS23):利用条件判断部15は、取り出したアクセスチケット中の利用条件L(利用額)と、度数情報保持部の度数情報Vとを比較する。
(ステップS24〜S25):V≧Lの時は、証明データ生成出力部16は、(ステップS26)に進む。そうでないときは、証明データ生成出力部は、エラーを出力して終了する。
(ステップS26):利用条件判断部15は、度数情報保持部12に保持されている度数情報Vを利用条件(利用額)Lの分だけ減額する。
(ステップS26〜S29):証明データ生成出力部16は、利用条件判断部15が取り出した証明用補助情報t、利用条件L(利用額)と、ユーザ固有情報記憶部11から読み出したduとを用いて証明データRを計算して出力する。
【0075】
【数4】
R’=CF(n,L,du) mod n
R=CtR’ mod n
図4では、証明データRを計算するのに、一旦R’の計算を分けている。これは、R’の計算にはユーザの秘密情報を用いるため、その処理が外部に漏れないように計算する必要があるが、一旦R’の計算が終われば、Rの計算は外部で行っても構わないためである。このようにR’とRとに分けて計算してもよいし、一度に計算しても構わない。
【0076】
次に、証明データ検証装置20の証明データ検証部の処理について説明する。証明データ生成装置10から出力された証明データRは、正しいユーザ固有情報duと、正しいアクセスチケット(正しい証明用補助情報t、正しい利用条件L)を用いて計算されたときには、
【0077】
【数5】

Figure 0003641909
となる。
【0078】
そこで、証明データ検証部22では、乱数保持部23から乱数rを取り出し、
【0079】
【数6】
-1R mod n
を計算することで、アプリケーションを暗号化していた共通暗号鍵Kを入手することができる。証明データ検証装置は、この共通暗号鍵Kでアプリケーションの暗号化されていた部分を復号し、アプリケーションを実行することができる。
【0080】
この例では、証明データ検証装置は、アプリケーションが正しく実行できたことをもって、正しく検証ができたと判断する。
【0081】
以上で通常の認証処理の説明を終了する。
【0082】
[パーチェス]
次に、プリペイド情報を用いて、アプリケーションプログラムのアクセス権を購入する(パーチェス)例について説明する。
【0083】
この機能を実現するには、通常のアクセスチケットである第1のアクセスチケットを暗号化して暗号化アクセスチケットを作成しておき、この暗号化アクセスチケットへアクセスするための第2のアクセスチケットを用いて、通常の認証処理と全く同じ処理を行うことにより、暗号化アクセスチケットから、第1のアクセスチケットを復号化する。
【0084】
そしてこのとき、第1のアクセスチケットは、利用料金が無料のチケットとして作成し、第2のアクセスチケットは、利用料金を有料としプリペイドで支払うように構成することで、全体としてプリペイドにおけるパーチェス機能の実現を可能にする。
【0085】
まず、パーチェスの機能を実現したいアプリケーションプログラムをAP1とする。上述の説明と同様に、AP1をプロテクトする。
【0086】
<アプリケーションプログラムAP1のプロテクトの説明>
ソフトウェアベンダは、プロテクトしたいアプリケーションプログラムに対する暗号鍵を作成する。ここではRSA暗号を用いるので、大きな素数p1,q1を秘密に作成し、法数n1をn1=p1・q1として作成する。次に法数n1の元で暗号鍵E1と復号鍵D1を、
【0087】
【数7】
1・D1≡1 mod φ(n1
を満たすように生成する。ここでφ(n1)はオイラー数であり、φ(n1)=(p1−1)(q1−1)である。
【0088】
次にソフトウェアベンダは、共通暗号鍵K1を作り、プロテクトしたいアプリケーションプログラムの一部または全部をK1で暗号化し、さらに共通暗号鍵K1を以下の式に従って、暗号鍵E1で暗号化して、K1’を生成する。
【0089】
【数8】
1’=K11 mod n1
そして、K1’を暗号化したアプリケーションプログラムに、第3者が容易に取り出せないように埋め込んで配布する。また、n1も、暗号化したアプリケーションプログラムに埋めこむ。
【0090】
ソフトウェアベンダは、作成した(n1,D1,φ(n1))の組をアクセスチケット情報データベースに記憶する。
【0091】
次に、プリペイド払いパーチェス・チケットの作成について説明する。図5は、証明用補助情報生成装置30の構成例を示したものである。この例では、第1の利用条件情報と第1の復号鍵とユーザ固有情報と第2の利用条件情報とを入力として、プリペイド払いパーチェス・チケットを出力する。図5において、入力部31は、第1の利用条件情報と第1の復号鍵とユーザ固有情報と第2の利用条件情報とを入力する部分である。第1復号鍵記憶部33は、入力部31から入力された第1の復号鍵を記憶する部分である。第1の復号鍵は、アプリケーションプログラムAP1の暗号化に用いた共通暗号鍵K1を暗号化した暗号鍵(E1,n1)に対応する復号鍵(D1,n1)である。
【0092】
ユーザ固有情報記憶部34は、入力部31から入力されたユーザ固有情報を記憶する部分である。これは、ユーザの証明データ生成装置10に格納されているものと同一のものである。
【0093】
ユーザがチケットの発行を依頼する時には、ユーザの識別情報Uと、ユーザが利用を希望するアプリケーションプログラムAP1から取り出したn1とを、ソフトウェアベンダに送る。ソフトウェアベンダは、ユーザの識別情報Uとユーザ固有情報duとを対応づけて保持しているユーザ情報データベースから、ユーザの識別情報Uに対応するユーザ固有情報duを検索することによってユーザ固有情報を得、また(n,D,φ(n))の組を保持しているアクセスチケット情報データベースから、n1に対応する復号鍵(D1,n1)を得て、証明用補助情報生成装置30に入力する。
【0094】
第1利用条件情報記憶部32と第2利用条件情報記憶部35は、それぞれ第1の利用条件情報と第2の利用条件情報とを記憶する部分である。第1の利用条件情報は、アプリケーションプログラムAP1の利用条件を記述したものであり、第2の利用条件情報は、プリペイド払いパーチェス・チケットの利用条件を記述したものである。プリペイド払いパーチェス・チケットの場合には、1回目の利用時に課金され、2回目以降の利用時には課金されないという特性を持つので、第1の利用条件情報には少なくとも無料であることを意味する情報が含まれており、第2の利用条件情報には、少なくとも有料であることを意味する情報が含まれている。
【0095】
第1チケット生成部36は、入力された第1の利用条件情報と第1の復号鍵とユーザ固有情報とに所定の計算を実行してアクセスチケットを生成する部分である。
【0096】
第1利用条件情報記憶部32と第1復号鍵記憶部33とユーザ固有情報記憶部34と第1チケット生成部36とからなる構成部分41は、通常のアクセスチケットを生成するのと同様の構成をなしている。
【0097】
第2の鍵生成部37は、第1チケット生成部36で生成された第1のアクセスチケットを暗号化するための鍵を生成する部分である。
【0098】
暗号化部38は、第1チケット生成部36で生成された第1のアクセスチケットを、第2の鍵生成部37で生成された暗号化鍵を用いて暗号化する部分である。
【0099】
第2チケット生成部39は、暗号化部38で暗号化された暗号化アクセスチケットを復号化するために必要となる第2のアクセスチケットを生成する部分である。
【0100】
チケット出力部40は、暗号化部38で暗号化された暗号化アクセスチケットと、第2チケット生成部39で生成された第2のアクセスチケットとを組み合わせて、プリペイド払いパーチェス・チケットとして出力する。
【0101】
<プリペイド払いパーチェス・チケットの作成>
以下に、プリペイド払いパーチェス・チケットの作成の方法について図6のフローチャートを用いて説明する。
【0102】
ソフトウェアベンダは、ユーザからのプリペイド払いパーチェス・チケット発行要求を受けて、プリペイド払いパーチェス・チケットを発行する。チケットの発行を依頼するユーザは、ユーザの識別情報Uと、ユーザが利用を希望するアプリケーションプログラムAP1から取り出したn1とを、ソフトウェアベンダに送る。
【0103】
(ステップS31):ソフトウェアベンダは、ユーザからのプリペイド払いパーチェス・チケット発行要求であるユーザの識別情報UとアプリケーションプログラムAP1から取り出したn1との組(U,n1)を入力する。また、アプリケーションプログラムAP1の利用条件を記述した第1の利用条件情報L1と、プリペイド払いパーチェス・チケットの利用条件を記述した第2の利用条件情報L2も入力する。ここでは、プリペイド払いパーチェス・チケットの生成を目的としているので、第1の利用条件情報L1は、利用料金が無料であることを意味する
【0104】
【数9】
1=0
であり、第2の利用条件情報L2は、パーチェスの料金が有料であることを意味する
【0105】
【数10】
2=A
とする。ただしAは0以外の数字であり、たとえば100である。
【0106】
(ステップS32):ユーザの識別情報Uとユーザ固有情報duとを対応づけて保持しているユーザ情報データベースから、ユーザの識別情報Uに対応するユーザ固有情報duを検索する。
(ステップS33):(n,D,φ(n))の組を保持しているアクセスチケット情報データベースから、n1に対応する第1の復号鍵(D1,n1)を検索する。
(ステップS34):ユーザがAP1にアクセスするための第1のアクセスチケットT1を作成する。
【0107】
【数11】
1=(t1,L1,n1
1=D1−F(n1,L1,du)
(ステップS35):第1のアクセスチケットT1を暗号化するために、第2の法数n2、第2の暗号鍵E2、第2の復号鍵D2を生成する。大きな素数p2,q2を生成し、以下の式が成り立つように、法数n2、暗号鍵E2、復号鍵D2を生成する。
【0108】
【数12】
2=p2・q2
2・D2≡1 mod φ(n2
φ(n2)=(p2−1)(q2−1)
(ステップS36):生成した第2の暗号鍵E2で第1のアクセスチケットT1を暗号化する。T1を暗号化したものをT1’とする。
【0109】
【数13】
1’=T12 mod n2
(ステップS37):暗号化されたアクセスチケットT1’をユーザが復号するための第2のアクセスチケットT2を作成する。
【0110】
【数14】
2=(t2,L2,n2
2=D2−F(n2,L2,du)
(ステップS38):((T1’,n2),T2)を組にしてプリペイド払いパーチェス・チケットとして出力する。
【0111】
ソフトウェアベンダは、出力されたプリペイド払いパーチェス・チケット((T1’,n2),T2)を、ユーザに送付する。
【0112】
次に、プリペイド払いパーチェス・チケットの使用例について説明する。
【0113】
<プリペイド払いパーチェス・チケットの使用例>
(a)プリペイド払いパーチェス・チケット((T1’,n2),T2)を受け取ったユーザは、まずT2をアクセスチケット記憶部13に格納する。
(b)次に、(T1’,n2)を自分が保持している証明データ生成装置10の認証用データ入力部14より入力する。
【0114】
以下、証明データ生成装置10における処理が図4に従って行われる。今、証明データ生成装置14の度数情報保持部12には、800度数のプリペイド情報Vが保持されているとする。(V=800)
(ステップS21):認証用データ入力部14より、認証用データ(T1’,n2)を入力する。
(ステップS22):利用条件判断部15は、n2をキーにしてアクセスチケット記憶部13を検索し、アクセスチケットT2=(t2,L2,n2)を取り出す。
(ステップS23):利用条件判断部15は、取り出したアクセスチケット中の利用条件L2と、度数情報保持部12の度数情報Vとを比較する。
(ステップS24):今、L2=100、V=800なので、
【0115】
【数15】
V≧L2
が成り立ち、(ステップS26)へ進む。
(ステップS26):利用条件判断部15は、度数情報保持部12に保持されている度数情報Vを利用条件L2の分だけ減額する。
【0116】
【数16】
V=800−100=700
つまり、度数情報Vは、プリペイド払いパーチェス・チケットの買取り料金として、100度数引き落とされ、残り700度数となる。
(ステップS27〜S29):証明データ生成出力部16は、利用条件判断部15が取り出した証明用補助情報t2、利用条件L2と、ユーザ固有情報記憶部11から読み出したduとを用いて証明データRを計算して出力する。
【0117】
【数17】
R’=T1F(n2,L2,du) mod n2
R=T1t2R’ mod n2
Rの計算を行うと、
【0118】
【数18】
Figure 0003641909
という計算が成り立ち、証明データ生成出力部16から、証明データRとして
【0119】
【数19】
R=T1
が出力される。
【0120】
つまり、(T1’,n2)を自分が保持している証明データ生成装置10の認証用データ入力部14より入力すると、L2が度数情報Vから引き落とされて、結果としてT1’が復号されたT1が出力される。
【0121】
(c)ユーザは、入手したT1をアクセスチケット記憶部13に格納する。
【0122】
(d)ユーザは、アプリケーションプログラムAP1を利用するためのアクセスチケットT1を入手できたので、アプリケーションプログラムAP1を利用する。
【0123】
以下、証明データ検証装置10における認証用データ生成処理が図3に従って行われる。
(ステップS11):認証用データ生成部21は、プロテクトされたアプリケーションプログラムから、K1’とn1とを取り出す。
(ステップS12):認証用データ生成部21は、乱数rを生成し、乱数保持部23に格納する。
(ステップS13):C=rE1’ mod n1を計算する。
(ステップS14):(C,n1)の組を認証用データとして証明データ生成装置10に送付する。
(e)証明データ生成装置10における処理が再び図4に従って行われる。
(ステップS21):認証用データ入力部14より、認証用データ(C,n1)を入力する。
(ステップS22):利用条件判断部15は、n1をキーにしてアクセスチケット記憶部13を検索し、アクセスチケットT1=(t1,L1,n1)を取り出す。
(ステップS23):利用条件判断部15は、取り出したアクセスチケット中の利用条件L1と、度数情報保持部12の度数情報Vとを比較する。
(ステップS24):今、L1=0、V=700なので、
【0124】
【数20】
V≧L1
が成り立ち、(ステップS26)へ進む。
(ステップS26):利用条件判断部15は、度数情報保持部12に保持されている度数情報Vを利用条件L1の分だけ減額する。
【0125】
【数21】
V=700−0=700
つまり、度数情報Vは、最初にプリペイド払いパーチェス・チケットの買取り料金として、100度数引き落とされているので、2回目以降の利用では引き落とされず、残り700度数のままとなる。
(ステップS27〜S29):証明データ生成出力部16は、利用条件判断部15が取り出した証明用補助情報t1、利用条件L1と、ユーザ固有情報記憶部11から読み出したduとを用いて証明データRを計算して出力する。
【0126】
【数22】
R’=CF(n1,L1,du) mod n1
R=Ct1R’ mod n1
つまり、
【0127】
【数23】
Figure 0003641909
(f)証明データ検証装置20の証明データ検証部22は通常の認証と同様に処理を行い、乱数保持部23から乱数rを取り出し、
【0128】
【数24】
-1R mod n1
を計算することで、アプリケーションを暗号化していた共通暗号鍵Kを入手することができる。証明データ検証装置は、この共通暗号鍵Kでアプリケーションの暗号化されていた部分を復号し、アプリケーションを実行することができる。
【0129】
これ以降は、何度アプリケーションプログラムAP1を実行しても、同様の処理が行われ、無料で利用することができる。
【0130】
以上説明したように、上記のように構成することで、プリペイド情報を用いて、アプリケーションプログラムのアクセス権を購入する(パーチェス)ことが可能になる。
【0131】
以上、プリペイドにおけるパーチェス機能の実現について説明した。
【0132】
これ以外にも、証明データ生成装置に時計を備え、第1のアクセスチケットの利用条件情報Lの中に、利用額が無料という情報に加えて、有効期限情報を記載し、第1のアクセスチケットの利用のたびに、時刻と比較することによって、プリペイドにおけるレント機能を実現することも可能である。
【0133】
さらに、別の例としては、証明データ生成装置に時計を備え、第2のアクセスチケットの利用条件情報Lの中に、有効期限情報を記載し、暗号化された第1のアクセスチケットの復号の際に、時刻と比較することによって、第1のアクセスチケットを配布(解凍)する期限を限定することなども可能である。
【0134】
また、本実施例では、RSA暗号を元にして説明を行ったが、これに限らず他の暗号方式を用いても構わない。また、アクセスチケットの実現式もこれに限ることはない。
【0135】
【発明の効果】
実行制御等のユーザのアクセス資格の認証を行うに際して、ユーザはあらかじめ固有情報を保持し、プログラム作成者等のプロテクト者はユーザが所持する固有情報とは独立にアクセス資格認証の特徴情報を用意し、アクセスチケットをユーザの固有情報とアプリケーションプログラムの作成等に使用したアクセス資格認証の特徴情報とに応じて作成し、配布することにより、ユーザおよびプロテクト者の双方を、アクセス権情報管理のわずらわしさから開放させるという特徴を残したまま、従来は困難だったプリペイドにおけるパーチェス機能およびレント機能を実現することを可能にした。
【0136】
さらにこれらの機能を実現するにおいて、通常のチケットの認証処理と同じ処理を行うように構成したので、比較的容量の少ないICカード内に、余分なプログラムやデータを入れることなく、効率的に実現することが可能である。
【図面の簡単な説明】
【図1】 本発明の実施例の構成を示すブロック図である。
【図2】 図1の構成を詳細に説明する図である。
【図3】 図1の証明データ検証装置の認証用データ生成処理を説明するフローチャートである。
【図4】 図1の証明データ生成装置の証明データ生成処理を説明するフローチャートである。
【図5】 図1の証明データの生成に用いるチケットを生成する証明用補助情報生成装置を示すブロック図である。
【図6】 図1の証明データの生成に用いるチケットの生成を説明する図である。
【符号の説明】
10 証明データ生成装置
11 ユーザ固有情報記憶部
12 度数情報保持部
13 アクセスチケット記憶部
14 認証用データ入力部
15 利用条件判断部
16 証明データ生成出力部
20 証明データ検証装置
21 認証用データ生成部
22 証明データ検証部
23 乱数保持部
30 証明用補助情報生成装置
32 第1利用条件情報記憶部
33 第1復号鍵記憶部
34 ユーザ固有情報記憶部
35 第2利用条件記憶部
36 第1チケット生成部
37 第2の鍵生成部
38 暗号化部
39 第2チケット生成部
40 チケット出力部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a technique for authenticating a user's access qualification by verifying the validity of proof data generated to prove the authority of the user, and more particularly to a proof data generating apparatus for generating the proof data. .
[0002]
[Prior art]
A program execution control technique is known as a prior art belonging to the same field as the present invention. Program execution control technology
(1) Embed a routine for user authentication in the application program,
(2) The routine checks that the user who is trying to execute the application has a proper authentication key,
(3) Continue the program only when the presence of the authentication key is confirmed, otherwise stop the program execution
Technology.
[0003]
By using such a technique, only an authorized user who has an authentication key can execute the application program. This technology has been put into practical use in the software distribution business, and as a product, for example, Rainbow Technologies, Inc. Sentinel SuperPro (trademark), Aladdin Knowledge Systems Ltd. HASP (trademark) of the company.
[0004]
In these technologies, the user's authentication key is strictly enclosed by the software vendor in memory in the hardware to prevent duplication, and distributed to the user using physical means such as mail, which the user owns. Use it by attaching it to a PC.
[0005]
In these techniques, when creating an application program, the program creator must preliminarily assume an authentication key possessed by the user, and perform protection processing of the program based on the authentication key. That is, the program creator must predict the correct reply from the hardware with a built-in key when creating the program, and create the program so that the program operates normally only when the correct reply is received.
[0006]
There are basically the following two modes of utilization of the prior art having such characteristics.
[0007]
(1) In the first method, a user authentication key is prepared to be different for each user. That is, one different authentication key is prepared for each user, such as authentication key A for user A and authentication key B for user B.
[0008]
(2) In the second method, the program creator prepares a different authentication key for each application. That is, a different authentication key is prepared for each application, such as an authentication key A for the application A and an authentication key B for the application B, and each application program is created so as to identify a unique authentication key.
[0009]
However, in any of these cases, there are problems as described below.
[0010]
In the case of the first method, the program creator needs to create a program by appropriately changing the authentication routine in the program for each user. In other words, since the authentication key is different for each user, the authentication routine in the program must be created so as to identify the authentication key specific to the user who uses the program, and the program creator differs by the number of users. Need to create.
[0011]
When there are a large number of target users, the task of individualizing the program for each user requires labor that cannot be tolerated by the program creator, and the list of user authentication keys that must be managed becomes enormous.
[0012]
In the case of the second method, it is not necessary to individually create a program for each user as in the case of the first method, but conversely, the user must hold authentication keys for the number of applications to be used. It will be.
[0013]
This restriction raises the following problems for each program creator and user.
[0014]
As described above, the authentication key needs to be distributed to users in a state of being strictly enclosed in hardware. Therefore, in contrast to the program itself being able to be easily distributed via the network, the distribution of the hardware containing the authentication key has to rely on physical means such as mail. This restriction places a heavy burden on the program creator regardless of cost, time, and packaging.
[0015]
In order to respond to the user's request, the program creator must stock a certain number of different hardware for each application, which requires inventory management costs.
[0016]
In addition, the user must be relieved by the complexity of having to replace the hardware every time the application to be used is changed.
[0017]
Even if the user wants to use an application, the user has to wait until the hardware in which the authentication key is enclosed arrives, which causes inconvenience in that it cannot be used immediately.
[0018]
As a technique for solving this problem, the present applicant has proposed a new access qualification verification method (Japanese Patent Application No. 08-062076, currently unpublished).
[0019]
In the proposal of Japanese Patent Application No. 08-062076, by introducing auxiliary information for proof (access ticket), the characteristic information of the access qualification authentication and the user specific information are made independent. I have to prepare the information.
[0020]
An access ticket is data calculated based on specific information of a specific user and characteristic information of access credential authentication, and also calculates characteristic information of access qualification authentication from the access ticket without knowing the user specific information. It is difficult. The correct proof data is calculated only when the correct combination of the user specific information and the access ticket, that is, the combination of the user specific information and the access ticket calculated based on the user specific information is input. .
[0021]
Therefore, the user holds the unique information in advance, and the protector such as the program creator prepares the characteristic information of the access qualification authentication independently of the unique information possessed by the user, and creates the access ticket as the user's unique information and application program. It is possible to authenticate the access qualification of the user such as execution control by creating and distributing it according to the characteristic information of the access credential authentication used for the above.
[0022]
Using this technique, a service that protects an application program and distributes it to a user and provides an access ticket to a user who wants to use the application program can be considered.
[0023]
Give the desired user a medium such as an IC card enclosing different unique information for each user, and the program creator protects and distributes the program using the characteristic information of access qualification, and uses the program The ticket issuer commissioned by the program creator or the program creator provides the access ticket to the user who desires the service.
[0024]
When considering such a service, how and when to charge is a problem. In the case of this example, when issuing an access ticket, a fee corresponding to the price of the program can be collected in exchange for issuing the ticket.
[0025]
By the way, when considering such a program usage right trading service, the following types of rights can be considered.
(1) Purchase: A method of purchasing usage rights. Once purchased, it can be used forever. After that, the fee is the same whether you use it or not.
(2) Pay-per-use: It is also called usage charge. Charged according to the amount used.
(3) Rent: Purchase usage rights for a certain period. Cannot be used after the deadline has passed.
[0026]
When using the technique of the above-mentioned Japanese Patent Application No. 08-062076, it is easy to realize purchase, but it is difficult to realize rent.
[0027]
Pay-per-use can be realized by the user submitting a request for use to the ticket issuer each time it is used, and the ticket issuer issues an access ticket that can be used only once. In addition, since it is necessary to frequently issue a ticket, it is necessary to record a log for the ticket used in the user's IC card in order to realize an access ticket that can be used only once. Not right.
[0028]
For this problem, the present applicant has proposed to introduce the usage control information into the access ticket qualification authentication method (Japanese Patent Application No. 08-191756, currently unpublished). In the method of Japanese Patent Application No. 08-191756, usage control information is introduced into Japanese Patent Application No. 08-062076, and this usage control information is also used when the information is decoded. As examples of the usage control information, usage expiration date, usage count, total usage time, usage upper limit amount, information on whether or not to take processing history, and the like are described.
[0029]
When the usage control information is the expiration date, rent can be realized.
[0030]
In addition, when the usage control information is information that takes a processing history, it is close to pay-per-use by calculating and billing the usage count by collecting and aggregating the history after a certain period of time. Function can be realized. Furthermore, if the usage amount per time is described in the usage control information, flexible pay-per-use can be realized.
[0031]
That is, according to the technique of Japanese Patent Application No. 08-191756, the above-described rights purchase, pay-per-use, and rent can all be realized.
[0032]
Next, consider the payment method. The following two methods can be considered.
[0033]
(1) Payment method when issuing a ticket:
A payment method when a ticket issuer issues an access ticket.
There are cases where payment is made with electronic money, and charges are recorded on the issuer side, and settlement is made by bank transfer.
[0034]
(2) How to pay by prepaid:
The user purchases the prepaid frequency in advance and holds it in an IC card or the like, and the corresponding frequency is deducted from the prepaid when purchasing or using.
[0035]
By using the technology of Japanese Patent Application No. 08-191756, (1) the above-mentioned rights form purchase, pay-per-use and rent can be realized by the method of paying at the time of ticket issuance.
[0036]
On the other hand, pay-per-use can be easily realized by the method (2) of prepaid payment. In other words, the usage amount per time is described in the usage control information, and each time authentication is performed, it is sufficient to deduct from the stored prepaid information by the number of times described in the usage control information.
[0037]
However, it is difficult to achieve purchase and rent by the method of paying by (2) prepaid. This is because purchase needs to be charged by prepaid only at the first use and not charged at the second and subsequent uses.
[0038]
As for purchases, the purchase amount of the usage right is described in the usage control information, and it is deducted from the prepaid information holding the amount at the first use, and the information of the used access ticket is registered in the IC card. In the second and subsequent use, it can be realized by checking whether the ticket to be used is already registered in the IC card, and not registering it from the prepaid information when it is registered. is there. However, since this registration information cannot be erased for a very long period of time, when many tickets are used, the storage capacity of the IC card is insufficient, which is not a practical solution.
[0039]
Even in the case of a rent, it is possible to realize it by describing the rental amount and the expiration date in the usage control information and adopting the same method as purchase, but the storage capacity of the IC card is also insufficient. It is not a very realistic solution.
[0040]
[Problems to be solved by the invention]
The present invention has been made in view of the above problems, and even in a method of prepaid payment, it is possible to realize purchase and rent without applying extra load on the proof data generation device (IC card) side. The challenge is to make this possible.
[0041]
[Means for Solving the Problems]
According to the present invention, in order to solve the above-described problem, authentication data is input to a proof data generation device that generates proof data that is generated to authenticate a user's access qualification and is verified for validity. Predetermined calculations for authentication data input means, user specific information storage means for storing user specific information, user specific information, access qualification feature information, and use condition information describing access conditions Proof auxiliary information set storage means for storing a proof auxiliary information set including a set of proof auxiliary information generated by executing and use condition information, and proof auxiliary information corresponding to the input authentication data The set is extracted from the proof auxiliary information set storage means, and a determination is made as to whether or not to continue the subsequent processing according to the usage condition information of the extracted proof auxiliary information set. Use condition determination means, and when the use condition determination means determines continuation, the extracted certification auxiliary information set, the authentication data input from the authentication data input means, and the user-specific information Proof data generation / output means for generating and outputting proof data by performing a predetermined calculation on the unique information of the user stored in the storage means, and from the authentication data input means, a first proof auxiliary An encryption certification auxiliary information set obtained by encrypting an information set with an encryption key in an encryption function is input, and the use condition determining means is input from the certification auxiliary information set storage means as input encryption certification auxiliary information. The second certification auxiliary information set corresponding to the set was extracted, and predetermined processing was performed according to the usage condition information of the extracted second certification auxiliary information set The proof data generating / outputting means determines whether to continue the subsequent processing, and the proof data generating / outputting means performs the above processing to thereby decrypt the encrypted proof auxiliary information set. An information set is output.
[0042]
In other words, the first certification auxiliary information set which is a normal certification auxiliary information set (access ticket) is encrypted to create an encrypted certification auxiliary information set, and the encrypted certification auxiliary information set is accessed. The first certification auxiliary information set is decrypted from the encrypted certification auxiliary information set by performing exactly the same processing as the normal authentication processing using the second certification auxiliary information set for performing the above.
[0043]
With this configuration, a ticket (second proof auxiliary information set) for creating and encrypting a ticket (first auxiliary information set for proof) that is free of charge and decrypting the encrypted ticket is created. An information set) is issued, and the use fee of this ticket (second certification auxiliary information set) is charged and paid in advance, so that the purchase function in prepaid can be realized as a whole.
[0044]
In addition to this, the rent function can be realized by describing expiration date information in the use condition information of the second certification auxiliary information set.
[0045]
In order to decrypt the encrypted ticket, it is configured to perform the same processing as the normal ticket authentication processing, so that there is no need to put extra programs and data in the relatively small capacity IC card. Can be realized efficiently.
[0046]
DETAILED DESCRIPTION OF THE INVENTION
Examples of the present invention will be described below.
[0047]
FIG. 1 shows a block diagram of this embodiment. In this embodiment, an example (purchase) in which prepaid information is held in the proof data generation apparatus and the access right of the application program is purchased using the prepaid information will be described.
[0048]
FIG. 1 shows a proof data verification device that verifies proof data generated and output by the proof data generation device.
[0049]
First, the configuration of the present embodiment will be described with reference to FIG. 1, and then the processing flow of the proof data verification device and the proof data generation device will be described with a flowchart. In the description of the processing flow, a normal authentication process will be described as an example, and in the usage condition information L, an example in which a withdrawal is made from the prepaid for each use will be described. An example (purchase) of purchasing the access right of the application program will be described after the description of the normal authentication process.
[0050]
[Configuration of Example]
FIG. 1 shows the configuration of an embodiment as a whole. In this figure, a proof data generation device 10 is held by a user. For example, a portable device having a calculation function inside, such as an IC card. It is. In addition to the IC card, a PC card having a calculation function, a portable information tool, or a sub-notebook personal computer may be used. It is desirable to protect internal information from being easily tampered with from the outside.
[0051]
The proof data verification device 20 is a personal computer in which a user uses an application program, and is used by mounting an IC card as the proof data generation device 10 in a slot of the personal computer.
[0052]
The proof data verification apparatus 20 is mainly composed of an authentication data generation unit 21 and a proof data verification unit 22. The authentication data generation unit 21 generates authentication data and sends it to the proof data generation device 10 when authentication is required. The proof data verification unit 22 verifies whether the proof data sent back from the proof data generation device 10 is correct.
[0053]
The application program is protected by encryption or the like, and when the user tries to use the application program, the proof data verification device 20 creates authentication data corresponding to the application program and sends it to the proof data generation device 10. The proof data sent back from the proof data generation device 10 is verified, and the application program is unprotected and can be used only when it is verified that the proof data is correct.
[0054]
On the other hand, the proof data generation device 10 includes a user specific information storage unit 11, a frequency information holding unit 12, an access ticket storage unit 13, an authentication data input unit 14, a use condition determination unit 15, and a proof data generation output unit 16. Composed.
[0055]
The user specific information storage unit 11 is a part that holds the secret information of the user, and is information that differs for each user. It is desirable that the user-specific information is enclosed when the proof data generation device 10 is created and configured so that it cannot be taken out by the user.
[0056]
The frequency information holding unit 12 is a part that holds prepaid information, and a necessary amount is reduced in accordance with use or purchase of an application program. When the amount decreases, it can be increased. As a method of increasing the amount, for example, the method proposed in Japanese Patent Application No. 9-21373 can be used. In this method, the frequency information is increased using the frequency information and the signed frequency information. The increase / decrease of the amount in the frequency information holding unit 12 needs to be performed safely, and it is desirable that the access is made only by a predetermined method.
[0057]
The access ticket storage unit 13 stores a plurality of access tickets. The access ticket gives access qualification to the user and is created by the application program creator or a ticket issuer commissioned by the application program creator. In this embodiment, the access ticket is a certificate obtained by executing a predetermined calculation on the user's unique information, the characteristic information of the access qualification authentication, and the use condition information describing the access condition of the access qualification authentication. It is a set of auxiliary information and usage condition information. In this embodiment, the access ticket storage unit is configured in the IC card. However, since the access ticket can only be used by the person who issued it, copying is free, and the access ticket storage unit may be configured outside the IC card.
[0058]
The authentication data input unit 14 is a part for inputting authentication data sent from the proof data verification device 20.
[0059]
The use condition determination unit 15 extracts an access ticket corresponding to the input authentication data from the access ticket storage unit 13 and determines the use condition based on the use condition information in the access ticket. For example, use conditions such as whether the access ticket has not expired or the use fee is sufficient to be paid by the prepaid held are determined, and it is determined whether or not to continue the subsequent processing.
[0060]
The proof data generation / output unit 16 generates and outputs proof data only when it is determined to be continued by the use condition determination unit 15. The proof data is created by performing predetermined calculations on the proof auxiliary information, the authentication data, and the user specific information in the access ticket extracted by the use condition determining unit 15.
[0061]
Next, a specific example is given and it demonstrates in detail. The description here will be described by taking a normal authentication process as an example, and in the usage condition information L, an example will be described in which the payment is deducted from the prepaid for each use.
[0062]
FIG. 2 is a diagram in which symbols are added to the configuration diagram of FIG. 1. The symbols correspond to the following explanations.
[0063]
[Normal authentication processing]
Hereinafter, an example using RSA (Rivest-Shamir-Adelman) cipher in modulus n will be described in detail. First, normal authentication processing will be described. In the following example, an example will be described in which a software vendor, who is the creator of an application program, performs everything from issuing an IC card to issuing a ticket. In this example, the software vendor knows the secret information du of all users. In addition, a configuration in which a ticket issuer issues an IC card and issues a ticket is also possible.
[0064]
The software vendor creates an encryption key for the application program to be protected. Here, since RSA encryption is used, large prime numbers p and q are secretly created, and a modulus number n is created as n = p · q. Next, the encryption key E and the decryption key D under the modulus n
[0065]
[Expression 1]
ED≡1 mod φ (n)
Generate to satisfy. Here, φ (n) is the Euler number, and φ (n) = (p−1) (q−1).
[0066]
Next, the software vendor creates a common encryption key K, encrypts part or all of the application program to be protected with K,
[0067]
[Expression 2]
K '= KE  mod n
Is calculated and embedded in an application program encrypted with K 'so that the third party cannot take it out.
[0068]
A user who wants to use this application program obtains an access ticket corresponding to the application program in advance.
[0069]
The software vendor issues an access ticket in response to a request for issuing an access ticket from the user. The software vendor extracts from the database the requested user secret information du and the decryption key (D, n) corresponding to the encryption key (E, n) used when encrypting the application program. Next, use condition information L to be given to the access ticket is created. In this case, since the charge is deducted from the prepaid, the usage amount withdrawn for one use is L.
And using this information,
[0070]
[Equation 3]
t = D−F (n, L, du)
Proof auxiliary information t is created. Here, the function F () is a one-way function, and a one-way hash function MD5, SHA, or a common key encryption DES (Data Encryption Standard) can be used.
[0071]
The software vendor issues a set of (t, L, n) to the user as an access ticket.
[0072]
When the user tries to use the application program, the proof data verification device creates authentication data (C, n) corresponding to the application program and sends it to the proof data generation device.
[0073]
The flow of this processing is shown in the flowchart of FIG. 3, and will be described based on this.
(Step S11): The certification data generation unit 21 extracts K 'and n from the protected application program.
(Step S12): The proof data generation unit generates a random number r and stores it in the random number holding unit.
(Step S13): C = rEK ′ mod n is calculated.
(Step S14): The set of (C, n) is sent to the proof data generation device 10 as authentication data.
[0074]
Next, the flow of the proof data generation device 10 is shown in FIG. 4, and the processing of the proof data generation device 10 will be described based on this.
(Step S 21): Authentication data (C, n) is input from the authentication data input unit 14.
(Step S22): The use condition determination unit 15 searches the access ticket storage unit using n as a key, and takes out the access ticket (t, L, n).
(Step S23): The usage condition determination unit 15 compares the usage condition L (use amount) in the retrieved access ticket with the frequency information V of the frequency information holding unit.
(Steps S24 to S25): When V ≧ L, the certification data generation output unit 16 proceeds to (Step S26). Otherwise, the proof data generation / output unit outputs an error and ends.
(Step S26): The usage condition determination unit 15 reduces the frequency information V held in the frequency information holding unit 12 by the usage condition (use amount) L.
(Steps S <b> 26 to S <b> 29): The proof data generation / output unit 16 receives the auxiliary proof information t, the usage condition L (use amount), and the du read out from the user specific information storage unit 11. Using this, the proof data R is calculated and output.
[0075]
[Expression 4]
R '= CF (n, L, du)  mod n
R = CtR 'mod n
In FIG. 4, the calculation of R ′ is once divided to calculate the proof data R. This is because the user's confidential information is used in the calculation of R ′, so it is necessary to calculate so that the processing does not leak to the outside. Once R ′ is calculated, R is calculated externally. This is because it does not matter. Thus, it may be calculated separately for R ′ and R, or may be calculated at once.
[0076]
Next, processing of the proof data verification unit of the proof data verification device 20 will be described. When the proof data R output from the proof data generation device 10 is calculated using the correct user specific information du and the correct access ticket (correct proof auxiliary information t, correct use condition L),
[0077]
[Equation 5]
Figure 0003641909
It becomes.
[0078]
Therefore, the proof data verification unit 22 extracts the random number r from the random number holding unit 23,
[0079]
[Formula 6]
r-1R mod n
By calculating, the common encryption key K that has encrypted the application can be obtained. The proof data verification device can execute the application by decrypting the encrypted part of the application with this common encryption key K.
[0080]
In this example, the proof data verification apparatus determines that the verification has been performed correctly when the application has been correctly executed.
[0081]
This is the end of the description of the normal authentication process.
[0082]
[Purchase]
Next, an example in which the access right of an application program is purchased (purchase) using prepaid information will be described.
[0083]
In order to realize this function, the first access ticket, which is a normal access ticket, is encrypted to create an encrypted access ticket, and the second access ticket for accessing the encrypted access ticket is used. Thus, the first access ticket is decrypted from the encrypted access ticket by performing exactly the same processing as the normal authentication processing.
[0084]
At this time, the first access ticket is created as a ticket for which the usage fee is free, and the second access ticket is configured so that the usage fee is charged and paid in advance, so that the purchase function of the prepaid as a whole can be obtained. Enable realization.
[0085]
First, an application program for realizing the purchase function is AP1. Similar to the above description, AP1 is protected.
[0086]
<Description of protection of application program AP1>
The software vendor creates an encryption key for the application program to be protected. Since RSA encryption is used here, a large prime number p1, Q1Is secretly created and the modulus n1N1= P1・ Q1Create as. Next, the modulus n1Encryption key E under1And decryption key D1The
[0087]
[Expression 7]
E1・ D1≡1 mod φ (n1)
Generate to satisfy. Where φ (n1) Is the Euler number and φ (n1) = (P1-1) (q1-1).
[0088]
Next, the software vendor uses the common encryption key K1Make a part or all of the application program you want to protect1Encrypted with a common encryption key K1According to the following formula:1Encrypt with K1'Is generated.
[0089]
[Equation 8]
K1'= K1E1  mod n1
And K1It is embedded and distributed in an application program encrypted with 'so that a third party cannot easily take it out. N1Also embed in encrypted application programs.
[0090]
Software vendor created (n1, D1, Φ (n1)) Is stored in the access ticket information database.
[0091]
Next, creation of a prepaid purchase ticket will be described. FIG. 5 shows a configuration example of the auxiliary proof information generation device 30. In this example, the first use condition information, the first decryption key, the user specific information, and the second use condition information are input, and a prepaid payment purchase ticket is output. In FIG. 5, an input unit 31 is a part for inputting first usage condition information, a first decryption key, user-specific information, and second usage condition information. The first decryption key storage unit 33 is a part that stores the first decryption key input from the input unit 31. The first decryption key is the common encryption key K used for encrypting the application program AP1.1Encryption key (E1, N1) Decryption key (D1, N1).
[0092]
The user specific information storage unit 34 is a part that stores user specific information input from the input unit 31. This is the same as that stored in the user proof data generation device 10.
[0093]
When the user requests to issue a ticket, the user identification information U and the n extracted from the application program AP1 that the user wants to use1To the software vendor. The software vendor obtains the user specific information by searching for the user specific information du corresponding to the user identification information U from the user information database that holds the user identification information U and the user specific information du in association with each other. From the access ticket information database that holds a set of (n, D, φ (n)), n1Decryption key (D1, N1) And is input to the proof auxiliary information generating device 30.
[0094]
The first use condition information storage unit 32 and the second use condition information storage unit 35 are parts for storing the first use condition information and the second use condition information, respectively. The first usage condition information describes the usage conditions of the application program AP1, and the second usage condition information describes the usage conditions of the prepaid purchase ticket. In the case of a prepaid purchase ticket, it is charged at the first use and is not charged at the second and subsequent uses. Therefore, the first use condition information includes at least information indicating that it is free. The second usage condition information includes at least information indicating that there is a charge.
[0095]
The first ticket generation unit 36 is a part that performs a predetermined calculation on the input first use condition information, the first decryption key, and the user specific information to generate an access ticket.
[0096]
The configuration part 41 including the first usage condition information storage unit 32, the first decryption key storage unit 33, the user specific information storage unit 34, and the first ticket generation unit 36 has the same configuration as that for generating a normal access ticket. I am doing.
[0097]
The second key generation unit 37 is a part that generates a key for encrypting the first access ticket generated by the first ticket generation unit 36.
[0098]
The encryption unit 38 is a part that encrypts the first access ticket generated by the first ticket generation unit 36 using the encryption key generated by the second key generation unit 37.
[0099]
The second ticket generation unit 39 is a part that generates a second access ticket necessary for decrypting the encrypted access ticket encrypted by the encryption unit 38.
[0100]
The ticket output unit 40 combines the encrypted access ticket encrypted by the encryption unit 38 and the second access ticket generated by the second ticket generation unit 39, and outputs the combined ticket as a prepaid payment purchase ticket.
[0101]
<Prepaid purchase ticket creation>
Hereinafter, a method for creating a prepaid payment purchase ticket will be described with reference to the flowchart of FIG.
[0102]
Upon receiving a prepaid payment purchase ticket issuance request from the user, the software vendor issues a prepaid payment purchase ticket. The user who requests the ticket issuance is extracted from the user identification information U and the application program AP1 that the user wants to use.1To the software vendor.
[0103]
(Step S31): The software vendor extracts the user identification information U, which is a prepaid purchase purchase ticket issuance request from the user, and the application program AP1.1(U, n1). Also, first usage condition information L describing the usage conditions of the application program AP11And second use condition information L describing the use condition of the prepaid purchase ticket2Enter also. Here, because the purpose is to generate a prepaid purchase ticket, the first use condition information L1Means that the usage fee is free
[0104]
[Equation 9]
L1= 0
The second use condition information L2 means that the purchase fee is charged.
[0105]
[Expression 10]
L2= A
And However, A is a number other than 0, for example, 100.
[0106]
(Step S32): The user specific information du corresponding to the user identification information U is searched from the user information database that holds the user identification information U and the user specific information du in association with each other.
(Step S33): From the access ticket information database holding the set of (n, D, φ (n)), n1The first decryption key (D1, N1)
(Step S34): a first access ticket T for the user to access AP11Create
[0107]
## EQU11 ##
T1= (T1, L1, N1)
t1= D1-F (n1, L1, Du)
(Step S35): First access ticket T1To encrypt the second modulus n2, Second encryption key E2, Second decryption key D2Is generated. Large prime number p2, Q2, And the modulus n so that2, Encryption key E2, Decryption key D2Is generated.
[0108]
[Expression 12]
n2= P2・ Q2
E2・ D2≡1 mod φ (n2)
φ (n2) = (P2-1) (q2-1)
(Step S36): The generated second encryption key E2The first access ticket T1Is encrypted. T1The encrypted version of T1'.
[0109]
[Formula 13]
T1‘= T1E2  mod n2
(Step S37): Encrypted access ticket T1The second access ticket T for the user to decrypt '2Create
[0110]
[Expression 14]
T2= (T2, L2, N2)
t2= D2-F (n2, L2, Du)
(Step S38): ((T1', N2), T2) And output as a prepaid purchase ticket.
[0111]
The software vendor outputs the prepaid purchase ticket ((T1', N2), T2) To the user.
[0112]
Next, an example of using a prepaid purchase ticket will be described.
[0113]
<Examples of using prepaid purchase tickets>
(A) Purchase ticket for prepaid payment ((T1', N2), T2) First receives T2Is stored in the access ticket storage unit 13.
(B) Next, (T1', N2) Is input from the authentication data input unit 14 of the proof data generation device 10 held by itself.
[0114]
Thereafter, the processing in the proof data generation device 10 is performed according to FIG. Now, it is assumed that the frequency information holding unit 12 of the proof data generation device 14 holds 800-degree prepaid information V. (V = 800)
(Step S21): The authentication data (T1', N2).
(Step S22): The use condition determining unit 15 sets n2Is used as a key to search the access ticket storage unit 13 and access ticket T2= (T2, L2, N2).
(Step S23): The use condition judgment unit 15 uses the use condition L in the retrieved access ticket.2And the frequency information V of the frequency information holding unit 12 are compared.
(Step S24): Now, L2= 100, V = 800, so
[0115]
[Expression 15]
V ≧ L2
The process proceeds to (Step S26).
(Step S26): The usage condition determination unit 15 uses the frequency information V held in the frequency information holding unit 12 as the usage condition L.2Reduce by the amount of.
[0116]
[Expression 16]
V = 800-100 = 700
That is, the frequency information V is deducted 100 times as the purchase fee for the purchase ticket for the prepaid payment, and the remaining 700 times.
(Steps S27 to S29): The proof data generation / output unit 16 provides the proof auxiliary information t extracted by the use condition determination unit 15.2, Terms of use L2And the proof data R is calculated and output using du read from the user specific information storage unit 11.
[0117]
[Expression 17]
R '= T1F (n2, L2, du)  mod n2
R = T1t2R 'mod n2
When R is calculated,
[0118]
[Expression 18]
Figure 0003641909
As the proof data R is obtained from the proof data generation / output unit 16,
[0119]
[Equation 19]
R = T1
Is output.
[0120]
That is, (T1', N2) Is input from the authentication data input unit 14 of the proof data generation device 10 held by itself.2Is deducted from the frequency information V, resulting in T1‘T’ decoded1Is output.
[0121]
(C) The user obtained T1Is stored in the access ticket storage unit 13.
[0122]
(D) The user accesses an access ticket T for using the application program AP1.1Is obtained, the application program AP1 is used.
[0123]
Thereafter, the authentication data generation processing in the proof data verification device 10 is performed according to FIG.
(Step S <b> 11): The authentication data generation unit 21 executes K from the protected application program.1'And n1And take out.
(Step S <b> 12): The authentication data generation unit 21 generates a random number r and stores it in the random number holding unit 23.
(Step S13): C = rEK1’Mod n1Calculate
(Step S14): (C, n1) Is sent as authentication data to the proof data generation device 10.
(E) The processing in the proof data generation device 10 is performed again according to FIG.
(Step S21): Authentication data (C, n) from the authentication data input unit 141).
(Step S22): The use condition determining unit 15 sets n1Is used as a key to search the access ticket storage unit 13 and access ticket T1= (T1, L1, N1).
(Step S23): The use condition judgment unit 15 uses the use condition L in the retrieved access ticket.1And the frequency information V of the frequency information holding unit 12 are compared.
(Step S24): Now, since L1 = 0 and V = 700,
[0124]
[Expression 20]
V ≧ L1
The process proceeds to (Step S26).
(Step S26): The usage condition determination unit 15 uses the frequency information V held in the frequency information holding unit 12 as the usage condition L.1Reduce by the amount of.
[0125]
[Expression 21]
V = 700-0 = 700
In other words, the frequency information V is first deducted 100 times as the purchase fee of the prepaid purchase ticket, so it is not deducted for the second and subsequent uses, and remains 700 degrees.
(Steps S27 to S29): The proof data generation / output unit 16 provides the proof auxiliary information t extracted by the use condition determination unit 15.1, Terms of use L1And proof data R is calculated and output using du read from the user specific information storage unit 11.
[0126]
[Expression 22]
R '= CF (n1, L1, du)  mod n1
R = Ct1R 'mod n1
That means
[0127]
[Expression 23]
Figure 0003641909
(F) The proof data verification unit 22 of the proof data verification device 20 performs processing similar to normal authentication, extracts the random number r from the random number holding unit 23,
[0128]
[Expression 24]
r-1R mod n1
By calculating, the common encryption key K that has encrypted the application can be obtained. The proof data verification device can execute the application by decrypting the encrypted part of the application with this common encryption key K.
[0129]
Thereafter, the same processing is performed no matter how many times the application program AP1 is executed and can be used free of charge.
[0130]
As described above, with the configuration as described above, it is possible to purchase (purchase) the access right of the application program using the prepaid information.
[0131]
The implementation of the purchase function in prepaid has been described above.
[0132]
In addition to this, the proof data generation device is provided with a clock, and in the usage condition information L of the first access ticket, in addition to the information that the usage amount is free, the expiration date information is described, and the first access ticket It is also possible to realize a prepaid rent function by comparing the time with each time of use.
[0133]
Further, as another example, the proof data generation device includes a clock, the expiration date information is described in the use condition information L of the second access ticket, and the encrypted first access ticket is decrypted. At this time, it is also possible to limit the time limit for distributing (decompressing) the first access ticket by comparing with the time.
[0134]
In the present embodiment, the description has been made based on the RSA encryption. However, the present invention is not limited to this, and other encryption methods may be used. Also, the access ticket realization formula is not limited to this.
[0135]
【The invention's effect】
When authenticating the user's access qualification such as execution control, the user holds the specific information in advance, and the protector such as the program creator prepares the characteristic information of the access qualification independent of the specific information possessed by the user. By creating and distributing an access ticket according to the user's unique information and the characteristic information of the access qualification authentication used for creating the application program, both the user and the protector are bothered in managing access right information. This makes it possible to realize the purchase function and rent function in prepaid, which was difficult in the past, while retaining the feature of releasing from.
[0136]
Furthermore, in order to realize these functions, it is configured to perform the same processing as normal ticket authentication processing, so it is efficiently realized without putting extra programs and data in a relatively small capacity IC card. Is possible.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an embodiment of the present invention.
FIG. 2 is a diagram illustrating the configuration of FIG. 1 in detail.
FIG. 3 is a flowchart for explaining authentication data generation processing of the proof data verification device of FIG. 1;
FIG. 4 is a flowchart for explaining proof data generation processing of the proof data generation device in FIG. 1;
FIG. 5 is a block diagram showing a proof auxiliary information generating apparatus that generates a ticket used for generating proof data in FIG. 1;
6 is a diagram for explaining generation of a ticket used for generation of proof data in FIG. 1. FIG.
[Explanation of symbols]
10 Certification data generator
11 User-specific information storage unit
12 Frequency information holding part
13 Access ticket storage
14 Authentication data input section
15 Use Condition Judgment Department
16 Proof data generation output
20 Certification data verification device
21 Authentication data generator
22 Proof data verification part
23 Random number storage
30 Auxiliary information generator for proof
32 1st use condition information storage part
33 First decryption key storage unit
34 User-specific information storage unit
35 Second Usage Condition Storage Unit
36 First ticket generator
37 Second key generation unit
38 Encryption section
39 Second ticket generator
40 Ticket output section

Claims (11)

ユーザのアクセス資格を認証するために生成される証明データであって、検証装置により、アクセス資格認証の特徴情報に基づいて生成されていることが検証され、もって正当性を検証される証明データを生成する証明データ生成装置において、
認証用データを入力する認証用データ入力手段と、
ユーザの固有情報を記憶するユーザ固有情報記憶手段と、
(a)ユーザの固有情報と、アクセス資格認証の特徴情報と、アクセス条件を記述した利用条件情報とに対し、所定の第1の計算を実行して生成した証明用補助情報
(b)上記利用条件情報
の組を含む証明用補助情報セットを記憶する証明用補助情報セット記憶手段と、
入力された認証用データに対応する証明用補助情報セットを上記証明用補助情報セット記憶手段から取り出し、上記取り出した証明用補助情報セットの利用条件情報に従い、利用状態が当該利用条件情報を満たす場合には証明データ生成処理を継続するとの判断を行い、上記利用状態が当該利用条件情報を満たさない場合には証明データ生成処理を中止するとの判断を行う利用条件判断手段と
上記利用条件判断手段において継続と判断されたときに、上記取り出した証明用補助情報セットと、上記認証用データ入力手段から入力された認証用データと、上記ユーザ固有情報記憶手段に記憶されている上記ユーザの固有情報とに所定の第2の計算を施して証明データを生成し出力する証明データ生成出力手段とを有し、
上記証明用補助情報を生成するために実行される上記所定の第1の計算と、上記証明データを生成するために実行される上記所定の第2の計算とを、上記ユーザの固有情報、上記アクセス資格認証の特徴情報および上記証明用補助情報が対応する場合に上記検証装置により上記証明データが上記アクセス資格認証の特徴情報に基づいて生成されたものであると検証されるように選定し、
さらに、上記認証用データ入力手段から、第1の証明用補助情報セットを暗号関数における暗号化鍵で暗号化した暗号化証明用補助情報セットを入力し、
上記利用条件判断手段は、上記証明用補助情報セット記憶手段から、入力された暗号化証明用補助情報セットに対応する第2の証明用補助情報セットであって上記第1の証明用補助情報セットをアクセス資格認証の特徴情報とする上記第2の証明用補助情報セットを取り出し、上記取り出した第2の証明用補助情報セットの利用条件情報に従い、利用状態が利用条件情報を満たすかどうかを判断し、満たす場合には、課金処理の実行を行った後、上記第2の証明用補助情報を用いた証明データ生成処理を継続し、満たさない場合には上記証明データ生成処理を中止し
上記証明データ生成出力手段は、上記第2の証明用補助情報セットを用いた上記証明データ生成処理を行うことにより、上記暗号化証明用補助情報セットを復号化した結果である第1の証明用補助情報セットを出力し、上記第1の証明用補助情報セットを用いた証明データの生成を行なえるようにすることを特徴とする証明データ生成装置。
Proof data generated to authenticate the user's access qualification , which is verified by the verification device based on the characteristic information of the access qualification authentication, thereby verifying the validity In the proof data generation device to generate,
Authentication data input means for inputting authentication data;
User-specific information storage means for storing user-specific information;
(A) Proof auxiliary information generated by executing a predetermined first calculation on user specific information, access qualification feature information, and use condition information describing access conditions ;
(B) including the set of the usage condition information and <br/>, the proof support information set storage means for storing proof support information set,
When a proof auxiliary information set corresponding to the input authentication data is extracted from the proof auxiliary information set storage means, and the usage state satisfies the usage condition information according to the usage condition information of the extracted proof auxiliary information set Use condition determining means for determining that the proof data generation process is to be continued , and determining that the proof data generation process is to be stopped if the use state does not satisfy the use condition information ;
When it is determined to be continued by the use condition determining means, the extracted proof auxiliary information set, the authentication data input from the authentication data input means, and the user specific information storage means are stored. Proof data generation and output means for generating and outputting proof data by performing a predetermined second calculation on the unique information of the user,
The predetermined first calculation executed to generate the proof auxiliary information and the predetermined second calculation executed to generate the proof data, the user specific information, When the feature information of access qualification authentication and the auxiliary information for proof correspond, select such that the proof data is verified based on the feature information of the access credential authentication by the verification device,
Furthermore, from the authentication data input means, an encryption certification auxiliary information set obtained by encrypting the first certification auxiliary information set with an encryption key in a cryptographic function is input,
The use condition determining means is a second proof auxiliary information set corresponding to the encrypted proof auxiliary information set inputted from the proof auxiliary information set storage means, and is the first proof auxiliary information set. Is extracted from the second proof auxiliary information set having the access qualification feature information, and it is determined whether the usage state satisfies the usage condition information according to the usage condition information of the extracted second proof auxiliary information set. If satisfied , after performing the accounting process, continue the proof data generation process using the second proof auxiliary information, and if not, stop the proof data generation process ,
The proof data generation / output means performs a proof data generation process using the second proof auxiliary information set, thereby decrypting the encrypted proof auxiliary information set. A proof data generation device, characterized in that an auxiliary information set is output so that proof data can be generated using the first proof auxiliary information set .
少なくとも、上記ユーザ固有情報記憶手段と、上記利用条件判断手段と、上記証明データ生成出力手段とが、内部のデータおよび処理手続きを外部から観測することを困難ならしめる防御手段中に保持されている請求項1記載の証明データ生成装置。  At least the user-specific information storage unit, the use condition determination unit, and the proof data generation / output unit are held in a defense unit that makes it difficult to observe internal data and processing procedures from the outside. The certification data generation device according to claim 1. さらに電子度数情報を保持する度数情報保持手段を備え、上記利用条件情報には、利用したときに支払うべき利用度数を含み、上記利用条件判断手段は、上記度数情報保持手段に保持されている電子度数情報と、上記利用条件情報に含まれる利用度数とを比較して、上記度数情報保持手段に保持されている電子度数情報が利用条件情報に含まれる利用度数以上の時にのみ、上記度数情報保持手段に保持されている電子度数情報から上記利用条件情報に含まれる利用度数分の度数を減額して、以降の処理を継続するという判断を行う請求項1または2記載の証明データ生成装置。  In addition, a frequency information holding unit that holds electronic frequency information is included, and the usage condition information includes a usage frequency to be paid when used, and the usage condition determination unit is an electronic device that is held in the frequency information holding unit. The frequency information is compared with the usage frequency included in the usage condition information, and the frequency information is held only when the electronic frequency information held in the frequency information holding means is equal to or higher than the usage frequency included in the usage condition information. 3. The proof data generation apparatus according to claim 1, wherein a determination is made to reduce the frequency corresponding to the usage frequency included in the usage condition information from the electronic frequency information held in the means and to continue the subsequent processing. 上記第1の証明用補助情報セットに含まれる第1の利用条件情報に含まれる利用度数は0度数であり、上記第2の証明用補助情報セットに含まれる第2の利用条件情報に含まれる利用度数は0以外であることを特徴とする請求項3記載の証明データ生成装置。  The usage frequency included in the first usage condition information included in the first proof auxiliary information set is 0 degree, and is included in the second usage condition information included in the second proof auxiliary information set. 4. The proof data generation device according to claim 3, wherein the utilization frequency is other than 0. さらに時刻を示す時計を備え、上記第1の証明用補助情報セットに含まれる第1の利用条件情報には、さらに有効期限情報が記載され、上記利用条件判断手段は、上記時刻と上記有効期限情報とを比較し、該時刻が有効期限内にある時にのみ、以降の処理を継続するという判断を行う請求項1、2、3または4記載の証明データ生成装置。  In addition, the first usage condition information included in the first certification auxiliary information set further includes expiration date information, and the usage condition determination means includes the time and the expiration date. 5. The proof data generation device according to claim 1, wherein the proof data generation apparatus determines that the subsequent processing is continued only when the information is compared with the time and the time is within the expiration date. 少なくとも、上記証明用補助情報セット記憶手段以外の手段が、携帯可能な小型演算装置として構成されている請求項1、2、3、4または5記載の証明データ生成装置。  6. The proof data generation apparatus according to claim 1, wherein at least means other than the proof auxiliary information set storage means are configured as a portable small arithmetic device. ユーザのアクセス資格を証明するために生成された証明データがアクセス資格認証の特徴情報に基づいて生成されていることを検証することにより上記ユーザのアクセス資格を認証するアクセス資格認証装置において、
予備的なアクセス資格認証と、当該予備的なアクセス資格認証が成功した場合には、以降、実行可能となる主たるアクセス資格認証とを行い、
さらに、
ユーザの固有情報を記憶するユーザ固有情報記憶手段と、
上記ユーザの固有情報と、主たるアクセス資格認証の特徴情報とに対して所定の第1の計算を実行して生成した主たるアクセス資格認証の証明用補助情報を暗号化して生成した暗号化証明用補助情報を入力する暗号化証明用補助情報入力手段と、
(a)上記ユーザの固有情報と、予備的なアクセス資格認証の特徴情報としての上記暗号化の復号鍵と、アクセス条件を記述した利用条件情報とに対して、上記所定の第1の計算を実行して生成した予備的なアクセス資格認証の証明用補助情報
(b)上記利用条件情報
からなる、予備的なアクセス資格認証の証明用補助情報セットを記憶する証明用補助情報セット記憶手段と、
上記証明用補助情報セット記憶手段に記憶されている上記予備的なアクセス資格認証の証明用補助情報セットに含まれる上記利用条件情報にしたがい、利用状態が当該利用条件情報を満たす場合には課金処理を実行し証明データ生成処理を継続すると判断し、上記利用状態が当該利用条件情報を満たさない場合には課金処理および証明データ生成を中止すると判断する手段と、
上記課金処理を実行し証明データ生成処理を継続すると判断したときに、上記課金処理を行ない、さらに、上記暗号化証明用補助情報記憶手段に記憶されている上記暗号化証明用補助情報と、上記ユーザ固有情報記憶手段に記憶されている上記ユーザの固有情報と、上記証明用補助情報セット記憶手段に記憶されている上記予備的なアクセス資格認証の証明用補助情報セットとに対して上記所定の第2の計算を実行して証明データを生成して、もって上記主たるアクセス資格認証の証明用補助情報を復元する手段と、
主たるアクセス資格認証用の認証用データを入力する認証用データ入力手段と、
上記認証用データ入力手段により入力された上記認証用データと、上記ユーザ固有情報記憶手段に記憶されている上記ユーザの固有情報と、復元した上記主たるアクセス資格認証の認証用補助情報とに対して上記所定の第2の計算を実行して証明データを生成する手段と、
生成された上記証明データを検証する手段とを有し、
上記証明用補助情報を生成するために実行される上記所定の第1の計算と、上記証明データを生成するために実行される上記所定の第2の計算とを、上記ユーザの固有情報、上記アクセス資格認証の特徴情報および上記証明用補助情報が対応する場合に上記検証手段により上記証明データが上記アクセス資格認証の特徴情報に基づいて生成されたものであると検証されるように選定することを特徴とするアクセス資格認証装置。
In an access credential authentication apparatus for authenticating the access qualification of the user by verifying that the proof data generated to prove the access credential of the user is generated based on the characteristic information of the access credential authentication,
If the preliminary access qualification authentication is successful and the preliminary access qualification authentication is successful, the main access qualification authentication that can be performed is performed thereafter.
further,
User- specific information storage means for storing user-specific information ;
And unique information of the user, the main access rights authentication characteristic information and a predetermined first encryption generating encrypted proof support and the proof support information of the main access right authentication generated by executing a calculation on Auxiliary information input means for encryption certification for inputting information ;
(A) the unique information of the user, a decryption key of the encrypted as feature information of the preliminary access credentials for the usage condition information describing the access condition, the first calculation of the predetermined Auxiliary information for proof of preliminary access credential authentication generated by execution and
(B) consisting of the usage condition information, the proof support information set storage means for storing a preliminary access credentials authentication proof support information set,
Follow the usage condition information included in the preliminary access credentials authentication proof support information set stored in the proof support information set storage unit, the billing process when the use state satisfies the usage condition information And deciding to continue the proof data generation process, and determining that the charging process and proof data generation are to be stopped if the usage state does not satisfy the usage condition information ,
When it is determined to execute the accounting process and continue the certification data generation process, the accounting process is performed, and the encryption certification auxiliary information stored in the encryption certification auxiliary information storage means, and and unique information of the user stored in the user-specific information storage means, the predetermined relative and proof support information sets of the preliminary access right authentication stored in the proof support information set storage unit Means for generating proof data by executing a second calculation, thereby restoring the auxiliary information for proof of the main access qualification ,
Authentication data input means for inputting authentication data for main access qualification authentication;
For the authentication data input by the authentication data input means , the user specific information stored in the user specific information storage means, and the restored authentication auxiliary information for the main access qualification authentication means for generating proof data by performing the predetermined second calculation,
The product is the proof data were to have a means for verifying,
The predetermined first calculation executed to generate the proof auxiliary information and the predetermined second calculation executed to generate the proof data, the user specific information, When the access qualification authentication feature information and the proof auxiliary information correspond to each other, select such that the verification means verifies that the proof data is generated based on the access credential authentication feature information. An access qualification authentication device characterized by the above.
ユーザのアクセス資格を証明するために生成された証明データがアクセス資格認証の特徴情報に基づいて生成されていることを検証することにより上記ユーザのアクセス資格を認証するアクセス資格認証装置において、
予備的なアクセス資格認証と、当該予備的なアクセス資格認証が成功した場合には、以降、実行可能となる主たるアクセス資格認証とを行い、
ユーザの固有情報を記憶するユーザ固有情報記憶手段と、
(a1)上記ユーザの固有情報と、主たるアクセス資格認証の特徴情報と、アクセス条件を記述した第1の利用条件情報とに対し、所定の第1の計算を実行して生成した主たるアクセス資格認証の証明用補助情報
(b1)上記第1の利用条件情報
からなる主たるアクセス資格認証の証明用補助情報セットを暗号化して生成した暗号化証明用補助情報セットを入力する暗号化証明用補助情報セット入力手段と、
(a2)上記ユーザの固有情報と、予備的なアクセス資格認証の特徴情報としての上記暗号化の復号鍵と、アクセス条件を記述した第2の利用条件情報とに対して、上記所定の第1の計算を実行して生成した予備的なアクセス資格認証の証明用補助情報
(b2)上記第2の利用条件情報
からなる予備的なアクセス資格認証の証明用補助情報セットを記憶する証明用補助情報セット記憶手段と、
上記証明用補助情報セット記憶手段に記憶されている上記予備的なアクセス資格認証の証明用補助情報セットに含まれる上記第2の利用条件情報にしたがって、利用状態が当該第2の利用条件情報を満たす場合には課金処理を実行し予備的なアクセス資格認証の証明データ生成処理を継続すると判断し、上記利用状態が上記第2の利用条件情報を満たさない場合には上記課金処理及び予備的なアクセス資格認証の証明データ生成を中止すると判断する手段と、
上記課金処理を実行し予備的なアクセス資格認証の証明データ生成処理を継続すると判断したときに、上記課金処理を行い、さらに、上記暗号化証明用補助情報セット入力手段により入力された上記暗号化証明用補助情報セットと、上記ユーザ固有情報記憶手段に記憶されている上記ユーザの固有情報と、上記証明用補助情報セット記憶手段に記憶されている上記予備的なアクセス資格認証の証明用補助情報セットとに対して所定の第2の計算を実行して予備的な資格認証の証明データを生成し、もって、上記主たる資格認証の証明用補助情報セットを復元する手段と、
主たるアクセス資格認証用の認証用データを入力する認証用データ入力手段と、
復元された上記主たるアクセス資格認証の証明用補助情報セットに含まれる上記第1の利用条件情報にしたがって、利用状態が上記第1の利用条件情報を満たす場合に主たるアクセス資格認証の証明データ生成処理を継続すると判断し、上記利用状態が上記第1の利用条件情報が満たさない場合に上記主たるアクセス資格認証の証明データ生成処理を中止すると判断する手段と、
上記主たるアクセス資格認証の証明データ生成処理を継続すると判断したときに、上記認証用データ入力手段により入力された上記認証用データと、上記ユーザ固有情報記憶手段に記憶されている上記ユーザの固有情報と、復元した上記主たるアクセス資格認証の証明用補助情報セットとに対して上記所定の第2の計算を実行して主たるアクセス資格認証の証明データを生成する手段と、
生成された上記主たるアクセス資格認証の証明データを検証する手段とを有し、
上記証明用補助情報を生成するために実行される上記所定の第1の計算と、上記証明データを生成するために実行される上記所定の第2の計算とを、上記ユーザの固有情報、上記アクセス資格認証の特徴情報および上記証明用補助情報が対応する場合に上記検証手段により上記証明データが上記アクセス資格認証の特徴情報に基づいて生成されたものであると検証されるように選定することを特徴とするアクセス資格認証装置。
In an access credential authentication apparatus for authenticating the access qualification of the user by verifying that the proof data generated to prove the access credential of the user is generated based on the characteristic information of the access credential authentication,
If the preliminary access qualification authentication is successful and the preliminary access qualification authentication is successful, the main access qualification authentication that can be performed is performed thereafter.
User- specific information storage means for storing user-specific information ;
(A1) and specific information of the user, and characteristic information of the main access right authentication to a first use condition information describing the access condition, the main access right authentication generated by executing a predetermined first calculation proof support information and
(B1) and the first usage condition information as the main access rights authentication encryption proof support information set input means for inputting the proof support information set encryption proof support information set generated by encrypting a made of,
(A2) the unique information of the user, a decryption key of the encrypted as feature information of the preliminary access credentials for a second use condition information describing the access conditions, first the predetermined and preliminary access credentials auxiliary information of the authentication calculation was generated by executing the
(B2) and the second proof support information set storage means for storing a preliminary access credentials authentication proof support information set comprising the use condition information,
In accordance with the second usage condition information included in the preliminary access qualification authentication auxiliary information set stored in the proof auxiliary information set storage means , the usage status indicates the second usage condition information. If it is satisfied, it is determined that the charging process is executed and the proof data generation process of the preliminary access qualification authentication is continued . If the usage state does not satisfy the second usage condition information, the charging process and the preliminary Means to decide to cancel the generation of certification data for secure access qualification ,
When it is determined to continue the proof data generation processing preliminary access credentials to perform the billing process, performs the accounting process, further more input the encryption to the encrypted proof support information set input means of proof and supplementary information set, and the unique information of the user stored in the user-specific information storage means, for proof of the preliminary access right authentication stored in the proof support information set storage unit Means for performing a predetermined second calculation on the auxiliary information set to generate preliminary credential authentication proof data, and thereby restoring the main qualification proof auxiliary information set;
Authentication data input means for inputting authentication data for main access qualification authentication;
According restored the said first usage condition information included in the proof support information set of the main access rights authentication, certification data generation process of the main access right authentication when use state satisfies the first usage condition information Means for determining to continue the proof data generation process of the main access qualification authentication when the usage state does not satisfy the first usage condition information ;
The authentication data input by the authentication data input means and the user specific information stored in the user specific information storage means when it is determined to continue the main access qualification authentication proof data generation process If, means for generating proof data for primary access right authentication by performing a second calculation of the predetermined relative and proof support information set restored the primary access right authentication,
Proof data generated the primary access right authentication have a means for verifying,
The predetermined first calculation executed to generate the proof auxiliary information and the predetermined second calculation executed to generate the proof data, the user specific information, When the access qualification authentication feature information and the proof auxiliary information correspond to each other, select such that the verification means verifies that the proof data is generated based on the access credential authentication feature information. An access qualification authentication device characterized by the above.
ユーザのアクセス資格を証明するために生成された証明データの正当性を検証することにより上記ユーザのアクセス資格を認証するアクセス資格認証方法において、
当該アクセス資格認証方法は、であって、予備的なアクセス資格認証と、当該予備的な アクセス資格認証が成功した場合には、以降、実行可能となる主たるアクセス資格認証とを行うものであり、
ユーザの固有情報をユーザ固有情報記憶手段に記憶するステップと、
(a1)上記ユーザの固有情報と、アクセス資格認証の特徴情報と、アクセス条件を記述した第1の利用条件情報とに対し、所定の第1の計算を実行して生成した、主たるアクセス資格認証の証明用補助情報
(b1)上記第1の利用条件情報
からなる主たるアクセス資格認証の証明用補助情報セットを暗号化して生成した暗号化証明用補助情報セットを、暗号化証明用補助情報入力手段により入力するステップと、
(a2)上記ユーザの固有情報と、予備的なアクセス資格認証の特徴情報としての上記暗号化の復号鍵と、アクセス条件を記述した第2の利用条件情報とに対して、上記所定の第1の計算を実行して生成した第2の証明用補助情報
(b2)上記第2の利用条件情報
からなる予備的なアクセス資格認証の証明用補助情報セットを証明用補助情報セット記憶手段に記憶するステップと、
上記証明用補助情報セット記憶手段に記憶された上記予備的なアクセス資格認証の証明用補助情報セットに含まれる上記第2の利用条件情報にしたがって、利用状態が当該第2の利用条件情報を満たす場合には課金処理を実行し予備的なアクセス資格認証の証明データ生成処理を継続すると判断手段により判断し、上記利用状態が上記第2の利用条件情報を満たさない場合には上記課金処理及び予備的なアクセス資格認証の証明データ生成を中止すると上記判断手段により判断するステップと、
上記課金処理を実行し予備的なアクセス資格認証の証明データ生成処理を継続すると判断したときに、上記課金処理を行い、さらに、上記暗号化証明用補助情報セット入力手段により入力された上記暗号化証明用補助情報セットと、上記ユーザ固有情報記憶手段に記憶された上記ユーザの固有情報と、上記証明用補助情報セット記憶手段に記憶された上記予備的なアクセス資格認証の証明用補助情報セットとに対して所定の第2の計算を証明データ生成手段により実行して予備的な資格認証の証明データを生成し、もって、上記主たるアクセス資格認証の証明用補助情報セットを復元するステップと、
主たるアクセス資格認証用の認証用データを認証用データ入力手段により入力するステップと、
復元された上記主たるアクセス資格認証の証明用補助情報セットに含まれる上記第1の利用条件情報にしたがって、利用状態が上記第1の利用条件情報を満たす場合には判断手段により主たるアクセス資格認証の証明データ生成処理を継続すると判断し、上記利用状態が上記第1の利用条件情報を満たさない場合には上記判断手段により上記主たるアクセス資格認証の証明データ生成処理を中止すると判断するステップと、
上記主たるアクセス資格認証の証明データ生成処理を継続すると判断したときに、上記認証用データ入力手段により入力された上記認証用データと、上記ユーザ固有情報記憶手段に記憶された上記ユーザの固有情報と、復元した上記主たるアクセス資格認証の証明用補助情報セットとに対して上記所定の第2の計算を上記証明データ生成手段により実行して主たるアクセス資格認証の証明データを生成するステップと、
生成された上記主たるアクセス資格認証の証明データを検証手段により検証するステップとを有し、
上記証明用補助情報を生成するために実行される上記所定の第1の計算と、上記証明データを生成するために実行される上記所定の第2の計算とを、上記ユーザの固有情報、上記アクセス資格認証の特徴情報および上記証明用補助情報が対応する場合に上記検証手段により上記証明データが上記アクセス資格認証の特徴情報に基づいて生成されたものであると検証されるように選定することを特徴とするアクセス資格認証方法。
In the access credential authentication method for authenticating the access qualification of the user by verifying the validity of the certification data generated to prove the access credential of the user,
The access qualification authentication method is to perform preliminary access qualification authentication and, if the preliminary access qualification authentication succeeds, main access qualification authentication that can be performed thereafter.
Storing the user specific information in the user specific information storage means ;
(A1) Main access credential authentication generated by executing a predetermined first calculation on the user's unique information, access qualification feature information, and first use condition information describing access conditions proof support information and
(B1) step of the first usage condition information as the main access rights authentication encryption proof support information set generated by encrypting the proof support information set consisting of inputs Encryption proof support information input means When,
(A2) the unique information of the user, a decryption key of the encrypted as feature information of the preliminary access credentials for a second use condition information describing the access conditions, first the predetermined the second proof support information generated by executing the calculation and
(B2) a step of storing in said second usage condition information and preliminary access rights authentication proof support information set storage means proof support information set consisting of,
In accordance with the second usage condition information included in the preliminary access qualification authentication auxiliary information set stored in the certification auxiliary information set storage means , the usage state satisfies the second usage condition information. In this case, it is determined by the determination means that the charging process is executed and the proof data generation process of the preliminary access qualification authentication is continued. When the usage state does not satisfy the second usage condition information, the charging process and A step of determining by the determination means that the generation of proof data for preliminary access qualification authentication is stopped ;
When it is determined that the billing process is to be executed and the proof data generation process for preliminary access qualification authentication is to be continued, the billing process is performed, and the encryption input by the encryption certification auxiliary information set input means is performed. Auxiliary information set for proof, unique information of the user stored in the user-specific information storage means, and auxiliary information set for proof of preliminary access qualification stored in the auxiliary information set for proof of storage Generating a preliminary credential authentication proof data by executing a predetermined second calculation on the proof data generating means, and restoring the main access credential authentication proof auxiliary information set;
A step of inputting authentication data for main access qualification authentication by an authentication data input means;
In accordance with the first use condition information included in the restored auxiliary information set for certification of the main access qualification , when the use state satisfies the first use condition information, the determination means performs the main access qualification authentication. Determining that proof data generation processing is to be continued, and determining that the proof data generation processing of the main access qualification authentication is to be stopped by the determination means when the usage state does not satisfy the first usage condition information ;
The authentication data input by the authentication data input means when it is determined that the main access qualification authentication proof data generation process is to be continued, and the user specific information stored in the user specific information storage means and generating the proof data of the main access right authentication the second calculation of the predetermined relative and proof support information set restored the primary access right authentication be performed by said proof data generation means,
The proof data generated the primary access right authentication possess and verifying the verification means,
The predetermined first calculation executed to generate the proof auxiliary information and the predetermined second calculation executed to generate the proof data, the user specific information, When the access qualification authentication feature information and the proof auxiliary information correspond to each other, select such that the verification means verifies that the proof data is generated based on the access credential authentication feature information. An access credential authentication method characterized by:
請求項8記載のアクセス資格認証装置で用いられる上記暗号化証明用補助情報セットおよび上記予備的なアクセス資格認証の証明用補助情報セットを複合的な証明用補助情報として構成して出力する証明用補助情報生成装置において、
ユーザの固有情報と、主たるアクセス資格認証の特徴情報と、アクセス条件を記述した第1の利用条件情報とに対し、所定の第1の計算を実行して主たるアクセス資格認証の証明用補助情報を生成する手段と、
上記主たるアクセス資格認証の証明用補助情報と、上記第1の利用条件情報とからなる主たるアクセス資格認証の証明用補助情報セットを暗号化する手段と、
上記ユーザの固有情報と、予備的なアクセス資格認証の特徴情報としての上記暗号化の復号鍵と、アクセス条件を記述した第2の利用条件情報とに対して、上記所定の第1の計算を実行して予備的なアクセス資格認証の証明用補助情報を生成する手段と、
上記暗号化した主たるアクセス資格認証の証明用補助情報セットと上記予備的なアクセス資格認証の証明用補助情報セットとから複合的な証明用補助情報を生成して出力する手段とを有することを特徴とする証明用補助情報生成装置。
9. The proof auxiliary information set used in the access qualification authentication apparatus according to claim 8 and the preliminary access credential authentication auxiliary information set configured and output as composite proof auxiliary information . In the auxiliary information generation device,
Auxiliary information for proof of main access qualification authentication is executed by executing a predetermined first calculation on the user's unique information, characteristic information of main access qualification authentication, and first use condition information describing access conditions. Means for generating;
Means for encrypting the proof support information of the primary access rights authentication, the proof support information set of the main access right authentication consisting of the first usage condition information,
And unique information of the user, a decryption key of the encrypted as feature information of the preliminary access credentials for a second use condition information describing the access condition, the first calculation of the predetermined Means for executing and generating auxiliary information for proof of preliminary access entitlement authentication ;
Means for generating and outputting composite proof auxiliary information from the encrypted primary access credential certification auxiliary information set and the preliminary access credential certification auxiliary information set. An auxiliary information generating device for proof.
請求項8記載のアクセス資格認証装置で用いられる上記暗号化証明用補助情報セットおよび上記予備的なアクセス資格認証の証明用補助情報セットを複合的な証明用補助情報として構成して出力する証明用補助情報生成方法において、
ユーザの固有情報と、アクセス資格認証の特徴情報と、アクセス条件を記述した第1の利用条件情報とに対し、主たるアクセス資格認証の証明用補助情報生成手段により、所定の第1の計算を実行して主たるアクセス資格認証の証明用補助情報を生成するステップと、
上記主たるアクセス資格認証の証明用補助情報と、上記第1の利用条件情報とからなる主たるアクセス資格認証の証明用補助情報セットを暗号化手段により暗号化するステップと、
上記ユーザの固有情報と、予備的なアクセス資格認証の特徴情報としての上記暗号化の復号鍵と、アクセス条件を記述した第2の利用条件情報とに対して、予備的なアクセス資格認証の証明用補助情報生成手段により、上記所定の第1の計算を実行して予備的なアクセス資格認証の証明用補助情報を生成するステップと、
上記暗号化した主たるアクセス資格認証の証明用補助情報セットと上記予備的なアクセス資格認証の証明用補助情報セットとから、証明用補助情報出力手段により、複合的な証明用補助情報を生成して出力するステップとを有することを特徴とする証明用補助情報生成方法。
9. The proof auxiliary information set used in the access qualification authentication apparatus according to claim 8 and the preliminary access credential authentication auxiliary information set configured and output as composite proof auxiliary information . In the auxiliary information generation method,
A predetermined first calculation is executed by the auxiliary information generating means for proof of main access qualification for the unique information of the user, the characteristic information of the access qualification authentication, and the first use condition information describing the access conditions. Generating auxiliary information for proof of primary access qualification ,
Encrypting the main access qualification authentication auxiliary information set consisting of the main access qualification authentication auxiliary information and the first use condition information by an encryption means ;
Proof of preliminary access qualification authentication with respect to the user specific information, the decryption key for encryption as characteristic information of preliminary access qualification authentication, and the second use condition information describing access conditions Generating auxiliary information for proof of preliminary access qualification by executing the predetermined first calculation by auxiliary information generating means ;
From the encrypted primary access credential certification auxiliary information set and the preliminary access credential certification auxiliary information set, the certification auxiliary information output means generates composite certification auxiliary information. proof support information generating method characterized by a step of outputting.
JP18880197A 1997-07-14 1997-07-14 Proof data generator Expired - Fee Related JP3641909B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18880197A JP3641909B2 (en) 1997-07-14 1997-07-14 Proof data generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18880197A JP3641909B2 (en) 1997-07-14 1997-07-14 Proof data generator

Publications (2)

Publication Number Publication Date
JPH1132037A JPH1132037A (en) 1999-02-02
JP3641909B2 true JP3641909B2 (en) 2005-04-27

Family

ID=16230050

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18880197A Expired - Fee Related JP3641909B2 (en) 1997-07-14 1997-07-14 Proof data generator

Country Status (1)

Country Link
JP (1) JP3641909B2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08263438A (en) 1994-11-23 1996-10-11 Xerox Corp Distribution and use control system of digital work and access control method to digital work
AU3456200A (en) * 1999-03-31 2000-10-16 Vertex Software Co., Rental ware system
US6895503B2 (en) 2001-05-31 2005-05-17 Contentguard Holdings, Inc. Method and apparatus for hierarchical assignment of rights to documents and documents having such rights
US6876984B2 (en) 2001-05-31 2005-04-05 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
US8275716B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
US7356838B2 (en) 2001-06-06 2008-04-08 Yahoo! Inc. System and method for controlling access to digital content, including streaming media
US7350231B2 (en) 2001-06-06 2008-03-25 Yahoo ! Inc. System and method for controlling access to digital content, including streaming media
US7558759B2 (en) 2001-11-20 2009-07-07 Contentguard Holdings, Inc. Systems and methods for creating, manipulating and processing rights and contract expressions using tokenized templates
KR20040101312A (en) 2002-03-14 2004-12-02 콘텐트가드 홀딩즈 인코포레이티드 System and method for exprssing usage rights using modulated signals
DE102004061442B4 (en) * 2004-12-17 2017-01-19 Thermo Fisher Scientific (Bremen) Gmbh Method and device for measuring ions

Also Published As

Publication number Publication date
JPH1132037A (en) 1999-02-02

Similar Documents

Publication Publication Date Title
US7184986B2 (en) Content transaction system and method, and program providing medium therefor
US8117128B2 (en) Content usage management system method, and program providing medium therefor
US7099479B1 (en) Information transmission system, transmitter, and transmission method as well as information reception system, receiver and reception method
US5590197A (en) Electronic payment system and method
EP0895148B1 (en) Software rental system and method for renting software
US6195432B1 (en) Software distribution system and software utilization scheme for improving security and user convenience
KR100962860B1 (en) Digital rights management
US20030105720A1 (en) Content secondary distribution management system and method, and program providing medium therefor
US20080154782A1 (en) Apparatus, method and system for protecting personal information
JP2002141895A (en) System and method for distributing contents
JP2002140630A (en) System and method for clearing contents charge based on ticket
JPH1049584A (en) Charge imposition method and its method
JP3641909B2 (en) Proof data generator
JP3758316B2 (en) Software license management apparatus and method
JP3659090B2 (en) Electronic information distribution system, storage medium storing electronic information distribution program, and electronic information distribution method
JP2001256413A (en) System and method for limiting contents secondary distribution and program providing medium
JP4193920B2 (en) Authentication method and apparatus
JP2001256196A (en) Limiting system for inter-generation distribution of contents, limiting method for inter-generation distribution of contents and program provision medium
JP3396638B2 (en) Electronic cash method using user signature, device and recording medium
KR100423506B1 (en) method of preventing an illegal software copy on-line using an IC chip installed card
JP2001256403A (en) System and method for managing contents use charge and program providing medium
JP2001256355A (en) System and method for managing use of contents and program providing medium
JP3329438B2 (en) Electronic cash method with monitoring institution, user apparatus and monitoring institution apparatus for implementing the method
JP2004046754A (en) Ic card authentication system and method
JP2002139998A (en) Data communication system including attribute confirmation processing, and method therefor

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041129

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050117

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090204

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100204

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110204

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120204

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120204

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130204

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130204

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140204

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees