JP4577720B2 - Partial blind signature / verification / tracking method and system - Google Patents
Partial blind signature / verification / tracking method and system Download PDFInfo
- Publication number
- JP4577720B2 JP4577720B2 JP2005201556A JP2005201556A JP4577720B2 JP 4577720 B2 JP4577720 B2 JP 4577720B2 JP 2005201556 A JP2005201556 A JP 2005201556A JP 2005201556 A JP2005201556 A JP 2005201556A JP 4577720 B2 JP4577720 B2 JP 4577720B2
- Authority
- JP
- Japan
- Prior art keywords
- signature
- verification
- info
- requesting device
- msg
- 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.)
- Active
Links
Images
Description
本発明は電子署名の応用技術であり、特にブラインド署名方式と呼ばれる、署名者に対して署名対象文書の秘匿を目的とする署名方式の機能拡張技術に関する。 The present invention is an application technique of an electronic signature, and particularly relates to a function expansion technique of a signature scheme for the purpose of concealing a signature target document from a signer, which is called a blind signature scheme.
署名依頼者のプライバシ保護および不正防止を両立させるための署名技術として、署名依頼者の追跡機能を有するブラインド署名方式が知られている(例えば非特許文献1)。これはFair Blind Signature(FBS)と呼ばれ、署名依頼者が署名者に対して署名依頼文書を伏せたまま署名付与してもらうことができる、ブラインド署名と呼ばれる技術の拡張であり、ある権限者(開示機関)だけは、ブラインド署名によって生成された特定の署名付き文書から署名依頼者を識別する、あるいは特定の署名依頼者に対応する署名付き文書を識別することが可能な技術である。また最近では、FBSのある種の安全性が証明された方式も提案されている(非特許文献2)。 As a signature technique for achieving both privacy protection and fraud prevention of a signature requester, a blind signature method having a signature requester tracking function is known (for example, Non-Patent Document 1). This is called Fair Blind Signature (FBS), which is an extension of a technology called blind signature that allows a signer to give a signer a signature request with the signer lying down. Only (disclosing institution) is a technology that can identify a signature requester from a specific signed document generated by a blind signature, or can identify a signed document corresponding to a specific signature requester. Recently, there has also been proposed a method in which certain safety of FBS is proved (Non-Patent Document 2).
さらに、署名者をCA(Certificate Aithority)、署名依頼文書を署名公開鍵とし、署名依頼者はCAに対してFBSを用いて該署名公開鍵を知られることなく鍵証明書を発行してもらうことで、CAは開示機関と協力しない限りは、署名依頼者と署名公開鍵との対応関係を知ることができないような方式も提案されている(非特許文献3)。このような権限分散手法を用いることで、ユーザ(=署名依頼者)からみたサービス提供者(=CA、開示機関)に対する信頼性向上、およびサービス提供者の情報漏洩防止といった効果が期待できる。 Further, the signer is a CA (Certificate Aithority), the signature request document is a signature public key, and the signature requester uses the FBS to issue a key certificate to the CA without knowing the signature public key. Thus, a method is proposed in which the CA cannot know the correspondence between the signature requester and the signature public key unless it cooperates with the disclosure organization (Non-patent Document 3). By using such an authority distribution method, it is possible to expect an effect of improving the reliability of the service provider (= CA, disclosure organization) from the viewpoint of the user (= signing requester) and preventing information leakage of the service provider.
上述のようなFBSを鍵証明書の発行に応用した方式は、該鍵証明書に有効期限やユーザ属性等のオープンな情報を記述できることが望ましいと考えられる。例えばITU(国際電気通信連合)が定めた鍵証明書の仕様であるX.509v3の証明書フォーマットでは、バージョン情報や証明書番号、署名アルゴリズムといった情報が含まれる。以降、この種の鍵証明書に埋め込むオープンな情報をInfoと表記する。しかしながら、署名者、署名依頼者及び検証者に対してオープンな情報を署名依頼文書に埋め込み、かつ追跡機能を有するようなブラインド署名方式は、現在まで提案されていない。 It is considered that a method in which the FBS as described above is applied to the issuance of a key certificate desirably describes open information such as an expiration date and user attributes in the key certificate. For example, X.I., which is a key certificate specification established by the ITU (International Telecommunication Union). The 509v3 certificate format includes information such as version information, certificate number, and signature algorithm. Hereinafter, open information embedded in this type of key certificate is referred to as Info. However, a blind signature method that embeds information open to a signer, a signature requester, and a verifier in a signature request document and has a tracking function has not been proposed so far.
本発明は、このような状況に鑑みてなされたもので、追跡機能を有するブラインド署名(FBS)を部分ブラインド署名(PBS;Partially Blind Signature)に拡張し、署名者がInfoを鍵証明書にオープンな情報として記述することが可能な、追跡機能を有する部分ブラインド署名・検証・追跡方法及びシステムを提供することにある。 The present invention has been made in view of such circumstances. The blind signature (FBS) having a tracking function is expanded to a partial blind signature (PBS), and the signer opens Info as a key certificate. It is an object to provide a partial blind signature / verification / tracking method and system having a tracking function that can be described as simple information.
部分ブラインド署名(PBS)は、署名者に対して部分的に伏せた文書を署名依頼することが可能な技術である。これについては、例えば文献「M.Abe and T.Okamato,“Provably secure partially blind signatures,“CRYPTO,‘00,LNCS 1880,pp.271−286,Springer Verlag,2000」(以下、非特許文献4)に詳述されている。 Partial blind signature (PBS) is a technology that allows a signer to request a partially obfuscated document. Regarding this, for example, the document “M. Abe and T. Okamato,“ Probably secure partially blind signatures, ”CRYPTO, '00, LNCS 1880, pp. 271-286, Springer Verlag, 2000” (hereinafter, Non-Patent Document 4). Is described in detail.
本発明は、FBSをPBSに拡張し、任意のブラインド署名で用いる群の元を、オープンな情報Infoを用いて生成する。例えば非特許文献4で提案されているFBSでは、p,qを素数とし、H1(・)を任意のビット列から群Zp *に写すハッシュ関数とし、g,h,yをZp *の元として、署名者はz=H1(p‖q‖g‖h‖y)を生成するが(‖はデータの連結を表す)、本発明では、z=H1(p‖q‖g‖h‖y‖Info)とする、あるいはg,h,yの何れかを同様の操作により生成することで、非特許文献4のFBSをPBSとできる。 In the present invention, FBS is extended to PBS, and a group element used in an arbitrary blind signature is generated by using open information Info. For example, in the FBS proposed in Non-Patent Document 4, p and q are prime numbers, H 1 (·) is a hash function that maps from an arbitrary bit string to a group Z p * , and g, h, and y are Z p * . Originally, the signer generates z = H 1 (p‖q‖g‖h‖y) (‖ represents data concatenation), but in the present invention, z = H 1 (p‖q‖g‖) h‖y‖Info), or by generating any one of g, h, and y by a similar operation, the FBS of Non-Patent Document 4 can be made PBS.
また、本発明は、上記のようにInfoを含めて群の元を構成するのではなく、事前に決定されたInfoを定数として署名発行処理及び署名検証処理で該Infoを利用するようにプロトコルを変更することで、FBSをPBSに拡張する。 In addition, the present invention does not constitute a group element including Info as described above, but uses a protocol so that Info is used in signature issuing processing and signature verification processing using Info determined in advance as a constant. By changing, the FBS is expanded to PBS.
本発明によれば、署名者などが指定したオープンな情報を含み、かつ追跡機能を有するようなブラインド署名を生成することができる。これにより、追跡機能を有するブラインド署名を応用した鍵証明書発行方式のより柔軟な運用が可能となる。 According to the present invention, it is possible to generate a blind signature that includes open information designated by a signer and the like and has a tracking function. As a result, a more flexible operation of the key certificate issuance method using a blind signature having a tracking function is possible.
以下、本発明の実施の形態について図面を参照して詳述する。なお、本発明は追跡機能を有するブラインド署名(FBS)を部分ブラインド署名(PBS)に拡張するものであるが、高いセキュリティを有することが望ましいという理由から、以下の第1,2の実施の形態ともに、非特許文献2で提案された(ある種の安全性が保証された)FBSを元にPBSへ拡張する例について説明する。但し、本発明の拡張は非特許文献2のFBSに限ったものではなく、他のFBSに容易に適用できることは言うまでもない。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Although the present invention extends the blind signature (FBS) having a tracking function to the partial blind signature (PBS), the following first and second embodiments are preferable because it is desirable to have high security. In both cases, an example of extending to PBS based on FBS proposed in Non-Patent Document 2 (a certain kind of safety is guaranteed) will be described. However, it is needless to say that the extension of the present invention is not limited to the FBS of Non-Patent Document 2, and can be easily applied to other FBSs.
[第1の実施の形態]
本実施の形態は、署名者が指定したオープンな情報Infoを含み、かつ追跡機能を有するようなブラインド署名を生成するもので、以下では、非特許文献2で提案されているFBSに対して、非特許文献4で提案されているPBSの技術を適用することでPBSの機能を追加する方法について、図面を用いて説明する。
[First Embodiment]
This embodiment generates a blind signature that includes open information Info specified by a signer and has a tracking function. In the following, for an FBS proposed in Non-Patent Document 2, A method of adding a PBS function by applying the PBS technique proposed in Non-Patent Document 4 will be described with reference to the drawings.
図1は本実施の形態のシステム構成を示す図であり、署名依頼装置10、署名装置20、検証装置30、開示装置(管理装置)40、及びこれら装置を結ぶネットワーク50からなる。署名依頼装置10には、パソコン、携帯端末、携帯電話、その他、利用者が操作する任意の機器(利用者端末装置)が含まれる。署名装置20、検証装置30、開示装置40はサーバ装置であり、その具体的構成は所謂コンピュータシステムと同様である。
FIG. 1 is a diagram showing a system configuration of the present embodiment, which includes a
署名依頼装置10、署名装置20、検証装置30、開示装置40では、FBSのシステムパラメータprm=(p,q,g,h)が生成、共有されているものとする。ここでp,qはq|p−1となる素数、g,hは乗法群Zp *の位数qの部分群Gの元である。
It is assumed that the
<鍵生成>
署名装置20は秘密鍵xを生成・保管し、公開鍵y=gxmodpを計算する。ここで、xはq以下のランダムな自然数である。また、開示装置40は秘密鍵rsk=(xt,dk)を生成・保管し、公開鍵rpk=(yt=gxtmodp,ek)を計算する。ここで、xtはq以下のランダムな自然数、ek,dkはそれぞれある検証可能暗号(VE;Verifiable Encryption)の公開鍵および秘密鍵である。なお、VEの説明および具体例は非特許文献2に示されている。全ての装置10〜40がy,rpkを共有する。署名依頼装置10はRSA署名やSchnorr署名など、任意の署名方式の秘密鍵、公開鍵の組(Sk,PK)を作成する。図1に、ここまでの各装置10〜40が保持する情報を示す。
<Key generation>
The
<ブラインド署名>
署名依頼装置10は、署名装置20にPKの鍵証明書生成を依頼する。鍵証明書生成の処理は非特許文献2のFBSとほぼ等しいが、Gの元zの生成が異なる。非特許文献2FBSでは、以下のようにしてzを生成している。
z=H1(p‖q‖g‖h‖y)
ここでH1は任意のビット列であるp‖q‖g‖h‖yをGに写す一方向性ハッシュ関数である。本実施の形態では、該FBSにPBSの機能を追加するために、zを以下のようにして生成する。
z=H 1 (p‖q‖g‖h‖y‖Info)
<Blind signature>
The
z = H 1 (p‖q‖g‖h‖y)
Here, H 1 is a one-way hash function that copies an arbitrary bit string p‖q‖g で h‖y to G. In the present embodiment, z is generated as follows in order to add a PBS function to the FBS.
z = H 1 (p‖q‖g‖h‖y‖Info)
ここでInfoは署名装置20が指定したオープンな情報である。なお、Infoの埋め込みについて、基本的には一意的に生成されない元であれば、上記同様の方法によりz以外の値に対してもInfoの埋め込みが可能である。
Here, Info is open information designated by the
以上を踏まえ、署名依頼装置10がPKの鍵証明書を取得する手順について説明する。図2に、本実施の形態における鍵証明書生成の詳細な処理フローを示す。
署名依頼装置10は署名装置20に鍵証明書の生成を依頼する(ステップ101)。署名装置20は特定の文字列Infoを署名依頼装置10に返す(ステップ102)。また、署名装置20は署名依頼装置10(または署名依頼者)を識別する情報(ID)を登録する(ステップ103)。
Based on the above, a procedure for the
The
署名依頼装置10では、以下の処理を行う。
(a)q以下のランダムな自然数γをブラインド係数として選ぶ(ステップ104)。
(b)z=H1(p‖q‖g‖h‖y‖Info),zu=z1/γ,ξ=gγ,E=εek(γ),P=Γ((zu,ξ),γ,ek)を計算する(ステップ105)。ここで、εは検証可能暗号(VE)の暗号化関数であり、E=εek(γ)は該VEの関数を用いて公開鍵ekによりγを暗号化した暗号文である。ΓはEに対応する平文(=γ)が1/logzzu(=γ)およびloggξ(=γ)と等しいことを署名装置20にゼロ知識証明するための関数であり、Pは該証明のための述語(predicate)である。
(c)(zu,ξ,E,P)を署名装置20に送信する(ステップ106)。
The
(A) A random natural number γ of q or less is selected as a blind coefficient (step 104).
(B) z = H 1 (p‖q‖g‖h‖y‖Info), zu = z 1 / γ , ξ = g γ , E = ε ek (γ), P = Γ ((z u , ξ ), Γ, ek) (step 105). Here, ε is an encryption function of verifiable cipher (VE), and E = ε ek (γ) is a ciphertext obtained by encrypting γ with a public key ek using the VE function. Γ is a function for demonstrating zero knowledge to the
(C) Transmit (z u , ξ, E, P) to the signature device 20 (step 106).
署名依頼装置10から(zu,ξ,E,P)を受信した署名装置20は以下の処理を行う。
(a)z=H1(p‖q‖g‖h‖y‖Info)を計算し、(zu,ξ,E,P)が正しい結果かどうか検証する(ステップ107)。検証OKであれば次に進み、NGであれば署名依頼装置10の不正として処理を終了する。
(b)q以下のランダムな自然数v,u,s1,s2,dを選ぶ(ステップ108)。
(c)z 1 =yt v,z2=zu/z1,Ps=Γ s (z 1 ,yt,v),a=gu,b1=gs1z1 d,b2=hs2z2 dを計算する(ステップ109)。ここで、Γ s はlogytz1(=v)の値を知っていることを署名依頼装置10にゼロ知識証明する関数であり、P s は該証明のための述語である。
(d)(Ps,z 1 ,a,b1,b2)を署名依頼装置に送信する(ステップ110)。
(e)ξvを計算する(ステップ111)。
(f)IDとξvの対応を示す(ID,ξv)の組を保存する(ステップ112)。
The
(A) Calculate z = H 1 (p‖q‖g‖h‖y‖Info) and verify whether (z u , ξ, E, P) is a correct result (step 107). If the verification is OK, the process proceeds to the next step, and if it is NG, the process is terminated because the
(B) Random natural numbers v, u, s 1 , s 2 , and d less than or equal to q are selected (step 108).
(C) z 1 = y t v, z 2 = z u /
(D) (P s , z 1 , a, b 1 , b 2 ) is transmitted to the signature requesting device (step 110).
(E) ξ v is calculated (step 111).
(F) A set of (ID, ξ v ) indicating the correspondence between ID and ξ v is stored (step 112).
署名装置20から(Ps,z 1 ,a,b1,b2)を受信した署名依頼装置10は以下の処理を行う。
(a)(z 1 ,b1,b2)がGの元かどうか、および(z1,yt,Ps)が正しい結果かどうか検証する(ステップ113)。両方とも検証OKであれば次に進み、どちらか一方でもNGであれば署名装置の不正として処理を終了する。
(b)q以下のランダムな自然数t1,t2,t3,t4,t5を選ぶ(ステップ114)。
(c)ζ1=z1 γ,ζ2=z/ζ1,α=agt1yt2,β1=b1 γgt3ζ1 t5,β2=b2 γht4ζ2 t5,ε=H2(ζ1‖α‖β1‖β2‖PK),e=ε−t2−t5を計算する(ステップ115)。ここでH2は任意の文字列をq以下の自然数に写す一方向性ハッシュ関数とする。
(d)eを署名装置20に送信する(ステップ116)。
The
(A) It is verified whether ( z 1 , b 1 , b 2 ) is an element of G and whether (z 1 , y t , P s ) is a correct result (step 113). If both are verification OK, the process proceeds to the next step, and if either one is NG, the process is terminated because the signature device is invalid.
(B) Random natural numbers t 1 , t 2 , t 3 , t 4 , t 5 which are equal to or less than q are selected (step 114).
(C) ζ 1 = z 1 γ, ζ 2 = z /
(D) Send e to the signature device 20 (step 116).
署名依頼装置10からeを受信した署名装置10は以下の処理を行う。
(a)c=e−d,r=u−cxを計算する(ステップ117)。
(b)((r,c,s1,s2,d)を署名依頼装置10に送信する(ステップ118)。
The
(A) c = ed and r = u-cx are calculated (step 117).
(B) ((r, c, s 1 , s 2 , d) is transmitted to the signature requesting apparatus 10 (step 118).
署名装置20から(r,c,s1,s2,d)を受信した署名依頼装置10は以下の処理を行う。
(a)ρ=r+t1,ω=c+t2,σ 1 =γs1+t3,σ2=γs2+t4,δ=d+t5を計算する(ステップ119)。
(b)ω+δ=H2(ζ1‖gρyω‖gσ1ζ1 δ‖hσ2ζ2 δ‖PK)が成り立つかどうか検証する(ステップ120)。検証OKであれば次に進み、NGであれば署名装置20の不正として処理を終了する。
(c)Σ=(ζ1,ρ,ω,σ 1 ,σ2,δ)をPKの証明書として出力する(ステップ121)。
The
(A) ρ = r + t 1 , ω = c + t 2 , σ 1 = γs 1 + t 3 , σ 2 = γs 2 + t 4 , δ = d + t 5 are calculated (step 119).
(B) It is verified whether or not ω + δ = H 2 (ζ 1 ‖g ρ y ω ‖g σ 1 ζ 1 δ ‖ h σ 2 ζ 2 δ ‖ PK) holds (step 120). If the verification is OK, the process proceeds to the next step, and if it is NG, the process is terminated because the
(C) Σ = (ζ 1 , ρ, ω, σ 1 , σ 2 , δ) is output as a certificate of PK (step 121).
<署名検証>
署名装置20よりPKの証明書Σ=(ζ1,ρ,ω,σ 1 ,σ2,δ)を得た署名依頼装置10は、(SK,PK)を用いてメッセージmsgに対する署名Sを生成し、T=(S,PK,Info,Σ)を鍵証明書を含んだ署名の組とする。
<Signature verification>
The
署名検証は、PKの鍵証明書の正当性検証とメッセージmsgの署名Sの正当性検証からなるとする。図3に、本実施の形態における署名検証の処理フローを示す。
署名依頼装置10は、msg,Tを検証装置30へ送信する(ステップ201)。ここで、T=(S,PK,Info,Σ)であり、Σ=(ζ1,ρ,ω,σ 1 ,σ2,δ)である。
The signature verification is assumed to consist of validity verification of the PK key certificate and validity verification of the signature S of the message msg. FIG. 3 shows a processing flow of signature verification in the present embodiment.
The
署名依頼装置10から(msg,T)を受信した検証装置30は以下の処理を行う。
(a)Infoが所定の条件を満たすものであるか確認する(ステップ202)。OKであれば次に進み、NGであれば処理を終了する。
(b)z=H1(p‖q‖g‖h‖y‖Info)を計算する(ステップ203)。
(c)ω+δ=H2(ζ1‖gρyω‖gσ1ζ1 δ‖hσ2(z/ζ1 δ)‖PK)が成り立つかどうか検証する(ステップ204)。検証OKであれば次に進み、NGであれば署名装置20の不正として処理を終了する。
(d)PKに対応する署名方式の検証アルゴリズムを用いて、Sがmsgの正しい署名であるか検証する(ステップ205)。検証NGであれば署名装置20の不正とする。
The
(A) It is confirmed whether Info satisfies a predetermined condition (step 202). If it is OK, the process proceeds to the next step, and if it is NG, the process is terminated.
(B) z = H 1 (p‖q‖g‖h‖y‖Info) is calculated (step 203).
(C) It is verified whether or not ω + δ = H 2 (ζ 1 ‖g ρ y ω ‖g σ 1 ζ 1 δ ‖ h σ 2 (z / ζ 1 δ ) ‖PK) holds (step 204). If the verification is OK, the process proceeds to the next step, and if it is NG, the process is terminated because the
(D) Using the signature scheme verification algorithm corresponding to PK, verify whether S is a correct msg signature (step 205). If the verification is NG, the
上記処理において、ステップ202〜204はPKの鍵証明書の正当性検証であり、ステップ205はメッシセージmsgの署名Sの正当性検証である。 In the above processing, steps 202 to 204 are the validity verification of the key certificate of the PK, and step 205 is the validity verification of the signature S of the message msg.
<署名追跡>
これは、例えば、メッセージmsgが不正なメッセージだとして、メッセージmsgの署名Sの生成者を特定したい場合に実施する。図4に、本実施の形態における署名追跡の処理フローを示す。
1.検証装置30は、msg,Tを開示装置40、署名装置20に送信する(ステップ301)。
2.開示装置40および署名装置20は検証装置30と同様の検証処理(図3)を行い、検証OKとなることを確認する(ステップ302)。もしNGであれば処理を終了する。
<Signature tracking>
This is performed, for example, when the message msg is an invalid message and it is desired to specify the creator of the signature S of the message msg. FIG. 4 shows a processing flow of signature tracking in the present embodiment.
1. The
2. The
3.開示装置40は以下の処理を行う。
(a)I=ζ1 1/xtを計算する(ステップ303)。
(b)Iを署名装置20に送信する(ステップ304)。
3. The
(A) I = ζ 1 1 / xt is calculated (step 303).
(B) I is transmitted to the signature device 20 (step 304).
4.開示装置40からIを受信した署名装置20は以下の処理を行う。
(a)保持してある(ID,ξv)からI=ξvとなるようなξvを見つける(ステップ305)。
(b)該ξvに対応するIDから、msgの署名Sを生成した署名依頼装置(または署名依頼者)を特定する(ステップ306)。ここでは署名依頼者とする。
(c)特定した署名依頼者を開示装置40に送信する(ステップ307)。
5.開示装置40は署名装置20から送られた署名依頼者を検証装置30に送信する(ステップ308)。
4). The
(A) Find ξ v such that I = ξ v from the stored (ID, ξ v ) (step 305).
(B) from the ID corresponding to the xi] v, it identifies the signature request device that generated the signature S of msg (or signature requester) (step 306). Here, it is assumed that the signature requester.
(C) The identified signature requester is transmitted to the disclosure device 40 (step 307).
5). The
これにより、開示装置20及び署名装置40が協力した場合に限り、メッセージmsgの署名Sを生成した署名依頼装置(又は署名依頼者)を特定することができる。
Thereby, only when the
[第2の実施の形態]
本実施の形態では、非特許文献2で提案されているFBSに対して、署名装置と署名依頼装置が事前に合意して得られる共通情報Infoを、署名発行処理および署名検証処理で定数として用いる必要があるようにすることで、PBSの機能を追加する方法について説明する。
[Second Embodiment]
In the present embodiment, for the FBS proposed in Non-Patent Document 2, the common information Info obtained by the signing device and the signature requesting device agreeing in advance is used as a constant in the signature issuance processing and signature verification processing. A method of adding the PBS function by making it necessary will be described.
本実施の形態のシステム構成は、第1の実施の形態と同様であり、図1に示すように、署名依頼装置10、署名装置20、検証装置30、開示装置40、及びこれら装置を結ぶネットワークからなる。署名依頼装置10、署名装置20、検証装置30、開示装置40では、第1の実施の形態と同様に、FBSのシステムパラメータprm=(p,q,g,h)が生成、共有されているものとする。ここでp,qはq|p−1となる素数、g,hは乗法群Zp *の位数qの部分群Gの元である。
The system configuration of this embodiment is the same as that of the first embodiment. As shown in FIG. 1, the
<鍵生成>
署名装置20は秘密鍵xを生成・保管し、y=gxmodpを計算する。ここで、xはq以下のランダムな自然数である。開示装置40は秘密鍵rsk=(xt,dk)を生成・保管し、rpk=(yt=gxt(modp),ek)を計算する。ここでxtはq以下のランダムな自然数、ek,dkはそれぞれある検証可能暗号(VE;Verifiable Encryption)の公開鍵および秘密鍵である。全ての装置10〜40がy,rpkを共有する。署名依頼装置10はRSA署名やSchnorr署名など、任意の署名方式の秘密鍵、公開鍵の組(SK,PK)を作成する。ここまでは、第1の実施の形態と同じである。
<Key generation>
The
<ブラインド署名>
署名依頼装置10は、署名装置20にPKの鍵証明書生成を依頼する。鍵証明書生成の処理は、第1の実施の形態と同様であるが、非特許文献2のFBSの署名発行処理において、以下の変更を行えば良い。
z2=zu/z1 → zu/z1 Info
ζ2=z/ζ1 → z/ζ1 Info
ω+δ=H((ζ1‖gρyω‖gσ1ζ1 δ‖hσ2(z/ζ1)δ‖msg)
→ H((ζ1‖gρyω‖gσ1ζ1 δ‖hσ2(z/ζ1 info)δ‖msg)
<Blind signature>
The
z 2 = z u / z 1 → z u / z 1 Info
ζ 2 = z / ζ 1 → z / ζ 1 Info
ω + δ = H ((ζ 1 ‖g ρ y ω ‖g σ1 ζ 1 δ ‖h σ2 (z / ζ 1 ) δ ‖ msg)
→ H ((ζ 1 ‖g ρ y ω ‖g σ1 ζ 1 δ ‖h σ2 (z / ζ 1 info ) δ ‖ msg)
以下では、署名依頼装置10がPKの鍵証明書を取得する手順を上記の変更を踏まえて説明する。処理フローは図2と同様であるので省略する。
署名依頼装置10は署名装置20に鍵証明書の生成を依頼する。署名装置20は特定の文字列Infoを署名依頼装置10に返す。ここで、Infoはq以下の自然数とする。また、署名装置20は署名依頼装置10(または署名依頼者)を識別する情報(ID)を登録する。
In the following, a procedure for the
The
署名依頼装置10は以下の処理を行う。
(a)q以下のランダムな自然数γ(ブラインド係数)を選ぶ。
(b)z=H1(p‖q‖g‖h‖y),zu=z1/γ,ξ=gγ,E=εek(γ),P=Γ((zu,ξ),γ,ek)を計算する。ここでεはVEの暗号化関数であり、特にE=εek(γ)は該VEの関数を用いて公開鍵ekによりγを暗号化した暗号文である。ΓはEに対応する平文(=γ)が1/logzzu(=γ)およびloggξ(=γ)と等しいことを署名装置20にゼロ知識証明するための関数であり、特にPは該証明のための述語(predicate)である。
The
(A) A random natural number γ (blind coefficient) of q or less is selected.
(B) z = H 1 (p‖q‖g‖h‖y), z u = z 1 / γ , ξ = g γ , E = ε ek (γ), P = Γ ((z u , ξ) , Γ, ek). Here, ε is a VE encryption function, and in particular, E = ε ek (γ) is a ciphertext obtained by encrypting γ with the public key ek using the VE function. Γ is a function for proving zero knowledge to the
(c)(zu,ξ,E,P)を署名装置20に送信する。
(C) Send (z u , ξ, E, P) to the
署名依頼装置10から(zu,ξ,E,P)を受信した署名装置20は以下の処理を行う。
(a)z=H1(p‖q‖g‖h‖y)を計算し、(zu,ξ,E,P)が正しい結果かどうか検証する。検証OKであれば次に進み、NGであれば署名依頼装置10の不正として処理を終了する。
(b)q以下のランダムな自然数v,u,s1,s2,dを選ぶ。
(c)z1=yt v,z2=zu/z1 Info,Ps=Γ s (z1,yt,v),a=gu,b1=gs1z1 d,b2=hs2z2 dを計算する。ここでΓ s はlogytz1(=v)の値を知っていることを署名依頼装置10にゼロ知識証明するための関数であり、P s は該証明のための述語である。
(d)(Ps,z1,a,b1,b2)を署名依頼装置10に送信する。
(e)ξvを計算する。
(f)(ID,ξv)の組を保存する。
The
(A) Calculate z = H 1 (p‖q‖g‖h‖y) and verify whether (z u , ξ, E, P) is a correct result. If the verification is OK, the process proceeds to the next step, and if it is NG, the process is terminated because the
(B) Select random natural numbers v, u, s 1 , s 2 , and d that are less than or equal to q
(C) z 1 = y t v, z 2 = z u /
(D) (P s , z 1 , a, b 1 , b 2 ) is transmitted to the
(E) ξ v is calculated.
(F) Save the set of (ID, ξ v ).
署名装置20から(Ps,z1,a,b1,b2)を受信した署名依頼装置10は以下の処理を行う。
(a)(z1,b1,b2)がGの元かどうか、および(z1,yt,Ps)が正しい結果かどうか検証する。両方とも検証OKであれば次に進み、どちらか一方でもNGであれば署名装置20の不正として処理を終了する。
(b)q以下のランダムな自然数t1,t2,t3,t4,t5を選ぶ。
(c)ζ1=z1 γ,ζ2=z/ζ1 Info,α=agt1yt2,β1=b1 γgt3ζ1 t5,β2=b2 γht4ζ2 t5,ε=(ζ1‖α‖β1‖β2‖PK),e=ε−t2−t5を計算する。ここでH2は任意の文字列をq以下の自然数に写す一方向性ハッシュ関数とする。
(d)eを署名装置20に送信する。
The
(A) It is verified whether (z 1 , b 1 , b 2 ) is an element of G and whether (z 1 , y t , P s ) is a correct result. If both are verified OK, the process proceeds to the next step, and if either one is NG, the process is terminated because the
(B) Random natural numbers t 1 , t 2 , t 3 , t 4 , t 5 which are less than or equal to q are selected.
(C) ζ 1 = z 1 γ, ζ 2 = z /
(D) Send e to the
署名依頼装置10からeを受信した署名装置20は以下の処理を行う。
(a)c=e−d,r=u−cxを計算する。
(b)(r,c,s1,s2,d)を署名依頼装置10に送信する。
The
(A) Calculate c = ed, r = u−cx.
(B) (r, c, s 1 , s 2 , d) is transmitted to the
署名装置20から(r,c,s1,s2,d)を受信した署名依頼装置10は以下の処理を行う。
(a)ρ=r+t1,ω=c+t2,σ1=γs1+t3,σ2=γs2+t4,δ=d+t5を計算する。
(b)ω+δ=H2(ζ1‖gρyω‖gσ1ζ1 δ‖hσ2ζ2 δ‖PK)が成り立つかどうか検証する。検証OKであれば次に進み、NGであれば署名装置20の不正として処理を終了する。
(c)Σ=(ζ1,ρ,ω,σ1,σ2,δ)をPKの証明書として出力する。
The
(A) ρ = r + t 1 , ω = c + t 2 , σ 1 = γs 1 + t 3 , σ 2 = γs 2 + t 4 , δ = d + t 5 are calculated.
(B) It is verified whether or not ω + δ = H 2 (ζ 1 ‖g ρ y ω ‖g σ 1 ζ 1 δ ‖ h σ 2 ζ 2 δ ‖ PK). If the verification is OK, the process proceeds to the next step, and if it is NG, the process is terminated because the
(C) Σ = (ζ 1 , ρ, ω, σ 1 , σ 2 , δ) is output as a certificate of PK.
<署名検証>
本実施の形態における署名検証の処理フローを図5に示す。署名装置20よりPKの証明書Σ=(ζ1,ρ,ω,σ1,σ2,δ)を得た署名依頼装置10は、次に(SK,PK)を用いてメッセージmsgに対する署名Sを生成し、T=(S,PK,Info,Σ)を鍵証明書を含んだ署名の組とする。
<Signature verification>
FIG. 5 shows a processing flow of signature verification in the present embodiment. The
署名依頼装置10は、メッセージmsg,T=(s,PK,info,Σ)を検証装置30に送信する(ステップ401)。
The
署名依頼装置10から,msg,Tを受信した検証装置30は、以下の処理を行う。
(a)Infoが所定の条件を満たすものであるか確認する(ステップ402)。OKであれば次に進み、NGであれば処理を終了する。
(b)z=H1(p‖q‖g‖h‖y)を計算する(ステップ403)。
(c)ω+δ=H2(ζ1‖gρyω‖gσ1ζ1 δ‖hσ2(z/ζ1 Info)δ‖PK)が成り立つかどうか検証する(ステップ404)。検証OKであれば次に進み、NGであれば署名装置20の不正として処理を終了する。
(d)PKに対応する署名方式の検証アルゴリズムを用いて、Sがmsgの正しい署名であるか検証する(ステップ405)。検証NGであれば署名装置20の不正とする。
The
(A) Check whether Info satisfies a predetermined condition (step 402). If it is OK, the process proceeds to the next step, and if it is NG, the process is terminated.
(B) z = H 1 (p‖q‖g‖h‖y) is calculated (step 403).
(C) It is verified whether or not ω + δ = H 2 (ζ 1 ‖g ρ y ω ‖g σ 1 ζ 1 δ ‖ h σ 2 (z / ζ 1 Info ) δ ‖ PK) holds (step 404). If the verification is OK, the process proceeds to the next step, and if it is NG, the process is terminated because the
(D) Using a signature method verification algorithm corresponding to PK, verify whether S is a correct signature of msg (step 405). If the verification is NG, the
上記処理において、ステップ402〜404はPKの鍵証明書の正当性検証であり、ステップ405はmsgの署名Sの正当性検証である。 In the above processing, steps 402 to 404 are the validity verification of the PK key certificate, and step 405 is the validity verification of the msg signature S.
<署名追跡>
メッセージmsgは不正なメッセージだとして、該msgの署名Sの生成者を特定したい場合、検証装置30は開示装置40および署名装置20にmsg,Tを送付にする。開示装置40および署名装置20はmsg,Tを入力して以下の処理を行う。
<Signature tracking>
When it is determined that the message msg is an illegal message and the generator of the signature S of the msg is to be specified, the
1.開示装置40および署名装置20は検証装置30と同様の検証の処理(図5)を行い、検証OKとなることを確認する。もしNGであれば処理を終了する。
2.開示装置40は以下の処理を行う。
(a)I=ζ1 1/xtを計算する。
(b)Iを署名装置20に送信する。
3.開示装置40からIを受信した署名装置20は以下の処理を行う。
(a)(ID,ξv)からI=ξvとなるようなξvを見つける。
(b)該ξvに対応するIDから、メッセージmsgの署名Sを生成した署名依頼装置(または署名依頼者)を特定する。
1. The
2. The
(A) Calculate I = ζ 1 1 / xt .
(B) I is transmitted to the
3. The
(A) Find ξ v such that I = ξ v from (ID, ξ v ).
(B) The signature requesting device (or signature requester) that generated the signature S of the message msg is identified from the ID corresponding to the ξ v .
上記処理は図4と同様である。これにより、開示装置40および署名装置30が協力した場合に限り、メッセージmsgの署名Sを生成した署名依頼装置(または署名依頼者)を特定することが出来る。
The above processing is the same as in FIG. Thereby, only when the
なお、図1で示したシステム構成における各装置の一部もしくは全部の処理機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができること、あるいは、図2〜図5で示した処理手順をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもない。また、コンピュータでその処理機能を実現するためのプログラム、あるいは、コンピュータにその処理手順を実行させるためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えば、FD、MO、ROM、メモリカード、CD、DVD、リムーバブルディスクなどに記録して、保存したり、提供したりすることができるとともに、インターネット等のネットワークを通してそのプログラムを配布したりすることが可能である。 It is possible to implement the present invention by configuring a part or all of the processing functions of each device in the system configuration shown in FIG. 1 by a computer program and executing the program using the computer, or FIG. It goes without saying that the processing procedure shown in FIGS. 2 to 5 can be constituted by a computer program and the program can be executed by the computer. In addition, a computer-readable recording medium such as an FD, MO, ROM, memory card, CD, or the like is stored in the computer. In addition, the program can be recorded and stored on a DVD, a removable disk, etc., and the program can be distributed through a network such as the Internet.
10 署名依頼装置
20 署名装置
30 検証装置
40 開示装置
50 ネットワーク
DESCRIPTION OF
Claims (3)
前記署名依頼装置、前記署名装置、前記検証装置および前記開示装置は、それぞれブラインド署名のシステムパラメータprm=(p,q,g,h)(p,qはq|p−1となる素数、g,hは群ZThe signature requesting device, the signature device, the verification device, and the disclosure device are respectively configured as blind signature system parameters prm = (p, q, g, h) (p, q is a prime number for q | p−1, g , H is group Z pp ** の位数qの部分群Gの元)を保持し、Of the subgroup G of the order q of
前記署名装置は、秘密鍵x(xはq以下のランダムな自然数)を生成し、公開鍵y=gThe signing device generates a secret key x (x is a random natural number less than or equal to q), and a public key y = g xx modpを計算して、x,yを保持するとともに、yを前記署名依頼装置、前記検証装置および前記開示装置へ送信して、各装置がyを保持するようにし、modp is calculated and x and y are held, and y is transmitted to the signature requesting device, the verification device, and the disclosure device so that each device holds y.
前記開示装置は、秘密鍵rsk=(xThe disclosure device has a secret key rsk = (x tt ,dk)を生成し、公開鍵rpk=(y, Dk) and public key rpk = (y tt =g= G xtxt modp,ek)を計算し(xmodp, ek) (x tt はq以下のランダムな自然数、dkおよびekはそれぞれ検証可能暗号の秘密鍵および公開鍵)、rsk,rpkを保持するとともに、rpkを前記署名依頼装置、前記署名装置および前記検証装置へ送信して、各装置がrpkを保持するようにし、Is a random natural number less than or equal to q, dk and ek are respectively a verifiable cryptographic private key and public key), rsk, rpk, and rpk is transmitted to the signature requesting device, the signature device, and the verification device Make each device hold rpk,
(1)前記署名依頼装置は署名のための秘密鍵、公開鍵の組(Sk,PK)を作成し、前記署名装置にPKの鍵証明書生成を依頼し、(1) The signature requesting device creates a private key / public key pair (Sk, PK) for signing, requests the signing device to generate a key certificate for the PK,
前記署名装置は、特定の文字列Infoを前記署名依頼装置に返すとともに、前記署名依頼装置又は署名依頼者を識別する情報(ID)を登録し、The signature device returns a specific character string Info to the signature requesting device and registers information (ID) for identifying the signature requesting device or the signature requester,
前記署名依頼装置は、g以下の自然数γをランダムに選び、z=HThe signature requesting device randomly selects a natural number γ of g or less, and z = H 11 (p‖q‖g‖h‖y‖Info)(H(P‖q‖g‖h‖y‖Info) (H 11 は任意のビット列であるp‖q‖g‖h‖y‖InfoをGに写す一方向性ハッシュ関数)、zIs a one-way hash function that maps p‖q‖g‖h‖y‖Info, which is an arbitrary bit string, to G), z uu =z= Z 1/γ1 / γ ,ξ=g, Ξ = g γγ ,E=ε, E = ε ekek (γ)(ε(Γ) (ε ekek はekでγを暗号化する関数),P=Γ((zIs a function for encrypting γ with ek), P = Γ ((z uu ,ξ),γ,ek)(ΓはEに対応する平文(=γ)が1/log, Ξ), γ, ek) (Γ is the plaintext corresponding to E (= γ) is 1 / log zz zz uu (=γ)およびlog(= Γ) and log gg ξ(=γ)と等しいことを署名装置にゼロ知識証明するための関数)を計算し、(za function to prove zero knowledge to the signing device that is equal to ξ (= γ), and (z uu ,ξ,E,P)を前記署名装置に送信し、, Ξ, E, P) to the signing device,
前記署名装置は、z=HThe signature device is z = H 11 (p‖q‖g‖h‖y‖Info)を計算して、(z(P‖q‖g‖h‖y‖Info) is calculated and (z uu ,ξ,E,P)が正しいか検証し、正しい場合、q以下の自然数v,u,s, Ξ, E, P) are correct, and if they are correct, natural numbers v, u, s below q 11 ,s, S 22 ,dをランダムに選び、z, D are selected at random, z 11 =y= Y tt vv ,z, Z 22 =z= Z uu /z/ Z 11 ,P, P ss =Γ= Γ ss (z(Z 11 ,y, Y tt ,v)(Γ, V) (Γ ss はlogIs log ytyt zz 11 (=v)の値を知っていることを署名依頼装置にゼロ知識証明するための関数)、a=g(= Function to prove zero knowledge to the signature requesting device that the value of v is known), a = g uu ,b, B 11 =g= G s1s1 zz 11 dd ,b, B 22 =h= H s2s2 zz 22 dd ,ξ, Ξ vv を計算し、(PAnd calculate (P ss ,z, Z 11 ,a,b, A, b 11 ,b, B 22 )を前記署名依頼装置に送信し、(ID,ξ) To the signature requesting device, and (ID, ξ) vv )を保存し、)
前記署名依頼装置は(zThe signature requesting device is (z 11 ,b, B 11 ,b, B 22 )がGの元かどうか、(z) Is an element of G, (z 11 ,y, Y tt ,P, P ss )が正しいか検証し、(z) Is correct and (z 11 ,b, B 11 ,b, B 22 )がGの元であり、かつ、(z) Is an element of G, and (z 11 ,y, Y tt ,P, P ss )が正しい場合、q以下の自然数t) Is correct, natural number t less than or equal to q 11 ,t, T 22 ,t, T 33 ,t, T 44 ,t, T 55 をランダムに選び、ζRandomly select ζ 11 =z= Z 11 γγ ,ζ, Ζ 22 =z/ζ= Z / ζ 11 ,α=ag, Α = ag t1t1 yy t2t2 ,β, Β 11 =b= B 11 γγ gg t3t3 ζζ 11 t5t5 ,β, Β 22 =b= B 22 γγ hh t4t4 ζζ 22 t5t5 ,ε=H, Ε = H 22 (ζ(Ζ 11 ‖α‖β‖Α‖β 11 ‖β‖Β 22 ‖PK)(H‖PK) (H 22 は任意の文字列をq以下の自然数に写す一方向性ハッシュ関数)、e=ε−tIs a one-way hash function that copies an arbitrary character string to a natural number of q or less), e = ε−t 22 −t-T 55 を計算し、eを前記署名装置に送信し、And sends e to the signing device;
前記署名装置は、c=e−d,r=u−cxを計算し、(r,c,sThe signature device calculates c = ed, r = u-cx, and (r, c, s 11 ,s, S 22 ,d)を前記署名依頼装置に送信し、, D) to the signature requesting device,
前記署名依頼装置は、ρ=r+tThe signature requesting device has ρ = r + t 11 ,ω=c+t, Ω = c + t 22 ,σ, Σ 11 =γs= Γs 11 +t+ T 33 ,σ, Σ 22 =γs= Γs 22 +t+ T 44 ,δ=d+t, Δ = d + t 55 を計算し、ω+δ=HAnd ω + δ = H 22 (ζ(Ζ 11 ‖g‖G ρρ yy ωω ‖g‖G σ1σ1 ζζ 11 δδ ‖h‖H σ2σ2 ζζ 22 δδ ‖PK)が成り立つか検証し、成り立つ場合、Σ=(ζIt is verified whether or not (成 り PK) holds, and if it holds, Σ = (ζ 11 ,ρ,ω,σ, Ρ, ω, σ 11 ,σ, Σ 22 ,δ)をPKの証明書とする、, Δ) as a PK certificate,
(2)前記署名依頼装置は、(SK,PK)を用いてメッセージmsgに対する署名Sを生成し、T=(S,PK,Info,Σ)を鍵証明書を含んだ署名の組とし、msg,Tを出力し、(2) The signature requesting device generates a signature S for the message msg using (SK, PK), T = (S, PK, Info, Σ) as a signature set including a key certificate, and msg , T,
前記検証装置は、msg,Tを入力として、Infoが所定の条件を満たすか確認し、満たす場合、z=HThe verification device receives msg and T as input and checks whether Info satisfies a predetermined condition. 11 (p‖q‖g‖h‖y‖Info)を計算し、ω+δ=H(P‖q‖g‖h‖y‖Info) is calculated and ω + δ = H 22 (ζ(Ζ 11 ‖g‖G ρρ yy ωω ‖g‖G σ1σ1 ζζ 11 δδ ‖h‖H σ2σ2 (z/ζ(z / ζ 11 )) δδ ‖PK)が成り立つか検証し、成り立つ場合、Sがmsgの正しい署名であるか検証する、Verifies that) PK) holds, and if so, verifies that S is the correct signature of msg,
(3)前記開示装置および前記署名装置はmsg,Tを入力し、(3) The disclosure device and the signature device input msg and T,
前記開示装置は、I=ζThe disclosed apparatus has I = ζ 11 1/xt1 / xt を計算し、Iを前記署名装置に送信し、And send I to the signing device,
前記署名装置は、(ID,ξThe signature device is (ID, ξ vv )の組からI=ξ) From the set I = ξ vv となるようなξΞ such that vv を見つけ、該ξFind ξ vv に対応するIDから、msgの署名Sを生成した署名依頼装置または署名依頼者を特定する、Identifying the signature requesting device or signature requester that generated the msg signature S from the ID corresponding to
ことを特徴とする部分ブラインド署名・検証・追跡方法。A partial blind signature / verification / tracking method.
前記署名依頼装置、前記署名装置、前記検証装置および前記開示装置は、それぞれブラインド署名のシステムパラメータprm=(p,q,g,h)(p,qはq|p−1となる素数、g,hは群ZThe signature requesting device, the signature device, the verification device, and the disclosure device are respectively configured as blind signature system parameters prm = (p, q, g, h) (p, q is a prime number for q | p−1, g , H is group Z pp ** の位数qの部分群Gの元)を保持し、Of the subgroup G of the order q of
前記署名装置は、秘密鍵x(xはq以下のランダムな自然数)を生成し、公開鍵y=gThe signing device generates a secret key x (x is a random natural number less than or equal to q), and a public key y = g xx modpを計算して、x,yを保持するとともに、yを前記署名依頼装置、前記検証装置および前記開示装置へ送信して、各装置がyを保持するようにし、modp is calculated and x and y are held, and y is transmitted to the signature requesting device, the verification device, and the disclosure device so that each device holds y.
前記開示装置は、秘密鍵rsk=(xThe disclosure device has a secret key rsk = (x tt ,dk)を生成し、公開鍵rpk=(y, Dk) and public key rpk = (y tt =g= G xtxt modp,ek)を計算し(xmodp, ek) (x tt はq以下のランダムな自然数、dkおよびekはそれぞれ検証可能暗号の秘密鍵および公開鍵)、rsk,rpkを保持するとともに、rpkを前記署名依頼装置、前記署名装置および前記検証装置へ送信して、各装置がrpkを保持するようにし、Is a random natural number less than or equal to q, dk and ek are respectively a verifiable cryptographic private key and public key), rsk, rpk, and rpk is transmitted to the signature requesting device, the signature device, and the verification device Make each device hold rpk,
(1)前記署名依頼装置は署名のための秘密鍵、公開鍵の組(Sk,PK)を作成し、前記署名装置にPKの鍵証明書生成を依頼し、(1) The signature requesting device creates a private key / public key pair (Sk, PK) for signing, requests the signing device to generate a key certificate for the PK,
前記署名装置は、特定の文字列Infoを前記署名依頼装置に返すともに、前記署名依頼装置又は署名依頼者を識別する情報(ID)を登録し、The signature device returns a specific character string Info to the signature requesting device and registers information (ID) for identifying the signature requesting device or the signature requester,
前記署名依頼装置は、g以下の自然数γをランダムに選び、z=HThe signature requesting device randomly selects a natural number γ of g or less, and z = H 11 (p‖q‖g‖h‖y)(H(P‖q‖g‖h‖y) (H 11 は任意のビット列であるp‖q‖g‖h‖yをGに写す一方向性ハッシュ関数)、zIs a one-way hash function that copies p‖q‖g‖h‖y, which is an arbitrary bit string, to G), z uu =z= Z 1/γ1 / γ ,ξ=g, Ξ = g γγ ,E=ε, E = ε ekek (γ)(ε(Γ) (ε ekek はekでγを暗号化する関数),P=Γ((zIs a function for encrypting γ with ek), P = Γ ((z uu ,ξ),γ,ek)(ΓはEに対応する平文(=γ)が1/log, Ξ), γ, ek) (Γ is the plaintext corresponding to E (= γ) is 1 / log zz zz uu (=γ)およびlog(= Γ) and log gg ξ(=γ)と等しいことを署名装置にゼロ知識証明するための関数)を計算し、(za function to prove zero knowledge to the signing device that is equal to ξ (= γ), and (z uu ,ξ,E,P)を前記署名装置に送信し、, Ξ, E, P) to the signing device,
前記署名装置は、z=HThe signature device is z = H 11 (p‖q‖g‖h‖y)を計算して、(z(P‖q‖g‖h‖y) is calculated and (z uu ,ξ,E,P)が正しいか検証し、正しい場合、q以下の自然数v,u,s, Ξ, E, P) are correct, and if they are correct, natural numbers v, u, s below q 11 ,s, S 22 ,dをランダムに選び、z, D are selected at random, z 11 =y= Y tt vv ,z, Z 22 =z= Z uu /z/ Z 11 InfoInfo ,P, P ss =Γ= Γ ss (z(Z 11 ,y, Y tt ,v)(Γ, V) (Γ ss はlogIs log ytyt zz 11 (=v)の値を知っていることを署名依頼装置にゼロ知識証明するための関数)、a=g(= Function to prove zero knowledge to the signature requesting device that the value of v is known), a = g uu ,b, B 11 =g= G s1s1 zz 11 dd ,b, B 22 =h= H s2s2 zz 22 dd ,ξ, Ξ vv を計算し、(PAnd calculate (P ss ,z, Z 11 ,a,b, A, b 11 ,b, B 22 )を署名依頼装置に送信し、(ID,ξ) To the signature requesting device, and (ID, ξ vv )を保存し、)
前記署名依頼装置は(zThe signature requesting device is (z 11 ,b, B 11 ,b, B 22 )がGの元かどうか、(z) Is an element of G, (z 11 ,y, Y tt ,P, P ss )が正しいか検証し、(z) Is correct and (z 11 ,b, B 11 ,b, B 22 )がGの元であり、かつ、(z) Is an element of G, and (z 11 ,y, Y tt ,P, P ss )が正しい場合、q以下の自然数t) Is correct, natural number t less than or equal to q 11 ,t, T 22 ,t, T 33 ,t, T 44 ,t, T 55 をランダムに選び、ζRandomly select ζ 11 =z= Z 11 γγ ,ζ, Ζ 22 =z/ζ= Z / ζ 11 InfoInfo ,α=ag, Α = ag t1t1 yy t2t2 ,β, Β 11 =b= B 11 γγ gg t3t3 ζζ 11 t5t5 ,β, Β 22 =b= B 22 γγ hh t4t4 ζζ 22 t5t5 ,ε=H, Ε = H 22 (ζ(Ζ 11 ‖α‖β‖Α‖β 11 ‖β‖Β 22 ‖PK)(H‖PK) (H 22 は任意の文字列をq以下の自然数に写す一方向性ハッシュ関数)、e=ε−tIs a one-way hash function that copies an arbitrary character string to a natural number of q or less), e = ε−t 22 −t-T 55 を計算し、eを前記署名装置に送信し、And sends e to the signing device;
前記署名装置は、c=e−d,r=u−cxを計算し、(r,c,sThe signature device calculates c = ed, r = u-cx, and (r, c, s 11 ,s, S 22 ,d)を前記署名依頼装置に送信し、, D) to the signature requesting device,
前記署名依頼装置は、ρ=r+tThe signature requesting device has ρ = r + t 11 ,ω=c+t, Ω = c + t 22 ,σ, Σ 11 =γs= Γs 11 +t+ T 33 ,σ, Σ 22 =γs= Γs 22 +t+ T 44 ,δ=d+t, Δ = d + t 55 を計算し、ω+δ=HAnd ω + δ = H 22 (ζ(Ζ 11 ‖g‖G ρρ yy ωω ‖g‖G σ1σ1 ζζ 11 δδ ‖h‖H σ2σ2 ζζ 22 δδ ‖PK)が成り立つか検証し、成り立つ場合、Σ=(ζIt is verified whether or not (成 り PK) holds, and if it holds, Σ = (ζ 11 ,ρ,ω,σ, Ρ, ω, σ 11 ,σ, Σ 22 ,δ)をPKの証明書とする、, Δ) as a PK certificate,
(2)前記署名依頼装置は、(SK,PK)を用いてメッセージmsgに対する署名Sを生成し、T=(S,PK,Info,Σ)を鍵証明書を含んだ署名の組とし、msg,Tを出力し、(2) The signature requesting device generates a signature S for the message msg using (SK, PK), T = (S, PK, Info, Σ) as a signature set including a key certificate, and msg , T,
前記検証装置は、msg,Tを入力として、Infoが所定の条件を満たすか確認し、満たす場合、z=HThe verification device receives msg and T as input and checks whether Info satisfies a predetermined condition. 11 (p‖q‖g‖h‖y)を計算し、ω+δ=H(P‖q‖g‖h‖y) is calculated and ω + δ = H 22 (ζ(Ζ 11 ‖g‖G ρρ yy ωω ‖g‖G σ1σ1 ζζ 11 δδ ‖h‖H σ2σ2 (z/ζ(z / ζ 11 InfoInfo )) δδ ‖PK)が成り立つか検証し、成り立つ場合、Sがmsgの正しい署名であるか検証する、Verifies that) PK) holds, and if so, verifies that S is the correct signature of msg,
(3)前記開示装置および前記署名装置はmsg,Tを入力し、(3) The disclosure device and the signature device input msg and T,
前記開示装置は、I=ζThe disclosed apparatus has I = ζ 11 1/xt1 / xt を計算し、Iを前記署名装置に送信し、And send I to the signing device,
前記署名装置は、(ID,ξThe signature device is (ID, ξ vv )の組からI=ξ) From the set I = ξ vv となるようなξΞ such that vv を見つけ、該ξFind ξ vv に対応するIDから、msgの署名Sを生成した署名依頼装置または署名依頼者を特定する、Identifying the signature requesting device or signature requester that generated the msg signature S from the ID corresponding to
ことを特徴とする部分ブラインド署名・検証・追跡方法。A partial blind signature / verification / tracking method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005201556A JP4577720B2 (en) | 2005-07-11 | 2005-07-11 | Partial blind signature / verification / tracking method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005201556A JP4577720B2 (en) | 2005-07-11 | 2005-07-11 | Partial blind signature / verification / tracking method and system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007020060A JP2007020060A (en) | 2007-01-25 |
JP4577720B2 true JP4577720B2 (en) | 2010-11-10 |
Family
ID=37756784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005201556A Active JP4577720B2 (en) | 2005-07-11 | 2005-07-11 | Partial blind signature / verification / tracking method and system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4577720B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5114733B2 (en) * | 2007-04-27 | 2013-01-09 | 国立大学法人 東京大学 | Access control device, user terminal and program |
CN114205081B (en) * | 2021-12-03 | 2023-12-19 | 中国科学院大学 | Blind collaborative signature method for protecting user privacy |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09284271A (en) * | 1996-04-18 | 1997-10-31 | Nippon Telegr & Teleph Corp <Ntt> | Blind signature method and system with limitation |
JP2001343893A (en) * | 2000-05-30 | 2001-12-14 | Nippon Telegr & Teleph Corp <Ntt> | Partial blind signature scheme |
-
2005
- 2005-07-11 JP JP2005201556A patent/JP4577720B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09284271A (en) * | 1996-04-18 | 1997-10-31 | Nippon Telegr & Teleph Corp <Ntt> | Blind signature method and system with limitation |
JP2001343893A (en) * | 2000-05-30 | 2001-12-14 | Nippon Telegr & Teleph Corp <Ntt> | Partial blind signature scheme |
Also Published As
Publication number | Publication date |
---|---|
JP2007020060A (en) | 2007-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3642997B1 (en) | Secure communications providing forward secrecy | |
Camenisch | Better privacy for trusted computing platforms | |
Delavar et al. | PUF‐based solutions for secure communications in Advanced Metering Infrastructure (AMI) | |
JP2012098690A (en) | Authentication device, authentication method, program, and signature generation device | |
Camenisch et al. | Anonymous attestation with subverted TPMs | |
US8015398B2 (en) | Set membership proofs in data processing systems | |
WO2019093478A1 (en) | Key exchange device, key exchange system, key exchange method, and key exchange program | |
EP2846492A1 (en) | Cryptographic group signature methods and devices | |
JP6041864B2 (en) | Method, computer program, and apparatus for data encryption | |
US8356182B2 (en) | Electronic signature system and electronic signature verifying method | |
WO2010013699A1 (en) | Signature system | |
JP2024506720A (en) | User-controlled linkability of anonymous signature schemes | |
JP4571117B2 (en) | Authentication method and apparatus | |
JP4577720B2 (en) | Partial blind signature / verification / tracking method and system | |
JP4791828B2 (en) | Group signature system, apparatus, program and method | |
Heydari et al. | An Improved Authentication Scheme for Electronic Payment Systems in Global Mobility Networks | |
JP6634171B2 (en) | Apparatus, method and program for certifying public key reliability | |
Yap et al. | On the security of a lightweight authentication and encryption scheme for mobile ad hoc network | |
JP2009225356A (en) | Digital signature system, apparatus and program | |
Park et al. | A proxy blind signature scheme with proxy revocation | |
CN114128213B (en) | Apparatus, method, and program for verifying the authenticity of a public key | |
TWI248744B (en) | Multisignature scheme with message recovery for group authorization in mobile networks | |
JP4518397B2 (en) | Signature generator identity verification method and system, and program | |
Chatterjee et al. | Encrypting Messages for Incomplete Chains of Certificates | |
Xie et al. | Self‐certified proxy convertible authenticated encryption: formal definitions and a provably secure scheme |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070809 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100517 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100609 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100729 |
|
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: 20100818 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100818 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130903 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4577720 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130903 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |