JP3622433B2 - Access credential authentication apparatus and method - Google Patents

Access credential authentication apparatus and method Download PDF

Info

Publication number
JP3622433B2
JP3622433B2 JP21039997A JP21039997A JP3622433B2 JP 3622433 B2 JP3622433 B2 JP 3622433B2 JP 21039997 A JP21039997 A JP 21039997A JP 21039997 A JP21039997 A JP 21039997A JP 3622433 B2 JP3622433 B2 JP 3622433B2
Authority
JP
Japan
Prior art keywords
signature
user
authentication
key
generation
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
JP21039997A
Other languages
Japanese (ja)
Other versions
JPH1155249A (en
Inventor
太郎 寺尾
るみ子 筧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP21039997A priority Critical patent/JP3622433B2/en
Publication of JPH1155249A publication Critical patent/JPH1155249A/en
Priority to US09/794,074 priority patent/US7137007B2/en
Application granted granted Critical
Publication of JP3622433B2 publication Critical patent/JP3622433B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • 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/3218Cryptographic 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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

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の記憶手段と、上記ユーザの固有情報と、署名鍵より計算された固有署名鍵を記憶する第2の記憶手段と、上記第1の記憶手段に保持されたユーザの固有情報を用いてプレ署名を生成する第1の生成手段と、上記第2の記憶手段に保持されたユーザの固有署名鍵を用いて署名を生成する第2の生成手段と、第2の生成手段の生成した署名の正当性を検証する検証手段とを設け、第1の生成手段と第2の生成手段が協調して署名を生成するようにしている。
【0025】
この構成においては、固有署名鍵(アクセスチケット)を導入することにより、アクセス資格認証の特徴情報とユーザ固有情報とを独立させることができ、したがってプロテクト側もユーザ側も、1つの固有情報を準備しておくだけですむ。
【0026】
アクセスチケットは、特定のユーザの固有情報とアクセス資格認証の特徴情報とに基づいて計算されるデータであり、また、ユーザ固有情報を知らずに、アクセスチケットからアクセス資格認証の特徴情報を計算することは困難である。そして、ユーザ固有情報とアクセスチケットとの正しい組み合わせ、すなわち、ユーザ固有情報と該ユーザ固有情報に基づいて計算されたアクセスチケットの組み合わせが入力された場合に限って、正しい証明用データが計算される。したがってユーザはあらかじめ固有情報を保持し、プログラム作成者等のプロテクト者はユーザが所持する固有情報とは独立にアクセス資格認証の特徴情報を用意し、アクセスチケットをユーザの固有情報とアプリケーションプログラムの作成等に使用したアクセス資格認証の特徴情報とに応じて作成し、配布することにより、実行制御等のユーザのアクセス資格の認証を行う事ができる。
【0027】
なお、本発明は、方法としても実現可能である。さらに本発明の少なくとも一部をプログラム製品として実現することもできる。
【0028】
【発明の実施の態様】
[全体の構成]
以下、本発明を詳細に説明する。具体的な個別の実施例を述べる前に、本発明の実施形態の全体像を以下に述べる。
【0029】
まず、本発明を、ユーザのPCあるいはワークステーション上で動作するアプリケーションプログラムの実行制御に用いる場合について述べる。図1にこの実施形態における装置の構成を示す。
【0030】
図1において、プログラム実行制御装置(ユーザ認証装置)は、証明データ検証装置10、証明データ生成装置11およびアクセスチケット生成装置12を含んで構成されている。証明データ検証装置10は検証手段13を具備し、また認証用データ14を保持している。証明データ生成装置11は、署名データ生成手段15およびプレ署名データ生成手段16を具備し、またユーザ固有情報17および固有署名鍵(アクセスチケット)18を保持している。アクセスチケット生成装置12はアクセスチケット18を生成して証明データ生成装置11に供給する。アクセスチケット18については後に詳述する。
【0031】
証明データ検証装置10は認証用データ14を証明データ生成装置11に送出する。証明データ生成装置11の署名データ生成手段15およびプレ署名データ生成手段16は、受け取った認証用データ14と、保持しているユーザ固有情報(ユーザを識別するための固有情報)17とアクセスチケット18とから証明データ(署名)を生成し、証明データ検証装置10に返す。証明データ検証装置10の検証手段13は、署名を検証し、検証が成功すればプログラムの実行が許容される。
【0032】
この実施例では、証明データ生成装置11はユーザが用いる計算機上の証明用プログラムとして実現することができる。この際、ユーザを識別するための固有情報(ユーザ固有情報)17を、ユーザがコピーして配布することができると、正当な利用権をもたないユーザにもアプリケーションプログラムの使用を許すこととなる。そこで、ユーザ固有情報17はその正当な保持者であるユーザであってもこれを窃取することができないように、該計算機に装着され、耐タンパー特性を有する証明用ハードウェア(ICカード、ボードなど)を併用することが好ましい。この際、ICカードのような携帯性のあるハードウェアを用いれば、ユーザが複数のPCあるいはワークステーション上で作業をする場合に便利である。
【0033】
証明データ検証装置10はユーザが利用するアプリケーションプログラムの一部として構成される。即ち、ユーザがアプリケーションプログラムをPCあるいはワークステーション上で起動すると、アプリケーションプログラム中にプログラムとして記述された証明データ検証装置10が起動され、証明データ生成装置11と通信してユーザ認証を行い、通信が正しく終了した場合に限って該アプリケーションプログラムの実行を可能とする。
【0034】
ユーザが、証明データ検証装置10が埋めこまれた前記アプリケーションプログラムを利用するためには、ユーザ本人宛に発行され、前記アプリケーションプログラムに対応する固有署名鍵(アクセスチケット)を取得する必要がある。ユーザは、前記PCあるいはワークステーション上にインストールされた証明データ生成プログラムに、取得したアクセスチケットを登録するとともに、例えば、ユーザ固有情報がICカードに封入されている場合には、ICカードを前記PCあるいはワークステーションに装着する。アクセスチケットは、前記PCあるいはワークステーション上に置く構成にしてもよいし、ICカード中に置いてもよい。
【0035】
証明データ生成装置11(PCあるいはワークステーション上のプログラムとICカードによって構成される)は、ユーザ固有情報17とアクセスチケット18に基づいて計算を行い、その計算に基づいて証明データ検証装置10と通信を行う。この計算の過程でユーザ固有情報17が用いられるが、ユーザ固有情報17が外部に漏洩すると問題があるため、前記プログラムの少なくとも一部はICカード等の防御手段によって保護される必要がある。
【0036】
通信の結果、証明データ検証装置10による認証が成功するのは、ユーザ固有情報17と、アクセスチケット18と、証明データ検証装置10が検証するアクセス資格認証の特徴情報の三つが正しく対応している場合に限られる。
【0037】
ユーザ固有情報17あるいはアクセスチケット18の一方が欠けていた場合には、認証は成功しない。
【0038】
アクセスチケット18は特定のユーザ宛に発行される。即ち、アクセスチケット18の生成に際して、特定のユーザのユーザ固有情報17が使用される。アクセスチケット18の生成時に使用されるユーザ固有情報17と、証明データ生成装置11によって使用されるユーザ固有情報17とが一致していない場合、やはり、認証は成功しない。
【0039】
また、アクセスチケット18は、特定のアクセス資格認証の特徴情報に基づいて生成され、証明データ検証装置10はこのアクセス資格認証の特徴情報を認証するように構成される。従って、アクセスチケットの生成のもととなった特徴情報と、アプリケーションプログラムに埋めこまれている証明データ検証装置10が認証しようとする特徴情報とが互いに対応していなかった場合にも、認証は成功しない。
【0040】
また、アプリケーションプログラムがネットワークによって結合された別の計算機上で実行され、実行結果がネットワークを介してユーザが用いる計算機に通信されるものとしてもよい。この場合、いわゆるサーバ・クライアントモデルに基づく構成となる。先に述べた、ユーザのPCあるいはワークステーション上で実行されるアプリケーションプログラムの実行制御の場合では、証明データ生成装置11と証明データ検証装置10との通信がいわゆるプロセス間通信として実行されるのに対し、サーバ・クライアント・モデルに従った場合、証明データ生成装置11と証明データ検証装置10との通信はTCP/IP(トランスミッション・コントロール・プロトコル/インターネット・プロトコル)などのネットワークプロトコルに従った通信として実行される。
【0041】
また、アプリケーションプログラムが専用装置上に構成されている場合にも、本発明を適用することが可能である。例えば、証明データ生成装置11の全体をICカード内に実装し、取得したアクセスチケット18もICカードに登録するものとする。証明データ検証装置10は前記専用装置上に実装されるが、該専用装置はICカードを挿入するためのスロットを備え、ユーザは該スロットに所有するICカードを挿入することで認証を行う。
【0042】
このような専用装置による構成は、銀行のATM機や、ゲームセンターにおけるゲーム機などに適用することができる。
【0043】
ユーザによるアクセスチケット18の取得に関しては、アクセスチケット18を発行する共通のセンターが、ユーザからの発行依頼に応じて生成して配布する方法と、アプリケーションプログラムの作成者が、アクセスチケット発行プログラムやアクセスチケット生成装置12の助けを借りて個別に生成する方法がある。
【0044】
このような場合、アクセスチケット生成装置12は、チケット発行者によって管理され、アクセスチケット18はこれら正当な権利者等によって、ユーザの環境とは別個に作成され、配布される。
【0045】
生成されたアクセスチケット18は、フロッピーディスク等の可搬型記憶媒体を介してユーザに配送されるものとしてもよいが、アクセスチケット18が十分な安全性を備えていることから、電子メールなどを用いてネットワークを介して配送されるように構成してもよい。
【0046】
アクセスチケット18の安全性とは、以下の二つの性質である。
【0047】
1)アクセスチケットは記名式である。即ち、アクセスチケットが発行されたユーザ本人(正確には、アクセスチケット生成時に用いられたユーザ固有情報の保持者)だけが該アクセスチケットを用いて証明データ生成装置を正しく作動させることができる。従って、悪意の第三者が、他のユーザのアクセスチケットを不正に手に入れたとしても、この第三者がアクセスチケットの発行先である正規のユーザのユーザ固有情報を手に入れないかぎり、このアクセスチケットを利用することは不可能である。
【0048】
2)アクセスチケットはさらに厳密な安全性を保持している。即ち、悪意の第三者が任意個数のアクセスチケットを集めて、いかなる解析を行ったとしても、得られた情報をもとに別のアクセスチケットを偽造したり、証明データ生成装置の動作を模倣して認証を成立させるような装置を構成することは不可能である。
【0049】
[具体的な構成]
以下では、より具体的な構成について実施例に即して説明する。この実施例では、以下に説明する一般的な離散対数問題に基づいた署名方式にアクセスチケットを適用する場合の構成例を示す。
【0050】
本発明の実施例で用いられる署名方式は、離散対数問題が計算量的に困難な有限群G(乗法的に記す)と位数がnの元gを用いる。
【0051】
署名鍵xは、有理整数環の法nによる剰余類環Z/nZの元であり、検証鍵yは、y=gを満たす有限群Gの元である。
【0052】
剰余類環Z/nZの元mに対する署名は、Z/nZの二つの元rとsとからなり、署名の検証は
【0053】
【数2】
(1−1) r=H(g,m)
で与えられる。ここで関数Hは有限群Gの元aと剰余類環Z/nZの元bより剰余類環Z/nZの元H(a,b)を決める任意の二変数関数である。また、署名rおよびsは次のとおりである。
【0054】
【数3】
r=g
s=k−r’x
ただし、r’=H(m,r)であり、k∈Z/nZの乱数である。
【0055】
図2は、本実施例の証明データ検証装置10および証明データ生成装置11の構成例を示し、図3は証明データ生成装置11の署名生成部を中心に詳細な構成を示している。また、図4に本実施例の動作を示す。なお、図2および図3において図1と対応する箇所には対応する符号を付した。
【0056】
図2において、証明データ検証装置10は、検証部13、検証鍵記憶部21、乱数生成部22、認証用データ記憶部23、および署名記憶部24を含んで構成されている。また、証明データ生成装置11は、署名データ生成部15、プレ署名データ生成部16、ユーザ固有情報記憶部25、アクセスチケット記憶部26、検証鍵記憶部27、および認証用データ記憶部28を含んで構成されている。
【0057】
さて、ユーザを識別するために、ユーザ毎に異なる数であるユーザ固有情報eを定める。eは、ユーザ固有情報記憶部25に記憶されている。プレ署名生成部16およびユーザ固有情報記憶部25は防御手段(トークンともいう)29に収容されている。
【0058】
図3は、図2の証明データ生成装置11のプレ署名生成部16および署名生成部15の詳細な構成を中心に示すものである。すなわち、図2のプレ署名生成部16は乱数生成部30、補助署名鍵記憶部31、第1のプレ署名生成部16Aおよび第2のプレ署名生成部16Bからなっている。また、図2の証明データ生成装置11の署名生成部15は第1の署名生成部15Aおよび第2の署名生成部15Bからなっている。さらに図2の証明データ検証装置10の証明記憶部24は第1の署名記憶部24Aおよび第2の証明記憶部24Bからなっている。
【0059】
アクセスチケットtは次の式1−2に基づいて生成される。
【0060】
【数4】
(1−2) t=x−f(e,y) mod N
ここでNはnの任意の倍元である。もちろん、N=0の場合は(1−2)は有理整数環上で行われる。剰余類環Z/nZの元を表す代表元として、0,1,2,...,n−1を取ることとして必要ならばこれらを整数とみなして計算を行う。
【0061】
関数fは関数値が衝突しにくい関数であり、例えば、一方向ハッシュ関数hを利用して、式1−3のように定めることができる。
【0062】
【数5】
(1−3) f(x,y)=h(x|y)
ここで、x|yはxとyとのビットの連結であることを表す。
【0063】
一方向ハッシュ関数とは、h(x)=h(y)を満たす相異なるx、yを算出することが著しく困難であるという性質をもつ関数である。一方向ハッシュ関数の例として、RSA Data Security Inc.によるMD2、MD4、MD5、米国連邦政府による規格SHS(Secure Hash Standard)が知られている。
【0064】
また、以下では、証明データ検証装置10が認証を行うために生成するデータmを認証用データ、証明装置が証明のために生成する署名r、sを証明用データとよぶ。
【0065】
以下に本実施例の動作を示す。
【0066】
[ステップ1] ユーザが、プログラム実行制御装置(アクセス資格認証装置)による認証を必要とするプログラム(デジタルコンテンツ)にアクセスすることによって、証明データ検証装置10が起動される。
【0067】
証明データ検証装置10がユーザのPCあるいはワークステーション上で動作するアプリケーションプログラムの一部として構成されている場合、ユーザがキーボードあるいはマウスなどの指示装置を用いた通常の方法で、アプリケーションプログラムを起動する。アプリケーションプログラムの実行が証明データ検証装置10を構成しているプログラムに到達することによりことにより、証明データ検証装置10が起動される。
【0068】
証明データ検証装置10がネットワークで結ばれた他のPCあるいはワークステーション(サーバと呼ぶ)上に構成されている場合、ユーザは自分のPCあるいはワークステーション上の通信プログラムを起動し、該通信プログラムが所定の手続きに従って前記サーバに通信の開設要求を行うことにより、前記サーバ上の証明データ検証装置10が起動される。例えば、ユーザの通信プログラムがサーバと通信する際にTCP/IPと呼ばれる手続きに従うとすると、証明データ検証装置をサーバの特定のポートに予め対応づけておき、更に、ユーザの通信プログラムが該ポートを指定してTCP接続要求をサーバに要求するように設定しておくことにより、サーバ上のデーモン(inetd)がTCP接続要求に応じて証明データ検証装置10を起動することが可能となる。このような実現方法は、インターネットなどのネットワークにおいて広く利用されているものである。
【0069】
証明データ検証装置10を専用目的の装置とすることも可能である。例えば、証明データ検証装置10をICカード・リーダ・ライター内のROMに焼きつけられたプログラムとして構成し、証明データ生成装置10をICカードのマイクロコントローラーに実装されたプログラムとすることができる。この場合、ユーザがICカードをリーダ・ライターに挿入することにより、証明データ検証装置10が起動される。
【0070】
[ステップ2] 証明データ検証装置10は、認証用データmを生成して認証用データ記憶部23に書き込む。認証用データmは、毎回異なる値となるように生成される。本実施例では、証明データ検証装置10が乱数生成部22を持ち、この乱数生成部22が生成する乱数を認証用データmとして、認証用データ記憶部23に書き込む。
【0071】
更に、該認証用データmと、検証鍵記憶部21に記憶されている検証鍵yを、証明データ生成装置11中の受信データ記憶用の検証鍵記憶部27および認証用データ記憶部28に書き込む。
【0072】
[ステップ3] 証明データ生成装置11中の乱数生成部30は、適当な乱数kを生成してkを補助署名鍵記憶部31に記憶し、第1のプレ署名生成部16Aは、有限群Gにおいて底gをk乗し、第1のプレ署名r’を生成する。第1のプレ署名r’は式1−4を満たす。
【0073】
【数6】
(1−4) r’=g
【0074】
[ステップ4] 証明データ生成装置中10の第1の署名生成部15Aは、認証用データ記憶部28に記憶された認証用データmと第1のプレ署名生成部16Aの生成した第1のプレ署名r’より二変数関数Hを用いて第1の署名rを生成し、証明データ検証装置10中の第1の署名記憶部24Aに書き込む。第1の署名rは式1−5を満たす。
【0075】
【数7】
(1−5) r=H(m,r’)
【0076】
[ステップ5] 証明データ生成装置11中の第2のプレ署名生成部16Bは、補助署名鍵記憶部31に記憶された補助署名鍵kと第1の署名生成部15Aの生成した第1の署名rとユーザ固有情報記憶部25に記憶されたユーザ固有情報eと検証鍵記憶部27に記憶された検証鍵yより式1−6を用いて第2のプレ署名s’を生成する。
【0077】
【数8】
(1−6) s’=k−rf(e,y)
【0078】
[ステップ6] 証明データ生成装置11中の第2の署名生成部15Bは、第2のプレ署名生成部16Bが生成した第2のプレ署名s’と第1の署名生成部15Aが生成した第1の署名rとアクセスチケット記憶部26に記憶されているアクセスチケットtより式1−7を用いて第2の署名sを生成し、証明データ検証装置10中の第2の署名記憶部24Bに書き込む。
【0079】
【数9】
(1−7) s=s’−rt
【0080】
[ステップ7] 証明データ検証装置10中の検証部13は、認証用データ記憶部23に記憶された認証用データmと検証鍵記憶部21に記憶された検証鍵yと第1の署名記憶部24Aに記憶された第1の署名rと第2の署名記憶部24Bに記憶された第2の署名sより、先の式1−1(r=H(g,m))の計算を行い検証を行う。
【0081】
証明データ生成装置11において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、検証式が成立し、正しく検証が行われる。
【0082】
本実施例における二変数関数Hを、例えば、ハッシュ関数hを用いて
【0083】
【数10】
(1−8) H(a,b)=h(b|a)
とすることによって、上記の構成でいわゆるSchnorr署名のアクセスチケットによる実現が可能となる。図7はSchnorr署名のアクセスチケットによる実現の動作を示す。
【0084】
この場合、証明データ生成装置11中の第1の署名生成部15Aと証明データ検証装置10中の検証部13はハッシュ関数hを計算する機能を備えれば良い。
【0085】
また、二変数関数Hを、例えば、有限群Gの元bを剰余類環の元{b}に変換し、aと剰余類環において加算を行う、つまり、
【0086】
【数11】
(1−9) H(a,b)=a+{b}
とすることによって、同様の構成でいわゆるメッセージ復元型のNyberg−Rueppel署名のアクセスチケットによる実現が可能となる。図8はNyberg−Rueppel署名のアクセスチケットによる実現の動作を示す。
【0087】
以上で実施例の説明を終了する。なお、本発明は上述の実施例に限定されるものではなく、種々変更が可能である。例えば、上述実施例では、証明データ生成装置にアクセスチケットを供給し、証明データ生成装置において署名を生成し、証明データ検証装置に送るようにしているが、アクセスチケットを証明データ検証装置に供給し、証明データとして署名の一部やプレ署名を証明データ検証装置に送り、証明データ検証装置で署名を生成し、検証を行うようにしてもよい。また証明データ検証装置と証明データ生成装置とを区別することなく一体型のアクセス資格認証装置を構成し、この装置にユーザ固有情報やアクセスチケットを供給して認証を行うようにしてもよい。また、署名鍵およびユーザ固有情報から固有署名鍵(アクセスチケット)を生成してユーザに送ることにより、安全に署名鍵を配布可能となる。
【0088】
【発明の効果】
以上の説明から明らかなように,本発明によれば、固有署名鍵(アクセスチケット)を導入することにより、アクセス資格認証の特徴情報とユーザ固有情報とを独立させることができ、したがってプロテクト側もユーザ側も、1つの固有情報を準備しておくだけですむ。
【0089】
アクセスチケットは、特定のユーザの固有情報とアクセス資格認証の特徴情報とに基づいて計算されるデータであり、また、ユーザ固有情報を知らずに、アクセスチケットからアクセス資格認証の特徴情報を計算することは困難である。そして、ユーザ固有情報とアクセスチケットとの正しい組み合わせ、すなわち、ユーザ固有情報と該ユーザ固有情報に基づいて計算されたアクセスチケットの組み合わせが入力された場合に限って、正しい証明用データが計算される。したがってユーザはあらかじめ固有情報を保持し、プログラム作成者等のプロテクト者はユーザが所持する固有情報とは独立にアクセス資格認証の特徴情報を用意し、アクセスチケットをユーザの固有情報とアプリケーションプログラムの作成等に使用したアクセス資格認証の特徴情報とに応じて作成し、配布することにより、実行制御等のユーザのアクセス資格の認証を行う事ができる。
【0090】
また、本発明によれば、署名鍵を安全に配布することが可能となり、簡明な鍵供託機構を実現することができる。
【図面の簡単な説明】
【図1】本発明の実施例の全体の構成を示す図である。
【図2】上述実施例の証明データ検証装置および証明データ生成装置の構成を示すブロック図である。
【図3】上述実施例の証明データ検証装置および証明データ生成装置の詳細な構成を示すブロック図である。
【図4】上述実施例の動作を説明する図である。
【図5】上述実施例の動作を説明する図である。
【図6】上述実施例の動作を説明する図である。
【符号の説明】
10 証明データ検証装置
11 証明データ生成装置
12 アクセスチケット生成装置
13 検証手段
14 認証用データ
15 署名データ生成手段
16 プレ署名データ生成手段
17 ユーザ固有情報
18 アクセスチケット
21 検証鍵記憶部
22 乱数(認証用データ)生成部
23 認証用データ記憶部
24 署名記憶部
25 ユーザ固有情報記憶部
26 アクセスチケット記憶部
27 検証鍵記憶部
28 認証用データ記憶部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an access credential authentication technique for authenticating a user's access qualification.
[0002]
[Prior art]
A program execution control technique is known as a prior art belonging to the same field as the present invention. Program execution control technology
(1) A routine for user authentication is embedded in the application program. (2) The routine checks that the user who is attempting to execute the application has a proper authentication key.
{Circle around (3)} A technique for continuing the program only when the existence of the authentication key is confirmed, and stopping the execution of the program otherwise. By using this technology, it is possible to execute an application program only for a legitimate user having an authentication key. This technology has been put into practical use in the software distribution business, and as a product, for example, Rainbow Technologies, Inc. Sentinel SuperPro (trademark), Aladdin Knowledge Systems Ltd. HASP (trademark) of the company.
[0003]
Hereinafter, the program execution control technique will be described in more detail.
(1) A user who executes software has an authentication key as user identification information. The authentication key is a key for encryption, and is distributed to the user by a person who is permitted to use the software, for example, a software vendor. The authentication key is strictly enclosed in a memory or the like in hardware to prevent duplication, and is delivered to the user using physical means such as mail.
(2) The user attaches the hardware with the built-in authentication key to his / her own personal computer / workstation by the designated method. The hardware is attached to, for example, a printer port.
(3) When a user starts an application program and the execution of the program reaches the user authentication routine, the program communicates with hardware incorporating a user authentication key. Based on the result of the communication, the program identifies the authentication key, and when the presence of the correct authentication key is confirmed, execution proceeds to the next step. If communication fails and the presence of the authentication key cannot be confirmed, the program stops itself so that it cannot be executed later.
[0004]
Identification of the authentication key by the access qualification authentication routine is performed according to the following protocol, for example.
(1) The access qualification routine generates an appropriate number and sends it to the hardware with a key.
(2) The key built-in hardware encrypts the number sent using the built-in authentication key and returns it to the authentication routine.
{Circle around (3)} The authentication routine determines whether or not the returned number is a number that is predicted in advance, that is, a number obtained by encrypting the number transmitted to the hardware with a correct authentication key.
(4) If the number returned is equal to the expected number, execution of the program is continued, and if not, the program is stopped.
[0005]
At this time, the communication between the application program and the hardware with a built-in authentication key must be different every time it is executed even if it is exchanged with the same hardware at the same location in the same application program. Otherwise, the contents of communication in the normal execution process are recorded once, and the program can be executed even by a user who does not have the correct authentication key by returning to the application program as recorded every time the program is executed. Will be possible. Such illegal execution of the application program by reproducing the communication content is called a replay attack.
[0006]
In order to prevent a replay attack, normally, a random number newly generated every time communication is used as the number sent to the hardware with a key.
[0007]
[Problems of conventional technology]
The problem with the prior art stems from the nature that when creating an application program, the program creator must preliminarily assume the user's authentication key and then perform program protection processing based on the authentication key. To do.
[0008]
That is, the program creator must predict a correct reply from the hardware with a built-in key at the time of creating the program, and create the program so that the program is executed normally only when the correct reply is received.
[0009]
There are basically two types of usage of the prior art having the above characteristics, but in either case, there are problems described below.
[0010]
{Circle around (1)} In the first method, user authentication keys are prepared differently for each user. That is, one different authentication key is prepared for each user, such as authentication key A for user A and authentication key B for user B.
[0011]
In this case, the program creator needs to create a program by appropriately changing the authentication routine in the program for each user. In other words, since the authentication key is different for each user, the authentication routine in the program must be created so as to identify the authentication key specific to the user who uses the program, and the program creator differs by the number of users. Need to create.
[0012]
When there are a large number of target users, the task of individualizing the program for each user requires labor that cannot be tolerated by the program creator, and the list of user authentication keys that must be managed becomes enormous.
[0013]
(2) In the second method, the program creator prepares a different authentication key for each application. That is, a different authentication key is prepared for each application, such as an authentication key A for the application A and an authentication key B for the application B, and each application program is created so as to identify a unique authentication key.
[0014]
In this method, it is not necessary to individually create a program for each user as in the case of the first method, but on the contrary, the user must hold authentication keys for the number of applications to be used. .
[0015]
This restriction raises the following problems for each program creator and user.
[0016]
As described above, the authentication key needs to be distributed to users in a state of being strictly enclosed in hardware. Therefore, in contrast to the program itself being able to be easily distributed via the network, the distribution of the hardware containing the authentication key has to rely on physical means such as mail. This restriction places a heavy burden on the program creator regardless of cost, time, and packaging.
[0017]
In order to respond to the user's request, the program creator must stock a certain number of different hardware for each application, which requires inventory management costs.
[0018]
In addition, the user must be relieved by the complexity of having to replace the hardware every time the application to be used is changed.
[0019]
Even if the user wants to use an application, the user has to wait until the hardware in which the authentication key is enclosed arrives, which causes inconvenience in that it cannot be used immediately.
[0020]
In order to reduce this burden, multiple authentication keys are encapsulated in hardware in advance, and an unused authentication key in hardware can be used every time a user is allowed to use a new application. A method such as telling the user the password is used. However, even if this method is used, it is clear that the above-mentioned problem cannot be solved in principle. Actually, when commercializing, in order to alleviate the inconvenience caused by the above-mentioned problems, the hardware is designed to be connected and coupled together.
[0021]
As described above, even if any of the above two methods is adopted, there is a problem in the convenience of the program creator and the user.
[0022]
Considering the external characteristics of execution control, it can be imagined that it can also be applied to privacy protection of mail, access control of files and computer resources, and other general digital content access control. However, it is impossible to apply the prior art to these fields due to the above problems.
[0023]
[Problems to be solved by the invention]
The present invention has been made in view of the above circumstances, and solves the problems caused by handling a large number of unique information such as authentication keys that occur on both the user side and the protect side such as the application creator. , Simply authenticate user access qualifications when performing program execution control, access rights protection for digital content (still images, movies, audio, etc.), email privacy protection, file and computer resource access control, etc. The purpose is to provide an access qualification authentication technology.
[0024]
[Means for solving the problems]
According to the present invention, in order to achieve the above-mentioned object, the access credential authentication apparatus for authenticating the access qualification of the user by verifying the validity of the signature generated to prove the authority of the user, The first storage means for storing the unique information, the second storage means for storing the unique information of the user, the unique signature key calculated from the signature key, and the user held in the first storage means First generation means for generating a pre-signature using the unique information of the second, second generation means for generating a signature using the user's unique signature key held in the second storage means, Verification means for verifying the validity of the signature generated by the generation means is provided, and the first generation means and the second generation means cooperate to generate a signature.
[0025]
In this configuration, by introducing a unique signature key (access ticket), the characteristic information of the access qualification authentication and the user specific information can be made independent. Therefore, the protect side and the user side prepare one specific information. Just do it.
[0026]
An access ticket is data calculated based on specific information of a specific user and characteristic information of access credential authentication, and also calculates characteristic information of access qualification authentication from the access ticket without knowing the user specific information. It is difficult. The correct proof data is calculated only when the correct combination of the user-specific information and the access ticket, that is, the combination of the user-specific information and the access ticket calculated based on the user-specific information is input. . Therefore, the user holds the unique information in advance, and the protector such as the program creator prepares the characteristic information of the access qualification authentication independently of the unique information possessed by the user, and creates the access ticket as the user's unique information and application program. It is possible to authenticate the access qualification of the user such as execution control by creating and distributing it according to the characteristic information of the access credential authentication used for the above.
[0027]
The present invention can also be realized as a method. Furthermore, at least a part of the present invention can be realized as a program product.
[0028]
BEST MODE FOR CARRYING OUT THE INVENTION
[Overall configuration]
Hereinafter, the present invention will be described in detail. Before describing specific individual examples, an overview of embodiments of the present invention will be described below.
[0029]
First, a case where the present invention is used for execution control of an application program operating on a user's PC or workstation will be described. FIG. 1 shows the configuration of the apparatus in this embodiment.
[0030]
In FIG. 1, a program execution control device (user authentication device) includes a proof data verification device 10, a proof data generation device 11, and an access ticket generation device 12. The proof data verification device 10 includes verification means 13 and holds authentication data 14. The proof data generation device 11 includes a signature data generation unit 15 and a pre-signature data generation unit 16 and holds user unique information 17 and a unique signature key (access ticket) 18. The access ticket generation device 12 generates an access ticket 18 and supplies it to the proof data generation device 11. The access ticket 18 will be described in detail later.
[0031]
The proof data verification device 10 sends the authentication data 14 to the proof data generation device 11. The signature data generation unit 15 and the pre-signature data generation unit 16 of the proof data generation device 11 include the received authentication data 14, user-specific information (specific information for identifying a user) 17, and an access ticket 18. Proof data (signature) is generated from the above and returned to the proof data verification device 10. The verification means 13 of the proof data verification apparatus 10 verifies the signature, and if the verification is successful, execution of the program is permitted.
[0032]
In this embodiment, the proof data generation device 11 can be realized as a proof program on a computer used by a user. At this time, if the user can copy and distribute the unique information (user unique information) 17 for identifying the user, the user who does not have a valid usage right is allowed to use the application program. Become. Therefore, the user-specific information 17 is attached to the computer so that even a user who is a legitimate holder thereof cannot steal it. ) Is preferably used in combination. At this time, if portable hardware such as an IC card is used, it is convenient for a user to work on a plurality of PCs or workstations.
[0033]
The proof data verification device 10 is configured as a part of an application program used by a user. That is, when a user starts an application program on a PC or a workstation, the proof data verification device 10 described as a program in the application program is started, communicates with the proof data generation device 11, performs user authentication, and communicates. The application program can be executed only when it is correctly terminated.
[0034]
In order for the user to use the application program in which the proof data verification device 10 is embedded, it is necessary to acquire a unique signature key (access ticket) issued to the user himself / herself and corresponding to the application program. The user registers the acquired access ticket in the certification data generation program installed on the PC or workstation and, for example, when user-specific information is enclosed in the IC card, the IC card is inserted into the PC. Or attach to the workstation. The access ticket may be placed on the PC or workstation, or may be placed in an IC card.
[0035]
The proof data generation device 11 (comprised of a program on the PC or workstation and an IC card) calculates based on the user specific information 17 and the access ticket 18 and communicates with the proof data verification device 10 based on the calculation. I do. The user specific information 17 is used in the process of this calculation. However, since there is a problem if the user specific information 17 leaks outside, at least a part of the program needs to be protected by a protection means such as an IC card.
[0036]
As a result of the communication, the authentication by the proof data verification device 10 succeeds because the user-specific information 17, the access ticket 18, and the access qualification authentication feature information verified by the proof data verification device 10 correspond correctly. Limited to cases.
[0037]
If either the user specific information 17 or the access ticket 18 is missing, the authentication is not successful.
[0038]
The access ticket 18 is issued to a specific user. That is, when the access ticket 18 is generated, the user specific information 17 of a specific user is used. If the user-specific information 17 used when generating the access ticket 18 and the user-specific information 17 used by the proof data generation device 11 do not match, authentication will not succeed.
[0039]
Further, the access ticket 18 is generated based on the characteristic information of the specific access qualification authentication, and the proof data verification device 10 is configured to authenticate the characteristic information of the access qualification authentication. Therefore, even when the feature information that generated the access ticket does not correspond to the feature information to be authenticated by the proof data verification device 10 embedded in the application program, the authentication is not performed. Not successful.
[0040]
Further, the application program may be executed on another computer coupled by a network, and the execution result may be communicated to the computer used by the user via the network. In this case, the configuration is based on a so-called server / client model. In the case of execution control of the application program executed on the user's PC or workstation as described above, the communication between the proof data generation device 11 and the proof data verification device 10 is executed as so-called interprocess communication. On the other hand, when the server-client model is followed, the communication between the proof data generation device 11 and the proof data verification device 10 is communication according to a network protocol such as TCP / IP (Transmission Control Protocol / Internet Protocol). Executed.
[0041]
The present invention can also be applied when the application program is configured on a dedicated device. For example, it is assumed that the entire proof data generation device 11 is mounted in an IC card, and the acquired access ticket 18 is also registered in the IC card. The proof data verification device 10 is mounted on the dedicated device. The dedicated device includes a slot for inserting an IC card, and the user performs authentication by inserting the IC card owned by the slot.
[0042]
Such a configuration using a dedicated device can be applied to a bank ATM machine, a game machine in a game center, and the like.
[0043]
Regarding the acquisition of the access ticket 18 by the user, a common center that issues the access ticket 18 generates and distributes it in response to an issuance request from the user, and the creator of the application program accesses the access ticket issuing program and the access There is a method of generating individually with the help of the ticket generating device 12.
[0044]
In such a case, the access ticket generation device 12 is managed by a ticket issuer, and the access ticket 18 is created and distributed separately from the user environment by these right holders.
[0045]
The generated access ticket 18 may be delivered to the user via a portable storage medium such as a floppy disk. However, since the access ticket 18 has sufficient security, e-mail or the like is used. It may be configured to be delivered via a network.
[0046]
The security of the access ticket 18 has the following two properties.
[0047]
1) The access ticket is a registered expression. That is, only the user himself / herself who issued the access ticket (more precisely, the holder of the user-specific information used when generating the access ticket) can correctly operate the proof data generation apparatus using the access ticket. Therefore, even if a malicious third party illegally obtains another user's access ticket, unless the third party obtains the user-specific information of the legitimate user to whom the access ticket is issued It is impossible to use this access ticket.
[0048]
2) The access ticket has a stricter security. In other words, a malicious third party collects an arbitrary number of access tickets and does any analysis, forges another access ticket based on the obtained information or imitates the operation of the proof data generation device Thus, it is impossible to configure a device that establishes authentication.
[0049]
[Specific configuration]
Hereinafter, a more specific configuration will be described in accordance with an embodiment. In this embodiment, a configuration example in the case of applying an access ticket to a signature scheme based on a general discrete logarithm problem described below is shown.
[0050]
The signature method used in the embodiment of the present invention uses a finite group G (denoted in a multiplicative manner) in which the discrete logarithm problem is difficult in terms of computational complexity and an element g having an order n.
[0051]
Signing key x is the original residue class ring Z / nZ by law n rational integer ring, verification key y is a finite group G in the original satisfying y = g x.
[0052]
The signature for the element m of the remainder class ring Z / nZ is composed of two elements r and s of Z / nZ.
[Expression 2]
(1-1) r = H (g ry s , m)
Given in. Here, the function H is an arbitrary two-variable function that determines the element H (a, b) of the remainder class ring Z / nZ from the element a of the finite group G and the element b of the remainder class ring Z / nZ. Signatures r and s are as follows.
[0054]
[Equation 3]
r = g k
s = k−r′x
However, r ′ = H (m, r), and a random number k∈Z / nZ.
[0055]
FIG. 2 shows a configuration example of the proof data verification device 10 and the proof data generation device 11 of this embodiment, and FIG. 3 shows a detailed configuration centering on the signature generation unit of the proof data generation device 11. FIG. 4 shows the operation of this embodiment. In FIGS. 2 and 3, portions corresponding to those in FIG.
[0056]
In FIG. 2, the proof data verification device 10 includes a verification unit 13, a verification key storage unit 21, a random number generation unit 22, an authentication data storage unit 23, and a signature storage unit 24. The proof data generation device 11 includes a signature data generation unit 15, a pre-signature data generation unit 16, a user specific information storage unit 25, an access ticket storage unit 26, a verification key storage unit 27, and an authentication data storage unit 28. It consists of
[0057]
Now, in order to identify a user, the user specific information e which is a different number for every user is defined. e is stored in the user specific information storage unit 25. The pre-signature generation unit 16 and the user specific information storage unit 25 are accommodated in a defense means (also referred to as a token) 29.
[0058]
FIG. 3 mainly shows a detailed configuration of the pre-signature generation unit 16 and the signature generation unit 15 of the proof data generation device 11 of FIG. That is, the pre-signature generation unit 16 in FIG. 2 includes a random number generation unit 30, an auxiliary signature key storage unit 31, a first pre-signature generation unit 16A, and a second pre-signature generation unit 16B. Further, the signature generation unit 15 of the proof data generation device 11 of FIG. 2 includes a first signature generation unit 15A and a second signature generation unit 15B. Further, the proof storage unit 24 of the proof data verification device 10 of FIG. 2 includes a first signature storage unit 24A and a second proof storage unit 24B.
[0059]
The access ticket t is generated based on the following expression 1-2.
[0060]
[Expression 4]
(1-2) t = x−f (e, y) mod N
Here, N is an arbitrary multiple of n. Of course, when N = 0, (1-2) is performed on the rational integer ring. As representative elements representing elements of the remainder class ring Z / nZ, 0, 1, 2,. . . , N−1, these are regarded as integers if necessary.
[0061]
The function f is a function in which the function values do not collide with each other, and can be defined as in Expression 1-3 using the one-way hash function h, for example.
[0062]
[Equation 5]
(1-3) f (x, y) = h (x | y)
Here, x | y represents a bit concatenation of x and y.
[0063]
The one-way hash function is a function having a property that it is extremely difficult to calculate different x and y satisfying h (x) = h (y). As an example of a one-way hash function, RSA Data Security Inc. MD2, MD4, MD5, and the standard SHS (Secure Hash Standard) by the US federal government are known.
[0064]
Hereinafter, the data m generated for authentication by the proof data verification device 10 is referred to as authentication data, and the signatures r and s generated for verification by the proof device are referred to as proof data.
[0065]
The operation of this embodiment will be described below.
[0066]
[Step 1] When the user accesses a program (digital content) that requires authentication by the program execution control device (access qualification authentication device), the proof data verification device 10 is activated.
[0067]
When the proof data verification device 10 is configured as a part of an application program that operates on the user's PC or workstation, the user starts the application program by a normal method using an instruction device such as a keyboard or a mouse. . When the execution of the application program reaches the program constituting the proof data verification device 10, the proof data verification device 10 is activated.
[0068]
When the proof data verification device 10 is configured on another PC or workstation (called a server) connected by a network, the user starts a communication program on his PC or workstation, and the communication program By making a communication establishment request to the server according to a predetermined procedure, the proof data verification device 10 on the server is activated. For example, if a user communication program follows a procedure called TCP / IP when communicating with a server, the proof data verification device is associated with a specific port of the server in advance, and the user communication program further sets the port. By specifying and setting to request a TCP connection request to the server, a daemon (inetd) on the server can start the proof data verification device 10 in response to the TCP connection request. Such an implementation method is widely used in networks such as the Internet.
[0069]
The proof data verification device 10 may be a dedicated device. For example, the proof data verification device 10 can be configured as a program burned in a ROM in an IC card reader / writer, and the proof data generation device 10 can be a program mounted on a microcontroller of the IC card. In this case, when the user inserts the IC card into the reader / writer, the certification data verification device 10 is activated.
[0070]
[Step 2] The proof data verification device 10 generates authentication data m and writes it in the authentication data storage unit 23. The authentication data m is generated so as to have a different value each time. In this embodiment, the proof data verification device 10 has a random number generation unit 22 and writes the random number generated by the random number generation unit 22 to the authentication data storage unit 23 as authentication data m.
[0071]
Further, the authentication data m and the verification key y stored in the verification key storage unit 21 are written to the verification key storage unit 27 and the authentication data storage unit 28 for storing received data in the proof data generation device 11. .
[0072]
[Step 3] The random number generation unit 30 in the proof data generation device 11 generates an appropriate random number k, stores k in the auxiliary signature key storage unit 31, and the first pre-signature generation unit 16A stores the finite group G. To raise the base g to the power of k and generate the first pre-signature r ′. The first pre-signature r ′ satisfies Equation 1-4.
[0073]
[Formula 6]
(1-4) r ′ = g k
[0074]
[Step 4] The first signature generation unit 15A of the proof data generation device 10 includes the authentication data m stored in the authentication data storage unit 28 and the first pre-signature generated by the first pre-signature generation unit 16A. A first signature r is generated from the signature r ′ using the two-variable function H, and is written in the first signature storage unit 24A in the proof data verification device 10. The first signature r satisfies Equation 1-5.
[0075]
[Expression 7]
(1-5) r = H (m, r ′)
[0076]
[Step 5] The second pre-signature generation unit 16B in the proof data generation device 11 includes the auxiliary signature key k stored in the auxiliary signature key storage unit 31 and the first signature generated by the first signature generation unit 15A. A second pre-signature s ′ is generated by using Equation 1-6 from r, the user unique information e stored in the user unique information storage unit 25 and the verification key y stored in the verification key storage unit 27.
[0077]
[Equation 8]
(1-6) s ′ = k−rf (e, y)
[0078]
[Step 6] The second signature generation unit 15B in the proof data generation device 11 includes the second pre-signature s ′ generated by the second pre-signature generation unit 16B and the first signature generation unit 15A. A second signature s is generated from the signature r of 1 and the access ticket t stored in the access ticket storage unit 26 using the expression 1-7, and stored in the second signature storage unit 24B in the proof data verification device 10 Write.
[0079]
[Equation 9]
(1-7) s = s′−rt
[0080]
[Step 7] The verification unit 13 in the proof data verification device 10 includes the authentication data m stored in the authentication data storage unit 23, the verification key y stored in the verification key storage unit 21, and the first signature storage unit. From the first signature r stored in 24A and the second signature s stored in the second signature storage unit 24B, the calculation of Formula 1-1 (r = H (g ry s , m)) is performed. To verify.
[0081]
Only when the combination of the access ticket t and the user specific information e used in the proof data generation device 11 is correct, the verification formula is established and the verification is performed correctly.
[0082]
The bivariate function H in the present embodiment is expressed by using, for example, the hash function h.
[Expression 10]
(1-8) H (a, b) = h (b | a)
Thus, with the above configuration, an access ticket with a so-called Schnorr signature can be realized. FIG. 7 shows the operation of realization by the Schnorr signature access ticket.
[0084]
In this case, the first signature generation unit 15A in the proof data generation device 11 and the verification unit 13 in the proof data verification device 10 may have a function of calculating the hash function h.
[0085]
Further, the bivariate function H is converted, for example, from an element b of the finite group G to an element {b} of the remainder class ring, and addition is performed on a and the remainder class ring.
[0086]
[Expression 11]
(1-9) H (a, b) = a + {b}
By doing so, it is possible to realize a so-called message restoration type Nyberg-Ruppel signature access ticket with the same configuration. FIG. 8 shows an operation of realizing an access ticket with a Nyberg-Ruppel signature.
[0087]
This is the end of the description of the embodiment. In addition, this invention is not limited to the above-mentioned Example, A various change is possible. For example, in the above embodiment, the access ticket is supplied to the proof data generation device, the signature is generated in the proof data generation device, and the signature is sent to the proof data verification device. However, the access ticket is supplied to the proof data verification device. Alternatively, a part of the signature or a pre-signature may be sent as proof data to the proof data verification device, and the proof data verification device may generate the signature for verification. Further, an integrated access qualification authentication device may be configured without distinguishing between the proof data verification device and the proof data generation device, and authentication may be performed by supplying user-specific information and an access ticket to this device. Further, by generating a unique signature key (access ticket) from the signature key and user specific information and sending it to the user, the signature key can be safely distributed.
[0088]
【The invention's effect】
As is clear from the above description, according to the present invention, by introducing the unique signature key (access ticket), the characteristic information of the access qualification authentication and the user specific information can be made independent. The user only needs to prepare one piece of unique information.
[0089]
An access ticket is data calculated based on specific information of a specific user and characteristic information of access credential authentication, and also calculates characteristic information of access qualification authentication from the access ticket without knowing the user specific information. It is difficult. The correct proof data is calculated only when the correct combination of the user-specific information and the access ticket, that is, the combination of the user-specific information and the access ticket calculated based on the user-specific information is input. . Therefore, the user holds the unique information in advance, and the protector such as the program creator prepares the characteristic information of the access qualification authentication independently of the unique information possessed by the user, and creates the access ticket as the user's unique information and application program. It is possible to authenticate the access qualification of the user such as execution control by creating and distributing it according to the characteristic information of the access credential authentication used for the above.
[0090]
Further, according to the present invention, it is possible to safely distribute the signature key, and it is possible to realize a simple key deposit mechanism.
[Brief description of the drawings]
FIG. 1 is a diagram showing an overall configuration of an embodiment of the present invention.
FIG. 2 is a block diagram illustrating a configuration of a proof data verification device and a proof data generation device according to the embodiment.
FIG. 3 is a block diagram illustrating a detailed configuration of a proof data verification device and a proof data generation device according to the embodiment.
FIG. 4 is a diagram for explaining the operation of the embodiment.
FIG. 5 is a diagram for explaining the operation of the embodiment.
FIG. 6 is a diagram for explaining the operation of the embodiment.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 10 Certification data verification apparatus 11 Certification data generation apparatus 12 Access ticket generation apparatus 13 Verification means 14 Authentication data 15 Signature data generation means 16 Pre-signature data generation means 17 User specific information 18 Access ticket 21 Verification key storage part 22 Random number (for authentication Data) Generation unit 23 Authentication data storage unit 24 Signature storage unit 25 User specific information storage unit 26 Access ticket storage unit 27 Verification key storage unit 28 Authentication data storage unit

