(57)【特許請求の範囲】
【請求項１】
ユーザの権限を証明するために生成された証明データの正当性を検証することにより上記ユーザのアクセス資格を認証するアクセス資格認証装置において、
認証用データを記憶する第１の記憶手段と、
ユーザの固有情報を記憶する第２の記憶手段と、
上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対し、所定の計算を実行した実行結果である証明用補助情報を記憶する第３の記憶手段と、
上記第１の記憶手段に保持されている上記認証用データと、上記第２の記憶手段に保持されている上記ユーザの固有情報とに所定の計算を施して証明データを生成する証明データ生成手段と、
上記証明データ生成手段によって生成された証明データと、上記第３の記憶手段に保持されている上記証明用補助情報とに所定の計算を施して、上記証明データが上記ユーザの固有情報に基づいて生成されていることを検証する証明データ検証手段とを有し、
上記アクセス資格認証の特徴情報が、有限体上の線形代数群の離散対数問題に基づくデジタル署名の署名鍵であり、
上記証明データ生成手段によって証明データを生成するために実施される計算が、上記ユーザの固有情報を仮の署名鍵として使用した、上記認証用データに対する上記デジタル署名アルゴリズムによるデジタル署名演算であり、
上記証明データ検証手段によって証明データの検証のために実施される計算が、上記証明データが、上記認証用データに対する上記仮の署名鍵を使った正しいデジタル署名であることを、上記署名鍵に対応する公開鍵と上記証明用補助情報とを使用して検証する演算であることを特徴とするアクセス資格認証装置。
【請求項２】
上記第３の記憶手段に記憶される証明用補助情報が、真正性を持つことが保証されている、請求項１に記載のアクセス資格認証装置。
【請求項３】
上記第３の記憶手段に記憶される上記証明用補助情報が、上記アクセス資格認証の特徴情報と、上記ユーザの固有情報とから作成されることを特徴とする、請求項１または２記載のアクセス資格認証装置。
【請求項４】
上記第３の記憶手段に記憶される上記証明用補助情報が、上記アクセス資格認証の特徴情報と、上記ユーザの固有情報と、上記アクセス資格認証の特徴情報に対応する検証情報とから作成されることを特徴とする、請求項１または２記載のアクセス資格認証装置。
【請求項５】
上記第３の記憶手段に記憶される上記証明用補助情報が、上記アクセス資格認証の特徴情報と、上記ユーザの固有情報と、デジタル署名における検証情報の全体からなる巡回部分群の生成元であって、上記特徴情報と該生成元とから検証情報が決定されるものとから作成されることを特徴とする、請求項１または２記載のアクセス資格認証装置。
【請求項６】
上記第３の記憶手段に記憶される上記証明用補助情報が、上記アクセス資格認証の特徴情報と、上記ユーザの固有情報と、デジタル署名が行われる有限体上の代数群を規定する情報とから作成されることを特徴とする、請求項１または２記載のアクセス資格認証装置。
【請求項７】
上記第３の記憶手段に記憶される上記証明用補助情報が、上記アクセス資格認証の特徴情報と、上記ユーザの固有情報と、デジタル署名が行われる有限体上の代数群の元であって、上記特徴情報と該元とから検証情報が決定されるものと、上記特徴情報に対応する検証情報とから作成されることを特徴とする、請求項１または２記載のアクセス資格認証装置。
【請求項８】
上記第３の記憶手段に記憶される上記証明用補助情報が、上記アクセス資格認証の特徴情報と、上記ユーザの固有情報と、デジタル署名が行われる有限体上の代数群を規定する情報と、上記アクセス資格認証の特徴情報に対応する検証情報とから作成されることを特徴とする、請求項１または２記載のアクセス資格認証装置。
【請求項９】
上記第３の記憶手段に記憶される上記証明用補助情報が、上記アクセス資格認証の特徴情報と、上記ユーザの固有情報と、デジタル署名が行われる有限体上の代数群を規定する情報と、該代数群の元であって、該特徴情報と該元とから検証情報が決定されるものとから作成されることを特徴とする、請求項１または２記載のアクセス資格認証装置。
【請求項１０】
上記第３の記憶手段に記憶される上記証明用補助情報が、上記アクセス資格認証の特徴情報と、上記ユーザの固有情報と、デジタル署名が行われる有限体上の代数群を規定する情報と、該代数群の元であって、該特徴情報と該元とから検証情報が決定されるものと、該特徴情報に対応する検証情報とから作成されることを特徴とする、請求項１または２記載のアクセス資格認証装置。
【請求項１１】
上記第３の記憶手段に記憶される上記証明用補助情報が、上記ユーザの固有情報を、非衝突性関数の入力として計算した値と、上記アクセス資格認証の特徴情報とから作成されることを特徴とする、請求項１または２記載のアクセス資格認証装置。
【請求項１２】
上記第３の記憶手段に記憶される上記証明用補助情報が、上記ユーザの固有情報と、上記アクセス資格認証の特徴情報に対応する検証情報とを、非衝突性関数の入力として計算した値と、上記アクセス資格認証の特徴情報とから作成されることを特徴とする、請求項１または２記載のアクセス資格認証装置。
【請求項１３】
上記第３の記憶手段に記憶される上記証明用補助情報が、上記ユーザの固有情報と、デジタル署名が行われる有限体上の代数群の元であって、該特徴情報と該元とから検証情報が決定されるものとを、非衝突性関数の入力として計算した値と、上記アクセス資格認証の特徴情報とから作成されることを特徴とする、請求項１または２記載のアクセス資格認証装置。
【請求項１４】
上記第３の記憶手段に記憶される上記証明用補助情報が、上記ユーザの固有情報と、デジタル署名が行われる有限体上の代数群を規定する情報とを、非衝突性関数の入力として計算した値と、上記アクセス資格認証の特徴情報とから作成されることを特徴とする、請求項１または２記載のアクセス資格認証装置。
【請求項１５】
上記第３の記憶手段に記憶される上記証明用補助情報が、上記ユーザの固有情報と、デジタル署名が行われる代数群の元であって、該特徴情報と該元とから検証情報が決定されるものと、該特徴情報に対応する検証情報とを、非衝突性関数の入力として計算した値と、上記アクセス資格認証の特徴情報とから作成されることを特徴とする、請求項１または２記載のアクセス資格認証装置。
【請求項１６】
上記第３の記憶手段に記憶される上記証明用補助情報が、上記ユーザの固有情報と、デジタル署名が行われる代数群を規定する情報と、上記アクセス資格認証の特徴情報に対応する検証情報とを、非衝突性関数の入力として計算した値と、上記アクセス資格認証の特徴情報とから作成されることを特徴とする、請求項１または２記載のアクセス資格認証装置。
【請求項１７】
上記第３の記憶手段に記憶される上記証明用補助情報が、上記ユーザの固有情報と、デジタル署名が行われる代数群を規定する情報と、該楕代数群の元であって、該特徴情報と該元とから検証情報が決定されるものとを、非衝突性関数の入力として計算した値と、上記アクセス資格認証の特徴情報とから作成されることを特徴とする、請求項１または２記載のアクセス資格認証装置。
【請求項１８】
上記第３の記憶手段に記憶される上記証明用補助情報が、上記ユーザの固有情報と、デジタル署名が行われる代数群を規定する情報と、該代数群上の元であって、該特徴情報と該元とから検証情報が決定されるものと、該特徴情報に対応する検証情報とを非衝突性関数の入力として計算した値と、上記アクセス資格認証の特徴情報とから作成されることを特徴とする、請求項１または２記載のアクセス資格認証装置。
【請求項１９】
少なくとも、上記第２の記憶手段と、上記証明データ生成手段とが、内部のデータ及び処理手続を外部から観測することを困難ならしめる防御手段中に保持されていることを特徴とする請求項１乃至１８のいずれかに記載のアクセス資格認証装置。
【請求項２０】
少なくとも、上記第２の記憶手段と、上記証明データ生成手段とが、ＩＣカードなどの携帯可能な小型演算装置として構成されていることを特徴とする請求項１乃至１８のいずれかに記載のアクセス資格認証装置。
【請求項２１】
証明データ生成装置が、少なくとも上記第１の記憶手段と、上記第２の記憶手段と、上記第３の記憶手段と、上記証明データ生成手段とを具備し、証明データ検証装置が、少なくとも上記証明データ検証手段と、認証用データを記憶する第４の記憶手段と、証明データを記憶する第５の記憶手段とを具備し、上記証明データ生成装置と上記証明データ検証装置とが互いに通信することによりユーザのアクセス資格を認証するアクセス資格認証装置において、
上記証明データ検証装置は、上記第４の記憶手段に記憶されている認証用データを上記証明データ生成装置の上記第１の記憶手段に書き出し、
上記証明データ生成装置は、上記証明データ生成手段によって上記第１の記憶手段に書き込まれた上記認証用データをもとに生成した証明データを、上記証明データ検証装置中の上記第５の記憶手段に書き出し、
上記証明データ検証装置は上記第５の記憶手段に書き込まれた上記証明データを用いてユーザのアクセス資格を認証することを特徴する請求項１乃至２０のいずれかに記載のアクセス資格認証装置。
【請求項２２】
ユーザの権限を証明するために生成された証明データの正当性を検証することにより上記ユーザのアクセス資格を認証するアクセス資格認証方法において、
第１の記憶手段が、認証用データを記憶する第１の記憶ステップと、
第２の記憶手段が、ユーザの固有情報を記憶する第２の記憶ステップと、
第３の記憶手段が、上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対し、所定の計算を実行した実行結果である証明用補助情報を記憶する第３の記憶ステップと、
証明データ生成手段が、上記第１の記憶ステップにより保持されている上記認証用データと、上記第２の記憶ステップにより保持されている上記ユーザの固有情報とに所定の計算を施して証明データを生成する証明データ生成ステップと、
証明データ検証手段が、上記証明データ生成ステップによって生成された証明データと、上記第３の記憶ステップによって保持されている上記証明用補助情報とに所定の計算を施して、上記証明データが上記ユーザの固有情報に基づいて生成されていることを検証する証明データ検証ステップとを有し、
上記アクセス資格認証の特徴情報が、有限体上の線形代数群の離散対数問題に基づくデジタル署名の署名鍵であり、
上記証明データ生成手段によって証明データを生成するために実施される計算が、上記ユーザの固有情報を仮の署名鍵として使用した、上記認証用データに対する上記デジタル署名アルゴリズムによるデジタル署名演算であり、
上記証明データ検証手段によって証明データの検証のために実施される計算が、上記証明データが、上記認証用データに対する上記仮の署名鍵を使った正しいデジタル署名であることを、上記署名鍵に対応する公開鍵と上記証明用補助情報とを使用して検証する演算であることを特徴とするアクセス資格認証方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はユーザのアクセス資格を認証するアクセス資格認証技術に関する。
【０００２】
【従来の技術】
本発明と同分野に属する先行技術としてプログラムの実行制御技術が知られている。プログラム実行制御技術は、
▲１▼アプリケーションプログラム中にユーザ認証のためのルーチンを埋め込み、
▲２▼該ルーチンはアプリケーションの実行を試みているユーザが正規の認証用の鍵を保有していることを検査し、
▲３▼上記認証用の鍵の存在が確認された場合に限りプログラムを続行し、それ以外の場合にはプログラムの実行を停止する
技術である。当技術を利用することにより、認証鍵を保有する正規のユーザにのみアプリケーションプログラムの実行を可能ならしめることが出来る。当技術はソフトウェア頒布事業において実用化されており、製品として、例えばＲａｉｎｂｏｗ  Ｔｅｃｈｎｏｌｏｇｉｅｓ，Ｉｎｃ．社のＳｅｎｔｉｎｅｌＳｕｐｅｒＰｒｏ（商標）や、Ａｌａｄｄｉｎ  Ｋｎｏｗｌｅｄｇｅ  Ｓｙｓｔｅｍｓ  Ｌｔｄ．社のＨＡＳＰ（商標）等がある。
【０００３】
以下にプログラム実行制御技術について、より詳細に説明する。
▲１▼ソフトウェアの実行を行うユーザはユーザ識別情報として認証鍵を保有する。認証鍵は暗号化のための鍵であり、ソフトウェアの利用を許可する者、例えばソフトウェアベンダがユーザに配布する。認証鍵は複製を防ぐためにハードウェア中のメモリ等に厳重に封入され、郵便等の物理的手段を用いてユーザに配送される。
【０００４】
▲２▼ユーザは認証鍵を内蔵したハードウェアを指定された方法で所有のパソコン・ワークステーションに装着する。ハードウェアは、例えばプリンタポートに装着される。
【０００５】
▲３▼ユーザがアプリケーションプログラムを起動し、プログラムの実行が上記ユーザ認証ルーチンに及ぶと、プログラムはユーザの認証鍵を内蔵したハードウェアと通信する。通信の結果に基づいてプログラムは認証鍵を識別し、正しい認証鍵の存在が確認されると次のステップへ実行を移す。通信が失敗し認証鍵の存在が確認できない場合は、プログラムは自らを停止し以降の実行ができないようにする。
【０００６】
アクセス資格認証ルーチンによる認証鍵の識別は、例えば、次のようなプロトコルに従って行われる。
▲１▼アクセス資格認証ルーチンは適当な数を生成し鍵内蔵ハードウェアに送信する。
▲２▼鍵内蔵ハードウェアは内蔵する認証鍵を用いて送られた数を暗号化し、上記認証ルーチンに返信する。
▲３▼認証ルーチンは、返信された数が予め予想された数、即ちハードウェアに送信した数を正しい認証鍵で暗号化して得られる数であるか否かを判定する。
▲４▼返信された数が予想された数と一致する場合にはプログラムの実行を続行し、一致しない場合には停止する。
【０００７】
この際、アプリケーションプログラムと認証鍵内蔵ハードウェア間の通信は、たとえ同じアプリケーションプログラム中の同じ箇所において同じハードウェアとの間で交換されるものであろうとも、実行のたびに異ならなければならない。さもなければ、正常な実行過程における通信内容を一度記録し、以後プログラムを実行する度に記録した通りにアプリケーションプログラムへの返信を行うことにより、正しい認証鍵を保有しないユーザでもプログラムを実行することが可能となってしまう。このような通信内容の再現によるアプリケーションプログラムの不正実行をリプレイアタック（ｒｅｐｌａｙ  ａｔｔａｃｋ）と呼ぶ。
【０００８】
リプレイアタックを防ぐために、通常、鍵内蔵ハードウェアに送られる数は通信の度に新たに生成される乱数を用いる。
【０００９】
［従来技術の問題点］
従来技術の問題点は、アプリケーションプログラムを作成する際に、プログラム作成者がユーザが持つ認証鍵を予め想定した上で、該認証鍵に基づいてプログラムの保護処理を行わなければならないという性質に由来する。
【００１０】
つまり、プログラム作成者は、鍵内蔵ハードウェアからの正しい返信をプログラム作成時に予測して、正しい返信を受けた場合にのみプログラムが正常に実行されるようにプログラムの作成を行わなければならない。
【００１１】
上記特徴を有する従来技術の利用形態は基本的に２通りとなるが、いずれの場合も以下に述べる問題を有する。
【００１２】
▲１▼第一の方法ではユーザの認証鍵をユーザ毎に異なるように用意する。即ち、ユーザ甲には認証鍵甲、ユーザ乙には認証鍵乙というように、ユーザ毎に異なる認証鍵を一つずつ用意する。
【００１３】
この場合、プログラム作成者は、プログラム中の認証ルーチンをユーザ毎に適切に変えてプログラムを作成する必要がある。つまり、ユーザ毎に認証鍵が異なるので、プログラム中の認証ルーチンは該プログラムを利用するユーザ固有の認証鍵を識別するように作成されなければならず、プログラム作成者は利用ユーザの数だけ異なるプログラムを作成する必要がある。
【００１４】
対象となるユーザが多数の場合、プログラムをユーザ毎に個別化する作業はプログラム作成者にとって耐えがたい労力を要求し、管理しなければならないユーザ認証鍵のリストも膨大なものとなる。
【００１５】
▲２▼第二の方法では、プログラム作成者はアプリケーション毎にそれぞれ異なる認証鍵を用意する。即ち、アプリケーション甲には認証鍵甲、アプリケーション乙には認証鍵乙というように、アプリケーション毎に異なる認証鍵を一つずつ用意し、固有の認証鍵を識別するように各アプリケーションプログラムを作成する。
【００１６】
この方法では、第一の方法の場合のようにユーザ毎にプログラムを個別的に作成する必要は無くなるが、逆に、ユーザは利用するアプリケーションの数だけ認証鍵を保持しなければならないこととなる。
【００１７】
この制約はプログラム作成者及びユーザそれぞれに以下のような問題を惹起する。
【００１８】
前述のように、認証鍵はハードウェアに厳重に封入した状態でユーザに配布する必要がある。従って、プログラム自身はネットワークを介して簡便に配布することができるのと対照的に、認証鍵を内蔵するハードウェアの配布は郵便等の物理手段に頼らざるを得ない。この制限は、コスト、時間、梱包の手間いずれをとっても、プログラム作成者とって大きな負担となる。
プログラム作成者は、ユーザの要求に応えるべく、アプリケーション毎に異なるハードウェアを一定個数ストックしておかなければならず、在庫管理のコストを必要とする。
【００１９】
また、ユーザは利用するアプリケーションを変更する度にハードウェアを交換しなければならないという煩雑さに甘んじなければならない。
【００２０】
ユーザがあるアプリケーションを使いたいとしても、認証鍵が封入されたハードウェアが届くまで待たねばならず、即座に利用できないという点での不便さも生ずる。
【００２１】
この負担を軽減するため、ハードウェア中に複数の認証鍵を予め封入しておき、新しいアプリケーションの利用をユーザに許可する度に、ハードウェア中の未使用の認証鍵を利用可能とするためのパスワードをユーザに教えるといった方法が用いられる。しかしながら、この方法を用いたとしても、上記の問題点は原理的に解決されないことは明らかである。実際、商品化に際しては、上記問題点に起因する不便さを緩和するために、ハードウェアは連接して複数結合することが可能となるように設計される。
【００２２】
このように、上記二つのいずれの方法をとったとしても、プログラム作成者及びユーザの利便に問題が存在する。
【００２３】
なお、実行制御の外的な特質を考えると、メールのプライバシー保護やファイルや計算機資源のアクセス制御、その他一般のデジタルコンテンツアクセス制御にも適用可能であると想像できる。しかしながら、従来技術をこれらの分野に適用しようとしても、上記の問題点により不可能である。
【００２４】
【発明が解決しようとする課題】
本発明は、以上の事情を考慮してなされたものであり、ユーザ側及びアプリケーション作成者等のプロテクト側の双方に生ずる、多数の認証鍵等の固有情報を取り扱うことによって派生する不具合を解消し、プログラムの実行制御、デジタルコンテンツ（静止画・動画・音声等）のアクセス権保護、メールのプライバシー保護、ファイルや計算機資源のアクセス制御等を行う際に、ユーザのアクセス資格を簡易に認証する事ができるようにした、アクセス資格認証技術を提供することを目的とする。
【００２５】
【課題を解決する手段】
本発明によれば、上述の目的を達成するために、ユーザの権限を証明するために生成された証明データの正当性を検証することにより上記ユーザのアクセス資格を認証するアクセス資格認証装置に、認証用データを記憶する第１の記憶手段と、ユーザの固有情報を記憶する第２の記憶手段と、上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対し、所定の計算を実行した実行結果である証明用補助情報を記憶する第３の記憶手段と、上記第１の記憶手段に保持されている認証用データと、上記第２の記憶手段に保持されている上記ユーザの固有情報とに所定の計算を施して証明データを生成する証明データ生成手段と、上記証明データ生成手段によって生成された証明データと、上記第３の記憶手段に保持されている上記証明用補助情報とに所定の計算を施して、上記証明データが上記ユーザの固有情報に基づいて生成されていることを検証する証明データ検証手段とを設けている。そして、上記アクセス資格認証の特徴情報は、有限体上の線形代数群（つまり、有限体係数の可逆な正方行列からなる群。以下代数群と略す）の離散対数問題に基づくデジタル署名の署名鍵としている。
【００２６】
この構成においては、証明用補助情報（アクセスチケット）を導入することにより、アクセス資格認証の特徴情報とユーザ固有情報とを独立させることができ、したがってプロテクト側もユーザ側も、１つの固有情報を準備しておくだけですむ。
【００２７】
アクセスチケットは、特定のユーザの固有情報とアクセス資格認証の特徴情報とに基づいて計算されるデータであり、また、ユーザ固有情報を知らずに、アクセスチケットからアクセス資格認証の特徴情報を計算することは困難である。そして、ユーザ固有情報とアクセスチケットとの正しい組み合わせ、すなわち、ユーザ固有情報と該ユーザ固有情報に基づいて計算されたアクセスチケットの組み合わせが入力された場合に限って、正しい証明用データが計算される。したがってユーザはあらかじめ固有情報を保持し、プログラム作成者等のプロテクト者はユーザが所持する固有情報とは独立にアクセス資格認証の特徴情報を用意し、アクセスチケットをユーザの固有情報とアプリケーションプログラムの作成等に使用したアクセス資格認証の特徴情報とに応じて作成し、配布することにより、実行制御等のユーザのアクセス資格の認証を行う事ができる。
【００２８】
なお、本発明は、方法としても実現可能である。さらに本発明の少なくとも一部をプログラム製品として実現することもできる。
【００２９】
また、この構成において、上記証明データ検証手段が乱数生成手段を備え、乱数生成手段は生成した乱数を認証用データとして第１の記憶手段に書き込むようにしてもよい。
【００３０】
また、証明データ検証手段は、証明データ生成手段によって生成された証明データが、上記乱数である認証用データと、ユーザの固有情報とに所定の演算を施したものであることを検証するようにしてもよい。
【００３１】
この場合、演算には以下のような手法を採用できる。
【００３２】
まず、ＥｌＧａｍａｌ署名を用いることができる。なお、代数群は一般に非可換だが、以下では巡回部分群しか現れないので記法の便宜上、群の算法は加法的に記すこととする。
【００３３】
すなわち、有限体上の代数群Ｒにおいて、位数がｎである点をＰとし、アクセス資格認証の特徴情報を正整数ｘとして、ｘに対応する検証情報Ｙを、上記Ｐをｘ倍したＧ上の点（Ｙ＝ｘＰ）とするとき、上記証明データ生成手段は、証明データとしてＧ上の点Ｒと正整数ｓとを生成し、上記証明データ検証手段は、上記第３の記憶手段に記憶される証明用補助情報ｔとＲから決定される正整数ｒとを乗じた値ｒｔを生成し、Ｇ上で、上記ＹをＲから決定される正整数ｒ倍した値とＲをｓ倍した値と上記Ｐを（（−ｒｔ）  ｍｏｄ  ｎ）倍した値との和と、上記点Ｐを第１の記憶手段に記憶されている認証用データでｍ倍した値とが等しくなること（ｍＰ＝ｒＹ＋ｓＲ−ｒｔＰ）を検証するようにしてもよい。
【００３４】
また、有限体上の代数群Ｇにおいて、位数がｎである点をＰとし、アクセス資格認証の特徴情報を正整数ｘとして、ｘに対応する検証情報Ｙを、上記Ｐをｘ倍したＧ上の点（Ｙ＝ｘＰ）とするとき、上記証明データ生成手段は、証明データとしてＧ上の点Ｒと正整数ｓとを生成し、上記証明データ検証手段は、上記第３の記憶手段に記憶される証明用補助情報ｔとＲから決定される正整数ｒとを乗じた値ｒｔを生成し、Ｇ上で、上記Ｙをｒｔ倍した値とＲをｓ倍した値との和と、上記点Ｐを第１の記憶手段に記憶されている認証用データでｍ倍した値とが等しくなること（ｍＰ＝ｒｔＹ＋ｓＲ）を検証するようにしてもよい。
【００３５】
また、有限体上の代数群Ｇにおいて、位数がｎである点をＰとするとき、上記証明データ生成手段は、証明データとしてＧ上の点Ｒ及び正整数ｓを生成するに当たり、適当な乱数ｋを生成し、Ｇ上で上記Ｐをｋ倍した点をＲ（＝ｋＰ）とし、少なくとも、上記第２の記憶手段に記憶されるユーザの固有情報ｅから決まる正整数ｆと、点Ｒから決まる正整数ｒと、第１の記憶手段に書き込まれた認証用データｍとから、法ｎのもとで、ｍからｆとｒとの積を引いた数に、ｋの逆数を乗じることによってｓ（＝（ｍ−ｒｆ）ｋ-1  ｍｏｄ  ｎ）を計算することで、証明データＲとｓを生成するようにしてもよい。
【００３６】
また、有限体上の代数群Ｇにおいて、位数がｎである点をＰとするとき、
上記証明データ生成手段は、証明データとしてＧ上の点Ｒ及び正整数ｓを生成するに当たり、適当な乱数ｋを生成し、Ｇ上で上記Ｐをｋ倍した点をＲ（＝ｋＰ）とし、少なくとも、上記第２の記憶手段に記憶されるユーザの固有情報ｅと上記代数群を規定する情報とに所定の演算を施して生成した正整数ｆと、点Ｒから決まる正整数ｒと、上記ｋと、第１の記憶手段に書き込まれた認証用データｍとから、法ｎのもとで、ｍからｆとｒとの積を引いた数に、ｋの逆数を乗じることによってｓ（＝（ｍ−ｒｆ）ｋ-1  ｍｏｄ  ｎ）を計算することで、証明データＲとｓを生成するようにしてもよい。
【００３７】
また、ｑ個の元を持つ有限体Ｆq上の代数群Ｇにおいて、Ｇ上の位数がｎである点をＰとし、アクセス資格認証の特徴情報を正整数ｘとして、ｘに対応する検証情報Ｙを、上記Ｐをｘ倍したＧ上の点（Ｙ＝ｘＰ）とするとき、上記第３の記憶手段に記憶される証明用補助情報ｔが、上記ｘから、上記第２の記憶手段に記憶されるユーザ識別情報ｅに所定の演算を施して生成した正整数ｆを減じて得られるデータであり、上記証明データ生成手段は、証明データとしてＧ上の点Ｒ及び正整数ｓを生成するに当たり、適当な乱数ｋを生成し、Ｇ上で上記Ｐをｋ倍した点をＲ（＝ｋＰ）とし、上記ｅに所定の演算を施して生成した正整数ｆと、上記ｋと、第１の記憶手段に書き込まれた認証用データｍとから、法ｎのもとで、ｍからｆとｒとの積を引いた数に、ｋの逆数を乗じることによって、ｓ（＝（ｍ−ｒｆ）ｋ-1  ｍｏｄ  ｎ）を生成し、上記証明データ検証手段は、Ｇ上で、上記Ｙをｒ倍した値とＲをｓ倍した値とＰを（（−ｒｔ）  ｍｏｄ  ｎ）倍した値との和が、Ｐを上記認証用データでｍ倍した値と等しくなること（ｍＰ＝ｒＹ＋ｓＲ−ｒｔＰ）を検証するようにしてもよい。
【００３８】
また、ｑ個の元を持つ有限体Ｆq上の代数群Ｇにおいて、Ｇ上の位数がｎである点をＰとし、アクセス資格認証の特徴情報を正整数ｘとして、ｘに対応する検証情報Ｙを、上記Ｐをｘ倍したＧ上の点（Ｙ＝ｘＰ）とするとき、上記第３の記憶手段に記憶される証明用補助情報ｔが、上記ｘから、上記第２の記憶手段に記憶されるユーザ識別情報ｅと上記ｑ、Ｇとに所定の演算を施して生成した正整数ｆを減じて得られるデータであり、上記証明データ生成手段は、証明データとしてＧ上の点Ｒ及び正整数ｓを生成するに当たり、適当な乱数ｋを生成し、Ｇ上で上記Ｐをｋ倍した点をＲ（＝ｋＰ）とし、上記ｅと、上記ｑ、Ｇとに所定の演算を施して生成した正整数ｆと、上記ｋと、第１の記憶手段に書き込まれた認証用データｍとから、法ｎのもとで、ｍからｆとｒとの積を引いた数に、ｋの逆数を乗じることによって、ｓ（＝（ｍ−ｒｆ）ｋ-1  ｍｏｄ  ｎ）を生成し、上記証明データ検証手段は、Ｇ上で、上記Ｙをｒ倍した値とＲをｓ倍した値とＰを（（−ｒｔ）  ｍｏｄ  ｎ）倍した値との和が、Ｐを上記認証用データでｍ倍した値と等しくなること（ｍＰ  ＝ｒＹ＋ｓＲ−ｒｔＰ）を検証するようにしてもよい。
【００３９】
また、ｑ個の元を持つ有限体Ｆq上の代数群Ｇにおいて、Ｇ上の位数がｎである点をＰとし、アクセス資格認証の特徴情報を正整数ｘとして、ｘに対応する検証情報Ｙを、上記Ｐをｘ倍したＧ上の点（Ｙ＝ｘＰ）とするとき、上記第３の記憶手段に記憶される証明用補助情報ｔが、法ｎのもとでの上記ｘの逆元ｘ-1に、上記第２の記憶手段に記憶されるユーザ識別情報ｅと上記ｎ、ｑ、Ｐ、Ｇとに依存する非衝突性関数値ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）を掛け合わせて得られるデータ（ｔ＝ｘ-1ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）  ｍｏｄ  ｎ）であり、上記証明データ生成手段は、証明データとして点から定まる値の値がｒである点Ｒ及び正整数ｓを生成するに当たり、適当な乱数ｋを生成し、Ｇ上で上記Ｐをｋ倍した点をＲ（＝ｋＰ）とし、上記ｅと、上記ｎ、ｑ、Ｐ、Ｇと、上記ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）と、第１の記憶手段に書き込まれた認証用データｍとから、法ｎのもとで、ｍからｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）とｒとの積を引いた数に、ｋの逆数を乗じることによって、ｓ（＝（ｍ−ｒｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ））ｋ-1  ｍｏｄ  ｎ）を生成し、上記証明データ検証手段は、Ｇ上で、上記Ｙをｒｔ倍した値とＲをｓ倍した値との和が、Ｐを上記認証用データでｍ倍した値と等しくなること（ｍＰ＝ｒｔＹ＋ｓＲ）を検証するようにしてもよい。
【００４０】
さらにＮｙｂｅｒｇ−Ｒｕｅｐｐｅｌ署名を用いてもよい。
【００４１】
すなわち、有限体上の代数群Ｇにおいて、位数がｎである点をＰとし、アクセス資格認証の特徴情報を正整数ｘとして、ｘに対応する検証情報Ｙを、上記Ｐをｘ倍したＧ上の点（Ｙ＝ｘＰ）とするとき、上記証明データ生成手段は、証明データとして正整数ｒと正整数ｓとを生成し、上記証明データ検証手段は、上記第３の記憶手段に記憶される証明用補助情報ｔと上記ｒとを乗じた値ｒｔを生成し、Ｇ上で、上記Ｙをｒ倍した値とＰをｓ倍した値と上記Ｐを−ｒｔ倍した値との和Ｋを計算し（Ｋ＝ｒＹ＋ｓＰ−ｒｔＰ）、上記ｒと点Ｋから定まる値ｋとの差が、第１の記憶手段に記憶されている認証用データｍとｎを法として合同になること（ｍ≡ｒ−ｋ  ｍｏｄ  ｎ）を検証するようにしてもよい。
【００４２】
また、有限体上の代数群Ｇにおいて、位数がｎである点をＰとし、アクセス資格認証の特徴情報を正整数ｘとして、ｘに対応する検証情報Ｙを、上記Ｐをｘ倍したＧ上の点（Ｙ＝ｘＰ）とするとき、上記証明データ生成手段は、証明データとして正整数ｒ及び正整数ｓを生成するに当たり、適当な乱数ｕを生成し、Ｇ上で上記Ｐをｕ倍した点をＶ（＝ｕＰ）とし、法ｎのもとでＶから定まる値ｖと認証用データｍとを足した数をｒとし（ｒ＝ｍ＋ｖ  ｍｏｄ  ｎ）、上記第２の記憶手段に記憶されるユーザの固有情報ｅと上記代数群を規定する情報とに依存する非衝突性関数値ｆと、上記ｕと、上記ｒとから、法ｎのもとで、ｕからｆとｒの積を引いた数ｓ（＝ｕ−ｒｆ  ｍｏｄ  ｎ）を計算するようにしてもよい。
【００４３】
また、ｑ個の元を持つ有限体Ｆq上の代数群Ｇにおいて、Ｇ上の位数がｎである点をＰとし、アクセス資格認証の特徴情報を正整数ｘとして、ｘに対応する検証情報Ｙを、上記Ｐをｘ倍したＧ上の点（Ｙ＝ｘＰ）とするとき、上記第３の記憶手段に記憶される証明用補助情報ｔが、上記ｘから、上記第２の記憶手段に記憶されるユーザ識別情報ｅと上記ｎ、ｑ、Ｐ、Ｇとに依存する非衝突性関数値ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）を減じて得られるデータ（ｔ＝ｘ−ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ））であり、上記証明データ生成手段は、証明データとして正整数ｒと正整数ｓとを生成するに当たり、適当な乱数ｕを生成し、Ｇ上で上記Ｐをｕ倍した点をＶ（＝ｕＰ）とし、法ｎのもとで、Ｖから定まる値ｖと上記第１の記憶手段に書き込まれた認証用データｍとを足した数をｒとし（ｒ＝ｍ＋ｖ  ｍｏｄ  ｎ）、上記ｅと、上記ｎ、ｑ、Ｐ、Ｇと、上記ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）とから、法ｎのもとで、ｕからｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）とｒの積を引いた数ｓ（＝ｕ−ｒｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）  ｍｏｄ  ｎ）を生成し、上記証明データ検証手段は、Ｇ上で、上記Ｙをｒ倍した値とＰをｓ倍した値とＰを−ｒｔ倍した値との和Ｋを計算し（Ｋ＝ｒＹ＋ｓＰ−ｒｔＰ）、上記ｒと点Ｋから定まる値ｋとの差が、上記認証用データｍとｎを法として合同になること（ｍ≡ｒ−ｋ  ｍｏｄ  ｎ）を検証するようにしてもよい。
【００４４】
さらに、Ｓｃｈｎｏｒｒ署名を用いてもよい。
【００４５】
すなわち、有限体上の代数群Ｇにおいて、位数がｎである点をＰとし、アクセス資格認証の特徴情報を正整数ｘとして、ｘに対応する検証情報Ｙを、上記Ｐをｘ倍したＧ上の点（Ｙ＝ｘＰ）とするとき、証明データ生成手段は、証明データとして正整数ｈと正整数ｓとを生成し、証明データ検証手段は、上記第３の記憶手段に記憶される証明用補助情報ｔと上記ｈとを乗じた値ｈｔを生成し、Ｇ上で、上記Ｙをｈ倍した値と上記Ｐをｓ倍した値の和から、上記Ｐをｈｔ倍した値を減じた値Ｖを計算し（Ｖ＝ｈＹ＋ｓＰ−ｈｔＰ）、Ｖから定まる値ｖと上記第１の記憶手段に記憶されている認証用データｍとを結合した値に依存する非衝突性関数値Ｈ（ｖ｜ｍ）と、上記ｈとが等しくなること（ｈ≡Ｈ（ｖ｜ｍ））を検証するようにしてもよい。
【００４６】
また、有限体上の代数群Ｇにおいて、位数がｎである点をＰとし、アクセス資格認証の特徴情報を正整数ｘとして、ｘに対応する検証情報Ｙを、上記Ｐをｘ倍したＧ上の点（Ｙ＝ｘＰ）とするとき、上記証明データ生成手段は、証明データとして正整数ｈ及び正整数ｓを生成するに当たり、適当な乱数ｋを生成し、Ｇ上で上記Ｐをｋ倍した点をＲ（＝ｋＰ）とし、Ｒから定まる値ｒと上記第１の記憶手段に記憶される証明用データｍとを結合した値に依存する非衝突性関数値Ｈ（ｖ｜ｍ）と、上記第２の記憶手段に記憶されるユーザの固有情報ｅと上記代数群を規定する情報とに依存する非衝突性関数値ｆと、上記ｋと、上記ｈとから、法ｎのもとで、ｋからｆとｈの積を引いた数ｓ（＝ｋ−ｈｆ  ｍｏｄ  ｎ）を計算するようにしてもよい。
【００４７】
また、ｑ個の元を持つ有限体Ｆq上の代数群Ｇにおいて、Ｇ上の位数がｎである点をＰとし、アクセス資格認証の特徴情報を正整数ｘとして、ｘに対応する検証情報Ｙを、上記Ｐをｘ倍したＧ上の点（Ｙ＝ｘＰ）とするとき、上記第３の記憶手段に記憶される証明用補助情報ｔが、上記ｘから、上記第２の記憶手段に記憶されるユーザ識別情報ｅと上記ｎ、ｑ、Ｐ、Ｇとに依存する非衝突性関数値ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）を減じて得られるデータ（ｔ＝ｘ−ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ））であり、上記証明データ生成手段は、証明データとして正整数ｈ及び正整数ｓを生成するに当たり、適当な乱数ｋを生成し、Ｇ上で上記Ｐをｋ倍した点をＲ（＝ｋＰ）とし、Ｒから定まる値ｒと上記第１の記憶手段に書き込まれた認証用データｍとを結合した値に依存する非衝突性関数Ｈ（ｖ｜ｍ）と、上記ｋと、上記ｈと、上記ｅと、上記ｎ、ｑ、Ｐ、Ｇと、上記ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）とから、法ｎのもとで、ｋからｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）とｈの積を引いた数ｓ（＝ｋ−ｈｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）  ｍｏｄ  ｎ）を生成し、上記証明データ検証手段は、上記証明用補助情報ｔと上記ｈとを乗じた値ｈｔを生成し、Ｇ上で、上記Ｐをｓ倍した値と上記Ｙをｈ倍した値との和から上記Ｐをｈｔ倍した値を減じた値Ｒ’（＝ｓＰ＋ｈＹ−ｈｔＰ）を計算し、Ｒ’から定まる値ｒ’と上記認証用データｍとを結合した値を入力とする非衝突性関数Ｈの出力がｈと等しくなること（ｈ＝Ｈ（ｒ’｜ｍ））を検証するようにしてもよい。
【００４８】
さらにＤＳＡ署名を用いてもよい。
【００４９】
すなわち、有限体上の代数群Ｇにおいて、位数がｎである点をＰとし、アクセス資格認証の特徴情報を正整数ｘとして、ｘに対応する検証情報Ｙを、上記Ｐをｘ倍したＧ上の点（Ｙ＝ｘＰ）とするとき、上記証明データ生成手段は、証明データとして正整数ｒと正整数ｓとを生成し、上記証明データ検証手段は、法ｎのもとで、ｓの逆元ｗ（＝ｓ-1  ｍｏｄ  ｎ）を生成し、上記ｒと上記ｗとを乗じた値ｗｒと、上記第３の記憶手段に記憶される証明用補助情報ｔと上記ｒと上記ｗとをを乗じた値ｗｒｔと、上記第１の記憶手段に記憶されている認証用データｍと上記ｗとを乗じた値ｗｍとを生成し、Ｇ上で、上記Ｙをｗｒ倍した値とＰをｗｍ倍した値の和からＰをｗｒｔ倍した値を減じた値Ｖ（＝ｗｒＹ＋ｗｍＰ−ｗｒｔＰ）から定まる値ｖと、上記ｒとが、法ｎのもとで等しくなること（ｖ≡ｒ
ｍｏｄ  ｎ）を検証するようにしてもよい。
【００５０】
また、、有限体上の代数群Ｇにおいて、位数がｎである点をＰとし、アクセス資格認証の特徴情報を正整数ｘとして、ｘに対応する検証情報Ｙを、上記Ｐをｘ倍したＧ上の点（Ｙ＝ｘＰ）とするとき、上記証明データ生成手段は、証明データとして正整数ｒと正整数ｓとを生成し、上記証明データ検証手段は、法ｎのもとで、ｓの逆元ｗ（＝ｓ-1  ｍｏｄ  ｎ）を生成し、上記第３の記憶手段に記憶される証明用補助情報ｔと上記ｒと上記ｗとをを乗じた値ｗｒｔと、上記第１の記憶手段に記憶されている認証用データｍと上記ｗとを乗じた値ｗｍとを生成し、Ｇ上で、上記Ｙをｗｒｔ倍した値とＰをｗｍ倍した値の和Ｖ（＝ｗｒｔＹ＋ｗｍＰ）から定まる値ｖと、上記ｒとが、法ｎのもとで等しくなること（ｖ≡ｒ  ｍｏｄ  ｎ）を検証するようにしてもよい。
【００５１】
また、有限体上の代数群Ｇにおいて、位数がｎである点をＰとし、アクセス資格認証の特徴情報を正整数ｘとして、ｘに対応する検証情報Ｙを、上記Ｐをｘ倍したＧ上の点（Ｙ＝ｘＰ）とするとき、上記証明データ生成手段は、証明データとして点から定まる値がｒである点Ｒ及び正整数ｓを生成するに当たり、適当な乱数ｋを生成し、Ｇ上で上記Ｐをｋ倍した点をＲ（＝ｋＰ）から定まる値をｒとし、上記第１の記憶手段に記憶されている認証用データｍに依存する非衝突性関数値Ｈ（ｍ）と、上記第２の記憶手段に記憶されるユーザの固有情報ｅと上記代数群を規定する情報とに依存する非衝突性関数値ｆと、上記ｒとから、法ｎのもとで、Ｈ（ｍ）からｆとｒの積を引いた数に、ｋの逆数を乗じることによって、ｓ（＝（Ｈ（ｍ）−ｒｆ）ｋ-1  ｍｏｄ  ｎ）を計算するようにしてもよい。
【００５２】
また、ｑ個の元を持つ有限体  Ｆq上の代数群Ｇにおいて、Ｇ上の位数がｎである点をＰとし、アクセス資格認証の特徴情報を正整数ｘとして、ｘに対応する検証情報Ｙを、上記Ｐをｘ倍したＧ上の点（Ｙ＝ｘＰ）とするとき、上記第３の記憶手段に記憶される証明用補助情報ｔが、上記ｘに、上記第２の記憶手段に記憶されるユーザ識別情報ｅと上記ｎ、ｑ、Ｐ、Ｇとに依存する非衝突性関数値ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）を加えて得られるデータ（ｔ＝ｘ＋ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ））であり、上記証明データ生成手段は、証明データとして点から定まる値がｒである点Ｒ及び正整数ｓを生成するに当たり、適当な乱数ｋを生成し、Ｇ上で上記Ｐをｋ倍した点をＲ（＝ｋＰ）から定まる値をｒとし、上記第１の記憶手段に記憶されている認証用データｍと、上記ｅと、上記ｎ、ｑ、Ｐ、Ｇと、上記ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）とから、法ｎのもとで、ｍからｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）とｒとの積を引いた数に、ｋの逆数を乗じることによって、ｓ（＝（ｍ−ｒｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ））ｋ-1  ｍｏｄ  ｎ）を生成し、上記証明データ検証手段は、法ｎのもとで、ｓの逆元ｗ（＝ｓ-1  ｍｏｄ  ｎ）を生成し、上記ｒと上記ｗとを乗じた値ｗｒと、上記第３の記憶手段に記憶される証明用補助情報ｔと上記ｒと上記ｗとをを乗じた値ｗｒｔと、上記ｍと上記ｗとを乗じた値ｗｍとを生成し、Ｇ上で、上記Ｙをｗｒ倍した値と上記Ｐをｗｍ倍した値の和からＰをｗｒｔ倍した値を減じた値Ｖ（＝ｗｒＹ＋ｗｍＰ−ｗｒｔＰ）から定まる値ｖと、上記ｒとが、法ｎのもとで等しくなること（ｖ≡ｒ  ｍｏｄ  ｎ）を検証するようにしてもよい。
【００５３】
また、ｑ個の元を持つ有限体Ｆq上の代数群Ｇにおいて、Ｇ上の位数がｎである点をＰとし、アクセス資格認証の特徴情報を正整数ｘとして、ｘに対応する検証情報Ｙを、上記Ｐをｘ倍したＧ上の点（Ｙ＝ｘＰ）とするとき、上記第３の記憶手段に記憶される証明用補助情報ｔが、法ｎのもとでの上記ｘの逆元ｘ-1に、上記第２の記憶手段に記憶されるユーザ識別情報ｅと上記ｎ、ｑ、Ｐ、Ｇとに依存する非衝突性関数値ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）を掛け合わせて得られるデータ（ｔ＝ｘ-1  ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）  ｍｏｄ  ｎ）であり、上記証明データ生成手段は、証明データとして正整数ｒ及び正整数ｓを生成するに当たり、適当な乱数ｋを生成し、Ｇ上で上記Ｐをｋ倍した点をＲ（＝ｋＰ）から定まる値をｒとし、上記第１の記憶手段に記憶されている認証用データｍと、上記ｅと、上記ｎ、ｑ、Ｐ、Ｇと、上記ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）とから、法ｎのもとで、ｍからｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）とｒとの積を引いた数に、ｋの逆数を乗じることによって、ｓ（＝（ｍ−ｒｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ））ｋ-1  ｍｏｄ  ｎ）を生成し、上記証明データ検証手段は、法ｎのもとで、ｓの逆元ｗ（＝ｓ-1  ｍｏｄ  ｎ）を生成し、上記第３の記憶手段に記憶される証明用補助情報ｔと上記ｒと上記ｗとを乗じた値ｗｒｔと、上記ｍと上記ｗとを乗じた値ｗｍとを生成し、Ｇ上で、上記Ｙをｗｒｔ倍した値と上記Ｐをｗｍ倍した値の和Ｖ（＝ｗｒｔＹ＋ｗｍＰ）から定まる値ｖと、上記ｒとが、法ｎのもとで等しくなること（ｖ≡ｒ  ｍｏｄ  ｎ）を検証するようにしてもよい。
【００５４】
また、上記認証用データは、乱数生成手段が生成した乱数ｒを非衝突性関数ｈに対する入力とした時の出力ｈ（ｒ）であるようにしてもよい。
【００５５】
また、本発明は方法として実現することもでき、また少なくともその一部をソフトウェアの実現態様とすることもできる。
【００５６】
【発明の実施の態様】
［全体の構成］
具体的な個別の実施例を述べる前に、本発明の実施形態の全体像を以下に述べる。
【００５７】
まず、本発明を、ユーザのＰＣあるいはワークステーション上で動作するアプリケーションプログラムの実行制御に用いる場合について述べる。図１にこの実施形態における装置の構成を示す。
【００５８】
図１において、プログラム実行制御装置（アクセス資格認証装置）は、証明データ検証装置１０、証明データ生成装置１１およびアクセスチケット生成装置１２を含んで構成されている。証明データ検証装置１０は検証手段１３を具備し、また認証用データ１４および証明用補助情報（アクセスチケット）１５を保持している。証明データ生成装置１１は、証明データ生成手段１６を具備し、またユーザ固有情報１７を保持している。アクセスチケット生成装置１２はアクセスチケット１５を生成して証明データ検証装置１０に供給する。アクセスチケット１５については後に詳述する。
【００５９】
証明データ検証装置１０は認証用データ１４を証明データ生成装置１１に送出する。証明データ生成装置１１の証明データ生成手段１６は、受け取った認証用データ１４と、保持しているユーザ固有情報１７とから証明データを生成し、証明データ検証装置１０に返す。証明データ検証装置１０の検証手段１３は、認証用データ１４およびアクセスチケット１５を用いて証明データを検証し、検証が成功すればプログラムの実行が許容される。
【００６０】
この実施形態では、証明データ生成装置１１はユーザが用いる計算機上の証明用プログラムとして実現することができる。この際、ユーザを識別するための固有情報（ユーザ固有情報）１７を、ユーザがコピーして配布することができると、正当な利用権をもたないユーザにもアプリケーションプログラムの使用を許すこととなる。そこで、ユーザ固有情報１７はその正当な保持者であるユーザであってもこれを窃取することができないように、該計算機に装着され、耐タンパー特性を有する証明用ハードウェア（ＩＣカード、ボードなど）を併用することが可能である。この際、ＩＣカードのような携帯性のあるハードウェアを用いれば、ユーザが複数のＰＣあるいはワークステーション上で作業をする場合に便利である。
【００６１】
証明データ検証装置１０は該ユーザが利用するアプリケーションプログラムの一部として構成される。即ち、ユーザが該アプリケーションプログラムをＰＣあるいはワークステーション上で起動すると、該アプリケーションプログラム中にプログラムとして記述された証明データ検証装置１０が起動され、証明データ生成装置１１と通信してユーザ認証を行い、通信が正しく終了した場合に限って該アプリケーションプログラムの実行を可能とする。
【００６２】
ユーザが、証明データ検証装置１０が埋めこまれた上記アプリケーションプログラムを利用するためには、ユーザ本人宛に発行され、上記アプリケーションプログラムに対応する証明用補助情報（アクセスチケット）１５を取得する必要がある。ユーザは、上記ＰＣあるいはワークステーション上にインストールされた証明データ生成プログラムに、取得したアクセスチケット１５を登録するとともに、例えば、ユーザ固有情報がＩＣカードに封入されている場合には、ＩＣカードを上記ＰＣあるいはワークステーションに装着する。アクセスチケット１５は、上記ＰＣあるいはワークステーション上に置く構成にしてもよいし、ＩＣカード中に置いてもよい。
【００６３】
証明データ生成装置１１（ＰＣあるいはワークステーション上のプログラムとＩＣカードによって構成される）は、ユーザ固有情報１７に基づいて計算を行い、その計算に基づいて証明データ検証装置と通信を行う。証明データ検証装置１０は認証用データ１４およびアクセスチケット１５に基づいて証明用データを検証する。証明データ生成装置１１における証明データの計算の過程でユーザ固有情報が用いられるが、ユーザ固有情報が外部に漏洩すると問題があるため、上記プログラムの少なくとも一部はＩＣカード等の防御手段によって保護される必要がある。
【００６４】
通信の結果、証明データ検証装置１０による認証が成功するのは、ユーザ固有情報と、アクセスチケット１５と、証明データ検証装置１０が検証するアクセス資格認証の特徴情報の三つが正しく対応している場合に限られる。
【００６５】
ユーザ固有情報１７あるいはアクセスチケット１５の一方が欠けていた場合には、認証は成功しない。
【００６６】
アクセスチケット１５は特定のユーザのために発行される。即ち、アクセスチケット１５の生成に際して、特定のユーザのユーザ固有情報１７が使用される。アクセスチケット１５の生成時に使用されるユーザ固有情報１７と、証明データ生成装置１１によって使用される上記ユーザ固有情報１７とが一致していない場合、やはり、認証は成功しない。
【００６７】
また、アクセスチケット１５は、特定のアクセス資格認証の特徴情報に基づいて生成され、証明データ検証装置１０はこのアクセス資格認証の特徴情報を認証するように構成される。従って、アクセスチケット１５の生成のもととなった特徴情報と、アプリケーションプログラムに埋めこまれている証明データ検証装置１０が認証しようとする特徴情報とが互いに対応していなかった場合にも、認証は成功しない。
【００６８】
なお、ユーザがアクセスチケットを受け取る手間を省略することができる。例えば、ユーザにアプリケーションプログラムを配布する際にアプリケーションプログラムにアクセスチケットを添付しておけば、別途アクセスチケットをユーザに配布する手間が省ける。証明データ検証装置１０が検証時に添付されたアクセスチケットを使用して検証を行う。
【００６９】
また、アプリケーションプログラムがネットワークによって結合された別の計算機上で実行され、実行結果がネットワークを介してユーザが用いる計算機に通信されるものとしてもよい。この場合、いわゆるサーバ・クライアントモデルに基づく構成となる。先に述べた、ユーザのＰＣあるいはワークステーション上で実行されるアプリケーションプログラムの実行制御の場合では、証明データ生成装置１１と証明データ検証装置１０との通信がいわゆるプロセス間通信として実行されるのに対し、サーバ・クライアント・モデルに従った場合、証明データ生成装置１１と証明データ検証装置１０との通信はＴＣＰ／ＩＰ（トランスミッション・コントロール・プロトコル／インターネット・プロトコル）などのネットワークプロトコルに従った通信として実行される。
【００７０】
また、アプリケーションプログラムが専用装置上に構成されている場合にも、本発明を適用することが可能である。例えば、証明データ生成装置１１の全体をＩＣカード内に実装し、（取得したアクセスチケットもＩＣカードに登録するものとする。）証明データ検証装置１０は上記専用装置上に実装されるが、該専用装置はＩＣカードを挿入するためのスロットを備え、ユーザは該スロットに所有するＩＣカードを挿入することで認証を行う。
【００７１】
このような専用装置による構成は、銀行のＡＴＭ機や、ゲームセンターにおけるゲーム機などに適用することができる。
【００７２】
ユーザによるアクセスチケット１５の取得に関しては、アクセスチケット１５を発行する共通のセンターが、ユーザからの発行依頼に応じて生成して配布する方法と、アプリケーションプログラムの作成者が、アクセスチケット発行プログラムやアクセスチケット生成装置１２の助けを借りて個別に生成する方法がある。
【００７３】
このような場合、アクセスチケット生成装置１２は、チケット発行者によって管理され、アクセスチケットはこれら正当な権利者等によって、ユーザの環境とは別個に作成され、配布される。
【００７４】
生成されたアクセスチケット１５は、フロッピーディスク等の可搬型記憶媒体を介してユーザに配送されるものとしてもよいが、アクセスチケット１５が十分な安全性を備えていることから、電子メールなどを用いてネットワークを介して配送されるように構成してもよい。
【００７５】
アクセスチケット１５の安全性とは、以下の二つの性質である。
【００７６】
１）アクセスチケット１５は記名式である。即ち、アクセスチケット１５が発行されたユーザ本人（正確には、アクセスチケット１５の生成時に用いられたユーザ固有情報１７の保持者）だけが該アクセスチケット１５を用いて証明データ検証装置１０を正しく作動させることができる。従って、悪意の第三者が、他のユーザのアクセスチケット１５を不正に手に入れたとしても、この第三者がアクセスチケット１５の発行先である正規のユーザのユーザ固有情報を手に入れないかぎり、このアクセスチケット１５を利用することは不可能である。
【００７７】
２）アクセスチケット１５はさらに厳密な安全性を保持している。即ち、悪意の第三者が任意個数のアクセスチケット１５を集めて、いかなる解析を行ったとしても、得られた情報をもとに別のアクセスチケット１５を偽造したり、証明データ検証装置１０の動作を模倣して認証を成立させるような装置を構成することは不可能である。
【００７８】
以下では、より具体的な構成について実施例に即して説明する。
［第１の実施例］
第１の実施例では、ＥｌＧａｍａｌ署名において、アクセスチケットを利用する場合の構成例を示す。
【００７９】
本実施例の検証装置の構成方法を図２に、証明データ生成装置の構成方法を図３に示す。また、本実施例の検証装置の動作を図４に、証明データ生成装置の動作を図１４に示す。
【００８０】
図２において、証明データ検証装置１０は、アクセスチケット公開鍵記憶部１０１、アクセスチケット記憶部１０２、乱数生成部１０３、認証用データ記憶部１０４、受信データ記憶部１０５および検証用演算部１０６を含んで構成されている。証明データ検証装置１０の各部の動作およびデータの流れは図４に示すとおりである。動作の詳細については後に詳述する。
【００８１】
図３において、証明データ生成装置１１は、受信データ記憶部１１１、ユーザ固有情報記憶部１１２、指数生成部１１３、乱数生成部１１４および証明データ生成部１１５を含んで構成されている。証明データ生成装置１１の各部の動作およびデータの流れは図１４に示すとおりである。動作の詳細については後に詳述する。
【００８２】
つぎに本実施例における認証の詳細について説明する。
【００８３】
本発明における第１の実施例では、アクセス資格認証の特徴情報ｘと、ｘに対応する検証情報Ｙは、以下の関係になる。ｑ個の元を持つ有限体Ｆq上の代数群Ｇと、Ｇ上の位数がｎである点Ｐに対して、ｘとＹは、式１−１を満たす。
【００８４】
【数１】
（１−１）    Ｙ＝ｘＰ
上記ｑ，Ｇ，Ｙ，Ｐ，ｎは、アクセスチケット公開鍵記憶部１０１に記憶されている。
【００８５】
ここで有限体Ｆq上の代数群とは、Ｆq係数の成分からなる可逆行列全体からなる一般線形群ＧＬn（Ｆq）の部分群であり、例えば、Ｆqの乗法群ＧＬ1（Ｆq）や行列式が１の行列からなる特殊線形群ＳＬn（Ｆq）などがある。もちろん複数の乗法群の直積（代数的トーラス）も一般線形群に対角に埋め込むことにより代数群として実現できる。
【００８６】
次に、ユーザを識別するために、ユーザ毎に異なる数であるユーザ固有情報ｅを定める。ｅは、ユーザ固有情報記憶部１１２に記憶されている。
【００８７】
アクセスチケットｔは次の式１−２に基づいて生成される。ｔの真正性は所定の方法で保証されているものとする。
【００８８】
【数２】
（１−２）    ｔ＝ｘ−Ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）
あるいは、式１−３のように、ｔの値を法ｎのもとに決めても良い。
【００８９】
【数３】
（１−３）    ｔ＝ｘ−Ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）  ｍｏｄ  ｎ
関数Ｆは関数値が衝突しにくい関数であり、例えば、一方向ハッシュ関数ｈを利用して、式１−４あるいは式１−５のように定めることができる。
【００９０】
【数４】
（１−４）    Ｆ（ｘ，ｙ）＝ｈ（ｘ｜ｙ）
（１−５）    Ｆ（ｘ，ｙ，ｚ，ｕ，ｗ）＝ｈ（ｘ｜ｙ｜ｚ｜ｕ｜ｗ）
ここで、ｘ｜ｙはｘとｙとのビットの連結であることを表す。
【００９１】
一方向ハッシュ関数とは、ｈ（ｘ）＝ｈ（ｙ）を満たす相異なるｘ、ｙを算出することが著しく困難であるという性質をもつ関数である。一方向ハッシュ関数の例として、ＲＳＡ  Ｄａｔａ  Ｓｅｃｕｒｉｔｙ  Ｉｎｃ．によるＭＤ２、ＭＤ４、ＭＤ５、米国連邦政府による規格ＳＨＳ（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ｓｔａｎｄａｒｄ）が知られている。
【００９２】
また、以下では、証明データ検証装置１０が認証を行うために生成するデータｍを認証用データ、証明データ生成装置が証明のために生成するデータを証明用データまたは認証用データへの署名とよぶ。本実施例では、署名の生成及び検証が、ＥｌＧａｍａｌ署名に則って行われる。
【００９３】
以下に本実施例の動作を示す。
【００９４】
［ステップ１］  ユーザが、アクセス資格認証装置による認証を必要とするデジタルコンテンツにアクセスすることによって、証明データ検証装置１０が起動される。
【００９５】
証明データ検証装置１０がユーザのＰＣあるいはワークステーション上で動作するアプリケーションプログラムの一部として構成されている場合、ユーザがキーボードあるいはマウスなどの指示装置を用いた通常の方法で、アプリケーションプログラムを起動する。アプリケーションプログラムの実行が証明データ検証装置１０を構成しているプログラムに到達することにより、証明データ検証装置１０が起動される。
【００９６】
証明データ検証装置１０がネットワークで結ばれた他のＰＣあるいはワークステーション（サーバと呼ぶ）上に構成されている場合、ユーザは自分のＰＣあるいはワークステーション上の通信プログラムを起動し、該通信プログラムが所定の手続きに従って上記サーバに通信の開設要求を行うことにより、上記サーバ上の証明データ検証装置が起動される。例えば、ユーザの通信プログラムがサーバと通信する際にＴＣＰ／ＩＰと呼ばれる手続きに従うとすると、証明データ検証装置１０をサーバの特定のポートに予め対応づけておき、更に、ユーザの通信プログラムが該ポートを指定してＴＣＰ接続要求をサーバに要求するように設定しておくことにより、サーバ上のデーモン（ｉｎｅｔｄ）がＴＣＰ接続要求に応じて証明データ検証装置１０を起動することが可能となる。このような実現方法は、インターネットなどのネットワークにおいて広く利用されているものである。
【００９７】
証明データ検証装置１０を専用目的の装置とすることも可能である。例えば、証明データ検証装置１０をＩＣカード・リーダ・ライター内のＲＯＭに焼きつけられたプログラムとして構成し、証明データ生成装置１１をＩＣカードのマイクロコントローラーに実装されたプログラムとすることができる。この場合、ユーザがＩＣカードをリーダ・ライターに挿入することにより、証明データ検証装置１０が起動される。
【００９８】
［ステップ２］  証明データ検証装置１０は、認証用データｍを生成して認証用データ記憶部１０４に書き込む。認証用データｍは、毎回異なる値となるように生成される。本実施例では、証明データ検証装置１０が乱数生成部１０３を持ち、この乱数生成部１０３が生成する乱数を認証用データｍとして、認証用データ記憶部１０４に書き込む。
【００９９】
更に、該認証用データｍと、アクセスチケット公開鍵記憶部１０１に記憶されている代数群Ｇを定義するパラメータｑ、Ｇと、上記点Ｐ及び位数ｎとを、証明データ生成装置１１中の受信データ記憶部１１１に書き込む。
【０１００】
［ステップ３］  証明データ生成装置１１中の乱数生成部１１４は、適当な乱数ｋを生成し、証明データ生成部１１５は、受信データ記憶部１１１に書き込まれた点Ｐをｋ倍したＧ上の点Ｒを生成する。点Ｒは式１−６を満たす。
【０１０１】
【数５】
（１−６）    Ｒ＝ｋＰ
【０１０２】
［ステップ４］  証明データ生成装置１１中の指数生成部１１３は、ユーザ固有情報記憶部１１２に記憶されているユーザの固有情報ｅと、受信データ記憶部１１１に記憶されているｑ、Ｇ、Ｐ、ｎを取得し、式１−７の計算を実行する。
【０１０３】
【数６】
（１−７）    Ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）
【０１０４】
［ステップ５］  証明データ生成装置１１中の証明データ生成部１１５は、受信データ記憶部１１１に書き込まれた認証用データｍを取得し、ｍと、上記３で、式１−６により生成したＲから定まる値と、指数生成部１１３で生成されたデータとを用いて、式１−８の計算を実行しｓを得る。
【０１０５】
【数７】
（１−８）    ｓ＝（ｍ−ｒＦ（ｅ，ｎ，ｑ，Ｐ，Ｇ））ｋ-1  ｍｏｄ  ｎ
【０１０６】
［ステップ６］  証明データ生成装置１１は、ｓ及びＲを証明データ検証装置１０の受信データ記憶部１０５に返送する。
【０１０７】
［ステップ７］  証明データ検証装置１０中の検証用演算部１０６は、アクセスチケット公開鍵記憶部１０１から検証情報Ｙ、点Ｐを取得し、アクセスチケット記憶部１０２に記憶されているアクセスチケットｔを取得して、式１−９の計算を行う。
【０１０８】
【数８】
（１−９）    Ｖ＝ｒＹ＋ｓＲ−ｒｔＰ
【０１０９】
［ステップ８］  検証用演算部１０６は、認証用データ記憶部１０４から認証用データｍ及びアクセスチケット公開鍵記憶部１０１から点Ｐを取得し、式１−１０の計算を行う。
【０１１０】
【数９】
（１−１０）    Ｖ’＝ｍＰ
【０１１１】
証明データ検証装置１０において用いられるアクセスチケットｔとユーザの固有情報ｅの組み合わせが正しい場合に限り、計算の結果得られたＶとＶ’が一致し、正しく検証が行われる。
【０１１２】
［第２の実施例］  （ＥｌＧａｍａｌ，  チケットが異なる例）
つぎに本発明の第２の実施例について説明する。この実施例は上述第１の実施例の変形例である。本実施例では、ＥｌＧａｍａｌ署名の構成方法、認証用データｍの生成方法とそれぞれの満たすべき性質、証明データ生成装置１１における認証用データへの署名生成の方法は、第１の実施例と同様である。ただし、本実施例におけるアクセスチケットｔは、つぎの式２−１に基づいて生成される。
【０１１３】
【数１０】
（２−１）    ｔ＝ｘ-1Ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）  ｍｏｄ  ｎ
【０１１４】
本実施例の証明データ検証装置１０の動作を図５に、証明データ生成装置１１の動作を図１４に示す。証明データ検証装置１０および証明データ生成装置１１の構成は第１の実施例と同様である（図２、図３参照）。
【０１１５】
以下、本実施例の動作について説明する。
［ステップ１］  ユーザがアクセスすることによって、証明データ検証装置１０が起動される。
【０１１６】
［ステップ２］  証明データ検証装置１０は、乱数生成部１０３によって乱数を生成し、これを認証用データｍとして認証用データ記憶部１０４に書き込み、更に、該認証用データｍと、アクセスチケット公開鍵記憶部１０１に記憶されている代数群Ｇを定義するパラメータｑ、Ｇと、上記点Ｐ及び位数ｎとを、証明データ生成装置１１中の受信データ記憶部１１１に書き込む。
【０１１７】
［ステップ３］  証明データ生成装置１１中の証明データ生成部１１５は、第１の実施例のステップ３、４、および５と同様の手順を経て、式２−２、２−３の計算を実行しＲ及びｓを得る。
【０１１８】
【数１１】
（２−２）    Ｒ＝ｋＰ
（２−３）    ｓ＝（ｍ−ｒＦ（ｅ，ｎ，ｑ，Ｐ，Ｇ））ｋ-1  ｍｏｄ  ｎ
【０１１９】
［ステップ４］  証明データ生成装置１１は、ｓ及びＲを証明データ検証装置１０の受信データ記憶部１０５に返送する。
【０１２０】
［ステップ５］  証明データ検証装置１０中の検証用演算部１０６は、アクセスチケット公開鍵記憶部１０１から検証情報Ｙ、点Ｐを取得し、アクセスチケット記憶部１０２に記憶されているアクセスチケットｔを取得して、式２−４の計算を行う。
【０１２１】
【数１２】
（２−４）    Ｖ＝ｒｔＹ＋ｓＲ
【０１２２】
［ステップ６］  検証用演算部１０６は、認証用データ記憶部１０４から認証用データｍ及びアクセスチケット公開鍵記憶部１０１から点Ｐを取得し、式２−５の計算を行う。
【０１２３】
【数１３】
（２−５）    Ｖ’＝ｍＰ
【０１２４】
証明データ検証装置１０において用いられるアクセスチケットｔとユーザの固有情報ｅの組み合わせが正しい場合に限り、計算の結果得られたＶとＶ’が一致し、正しく検証が行われる。
【０１２５】
［第３の実施例］  （ＥｌＧａｍａｌ，  ｆの引数が異なる例）
つぎに本発明の第３の実施例について説明する。本実施例も、第１の実施例の変形例である。本実施例において、ＥｌＧａｍａｌ署名の構成方法、認証用データｍの生成方法とそれぞれの満たすべき性質、証明データ生成装置における認証用データへの署名生成の方法は、第１の実施例と同様である。ただし、代数群Ｇを定義するパラメータおよびＧ上の点Ｐは、すべての証明データ生成装置１１および証明データ検証装置１０において共通であり、証明データ生成装置１１内の指数生成部１１３、証明データ生成部１１５からアクセス可能な領域に記憶される。
【０１２６】
本実施例におけるアクセスチケットｔは、アクセス資格認証の特徴情報、検証情報とユーザの固有情報とから、式３−１に基づいて生成される。
【０１２７】
【数１４】
（３−１）    ｔ＝ｘ−Ｆ（ｅ，Ｙ）
あるいは、式３−１’のように、ｔの値を法ｎのもとに決めても良い。
【０１２８】
【数１５】
（３−１’）    ｔ＝ｘ−Ｆ（ｅ，Ｙ）  ｍｏｄ  ｎ
【０１２９】
本実施例の証明データ検証装置１０の動作を図６に示し、証明データ生成装置１１の動作を図１５に示す。両装置１０および１１の構成は第１の実施例と同様である（図２、図３参照）。
【０１３０】
以下、本実施例の動作について説明する。
［ステップ１］  ユーザがアクセスすることによって、証明データ検証装置が起動される。
【０１３１】
［ステップ２］  証明データ検証装置１０は、乱数生成部１０３によって乱数を生成し、これを認証用データｍとして認証用データ記憶部１０４に書き込み、更に、該認証用データｍ、及び検証情報Ｙを、証明データ生成装置１１中の受信データ記憶部１１１に書き込む。
【０１３２】
［ステップ３］  証明データ生成装置１１中の乱数生成部１１４は、適当な乱数ｋを生成し、証明データ生成部１１５は、受信データ記憶部１１１に書き込まれた点Ｐをｋ倍したＧ上の点Ｒを生成する。点Ｒは式３−２を満たす。
【０１３３】
【数１６】
（３−２）    Ｒ＝ｋＰ
【０１３４】
［ステップ４］  証明データ生成装置１１中の指数生成部１１３は、ユーザ固有情報記憶部１１２に記憶されているユーザの固有情報ｅと、受信データ記憶部１１１に記憶されている検証情報Ｙを取得し、式３−３の計算を実行する。
【０１３５】
【数１７】
（３−３）    Ｆ（ｅ，Ｙ）
【０１３６】
［ステップ５］  証明データ生成装置１１中の証明データ生成部１１５は、受信データ記憶部１１１に書き込まれた認証用データｍを取得し、ｍと、上記ステップ３で、式３−２により生成したＲから定まる値と、指数生成部１１３で生成されたデータとを用いて、式３−４の計算を実行しｓを得る。
【０１３７】
【数１８】
（３−４）    ｓ＝（ｍ−ｒＦ（ｅ，Ｙ））ｋ-1  ｍｏｄ  ｎ
【０１３８】
［ステップ６］  証明データ生成装置１１は、ｓ及びＲを証明データ検証装置１０の受信データ記憶部１０５に返送する。
【０１３９】
［ステップ７］  証明データ検証装置１０中の検証用演算部１０６は、アクセスチケット公開鍵記憶部１０１から検証情報Ｙ、点Ｐを取得し、アクセスチケット記憶部１０２に記憶されているアクセスチケットｔを取得して、式３−５の計算を行う。
【０１４０】
【数１９】
（３−５）    Ｖ＝ｒＹ＋ｓＲ−ｒｔＰ
【０１４１】
［ステップ８］  検証用演算部１０６は、認証用データ記憶部１０４から認証用データｍ及びアクセスチケット公開鍵記憶部１０１から点Ｐを取得し、式３−６の計算を行う。
【０１４２】
【数２０】
（３−６）    Ｖ’＝ｍＰ
【０１４３】
証明データ検証装置１０において用いられるアクセスチケットｔとユーザの固有情報ｅの組み合わせが正しい場合に限り、計算の結果得られたＶとＶ’が一致し、正しく検証が行われる。
【０１４４】
本実施例においても、式３−７に示すように、実施例２と同様のチケットの形式をとっても良い。
【０１４５】
【数２１】
（３−７）    ｔ＝ｘ-1Ｆ（ｅ，Ｙ）  ｍｏｄ  ｎ
【０１４６】
この場合、証明データ生成装置１１は、式３−２、３−３、３−４と同様の計算を行い、証明データ検証装置１０は、式２−４、２−５の計算を行って署名を検証する。
【０１４７】
［第４の実施例］
つぎに本発明の第４の実施例について説明する。この実施例では、Ｎｙｂｅｒｇ−Ｒｕｅｐｐｅｌ署名において、アクセスチケットｔを利用する。
【０１４８】
本実施例の検証装置の動作を図７に、証明データ生成装置の動作を図１６に示す。証明データ検証装置１０および証明データ生成装置１１の構成は第１の実施例と同様である（図２、図３参照）。
【０１４９】
本発明における第４の実施例では、アクセス資格認証の特徴情報ｘと、ｘに対応する検証情報Ｙは、以下の関係になる。ｑ個の元を持つ有限体Ｆq上の代数群Ｇと、Ｇ上の位数がｎである点Ｐに対して、ｘとＹは、式４−１を満たす。
【０１５０】
【数２２】
（４−１）    Ｙ＝ｘＰ
上記ｑ，Ｇ，Ｙ，Ｐ，ｎは、アクセスチケット公開鍵記憶部１０１に記憶されている。
【０１５１】
また、ユーザを識別するために、ユーザ毎に異なる数であるユーザ固有情報ｅを定める。ｅは、ユーザ固有情報記憶部１１２に記憶されている。
アクセスチケットｔは次の式４−２に基づいて生成される。
【０１５２】
【数２３】
（４−２）    ｔ＝ｘ−Ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）
あるいは、式４−３のように、ｔの値を法ｎのもとに決めても良い。
【０１５３】
【数２４】
（４−３）    ｔ＝ｘ−Ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）  ｍｏｄ  ｎ
【０１５４】
本実施例では、署名の生成及び検証が、Ｎｙｂｅｒｇ−Ｒｕｅｐｐｅｌ署名に則って行われる。
【０１５５】
以下、本実施例の動作について説明する。
［ステップ１］  ユーザがアクセスすることによって、証明データ検証装置１０が起動される。
【０１５６】
［ステップ２］  証明データ検証装置１０は、乱数生成部１０３によって乱数を生成し、これを認証用データｍとして認証用データ記憶部１０４に書き込み、更に、該認証用データｍと、アクセスチケット公開鍵記憶部１０１に記憶されている代数群Ｇを定義するパラメータｑ、Ｇと、上記点Ｐ及び位数ｎとを、証明データ生成装置１１中の受信データ記憶部１１１に書き込む。
【０１５７】
［ステップ３］  証明データ生成装置１１中の乱数生成部１１４は、適当な乱数ｕを生成し、証明データ生成部１１５は、受信データ記憶部１１１に書き込まれた点Ｐをｕ倍したＧ上の点Ｖを生成する。点Ｖは式４−４を満たす。
【０１５８】
【数２５】
（４−４）    Ｖ＝ｕＰ
【０１５９】
［ステップ４］  更に、証明データ生成部１１は、受信データ記憶部１１１に記憶されている認証用データｍを取得し、該認証用データｍとＶから定まる値ｖとを用いて、式４−５の計算を実行し、ｒを得る。
【０１６０】
【数２６】
（４−５）    ｒ＝ｍ＋ｖ  ｍｏｄ  ｎ
【０１６１】
［ステップ５］  証明データ生成装置１１中の指数生成部１１３は、ユーザ固有情報記憶部１１２に記憶されているユーザの固有情報ｅと、受信データ記憶部１１１に記憶されているｑ、Ｇ、Ｐ、ｎを取得し、式４−６の計算を実行する。
【０１６２】
【数２７】
（４−６）    Ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）
【０１６３】
［ステップ６］  証明データ生成部１１は、指数生成部１１３で生成されたデータとｒ、ｕとを用いて、式４−７の計算を実行しｓを得る。
【０１６４】
【数２８】
（４−７）    ｓ＝ｕ−ｒＦ（ｅ，ｎ，ｑ，Ｐ，Ｇ）  ｍｏｄ  ｎ
【０１６５】
［ステップ７］  証明データ生成装置１１は、ｓ及びＲを証明データ検証装置１０の受信データ記憶部１０５に返送する。
【０１６６】
［ステップ８］  証明データ検証装置１０中の検証用演算部１０６は、アクセスチケット公開鍵記憶部１０１から検証情報Ｙ及び点Ｐを取得し、アクセスチケット記憶部１０２に記憶されているアクセスチケットｔを取得して、式４−８の計算を行う。
【０１６７】
【数２９】
（４−８）    Ｋ＝ｒＹ＋ｓＰ−ｒｔＰ
【０１６８】
［ステップ９］  検証用演算部１０６は、認証用データ記憶部１０４から認証用データｍを取得し、Ｋから定まる値ｋ、ｒとｍとが式４−９の関係を満たすかどうか検証する。
【０１６９】
【数３０】
（４−９）    ｒ−ｋ≡ｍ  （ｍｏｄ  ｎ）
【０１７０】
証明データ検証装置１０において用いられるアクセスチケットｔとユーザの固有情報ｅの組み合わせが正しい場合に限り、式４−９の合同式が成立し、正しく検証が行われる。
【０１７１】
［第５の実施例］
つぎに本発明の第５の実施例について説明する。この実施例は第４の実施例の変形例である。本実施例において、Ｎｙｂｅｒｇ−Ｒｕｅｐｐｅｌ署名の構成方法、認証用データｍの生成方法とそれぞれの満たすべき性質、証明データ生成装置１１における認証用データへの署名生成の方法は、第４の実施例と同様である。ただし、代数群Ｇを定義するパラメータおよびＧ上の点Ｐは、すべての証明データ生成装置１１および証明データ検証装置１０において共通であり、証明データ生成装置１１内の指数生成部１１３、証明データ生成部１１５からアクセス可能な領域に記憶される。
【０１７２】
本実施例におけるアクセスチケットｔは、式５−１に基づいて生成される。
【０１７３】
【数３１】
（５−１）    ｔ＝ｘ−Ｆ（ｅ，Ｙ）  ｍｏｄ  ｎ
【０１７４】
本実施例の証明データ検証装置１０の動作を図８に示し、証明データ生成装置１１の動作を図１７に示す。証明データ検証装置１０および証明データ生成装置１１の構成は第１の実施例と同様である（図２、図３参照）。
【０１７５】
以下、本実施例の動作について説明する。
［ステップ１］  ユーザがアクセスすることによって、証明データ検証装置１０が起動される。
【０１７６】
［ステップ２］  証明データ検証装置２０は、乱数生成部１０３によって乱数を生成し、これを認証用データｍとして認証用データ記憶部１０４に書き込み、更に、該認証用データｍ、及び検証情報Ｙを、証明データ生成装置１１中の受信データ記憶部１１１に書き込む。
【０１７７】
［ステップ３］  証明データ生成装置１１中の乱数生成部１１４は、適当な乱数ｕを生成し、証明データ生成部１１５は、受信データ記憶部１１１に書き込まれた点Ｐをｕ倍したＧ上の点Ｖを生成する。点Ｖは式５−２を満たす。
【０１７８】
【数３２】
（５−２）    Ｖ＝ｕＰ
【０１７９】
［ステップ４］  更に、証明データ生成部１１は、受信データ記憶部１１１に記憶されている認証用データｍを取得し、該認証用データｍとＶから定まる値ｖとを用いて、式５−３の計算を実行し、ｒを得る。
【０１８０】
【数３３】
（５−３）    ｒ＝ｍ＋ｖ  ｍｏｄ  ｎ
【０１８１】
［ステップ５］  証明データ生成装置１１中の指数生成部１１３は、ユーザ固有情報記憶部１１２に記憶されているユーザの固有情報ｅと、受信データ記憶部１１１に記憶されている検証情報Ｙを取得し、式５−４の計算を実行する。
【０１８２】
【数３４】
（５−４）    Ｆ（ｅ，Ｙ）
【０１８３】
［ステップ６］  証明データ生成部１１５は、指数生成部１１３で生成されたデータとｒ、ｕとを用いて、式５−５の計算を実行しｓを得る。
【０１８４】
【数３５】
（５−５）    ｓ＝ｕ−ｒＦ（ｅ，Ｙ）  ｍｏｄ  ｎ
【０１８５】
［ステップ７］  証明データ生成装置１１は、ｓ及びＲを証明データ検証装置１０の受信データ記憶部１０５に返送する。
【０１８６】
［ステップ８］  証明データ検証装置１０中の検証用演算部１０６は、アクセスチケット公開鍵記憶部１０１から検証情報Ｙ及び点Ｐを取得し、アクセスチケット記憶部１０２に記憶されているアクセスチケットｔを取得して、式５−６の計算を行う。
【０１８７】
【数３６】
（５−６）    Ｋ＝ｒＹ＋ｓＰ−ｒｔＰ
【０１８８】
［ステップ９］  検証用演算部１０６は、認証用データ記憶部１０４から認証用データｍを取得し、Ｋから定まる値ｋ、ｒとｍとが式５−７の関係を満たすかどうか検証する。
【０１８９】
【数３７】
（５−７）    ｒ−ｋ≡ｍ  （ｍｏｄ  ｎ）
【０１９０】
証明データ検証装置１０において用いられるアクセスチケットｔとユーザの固有情報ｅの組み合わせが正しい場合に限り、式５−７の合同式が成立し、正しく検証が行われる。
【０１９１】
［第６の実施例］
つぎに本発明の第６の実施例について説明する。この実施例では、Ｓｃｈｎｏｒｒ署名において、アクセスチケットを利用している。
【０１９２】
本実施例の証明データ検証装置の動作を図９に示し、証明データ生成装置の動作を図１８に示す。証明データ検証装置１０および証明データ生成装置１１の構成は第１の実施例と同様である（図２、図３参照）。
【０１９３】
本発明における第６の実施例では、アクセス資格認証の特徴情報ｘと、ｘに対応する検証情報Ｙは、以下の関係になる。ｑ個の元を持つ有限体Ｆq上の代数群Ｇと、Ｇ上の位数がｎである点Ｐに対して、ｘとＹは、式６−１を満たす。
【０１９４】
【数３８】
（６−１）    Ｙ＝ｘＰ
上記ｑ，Ｇ，Ｙ，Ｐ，ｎは、アクセスチケット公開鍵記憶部１０１に記憶されている。
【０１９５】
また、ユーザを識別するために、ユーザ毎に異なる数であるユーザ固有情報ｅを定める。ｅは、ユーザ固有情報記憶部１１２に記憶されている。
【０１９６】
アクセスチケットｔは次の式６−２に基づいて生成される。
【０１９７】
【数３９】
（６−２）    ｔ＝ｘ−  Ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）
あるいは、式６−３のように、ｔの値を法ｎのもとに決めても良い。
【０１９８】
【数４０】
（６−３）    ｔ＝ｘ−Ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）  ｍｏｄ  ｎ
【０１９９】
本実施例では、署名の生成及び検証が、Ｓｃｈｎｏｒｒ署名に則って行われる。
【０２００】
以下、本実施例の動作について説明する。
［ステップ１］  ユーザがアクセスすることによって、証明データ検証装置１０が起動される。
【０２０１】
［ステップ２］  証明データ検証装置１０は、乱数生成部１０３によって乱数を生成し、これを認証用データｍとして認証用データ記憶部１０４に書き込み、更に、該認証用データｍと、アクセスチケット公開鍵記憶部１０１に記憶されている代数群Ｇを定義するパラメータｑ、Ｇと、上記点Ｐ及び位数ｎとを、証明データ生成装置１１中の受信データ記憶部１１１に書き込む。
【０２０２】
［ステップ３］  証明データ生成装置１１中の乱数生成部１１４は、適当な乱数ｋを生成し、証明データ生成部１１５は、受信データ記憶部１１１に書き込まれた点Ｐをｋ倍したＧ上の点Ｒを生成する。点Ｒは式６−４を満たす。
【０２０３】
【数４１】
（６−４）    Ｒ＝ｋＰ
【０２０４】
［ステップ４］  更に、証明データ生成部１１５は、受信データ記憶部１１１に記憶されている認証用データｍを取得し、該認証用データｍとＲから定まる値ｒとを結合した値ｒ｜ｍに依存する非衝突性関数Ｈの関数値ｈを生成する。ｈは、式６−５を満たす。
【０２０５】
【数４２】
（６−５）    ｈ＝Ｈ（ｒ｜ｍ）
【０２０６】
［ステップ５］  証明データ生成装置１１中の指数生成部１１３は、ユーザ固有情報記憶部１１２に記憶されているユーザの固有情報ｅと、受信データ記憶部１１１に記憶されているｑ、Ｇ、Ｐ、ｎを取得し、式６−６の計算を実行する。
【０２０７】
【数４３】
（６−６）    Ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）
【０２０８】
［ステップ６］  証明データ生成部１１は、指数生成部１１３で生成されたデータ及びｋ、ｈを用いて、式６−７の計算を実行しｓを得る。
【０２０９】
【数４４】
（６−７）    ｓ＝ｋ−ｈＦ（ｅ，ｎ，ｑ，Ｐ，Ｇ）
【０２１０】
［ステップ７］  証明データ生成装置１１は、ｓ及びｈを証明データ検証装置１０の受信データ記憶部１０５に返送する。
【０２１１】
［ステップ８］  証明データ検証装置１０中の検証用演算部１０６は、アクセスチケット公開鍵記憶部１０１から検証情報Ｙ及び点Ｐを取得し、アクセスチケット記憶部１０２に記憶されているアクセスチケットｔを取得して、式６−８の計算を行う。
【０２１２】
【数４５】
（６−８）    Ｖ＝ｈＹ＋ｓＰ−ｈｔＰ
【０２１３】
［ステップ９］  検証用演算部１０６は、認証用データ記憶部１０４から認証用データｍを取得し、Ｖから定まる値ｖとｍとが式６−９の関係を満たすかどうか検証する。
【０２１４】
【数４６】
（６−９）    ｈ≡Ｈ（ｖ｜ｍ）
【０２１５】
証明データ検証装置１０において用いられるアクセスチケットｔとユーザの固有情報ｅの組み合わせが正しい場合に限り、式６−９の合同式が成立し、正しく検証が行われる。
【０２１６】
［第７の実施例］
つぎに本発明の第７の実施例について説明する。本実施例は第６の実施例の変形例である。本実施例では、Ｓｃｈｎｏｒｒ署名の構成方法、認証用データｍの生成方法とそれぞれの満たすべき性質、証明データ生成装置における認証用データへの署名生成の方法は、第６の実施例と同様である。ただし、代数群Ｇを定義するパラメータおよびＧ上の点Ｐは、すべての証明データ生成装置１１および証明データ検証装置１０において共通であり、証明データ生成装置１１内の指数生成部１１３、証明データ生成部１１５からアクセス可能な領域に記憶される。
【０２１７】
本実施例におけるアクセスチケットｔは、式７−１に基づいて生成される。
【０２１８】
【数４７】
（７−１）    ｔ＝ｘ−Ｆ（ｅ，Ｙ）  ｍｏｄ  ｎ
【０２１９】
本実施例の証明データ検証装置１０の動作を図１０に示し、証明データ生成装置１１の動作を図１９に示す。証明データ検証装置１０および証明データ生成装置１１の構成は第１の実施例と同様である（図２、図３参照）。
【０２２０】
以下、本実施例の動作について説明する。
［ステップ１］  ユーザがアクセスすることによって、証明データ検証装置１０が起動される。
【０２２１】
［ステップ２］  証明データ検証装置１０は、乱数生成部１０３によって乱数を生成し、これを認証用データｍとして認証用データ記憶部１０４に書き込み、更に、該認証用データｍ、及び検証情報Ｙを、証明データ生成装置１１中の受信データ記憶部１１１に書き込む。
【０２２２】
［ステップ３］  証明データ生成装置１１中の乱数生成部１１４は、適当な乱数ｋを生成し、証明データ生成部１１５は、受信データ記憶部１１１に書き込まれた点Ｐをｋ倍したＧ上の点Ｒを生成する。点Ｒは式７−２を満たす。
【０２２３】
【数４８】
（７−２）    Ｒ＝ｋＰ
【０２２４】
［ステップ４］  更に、証明データ生成部１１は、受信データ記憶部１１１に記憶されている認証用データｍを取得し、該認証用データｍとＲから定まる値ｒとを結合した値ｒ｜ｍに依存する非衝突性関数Ｈの関数値ｈを生成する。ｈは、式７−３を満たす。
【０２２５】
【数４９】
（７−３）    ｈ＝Ｈ（ｒ｜ｍ）
【０２２６】
［ステップ５］  証明データ生成装置１１中の指数生成部１１３は、ユーザ固有情報記憶部１１２に記憶されているユーザの固有情報ｅ及び受信データ記憶部１１１に記憶されている検証情報Ｙを取得し、式７−４の計算を実行する。
【０２２７】
【数５０】
（７−４）    Ｆ（ｅ，Ｙ）
【０２２８】
［ステップ６］  証明データ生成部１１は、指数生成部１１３で生成されたデータ及びｋ、ｈを用いて、式７−５の計算を実行しｓを得る。
【０２２９】
【数５１】
（７−５）    ｓ＝ｋ−ｈＦ（ｅ，Ｙ）
【０２３０】
［ステップ７］  証明データ生成装置１１は、ｓ及びｈを証明データ検証装置１０の受信データ記憶部１０５に返送する。
【０２３１】
［ステップ８］  証明データ検証装置１０中の検証用演算部１０６は、アクセスチケット公開鍵記憶部１０１から検証情報Ｙ及び点Ｐを取得し、アクセスチケット記憶部１０２に記憶されているアクセスチケットｔを取得して、式７−６の計算を行う。
【０２３２】
【数５２】
（７−６）    Ｖ＝ｈＹ＋ｓＰ−ｈｔＰ
【０２３３】
［ステップ９］  検証用演算部１０６は、認証用データ記憶部１０４から認証用データｍを取得し、Ｖから定まる値ｖとｍとが式７−７の関係を満たすかどうか検証する。
【０２３４】
【数５３】
（７−７）    ｈ≡Ｈ（ｖ｜ｍ）
【０２３５】
証明データ検証装置１０において用いられるアクセスチケットｔとユーザの固有情報ｅの組み合わせが正しい場合に限り、式７−７の合同式が成立し、正しく検証が行われる。
【０２３６】
［第８の実施例］
つぎに本発明の第８の実施例について説明する。この実施例では、ＤＳＡ署名において、アクセスチケットを利用する。
【０２３７】
本実施例の証明データ検証装置１０の動作を図１１に示し、証明データ生成装置１１の動作を図２０に示す。証明データ検証装置１０および証明データ生成装置１１の構成は第１の実施例と同様である（図２、図３参照）。
【０２３８】
本発明における第８の実施例では、アクセス資格認証の特徴情報ｘと、ｘに対応する検証情報Ｙは、以下の関係になる。ｑ個の元を持つ有限体Ｆq上の代数群Ｇと、Ｇ上の位数がｎである点Ｐに対して、ｘとＹは、式８−１を満たす。
【０２３９】
【数５４】
（８−１）    Ｙ＝ｘＰ
上記ｑ，Ｇ，Ｙ，Ｐ，ｎは、アクセスチケット公開鍵記憶部１０１に記憶されている。
【０２４０】
また、ユーザを識別するために、ユーザ毎に異なる数であるユーザ固有情報ｅを定める。ｅは、ユーザ固有情報記憶部１１２に記憶されている。
【０２４１】
アクセスチケットｔは次の式８−２に基づいて生成される。ｔの真正性は所定の方法で保証されているものとする。
【０２４２】
【数５５】
（８−２）    ｔ＝ｘ−Ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）
あるいは、式８−３のように、ｔの値を法ｎのもとに決めても良い。
【０２４３】
【数５６】
（８−３）    ｔ＝ｘ−Ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）  ｍｏｄ  ｎ
【０２４４】
本実施例では、署名の生成及び検証が、ＤＳＡ署名に則って行われる。
【０２４５】
以下、本実施例の動作について説明する。
［ステップ１］  ユーザがアクセスすることによって、証明データ検証装置１０が起動される。
【０２４６】
［ステップ２］  証明データ検証装置１０は、乱数生成部１０３によって乱数を生成し、これを認証用データｍとして認証用データ記憶部１０４に書き込み、更に、該認証用データｍと、アクセスチケット公開鍵記憶部１０１に記憶されている代数群Ｇを定義するパラメータｑ、Ｇと、上記点Ｐ及び位数ｎとを、証明データ生成装置１１中の受信データ記憶部１１１に書き込む。
【０２４７】
［ステップ３］  証明データ生成装置１１中の乱数生成部１１４は、適当な乱数ｋを生成し、証明データ生成部１１５は、受信データ記憶部１１１に書き込まれた点Ｐをｋ倍したＧ上の点Ｒから定まる値ｒを生成する。点Ｒは式８−４を満たす。
【０２４８】
【数５７】
（８−４）    Ｒ＝ｋＰ
【０２４９】
［ステップ４］  証明データ生成装置１１中の指数生成部１１３は、ユーザ固有情報記憶部１１２に記憶されているユーザの固有情報ｅと、受信データ記憶部１１１に記憶されているｑ、Ｇ、Ｐ、ｎを取得し、式８−５の計算を実行する。
【０２５０】
【数５８】
（８−５）    Ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）
【０２５１】
［ステップ５］  証明データ生成部１１は、受信データ記憶部１１１に書き込まれた認証用データｍを取得し、ｍと、指数生成部１１３で生成されたデータとを用いて、式８−６の計算を実行しｓを得る。
【０２５２】
【数５９】
（８−６）    ｓ＝（ｍ＋ｒＦ（ｅ，ｎ，ｑ，Ｐ，Ｇ））ｋ-1  ｍｏｄ  ｎ
【０２５３】
［ステップ６］  証明データ生成装置１１は、ｓ及びｒを証明データ検証装置１０の受信データ記憶部１０５に返送する。
【０２５４】
［ステップ７］  証明データ検証装置１０中の検証用演算部１０６は、式８−７の計算を行う。
【０２５５】
【数６０】
（８−７）    ｗ＝ｓ-1  ｍｏｄ  ｎ
【０２５６】
［ステップ８］  検証用演算部１０６は、アクセスチケット公開鍵記憶部１０１から検証情報Ｙ、点Ｐを取得し、アクセスチケット記憶部１０２に記憶されているアクセスチケットｔを取得して、式８−８の計算を行う。
【０２５７】
【数６１】
（８−８）    Ｖ＝ｗｒＹ＋ｗｍＰ−ｗｒｔＰ
【０２５８】
［ステップ９］  検証用演算部１０６は、認証用データ記憶部１０４から認証用データｍを取得し、Ｖから定まる値ｖとｒとが式８−９の関係を満たすかどうか検証する。
【０２５９】
【数６２】
（８−９）    ｖ≡ｒ  （ｍｏｄ  ｎ）
【０２６０】
証明データ検証装置１０において用いられるアクセスチケットｔとユーザの固有情報ｅの組み合わせが正しい場合に限り、式８−９の合同式が成立し、正しく検証が行われる。
【０２６１】
［第９の実施例］
つぎに本発明の第９の実施例について説明する。この実施例は第８の実施例の変形例である。本実施例では、ＤＳＡ署名の構成方法、認証用データｍの生成方法とそれぞれの満たすべき性質、証明データ生成装置における署名生成の方法は、第８の実施例と同様である。ただし、本実施例におけるアクセスチケットｔは、式９−１に基づいて生成される。
【０２６２】
【数６３】
（９−１）    ｔ＝ｘ-1Ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）  ｍｏｄ  ｎ
【０２６３】
本実施例の証明データ検証装置１０の動作を図１２に示し、証明データ生成装置１１の動作を図２０に示す。証明データ検証装置１０および証明データ生成装置１１の構成は第１の実施例と同様である（図２、図３参照）。
【０２６４】
以下、本実施例の動作について説明する。
［ステップ１］  ユーザがアクセスすることによって、証明データ検証装置１０が起動される。
【０２６５】
［ステップ２］  証明データ検証装置１０は、乱数生成部１０３によって乱数を生成し、これを認証用データｍとして認証用データ記憶部１０４に書き込み、更に、該認証用データｍと、アクセスチケット公開鍵記憶部１０１に記憶されている代数群Ｇを定義するパラメータｑ、Ｇと、上記点Ｐ及び位数ｎとを、証明データ生成装置１１中の受信データ記憶部１１１に書き込む。
【０２６６】
［ステップ３］  証明データ生成装置１１中の乱数生成部１１４は、適当な乱数ｋを生成し、証明データ生成部１１５は、受信データ記憶部１１１に書き込まれた点Ｐをｋ倍したＧ上の点Ｒから定まる値ｒを生成する。点Ｒは式９−２を満たす。
【０２６７】
【数６４】
（９−２）    Ｒ＝ｋＰ
【０２６８】
［ステップ４］  証明データ生成装置１１中の指数生成部１１３は、ユーザ固有情報記憶部１１２に記憶されているユーザの固有情報ｅと、受信データ記憶部に記憶されているｎ，ｑ，Ｐ，Ｇを取得し、式９−３の計算を実行する。
【０２６９】
【数６５】
（９−３）    Ｆ（ｅ，ｎ，ｑ，Ｐ，Ｇ）
【０２７０】
［ステップ５］  証明データ生成部１１は、受信データ記憶部１１１に書き込まれた認証用データｍを取得し、ｍと、指数生成部１１３で生成されたデータとを用いて、式９−４の計算を実行しｓを得る。
【０２７１】
【数６６】
（９−４）    ｓ＝（ｍ＋ｒＦ（ｅ，ｎ，ｑ，Ｐ，Ｇ））ｋ-1  ｍｏｄ  ｎ
【０２７２】
［ステップ６］  証明データ生成装置１１は、ｓ及びｒを証明データ検証装置１０の受信データ記憶部１０５に返送する。
【０２７３】
［ステップ７］  証明データ検証装置１０中の検証用演算部１０６は、式９−５の計算を行う。
【０２７４】
【数６７】
（９−５）    ｗ＝ｓ-1  ｍｏｄ  ｎ
【０２７５】
［ステップ８］  検証用演算部１０６は、アクセスチケット公開鍵記憶部１０１から検証情報Ｙ、点Ｐを取得し、アクセスチケット記憶部１０２に記憶されているアクセスチケットｔを取得して、式９−６の計算を行う。
【０２７６】
【数６８】
（９−６）    Ｖ＝ｗｒｔＹ＋ｗｍＰ
【０２７７】
［ステップ９］  検証用演算部１０６は、認証用データ記憶部１０４から認証用データｍを取得し、Ｖから定まる値ｖとｒとが式９−７の関係を満たすかどうか検証する。
【０２７８】
【数６９】
（９−７）    ｖ≡ｒ  （ｍｏｄ  ｎ）
【０２７９】
証明データ検証装置１０において用いられるアクセスチケットｔとユーザの固有情報ｅの組み合わせが正しい場合に限り、式９−７の合同式が成立し、正しく検証が行われる。
【０２８０】
［第１０の実施例］
つぎに本発明の第１０の実施例について説明する。この実施例は第８の実施例の変形例である。本実施例では、ＤＳＡ署名の構成方法、認証用データｍの生成方法とそれぞれの満たすべき性質、証明データ生成装置における認証用データへの署名生成の方法は、第８の実施例と同様である。ただし、代数群Ｇを定義するパラメータおよびＧ上の点Ｐは、すべての証明データ生成装置１１および証明データ検証装置１０において共通であり、証明データ生成装置１１内の指数生成部１１３、証明データ生成部１１５からアクセス可能な領域に記憶される。
【０２８１】
本実施例におけるアクセスチケットｔは、式１０−１に基づいて生成される。
【０２８２】
【数７０】
（１０−１）    ｔ＝ｘ−Ｆ（ｅ，Ｙ）
【０２８３】
本実施例の検証装置の動作を図１３に、証明データ生成装置の動作を図２１に示す。
【０２８４】
以下、本実施例の動作について説明する。
［ステップ１］  ユーザがアクセスすることによって、証明データ検証装置１０が起動される。
【０２８５】
［ステップ２］  証明データ検証装置１０は、乱数生成部１０３によって乱数を生成し、これを認証用データｍとして認証用データ記憶部１０４に書き込み、更に、該認証用データｍ、及び検証情報Ｙを、証明データ生成装置１１中の受信データ記憶部１１１に書き込む。
【０２８６】
［ステップ３］  証明データ生成装置１１中の乱数生成部１１４は、適当な乱数ｋを生成し、証明データ生成部１１５は、受信データ記憶部１１１に書き込まれた点Ｐをｋ倍したＧ上の点Ｒから定まる値ｒを生成する。点Ｒは式１０−２を満たす。
【０２８７】
【数７１】
（１０−２）    Ｒ＝ｋＰ
【０２８８】
［ステップ４］  証明データ生成装置１１中の指数生成部１１３は、ユーザ固有情報記憶部１１２に記憶されているユーザの固有情報ｅを取得し、式１０−３の計算を実行する。
【０２８９】
【数７２】
（１０−３）    Ｆ（ｅ，Ｙ）
【０２９０】
［ステップ６］  証明データ生成部１１は、受信データ記憶部１１１に書き込まれた認証用データｍを取得し、ｍと、上記ステップ３で、式１０−２により生成したＲから定まる値ｒと、指数生成部１１３で生成されたデータとを用いて、式１０−４の計算を実行しｓを得る。
【０２９１】
【数７３】
（１０−４）    ｓ＝（ｍ＋ｒＦ（ｅ，Ｙ）ｋ-1  ｍｏｄ  ｎ
【０２９２】
［ステップ５］  証明データ生成装置１１は、ｓ及びｒを証明データ検証装置１０の受信データ記憶部１０５に返送する。
【０２９３】
［ステップ６］  証明データ検証装置１０中の検証用演算部１０６は、式１０−５の計算を行う。
【０２９４】
【数７４】
（１０−５）    ｗ＝ｓ-1  ｍｏｄ  ｎ
【０２９５】
［ステップ７］  検証用演算部１０６は、アクセスチケット公開鍵記憶部１０１から検証情報Ｙ、点Ｐを取得し、アクセスチケット記憶部１０２に記憶されているアクセスチケットｔを取得して、式１０−６の計算を行う。
【０２９６】
【数７５】
（１０−６）    Ｖ＝ｗｒＹ＋ｗｍＰ−ｗｒｔＰ
【０２９７】
［ステップ８］  検証用演算部１０６は、認証用データ記憶部１０４から認証用データｍを取得し、Ｖから定まる値ｖとｒとが式１０−７の関係を満たすかどうか検証する。
【０２９８】
【数７６】
（１０−７）    ｖ≡ｒ  （ｍｏｄ  ｎ）
【０２９９】
証明データ検証装置１０において用いられるアクセスチケットｔとユーザの固有情報ｅの組み合わせが正しい場合に限り、式１０−７の合同式が成立し、正しく検証が行われる。
【０３００】
本実施例においても、式１０−８に示すように、第９の実施例と同様のチケットの形式を取ってもよい。
【０３０１】
【数７７】
（１０−８）    ｔ＝ｘ-1Ｆ（ｅ，Ｙ）  ｍｏｄ  ｎ
【０３０２】
この場合、証明データ生成装置１１は、式１０−２、１０−４と同様の計算を行い、証明データ検証装置１０は、式１０−６の計算を行い、式１０−７の関係を満たしているかどうかを検証する。
【０３０３】
【発明の効果】
以上の説明から明らかなように、本発明によれば、証明用補助データ（アクセスチケット）を導入することにより、アクセス資格認証の特徴情報とユーザ固有情報とを独立させることができ、したがってプロテクト側もユーザ側も、１つの固有情報を準備しておくだけですむ。
【０３０４】
アクセスチケットは、特定のユーザの固有情報とアクセス資格認証の特徴情報とに基づいて計算されるデータであり、また、ユーザ固有情報を知らずに、アクセスチケットからアクセス資格認証の特徴情報を計算することは困難である。そして、ユーザ固有情報とアクセスチケットとの正しい組み合わせ、すなわち、ユーザ固有情報と該ユーザ固有情報に基づいて計算されたアクセスチケットの組み合わせが入力された場合に限って、正しい証明用データが計算される。したがってユーザはあらかじめ固有情報を保持し、プログラム作成者等のプロテクト者はユーザが所持する固有情報とは独立にアクセス資格認証の特徴情報を用意し、アクセスチケットをユーザの固有情報とアプリケーションプログラムの作成等に使用したアクセス資格認証の特徴情報とに応じて作成し、配布することにより、実行制御等のユーザのアクセス資格の認証を行う事ができる。
【０３０５】
また、本発明によれば、署名鍵を安全に配布することが可能となり、簡明な鍵供託機構を実現することもできる。
【図面の簡単な説明】
【図１】  本発明の実現態様の構成を全体として示すブロック図である。
【図２】  本発明の実施例の証明データ検証装置の構成を示すブロック図である。
【図３】本発明の実施例の証明データ生成装置の構成を示すブロック図である。
【図４】  第１の実施例における証明データ検証装置の動作を示す図である。
【図５】  第２の実施例における証明データ検証装置の動作を示す図である。
【図６】  第３の実施例における証明データ検証装置の動作を示す図である。
【図７】  第４の実施例における証明データ検証装置の動作を示す図である。
【図８】  第５の実施例における証明データ検証装置の動作を示す図である。
【図９】  第６の実施例における証明データ検証装置の動作を示す図である。
【図１０】  第７の実施例における証明データ検証装置の動作を示す図である。
【図１１】  第８の実施例における証明データ検証装置の動作を示す図である。
【図１２】  第９の実施例における証明データ検証装置の動作を示す図である。
【図１３】  第１０の実施例における証明データ検証装置の動作を示す図である。
【図１４】  第１および第２の実施例における証明データ生成装置の動作を示す図である。
【図１５】  第３の実施例における証明データ生成装置の動作を示す図である。
【図１６】  第４の実施例における証明データ生成装置の動作を示す図である。
【図１７】  第５の実施例における証明データ生成装置の動作を示す図である。
【図１８】  第６の実施例における証明データ生成装置の動作を示す図である。
【図１９】  第７の実施例における証明データ生成装置の動作を示す図である。
【図２０】  第８および第９の実施例における証明データ生成装置の動作を示す図である。
【図２１】  第１０の実施例における証明データ生成装置の動作を示す図である。
【符号の説明】
１０    証明データ検証装置
１１    証明データ生成装置
１２    アクセスチケット生成装置
１３    検証手段
１４    認証用データ
１５    アクセスチケット
１６    証明データ生成手段
１７    ユーザ固有情報
１０１    アクセスチケット公開鍵記憶部
１０２    アクセスチケット記憶部
１０３    乱数生成部
１０４    認証用データ記憶部
１０５    受信データ記憶部
１０６    検証用演算部
１１０    受信データ記憶部
１１２    ユーザ固有情報記憶部
１１３    指数生成部
１１４    乱数生成部
１１５    証明データ生成部
【図１】
0003671611.tif 000002
【図２】
0003671611.tif 000003
【図３】
0003671611.tif 000004
【図４】
0003671611.tif 000005
【図５】
0003671611.tif 000006
【図６】
0003671611.tif 000007
【図７】
0003671611.tif 000008
【図８】
0003671611.tif 000009
【図９】
0003671611.tif 000010
【図１０】
0003671611.tif 000011
【図１１】
0003671611.tif 000012
【図１２】
0003671611.tif 000013
【図１３】
0003671611.tif 000014
【図１４】
0003671611.tif 000015
【図１５】
0003671611.tif 000016
【図１６】
0003671611.tif 000017
【図１７】
0003671611.tif 000018
【図１８】
0003671611.tif 000019
【図１９】
0003671611.tif 000020
【図２０】
0003671611.tif 000021
【図２１】
0003671611.tif 000022