JP2004222331A - ユーザが電子商取引/情報サービス提供者の正当性をチェックできるようにする方法 - Google Patents

ユーザが電子商取引/情報サービス提供者の正当性をチェックできるようにする方法 Download PDF

Info

Publication number
JP2004222331A
JP2004222331A JP2004134565A JP2004134565A JP2004222331A JP 2004222331 A JP2004222331 A JP 2004222331A JP 2004134565 A JP2004134565 A JP 2004134565A JP 2004134565 A JP2004134565 A JP 2004134565A JP 2004222331 A JP2004222331 A JP 2004222331A
Authority
JP
Japan
Prior art keywords
signature
message
public key
user
class
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.)
Pending
Application number
JP2004134565A
Other languages
English (en)
Inventor
Takeshi Takagi
高木 剛
Ingrid Biehl
ビエール イングヴィド
Sachar Paulus
パウラス サッシャン
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.)
Technische Universitaet Darmstadt
Nippon Telegraph and Telephone Corp
Original Assignee
Technische Universitaet Darmstadt
Nippon Telegraph and Telephone 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 Technische Universitaet Darmstadt, Nippon Telegraph and Telephone Corp filed Critical Technische Universitaet Darmstadt
Publication of JP2004222331A publication Critical patent/JP2004222331A/ja
Pending 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/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/3271Cryptographic 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 challenge-response
    • 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/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • 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/3249Cryptographic 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 RSA or related signature schemes, e.g. Rabin scheme
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】 処理が高速である否認不可署名方式を提供すること。
【解決手段】 公開鍵(D,P,k,t)と秘密鍵(D1,q)が与えられる時、検証者側において、署名SのノルムN(S)がkビット以下のときはメッセージmのメッセージイデアルMを計算し、tビットより小さい乱数rを生成してH=(M/S)を計算し、ノルムがk−1ビットより小さい乱数イデアルBを生成してC=BHを計算することにより、チャレンジCを生成し、署名者側において、秘密鍵(D1,q)を用いて、上記チャレンジCを類群Cl(D1)にマップし、マップされたチャレンジCを類群Cl(D)に引き戻し、マップして引き戻した結果を二乗することにより応答Wを生成し、検証者側において、W=Bが成り立つか否かをチェックして、成り立つときは署名Sが正当であると判断する。
【選択図】 図3

Description

本発明は、署名者のプライバシーを保護できるデジタル署名の一種である否認不可署名方式に関するものである。
電気通信において、電子署名技術はデータの正当性を保証する技術として有効である。最も広く利用されている電子署名技術は、RSA署名とよばれる冪乗剰余演算を用いるタイプの電子署名である(参照:R.Rivest, A.Shamir and L.M.Adelman, "A method for obtaining digital signatures and public key cryptosystems", Communications of ACM, 21(2), pp.120-126, 1978)。
署名技術の性能を評価するポイントは、安全性と署名の生成・検証の速度であり、安全性が高く、処理速度が速い署名がより優秀な署名方式である。RSA署名は、公開情報である公開鍵から秘密鍵を得ることが計算量的に困難であることに安全性の根拠を置いている。公開鍵のサイズを大きく取ればそれだけ安全性が増す。また、このRSA署名は、高次の冪乗計算を行うため計算量が多く、署名の生成・検証に時間がかかることが大きな欠点である。
電子署名を拡張した方式として、ChaumとAntwerpenは否認不可署名を提案している[参照:D.Chaum, H.van Antwerpen, "Undeniable signature", Advances in Cryptology - CRYPTO'89, LNCS 435, pp.212-216, Springer-Verlag, 1990]。否認不可署名は、署名者と通信を行うことなしでは署名の正当性が確認できないという性質を有するので、署名が一人歩きすることがなく、署名者のプライバシーが守られる方式である。標準的な応用例として、ソフトウェアの安全な配布システムが挙げられる。ソフトウェア購入者は、署名者である配布元とコンタクトすることにより、第三者によってウイルスなどが混入されていないことが確認できる。
今日最も効果的な否認不可署名方式として、RSA型否認不可署名方式[R.Gennaro, H.Krawczyk, T.Rabin, "RSA-based Undeniable Signatures", Advances in Cryptology - CRYPTO'89, LNCS 435, pp.212-216, Springer-Verlag, 1990]がある。この方式は、上記のRSA署名をベースに構成された否認不可署名であり、同じく処理の複雑さが問題である。
これに関して、現在秘密鍵が安全に保管でき容易に携帯できる媒体として、スマートカードが注目されている。しかし、スマートカードは計算資源が乏しく、RSA型の否認不可署名を実行するには処理が遅いという問題点がある。また、大規模な流通システムを想定した場合、サーバへの負荷集中が問題となる。これらの理由から、効率よく高速で計算処理可能な否認不可署名が求められている。
従って、本発明が解決しようとする課題は、RSA型否認不可署名と比較して処理が高速である否認不可署名方式を提供することにある。
上記目的を達成するために、本発明は、(a)電子商取引/情報サービス提供者が認証機関から公開鍵と、秘密鍵と、否認不可署名方式による公開鍵に対する署名とを得るステップと、(b)電子商取引/情報サービス提供者からユーザに公開鍵と署名を提供し、電子商取引/情報サービス提供者から提供された公開鍵の正当性を証明するために、電子商取引/情報サービス提供者からユーザに提供された署名の検証処理をユーザが認証機関とインタラクティブに実行するようにするステップと、(c)ユーザが公開鍵を用いて暗号化したランダムデータをユーザから受け取り、暗号化したランダムデータを秘密鍵を用いて復号し、復号したランダムデータをユーザに返送することによって、ユーザが電子商取引/情報サービス提供者が真正な秘密鍵を保持していることを証明するために、復号したランダムデータとオリジナルのランダムデータが一致するかどうかチェックするようにするステップと、を有することを特徴とする、ユーザが電子商取引/情報サービス提供者の正当性をチェックできるようにする方法を提供する。
以上説明したように、本発明によれば、RSA型否認不可署名と比較して処理が高速である否認不可署名方式を提供することが可能となる。
以下、図1〜図9を参照して、本発明に係る否認不可署名方式の実施形態を詳細に説明する。
本発明に係る否認不可署名方式は、二次体の類群の構造、特に最大整数環と非最大整数環の類群間の移行のための高速アルゴリズムを利用する。
はじめに、この否認不可署名方式に利用される二次体の性質について簡単にまとめる。
4以上の素数p,q(p=3 mod 4,√(p/3)<q)に対して、D1=−pおよびD=D1qとおく。D1を基本判別式、Dを非基本判別式、qをコンダクタと呼ぶ。Zを有理整数環とすると、O=Z+(D+√D)/2Zを判別式Dの二次整環と呼ぶ。判別式Dの類群をCl(D)と記述する。類群Cl(D)の元A(イデアルと呼ぶ)は、A=(a,b)と二種類の整数で表される。ここで、aは正の整数、bは、b=D mod 4aを満たす整数である。もし、−a<b≦a,|b|≦a≦c=(b−D)/4aで、更に、a=cまたはa=|b|の時にb≧0とすると、イデアルAに対して一意的に(a,b)が決まる。イデアルAのノルムはN(A)=aと表し、ここでA=(a,b)である。各シンボルの定義は図1に示す表にまとめられた通りである。
本発明の否認不可署名方式では、イデアルAの類群Cl(D)での冪剰余Aを計算する必要がある。冪剰余Aの計算は、文献[J.Buchmann, S.Duellman and H.C.Williams, "On the complexity and efficiency of a new key exchange system", Advances in Cryptology - CRYPTO'89, LNCS 434, pp.597-616, Springer-Verlag, 1990]に述べられたアルゴリズム"Multply"、"Square"、"Reduce"、またはこのバリエーションである"Square&Multiply"を利用するか、文献[D.Shanks, "On Gauss and composition I, II", NATO ASI on Number
Theory and Applications (R.A.Mollin, editor), pp.163-179, Kluwer Academic Press, 1989]に述べられたアルゴリズム"NUCOMP","NUDUPL"を使用する。
また、本発明の否認不可署名方式では、最大整数環の類群Cl(D1)と非最大整数環の類群Cl(D)との間をスイッチするアルゴリズムが重要な役割を果たす。この計算は、最大公約の計算等の簡単な演算を行うだけでよく、非常に高速である。具体的な計算例としては、文献[D.Huehnlen, M.J.Jacobson,Jr., S.Paulus and T.Takagi, "A cryptosystem based on non-maximal imaginary quadratic orders with fast decryption", Advances in Cryptology - EUROCRYPT'98, LNCS 1403, pp.294-307, Springer-Verlag, 1998]に述べられたアルゴリズム"GoToMaxOrder"および"GoToNonMAxOrder"を使用する。
以下、図2〜図5を参照して、本発明に係る否認不可署名方式の処理の詳細を説明する。
図2は、この否認不可署名方式に用いられるパラメータをまとめたもので、図3は、この否認不可署名方式の全般的な処理手順を示し、図4は、図3の処理手順を実行するための署名者装置及び検証者装置の構成例を示す。
図3に示すように、この否認不可署名方式は、一般に、鍵生成(ステップS10)、署名生成(ステップS20)及び署名検証(ステップS30)の3つの主要な段階からなる。
鍵生成段階において、署名者装置10の鍵生成部11は、次の動作を実行する。即ち、2つの素数p,q(p,q>4、p=3 mod 4、√(p/3)<q)を生成し、D1=−p、及び、D=D1qを計算して、√|D1|/4のビット長kとq−(D1/q)のビット長t、但し(D1/q)はクロネッカー記号を表す、を求める。また、判別式Dの類群Cl(D)から判別式D1の類群Cl(D1)へのマップのカーネル元Pを生成する。カーネル元Pは以下で説明するアルゴリズム"KERNEL"によって生成される。ここでアルゴリズム"KERNEL"は、カーネル元P(Cl(D)→Cl(D1))を生成するアルゴリズムの一例である。そして、公開鍵を(D,P,k,t)、秘密鍵を(D1,q)と定義し、このようにして得られた公開鍵(D,P,k,t)及び秘密鍵(D1,q)を署名者装置10の鍵記憶部12に格納する。
この否認不可署名方式の基礎となる二次体に基づく暗号系の安全性は、公知の因数分解問題と等価であるDからD1とqを計算することの困難さに依存する。この詳細については、D.Huehnlen, M.J.Jacobson,Jr., S.Paulus and T.Takagi, "A cryptosystem based on non-maximal imaginary quadratic orders with fast decryption", Advances in Cryptology - EUROCRYPT'98, LNCS 1403, pp.294-307, Springer-Verlag, 1998を参照。
署名生成段階においては、署名者装置10の署名生成部14は次の動作を実行する。即ち、メッセージ生成部13によって生成されたメッセージmを類群Cl(D)のメッセージイデアルM=(u,b)に埋め込む。メッセージイデアルMのノルムはk+1ビットより大きく、埋め込みは、以下で説明するアルゴリズム"Embedding"を用いて行う。ここで、アルゴリズム"Embedding"は、メッセージmをメッセージイデアルMに埋め込むアルゴリズムの一例である。そして、メッセージイデアルMに対する署名Sを、下記のアルゴリズム"GoToMaxOrder"及び"GoToNonMaxOrder"を用いて、
S=GoToNonMaxOrder(GoToMaxOrder(M))
により生成し、メッセージと署名のペア(m,S)が得られる。ここで、アルゴリズム"GoToNonMaxOrder"と"GoToMaxOrder"は、基礎判別式D1の類群Cl(D1)にイデアルMをマップするアルゴリズムと、マップされたイデアルMを非基本判別式Dの類群Cl(D)に引き戻すアルゴリズムの一例である。このペア(m,S)は検証者に送られる。
署名検証ステップは以下の3つのステップを含んでいる。
検証ステップI(ステップS31)は、検証者装置20のノルムチェック部21及びチャレンジ生成部22によって以下のように実行される。まず、ノルムチェック部21によって、署名のノルムN(S)がkビットより小さいかチェックする。kビットより大きい場合は、署名は正しくない。kビットより小さい時は、チャレンジ生成部22によって次のような動作が実行される。即ち、下記のアルゴリズム"Embedding"を用いて、メッセージmに対するメッセージイデアルMを計算し、tビットより小さい乱数rを生成し、H=(M/S)を計算する。次に、下記のアルゴリズム"Embedding"を用いて、ノルムがk−1ビットより小さい乱数イデアルBを生成し、C=BHを計算する。このCはチャレンジ問題であり、署名者に送られる。ここで、アルゴリズム"Embedding"は乱数イデアルBを生成するアルゴリズムの一例である。
検証ステップII(ステップS32)は署名者装置10の応答生成部15によって次のように実行される。即ち、鍵記憶部12に格納された秘密鍵(D1,q)に従って、応答生成部15は、下記のアルゴリズム"GoToMaxOrder"及び"GoToNonMaxOrder"を用いて、
W=(GoToNonMaxOrder(GoToMaxOrder(C)))
を計算して、このWを検証者に応答として送り返す。ここで、アルゴリズム "GoToNonMaxOrder"と"GoToMaxOrder"は、基礎判別式D1の類群Cl(D1)にイデアルCをマップするアルゴリズムと、マップされたイデアルCを非基本判別式Dの類群Cl(D)に引き戻すアルゴリズムの一例である。
検証ステップIII(ステップS33)は、検証者装置20の応答チェック部23によって次のように実行される。即ち、応答チェック部23は、W=Bが成り立つかどうかをチェックする。成立すれば、署名の正当性が証明され、そうでなければ署名は不正なものである。
なお、否認不可署名方式は、I.Biehl, S.Paulus and T.Takagi, "Efficient Undeniable Signature Schemes based on Ideal Arithmetic in Quadratic Orders", Conference on the Mathematics of Public Key Cryptography, June 1999にも開示されているが、この文献の署名検証段階は本発明の否認不可署名方式で用いるアルゴリズムよりはるかに複雑で時間がかかるZero-Knowledge Protocol for Lker を用いており、本発明の否認不可署名方式とは異なるものである。
カーネル元P(Cl(D)→Cl(D1))を生成するアルゴリズム"KERNEL"は以下の通りである。
Algorithm KERNEL
Input: 基本判別式D1、コンダクタq
Output: イデアルP (Cl(D)→Cl(D1)
1./* Generate α =(x+y√D1)/2*/
1.1. 整数x,y(<√D1)を生成する。
2. /* Standard representation of α0 =(A,B) */
2.1. m=ky+n(x+yD1)/2を満たす整数(m,kn)を求める。
2.2. A←|(x−yD1)|/4m
2.3. B←(kx+n(x+y)D1/2)/mmod 2A,(−A≦B<A)
3./* Compute GoToNonMaxOrder(A)=(a,b) */
3.1. a←A
3.2. b←Bq mod 2A,(−a≦b<a)
4./* Reduce(a,b)*/
4.1. c←(D−b)/4a
4.2. WHILE{−a<b≦a<c}or{0≦b≦a=c}DO
4.2.1. −a≦μ=b+2λa<aを満たすμ,λを求める。
4.2.2.(a,b,c)←(c−(b+μ)λ/2,μ,a)
4.3. IF a=cAND b<0 THEN b←−b
4.4. RETURN(a,b)
メッセージmをイデアルMへ埋め込むアルゴリズム"Embedding" は以下の通りである。
Algorithm Embedding
Input: 非基本判別式D、kビットより小さいメッセージm
Output: メッセージイデアルM ∈Cl(D)
1. mより大きい素数で平方剰余である最小のものをuとする。
2. b=D mod 4u,(−u<b≦u)を満たすbを求める。
3. RETURN M=(u,b)
基礎判別式D1の類群Cl(D1)にイデアルをマップするアルゴリズム及びマップされたイデアルを非基本判別式Dの類群Cl(D)に引き戻すアルゴリズムである"GoToNonMaxOrder"及び"GoToMaxOrder"は以下の通りである。
Algoritym GoToNonMaxOrder
Input: 縮約イデアル(A,B)∈ Cl(D1)、コンダクタq
Output: (a,b)=Ψ(υ)、但しΨ:(Cl(D1)→Cl(D)、υはCl(D)の要素、を満たす縮約イデアル(a,b)∈ Cl(D)
1. a←A
2. b←Bq mod 2a、(−a≦b<a)
3. RETURN (a,b)
Algorithm GoToMaxOrder
Input: 縮約イデアル(a,b)∈ Cl(D)、基本判別式D1、コンダクタq
Output: (A,B)=Φ(α)、但しΦ:(Cl(D)→Cl(D1)、αはCl(D1)の要素、を満たす縮約イデアル(A,B)∈ Cl(D1)
1./* Compute (A,B)=(a,b)OD1 */
1.1. A←a
1.2. b←D mod 2
1.3. μ,λ∈Zについて、Solve 1=μq+λ
1.4 B←bμ+abλ mod 2a、(−A≦B<A)
2. /* Reduce(A,B) */
2.1. C←(D1−B)/4A
2.2. WHILE{−A<B≦A<C}or {0≦B≦A=C}DO
2.2.1. 剰余を用いた除算により−A≦μ=B+2λA<Aを満たすμ,λ∈Zを求める。
2.2.2. (A,B,C)←(C−(B+μ)λ/2,μ,A)
2.3. IF A=C AND B<0 THEN B←−B
2.4. RETURN(A,B)
この否認不可署名方式においては、必要な計算量は少なく、公開鍵が非常に長くても、署名検証は非常に速く行うことが可能である。
この否認不可署名方式の有効性を示すために、この否認不可署名方式及び従来のRSA型否認不可署名方式をソフトウェアに実装し、公開鍵のビット長が1024ビットの場合を例として、2つの方式における各ステップの処理時間を比較した。図5はこのシミュレーションの結果をまとめたものである。図5に示されるように、本発明の否認不可署名方式の鍵生成及び署名検証は従来のRSA型否認不可署名方式より大幅に速い。
更に、公開鍵のビット長が2倍に、例えば1024ビットから2048ビットになったとき、本発明の否認不可署名方式の処理時間は2倍に長くなるのみであるが、従来のRSA型否認不可署名方式の処理時間は約8倍になる。
次に、図6〜図9を参照して、本発明に係る否認不可署名方式の実用的な応用例について詳細に説明する。
図6は、ソフトウェアベンディングサーバ用否認不可署名システムの概略構成を示し、このシステムは、インターネット等の通信網108に接続されるクライアント101及び102、及び、ファイヤーウォール109を通して通信網108に接続される認証サーバ105及びソフトウェアベンディングサーバ106からなる。
このシステムにおいて、認証サーバ105は、ソフトウェアベンディングサーバ106に対し否認不可署名の秘密鍵を発行する。また、認証サーバ105は、ソフトウェアベンダの否認不可署名をソフトウェアベンディングサーバ106でダウンロード用に提示されている各ソフトウェアに添付する。クライアント101又は102が否認不可署名の添付されたソフトウェアをダウンロードする時、認証サーバ105で否認不可署名を検証するための処理を実行することによって、クライアント101又は102はソフトウェアがオリジナルから変更されていない(ソフトウェアがコンピュータウィルスに感染していない)ことを証明することができる。従って、このシステムにおいて、クライアント101又は102が検証者であり、認証サーバ105が署名者である。このようにして、ダウンロードしたソフトウェアでコンピュータウィルスに感染したものを検出することが可能となる。
このシステムにおいて本発明に係る否認不可署名方式を用いると、認証サーバには検証ステップ の実行が要求されるだけで、これは既に記載したように非常に速く行うことができるので、大規模システムの場合においても認証サーバの処理負荷をかなり低減することができる。
更に、本発明の否認不可署名方式において、鍵生成に必要な時間は約1秒であり、従来のRSA型デジタル署名方式において必要とされる約30分よりもはるかに短い。従来のRSA型デジタル署名方式を多数の異なるソフトウェアの署名に用いるとき、鍵生成はかなり時間を要するので、同じ鍵を何度も用いることは実際上避けられない。しかし、この同じ鍵を何度も用いることは安全性の観点からすると問題となり得る。何故なら、1つのソフトウェアに用いた鍵が何等かの方法で一旦攻撃されると、同じ鍵が用いられている全てのソフトウェアの安全性も失われることになるからである。これに関して、本発明の否認不可署名方式では、鍵生成にはほんのわずかな時間しかかからないので、同じ鍵を何度も使う必要がなく、各鍵を1度だけ用いることにより安全性を更に改善することが可能である。
図6のシステムにおいて、各認証サーバは、図7に例示するように構成することができる。図7の構成では、ネットワークインターフェース201、CPU(中央演算処理部)202、主記憶装置203、否認不可署名鍵格納エリア204、コンソール及びディスプレイインターフェース205、磁気ディスク装置等の二次記憶装置206、及び、光磁気ディスク装置等の補助記憶装置207がバスを介して相互接続されている。ここで、否認不可署名鍵格納エリア204はアクセス制御回路208を介してバスに接続され、否認不可署名処理プログラム209は二次記憶装置206に格納される。
図8は、電子商取引サービス用の否認不可署名システムの概略構成を示す。
近年、インターネット上の電子商取引の急速な普及に伴って、顧客と電子商取引業者の間のトラブルも増加している。例えば、顧客が適切な支払いを行ったにもかかわらず商品が配送されないといったトラブルがある。このようなトラブルをなくすために、電子商取引業者としては、信頼できる認証機関によって発行される証明書を取得してこの証明書を購入契約時に顧客に交付することが有効である。ここで、証明書が不正に再利用されないように、証明書に対して否認不可署名を用いることが適切である。
この図8のシステムにおいて、電子商取引業者302は、証明書を得るために、認証機関303に対して証明要求を行う。この証明要求に対し、認証機関303は電子商取引業者302の正当性をテストし、電子商取引業者302がテストにパスした場合には、認証機関303は電子商取引業者302に対するデジタル署名の秘密鍵と公開鍵のペアを生成する。認証機関303はさらに、本発明の否認不可署名方式を用いて公開鍵に対する署名を生成し、秘密鍵と公開鍵と署名の組を証明書として電子商取引業者302に送る。
そして、電子商取引業者302から商品を購入する前に、顧客301は、以下のようにして電子商取引業者302の正当性をチェックする。即ち、顧客301はまず電子商取引業者302から公開鍵と署名を入手する。それから顧客301は認証機関303に対して業者認証要求を行う。この業者認証要求に対し、否認不可署名の署名検証が認証機関303と署名者とし顧客301を検証者として行われる。もし署名検証に失敗すれば、公開鍵は認証機関303から発行された真正なものではないことを意味するので顧客301は電子商取引業者302を信頼すべきではない。
一方、署名検証に成功した場合には、公開鍵は認証機関303から発行された真正なものであることを意味する。この場合、顧客301は次にランダムデータを生成し、これを電子商取引業者302の公開鍵を用いて暗号化し、暗号化したランダムデータを電子商取引業者302に送る。これに対し、電子商取引業者302は暗号化したランダムデータを電子商取引業者302の秘密鍵を用いて復号し、復号したランダムデータを顧客301に返送する。そして、顧客301は復号されたランダムデータが元のランダムデータを一致するかどうかチェックする。もし一致するなら電子商取引業者302が公開鍵に対応する認証機関303により発行された真正な秘密鍵も所持していることを意味するので顧客301は電子商取引業者302を信頼できるものと見做してこの電子商取引業者302から商品の購入を行ってもよい。このようにして、電子商取引サービス提供者の正当性をチェックすることが可能となる。
上述した手順を以下のように変形してもよい。
即ち、図8のシステムにおいて、電子商取引業者302はホームページを持っており、このホームページの証明書を得るために、認証機関303に対して証明要求を行う。この証明要求に対し、認証機関303は電子商取引業者302の正当性をテストし、電子商取引業者302がテストにパスした場合には、認証機関303は本発明の否認不可署名方式を用いてホームページのハッシュ値に対する署名を生成し、顧客のブラウザ上に表示された電子商取引業者302のホームページ上にこの署名を証明書として掲示する。ここで、証明書は直接電子商取引業者302に発行せずに顧客のブラウザ上での電子商取引業者302のホームページの表示の上に現れるようにすることにより、電子商取引業者302による証明書の不正なコピーを防止することができる。
そして、電子商取引業者302から商品を購入する前に、顧客301は、以下のようにして電子商取引業者302の正当性をチェックする。即ち、顧客301はまず電子商取引業者302のホームページ上に掲示された証明書をクリックする。すると、署名が顧客301に送られると共に、顧客301が認証機関303にリンクされる。そして、否認不可署名の署名検証が認証機関303と署名者とし顧客301を検証者として行われる。もし署名検証に失敗すれば、ホームページはそのハッシュ値が認証機関303により署名された真正なものではないことを意味するので顧客301は電子商取引業者302を信頼すべきではない。一方、署名検証に成功した場合には、顧客301は電子商取引業者302を信頼できるものと見做してこの電子商取引業者302から商品の購入を行ってもよい。このようにしても、電子商取引サービス提供者の正当性をチェックすることが可能となる。
図9は、ニュース/メール提供サービス用の否認不可署名システムの概略構成を示す。
近年、SPAMメールや、メール又は添付ファイルによるコンピュータウィルス感染や、信頼性のないニュースによる社会混乱の脅威が増加している。このような脅威を取り除くために、ニュース/メール提供者は、提供するニュース/メールに否認不可署名を添付し、受領者が信頼できる認証機関により提供者の正当性を確認した後にのみに受け取ったニュース/メールを開く/読むようにすることができる。
この図9のシステムにおいて、ニュース/メール提供者402は、証明書を得るために、認証機関403に対して証明要求を行う。この証明要求に対し、認証機関403はニュース/メール提供者402の正当性をテストし、ニュース/メール提供者402がテストにパスした場合には、認証機関403はニュース/メール提供者402に対するデジタル署名の秘密鍵と公開鍵のペアを生成する。認証機関403はさらに、本発明の否認不可署名方式を用いて公開鍵に対する署名を生成し、秘密鍵と公開鍵と署名の組を証明書としてニュース/メール提供者402に送る。
そして、ニュース/メール提供者402から受け取ったニュース/メールを開封する前に、閲読者401は、以下のようにしてニュース/メール提供者402の正当性をチェックする。即ち、閲読者401はまずニュース/メール提供者402から公開鍵と署名を入手する。それから閲読者401は認証機関403に対して提供者認証要求を行う。この提供者認証要求に対し、否認不可署名の署名検証が認証機関403と署名者とし閲読者401を検証者として行われる。もし署名検証に失敗すれば、公開鍵は認証機関403から発行された真正なものではないことを意味するので閲読者401はニュース/メール提供者402を信頼すべきではない。
一方、署名検証に成功した場合には、公開鍵は認証機関403から発行された真正なものであることを意味する。この場合、閲読者401は次にランダムデータを生成し、これをニュース/メール提供者402の公開鍵を用いて暗号化し、暗号化したランダムデータをニュース/メール提供者402に送る。これに対し、ニュース/メール提供者402は暗号化したランダムデータをニュース/メール提供者402の秘密鍵を用いて復号し、復号したランダムデータを閲読者401に返送する。そして、閲読者401は復号されたランダムデータが元のランダムデータを一致するかどうかチェックする。もし一致するならニュース/メール提供者402が公開鍵に対応する認証機関403により発行された真正な秘密鍵も所持していることを意味するので閲読者401はニュース/メール提供者402を信頼できるものと見做してこのニュース/メール提供者402から受け取ったニュース/メールを開封してもよい。このようにして、情報サービス提供者の正当性をチェックすることが可能となる。
上述した手順を以下のように変形してもよい。
即ち、図9のシステムにおいて、ニュース/メール提供者402はホームページを持っており、このホームページの証明書を得るために、認証機関403に対して証明要求を行う。この証明要求に対し、認証機関403はニュース/メール提供者402の正当性をテストし、ニュース/メール提供者402がテストにパスした場合には、認証機関403は本発明の否認不可署名方式を用いてホームページのハッシュ値に対する署名を生成し、閲読者のブラウザ上に表示されたニュース/メール提供者402のホームページ上にこの署名を証明書として掲示する。ここで、証明書は直接ニュース/メール提供者402に発行せずに閲読者のブラウザ上でのニュース/メール提供者402のホームページの表示の上に現れるようにすることにより、ニュース/メール提供者402による証明書の不正なコピーを防止することができる。
そして、ニュース/メール提供者402から受け取ったニュース/メールを開封する前に、閲読者401は、以下のようにしてニュース/メール提供者402の正当性をチェックする。即ち、閲読者401はまずニュース/メール提供者402のホームページ上に掲示された証明書をクリックする。すると、署名が閲読者401に送られると共に、閲読者401が認証機関403にリンクされる。そして、否認不可署名の署名検証が認証機関403と署名者とし閲読者401を検証者として行われる。もし署名検証に失敗すれば、ホームページはそのハッシュ値が認証機関403により署名された真正なものではないことを意味するので閲読者401はニュース/メール提供者402を信頼すべきではない。一方、署名検証に成功した場合には、閲読者401はニュース/メール提供者402を信頼できるものと見做してこのニュース/メール提供者402から受け取ったニュース/メールを開封してもよい。このようにしても、情報サービス提供者の正当性をチェックすることが可能となる。
上述した本発明に係る実施形態は、コンピュータ技術に熟練した者にとって明らかなように、本願明細書の開示内容に従ってプログラムされた従来の汎用デジタルコンピュータを用いて好適に実装することができる。ソフトウェア技術に熟練した者にとって明らかなように、適切なソフトウェアコードは本願明細書の開示内容に基づいて熟練したプログラマによって容易に作成できる。
特に、上述の実施形態の各署名者装置及び検証者装置は、ソフトウェアパッケージの形態で好適に実装することができる。
そのようなソフトウェアパッケージは、本発明の開示する機能及びプロセスを実行するようにコンピュータをプログラムするためのコンピュータコードを格納した記録媒体を用いるコンピュータプログラム製品であってよい。記録媒体は、従来のフロッピディスク、光ディスク、CD−ROM、光磁気ディスク、ROM、RAM、EPROM、EEPROM、磁気又は光学カード等のいかなるタイプのものであってもよく、また、電子的命令を格納するための他のいかなる適当な媒体であってもよいが、これらに限定されるものでもない。
本発明に係る否認不可署名方式に用いられる二次体の説明に使用される記号の一覧表である。 本発明に係る否認不可署名方式に用いられるパラメータの一覧表である。 本発明に係る否認不可署名方式の処理手順を示すフローチャートである。 図3の処理手順を実行するための署名者装置及び検証者装置の構成例を示すブロック図である。 本発明に係る否認不可署名方式及び従来のRSA型デジタル署名方式における効率を比較するためのシミュレーション結果の一覧表である。 本発明に係る否認不可署名方式を用いたソフトウェアベンディングサーバ用否認不可署名システムの構成例を示す概略図である。 図6の否認不可署名システムの構成例を示すブロック図である。 本発明に係る否認不可署名方式を用いた電子商取引サービス用否認不可署名システムの構成例を示す概略図である。 本発明に係る否認不可署名方式を用いたニュース/メール提供サービス用否認不可署名システムの構成例を示す概略図である。
符号の説明
10 署名者装置
11 鍵生成部
12 鍵記憶部
13 メッセージ生成部
14 署名生成部
15 応答生成部
20 検証者装置
21 ノルムチェック部
22 チャレンジ生成部
23 応答チェック部
101,102 クライアント
105 認証サーバ
106 ソフトウェアベンディングサーバ
108 通信網(インターネット)
109 ファイヤーウォール
201 ネットワークインタフェース
202 CPU
203 主記憶装置
204 否認不可署名鍵格納エリア
205 コンソール及びディスプレイインタフェース
206 二次記憶装置
207 補助記憶装置
208 アクセス制御回路
209 否認不可署名処理プログラム
301 顧客
302 電子商取引業者
303,403 認証機関
401 閲読者
402 ニュース/メール提供者

Claims (4)

  1. (a)電子商取引/情報サービス提供者が認証機関から公開鍵と、秘密鍵と、否認不可署名方式による公開鍵に対する署名とを得るステップと、
    (b)電子商取引/情報サービス提供者からユーザに公開鍵と署名を提供し、電子商取引/情報サービス提供者から提供された公開鍵の正当性を証明するために、電子商取引/情報サービス提供者からユーザに提供された署名の検証処理をユーザが認証機関とインタラクティブに実行するようにするステップと、
    (c)ユーザが公開鍵を用いて暗号化したランダムデータをユーザから受け取り、暗号化したランダムデータを秘密鍵を用いて復号し、復号したランダムデータをユーザに返送することによって、ユーザが電子商取引/情報サービス提供者が真正な秘密鍵を保持していることを証明するために、復号したランダムデータとオリジナルのランダムデータが一致するかどうかチェックするようにするステップと、
    を有することを特徴とする、ユーザが電子商取引/情報サービス提供者の正当性をチェックできるようにする方法。
  2. 前記ステップ(a)は、二次体に基づく否認不可署名方式に従って署名を生成することを特徴とする請求項1記載の方法。
  3. 前記ステップ(a)は、更に、
    (a1)2つの素数p,q(p,q>4、p=3 mod 4、√(p/3)<q)を生成し、D1=−p及びD=D1qを計算し、√|D1|/4のビット長k及びq−(D1/q)のビット長t、但し(D1/q)はクロネッカー記号を表す、を求めて、類群Cl(D)から類群Cl(D1)のマップのカーネル元Pを生成することによって、認証機関において公開鍵(D,P,k,t)及び秘密鍵(D1,q)を生成するステップと、
    (a2)メッセージmを類群Cl(D)においてノルムがk+1ビットより長いメッセージイデアルMに埋め込み、メッセージイデアルMを類群Cl(D1)にマップし、マップされたメッセージイデアルMを類群Cl(D)に引き戻すことによって、認証機関においてメッセージmに対する署名Sを生成するステップと、
    を有することを特徴とする請求項2記載の方法。
  4. 前記ステップ(b)は、更に、
    (b1)ユーザ側において、署名SのノルムN(S)がkビットより小さいか否かをチェックして、ノルムN(S)がkビットより大きいときは署名Sが不正であると判断し、ノルムN(S)がkビット以下のときは、メッセージmのメッセージイデアルMを計算し、tビットより小さい乱数整数rを生成し、H=(M/S)を計算し、ノルムがk−1ビットより小さい乱数イデアルBを生成してC=BHを計算することにより、チャレンジCを生成するステップと、
    (b2)認証機関側において、秘密鍵(D1,q)を用いて、上記チャレンジCを類群Cl(D1)にマップし、マップされたチャレンジCを類群Cl(D)に引き戻し、マップして引き戻した結果を二乗することにより応答Wを生成するステップと、
    (b3)ユーザ側において、W=Bが成り立つか否かをチェックして、成り立つときは署名Sが正当であり、そうでなければ署名Sは不正であると判断するステップと、
    を有することを特徴とする請求項3記載の方法。
JP2004134565A 2000-08-31 2004-04-28 ユーザが電子商取引/情報サービス提供者の正当性をチェックできるようにする方法 Pending JP2004222331A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP00118210A EP1185025A1 (en) 2000-08-31 2000-08-31 Undeniable digital signature scheme based on quadratic field

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000333614A Division JP3607191B2 (ja) 2000-08-31 2000-10-31 二次体に基づく否認不可署名方式

Publications (1)

Publication Number Publication Date
JP2004222331A true JP2004222331A (ja) 2004-08-05

Family

ID=8169622

Family Applications (5)

Application Number Title Priority Date Filing Date
JP2000333614A Expired - Fee Related JP3607191B2 (ja) 2000-08-31 2000-10-31 二次体に基づく否認不可署名方式
JP2004134568A Pending JP2004222333A (ja) 2000-08-31 2004-04-28 ユーザが電子商取引/情報サービス提供者の正当性をチェックできるようにする方法
JP2004134565A Pending JP2004222331A (ja) 2000-08-31 2004-04-28 ユーザが電子商取引/情報サービス提供者の正当性をチェックできるようにする方法
JP2004134563A Pending JP2004222330A (ja) 2000-08-31 2004-04-28 ソフトウェアベンディングサービスの提供方法
JP2004134566A Pending JP2004222332A (ja) 2000-08-31 2004-04-28 ユーザが電子商取引/情報サービス提供者の正当性をチェックできるようにする方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2000333614A Expired - Fee Related JP3607191B2 (ja) 2000-08-31 2000-10-31 二次体に基づく否認不可署名方式
JP2004134568A Pending JP2004222333A (ja) 2000-08-31 2004-04-28 ユーザが電子商取引/情報サービス提供者の正当性をチェックできるようにする方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2004134563A Pending JP2004222330A (ja) 2000-08-31 2004-04-28 ソフトウェアベンディングサービスの提供方法
JP2004134566A Pending JP2004222332A (ja) 2000-08-31 2004-04-28 ユーザが電子商取引/情報サービス提供者の正当性をチェックできるようにする方法

Country Status (2)

Country Link
EP (1) EP1185025A1 (ja)
JP (5) JP3607191B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7461261B2 (en) 2004-02-13 2008-12-02 Ecole Polytechnique Federale De Lausanne (Epel) Method to generate, verify and deny an undeniable signature
JP2007104628A (ja) * 2005-09-07 2007-04-19 Nec Soft Ltd アドホック網の端末認証方法、端末認証システム、認証局、端末認証管理方法およびプログラム
WO2007094056A1 (ja) * 2006-02-15 2007-08-23 Fujitsu Limited 通信装置、無線通信装置および制御方法
CN100518059C (zh) * 2006-07-19 2009-07-22 上海交通大学 二次域密码产生方法和二次域密码签名方法

Also Published As

Publication number Publication date
EP1185025A1 (en) 2002-03-06
JP2002072873A (ja) 2002-03-12
JP2004222332A (ja) 2004-08-05
JP2004222333A (ja) 2004-08-05
JP2004222330A (ja) 2004-08-05
JP3607191B2 (ja) 2005-01-05

Similar Documents

Publication Publication Date Title
JP3659178B2 (ja) 分散ディジタル署名作成方法及び装置及び分散ディジタル署名付ディジタル文書作成方法及び装置及び分散ディジタル署名作成プログラム及び分散ディジタル署名作成プログラムを格納した記憶媒体
US8185476B2 (en) Digital rights management system protecting consumer privacy
US8589693B2 (en) Method for two step digital signature
US7246379B2 (en) Method and system for validating software code
US20100142704A1 (en) Cryptographic encoding and decoding of secret data
US20050271207A1 (en) Method and system for chaotic digital signature, encryption, and authentication
Mangipudi et al. A secure identification and key agreement protocol with user anonymity (SIKA)
Sathya et al. A comprehensive study of blockchain services: future of cryptography
US7248692B2 (en) Method of and apparatus for determining a key pair and for generating RSA keys
Daniel et al. A forward secure signcryption scheme with ciphertext authentication for e-payment systems using conic curve cryptography
Kumar et al. An efficient implementation of digital signature algorithm with SRNN public key cryptography
US6976169B1 (en) Undeniable digital signature scheme based on quadratic field
Kumar et al. Cryptanalysis and performance evaluation of enhanced threshold proxy signature scheme based on RSA for known signers
JP4772965B2 (ja) エンティティの真正性および/またはメッセージの完全性を証明するための方法
KR100971038B1 (ko) 다수의 엔티티와 그에 따른 장치에 부하를 분배하는암호화 방법
JP3607191B2 (ja) 二次体に基づく否認不可署名方式
Kwon Virtual software tokens-a practical way to secure PKI roaming
JP4494965B2 (ja) 処理中の計算を容易にするための暗号化方法、及び装置
KR100899020B1 (ko) 공개키를 이용하여 암호화 작업을 수행하는 방법
Noel et al. Review and analysis of classical algorithms and hash-based post-quantum algorithm
Om et al. RSA based remote password authentication using smart card
Terrance et al. In-depth Analysis of the Performance of RSA and ECC in Digital Signature Application
Ezziri et al. Amelioration of a proxy signature using RSA encryption
WO2006069994A2 (en) Process and device for the authentication of communications
JP2000215252A (ja) 電子ショッピング方法、電子ショッピングシステムおよび文書認証方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040511

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060704

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061205