Claims (19)

ユーザの権限を証明するために生成された署名の正当性を検証することによりユーザのアクセス資格を認証するアクセス資格認証装置において、
ユーザの固有情報eを記憶する第1の記憶手段と、
上記ユーザの固有情報eおよび署名鍵xに対して予め定められた所定の演算を実行して得られた補助情報tを記憶する第2の記憶手段と、
上記第1の記憶手段に保持された上記ユーザの固有情報eを用い、署名対象のメッセージを用いることのない署名用の第1の部分演算を実行して署名用部分演算結果を生成する第1の生成手段と、
上記第2の記憶手段に保持された上記補助情報と上記署名用部分演算結果と上記署名対象のメッセージとを用いて署名用の第2の部分演算を実行して最終演算結果を生成する第2の生成手段と、
上記第2の生成手段で生成した上記最終演算結果が正当な署名であるかどうかを検証する検証手段とを有し、
上記第1の生成手段による上記署名用の第1の部分演算と上記第2の生成手段による上記署名用の第2の部分演算とは協調して上記署名を生成するように選定され、さらに、上記所定の演算は、上記ユーザの固有情報e、上記署名鍵xおよび上記補助情報が対応する場合に上記最終演算結果が正当な署名となるように選定されたことを特徴とするアクセス資格認証装置。
In an access credential authentication device that authenticates a user's access qualification by verifying the validity of a signature generated to prove the user's authority,
First storage means for storing user specific information e;
Second storage means for storing auxiliary information t obtained by executing a predetermined calculation on the user's unique information e and signature key x;
A first partial operation result for signature is generated by executing the first partial operation for signature without using the message to be signed , using the unique information e of the user held in the first storage means Means for generating
A second partial operation for signature is executed using the auxiliary information t , the partial operation result for signature and the message to be signed held in the second storage means to generate a final operation result . Two generating means;
Verification means for verifying whether the final operation result generated by the second generation means is a valid signature ;
The signature first partial operation by the first generation means and the second partial operation for signature by the second generation means are selected to cooperate to generate the signature , and The access qualification authentication apparatus, wherein the predetermined calculation is selected so that the final calculation result is a valid signature when the user's unique information e, the signature key x, and the auxiliary information correspond to each other. .
少なくとも、上記第1の記憶手段と上記第1の生成手段とが、内部のデータ及び処理手続きを外部から観測することを困難ならしめる防御手段中に保護されることを特徴とする請求項1記載のアクセス資格認証装置。2. The at least first storage means and the first generation means are protected by a protection means that makes it difficult to observe internal data and processing procedures from the outside. Access credential authentication device. 少なくとも、上記第1の記憶手段と上記第1の生成手段とが、ICカード等の携帯可能な小型演算装置として構成されることを特徴とする請求項1記載のアクセス資格認証装置。2. The access qualification authentication apparatus according to claim 1, wherein at least the first storage means and the first generation means are configured as a portable small arithmetic device such as an IC card. 上記第1の生成手段が、
補助署名鍵kと第1の署名用部分演算結果r’とを生成する第3の生成手段と、
上記補助署名鍵kを記憶する第3の記憶手段と、
第2の署名用部分演算結果s’を生成する第4の生成手段とから構成され、
第2の生成手段が、
第1の署名rを生成する第5の生成手段と、
第2の署名sを生成する第6の生成手段とから構成され、
上記第1の署名rは、認証用データmと上記第1の署名用部分演算結果r’とより計算され、
上記第2の署名用部分演算結果s’は、上記補助署名鍵kと上記第1の署名rと上記ユーザの固有情報eと検証鍵yとより計算され、
上記第2の署名sは、上記第2の署名用部分演算結果s’と上記第1の署名rと上記補助情報tとより計算されることを特徴とする請求項1、2または3記載のアクセス資格認証装置。
The first generating means is
Third generation means for generating the auxiliary signature key k and the first partial signature calculation result r ′;
Third storage means for storing the auxiliary signature key k;
And a fourth generation means for generating a second signature partial operation result s ′.
The second generating means is
Fifth generation means for generating a first signature r;
And sixth generation means for generating the second signature s,
The first signature r is calculated from the authentication data m and the first partial signature calculation result r ′.
The second partial signature calculation result s ′ is calculated from the auxiliary signature key k, the first signature r, the user specific information e, and the verification key y.
4. The second signature s is calculated from the second signature partial calculation result s ′, the first signature r, and the auxiliary information t. Access credential authentication device.
署名鍵xは、有理整数環の法nによる剰余類環Z/nZの元であり、検証鍵yは、離散対数問題を定める有限群Gと位数nの元gに対してy=gを満たす有限群の元であることを特徴とする請求項4記載のアクセス資格認証装置。The signing key x is an element of a residue class ring Z / nZ by a rational integer ring modulus n, and the verification key y is y = g x for a finite group G that defines a discrete logarithm problem and an element g of order n. 5. The access qualification authentication apparatus according to claim 4, wherein the access qualification authentication apparatus is an element of a finite group satisfying the above. 有限群Gが有限体の乗法群であることを特徴とする請求項5記載のアクセス資格認証装置。6. The access qualification authentication apparatus according to claim 5, wherein the finite group G is a multiplicative group of a finite field. 上記検証手段は、認証用データmと第1の署名rと第2の署名sとが、2変数関数Hと有限群の底gと検証鍵yに対してr=H(g,m)と等価な関係を満たすときに署名が正当であると判定することを特徴とする請求項5記載のアクセス資格認証装置。The verification means includes that the authentication data m, the first signature r, and the second signature s are r = H (g ry s , 6. The access qualification authentication apparatus according to claim 5, wherein when the relationship equivalent to m) is satisfied, it is determined that the signature is valid. 上記2変数関数が、有限群の元から決まるデータと認証用データとを連結したものを入力とした非衝突性関数の値であることを特徴とする請求項7記載のアクセス資格認証装置。8. The access qualification authentication apparatus according to claim 7, wherein the two-variable function is a value of a non-collision function having an input obtained by connecting data determined from a finite group element and authentication data. 上記2変数関数が、有限群の元から決まる有理整数環の法nによる剰余類環Z/nZの元と認証用データとを加えた値であることを特徴とする請求項7記載のアクセス資格認証装置。8. The access qualification according to claim 7, wherein the two-variable function is a value obtained by adding an element of a remainder class ring Z / nZ by a modulus n of a rational integer ring determined from an element of a finite group and authentication data. Authentication device. 上記第2の記憶手段に保持される上記補助情報は、上記署名鍵と上記検証鍵と上記ユーザの固有情報と非衝突性関数より
【数1】
t≡x−f(e,y) (mod N)
(ただしNはnの任意の倍元)を満たすように定められたことを特徴とする請求項1、2、3、4、5、6または7記載のアクセス資格認証装置。
The auxiliary information held in the second storage means is based on the signature key, the verification key, the user specific information, and the non-collision function.
t≡x−f (e, y) (mod N)
8. The access qualification authentication apparatus according to claim 1, wherein the access qualification authentication apparatus is defined so as to satisfy (where N is an arbitrary multiple of n).
上記第1の生成手段と上記検証手段とは、有限群Gの算法を実行可能であることを特徴とする請求項1、2、3、4、5、6または7記載のアクセス資格認証装置。8. The access qualification authentication apparatus according to claim 1, wherein the first generation unit and the verification unit can execute a finite group G calculation. 上記第2の生成手段と上記検証手段とは、2変数関数Hを計算することができることを特徴とする請求項1、2、3、4、5、6または7記載のアクセス資格認証装置。8. The access qualification authentication apparatus according to claim 1, wherein the second generation unit and the verification unit can calculate a two-variable function H. 上記第3の生成手段は、補助署名鍵として乱数kを生成して第3の記憶手段に記憶し、群Gにおける底gを補助署名鍵kでk乗して第1の署名用部分演算結果r’=gを計算し、
上記第5の生成手段は、上記認証用データmと上記第1の署名用部分演算結果r’を入力として上記2変数関数Hにより上記第1の署名r=H(m,r’)を計算し、
上記第4の生成手段は、上記第1の署名rと上記ユーザの固有情報eおよび上記検証鍵yの非衝突性関数値とを掛けたものを上記補助署名鍵から引いて上記第2の署名用部分演算結果s’=k−rf(e,y)を計算し、
上記第6の生成手段は、上記第1の署名rと上記補助情報tとを掛けたものを上記第2の署名用部分演算結果s’から引いて第2の署名s=s’−rtを計算することを特徴とする請求項4請求項12のいずれかに記載のアクセス資格認証装置。
The third generation means generates a random number k as an auxiliary signature key and stores the random number k in the third storage means. The base g of the group G is raised to the kth power by the auxiliary signature key k and the first signature partial calculation result calculate r ′ = g k ,
The fifth generation means calculates the first signature r = H (m, r ′) by the two-variable function H with the authentication data m and the first signature partial calculation result r ′ as inputs. And
The fourth generating means, said first signature r and specific information e and the ones obtained by multiplying the non-collision function value of the verification key y is subtracted from the auxiliary signing key signature the second of the user The partial operation result s ′ = k−rf (e, y) is calculated,
The sixth generation means subtracts the product of the first signature r and the auxiliary information t from the second partial signature calculation result s ′ to obtain a second signature s = s′−rt. The access qualification authentication apparatus according to any one of claims 4 to 12, wherein the access qualification authentication apparatus is calculated.
上記検証手段が乱数生成手段を備え、乱数生成手段は生成した乱数を認証用データとして第4の記憶手段に書き込むことを特徴とする請求項1請求項13のいずれかに記載のアクセス資格認証装置。14. The access qualification authentication according to claim 1, wherein the verification means includes a random number generation means, and the random number generation means writes the generated random number as authentication data in the fourth storage means. apparatus. 上記検証手段は、上記乱数である認証用データに対して署名を検証することを特徴とする請求項14に記載のアクセス資格認証装置。15. The access qualification authentication apparatus according to claim 14, wherein the verification unit verifies a signature with respect to the authentication data which is the random number. 上記認証用データは、上記乱数生成手段が生成した乱数m’を非衝突性関数Gに対する入力としたときの出力G(m’)であることを特徴とする請求項14または15記載のアクセス資格認証装置。16. The access qualification according to claim 14 or 15, wherein the authentication data is an output G (m ') when the random number m' generated by the random number generation means is input to the non-collision function G. Authentication device. 証明データ生成装置が、少なくとも、上記第1の記憶手段と、上記第2の記憶手段と、上記第1の生成手段と、上記第2の生成手段とを有し、証明データ検証装置が、少なくとも、上記証明データ検証手段と、認証用データを記憶する第4の記憶手段と、証明データを記憶する第5の記憶手段とを有し、上記証明データ生成装置と上記証明データ検証装置とが、互いに通信することによりユーザのアクセス資格を認証するアクセス資格認証装置において、
上記証明データ検証装置は、第4の記憶手段に記憶された認証用データを上記証明データ生成装置の第6の記憶手段に書き出し、
上記証明データ生成装置は、上記第2の生成手段によって上記第6の記憶手段に書き込まれた上記認証用データを元に生成した署名を上記証明データ検証装置中の上記第5の記憶手段に書き出し、
上記証明データ検証装置は上記第5の記憶手段に書き込まれた上記署名を用いてユーザのアクセス資格を認証することを特徴とする請求項116のいずれかに記載のアクセス資格認証装置。
The proof data generation device includes at least the first storage unit, the second storage unit, the first generation unit, and the second generation unit, and the proof data verification device includes at least The proof data verification means, a fourth storage means for storing the authentication data, and a fifth storage means for storing the proof data, wherein the proof data generation device and the proof data verification device are: In an access credential authentication device that authenticates user access qualification by communicating with each other,
The proof data verification device writes the authentication data stored in the fourth storage means to the sixth storage means of the proof data generation device,
The proof data generation device writes a signature generated based on the authentication data written in the sixth storage unit by the second generation unit to the fifth storage unit in the proof data verification device. ,
The access credential authentication apparatus according to any one of claims 1 to 16, wherein the proof data verification apparatus authenticates a user's access qualification using the signature written in the fifth storage means.
ユーザの権限を証明するために生成された署名の正当性を検証することによりユーザのアクセス資格を認証するアクセス資格認証方法において、
第1の記憶手段が、ユーザの固有情報eを記憶する第1の記憶ステップと、
第2の記憶手段が、上記ユーザの固有情報eおよび署名鍵xに対して予め定められた所定の演算を実行して得られた補助情報tを記憶する第2の記憶ステップと、
第1の生成手段が、上記第1の記憶ステップにより保持された上記ユーザの固有情報eを用い、署名対象のメッセージを用いることのない署名用の第1の部分演算を実行して署名用部分演算結果を生成する第1の生成ステップと、
第2の生成手段が、上記第2の記憶ステップにより保持された上記補助情報tと上記署名用部分演算結果と上記署名対象のメッセージとを用いて署名用の第2の部分演算を実行して最終演算結果を生成する第2の生成ステップと、
検証手段が、上記第2の生成ステップで生成した上記最終演算結果が正当な署名であるかどうかを検証する検証ステップとを有し、
上記第1の生成ステップによる上記署名用の第1の部分演算と上記第2の生成ステップによる上記署名用の第2の部分演算とは協調して上記署名を生成するように選定され、さらに上記所定の演算は、上記ユーザの固有情報e、上記署名鍵xおよび上記補助情報が対応する場合に上記最終演算結果が正当な署名となるように選定されたことを特徴とするアクセス資格認証方法。
In an access credential authentication method for authenticating a user's access credential by verifying the validity of a signature generated to prove the user's authority,
A first storage means for storing a user's unique information e;
A second storage step in which a second storage means stores auxiliary information t obtained by executing a predetermined calculation on the user's unique information e and signature key x;
The first generation means executes the first partial operation for signature without using the signature target message by using the unique information e of the user held in the first storage step, and the signature portion A first generation step for generating a calculation result ;
The second generation means executes a second partial operation for signature using the auxiliary information t, the partial operation result for signature, and the message to be signed held in the second storage step. A second generation step for generating a final operation result ;
A verification unit has a verification step of verifying whether the final operation result generated in the second generation step is a valid signature ;
In cooperation and second portions calculation for the signature of the first part operation and the second generating step for the signature by the first generating step is selected to generate the signature, further the The access qualification authentication method, wherein the predetermined calculation is selected so that the final calculation result is a valid signature when the user's unique information e, the signature key x, and the auxiliary information correspond .
ユーザの固有情報eを記憶する第1の記憶手段と、
上記ユーザの固有情報eおよび署名鍵xに対して予め定められた所定の演算を実行して得られた補助情報tを記憶する第2の記憶手段と、
上記第1の記憶手段に保持された上記ユーザの固有情報eを用い、署名対象のメッセージを用いることのない署名用の第1の部分演算を実行して署名用部分演算結果を生成する第1の生成手段と、
上記第2の記憶手段に保持された上記補助情報と上記署名用部分演算結果と上記署名対象のメッセージとを用いて署名用の第2の部分演算を実行して最終演算結果を生成する第2の生成手段とを有し、
上記第1の生成手段による上記署名用の第1の部分演算と上記第2の生成手段による上記署名用の第2の部分演算とは協調して上記署名を生成するように選定され、さらに、さらに上記所定の演算は、上記ユーザの固有情報e、上記署名鍵xおよび上記補助情報が対応する場合に上記最終演算結果が正当な署名となるように選定されたことを特徴とする署名装置。
First storage means for storing user specific information e;
Second storage means for storing auxiliary information t obtained by executing a predetermined calculation on the user's unique information e and signature key x;
A first partial operation result for signature is generated by executing the first partial operation for signature without using the message to be signed , using the unique information e of the user held in the first storage means Means for generating
A second partial operation for signature is executed using the auxiliary information t , the partial operation result for signature and the message to be signed held in the second storage means to generate a final operation result . Two generation means,
The signature first partial operation by the first generation means and the second partial operation for signature by the second generation means are selected to cooperate to generate the signature , and Furthermore, the predetermined calculation is selected so that the final calculation result becomes a valid signature when the user's unique information e, the signature key x, and the auxiliary information correspond to each other .
JP21039997A 1997-08-05 1997-08-05 Access credential authentication apparatus and method Expired - Fee Related JP3622433B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP21039997A JP3622433B2 (en) 1997-08-05 1997-08-05 Access credential authentication apparatus and method
US09/794,074 US7137007B2 (en) 1997-08-05 2001-02-28 Device and method for authenticating user's access rights to resources

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21039997A JP3622433B2 (en) 1997-08-05 1997-08-05 Access credential authentication apparatus and method

Publications (2)

Publication Number Publication Date
JPH1155249A JPH1155249A (en) 1999-02-26
JP3622433B2 true JP3622433B2 (en) 2005-02-23

Family

ID=16588683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21039997A Expired - Fee Related JP3622433B2 (en) 1997-08-05 1997-08-05 Access credential authentication apparatus and method

Country Status (2)

Country Link
US (1) US7137007B2 (en)
JP (1) JP3622433B2 (en)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4751209A (en) * 1985-10-11 1988-06-14 Matsushita Electric Industrial Co., Ltd. Dielectric ceramic compositions
US6963859B2 (en) 1994-11-23 2005-11-08 Contentguard Holdings, Inc. Content rendering repository
JPH08263438A (en) * 1994-11-23 1996-10-11 Xerox Corp Distribution and use control system of digital work and access control method to digital work
US6233684B1 (en) * 1997-02-28 2001-05-15 Contenaguard Holdings, Inc. System for controlling the distribution and use of rendered digital works through watermaking
US6832377B1 (en) * 1999-04-05 2004-12-14 Gateway, Inc. Universal registration system
US7743259B2 (en) * 2000-08-28 2010-06-22 Contentguard Holdings, Inc. System and method for digital rights management using a standard rendering engine
US8225414B2 (en) 2000-08-28 2012-07-17 Contentguard Holdings, Inc. Method and apparatus for identifying installed software and regulating access to content
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
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
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
US7774279B2 (en) 2001-05-31 2010-08-10 Contentguard Holdings, Inc. Rights offering and granting
US6754642B2 (en) * 2001-05-31 2004-06-22 Contentguard Holdings, Inc. Method and apparatus for dynamically assigning usage rights to digital works
US7028009B2 (en) * 2001-01-17 2006-04-11 Contentguardiholdings, Inc. Method and apparatus for distributing enforceable property rights
US7103573B2 (en) * 2001-04-02 2006-09-05 Privilegeone Networks, Llc User rewards program and associated communications system
US8275716B2 (en) * 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
US8099364B2 (en) 2001-05-31 2012-01-17 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
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
US8001053B2 (en) 2001-05-31 2011-08-16 Contentguard Holdings, Inc. System and method for rights offering and granting using shared state variables
US7774280B2 (en) 2001-06-07 2010-08-10 Contentguard Holdings, Inc. System and method for managing transfer of rights using shared state variables
KR20030096250A (en) 2001-06-07 2003-12-24 콘텐트가드 홀딩즈 인코포레이티드 Method and apparatus for supporting multiple trust zones in a digital rights management system
JP3668175B2 (en) * 2001-10-24 2005-07-06 株式会社東芝 Personal authentication method, personal authentication device, and personal authentication system
US7974923B2 (en) * 2001-11-20 2011-07-05 Contentguard Holdings, Inc. Extensible rights expression processing system
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
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
WO2003048840A1 (en) * 2001-12-07 2003-06-12 Juan Dominguez-Montes Double active parallax barrier for viewing stereoscopic images
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
EP1490819A4 (en) * 2002-03-14 2006-05-31 Contentguard Holdings Inc SYSTEM AND METHOD FOR EXPRESSING USE RIGHTS USING MODULATED SIGNALS
US7305555B2 (en) * 2002-03-27 2007-12-04 General Instrument Corporation Smart card mating protocol
US8543511B2 (en) * 2002-04-29 2013-09-24 Contentguard Holdings, Inc. System and method for specifying and processing legality expressions
US7895443B2 (en) * 2002-11-05 2011-02-22 Safenet, Inc. Secure authentication using hardware token and computer fingerprint
EP2182465B1 (en) * 2003-02-21 2013-05-01 Research In Motion Limited System and method of multiple-level control of electronic devices
DE10307995B4 (en) * 2003-02-25 2008-02-07 Siemens Ag Method for signing data
US7685642B2 (en) * 2003-06-26 2010-03-23 Contentguard Holdings, Inc. System and method for controlling rights expressions by stakeholders of an item
US20050097593A1 (en) * 2003-11-05 2005-05-05 Michael Raley System, method and device for selected content distribution
WO2005071880A1 (en) * 2004-01-23 2005-08-04 Nec Corporation Group signature system, method, device, and program
US20060107326A1 (en) * 2004-11-12 2006-05-18 Demartini Thomas Method, system, and device for verifying authorized issuance of a rights expression
US20060106726A1 (en) * 2004-11-18 2006-05-18 Contentguard Holdings, Inc. Method, system, and device for license-centric content consumption
US8660961B2 (en) * 2004-11-18 2014-02-25 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
US8074067B2 (en) * 2005-02-10 2011-12-06 Nec Corporation Member certificate acquiring device, member certificate issuing device, group signing device, and group signature verifying device
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
JP2007004461A (en) * 2005-06-23 2007-01-11 Nec Corp Service providing system, outsourcing agency apparatus, service providing method, and program
EP1929685A4 (en) * 2005-09-29 2011-12-21 Contentguard Holdings Inc System and method for digital rights management using advanced copy with issue rights, and managed copy tokens
US7720767B2 (en) * 2005-10-24 2010-05-18 Contentguard Holdings, Inc. Method and system to support dynamic rights and resources sharing
US9122563B2 (en) * 2009-02-03 2015-09-01 Microsoft Technology Licensing, Llc Computing minimal polynomials
CN102611749B (en) * 2012-01-12 2014-05-28 电子科技大学 Cloud-storage data safety auditing method
US10135613B2 (en) 2012-01-13 2018-11-20 Qualcomm Incorporated Method and apparatus for generating a privilege-based key
US8844026B2 (en) 2012-06-01 2014-09-23 Blackberry Limited System and method for controlling access to secure resources
CN103067374B (en) * 2012-12-26 2015-10-28 电子科技大学 A kind of data security auditing method of identity-based
US8850213B2 (en) * 2013-01-29 2014-09-30 Infineon Technologies Ag Method for verifying an electronic signature and data processing device
CN103501352B (en) * 2013-10-22 2016-08-17 北京航空航天大学 A kind of cloud storage data method for auditing safely allowing group user identity to cancel
CN104023044A (en) * 2014-01-01 2014-09-03 电子科技大学 Cloud-storage data lightweight-level public auditing method with privacy protection
CN105978695A (en) * 2016-05-03 2016-09-28 西南石油大学 Batch self-auditing method for cloud storage data

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557518A (en) * 1994-04-28 1996-09-17 Citibank, N.A. Trusted agents for open electronic commerce
US5347581A (en) * 1993-09-15 1994-09-13 Gemplus Developpement Verification process for a communication system
US5825880A (en) * 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system

Also Published As

Publication number Publication date
US20010009026A1 (en) 2001-07-19
US7137007B2 (en) 2006-11-14
JPH1155249A (en) 1999-02-26

Similar Documents

Publication Publication Date Title
JP3622433B2 (en) Access credential authentication apparatus and method
JP3613936B2 (en) Access qualification authentication device
JP3671611B2 (en) Access credential authentication apparatus and method
JP3613929B2 (en) Access credential authentication apparatus and method
JP3613921B2 (en) Access credential authentication apparatus and method
EP0881559B1 (en) Computer system for protecting software and a method for protecting software
US5935246A (en) Electronic copy protection mechanism using challenge and response to prevent unauthorized execution of software
JP3867388B2 (en) Conditional authentication apparatus and method
JP4463887B2 (en) Protected storage of core data secrets
JP4113274B2 (en) Authentication apparatus and method
Todorov Mechanics of user identification and authentication: Fundamentals of identity management
US5987134A (en) Device and method for authenticating user's access rights to resources
EP1374473B1 (en) Method and apparatus for secure cryptographic key generation, certification and use
CN109361668A (en) A method of reliable data transmission
US20040088541A1 (en) Digital-rights management system
US6651169B1 (en) Protection of software using a challenge-response protocol embedded in the software
JP3749640B2 (en) IC card using device, IC card and storage medium
Hu et al. Enhancing account privacy in blockchain-based IoT access control via zero knowledge proof
JP3860280B2 (en) Communication system, IC card issuance registration system, key code generation device, and recording medium
GB2270446A (en) Establishing a common cryptographic key at two cryptographic sites
Looi et al. Enhancing sesamev4 with smart cards
Salaiwarakul Verification of secure biometric authentication protocols
Varadharajan Authentication in mobile distributed environment
CN119743252A (en) Mobile terminal data encryption method, device, equipment and storage medium
Sowers Architecture for Issuing DoD Mobile Derived Credentials

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040810

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041004

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041115

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081203

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091203

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101203

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111203

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111203

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121203

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121203

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20131203

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