JP3613929B2 - アクセス資格認証装置および方法 - Google Patents

アクセス資格認証装置および方法 Download PDF

Info

Publication number
JP3613929B2
JP3613929B2 JP11731897A JP11731897A JP3613929B2 JP 3613929 B2 JP3613929 B2 JP 3613929B2 JP 11731897 A JP11731897 A JP 11731897A JP 11731897 A JP11731897 A JP 11731897A JP 3613929 B2 JP3613929 B2 JP 3613929B2
Authority
JP
Japan
Prior art keywords
data
proof
authentication
proof data
storage means
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
JP11731897A
Other languages
English (en)
Other versions
JPH10308732A (ja
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 JP11731897A priority Critical patent/JP3613929B2/ja
Priority to US09/066,752 priority patent/US6073234A/en
Publication of JPH10308732A publication Critical patent/JPH10308732A/ja
Application granted granted Critical
Publication of JP3613929B2 publication Critical patent/JP3613929B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3252Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves

Description

【0001】
【発明の属する技術分野】
この発明はユーザのアクセス資格を認証するアクセス資格認証装置に関する。
【0002】
【従来の技術】
[従来の技術の説明]
この発明と同分野に属する先行技術としてプログラムの実行制御技術が知られている。プログラム実行制御技術は、
1. アプリケーションプログラム中にユーザ認証のためのルーチンを埋め込み、
2. 該ルーチンはアプリケーションの実行を試みているユーザが正規の認証用の鍵を保有していることを検査し、
3. 前記認証用の鍵の存在が確認された場合に限りプログラムを続行し、それ以外の場合にはプログラムの実行を停止する
技術である。当技術を利用することにより、認証鍵を保有する正規のユーザにのみアプリケーションプログラムの実行を可能ならしめることが出来る。当技術はソフトウェア頒布事業において実用化されており、製品として、例えばRainbow Technologies, Inc.社のSentinelSuperPro(商標)や、Aladdin Knowledge Systems Ltd.社のHASP(商標)等がある。
【0003】
以下にプログラム実行制御技術について、より詳細に説明する。
1. ソフトウェアの実行を行うユーザはユーザ識別情報として認証鍵を保有する。認証鍵は暗号化のための鍵であり、ソフトウェアの利用を許可する者、例えばソフトウェアベンダがユーザに配布する。認証鍵は複製を防ぐためにハードウェア中のメモリ等に厳重に封入され、郵便等の物理的手段を用いてユーザに配送される。
2. ユーザは認証鍵を内蔵したハードウェアを指定された方法で所有のパソコン・ワークステーションに装着する。ハードウェアは、例えばプリンタポートに装着される。
3. ユーザがアプリケーションプログラムを起動し、プログラムの実行が前記ユーザ認証ルーチンに及ぶと、プログラムはユーザの認証鍵を内蔵したハードウェアと通信する。通信の結果に基づいてプログラムは認証鍵を識別し、正しい認証鍵の存在が確認されると次のステップへ実行を移す。通信が失敗し認証鍵の存在が確認できない場合は、プログラムは自らを停止し以降の実行ができないようにする。
【0004】
アクセス資格認証ルーチンによる認証鍵の識別は、例えば、次のようなプロトコルに従って行われる。
1. アクセス資格認証ルーチンは適当な数を生成し鍵内蔵ハードウェアに送信する。
2. 鍵内蔵ハードウェアは内蔵する認証鍵を用いて送られた数を暗号化し、前記認証ルーチンに返信する。
3. 認証ルーチンは、返信された数が予め予想された数、即ちハードウェアに送信した数を正しい認証鍵で暗号化して得られる数であるか否かを判定する。
4. 返信された数が予想された数と一致する場合にはプログラムの実行を続行し、一致しない場合には停止する。
【0005】
この際、アプリケーションプログラムと認証鍵内蔵ハードウェア間の通信は、たとえ同じアプリケーションプログラム中の同じ箇所において同じハードウェアとの間で交換されるものであろうとも、実行のたびに異ならなければならない。さもなければ、正常な実行過程における通信内容を一度記録し、以後プログラムを実行する度に記録した通りにアプリケーションプログラムへの返信を行うことにより、正しい認証鍵を保有しないユーザでもプログラムを実行することが可能となってしまう。このような通信内容の再現によるアプリケーションプログラムの不正実行をリプレイアタック(replay attack)と呼ぶ。
【0006】
リプレイアタックを防ぐために、通常、鍵内蔵ハードウェアに送られる数は通信の度に新たに生成される乱数を用いる。
【0007】
[従来の技術の問題点]
従来技術の問題点は、アプリケーションプログラムを作成する際に、プログラム作成者がユーザが持つ認証鍵を予め想定した上で、該認証鍵に基づいてプログラムの保護処理を行わなければならないという性質に由来する。
【0008】
つまり、プログラム作成者は、鍵内蔵ハードウェアからの正しい返信をプログラム作成時に予測して、正しい返信を受けた場合にのみプログラムが正常に実行されるようにプログラムの作成を行わなければならない。
【0009】
上記特徴を有する従来技術の利用形態は基本的に2通りとなるが、いずれの場合も以下に述べる問題を有する。
【0010】
1. 第一の方法ではユーザの認証鍵をユーザ毎に異なるように用意する。即ち、ユーザ甲には認証鍵甲、ユーザ乙には認証鍵乙というように、ユーザ毎に異なる認証鍵を一つずつ用意する。
【0011】
この場合、プログラム作成者は、プログラム中の認証ルーチンをユーザ毎に適切に変えてプログラムを作成する必要がある。つまり、ユーザ毎に認証鍵が異なるので、プログラム中の認証ルーチンは該プログラムを利用するユーザ固有の認証鍵を識別するように作成されなければならず、プログラム作成者は利用ユーザの数だけ異なるプログラムを作成する必要がある。
【0012】
対象となるユーザが多数の場合、プログラムをユーザ毎に個別化する作業はプログラム作成者にとって耐えがたい労力を要求し、管理しなければならないユーザ認証鍵のリストも膨大なものとなる。
【0013】
2. 第二の方法では、プログラム作成者はアプリケーション毎にそれぞれ異なる認証鍵を用意する。即ち、アプリケーション甲には認証鍵甲、アプリケーション乙には認証鍵乙というように、アプリケーション毎に異なる認証鍵を一つずつ用意し、固有の認証鍵を識別するように各アプリケーションプログラムを作成する。
【0014】
この方法では、第一の方法の場合のようにユーザ毎にプログラムを個別的に作成する必要は無くなるが、逆に、ユーザは利用するアプリケーションの数だけ認証鍵を保持しなければならないこととなる。
【0015】
この制約はプログラム作成者及びユーザそれぞれに以下のような問題を惹起する。
【0016】
前述のように、認証鍵はハードウェアに厳重に封入した状態でユーザに配布する必要がある。従って、プログラム自身はネットワークを介して簡便に配布することができるのと対照的に、認証鍵を内蔵するハードウェアの配布は郵便等の物理手段に頼らざるを得ない。この制限は、コスト、時間、梱包の手間いずれをとっても、プログラム作成者とって大きな負担となる。
【0017】
プログラム作成者は、ユーザの要求に応えるべく、アプリケーション毎に異なるハードウェアを一定個数ストックしておかなければならず、在庫管理のコストを必要とする。
【0018】
また、ユーザは利用するアプリケーションを変更する度にハードウェアを交換しなければならないという煩雑さに甘んじなければならない。
【0019】
ユーザがあるアプリケーションを使いたいとしても、認証鍵が封入されたハードウェアが届くまで待たねばならず、即座に利用できないという点での不便さも生ずる。
【0020】
この負担を軽減するため、ハードウェア中に複数の認証鍵を予め封入しておき、新しいアプリケーションの利用をユーザに許可する度に、ハードウェア中の未使用の認証鍵を利用可能とするためのパスワードをユーザに教えるといった方法が用いられる。しかしながら、この方法を用いたとしても、前記の問題点は原理的に解決されないことは明らかである。実際、商品化に際しては、上記問題点に起因する不便さを緩和するために、ハードウェアは連接して複数結合することが可能となるように設計される。
【0021】
このように、上記二つのいずれの方法をとったとしても、プログラム作成者及びユーザの利便に問題が存在する。
【0022】
なお、実行制御の外的な特質を考えると、メールのプライバシー保護やファイルや計算機資源のアクセス制御、その他一般のデジタルコンテンツアクセス制御にも適用可能であると想像できる。しかしながら、従来技術をこれらの分野に適用しようとしても、前記の問題点により不可能である。
【0023】
【発明が解決しようとする課題】
この発明は、以上の事情を考慮してなされたものであり、ユーザ側及びアプリケーション作成者等のプロテクト側の双方に生ずる、多数の認証鍵等の固有情報を取り扱うことによって派生する不具合を解消し、プログラムの実行制御、デジタルコンテンツ(静止画・動画・音声等)のアクセス権保護、メールのプライバシー保護、ファイルや計算機資源のアクセス制御等を行う際に、ユーザのアクセス資格を簡易に認証する事ができるようにした、アクセス資格認証装置を提供することを目的とする。
【0024】
【課題を解決するための手段】
本発明の第1の実現形態にによれば、上述の目的を達成するために、ユーザの権限を証明するために生成された証明データの正当性を検証することにより上記ユーザのアクセス資格を認証するアクセス資格認証装置に、第1の認証用データを記憶する第1の記憶手段と、ユーザの固有情報を記憶する第2の記憶手段と、上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対し、所定の計算を実行した実行結果である証明用補助情報を記憶する第3の記憶手段と、上記第1の記憶手段に保持されている認証用データと、上記第2の記憶手段に記憶されている上記ユーザの固有情報と、上記第3の記憶手段に記憶されている上記証明用補助情報とに所定の計算を施して証明データを生成する証明データ生成手段と、上記証明データ生成手段によって生成された証明データが、上記アクセス資格認証の特徴情報に基づいて生成されていることを検証する証明データ検証手段とを設け、特に上記アクセス資格認証の特徴情報Xが、法p、正整数aとして、Y=a mod pなる関係を満たすように構成し、非対称暗号系における復号鍵であり、YがXに対応する暗号化の鍵であるように設定し、上記証明データ生成手段は、第1の記憶手段に記憶されている第1の認証用データに対して、法pのもとで、前記Xの値でべき乗した値を証明データとして生成し、上記証明データ検証手段が、上記証明データ生成手段が生成した証明データを用いることにより、上記Yによって暗号化されたデータが正しく復号可能であることを検証するように構成される。
【0025】
このような構成により、証明用補助データ(アクセスチケット)を導入することで、アクセス資格認証の特徴情報とユーザ固有情報とを独立させることができる。ユーザはあらかじめ固有情報を保持し、プログラム作成者等のアクセスコントロールを行いたい者は、ユーザが所持する固有情報とは独立にアクセス資格認証の特徴情報を用意し、証明用補助データ(アクセスチケット)をユーザの固有情報とアプリケーションプログラムの作成等に使用したアクセス資格認証の特徴情報とに応じて作成し、配布することにより、実行制御等のユーザのアクセス資格の認証を行う事ができる。
【0026】
また本発明の第1の実現形態において、上記アクセス資格認証装置に、第2の認証用データを記憶する第4の記憶部を設け、上記第2の認証用データを適当なデータを前記復号鍵に対応する暗号化鍵を用いて暗号化したものとし、上記証明データ検証手段が、上記証明データ生成手段が生成する上記証明データと、上記第4の記憶手段に記憶されている第2の認証用データとに対して特定の演算を施した結果が、アクセス資格認証の特徴情報である上記暗号鍵に対応する復号鍵によって、上記第2の認証用データを正しく復号したものであることを認証するようにすることもできる。
【0027】
また、上記第1の実現形態において、上記アクセス資格認証装置に、乱数生成手段を設け、乱数生成手段は発生させた乱数による効果を加えた値を上記第1の認証用データとして、第1の記憶手段に記憶させるようにしてもよい。
【0028】
また、上記第1の実現形態において、上記証明データ検証手段は、上記証明データ生成手段によって生成された証明データから上記乱数による効果を除去するように構成することもできる。
【0029】
また、上記第1の実現形態において、上記アクセス資格認証装置に、認証用素データを記憶する第5の記憶手段と、乱数生成手段が生成した乱数を記憶する第6の記憶手段を設け、上記乱数生成手段が生成した乱数を第6の記憶手段に書き込むと共に、上記第5の記憶手段に記憶されている認証用素データに前記乱数を用いた乱数効果を施した後、第1の認証用データとして上記第1の記憶手段に書き込むようにしてもよい。
【0030】
また、上記第1の実現形態において、上記証明データ検証手段が、上記第6の記憶手段に記憶されている乱数による乱数効果を、上記証明データ生成手段によって生成された証明データから除去するようにすることもできる。
【0031】
また、本発明の第2の実現形態によれば、上述の目的を達成するために、ユーザの権限を証明するために生成された証明データの正当性を検証することにより上記ユーザのアクセス資格を認証するアクセス資格認証装置に、第1の認証用データを記憶する第1の記憶手段と、ユーザの固有情報を記憶する第2の記憶手段と、上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対し、所定の計算を実行した実行結果である証明用補助情報を記憶する第3の記憶手段と、第2の認証用データを記憶する第4の記憶手段と、乱数生成手段と、上記第1の記憶手段に保持されている認証用データと、上記第2の記憶手段に記憶されている上記ユーザの固有情報と、上記第3の記憶手段に記憶されている上記証明用補助情報とに所定の計算を施して証明データを生成する証明データ生成手段と、上記証明データ生成手段によって生成された証明データが、上記アクセス資格認証の特徴情報に基づいて生成されていることを検証する証明データ検証手段とを設け、上記アクセス資格認証の特徴情報Xが、法p、正整数aとして、Y=a mod pなる関係を満たすように構成される非対称暗号系における復号鍵であり、YがXに対応する暗号化の鍵であるように設定し、上記第2の認証用データを適当なデータを前記復号鍵に対応する暗号化鍵を用いて暗号化したものとし、乱数生成手段は、第1の認証用データCに対して発生させた乱数による効果を施した値と、第2の認証用データCもしくは第2の認証用データCに対して上記乱数による効果を施した値の組とを、第1の記憶手段に記憶させ、上記証明データ検証手段は、上記証明データ生成手段によって生成された証明データから上記乱数による効果を除去した結果が、アクセス資格認証の特徴情報である復号鍵で、上記第4の記憶手段に記憶されている第2の認証用データCを正しく復号したものであることを検証するように構成される。
【0032】
この構成においても、第1の実現形態と同様な効果を実現できる。
【0033】
また、上記第2の実現形態において、上記アクセス資格認証装置に、認証用素データを記憶する第5の記憶手段と、生成した乱数を記憶する第6の記憶手段を設け、上記乱数生成手段は生成した乱数を第6の記憶手段に書き込むと共に、上記第5の記憶手段に記憶されている認証用素データに前記乱数を用いた乱数効果を施した値と、上記第4の記憶手段に記憶されている第2の認証用データに対して上記乱数を用いた乱数効果を施した値との組を、上記第1の記憶手段に書き込むようにすることもできる。
【0034】
また、上記第2の実現形態において、上記アクセス資格認証装置に、認証用素データを記憶する第5の記憶手段と、生成した乱数を記憶する第6の記憶手段を設け、上記乱数生成手段は生成した乱数を第6の記憶手段に書き込むと共に、上記第5の記憶手段に記憶されている認証用素データに前記乱数を用いた乱数効果を施した値と、上記第4の記憶手段に記憶されている第2の認証用データとの組を、上記第1の記憶手段に書き込むようにすることもできる。
【0035】
また、上記第2の実現形態において、証明データ検証手段が、上記第6の記憶手段に記憶されている乱数による乱数効果を、上記証明データ生成手段によって生成された証明データから除去するようにすることもできる。
【0036】
また、上記第1、第2の実現形態において、上記証明データ生成手段を、第1の演算手段と、第2の演算手段と、第3の演算手段とから構成し、第1の演算手段は、上記第1の記憶手段に記憶されている認証用データと、上記第3の記憶手段に記憶されている証明用補助情報とに所定の計算を施し、第2の演算手段は、上記第1の記憶手段に記憶されている認証用データと、第2の記憶手段に記憶されているユーザの固有情報とに所定の計算を施し、第3の演算手段が、上記第1の演算手段による計算結果と、上記第2の演算手段による計算結果とに所定の計算を施し、その結果として上記証明データを生成するようにすることもできる。
【0037】
また、上記第1の実現形態において、特に上記アクセス資格認証の特徴情報が、法p、正整数aのもとでY=a mod pを満たすように構成される復号鍵Xであり、鍵Xに対応する暗号化の鍵がYであり、uが上記aを法pのもとで所定の乱数zを指数としてべき乗した数であり(u=a mod p)、Cが、上記Yを法pのもとで上記乱数zを指数としてべき乗した数と、データKとの積であるとき(C=YK mod p)、上記第1の記憶手段に認証用データとしてuが記憶され、上記第4の記憶手段にはCが記憶され、証明データ検証手段は、第4の記憶手段に記憶されているCを証明データ生成手段によって生成された証明データRで割ったものと、前記Kとが法pのもとで合同であること(Kmod p= CR−1 mod p)を検証するようにしてもよい。
【0038】
また、上記第1の実現形態において、特に上記アクセス資格認証の特徴情報が、法p、正整数aのもとでY=a mod pを満たすように構成される復号鍵Xであり、鍵Xに対応する暗号化の鍵がYであり、uが上記aを法pのもとで所定の乱数zを指数としてべき乗した数であり(u=a mod p)、Cが、上記Yを法pのもとで上記乱数zを指数としてべき乗した数と、データKとの積であるとき(C=YK mod p)、上記第5の記憶手段に認証用素データとしてuが記憶され、上記第4の記憶手段にはCが記憶され、上記乱数生成手段は、生成した乱数rを指数として前記uを法pのもとで冪乗して得られる数u’(=u mod p)を認証用データとして法数pとともに上記第1の記憶手段に書き込み、証明データ検証手段は、第6の記憶手段に記憶されている乱数rの法(p−1)のもとでの逆数を指数として、証明データ生成手段によって生成された証明データRを法数pのもとで冪乗した数v
【0039】
【数3】
Figure 0003613929
を計算し、更に、第4の記憶手段に記憶されているCを前記vで割ったものと、前記Kとが法pのもとで合同であること(K mod p= Cv−1 mod p)を、検証するようにしてもよい。
【0040】
また、上記第1の実現形態において、特に上記アクセス資格認証の特徴情報が、法p、正整数aのもとでY=a mod pを満たすように構成される復号鍵Xであり、鍵Xに対応する暗号化の鍵がYであり、uが上記aを法pのもとで所定の乱数zを指数としてべき乗した数であり(u=a mod p)、Cが、上記Yを法pのもとで上記乱数zを指数としてべき乗した数と、データKとの積であるとき(C=YK mod p)、上記第5の記憶手段に認証用素データとしてuが記憶され、上記第4の記憶手段にはCが記憶され、上記乱数生成手段は、生成した乱数rを指数として前記aを法pのもとで冪乗した値に上記uを乗じて得られる数u’(=au mod p)を認証用データとして法数pとともに上記第1の記憶手段に書き込み、上記証明データ検証手段は、法pのもとで、証明データ生成手段によって生成された証明データRを、上記Yを第6の記憶手段に記憶されている乱数rでべき乗した値で割った数v(=RY−r modp)を計算し、更に、第4の記憶手段に記憶されているCを前記vで割ったものと、前記Kとが法pのもとで合同であること(K mod p=Cv−1 mod p)を検証するようにしてもよい。
【0041】
また、上記第2の実現形態において、特に上記アクセス資格認証の特徴情報が、法p、正整数aのもとでY=a mod pを満たすように構成される復号鍵Xであり、鍵Xに対応する暗号化の鍵がYであり、uが上記aを法pのもとで所定の乱数zを指数としてべき乗した数であり(u=a mod p)、Cが、上記Yを法pのもとで上記乱数zを指数としてべき乗した数と、データKとの積であるとき(C=YK mod p)、上記第5の記憶手段に認証用素データとしてuが記憶され、上記第4の記憶手段にはCが記憶され、上記乱数生成手段は、生成した乱数rを指数として前記uを法pのもとで冪乗して得られる数u’(=u mod p)と、生成した乱数rを指数として前記Cを法pのもとで冪乗して得られる数C’(=C mod p)との組を認証用データとして法数pとともに上記第1の記憶手段に書き込み、証明データ検証手段は、第6の記憶手段に記憶されている乱数rの法(p−1)のもとでの逆数を指数として、上記証明データ生成手段によって生成された証明データRを法数pのもとで冪乗した数と、前記Kとが、法pのもとで合同であること
【0042】
【数4】
Figure 0003613929
を検証するようにしてもよい。
【0043】
また、上記第2の実現形態において、特に上記アクセス資格認証の特徴情報が、法p、正整数aのもとでY=a mod pを満たすように構成される復号鍵Xであり、鍵Xに対応する暗号化の鍵がYであり、uが上記aを法pのもとで所定の乱数zを指数としてべき乗した数であり(u=a mod p)、Cが、上記Yを法pのもとで上記乱数zを指数としてべき乗した数と、データKとの積であるとき(C=YK mod p)、上記第5の記憶手段に認証用素データとしてuが記憶され、上記第4の記憶手段にはCが記憶され、上記乱数生成手段は、生成した乱数rを指数として前記aを法pのもとで冪乗した値に前記uを乗じて得られる数u’(= ua mod p)と、前記Cとの組を、認証用データとして法数pとともに上記第1の記憶手段に書き込み、証明データ検証手段は、上記Yを第6の記憶手段に記憶されている乱数rで冪乗した値に上記証明データ生成手段によって生成された証明データRを乗じた値と、前記Kとが、法pのもとで合同であること(K mod p=RY mod p)を検証するようにしてもよい。
【0044】
また、上記第1の実現形態において、上記第3の記憶手段に記憶される証明用補助情報tが、上記Xから、上記第2の記憶手段に記憶されるユーザ識別情報eと上記pとに依存する非衝突性関数値F(p,e)を減じて得られるデータt(=X−F(p,e))であり、上記証明データ生成手段は、前記tと、前記eと、第1の記憶手段に書き込まれた認証用データu’から、法pのもとでu’のX乗((u’) mod p)を計算するようにしてもよい。
【0045】
また、上記第2の実現形態において、上記第3の記憶手段に記憶される証明用補助情報tが、上記Xから、上記第2の記憶手段に記憶されるユーザ識別情報eと上記pとに依存する非衝突性関数値F(p,e)を減じて得られるデータt(=X−F(p,e))であり、上記証明データ生成手段は、前記tと、前記eと、第1の記憶手段に書き込まれた認証用データu’及びC’から、法pのもとで、 上記C’を上記u’のX乗で割った値(C’(u’)−X mod p)を計算するようにしてもよい。
【0046】
また、上記第1の実現形態において、上記第3の記憶手段に記憶される証明用補助情報tが、上記Xから、上記第2の記憶手段に記憶されるユーザ識別情報eと上記暗号化鍵Yとに依存する非衝突性関数値F(Y,e)を減じて得られるデータt(=X−F(Y,e))であり、上記証明データ生成手段は、上記tと、上記eと、第1の記憶手段に書き込まれた認証用データu’から、法pのもとでu’のX乗((u’) mod p)を計算するようにしてもよい。
【0047】
また、上記第2の実現形態において、上記第3の記憶手段に記憶される証明用補助情報tが、上記Xから、上記第2の記憶手段に記憶されるユーザ識別情報eと上記暗号化鍵Yとに依存する非衝突性関数値F(Y,e)を減じて得られるデータt(=X−F(Y,e))であり、上記証明データ生成手段は、上記tと、上記eと、第1の記憶手段に書き込まれた認証用データu’及びC’から、法pのもとで、上記C’を上記u’のX乗で割った値(C’(u’)−X mod p)を計算するようにしてもよい。
【0048】
また、上記第1の実現形態において、上記証明データ生成手段が、第1の演算手段と、第2の演算手段と、第3の演算手段とからなり、第1の演算手段は、上記法pのもとで、上記u’の上記t乗した値((u’) mod p)を計算し、第2の演算手段は、上記法pのもとで上記uの上記F(p,e)乗した値((u’)F(p,e) mod p)を計算し、第3の演算手段は、前記法pのもとで、第1の演算手段の計算結果と第2の演算手段の計算結果とを乗ずることによって、証明データR(=(u’)(u’)F(p,e) mod p)を生成するようにしてもよい。
【0049】
また、上記第2の実現形態において、上記証明データ生成手段が、第1の演算手段と、第2の演算手段と、第3の演算手段とからなり、第1の演算手段は、上記法pのもとで、上記u’の上記t乗した値((u’) mod p)を計算し、第2の演算手段は、上記法pのもとで、上記uの上記F(p,e)乗した値((u’)F(p,e) mod p)を計算し、第3の演算手段は、上記法pのもとで、第1の演算手段の計算結果と第2の演算手段の計算結果とを乗じた値の逆数を計算し、さらにその値に上記C’を乗ずることによって、証明データR(=C’((u’)(u’)F(p,e)−1 mod p)を生成するようにしてもよい。
【0050】
また、上記第1の実現形態において、上記証明データ生成手段が、第1の演算手段と、第2の演算手段と、第3の演算手段とからなり、上記第1の演算手段は、上記法pのもとで、上記u’の上記t乗した値((u’) mod p)を計算し、上記第2の演算手段は、上記法pのもとで上記uの上記F(Y,e)乗した値((u’)F(Y,e) mod p)を計算し、上記第3の演算手段は、上記法pのもとで、第1の演算手段の計算結果と第2の演算手段の計算結果とを乗ずることによって、証明データR(=(u’)(u’)F(Y,e) mod p)を生成するようにしてもよい。
【0051】
また、上記第2の実現形態において、上記証明データ生成手段が、第1の演算手段と、第2の演算手段と、第3の演算手段とからなり、上記第1の演算手段は、上記法pのもとで、上記u’の上記t乗した値((u’) mod p)を計算し、上記第2の演算手段は、上記法pのもとで、上記uの上記F(Y,e)乗した値((u’)F(Y,e) mod p)を計算し、上記第3の演算手段は、上記法pのもとで、第1の演算手段の計算結果と第2の演算手段の計算結果とを乗じた値の逆数を計算し、さらにその値に上記C’を乗ずることによって、証明データR(=C’((u’)(u’)F(Y,e)−1 mod p)を生成するようにしてもよい。
【0052】
また、本発明の第3の実現形態によれば、上述の目的を達成するために、ユーザの権限を証明するために生成された証明データの正当性を検証することにより上記ユーザのアクセス資格を認証するアクセス資格認証装置に、第1の認証用データを記憶する第1の記憶手段と、 ユーザの固有情報を記憶する第2の記憶手段と、上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対し、所定の計算を実行した実行結果である証明用補助情報を記憶する第3の記憶手段と、上記第1の記憶手段に保持されている認証用データと、上記第2の記憶手段に記憶されている上記ユーザの固有情報と、上記第3の記憶手段に記憶されている上記証明用補助情報とに所定の計算を施して証明データを生成する証明データ生成手段と、上記証明データ生成手段によって生成された証明データが上記アクセス資格認証の特徴情報に基づいて生成されていることを検証する証明データ検証手段とを設け、上記アクセス資格認証の特徴情報が、有限体上の楕円曲線において定義される非対称鍵暗号の復号鍵であるように構成される。
【0053】
このようにアクセス資格認証の特徴情報に、有限体上での楕円曲線上で定義された、非対称鍵暗号系を用いることにより、RSA公開鍵暗号等を用いる場合に比べて、鍵の長さを短くしても同等の安全性が得られ、かつ処理を高速に行うことができる。
【0054】
また、上記第3の実現形態において、上記証明データ生成手段を、第1の演算手段と、第2の演算手段と、第3の演算手段とから構成し、第1の演算手段は、上記第1の記憶手段に記憶されている認証用データと、上記第3の記憶手段に記憶されている証明用補助情報とに所定の計算を施し、第2の演算手段は、上記第1の記憶手段に記憶されている認証用データと、第3の記憶手段に記憶されているユーザの固有情報とに所定の計算を施し、第3の演算手段が、上記第1の演算手段による計算結果と、上記第2の演算手段による計算結果とに所定の計算を施し、その結果として上記証明データを生成するようにすることもできる。
【0055】
また、上記第3の実現形態において、上記アクセス資格認証装置に、第2の認証用データを記憶する第4の記憶部を設け、上記第2の認証用データを適当なデータを前記復号鍵に対応する暗号化鍵を用いて暗号化したものとし、上記証明データ検証手段は、上記証明データ生成手段が生成する上記証明データが、アクセス資格認証の特徴情報である上記暗号鍵に対応する復号鍵によって、上記第2の認証用データを正しく復号したものであることを認証するようにしてもよい。
【0056】
また、上記第3の実現形態において、上記アクセス資格認証装置に、第2の認証用データを記憶する第4の記憶部を設け、上記第2の認証用データを適当なデータを前記復号鍵に対応する暗号化鍵を用いて暗号化したものとし、上記証明データ検証手段は、上記証明データ生成手段が生成する上記証明データと、上記第4の記憶手段に記憶されている第2の認証用データとに対して特定の演算を施した結果が、アクセス資格認証の特徴情報である上記暗号鍵に対応する復号鍵によって、上記第2の認証用データを正しく復号したものであることを認証するようにすることもできる。
【0057】
また、上記第3の実現形態において、上記アクセス資格認証装置に、乱数生成手段を設け、乱数生成手段は発生させた乱数による効果を加えた値を上記第1の認証用データとして、第1の記憶手段に記憶させるようにすることもできる。
【0058】
また、上記第3の実現形態において、上記証明データ検証手段が、上記証明データ生成手段によって生成された証明データから上記乱数による効果を除去するようにしてもよい。
【0059】
また、上記第3の実現形態において、上記アクセス資格認証装置に、認証用素データを記憶する第5の記憶手段と、乱数生成手段が生成した乱数を記憶する第6の記憶手段を設け、上記乱数生成手段は生成した乱数を第6の記憶手段に書き込むと共に、上記第5の記憶手段に記憶されている認証用素データに前記乱数を用いた乱数効果を施した後、第1の認証用データとして上記第1の記憶手段に書き込むようにしてもよい。
【0060】
また、上記第3の実現形態において、証明データ検証手段が、上記第6の記憶手段に記憶されている乱数による乱数効果を、上記証明データ生成手段によって生成された証明データから除去するようにしてもよい。
【0061】
また、上記第3の実現形態において、上記第1の認証用データを適当なデータを前記復号鍵に対応する暗号化鍵を用いて暗号化したものとし、上記証明データ検証手段は、上記証明データ生成手段が生成する上記証明データが、上記第1の認証用データを正しく復号したものであることを検証するようにしてもよい。
【0062】
また、上記第3の実現形態において、証明データ検証手段は、第6の記憶手段に記憶されている乱数による乱数効果を、上記証明データ生成装置によって生成された証明データから除去した結果が、アクセス資格認証の特徴情報である復号鍵で第5の記憶手段に記憶されている認証用素データを復号したものであることを検証するようにしてもよい。
【0063】
また、上記第3の実現形態において、特に、有限体上の楕円曲線E上の点をPとし、上記アクセス資格認証の特徴情報を正整数Xとして、復号鍵Xに対応する暗号化鍵Yを、上記PをX倍したE上の点(Y=XP)とするとき、所定の乱数zを用いて、uを上記PをE上でz倍した点とし(u=za)、Cを上記YをE上で上記z倍した数とE上の点Kとの和とすると(C=K+zY)、上記第5の記憶手段に認証用素データとしてCが記憶され、上記第4の記憶手段にはuが記憶され、上記乱数生成手段は、E上のランダムな点rを生成し、前記uと、前記Cにrを加えた点C’(=r+C)との組を認証用データとして上記第1の記憶手段に書き込み、証明データ検証手段は、証明データ生成手段によって生成された証明データRから、第6の記憶手段に記憶されているrを減じた値と、前記Kとが等しくなること(K=R−r)を検証するようにしてもよい。
【0064】
また、上記第3の実現形態において、特に、有限体上の楕円曲線E上の点をPとし、上記アクセス資格認証の特徴情報を正整数Xとして、復号鍵Xに対応する暗号化鍵Yを、上記PをX倍したE上の点(Y=XP)とするとき、所定の乱数zを用いて、uを上記PをE上でz倍した点とし(u’=zP)、Cを上記YをE上で上記z倍した値(zY)とデータKとに所定の演算を施した値とし、上記第1の記憶手段に認証用データとしてu’が記憶され、上記第4の記憶手段にはCが記憶され、証明データ検証手段は、第4の記憶手段に記憶されているCと証明データRとに演算を施した値と、前記Kとが等しくなることを検証するようにしてもよい。
【0065】
また、上記第3の実現形態において、特に、有限体上の楕円曲線E上の位数がqである点をPとし、上記アクセス資格認証の特徴情報を正整数Xとして、復号鍵Xに対応する暗号化鍵Yを、上記PをX倍したE上の点(Y=XP)とするとき、所定の乱数zを用いて、uを上記PをE上でz倍した点とし(u=zP)、Cを上記YをE上で上記z倍した値(zY)とデータKとに所定の演算を施した値とし、上記第5の記憶手段に認証用素データとしてuが記憶され、上記第4の記憶手段にはCが記憶され、上記乱数生成手段は、乱数rを生成し、前記uをE上でr倍した点u’(=ru)を認証用データとして上記第1の記憶手段に書き込み、証明データ検証手段は、証明データ生成手段によって生成された証明データRを、第6の記憶手段に記憶されている乱数rの法qのもとでの逆数倍した値v(=(r−1 modq)R)を計算し、更に、第4の記憶手段に記憶されているCと前記vとに所定の演算を施した値と、前記Kとが等しくなることを検証するようにしてもよい。
【0066】
また、上記第3の実現形態において、特に、有限体上の楕円曲線E上の点をPとし、上記アクセス資格認証の特徴情報を正整数Xとして、復号鍵Xに対応する暗号化鍵Yを、上記PをX倍したE上の点(Y=XP)とするとき、所定の乱数zを用いて、uを上記PをE上でz倍した点とし(u=zP)、Cを上記YをE上で上記z倍した値(zY)とデータKとに所定の演算を施した値とし、上記第5の記憶手段に認証用素データとしてuが記憶され、上記第4の記憶手段にはCが記憶され、上記乱数生成手段は、乱数rを生成し、前記PをE上でr倍した点と上記uとの和u’(=rP+u)を認証用データとして上記第1の記憶手段に書き込み、証明データ検証手段は、上記Yを第6の記憶手段に記憶されている乱数rでr倍した値を、証明データ生成手段によって生成された証明データRから減じた値v(=R−rY)を計算し、更に、第4の記憶手段に記憶されているCと前記vとに所定の演算を施した値と、前記Kとが等しくなることを検証するようにしてもよい。
【0067】
また、上記第3の実現形態において、特に、有限体上の楕円曲線E上の点をPとし、上記アクセス資格認証の特徴情報を正整数Xとして、復号鍵Xに対応する暗号化鍵Yを、上記PをX倍したE上の点(Y=XP)とするとき、所定の乱数zを用いて、uを上記PをE上でz倍した点とし(u=zP)、Cを上記YをE上で上記z倍した値(zY)とデータKとに所定の演算を施した値とし、前記uとCとの組が、認証用データとして上記第1の記憶手段に記憶され、証明データ検証手段は、証明データ生成手段によって生成された証明データRと、前記Kとが等しくなることを検証するようにしてもよい。
【0068】
また、上記第3の実現形態において、特に、有限体上の楕円曲線E上の位数がqである点をPとし、上記アクセス資格認証の特徴情報を正整数Xとして、復号鍵Xに対応する暗号化鍵Yを、上記PをX倍したE上の点(Y=XP)とするとき、所定の乱数zを用いて、uを上記PをE上でz倍した点とし(u=za)、Cを上記YをE上で上記z倍した数とE上の点Kとの和とすると(C=K+zY)、上記第5の記憶手段に認証用素データとしてuが記憶され、上記第4の記憶手段にはCが記憶され、上記乱数生成手段は、乱数rを生成し、前記uをE上でr倍した点u’(=ru)と、前記CをE上でr倍した点C’(=rC)との組を認証用データとして上記第1の記憶手段に書き込み、証明データ検証手段は、証明データ生成手段によって生成された証明データRを、第6の記憶手段に記憶されている乱数rの法qのもとでの逆数倍した値と、前記Kとが等しくなること(K=(r−1 modq) R)を検証するようにしてもよい。
【0069】
また、上記第3の実現形態において、特に、有限体上の楕円曲線E上の点をPとし、上記アクセス資格認証の特徴情報を正整数Xとして、復号鍵Xに対応する暗号化鍵Yを、上記PをX倍したE上の点(Y=XP)とするとき、所定の乱数zを用いて、uを上記PをE上でz倍した点とし(u=zP)、Cを上記YをE上で上記z倍した点とE上の点Kとの和とすると(C=K+zY)、上記第5の記憶手段に認証用素データとしてuが記憶され、上記第4の記憶手段にはCが記憶され、上記乱数生成手段は、乱数rを生成し、前記PをE上でr倍した値と前記uとの和u’(=u+rP)と、前記Cとの組を、認証用データとして上記第1の記憶手段に書き込み、証明データ検証手段は、上記Yを第6の記憶手段に記憶されている乱数r倍した値を、証明データ生成手段によって生成された証明データRに加えた値と、前記Kとが、等しくなること(K=R+rY)を検証するようにしてもよい。
【0070】
また、上記第3の実現形態において、上記第3の記憶手段に記憶される証明用補助情報tが、上記非対称暗合の復号鍵と、ユーザの固有情報とから作成されるようにしてもよい。
【0071】
また、上記第3の実現形態において、上記第3の記憶手段に記憶される証明用補助情報tが、ユーザの固有情報を、非衝突性関数の入力として計算した値を用いて作成されるようにしてもよい。
【0072】
また、上記第3の実現形態において、上記証明データ生成手段は、上記証明用補助情報と、ユーザの固有情報とから、上記E上でu’のX倍(Xu’)を計算するようにしてもよい。
【0073】
また、上記第3の実現形態において、上記証明データ生成手段は、前上記非対称暗合の復号鍵と、ユーザの固有情報を用いて、上記E上で点C’からu’のX倍を減じた値(C’−Xu’)を計算するようにしてもよい。
【0074】
また、上記第3の実現形態において、上記第3の記憶手段に記憶される証明用補助情報tが、上記非対称暗合の復号鍵と、ユーザの固有情報と、楕円曲線を規定する情報とから作成されるようにしてもよい。
【0075】
また、上記第3の実現形態において、上記第3の記憶手段に記憶される証明用補助情報tが、ユーザの固有情報と、楕円曲線を規定する情報とを、非衝突性関数の入力として計算した値を用いて作成されるようにしてもよい。
【0076】
また、上記第3の実現形態において、上記第3の記憶手段に記憶される証明用補助情報tが、少なくともユーザの固有情報と、楕円曲線を規定する情報とを、非衝突性関数の入力として計算した値を用いて作成されるようにしてもよい。
【0077】
また、上記第3の実現形態において、上記第3の記憶手段に記憶される証明用補助情報tが、少なくともユーザの固有情報と、暗号化鍵Yとを、非衝突性関数の入力として計算した値を用いて作成されるようにしてもよい。
【0078】
また、上記第3の実現形態において、上記証明データ生成手段は、上記証明用補助情報と、ユーザの固有情報と、楕円曲線を規定する情報とから、上記E上でu’のX倍(Xu’)を計算するようにしてもよい。
【0079】
また、上記第3の実現形態において、上記証明データ生成手段は、少なくとも上記証明用補助情報と、ユーザの固有情報と、暗号化鍵Yとを用いて、上記E上でu’のX倍(Xu’)を計算するようにしてもよい。
【0080】
また、上記第3の実現形態において、上記証明データ生成手段は、前上記非対称暗合の復号鍵と、ユーザの固有情報と、楕円曲線を規定する情報とを用いて、上記E上で点C’からu’のX倍を減じた値(C’−Xu’)を計算するようにしてもよい。
【0081】
また、上記第3の実現形態において、上記証明データ生成手段は、少なくとも上記アクセス資格認証の特徴情報と、ユーザの固有情報と、暗号化鍵Yとを用いて、上記E上で点C’からu’のX倍を減じた値(C’−Xu’)を計算するようにしてもよい。
【0082】
また、上記第3の実現形態において、特に、p個の元を持つ有限体F(pは3より大きい素数をべき乗した値)上の楕円曲線Eをy=x+ax+bとするとき、上記第3の記憶手段に記憶される証明用補助情報tが、上記Xから、上記第2の記憶手段に記憶されるユーザ識別情報eと上記p,a,bとに依存する非衝突性関数値F(p,a,b,e)を減じて得られるデータt(=X−F(p,a,b,e))であり、上記証明データ生成手段は、前記tと、前記eと、上記p,a,bと、第1の記憶手段に書き込まれた認証用データu’から、前記E上でu’のX倍(Xu’)を計算するようにしてもよい。
【0083】
また、上記第3の実現形態において、特に、標数が2でp個の元を持つ有限体F上の楕円曲線Eをy+cy=x+ax+bとするとき、上記第3の記憶手段に記憶される証明用補助情報tが、上記Xから、上記第2の記憶手段に記憶されるユーザ識別情報eと上記p,a,b,cとに依存する非衝突性関数値F(p,a,b,c,e)を減じて得られるデータt(=X−F(p,a,b,c,e))であり、上記証明データ生成手段は、前記tと、前記eと、上記p,a,b,cと、第1の記憶手段に書き込まれた認証用データu’から、前記 E上でu’のX倍(Xu’)を計算するようにしてもよい。
【0084】
また、上記第3の実現形態において、特に、標数が2でp個の元を持つ有限体F上の楕円曲線Eをy+xy=x+ax+bとするとき、上記第3の記憶手段に記憶される証明用補助情報tが、上記Xから、上記第2の記憶手段に記憶されるユーザ識別情報eと上記p,a,bとに依存する非衝突性関数値F(p,a,b,e)を減じて得られるデータt(=X−F(p,a,b,e))であり、上記証明データ生成手段は、前記tと、前記eと、上記p,a,bと、第1の記憶手段に書き込まれた認証用データu’から、前記E上でu’のX倍(Xu’)を計算するようにしてもよい。
【0085】
また、上記第3の実現形態において、特に、標数が3でp個の元を持つ有限体F上の楕円曲線Eをy=x+ax+bx+cとするとき、上記第3の記憶手段に記憶される証明用補助情報tが、上記Xから、上記第2の記憶手段に記憶されるユーザ識別情報eと上記p,a,b,cとに依存する非衝突性関数値F(p,a,b,c,e)を減じて得られるデータt(=X−F(p,a,b,c,e))であり、上記証明データ生成手段は、前記tと、前記eと、上記p,a,b,cと、第1の記憶手段に書き込まれた認証用データu’から、前記 E上でu’のX倍(Xu’)を計算するようにしてもよい。
【0086】
また、上記第3の実現形態において、上記証明データ生成手段が、上記 E上で上記u’をX倍した値Xu’と、第1の記憶手段に書き込まれた認証用データC’とを用いて証明用データを生成するようにしてもよい。
【0087】
また、上記第3の実現形態において、上記証明データ生成手段が、第1の記憶手段に書き込まれた認証用データC’から、上記E上で上記u’をX倍した値Xu’を減じたもの(C’−Xu’)を計算するようにしてもよい。
【0088】
また、上記第3の実現形態において、上記証明データ生成手段が、第1の演算手段と、第2の演算手段と、第3の演算手段とからなり、第1の演算手段は、上記E上で、上記u’を上記t倍した値(tu’)を計算し、第2の演算手段は、上記E上で、上記uを上記F(p,a,b,e)倍した値(F(p,a,b,e)u’)を計算し、第3の演算手段は、第1の演算手段の計算結果から第2の演算手段の計算結果を減じることによって、証明データR(=tu’+F(p,a,b,e)u’)を生成するようにしてもよい。
【0089】
また、上記第3の実現形態において、上記証明データ生成手段が、第1の演算手段と、第2の演算手段と、第3の演算手段とからなり、第1の演算手段は、上記E上で、上記u’を上記t倍した値(tu’)を計算し、第2の演算手段は、上記E上で、上記uを上記F(p,a,b,c,e)倍した値(F(p,a,b,c,e)u’)を計算し、第3の演算手段は、第1の演算手段の計算結果と第2の演算手段の計算結果を加えることによって、証明データR(=tu’+F(p,a,b,c,e)u’)を生成するようにしてもよい。
【0090】
また、上記第3の実現形態において、上記証明データ生成手段が、第1の演算手段と、第2の演算手段と、第3の演算手段とからなり、第1の演算手段は、上記C’から、上記E上で上記u’を上記t倍した値を減じた値(C’−tu’)を計算し、第2の演算手段は、上記E上で、上記uを上記F(p,a,b,e)倍した値(F(p,a,b,e)u’)を計算し、第3の演算手段は、第1の演算手段の計算結果と第2の演算手段の計算結果とをもちいて、証明データR(=C’−tu’−F(p,a,b,e)u’)を生成するようにしてもよい。
【0091】
また、上記第3の実現形態において、上記証明データ生成手段が、第1の演算手段と、第2の演算手段と、第3の演算手段とからなり、第1の演算手段は、上記C’から、上記E上で上記u’を上記t倍した値を減じた値(C’−tu’)を計算し、第2の演算手段は、上記E上で、上記uを上記F(p,a,b,c,e)倍した値(F(p,a,b,c,e)u’)を計算し、第3の演算手段は、第1の演算手段の計算結果と第2の演算手段の計算結果とを用いて、証明データR(=C’−tu’−F(p,a,b,c,e)u’)を生成するようにしてもよい。
【0092】
また、上記第3の実現形態において、上記証明データ検証手段が、上記証明データRと、上記第4の記憶手段に記憶されている第2の認証用データとを用いて、所定の演算を行うことにより、上記第2の認証用データを復号するようにしてもよい。
【0093】
また、上記各々の実現形態において、少なくとも、上記第2の記憶手段と、上記証明データ生成手段とを、内部のデータ及び処理手続きを外部から観測することを困難ならしめる防御手段中に保持するようにすることもできる。
【0094】
また、上記各々の実現形態において、少なくとも、上記第2の記憶手段と、上記証明データ生成手段とを、ICカードなどの携帯可能な小型演算装置として構成するようにしてもよい。
【0095】
また、上記各々の実現形態において、少なくとも、上記第2の記憶手段と、上記第2の演算手段とを、内部のデータ及び処理手続きを外部から観測することを困難ならしめる防御手段中に保持するようにしてもよい。
【0096】
また、上記各々の実現形態において、少なくとも、上記第2の記憶手段と、上記第2の演算手段とを、ICカードなどの携帯可能な小型演算装置として構成するようにすることもできる。
【0097】
また、上記各々の実現形態において、少なくとも上記第1の記憶手段と、上記第2の記憶手段と、上記第3の記憶手段と、上記証明データ生成手段とから構成される証明データ生成装置と、少なくとも上記証明データ検証手段を有し、さらに認証用データを記憶する第7の記憶手段と、証明データを記憶する第8の記憶手段を備えた証明データ検証装置とが、互いに通信し、証明データ検証装置は、第7の記憶手段に記憶されている認証用データを証明データ生成装置の第1の記憶手段に書き出し、証明データ生成装置は、証明データ生成手段によって第1の記憶手段に書き込まれた上記認証用データをもとに生成した証明データを、証明データ検証装置中の第8の記憶手段に書き出し、証明データ検証装置は第8の記憶手段に書き込まれた上記証明データを用いてユーザのアクセス資格を認証するように構成することもできる。
【0098】
また、上記各々の実現形態において、上記証明データ検証手段に、さらに、暗号化されたデータである上記第2の認証用データに対応する平文データを記憶する第9の記憶手段と、比較手段とを設け、上記比較手段は、上記証明データ生成手段が生成した上記証明データの値、もしくは上記証明データを用いて演算を行った結果得られた値と、第9の記憶手段に記憶されている平文データを比較し、両者が一致した場合に限り、上記証明データが正当であると判断するようにしてもよい。
【0099】
また、上記各々の実現形態において、上記証明データ検証手段に、さらに、何らかのデータを暗号を用いて暗号化したデータを記憶する第10の記憶手段を設け、上記第2の認証用データが、上記データを暗号化するために用いた暗号の鍵を暗号化したものであり、上記証明データ検証手段は、上記証明データ生成手段が生成した証明データの値、もしくは上記証明データを用いて演算を行った結果得られた値を、前記データを暗号化するために用いた暗号の復号鍵として用いることにより、前記暗号化されたデータが復号できることによって、上記証明データが正当であると判断するようにしてもよい。
【0100】
また、上記各々の実現形態において、上記証明データ検証手段に、さらに、データの冗長性を検証する冗長性検証手段を設け、上記証明データ生成手段が生成した上記証明データの値、もしくは上記証明データを用いて演算を行った結果得られた値が、冗長性検証手段によって特定の冗長性をもつことが確認されることによって、上記証明データが正当であると判断するようにしてもよい。
【0101】
また、上記各々の実現形態において、上記証明データ検証手段に、さらに、暗号化されたデータである上記第2の認証用データに対応する平文データに、所定の一方向関数を施した結果を記憶する第11の記憶手段と、上記一方向関数を実行する第4の演算手段と、比較手段とを設け、第4の演算手段は、上記証明データ生成手段が生成した上記証明データの値もしくは上記証明データを用いて演算を行った結果得られた値に一方向関数を施し、上記比較手段は、第4の演算手段による計算結果と、第11の記憶手段に記憶されているデータを比較し、両者が一致した場合に限り、上記証明データが正当であると判断するようにしてもよい。
【0102】
また、上記各々の実現形態において、上記証明データ検証手段に、さらに、プログラム実行手段を設け、上記第2の認証用データは、プログラムを暗号化して得られるデータであり、上記証明データ検証手段は、証明データ生成手段が生成した上記証明データの値、もしくは上記証明データを用いて特定の演算を行った値をプログラムとしてプログラム実行手段に引き渡し、証明データ生成手段が暗号化されたプログラムである上記第2の認証用データを正しく復号した場合、即ち、暗号化されたプログラムが正しく復号された場合に限り、プログラム実行手段が正しい動作を行うように構成してもよい。
【0103】
また、上記各々の実現形態において、上記証明データ検証手段に、さらに、プログラム実行手段と、プログラム記憶手段と、プログラム復号手段とを設け、プログラム記憶手段には、プログラムの一部あるいは全部が暗号化されたものを記憶させておき、上記第2の認証用データは、前記暗号化されたプログラムを復号するための復号鍵を別途暗号化して得られるデータであり、上記証明データ検証手段は、証明データ生成手段が生成した上記証明データをプログラム復号手段に引き渡し、プログラム復号手段は、上記証明データ生成手段が生成した証明データの値、もしくは上記証明データを用いて演算を行った結果得られた値を復号鍵として、プログラム記憶手段に記憶されたプログラムを復号し、プログラム実行手段は復号されたプログラムを実行することにより、証明データ生成手段が上記第2の認証用データを正しく復号した場合、即ち、暗号化されたプログラムを復号するために復号鍵が正しく復号された場合に限り、プログラム実行手段が正しい動作を行うように構成することも可能である。
【0104】
また、本発明は方法として実現することもでき、また少なくとも一部をソフトウエアとして実装することもできる。
【0105】
【発明の実施の態様】
[全体の構成]
具体的な個別の実施例を述べる前に、本発明の実施形態の全体像を以下に述べる。
本発明を、ユーザのPCあるいはワークステーション上で動作するアプリケーションプログラムの実行制御に用いる場合について述べる。図1にこの実施形態における装置の構成を示す。
【0106】
図1において、この実施例のアクセス資格認証装置は証明データ検証装置10および証明データ生成装置11からなっており、証明データ生成装置11はアクセスチケット生成装置12からアクセスチケット(証明用補助データ)13を受領するようになっている。証明データ検証装置10は検証ルーチンを実行する検証手段15を含んでいる。証明データ生成装置11はユーザ固有情報16およびアクセスチケット13を保持し、証明データ生成手段17(例えばプログラム)を含んでいる。
【0107】
アクセスチケット生成装置12は例えばアプリケーション作成者、独立した第三者機関等のプロテクト側に設けられている。アクセスチケット生成装置12はアクセス資格認証の特徴情報14およびユーザ固有情報16aに基づいてアクセスチケットを生成し、このアクセスチケット13が通信またはフロッピーディスク等の送付を介してユーザに送られ、ユーザの証明データ生成装置11に保持される。この後、証明データ検証装置10は認証用データ18を証明データ生成装置11に送出する。証明データ生成装置11はアクセスチケット13およびユーザ固有情報16を用いて証明データ19を生成し、これを証明データ検証装置10に返送する。証明データ検証装置10は認証用データに基づいて証明データの正当性を検証する。すなわち、証明データが、認証用データとアクセス資格認証の特徴情報に基づいて生成されたデータであることを検証する。
【0108】
証明データの正当性が検証されれば、ユーザのアクセス資格が認証され、これに応じて実行手段20が所定の処理、例えばプログラムの実行継続やファイルへのアクセス許容等を実行する。
【0109】
この実施形態では、証明データ生成装置11はユーザが用いる計算機上の証明用プログラムとして実現することができる。この際、ユーザを識別するための固有情報(ユーザ固有情報)を、ユーザがコピーして配布することができると、正当な利用権をもたないユーザにもアプリケーションプログラムの使用を許すこととなる。そこで、ユーザ固有情報はその正当な保持者であるユーザであってもこれを窃取することができないように、該計算機に装着され、耐タンパー特性を有する証明用ハードウェア(ICカード、ボードなど)を併用することが可能である。この際、ICカードのような携帯性のあるハードウェアを用いれば、ユーザが複数のPCあるいはワークステーション上で作業をする場合に便利である。
【0110】
証明データ検証装置10は該ユーザが利用するアプリケーションプログラムの一部として構成される。即ち、ユーザが該アプリケーションプログラムをPCあるいはワークステーション上で起動すると、該アプリケーションプログラム中にプログラムとして記述された証明データ検証装置10が起動され、証明データ生成装置11と通信してユーザ認証を行い、通信が正しく終了した場合に限って該アプリケーションプログラムの実行を可能とする。
【0111】
ユーザが、証明データ検証装置10が埋めこまれた前記アプリケーションプログラムを利用するためには、ユーザ本人宛に発行され、前記アプリケーションプログラムに対応する証明用補助情報(アクセスチケット)を取得する必要がある。ユーザは、前記PCあるいはワークステーション上にインストールされた証明データ生成プログラムに、取得したアクセスチケットを登録するとともに、例えば、ユーザ固有情報がICカードに封入されている場合には、ICカードを前記PCあるいはワークステーションに装着する。アクセスチケットは、前記PCあるいはワークステーション上に置く構成にしてもよいし、ICカード中に置いてもよい。
【0112】
証明データ生成装置11(PCあるいはワークステーション上のプログラムとICカードによって構成される)は、ユーザ固有情報とアクセスチケットに基づいて計算を行い、その計算に基づいて証明データ検証装置10と通信を行う。この計算の過程でユーザ識別情報が用いられるが、ユーザ識別情報が外部に漏洩すると問題があるため、前記プログラムの少なくとも一部はICカード等の防御手段によって保護される必要がある。
【0113】
通信の結果、証明データ検証装置による認証が成功するのは、ユーザ固有情報と、アクセスチケットと、証明データ検証装置10が検証するアクセス資格認証の特徴情報の三つが正しく対応している場合に限られる。
【0114】
ユーザ固有情報あるいはアクセスチケットの一方が欠けていた場合には、認証は成功しない。
【0115】
アクセスチケットは特定のユーザ宛に発行される。即ち、アクセスチケットの生成に際して、特定のユーザのユーザ固有情報が使用される。アクセスチケット生成時に使用されるユーザ固有情報と、証明データ生成装置によって使用される前記ユーザ固有情報とが対応していない場合、やはり、認証は成功しない。
【0116】
また、アクセスチケットは、特定のアクセス資格認証の特徴情報に基づいて生成され、証明データ検証装置10はこのアクセス資格認証の特徴情報を認証するように構成される。従って、アクセスチケットの生成のもととなった特徴情報と、アプリケーションプログラムに埋めこまれている証明データ検証装置10が認証しようとする特徴情報とが互いに対応していなかった場合にも、認証は成功しない。
【0117】
また、アプリケーションプログラムがネットワークによって結合された別の計算機上で実行され、実行結果がネットワークを介してユーザが用いる計算機に通信されるものとしてもよい。この場合、いわゆるサーバ・クライアントモデルに基づく構成となる。先に述べた、ユーザのPCあるいはワークステーション上で実行されるアプリケーションプログラムの実行制御の場合では、証明データ生成装置11と証明データ検証装置10との通信がいわゆるプロセス間通信として実行されるのに対し、サーバ・クライアント・モデルに従った場合、明データ生成装置と証明データ検証装置との通信はTCP/IPなどのネットワークプロトコルに従った通信として実行される。
【0118】
また、アプリケーションプログラムが専用装置上に構成されている場合にも、本発明を適用することが可能である。例えば、証明データ生成装置11全体をICカード内に実装し、取得したアクセスチケットもICカードに登録するものとする。証明データ検証装置10は前記専用装置上に実装されるが、該専用装置はICカードを挿入するためのスロットを備え、ユーザは該スロットに所有するICカードを挿入することで認証を行う。
【0119】
このような専用装置による構成は、銀行のATM機や、ゲームセンターにおけるゲーム機などに適用することができる。
【0120】
ユーザによるアクセスチケットの取得に関しては、アクセスチケットを発行する共通のセンターが、ユーザからの発行依頼に応じて生成して配布する方法と、アプリケーションプログラムの作成者が、アクセスチケット発行プログラムやアクセスチケット生成装置12の助けを借りて個別に生成する方法がある。
【0121】
このような場合、アクセスチケット生成装置12は、チケット発行者によって管理され、アクセスチケットはこれら正当な権利者等によって、ユーザの環境とは別個に作成され、配布される。
【0122】
生成されたアクセスチケットは、フロッピーディスク等の可搬型記憶媒体を介してユーザに配送されるものとしてもよいが、アクセスチケットが十分な安全性を備えていることから、電子メールなどを用いてネットワークを介して配送されるように構成してもよい。
【0123】
アクセスチケットの安全性とは、以下の二つの性質である。
【0124】
1)アクセスチケットは記名式である。即ち、アクセスチケットが発行されたユーザ本人(正確には、アクセスチケット生成時に用いられたユーザ固有情報の保持者)だけが該アクセスチケットを用いて証明データ生成装置11を正しく作動させることができる。従って、悪意の第三者が、他のユーザのアクセスチケットを不正に手に入れたとしても、この第三者がアクセスチケットの発行先である正規のユーザのユーザ固有情報を手に入れないかぎり、このアクセスチケットを利用することは不可能である。
【0125】
2)アクセスチケットはさらに厳密な安全性を保持している。即ち、悪意の第三者が任意個数のアクセスチケットを集めて、いかなる解析を行ったとしても、得られた情報をもとに別のアクセスチケットを偽造したり、証明データ生成装置11の動作を模倣して認証を成立させるような装置を構成することは不可能である。
【0126】
以下では、より具体的な構成について実施例に即して説明する。なお、各実施例の証明データ生成装置および検証装置の構成を示す図および動作を説明する図は以下のとおりである。
【0127】
【表1】
実施例 証明装置 検証装置 証明の動作 検証の動作
第1 図2 図3 図9 図10
第2 図2 図7 図9 図12
第3 図2 図5 図8 図11
第4 図2 図7 図9 図13
第5 図2 図5 図8 図14
第6 図6 図3 図17 図18
第7 図6 図4 図16 図19
第8 図6 図7 図17 図21
第9 図6 図5 図16 図20
第10 図6 図7 図17 図22
第11 図6 図5 図16 図23
第12 図6 図7 図15 図24
第13 図6 図3 図17 図31
第14 図6 図4 図35 図32
第15 図6 図7 図17 図33
第16 図6 図7 図17 図34
第17 図6 図7 図15 図36
第8 図6 図7 図15 図37
[第1の実施例]
本実施例は乱数効果を付与せず、また復号を検証装置側で行うものである。本実施例の証明データ生成装置の構成方法を図2に、検証装置の構成方法を図3に示す。また、本実施例の証明データ生成装置の動作を図9に、検証装置の動作を図10に示す。
【0128】
本発明における第1の実施例では、アクセス資格認証の特徴情報Xは、法数p(pは十分大きな素数)のもとでのElGamal暗号の秘密鍵であり、Yが対応する公開鍵である。即ち、式1−1を満たす。
【0129】
【数5】
(1−1) Y=a mod p
ここで、aは位数pの有限体の乗法群の生成元、即ち、式1−2及び1−3を満たす。
【0130】
【数6】
(1−2) a≠0
【0131】
【数7】
(1−3) min{x>0|a=1 mod p}=p−1
次に、ユーザを識別するために、ユーザ毎に異なる数であるユーザ固有情報eを定める。アクセスチケットtは次の式1−4に基づいて生成される。
【0132】
【数8】
(1−4) t=X−F(p,e)
Xをアクセスチケット秘密鍵、Yをアクセスチケット公開鍵と呼ぶ。
【0133】
関数Fは関数値が衝突しにくい関数であり、例えば、一方向ハッシュ関数hを利用して、式1−5あるいは式1−6のように定めることができる。
【0134】
【数9】
(1−5)F(x,y)=h(x|y)
【0135】
【数10】
(1−6)F(x,y,z,w)=h(x|y|z|w)
ここで、x|yはxとyとのビットの連結であることを表す。
【0136】
一方向ハッシュ関数とは、h(x)=h(y)を満たす相異なるx、yを算出することが著しく困難であるという性質をもつ関数である。一方向ハッシュ関数の例として、RSA Data Security Inc.によるMD2、MD4、MD5、米国連邦政府による規格SHS(Secure Hash Standard)が知られている。
【0137】
また、以下では暗号化されるデータKを検証用データ、証明データ生成装置が証明のために生成するデータRを証明用データとよぶ。また、証明データ生成装置が証明データを生成するために、検証装置から受け取るデータ、及び、検証装置が復号された値を検証するために用いるデータを認証用データとよぶ。
【0138】
図を参照してさらに第1の実施例を詳細に説明する。図2において、証明データ生成装置11は、受信データ記憶部111、第1演算部112、アクセスチケット記憶部113、第2演算部114、ユーザ固有情報記憶部115、指数生成部116、証明データ制西部117等を含んで構成される。
【0139】
また、図3において、証明データ検証装置10は、アクセスチケット公開鍵記憶部101、受信データ記憶部102、検証用演算部103、認証用データ記憶部104、認証用素データ記憶部105、実行手段20等を含んで構成される。
【0140】
以下に本実施例の動作を示す。
【0141】
1.ユーザが、アクセス資格認証装置による認証を必要とするデジタルコンテンツにアクセスすることによって、証明データ検証装置10が起動される。
【0142】
証明データ検証装置10がユーザのPCあるいはワークステーション上で動作するアプリケーションプログラムの一部として構成されている場合、ユーザがキーボードあるいはマウスなどの指示装置を用いた通常の方法で、アプリケーションプログラムを起動する。アプリケーションプログラムの実行が証明データ検証装置10を構成しているプログラムに到達することによりことにより、証明データ検証装置10が起動される。
【0143】
証明データ検証装置10がネットワークで結ばれた他のPCあるいはワークステーション(サーバと呼ぶ)上に構成されている場合、ユーザは自分のPCあるいはワークステーション上の通信プログラムを起動し、該通信プログラムが所定の手続きに従って前記サーバに通信の開設要求を行うことにより、前記サーバ上の証明データ検証装置10が起動される。例えば、ユーザの通信プログラムがサーバと通信する際にTCP/IPと呼ばれる手続きに従うとすると、証明データ検証装置をサーバの特定のポートに予め対応づけておき、更に、ユーザの通信プログラムが該ポートを指定してTCP接続要求をサーバに要求するように設定しておくことにより、サーバ上のデーモン(inetd)がTCP接続要求に応じて証明データ検証装置10を起動することが可能となる。このような実現方法は、インターネットなどのネットワークにおいて広く利用されているものである。
【0144】
証明データ検証装置10を専用目的の装置とすることも可能である。例えば、証明データ検証装置10をICカード・リーダ・ライター内のROMに焼きつけられたプログラムとして構成し、証明データ生成装置をICカードのマイクロコントローラーに実装されたプログラムとすることができる。この場合、ユーザがICカードをリーダ・ライターに挿入することにより、証明データ検証装置10が起動される。
【0145】
2.証明データ検証装置10は、認証用データu’と、アクセスチケット公開鍵記憶部101に記憶されている法数pとを、証明データ生成装置11中の受信データ記憶部111に書き込む。認証用素データ記憶部105には、認証用素データとしてuが、また、認証用データ記憶部104には、認証用データとしてCが記憶されているが、それらは次の性質を満たす。
【0146】
uは、上記aを法pのもとで所定の乱数zを指数としてべき乗した数であり、即ち、式1−7を満たす。
【0147】
【数11】
(1−7) u=a mod p
ここで、検証用データを適当なデータKとする時、Cは、アクセスチケット公開鍵Yを、法pのもとで、上記乱数zを指数としてべき乗した数と、検証用データKとの積であり、式1−8を満たす。
【0148】
【数12】
(1−8) C=YK mod p
検証用データKを証明データ検証装置10に保持せず、代わりに、その暗号化の結果であるCのみを保持するように証明データ検証装置10を構成すれば、証明データ検証装置10から検証用データが漏洩する危険を回避することができる。
【0149】
また、本実施例では、認証用データu’は認証用素データuと同一である。
【0150】
【数13】
(1−9) u’=u
3.証明データ生成装置11中の第1演算部112は、アクセスチケット記憶部113に記憶されているアクセスチケットtを取得し、受信データ記憶部111に書き込まれた法数pのもとで式1−10を実行しSを得る。
【0151】
【数14】
(1−10) S=u mod p
4.証明データ生成装置11中の指数生成部116は、ユーザ固有情報記憶部115に記憶されているユーザの固有情報eを取得し、式1−11の計算を実行する。
【0152】
【数15】
(1−11) F(e,p)
5.証明データ生成装置11中の第2演算部114は、指数生成部116で生成されたデータを用いて、式1−12の計算を実行しS’を得る。
【0153】
【数16】
(1−12) S’=uF(p,e) mod p
6.証明データ生成装置11中の証明データ生成部117は、第1および第2演算部112、114からS’およびSを得て、式1−13の計算を行いRを得る。
【0154】
【数17】
(1−13) R = S・S’mod p
7.証明データ生成装置11はRを証明データ検証装置10の受信データ記憶部102に返送する。
【0155】
8.証明データ検証装置10中の検証用演算部103(検証手段15)は、認証用データ記憶部104から認証用データCを取り出し、式1−14の計算を行う。
【0156】
【数18】
(1−14) K’=C・R−1 mod p
9.証明データ生成装置11において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0157】
10.計算されたK’は、証明データ検証装置10中の実行手段20に引き渡されるが、実行手段20はK’=Kが成立する場合に限り正規の処理を実行する。
【0158】
以下、証明データ検証装置10において、KとK’が同一であることを検証する方法について、いくつかの例を記す。
【0159】
[1].検証用データと復号結果を直接比較する構成例
図25に示す構成例では、検証手段15(検証用演算部103)は予め検証用データKを記憶しておく。検証手段15中の比較部は、この検証用データKと、認証用データを復号したデータK’とを直接比較し、K’= Kが成立する場合に限り正規の処理を実行し、成立しない場合には処理を中止するなどのエラー処理を実行する。
【0160】
この構成例では、検証すべき検証用データKそのものが装置中に現れるという安全上の弱点がある。例えば、証明データ検証装置10がユーザのPCあるいはワークステーション上で動作するプログラムとして構成されている場合、プログラムを解析してKを窃取することは、困難であっても、必ずしも不可能ではない。Kの値がユーザの知るところとなると、証明データ生成装置10の動作を模倣する装置を構成することが可能となり、なりすましによる不正アクセスが可能となる。
【0161】
[2].一方向性関数を用いた構成例
上記の欠点を改善するため、図26に示す構成例では、検証手段15が記憶している検証のためのデータを、検証用データKそのものではなく、Kに前述の一方向ハッシュ関数hを施して得られるデータh(K)とする。一方向ハッシュ関数の性質から、証明データ記憶手段に記憶されるデータyから、y=h(x)を満たすxを算出することは著しく困難である。
【0162】
検証手段15は、入力データに対し一方向ハッシュ関数を施した結果を返す変換部を有する。比較部は、認証用データを復号したデータK’をハッシュ関数の入力として得られる出力h(K’)と、記憶されているデータ(=h(K))とを比較する。
【0163】
この方法例では、検証用データKがプログラム中に現れることがなく、また、証明データ記憶手段に記憶されたh(K)からKを計算することも著しく困難であることから、上記[1]の例よりは安全であるといえる。
【0164】
しかしながら、比較部はプログラム中では条件文として構成されており、証明データ検証装置10がプログラムで、分析・改竄が容易であるような構成の場合には、該条件文をスキップするようにプログラムを改竄することが可能である点で、なお弱点を有している。
[3]復号された値が、特定のデータを復号するための復号鍵である構成例
図27に示す構成例では、検証のために記憶されているデータが、暗号化されたデータであり、認証用データを復号したデータK’は、この暗号化されたデータを復号するための鍵である。
【0165】
検証手段15は、データK’の値を、検証のために記憶されているデータを暗号化するのに用いた暗号の復号鍵として用いて復号し、その結果、暗号化されたデータが復号できた場合のみ、プログラムの実行を可能とする。
この構成でも、検証装置中に復号鍵そのものは現れないため、安全度は高くなっている。
【0166】
[4]復号された値が特定の冗長性を満たすことを確認する構成例
図28に示す構成例では、検証装置10が冗長性検証手段をもち、検証手段15は、認証用データを復号したデータK’の値を、冗長性検証手段に送る。冗長性検証手段が、そのデータが特定の冗長性を満たすことを確認した場合のみ、プログラムの実行を可能とする。
冗長性の例としては、復号されたデータがある特定のパターンを繰り返していることや、特定の位置のデータが特定の条件を満たすこと、あるいは、データが特定の言語として意味があること、等があげられる。
【0167】
[5].プログラムコード自体を暗号化する構成例
図29に示す構成例では、証明データ検証装置10が保持するプログラムのコードの一部或は全部を暗号化したデータを認証用データとして、認証用データ記憶手段104に保持する。即ち、認証用データを復号したデータK’はプログラムのコードの一部或は全部となる。
【0168】
実行手段20はデータK’を、プログラム中の予め定められた位置に埋め込み、その後、埋め込んだプログラムを実行する。証明データ生成装置11が正しいデータを返信した場合、即ち、K’がコードを正しく復号したものである場合に限ってプログラムは実行可能となる。
【0169】
実行手段20は復号されたコードを本来のプログラムに埋め込んだファイルを生成した後、そのファイルを起動してもよいが、プログラムがメモリ上に展開されている状態で、復号したコードをメモリ上のプログラムに埋め込んだのち起動する方法が、安全上は望ましい。
【0170】
この構成例では、プログラムの実行に不可欠なコードの一部或は全部が暗号化されているため、実行手段がユーザのPCあるいはワークステーション上で動作するアプリケーションプログラムとして構成されているような比較的安全性の低い場合でも、不正実行を防止することができる。
【0171】
[6].復号された値がプログラムの復号鍵である構成例
図30に示す構成例は、証明データ検証装置10がプログラムのコードの一部或は全部を暗号化したデータを保持しており、認証用データを復号したデータK’が、暗号化したプログラムコードを復号するために必要な復号鍵となっているものである。この構成によると、暗号化するコードのサイズに関わらず、データK’のサイズを一定の小さい値に抑えることが可能となり、通信のオーバヘッドを減少させることができる。
【0172】
検証手段15はデータK’を用いて、記憶している暗号化されたプログラムコードを復号する。実行手段20は、復号されたコードを、プログラム中の予め定められた位置に埋め込み、その後、埋め込んだプログラムを実行する。証明データ生成装置11が正しいデータを返信していた場合、即ち、K’によってコードが正しく復号されていた場合に限ってプログラムは実行可能となる。
【0173】
[第2の実施例]
つぎに本発明の第2の実施例について説明する。この実施例は第1の実施例の変形例であり、乱数効果を用いる点で第1の実施例と異なっている。
【0174】
本実施例では、ElGamal公開鍵暗号の構成方法、アクセスチケットt、及び認証用素データu,認証用データCの生成方法とそれぞれの満たすべき性質は、第1の実施例と同様である。
【0175】
本実施例では、認証用データ及び証明データに乱数効果を付与することにより、通信路上でこれらのデータを盗まれた場合に、再使用を不可能とするような構成例を示す。
【0176】
本実施例の証明データ生成装置11の構成方法を図2に、検証装置10の構成方法を図7に示す。また、本実施例の証明データ生成装置11の動作を図9に、検証装置の動作を図12に示す。
【0177】
図を参照してさらに本実施例を説明する。図2の証明データ生成装置11を用いる点では、第1の実施例と同じである。第7図において、検証装置10は、アクセスチケット公開鍵101、受信データ記憶部102、検証用演算部103、認証用データ記憶部104、認証用素データ記憶部105、乱数生成部106、乱数記憶部107、乱数効果除去部108、乱数効果付与部109等を含んで構成されている。
【0178】
以下、本実施例の動作について説明する。
【0179】
1.ユーザがアクセスすることによって、証明データ検証装置10が起動される。
【0180】
証明データ検証装置10の実現方法として、ユーザのPCやワークステーション上で動作するアプリケーションプログラム、ユーザのPCやワークステーションとネットワークを介して接続されたサーバ上のサーバプログラム、あるいは、ICカード・リーダ・ライターのような専用の装置のいずれも可能であることは、第1の実施例の場合と変わらない。これは、以降の実施例においても同様である。
【0181】
2.証明データ検証装置10は、認証用データu’と、アクセスチケット公開鍵記憶部101に記憶されている法数pとを、証明データ生成装置11中の受信データ記憶部111に書き込む。
【0182】
認証用素データ記憶部105には、認証用素データとしてuが記憶され、認証用データ記憶部102には認証用データCが記憶されている。
【0183】
証明データ検証装置10は、乱数生成部106によって、乱数rをアクセスチケット公開鍵記憶部101に保持されている法数pより1引いた値(p−1)と互いに素になるように生成し、乱数記憶部107に記録する。
【0184】
次いで、乱数効果付与部109は、認証用素データ記憶部105に記憶されているデータuを取得して、式2−1により認証用データu’を計算する。
【0185】
【数19】
(2−1) u’=u mod p
このように、認証用データに乱数効果を加え、証明データ生成装置11が返す証明データを検証する際に乱数効果を除去するように構成することにより、いわゆるリプレイアタックを防止することができる。これは、以下の実施例においても、同様である。
【0186】
3.証明データ生成装置11中の第1演算部112は、アクセスチケット記憶部113に記憶されているアクセスチケットtを取得し、受信データ記憶部111に書き込まれた法数pのもとで式2−2を実行しSを得る。
【0187】
【数20】
(2−2) S=u’ mod p
4.証明データ生成装置11中の指数生成部116は、ユーザ固有情報記憶部115に記憶されているユーザの固有情報eを取得し、式2−3の計算を実行する。
【0188】
【数21】
(2−3) F(p,e)
5.証明データ生成装置11中の第2演算部114は、指数生成部116で生成されたデータを用いて、式2−4の計算を実行しS’を得る。
【0189】
【数22】
(2−4) S’=u’F(p,e) mod p
6.証明データ生成装置11中の証明データ生成部117は、第1および第2演算部112、114からS’およびSを得て、式2−5の計算を行いRを得る。
【0190】
【数23】
(2−5) R = S’S mod p
7.証明データ生成装置11はRを証明データ検証装置10の受信データ記憶部102に返送する。
【0191】
8.証明データ検証装置10中の乱数効果除去部108は、乱数記憶部107から先に生成した乱数rを取り出し、まず式2−6の計算を行う。
【0192】
【数24】
Figure 0003613929
次いで、計算の結果得られたvと、認証用データ記憶部104に記憶されているCを用いて、式2−7の計算を行う。
【0193】
【数25】
(2−7) K’=C・v−1 mod p
9.証明データ生成装置11において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0194】
K’と検証用データKとの比較方法に関しては、第1の実施例と同様の方法を用いることができる。
【0195】
[第3の実施例]
本発明の第3の実施例は第2の実施例の変形例であり、乱数効果を付与するとともに復号を証明データ生成装置11側で行うものである。
【0196】
本実施例では、ElGamal公開鍵暗号の構成方法、アクセスチケットt、及び認証用素データu,認証用データCの生成方法とそれぞれの満たすべき性質は、第1の実施例と同様である。
【0197】
本実施例の証明データ生成装置の構成方法を図2に、検証装置の構成方法を図5に示す。また、本実施例の証明データ生成装置の動作を図8に、検証装置の動作を図11に示す。
【0198】
図5において、先に説明した図7等の各部と対応する個所には対応する符号を付した。
【0199】
以下、本実施例の動作について説明する。
【0200】
1.ユーザがアクセスすることによって、証明データ検証装置10が起動される。
【0201】
2.証明データ検証装置10は、認証用データu’,C’と、アクセスチケット公開鍵記憶部101に記憶されている法数pとを、証明データ生成装置11中の受信データ記憶部111に書き込む。
【0202】
認証用素データ記憶部105には、認証用素データとしてuが記憶され、認証用データ記憶部104には認証用データCが記憶されている。
【0203】
証明データ検証装置10は、乱数生成部106によって、乱数rをアクセスチケット公開鍵記憶部101に保持されている法数pより1引いた値(p−1)と互いに素になるように生成し、乱数記憶部107に記録する。
【0204】
次いで、乱数効果付与部109は、認証用素データ記憶部105に記憶されているデータuを取得して、式3−1の計算により認証用データu’を計算する。
【0205】
【数26】
(3−1) u’=u mod p
また、認証用データC’は、次のように生成される。
【0206】
認証用データ記憶部104に記憶されているデータCを取得して、式3−2の計算を行う。
【0207】
【数27】
(3−2) C’=C mod p
3.証明データ生成装置11中の第1演算部112は、アクセスチケット記憶部113に記憶されているアクセスチケットtを取得し、受信データ記憶部111に書き込まれた法数pのもとで式3−3を実行しSを得る。
【0208】
【数28】
(3−3) S=u’ mod p
4.証明データ生成装置11中の指数生成部116は、ユーザ固有情報記憶部115に記憶されているユーザの固有情報eを取得し、式3−4の計算を実行する。
【0209】
【数29】
(3−4) F(p,e)
5.証明データ生成装置11中の第2演算部114は、指数生成部116で生成されたデータを用いて、式3−5の計算を実行しS’を得る。
【0210】
【数30】
(3−5) S’=u’F(p,e) mod p
6.証明データ生成装置11中の証明データ生成部117は、第1および第2演算部112、114からS’およびSを得て、式3−6の計算を行いRを得る。
【0211】
【数31】
(3−6) R=C’(S’S)−1 mod p
7.証明データ生成装置11はRを証明データ検証装置10の受信データ記憶部102に返送する。
【0212】
8.証明データ検証装置10中の乱数効果除去部108は、乱数記憶部107から先に生成した乱数rを取り出し、式3−7の計算を行う。
【0213】
【数32】
Figure 0003613929
9.証明データ生成装置11において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と証明データKが一致し、正しく検証が行われる。
【0214】
K’と検証用データKとの比較方法に関しては、第1の実施例と同様の方法を用いることができる。
【0215】
[第4の実施例]
本発明の第4の実施例も、第2の実施例の変形例であり、乱数効果を付与するとともに、復号を検証装置10側で行う。第2の実施例とは乱数効果の付与の態様が異なる。
【0216】
本実施例では、ElGamal公開鍵暗号の構成方法、アクセスチケットt、及び認証用素データu,認証用データCの生成方法とそれぞれの満たすべき性質は、第1の実施例と同様である。
【0217】
本実施例の証明データ生成装置の構成方法を図2に、検証装置の構成方法を図7に示す。また、本実施例の証明データ生成装置の動作を図9に、検証装置の動作を図13に示す。
【0218】
以下、本実施例の動作について説明する。
【0219】
1.ユーザがアクセスすることによって、証明データ検証装置10が起動される。
【0220】
2.証明データ検証装置10は、認証用データu’と、アクセスチケット公開鍵記憶部101に記憶されている法数pとを、証明データ生成装置11中の受信データ記憶部111に書き込む。
【0221】
認証用素データ記憶部105には、認証用素データとしてuが記憶され、認証用データ記憶部104には認証用データCが記憶されている。
【0222】
証明データ検証装置10は、乱数生成部106によって、乱数rを生成し、乱数記憶部107に記録する。
【0223】
次いで、乱数効果付与部109は、認証用素データ記憶部105に記憶されているデータuを取得して、式4−1により認証用データu’を計算する。
【0224】
【数33】
(4−1) u’=u・a mod p
3.証明データ生成装置11中の第1演算部112は、アクセスチケット記憶部113に記憶されているアクセスチケットtを取得し、受信データ記憶部111に書き込まれた法数pのもとで式4−2を実行しSを得る。
【0225】
【数34】
(4−2) S=u’ mod p
4.証明データ生成装置11中の指数生成部116は、ユーザ固有情報記憶部115に記憶されているユーザの固有情報eを取得し、式4−3の計算を実行する。
【0226】
【数35】
(4−3) F(p,e)
5.証明データ生成装置11中の第2演算部114は、指数生成部116で生成されたデータを用いて、式4−4の計算を実行しS’を得る。
【0227】
【数36】
(4−4) S’=u’F(p,e) mod p
6.証明データ生成装置11中の証明データ生成部117は、第1および第2演算部112、114からS’およびSを得て、式4−5の計算を行いRを得る。
【0228】
【数37】
(4−5) R=S’S mod p
7.証明データ生成装置11はRを証明データ検証装置10の受信データ記憶部102に返送する。
【0229】
8.証明データ検証装置10中の乱数効果除去部108は、乱数記憶部107から先に生成した乱数rを取り出し、まず式4−6の計算を行う。
【0230】
【数38】
(4−6) v=Y−r・R mod p
次に認証用データ記憶部104からCを取り出して、式4−7の計算を行う。
【0231】
【数39】
(4−7)K’=C・v−1 mod p
9.証明データ生成装置11において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0232】
K’とKとの比較方法に関しては、第1の実施例と同様の方法を用いることができる。
【0233】
[第5の実施例]
本発明の第5の実施例も第2の実施例の変形例であり、乱数効果を付与するとともに復号を証明データ生成装置11側で行う。
【0234】
本実施例では、ElGamal公開鍵暗号の構成方法、アクセスチケットt、及び認証用素データu,認証用データCの生成方法とそれぞれの満たすべき性質は、第1の実施例と同様である。
【0235】
本実施例の証明データ生成装置の構成方法を図2に、検証装置の構成方法を図5に示す。また、本実施例の証明データ生成装置の動作を図8に、検証装置の動作を図14に示す。
【0236】
以下、本実施例の動作について説明する。
【0237】
1.ユーザがアクセスすることによって、証明データ検証装置10が起動される。
【0238】
2.証明データ検証装置10は、認証用データu’,Cと、アクセスチケット公開鍵記憶部101に記憶されている法数pとを、証明データ生成装置11中の受信データ記憶部111に書き込む。
【0239】
認証用素データ記憶部105には、認証用素データとしてuが記憶され、認証用データ記憶部104には認証用データCが記憶されている。
【0240】
証明データ検証装置10は、乱数生成部106によって、乱数rを生成し、乱数記憶部107に記録する。
【0241】
次いで、乱数効果付与部109は、認証用素データ記憶部105に記憶されているデータuを取得して、式5−1の計算により認証用データu’を計算する。
【0242】
【数40】
(5−1) u’=u・a mod p
3.証明データ生成装置11中の第1演算部112は、アクセスチケット記憶部113に記憶されているアクセスチケットtを取得し、受信データ記憶部111に書き込まれた法数pのもとで式5−2を実行しSを得る。
【0243】
【数41】
(5−2) S=u’ mod p
4.証明データ生成装置11中の指数生成部116は、ユーザ固有情報記憶部115に記憶されているユーザの固有情報eを取得し、式5−3の計算を実行する。
【0244】
【数42】
(5−3) F(p,e)
5.証明データ生成装置11中の第2演算部114は、指数生成部116で生成されたデータを用いて、式5−4の計算を実行しS’を得る。
【0245】
【数43】
(5−4) S’=u’F(p,e) mod p
6.証明データ生成装置11中の証明データ生成部117は、第1および第2演算部112、114からS’およびSを得て、式5−5の計算を行いRを得る。
【0246】
【数44】
(5−5) R=C’(S’S)−1 mod p
7.証明データ生成装置11はRを証明データ検証装置10の受信データ記憶部102に返送する。
【0247】
8.証明データ検証装置10中の乱数効果除去部108は、乱数記憶部107から先に生成した乱数rを取り出し、アクセスチケット公開鍵記憶部101からYを取り出して、式5−6の計算を行う。
【0248】
【数45】
(5−6) K’=Y・R mod p
9.証明データ生成装置11において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0249】
K’と検証用データKとの比較方法に関しては、第1の実施例と同様の方法を用いることができる。
【0250】
[第6の実施例]
本発明における第6の実施例では、ElGamal公開鍵暗号の代わりに、有限体上の楕円曲線上で定義される暗号系を用いる。また乱数効果を付与せず、復号を証明データ検証装置10側で行う。
【0251】
本実施例では、p個の元を持つ有限体Fp(pは3より大きい素数をべき乗した値)上の楕円曲線E:y=x+ax+b(ただし、4a+27b≠0)をえらび、E上の一点をPとする。
【0252】
ここで、アクセス資格認証の特徴情報をXとし、点Yを式6−1のようにして生成する。
【0253】
【数46】
(6−1) Y=XP
次に、ユーザを識別するために、ユーザ毎に異なる数であるユーザ固有情報eを定める。アクセスチケットtは次の式6−2に基づいて生成される。
【0254】
【数47】
(6−2) t=X−F(p,e,a,b)
Xをアクセスチケット秘密鍵、Yをアクセスチケット公開鍵と呼ぶ。
【0255】
また、E上の点uと点Cを以下のように定める。
点uは、上記点Pを所定の乱数z倍した数であり、即ち、式6−3を満たす。
【0256】
【数48】
(6−3) u=zP
検証用データをKとし、KをE上の点Lに対応させる。点Cはアクセスチケット公開鍵Yを、上記乱数z倍した数と、点Lとの和であり、式6−4を満たす。
【0257】
【数49】
(6−4) C=L+zY
データKを点Lに対応させる方法としては、例えば、「暗号・ゼロ知識証明・数論」(情報処理学会監修/岡本・大田編)共立出版のpp.231に述べられているような方法を用いることができる。
【0258】
検証用データKを証明データ検証装置に保持せず、代わりに、その暗号化の結果であるCのみを保持するように証明データ検証装置を構成すれば、証明データ検証装置から検証用データKが漏洩する危険を回避することができる。
【0259】
本実施例の証明データ生成装置の構成方法を図6に、証明データ検証装置の構成方法を図3に示す。また、本実施例の証明データ生成装置の動作を図17に、証明データ検証装置の動作を図18に示す。
【0260】
図6の証明データ生成装置11の構成は基本的には図2等の証明データ生成装置11と同様であり、対応する箇所に対応する符号を付した。なお、図6では図2の指数生成部116に変えて倍数生成部119を用いる。
【0261】
以下に本実施例の動作を示す。
【0262】
1.ユーザがアクセスすることによって、証明データ検証装置10が起動される。
【0263】
証明データ検証装置10の実現方法として、ユーザのPCやワークステーション上で動作するアプリケーションプログラム、ユーザのPCやワークステーションとネットワークを介して接続されたサーバ上のサーバプログラム、あるいは、ICカード・リーダ・ライターのような専用の装置のいずれも可能であることは、第1の実施例の場合と変わらない。これは、以下のすべての実施例においても同様である。
【0264】
2.認証用素データ記憶部105には、認証用素データとしてE上の点uが、また、認証用データ記憶部104には、認証用データとしてE上の点Cが記憶されている。
【0265】
証明データ検証装置10は、認証用データu’と、アクセスチケット公開鍵記憶部101に記憶されている、楕円曲線Eを定義するパラメータp,a,bを、証明データ生成装置11中の受信データ記憶部111に書き込む。
【0266】
本実施例では、認証用データu’は認証用素データuである。
【0267】
【数50】
(6−5) u’=u
3.証明データ生成装置11中の第1演算部112は、アクセスチケット記憶部113に記憶されているアクセスチケットtを取得し、式6−6を実行してSを得る。
【0268】
【数51】
(6−6) S=tu’
4.証明データ生成装置11中の倍数生成部119は、ユーザ固有情報記憶部115に記憶されているユーザの固有情報eを取得し、式6−7の計算を実行する。
【0269】
【数52】
(6−7) F(p,e,a,b)
5.証明データ生成装置11中の第2演算部114は、倍数生成部119で生成されたデータを用いて、式6−8の計算を実行しS’を得る。
【0270】
【数53】
(6−8) S’=F(p,e,a,b)u’
6.証明データ生成装置11中の証明データ生成部117は、第1および第2演算部112、114からS’およびSを得て、式6−9の計算を行いRを得る。
【0271】
【数54】
(6−9) R=S+S’
7.証明データ生成装置11はRを証明データ検証装置10の受信データ記憶部102に返送する。
【0272】
8.証明データ検証装置10中の検証用演算部103は、認証用データ記憶部104から認証用データCを取り出し、式6−10の計算を行う。
【0273】
【数55】
(6−10) L’=C−R
9.検証用演算部103は点L’に対応するデータK’を計算する。
【0274】
点L’をデータK’に対応させる方法としては、例えば前述した、「暗号・ゼロ知識証明・数論」(情報処理学会監修/岡本・大田編)共立出版 のpp.231に述べられているような方法を用いることができる。
【0275】
証明データ生成装置11において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0276】
K’と検証用データKとの比較方法に関しては、第1の実施例と同様の方法を用いることができる。
【0277】
なお、本実施例では、楕円曲線Eをy=x+ax+bとしたがそれ以外にも以下のような構成とすることも可能である。
【0278】
1) 標数2の有限体上の楕円曲線Eをy+cy≡x+ax+b mod p(ただし、b≠0)とし、楕円曲線を定義するパラメータとして、本実施例で示したものに加えてcを証明データ生成装置に送付し、証明データ生成装置はユーザ固有情報を用いてF(p,e,a,b,c)を計算する。
【0279】
2) 標数2の有限体上の楕円曲線Eをy+xy≡x+ax+b mod p(ただし、a≠0)とする。
【0280】
3) 標数3の有限体上の楕円曲線Eをy≡x+ax+bx+c modpとし、楕円曲線を定義するパラメータとして、本実施例で示したものに加えてcを証明データ生成装置に送付し、証明データ生成装置はユーザ固有情報を用いてF(p,e,a,b,c)を計算し、これを元にS’を計算する。
【0281】
これらの構成方法は、以下のすべての実施例に対して、同様に適用可能である。
【0282】
[第7の実施例]
本発明の第の実施例は、第6の実施例の変形例であり、復号を証明データ生成装置側で行う点で第6の実施例と異なる。
本実施例では、有限体上での楕円曲線の設定方法と楕円曲線E上での暗号の構成方法、アクセスチケットt、及び認証用素データu,認証用データCの生成方法と、それぞれの満たすべき性質は、第6の実施例と同様である。
【0283】
また、楕円曲線上の点とデータを対応させる方法についても、第6の実施例と同様の方法を用いることができる。
【0284】
本実施例の証明データ生成装置の構成方法を図6に、証明データ検証装置の構成方法を図4に示す。また、本実施例の証明データ生成装置の動作を図16に、証明データ検証装置の動作を図19に示す。なお、図4において図3等の証明データ検証装置10と対応する箇所には対応する符号を付した。
【0285】
以下、本実施例の動作について説明する。
【0286】
1.ユーザがアクセスすることによって、証明データ検証装置10が起動される。
【0287】
2.認証用素データ記憶部105には、認証用素データとしてE上の点uが、また、認証用データ記憶部104には、認証用データとしてE上の点Cが記憶されている。
【0288】
証明データ検証装置10は、認証用データu,Cと、アクセスチケット公開鍵記憶部101に記憶されている、楕円曲線Eを定義するパラメータp,a,bを、証明データ生成装置11中の受信データ記憶部111に書き込む。
【0289】
3.証明データ生成装置11中の第1演算部112は、アクセスチケット記憶部113に記憶されているアクセスチケットtを取得し、式7−1を実行してSを得る。
【0290】
【数56】
(7−1) S=tu
4.証明データ生成装置11中の倍数生成部119は、ユーザ固有情報記憶部115に記憶されているユーザの固有情報eを取得し、式7−2の計算を実行する。
【0291】
【数57】
(7−2) F(p,e,a,b)
5.証明データ生成装置11中の第2演算部114は、倍数生成部119で生成されたデータを用いて、式7−3の計算を実行しS’を得る。
【0292】
【数58】
(7−3) S’=F(p,e,a,b)u
6.証明データ生成装置11中の証明データ生成部117は、第1および第2演算部112、114からS’およびSを得て、式7−4の計算を行いRを得る。
【0293】
【数59】
(7−4) R=C− S− S’
7.証明データ生成装置11はRを証明データ検証装置10の受信データ記憶部102に返送する。
【0294】
8.検証用演算部103は点Rに対応するデータK’を計算する。証明データ生成装置11において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0295】
K’と検証用データKとの比較方法に関しては、第1の実施例と同様の方法を用いることができる。
【0296】
[第8の実施例]
本発明の第8の実施例も第6の実施例の変形例であり、乱数効果を付与するとともに、復号を証明データ検証装置10側で行う。
【0297】
本実施例では、有限体上での楕円曲線の設定方法と楕円曲線E上での暗号の構成方法、アクセスチケットt、及び認証用素データu,認証用データCの生成方法と、それぞれの満たすべき性質は、第6の実施例と同様である。また、楕円曲線上の点とデータを対応させる方法についても、第6の実施例と同様の方法を用いることができる。
【0298】
なお、本実施例では、点Pの位数をqとする。
【0299】
本実施例の証明データ生成装置11の構成方法を図6に、証明データ検証装置10の構成方法を図7に示す。また、本実施例の証明データ生成装置11の動作を図17に、証明データ検証装置10の動作を図21に示す。
【0300】
以下、本実施例の動作について説明する。
【0301】
1.ユーザがアクセスすることによって、証明データ検証装置10が起動される。
【0302】
2.認証用素データ記憶部105には、認証用素データとしてE上の点uが、また、認証用データ記憶部104には、認証用データとしてE上の点Cが記憶されている。
【0303】
証明データ検証装置10は、認証用データu’と、アクセスチケット公開鍵記憶部101に記憶されている、楕円曲線Eを定義するパラメータp,a,bを、証明データ生成装置11中の受信データ記憶部111に書き込む。
【0304】
証明データ検証装置10は、乱数生成部106によって、乱数rをアクセスチケット公開鍵記憶部101に保持されている点Pの位数qと互いに素になるように生成し、乱数記憶部107に記録する。
【0305】
ここで、認証用データu’は、次のように生成される。すなわち、乱数効果付与部109は、認証用素データ記憶部105に記憶されているデータuを取得して、式8−1の計算を行う。
【0306】
【数60】
(8−1) u’=ru
このように、認証用データに乱数効果を加え、証明データ生成装置11が返す証明データを検証する際に乱数効果を除去するように構成することにより、いわゆるリプレイアタックを防止することができる。これは、以下の実施例においても、同様である。
【0307】
3.証明データ生成装置11中の第1演算部112は、アクセスチケット記憶部113に記憶されているアクセスチケットtを取得し、式8−2を実行してSを得る。
【0308】
【数61】
(8−2) S=tu’
4.証明データ生成装置11中の倍数生成部119は、ユーザ固有情報記憶部115に記憶されているユーザの固有情報eを取得し、式8−3の計算を実行する。
【0309】
【数62】
(8−3) F(p,e,a,b)
5.証明データ生成装置11中の第2演算部114は、倍数生成部119で生成されたデータを用いて、式8−4の計算を実行しS’を得る。
【0310】
【数63】
(8−4) S’=F(p,e,a,b)u’
6.証明データ生成装置11中の証明データ生成部117は、第1および第2演算部112、114からS’およびSを得て、式8−5の計算を行いRを得る。
【0311】
【数64】
(8−5) R=S+S’
7.証明データ生成装置11はRを証明データ検証装置10の受信データ記憶部102に返送する。
【0312】
8.証明データ検証装置10中の乱数効果除去部108は、乱数記憶部107から先に生成した乱数rを取り出して、まず式8−6の計算を行う。
【0313】
【数65】
(8−6) v=(r−1 mod q)R
次いで、計算の結果得られたvと、認証用データ記憶部104に記憶されているCを用いて、式8−7の計算を行う。
【0314】
【数66】
(8−7) L’=C−v
9.検証用演算部103は点L’に対応するデータK’を計算する。証明データ生成装置11において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0315】
K’と検証用データKとの比較方法に関しては、第1の実施例と同様の方法を用いることができる。
【0316】
[第9の実施例]
本発明の第9の実施例は第7の実施例の変形例であり、乱数効果を付与するとともに、復号を証明データ生成装置11側で行う。
【0317】
本実施例では、有限体上での楕円曲線の設定方法と楕円曲線E上での暗号の構成方法、アクセスチケットt、及び認証用素データu,認証用データCの生成方法と、それぞれの満たすべき性質は、第6の実施例と同様である。
【0318】
また、楕円曲線上の点とデータを対応させる方法についても、第6の実施例と同様の方法を用いることができる。
【0319】
なお、本実施例では、点Pの位数をqとする。
【0320】
本実施例の証明データ生成装置11の構成方法を図6に、証明データ検証装置10の構成方法を図5に示す。また、本実施例の証明データ生成装置11の動作を図16に、証明データ検証装置10の動作を図20に示す。
【0321】
以下、本実施例の動作について説明する。
【0322】
1.ユーザがアクセスすることによって、証明データ検証装置10が起動される。
【0323】
2.認証用素データ記憶部105には、認証用素データとしてE上の点uが、また、認証用データ記憶部104には、認証用データとしてE上の点Cが記憶されている。
【0324】
証明データ検証装置11は、認証用データu’,C’と、アクセスチケット公開鍵記憶部101に記憶されている、楕円曲線Eを定義するパラメータp,a,bを、証明データ生成装置11中の受信データ記憶部111に書き込む。
【0325】
証明データ検証装置10は、乱数生成部106によって、乱数rをアクセスチケット公開鍵記憶部101に保持されている点Pの位数qと互いに素になるように生成し、乱数記憶部107に記録する。
【0326】
ここで、認証用データu’は、次のように生成される。すなわち、乱数効果付与部109は、認証用素データ記憶部105に記憶されているデータuを取得して、式9−1の計算を行う。
【0327】
【数67】
(9−1) u’=ru
また、認証用データC’は、次のように生成される。認証用データ記憶部104に記憶されているデータCを取得して、式9−2の計算を行う。
【0328】
【数68】
(9−2) C’=rC
3.証明データ生成装置11中の第1演算部112は、アクセスチケット記憶部113に記憶されているアクセスチケットtを取得し、式9−3を実行してSを得る。
【0329】
【数69】
(9−3) S=tu’
4.証明データ生成装置11中の倍数生成部119は、ユーザ固有情報記憶部115に記憶されているユーザの固有情報eを取得し、式9−4の計算を実行する。
【0330】
【数70】
(9−4) F(p,e,a,b)
5.証明データ生成装置11中の第2演算部114は、倍数生成部119で生成されたデータを用いて、式9−5の計算を実行しS’を得る。
【0331】
【数71】
(9−5) S’=F(p,e,a,b)u’
6.証明データ生成装置11中の証明データ生成部117は、第1および第2演算部112、114からS’およびSを得て、式9−6の計算を行いRを得る。
【0332】
【数72】
(9−6) R=C’−S−S’
7.証明データ生成装置11はRを証明データ検証装置10の受信データ記憶部102に返送する。
【0333】
8.証明データ検証装置10中の乱数効果除去部108は、乱数記憶部107から先に生成した乱数rを取り出し、アクセスチケット公開鍵記憶部101から点Pの位数qを取り出して、式9−7の計算を行う。
【0334】
【数73】
(9−7) L’=(r−1 mod q)R
9.検証用演算部103は点L’に対応するデータK’を計算する。証明データ生成装置11において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0335】
K’と検証用データとの比較方法に関しては、第1の実施例と同様の方法を用いることができる。
【0336】
[第10の実施例]
本発明の第10の実施例は、第8の実施例と同様に第6の実施例の変形例を示す。本実施例は乱数効果を付与するとともに、復号を証明データ検証装置10側で行う。第8の実施例とは乱数効果の手法が異なる。
【0337】
本実施例では、有限体上での楕円曲線の設定方法と楕円曲線E上での暗号の構成方法、アクセスチケットt、及び認証用素データu,認証用データCの生成方法と、それぞれの満たすべき性質は、第6の実施例と同様である。
【0338】
また、楕円曲線上の点とデータを対応させる方法についても、第6の実施例と同様の方法を用いることができる。
【0339】
本実施例の証明データ生成装置の構成方法を図6に、証明データ検証装置の構成方法を図7に示す。また、本実施例の証明データ生成装置の動作を図17に、証明データ検証装置の動作を図22に示す。
【0340】
以下、本実施例の動作について説明する。
【0341】
1.ユーザがアクセスすることによって、証明データ検証装置10が起動される。
【0342】
2.認証用素データ記憶部105には、認証用素データとしてE上の点uが、また、認証用データ記憶部104には、認証用データとしてE上の点Cが記憶されている。
【0343】
証明データ検証装置10は、認証用データu’と、アクセスチケット公開鍵記憶部101に記憶されている、楕円曲線Eを定義するパラメータp,a,bを、証明データ生成装置11中の受信データ記憶部111に書き込む。
【0344】
証明データ検証装置10は、乱数生成部106によって、乱数rを生成し、乱数記憶部107に記録する。
【0345】
ここで、認証用データu’は、次のように生成される。すなわち乱数効果付与部109は、認証用素データ記憶部105に記憶されているデータuを取得して、式10−1の計算を行う。
【0346】
【数74】
(10−1) u’=u+rP
3.証明データ生成装置11中の第1演算部112は、アクセスチケット記憶部113に記憶されているアクセスチケットtを取得し、式10−2を実行しSを得る。
【0347】
【数75】
(10−2) S=tu’
4.証明データ生成装置11中の倍数生成部119は、ユーザ固有情報記憶部115に記憶されているユーザの固有情報eを取得し、式10−3の計算を実行する。
【0348】
【数76】
(10−3) F(p,e,a,b)
5.証明データ生成装置11中の第2演算部114は、倍数生成部119で生成されたデータを用いて、式10−4の計算を実行しS’を得る。
【0349】
【数77】
(10−4) S’=F(p,e,a,b)u’
6.証明データ生成装置11中の証明データ生成部117は、第1および第2演算部112、114からS’およびSを得て、式10−5の計算を行いRを得る。
【0350】
【数78】
(10−5) R=S+S’
7.証明データ生成装置11はRを証明データ検証装置10の受信データ記憶部102に返送する。
【0351】
8.証明データ検証装置10中の乱数効果除去部108は、乱数記憶部107から先に生成した乱数rを取り出し、まず式10−6の計算を行う。
【0352】
【数79】
(10−6) v=R−rY
次に認証用データ記憶部104からCを取り出して、上記vの値を用いて式10−7の計算を行う。
【0353】
【数80】
(10−7) L’=C−v
9.検証手段は点L’に対応するデータK’を計算する。証明データ生成装置11において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0354】
K’と検証用データKとの比較方法に関しては、第1の実施例と同様の方法を用いることができる。
【0355】
[第11の実施例]
本発明の第11の実施例は第7の実施例の変形例であり、乱数効果を付与するとともに復号を証明データ生成装置11側で行うものである。
【0356】
本実施例では、有限体上での楕円曲線の設定方法と楕円曲線E上での暗号の構成方法、アクセスチケットt、及び認証用素データu,認証用データCの生成方法と、それぞれの満たすべき性質は、第6の実施例と同様である。
【0357】
また、楕円曲線上の点とデータを対応させる方法についても、第6の実施例と同様の方法を用いることができる。
【0358】
本実施例の証明データ生成装置11の構成方法を図6に、証明データ検証装置10の構成方法を図5に示す。また、本実施例の証明データ生成装置11の動作を図16に、証明データ検証装置10の動作を図23に示す。
【0359】
以下、本実施例の動作について説明する。
【0360】
1.ユーザがアクセスすることによって、証明データ検証装置10が起動される。
【0361】
2.認証用素データ記憶部105には、認証用素データとしてE上の点uが、また、認証用データ記憶部104には、認証用データとしてE上の点Cが記憶されている。
【0362】
証明データ検証装置10は、認証用データu’,C’と、アクセスチケット公開鍵記憶部101に記憶されている、楕円曲線Eを定義するパラメータp,a,bを、証明データ生成装置11中の受信データ記憶部111に書き込む。ただし、C’=Cである。
【0363】
証明データ検証装置は、乱数生成部によって、乱数rを生成し、乱数記憶部に記録する。
ここで、認証用データu’は、次のように生成される。すなわち、乱数効果付与部109は、認証用素データ記憶部105に記憶されているデータuを取得して、式11−1の計算を行う。
【0364】
【数81】
(11−1) u’=u+ra
3.証明データ生成装置11中の第1演算部112は、アクセスチケット記憶部113に記憶されているアクセスチケットtを取得し、式11−2を実行してSを得る。
【0365】
【数82】
(11−2) S=tu’
4.証明データ生成装置11中の倍数生成部119は、ユーザ固有情報記憶部115に記憶されているユーザの固有情報eを取得し、式11−3の計算を実行する。
【0366】
【数83】
(11−3) F(p,e,a,b)
5.証明データ生成装置11中の第2演算部114は、倍数生成部119で生成されたデータを用いて、式11−4の計算を実行しS’を得る。
【0367】
【数84】
(11−4) S’=F(p,e,a,b)u’
6.証明データ生成装置11中の証明データ生成部117は、第1および第2演算部112、114からS’およびSを得て、式11−5の計算を行いRを得る。
【0368】
【数85】
(11−5) R=C’−S−S’
7.証明データ生成装置11はRを証明データ検証装置10の受信データ記憶部102に返送する。
【0369】
8.証明データ検証装置10中の乱数効果除去部108は、乱数記憶部107から先に生成した乱数rを取り出し、アクセスチケット公開鍵記憶部101からYを取り出して、式11−6の計算を行う。
【0370】
【数86】
(11−6) L’=R+rY
9.検証手段は点L’に対応するデータK’を計算する。証明データ生成装置11において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0371】
K’と検証用データKとの比較方法に関しては、第1の実施例と同様の方法を用いることができる。
【0372】
[第12の実施例]
本発明の第12の実施例は第6の実施例の変形例であり、乱数効果を付与するとともに、証明データ検証装置10側で復号を行うようにしている。
【0373】
本実施例では、有限体上での楕円曲線の設定方法と楕円曲線E上での暗号の構成方法、及び認証用素データu,認証用データCの生成方法と、それぞれの満たすべき性質は、第6の実施例と同様である。本実施例では、アクセスチケットtは以下の式で生成される。
【数87】
(12−0) t=X−F(p,e,a,b,Y)
【0374】
また、楕円曲線上の点とデータを対応させる方法についても、第6の実施例と同様の方法を用いることができる。
【0375】
本実施例の証明データ生成装置の構成方法を図6に、証明データ検証装置の構成方法を図7に示す。また、本実施例の証明データ生成装置の動作を図15に、証明データ検証装置の動作を図24に示す。
【0376】
以下、本実施例の動作について説明する。
【0377】
1.ユーザがアクセスすることによって、証明データ検証装置10が起動される。
【0378】
2.認証用素データ記憶部105には、認証用素データとしてE上の点uが、また、認証用データ記憶部104には、認証用データとしてE上の点Cが記憶されている。
【0379】
証明データ検証装置10は、認証用データu’と、アクセスチケット公開鍵記憶部101に記憶されている、楕円曲線Eを定義するパラメータp,a,bと、公開鍵Yとを、証明データ生成装置11中の受信データ記憶部111に書き込む。
【0380】
証明データ検証装置10は、乱数生成部106によって、乱数rを生成し、乱数記憶部107に記録する。
【0381】
ここで、認証用データu’は、次のように生成される。すなわち、乱数効果付与部109は、認証用素データ記憶部105に記憶されているデータuを取得して、式12−1の計算を行う。
【0382】
【数88】
(12−1) u’=u+rP
3.証明データ生成装置11中の第1演算部112は、アクセスチケット記憶部113に記憶されているアクセスチケットtを取得し、式12−2を実行しSを得る。
【0383】
【数89】
(12−2) S=tu’
4.証明データ生成装置11中の倍数生成部119は、ユーザ固有情報記憶部115に記憶されているユーザの固有情報eを取得し、式12−3の計算を実行する。
【0384】
【数90】
(12−3) F(p,e,a,b,Y)
5.証明データ生成装置11中の第2演算部114は、倍数生成部119で生成されたデータを用いて、式12−4の計算を実行しS’を得る。
【0385】
【数91】
(12−4) S’=F(p,e,a,b,Y)u’
6.証明データ生成装置11中の証明データ生成部117は、第1および第2演算部112、114からS’およびSを得て、式12−5の計算を行いRを得る。
【0386】
【数92】
(12−5) R=S+S’
7.証明データ生成装置11はRを証明データ検証装置10の受信データ記憶部102に返送する。
8.証明データ検証装置10中の乱数効果除去部108は、乱数記憶部107から先に生成した乱数rを取り出し、まず式12−6の計算を行う。
【0387】
【数93】
(12−6) v=R−rY
次に認証用データ記憶部104からCを取り出して、上記vの値を用いて式12−7の計算を行う。
【0388】
【数94】
(12−7)L’=C−v
9.検証用演算部103は点L’に対応するデータK’を計算する。証明データ生成装置11において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0389】
K’と検証用データKとの比較方法に関しては、第1の実施例と同様の方法を用いることができる。
【0390】
[第13の実施例]
本発明の第13の実施例は第6の実施例の変形例であり、乱数効果を付与しない。また復号を証明データ検証装置10側で行う。
【0391】
本実施例では、有限体上での楕円曲線の設定方法と楕円曲線E上での暗号の構成方法、アクセスチケットt、及び認証用素データuの生成方法と、それぞれの満たすべき性質は、第6の実施例と同様である。
【0392】
本実施例では、証明データをKとする。そして、式13−1により、アクセスチケット公開鍵Yを、上記所定の乱数z倍したE上の点C(c,c)を生成する。
【0393】
【数95】
(13−1) C(c,c)=zY
さらに、前記証明データKと点Cのx座標の値cxとの排他的論理和をとったものを、認証用データcとする。
【0394】
【数96】
Figure 0003613929
本実施例の証明データ生成装置の構成方法を図6に、証明データ検証装置の構成方法を図3に示す。また、本実施例の証明データ生成装置の動作を図17に、証明データ検証装置の動作を図31に示す。
【0395】
以下に本実施例の動作を示す。
【0396】
1.ユーザがアクセスすることによって、証明データ検証装置10が起動される。
【0397】
2.認証用データ記憶部104には、認証用データとしてcが記憶されている。
【0398】
証明データ検証装置10は、認証用データu’(=u)と、アクセスチケット公開鍵記憶部101に記憶されている、楕円曲線Eを定義するパラメータp,a,bを、証明データ生成装置11中の受信データ記憶部111に書き込む。
【0399】
3.証明データ生成装置11中の第1演算部112は、アクセスチケット記憶部113に記憶されているアクセスチケットtを取得し、式13−3を実行してSを得る。
【0400】
【数97】
(13−3) S=tu’
4.証明データ生成装置11中の倍数生成部119は、ユーザ固有情報記憶部115に記憶されているユーザの固有情報eを取得し、式13−4の計算を実行する。
【0401】
【数98】
(13−4) F(p,e,a,b)
5.証明データ生成装置11中の第2演算部114は、倍数生成部119で生成されたデータを用いて、式13−5の計算を実行しS’を得る。
【0402】
【数99】
(13−5) S’=F(p,e,a,b)u’
6.証明データ生成装置11中の証明データ生成部117は、第1および第2演算部112、114からR’およびSを得て、式13−6の計算を行いRを得る。
【0403】
【数100】
(13−6) R=S+S’
7.証明データ生成装置11はRを証明データ検証装置10の受信データ記憶部102に返送する。
【0404】
8.証明データ検証装置10中の検証用演算部103は、認証データ記憶部104から認証用データcを取り出し、証明データRのx座標vとの排他的論理和K’を計算する。
【0405】
【数101】
Figure 0003613929
(ただし点Rの座標を(v,v)とする)
9.証明データ生成装置11において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0406】
K’と検証用データKとの比較方法に関しては、第1の実施例と同様の方法を用いることができる。
【0407】
[第14の実施例]
本発明の第14の実施例は、第13の実施例の変形例であり、乱数効果を付与しない。復号を証明データ生成装置11側で行う。
【0408】
本実施例では、有限体上での楕円曲線の設定方法と楕円曲線E上での暗号の構成方法、アクセスチケットt、及び認証用素データu、認証用データcの生成方法と、それぞれの満たすべき性質は、第13の実施例と同様である。
【0409】
本実施例の証明データ生成装置の構成方法を図6に、証明データ検証装置の構成方法を図4に示す。また、本実施例の証明データ生成装置の動作を図35に、証明データ検証装置の動作を図32に示す。
【0410】
以下、本実施例の動作について説明する。
【0411】
1.ユーザがアクセスすることによって、証明データ検証装置10が起動される。
【0412】
2.証明データ検証装置10は、認証用データu’(=u)およびC’(=c)と、アクセスチケット公開鍵記憶部101に記憶されている、楕円曲線Eを定義するためのパラメータp,a,bを、証明データ生成装置11中の受信データ記憶部111に書き込む。
【0413】
3.証明データ生成装置11中の第1演算部112は、アクセスチケット記憶部113に記憶されているアクセスチケットtを取得し、式14−1を実行してSを得る。
【0414】
【数102】
(14−1) S=tu’
4.証明データ生成装置11中の倍数生成部119は、ユーザ固有情報記憶部115に記憶されているユーザの固有情報eを取得し、式14−2の計算を実行する。
【0415】
【数103】
(14−2) F(p,e,a,b)
5.証明データ生成装置11中の第2演算部114は、倍数生成部119で生成されたデータを用いて、式14−3の計算を実行しS’を得る。
【0416】
【数104】
(14−3) S’=F(p,e,a,b)u’
6.証明データ生成装置11中の証明データ生成部117は、第1および第2演算部112、114からS’およびSを得て、式14−4の計算を行いLを得る。
【0417】
【数105】
(14−4) L=S+S’
次に、証明用データcと、点Lのx座標vを用いて、式14−5の計算を行い、Rを得る。
【0418】
【数106】
Figure 0003613929
(ただし点Lの座標を(v,v)とする)
7.証明データ生成装置11はRを証明データ検証装置10の受信データ記憶部102に返送する。
【0419】
8.証明データ生成装置11において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、受信したRと検証用データKが一致し、正しく検証が行われる。
【0420】
Rと検証用データKとの比較方法に関しては、第1の実施例と同様の方法を用いることができる。
【0421】
[第15の実施例]
本発明の第15の実施例は第13の実施例の変形例であり、復号を証明データ検証装置10側で行う。
【0422】
本実施例では、有限体上での楕円曲線の設定方法と楕円曲線E上での暗号の構成方法、アクセスチケットt、及び認証用素データu,認証用データcの生成方法と、それぞれの満たすべき性質は、第13の実施例と同様である。なお、本実施例では、点Pの位数をqであるとする。
【0423】
本実施例の証明データ生成装置の構成方法を図6に、証明データ検証装置の構成方法を図7に示す。また、本実施例の証明データ生成装置の動作を図17に、証明データ検証装置の動作を図33に示す。
【0424】
以下、本実施例の動作について説明する。
【0425】
1.ユーザがアクセスすることによって、証明データ検証装置10が起動される。
【0426】
2.認証用データ記憶部104には、認証用データとしてcが記憶されている。
【0427】
証明データ検証装置10は、乱数生成部106によって、乱数rをアクセスチケット公開鍵記憶部101に保持されている点Pの位数qと互いに素になるように生成し、乱数記憶部107に記録する。
【0428】
次いで、乱数効果付与部109は、認証用素データ記憶部105に記憶されているデータuを取得して、式15−1の計算を行う。
【0429】
【数107】
(15−1) u’=ru
証明データ検証装置10は、こうして生成された認証用データu’と、アクセスチケット公開鍵記憶部101に記憶されている、楕円曲線Eを定義するパラメータp,a,bを、証明データ生成装置11中の受信データ記憶部111に書き込む。
【0430】
3.証明データ生成装置11中の第1演算部112は、アクセスチケット記憶部113に記憶されているアクセスチケットtを取得し、式15−2を実行してSを得る。
【0431】
【数108】
(15−2) S=tu’
4.証明データ生成装置11中の倍数生成部119は、ユーザ固有情報記憶部115に記憶されているユーザの固有情報eを取得し、式15−3の計算を実行する。
【0432】
【数109】
(15−3) F(p,e,a,b)
5.証明データ生成装置11中の第2演算部114は、倍数生成部119で生成されたデータを用いて、式15−4の計算を実行しS’を得る。
【0433】
【数110】
(15−4) S’=F(p,e,a,b)u’
6.証明データ生成装置11中の証明データ生成部117は、第1および第2演算部112、114からS’およびSを得て、式15−5の計算を行いRを得る。
【0434】
【数111】
(15−5) R=S+S’
7.証明データ生成装置11はRを証明データ検証装置10の受信データ記憶部102に返送する。
【0435】
8.データ検証装置10中の乱数効果除去部108は、乱数記憶部107から先に生成した乱数rを取り出し、アクセスチケット公開鍵記憶部101から点Pの位数qを取り出して、式15−6の計算を行う。
【0436】
【数112】
(15−6) v=(r−1 mod q)R
9.証明データ検証装置10中の検証用演算部103は、認証データ記憶部104から認証用データcを取り出し、cとvのx座標vとの排他的論理和K’を計算する。
【0437】
【数113】
Figure 0003613929
(ただし点Rの座標を(v,v)とする)
10.証明データ生成装置11において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0438】
K’と検証用データKとの比較方法に関しては、第1の実施例と同様の方法を用いることができる。
【0439】
[第16の実施例]
本発明の第16の実施例は、第13の実施例の変形例であり、復号を証明データ検証装置10側で行う。第15の実施例とは乱数効果の扱いが異なる。
【0440】
本実施例では、有限体上での楕円曲線の設定方法と楕円曲線E上での暗号の構成方法、アクセスチケットt、及び認証用素データu,認証用データcの生成方法と、それぞれの満たすべき性質は、第13の実施例と同様である。
【0441】
本実施例の証明データ生成装置の構成方法を図6に、証明データ検証装置の構成方法を図7に示す。また、本実施例の証明データ生成装置の動作を図17に、証明データ検証装置の動作を図34に示す。
【0442】
以下、本実施例の動作について説明する。
【0443】
1.ユーザがアクセスすることによって、証明データ検証装置10が起動される。
【0444】
2.認証用データ記憶部104には、認証用データとしてcが記憶されている。
【0445】
証明データ検証装置10は、乱数生成部106によって、乱数rを生成し、乱数記憶部107に記録する。
【0446】
次いで、乱数効果付与部109は、認証用素データ記憶部105に記憶されているデータuを取得して、式15−1の計算を行う。
【0447】
【数114】
(16−1) u’=u+rP
証明データ検証装置10は、こうして生成された認証用データu’と、アクセスチケット公開鍵記憶部101に記憶されている、楕円曲線Eを定義するパラメータp,a,bを、証明データ生成装置11中の受信データ記憶部111に書き込む。
【0448】
3.証明データ生成装置11中の第1演算部112は、アクセスチケット記憶部113に記憶されているアクセスチケットtを取得し、式16−2を実行しSを得る。
【0449】
【数115】
(16−2) S=tu’
4.証明データ生成装置11中の倍数生成部119は、ユーザ固有情報記憶部115に記憶されているユーザの固有情報eを取得し、式16−3の計算を実行する。
【0450】
【数116】
(16−3) F(p,e,a,b)
5.証明データ生成装置11中の第2演算部114は、倍数生成部119で生成されたデータを用いて、式16−4の計算を実行しS’を得る。
【0451】
【数117】
(16−4) S’=F(p,e,a,b)u’
6.証明データ生成装置11中の証明データ生成部117は、第1および第2演算部112、114からS’およびSを得て、式16−5の計算を行いRを得る。
【0452】
【数118】
(16−5) R=S+S’
7.証明データ生成装置11はRを証明データ検証装置10の受信データ記憶部102に返送する。
【0453】
8.証明データ検証装置10中の乱数効果除去部108は、乱数記憶部107から先に生成した乱数rを取り出し、まず式16−6の計算を行う。
【0454】
【数119】
(16−6) v=R−rY
9.証明データ検証装置10中の検証用演算部103は、認証データ記憶部104から認証用データcを取り出し、cとvのx座標vとの排他的論理和K’を計算する。
【0455】
【数120】
Figure 0003613929
(ただし点Rの座標を(v,v)とする)
10.証明データ生成装置11において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0456】
K’と検証用データKとの比較方法に関しては、第1の実施例と同様の方法を用いることができる。
【0457】
[第17の実施例]
本発明の第17の実施例は、第13の実施例の変形例であり、復号を証明データ検証装置10側で行っている。
【0458】
本実施例では、有限体上での楕円曲線の設定方法と楕円曲線E上での暗号の構成方法、認証用素データu,認証用データcの生成方法と、それぞれの満たすべき性質は、第13の実施例と同様である。なお、本実施例では、点Pの位数をqであるとする。また、本実施例では、アクセスチケットtは以下の式により生成される。
【数121】
(17−0) t=X−F(p,e,a,b,Y)
【0459】
本実施例の証明データ生成装置の構成方法を図6に、証明データ検証装置の構成方法を図7に示す。また、本実施例の証明データ生成装置の動作を図15に、証明データ検証装置の動作を図36に示す。
【0460】
以下、本実施例の動作について説明する。
【0461】
1.ユーザがアクセスすることによって、証明データ検証装置10が起動される。
【0462】
2.認証用データ記憶部104には、認証用データとしてcが記憶されている。
【0463】
証明データ検証装置10は、乱数生成部106によって、乱数rをアクセスチケット公開鍵記憶部101に保持されている点Pの位数qと互いに素になるように生成し、乱数記憶部107に記録する。
【0464】
次いで、乱数効果付与部109は、認証用素データ記憶部105に記憶されているデータuを取得して、式17−1の計算を行う。
【0465】
【数122】
(17−1) u’=ru
証明データ検証装置10は、こうして生成された認証用データu’と、アクセスチケット公開鍵記憶部101に記憶されている、楕円曲線Eを定義するパラメータp,a,bと、公開鍵Yとを、証明データ生成装置11中の受信データ記憶部111に書き込む。
【0466】
3.証明データ生成装置11中の第1演算部112は、アクセスチケット記憶部113に記憶されているアクセスチケットtを取得し、式17−2を実行してSを得る。
【0467】
【数123】
(17−2) S=tu’
4.証明データ生成装置11中の倍数生成部119は、ユーザ固有情報記憶部115に記憶されているユーザの固有情報eを取得し、式17−3の計算を実行する。
【0468】
【数124】
(17−3) F(p,e,a,b,Y)
5.証明データ生成装置11中の第2演算部114は、倍数生成部119で生成されたデータを用いて、式17−4の計算を実行しS’を得る。
【0469】
【数125】
(17−4) S’=F(p,e,a,b,Y)u’
6.証明データ生成装置11中の証明データ生成部117は、第1および第2演算部112、114からS’およびSを得て、式17−5の計算を行いRを得る。
【0470】
【数126】
(17−5) R=S+S’
7.証明データ生成装置11はRを証明データ検証装置10の受信データ記憶部102に返送する。
【0471】
8.データ検証装置10中の乱数効果除去部108は、乱数記憶部107中から先に生成した乱数rを取り出し、アクセスチケット公開鍵記憶部101から点Pの位数qを取り出して、式17−6の計算を行う。
【0472】
【数127】
(17−6) v=(r−1 mod q)R
9.証明データ検証装置10中の検証用演算部103は、認証データ記憶部104から認証用データcを取り出し、cとvのx座標vとの排他的論理和K’を計算する。
【0473】
【数128】
Figure 0003613929
(ただし点Rの座標を(v,v)とする)
10.証明データ生成装置11において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0474】
K’と検証用データKとの比較方法に関しては、第1の実施例と同様の方法を用いることができる。
【0475】
[第18の実施例]
本発明の第18の実施例では、第13の実施例の変形例であり、復号を証明データ検証装置10側で行っている。
【0476】
本実施例では、有限体上での楕円曲線の設定方法と楕円曲線E上での暗号の構成方法、認証用素データu,認証用データcの生成方法と、それぞれの満たすべき性質は、第13の実施例と同様である。また、本実施例では、アクセスチケットtは以下の式により生成される。
【数129】
(18−0) t=X−F(p,e,a,b,Y)
【0477】
本実施例の証明データ生成装置の構成方法を図6に、証明データ検証装置の構成方法を図7に示す。また、本実施例の証明データ生成装置の動作を図15に、証明データ検証装置の動作を図37に示す。
【0478】
以下、本実施例の動作について説明する。
【0479】
1.ユーザがアクセスすることによって、証明データ検証装置10が起動される。
【0480】
2.認証用データ記憶部104には、認証用データとしてcが記憶されている。
【0481】
証明データ検証装置10は、乱数生成部106によって、乱数rを生成し、乱数記憶部107に記録する。
【0482】
次いで、乱数効果付与部109は、認証用素データ記憶部105に記憶されているデータuを取得して、式18−1の計算を行う。
【0483】
【数130】
(18−1) u’=u+rP
証明データ検証装置10は、こうして生成された認証用データu’と、アクセスチケット公開鍵記憶部101に記憶されている、楕円曲線Eを定義するパラメータp,a,bと、公開鍵Yとを、証明データ生成装置11中の受信データ記憶部111に書き込む。
【0484】
3.証明データ生成装置11中の第1演算部112は、アクセスチケット記憶部113に記憶されているアクセスチケットtを取得し、式18−2を実行しSを得る。
【0485】
【数131】
(18−2) S=tu’
4.証明データ生成装置11中の倍数生成部119は、ユーザ固有情報記憶部115に記憶されているユーザの固有情報eを取得し、式18−3の計算を実行する。
【0486】
【数132】
(18−3) F(p,e,a,b,Y)
5.証明データ生成装置11中の第2演算部114は、倍数生成部119で生成されたデータを用いて、式18−4の計算を実行しS’を得る。
【0487】
【数133】
(18−4) S’=F(p,e,a,b,Y)u’
6.証明データ生成装置11中の証明データ生成部117は、第1および第2演算部112、114からS’およびSを得て、式18−5の計算を行いRを得る。
【0488】
【数134】
(18−5) R=S+S’
7.証明データ生成装置11はRを証明データ検証装置10の受信データ記憶部102に返送する。
【0489】
8.証明データ検証装置10中の乱数効果除去部108は、乱数記憶部107から先に生成した乱数rを取り出し、まず式18−6の計算を行う。
【0490】
【数135】
(18−6) v=R−rY
9.証明データ検証装置10中の検証用演算部103は、認証データ記憶部104から認証用データcを取り出し、cとvのx座標vとの排他的論理和K’を計算する。
【0491】
【数136】
Figure 0003613929
(ただし点Rの座標を(v,v)とする)
10.証明データ生成装置11において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0492】
K’と検証用データKとの比較方法に関しては、第1の実施例と同様の方法を用いることができる。
【0493】
【発明の効果】
以上の説明から明らかなように、本発明によれば、証明用補助データ(アクセスチケット)を導入することにより、アクセス資格認証の特徴情報とユーザ固有情報とを独立させることができ、したがってプロテクト側もユーザ側も、1つの固有情報を準備しておくだけですむ。
【0494】
アクセスチケットは、特定のユーザの固有情報とアクセス資格認証の特徴情報とに基づいて計算されるデータであり、また、ユーザ固有情報を知らずに、アクセスチケットからアクセス資格認証の特徴情報を計算することは困難である。そして、ユーザ固有情報とアクセスチケットとの正しい組み合わせ、すなわち、ユーザ固有情報と該ユーザ固有情報に基づいて計算されたアクセスチケットの組み合わせが入力された場合に限って、正しい証明用データが計算される。したがってユーザはあらかじめ固有情報を保持し、プログラム作成者等のプロテクト者はユーザが所持する固有情報とは独立にアクセス資格認証の特徴情報を用意し、アクセスチケットをユーザの固有情報とアプリケーションプログラムの作成等に使用したアクセス資格認証の特徴情報とに応じて作成し、配布することにより、実行制御等のユーザのアクセス資格の認証を行う事ができる。
【0495】
また、本発明によれば、アクセス資格認証の特徴情報に、有限体上での楕円曲線上で定義された、非対称鍵暗号系を用いることにより、RSA公開鍵暗号等を用いる場合に比べて、鍵の長さを短くしても同等の安全性が得られ、かつ処理を高速に行うことができる。
【図面の簡単な説明】
【図1】全体の構成を示す図である。
【図2】ElGamal暗号を用いた証明データ生成装置の構成を示す図である。
【図3】第1の証明データ検証装置の構成を示す図である。
【図4】第2の証明データ検証装置の構成を示す図である。
【図5】第3の証明データ検証装置の構成を示す図である。
【図6】楕円曲線暗号を用いた証明データ生成装置の構成を示す図である。
【図7】第4の証明データ検証装置の構成を示す図である。
【図8】実施例3および5における証明データ生成装置の動作を示す図である。
【図9】実施例1、2、4における証明データ生成装置の動作を示す図である。
【図10】実施例1における証明データ検証装置の動作を示す図である。
【図11】実施例3における証明データ検証装置の動作を示す図である。
【図12】実施例2における証明データ検証装置の動作を示す図である。
【図13】実施例4における証明データ検証装置の動作を示す図である。
【図14】実施例5における証明データ検証装置の動作を示す図である。
【図15】実施例12、17、18における証明データ生成装置の動作を示す図である。
【図16】実施例7、9、11における証明データ生成装置の動作を示す図である。
【図17】実施例6、7、10、13、15、16における証明データ生成装置の動作を示す図である。
【図18】実施例6における証明データ検証装置の動作を示す図である。
【図19】実施例7における証明データ検証装置の動作を示す図である。
【図20】実施例9における証明データ検証装置の動作を示す図である。
【図21】実施例8における証明データ検証装置の動作を示す図である。
【図22】実施例10における証明データ検証装置の動作を示す図である。
【図23】実施例11における証明データ検証装置の動作を示す図である。
【図24】実施例12における証明データ検証装置の動作を示す図である。
【図25】復号結果の検証方法(復号結果を直接比較する場合)を示す図である。
【図26】復号結果の検証方法(一方向性関数を用いる場合)を示す図である。
【図27】復号結果の検証方法(復号された値が他のデータの復号鍵である場合)を示す図である。
【図28】復号結果の検証方法(復号された値の冗長性を検証する場合)を示す図である。
【図29】復号結果の検証方法(復号された値がプログラムコードの場合)を示す図である。
【図30】復号結果の検証方法(復号された値がプログラムコードを復号するための鍵である場合)を示す図である。
【図31】実施例13における証明データ検証装置の動作を示す図である。
【図32】実施例14における証明データ検証装置の動作を示す図である。
【図33】実施例15における証明データ検証装置の動作を示す図である。
【図34】実施例16における証明データ検証装置の動作を示す図である。
【図35】実施例14における証明データ生成装置の動作を示す図である。
【図36】実施例17における証明データ検証装置の動作を示す図である。
【図37】実施例18における証明データ検証装置の動作を示す図である。

Claims (81)

  1. ユーザの権限を証明するために生成された証明データの正当性を検証することにより上記ユーザのアクセス資格を認証するアクセス資格認証装置において、
    第1の認証用データを記憶する第1の記憶手段と、
    ユーザの固有情報を記憶する第2の記憶手段と、
    上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対し、証明用補助情報を生成するために予め定められた第1の所定の計算を実行した実行結果である証明用補助情報を記憶する第3の記憶手段と、
    上記第1の記憶手段に保持されている上記第1の認証用データと、上記第2の記憶手段に記憶されている上記ユーザの固有情報と、上記第3の記憶手段に記憶されている上記証明用補助情報とに証明データを生成するために予め定められた第2の所定の計算を施して証明データを生成する証明データ生成手段と、
    上記証明データ生成手段によって生成された証明データが、上記アクセス資格認証の特徴情報に基づいて生成されていることを検証する証明データ検証手段とを有し、
    特に上記アクセス資格認証の特徴情報Xが、法p、正整数aとして、Y=a mod pなる関係を満たすように構成される、非対称暗号系における復号鍵であり、YがXに対応する暗号化の鍵であるとき、
    上記証明データ生成手段は、第1の記憶手段に記憶されている第1の認証用データに対して、法pのもとで、上記Xの値でべき乗した値を証明データとして生成し、
    上記証明データ検証手段は、上記証明データ生成手段が生成した証明データを用いることにより、上記Yによって暗号化されたデータが正しく復号可能であることを検証し、
    さらに、 上記証明用補助情報を生成するために予め定められた第1の所定の計算と、上記証明データを生成するために予め定められた第2の所定の計算とを、上記ユーザの固有情報、上記アクセス資格の特徴情報および上記証明用補助情報が対応する場合に上記証明データ検証手段が上記証明データを正当なものと検証するように選定したことを特徴とするアクセス資格認証装置。
  2. 第2の認証用データを記憶する第4の記憶部を有し、
    上記第2の認証用データが適当なデータを上記復号鍵に対応する暗号化鍵を用いて暗号化したものであり、
    上記証明データ検証手段は、上記証明データ生成手段が生成する上記証明データと、上記第4の記憶手段に記憶されている第2の認証用データとに対して特定の演算を施した結果が、アクセス資格認証の特徴情報である上記暗号鍵に対応する復号鍵によって、上記第2の認証用データを正しく復号したものであることを認証することを特徴とする請求項1に記載のアクセス資格認証装置。
  3. 乱数生成手段を有し、上記乱数生成手段は発生させた乱数による効果を加えた値を上記第1の認証用データとして、上記第1の記憶手段に記憶させることを特徴とする請求項1乃至2に記載のアクセス資格認証装置。
  4. 上記証明データ検証手段が、上記証明データ生成手段によって生成された証明データから上記乱数による効果を除去することを特徴とする請求項3に記載のアクセス資格認証装置。
  5. 認証用素データを記憶する第5の記憶手段と、上記乱数生成手段が生成した乱数を記憶する第6の記憶手段を備え、
    上記乱数生成手段は生成した乱数を上記第6の記憶手段に書き込むと共に、上記第5の記憶手段に記憶されている上記認証用素データに上記乱数を用いた乱数効果を施した後、上記第1の認証用データとして上記第1の記憶手段に書き込むことを特徴とする請求項3に記載のアクセス資格認証装置。
  6. 上記証明データ検証手段は、上記第6の記憶手段に記憶されている乱数による乱数効果を、上記証明データ生成手段によって生成された証明データから除去することを特徴とする請求項5に記載のアクセス資格認証装置。
  7. ユーザの権限を証明するために生成された証明データの正当性を検証することにより上記ユーザのアクセス資格を認証するアクセス資格認証装置において、
    第1の認証用データを記憶する第1の記憶手段と、
    ユーザの固有情報を記憶する第2の記憶手段と、
    上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対し、証明用補助情報を生成するために予め定められた第1の所定の計算を実行した実行結果である証明用補助情報を記憶する第3の記憶手段と、
    第2の認証用データを記憶する第4の記憶手段と、
    乱数生成手段と、
    上記第1の記憶手段に保持されている上記第1の認証用データと、上記第2の記憶手段に記憶されている上記ユーザの固有情報と、上記第3の記憶手段に記憶されている上記証明用補助情報とに証明データを生成するために予め定められた第2の所定の計算を施して証明データを生成する証明データ生成手段と、
    上記証明データ生成手段によって生成された証明データが、上記アクセス資格認証の特徴情報に基づいて生成されていることを検証する証明データ検証手段とを有し、
    特に上記アクセス資格認証の特徴情報Xが、法p、正整数aとして、Y=a mod pなる関係を満たすように構成される、非対称暗号系における復号鍵であり、YがXに対応する暗号化の鍵であるとき、
    上記第2の認証用データが所定のデータを上記復号鍵に対応する暗号化鍵を用いて暗号化したものであり、
    上記乱数生成手段は、第1の認証用データCに対して発生させた乱数による効果を施した値と、第2の認証用データCもしくは第2の認証用データCに対して上記乱数による効果を施した値の組とを、第1の記憶手段に記憶させ、
    上記証明データ検証手段は、上記証明データ生成手段によって生成された証明データから上記乱数による効果を除去した結果が、アクセス資格認証の特徴情報である復号鍵で、上記第4の記憶手段に記憶されている第2の認証用データCを正しく復号したものであることを検証し、
    さらに、上記証明用補助情報を生成するために予め定められた第1の所定の計算と、上記証明データを生成するために予め定められた第2の所定の計算とを、上記ユーザの固有情報、上記アクセス資格の特徴情報および上記証明用補助情報が対応する場合に上記証明データ検証手段が上記証明データを正当なものと検証するように選定したことを特徴とするアクセス資格認証装置。
  8. 認証用素データを記憶する第5の記憶手段と、生成した乱数を記憶する第6の記憶手段を備え、
    上記乱数生成手段は生成した乱数を上記第6の記憶手段に書き込むと共に、上記第5の記憶手段に記憶されている上記認証用素データに上記乱数を用いた乱数効果を施した値と、上記第4の記憶手段に記憶されている上記第2の認証用データに対して上記乱数を用いた乱数効果を施した値との組を、上記第1の記憶手段に書き込むことを特徴とする請求項7に記載のアクセス資格認証装置。
  9. 認証用素データを記憶する第5の記憶手段と、生成した乱数を記憶する第6の記憶手段を備え、
    上記乱数生成手段は生成した乱数を上記第6の記憶手段に書き込むと共に、上記第5の記憶手段に記憶されている認証用素データに上記乱数を用いた乱数効果を施した値と、上記第4の記憶手段に記憶されている上記第2の認証用データとの組を、上記第1の記憶手段に書き込むことを特徴とする請求項7に記載のアクセス資格認証装置。
  10. 証明データ検証手段は、上記第6の記憶手段に記憶されている乱数による乱数効果を、上記証明データ生成手段によって生成された証明データから除去することを特徴とする請求項8または9に記載のアクセス資格認証装置。
  11. 上記証明データ生成手段が、第1の演算手段と、第2の演算手段と、第3の演算手段とから構成され、
    上記第1の演算手段は、上記第1の記憶手段に記憶されている認証用データと、上記第3の記憶手段に記憶されている証明用補助情報とに所定の計算を施し、 上記第2の演算手段は、上記第1の記憶手段に記憶されている認証用データと、上記第2の記憶手段に記憶されているユーザの固有情報とに所定の計算を施し、
    上記第3の演算手段が、上記第1の演算手段による計算結果と、上記第2の演算手段による計算結果とに所定の計算を施し、その結果として上記証明データを生成することを特徴とする請求項1乃至10に記載のアクセス資格認証装置。
  12. 上記アクセス資格認証の特徴情報が、法p、正整数aのもとでY=a mod pを満たすように構成される復号鍵Xであり、鍵Xに対応する暗号化の鍵がYであり、
    uが上記aを法pのもとで所定の乱数zを指数としてべき乗した数であり(u=a mod p)、
    Cが、上記Yを法pのもとで上記乱数zを指数としてべき乗した数と、データKとの積であるとき(C=YK mod p)、
    上記第1の記憶手段に認証用データとしてuが記憶され、上記第4の記憶手段にはCが記憶され、
    証明データ検証手段は、第4の記憶手段に記憶されているCを証明データ生成手段によって生成された証明データRで割ったものと、上記Kとが法pのもとで合同であること(K mod p= CR−1 mod p)を検証することを特徴とする、
    請求項2に記載のアクセス資格認証装置。
  13. 特に上記アクセス資格認証の特徴情報が、法p、正整数aのもとでY=a mod pを満たすように構成される復号鍵Xであり、鍵Xに対応する暗号化の鍵がYであり、
    uが上記aを法pのもとで所定の乱数zを指数としてべき乗した数であり(u=a mod p)、
    Cが、上記Yを法pのもとで上記乱数zを指数としてべき乗した数と、データKとの積であるとき(C=YK mod p)、
    上記第5の記憶手段に認証用素データとしてuが記憶され、上記第4の記憶手段にはCが記憶され、
    上記乱数生成手段は、生成した乱数rを指数として上記uを法pのもとで冪乗して得られる数u’(=u mod p)を認証用データとして法数pとともに上記第1の記憶手段に書き込み、
    証明データ検証手段は、第6の記憶手段に記憶されている乱数rの法(p−1)のもとでの逆数を指数として、証明データ生成手段によって生成された証明データRを法数pのもとで冪乗した以下の式で表わされる数v
    Figure 0003613929
    を計算し、
    更に、第4の記憶手段に記憶されているCを上記vで割ったものと、上記Kとが法pのもとで合同であること(K mod p=Cv−1 mod p)を検証することを特徴とする請求項6に記載のアクセス資格認証装置。
  14. 特に上記アクセス資格認証の特徴情報が、法p、正整数aのもとでY=a mod pを満たすように構成される復号鍵Xであり、鍵Xに対応する暗号化の鍵がYであり、
    uが上記aを法pのもとで所定の乱数zを指数としてべき乗した数であり(u=a mod p)、
    Cが、上記Yを法pのもとで上記乱数zを指数としてべき乗した数と、データKとの積であるとき(C=YK mod p)、
    上記第5の記憶手段に認証用素データとしてuが記憶され、上記第4の記憶手段にはCが記憶され、
    上記乱数生成手段は、生成した乱数rを指数として上記aを法pのもとで冪乗した値に上記uを乗じて得られる数u’(=au mod p)を認証用データとして法数pとともに上記第1の記憶手段に書き込み、
    証明データ検証手段は、法pのもとで、証明データ生成手段によって生成された証明データRを、上記Yを第6の記憶手段に記憶されている乱数rでべき乗した値で割った数v(=RY−r mod p)を計算し、
    更に、第4の記憶手段に記憶されているCを上記vで割ったものと、上記Kとが法pのもとで合同であること(K mod p=Cv−1 mod p)を検証することを特徴とする請求項6に記載のアクセス資格認証装置。
  15. 特に上記アクセス資格認証の特徴情報が、法p、正整数aのもとでY=a mod pを満たすように構成される復号鍵Xであり、鍵Xに対応する暗号化の鍵がYであり、
    uが上記aを法pのもとで所定の乱数zを指数としてべき乗した数であり(u=a mod p)、
    Cが、上記Yを法pのもとで上記乱数zを指数としてべき乗した数と、データKとの積であるとき(C=YK mod p)、
    上記第5の記憶手段に認証用素データとしてuが記憶され、上記第4の記憶手段にはCが記憶され、
    上記乱数生成手段は、生成した乱数rを指数として上記uを法pのもとで冪乗して得られる数u’(=u mod p)と、生成した乱数rを指数として上記Cを法pのもとで冪乗して得られる数C’(=C mod p)との組を認証用データとして法数pとともに上記第1の記憶手段に書き込み、
    証明データ検証手段は、第6の記憶手段に記憶されている乱数rの法(p−1)のもとでの逆数を指数として、上記証明データ生成手段によって生成された証明データRを法数pのもとで冪乗した数と、上記Kとが、法pのもとで合同であること
    Figure 0003613929
    を検証することを特徴とする請求項8乃至11に記載のアクセス資格認証装置。
  16. 特に上記アクセス資格認証の特徴情報が、法p、正整数aのもとでY=a mod pを満たすように構成される復号鍵Xであり、鍵Xに対応する暗号化の鍵がYであり、
    uが上記aを法pのもとで所定の乱数zを指数としてべき乗した数であり(u=a mod p)、
    Cが、上記Yを法pのもとで上記乱数zを指数としてべき乗した数と、データKとの積であるとき(C=YK mod p)、
    上記第5の記憶手段に認証用素データとしてuが記憶され、上記第4の記憶手段にはCが記憶され、
    上記乱数生成手段は、生成した乱数rを指数として上記aを法pのもとで冪乗した値に上記uを乗じて得られる数u’(=ua mod p)と、上記Cとの組を、認証用データとして法数pとともに上記第1の記憶手段に書き込み、
    証明データ検証手段は、上記Yを第6の記憶手段に記憶されている乱数rで冪乗した値に上記証明データ生成手段によって生成された証明データRを乗じた値と、上記Kとが、法pのもとで合同であること(K mod p = RY mod p)を検証することを特徴とする請求項9乃至11に記載のアクセス資格認証装置。
  17. 上記第3の記憶手段に記憶される証明用補助情報tが、上記Xから、上記第2の記憶手段に記憶されるユーザ識別情報eと上記pとに依存する非衝突性関数値F(p,e)を減じて得られるデータt(=X−F(p,e))であり、
    上記証明データ生成手段は、上記tと、上記eと、第1の記憶手段に書き込まれた認証用データu’から、法pのもとでu’のX乗((u’) mod p)を計算することを特徴とする請求項1乃至6または11乃至14に記載のアクセス資格認証装置。
  18. 上記第3の記憶手段に記憶される証明用補助情報tが、上記Xから、上記第2の記憶手段に記憶されるユーザ識別情報eと上記pとに依存する非衝突性関数値F(p,e)を減じて得られるデータt(=X−F(p,e))であり、
    上記証明データ生成手段は、上記tと、上記eと、第1の記憶手段に書き込まれた認証用データu’及びC’から、法pのもとで、上記C’を上記u’のX乗で割った値(C’(u’)−X mod p)を計算することを特徴とする請求項7乃至11、15または16に記載のアクセス資格認証装置。
  19. 上記第3の記憶手段に記憶される証明用補助情報tが、上記Xから、上記第2の記憶手段に記憶されるユーザ識別情報eと上記暗号化鍵Yとに依存する非衝突性関数値F(Y,e)を減じて得られるデータt(=X−F(Y,e))であり、
    上記証明データ生成手段は、上記tと、上記eと、第1の記憶手段に書き込まれた認証用データu’から、法pのもとでu’のX乗((u’) mod p)を計算することを特徴とする請求項1乃至6または11乃至14に記載のアクセス資格認証装置。
  20. 上記第3の記憶手段に記憶される証明用補助情報tが、上記Xから、上記第2の記憶手段に記憶されるユーザ識別情報eと上記暗号化鍵Yとに依存する非衝突性関数値F(Y,e)を減じて得られるデータt(=X−F(Y,e))であり、
    上記証明データ生成手段は、上記tと、上記eと、第1の記憶手段に書き込まれた認証用データu’及びC’から、法pのもとで、上記C’を上記u’のX乗で割った値(C’(u’)−X mod p)を計算することを特徴とする請求項7乃至11、15または16に記載のアクセス資格認証装置。
  21. 上記証明データ生成手段が、第1の演算手段と、第2の演算手段と、第3の演算手段とからなり、
    上記第1の演算手段は、上記法pのもとで、上記u’の上記t乗した値((u’) mod p)を計算し、
    上記第2の演算手段は、上記法pのもとで上記uの上記F(p,e)乗した値((u’)F(p,e) mod p)を計算し、
    上記第3の演算手段は、上記法pのもとで、第1の演算手段の計算結果と第2の演算手段の計算結果とを乗ずることによって、証明データR(=(u’)(u’)F(p,e) mod p)を生成することを特徴とする請求項17に記載のアクセス資格認証装置。
  22. 上記証明データ生成手段が、第1の演算手段と、第2の演算手段と、第3の演算手段とからなり、
    上記第1の演算手段は、上記法pのもとで、上記u’の上記t乗した値((u’) mod p)を計算し、
    上記第2の演算手段は、上記法pのもとで、上記uの上記F(p,e)乗した値((u’)F(p,e) mod p)を計算し、
    上記第3の演算手段は、上記法pのもとで、第1の演算手段の計算結果と第2の演算手段の計算結果とを乗じた値の逆数を計算し、さらにその値に上記C’を乗ずることによって、証明データR(=C’((u’)(u’)F(p,e)−1 mod p)を生成することを特徴とする請求項18に記載のアクセス資格認証装置。
  23. 上記証明データ生成手段が、第1の演算手段と、第2の演算手段と、第3の演算手段とからなり、
    上記第1の演算手段は、上記法pのもとで、上記u’の上記t乗した値((u’) mod p)を計算し、
    上記第2の演算手段は、上記法pのもとで上記uの上記F(Y,e)乗した値((u’)F(Y,e) mod p)を計算し、
    上記第3の演算手段は、上記法pのもとで、第1の演算手段の計算結果と第2の演算手段の計算結果とを乗ずることによって、証明データR(=(u’)(u’)F(Y,e) mod p)を生成することを特徴とする請求項19に記載のアクセス資格認証装置。
  24. 上記証明データ生成手段が、第1の演算手段と、第2の演算手段と、第3の演算手段とからなり、
    上記第1の演算手段は、上記法pのもとで、上記u’の上記t乗した値((u’) mod p)を計算し、
    上記第2の演算手段は、上記法pのもとで、上記uの上記F(Y,e)乗した値((u’)F(Y,e) mod p)を計算し、
    上記第3の演算手段は、上記法pのもとで、第1の演算手段の計算結果と第2の演算手段の計算結果とを乗じた値の逆数を計算し、さらにその値に上記C’を乗ずることによって、証明データR(=C’((u’)(u’)F(Y,e)−1 mod p)を生成することを特徴とする請求項20に記載のアクセス資格認証装置。
  25. ユーザの権限を証明するために生成された証明データの正当性を検証することにより上記ユーザのアクセス資格を認証するアクセス資格認証装置において、
    第1の認証用データを記憶する第1の記憶手段と、
    ユーザの固有情報を記憶する第2の記憶手段と、
    上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対し、証明用補助情報を生成するために予め定められた第1の所定の計算を実行した実行結果である証明用補助情報を記憶する第3の記憶手段と、
    上記第1の記憶手段に保持されている認証用データと、上記第2の記憶手段に記憶されている上記ユーザの固有情報と、上記第3の記憶手段に記憶されている上記証明用補助情報とに証明データを生成するために予め定められた第2の所定の計算を施して証明データを生成する証明データ生成手段と、
    上記証明データ生成手段によって生成された証明データが上記アクセス資格認証の特徴情報に基づいて生成されていることを検証する証明データ検証手段とを有し、
    上記アクセス資格認証の特徴情報が、有限体上の楕円曲線において定義される非対象鍵暗号の復号鍵であり、
    さらに、上記証明用補助情報を生成するために予め定められた第1の所定の計算と、上記証明データを生成するために予め定められた第2の所定の計算とを、上記ユーザの固有情報、上記アクセス資格の特徴情報および上記証明用補助情報が対応する場合に上記証明データ検証手段が上記証明データを正当なものと検証するように選定したことを特徴とするアクセス資格認証装置。
  26. 上記証明データ生成手段が、第1の演算手段と、第2の演算手段と、第3の演算手段とから構成され、
    上記第1の演算手段は、上記第1の記憶手段に記憶されている認証用データと、上記第2の記憶手段に記憶されている証明用補助情報とに所定の計算を施し、 上記第2の演算手段は、上記第1の記憶手段に記憶されている認証用データと、第3の記憶手段に記憶されているユーザの固有情報とに所定の計算を施し、
    上記第3の演算手段が、上記第1の演算手段による計算結果と、上記第2の演算手段による計算結果とに所定の計算を施し、その結果として上記証明データを生成することを特徴とする請求項25に記載のアクセス資格認証装置。
  27. 乱数生成手段を有し、上記乱数生成手段は発生させた乱数による効果を加えた値を上記第1の認証用データとして、上記第1の記憶手段に記憶させることを特徴とする請求項25または26に記載のアクセス資格認証装置。
  28. 上記証明データ検証手段が、上記証明データ生成手段によって生成された証明データから上記乱数による効果を除去することを特徴とする請求項27に記載のアクセス資格認証装置。
  29. 認証用素データを記憶する第5の記憶手段と、上記乱数生成手段が生成した乱数を記憶する第6の記憶手段を備え、
    上記乱数生成手段は生成した乱数を第6の記憶手段に書き込むと共に、上記第5の記憶手段に記憶されている認証用素データに上記乱数を用いた乱数効果を施した後、上記第1の認証用データとして上記第1の記憶手段に書き込むことを特徴とする請求項27に記載のアクセス資格認証装置。
  30. 証明データ検証手段は、上記第6の記憶手段に記憶されている乱数による乱数効果を、上記証明データ生成手段によって生成された証明データから除去することを特徴とする請求項29に記載のアクセス資格認証装置。
  31. 第2の認証用データを記憶する第4の記憶部を有し、
    上記第2の認証用データが適当なデータを上記復号鍵に対応する暗号化鍵を用いて暗号化したものであり、
    上記証明データ検証手段は、上記証明データ生成手段が生成する上記証明データが、アクセス資格認証の特徴情報である上記暗号鍵に対応する復号鍵によって、上記第2の認証用データを正しく復号したものであることを認証することを特徴とする請求項25乃至30に記載のアクセス資格認証装置。
  32. 第2の認証用データを記憶する第4の記憶部を有し、
    上記第2の認証用データが適当なデータを上記復号鍵に対応する暗号化鍵を用いて暗号化したものであり、
    上記証明データ検証手段は、上記証明データ生成手段が生成する上記証明データと、上記第4の記憶手段に記憶されている第2の認証用データとに対して特定の演算を施した結果が、アクセス資格認証の特徴情報である上記暗号鍵に対応する復号鍵によって、上記第2の認証用データを正しく復号したものであることを認証することを特徴とする請求項25乃至30に記載のアクセス資格認証装置。
  33. 上記第1の認証用データが適当なデータを上記復号鍵に対応する暗号化鍵を用いて暗号化したものであり、
    上記証明データ検証手段は、上記証明データ生成手段が生成する上記証明データが、上記第1の認証用データを正しく復号したものであることを検証することを特徴とする請求項25乃至30に記載のアクセス資格認証装置。
  34. 上記証明データ検証手段は、上記第6の記憶手段に記憶されている乱数による乱数効果を、上記証明データ生成装置によって生成された証明データから除去した結果が、アクセス資格認証の特徴情報である復号鍵で上記第5の記憶手段に記憶されている認証用素データを復号したものであることを検証することを特徴とする請求項33記載のアクセス資格認証装置。
  35. 特に、有限体上の楕円曲線E上の点をPとし、上記アクセス資格認証の特徴情報を正整数Xとして、復号鍵Xに対応する暗号化鍵Yを、上記PをX倍したE上の点(Y=XP)とするとき、
    所定の乱数zを用いて、uを上記PをE上でz倍した点とし(u=zP)、
    Cを上記YをE上で上記z倍した数とE上の点Kとの和とすると(C=K+zY)、
    上記第5の記憶手段に認証用素データとしてCが記憶され、
    上記乱数生成手段は、E上のランダムな点rを生成し、上記uと、上記Cにrを加えた点 C’(=r+C)との組を認証用データとして上記第1の記憶手段に書き込み、
    上記証明データ検証手段は、上記証明データ生成手段によって生成された証明データRから、第6の記憶手段に記憶されているrを減じた値と、上記Kとが等しくなること(K=R−r)を検証することを特徴とする請求項33または34に記載のアクセス資格認証装置。
  36. 特に、有限体上の楕円曲線E上の点をPとし、上記アクセス資格認証の特徴情報を正整数Xとして、復号鍵Xに対応する暗号化鍵Yを、上記PをX倍したE上の点(Y=XP)とするとき、
    所定のな乱数zを用いて、u’を所定の乱数zを用いて上記PをE上でz倍した点とし(u’=zP)、
    Cを上記YをE上で上記z倍した値(zY)とデータKとに所定の演算を施した値とし、
    上記第1の記憶手段に認証用データとしてu’が記憶され、上記第4の記憶手段にはCが記憶され、
    上記証明データ検証手段は、上記第4の記憶手段に記憶されているCと証明データRとに演算を施した値と、上記Kとが等しくなることを検証することを特徴とする請求項32に記載のアクセス資格認証装置。
  37. 特に、有限体上の楕円曲線E上の位数がqである点をPとし、上記アクセス資格認証の特徴情報を正整数Xとして、復号鍵Xに対応する暗号化鍵Yを、上記PをX倍したE上の点(Y=XP)とするとき、
    所定の乱数zを用いて、uを上記PをE上でz倍した点とし(u=zP)、
    Cを上記YをE上で上記z倍した値(zY)とデータKとに所定の演算を施した値とし、
    上記第5の記憶手段に認証用素データとしてuが記憶され、上記第4の記憶手段にはCが記憶され、
    上記乱数生成手段は、乱数rを生成し、上記uをE上でr倍した点u’(=ru)を認証用データとして上記第1の記憶手段に書き込み、
    上記証明データ検証手段は、上記証明データ生成手段によって生成された証明データRを、上記第6の記憶手段に記憶されている乱数rの法qのもとでの逆数倍した値v(=(r−1 modq) R)を計算し、
    更に、上記第4の記憶手段に記憶されているCと上記vとに所定の演算を施した値と、上記Kとが等しくなることを検証することを特徴とする請求項32に記載のアクセス資格認証装置。
  38. 特に、有限体上の楕円曲線E上の点をPとし、上記アクセス資格認証の特徴情報を正整数Xとして、復号鍵Xに対応する暗号化鍵Yを、上記PをX倍したE上の点(Y=XP)とするとき、
    所定の乱数zを用いて、uを上記PをE上でz倍した点とし(u=zP)、
    Cを上記YをE上で上記z倍した値(zY)とデータKとに所定の演算を施した値とし、
    上記第5の記憶手段に認証用素データとしてuが記憶され、上記第4の記憶手段にはCが記憶され、
    上記乱数生成手段は、乱数rを生成し、上記PをE上でr倍した点と上記uとの和u’(=rP+u)を認証用データとして上記第1の記憶手段に書き込み、
    上記証明データ検証手段は、上記Yを上記第6の記憶手段に記憶されている乱数rでr倍した値を、上記証明データ生成手段によって生成された証明データRから減じた値v(=R−rY)を計算し、
    更に、上記第4の記憶手段に記憶されているCと上記vとに所定の演算を施した値と、上記Kとが等しくなることを検証することを特徴とする請求項32に記載のアクセス資格認証装置。
  39. 特に、有限体上の楕円曲線E上の点をPとし、上記アクセス資格認証の特徴情報を正整数Xとして、復号鍵Xに対応する暗号化鍵Yを、上記PをX倍したE上の点(Y=XP)とするとき、
    所定の乱数zを用いて、uを上記PをE上でz倍した点とし(u=zP)、
    Cを上記YをE上で上記z倍した値(zY)とデータKとに所定の演算を施した値とし、
    上記uとCとの組が、認証用データとして上記第1の記憶手段に記憶され、
    上記証明データ検証手段は、上記証明データ生成手段によって生成された証明データRと、上記Kとが等しくなることを検証することを特徴とする請求項31に記載のアクセス資格認証装置。
  40. 特に、有限体上の楕円曲線E上の位数がqである点をPとし、上記アクセス資格認証の特徴情報を正整数Xとして、復号鍵Xに対応する暗号化鍵Yを、上記PをX倍したE上の点(Y=XP)とするとき、
    所定の乱数zを用いて、uを上記PをE上でz倍した点とし(u=zP)、
    Cを上記YをE上で上記z倍した数とE上の点Kとの和とすると(C=K+zY)、
    上記第5の記憶手段に認証用素データとしてuが記憶され、上記第4の記憶手段にはCが記憶され、
    上記乱数生成手段は、乱数rを生成し、上記uをE上でr倍した点u’(=ru)と、上記CをE上でr倍した点C’(=rC)との組を認証用データとして上記第1の記憶手段に書き込み、
    上記証明データ検証手段は、上記証明データ生成手段によって生成された証明データRを、上記第6の記憶手段に記憶されている乱数rの法qのもとでの逆数倍した値と、上記Kとが等しくなること(K=(r−1 modq) R)を検証することを特徴とする請求項31に記載のアクセス資格認証装置。
  41. 特に、有限体上の楕円曲線E上の点をPとし、上記アクセス資格認証の特徴情報を正整数Xとして、復号鍵Xに対応する暗号化鍵Yを、上記PをX倍したE上の点(Y=XP)とするとき、
    所定の乱数zを用いて、uを上記PをE上でz倍した点とし(u=zP)、
    Cを上記YをE上で上記z倍した点とE上の点Kとの和とすると(C=K+zY)、
    上記第5の記憶手段に認証用素データとしてuが記憶され、上記第4の記憶手段にはCが記憶され、
    上記乱数生成手段は、乱数rを生成し、上記PをE上でr倍した値と上記uとの和u’(=u+rP)と、上記Cとの組を、認証用データとして上記第1の記憶手段に書き込み、
    上記証明データ検証手段は、上記Yを上記第6の記憶手段に記憶されている乱数r倍した値を、上記証明データ生成手段によって生成された証明データRに加えた値と、上記Kとが、等しくなること(K=R+rY)を検証することを特徴とする請求項31に記載のアクセス資格認証装置。
  42. 上記第3の記憶手段に記憶される証明用補助情報tが、上記アクセス資格認証の特徴情報と、ユーザの固有情報とから作成されることを特徴とする請求項25乃至41に記載のアクセス資格認証装置。
  43. 上記第3の記憶手段に記憶される証明用補助情報tが、ユーザの固有情報を、非衝突性関数の入力として計算した値を用いて作成されることを特徴とする請求項42に記載のアクセス資格認証装置。
  44. 上記証明データ生成手段は、証明用補助情報と、ユーザの固有情報とから、上記E上で上記u’のX倍(Xu’)を計算することを特徴とする請求項36乃至38に記載のアクセス資格認証装置。
  45. 上記証明データ生成手段は、前上記非アクセス資格認証の特徴情報と、ユーザの固有情報を用いて、上記E上で上記点C’から上記u’のX倍を減じた値(C’−Xu’)を計算することを特徴とする請求項35または39乃至41に記載のアクセス資格認証装置。
  46. 上記第3の記憶手段に記憶される証明用補助情報tが、少なくとも上記アクセス資格認証の特徴情報と、ユーザの固有情報と、楕円曲線を規定する情報とから作成されることを特徴とする請求項25乃至41に記載のアクセス資格認証装置。
  47. 上記第3の記憶手段に記憶される証明用補助情報tが、少なくとも上記アクセス資格認証の特徴情報と、ユーザの固有情報と、暗号化鍵Yとから作成されることを特徴とする請求項25乃至41に記載のアクセス資格認証装置。
  48. 上記第3の記憶手段に記憶される証明用補助情報tが、少なくともユーザの固有情報と、楕円曲線を規定する情報とを、非衝突性関数の入力として計算した値を用いて作成されることを特徴とする請求項46に記載のアクセス資格認証装置。
  49. 上記第3の記憶手段に記憶される証明用補助情報tが、少なくともユーザの固有情報と、暗号化鍵Yとを、非衝突性関数の入力として計算した値を用いて作成されることを特徴とする請求項47に記載のアクセス資格認証装置。
  50. 上記証明データ生成手段は、少なくとも上記証明用補助情報と、ユーザの固有情報と、楕円曲線を規定する情報とを用いて、上記E上でu’のX倍(Xu’)を計算することを特徴とする請求項36乃至38に記載のアクセス資格認証装置。
  51. 上記証明データ生成手段は、少なくとも上記証明用補助情報と、ユーザの固有情報と、暗号化鍵Yとを用いて、上記E上でu’のX倍(Xu’)を計算することを特徴とする請求項36乃至38に記載のアクセス資格認証装置。
  52. 上記証明データ生成手段は、少なくとも上記アクセス資格認証の特徴情報と、ユーザの固有情報と、楕円曲線を規定する情報とを用いて、上記E上で点C’からu’のX倍を減じた値(C’− Xu’)を計算することを特徴とする請求項35または39乃至41に記載のアクセス資格認証装置。
  53. 上記証明データ生成手段は、少なくとも上記アクセス資格認証の特徴情報と、ユーザの固有情報と、暗号化鍵Yとを用いて、上記E上で点C’からu’のX倍を減じた値(C’−Xu’)を計算することを特徴とする請求項35または39乃至41に記載のアクセス資格認証装置。
  54. 特に、p個の元を持つ有限体F(pは3より大きい素数をべき乗した値)上の楕円曲線Eをy=x+ax+bとするとき、
    上記第3の記憶手段に記憶される証明用補助情報tが、上記Xから、上記第2の記憶手段に記憶されるユーザ識別情報eと上記p,a,bとに依存する非衝突性関数値F(p,a,b,e)を減じて得られるデータt(=X−F(p,a,b,e))であり、
    上記証明データ生成手段は、上記tと、上記eと、上記p,a,bと、第1の記憶手段に書き込まれた認証用データu’から、上記E上でu’のX倍(Xu’)を計算することを特徴とする請求項32または36乃至38に記載のアクセス資格認証装置。
  55. 特に、標数が2でp個の元を持つ有限体F上の楕円曲線Eをy+cy=x+ax+bとするとき、
    上記第3の記憶手段に記憶される証明用補助情報tが、上記Xから、上記第2の記憶手段に記憶されるユーザ識別情報eと上記p,a,b,cとに依存する非衝突性関数値F(p,a,b,c,e)を減じて得られるデータt(=X−F(p,a,b,c,e))であり、
    上記証明データ生成手段は、上記tと、上記eと、上記p,a,b,cと、第1の記憶手段に書き込まれた認証用データu’から、上記E上でu’のX倍(Xu’)を計算することを特徴とする請求項32または36乃至38に記載のアクセス資格認証装置。
  56. 特に、標数が2でp個の元を持つ有限体F上の楕円曲線Eをy+xy=x+ax+bとするとき、
    上記第3の記憶手段に記憶される証明用補助情報tが、上記Xから、上記第2の記憶手段に記憶されるユーザ識別情報eと上記p,a,bとに依存する非衝突性関数値F(p,a,b,e)を減じて得られるデータt(=X−F(p,a,b,e))であり、
    上記証明データ生成手段は、上記tと、上記eと、上記p,a,bと、第1の記憶手段に書き込まれた認証用データu’から、上記 E上でu’のX倍(Xu’)を計算することを特徴とする請求項32または36乃至38に記載のアクセス資格認証装置。
  57. 特に、標数が3でp個の元を持つ有限体F上の楕円曲線Eをy=x+ax+bx+cとするとき、
    上記第3の記憶手段に記憶される証明用補助情報tが、上記Xから、上記第2の記憶手段に記憶されるユーザ識別情報eと上記p,a,b,cとに依存する非衝突性関数値F(p,a,b,c,e)を減じて得られるデータt(=X−F(p,a,b,c,e))であり、
    上記証明データ生成手段は、上記tと、上記eと、上記p,a,b,cと、第1の記憶手段に書き込まれた認証用データu’から、上記E上でu’のX倍(Xu’)を計算することを特徴とする請求項32または36乃至38に記載のアクセス資格認証装置。
  58. 上記証明データ生成手段は、上記E上で上記u’をX倍した値Xu’と、第1の記憶手段に書き込まれた認証用データC’とを用いて証明用データを生成することを特徴とする請求項31、35、39乃至41、45、52または53に記載のアクセス資格認証装置。
  59. 上記証明データ生成手段は、第1の記憶手段に書き込まれた認証用データC’から、上記E上で上記u’をX倍した値Xu’を減じたもの(C’−Xu’)を計算することを特徴とする請求項58に記載のアクセス資格認証装置。
  60. 上記証明データ生成手段が、第1の演算手段と、第2の演算手段と、第3の演算手段とからなり、
    上記第1の演算手段は、上記E上で、上記u’を上記t倍した値(tu’)を計算し、
    上記第2の演算手段は、上記E上で、上記uを上記F(p,a,b,e)倍した値(F(p,a,b,e)u’)を計算し、
    上記第3の演算手段は、第1の演算手段の計算結果から第2の演算手段の計算結果を加えることによって、
    証明データR(=tu’+F(p,a,b,e)u’)を生成することを特徴とする請求項54または56に記載のアクセス資格認証装置。
  61. 上記証明データ生成手段が、第1の演算手段と、第2の演算手段と、第3の演算手段とからなり、
    上記第1の演算手段は、上記E上で、上記u’を上記t倍した値(tu’)を計算し、
    上記第2の演算手段は、上記E上で、上記uを上記F(p,a,b,c,e)倍した値(F(p,a,b,c,e)u’)を計算し、
    上記第3の演算手段は、第1の演算手段の計算結果と第2の演算手段の計算結果を加えることによって、
    証明データR(=tu’+F(p,a,b,c,e)u’)を生成することを特徴とする請求項55または57に記載のアクセス資格認証装置。
  62. 上記証明データ生成手段が、第1の演算手段と、第2の演算手段と、第3の演算手段とからなり、
    上記第1の演算手段は、上記C’から、上記E上で上記u’を上記t倍した値を減じた値(C’−tu’)を計算し、
    上記第2の演算手段は、上記E上で、上記uを上記F(p,a,b,e)倍した値(F(p,a,b,e)u’)を計算し、
    上記第3の演算手段は、第1の演算手段の計算結果と第2の演算手段の計算結果とを用いて、
    証明データR(=C’−tu’−F(p,a,b,e)u’)を生成することを特徴とする請求項59に記載のアクセス資格認証装置。
  63. 上記証明データ生成手段が、第1の演算手段と、第2の演算手段と、第3の演算手段とからなり、
    上記第1の演算手段は、上記C’から、上記E上で上記u’を上記t倍した値を減じた値(C’−tu’)を計算し、
    上記第2の演算手段は、上記E上で、上記uを上記F(p,a,b,c,e)倍した値(F(p,a,b,c,e)u’)を計算し、
    上記第3の演算手段は、第1の演算手段の計算結果と第2の演算手段の計算結果とを用いて、
    証明データR(=C’−tu’−F(p,a,b,c,e)u’)を生成することを特徴とする請求項59に記載のアクセス資格認証装置。
  64. 上記証明データ検証手段が、上記証明データと、上記第4の記憶手段に記憶されている第2の認証用データとを用いて、所定の演算を行うことにより、上記第2の認証用データを復号することを特徴とする請求項60または61に記載のアクセス資格認証装置。
  65. 少なくとも上記第1の記憶手段と、上記第2の記憶手段と、上記第3の記憶手段と、上記証明データ生成手段とから構成される証明データ生成装置と、少なくとも上記証明データ検証手段を有し、さらに認証用データを記憶する第7の記憶手段と、証明データを記憶する第8の記憶手段を備えた証明データ検証装置とが、互いに通信することによりユーザのアクセス資格を認証するアクセス資格認証装置において、
    上記証明データ検証装置は、上記第7の記憶手段に記憶されている認証用データを上記証明データ生成装置の上記第1の記憶手段に書き出し、
    上記証明データ生成装置は、上記証明データ生成手段によって上記第1の記憶手段に書き込まれた上記認証用データをもとに生成した証明データを、上記証明データ検証装置中の上記第8の記憶手段に書き出し、
    上記証明データ検証装置は上記第8の記憶手段に書き込まれた上記証明データを用いてユーザのアクセス資格を認証することを特徴する請求項1乃至64に記載のアクセス資格認証装置。
  66. 少なくとも、上記第2の記憶手段と、上記証明データ生成手段とが、内部のデータ及び処理手続きを外部から観測することを困難ならしめる防御手段中に保持されていることを特徴とする請求項1乃至65に記載のアクセス資格認証装置。
  67. 少なくとも、上記第2の記憶手段と、上記証明データ生成手段とが、ICカードなどの携帯可能な小型演算装置として構成されていることを特徴とする請求項1乃至65に記載のアクセス資格認証装置。
  68. 少なくとも、上記第2の記憶手段と、上記第2の演算手段とが、内部のデータ及び処理手続きを外部から観測することを困難ならしめる防御手段中に保持されていることを特徴とする請求項11乃至24または26乃至65に記載のアクセス資格認証装置。
  69. 少なくとも、上記第2の記憶手段と、上記第2の演算手段とが、ICカードなどの携帯可能な小型演算装置として構成されていることを特徴とする請求項11乃至24、26乃至65に記載のアクセス資格認証装置。
  70. 上記証明データ検証手段は、さらに、暗号化されたデータである上記第2の認証用データに対応する平文データを記憶する第9の記憶手段と、比較手段とを有し、
    上記比較手段は、上記証明データ生成手段が生成した上記証明データの値、もしくは上記証明データを用いて演算を行った結果得られた値と、第9の記憶手段に記憶されている平文データを比較し、両者が一致した場合に限り、上記証明データが正当であると判断することを特徴とする請求項2乃至24または31乃至69に記載のアクセス資格認証装置。
  71. 上記証明データ検証手段は、さらに、何らかのデータを暗号を用いて暗号化したデータを記憶する第10の記憶手段を有し、
    上記第2の認証用データは、上記データを暗号化するために用いた暗号の鍵を暗号化したものであり、
    上記証明データ検証手段は、上記証明データ生成手段が生成した証明データの値、もしくは上記証明データを用いて演算を行った結果得られた値を、上記データを暗号化するために用いた暗号の復号鍵として用いることにより、上記暗号化されたデータが復号できることによって、上記証明データが正当であると判断することを特徴とする請求項2乃至24または31乃至69に記載のアクセス資格認証装置。
  72. 上記証明データ検証手段は、さらに、データの冗長性を検証する冗長性検証手段を有し、
    上記証明データ生成手段が生成した上記証明データの値、もしくは上記証明データを用いて演算を行った結果得られた値が、冗長性検証手段によって特定の冗長性をもつことが確認されることによって、
    上記証明データが正当であると判断することを特徴とする請求項2乃至69に記載のアクセス資格認証装置。
  73. 上記証明データ検証手段は、さらに、暗号化されたデータである上記第2の認証用データに対応する平文データに、所定の一方向関数を施した結果を記憶する第11の記憶手段と、上記一方向関数を実行する第4の演算手段と、比較手段とを有し、
    第4の演算手段は、上記証明データ生成手段が生成した上記証明データの値もしくは上記証明データを用いて演算を行った結果得られた値に一方向関数を施し、
    上記比較手段は、第4の演算手段による計算結果と、第11の記憶手段に記憶されているデータを比較し、両者が一致した場合に限り、上記証明データが正当であると判断することを特徴とする請求項2乃至24、31、32または36乃至69に記載のアクセス資格認証装置。
  74. 上記証明データ検証手段は、さらに、プログラム実行手段を含み、
    上記第2の認証用データは、プログラムを暗号化して得られるデータであり、 上記証明データ検証手段が、証明データ生成手段が生成した上記証明データの値、もしくは上記証明データを用いて特定の演算を行った値をプログラムの一部もしくは全部としてプログラム実行手段に引き渡すことにより、
    上記証明データ生成手段が暗号化されたプログラムである上記第2の認証用データを正しく復号した場合、即ち、暗号化されたプログラムが正しく復号された場合に限り、プログラム実行手段が正しい動作を行うことを特徴とする請求項2乃至24または31乃至69に記載のアクセス資格認証装置。
  75. 上記証明データ検証手段は、さらに、プログラム実行手段と、プログラム記憶手段と、プログラム復号手段とを含み、
    上記プログラム記憶手段に記憶されているプログラムは、その一部あるいは全部が暗号化されたものであり、
    上記第2の認証用データは、上記暗号化されたプログラムを復号するための復号鍵を別途暗号化して得られるデータであり、
    上記証明データ検証手段は、上記証明データ生成手段が生成した上記証明データをプログラム復号手段に引き渡し、
    プログラム復号手段は、上記証明データ生成手段が生成した証明データの値、もしくは上記証明データを用いて演算を行った結果得られた値を復号鍵として、プログラム記憶手段に記憶されたプログラムの一部もしくは全部を復号し、
    上記プログラム実行手段が復号されたプログラムを実行することにより、
    証明データ生成手段が上記第2の認証用データを正しく復号された場合、即ち、暗号化されたプログラムを復号するために復号鍵が正しく復号された場合に限り、上記プログラム実行手段が正しい動作を行うことを特徴とする請求項2乃至24または31乃至69に記載のアクセス資格認証装置。
  76. 第1の記憶手段、第2の記憶手段、第3の記憶手段、証明データ生成手段および証明データ検証手段を用いて、ユーザの権限を証明するために生成された証明データの正当性を検証することにより上記ユーザのアクセス資格を認証するアクセス資格認証方法において、
    上記第1の記憶手段に第1の認証用データを記憶する第1の記憶ステップと、
    上記第2の記憶手段にユーザの固有情報を記憶する第2の記憶ステップと、
    上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対し、証明用補助情報を生成するために予め定められた第1の所定の計算を実行した実行結果である証明用補助情報を、上記第3の記憶手段に記憶する第3の記憶ステップと、
    上記第1の記憶ステップで記憶された上記第1の認証用データと、上記第2の記憶ステップで記憶された上記ユーザの固有情報と、上記第3の記憶ステップで記憶された上記証明用補助情報とに、上記証明データ生成手段により、証明データを生成するために予め定められた第2の所定の計算を施して証明データを生成する証明データ生成ステップと、
    上記証明データ生成ステップによって生成された証明データが、上記アクセス資格認証の特徴情報に基づいて生成されていることを、上記証明データ検証手段により検証する証明データ検証ステップとを有し、
    特に上記アクセス資格認証の特徴情報Xが、法p、正整数aとして、Y=a mod pなる関係を満たすように構成される、非対称暗号系における復号鍵であり、YがXに対応する暗号化の鍵であるとき、
    上記証明データ生成ステップは、第1の記憶ステップでに記憶された第1の認証用データに対して、法pのもとで、上記Xの値でべき乗した値を証明データとして生成し、
    上記証明データ検証ステップは、上記証明データ生成ステップが生成した証明データを用いることにより、上記Yによって暗号化されたデータが正しく復号可能であることを検証し、
    さらに、上記証明用補助情報を生成するために予め定められた第1の所定の計算と、上記証明データを生成するために予め定められた第2の所定の計算とを、上記ユーザの固有情報、上記アクセス資格の特徴情報および上記証明用補助情報が対応する場合に上記証明データ検証手段が上記証明データを正当なものと検証するように選定したことを特徴とするアクセス資格認証方法。
  77. 第1の記憶手段、第2の記憶手段、第3の記憶手段、第4の記憶手段、乱数生成手段、証明データ生成手段および証明データ検証手段を用いて、ユーザの権限を証明するために生成された証明データの正当性を検証することにより上記ユーザのアクセス資格を認証するアクセス資格認証方法において、
    上記第1の記憶手段に第1の認証用データを記憶する第1の記憶ステップと、
    上記第2の記憶手段にユーザの固有情報を記憶する第2の記憶ステップと、
    上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対し、証明用補助情報を生成するために予め定められた第1の所定の計算を実行した実行結果である証明用補助情報を、上記第3の記憶手段に記憶する第3の記憶ステップと、
    上記第4の記憶手段に第2の認証用データを記憶する第4の記憶ステップと、
    上記乱数生成手段により乱数生成ステップと、
    上記第1の記憶ステップで記憶された上記第1の認証用データと、上記第2の記憶ステップで記憶された上記ユーザの固有情報と、上記第3の記憶ステップで記憶された上記証明用補助情報とに、上記証明データ生成手段により、証明データを生成するために予め定められた第2の所定の計算を施して証明データを生成する証明データ生成ステップと、
    上記証明データ生成ステップによって生成された証明データが、上記アクセス資格認証の特徴情報に基づいて生成されていることを、上記証明データ検証手段により検証する証明データ検証ステップとを有し、
    特に上記アクセス資格認証の特徴情報Xが、法p、正整数aとして、Y=a mod pなる関係を満たすように構成される、非対称暗号系における復号鍵であり、YがXに対応する暗号化の鍵であるとき、
    上記第2の認証用データが所定のデータを上記復号鍵に対応する暗号化鍵を用いて暗号化したものであり、
    上記乱数生成ステップは、第1の認証用データCに対して発生させた乱数による効果を施した値と、第2の認証用データCもしくは第2の認証用データCに対して上記乱数による効果を施した値の組とを、第1の記憶ステップにより記憶させ、
    上記証明データ検証ステップは、上記証明データ生成ステップによって生成された証明データから上記乱数による効果を除去した結果が、アクセス資格認証の特徴情報である復号鍵で、上記第4の記憶ステップで記憶された第2の認証用データCを正しく復号したものであることを検証し、
    さらに、上記証明用補助情報を生成するために予め定められた第1の所定の計算と、上記証明データを生成するために予め定められた第2の所定の計算とを、上記ユーザの固有情報、上記アクセス資格の特徴情報および上記証明用補助情報が対応する場合に上記証明データ検証手段が上記証明データを正当なものと検証するように選定したことを特徴とするアクセス資格認証方法。
  78. 第1の記憶手段、第2の記憶手段、第3の記憶手段、証明データ生成手段および証明データ検証手段を用いて、ユーザの権限を証明するために生成された証明データの正当性を検証することにより上記ユーザのアクセス資格を認証するアクセス資格認証方法において、
    上記第1の記憶手段に第1の認証用データを記憶する第1の記憶ステップと、
    上記第2の記憶手段にユーザの固有情報を記憶する第2の記憶ステップと、
    上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対し、証明用補助情報を生成するために予め定められた第1の所定の計算を実行した実行結果である証明用補助情報を、上記第3の記憶手段に記憶する第3の記憶ステップと、
    上記第1の記憶ステップで記憶された認証用データと、上記第2の記憶ステップで記憶された上記ユーザの固有情報と、上記第3の記憶ステップで記憶された上記証明用補助情報とに、上記証明データ生成手段により、証明データを生成するために予め定められた第2の所定の計算を施して証明データを生成する証明データ生成ステップと、
    上記証明データ生成ステップによって生成された証明データが上記アクセス資格認証の特徴情報に基づいて生成されていることを、上記証明データ検証手段により検証する証明データ検証ステップとを有し、
    上記アクセス資格認証の特徴情報が、有限体上の楕円曲線において定義される非対象鍵暗号の復号鍵であり、
    さらに、上記証明用補助情報を生成するために予め定められた第1の所定の計算と、上記証明データを生成するために予め定められた第2の所定の計算とを、上記ユーザの固有情報、上記アクセス資格の特徴情報および上記証明用補助情報が対応する場合に上記証明データ検証手段が上記証明データを正当なものと検証するように選定したことを特徴とするアクセス資格認証方法。
  79. 第1の記憶手段、第2の記憶手段、第3の記憶手段、証明データ生成手段および証明データ検証手段を用いて、ユーザの権限を証明するために生成された証明データの正当性を検証することにより上記ユーザのアクセス資格を認証するために用いられるアクセス資格認証用コンピュータプログラムを記録した記録媒体において、
    上記第1の記憶手段に第1の認証用データを記憶する第1の記憶ステップと、
    上記第2の記憶手段にユーザの固有情報を記憶する第2の記憶ステップと、
    上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対し、証明用補助情報を生成するために予め定められた第1の所定の計算を実行した実行結果である証明用補助情報を、上記第3の記憶手段に記憶する第3の記憶ステップと、
    上記第1の記憶ステップで記憶された上記第1の認証用データと、上記第2の記憶ステップで記憶された上記ユーザの固有情報と、上記第3の記憶ステップで記憶された上記証明用補助情報とに、上記証明データ生成手段により、証明データを生成するために予め定められた第2の所定の計算を施して証明データを生成する証明データ生成ステップと、
    上記証明データ生成ステップによって生成された証明データが、上記アクセス資格認証の特徴情報に基づいて生成されていることを、上記証明データ検証手段により検証する証明データ検証ステップとをコンピュータに実行させるために用いられるコンピュータプログラムをコンピュータに読み出し可能に記録した記録媒体であって、
    特に上記アクセス資格認証の特徴情報Xが、法p、正整数aとして、Y=a mod pなる関係を満たすように構成される、非対称暗号系における復号鍵であり、YがXに対応する暗号化の鍵であるとき、
    上記証明データ生成ステップは、第1の記憶ステップでに記憶された第1の認証用データに対して、法pのもとで、上記Xの値でべき乗した値を証明データとして生成し、
    上記証明データ検証ステップは、上記証明データ生成ステップが生成した証明データを用いることにより、上記Yによって暗号化されたデータが正しく復号可能であることを検証し、
    さらに、上記証明用補助情報を生成するために予め定められた第1の所定の計算と、上記証明データを生成するために予め定められた第2の所定の計算とを、上記ユーザの固有情報、上記アクセス資格の特徴情報および上記証明用補助情報が対応する場合に上記証明データ検証手段が上記証明データを正当なものと検証するように選定したことを特徴とするアクセス資格認証用コンピュータプログラムを記録した記録媒体。
  80. 第1の記憶手段、第2の記憶手段、第3の記憶手段、第4の記憶手段、乱数生成手段、証明データ生成手段および証明データ検証手段を用いて、ユーザの権限を証明するために生成された証明データの正当性を検証することにより上記ユーザのアクセス資格を認証するアクセス資格認証用コンピュータプログラムを記録した記録媒体において、
    上記第1の記憶手段に第1の認証用データを記憶する第1の記憶ステップと、
    上記第2の記憶手段にユーザの固有情報を記憶する第2の記憶ステップと、
    上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対し、証明用補助情報を生成するために予め定められた第1の所定の計算を実行した実行結果である証明用補助情報を、上記第3の記憶手段に記憶する第3の記憶ステップと、
    上記第4の記憶手段に第2の認証用データを記憶する第4の記憶ステップと、
    上記乱数生成手段により乱数生成ステップと、
    上記第1の記憶ステップで記憶された上記第1の認証用データと、上記第2の記憶ステップで記憶された上記ユーザの固有情報と、上記第3の記憶ステップで記憶された上記証明用補助情報とに、上記証明データ生成手段により、証明データを生成するために予め定められた第2の所定の計算を施して証明データを生成する証明データ生成ステップと、
    上記証明データ生成ステップによって生成された証明データが、上記アクセス資格認証の特徴情報に基づいて生成されていることを、上記証明データ検証手段により検証する証明データ検証ステップとをコンピュータに実行させるためのコンピュータプログラムをコンピュータに読み出し可能に記録した記録媒体であって、
    特に上記アクセス資格認証の特徴情報Xが、法p、正整数aとして、Y=a mod pなる関係を満たすように構成される、非対称暗号系における復号鍵であり、YがXに対応する暗号化の鍵であるとき、
    上記第2の認証用データが所定のデータを上記復号鍵に対応する暗号化鍵を用いて暗号化したものであり、
    上記乱数生成ステップは、第1の認証用データCに対して発生させた乱数による効果を施した値と、第2の認証用データCもしくは第2の認証用データCに対して上記乱数による効果を施した値の組とを、第1の記憶ステップにより記憶させ、
    上記証明データ検証ステップは、上記証明データ生成ステップによって生成された証明データから上記乱数による効果を除去した結果が、アクセス資格認証の特徴情報である復号鍵で、上記第4の記憶ステップで記憶された第2の認証用データCを正しく復号したものであることを検証し、
    さらに、上記証明用補助情報を生成するために予め定められた第1の所定の計算と、上記証明データを生成するために予め定められた第2の所定の計算とを、上記ユーザの固有情報、上記アクセス資格の特徴情報および上記証明用補助情報が対応する場合に上記証明データ検証手段が上記証明データを正当なものと検証するように選定したことを特徴とするアクセス資格認証用コンピュータプログラムを記録した記録媒体。
  81. 第1の記憶手段、第2の記憶手段、第3の記憶手段、証明データ生成手段および証明データ検証手段を用いて、ユーザの権限を証明するために生成された証明データの正当性を検証することにより上記ユーザのアクセス資格を認証するアクセス資格認証用コンピュータプログラムを記録した記録媒体において、
    上記第1の記憶手段に第1の認証用データを記憶する第1の記憶ステップと、
    上記第2の記憶手段にユーザの固有情報を記憶する第2の記憶ステップと、
    上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対し、証明用補助情報を生成するために予め定められた第1の所定の計算を実行した実行結果である証明用補助情報を、上記第3の記憶手段に記憶する第3の記憶ステップと、
    上記第1の記憶ステップで記憶された認証用データと、上記第2の記憶ステップで記憶された上記ユーザの固有情報と、上記第3の記憶ステップで記憶された上記証明用補助情報とに、上記証明データ生成手段により、証明データを生成するために予め定められた第2の所定の計算を施して証明データを生成する証明データ生成ステップと、
    上記証明データ生成ステップによって生成された証明データが上記アクセス資格認証の特徴情報に基づいて生成されていることを、上記証明データ検証手段により検証する証明データ検証ステップとをコンピュータに実行させるためのコンピュータプログラムをコンピュータに読み出し可能に記録した記録媒体であって、
    上記アクセス資格認証の特徴情報が、有限体上の楕円曲線において定義される非対象鍵暗号の復号鍵であり、
    さらに、上記証明用補助情報を生成するために予め定められた第1の所定の計算と、上記証明データを生成するために予め定められた第2の所定の計算とを、上記ユーザの固有情報、上記アクセス資格の特徴情報および上記証明用補助情報が対応する場合に上記証明データ検証手段が上記証明データを正当なものと検証するように選定したことを特徴とするアクセス資格認証用コンピュータプログラムを記録した記録媒体。
JP11731897A 1997-05-07 1997-05-07 アクセス資格認証装置および方法 Expired - Fee Related JP3613929B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP11731897A JP3613929B2 (ja) 1997-05-07 1997-05-07 アクセス資格認証装置および方法
US09/066,752 US6073234A (en) 1997-05-07 1998-04-27 Device for authenticating user's access rights to resources and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11731897A JP3613929B2 (ja) 1997-05-07 1997-05-07 アクセス資格認証装置および方法

Publications (2)

Publication Number Publication Date
JPH10308732A JPH10308732A (ja) 1998-11-17
JP3613929B2 true JP3613929B2 (ja) 2005-01-26

Family

ID=14708790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11731897A Expired - Fee Related JP3613929B2 (ja) 1997-05-07 1997-05-07 アクセス資格認証装置および方法

Country Status (2)

Country Link
US (1) US6073234A (ja)
JP (1) JP3613929B2 (ja)

Families Citing this family (117)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
JPH08263438A (ja) * 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US6963859B2 (en) 1994-11-23 2005-11-08 Contentguard Holdings, Inc. Content rendering repository
US6233684B1 (en) * 1997-02-28 2001-05-15 Contenaguard Holdings, Inc. System for controlling the distribution and use of rendered digital works through watermaking
JP3867388B2 (ja) * 1998-02-12 2007-01-10 富士ゼロックス株式会社 条件付き認証装置および方法
IL128609A0 (en) * 1999-02-18 2000-01-31 Nds Ltd Identification protocols
JP4362888B2 (ja) * 1999-05-18 2009-11-11 ソニー株式会社 情報処理装置および方法、並びに記録媒体
JP2001117823A (ja) 1999-10-15 2001-04-27 Fuji Xerox Co Ltd アクセス資格認証機能付きデータ記憶装置
EP1168253A1 (en) * 2000-06-28 2002-01-02 Sicpa Holding S.A. Use of communication equipment and method for authenticating an item, specifically documents, in particular security documents, communication equipment for authenticating items, and items to be authenticated by communication equipment
JP2002023286A (ja) * 2000-07-10 2002-01-23 Noritsu Koki Co Ltd 音声付き写真のプリント装置及び音声付き写真の音声再生装置
WO2002009458A2 (en) * 2000-07-24 2002-01-31 Bluesocket, Inc. Method and system for enabling seamless roaming in a wireless network
US7206941B2 (en) 2000-08-28 2007-04-17 Contentguard Holdings, Inc. Method and apparatus for validating security components through a request for content
US7743259B2 (en) * 2000-08-28 2010-06-22 Contentguard Holdings, Inc. System and method for digital rights management using a standard rendering engine
US7343324B2 (en) 2000-11-03 2008-03-11 Contentguard Holdings Inc. Method, system, and computer readable medium for automatically publishing content
US6912294B2 (en) * 2000-12-29 2005-06-28 Contentguard Holdings, Inc. Multi-stage watermarking process and system
US7028009B2 (en) * 2001-01-17 2006-04-11 Contentguardiholdings, Inc. Method and apparatus for distributing enforceable property rights
US7774279B2 (en) 2001-05-31 2010-08-10 Contentguard Holdings, Inc. Rights offering and granting
US20040039704A1 (en) * 2001-01-17 2004-02-26 Contentguard Holdings, Inc. System and method for supplying and managing usage rights of users and suppliers of items
US8069116B2 (en) 2001-01-17 2011-11-29 Contentguard Holdings, Inc. System and method for supplying and managing usage rights associated with an item repository
US6754642B2 (en) * 2001-05-31 2004-06-22 Contentguard Holdings, Inc. Method and apparatus for dynamically assigning usage rights to digital works
US6732278B2 (en) * 2001-02-12 2004-05-04 Baird, Iii Leemon C. Apparatus and method for authenticating access to a network resource
JP2002278839A (ja) * 2001-03-15 2002-09-27 Sony Corp データアクセス管理システム、メモリ搭載デバイス、およびデータアクセス管理方法、並びにプログラム記憶媒体
JP2002278838A (ja) * 2001-03-15 2002-09-27 Sony Corp メモリアクセス制御システム、デバイス管理装置、パーティション管理装置、メモリ搭載デバイス、およびメモリアクセス制御方法、並びにプログラム記憶媒体
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US8099364B2 (en) 2001-05-31 2012-01-17 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US8001053B2 (en) 2001-05-31 2011-08-16 Contentguard Holdings, Inc. System and method for rights offering and granting using shared state variables
US8275716B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
US7725401B2 (en) 2001-05-31 2010-05-25 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
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
US8275709B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
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
US7853531B2 (en) 2001-06-07 2010-12-14 Contentguard Holdings, Inc. Method and apparatus for supporting multiple trust zones in a digital rights management system
US7774280B2 (en) 2001-06-07 2010-08-10 Contentguard Holdings, Inc. System and method for managing transfer of rights using shared state variables
US20030051129A1 (en) * 2001-09-10 2003-03-13 Ravi Razdan Protecting confidential digital information at application service providers
US7042988B2 (en) 2001-09-28 2006-05-09 Bluesocket, Inc. Method and system for managing data traffic in wireless networks
JP3668175B2 (ja) * 2001-10-24 2005-07-06 株式会社東芝 個人認証方法、個人認証装置および個人認証システム
GB0126426D0 (en) * 2001-11-03 2002-01-02 Royal Holloway University Of L Authentication of a remote user to a host in a data communication system
US7974923B2 (en) * 2001-11-20 2011-07-05 Contentguard Holdings, Inc. Extensible rights expression processing system
US7840488B2 (en) * 2001-11-20 2010-11-23 Contentguard Holdings, Inc. System and method for granting access to an item or permission to use an item based on configurable conditions
WO2003044680A1 (en) * 2001-11-20 2003-05-30 Contentguard Holdings, Inc. Systems and methods for creating, manipulating and processing rights and contract expressions using tokenized templates
US7325065B1 (en) * 2001-12-21 2008-01-29 Aol Llc, A Delaware Limited Liability Company Identifying unauthorized communication systems using a system-specific identifier
KR100447623B1 (ko) * 2002-01-31 2004-09-07 학교법인고려중앙학원 무선 인터넷에서의 티켓 기반 인증 및 지불 방법
WO2003077955A1 (en) * 2002-03-14 2003-09-25 Contentguard Holdings, Inc. System and method for expressing usage rights using modulated signals
US7805371B2 (en) * 2002-03-14 2010-09-28 Contentguard Holdings, Inc. Rights expression profile system and method
US20030229593A1 (en) * 2002-03-14 2003-12-11 Michael Raley Rights expression profile system and method
US8543511B2 (en) * 2002-04-29 2013-09-24 Contentguard Holdings, Inc. System and method for specifying and processing legality expressions
US20030204731A1 (en) * 2002-04-29 2003-10-30 Pochuev Denis A. Method and apparatus to enhance the security of data
US20040030887A1 (en) * 2002-08-07 2004-02-12 Harrisville-Wolff Carol L. System and method for providing secure communications between clients and service providers
DE10259755A1 (de) * 2002-12-19 2004-07-08 Bt Ingnite Gmbh & Co Automatische Terminal- oder Nutzeridentifizierung in Netzwerken
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US9781154B1 (en) 2003-04-01 2017-10-03 Oracle International Corporation Systems and methods for supporting information security and sub-system operational protocol conformance
US10275723B2 (en) 2005-09-14 2019-04-30 Oracle International Corporation Policy enforcement via attestations
US10063523B2 (en) * 2005-09-14 2018-08-28 Oracle International Corporation Crafted identities
US8281374B2 (en) * 2005-09-14 2012-10-02 Oracle International Corporation Attested identities
US7685642B2 (en) * 2003-06-26 2010-03-23 Contentguard Holdings, Inc. System and method for controlling rights expressions by stakeholders of an item
US8468330B1 (en) 2003-06-30 2013-06-18 Oracle International Corporation Methods, systems, and data structures for loading and authenticating a module
US20050097593A1 (en) * 2003-11-05 2005-05-05 Michael Raley System, method and device for selected content distribution
US20070198583A1 (en) * 2003-12-25 2007-08-23 H & T Corporation Safety test support system,method,and program
US8442219B2 (en) * 2004-03-31 2013-05-14 Jesse Lipson Public key cryptographic methods and systems
US7580894B2 (en) * 2004-09-30 2009-08-25 Nokia Corporation Method, device and computer program product for activating the right of use at least one secured content item
US20060107326A1 (en) * 2004-11-12 2006-05-18 Demartini Thomas Method, system, and device for verifying authorized issuance of a rights expression
US8660961B2 (en) 2004-11-18 2014-02-25 Contentguard Holdings, Inc. Method, system, and device for license-centric content consumption
US20060106726A1 (en) * 2004-11-18 2006-05-18 Contentguard Holdings, Inc. Method, system, and device for license-centric content consumption
US20060112015A1 (en) * 2004-11-24 2006-05-25 Contentguard Holdings, Inc. Method, system, and device for handling creation of derivative works and for adapting rights to derivative works
US8423788B2 (en) * 2005-02-07 2013-04-16 Sandisk Technologies Inc. Secure memory card with life cycle phases
US8108691B2 (en) * 2005-02-07 2012-01-31 Sandisk Technologies Inc. Methods used in a secure memory card with life cycle phases
US8321686B2 (en) * 2005-02-07 2012-11-27 Sandisk Technologies Inc. Secure memory card with life cycle phases
US20060248573A1 (en) * 2005-04-28 2006-11-02 Content Guard Holdings, Inc. System and method for developing and using trusted policy based on a social model
US20060265759A1 (en) * 2005-05-19 2006-11-23 Microsoft Corporation Systems and methods for identifying principals to control access to computing resources
US7716734B2 (en) * 2005-05-19 2010-05-11 Microsoft Corporation Systems and methods for pattern matching on principal names to control access to computing resources
US7478220B2 (en) * 2005-06-23 2009-01-13 International Business Machines Corporation Method, apparatus, and product for prohibiting unauthorized access of data stored on storage drives
JP2007011535A (ja) * 2005-06-29 2007-01-18 Miroku Jyoho Service Co Ltd データファイル保護装置
US7748031B2 (en) * 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
US8966284B2 (en) * 2005-09-14 2015-02-24 Sandisk Technologies Inc. Hardware driver integrity check of memory card controller firmware
US7934049B2 (en) * 2005-09-14 2011-04-26 Sandisk Corporation Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory
JP2009510625A (ja) * 2005-09-29 2009-03-12 コンテントガード ホールディングズ インコーポレイテッド 権利発行を伴うアドバンストコピー、及び管理されたコピートークンを用いたデジタル著作権管理システム及び方法
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US7720767B2 (en) * 2005-10-24 2010-05-18 Contentguard Holdings, Inc. Method and system to support dynamic rights and resources sharing
US7499552B2 (en) * 2006-01-11 2009-03-03 International Business Machines Corporation Cipher method and system for verifying a decryption of an encrypted user data key
US8112626B1 (en) 2006-01-20 2012-02-07 Symantec Corporation Method and apparatus to provide public key authentication with low complexity devices
JP2007304686A (ja) * 2006-05-09 2007-11-22 Sii Ido Tsushin Kk 不正コピー防止システム、不正コピー防止装置及びコンピュータプログラム
MX2008015210A (es) 2006-06-09 2009-05-28 Verisign Inc Metodo y aparato para proporcionar autentificacion y privacidad con dispositivos de baja complejidad.
US20080052524A1 (en) * 2006-08-24 2008-02-28 Yoram Cedar Reader for one time password generating device
US8423794B2 (en) * 2006-12-28 2013-04-16 Sandisk Technologies Inc. Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications
ES2692435T3 (es) * 2007-05-18 2018-12-03 Secure Keys Pty Limited Token de seguridad y sistema y procedimiento para la generación y decodificación del token de seguridad
EP2194464A4 (en) * 2007-09-28 2013-09-25 Dainippon Printing Co Ltd SEARCH EDUCATION SYSTEM
US8660268B2 (en) * 2008-04-29 2014-02-25 Red Hat, Inc. Keyed pseudo-random number generator
US8156333B2 (en) * 2008-05-29 2012-04-10 Red Hat, Inc. Username based authentication security
US9258113B2 (en) * 2008-08-29 2016-02-09 Red Hat, Inc. Username based key exchange
US9106426B2 (en) 2008-11-26 2015-08-11 Red Hat, Inc. Username based authentication and key generation
US9225526B2 (en) * 2009-11-30 2015-12-29 Red Hat, Inc. Multifactor username based authentication
US20160292445A1 (en) 2015-03-31 2016-10-06 Secude Ag Context-based data classification
EP3196798A1 (en) 2016-01-19 2017-07-26 Secude AG Context-sensitive copy and paste block
US10116667B2 (en) 2016-01-26 2018-10-30 Bank Of America Corporation System for conversion of an instrument from a non-secured instrument to a secured instrument in a process data network
US10438209B2 (en) 2016-02-10 2019-10-08 Bank Of America Corporation System for secure routing of data to various networks from a process data network
US10129238B2 (en) 2016-02-10 2018-11-13 Bank Of America Corporation System for control of secure access and communication with different process data networks with separate security features
US10142347B2 (en) 2016-02-10 2018-11-27 Bank Of America Corporation System for centralized control of secure access to process data network
US11374935B2 (en) 2016-02-11 2022-06-28 Bank Of America Corporation Block chain alias person-to-person resource allocation
US10440101B2 (en) 2016-02-22 2019-10-08 Bank Of America Corporation System for external validation of private-to-public transition protocols
US10607285B2 (en) 2016-02-22 2020-03-31 Bank Of America Corporation System for managing serializability of resource transfers in a process data network
US10496989B2 (en) 2016-02-22 2019-12-03 Bank Of America Corporation System to enable contactless access to a transaction terminal using a process data network
US10178105B2 (en) * 2016-02-22 2019-01-08 Bank Of America Corporation System for providing levels of security access to a process data network
US10475030B2 (en) 2016-02-22 2019-11-12 Bank Of America Corporation System for implementing a distributed ledger across multiple network nodes
US10026118B2 (en) 2016-02-22 2018-07-17 Bank Of America Corporation System for allowing external validation of data in a process data network
US10636033B2 (en) 2016-02-22 2020-04-28 Bank Of America Corporation System for routing of process authorizations and settlement to a user in a process data network
US10142312B2 (en) 2016-02-22 2018-11-27 Bank Of America Corporation System for establishing secure access for users in a process data network
US10318938B2 (en) 2016-02-22 2019-06-11 Bank Of America Corporation System for routing of process authorization and settlement to a user in process data network based on specified parameters
US10140470B2 (en) 2016-02-22 2018-11-27 Bank Of America Corporation System for external validation of distributed resource status
US10679215B2 (en) 2016-02-22 2020-06-09 Bank Of America Corporation System for control of device identity and usage in a process data network
US10387878B2 (en) 2016-02-22 2019-08-20 Bank Of America Corporation System for tracking transfer of resources in a process data network
US10135870B2 (en) 2016-02-22 2018-11-20 Bank Of America Corporation System for external validation of secure process transactions
US10762504B2 (en) 2016-02-22 2020-09-01 Bank Of America Corporation System for external secure access to process data network
US10402796B2 (en) 2016-08-29 2019-09-03 Bank Of America Corporation Application life-cycle transition record recreation system
US11631077B2 (en) 2017-01-17 2023-04-18 HashLynx Inc. System for facilitating secure electronic communications between entities and processing resource transfers
US10929545B2 (en) 2018-07-31 2021-02-23 Bank Of America Corporation System for providing access to data stored in a distributed trust computing network
CN109558451B (zh) * 2018-11-14 2022-06-10 咪咕文化科技有限公司 一种数据管理方法及系统、存储介质
CN111539622A (zh) * 2020-04-22 2020-08-14 国网信通亿力科技有限责任公司 基于云平台、微服务架构的集体企业项目管理平台

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442706A (en) * 1992-02-27 1995-08-15 Hughes Aircraft Company Secure mobile storage
US5963649A (en) * 1995-12-19 1999-10-05 Nec Corporation Message authorization system for authorizing message for electronic document
US5875248A (en) * 1997-02-25 1999-02-23 International Business Machines Corporation Method of counterfeit detection of electronic data stored on a device

Also Published As

Publication number Publication date
US6073234A (en) 2000-06-06
JPH10308732A (ja) 1998-11-17

Similar Documents

Publication Publication Date Title
JP3613929B2 (ja) アクセス資格認証装置および方法
JP3613936B2 (ja) アクセス資格認証装置
JP3622433B2 (ja) アクセス資格認証装置および方法
JP3613921B2 (ja) アクセス資格認証装置および方法
JP3671611B2 (ja) アクセス資格認証装置および方法
EP0881559B1 (en) Computer system for protecting software and a method for protecting software
JP4113274B2 (ja) 認証装置および方法
JP3867388B2 (ja) 条件付き認証装置および方法
EP1374473B1 (en) Method and apparatus for secure cryptographic key generation, certification and use
EP1844418B1 (en) Private and controlled ownership sharing
KR100912276B1 (ko) 하드웨어 식별에 기초한 디지털권 관리 방법을 이용한 전자소프트웨어 배포 방법 및 시스템
JP4764639B2 (ja) ファイルの暗号化・復号化プログラム、プログラム格納媒体
EP0803789A2 (en) Software copy protection mechanism
CN106953732B (zh) 芯片卡的密钥管理系统及方法
US6651169B1 (en) Protection of software using a challenge-response protocol embedded in the software
JPH1131130A (ja) サービス提供装置
Chen et al. A novel DRM scheme for accommodating expectations of personal use
JP3791169B2 (ja) 認証装置および方法
JP2000115160A (ja) 公開鍵証明証発行システム、方法及び記録媒体
WO2006077544A1 (en) A method for discouraging illegal distribution of content within a drm system for commercial and personal content
WO2024014017A1 (ja) メッセージ提示システム、提示用装置、及びメッセージ提示方法
JP4626001B2 (ja) 暗号化通信システム及び暗号化通信方法
WO2006077546A2 (en) Registration phase

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040607

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040721

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041025

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081112

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091112

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101112

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111112

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111112

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121112

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121112

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 9

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S802 Written request for registration of partial abandonment of right

Free format text: JAPANESE INTERMEDIATE CODE: R311802

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees